var limit_markers = []; 
var markersArray=[];
var map;
var a;
var k;

function myclick_pop(i) { //This opens up selected hotel marker in map by ItemCode
	
	for (var j=0; j<markersArray.length; j++)
	{
		if (markersArray[j].myitemcode == i)
		{	
			GEvent.trigger(markersArray[j],"click");
		}
	}
}



function initMap() {
	if (GBrowserIsCompatible()) {
		var marker;
		var icons=[];
		var markerCluster = null;
		var MarkerClusterer;
		var gmarkers = [];
		var attractions = [];
		var tooltip;


		var icons=[];
		var categories=[];
		var landmarks=[];
		var markersArrayTemp=[];
		var markers_lm_ArrayTemp=[];
		var markerCluster = null;
		var starFlag = 1;
		var gmarkers = [];
		
				
				function aMarker(point,name,html,category,star,type,hotel_lm,html_mouse,price,itemcode,star_img,groupCode) {
					var content = {
						el:'dl',ch:[
							{el:'dt',ch:[
								{txt:name}
							]},
							{el:'img',att:{src:'http://www.cityhotels.ie/images/mapping/'+star_img}
							},
							{el:'span',ch:[
								{txt:'from €'+price +' per night'}
							]}
						]
					};
					var marker = new GMarker(point,icons[type]);
					var tooltip = new Tooltip(marker,jsonToDom(content),5);
					marker.tooltip = tooltip;
					marker.mycategory = category;  
					marker.mylandmark = hotel_lm;
					marker.myitemcode = itemcode;
					marker.myGroupcode = groupCode;
        			marker.myname = name;
					marker.mystar = star;
					GEvent.addListener(marker, "click", function() {
					  marker.openInfoWindowHtml(html);
					});
					GEvent.addListener(marker, "mouseover", function() {
					  this.tooltip.show();
					});		
					GEvent.addListener(marker, "mouseout", function() {
					  this.tooltip.hide();
					});	
					markersArray.push(marker);
					//map.addOverlay(tooltip);
					return marker;
			  }

			  
			  	function attractionMarker(point,name,html_attraction,type,id) {
					var content = {
						el:'dl',ch:[
							{el:'dt',ch:[
								{txt:name}
							]}
						]
					};
					var marker = new GMarker(point,icons[type]);
					var tooltip = new Tooltip(marker,jsonToDom(content),5);
					marker.tooltip = tooltip;		
        			marker.myname = name;
					marker.myid = id;
					GEvent.addListener(marker, "click", function() {
					  marker.openInfoWindowHtml(html_attraction);
					});	
					GEvent.addListener(marker, "mouseover", function() {
					  //marker.openInfoWindowHtml(html_mouse);
					  this.tooltip.show();
					});		
					GEvent.addListener(marker, "mouseout", function() {
					  //marker.openInfoWindowHtml(html_mouse);
					  this.tooltip.hide();
					});	
					map.addOverlay(tooltip);
					return marker;
			  }
			  

		

	  // create the map
		map=new GMap2(document.getElementById('search_results_map'));
		map.setCenter(new GLatLng(48.85667, 2.35099),12);
		map.setUIToDefault();
	
		var baseIcon = new GIcon(G_DEFAULT_ICON);
		baseIcon.iconAnchor = new GPoint(9,34);
		baseIcon.iconSize = new GSize(20,34);
		baseIcon.infoWindowAnchor = new GPoint(9,2);	
		baseIcon.shadow = null;
		
		icons["hotel"] = new GIcon(baseIcon,"http://www.cityhotels.ie/images/googlemaps/h.png");
		icons["group"] = new GIcon(baseIcon,"http://www.cityhotels.ie/images/googlemaps/h.png");
		icons["attraction"] = new GIcon(baseIcon,"http://www.cityhotels.ie/images/googlemaps/am.png");
		
		GDownloadUrl("../includes/mapping_func/PAR6.xml", function(doc) {
        			var xmlDoc = GXml.parse(doc);
        			var markers = xmlDoc.documentElement.getElementsByTagName("marker");
          			var groups = xmlDoc.documentElement.getElementsByTagName("groupItems");
        			for (var i = 0; i < markers.length; i++) 
					{
						  // obtain the attribues of each marker
						var lat = parseFloat(markers[i].getAttribute("lat"));
						var lng = parseFloat(markers[i].getAttribute("lng"));
						var point = new GLatLng(lat,lng);
						var name = markers[i].getAttribute("name");
						var groupName = markers[i].getAttribute("groupName");
						var groupCode = markers[i].getAttribute("groupCode");
						var address1 = markers[i].getAttribute("address1");
  						var address2 = markers[i].getAttribute("address2");
						var address3 = markers[i].getAttribute("address3");
						var itemcode = markers[i].getAttribute("itemcode");
						var linkname = markers[i].getAttribute("linkname");
						var id = markers[i].getAttribute("id");
						var star_text = markers[i].getAttribute("star_text");
						var star = markers[i].getAttribute("star");
						var image = markers[i].getAttribute("images");
						var brief = markers[i].getAttribute("brief");
						var priceTemp = markers[i].getAttribute("priceTemp");
						var type = markers[i].getAttribute("type");
						var html = "<div style=\"height: 210px;width:465px;\"><div id=\"home_map_hotel_img_pop\"><img src=\"http://www.parishotels.ie/hotels/image.php?name=" + image + "&w=96&h=96\" border=\"0\" /></div><div id=\"home_map_img_rhs_pop\"><div id=\"home_map_hotel_name_pop\"><strong>" + name + "</strong></div><div id=\"home_map_hotel_add_pop\">" + address1 + ",</b> <br/>" + address2 + ",</b> <br/>" + address3 + "</div><div id=\"home_map_hotel_star_pop\"><strong>" + star_text + " STAR RATING</strong> <img src=\"http://www.cityhotels.ie/images/mapping/" + star + "\" border=\"0\" /></div></div><div id=\"#\" style=\"clear:both\"></div><div id=\"home_map_lhs_pop\"><div id=\"home_map_hotel_desc_pop\">" + brief + "... <a href=\"http://www.parishotels.ie/hotels/hotel." + id + ".details." + linkname + ".html\">more details</a><div id=\"results_map_list_link\"><a href=\"#" + itemcode + "\">Show on list</a></div></div><div id=\"home_map_hotel_from_pop\"><div class=\"pricefromtxt\"><strong>from</strong></div><div class=\"pricefrom\"> &euro;" + priceTemp + "</div><div class=\"pricefromtxt\"><strong>per night</strong></div></div></div><div id=\"#\" style=\"clear:both\"><div id=\"home_map_lhs_pop_row2\"><div id=\"home_map_hotel_call_pop\"><strong><span class=\"orangetext\"></div></div></div><div id=\"#\" style=\"clear:both\"><div id=\"home_map_lhs_pop_row2\"><div id=\"home_map_hotel_call_pop\"><strong><span class=\"orangetext\">Book online or call <br/> +353 1 685 4312</span></div><a href=\"http://www.parishotels.ie/hotels/hotel." + id + ".details." + linkname + ".html\"><img src=\"http://www.cityhotels.ie/images/booknow.gif\" border=\"0\" style=\"margin-top:7px\"></a></div>";
						var html_mouse = "<div style=\"height: 21px;width:100%;\"><strong>" + name + " </strong><br/><img src=\"http://www.cityhotels.ie/images/mapping/" + star + "\" border=\"0\" /><div class=\"pricefromtxt_mouseover\">From</div><div class=\"pricefrom_mouseover\"> &euro;" + priceTemp + "</div><div class=\"pricefromtxt_mouseover\"> Per Night</div></div>";
						var html_attraction = "<div style=\"height: 30px;width:220px;\"><div id=\"home_map_img_rhs_pop\"><div id=\"home_map_hotel_name_pop\"><strong>" + name + "</strong></div><div id=\"home_map_hotel_add_pop\">" + address1 + ",</b> <br/></div>";
          				var category = markers[i].getAttribute("category");
						var hotel_lm = markers[i].getAttribute("hotel_lm");
          				

						if (type == 'hotel') 
						{
							// create the marker
							//if (hotel_lm == 'LMPAR01')
							//{
          						marker = aMarker(point,name,html,category,star_text,type,hotel_lm,html_mouse,priceTemp,itemcode,star);
								//map.addOverlay(marker);	
							//}
						} else if (type == 'group')
						{
							var groupItem_html=[];
							var groupItemName=[];
							var groupItemCode=[];
							var groupRoomCat=[];
							var groupPrimaryHotel=[];
							var groupHotelPriceTemp=[];
							var groupHotelLinkName=[];
							var groupHotelBrief=[];
							var groupHotelID=[];
							/*groupItem_html.length == 0;
							groupItemName.length == 0;
							groupItemCode.length == 0;
							groupRoomCat.length == 0;
							groupPrimaryHotel.length == 0;
							groupHotelPriceTemp.length == 0;
							groupHotelLinkName.length == 0;
							groupHotelBrief.length == 0;
							groupHotelID.length == 0;*/
							

          					//parse and loop through group of hotels and place into array
        					for (var j = 0; j < groups.length; j++) 
							{
								var groupCodeItem = groups[j].getAttribute("groupCodeItem");
								if (groupCodeItem == groupCode)
								{
									groupItemName.push(groups[j].getAttribute("itemname"));
									groupItemCode.push(groups[j].getAttribute("itemcode"));
									groupRoomCat.push(groups[j].getAttribute("roomCategory"));
									groupPrimaryHotel.push(groups[j].getAttribute("primaryHotel"));
									groupHotelPriceTemp.push(groups[j].getAttribute("priceTemp"));
									groupHotelLinkName.push(groups[j].getAttribute("linkname"));
									groupHotelBrief.push(groups[j].getAttribute("brief"));
									groupHotelID.push(groups[j].getAttribute("hotel_id"));
								}
							}
							//build the group hotel markers html from above arrays
							
        					for (var y = 0; y < groupItemCode.length; y++) 
							{
								groupItem_html.push("</div><div id=\"results_map_group_items\"><div id=\"results_map_group_hotel_cat_pop\"><div class=\"pricefromtxt\"><strong>Room Category</strong></div><div id=\"results_map_group_room_type\"><a name=\"room_type_link\" href=\"http://www.parishotels.ie/hotels/hotel." + groupHotelID[y] + ".details." + groupHotelLinkName[y] + ".html\">" + groupRoomCat[y] + "</a></div></div><div id=\"home_map_group_hotel_from_pop\"><div class=\"pricefromtxt\"><strong>from</strong></div><div id=\"group_item_book_now\"><div id=\"home_group_book_price\" class=\"pricefrom\"> &euro;" + groupHotelPriceTemp[y] + "</div><div id=\"home_group_book_but\"><a href=\"http://www.parishotels.ie/hotels/hotel." + groupHotelID[y] + ".details." + groupHotelLinkName[y] + ".html\"><img src=\"http://www.cityhotels.ie/images/booknow.gif\" border=\"0\" style=\"margin-top:7px\"></a></div></div></div><br/><div id=\"#\" style=\"color:#FFFFFF;\">");
							}
							//alert(groupItem_html);
							var group_html = "<div style=\"height: 250px;width:500px;overflow:auto;\"><div id=\"home_map_hotel_img_pop\"><img src=\"http://www.parishotels.ie/hotels/image.php?name=" + image + "&w=96&h=96\" border=\"0\" /></div><div id=\"home_map_img_rhs_pop\"><div id=\"home_map_hotel_name_pop\"><strong>" + groupName + "</strong></div><div id=\"home_map_hotel_add_pop\">" + address1 + ",</b> <br/>" + address2 + ",</b> <br/>" + address3 + "</div><div id=\"home_map_hotel_star_pop\"><strong>" + star_text + " STAR RATING</strong> <img src=\"http://www.cityhotels.ie/images/mapping/" + star + "\" border=\"0\" /></div></div><div id=\"#\" style=\"clear:both\"></div><div id=\"home_map_lhs_pop\"><div id=\"home_map_hotel_desc_pop\">" + groupHotelBrief[0] + "... <div id=\"results_map_list_link\"><a href=\"#" + groupCode + "\">Show on list</a></div></div>" + groupItem_html + "<div id=\"#\" style=\"clear:both\"><div id=\"home_map_lhs_pop_row2\"><div id=\"home_map_hotel_call_pop\"><strong><span class=\"orangetext\">Book online or call <br/> +353 1 685 4312</span></div></div></div>";
							var html_group_mouse = "<div style=\"height: 21px;width:100%;\"><strong>" + groupName + " </strong><br/><strong>" + star_text + " STAR RATING</strong> <img src=\"http://www.cityhotels.ie/images/mapping/" + star + "\" border=\"0\" /><div class=\"pricefromtxt_mouseover\">From</div><div class=\"pricefrom_mouseover\"> &euro;" + groupHotelPriceTemp[0] + "</div><div class=\"pricefromtxt_mouseover\"> Per Night</div></div>";
								
								
							
							//groupHotelPriceTemp.length=0			
							// create the marker
							//if (hotel_lm == 'LMPAR01')
							//{
          						marker = aMarker(point,groupName,group_html,category,star_text,type,hotel_lm,html_group_mouse,groupHotelPriceTemp[0],itemcode,star,groupCode);
								//map.addOverlay(marker);
							//}
							groupHotelPriceTemp.length == 0;
						
						} else if (type == 'attraction')
						{
          					marker = attractionMarker(point,name,html_attraction,type,id);
							gmarkers.push(marker);
							attractions.push(id);
							map.addOverlay(marker);	
						}
					}

					//markerCluster = new MarkerClusterer(map, markersArray, { maxZoom: 18, minClusterSize: 15});
	
					for (a=0; a < markersArray.length; a++) 
					{	
						for (k=0; k < limit_markers.length; k++) 
						{
							if (markersArray[a].myitemcode == limit_markers[k]) {		
								map.addOverlay(markersArray[a]);
								map.addOverlay(markersArray[a].tooltip);
							}
						}
					}
					
			});
	


   }
	}

