function esDigito(sChr){
	var sCod = sChr.charCodeAt(0);
	return ((sCod > 47) && (sCod < 58));
}
function valSep(oTxt){
	var bOk = false;
	bOk = bOk || ((oTxt.value.charAt(2) == "-") && (oTxt.value.charAt(5) == "-"));
	bOk = bOk || ((oTxt.value.charAt(2) == "/") && (oTxt.value.charAt(5) == "/"));
	return bOk;
}

function finMes(oTxt){
        var nMes = parseInt(oTxt.value.substr(3, 2), 10);
        var nRes = 0;
        switch (nMes){
                case 1: nRes = 31; break;
                case 2: nRes = 29; break;
                case 3: nRes = 31; break;
                case 4: nRes = 30; break;
                case 5: nRes = 31; break;
                case 6: nRes = 30; break;
                case 7: nRes = 31; break;
                case 8: nRes = 31; break;
                case 9: nRes = 30; break;
                case 10: nRes = 31; break;
                case 11: nRes = 30; break;
                case 12: nRes = 31; break;
        }
        return nRes;
}

function valDia(oTxt){
	var bOk = false;
	var nDia = parseInt(oTxt.value.substr(0, 2), 10);
	bOk = bOk || ((nDia >= 1) && (nDia <= finMes(oTxt)));
	return bOk;
}

function valMes(oTxt){
	var bOk = false;
	var nMes = parseInt(oTxt.value.substr(3, 2), 10);
	bOk = bOk || ((nMes >= 1) && (nMes <= 12));
	return bOk;
}

function valAno(oTxt){
        var bOk = true;
        var nAno = oTxt.value.substr(6);
        bOk = bOk && ((nAno.length == 2) || (nAno.length == 4));
        if (bOk){
		for (var i = 0; i < nAno.length; i++){
			bOk = bOk && esDigito(nAno.charAt(i));
		}
	}
	return bOk;
}

function valFecha(oTxt){
        var bOk = true;
        if (oTxt.value != ""){
                bOk = bOk && (valAno(oTxt));
                bOk = bOk && (valMes(oTxt));
                bOk = bOk && (valDia(oTxt));
                bOk = bOk && (valSep(oTxt));
                if (!bOk){
                	oTxt.focus();
                        return false;
                }else{
                       return true;
		}
	}
}

function makeArray(n) {
        this.length = n;
        for (var i = 0; i<= n; i++) {
                this[i] = 0
        }
        return this
}

function validaEmail(s)
{
  var em = s
  largomail = em.length
  var coma = em.indexOf(",");
  var ap = 0;
  var pp = 0;
  var lvari= 0;
  var nu = 0;
  var nd = 0;
  var ncorreo = new makeArray(2)
  ap = em.indexOf("@");
  largomail = em.length
  if (ap < 1)
  {
     return false;
  } else {
	        var arroa ="@"
	        ncorreo = em.split(arroa);
        	nusuario = ncorreo[0];
	        ndominio = ncorreo[1];
                nu = nusuario.length;
                if (nu < 1){
     return false;

                }
	        nd = ndominio.split(".");
                if ((!nd[1]) || (!nd[0])){
     return false;

                }
                if ((nd[0].length<1) || (nd[1].length<2)){
     return false;

                }
  } 
  return true;
}

