    var sessionIdInfix = "";

    var http_request = false;

    function executeRequest(url, callbackFunction) {
	    var date = new Date();
    	if (url.indexOf("?")>-1) {
    		url += "&";
    	} else {
    		url += "?";
    	}
    	url += "clientTime="+date.getTime();
    	
        http_request = false;
        if (window.XMLHttpRequest) { // Mozilla, Safari,...
            http_request = new XMLHttpRequest();
            if (http_request.overrideMimeType) {
                http_request.overrideMimeType('text/xml');
            }
        } else if (window.ActiveXObject) { // IE
            try {
                http_request = new ActiveXObject("Msxml2.XMLHTTP.3.0");
            } catch (e) {
	            try {
	                http_request = new ActiveXObject("Msxml2.XMLHTTP");
	            } catch (f) {
	                try {
	                    http_request = new ActiveXObject("Microsoft.XMLHTTP");
	                } catch (g) {}
	            }
            }
        }
        
 
        if (!http_request) {
            alert('Error: Cannot create XMLHttpRequest instance');
            return false;
        }
        http_request.onreadystatechange = callbackFunction;
        http_request.open('GET', url, true);
        http_request.send(null);
    }

// functions for switching between galery and list view
    function alertDummy() {
    }

	var listLoaded = false;

    function alertSwitchCatToListView() {
        if (http_request.readyState == 4) {
            var answer = http_request.responseText;
            undisplayDiv("div_galery");
            showDiv("div_list");
            undisplayDiv("div_view_galery_act");
            showDiv("div_view_list_act");
            listLoaded = true;
            document.getElementById("div_list").innerHTML = answer;
            // add session id in links, if no cookie available
            if (needSessionIdInURL()) addSessionID ();
        }
 
    }
    
 	function switchCatToListView(catKey, curIM) {
 		if (listLoaded) {
			undisplayDiv("div_galery");
			showDiv("div_list");
            undisplayDiv("div_view_galery_act");
            showDiv("div_view_list_act");
	 		executeRequest("/ajax/catArticleList.jsp"+sessionIdInfix+"?catKey="+catKey+"&output=0&curIM="+curIM, alertDummy);
 		} else {
	 		executeRequest("/ajax/catArticleList.jsp"+sessionIdInfix+"?catKey="+catKey+"&curIM="+curIM, alertSwitchCatToListView);
	 	}
 	}

	var galeryLoaded = false;

    function alertSwitchCatToGaleryView() {
        if (http_request.readyState == 4) {
			var answer = http_request.responseText;
            undisplayDiv("div_list");
            showDiv("div_galery");
            undisplayDiv("div_view_list_act");
            showDiv("div_view_galery_act");
            galeryLoaded = true;
            document.getElementById("div_galery").innerHTML = answer;
            // add session id in links, if no cookie available
            if (needSessionIdInURL()) addSessionID ();
        }
 
    }
    
 	function switchCatToGaleryView(catKey, curIM) {
 		if (galeryLoaded) {
			undisplayDiv("div_list");
			showDiv("div_galery");
            undisplayDiv("div_view_list_act");
            showDiv("div_view_galery_act");
	 		executeRequest("/ajax/catArticleGalery.jsp"+sessionIdInfix+"?catKey="+catKey+"&output=0&curIM="+curIM, alertDummy);
 		} else {
	 		executeRequest("/ajax/catArticleGalery.jsp"+sessionIdInfix+"?catKey="+catKey+"&curIM="+curIM, alertSwitchCatToGaleryView);
	 	}
 	}
 	
 	function alertArticleMP() {
        if (http_request.readyState == 4) {
			var answer = http_request.responseText;
			var mpBasketBox = document.getElementById("mp_basket_box");
			if (mpBasketBox) {
				mpBasketBox.innerHTML = answer;
			}
			// add session id in links, if no cookie available
            if (needSessionIdInURL()) addSessionID ();
        }
    }

	/**
	* deletes the article pointed to by itemKey and refreshes the MP article display
	*
	*/
 	function deleteArticleMP(itemKey) {
	 	executeRequest("/ajax/deleteArticleMP.jsp"+sessionIdInfix+"?itemKey="+itemKey, alertArticleMP);
 	}
 	
	/**
	* refreshes the MP article display
	*
	*/
 	function showArticleMP() {
	 	executeRequest("/ajax/showArticleMP.jsp"+sessionIdInfix, alertArticleMP);
 	}
 