function setTabs()
{
	var divs = $('tabList').getElementsByTagName('div');
	for(var i=0; i<divs.length; i++)
	{
		if(divs[i].className.match('item'))
		{
			divs[i].onclick = function()
			{
				var id = this.id.replace('_tab','');
				for(var j=0; j<divs.length; j++)
				{
					var layer_id = divs[j].id.replace('_tab','');
					if(!$(layer_id + '_layer').className.match('hidden'))
					{
						$(layer_id + '_layer').className += ' hidden';
					}
					if($(layer_id + '_tab').className.match('active'))
					{
						$(layer_id + '_tab').className = $(layer_id + '_tab').className.replace(' active','');
					}
				}
				$(id + '_layer').className = $(id + '_layer').className.replace(' hidden','');
				$(id + '_tab').className += ' active';
			}
		}
	}
}

function setPointSearch()
{
	try
	{
	$('nextPointSearch').onclick = function()
	{
		if($('nextPointLayer').className.match('hidden'))
		{
			$('nextPointLayer').className = $('nextPointLayer').className.replace('hidden','');
		}
		else
		{
			$('nextPointLayer').className = 'hidden';
		}
	}
	}
	catch(e){}
}

function setOpener()
{
	var divs = $('searchHolder').getElementsByTagName('div');
	for(var i=0; i<divs.length; i++)
	{
		if(divs[i].id.match('categ_opener'))
		{						
			divs[i].onclick = function(e)
			{						
				if(!Utils.getEventSource(e).id.match('categ_opener')) return false;				
				var id = this.id.split('_')[2];
				if($('categ_opener_' + id).className.match('closed'))
				{
					$('categ_opener_' + id).className = $('categ_opener_' + id).className.replace('closed','opened');
					$('type_holder_' + id).className = $('type_holder_' + id).className.replace(' hidden','');
				}
				else
				{
					$('categ_opener_' + id).className = $('categ_opener_' + id).className.replace('opened','closed');
					$('type_holder_' + id).className += ' hidden';
				}
			}
		}

		if(divs[i].id.match('type_opener'))
		{			
			divs[i].onclick = function(e)
			{						
				if(!Utils.getEventSource(e).id.match('type_opener')) return false;				
				var id = this.id.split('_')[2];
				if($('type_opener_' + id).className.match('closed'))
				{
					$('type_opener_' + id).className = $('type_opener_' + id).className.replace('closed','opened');
					$('option_holder_' + id).className = $('option_holder_' + id).className.replace(' hidden','');
				}
				else
				{
					$('type_opener_' + id).className = $('type_opener_' + id).className.replace('opened','closed');
					$('option_holder_' + id).className += ' hidden';
				}
			}
		}
	}
}

function setCheckBoxes()
{
	var cbs = $('searchHolder').getElementsByTagName('input');
	for(var i=0; i<cbs.length; i++)
	{
		if(cbs[i].type.match('checkbox'))
		{				
			cbs[i].onclick = function()
			{			
				var id = this.id.split('_')[1];
				var spans = $('type_holder_' + id).getElementsByTagName('span');
				for(var j=0; j<spans.length; j++)
				{
					var pos = spans[j].id.split('_')[1];
					if(this.checked)
					{
						smallMarkerArray[pos].show();
						spans[j].className = spans[j].className.replace(' disabled','');
					}
					else
					{
						smallMarkerArray[pos].hide();
						spans[j].className += ' disabled';
					}
				}								
			}
		}
	}
}


function setShowPoints()
{
	var divs = $('searchHolder').getElementsByTagName('span');
	for(var i=0; i<divs.length; i++)
	{
		if(divs[i].className.match('describe'))
		{						
			divs[i].onmouseover = function(e)
			{						
				markerOver(e);
			}

			divs[i].onmouseout = function(e)
			{	
				markerOut(e);
			}

			divs[i].onclick = function(e)
			{	
				markerClick(e);
			}
		}		
	}
}

function markerOver(e)
{
	var src = Utils.getEventSource(e);	
	src.className += ' over';
	var id = src.id.split('_')[2];
	var pos = src.id.split('_')[1];
	var marker = smallMarkerArray[pos];
	if(marker.isHidden()) return;
	var point = marker.getLatLng();
	var coords = map.fromLatLngToDivPixel(point);		  		  		  
	hideInfo('MAP_infoLabel');
	var dist = shortInfos[marker.num].split('|')[3];
	var info = src.innerHTML + ' (' + dist + ' méterre)';				
	showInfoFromList('MAP_infoLabel', parseInt(coords.y)-18, parseInt(coords.x), info);
}

function markerOut(e)
{
	var src = Utils.getEventSource(e);
	src.className = src.className.replace(' over','');
	hideInfo('MAP_infoLabel');
	$('MAP_infoLabel').style.height = '15px';
	$('MAP_infoLabel').style.background = "url('../css/arrow_down.gif') bottom left no-repeat #555";
}

function markerClick(e)
{		
	var src = Utils.getEventSource(e);	
	var id = src.id.split('_')[2];
	var bkv = (id[0] == 0)? true : false;	
	var pos = src.id.split('_')[1];
	var marker = smallMarkerArray[pos];
	if(marker.isHidden()) return;
	var point = marker.getLatLng();	
	if(bkv) return;
	// címet tartalmazó doboz
	if($('MAP_addressLabel'))
	{
		$('MAP_addressLabel').parentNode.removeChild($('MAP_addressLabel'));
	}	
	var addr = document.createElement('div');
	addr.id= 'MAP_addressLabel';		
	addr.style.color = 'red';
	addr.style.height = '15px';		
	addr.innerHTML = $lang('addressLoading');
	$('MAP_infoLabel').style.height = '30px';
	$('MAP_infoLabel').style.background = "url('../css/arrow_middle.gif') center left no-repeat #555";
	$('MAP_infoLabel').appendChild(addr);		
    var oXML = new FCKXml();
	GDownloadUrl(Utils.ROOT + '/getaddress.php?id=' + id, function(txt){
		addr.style.background = '';		
		addr.style.color = '';
		addr.innerHTML = txt;		
		map.panTo(new GLatLng(point.y, point.x));
    });


}

function showInfoFromList(id, top, left, content)
{	
	var div = $(id);
	var txt = content.split('|');
	div.innerHTML =  content ;
	div.style.top = top + 'px';
	div.style.left =left + 'px';
	div.style.display = 'block';	
}

function typeLoader()
{	 
   try
   {
   var select = $('type');	
   var type = '';
   var select_opts = $('opt');
   //var option_text = that.options[that.selectedIndex].innerHTML;
   var opt_text =  select.options[0].text;
  //var opt_text2 =  select_opts.options[0].text;	
   select.options[0].text = $lang('type.selectLoad');	
   
   var oXML = new FCKXml();
   oXML.LoadUrl(Utils.ROOT + '/gettypes.php?todo=type', function(xml){
	   var cities = xml.SelectNodes('doc/type');
	   if(cities.length)
	   {			    													
			var opt = select.options[0];
			opt.text = opt_text;
			select.options.length = 0;					
			select.options[0] = opt;	
			
			var length = cities.length;						
			for(var i=0; i<cities.length; i++)
			{
				name = cities[i].getElementsByTagName('name')[0].firstChild.nodeValue;					
				city_id = cities[i].getElementsByTagName('id')[0].firstChild.nodeValue;
				select.options[i+1] = new Option(name,city_id);
				select.options[i+1].selected = (city_id == type)?true : false;
			}			
	   }
	   else
	   {
		   var opt = select.options[0];
		   opt.text = opt_text;
		   select.options.length = 0;					
		   select.options[0] = opt;	
	   }		    		   
	});
   }
   catch(e){}
}

var nextPointMarker = null;
function setNextPoint()
{
	try
	{
	$('pointSearch').onclick = function()
	{	
	   if(LAT == '' || LNG == '' || $('type').value == '0') return;
	   var tag = $('tag').value;
	   var type = $('type').value;
	   var descr_div, dist_div, clear_div, holder;
	   $('nextpoint_loader').className = $('nextpoint_loader').className.replace(' hidden','');
	   GDownloadUrl(Utils.ROOT + '/getnextpoint.php?lat=' + LAT + '&lng=' + LNG + '&tag=' + tag + '&type=' + type, function(txt){
		   $('nextpoint_loader').className += ' hidden';
		   var result = eval(txt);
		   $('pointSearchResult').innerHTML = '';
		   if(!result[0].length)
		   {
			   alert('Nincs releváns találat.');
			   return;
		   }
		   var addresses = new Array();
		   var counter = 0;
		   var poly = null;
		   for(var i=0; i<result[0].length; i++)
		   {
				descr_div = document.createElement('div');
				descr_div.className = 'pointItem clickItem';
				descr_div.id = result[0][i].lat + '_' + result[0][i].lng + '_' + counter +  '_descr';
				counter++;
				descr_div.innerHTML = result[0][i].descr;
				addresses.push(result[0][i].a);
				descr_div.onclick = function()
			    {
					var lat = this.id.split('_')[0];
					var lng = this.id.split('_')[1];
					var index = this.id.split('_')[2];
					if(nextPointMarker)
					{
						map.removeOverlay(nextPointMarker);
						nextPointMarker = null;
					}

					icon = new GIcon();  		 		 		  
					icon.image = Utils.ROOT + '/css/marker_nextpoint.gif';	  
					icon.iconSize = new GSize(21,21);
					icon.iconAnchor = new GPoint(10,10);		 				  			 					

					var point = new GLatLng(lat, lng);
					nextPointMarker = new GMarker(point,{icon:icon}); 
					map.setCenter(point, map.getZoom());	
					map.addOverlay(nextPointMarker);					
					//directions = new GDirections(map,$('searchHolder'));
					//directions.clear();
					//directions.load('from: ' + $('address').value + ', to:' + addresses[index],{travelMode:G_TRAVEL_MODE_WALKING});						
			    }

				dist_div = document.createElement('div');
				dist_div.className = 'pointItem';
				dist_div.innerHTML = result[0][i].d + ' m.'
				
				clear_div = document.createElement('div');
				clear_div.className = 'clear';
				
				holder = document.createElement('div');
				holder.className = 'itemHolder';
				holder.appendChild(descr_div);
				holder.appendChild(dist_div);
				holder.appendChild(clear_div);

				$('pointSearchResult').appendChild(holder);
		   }
	   });
	}
	}
	catch(e){}
}
