/**
Zkontroluje domenu - zda je volna. Muze vracet tri hodnoty:
 0 - domena je obsazena
 1 - domena je volna
 2 - nepodarilo se zjistit
 3 - domena je nase
**/
function DomainCheckAsync(domainName){ 
    var req = null; 
    
    if(window.XMLHttpRequest)
        req = new XMLHttpRequest(); 
    else if (window.ActiveXObject)
        req  = new ActiveXObject(Microsoft.XMLHTTP); 
    
                
    req.onreadystatechange = function()
    {          
        if(req.readyState == 4)
        {
            if(req.status == 200)
            {
                var response = req.responseText;
                var domainData=response.split(/:/);
                if(domainData[1] == '1'){return 1;}
                else if(domainData[1] == '0'){return 0;}
                else if(domainData[1] == '3'){return 3;}
                else{return 2;}
            }    
            else    
            {
                return 2;
            }    
        } 
    };
    
    req.open("GET", "http://www.10centdomains.com/index.php?main=domaincheck&system=1&domaincheck=1&domainName="+domainName, true); 
    req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); 
    req.send(null); 
}


/**
Zkontroluje doménové jméno s tím, že se čeká na odpověď serveru
 0 - domena je obsazena
 1 - domena je volna
 2 - nepodarilo se zjistit
 3 - domena je nase
*/
function DomainCheckSync(domainName){
    var req = null; 
    
    if(window.XMLHttpRequest){
        req = new XMLHttpRequest(); 
    }else if (window.ActiveXObject){
        req  = new ActiveXObject(Microsoft.XMLHTTP); 
    }        

    req.open('GET', "http://www.10centdomains.com/index.php?main=domaincheck&system=1&domaincheck=1&domainName="+domainName, false);
    req.send(null);
    if (req.status == 200) {
        var response = req.responseText;
        var domainData=response.split(/:/);
        if(domainData[1] == '1'){return 1;}
        else if(domainData[1] == '0'){return 0;}
        else if(domainData[1] == '3'){return 3;}
        else{return 2;}
    }else{
        return 2;
    }    
}



function ajaxObject(url, callbackFunction) {
  var that=this;      
  this.updating = false;
  this.abort = function() {
    if (that.updating) {
      that.updating=false;
      that.AJAX.abort();
      that.AJAX=null;
    }
  }
  this.update = function(passData,postMethod) { 
    if (that.updating) { return false; }
    that.AJAX = null;                          
    if (window.XMLHttpRequest) {              
      that.AJAX=new XMLHttpRequest();              
    } else {                                  
      that.AJAX=new ActiveXObject("Microsoft.XMLHTTP");
    }                                             
    if (that.AJAX==null) {                             
      return false;                               
    } else {
      that.AJAX.onreadystatechange = function() {  
        if (that.AJAX.readyState==4) {             
          that.updating=false;                
          that.callback(that.AJAX.responseText,that.AJAX.status,that.AJAX.responseXML);        
          that.AJAX=null;                                         
        }                                                      
      }                                                        
      that.updating = new Date();                              
      if (/post/i.test(postMethod)) {
        var uri=urlCall+'?'+that.updating.getTime();
        
        that.AJAX.open("POST", uri, true);
        that.AJAX.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
        that.AJAX.setRequestHeader("Content-Length", passData.length);
        that.AJAX.send(passData);
      } else {
        var uri=urlCall+'?'+passData+'&timestamp='+(that.updating.getTime()); 
        that.AJAX.open("GET", uri, true);                             
        that.AJAX.send(null);                                         
      }              
      return true;                                             
    }                                                                           
  }
  var urlCall = url;        
  this.callback = callbackFunction || function () { };
}