var last_url = '';

function update_actionbox(url) {
	seite_laden("action_box", url, false);
}

function add_favorite(url) {
	seite_laden("dyn_infobox", url, true);
}

function add_friend(url) {
	seite_laden("dyn_infobox", url, true);
}

function confirm_friendship(url) {
	seite_laden("dyn_infobox", url, true);
}

function hide_box(box) {
	box.style.visibility = 'hidden';
	box.style.display = 'none';
}

function show_box(box) {
	box.style.visibility = 'visible';
	box.style.display = 'block';
}

function seite_laden(target, url, show_close_button) {
	// Manchmal macht es Spaß, auf dreckig zu programmieren
	if (target == 'action_box') {
		target = document.getElementById(target);
		target.innerHTML = '<div><img src="/images/loading.gif" alt="Laden..." /></div>' + target.innerHTML;
	}
	else {
		target = document.getElementById(target);

		target.innerHTML = '<p>Bitte einen Augenblick warten...</p>';
		show_box(target);
	}

	last_url = url;

	if (window.XMLHttpRequest) {
		req = new XMLHttpRequest();
		req.onreadystatechange = function() {seite_anzeigen(target, show_close_button);};
		req.open("GET", url, true);
		req.send(null);
	// IE
	} else if (window.ActiveXObject) {
		req = new ActiveXObject("Microsoft.XMLHTTP");
		if (req) {
			req.onreadystatechange = function() {seite_anzeigen(target, show_close_button);};
			req.open("GET", url, true);
			req.send();
        	}
    	}
}    

function seite_anzeigen(target, show_close_button) {
	if (req.readyState == 4) {

		// only if "OK"
		if (req.status == 200) {
			results = req.responseText
			setInnerHTML(target, results, show_close_button);
		} else {
			setInnerHTML(target, '<p>Ein Fehler ist aufgetreten (' + req.status + ', ' + last_url + ')</p>', show_close_button);
		}
	}
}

function setInnerHTML(target, value, show_close_button) {
	if (show_close_button) {
		target.innerHTML = '<span onClick="hide_box(document.getElementById(\'' + target.id + '\'))" class="close">Schließen</span>' + value;
	}
	else {
		target.innerHTML = value;
	}
}