﻿var http_request = false;
function makePOSTRequest(url, parameters, returndata, sbmtbuton) {
    http_request = false;
    if (window.XMLHttpRequest) { // Mozilla, Safari,...
        http_request = new XMLHttpRequest();
        if (http_request.overrideMimeType) {
            http_request.overrideMimeType('text/html');
        }
    } else if (window.ActiveXObject) { // IE
        try {
            http_request = new ActiveXObject("Msxml2.XMLHTTP");
        } catch (e) {
            try {
                http_request = new ActiveXObject("Microsoft.XMLHTTP");
            } catch (e) { }
        }
    }
    if (!http_request) {
        alert('Cannot create XMLHTTP instance');
        return false;
    }

    http_request.onreadystatechange = function() { alertContents(returndata, sbmtbuton); };
    http_request.open('POST', url, true);
    http_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    http_request.setRequestHeader("Content-length", parameters.length);
    http_request.setRequestHeader("Connection", "close");
    http_request.send(parameters);
}

function alertContents(returndata, submitbtn) {
    if (http_request.readyState == 4) {
        if (http_request.status == 200) {
            returndata.innerHTML = '';
            result = http_request.responseText;
            returndata.innerHTML = result;
        } else {
            returndata.innerHTML = 'HTTP Status : ' + http_request.status;
        }

        returndata.style.display = 'block';
        returndata.style.visibility = 'visible';
        
        submitbtn.setAttribute('value', submitbtn.getAttribute('eskiad'));
        submitbtn.disabled = false;
    }
    
    
}

function XMPostForm(obj, url, returndata) {
    var elemanlar = getAllFormElements(obj);
    var poststr = '';
    var submitbtn = null;
    for (var i in elemanlar) {
        var add = false;
        if (typeof (elemanlar[i]) == 'object') {
            if (elemanlar[i].type.toString() == 'submit') { submitbtn = elemanlar[i]; }
            
            if (elemanlar[i].name != '') {
                if (elemanlar[i].type == 'radio') { add = elemanlar[i].checked; } else { add = true; }
                if (add) { poststr += ((poststr == '') ? '' : '&') + elemanlar[i].name + "=" + encodeURI(elemanlar[i].value); }
            }
        }
    }
    
    if (submitbtn) {
        submitbtn.setAttribute('disabled', true);
        submitbtn.setAttribute('eskiad', submitbtn.getAttribute('value'));
        submitbtn.setAttribute('value','İşlem Yapılıyor');
    }
    makePOSTRequest(url, poststr, document.getElementById(returndata), submitbtn);
}

function getElementsByTagNameMultiple(tag_names, parent_node) {
    if (parent_node == undefined) {
        parent_node = document;
    }
    var out = new Array();
    for (var i = 0; i < tag_names.length; i++) {
        elementsFound =parent_node.getElementsByTagName(tag_names[i]);
        for (var j = 0; j < elementsFound.length; j++)
            out.push(elementsFound.item(j));
    }
    return out;
}

function getAllFormElements(parent_node) {
    return getElementsByTagNameMultiple(['input', 'textarea', 'select', 'button'], parent_node);
}
