var keyStr = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";

function encode64(input) {
   var output = "";
   var chr1, chr2, chr3;
   var enc1, enc2, enc3, enc4;
   var i = 0;

   do {
      chr1 = input.charCodeAt(i++);
      chr2 = input.charCodeAt(i++);
      chr3 = input.charCodeAt(i++);

      enc1 = chr1 >> 2;
      enc2 = ((chr1 & 3) << 4) | (chr2 >> 4);
      enc3 = ((chr2 & 15) << 2) | (chr3 >> 6);
      enc4 = chr3 & 63;

      if (isNaN(chr2)) {
         enc3 = enc4 = 64;
      } else if (isNaN(chr3)) {
         enc4 = 64;
      }

      output = output + keyStr.charAt(enc1) + keyStr.charAt(enc2) +
         keyStr.charAt(enc3) + keyStr.charAt(enc4);
   } while (i < input.length);

   return output;
}


function getXmlHttpRequestObject3() {
 if (window.XMLHttpRequest) {
    return new XMLHttpRequest(); //Mozilla, Safari ...
 } else if (window.ActiveXObject) {
    return new ActiveXObject("Microsoft.XMLHTTP"); //IE
 } else {
    alert("Your browser doesn't support the XmlHttpRequest object.");
 }
}

var receiveReq3 = getXmlHttpRequestObject3();

function makeRequest3(url, param) {
 if (receiveReq3.readyState == 4 || receiveReq3.readyState == 0) {

   receiveReq3.open("POST", url, true);
   receiveReq3.onreadystatechange = updatePage3; 

   receiveReq3.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
   receiveReq3.setRequestHeader("Content-length", param.length);
   receiveReq3.setRequestHeader("Connection", "close");

   receiveReq3.send(param);
 }   
}

function updatePage3() {
 if (receiveReq3.readyState == 4) {

   var res = receiveReq3.responseText;
   if ( res == 0 ) {
     document.getElementById('res_check').innerHTML = '<img src="images/denegado.gif">&nbsp;&nbsp;<span class="comprobando">Ocupado</span>';
     document.getElementById('check').innerHTML = '<a href="#" id="nickCaptcha" name="nickCaptcha" onclick="checkParam(document.frmCaptcha);this.blur();"><span class="comprobar">Comprobar disponibilidad</span></a>';
     document.getElementById('doreg').innerHTML = '';
     document.getElementById('nick').focus();
   } else if ( res == 1 ) {
     document.getElementById('nick').readOnly = true;
     document.getElementById('nick').style.backgroundColor = "d0cb9a";

     document.getElementById('email1').disabled = false;
     document.getElementById('email2').disabled = false;
     document.getElementById('txtCaptcha').disabled = false;

     document.getElementById('masdatos').style.display = "inline";

     document.getElementById('email1').style.backgroundColor = "ffffff";
     document.getElementById('email2').style.backgroundColor = "ffffff";
     document.getElementById('txtCaptcha').style.backgroundColor = "ffffff";

     document.getElementById('email1').focus();
     document.getElementById('res_check').innerHTML = '<img src="images/aceptado.gif">&nbsp;&nbsp;<span class="comprobando">Disponible</span>';
     document.getElementById('doreg').innerHTML = '<a class="button" href="#" id="btnCaptcha" name="btnCaptcha" onclick="getParam(document.frmCaptcha);this.blur();"><span>Registrar</span></a>';
     document.getElementById('check').innerHTML = '<a href="#" onclick="Restaurar();"><span class="comprobar">Utilizar otro nick<span></a>';
   }
 }

}

function Restaurar() {

  document.getElementById('res_check').innerHTML = '';
  document.getElementById('check').innerHTML = '<a href="#" id="nickCaptcha" name="nickCaptcha" onclick="checkParam(document.frmCaptcha);this.blur();"><span class="comprobar">Comprobar disponibilidad</span></a>';
  document.getElementById('doreg').innerHTML = '';

  document.getElementById('masdatos').style.display = "none";

  document.getElementById('nick').value = '';
  document.getElementById('nick').readOnly = false;
  document.getElementById('nick').style.backgroundColor = "FFFFFF";
  document.getElementById('nick').focus();

}

function checkParam(theForm) {
 var url = 'captcha_check_nick.php?nick=' + encode64 ( theForm.nick.value );
 var postStr = '';
 document.getElementById('check').innerHTML = '<span class="comprobando">Comprobando...</span>';
 document.getElementById('res_check').innerHTML = '<img src=images/cnick.gif border="0">';
 makeRequest3(url, postStr);
}

