/*                           global variables                                  */
timer_no_search_result=0;

var resp;
var pidset = [];
var polylines = [];
var visible = [];
var svcontrol;
var svcontainer2='';
var activepasge;

var mapBounds;
var opacity = 0.0;
var patchdir = '';
var map; //the GMap2 itself
var streetviewOn = false;
var markers = [];

/*       end globals    --------------------------------------------------------------------------- */

/*	EVENTS	*/

function dosum(mo) {
	mo++;
	return mo;
	}
function setmonth (mm) {
	get_object("m_h").value = mm;
	}
function map_load_events(form_name,title,event_id) {
	
	if(timer_no_search_result) {
		clearTimeout(timer_no_search_result)
		timer_no_search_result=0;
	}
	var parameters2 = '';
	f = document[form_name];
	var arrField = new Array('cnt_region','mh','ev_cat','event_id');
	document.getElementById("stv_div").style.width = '741px';
	document.getElementById("map_div").style.width = '741px';
	
	
	for(i=0;i<arrField.length;i++) {
		if(f[arrField[i]])
		if(form_name=='events') {
			if(wartosc=f[arrField[i]].options[f[arrField[i]].selectedIndex].value) {
				parameters2 += '&' + arrField[i] + '=' + wartosc;
			}
		}
		else if(form_name=='events_m') {
			if(wartosc=f[arrField[i]].value) {
				parameters2 += '&' + arrField[i] + '=' + wartosc;
				}
			}
		}
	
	if(event_id) {
		parameters2 += '&event_id=' + event_id;
	}
	
	if(!parameters2){
		alert(txt_please_complete);
	} else{
		
		parameters2+='&form_name=events';
		
		globalparameters = parameters2;
		
		document.getElementById("home_page").style.display = 'none';
		document.getElementById("search_result_page").style.display = '';
		
		document.getElementById("search_result").innerHTML = '<div style="color:#000000;"><img src="/data/images/loading.gif" />&nbsp;&nbsp;'+txt_loading+'<div>';
		document.getElementById("title_search").innerHTML = title;	
	
		new Ajax.Request('/getEventsMap.php',
			  {
				method: 'get',
				parameters: 'search=true'+parameters2,	
				onSuccess: function(transport){
				  
				  document.getElementById("map_div").className = '';
				  var response = transport.responseText;
				  

				if(form_name=='events') {
					var month = f[arrField[1]].options[f[arrField[1]].selectedIndex].value;
					var cntregion = f[arrField[0]].options[f[arrField[0]].selectedIndex].value;
					var evcat = f[arrField[2]].options[f[arrField[2]].selectedIndex].value;
					}
				else {
					var month = document.getElementById('m_h').value;
					var cntregion = document.getElementById('reg_id').value;
					var evcat = document.getElementById('ev_cat').value;
					}
					
				document.getElementById("search_result_nav").style.display = 'block';
				document.getElementById("search_result_nav").value='';
				var themonths=['January','February','March','April','May','June','July','August','September','October','November','December'];
				
				var _nextmonth, _prevmonth;
				if(month == 0) {
					var todaydate=new Date();
					var curmonth=todaydate.getMonth()+1;
					var monthname = themonths[curmonth-1];
					document.getElementById("search_result_nav").innerHTML = "<div align='center'><input name='cnt_region' type='hidden' id='reg_id' value='"+cntregion+"' /><input name='ev_cat' type='hidden' id='ev_cat' value='"+evcat+"' />&laquo;&laquo; <a href='javascript:setmonth(\""+curmonth+"\");map_load_events(\"events_m\",\"Events\",0);goTo(\"#top\");' style='color: #003; font-size: 11px; font-weight: bold;' href='#'> Only "+monthname+" events</a> &raquo;&raquo;</div>";
					}
				else if(month > 0) {
					if((month >1) && (month <12)) { _nextmonth = dosum(month); _prevmonth = month-1; }
					if(month ==1) { _nextmonth = dosum(month); _prevmonth = 12; }
					if(month ==12) { _nextmonth = 1; _prevmonth = month-1; }
					
					var monthname = themonths[month-1];
					document.getElementById("search_result_nav").innerHTML = "<div align='center'><input name='cnt_region' type='hidden' id='reg_id' value='"+cntregion+"' /><input name='ev_cat' type='hidden' id='ev_cat' value='"+evcat+"' /> <a href='javascript:setmonth(\""+_prevmonth+"\");map_load_events(\"events_m\",\"Events\",0);goTo(\"#top\");' style='color: #003; font-size: 11px; font-weight: bold;' href='#'>&laquo;&laquo;</a> <span style='color: #; font-size: 11px; font-weight: bold;'>"+monthname+"</span> <a href='javascript:setmonth(\""+_nextmonth+"\");map_load_events(\"events_m\",\"Events\",0);goTo(\"#top\");' style='color: #003; font-size: 11px; font-weight: bold;' href='#'>&raquo;&raquo;</a></div>";
					}
				
				  
				  res = response.evalJSON(true);
				  if(res.dat.length==0){
				  	document.getElementById('search_result').innerHTML = txt_no_points;
				  	document.getElementById('map_div').innerHTML = '<div style="color:#000000;padding:5px;">'+txt_no_points+'<div>';
				  	background_glass_off();
				  	alert(txt_no_points2);
					timer_no_search_result = setTimeout(function(){resset_search_result();}, 5 * 1000);
				  }else{
					list_ev_load(res.dat,res.x,res.y,res.zoom,1,'events');
				  }
				},
				onLoading: function() {
					background_glass('color_events');
					document.getElementById("map_div").innerHTML = '<div style="color:#000000;padding:5px;"><img src="/data/images/loading.gif" />&nbsp;&nbsp;'+txt_loading+'<div>';
				},
				onFailure: function(){ alert('Something went wrong(getFullMap)...') }
			  });
	}
}

function openMarkerIdEvents(id)
{
	if(markers.length-1<id)	return;
	if (streetviewOn == true){
		GEvent.trigger(svcontainer2.closecontainer,'click');
	}
	markerClickEvents(markers[id],markers[id].id);
}

function buttons(map){
		var html='<div class="sbuttons"><li><b></b><div id="clusterbutton"><span><strong>Disable</strong> Clustering</span></div></li><li><b></b><div id="svhelpbutton"><span><strong>Show</strong> StreetView Help</span></div></li></div>';

		var control=new HtmlControl(html);
 		map.addControl(control, new GControlPosition(G_ANCHOR_TOP_LEFT, new GSize(70,14)));

		
		GEvent.addDomListener(document.getElementById('clusterbutton'), 'click', function() {
		toggleClustering();
		var button=document.getElementById('clusterbutton');
		var html=(cluster.clusteringEnabled)?'Disable':'Enable';
		html='<span ><strong>'+html+'</strong> Clustering</span>';
		button.innerHTML=html;
		});
		
		
		
		html='<div class="ybox"><b style="display:block; width:324px; height:8px; background:url(/data/images/bbg.png) left top no-repeat;"><b style="display:block; height:8px; background:url(/data/images/bbg.png) right top no-repeat; margin-left:8px;"></b></b><div style="display:block; background-color:#f7d331; padding:10px; font-family:Arial, Helvetica, sans-serif; font-size:12px; text-align:left;"}><p>To use the StreetView drag the man icon over the<br>map and place the gap between his feet on the<br>road you want to view.</p><p>If it does not switch into StreetView zoom in closer<br>and try again.</p><p>While the majority of roads on the island have been<br>photographed private or restricted roads and small<br>tracks are not.</p><p>The blue outline shows which roads are availible.</p><p>To access the 3D mode right click on the Streetview<br>image and select 3D Mode on, you will need the<br>coloured glasses to see effect</div><i style="display:block; width:324px; height:8px; background:url(/data/images/bbg.png) left bottom no-repeat;"><i style="display:block; height:8px; background:url(/data/images/bbg.png) right bottom no-repeat; margin-left:8px;"></i></i></div>';
		var svhelpbutton=new HtmlControl(html, { visible:false });
		map.addControl(svhelpbutton, new GControlPosition(G_ANCHOR_TOP_RIGHT, new GSize(7, 40)));
		GEvent.addDomListener(document.getElementById('svhelpbutton'), 'click', function() {
		svhelpbutton.setVisible(!svhelpbutton.isVisible);
		var button=document.getElementById('svhelpbutton');
		var html=(svhelpbutton.isVisible)?'Hide':'Show';
		html='<span ><strong>'+html+'</strong> Streetview Help</span>';
		button.innerHTML=html;
		});
}


function list_ev_load(mdata,xcenter,ycenter,zoom) {
	if (streetviewOn == true){
		GEvent.trigger(svcontainer2.closecontainer,'click');
	}
	activepage='Events';

	splayon=0;
	var pref = "";
	markers=new Array();
	if (GBrowserIsCompatible()) {
		function createMarker2(point,id,icon_url,title) {
			if(icon_url== null) 
			icon_url = '/uploads/default_poi.gif';
			var baseIcon = new GIcon();
			baseIcon.shadow = "/uploads/default_shadow.png";
			baseIcon.iconSize = new GSize(29, 29);
			baseIcon.shadowSize = new GSize(50, 56);
			baseIcon.iconAnchor = new GPoint(9, 34);
			baseIcon.infoWindowAnchor = new GPoint(6, 10);
			baseIcon.infoShadowAnchor = new GPoint(8, 15);
			var icon = new GIcon(baseIcon);
			icon.image = "/data/images/markers/" + icon_url + ".gif";
			icon.image = "/uploads/e/" + icon_url;
			var marker = new GMarker(point,{icon:icon,title:title,zIndexProcess:markerOrder});
			GEvent.addListener(marker, "click", function() {markerClickEvents(marker,id);});
			GEvent.addListener(marker, "infowindowclose", 	function() {   markercloseinfo(marker,id );});
			GEvent.addListener(marker, "mouseover", 		function() {       markerSplay(id);});
			
			return marker;
		}	 
		map = new GMap2(document.getElementById(pref+"map_div"),{mapTypes: [G_NORMAL_MAP, G_SATELLITE_MAP, G_HYBRID_MAP]});
		buttons(map);
		
		streetviewOn=false;		
		map.addControl(new GMapTypeControl());
		map.addControl(new GScaleControl());

		map.setCenter(new GLatLng(xcenter,ycenter), parseInt(zoom), G_HYBRID_MAP);
		

		var svcontainer;
		svcontainer=document.createElement("div");
		svcontainer.style.cssText="overflow: hidden; width: 20px; height: 40px; position: absolute;";
		var svbutton=document.createElement("div");
		svbutton.style.cssText="overflow: hidden; width: 20px; height: 40px; z-index: 10001;";
		svcontainer.appendChild(svbutton);
//		var img=document.createElement("img");
//		svbutton.appendChild(img);
		map.getContainer().appendChild(svcontainer);
		svcontainer2=new SVControl(map);
		map.addControl(svcontainer2);
		

		map.hideControls();
		GEvent.addListener(map, "mouseover", function(){map.showControls();});
		GEvent.addListener(map, "mouseout", function(){map.hideControls();});

		map.setCenter(new GLatLng(xcenter,ycenter), parseInt(zoom),G_HYBRID_MAP);
		var baseCIcon = new GIcon();
		baseCIcon.shadow = "/uploads/default_shadow.png";
		baseCIcon.iconSize = new GSize(29, 29);
		baseCIcon.shadowSize = new GSize(50, 56);
		baseCIcon.iconAnchor = new GPoint(9, 34);
		baseCIcon.infoWindowAnchor = new GPoint(6, 10);
		baseCIcon.infoShadowAnchor = new GPoint(8, 15);
		var Cicon = new GIcon(baseCIcon);
		Cicon.image = "/data/images/ico_group.png";
		cluster=new ClusterMarker(map,{clusterMarkerClick:myClusterClick, clusterMarkerIcon:Cicon });
		cluster.fitMapMaxZoom=16;
		markers=new Array();
		document.getElementById("search_result").innerHTML = '';
		tabelka = '<table border="0" cellpadding="1" cellspacing="1" style="color:#334460;font-size:11px;font-weight:bold;"><tbody>';			
		var t_error = .0003;
		for(i=0;i<mdata.length;i++) {				 
			var point = new GLatLng(mdata[i].lat,mdata[i].lon);			
			var marker=createMarker2(point,mdata[i].id,mdata[i].icon_url,mdata[i].title);
			marker.kategoria = mdata[i].category; 
			marker.id = mdata[i].rec; 
			marker.startcoord = point;
			marker.startimport=1;
			marker.importance=1;
			marker.outBounds = null;
			marker.targeted=0;
			marker.openwindow=false;
			marker.line = null;
			marker.shifted = 0;

			markers.push(marker); 
			color= mdata[i].col;
			title= (mdata[i].title != null && mdata[i].title !='') ? mdata[i].title : txt_no_name; 
			tabelka += '<tr><td valign="top" align="right">'+(i+1)+'.</td><td valign="top" align="left" style="padding-left:3px;"><a href="#" style="color:#334460;font-size:11px;font-weight:bold;" onclick=openMarkerIdEvents('+i+'); return false;>'+title+'</a></td></tr>';			
		}
		cluster.removeMarkers();
		cluster.clusteringEnabled=0;
		cluster.addMarkers(markers);
		cluster.refresh(true);
		cluster.clusteringEnabled=1;
		cluster.refresh(true);
		cluster.fitMapToMarkers();
		tabelka += '</tbody></table>';
		document.getElementById("search_result").innerHTML = tabelka;
	}
	GEvent.addListener(window, "unload", my_GUnload);
	background_glass_off();
}

function markerClickEvents(marker,id) {

polylineset(id,3);
marker.openwindow = true;
if (splayon == 1){
	markerReplace(new GLatLng(0,0),id);
}
	//alert (id);
		container = document.createElement("div");
		container.className = 'infoWindow';
		container.innerHTML = '<div style="color:#000000;padding:20px;"><img src="/data/images/loading.gif" />&nbsp;&nbsp;'+txt_loading+'<div>';
				
		container2 = document.createElement("div");
		container2.className = 'infoWindow';
		container2.innerHTML = '<div style="color:#000000;padding:20px;"><img src="/data/images/loading.gif" />&nbsp;&nbsp;'+txt_loading+'<div>';
				
		container3 = document.createElement("div");
		container3.className = 'infoWindow';
		container3.innerHTML = '<div style="color:#000000;padding:20px;"><img src="/data/images/loading.gif" />&nbsp;&nbsp;'+txt_loading+'<div>';
		
		container4 = document.createElement("div");
		container4.className = 'infoWindow';
		container4.innerHTML = '<div style="color:#000000;padding:20px;"><img src="/data/images/loading.gif" />&nbsp;&nbsp;'+txt_loading+'<div>';
		
		new Ajax.Request('/getEvent__Info.php',
			  {
				method: 'post',
				parameters: {id: id},
				onSuccess: function(transport){
				  	var response = transport.responseText;
				  	container.innerHTML = response;
				},
				onLoading: function() {
					container.innerHTML = '<div style="color:#000000;"><img src="/data/images/loading.gif" />&nbsp;&nbsp;'+txt_loading+'<div>';
				},
				onFailure: function(){ alert('Something went wrong(getEventInfoWindow)...') }
			  });
		var WindowTab1 = new GInfoWindowTab(details,container);/**/

		new Ajax.Request('/getEvent__Contact.php',
			  {
				method: 'post',
				parameters: {id: id},
				onSuccess: function(transport){
				  	var response = transport.responseText;
				  	container4.innerHTML = response;
				},
				onLoading: function() {
					container4.innerHTML = '<div style="color:#000000;"><img src="/data/images/loading.gif" />&nbsp;&nbsp;'+txt_loading+'<div>';
				},
				onFailure: function(){ alert('Something went wrong(getEventInfoWindow)...') }
			  });
		var WindowTab4 = new GInfoWindowTab(details_contact,container4);

		
		new Ajax.Request('/getEvent__Info.php',
			  {
				method: 'post',
				parameters: 'id='+id+'&zoom=true',
				onSuccess: function(transport){
				  	var response = transport.responseText;
				  	container3.innerHTML = response;
				},
				onLoading: function() {
					container3.innerHTML = '<div style="color:#000000;"><img src="/data/images/loading.gif" />&nbsp;&nbsp;'+txt_loading+'<div>';
				},
				onFailure: function(){ alert('Something went wrong(getEventInfoWindow-zoom)...') }
			  });
		var WindowTab3 = new GInfoWindowTab(zoomvideo,container3);			  
		
		
		new Ajax.Request('/getEvent__Images.php',
			  {
				method: 'post',
				parameters: {id: id},
				onSuccess: function(transport){
				  	var response = transport.responseText;					//alert(response);
				  	container2.innerHTML = response;
					if(response=='')
						marker.openInfoWindowTabsHtml([WindowTab1,WindowTab3,WindowTab4]);
					else
						marker.openInfoWindowTabsHtml([WindowTab1,WindowTab2,WindowTab3,WindowTab4]);				  	
				},
				onLoading: function() {
					container2.innerHTML = '<div style="color:#000000;"><img src="/data/images/loading.gif" />&nbsp;&nbsp;'+txt_loading+'<div>';
				},
				onFailure: function(){ alert('Something went wrong(getEventInfoWindow)...') }
			  });		
		var WindowTab2 = new GInfoWindowTab(views,container2);		
};

/*	EVENTS	END	--------------------------------------------------------------	*/

/*                       History                                                               */
function map_load_history(form_name,title,hist_id,hist_cat) {
	
	if(timer_no_search_result) {
		clearTimeout(timer_no_search_result)
		timer_no_search_result=0;
		}
	var parameters2 = '';
	var arrField = new Array('cnt_region','hist_id');
	f = document[form_name];
	h = document.the_history.elements;
	
	for(i=0;i<arrField.length;i++) {
		if(f[arrField[i]])
		if(wartosc=f[arrField[i]].options[f[arrField[i]].selectedIndex].value) {
			parameters2 += '&' + arrField[i] + '=' + wartosc;
		}
	}
	if (navigator.userAgent.indexOf('MSIE 7') != -1)     
	{
		document.getElementById("stv_div").style.width = '794px';
		document.getElementById("map_div").style.width = '794px';
	}
	else
	{
		document.getElementById("stv_div").style.width = '741px';
		document.getElementById("map_div").style.width = '741px';
	}

	
	Category=false;
	parameters='&hCategories=';
	for(i=0;i<h.length;i++) {
		if(h[i].type=="checkbox" && h[i].checked){ 
			parameters += h[i].value + ',';
			Category=true;
		}	/**/
	}
	if(hist_id) {
		if(hist_cat) parameters += hist_cat + ',';
		parameters2 += '&hist_id=' + hist_id;
		Category=true;
	}
	

//if(hist_cat) {
	//	parameters2 += '&hist_cat=' + hist_cat;
	//}	
	if(!parameters2){
		alert(txt_please_complete);
	}else if(!Category) {
		alert(txt_select_checkbox);		
	//else if(f[arrField[1]].options[f[arrField[1]].selectedIndex].value==0 && !hist_cat) {
	//	alert ('Please select a category');
		}
	else{
		
		parameters2+='&form_name='+form_name;
		globalparameters = parameters2;
		
		document.getElementById("home_page").style.display = 'none';
		document.getElementById("search_result_page").style.display = '';
		document.getElementById("search_result_nav").style.display = 'none';
		
		document.getElementById("search_result").innerHTML = '<div style="color:#000000;"><img src="/data/images/loading.gif" />&nbsp;&nbsp;'+txt_loading+'<div>';
		document.getElementById("title_search").innerHTML = title;	
	
		new Ajax.Request('/getHistory_Map.php',
			  {
				method: 'get',
				parameters: 'search=true'+parameters2+parameters,	
				onSuccess: function(transport){
				  
				  document.getElementById("map_div").className = '';
				  var response = transport.responseText;
				  
				  res = response.evalJSON(true);

				  if(res.dat.length==0){
				  	document.getElementById('search_result').innerHTML = txt_no_points;
				  	document.getElementById('map_div').innerHTML = '<div style="color:#000000;padding:5px;">'+txt_no_points+'<div>';
				  	background_glass_off();
				  	alert(txt_no_points2);
					timer_no_search_result = setTimeout(function(){resset_search_result();}, 5 * 1000);
				  }else{
					list_map_load(res.dat,res.x,res.y,res.zoom,1,form_name);
				  }
				},
				onLoading: function() {
					background_glass('color_'+form_name);
					document.getElementById("map_div").innerHTML = '<div style="color:#000000;padding:5px;"><img src="/data/images/loading.gif" />&nbsp;&nbsp;'+txt_loading+'<div>';
				},
				onFailure: function(){ alert('Something went wrong(getFullMap)...') }
			  });
	}
}

function openMarkerIdHistory(id)
{
	if(markers.length-1<id)	return;
	if (streetviewOn == true){
		GEvent.trigger(svcontainer2.closecontainer,'click');
	}
	markerClickHistory(markers[id],markers[id].id);
}


var movelisten=null;
var splayon;

function markerReplace(latlng,id) {
	if (splayon == 1){
		for (x = 0; x < markers.length; x++) {
			if (markers[x].targeted==1){
				if (markers[x].outBounds.containsLatLng(latlng)==false){ 
					if (!map.getInfoWindow().isHidden()) { map.closeInfoWindow(); }
					map.removeOverlay(markers[x].line);
					map.removeOverlay(markers[x]);
					markers[x].setLatLng(markers[x].startcoord);
					markers[x].targeted=0;
					markers[x].outbounds= null;
					markers[x].shifted=0;
					markers[x].importance = markers[x].startimport;
					map.addOverlay(markers[x]);
					if (markers[x].openwindow==true) {
						GEvent.trigger(markers[x], "click")
						markers[x].openwindow=false;
					};
					if (movelisten != null){
						GEvent.removeListener(movelisten);
						movelisten = null;
						splayon=0;
					};
				};
			};
		};
	};
};

function markerSplay(id) {
	if (map.getZoom() >= 14) {
		var shift = .0010;
		var targetpoint;

		if (splayon==0){
			var currentsplay=splayon;
			var step = 0;
			for (x = 0; x < markers.length; x++) {
				if (markers[x].id == id) {
					targetpoint = markers[x].startcoord;
					markers[x].targeted=1;
					var targetid=x;
				};
			}

			
			var mapProjection=map.getCurrentMapType().getProjection(), iconSize, iconAnchorPoint, iconAnchorPointOffset;
			var iconBoundsPointSw, iconBoundsPointNe, iconBoundsLatLngSw, iconBoundsLatLngNe, mapZoomLevel=map.getZoom();
			var intersectPadding=0;

			iconSize=markers[targetid].getIcon().iconSize;
			iconAnchorPoint=mapProjection.fromLatLngToPixel(targetpoint, mapZoomLevel);
			iconAnchorPointOffset=markers[targetid].getIcon().iconAnchor;
			iconBoundsPointSw=new GPoint(iconAnchorPoint.x-iconAnchorPointOffset.x-intersectPadding, iconAnchorPoint.y-iconAnchorPointOffset.y+iconSize.height+intersectPadding);
			iconBoundsPointNe=new GPoint(iconAnchorPoint.x-iconAnchorPointOffset.x+iconSize.width+intersectPadding, iconAnchorPoint.y-iconAnchorPointOffset.y-intersectPadding);
			iconBoundsLatLngSw=mapProjection.fromPixelToLatLng(iconBoundsPointSw, mapZoomLevel);
			iconBoundsLatLngNe=mapProjection.fromPixelToLatLng(iconBoundsPointNe, mapZoomLevel);
			var targetinBounds = new GLatLngBounds(iconBoundsLatLngSw, iconBoundsLatLngNe);
			
			for (x = 0; x < markers.length; x++) {

				iconAnchorPoint=mapProjection.fromLatLngToPixel(markers[x].startcoord, mapZoomLevel);
				iconBoundsPointSw=new GPoint(iconAnchorPoint.x-iconAnchorPointOffset.x-intersectPadding, iconAnchorPoint.y-iconAnchorPointOffset.y+iconSize.height+intersectPadding);
				iconBoundsPointNe=new GPoint(iconAnchorPoint.x-iconAnchorPointOffset.x+iconSize.width+intersectPadding, iconAnchorPoint.y-iconAnchorPointOffset.y-intersectPadding);
				iconBoundsLatLngSw=mapProjection.fromPixelToLatLng(iconBoundsPointSw, mapZoomLevel);
				iconBoundsLatLngNe=mapProjection.fromPixelToLatLng(iconBoundsPointNe, mapZoomLevel);
				var tempbounds = new GLatLngBounds(iconBoundsLatLngSw, iconBoundsLatLngNe);

				if (targetinBounds.intersects(tempbounds)==true) {
					step++;
					markers[x].targeted=1;
				};
			};

			iconAnchorPoint=mapProjection.fromLatLngToPixel(targetpoint, mapZoomLevel);
			if (step>2){
				iconBoundsPointSw=new GPoint(iconAnchorPoint.x-115, iconAnchorPoint.y+155);
				iconBoundsPointNe=new GPoint(iconAnchorPoint.x+115, iconAnchorPoint.y-185);
			}
			else
			{
				iconBoundsPointSw=new GPoint(iconAnchorPoint.x-30, iconAnchorPoint.y+155);
				iconBoundsPointNe=new GPoint(iconAnchorPoint.x+30, iconAnchorPoint.y-185);
			};
			iconBoundsLatLngSw=mapProjection.fromPixelToLatLng(iconBoundsPointSw, mapZoomLevel);
			iconBoundsLatLngNe=mapProjection.fromPixelToLatLng(iconBoundsPointNe, mapZoomLevel);
			var targetOutBounds = new GLatLngBounds(iconBoundsLatLngSw, iconBoundsLatLngNe);

			if (step > 1) {
				splayon=1;
				var tick = 1;
				var zoomconst = (shift +  shift*(Math.pow(2, (17 - map.getZoom())) - 1));
				var radianstep = (2 / step) * Math.PI ;
				for (x = 0; x < markers.length; x++) {
					markers[x].openwindow=false;
					if (markers[x].targeted==1 && markers[x].shifted==0) {
						markers[x].outBounds = targetOutBounds;
		// if marker is marked then remove it from page
						map.removeOverlay(markers[x]);
		//calc shift round oval
						var stepangle =  tick * radianstep;
		// define new location for marker
						var new_lat = targetpoint.lat() + zoomconst * Math.cos(stepangle);
						var new_lng = targetpoint.lng() + zoomconst * Math.sin(stepangle); 
		//change marker position and redraw it
						markers[x].setLatLng(new GLatLng(new_lat, new_lng));
						map.addOverlay(markers[x]);
		//draw the polylines to it 
						markers[x].line = new GPolyline([targetpoint,markers[x].getLatLng()],'#00ff00', 3, 1);
						markers[x].importance=10;
						map.addOverlay(markers[x].line);

		// mark it as moved so we can put back  
						markers[x].shifted=1;
						tick++;
					};
				};	 
				movelisten = GEvent.addListener(map, "mousemove", function(latlng) {markerReplace(latlng,0);});
			}
			else if (step == 1)
			{
				if (currentsplay==0){
					markers[targetid].outBounds = null;
					markers[targetid].targeted = 0;
				};
			};	
		};
	};
}

function markercloseinfo(marker,recid){
	for (x = 0; x < markers.length; x++) {
		markers[x].openwindow =false;	
	}
}

function markerOrder(marker,b) {
	return 281250; 
}

function list_map_load(mdata,xcenter,ycenter,zoom,large,form_name) {
	if (streetviewOn == true){
		GEvent.trigger(svcontainer2.closecontainer,'click');
	}

	splayon=0;
	activepage='History';

	var pref = "";
	markers=new Array();
	if (GBrowserIsCompatible()) {
		function createMarker(point,recid,category,icon_url,form_name,title) {
			if(icon_url== null) icon_url = '/uploads/default_icon.png';
			var baseIcon = new GIcon();
			baseIcon.shadow = "/uploads/default_shadow.png";
			baseIcon.iconSize = new GSize(29, 29);
			baseIcon.shadowSize = new GSize(50, 56);
			baseIcon.iconAnchor = new GPoint(15, 30);
			baseIcon.infoWindowAnchor = new GPoint(15, 10);
			baseIcon.infoShadowAnchor = new GPoint(17, 15);
			var icon = new GIcon(baseIcon);
			if(form_name=='the_history') icon.image = "/uploads/h/" + icon_url; else icon.image = "/uploads/dat/" + icon_url;
			var marker = new GMarker(point,{icon:icon,title:title,zIndexProcess:markerOrder});
			GEvent.addListener(marker, "click",     		function() {markerClickHistory(marker,recid );});
			GEvent.addListener(marker, "infowindowclose", 	function() {   markercloseinfo(marker,recid );});
			GEvent.addListener(marker, "mouseover", 		function() {       markerSplay(recid);});
			return marker;
		}
		map = new GMap2(document.getElementById(pref+"map_div"),{mapTypes: [G_NORMAL_MAP, G_SATELLITE_MAP, G_HYBRID_MAP]});
		buttons(map);
		streetviewOn=false;
		map.addControl(new GMapTypeControl());
		map.addControl(new GScaleControl());
		map.setCenter(new GLatLng(xcenter,ycenter), parseInt(zoom), G_HYBRID_MAP);
		

		var svcontainer;
		svcontainer=document.createElement("div");
		svcontainer.style.cssText="overflow: hidden; width: 20px; height: 40px; position: absolute;";
		var svbutton=document.createElement("div");
		svbutton.style.cssText="overflow: hidden; width: 20px; height: 40px; z-index: 10001;";
		svcontainer.appendChild(svbutton);
//		var img=document.createElement("img");
//		svbutton.appendChild(img);
		map.getContainer().appendChild(svcontainer);
		svcontainer2=new SVControl(map);
		map.addControl(svcontainer2);
		
		map.hideControls();
		
		GEvent.addListener(map, "mouseover", function(){map.showControls();});
		GEvent.addListener(map, "mouseout", function(){map.hideControls();});
		
		var baseCIcon = new GIcon();
		baseCIcon.shadow = "/uploads/default_shadow.png";
		baseCIcon.iconSize = new GSize(29, 29);
		baseCIcon.shadowSize = new GSize(50, 56);
		baseCIcon.iconAnchor = new GPoint(15, 30);
		baseCIcon.infoWindowAnchor = new GPoint(15, 10);
		baseCIcon.infoShadowAnchor = new GPoint(17, 15);
		var Cicon = new GIcon(baseCIcon);
		Cicon.image = "/data/images/ico_group.png";

		cluster=new ClusterMarker(map,{clusterMarkerClick:myClusterClick, clusterMarkerIcon:Cicon });
		cluster.fitMapMaxZoom=16;

		document.getElementById("search_result").innerHTML = '';
		tabelka = '<table border="0" cellpadding="1" cellspacing="1" style="color:#334460;font-size:11px;font-weight:bold;"><tbody>';
		for(i=0;i<mdata.length;i++) {				 
			var point = new GLatLng(mdata[i].lat,mdata[i].lon);			
			var marker=createMarker(point,mdata[i].rec,mdata[i].category,mdata[i].icon_url,form_name,mdata[i].title);
			marker.kategoria = mdata[i].category; 
			marker.id = mdata[i].rec; 
			marker.startcoord = point;
			marker.startimport=1;
			marker.importance=1;
			marker.outBounds = null;
			marker.targeted=0;
			marker.openwindow=false;
			marker.line = null;
			marker.shifted = 0;

			markers.push(marker); 
			if(mdata[i].tot == 1 && mdata[i].zoo > 0) {
				tot_res = mdata[i].tot;
				tot_zoo = mdata[i].zoo;
				map.setCenter(new GLatLng(xcenter,ycenter), parseInt(tot_zoo), G_HYBRID_MAP);
				}
			title= (mdata[i].title != null && mdata[i].title !='') ? mdata[i].title : txt_no_name; 				
			tabelka += '<tr><td valign="top" align="right">'+(i+1)+'.</td><td valign="top" align="left" style="padding-left:3px;"><a href="#" style="color:#334460;font-size:11px;font-weight:bold;" onclick=openMarkerIdHistory('+i+'); return false;>'+title+'</a></td></tr>';
		}
		tabelka += '</tbody></table>';
		document.getElementById("search_result").innerHTML = tabelka;
		cluster.removeMarkers();
		cluster.clusteringEnabled=0;
		cluster.addMarkers(markers);
		cluster.refresh(true);
		cluster.clusteringEnabled=1;
		cluster.refresh(true);
		cluster.fitMapToMarkers();
	}
	eval(pref+"list_map_loaded=true");
	GEvent.addListener(window, "unload", my_GUnload);
	background_glass_off();
}

function markerClickHistory(marker,id) {

polylineset(id,1);
marker.openwindow = true;
if (splayon == 1){
	markerReplace(new GLatLng(0,0),id);
}
		container = document.createElement("div");
		container.className = 'infoWindow';
		container.innerHTML = '<div style="color:#000000;padding:20px;"><img src="/data/images/loading.gif" />&nbsp;&nbsp;'+txt_loading+'<div>';
				
		container2 = document.createElement("div");
		container2.className = 'infoWindow';
		container2.innerHTML = '<div style="color:#000000;padding:20px;"><img src="/data/images/loading.gif" />&nbsp;&nbsp;'+txt_loading+'<div>';
				
		container3 = document.createElement("div");
		container3.className = 'infoWindow';
		container3.innerHTML = '<div style="color:#000000;padding:20px;"><img src="/data/images/loading.gif" />&nbsp;&nbsp;'+txt_loading+'<div>';
		
		container4 = document.createElement("div");
		container4.className = 'infoWindow';
		container4.innerHTML = '<div style="color:#000000;padding:20px;"><img src="/data/images/loading.gif" />&nbsp;&nbsp;'+txt_loading+'<div>';
		
		new Ajax.Request('/getHistory__Info.php',
			  {
				method: 'post',
				parameters: {id: id},
				onSuccess: function(transport){
				  	var response = transport.responseText;
				  	container.innerHTML = response;
				},
				onLoading: function() {
					container.innerHTML = '<div style="color:#000000;"><img src="/data/images/loading.gif" />&nbsp;&nbsp;'+txt_loading+'<div>';
				},
				onFailure: function(){ alert('Something went wrong(getEventInfoWindow)...') }
			  });
		var WindowTab1 = new GInfoWindowTab(details,container);/**/

		new Ajax.Request('/getHistory__Contact.php',
			  {
				method: 'post',
				parameters: {id: id},
				onSuccess: function(transport){
				  	var response = transport.responseText;
				  	container4.innerHTML = response;
				},
				onLoading: function() {
					container4.innerHTML = '<div style="color:#000000;"><img src="/data/images/loading.gif" />&nbsp;&nbsp;'+txt_loading+'<div>';
				},
				onFailure: function(){ alert('Something went wrong(getEventInfoWindow)...') }
			  });
		var WindowTab4 = new GInfoWindowTab(details_contact,container4);

		
		new Ajax.Request('/getHistory__Info.php',
			  {
				method: 'post',
				parameters: 'id='+id+'&zoom=true',
				onSuccess: function(transport){
				  	var response = transport.responseText;
				  	container3.innerHTML = response;
				},
				onLoading: function() {
					container3.innerHTML = '<div style="color:#000000;"><img src="/data/images/loading.gif" />&nbsp;&nbsp;'+txt_loading+'<div>';
				},
				onFailure: function(){ alert('Something went wrong(getEventInfoWindow-zoom)...') }
			  });
		var WindowTab3 = new GInfoWindowTab(zoomvideo,container3);			  
		
		
		new Ajax.Request('/getHistory__Images.php',
			  {
				method: 'post',
				parameters: {id: id},
				onSuccess: function(transport){
				  	var response = transport.responseText;					
				  	container2.innerHTML = response;
					if(response=='')
						marker.openInfoWindowTabsHtml([WindowTab1,WindowTab3,WindowTab4]);
					else
						marker.openInfoWindowTabsHtml([WindowTab1,WindowTab2,WindowTab3,WindowTab4]);				  	
				},
				onLoading: function() {
					container2.innerHTML = '<div style="color:#000000;"><img src="/data/images/loading.gif" />&nbsp;&nbsp;'+txt_loading+'<div>';
				},
				onFailure: function(){ alert('Something went wrong(getEventInfoWindow)...') }
			  });		
		var WindowTab2 = new GInfoWindowTab(views,container2);		
};

/*	HISTORY	END	--------------------------------------------------------------	*/

/*     TOURISM                                  */

function map_load_tourism_social(form_name,title,rand) {
	
	if(timer_no_search_result) {
		clearTimeout(timer_no_search_result)
		timer_no_search_result=0;
	}
	
	document.getElementById("stv_div").style.width = '741px';
	document.getElementById("map_div").style.width = '741px';

	
	
	parameters2='';
	f = document[form_name];
	h = document.tourism_social.elements;
	if(wartosc=f['cnt_region'].options[f['cnt_region'].selectedIndex].value) {
		parameters2 += '&cnt_region=' + wartosc;
	}

	if(ss=f['poi_str'].value) {
		if(ss.length<3) {
			alert('Minimum 3 chars please!');
			return false;
			}
		else {
			parameters2 += '&poi_str=' + ss;
		}
		Category=true;
	}
	else {
		Category=false;
		}

	
	parameters='&rand='+rand+'&poiCategories=';
	for(i=0;i<h.length;i++) {
		if(h[i].type=="checkbox" && h[i].checked){ 
			parameters += h[i].value + ',';
			Category=true;
		}	/**/
	}
	if(!parameters2){
		alert(please_complete2);
	}else if(!Category) {
		alert(txt_select_checkbox);		
	}else{	

	document.getElementById("home_page").style.display = 'none';
	document.getElementById("search_result_page").style.display = '';
	
	document.getElementById("search_result").innerHTML = '<div style="color:#000000;"><img src="/data/images/loading.gif" />&nbsp;&nbsp;'+txt_loading+'<div>';
	document.getElementById("title_search").innerHTML = title;	

	document.getElementById("search_result_nav").style.display = 'none';

	new Ajax.Request('/getPoi.php',
		  {
			method: 'get',
			parameters: 'search=true'+parameters2+parameters,
			onSuccess: function(transport){
				document.getElementById("map_div").className = '';
			  	var response = transport.responseText;
			  	res = response.evalJSON(true);
			  	if(res.dat.length==0){
				  	document.getElementById('search_result').innerHTML = txt_no_poi;
				  	document.getElementById('map_div').innerHTML = '<div style="color:#000000;padding:5px;">'+txt_no_poi+'<div>';
				  	background_glass_off();
				  	alert(txt_no_poi2);
					timer_no_search_result = setTimeout(function(){resset_search_result();}, 5 * 1000);
			  	}else{

					document.getElementById("search_result_nav").style.display = 'block';
					document.getElementById("search_result_nav").value='';
					document.getElementById("search_result_nav").innerHTML = "<div align='center'><a href='javascript:map_load_tourism_social(\"tourism_social\",\"Events\",0);' style='color: #003; font-size: 11px; font-weight: bold;' href='#'> Sort results alpha </a></div>";

					list_poi_load(res.dat,res.x,res.y,res.zoom,res.re,res.rr);
			  	}
			},
			onLoading: function() {
				background_glass('color_'+form_name);
				
				document.getElementById("map_div").innerHTML = '<div style="color:#000000;padding:5px;"><img src="/data/images/loading.gif" />&nbsp;&nbsp;'+txt_loading+'<div>';
			},
			onFailure: function(){ alert('Something went wrong(load POI)...') }
		  });
	}

}

// EXACTLY POINT
//	----------------------------------------------------------------------------------------------------------
//		map_load_tourism_social00('tourism_social','{tourism_social}',-1,10,592);goTo('#top');   // cnt_region=-1&poiCategories=42%2C&poi_id=592

function map_load_tourism_social00(form_name,title,cnt_region,poiCategories,poi_id) {

	
	// sprawdza czy poprzednie wyszukiwanie nie zakonczylo sie niepowodzeniem, jesli tak to wylacza TIMER
	if(timer_no_search_result) {
		clearTimeout(timer_no_search_result)
		timer_no_search_result=0;
	}
	
	
	
	parameters2='';
	//f = document[form_name];
	if(cnt_region) {
	//if(wartosc=f['cnt_region'].options[f['cnt_region'].selectedIndex].value) {
		parameters2 += '&cnt_region=' + cnt_region;
	}

	if(poi_id) {
	//if(wartosc=f['cnt_region'].options[f['cnt_region'].selectedIndex].value) {
		parameters2 += '&poi_id=' + poi_id;
	}
	
	Category=false;
	if(poiCategories) {
		
		parameters='&poiCategories=';
		//for(i=0;i<f['poiCategories'].length;i++)
			//if(f['poiCategories'][i].checked){ 
				parameters += poiCategories + ',';
				Category=true;
			//}	
		}

	//alert (parameters2);

	if(!parameters2){
		alert(please_complete2);
	}else if(!Category) {
		alert(txt_select_checkbox);		
	}else{	

	// zamienia strone glowna na strone z wynikiem wyszukania
	document.getElementById("home_page").style.display = 'none';
	document.getElementById("search_result_page").style.display = '';
	// zamienia Menu html'owe na Ajaxowe'
	//document.getElementById("footer_menu_link").style.display = 'none';
	//document.getElementById("footer_menu_ajax").style.display = '';
	
	document.getElementById("search_result").innerHTML = '<div style="color:#000000;"><img src="/data/images/loading.gif" />&nbsp;&nbsp;'+txt_loading+'<div>';
	document.getElementById("title_search").innerHTML = title;	

	new Ajax.Request('/getPoi.php',
		  {
			method: 'get',
			parameters: 'search=true'+parameters2+parameters,
			onSuccess: function(transport){
				document.getElementById("map_div").className = '';
			  	var response = transport.responseText;
			  	res = response.evalJSON(true);
			  	//alert (response);
			  	if(res.dat.length==0){
				  	document.getElementById('search_result').innerHTML = txt_no_poi;
				  	document.getElementById('map_div').innerHTML = '<div style="color:#000000;padding:5px;">'+txt_no_poi+'<div>';
				  	background_glass_off();
				  	alert(txt_no_poi2);
				  	// automatyczne ressetowanie gdy nie ma wynikow
					timer_no_search_result = setTimeout(function(){resset_search_result();}, 5 * 1000);
			  	}else{
					list_poi_load(res.dat,res.x,res.y,res.zoom,res.re,res.rr);
			  	}
			},
			onLoading: function() {
				background_glass('color_'+form_name);
				document.getElementById("map_div").innerHTML = '<div style="color:#000000;padding:5px;"><img src="/data/images/loading.gif" />&nbsp;&nbsp;'+txt_loading+'<div>';
			},
			onFailure: function(){ alert('Something went wrong(load POI)...') }
		  });
	}

}


function openMarkerIdPOI(id)
{
	if(markers.length-1<id)	return;
	if (streetviewOn == true){
		GEvent.trigger(svcontainer2.closecontainer,'click');
	}
	markerClickPOI(markers[id],markers[id].id);
}

function list_poi_load(mdata,xcenter,ycenter,zoom,re,rr){
	if (streetviewOn == true){
		GEvent.trigger(svcontainer2.closecontainer,'click');
	}
	if (streetviewOn == true){
		GEvent.trigger(svcontainer2.closecontainer,'click');
	}

	splayon=0;
	activepage='Tourism';
	var pref = "";
	markers=new Array();
	if (GBrowserIsCompatible()) {
		function createMarker2(point,id,icon_url,title) {
			if(icon_url== null) 
			icon_url = '/uploads/default_poi.gif';
			var baseIcon = new GIcon();
			baseIcon.shadow = "/uploads/default_shadow.png";
			baseIcon.iconSize = new GSize(29, 29);
			baseIcon.shadowSize = new GSize(50, 56);
			baseIcon.iconAnchor = new GPoint(9, 34);
			baseIcon.infoWindowAnchor = new GPoint(6, 10);
			baseIcon.infoShadowAnchor = new GPoint(8, 15);
			var icon = new GIcon(baseIcon);
			icon.image = "/data/images/markers/" + icon_url + ".gif";
			icon.image = "/uploads/u/" + icon_url;
			var marker = new GMarker(point,{icon:icon,title:title,zIndexProcess:markerOrder});
			GEvent.addListener(marker, "click", function() {markerClickPOI(marker,id);});
			GEvent.addListener(marker, "infowindowclose", 	function() {   markercloseinfo(marker,id );});
			GEvent.addListener(marker, "mouseover", 		function() {       markerSplay(id);});
			return marker;
	 	}
		map = new GMap2(document.getElementById(pref+"map_div"),{mapTypes: [G_NORMAL_MAP, G_SATELLITE_MAP, G_HYBRID_MAP]});
		buttons(map);
		streetviewOn=false;
		map.addControl(new GMapTypeControl());
	  	map.addControl(new GScaleControl());
		map.setCenter(new GLatLng(xcenter,ycenter), parseInt(zoom), G_HYBRID_MAP);
		

		var svcontainer;
		svcontainer=document.createElement("div");
		svcontainer.style.cssText="overflow: hidden; width: 20px; height: 40px; position: absolute;";
		var svbutton=document.createElement("div");
		svbutton.style.cssText="overflow: hidden; width: 20px; height: 40px; z-index: 10001;";
		svcontainer.appendChild(svbutton);
//		var img=document.createElement("img");
//		svbutton.appendChild(img);
		map.getContainer().appendChild(svcontainer);
		svcontainer2=new SVControl(map);
		map.addControl(svcontainer2);
		

		map.hideControls();
		GEvent.addListener(map, "mouseover", function(){map.showControls();});
		GEvent.addListener(map, "mouseout", function(){map.hideControls();});
		map.setCenter(new GLatLng(xcenter,ycenter), parseInt(zoom),G_HYBRID_MAP);
		var baseCIcon = new GIcon();
		baseCIcon.shadow = "/uploads/default_shadow.png";
		baseCIcon.iconSize = new GSize(29, 29);
		baseCIcon.shadowSize = new GSize(50, 56);
		baseCIcon.iconAnchor = new GPoint(9, 34);
		baseCIcon.infoWindowAnchor = new GPoint(6, 10);
		baseCIcon.infoShadowAnchor = new GPoint(8, 15);
		var Cicon = new GIcon(baseCIcon);
		Cicon.image = "/data/images/ico_group.png";
		cluster=new ClusterMarker(map,{clusterMarkerClick:myClusterClick, clusterMarkerIcon:Cicon });
		cluster.fitMapMaxZoom=16;

		document.getElementById("search_result").innerHTML = '';
		tabelka = '<table border="0" cellpadding="1" cellspacing="1" style="color:#334460;font-size:11px;font-weight:bold;"><tbody>';			
		for(i=0;i<mdata.length;i++) {				 
			var point = new GLatLng(mdata[i].lat,mdata[i].lon);			
			var marker=createMarker2(point,mdata[i].id,mdata[i].icon_url,mdata[i].title,mdata[i].stars);
			marker.kategoria = mdata[i].category; 
			marker.id = mdata[i].id; 
			marker.rec = mdata[i].rec;
			marker.startcoord = point;
			marker.startimport=1;
			marker.importance=1;
			marker.outBounds = null;
			marker.targeted=0;
			marker.openwindow=false;
			marker.line = null;
			marker.shifted = 0;
			markers.push(marker); 
			color= mdata[i].col;
			star = mdata[i].stars;
			title= (mdata[i].title != null && mdata[i].title !='') ? mdata[i].title : txt_no_name; 
			tabelka += '<tr><td valign="top" align="right">'+(i+1)+'.</td><td valign="top" align="left" style="padding-left:3px;"><a href="#" style="color:#'+color+';font-size:11px;font-weight:bold;" onclick=openMarkerIdPOI('+i+'); return false;>'+star+''+title+'</a></td></tr>';			
		}
		cluster.removeMarkers();
		cluster.clusteringEnabled=0;
		cluster.addMarkers(markers);
		cluster.refresh(true);
		cluster.clusteringEnabled=1;
		cluster.refresh(true);
		cluster.fitMapToMarkers();
		tabelka += '</tbody></table>';
		document.getElementById("search_result").innerHTML = tabelka;
		if(rr) openMarkerIdPOI(re);
	}
	GEvent.addListener(window, "unload", my_GUnload);
	background_glass_off();
}



function markerClickPOI(marker,id) {
	
polylineset(id,2);
marker.openwindow = true;
if (splayon == 1){
	markerReplace(new GLatLng(0,0),id);
}
	
	container = document.createElement("div");
	container.className = 'infoWindow';
	container.innerHTML = '<div style="color:#000000;padding:20px;"><img src="/data/images/loading.gif" />&nbsp;&nbsp;'+txt_loading+'<div>';
			
	container2 = document.createElement("div");
	container2.className = 'infoWindow';
	container2.innerHTML = '<div style="color:#000000;padding:20px;"><img src="/data/images/loading.gif" />&nbsp;&nbsp;'+txt_loading+'<div>';
			
	container3 = document.createElement("div");
	container3.className = 'infoWindow';
	container3.innerHTML = '<div style="color:#000000;padding:20px;"><img src="/data/images/loading.gif" />&nbsp;&nbsp;'+txt_loading+'<div>';
	
	container4 = document.createElement("div");
	container4.className = 'infoWindow';
	container4.innerHTML = '<div style="color:#000000;padding:20px;"><img src="/data/images/loading.gif" />&nbsp;&nbsp;'+txt_loading+'<div>';
	
	new Ajax.Request('/getPoiInfoWindow.php',
		  {
			method: 'post',
			parameters: {id: id},
			onSuccess: function(transport){
				var response = transport.responseText;
				container.innerHTML = response;
			},
			onLoading: function() {
				container.innerHTML = '<div style="color:#000000;"><img src="/data/images/loading.gif" />&nbsp;&nbsp;'+txt_loading+'<div>';
			},
			onFailure: function(){ alert('Something went wrong(getPoiInfoWindow)...') }
		  });
	var WindowTab1 = new GInfoWindowTab(details,container);/**/

	
	new Ajax.Request('/getPoiContactWindow.php',
		  {
			method: 'post',
			parameters: {id: id},
			onSuccess: function(transport){
				var response = transport.responseText;
				container4.innerHTML = response;
			},
			onLoading: function() {
				container4.innerHTML = '<div style="color:#000000;"><img src="/data/images/loading.gif" />&nbsp;&nbsp;'+txt_loading+'<div>';
			},
			onFailure: function(){ alert('Something went wrong(getPoiInfoWindow)...') }
		  });
	var WindowTab4 = new GInfoWindowTab(details_contact,container4);

	new Ajax.Request('/getPoiInfoWindow.php',
		  {
			method: 'post',
			parameters: 'id='+id+'&zoom=true',
			onSuccess: function(transport){
				var response = transport.responseText;
				container3.innerHTML = response;
			},
			onLoading: function() {
				container3.innerHTML = '<div style="color:#000000;"><img src="/data/images/loading.gif" />&nbsp;&nbsp;'+txt_loading+'<div>';
			},
			onFailure: function(){ alert('Something went wrong(getPoiInfoWindow-zoom)...') }
		  });
	var WindowTab3 = new GInfoWindowTab(zoomvideo,container3);			  
	
	
	new Ajax.Request('/getPoiViewWindow.php',
		  {
			method: 'post',
			parameters: {id: id},
			onSuccess: function(transport){
				var response = transport.responseText;					
				container2.innerHTML = response;
				if(response=='')
					marker.openInfoWindowTabsHtml([WindowTab1,WindowTab3,WindowTab4]);
				else
					marker.openInfoWindowTabsHtml([WindowTab1,WindowTab2,WindowTab3,WindowTab4]);				  	
			},
			onLoading: function() {
				container2.innerHTML = '<div style="color:#000000;"><img src="/data/images/loading.gif" />&nbsp;&nbsp;'+txt_loading+'<div>';
			},
			onFailure: function(){ alert('Something went wrong(getPoiViewWindow)...') }
		  });		
	var WindowTab2 = new GInfoWindowTab(views,container2);		
	
};

/*	TOURISM	END	--------------------------------------------------------------	*/


/*    support Functions        */

function myClusterClick(args) 
{
	cluster.defaultClickAction=function()
	{
		map.setCenter(args.clusterMarker.getLatLng(), map.getBoundsZoomLevel(args.clusterMarker.clusterGroupBounds))
		delete cluster.defaultClickAction;
	}
	var html='<div style="height:8em; overflow:auto; width:24em; color:#000000; visibility: visible">'+args.clusteredMarkers.length+' Locations:';
	for (i=0; i<args.clusteredMarkers.length; i++) 
	{
		html+='<div align="left"><img src="'+args.clusteredMarkers[i].getIcon().image+'" width="15" height="15"> <a align="left" style="color:#334460;font-size:11px;font-weight:bold;" href="javascript:cluster.triggerClick('+args.clusteredMarkers[i].index+')">'+args.clusteredMarkers[i].getTitle()+'</a><br /></div>';
	}
	html+='<br /><a style="color:#334460;font-size:11px;font-weight:bold;" href="javascript:void(0)" onclick="cluster.defaultClickAction()">Zoom</a> in to show these locations</div>';
	map.openInfoWindowHtml(args.clusterMarker.getLatLng(), html);
}

function resset_search_result() {
	document.getElementById("home_page").style.display = '';
	document.getElementById("search_result_page").style.display = 'none';
}


function F(x,d){with(Math)return~~x+'.'+(''+round(x*pow(10,d))).slice(-d)}

function my_GUnload() {
	alert('unload');
	GUnload();
}

function toggleClustering() {
	cluster.clusteringEnabled=!cluster.clusteringEnabled;
	cluster.refresh(true);
}

function zoom(lat,lng,zoom)
{
	map.setCenter(new GLatLng(lat+0.0005, lng), zoom); 
}

function polylineset(id, type) 
{
	var zcolor; 
	var zweight; 
	var zopacity; 
	var zpoints;
	var zlevels;
	var zzoomfactor;
	var znumlevels;
	var newpoly;

	if (typeof pidset[id] == 'undefined')
	{
		pidset[id] = [];
		new Ajax.Request('/getPolyline.php',
		{
			method: 'post',
			parameters: {id: id, type: type},
			onSuccess: function(transport)
			{
				resp = transport.responseText.evalJSON(true);
				if (resp[0].rows != 0)
				{ 
					pidset[id][0]=resp[0].rows ;
					for (var jj=0;jj<resp[0].rows;jj++)
					{
						jj1=jj+1;
						pidset[id][jj1] = resp[jj].pid;
						newpoly = pidset[id][jj1];
						if (typeof polylines[newpoly] == 'undefined')
						{
							zcolor = resp[jj].color; 
							zweight = resp[jj].weight; 
							zopacity = resp[jj].opacity; 
							zpoints = resp[jj].points;
							zlevels = resp[jj].levels;
							zzoomfactor = resp[jj].zoomFactor;
							znumlevels = resp[jj].numLevels;
							polylines[newpoly] = new GPolyline.fromEncoded(
							{
								color: zcolor,
								weight: zweight,
								opacity: zopacity,
								points: zpoints,
								levels: zlevels,
								zoomFactor: zzoomfactor,
								numLevels: znumlevels
							});
							visible[newpoly] = 2;
							map.addOverlay(polylines[newpoly]);
						}
						else
						{
							visible[newpoly] = 2;
							map.addOverlay(polylines[newpoly]);
						}	
					}
					for (var ii=1; ii<=visible.length; ii++) 
					{
						if (typeof visible[ii] != 'undefined')
						{
							switch (visible[ii])
							{
							case 0:
								break;
							case 1:
								map.removeOverlay(polylines[ii]);
								visible[ii] = 0;
								break;
							case 2:
								visible[ii] = 1;
								break;
							}
						}
					}
				}
				else
				{
					for (var i=0; i<=visible.length; i++) 
					{
						if (typeof visible[i] != 'undefined')
						{
							switch (visible[i])
							{	
							case 0:
								break;
							case 1:
								map.removeOverlay(polylines[i]);
								visible[i] = 0;
								break;
							}
						}
					}
				}
			},
			onFailure: function(){ alert('Something went wrong(getpolyline)...') }
		});
	}
	else
	{
		for (var k=0; k<pidset[id][0]; k++)
		{
			var k1=k+1;
			var k2=pidset[id][k1];
			map.addOverlay(polylines[k2]);
			visible[k2] = 2;
		}
		for (var kk=1; kk<=visible.length; kk++) 
		{
			if (typeof visible[kk] != 'undefined')
			{
				switch (visible[kk])
				{
				case 0:
					break;
				case 1:
					map.removeOverlay(polylines[kk]);
					visible[kk] = 0;
					break;
				case 2:
					visible[kk] = 1;
					break;
				}
			}
		}

	}
}

function ukryjPokazKategorie(kategoria,pokaz)
{
	for(var i=0; i<markers.length; i++)
	{
		if(markers[i].kategoria==kategoria)
		{
			if(pokaz==true)
				markers[i].show();
			else
				markers[i].hide();
		}
	}
}
function przerysuj(checkbox,kategoria)
{		
	if(document.getElementById(checkbox).checked)
		ukryjPokazKategorie(kategoria,true);
	else
		ukryjPokazKategorie(kategoria,false);
}

function goTo (l) {
	location.href=l;
}

function okienkoImg(urlImg, title, width, height) {   
	var width = parseInt(width);
	var height = parseInt(height);
	var width = (isNaN(width) ? 420 : width+20);
	var height = (isNaN(height) ? 420 : height+20);
 
	var Win = window.open('',"",'width=' + width + ',height=' + height + ',resizable=0,scrollbars=no, menubar=no, left=350, top=100' );
	Win.document.write('<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><title>'+title+'</title></head><body leftmargin="0" topmargin="0" rightmargin="0" bottommargin="0" marginwidth="0" marginheight="0">');
	
	Win.document.write('<table width="100%" height="100%" border="0" cellspacing="0" cellpadding="0"><tr><td align=center><table style="padding:4px;border:silver 1px solid"><tr><td><a href="javascript:self.close();"><img src="'+urlImg+'" alt="" border="0"></a></td></tr></table></td></tr></table>');
	Win.document.write('</body></html>');
	
};

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}
function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}



function pasek_off(){
	document.getElementById("all_search_result_column").style.width = '0px';
	document.getElementById("all_search_result_column").style.display = 'none';	
	document.getElementById("search_result").style.display = 'none';
	document.getElementById("title_search_result1").style.display = 'none';
	document.getElementById("title_search").style.display = 'none';
	document.getElementById("map_div").style.marginLeft = '9px';
	if (navigator.userAgent.indexOf('MSIE 7') != -1 && activepage=='History')     
	{
		document.getElementById("stv_div").style.marginLeft = '8px';
		document.getElementById("stv_div").style.width = '994px';
		document.getElementById("map_div").style.width = '994px';
	}
	else
	{
		document.getElementById("stv_div").style.marginLeft = '9px';
		document.getElementById("stv_div").style.width = '941px';
		document.getElementById("map_div").style.width = '941px';
	}
	svcontainer2.panorama.checkResize();
	document.getElementById("off").style.display = '';
	document.getElementById("on").style.display = 'none';
}
function pasek_on(){
	document.getElementById("all_search_result_column").style.width = '200px';
	document.getElementById("all_search_result_column").style.display = '';
	document.getElementById("search_result").style.display = '';
	document.getElementById("title_search").style.display = '';
	document.getElementById("title_search_result1").style.display = '';
	document.getElementById("map_div").style.marginLeft = '209px';
	document.getElementById("stv_div").style.marginLeft = '209px';
	if (navigator.userAgent.indexOf('MSIE 7') != -1 && activepage=='History')     
	{
		document.getElementById("stv_div").style.width = '794px';
		document.getElementById("map_div").style.width = '794px';
	}
	else
	{
		document.getElementById("stv_div").style.width = '741px';
		document.getElementById("map_div").style.width = '741px';
	}
	svcontainer2.panorama.checkResize();
	document.getElementById("off").style.display = 'none';
	document.getElementById("on").style.display = '';
}


