//Funciones comunes de Portel de validacion de formularios


function EsNumero(cadena)
{
	if (cadena!=""){
		k="+-.,1234567890"
		if (k.indexOf(cadena.charAt(0)) == -1) return false;
		for(j=1;j<cadena.length;j++)
			if (k.indexOf(cadena.charAt(j)) < 2) return false;
		return true;
	}
	else
		return false;
}


function EsCadena(cadena)
{
	if (cadena==" ") return false;
	if (cadena=="  ") return false;
	if (cadena.length==0) return false;
	return true;
}

function EsEmail(cadena)
{
	if (cadena!=""){
		if (cadena.indexOf("@") > -1){
			if (cadena.indexOf(".") > -1){
				return true;
			}
			return false;
		}	
		return false;
	}
	else
		return false;
}

function ComprobarNumero(campo)
{
	if (!EsNumero(campo.value))
	{
		alert(TextoNoNumerico);
		campo.focus();
		return false;
	}
	else
		return true;
}
function ComprobarCadena(campo)
{
	if (!EsCadena(campo.value))
	{
		alert(TextoCadenaVacia);
		campo.focus();
		return false;
	}
	else
	  return true;
}

function comprobar(){
for(i=0;i<11;i++){
	if(formu.estado[i].checked){
		nombre=formu.estado[i].value
		alert("Su situacion actual es "+nombre)
		}
	}
}

function EsFechaValida(Campo)
{
	var Fecha;
	var Resultado;
	var Separador;
	var PosicionSeparador1;
	var PosicionSeparador2;
	var Dia;
	var Mes;
	var Ano;
	var objFecha;
	
	var form=document.Seleccion;
   	Fecha=Campo;

	Resultado = true;

	// **** Comprueba el tipo de separador utilizado ****
	if ((Fecha.indexOf("/") != -1) && (Fecha.indexOf("-") == -1)){
  	//**** La fecha es en formato 99/99/99 ****
  		Separador="/";
	}
	//Solo si se acepta que las fechas vengan con "-"
	//else if ((Fecha.indexOf("/") == -1) && (Fecha.indexOf("-") != -1)){
	//**** La fecha es en formato 99-99-99 *****
  	//	Separador="-";
	//} 
	else {
  	//**** La fecha es erronea ****
  		Resultado = false;
	}

	//**** Si no ha habido error separa dia, mes y año ****
	if (Resultado == true)
	{
  		PosicionSeparador1 = Fecha.indexOf(Separador);
  		PosicionSeparador2 = Fecha.indexOf(Separador, PosicionSeparador1 + 1);
  		if (Fecha.indexOf(Separador, PosicionSeparador2 + 1 ) != -1){
   	//**** Ha encontrado otro separador. La fecha es erronea ****
   		Resultado = false;
  		} 
  		else {
  		//**** Cogemos el día, mes y año en variables separadas. Esto vale para formato dd/mm/aaaa
  		
		var AFecha;
		AFecha = Fecha.split(Separador);
		Dia = AFecha[0];
		Mes = AFecha[1];
		Ano = AFecha[2];

		//****se crea un objeto de tipo Date para que luego se puedan comparar
		objFecha = new Date(Ano,Mes-1,Dia);
		//alert(objFecha);
  		}
	}
	//Si no ha habido error comprueba que dia, mes y año sean correctos
	if (Resultado == true)
	{
		if ( (parseInt(Mes,10)>0) && (parseInt(Mes,10)<13) && (parseInt(Dia,10)>0))
  		{
   		if ((parseInt(Mes,10)==2))
   		{
    			if ((parseInt(Ano,10)%4==0) || (parseInt(Ano,10)%100==0))
    			//**** Comprobación del año bisiesto****
    			{
     				if (parseInt(Dia,10)>29) Resultado=false;
    			}
    			else
    			{
     				if (parseInt(Dia,10)>28) Resultado=false;
    			}
   		}
   		else
   		{
    			if ((parseInt(Mes,10)==4) || (parseInt(Mes,10)==6) || (parseInt(Mes,10)==9) || (parseInt(Mes,10)==11))
    			{
     				if (parseInt(Dia,10)>30) Resultado=false;
    			}
    			else
    			{
     				if (parseInt(Dia,10)>31) Resultado=false
    			}
   		}
   
   		if ( (Ano.length!=4) && (Ano.length!=2))
    		//**** El año es erroneo ****
     		Resultado = false;
   	}
  	else
   		Resultado=false;
  	}
	//**** Devolvemos el resultado, true o false, correcta o incorrecta.****
	if (Resultado)	Resultado = objFecha;
	return Resultado;
}

function EsHoraValida(valor_hora)
{
	var hora;
	var minutos;
	var vecHora= new Array();
	var valor_campo = valor_hora;
	
	if (valor_campo.indexOf(":") > -1)
	{
		vecHora = valor_campo.split(":");
		if (vecHora.length == 2){
			hora = vecHora[0];
			minutos = vecHora[1];
			if (hora == ''){
				return false;
			}			
			if (minutos == ''){
				return false;
			}			
			if (isNaN(hora)){
				return false;
			}
			if (isNaN(minutos)){	
				return false;
			}
			if ((parseInt(hora) < 0) || (parseInt(hora) > 24)){
				return false;					
			}
			if ((parseInt(minutos) < 0) || (parseInt(minutos) > 60)){
				return false;					
			}
			return true;
		}
		else{
			return false;				
		}

	}
	else
		return false;
}

function EstaEnIntervalo(valor, valor_inferior, valor_superior)
{
	
	if (valor == ''){
		return false;
	}
	if ((valor != '') && (isNaN(valor))){
		return false;
	}		
	if ((valor_inferior != '') && (isNaN(valor_inferior))){
		return false;
	}	
	if ((valor_superior != '') && (isNaN(valor_superior))){
		return false;
	}	
	if ((valor_inferior != '') && (valor_superior != '')){
		if ((parseInt(valor_inferior) <= parseInt(valor)) && (parseInt(valor) <= parseInt(valor_superior))){
			return true;					
		}	
		return false;
	}
	if ((valor_inferior != '') && (valor_superior == '')){
		if (parseInt(valor_inferior) <= parseInt(valor)){
			return true;					
		}	
		return false;
	}
	if ((valor_inferior == '') && (valor_superior != '')){
		if (parseInt(valor) <= parseInt(valor_superior)){
			return true;					
		}	
		return false;
	}		
	return false;
}


function EsLetra(cadena)
{
	if (cadena!=""){
		k="abcdefghijklmnñopqrstuvwxyzABCDEFGHIJKLMNÑOPQRSTUVWXYZ"
		if (k.indexOf(cadena.charAt(0)) == -1) return false;
		for(j=1;j<cadena.length;j++)
			if (k.indexOf(cadena.charAt(j)) < 2) return false;
		return true;
	}
	else
		return false;
}


function esNIF(iNumero,sLetra){	
	var iResultado
	var iletra
	var Letra
	Letra=sLetra.toUpperCase();

	iResultado=parseInt(iNumero/23);
	iResultado=iResultado*23;
	iResultado=iNumero-iResultado;

	switch(iResultado){
		case 0:
			iLetra="T";
			break;
		case 1:
			iLetra="R";
			break;
		case 2:
			iLetra="W";
			break;
		case 3:
			iLetra="A"
			break;
		case 4:
			iLetra="G"
			break;
		case 5:
			iLetra="M"
			break;
		case 6:
			iLetra="Y"
			break;
		case 7:
			iLetra="F"
			break;
		case 8:
			iLetra="P"
			break;
		case 9:
			iLetra="D"
			break;
		case 10:
			iLetra="X"
			break;
		case 11:
			iLetra="B"
			break;
		case 12:
			iLetra="N"
			break;
		case 13:
			iLetra="J"
			break;
		case 14:
			iLetra="Z"
			break;
		case 15:
			iLetra="S"
			break;
		case 16:
			iLetra="Q"
			break;
		case 17:
			iLetra="V"
			break;
		case 18:
			iLetra="H"
			break;
		case 19:
			iLetra="L"
			break;
		case 20:
			iLetra="C"
			break;
		case 21:
			iLetra="K"
			break;
		case 22:
			iLetra="E"
			break;
		case 23:
			iLetra="T"
			break;
		}
	if(iLetra == Letra){
		return true;
	}
	else{
		return false;
	}	
}