// ----------------------------------------------------------------------
//           FormCheq.js (c) ChaTo [www.chato.cl] 1998
//           basado en FormChek.js (c) Eric Krock 1997 Netscape Corp.
// ----------------------------------------------------------------------
// Rutinas para verificacion de formularios, basado en FormChek.js
// Parte del curso "TEJEDORES DEL WEB" http://www.TejedoresDelWeb.com/
// ---------------------------------------------------------------------- 

var defaultEmptyOK = false
var checkNiceness = true;
var digits = "0123456789";
var lowercaseLetters = "abcdefghijklmnopqrstuvwxyzáéíóúñü"
var uppercaseLetters = "ABCDEFGHIJKLMNOPQRSTUVWXYZÁÉÍÓÚÑ"
var whitespace = " \t\n\r";
var phoneChars = "()-+ ";
var mMessage = "Error: no puede dejar este espacio vacio"
var pPrompt = "Error: ";
var pAlphanumeric = "ingrese un texto que contenga solo letras y/o numeros";
var pAlphabetic   = "ingrese un texto que contenga solo letras";
var pInteger = "ingrese un numero entero";
var pNumber = "ingrese un numero";
var pPhoneNumber = "ingrese un número de teléfono";
var pEmail = "ingrese una dirección de correo electrónico válida";
var pName = "ingrese un texto que contenga solo letras, numeros o espacios";
var pNice = "no puede utilizar comillas aqui";

function makeArray(n) {
   for (var i = 1; i <= n; i++) {
      this[i] = 0
   } 
   return this
}

function isEmpty(s)
{   return ((s == null) || (s.length == 0))
}
function isWhitespace (s)
{   var i;
    if (isEmpty(s)) return true;
    for (i = 0; i < s.length; i++)
    {   
        var c = s.charAt(i);
        // si el caracter en que estoy no aparece en whitespace,
        // entonces retornar falso
        if (whitespace.indexOf(c) == -1) return false;
    }
    return true;
}


function stripCharsInBag (s, bag)
{   var i;
    var returnString = "";

    // Buscar por el string, si el caracter no esta en "bag", 
    // agregarlo a returnString
    
    for (i = 0; i < s.length; i++)
    {   var c = s.charAt(i);
        if (bag.indexOf(c) == -1) returnString += c;
    }

    return returnString;
}


function stripCharsNotInBag (s, bag)
{   var i;
    var returnString = "";
    for (i = 0; i < s.length; i++)
    {   
        var c = s.charAt(i);
        if (bag.indexOf(c) != -1) returnString += c;
    }

    return returnString;
}


function stripWhitespace (s)
{   return stripCharsInBag (s, whitespace)
}

function charInString (c, s)
{   for (i = 0; i < s.length; i++)
    {   if (s.charAt(i) == c) return true;
    }
    return false
}

function stripInitialWhitespace (s)
{   var i = 0;
    while ((i < s.length) && charInString (s.charAt(i), whitespace))
       i++;
    return s.substring (i, s.length);
}

function isLetter (c)
{
    return( ( uppercaseLetters.indexOf( c ) != -1 ) ||
            ( lowercaseLetters.indexOf( c ) != -1 ) )
}

function isDigit (c)
{   return ((c >= "0") && (c <= "9"))
}

function isLetterOrDigit (c)
{   return (isLetter(c) || isDigit(c))
}

function isInteger (s)
{   var i;
    if (isEmpty(s)) 
       if (isInteger.arguments.length == 1) return defaultEmptyOK;
       else return (isInteger.arguments[1] == true);
    
    for (i = 0; i < s.length; i++)
    {   
        var c = s.charAt(i);
        if( i != 0 ) {
            if (!isDigit(c)) return false;
        } else { 
            if (!isDigit(c) && (c != "-") || (c == "+")) return false;
        }
    }
    return true;
}


function isNumber (s)
{   var i;
    var dotAppeared;
    dotAppeared = false;
    if (isEmpty(s)) 
       if (isNumber.arguments.length == 1) return defaultEmptyOK;
       else return (isNumber.arguments[1] == true);
    
    for (i = 0; i < s.length; i++)
    {   
        var c = s.charAt(i);
        if( i != 0 ) {
            if ( c == "." ) {
                if( !dotAppeared )
                    dotAppeared = true;
                else
                    return false;
            } else     
                if (!isDigit(c)) return false;
        } else { 
            if ( c == "." ) {
                if( !dotAppeared )
                    dotAppeared = true;
                else
                    return false;
            } else     
                if (!isDigit(c) && (c != "-") || (c == "+")) return false;
        }
    }
    return true;
}

function isAlphabetic (s)
{   var i;

    if (isEmpty(s)) 
       if (isAlphabetic.arguments.length == 1) return defaultEmptyOK;
       else return (isAlphabetic.arguments[1] == true);
    for (i = 0; i < s.length; i++)
    {   
        // Check that current character is letter.
        var c = s.charAt(i);

        if (!isLetter(c))
        return false;
    }
    return true;
}

function isAlphanumeric (s)
{   var i;

    if (isEmpty(s)) 
       if (isAlphanumeric.arguments.length == 1) return defaultEmptyOK;
       else return (isAlphanumeric.arguments[1] == true);

    for (i = 0; i < s.length; i++)
    {   
        var c = s.charAt(i);
        if (! (isLetter(c) || isDigit(c) ) )
        return false;
    }

    return true;
}


function isName (s)
{
    if (isEmpty(s)) 
       if (isName.arguments.length == 1) return defaultEmptyOK;
       else return (isAlphanumeric.arguments[1] == true);
    
    return( isAlphanumeric( stripCharsInBag( s, whitespace ) ) );
}

function isPhoneNumber (s)
{   var modString;
    if (isEmpty(s)) 
       if (isPhoneNumber.arguments.length == 1) return defaultEmptyOK;
       else return (isPhoneNumber.arguments[1] == true);
    modString = stripCharsInBag( s, phoneChars );
    return (isInteger(modString))
}

function isEmail (s)
{
    if (isEmpty(s)) 
       if (isEmail.arguments.length == 1) return defaultEmptyOK;
       else return (isEmail.arguments[1] == true);
    if (isWhitespace(s)) return false;
    var i = 1;
    var sLength = s.length;
    while ((i < sLength) && (s.charAt(i) != "@"))
    { i++
    }

    if ((i >= sLength) || (s.charAt(i) != "@")) return false;
    else i += 2;

    while ((i < sLength) && (s.charAt(i) != "."))
    { i++
    }

    if ((i >= sLength - 1) || (s.charAt(i) != ".")) return false;
    else return true;
}


function EsCorreo(cadena)
{
var correo=cadena.toLowerCase();
var pos_arroba;
var parte_usuario;
var pos_punto;
var ok=false;

if (correo.indexOf("@") > 0)
{
	pos_arroba = correo.indexOf("@")
	parte_usuario = correo.substring(0,pos_arroba);
	pos_punto = correo.indexOf(".",pos_arroba);
	if ( (parte_usuario.length > 1) && (pos_punto - pos_arroba > 1) ) {ok = true}
}

if ((correo.indexOf(" ") > 0) || (correo.indexOf(",") > 0) || (correo.indexOf("..") > 0)) return ok=false;

return ok;
}


function EmailConocido(control) {
    var pos_arroba;
    var parte_server;
    var pos_enc;
    var s;
    
    s = document.getElementById(control).value;
	s = s.toLowerCase();
	pos_arroba = s.indexOf("@");
	parte_server = s.substr(pos_arroba+1);
	if ((parte_server.indexOf("hotmial.com")!=-1) ||		
	(parte_server.indexOf("hatmail.com")!=-1) ||		
	(parte_server.indexOf("hotmay.com")!=-1) ||		
	(parte_server.indexOf("latinmaoil.com")!=-1) ||	
	(parte_server.indexOf("hotmeail.com")!=-1) ||	
	(parte_server.indexOf("latinmal.com.pe")!=-1) ||
	(parte_server.indexOf("hot.mail.com")!=-1) ||	
	(parte_server.indexOf("hotmailc.om")!=-1) ||	
	(parte_server.indexOf("hotmail.com.pe")!=-1) ||	
	(parte_server.indexOf("hotmmail.com")!=-1) ||	
	(parte_server.indexOf("htmil.com")!=-1) ||		
	(parte_server.indexOf("yahoo,es")!=-1) ||		
	(parte_server.indexOf("hotmael.con")!=-1) ||	
	(parte_server.indexOf("hotmaol.com")!=-1) ||	
	(parte_server.indexOf("hoytmail.com")!=-1) ||	
	(parte_server.indexOf("terramail.con")!=-1) ||	
	(parte_server.indexOf("mixemail.com")!=-1) ||
	(parte_server.indexOf("jotmeil.com")!=-1) ||	
	(parte_server.indexOf("hotmeil.com")!=-1) ||	
	(parte_server.indexOf("latinemail.com")!=-1) ||	
	(parte_server.indexOf("hot-mail.com")!=-1) ||	
	(parte_server.indexOf("hotmail.con")!=-1) ||	
	(parte_server.indexOf("hotmail.cmo")!=-1) ||	
	(parte_server.indexOf("homai.com")!=-1) ||		
	(parte_server.indexOf("hotmail.xom")!=-1) ||	
	(parte_server.indexOf("hotamil.com")!=-1) ||	
	(parte_server.indexOf("hotmai8l.com")!=-1) ||	
	(parte_server.indexOf("hotmail.cimn.pe")!=-1) ||
	(parte_server.indexOf("htmail.com")!=-1) ||		
	(parte_server.indexOf("hot,mail.com")!=-1) ||	
	(parte_server.indexOf("hotmeil.con")!=-1) ||	
	(parte_server.indexOf("mixmail.co")!=-1) ||		
	(parte_server.indexOf("hotmael.com")!=-1) ||	
	(parte_server.indexOf("hmeil.com")!=-1) ||		
	(parte_server.indexOf("hot.mail")!=-1) ||		
	(parte_server.indexOf("hotmeil.com")!=-1) ||	
	(parte_server.indexOf("gotmail.com")!=-1) ||	
	(parte_server.indexOf("hoymail.com")!=-1) ||	
	(parte_server.indexOf("hotmai.com")!=-1) ||		
	(parte_server.indexOf("homail.com")!=-1) ||		
	(parte_server.indexOf("hotmail.com.pe")!=-1) ||	
	(parte_server.indexOf("hotmil.com")!=-1) ||		
	(parte_server.indexOf("hotmal.com")!=-1) ||		
	(parte_server.indexOf("hotmai.com")!=-1) ||		
	(parte_server.indexOf("hotmail.com.")!=-1) ||	
	(parte_server.indexOf("htomail.com")!=-1) ||	
	(parte_server.indexOf(".hotmail.com")!=-1) ||	
	(parte_server.indexOf("hotmaail.com")!=-1) ||	
	(parte_server=="otmail.com") ||		
	(parte_server.indexOf("4hotmail.com")!=-1) ||		
	(parte_server.indexOf("ghotmail.com")!=-1) ||		
	(parte_server.indexOf("holmail.com")!=-1) ||		
	(parte_server.indexOf("homtail.com")!=-1) ||	
	(parte_server.indexOf("hotamail.com")!=-1) ||	
	(parte_server=="hotmail.") ||		
	(parte_server=="hotmail.co") ||		
	(parte_server.indexOf("hotmailo.com")!=-1) ||	
	(parte_server.indexOf("hotmali.com")!=-1) ||	
	(parte_server.indexOf("hotnail.com")!=-1) ||	
	(parte_server.indexOf("hoitmail.com")!=-1) ||	
	(parte_server.indexOf("hotmeil.com")!=-1) ||	
	(parte_server==" hotmail.com") || 	
	(parte_server.indexOf("hhotmail.com")!=-1) ||	
	(parte_server.indexOf("holmait.com")!=-1) ||	
	(parte_server.indexOf("homail.com.pe")!=-1) ||	
	(parte_server.indexOf("hot mail.com")!=-1) ||	
	(parte_server.indexOf("hot.mail")!=-1) ||		
	(parte_server.indexOf("HOTMAIL .COM")!=-1) ||	
	(parte_server.indexOf("hotmail.cpm")!=-1) ||	
	(parte_server.indexOf("hotmail.om")!=-1) ||		
	(parte_server.indexOf("hotmaill.com")!=-1) ||	
	(parte_server.indexOf("hotmayl.com")!=-1) ||	
	(parte_server.indexOf("HOTMEY.COM")!=-1) ||		
	(parte_server.indexOf("hotrmail.com")!=-1) ||	
	(parte_server.indexOf("hptmail.com")!=-1) ||	
	(parte_server.indexOf("jotmail.com")!=-1) ||	
	(parte_server.indexOf(".honmeil.com")!=-1) ||	
	(parte_server.indexOf("2hotmail.com")!=-1) ||	
	(parte_server.indexOf("5hotmail.com")!=-1) ||	
	(parte_server.indexOf("h9otmail.com")!=-1) ||	
	(parte_server.indexOf("hemail.com")!=-1) ||		
	(parte_server.indexOf("hmail.com")!=-1) ||		
	(parte_server.indexOf("ho6tmail.com")!=-1) ||	
	(parte_server.indexOf("ho9tmail.com")!=-1) ||	
	(parte_server.indexOf("hodmail.con")!=-1) ||	
	(parte_server.indexOf("hoimey.con")!=-1) ||		
	(parte_server.indexOf("holmael.com")!=-1) ||	
	(parte_server.indexOf("holtmail.com")!=-1) ||	
	(parte_server.indexOf("hom.com")!=-1) ||		
	(parte_server.indexOf("homali.com")!=-1) ||		
	(parte_server.indexOf("homeit.com")!=-1) ||		
	(parte_server.indexOf("hootmail.com")!=-1) ||	
	(parte_server.indexOf("horlai.com")!=-1) ||		
	(parte_server.indexOf("hormail.com")!=-1) ||	
	(parte_server.indexOf("hot.com")!=-1) ||		
	(parte_server.indexOf("hotail.com")!=-1) ||		
	(parte_server.indexOf("hotma.com")!=-1) ||		
	(parte_server=="hotmai") ||		
	(parte_server.indexOf("hotmaiil.com")!=-1) ||	
	(parte_server.indexOf("hotmail. com")!=-1) ||	
	(parte_server.indexOf("hotmail.cfom")!=-1) ||	
	(parte_server.indexOf("hotmail.cm")!=-1) ||		
	(parte_server.indexOf("hotmail.coim")!=-1) ||	
	(parte_server.indexOf("hotmail.com6")!=-1) ||	
	(parte_server.indexOf("HOTMAIL.COMP")!=-1) ||	
	(parte_server.indexOf("hotmail_2007.com")!=-1) ||
	(parte_server.indexOf("hotmailc.com")!=-1) ||	
	(parte_server.indexOf("hotmail-con.pe")!=-1) ||	
	(parte_server.indexOf("hotmailk.com")!=-1) ||	
	(parte_server.indexOf("hotmailn.com")!=-1) ||	
	(parte_server.indexOf("hotmailñ.com")!=-1) ||	
	(parte_server.indexOf("hotmailt.com")!=-1) ||	
	(parte_server.indexOf("hotmaio.com")!=-1) ||	
	(parte_server.indexOf("hotmal.om")!=-1) ||		
	(parte_server.indexOf("hotmoil.com")!=-1) ||	
	(parte_server.indexOf("hotmsil.com")!=-1) ||	
	(parte_server.indexOf("hottmail.com")!=-1) ||	
	(parte_server.indexOf("hoymail.com")!=-1) ||	
	(parte_server.indexOf("hyotmail.com")!=-1) ||	
	(parte_server.indexOf("yhotmail.com")!=-1) ||	
	(parte_server.indexOf("hotmall.com.pe")!=-1) ||	
	(parte_server.indexOf("hotmail.cim")!=-1) ||	
	(parte_server.indexOf("HOTMAIL.COMT")!=-1) ||	
	(parte_server.indexOf("hotmalo.com")!=-1) ||	
	(parte_server.indexOf("hojmai.com")!=-1) ||		
	(parte_server.indexOf("hotmai9l.com")!=-1) ||	
	(parte_server.indexOf("hotmail.comº")!=-1) ||	
	(parte_server.indexOf("@hotmail.com")!=-1) ||	
	(parte_server.indexOf("passport.com.pe")!=-1) ||
	(parte_server.indexOf("lucas.com")!=-1) ||		
	(parte_server.indexOf("htm.com")!=-1) ||		
	(parte_server.indexOf("notmail.com")!=-1) ||	
	(parte_server.indexOf("hoamil.com")!=-1) ||		
	(parte_server.indexOf("hotmail.vom")!=-1) ||	
	(parte_server.indexOf("hotmqail.com")!=-1) ||	
	(parte_server.indexOf("HOTMAIL.COMAMOR")!=-1) ||
	(parte_server=="hotmail.c") ||		
	(parte_server.indexOf("hotmail.net")!=-1) ||	
	(parte_server.indexOf("hotmailt.com")!=-1) ||	
	(parte_server.indexOf("hotmail.comm.pe")!=-1) ||
	(parte_server.indexOf("hotmeil.com.pe")!=-1) ||	
	(parte_server.indexOf("ohtmail.com")!=-1) ||	
	(parte_server==".com") ||		
	(parte_server.indexOf("_hotmail.com")!=-1) ||	
	(parte_server.indexOf("4hotmail.com")!=-1) ||	
	(parte_server.indexOf("4hotmil.com")!=-1) ||	
	(parte_server.indexOf("bateriaseria.net")!=-1) ||
	(parte_server.indexOf("ejemplol.com")!=-1) ||	
	(parte_server.indexOf("example.com")!=-1) ||	
	(parte_server.indexOf("example.com")!=-1) ||	
	(parte_server.indexOf("example.com")!=-1) ||	
	(parte_server.indexOf("example.com")!=-1) ||	
	(parte_server.indexOf("hjotmail.com")!=-1) ||	
	(parte_server.indexOf("hoatmail.com")!=-1) ||	
	(parte_server.indexOf("holmail.com")!=-1) ||	
	(parte_server.indexOf("homail.com")!=-1) ||		
	(parte_server.indexOf("homail.com")!=-1) ||		
	(parte_server.indexOf("homail.com")!=-1) ||		
	(parte_server.indexOf("homail.com")!=-1) ||		
	(parte_server.indexOf("homail.com")!=-1) ||		
	(parte_server.indexOf("homail.com")!=-1) ||		
	(parte_server.indexOf("homeil.com")!=-1) ||		
	(parte_server.indexOf("hoootmail.com")!=-1) ||	
	(parte_server.indexOf("hormail.com")!=-1) ||	
	(parte_server.indexOf("hortmail.com")!=-1) ||	
	(parte_server.indexOf("hotamail.com")!=-1) ||	
	(parte_server.indexOf("hote-mail.com")!=-1) ||	
	(parte_server.indexOf("hotimail.com")!=-1) ||	
	(parte_server=="hotmail") ||		
	(parte_server=="hotmail.co") ||		
	(parte_server.indexOf("hotmail.coma")!=-1) ||	
	(parte_server.indexOf("hotmail.comm")!=-1) ||	
	(parte_server.indexOf("hotmail.con")!=-1) ||	
	(parte_server.indexOf("hotmail.copm")!=-1) ||	
	(parte_server.indexOf("hotmail.om")!=-1) ||		
	(parte_server.indexOf("hotmaill.com")!=-1) ||	
	(parte_server.indexOf("hotmaill.com")!=-1) ||	
	(parte_server.indexOf("hotmaill.com")!=-1) ||	
	(parte_server.indexOf("hotmaill.con")!=-1) ||	
	(parte_server.indexOf("hotmaiol.com")!=-1) ||	
	(parte_server.indexOf("hotmal.com")!=-1) ||		
	(parte_server.indexOf("hotmal.com")!=-1) ||		
	(parte_server.indexOf("hotmaqil.com")!=-1) ||	
	(parte_server.indexOf("hotmauil.com")!=-1) ||	
	(parte_server.indexOf("hotmeil.con")!=-1) ||	
	(parte_server.indexOf("hotmile.com")!=-1) ||	
	(parte_server.indexOf("hotnal.com")!=-1) ||		
	(parte_server.indexOf("hotrmail.com")!=-1) ||	
	(parte_server.indexOf("htomail.com")!=-1) ||	
	(parte_server.indexOf("htomail.com")!=-1) ||	
	(parte_server.indexOf("htomail.com")!=-1) ||	
	(parte_server.indexOf("jhonny ciprian 177 . com")!=-1) ||	
	(parte_server.indexOf("jocmat.com")!=-1) ||		
	(parte_server.indexOf("msm.com")!=-1) ||		
	(parte_server.indexOf("yaho.es")!=-1) ||		
    (parte_server.indexOf("homtmail.com")!=-1) ||  
    (parte_server.indexOf("hotmail.com01")!=-1) ||  
    (parte_server.indexOf("hotmail.comk")!=-1) ||  
    (parte_server.indexOf("hotmailcom.pe")!=-1) ||  
    (parte_server.indexOf("jotmail.con")!=-1) ||  
    (parte_server.indexOf("livel.com")!=-1) ||  
    (parte_server.indexOf("yahoo.con")!=-1) ||  
    (parte_server.indexOf("yhaoo.con")!=-1) ||  
	(parte_server.indexOf("hotmail.com1a")!=-1)) {
		alert('Debe ingresar correctamente su correo electrónico. \nSi su correo es de HOTMAIL o YAHOO, asegúrese de escribir \n "@hotmail" o "@yahoo.es" o "@yahoo.com"\n');
		document.getElementById(control).focus();
		return false;
	}
	else {
		return true;
	}
}

function isNice(s)
{
        var i = 1;
        var sLength = s.length;
        var b = 1;
        while(i<sLength) {
                if( (s.charAt(i) == "\"") || (s.charAt(i) == "'" ) ) b = 0;
                i++;
        }
        return b;
}

function statBar (s)
{   window.status = s
}

function warnEmpty (theField)
{   theField.focus()
    alert(mMessage)
    statBar(mMessage)
    return false
}

function warnInvalid (theField, s)
{   theField.focus()
    theField.select()
    alert(s)
    statBar(pPrompt + s)
    return false
}


function checkField (theField, theFunction, emptyOK, s)
{   
    var msg;
    if (checkField.arguments.length < 3) emptyOK = defaultEmptyOK;
    if (checkField.arguments.length == 4) {
        msg = s;
    } else {
        if( theFunction == isAlphabetic ) msg = pAlphabetic;
        if( theFunction == isAlphanumeric ) msg = pAlphanumeric;
        if( theFunction == isInteger ) msg = pInteger;
        if( theFunction == isNumber ) msg = pNumber;
        if( theFunction == isEmail ) msg = pEmail;
        if( theFunction == isPhoneNumber ) msg = pPhoneNumber;
        if( theFunction == isName ) msg = pName;
    }
    
    if ((emptyOK == true) && (isEmpty(theField.value))) return true;

    if ((emptyOK == false) && (isEmpty(theField.value))) 
        return warnEmpty(theField);

    if ( checkNiceness && !isNice(theField.value))
        return warnInvalid(theField, pNice);

    if (theFunction(theField.value) == true) 
        return true;
    else
        return warnInvalid(theField,msg);

}


    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 isDate(fecha)
    {
       /**
       * obtenemos la fecha introducida y la separamos en dia, mes y año
       */
	   var febrero;
       var dia=fecha.split("/")[0];
       var mes=fecha.split("/")[1];
       var anyo=fecha.split("/")[2];

	   if(!isNumber(dia) || !isNumber(mes) || !isNumber(anyo)){
	   		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");
           document.forms[0].fecha.focus();
           document.forms[0].fecha.select();*/
           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");
           document.forms[0].fecha.focus();
           document.forms[0].fecha.select();*/
           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");
           document.forms[0].fecha.focus();
           document.forms[0].fecha.select();*/
           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");
           document.forms[0].fecha.focus();
           document.forms[0].fecha.select();*/
           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");
           document.forms[0].fecha.focus();
           document.forms[0].fecha.select();*/
		   return false;
       } 
       /**
       * en caso de que todo sea correcto > enviamos los datos del formulario
       * para ello debeis descomentar la ultima sentencia
       */
       else
//          alert("La fecha introducida es correcta. Gracias por su colaboración");
          //document.forms[0].submit();    
		  return true;
} 

function validar(tipo){
	var xkey=window.event.keyCode;
	var sVal = window.event.srcElement.value;
	if(tipo=="int")
		if ((xkey < 48) || (xkey > 57))  event.returnValue = false;		
	if(tipo=="tel")
		if  (((xkey < 40) || (xkey > 57))||((xkey==42) ||(xkey==43) || (xkey==44) || (xkey==47) || (xkey==46))) event.returnValue = false;				
	if(tipo=="dec"){
		if (  (xkey==46 && sVal.indexOf('.')<= -1 )||(xkey==45)&& sVal.indexOf('-')<= -1 ){ event.returnValue = true;}
		else {if  ((xkey < 48) || (xkey > 57))  event.returnValue = false;}}
	if(tipo=="str"){
		if (((xkey != 32) && (xkey < 65)) || ((xkey > 90) && (xkey < 97)) || (xkey > 122))
			event.returnValue = false;				
	}
}


function cambiar_caracteres(cadena)
{
	var cadx;
	cadx=cadena;
	cadx=cambiar_letra("admi__admi",cadx,"¡");
	cadx=cambiar_letra("cadmi__cadmi",cadx,"!");
	cadx=cambiar_letra("raya2__raya2",cadx,"-");
	cadx=cambiar_letra("aaocute",cadx,"á");
	cadx=cambiar_letra("comsimp",cadx,"'");
	cadx=cambiar_letra("eaocute",cadx,"é");
	cadx=cambiar_letra("iaocute",cadx,"í");
	cadx=cambiar_letra("oaocute",cadx,"ó");
	cadx=cambiar_letra("uaocute",cadx,"ú");
	cadx=cambiar_letra("aeocute",cadx,"Á");
	cadx=cambiar_letra("eeocute",cadx,"É");
	cadx=cambiar_letra("ieocute",cadx,"Í");
	cadx=cambiar_letra("oeocute",cadx,"Ó");
	cadx=cambiar_letra("ueocute",cadx,"Ú");
	cadx=cambiar_letra("ueocute",cadx,"Ú");
	cadx=cambiar_letra("naocute",cadx,"ñ");
	cadx=cambiar_letra("neocute",cadx,"Ñ");
	cadx=cambiar_letra("daocute",cadx,"ü");
	cadx=cambiar_letra("dmaocute",cadx,"Ü");
	cadx=cambiar_letra("comcom",cadx,"´");
	cadx=cambiar_letra("x__x",cadx,"<");
	cadx=cambiar_letra("y__y",cadx,">");
	cadx=cambiar_letra("&lt;",cadx,"<");
	cadx=cambiar_letra("&gt;",cadx,">");
	cadx=cambiar_letra("amprs",cadx,"&");
	//****************************************
	cadx=cambiar_letra("sltl1",cadx,"<br>");

	
	cadx=cambiar_letra("sltl2",cadx,"");
	cadx=cambiar_letra("coms__coms",cadx,"''");
	cadx=cambiar_letra("com__com",cadx,"''");
	cadx=cambiar_letra("comsim__comsim",cadx,"’");
	cadx=cambiar_letra("comdob__comdob",cadx,"“");
	cadx=cambiar_letra("lsing__lsing",cadx,"¿");
	cadx=cambiar_letra("rsing__rsing",cadx,"?");
	cadx=cambiar_letra("raya__raya",cadx,"–");
	cadx=cambiar_letra("rcomdob__rcomdob",cadx,"”");
	cadx=cambiar_letra("comsimd__comsimd",cadx,"‘");	
	cadx=cambiar_letra("<ul>",cadx,"");
	cadx=cambiar_letra("</ul>",cadx,"");
	cadx=cambiar_letra("<li>",cadx,"");
	cadx=cambiar_letra("</li>",cadx,"");	
	cadx=cambiar_letra("<UL>",cadx,"");
	cadx=cambiar_letra("</UL>",cadx,"");
	cadx=cambiar_letra("<LI>",cadx,"");
	cadx=cambiar_letra("</LI>",cadx,"");		
	cadx=cambiar_letra("<FONT color=#003399>",cadx,"");			
	cadx=cambiar_letra("</FONT>",cadx,"");			
	
	
	return cadx;
}

function cambiar_letra(cad, s, cad_re)
{
	var pos, cad1, cad2, cadena, salida;
	salida=s;
	pos=salida.indexOf(cad);
	while(pos>=0){
			cad1=salida.substring(0,pos);
			cad2=salida.substring(pos+cad.length,salida.length);
			salida=cad1+cad_re+cad2;
			pos=salida.indexOf(cad);
	};
	
	return salida;
}

function valida_caracter(tipo){
	var xkey=window.event.keyCode;
	var sVal = window.event.srcElement.value;
	if(tipo=="int")
		if ((xkey < 48) || (xkey > 57))  event.returnValue = false;		
	if(tipo=="tel")
		if  (((xkey < 40) || (xkey > 57))||((xkey==42) ||(xkey==43) || (xkey==44) || (xkey==47) || (xkey==46))) event.returnValue = false;				
	if(tipo=="dec"){
		if (  (xkey==46 && sVal.indexOf('.')<= -1 )||(xkey==45)&& sVal.indexOf('-')<= -1 ){ event.returnValue = true;}
		else {if  ((xkey < 48) || (xkey > 57))  event.returnValue = false;}}
	if(tipo=="str"){
		if (((xkey != 32) && (xkey < 65)) || ((xkey > 90) && (xkey < 97)) || (xkey > 122))
			event.returnValue = false;				
	}
	if(tipo=="login")
		if ((xkey == 60) || (xkey == 62) || (xkey == 44)) event.returnValue = false;						
}

function next(form, control1, control2, cant) {
	var ctrl1 = eval(form+'.'+control1);
	var ctrl2 = eval(form+'.'+control2);
	if(ctrl1.value.length==cant) {
		ctrl2.focus();
	}
}
