function getXmlHttpObject(){
    var xmlHttp=null;
    try
    {
        xmlHttp=new XMLHttpRequest();
    }
    catch(e){
        try{
            xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
        }
        catch (e){
            xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
        }
    }
    return xmlHttp;
}

function goAjax( page, request, answerfunction ){
    var ajax = getXmlHttpObject();
    ajax.open("POST", "index.php" , true);

    var params = request + "&acts=" + page + "&ajaxs=true";
    ajax.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    ajax.setRequestHeader("Content-length", params.length);
    ajax.setRequestHeader("Connection", "close");

    ajax.onreadystatechange = function() {//Call a function when the state changes.
        if(ajax.readyState == 4 && ajax.status == 200) {
            answerfunction(ajax.responseText);
        }
    }

    ajax.send( params );
}

function goAjax2( page, request, answerfunction, waitfunction ){
    var ajax = getXmlHttpObject();
    ajax.open("POST", "index.php" , true);

    var params = request + "&acts=" + page + "&ajaxs=true";
    ajax.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    ajax.setRequestHeader("Content-length", params.length);
    ajax.setRequestHeader("Connection", "close");

    ajax.onreadystatechange = function() {//Call a function when the state changes.
        if(ajax.readyState == 4 && ajax.status == 200) {
            answerfunction(ajax.responseText);
        }
        if(ajax.readyState == 3) {
            waitfunction();
        }
    }

    ajax.send( params );
}

function goAjaxXml( page, request, answerfunction ){
    var ajax = getXmlHttpObject();
    ajax.open("POST", "index.php" , true);

    var params = request + "&acts=" + page + "&ajaxs=true";
    ajax.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    ajax.setRequestHeader("Content-length", params.length);
    ajax.setRequestHeader("Connection", "close");

    ajax.onreadystatechange = function() {//Call a function when the state changes.
        if(ajax.readyState == 4 && ajax.status == 200) {
            answerfunction(ajax.responseXML);
        }
    }

    ajax.send( params );
}



function getFormValues(fobj)
{
    var str = "";
    for(var i = 0;i < fobj.elements.length;i++)
    {
        var field = fobj.elements[i];
        if( field.type != "button" && field.type != "elements" && field.type != "FileUpload" &&
            field.type != "option" && field.type != "radio" ){

            str += fobj.elements[i].name + "=";
            if( field.type == "checkbox" ){
                if( field.checked )
                    str += "1";
                else
                    str += "0";
            }
            else if( field.type == "select-one" ){
                str += field.options[ field.selectedIndex ].value;
            }
            else if( field.type == "text" || field.type == "textarea" || field.type == "hidden" || field.type == "password" )
                str += field.value;

            str += "&";
        }
    }
    str = str.substr(0,(str.length - 1));
    return str;
}

