/*
  Antispambot 1.0 - (c) NETservis, s.r.o. (Marek Demcak)
*/

// funkce pro pridani akce po nacteni stranky
function addLoadEvent(func) {
  var oldonload = window.onload;
  if (typeof window.onload != 'function') {
    window.onload = func;
  } else {
    window.onload = function() {
      oldonload();
      func();
    }
  }
}

// zavolani funkce pro ziskani captcha a schovani pozadavku na vyplneni captcha

addLoadEvent(function() {

  var fy=document.getElementsByTagName('form');
  if(fy.length==0) return;
  var i;
  for(i=0;i<fy.length;i++) {
    if(fy[i].fANITISPMIMG) {  // nalezen formular, ve kterem se pouziva captcha
      if(fy[i].fANITISPMHID.value.length==32) {  // mame k dispozici hash captchy
        // vytvoreni xhr
        var h=false;
        if (window.XMLHttpRequest) { // Mozilla, Safari,...
          h=new XMLHttpRequest();
        } else if (window.ActiveXObject) { // IE
          try {
            h=new ActiveXObject("Msxml2.XMLHTTP");
          } catch (e) {
            try {
              h=new ActiveXObject("Microsoft.XMLHTTP");
            } catch (e) {
              h=false;
            }
          }
        }
        if(!h) {
          return; // ajax nekompatibilni prohlizec - nutnost opsani kontrolniho kodu rucne (konec)
        } else {
          h.onreadystatechange = function() {
            if(h.readyState==4) {
              if(h.status == 200) {
                // vytvoreni skrytych formularovych poli, ktera nahradi puvodni, a do kterych se ulozi potrebne hodnoty
                var nhid=document.createElement('input');
                var nimg=document.createElement('input');
                nhid.name='fANITISPMHID';
                nimg.name='fANITISPMIMG';
                nhid.type='hidden';
                nimg.type='hidden';
                nhid.value=fy[i].fANITISPMHID.value;
                nimg.value=h.responseXML.getElementsByTagName('code')[0].firstChild.nodeValue; // precteme spravny kontrolni kod
                //alert(nimg.value);
                if(nimg.value.length!=6) return;  // obdrzen neplatny kontrolni kod - konec (nutnost vyplnit rucne)
                fy[i].appendChild(nhid);  // pridani elementu do formulare
                fy[i].appendChild(nimg);  // pridani elementu do formulare
                // hledame, zda je kontrolni kod pozadovan v ramci tabulky
                var tra=fy[i].fANITISPMIMG;
                var tma=5;
                while(tma>0) {
                  if(tra && tra.nodeName && tra.nodeName.toLowerCase()!='tr') {
                    tra=tra.parentNode;
                  }
                  tma--;
                }
                if(tma>0) { // kontrolni kod je v ramci tabulky
                  tra.parentNode.removeChild(tra);  // odebirame cely radek tabulky
                } else if(document.getElementById('md_ops')) {  // kontrolni kod neni v tabulce, musime odebrat element, ktery obaluje prislusne formularove prvky
                  document.getElementById('md_ops').parentNode.removeChild(document.getElementById('md_ops'));
                }
              }
            }
          };
          h.open('POST', '/ajax-antispam.php', true); // odeslani pozadavku metodou POST
          h.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded;charset=utf-8');
          h.send('fkeid='+fy[i].fANITISPMHID.value);
        }
      }
      break; // vyplnuje se captcha pouze prvniho nalezeneho formulare s captcha
    }
  }
  
});