﻿var request;

function RequestSearchResults(callBackFunction, number, description) {
    var sendStr;

    sendStr = "info=number=" + number + ";description=" + description + ";";

    request = new XMLHttpRequest();
    request.open("POST", "SnelBestellen.aspx");

    request.onreadystatechange = function() {
    HandleStateChange(callBackFunction);
    };

    request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
    request.setRequestHeader("IsRequestSearchResults", "true");
    request.send(sendStr);
};

function RequestTotalPrice(callBackFunction) {
    var sendStr = "empty";
    request = new XMLHttpRequest();
    request.open("POST", "BestelLijst.aspx");

    request.onreadystatechange = function() {
    HandleStateChange(callBackFunction);
    };

    request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
    request.setRequestHeader("IsRequestTotalPrice", "true");
    request.send(sendStr);
};

function RequestNumberOfItems(callBackFunction) {
	var sendStr = "empty";
	request = new XMLHttpRequest();
	request.open("POST", "BestelLijst.aspx");

	request.onreadystatechange = function() {
		HandleStateChange(callBackFunction);
	};

	request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	request.setRequestHeader("IsRequestNumberOfItems", "true");
	request.send(sendStr);
}

function RequestSendOrderListEmail() {
    var sendStr = "empty";
    request = new XMLHttpRequest();
    request.open("POST", "BestelLijst.aspx");

    request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
    request.setRequestHeader("IsRequestSendOrderListEmail", "true");
    request.send(sendStr);
}

function RequestSendRegisterEmail(sendStr) {
    request = new XMLHttpRequest();
    request.open("POST", "Registreren.aspx");

    request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
    request.setRequestHeader("IsRequestSendRegisterEmail", "true");
    request.send(sendStr);
}

function RequestSendBrochureEmail(sendStr) {
    request = new XMLHttpRequest();
    request.open("POST", "Brochures.aspx");

    request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
    request.setRequestHeader("IsRequestSendBrochureEmail", "true");
    request.send(sendStr);
}


function RequestSendChangeAccountEmail(sendStr) {
    request = new XMLHttpRequest();
    request.open("POST", "WijzigGegevens.aspx");

    request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
    request.setRequestHeader("IsRequestChangeAccountEmail", "true");
    request.send(sendStr);
}

function HandleStateChange(callBackFunction) {
    if (request.readyState == 4) {

        switch (request.status) {
            case 12029:
            case 12030:
            case 12031:
            case 12152:
            case 12159:
                //IE error
                //repeat call here
                POSTRequest(mUrl, mOldparameters);
                return;
        }

        if (request.status == 200) {
            this.InvokeCallBackFunction(callBackFunction);
        }
    }
};

this.InvokeCallBackFunction = function(callBackFunction) {
    var htmlText = request.responseText;
    callBackFunction(htmlText);
};
