// 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) {
				http_request = false;
			}
		}
	}

	if (!http_request || ajax == false) {
		var qce = url.search(/p?/);
		
		if (!http_request) {
			if (qce == -1) {
				url = url + "?ajax=false";
			} else {
				url = url + "&ajax=false";
			}
		}
		
		window.location.href = url
	} else {
		if (savetype == false) {
			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_changed = 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_"+att_id).style.backgroundImage = att_content;
					} catch (e) {
					}
					break;
				case "title":
					document.title = unescapeString(att_content);
					break;
				default:
					if (att_id == "content") content_changed = true;
					try {
						document.getElementById("ajax_"+att_id).innerHTML = att_content;
					} catch (e) {
					}
					break;
			}
		}
	}
	if (content_changed == 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) {
		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;
}

function unescapeString(str) {
	var div = document.createElement('div');
	div.innerHTML = str;
	return div.firstChild.data;
}

function DoPostBack(form)
{
	form.action = "http://www.dirs21.de/DIRS21_Book/strand-cafe/default.aspx?anreise=" + form.anreise.value + "&abreise=" + form.abreise.value + "&" + form.ztyp.value + "=" + form.anzahl.value
	form.submit();
};

function MM_jumpMenu(targ, selObj, restore){
	if (ajax)
	{
		ajax_get(selObj.options[selObj.selectedIndex].value, false);
	}
	else
	{
		eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"';");
	}
  
	if (restore) selObj.selectedIndex = 0;
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}
function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}
