var pp = 200000;  // auto repeat timeout
var popogr = 3; // auto repeat border
var popitka;        // autorepeat counter
// var waittext = '<h3>Loading data..</h3><br><small>Auto & manual <a href="#1" onClick="RepeatRequest();">repeat request</a></small>';
// var waittext2 = '<h3>Repeat request..</h3><br><small>Auto & manual <a href="#1" onClick="RepeatRequest();">repeat request</a></small>';
var waittext = '<table width=100% align=center><TR><TD width=50% valign=center align=right nowrap><b>Loading..</b></TD><TD valign=center align=left nowrap><img src=http://www.seofreetools.net/images/loading.gif></TD></TR></table>';
var waittext2 = '<h3>Repeat request..</h3>';
var request;   
var xtarget;        // target position
var xmethod;        // request method
var xurl;       // request place (GET)
var postdata;       // request data (post)
var autoRepeat;     // automatic repeat request after [pp] ms

function doLoad(url,xsubpos) 
    {
    popitka = 0;
    xtarget = xsubpos;
    xmethod = 1;        // GET
    xurl = url;     // remember url

    if(xtarget != 'betarea'){
        document.getElementById('betarea').innerHTML = '';
    }

    document.getElementById(xtarget).innerHTML = waittext;
    if (window.XMLHttpRequest) {   
        request = new XMLHttpRequest();   
        request.onreadystatechange = processRequestChange;   
        request.open("GET", url, true);   
        request.send(null);   
        autoRepeat = window.setTimeout("RepeatRequest();", pp);
        } 
    else 
        if (window.ActiveXObject) 
            {   
            request = new ActiveXObject("Microsoft.XMLHTTP");   
            if (request) {   
                request.onreadystatechange = processRequestChange;   
                request.open("GET", url, true);   
                request.send();
                autoRepeat = window.setTimeout("RepeatRequest();", pp);
                }
            } 
    } 


function doLoadRepeat(url,xsubpos) 
    {   
    document.getElementById(xtarget).innerHTML = waittext2;
    if (window.XMLHttpRequest) {   
        request = new XMLHttpRequest();   
        request.onreadystatechange = processRequestChange;   
        request.open("GET", url, true);   
        request.send(null);   
        } 
    else 
        if (window.ActiveXObject) 
            {   
            request = new ActiveXObject("Microsoft.XMLHTTP");   
            if (request) {   
                request.onreadystatechange = processRequestChange;   
                request.open("GET", url, true);   
                request.send();   
                }   
            }   
    }   



function RepeatRequest()
    {
    popitka++;
    if (popitka>=popogr) {clearTimeout(autoRepeat);} 
    if (popitka=popogr) {autoRepeat = window.setTimeout("RepeatRequest();", pp*2);} 
    if (xmethod == 1)
        {
        doLoadRepeat(xurl,xtarget);
        }
    else
        {
        doLoadPostRepeat(xurl,xtarget);
        }
    }

function doLoadPostRepeat(url,xsubpos) 
    {  
    xtarget = xsubpos;
    xmethod = 2; // POST
    xurl = url;
    var out = ''; 
    out = postdata;
    //## ??
    xtarget = xsubpos;

    if(xtarget != 'betarea'){
        document.getElementById('betarea').innerHTML = '';
    }
    document.getElementById(xtarget).innerHTML = waittext2;
    if (window.XMLHttpRequest) {   
        rSequest = new XMLHttpRequest();   
        request.onreadystatechange = processRequestChange;   
        request.open("POST", url, true);
        request.setRequestHeader("Content-Type","application/x-www-form-urlencoded;");
        request.send(out);   
        }
    else 
        if (window.ActiveXObject) {   
            request = new ActiveXObject("Microsoft.XMLHTTP");   
            if (request) {   
                request.onreadystatechange = processRequestChange;   
                request.open("POST", url, true);   
                request.setRequestHeader("Content-Type","application/x-www-form-urlencoded;");
                request.send(out);   
                }   
            }   

    

    } 


function doLoadPost(url,formname,xsubpos) 
    {
    popitka = 0;
    xtarget = xsubpos;
    xmethod = 2; // POST
    xurl = url;
    var out = ''; 
    var xform = document.forms[formname];
    var fldcount = xform.elements.length; 
    for (var i=0; i< fldcount; i++) 
        { 
        var obj = xform.elements[i]; 
        var st = obj.name; 
        var v = obj.value;
        if (obj.type == 'text' || obj.type == 'hidden' || obj.tagname == 'select' || obj.tagname == 'textarea') {var v = obj.value;}
        if (obj.type == 'radio' || obj.type == 'checkbox') {var v = obj.checked;}
        //st=st.substr(0, 2); 
        if (out != "") out += "&";
        out += (st + '=' + encodeURIComponent(v));
        } 
    postdata = out;
    document.getElementById(xtarget).innerHTML = waittext;
    //## ??
    xtarget = xsubpos;
    if (window.XMLHttpRequest) {   
        request = new XMLHttpRequest();   
        request.onreadystatechange = processRequestChange;   
        request.open("POST", url, true);
        request.setRequestHeader("Content-Type","application/x-www-form-urlencoded;");
        request.send(out);   
        autoRepeat = window.setTimeout("RepeatRequest();", pp);
        }
    else 
        if (window.ActiveXObject) {   
            request = new ActiveXObject("Microsoft.XMLHTTP");   
            if (request) {   
                request.onreadystatechange = processRequestChange;   
                request.open("POST", url, true);   
                request.setRequestHeader("Content-Type","application/x-www-form-urlencoded;");
                request.send(out);   
                autoRepeat = window.setTimeout("RepeatRequest();", pp);
                }
            }
    }

function getRequestStateText(code) {   
switch (code) {   
case 0: return "Uninitialized."; break;   
case 1: return "Loading..."; break;   
case 2: return "Loaded."; break;   
case 3: return "Interactive..."; break;   
case 4: return "Complete."; break;   
}   
}   
  
function processRequestChange() {   
    abortRequest = window.setTimeout("request.abort();", 60000);   
    // ?? ????   
// alert(request.readyState);
    if (request.readyState == 4) {
        clearTimeout(abortRequest);
        clearTimeout(autoRepeat);
        // ?? ???   
        if (request.status == 200) {        
            document.getElementById(xtarget).innerHTML = request.responseText;
        }
    }
}

function SubmitSearchForm(url,formname,xsubpos,val){
    document.getElementById('searchsec').value = val;
    doLoadPost(url,formname,xsubpos);
}


// function to select textarea
function selectObjectContent(objid){
    document.getElementById(objid).select();
}