/************************************************************************************
Autor: Consultia, Carlos García
Fecha: 09-2002
Descripción: Devuelve el número de días de un mes dado, de un año concreto
Parámetros que recibe:
	intMes: Mes
	intAno: Año
Parámetros que devuelve: Los días correspondientes a ese mes y ese año
************************************************************************************/
function DiasMes(intMes, intAno){
	var aux;
	if (intMes == 1 || intMes == 3 || intMes == 5 || intMes == 7 || intMes == 8 || intMes == 10 || intMes == 12)
		aux = 31;
	else
		if (intMes == 2)
			if (intAno%4 == 0 && ( (intAno%400 == 0) || !(intAno%100 == 0) ) )
				aux = 29;
			else
				aux = 28;
		else
			aux = 30;
	return aux;
}

/************************************************************************************
Autor: Consultia, Carlos García
Fecha: 01-2002
Descripción: Valida una fecha con formato dd/mm/aaaa
Parámetros que recibe: El string con la fecha
	intMes: Mes
	intAno: Año
Parámetros que devuelve:
	0: La validación ha sido correcta
	1: Fallo en el año
	2: Fallo en el mes
	3: Fallo en el día
	4: Error de formato (dd/mm/aaaa)
************************************************************************************/
function ValidaFecha(strFecha){
	var intDia;
	var intMes;
	var intAno;
	var intResultado;

	intResultado = 0;
	if (strFecha.length != 10){
		intResultado = 4;
	}
	else{
		if (strFecha.charAt(2) != "/" || strFecha.charAt(5) != "/"){
			intResultado = 4;
		}
		else{
			intDia = strFecha.split("/")[0];
			if (isNaN(intDia)){
				intResultado = 3;
			}
			else{
				intMes = strFecha.split("/")[1];
				if (isNaN(1*intMes)){
					intResultado = 2;
				}
				else{
					intAno = strFecha.split("/")[2];
					if (isNaN(1*intAno)){
						intResultado = 1;
					}
					else{
						if (intMes > 12){
							intResultado = 2;
						}
						else{
    							if (intDia > DiasMes(intMes, intAno)){
        							intResultado = 3;
    							}
						}
					}
				}
			}
		}
	}
	return intResultado;
}

function ValidarCampoFecha(objCampo){
	var resultado;
	resultado = 0;
	switch (ValidaFecha(objCampo.value)){
		case 1:
	 		alert('Año erróneo');
	 		objCampo.focus();
	 		resultado = 1;
			break;
		case 2:
	 		alert('Mes erróneo');
	 		objCampo.focus();
	 		resultado = 2;
			break;
		case 3:
	 		alert('Día erróneo');
	 		objCampo.focus();
	 		resultado = 3;
			break;
		case 4:
	 		alert('Formato erróneo');
	 		objCampo.focus();
	 		resultado = 4;
			break;
	}
	return resultado;
}

function Trim(cad){
	var aux="";
	var i,lg = cad.length;
	for (;lg>0 && cad.charAt(lg-1)<=' ';lg--);
	for (i=0;i<lg && cad.charAt(i)<=' ';i++);
	for (;i<lg;i++)
		aux = aux + cad.charAt(i);
	return aux;
}

