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') || (document.forms[0].elements[j].type=='password') || (document.forms[0].elements[j].type=='file') ){
      		estado = validaInput(document.forms[0].elements[j])
	     		if (estado!="true")
      			document.forms[0].elements[j].focus()
      	}
      	if (document.forms[0].elements[j].type=='hidden'){
      		estado = validaHidden(document.forms[0].elements[j])
      	}
      	if (document.forms[0].elements[j].type=='textarea'){
      	 	estado = validaTextArea(document.forms[0].elements[j])
	     		if (estado!="true")
      			document.forms[0].elements[j].focus()
      	}
      }
      return estado
}

function validaInput(elemento)
{
	if ((elemento.requerido=='si') && (elemento.value==''))
	{
		if (elemento.tipovalidacion!='fecha')
		{
			alert("Debe rellenar el campo " + elemento.titulo )
		}else{
			alert("Debe rellenar la fecha" )
		}
		return 'false'
	}

	if ((elemento.requerido=='si') || (elemento.value!='')){
		switch (elemento.tipovalidacion)
		{
			case "email":
			      email=elemento.value
				if (email.length < 5){
					alert("Por favor, rellene el " + elemento.titulo +" E-Mail correctamente");
		   			return 'false'
		   		}
		   		// si tiene un blanco o una #
				if ((email.indexOf("#") !=-1) || (email.indexOf(" ") !=-1) ) {
					alert("Por favor, rellene el " + elemento.titulo +" E-Mail correctamente");
		   			return 'false'
				}
				//que tenga arroba y punto
		   		if ((email.indexOf("@") ==-1) || (email.indexOf(".") ==-1))   {
					alert("Por favor, rellene el " + elemento.titulo +" E-Mail 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":
				var oRegExp = new RegExp("[^0-9]","i");
				if(oRegExp.test(elemento.value)){
					alert("El campo'" + elemento.titulo + "' debe ser un número entero. Formato num");
					return 'false';
				}
				break;
			case 	"alfanumerico":
				break;
			case 	"imagen":
				break;
			case 	"adjunto":
				break;
			case 	"documento":
				break;
			default:
				//alert(elemento.tipovalidacion)
		}
	}
	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 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;
		case 	"adjunto":
			if (elemento.value==elemento.valorNeutro)
			{
	    			alert("Por favor, adjunte el elemento " + elemento.titulo );
	    			return 'false'
			}
		case 	"editor":
			if (elemento.value=="")
			{
	    			alert("Por favor, rellene el texto " + elemento.titulo );
	    			return 'false'
			}


		}
	}
	return 'true'
}
