// JavaScript Document
var ajax = null;
var ajax_url = null;
var http_request = false;
var save_type = false;
var content_cache = "";

function ajax_get(url, savetype) {
	save_type = savetype;
	http_request = false;
	
	var brVer = navigator.userAgent;
	var brVerId = brVer.indexOf('MSIE');
	brNum = brVer.substr(brVerId,8);
	
	// (IE7), Mozilla, Safari, Opera, ...
	if (window.XMLHttpRequest && brNum != "MSIE 7.0") {
		http_request = new XMLHttpRequest();
		if (http_request.overrideMimeType) {
			http_request.overrideMimeType('text/xml');
		}
	// Microsoft Internet Explorer
	} else if (window.ActiveXObject) {
		try {
			http_request = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			try {
				http_request = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e) {
				window.location.href = "index.php?ajax=false";
			}
		}
	}

	if (!http_request) {
		alert('Ende: Kann keine XMLHTTP-Instanz erzeugen');
		return false;
	} else {
		content_cache = document.getElementById("ajax_content").innerHTML;
		document.getElementById("ajax_content").innerHTML = '<div align="center"><div style="text-align: vertical-align: middle; center; width: 75px; height:50px; position: static; background-color: #FFFFFF;"><br /><img src="images/ajax-loader.gif" alt="" border="0" /></div></div>';
	}
	http_request.onreadystatechange = showContent;
	
	var res_ask = url.search(/p?/);
	var res_var = url.search(/ajax=.+/);
	if (res_var == -1) {
		if (savetype != false) {
			var type = "content&content="+savetype;
		} else {
			var type = "get";
		}

		if (res_ask != -1) {
			url = url + "&";
		} else {
			url = url + "?"
		}
		url = url + "ajax=" + type;
	}
	
	ajax_url = url;
	http_request.open('GET', url, true);
	http_request.send(null);
}

function xmlContent(xmldoc) {
	var Nodes = xmldoc.getElementsByTagName("content");
	var content_change = false;
	
	for (var i = 0; i < Nodes.length; i++) {
		var Node = Nodes[i];
		
		var att_tag = Node.tagName;
		if (att_tag == "content") {
			var att_id = Node.attributes[0].nodeValue;

			if (Node.childNodes.length != 0) { var Node = Node.childNodes[0]; }
			var att_content = Node.nodeValue;
		}
		
		switch (att_id) {
			case "mainbg":
				try {
					document.getElementById("ajax_mainbg").style.backgroundImage = att_content;
				} catch (e) {
				}
				break;
			case "title":
				document.title = att_content
				break;
			default:
				if (att_id == "content") content_change = true;
				try {
					document.getElementById("ajax_"+att_id).innerHTML = att_content;
				} catch (e) {
				}
				break;
		}
	}
	if (content_change == false) {
		document.getElementById("ajax_content").innerHTML = content_cache;
	}
	
	return true;
}

function showContent() {
	if (http_request.readyState == 4) {
		if (http_request.status == 200) {
			if (save_type == false) {
				var xmldoc = http_request.responseXML;
				
				xmlContent(xmldoc);				
			} else {
				var save = http_request.responseText;
				
				if (save != "" && save_type != "init") {
					document.getElementById("ajax_"+save_type).innerHTML = save;
				} else if (save_type == "init") {
					if (save == "ajax-activated") {
						ajax = true;
					} else {
						ajax = false;
					}
					document.getElementById("ajax_content").innerHTML = content_cache;
				}
			}
		} else {
			alert("Error: " + http_request.status + "\nURL: " + ajax_url);
		}
	}
}

function ajax_init(ajax_mode) {
	if (ajax_mode == null) {
		content_cache = document.getElementById("ajax_content").innerHTML;
		//document.getElementById("ajax_content").innerHTML = '<div align="center"><div style="text-align: vertical-align: middle; center; width: 75px; height:50px; position: static; background-color: #FFFFFF;"><br /><img src="images/ajax-loader.gif" alt="" border="0" /> AJAX wird gepr&uuml;ft...</div></div>';
		
		ajax_get("index.php?ajax=init", "init");
	}
	
	ajax = ajax_mode;
	return true;
}

function popup_open(url, settings) {
	var name = "pu_"+Math.round(Math.random()*10);
	
	popup = window.open(url, name, settings);
	popup.focus;
}