/*
	Autor:    OH
	Erstellt: 10.09.2008
	Geändert: 18.09.2008
	JavaScript für dynamische Anzeige von Content-Popups
*/

var popup;

function popup_anzeigen(url)
{
	new Ajax.Request(url,
	{
        method: 'get',
        onSuccess: function(transport)
    	{
    		var html = transport.responseText;
    		
    		html = "<div class='header'><a href='javascript:popup_schliessen()'>X</a></div><div class='content'>" + html + "</div>";

         	// Div entfernen falls schon vorhanden
			popup_schliessen();

			// Gesamte Seite transparent schalten
        	document.getElementById('page').style.opacity = '0.15';
            document.getElementById('page').style.MozOpacity = '0.15';
            document.getElementById('page').style.KHTMLOpacity = '0.15';
            document.getElementById('page').style.filter = 'alpha(opacity:15)';

        	// Div dynamisch erzeugen
			popup = document.createElement("div");
        	popup.id = "popup";
        	popup.style.left = (get_window_width() / 2) - (640 / 2) + "px";
        	popup.style.top = (get_window_height() / 2) - (540 / 2) + "px";
        	popup.innerHTML = html;
        	document.getElementsByTagName("body")[0].appendChild(popup);
    	},
        onFailure: function()
    	{
    		alert('Fehler beim Laden des Popups.')
    	}
    });
}

function popup_schliessen()
{
	// Div entfernen
	if (document.getElementById("popup") != null)
	{
		document.getElementsByTagName("body")[0].removeChild(popup);
    	popup = null;

    	// Transparenz aufheben
    	document.getElementById('page').style.opacity = '1';
        document.getElementById('page').style.MozOpacity = '1';
        document.getElementById('page').style.KHTMLOpacity = '1';
        document.getElementById('page').style.filter = 'alpha(opacity:100)';
	}
}

function speisenkarte_subnav_wechseln()
{
	document.location.href = "index.php?rubrik=2&content=content_speisenkarte_preise.inc.php&rubrik_sub=" + document.getElementById("select_subnav").options[document.getElementById("select_subnav").selectedIndex].value;
}

function wellness_subnav_wechseln(rubrik_main)
{
	document.location.href = "index.php?rubrik=5&content=content_wellness_preise.inc.php&rubrik_main=" + rubrik_main + "&rubrik_sub=" + document.getElementById("select_subnav").options[document.getElementById("select_subnav").selectedIndex].value;
}

function team_subnav_wechseln(rubrik_main)
{
	document.location.href = "index.php?rubrik=5&content=content_team.inc.php&rubrik=10&rubrik_sub=" + document.getElementById("select_subnav").options[document.getElementById("select_subnav").selectedIndex].value;
}

function arrangements_zwischensumme_berechnen()
{
	var zwischensumme = 0;
	var elements = document.getElementsByTagName("input");
	for (i = 0; i < elements.length; i++)
		if (!isNaN(parseInt(elements[i].className)))
			if (!isNaN(parseInt(elements[i].value)))
			{
				var menge = parseInt(elements[i].value);
				var preis = parseFloat(document.getElementById("preis" + elements[i].className).value);
				zwischensumme += (menge * preis);
			}
	document.getElementById("zwischensumme").innerHTML = "EUR " + preis_formatiert(zwischensumme);
}

function zimmer_buchung_formCheck(formobj){
	// name of mandatory fields
	var fieldRequired = Array("name_", "telefon", "ollisfrom", "anreise", "abreise", "anzahl_personen", "anzahl_zimmer");
	// field description to appear in the dialog box
	var fieldDescription = Array("Name", "Telefon", "E-Mail", "Anreise", "Abreise", "Anzahl Personen", "Anzahl Zimmer");
	// dialog message
	var alertMsg = "Bitte füllen Sie die folgenden Felder aus:\n";

	var l_Msg = alertMsg.length;

	for (var i = 0; i < fieldRequired.length; i++){
		var obj = formobj.elements[fieldRequired[i]];
		if (obj){
			if (obj.type == null){
				var blnchecked = false;
				for (var j = 0; j < obj.length; j++){
					if (obj[j].checked){
						blnchecked = true;
					}
				}
				if (!blnchecked){
					alertMsg += " - " + fieldDescription[i] + "\n";
				}
				continue;
			}

			switch(obj.type){
			case "select-one":
				if (obj.selectedIndex == -1 || obj.options[obj.selectedIndex].text == ""){
					alertMsg += " - " + fieldDescription[i] + "\n";
				}
				break;
			case "select-multiple":
				if (obj.selectedIndex == -1){
					alertMsg += " - " + fieldDescription[i] + "\n";
				}
				break;
			case "text":
			case "textarea":
				if (obj.value == "" || obj.value == null){
					alertMsg += " - " + fieldDescription[i] + "\n";
				}
				break;
			default:
			}
		}
	}

	if (document.getElementById("agb_akzeptiert").checked != true)
	{
		alert("Sie müssen unsere AGBs akzeptieren, um fortzufahren.");
		return false;
	}

	if (alertMsg.length == l_Msg){
		return true;
	}else{
		alert(alertMsg);
		return false;
	}
  }
  
  function arrangement_buchung_formCheck(formobj){
	// name of mandatory fields
	var fieldRequired = Array("name_", "telefon", "ollisfrom", "anreise", "abreise", "anzahl_personen");
	// field description to appear in the dialog box
	var fieldDescription = Array("Name", "Telefon", "E-Mail", "Anreise", "Abreise", "Anzahl Personen");
	// dialog message
	var alertMsg = "Bitte füllen Sie die folgenden Felder aus:\n";

	var l_Msg = alertMsg.length;

	for (var i = 0; i < fieldRequired.length; i++){
		var obj = formobj.elements[fieldRequired[i]];
		if (obj){
			if (obj.type == null){
				var blnchecked = false;
				for (var j = 0; j < obj.length; j++){
					if (obj[j].checked){
						blnchecked = true;
					}
				}
				if (!blnchecked){
					alertMsg += " - " + fieldDescription[i] + "\n";
				}
				continue;
			}

			switch(obj.type){
			case "select-one":
				if (obj.selectedIndex == -1 || obj.options[obj.selectedIndex].text == ""){
					alertMsg += " - " + fieldDescription[i] + "\n";
				}
				break;
			case "select-multiple":
				if (obj.selectedIndex == -1){
					alertMsg += " - " + fieldDescription[i] + "\n";
				}
				break;
			case "text":
			case "textarea":
				if (obj.value == "" || obj.value == null){
					alertMsg += " - " + fieldDescription[i] + "\n";
				}
				break;
			default:
			}
		}
	}

	if (document.getElementById("agb_akzeptiert").checked != true)
	{
		alert("Sie müssen unsere AGBs akzeptieren, um fortzufahren.");
		return false;
	}

	if (alertMsg.length == l_Msg){
		return true;
	}else{
		alert(alertMsg);
		return false;
	}
  }

function preis_formatiert(preis)
{
	preis = Math.round(preis * 100) / 100;
   	preis = preis.toFixed(2);
   	preis = preis.replace(".", ",");
   	return preis;
}

function get_window_width()
{
    if (document.documentElement.clientWidth)
		window_width = document.documentElement.clientWidth;
	else
	if (document.body.offsetWidth)
		window_width = document.body.offsetWidth;
	else
		window_width = window.innerWidth;
	return window_width;
}

function get_window_height()
{
    if (document.documentElement.clientHeight)
		window_height = document.documentElement.clientHeight;
	else
	if (document.body.offsetHeight)
		window_height = document.body.offsetHeight;
	else
		window_height = window.innerHeight;
	return window_height;
}

