function createMarker(point, markerType, html) {
  var marker = new GMarker(point, markerType);
  GEvent.addListener(marker, "click", function() {
    marker.openInfoWindowHtml(html);
  });
  return marker;
}

function zoomMarker(point, markerType, map, html) {

  var zoomPoint = new GLatLng(51.65627, 5.00336);
  var marker = new GMarker(point, markerType);
  GEvent.addListener(marker, "click", function() {
     var zoomLevel = map.getZoom ();
	if(zoomLevel > 7){
    marker.openInfoWindowHtml(html);
    zoomLevel = map.getZoom ();
}
else {
    map.setCenter(zoomPoint, 8);
    zoomlevel = 8;
}
  });
  return marker;
}

function load() {

// General settings
if (GBrowserIsCompatible()) {
  var map = new GMap2(document.getElementById("map"));
  map.addControl(new GSmallMapControl());
  map.addControl(new GMapTypeControl());
  var centerpoint = new GLatLng(30.43462265, 21.47830912);
  map.setCenter(centerpoint, 2);


  //Two markers defined: blue for partners, orange for offices.
  var blueIcon = new GIcon();
  blueIcon.image = "http://labs.google.com/ridefinder/images/mm_20_blue.png";
  blueIcon.shadow = "http://www.google.com/mapfiles/shadow50.png";
  blueIcon.iconSize = new GSize(12, 20);
  blueIcon.shadowSize = new GSize(22, 20);
  blueIcon.iconAnchor = new GPoint(6, 20);
  blueIcon.infoWindowAnchor = new GPoint(5, 1);

  var orangeIcon = new GIcon();
  orangeIcon.image = "http://labs.google.com/ridefinder/images/mm_20_orange.png";
  orangeIcon.shadow = "http://www.google.com/mapfiles/shadow50.png";
  orangeIcon.iconSize = new GSize(12, 20);
  orangeIcon.shadowSize = new GSize(22, 20);
  orangeIcon.iconAnchor = new GPoint(6, 20);
  orangeIcon.infoWindowAnchor = new GPoint(5, 1);

                
  // Set up our GMarkerOptions objects
  markerOptionsA = { icon:orangeIcon };
  markerOptionsB = { icon:blueIcon };


  //our offices
  var point = new GLatLng(51.43462265, 5.47830912);
  map.addOverlay(zoomMarker(point, markerOptionsA, map, '<b><a href="map_nl">Spirit IT</a></b><br>Paradijslaan 44<br>5611 KP Eindhoven<br>The Netherlands<br>'));

  var point = new GLatLng(29.91068, -95.30169);
  map.addOverlay(createMarker(point, markerOptionsA, '<b><a href="map_us">Spirit IT Inc.</a></b><br>526 Kingwood Drive<br>Kingwood, Texas, 77339<br>United States of America<br>'));

  //our business partners

  // EUROPE
  // BELGIUM Global Gas Solutions
  var point = new GLatLng(51.45194, 4.47464);
  map.addOverlay(zoomMarker(point, markerOptionsB, map, '<b><a href="http://globalgassolutions.com/" target="_blank">Global Gas Solutions</a></b><br>Spijker 55<br>2910 Essen<br>Belgium<br>'));

  // BELGIUM iSystems
  var point = new GLatLng(51.29218, 4.44523);
  map.addOverlay(zoomMarker(point, markerOptionsB, map, '<b><a href="http://www.isystems.be/" target="_blank">iSystems</a></b><br>Vrijwilligerslei 1<br>2930 Brasschaat<br>Belgium<br>'));

  // NETHERLANDS ODS
  var point = new GLatLng(51.87733, 4.62023);
  map.addOverlay(zoomMarker(point, markerOptionsB, map, '<b><a href="http://www.ods-metering-systems.com/" target="_blank">ODS Metering Systems b.v.</a></b><br>Keurmeesterstraat 4<br>2984BA Ridderkerk<br>The Netherlands<br>'));

  // NETHERLANDS Imtech
  var point = new GLatLng(51.487338, 3.893055);
  map.addOverlay(zoomMarker(point, markerOptionsB, map, '<b><a href="http://www.imtech.eu/smartsite.dws?lang=en" target="_blank">Imtech Industry International b.v.</a></b><br>Marquesweg 4<br>4462HD Goes<br>The Netherlands<br>'));

  // ROMANIA Syscom 18
  var point = new GLatLng(44.45436017, 26.09677491);
  map.addOverlay(createMarker(point, markerOptionsB, '<b><a href="http://www.syscom.ro/index.asp" target="_blank">Syscom 18 SRL</a></b><br>Calea Plevnei 139B, Sector 6<br>Bucuresti, 060011<br>Romania<br>'));

  // TURKEY Hatti Teknik
  var point = new GLatLng(40.971961, 29.099711);
  map.addOverlay(createMarker(point, markerOptionsB, '<b><a href="" target="_blank">Hatti Teknik Ltd. Sti.</a></b><br>Bayar Caddesi, Gulbahar Sokak<br>Perdemsac Plaza #17 D22 Kozyatagi, Istanbul, Turkey<br>'));

  // SPAIN Aplein Spain
  var point = new GLatLng(40.42993, -3.73082);
  map.addOverlay(createMarker(point, markerOptionsB, '<b><a href="http://www.apleiningenieros.com/" target="_blank">Aplein Ingenieros S.A.</a></b><br>Avda. de Valladolid, 47-C<br>28008 Madrid <br>Spain<br>'));

  // PORTUGAL Aplein Portugal
  var point = new GLatLng(38.79111, -9.11172);
  map.addOverlay(createMarker(point, markerOptionsB, '<b><a href="http://www.apleiningenieros.com/" target="_blank">Aplein Engenheiros LDA.</a></b><br>Rua Afonso de Albuquerque,lote 1B, loja Esq.<br>2685-013 Sacavém<br>Portugal<br>'));

  // GERMANY EEE Anlagenbau GmbH - Germany  var point = new GLatLng(52.35501, 14.09086);
  map.addOverlay(createMarker(point, markerOptionsB, '<b>EEE Anlagenbau GmbH</b><br>Gewerbeparkring 1<br>D15517 Fuerstenwalde<br>Germany<br>'));

  // NORWAY Fiskal-Teknikk
  var point = new GLatLng(60.457218, 5.097656);
  map.addOverlay(createMarker(point, markerOptionsB, '<b><a href="http://www.fiskal-teknikk.no/" target="_blank">Fiskal-Teknikk AS</a></b><br>Nordasdalen 25<br>5235 Radal Bergen<br>Norway<br>'));


  // MIDDLE EAST
  // KSA Attest
  var point = new GLatLng(26.27, 50.21);
  map.addOverlay(createMarker(point, markerOptionsB, '<b><a href="http://www.attest.com.sa/" target="_blank">ATTEST</a></b><br>P.O. Box 8415<br>Dammam 31482<br>Saudi Arabia<br>'));

  // OMAN OHI Group
  var point = new GLatLng(23.61, 58.59);
  map.addOverlay(createMarker(point, markerOptionsB, '<b><a href="http://www.ohigroup.com/" target="_blank">OHI Group</a></b><br>P.O. Box 889<br>100 Muscat<br>Oman<br>'));

  // KUWAIT Gulf Energy Company
  var point = new GLatLng(29.35, 48.0);
  map.addOverlay(createMarker(point, markerOptionsB, '<b><a href="http://www.gulfenergykw.com" target="_blank">Gulf Energy Company</a></b><br>P.O. Box 22253<br>13083 Kuwait<br>State of Kuwait<br>'));


  // CANADA
  // STASIS
  var point = new GLatLng(51.055, -114.062);
  map.addOverlay(createMarker(point, markerOptionsB, '<b><a href="http://www.stasismeasurement.com/" target="_blank">Stasis Measurement Ltd.</a></b><br>626 Sierra Morena Crt. SW<br>Calgary AB T3H 3C3<br>Canada<br>'));


  // SOUTH AMERICA
  // MEXICO Aplein Mexico
  var point = new GLatLng(19.42818, -99.16419);
  map.addOverlay(createMarker(point, markerOptionsB, '<b><a href="http://www.apleiningenieros.com/" target="_blank">Aplein Ingenieros S.A. de C.V</a></b><br>Paseo de la Reforma 350<br>Colonia Juarez<br>06600 Mexico City, Mexico<br>'));

  // COLOMBIA NewNet Energy
  var point = new GLatLng(4.634855556, -74.11085);
  map.addOverlay(createMarker(point, markerOptionsB, '<b><a href="http://www.newnetsa.com/" target="_blank">NewNet Energy S.A.</a></b><br>Avenida (calle) 17 No 60-72<br>Bogota<br>Colombia<br>'));

  // CHILI ACC INDUSTRIAL Ltda.
  var point = new GLatLng(-33.45, -70.626);
  map.addOverlay(createMarker(point, markerOptionsB, '<b><a href="http://www.accindustrial.com" target="_blank">ACC Industrial Ltda.</a></b><br>Av. Irarrazaval 2821, Of. 1302<br>Nunoa, Santiago<br>Chili<br>'));

  // BRAZIL Metroval
  var point = new GLatLng(-22.77, -47.296);
  map.addOverlay(createMarker(point, markerOptionsB, '<b><a href="http://www.metroval.com.br" target="_blank">Metroval</a></b><br>Christiano Kilmeyers, 819<br>Nova Odessa<br>Brazil<br>'));

  //AUSTRALIA
  var point = new GLatLng(-33.70, 151.126);
  map.addOverlay(createMarker(point, markerOptionsB, '<b><a href="http://www.gasmeteringaust.com.au" target="_blank">Gas Metering Australia Pty Ltd</a></b><br>44 Holt Ave Wahroonga<br>N.S.W. 2076<br>Australia<br>'));


  // SOUTH EAST ASIA
  // MALAYSIA Data Intelek
  var point = new GLatLng(3.01077, 101.51871);
  map.addOverlay(createMarker(point, markerOptionsB, '<b><a href="http://www.dataintelek.com/" target="_blank">Data Intelek Sdn Bhd</a></b><br>9A Jalan USJ 21/11<br>47630 Subang Jaya, Selangor<br>Malaysia<br>'));

  // INDONESIA PT Yuan Sejati
  var point = new GLatLng(-6.27712, 106.7977);
  map.addOverlay(createMarker(point, markerOptionsB, '<b>PT Yuan Sejati</b><br>JI. R.S. Fatmawati No. 20<br>12430 Jakarta <br>Indonesia'));

  // THAILAND ITS - Samut Sakhon
  var point = new GLatLng(13.567140, 100.304091);
  map.addOverlay(createMarker(point, markerOptionsB, '<b><a href="http://www.plc-scada.net/index.php?pg=spiritit" target="_blank">Industrial Technology Supply</a></b><br>49/438 M4, Ekachai Road, Muang<br>Samut Sakhon 74000<br>Thailand<br>'));

  }
}


window.onload=load;
window.onunload=GUnload;
