﻿function AjaxConnection(cfunc){
    var xmlhttp;
    if (window.XMLHttpRequest) {
        xmlhttp = new XMLHttpRequest();
    }
    else 
        if (window.ActiveXObject) {
            xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
        }
        else {
            alert("Desteklenmiyor!!");
        }
    
    xmlhttp.onreadystatechange = cfunc;
    return xmlhttp;
}

function SetParam(sName, sValue){
    var sParam = encodeURIComponent(sName);
    sParam += "=";
    sParam += encodeURIComponent(sValue);
    return sParam;
}

function SetFormBody(Form){
    var aParams = new Array();
    var oForm = Form;
    for (var i = 0; i < oForm.elements.length; i++) {
        var oField = oForm.elements[i];
        switch (oField.type) {
            case "button":
            case "submit":
            case "reset":
                break;
            case "checkbox":
            case "radio":
                if (!oField.checked) {
                    break;
                }
            case "text":
            case "hidden":
            case "password":
                aParams.push(SetParam(oField.name, oField.value));
                break;
            default:
                switch (oField.tagName.toLowerCase()) {
                    case "select":
                        aParams.push(SetParam(oField.name, oField.options[oField.selectedIndex].value));
                        break;
                    default:
                        aParams.push(SetParam(oField.name, oField.value));
                }
        }
    }
    return aParams.join("&");
}

function SendAjaxPost(form, url){
    var oForm = form;
    var sBody = SetFormBody(oForm);
    var oXHR = new AjaxConnection(null);
    var result = "";
    oXHR.open("Post", url, false);
    oXHR.setRequestHeader("Content-Type", "application/x-www-form-urlencoded;charset=UTF-8");
    oXHR.setRequestHeader("Content-length", sBody.length);
    oXHR.setRequestHeader("Connection", "closed");
    oXHR.send(sBody);
    oXHR.onreadystatechange = function(){
        if (oXHR.readyState == 4) {
        
            if (oXHR.status == 200) {
            
                result = oXHR.responseText;
            }
            else {
                result = "bir hata meydana geldi : " + oXHR.responseText;
            }
        }
        else {
            alert(1);
        }
    };
    return result = oXHR.responseText;
}

