function CambiaComillaPegado(NombreForm){
//Propósito:	Substuir la comilla simple por el acento cuando pegan en todos los campos del formulario.
//Efectos:		Si se pega la comilla['] se reemplazará por el acento[´].

	var iNumCampos = document.forms[NombreForm].length-1
	for (i=0;i<=iNumCampos;i++)
	{
		sTexto=document.forms[NombreForm].elements[i].value;
		while (sTexto.search("'") != -1 || sTexto.search("\"") != -1){
			sTexto=sTexto.replace("'", "´");
			sTexto=sTexto.replace("\"", "´");
			}
		//alert(document.forms[formulario].elements[i].name)
		document.forms[NombreForm].elements[i].value=sTexto;
	}

}
//de momento valida select-one, select-multiple y text
//en base al validationmsg, si es 0 o sin definir no es obligatorio,
	function ValidoAcceso(NombreForm){
		var sFormulario=document.forms[NombreForm];
		var validado = true
		CambiaComillaPegado(NombreForm);
								
		for (i=0; i<= sFormulario.length-1; i++){
		  if (sFormulario.elements(i)){
			if (sFormulario.elements(i).validationmsg){
				switch (sFormulario.elements(i).type ) {  
					case "select-multiple" :  
						if (sFormulario.elements(i).options.length =="0"){
							alert(sFormulario.elements(i).validationmsg)
							sFormulario.elements(i).focus()
							return false
						}
						break;
/*					case "radio" :  
						var validaOpti = "si"
						for (i=0; i<= sFormulario.elements(i).length; i++){
								if (sFormulario.elements(i).checked ==true){
									validaOpti="no"
								}
						}
						if (validaOpti == "no"){
							alert(sFormulario.elements(i).validationmsg)
							sFormulario.elements(i).focus()
							return false

							break;
						}
*/				 	
					case "textarea" :  
						if (sFormulario.elements(i).value.length > sFormulario.elements(i).maxlength){
							validado=false
						}
						if (sFormulario.elements(i).value.length == "0" ){
							validado=false
						}
						if (validado==false){
							alert(sFormulario.elements(i).validationmsg)
							//esta función edita nuestro textarea para poner el foco
//							editor_setmode(sFormulario.elements(i).name)
//							sFormulario.elements(i).focus()
							return false
//							editor_setmode(sFormulario.elements(i).name)
						}
						break;
					
					default :  
						if (sFormulario.elements(i).type !="image" && sFormulario.elements(i).type !="select-multiple" &&
						 sFormulario.elements(i).type !="textarea" && sFormulario.elements(i).type !="checkbox" && 
						 sFormulario.elements(i).type !="radio" && sFormulario.elements(i).validationmsg != "0" && 
						 sFormulario.elements(i).validationmsg != "undefined" && sFormulario.elements(i).disabled == false && sFormulario.elements(i).style.visibility !="hidden" && 
						 (sFormulario.elements(i).value =="" || sFormulario.elements(i).value =="0" )){
							alert(sFormulario.elements(i).validationmsg)
							sFormulario.elements(i).focus()
							return false
						}
						break;
				}  
				if (validado==false){
					alert(sFormulario.elements(i).validationmsg)
					sFormulario.elements(i).focus()
					return false
				}
			}
		 }		 			
		}
		return true
	}
function soloEmail(guat){
	if (guat && guat.value!=''){
		var er_email = /^(.+\@.+\..+)$/;
		if(!er_email.test(guat.value)) { 
	   		alert('e-posta eremuak ez du balio.')
		guat.select();
		guat.focus();
		return false    //no submit
		  }
	}
}
function SoloNum(){
//Propósito:	Evitar que se escriban letras en los campos numéricos.
//Efectos:		Si se pulsa una tecla de texto no ocurrirá nada.
	if (event.keyCode!=13&&(event.keyCode<48||event.keyCode>57))
		event.keyCode=0;
}

function NoComilla(){
//Propósito:	Evitar que se escriba la comilla simple en el formulario, pq hace fallar las querys.
//Efectos:		Si se pulsa la comilla no ocurrirá nada.
	if (event.keyCode==39){
		event.keyCode=0;
	}
}
function CambiaComilla(){
//Propósito:	Substuir la comilla simple por el acento.
//Efectos:		Si se pulsa la comilla['] se reemplazará por el acento[´].
	if (event.keyCode==39){
		event.keyCode=180;
	}
}
function SoloTlfn(){
//Propósito:	Evitar que se escriban letras en los campos de teléfonos.
//Efectos:		Si se pulsa una tecla de texto que no sea alguno de estos caracteres ( ) . ' - +  no ocurrira nada
	if (event.keyCode!=13&&event.keyCode!=32&&
		(event.keyCode<39||event.keyCode>41)&&
		event.keyCode!=43&&event.keyCode!=45&&
		event.keyCode!=46&&(event.keyCode<48||event.keyCode>57)){
		
			event.keyCode=0;
	}
}

	function bloquea(a,b,c,valor){
		if (a && b){	
			/*para combos tipo el de pais provincia cuando quieres bloquear las provincias si el pais no es espana
				a= es el combo pais
				b= es el combo provincias
				c= es el id del asterisco(para ocultar/mostrar)
				valor= es el value del option de espana
				tambien aplicable para combos similares(sin ser pais/provincia)
			*/
			if (a.value==valor){
				if(b){
					b.disabled=false;
					b.options[0].text='Seleccione'
				}
				if(c){
					c.style.visibility='visible';
				}
			}else{
				if(b){
					b.disabled=true;
					b.options[0].text='';
					b.selectedIndex=0;
					c.style.visibility='hidden'
				}
			}
		}
	}

		function selecIdiomas(sFormulario){
		if(sFormulario.idiomasTotal){
			for(i=0;i<sFormulario.elements["idiomasTotal"].options.length;i++){
				sFormulario.elements["idiomasTotal"].options[i].selected=true;
			}
		}
//		alert(sFormulario.idiomasTotal.value)
	}				
	
	/**
    * funcion para comprobar si una año es bisiesto
    * argumento anyo > año extraido de la fecha introducida por el usuario
    */
    function anyoBisiesto(anyo)
    {
        /**
        * si el año introducido es de dos cifras lo pasamos al periodo de 1900. Ejemplo: 25 > 1925
        */
        if (anyo < 100)
            var fin = anyo + 1900;
        else
            var fin = anyo ;

        /*
        * primera condicion: si el resto de dividir el año entre 4 no es cero > el año no es bisiesto
        * es decir, obtenemos año modulo 4, teniendo que cumplirse anyo mod(4)=0 para bisiesto
        */
        if (fin % 4 != 0)
            return false;
        else
        {
            if (fin % 100 == 0)
            {
                /**
                * si el año es divisible por 4 y por 100 y divisible por 400 > es bisiesto
                */
                if (fin % 400 == 0)                
                    return true;               
                /**
                * si es divisible por 4 y por 100 pero no lo es por 400 > no es bisiesto
                */
                else                
                    return false;                
            }
            /**
            * si es divisible por 4 y no es divisible por 100 > el año es bisiesto
            */
            else            
                return true;           
        }
    }
    
    /**
    * funcion principal de validacion de la fecha
    * argumento fecha > cadena de texto de la fecha introducida por el usuario
    */
    function validarFecha( dia,mes,anyo)
    {	var febrero;
	   if( (isNaN(dia)==true) || (isNaN(mes)==true) || (isNaN(anyo)==true) )
	    {
			alert(dia);
	   alert(mes);
	   alert(anyo);
    	alert("LA fecha introducida debe estar formada sólo por números");
	  		return false;
       	}
       	if(anyoBisiesto(anyo))
           	febrero=29;
      	else
           	febrero=28;
       /**
       * si el mes introducido es negativo, 0 o mayor que 12 > alertamos y detenemos ejecucion
       */
       if ((mes<1) || (mes>12))
       {
           	alert("El mes introducido no es valido. Por favor, introduzca un mes correcto");
			return false;
       }
       /**
       * si el mes introducido es febrero y el dia es mayor que el correspondiente 
       * al año introducido > alertamos y detenemos ejecucion
       */
       if ((mes==2) && ((dia<1) || (dia>febrero)))
       {
           alert("El dia introducido no es valido. Por favor, introduzca un dia correcto");
           return false;
       }
       /**
       * si el mes introducido es de 31 dias y el dia introducido es mayor de 31 > alertamos y detenemos ejecucion
       */
       if (((mes==1) || (mes==3) || (mes==5) || (mes==7) || (mes==8) || (mes==10) || (mes==12)) && ((dia<1) || (dia>31)))
       {
           	alert("El dia introducido no es valido. Por favor, introduzca un dia correcto");
          	return false;
       }
       /**
       * si el mes introducido es de 30 dias y el dia introducido es mayor de 301 > alertamos y detenemos ejecucion
       */
       if (((mes==4) || (mes==6) || (mes==9) || (mes==11)) && ((dia<1) || (dia>30)))
       {
           alert("El dia introducido no es valido. Por favor, introduzca un dia correcto");           
           return false;
       }
       /**
       * si el mes año introducido es menor que 1900 o mayor que 2010 > alertamos y detenemos ejecucion
       * NOTA: estos valores son a eleccion vuestra, y no constituyen por si solos fecha erronea
       */
       if ((anyo<1900) || (anyo>2010))
       {
           	alert("El año introducido no es valido. Por favor, introduzca un año entre 1900 y 2010");          	
			return false;
	          
       } 
       /**
       * en caso de que todo sea correcto > enviamos los datos del formulario
       * para ello debeis descomentar la ultima sentencia
       */  	    
	return true
    }    					
