var http_request  = false;

function saveRegioLatLng(region, punkt) {
  ajax_request();
  url = "/putzmittel.php?type=saveregiolatlng&region="+region+"&punkt="+punkt;
  http_request.open('GET',url,true);
  http_request.send(null);
}

function getRegioLatLng(region) {
  if (GBrowserIsCompatible()) {
    var geocoder = new GClientGeocoder();
    geocoder.getLatLng(
      region,
      function(point) {
        if (point) {
          saveRegioLatLng(region,point);
        }
      }
    );
  }
}

function saveObjLatLng(anschrift, punkt) {
  ajax_request();
  url = "/putzmittel.php?type=saveobjlatlng&anschrift="+anschrift+"&punkt="+punkt;
  http_request.open('GET',url,true);
  http_request.send(null);
}

function showMap(ADRESSE) { 
  document.getElementById("googlemap").style.display = "block";
  initialize(ADRESSE);
}

function initialize(address) {
  if (GBrowserIsCompatible()) {
    var map = new GMap2(document.getElementById("googlemap"));
		map.addControl(new GSmallMapControl());
    var geocoder = new GClientGeocoder();
    geocoder.getLatLng(
      address,
      function(point) {
        if (!point) {
          document.getElementById("googlemap").innerHtml = '<p>Adresse des Objektes nicht gefunden</p>';
        } else {
          map.setCenter(point, 13);
          var marker = new GMarker(point);
          map.addOverlay(marker);
          marker.openInfoWindowHtml(address);
          saveObjLatLng(address,point);
        }
      }
    );
  }
}

function showPrices() {
  document.getElementById('preisdetails').style.visibility = 'visible';
  document.getElementById('preisdetails').style.display = 'block';
}

function hidePrices() {
  document.getElementById('preisdetails').style.visibility = 'hidden';
  document.getElementById('preisdetails').style.display = 'none';
}

function showBwDiv(NUMMER) {
  for (a=0;a<=10;a++) {
    var ZEILE = document.getElementById('bw_details_'+NUMMER);
    if (ZEILE) {
      ZEILE.style.visibility = 'visible';
      ZEILE.style.display = 'table';
    }
  }
}

function showOverlay() {
  document.getElementById('overlay').style.visibility = 'visible';
  document.getElementById('overlay').style.display = 'block';
}

function merkeObjekt(ID) {
  var ablauf = new Date();
  var in30Tagen = ablauf.getTime() + (30 * 24 * 60 * 60 * 1000);
  ablauf.setTime(in30Tagen);
  var CHECKER = checkAlte(ID);
  if (CHECKER >= 0) {
    CHECKER++;
    document.cookie = 'Anzahl=0; expires=Thu, 01-Jan-70 00:00:01 GMT;';
    document.cookie = "Anzahl="+CHECKER+"; expires="+ablauf.toGMTString()+"; path=/;";
    document.cookie = "Objekt"+CHECKER+"="+ID+"; expires="+ablauf.toGMTString()+"; path=/;";
    alert('Das Ferienobjekt wurde auf die Merkliste gesetzt.');
  } else {
    alert('Dieses Ferienobjekt befindet sich bereits auf der Merkliste.');

  }
  countMz();
}

function countMz() {
  var a_all_cookies = document.cookie.split( ';' );
	var a_temp_cookie = '';
	var cookie_name = '';
	var Anzahl = '';
	for (i=0;i<a_all_cookies.length;i++) {
		a_temp_cookie = a_all_cookies[i].split( '=' );
    cookie_name = a_temp_cookie[0].replace(/^\s+|\s+$/g, '');
    if (cookie_name == 'Anzahl') {
      Anzahl = unescape( a_temp_cookie[1].replace(/^\s+|\s+$/g, '') );
    	break;
		}
		a_temp_cookie = null;
		cookie_name = '';
	}
  document.getElementById('mz_count').innerHTML = Anzahl;
}

function trim (zeichenkette) {
  // Erst führende, dann Abschließende Whitespaces entfernen
  // und das Ergebnis dieser Operationen zurückliefern
  return zeichenkette.replace (/^\s+/, '').replace (/\s+$/, '');
}

function checkAlte(ID) {
  var a_all_cookies = document.cookie.split( ';' );
	var a_temp_cookie = '';
	var cookie_name = '';
  var cookie_value = '';
	var AnzahlAlt = 0;
	for (i=0;i<a_all_cookies.length;i++) {
    if (a_all_cookies[i].length > 0) {
      a_temp_cookie = a_all_cookies[i].split( '=' );
      cookie_name = a_temp_cookie[0].replace(/^\s+|\s+$/g, '');
      cookie_value = a_temp_cookie[1].replace(/^\s+|\s+$/g, '');
      if (cookie_name == 'Anzahl') {
        AnzahlAlt = unescape(cookie_value);
      }
      if (cookie_value == ID) {
        return -1;
        break;
      }
      a_temp_cookie = null;
      cookie_name = '';
    }
	}
	return AnzahlAlt;
}

function ajax_request(url){
  http_request = false;
  if(window.XMLHttpRequest){
    http_request=new XMLHttpRequest();
    if(http_request.overrideMimeType){
      http_request.overrideMimeType('text/xml');
    }
  } else if (window.ActiveXObject) {
    try {
      http_request=new ActiveXObject("Msxml2.XMLHTTP");
    } catch(e) {
      try{
        http_request=new ActiveXObject("Microsoft.XMLHTTP");
      } catch(e) {
      }
    }
  }
  if(!http_request){
    alert('Giving up :( Cannot create an XMLHTTP instance');
    return false;
  }
}
