function Left(str, n){
	if (n <= 0)
	    return "";
	else if (n > String(str).length)
	    return str;
	else
	    return String(str).substring(0,n);
}

function Right(str, n){
    if (n <= 0)
       return "";
    else if (n > String(str).length)
       return str;
    else {
       var iLen = String(str).length;
       return String(str).substring(iLen, iLen - n);
    }
}

function ConvierteFecha(fecha){
	var trozos = new Array();
	trozos = fecha.split("/");
	trozos.reverse();
	return trozos.join("-");
}

function DesConvierteFecha(fecha){
	var trozos = new Array();
	trozos = fecha.split("-");
	trozos.reverse();
	return trozos.join("/");
}

function ObtenerPeticion(){
	var req = false;
	try{
		req = new XMLHttpRequest(); /* p.e. Firefox */
	}
	catch(err1){
		try{
			req = new ActiveXObject("Msxml2.XMLHTTP");
			/* algunas versiones IE */
		}
		catch(err2){
			try{
				req = new ActiveXObject("Microsoft.XMLHTTP");
				/* algunas versiones IE */
			}
			catch(err3){
				req = false;
			}
		}
	}
	return req;
}

function EnviarPeticion(LaPagina,LasVariables,LaFuncion,ObjetoPeticion,Capa,Imagen){
	//aunque es POST me da problemas la cache
	var Aleatorio = parseInt(Math.random()*999999999999999);
	if(LasVariables==""){
		LasVariables+="rand="+Aleatorio;
	}else{
		LasVariables+="&rand="+Aleatorio;
	}
	ObjetoPeticion.open("POST", LaPagina, true);
	ObjetoPeticion.onreadystatechange = function() {
		if(ObjetoPeticion.readyState == 4) {
			if(ObjetoPeticion.status == 200) {
				//Acciones
				RespuestaXML = ObjetoPeticion.responseXML;
				eval(LaFuncion+"(RespuestaXML)");
			}else{
				alert("Ha ocurrido un error: " + ObjetoPeticion.statusText);
			}
		}else{     // si readyState ha cambiado
			// pero readyState <> 4
			document.getElementById(Capa).innerHTML = '<table width="100%" height="100%"><tr><td align="center" valign="middle"><img src="'+Imagen+'" border="0"></tr></td></table>';
		}
	}
	ObjetoPeticion.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	ObjetoPeticion.send(LasVariables);
}

function Redondear(numero)
{
	var original=parseFloat(numero);
	var result=Math.floor(original*100)/100 ;
	return result;
}

//validar fecha

			function esDigito(sChr){
				var sCod = sChr.charCodeAt(0);
				return ((sCod > 47) && (sCod < 58));
			}

			function valSep(fecha){
				var bOk = false;
				//bOk = bOk || ((fecha.charAt(2) == "-") && (fecha.charAt(5) == "-"));
				bOk = bOk || ((fecha.charAt(2) == "/") && (fecha.charAt(5) == "/"));
				return bOk;
			}

			function finMes(fecha){
				var nMes = parseInt(fecha.substr(3, 2), 10);
				var nRes = 0;
				switch (nMes){
					case 1: nRes = 31; break;
					case 2: nRes = 29; break;
					case 3: nRes = 31; break;
					case 4: nRes = 30; break;
					case 5: nRes = 31; break;
					case 6: nRes = 30; break;
					case 7: nRes = 31; break;
					case 8: nRes = 31; break;
					case 9: nRes = 30; break;
					case 10: nRes = 31; break;
					case 11: nRes = 30; break;
					case 12: nRes = 31; break;
				}
				return nRes;
			}

			function valDia(fecha){
				var bOk = false;
				var nDia = parseInt(fecha.substr(0, 2), 10);
				bOk = bOk || ((nDia >= 1) && (nDia <= finMes(fecha)));
				return bOk;
			}

			function valMes(fecha){
				var bOk = false;
				var nMes = parseInt(fecha.substr(3, 2), 10);
				bOk = bOk || ((nMes >= 1) && (nMes <= 12));
				return bOk;
			}
			function valAno(fecha){
				var bOk = true;
				var nAno = fecha.substr(6);
				bOk = bOk && ((nAno.length == 2) || (nAno.length == 4));
				if (bOk){
					for (var i = 0; i < nAno.length; i++){
						bOk = bOk && esDigito(nAno.charAt(i));
					}
				}
				return bOk;
			}

			function ValidarFecha(fecha){
				if(fecha.indexOf("/")==-1) return false;
				var partes=fecha.split("/");				
				if (partes[0].length==1) partes[0] = "0" + partes[0];
				if (partes[1].length==1) partes[1] = "0" + partes[1];
				fecha=partes.join("/");

				var bOk = true;
				if ((fecha != "")&&(fecha != "00/00/0000")){
					bOk = bOk && (valAno(fecha));
					bOk = bOk && (valMes(fecha));
					bOk = bOk && (valDia(fecha));
					bOk = bOk && (valSep(fecha));
					if (!bOk){
						return false;
					}else{
						return true;
					}
				}
				if(fecha=="00/00/0000") return true;
			}

			//fin validar fecha
