var autoResizeTimer;
var wheelZoomTimer;
var tabNames = ['cimkeres','utvonal','szolgaltatas'];
var currentTab = '';
var map;
var slider = {value:9};
var zoomLevels = [0.5, 1, 2, 4, 8, 16, 40, 100, 200, 450, 10000];
var ovmWindow = {zoomMU:100, MU:4035, bx:380853, by:381736};
var symbolBubbleData;
var symbolHintData;
var bubbleKH;
var tmpData = [];
var storedPointData = [];
var lastStoredPoint;
var poiBubbleAutoShow;
var linkBubbleAutoShow;
var isLoading = false;

///////////////////////////////////////////////////////////////////////////////
function customOnLoad_doc(event){
	if(!event) event = window.event;
	if(window.deftext) deftext.init();
	if(window.ci) ci.init();
	if(window.PNGfix) PNGfix('wMap', true);
	if(window.disableInteractivity){
		disableInteractivity('map-window');
		disableInteractivity('map-control');
		disableInteractivity('map-buttons');
		disableInteractivity('map-overview');
		}
	if(window.disableIMGInteractivity){
		disableIMGInteractivity('map-fullswitch');
		disableIMGInteractivity('map-cross');
		}
	preload(PATH_RES+'grab.cur');
	preload(PATH_RES+'grabbing.cur');
	initNaviScale();
	refreshTipp();
	switchTab('cimkeres');
	if(!document.getElementById('tab-cimkeres') && document.getElementById('tab-utvonal') && document.getElementById('tab-szolgaltatas')) switchTab('szolgaltatas');
	if(!document.getElementById('tab-cimkeres') && !document.getElementById('tab-utvonal')) switchTab('szolgaltatas');
	if(start_pcsid){
		poi_wnd = 'list';
		poi_listpcsid = parseInt(start_pcsid);
		}
	else poi_FA(true);

	map = new PSMAP(PATH_SERVER+'ps');
	if(map){
		map.mapQuality = MAP_QUALITY;
		map.mapData.windowLimit = psmap_windowlimit;
		map.onMapWindowChanged = psmap_onMapWindowChanged;
		map.onMouseCoordinateChanged = psmap_onMouseCoordinateChanged;
		map.onMapClicked = psmap_onMapClicked;
		map.onMapDblClick = psmap_onMapDblClick;
		map.onMapMouseWheel = psmap_onMapMouseWheel;
		map.onMapLoad = psmap_onMapLoad;
		map.onWindowMove = psmap_onWindowMove;
		map.onMoveZoomMarker = psmap_onMoveZoomMarker;
		map.onConnectionStatusChanged = psmap_onConnectionStatusChanged;

		map.ovm = new PSMAP_OVERVIEW(map, 'map-overview', ovmWindow);
		map.ovm.onVisibleChange = psmapOVM_onVisibleChange;
		map.ovm.show(true);

		map.ruler = new PSMAP_RULER(map, 'map-ruler');

		map.onCimRequestComplete = psmap_onCimRequestComplete;

		mapcontrolChangeLayout(1);
		onResize_doc(event, true);
		setInternalMode(3);
		psmap_onMouseCoordinateChanged();
		routeNewInput(); routeNewInput();

		if(window.startwindow){
			map.mapData.wndMode = startwindow.WM;
			map.mapData.wndParam = startwindow.WP;
			map.reloadMap();
			}
		else if(window.linkdata_cim && linkdata_cim.txt){
			switchTab('cimkeres');
			var objInput = document.getElementById('cimkeres-input');
			if(objInput) objInput.dtSetValue(linkdata_cim.txt);
			cimSearch('cimkeres',linkdata_cim.action);
			}
		else if(window.linkdata_poi && linkdata_poi.piid && !window.linkdata_poiunique){
			poi_wnd = 'list';
			poi_listpcsid = linkdata_poi.pcsid;
			poiKH = 1;
			poiBubbleAutoShow = linkdata_poi.pcsid+'_'+linkdata_poi.piid;
			var z = Array(linkdata_poi.zx, linkdata_poi.zy, linkdata_poi.zz);
			z = procZoomLink(parseInt(linkdata_poi.pieovx), parseInt(linkdata_poi.pieovy), parseFloat(linkdata_poi.pimup), z);
			map.zoom([z[0], z[1]], z[2]);
			switchTab('szolgaltatas');
			}
		else if(window.linkdata_poiunique && linkdata_poi.piid){
			poi_wnd = 'listtk';
			poi_listtkid = linkdata_poi.piid;
			poiBubbleAutoShow = linkdata_poi.pcsid+'_'+linkdata_poi.piid;
			var z = Array(linkdata_poi.zx, linkdata_poi.zy, linkdata_poi.zz);
			z = procZoomLink(parseInt(linkdata_poi.pieovx), parseInt(linkdata_poi.pieovy), parseFloat(linkdata_poi.pimup), z);
			map.zoom([z[0], z[1]], z[2]);
			switchTab('szolgaltatas');
			}
		else if(window.linkdata_route && linkdata_route.length>0){
			var n = ['a','b','c','d','e'];
			for (var i=0; i<linkdata_route.length; i++){
				var newData = (linkdata_route[i].wkrd || linkdata_route[i].title) ?linkdata_route[i] :null;
				if(i>=2 || newData) storedPointData['utvonal-kerescim-'+n[i]] = newData;
				}
			routeUpdateInputs();

			if(window.linkdata_routeparams){
				var RC = linkdata_routeparams.split(',');
				document.getElementById('route-uttip1').checked = RC[0]==1;
				document.getElementById('route-uttip2').checked = RC[0]==2;
				document.getElementById('route-utdij').checked = RC[1]==1;
				document.getElementById('route-utkomp').checked = RC[2]==1;
				routeCalculate();
				}
			else map.reloadMap();
			switchTab('utvonal');
			}
		else if(window.linkdata_point && linkdata_point.eov && linkdata_point.eov.length>0){
			var z = Array(linkdata_point.zx, linkdata_point.zy, linkdata_point.zz);
			z = procZoomLink(parseInt(linkdata_point.eov[0]), parseInt(linkdata_point.eov[1]), parseFloat(linkdata_point.mu), z);
			map.zoom([z[0], z[1]], z[2]);
			linkBubbleAutoShow = {wkrd:linkdata_point.eov, title:linkdata_point.txt};
			}
		else map.reloadMap();
		}
	window.onresize = onResize_doc;

	_uacct = "UA-3062086-1";
	if(window.urchinTracker) urchinTracker();
	}

///////////////////////////////////////////////////////////////////////////////
function onResize_doc(event, force){
	var wMap = document.getElementById('wMap');
	var wFoot = document.getElementById('wFoot');
	if(!wMap && !wFoot) return false;

	var mapHeight = document.documentElement.clientHeight-wMap.offsetTop-wFoot.offsetHeight-2;
	if(mapHeight>0) wMap.style.height = mapHeight+'px';
	var mapWidth = wMap.clientWidth;

	var wFullSwitch = document.getElementById('map-fullswitch');
	if(wFullSwitch) wFullSwitch.style.top = parseInt(mapHeight/2)-5+'px';

	window.clearTimeout(autoResizeTimer);
	if(map){
		if(force) map.resizeMap(mapWidth,mapHeight, false);
		else autoResizeTimer = window.setTimeout("map.resizeMap("+mapWidth+","+mapHeight+", true);", 300);
		}
	alignScrollContents();
	}

///////////////////////////////////////////////////////////////////////////////
function alignScrollContents(){
	var padding = {'cimkeres-scroll':35, 'route-scroll':10, 'szolgaltatas-scroll-fa':25, 'szolgaltatas-scroll-list':40};
	for(var obj in padding){
		var scrollObj = document.getElementById(obj);
		if(!scrollObj || !scrollObj.offsetTop) continue;
		var h = document.documentElement.clientHeight - scrollObj.offsetTop;
		scrollObj.style.height = h-padding[obj]+'px';
		}
	}

///////////////////////////////////////////////////////////////////////////////
function switchFull(state){
	if(map && map.mapData.busy) return;
	var mapwindow = document.getElementById('map-window');
	var wLeftPanel = document.getElementById('wLeftPanel');
	var wMainPanel = document.getElementById('wMainPanel');
	if(state==undefined) state = (wLeftPanel.className=='hidden') ?false :true;
	mapwindow.style.width = '100%';
	mapwindow.style.height = '100%';
	wLeftPanel.className = (state) ?'hidden' :'';
	wMainPanel.className = (state) ?'full' :'';
	onResize_doc(null, true);
	if(map) map.reloadMap();
	}

///////////////////////////////////////////////////////////////////////////////
function switchTab(name){
	if(currentTab==name) return;
	if(currentTab){
		onHideTab(currentTab);
		setClassName('tab-'+currentTab, '');
		setDisplay('tab-'+currentTab+'-content', 'none');
		}
	currentTab = name;
	if(name){
		setClassName('tab-'+name, 'aktiv');
		setDisplay('tab-'+name+'-content', 'block');
		onShowTab(name);
		alignScrollContents();
		}
	}

///////////////////////////////////////////////////////////////////////////////
function onHideTab(name){
	}
function onShowTab(name){
	if(name=='utvonal'){
		if(storedPointData['cimkeres'] && storedPointData['utvonal-kerescim-b'] && !storedPointData['utvonal-kerescim-b'].wkrd){
			storedPointData['utvonal-kerescim-b'] = storedPointData['cimkeres'];
			routeUpdateInputs();
			}
		}

	}



///////////////////////////////////////////////////////////////////////////////
function buildSiteLink(){
	return PATH_SERVER+'?WM='+map.mapData.wndMode+'&WP='+map.mapData.wndParam;
	}
///////////////////////////////////////////////////////////////////////////////
function sendLink(){
	var obj = document.getElementById('mailto-input');
	if(obj) obj.dtSetValue('');
	var obj = document.getElementById('mailfrom-input');
	if(obj) obj.dtSetValue('');
	var obj = document.getElementById('mailcontent');
	if(obj) obj.value = "\n\nLink:\n<"+buildSiteLink()+">\n";
	new overlayWindow('sendlinkWindow', {opacity:80});
	}
///////////////////////////////////////////////////////////////////////////////
function sendMail(){
	var mailto = document.getElementById('mailto-input').dtGetValue();
	var mailfrom = document.getElementById('mailfrom-input').dtGetValue();
	var mailcontent = document.getElementById('mailcontent').value;
	if(!mailto) return;

	var ajax = AjaxRequest(PATH_SERVER+'sendlink/?mailto='+mailto+'&mailfrom='+mailfrom+'&mailcontent='+encodeURIComponent(mailcontent));
	if(ajax.responseText=='OK'){
		alert(t('mail-sended'));
		overlayWindowClose('sendlinkWindow');
		}
	else alert(ajax.responseText);
	}
///////////////////////////////////////////////////////////////////////////////
function showLink(){
	var obj = document.getElementById('showlink-input');
	if(obj) obj.value = buildSiteLink();
	new overlayWindow('showlinkWindow', {opacity:80});
	}

///////////////////////////////////////////////////////////////////////////////
function goPlayer(){
	var poiid = symbolBubbleData.poidata.piid;
	var name = document.getElementById('playername').value;
	var addr = document.getElementById('playeraddr').value;
	var mailaddr = document.getElementById('playermailaddr').value;
	if(!poiid) return;

	var ajax = AjaxRequest(PATH_SERVER+'game/?poiid='+poiid+'&name='+name+'&addr='+addr+'&mailaddr='+mailaddr);
	alert('Köszönjük a részvételt!');
	setDisplay('map-symbol-bubble-jatek', 'none');
	overlayWindowClose('felirWindow');
	}
///////////////////////////////////////////////////////////////////////////////
function setInternalMode(im){
	var autoIM = Array(1,3,1,1);
	if(!map) return;
	if(!im) im = autoIM[map.internalMode];
	map.setInternalMode(im);
	setClassName('map-control-bottom-imbtn', 'im'+im);
//	var obj = document.getElementById('map-control-bottom-imbtn');
//	if(!obj) return;
//	alert(obj.className);
	}


///////////////////////////////////////////////////////////////////////////////
// MapControl functions
///////////////////////////////////////////////////////////////////////////////
function mapcontrolZoom(z){
	var z = slider.value+z;
	if(z<0 || z>=zoomLevels.length) return;
	updateSlider(z);
	map.zoom(null, zoomLevels[z]);
	}

///////////////////////////////////////////////////////////////////////////////
function initNaviScale(){
	slider.objScale = document.getElementById('map-control-scale');
	slider.objScale2 = document.getElementById('map-control-scale2');
	slider.objSlider = document.getElementById('map-control-slider');
	slider.objScale2.onclick = naviScale_OnClick;
	slider.objSlider.onmousedown = naviSlider_OnMouseDown;
	slider.objScale.style.height = zoomLevels.length*10+'px';
	}

///////////////////////////////////////////////////////////////////////////////
function updateSlider(value){
	if(!map || !map.mapData || !map.mapData.MU) return;
	if(typeof(value)=='number') slider.value = value;
	else{
		for(var i=0; i<zoomLevels.length-1; i++) if(zoomLevels[i]*1.05>map.mapData.MU) break;
		slider.value = i;
		}
	slider.objSlider.style.top = slider.value*10-1+'px';
	if(!slider.visible) setDisplay(slider.objSlider, 'block');
	slider.visible = true;
	}

///////////////////////////////////////////////////////////////////////////////
function naviScale_OnClick(event){
	if(!event) event = window.event;
	var m = mouseEvent(event);
	var op = getOffset(slider.objScale2);
	var c = [m.x-op[0]-2, m.y-op[1]-2];
	var z = parseInt(c[1]/10);
	if(z<0 || z>=zoomLevels.length) return;
	updateSlider(z);
	map.zoom(null, zoomLevels[z]);
	return false;
	}
///////////////////////////////////////////////////////////////////////////////
function naviSlider_OnMouseDown(event){
	if(!event) event = window.event;
	slider.objScale2.op = getOffset(slider.objScale2);
	slider._docOnMouseMove = document.onmousemove;
	slider._docOnMouseUp = document.onmouseup;
	document.onmousemove = naviSlider_docOnMouseMove;
	document.onmouseup = naviSlider_docOnMouseUp;
	}
///////////////////////////////////////////////////////////////////////////////
function naviSlider_docOnMouseMove(event){
	if(!event) event = window.event;
	var m = mouseEvent(event);
	var op = slider.objScale2.op;
	var c = [m.x-op[0]-2, m.y-op[1]-2];
	var z = parseInt(c[1]/10);
	if(z<0 || z>=zoomLevels.length) return;
	slider.movedZoom = z;
	updateSlider(z);
	}
///////////////////////////////////////////////////////////////////////////////
function naviSlider_docOnMouseUp(event){
	if(!event) event = window.event;
	document.onmousemove = slider._docOnMouseMove;
	document.onmouseup = slider._docOnMouseUp;
	if(slider.movedZoom<0 || slider.movedZoom>=zoomLevels.length) return;
	updateSlider(slider.movedZoom);
	map.zoom(null, zoomLevels[slider.movedZoom]);
	}

///////////////////////////////////////////////////////////////////////////////
function mapcontrolChangeLayout(layout, reload){
	map.mapData.layout = layout;
	var layout1 = document.getElementById('map-button-layout1');
	var layout2 = document.getElementById('map-button-layout2');
	layout1.className = 'map-button-'+ ((map.mapData.layout==1) ?'aktiv' :'normal');
	layout2.className = 'map-button-'+ ((map.mapData.layout==2) ?'aktiv' :'normal');
	if(reload) map.reloadMap();
	}

function mapLoading(state){
	var obj = document.getElementById('map-loading');
	if(!obj) return;
	obj.style.display = 'none';
	obj.innerHTML = '';
	if(state){
		obj.innerHTML = '<div id="map-loading-inner"><img src="'+PATH_RES+'loading.gif" alt="" /></div>';
		obj.style.display = 'block';
		}
	isLoading = state;
	}


///////////////////////////////////////////////////////////////////////////////
// PSMAP Events
///////////////////////////////////////////////////////////////////////////////
function psmap_onConnectionStatusChanged(status){
	if(status==2) mapLoading(true);
	else if(status==4) mapLoading();
	}
///////////////////////////////////////////////////////////////////////////////
function psmap_onInternalModeChanged(mode, oldmode){
//	var modeObj = ['','im-zoom','','im-move'];
//	$('#'+modeObj[oldmode]).removeClass('activ');
//	$('#'+modeObj[mode]).addClass('activ');
	}
///////////////////////////////////////////////////////////////////////////////
function psmap_onMoveZoomMarker(visible, skrd, d){
	setDisplay('map-zoommarker', (visible)?'block':'none');
	if(!visible) return;
	var skrd = [skrd[0], skrd[1]];
	if(d.x<0) skrd[0]+=d.x;
	if(d.y<0) skrd[1]+=d.y;
	d = [Math.abs(d.x), Math.abs(d.y)];
	if(d[0]==0) d[0] = 1; if(d[1]==0) d[1] = 1;
	var objZoommarker = document.getElementById('map-zoommarker');
	objZoommarker.style.left = skrd[0]+'px';
	objZoommarker.style.top = skrd[1]+'px';
	objZoommarker.style.width = d[0]-1+'px';
	objZoommarker.style.height = d[1]-1+'px'; 
	}
///////////////////////////////////////////////////////////////////////////////
function psmap_onMapWindowChanged(){
//	if(psmap.mapwindow.offsetWidth/psmap.mapwindow.offsetHeight > psmap.windowLimit.dx/psmap.windowLimit.dy) psmap.isTotalWindow = (parseInt(maxy-miny)==psmap.windowLimit.dy*2);
//	else psmap.isTotalWindow = (parseInt(maxx-minx)==psmap.windowLimit.dx*2);
	if(lastStoredPoint && lastStoredPoint.symboldata && !lastStoredPoint.wkrd){
		lastStoredPoint.symboldata.wkrd = [map.mapData.LIMd.cx, map.mapData.LIMd.cy];
		lastStoredPoint = null;
		}
	updateSlider();
	map.ovm.updateMarkers();
	map.ruler.update();
	if(linkBubbleAutoShow){showSymbolBubble(linkBubbleAutoShow); linkBubbleAutoShow=null; }

	if(poiTerkep.pcsid) poi_terkeppoi(poiTerkep.pcsid, true);
	if(bubbleKH){
		poiKH = 1;
		poi_KERES(bubbleKH.str,0);
		bubbleKH = null;
		}
	else if(poi_wnd=='list') poi_LIST(poi_listpcsid,0,true);
	else if(poi_wnd=='listtk') poi_LISTTK(poi_listtkid);
	else if(poi_wnd=='keres') poi_KERES('',0,true,true);
	}

///////////////////////////////////////////////////////////////////////////////
function psmap_onMouseCoordinateChanged(cp){
	var obj = document.getElementById('map-overview-coord');
	if(!obj) return;
	var wgs;
	if(cp && cp.wkrd) wgs = EOVWGS(cp.wkrd[0], cp.wkrd[1]);
	if(wgs) obj.value = WGSDblToString(wgs[1]) +', '+ WGSDblToString(wgs[0]);
	else obj.value = t('ovm-gpskoordinata');
	}

///////////////////////////////////////////////////////////////////////////////
function psmap_onMapClicked(event, skrd){
	showSymbolBubble({skrd:skrd, title:t('bubble-geokod')});
	}

///////////////////////////////////////////////////////////////////////////////
function psmap_onMapDblClick(){
	var z = slider.value-1;
	if(z<0) return;
	updateSlider(z);
	map.zoom(map.CP.wkrd, zoomLevels[z]);
	}

///////////////////////////////////////////////////////////////////////////////
function psmap_onMapMouseWheel(delta){
	var z = slider.value-delta;
	if(z<0 || z>=zoomLevels.length) return;
	window.clearTimeout(wheelZoomTimer);
	updateSlider(z);
	var wkrdCP = this.screenToWorld(map.CP.skrd);
	wkrdCP[0] += (map.mapData.size.cx-map.CP.skrd[0])*zoomLevels[z];
	wkrdCP[1] -= (map.mapData.size.cy-map.CP.skrd[1])*zoomLevels[z];
	wheelZoomTimer = window.setTimeout(function(){map.zoom(wkrdCP, zoomLevels[z]);}, 400);
	}

///////////////////////////////////////////////////////////////////////////////
function psmap_onMapLoad(state){
	if(state==1){//begin
		hideSymbolBubble();
		}
	else if(state==2){//end
		map.alignSymbols();
		showSymbolBubble();
		}
	}

///////////////////////////////////////////////////////////////////////////////
function psmap_onWindowMove(x,y){
	if(symbolBubbleData && symbolBubbleData.visible){
		symbolBubbleData.dkrd = [x,y];
		showSymbolBubble();
		}
	}

///////////////////////////////////////////////////////////////////////////////
function psmapOVM_onVisibleChange(){
	var objSwitch = document.getElementById('map-overview-switch');
	objSwitch.className = objSwitch.id+ ((map.ovm.visible) ?'close' :'open');
	}





///////////////////////////////////////////////////////////////////////////////
// Symbols
///////////////////////////////////////////////////////////////////////////////
function onFlagMouseOver(type, id){
	data = map.symbolGet(type, id);
	if(data) showSymbolHint(data);
	}
function onFlagMouseOut(type, id){
	hideSymbolHint();
	}
function onFlagClick(type, id){
	onFlagMouseOut();
	data = map.symbolGet(type, id);
	if(data) showSymbolBubble(data);
	}


///////////////////////////////////////////////////////////////////////////////
function showSymbolHint(data){
	if(!data || !data.skrd || !data.title || data.nohint) return;
	data.objSymbol = document.getElementById('symbol-'+data.type+'-'+data.id);
	if(data.objSymbol) data.objSymbol.style.width = '1000px';
	data.objTitle = document.getElementById('symbol-'+data.type+'-'+data.id+'-title');
	if(data.objTitle){
		data.objTitle.style.width = 'auto';
		data.objTitle.style.display = 'block';
		}
	symbolHintData = data;
	}
function hideSymbolHint(data){
	if(!data) data = symbolHintData;
	if(data && data.objSymbol) data.objSymbol.style.width = 'auto';
	if(data && data.objTitle) data.objTitle.style.display = 'none';
	}

///////////////////////////////////////////////////////////////////////////////
function showSymbolBubble(data){
	if(data) hideSymbolBubble(true);
	if(!data) data = symbolBubbleData;
	var objBubble = document.getElementById('map-symbol-bubble');
	if(!data || !objBubble) return;
	setBubbleLink();

	if(data.skrd && !data.wkrd) data.wkrd = map.screenToWorld(data.skrd);
	if(data.wkrd){
		data.skrd = map.worldToScreen(data.wkrd)
		data.wgs = EOVWGS(data.wkrd[0], data.wkrd[1]);
		if(data.wgs) data.wgstxt = WGSDblToString(data.wgs[1]) +', '+ WGSDblToString(data.wgs[0]);
		}
	if(!data.dkrd) data.dkrd = [0,0];
	objBubble.style.left = parseInt(data.skrd[0]+data.dkrd[0])+'px';
	objBubble.style.top = parseInt(data.skrd[1]+data.dkrd[1])+'px';

	var obj = document.getElementById('map-symbol-bubble-flagtext');
	if(obj) obj.innerHTML = (data.flagtext) ?data.flagtext :'&nbsp;';
	var obj = document.getElementById('map-symbol-bubble-title');
	if(obj) obj.innerHTML = (data.title) ?data.title :'&nbsp;';
	var obj = document.getElementById('map-symbol-bubble-addr');
	if(obj) obj.innerHTML = (data.addr) ?data.addr :((data.wgstxt) ?data.wgstxt :'&nbsp;');
	var obj = document.getElementById('map-symbol-bubble-flag');
	if(obj && data.poidata && data.poidata.piid) obj.className = 'flag flag-'+data.poidata.pcssymbol;
	var obj = document.getElementById('map-symbol-bubble-info');
	if(obj && data.poidata && data.poidata.piid){
		poiBubbleAutoShow = data.poidata.pcsid+'_'+data.poidata.piid;
		obj.href = PATH_SERVER+LANG+'/poi/itemhtml/?piid='+data.poidata.piid;
		setDisplay(obj, 'inline');
		}
	else setDisplay(obj, 'none');

	map.symbolShow(data, false);
	setDisplay('map-symbol-bubble-utvonal', 'none');
	setDisplay('map-symbol-bubble-keresesakozelben', 'none');
	setDisplay('map-symbol-bubble-jatek', 'none');
	if(data.poidata && data.poidata.piid in poiwin) setDisplay('map-symbol-bubble-jatek', 'block');
	setDisplay('map-symbol-bubble', 'block');
	data.visible = true;
	symbolBubbleData = data;
	}

function hideSymbolBubble(clear){
	if(!symbolBubbleData) return;
	setDisplay('map-symbol-bubble', 'none');
	symbolBubbleData.visible = false;
	map.symbolShow(symbolBubbleData, true);
	if(clear){
		symbolBubbleData = null;
		poiBubbleAutoShow = null;
		}
	}

function symbolBubbleKH(){
	var objInput = document.getElementById('map-symbol-bubble-keresesakozelben-input');
	if(!objInput) return;
	var str = objInput.dtGetValue();
	objInput.dtSetValue('');
	if(str.length<=0) return;
	bubbleKH = {str:str};
	map.zoom(symbolBubbleData.wkrd, 25);
	hideSymbolBubble(true);
	}

function symbolBubbleUtvonal(){
	var objInput = document.getElementById('map-symbol-bubble-utvonal-input');
	if(!objInput) return;
	var str = objInput.dtGetValue();
	if(str.length<=0) return;
	var n = ['a','b','c','d','e'];

	routeClear();
	if(symbolBubbleData.utvonal=='innen'){
		storedPointData['utvonal-kerescim-a'] = Object.extend({}, symbolBubbleData);
		var i = routeGetFreeInput(true);
		document.getElementById('utvonal-kerescim-'+n[i]+'-input').dtSetValue(str);
		}
	else if(symbolBubbleData.utvonal=='ide'){
		document.getElementById('utvonal-kerescim-a-input').dtSetValue(str);
		var i = routeGetFreeInput(true);
		if(i==0) i++;
		storedPointData['utvonal-kerescim-'+n[i]] = Object.extend({}, symbolBubbleData);
		}
	routeUpdateInputs();
	hideSymbolBubble(true);
	objInput.dtSetValue('',false);
	routeCalculate();
	}

function symbolBubbleUtvonalLink(){
	var objInput = document.getElementById('map-symbol-bubble-utvonal-input');
	if(!objInput) return;
	var str = objInput.dtGetValue();
	if(str.length<=0) return;

	if(symbolBubbleData.poidata){
		var txt = symbolBubbleData.poidata.piname;
		var cim = '';
		if(symbolBubbleData.poidata.pizip) cim += symbolBubbleData.poidata.pizip+' ';
		if(symbolBubbleData.poidata.pisettl) cim += symbolBubbleData.poidata.pisettl+', ';
		if(symbolBubbleData.poidata.piaddr) cim += symbolBubbleData.poidata.piaddr;
		if(cim) txt += ' ('+cim+')';
		}
	else txt = symbolBubbleData.title;

	if(symbolBubbleData.utvonal=='innen')
		var url = "http://www.holvan.hu/link/route?pstr[0]=1,"+symbolBubbleData.wkrd[0]+","+symbolBubbleData.wkrd[1]+"&txt[0]="+txt+"&txt[1]="+str+"&RC=2,0,1";
	else if(symbolBubbleData.utvonal=='ide')
		var url = "http://www.holvan.hu/link/route?txt[0]="+str+"&pstr[1]=1,"+symbolBubbleData.wkrd[0]+","+symbolBubbleData.wkrd[1]+"&txt[1]="+txt+"&RC=2,0,1";

//	window.location = url;
	window.open (url, 'holvanhu');
	}


function symbolBubbleZoom(){
	var mu = (symbolBubbleData.poidata) ?symbolBubbleData.poidata.pimup :1.6;
	if(map.mapData.MU<(mu*0.95)) mu = map.mapData.MU*0.5;
	map.zoom(symbolBubbleData.wkrd, mu);
//	hideSymbolBubble(true);
	}

function refreshTipp(step){
	setDisplay('holvan-tipp-container', 'block');
	var obj = document.getElementById('holvan-tipp');
	if(!obj || !window.getTIPP) return;
	obj.innerHTML = getTIPP(step);
	}

function procZoomLink(eovx, eovy, mu, z){
	var wkrd = [eovx, eovy];
	if(!z) return;
	if(z[2]){
		map.mapData.MU = mu;
		updateSlider();
		if(slider.value+z[2]>=0 || slider.value+z[2]<zoomLevels.length) updateSlider(slider.value+z[2]);
		mu = zoomLevels[slider.value];
		}
	if(z[0] || z[1]){
		var d = [map.mapData.size.cx*mu*z[0]*0.66, map.mapData.size.cy*mu*z[1]*0.66];
		eovx = eovx+d[0];
		eovy = eovy+d[1];
		}
	return [eovx, eovy, mu];
	}

function setBubbleLink(dest){
	if(dest=='innen'){
		document.getElementById('bubble-utvonal-innen').style.fontWeight = 'bold';
		document.getElementById('bubble-utvonal-ide').style.fontWeight = 'normal';
		document.getElementById('map-symbol-bubble-utvonal-input').value = t('erkezes');
		}
	else if(dest=='ide'){
		document.getElementById('bubble-utvonal-innen').style.fontWeight = 'normal';
		document.getElementById('bubble-utvonal-ide').style.fontWeight = 'bold';
		document.getElementById('map-symbol-bubble-utvonal-input').value =  t('indulas');
		}
	else{
		document.getElementById('bubble-utvonal-innen').style.fontWeight = 'normal';
		document.getElementById('bubble-utvonal-ide').style.fontWeight = 'normal';
		}
	}
