
currentX = -1;
currentY = -1;
function grabMouse(e) {
	if ((DOM && !IE4) || Opera5) {
		currentX = e.clientX;
		currentY = e.clientY;
	} else if (NS4) {
		currentX = e.pageX;
		currentY = e.pageY;
	} else {
		currentX = event.x;
		currentY = event.y;
	}

	currentX += getWindowXOffset();
	currentY += getWindowYOffset();

	/*
        if (DOM && ! IE5 && !IE4 && !Opera5 && !Konqueror) {
        currentX += window.pageXOffset;
        currentY += window.pageYOffset;
        } else if ((IE4 && DOM && !Opera5 && !Konqueror) || IE5) {
        currentX += document.body.scrollLeft;
        currentY += document.body.scrollTop;
        }
      */
}

/*
  function setCursorPosition(oInput,oStart,oEnd) {
  if( oInput.setSelectionRange ) {
  oInput.setSelectionRange(oStart,oEnd);
  }
  else if( oInput.createTextRange ) {
  var range = oInput.createTextRange();
  range.collapse(true);
  range.moveEnd('character',oEnd);
  range.moveStart('character',oStart);
  range.select();
  }
  }
*/




function confirmBefore(url,msg) {
	var cf = confirm(msg);
	if(cf) {
		location.href=url;
		return true;
	} else {
		return false;
	}
}

function popupw(url,title) {
	var hWnd = window.open(url,title,"toolbar=no,location=no,directories=no,status=no,menubar=yes,scrollbars=yes,resizable=yes,width=700,height=500,screenX=100,screenY=100");
	hWnd.focus();
	if(self.name == null || self.name == "")
		self.name="UPWINDOW_"+Math.random();

	if(hWnd != null) {
		if(hWnd.opener == null) {
			hWnd.opener = self; window.name = "SMALLWINDOW"; hWnd.location.href=url;
		}
	}
	return false;
}

function renderShowHide(layerName) {
	document.writeln('[<a href="javascript:toggleShowHide(\''+layerName+'\')"/><span id="'+layerName+'_show" style="display:none">+</span><span id="'+layerName+'_hide">-</span></a>]');
}


function toggleShowHide(layerName) {
	var layer = document.getElementById(layerName);
	var showLink = document.getElementById(layerName+"_show");
	var hideLink = document.getElementById(layerName+"_hide");
	if(layer.style.display == 'none') {
		layer.style.display = '';
		showLink.style.display = 'none';
		hideLink.style.display = ''
	} else {
		layer.style.display = 'none';
		showLink.style.display = '';
		hideLink.style.display = 'none'
	}
}

function openInParentAndClose(url) {
	var wParent = self.parent;
	wParent.location.href=url;
	window.close();
}

/**
 * this function submits the form to the window named 'UPWINDOW', it closes the current window after submit
 */
function submitToUpWindow(form,isValid) {
	if(isValid) {
		//    form.target="UPWINDOW";
		form.target=window.opener.name;
		form.submit();
		self.close();
	}
}

function linkToUpWindow(url) {
	/*  window.open(url,"UPWINDOW");
          window.close();
      */
	window.opener.location.href=url;
	window.close();

	return false;
}

openedLayer = "";

function popupItemOptions(e,idItem) {
	shutdownLayer();

	grabMouse(e);
	var layerName = "itemOptions_"+idItem;
	var width = getOffsetWidth(layerName);
	var height = getOffsetHeight(layerName);
	setLeft(layerName,currentX-width-15);
	setTop(layerName,currentY-height/2);

	setVisibility(layerName,true);

	openedLayer = layerName;
}


function shutdownLayer() {
	if(openedLayer == "")
		return;

	setVisibility(openedLayer,false);
	openedLayer = "";
}

function popupSubMenu(menuName,parentName,event) {
  shutdownLayer();

  var left = getOffsetLeft(parentName);
  var top = getOffsetTop(parentName) + getOffsetHeight(parentName);

  setLeft(menuName,left+5);
  setTop(menuName,top+2);

  setVisibility(menuName,true);
  openedLayer = menuName;


  /*para el registrar mouseOver (al final pq aquis e tira IE)*/
  if (DOM && !IE5){
	  for(var i=0;i<menu.length;i++){
		  document.getElementById(menu[i]).addEventListener('mouseover',mouseOverMenu,false);
	  }
  } else {/*
			for(var j=0;j<menu.length;j++){
			document.getElementById(menu[j]).attachEvent('onmouseover',mouseOverMenu);
			}*/
  }

  /*esto para q no se propague el evento click*/
  if (!event)
	  var event = window.event;
  event.cancelBubble = true;
  if (event.stopPropagation)
	  event.stopPropagation();


}

function mouseOverMenu() {
	var parentName=this.id;
	var menuName=parentName.replace(/subMenu_/,"subMenuPopup_");

	shutdownLayer();
	var left = getOffsetLeft(parentName);
	var top = getOffsetTop(parentName) + getOffsetHeight(parentName);
	setLeft(menuName,left+5);
	setTop(menuName,top+2);
	setVisibility(menuName,true);
	openedLayer = menuName;

}

/*esto me sabotea los menus !!! :)*/
if(NS4) {
	document.onmousedown = function() { shutdownLayer(); return true;}
} else {

	document.onclick = function() {
		shutdownLayer();
		//para quitar el mouseOver de los menus
		for(var i=0;i<menu.length;i++){
			document.getElementById(menu[i]).removeEventListener('mouseover',mouseOverMenu,false);
		}
		//si le pones false en lugar de true tons ningun onClick funcionario
		//ej. click en submit un form,, no madaria nada
		return true;
	}//function

} //else


//stolen from http://www10.brinkster.com/doctorunclear/HTMLJavascriptCSS/TableRowColumnCollapse.html
function setServiceDataColumnVisibility(strVisibility, intColumnNumber,propName) {
	var tableID = "serviceDataTable";
	//alert("hidding:cn="+intColumnNumber+" name="+propName);
	/*
        if(window.addEventListener && navigator.productSub && navigator.productSub > "20040618") {
        alert("bug");
        // Mozilla 1.8alpha; see bug 76497 and bug 242368
        var ColumnCollection = document.getElementById(tableID).getElementsByTagName("col");
        ColumnCollection[intColumnNumber].style.visibility = strVisibility;
        } else*/
	if(document.all && !window.opera && document.compatMode && document.compatMode == "CSS1Compat") {
		var ColumnCollection = document.getElementById(tableID).getElementsByTagName("col");
		if(strVisibility == "visible") {
			ColumnCollection[intColumnNumber].style.display = "block";
		} else if(strVisibility == "collapse") {
			ColumnCollection[intColumnNumber].style.display = "none";
		}
	} else if(document.addEventListener) {// Mozilla and Opera 7.x
		//alert("Mozilla");
		var i=0; // beginning on the headers
		for(var cellIt = document.getElementById("serviceData_"+propName+"_"+i);
		    cellIt != null;
		    cellIt = document.getElementById("serviceData_"+propName+"_"+(++i))) {
			if(strVisibility == "visible") {
				cellIt.style.display = "table-cell";
			} else if(strVisibility == "collapse") {
				cellIt.style.display = "none";
			}
		}
	}
	return false;
}

function hideColumn(cName) {
	setVisibility(cName,false);
	return false;
}

/*desde aquip arboles*/
//alert("empezamos");
arbol = new Array();
function register(id){
	if (!existElem(id)){
		arbol.push(id);
	}
}

function existElem(id){
	for(k=0;k<arbol.length;k++){
		if (arbol[k]==id)
			return true;
	}
	return false;
}

menu = new Array();
function loadedPopup(){

	/*para registrar el mouseOver sobre los menus*/
	if (document.getElementsByTagName)
		var x = document.getElementsByTagName('TD');
	for (var i=0;i<x.length;i++)
	{
		if(x[i].id.match("subMenu_")){
			menu.push(x[i].id);
		}
	}

	/*no tocar ;)*/
	if(arbol.length>0)
		closeTree();
}

window.onload=loadedPopup;

function closeTree(){

	//alert("arbol.length:"+arbol.length);
	for (i=0; i<arbol.length; i++) {
		//alert("arbol["+i+"]="+arbol[i]);
		sonLayer = document.getElementById('jt'+arbol[i]+'son');
		if(sonLayer){
			sonLayer.style.display = 'none';
			nodeLayer = document.getElementById('jt'+arbol[i]+'node');
			if (nodeLayer.src.indexOf('/_static/_common/images/normalTree/tree_collapse.png') > -1)
				nodeLayer.src = '/_static/_common/images/normalTree/tree_expand.png';
			else if (nodeLayer.src.indexOf('/_static/_common/images/normalTree/tree_collapse_first.png') > -1)
				nodeLayer.src = '/_static/_common/images/normalTree/tree_expand_first.png';
			else if (nodeLayer.src.indexOf('/_static/_common/images/normalTree/tree_collapse_corner.png') > -1)
				nodeLayer.src = '/_static/_common/images/normalTree/tree_expand_corner.png';
			else
				nodeLayer.src = '/_static/_common/images/normalTree/tree_expand_corner_first.png';

		}

	}

}

function toggletreemenu1(nodeid){

	if ((!DOM || Opera56 || Konqueror22) && !IE4) {
		return;
	}

	if (!IE4) {
		sonLayer = document.getElementById('jt' + nodeid + 'son');
		nodeLayer = document.getElementById('jt' + nodeid + 'node');
	} else {
		sonLayer = document.all('jt' + nodeid + 'son');
		nodeLayer = document.all('jt' + nodeid + 'node');
	}

	if (sonLayer.style.display == 'none') {
		sonLayer.style.display = 'block';

		if (nodeLayer.src.indexOf('/_static/_common/images/normalTree/tree_expand.png') > -1) {
			nodeLayer.src = '/_static/_common/images/normalTree/tree_collapse.png';
		}
		else if (nodeLayer.src.indexOf('/_static/_common/images/normalTree/tree_expand_first.png') > -1) {
			nodeLayer.src = '/_static/_common/images/normalTree/tree_collapse_first.png';
		}
		else if (nodeLayer.src.indexOf('/_static/_common/images/normalTree/tree_expand_corner.png') > -1) {
			nodeLayer.src = '/_static/_common/images/normalTree/tree_collapse_corner.png';
		}
		else {
			nodeLayer.src = '/_static/_common/images/normalTree/tree_collapse_corner_first.png';
		}

	} else {
		sonLayer.style.display = 'none';

		if (nodeLayer.src.indexOf('/_static/_common/images/normalTree/tree_collapse.png') > -1) {
			nodeLayer.src = '/_static/_common/images/normalTree/tree_expand.png';
		}
		else if (nodeLayer.src.indexOf('/_static/_common/images/normalTree/tree_collapse_first.png') > -1) {
			nodeLayer.src = '/_static/_common/images/normalTree/tree_expand_first.png';
		}
		else if (nodeLayer.src.indexOf('/_static/_common/images/normalTree/tree_collapse_corner.png') > -1) {
			nodeLayer.src = '/_static/_common/images/normalTree/tree_expand_corner.png';
		}
		else {
			nodeLayer.src = '/_static/_common/images/normalTree/tree_expand_corner_first.png';
		}

	}

}


/*hasta aquip arboles*/
