 //<![CDATA[
	/**********************CUSTOM CONTROL BTNRESET*********************************************************/
	function btnResetControl() {
    }
    
    btnResetControl.prototype = new GControl();
	
		btnResetControl.prototype.initialize = function(map) {
      var container = document.createElement("div");

      var btnResetDiv = document.createElement("div");
      this.setButtonStyle_(btnResetDiv);
      container.appendChild(btnResetDiv);
      btnResetDiv.appendChild(document.createTextNode("Reset"));
      GEvent.addDomListener(btnResetDiv, "click", function() {
        map.setCenter(new GLatLng(49.82735281650853, 15.413818359375), 7);
      });  

      map.getContainer().appendChild(container);
      return container;
    }
    
    btnResetControl.prototype.getDefaultPosition = function() {
      return new GControlPosition(G_ANCHOR_TOP_LEFT, new GSize(7, 280));
    }
    
    btnResetControl.prototype.setButtonStyle_ = function(button) {
      button.style.textDecoration = "underline";
      button.style.color = "black";
      button.style.backgroundColor = "white";
      button.style.font = "small Arial";
      button.style.border = "1px solid black";
      button.style.padding = "1px";
      button.style.marginBottom = "1px";
      button.style.textAlign = "center";
      button.style.width = "4em";
      button.style.cursor = "pointer";
    }
	/**********************CUSTOM CONTROL BTNRESET END*****************************************************/
	
	/***********GLOBAL VARIABLES**************************/
		var map = null;
    var geocoder = null;
    var ew = null;
    var cityLayer = null;
    //var cities = null;
    var mgr = null;
    var imgPath = "images/";
    /***********END GLOBAL VARIABLES**************************/

	/**********************FUNCTIONS*********************************************************/
	function createMarkerEW(point, icon, html)
	{
		var marker = new GMarker(point, icon);
		if(html)
		{			
        	GEvent.addListener(marker, "click", function() {
          		ew.openOnMarker(marker,html);
        	});
		}
		else
		{
			GEvent.addListener(marker, "click", function() {
          		map.setCenter(point,17);
        	});
		}       
        return marker;
	}
	
	function createMarker(point, icon, html)	
	{
		var marker = new GMarker(point, icon);
		if(html)
		{
			GEvent.addListener(marker, "click", function() {
				var pointlat = point.lat();
				var pointlng = point.lng();
				marker.openInfoWindowHtml(html,{maxWidth:175});
				map.setCenter(new GLatLng(pointlat, pointlng+0.1999));
			});
		}
		else
		{
			GEvent.addListener(marker, "click", function() {
          		map.setCenter(point,7);
        	});
        }
		return marker;
	}

  function createMarkerSubpage(point, icon, html)	
	{
		var marker = new GMarker(point, icon);
		if(html)
		{
			GEvent.addListener(marker, "click", function() {
				var pointlat = point.lat();
				var pointlng = point.lng();
				marker.openInfoWindowHtml(html,{maxWidth:175});
			});
		}
		else
		{
			GEvent.addListener(marker, "click", function() {
          		map.setCenter(point,7);
        	});
        }
		return marker;
	}
	
	function createIcon(iconPath, sizeX, sizeY)
	{
		var path = imgPath + iconPath;
		var icon = new GIcon();
		icon.image = path;
		//icon.shadow = "http://labs.google.com/ridefinder/images/mm_20_shadow.png";
		icon.iconSize = new GSize(sizeX, sizeY);
		icon.shadowSize = new GSize(22, 20);
		icon.iconAnchor = new GPoint(6, 20);
		icon.infoWindowAnchor = new GPoint(5, 1);
		return icon;
	}	
	/**********************FUNCTIONS END*********************************************************/

    function Gload(isDtl,isWorld) {
      if (GBrowserIsCompatible()) {
     	map = new GMap2(document.getElementById("google_map"));
				map.addControl(new GLargeMapControl());
				//map.addControl(new GMapTypeControl());
				//map.addControl(new btnResetControl());
				if(isWorld)
				{
					map.setCenter(new GLatLng(47.000, 15.000), 1);
				}
				else
				{
					map.setCenter(new GLatLng(48.403679,19.006348), 7);
				}
        
        //map.enableDoubleClickZoom();
				geocoder = new GClientGeocoder();

				mgr = new GMarkerManager(map);
		
			// Create an EWindow		
      //	ew = new EWindow(map, E_STYLE_4);      
      //	map.addOverlay(ew);
     	// ========== Close the EWindow if theres a map click ==========
     // GEvent.addListener(map, "click", function(marker,point) {
      //  if (point) {
       //   ew.hide();
       // }
      //});
      	
		
		if(isDtl)showDetail(projectLat,projectLng,projectIcon);
		
		AddMarkersToMap(cities);
		
		AddMarkersToMap(projects);
				

	}
	}	

    function Gload_sub(isDtl,isWorld) {
      if (GBrowserIsCompatible()) {
     	map = new GMap2(document.getElementById("google_map_sub"));
				map.addControl(new GLargeMapControl());
				//map.addControl(new GMapTypeControl());
				//map.addControl(new btnResetControl());
				if(isWorld)
				{
					map.setCenter(new GLatLng(47.000, 15.000), 1);
				}
				else
				{
					map.setCenter(new GLatLng(48.403679,19.006348), 7);
				}
        
        //map.enableDoubleClickZoom();
				geocoder = new GClientGeocoder();

				mgr = new GMarkerManager(map);
		
			// Create an EWindow		
      //	ew = new EWindow(map, E_STYLE_4);      
      //	map.addOverlay(ew);
     	// ========== Close the EWindow if theres a map click ==========
     // GEvent.addListener(map, "click", function(marker,point) {
      //  if (point) {
       //   ew.hide();
       // }
      //});
      	
		
		if(isDtl)showDetail(projectLat,projectLng,projectIcon);
		
		AddMarkersToMap(cities);
		
		AddMarkersToMapSubpage(projects);
				

	}
	}	


  function AddCitiesToMap(citiesArray)
  {  	
  	for(var i in citiesArray[0]["city"])
  	{  		
  		var marker = null;  		
  		var place = citiesArray[0]["city"][i];
  		var icon = createIcon(place["icon"][0],place["icon"][1],place["icon"][2]);
  		var cityName = place["name"]+", CZ";
  		
  		if(geocoder)
  		{
  			geocoder.getLatLng(cityName, function(point) {  																		
				      											 	if (!point) {
       																	alert(cityName + " not found");
      				  											} else {
      				  												//alert(cityName + point);
        																//map.setCenter(point, 13);
				        												//var marker = new GMarker(point);
				        												marker = createMarker(point, icon);				        												
				        												map.addOverlay(marker);
				        												//marker.openInfoWindowHtml(address);
				      												}
    																 }
  			);
  		}  		
  	}  	
  	//mgr.addMarkers(cityMarkers, citiesArray[0]["zoom"][0], citiesArray[0]["zoom"][1]);  	
  	//mgr.refresh();
  }
  
  function AddMarkersToMap(markersArray)
  {
  	for(var i in markersArray)
		{
			var layer = markersArray[i];
			var markers = new Array();			
 					
 			for (var j in layer["places"]) 
 			{
 			
 			  var marker = null;
 			  var pos = null
		      var place = layer["places"][j];
		     
		      var icon = createIcon(place["icon"][0],place["icon"][1],place["icon"][2]);
		      var html = place["html"];
		      pos = new GLatLng(place["pos"][0], place["pos"][1]);		     
		      marker = createMarker(pos, icon, html);     
		      
		      markers.push(marker);
    	}	
		  mgr.addMarkers(markers, layer["zoom"][0], layer["zoom"][1]);

		}
		mgr.refresh();		
  }
  
  function AddMarkersToMapSubpage(markersArray)
  {
  	for(var i in markersArray)
		{
			var layer = markersArray[i];
			var markers = new Array();			
 					
 			for (var j in layer["places"]) 
 			{
 			
 			  var marker = null;
 			  var pos = null
		      var place = layer["places"][j];
		     
		      var icon = createIcon(place["icon"][0],place["icon"][1],place["icon"][2]);
		      var html = place["html"];
		      pos = new GLatLng(place["pos"][0], place["pos"][1]);		     
		      marker = createMarkerSubpage(pos, icon, html);     
		      
		      markers.push(marker);
    	}	
		  mgr.addMarkers(markers, layer["zoom"][0], layer["zoom"][1]);

		}
		mgr.refresh();		
  }
  
  	
  	function showLocation(projectName, isDetail)
  	{  		
  		var locations = projects[0]['places']; 
			var project = null;  		
  		
  		for(var i in locations)
  		{  			
  			if(locations[i]['name'] == projectName) 
  			{
  				project = locations[i]; 				
  				
  				//var marker = new GMarker(point);
  				//map.addOverlay(marker);
  				//marker.openInfoWindowHtml(projectName);
  			}
  		}

  		var point = new GLatLng(project['pos'][0],project['pos'][1]);
  		if(isDetail)
  		{
  			map.setCenter(point ,12);
  		}
  		else
  		{
  			if(map.getCenter()!=point)map.setCenter(point);
  			if(map.getZoom()!=7)map.setZoom(7);
  		}
 		map.openInfoWindowHtml(point, project['html'],{maxWidth:175}); 		
  	}
  	
  		function showDetail(projectLat,projectLng,projectIcon)
  		{ 		  		
  	   	var point = new GLatLng(projectLat,projectLng);  	   	
  			var icon = createIcon(projectIcon[0],projectIcon[1],projectIcon[2]);  			
  			var marker = new GMarker(point, icon);
  			
  			map.addOverlay(marker);
  			map.setCenter(point, 14);  			  		
  		}
//]]>
   
function JustSoWindow(imageName,imageWidth,imageHeight,alt,objectType,bgcolor,hugger,hugMargin) {
	if (bgcolor=="") {
		bgcolor="#FFFFFF";
	}
	var adj=10;
	var myWidth = imageWidth;
	var myHeight = imageHeight;
	var w = screen.width;
	var h = screen.height;
	var byFactor=1;

	if(w<740){
	  var lift=0.90;
	}
	if(w>=740 & w<835){
	  var lift=0.91;
	}
	if(w>=835){
	  var lift=0.93;
	}
	if (imageWidth>w){	
	  byFactor = w / imageWidth;			
	  imageWidth = w;
	  imageHeight = imageHeight * byFactor;
	}
	if (imageHeight>h-adj){
	  byFactor = h / imageHeight;
	  imageWidth = (imageWidth * byFactor);
	  imageHeight = h; 
	}
	   
	var scrWidth = w-adj;
	var scrHeight = (h*lift)-adj;

	if (imageHeight>scrHeight){
  	  imageHeight=imageHeight*lift;
	  imageWidth=imageWidth*lift;
	}

	var posLeft=0;
	var posTop=0;

	if (hugger == "hug image"){
	  if (hugMargin == ""){
	    hugMargin = 0;
	  }
	  var scrHeightTemp = imageHeight - 0 + 2*hugMargin;
	  if (scrHeightTemp < scrHeight) {
		scrHeight = scrHeightTemp;
	  } 
	  var scrWidthTemp = imageWidth - 0 + 2*hugMargin;
	  if (scrWidthTemp < scrWidth) {
		scrWidth = scrWidthTemp;
	  }
	  
	  if (scrHeight<100){scrHeight=100;}
	  if (scrWidth<100){scrWidth=100;}

	  posTop =  ((h-(scrHeight/lift)-adj)/2);
	  posLeft = ((w-(scrWidth)-adj)/2);
 	}

	if (imageHeight > (h*lift)-adj || imageWidth > w-adj){
		imageHeight=imageHeight-adj;
		imageWidth=imageWidth-adj;
	}
	posTop = parseInt(posTop);
	posLeft = parseInt(posLeft);		
	scrWidth = parseInt(scrWidth); 
	scrHeight = parseInt(scrHeight);
	
	var agt=navigator.userAgent.toLowerCase();
	if (agt.indexOf("opera") != -1){
	  var args= new Array();
	  args[0]='parent';
	  args[1]=imageName;
	  var i ; document.MM_returnValue = false;
	  for (i=0; i<(args.length-1); i+=2) eval(args[i]+".location='"+args[i+1]+"'");
	} else {
	
	if (objectType=="image") {
		if ((myWidth>w)||(myHeight>h)){
			newWindow = window.open("vwd_justso.htm","newWindow","scrollbars=yes, resizable=yes, width="+scrWidth+",height="+scrHeight+",left="+posLeft+",top="+posTop);
			bodyContent = '<html><title>'+alt+'</title><body title="Zavřít okno" style="margin:0px;" onBlur="self.close()" onClick="self.close()"><img src="'+imageName+'", width="'+myWidth+'", height="'+myHeight+'"></body></html>';
		}
		else {
			newWindow = window.open("vwd_justso.htm","newWindow","width="+scrWidth+", height="+scrHeight+",left="+posLeft+",top="+posTop);
			bodyContent = '<html><title>'+alt+'</title><body title="Zavřít okno" style="margin:0px; background-image: url('+imageName+');"><div onBlur="self.close()" onClick="self.close()" style="width:'+myWidth+'px; height:'+myHeight+'px">&nbsp;</div></body></html>';
		}
	}
	else if (objectType=="flash") {
		newWindow = window.open("vwd_justso.htm","newWindow","width="+imageWidth+",height="+imageHeight+",left="+posLeft+",top="+posTop);
		bodyContent = '<html><title>'+alt+'</title><body leftmargin="0" topmargin="0" marginheight="0" marginwidth="0" bgcolor='+bgcolor+' onBlur="self.close()" onClick="self.close()">';  
		bodyContent = bodyContent + '<table width='+imageWidth+' border="0" cellspacing="0" cellpadding="0" align="center" height='+scrHeight+' ><tr><td>';
		bodyContent = bodyContent + '<object type="application/x-shockwave-flash" data="'+imageName+'" width='+imageWidth+' height='+imageHeight+'><param name="movie" value="'+imageName+'" /></object>'; 
		bodyContent = bodyContent + '</td></tr></table></body></html>';
	}
	else if (objectType=="screensaver") {
		newWindow = window.open("vwd_justso.htm","newWindow","width="+imageWidth+",height="+imageHeight+",left="+posLeft+",top="+posTop);
		bodyContent = '<html><title>'+alt+'</title><body leftmargin="0" topmargin="0" marginheight="0" marginwidth="0" bgcolor='+bgcolor+' onBlur="self.close()" onClick="self.close()" style="background-image:url(/img/monitor.jpg) ">';  
		bodyContent = bodyContent + '<div style="position:absolute; top:59px; left:66px; ">';
		bodyContent = bodyContent + '<object type="application/x-shockwave-flash" data="'+imageName+'" width="663" height="497"><param name="movie" value="'+imageName+'" /></object>'; 
		bodyContent = bodyContent + '</div></body></html>';
	}
	newWindow.document.open();
	newWindow.document.write(bodyContent);
	newWindow.document.close();
	newWindow.focus();
	}
}
