
/*
	globalfunctions.js
	Funciones generales
*/



/*
	cambiarCombos
	Ejecuta un submit si cambio el valor de un combo
*/
function cambiarcombos(obl){

	updateUserInterface();
	if (obl == 1){
		irTarget('');
		document.formu.boton2.value='Combo';
		document.formu.submit();
	}
}

/*
	CampoFecha_Press
	Anade las barras a los campos fecha
*/	

function CampoFecha_Press(IdCampo)
{

	var ValorTotal = new String();
	var Valor = new String();
	var Longitud;
	var objCampoFecha;

	objCampoFecha = document.all[IdCampo];
	ValorTotal = objCampoFecha.value;

	// Obtengo el valor de la tecla presionada
	Valor = event.keyCode;
	// Unicamente si es un numero lo chequeo
	if ((Valor > 47) && (Valor < 58)) {
		Longitud = ValorTotal.length;
		
		switch (Longitud) {
			case 2:
				/* 
				 Termino de tipear los digitos correspondientes al dia.
				 Valido que sea un numero valido para el dia
				*/
				if ((ValorTotal <= 0) || (ValorTotal > 31))  {
					event.returnValue = false;	
					break;					
				}else{
					objCampoFecha.value = objCampoFecha.value + '/';
					break;
				}
			case 5:
				/* 
				 Termino de tipear los digitos correspondientes al mes.
				 Valido que sea un numero valido para el dia, tomando en cuenta el mes
				*/
				ValorTotal = (ValorTotal.substring(3,5));
				if ((ValorTotal <= 0) || (ValorTotal > 12))  {
					event.returnValue = false;	
					break;					
				}else{
					objCampoFecha.value = objCampoFecha.value + '/';
					break;
				}
			case 10:
				event.returnValue = false;				
			default:
		}
	}
	else {
		// No dejo ingresar el caracter inválido
		event.returnValue = false;
	}

	return false;

}


/*
	CampoHHMM_Press
	Añade los dos puntos a los campos hora
*/
function CampoHHMM_Press(IdCampo)
{
	var ValorTotal = new String();
	var Valor = new String();
	var Longitud;
	var objCampoHora;

	objCampoHora = document.all[IdCampo];
	ValorTotal = objCampoHora.value;

	// Obtengo el valor de la tecla presionada
	Valor = event.keyCode;

	// Unicamente si es un numero lo chequeo
	if ((Valor > 47) && (Valor < 58)) {
		Longitud = ValorTotal.length;
		
		switch (Longitud) {
			case 2:
				objCampoHora.value = objCampoHora.value + ':';
				break;
			case 5:
				event.returnValue = false;
			default:			
		}
	}
	else {
		// No dejo ingresar el caracter inv lido
		event.returnValue = false;
	}

}



/*
	CampoHora_Press
	Añade los dos puntos a los campos hora
*/
function CampoHora_Press(IdCampo)
{
	var ValorTotal = new String();
	var Valor = new String();
	var Longitud;
	var objCampoHora;

	objCampoHora = document.all[IdCampo];
	ValorTotal = objCampoHora.value;

	// Obtengo el valor de la tecla presionada
	Valor = event.keyCode;

	// Unicamente si es un numero lo chequeo
	if ((Valor > 47) && (Valor < 58)) {
		Longitud = ValorTotal.length;
		
		switch (Longitud) {
			case 2:
				/* 
				 Termino de tipear los digitos correspondientes al dia.
				 Valido que sea un numero valido para el dia
				*/
				objCampoHora.value = objCampoHora.value + ':';
				break;
			case 5:
				/* 
				 Termino de tipear los digitos correspondientes al mes.
				 Valido que sea un numero valido para el dia, tomando en cuenta el mes
				*/
				objCampoHora.value = objCampoHora.value + ':';
				break;
			case 8:
				event.returnValue = false;
			default:			
		}
	}
	else {
		// No dejo ingresar el caracter inv lido
		event.returnValue = false;
	}

	return false;
}


/*
	formatearNum
	Formatea un dato numerico
*/
function formatearNum(auxStrNum, errpage){
	var result = "";
	var szNumero = "" + auxStrNum;
	var len = szNumero.length;
	var decSep = false;
	var i;

	for (i=(len-1); i>=0; i--) {
		if (!isNaN(szNumero.substr(i,1))) {
			result = szNumero.substr(i,1) + result;
		}
		else {
			if ((szNumero.substr(i,1) == ",") && !decSep) {
				result = szNumero.substr(i,1) + result;
				decSep = true;
			}
			if (szNumero.substr(i,1) != "." && szNumero.substr(i,1) != ",") {
				result = szNumero.substr(i,1) + result;
			}
		}
	}
	return result;
}

/*
	getLongDate()
	Genera la fecha en formato largo
*/
function getLongDate() {

	var date = new Date();
	var day = "";
	var month = "";
	var year = "";

	day = date.getDay();
	month = date.getMonth();
	year = date.getFullYear();
	
	var d;
	var m;
	var y;
	
	switch (day) {
	case 0:
		d = obtenerEtiqueta(szuil, "IDS_DOM");
		break;
	case 1:
		d = obtenerEtiqueta(szuil, "IDS_LUN");
		break;
	case 2:
		d = obtenerEtiqueta(szuil, "IDS_MAR");
		break;
	case 3:
		d = obtenerEtiqueta(szuil, "IDS_MIE");
		break;
	case 4:
		d = obtenerEtiqueta(szuil, "IDS_JUE");
		break;
	case 5:
		d = obtenerEtiqueta(szuil, "IDS_VIE");
		break;
	case 6:
		d = obtenerEtiqueta(szuil, "IDS_SAB");
		break;
	}
	
	switch (month) {
	case 0:
		m = obtenerEtiqueta(szuil, "IDS_ENERO");
		break;
	case 1:
		m = obtenerEtiqueta(szuil, "IDS_FEBRERO");
		break;
	case 2:
		m = obtenerEtiqueta(szuil, "IDS_MARZO");
		break;
	case 3:
		m = obtenerEtiqueta(szuil, "IDS_ABRIL");
		break;
	case 4:
		m = obtenerEtiqueta(szuil, "IDS_MAYO");
		break;
	case 5:
		m = obtenerEtiqueta(szuil, "IDS_JUNIO");
		break;
	case 6:
		m = obtenerEtiqueta(szuil, "IDS_JULIO");
		break;
	case 7:
		m = obtenerEtiqueta(szuil, "IDS_AGOSTO");
		break;
	case 8:
		m = obtenerEtiqueta(szuil, "IDS_SEPTIEMBRE");
		break;
	case 9:
		m = obtenerEtiqueta(szuil, "IDS_OCTUBRE");
		break;
	case 10:
		m = obtenerEtiqueta(szuil, "IDS_NOVIEMBRE");
		break;
	case 11:
		m = obtenerEtiqueta(szuil, "IDS_DICIEMBRE");
		break;
	}
	
	var szFecha = d + ", " + date.getDate() + " " + obtenerEtiqueta(szuil, "de") + " " + m + " " + obtenerEtiqueta(szuil, "de") + " " + year + ".";
	return szFecha;
}



/*
	irTarget
	Setea el target al formulario
*/
function irTarget(strTarget) {
	document.formu.target=strTarget;
}


/*
	Function: obtenerEtiqueta
	Obtiene una cadena del archivo de recursos de cadena (Cliente: XML Data Island)
*/
function obtenerEtiqueta(strIdioma, strEtiqueta) {
	
	var szEtiqueta = strEtiqueta
	if (strIdioma == "" || strEtiqueta == "")
		return szEtiqueta;
		
	if (!document.all) 
		return szEtiqueta;

	var xml = xmlStringTable.documentElement;
	if (xml != null) 
	{
		var qs = '//language[@id="' + strIdioma + '"]/text[@id="' + strEtiqueta + '"]';
		var node = xml.selectSingleNode(qs);
		if (node != null)
			szEtiqueta = node.text;
	}
	return szEtiqueta;	

}

