
// ******************** Filtro/Opacidad *******************
// ************ New Alert: with filter/opacity ************
	var alertIE = (navigator.appName.indexOf("Microsoft") != -1);
	/*var alertOuterTableStyle = "border-top: solid 1px #D4D0C8;border-left: solid 1px #D4D0C8;border-bottom: solid 1px #404040;border-right: solid 1px #404040;";
	var alertInnerTableStyle = "border-top: solid 1px #FFFFFF;border-left: solid 1px #FFFFFF;border-bottom: solid 1px #808080;border-right: solid 1px #808080;background-color: #D4D0C8;";
	var alertTitleTableStyle = "background-color: #5B7AAF;color: #FFFFFF;font-family: tahoma; font-size: 12px; font-weight: bold;";
	var alertMessageTableStyle = "color: #000000;font-family: tahoma; font-size: 12px;";
	var alertButtonStyle = "width: 100px;";*/
	/*var alertDefaultCloseImage = "../DeleteAlert/closeicon.gif";
	var alertDefaultAlertIcon = "../DeleteAlert/alerticon.gif";*/
	var alertDefaultSkinName = "Green";
	var alertDefaultTitle = "Alert";
	var alertDefaultText = "Are you sure?";
	var alertDefaultTrueButtonText = "Yes";
	var alertDefaultFalseButtonText = "No";
	var oAlertBlockingLayer = null;
	var oAlertLayer = null;
	var oAlertTemporalLayer = null;
	var alertFunctionParameter = null;
	var alertScrollTimerId = null;
	var alertPreviousTopPosition=0;
	var alertPreviousLeftPosition=0;
	var alertHalfBoxHeight = 0;
	var alertHalfWinHeight = 0;
	var alertHalfBoxWidth = 0;
	var alertHalfWinWidth = 0;
	var oAlertTrueButton = null;
	var oAlertFalseButton = null;
	
	function alertDisplayShowElements(sTagName,sStatus)
	{
		var aElm = document.getElementsByTagName(sTagName);
		var oElm = null;
		for (i=0; i<aElm.length; i++)
		{
			oElm = aElm[i];
			oElm.style.display = sStatus;
		}
	}
	
	function alertHideShowElements(sTagName,sStatus)
	{
		var aElm = document.getElementsByTagName(sTagName);
		var oElm = null;
		for (i=0; i<aElm.length; i++)
		{
			oElm = aElm[i];
			oElm.style.visibility = sStatus;
		}
	}
	function alertGetScrollTop()
	{
		var iValue = 0;
		
		if (document.body.scrollTop)
		{
			iValue = document.body.scrollTop;
		}
		else
		{
			if (window.pageYOffset)
			{
				iValue = window.pageYOffset;
			}
			else
			{
				if (document.documentElement)
				{
					iValue = document.documentElement.scrollTop;
				}
			}
		}
		return iValue;
	}
	function alertGetScrollLeft()
	{
		var iValue = 0;
		
		if (document.body.scrollLeft)
		{
			iValue = document.body.scrollLeft;
		}
		else
		{
			if (window.pageXOffset)
			{
				iValue = window.pageXOffset;
			}
			else
			{
				if (document.documentElement)
				{
					iValue = document.documentElement.scrollLeft;
				}
			}
		}
		return iValue;
	}
	function alertGetWinWidth()
	{
		var iWidth = 0;
		if (window.innerWidth)
		{
			iWidth = window.innerWidth;
		}
		else
		{
			if (document.body.offsetWidth)
			{
				iWidth = document.body.offsetWidth;
			}
		}
		return iWidth;
	}
	function alertGetWinHeight()
	{
		var iHeight = 0;
		if (window.innerHeight)
		{
			iHeight = window.innerHeight;
		}
		else
		{
			if (document.body.offsetHeight)
			{
				iHeight = document.body.offsetHeight;
			}
		}
		return iHeight;
	}
	function alertGetMaxWidth()
	{
		var iWidth = alertGetWinWidth();
		if (document.width)
		{
			if (document.width > iWidth)
			{
				iWidth = document.width;
			}
		}
		if (document.body.scrollWidth)
		{
			if (document.body.scrollWidth > iWidth)
			{
				iWidth = document.body.scrollWidth;
			}
		}
		return iWidth;
	}
	function alertGetMaxHeight()
	{
		var iHeight = alertGetWinHeight();
		if (document.height)
		{
			if (document.height > iHeight)
			{
				iHeight = document.height;
			}
		}
		if (document.body.scrollHeight)
		{
			if (document.body.scrollHeight > iHeight)
			{
				iHeight = document.body.scrollHeight;
			}
		}
		return iHeight;
	}
	function alertKeepFocus(obj)
	{
		if (oAlertLayer)
		{
			if (obj == oAlertFalseButton)
			{
				if (oAlertTrueButton) oAlertTrueButton.focus();
			}
			else
			{
				if (oAlertFalseButton) oAlertFalseButton.focus();
			}
		}
	}
	function alertBlockAll()
	{
		var iWidth = alertGetMaxWidth();
		var iHeight = alertGetMaxHeight();
		//substract scrollbar width
		if (iHeight >= alertGetWinHeight())
		{
			iWidth = iWidth - (alertIE ? 20 : 16);
		}
		//substract scrollbar height
		if (alertIE)
		{
			if (iWidth > alertGetWinWidth() - 20)
			{
				iHeight = iHeight - 20;
			}
			else
			{
				iHeight = iHeight - 4;
			}
		}
		else
		{
			if (iWidth >= alertGetWinWidth())
			{
				iHeight = iHeight - 16;
			}
		}
		if (oAlertBlockingLayer == null)
		{
			oAlertBlockingLayer = document.createElement("Div");
			// Filtro/Opacidad
			// Ponemos un id para poder referenciarlo y establecer el filtro/opacidad
			oAlertBlockingLayer.id = "divAlertBlockingLayer";
		}
		oAlertBlockingLayer.style.top = "0";
		oAlertBlockingLayer.style.left = "0";
		oAlertBlockingLayer.style.width = iWidth + "px";
		oAlertBlockingLayer.style.height = iHeight + "px";
		oAlertBlockingLayer.style.zIndex = "10000";
		oAlertBlockingLayer.style.position="absolute";
		if (alertIE)
		{
			oAlertBlockingLayer.style.background="#FFFFFF";
			oAlertBlockingLayer.style.filter = "progid:DXImageTransform.Microsoft.Alpha(opacity=0)";
			//oAlertBlockingLayer.style.background="#000000";
			//oAlertBlockingLayer.style.filter = "progid:DXImageTransform.Microsoft.Alpha(opacity=16)";
		}
		document.getElementById("divAlertDeleteContainer").appendChild(oAlertBlockingLayer);
	}
	function alertCloseAlert(bStatus)
	{
		//if (document.getElementById("txtdebug")) document.getElementById("txtdebug").value += "start";
		document.getElementById("divAlertDeleteContainer").removeChild(oAlertLayer);
		//if (document.getElementById("txtdebug")) document.getElementById("txtdebug").value += " - removealert";
		document.getElementById("divAlertDeleteContainer").removeChild(oAlertBlockingLayer);
		oAlertLayer = null;
		oAlertBlockingLayer = null;
		//if (document.getElementById("txtdebug")) document.getElementById("txtdebug").value += " - removeblock";
		clearTimeout(alertScrollTimerId);
		//if (document.getElementById("txtdebug")) document.getElementById("txtdebug").value += " - cleartimer";
		if (alertIE) alertHideShowElements("SELECT","visible");
		//if (document.getElementById("txtdebug")) document.getElementById("txtdebug").value += " - show selects";
		alertHideShowElements("OBJECT","visible");
		//if (document.getElementById("txtdebug")) document.getElementById("txtdebug").value += " - show flash";
		if (window.fnDeleteAlertReturn)
		{
			fnDeleteAlertReturn(bStatus, alertFunctionParameter);
			//if (document.getElementById("txtdebug")) document.getElementById("txtdebug").value += " - call function";
		}
		// Filtro/Opacidad
		// ******* Sacamos la opacidad/filtro *********** //
		if ( document.getElementById( "divBodyPage") )
		{
			document.getElementById( "divBodyPage" ).style.filter = '';
			document.getElementById( "divBodyPage" ).style.opacity = "";
		}
	}
	function alertGetAlertTable(sMessage,sTrueButton,sFalseButton,sTitle,sSkinName,sOnlyAlert)
	{
		var sTable = "";
		sTable += "<table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" class=\"alertoutertable\" id=\"tblAlert\">";
		sTable += "<tr><td>";
		sTable += "<table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" class=\"alertinnertable\" width='100%'>";
		sTable += "<tr><td>";
		
		sTable += "<table border=\"0\" cellpadding=\"2\" cellspacing=\"0\" width=\"100%\" class=\"alerttitletable\">";
		sTable += "<tr><td align=\"left\">";
		sTable += sTitle ? sTitle : alertDefaultTitle;
		sTable += "</td><td align=\"right\">";
		sTable += "<a href=\"javascript:alertCloseAlert(false);\"><img src=\"styles/AlertDelete/Close-icon.jpg\" border=\"0\"></a>";
		sTable += "</td></tr>";
		sTable += "</table>";
		
		sTable += "</td></tr>";
		sTable += "<tr><td align=\"right\" width='100%'>";
		
		sTable += "<table border=\"0\" cellpadding=\"2\" cellspacing=\"0\" class=\"alertmessagetable\" width=\"100%\">";
		sTable += "<tr><td colspan=\"5\">&nbsp;</td></tr>";
		sTable += "<tr valign=\"middle\">";
		sTable += "<td align=\"left\" width=\"10\">";
		sTable += "</td><td align=\"left\" width=\"10\">";
		sTable += "<img src=\"styles/AlertDelete/Alert-icon.gif\" border=\"0\">";;
		sTable += "</td><td width=\"1\"></td><td align=\"left\" width='100%'>";
		if ( alertIE )
			sTable += "<div>";
		else
			sTable += "<div style='border: solid 1px Transparent; width:100%'>";
		sTable += sMessage ? sMessage.replace(/\n/g,"<br>") : alertDefaultText;
		sTable += "</div></td><td width=\"10\"></td>";
		sTable += "</tr>";
		sTable += "<tr><td colspan=\"5\">&nbsp;</td></tr>";
		sTable += "</table>";
		
		sTable += "</td></tr>";
		sTable += "<tr><td align=\"center\">";
		
		sTable += "<table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" class=\"alertbuttontable\" width=\"100%\">";
		sTable += "<tr height=\"27\" valign=\"middle\">";
		sTable += "<td align=\"left\">";
		sTable += "<table border=\"0\" cellpadding=\"0\" cellspacing=\"0\">";
		sTable += "<tr valign=\"middle\">";
		sTable += "<td width=\"10\"></td>";
		if ( sOnlyAlert == null )
		{
			sTable += "<td align=\"left\">";
			sTable += "<a class=\"imagebutton\" href=\"javascript:alertCloseAlert(true);\" onblur=\"javascript:alertKeepFocus(this);\" id=\"btnAlertTrueButton\"><img align=\"absmiddle\" src=\"styles/AlertDelete/yes-icon.gif\">&nbsp;&nbsp;" + (sTrueButton ? sTrueButton : alertDefaultTrueButtonText) + "</a>&nbsp;&nbsp;"
			//sTable += "<input type=\"button\" value=\"" + (sTrueButton ? sTrueButton : alertDefaultTrueButtonText) + "\" class=\"imagebutton\" onclick=\"javascript:alertCloseAlert(true);\" onblur=\"javascript:alertKeepFocus(this);\" id=\"btnAlertTrueButton\" style=\"PADDING-LEFT: 16px; BACKGROUND-IMAGE: url(../styles/" + (sSkinName ? sSkinName : alertDefaultSkinName) + "/AlertDelete/yes-icon.gif); WIDTH: 50px;\">";
			sTable += "<td class=\"alertbuttonseparatorskin\"></td>";
			sTable += "<td class=\"alertbuttonseparatorwhite\"></td>";
			sTable += "</td><td width=\"10\"></td>";
		}
		else sTable += "<td width=\"10\"></td>";
		sTable += "<td align=\"center\">";
		if ( sOnlyAlert == null )
			sTable += "<a class=\"imagebutton\" href=\"javascript:alertCloseAlert(false);\" onblur=\"javascript:alertKeepFocus(this);\" id=\"btnAlertFalseButton\"><img align=\"absmiddle\" src=\"styles/AlertDelete/no-icon.gif\">&nbsp;&nbsp;" + (sFalseButton ? sFalseButton : alertDefaultFalseButtonText) + "</a>&nbsp;&nbsp;"
		else
			sTable += "<a class=\"imagebutton\"  href=\"javascript:alertCloseAlert(false);\" onblur=\"javascript:alertKeepFocus(this);\" id=\"btnAlertFalseButton\"><img border=\"0\"  align=\"absmiddle\" src=\"styles/AlertDelete/ok-icon.gif\">&nbsp;&nbsp;" + (sFalseButton ? sFalseButton : sOnlyAlert) + "</a>&nbsp;&nbsp;"
			
		//sTable += "<input type=\"button\" value=\"" + (sFalseButton ? sFalseButton : alertDefaultFalseButtonText) + "\" class=\"imagebutton\" onclick=\"javascript:alertCloseAlert(false);\" onblur=\"javascript:alertKeepFocus(this);\" id=\"btnAlertFalseButton\" style=\"PADDING-LEFT: 16px; BACKGROUND-IMAGE: url(../styles/" + (sSkinName ? sSkinName : alertDefaultSkinName) + "/AlertDelete/no-icon.gif); WIDTH: 50px;\">";
		sTable += "</td>";
		sTable += "<td class=\"alertbuttonseparatorskin\"></td>";
		sTable += "<td class=\"alertbuttonseparatorwhite\"></td>";
		sTable += "<td width=\"10\"></td>";
		sTable += "</tr>";
		sTable += "</table>";
		sTable += "</td>";
		sTable += "</tr>";
		sTable += "</table>";
		
		sTable += "</td></tr>";
		sTable += "</table>";
		sTable += "</td></tr>";
		sTable += "</table>";
		return sTable;
	}
	function alertDrawTemporalAlert()
	{
		if (oAlertTemporalLayer == null)
		{
			oAlertTemporalLayer = document.createElement("Div");
		}
		oAlertTemporalLayer.style.zIndex="1";
		oAlertTemporalLayer.style.position="absolute";
		oAlertTemporalLayer.style.background="#FFFFFF";
		oAlertTemporalLayer.appendChild(oAlertLayer);
		oAlertTemporalLayer.style.top = "0";
		oAlertTemporalLayer.style.left = "0";
		oAlertTemporalLayer.style.width = "0";
		oAlertTemporalLayer.style.height = "0";
		oAlertTemporalLayer.style.overflow = "hidden";
		document.getElementById("divAlertDeleteContainer").appendChild(oAlertTemporalLayer);
		return document.getElementById("tblAlert");
	}
	function alertDeleteTemporalAlert()
	{
		document.getElementById("divAlertDeleteContainer").removeChild(oAlertTemporalLayer);
	}
	function alertBuildAlert(sMessage,sTrueButton,sFalseButton,sTitle,sSkinName,sFunctionParm,sOnlyAlert)
	{
		// *************** si no existe el contenedor (div) del alert lo creamos y lo agregamos al body
		if ( !document.getElementById( "divAlertDeleteContainer") )
		{
			var divAlert = document.createElement( "div" );
			divAlert.id = "divAlertDeleteContainer";
			document.body.appendChild( divAlert );
		}
		if (alertIE) alertHideShowElements("SELECT","hidden");
		alertHideShowElements("OBJECT","hidden");
		//document.body.style.filter = 'alpha(opacity=50)';
		alertBlockAll();
		alertFunctionParameter = sFunctionParm;
		
		alertPreviousTopPosition = alertGetScrollTop();
		alertPreviousLeftPosition = alertGetScrollLeft();
		alertHalfWinHeight = parseInt(alertGetWinHeight() / 2);
		alertHalfWinWidth = parseInt(alertGetWinWidth() / 2);
		var iTop = alertPreviousTopPosition + alertHalfWinHeight;
		var iLeft = alertPreviousLeftPosition + alertHalfWinWidth;
		oAlertLayer = document.createElement("Div");
		oAlertLayer.style.zIndex="10001";
		oAlertLayer.style.position="absolute";
		oAlertLayer.style.background="#FFFFFF";
		oAlertLayer.innerHTML = alertGetAlertTable(sMessage,sTrueButton,sFalseButton,sTitle,sSkinName,sOnlyAlert);
		var oTblAlert = alertDrawTemporalAlert();
		
		/* old code (this calculate wrong)
		alertHalfBoxHeight = parseInt(oTblAlert.offsetHeight / 2);
		alertHalfBoxWidth = parseInt(oTblAlert.offsetWidth / 2);
		*/
		/* start new code (to calculate ok) */
		alertHalfBoxHeight = parseInt(oAlertLayer.offsetHeight / 2);
		alertHalfBoxWidth = parseInt(oAlertLayer.offsetWidth / 2);
		/* end new code */
				
		oAlertLayer.style.top = iTop - alertHalfBoxHeight;
		oAlertLayer.style.left = iLeft - alertHalfBoxWidth;
		oAlertLayer.style.top = -1000;
		oAlertLayer.style.left = -1000;
		//alert(oTblAlert.offsetHeight + ',' + oTblAlert.offsetWidth);
		alertDeleteTemporalAlert();
		document.getElementById("divAlertDeleteContainer").appendChild(oAlertLayer);
		oAlertTrueButton = document.getElementById("btnAlertTrueButton");
		oAlertFalseButton = document.getElementById("btnAlertFalseButton");
		if (oAlertFalseButton) oAlertFalseButton.focus();
		alertScrollTimerId = setTimeout("alertCheckScroll()", 500);
		
		/* start new code (to calculate ok) */
		alertHalfBoxHeight = parseInt(oAlertLayer.offsetHeight / 2);
		alertHalfBoxWidth = parseInt(oAlertLayer.offsetWidth / 2);
		oAlertLayer.style.top = iTop - alertHalfBoxHeight;
		oAlertLayer.style.left = iLeft - alertHalfBoxWidth;		
		/* end new code */
		if ( parseInt(oAlertLayer.style.left) < 0 ) oAlertLayer.style.left = 0;
		
		// Filtro/Opacidad
		//***************** si existe divBodyPage => se establece el filtro/opacidad para toda la página
		if ( document.getElementById( "divBodyPage") )
		{
			if ( alertIE )
			{
				document.getElementById( "divAlertBlockingLayer" ).style.background = "silver";
				document.getElementById( "divAlertBlockingLayer" ).style.filter = 'progid:DXImageTransform.Microsoft.Alpha(opacity=50)';
				
			}
			else
			{
				document.getElementById( "divBodyPage" ).style.opacity = ".40";
			}
		}
	}
	function alertCheckScroll()
	{
		var iTop = alertGetScrollTop();
		if (alertPreviousTopPosition != iTop)
		{
			oAlertLayer.style.top = iTop + alertHalfWinHeight - alertHalfBoxHeight;
			alertPreviousTopPosition = iTop;
		}
		var iLeft = alertGetScrollLeft();
		if (alertPreviousLeftPosition != iLeft)
		{
			oAlertLayer.style.left = iLeft + alertHalfWinWidth - alertHalfBoxWidth;
			alertPreviousLeftPosition = iLeft;
		}
		clearTimeout(alertScrollTimerId);
		alertScrollTimerId = setTimeout("alertCheckScroll()", 500);
	}