/*
<script language="javascript" src="/includes/validarFormulario.js" />
*/
function esEmail(email)

{  var texto = email.value;
   var filtro=/^[A-Za-z][A-Za-z0-9_.-]*@[A-Za-z0-9_]+\.[A-Za-z0-9_.]+[A-za-z]$/;
   if (texto.length == 0 ) {
      email.focus();
      email.select();
      error=("Debe rellenar el e-mail.\n");
      return error;
   } 
   if (filtro.test(texto)){
       error=null;
       return error;
   }else{
       email.focus();
       email.select();
       error=("El e-mail introducido no es válido.\n");
       return error;   
      }
  
}

function esHora(hora)

{  var texto = hora.value;
   var filtro1= /^[0-1][0-9]:[0-5][0-9]:[0-5][0-9]$/;
   var filtro2= /^[2][0-3]:[0-5][0-9]:[0-5][0-9]$/;
   if (texto.length == 0 ) {
      hora.focus();
      hora.select();
      alert ("Debe rellenar el campo hora.\n");
      return false;
   } 
   if (filtro1.test(texto)||filtro2.test(texto)){
       return true;
   }else{
       hora.focus();
       hora.select();
       error=("La hora  introducida no es válida.\n "+
			  "Formato hh:mm:ss (ejemplo: 23:59:59)");
	   alert (error);
       return false;   
      }
  
}



//comprueba si es vacio
function esVacio(campo)
{ 
   var texto = campo.value;
//   alert(campo.name+": "+texto);
   var filtro=/^[ ]*$/;
   if (texto.length == 0 ) {
      campo.focus();
      campo.select();
      alert("Debe rellenar el siguiente campo. \n");
      return true;
   } 
   else
 	   if (filtro.test(texto)){
	       campo.focus();
	       campo.select();
	       alert("El campo no puede estar vacio.\n");
	       return true;
	   }else{
	       return false;   
      }
  
}

//comprueba si ha seleccionado algo de una lista de seleccion
function seleccionado(campo)
{	//alert('seleccionado: '+campo.name);
	if(campo.selectedIndex==0){
	 	alert("Debe seleccionar un elemento de la lista.\n");
		campo.focus();
		return false;
	}else
		return true;
}


//comprueba si es float
function esReal(campo)
{
   var texto = campo.value;
   var filtro=/^[0-9]*\.{0,1}[0-9]*$/;

   if (filtro.test(texto)){
       return true;
   }else{
       campo.focus();
       campo.select();
       alert("El campo debe ser un número real separado por punto.\n");
       return false;   
      }
  
}

//comprueba si es precio (real con dos decimales)
function esPrecio(campo)
{
   var texto = campo.value;
   var filtro=/^-{0,1}[0-9]*\.{0,1}[0-9]{0,2}$/;

   if (filtro.test(texto)){
       return true;
   }else{
       campo.focus();
       campo.select();
       alert("El campo debe ser un número real separado por punto y con dos decimales\n");
       return false;   
      }
  
}

//comprueba si es número
function esNumero(campo)
{
   var texto = campo.value;
   var filtro=/^-{0,1}[0-9]*$/;

   if (filtro.test(texto)){
       return true;
   }else{
       campo.focus();
       campo.select();
       alert("El campo debe ser un número entero.\n");
       return false;   
      }
  
}

//comprueba si es número positivo
function esNumeroPositivo(campo)
{
   var texto = campo.value;
   var filtro=/^[0-9]*$/;

   if (filtro.test(texto)){
       return true;
   }else{
       campo.focus();
       campo.select();
       alert("El campo debe ser un número entero positivo.\n");
       return false;   
      }
  
}

//comprueba un campo de texto para ver si es telefono
//devuelve error 
//null si no ha habido error
function esTelefono(campo){
   var error=null;
   var texto=campo.value;
   var filtro=/^[0-9]*$/;
   //si no ha rellenado el campo teléfono
   if (texto.length <=0){
   	resultado=false;
	campo.focus();
	campo.select();
	error=("· Debe introducir el teléfono.\n");
   }
   else{
   	//si todo son numeros y hay 9>>es 
	if (texto.length == 9 &&filtro.test(texto)) {
		resultado=true;
		error=null;
	}
	//si no es un telefono
	else{
		//comprobamos si ha metido guiones
		if (texto.indexOf("-")>-1)
			error=("· Teléfono no válido. (9 dígitos SIN GUIONES).\n");
		else
			error=("· Teléfono no válido. (9 dígitos).\n");
		resultado=false;
		campo.focus();
		campo.select();
	}//else
   }//else
   return error; 

}     
//comprueba un campo de texto para ver si es codigo postal
function esCodigoPostal(campo){
   var error;
   var texto=campo.value;
   var filtro=/^[0-9]*$/;
   //si no ha rellenado el campo codigo postal
   if (texto.length <=0){
	campo.focus();
	campo.select();
	error=("· Debe introducir el código postal.\n");
   }
   else{
   	   //si todo son numeros y hay 5>>es codigo postal
	   if (texto.length == 5 &&filtro.test(texto)) {
	        resultado=true;
		error=null;
	   }
	   //si no>> no es un codigo postal
	   else{
	       error="· El codigo postal introducido no es válido (5 dígitos).\n";
	       resultado=false;
	       campo.focus();
	       campo.select();
	      }//else
   }//else
   return error; 
   alert(error);

}

//busca la posicion en una lista cuya option sea = a id y lo marca a selected
function indiceLista(id,lista){
	//alert("bbbbbbb");
	i=0;
	encontrado=false;
	while ((!encontrado)&&(i<lista.length)){
		//alert("Indice en curso: "+lista.options[i].value+"\n Indice a buscar: "+id);
		if (lista.options[i].value==id){
			//alert("dentro del if");
			encontrado=true;
			lista.options[i].selected=true;
		}else {
			//alert("dentro del else");
			i++;
		}
	}
	return i;
}
//comprueba que la longitud del texto de un campo es menor igual al tope
function encaja(campo,tope){
	texto=campo.value;
	if(texto.length>tope){
		alert("Ha sobrepasado el límite de "+tope+" carácteres soportado por el campo.\n");
		return false;
	}else
		return true;
}


//comprueba la longitud de un campo
//si se sobrepasa el límite lanza un  mensaje de error y corta el texto
function ajustar(campo,numeroCaracteres){
	//numeroCaracteres-=1;							
	if (campo.value.length>(numeroCaracteres)){
		alert('Ha sobrepasado el límite de caracteres para este campo.\n'+
				'El limite es de: '+numeroCaracteres+' caracteres.');
		campo.focus();			
		campo.value=campo.value.substring(0,numeroCaracteres-1);
	}
}
