function IsDefined( variable)
{
    return (typeof(window[variable]) == "undefined")?  false: true;
}

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 getXmlHttpRequestObject() {
 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 receiveReq = getXmlHttpRequestObject();

function makeRequest(url, param) {
 if (receiveReq.readyState == 4 || receiveReq.readyState == 0) {

   receiveReq.open("POST", url, true);
   receiveReq.onreadystatechange = updatePage; 

   receiveReq.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
   receiveReq.setRequestHeader("Content-length", param.length);
   receiveReq.setRequestHeader("Connection", "close");

   receiveReq.send(param);
 }   
}

function updatePage() {
 if (receiveReq.readyState == 4) {
   document.getElementById('todo').innerHTML = receiveReq.responseText;
   img = document.getElementById('imgCaptcha'); 
   if (IsDefined(img)) {
     img.src = 'create_image.php?' + Math.random();
   }
 }
}

function getParam(theForm) {
 var url = 'captcha_reg_chan.php?nick=' + encode64 ( theForm.nick.value ) + "&cnick1=" + encode64 ( theForm.cnick1.value ) + "&cnick2=" + encode64 ( theForm.cnick2.value ) + "&canal=" + encode64 ( theForm.canal.value ) + "&desc=" + encode64 ( theForm.desc.value ) + "&ccanal1=" + encode64 ( theForm.ccanal1.value ) + "&ccanal2=" + encode64 ( theForm.ccanal2.value ) + "&seccion=" + encode64 ( theForm.seccion.value );
 var postStr = theForm.txtCaptcha.name + "=" + encodeURIComponent( theForm.txtCaptcha.value );
 document.getElementById('todo').innerHTML = "<center><table border=0><tr><td rowspan=2><img src='images/esperando.jpg'><td>En proceso de registro, espera por favor...</td></tr> \
   <tr><td align='center'><img src='images/progressbar_green.gif'></td></tr></table></center>";
 makeRequest(url, postStr);
}

