/*
 &copy;2009 raumbezug GbR
 Datum: 23.03.2009
 Autor: Torsten Teubert
*/



/* ---------- Grundeinstellungen & Globale Variablen ---------- */
var iconPath = "../../grafik/produkte/gfk/vertriebspartner/"; // Pfad zum Verzeichnis der Grafiken
var xmlPath = "xml/";       // Pfad zum Verzeichnis der XML-Dateien
var kmlPath = "kml/";


var mm;
var map;
var maptypeMapnik;

var startZoom = 6; // Einstiegszoomlevel
var centerPoint = new GLatLng(50.845190254901975, 9.744014739990234); // Mittelpunkt der Karte

/* ----- Icons ----- */

/* Sehenswürdigkeiten */
var i_sight = "poi.png";
var i_sight_x = 25;
var i_sight_y = 25;
var i_sight_ax = 12;
var i_sight_ay = 12;
var i_sight_awx = 12;
var i_sight_awy = 12;
/* Sehenswürdigkeiten */

/* ----- Icons ----- */




 /* Objektlisten */
 var partner = [];
 /* Objektlisten */


var maptype = 0;
var maptheme = 0;
/* ---------- Grundeinstellungen & Globale Variablen ---------- */


/* ---------- Verhalten der Marker im Marker Manager verändern ----------
GMarker.prototype.mhide = function ()
  {
    if (this.getPoint().lat() < 90)
      try {
        this.savePoint = this.getPoint();
        this.setPoint(new GLatLng(90, 0));
      } catch(e) {}
  }
GMarker.prototype.mshow = function ()
  {
    if (this.getPoint().lat() == 90)
    if (this.savePoint)
      try {
        this.setPoint(this.savePoint);
        this.savePoint = null;
      } catch(e) {}
  }
/* ---------- Verhalten der Marker im Marker Manager verändern ---------- */




/* ---------- Openstreetmap Tile ---------- */
function GetTileUrl_Mapnik(a, z) {
 return "http://tile.openstreetmap.org/" + z + "/" + a.x + "/" + a.y + ".png";
}
/* ---------- Openstreetmap Tile ---------- */




/* ---------- Grundkarte erstellen ---------- */
function showBaseMap() {

 map = new GMap2(document.getElementById("map"));
 map.addControl(new GSmallMapControl());
 map.enableContinuousZoom();
 //map.enableScrollWheelZoom();
 map.setCenter(centerPoint, startZoom);
 map.addControl(new GHierarchicalMapTypeControl());
 //map.addMapType(G_NORMAL_MAP);
 //map.addMapType(G_HYBRID_MAP);

 /* ----- Openstreetmap Layer -----  */
 var copyright = new GCopyright(1,new GLatLngBounds(new GLatLng(-90,-180), new GLatLng(90,180)), 0,
 '(<a rel="license" href="http://creativecommons.org/licenses/by-sa/2.0/">CC-BY-SA</a>)');
 var copyrightCollection = new GCopyrightCollection('Kartendaten &copy; 2009 <a href="http://www.openstreetmap.org/">OpenStreetMap</a> Contributors');
 copyrightCollection.addCopyright(copyright);

 var tilelayers_mapnik = new Array();
 tilelayers_mapnik[0] = new GTileLayer(copyrightCollection, 0, 18);
 tilelayers_mapnik[0].getTileUrl = GetTileUrl_Mapnik;
 tilelayers_mapnik[0].isPng = function () { return true; };
 tilelayers_mapnik[0].getOpacity = function () { return 1.0; };
 var mapnik_map = new GMapType(tilelayers_mapnik,
 new GMercatorProjection(19), "OSM",
 { urlArg: 'mapnik', linkColor: '#000000',alt:'OpenStreetMap anzeigen' });
 maptypeMapnik = mapnik_map;

 map.addMapType(maptypeMapnik);
 /* ----- Openstreetmap Layer ----- */

 /* ----- Minimaler Zoomlevel -----  */
 G_NORMAL_MAP.getMinimumResolution = function () { return 4 };
 G_HYBRID_MAP.getMinimumResolution = function () { return 4 };
 maptypeMapnik.getMinimumResolution = function () { return 4 };
 /* ----- Minimaler Zoomlevel ----- */


 map.setMapType(G_HYBRID_MAP);

 mm = new GMarkerManager(map,{maxZoom:19}); //Marker Manager
 addPartner();
}


/* ---------- Marker mit InfoFenster erzeugen ---------- */
function createMarker(p,i,html,info){
 var marker = new GMarker(p,{icon:i,title:info});
 if (info=="raumbezug GbR") {
 GEvent.addListener(marker, "click", function() {
      marker.openInfoWindow(html);
     });
 }
 return marker;
}
/* ---------- Marker mit InfoFenster erzeugen ---------- */



/* ---------- Icons für Marker erzeugen ---------- */
function iconPoi(n,ix,iy,ax,ay,awx,awy){
 var icon = new GIcon();
 icon.image = iconPath+n;
 icon.iconSize = new GSize(ix, iy);
 icon.iconAnchor = new GPoint(ax, ay);
 icon.infoWindowAnchor = new GPoint(awx, awy);
 return icon;
}
/* ---------- Icons für Marker erzeugen ---------- */


/* ---------- Marker für Sehenswürdigkeiten aus XML erstellen ---------- */
function addPartner(){
 var robj = GXmlHttp.create();
 robj.open("GET", "../../xml/regiograph/vertrieb.xml", true);

 robj.onreadystatechange = function() {
  if (robj.readyState == 4) {
    var xmlPoi  = robj.responseXML;
    var poi   = xmlPoi.getElementsByTagName("poi");

    for(var i=0; i< poi.length; i++)
        {

         var id    = poi[i].getElementsByTagName("id")[0].firstChild.nodeValue;
         var y   = poi[i].getElementsByTagName("y")[0].firstChild.nodeValue;
         var x   = poi[i].getElementsByTagName("x")[0].firstChild.nodeValue;
         var name  = poi[i].getElementsByTagName("name")[0].firstChild.nodeValue;
         var software  = poi[i].getElementsByTagName("software")[0].firstChild.nodeValue;
         var marktdaten  = poi[i].getElementsByTagName("marktdaten")[0].firstChild.nodeValue;
         var landkarten  = poi[i].getElementsByTagName("landkarten")[0].firstChild.nodeValue;

         var point = new GLatLng(y, x);



         var code = 0;
         var sLevel = 0;
         if(software=="ja"){
          code = code + 100;
          var sLevel = sLevel+1;
         }
         if(landkarten=="ja"){
          code = code + 10;
          var sLevel = sLevel+1;
         }
         if(marktdaten=="ja"){
          code = code + 1;
          var sLevel = sLevel+1;
         }

         var i_partner = "regiographpartner_"+code+".png";
         var i_partner_x = 20;
         var i_partner_y = 20;
         var i_partner_ax = i_partner_x/2;
         var i_partner_ay = i_partner_y/2;
         var i_partner_awx = i_partner_x/2;
         var i_partner_awy = i_partner_y/2;


          if(name=="raumbezug GbR"){
           var i_partner = "icon.png";
           var i_partner_x = 30;
           var i_partner_y = 30;
           var i_partner_ax = i_partner_x/2;
           var i_partner_ay = i_partner_y/2;
           var i_partner_awx = i_partner_x/2;
           var i_partner_awy = i_partner_y/2;
          }


          var icon = iconPoi(i_partner,i_partner_x,i_partner_y,i_partner_ax,i_partner_ay,i_partner_awx,i_partner_awy);



          var html =  "<table>";
          html    +=  "<tr>";
          html    +=  "<td><p><b>raumbezug GbR</b></p></td>";
          html    +=  "</tr>";
          html    +=  "<tr><td><p>Berliner Allee 12</p></td></tr>";
          html    +=  "<tr><td><p>30175 Hannover</p></td></tr>";
          html    +=  "<tr><td><p style='margin-top:5px;'>Fon: 0511 260 918 70</p></td></tr>";
          html    +=  "<tr><td><p style='margin-top:0px;'>Fax: 0511 260 918 75</p></td></tr>";
          html    +=  "<tr><td><a href='http://www.raumbezug.eu' target='_blank' style='margin-top:5px;'>www.raumbezug.eu</a></td></tr>";
          html    +=  "</table>";

          var marker = createMarker(point,icon,html,name);
          mm.addMarker(marker,6,17);
          partner[i] = marker;
        }


    }


 }
 robj.send(null);
}
/* ---------- Marker für Sehenswürdigkeiten aus XML erstellen ---------- */
