var cTitle;
var oMarker;
var oMap;
var fAnfahrt  = false;
var fBelegung = false;
    
var goBox;
var gcPlan;

function fnInitGlobals()
    {
    cTitle = document.title;
     
    if ( cTitle.indexOf("Anfahrt") > -1 )
        {
    	fAnfahrt = true;
    	}
    	
    if ( cTitle.indexOf("Belegung") > -1 )
        {
    	fBelegung = true;
    	}
    
    if ( GBrowserIsCompatible() && fAnfahrt )
    	{
    	oMap = new GMap2(document.getElementById("map"));
    	oMap.setCenter(new GLatLng(52.49482,12.672955), 14);
    	
        oMap.addControl(new GLargeMapControl());
    	oMap.addControl(new GMapTypeControl());
    
    	oMarker = new GMarker(new GLatLng(52.49482,12.672955));
    	oMap.addOverlay(oMarker);
    	GEvent.addListener(oMarker, "click", ShowDestText);
    
    	ShowDestText();
    	}
    	
    if ( GBrowserIsCompatible() && fBelegung )
    	{
    	fnInitBelegungsBox();
    	}
    }
    

function Ajax()
	{
  	//Eigenschaften deklarieren und initialisieren
  	this.url="";
  	this.params="";
  	this.method="GET";
  	this.onSuccess=null;
  	this.onError=function (msg)
  		{
	    alert(msg)
  		}
	}

Ajax.prototype.doRequest=function()
	{
  	//Ueberpruefen der Angaben
  	if (!this.url)
  		{
	    this.onError("Es wurde kein URL angegeben. Der Request wird abgebrochen.");
    	return false;
  		}

	if (!this.method)
		{
	    this.method="GET";
  		}
  	else
  		{
	    this.method=this.method.toUpperCase();
  		}

	//Zugriff auf Klasse fur readyStateHandler ermoeglichen  
  	var _this = this;
  
	//XMLHttpRequest-Objekt erstellen
  	var xmlHttpRequest=getXMLHttpRequest();

  	if (!xmlHttpRequest)
  		{
	    this.onError("Es konnte kein XMLHttpRequest-Objekt erstellt werden.");
    	return false;
  		}
  
	//Fallunterscheidung nach Uebertragungsmethode
  	switch (this.method)
  		{
	    case "GET": xmlHttpRequest.open(this.method, this.url+"?"+this.params, true);
                xmlHttpRequest.onreadystatechange = readyStateHandler;
                xmlHttpRequest.send(null);
                break;
                
    	case "POST": xmlHttpRequest.open(this.method, this.url, true);
                 xmlHttpRequest.onreadystatechange = readyStateHandler;
                 xmlHttpRequest.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
                 xmlHttpRequest.send(this.params);
                 break;
  		}  

function readyStateHandler()
  		{
    	if (xmlHttpRequest.readyState < 4)
    		{
			return false;
    		}
    		
		if (xmlHttpRequest.status == 200 || xmlHttpRequest.status==304)
			{
			if (_this.onSuccess)
				{
        		_this.onSuccess(xmlHttpRequest.responseText, xmlHttpRequest.responseXML);
      			}
   			}
   		else
   			{
			if (_this.onError)
				{
		        _this.onError("["+xmlHttpRequest.status+" "+xmlHttpRequest.statusText+"] Es trat ein Fehler bei der Datenbertragung auf.");
      			}
    		}
  		}
	}

function getXMLHttpRequest() 
	{
  	if (window.XMLHttpRequest)
  		{
		//XMLHttpRequest fuer Firefox, Opera, Safari, ...
    	return new XMLHttpRequest();
  		}
  	else if (window.ActiveXObject)
  		{
    	try
    		{   
			//XMLHTTP (neu) fuer Internet Explorer 
      		return new ActiveXObject("Msxml2.XMLHTTP");
    		}
    	catch(e)
    		{
      		try
      			{        
		        //XMLHTTP (alt) fuer Internet Explorer
        		return new ActiveXObject("Microsoft.XMLHTTP");  
				}
			catch (e)
				{
		        return null;
      			}
    		}
  		}
  		
	return false;
	}

function fnInitBelegungsBox()
    {
    goBox = document.getElementById("id_belegung");
    
    if (goBox)
    	{
	    fnGetBelegung();
	    }
    }

function fnGetBelegung()
    {
    var myAjax = new Ajax();
    
    myAjax.url = "/include/getbelegung.php";
      
    myAjax.onSuccess = function(txt,xml) 
        {
        //Lieferte das PHP-Skript eine Fehlermeldung?
        if (fnHasError(txt)) 
            {
            myAjax.onError(fnGetError(txt));
            return null;
            }
    
        //Falls Dateiliste geliefert wurde, diese in Array wandeln
        if (txt) 
            {
            gcPlan = txt;
            }  
    
        //Array files im Editor anzeigen
        fnCreatePlan();
        }
  
    //Fehler bei Uebertragung der Dateiliste
    myAjax.onError = fnErrorHandler;
  
    //Dateiliste abrufen
    myAjax.doRequest();
    }

function fnCreatePlan()
    {
    goBox.innerHTML = gcPlan;
    }


function fnHasError(msg)
    {
    //Hat msg einen Inhalt?
    if (!msg) return false; 
  
    //Befindet sich Zeichenkette AOEERROR: am Anfang von msg?
    if (msg.indexOf("AOEERROR:") == 0) 
        {
        return true;
        } 
    else 
        {
        return false;
        }
    }

//Aufbereiten der Fehlermeldung eines PHP-Skripts
function fnGetError(msg)
    {
    //AOEERROR: aus Fehlermeldung entfernen
    return msg.replace(/AOEERROR:/, "");
    }

//Allgemeine Funktion fuer alle Fehlerfaelle
function fnErrorHandler(msg)
    {
    //Fehler als Meldungsfenster anzeigen
    alert(msg);
  
    //Fehler in Statusanzeige schreiben 
    dsl_FussZeile.innerHTML = msg;
    }

function ShowDestText()
   {
   var cDestText = '<div style="width: 210px; padding-right: 10px">L&uuml;now, Ziegeleiweg 29 - hier befindet sich die Ferienanlage <i>Haus Sonnenschein</i></div>';
   
   oMarker.openInfoWindowHtml(cDestText);
   }

    
window.onload=fnInitGlobals;


