//FUNCIONES DE VALIDACION
function Validar(field,proceso,extra){
	var url = "";
	var campo = "";
	var param_extra = "";

	extra=""+extra+"";
	if (extra != 'undefined'){
		//EXISTE
		param_extra = extra
	}

	//Tiene nombre, asume nombre del form donde se encuentra el campo.
	
	campo = field.sourceIndex;
	frame = "top.frames."+self.name;

	//Direccion url que se cargará en el frame invisible.
	url = "../pl/"+proceso+"?dato="+field.value+param_extra+"&frame="+frame+"&campo="+campo;

	top.frames.invisible.location.href = url
}

//VALIDACION DE UNA FECHA

var FechaCorrecta = 1
function ValidarFecha(field,proceso,extra){
	var cadena = field.value.toUpperCase();
if (cadena!='') {
	var separador1 = "-";
	var separador2 = "/";
	var sep = separador2;
	var dia = "";
	var mes = "";
	var ano = "";
	
	
	// Verifica dia
	var index2_dd = cadena.indexOf(sep);
	
	if (index2_dd==-1){
		var sep = separador2;
		var index2_dd = cadena.indexOf(sep);
	}

	//Pregunto si el primer caracter es un guion, envio error
	if (cadena.substring(0,1)==separador1 || cadena.substring(0,1)==separador2){
		DiaError();
	}
	
	if (index2_dd==-1){
		//o el dia esta mal escrito o puso ddmmyy  -  ddmmyyyy
		if (cadena.length==6){
			cadena = cadena.substring(0,2)+ sep +cadena.substring(2,4)+ sep +cadena.substring(4,6);
			index2_dd = 2;
		}else{
			if (cadena.length==8){			
				cadena = cadena.substring(0,2)+ sep +cadena.substring(2,4)+ sep +cadena.substring(4,8);
				index2_dd = 2;
			}else{
				DiaError();
			}
		}
	}
	
	var dia = cadena.substring(0,index2_dd);
	if (dia.length==3){
		DiaError();
	}else{
		var dia = parseInt(dia,10);

		if (dia<1 || dia>31){
			DiaError();
		}
	}
	
	
	//Verifica mes
	
	//Separa dd-mon de dd-mm	
	var index1_mm = index2_dd+1;
	var index2_mm = cadena.indexOf(sep,index1_mm);
	
	if (index2_mm==-1){
		MesError();
	}else{
		var mes = cadena.substring(index1_mm,index2_mm).toUpperCase();

		if (mes.length==3){
			//ES MON
			if (ValidarMon(mes)=="Error"){
				MesError();
			}
		}else{
			//ES MM
			if (mes.substring(0,1)=="0"){
				mes = mes.substring(1,mes.length)
			}
			
			if (parseInt(mes,10)<1 || parseInt(mes,10)>12){
				MesError();
			}else{
				
				var mes = GetMon(parseInt(mes,10))
				if (mes==""){
					MesError();
				}
			}
		}

	
	}
	
	//Verifica ano
	var index1_yy = index2_mm+1;
	var index2_yy = cadena.length;
	
	if (index2_mm==-1){
		AnoError();
	}else{
		var ano = cadena.substring(index1_yy,index2_yy);
		if (ano.length<1 || ano.length>4){
			AnoError();
		}else{
			if (ano.length<=2){
				if (ano.substring(0,1)=="0"){
					ano = ano.substring(1,ano.length)
				}				
				
				var ano = parseInt(ano,10);
				if (ano>50){
					ano = "19"+ano
				}

				if (ano>=10 && ano<51){
					ano = "20"+ano
				}
				if (ano<10){
					ano = "200"+ano
				}
				
			}

			var ano = parseInt(ano,10);
			if (ano<1 || ano>9999){
				AnoError();
			}
		}
	}
	
	
	if (FechaCorrecta==1){
		FechaCorrecta=1
		if (mes <= 9) {mes = "0"+mes};
		if (dia <= 9) {dia = "0"+dia};
		var salida = dia+"/"+mes+"/"+ano;
		field.value = salida;
		
		proceso=""+proceso+"";
		if (proceso != 'undefined'){
			//EXISTE
			Validar(field,proceso,extra);
		}
	}else{
		FechaCorrecta=1;
		field.focus();
		field.select();
	}
}
}
	
function ValidarMon(cadena){
	var meses = "-JAN-FEB-MAR-APR-MAY-JUN-JUL-AUG-SEP-OCT-NOV-DEC-";
	if (meses.indexOf(cadena.toUpperCase())==-1){
		return "Error"
	}else{
		return "Ok"
	}
}

function GetMon(num){
	var meses = "-1-2-3-4-5-6-7-8-9-10-11-12-";
	for (var x=1;x<=num;x++){
		var index1 = meses.indexOf("-",index1+1);
		var index2 = meses.indexOf("-",index1+1);
	}
	
	return meses.substring(index1+1,index2)
}

function DiaError(){
	if (FechaCorrecta==1){
		FechaCorrecta = 0
		alert('El día ingresado es incorrecto');
	}
}
function MesError(){
	if (FechaCorrecta==1){
		FechaCorrecta = 0
		alert('El mes ingresado es incorrecto');
	}
}
function AnoError(){
	if (FechaCorrecta==1){
		FechaCorrecta = 0
		alert('El año ingresado es incorrecto');
	}
}

function SendForm(field,proceso,buttons){
	buttons = ""+buttons+""
	var theform = field.form
	var url = proceso
	for (var x=0;x<theform.elements.length;x++){
		if (theform.elements[x].name.substring(theform.elements[x].name.lastIndexOf("-"),theform.elements[x].name.length)!="_desc"){
		
					if (url == proceso){
						var sep = "?"
					}else{
						var sep = "&"
					}

					if (buttons == 'true' || theform.elements[x].type!="button" && theform.elements[x].type!="reset"){
						url += sep + theform.elements[x].name +"="+ theform.elements[x].value;
					}
		}
	}
	document.location.href=url;
}
function ValidarNumero(field){
if (isNaN(field.value)){
        alert('Valor incorrecto');
        field.focus();
        return;
        }
}

