/*                           global variables                                  */
timer_no_search_result=0;

var resp;
var pidset = [];
var polylines = [];
var visible = [];

var mapBounds;
var opacity = 0.0;
var patchdir = '';
var map; //the GMap2 itself

/*       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');
	
	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;
	markerClickEvents(markers[id],markers[id].id);
}

function list_ev_load(mdata,xcenter,ycenter,zoom) {
	var pref = "";
	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(30, 30);
			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});
			GEvent.addListener(marker, "click", function() {markerClickEvents(marker,id);});
			return marker;
		}	 
		map = new GMap2(document.getElementById(pref+"map_div"),{mapTypes: [G_NORMAL_MAP, G_SATELLITE_MAP, G_HYBRID_MAP]});
		var html='<div class="htmlControl" style="padding:0px 3px 3px 3px">Enable clustering: <input type="checkbox" checked="checked" onclick="toggleClustering()" /></div>';
		var control=new HtmlControl(html);	
 		map.addControl(control, new GControlPosition(G_ANCHOR_TOP_LEFT, new GSize(70,7)));
		map.addControl(new GLargeMapControl3D());
		map.addControl(new GMapTypeControl());
		map.addControl(new GScaleControl());
		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(30, 30);
		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>';			
		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].id; 
			marker.rec = mdata[i].rec;
			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);
	//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;
		}
	}
	
	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;
	markerClickHistory(markers[id],markers[id].id);
}

function list_map_load(mdata,xcenter,ycenter,zoom,large,form_name) {
		var pref = "";
        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(30, 30);
				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);

				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});
				 GEvent.addListener(marker, "click", function() {markerClickHistory(marker,recid);});
                return marker;
        	}
			map = new GMap2(document.getElementById(pref+"map_div"),{mapTypes: [G_NORMAL_MAP, G_SATELLITE_MAP, G_HYBRID_MAP]});
			var html='<div class="htmlControl" style="padding:0px 3px 3px 3px">Enable clustering: <input type="checkbox" checked="checked" onclick="toggleClustering()" /></div>';
			var control=new HtmlControl(html);	
 			map.addControl(control, new GControlPosition(G_ANCHOR_TOP_LEFT, new GSize(70,7)));
			map.addControl(new GLargeMapControl3D());
			map.addControl(new GMapTypeControl());
			map.addControl(new GScaleControl());
			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(30, 30);
			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>';
			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; 
				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);

		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;
	}
	
	
	
	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;
	markerClickPOI(markers[id],markers[id].id);
}

function list_poi_load(mdata,xcenter,ycenter,zoom,re,rr){
	var pref = "";
	if (GBrowserIsCompatible()) {
		function createMarker2(point,id,icon_url,title,stars) {
			if(icon_url== null) 
			icon_url = '/uploads/default_poi.gif';
			var baseIcon = new GIcon();
			baseIcon.shadow = "/uploads/default_shadow.png";
			baseIcon.iconSize = new GSize(30, 30);
			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});
			GEvent.addListener(marker, "click", function() {markerClickPOI(marker,id);});
			return marker;
	 	}
		map = new GMap2(document.getElementById(pref+"map_div"),{mapTypes: [G_NORMAL_MAP, G_SATELLITE_MAP, G_HYBRID_MAP]});
		var html='<div class="htmlControl" style="padding:0px 3px 3px 3px">Enable clustering: <input type="checkbox" checked="checked" onclick="toggleClustering()" /></div>';
		var control=new HtmlControl(html);	
		map.addControl(control, new GControlPosition(G_ANCHOR_TOP_LEFT, new GSize(70,7)));
		map.addControl(new GLargeMapControl3D());
		map.addControl(new GMapTypeControl());
	  	map.addControl(new GScaleControl());
		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(30, 30);
		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>';			
		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;
			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);
	
	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';
	//document.getElementById("pasek").innerHTML = '<img src="./images/off.gif" border="0" width="9" height="515" style="cursor:pointer;" onclick="pasek_on()" />';
	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("pasek").innerHTML = '<img src="./images/on.gif" border="0" width="9" height="515" style="cursor:pointer;" onclick="pasek_off()" />';
	document.getElementById("off").style.display = 'none';
	document.getElementById("on").style.display = '';
}


