var fullscreen = false; function doGoFullScreen() { setFullScreen(true); document.getElementById('restorescreen').style.visibility = "visible"; document.getElementById('restorescreen').innerHTML = " "; document.getElementById('gofullscreen').style.visibility = "hidden"; document.getElementById('gofullscreen').innerHTML = ""; document.getElementById('fullscreentitle').style.visibility = "visible"; document.getElementById('menu_area').style.visibility = "hidden"; document.getElementById('todays_message').style.visibility = "hidden"; } function doRestoreScreen() { setFullScreen(false); document.getElementById('restorescreen').style.visibility = "hidden"; document.getElementById('restorescreen').innerHTML = ""; document.getElementById('gofullscreen').style.visibility = "visible"; document.getElementById('gofullscreen').innerHTML = " "; document.getElementById('fullscreentitle').style.visibility = "hidden"; document.getElementById('menu_area').style.visibility = "visible"; document.getElementById('todays_message').style.visibility = "visible"; } function setFullScreen(_f) { fullscreen = _f; myRepaint(); } function switchmapmode(){ var r = document.getElementById('showicons'); var e = document.getElementById('langselect'); if (!r || !e) { return; } var mode; r.disabled = false; e.disabled = false; mode = (r.checked?'icons':'normal') + (e.checked?'-en':''); mmmap.setMapMode(mode); mmmap.setAllImagesUsedButNotSetToEmpty(); mmmap.initPOIArrays(); mmmap.clearCustomDivs(); myRepaint(); } function blocktoggle(type) { var news = document.getElementById("news_content").style.display; var settings = document.getElementById("setting_panel_contents").style.display; var settingsHeight = 40; var newsHeight = document.getElementById("news_content").offsetHeight; var height=158; // not really used? if (type==0) { //news if(newsHeight==1) {return;} if(news=='block') { document.getElementById("news_content").style.display='none'; document.getElementById("optionimg0").src="files/images/up.gif"; } else { document.getElementById("news_content").style.display='block'; document.getElementById("optionimg0").src="files/images/down.gif"; var newsHeight = document.getElementById("news_content").offsetHeight; height = height + newsHeight; } if (settings=='none') { height = height - 40; } } else { // settings if (settings == 'block') { height = height + newsHeight - settingsHeight; document.getElementById("setting_panel_contents").style.display='none'; document.getElementById("optionimg1").src="files/images/up.gif"; } else { height = height + newsHeight; document.getElementById("setting_panel_contents").style.display='block'; document.getElementById("optionimg1").src="files/images/down.gif"; } } searchresult.rePaint(); } function myRepaint() { if (! document.getElementById("mmmap_div") ) { return; } chkWinSize(); var newwidth; var newheight; var newtop; var newleft; if (fullscreen) { newwidth = parseInt(ww); newheight = wh; newtop = - 157; newleft = - 5; } else { newwidth = parseInt(ww) - 250; newheight = parseInt(wh) - 157 - 5 - 5; newtop = 0; // normal top newleft = 0; // normal left } document.getElementById("mmmap_div").style.top = newtop; document.getElementById("mmmap_div").style.left = newleft; if (document.getElementById("right_panel")) { if (fullscreen) { document.getElementById("right_panel").style.visibility = "hidden"; } else { document.getElementById("right_panel").style.visibility = "visible"; } } if (currentmode == "mm") { mmmap.setSize(newwidth,newheight); mmmap.rePaint(); } else { if (currentmode == "hybrid") { mmmap.setSize(newwidth,newheight); mmmap.rePaint(); } document.getElementById("googlemap_div").style.top = newtop; gmap.setSize(newwidth,newheight); } // update div // for Firefox 3 if (document.getElementById("todays_message")) { document.getElementById("todays_message").style.width = ww; document.getElementById("right_panel").style.left = newwidth + 5;; } if (searchresult) { searchresult.rePaint(); } } function updateLang() { //showDiv('searchresult', ''); clearAllPopups(); clearMarks(); clearCurrentRoads(); switchmapmode(); } function setKeyFocusAtMaparea() { // set focus back for keyboard handler (bad workaround for Firefox) document.onkeydown=kh.doKeyDown; document.onkeypress=kh.doKeyDown; document.getElementById('searchfor').blur(); //if (browser != "Konqueror") mymaparea.focus(); } function showTrafficStatus() { var checkbox = document.getElementById("show_traffic_status"); if (checkbox.checked) { var d = new Date; var timestamp = d.getTime(); var pars = "timestamp=" + encodeURIComponent( timestamp ) + "&action=showtraffic"; var url = '/mmmap/rpc.php'; var myAjax = new Ajax.Request(url, {method: 'get', parameters: pars, onSuccess: handleResponse}); } else { MMMapclearLines(); } } function showRoad(roadname) { var d = new Date; var timestamp = d.getTime(); var pars = "roadname=" + encodeURIComponent( roadname ) + "×tamp=" + encodeURIComponent( timestamp ) + "&map=ms22" + "&action=showroad"; var url = '/mmmap/rpc.php'; var myAjax = new Ajax.Request(url, {method: 'get', parameters: pars, onSuccess: handleResponse}); } function showKhet(name) { var d = new Date; var timestamp = d.getTime(); var pars = "khetname=" + encodeURIComponent( name ) + "×tamp=" + encodeURIComponent( timestamp ) + "&map=ms22" + "&action=showkhet"; var url = '/mmmap/rpc.php'; var myAjax = new Ajax.Request(url, {method: 'get', parameters: pars, onSuccess: handleResponse}); } function showTag(tagname) { var mode; if (document.getElementById('graymapfortag') && document.getElementById('graymapfortag').checked) { if (mylang && mylang == "en") { mode = "traffic-en"; } else { mode = "traffic"; } } updateModeSelector(mode); mmmap.setMapMode(mode); mmmap.clearAllOOITags(); mmmap.showOOITagWithShowLevel(tagname,3,0,12,0); } function updateModeSelector(mode) { var selector = document.getElementById('modeselectorselect'); for (var i =0; iLongitude: " + longitude, "?tg=" +searchterm); return(false); } // then lat,long re = new RegExp(/^([0-9]+(\.[0-9]+)?),\s?([0-9]+(\.[0-9]+)?)$/); m = re.exec(searchterm); if( m != null) { // lat,long mmmap.moveTo(m[1], m[3]); if(currentmode != "gmap") mmmap.showPopUpWithLink(latitude,longitude, searchterm , "Latitude: " + latitude + "
Longitude: " + longitude); return(false); } showDiv("searchresult", 'Searching...'); //searchresult.rePaint(); var d = new Date; var timestamp = d.getTime(); var bMark = document.getElementById('bookmark').value; var pars = "search=" + encodeURIComponent( searchterm ) + "×tamp=" + encodeURIComponent( timestamp ) + "&bookmark=" + encodeURIComponent(bMark) + "¢er_lat=" + encodeURIComponent( mycenter_lat ) + "¢er_long=" + encodeURIComponent( mycenter_long ) + "&map=ms22" + "&action=searchxml"; var url = '/mmmap/rpc.php'; var myAjax = new Ajax.Request(url, {method: 'get', parameters: pars, onSuccess: handleResponse}); } function setBookmark(bMark) { document.getElementById('bookmark').value= bMark } function showLocationDetail(id, popup_idx) { showDiv("locationdetails_contents", 'Loading...'); var d = new Date; var timestamp = d.getTime(); var pars = "timestamp=" + encodeURIComponent( timestamp ); var url = '/mmmap/rpc.php'; var pars = "id=" + encodeURIComponent( id ) + "×tamp=" + encodeURIComponent( timestamp ) + "&locale=" + mylang + "&map=ms22" + "&action=showpoidetails"; var callbackFn = function(txt) { handleResponse(txt); //document.getElementById('locationdetails_contents').innerHTML = content mmmap.updatePopupContents(popup_idx); } var myAjax = new Ajax.Request(url, {method: 'get', parameters: pars, onSuccess: callbackFn}); } function showPOI(id) { showPOIWithCenterMovement(id,1); } // dozoom: 1 = zoom, 0 = don't zoom function showPOIWithCenterMovement(id, dozoom) { var d = new Date; var timestamp = d.getTime(); var pars = "timestamp=" + encodeURIComponent( timestamp ); var url = '/mmmap/rpc.php'; var pars = "id=" + encodeURIComponent( id ) + "×tamp=" + encodeURIComponent( timestamp ) + "&map=ms22" + "&dozoom=" + dozoom + "&action=showpoi"; var myAjax = new Ajax.Request(url, {method: 'get', parameters: pars, onSuccess: handleResponse}); } function getPOIs(imgid,dispimg,res) { var d = new Date; var timestamp = d.getTime(); var pars = "dispimg=" + encodeURIComponent(dispimg) + "&imgid=" + encodeURIComponent(imgid) + "&res=" + encodeURIComponent(res) + "&action=getpois" + "&map=ms22"; // + "×tamp=" + encodeURIComponent( timestamp ); var url = '/mmmap/rpc.php'; var myAjax = new Ajax.Request(url, {method: 'get', parameters: pars, onSuccess: handleResponse}); } var search_results_poi; // to keep the latest search results // Destructor function destroy() { if (gmapjsloaded) { GUnload(); } } function showMMMap() { if (! document.getElementById("mmmap_div") ) { window.location="/"; return; } if (currentmode == "mm" ) { return; } currentmode = "mm"; mmmap.currentmode = "mm"; mmmap.showScale(); if (old_MMMAP_notice_left) document.getElementById('MMMAP_notice').style.left = old_MMMAP_notice_left; mmmap.setMapMode(old_MMMAP_mapmode); mmmap.maparea.style.backgroundColor = "#dbdbdb"; mmmap.maparea.style.opacity = 1; mmmap.maparea.style.filter = "alpha(opacity=100)"; mresolution = res_g2m(gmap.gmap_object.getZoom()); if (mresolution > 16384) mresolution = 16384; if (mresolution < 2) mresolution = 2; latitude = gmap.gmap_object.getCenter().lat(); longitude = gmap.gmap_object.getCenter().lng(); mmmap.setCenter(latitude, longitude, mresolution); mmmap.showMap(); gmap.hideMap(); mmmap.setMouseDownHandler(null); mmmap.setMouseMoveHandlerNoDelay(null); mmmap.setMouseUpHandler(null); mmmap.setResolutionChangedHandler(null); mmmap.setMoveToHandler(null); mmmap.showCenterMark(); myRepaint(); } function myLinkToPage() { if (! document.getElementById("mmmap_div") ) { window.status="Erro: Not in map-viewing mode"; return; } var url = "/?"; if (currentmode == "gmap" || currentmode == "hybrid" ) { url = url + "gmap=1&"; if (currentmode == "hybrid" ) { url = url + "hybrid=1&"; } latitude = gmap_object.getCenter().lat(); longitude = gmap_object.getCenter().lng(); resolution = res_g2m(gmap_object.getZoom()); if (resolution > 512) resolution = 512; if (resolution < 8) resolution = 8; } url = url + 'lat='+latitude+'&long='+longitude+'&res='+resolution+'&locale='+mylang; window.location=url; } function createURL() { if (! document.getElementById("mmmap_div") ) { window.status="Erro: Not in map-viewing mode"; return; } var zoom = Math.log(resolution)/Math.log(2); var url = '/createlink?lat='+latitude+'&long='+longitude+'&zoom='+zoom+'&locale='+mylang; window.location=url; /* var showtitle = prompt("Enter your location NAME: "); if (! showtitle || showtitle == null || showtitle == "undefined" ) return; var showdetail = ""; showdetail = prompt("Enter your location DETAIL: "); */ /* var url; if (showtitle) { url = "/?showtitle=" + encodeURIComponent(showtitle) + "&showdetail=" + encodeURIComponent(showdetail) + "&"; } else { url = "/?"; } if (currentmode == "gmap" || currentmode == "hybrid") { url = url + "gmap=1&"; if (currentmode == "hybrid") { url = url + "hybrid=1&"; } latitude = gmap_object.getCenter().lat(); longitude = gmap_object.getCenter().lng(); resolution = res_g2m(gmap_object.getZoom()); if (resolution > 512) resolution = 512; if (resolution < 8) resolution = 8; } url = url + 'lat='+latitude+'&long='+longitude+'&res='+resolution+'&locale='+mylang; window.location=url; */ /* var extraparams = ""; if (showtitle) { extraparams = "&title=" + encodeURIComponent(showtitle) + "&detail=" + encodeURIComponent(showdetail); } linkToPage(extraparams); */ } function showhideclicked() { var checkbox = document.getElementById("showhide"); if (checkbox.checked) { mmmap.setRes(8); setAllSearchResultsPOIVisible(true); showingmark = true; } else { hideMarks();showingmark = false; } } function showGMap() { if (! document.getElementById("mmmap_div") ) { window.location="/?gmap=1"; return; } if (currentmode == "gmap" ) { return; } if ( ! gmapjsloaded ) { //window.location = "/?lat="+latitude+"&long="+longitude+"&res="+resolution+"&gmap=1"; //linkToPage("&gmap=1"); window.location="/?gmap=1"; return; } currentmode = "gmap"; mmmap.currentmode = "gmap"; mmmap.hideMap(); gmap.setCenter(latitude, longitude, resolution); gmap.showMap(); myRepaint(); } var __LONGDOMAP_isMouseDown; var __LONGDOMAP_lastPos = { x: -1, y: -1 }; var __LONGDOMAP_noUpdateSize = { x: -1, y: -1 }; function mymoveto() { mmmap._updateVisibles(); gmap.setCenter(latitude, longitude, resolution); } function mymousedown() { __LONGDOMAP_isMouseDown = true; __LONGDOMAP_lastPos.x = myX; __LONGDOMAP_lastPos.y = myY; __LONGDOMAP_noUpdateSize.x = 0; __LONGDOMAP_noUpdateSize.y = 0; } function mymouseup() { __LONGDOMAP_isMouseDown = false; mmmap._updateVisibles(); gmap.setCenter(latitude, longitude, resolution); } function mymousemove() { if(!__LONGDOMAP_isMouseDown || currentmode != "hybrid") return; var panX = myX - __LONGDOMAP_lastPos.x; var panY = myY - __LONGDOMAP_lastPos.y; var apanX = Math.abs(panX); var apanY = Math.abs(panY); if(mmmap.getZoom() > 12 && __LONGDOMAP_noUpdateSize.x < 5 && __LONGDOMAP_noUpdateSize.y < 5 && apanX < 3 && apanY < 3) { gmap.gmap_object.panBy(new GSize(panX, panY)); __LONGDOMAP_noUpdateSize.x += apanX; __LONGDOMAP_noUpdateSize.y += apanY; } else { mmmap._updateVisibles(); gmap.setCenter(latitude, longitude, resolution); __LONGDOMAP_noUpdateSize.x = 0; __LONGDOMAP_noUpdateSize.y = 0; } __LONGDOMAP_lastPos.x = myX; __LONGDOMAP_lastPos.y = myY; } function mymousewheel() { gmap.setCenter(latitude, longitude, resolution); } var old_MMMAP_notice_left; var old_MMMAP_mapmode = (window.mylang && mylang == "en" ? "icons-en" : "icons"); function showHMap() { if (! document.getElementById("mmmap_div") ) { window.location="/hybrid"; return; } if (currentmode == "hybrid" ) { return; } if ( ! gmapjsloaded ) { //linkToPage("&gmap=1&hybrid=1"); window.location="/hybrid"; return; } old_MMMAP_mapmode = mmmap.getMapMode(); old_MMMAP_notice_left = document.getElementById('MMMAP_notice').style.left; if (document.getElementById('MMMAP_notice')) { document.getElementById('MMMAP_notice').style.left = "80px"; } currentmode = "hybrid"; mmmap.currentmode = "hybrid"; if (window.mylang && mylang == "en") { mmmap.setMapMode("iconstransp-en"); } else { mmmap.setMapMode("iconstransp"); } mmmap.hideScale(); mmmap.setMouseDownHandler(mymousedown); mmmap.setMouseMoveHandlerNoDelay(mymousemove); mmmap.setMouseUpHandler(mymouseup); mmmap.setResolutionChangedHandler(mymousewheel); mmmap.setMoveToHandler(mymoveto); mmmap.showCenterMark(); gmap.div.style.opacity = 0.999; mmmap.maparea.style.backgroundColor = ""; mmmap.maparea.style.opacity = 0.82; mmmap.maparea.style.filter = "alpha(opacity=82)"; gmap.gmap_object.setMapType(G_SATELLITE_MAP); gmap.gmap_div.childNodes[3].style.visibility = "hidden"; gmap.gmap_div.childNodes[4].style.visibility = "hidden"; gmap.gmap_div.childNodes[5].style.visibility = "hidden"; mmmap.setCenter(latitude, longitude, resolution); mmmap.showMap(); gmap.setCenter(latitude, longitude, resolution); gmap.showMap(); document.getElementById("center_mark_gmap").style.visibility = "hidden"; myRepaint(); } function extraRightClickItems() { var zoom = Math.log(resolution)/Math.log(2); var txt = ""; if (window.mylang && mylang == "en") { txt = 'Add a new location here'; txt += '
'; txt += 'Print Map (A4 landscape)'; txt += '
Print Map (Booklet)'; } else { txt = 'ป้อนสถานที่ใหม่ตรงตำแหน่งนี้'; txt += '
'; txt += 'พิมพ์แผนที่ (แบบแผ่น A4)'; txt += '
พิมพ์แผนที่ (แบบพับได้)'; } return txt; }