function onBodyLoad(){ window.onresize= winResize; winResize(); if (settings['xinha_enabled']==1){ xinha_plugins = [ 'CharacterMap', 'ContextMenu', 'ListType', 'SpellChecker', 'Stylist', 'SuperClean', 'TableOperations' ]; xinha_editors = [ 'gp_txt_sb_settings_welcome_html', 'gp_txt_sb_locedit_infowindow' ]; divOn('gp_div_sb_locedit_infowindow'); divOn('gp_div_sb_settings_welcomehtml'); xinha_init(); t=setTimeout("onXinhaLoad(xinha_editors,doneLoading())",1000);} else { doneLoading();}
}
function doneLoading(){ if (!templateMode){ pullFromPHP(); initMap();} else { initJS();}
}
function initJS(){ shiftMode = false; ctrlMode = false; altMode = false; newapi=true; mainUID = 0; infoUID = 0; editUID = 0; markers = new Array(); polylines = new Array(); icons = new Array(); addmarker = false; midmarkers=new Array(); endmarker=false; editpolys=false; regrabPoly=false; cachePoly=false; selected_location=false; selected_overlay=false; clicked_overlay=false; editpath=new Array(); editmovr=new Array(); hiddenEditMarker = false; regionmoline=false; last_center=false; last_bounds=false; last_zoom=false; cacheBounds=false; grabBounds=false; grabScale=1.0; cacheScale=1.5; view_history = []; zoomThrough=false; aplisten=false; infoOpened = false; sideheader_on=false; sidefooter_on=false; currentcategory=0; mistatus=false; clearOverlay(); if (!templateMode){ if (userdata['session_logged_in'] == 1){ isLoggedIn = true;} else { isLoggedIn = false;}
if (userdata['user_level'] == 1){ isAdmin=true;} else { isAdmin=false;}
if (isset(settings['mysql_41_geo'])){ mge_enabled = settings['mysql_41_geo'];} else { mge_enabled = 1;}
if (isset(settings['use_subqueries'])){ use_subqueries = settings['use_subqueries'];} else { use_subqueries = 1;}
if (isset(settings['big_selects'])){ big_selects = settings['big_selects'];} else { big_selects = 0;}
queryOptions = "geo="+mge_enabled+"&subq="+use_subqueries+"&bigsel="+big_selects; if (!isset(profile['default_lng'])){ profile['default_lng']="";}
if (!isset(profile['default_lat'])){ profile['default_lat']="";}
if (!isset(profile['default_zoom'])){ profile['default_zoom']="";}
if (!isset(profile['default_region'])){ profile['default_region']="";}
}
divOn("gp_div_tb"); divOn("gp_div_sb"); divOff("gp_div_bb"); divHideChildrenByClass(document.getElementById("gp_div_tb"),"gp_topbar","div"); divHideChildrenByClass(document.getElementById("gp_div_sb"),"gp_sidebar","div"); divHideChildrenByClass(document.getElementById("gp_div_bb"),"gp_bottombar","div"); winResize(); currentmode = GP_VIEW_MODE; currentsubmode = new (Array); currentsubmode[GP_VIEW_MODE]=GP_VIEW_HELP_MODE; currentsubmode[GP_EDIT_MODE]=GP_EDIT_POINT_MODE; mainMode(GP_VIEW_MODE); if (templateMode){ addOption('Template Mode - Invalid Region',0,document.gp_frm_sb_locedit.gp_sel_sb_locedit_regionselect); addOption('Template Mode - Valid Region',1,document.gp_frm_sb_locedit.gp_sel_sb_locedit_regionselect);}
}
function initMap(){ decho ("Entering initMap"); if (!isset(GMap)) { maploaded=false;} else { if (GBrowserIsCompatible()) { var mapload='map = new '+gmaptype+'(document.getElementById("gp_div_map"))'; eval(mapload); map.addControl(new GLargeMapControl()); map.addControl(new GMapTypeControl()); map.addControl(new GScaleControl());
map.addControl(new GOverviewMapControl()); map.addMapType(G_PHYSICAL_MAP); 








maploaded=true;}
}
if (no_map==1){ maploaded=false;}
geocoder = new GClientGeocoder(); var pos = new GControlPosition(G_ANCHOR_BOTTOM_RIGHT, new GSize(0,0)); pos.apply(document.getElementById("gp_div_edit_movr_segment")); map.getContainer().appendChild(document.getElementById("gp_div_edit_movr_segment")); divOff("gp_div_edit_movr_segment"); var pos = new GControlPosition(G_ANCHOR_BOTTOM_RIGHT, new GSize(0,0)); pos.apply(document.getElementById("gp_div_line_import")); map.getContainer().appendChild(document.getElementById("gp_div_line_import")); addOption (gp_lang['gp_format'],'gp',document.gp_frm_line_import.gp_sel_line_import); addOption (gp_lang['chtigps_format'],'chtigps',document.gp_frm_line_import.gp_sel_line_import); divOff("gp_div_line_import"); document.getElementById("gp_div_map").appendChild(document.getElementById("gp_div_loading")); var pos = new GControlPosition(G_ANCHOR_BOTTOM_LEFT, new GSize((map.getSize().width/2)-100,map.getSize().height/2)); pos.apply(document.getElementById("gp_div_loading")); document.getElementById("gp_div_loading").style.visibility="hidden"; loadingPane('init',gp_lang['loading_initialising']); if (maploaded){ map.setCenter(new GLatLng(0,0),0); if (last_bounds==false){ last_bounds=map.getBounds();}
if (last_center==false){ last_center = map.getCenter();}
if (last_zoom == false){ last_zoom=map.getZoom();}
tooltip = document.getElementById("gp_div_tooltip"); map.getPane(G_MAP_FLOAT_PANE).appendChild(tooltip); tooltip.align="left"; tooltip.style.visibility="hidden"; for (var i in iconArray){ for (var icontype in iconArray[i]){ for (var iconeditstatus in iconArray[i][icontype]){ for (var iconkey in iconArray[i][icontype][iconeditstatus]){ var icon = new GIcon(); icon.image = 'images/gp/icons/'+iconArray[i][icontype][iconeditstatus]['image']; icon.shadow = 'images/gp/icons/'+iconArray[i][icontype][iconeditstatus]['shadow']; if (iconArray[i][icontype][iconeditstatus].label != ''){ icon.label = {"url":'images/gp/icons/labels/'+iconArray[i][icontype][iconeditstatus].label, "anchor":new GPoint(0,0), "size":new GSize(21,28)};}
icon.transparent = 'images/gp/icons/'+iconArray[i][icontype][iconeditstatus]['transparent']; icon.imageMap = eval('['+iconArray[i][icontype][iconeditstatus]['imagemap']+']'); icon.iconSize = eval('new GSize('+iconArray[i][icontype][iconeditstatus]['iconSize']+')'); icon.shadowSize = eval('new GSize('+iconArray[i][icontype][iconeditstatus]['shadowSize']+')'); icon.iconAnchor = eval('new GPoint('+iconArray[i][icontype][iconeditstatus]['iconAnchor']+')'); icon.infoWindowAnchor = eval('new GPoint('+iconArray[i][icontype][iconeditstatus]['infoWindowAnchor']+')'); icon.infoShadowAnchor = eval('new GPoint('+iconArray[i][icontype][iconeditstatus]['infoShadowAnchor']+')'); iconArray[i][icontype][iconeditstatus].icon = icon;}
}
}
}
for (var i in tmpIconArray){ var tempIcon = new GIcon(); tempIcon.image="images/gp/icons/"+tmpIconArray[i]['start']['image']; tempIcon.shadow = "images/gp/icons/"+tmpIconArray[i]['start']['shadow']; tempIcon.transparent = "images/gp/icons/"+tmpIconArray[i]['start']['transparent']; tempIcon.imageMap = eval('['+tmpIconArray[i]['start']['imagemap']+']'); tempIcon.iconSize = eval('new GSize('+tmpIconArray[i]['start']['iconSize']+')'); tempIcon.shadowSize = eval('new GSize('+tmpIconArray[i]['start']['shadowSize']+')'); tempIcon.iconAnchor = eval('new GPoint('+tmpIconArray[i]['start']['iconAnchor']+')'); tempIcon.infoWindowAnchor = eval('new GPoint('+tmpIconArray[i]['start']['infoWindowAnchor']+')'); tempIcon.infoShadowAnchor = eval('new GPoint('+tmpIconArray[i]['start']['infoShadowAnchor']+')'); tmpIconArray[i]['start'] = tempIcon; var tempIcon = new GIcon(); tempIcon.image="images/gp/icons/"+tmpIconArray[i]['mid']['image']; tempIcon.shadow = "images/gp/icons/"+tmpIconArray[i]['mid']['shadow']; tempIcon.transparent = "images/gp/icons/"+tmpIconArray[i]['mid']['transparent']; tempIcon.imageMap = eval('['+tmpIconArray[i]['mid']['imagemap']+']'); tempIcon.iconSize = eval('new GSize('+tmpIconArray[i]['mid']['iconSize']+')'); tempIcon.shadowSize = eval('new GSize('+tmpIconArray[i]['mid']['shadowSize']+')'); tempIcon.iconAnchor = eval('new GPoint('+tmpIconArray[i]['mid']['iconAnchor']+')'); tempIcon.infoWindowAnchor = eval('new GPoint('+tmpIconArray[i]['mid']['infoWindowAnchor']+')'); tempIcon.infoShadowAnchor = eval('new GPoint('+tmpIconArray[i]['mid']['infoShadowAnchor']+')'); tmpIconArray[i]['mid'] = tempIcon; var tempIcon = new GIcon(); tempIcon.image="images/gp/icons/"+tmpIconArray[i]['end']['image']; tempIcon.shadow = "images/gp/icons/"+tmpIconArray[i]['end']['shadow']; tempIcon.transparent = "images/gp/icons/"+tmpIconArray[i]['end']['transparent']; tempIcon.imageMap = eval('['+tmpIconArray[i]['end']['imagemap']+']'); tempIcon.iconSize = eval('new GSize('+tmpIconArray[i]['end']['iconSize']+')'); tempIcon.shadowSize = eval('new GSize('+tmpIconArray[i]['end']['shadowSize']+')'); tempIcon.iconAnchor = eval('new GPoint('+tmpIconArray[i]['end']['iconAnchor']+')'); tempIcon.infoWindowAnchor = eval('new GPoint('+tmpIconArray[i]['end']['infoWindowAnchor']+')'); tempIcon.infoShadowAnchor = eval('new GPoint('+tmpIconArray[i]['end']['infoShadowAnchor']+')'); tmpIconArray[i]['end'] = tempIcon;}
if (settings['showhelp_status'] == 1){ currentsubmode[GP_VIEW_MODE] = GP_VIEW_HELP_MODE;} else { currentsubmode[GP_VIEW_MODE] = GP_VIEW_POINTLIST_MODE;}
GEvent.addListener(map, "click", function(overlay, point) { if (overlay) { if (currentmode == GP_VIEW_MODE){ clicked_overlay=overlay; if (!overlay.temp){ if (isset(overlay.name)){ infowindowMain(overlay.markerindex);}
}
} else if (currentmode == GP_EDIT_MODE){ if (overlay.temp){ clickTempMarker(overlay);} else if (overlay.name){ clickLocMarker(overlay);}
} else if (currentmode == GP_SETTINGS_MODE){ infowindowMain(overlay.markerindex);}
} else if ((point)) { if (currentmode == GP_EDIT_MODE){ clickBackground(point);}
}
}); GEvent.addListener(map, "infowindowopen", function() { infoOpened = true;}); GEvent.addListener(map, "infowindowclose", function() { infoOpened = false;}); GEvent.addListener(map, "move", function () { if (regionmoline.length){ for (var i=0;i<regionmoline.length;i++){ map.removeOverlay(regionmoline[i]);}
}
tooltip.style.visibility="hidden"
}); GEvent.addListener(map, "moveend", function () { var center = map.getCenter(); bounds = map.getBounds(); var zoom = map.getZoom(); var tc=new Array(); if (!(center.lng() == last_center.lng() && center.lat() == last_center.lat() && zoom == last_zoom)){ if (!infoOpened){ var tmpstr=gp_lang['move_history']+': '; if (view_history.length > 10){ view_history.shift();}
if (zoomThrough != false){ var tag = zoomThrough; zoomThrough = false;} else { if (view_history.length==0){ var tag = "Algus";} else { var tag = "liigu";}
}
view_history[view_history.length]=new Array(center.lng(),center.lat(),zoom,tag); for (var j=0; j < view_history.length-1; j++){ if (j){ tmpstr += " -> ";}
tmpstr += '<a href="javascript:goHistory('+j+');">'+view_history[j][3]+'</a>';}
tmpstr += ''; document.getElementById("gp_div_ftr_history").innerHTML = tmpstr;} else { }
document.getElementById("gp_div_ftr_coords").innerHTML = sprintf(gp_lang['map_center_output'],['<a  target="_blank" href="?action=seek&seekmode=coords&lng='+rndVar(center.lng())+'&lat='+rndVar(center.lat())+'&zoom='+zoom+'">','</a>',rndVar(center.lng()),rndVar(center.lat()),zoom]); if (!last_bounds.contains(map.getCenter()) || zoom != last_zoom ){ if( infoOpened == true ) { map.closeInfoWindow(); getVisibleMarkers();} else { getVisibleMarkers();}
}
}
last_center=center; last_zoom=zoom;}); if (no_map == 1){ if (isAdmin){ mainMode(GP_SETTINGS_MODE);}
} else { mainMode(GP_VIEW_MODE);}
var default_view_set=0; var default_region_set=0; if (seek_id == 0){ if (!isempty(profile['default_lat']) && !isempty(profile['default_lng']) && !isempty(profile['default_zoom'])){ default_view_set=1; seek_lat=+profile['default_lat']; seek_lng=+profile['default_lng']; seek_zoom=+profile['default_zoom'];} else if (!isempty(settings['default_lat']) && !isempty(settings['default_lng']) && !isempty(settings['default_zoom'])){ default_view_set=1; seek_lat=+settings['default_lat']; seek_lng=+settings['default_lng']; seek_zoom=+settings['default_zoom'];}
if (!isempty(profile['default_region'])){ default_region_set=1; seek_region=+profile['default_region'];} else if (!isempty(settings['default_region'])){ default_region_set=1; seek_region=+settings['default_region'];}
} else { if (!isempty(seek_lat) && !isempty(seek_lng) && !isempty(seek_zoom)){ default_view_set=1; seek_lat=+seek_lat; seek_lng=+seek_lng; seek_zoom=+seek_zoom;}
if (!isempty(seek_region)){ default_region_set=1;}
}
if (isempty(seek_region)){ seek_region=0;}
if (default_view_set==1){ map.setCenter(new GLatLng(seek_lat,seek_lng),seek_zoom); var regionmode=2;} else { var regionmode=1;}
if (seek_id != 0){ getRegions(0,2,document.gp_frm_hdr_regionselect.gp_sel_hdr_regionselect); getVisibleMarkers();} else { getRegions(seek_region,regionmode,document.gp_frm_hdr_regionselect.gp_sel_hdr_regionselect);}
getCategories(0,2,1,document.gp_frm_hdr_categoryselect.gp_sel_hdr_categoryselect); getCategories(0,0,0,document.gp_frm_sb_locedit.gp_sel_sb_locedit_categoryselect); decho ("Exiting initMap");} else { if (isAdmin){ window.location="gp_admin.php";} else { userMessage (gp_lang['incorrect_config']);}
}
document.getElementById('gp_div_sb_viewmode_welcome_out').innerHTML = settings['welcome_html']; loadingPane('init',""); }
function createMarker(i,point,icon, data){ markers[i] = new GMarker(point, {icon: icon,draggable: false});}
function getRegions(target, replot, selbox, postexeccommand){ var noreplot=0; if (replot==2){ noreplot=1; replot=1;}
if (templateMode){ if (selbox.name=="gp_sel_sb_locedit_regionselect"){ divHideChildrenByClass(document.getElementById("gp_div_sb_locedit"),"gp_sb_locedit","div"); divOn("gp_div_sb_locedit_reg"); if (selbox.value == 0){ divOn("gp_div_sb_locedit_noregperm"); divOff("gp_div_bb_editmode"); winResize();} else { divOn("gp_div_sb_locedit_name"); divOn("gp_div_sb_locedit_geomtype"); divOn("gp_div_bb_editmode"); winResize();}
}
} else { var request = GXmlHttp.create(); var urlstr="gp_read.php?action=regions&"+queryOptions+"&regid="+target; decho ('Sending AJAX request for region data <a target="_blank" href="'+urlstr+'">(link)</a>'); request.open('GET', urlstr , true); request.onreadystatechange = function () { var zoom=map.getZoom(); if (request.readyState == 4) { decho ("Received AJAX reply with region data"); var xmlDoc = request.responseXML; var regions = xmlDoc.documentElement.getElementsByTagName("region"); var regheading = xmlDoc.documentElement.getElementsByTagName("heading"); clearOption(selbox); selbox.thisreplot=replot; selbox.thispostexeccommand=postexeccommand; addOption(unescape(regheading[0].getAttribute("name")),regheading[0].getAttribute("region_id"),selbox); if (regheading[0].getAttribute("parent_id")!=0){ addOption(".. ("+gp_lang['go_up']+")",regheading[0].getAttribute("parent_id"),selbox);}
if (regions[0].getAttribute("id") != regheading[0].getAttribute("region_id")){ for (var i = 0; i < regions.length; i++) { addOption(unescape(regions[i].getAttribute("name")+" ("+regions[i].getAttribute("childcount")+")"),regions[i].getAttribute("id"),selbox);}
}
if (replot == 1 && noreplot==0){ last_zoom=zoom; zoom=regheading[0].getAttribute("zoom"); if (seek_id != 0){ } else { map.setCenter(new GLatLng(regheading[0].getAttribute("lat"),regheading[0].getAttribute("lng")),(+zoom));}
} else { if (selbox.name=="gp_sel_sb_locedit_regionselect"){ divHideChildrenByClass(document.getElementById("gp_div_sb_locedit"),"gp_sb_locedit","div"); divOn("gp_div_sb_locedit_reg"); if (regheading[0].getAttribute('admin')!="1"){ divOn("gp_div_sb_locedit_noregperm"); divOff("gp_div_bb_editmode"); winResize(); winResize();} else { divOn("gp_div_sb_locedit_name"); divOn("gp_div_sb_locedit_geomtype"); divOn("gp_div_bb_editmode"); divOn("gp_div_sb_locedit_infowindow"); divOn("gp_div_sb_locedit_category"); if (templateMode){ divOn("gp_div_sb_locedit_regconv"); if (document.gp_frm_sb_locedit.gp_chk_sb_locedit_regconv.checked){ divOn("gp_div_sb_locedit_regperm");} else { divOff("gp_div_sb_locedit_regperm");}
}
winResize();}
} else if (selbox.name=="gp_sel_sb_settings_regforum_r"){ document.gp_frm_sb_settings.gp_sel_sb_settings_regforum_f.selectedIndex=regheading[0].getAttribute('forum_id');}
}
if (postexeccommand){ eval(postexeccommand);}
}
}
request.send(null);}
}
function clickLocMarker(overlay){ clearStuckPopups(); if (overlay.editable==1 || isAdmin){ selected_overlay=overlay; getRegions(overlay.region,0,document.gp_frm_sb_locedit.gp_sel_sb_locedit_regionselect,"getLocData()");}
}
function clickBackground(point){ if (getGuiMode()==GP_EDIT_GUI_LOC){ if (currentmode == GP_EDIT_MODE){ if (getLocationMode()==GP_EDIT_POINT_MODE){ editpath=new Array(); editpath[0]=new Array(); editpath[0][0]=new GLatLng(rndVar(point.lat()),rndVar(point.lng())); document.gp_frm_sb_locedit.gp_txt_sb_locedit_lng.value = rndVar(point.lng()); document.gp_frm_sb_locedit.gp_txt_sb_locedit_lat.value = rndVar(point.lat()); plotTempMarkers();} else { if (!editpath.length){ document.gp_frm_sb_locedit.gp_txt_sb_locedit_line.value = ''; editpath=new Array(); editpath[0]=new Array(); editpath[0][0]=new GLatLng(rndVar(point.lat()),rndVar(point.lng()));} else { document.gp_frm_sb_locedit.gp_txt_sb_locedit_line.value = rndVar(point.lng())+" "+rndVar(point.lat())
}
editpath[0][editpath[0].length]=new GLatLng(rndVar(point.lat()),rndVar(point.lng())); plotTempMarkers();}
}
} else if (getGuiMode()==GP_EDIT_GUI_MOVR){ var selIndex=document.gp_frm_edit_movr_segment.gp_sel_edit_movr_segment.selectedIndex; editmovr[selIndex][editmovr[selIndex].length]=new GLatLng(point.lat(),point.lng()); plotTempMarkers();}
}
function clickTempMarker(overlay){ if (getGuiMode()==GP_EDIT_GUI_LOC){ var tmpArray=editpath; var selIndex=0;} else { var tmpArray=editmovr; var selIndex=document.gp_frm_edit_movr_segment.gp_sel_edit_movr_segment.selectedIndex;}
if (overlay.markertype=="add"){ if ((getLocationMode()==GP_EDIT_LINE_MODE) || (getGuiMode()==GP_EDIT_GUI_MOVR) ){ if (tmpArray[selIndex].length!=1){ tmpArray[selIndex].shift(); plotTempMarkers();}
}
} else if (overlay.markertype=="end"){ tmpArray[selIndex].pop(); plotTempMarkers();} else if (overlay.markertype=="mid"){ tmpArray[selIndex].splice(overlay.midindex,1); plotTempMarkers();}
}
function showHiddenMarkers(){ if (hiddenEditMarker){ var j=0; for (var i=0;i<markers.length;i++){ if (hiddenEditMarker.id==markers[i].id){ markerDisplay(markers[i],true); if (markers[i].geometrytype=="LINESTRING"){ lineDisplay(markers[i],true);}
j++; break;}
}
}
}
function getLocData(){ var overlay=selected_overlay; removeTempMarkers(); showHiddenMarkers(); if (!isset(overlay.name) || overlay.name==''){ clearOverlay(); editLocData(selected_overlay);} else { selected_location=overlay.id; if (markers[overlay.markerindex].fulldata){ editLocData(overlay);} else { var request = GXmlHttp.create(); incEditUID(); var urlstr="gp_read.php?action=points&"+queryOptions+"&locid="+overlay.id+"&uid="+editUID; request.open('GET', urlstr, true); request.onreadystatechange = function () { if (request.readyState == 4) { var xmlDoc = request.responseXML; var location = xmlDoc.documentElement.getElementsByTagName("location"); markers[overlay.markerindex].rp_zoom=location[0].getAttribute("rp_zoom"); if (markers[overlay.markerindex].represents_region > 0){ markers[overlay.markerindex].bunch_mo=location[0].getAttribute("bunch_mo"); markers[overlay.markerindex].rc_zoom=location[0].getAttribute("rc_zoom"); markers[overlay.markerindex].rr_userlist=location[0].getAttribute("rr_userlist"); markers[overlay.markerindex].rr_grouplist=location[0].getAttribute("rr_grouplist");}
markers[overlay.markerindex].infowindow=unescape((location[0].getAttribute("infowindow"))); markers[overlay.markerindex].locimport=unescape(location[0].getAttribute("import")); markers[overlay.markerindex].pointowner=location[0].getAttribute("pointowner"); markers[overlay.markerindex].topic_id=location[0].getAttribute("topic_id"); markers[overlay.markerindex].fulldata=true; var uniqueid = xmlDoc.documentElement.getElementsByTagName("request"); uniqueid=uniqueid[0].getAttribute("uniqueid"); if (editUID==uniqueid && selected_location==overlay.id){ editLocData(overlay);}
}
}
request.send(null);}
}
}
function editLocData(overlay){ editpath=[]; divOff('gp_div_sb_locedit_regconv'); divOff('gp_div_sb_locedit_regperm'); divOff('gp_div_bb_locedit_add'); divOff('gp_div_edit_movr_segment'); divOff('gp_div_line_import'); document.gp_frm_sb_locedit.gp_chk_sb_locedit_guiedit.checked=false; if (selected_location){ divOn('gp_div_bb_locedit_edit'); divOn('gp_div_sb_locedit_regconv');} else { divOff('gp_div_bb_locedit_edit'); divOff('gp_div_sb_locedit_regconv');}
if (overlay.geometrytype=="LINESTRING"){ subMode(GP_EDIT_LINE_MODE); document.gp_frm_sb_locedit.gp_txt_sb_locedit_line.value=overlay.geometry;} else { subMode(GP_EDIT_POINT_MODE); document.gp_frm_sb_locedit.gp_txt_sb_locedit_lng.value = overlay.lng; document.gp_frm_sb_locedit.gp_txt_sb_locedit_lat.value = overlay.lat; document.gp_frm_sb_locedit.gp_txt_sb_locedit_line.value="";}
document.gp_frm_sb_locedit.gp_sel_sb_locedit_categoryselect.selectedIndex=overlay.category; editZoomRange(overlay.rc_zoom,overlay.rp_zoom); if (overlay.represents_region==0){ document.gp_frm_sb_locedit.gp_chk_sb_locedit_regconv.value="ON"; document.gp_frm_sb_locedit.gp_chk_sb_locedit_regconv.checked=false; document.gp_frm_sb_locedit.gp_chk_sb_locedit_regconv.disabled=false;} else { divOn('gp_div_sb_locedit_regperm'); divOn('gp_div_sb_locedit_movr'); if (overlay.childregcount==0){ document.gp_frm_sb_locedit.gp_chk_sb_locedit_regconv.value="ON"; document.gp_frm_sb_locedit.gp_chk_sb_locedit_regconv.checked=true; document.gp_frm_sb_locedit.gp_chk_sb_locedit_regconv.disabled=false;} else { document.gp_frm_sb_locedit.gp_chk_sb_locedit_regconv.value="ON"; document.gp_frm_sb_locedit.gp_chk_sb_locedit_regconv.checked=true; document.gp_frm_sb_locedit.gp_chk_sb_locedit_regconv.disabled=true;}
selectOption(document.gp_frm_sb_locedit.gp_sel_sb_locedit_regconv_zoomlevel,overlay.rr_zoom); document.gp_frm_sb_locedit.gp_sel_sb_locedit_regperm_users.length=0; if (!isempty(overlay.rr_userlist)){ var users=overlay.rr_userlist.split(","); for (var j = 0;j<users.length;j++){ var user=users[j].split(":"); document.gp_frm_sb_locedit.gp_sel_sb_locedit_regperm_users.options[j] = new Option(user[1],user[0]);}
}
if (!isempty(overlay.rr_grouplist)){ var groups=overlay.rr_grouplist.split(","); for (var j = 0;j<groups.length;j++){ var group=groups[j].split(":"); document.gp_frm_sb_locedit.gp_sel_sb_locedit_regperm_groups.options[j] = new Option(group[1],group[0]);}
}
document.gp_frm_sb_locedit.gp_txt_sb_locedit_movr.value=overlay.bunch_mo;}
document.gp_frm_sb_locedit.gp_txt_sb_locedit_name.value = overlay.name; if (settings['xinha_enabled']==1){ xinha_editors.gp_txt_sb_locedit_infowindow.setHTML(overlay.infowindow)
} else { document.gp_frm_sb_locedit.gp_txt_sb_locedit_infowindow.value = overlay.infowindow;}
if (document.gp_frm_sb_locedit.gp_chk_sb_locedit_regconv.checked==false && !overlay.isempty){ divOn('gp_div_bb_locedit_delete');} else { divOff('gp_div_bb_locedit_delete');}
if (isset(overlay) && overlay.name != ''){ markerDisplay(overlay,false); if (overlay.geometrytype=="LINESTRING"){ lineDisplay(overlay,false);}
}
document.gp_frm_sb_locedit.gp_chk_sb_locedit_guiedit.checked=false; plotTempMarkers();}
function editZoomRange(zchild,zparent){ if (zchild=='' || zchild == null){ zchild=GP_MAX_ZOOM+1;}
if (zparent=='' || zparent == null){ zparent=GP_MIN_ZOOM-1;}
zparent = +zparent + 1; zchild = +zchild - 1; clearOption(document.gp_frm_sb_locedit.gp_sel_sb_locedit_regconv_zoomlevel); for (var i=zparent;i <= zchild;i++){ addOption(i,i,document.gp_frm_sb_locedit.gp_sel_sb_locedit_regconv_zoomlevel);}
}
function selectOption(option,set){ if (option){ for (var i = 0;i < option.length;i++){ if (option.options[i].value==set){ option.selectedIndex=i;}
}
}
}
function clearStuckPopups(){ if (regionmoline.length){ for (var i=0;i<regionmoline.length;i++){ map.removeOverlay(regionmoline[i]);}
}
tooltip.style.visibility="hidden"
}
function getVisibleMarkers() { decho ("Entering GVM"); if (newapi){ map.closeInfoWindow();}
document.getElementById("gp_div_ftr_count").innerHTML = "Markers:"; var urlstr="gp_read.php?action=points&"+queryOptions; var regstr=""; urlstr += "&region=" + escapePlus(document.gp_frm_hdr_regionselect.gp_sel_hdr_regionselect.value); regstr += document.gp_frm_hdr_regionselect.gp_sel_hdr_regionselect.value; if (regstr == ""){ regstr = "0";}
regstr="gp_read.php?action=regions&"+queryOptions+"&regid="+regstr; urlstr += "&category="+currentcategory; incMainUID(); urlstr += "&uid="+mainUID; var zoom = map.getZoom()
urlstr += "&zoom=" + zoom; var bounds=map.getBounds(); var tmpBounds=scaleBounds(bounds,cacheScale); var left=tmpBounds.getSouthWest().lng(); var right=tmpBounds.getNorthEast().lng(); var top=tmpBounds.getNorthEast().lat(); var bot=tmpBounds.getSouthWest().lat(); urlstr += "&minx="+left+"&maxx="+right+"&miny="+bot+"&maxy="+top; for (var i=0 ; i < markers.length ; i++){ map.removeOverlay(markers[i]);}
clearStuckPopups(); document.getElementById("gp_div_ftr_xml").innerHTML = 'XML:&nbsp&nbsp&nbsp<a target="_blank" href="' + urlstr + '">points</a>&nbsp<a target="_blank" href="'+urlstr+'&noxml=1">+</a>&nbsp&nbsp&nbsp<a target="_blank" href="'+regstr+'">regions</a>&nbsp<a target="_blank" href="'+regstr+'&noxml=1">+</a>'; var request = GXmlHttp.create(); loadingPane('plot',gp_lang['loading_requesting']); decho ('Sending AJAX request ID '+mainUID+' for location data <a target="_blank" href="'+urlstr+'">(link)</a>'); request.open('GET', urlstr , true); request.onreadystatechange = function () { if (request.readyState == 4) { var xmlDoc = request.responseXML; var uniqueid = xmlDoc.documentElement.getElementsByTagName("request"); if (uniqueid[0]==null){ userMessage("ERROR IN XML RETURNED");} else { uniqueid=uniqueid[0].getAttribute("uniqueid"); if (uniqueid == mainUID){ decho ('AJAX Reply ID '+uniqueid+' received by GVM, passing to PVM'); plotVisibleMarkers(xmlDoc);} else { decho ('AJAX Reply ID '+uniqueid+' received by GVM. Old ID, dropping...');}
}
}
}
decho ('AJAX Request ID '+mainUID+' sent - waiting for reply. Exiting GVM'); request.send(null);}
function plotVisibleMarkers(xmlDoc){ decho("Entering PVM"); locations = xmlDoc.documentElement.getElementsByTagName("location"); map.getInfoWindow().hide(); for (var i=0 ; i < polylines.length ; i++){ map.removeOverlay(polylines[i]);}
map.removeOverlay(regrabPoly); map.removeOverlay(cachePoly); markers = []; polylines=[]; loadingPane('plot',gp_lang['loading_plotting']); document.getElementById("gp_div_ftr_count").innerHTML = 'Markers: ' + locations.length + ''; var tmpTable=document.getElementById('gp_tab_sb_viewmode_loclist'); for (var i=tmpTable.rows.length-1;i>0;i--){ tmpTable.deleteRow(i);}
decho ("PVM Plotting "+locations.length+" Markers..."); if (locations.length){ var rowtype=1; for (var i = 0; i < locations.length; i++, rowtype++) { var clear_hem = true; if (rowtype==4){ rowtype=1;}
if (currentmode == GP_EDIT_MODE){ if (locations[i].getAttribute("editable")==1){ var tmpeditable='edit'
} else { var tmpeditable='noedit'
}
} else { var tmpeditable='edit';}
if (locations[i].getAttribute("represents_region") > 0){ var tmptype='bunch'; if (locations[i].getAttribute("childcount")>0){ var tmpsubtype = 'child';} else { var tmpsubtype = 'nochild';}
} else { var tmptype='loc'; if (geometryType(locations[i].getAttribute("geometry"))=="POINT"){ var tmpsubtype = 'point';} else { var tmpsubtype = 'line';}
}
var catName = categoryIdToName(locations[i].getAttribute("category_id")); var coords=firstNode(locations[i].getAttribute("geometry")); createMarker(i,new GLatLng(coords[1],coords[0]),iconArray[catName][tmpsubtype][tmpeditable].icon); configureMarker(i,locations[i]); map.addOverlay(markers[i]); if (markers[i].geometrytype=="LINESTRING"){ var polytmp=geomToArray(markers[i].geometry); if (polytmp.length){ polytmp=polytmp[0]; if (polytmp.length){ markers[i].polyline=polylines.length; polylines.push(new GPolyline(polytmp, "#0000FF", 2, 1)); if (markers[i].id != hiddenEditMarker.id){ map.addOverlay(polylines[markers[i].polyline]);}
}
}
}
var tmpRow = tmpTable.insertRow(tmpTable.rows.length); var tmpCell1 = tmpRow.insertCell(0); var tmpCell2 = tmpRow.insertCell(1); tmpCell1.className = 'row'+rowtype; tmpCell2.className = 'row'+rowtype; tmpCell1.innerHTML = '<a href="javascript:infowindowMain('+i+')" onmouseover="onMouseIn(markers['+i+'])"  onmouseout="onMouseOut(markers['+i+'])">'+markers[i].name+'</a>'; if (markers[i].id==hiddenEditMarker.id){ markerDisplay(markers[i],false); clear_hem = false;}
if (seek_id > 0 && zoom_through==0){ if (markers[i].id==seek_id){ seek_id=0; infoOpened = true; infowindowMain(i);}
}
if (markers[i].represents_region !=0){ if (markers[i].geometrytype=="LINESTRING"){ var linetmp=markers[i].geometry.split(","); if (linetmp.length){ var coords=linetmp[linetmp.length-1].split(" "); var mx=coords[0]; var my=coords[1];}
} else { var mx=markers[i].lng; var my=markers[i].lat;}
var mz=markers[i].rr_zoom; tmpCell2.innerHTML = '<center><a href="javascript:map.closeInfoWindow();zoomThrough='+"'"+markers[i].name+"'"+';map.setCenter(new GLatLng('+my+','+mx+'),'+mz+');">'+markers[i].childcount+'</a></center>';} else { tmpCell2.innerHTML = '&nbsp;';}
}
if (clear_hem){ hiddenEditMarker=false;}
}
decho ("PVM Finished plotting markers"); if (currentmode == GP_VIEW_MODE){ decho ("PVM Rendering Sidebar...");}
loadingPane('plot',''); var bounds=map.getBounds(); last_bounds=bounds; decho ("Drawing ReGrab and Cache boxes"); regrabPoly = new GPolyline(boundsToPolyLine(scaleBounds(bounds,grabScale)), "#00FF00", 2, 0.5); map.addOverlay(regrabPoly); cacheBounds = scaleBounds(bounds,cacheScale); cachePoly = new GPolyline(boundsToPolyLine(cacheBounds), "#FF0000", 2, 0.5); map.addOverlay(cachePoly); if (seek_id > 0){ decho ("Seeked marker ("+seek_id+") not found"); seek_id=0;}
decho("Exiting PVM");}
function togglePointLine(){ if (getLocationMode()==GP_EDIT_POINT_MODE){ subMode(GP_EDIT_POINT_MODE); document.gp_frm_sb_locedit.gp_txt_sb_locedit_lat.value=editpath[0][0].lat(); document.gp_frm_sb_locedit.gp_txt_sb_locedit_lng.value=editpath[0][0].lng(); editpath= new Array(); plotTempMarkers();} else if (document.gp_frm_sb_locedit.gp_rad_sb_locedit_geomtype[GP_EDIT_LINE_MODE].checked==true){ editpath=new Array(); if (isset(selected_overlay) && selected_overlay.geometry != ''){ document.gp_frm_sb_locedit.gp_txt_sb_locedit_line.value=selected_overlay.geometry;}
subMode(GP_EDIT_LINE_MODE); plotTempMarkers();}
}
function buildGeometryData(){ editpath = new Array(); if (getLocationMode()==GP_EDIT_POINT_MODE){ if (document.gp_frm_sb_locedit.gp_txt_sb_locedit_lng.value != '' && document.gp_frm_sb_locedit.gp_txt_sb_locedit_lat.value != ''){ editpath[0] = new Array(); editpath[0][0]=new GLatLng(document.gp_frm_sb_locedit.gp_txt_sb_locedit_lat.value,document.gp_frm_sb_locedit.gp_txt_sb_locedit_lng.value);}
} else { editpath=geomToArray(document.gp_frm_sb_locedit.gp_txt_sb_locedit_line.value);}
}
function buildMovrData(){ editmovr=geomToArray(document.gp_frm_sb_locedit.gp_txt_sb_locedit_movr.value); clearOption(document.gp_frm_edit_movr_segment.gp_sel_edit_movr_segment); for (var i=0;i<editmovr.length;i++){ addOption(i+1,i,document.gp_frm_edit_movr_segment.gp_sel_edit_movr_segment);}
}
function toggleGuiMode(){ loadingPane('plot',gp_lang['loading_plotting']); if (getGuiMode()==GP_EDIT_GUI_LOC){ buildGeometryData();} else { editmovr=new Array();}
plotTempMarkers();}
function addMovrSegment(){ if (editmovr.length){ editmovr[editmovr.length]=new Array();} else { editmovr=new Array(); editmovr[0]=new Array();}
clearOption(document.gp_frm_edit_movr_segment.gp_sel_edit_movr_segment); for (var i=0;i<editmovr.length;i++){ addOption(i+1,i,document.gp_frm_edit_movr_segment.gp_sel_edit_movr_segment);}
document.gp_frm_edit_movr_segment.gp_sel_edit_movr_segment.selectedIndex=i-1; plotTempMarkers();}
function delMovrSegment(){ if (editmovr.length){ editmovr.shift(document.gp_frm_edit_movr_segment.gp_sel_edit_movr_segment.selectedIndex,1); clearOption(document.gp_frm_edit_movr_segment.gp_sel_edit_movr_segment); for (var i=0;i<editmovr.length;i++){ addOption(i+1,i,document.gp_frm_edit_movr_segment.gp_sel_edit_movr_segment);}
if (editmovr.length==0){ document.gp_frm_sb_locedit.gp_txt_sb_locedit_movr.value='';} else { document.gp_frm_edit_movr_segment.gp_sel_edit_movr_segment.selectedIndex=i-1;}
plotTempMarkers();}
}
function plotTempMarkers(){ removeTempMarkers(); if (getGuiMode()==GP_EDIT_GUI_LOC){ divOff('gp_div_edit_movr_segment'); if (!editpath.length){ buildGeometryData();}
var tmpArray=editpath;} else { divOn('gp_div_edit_movr_segment'); if (!editmovr.length){ buildMovrData();}
var tmpArray=editmovr;}
var tmpgeom=''; midmarkers=new Array(); editpolys=new Array(); for (var segIndex=0;segIndex<tmpArray.length;segIndex++){ var points = []; if (tmpArray[segIndex].length){ for (var i=0;i<tmpArray[segIndex].length;i++){ points.push(new GLatLng (tmpArray[segIndex][i].lat(),tmpArray[segIndex][i].lng())); if (i==0){ tmpgeom += tmpArray[segIndex][i].lng()+" "+tmpArray[segIndex][i].lat(); if (getGuiMode()==GP_EDIT_GUI_LOC || (segIndex == document.gp_frm_edit_movr_segment.gp_sel_edit_movr_segment.selectedIndex)){ addmarker=new GMarker(new GLatLng (tmpArray[segIndex][i].lat(),tmpArray[segIndex][i].lng()), {icon:tmpIconArray[settings['default_tmpiconset']]['start'],draggable:true,bouncy:false}); GEvent.addListener(addmarker, "dragstart", function() { map.closeInfoWindow();}); GEvent.addListener(addmarker, "dragend", function() { if (getGuiMode()==GP_EDIT_GUI_LOC){ if (getLocationMode()==GP_EDIT_POINT_MODE){ document.gp_frm_sb_locedit.gp_txt_sb_locedit_lng.value=addmarker.getPoint().lng(); document.gp_frm_sb_locedit.gp_txt_sb_locedit_lat.value=addmarker.getPoint().lat(); editpath=new Array();} else { editpath[0][0]=new GLatLng(addmarker.getPoint().lat(),addmarker.getPoint().lng());}
} else { editmovr[document.gp_frm_edit_movr_segment.gp_sel_edit_movr_segment.selectedIndex][0]=new GLatLng(addmarker.getPoint().lat(),addmarker.getPoint().lng());}
plotTempMarkers();}); map.addOverlay(addmarker); addmarker.temp=true; addmarker.markertype="add";}
} else if (i!=tmpArray[segIndex].length-1){ tmpgeom += ","+tmpArray[segIndex][i].lng()+" "+tmpArray[segIndex][i].lat(); if (getGuiMode()==GP_EDIT_GUI_LOC || (segIndex == document.gp_frm_edit_movr_segment.gp_sel_edit_movr_segment.selectedIndex)){ midmarker=new GMarker(new GLatLng (tmpArray[segIndex][i].lat(),tmpArray[segIndex][i].lng()), {icon:tmpIconArray[settings['default_tmpiconset']]['mid'],draggable:true,bouncy:false}); GEvent.addListener(midmarker, "dragstart", function() { map.closeInfoWindow();}); GEvent.addListener(midmarker, "dragend", function() { if (getGuiMode()==GP_EDIT_GUI_LOC){ if (getLocationMode()==GP_EDIT_LINE_MODE){ editpath[0][this.midindex]=new GLatLng(midmarkers[this.midindex].getPoint().lat(),midmarkers[this.midindex].getPoint().lng());}
} else { editmovr[document.gp_frm_edit_movr_segment.gp_sel_edit_movr_segment.selectedIndex][this.midindex]=new GLatLng(midmarkers[this.midindex].getPoint().lat(),midmarkers[this.midindex].getPoint().lng());}
plotTempMarkers();}); map.addOverlay(midmarker); midmarker.temp=true; midmarker.markertype="mid"; midmarker.midindex=i; midmarkers[i]=(midmarker);}
} else if (tmpArray[segIndex].length > 1 && i==tmpArray[segIndex].length-1){ tmpgeom += ","+tmpArray[segIndex][i].lng()+" "+tmpArray[segIndex][i].lat(); if (tmpArray.length > 1 && segIndex != tmpArray.length-1){ tmpgeom += ":";}
if (getGuiMode()==GP_EDIT_GUI_LOC || (segIndex == document.gp_frm_edit_movr_segment.gp_sel_edit_movr_segment.selectedIndex)){ endmarker=new GMarker(new GLatLng (tmpArray[segIndex][i].lat(),tmpArray[segIndex][i].lng()), {icon:tmpIconArray[settings['default_tmpiconset']]['end'],draggable:true,bouncy:false}); GEvent.addListener(endmarker, "dragstart", function() { map.closeInfoWindow();}); GEvent.addListener(endmarker, "dragend", function() { if (getGuiMode()==GP_EDIT_GUI_LOC){ if (getLocationMode()==GP_EDIT_LINE_MODE){ editpath[0][editpath[0].length-1]=new GLatLng(endmarker.getPoint().lat(),endmarker.getPoint().lng());}
} else { editmovr[document.gp_frm_edit_movr_segment.gp_sel_edit_movr_segment.selectedIndex][editmovr[0].length-1]=new GLatLng(endmarker.getPoint().lat(),endmarker.getPoint().lng());}
plotTempMarkers();}); map.addOverlay(endmarker); endmarker.temp=true; endmarker.markertype="end";} else if (getGuiMode()==GP_EDIT_GUI_MOVR){ points.push(tmpArray[segIndex][0]);}
} else { endmarker=false;}
}
editpolys[segIndex]=new GPolyline(points, "#FF0000", 2, 1); map.addOverlay(editpolys[segIndex]); if (tmpArray[segIndex].length) { if (selected_location == false){ divOn('gp_div_bb_locedit_add'); divOff('gp_div_bb_locedit_edit'); divOff('gp_div_bb_locedit_delete');} else { divOff('gp_div_bb_locedit_add'); divOn('gp_div_bb_locedit_edit');}
} else { divOff('gp_div_bb_locedit_add'); divOff('gp_div_bb_locedit_edit');}
if (getGuiMode()==GP_EDIT_GUI_LOC){ document.gp_frm_sb_locedit.gp_txt_sb_locedit_line.value=tmpgeom;} else { document.gp_frm_sb_locedit.gp_txt_sb_locedit_movr.value=tmpgeom;}
}
}
loadingPane('plot','');}
function boundsToPolyLine(tmpBounds){ var points = []; var tmpCoords = boundsToCoords(tmpBounds); if (tmpBounds.getNorthEast().lng() < tmpBounds.getSouthWest().lng()){ points = polySteps(points,tmpBounds.getNorthEast().lat(),-180,tmpBounds.getNorthEast().lng()); points.push(new GLatLng(tmpCoords.bot,tmpCoords.right)); points = polySteps(points,tmpBounds.getSouthWest().lat(),tmpBounds.getNorthEast().lng(),-180); points = polySteps(points,tmpBounds.getSouthWest().lat(),180,tmpBounds.getSouthWest().lng()); points.push(new GLatLng(tmpCoords.top,tmpCoords.left)); points = polySteps(points,tmpBounds.getNorthEast().lat(),tmpBounds.getSouthWest().lng(),180);} else { points = polySteps(points,tmpBounds.getNorthEast().lat(),tmpBounds.getSouthWest().lng(),tmpBounds.getNorthEast().lng()); points.push(new GLatLng(tmpCoords.bot,tmpCoords.right)); points = polySteps(points,tmpBounds.getSouthWest().lat(),tmpBounds.getNorthEast().lng(),tmpBounds.getSouthWest().lng()); points.push(new GLatLng(tmpCoords.top,tmpCoords.left));}
return points;}
function boundsToCoords(tmpBounds){ var top=tmpBounds.getNorthEast().lat(); var right=tmpBounds.getNorthEast().lng(); var bot=tmpBounds.getSouthWest().lat(); var left=tmpBounds.getSouthWest().lng(); return {top : top, right : right, left : left, bot : bot};}
function scaleBounds(tmpBounds,scale){ var tmpCoords = boundsToCoords(tmpBounds); if (tmpBounds.getNorthEast().lng() < tmpBounds.getSouthWest().lng()){ var tmpd = (tmpCoords.right-tmpCoords.left); var tmps = ((tmpd * scale) - tmpd)/2; tmpCoords.right = tmpCoords.right - tmps; tmpCoords.left = tmpCoords.left + tmps;} else { var tmpd = (tmpCoords.right-tmpCoords.left); var tmps = ((tmpd * scale) - tmpd)/2; tmpCoords.right = tmpCoords.right + tmps; tmpCoords.left = tmpCoords.left - tmps;}
tmpd = (tmpCoords.top-tmpCoords.bot); tmps = ((tmpd * scale) - tmpd)/2; tmpCoords.top = tmpCoords.top + tmps; tmpCoords.bot = tmpCoords.bot - tmps; if (tmpCoords.top > 85.932567920988){ tmpCoords.top = 85.932567920988;}
if (tmpCoords.right > 180){ tmpCoords.right = +180;}
if (tmpCoords.bot < -128.8235826668448){ tmpCoords.bot = -128.8235826668448;}
if (tmpCoords.left < -180){ tmpCoords.left = -180;}
var newBounds = new GLatLngBounds(new GLatLng(tmpCoords.bot, tmpCoords.left), new GLatLng(tmpCoords.top, tmpCoords.right)); return (newBounds);}
function polySteps(points,yval, begx, endx){ var tmpd = (begx-endx); var iter = 10; var ctr = iter; tmpd = tmpd * -1; if (tmpd > 0){ for (var i= begx; (i <= endx) && (ctr) ; i += parseInt(tmpd/iter)){ points.push(new GLatLng(yval,i)); ctr--;}
} else { for (var i= begx; (i >= endx) && (ctr) ; i += parseInt(tmpd/iter)){ points.push(new GLatLng(yval,i)); ctr--;}
}
if (points[points.length-1].lng() != endx){ points.push(new GLatLng(yval,endx));}
return(points);}
function incMainUID(){ mainUID++; if (mainUID == 1001){ mainUID = 0;}
}
function incInfoUID(){ infoUID++; if (infoUID == 1001){ infoUID = 0;}
}
function incEditUID(){ editUID++; if (editUID == 1001){ editUID = 0;}
}
function geometryType(geom){ geom=geom.split(","); if (geom.length > 1){ return ("LINESTRING");} else { return ("POINT");}
}
function firstNode(geom){ var ret=[]; geom=geom.split(","); geom=geom[0].split(" "); return (geom);}
function configureMarker(i,data){ markers[i].isempty=false; markers[i].fulldata=false; markers[i].temp=false; markers[i].markertype="loc"; markers[i].markerindex=i; markers[i].id=data.getAttribute("id"); markers[i].geometry=data.getAttribute("geometry"); markers[i].geometrytype=geometryType(markers[i].geometry); var coords=firstNode(markers[i].geometry); markers[i].lng=rndVar(coords[0]); markers[i].lat=rndVar(coords[1]); markers[i].name=unescape(data.getAttribute("name")); markers[i].uudised=unescape(data.getAttribute("uudised")); markers[i].ilm=unescape(data.getAttribute("ilm")); var mouseovr=markers[i].name; if (data.getAttribute("represents_region") > 0){ mouseovr+=" ("+data.getAttribute("childcount")+")";}
markers[i].tooltip = mouseovr; markers[i].represents_region=data.getAttribute("represents_region"); markers[i].category=data.getAttribute("category_id"); markers[i].childcount=data.getAttribute("childcount"); markers[i].childregcount=data.getAttribute("childregcount"); markers[i].region=data.getAttribute("region_id"); markers[i].rr_zoom=data.getAttribute("rr_zoom"); markers[i].editable=data.getAttribute("editable"); GEvent.addListener(markers[i], 'mouseover', function (){ onMouseIn(this); tooltip.innerHTML = this.tooltip; var point=map.getCurrentMapType().getProjection().fromLatLngToPixel(map.fromDivPixelToLatLng(new GPoint(0,0),true),map.getZoom()); var offset=map.getCurrentMapType().getProjection().fromLatLngToPixel(this.getPoint(),map.getZoom()); var anchor=this.getIcon().iconAnchor; var width=this.getIcon().iconSize.width; var height=tooltip.clientHeight; var pos = new GControlPosition(G_ANCHOR_TOP_LEFT, new GSize(offset.x - point.x - anchor.x + width, offset.y - point.y -anchor.y -height)); pos.apply(tooltip); tooltip.style.visibility="visible";}); GEvent.addListener(markers[i], 'mouseout', function (){ onMouseOut(); tooltip.style.visibility="hidden"
});}
function onMouseIn(obj){ mistatus=true; if (obj.bunch_mo != '' && obj.bunch_mo != null){ showMoLines(obj.bunch_mo);} else if (!isset(obj.bunch_mo)){ var request = GXmlHttp.create(); var urlstr="gp_read.php?action=bunch_mo&locid="+obj.id+"&"+queryOptions; request.open('GET', urlstr , true); request.onreadystatechange = function () { if (request.readyState == 4) { var xmlDoc = request.responseXML; var bunch_mo = xmlDoc.documentElement.getElementsByTagName("location"); bunch_mo=bunch_mo[0].getAttribute("bunch_mo"); if (mistatus == true){ showMoLines(bunch_mo);}
}
}
request.send(null);}
}
function onMouseOut(){ mistatus=false; hideMoLines();}
function hideMoLines(){ for (var j=0;j<regionmoline.length;j++){ map.removeOverlay(regionmoline[j]);}
}
function geomToArray(geom){ if (geom != ''){ var polyout=[]; var chunks=geom.split(":"); for (var i=0;i<chunks.length;i++){ var polytmp=[]; var linetmp=chunks[i].split(","); if (linetmp.length){ for (var j = 0; j < linetmp.length;j++){ var coords=linetmp[j].split(" "); polytmp.push(new GLatLng(coords[1],coords[0]));}
}
polyout[i]=polytmp;}
return (polyout);}
return (geom);}
function arrayToGeom(polytmp){ var tmpstr=''; for (var i=0;i<polytmp.length;i++){ if (i > 0){ tmpstr += ":";}
tmparray=polytmp[i]; if (tmparray != ''){ if (tmparray.length){ for (var x=0;x<tmparray.length;x++){ if (x != 0){ tmpstr += ",";}
tmpstr+=rndVar(tmparray[x].lng())+" "+rndVar(tmparray[x].lat());}
}
}
}
return (tmpstr);}
function showMoLines(line){ var polyarray = []; var polytmp = []; polyarray=geomToArray(line); if (regionmoline.length){ for (var j=0;j < regionmoline.length;j++){ map.removeOverlay(regionmoline[j]);}
}
regionmoline=[]; for (var j=0;j<polyarray.length;j++){ polytmp=polyarray[j]; if (polytmp.length){ polytmp.push(polytmp[0]); regionmoline[j]=new GPolyline(polytmp, "#FF0000", 3, 0.5); map.addOverlay(regionmoline[j]);}
}
}
function sprintf(S, L) { var nS = ""; var tS = S.split("%s"); if (tS.length > 1){ if (tS.length != L.length+1) return ""; for(var i=0; i<L.length; i++){ nS += tS[i] + L[i];}
return nS + tS[tS.length-1];} else { return S;}
}
function escapePlus(html){ html = escape(html); html = html.replace ('+','%2B'); return (html);}
function rndVar(rndvar,places){ if (!places){ places=6;}
places=Math.pow(10,places); return (Math.round(rndvar*places)/places);}
function categoryIdToName(tmpid){ if (tmpid == '0'){ return ('all');} else { for (var i in catArray){ if (catArray[i]['category_id'] == tmpid){ return(catArray[i]['name']);}
}
userMessage ("Error: Cannot find category name for ID "+tmpid);}
}
function getCategories(selected, replot, update, selbox){ if (typeof(selbox)=="string"){; selbox=eval(selbox);}
var noreplot=0; if (replot==2){ noreplot=1; replot=1;}
clearOption(selbox); addOption(gp_lang['all'],'0',selbox); for(var i in catArray){ if (catArray[i]['name'] != 'all'){ addOption(catArray[i]['name'],catArray[i]['category_id'],selbox);}
}
if (update==1){ if (noreplot==1){ setCategories(selected,0,update);} else { setCategories(selected,replot,update);}
}
}
function setCategories(category,replot,update){ if (update==1){ currentcategory=category; if (replot==1){ getVisibleMarkers();}
}
}
function mainMode(mode){ if (!templateMode){ removeTempMarkers(); showHiddenMarkers();}
if (mode==GP_VIEW_MODE){ divOff("gp_div_bb"); document.gp_frm_hdr_mode.gp_rad_hdr_mode[GP_VIEW_MODE].checked=true;} else if (mode==GP_EDIT_MODE){ divOn("gp_div_bb"); if (templateMode){ document.gp_frm_hdr_mode.gp_rad_hdr_mode[GP_EDIT_MODE].checked=true;} else { if (isLoggedIn){ document.gp_frm_hdr_mode.gp_rad_hdr_mode[GP_EDIT_MODE].checked=true; map.closeInfoWindow();} else { userMessage(gp_lang['log_in_to_edit']); document.gp_frm_hdr_mode.gp_rad_hdr_mode[currentmode].checked=true; return(0);}
}
} else if (mode==GP_SETTINGS_MODE){ divOff("gp_div_bb"); if (templateMode){ document.gp_frm_hdr_mode.gp_rad_hdr_mode[GP_SETTINGS_MODE].checked=true;} else { if (isAdmin){ document.gp_frm_hdr_mode.gp_rad_hdr_mode[GP_SETTINGS_MODE].checked=true;} else { userMessage(gp_lang['settings_notadmin']); document.gp_frm_hdr_mode.gp_rad_hdr_mode[currentmode].checked=true; return(0);}
}
} else if (mode==GP_PROFILE_MODE){ divOff("gp_div_bb"); if (templateMode){ document.gp_frm_hdr_mode.gp_rad_hdr_mode[GP_PROFILE_MODE].checked=true;} else { if (isLoggedIn){ document.gp_frm_hdr_mode.gp_rad_hdr_mode[GP_PROFILE_MODE].checked=true;} else { userMessage(gp_lang['profile_not_logged_in']); document.gp_frm_hdr_mode.gp_rad_hdr_mode[currentmode].checked=true; return(0);}
}
}
divHideChildrenByClass(document.getElementById("gp_div_tb"),"gp_topbar","div"); divHideChildrenByClass(document.getElementById("gp_div_sb"),"gp_sidebar","div"); divHideChildrenByClass(document.getElementById("gp_div_bb"),"gp_bottombar","div"); winResize(); currentmode=mode; if (mode==GP_VIEW_MODE){ divOn("gp_div_tb_viewmode"); subMode(currentsubmode[GP_VIEW_MODE]); winResize(); return(1);} else if (mode==GP_EDIT_MODE){ divOn("gp_div_tb_editmode"); divOn("gp_div_sb_locedit_reg"); divOff('gp_div_bb_locedit_add'); divOff('gp_div_bb_locedit_edit'); divOff('gp_div_bb_locedit_delete'); clearOverlay(); getRegions(document.gp_frm_sb_locedit.gp_sel_sb_locedit_regionselect.value,0,document.gp_frm_sb_locedit.gp_sel_sb_locedit_regionselect,"getLocData()"); winResize(); return(1);} else if (mode==GP_SETTINGS_MODE){ var tmp = getElementsByClass(document,"gp_sb_settings","div"); for (var i=0;i < tmp.length;i++){ divOn(tmp[i].id);}
if (!templateMode){ var request = GXmlHttp.create(); var urlstr="gp_read.php?action=root_permissions"; request.open('GET', urlstr, true); request.onreadystatechange = function () { if (request.readyState == 4) { var xmlDoc = request.responseXML; var permission = xmlDoc.documentElement.getElementsByTagName("permission"); clearOption(document.gp_frm_sb_settings.gp_sel_sb_settings_regperm_users); var tmpusers=permission[0].getAttribute("userlist"); if (!isempty(tmpusers)){ var users=tmpusers.split(","); for (var j = 0;j<users.length;j++){ var user=users[j].split(":"); addOption(user[1],user[0],document.gp_frm_sb_settings.gp_sel_sb_settings_regperm_users);}
}
clearOption(document.gp_frm_sb_settings.gp_sel_sb_settings_regperm_groups); var tmpgroups=permission[0].getAttribute("grouplist"); if (!isempty(tmpgroups)){ var groups=tmpgroups.split(","); for (var j = 0;j<groups.length;j++){ var group=groups[j].split(":"); addOption(group[1],group[0],document.gp_frm_sb_settings.gp_sel_sb_settings_regperm_groups);}
}
}
}
request.send(null); getRegions(+settings['default_region'], 0, document.gp_frm_sb_settings.gp_sel_sb_settings_regionselect); if (settings['xinha_enabled']==1){ xinha_editors['gp_txt_sb_settings_welcome_html'].setHTML(settings['welcome_html']);} else { document.gp_frm_sb_settings.gp_txt_sb_settings_welcome_html.value=settings['welcome_html'];}
document.gp_frm_sb_settings.gp_txt_sb_settings_lng.value=settings['default_lng']; document.gp_frm_sb_settings.gp_txt_sb_settings_lat.value=settings['default_lat']; document.gp_frm_sb_settings.gp_txt_sb_settings_zoom.value=settings['default_zoom']; initRegionForum(); document.gp_frm_sb_settings.gp_sel_sb_settings_debug_mode.selectedIndex=settings['debug_mode']; document.gp_frm_sb_settings.gp_sel_sb_settings_help_mode.selectedIndex=settings['showhelp_status']; document.gp_frm_sb_settings.gp_sel_sb_settings_xinha_status.selectedIndex=settings['xinha_enabled']; document.gp_frm_sb_settings.gp_txt_sb_settings_xinha_buttons.value=settings['xinha_buttons']; document.gp_frm_sb_settings.gp_txt_sb_settings_xinha_filename.value=settings['xinha_file']; document.gp_frm_sb_settings.gp_txt_sb_settings_xinha_path.value=settings['xinha_path']; getRegions(1, 0, document.gp_frm_sb_settings.gp_sel_sb_settings_rb_import); getRegions(1, 0, document.gp_frm_sb_settings.gp_sel_sb_settings_rb_export);}
winResize(); return(1);} else if (mode==GP_PROFILE_MODE){ divOn("gp_div_tb_profilesmode"); var tmp = getElementsByClass(document,"gp_sb_profile","div"); for (var i=0;i < tmp.length;i++){ divOn(tmp[i].id);}
if (!templateMode){ getRegions(+profile['default_region'], 0, document.gp_frm_sb_profile.gp_sel_sb_profile_regionselect);}
winResize(); return(1);}
userMessage ("Tried to change to unkown mode - MODE: "+mode);}
function subMode(mode){ divHideChildrenByClass(document.getElementById("gp_div_sb"),"gp_sb_viewmode","div"); if (currentmode==GP_VIEW_MODE){ divOff('gp_div_sb_viewmode_search_results_geo'); divOff('gp_div_sb_viewmode_search_results_gp'); if (mode == GP_VIEW_HELP_MODE){ currentsubmode[currentmode] = mode; document.gp_frm_tb_viewmode_submode.gp_rad_viewmode_submode[GP_VIEW_HELP_MODE].checked=true; divOn("gp_div_sb_viewmode_welcome"); winResize();} else if (mode == GP_VIEW_POINTLIST_MODE){ currentsubmode[currentmode] = mode; document.gp_frm_tb_viewmode_submode.gp_rad_viewmode_submode[GP_VIEW_POINTLIST_MODE].checked=true; divOn("gp_div_sb_viewmode_loclist"); winResize();} else if (mode == GP_VIEW_SEARCH_MODE){ currentsubmode[currentmode] = mode; document.gp_frm_tb_viewmode_submode.gp_rad_viewmode_submode[GP_VIEW_SEARCH_MODE].checked=true; divOn("gp_div_sb_viewmode_search"); winResize();}
if (currentsubmode[currentmode] == mode){ }
} else if (currentmode == GP_EDIT_MODE){ if (mode == GP_EDIT_POINT_MODE){ currentsubmode[currentmode] = mode; document.gp_frm_sb_locedit.gp_rad_sb_locedit_geomtype[GP_EDIT_POINT_MODE].checked=true; divOn("gp_div_sb_locedit_point"); divOff("gp_div_sb_locedit_line");} else if (mode == GP_EDIT_LINE_MODE){ currentsubmode[currentmode] = mode; document.gp_frm_sb_locedit.gp_rad_sb_locedit_geomtype[GP_EDIT_LINE_MODE].checked=true; divOff("gp_div_sb_locedit_point"); divOn("gp_div_sb_locedit_line");}
if (currentsubmode[currentmode] == mode){ if (templateMode){ divOn("gp_div_sb_locedit_infowindow"); divOn("gp_div_sb_locedit_category"); if (document.gp_frm_sb_locedit.gp_chk_sb_locedit_regconv.checked){ divOn("gp_div_sb_locedit_regperm");} else { divOff("gp_div_sb_locedit_regperm");}
}
}
} else { userMessage ("Bad current main mode: "+currentmode); return(0);}
if (currentsubmode[currentmode] != mode){ userMessage ("Tried to change to unkown submode - MODE: "+currentmode+", SUBMODE:"+mode); return(0);}
return(0);}
function winResize(){ if (window.innerHeight){ gpBodyHeight=window.innerHeight; gpBodyHeight=gpBodyHeight-getDivHeight("gp_div_hdr"); gpBodyHeight=gpBodyHeight-getDivHeight("gp_div_ftr");} else { document.body.style.height="100%"; gpBodyHeight=document.body.clientHeight; gpBodyHeight = parseInt((gpBodyHeight / 100) * 75);}
setDivHeight("gp_div_map",gpBodyHeight); setDivHeight("gp_div_sidepanel",gpBodyHeight); var mainHeight = gpBodyHeight; if (divStatus("gp_div_tb")){ mainHeight=mainHeight-getDivHeight("gp_div_tb");}
if (divStatus("gp_div_bb")){ mainHeight=mainHeight-getDivHeight("gp_div_bb");}
setDivHeight("gp_div_sb",mainHeight); return(0);}
function getDivHeight(tmpDiv){ return(document.getElementById(tmpDiv).clientHeight);}
function setDivHeight(tmpDiv, tmpHeight){ var tmpDiv2 = document.getElementById(tmpDiv); tmpDiv2.style.height=tmpHeight+"px";}
function divStatus(tmpDiv){ if (document.getElementById){ var tmpStyle = document.getElementById(tmpDiv).style;}
else if (document.all){ var tmpStyle = document.all[tmpDiv].style;}
else if (document.layers){ var tmpStyle = document.layers[tmpDiv].style;}
if (tmpStyle.display=="block"){ return(true);} else { return(false);}
}
function divOn(tmpDiv){ if (document.getElementById){ var tmpStyle = document.getElementById(tmpDiv).style;}
else if (document.all){ var tmpStyle = document.all[tmpDiv].style;}
else if (document.layers){ var tmpStyle = document.layers[tmpDiv].style;}
tmpStyle.display="block";}
function divOff(tmpDiv){ if (document.getElementById){ var tmpStyle = document.getElementById(tmpDiv).style;}
else if (document.all){ var tmpStyle = document.all[tmpDiv].style;}
else if (document.layers){ var tmpStyle = document.layers[tmpDiv].style;}
tmpStyle.display="none";}
function xinha_init()
{ if(!Xinha.loadPlugins(xinha_plugins, xinha_init)) return; var xinha_config = new Xinha.Config(); xinha_config.toolbar=eval(settings['xinha_buttons']); xinha_config.width="300px"; xinha_config.height="400px"; xinha_editors = Xinha.makeEditors(xinha_editors, xinha_config, xinha_plugins); Xinha.startEditors(xinha_editors);}
function onXinhaLoad(editors,exec){ for ( var i in editors ){ if (editors[i]._iframeLoadDone != true){ t=setTimeout("onXinhaLoad(editors,exec)",1000); return(false);}
}
clearTimeout(t); eval(exec);}
function isset(object){ if (typeof(object) == "undefined"){ return (false);} else { return (true);}
}
function getElementsByClass(node,searchClass,tag) { var classElements = new Array(); var els = node.getElementsByTagName(tag); var elsLen = els.length; var pattern = new RegExp("\\b"+searchClass+"\\b"); for (var i = 0, j = 0; i < elsLen; i++) { if ( pattern.test(els[i].className) ) { classElements[j] = els[i]; j++;}
}
return classElements;}
function divHideChildrenByClass(node,searchClass,tag){ var tmp = getElementsByClass(node,searchClass,tag); for (var i=0;i<tmp.length;i++){ divOff(tmp[i].id);}
}
function divShowChildrenByClass(node,searchClass,tag){ var tmp = getElementsByClass(node,searchClass,tag); for (var i=0;i<tmp.length;i++){ divOn(tmp[i].id);}
}
function divHideChildren(node,tag){ var tmp = node.getElementsByTagName(tag); for (var i=0;i<tmp.length;i++){ divOff(tmp[i].id);}
}
function addOption(text,value,box) { if(text) { var opt = new Option(text,value); var count = box.options.length; box.options[count] = opt;}
}
function clearOption(box) { if (box.length){ var tmp = box.length; for (var i=0;i<tmp;i++){ box.options[0] = null;}
}
}
function decho(string){ if (settings['debug_mode']==1 && isAdmin){ GLog.writeHtml(string);}
}
function loadingPane(channel,message){ if (!isset(messages)){ var messages = new Array();}
messages[channel]=message; if (!messages['init']){ messages['init']='';}
if (!messages['plot']){ messages['plot']='';}
var tmpstr = ''; if (messages['init'] != ''){ tmpstr += messages['init']+"<br>";}
if (messages['plot'] != ''){ tmpstr += messages['plot']+"<br>";}
document.getElementById("gp_div_loading_msg").innerHTML = tmpstr; if (messages['init'] != '' || messages['plot'] != ''){ document.getElementById("gp_div_loading").style.visibility="visible";} else { document.getElementById("gp_div_loading").style.visibility="hidden";}
}
function isempty(object){ if (!isset(object)){ return(true);} else { if (object == ""){ return (true);} else { return (false);}
}
}
function seekLocationId(id,lat,lng,zoom){ var tmpvar=infowindowMainById(id); if (tmpvar == false){ seek_id = id; zoom_through = 0; map.setCenter(new GLatLng(lat,lng),zoom);}
}
function infowindowMainById(id){ for (var i=0;i<markers.length;i++){ if (markers[i].id == id){ infowindowMain(markers[i].markerindex); return (markers[i].markerindex);}
}
return(false);}
function goHistory(i){ var x=view_history[i][0]; var y=view_history[i][1]; var z=view_history[i][2]; view_history=view_history.splice(0,i); map.setCenter(new GLatLng(y,x),z);}
function infowindowMain(i) { if (!isset(markers[i].infowindow)){ var request = GXmlHttp.create(); incInfoUID(); var urlstr="gp_read.php?action=infowindow&locid="+markers[i].id+"&uid="+infoUID+"&"+queryOptions; request.open('GET', urlstr, true); request.onreadystatechange = function () { if (request.readyState == 4) { var xmlDoc = request.responseXML; var uniqueid = xmlDoc.documentElement.getElementsByTagName("request"); uniqueid=uniqueid[0].getAttribute("uniqueid"); var location = xmlDoc.documentElement.getElementsByTagName("location"); markers[i].infowindow=unescape(location[0].getAttribute("infowindow")); markers[i].pointowner=location[0].getAttribute("pointowner"); markers[i].topic_id=location[0].getAttribute("topic_id"); markers[i].locimport=unescape(location[0].getAttribute("import")); if (infoUID==uniqueid){ populateInfowindow(i);}
}
}
request.send(null);} else { populateInfowindow(i);}
}
function populateInfowindow(i){ if (markers[i].represents_region !=0){ if (markers[i].geometrytype=="LINESTRING"){ var linetmp=markers[i].geometry.split(","); if (linetmp.length){ var coords=linetmp[linetmp.length-1].split(" "); var mx=coords[0]; var my=coords[1];}
} else { var mx=markers[i].lng; var my=markers[i].lat;}
var mz=markers[i].rr_zoom; document.getElementById('gp_spn_iw_reg_name').innerHTML=markers[i].name; document.getElementById('gp_spn_iw_reg_child').innerHTML=markers[i].childcount; document.getElementById('gp_lnk_iw_reg_zoomto').href='javascript:map.setCenter(new GLatLng('+my+','+mx+'),'+(+mz-1)+')'; document.getElementById('gp_lnk_iw_reg_zoomthrough').href='javascript:map.closeInfoWindow();map.setCenter(new GLatLng('+my+','+mx+'),'+(+mz)+')'; document.getElementById('gp_lnk_iw_reg_creator').innerHTML=markers[i].pointowner; document.getElementById('gp_lnk_iw_reg_creator').href='profile.php?mode=viewprofile&u='+markers[i].pointowner; document.getElementById('gp_lnk_iw_reg_loclnk').href='index.php?action=seek&seekmode=location&location_id='+markers[i].id; document.getElementById('gp_lnk_iw_reg_reglnk').href='index.php?action=seek&seekmode=location&location_id='+markers[i].id+'&zoom_through=1'; document.getElementById('gp_div_iw_reg_html').innerHTML=markers[i].infowindow; if (markers[i].topic_id > 0){ document.getElementById('gp_lnk_iw_reg_discuss').innerHTML=gp_lang['discuss_comment']; document.getElementById('gp_lnk_iw_reg_discuss').href='javascript:var load=window.open("viewtopic.php?t='+markers[i].topic_id+'")'
} else { if (isLoggedIn){ document.getElementById('gp_lnk_iw_reg_discuss').innerHTML=gp_lang['discuss_start']; document.getElementById('gp_lnk_iw_reg_discuss').href='javascript:addPost('+markers[i].id+','+markers[i].markerindex+')';} else { document.getElementById('gp_lnk_iw_reg_discuss').innerHTML=gp_lang['discuss_notloggedin']; document.getElementById('gp_lnk_iw_reg_discuss').href='';}
}
document.getElementById('gp_txt_iw_to_end').value=markers[i].ilm; document.getElementById('gp_spn_iw_to_end').innerHTML=markers[i].ilm; document.getElementById('gp_txt_iw_from_start').value=markers[i].uudised; document.getElementById('gp_spn_iw_from_start').innerHTML=markers[i].uudised; document.getElementById('gp_lnk_iw_reg_import').href='javascript:viewImportData('+i+')'; var mainwindow = document.getElementById('gp_div_infowindow_reg').cloneNode(true); var towindow = document.getElementById('gp_div_infowindow_dirto').cloneNode(true); var fromwindow = document.getElementById('gp_div_infowindow_dirfrom').cloneNode(true);  markers[i].openInfoWindowTabs([new GInfoWindowTab(gp_lang['info'],mainwindow), new GInfoWindowTab(gp_lang['to_here'],towindow), new GInfoWindowTab(gp_lang['from_here'],fromwindow)]);} else { var mx=markers[i].lng; var my=markers[i].lat; var mz=GP_MAX_ZOOM-1; document.getElementById('gp_spn_iw_loc_name').innerHTML=markers[i].name; document.getElementById('gp_lnk_iw_loc_zoomto').href='javascript:map.setCenter(new GLatLng('+my+','+mx+'),'+(+mz-1)+')'; document.getElementById('gp_lnk_iw_loc_creator').innerHTML=markers[i].pointowner; document.getElementById('gp_lnk_iw_loc_creator').href='profile.php?mode=viewprofile&u='+markers[i].pointowner; document.getElementById('gp_lnk_iw_loc_loclnk').href='index.php?action=seek&seekmode=location&location_id='+markers[i].id; document.getElementById('gp_div_iw_loc_html').innerHTML=markers[i].infowindow; if (markers[i].topic_id > 0){ document.getElementById('gp_lnk_iw_loc_discuss').innerHTML=gp_lang['discuss_comment']; document.getElementById('gp_lnk_iw_loc_discuss').href='javascript:var load=window.open("viewtopic.php?t='+markers[i].topic_id+'")';} else { if (isLoggedIn){ document.getElementById('gp_lnk_iw_loc_discuss').innerHTML=gp_lang['discuss_start']; document.getElementById('gp_lnk_iw_loc_discuss').href='javascript:addPost('+markers[i].id+','+markers[i].markerindex+')';} else { document.getElementById('gp_lnk_iw_loc_discuss').innerHTML=gp_lang['discuss_notloggedin']; document.getElementById('gp_lnk_iw_loc_discuss').href='';}
}
document.getElementById('gp_lnk_iw_loc_import').href='javascript:viewImportData('+i+')'; var mainwindow = document.getElementById('gp_div_infowindow_loc').cloneNode(true); markers[i].openInfoWindowTabs([new GInfoWindowTab(gp_lang['info'],mainwindow)]);}
}
function userMessage(msg){ alert(msg);}
function removeTempMarkers(){ if (addmarker){ map.removeOverlay(addmarker); addmarker = false;}
if (endmarker){ map.removeOverlay(endmarker); endmarker=false;}
if (editpolys){ for (var i=0;i<editpolys.length;i++){ map.removeOverlay(editpolys[i]);}
editPoly=false;}
if (midmarkers){ for (var i=0;i<midmarkers.length;i++){ map.removeOverlay(midmarkers[i]);}
midmarkers=new Array();}
}
function markerDisplay(marker,show) { var i = marker.markerindex; if (show){ map.addOverlay(markers[i]); hiddenEditMarker=false;} else { map.removeOverlay(markers[i]); hiddenEditMarker=marker;}
}
function lineDisplay(marker,show) { if (show){ map.addOverlay(polylines[marker.polyline]);} else { map.removeOverlay(polylines[marker.polyline]);}
}
function getLocationMode(){ if(document.gp_frm_sb_locedit.gp_rad_sb_locedit_geomtype[GP_EDIT_LINE_MODE].checked){ return (GP_EDIT_LINE_MODE);} else { return (GP_EDIT_POINT_MODE);}
}
function getGuiMode(){ if (document.gp_frm_sb_locedit.gp_chk_sb_locedit_guiedit.checked==true){ return(GP_EDIT_GUI_MOVR);} else { return(GP_EDIT_GUI_LOC);}
}
function clearOverlay(){ var overlay=new Array(); overlay.isempty=true; overlay.name=''; overlay.geometry=''; overlay.lat=''; overlay.lng=''; overlay.markerindex=''; overlay.bunch_mo=''; overlay.infowindow=''; overlay.category='0'; overlay.represents_region='0'; overlay.geometrytype="POINT"; overlay.bunch_mo=''; selected_overlay=overlay; selected_location=false;}
function pointReset(){ if (newapi){ map.closeInfoWindow();}
removeTempMarkers(); editpath=[]; clearOverlay(); getRegions(0,0,document.gp_frm_sb_locedit.gp_sel_sb_locedit_regionselect, "getLocData()");}
function pointSubmit(){ if (isempty(document.gp_frm_sb_locedit.gp_txt_sb_locedit_name.value)){ userMessage(gp_lang['no_name_error']);} else { if (newapi){ map.closeInfoWindow();}
if (settings['xinha_enabled'] == 1){ var tmpInfo=xinha_editors.gp_txt_sb_locedit_infowindow.getHTML();} else { tmpInfo=document.gp_frm_sb_locedit.gp_txt_sb_locedit_infowindow.value;}
request = GXmlHttp.create(); var sendstr = 'PointName=' + escapePlus(document.gp_frm_sb_locedit.gp_txt_sb_locedit_name.value); sendstr += '&PointImport=' + escapePlus(document.gp_frm_line_import.gp_txt_line_import.value); sendstr += '&PointInfowindow=' + escapePlus(tmpInfo); sendstr += '&PointRegion=' + document.gp_frm_sb_locedit.gp_sel_sb_locedit_regionselect.value; sendstr += '&PointCategory=' + document.gp_frm_sb_locedit.gp_sel_sb_locedit_categoryselect.value; sendstr += '&PointBunch=' + document.gp_frm_sb_locedit.gp_chk_sb_locedit_regconv.checked; if (getLocationMode()==GP_EDIT_POINT_MODE){ var urlstr="gp_write.php?action=addpoint&"+queryOptions; sendstr += '&PointLat=' + escapePlus(document.gp_frm_sb_locedit.gp_txt_sb_locedit_lat.value); sendstr += '&PointLng=' + escapePlus(document.gp_frm_sb_locedit.gp_txt_sb_locedit_lng.value);} else if (getLocationMode()==GP_EDIT_LINE_MODE){ var urlstr="gp_write.php?action=addline&"+queryOptions; sendstr += '&PointLine=' + escapePlus(document.gp_frm_sb_locedit.gp_txt_sb_locedit_line.value);}
request.open('POST', urlstr , true); request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); request.onreadystatechange = function () { if (request.readyState == 4) { var xmlDoc = request.responseXML; replies = xmlDoc.documentElement.getElementsByTagName("reply"); if (replies[0].getAttribute("id")==1){ } else { userMessage ("ERROR: "+replies[0].getAttribute("message"));}
hiddenEditMarker=false; pointReset(); getVisibleMarkers();}
}
request.send(sendstr);}
}
function pointUpdate(){ if (isempty(document.gp_frm_sb_locedit.gp_txt_sb_locedit_name.value)){ userMessage(gp_lang['no_name_error']);} else { if (newapi){ map.closeInfoWindow();}
if (settings['xinha_enabled'] == 1){ var tmpInfo=xinha_editors.gp_txt_sb_locedit_infowindow.getHTML();} else { tmpInfo=document.gp_frm_sb_locedit.gp_txt_sb_locedit_infowindow.value;}
request = GXmlHttp.create(); sendstr = 'update_id='+selected_location; sendstr += '&PointName=' + escapePlus(document.gp_frm_sb_locedit.gp_txt_sb_locedit_name.value); sendstr += '&PointImport=' + escapePlus(document.gp_frm_line_import.gp_txt_line_import.value); sendstr += '&PointInfowindow='+escapePlus(tmpInfo); sendstr += '&PointRegion=' + escapePlus(document.gp_frm_sb_locedit.gp_sel_sb_locedit_regionselect.value); sendstr += '&PointCategory=' + document.gp_frm_sb_locedit.gp_sel_sb_locedit_categoryselect.value; sendstr += '&PointBunch=' + document.gp_frm_sb_locedit.gp_chk_sb_locedit_regconv.checked; sendstr += '&PointRrZoom=' + document.gp_frm_sb_locedit.gp_sel_sb_locedit_regconv_zoomlevel.value; if (getLocationMode()==GP_EDIT_POINT_MODE){ var urlstr="gp_write.php?action=editpoint&"+queryOptions; sendstr += '&PointLat=' + escapePlus(document.gp_frm_sb_locedit.gp_txt_sb_locedit_lat.value); sendstr += '&PointLng=' + escapePlus(document.gp_frm_sb_locedit.gp_txt_sb_locedit_lng.value);} else if (getLocationMode()==GP_EDIT_LINE_MODE){ var urlstr="gp_write.php?action=editline&"+queryOptions; sendstr += '&PointLine=' + escapePlus(document.gp_frm_sb_locedit.gp_txt_sb_locedit_line.value);}
if (document.gp_frm_sb_locedit.gp_chk_sb_locedit_regconv.checked==true){ var polytmp=geomToArray(document.gp_frm_sb_locedit.gp_txt_sb_locedit_movr.value); polytmp=arrayToGeom(polytmp); sendstr += '&PointBunchMo='+polytmp; sendstr += '&PointRrUsers='; for (var i=0;i < document.gp_frm_sb_locedit.gp_sel_sb_locedit_regperm_users.length;i++){ if (i>0){ sendstr += ",";}
sendstr += document.gp_frm_sb_locedit.gp_sel_sb_locedit_regperm_users.options[i].value;}
sendstr += '&PointRrGroups='; for (var i=0;i < document.gp_frm_sb_locedit.gp_sel_sb_locedit_regperm_groups.length;i++){ if (i>0){ sendstr += ",";}
sendstr += document.gp_frm_sb_locedit.gp_sel_sb_locedit_regperm_groups.options[i].value;}
}
request.open('POST', urlstr , true); request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); request.onreadystatechange = function () { if (request.readyState == 4) { var xmlDoc = request.responseXML; replies = xmlDoc.documentElement.getElementsByTagName("reply"); if (replies[0].getAttribute("id")==1){ } else { userMessage ("ERROR: "+replies[0].getAttribute("message"));}
getRegions(document.gp_frm_hdr_regionselect.gp_sel_hdr_regionselect.value,2,document.gp_frm_hdr_regionselect.gp_sel_hdr_regionselect); hiddenEditMarker=false; pointReset(); getVisibleMarkers();}
}
request.send(sendstr);}
}
function pointDelete(){ if (newapi){ map.closeInfoWindow();}
var request = GXmlHttp.create(); var urlstr="gp_write.php?action=delpoint&"+queryOptions; var sendstr='update_id='+selected_location; request.open('POST', urlstr , true); request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); request.onreadystatechange = function () { if (request.readyState == 4) { var xmlDoc = request.responseXML; replies = xmlDoc.documentElement.getElementsByTagName("reply"); if (replies[0].getAttribute("id")==1){ } else { userMessage ("ERROR: "+replies[0].getAttribute("message"));}
hiddenEditMarker=false; pointReset();}
}
request.send(sendstr);}
function textToWkt(linetmp){ if (linetmp.match(new RegExp("^Date,Longitude,Latitude,Altitude"))){ linetmp=linetmp.split("\n"); var lineout=""; var coords=""; for (var i = 1; i < linetmp.length;i++){ if (linetmp[i]){ if (i>1){ lineout += ",";}
coords=linetmp[i].split(","); lineout+= (coords[1]+" "+coords[2]);}
}
} else { lineout=linetmp;}
return (lineout);}
function editSetting(set_key, set_value){ decho ("Adding setting to phpBB db start"); switch (set_key){ case "debug_mode":
set_value=eval ('document.gp_frm_sb_settings.'+set_value+'.value'); break; case "xinha_settings":
editSetting ('xinha_enabled',document.gp_frm_sb_settings.gp_sel_sb_settings_xinha_status.value); editSetting ('xinha_file',set_value+'filename'); editSetting ('xinha_path',set_value+'path'); set_key="xinha_buttons"; set_value=set_value+"buttons"; set_value=eval ('document.gp_frm_sb_settings.'+set_value+'.value'); break; case "xinha_file":
set_value=eval ('document.gp_frm_sb_settings.'+set_value+'.value'); break; case "xinha_path":
set_value=eval ('document.gp_frm_sb_settings.'+set_value+'.value'); break; case "xinha_enabled":
break; case "showhelp_status":
set_value=eval ('document.gp_frm_sb_settings.'+set_value+'.value'); break; case "default_view":
editSetting("default_lng",set_value+'lng'); editSetting("default_zoom",set_value+'zoom'); set_key="default_lat"; set_value=set_value+"lat"
set_value=eval ('document.gp_frm_sb_settings.'+set_value+'.value'); break; case "default_lng":
set_value=eval ('document.gp_frm_sb_settings.'+set_value+'.value'); break; case "default_zoom":
set_value=eval ('document.gp_frm_sb_settings.'+set_value+'.value'); break; case "default_region":
set_value=eval ('document.gp_frm_sb_settings.'+set_value+'.value'); break; case "welcome_html":
if (settings['xinha_enabled'] == 1){ set_value=xinha_editors.gp_txt_sb_settings_welcome_html.getHTML();} else { set_value=eval ('document.gp_frm_sb_settings.'+set_value+'.value');}
set_value=escapePlus(set_value); break; case "root_permissions":
var root_users = ''; var root_groups = ''; for (var i=0;i<document.gp_frm_sb_settings.gp_sel_sb_settings_regperm_users.options.length;i++){ if (i > 0){ root_users += ",";}
root_users += document.gp_frm_sb_settings.gp_sel_sb_settings_regperm_users.options[i].value;}
for (var i=0;i<document.gp_frm_sb_settings.gp_sel_sb_settings_regperm_groups.options.length;i++){ if (i > 0){ root_groups += ",";}
root_groups += document.gp_frm_sb_settings.gp_sel_sb_settings_regperm_groups.options[i].value;}
break; default:
userMessage("ERROR: UNKOWN CONTROL "+set_value); return (0);}
if (set_key=="root_permissions"){ var urlstr="gp_write.php?action=root_permissions&"+queryOptions; var sendstr="PointRrUsers="+root_users+"&PointRrGroups="+root_groups; var usermessage=gp_lang['setting_ok'];} else { var urlstr="gp_write.php?action=settings&"+queryOptions; var sendstr="setting="+set_key+"&value="+set_value; var usermessage=gp_lang['setting_ok']+gp_lang['please_refresh'];}
var request = GXmlHttp.create(); request.open('POST', urlstr , true); request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); request.onreadystatechange = function () { if (request.readyState == 4) { var xmlDoc = request.responseXML; replies = xmlDoc.documentElement.getElementsByTagName("reply"); if (replies[0].getAttribute("id")==1){ settings[set_key]=unescape(set_value); if (set_key != "default_lng" && set_key != "default_lat" && set_key != "xinha_path" && set_key != "xinha_file" && set_key != "xinha_enabled" ){ userMessage (usermessage);}
} else { userMessage ("ERROR: "+replies[0].getAttribute("message"));}
decho ("Adding setting to phpBB db end"); return(true);}
}
request.send(sendstr);}
function editProfile(set_key, set_value){ decho ("Adding setting to phpBB db start"); switch (set_key){ case "default_view":
set_value = document.gp_frm_sb_profile.gp_txt_sb_profile_lng.value+","; set_value += document.gp_frm_sb_profile.gp_txt_sb_profile_lat.value+","; set_value += document.gp_frm_sb_profile.gp_txt_sb_profile_zoom.value; break; case "default_region":
if (set_value != ""){ set_value=eval ('document.gp_frm_sb_profile.'+set_value+'.value');}
break; default:
return (0);}
var urlstr="gp_write.php?action=profile&"+queryOptions; var sendstr="setting="+set_key+"&value="+set_value; var usermessage=gp_lang['setting_ok']+gp_lang['please_refresh']; var request = GXmlHttp.create(); request.open('POST', urlstr , true); request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); request.onreadystatechange = function () { if (request.readyState == 4) { var xmlDoc = request.responseXML; replies = xmlDoc.documentElement.getElementsByTagName("reply"); if (replies[0].getAttribute("id")==1){ profile[set_key]=unescape(set_value); userMessage (usermessage);} else { userMessage ("ERROR: "+replies[0].getAttribute("message"));}
}
decho ("Adding setting to phpBB db end"); return(true);}
request.send(sendstr);}
function small_window(url,id) { var config = 'scrollBars=yes,resizable=yes,toolbar=no,menubar=no,location=no,directories=no,width=300,height=120'; var newWindow = window.open(url, id, config);}
function med_window(url,id) { var config = 'scrollBars=yes,resizable=yes,toolbar=no,menubar=no,location=no,directories=no,width=400,height=220'; var newWindow = window.open(url, id, config);}
function addRegionUser(id,name){ if (currentmode == GP_EDIT_MODE){ var destinationList = window.document.gp_frm_sb_locedit.gp_sel_sb_locedit_regperm_users;} else if (currentmode == GP_SETTINGS_MODE){ var destinationList = window.document.gp_frm_sb_settings.gp_sel_sb_settings_regperm_users;}
$ctr=0; for(var i = 0; i < destinationList.options.length; i++) { if (destinationList.options[i] != null){ if (destinationList.options[i].value == id){ $ctr++; break;}
}
}
if ($ctr == 0){ addOption(name,id,destinationList);}
}
function addRegionGroup(id,name){ if (currentmode == GP_EDIT_MODE){ var destinationList = window.document.gp_frm_sb_locedit.gp_sel_sb_locedit_regperm_groups;} else if (currentmode == GP_SETTINGS_MODE){ var destinationList = window.document.gp_frm_sb_settings.gp_sel_sb_settings_regperm_groups;}
$ctr=0; for(var i = 0; i < destinationList.options.length; i++) { if (destinationList.options[i] != null){ if (destinationList.options[i].value == id){ $ctr++; break;}
}
}
if ($ctr == 0){ addOption(name,id,destinationList);}
}
function delListItem(tmpitem){ var i=tmpitem.selectedIndex; if (i >= 0){ tmpitem.options[i] = null;}
}
function initRegionForum(){ var request = GXmlHttp.create(); var urlstr="gp_read.php?action=forums"; request.open('GET', urlstr, true); request.onreadystatechange = function () { if (request.readyState == 4) { var xmlDoc = request.responseXML; var forums = xmlDoc.documentElement.getElementsByTagName("forum"); clearOption(document.gp_frm_sb_settings.gp_sel_sb_settings_regforum_f); addOption("None",0,document.gp_frm_sb_settings.gp_sel_sb_settings_regforum_f); for (var i=0;i<forums.length;i++){ addOption(forums[i].getAttribute("name"),forums[i].getAttribute("id"),document.gp_frm_sb_settings.gp_sel_sb_settings_regforum_f);}
getRegions(1, 0, document.gp_frm_sb_settings.gp_sel_sb_settings_regforum_r);}
}
request.send(null);}
function regionForumUpdate(region_id, forum_id){ var request = GXmlHttp.create(); var urlstr="gp_write.php?action=region_forum&"+queryOptions; var sendstr="&regid="+region_id+"&fid="+forum_id; request.open('POST', urlstr , true); request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); request.onreadystatechange = function () { if (request.readyState == 4) { var xmlDoc = request.responseXML; var replies = xmlDoc.documentElement.getElementsByTagName("reply"); if (replies[0].getAttribute("id")==1){ userMessage (gp_lang['setting_ok']+gp_lang['please_refresh']);} else { userMessage ("ERROR: "+replies[0].getAttribute("message"));}
}
}
request.send(sendstr);}
function getCenter(lng_box,lat_box,zoom_box){ var center = map.getCenter(); var xattr="lng()"; var yattr="lat()"; if (!isempty(lng_box) && !isempty(lat_box)){ eval(lng_box+".value=rndVar(center."+xattr+")"); eval(lat_box+".value=rndVar(center."+yattr+")");}
if (!isempty(zoom_box)){ eval (zoom_box+".value=map.getZoom()");}
}
function searchGeo(site, words){ if (site == "ws.geonames.org-fulltext"){ var urlstr = 'http://ws.geonames.org/search?q='+escapePlus(words)+'&maxRows=10';} else if (site == "ws.geonames.org-postcodes"){ var urlstr = 'http://ws.geonames.org/postalCodeSearch?postalcode='+escapePlus(words)+'&maxRows=10';}
var urlstr='gp_read.php?action=geocode&ajaxpassthru='+escapePlus(urlstr); var request = GXmlHttp.create(); var x=document.getElementById('gp_tab_sb_viewmode_search_results_geo').insertRow(1); var y=x.insertCell(0); y.colSpan="3"; y.innerHTML='<center>'+gp_lang['searching']+'... '+document.getElementById('gp_div_waitbar').innerHTML+'</center>'; divOff('gp_div_sb_viewmode_search_results_gp'); divOn('gp_div_sb_viewmode_search_results_geo'); request.open('GET', urlstr , true); request.onreadystatechange = function () { if (request.readyState == 4) { searchGeoResults(site,request.responseXML);}
}
request.send(null);}
function searchGeoResults(site,xmlDoc){ if (site=="ws.geonames.org-fulltext"){ var results = xmlDoc.documentElement.getElementsByTagName("geoname");} else if (site=="ws.geonames.org-postcodes"){ var results = xmlDoc.documentElement.getElementsByTagName("code");}
deleteRows('gp_tab_sb_viewmode_search_results_geo'); deleteRows('gp_tab_sb_viewmode_search_results_gp'); if (results.length){ var rowtype = 1; for (var i=0;i<results.length;i++, rowtype++){ if (rowtype==4){ rowtype=1;}
var x=document.getElementById('gp_tab_sb_viewmode_search_results_geo').insertRow(i+1); var y=x.insertCell(0); y.innerHTML=i+1; var y=x.insertCell(1); y.innerHTML='<a href="javascript:map.setCenter(new GLatLng('+results[i].getElementsByTagName('lat')[0].firstChild.nodeValue+','+results[i].getElementsByTagName('lng')[0].firstChild.nodeValue+'))">'+results[i].getElementsByTagName("name")[0].firstChild.nodeValue+'</a>'; var y=x.insertCell(2); y.innerHTML=results[i].getElementsByTagName("countryCode")[0].firstChild.nodeValue;}
} else { var x=document.getElementById('gp_tab_sb_viewmode_search_results_geo').insertRow(1); var y=x.insertCell(0); y.colSpan=3; y.innerHTML='<center>'+gp_lang['no_match']+'</center>';}
}
function deleteRows(tmpTable){ tmpTable=document.getElementById(tmpTable); if(tmpTable){ for (var i=tmpTable.rows.length-1;i>0;i--){ tmpTable.deleteRow(i);}
}
}
function searchLocs(words){ if (isset(document.gp_frm_sb_viewmode_search)){ deleteRows('gp_tab_sb_viewmode_search_results_gp'); divOn('gp_div_sb_viewmode_search_results_gp'); divOff('gp_div_sb_viewmode_search_results_geo'); var x=document.getElementById('gp_tab_sb_viewmode_search_results_gp').insertRow(1); var y=x.insertCell(0); y.colSpan="3"; y.innerHTML='<center>'+gp_lang['searching']+'... '+document.getElementById('gp_div_waitbar').innerHTML+'</center>'; var request = GXmlHttp.create(); var urlstr="gp_read.php?action=search&words="+escape(words)+"&"+queryOptions; request.open('GET', urlstr , true); request.onreadystatechange = function () { if (request.readyState == 4) { document.getElementById('gp_tab_sb_viewmode_search_results_gp').deleteRow(1); var xmlDoc = request.responseXML; var results = xmlDoc.documentElement.getElementsByTagName("result"); if (results.length){ var rowtype = 1
for (var i=0;i<results.length;i++, rowtype++){ if (rowtype==4){ rowtype=1;}
var coords = results[i].getAttribute("geometry"); coords=coords.split(","); coords=coords[0]; coords=coords.split(" "); var html = '<a href="javascript:'; html += 'seekLocationId('+results[i].getAttribute("location_id")+','+coords[1]+','+coords[0]+','+results[i].getAttribute("zoom")+')'; html += '">'+results[i].getAttribute("name")+'</a>'; var x=document.getElementById('gp_tab_sb_viewmode_search_results_gp').insertRow(i+1); var y=x.insertCell(0); y.innerHTML=i+1; var y=x.insertCell(1); y.innerHTML=results[i].getAttribute("score"); var y=x.insertCell(2); y.innerHTML=html;}
} else { var x=document.getElementById('gp_tab_sb_viewmode_search_results_gp').insertRow(1); var y=x.insertCell(0); y.colSpan="3"; y.innerHTML='<center>'+gp_lang['no_match']+'</center>';}
}
}
request.send(null);}
}
function seekLocationId(id,lat,lng,zoom){ var tmpvar=infowindowMainById(id); if (tmpvar == false){ seek_id = id; zoom_through = 0; map.setCenter(new GLatLng(lat,lng),zoom);}
}
function addPost(location_id, marker_id){ decho ("Adding post to phpBB start"); var request = GXmlHttp.create(); var urlstr="gp_write.php?action=addpost&"+queryOptions; var sendstr="update_id="+location_id; request.open('POST', urlstr , true); request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); request.onreadystatechange = function () { if (request.readyState == 4) { var xmlDoc = request.responseXML; replies = xmlDoc.documentElement.getElementsByTagName("reply"); if (replies[0].getAttribute("id")==1){ decho ("Received AJAX reply - post added OK"); markers[marker_id].topic_id=replies[0].getAttribute("topic_id"); infowindowMain(marker_id);} else { decho ("Received AJAX reply - post add FAILED"); userMessage ("ERROR: "+replies[0].getAttribute("message"));}
decho ("Adding post to phpBB end");}
}
request.send(sendstr);}
function lineImportInit(){ if (!selected_overlay.isempty && selected_overlay.markerindex >= 0){ document.gp_frm_line_import.gp_txt_line_import.value=markers[selected_overlay.markerindex].locimport;} else { document.gp_frm_line_import.gp_txt_line_import.value='';}
lineImportChange(); divOn('gp_div_line_import');}
function lineImportChange(){ if (document.gp_frm_line_import.gp_sel_line_import.value == 'gp'){ document.getElementById('gp_spn_line_import').innerHTML = gp_lang['gp_format_desc'];} else { document.getElementById('gp_spn_line_import').innerHTML = gp_lang['chtigps_format_desc'];}
}
function lineImport(){ if (document.gp_frm_line_import.gp_sel_line_import.value == 'gp'){ document.gp_frm_sb_locedit.gp_txt_sb_locedit_line.value=document.gp_frm_line_import.gp_txt_line_import.value; divOff('gp_div_line_import'); editpath=new Array(); plotTempMarkers();} else { var tmpStr=textToWkt(document.gp_frm_line_import.gp_txt_line_import.value); if (tmpStr != document.gp_frm_line_import.gp_txt_line_import.value){ divOff('gp_div_line_import'); document.gp_frm_sb_locedit.gp_txt_sb_locedit_line.value=tmpStr; editpath=new Array(); plotTempMarkers();} else { userMessage("NOT RECOGNISED");}
}
}
function viewImportData(i){ var load = window.open(); load.document.write('<textarea style="width:100%; height:100%">'+unescape(markers[i].locimport)+'</textarea>');}
