//<SCRIPT LANGUAGE="JAVASCRIPT">

/*****
 *	(c) 2001 - ICON
 *****/

//	Rutinas:
//		GuardarPosRaton
//		AsignarControl
//		AbrirPopUp
//		CerrarPopUp
//		StrBlur
//		NumeroFocus
//		NumeroBlur
//		FechaBlur
//		AbrirCal
//		EnviarForma
//		BorrarRegistro

var gbolAbriendoCal = false;		// Indica si se está en proceso de abrir calendario
var gbolAbriendoPopUp = false;	// Indica si se está abriendo ventana de seleccion
var gVentPopUp = null;				// Ventana "POP UP" abierta
var gintRatonX = 0;
var gintRatonY = 0;
var gstrOpcionesPopUp = "dependent=yes,resizable=yes,toolbar=no,status=no,directories=no,menubar=no"

// Guarda la posicion del ratón originada por un evento
function GuardarPosRaton(pobjEvento) {
	if (navigator.appName.indexOf("Microsoft") != -1) 
		pobjEvento = window.event;
	gintRatonX = pobjEvento.screenX;
	gintRatonY = pobjEvento.screenY;
}

function AsignarControl(pstrControl, pValor, pForma) {
	if (pForma==""){
		eval("document.forms[0]." + pstrControl + ".value=" + "\""+ pValor +"\"");
	}else{
		eval("document."+ pForma +"." + pstrControl + ".value=" + "\""+ pValor +"\"");
	}
	return false;
}

// Abre ventana "POP UP"
function AbrirPopUp(pstrUrl, pstrNombre, pintAncho, pintAlto, pstrOpcs, pbolRelativo) {
	CerrarPopUp();
	gbolAbriendoPopUp = true;
	if (pbolRelativo) {
		var intRatonX = parseInt(gintRatonX,10);
		var intRatonY = parseInt(gintRatonY,10);

		if (intRatonX - parseInt(pintAncho,10) < 0)
			intRatonX = parseInt(pintAncho,10);

		if (intRatonY + parseInt(pintAlto,10) > parseInt(screen.height,10)) 
		intRatonY -= (parseInt(intRatonY,10) + parseInt(pintAlto,10) + parseInt("50",10)) - parseInt(screen.height,10);
		intRatonX -= parseInt(pintAncho,10);
		intRatonY += parseInt("10",10);
		
		if (pstrOpcs != "")
			pstrOpcs += ","
		pstrOpcs += "width=" + pintAncho + ",height=" + pintAlto + ",screenX=" + intRatonX + ",left=" + intRatonX + ",top=" + intRatonY;
	}
	gVentPopUp = window.open(pstrUrl, pstrNombre, pstrOpcs, false);
	gbolAbriendoPopUp = false;
}

// Abre ventana "POP UP" "con parámetros adicionales para filtrado (división y país)"
function AbrirPopUpParam(pstrUrl, pstrNombre, pintAncho, pintAlto, pstrOpcs, pbolRelativo, pstrPais, pstrDivision) {
	CerrarPopUp();
	gbolAbriendoPopUp = true;
	if (pbolRelativo) {
		var intRatonX = gintRatonX;
		var intRatonY = gintRatonY;
		if (intRatonX - pintAncho < 0)
			intRatonX = pintAncho;
		if (intRatonY + pintAlto > screen.height) 
			intRatonY -= (intRatonY + pintAlto + 50) - screen.height;
		intRatonX -= pintAncho;
		intRatonY += 10;
		if (pstrOpcs != "")
			pstrOpcs += ","
		pstrOpcs += "width=" + pintAncho + ",height=" + pintAlto + ",screenX=" + intRatonX + ",left=" + intRatonY + ",top=" + intRatonY;
	}
	
	UrlAux = pstrUrl + "?P_COD_PAIS=" + pstrPais + "&P_COD_DIVISION=" + pstrDivision;
	
	gVentPopUp = window.open(UrlAux, pstrNombre, pstrOpcs, false);
	gbolAbriendoPopUp = false;
}

// Cierra ventana "POP UP"
function CerrarPopUp() {
	if (gVentPopUp != null) 
		if (!gVentPopUp.closed)
			gVentPopUp.close();
	gVentPopUp = null;
}

function StrBlur(pobjText, pstrAtribs, pstrMin, pstrMax) {
	var objAtribs = ExpandeAtribsStr(pstrAtribs);
	var strValor = pobjText.value;
	
	if (objAtribs.May) {
		strValor = strValor.toUpperCase();
		pobjText.value = strValor;
	}
		
	if (objAtribs.Min) {
		strValor = strValor.toLowerCase();
		pobjText.value = strValor;
	}
	
	if (pstrMin != "") {
		if (strValor < pstrMin) {
			window.alert("El valor debe ser mayor o igua a " + pstrMin);
			pobjText.focus();
			return false;
		}
	}
	
	if (pstrMax != "") {
		if (strValor > pstrMax) {
			window.alert("El valor debe ser menor o igua a " + pstrMax);
			pobjText.focus();
			return false;
		}
	}
	return true;
}

function NumeroFocus(pobjText) {
	var str = ForzaStrANum(pobjText.value);
	if (str == "0")
		str = "";
	pobjText.value = str;
}

function NumeroBlur(pobjText, pstrAtribs, pstrMin, pstrMax) {
	var objAtribs = ExpandeAtribsNum(pstrAtribs);
	var dblValor = ForzaStrANum(pobjText.value);
	if (pstrMin != "") {
		var dblMin = ForzaStrANum(pstrMin);
		if (dblValor < dblMin) {
			window.alert("El valor debe ser mayor o igua a " + pstrMin);
			pobjText.focus();
			return false;
		}
	}
	if (pstrMax != "") {
		var dblMax = ForzaStrANum(pstrMax);
		if (dblValor > dblMax) {
			window.alert("El valor debe ser menor o igua a " + pstrMax);
			pobjText.focus();
			return false;
		}
	}
	pobjText.value = FormateaNum(dblValor, objAtribs.Ent, objAtribs.Dec, objAtribs.Comas, objAtribs.Rell);
	return true;
}

// Valida la salida de un TEXT que contenga fecha.
function FechaBlur(pobjText, pbolReq, pstrMin, pstrMax) {
	var s = RemBlancos(pobjText.value);
	pobjText.value = s;
	
	// Abriendo calendario ?
	if (gbolAbriendoCal)
		return true;
	
	// Requerido ?
	if (s == "" && !pbolReq)
		return true;
	
	// Valida ?
	var dtmFecha = StrAFecha(s);
	if (dtmFecha == null) {
		window.alert('Fecha "' + s + '" inválida.\nIngrese usando formato dd/mm/aaaa');
		pobjText.focus();
		return false;
	}

	// En rango ?
	var dtmMin = StrAFecha(pstrMin);
	var dtmMax = StrAFecha(pstrMax);
	
	if (dtmMin != null && dtmFecha < dtmMin) {
		window.alert('Fecha debe ser mayor o igual a "' + pstrMin + '".');
		pobjText.focus();
		return false;
	}

	if (dtmMax != null && dtmFecha > dtmMax) {
		window.alert("Fecha debe ser menor o igual a " + pstrMax);
		pobjText.focus();
		return false;
	}
	return true;
}

// Abre la ventana de calendario
function AbrirCal(pstrCampo, pstrMin, pstrMax) {
	if (pstrCampo == "") 
		return;
		
	eval("var strActual = document.forms[0]." + pstrCampo + ".value;");

	var strUrl = "ipl_calendario?p_campo=" + pstrCampo;
	if (pstrMin != "")
		strUrl += "&p_min=" + ConvEspUrl(pstrMin);
	if (pstrMax != "")
		strUrl += "&p_max=" + ConvEspUrl(pstrMax);
	if (strActual != "")
		strUrl += "&p_actual=" + ConvEspUrl(strActual);

	gbolAbriendoCal = true;
	AbrirPopUp(strUrl, "Calendario", 193, 145, gstrOpcionesPopUp, true);
	gbolAbriendoCal = false;
}

function EnviarForma(pstrAccion) {
	if (top.window.ValidarForma(pstrAccion)) {
		document.forms[0]._accion.value = pstrAccion;
		document.forms[0].submit();
		return true;
	}
}

function BorrarRegistro() {
	return confirm("¿Borrar registro?");
/*
	if (confirm("¿Borrar registro?"))
		document.forms[0]._accion.value = 'BORRAR';
	else
		document.forms[0]._accion.value = '';
	// alert(document.forms[0]._accion.value);
	document.forms[0].submit();
	return true;
*/
}



//</SCRIPT>
