function validarFicha(){
	   estado = 'true'
	   // valido los tipos text y textarea
      for (j=0;j<document.forms[0].elements.length && estado == 'true';j++){
      	// valido los input
      	if (document.forms[0].elements[j].type=='text'){
      		estado = validaInput(document.forms[0].elements[j])
      	}
      	if (document.forms[0].elements[j].type=='textarea'){
      	 	estado = validaTextArea(document.forms[0].elements[j])
      	}
      	if(document.forms[0].elements[j].type=="checkbox"){
			estado = ValidarCheckBox(document.forms[0].elements[j])
		}
      }
      return estado
}

function validaInput(elemento){
	if ((elemento.requerido=='si') && (elemento.value=='')){
		switch (elemento.tipovalidacion){
			case "fecha":
				alert("Debe rellenar la " + elemento.titulo  )
				return 'false'
				break;
			default:
				alert("Debe rellenar el campo " + elemento.titulo )
				return 'false'
		}
	}

	if ((elemento.requerido=='si') || (elemento.value!='')){			
		switch (elemento.tipovalidacion){
			case "email":
				var email=elemento.value;
				if (email.length < 5){
					alert("Por favor, rellene el " + elemento.titulo +" correctamente");
		   			return 'false'
		   		}
		   		// si tiene un blanco o una #
				if ((email.indexOf("#") !=-1) || (email.indexOf(" ") !=-1) ) {
					alert("Por favor, rellene el " + elemento.titulo +" correctamente");
		   			return 'false'
				}
				//que tenga arroba y punto
		   		if ((email.indexOf("@") ==-1) || (email.indexOf(".") ==-1))   {
					alert("Por favor, rellene el " + elemento.titulo +" correctamente");
		   			return 'false'
				}
			break;
			case "euro":
				if (isNaN(Number(elemento.value))){
					alert("El campo '" + elemento.titulo + "' debe ser un numero. Formato num.num");
					return 'false'
				}
				//elemento.value = Number(elemento.value) * 100
			break;
			case "fecha":
				
			break;
			case "numerico":
				if (isNaN(Number(elemento.value))){
					alert("El campo '" + elemento.titulo + "' debe ser un numero. Formato num.num");
					return 'false'
				}
			break;
			case "entero":
				if (isNaN(Number(elemento.value))){
					alert("El campo '" + elemento.titulo + "' debe ser un numero sin decimales.");
					return 'false'
				}
				else{
					if (parseInt(elemento.value,10)!=elemento.value){
						alert("El campo '" + elemento.titulo + "' debe ser un numero sin decimales.");
						return 'false'
					}
				}
			break;
			case 	"dni":
				if (elemento.value.length < 7){
					alert("Por favor, introduzca su DNI");
					return 'false';
				}else{
					if(!validarLetraDNI(elemento.value)){
						alert("Por favor, introduzca la letra de su NIF correctamente");
						return 'false';
					}
				}
				break;
			case 	"alfanumerico":
				break;
			case 	"imagen":
				break;
			case 	"adjunto":
				break;
			case 	"documento":
				break;
			case 	"undefined":
				break;
			default:
				//alert(elemento.tipovalidacion)
		}
	}
	return 'true'
}

function ValidarCheckBox(elemento){
	
	var sClase = elemento.className;
	var bChecked = elemento.checked;
    var sTitulo = elemento.title;
	var ID = elemento.id
	var sRequerido = elemento.requerido;

	if (sRequerido == 'si' && !bChecked){
		 if(ID="privacidad")
			 alert("Debe aceptar las condiciones legales.");
		 else
			 alert("El campo "+sTitulo+"' es un dato obligatorio.");
	 return false;
	}
	
	return 'true'

}

function validaHidden(elemento)
{
	if ((elemento.requerido=='si'))
	{
		switch (elemento.tipovalidacion)
		{
		case 	"contenido":
	    		if (eval("document.forms[0]."+elemento.name+"_contenido.value")=="")
	    		{
	    			alert("Por favor, rellene el " + elemento.titulo + " correctamente");
	    			return 'false'
	    		}
			break;
		}
	}
	return 'true'
}

function validaTextArea(elemento)
{
	if ((elemento.requerido=='si') && (elemento.value==''))
	{
		alert("Debe rellenar el campo " + elemento.titulo )
		return 'false'
	}
	if ((elemento.max_car!='') && ((elemento.value).length>elemento.max_car))
	{
		alert("La longitud del campo " + elemento.titulo + " no puede sobrepasar los " + elemento.max_car +" caracteres" )
		return 'false'
	}
	return 'true'
}

function validaFicha(){
   if(document.forms['fmantenimiento'].destacado[0].checked==true)
   	 if(confirm("¿Desea marcar esta noticia como destacado del Home?\nEn caso afirmativo, el destacado actual será sustituido por este"))
	 	alert("quesi");
}

function validarLetraDNI(dni){
	var letra = dni.substr(dni.length-1,dni.length);
	var valorDNI = dni.substr(0,dni.length-1);
	var resto=(valorDNI % 23);
    	var letra_NIF;

        switch(resto){
            case 0:
                letra_NIF = "T";
		break;
            case 1:
                letra_NIF = "R";
		break;
            case 2:
                letra_NIF = "W";
		break;
            case 3:
                letra_NIF = "A";
		break;
            case 4:
                letra_NIF = "G";
		break;
            case 5:
                letra_NIF = "M";
		break;
            case 6:
                letra_NIF = "Y";
		break;
            case 7:
                letra_NIF = "F";
		break;
            case 8:
                letra_NIF = "P";
		break;
            case 9:
                letra_NIF = "D";
		break;
            case 10:
                letra_NIF = "X";
		break;
            case 11:
                letra_NIF = "B";
		break;
            case 12:
                letra_NIF = "N";
		break;
            case 13:
                letra_NIF = "J";
		break;
            case 14:
                letra_NIF = "Z";
		break;
            case 15:
                letra_NIF = "S";
		break;
            case 16:
                letra_NIF = "Q";
		break;
            case 17:
                letra_NIF = "V";
		break;
            case 18:
                letra_NIF = "H";
		break;
            case 19:
                letra_NIF = "L";
		break;
            case 20:
                letra_NIF = "C";
		break;
            case 21:
                letra_NIF = "K";
		break;
            case 22:
                letra_NIF = "E";
		break;
        }
	if(letra.toUpperCase()!=letra_NIF){
		return false;
	}
	return true;
}



