//CODIGO POR MAURICIO CASTELAZO GAMBOA
// para Nomina en Linea.com
// todos los derechos reservados
 
document.write("<span id=menues></span>");
var MenuStr;
var MenuName;
var indexMenuRow=0;


//variables del estado del menu y el cursor
var MenuIEEstado;

function CrearMenu(NombreMenu, width)
{
    MenuName=NombreMenu;
    indexMenuRow=0;
    MenuStr="\n\n<div id='"+ NombreMenu +"' style=\"visibility:hidden;position:absolute;border-top: buttonshadow 1px solid;border-bottom: buttonshadow 1px solid;z-index:200; width:"+ width +"\" onmouseleave=\"Ocultar('"+ NombreMenu +"');\"><table align=\"center\" border=\"0\" cellpadding=\"5\" cellspacing=\"0\" class=\"tabla\" style=\"width:100%; padding-right: 0pt; padding-left: 0px; padding-bottom: 0px; padding-top: 0px; height: 13px; text-align: left; border-right: buttonshadow 1px solid; border-top: buttonshadow 1px solid; border-left: buttonshadow 1px solid; border-bottom: buttonshadow 1px solid; background-color: buttonface; font-weight: bold;\">";
}

function CrearMenuScroll(NombreMenu, width, height)
{
    MenuName=NombreMenu;
    indexMenuRow=0;
    MenuStr="\n\n<div id='" + NombreMenu + "' style=\"overflow:auto;border-top: buttonshadow 1px solid;border-bottom: buttonshadow 1px solid; visibility:hidden; position:absolute; width:" + width + "px; height: " + height + "px;\" onmouseleave=\"Ocultar('"+ NombreMenu +"');\"><table align=\"center\" border=\"0\" cellpadding=\"5\" cellspacing=\"0\" class=\"tabla\" style=\"width: 100%; padding-right: 0pt; padding-left: 0px; padding-bottom: 0px; padding-top: 0px; text-align: left; border-right: buttonshadow 1px solid; border-top: buttonshadow 1px solid; border-left: buttonshadow 1px solid; border-bottom: buttonshadow 1px solid; background-color: buttonface; font-weight: bold;\">";
}

function InsertarRenglonMenu(Texto, Valor, NombreFuncion,BordeArriba, tooltip)
{
    var TopBorder=BordeArriba ? " style='border-top: buttonshadow 1px solid' ": "";
    MenuStr+="\t\n<tr><td class=\"CeldaMenuIE\" "+ TopBorder +"><a title=\"" + tooltip + "\" href=\"javascript:"+ NombreFuncion +"('"+ Valor +"');\" class=\"MenuIE\" id='" + MenuName + "_" + indexMenuRow++ + "'>"+ Texto +"</a></td></tr>";
}

function InsertarRenglonHeader(Texto, BordeArriba, tooltip)
{
    var TopBorder=BordeArriba ? " style='border-top: buttonshadow 1px solid' ": "";
    MenuStr+="\t\n<tr><td class=\"BOTON2\" "+ TopBorder +" title=\"" + tooltip + "\"> " + Texto +" </td></tr>";
}

function CerrarMenu()
{
	document.getElementById("menues").innerHTML+=MenuStr + "\n</table></div>\n\n";
}

/////////////////////////////////////////////////////////

function ShowMenu(idMenu,offsetX,offsetY,OcultarCombos)
{
    idMenu.style.position="absolute";
    idMenu.style.left=event.clientX+offsetX;//Val es para convertir de 250px a 250
    idMenu.style.top=document.body.scrollTop+event.clientY+offsetY;
    idMenu.style.visibility="visible"; 
    ForceMenuInsideClientScreen(idMenu);
    top.programa.OcultarSelects(OcultarCombos);
    
	try{
		MenuIE_Shows();
	}catch(err){
		Dumb();
	}
    
}

function ShowMenuXY(idMenu,X,Y,OcultarCombos)
{
    idMenu.style.position="absolute";
    idMenu.style.left=X;
    idMenu.style.top=Y;
    idMenu.style.visibility="visible";    
    ForceMenuInsideClientScreen(idMenu);
    top.programa.OcultarSelects(OcultarCombos);

	try{
		MenuIE_Shows();
	}catch(err){
		Dumb();
	}

}

function ShowMenuOnIframe(idMenu,offsetX,offsetY,IFrameID)
{
    var Obj=document.getElementById(IFrameID);
    offsetX+=getElementLeft(IFrameID);
    offsetY+=getElementTop(IFrameID);
    idMenu.style.position="absolute";
    idMenu.style.left=offsetX-Val(idMenu.style.width);//Val es para convertir de 250px a 250
    idMenu.style.top=offsetY;
    ForceMenuInsideClientScreen(idMenu);
    idMenu.style.visibility="visible";   

	try{
		MenuIE_Shows();
	}catch(err){
		Dumb();
	}

}


function ForceMenuInsideClientScreen(idMenu)
{
//alert(idMenu.style.left + " " + idMenu.style.width);
    if (Val(idMenu.style.left)+Val(idMenu.style.width)> Val(document.body.clientWidth))//si se sale de pantalla, mover el emnu mas a la izuiqerda
        idMenu.style.left=Val(idMenu.style.left)-Val(idMenu.style.width);

//	alert(Val(idMenu.style.top)+Val(idMenu.style.height)-Val(document.body.scrollTop) + " clientheight: " + Val(document.body.clientHeight) + "  Nuevo top=" + (Val(document.body.scrollTop)+Val(document.body.clientHeight)- Val(idMenu.style.height))  );
    if (Val(idMenu.style.top)+Val(idMenu.style.height)-Val(document.body.scrollTop) > Val(document.body.clientHeight))//si se sale de pantalla, mover el emnu mas a la izuiqerda
        idMenu.style.top=Val(document.body.scrollTop)+Val(document.body.clientHeight)-Val(idMenu.style.height)-5;
       
}

function Ocultar(id)
{
	
    OcultarSelects(false);
	var t=document.getElementById(id);
	t.style.visibility="hidden";
	
	try{
		MenuIE_Hides();
	}catch(err){
		Dumb();
	}
}

function Dumb()
{
}

////////////////////////////////////////////////////////////////////////////
// CODIGO PARA OCULTAR/MOSTRAR SELECTS
// util cuando queremos poner un layer sobre los selects

function OcultarSelects(valor)
{
	var selects = document.getElementsByTagName("select");
	for(var xx = 0; xx < selects.length; xx++)
	{
		selects[xx].style.visibility = (valor ? "hidden": "visible");
	}
}



function getElementLeft(Elem) 
{
		var elem;
		if(document.getElementById) {
			var elem = document.getElementById(Elem);
		} else if (document.all){
			var elem = document.all[Elem];
		}
		xPos = elem.offsetLeft;
		tempEl = elem.offsetParent;
  		while (tempEl != null) {
  			xPos += tempEl.offsetLeft;
	  		tempEl = tempEl.offsetParent;
  		}
		return xPos;
};


function getElementTop(Elem) {
	if(document.getElementById) {	
		var elem = document.getElementById(Elem);
	} else if (document.all) {
		var elem = document.all[Elem];
	}
	yPos = elem.offsetTop;
	tempEl = elem.offsetParent;
	while (tempEl != null) {
		yPos += tempEl.offsetTop;
  		tempEl = tempEl.offsetParent;
	}
	return yPos;
};
