//
// Author AB 2008/09
// Version $Id: tool.js,v 1.31 2010/02/19 10:24:45 tzebulla Exp $
////////////////////////////////  TEXTE //////////////////////////////////////////////////////////////////////////////////////
var textaltsuchergebnis   = 'Der von Ihnen gesuchte Begriff lautet:';
var namebundesland        = 'Land NRW';
var namebund              = 'Bund';
var keinetreffervorhanden = 'Treffer: (0)';
var anzahlkommunenvorher  = 'Derzeit';
var anzahlkommunennachher = 'Kommunen gelistet';
var ergebnis              = 'Ergebnisse aus';
var ergebnisanzeigen      = 'anzeigen';
var ergebnisverbergen     = 'verbergen';
//
////////////////////////////////  START TOOL TIP //////////////////////////////////////////////////////////////////////////////////////
// Globale Vars
var horizontal_offset ="0px";  //horizontaler Abstand Tool Tip vom Link
var vertical_offset   ="0px";  //vertikaler Abstand Tool Tip vom Link
var ie=document.all;
var ns6=document.getElementById&&!document.all;
// Fehlervar, wenn im PLZ-Feld nicht nur Zahlen stehen
var CHECK_POSTCODE = false;

// Anzeige der Infomeldung statt dem Suchformular, solange nicht beide Ajax Anfragen vollendet sind.
var AJAX_FINISHED = 0;

// Das Formular automatisch abschicken, wenn alle Daten vorhanden sind. BEACHTE VSM-186!!!!
var SUBMIT_FORM_WHEN_AJAX_READY = true;

// Anzahl der Suchanfragen, die beendet sein müssen, bevor die Ergebnisse angezeigt werden.
var FINISHED_SEARCH_REQUESTS = 0;

// Die LeiKa Anfrage muss beendet werden, bevor die Ergebnisse angezeigt werden.
var HAS_LEIKA_RESPONSE = false;


function getposOffset(what, offsettype){
    var totaloffset=(offsettype=="left")? what.offsetLeft : what.offsetTop;
    var parentEl=what.offsetParent;
    while (parentEl!=null){
        totaloffset=(offsettype=="left")? totaloffset+parentEl.offsetLeft : totaloffset+parentEl.offsetTop;
        parentEl=parentEl.offsetParent;
    }
    return totaloffset;
}

function iecompattest(){
    return (document.compatMode && document.compatMode!="BackCompat")? document.documentElement : document.body
}

function clearbrowseredge(obj, whichedge){
    var edgeoffset=(whichedge=="rightedge")? parseInt(horizontal_offset)*-1 : parseInt(vertical_offset)*-1
    var windowedge;

    if (whichedge=="rightedge"){
        windowedge=ie && !window.opera? iecompattest().scrollLeft+iecompattest().clientWidth-30 : window.pageXOffset+window.innerWidth-40
        tooltipobjekt.contentmeasure=tooltipobjekt.offsetWidth
        if (windowedge-tooltipobjekt.x < tooltipobjekt.contentmeasure)
            edgeoffset=tooltipobjekt.contentmeasure+obj.offsetWidth+parseInt(horizontal_offset)
    }
    else{
        windowedge=ie && !window.opera? iecompattest().scrollTop+iecompattest().clientHeight-15 : window.pageYOffset+window.innerHeight-18
        tooltipobjekt.contentmeasure=tooltipobjekt.offsetHeight
        if (windowedge-tooltipobjekt.y < tooltipobjekt.contentmeasure)
            edgeoffset=tooltipobjekt.contentmeasure-obj.offsetHeight
    }
    return edgeoffset
}

var delayTime = 600;
var toolShow;

function zeigeToolTipTimer(menucontents, obj, eventH, tipwidth, art, textheadline){

    menucontentsNEW = menucontents;
    tipwidthNEW     = tipwidth;
    objNEW          = obj;
    eventNEW	    = eventH;
    tipwidthNEW	    = tipwidth;
    artNEW          = art;
    textheadlineNEW = textheadline;

    toolShow = true;

    aktiv = window.setTimeout('zeigeToolTip(menucontentsNEW, objNEW, eventNEW, tipwidthNEW, artNEW, textheadlineNEW)',delayTime);
}

function zeigeToolTip(menucontents, obj, e, tipwidth, art, textheadline, zustandCHECK){
    if (zustandCHECK==false){
        toolShow = false;
    }
    else{
        toolShow = true;
    }

    if(toolShow == true){
        if ((ie||ns6) && document.getElementById(art)){
            tooltipobjekt=document.getElementById(art)
            tooltipobjekt.innerHTML="<div class='tooltipsheadline' style=width:"+tipwidth+";>"+textheadline+"</div>"+menucontents
            tooltipobjekt.style.left=0;
            //tooltipobjekt.style.top=-500;
            tooltipobjekt.style.top=0;

            if (tipwidth!=""){
                tooltipobjekt.widthobj=tooltipobjekt.style
                tooltipobjekt.widthobj.width=tipwidth
            }
            tooltipobjekt.x=getposOffset(obj, "left")
            tooltipobjekt.y=getposOffset(obj, "top")
            tooltipobjekt.style.left=tooltipobjekt.x-clearbrowseredge(obj, "rightedge")+obj.offsetWidth+"px"
            tooltipobjekt.style.top=tooltipobjekt.y-clearbrowseredge(obj, "bottomedge")+"px"
            tooltipobjekt.style.visibility="visible"
        }
    }
}

function versteckeToolTip(e){
    window.clearTimeout(aktiv);
    document.getElementById(e).style.visibility="hidden"
    document.getElementById(e).style.left="-500px"
    toolShow = false;
}

function erstelleTip() {
    //
    // Infobox
    var divblock = document.createElement("div");
    divblock.setAttribute("id", "tooltipsINFO");
    document.body.appendChild(divblock);
}

if (window.addEventListener)
    window.addEventListener("load", erstelleTip, false)
else if (window.attachEvent)
    window.attachEvent("onload", erstelleTip)
else if (document.getElementById)
    window.onload=erstelleTip
//
//////////////////////////////// ENDE TOOLTIP //////////////////////////////////////////////////////////////////////////
//
//////////////////////////////// START ERGEBNISBOXEN ANZEIGEN / AUSBLENDEN /////////////////////////////////////////////
function ShowResult (resultID) {
    //
    // resultID = id des uebergebenen divs
    document.getElementById("hideresult_"+resultID).style.display="block";
    document.getElementById("showresult_"+resultID).style.display="none";
    document.getElementById("resultShowContent_"+resultID).style.display="inline";
    return 1;
}

function HideResult (resultID) {
    document.getElementById("showresult_"+resultID).style.display="block";
    document.getElementById("hideresult_"+resultID).style.display="none";
    document.getElementById("resultShowContent_"+resultID).style.display="none";
    return 1;
}
//
//////////////////////////////// ENDE ERGEBNISBOXEN ANZEIGEN / AUSBLENDEN /////////////////////////////////////////////
//
//
//////////////////////////////// START AUSWERTUNG RADIOBUTTONS SUCHMASKE //////////////////////////////////////////////
//
// Standard Radio Button ist Verwaltungsinformationen
var timerLoadingSearch = 500;
var globalRadioButton  = 'vwi';
function CheckRadioButtons (wichRadioButton) {
    //
    // Abfrage, welcher Radiobutton geaendert wurde
    // vdl = id fuer Radiobutton, Verwaltungsdienstleistungen
    // vwi = id fuer Radiobutton, Auswahl Verwaltungsinformationen
    // www = id fuer Radiobutton, Suche über Google

    //
    // Verwaltungsdienstleistungen
    if (wichRadioButton.id=="vdl"){
    
        globalRadioButton = 'vdl'; // globalRadioButton neu fuellen
        //
        // Gib Drop Down (id"vsm_kommunen_output") wieder frei
        document.getElementById("vsm_kommunen_output").disabled="";
        document.getElementById("vsm_kommunen_output").style.background="";

        // Verstecke Inhalt der Suchmaske
        document.getElementById("searchContent").style.display="none";
        // Zeige dafuer Loadingbox der Suchmaske
        document.getElementById("searchloadingbox").style.display="block";
        //
        // Hole Ergbnisse des Drop Downs fuer Verwaltungsdienstleistungen
        var url = 'collections?dl=1';
        /* Dropdown Wert für die Validierung. */
        
        //
        // AB VSM-197
        // ab 18.12.09 wieder aufgenommen -> "Alle Kommunen und Kreise" ersetzt "Ort ausw�hlen"
        // value und id nun 'kommunenundkreise' vorher 'alle'
        var selectedCollection = 'kommunenundkreise';
				
        // 2009-03-04 TZ Übergebe ggf. vom ZZ  gesetzte Kommune area
        if (REQUESTED_AREA != '') {
            url = 'collections?dl=1&area=' + REQUESTED_AREA;
            selectedCollection = REQUESTED_AREA;
        }
				
        new Ajax.Request(url, {
            method: 'get',
            onSuccess: function(response) {
                document.getElementById("vsm_kommunen_output").innerHTML = response.responseText;
                notifyAjaxSuccessed();
                checkCollectionSelected (selectedCollection);
            }
        });
        // Vorerst ben�tigt f�r Funktion notifyAjaxSuccessed
        notifyAjaxSuccessed();
    
    }
    //
    // Verwaltungsinformationen
    if (wichRadioButton.id=="vwi"){
	        globalRadioButton = 'vwi'; // globalRadioButton neu fuellen
	        //
	        // Gib Drop Down (id"vsm_kommunen_output") wieder frei
	        document.getElementById("vsm_kommunen_output").disabled="";
	        document.getElementById("vsm_kommunen_output").style.background="";
	
	        // Verstecke Inhalt der Suchmaske
	        document.getElementById("searchContent").style.display="none";
	        // Zeige dafuer Loadingbox der Suchmaske
	        document.getElementById("searchloadingbox").style.display="block";
	        //
	        // Hole Ergbnisse des Drop Downs fuer Verwaltungsinformationen
	        url = 'collections?dl=0';
	        
	              // 2009-03-04 TZ Übergebe ggf. vom ZZ  gesetzte Kommune area
	        if (REQUESTED_AREA != '') {
	            url = 'collections?dl=0&area=' + REQUESTED_AREA;
	            selectedCollection = REQUESTED_AREA;
	        }
	
	        new Ajax.Request(url, {
	            method: 'get',
	            onSuccess: function(response) {
	                document.getElementById("vsm_kommunen_output").innerHTML = response.responseText;
	                notifyAjaxSuccessed();
	                checkCollectionSelected ('kommunenundkreise');
	            }
	        });
	        notifyAjaxSuccessed();
	      
		 
	    }
    //
    // Welt /Google
    if (wichRadioButton.id=="www"){
        globalRadioButton = 'www'; // globalRadioButton neu fuellen
        document.getElementById("vsm_kommunen_output").disabled = true;
        checkCollectionSelected ('kommunenundkreise');
    }
}
//
//////////////////////////////// ENDE AUSWERTUNG RADIOBUTTONS SUCHMASKE //////////////////////////////////////////////
//
//
//////////////////////////////// START AUSWERTUNG FORMULAR SUCHMASKE /////////////////////////////////////////////////
var inhaltDropDown ;
var wertTextfeld;
var wertRadioButton;
var wertDropDown;
var leikaGlobalSearchTemp; // Global zur Speicherung bei Auswahl LEIKA aus AJAX autocompleter
var leikaGlobalHiddenTemp; // Global zugeöhriger value
var leikaResponse = 0;    
var leikaValue;   

function CheckFormular () {
    //
    // Inhalt aus Textfeld (gesuchter Begriff)
    wertTextfeld    = document.getElementById("vsm_begriff").value;
    //
    // Inhalt aus PLZ-Feld
    var wertPostCode   = document.getElementById("postcode").value;
    checkPostCodeValide(wertPostCode);

    //
    // Wert aus Radiobutton
    wertRadioButton = globalRadioButton;
    //
    // Wert aus Drop Down
    wertDropDown    = document.getElementById("vsm_kommunen").value;
    
    
    //
    // Inhalt <option id=""> Drop Down
    inhaltDropDown    = document.getElementById(wertDropDown).innerHTML;
    //
    // Wenn Textfeld leer ist, dann mach nichts
    if (wertTextfeld!= ''){
        //
        // Wenn eingegebene PLZ richitg ist
        if(CHECK_POSTCODE == true) {
            //
            // Auswertung Radiobuttons
            if (wertRadioButton =='vdl' || wertRadioButton =='vwi' ){
                //
                // Mache nichts wenn 'Ort w�hlen' gew�hlt wurde, Suche in allen Kommunen entf�llt
              if(wertDropDown) {
                    //
                    // Setze Submitbutton disable
                    document.getElementById("submitButtonID").disabled="disabled";
                    //
                    // Setze Eingabefeld auf READONLY
                    document.getElementById("vsm_begriff").readOnly=true ;
                    //
                    // Zeige Ergebnisbegriff div id="resultbox"
                    document.getElementById("resultbox").style.display = "block";
                    //
                    // Suchbegriff Uebrgabe an "Ergebnisanzeige" id="searchitem"
                    document.getElementById("searchitem").innerHTML= wertTextfeld;
                    //
                    // Alt-Text id="searchalt"
                    document.getElementById("searchalt").title = textaltsuchergebnis+' '+wertTextfeld;
                    //
                    
                    // Setze div id="totalResultOutput" auf unsichtbar - Ausgabe aller Ergebnisse
                    document.getElementById("totalResultOutput").style.display = "none";
                    
                    // und zeige Loading Box div id="totalresultloading" fuer gesamten Inhalt an
                    document.getElementById("totalresultloading").style.display = "block";
                    //
                    // Setze gewählten Radiobutton auf 'checked'
                    document.getElementById(wertRadioButton).checked="checked";
                    globalRadioButton = wertRadioButton;
			
                    // LEIKA - ZUSTÄNDIGKEIT
                    // Abfrage ob der Suchbegriff ein LEIKA-Begriff ist
                    if (wertTextfeld != leikaGlobalSearchTemp){
                        // Leere LEIKATREFFER
                        document.getElementById("resultShowContent_LEIKA").innerHTML = '';
                        // LEIKA Anker ausblenden
                        document.getElementById("jumpAnker_LEIKA").style.display = "none";
                        // leere Globals
                        leikaGlobalSearchTemp = '';
                        leikaGlobalHiddenTemp = '';
                        // Es wurde kein LEIKA-Vorschlag ausgewählt, ergo brauch keine Anfrage gestartet werden
                        HAS_LEIKA_RESPONSE = true; // Setze auf eins für Gesamtrefferausgabe
                        // LEIKA Wert ist ohne value
                        leikaValue = 0;
                    }
                    else {  // Frage Treffer ab
                        // Lade Zuständigkeiten
                        // leikaKey  = leikaGlobalHiddenTemp -LEIKA
                        // authority = wertDropDown
                        var url = '../leika/request/get-competences?leikaKey='+leikaGlobalHiddenTemp+'&authority='+wertDropDown+'&plz='+wertPostCode;
							
                        new Ajax.Request(url, {
                            method: 'get',
                            onSuccess: function(response) {
                                //
                                // Wenn LEIKA-Treffer leer ist, mach nix
                                if(response.responseText==''){
                                } else {
                                    //
                                    // Setze LEIA-Treffer in entsprechenden DIV
													
                                    // TZ 2009-02-18
                                    // Daten per Element.update() hinzufügen, ansonsten wird das übertragene inline JS
                                    // nicht ausgeführt.
                                    //
                                    //document.getElementById("resultShowContent_LEIKA").innerHTML = response.responseText;
                                    Element.update($("resultShowContent_LEIKA"), response.responseText);
													
                                    // LEIKA Anker einblenden
                                    document.getElementById("jumpAnker_LEIKA").style.display = "block";
                                    // Globals für LEIKA zurücksetzen
                                    HAS_LEIKA_RESPONSE  = true; // Setze auf eins für Gesamtrefferausgabe
                                    leikaValue     = 1;
                                }
                            }
                        });	 // ENDE 'new Ajax.Request'
                    } // ENDE else  'Frage Treffer ab'
                    //
                    // Hier Aufruf  AJAX um Inhalte fuer dropdown zu laden */
                    getSearchResult(wertTextfeld, wertRadioButton, wertDropDown, 0, 'KOMMUNE', true);
                    getSearchResult(wertTextfeld, wertRadioButton, wertDropDown, 0, 'KREIS', true);
                    getSearchResult(wertTextfeld, wertRadioButton, wertDropDown, 0, 'LANDSCHAFTSVERBAND', true);
                    getSearchResult(wertTextfeld, wertRadioButton, wertDropDown, 0, 'LAND', true);
                    getSearchResult(wertTextfeld, wertRadioButton, wertDropDown, 0, 'KAMMER', true);
                    getSearchResult(wertTextfeld, wertRadioButton, wertDropDown, 0, 'BUND', true);
                
                    
                } // ENDE if(wertDropDown != 'alle')
                //
				
                // Hinweis, wenn kein Ort ausgew�hlt wurde
                else {
                    alert(unescape("W%E4hlen Sie bitte einen Ort aus!"));
                    //Effect.Shake('vsm_kommunen');
                    Effect.Pulsate('vsm_kommunen');
                }
            }// ENDE  if (wertRadioButton =='vdl' || wertRadioButton =='vwi' )
		
            //  wertRadioButton =='www' Oeffne neues Fenster lade google mit gesuchtem Begriff
            else {
                var ausgabeDecodierterSuchbegriff = encodeURIComponent(wertTextfeld);
                fenster = window.open("http://www.google.de/search?hl=de&q="+ausgabeDecodierterSuchbegriff+"");
                fenster.focus()
            }
						
        } // ENDE if(CHECK_POSTCODE == false) {
    } // ENDE 'if (wertTextfeld!= '')'
} // ENDE 'function CheckFormular ()'

//
//////////////////////////////// ENDE AUSWERTUNG FORMULAR SUCHMASKE /////////////////////////////////////////////////
//
//////////////////////////////// START ANFRAGE DB ///////////////////////////////////////////////////////////////////
//
// Zaehler fuer Ladezustaende
//var counterResponse = 0;
function getSearchResult(q, sec, area, start, source, firstCall) {
    q = encodeURIComponent(decodeURIComponent(q));
    var url = '../gsa/searchresult?q='+q+'&sec='+sec+'&area='+area+'&start='+start+'&source='+source;
    //
    // ERSTER AUFRUF
    if(firstCall==true){

        new Ajax.Request(url, {
            method: 'get',
            onSuccess: function(response) {
                //
                // Wenn kein Ergebnis kommt
                if (response.responseText=='') {

                    var noresponse = true;

                }
                else {
                    //
                    // Wenn Anfrage gleich KOMMUNE
                    if (source=='KOMMUNE'){
                        //
                        // Synonyme auf default setzen
                        document.getElementById("synonymeTotal").innerHTML ='';
                        //
                        // Lade Synonyme
                        var url = '../gsa/synonym?q='+q+'&sec='+sec+'&area='+area;

                        new Ajax.Request(url, {
                            method: 'get',
                            onSuccess: function(response) {
                                //
                                // Wenn Synonyme leer ist, mach nix
                                if(response.responseText==''){}
                                else{
                                    //
                                    // Setze Name des gesuchten KREISES ein
                                    document.getElementById("synonymeTotal").innerHTML = response.responseText;
                                }
                            }
                        });
                        //
                        // Setze Name der gesuchten KOMMUNE ein
                        document.getElementById("headlineSection_"+source).innerHTML = inhaltDropDown;
                        //
                        // Ausgabe an toggle Alt-Texte show/hide
                        document.getElementById("showresult_"+source).title = ergebnis+' '+inhaltDropDown+' '+ergebnisanzeigen;
                        document.getElementById("hideresult_"+source).title = ergebnis+' '+inhaltDropDown+' '+ergebnisverbergen;
                    }
                    //
                    // Wenn Anfrage gleich KREIS
                    if (source=='KREIS'){
                        //
                        // Hole Namen des Kreises
                        url = 'kreis?kommune='+area;
                        
                        new Ajax.Request(url, {
                            method: 'get',
                            onSuccess: function(response) {
                                //
                                // Setze Name des gesuchten KREISES ein
                                document.getElementById("headlineSection_"+source).innerHTML = response.responseText;
                            }
                        });
                    }
                    //
                    // Wenn Anfrage gleich LAND
                    else if (source=='LAND'){
                        //
                        // Setze Name des LANDES ein
                        document.getElementById("headlineSection_"+source).innerHTML = namebundesland;
                    }
                    //
                    // Wenn Anfrage gleich BUND
                    else if (source=='BUND'){
                        //
                        // Setze KREIS ein
                        document.getElementById("headlineSection_"+source).innerHTML = namebund;
                    }

                    else if (source == 'LANDSCHAFTSVERBAND'){
                        document.getElementById("headlineSection_"+source).innerHTML = 'Landschaftsverbände';
                    } else if (source=='KAMMER'){
                        document.getElementById("headlineSection_"+source).innerHTML = 'Kammern';
                    }

                    //
                    // Erhoehe Ladezustand um 1
                    handleFinishedSearchRequest();

                }

                //
                // Box soll beim ersten Aufruf ausgeklappt sein
                ShowResult(source);
                //
                // Wenn kein Ergebnis vorliegt blende Box aus
                if (noresponse == true ){
                    //
                    // ausblenden des kastens wenn kein Ergebnis
                    document.getElementById("resultShowHead_"+source).style.display = "none";
                    document.getElementById("resultShowContent_"+source).style.display = "none";
                    //
                    // Anker ausblenden
                    document.getElementById("jumpAnker_"+source).style.display = "none";
                    //
                    // Ladezustand wird auch hier um 1 erhoeht
                    handleFinishedSearchRequest();
                    //
                    // setze noresponse auf false
                    noresponse = false;
                }
                //
                // Wenn Ergebnisse vorhanden sind, blende boxen ein
                else{
                    //
                    // Blende Anker KOMMUNE ein
                    document.getElementById("jumpAnker_"+source).style.display = "block";
                    //
                    // Ausgabe Ergebnis
                    document.getElementById("resultShowHead_"+source).style.display = "block";
                    document.getElementById("resultShowContent_"+source).innerHTML = "<div class='resultShowContent'>"+response.responseText+"</div>";
                }

            }// Ende function(response)
        }); // Ende new Ajax.Request
    }// Ende if(firstCall==true)
    //
    // Aufruf, wenn innerhalb der Boxen nachgeladen wird (firstCall==false)
    else {
        //
        // Einblenden Ladesequenz;
        document.getElementById("resultloading_"+source).style.display = "block";
        //
        // Box ausblenden
        document.getElementById("resultShowContent_"+source).style.display = "none";
        //
        // Toggle Funktion ausblenden
        document.getElementById("hideresult_"+source).style.display = "none";
        //
        // Anfrage an DB
        new Ajax.Request(url, {
            method: 'get',
            onSuccess: function(response) {
                document.getElementById("resultShowContent_"+source).innerHTML = '<div class="resultShowContent">'+response.responseText+'</div>';
                //
                // nach Timer setze div id="totalresultloading" unsichtbar, blende div id="totalResultOutput" ein
                window.setTimeout('document.getElementById("resultloading_'+source+'").style.display = "none";document.getElementById("resultShowContent_'+source+'").style.display="block";document.getElementById("hideresult_'+source+'").style.display = "block";',timerLoadingSearch);
            }
        });

    }
} // Ende function getSearchResult()
//
//////////////////////////////// ENDE ANFRAGE DB ///////////////////////////////////////////////////////////////////
//
//////////////////////////////// START SYNONYME ////////////////////////////////////////////////////////////////////

function sendSynonyme (synonym){
    //
    // Setze Synonym ins Textfeld
    document.getElementById("vsm_begriff").value = synonym;
    //
    // Aufruf function CheckFormular ()
    CheckFormular ();
}
//
//////////////////////////////// ENDE SYNONYME /////////////////////////////////////////////////////////////////////
//
//////////////////////////////// START STYLESWITCHER ///////////////////////////////////////////////////////////////
var defaultcss = "normal";

function wechselCSS(csswert) {
    if (!document.getElementsByTagName) {
        return;
    }

    var csselement = document.getElementsByTagName("link");

    for (var i = 0; i < csselement.length; i++ ) {
        if (csselement[i].getAttribute("rel").indexOf("style") != -1 && csselement[i].getAttribute("title")) {
            csselement[i].disabled = true;
            if (csselement[i].getAttribute("title") == csswert) {
                csselement[i].disabled = false;
            }
        }
    }
}

function initCSS() {
    wechselCSS(defaultcss);
}

function setzeCSS(csswert) {
    if (csswert != defaultcss) {
        wechselCSS(csswert);
        defaultcss = csswert;
    }
}
initCSS();

//////////////////////////////// ENDE STYLESWITCHER ///////////////////////////////////////////////////////////////
//
//////////////////////////////// START INIT ///////////////////////////////////////////////////////////////////////
function startInit(){	
    //
    // Leere Textfeld beim Aufruf der Seite oder mit ZZ Auswahl vorbefüllen
    document.getElementById("vsm_begriff").value = window.REQUESTED_SERVICE;
            
    //
    // Setze Radiobutton beim Aufruf der Seite auf 'vdl'
    // 11.12.09 Jetzt 'vwi'
    document.getElementById("vwi").checked="checked";
		
    /* Wenn gesetzt, wurde der Nutzer vom ZZ weitergeleitet und das Formular
		 * kann vorbefüllt automatisch gesendet werden.
		 */ 
    if (window.REQUESTED_SERVICE) {
        SUBMIT_FORM_WHEN_AJAX_READY = true;
    } // if
}
//
//////////////////////////////// ENDE INIT ///////////////////////////////////////////////////////////////////////

/* 17.02.08  
* Wenn Leikavorschlag ausgewählt wurde, 
* Auslösung der Funktion in 'controls.js'
* - Zeile 135-139 (bei 'ENTER'-Taste)
* - Zeile 205-209 (bei 'onclick')
*/
function leikaCheck() {
    //
    // Suche gewählte li class=selected und ermittele 'Suchbegriff' und zugehörigen value
    var allObj    = document.getElementsByTagName("li");
    for(i=0; i<allObj.length;i++) {
        // Wenn richtige 'class' gefunden wurde
        // aktualisiere leikaGlobalSearchTemp + leikaGlobalHiddenTemp
        if (allObj[i].className == "selected")  {
            // Hole Suchbegriff
            leikaGlobalSearchTemp = allObj[i].innerHTML;
            // Hole Leika-INDEX
            leikaGlobalHiddenTemp = allObj[i].id;
        }
    }
}

function showGoogleMaps (totalAmountLEIKA) {	
    /* Wenn LEIKA Treffer gleich null ist zwar Ergebnis angekommen,
	*  jedoch ist kein Treffer abzubilden
	*/
    if(Number(totalAmountLEIKA)== 0) {
        document.getElementById("jumpAnker_LEIKA").style.display = "none";
    }
    else {
        for(i=0; i< Number(totalAmountLEIKA); i++) {
            var map        = new GMap2($('competenceMap_'+i));
            var tempAdress = document.getElementById("adressOfLEIKA_"+i).innerHTML;
            // Funktionsaufruf in 'googleMapsHelper.js'
            showAddress(tempAdress, map);
        }
    }
}

/**
 * Beim ersten Aufruf der Suchseite oder Änderungen der Bereich Radiobuttons 
 * werden die verfügbaren Kommunen und die Kommenunenanzahl jeweils per Ajax 
 * angefragt.
 * Während dieser ersten Anfrage wird statt des Suchformulars eine Infomeldung
 * angezeigt.
 * Beide Ajax Anfragen rufen bei Erfolg diese Funktion auf.
 * 
 * Wenn das Suchformular durch die ZZ Weiterleitung vorbefüllt ist, wird es
 * automatisch abgeschickt. Dazu wird die Kommune benötigt, daher muss die Ajaxanfrage
 * vorher beendet sein.
 * 
 * @author tim.zebulla@cosinex.de
 */
function notifyAjaxSuccessed() {
    ++AJAX_FINISHED;
	
    // Ist AJAX_FINISHED Counter gerade, so sind beide Ajax Anfragen beendet.
    if ((AJAX_FINISHED % 2) == 0) {
        AJAX_FINISHED = 0;
        document.getElementById("searchloadingbox").style.display = "none";
        document.getElementById("searchContent").style.display = "block";

        if (SUBMIT_FORM_WHEN_AJAX_READY == true) {
            CheckFormular();
            SUBMIT_FORM_WHEN_AJAX_READY = false;
        } // if
    } // if
    
    
 
    
    
    
} // notifyAjaxSuccesed()

/*
 * Eine der AJAX Suchanfragen ist beended.
 * Wenn alle fertig sind, werden die Ergebnisse angezeigt..
 */
function handleFinishedSearchRequest() {
    ++FINISHED_SEARCH_REQUESTS;

    //console.log(FINISHED_SEARCH_REQUESTS);

    if ((FINISHED_SEARCH_REQUESTS == 4) && (HAS_LEIKA_RESPONSE == true)) {
        FINISHED_SEARCH_REQUESTS = 0;
        LEIKA_RESPONSE  = false;
        showSearchResults();
        
         // AB 17/12/2009
	    // Wenn Synonyme gew�hlt wurden und Seite neu gerendert, dann
	    // gib PLZ-Feld wieder frei
      	if (REQUESTED_AREA != '') {
	 		checkCollectionSelected (REQUESTED_AREA);
	 		REQUESTED_AREA='';
 		}
    }
}


/*
 * Blendet die Suchanimation aus und die Ergebnisse ein.
 */
function showSearchResults() {
        //
        // nach Timer setze div id="totalresultloading" unsichtbar, blende alle Ergebnisse ein div id="totalResultOutput" ein
        window.setTimeout('document.getElementById("totalresultloading").style.display = "none";document.getElementById("totalResultOutput").style.display="block";',timerLoadingSearch);

        //
        // gib submitbutton wieder frei
        document.getElementById("submitButtonID").disabled="";
        //
        // gib Eingabefeld wieder frei
        document.getElementById("vsm_begriff").readOnly=false;

        // Wenn LEIKA-Treffer
        if(leikaValue == '1'){
            //Hole Gesamtanzahl der Zuständigkeitstreffer
            var totalAmountLEIKA = document.getElementById("AmountLEIKA").innerHTML;
            // Nach Timer 'showGoogleMaps' aufrufen, um GoogleMaps API anzusprechen
            window.setTimeout('showGoogleMaps('+totalAmountLEIKA+');', timerLoadingSearch * 2);
        }
}
/**
 * Pr�fung ob im PLZ nur Zahlen vorhanden sind
 *
  * @author a.broeker
 */
function checkPostCodeValide (valueOfPostCode) {
    // Pr�fung, ob nur Zahlen vorhanden sind
    if (isNaN(valueOfPostCode*1)) {
        alert(unescape("Es d%FCrfen nur Zahlen eingegeben werden%21"));
        Effect.Pulsate('postcode');
        CHECK_POSTCODE = false;
    }
    // Pr�fung, ob mind. 5 Zahelen eingegeben wurden
    else if(valueOfPostCode.length < 5 && valueOfPostCode.length != 0) {
        alert(unescape("Es m%FCssen mindestens 5 Zahlen eingegeben werden%21"));
        Effect.Pulsate('postcode');
        CHECK_POSTCODE = false;
    }
    else {
        CHECK_POSTCODE = true;
    }
}

/**
 * Wenn Ort gewaehlt, gebe PLZ frei
 * oder setze es wieder auf disabled
 *
 */
function checkCollectionSelected (currentValue) {

    var disabledFieldClass = "postCodeBoxInputFieldDisabled"
    var postcodeBox = document.getElementById("postcode");

     if (currentValue != 'kommunenundkreise') {
          postcodeBox.disabled = false;
          postcodeBox.className = postcodeBox.className.replace(disabledFieldClass, "");
     } else {
         postcodeBox.disabled = true;
         objClassNameTemp  = postcodeBox.className.replace(disabledFieldClass, "");
         objClassNameTotal = objClassNameTemp + " " + disabledFieldClass;
         postcodeBox.className  = objClassNameTotal;
         postcodeBox.value = '';
     }

}

//////////////////////////////// DEBUGFUNCTION ///////////////////////////////////////////////////////////////////////  
 
function createDiv(checkText) {
    var newdiv = document.createElement('div');
    newdiv.setAttribute('id', 'ausgabe');
    newdiv.style.width = "300px";
    newdiv.style.height = "300px";
    newdiv.style.position = "absolute";
    newdiv.style.left = "0px";
    newdiv.style.top = "400px";
    newdiv.style.background = "#fff";
    newdiv.style.border = "2px solid #000";
    newdiv.innerHTML = checkText;
    document.body.appendChild(newdiv);
} 
