﻿	    // funcion que elimina los espacios a la izquierda
		String.prototype.recortaIzquierda = function(){
			   espacios = 0;			
		       for ( rec = 0 ; rec < this.length ; rec ++ ){
		       		 if ( this.substr(rec,1) == ' ' )
		       		      espacios ++;
		       		 else
		       		      break;
		       }
			   return this.substr(espacios);
		}
	    // funcion que elimina los espacios a la derecha
		String.prototype.recortaDerecha = function(){
			   espacios = 0;			
		       for ( rec = 1 ; rec < this.length + 1 ; rec ++ ){
		       		 if ( this.substr(this.length - rec,1) == ' ' )
		       		      espacios ++;
		       		 else
		       		      break;
		       }
			   return this.substr(0,this.length - espacios);
		}
	    // funcion que elimina los espacios a ambos lados
		String.prototype.recorta = function(){
			   return this.recortaIzquierda().recortaDerecha();
		}

		// Funciones de validaci?n
		function validaVacio(objeto){
   	        if ( objeto.value.recorta() == '' )
   	             return false;
   	        else
   	             return true;
      	}
 	    function validaNumero(objeto){
 			var num = parseInt(objeto.value);
			if ( isNaN ( num ) || num < 0 )
                 return false;
               
            return true;
        }         
	    function validaNif(objeto){
			dni = objeto.value.substring(0,objeto.value.length - 1);
			let = objeto.value.charAt(objeto.value.length - 1);
			if ( !isNaN( let ) )
				 return false;
			    
			cadena = 'TRWAGMYFPDXBNJZSQVHLCKET';
		 	posicion = dni % 23;
			letra = cadena.substring( posicion,posicion + 1 );
			if ( letra != let.toUpperCase() )
			     return false;
			
			return true;
	    }
		function validaEmail(objeto){
		    var exp = /^[a-z][a-z-_0-9\.]+@[a-z-_=>0-9\.]+\.[a-z]{2,3}$/i;
	   		if ( exp.test(objeto.value) == false )
	   			 return false;

			return true;
		}
	    function validaUrl(objeto){
	        var exp = /^(?:(?:ftp|https?):\/\/)?(?:[a-z0-9](?:[-a-z0-9]*[a-z0-9])?\.)+(?:com|edu|biz|org|gov|int|info|mil|net|name|museum|coop|aero|[a-z][a-z])\b(?:\d+)?(?:\/[^;"'<>()\[\]{}\s\x7f-\xff]*(?:[.,?]+[^;"'<>()\[\]{}\s\x7f-\xff]+)*)?/;
		    if ( exp.test(objeto.value) == false )
	   			 return false;

			return true;
	    }
	    function validaTelefono(objeto){
		    var exp = /^(\+\d{1,3} ?)?(\(\d{1,5}\)|\d{1,5}) ?\d{3,4} ?\d{0,7} ?(x|xtn|ext|extn|extension)??\.? ?\d{1,5}?$/i;
			if ( exp.test(objeto.value) == false )
	   			 return false;

			return true;						    
        }
       	function validaRadio(objeto){
       	   	if ( objeto.checked == false )
        	     return false;
        	     
        	return true;     
       	}    

   	    valCampos = new Array ('vacio','numero','nif','email','url','tel','radio');
   	    valFunciones = new Array ('validaVacio','validaNumero','validaNif','validaEmail','validaUrl','validaTelefono','validaRadio');

		// Mensajes de Error del formulario con varios idiomas
		
		//idioma = leeCookie('idioma');
		
		//if ( idioma == 'hotelESP' )
   	         valMensajes = new Array ('Ha dejado el campo vacio !','Campo no numérico !','Nif no válido !','Dirección de mail no válida !','Url no válida !','Número de teléfono no válido !','Seleccione una opción !');
		//if ( idioma == 'hotelCAT' )
   	//         valMensajes = new Array ('Ha deixat el camp buit !','Camp no numèric !','Nif no vàlid !','Adreça de mail no vàlida !','Url no vàlida !','Nombre de telèfon no vàlid !','Seleccioni una opció !');
		//if ( idioma == 'hotelALE' )
   	//         valMensajes = new Array ('Sie haben dass Feld nicht ausgefüllt !','Nur Zahlen in diesem Feld !','Personalausweis Nummer nicht korrekt !','E-mail Adresse nicht korrekt !','Adresse nicht korrekt !','Wählen Sie eine Option !','Wählen Sie eine Option !');
		//if ( idioma == 'hotelING' )
   	//         valMensajes = new Array ('You has empty field !','Non numeric field !','Non valid Nif !','Address of non valid mail !','Non valid Url !','Number of non valid telephone !','Select an option !');
   	         
		// Motor de control del formulario
		
       	function controlForm(form){
       		for ( el = 0 ; el < form.elements.length - 1 ; el ++ ){ // recorre elementos
       			  campo = form.elements[el].id.split(',');
       			  for ( ca = 0 ; ca < campo.length  ; ca ++ ){ // recorre valores del id
        			    for ( fu = 0 ; fu < valFunciones.length ; fu ++ ){ // recorre funciones de validacion
							  retorna = false;
	        			      if ( campo[ca] == valCampos[fu] ){
	     			      	       eval('if ( !' + valFunciones[fu] + '( form.elements[el] ) ) { alert( valMensajes[fu] ); form.elements[el].focus(); form.elements[el].style.border =\'1px solid red \'; retorna = true; }');
	    			      		   if ( retorna == true )
			     			      	    return;
			     			       else
  			                            form.elements[el].style.border ='1px solid #004e78';
	     			          }
        			    }
       			  }
       		}
       		document.forms[0].submit();
       	}
