function isTel(s) {
  var validchart="0123456789",
  dif0 = false;
  pos=0;
  for (var i=0;i<s.length;i++){
    if ((validchart.indexOf(s.charAt(i)))==-1) return false;
    if (s.charAt(i)!= "0") dif0 = true;
  }
  if (!dif0) return false;
  return true;
}

function isPwd(s) {
  var validchart="abcdefghijklmnñopqrstuvwxyzABCDEFGHIJKLMNÑOPQRSTUVWXYZ0123456789_";
  pos=0;
  for (var i=0;i<s.length;i++){
    if ((validchart.indexOf(s.charAt(i)))==-1) return false;
  }
  return true;
}

function isUsr(s) {
  var validchart="abcdefghijklmnñopqrstuvwxyzABCDEFGHIJKLMNÑOPQRSTUVWXYZ0123456789";
  pos=0;
  for (var i=0;i<s.length;i++){
    if ((validchart.indexOf(s.charAt(i)))==-1) return false;
  }
  return true;
}


function isRFC(s) {
  var validchart="abcdefghijklmnñopqrstuvwxyzABCDEFGHIJKLMNÑOPQRSTUVWXYZ0123456789_.,-/";
  pos=0;
  for (var i=0;i<s.length;i++){
    if ((validchart.indexOf(s.charAt(i)))==-1) return false;
  }
  return true;
}

function isLS(s) {
  var validchart="abcdefghijklmnñopqrstuvwxyzáéíóúABCDEFGHIJKLMNÑOPQRSTUVWXYZÁÉÍÓÚ .,-_/#&();";
  pos=0;
  for (var i=0;i<s.length;i++){
    if ((validchart.indexOf(s.charAt(i)))==-1) return false;
  }
  return true;
}

function isPlace(s) {
  var validchart="abcdefghijklmnñopqrstuvwxyzáéíóúABCDEFGHIJKLMNÑOPQRSTUVWXYZÁÉÍÓÚ .,-_/#&();0123456789";
  pos=0;
  for (var i=0;i<s.length;i++){
    if ((validchart.indexOf(s.charAt(i)))==-1) return false;
  }
  return true;
}

function isEmpty(s) {
  for (var i = 0; i < s.length; i++){
    var c = s.charAt(i);
    if ((c != ' ') && (c != '\n') && (c != '\t')) return false;
  }
  return true;
}

function isMail(x) {
  var validchart="-_0123456789@.abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ",
  pos=0;
  if (("_0123456789@.".indexOf(x.charAt(0)))!=-1) return false;
  if ((x.indexOf(".@")!=-1)||(x.indexOf("@.")!=-1)||(x.indexOf("..")!=-1)||(x.indexOf("@@")!=-1)) return false;
  pos=x.indexOf('@');
  if (pos!=-1) if (x.indexOf('@',pos+1)!=-1) return false;
    if ((x.indexOf('@')!=-1) && (x.indexOf('.')!=-1)){
     for (var i=0;i<x.length;i++)
        if ((validchart.indexOf(x.charAt(i)))==-1) return false;
  }
  else return false;
  return true;
}

function alertMsg(e,msg){
  e.selected = true;
  e.focus();
  alert(msg);
  return false;
}

function leyenda(strname) {
  switch (strname){
  	case "nb_mmbr_rzn_social": return "Proporcione la razón social por favor.";
  	case "nb_mmbr_rfc": return "Proporcione el RFC por favor.";
  	case "calle": return "Proporcione la calle y numero por favor.";
//  	case "no_ext": return "Proporcione el numero exterior por favor.";
//  	case "no_int": return "Proporcione el numero interior por favor.";
  	case "nb_mmbr_colonia": return "Proporcione la colonia por favor.";
  	case "nb_mmbr_ciudad": return "Proporcione la ciudad por favor.";
  	case "nb_mmbr_pais": return "Proporcione el pais por favor.";
  	case "cd_mmbr_postal": return "Proporcione el código postal por favor.";
  	case "lada1": return "Proporcione la clave lada del teléfono por favor.";
  	case "tel1": return "Proporcione el teléfono por favor.";
  	case "nu_mmbr_extension": return "Proporcione la extensión del teléfono por favor.";
  	case "lada2": return "Proporcione la clave lada del fax por favor.";
  	case "tel2": return "Proporcione el número de fax por favor.";
  	case "nu_mmbr_extension2": return "Proporcione la extensión del fax por favor.";
  	case "nb_miembro": return "Proporcione el nombre por favor.";
  	case "nb_mmbr_paterno": return "Proporcione el apellido paterno por favor.";
  	case "nb_mmbr_materno": return "Proporcione el apellido materno por favor.";
  	case "nb_mmbr_email": return "Proporcione el e-mail por favor.";
  	case "nb_mmbr_usuario": return "Proporcione su nombre de usuario por favor.";
  	case "nb_mmbr_password": return "Proporcione su clave por favor.";
  	case "nb_mmbr_password2": return "Proporcione la confirmacion de su clave por favor.";
  	case "nb_mmbr_pregunta": return "Proporcione  por favor.";
  	case "nb_mmbr_respuesta": return "Proporcione  por favor.";
  }
}

function validaTpPer(f){
	f.nb_miembro.ob = true;
	f.nb_mmbr_paterno.ob = true;
	f.nb_mmbr_materno.ob = true;
	f.nb_mmbr_email.ob = true;
	
	// Cadenas de letras y espacios
	f.nb_miembro.ls = true;
    f.nb_mmbr_paterno.ls = true;
    f.nb_mmbr_materno.ls = true;
	
	// email
  	f.nb_mmbr_email.mail = true;
	
	for (var i=0; i<f.length; i++){
	    e = f.elements[i];
    	if (((e.type == "text") || (e.type == "textarea")) && e.ob){
     		 if ((e.value == null) || (e.value == "") || isEmpty(e.value)){
		     	msg = "Información Indispensable:\n" + leyenda(e.name);
        		return alertMsg(e,msg);
			 }
      	}
		if (e.mail){
     		if (!isMail(e.value)){
		        msg = "El E-Mail es incorrecto:\n" + leyenda(e.name);
        		return alertMsg(e,msg);
      		}
    	}
    }
	return true;
}
function valida(f){

  // Obligatorios
  f.nb_mmbr_rfc.ob = true;
  f.calle.ob = true;
//  f.no_ext.ob = true;
  f.nb_mmbr_colonia.ob = true;
  f.nb_mmbr_ciudad.ob = true;
  f.nb_mmbr_pais.ob = true;
  f.cd_mmbr_postal.ob = true;
  f.tel1.ob = true;
  
 
  f.nb_mmbr_usuario.ob = true;
  f.nb_mmbr_password.ob = true;
  f.nb_mmbr_password2.ob = true;
  f.nb_mmbr_pregunta.ob = true;
  f.nb_mmbr_respuesta.ob = true;

  // Numéricos
//  f.no_ext.num = true;
  f.lada1.num = true;
  f.tel1.num = true;
  f.nu_mmbr_extension.num = true;
  f.lada2.num = true;
  f.tel2.num = true;
  f.nu_mmbr_extension2.num = true;
  f.cd_mmbr_postal.num = true;
 

  // Cadenas de letras y espacios
  f.nb_mmbr_ciudad.ls = true;

  // Telefonos
  f.lada1.tele = true;
  f.tel1.tele = true;
  f.nu_mmbr_extension.tele = true;
  f.lada2.tele = true;
  f.tel2.tele = true;
  f.nu_mmbr_extension2.tele = true;
  f.cd_mmbr_postal.tele = true;

  // Otros
  f.nb_mmbr_rfc.rfc = true;
  f.calle.plc = true;
  f.nb_mmbr_colonia.plc = true;
  f.nb_mmbr_usuario.usr = true;

//  (rdv190402)f.nb_mmbr_usuario.pwd = true;
  f.nb_mmbr_password.pwd = true;
  f.nb_mmbr_password2.pwd = true;


  var msg = "";
  var e;
  tm = 0;

  for(var i=0; i<f.length; i++){
    e = f.elements[i];

    if((e.type == "text") || (e.type == "textarea")){
      if(!isEmpty(e.value)){ e.ob = true; }
    }

    if (((e.type == "text") || (e.type == "textarea")) && (e.ob || (e.name=="nb_mmbr_rzn_social")) && !e.num){
      if ((e.value == null) || (e.value == "") || isEmpty(e.value)){
        msg += "Información Indispensable:\n" + leyenda(e.name);
        return alertMsg(e,msg);
      }
    }

/*    if ((e.name == "sp_estado")){
      if ((e.options[0].selected) || (e.value == 0) || (e.value == "0")){
        msg += "Información Indispensable:\n" + leyenda(e.name);
        return alertMsg(e,msg);
      }
    }            */

    if (e.num && e.ob){
      var v = parseFloat(e.value);
      if (isNaN(v)){
        msg += "La información que se solicita, debe tener caracteres numéricos:\n" + leyenda(e.name);
        return alertMsg(e,msg);
      }
    }

    if (e.mail){
      if (!isMail(e.value)){
        msg += "Información indispensable:\n" + leyenda(e.name);
        return alertMsg(e,msg);
      }
    }

    if (e.name == "nb_mmbr_password2"){
      et = f.nb_mmbr_password;
      if(e.value != et.value){
        msg += "El password no concuerda, insertelo otra vez por favor.";
        e.value=""; et.value="";
        return alertMsg(et,msg);
      }
    }

    if (e.name == "nb_mmbr_usuario"){
      var valor = e.value;
      tm = valor.length;
      if((tm < 6)||(tm>8)){
        msg += "El nombre de usuario debe tener de 6 a 8 caracteres.";
        return alertMsg(e,msg);
      }
    }

    if (e.usr){
      if (!isUsr(e.value)){
        msg += "La información solicitada debe tener solo letras y números:\n" + leyenda(e.name);
        return alertMsg(e,msg);
      }
    }

    if (e.name == "nb_mmbr_password"){
      var valor = e.value;
      tm = valor.length;
      if((tm < 6)||(tm>8)){
        msg += "El password debe tener de 6 a 8 caracteres.";
        return alertMsg(e,msg);
      }
    }

    if (e.ls){
      if (!isLS(e.value)){
        msg += "La información solicitada debe tener solo letras y espacios:\n" + leyenda(e.name);
        return alertMsg(e,msg);
      }
    }

    if (e.plc || e.name =="nb_mmbr_rzn_social"){
      if (!isPlace(e.value)){
        msg += "La información solicitada debe tener solo letras, números y espacios:\n" + leyenda(e.name);
        return alertMsg(e,msg);
      }
    }

    if (e.pwd){
      if (!isPwd(e.value)){
        msg += "La información solicitada debe tener solo letras y números:\n" + leyenda(e.name);
        return alertMsg(e,msg);
      }
    }

    if (e.rfc){
      if (!isRFC(e.value)){
        msg += "La información solicitada debe tener solo letras y números:\n" + leyenda(e.name);
        return alertMsg(e,msg);
      }
    }

    if ((e.tele)&&(e.ob)){
      if (!isTel(e.value)){
        msg += "El valor insertado no es valido:\n" + leyenda(e.name);
        return alertMsg(e,msg);
      }
    }

  }
  return true;
}

