// JavaScript Document

function correo(cadena){
var arr = new Array(
'.com','.net','.org','.biz','.coop','.info','.museum','.name',
'.pro','.edu','.gov','.int','.mil','.ac','.ad','.ae','.af','.ag',
'.ai','.al','.am','.an','.ao','.aq','.ar','.as','.at','.au','.aw',
'.az','.ba','.bb','.bd','.be','.bf','.bg','.bh','.bi','.bj','.bm',
'.bn','.bo','.br','.bs','.bt','.bv','.bw','.by','.bz','.ca','.cc',
'.cd','.cf','.cg','.ch','.ci','.ck','.cl','.cm','.cn','.co','.cr',
'.cu','.cv','.cx','.cy','.cz','.de','.dj','.dk','.dm','.do','.dz',
'.ec','.ee','.eg','.eh','.er','.es','.et','.fi','.fj','.fk','.fm',
'.fo','.fr','.ga','.gd','.ge','.gf','.gg','.gh','.gi','.gl','.gm',
'.gn','.gp','.gq','.gr','.gs','.gt','.gu','.gv','.gy','.hk','.hm',
'.hn','.hr','.ht','.hu','.id','.ie','.il','.im','.in','.io','.iq',
'.ir','.is','.it','.je','.jm','.jo','.jp','.ke','.kg','.kh','.ki',
'.km','.kn','.kp','.kr','.kw','.ky','.kz','.la','.lb','.lc','.li',
'.lk','.lr','.ls','.lt','.lu','.lv','.ly','.ma','.mc','.md','.mg',
'.mh','.mk','.ml','.mm','.mn','.mo','.mp','.mq','.mr','.ms','.mt',
'.mu','.mv','.mw','.mx','.my','.mz','.na','.nc','.ne','.nf','.ng',
'.ni','.nl','.no','.np','.nr','.nu','.nz','.om','.pa','.pe','.pf',
'.pg','.ph','.pk','.pl','.pm','.pn','.pr','.ps','.pt','.pw','.py',
'.qa','.re','.ro','.rw','.ru','.sa','.sb','.sc','.sd','.se','.sg',
'.sh','.si','.sj','.sk','.sl','.sm','.sn','.so','.sr','.st','.sv',
'.sy','.sz','.tc','.td','.tf','.tg','.th','.tj','.tk','.tm','.tn',
'.to','.tp','.tr','.tt','.tv','.tw','.tz','.ua','.ug','.uk','.um',
'.us','.uy','.uz','.va','.vc','.ve','.vg','.vi','.vn','.vu','.ws',
'.wf','.ye','.yt','.yu','.za','.zm','.zw','.cu','.eu');

 var allValid = true;	
 var s = cadena;
 var filter=/^[A-Za-z][A-Za-z0-9_]*@[A-Za-z0-9_]+\.[A-Za-z0-9_.]+[A-za-z]$/;
 if (!filter.test(s)){
  allValid = false;
 }	
var comprobacion = cadena;
var val = true;
var punto = comprobacion.lastIndexOf(".");
var nombre_dominio = comprobacion.substring(0,punto);
var extension = comprobacion.substring(punto,comprobacion.length);

if(punto>2 && punto<57)
{
for(var i=0; i<arr.length; i++)
{
if(extension == arr[i])
{
val = true;
break;
} 
else
{
val = false;
}
}
if(val == false)
{
  allValid = false;
} 
}  
 return allValid;   
}

function ValidaURL(url) {
 var re=/^(http:|https:|ftp:)\/\/\w+(\.\w+)*(\-\w+)?\.\w{2,3}(\:\d{2,6})?(\/{1,2}(\:|\-|\w|\.|\?|\/|\=|\&|\%|\@|\\|\,)*)?$/;
 return re.test(url);
}

function cadenaspuras(checkStr){
 var checkOK = "ABCDEFGHIJKLMNÑOPQRSTUVWXYZÁÉÍÓÚ" + "abcdefghijklmnñopqrstuvwxyzáéíóú ";
 var allValid = true;	
for (i = 0; i < checkStr.length; i++) {
    ch = checkStr.charAt(i); 
    for (j = 0; j < checkOK.length; j++)
      if (ch == checkOK.charAt(j))
        break;
    if (j == checkOK.length) { 
      allValid = false; 
      break; 
    }
 } 
 return allValid; 
}



function validar_contata(formulario){
if (formulario.nombre.value.length < 2) {
    alert("Escriba por lo menos 2 carácteres en el campo \"nombre\".");
	formulario.nombre.focus();
   return (false);
}

if (!cadenaspuras(formulario.nombre.value)) {
    alert("No se aceptan dígitos numéricos en el campo \"nombre\".");
	formulario.nombre.focus();
    return (false);
}

if (!correo(formulario.correo.value)) {
    alert("Error en el formato del \"correo\".");
	formulario.correo.focus();
    return (false);
}

if (formulario.asunto.value.length < 5) {
    alert("Escriba por lo menos 5 carácteres en el campo \"asunto\".");
	formulario.asunto.focus();
    return (false);
}

if (formulario.web.value!="" && formulario.web.value!="http://"){
if (!ValidaURL (formulario.web.value) ){
   alert("La dirección URL es incorrecta");
   formulario.web.focus();
   return (false);
  }
}

 return (true);
}
