URLDecode = function(psEncodeString) {
  var lsRegExp = /\+/g;
  return unescape(String(psEncodeString).replace(lsRegExp, " ")); 
}

// jQuery google Maps Plugin
$.fn.googleMap = function(location,htmlContent,options) {
    var defaults = {
        lat: 48.186884,
        long: 16.362526,
        zoom: 16,
        mapTypeId: google.maps.MapTypeId.ROADMAP,
        mapTypeControl: false,
        controls: ['GSmallZoomControl3D'],
        htmlContent: "<p>Hello World!</p>"
    };
 
    options = $.extend(defaults, options || {});
 
    if (location) {
        value = $.trim(location);
        var point = location.split(',');
        options.lat = parseFloat(point[0]);
        options.long = parseFloat(point[1]);
        options.zoom = parseFloat(point[2]);
    };
    
    if (htmlContent) {
        options.htmlContent = URLDecode(htmlContent);
    };
  
    var center = new google.maps.LatLng(options.lat, options.long);
 
    var map = new google.maps.Map(this.get(0), $.extend(options, { center: center }));
   
    var infoWindow = new google.maps.InfoWindow({
      content: options.htmlContent
    });
  
    var storeMarker = new google.maps.Marker({
        position: center,
        map: map
    }); 
  
    infoWindow.open(map, storeMarker);
};

$(function() {
  var searchBoxText = "Suchbegriff eingeben...";

  $("div#search input[name=\"search\"]").val(searchBoxText);

  // behaviour of search-field
  $("div#search input[name=\"search\"]").focus(function () {
    if ($(this).val() == searchBoxText) {
      $(this).val("");
      $(this).addClass("focus");
    }
  });
  $("div#search input[name=\"search\"]").blur(function () {
    if ($(this).val() == "") {
      $(this).val(searchBoxText);
      $(this).removeClass("focus");
    }
  });
  
  if ($("a[rel=\"gallery\"]").length) {
    $("a[rel=\"gallery\"]").fancybox({
      'transitionIn':  'elastic',
      'transitionOut':  'elastic',
      'overlayColor': '#fff' 
    });
  }
  
  // let gallery be as big as it is, since the are only floating items inside
  if ($("div.gallery").length) {
    $("div.gallery").height(Math.ceil($("div.gallery").first().children().length/3) * 190);
  }
  
  if ($("div.gallery-slider").length) {
    $("div.gallery-slider").horizontalSlider({ autoHideScrollBar: true });
    $("div.gallery-slider .item").hover(function() {
      $(this).find(".meta").toggle();
    });
  }
  
  // Google Map
  if ($("div.map").length) {
    var value = $("div.map").html();
    value = $.trim(value);
    
    var point = value.split(',');
    var lat = parseFloat(point[0]);
    var long = parseFloat(point[1]);
    var zoom = parseFloat(point[2]);

    $("div.map").googleMap(value, $("div.map-text").html());
  }
})

