///////////////////////////////////////////////////////////////////////////////////////////////////////////////
var ia_aqui=null;
var ia_no_aqui=null;
var ia_tache=null;
var ia_ok=null;
var ia_wait=null;
var ia_duda=null;
var ia_prevElem=null;
var ia_falta="";
try {
  ia_aqui=iaGetElementById("ia_aqui").src; 
  ia_no_aqui=iaGetElementById("ia_trans").src;
  ia_tache=iaGetElementById("ia_tache").src; 
  ia_ok=iaGetElementById("ia_ok").src;   
  ia_wait=iaGetElementById("ia_wait").src;
  ia_duda=iaGetElementById("ia_duda").src; 
} catch(e) { iaDebug("set dflt images "+e); }

  var loginx_check = new sack();
/*
  var postal_check = new sack();
  var pais_check = new sack();
  var paisDiv_check=new sack();
*/
try {  
  loginx_check.requestFile="ajax/login_name.php";
  loginx_check.method="GET"; 
  loginx_check.onCompletion = login_name_completed;
  loginx_check.onError = login_name_error;
  loginx_check.onFail = login_name_fail;
/*
  postal_check.requestFile="ajax/cp_mex.php";
  postal_check.method="GET"; 
  postal_check.onCompletion = postal_completed;
  postal_check.onError = postal_error;
  postal_check.onFail = postal_fail;
  
  pais_check.requestFile="ajax/pais_edo.php";
  pais_check.method="GET"; 
  pais_check.onCompletion = pais_completed;
  pais_check.onError = pais_error;
  pais_check.onFail = pais_fail;

  paisDiv_check.requestFile="ajax/pais_division.php";
  paisDiv_check.method="GET"; 
  paisDiv_check.onCompletion = paisDiv_completed;
  //paisDiv_check.onError = pais_error;
  //paisDiv_check.onFail = pais_fail;
*/      
} catch(e) { iaDebug("set dflt images "+e); }

function iaFocusSet(elem) {
  try { iaGetElementById(elem.name+"_marca").src=ia_aqui; } catch(e) { iaDebug("iaFocusSet "+e); return; }
}

function iaFocusLost(elem,esSubmit) {
  if(!esSubmit) ia_falta="";
  try { iaGetElementById(elem.name+"_marca").src=ia_no_aqui; } catch(e) { iaDebug("iaFocusLost marca set "+e); return true;}
  try {
       var v="";
       //var pais=iaGetElementById("pais_id").value;
       		 
       ia_prevElem=null;
       iaGetElementById(elem.name+"_aviso").innerHTML ="";
	   
       if( elem.type=="text" || elem.type=="password" ) {
          v=elem.value;
          v=iaTrim(v);
          
          /*
          if( v=="" && !(pais!="16" && elem.name=="postal") ) {
              iaGetElementById(elem.name+"_marca").src=ia_tache; 
              iaGetElementById(elem.name+"_aviso").innerHTML ="Es un dato requerido";
              ia_falta+="\r\n"+elemName(elem.name )+": Es un dato requerido";
              return false; 
          }
          */

          if( v=="" ) {
              iaGetElementById(elem.name+"_marca").src=ia_tache; 
              iaGetElementById(elem.name+"_aviso").innerHTML ="Es un dato requerido";
              ia_falta+="\r\n"+elemName(elem.name )+": Es un dato requerido";
              return false; 
          }
                    
          if( elem.name=="email")
               if( iaValidEmailRegEx(v) ) {
                 iaGetElementById(elem.name+"_marca").src=ia_ok; 
               } else {
                 iaGetElementById(elem.name+"_marca").src=ia_tache; 
                 iaGetElementById(elem.name+"_aviso").innerHTML ="Es un email incorrecto";
                 ia_falta+="\r\n"+elemName(elem.name )+": Es un email incorrecto";
                 return false;                
               }
           
           if( elem.name=="password") {
              iaGetElementById(elem.name+"_marca").src=ia_ok;
               return true;
           }
     
           if( elem.name=="loginx" && !esSubmit) {
              iaGetElementById(elem.name+"_marca").src=ia_wait;
              loginx_check.encVar("loginx", v);
              loginx_check.runAJAX();
              return true;
           }
           if( elem.name=="loginx" && esSubmit) {
             if( iaGetElementById("loginx_marca").src==ia_no_aqui || iaGetElementById("loginx_marca").src==ia_ok || iaGetElementById("loginx_marca").src==ia_duda ) {
                return true;
             } else {
               ia_falta+="\r\nRevisa el nombre de usuario";
               return false;
             }
           }
     
       /*    
           if( elem.name=="postal" && !esSubmit) {
                return checaPostal();
           }
           if( elem.name=="postal" && esSubmit) {
             if( iaGetElementById("postal_marca").src==ia_no_aqui || iaGetElementById("postal_marca").src==ia_ok  || iaGetElementById("postal_marca").src==ia_duda) {
                return true;
             } else {
               ia_falta+="\r\nRevisa el codigo postal";
               return false;
             }
           }
         */
     
         /*  
           if( elem.name=="edad") {
              if( isNaN(v) ) {
                 iaGetElementById(elem.name+"_marca").src=ia_tache; 
                 iaGetElementById(elem.name+"_aviso").innerHTML ="Es una edad incorrecta";
                 ia_falta+="\r\n"+elemName(elem.name )+": Es una edad incorrecta";
                 return false;                 
              }
              var edad=0;
              try { edad=parseInt(v); } catch(e) { ; }
              if( edad<17 || edad>140) {
                 iaGetElementById(elem.name+"_marca").src=ia_tache; 
                 iaGetElementById(elem.name+"_aviso").innerHTML ="Este es un sitio para mayores de edad";
                 ia_falta+="\r\n"+elemName(elem.name )+": Este es un sitio para mayores de edad";
                 return false;               
              } else {
                iaGetElementById(elem.name+"_marca").src=ia_ok;
                return true;
              }
           }
           */
           //return true;
       }
      
      /*
           if( elem.name=="estado_id" && !esSubmit ) {
                checaPostal();
           } 
       */
                  
       if( elem.type=="select-one" ) {
          v=elem.options[elem.selectedIndex].value;
         
          if( v=="") {
              iaGetElementById(elem.name+"_marca").src=ia_tache; 
              iaGetElementById(elem.name+"_aviso").innerHTML ="Seleccione una opci&oacute;n";
              ia_falta+="\r\n"+elemName(elem.name )+": Seleccione una alternativa";
              return false; 
          }

          iaGetElementById(elem.name+"_marca").src=ia_ok;
          return true;
       }
  
        if( elem.type=="radio" ) {
           if( elem.id=="generom" ) {
             if( iaGetElementById("generom").checked || iaGetElementById("generoh").checked ) {
                iaGetElementById("genero_marca").src=ia_ok;
                return true;  
              }           
           } else if( elem.id=="generoh" ) {
               if( iaGetElementById("generom").checked || iaGetElementById("generoh").checked ) {
                 iaGetElementById("genero_marca").src=ia_ok;
                 return true;              
               } else {
                 iaGetElementById("genero_marca").src=ia_tache; 
                 iaGetElementById("genero_aviso").innerHTML ="Seleccione una opci&oacute;n";
                 ia_falta+="\r\n"+elemName(elem.name )+": Seleccione una alternativa";
                 return false;                
               } 
            } 
        }
		
       return true;
  } catch(e) { iaDebug("iaFocusLost tache "+e); return true; }  
}

function iaChecaCampo(id) {
  try { return iaFocusLost(iaGetElementById(id),true); }
  catch(e) { return true; }
}

function checaPostal() {
return true;
/*
try {
        var pais=iaGetElementById("pais_id").value;
        var elem=iaGetElementById("postal");
        v=elem.value;  
        if(pais==16) {  
              if(v=='') {
                return true;
              }
              iaGetElementById(elem.name+"_marca").src=ia_wait;
              postal_check.encVar("postal", v);
              var edo=iaGetElementById("estado_id");
              var estado=edo.options[edo.selectedIndex].value;
              postal_check.encVar("estado", estado);
              postal_check.runAJAX();

              return true;
        } else {
              if(v=='') {
              iaGetElementById(elem.name+"_marca").src=ia_no_aqui; 
              } else {
              iaGetElementById(elem.name+"_marca").src=ia_ok;
              }
              iaGetElementById(elem.name+"_aviso").innerHTML ="";           
              return true;              
        }
} catch(e) { alert(e); }
*/
}

function iaChecaForma(avisa) {
 var ok=true;
 ia_falta="";
 ok=ok & iaChecaCampo("email");
 ok=ok & iaChecaCampo("loginx");
 ok=ok & iaChecaCampo("password");
 //ok=ok & iaChecaCampo("estado_id");
 //ok=ok & iaChecaCampo("postal");
 ok=ok & iaChecaCampo("generoh");
 //ok=ok & iaChecaCampo("edad");

 if( !ok && avisa ) alert(ia_falta);
 if(ok==false) return false; else return true;
}

/////////////////////////////////////////////////////////
function login_name_error() {
try {
      iaGetElementById("loginx_marca").src=ia_duda; 
      iaGetElementById("loginx_aviso").innerHTML ="Por favor intente otra vez.";      
} catch(e) { ; }
}
function login_name_fail() {
try {
      iaGetElementById("loginx_marca").src=ia_duda; 
      iaGetElementById("loginx_aviso").innerHTML ="Por favor intente otra vez.";      
} catch(e) { ; }
}
function login_name_completed() {
try {
  if (loginx_check.responseStatus) {
    if( isNaN( loginx_check.response ) ) {
      iaGetElementById("loginx_marca").src=ia_tache; 
      iaGetElementById("loginx_aviso").innerHTML ="Goshua dice: "+loginx_check.response;      
    } else if(loginx_check.response=="0") {
      iaGetElementById("loginx_marca").src=ia_ok;
      iaGetElementById("loginx_aviso").innerHTML ="";     
    } else {
      iaGetElementById("loginx_marca").src=ia_tache;
      iaGetElementById("loginx_aviso").innerHTML ="Nombre de usuario no disponible.";     
    }
  }  else  {
      iaGetElementById("loginx_marca").src=ia_duda;
      iaGetElementById("loginx_aviso").innerHTML ="";  
  } 
} catch(e) { iaDebug("login_name_completed "+e); }
}
/////////////////////////////////////////////////////
/*
function postal_error() {
try {
      iaGetElementById("postal_marca").src=ia_duda; 
      iaGetElementById("postal_aviso").innerHTML ="Por favor intente otra vez.";      
} catch(e) { ; }
}
function postal_fail() {
try {
      iaGetElementById("postal_marca").src=ia_duda; 
      iaGetElementById("postal_aviso").innerHTML ="Por favor intente otra vez.";      
} catch(e) { ; }
}
function postal_completed() {
try {
  if (postal_check.responseStatus) {
    if( isNaN( postal_check.response ) ) {
      iaGetElementById("postal_marca").src=ia_tache; 
      iaGetElementById("postal_aviso").innerHTML ="Goshua dice: "+postal_check.response;      
    } else if(postal_check.response=="0") {
      iaGetElementById("postal_marca").src=ia_tache;
      iaGetElementById("postal_aviso").innerHTML ="El c&oacute;digo postal no corresponde al estado ";          
    } else {
      iaGetElementById("postal_marca").src=ia_ok;
      iaGetElementById("postal_aviso").innerHTML ="";   
      iaGetElementById("estado_id_marca").src=ia_ok; 
    }
  }  else {
      iaGetElementById("postal_marca").src=ia_duda;
      iaGetElementById("postal_aviso").innerHTML ="";  
  } 
} catch(e) { ; }
}
*/
/////////////////////////////////////////////////////
/*
function pais_error() {       
      iaGetElementById("pais_id_marca").src=ia_duda;
      iaGetElementById("pais_id_aviso").innerHTML ="Por favor intente otra vez."; 
 }
function pais_fail() { 
      iaGetElementById("pais_id_marca").src=ia_duda;
      iaGetElementById("pais_id_aviso").innerHTML ="Por favor intente otra vez."; 
}
function pais_change(elem) {
	pais_check.encVar("pais_id", elem.value);
	pais_check.runAJAX();
	iaGetElementById("postal_marca").src=ia_no_aqui; 
	iaGetElementById("postal_aviso").innerHTML =""; 
        
	paisDiv_check.encVar("pais_id", elem.value);
	paisDiv_check.runAJAX();        
}			
function pais_completed() {
try {

  if (pais_check.responseStatus) {
        var s=html_entity_decode(pais_check.response);
        var a=s.split("|");
        var e=iaGetElementById("estado_id");
        e.options.length=0;
        var sel=true;
        j=0;
        for(var i = 0; i < a.length-1; i++, j++){
         e.options[j]=new Option(a[i+1], a[i], sel, false)
         sel=false;
         i++;
        
        }
        checaPostal();
  } 
} catch(e) { ; }        
}
function paisDiv_completed() {
try {
  if (paisDiv_check.responseStatus) {
	iaGetElementById("paisdivme").innerHTML=paisDiv_check.response;
  } 
} catch(e) { ; }        
}
*/
/////////////////////////////////////////////////////
function elemName(s) {
 if( s=="email") return "E-mail";
 if( s=="loginx") return "Usuario";
 if( s=="password") return "Password";
 //if( s=="confirma") return "Confirma tu password";
 if( s=="pais_id") return "Pais";
 if( s=="estado_id") return "Estado";
 if( s=="postal") return "Codigo postal";
 if( s=="civil") return "Estado civil";
 if( s=="genero") return "Sexo";
 if( s=="edad") return "Edad";
 if( s=="ocupacion") return "Ocupacion";
 if( s=="estudios") return "Estudios";
 return s;
}

function html_entity_decode( string ) {
    // http://kevin.vanzonneveld.net
    // +   original by: john (http://www.jd-tech.net)
    // +      input by: ger
    // +   improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // *     example 1: html_entity_decode('Kevin &amp; van Zonneveld');
    // *     returns 1: 'Kevin & van Zonneveld'
 
    var ret, tarea = document.createElement('textarea');
    tarea.innerHTML = string;
    ret = tarea.value;
    return ret;
}