var isIE = false;
var reqPage;
var reqRight;
var reqLeft;
var reqSum;
var loading_status;

function loadXMLPageContent(url) {
    // branch for native XMLHttpRequest object
	loading_status = 1;
    if (window.XMLHttpRequest) {
        reqPage = new XMLHttpRequest();
        reqPage.onreadystatechange = processReqPageChange;
        reqPage.open("GET", url, true);
        reqPage.send(null);
    // branch for IE/Windows ActiveX version
    } else if (window.ActiveXObject) {
        isIE = true;
        reqPage = new ActiveXObject("Microsoft.XMLHTTP");
        if (reqPage) {
            reqPage.onreadystatechange = processReqPageChange;
            reqPage.open("GET", url, true);
            reqPage.send();
        }
    }
}

function loadXMLRightContent(url) {
    // branch for native XMLHttpRequest object
    if (window.XMLHttpRequest) {
        reqRight = new XMLHttpRequest();
        reqRight.onreadystatechange = processReqRightChange;
        reqRight.open("GET", url, true);
        reqRight.send(null);
    // branch for IE/Windows ActiveX version
    } else if (window.ActiveXObject) {
        isIE = true;
        reqRight = new ActiveXObject("Microsoft.XMLHTTP");
        if (reqRight) {
            reqRight.onreadystatechange = processReqRightChange;
            reqRight.open("GET", url, true);
            reqRight.send();
        }
    }
}

function loadXMLLeftContent(url) {
    // branch for native XMLHttpRequest object
	loading_status = 1;
    if (window.XMLHttpRequest) {
        reqLeft = new XMLHttpRequest();
        reqLeft.onreadystatechange = processReqLeftChange;
        reqLeft.open("GET", url, true);
        reqLeft.send(null);
    // branch for IE/Windows ActiveX version
    } else if (window.ActiveXObject) {
        isIE = true;
        reqLeft = new ActiveXObject("Microsoft.XMLHTTP");
        if (reqLeft) {
            reqLeft.onreadystatechange = processReqLeftChange;
            reqLeft.open("GET", url, true);
            reqLeft.send();
        }
    }
}

function loadXMLSumContent(url) {
    // branch for native XMLHttpRequest object
    if (window.XMLHttpRequest) {
        reqSum = new XMLHttpRequest();
        reqSum.onreadystatechange = processReqSumChange;
        reqSum.open("GET", url, true);
        reqSum.send(null);
    // branch for IE/Windows ActiveX version
    } else if (window.ActiveXObject) {
        isIE = true;
        reqSum = new ActiveXObject("Microsoft.XMLHTTP");
        if (reqSum) {
            reqSum.onreadystatechange = processReqSumChange;
            reqSum.open("GET", url, true);
            reqSum.send();
        }
    }
}

function processReqPageChange() {
    // only if req shows "loaded"
	var item;
	div = document.getElementById("page_content");
	div.innerHTML = "<p align='center'>laetakse...<br><img src='pictures/page/loadingbar.gif'></p>";
    if (reqPage.readyState == 4) {
        // only if "OK"
        if (reqPage.status == 200) {
            //item = reqPage.responseXML.getElementsByTagName("netimarket")[0];
            //content = getElementTextNS("content", item, 0);
			div = document.getElementById("page_content");
            div.innerHTML = reqPage.responseText;
         } else {
            alert("There was a problem retrieving the XML data:\n" +
                reqPage.statusText);
         }
    }
}

function processReqRightChange() {
    // only if req shows "loaded"
	var item;
    if (reqRight.readyState == 4) {
        // only if "OK"
        if (reqRight.status == 200) {
            //item = reqRight.responseXML.getElementsByTagName("netimarket")[0];
            //content = getElementTextNS("content", item, 0);
            div = document.getElementById("right_content");
			div.innerHTML = "";
            div.innerHTML = reqRight.responseText;
         } else {
            alert("There was a problem retrieving the XML data:\n" +
                reqRight.statusText);
         }
    }
}

function processReqLeftChange() {
    // only if req shows "loaded"
	var item;
    if (reqLeft.readyState == 4) {
        // only if "OK"
        if (reqLeft.status == 200) {
            //item = reqLeft.responseXML.getElementsByTagName("netimarket")[0];
            //content = getElementTextNS("content", item, 0);
            div = document.getElementById("left_content");
			div.innerHTML = "";
            div.innerHTML = reqLeft.responseText;
         } else {
            alert("There was a problem retrieving the XML data:\n" +
                reqLeft.statusText);
         }
    }
}

function processReqSumChange() {
    // only if req shows "loaded"
	var item;
    if (reqSum.readyState == 4) {
        // only if "OK"
        if (reqSum.status == 200) {
            item = reqSum.responseXML.getElementsByTagName("netimarket")[0];
            content = getElementTextNS("content", item, 0);
            sum = getElementTextNS("sum", item, 0);
            div_long = document.getElementById("sum_long");
			div_short = document.getElementById("sum_short");
			
			if(div_long) {
				div_long.innerHTML = "";
	            div_long.innerHTML = content;
			}
			if(div_short) {
				div_short.innerHTML = "";
	            div_short.innerHTML = sum;
			}
         } else {
            alert("There was a problem retrieving the XML data:\n" +
                reqSum.statusText);
         }
    }
}


function getElementTextNS(prefix, parentElem, index) {
    var result = "";
    result = parentElem.getElementsByTagName(prefix)[index];

    if (result) {
        if (result.childNodes.length > 1) {
            return result.childNodes[1].nodeValue;
        } else {
            return result.firstChild.nodeValue;    		
        }
    } else {
        return "n/a";
    }
}


function getPage(action) {
	try {
		loadXMLPageContent("get_page_content.php?"+ action);
	} catch(e) {
		var msg = (typeof e == "string") ? e : ((e.message) ? e.message : "Unknown Error");
		alert("Unable to get Main page XML data:\n" + msg);
		return;
	}
}

function getLeftContent(action) {
	try {
		loadXMLLeftContent("get_left_content.php?"+ action);
	} catch(e) {
		var msg = (typeof e == "string") ? e : ((e.message) ? e.message : "Unknown Error");
		alert("Unable to get Main page XML data:\n" + msg);
		return;
	}
}


function getRightContent(action) {
		//alert(action);
	try {
		loadXMLRightContent("get_right_content.php?"+ action);
	} catch(e) {
		var msg = (typeof e == "string") ? e : ((e.message) ? e.message : "Unknown Error");
		alert("Unable to get XML data:\n" + msg);
		return;
	}
}

function getCalculateFinalSum(action) {
	try {
		loadXMLSumContent("get_sum_content.php?"+ action);
	} catch(e) {
		var msg = (typeof e == "string") ? e : ((e.message) ? e.message : "Unknown Error");
		alert("Unable to get XML data:\n" + msg);
		return;
	}
}

Array.prototype.inArray = function (value) {
	var i;
	for (i=0; i < this.length; i++) {
		if (this[i] === value) {
			return true;
		}
	}
	return false;
}