
//
//
//
//
// Merkzettel Cookie
//
//
//
//

function cookie_setzen() {

   var anzParameter = cookie_setzen.arguments.length;
   var parameter = cookie_setzen.arguments;
   // 1. Cookie-Name
   var name = parameter[0];
   // 2. Cookie-Wert
   var value = (anzParameter >= 2) ? parameter[1] : "";
   value = escape(value); // URL-Codierung
   // 3. Haltbarkeitsdatum
   var expires = (anzParameter >= 3) ? parameter[2] : null;
   if (expires != null) {
      if (expires.toGMTString) {
         expires = expires.toGMTString();
      }
   }
   // 4. Domain
   var domain = (anzParameter >= 4) ? parameter[3] : null;
   // 5. Pfad
   var path = (anzParameter >= 5) ? parameter[4] : null;

   if (path != null) {
      path = escape(path); // Sonderzeichen umwandeln
   }

   path = "/Hier-zu-Hause/Schulen/" ;
   path = cookiepath;

   // 6. Sicherheitsstufe
   var secure = (anzParameter >= 6) ? parameter[5] : null;
   // Zusammensetzen des Cookies
   //

   var c = name + "=" + escape(value);
   if (expires != null) {
      c += "; expires=" + expires;
   }
   else
   {
   var date = new Date();
   date.setTime(date.getTime()+(7*24*60*60*1000));
   c += "; expires=" + date.toGMTString();
   }

   if (domain != null) {
      c += "; domain=" + domain;
   }
   if (path != null) {
      c += "; path=" + path;
   }
   if (secure) {
      c += "; secure";
   }
   // Cookie setzen
   document.cookie = c;
   //alert("name/domain/value/path/secure/ "+ name + "/" + domain + "/" + value + "/" + path + "/" + secure);
}

function cookie_lesen(name) {
   //document.cookie = "path=/HAZ/Hier-zu-Hause/Kinderbetreuung/"; 
   var i = document.cookie.indexOf(name + "=");
   var c = "";
   if (i > -1) {
      var ende = document.cookie.indexOf("; ",
                 i+name.length+1);
      if (ende == -1) {
         ende = document.cookie.length;
      }
      c = document.cookie.substring(i+name.length+1, ende);
   }
   return unescape(c);
}



function laden_collection() {
   var str = cookie_lesen("Schulen");
   str = unescape(str);
   var temp = new Array();

   // Array loeschen (! funzt nicht ) 
   	for (var e in temp) {
   		delete(temp[e]);
	}

   // Daten aus dem Cookie in ein Array umwandeln
   if (str != "") {
      str = str.replace(/,/g, "\",\"");
      str = "\"" + str + "\""
      eval("temp = [" + str + "]");
   }
   // assoziatives Array erstellen
   var c = new Array();
   for (var e in c) {
  	c[e]="";
   }
   for (var i=0; i<temp.length; i+=2) {
  	c[temp[i]] = temp[i+1];

   }
   // Array zurückgeben
   return c;
}



function lesen_collection(name) {
   var c = laden_collection();
   return c[name];
}



function allelesen_collection() {
   var c = laden_collection();
   return c;
}



function speichern_collection(c) {
   var temp = new Array();
      for (var e in c) {
      	    // geclonte Elemente filtern
      	    if (e.substring(0,2) == "id") {
            temp[temp.length]=e;
	    temp[temp.length]=c[e];
            }
      }
   cookie_setzen("Schulen", temp.toString());
}



function loeschen_collection(name, wert) {
   var c = laden_collection();
   var temp = new Array();
   for (var e in c) {
      // geclonte Elemente filtern
      if (e.substring(0,2) == "id") {
      	 if(e!=name){ 
      		temp[temp.length]=e;
      		temp[temp.length]=c[e];
     	 }      
      }      
   }
   cookie_setzen("Schulen", temp.toString());
}



function schreiben_collection(name, wert) {
   var c = laden_collection();
   c[name] = wert;
   speichern_collection(c);
}


//allelesen_collection();


//
//
//
//
// Schulen DIV-Steuerung / Liste-Detail-Steuerung
//
//
//
//

	function showBlock(id,von,bis)
	{
	//alert(" Zeige DIV-Block " + id );
    		node=document.getElementById('div0');
    		//node.style.height='';
    		//node.style.visibility='hidden';
        	node.innerHTML="";
    		node1=document.getElementById('div'+id);
        	node.innerHTML=node1.innerHTML;
    		node2=document.getElementById('showanz');
        	node2.innerHTML="Treffer " + von + "-" + bis;
	}

	function forward(mid)
	{
	   var title = "";
	   var Fenster = window.open( "/mol/schule/mail.php?id=" + mid + "&url=" + url + "&title" + title , "drucken" , "width=580,height=600,Resizable=no,scrollbars=yes,menubar=no,directories=no,status=no");
           Fenster.focus();

	}

	function expose(mid)
	{
	merk(mid);
	}

	function drucken(mid)
	{
	 var Fenster = window.open( "/mol/schule/drucken.php?id=" + mid , "drucken" , "width=580,height=600,Resizable=no,scrollbars=yes,menubar=no,directories=no,status=no");
         Fenster.focus();
	}

	function schliessen(mid){


		var Fenster = window.open( backurl , "_self" );

        	//var node=document.getElementById('etDetail');
        	//node.innerHTML="";

    		//node=document.getElementById('etRest');
    		////node.style.height=etHeight+'px';
    		//node.style.height='';
    		//node.style.visibility='visible';
        	//node=document.getElementById("m"+mid);
        	//node.innerHTML="";

	}

	function mschliessen(id){

		loeschen_collection("id"+id.substring(4,id.length), id); 

        	//var node=document.getElementById('etDetail');
        	//node.innerHTML="";

    		node=document.getElementById('etRest');
    		node.style.visibility='visible';

        	node=document.getElementById(id);
        	node.innerHTML="";
	}


//
//
//
//
// Google Maps fuer KITA 
//
//
//
//
    var map;
    var geocoder;
    var sidebar;

    function load() {
      if (GBrowserIsCompatible()) {
        geocoder = new GClientGeocoder();
        map = new GMap2(document.getElementById('map'));
        map.addControl(new GSmallMapControl());
        map.addControl(new GMapTypeControl());
        map.setCenter(new GLatLng(52.384483,9.742810), 12);

        var sidebar = document.getElementById('etList');
        //sidebar.innerHTML = 'Bitte Adresse (Strasse, Ort) eingeben.';
      }
    }

    function sendGMQuery(add,rad) {
           var address = document.getElementById('addressInput');
	   address.value = add ;
	   var radius = document.getElementById('radiusSelect');
	   radius.value = rad ;

	   load();
	   geocoder.getLatLng(add, function(latlng) {
	   if (!latlng) {
	      alert(address + ' nicht gefunden');
	   } else {
	      searchLocationsNear(latlng,'0');
	   }
	 });

    }


   function searchLocations() {
     var address = document.getElementById('addressInput').value;
     geocoder.getLatLng(address, function(latlng) {
       if (!latlng) {
         alert(address + ' nicht gefunden');
       } else {
         searchLocationsNear(latlng,'0');
       }
     });
   }


   function searchLocationsLeft() {
     var address = document.getElementById('addressInput').value;
     geocoder.getLatLng(address, function(latlng) {
           if (!latlng) {
             alert(address + ' nicht gefunden');
            } else {
             searchLocationsNear(latlng,'1');
            }
         });
    }

   function showLocation(id) {

        var searchUrl = '/mol/schule/search_georesults.php?id=' + id ;
        GDownloadUrl(searchUrl, function(data) {
        var xml = GXml.parse(data);
        var markers = xml.documentElement.getElementsByTagName('marker');
        map.clearOverlays();

        var bounds = new GLatLngBounds();

        map.setCenter(new GLatLng(52.384483,9.742810), 12);

        for (var i = 0; i < markers.length; i++) {
           var id = markers[i].getAttribute('id');
           var name = markers[i].getAttribute('name');
           var strasse = markers[i].getAttribute('strasse');
           var hausnr = markers[i].getAttribute('hausnr');
           var ort = markers[i].getAttribute('ort');
           var address = strasse + ' ' + hausnr + '<br>' + ort;
           var ortsteil = markers[i].getAttribute('ortsteil');
           var distance = 0 ;
           var point = new GLatLng(parseFloat(markers[i].getAttribute('lat')),
                                    parseFloat(markers[i].getAttribute('lng')));

           var marker = createMarker(point, name, address);
              map.addOverlay(marker);
              bounds.extend(point);
           }
         map.setCenter(bounds.getCenter(), map.getBoundsZoomLevel(bounds));
         });
   }


   function showLocations(str,typ,bet) {

        var searchUrl = '/mol/schule/search_georesults.php?str=' + str + '&typ=' + typ  + '&bet=' + bet ;

        GDownloadUrl(searchUrl, function(data) {
        var xml = GXml.parse(data);
        var markers = xml.documentElement.getElementsByTagName('marker');
        map.clearOverlays();

        var bounds = new GLatLngBounds();

        map.setCenter(new GLatLng(52.384483,9.742810), 12);

        for (var i = 0; i < markers.length; i++) {
           var id = markers[i].getAttribute('id');
           var name = markers[i].getAttribute('name');
           var strasse = markers[i].getAttribute('strasse');
           var hausnr = markers[i].getAttribute('hausnr');
           var ort = markers[i].getAttribute('ort');
           var address = strasse + ' ' + hausnr + '<br>' + ort;
           var ortsteil = markers[i].getAttribute('ortsteil');
           var distance = 0 ;
           var point = new GLatLng(parseFloat(markers[i].getAttribute('lat')),
                                    parseFloat(markers[i].getAttribute('lng')));

           var marker = createMarker(point, name, address);
              map.addOverlay(marker);
              bounds.extend(point);
           }
         map.setCenter(bounds.getCenter(), map.getBoundsZoomLevel(bounds));
         });
   }


   function searchLocationsNear(center,showtyp) {
     var radius = document.getElementById('radiusSelect').value;
     var searchUrl = '/mol/schule/search_geoxml.php?lat=' + center.lat() + '&lng=' + center.lng() + '&radius=' + radius;

     GDownloadUrl(searchUrl, function(data) {
       var xml = GXml.parse(data);
       var markers = xml.documentElement.getElementsByTagName('marker');
       map.clearOverlays();

       var details = document.getElementById('etDetail');
       details.innerHTML = '';
       sidebar = document.getElementById('etList');
       sidebar.innerHTML = '';
       details=document.getElementById('etRest');
       details.style.visibility='visible';


 if (showtyp == '1')
  {
         var treffer = document.getElementById('treffer');
	 var treffer1 = document.getElementById('treffer1');
  }

       if (markers.length == 0) {
          sidebar.innerHTML = '<div id=\"db_zwischenkopf\"><p>Keine Schulen im Umkreis gefunden.</p></div> <br style=\"clear:both;\"/>'; 
	  if (showtyp == '1')
	    {
	     treffer.innerHTML = 'Schul-Suche : &nbsp;&nbsp;Keine Schulen gefunden.';
	     treffer1.innerHTML = 'Schul-Suche : &nbsp;&nbsp;Keine Schulen gefunden.';
	    }

         map.setCenter(new GLatLng(52.384483,9.742810), 12);
         return;
       }

       var bounds = new GLatLngBounds();

	// Create our "tiny" marker icon
	var blueIcon = new GIcon(G_DEFAULT_ICON);
	blueIcon.image = "/mol/schule/blue-dot.png";

 	blueIcon.iconSize = new GSize(30, 30);
	// Set up our GMarkerOptions object
	markerOptions = { icon:blueIcon };

  	var point1 = new GLatLng(center.lat(),center.lng());
  	map.addOverlay(new GMarker(point1, markerOptions));

       sidebar.innerHTML = '<div id=\"db_zwischenkopf\"><p>Suchergebnisse: <strong>' + markers.length + '</strong></p> </div><br style=\"clear:both;\"/>'; 

       if (showtyp == '1')
         {
          var add = document.getElementById('addressInput').value;
          var rad = document.getElementById('radiusSelect').value;
          treffer.innerHTML = 'Schul-Suche : &nbsp;&nbsp;<a href=\"' + schulepath + 'SchuleDB/(address)/' + add + '/(radius)/' + rad + '/(back)/2\" > ' + markers.length + ' Schulen gefunden. </a>';
          treffer1.innerHTML = '<center><a href=\"' + schulepath + 'SchuleDB/(address)/' + add + '/(radius)/' + rad + '/(back)/2\" > ' + markers.length + ' Schulen gefunden. Zum Anzeigen bitte hier klicken </a></center>';
       }

       createBegin();

       for (var i = 0; i < markers.length; i++) {
         var id = markers[i].getAttribute('id');
         var name = markers[i].getAttribute('name');
         var strasse = markers[i].getAttribute('strasse');
         var hausnr = markers[i].getAttribute('hausnr');
         var ort = markers[i].getAttribute('ort');
         var ortsteil = markers[i].getAttribute('ortsteil');
         //var address = markers[i].getAttribute('address');
         var address = strasse + ' ' + hausnr + '<br>' + ort;
         var distance = parseFloat(markers[i].getAttribute('distance'));
         var point = new GLatLng(parseFloat(markers[i].getAttribute('lat')),
                                 parseFloat(markers[i].getAttribute('lng')));
         
         var marker = createMarker(point, name, address);
         map.addOverlay(marker);
         createSidebarEntry(id, strasse, hausnr , ort, ortsteil , marker, name, address, distance);
         bounds.extend(point);
       }
       map.setCenter(bounds.getCenter(), map.getBoundsZoomLevel(bounds));
       //createEnd();
     });
   }

    function createMarker(point, name, address) {
      var marker = new GMarker(point);
      var html = '<b>' + name + '</b> <br/>' + address + '<br/>';
      GEvent.addListener(marker, 'click', function() {
        marker.openInfoWindowHtml(html);
      });
      return marker;
    }

    function createEnd() {

      var html = '';
      html = '</table>';
      sidebar.innerHTML += html;
      return;
    }

    function createBegin() {

      var html = '';

        html = '<div id=\"db_ergebnisliste\"><table class=\"db_tformat\">' + 
        '<tr closs=\"kopf\">' + 
        '       <td width=\"90\">&nbsp;</td>' + 
        '       <td class=\"kopf\" width=\"145\">Strasse</td>' +
        '       <td class=\"kopf\" width=\"145\">Ortsteil</td>' + 
        '       <td class=\"kopf\" width=\"125\">Stadt</td>' + 
        '</tr></table></div>';

      sidebar.innerHTML += html;
    }


    function createSidebarEntry(id, strasse, hausnr , ort, ortsteil,  marker, name, address, distance) {


      var html = '';

        html = '<div id=\"db_ergebnisliste\"><table class=\"db_tformat\">' + 
        '<tr closs=\"kopf\">' +
        '        <td width=90 rowspan=\"3\">' +
        '               <div id=\"bild_' + id + '\"> ' +
        '                     <img onclick=\"showExt(' + id + ')\" class=\"details\" NOonmouseover=\"show(' + id + ')\" width=70 src=/mol/schule/image/m.' + id + '.1.jpg alt=\"kein Bild\" >' +
        '               </div> ' +
        '       </td>' +
        '       <td class=\"name\" colspan=\"2\">' + name + '</td>' +
        '       <td class=\"google\"></td>' +
        '</tr>' +
        '<tr>' +
        '       <td width=\"145\ class=\"adresse\">' + strasse + ' ' + hausnr + '</td>' +
        '       <td width=\"145\ class=\"adresse\">' + ort + '</td>' +
        '       <td width=\"125\ class=\"adresse\">' + ortsteil + '</td>' +
        '</tr>' +
        '<tr>' +
        '        <td colspan=\"2\" class=\"service\"><div id=\"details\" onclick=\"showExt('+ id + ')\" ><img src=\"/mol/schule/images/bg_pfeil_schwarz.gif\" > Details</div><!-- <a href=\"#\" class= \"ergebnis\">Kommentare<img src=\"images/kommentar.gif\" border=\"0\" alt=\"Kommentar\"> 6</a> --> </td>' + 
        '       <td class=\"date\"><a href=\"#\" onclick=\"merk(' + id + ')\" class=\"db_merken_liste\">merken</a></td>' +
        '</tr></table></div>';


      sidebar.innerHTML += html;
      return ;
    }

//
//
//
//
// Erweiterung onload/onunload ( body function )
//
//
//

    function addOnload(onloadFunc) {
     if(onloadFunc){
     if(window.addEventListener) {
     window.addEventListener("load", onloadFunc, false);
     } else if(this.attachEvent) {
     window.attachEvent("onload", onloadFunc);
     } else {
     var onloadOld = window.onload;
     window.onload = function() {
     if (onloadOld) {
     onloadOld();
     }
     onloadFunc();
     };
     }
     }

     }



    function addOnunload(onunloadFunc) {
     if(onunloadFunc){

     if(window.addEventListener) {
     window.addEventListener("unload", onunloadFunc, false);
     } else if(this.attachEvent) {
     window.attachEvent("onunload", onunloadFunc);
     } else {
     var onunloadOld = window.onunload;
     window.onunload = function() {
     if (onunloadOld) {
     onunloadOld();
     }
     onunloadFunc();
     };
     }
     }

     }


//
//
//
//
// load und Gunload immer laden ( kann auch in die entsprechende .tpl-Datei )
//
//
//
//
//
     addOnload(load);
     addOnunload(GUnload());

