var mousex = 0;
var mousey = 0;

function toggleMenu(id) {
  var errors = 0;
  for (i=0; errors < 10 ; i++) {
    section = document.getElementById('category_' + i);
    sectitle = document.getElementById('catTitle_' + i);
    
    if (section != null && sectitle != null) {  
      section.className = 'category';
      sectitle.className = 'catTitle';
    } else
      errors++;
  }
  
  section = document.getElementById('category_' + id);
  section.className = 'categorysel';
  sectitle = document.getElementById('catTitle_' + id);
  sectitle.className = 'catTitlesel';
}

function toggleTab(name,id,numtabs) {
	for (i=1; i <= numtabs; i++) {
		tab = document.getElementById(name+'_tab' + i);
		tab.className = '';
		pane = document.getElementById(name+'_tabpage' + i);
		pane.className = 'tabpage';
	}         
			
	tab = document.getElementById(name+'_tab' + id);    
	selpane = document.getElementById(name + '_tabpage' + id);
	sel = document.getElementById(name + '_seltab');     
		
	sel.value = id;
	tab.className = 'sel';
	selpane.className = 'tabpagesel';
}

function find(name) {
  found = document.getElementById(name);
  if (!found) alert('Error: ' + name + ' not found on page.');
  return found;
}

function setStatus(str) {
  window.status = str;
}

function getLeftPos(eElement)
{
    if (!eElement && this)                     
        eElement = this;                       
    
    var nLeftPos = eElement.offsetLeft;
    var eParElement = eElement.offsetParent;
    while (eParElement != null)
    {                                       
        nLeftPos += eParElement.offsetLeft; 
        eParElement = eParElement.offsetParent;
    }
    return nLeftPos;                           
}


function getTopPos(eElement)
{
    if (!eElement && this)
        eElement = this;

    var nTopPos = eElement.offsetTop;
    var eParElement = eElement.offsetParent;
    while (eParElement != null)
    {
        nTopPos += eParElement.offsetTop;
        eParElement = eParElement.offsetParent;
    }
    return nTopPos;
}

function trim(str) {
  return str.replace(/^\s*|\s*$/g,"");
}

function RecordMousePos(e)
{
	if (!e) var e = window.event;
	if (e.pageX || e.pageY)
	{
		mousex = e.pageX;
		mousey = e.pageY;
	}
	else if (e.clientX || e.clientY)
	{
		mousex = e.clientX + document.body.scrollLeft;
		mousey = e.clientY + document.body.scrollTop;
	}
}

function update(e, dd, ddid)
{
	for (j=1; j < dd.length; j++)
	{
		dd[j][0] = true;
	}

	for (j=1; j < dd[0].length; j++)
	{
		for (i=1; i < dd.length; i++)
		{
			current = dd[i][j].split("|");
			value = current[0];
			choice = current[0];
			if (current.length == 2) choice = current[1];
			if (value != document[dd[0][0]][dd[0][j]][document[dd[0][0]][dd[0][j]].selectedIndex].value) dd[i][0] = false;
		}
		if (e == document[dd[0][0]][dd[0][j]])
		{
			dropdown(j+1,dd);
			for (k=j+2; k < dd[0].length; k++)
			{
				document[dd[0][0]][dd[0][k]].length = 0;
			}
			break;
		}
	}
}

function dropdown(item,dd)
{
	var pre1 = "";
	var j = 1;
	document[dd[0][0]][dd[0][item]].options.length = 0;
	document[dd[0][0]][dd[0][item]].options[0] = new Option('Select ' + dd[0][item].substring(dd[0][item].length - (dd[0][item].length - dd[0][item].lastIndexOf('_')) + 1), '');
	document[dd[0][0]][dd[0][item]].options[0].selected = true;
	for (i=1; i < dd.length; i++)
	{
		if (dd[i][0] || item == 1)
		{
			current = dd[i][item].split("|");
			value = current[0];
			choice = current[0];
			if (current.length >= 2) choice = current[1];
			selected = current.length >= 3 && current[2] == 't';
			if (value != pre1)
			{
				var op = new Option(choice, value);
				op.selected = selected;
				document[dd[0][0]][dd[0][item]].options[j] = op;
				j++;
				pre1 = value;
			}
		}
	}
}

function DeleteDoc(id) {
  if (confirm('Are you sure you would like to PERMANENTLY DELETE this document?')) {
    var response = DocumentManager.DeleteDocument(id);
    if (response.error != null) {
      alert("Exception while deleting document: " + response.error);
      return;
    } 
    
    Effect.DropOut($("docItem_" + id));
  }  
}
