var map;

var gmarkers = [];
var htmls = [];
var i = 0;
var y =0;
var side_bar_html = "";
var side_bar_html2 = "<table border=0 width=100%><tr><td width=30% valign=top>";

var geocoder = null;

function ShowMap( Elem, Latitude, Longtude, Zoom , Opis, Placeid,Cityid) {
    this.latitude  = Latitude;
    this.longtude  = Longtude;
    this.zoom   = Zoom;
    this.element= Elem;
    this.opis = Opis;
    this.placeid = Placeid;
    this.cityid = Cityid;

    this.show();
}

function ShowCityMap( Elem ) {
this.element= Elem;
	this.show();
}    


function CloseObjects(placeid) {
this.placeid = placeid;
}

CloseObjects.prototype = new GControl();
CloseObjects.prototype.initialize = function(map) {
    var container = document.createElement("div");
    var zoomInDiv2 = document.createElement("div");
    var pl = this.placeid;
    this.setButtonStyle_(zoomInDiv2);
    container.appendChild(zoomInDiv2);

    var bb=document.createElement('b');
    bb.appendChild(document.createTextNode("Print"));
    with(bb.style) {
        borderBottom="1px solid #B0B0B0";
        borderRight="1px solid #B0B0B0";
        display="block";
        paddingTop="1px";
        fontWeight="normal";
    }
    zoomInDiv2.appendChild(bb);

    GEvent.addDomListener(zoomInDiv2, "click", function() {
        var z=map.getZoom();
        var c=map.getCenter();
        var okno=window.open('/printmap.php?glan='+c.lat()+'&glon='+c.lng()+'&zoom='+z+'&placeid='+pl,'GoogleMap','width=500,height=300,scrollbars=no,top=10,left=10');

    }
    );
    
    map.getContainer().appendChild(container);
    return container;
}
CloseObjects.prototype.getDefaultPosition = function() {
    return new GControlPosition(G_ANCHOR_TOP_RIGHT, new GSize(7, 7));
}
CloseObjects.prototype.setButtonStyle_ = function(button) {
    with(button.style) {
        paddingLeft="1px";
        border="1px solid black";
        cursor="pointer";
        color="#000";
        backgroundColor="#fff";
        font="12px Arial";
        width="67px";
        textAlign="center";
        marginBottom="1px";
    }
}

GMapTypeControl.prototype.getDefaultPosition=function() {
    return new GControlPosition(G_ANCHOR_TOP_RIGHT, new GSize(80, 7));
}

ShowMap.prototype.show = function() {
    if (GBrowserIsCompatible()) {
	map   = new GMap2( this.element );
	var point = new GLatLng( this.latitude, this.longtude );
	map.setCenter( point, this.zoom );
	map.enableContinuousZoom();
	map.addControl(new GSmallMapControl());
	map.addControl(new GMapTypeControl());

    scale = new GScaleControl(); 
    scale.printable=function(){return true}; 
    map.addControl(scale); 
    
    map.addControl(new CloseObjects(this.placeid));
							//		map.addControl(new GMapTypeControl());
							
		var icon = new GIcon();
		icon.image = "{$URL}/mapgoogle/p4.png";
		icon.shadow = "http://labs.google.com/ridefinder/images/mm_20_shadow.png";
		icon.iconSize = new GSize(37, 47);
		icon.shadowSize = new GSize(22, 20);
		icon.iconAnchor = new GPoint(6, 20);
		icon.infoWindowAnchor = new GPoint(5, 1);						
							
	var marker = new GMarker(point , icon)
	map.addOverlay( marker );
	var opisik = this.opis;
	
	if(opisik !=""){
		marker.openInfoWindowHtml(opisik);
	    GEvent.addListener(marker, "click", function() {
	        marker.openInfoWindowHtml(opisik);
	    });
	}
	
   }	
}





  function myclick(i) {

        gmarkers[i].openInfoWindowHtml(htmls[i]);
      }


	ShowCityMap.prototype.show = function() {

	var map;
	var tmp_city = ''; 
	

  if (GBrowserIsCompatible()) {
  		map = new GMap2(this.element);
  		map.addControl(new GSmallMapControl());
  		map.addControl(new GMapTypeControl());
		
 
		map.setCenter(new GLatLng(cityx, cityy), cityzoom);
		

		// ikona
		var icon = new GIcon();
		icon.image = "{$URL}/mapgoogle/p4.png";
		icon.shadow = "http://labs.google.com/ridefinder/images/mm_20_shadow.png";
		icon.iconSize = new GSize(37, 47);
		icon.shadowSize = new GSize(22, 20);
		icon.iconAnchor = new GPoint(6, 20);
		icon.infoWindowAnchor = new GPoint(5, 1);





		function createMarker(point, name, street, image, rating, id,price,  icon,city, link) 
		{  
			var marker = new GMarker(point, icon);  
			
			html = "";
				html = html + "<table><tr><td><img width=70 height=60 src= {$URL}/admin/datastore/upload/place/"+image+" /></td>";
				html = html + "<td>&nbsp;</td>"
				html = html + "<td><font size=2 face=arial>"+name+"<font size=1 face=arial>";
				html = html + "<br>"+city+"";
				if(rating != '')
				html = html + "<br>standard: "+rating+"";
				html = html + "<br>"+street+"";
				if(price != '')
				html = html + "<br><br>Price from: <b>"+price+" EUR</b>";
				html = html + "<br><br><a href=http://www.discover-poland.pl/"+ link +"><font size=2 face=arial>Booking Online</a>";
				html = html + "</td></table>";
			
			GEvent.addListener(marker, "mouseover", 
				function() {   
			
				html = "";
				html = html + "<table><tr><td><img width=70 height=60 src= {$URL}/admin/datastore/upload/place/"+image+" /></td>";
				html = html + "<td>&nbsp;</td>"
				html = html + "<td><font size=2 face=arial>"+name+"<font size=1 face=arial>";
				html = html + "<br> "+city+""
				if(rating != '')
				html = html + "<br>standard: "+rating+"";
				html = html + "<br>"+street+"";
				if(price != '')
				html = html + "<br><br>Price from: <b>"+price+" EUR</b>";
				html = html + "<br><br><a href=http://www.discover-poland.pl/"+ link +"><font size=2 face=arial>Booking Online</a>";
				html = html + "</td></table>";
				
			marker.openInfoWindowHtml(html);});
			



		           gmarkers[i] = marker;

			//    if(miasto == '' ||  miasto == 'gdansk' || miasto=='gdynia' || miasto=='sopot')
			 //   {
		    	//	if (city != tmp_city)
			//	    side_bar_html += '<div style=\"margin-top:4px;\"><b>'+ city+'</b><div>';
				
			//	side_bar_html += '<li><a href="javascript:myclick(' + i + ')">' + name + ' ' + city+'</a></li>';
			//    }
			//  else
			//    side_bar_html += '<li><a href="javascript:myclick(' + i + ')">' + name + '</a></li>';
		//  tmp_city = city;

			htmls[i] = html;
			 i++;
											  
			return marker;
		
		}


		GDownloadUrl("http://www.discover-poland.pl/mapgoogle/place.xml.php?language=english&miasto="+miasto+"&opcja="+opcja+"&cityid="+cityid+"&searchword="+searchword, function(data) {
          var xml = GXml.parse(data);
          var markers = xml.documentElement.getElementsByTagName("marker");
          for (var i = 0; i < markers.length; i++) 
          {
            var name  = GXml.value(markers[i].getElementsByTagName("name")[0]);
	    	var rating  = GXml.value(markers[i].getElementsByTagName("rating")[0]);
	    	var cityname  = GXml.value(markers[i].getElementsByTagName("cityname")[0]);
	    	var street  = GXml.value(markers[i].getElementsByTagName("street")[0]);
	    	var image  = GXml.value(markers[i].getElementsByTagName("image")[0]);   
	       var link  = GXml.value(markers[i].getElementsByTagName("link")[0]);  

            var point = new GLatLng(parseFloat(markers[i].getAttribute("lat")),parseFloat(markers[i].getAttribute("lng")));

            map.addOverlay(createMarker(point,name, street, image, rating, markers[i].getAttribute("id"),markers[i].getAttribute("price"), icon, cityname, link   ));              

          }
          //document.getElementById("hotellink").innerHTML = side_bar_html;
        });
        
  }
} 

function zout()
{
 		map.zoomOut();		
}
function zin()
{
 		map.zoomIn();		
}


