
XEProduct = window["XEProduct"] || {};

XEProduct.addMapDataHandler = function(mapData, options) {
  options = Object.extend({
    title: mapData.Name,
    icon: XELocation.getMapDataIcon(mapData),
    onAdded: function (marker) {
      var bookBox = "<div id='ProductTab"+mapData.ID+"'></div>";
      
      var tabs = [
        new GInfoWindowTab("Info",  
        "<div class='travelPlannerTab'><h4>"+mapData.Name+"</h4>"+bookBox+mapData.Description+"</div>")
      ];
      var tpTab = XEProduct.travelPlannerTab(marker, mapData);    
      if(tpTab) tabs.push(tpTab);
     
      marker.bindInfoWindowTabs(tabs, {maxWidth: "275"});
    }
  }, options || {});
	if(mapData.MapData) {
	  return XELocation.addMapDataHandler.call(this, mapData.MapData, options); 
	}
}

XEProduct.travelPlannerTab = function(marker, product) {
  var name = Dict.get("TP.Name");
  return new GInfoWindowTab(name, "<ul><li><a href=''>Add to "+name+"</a></li>" +
      "<li><a href=''>Book now</a></li></ul>");
  
}

XEProduct.centreOnMarker = function(mapData, marker) {
  var zoom = parseInt(mapData.MapData.Zoom);
  this.map.setZoom(zoom ? zoom : 7);
  this.map.panTo(marker.getLatLng());
};

XEDestination = Class.create();
XEDestination.extend("XEProduct");

XEHotel = Class.create();
XEHotel.extend("XEProduct");

