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) { ; }
var loginx_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; } catch(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) {return true;}
try { var v=""; ia_prevElem=null; iaGetElementById(elem.name+"_aviso").innerHTML ="";
if( elem.type=="text" || elem.type=="password" ) { v=elem.value; v=iaTrim(v);
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; } } }return true;
} catch(e) { return true; }  }
function iaChecaCampo(id) { try { return iaFocusLost(iaGetElementById(id),true); } catch(e) { return true; } }
function iaChecaForma(avisa) { var ok=true; ia_falta=""; ok=ok & iaChecaCampo("email"); ok=ok & iaChecaCampo("loginx"); ok=ok & iaChecaCampo("password"); 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) {  }
} 
function elemName(s) { if( s=="email") return "E-mail"; if( s=="loginx") return "Usuario"; if( s=="password") return "Password"; return s; }
function html_entity_decode( string ) { var ret, tarea = document.createElement('textarea'); tarea.innerHTML = string; ret = tarea.value; return ret; }
function iaGetElementById(id) { try { return document.getElementById(id); } catch(e) { return null; } } 
function iaTrim(s) {return s.replace(/^\s+|\s+$/, ''); }
function iaValidEmailRegEx(address) { try { var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/; return reg.test(address); } catch(e) { return true; } }
function iaSetFocus(id) { try { iaGetElementById(id).focus(); } catch(e) { ; } }
function sack(file) { this.xmlhttp = null; this.resetData = function() { this.method = "POST"; this.queryStringSeparator = "?"; this.argumentSeparator = "&"; this.URLString = ""; this.encodeURIString = true; this.execute = false; this.element = null; this.elementObj = null; this.requestFile = file; this.vars = new Object(); this.responseStatus = new Array(2); };
this.resetFunctions = function() {
this.onLoading = function() { };
this.onLoaded = function() { };
this.onInteractive = function() { };
this.onCompletion = function() { };
this.onError = function() { };
this.onFail = function() { }; };
this.reset = function() { this.resetFunctions(); this.resetData(); };
this.createAJAX = function() { try { this.xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e1) { try { this.xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); } catch (e2) { this.xmlhttp = null; } }
if (! this.xmlhttp) { if (typeof XMLHttpRequest != "undefined") { this.xmlhttp = new XMLHttpRequest(); } else { this.failed = true; } } };
this.setVar = function(name, value){ this.vars[name] = Array(value, false); };
this.encVar = function(name, value, returnvars) { if (true == returnvars) { return Array(encodeURIComponent(name), encodeURIComponent(value)); } else { this.vars[encodeURIComponent(name)] = Array(encodeURIComponent(value), true); } }
this.processURLString = function(string, encode) { encoded = encodeURIComponent(this.argumentSeparator); regexp = new RegExp(this.argumentSeparator + "|" + encoded); varArray = string.split(regexp); for (i = 0; i < varArray.length; i++){ urlVars = varArray[i].split("="); if (true == encode){ this.encVar(urlVars[0], urlVars[1]); } else { this.setVar(urlVars[0], urlVars[1]); } } }
this.createURLString = function(urlstring) { if (this.encodeURIString && this.URLString.length) { this.processURLString(this.URLString, true); } if (urlstring) { if (this.URLString.length) { this.URLString += this.argumentSeparator + urlstring; } else { this.URLString = urlstring; } }
this.setVar("rndval", new Date().getTime());
urlstringtemp = new Array(); for (key in this.vars) { if (false == this.vars[key][1] && true == this.encodeURIString) { encoded = this.encVar(key, this.vars[key][0], true); delete this.vars[key]; this.vars[encoded[0]] = Array(encoded[1], true); key = encoded[0]; } urlstringtemp[urlstringtemp.length] = key + "=" + this.vars[key][0]; } if (urlstring){ this.URLString += this.argumentSeparator + urlstringtemp.join(this.argumentSeparator); } else { this.URLString += urlstringtemp.join(this.argumentSeparator); } }
this.runResponse = function() { eval(this.response); }
this.runAJAX = function(urlstring) { if (this.failed) { this.onFail(); } else { this.createURLString(urlstring); if (this.element) { this.elementObj = document.getElementById(this.element); } if (this.xmlhttp) { var self = this; if (this.method == "GET") { totalurlstring = this.requestFile + this.queryStringSeparator + this.URLString; this.xmlhttp.open(this.method, totalurlstring, true); } else { this.xmlhttp.open(this.method, this.requestFile, true); try { this.xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded") } catch (e) { } }
this.xmlhttp.onreadystatechange = function() { switch (self.xmlhttp.readyState) { case 1: self.onLoading(); break; case 2: self.onLoaded(); break; case 3: self.onInteractive(); break; case 4: self.response = self.xmlhttp.responseText; self.responseXML = self.xmlhttp.responseXML; self.responseStatus[0] = self.xmlhttp.status; self.responseStatus[1] = self.xmlhttp.statusText; if (self.execute) { self.runResponse(); } if (self.elementObj) { elemNodeName = self.elementObj.nodeName; elemNodeName.toLowerCase(); if (elemNodeName == "input" || elemNodeName == "select" || elemNodeName == "option" || elemNodeName == "textarea") { self.elementObj.value = self.response; } else { self.elementObj.innerHTML = self.response; } } if (self.responseStatus[0] == "200") { self.onCompletion(); } else { self.onError(); } self.URLString = ""; break; } }; this.xmlhttp.send(this.URLString); } } }; this.reset(); this.createAJAX(); }

