var xmlHttp = false;
var http = false;
var index = -1;

function macheRequest(url,id) {

    var objXMLHttp=false;
	if (window.XMLHttpRequest) {
		objXMLHttp = new XMLHttpRequest();
		if (objXMLHttp.overrideMimeType) {
			objXMLHttp.overrideMimeType('text/xml');
		}
		objXMLHttp=new XMLHttpRequest();
	} else if (window.ActiveXObject) {
		try {
			objXMLHttp = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			try {
				objXMLHttp= new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e) {
			}
		}
	}


	if (!objXMLHttp) {
		alert ("Browser does not support HTTP Request");
		return;
	}

	objXMLHttp.onreadystatechange=change_html_node;
	objXMLHttp.open("GET",url,true);
	objXMLHttp.send(null);

	/*http=GetXmlHttpObject();
	if (http==null) {
		alert ("Browser does not support HTTP Request");
		return;
	}
	http.onreadystatechange=change_html_node;
	http.open("GET",url,true);
	http.send(null);*/
}

function GetXmlHttpObject() { //
	var objXMLHttp=false;
	if (window.XMLHttpRequest) {
		objXMLHttp = new XMLHttpRequest();
		if (objXMLHttp.overrideMimeType) {
			objXMLHttp.overrideMimeType('text/xml');
		}
		objXMLHttp=new XMLHttpRequest();
	} else if (window.ActiveXObject) {
		try {
			objXMLHttp = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			try {
				objXMLHttp= new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e) {
			}
		}
	}
	return objXMLHttp;
}

function change_html_node() {
	/*if (http.readyState==4 || http.readyState=="complete") {
		if(document.getElementById().src.substr(document.getElementById().src.length-11,11) == "gemerkt.jpg") {
			document.getElementById().src = "/fileadmin/template/images/merken.jpg";
			return true;
		}
		if(document.getElementById().src.substr(document.getElementById().src.length-10,10) == "merken.jpg") {
			document.getElementById().src = "/fileadmin/template/images/gemerkt.jpg";
			return true;
		}
	}*/
	return true;
}

function change_picture(what) {
	if(document.getElementById(what).src.substr(document.getElementById(what).src.length-11,11) == "gemerkt.jpg") {
		document.getElementById(what).src = "/fileadmin/template/images/buttons/merken.jpg";
		return true;
	}
	if(document.getElementById(what).src.substr(document.getElementById(what).src.length-10,10) == "merken.jpg") {
		document.getElementById(what).src = "/fileadmin/template/images/buttons/gemerkt.jpg";
		return true;
	}
}

function merkzettel(what,exponr) {
    var jetzt = new Date();
    var v = jetzt.getTime();

	if (document.getElementById(what).src.substr(document.getElementById(what).src.length-10, 10) == "merken.jpg") {
        macheRequest("include/notepad.php?opt=add&exposeid=" + exponr + "&bid=" + what + "&v=" + v , what);
		change_picture(what);
		return true;
	}
	if (document.getElementById(what).src.substr(document.getElementById(what).src.length-11, 11) == "gemerkt.jpg") {
		macheRequest("include/notepad.php?opt=del&exposeid=" + exponr + "&bid=" + what + "&v=" + v , what);
		change_picture(what);
		return true;
	}
}

function linkTo_UnCryptHref(where){
	var link = base64_decode(where);
	location.href = link;
}

var base64s = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';

function base64_encode(decStr){
	var bits;
	var dual;
	var i = 0;
	var encOut = '';
	while(decStr.length >= i + 3){
		bits = (decStr.charCodeAt(i++) & 0xff) <<16 | (decStr.charCodeAt(i++) & 0xff) <<8  | decStr.charCodeAt(i++) & 0xff;
		encOut += base64s.charAt((bits & 0x00fc0000) >>18) + base64s.charAt((bits & 0x0003f000) >>12) + base64s.charAt((bits & 0x00000fc0) >> 6) + base64s.charAt((bits & 0x0000003f));
	}
	if(decStr.length -i > 0 && decStr.length -i < 3){
		dual = Boolean(decStr.length -i -1);
		bits = ((decStr.charCodeAt(i++) & 0xff) <<16) |(dual ? (decStr.charCodeAt(i) & 0xff) <<8 : 0);
		encOut += base64s.charAt((bits & 0x00fc0000) >>18) + base64s.charAt((bits & 0x0003f000) >>12) + (dual ? base64s.charAt((bits & 0x00000fc0)             >>6) : '=') + '=';
	}
	return(encOut);
}

function base64_decode(encStr){
	var bits;
	var decOut = '';
	var i = 0;
	for(; i<encStr.length; i += 4){
		bits = (base64s.indexOf(encStr.charAt(i))    & 0xff) <<18 |  (base64s.indexOf(encStr.charAt(i +1)) & 0xff) <<12 | (base64s.indexOf(encStr.charAt(i +2)) & 0xff) << 6 | base64s.indexOf(encStr.charAt(i +3)) & 0xff;
		decOut += String.fromCharCode((bits & 0xff0000) >>16, (bits & 0xff00) >>8, bits & 0xff);
	}
	if(encStr.charCodeAt(i -2) == 61){
		return(decOut.substring(0, decOut.length -2));
	}else if(encStr.charCodeAt(i -1) == 61){
		return(decOut.substring(0, decOut.length -1));
	}else{
		return(decOut);
	}
}

