//nombrecampo
//obligatorio-noobligatorio
//texto-fecha-hora-cp-telefono
OBLIG="oblig";
TEXT="text";
MAIL="mail";
INTEGER="integer";
DECIMAL="decimal";
DATE="date";
TIME="time";
PC="pc";
TELEPHONE="telephone";




function checkForm(miform)
{
/*	mensaje="";
	for(i=0;i<miform.elements.length;i++)
	{
		//alert(mensaje);
		//alert(miform.elements[i].id);
		valor=miform.elements[i].value;

		if(miform.elements[i].validation) // si no esta vacio el id sigo
		{
			alert(miform.elements[i].validation);

			arraycontenido=miform.elements[i].validation.split("__");

			if(arraycontenido.length==3)//esto confirma que es de los mios
			{
				//alert(arraycontenido[0]);
				//(arraycontenido[1]);
				//alert(arraycontenido[2]);
				nombre=arraycontenido[0];
				obligatorio=arraycontenido[1];
				tipo=arraycontenido[2];
				//alert("estoy "+obligatorio+"_"+valor+"_"+tipo);
				if(obligatorio.toLowerCase()==OBLIG || valor!="")// ahora es cuando actuo
				{
					aux=valor;

					while(aux.indexOf(" ")!=-1)
						aux=aux.replace(" ","");
					//alert(tipo+" "+valor);
					if(aux ==""  )
					{
						mensaje+="El campo "+nombre+" debe ser rellenado\n";
					}
					else
					{
							if(tipo.toLowerCase()==TEXT)
							{			
								
							}
							if(tipo.toLowerCase()==DATE)
							{
								if(!checkDate(valor))
									mensaje+="El campo "+nombre+" debe ser una fecha valida (dd/mm/aaaa)\n";
							}

							if(tipo.toLowerCase()==TIME)
							{
								if(!comprobarHora(valor))
									mensaje+="El campo "+nombre+" debe ser una hora valida \n";
							}

							if(tipo.toLowerCase()==PC)
							{
								if(!comprobarCP(valor))
									mensaje+="El campo "+nombre+" debe ser un codigo postal valido \n";
							}

							if(tipo.toLowerCase()==PHONE)
							{
								if(!checkPhone(valor))
									mensaje+="El campo "+nombre+" debe ser un numero de telefono válido \n";
							}
							if(tipo.toLowerCase()==INTEGER)
							{
								if(!checkInteger(valor))
									mensaje+="El campo "+nombre+" debe ser un numero entero \n";
							}
							if(tipo.toLowerCase()==DECIMAL)
							{
								if(!checkDecimal(valor))
									mensaje+="El campo "+nombre+" debe tener un numero entero o decimal (el separador decimal es el '.') \n";
							}
							if(tipo.toLowerCase()==MAIL)
							{
								if(!comprobarMail(valor))
									mensaje+="El campo "+nombre+" debe tener un email valido.\n";
							}
					}


				}

			}
		}
	}
	//alert(mensaje);
	if(mensaje!="")
		alert(mensaje);
	else
		miform.submit();*/
	//TODO hay que hacer qu efunciones este emtodo
	miform.submit();
}



//-------- devuelve true si todo esta correcto y false en caso de haber un error
function checkMail(cadena)
{
					nota=0
					arroba0=cadena.indexOf("@",0)
					arroba1=cadena.lastIndexOf("@", cadena.length )
					punto0=cadena.indexOf(".",0)
					punto1=cadena.lastIndexOf(".", cadena.length )
					//solo una arroba
					if(arroba0!=arroba1)
						nota=1
					// arroba no primera
					if(arroba0<1)
						nota=1
					//arroba antes que el ultimo punto
					if(arroba0>punto1)
						nota=1
					// la arroba no esta pegasa al punto
					if(cadena.charAt(arroba0-1)=='.' || cadena.charAt(arroba0+1)=='.')
						nota=1
					//mirar qu ehay 2 o mas espacios detras del punto
					if(punto1>=cadena.length-2)
						nota=1
					if(cadena.indexOf("*")!=-1 || cadena.indexOf(" ")!=-1|| cadena.indexOf("\\")!=-1 || cadena.indexOf("/")!=-1) 
						nota=1;
					
					if(nota==1)
						return false;
					else
						return false;
}
//-------- devuelve false si todo esta correcto y true en caso de haber un error
function checkDate(cadena)
{

	
	
	arraydatos=cadena.split("/");
	if(arraydatos.length!=3)
		arraydatos=cadena.split("-");

	if(arraydatos.length!=3) return false;

	dia=arraydatos[0];
	mes=arraydatos[1];
	ano=arraydatos[2];
			//primero miro si introducen algo y si eso es un numero

			if(isNaN(dia) || dia=="" || dia=="0"|| dia=="00" || dia.length!=2) 
				return false;

			if(isNaN(mes) || mes=="" || mes=="0"|| dia=="00" || mes.length!=2)  
				return false;

			if(isNaN(ano) || ano=="" || ano=="0000" || ano.length!=4 || ano>2200 || ano<1900)
				return false;

			if(dia<32 && mes<13)
			{
				if( mes==2)
				{
					if(dia>29)
					{
						return false

					}
					else
					{
						if(dia==29 && !(ano==1900  || ano==1904  || ano==1908  || ano==1912  || ano==1916  || ano==1920  || ano==1924  || ano==1928  || ano==1932  || ano==1936  || ano==1940  || ano==1944  || ano==1948  || ano==1952  || ano==1956  || ano==1960  || ano==1964  || ano==1968  || ano==1972  || ano==1976  ||ano==1980  || ano==1984  || ano==1988  || ano==1992  || ano==1996 || ano==2000 || ano==2004|| ano==2008|| ano==2012|| ano==2016))
						{
							return false;

						}

					}
				}

				if( (mes==4  ||	mes==6  ||  mes==9  ||  mes==11) && dia==31 ) 
					return false;

			}
			else  return false;

			//si no ha habido ningun error
			return true;

}


function checkPC(cadena)
{
	if(cadena.length!=5 || isNaN(cadena))
				return false;

	return true;

}


function checkPhone(cadena)
{
	if(cadena.length<9  )
					return false;

	return true;

}




function comprobarLongitudExacta(cadena,longitud)
{
	if(cadena.length==longitud)
			return true;
	return false;
}



function comprobarLongitudMayor(cadena,longitud)
{

	if(cadena.length>longitud)
		return true;

	return false;
}




function checkInteger(cadena,longitud)
{
	if(cadena.length>longitud)
		return false;
	if(isNaN(cadena) || cadena=="")
		return false;
	else
		for (var i=0;i<cadena.length;i++)
		{
			caracter=cadena.substring(i,i+1);
			if (caracter=="." || caracter==",")
				return false;
		}
	return true;
}


function comprobarDecimal(cadena,longitud)
{

	if(cadena.length>longitud)
		return false;
	if(isNaN(cadena) || cadena=="")
		return false;


	return true;
}
