function Crajax()
{
    this._xmlHttp = false;
    this._handler = null;
    this.Create = function(resphandler){
        if(!this._xmlHttp){
            // All the other browsers
            if(window.XMLHttpRequest){
                this._xmlHttp = new XMLHttpRequest();
            }   
            // Microsoft browsers
            else if(window.ActiveXObject){
                this._xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
                if(!this._xmlHttp){
                    this._xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
                }   
            }
        }

        /*if(!this._xmlHttp&&typeof XMLHttpRequest != 'undefined'){
            this._xmlHttp = new XMLHttpRequest();
        }*/
        this._handler = resphandler;
    }

    this.Open = function(reqtype,url,asynch){
        this._xmlHttp.open(reqtype, url, asynch);
        this._xmlHttp.onreadystatechange = this._handler;
        if(reqtype.toLowerCase() == "post"){
            this._xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=UTF-8");
            this._xmlHttp.send(arguments[3]);
        }
        else{
            this._xmlHttp.send(null);
        }
    }
    
    this.GetData = function(type){
        if(this._xmlHttp.readyState == 4){
            if(type=="xml"){
                return this._xmlHttp.responseXML;
            }
            else{
                return this._xmlHttp.responseText;
            }
        }
        return null;
    }
}

function buildQueryString(formid,encryptpw){
    var querystring = "";
    //var frm = document.forms[formid];
    var frm = document.getElementById(formid);
    var numberElements = frm.elements.length;
    for(var i = 0; i < numberElements; i++){

        if(encryptpw && (frm.elements[i].name=="password" || frm.elements[i].name=="repassword")){
            querystring += frm.elements[i].name+"="+encodeURIComponent(hex_md5(frm.elements[i].value))+"&";
        }
        else if(frm.elements[i].value=="on"){
            if(frm.elements[i].checked){
                querystring += frm.elements[i].name+"=1&";
            }
        }
        else{
            querystring += frm.elements[i].name+"="+encodeURIComponent(frm.elements[i].value)+"&";
        }
    }
    return querystring;
}

/*
<script language="javascript">
    //Ajax Object
    var ajaxObj = new Crajax();
    ajaxObj.Create(AjaxAct);

    // Ajax act function
    function AjaxAct(){
        var ret = ajaxObj.GetData();
        if(ret == null) return;
        // Your progress here
        if(ret=="OK"){
        }
    }

    // Ajax send function
    function Send(){
        ajaxObj.Open("post","abc.html","true","id=1");
    }
</script>
*/
