function Consts(){};Consts.VALIDATION_MSGS='validationmsgs';Consts.RESULT_VALUE='resultValue';Consts.RESULT_LIST='resultList';Consts.ERRORS='errors';function alertResult(o){if(o.responseText!==undefined){s="Transaction id: "+o.tId;s+="\nHTTP status: "+o.status;s+="\nStatus code message: "+o.statusText;s+="\n<li>HTTP headers: <ul>"+o.getAllResponseHeaders+"</ul></li>";s+="\nPHP response: "+o.responseText;s+="\nArgument object: "+o.argument;alert(s);}};function handleResult(o){try{var val=YAHOO.lang.JSON.parse('['+o.responseText+']');}catch(e){alert(e);alert(o.responseText);}
var success="";if(YAHOO.lang.isArray(val)){if(Consts.ERRORS in val[0]){var errors=val[0][Consts.ERRORS];var error;for(error in errors){if(errors.hasOwnProperty(error)){YAHOO.log(errors[error],"error");alert(errors[error]);}}}
if(val[0]!==null){success=val[0].resultValue;}}
return success;};if(typeof naviki=="undefined"||!naviki){var naviki={};}
if(typeof naviki.dialog=="undefined"||!naviki.dialog){naviki.dialog={};}
if(typeof naviki.event=="undefined"||!naviki.event){naviki.event={};}
if(typeof naviki.main=="undefined"||!naviki.main){naviki.main={};}
if(typeof naviki.main.portlets=="undefined"||!naviki.main.portlets){naviki.main.portlets={};}
if(typeof naviki.table=="undefined"||!naviki.table){naviki.table={};}
if(typeof naviki.validator=="undefined"||!naviki.validator){naviki.validator={};}
if(typeof naviki.way=="undefined"||!naviki.way){naviki.way={};}
if(typeof naviki.widget=="undefined"||!naviki.widget){naviki.widget={};}
if(typeof naviki.widget.small=="undefined"||!naviki.widget.small){naviki.widget.small={};};if(typeof naviki.widget.wide=="undefined"||!naviki.widget.wide){naviki.widget.wide={};};if(typeof naviki.xhr=="undefined"||!naviki.xhr){naviki.xhr={};};;

naviki.Template={substituteMarkerArray:function(subpart,markerarray){template=subpart;for(var marker in markerarray){regex=new RegExp(marker,"g");template=template.replace(regex,markerarray[marker]);}
return template;},getSubpart:function(subpartname){template=naviki.TEMPLATE_CONTENT;startIdx=template.indexOf(subpartname);endIdx=template.lastIndexOf(subpartname);return'<!-- '+subpartname+template.substr(startIdx,endIdx-startIdx)+subpartname+'-->';}};;

naviki.dialog.EditInPlaceDlg=function(el,userConfig){naviki.dialog.EditInPlaceDlg.superclass.constructor.call(this,el,userConfig);if(userConfig['editable']){var cmd=[{text:naviki.Lang.getLL('edit'),handler:this.handleSubmit}];this.cfg.queueProperty("buttons",cmd);}
this.edit=false;this.callback.argument=this;this.callback.success=function(o){this.argument.setBody(o.responseText);this.argument.edit=(document.getElementById('edit'+this.argument.id).style.display!='none');;this.argument.switchEditMode();};this.callback.upload=function(o){this.success(o);};this.callback.cache=false;};naviki.dialog.EditInPlaceDlg.prototype.handleSubmit=function(){if((this.edit===true)||(this.edit==true)){var elements=document.getElementsByTagName("input");for(var i=0;i<elements.length;i++){if(elements[i].type=="checkbox"){if(elements[i].checked){elements[i].value="1";}
else{elements[i].value="0";}}}
this.submit();}else{this.edit=!this.edit;this.switchEditMode();}};naviki.dialog.EditInPlaceDlg.prototype.switchEditMode=function(){document.getElementById('view'+this.id).style.display=(this.edit)?'none':'';document.getElementById('edit'+this.id).style.display=(this.edit)?'':'none';var buttons=this.getButtons();if(typeof(buttons[0])!='undefined'){if(this.edit){buttons[0].set('label',naviki.Lang.getLL('save'),true);}else{buttons[0].set('label',naviki.Lang.getLL('edit'),true);}}};naviki.dialog.EditInPlaceDlg.prototype.focusDefaultButton=function(){};naviki.dialog.EditInPlaceDlg.prototype.focusFirst=function(type,args,obj){};;

naviki.event.EventMgr=function(){this.disableDraggingMarker=new YAHOO.util.CustomEvent("disableDraggingMarker",this);this.enableDraggingMarker=new YAHOO.util.CustomEvent("enableDraggingMarker",this);this.addRoutingMarker=new YAHOO.util.CustomEvent("addRoutingMarker",this);this.moveRoutingMarker=new YAHOO.util.CustomEvent("moveRoutingMarker",this);this.updateRoutingInputs=new YAHOO.util.CustomEvent("updateRoutingInputs",this);this.enableDD=new YAHOO.util.CustomEvent("enableDD",this);this.disableDD=new YAHOO.util.CustomEvent("disableDD",this);this.clearRoutingRequest=new YAHOO.util.CustomEvent("clearRoutingRequest",this);this.showRoutingRequest=new YAHOO.util.CustomEvent("showRoutingRequest",this);this.onWayUpload=new YAHOO.util.CustomEvent("onWayUpload",this);this.onPhotoUpload=new YAHOO.util.CustomEvent("onPhotoUpload",this);this.onWayComment=new YAHOO.util.CustomEvent("onWayComment",this);this.getLoginFacebook=new YAHOO.util.CustomEvent("getLoginFacebook",this);this.getLoginTwitter=new YAHOO.util.CustomEvent("getLoginTwitter",this);this.collectInput=new YAHOO.util.CustomEvent("collectInput",this);this.onWindowResize=new YAHOO.util.CustomEvent("onWindowResize",this);this.onWindowLoad=new YAHOO.util.CustomEvent("onWindowLoad",this);this.onWindowUnLoad=new YAHOO.util.CustomEvent("onWindowUnLoad",this);this.onShow=new YAHOO.util.CustomEvent("onShow",this);this.onHide=new YAHOO.util.CustomEvent("onHide",this);this.enableControls=new YAHOO.util.CustomEvent("enableControls",this);this.disableControls=new YAHOO.util.CustomEvent("disableControls",this);this.enableMapFunctions=new YAHOO.util.CustomEvent("enableMapFunctions",this);this.disableMapFunctions=new YAHOO.util.CustomEvent("disableMapFunctions",this);this.disableGeDraggingMarker=new YAHOO.util.CustomEvent("disableGeDraggingMarker",this);this.enableGeDraggingMarker=new YAHOO.util.CustomEvent("enableGeDraggingMarker",this);this.disableGoogleEarth=new YAHOO.util.CustomEvent("disableGoogleEarth",this);this.requestGeolocationImage=new YAHOO.util.CustomEvent("requestGeolocationImage",this);this.responseGeolocationImage=new YAHOO.util.CustomEvent("responseGeolocationImage",this);this.removeGeolocationImage=new YAHOO.util.CustomEvent("removeGeolocationImage",this);this.removeAllGeolocationImage=new YAHOO.util.CustomEvent("removeAllGeolocationImage",this);this.addGeolocationImage=new YAHOO.util.CustomEvent("addGeolocationImage",this);this.enableDraggableGeolocationImage=new YAHOO.util.CustomEvent("enableDraggableGeolocationImage",this);this.disableDraggableGeolocationImage=new YAHOO.util.CustomEvent("disableDraggableGeolocationImage",this);this.onMapAddOverlay=new YAHOO.util.CustomEvent("onMapAddOverlay",this);this.onMapRemoveOverlay=new YAHOO.util.CustomEvent("onMapRemoveOverlay",this);this.removeWayOverlay=new YAHOO.util.CustomEvent("removeWayOverlay",this);this.addWayOverlay=new YAHOO.util.CustomEvent("addWayOverlay",this);this.removeHighlightOverlay=new YAHOO.util.CustomEvent("removeHighlightOverlay",this);this.addHighlightOverlay=new YAHOO.util.CustomEvent("addHighlightOverlay",this);this.updateWayOverlay=new YAHOO.util.CustomEvent("updateWayOverlay",this);this.updateWayInfo=new YAHOO.util.CustomEvent("updateWayInfo",this);this.removeWayInfoMarker=new YAHOO.util.CustomEvent("removeWayInfoMarker",this);this.addWayInfoMarker=new YAHOO.util.CustomEvent("addWayInfoMarker",this);this.updateWayView=new YAHOO.util.CustomEvent("updateWayView",this);this.enableDrawMode=new YAHOO.util.CustomEvent("enableDrawMode",this);this.disableDrawMode=new YAHOO.util.CustomEvent("disableDrawMode",this);this.storeDrawing=new YAHOO.util.CustomEvent("storeDrawing",this);this.loadDrawing=new YAHOO.util.CustomEvent("loadDrawing",this);this.getDrawing=new YAHOO.util.CustomEvent("getDrawing",this);this.existDrawing=new YAHOO.util.CustomEvent("existDrawing",this);this.onMapMoveEnd=new YAHOO.util.CustomEvent("onMapMoveEnd",this);this.onMapDrag=new YAHOO.util.CustomEvent("onMapDrag",this);this.onMapZoom=new YAHOO.util.CustomEvent("onMapZoom",this);this.hideContextMenu=new YAHOO.util.CustomEvent("hideContextMenu",this);this.showPopup=new YAHOO.util.CustomEvent("showPopup",this);this.hidePopup=new YAHOO.util.CustomEvent("hidePopup",this);this.updateContextMenu=new YAHOO.util.CustomEvent("updateContextMenu",this);this.mapPositioning=new YAHOO.util.CustomEvent("mapPositioning",this);this.onTrackChanged=new YAHOO.util.CustomEvent("onTrackChanged",this);this.displaySearchResult=new YAHOO.util.CustomEvent("displaySearchResult",this);this.showWayRatingDialog=new YAHOO.util.CustomEvent("showWayRatingDialog",this);this.hannitRequestResult=new YAHOO.util.CustomEvent("hannitRequestResult",this);this.updatePortlet=new YAHOO.util.CustomEvent("updatePortlet",this);this.updateWidth=new YAHOO.util.CustomEvent("updateWidth",this);this.showBooking=new YAHOO.util.CustomEvent("showBooking",this);this.showSmallMap=new YAHOO.util.CustomEvent("showSmallMap",this);};naviki.event.ValueChangeEvent=function(oldValue,newValue){this.oldValue=oldValue;this.newValue=newValue;};naviki.event.Receiver=function(){};naviki.event.Receiver.prototype.onTrackChanged=function(type,e,me){alert(type+"/"+e[0].newValue+"/"+me);};;

var eventMgr;var rec;naviki.main.NavikiClient={init:function(){YAHOO.lang.extend(naviki.main.ModalDialog,YAHOO.widget.Dialog,{bringToTop:naviki.main.ModalDialog.prototype.bringToTop,show:naviki.main.ModalDialog.prototype.show,hide:naviki.main.ModalDialog.prototype.hide});YAHOO.lang.extend(naviki.main.portlets.LayoutColumns,naviki.main.portlets.AbstractLayout,{updatePortletPositions:naviki.main.portlets.LayoutColumns.prototype.updatePortletPositions,updatePortletPosition:naviki.main.portlets.LayoutColumns.prototype.updatePortletPosition,getPortletWidth:naviki.main.portlets.LayoutColumns.prototype.getPortletWidth,getContainerID:naviki.main.portlets.LayoutColumns.prototype.getContainerID,addNewPortlet:naviki.main.portlets.LayoutColumns.prototype.addNewPortlet,placePortlet:naviki.main.portlets.LayoutColumns.prototype.placePortlet,placeAllPortlets:naviki.main.portlets.LayoutColumns.prototype.placeAllPortlets,initialize:naviki.main.portlets.LayoutColumns.prototype.initialize,onResize:naviki.main.portlets.LayoutColumns.prototype.onResize});YAHOO.lang.extend(naviki.main.portlets.AbstractPortlet,YAHOO.widget.Panel,{setDBID:naviki.main.portlets.AbstractPortlet.prototype.setDBID,getXMatrixPosition:naviki.main.portlets.AbstractPortlet.prototype.getXMatrixPosition,getYMatrixPosition:naviki.main.portlets.AbstractPortlet.prototype.getYMatrixPosition,setXMatrixPosition:naviki.main.portlets.AbstractPortlet.prototype.setXMatrixPosition,setYMatrixPosition:naviki.main.portlets.AbstractPortlet.prototype.setYMatrixPosition,setMinimized:naviki.main.portlets.AbstractPortlet.prototype.setMinimized,getType:naviki.main.portlets.AbstractPortlet.prototype.getType,updatePositionInLayout:naviki.main.portlets.AbstractPortlet.prototype.updatePositionInLayout,onSaveSuccess:naviki.main.portlets.AbstractPortlet.prototype.onSaveSuccess,onSaveFail:naviki.main.portlets.AbstractPortlet.prototype.onSaveFail,save:naviki.main.portlets.AbstractPortlet.prototype.save,getPageID:naviki.main.portlets.AbstractPortlet.prototype.getPageID,onHiding:naviki.main.portlets.AbstractPortlet.prototype.onHiding,onDragging:naviki.main.portlets.AbstractPortlet.prototype.onDragging,getPanelContainer:naviki.main.portlets.AbstractPortlet.prototype.getPanelContainer,getX:naviki.main.portlets.AbstractPortlet.prototype.getX,getY:naviki.main.portlets.AbstractPortlet.prototype.getY,render:naviki.main.portlets.AbstractPortlet.prototype.render,initialize:naviki.main.portlets.AbstractPortlet.prototype.initialize,updatePagination:naviki.main.portlets.AbstractPortlet.prototype.updatePagination,addDDRow:naviki.main.portlets.AbstractPortlet.prototype.addDDRow,updatePortlet:naviki.main.portlets.AbstractPortlet.prototype.updatePortlet,updateWidth:naviki.main.portlets.AbstractPortlet.prototype.updateWidth});YAHOO.lang.extend(naviki.main.portlets.MostExportedWaysPortlet,naviki.main.portlets.AbstractPortlet,{formatTableRow:naviki.main.portlets.MostExportedWaysPortlet.prototype.formatTableRow,initialize:naviki.main.portlets.MostExportedWaysPortlet.prototype.initialize});YAHOO.lang.extend(naviki.main.portlets.BestRatedWaysPortlet,naviki.main.portlets.AbstractPortlet,{formatTableRow:naviki.main.portlets.BestRatedWaysPortlet.prototype.formatTableRow,initialize:naviki.main.portlets.BestRatedWaysPortlet.prototype.initialize});YAHOO.lang.extend(naviki.main.portlets.MyBestRatedWaysPortlet,naviki.main.portlets.AbstractPortlet,{formatTableRow:naviki.main.portlets.MyBestRatedWaysPortlet.prototype.formatTableRow,initialize:naviki.main.portlets.MyBestRatedWaysPortlet.prototype.initialize});YAHOO.lang.extend(naviki.main.portlets.MyWaysPortlet,naviki.main.portlets.AbstractPortlet,{formatTableRow:naviki.main.portlets.MyWaysPortlet.prototype.formatTableRow,initialize:naviki.main.portlets.MyWaysPortlet.prototype.initialize});YAHOO.lang.extend(naviki.main.portlets.MyPrivateWaysPortlet,naviki.main.portlets.AbstractPortlet,{formatTableRow:naviki.main.portlets.MyPrivateWaysPortlet.prototype.formatTableRow,initialize:naviki.main.portlets.MyPrivateWaysPortlet.prototype.initialize});YAHOO.lang.extend(naviki.main.portlets.MyLongestWaysPortlet,naviki.main.portlets.AbstractPortlet,{formatTableRow:naviki.main.portlets.MyLongestWaysPortlet.prototype.formatTableRow,initialize:naviki.main.portlets.MyLongestWaysPortlet.prototype.initialize});YAHOO.lang.extend(naviki.main.portlets.LongestWaysPortlet,naviki.main.portlets.AbstractPortlet,{formatTableRow:naviki.main.portlets.LongestWaysPortlet.prototype.formatTableRow,initialize:naviki.main.portlets.LongestWaysPortlet.prototype.initialize});YAHOO.lang.extend(naviki.main.portlets.NewestWaysPortlet,naviki.main.portlets.AbstractPortlet,{formatTableRow:naviki.main.portlets.NewestWaysPortlet.prototype.formatTableRow,initialize:naviki.main.portlets.NewestWaysPortlet.prototype.initialize});YAHOO.lang.extend(naviki.main.portlets.HeighestWaysPortlet,naviki.main.portlets.AbstractPortlet,{formatTableRow:naviki.main.portlets.HeighestWaysPortlet.prototype.formatTableRow,initialize:naviki.main.portlets.HeighestWaysPortlet.prototype.initialize});YAHOO.lang.extend(naviki.main.portlets.HeighestWaysPortlet,naviki.main.portlets.AbstractPortlet,{formatTableRow:naviki.main.portlets.HeighestWaysPortlet.prototype.formatTableRow,initialize:naviki.main.portlets.HeighestWaysPortlet.prototype.initialize});YAHOO.lang.extend(naviki.main.portlets.UsersWithMostKMUploadsPortlet,naviki.main.portlets.AbstractPortlet,{formatTableRow:naviki.main.portlets.UsersWithMostKMUploadsPortlet.prototype.formatTableRow,initialize:naviki.main.portlets.UsersWithMostKMUploadsPortlet.prototype.initialize});YAHOO.lang.extend(naviki.main.portlets.MyPublicWaysPortlet,naviki.main.portlets.AbstractPortlet,{formatTableRow:naviki.main.portlets.MyPublicWaysPortlet.prototype.formatTableRow,initialize:naviki.main.portlets.MyPublicWaysPortlet.prototype.initialize});YAHOO.lang.extend(naviki.main.portlets.MyRoutingRequestPortlet,naviki.main.portlets.AbstractPortlet,{formatTableRow:naviki.main.portlets.MyRoutingRequestPortlet.prototype.formatTableRow,initialize:naviki.main.portlets.MyRoutingRequestPortlet.prototype.initialize});YAHOO.lang.extend(naviki.main.portlets.DDobject,YAHOO.util.DDProxy,{startDrag:naviki.main.portlets.DDobject.prototype.startDrag,endDrag:naviki.main.portlets.DDobject.prototype.endDrag,onDrag:naviki.main.portlets.DDobject.prototype.onDrag,deleteWay:naviki.main.portlets.DDobject.prototype.deleteWay});YAHOO.lang.extend(naviki.dialog.EditInPlaceDlg,YAHOO.widget.Dialog,{handleSubmit:naviki.dialog.EditInPlaceDlg.prototype.handleSubmit,switchEditMode:naviki.dialog.EditInPlaceDlg.prototype.switchEditMode,focusDefaultButton:naviki.dialog.EditInPlaceDlg.prototype.focusDefaultButton,focusFirst:naviki.dialog.EditInPlaceDlg.prototype.focusFirst});YAHOO.extend(naviki.main.MapTaskNode,YAHOO.widget.TextNode,naviki.main.MapTaskNode.override);YAHOO.extend(naviki.main.OpenLayerTaskNode,YAHOO.widget.TextNode,naviki.main.OpenLayerTaskNode.override);YAHOO.lang.extend(naviki.main.Way.dd,YAHOO.util.DDProxy,{startDrag:naviki.main.Way.dd.prototype.startDrag,endDrag:naviki.main.Way.dd.prototype.endDrag,onDrag:naviki.main.Way.dd.prototype.onDrag});YAHOO.lang.extend(naviki.main.RoutingRequest.dd,YAHOO.util.DDProxy,{startDrag:naviki.main.RoutingRequest.dd.prototype.startDrag,endDrag:naviki.main.RoutingRequest.dd.prototype.endDrag,setDragElPos:naviki.main.RoutingRequest.dd.prototype.setDragElPos,onDragOver:naviki.main.RoutingRequest.dd.prototype.onDragOver,onDrag:naviki.main.RoutingRequest.dd.prototype.onDrag,enableDD:naviki.main.RoutingRequest.dd.prototype.enableDD,disableDD:naviki.main.RoutingRequest.dd.prototype.disableDD});rec=new naviki.event.Receiver();eventMgr=new naviki.event.EventMgr();eventMgr.onTrackChanged.subscribe(rec.onTrackChanged,"subscribe value");window.onresize=function(){eventMgr.onWindowResize.fire(null);};window.onload=function(){eventMgr.onWindowLoad.fire(null);};window.onunload=function(){eventMgr.onWindowUnLoad.fire(null);};}};;

naviki.main.Map=function(config){this.obj=config['cidMap'];this.id=config['cid'];this.mapId=this.id+"Map";this.maxHeightWithoutMap=config['maxHeightWithoutMap'];this.have_fe_user=config['have_fe_user'];this.config=config;this.controls=true;this.mapSearch=true;this.highlightOverlay=null;this.highlightKml="";this.wayOverlay=new Array();this.wayKml=null;this.oldFactor=0;this.updateWay=false;this.mapType=config['mapType'];this.lat=config['lat'];this.lon=config['lon'];this.zoom=config['zoom'];this.layer=config['layer'];this.mapTypes=new Object();this.tree=null;this.maps=config['maps'];this.clickLayer=true;this.stopsLayerIcon="";this.browser=config['browser'];this.version=config['version'];if(this.browser=="msie"&&this.version=="6"){this.isIE6=1;}else{this.isIE6=0;}
this.glocClicked=false;this.polygon1=null;this.polygon2=null;this.ge=null;this.lastMapTypeGE=false;this.gefile=null;this.geDraggingMarker=true;this.tmpSatellite;this.imagemarkers=new Array();this.routingmarkers=new Array();eventMgr.enableControls.subscribe(this.enableControls,this);eventMgr.disableControls.subscribe(this.disableControls,this);eventMgr.onWindowResize.subscribe(this.onResize,this);eventMgr.onWindowLoad.subscribe(this.onLoad,this);eventMgr.onWindowUnLoad.subscribe(this.onUnLoad,this);eventMgr.onMapMoveEnd.subscribe(this.onMapMoveEnd,this);eventMgr.onMapDrag.subscribe(this.onMapDrag,this);eventMgr.onMapZoom.subscribe(this.onMapZoom,this);eventMgr.mapPositioning.subscribe(this.mapPositioning,this);eventMgr.disableGeDraggingMarker.subscribe(this.disableGeDraggingMarker,this);eventMgr.enableGeDraggingMarker.subscribe(this.enableGeDraggingMarker,this);eventMgr.disableGoogleEarth.subscribe(this.disableGoogleEarth,this);eventMgr.requestGeolocationImage.subscribe(this.requestGeolocationImage,this);eventMgr.removeGeolocationImage.subscribe(this.removeGeolocationImage,this);eventMgr.removeAllGeolocationImage.subscribe(this.removeAllGeolocationImage,this);eventMgr.addGeolocationImage.subscribe(this.addGeolocationImage,this);eventMgr.enableDraggableGeolocationImage.subscribe(this.enableDraggableGeolocationImage,this);eventMgr.disableDraggableGeolocationImage.subscribe(this.disableDraggableGeolocationImage,this);eventMgr.onMapAddOverlay.subscribe(this.onMapAddOverlay,this);eventMgr.onMapRemoveOverlay.subscribe(this.onMapRemoveOverlay,this);eventMgr.removeWayInfoMarker.subscribe(this.removeWayInfoMarker,this);eventMgr.addWayInfoMarker.subscribe(this.addWayInfoMarker,this);eventMgr.removeWayOverlay.subscribe(this.removeWayOverlay,this);eventMgr.removeHighlightOverlay.subscribe(this.removeHighlightOverlay,this);eventMgr.addHighlightOverlay.subscribe(this.addHighlightOverlay,this);eventMgr.addWayOverlay.subscribe(this.addWayOverlay,this);eventMgr.updateWayOverlay.subscribe(this.updateWayOverlay,this);eventMgr.addRoutingMarker.subscribe(this.addRoutingMarker,this);eventMgr.disableDraggingMarker.subscribe(this.disableDraggingMarker,this);eventMgr.enableDraggingMarker.subscribe(this.enableDraggingMarker,this);eventMgr.displaySearchResult.subscribe(this.displaySearchResult,this);eventMgr.enableMapFunctions.subscribe(this.enableMapFunctions,this);eventMgr.disableMapFunctions.subscribe(this.disableMapFunctions,this);};naviki.main.Map.MAX_ZOOM_LEVEL=19;naviki.main.Map.MIN_ZOOM_LEVEL=0;naviki.main.Map.prototype.mapPositioning=function(type,e,me){me.gmap.setCenter(new GLatLng(e[0],e[1]),parseInt(e[2]));};naviki.main.Map.prototype.onMapMoveEnd=function(type,e,me){if(me.have_fe_user==0){return;}
var address="index.php?eID=tx_naviki_pi_map&actionId=storeMapViewInSession&lat="+me.gmap.getCenter().lat()+"&lng="+me.gmap.getCenter().lng()+"&zoom="+me.gmap.getZoom();var oCallback={success:function(o){},failure:function(o){alert("Sorry, no data found for that address!\n Here is the response: "+o);},cache:false};var getXML=YAHOO.util.Connect.asyncRequest("GET",address,oCallback);};naviki.main.Map.prototype.onMapDrag=function(type,e,me){me.updateBrowserURL(e[0]);};naviki.main.Map.prototype.onMapZoom=function(type,e,me){if(me.wayOverlay.length>0){eventMgr.updateWayOverlay.fire();}
me.updateBrowserURL(e[0]);};naviki.main.Map.prototype.updateBrowserURL=function(gmap){window.location.hash="lat="+gmap.getCenter().lat()
+"&lon="+gmap.getCenter().lng()
+"&zoom="+gmap.getZoom();};naviki.main.Map.prototype.onUnLoad=function(type,e,me){if(typeof me.ge!="undefined"){me.ge.getTourPlayer().pause();me.ge.getTourPlayer().setTour(null);me.ge=null;}
if(typeof me.gmap!="undefined"){me.gmap=null;}};naviki.main.Map.prototype.onResize=function(type,e,me){if(me!=null){me.onResize(type,e,null);return;}
var e=document.getElementById(this.id);var h=-this.maxHeightWithoutMap;if(window.innerHeight){h+=window.innerHeight;}else{h+=window.document.documentElement.clientHeight;}
if(h<430)
h=430;e.style.height=h+"px";};naviki.main.Map.prototype.onLoad=function(type,e,me){if(me!=null){me.onLoad(type,e,null);return;}
if(this.initialized)
return;this.initialized=true;this.onResize("onWindowResize",[null],this);this.gmap=new GMap2(document.getElementById(this.id));this.gmap.myMap=this;var uri=window.location.hash;if(uri.length!=0){var tmp=uri.substr(uri.indexOf("#")+1,uri.length);tmp=tmp.split("&");if(tmp.length==3){if(tmp[0].search(/lat/)>=0&&tmp[1].search(/lon/)>=0&&tmp[2].search(/zoom/)>=0){this.lat=parseFloat(tmp[0].substr(tmp[0].indexOf("=")+1,tmp[0].length));this.lon=parseFloat(tmp[1].substr(tmp[1].indexOf("=")+1,tmp[1].length));this.zoom=parseInt(tmp[2].substr(tmp[2].indexOf("=")+1,tmp[2].length));}}}
this.gmap.setCenter(new GLatLng(this.lat,this.lon),this.zoom);if(typeof this.leftClick=="undefined"){this.leftClick=GEvent.addListener(this.gmap,"click",function(overlay,LatLon,overlayLatLon){if(overlay==null){eventMgr.hideContextMenu.fire();}
if(overlay==null&&typeof LatLon!='undefined'){if(this.myMap.clickLayer){this.myMap.selectedLayer=new Array();var nodeCount=this.myMap.tree.getNodeCount();for(var i=1;i<=nodeCount;i++){if(this.myMap.tree.getNodeByIndex(i).checked==true){this.myMap.selectedLayer.push(this.myMap.tree.getNodeByIndex(i));}}
if(this.myMap.selectedLayer.length>0){this.myMap.layerClickAction(LatLon);}}}});}
if(typeof this.maptypechanged=="undefined"){this.maptypechanged=true;GEvent.addListener(this.gmap,"maptypechanged",function(){if(this.getCurrentMapType().getName(false)=="Earth"){var myObj=this.myMap;this.myMap.hideCustomizeGMenuMapOverlayControl();this.myMap.hideCustomizeFullScreenControl();this.myMap.hideGeolocationControl();this.myMap.setTourKml();this.myMap.drawing.hideDrawMode();this.myMap.gmap.getEarthInstance(function(ge){myObj.ge=myObj.initEarth(ge);});}else{this.myMap.ge=null;this.myMap.showCustomizeGMenuMapOverlayControl();this.myMap.showCustomizeFullScreenControl();this.myMap.showGeolocationControl();this.myMap.drawing.showDrawMode();}});}
if(typeof this.mapmoveend=="undefined"){this.mapmoveend=true;GEvent.addListener(this.gmap,"moveend",function(){eventMgr.onMapMoveEnd.fire(this.myMap.gmap);});}
if(typeof this.drag=="undefined"){this.drag=true;GEvent.addListener(this.gmap,"drag",function(){eventMgr.onMapDrag.fire(this.myMap.gmap);});}
if(typeof this.zoomend=="undefined"){this.zoomend=true;GEvent.addListener(this.gmap,"zoomend",function(){eventMgr.onMapZoom.fire(this.myMap.gmap);});}
this.contextmenu=new ContextMenu(this);this.drawing=new drawing(this.gmap,this.id,this.contextmenu);this.gmap.enableScrollWheelZoom();this.gmap.enableDoubleClickZoom();this.gmap.addControl(new GLargeMapControl3D());if(naviki.Util.geolocation==1&&typeof navigator.geolocation!='undefined'){this.initGeolocation();}
if(this.config['desc_visible']==1){this.generateLandingpageMarker();}
if(this.config['fullscreenControl']==1){this.customizeFullScreenControl();}
if(this.config['overlayControl']==1){this.customizeGMenuMapOverlayControl();}
if(this.config['maptypeControl']==1){this.customizeGMenuMapTypeControl();}};naviki.main.Map.prototype.generateLandingpageMarker=function(){var lpLat=this.config['lpLat'];var lpLon=this.config['lpLon'];var lpText=this.config['lpText'];var lpPicture=this.config['lpPicture'];var lpHomepage=this.config['lpHomepage'];if(parseFloat(lpLat)>0&&parseFloat(lpLon)>0){var point=new GLatLng(lpLat,lpLon);var newicon=new GIcon(G_DEFAULT_ICON);newicon.image=naviki.Util.FILEADMIN_PATH+"img/pi_map/lp_marker.png";newicon.iconSize=new GSize(29,46);var marker=new GMarker(point,{draggable:false,icon:newicon});var text="<br /><table><tbody><tr><td>";if(lpPicture!=""){lpPicture="uploads/tx_naviki_domain_model_geoobject/"+lpPicture;text+="<img src='"+lpPicture+"' width='75' height='75' border='0' align='left' style='margin-right:5px;'>";}
text+="<p align='justify'>"+lpText+"</p>";text+="</td></tr>";text+="<tr><td><br /><a href="+lpHomepage+">"+lpHomepage+"</a></td></tr>";text+="</tbody></table>";GEvent.addListener(marker,"click",function(){marker.openInfoWindowHtml(text);});eventMgr.onMapAddOverlay.fire(marker);}};naviki.main.Map.prototype.setControlContainer=function(){var container=document.createElement("div");container.id=this.id+"controlContainer";YAHOO.util.Dom.addClass(container,'controlContainer');this.gmap.getContainer().appendChild(container);};naviki.main.Map.prototype.hideCustomizeFullScreenControl=function(){var container;container=document.getElementById(this.id+"fullscreenContainer");YAHOO.util.Dom.setStyle(container,'display',"none");container=document.getElementById(this.id+"maptypeButton");YAHOO.util.Dom.setStyle(container,'right',"7px");container=document.getElementById(this.id+"maptypeIframe");YAHOO.util.Dom.setStyle(container,'right',"7px");container=document.getElementById(this.id+"maptypeItems");YAHOO.util.Dom.setStyle(container,'right',"7px");};naviki.main.Map.prototype.showCustomizeFullScreenControl=function(){var container;container=document.getElementById(this.id+"fullscreenContainer");YAHOO.util.Dom.setStyle(container,'display',"");container=document.getElementById(this.id+"maptypeButton");YAHOO.util.Dom.setStyle(container,'right',"33px");container=document.getElementById(this.id+"maptypeIframe");YAHOO.util.Dom.setStyle(container,'right',"33px");container=document.getElementById(this.id+"maptypeItems");YAHOO.util.Dom.setStyle(container,'right',"33px");};naviki.main.Map.prototype.customizeFullScreenControl=function(){var fullscreen=false;var myObj=this;var tooltip=document.createElement("p");var container=document.createElement("div");var menuButton=document.createElement("div");var iframe=document.createElement("iframe");var map=myObj.gmap.getContainer();var cc=document.getElementById(this.id+"controlContainer");if(cc==null){this.setControlContainer();cc=document.getElementById(this.id+"controlContainer");}
tooltip.title=naviki.Lang.getLL('fullscreen_max_title');menuButton.id=this.id+"fullscreenButton";container.id=this.id+"fullscreenContainer";iframe.id=this.id+"fullscreenIframe";YAHOO.util.Dom.addClass(menuButton,'fullscreenButton');YAHOO.util.Dom.addClass(container,'fullscreenContainer');YAHOO.util.Dom.addClass(iframe,'fullscreenIframe');YAHOO.util.Dom.setStyle(menuButton,'right',"7px");tooltip.appendChild(menuButton);container.appendChild(tooltip);container.appendChild(iframe);cc.appendChild(container);YAHOO.util.Event.on(menuButton,'click',function(){if(myObj.controls==true){if(fullscreen==false){YAHOO.util.Dom.removeClass(menuButton,'fullscreenButton');YAHOO.util.Dom.addClass(menuButton,'redusescreenButton');tooltip.title=naviki.Lang.getLL('fullscreen_min_title');fullscreen=true;style=YAHOO.util.Dom.getAttribute(map,"style");YAHOO.util.Dom.setAttribute(map,"style","position:fixed;width:100%;height:100%;top:0px;left:0px;background-color:#ffffff;");myObj.gmap.checkResize();if(document.getElementById(myObj.id+"earthItem")!="undefined"){document.getElementById(myObj.id+"earthItem").style.display="none";}}else{YAHOO.util.Dom.removeClass(menuButton,'redusescreenButton');YAHOO.util.Dom.addClass(menuButton,'fullscreenButton');tooltip.title=naviki.Lang.getLL('fullscreen_max_title');fullscreen=false;YAHOO.util.Dom.setAttribute(map,"style",style);myObj.gmap.checkResize();if(document.getElementById(myObj.id+"earthItem")!="undefined"){document.getElementById(myObj.id+"earthItem").style.display="";}}}});};naviki.main.Map.prototype.addMaps=function(id){var element=document.getElementById(id);var items="";var obj=null;var active=0;var tmp=new Array();var copyright_1=naviki.Lang.getLL('copyright.0')+" "+naviki.Lang.getLL('copyright.1');;var copyright_2=naviki.Lang.getLL('copyright.0');for(var i=0;i<this.maps.length;i++){switch(parseInt(this.maps[i]['type'])){case 1:switch(parseInt(this.maps[i]['osm'])){case 2:var copyOSM=new GCopyrightCollection(copyright_2+" <a href=\"http://www.openstreetmap.org/\">OpenStreetMap</a>");copyOSM.addCopyright(new GCopyright(1,new GLatLngBounds(new GLatLng(-90,-180),new GLatLng(90,180)),0," "));var tilesMapnik=new GTileLayer(copyOSM,1,18,{tileUrlTemplate:'http://tile.openstreetmap.org/{Z}/{X}/{Y}.png'});var mapMapnik=new GMapType([tilesMapnik],G_NORMAL_MAP.getProjection(),this.maps[i]['name'],{urlArg:'osm'});obj=new Object();obj.uid=this.maps[i]['uid'];obj.name=this.maps[i]['name'];obj.type=mapMapnik;tmp.push(obj);break;case 3:var copyBikeOSM=new GCopyrightCollection(copyright_2+" <a href=\"http://www.openstreetmap.org/\">OpenStreetMap</a>");copyBikeOSM.addCopyright(new GCopyright(1,new GLatLngBounds(new GLatLng(-90,-180),new GLatLng(90,180)),0," "));var tilesBikeMapnik=new GTileLayer(copyBikeOSM,1,15,{tileUrlTemplate:'http://tile.opencyclemap.org/cycle/{Z}/{X}/{Y}.png'});var mapBikeMapnik=new GMapType([tilesBikeMapnik],G_NORMAL_MAP.getProjection(),this.maps[i]['name'],{urlArg:'osm_bike'});obj=new Object();obj.uid=this.maps[i]['uid'];obj.name=this.maps[i]['name'];obj.type=mapBikeMapnik;tmp.push(obj);break;}
break;case 2:switch(parseInt(this.maps[i]['google'])){case 1:var copyNormal=new GCopyrightCollection(copyright_1);copyNormal.addCopyright(new GCopyright(1,new GLatLngBounds(new GLatLng(-90,-180),new GLatLng(90,180)),0," "));var tilesNormal=new GTileLayer(copyNormal,1,19);var mapNormal=new GMapType([tilesNormal,G_NORMAL_MAP.getTileLayers()[0]],G_NORMAL_MAP.getProjection(),this.maps[i]['name'],{urlArg:'normal'});obj=new Object();obj.uid=this.maps[i]['uid'];obj.name=this.maps[i]['name'];obj.type=mapNormal;tmp.push(obj);break;case 2:var copyPhysical=new GCopyrightCollection(copyright_1);copyPhysical.addCopyright(new GCopyright(1,new GLatLngBounds(new GLatLng(-90,-180),new GLatLng(90,180)),0," "));var tilesPhysical=new GTileLayer(copyPhysical,1,15);var mapPhysical=new GMapType([tilesPhysical,G_PHYSICAL_MAP.getTileLayers()[0]],G_PHYSICAL_MAP.getProjection(),this.maps[i]['name'],{urlArg:'physical'});obj=new Object();obj.uid=this.maps[i]['uid'];obj.name=this.maps[i]['name'];obj.type=mapPhysical;tmp.push(obj);break;case 3:var copyHybrid=new GCopyrightCollection(copyright_1);copyHybrid.addCopyright(new GCopyright(1,new GLatLngBounds(new GLatLng(-90,-180),new GLatLng(90,180)),0," "));var tilesHybrid=new GTileLayer(copyHybrid,1,18);var mapHybrid=new GMapType([tilesHybrid,G_HYBRID_MAP.getTileLayers()[0],G_HYBRID_MAP.getTileLayers()[1]],G_HYBRID_MAP.getProjection(),this.maps[i]['name'],{urlArg:'hybrid'});mapHybrid.getMaximumResolution=function(){return 18;};obj=new Object();obj.uid=this.maps[i]['uid'];obj.name=this.maps[i]['name'];obj.type=mapHybrid;tmp.push(obj);break;case 4:var copySatellite=new GCopyrightCollection(copyright_1);copySatellite.addCopyright(new GCopyright(1,new GLatLngBounds(new GLatLng(-90,-180),new GLatLng(90,180)),0," "));var tilesSatellite=new GTileLayer(copySatellite,1,18);var mapSatellite=new GMapType([tilesSatellite,G_SATELLITE_MAP.getTileLayers()[0]],G_SATELLITE_MAP.getProjection(),this.maps[i]['name'],{urlArg:'satellite'});obj=new Object();obj.uid=this.maps[i]['uid'];obj.name=this.maps[i]['name'];obj.type=mapSatellite;tmp.push(obj);break;case 5:if(naviki.Util.googleEarth=="1"){obj=new Object();obj.uid=this.maps[i]['uid'];obj.name=this.maps[i]['name'];obj.type=G_SATELLITE_3D_MAP;tmp.push(obj);var copySatellite=new GCopyrightCollection(copyright_1);copySatellite.addCopyright(new GCopyright(1,new GLatLngBounds(new GLatLng(-90,-180),new GLatLng(90,180)),0," "));var tilesSatellite=new GTileLayer(copySatellite,1,18);this.tmpSatellite=new GMapType([tilesSatellite,G_SATELLITE_MAP.getTileLayers()[0]],G_SATELLITE_MAP.getProjection(),this.maps[i]['name'],{urlArg:'tmpEarth'});}
break;}
break;}
if(obj!=null){items+="<a href='javascript:"+this.obj+".setMapType("+(tmp.length-1)+");'>"+this.maps[i]['name']+"</a>";obj=null;if(parseInt(this.mapType)==parseInt(this.maps[i]['uid'])){active=tmp.length-1;}}}
if(items!=""){element.innerHTML=items;this.maps=tmp;this.setMapType(active);}};naviki.main.Map.prototype.setMapType=function(pos){var menuText=document.getElementById(this.id+"maptypeText");this.gmap.setMapType(this.maps[pos].type);menuText.innerHTML=this.maps[pos].name;this.activeMap=this.maps[pos];this.storeMapType(this.maps[pos].uid);};naviki.main.Map.prototype.customizeGMenuMapTypeControl=function(){var myObj=this;var container=document.createElement("div");var menuItems=document.createElement("div");var menuButton=document.createElement("div");var menuText=document.createElement("div");var iframe=document.createElement("iframe");var cc=document.getElementById(this.id+"controlContainer");if(cc==null){this.setControlContainer();cc=document.getElementById(this.id+"controlContainer");}
menuItems.id=this.id+"maptypeItems";menuButton.id=this.id+"maptypeButton";menuText.id=this.id+"maptypeText";container.id=this.id+"maptypeContainer";iframe.id=this.id+"maptypeIframe";YAHOO.util.Dom.addClass(menuItems,'maptypeItems');YAHOO.util.Dom.addClass(menuButton,'maptypeButton');YAHOO.util.Dom.addClass(menuText,'maptypeText');YAHOO.util.Dom.addClass(container,'maptypeContainer');YAHOO.util.Dom.addClass(iframe,'maptypeIframe');YAHOO.util.Dom.setStyle(menuButton,'right',"33px");menuButton.appendChild(menuText);container.appendChild(menuItems);container.appendChild(menuButton);container.appendChild(iframe);cc.appendChild(container);YAHOO.util.Event.on(document,'mousemove',function(e){if(myObj.controls==true){if(document.all){posx=window.event.clientX+document.documentElement.scrollLeft;posy=window.event.clientY+document.documentElement.scrollTop;}else{posx=e.pageX;posy=e.pageY;}
var region1=YAHOO.util.Dom.getRegion(myObj.id+"maptypeButton");if(posx>region1.left&&posx<(region1.left+region1.width)&&posy>region1.top&&posy<(region1.top+region1.height)){document.getElementById(myObj.id+"maptypeItems").style.display="inline";document.getElementById(myObj.id+"maptypeIframe").style.display="inline";}
var region2=YAHOO.util.Dom.getRegion(myObj.id+"maptypeItems");if(posx<region2.left||posx>(region2.left+region2.width)||posy<region1.top||posy>(region1.top+region1.height+region2.height)){document.getElementById(myObj.id+"maptypeItems").style.display="none";document.getElementById(myObj.id+"maptypeIframe").style.height=region1.height+"px";}else{if(typeof region2.height!="undefined"){document.getElementById(myObj.id+"maptypeIframe").style.height=(region1.height+region2.height-1)+"px";}}}});YAHOO.util.Event.on(document,'mouseup',function(e){var region1=YAHOO.util.Dom.getRegion(myObj.id+"maptypeButton");document.getElementById(myObj.id+"maptypeItems").style.display="none";document.getElementById(myObj.id+"maptypeIframe").style.height=region1.height+"px";});this.addMaps(menuItems.id);};naviki.main.Map.prototype.customizeGMenuMapOverlayControl=function(){var myObj=this;var container=document.createElement("div");var menuItems=document.createElement("div");var menuButton=document.createElement("div");var menuText=document.createElement("div");var cc=document.getElementById(this.id+"controlContainer");if(cc==null){this.setControlContainer();cc=document.getElementById(this.id+"controlContainer");}
menuItems.id=this.id+"overlayItems";menuButton.id=this.id+"overlayButton";menuText.id=this.id+"overlayText";container.id=this.id+"overlayContainer";YAHOO.util.Dom.addClass(menuItems,'overlayItems');YAHOO.util.Dom.addClass(menuButton,'overlayButton');YAHOO.util.Dom.addClass(menuText,'overlayText');YAHOO.util.Dom.addClass(container,'overlayContainer');YAHOO.util.Dom.setStyle(menuButton,'right',"134px");menuText.innerHTML=naviki.Lang.getLL('more');menuButton.appendChild(menuText);container.appendChild(menuItems);container.appendChild(menuButton);cc.appendChild(container);YAHOO.util.Event.on(document,'mousemove',function(e){if(myObj.controls==true){if(document.all){posx=window.event.clientX+document.documentElement.scrollLeft;posy=window.event.clientY+document.documentElement.scrollTop;}else{posx=e.pageX;posy=e.pageY;}
var region1=YAHOO.util.Dom.getRegion(myObj.id+"overlayButton");if(posx>region1.left&&posx<(region1.left+region1.width)&&posy>region1.top&&posy<(region1.top+region1.height)){document.getElementById(myObj.id+"overlayItems").style.display="inline";}
var region2=YAHOO.util.Dom.getRegion(myObj.id+"overlayItems");if((posx<region2.left||posx>(region2.left+region2.width)||posy<region2.top||posy>(region2.top+region2.height))&&(posx<region1.left||posx>(region1.left+region1.width)||posy<region1.top||posy>(region1.top+region1.height))){document.getElementById(myObj.id+"overlayItems").style.display="none";}}});this.gmap.myObj=this;this.tree=new YAHOO.widget.TreeView(this.id+"overlayItems");this.buildTree(this.tree.getRoot(),0);this.tree.draw();if(this.layer.length<=0){menuButton.style.visibility="hidden";}};naviki.main.Map.prototype.buildTree=function(root,idx){var xmlObj;var node;var label;var copy;var tileLayer;var myLayer;var overlay;for(var i=0;i<this.layer.length;i++){if(parseInt(this.layer[i]["treenode"])==idx){switch(parseInt(this.layer[i]["type"])){case 0:label={label:this.layer[i]["name"],mylabel:this.layer[i]["uid"],myType:this.layer[i]["type"]};node=new naviki.main.MapTaskNode(label,root,false);this.buildTree(node,this.layer[i]["uid"]);break;case 1:if(this.isIE6==0&&this.layer[i]["tileUrl"]!=""){copy=new GCopyrightCollection(this.layer[i]["tileCopyright"]);copy.addCopyright(new GCopyright(1,new GLatLngBounds(new GLatLng(-90,-180),new GLatLng(90,180)),0," "));tileLayer=new GTileLayer(copy,1,17,{tileUrlTemplate:this.layer[i]["tileUrl"]+"{Z}/{X}/{Y}.png"});myLayer=new GTileLayerOverlay(tileLayer);overlay=new Array(myLayer);label={label:this.layer[i]["name"],mylabel:this.layer[i]["uid"],myType:this.layer[i]["type"]};node=new naviki.main.MapTaskNode(label,root,false,false,overlay,this.gmap);}
break;case 2:if(this.layer[i]["googleLayerId"]!=""){label={label:this.layer[i]["name"],mylabel:this.layer[i]["uid"],myType:this.layer[i]["type"]};overlay=new Array(new GLayer(this.layer[i]["googleLayerId"]));node=new naviki.main.MapTaskNode(label,root,false,false,overlay,this.gmap);}
break;case 3:xmlObj=new GGeoXml(""+naviki.Util.DOMAIN_URL+"uploads/tx_naviki_domain_model_layer/"+this.layer[i]["kmlFile"]);overlay=new Array(xmlObj);label={label:this.layer[i]["name"],mylabel:this.layer[i]["uid"],myType:this.layer[i]["type"]};node=new naviki.main.MapTaskNode(label,root,false,false,overlay,this.gmap);break;case 4:case 6:var myObj=this;var haltestellen=new GTileLayer(new GCopyrightCollection(""),1,17);haltestellen.getTileUrl=function(a,b,c){var lULP=new GPoint(a.x*256,(a.y+1)*256);var lLRP=new GPoint((a.x+1)*256,a.y*256);var lUL=G_NORMAL_MAP.getProjection().fromPixelToLatLng(lULP,b,c);var lLR=G_NORMAL_MAP.getProjection().fromPixelToLatLng(lLRP,b,c);var lBbox=lUL.x+","+lUL.y+","+lLR.x+","+lLR.y;var lURL="http://maps2.connect-info.net/mapserv";lURL+="?MAP=/data/umn/hannit/mapfiles/haltestellen_remoteJson.map";lURL+="&LAYERS=haltestellenpunkte";lURL+="&TRANSPARENT=TRUE";lURL+="&FORMAT=png";lURL+="&SERVICE=WMS";lURL+="&VERSION=1.1.1";lURL+="&REQUEST=GetMap";lURL+="&STYLES=";lURL+="&EXCEPTIONS=application/Fvnd.ogc.se_inimage";lURL+="&SRS=EPSG:4326";lURL+="&BBOX="+lBbox;lURL+="&WIDTH=256";lURL+="&HEIGHT=256";return lURL;};haltestellen.getOpacity=function(){return 1.0;};this.stopsLayerIcon=this.layer[i]["wmsStopsIcon"];var WMSLayer=new GTileLayerOverlay(haltestellen);overlay=new Array(WMSLayer);label={label:this.layer[i]["name"],mylabel:this.layer[i]["uid"],myType:this.layer[i]["type"]};node=new naviki.main.MapTaskNode(label,root,false,false,overlay,this.gmap);break;case 7:overlay=new Array();for(var j=0;j<this.layer[i]["weather"].length;j++){if(this.layer[i]["weather"][j]['state']=="OK"){var point=new GLatLng(this.layer[i]["weather"][j]['lat'],this.layer[i]["weather"][j]['lon']);var newicon=new GIcon(G_DEFAULT_ICON);newicon.image=this.layer[i]["weather"][j]['image']['url'];newicon.iconSize=new GSize(52,52);var marker=new GMarker(point,{draggable:false,icon:newicon});overlay.push(marker);}}
label={label:this.layer[i]["name"],mylabel:this.layer[i]["uid"],myType:this.layer[i]["type"],haveWays:this.layer[i]["haveWays"]};node=new naviki.main.MapTaskNode(label,root,false,false,overlay,this.gmap);break;}
if(parseInt(this.layer[i]["active"])==1&&parseInt(this.layer[i]["type"])!=0){if(parseInt(this.layer[i]["type"])==2){if(this.isIE6==0){node.setUpCheck(true);}}else{node.setUpCheck(true);}}}}};naviki.main.Map.prototype.showCustomizeGMenuMapOverlayControl=function(){var nodeCount=this.tree.getNodeCount();var overlay;for(var i=1;i<=nodeCount;i++){if(this.tree.getNodeByIndex(i).checked==true){overlay=this.tree.getNodeByIndex(i).overlay;if(overlay){eventMgr.onMapAddOverlay.fire(overlay);}}}
if(this.layer.length>0){var overlayButton=document.getElementById(this.id+"overlayButton");overlayButton.style.visibility="visible";}};naviki.main.Map.prototype.hideCustomizeGMenuMapOverlayControl=function(){var nodeCount=this.tree.getNodeCount();var overlay;for(var i=1;i<=nodeCount;i++){if(this.tree.getNodeByIndex(i).checked==true){overlay=this.tree.getNodeByIndex(i).overlay;if(overlay){eventMgr.onMapRemoveOverlay.fire(overlay);}}}
if(this.layer.length>0){var overlayButton=document.getElementById(this.id+"overlayButton");overlayButton.style.visibility="hidden";}};naviki.main.Map.prototype.hideGeolocationControl=function(){var element=document.getElementById(this.id+"geolocationContainer");if(element!=null){element.style.display="none";}};naviki.main.Map.prototype.showGeolocationControl=function(){var element=document.getElementById(this.id+"geolocationContainer");if(element!=null){element.style.display="";}};naviki.main.Map.prototype.initGeolocation=function(){var myObj=this;var tooltip=document.createElement("p");var container=document.createElement("div");var menuItems=document.createElement("div");var cc=document.getElementById(this.id+"controlContainer");if(cc==null){this.setControlContainer();cc=document.getElementById(this.id+"controlContainer");}
tooltip.title=naviki.Lang.getLL('geolocation_title');menuItems.id=this.id+"geolocationItem";container.id=this.id+"geolocationContainer";YAHOO.util.Dom.addClass(menuItems,'geolocationItem-no');YAHOO.util.Dom.addClass(container,'geolocationContainer');YAHOO.util.Dom.setStyle(menuItems,'right',"236px");tooltip.appendChild(menuItems);container.appendChild(tooltip);cc.appendChild(container);YAHOO.util.Event.on(menuItems,'click',function(e){var location,lat,lon;if(YAHOO.util.Dom.getAttribute(menuItems,'class')=="geolocationItem-no"){YAHOO.util.Dom.replaceClass(menuItems,'geolocationItem-no','geolocationItem-wait');location=navigator.geolocation;location.getCurrentPosition(function(position){lat=position.coords.latitude;lon=position.coords.longitude;YAHOO.util.Dom.replaceClass(menuItems,'geolocationItem-wait','geolocationItem-act');myObj.drawPosition(lat,lon);},function(positionError){YAHOO.util.Dom.replaceClass(menuItems,'geolocationItem-wait','geolocationItem-no');},{timeout:30000,maximumAge:600000,enableHighAccuracy:false});}else if(YAHOO.util.Dom.getAttribute(menuItems,'class')=="geolocationItem-act"){YAHOO.util.Dom.replaceClass(menuItems,'geolocationItem-act','geolocationItem-no');myObj.clearPosition();}});};naviki.main.Map.prototype.clearPosition=function(){if(typeof this.geolocationCircle!='undefined'){this.gmap.removeOverlay(this.geolocationCircle);}
if(typeof this.geolocationMarker!='undefined'){this.gmap.removeOverlay(this.geolocationMarker);GEvent.removeListener(this.geolocationMarkerEvent);}};naviki.main.Map.prototype.drawPosition=function(lat,lon){var myObj=this;var zoom=this.gmap.getCurrentMapType().getMaximumResolution();if(zoom>15){zoom=15;}
this.gmap.setCenter(new GLatLng(lat,lon),zoom);this.geolocationMarker=new GMarker(this.gmap.getCenter(),{draggable:false,icon:new GIcon(G_DEFAULT_ICON)});this.geolocationMarkerEvent=GEvent.addListener(this.geolocationMarker,'click',function(){var link="";var lat=this.getLatLng().lat();var lon=this.getLatLng().lng();var x=myObj.gmap.fromLatLngToContainerPixel(this.getLatLng()).x;var y=myObj.gmap.fromLatLngToContainerPixel(this.getLatLng()).y;for(var key in myObj.contextmenu.links){link+=myObj.contextmenu.links[key];}
if(link.length!=0){link=link.replace(/###LAT###/g,lat);link=link.replace(/###LNG###/g,lon);link=link.replace(/###ZOOM###/g,myObj.gmap.getZoom());myObj.contextmenu.coor['lat']=lat;myObj.contextmenu.coor['lng']=lon;myObj.contextmenu.contextMenuShow(x,y,link);}});this.gmap.addOverlay(this.geolocationMarker);};naviki.main.Map.prototype.drawCircle=function(radius,strokeColor,strokeWidth,strokeOpacity,fillColor,fillOpacity){var gPoint=this.gmap.fromLatLngToContainerPixel(this.gmap.getCenter());var lat=gPoint.y;var lng=gPoint.x;var d2r=Math.PI/180;var r2d=180/Math.PI;var Clat=radius;var Clng=Clat/Math.cos(lat*d2r);var Cpoints=[];for(var i=0;i<33;i++){var theta=Math.PI*(i/16);Cy=lat+(Clat*Math.sin(theta));Cx=lng+(Clng*Math.cos(theta));var P=this.gmap.fromContainerPixelToLatLng(new GPoint(Cx,Cy));Cpoints.push(P);}
var polygon=new GPolygon(Cpoints,strokeColor,strokeWidth,strokeOpacity,fillColor,fillOpacity);return polygon;};naviki.main.Map.prototype.enableControls=function(type,e,me){if(me.ge!=null&&me.lastMapTypeGE==true){me.lastMapTypeGE=false;if(me.browser=="msie"){me.gmap.setMapType(G_SATELLITE_3D_MAP);}else{me.ge.getNavigationControl().setVisibility(me.ge.VISIBILITY_SHOW);me.ge.getOptions().setMouseNavigationEnabled(true);}}
me.controls=true;};naviki.main.Map.prototype.disableControls=function(type,e,me){if(me.ge!=null&&me.gmap.getCurrentMapType().getName(false)=="Earth"){me.lastMapTypeGE=true;if(me.browser=="msie"){me.gmap.setMapType(me.tmpSatellite);}else{me.ge.getNavigationControl().setVisibility(me.ge.VISIBILITY_HIDE);me.ge.getOptions().setMouseNavigationEnabled(false);me.ge.getTourPlayer().pause();}}
me.controls=false;};naviki.main.Map.prototype.displaySearchResult=function(type,e,me){if((typeof me.gmap.lastSearchResult)!='undefined'){me.gmap.removeOverlay(me.gmap.lastSearchResult);}
var coorstring=e[0].getData("coordinates");var coors=coorstring.split(",",2);var point=new GLatLng(coors[0],coors[1]);me.gmap.panTo(point);me.gmap.setCenter(point,13);var tinyIcon=new GIcon();tinyIcon.image=naviki.Util.FILEADMIN_PATH+"img/pi_map/naviki_marker_transparent.png";tinyIcon.iconSize=new GSize(39,39);tinyIcon.iconAnchor=new GPoint(0,0);tinyIcon.infoWindowAnchor=new GPoint(1,1);markerOptions={icon:tinyIcon};var marker=new GMarker(point,markerOptions);me.gmap.addOverlay(marker);marker.openInfoWindowHtml("<b>"+e[0].getData("name")+"</b>");me.gmap.lastSearchResult=marker;};naviki.main.Map.prototype.createBounds=function(lat,lon){var point=new GLatLng(lat,lon);var deltaX=20;var deltaY=20;this.center=new Object();this.center.lat=lat;this.center.lon=lon;this.pointXY=this.gmap.fromLatLngToContainerPixel(point);this.polygon=new GPolygon([this.gmap.fromContainerPixelToLatLng(new GPoint(this.pointXY.x-deltaX,this.pointXY.y-deltaY)),this.gmap.fromContainerPixelToLatLng(new GPoint(this.pointXY.x+deltaX,this.pointXY.y-deltaY)),this.gmap.fromContainerPixelToLatLng(new GPoint(this.pointXY.x+deltaX,this.pointXY.y+deltaY)),this.gmap.fromContainerPixelToLatLng(new GPoint(this.pointXY.x-deltaX,this.pointXY.y+deltaY)),this.gmap.fromContainerPixelToLatLng(new GPoint(this.pointXY.x-deltaX,this.pointXY.y-deltaY))],"#f33f00",5,1,"#ff0000",0.2);document.myObj=this;YAHOO.util.Event.on(document,'mousemove',this.handlerMousemove);YAHOO.util.Event.on(document,'click',this.handlerClick);eventMgr.hideContextMenu.fire();this.gmap.addOverlay(this.polygon);};naviki.main.Map.prototype.handlerClick=function(e){var bounds=this.myObj.polygon.getBounds();var zoom=this.myObj.gmap.getBoundsZoomLevel(bounds);var lat=this.myObj.center.lat;var lng=this.myObj.center.lon;var bbox="";for(var i=0;i<this.myObj.polygon.getVertexCount();i++){if(i!=0){bbox+=",";}
bbox+=this.myObj.polygon.getVertex(i).lng()+" "+this.myObj.polygon.getVertex(i).lat();}
this.myObj.gmap.removeOverlay(this.myObj.polygon);YAHOO.util.Event.removeListener(document,"click",this.myObj.handlerClick);YAHOO.util.Event.removeListener(document,"mousemove",this.myObj.handlerMousemove);if(this.myObj.config['waySearchresultsTargetSite']!=""&&typeof this.myObj.config['waySearchresultsTargetSite']!='undefined'){var url=this.myObj.config['waySearchresultsTargetSite']+"?zoom="+zoom+"&lat="+lat+"&lng="+lng+"&bbox="+bbox;var url="http://"+window.location.hostname+"/"+url;window.location.href=url;}};naviki.main.Map.prototype.handlerMousemove=function(e){var deltaX;var deltaY;var region=YAHOO.util.Dom.getRegion(this.myObj.id);if(document.all){posx=window.event.clientX+document.documentElement.scrollLeft;posy=window.event.clientY+document.documentElement.scrollTop;}else{posx=e.pageX;posy=e.pageY;}
if((posx-region.left)>this.myObj.pointXY.x){deltaX=(posx-region.left)-this.myObj.pointXY.x;}else{deltaX=this.myObj.pointXY.x-(posx-region.left);}
if((posy-region.top)>this.myObj.pointXY.y){deltaY=(posy-region.top)-this.myObj.pointXY.y;}else{deltaY=this.myObj.pointXY.y-(posy-region.top);}
if(posx>region.left&&posx<(region.left+region.width)&&posy>region.top&&posy<(region.top+region.height)){this.myObj.gmap.removeOverlay(this.myObj.polygon);this.myObj.polygon=new GPolygon([this.myObj.gmap.fromContainerPixelToLatLng(new GPoint(this.myObj.pointXY.x-deltaX,this.myObj.pointXY.y-deltaY)),this.myObj.gmap.fromContainerPixelToLatLng(new GPoint(this.myObj.pointXY.x+deltaX,this.myObj.pointXY.y-deltaY)),this.myObj.gmap.fromContainerPixelToLatLng(new GPoint(this.myObj.pointXY.x+deltaX,this.myObj.pointXY.y+deltaY)),this.myObj.gmap.fromContainerPixelToLatLng(new GPoint(this.myObj.pointXY.x-deltaX,this.myObj.pointXY.y+deltaY)),this.myObj.gmap.fromContainerPixelToLatLng(new GPoint(this.myObj.pointXY.x-deltaX,this.myObj.pointXY.y-deltaY))],"#f33f00",5,1,"#ff0000",0.2);this.myObj.gmap.addOverlay(this.myObj.polygon);}};naviki.main.Map.prototype.storeMapType=function(type){if(this.have_fe_user==0){return;}
var address="index.php?eID=tx_naviki_pi_map&actionId=storeMapType&mapType="+type;var oCallback={success:function(o){},failure:function(o){alert("Sorry, no data found for that address!\n Here is the response: "+o);},cache:false};var getXML=YAHOO.util.Connect.asyncRequest("GET",address,oCallback);};naviki.main.Map.prototype.initEarth=function(ge){if(ge!=null){var myObj=this;var link="";ge.getWindow().setVisibility(false);ge.getNavigationControl().setVisibility(ge.VISIBILITY_SHOW);var layerRoot=ge.getLayerRoot();var terrainLayer=layerRoot.getLayerById(ge.LAYER_TERRAIN);terrainLayer.setVisibility(true);if(typeof this.ge_mousedown=="undefined"){this.ge_mousedown=true;google.earth.addEventListener(ge.getWindow(),'mousedown',function(event){if(event.getButton()==0){if(event.getTarget().getType()=='KmlPlacemark'&&event.getTarget().getGeometry().getType()=='KmlPoint'&&myObj.geDraggingMarker==true){var icon=event.getTarget().getComputedStyle().getIconStyle().getIcon().getHref();if(icon.search(/www.geocodezip.com\/mapIcons\/marker.+/)>=0){var placemark=event.getTarget();dragInfo={placemark:event.getTarget(),dragged:false,href:icon};}
if(icon.search(/naviki_imagemarker.+/)>=0){var placemark=event.getTarget();dragInfo={placemark:event.getTarget(),dragged:false,href:icon};}}}});}
if(typeof this.ge_dblclick=="undefined"){this.ge_dblclick=true;google.earth.addEventListener(ge.getWindow(),'dblclick',function(event){if(event.getTarget().getType()=='KmlPlacemark'&&event.getTarget().getGeometry().getType()=='KmlPoint'){var icon=event.getTarget().getComputedStyle().getIconStyle().getIcon().getHref();if(icon.search(/naviki_imagemarker.+/)>=0){for(var i=0;i<myObj.imagemarkers.length;i++){if(myObj.imagemarkers[i].getIcon().image==icon){var marker=myObj.imagemarkers[i];window.open(marker.href.link,"Image","width="+marker.href.width+",height="+marker.href.height);;break;}}}}});}
if(typeof this.ge_mousemove=="undefined"){this.ge_mousemove=true;google.earth.addEventListener(ge.getGlobe(),'mousemove',function(event){if(dragInfo){event.preventDefault();var point=dragInfo.placemark.getGeometry();point.setLatitude(event.getLatitude());point.setLongitude(event.getLongitude());dragInfo.dragged=true;}});}
if(typeof this.ge_mouseup=="undefined"){this.ge_mouseup=true;google.earth.addEventListener(ge.getWindow(),'mouseup',function(event){if(dragInfo){var icon=dragInfo.href;var index;if(icon.search(/www.geocodezip.com\/mapIcons\/marker.+/)>=0){var pos=icon.search(/marker.+/);index=icon.substring(pos+6);pos=index.search(/..+/);index=index.substring(0,pos+1);index=parseInt(index)-1;dragInfo=null;eventMgr.moveRoutingMarker.fire(index,event.getLongitude(),event.getLatitude());}
if(icon.search(/naviki_imagemarker.+/)>=0){for(var i=0;i<myObj.imagemarkers.length;i++){if(myObj.imagemarkers[i].getIcon().image==dragInfo.href){eventMgr.responseGeolocationImage.fire(event.getLatitude(),event.getLongitude(),myObj.imagemarkers[i].title);dragInfo=null;break;}}}}});}
if(typeof this.geWindow_mousemove=="undefined"){this.geWindow_mousemove=true;google.earth.addEventListener(ge.getWindow(),'mousemove',function(event){posx=event.getClientX();posy=event.getClientY();region1=YAHOO.util.Dom.getRegion(myObj.id+"maptypeButton");region2=YAHOO.util.Dom.getRegion(myObj.id+"maptypeItems");if(posx<region2.left||posx>(region2.left+region2.width)||posy<region1.top||posy>(region1.top+region1.height+region2.height)){document.getElementById(myObj.id+"maptypeItems").style.display="none";document.getElementById(myObj.id+"maptypeIframe").style.height=region1.height+"px";}});}
if(typeof this.viewChange=="undefined"){this.viewChange=true;google.earth.addEventListener(ge.getView(),'viewchangeend',function(event){var box=ge.getView().getViewportGlobeBounds();});}
if(typeof this.ge_rightclick=="undefined"){this.ge_rightclick=true;google.earth.addEventListener(ge.getGlobe(),'mousedown',function(event){if(event.getButton()==2){var coor=new GLatLng(event.getLatitude(),event.getLongitude());var x=event.getClientX();var y=event.getClientY();var link="";if(event.getTarget().getType()=='KmlPlacemark'&&event.getTarget().getGeometry().getType()=='KmlPoint'&&myObj.geDraggingMarker==true){var icon=event.getTarget().getComputedStyle().getIconStyle().getIcon().getHref();if(icon.search(/naviki_imagemarker.+/)>=0){for(var i=0;i<myObj.imagemarkers.length;i++){if(myObj.imagemarkers[i].getIcon().image==icon){link="<a href='javascript:"+myObj.obj+".removeGeolocationImageByLink(\""+myObj.imagemarkers[i].title+"\");'><div>&nbsp;"+naviki.Lang.getLL('delete')+"&nbsp;</div></a>";myObj.contextmenu.contextMenuShow(x,y,link);break;}}}}
else{for(var key in myObj.contextmenu.links){link+=myObj.contextmenu.links[key];}
if(parseInt(myObj.config['waysNextToPoint'])==1){link+="<a href='javascript:"+myObj.obj+".createBounds(###LAT###,###LNG###);'><div>&nbsp;"+naviki.Lang.getLL('ways_nextto_point')+"&nbsp;</div></a>";}
if(link.length!=0){link=link.replace(/###LAT###/g,coor.lat());link=link.replace(/###LNG###/g,coor.lng());link=link.replace(/###ZOOM###/g,myObj.gmap.getZoom());myObj.contextmenu.coor['lat']=coor.lat();myObj.contextmenu.coor['lng']=coor.lng();myObj.contextmenu.contextMenuShow(x,y,link);}}}
else{eventMgr.hideContextMenu.fire();}});}
ge.getWindow().setVisibility(true);}
return ge;};naviki.main.Map.prototype.setTourKml=function(){if(this.gmap.getCurrentMapType().getName(false)=="Earth"&&this.gefile!=null){window.clearInterval(this.interval);this.interval=window.setInterval(this.obj+".loadTourKml()",50);}};naviki.main.Map.prototype.loadTourKml=function(){if(this.ge!=null){if(this.ge.getWindow().getVisibility()==true){window.clearInterval(this.interval);var myObj=this;myObj.ge.getTourPlayer().setTour(null);google.earth.fetchKml(myObj.ge,myObj.gefile,function(kmlObject){if(!kmlObject){return;}
myObj.ge.getFeatures().appendChild(kmlObject);walkKmlDom(kmlObject,function(){if(this.getType()=='KmlTour'){tour=this;myObj.ge.getTourPlayer().setTour(tour);return false;}});});}}};naviki.main.Map.prototype.disableGeDraggingMarker=function(type,e,me){me.geDraggingMarker=false;};naviki.main.Map.prototype.enableGeDraggingMarker=function(type,e,me){me.geDraggingMarker=true;};naviki.main.Map.prototype.disableGoogleEarth=function(type,e,me){var earth;var mapTypes=me.gmap.getMapTypes();var currentType=me.gmap.getCurrentMapType().getName(false);for(var i=0;i<mapTypes.length;i++){if(mapTypes[i].getName(false)=="Earth"){earth=mapTypes[i];break;}}
if(currentType=="Earth"){earth=me.gmap.getCurrentMapType();me.gmap.setMapType(mapTypes[0]);me.gmap.removeMapType(earth);}else{if(typeof earth!="undefined"){me.gmap.removeMapType(earth);}}
me.gmap.addControl(new GMenuMapTypeControl());};naviki.main.Map.prototype.requestGeolocationImage=function(type,e,me){var region=YAHOO.util.Dom.getRegion(me.id);var pos=-1;var available=false;if(parseInt(e[0])>region.x&&parseInt(e[0])<(region.x+region.width)&&parseInt(e[1])>region.y&&parseInt(e[1])<(region.y+region.height)){var x=parseInt(e[0])-region.x;var y=parseInt(e[1])-region.y;var point=me.gmap.fromContainerPixelToLatLng(new GPoint(x,y));for(var i=0;i<me.imagemarkers.length;i++){if(me.imagemarkers[i].title==e[3]){me.imagemarkers[i].setLatLng(point);available=true;break;}}
if(available==false){var newicon=new GIcon(G_DEFAULT_ICON);newicon.image=""+naviki.Util.DOMAIN_URL+e[2];newicon.iconSize=new GSize(40,40);newicon.imageMap=[0,0,40,0,40,40,0,40];var marker=new GMarker(point,{draggable:true,icon:newicon,title:"DoubleClick to enlarge"});marker.title=e[3];marker.href=e[4];GEvent.addListener(marker,"dragend",function(){eventMgr.responseGeolocationImage.fire(marker.getLatLng().lat(),marker.getLatLng().lng(),marker.title);});GEvent.addListener(marker,"dragstart",function(){eventMgr.hideContextMenu.fire();});GEvent.addListener(marker,"dblclick",function(){window.open(marker.href.link,"Image","width="+marker.href.width+",height="+marker.href.height);});me.imagemarkers.push(marker);eventMgr.onMapAddOverlay.fire(marker);}
eventMgr.responseGeolocationImage.fire(point.lat(),point.lng(),e[3]);}};naviki.main.Map.prototype.removeAllGeolocationImage=function(type,e,me){for(var i=0;i<me.imagemarkers.length;i++){eventMgr.onMapRemoveOverlay.fire(me.imagemarkers[i]);}
me.imagemarkers=new Array();};naviki.main.Map.prototype.removeGeolocationImage=function(type,e,me){for(var i=0;i<me.imagemarkers.length;i++){if(me.imagemarkers[i].title==e[0]){eventMgr.onMapRemoveOverlay.fire(me.imagemarkers[i]);me.imagemarkers.splice(i,1);break;}}};naviki.main.Map.prototype.removeGeolocationImageByLink=function(overlayTitle){eventMgr.responseGeolocationImage.fire("","",overlayTitle);eventMgr.removeGeolocationImage.fire(overlayTitle);eventMgr.hideContextMenu.fire();};naviki.main.Map.prototype.addGeolocationImage=function(type,e,me){var point=new GLatLng(parseFloat(e[0]),parseFloat(e[1]));var newicon=new GIcon(G_DEFAULT_ICON);newicon.image=""+naviki.Util.DOMAIN_URL+e[2];newicon.iconSize=new GSize(40,40);newicon.imageMap=[0,0,40,0,40,40,0,40];var marker=new GMarker(point,{draggable:true,icon:newicon,title:"DoubleClick to enlarge"});marker.title=e[3];marker.href=e[4];GEvent.addListener(marker,"dragend",function(){eventMgr.responseGeolocationImage.fire(marker.getLatLng().lat(),marker.getLatLng().lng(),marker.title);});GEvent.addListener(marker,"dragstart",function(){eventMgr.hideContextMenu.fire();});GEvent.addListener(marker,"dblclick",function(){window.open(marker.href.link,"Image","width="+marker.href.width+",height="+marker.href.height);});marker.disableDragging();me.imagemarkers.push(marker);me.gmap.addOverlay(marker);};naviki.main.Map.prototype.enableDraggableGeolocationImage=function(type,e,me){var marker;for(var i=0;i<me.imagemarkers.length;i++){var marker=me.imagemarkers[i];marker.enableDragging();}
eventMgr.enableGeDraggingMarker.fire();};naviki.main.Map.prototype.disableDraggableGeolocationImage=function(type,e,me){eventMgr.disableGeDraggingMarker.fire();};naviki.main.Map.prototype.addWayInfoMarker=function(type,e,me){me.wayinfoMarker=new GMarker(new GLatLng(e[0],e[1]));eventMgr.onMapAddOverlay.fire(me.wayinfoMarker);};naviki.main.Map.prototype.removeWayInfoMarker=function(type,e,me){if(typeof me.wayinfoMarker!="undefined"){eventMgr.onMapRemoveOverlay.fire(me.wayinfoMarker);}};naviki.main.Map.prototype.onMapAddOverlay=function(type,e,me){me.gmap.addOverlay(e[0]);};naviki.main.Map.prototype.onMapRemoveOverlay=function(type,e,me){me.gmap.removeOverlay(e[0]);};naviki.main.Map.prototype.updateWayOverlay=function(type,e,me){var factor=me.getZoomFactor(me.gmap.getZoom());if(factor!=me.oldFactor&&me.updateWay==true){for(var i=0;i<me.wayOverlay.length;i++){me.gmap.removeOverlay(me.wayOverlay[i]['obj']);var kml=me.wayOverlay[i]['file'];var myObj=me;var pos=kml.lastIndexOf("_");if(me.gmap.getCurrentMapType().getName(false)!="Earth"){switch(factor){case 1:kml=kml.substr(0,pos)+"_50.kml";break;case 2:kml=kml.substr(0,pos)+"_150.kml";break;case 3:kml=kml.substr(0,pos)+"_250.kml";break;default:kml=kml.substr(0,pos)+"_max.kml";break;}}else{kml=kml.substr(0,pos)+"_max.kml";}
var geoxml=new GGeoXml(""+naviki.Util.DOMAIN_URL+kml);myObj.gmap.addOverlay(geoxml);myObj.wayOverlay[i]['obj']=geoxml;}
myObj.oldFactor=factor;}};naviki.main.Map.prototype.removeWayOverlay=function(type,e,me){if(me.wayOverlay.length>0){for(var i=0;i<me.wayOverlay.length;i++){if(me.wayOverlay[i]['file']==e[0]){me.gmap.removeOverlay(me.wayOverlay[i]['obj']);me.wayOverlay.splice(i,1);break;}
if(me.wayOverlay.length>0){me.oldFactor=0;}}}
if(me.gmap.getCurrentMapType().getName(false)=="Earth"){me.ge.getTourPlayer().setTour(null);}else{me.gefile=null;}};naviki.main.Map.prototype.addWayOverlay=function(type,e,me){me.updateWay=false;var geoxml;var factor;var kml=e[0];var myObj=me;var pos=kml.lastIndexOf("_");var obj=new Object();if(e[1]){me.gefile=""+naviki.Util.DOMAIN_URL+e[1];}else{me.gefile=null;}
geoxml=new GGeoXml(""+naviki.Util.DOMAIN_URL+e[0],function(){if(geoxml.loadedCorrectly()){if(geoxml.getDefaultCenter()!=null&&geoxml.getDefaultBounds()!=null){if(typeof e[3]=='undefined'||e[3]==0){var c=geoxml.getDefaultCenter();var z=myObj.gmap.getBoundsZoomLevel(geoxml.getDefaultBounds());factor=myObj.getZoomFactor(z);myObj.gmap.setCenter(c,z);}else{factor=myObj.getZoomFactor(myObj.gmap.getZoom());}
if(myObj.gmap.getCurrentMapType().getName(false)!="Earth"){switch(factor){case 1:kml=kml.substr(0,pos)+"_50.kml";break;case 2:kml=kml.substr(0,pos)+"_150.kml";break;case 3:kml=kml.substr(0,pos)+"_250.kml";break;default:kml=kml.substr(0,pos)+"_max.kml";break;}}else{kml=kml.substr(0,pos)+"_max.kml";myObj.setTourKml();}
var tmp=new GGeoXml(""+naviki.Util.DOMAIN_URL+kml);myObj.gmap.addOverlay(tmp);obj['file']=e[0];obj['obj']=tmp;myObj.wayOverlay.push(obj);myObj.oldFactor=factor;myObj.updateWay=true;myObj.setTourKml();}}});};naviki.main.Map.prototype.removeHighlightOverlay=function(type,e,me){if(me.highlightOverlay!=null){me.gmap.removeOverlay(me.highlightOverlay);me.highlightOverlay=null;me.highlightKml="";}};naviki.main.Map.prototype.addHighlightOverlay=function(type,e,me){eventMgr.removeHighlightOverlay.fire();var factor=me.getZoomFactor(me.gmap.getZoom());var kml=e[0];var myObj=me;if(me.gmap.getCurrentMapType().getName(false)!="Earth"){switch(factor){case 1:kml=kml+"_50.kml";break;case 2:kml=kml+"_150.kml";break;case 3:kml=kml+"_250.kml";break;default:kml=kml+"_max.kml";break;}}else{kml=kml+"_max.kml";}
var geoxml=new GGeoXml(""+naviki.Util.DOMAIN_URL+kml);myObj.gmap.addOverlay(geoxml);myObj.highlightOverlay=geoxml;myObj.oldFactor=factor;};naviki.main.Map.prototype.getZoomFactor=function(zoom){var factor=0;switch(zoom){case 1:case 2:case 3:case 4:case 5:case 6:factor=1;break;case 7:case 8:case 9:factor=2;break;case 10:case 11:case 12:factor=3;break;default:factor=4;break;}
return factor;};naviki.main.Map.prototype.addRoutingMarker=function(type,e,me){if(me.routingmarkers.length>0){for(var j=0;j<me.routingmarkers.length;j++){if(me.routingmarkers[j]!="null"){me.gmap.removeOverlay(me.routingmarkers[j]);}}}
me.routingmarkers=new Array();var coord=e[0].split(";");var latlng;var marker;var newIcon;for(var i=0;i<coord.length;i++){if(coord[i]!="null"){latlng=coord[i].split(",");newIcon=new GIcon(G_DEFAULT_ICON);newIcon.image="http://www.geocodezip.com/mapIcons/marker"+(i+1)+".png";marker=new GMarker(new GLatLng(latlng[1],latlng[0]),{draggable:true,icon:newIcon});marker.pos=i;GEvent.addListener(marker,"dragend",function(){eventMgr.moveRoutingMarker.fire(this.pos,this.getLatLng().lng(),this.getLatLng().lat());});eventMgr.updateRoutingInputs.fire(marker.pos,latlng[0],latlng[1]);me.routingmarkers.push(marker);me.gmap.addOverlay(marker);}}};naviki.main.Map.prototype.enableDraggingMarker=function(type,e,me){if(me.routingmarkers.length>0){for(var j=0;j<me.routingmarkers.length;j++){if(me.routingmarkers[j]!="null"){me.routingmarkers[j].enableDragging();}}}
eventMgr.enableGeDraggingMarker.fire();};naviki.main.Map.prototype.disableDraggingMarker=function(type,e,me){if(me.routingmarkers.length>0){for(var j=0;j<me.routingmarkers.length;j++){if(me.routingmarkers[j]!="null"){me.routingmarkers[j].disableDragging();}}}
eventMgr.disableGeDraggingMarker.fire();};naviki.main.Map.prototype.getWays=function(LatLng,uid){if(this.mapSearch==true){var myObj=this;var nodeCount=this.tree.getNodeCount();var layerUIDs=new Array(uid);var deltaX=20;var deltaY=20;var point=LatLng;var pointXY=this.gmap.fromLatLngToContainerPixel(point);var p1=this.gmap.fromContainerPixelToLatLng(new GPoint(pointXY.x-deltaX,pointXY.y-deltaY));var p2=this.gmap.fromContainerPixelToLatLng(new GPoint(pointXY.x+deltaX,pointXY.y-deltaY));var p3=this.gmap.fromContainerPixelToLatLng(new GPoint(pointXY.x+deltaX,pointXY.y+deltaY));var p4=this.gmap.fromContainerPixelToLatLng(new GPoint(pointXY.x-deltaX,pointXY.y+deltaY));var bbox=p1.lng()+" "+p1.lat()+","+p2.lng()+" "+p2.lat()+","+p3.lng()+" "+p3.lat()+","+p4.lng()+" "+p4.lat()+","+p1.lng()+" "+p1.lat();var address="index.php?eID=tx_naviki_pi_map&actionId=getWaysTouchesWithBbox&bbox="+bbox+"&layerUIDs="+YAHOO.lang.JSON.stringify(layerUIDs);var oCallback={success:function(o){var response=YAHOO.lang.JSON.parse(o.responseText);var ways=response['WAYS'];var links="";var file="";var title="";var uid;var pos;if(ways.length==1){myObj.showWay(ways[0][0]);}else if(ways.length>1){if(ways.length>5){links="<div style='height:100px;overflow-y: auto;overflow-x: hidden;'>";}else{links="<div style='height:"+(ways.length*15)+"px;overflow: hidden;'>";}
for(var i=0;i<ways.length;i++){uid=ways[i][0];title=ways[i][1];if(title.length>25){title=title.substring(0,25)+"...";}
if(ways[i][2]!=null){file=ways[i][2];pos=file.lastIndexOf("_");file=file.substring(0,pos);links+="<a href='javascript:"+myObj.obj+".showWay("+uid+");'><div onmouseover='javascript:eventMgr.addHighlightOverlay.fire(\""+file+"\");' onmouseout='javascript:eventMgr.removeHighlightOverlay.fire();'><nobr>&nbsp;"+title+"&nbsp;</nobr></div></a>";}else{links+="<a href='javascript:"+myObj.obj+".showWay("+uid+");'><div><nobr>&nbsp;"+title+"&nbsp;</nobr></div></a>";}}
links+="</div>";myObj.contextmenu.contextMenuShow(pointXY.x,pointXY.y,links,myObj.gmap);}else{myObj.layerClickAction(LatLng);}},failure:function(o){myObj.layerClickAction(LatLng);},cache:false};var getXML=YAHOO.util.Connect.asyncRequest("GET",address,oCallback);}};naviki.main.Map.prototype.showWay=function(uid){eventMgr.hideContextMenu.fire();if(this.config['wayViewTargetSite']!=""&&typeof this.config['wayViewTargetSite']!='undefined'){window.location.href="/"+this.config['wayViewTargetSite']+uid;}else{eventMgr.clearRoutingRequest.fire();eventMgr.updateWayInfo.fire(uid);eventMgr.updateWayView.fire(uid);}};naviki.main.Map.prototype.getStops=function(LatLng){var myObj=this;var x=this.gmap.fromLatLngToContainerPixel(LatLng).x;var y=this.gmap.fromLatLngToContainerPixel(LatLng).y;var width=this.gmap.getSize().width;var height=this.gmap.getSize().height;var sw=this.gmap.getBounds().getSouthWest();var ne=this.gmap.getBounds().getNorthEast();var bbox=sw.lng()+","+sw.lat()+","+ne.lng()+","+ne.lat();var parameter="&URL=http://maps2.connect-info.net/mapserv?MAP=/data/umn/hannit/mapfiles/haltestellen_remoteJson.map";parameter+="&LAYERS=haltestellenpunkte";parameter+="&TRANSPARENT=TRUE";parameter+="&FORMAT=png";parameter+="&SERVICE=WMS";parameter+="&VERSION=1.1.1";parameter+="&REQUEST=GetFeatureInfo";parameter+="&STYLES=";parameter+="&EXCEPTIONS=application/vnd.ogc.se_xml";parameter+="&SRS=EPSG:4326";parameter+="&BBOX="+bbox;parameter+="&X="+x;parameter+="&Y="+y;parameter+="&INFO_FORMAT=text/html";parameter+="&QUERY_LAYERS=haltestellenpunkte";parameter+="&FEATURE_COUNT=1";parameter+="&WIDTH="+width;parameter+="&HEIGHT="+height;var address="index.php?eID=tx_naviki_pi_map&actionId=getStops"+parameter;var oCallback={success:function(o){var response=YAHOO.lang.JSON.parse(o.responseText);if(response['STATE']!="ERROR"&&response['RESULT']!=null){myObj.showStop(response['RESULT'].stop,LatLng);}else{myObj.layerClickAction(LatLng);}},failure:function(o){myObj.layerClickAction(LatLng);},cache:false};var getXML=YAHOO.util.Connect.asyncRequest("GET",address,oCallback);};naviki.main.Map.prototype.showStop=function(s,LatLng){var c="<div class='hstcopyright'>";c+="<a href='"+s.copyright.url+"' target='_blank'>";c+="<img src='uploads/tx_naviki_domain_model_layer/"+this.stopsLayerIcon+"' border=0>";c+="</a>";c+="</div>";c+="<div class='hstname'>"+s.name+"</div>";if(YAHOO.lang.isArray(s.servicegroups.servicegroup)){for(var i in s.servicegroups.servicegroup){if(isNaN(i))
break;var z=s.servicegroups.servicegroup[i].services.service;c+=this.getServices(z);}}else{c+=this.getServices(s.servicegroups.servicegroup.services.service);}
this.gmap.openInfoWindow(LatLng,"<div class='hstdiv'>"+c+"</div>");};naviki.main.Map.prototype.getServices=function(service){var r="";if(YAHOO.lang.isArray(service)){for(var i=0;i<service.length;i++){r+="<div class='hstservice'><a href='"+service[i].url+"' target='_blank'>"+this.formatServiceLink(service[i].description)+"</a></div>";}}else{r+="<div class='hstservice'><a href='"+service.url+"' target='_blank'>"+this.formatServiceLink(service.description)+"</a></div>";}
return r;};naviki.main.Map.prototype.formatServiceLink=function(text){if(text.search(/EFA/)!=-1){if(text.search(/ankommen/)!=-1){text=naviki.Lang.getLL('map_stops_layer_to');}else if(text.search(/abfahren/)!=-1){text=naviki.Lang.getLL('map_stops_layer_from');}}
return text;};naviki.main.Map.prototype.layerClickAction=function(LatLng){if(this.selectedLayer.length>0){var layer=this.selectedLayer[0];this.selectedLayer.splice(0,1);switch(parseInt(layer.myType)){case 1:case 2:case 3:case 4:case 5:this.layerClickAction(LatLng);break;case 6:this.getStops(LatLng);break;default:break;}}};naviki.main.Map.prototype.enableMapFunctions=function(type,e,me){me.mapSearch=true;me.clickLayer=true;};naviki.main.Map.prototype.disableMapFunctions=function(type,e,me){me.mapSearch=false;me.clickLayer=false;};function ContextMenu(map){this.map=map;this.coor=new Object();this.links=new Object();this.x=0;this.y=0;var myObj=this;this.contextmenudiv=document.createElement("div");this.contextmenudiv.id=map.id+"ctxMenu";this.contextmenudiv.style.background="#ffffff";this.contextmenudiv.style.border="1px solid #6A6E4D";this.contextmenudiv.style.position="absolute";this.contextmenudiv.style.visibility="hidden";this.map.gmap.getContainer().appendChild(this.contextmenudiv);YAHOO.util.Event.on(document,'mousemove',function(e){if(document.all){posx=window.event.clientX+document.documentElement.scrollLeft;posy=window.event.clientY+document.documentElement.scrollTop;}else{posx=e.pageX;posy=e.pageY;}
var region=YAHOO.util.Dom.getRegion(myObj.map.id);if(posx<region.left||posx>(region.left+region.width)||posy<region.top||posy>(region.top+region.height)){eventMgr.hideContextMenu.fire();}});map.rightClick=GEvent.addListener(map.gmap,'singlerightclick',function(pixel,tile,overlay){var link="";var x=pixel.x;var y=pixel.y;var coor=myObj.map.gmap.fromContainerPixelToLatLng(new GPoint(x,y));myObj.x=x;myObj.y=y;myObj.coor['lat']=coor.lat();myObj.coor['lng']=coor.lng();if(overlay==null){for(var key in myObj.links){link+=myObj.links[key];}
if(parseInt(myObj.map.config['waysNextToPoint'])==1){link+="<a href='javascript:"+myObj.map.obj+".createBounds(###LAT###,###LNG###);'><div>&nbsp;"+naviki.Lang.getLL('ways_nextto_point')+"&nbsp;</div></a>";}
if(link.length!=0){link=link.replace(/###LAT###/g,myObj.coor['lat']);link=link.replace(/###LNG###/g,myObj.coor['lng']);link=link.replace(/###ZOOM###/g,myObj.map.gmap.getZoom());myObj.contextMenuShow(x,y,link);}}else{for(var i=0;i<myObj.map.imagemarkers.length;i++){if(overlay==myObj.map.imagemarkers[i]){if(myObj.map.imagemarkers[i].draggingEnabled()==true){link="<a href='javascript:"+myObj.map.obj+".removeGeolocationImageByLink(\""+overlay.title+"\");'><div>&nbsp;"+naviki.Lang.getLL('delete')+"&nbsp;</div></a>";myObj.contextMenuShow(x,y,link);}
break;}}}});eventMgr.hideContextMenu.subscribe(this.hideContextMenu,this);eventMgr.updateContextMenu.subscribe(this.updateContextMenu,this);};ContextMenu.prototype.updateContextMenu=function(type,e,me){me.links[e[0]]=e[1];};ContextMenu.prototype.hideContextMenu=function(type,e,me){me.contextmenudiv.style.visibility="hidden";var iframeShim=document.getElementById(me.map.id+"ctxMenu_iframeShim");if(iframeShim!=null){me.map.gmap.getContainer().removeChild(iframeShim);}};ContextMenu.prototype.contextMenuShow=function(x,y,links){this.contextmenudiv.style.width="";this.contextmenudiv.style.height="";this.contextmenudiv.innerHTML=links;var region=YAHOO.util.Dom.getRegion(this.map.id+"ctxMenu");this.contextmenudiv.style.width=region.width+"px";this.contextmenudiv.style.height=(region.height+2)+"px";var iframeShim=document.getElementById(this.map.id+"ctxMenu_iframeShim");var contextmenudiv=document.getElementById(this.map.id+"ctxMenu");var width=region.width;var height=region.height;if(iframeShim==null){iframeShim=document.createElement('iframe');iframeShim.id=this.map.id+"ctxMenu_iframeShim";iframeShim.frameBorder=0;iframeShim.scrolling='no';iframeShim.src=(navigator.userAgent.indexOf('MSIE 6')>=0)?'':'javascript:void(0);';iframeShim.style.position='absolute';iframeShim.style.width=width;iframeShim.style.height=height;contextmenudiv.style.zIndex=10;iframeShim.style.zIndex=9;this.map.gmap.getContainer().appendChild(iframeShim);}
if(typeof x!="undefined"&&typeof y!="undefined"){if(x>this.map.gmap.getSize().width-width-10){x=this.map.gmap.getSize().width-width-10;}
if(y>this.map.gmap.getSize().height-height-10){y=this.map.gmap.getSize().height-height-10;}
contextmenudiv.style.top=y+"px";contextmenudiv.style.left=x+"px";iframeShim.style.top=y+"px";iframeShim.style.left=x+"px";}
contextmenudiv.style.visibility="visible";iframeShim.width=width;iframeShim.height=height;};naviki.main.MapTaskNode=function(oData,oParent,expanded,checked,overlay,map){this.mylabel=oData.mylabel;this.myType=parseInt(oData.myType);if(typeof oData.haveWays!=undefined){this.haveWays=parseInt(oData.haveWays);}
this.map=map;naviki.main.MapTaskNode.superclass.constructor.call(this,oData,oParent,expanded);this.setUpCheck(checked||oData.checked);this.showOverlay=function(){if(typeof overlay!="undefined"){for(var i=0;i<overlay.length;i++){this.map.addOverlay(overlay[i]);}}};this.removeOverlay=function(){if(typeof overlay!="undefined"){for(var i=0;i<overlay.length;i++){this.map.removeOverlay(overlay[i]);}}};};naviki.main.MapTaskNode.override={checked:false,checkState:0,_type:"TaskNode",taskNodeParentChange:function(){},setUpCheck:function(checked){if(checked&&checked===true){this.check();}else if(this.parent&&2===this.parent.checkState){this.updateParent();}
if(this.tree&&!this.tree.hasEvent("checkClick")){this.tree.createEvent("checkClick",this.tree);}
this.tree.subscribe('clickEvent',this.checkClick);this.subscribe("parentChange",this.taskNodeParentChange);},getCheckElId:function(){return"ygtvcheck"+this.index;},getCheckEl:function(){return document.getElementById(this.getCheckElId());},getCheckStyle:function(){return"ygtvcheck"+this.checkState;},checkClick:function(oArgs){var node=oArgs.node;var target=YAHOO.util.Event.getTarget(oArgs.event);if(YAHOO.util.Dom.hasClass(target,'ygtvspacer')){if(node.checkState===0){node.check();}else{node.uncheck();}
node.onCheckClick(node);this.fireEvent("checkClick",node);return false;}},store_settings:function(node,check){if(parseInt(node.myType)!=5){var myObj=this.map.myObj;if(myObj.have_fe_user){var nodeCount=myObj.tree.getNodeCount();var active="";if(check==1){for(var i=1;i<=nodeCount;i++){if(myObj.tree.getNodeByIndex(i).checked==true){active+=this.tree.getNodeByIndex(i).mylabel+",";}}
active+=node.mylabel;}else{for(var i=1;i<=nodeCount;i++){if(myObj.tree.getNodeByIndex(i).checked==true&&myObj.tree.getNodeByIndex(i)!=node){active+=this.tree.getNodeByIndex(i).mylabel+",";}}
if(active.length>0){active=active.substr(0,active.length-1);}}
var address="index.php?eID=tx_naviki_pi_map&actionId=storeActiveLayer&activeLayer="+active;var oCallback={success:function(o){},failure:function(o){alert("Sorry, no data found for that address!\n Here is the response: "+o);},cache:false};var getXML=YAHOO.util.Connect.asyncRequest("GET",address,oCallback);}}},onCheckClick:function(node){},updateParent:function(){var p=this.parent;if(!p||!p.updateParent){return;}
var somethingChecked=false;var somethingNotChecked=false;for(var i=0,l=p.children.length;i<l;i=i+1){var n=p.children[i];if("checked"in n){if(n.checked){somethingChecked=true;if(n.checkState===1){somethingNotChecked=true;}}else{somethingNotChecked=true;}}}
if(somethingChecked){p.setCheckState((somethingNotChecked)?1:2);}else{p.setCheckState(0);}
p.updateCheckHtml();p.updateParent();},updateCheckHtml:function(){if(this.parent&&this.parent.childrenRendered){this.getCheckEl().className=this.getCheckStyle();}},setCheckState:function(state){this.checkState=state;this.checked=(state>0);},check:function(){this.store_settings(this,1);this.showOverlay();this.setCheckState(2);for(var i=0,l=this.children.length;i<l;i=i+1){var c=this.children[i];if(c.check){c.check();}}
this.updateCheckHtml();this.updateParent();},uncheck:function(){this.store_settings(this,0);this.removeOverlay();this.setCheckState(0);for(var i=0,l=this.children.length;i<l;i=i+1){var c=this.children[i];if(c.uncheck){c.uncheck();}}
this.updateCheckHtml();this.updateParent();},getContentHtml:function(){var sb=[];sb[sb.length]='<td';sb[sb.length]=' id="'+this.getCheckElId()+'"';sb[sb.length]=' class="'+this.getCheckStyle()+'"';sb[sb.length]='>';sb[sb.length]='<div class="ygtvspacer"></div></td>';sb[sb.length]='<td><span';sb[sb.length]=' id="'+this.labelElId+'"';if(this.title){sb[sb.length]=' title="'+this.title+'"';}
sb[sb.length]=' class="'+this.labelStyle+'"';sb[sb.length]=' >';sb[sb.length]=this.label;sb[sb.length]='</span></td>';return sb.join("");}};function drawing(map,id,context){this.end=naviki.Util.FILEADMIN_PATH+"img/pi_map/draw_end_marker_image.png";this.begin=naviki.Util.FILEADMIN_PATH+"img/pi_map/draw_start_marker_image.png";this.between=naviki.Util.FILEADMIN_PATH+"img/pi_map/draw_between_marker_image.png";this.map=map;this.id=id;this.markers=new Array();this.buffer=new Array();this.polyline=null;this.mode="none";this.wait=false;this.file="";this.context=context;this.tptext=-1;this.minzoom=13;this.x;this.y;this.startMarker=null;this.endMarker=null;eventMgr.enableDrawMode.subscribe(this.enableDrawMode,this);eventMgr.disableDrawMode.subscribe(this.disableDrawMode,this);eventMgr.loadDrawing.subscribe(this.loadDrawing,this);eventMgr.getDrawing.subscribe(this.getDrawing,this);};drawing.prototype.disableDrawMode=function(type,e,me){me.hideDrawMode();me.drawIsActive=false;eventMgr.enableMapFunctions.fire();};drawing.prototype.enableDrawMode=function(type,e,me){me.drawIsActive=true;me.showDrawMode();eventMgr.disableMapFunctions.fire();};drawing.prototype.showDrawMode=function(){if(typeof this.drawIsActive!="undefined"&&this.drawIsActive==true){var element=document.getElementById(this.id+"drawContainer");if(this.polyline!=null){this.polyline.show();}
if(element!=null){element.style.display="";}else{this.initDraw();}}};drawing.prototype.hideDrawMode=function(){if(typeof this.drawIsActive!="undefined"&&this.drawIsActive==true){var element=document.getElementById(this.id+"drawContainer");if(this.polyline!=null){this.polyline.hide();}
if(element!=null){element.style.display="none";}}};drawing.prototype.initDraw=function(){var myObj=this;var container=document.createElement("p");var line=document.createElement("p");var direction=document.createElement("p");line.id=this.id+"lineItem";line.title=naviki.Lang.getLL('draw_line');direction.id=this.id+"directionItem";direction.title=naviki.Lang.getLL('draw_road');container.id=this.id+"drawContainer";YAHOO.util.Dom.addClass(container,'drawContainer');YAHOO.util.Dom.addClass(line,'lineItem-no');YAHOO.util.Dom.addClass(direction,'directionItem-no');YAHOO.util.Event.on(line,'click',function(e){myObj.tptext=1;myObj.setButton("line");});YAHOO.util.Event.on(direction,'click',function(e){myObj.tptext=1;myObj.setButton("direction");});YAHOO.util.Event.on(document.getElementById(this.id),'mousemove',function(e){var region=YAHOO.util.Dom.getRegion(myObj.id);var x,y,text;if(document.all){x=window.event.clientX+document.documentElement.scrollLeft;y=window.event.clientY+document.documentElement.scrollTop;}else{x=e.pageX;y=e.pageY;}
myObj.x=x-region.left+10;myObj.y=y-region.top+10;if(myObj.tptext>0){switch(myObj.tptext){case 1:if(myObj.markers.length==0){text="<p style='margin:2px 2px 0 2px;'>"+naviki.Lang.getLL('draw_mousemove.0')+"</p>";}else{text="<p style='margin:2px 2px 0 2px;'>"+naviki.Lang.getLL('draw_mousemove.1')+"</p>";}
break;case 2:text="<p style='margin:2px 2px 0 2px;'>"+naviki.Lang.getLL('draw_polyline')+"</p>";break;case 3:text="<p style='margin:2px 2px 0 2px;'>"+naviki.Lang.getLL('draw_marker.0')+"<br>"+naviki.Lang.getLL('draw_marker.1')+"</p>";break;}
myObj.context.contextMenuShow(myObj.x,myObj.y,text);}});container.appendChild(line);container.appendChild(direction);this.map.getContainer().appendChild(container);if(typeof this.click=="undefined"){this.click=GEvent.addListener(this.map,"click",function(overlay,LatLon,overlayLatLon){if(!overlay&&myObj.mode!="none"){if(myObj.checkZoom(LatLon)&&myObj.wait==false){myObj.addMarker(LatLon,true);}}});}
if(typeof this.zoom=="undefined"){this.zoom=GEvent.addListener(this.map,"zoomend",function(oldLevel,newLevel){if(newLevel>myObj.minzoom){myObj.enableDraggingMarker();}else{myObj.disableDraggingMarker();}});}
this.newPolyline([]);this.mgr=new MarkerManager(this.map);};drawing.prototype.setButton=function(button){var line=document.getElementById(this.id+"lineItem");var direction=document.getElementById(this.id+"directionItem");switch(this.mode){case"line":YAHOO.util.Dom.replaceClass(line,'lineItem-act','lineItem-no');break;case"direction":YAHOO.util.Dom.replaceClass(direction,'directionItem-act','directionItem-no');break;}
switch(button){case"line":YAHOO.util.Dom.replaceClass(line,'lineItem-no','lineItem-act');this.mode="line";break;case"direction":YAHOO.util.Dom.replaceClass(direction,'directionItem-no','directionItem-act');this.mode="direction";break;}};drawing.prototype.newPolyline=function(points){this.wait=true;if(this.polyline!=null){GEvent.removeListener(this.polyline.mouseout);GEvent.removeListener(this.polyline.mouseover);GEvent.removeListener(this.polyline.click);GEvent.removeListener(this.polyline.lineupdated);this.map.removeOverlay(this.polyline);}
var myObj=this;this.polyline=new GPolyline(points,'#ff0000',5,0.7);var mouseout=GEvent.addListener(this.polyline,"mouseout",function(){myObj.tptext=1;});var mouseover=GEvent.addListener(this.polyline,"mouseover",function(){myObj.tptext=2;});var click=GEvent.addListener(this.polyline,"click",function(LatLon){myObj.tptext=3;if(myObj.checkZoom(LatLon)&&myObj.wait==false){myObj.insertMarker(LatLon);}});var lineupdated=GEvent.addListener(this.polyline,"lineupdated",function(){myObj.checkBuffer();});this.polyline.mouseout=mouseout;this.polyline.mouseover=mouseover;this.polyline.click=click;this.polyline.lineupdated=lineupdated;this.map.addOverlay(this.polyline);this.checkBuffer();};drawing.prototype.checkBuffer=function(){if(this.buffer.length>0){var job=this.buffer[0];this.buffer.splice(0,1);if(job.mode=="line"){this.drawLine(job.start,job.end,job.points);}else{this.drawDirection(job.start,job.end,job.points);}}else{this.wait=false;this.enableDraggingMarker();}};drawing.prototype.enableDraggingMarker=function(){for(var i=0;i<this.markers.length;i++){this.markers[i].enableDragging();}};drawing.prototype.disableDraggingMarker=function(){for(var i=0;i<this.markers.length;i++){this.markers[i].disableDragging();}};drawing.prototype.addMarkerListener=function(marker){var myObj=this;marker.dragend=GEvent.addListener(marker,"dragend",function(LatLon){myObj.dragMarker(this);});marker.click=GEvent.addListener(marker,"click",function(LatLon){myObj.tptext=1;if(myObj.checkZoom(LatLon)&&myObj.wait==false){myObj.removeMarker(this);}});marker.mouseover=GEvent.addListener(marker,"mouseover",function(LatLon){myObj.tptext=3;});marker.mouseout=GEvent.addListener(marker,"mouseout",function(LatLon){myObj.tptext=1;});return marker;};drawing.prototype.removeMarkerListener=function(marker){GEvent.removeListener(marker.dragend);GEvent.removeListener(marker.click);GEvent.removeListener(marker.mouseover);GEvent.removeListener(marker.mouseout);};drawing.prototype.addMarker=function(LatLon,draw){var length;var marker=new GMarker(LatLon,{draggable:true});marker=this.addMarkerListener(marker);marker.title="MarkerFromDrawing";marker.pos=this.markers.length;marker.mode=this.mode;marker.enableDragging();this.markers.push(marker);if(draw==true){this.updateMarker();}
if(this.markers.length>1&&draw==true){start=this.markers[this.markers.length-2].getLatLng();end=this.markers[this.markers.length-1].getLatLng();this.drawObject(start,end,this.mode,[]);}
if(this.markers.length==2){eventMgr.existDrawing.fire(true);}};drawing.prototype.insertMarker=function(LatLon){var polyline;var bbox;var start;var end;var marker;var index;var result=new Array();var points=new Array();start=this.markers[0].getLatLng();for(var j=1;j<this.markers.length;j++){end=this.markers[j].getLatLng();for(var k=0;k<this.polyline.getVertexCount();k++){if(start.lat()==this.polyline.getVertex(k).lat()&&start.lng()==this.polyline.getVertex(k).lng()){break;}}
for(var l=k;l<this.polyline.getVertexCount();l++){if(end.lat()==this.polyline.getVertex(l).lat()&&end.lng()==this.polyline.getVertex(l).lng()){points.push(end);break;}else{points.push(this.polyline.getVertex(l));}}
polyline=new GPolyline(points);bbox=polyline.getBounds();if(bbox.containsLatLng(LatLon)){polyline.start=j-1;polyline.end=j;result.push(polyline);}
start=end;points=new Array();}
if(result.length>1){var old=100;var index=0;var temp;var deltaLat;var deltyLon;var count;for(var i=0;i<result.length;i++){start=result[i].getVertex(0);for(var j=1;j<result[i].getVertexCount();j++){end=result[i].getVertex(j);if(start.lat()!=end.lat()||start.lng()!=end.lng()){dist=start.distanceFrom(end);if(dist>20){deltaLat=start.lat()-end.lat();deltaLon=start.lng()-end.lng();count=parseInt(dist/20);for(var k=0;k<count;k++){temp=new GLatLng(start.lat()-k*(deltaLat/count),start.lng()-k*(deltaLon/count));if(temp.distanceFrom(LatLon)<old){old=temp;index=i;}}}else if(dist<old){old=temp;index=i;}}
start=end;}}
result=result[index];}else{result=result[0];}
points=new Array();marker=this.markers[result.start];polyline=this.polyline;for(var j=0;j<polyline.getVertexCount();j++){if(marker.getLatLng().lat()==polyline.getVertex(j).lat()&&marker.getLatLng().lng()==polyline.getVertex(j).lng()){points.push(polyline.getVertex(j));break;}else{points.push(polyline.getVertex(j));}}
this.newPolyline(points);this.drawObject(this.markers[result.start].getLatLng(),LatLon,this.mode,[]);points=new Array();marker=this.markers[result.end];for(var j=0;j<polyline.getVertexCount();j++){if(marker.getLatLng().lat()==polyline.getVertex(j).lat()&&marker.getLatLng().lng()==polyline.getVertex(j).lng()){break;}}
for(var i=j;i<polyline.getVertexCount();i++){points.push(polyline.getVertex(i));}
this.drawObject(LatLon,marker.getLatLng(),marker.mode,points);var newicon=new GIcon(G_DEFAULT_ICON);newicon.image=this.between;marker=new GMarker(LatLon,{draggable:true,icon:newicon});marker=this.addMarkerListener(marker);marker.title="MarkerFromDrawing";marker.pos=result.end;marker.mode=this.mode;marker.enableDragging();this.markers.splice(result.end,0,marker);this.updateMarker();for(var i=(result.end);i<this.markers.length;i++){this.markers[i].pos=i;}};drawing.prototype.removeMarker=function(marker){var prevMarker=null;var nextMarker=null;var points=new Array();var polyline=this.polyline;if(marker.pos>0){prevMarker=this.markers[marker.pos-1];}
if(marker.pos<this.markers.length-1){nextMarker=this.markers[marker.pos+1];}
this.removeMarkerListener(marker);this.markers.splice(marker.pos,1);for(var k=0;k<this.markers.length;k++){this.markers[k].pos=k;}
if(prevMarker!=null){for(var j=0;j<polyline.getVertexCount();j++){if(prevMarker.getLatLng().lat()==polyline.getVertex(j).lat()&&prevMarker.getLatLng().lng()==polyline.getVertex(j).lng()){points.push(polyline.getVertex(j));break;}else{points.push(polyline.getVertex(j));}}
this.newPolyline(points);}else{if(this.markers.length>=1){this.markers[0].setImage(this.begin);}}
if(nextMarker!=null){for(var j=0;j<polyline.getVertexCount();j++){if(nextMarker.getLatLng().lat()==polyline.getVertex(j).lat()&&nextMarker.getLatLng().lng()==polyline.getVertex(j).lng()){break;}}
points=new Array();for(var i=j;i<polyline.getVertexCount();i++){points.push(polyline.getVertex(i));}
if(prevMarker!=null){this.drawObject(prevMarker.getLatLng(),nextMarker.getLatLng(),nextMarker.mode,points);}else{this.newPolyline(points);}}else{if(this.markers.length>=2){this.markers[this.markers.length-1].setImage(this.end);}}
if(prevMarker==null&&nextMarker==null){this.newPolyline([]);}
if(this.markers.length<2){eventMgr.existDrawing.fire(false);}
this.updateMarker();};drawing.prototype.updateMarker=function(){var marker;var temp=new Array();this.mgr.clearMarkers();if(this.markers.length>0){marker=this.markers[0];marker.getIcon().image=this.begin;if(this.startMarker!=null){this.map.removeOverlay(this.startMarker);}
this.startMarker=marker;this.map.addOverlay(marker);}else{this.startMarker=null;}
if(this.markers.length>1){marker=this.markers[this.markers.length-1];marker.getIcon().image=this.end;if(this.endMarker!=null){this.map.removeOverlay(this.endMarker);}
this.endMarker=marker;this.map.addOverlay(marker);}else{this.endMarker=null;}
if(this.markers.length>2){for(var i=1;i<this.markers.length-1;i++){marker=this.markers[i];marker.getIcon().image=this.between;temp.push(marker);}
this.mgr.addMarkers(temp,this.minzoom+1);}
this.mgr.refresh();};drawing.prototype.dragMarker=function(marker){var prevMarker=null;var nextMarker=null;var points=new Array();var polyline=this.polyline;if(marker.pos>0){prevMarker=this.markers[marker.pos-1];}
if(marker.pos<this.markers.length-1){nextMarker=this.markers[marker.pos+1];}
if(prevMarker!=null){for(var j=0;j<polyline.getVertexCount();j++){if(prevMarker.getLatLng().lat()==polyline.getVertex(j).lat()&&prevMarker.getLatLng().lng()==polyline.getVertex(j).lng()){break;}else{points.push(polyline.getVertex(j));}}
this.newPolyline(points);this.drawObject(prevMarker.getLatLng(),marker.getLatLng(),marker.mode,[]);}
if(nextMarker!=null){for(var j=0;j<polyline.getVertexCount();j++){if(nextMarker.getLatLng().lat()==polyline.getVertex(j).lat()&&nextMarker.getLatLng().lng()==polyline.getVertex(j).lng()){break;}}
points=new Array();for(var i=j;i<polyline.getVertexCount();i++){points.push(polyline.getVertex(i));}
if(prevMarker!=null){this.drawObject(marker.getLatLng(),nextMarker.getLatLng(),nextMarker.mode,points);}else{this.newPolyline([]);this.drawObject(marker.getLatLng(),nextMarker.getLatLng(),nextMarker.mode,points);}}
if(prevMarker==null&&nextMarker==null){this.newPolyline([]);}};drawing.prototype.drawObject=function(start,end,mode,points){var job=new Object();job.start=start;job.end=end;job.mode=mode;job.points=points;if(this.wait==true||this.buffer.length>0){this.buffer.push(job);this.disableDraggingMarker();}else{this.wait=true;if(mode=="line"){this.drawLine(start,end,points);}else{this.drawDirection(start,end,points);}}};drawing.prototype.drawLine=function(start,end,points){var temp=new Array();var deltaLat=start.lat()-end.lat();var deltaLon=start.lng()-end.lng();var count=parseInt(start.distanceFrom(end)/250);for(var i=0;i<this.polyline.getVertexCount();i++){temp.push(this.polyline.getVertex(i));}
temp.push(start);temp.push(end);this.newPolyline(temp.concat(points));};drawing.prototype.drawDirection=function(start,end,points){var myObj=this;var dirn=new GDirections();var temp=new Array();var polyline;GEvent.addListener(dirn,"load",function(){polyline=dirn.getPolyline();for(var i=0;i<myObj.polyline.getVertexCount();i++){temp.push(myObj.polyline.getVertex(i));}
temp.push(start);for(var i=0;i<polyline.getVertexCount();i++){temp.push(polyline.getVertex(i));}
temp.push(end);myObj.newPolyline(temp.concat(points));});dirn.loadFromWaypoints([start.toUrlValue(6),end.toUrlValue(6)],{getPolyline:true});};drawing.prototype.loadDrawing=function(type,e,me){me.file=e[1];me.request=true;var tracks=e[0];var points=new Array();var oldLat=0;var oldLng=0;var tmp;var LatLon;me.setButton('line');me.tptext=1;me.mode="line";for(var j=0;j<me.markers.length;j++){me.removeMarkerListener(me.markers[j]);me.mgr.clearMarkers();}
me.markers=new Array();for(var j=0;j<tracks.length;j++){for(var i=0;i<tracks[j].length;i++){tmp=tracks[j][i].split(",");LatLon=new GLatLng(tmp[1],tmp[0]);if(LatLon.lat()!=oldLat||LatLon.lng()!=oldLng){me.addMarker(LatLon,false);points.push(LatLon);oldLat=LatLon.lat();oldLng=LatLon.lng();}}}
me.newPolyline(points);me.updateMarker();if(me.map.getZoom()<me.minzoom){me.disableDraggingMarker();}};drawing.prototype.getDrawing=function(type,e,me){var temp=new Array();var points=new Array();var point;me.tptext=0;var line=document.getElementById(me.id+"lineItem");var direction=document.getElementById(me.id+"directionItem");YAHOO.util.Dom.replaceClass(line,'lineItem-act','lineItem-no');YAHOO.util.Dom.replaceClass(direction,'directionItem-act','directionItem-no');for(var k=0;k<me.markers.length;k++){me.removeMarkerListener(me.markers[k]);}
me.mgr.clearMarkers();me.map.removeOverlay(me.startMarker);me.map.removeOverlay(me.endMarker);temp=me.addPointsToLine();for(var j=0;j<temp.length;j++){latlon=temp[j];point=new Object();point.lat=latlon.lat();point.lon=latlon.lng();points.push(point);}
if(points.length>0){eventMgr.storeDrawing.fire(points,me.file);}
me.newPolyline([]);me.markers=new Array();me.file="";me.startMarker=null;me.endMarker=null;me.mode="none";};drawing.prototype.checkZoom=function(LatLon){if(this.map.getZoom()<this.minzoom+1){if(typeof this.dialog=="undefined"){var dialog_container=document.getElementById("naviki-dialogs");var dialogDiv=document.createElement("div");dialogDiv.id=this.id+"_drawdialog";dialog_container.appendChild(dialogDiv);this.dialog=new naviki.main.ModalDialog(dialogDiv.id,{width:"310px",fixedcenter:true,visible:false,modal:true,draggable:true,zindex:4,close:true,constraintoviewport:true,buttons:[{text:naviki.Lang.getLL('dialog_cancel'),handler:this.hideDialog},{text:naviki.Lang.getLL('draw_dialog_zoomin')+"<br>",handler:this.zoomIn}]});this.dialog.myObj=this;this.dialog.setHeader(naviki.Lang.getLL('draw_dialog_header'));this.dialog.setBody(naviki.Lang.getLL('draw_dialog_body'));this.dialog.render();}
this.dialog.LatLon=LatLon;this.dialog.show();return false;}else{return true;}};drawing.prototype.hideDialog=function(){this.hide();};drawing.prototype.zoomIn=function(){this.myObj.map.setCenter(this.LatLon,this.myObj.minzoom+1);this.hide();};drawing.prototype.addPointsToLine=function(){var points=new Array();var LatLon;var start;var end;var deltaLat;var deltaLon;var count;start=this.polyline.getVertex(0);for(var i=1;i<this.polyline.getVertexCount();i++){end=this.polyline.getVertex(i);deltaLat=start.lat()-end.lat();deltaLon=start.lng()-end.lng();count=parseInt(start.distanceFrom(end)/150);points.push(start);if(count>2){for(var j=0;j<count;j++){LatLon=new GLatLng(start.lat()-j*(deltaLat/count),start.lng()-j*(deltaLon/count));points.push(LatLon);}}
points.push(end);start=end;}
return points;};;

naviki.main.WaysNextToPoint=function(tablediv,bbox,zoom,lat,lng,pageId,detailMapView){var myObj=this;this.loadedKml=new Array();this.tablediv=tablediv;this.update=false;this.detailMapView=detailMapView;this.dburl='index.php?eID=tx_naviki_pi_portlets&actionId=waysNextToPointSearch';this.oDataSource=new YAHOO.util.DataSource(this.dburl+"&pageid="+pageId+"&bbox="+bbox+"&");this.oDataSource.responseType=YAHOO.util.DataSource.TYPE_JSON;this.oDataSource.responseSchema={resultsList:'RESULTVALUE.RESULTLIST',fields:["number","uid","title","tstamp","mediafileurl","mapurl","km","kmlfile_rel_path","highlighted_kmlfile_rel_path"],metaFields:{totalRecords:"RESULTVALUE.TOTALRECORDS"}};this.aColumnDefs=[{key:"uid",formatter:this.formatTableRow}];this.oConfigs={initialRequest:"sort=id&dir=asc&startIndex=0&results=5",dynamicData:true,paginator:new YAHOO.widget.Paginator({alwaysVisible:false,rowsPerPage:5,previousPageLinkLabel:"&#9668;",nextPageLinkLabel:"&#9658;",pageReportTemplate:"{currentPage} "+naviki.Lang.getLL('searchPaginatorSeperator')+" {totalPages}",containers:["paginator_"+tablediv],template:'<div style="width: 100%">'+'<table style="width: 100%; text-align: center"><tr style="text-align: center">'+'<td class="paginator_prevlinks_'+tablediv+'">{PreviousPageLink}</td>'+'<td class="paginator_pagelinks_'+tablediv+'" tyle="width: 100%; text-align: center;">{PageLinks}</td>'+'<td class="paginator_nextlinks_'+tablediv+'">{NextPageLink}</td>'+'</tr></table>'+'</div>'+''}),MSG_ERROR:naviki.Lang.getLL('yui_dataTable_msg_error'),MSG_EMPTY:naviki.Lang.getLL('yui_dataTable_msg_empty'),MSG_LOADING:"<div><img src='"+naviki.Util.FILEADMIN_PATH+"img/ajax-loader-2.gif'/></div>"};this.oConfigs.paginator.subscribe('changeRequest',this.handlePagination);this.oConfigs.paginator.subscribe('render',this.updatePagination);this.oConfigs.paginator.myObj=this;this.oDataTable=new YAHOO.widget.DataTable(tablediv,this.aColumnDefs,this.oDataSource,this.oConfigs);this.oDataTable.handleDataReturnPayload=function(oRequest,oResponse,oPayload){oPayload.totalRecords=oResponse.meta.totalRecords;return oPayload;};this.oDataTable.getColumn(0).naviki_ways_nextto_point=this;this.oDataTable.naviki_ways_nextto_point=this;this.oConfigs.paginator.naviki_ways_nextto_point=this;this.oDataTable.subscribe('renderEvent',this.updatePagination);this.oDataTable.myObj=this;eventMgr.mapPositioning.fire(lat,lng,zoom);};naviki.main.WaysNextToPoint.prototype.formatTableRow=function(elCell,oRecord,oColumn,sData){var wayKMLFile=oRecord.getData("kmlfile_rel_path");oColumn.naviki_ways_nextto_point.handleResults(wayKMLFile);elCell.innerHTML=naviki.main.portlets.Util.formatWayRow({record:oRecord,detailWayViewURL:oColumn.naviki_ways_nextto_point.detailMapView});};naviki.main.WaysNextToPoint.prototype.handleResults=function(file){eventMgr.addWayOverlay.fire(file,null,null,1);this.loadedKml.push(file);};naviki.main.WaysNextToPoint.prototype.handlePagination=function(){for(var i=0;i<this.naviki_ways_nextto_point.loadedKml.length;i++){eventMgr.removeWayOverlay.fire(this.naviki_ways_nextto_point.loadedKml[i]);}
this.naviki_ways_nextto_point.loadedKml=new Array();this.naviki_ways_nextto_point.update=true;};naviki.main.WaysNextToPoint.prototype.updatePagination=function(){var container=document.getElementById("paginator_"+this.myObj.tablediv);var links=YAHOO.util.Dom.getElementsByClassName("paginator_pagelinks_"+this.myObj.tablediv);var prev=YAHOO.util.Dom.getElementsByClassName("paginator_prevlinks_"+this.myObj.tablediv);var next=YAHOO.util.Dom.getElementsByClassName("paginator_nextlinks_"+this.myObj.tablediv);if(container!=null&&links!=null){var regionContainer=YAHOO.util.Dom.getRegion("paginator_"+this.myObj.tablediv);var regionLinks=YAHOO.util.Dom.getRegion(links);var ankers=links.getElementsByTagName("a");var count=1;var offset=0;if(prev!=null&&next!=null){var regionnext=YAHOO.util.Dom.getRegion(next);var regionprev=YAHOO.util.Dom.getRegion(prev);offset=regionnext.width+regionprev.width+5;}
while((regionLinks.width+offset)>regionContainer.width){YAHOO.util.Dom.setStyle(ankers[ankers.length-count],"display","none");regionContainer=YAHOO.util.Dom.getRegion("paginator_"+this.myObj.tablediv);regionLinks=YAHOO.util.Dom.getRegion(links);if((regionLinks.width+40)>regionContainer.width){YAHOO.util.Dom.setStyle(ankers[count-1],"display","none");regionContainer=YAHOO.util.Dom.getRegion("paginator_"+this.myObj.tablediv);regionLinks=YAHOO.util.Dom.getRegion(links);}
count++;}}};naviki.main.RouteSearch=function(tablediv,detailMapView,url){this.detailMapView=detailMapView;this.oDataSource=new YAHOO.util.DataSource(url);this.oDataSource.responseType=YAHOO.util.DataSource.TYPE_JSON;this.oDataSource.connXhrMode="queueRequests";this.oDataSource.responseSchema={resultsList:'RESULTVALUE.RESULTLIST',fields:["number","uid","title","tstamp","mediafileurl","mapurl","km"]};this.aColumnDefs=[{key:"uid",label:"",formatter:this.formatTableRow}];this.oConfigs={paginator:new YAHOO.widget.Paginator({alwaysVisible:false,rowsPerPage:5,previousPageLinkLabel:"&#9668;",nextPageLinkLabel:"&#9658;",containers:['paginator_'+tablediv],template:'<div style="width: 100%">'+'<table style="width: 100%; text-align: center"><tr style="text-align: center">'+'<td>{PreviousPageLink}</td>'+'<td style="width: 100%; text-align: center">{PageLinks}</td>'+'<td>{NextPageLink}</td>'+'</tr></table>'+'</div>'+''}),initialRequest:"",MSG_ERROR:naviki.Lang.getLL('yui_dataTable_msg_error'),MSG_EMPTY:naviki.Lang.getLL('yui_dataTable_msg_empty'),MSG_LOADING:"<div><img src='"+naviki.Util.FILEADMIN_PATH+"img/ajax-loader-2.gif'/></div>"};this.oDataTable=new YAHOO.widget.DataTable(tablediv,this.aColumnDefs,this.oDataSource,this.oConfigs);this.oDataTable.getColumn(0).naviki_pi_searchresults=this;};naviki.main.RouteSearch.prototype.formatTableRow=function(elCell,oRecord,oColumn,sData){elCell.innerHTML=naviki.main.portlets.Util.formatWayRow({record:oRecord,detailWayViewURL:oColumn.naviki_pi_searchresults.detailMapView});};naviki.main.GeoSearch=function(tbldiv,searchkey,prefixID){var myObj=this;this.tbldiv=tbldiv;var url="index.php?eID="+prefixID+"&actionId=searchAddress&searchKey="+encodeURI(searchkey);this.aColumnDefs=[{key:"name",label:"",formatter:this.formatTableRow,sortable:true}];this.oConfigs={paginator:new YAHOO.widget.Paginator({alwaysVisible:false,rowsPerPage:10,previousPageLinkLabel:"&#9668;",nextPageLinkLabel:"&#9658;",containers:['paginator_'+this.tbldiv],template:'<div style="width: 100%">'+'<table style="width: 100%; text-align: center"><tr style="text-align: center">'+'<td>{PreviousPageLink}</td>'+'<td style="width: 100%; text-align: center">{PageLinks}</td>'+'<td>{NextPageLink}</td>'+'</tr></table>'+'</div>'+''}),initialRequest:"",MSG_ERROR:naviki.Lang.getLL('yui_dataTable_msg_error'),MSG_EMPTY:naviki.Lang.getLL('yui_dataTable_msg_empty'),MSG_LOADING:"<div><img src='"+naviki.Util.FILEADMIN_PATH+"img/ajax-loader-2.gif'/></div>"};this.oDataSource=new YAHOO.util.DataSource(url);this.oDataSource.connXhrMode="queueRequests";this.oDataSource.connMgr=YAHOO.util.Connect;this.oDataSource.connMgr.initHeader('Content-Type','application/xml; charset=utf-8',true);this.oDataSource.responseType=YAHOO.util.DataSource.TYPE_XML;this.oDataSource.responseSchema={resultNode:"Placemark",fields:["name","coordinates"],metaNode:"Document"};this.oDataTable=new YAHOO.widget.DataTable(this.tbldiv,this.aColumnDefs,this.oDataSource,this.oConfigs);this.oDataTable.subscribe("rowMouseoverEvent",this.oDataTable.onEventHighlightRow);this.oDataTable.subscribe("rowMouseoutEvent",this.oDataTable.onEventUnhighlightRow);this.oDataTable.subscribe("rowClickEvent",function(oArgs){eventMgr.displaySearchResult.fire(this.getRecord(oArgs.target));});};naviki.main.GeoSearch.prototype.formatTableRow=function(elCell,oRecord,oColumn,sData){elCell.innerHTML="<div style='padding:5px;'>"+oRecord.getData("name")+"</div>";};function searchstringvalidation(form,skipAlerts){String.prototype.trim=function(){var x=this;x=x.replace(/^\s*(.*)/,"$1");x=x.replace(/(.*?)\s*$/,"$1");return x;};var searchstring=form.txtSearchKey.value;if(searchstring.trim==""||searchstring.length<3){if(!skipAlerts)
alert(naviki.Lang.getLL('searchTooShort'));return false;}
var special_chars=[/\\/,/\?/,/=/,/:/,/;/,/_/,/#/,/'/,/\+/,/\*/,/~/,/\^/,/°/,/\$/,/&/,/\)/,/\(/,/§/,/!/,/\"/,/\{/,/\}/,/\[/,/\]/,/%/,/</,/>/,/\|/];for(var index=0;index<special_chars.length;index++){if(searchstring.match(special_chars[index])){if(!skipAlerts)
alert(naviki.Lang.getLL('searchInvalid'));return false;}}
return true;};function checkEnter(e,formDivId){var e=e||window.event;var key=e.keyCode||e.which||e.charCode,Shift=e.shiftKey;if(key==13){var f=document.getElementById(formDivId);if(searchstringvalidation(f,true))
f.submit();}};function changeTagetSite(formId,targetId){document.getElementById(formId).action=targetId;};;

naviki.main.RoutingRequest=function(config){this.routingTargetPage=config['routingTargetPage'];this.layout=config['layout'];this.targetUrl=config['targetUrl'];this.uid=config['uid'];this.cid=config['cid'];this.inputfieldsDivId=config['inputfields'];this.deletelinksDivId=config['deleteLinks'];this.obj=config['obj'];this.containerDivId=config['container'];this.optionsDivId=config['options'];this.radioOptions=config['radioOptions'];this.checkboxOptions=config['checkboxOptions'];this.spinnerDivId=config['spinner'];this.lpUID=config['lpUID'];this.RoutingRequest=this;this.button=this.setButton();this.loadedKml=null;this.dialog;this.maxEntry;if(parseInt(config['visible'])==0){this.hideRoutingRequest();}
if(naviki.Util.routingOptions==0){document.getElementsByName(this.checkboxOptions)[0].style.display="none";}
var from="";var to="";var type="";var option="";var request=false;if(config['request']==1){from=config['from'];to=config['to'];}else{var search=window.location.hash;search=search.substr(1);search=search.split("&");for(var i=0;i<search.length;i++){if(search[i].indexOf("from=")>=0){from=unescape(search[0].substr(search[0].indexOf("from=")+5));}else if(search[i].indexOf("to=")>=0){to=unescape(search[1].substr(search[1].indexOf("to=")+3));}else if(search[i].indexOf("type=")>=0){type=unescape(search[2].substr(search[2].indexOf("type=")+5));}else if(search[i].indexOf("option=")>=0){option=unescape(search[3].substr(search[3].indexOf("option=")+7));}}
window.location.hash="";}
if(from!=""&&to!=""){request=true;}
switch(parseInt(this.layout)){case 1:this.maxEntry=19;this.addEntry(from,"");this.addEntry(to,"");break;default:this.maxEntry=2;this.addEntryStandardSide(from,"");this.addEntryStandardSide(to,"");break;}
if(request==true){if(this.routingTargetPage!=""){this.requestToNewPage();}
var radiobuttons=document.getElementsByName(this.radioOptions);for(var i=0;i<radiobuttons.length;i++){if(radiobuttons[i].value==type){radiobuttons[i].checked=true;}}
var checkbox=document.getElementsByName(this.checkboxOptions)[0];if(option=="true"){checkbox.checked=true;}else{checkbox.checked=false;}
this.RoutingRequest=this;this.request();}
eventMgr.moveRoutingMarker.subscribe(this.moveRoutingMarker,this);eventMgr.updateRoutingInputs.subscribe(this.updateRoutingInputs,this);eventMgr.clearRoutingRequest.subscribe(this.clearRoutingRequest,this);eventMgr.showRoutingRequest.subscribe(this.showRoutingRequest,this);};naviki.main.RoutingRequest.prototype.showRoutingRequest=function(type,e,me){var content=document.getElementById("nui-ce-id-"+me.uid);YAHOO.util.Dom.setStyle(content,"display","");};naviki.main.RoutingRequest.prototype.hideRoutingRequest=function(){var content=document.getElementById("nui-ce-id-"+this.uid);YAHOO.util.Dom.setStyle(content,"display","none");};naviki.main.RoutingRequest.prototype.clearRoutingRequest=function(type,e,me){if(me.loadedKml!=null){eventMgr.removeWayOverlay.fire(me.loadedKml);}
var inputfieldsDiv=document.getElementById(me.inputfieldsDivId);var inputfields=inputfieldsDiv.getElementsByTagName("input");for(var i=0;i<inputfields.length;i++){if(i<2){me.clearcoord(i);me.clearDst(i);}else{me.deleteDst(i);}}};naviki.main.RoutingRequest.prototype.addEntryStandardSide=function(value,coord){var template=naviki.Template.getSubpart("###TEMPLATE_ROUTING_REQUEST_ENTRY_STANDARDSIDE###");var inputfieldsDiv=document.getElementById(this.inputfieldsDivId);var pos=inputfieldsDiv.childNodes.length;var sa=new Object();var input;if(pos<this.maxEntry){sa['###DESTINATION_INPUT_NAME###']=this.inputfieldsDivId+"["+pos+"][dd][input]";sa['###DESTINATION_INPUT_VALUE###']=value;sa['###DESTINATION_INPUT_TABINDEX###']=pos+1;sa['###DESTINATION_INPUT_ONKEYUP###']="javascript:"+this.obj+".checkenter(event);"+this.obj+".clearcoord("+pos+");";sa['###DESTINATION_COORDINATES_NAME###']=this.inputfieldsDivId+"["+pos+"][dd][coord]";sa['###DESTINATION_COORDINATES_VALUE###']=coord;sa['###DRAG_OBJ_LABEL_ID###']=this.inputfieldsDivId+"["+pos+"][dd][label]";input=document.createElement("div");input.innerHTML=naviki.Template.substituteMarkerArray(template,sa);inputfieldsDiv.appendChild(input);this.updateLabels();this.updateContextMenu();}};naviki.main.RoutingRequest.prototype.addEntry=function(value,coord){var inputfieldsDiv=document.getElementById(this.inputfieldsDivId);var deletelinksDiv=document.getElementById(this.deletelinksDivId);var pos=inputfieldsDiv.childNodes.length;var template=naviki.Template.getSubpart("###TEMPLATE_ROUTING_REQUEST_ENTRY###");var sa=new Object();var dd;var element;var offset;element=document.getElementById(this.inputfieldsDivId+"["+pos+"][dd]");if(element!=null){do{pos++;element=document.getElementById(this.inputfieldsDivId+"["+pos+"][dd]");}while(element!=null);}
offset=2850+((pos+1)*30);if((pos)<this.maxEntry){sa['###OFFSET###']=offset;sa['###DESTINATION_INPUT_NAME###']=this.inputfieldsDivId+"["+pos+"][dd][input]";sa['###DESTINATION_INPUT_VALUE###']=value;sa['###DESTINATION_INPUT_TABINDEX###']=pos;sa['###DESTINATION_INPUT_ONKEYUP###']="javascript:"+this.obj+".checkenter(event);"+this.obj+".clearcoord("+pos+");";sa['###DESTINATION_COORDINATES_NAME###']=this.inputfieldsDivId+"["+pos+"][dd][coord]";sa['###DESTINATION_COORDINATES_VALUE###']=coord;sa['###DRAG_OBJ_HANDLE_ID###']=this.inputfieldsDivId+"["+pos+"][dd][handle]";sa['###DRAG_OBJ_LABEL_ID###']=this.inputfieldsDivId+"["+pos+"][dd][label]";sa['###DRAG_OBJ_ID###']=this.inputfieldsDivId+"["+pos+"][dd][obj]";var input=document.createElement("div");input.id=this.inputfieldsDivId+"["+pos+"][dd]";input.innerHTML=naviki.Template.substituteMarkerArray(template,sa);inputfieldsDiv.appendChild(input);dd=new naviki.main.RoutingRequest.dd(this.inputfieldsDivId+"["+pos+"][dd]");dd.setHandleElId(this.inputfieldsDivId+"["+pos+"][dd][handle]");var deletelink=document.createElement("div");template=naviki.Template.getSubpart("###TEMPLATE_ROUTING_REQUEST_DELETE###");deletelink.innerHTML=naviki.Template.substituteMarkerArray(template,sa);deletelinksDiv.appendChild(deletelink);YAHOO.util.Dom.setStyle(input,"height","40px");YAHOO.util.Dom.setStyle(deletelink,"height","19px");YAHOO.util.Dom.setStyle(deletelink,"margin-top","21px");YAHOO.util.Dom.setStyle(deletelink,"margin-left","10px");this.updateLabels();this.updateDeleteLinks();this.updateContextMenu();}else{this.showDialog(naviki.Lang.getLL('routing_request_attention'),naviki.Lang.getLL('routing_request_maximum_number_is_reached'));}};naviki.main.RoutingRequest.prototype.updateHandleImg=function(){var inputfields=document.getElementById(this.inputfieldsDivId);var handles=YAHOO.util.Dom.getElementsByClassName("tx-naviki-pi-routing-request-dd-handle","div",inputfields);var index=1;for(var i=0;i<handles.length;i++){offset=2850+((index)*30);bg="url('/typo3conf/ext/naviki/fileadmin/img/sprite.gif') no-repeat scroll 0 -"+offset+"px transparent";YAHOO.util.Dom.setStyle(handles[i],"background",bg);index++;}};naviki.main.RoutingRequest.prototype.updateLabels=function(){var inputfieldsDiv=document.getElementById(this.inputfieldsDivId);var label=inputfieldsDiv.getElementsByTagName("label");for(var i=0;i<label.length;i++){if(i==0){label[i].innerHTML=naviki.Lang.getLL('start');}
else if(i<(label.length-1)){label[i].innerHTML="VIA";}
else{label[i].innerHTML=naviki.Lang.getLL('destination');}}};naviki.main.RoutingRequest.prototype.updateDeleteLinks=function(){var deletelinksDiv=document.getElementById(this.deletelinksDivId);var anker=deletelinksDiv.getElementsByTagName("a");for(var i=0;i<anker.length;i++){if(anker.length<3){deletelinksDiv.style.display="none";break;}else{deletelinksDiv.style.display="";anker[i].href="javascript:"+this.obj+".deleteDst("+i+");";}}};naviki.main.RoutingRequest.prototype.updateTabindex=function(){var inputfieldsDiv=document.getElementById(this.inputfieldsDivId);var inputfields=inputfieldsDiv.getElementsByTagName("input");var index=1;for(var i=0;i<inputfields.length;i++){if(inputfields[i].type!="hidden"){YAHOO.util.Dom.setAttribute(inputfields[i],"tabindex",index);index++;}}};naviki.main.RoutingRequest.prototype.updateMarker=function(){var inputfieldsDiv=document.getElementById(this.inputfieldsDivId);var inputfields=inputfieldsDiv.getElementsByTagName("input");var coord="";for(var i=0;i<inputfields.length;i++){if(inputfields[i].type=="hidden"){if(inputfields[i].value!=""){coord+=inputfields[i].value+";";}else{coord+="null;";}}}
if(coord.length>0){coord=coord.substr(0,coord.length-1);}
eventMgr.addRoutingMarker.fire(coord);};naviki.main.RoutingRequest.prototype.updateContextMenu=function(){var inputfieldsDiv=document.getElementById(this.inputfieldsDivId);var tmp=inputfieldsDiv.getElementsByTagName("input");var inputfields=new Array();var links="";for(var i=0;i<tmp.length;i++){if(tmp[i].type!="hidden"){inputfields.push(tmp[i]);}}
if(inputfields.length>=2){if(inputfields[0].value!=""&&inputfields[1].value==""){links="<a href='javascript:"+this.obj+".addDestination(1,###LAT###,###LNG###)'><div>&nbsp;"+naviki.Lang.getLL('addRouteTo2')+"&nbsp;</div></a>";}
else if(inputfields[0].value==""&&inputfields[1].value!=""){links="<a href='javascript:"+this.obj+".addDestination(0,###LAT###,###LNG###)'><div>&nbsp;"+naviki.Lang.getLL('addRouteFrom')+"&nbsp;</div></a>";}
else if(inputfields[0].value!=""&&inputfields[1].value!=""){if(this.maxEntry>2){links="<a href='javascript:"+this.obj+".addDestination(-1,###LAT###,###LNG###)' ><div>&nbsp;"+naviki.Lang.getLL('addRouteTo1')+"&nbsp;</div></a>";}else{links="";}}
else{links="<a href='javascript:"+this.obj+".addDestination(0,###LAT###,###LNG###)'><div>&nbsp;"+naviki.Lang.getLL('addRouteFrom')+"&nbsp;</div></a>"+"<a href='javascript:"+this.obj+".addDestination(1,###LAT###,###LNG###)'><div>&nbsp;"+naviki.Lang.getLL('addRouteTo2')+"&nbsp;</div></a>";}
eventMgr.updateContextMenu.fire("RoutingRequest",links);}};naviki.main.RoutingRequest.prototype.clearcoord=function(pos){var inputfieldsDiv;var inputfields;inputfieldsDiv=document.getElementById(this.inputfieldsDivId);inputfields=inputfieldsDiv.childNodes[pos].getElementsByTagName("input");if(inputfields[1].value!=""){inputfields[1].value="";this.updateMarker();}
if(inputfields[0].value==""){this.updateContextMenu();}};naviki.main.RoutingRequest.prototype.clearDst=function(pos){var inputfieldsDiv=document.getElementById(this.inputfieldsDivId);var inputfields=inputfieldsDiv.childNodes[pos].getElementsByTagName("input");for(var i=0;i<inputfields.length;i++){inputfields[i].value="";}
this.updateMarker();this.updateContextMenu();};naviki.main.RoutingRequest.prototype.deleteDst=function(pos){var inputfieldsDiv=document.getElementById(this.inputfieldsDivId);var childInput=inputfieldsDiv.childNodes[pos];var deletelinksDiv=document.getElementById(this.deletelinksDivId);var childDelete=deletelinksDiv.childNodes[pos];inputfieldsDiv.removeChild(childInput);deletelinksDiv.removeChild(childDelete);this.updateLabels();this.updateDeleteLinks();this.updateHandleImg();this.updateTabindex();this.updateMarker();this.updateContextMenu();};naviki.main.RoutingRequest.prototype.setButton=function(){var button=new YAHOO.widget.Button({id:this.containerDivId+"[requestbutton]",type:"button",label:naviki.Lang.getLL('routing_request_button_label'),container:this.containerDivId});button.RoutingRequest=this;if(this.routingTargetPage==""){button.set("onclick",{fn:this.request,obj:this});}else{button.set("onclick",{fn:this.requestToNewPage,obj:this});}
return button;};naviki.main.RoutingRequest.prototype.enableInputs=function(){var inputfieldsDiv=document.getElementById(this.inputfieldsDivId);var inputfields=inputfieldsDiv.getElementsByTagName("input");for(var i=0;i<inputfields.length;i++){inputfields[i].removeAttribute("disabled");}
this.updateDeleteLinks();var optionsDiv=document.getElementById(this.optionsDivId);var options=optionsDiv.getElementsByTagName("input");for(var k=0;k<options.length;k++){options[k].removeAttribute("disabled");}
var add=optionsDiv.getElementsByTagName("a");if(add.length>0){YAHOO.util.Dom.setAttribute(add[0],"href","javascript:"+this.obj+".addEntry('','');");}
eventMgr.enableDD.fire();this.button.set("onclick",{fn:this.request,obj:this});eventMgr.enableDraggingMarker.fire();document.getElementById(this.spinnerDivId).style.visibility="hidden";};naviki.main.RoutingRequest.prototype.disableInputs=function(){var inputfieldsDiv=document.getElementById(this.inputfieldsDivId);var inputfields=inputfieldsDiv.getElementsByTagName("input");for(var i=0;i<inputfields.length;i++){YAHOO.util.Dom.setAttribute(inputfields[i],"disabled","");}
var deletelinksDiv=document.getElementById(this.deletelinksDivId);var anker=deletelinksDiv.getElementsByTagName("a");for(var j=0;j<anker.length;j++){anker[j].removeAttribute("href");}
var optionsDiv=document.getElementById(this.optionsDivId);var options=optionsDiv.getElementsByTagName("input");for(var k=0;k<options.length;k++){YAHOO.util.Dom.setAttribute(options[k],"disabled","");}
var add=optionsDiv.getElementsByTagName("a");if(add.length>0){add[0].removeAttribute("href");}
eventMgr.disableDD.fire();this.button.set("onclick",{});eventMgr.disableDraggingMarker.fire();document.getElementById(this.spinnerDivId).style.visibility="visible";};naviki.main.RoutingRequest.prototype.checkInputs=function(){var inputfieldsDiv=document.getElementById(this.inputfieldsDivId);var inputfields=inputfieldsDiv.childNodes;var check=1;for(var i=0;i<inputfields.length;i++){value=inputfields[i].getElementsByTagName("input")[0].value;if(value==""){check=-1;break;}}
return check;};naviki.main.RoutingRequest.prototype.checkenter=function(e){var e=e||window.event;var key=e.keyCode||e.which||e.charCode,Shift=e.shiftKey;var inputfieldsDiv=document.getElementById(this.inputfieldsDivId);var inputfields=inputfieldsDiv.childNodes;if(key==13){if(this.routingTargetPage==""){this.request();}
else{this.requestToNewPage();}}};naviki.main.RoutingRequest.prototype.requestToNewPage=function(){this.RoutingRequest.disableInputs();if(this.RoutingRequest.checkInputs()>0){var type="";var option="";var from="";var to="";var inputfieldsDiv=document.getElementById(this.RoutingRequest.inputfieldsDivId);var inputfields=inputfieldsDiv.childNodes;from=inputfields[0].getElementsByTagName("input")[0].value;to=inputfields[1].getElementsByTagName("input")[0].value;var radiobuttons=document.getElementsByName(this.RoutingRequest.radioOptions);for(var i=0;i<radiobuttons.length;i++){if(radiobuttons[i].checked==true){type=radiobuttons[i].value;}}
var checkbox=document.getElementsByName(this.RoutingRequest.checkboxOptions)[0];if(checkbox.checked==true){option="true";}else{option="false";}
var address="http://"+window.location.host+"/"+this.RoutingRequest.targetUrl+"#from="+escape(from)+"&to="+escape(to)+"&type="+escape(type)+"&option="+escape(option);window.location.replace(address);}else{this.RoutingRequest.showDialog(naviki.Lang.getLL('routing_request_attention'),naviki.Lang.getLL('routing_request_empty_inputfields'));}};naviki.main.RoutingRequest.prototype.request=function(){this.RoutingRequest.disableInputs();if(this.RoutingRequest.checkInputs()>0){var start="";var end="";var title="";var type="";var option="";var value="";var coord="";var data=new Array();var radiobuttons=document.getElementsByName(this.RoutingRequest.radioOptions);for(var i=0;i<radiobuttons.length;i++){if(radiobuttons[i].checked==true){type=radiobuttons[i].value;}}
var checkbox=document.getElementsByName(this.RoutingRequest.checkboxOptions)[0];if(checkbox.checked==true){option="true";}else{option="false";}
var inputfieldsDiv=document.getElementById(this.RoutingRequest.inputfieldsDivId);var inputfields=inputfieldsDiv.childNodes;for(var j=0;j<inputfields.length;j++){coord=inputfields[j].getElementsByTagName("input")[1].value;value=inputfields[j].getElementsByTagName("input")[0].value;if(coord!=""){data.push(coord);}
else{data.push(value);}}
start=inputfields[0].getElementsByTagName("input")[0].value;end=inputfields[inputfields.length-1].getElementsByTagName("input")[0].value;title=start+" - "+end;var address="index.php?eID=tx_naviki_pi_routing_request&actionId=calcRoute";for(var i=0;i<data.length;i++){address+="&dst["+i+"]="+encodeURI(data[i]);}
address+="&type="+encodeURI(type);address+="&option="+encodeURI(option);address+="&title="+encodeURI(title);address+="&lpuid="+encodeURI(this.RoutingRequest.lpUID);var getXML=YAHOO.util.Connect.asyncRequest("GET",address,{success:function(o){var response=YAHOO.lang.JSON.parse(o.responseText);if(response['STATE']=="ERROR"){var text="";var header="";switch(parseInt(response['ERROR_CODE'])){case 404:text=naviki.Lang.getLL("error_routing_404");header=naviki.Lang.getLL("routing_request_attention");break;default:text=naviki.Lang.getLL("error_routing_unknown")+"\nServer-Fehlermeldung:\n"+
response['ERROR_TEXT'];header=naviki.Lang.getLL("error_way_header_default");break;}
this.RoutingRequest.showDialog(header,text);}else{if(this.RoutingRequest.loadedKml!=null){eventMgr.removeWayOverlay.fire(this.RoutingRequest.loadedKml);}
this.RoutingRequest.loadedKml=response['TMP_FILENAME'];eventMgr.addWayOverlay.fire(response['TMP_FILENAME'],response['GETOUR_FILENAME'],response['FILENAME'],0);eventMgr.onHide.fire();eventMgr.addRoutingMarker.fire(response['MARKER']);if(response['LEGEND'].length>0){eventMgr.updateWayInfo.fire(response['WAYID'],start,end,response['LEGEND']);}else{eventMgr.updateWayInfo.fire(response['WAYID'],start,end);}}
this.RoutingRequest.enableInputs();this.RoutingRequest.updateContextMenu();},failure:function(o){alert("Sorry, routing request failed!\n Here is the response: "+o);this.RoutingRequest.enableInputs();},argument:null,scope:this});}else{this.RoutingRequest.showDialog(naviki.Lang.getLL('routing_request_attention'),naviki.Lang.getLL('routing_request_empty_inputfields'));}};naviki.main.RoutingRequest.prototype.showDialog=function(header,body){if(typeof this.dialog=="undefined"){var dialog_container=document.getElementById("naviki-dialogs");var dialogDiv=document.createElement("div");dialogDiv.id=this.cid+"_dialog";dialog_container.appendChild(dialogDiv);this.dialog=new naviki.main.ModalDialog(dialogDiv.id,{width:"310px",fixedcenter:true,visible:false,modal:true,draggable:true,zindex:4,close:false,constraintoviewport:true});this.dialog.RoutingRequest=this;}
this.dialog.setHeader(header);this.dialog.setBody(body);this.dialog.cfg.queueProperty("buttons",[{text:naviki.Lang.getLL('dialog_ok'),handler:this.hideDialog}]);this.dialog.render();this.dialog.show();};naviki.main.RoutingRequest.prototype.hideDialog=function(){this.hide();this.RoutingRequest.enableInputs();};naviki.main.RoutingRequest.prototype.addDestination=function(pos,lat,lng){eventMgr.hideContextMenu.fire();var myObj=this;var address="index.php?eID=tx_naviki_pi_searchresults"+"&actionId=reverseSearch"+"&lat="+lat+"&lon="+lng;var getXML=YAHOO.util.Connect.asyncRequest("GET",address,{success:function(o){var location="";if(o.responseXML.documentElement.getElementsByTagName("name").length==0){location=lng+","+lat;}else{location=o.responseXML.documentElement.getElementsByTagName("name")[0].firstChild.nodeValue;}
var inputfieldsDiv=document.getElementById(myObj.inputfieldsDivId);var inputfields=inputfieldsDiv.childNodes;switch(pos){case-1:myObj.addEntry(location,lng+","+lat);break;case 0:inputfields[0].getElementsByTagName("input")[0].value=location;inputfields[0].getElementsByTagName("input")[1].value=lng+","+lat;break;case 1:inputfields[1].getElementsByTagName("input")[0].value=location;inputfields[1].getElementsByTagName("input")[1].value=lng+","+lat;break;}
myObj.updateMarker();myObj.updateContextMenu();},failure:function(o){alert("Sorry, reverseSearch failed!\n Here is the response: "+o);},argument:null,scope:this});};naviki.main.RoutingRequest.prototype.moveRoutingMarker=function(type,e,me){var lat=e[2];var lng=e[1];var inputfieldsDiv=document.getElementById(me.inputfieldsDivId);var inputfield=inputfieldsDiv.childNodes[e[0]];var coord=inputfield.getElementsByTagName("input")[1];var value=inputfield.getElementsByTagName("input")[0];coord.value=lng+","+lat;var address="index.php?eID=tx_naviki_pi_searchresults"+"&actionId=reverseSearch"+"&lat="+lat+"&lon="+lng;var getXML=YAHOO.util.Connect.asyncRequest("GET",address,{success:function(o){if(o.responseXML.documentElement.getElementsByTagName("name").length==0){value.value=lng+","+lat;}else{value.value=o.responseXML.documentElement.getElementsByTagName("name")[0].firstChild.nodeValue;}},failure:function(o){value.value=lng+","+lat;},argument:null,scope:this});};naviki.main.RoutingRequest.prototype.updateRoutingInputs=function(type,e,me){var inputfieldsDiv=document.getElementById(me.inputfieldsDivId);var inputfield=inputfieldsDiv.childNodes[e[0]];var coord=inputfield.getElementsByTagName("input")[1];var value=inputfield.getElementsByTagName("input")[0];coord.value=e[1]+","+e[2];};;

naviki.main.Way=function(config,waytabview){this.waytabview=waytabview;this.pid=config['pid'];this.uid=config['uid'];this.cid=config['cid'];this.obj=config['obj'];this.userid=config['userid'];this.wayid=config['wayuid'];this.buttonid=config['buttonid'];this.container=config['container'];this.prefixId=config['prefixId'];this.tabviewid=config['tabviewid'];this.key=config['key'];this.lpAdmin=config['lpadmin'];this.lpuid=config['lpuid'];this.SNsettings=config['SNsettings'];this.geobases=config['geobases'];this.onlyViewMode=config['onlyViewMode'];this.ways_to_cloud=config['ways_to_cloud'];this.languages=config['languages'];this.language=0;this.viewSlider=null;this.button=null;this.store=true;this.haveDrawing=false;this.newWay=false;this.loadedKml=null;this.haveGPSfiles=false;this.GPSfilesTable=null;this.GPSfilesCount=0;this.GPSfilesUploadCount=0;this.MEDIAfiles=new Array();this.MEDIAdragObj=new Array();this.haveMEDIAfiles=false;this.MEDIAfilesCount=0;this.MEDIAfilesUploadCount=0;this.fileInput=null;this.highlightFiles;this.isDialogVisible=false;this.dialogArray=new Array();this.fileId;this.fileName;this.hideMe();if(this.wayid>0){this.newWay=false;this.loadWayData();}else{if(this.onlyViewMode==0){this.newWay=true;this.showMe();this.setSaveMode();this.landingpageSettings(-1);}}
eventMgr.onShow.subscribe(this.onShow,this);eventMgr.onHide.subscribe(this.onHide,this);eventMgr.updateWayView.subscribe(this.updateWayView,this);eventMgr.responseGeolocationImage.subscribe(this.responseGeolocationImage,this);eventMgr.storeDrawing.subscribe(this.storeDrawing,this);eventMgr.existDrawing.subscribe(this.existDrawing,this);};naviki.main.Way.prototype.setTitleInHeader=function(title){var content=document.getElementById("nui-ce-id-"+this.uid);var div=YAHOO.util.Dom.getElementsByClassName("csc-header","div",content);var headers=div[0].getElementsByTagName("h1");if(title.length>60){title=title.substring(0,56);title+=" ...";}
for(var i=0;i<headers.length;i++){if(headers[i].firstChild!=null){headers[i].firstChild.data=title;break;}}};naviki.main.Way.prototype.updateWayView=function(type,e,me){me.wayid=e[0];me.hideMe();me.loadWayData();me.showMe();};naviki.main.Way.prototype.onShow=function(type,e,me){me.showMe();};naviki.main.Way.prototype.onHide=function(type,e,me){if(me.loadedKml!=null){eventMgr.removeWayOverlay.fire(me.loadedKml);}
me.hideMe();};naviki.main.Way.prototype.setTab=function(){var container=document.getElementById(this.prefixId+this.uid+"tabview");var tabs=container.getElementsByTagName("li");for(var i=0;i<tabs.length;i++){if(YAHOO.util.Dom.hasClass(tabs[i],"selected")){if(YAHOO.util.Dom.getStyle(tabs[i],"display")=="none"){if(i==0){this.waytabview.selectTab(tabs.length-1);}else{this.waytabview.selectTab(i-1);}
this.setTab();break;}else{break;}}}};naviki.main.Way.prototype.setSaveMode=function(){this.enableSlider();this.enableInputs();this.enableGPSUploads();if(this.lpAdmin==true){document.getElementById(this.prefixId+"[type]").style.display="";}else{document.getElementById(this.prefixId+this.uid+"tabview_tab3").style.display="none";}
if(this.geobases.length>0){document.getElementById(this.prefixId+this.uid+"tabview_tab4").style.display="";}
this.enableLanguageForDescription();this.enableMEDIAUploads();this.enableDeleteWay();this.setSaveButton();this.setSNsettings();this.setTab();if(naviki.Util.drawMode==1){eventMgr.enableDrawMode.fire();}
eventMgr.enableDraggableGeolocationImage.fire();};naviki.main.Way.prototype.setEditMode=function(){document.getElementById(this.prefixId+this.uid+"tabview_tab4").style.display="none";document.getElementById(this.prefixId+"[type]").style.display="none";this.disableLanguageForDescription();this.disableSlider();this.disableInputs();this.disableDeleteWay();this.setEditButton();this.setTab();if(naviki.Util.drawMode==1){eventMgr.disableDrawMode.fire();}
eventMgr.disableDraggableGeolocationImage.fire();};naviki.main.Way.prototype.enableLanguageForDescription=function(){if(this.lpAdmin==true){var element=document.getElementById(this.prefixId+"[description][language]");var me=this;var html="<label style='margin:10px 0 5px 0;'>"+naviki.Lang.getLL('language')+":</label>";html+="<div style='margin-bottom:10px;'><select name='"+this.prefixId+"-description-language' size='1' onchange='javascript:"+this.obj+".language = this.options[this.selectedIndex].value;'>";for(var i=0;i<this.languages.length;i++){if(this.languages[i]['sys_language_uid']==this.language){html+="<option selected='selected' value='"+this.languages[i]['sys_language_uid']+"'>"+this.languages[i]['name']+"</option>";}else{html+="<option value='"+this.languages[i]['sys_language_uid']+"'>"+this.languages[i]['name']+"</option>";}}
html+="</select></div>";element.innerHTML=html;YAHOO.util.Dom.setStyle(element,"display","");}};naviki.main.Way.prototype.disableLanguageForDescription=function(){var element=document.getElementById(this.prefixId+"[description][language]");YAHOO.util.Dom.setStyle(element,"display","none");};naviki.main.Way.prototype.dialog=function(header,body,buttons){if(typeof this.waydialog=="undefined"){var dialog_container=document.getElementById("naviki-dialogs");var dialog=document.createElement("div");dialog.id=this.prefixId+"_dialog";dialog_container.appendChild(dialog);this.waydialog=new naviki.main.ModalDialog(dialog.id,{width:"310px",fixedcenter:true,visible:false,modal:true,draggable:true,zindex:4,close:false,constraintoviewport:true});}
if(this.isDialogVisible==false){this.waydialog.setHeader(header);this.waydialog.setBody(body);switch(buttons){case"none":this.waydialog.cfg.queueProperty("buttons",[]);break;case"default":this.waydialog.cfg.queueProperty("buttons",[{text:naviki.Lang.getLL('dialog_ok'),handler:this.handleWayDialogCancel}]);break;default:this.waydialog.cfg.queueProperty("buttons",buttons);break;}
this.waydialog.render();this.waydialog.show();this.isDialogVisible=true;}else{var message=new Object();message.header=header;message.body=body;message.buttons=buttons;this.dialogArray.push(message);}
this.waydialog.way=this;};naviki.main.Way.prototype.handleWayDialogCancel=function(){var me;if(typeof this.way=="undefined"){me=this;}else{me=this.way;}
me.isDialogVisible=false;me.waydialog.hide();if(me.dialogArray.length>0){var message=me.dialogArray[0];me.dialogArray.splice(0,1);me.dialog(message.header,message.body,message.buttons);}};naviki.main.Way.prototype.enableDeleteWay=function(){var element=document.getElementById(this.prefixId+"[deleteway]");if(this.wayid>0){element.innerHTML="<br /><a href='javascript:"+this.obj+".showDeleteWayDialog()'>"+naviki.Lang.getLL('dialog_delete_way')+"</a>";}};naviki.main.Way.prototype.disableDeleteWay=function(){var element=document.getElementById(this.prefixId+"[deleteway]");element.innerHTML="";};naviki.main.Way.prototype.showDeleteWayDialog=function(){var header=naviki.Lang.getLL('dialog_delete_way');var body=naviki.Lang.getLL('dialog_delete_way_text');var buttons=[{text:naviki.Lang.getLL('dialog_yes'),handler:this.handleDeleteWayDialogOk},{text:naviki.Lang.getLL('dialog_no'),handler:this.handleWayDialogCancel}];this.dialog(header,body,buttons);};naviki.main.Way.prototype.handleDeleteWayDialogOk=function(){var myObj=this.way;var address="index.php?eID=tx_naviki_pi_way&actionId=deleteWay&wayUid="+this.way.wayid+"&lpUid="+this.way.lpuid+"&outputType=json";var header=naviki.Lang.getLL('dialog_delete_way');var body=naviki.Lang.getLL('waitforupload');myObj.handleWayDialogCancel();myObj.dialog(header,body,"none");var oCallback={success:function(o){var response=YAHOO.lang.JSON.parse(o.responseText);if(response['STATE']=="OK"){var href=window.location.href;var pos=href.indexOf("?");if(pos>0){href=href.substr(0,pos);}else{pos=href.lastIndexOf("/");href=href.substr(0,pos);}
window.location.href=href;}else{var header=naviki.Lang.getLL('error_way_header_default');var body=naviki.Lang.getLL('error_way_body_default');myObj.handleWayDialogCancel();myObj.dialog(header,body,"default");}},failure:function(o){myObj.handleWayDialogCancel();alert("Sorry, no data found for that address!\n Here is the response: "+o);},cache:false};var getXML=YAHOO.util.Connect.asyncRequest("GET",address,oCallback);};naviki.main.Way.prototype.handleDeleteGPSDialogOk=function(){var myObj=this.way;var address="index.php?eID=tx_naviki_pi_way&actionId=deleteGPSFile&wayid="+myObj.wayid+"&file="+myObj.fileName+"&outputType=json";var header=naviki.Lang.getLL('dialog_delete_gps');var body=naviki.Lang.getLL('waitforupload');myObj.handleWayDialogCancel();myObj.dialog(header,body,"none");var oCallback={success:function(o){var response=YAHOO.lang.JSON.parse(o.responseText);if(response['STATE']=="OK"){myObj.handleWayDialogCancel();myObj.deleteTableRow(myObj.fileId);if(myObj.haveGPSfiles==false){eventMgr.removeWayOverlay.fire(myObj.loadedKml);eventMgr.updateWayInfo.fire(-1);myObj.loadedKml=null;}else{myObj.highlightFiles=response['KMLFILES'];if(myObj.loadedKml!=null){eventMgr.removeWayOverlay.fire(myObj.loadedKml);}
myObj.loadedKml=response['ALLTOONE'];eventMgr.addWayOverlay.fire(response['ALLTOONE'],response['GETOUR'],null,0);eventMgr.updateWayInfo.fire(myObj.wayid);}}else{var header=naviki.Lang.getLL('error_way_header_default');var body=naviki.Lang.getLL('error_way_body_default');myObj.handleWayDialogCancel();myObj.dialog(header,body,"default");}},failure:function(o){myObj.handleWayDialogCancel();alert("Sorry, no data found for that address!\n Here is the response: "+o);},cache:false};var getXML=YAHOO.util.Connect.asyncRequest("GET",address,oCallback);};naviki.main.Way.prototype.handleDeleteMEDIADialogOk=function(){var myObj=this.way;var address="index.php?eID=tx_naviki_pi_way&actionId=deleteMediaFile&wayid="+myObj.wayid+"&file="+myObj.fileName+"&outputType=json";var header=naviki.Lang.getLL('dialog_delete_media');var body=naviki.Lang.getLL('waitforupload');myObj.handleWayDialogCancel();myObj.dialog(header,body,"none");var oCallback={success:function(o){var response=YAHOO.lang.JSON.parse(o.responseText);if(response['STATE']=="OK"){var tmp=0;var file=document.getElementById(myObj.prefixId+"[mediafiles][edit]["+myObj.fileId+"]");var media=document.getElementById(myObj.prefixId+"[mediafiles][edit]").childNodes;var nomedia=document.getElementById(myObj.prefixId+"[mediafiles][nomedia]");var tip=document.getElementById(myObj.prefixId+"[mediafiles][tip]");file.style.display="none";for(var i=0;i<(media.length-1);i++){if(media[i].style.display=="none"){tmp++;}}
if(tmp==media.length-1){nomedia.style.display="";tip.style.display="none";}
eventMgr.removeGeolocationImage.fire(myObj.fileName);myObj.handleWayDialogCancel();}else{var header=naviki.Lang.getLL('error_way_header_default');var body=naviki.Lang.getLL('error_way_body_default');myObj.handleWayDialogCancel();myObj.dialog(header,body,"default");}},failure:function(o){myObj.handleWayDialogCancel();alert("Sorry, no data found for that address!\n Here is the response: "+o);},cache:false};var getXML=YAHOO.util.Connect.asyncRequest("GET",address,oCallback);};naviki.main.Way.prototype.enableGPSUploads=function(){var nomedia=document.getElementById(this.prefixId+"[gpsfiles][nomedia]");var gpsfiles=document.getElementById(this.prefixId+"[gpsfiles]");var upload=document.getElementById(this.prefixId+"[gpsfiles][upload]");if(this.haveGPSfiles==true){nomedia.style.display="none";this.createTable();}
gpsfiles.style.display="";upload.appendChild(this.getGPSUploadForm(this.GPSfilesCount));};naviki.main.Way.prototype.startGPSUpload=function(){if(this.wayid>0){var files=document.getElementsByName("gpsfile");var count=files.length-1;var file=files[count].value;var pos=file.lastIndexOf(".")+1;var ext=file.toLowerCase().substr(pos,file.length-pos);if(ext=="gpx"||ext=="kml"||ext=="kmz"||ext=="tcx"){if(this.haveGPSfiles==false){var nomedia=document.getElementById(this.prefixId+"[gpsfiles][nomedia]");nomedia.style.display="none";this.createTable();}
var src=naviki.Util.FILEADMIN_PATH+"img/ajax-loader-2.gif";var text="<img src='"+src+"' />";this.addTableRow(this.GPSfilesCount,text,false);var form=document.getElementById("gpsupload_form_"+this.GPSfilesCount);form.action="index.php?eID=tx_naviki_pi_way&actionId=GPSFileUpload&wayid="+this.wayid+"&outputType=html";form.style.display="none";form.submit();this.GPSfilesUploadCount++;this.GPSfilesCount++;var upload=document.getElementById(this.prefixId+"[gpsfiles][upload]");upload.appendChild(this.getGPSUploadForm(this.GPSfilesCount));}else{var header=naviki.Lang.getLL('error_way_header_attention');var body=naviki.Lang.getLL('error_way_body_upload.5');this.dialog(header,body,"default");}}else{this.createWayId("gps");}};naviki.main.Way.prototype.endGPSUpload=function(filename,idx,kmlfiles,allTOone,state,getour,key){if(parseInt(this.key)==parseInt(key)){if(state.toUpperCase()=="OK"){var div=document.getElementById(this.prefixId+"[gpsfiles][upload]["+idx+"]");var upload=document.getElementById(this.prefixId+"[gpsfiles][upload]");upload.removeChild(div);this.haveGPSfiles=true;this.highlightFiles=YAHOO.lang.JSON.parse(kmlfiles);this.updateTableRow(idx,filename);if(this.loadedKml!=null){eventMgr.removeWayOverlay.fire(this.loadedKml);}
this.loadedKml=allTOone;eventMgr.addWayOverlay.fire(allTOone,getour,null,0);eventMgr.updateWayInfo.fire(this.wayid);}else{var header=naviki.Lang.getLL('error_way_header_default');var body=naviki.Lang.getLL('error_way_body_upload.1')+filename+naviki.Lang.getLL('error_way_body_upload.2');this.dialog(header,body,"default");this.deleteTableRow(idx);}
this.GPSfilesUploadCount--;}};naviki.main.Way.prototype.getGPSUploadForm=function(tableindex){var div=document.createElement("div");var template=naviki.Template.getSubpart("###TEMPLATE_PI_WAY_UPLOAD###");var sa=[];var form;var tmp=document.getElementById(this.prefixId+"[tmp]");tmp.innerHTML="<nobr>"+naviki.Lang.getLL('addgps')+"</nobr>";sa['###WIDTH###']=tmp.offsetWidth;sa['###FORM_ID###']="gpsupload_form_"+tableindex;sa['###FORM_NAME###']="gpsupload_form_"+tableindex;sa['###FORM_ACTION###']="";sa['###FORM_TARGET###']="gpsupload_target_"+tableindex;sa['###FILEDIV_ID###']="gpsupload_filediv";sa['###FAKEDIV_ID###']="gpsupload_fakediv";sa['###FAKEDIV_TEXT###']="<nobr>"+naviki.Lang.getLL('addgps')+"</nobr>";sa['###FILEINPUT_NAME###']="gpsfile";sa['###FILEINPUT_ONCHANGE###']=this.obj+".startGPSUpload();";sa['###FILEINPUT_ONMOUSEOVER###']=this.obj+".mouseover();";sa['###FILEINPUT_ONMOUSEOUT###']=this.obj+".mouseout();";sa['###OBJINPUT_VALUE###']=this.obj;sa['###KEY_VALUE###']=this.key;sa['###IDXINPUT_VALUE###']=tableindex;sa['###IFRAME_NAME###']="gpsupload_target_"+tableindex;sa['###IFRAME_ID###']="gpsupload_target_"+tableindex;form=naviki.Template.substituteMarkerArray(template,sa);div.innerHTML=form;div.id=this.prefixId+"[gpsfiles][upload]["+tableindex+"]";return div;};naviki.main.Way.prototype.deleteGPSFile=function(id,filename){this.fileName=filename;this.fileId=id;var header=naviki.Lang.getLL('dialog_delete_gps');var body=naviki.Lang.getLL('dialog_delete_gps_text');var buttons=[{text:naviki.Lang.getLL('dialog_yes'),handler:this.handleDeleteGPSDialogOk},{text:naviki.Lang.getLL('dialog_no'),handler:this.handleWayDialogCancel}];this.dialog(header,body,buttons);};naviki.main.Way.prototype.enableMEDIAUploads=function(){var tip=document.getElementById(this.prefixId+"[mediafiles][tip]");var edit=document.getElementById(this.prefixId+"[mediafiles][edit]");var view=document.getElementById(this.prefixId+"[mediafiles][view]");var template=naviki.Template.getSubpart("###TEMPLATE_PI_WAY_EDIT_IMAGE###");var sa=new Object();if(this.MEDIAfiles.length>0){this.MEDIAfilesCount=this.MEDIAfiles.length;tip.style.display="";view.style.display="none";var div;var table;var href;var src;var pos;var dd;for(var k in this.MEDIAfiles){pos=this.MEDIAfiles[k]['anker'].search(/src=".+/)+5;src=this.MEDIAfiles[k]['anker'].substr(pos,this.MEDIAfiles[k]['anker'].length-pos);pos=src.search(/".+/);src=src.substr(0,pos);marker=this.MEDIAfiles[k]['marker'];href=this.generateLink(this.MEDIAfiles[k]['anker']);sa['###IMAGE_DELETE_HREF###']="javascript:"+this.obj+".deleteMediaFile("+k+",'"+this.MEDIAfiles[k]['name']+"')";sa['###IMAGE_DELETE_TITLE###']=naviki.Lang.getLL('delete');sa['###IMAGE_EDIT_HREF###']="javascript:"+this.obj+".editText("+k+")";sa['###IMAGE_EDIT_TITLE###']=naviki.Lang.getLL('edit');sa['###IMAGE_ID###']=this.prefixId+"[mediafiles][edit]["+k+"][img]";sa['###IMAGE_SRC###']=src;sa['###IMAGE_TITLE###']=this.MEDIAfiles[k]['name'];sa['###NAME_IMAGE_LAT###']=this.prefixId+"[mediafiles][edit][lat]";sa['###NAME_IMAGE_LNG###']=this.prefixId+"[mediafiles][edit][lng]";sa['###NAME_IMAGE_NAME###']=this.prefixId+"[mediafiles][edit][name]";sa['###VALUE_IMAGE_LAT###']=this.MEDIAfiles[k]['lat'];sa['###VALUE_IMAGE_LNG###']=this.MEDIAfiles[k]['lng'];sa['###VALUE_IMAGE_NAME###']=this.MEDIAfiles[k]['name'];sa['###DESCRIPTION_ID###']=this.prefixId+"[mediafiles][edit]["+k+"][description]";sa['###DESCRIPTION_VALUE###']=this.MEDIAfiles[k]['description'];div=document.createElement("div");div.id=this.prefixId+"[mediafiles][edit]["+k+"]";div.innerHTML=naviki.Template.substituteMarkerArray(template,sa);edit.appendChild(div);new naviki.main.Way.dd(this.prefixId+"[mediafiles][edit]["+k+"][img]","default",{markerimg:marker,title:this.MEDIAfiles[k]['name'],href:href});}}else{tip.style.display="none";}
var upload=document.getElementById(this.prefixId+"[mediafiles][upload]");upload.appendChild(this.getMEDIAUploadForm(this.MEDIAfilesCount));};naviki.main.Way.prototype.startMEDIAUpload=function(){if(this.wayid>0){if(this.haveMEDIAfiles==true){var nomedia=document.getElementById(this.prefixId+"[mediafiles][nomedia]");nomedia.style.display="none";}
var filename=document.getElementsByName("mediafile")[0].value;var pos=filename.lastIndexOf(".")+1;var ext=filename.toLowerCase().substr(pos,filename.length-pos);if(ext=="jpg"||ext=="jpeg"||ext=="png"){this.addMEDIA(this.MEDIAfilesCount);var form=document.getElementById("mediaupload_form_"+this.MEDIAfilesCount);form.action="index.php?eID=tx_naviki_pi_way&actionId=MEDIAFileUpload&wayid="+this.wayid+"&pid="+this.pid+"&author="+naviki.Lang.getLL('author')+"&outputType=html";form.style.display="none";form.submit();this.MEDIAfilesUploadCount++;this.MEDIAfilesCount++;var upload=document.getElementById(this.prefixId+"[mediafiles][upload]");upload.appendChild(this.getMEDIAUploadForm(this.MEDIAfilesCount));}else{var header=naviki.Lang.getLL('error_way_header_attention');var body=naviki.Lang.getLL('error_way_body_upload.0');this.dialog(header,body,"default");}}else{this.createWayId("media");}};naviki.main.Way.prototype.endMEDIAUpload=function(filename,idx,marker,src,anker,state,key){if(parseInt(this.key)==parseInt(key)){var div=document.getElementById(this.prefixId+"[mediafiles][upload]["+idx+"]");var upload=document.getElementById(this.prefixId+"[mediafiles][upload]");upload.removeChild(div);if(state=="OK"){this.updateMEDIA(idx,filename,marker,src,anker);}else{var header=naviki.Lang.getLL('error_way_header_default');var body=naviki.Lang.getLL('error_way_body_upload.1')+filename+naviki.Lang.getLL('error_way_body_upload.2');this.dialog(header,body,"default");this.clearMEDIA(idx);}
this.MEDIAfilesUploadCount--;}};naviki.main.Way.prototype.addMEDIA=function(count){var table;var div;var edit=document.getElementById(this.prefixId+"[mediafiles][edit]");var nomedia=document.getElementById(this.prefixId+"[mediafiles][nomedia]");var src=naviki.Util.FILEADMIN_PATH+"img/ajax-loader-2.gif";table="<br /><table>"
+"<tr><td><div style='border:1px solid #E0E1DA;width:56px;height:56px;'><img style='padding-top:20px;padding-left:20px' id='"+this.prefixId+"[mediafiles][edit]["+count+"][img]' src='"+src+"' ></div></td></tr>"
+"</table>";div=document.createElement("div");div.id=this.prefixId+"[mediafiles][edit]["+count+"]";div.innerHTML=table;edit.appendChild(div);};naviki.main.Way.prototype.updateMEDIA=function(idx,file,marker,src,anker){var template=naviki.Template.getSubpart("###TEMPLATE_PI_WAY_EDIT_IMAGE###");var sa=new Object();var div=document.getElementById(this.prefixId+"[mediafiles][edit]["+idx+"]");file=file.replace(/^\s+/,"");file=file.replace(/\s+$/,"");href=this.generateLink(anker);sa['###IMAGE_DELETE_HREF###']="javascript:"+this.obj+".deleteMediaFile("+idx+",'"+file+"')";sa['###IMAGE_DELETE_TITLE###']=naviki.Lang.getLL('delete');sa['###IMAGE_EDIT_HREF###']="javascript:"+this.obj+".editText("+idx+")";sa['###IMAGE_EDIT_TITLE###']=naviki.Lang.getLL('edit');sa['###IMAGE_ID###']=this.prefixId+"[mediafiles][edit]["+idx+"][img]";sa['###IMAGE_SRC###']=src;sa['###IMAGE_TITLE###']=file;sa['###NAME_IMAGE_LAT###']=this.prefixId+"[mediafiles][edit][lat]";sa['###NAME_IMAGE_LNG###']=this.prefixId+"[mediafiles][edit][lng]";sa['###NAME_IMAGE_NAME###']=this.prefixId+"[mediafiles][edit][name]";sa['###VALUE_IMAGE_LAT###']="";sa['###VALUE_IMAGE_LNG###']="";sa['###VALUE_IMAGE_NAME###']=file;sa['###DESCRIPTION_ID###']=this.prefixId+"[mediafiles][edit]["+idx+"][description]";sa['###DESCRIPTION_VALUE###']="";div.innerHTML=naviki.Template.substituteMarkerArray(template,sa);new naviki.main.Way.dd(this.prefixId+"[mediafiles][edit]["+idx+"][img]","default",{markerimg:marker,title:file,href:href});var tip=document.getElementById(this.prefixId+"[mediafiles][tip]");var nomedia=document.getElementById(this.prefixId+"[mediafiles][nomedia]");nomedia.style.display="none";tip.style.display="";};naviki.main.Way.prototype.clearMEDIA=function(idx){var div=document.getElementById(this.prefixId+"[mediafiles][edit]["+idx+"]");div.style.display="none";};naviki.main.Way.prototype.getMEDIAUploadForm=function(count){var div=document.createElement("div");var template=naviki.Template.getSubpart("###TEMPLATE_PI_WAY_UPLOAD###");var sa=[];var form;var tmp=document.getElementById(this.prefixId+"[tmp]");tmp.innerHTML=naviki.Lang.getLL('addfoto');sa['###WIDTH###']=tmp.offsetWidth;sa['###FORM_ID###']="mediaupload_form_"+count;sa['###FORM_NAME###']="mediaupload_form_"+count;sa['###FORM_ACTION###']="";sa['###FORM_TARGET###']="mediaupload_target_"+count;sa['###FILEDIV_ID###']="mediaupload_filediv";sa['###FAKEDIV_ID###']="mediaupload_fakediv";sa['###FAKEDIV_TEXT###']=naviki.Lang.getLL('addfoto');sa['###FILEINPUT_NAME###']="mediafile";sa['###FILEINPUT_ONCHANGE###']=this.obj+".startMEDIAUpload();";sa['###FILEINPUT_ONMOUSEOVER###']=this.obj+".mouseover();";sa['###FILEINPUT_ONMOUSEOUT###']=this.obj+".mouseout();";sa['###OBJINPUT_VALUE###']=this.obj;sa['###KEY_VALUE###']=this.key;sa['###IDXINPUT_VALUE###']=count;sa['###IFRAME_NAME###']="mediaupload_target_"+count;sa['###IFRAME_ID###']="mediaupload_target_"+count;form=naviki.Template.substituteMarkerArray(template,sa);div.innerHTML=form;div.id=this.prefixId+"[mediafiles][upload]["+count+"]";return div;};naviki.main.Way.prototype.deleteMediaFile=function(id,filename){this.fileName=filename;this.fileId=id;var header=naviki.Lang.getLL('dialog_delete_media');var body=naviki.Lang.getLL('dialog_delete_media_text');var buttons=[{text:naviki.Lang.getLL('dialog_yes'),handler:this.handleDeleteMEDIADialogOk},{text:naviki.Lang.getLL('dialog_no'),handler:this.handleWayDialogCancel}];this.dialog(header,body,buttons);};naviki.main.Way.prototype.loadWayData=function(){var myObj=this;var address="index.php?eID=tx_naviki_pi_way&actionId=loadWayData"+"&wayid="+this.wayid+"&pid="+this.pid+"&author="+naviki.Lang.getLL('author')+"&lpid="+document.getElementById(this.prefixId+"[lpid]").value+"&outputType=json";var oCallback={success:function(o){var response=YAHOO.lang.JSON.parse(o.responseText);if(response['STATE']=="OK"){if(response['KMLFILES']!=""){myObj.highlightFiles=response['KMLFILES'];}
myObj.fillContent(response['DATA']);myObj.showMe();if(myObj.loadedKml!=null){eventMgr.removeWayOverlay.fire(myObj.loadedKml);}
myObj.loadedKml=response['ALLTOONE'];eventMgr.updateWayInfo.fire(myObj.wayid);eventMgr.addWayOverlay.fire(response['ALLTOONE'],response['GETOUR'],null,0);}else{var header=naviki.Lang.getLL('error_way_header_default');var body=naviki.Lang.getLL('error_way_body_default');myObj.dialog(header,body,"default");myObj.showMe();}},failure:function(o){myObj.handleWayDialogCancel();alert("Sorry, no data found for that address!\n Here is the response: "+o);},cache:false};var getXML=YAHOO.util.Connect.asyncRequest("GET",address,oCallback);};naviki.main.Way.prototype.fillContent=function(data){var template=naviki.Template.getSubpart("###TEMPLATE_PI_WAY_VIEW_IMAGE###");var sa=[];var pos;var src;var href;var files;var element;var textarea;for(var key in data){switch(key){case'title':element=document.getElementById(this.prefixId+"["+key+"]");element.value=this.removeSlashes(data[key]);this.setTitleInHeader(data[key]);break;case'gpsfiles':element=document.getElementById(this.prefixId+"["+key+"]");element.style.display="none";this.gpsfiles=data[key].split(",");if(this.gpsfiles.length>0){this.haveGPSfiles=true;}
break;case'environment':case'surface':case'special_usage':for(var k in data[key]){element=document.getElementById(this.prefixId+"["+key+"]["+k+"]");if(data[key][k]==1){element.checked=true;}else{element.checked=false;}}
break;case'description':element=document.getElementById(this.prefixId+"["+key+"][show]");element.innerHTML=this.removeSlashes(data[key]);element=document.getElementById(this.prefixId+"["+key+"][edit]");element.value=this.removeSlashes(data[key]);break;case'middle_traffic_flow':element=document.getElementById(this.prefixId+"["+key+"]");element.value=data[key];this.setSlider();break;case'mediafiles':element=document.getElementById(this.prefixId+"["+key+"][tip]");element.style.display="none";if(data[key]!=0){element=document.getElementById(this.prefixId+"["+key+"][nomedia]");element.style.display="none";element=document.getElementById(this.prefixId+"["+key+"][view]");for(var k in data[key]){sa['###ANKER###']=this.updateAnker(data[key][k]['anker']);sa['###DESCRIPTION###']=this.removeSlashes(data[key][k]['description']);element.innerHTML+=naviki.Template.substituteMarkerArray(template,sa);if(data[key][k]['geodata']==true){src=data[key][k]['marker'];href=this.generateLink(data[key][k]['anker']);eventMgr.addGeolocationImage.fire(data[key][k]['lat'],data[key][k]['lng'],src,data[key][k]['name'],href);}}
this.MEDIAfiles=data[key];}
break;case'fe_userid':this.disableInputs();if(data[key]==this.userid){this.setEditMode();}
break;case'socialnetwork':for(var k in data[key]){element=document.getElementById(this.prefixId+"["+key+"]["+k+"]");if(data[key][k]==1){element.checked=true;}else{element.checked=false;}}
break;case'geobase_uid':this.landingpageSettings(data[key]);break;case'privateWay':element=document.getElementsByName(this.prefixId+"[state][radio]");if(data[key]==1||data[key]==2){element[0].checked=true;}else{element[1].checked=true;}
break;case'way_type':element=document.getElementsByName(this.prefixId+"[type][radio]");if(data[key]==0){element[0].checked=true;}else{element[1].checked=true;}
break;case'sys_language_uid':this.language=data[key];break;case'contest':element=document.getElementById(this.prefixId+"["+key+"]");element.checked=(data[key]==1)?true:false;break;}}};naviki.main.Way.prototype.setSlider=function(){var myObj=this;if(this.viewSlider==null){this.viewSlider=new YAHOO.widget.Slider.getHorizSlider('viewbg'+this.prefixId+'[middle_traffic_flow]','viewthumb'+this.prefixId+'[middle_traffic_flow]',0,200,10);this.viewSlider.prefixId=this.prefixId;this.viewSlider.onAvailable=function(){myObj.viewSlider.setValue(parseInt(document.getElementById(myObj.prefixId+'[middle_traffic_flow]').value),false,true,true);myObj.viewSlider.lock();};this.viewSlider.subscribe("slideEnd",function(){YAHOO.log("set Slider Value: "+myObj.viewSlider.getValue(),"warn");document.getElementById(myObj.prefixId+"[middle_traffic_flow]").value=myObj.viewSlider.getValue();});}};naviki.main.Way.prototype.enableSlider=function(){this.setSlider();this.viewSlider.animate=true;this.viewSlider.unlock();};naviki.main.Way.prototype.disableSlider=function(){this.setSlider();this.viewSlider.animate=false;this.viewSlider.lock();};naviki.main.Way.prototype.createTable=function(){if(this.GPSfilesTable==null){var myColumnDefs=[{key:"idx",hidden:true},{key:"name",formatter:"name"},{key:"editButton",width:20},{key:"deleteButton",width:20}];var myDataSource=new YAHOO.util.DataSource([]);myDataSource.responseType=YAHOO.util.DataSource.TYPE_JSARRAY;myDataSource.responseSchema={fields:[{key:"idx"},{key:"name"},{key:"editButton"},{key:"deleteButton"}]};YAHOO.widget.DataTable.Formatter.name=this.nameFormatter;this.GPSfilesTable=new YAHOO.widget.DataTable(this.prefixId+"[gpsfiles][edit]",myColumnDefs,myDataSource,{});this.GPSfilesTable.way=this;this.GPSfilesTable.subscribe("rowHighlightEvent",this.rowHighlight);this.GPSfilesTable.subscribe("rowUnhighlightEvent",this.rowUnhighlight);this.GPSfilesTable.subscribe("rowMouseoverEvent",this.mouseOverTableRow);this.GPSfilesTable.subscribe("rowMouseoutEvent",this.mouseoutTableRow);}
if(this.haveGPSfiles==true){for(var i=0;i<this.gpsfiles.length;i++){this.addTableRow(i,this.gpsfiles[i],true);}
this.GPSfilesCount=this.gpsfiles.length;}};naviki.main.Way.prototype.mouseOverTableRow=function(oArgs){var myObj=this.way;myObj.GPSfilesTable.onEventHighlightRow(oArgs);};naviki.main.Way.prototype.mouseoutTableRow=function(oArgs){var myObj=this.way;myObj.GPSfilesTable.onEventUnhighlightRow(oArgs);};naviki.main.Way.prototype.rowHighlight=function(oArgs){var myObj=this.way;var rec=oArgs.record.getData("name");eventMgr.addHighlightOverlay.fire(myObj.highlightFiles[rec]["relative"]);};naviki.main.Way.prototype.rowUnhighlight=function(oArgs){var myObj=this.way;eventMgr.removeHighlightOverlay.fire();};naviki.main.Way.prototype.nameFormatter=function(elLiner,oRecord,oColumn,oData,tableId){var myObj=this.way;var region=YAHOO.util.Dom.getRegion(myObj.tabviewid);var width=region.width-75;var tmp=document.getElementById(myObj.prefixId+"[tmp]");var file=oData;var pos;var ext;if(oData.search(/ajax-loader-2.gif/)==-1){tmp.innerHTML=file;if(tmp.offsetWidth>width){pos=file.lastIndexOf(".")+1;ext=file.substr(pos,file.length-pos);file=file.substr(0,pos-1);do{tmp.innerHTML=file.substr(0,pos)+"..."+ext;pos--;}
while(tmp.offsetWidth>width&&pos>0);elLiner.innerHTML="<p title='"+oData+"'>"+file.substr(0,pos)+"..."+ext+"</p>";}else{elLiner.innerHTML=oData;}}else{elLiner.innerHTML=oData;}};naviki.main.Way.prototype.addTableRow=function(index,filename,button){filename=filename.replace(/^\s+/,"");filename=filename.replace(/\s+$/,"");var deleteAnker="";var editAnker="";if(button==true){deleteAnker="<div class='tx-naviki-pi-way-delete'><p title='"+naviki.Lang.getLL('delete')+"'><a href='javascript:"+this.obj+".deleteGPSFile("+index+",\""+filename+"\")' style='margin-top:-7px;'>&nbsp;</a></p></div>";if(naviki.Util.editMode==1&&naviki.Util.drawMode==1){editAnker="<div class='tx-naviki-pi-way-edit'><p title='"+naviki.Lang.getLL('edit')+"'><a href='javascript:"+this.obj+".editGPSFile("+index+",\""+filename+"\")' style='margin-top:-7px;'>&nbsp;</a></p></div>";}}
var len=this.GPSfilesTable.getRecordSet().getLength();this.GPSfilesTable.addRow({idx:index,name:filename,editButton:editAnker,deleteButton:deleteAnker},len);};naviki.main.Way.prototype.updateTableRow=function(index,filename){var pos;var rows=this.GPSfilesTable.getRecordSet().getRecords();for(var i=0;i<rows.length;i++){if(rows[i].getData("idx")==index){pos=i;break;}}
var deleteAnker="<div class='tx-naviki-pi-way-delete'><p title='"+naviki.Lang.getLL('delete')+"'><a href='javascript:"+this.obj+".deleteGPSFile("+index+",\""+filename+"\")' style='margin-top:-7px;'>&nbsp;</a></p></div>";if(naviki.Util.editMode==1&&naviki.Util.drawMode==1){var editAnker="<div class='tx-naviki-pi-way-edit'><p title='"+naviki.Lang.getLL('edit')+"'><a href='javascript:"+this.obj+".editGPSFile("+index+",\""+filename+"\")' style='margin-top:-7px;'>&nbsp;</a></p></div>";}
this.GPSfilesTable.updateRow(pos,{idx:index,name:filename,editButton:editAnker,deleteButton:deleteAnker});};naviki.main.Way.prototype.deleteTableRow=function(index){var pos;var rows=this.GPSfilesTable.getRecordSet().getRecords();for(var i=0;i<rows.length;i++){if(rows[i].getData("idx")==index){pos=i;break;}}
this.GPSfilesTable.deleteRow(pos);var len=this.GPSfilesTable.getRecordSet().getLength();var element;if(len==0){element=document.getElementById(this.prefixId+"[gpsfiles][nomedia]");element.style.display="";this.GPSfilesTable.destroy();this.GPSfilesTable=null;this.haveGPSfiles=false;}};naviki.main.Way.prototype.enableInputs=function(){var tabview=document.getElementById(this.tabviewid);var inputs=tabview.getElementsByTagName("input");var descEdit=document.getElementById(this.prefixId+"[description][edit]");var descShow=document.getElementById(this.prefixId+"[description][show]");YAHOO.util.Dom.setStyle(descEdit,"display","");YAHOO.util.Dom.setStyle(descEdit,"visibility","visible");YAHOO.util.Dom.setStyle(descShow,"display","none");YAHOO.util.Dom.setStyle(descShow,"visibility","hidden");descEdit.value=descShow.innerHTML;for(var i=0;i<inputs.length;i++){inputs[i].removeAttribute("disabled");}};naviki.main.Way.prototype.disableInputs=function(){var tabview=document.getElementById(this.tabviewid);var inputs=tabview.getElementsByTagName("input");var descEdit=document.getElementById(this.prefixId+"[description][edit]");var descShow=document.getElementById(this.prefixId+"[description][show]");descShow.innerHTML=descEdit.value;YAHOO.util.Dom.setStyle(descEdit,"display","none");YAHOO.util.Dom.setStyle(descEdit,"visibility","hidden");YAHOO.util.Dom.setStyle(descShow,"display","");YAHOO.util.Dom.setStyle(descShow,"visibility","visible");for(var i=0;i<inputs.length;i++){YAHOO.util.Dom.setAttribute(inputs[i],"disabled","true");}};naviki.main.Way.prototype.setEditButton=function(){var myObj=this;if(this.onlyViewMode==0){this.setButton();this.button.set("label",naviki.Lang.getLL('edit'));this.button.set("onclick",{fn:myObj.editWayData,obj:myObj});}};naviki.main.Way.prototype.setSaveButton=function(){var myObj=this;if(this.onlyViewMode==0){this.setButton();this.button.set("label",naviki.Lang.getLL('save'));this.button.set("onclick",{fn:myObj.storeWayData,obj:myObj});}};naviki.main.Way.prototype.setButton=function(){if(this.button==null){var button=new YAHOO.widget.Button({id:this.buttonid,type:"button",label:"",container:this.container});this.button=button;}};naviki.main.Way.prototype.editWayData=function(e,me){var myObj=me;var address="index.php?eID=tx_naviki_pi_way&actionId=createTmpWay&wayid="+myObj.wayid+"&userid="+myObj.userid+"&outputType=json";var oCallback={success:function(o){var response=YAHOO.lang.JSON.parse(o.responseText);if(response['STATE']=="OK"){me.wayid=response['TMPWAYID'];me.setSaveMode();}else{var header=naviki.Lang.getLL('error_way_header_default');var body=naviki.Lang.getLL('error_way_body_default');me.dialog(header,body,"default");}},failure:function(o){myObj.handleWayDialogCancel();alert("Sorry, no data found for that address!\n Here is the response: "+o);},cache:false};var getXML=YAHOO.util.Connect.asyncRequest("GET",address,oCallback);};naviki.main.Way.prototype.storeWayData=function(e,me){var body;var header;var tmp=document.getElementById(me.prefixId+"[title]");var title=false;var gps=false;if(me.haveDrawing==true){me.getDrawing(true);return;}
if(tmp.value!=""){title=true;}
if(me.GPSfilesCount>0){gps=true;}
if(title!=true&&gps!=true){header=naviki.Lang.getLL('error_way_header_attention');body=naviki.Lang.getLL('error_way_body_upload.3');me.dialog(header,body,"default");return;}
if(title!=true){header=naviki.Lang.getLL('error_way_header_attention');body=naviki.Lang.getLL('error_way_body_upload.6');me.dialog(header,body,"default");return;}
if(gps!=true){header=naviki.Lang.getLL('error_way_header_attention');body=naviki.Lang.getLL('error_way_body_upload.7');me.dialog(header,body,"default");return;}
if(me.MEDIAfilesUploadCount!=0||me.GPSfilesUploadCount!=0){header=naviki.Lang.getLL('error_way_header_attention');body=naviki.Lang.getLL('error_way_body_upload.4');me.dialog(header,body,"default");return;}
header=naviki.Lang.getLL('dialog_store_way');body=naviki.Lang.getLL('waitforupload');me.dialog(header,body,"none");var special_usage=new Array("racing","mtb","children","seniors","sparetime","tourism");var environment=new Array("forest","meadow","river","sea","hills","mountains","village","city","industry");var surface=new Array("asphalt","paver","unsurfaced");var socialnetwork=new Array("facebook_wall","facebook_event","twitter");var data=new Object();var key;var element;var radios=document.getElementsByName(me.prefixId+"[state][radio]");if(radios[0].checked==true){data["privateWay"]=2;}else{data["privateWay"]=0;}
radios=document.getElementsByName(me.prefixId+"[type][radio]");if(radios[0].checked==true){data["way_type"]=0;}else{data["way_type"]=1;}
if(this.newWay==true){data['imported']=1;}
data["special_usage"]=new Object();data["environment"]=new Object();data["surface"]=new Object();data["geodata"]=new Object();data["socialnetwork"]=new Object();data['sys_language_uid']=me.language;data["uid"]=me.wayid;data["lpid"]=document.getElementById(me.prefixId+"[lpid]").value;data["contest"]=document.getElementById(me.prefixId+"[contest]").checked;data["title"]=me.removeAnkerTag(document.getElementById(me.prefixId+"[title]").value);data["description"]=me.removeAnkerTag(document.getElementById(me.prefixId+"[description][edit]").value);data["middle_traffic_flow"]=document.getElementById(me.prefixId+"[middle_traffic_flow]").value;for(key in special_usage){element=document.getElementById(me.prefixId+"[special_usage]["+special_usage[key]+"]");if(element.checked==true){data["special_usage"][special_usage[key]]=1;}else{data["special_usage"][special_usage[key]]=0;}}
for(key in environment){element=document.getElementById(me.prefixId+"[environment]["+environment[key]+"]");if(element.checked==true){data["environment"][environment[key]]=1;}else{data["environment"][environment[key]]=0;}}
for(key in surface){element=document.getElementById(me.prefixId+"[surface]["+surface[key]+"]");if(element.checked==true){data["surface"][surface[key]]=1;}else{data["surface"][surface[key]]=0;}}
for(key in socialnetwork){element=document.getElementById(me.prefixId+"[socialnetwork]["+socialnetwork[key]+"]");if(element.checked==true){data["socialnetwork"][socialnetwork[key]]=1;}else{data["socialnetwork"][socialnetwork[key]]=0;}}
var edit=document.getElementById(me.prefixId+"[mediafiles][edit]").childNodes;var lat=document.getElementsByName(me.prefixId+"[mediafiles][edit][lat]");var lng=document.getElementsByName(me.prefixId+"[mediafiles][edit][lng]");var name=document.getElementsByName(me.prefixId+"[mediafiles][edit][name]");var description;for(var i=0;i<edit.length;i++){if(edit[i].style.display!="none"){description=document.getElementById(me.prefixId+"[mediafiles][edit]["+i+"][description]");data["geodata"][name[i].value]=new Object();data["geodata"][name[i].value]["lat"]=lat[i].value;data["geodata"][name[i].value]["lng"]=lng[i].value;data["geodata"][name[i].value]["description"]=me.removeAnkerTag(description.innerHTML);}}
if(typeof document.getElementsByName(me.prefixId+"[geobases][select][name]")[0]=="undefined"){data["geobase_uid"]=-1;}else{data["geobase_uid"]=document.getElementsByName(me.prefixId+"[geobases][select][name]")[0].value;}
var post="data="+YAHOO.lang.JSON.stringify(data);var myObj=me;var address="index.php?eID=tx_naviki_pi_way&actionId=storeWayData&userid="+myObj.userid+"&lpuid="+myObj.lpuid+"&outputType=json";var oCallback={success:function(o){var response=YAHOO.lang.JSON.parse(o.responseText);if(response['STATE']=="OK"){myObj.wayid=response["WAYID"];myObj.GPSfilesTable=null;document.getElementById(myObj.prefixId+"[gpsfiles]").style.display="none";document.getElementById(myObj.prefixId+"[gpsfiles][edit]").innerHTML="";document.getElementById(myObj.prefixId+"[gpsfiles][upload]").innerHTML="";document.getElementById(myObj.prefixId+"[mediafiles][tip]").style.display="none";document.getElementById(myObj.prefixId+"[mediafiles][view]").style.display="";document.getElementById(myObj.prefixId+"[mediafiles][view]").innerHTML="";document.getElementById(myObj.prefixId+"[mediafiles][edit]").innerHTML="";document.getElementById(myObj.prefixId+"[mediafiles][upload]").innerHTML="";eventMgr.removeAllGeolocationImage.fire();myObj.hideMe();myObj.loadWayData();myObj.handleWayDialogCancel();}else{header=naviki.Lang.getLL('error_way_header_default');body=naviki.Lang.getLL('error_way_body_default');myObj.handleWayDialogCancel();myObj.dialog(header,body,"default");}},failure:function(o){myObj.handleWayDialogCancel();alert("Sorry, no data found for that address!\n Here is the response: "+o);},cache:false};var getXML=YAHOO.util.Connect.asyncRequest("POST",address,oCallback,post);};naviki.main.Way.prototype.responseGeolocationImage=function(type,e,me){var name=document.getElementsByName(me.prefixId+"[mediafiles][edit][name]");var lat=document.getElementsByName(me.prefixId+"[mediafiles][edit][lat]");var lng=document.getElementsByName(me.prefixId+"[mediafiles][edit][lng]");for(var i=0;i<name.length;i++){if(name[i].value==e[2]){lat[i].value=e[0];lng[i].value=e[1];break;}}};naviki.main.Way.prototype.createWayId=function(upload){var myObj=this;var address="index.php?eID=tx_naviki_pi_way&actionId=createTmpWay&wayid="+myObj.wayid+"&userid="+myObj.userid+"&pageid="+myObj.pid;myObj.disableUploadSaveButtons(upload);var oCallback={success:function(o){var response=YAHOO.lang.JSON.parse(o.responseText);if(response['STATE']=="OK"){myObj.newWay=true;myObj.wayid=response['TMPWAYID'];myObj.enableUploadSaveButtons();switch(upload){case'media':myObj.startMEDIAUpload();break;case'gps':myObj.startGPSUpload();break;case'draw':eventMgr.storeDrawing.fire(myObj.drawPoints,myObj.drawFile);break;}}else{var header=naviki.Lang.getLL('error_way_header_default');var body=naviki.Lang.getLL('error_way_body_default');myObj.enableUploadSaveButtons();myObj.dialog(header,body,"default");}},failure:function(o){myObj.enableUploadSaveButtons();alert("Sorry, no data found for that address!\n Here is the response: "+o);},cache:false};var getXML=YAHOO.util.Connect.asyncRequest("GET",address,oCallback);};naviki.main.Way.prototype.disableUploadSaveButtons=function(){var media=document.getElementsByName("mediafile")[0];var gps=document.getElementsByName("gpsfile")[0];media.style.display="none";gps.style.display="none";this.setButton();this.button.set("onclick","");};naviki.main.Way.prototype.enableUploadSaveButtons=function(){var media=document.getElementsByName("mediafile")[0];var gps=document.getElementsByName("gpsfile")[0];media.style.display="";gps.style.display="";this.setButton();this.button.set("onclick",{fn:this.storeWayData,obj:this});};naviki.main.Way.prototype.mouseover=function(){var media=document.getElementById("mediaupload_fakediv");var gps=document.getElementById("gpsupload_fakediv");media.style.textDecoration="underline";gps.style.textDecoration="underline";};naviki.main.Way.prototype.mouseout=function(){var media=document.getElementById("mediaupload_fakediv");var gps=document.getElementById("gpsupload_fakediv");media.style.textDecoration="none";gps.style.textDecoration="none";};naviki.main.Way.prototype.showMe=function(){document.getElementById("nui-ce-id-"+this.uid).style.visibility="visible";document.getElementById("nui-ce-id-"+this.uid).style.position="static";document.getElementById("nui-ce-id-"+this.uid).style.display="";};naviki.main.Way.prototype.hideMe=function(){document.getElementById("nui-ce-id-"+this.uid).style.visibility="hidden";document.getElementById("nui-ce-id-"+this.uid).style.position="relative";document.getElementById("nui-ce-id-"+this.uid).style.display="none";};naviki.main.Way.prototype.htmlspecialchars_decode=function(string,quote_style){var optTemp=0,i=0,noquotes=false;if(typeof quote_style==='undefined'){quote_style=2;}
string=string.toString().replace(/&lt;/g,'<').replace(/&gt;/g,'>');var OPTS={'ENT_NOQUOTES':0,'ENT_HTML_QUOTE_SINGLE':1,'ENT_HTML_QUOTE_DOUBLE':2,'ENT_COMPAT':2,'ENT_QUOTES':3,'ENT_IGNORE':4};if(quote_style===0){noquotes=true;}
if(typeof quote_style!=='number'){quote_style=[].concat(quote_style);for(i=0;i<quote_style.length;i++){if(OPTS[quote_style[i]]===0){noquotes=true;}
else if(OPTS[quote_style[i]]){optTemp=optTemp|OPTS[quote_style[i]];}}
quote_style=optTemp;}
if(quote_style&OPTS.ENT_HTML_QUOTE_SINGLE){string=string.replace(/&#0*39;/g,"'");}
if(!noquotes){string=string.replace(/&quot;/g,'"');}
string=string.replace(/&amp;/g,'&');return string;};naviki.main.Way.prototype.generateLink=function(anker){var pos,tmp,width,height,href;var result=new Object();pos=anker.search(/openPic.+/);tmp=anker.substr(pos,anker.length-pos);pos=tmp.search(/wrap.+/);tmp=tmp.substr(pos,tmp.length-pos);pos=tmp.search(/width=.+/)+6;width=tmp.substr(pos,tmp.length-pos);pos=width.search(/,.+/);width=width.substr(0,pos);pos=tmp.search(/height=.+/)+7;height=tmp.substr(pos,tmp.length-pos);pos=height.search(/,.+/);height=height.substr(0,pos);height=parseInt(height)+50;pos=anker.search(/href=".+/)+6;href=anker.substr(pos,anker.length-pos);pos=href.search(/".+/);href=href.substr(0,pos);result.link="http://"+window.location.hostname+"/"+this.htmlspecialchars_decode(href);result.width=width;result.height=height;return result;};naviki.main.Way.prototype.updateAnker=function(anker){if(anker!=null){var host="http://"+window.location.hostname+"/index.php";anker=anker.replace(/index.php/g,host);}else{anker="";}
return anker;};naviki.main.Way.prototype.editText=function(index){if(typeof this.editdialog=="undefined"){var dialog_container=document.getElementById("naviki-dialogs");var dialog=document.createElement("div");dialog.id=this.prefixId+"_edit_dialog";dialog_container.appendChild(dialog);this.editdialog=new naviki.main.ModalDialog(dialog.id,{width:"310px",fixedcenter:true,visible:false,modal:true,draggable:true,zindex:4,close:true,constraintoviewport:true});}
var text=document.getElementById(this.prefixId+"[mediafiles][edit]["+index+"][description]").innerHTML;var textarea="<textarea onkeyup='javascript:"+this.obj+".charCounter();' name='"+this.prefixId+"_edit_textarea' style='width:98%;' rows='10'>"+text+"</textarea>";var counter="<div style='float:left;'>"+naviki.Lang.getLL('dialog_image_description_counter')+"&nbsp;</div><div id='"+this.prefixId+"_edit_counter'>"+(256-text.length)+"</div><div style='clear:left;'></div><br />";this.editdialog.setHeader(naviki.Lang.getLL('dialog_image_description'));this.editdialog.setBody(counter+textarea);this.editdialog.cfg.queueProperty("buttons",[{text:naviki.Lang.getLL('assume'),handler:this.handleEditStore}]);this.editdialog.render();this.editdialog.show();this.editdialog.way=this;this.editdialog.index=index;};naviki.main.Way.prototype.handleEditStore=function(){var textarea=document.getElementsByName(this.way.prefixId+"_edit_textarea")[0];var element=document.getElementById(this.way.prefixId+"[mediafiles][edit]["+this.index+"][description]");element.innerHTML=textarea.value;this.hide();};naviki.main.Way.prototype.charCounter=function(){var element=document.getElementById(this.prefixId+"_edit_counter");var textarea=document.getElementsByName(this.prefixId+"_edit_textarea")[0];var text=textarea.value;var count=256-text.length;if(text.length>256){textarea.value=text.substring(0,255);count=0;}
element.innerHTML=count;};naviki.main.Way.prototype.setSNsettings=function(){for(var k in this.SNsettings){element=document.getElementById(this.prefixId+"[socialnetwork]["+k+"]");if(this.SNsettings[k]==1){element.checked=true;}else{element.checked=false;}}
if(naviki.Util.SocialNetwork==1){document.getElementById(this.prefixId+"[socialnetwork]").style.display="";}};naviki.main.Way.prototype.landingpageSettings=function(uid){if(this.geobases.length>0){var html="<select name='"+this.prefixId+"[geobases][select][name]"+"'>";html+="<option value='-1'>"+naviki.Lang.getLL('do_not_assign_geobase')+"</option>";for(var i=0;i<this.geobases.length;i++){if(this.geobases[i]['uid']==uid){html+="<option value='"+this.geobases[i]['uid']+"' selected>"+this.geobases[i]['title']+"</option>";}else{html+="<option value='"+this.geobases[i]['uid']+"'>"+this.geobases[i]['title']+"</option>";}}
html+="</select><br /><br />";document.getElementById(this.prefixId+"[geobases][select]").innerHTML=html;document.getElementById(this.prefixId+"[geobases][nogeobase]").style.display="none";}};naviki.main.Way.prototype.storeDrawing=function(type,e,me){me.drawPoints=e[0];me.drawFile=e[1];if(me.wayid<0){me.createWayId("draw");return;}
var data=new Object();var address="index.php?eID=tx_naviki_pi_way&actionId=storeDrawing&wayid="+me.wayid+"&file="+me.drawFile+"&outputType=json";var post="data=";data['points']=me.drawPoints;post+=YAHOO.lang.JSON.stringify(data);var header=naviki.Lang.getLL('dialog_store_draw');var body=naviki.Lang.getLL('waitforupload');me.dialog(header,body,"none");var oCallback={success:function(o){var response=YAHOO.lang.JSON.parse(o.responseText);if(response['STATE']=="OK"){if(me.haveGPSfiles==false){var nomedia=document.getElementById(me.prefixId+"[gpsfiles][nomedia]");nomedia.style.display="none";me.createTable();}
if(response['EDIT']=="TRUE"){var index;var rows=me.GPSfilesTable.getRecordSet().getRecords();if(response['newfilename']!=response['oldfilename']){for(var i=0;i<rows.length;i++){if(rows[i].getData("name")==response['oldfilename']){index=parseInt(rows[i].getData("idx"));break;}}
me.updateTableRow(index,response['newfilename']);}}
if(response['EDIT']=="FALSE"){me.addTableRow(me.GPSfilesCount,response['newfilename'],true);me.haveGPSfiles=true;me.GPSfilesCount++;var upload=document.getElementById(me.prefixId+"[gpsfiles][upload]");var div=document.getElementById(me.prefixId+"[gpsfiles][upload]["+(me.GPSfilesCount-1)+"]");upload.removeChild(div);upload.appendChild(me.getGPSUploadForm(me.GPSfilesCount));}
if(me.loadedKml!=null){eventMgr.removeWayOverlay.fire(me.loadedKml);}
me.haveDrawing=false;me.loadedKml=response['allTOone'];me.highlightFiles=response['kmlFiles'];eventMgr.addWayOverlay.fire(response['allTOone'],response['getour'],null,0);eventMgr.updateWayInfo.fire(me.wayid);if(me.store==true){me.store=false;me.storeWayData(null,me);}}
me.handleWayDialogCancel();},failure:function(o){myObj.handleWayDialogCancel();alert("Sorry, no data found for that address!\n Here is the response: "+o);},cache:false};var getXML=YAHOO.util.Connect.asyncRequest("POST",address,oCallback,post);};naviki.main.Way.prototype.editGPSFile=function(id,filename){var header=naviki.Lang.getLL('dialog_load_draw');var body=naviki.Lang.getLL('waitforupload');this.dialog(header,body,"none");var myObj=this;var address="index.php?eID=tx_naviki_pi_way&actionId=editGPSFile&wayid="+this.wayid+"&file="+filename+"&outputType=json";var oCallback={success:function(o){var response=YAHOO.lang.JSON.parse(o.responseText);if(response['STATE']=="OK"){eventMgr.loadDrawing.fire(response['TRACKS'],filename);if(myObj.loadedKml!=null){eventMgr.removeWayOverlay.fire(myObj.loadedKml);}}
myObj.handleWayDialogCancel();},failure:function(o){myObj.handleWayDialogCancel();alert("Sorry, no data found for that address!\n Here is the response: "+o);},cache:false};var getXML=YAHOO.util.Connect.asyncRequest("GET",address,oCallback);};naviki.main.Way.prototype.existDrawing=function(type,e,me){var element=document.getElementById(me.prefixId+"[gpsfiles][drawing]");var anker=document.getElementById(me.prefixId+"[gpsfiles][drawing][anker]");if(anker==null){anker=document.createElement("a");anker.id=me.prefixId+"[gpsfiles][drawing][anker]";anker.href="javascript:"+me.obj+".getDrawing(false);";anker.innerHTML="<nobr>"+naviki.Lang.getLL('assumedrawing')+"</nobr>";element.appendChild(anker);}
if(e[0]==true){me.haveDrawing=true;element.style.display="";}else{element.style.display="none";}};naviki.main.Way.prototype.getDrawing=function(store){this.store=store;var element=document.getElementById(this.prefixId+"[gpsfiles][drawing]");element.style.display="none";eventMgr.getDrawing.fire();};naviki.main.Way.prototype.removeSlashes=function(string){string=string.replace(/\\n/g,"\n");string=string.replace(/\\"/g,"\"");return string;};naviki.main.Way.prototype.removeAnkerTag=function(string){if(this.lpAdmin==false){var tmp;while(string.search(/<a/g)!=-1&&string.search(/<\/a>/g)!=-1){tmp=string.substring(0,string.search(/<a/));tmp+=string.substring(string.search(/<\/a>/)+4);string=tmp;}}
return string;};;

naviki.main.OpenId=function(){};naviki.main.OpenId.prototype.getDialog=function(){var dialog_container=document.getElementById('naviki-dialogs');var dialog_div=document.createElement('div');dialog_div.id='openid-dialog';dialog_container.appendChild(dialog_div);var ok=function(){var openid=document.getElementById("openidInput").value;var address="index.php?eID=tx_naviki_pi_openid&openid_identifier="+openid;var getXML=YAHOO.util.Connect.asyncRequest("GET",address,{success:function(o){this.destroy();var fenster=window.open(decodeURI(o.responseText),"OpenIdAuth","top=200,left=300,width=750,height=400,status=yes");},failure:function(o){alert("Sorry, openID  request failed! Response :  "+o.responseText);this.destroy();},argument:null,scope:this});};var openid_modal_dlg=new naviki.main.ModalDialog(dialog_div.id,{width:"400px",fixedcenter:true,visible:true,modal:true,draggable:true,fixedcenter:true,zindex:4,close:true,constraintoviewport:true,buttons:[{text:naviki.Lang.getLL('save'),handler:ok}]});openid_modal_dlg.setHeader("Open ID authorization");openid_modal_dlg.setBody('<div><input id="openidInput" type="text" value=""></input></div>');openid_modal_dlg.render();openid_modal_dlg.show();};

naviki.main.ModalDialog=function(el,userConfig){this.id=el;naviki.main.ModalDialog.superclass.constructor.call(this,el,userConfig);};naviki.main.ModalDialog.prototype.bringToTop=function(){var aDivs=new Array();var Dom=YAHOO.util.Dom;aDivs=document.getElementsByTagName("div");if(aDivs.length==0){this.cfg.setProperty("zindex",10);return;}
var maxIndex=-9999;var count=aDivs.length;for(var i=1;i<count;i++){var div=aDivs[i];var sZIndex=Dom.getStyle(div,"zIndex");var nZIndex=(!sZIndex||isNaN(sZIndex))?0:parseInt(sZIndex,10);if(nZIndex>maxIndex){maxIndex=nZIndex;}}
this.cfg.setProperty("zindex",(maxIndex+2));};naviki.main.ModalDialog.prototype.show=function(){eventMgr.disableControls.fire();var id=this.id+"_mdIframe";var parent=document.getElementById(this.id+"_c");var iframe=document.createElement("iframe");var region=YAHOO.util.Dom.getRegion(parent.id);iframe.id=id;iframe.style.top="1px";iframe.style.left="2px";iframe.style.position="absolute";iframe.width=region.width-6;iframe.height=region.height-4;parent.appendChild(iframe);this.cfg.setProperty("visible",true);};naviki.main.ModalDialog.prototype.hide=function(){eventMgr.enableControls.fire();var id=this.id+"_mdIframe";var iframe=document.getElementById(id);var parent=document.getElementById(this.id+"_c");parent.removeChild(iframe);this.cfg.setProperty("visible",false);};;

naviki.main.WayInfo=function(config,tabview){this.tabview=tabview;this.config=config;this.wayId=config['wayuid'];this.divid=config['divid'];this.legendid=config['legendid'];this.obj="wayinfo"+config['cid'];this.leftborder=60;this.rightborder=15;this.topborder=20;this.bottomborder=40;this.height=150;this.pointCount;this.trackCount;this.coords;this.wayprofile=null;this.start="";this.end="";this.legend=null;this.initialize();if(this.wayId>0){this.styleFacebookButton();this.displayInfos(config['waydata']);}else{this.hideMe();}
eventMgr.updateWayInfo.subscribe(this.updateWayInfo,this);};naviki.main.WayInfo.prototype.styleFacebookButton=function(){var element=new YAHOO.util.Element(this.config['cid']+"-facebook");element.on('contentReady',function(){var iframe=element.getElementsByTagName("iframe")[0];YAHOO.util.Dom.setStyle(iframe,"width","80px");});};naviki.main.WayInfo.prototype.displayLegend=function(){var element=document.getElementById(this.legendid);var html="<table>";for(var i=0;i<this.legend.length;i++){html+="<tr>";html+="<td style='vertical-align: middle;'><div style='background-color:"+this.legend[i]['color']+";width:50px;height:5px;'>&nbsp;</div></td>";html+="<td>&nbsp;</td>";html+="<td>"+this.legend[i]['title']+"</td>";html+="</tr>";}
html+="</table>";element.innerHTML=html;};naviki.main.WayInfo.prototype.displayInfos=function(data){if(data['STATE']!="OK"){return;}
document.getElementById(this.config['infokmid']).innerHTML=naviki.main.Util.formatNumber(naviki.main.Util.round(data['stats']['km'],2))+" km";document.getElementById(this.config['infokmtimeid']).innerHTML=naviki.main.Util.formatTime((data['stats']['km']/15.0)*3600)+" "+naviki.Lang.getLL('hours');document.getElementById(this.config['infoheightmaxid']).innerHTML=naviki.main.Util.formatNumber(naviki.main.Util.round(data['stats']['heightmax'],0))+" m";document.getElementById(this.config['infoheightminid']).innerHTML=naviki.main.Util.formatNumber(naviki.main.Util.round(data['stats']['heightmin'],0))+" m";document.getElementById(this.config['infoheightdiffid']).innerHTML=naviki.main.Util.formatNumber(naviki.main.Util.round(data['stats']['heightdiff'],0))+" m";document.getElementById(this.config['infoslopemaxid']).innerHTML=naviki.main.Util.formatNumber(naviki.main.Util.round(data['stats']['slopemax'],2))+"%";this.wayId=data['WAYUID'];this.pointCount=parseInt(data['stats']['pointCount']);this.trackCount=parseInt(data['tracks']);this.setGpsDialog(0);if(this.config['roadbooktargetsite']>0){document.getElementById(this.config['roadbookid']).href=document.getElementById(this.config['roadbookid']).href
+"?id="+this.config['roadbooktargetsite']
+"&type=98"
+"&tx_naviki_pi_roadbook[wayuid]="+data['WAYUID']
+"&tx_naviki_pi_roadbook[start]="+this.start
+"&tx_naviki_pi_roadbook[end]="+this.end
+"&tx_naviki_pi_roadbook[title]="+data['title'];}
if(typeof(data['coords'])!="undefined"&&typeof(data['stats']['km'])!="undefined"){this.profile=true;this.coords=data['coords'];if(this.coords.length>1){this.setPaginator(this.coords.length);}else{document.getElementById(this.config['heightdiagimageid']+"_paginator").style.display="none";}
this.drawProfile(0);this.setMouseOver();}else{this.profile=false;}
var legend=document.getElementById(this.legendid+"_tab");if(this.legend==null||this.config['showlegend']==0){legend.style.display="none";}else{this.displayLegend();legend.style.display="";}
this.tabview.selectTab(0);this.showMe();};naviki.main.WayInfo.prototype.updateGpsDialog=function(){var elements=document.getElementsByName(this.divid+"_optionNAME");for(var i=0;i<elements.length;i++){if(elements[i].checked){break;}}
this.setGpsDialog(i);};naviki.main.WayInfo.prototype.setGpsDialog=function(option){var dialog=document.getElementById("naviki-dialogs_"+this.divid+"_content");if(naviki.Util.TCXdownload=="1"){template=naviki.Template.getSubpart("###TEMPLATE_DOWNLOADING_GPS_FILES###");}else{template=naviki.Template.getSubpart("###TEMPLATE_DOWNLOADING_GPS_FILES_WITHOUT_TCX###");}
sa=[];sa['###HEADER_DOWNLOAD###']=naviki.Lang.getLL("wayinfogpsdialogmessage");sa['###FILE_KML_TEXT###']=naviki.Lang.getLL("wayinfogpsdialogkmlinfo");sa['###FILE_GPX_TEXT###']=naviki.Lang.getLL("wayinfogpsdialoggpxinfo");sa['###FILE_OVL_TEXT###']=naviki.Lang.getLL("wayinfogpsdialogovlinfo");sa['###FILE_TCX_TEXT###']=naviki.Lang.getLL("wayinfogpsdialogtcxinfo");sa['###HEADER_OPTION###']=naviki.Lang.getLL("wayinfogpsdialogoption");sa['###TEXT_OPTION_0###']=naviki.Lang.getLL("wayinfogpsdialogoption.0");sa['###TEXT_OPTION_1###']=naviki.Lang.getLL("wayinfogpsdialogoption.1");sa['###TEXT_OPTION_2###']=naviki.Lang.getLL("wayinfogpsdialogoption.2");sa['###TEXT_OPTION_3###']=naviki.Lang.getLL("wayinfogpsdialogoption.3");sa['###ID_OPTION###']=this.divid+"_option";sa['###ID_OPTION_0###']=this.divid+"_option0";sa['###ID_OPTION_1###']=this.divid+"_option1";sa['###ID_OPTION_2###']=this.divid+"_option2";sa['###ID_OPTION_3###']=this.divid+"_option3";sa['###NAME_OPTION###']=this.divid+"_optionNAME";sa['###CLICK_EVENT###']="onClick='"+this.obj+".updateGpsDialog();'";switch(option){case 0:sa['###CHECKED_0###']="checked='checked'";sa['###CHECKED_1###']="";sa['###CHECKED_2###']="";sa['###CHECKED_3###']="";break;case 1:sa['###CHECKED_0###']="";sa['###CHECKED_1###']="checked='checked'";sa['###CHECKED_2###']="";sa['###CHECKED_3###']="";break;case 2:sa['###CHECKED_0###']="";sa['###CHECKED_1###']="";sa['###CHECKED_2###']="checked='checked'";sa['###CHECKED_3###']="";break;case 3:sa['###CHECKED_0###']="";sa['###CHECKED_1###']="";sa['###CHECKED_2###']="";sa['###CHECKED_3###']="checked='checked'";break;}
var restapi="index.php?eID=tx_naviki_pi_rest&actionId=newExportWay&format=";var kmlexport=restapi+'kml&way='+this.wayId+'&option='+option;var gpxexport=restapi+'gpx&way='+this.wayId+'&option='+option;var ovlexport=restapi+'ovl&way='+this.wayId+'&option='+option;var tcxexport=restapi+'tcx&way='+this.wayId+'&option='+option;sa['###FILE_KML###']=kmlexport;sa['###FILE_GPX###']=gpxexport;sa['###FILE_OVL###']=ovlexport;sa['###FILE_TCX###']=tcxexport;this.GPSDialog.setBody(naviki.Template.substituteMarkerArray(template,sa));this.GPSDialog.render();if(this.trackCount==1&&this.pointCount<=500){document.getElementById(this.divid+"_option").style.display="none";return;}
if(this.trackCount==1&&this.pointCount>500){document.getElementById(this.divid+"_option2").style.display="none";document.getElementById(this.divid+"_option3").style.display="none";}
if(this.trackCount>1&&this.pointCount<=500){document.getElementById(this.divid+"_option1").style.display="none";document.getElementById(this.divid+"_option3").style.display="none";}};naviki.main.WayInfo.prototype.displayEventOk=function(o){var result=YAHOO.lang.JSON.parse(o.responseText);var me=o.argument[0];me.displayInfos(result);};naviki.main.WayInfo.prototype.displayEventFail=function(o){var me=o.argument[0];me.hideMe();};naviki.main.WayInfo.prototype.processWayUID=function(){var address="index.php?eID=tx_naviki_pi_way_info&actionId=getInfoFromUID&wayuid="+this.wayId;var getXML=YAHOO.util.Connect.asyncRequest("GET",address,{success:this.displayEventOk,failure:this.displayEventFail,argument:[this],cache:false});};naviki.main.WayInfo.prototype.showFilesDialog=function(){this.GPSDialog.show();};naviki.main.WayInfo.prototype.handleGPSDialogOk=function(o){this.wayinfo.GPSDialog.hide();};naviki.main.WayInfo.prototype.hideMe=function(){document.getElementById("nui-ce-id-"+this.config['cid']).style.visibility="hidden";document.getElementById("nui-ce-id-"+this.config['cid']).style.position="relative";document.getElementById("nui-ce-id-"+this.config['cid']).style.display="none";};naviki.main.WayInfo.prototype.showMe=function(){document.getElementById("nui-ce-id-"+this.config['cid']).style.visibility="visible";document.getElementById("nui-ce-id-"+this.config['cid']).style.position="static";document.getElementById("nui-ce-id-"+this.config['cid']).style.display="";};naviki.main.WayInfo.prototype.initialize=function(){this.hideMe();this.region=YAHOO.util.Dom.getRegion(this.divid);this.div=document.getElementById(this.divid);this.profile=false;var dialog_container=document.getElementById("naviki-dialogs");var dialog=document.createElement("div");dialog.id=""+dialog_container.id+"_"+this.divid;dialog_container.appendChild(dialog);this.GPSDialog=new naviki.main.ModalDialog(""+dialog.id,{width:"310px",fixedcenter:true,visible:false,modal:true,draggable:true,fixedcenter:true,zindex:5,close:true,constraintoviewport:true,buttons:[{text:"Ok",handler:this.handleGPSDialogOk}]});this.GPSDialog.setHeader(naviki.Lang.getLL("wayinfogpsdialogtitle"));this.GPSDialog.wayinfo=this;this.GPSDialog.render();YAHOO.util.Event.on(window,'resize',this.updatWayInfo);if(parseInt(this.config['showrating'])==1){if(typeof this.config['waydata']['stats']!="undefined"){var conf=new Object();conf['wayID']=this.config['wayuid'];conf['wayowner']=this.config['waydata']['stats']['fe_userid'];conf['userID']=this.config['useruid'];conf['userName']=this.config['username'];conf['passwordMD5']=this.config['passwordMD5'];conf['ratingID']=this.config['ratingid'];conf['myratingID']=this.config['myratingid'];conf['unsuitedID']=this.config['unsuitedid'];var rating=new naviki.main.WayRating(conf);}}};naviki.main.WayInfo.prototype.updateWayInfo=function(type,e,me){me.wayId=e[0];if(typeof e[1]!='undefined'&&typeof e[2]!='undefined'){me.start=e[1];me.end=e[2];}else{me.start="";me.end="";}
if(typeof e[3]!='undefined'){me.legend=e[3];}else{me.legend=null;}
if(me.wayId>0){me.processWayUID();}else{me.hideMe();}};naviki.main.WayInfo.prototype.setPaginator=function(numberOfprofiles){var paginator=new YAHOO.widget.Paginator({template:'<div style="width: 100%">'+'<table style="width: 100%; text-align: center"><tr style="text-align: center">'+'<td>{PreviousPageLink}</td>'+'<td style="width:100px;text-align: center">{PageLinks}</td>'+'<td>{NextPageLink}</td>'+'</tr></table>'+'</div>'+'',rowsPerPage:1,previousPageLinkLabel:"&#9668;",nextPageLinkLabel:"&#9658;",pageLinks:5,containers:this.config['heightdiagimageid']+"_paginator",totalRecords:numberOfprofiles,alwaysVisible:false});paginator.render();paginator.subscribe('changeRequest',this.handlePagination);paginator.myObj=this;};naviki.main.WayInfo.prototype.handlePagination=function(state){this.myObj.drawProfile(state.page-1);this.setState(state);};naviki.main.WayInfo.prototype.drawProfile=function(section){if(this.profile==true){var color=this.config['color'];var r=parseInt(color.substr(1,2),16);var g=parseInt(color.substr(3,2),16);var b=parseInt(color.substr(5,2),16);this.canvas=document.getElementById(this.config['heightdiagimageid']+"_canvas");var aboveObject=this.getAboveObject(this.canvas);this.width=aboveObject.offsetWidth-60;this.canvas.width=""+this.width;this.canvas.height=""+this.height;if(typeof(this.ctx)=="undefined"){this.ctx=this.canvas.getContext("2d");}
this.ctx.fillStyle='rgb(255,255,255)';this.ctx.fillRect(0,0,this.width,this.height);this.ctx.lineWidth=1;this.ctx.strokeStyle='rgb(0,0,0)';this.ctx.beginPath();this.ctx.moveTo(this.leftborder,this.topborder);this.ctx.lineTo(this.width-this.rightborder,this.topborder);this.ctx.lineTo(this.width-this.rightborder,this.height-this.bottomborder);this.ctx.lineTo(this.leftborder,this.height-this.bottomborder);this.ctx.lineTo(this.leftborder,this.topborder);this.ctx.stroke();this.ctx.closePath();this.myCoords=new Array();var lastIndex;var deltaX;if(this.coords[section]['coords'].length==1){this.coords[section]['coords'].push(this.coords[section]['coords'][0]);}
if(this.coords[section]['coords'].length>(this.width-this.leftborder-this.rightborder)){deltaX=(this.width-this.leftborder-this.rightborder)/this.coords[section]['coords'].length;lastIndex=-1;for(var i=0;i<this.coords[section]['coords'].length;i++){if(parseInt(i*deltaX)!=lastIndex){this.myCoords.push(this.coords[section]['coords'][i]);lastIndex=parseInt(i*deltaX);}}}
else if(this.coords[section]['coords'].length<(this.width-this.leftborder-this.rightborder)){deltaX=(this.width-this.leftborder-this.rightborder)/(this.coords[section]['coords'].length-1);for(var i=0;i<this.coords[section]['coords'].length;i++){if(this.myCoords.length==parseInt(i*deltaX+0.5)){this.myCoords.push(this.coords[section]['coords'][i]);}
else{do{this.myCoords.push(this.coords[section]['coords'][i]);}
while(this.myCoords.length<parseInt(i*deltaX+0.5));}}}
else{for(var i=0;i<this.coords[section]['coords'].length;i++){this.myCoords.push(this.coords[section]['coords'][i]);}}
var eleMax=this.myCoords[0]["ele"];var eleMin=this.myCoords[0]["ele"];var tmp;for(var i=1;i<this.myCoords.length;i++){tmp=this.myCoords[i]["ele"];if(parseInt(tmp)>parseInt(eleMax)){eleMax=tmp;}
if(parseInt(tmp)<parseInt(eleMin)){eleMin=tmp;}}
var ymax=eleMax;var ymin=eleMin;var diff=eleMax-eleMin;var tmp;if(diff<40){ymin=(parseInt(eleMin/2)-1)*2;do{ymax++;tmp=""+(ymax-ymin)/4;}while(tmp.indexOf(".")>0);}
else{var potenz=-1;var multi;do{potenz++;multi=Math.pow(10,potenz);tmp=parseInt((eleMax-eleMin)/multi);}while(tmp>0);ymax=parseInt(eleMax/Math.pow(10,potenz-1)+1)*Math.pow(10,potenz-1);ymin=parseInt(eleMin/Math.pow(10,potenz-1))*Math.pow(10,potenz-1);tmp=""+((ymax-ymin)/4);if(tmp.indexOf(".")>0){ymax=ymax+Math.pow(10,potenz-1);}}
var scalDiff=(ymax-ymin)/4;var pixelDiff=parseInt(((this.height-this.topborder-this.bottomborder)/4)+0.5);var x;var y;var pointsX=new Array();var pointsY=new Array();var deltaY=(this.height-this.topborder-this.bottomborder)/(ymax-ymin);for(var i=0;i<this.myCoords.length;i++){if(this.myCoords[i]["ele"]==eleMin||this.myCoords[i]["ele"]==eleMax){x=this.leftborder+1+i;y=this.height-(this.bottomborder+1+parseInt((this.myCoords[i]["ele"]-ymin)*deltaY)+0.5);}
else{if(i==0){x=this.leftborder+1+i;tmp=(this.myCoords[i]["ele"]+this.myCoords[i+1]["ele"]+this.myCoords[i+2]["ele"])/3;y=this.height-(this.bottomborder+1+parseInt((tmp-ymin)*deltaY)+0.5);}else if(i==1){x=this.leftborder+1+i;tmp=(this.myCoords[i]["ele"]+this.myCoords[i-1]["ele"]+this.myCoords[i+1]["ele"])/3;y=this.height-(this.bottomborder+1+parseInt((tmp-ymin)*deltaY)+0.5);}else if(i>=this.myCoords.length-3){x=this.leftborder+1+i;tmp=(this.myCoords[i]["ele"]+this.myCoords[i-1]["ele"]+this.myCoords[i-2]["ele"])/3;y=this.height-(this.bottomborder+1+parseInt((tmp-ymin)*deltaY)+0.5);}else{x=this.leftborder+1+i;tmp=(this.myCoords[i]["ele"]+this.myCoords[i+1]["ele"]+this.myCoords[i+2]["ele"]+this.myCoords[i-1]["ele"]+this.myCoords[i-2]["ele"])/5;y=this.height-(this.bottomborder+1+parseInt((tmp-ymin)*deltaY)+0.5);}}
pointsX.push(x);pointsY.push(y);}
pointsX.push(this.width-this.rightborder-1);pointsY.push(y);pointsX.push(this.width-this.rightborder-1);pointsY.push(this.height-this.bottomborder-1);pointsX.push(this.leftborder+1);pointsY.push(this.height-this.bottomborder-1);this.ctx.lineWidth=1;this.ctx.strokeStyle="rgba("+r+","+g+","+b+",0.5)";this.ctx.fillStyle="rgba("+r+","+g+","+b+",0.5)";this.ctx.beginPath();this.ctx.moveTo(pointsX[0],pointsY[0]);for(var i=0;i<pointsX.length;i++){this.ctx.lineTo(pointsX[i],pointsY[i]);}
this.ctx.fill();this.ctx.stroke();this.ctx.closePath();var linewidth;for(var i=1;i<4;i++){linewidth=this.leftborder;do{this.ctx.beginPath();this.ctx.strokeStyle='rgb(0,0,0)';this.ctx.moveTo(linewidth,this.topborder+(i*pixelDiff));linewidth=linewidth+5;if(linewidth>(this.width-this.rightborder)){linewidth=this.width-this.rightborder;}
this.ctx.lineTo(linewidth,this.topborder+(i*pixelDiff));this.ctx.stroke();this.ctx.closePath();linewidth=linewidth+5;}while(linewidth<(this.width-this.rightborder));}
var tmp;var len;var offset;this.ctx.fillStyle="rgb(0,0,0)";this.ctx.font="10px Verdana, sans-serif";for(var i=0;i<=4;i++){tmp=""+(ymax-(i*scalDiff));len=tmp.length;offset=len*7;this.ctx.fillText(tmp,this.leftborder-5-offset,this.topborder+3+(i*pixelDiff));}
this.ctx.font="10px Verdana, sans-serif";this.ctx.fillStyle="rgb(0, 0, 0)";this.ctx.translate(15,this.height-this.bottomborder-this.topborder);this.ctx.rotate(-0.5*Math.PI);this.ctx.fillText(this.config['diaglabely']+" m",0,0);this.ctx.rotate(0.5*Math.PI);this.ctx.translate(-15,-(this.height-this.bottomborder-this.topborder));this.waylength=this.coords[section]['length'];if(this.waylength==0){this.waylength=0.001;}
var km;if(this.waylength>2){km=true;}
else{km=false;this.waylength=this.waylength*1000;}
var delta=50;var potenz=0;var tmp=(this.width-this.leftborder-this.rightborder)/delta;var tmp2=parseInt(this.waylength/tmp);if(tmp2==0){tmp2=1;}
else if(tmp2>10){tmp2=""+tmp2;tmp2=tmp2.substr(0,tmp2.length-1)+"0";}
var scalDiff=tmp2;var pixelDiff=parseInt(((this.width-this.leftborder-this.rightborder)/this.waylength)*tmp2);var linewidth;var i=1;do{linewidth=this.topborder;do{this.ctx.beginPath();this.ctx.strokeStyle='rgb(0,0,0)';this.ctx.moveTo(this.leftborder+(i*pixelDiff),linewidth);linewidth=linewidth+5;if(linewidth>(this.height-this.bottomborder)){linewidth=this.height-this.bottomborder;}
this.ctx.lineTo(this.leftborder+(i*pixelDiff),linewidth);this.ctx.stroke();this.ctx.closePath();linewidth=linewidth+5;}while(linewidth<(this.height-this.bottomborder));i++;}while(i*pixelDiff<(this.width-this.rightborder-this.leftborder));var tmp;var len;var offset;var i=0;this.ctx.fillStyle="rgb(0,0,0)";this.ctx.font="10px Verdana, sans-serif";do{tmp=""+(i*scalDiff);len=tmp.length;offset=parseInt((len*7)/2);this.ctx.fillText(tmp,this.leftborder+(i*pixelDiff)-offset,this.height-this.bottomborder+15);i++;}while(i*pixelDiff<(this.width-this.rightborder-this.leftborder));var text;if(km==true){text=this.config['diaglabelx']+" km";}
else{text=this.config['diaglabelx']+" m";}
var posx=this.leftborder+((this.width-this.rightborder-this.leftborder)/2);var offset=(text.length*6)/2;this.ctx.font="10px Verdana, sans-serif";this.ctx.fillStyle="rgb(0, 0, 0)";this.ctx.fillText(text,posx-offset,this.height-10);}};naviki.main.WayInfo.prototype.setMouseOver=function(){if(this.profile==true){var myObj=this;YAHOO.util.Event.on(document,'mousemove',function(e){var wayInfoDiv=document.getElementById("tab2");if(wayInfoDiv.className!="yui-hidden"){eventMgr.removeWayInfoMarker.fire();var posObj=myObj.getPosition(myObj.canvas);var posx=0;var posy=0;if(document.all){posx=window.event.clientX+document.documentElement.scrollLeft;posy=window.event.clientY+document.documentElement.scrollTop;}else{posx=e.pageX;posy=e.pageY;}
var area=new Object();area.startX=posObj.x+myObj.leftborder;area.endX=posObj.x+(myObj.width-myObj.rightborder);area.startY=posObj.y+myObj.topborder;area.endY=posObj.y+(myObj.height-myObj.bottomborder);var idx=posx-area.startX;var coord=myObj.myCoords[idx];var line=document.getElementById(myObj.config['heightdiagimageid']+"_line");line.style.position="absolute";line.style.zIndex="5";line.style.left=(posObj.relativeX+myObj.leftborder+idx)+"px";line.style.top=(posObj.relativeY+myObj.topborder)+"px";line.style.height=(myObj.height-myObj.topborder-myObj.bottomborder)+"px";if(posx>area.startX&&posx<area.endX&&posy>area.startY&&posy<area.endY){eventMgr.addWayInfoMarker.fire(coord.lat,coord.lon);line.style.visibility="visible";}else{line.style.visibility="hidden";eventMgr.removeWayInfoMarker.fire();}}});}};naviki.main.WayInfo.prototype.getPosition=function(element){var aboveObject=document.getElementById(this.config["allinfosid"]);var regionA=YAHOO.util.Dom.getRegion(element);var regionB=YAHOO.util.Dom.getRegion(aboveObject);var position=new Object();position.x=regionA.left;position.y=regionA.top;position.aboveX=regionB.left;position.aboveY=regionB.top;position.relativeX=regionA.left-regionB.left;position.relativeY=regionA.top-regionB.top;return position;};naviki.main.WayInfo.prototype.getAboveObject=function(element){var loop=true;var CSSposition;do{if(element.parentNode!=null){element=element.parentNode;}else{loop=false;}
if(element.style!=null){CSSposition=YAHOO.util.Dom.getStyle(element,"position");if(CSSposition=="absolute"){loop=false;}}}while(loop);return element;};;

naviki.main.Util={formatNumber:function(number){var value=""+number;return value.replace(/\./,",");},round:function(value,digits){var factor=Math.pow(10,digits);return(Math.round(value*factor))/factor;},formatDate:function(timevalue){var mydate=new Date();mydate.setTime(timevalue*1000);var month=mydate.getMonth()+1;if(month<10){month="0"+month;}
var day=mydate.getDate();if(day<10){day="0"+day;}
return day+"."+
month+"."+
mydate.getFullYear();},formatDateAndTime:function(timevalue){var mydate=new Date();mydate.setTime(timevalue*1000);var month=mydate.getMonth()+1;if(month<10){month="0"+month;}
var day=mydate.getDate();if(day<10){day="0"+day;}
var minutes=mydate.getMinutes();if(minutes<10){minutes="0"+minutes;}
var hours=mydate.getHours();if(hours<10){hours="0"+hours;}
return day+"."+
month+"."+
mydate.getFullYear()+", "+
hours+":"+
minutes;},formatTime:function(seconds){var hours=Math.floor(seconds/(60*60));seconds-=hours*(60*60);var minutes=Math.floor(seconds/60);if(minutes<10){minutes="0"+minutes;}
return hours+":"+
minutes;},bringToTop:function(){var aDivs=new Array();var Dom=YAHOO.util.Dom;aDivs=document.getElementsByTagName("div");if(aDivs.length==0){this.cfg.setProperty("zindex",10);return;}
var maxIndex=-9999;var count=aDivs.length;for(var i=1;i<count;i++){var div=aDivs[i];var sZIndex=Dom.getStyle(div,"zIndex");var nZIndex=(!sZIndex||isNaN(sZIndex))?0:parseInt(sZIndex,10);if(nZIndex>maxIndex){maxIndex=nZIndex;}}
return maxIndex;}};;

naviki.dialog.help=function(id,uid,pageId,objectname,sys_language_uid){this.interval;this.helpDlg;this.body;this.uid=uid;this.id=id;this.pageId=pageId;this.objectname=objectname;this.sys_language_uid=sys_language_uid;};naviki.dialog.help.prototype.create=function(){this.parent=document.getElementById(""+this.id);this.child=document.createElement("div");this.child.id=this.id+"-"+this.uid;this.parent.appendChild(this.child);var agent=navigator.userAgent.toLowerCase();var host=window.location.host;var src="http://"+host+"/index.php?id="+this.pageId+"&type=100&L="+this.sys_language_uid;var onload="onLoad='"+"this.style.height=0;"+"this.style.width=\"300px\";"+"if(this.Document!=null){"+"h = this.Document.body.scrollHeight;"+"w = this.Document.body.scrollWidth;"+"tmp = this.Document.body.innerHTML.toUpperCase();"+"}else{"+"h = this.contentDocument.body.scrollHeight;"+"w = this.contentDocument.body.scrollWidth;"+"tmp = this.contentDocument.body.innerHTML.toUpperCase();"+"}"+"widthpos = tmp.search(/WIDTH/);"+"if(widthpos>0){"+"do{"+"tmp = tmp.substring(widthpos,tmp.length);"+"pos = tmp.search(/([0-9])/);"+"tmp = tmp.substring(pos,tmp.length);"+"pos = tmp.search(/([A-Za-z]|\")/);"+"nw  = tmp.substring(0,pos);"+"if(nw>w){"+"w=nw;"+"}"+"widthpos = tmp.search(/WIDTH/);"+"}while(widthpos>0);"+"}"+"if(w>(screen.width-100)){"+"this.style.width = (window.innerWidth-100) + \"px\";"+"this.width=window.innerWidth-100;"+"}else{"+"this.style.width = w + \"px\";"+"this.width = w;}"+"if(h>(screen.height-100)){"+"this.style.height = (window.innerHeight-100) + \"px\";"+"this.height=window.innerHeight-100;"+"}else{"+"this.style.height = h + \"px\";"+"this.height = h;}' ";var def="<iframe style='overflow:hidden;width:100%;height:100%;' "+onload+" id='tx-naviki-help-"+this.uid+"' src='"+src+"' name='tx-naviki-help-"+this.uid+"' border='0' frameborder='0' scrolling='no'></iframe>";var safari="<object style='overflow:hidden;width:100%;height:100%;' "+onload+" id='tx-naviki-help-"+this.uid+"' data='"+src+"' type='text/html'></object>";if(this.checkBrowserName('safari')){this.body=def;}
else{this.body=def;}
this.helpDlg=new naviki.main.ModalDialog(""+this.child.id,{fixedcenter:true,visible:false,modal:true,draggable:true,zindex:5,close:true,constraintoviewport:true});this.helpDlg.setHeader(naviki.Lang.getLL('help_dialog_header'));this.helpDlg.setBody(this.body);this.helpDlg.render();this.helpDlg.hideEvent.subscribe(function(){this.setBody("");});};naviki.dialog.help.prototype.show=function(){if(this.helpDlg){this.helpDlg.setBody(this.body);this.helpDlg.show();}else{this.create();this.interval=window.setInterval(this.objectname+"['"+this.uid+"'].center()",50);}};naviki.dialog.help.prototype.center=function(){var element=document.getElementById("tx-naviki-help-"+this.uid);var h;var w;if(element.height!=""){window.clearInterval(this.interval);w=parseInt(element.width)+20;h=parseInt(element.height)+50;w=w+"px";h=h+"px";this.helpDlg.cfg.queueProperty("width",w);this.helpDlg.cfg.queueProperty("height",h);this.helpDlg.render();this.helpDlg.show();}};naviki.dialog.help.prototype.checkBrowserName=function(name){var agent=navigator.userAgent.toLowerCase();if(agent.indexOf(name.toLowerCase())>-1){return true;}
return false;};;

function walkKmlDom(rootObject,visitCallback,options){options=options||{};if(!('features'in options)){options.features=true;}
if(!('geometries'in options)){options.geometries=false;}
var recurse_=function(object,currentContext){var contextArgument={current:currentContext,child:currentContext,walkChildren:true};var retValue=visitCallback.call(object,contextArgument);if(!retValue&&typeof retValue!=='undefined'){return false;}
if(!contextArgument.walkChildren){return true;}
var objectContainer=null;if('getFeatures'in object){if(options.features){objectContainer=object.getFeatures();}}else if('getGeometry'in object){if(options.geometries&&object.getGeometry()){recurse_(object.getGeometry(),contextArgument.child);}}else if('getGeometries'in object){if(options.geometries){objectContainer=object.getGeometries();}}else if('getInnerBoundaries'in object){if(options.geometries){objectContainer=object.getInnerBoundaries();}}
if(objectContainer&&objectContainer.hasChildNodes()){var childNodes=objectContainer.getChildNodes();var numChildNodes=childNodes.getLength();for(var i=0;i<numChildNodes;i++){var child=childNodes.item(i);if(!recurse_(child,contextArgument.child))
return false;}}
return true;};recurse_(rootObject,options.rootContext);};;

naviki.main.WayRating=function(config){this.wayID=config['wayID'];this.userID=config['userID'];this.userName=config['userName'];this.passwordMD5=config['passwordMD5'];this.wayowner=config['wayowner'];this.ratingID=config['ratingID'];this.myratingID=config['myratingID'];this.unsuitedID=config['unsuitedID'];this.ratingData;this.myWayUnsuited=0;this.myWayRating=0;this.myTmpWayRating=0;this.unsuited=false;this.loadData();};naviki.main.WayRating.prototype.loadData=function(){var myObj=this;var address="index.php?eID=tx_naviki_pi_rest&actionId=getWayRating";address+="&username="+this.userName;address+="&md5="+this.passwordMD5;address+="&wayid="+this.wayID;var oCallback={success:function(o){var response=YAHOO.lang.JSON.parse(o.responseText);if(response['STATE']=='OK'){myObj.ratingData=response;myObj.showData();}},failure:function(o){alert("Sorry, no data found for that address!\n Here is the response: "+o);},cache:false};var getXML=YAHOO.util.Connect.asyncRequest("GET",address,oCallback);};naviki.main.WayRating.prototype.showData=function(){this.showRating();if(this.userID>0){this.showMyRating();this.showUnsuited();}};naviki.main.WayRating.prototype.showRating=function(){var count=parseInt(this.ratingData['way']['WAY']['rating']);if((count%2)>0){count++;}
var offset=2550+(count*20);var bg="url(\"/typo3conf/ext/naviki/fileadmin/img/sprite.gif\") no-repeat scroll 0 -"+offset+"px transparent";var element=document.getElementById(this.ratingID);while(element.hasChildNodes()){element.removeChild(element.firstChild);}
var td_one=document.createElement("td");var td_two=document.createElement("td");var td_three=document.createElement("td");element.appendChild(td_one);element.appendChild(td_two);element.appendChild(td_three);td_one.innerHTML="<br />"+naviki.Lang.getLL('wayrating');td_two.innerHTML="<br />:";td_three.innerHTML="<br /><div style='background:"+bg+";' class='tx-naviki-pi-way-rating'></div>&nbsp;("+this.ratingData['way']['WAY']['rating_count']+")";element.style.display='';};naviki.main.WayRating.prototype.showMyRating=function(){var myObj=this;var count=parseInt(this.ratingData['rating']);if((count%2)>0){count--;}
var offset=2550+(count*20);var bg="url(\"/typo3conf/ext/naviki/fileadmin/img/sprite.gif\") no-repeat scroll 0 -"+offset+"px transparent";var element=document.getElementById(this.myratingID);while(element.hasChildNodes()){element.removeChild(element.firstChild);}
var td_one=document.createElement("td");var td_two=document.createElement("td");var td_three=document.createElement("td");element.appendChild(td_one);element.appendChild(td_two);element.appendChild(td_three);td_one.innerHTML=naviki.Lang.getLL('mywayrating');td_two.innerHTML=":";td_three.innerHTML="<div id='"+this.myratingID+"_div' style='background:"+bg+";' class='tx-naviki-pi-way-rating'></div>";element.style.display='';myObj.myWayRating=count;var div=document.getElementById(this.myratingID+"_div");var lock=false;YAHOO.util.Event.addListener(div,"click",function(e){var posx=0;var posy=0;if(document.all){posx=window.event.clientX+document.documentElement.scrollLeft;posy=window.event.clientY+document.documentElement.scrollTop;}else{posx=e.pageX;posy=e.pageY;}
var region=YAHOO.util.Dom.getRegion(this);var count=parseInt((posx-region.x)/(region.width/10)+0.5);if((count%2)>0){count--;}
offset=2550+(count*20);bg="url('/typo3conf/ext/naviki/fileadmin/img/sprite.gif') no-repeat scroll 0 -"+offset+"px transparent";lock=true;YAHOO.util.Dom.setStyle(this,"background",bg);myObj.myWayRating=count;myObj.storeRating();});YAHOO.util.Event.on(div,'mousemove',function(e){if(lock==false){var posx=0;var posy=0;if(document.all){posx=window.event.clientX+document.documentElement.scrollLeft;posy=window.event.clientY+document.documentElement.scrollTop;}else{posx=e.pageX;posy=e.pageY;}
var region=YAHOO.util.Dom.getRegion(myObj.myratingID+"_div");var count=parseInt((posx-region.x)/(region.width/10)+0.5);if((count%2)>0){count--;}
offset=2550+(count*20);bg="url('/typo3conf/ext/naviki/fileadmin/img/sprite.gif') no-repeat scroll 0 -"+offset+"px transparent";YAHOO.util.Dom.setStyle(this,"background",bg);}});YAHOO.util.Event.on(div,'mouseout',function(e){offset=2550+(myObj.myWayRating*20);bg="url('/typo3conf/ext/naviki/fileadmin/img/sprite.gif') no-repeat scroll 0 -"+offset+"px transparent";lock=false;YAHOO.util.Dom.setStyle(this,"background",bg);});};naviki.main.WayRating.prototype.showUnsuited=function(){if(this.wayowner!=this.userID){var myClass;if(this.ratingData['unsuited']==0&&this.unsuited==false){myClass="tx-naviki-pi-way-unsuited-2";}else{myClass="tx-naviki-pi-way-unsuited-1";}
var element=document.getElementById(this.unsuitedID);var tooltip=document.createElement("p");var br=document.createElement("br");var td_one=document.createElement("td");var td_two=document.createElement("td");var td_three=document.createElement("td");var div=document.createElement("div");while(element.hasChildNodes()){element.removeChild(element.firstChild);}
tooltip.appendChild(div);td_three.appendChild(br);td_three.appendChild(tooltip);element.appendChild(td_one);element.appendChild(td_two);element.appendChild(td_three);YAHOO.util.Dom.setAttribute(tooltip,"title",naviki.Lang.getLL('unsuitedforbicycles'));YAHOO.util.Dom.addClass(div,myClass);element.style.display='';var myObj=this;if(this.ratingData['unsuited']==0){YAHOO.util.Event.addListener(div,"click",function(e){myObj.storeUnsuited();});}}};naviki.main.WayRating.prototype.storeUnsuited=function(){var myObj=this;var address="index.php?eID=tx_naviki_pi_rest&actionId=storeUnsuited";address+="&username="+this.userName;address+="&md5="+this.passwordMD5;address+="&wayid="+this.wayID;var oCallback={success:function(o){var response=YAHOO.lang.JSON.parse(o.responseText);if(response['STATE']=='OK'){myObj.unsuited=true;myObj.loadData();}},failure:function(o){alert("Sorry, no data found for that address!\n Here is the response: "+o);},cache:false};var getXML=YAHOO.util.Connect.asyncRequest("GET",address,oCallback);};naviki.main.WayRating.prototype.storeRating=function(){var myObj=this;var address="index.php?eID=tx_naviki_pi_rest&actionId=storeWayRating";address+="&username="+this.userName;address+="&md5="+this.passwordMD5;address+="&wayid="+this.wayID;address+="&rating="+this.myWayRating;var oCallback={success:function(o){myObj.loadData();},failure:function(o){alert("Sorry, no data found for that address!\n Here is the response: "+o);},cache:false};var getXML=YAHOO.util.Connect.asyncRequest("GET",address,oCallback);};naviki.main.WayRating.prototype.formatter=function(count){var text;switch(parseInt(count)){case 0:text=naviki.Lang.getLL("wayrating.0");break;case 1:text=count+" "+naviki.Lang.getLL("wayrating.1");break;default:text=count+" "+naviki.Lang.getLL("wayrating.2");break;}
return text;};;

naviki.main.Way.dd=function(id,sGroup,config){this.marker=config.markerimg;this.title=config.title;this.href=config.href;naviki.main.Way.dd.superclass.constructor.apply(this,arguments);this.iframeShim;};naviki.main.Way.dd.prototype.startDrag=function(x,y){var Dom=YAHOO.util.Dom;var dragEl=this.getDragEl();var clickEl=this.getEl();var region=YAHOO.util.Dom.getRegion(dragEl.id);this.iframeShim=document.createElement('iframe');this.iframeShim.id=dragEl.id+"_iframeShim";this.iframeShim.frameBorder=0;this.iframeShim.scrolling='no';this.iframeShim.src=(navigator.userAgent.indexOf('MSIE 6')>=0)?'':'javascript:void(0);';this.iframeShim.style.position='absolute';this.iframeShim.width=region.width;this.iframeShim.height=region.height;this.iframeShim.style.zIndex=9;this.iframeShim.style.backgroundColor="white";dragEl.innerHTML="<img width='"+(region.width-4)+"' height='"+(region.height-4)+"' src='"+clickEl.src+"'>";dragEl.className=clickEl.className;dragEl.style.zIndex=10;var parent=clickEl.parentNode;parent.appendChild(this.iframeShim);Dom.setStyle(clickEl,"opacity",0.1);};naviki.main.Way.dd.prototype.endDrag=function(e){YAHOO.util.Dom.setStyle(this.getEl(),"opacity",1);var region=YAHOO.util.Dom.getRegion(this.getDragEl().id);var parent=this.getEl().parentNode;parent.removeChild(this.iframeShim);eventMgr.requestGeolocationImage.fire(region.x,region.y,this.marker,this.title,this.href);};naviki.main.Way.dd.prototype.onDrag=function(e){var Dom=YAHOO.util.Dom;var x=Dom.getX(this.getDragEl());var y=Dom.getY(this.getDragEl());Dom.setX(this.iframeShim,x);Dom.setY(this.iframeShim,y);};;

naviki.main.Settings=function(config){this.body=config['body'];this.dialogId=config['dialogId'];this.dialog;this.createDialog();};naviki.main.Settings.prototype.enableInputs=function(){var checkboxes=document.getElementsByName('sn_settings');for(var i=0;i<checkboxes.length;i++){checkboxes[i].disabled=false;}};naviki.main.Settings.prototype.disableInputs=function(){var checkboxes=document.getElementsByName('sn_settings');for(var i=0;i<checkboxes.length;i++){checkboxes[i].disabled=true;}};naviki.main.Settings.prototype.createDialog=function(){this.dialog=new YAHOO.widget.Dialog(this.dialogId,{visible:true,draggable:false,close:false,underlay:"none",hideaftersubmit:false,buttons:[]});this.dialog.myObj=this;this.dialog.setBody(this.body);this.dialog.setFooter("");var editButton=[{text:naviki.Lang.getLL('edit'),handler:this.dialog.myObj.handleEdit}];this.dialog.cfg.queueProperty("buttons",editButton);this.dialog.render();this.dialog.show();this.disableInputs();this.loadSettings();};naviki.main.Settings.prototype.handleEdit=function(){var storeButton=[{text:naviki.Lang.getLL('save'),handler:this.myObj.handleStore}];this.cfg.queueProperty("buttons",storeButton);this.render();this.show();this.myObj.enableInputs();};naviki.main.Settings.prototype.handleStore=function(){var editButton=[{text:naviki.Lang.getLL('edit'),handler:this.myObj.handleEdit}];this.cfg.queueProperty("buttons",editButton);this.render();this.show();this.myObj.disableInputs();this.myObj.storeSettings();};naviki.main.Settings.prototype.storeSettings=function(){var myObj=this;var data=this.getData();var address="index.php?eID=tx_naviki_pi_settings&actionId=storeSettings&data="+data;var oCallback={success:function(o){var response=YAHOO.lang.JSON.parse(o.responseText);if(response['STATE']=="OK"){}},failure:function(o){alert("Sorry, no data found for that address!\n Here is the response: "+o);}};var getXML=YAHOO.util.Connect.asyncRequest("GET",address,oCallback);};naviki.main.Settings.prototype.loadSettings=function(){var myObj=this;var address="index.php?eID=tx_naviki_pi_settings&actionId=loadSettings";var oCallback={success:function(o){var response=YAHOO.lang.JSON.parse(o.responseText);if(response['STATE']=="OK"){myObj.setData(response['DATA']);}},failure:function(o){alert("Sorry, no data found for that address!\n Here is the response: "+o);},cache:false};var getXML=YAHOO.util.Connect.asyncRequest("GET",address,oCallback);};naviki.main.Settings.prototype.setData=function(data){var checkboxes=document.getElementsByName('sn_settings');for(var key in data){for(var i=0;i<checkboxes.length;i++){if(checkboxes[i].value==key){if(data[key]==0){checkboxes[i].checked=false;}else{checkboxes[i].checked=true;}
break;}}}};naviki.main.Settings.prototype.getData=function(){var data=new Object();var sn_settings=new Object();var checkboxes=document.getElementsByName('sn_settings');for(var i=0;i<checkboxes.length;i++){if(checkboxes[i].checked==true){sn_settings[checkboxes[i].value]=1;}else{sn_settings[checkboxes[i].value]=0;}}
data['sn_settings']=sn_settings;return YAHOO.lang.JSON.stringify(data);;};;

naviki.main.RoutingRequest.dd=function(id,sGroup,config){naviki.main.RoutingRequest.dd.superclass.constructor.call(this,id,sGroup,config);this.DDM=YAHOO.util.DragDropMgr;this.Dom=YAHOO.util.Dom;this.Event=YAHOO.util.Event;this.dd=1;eventMgr.enableDD.subscribe(this.enableDD,this);eventMgr.disableDD.subscribe(this.disableDD,this);};naviki.main.RoutingRequest.dd.prototype.startDrag=function(x,y){if(this.dd==1){this.DDM.refreshCache();this.Dom.setStyle(this.getDragEl(),"display","");var dragEl=this.getDragEl();var clickEl=this.getEl();var region=this.Dom.getRegion(clickEl.id);var width=region.width-1;var obj=document.getElementById(clickEl.id+"[obj]");var input=document.getElementsByName(clickEl.id+"[input]")[0];var coord=document.getElementsByName(clickEl.id+"[coord]")[0];var template=naviki.Template.getSubpart("###TEMPLATE_ROUTING_REQUEST_DD###");var sa=new Object();sa['###DESTINATION_INPUT_NAME###']=clickEl.id+"[input]";sa['###DESTINATION_INPUT_VALUE###']=input.value;sa['###DESTINATION_INPUT_TABINDEX###']=this.Dom.getAttribute(input,'tabindex');sa['###DESTINATION_INPUT_ONKEYUP###']=this.Dom.getAttribute(input,'onkeyup');sa['###DESTINATION_COORDINATES_NAME###']=clickEl.id+"[coord]";sa['###DESTINATION_COORDINATES_VALUE###']=coord.value;sa['###DRAG_OBJ_HANDLE_ID###']=clickEl.id+"[handle]";sa['###DRAG_OBJ_HANDLE_STYLE###']=this.Dom.getStyle(document.getElementById(clickEl.id+"[handle]"),"background");dragEl.innerHTML=naviki.Template.substituteMarkerArray(template,sa);dragEl.className=clickEl.className;this.Dom.setStyle(dragEl,"height","25px");this.Dom.setStyle(dragEl,"padding-top","10px");this.Dom.setStyle(dragEl,"padding-bottom","5px");this.Dom.setStyle(dragEl,"padding-right","7px");this.Dom.setStyle(dragEl,"padding-left","0px");this.Dom.setStyle(dragEl,"border","dashed 1px");this.Dom.setStyle(dragEl,"width",width+"px");this.Dom.addClass(dragEl,'tx-naviki-pi-routing-request');this.Dom.setStyle(obj,"visibility","hidden");}else{this.Dom.setStyle(this.getDragEl(),"display","none");}};naviki.main.RoutingRequest.dd.prototype.endDrag=function(e){if(this.dd==1){var obj=document.getElementById(this.getEl().id+"[obj]");obj.innerHTML=this.getDragEl().innerHTML;this.Dom.setStyle(obj,"visibility","visible");var parent=this.getEl().parentNode;var inputs=parent.getElementsByTagName("input");var handles=parent.getElementsByTagName("div");var index=1;var coord="";var onkeyup="";var bg="";var offset;var pos;index=1;for(var i=1;i<handles.length;i++){if(this.Dom.hasClass(handles[i],"tx-naviki-pi-routing-request-dd-handle")){offset=2850+(index*30);bg="url('/typo3conf/ext/naviki/fileadmin/img/sprite.gif') no-repeat scroll 0 -"+offset+"px transparent";this.Dom.setStyle(handles[i],"background",bg);index++;}}
for(var j=0;j<inputs.length;j++){if(inputs[j].type!="hidden"){this.Dom.setAttribute(inputs[j],"tabindex",index);index++;}}
for(var k=0;k<inputs.length;k++){if(inputs[k].type=="hidden"){if(inputs[k].value!=""){coord+=inputs[k].value+";";}else{coord+="null;";}}}
if(coord.length>0){coord=coord.substr(0,coord.length-1);}
eventMgr.addRoutingMarker.fire(coord);index=0;for(var l=0;l<inputs.length;l++){if(inputs[l].type!="hidden"){onkeyup=this.Dom.getAttribute(inputs[l],"onkeyup");onkeyup=onkeyup.toString();onkeyup=onkeyup.toLowerCase();pos=onkeyup.search(/clearcoord.+/)+10;onkeyup=onkeyup.substr(0,pos)+"("+index+");";this.Dom.setAttribute(inputs[l],"onkeyup",onkeyup);index++;}}}};naviki.main.RoutingRequest.dd.prototype.setDragElPos=function(iPageX,iPageY){if(this.dd==1){var x=this.startPageX+this.deltaX;var el=this.getDragEl();this.alignElWithMouse(el,x,iPageY+13);}};naviki.main.RoutingRequest.dd.prototype.onDragOver=function(e,id){if(this.dd==1){var srcEl=this.getEl();var destEl=this.Dom.get(id);var parent=destEl.parentNode;var labelSrc=document.getElementById(this.getEl().id+"[label]").innerHTML;var labelDest=document.getElementById(id+"[label]").innerHTML;if(this.goingUp){parent.insertBefore(srcEl,destEl);}else{parent.insertBefore(srcEl,destEl.nextSibling);}
this.DDM.refreshCache();document.getElementById(this.getEl().id+"[label]").innerHTML=labelDest;document.getElementById(id+"[label]").innerHTML=labelSrc;}};naviki.main.RoutingRequest.dd.prototype.onDrag=function(e){if(this.dd==1){var y=this.Event.getPageY(e);if(y<this.lastY){this.goingUp=true;}else if(y>this.lastY){this.goingUp=false;}
this.lastY=y;}};naviki.main.RoutingRequest.dd.prototype.enableDD=function(type,e,me){me.dd=1;};naviki.main.RoutingRequest.dd.prototype.disableDD=function(type,e,me){me.dd=0;};;

naviki.main.OpenLayer=function(config){this.config=config;this.obj=config['cidMap'];this.id=config['cid'];this.mapId=this.id+"Map";this.maxHeightWithoutMap=config['maxHeightWithoutMap'];this.browser=config['browser'];this.maps=config['maps'];this.projection=config['projection'];this.activeMap=null;this.have_fe_user=config['have_fe_user'];this.controls=true;this.maptypeControl=config['maptypeControl'];this.overlayControl=config['overlayControl'];this.fullscreenControl=config['fullscreenControl'];this.highlightOverlay=null;this.wayOverlay=new Array();this.wayKml=config['waykml'];this.lat=config['lat'];this.lon=config['lon'];this.zoom=config['zoom'];this.layer=config['layer'];this.routingFeatures=new Array();this.imageFeatures=new Array();this.overlayFeatures=new Array();this.selectFeatures=null;this.selectRoutingFeatures=false;this.selectImageFeatures=false;this.links=new Object();this.contextmenudiv;eventMgr.onWindowResize.subscribe(this.onResize,this);eventMgr.onWindowLoad.subscribe(this.onLoad,this);eventMgr.onWindowUnLoad.subscribe(this.onUnLoad,this);eventMgr.removeWayInfoMarker.subscribe(this.removeWayInfoMarker,this);eventMgr.addWayInfoMarker.subscribe(this.addWayInfoMarker,this);eventMgr.removeWayOverlay.subscribe(this.removeWayOverlay,this);eventMgr.removeHighlightOverlay.subscribe(this.removeHighlightOverlay,this);eventMgr.addHighlightOverlay.subscribe(this.addHighlightOverlay,this);eventMgr.addWayOverlay.subscribe(this.addWayOverlay,this);eventMgr.addRoutingMarker.subscribe(this.addRoutingMarker,this);eventMgr.disableDraggingMarker.subscribe(this.disableDraggingMarker,this);eventMgr.enableDraggingMarker.subscribe(this.enableDraggingMarker,this);eventMgr.requestGeolocationImage.subscribe(this.requestGeolocationImage,this);eventMgr.removeGeolocationImage.subscribe(this.removeGeolocationImage,this);eventMgr.addGeolocationImage.subscribe(this.addGeolocationImage,this);eventMgr.enableDraggableGeolocationImage.subscribe(this.enableDraggableGeolocationImage,this);eventMgr.hideContextMenu.subscribe(this.hideContextMenu,this);eventMgr.updateContextMenu.subscribe(this.updateContextMenu,this);eventMgr.enableControls.subscribe(this.enableControls,this);eventMgr.disableControls.subscribe(this.disableControls,this);eventMgr.hidePopup.subscribe(this.hidePopup,this);eventMgr.showPopup.subscribe(this.showPopup,this);eventMgr.mapPositioning.subscribe(this.mapPositioning,this);};naviki.main.OpenLayer.prototype.mapPositioning=function(type,e,me){var lonLat=new OpenLayers.LonLat(e[1],e[0]).transform(new OpenLayers.Projection("EPSG:4326"),me.map.getProjectionObject());me.map.setCenter(lonLat,parseInt(e[2]));};naviki.main.OpenLayer.prototype.enableControls=function(type,e,me){me.controls=true;};naviki.main.OpenLayer.prototype.disableControls=function(type,e,me){me.controls=false;};naviki.main.OpenLayer.prototype.onUnLoad=function(type,e,me){};naviki.main.OpenLayer.prototype.onResize=function(type,e,me){if(me!=null){me.onResize(type,e,null);return;}
var e=document.getElementById(this.id);var h=-this.maxHeightWithoutMap;if(window.innerHeight){h+=window.innerHeight;}else{h+=window.document.documentElement.clientHeight;}
if(h<430){h=430;}
e.style.height=h+"px";};naviki.main.OpenLayer.prototype.onLoad=function(type,e,me){if(me!=null){me.onLoad(type,e,null);return;}
if(this.initialized){return;}
this.initialized=true;this.onResize("onWindowResize",[null],this);OpenLayers.IMAGE_RELOAD_ATTEMPTS=1;this.map=new OpenLayers.Map(this.id,{maxExtent:new OpenLayers.Bounds(-20037508.3427892,-20037508.3427892,20037508.3427892,20037508.3427892).transform(new OpenLayers.Projection("EPSG:900913"),new OpenLayers.Projection(this.projection)),numZoomLevels:18,maxResolution:"auto",units:'m',projection:this.projection,displayProjection:new OpenLayers.Projection("EPSG:4326")});if(this.fullscreenControl==1){this.customizeFullScreenControl();}
if(this.maptypeControl==1){this.customizeMapTypeControl();}
if(this.overlayControl==1){this.customizeMapOverlayControl();}
this.map.addControl(new OpenLayers.Control.MousePosition());this.map.addControl(new OpenLayers.Control.PanZoomBar());var lonLat=new OpenLayers.LonLat(this.lon,this.lat).transform(new OpenLayers.Projection("EPSG:4326"),this.map.getProjectionObject());this.map.setCenter(lonLat,this.zoom);this.initContextMenu();var myObj=this;var myNavControl=new OpenLayers.Control.Navigation({handleRightClicks:true});this.map.addControl(myNavControl);myNavControl.handlers.click.callbacks.rightclick=function(e){var links="";var posx,posy;for(var key in myObj.links){links+=myObj.links[key];}
if(parseInt(myObj.config['waysNextToPoint'])==1){links+="<a href='javascript:"+myObj.obj+".createBounds(###LAT###,###LNG###);'><div>&nbsp;"+naviki.Lang.getLL('ways_nextto_point')+"&nbsp;</div></a>";}
if(window.document.all){posx=e.clientX+window.document.documentElement.scrollLeft;posy=e.clientY+window.document.documentElement.scrollTop;}else{posx=e.pageX;posy=e.pageY;}
if(links.length>0){myObj.showContextMenu(posx,posy,links);}};OpenLayers.Control.Click=OpenLayers.Class(OpenLayers.Control,{defaultHandlerOptions:{'single':true,'double':false,'pixelTolerance':0,'stopSingle':false,'stopDouble':false},initialize:function(options){this.handlerOptions=OpenLayers.Util.extend({},this.defaultHandlerOptions);OpenLayers.Control.prototype.initialize.apply(this,arguments);this.handler=new OpenLayers.Handler.Click(this,{'click':this.trigger},this.handlerOptions);},trigger:function(evt){eventMgr.hideContextMenu.fire();eventMgr.hidePopup.fire();myObj.selectedLayer=new Array();var nodeCount=myObj.tree.getNodeCount();for(var i=1;i<=nodeCount;i++){if(myObj.tree.getNodeByIndex(i).checked==true){myObj.selectedLayer.push(myObj.tree.getNodeByIndex(i));}}
if(myObj.selectedLayer.length>0){myObj.layerClickAction(evt);}else{Event.stop(evt);}}});var click=new OpenLayers.Control.Click();this.map.addControl(click);click.activate();};naviki.main.OpenLayer.prototype.layerClickAction=function(evt){if(this.selectedLayer.length>0){var layer=this.selectedLayer[0];this.selectedLayer.splice(0,1);switch(layer.myType){case 1:case 3:case 4:this.getPois(evt);break;case 6:this.getStops(evt,layer);break;default:break;}}};naviki.main.OpenLayer.prototype.setControlContainer=function(){var container=document.createElement("div");container.id=this.id+"controlContainer";YAHOO.util.Dom.addClass(container,'controlContainer');YAHOO.util.Dom.setStyle(container,'top',this.config['top']+"px");YAHOO.util.Dom.setStyle(container,'right',this.config['right']+"px");YAHOO.util.Dom.setStyle(container,'zIndex',naviki.main.Util.bringToTop());this.map.div.appendChild(container);};naviki.main.OpenLayer.prototype.storeMapType=function(type){if(this.have_fe_user==0){return;}
var address="index.php?eID=tx_naviki_pi_map&actionId=storeMapType&mapType="+this.activeMap.uid;var oCallback={success:function(o){},failure:function(o){alert("Sorry, no data found for that address!\n Here is the response: "+o);},cache:false};var getXML=YAHOO.util.Connect.asyncRequest("GET",address,oCallback);};naviki.main.OpenLayer.prototype.setMapType=function(pos){var menuText=document.getElementById(this.id+"maptypeText");if(this.activeMap!=null){this.activeMap.display(false);this.activeMap.setVisibility(false);this.activeMap.setIsBaseLayer(false);}
this.maps[pos].display(true);this.maps[pos].setVisibility(true);this.maps[pos].setIsBaseLayer(true);this.map.setBaseLayer(this.maps[pos]);menuText.innerHTML=this.maps[pos].name;this.activeMap=this.maps[pos];this.storeMapType(this.maps[pos].uid);};naviki.main.OpenLayer.prototype.addMaps=function(id){var element=document.getElementById(id);var items="";var tmp=new Array();var map=null;var active=0;for(var i=0;i<this.maps.length;i++){switch(parseInt(this.maps[i]['type'])){case 1:switch(parseInt(this.maps[i]['osm'])){case 1:map=new OpenLayers.Layer.OSM(this.maps[i]['name']);map.uid=this.maps[i]['uid'];map.name=this.maps[i]['name'];break;case 2:map=new OpenLayers.Layer.OSM.Mapnik(this.maps[i]['name']);map.uid=this.maps[i]['uid'];map.name=this.maps[i]['name'];break;case 3:map=new OpenLayers.Layer.OSM.CycleMap(this.maps[i]['name']);map.uid=this.maps[i]['uid'];map.name=this.maps[i]['name'];break;}
break;case 2:switch(parseInt(this.maps[i]['google'])){case 1:map=new OpenLayers.Layer.Google(this.maps[i]['name'],{numZoomLevels:20,sphericalMercator:true});map.uid=this.maps[i]['uid'];map.name=this.maps[i]['name'];break;case 2:map=new OpenLayers.Layer.Google(this.maps[i]['name'],{type:G_PHYSICAL_MAP,numZoomLevels:20,sphericalMercator:true});map.uid=this.maps[i]['uid'];map.name=this.maps[i]['name'];break;case 3:map=new OpenLayers.Layer.Google(this.maps[i]['name'],{type:G_HYBRID_MAP,numZoomLevels:20,sphericalMercator:true});map.uid=this.maps[i]['uid'];map.name=this.maps[i]['name'];break;case 4:map=new OpenLayers.Layer.Google(this.maps[i]['name'],{type:G_SATELLITE_MAP,numZoomLevels:20,sphericalMercator:true});map.uid=this.maps[i]['uid'];map.name=this.maps[i]['name'];break;}
break;case 3:map=new OpenLayers.Layer.WMS(this.maps[i]["name"],this.maps[i]["url"],YAHOO.lang.JSON.parse(this.maps[i]["params"]),{visibility:false,projection:this.maps[i]["projection"],units:"m",maxResolution:this.map.getResolution(),maxExtent:this.map.getMaxExtent().transform(new OpenLayers.Projection(this.maps[i]["projection"]),this.map.getProjectionObject()),tileSize:new OpenLayers.Size(216,216)});map.uid=this.maps[i]['uid'];map.name=this.maps[i]['name'];break;}
if(map!=null){tmp.push(map);this.map.addLayer(map);items+="<a href='javascript:"+this.obj+".setMapType("+i+");'>"+this.maps[i]['name']+"</a>";if(parseInt(this.maps[i]['active'])==1){active=i;}
map=null;}}
if(tmp.length>0){element.innerHTML=items;this.maps=tmp;this.setMapType(active);}};naviki.main.OpenLayer.prototype.customizeMapTypeControl=function(){var cc=document.getElementById(this.id+"controlContainer");if(cc==null){this.setControlContainer();cc=document.getElementById(this.id+"controlContainer");}
var myObj=this;var container=document.createElement("div");var menuItems=document.createElement("div");var menuButton=document.createElement("div");var menuText=document.createElement("div");menuItems.id=this.id+"maptypeItems";menuButton.id=this.id+"maptypeButton";menuText.id=this.id+"maptypeText";container.id=this.id+"maptypeContainer";YAHOO.util.Dom.addClass(menuItems,'maptypeItems');YAHOO.util.Dom.addClass(menuButton,'maptypeButton');YAHOO.util.Dom.addClass(menuText,'maptypeText');YAHOO.util.Dom.addClass(container,'maptypeContainer');YAHOO.util.Dom.setStyle(container,'zIndex',naviki.main.Util.bringToTop());menuButton.appendChild(menuText);container.appendChild(menuItems);container.appendChild(menuButton);cc.appendChild(container);YAHOO.util.Event.on(document,'mousemove',function(e){if(myObj.controls==true){if(document.all){posx=window.event.clientX+document.documentElement.scrollLeft;posy=window.event.clientY+document.documentElement.scrollTop;}else{posx=e.pageX;posy=e.pageY;}
var region1=YAHOO.util.Dom.getRegion(myObj.id+"maptypeButton");if(posx>region1.left&&posx<(region1.left+region1.width)&&posy>region1.top&&posy<(region1.top+region1.height)){document.getElementById(myObj.id+"maptypeItems").style.display="inline";}
var region2=YAHOO.util.Dom.getRegion(myObj.id+"maptypeItems");if(posx<region2.left||posx>(region2.left+region2.width)||posy<region1.top||posy>(region1.top+region1.height+region2.height)){document.getElementById(myObj.id+"maptypeItems").style.display="none";}}});YAHOO.util.Event.on(document,'mouseup',function(e){var region1=YAHOO.util.Dom.getRegion(myObj.id+"maptypeButton");document.getElementById(myObj.id+"maptypeItems").style.display="none";});this.addMaps(menuItems.id);};naviki.main.OpenLayer.prototype.customizeFullScreenControl=function(){var cc=document.getElementById(this.id+"controlContainer");if(cc==null){this.setControlContainer();cc=document.getElementById(this.id+"controlContainer");}
var fullscreen=false;var myObj=this;var map=document.getElementById(this.id);var container=document.createElement("div");var menuButton=document.createElement("div");var buttonImg=document.createElement("img");var style;menuButton.id=this.id+"fullscreenButton";container.id=this.id+"fullscreenContainer";buttonImg.id=this.id+"fullscreenImg";buttonImg.id=this.id+"fullscreenImg";buttonImg.src=naviki.Util.FILEADMIN_PATH+"img/pi_map/enlarge_map.png";buttonImg.title=naviki.Lang.getLL('fullscreen_max_title');YAHOO.util.Dom.addClass(menuButton,'fullscreenButton');YAHOO.util.Dom.addClass(container,'fullscreenContainer');menuButton.appendChild(buttonImg);container.appendChild(menuButton);cc.appendChild(container);YAHOO.util.Event.on(menuButton,'click',function(){if(myObj.controls==true){if(fullscreen==false){buttonImg.src=naviki.Util.FILEADMIN_PATH+"img/pi_map/reduce_map.png";buttonImg.title=naviki.Lang.getLL('fullscreen_min_title');fullscreen=true;style=YAHOO.util.Dom.getAttribute(map,"style");YAHOO.util.Dom.setAttribute(map,"style","position:fixed;width:100%;height:100%;top:0px;left:0px;");myObj.map.updateSize();}else{buttonImg.src=naviki.Util.FILEADMIN_PATH+"img/pi_map/enlarge_map.png";buttonImg.title=naviki.Lang.getLL('fullscreen_max_title');fullscreen=false;YAHOO.util.Dom.setAttribute(map,"style",style);}}});};naviki.main.OpenLayer.prototype.customizeMapOverlayControl=function(){var cc=document.getElementById(this.id+"controlContainer");if(cc==null){this.setControlContainer();cc=document.getElementById(this.id+"controlContainer");}
var myObj=this;var container=document.createElement("div");var menuItems=document.createElement("div");var menuButton=document.createElement("div");var menuText=document.createElement("div");menuItems.id=this.id+"overlayItems";menuButton.id=this.id+"overlayButton";menuText.id=this.id+"overlayText";container.id=this.id+"overlayContainer";YAHOO.util.Dom.addClass(menuItems,'overlayItems');YAHOO.util.Dom.addClass(menuButton,'overlayButton');YAHOO.util.Dom.addClass(menuText,'overlayText');YAHOO.util.Dom.addClass(container,'overlayContainer');YAHOO.util.Dom.setStyle(container,'zIndex',naviki.main.Util.bringToTop());menuText.innerHTML=naviki.Lang.getLL('more');menuButton.appendChild(menuText);container.appendChild(menuItems);container.appendChild(menuButton);cc.appendChild(container);YAHOO.util.Event.on(document,'mousemove',function(e){if(myObj.controls==true){if(document.all){posx=window.event.clientX+document.documentElement.scrollLeft;posy=window.event.clientY+document.documentElement.scrollTop;}else{posx=e.pageX;posy=e.pageY;}
var region1=YAHOO.util.Dom.getRegion(myObj.id+"overlayButton");if(posx>region1.left&&posx<(region1.left+region1.width)&&posy>region1.top&&posy<(region1.top+region1.height)){document.getElementById(myObj.id+"overlayItems").style.display="inline";}
var region2=YAHOO.util.Dom.getRegion(myObj.id+"overlayItems");if((posx<region2.left||posx>(region2.left+region2.width)||posy<region2.top||posy>(region2.top+region2.height))&&(posx<region1.left||posx>(region1.left+region1.width)||posy<region1.top||posy>(region1.top+region1.height))){document.getElementById(myObj.id+"overlayItems").style.display="none";}}});this.map.myObj=this;this.tree=new YAHOO.widget.TreeView(this.id+"overlayItems");this.buildTree(this.tree.getRoot(),0);this.tree.draw();this.selectAllFeatures(this);};naviki.main.OpenLayer.prototype.buildTree=function(root,idx){var file;var layer;for(var i=0;i<this.layer.length;i++){if(parseInt(this.layer[i]["treenode"])==idx){switch(parseInt(this.layer[i]["type"])){case 0:label={label:this.layer[i]["name"],mylabel:this.layer[i]["uid"],myType:this.layer[i]["type"],url:"",path:"",layerName:""};node=new naviki.main.MapTaskNode(label,root,false);this.buildTree(node,this.layer[i]["uid"]);break;case 1:layer=new OpenLayers.Layer.TMS(this.layer[i]["name"],this.layer[i]["tileUrl"],{type:'png',getURL:this.get_my_url,alpha:true,isBaseLayer:false,visibility:false});label={label:this.layer[i]["name"],mylabel:this.layer[i]["uid"],myType:this.layer[i]["type"],url:"",path:"",layerName:""};node=new naviki.main.OpenLayerTaskNode(label,root,false,false,layer,this.map);this.map.addLayer(layer);break;case 3:case 4:if(this.layer[i]["kmlFile"]!=""){file=naviki.Util.DOMAIN_URL+"uploads/tx_naviki_layer/"+this.layer[i]["kmlFile"];layer=new OpenLayers.Layer.GML("overlay",file,{format:OpenLayers.Format.KML,formatOptions:{extractStyles:true,extractAttributes:true},projection:this.map.displayProjection});layer.setVisibility(false);label={label:this.layer[i]["name"],mylabel:this.layer[i]["uid"],myType:this.layer[i]["type"],url:"",path:"",layerName:""};node=new naviki.main.OpenLayerTaskNode(label,root,false,false,layer,this.map);this.map.addLayer(layer);layer.popup=true;layer.myObj=this;this.overlayFeatures.push(layer);}
break;case 5:layer=new OpenLayers.Layer.WMS(this.layer[i]["name"],this.layer[i]["wmsUrl"],YAHOO.lang.JSON.parse(this.layer[i]["wmsParameters"]),{visibility:false,projection:this.layer[i]["wmsProjection"],units:"m",maxResolution:this.map.getResolution(),maxExtent:this.map.getMaxExtent().transform(new OpenLayers.Projection(this.layer[i]["wmsProjection"]),this.map.getProjectionObject()),tileSize:new OpenLayers.Size(216,216)});label={label:this.layer[i]["name"],mylabel:this.layer[i]["uid"],myType:this.layer[i]["type"],url:"",path:"",layerName:""};node=new naviki.main.OpenLayerTaskNode(label,root,false,false,layer,this.map);this.map.addLayer(layer);break;case 6:var url="http://maps2.connect-info.net/mapserv";var path="/data/umn/hannit/mapfiles/haltestellen_remoteJson.map";var layerName="haltestellenpunkte";layer=new OpenLayers.Layer.WMS(this.layer[i]["name"],url,{map:path,layers:layerName,transparent:"TRUE",format:"png"},{visibility:false,srs:this.map.getProjection(),units:"m",maxResolution:this.map.getResolution(),maxExtent:this.map.getMaxExtent(),tileSize:new OpenLayers.Size(216,216),gutter:20,buffer:0});label={label:this.layer[i]["name"],mylabel:this.layer[i]["uid"],myType:this.layer[i]["type"],url:url,path:path,layerName:layerName};node=new naviki.main.OpenLayerTaskNode(label,root,false,false,layer,this.map);this.map.addLayer(layer);break;default:break;}
if(parseInt(this.layer[i]["active"])==1){node.setUpCheck(true);}}}};naviki.main.OpenLayer.prototype.get_my_url=function(bounds){var res=this.map.getResolution();var x=Math.round((bounds.left-this.maxExtent.left)/(res*this.tileSize.w));var y=Math.round((this.maxExtent.top-bounds.top)/(res*this.tileSize.h));var z=this.map.getZoom();var path=z+"/"+x+"/"+y+"."+this.type;var url=this.url;if(url instanceof Array){url=this.selectUrl(path,url);}
return url+path;};naviki.main.OpenLayer.prototype.showPopup=function(type,e,me){if(typeof me.popup=='undefined'){me.popup=null;}
eventMgr.hidePopup.fire();if(typeof me.popupbody!=null){me.popup=new OpenLayers.Popup.FramedCloud("Stop Info",e[0],null,me.popupbody,null,true,function(){me.popupbody=null;eventMgr.hidePopup.fire();});me.popup.setBackgroundColor("#ffffff");me.map.addPopup(me.popup);}};naviki.main.OpenLayer.prototype.hidePopup=function(type,e,me){if(typeof me.popup=='undefined'){me.popup=null;}
if(me.popup!=null){me.popup.destroy();me.popup=null;}};naviki.main.OpenLayer.prototype.selectAllFeatures=function(myObj){if(myObj.selectFeatures!=null){myObj.map.removeControl(myObj.selectFeatures);}
var tmp=new Array();for(var i=0;i<myObj.overlayFeatures.length;i++){tmp.push(myObj.overlayFeatures[i]);}
if(myObj.selectRoutingFeatures==true){for(var j=0;j<myObj.routingFeatures.length;j++){tmp.push(myObj.routingFeatures[j]);}}
if(myObj.selectImageFeatures==true){for(var k=0;k<myObj.imageFeatures.length;k++){tmp.push(myObj.imageFeatures[k]);}}
myObj.selectFeatures=new OpenLayers.Control.SelectFeature(tmp,{onSelect:myObj.onFeatureSelect,onUnselect:myObj.onFeatureUnselect,onBeforeSelect:myObj.onFeatureBeforeSelect});myObj.map.addControl(myObj.selectFeatures);myObj.selectFeatures.activate();};naviki.main.OpenLayer.prototype.onFeatureBeforeSelect=function(feature){if(feature.layer.popup==true){feature.layer.myObj.popupbody="<div style='font-size:.8em'>"+feature.attributes.description+"</div>";}};naviki.main.OpenLayer.prototype.onFeatureSelect=function(feature){};naviki.main.OpenLayer.prototype.onFeatureUnselect=function(feature){};naviki.main.OpenLayer.prototype.createBounds=function(lat,lon){var tmp;var lonlat=new OpenLayers.LonLat(lon,lat).transform(new OpenLayers.Projection("EPSG:4326"),this.map.getProjectionObject());var deltaX=20;var deltaY=20;this.center=new Object();this.center.lat=lat;this.center.lon=lon;var style={strokeColor:"#00FF00",strokeOpacity:0.7,strokeWidth:6};this.pointXY=this.map.getViewPortPxFromLonLat(lonlat);tmp=this.map.getLonLatFromViewPortPx(new OpenLayers.Pixel(parseInt(this.pointXY.x-deltaX),parseInt(this.pointXY.y-deltaY)));var p1=new OpenLayers.Geometry.Point(tmp.lon,tmp.lat);tmp=this.map.getLonLatFromViewPortPx(new OpenLayers.Pixel(parseInt(this.pointXY.x+deltaX),parseInt(this.pointXY.y-deltaY)));var p2=new OpenLayers.Geometry.Point(tmp.lon,tmp.lat);tmp=this.map.getLonLatFromViewPortPx(new OpenLayers.Pixel(parseInt(this.pointXY.x+deltaX),parseInt(this.pointXY.y+deltaY)));var p3=new OpenLayers.Geometry.Point(tmp.lon,tmp.lat);tmp=this.map.getLonLatFromViewPortPx(new OpenLayers.Pixel(parseInt(this.pointXY.x-deltaX),parseInt(this.pointXY.y+deltaY)));var p4=new OpenLayers.Geometry.Point(tmp.lon,tmp.lat);tmp=this.map.getLonLatFromViewPortPx(new OpenLayers.Pixel(parseInt(this.pointXY.x-deltaX),parseInt(this.pointXY.y-deltaY)));var p5=new OpenLayers.Geometry.Point(tmp.lon,tmp.lat);var points=[];points.push(p1);points.push(p2);points.push(p3);points.push(p4);points.push(p5);var polygon=new OpenLayers.Geometry.LineString(points);var feature=new OpenLayers.Feature.Vector(polygon,null,style);this.layerRec=new OpenLayers.Layer.Vector("rectangle");this.layerRec.addFeatures([feature]);this.map.addLayer(this.layerRec);document.myObj=this;YAHOO.util.Event.on(document,'mousemove',this.handlerMousemove);YAHOO.util.Event.on(document,'click',this.handlerClick);eventMgr.hideContextMenu.fire();};naviki.main.OpenLayer.prototype.handlerClick=function(e){var bounds=this.myObj.layerRec.getDataExtent().transform(this.myObj.map.getProjectionObject(),new OpenLayers.Projection("EPSG:4326"));var zoom=this.myObj.map.getZoomForExtent(this.myObj.layerRec.getDataExtent());var lat=this.myObj.center.lat;var lng=this.myObj.center.lon;var bbox="";bbox=bounds.left+" "+bounds.top+",";bbox+=bounds.right+" "+bounds.top+",";bbox+=bounds.right+" "+bounds.bottom+",";bbox+=bounds.left+" "+bounds.bottom+",";bbox+=bounds.left+" "+bounds.top;this.myObj.map.removeLayer(this.myObj.layerRec);YAHOO.util.Event.removeListener(document,"click",this.myObj.handlerClick);YAHOO.util.Event.removeListener(document,"mousemove",this.myObj.handlerMousemove);if(this.myObj.config['waySearchresultsTargetSite']!=""&&typeof this.myObj.config['waySearchresultsTargetSite']!='undefined'){var url=this.myObj.config['waySearchresultsTargetSite']+"?zoom="+zoom+"&lat="+lat+"&lng="+lng+"&bbox="+bbox;var url="http://"+window.location.hostname+"/"+url;window.location.href=url;}};naviki.main.OpenLayer.prototype.handlerMousemove=function(e){var tmp;var deltaX;var deltaY;var region=YAHOO.util.Dom.getRegion(this.myObj.id);var style={strokeColor:"#00FF00",strokeOpacity:0.7,strokeWidth:6};if(document.all){posx=window.event.clientX+document.documentElement.scrollLeft;posy=window.event.clientY+document.documentElement.scrollTop;}else{posx=e.pageX;posy=e.pageY;}
if((posx-region.left)>this.myObj.pointXY.x){deltaX=(posx-region.left)-this.myObj.pointXY.x;}else{deltaX=this.myObj.pointXY.x-(posx-region.left);}
if((posy-region.top)>this.myObj.pointXY.y){deltaY=(posy-region.top)-this.myObj.pointXY.y;}else{deltaY=this.myObj.pointXY.y-(posy-region.top);}
if(posx>region.left&&posx<(region.left+region.width)&&posy>region.top&&posy<(region.top+region.height)){tmp=this.myObj.map.getLonLatFromViewPortPx(new OpenLayers.Pixel(parseInt(this.myObj.pointXY.x-deltaX),parseInt(this.myObj.pointXY.y-deltaY)));var p1=new OpenLayers.Geometry.Point(tmp.lon,tmp.lat);tmp=this.myObj.map.getLonLatFromViewPortPx(new OpenLayers.Pixel(parseInt(this.myObj.pointXY.x+deltaX),parseInt(this.myObj.pointXY.y-deltaY)));var p2=new OpenLayers.Geometry.Point(tmp.lon,tmp.lat);tmp=this.myObj.map.getLonLatFromViewPortPx(new OpenLayers.Pixel(parseInt(this.myObj.pointXY.x+deltaX),parseInt(this.myObj.pointXY.y+deltaY)));var p3=new OpenLayers.Geometry.Point(tmp.lon,tmp.lat);tmp=this.myObj.map.getLonLatFromViewPortPx(new OpenLayers.Pixel(parseInt(this.myObj.pointXY.x-deltaX),parseInt(this.myObj.pointXY.y+deltaY)));var p4=new OpenLayers.Geometry.Point(tmp.lon,tmp.lat);tmp=this.myObj.map.getLonLatFromViewPortPx(new OpenLayers.Pixel(parseInt(this.myObj.pointXY.x-deltaX),parseInt(this.myObj.pointXY.y-deltaY)));var p5=new OpenLayers.Geometry.Point(tmp.lon,tmp.lat);var points=[];points.push(p1);points.push(p2);points.push(p3);points.push(p4);points.push(p5);var polygon=new OpenLayers.Geometry.LineString(points);var feature=new OpenLayers.Feature.Vector(polygon,null,style);this.myObj.layerRec.removeAllFeatures();this.myObj.layerRec.addFeatures([feature]);}};naviki.main.OpenLayer.prototype.addWayInfoMarker=function(type,e,me){me.wayinfoMarker=new OpenLayers.Layer.Vector("wayinfoMarker",{styleMap:new OpenLayers.StyleMap({externalGraphic:"http://www.geocodezip.com/mapIcons/marker.png",graphicXOffset:-15,graphicYOffset:-30,graphicZIndex:11,pointRadius:15}),isBaseLayer:false,renderOption:{yOrdering:true}});var lonLat=new OpenLayers.LonLat(e[1],e[0]).transform(new OpenLayers.Projection("EPSG:4326"),me.map.getProjectionObject());var point=new OpenLayers.Geometry.Point(lonLat.lon,lonLat.lat);var feature=new OpenLayers.Feature.Vector(point);me.wayinfoMarker.addFeatures(feature);me.map.addLayer(me.wayinfoMarker);};naviki.main.OpenLayer.prototype.removeWayInfoMarker=function(type,e,me){if(typeof me.wayinfoMarker!="undefined"){me.wayinfoMarker.removeAllFeatures();me.map.removeLayer(me.wayinfoMarker);}};naviki.main.OpenLayer.prototype.removeWayOverlay=function(type,e,me){if(me.wayOverlay.length>0){for(var i=0;i<me.wayOverlay.length;i++){if(me.wayOverlay[i]['file']==e[0]){me.map.removeLayer(me.wayOverlay[i]['obj']);me.wayOverlay.splice(i,1);i--;break;}}}};naviki.main.OpenLayer.prototype.addWayOverlay=function(type,e,me){var wayOverlay=new OpenLayers.Layer.GML("WAY",e[0],{format:OpenLayers.Format.KML,formatOptions:{extractStyles:true,extractAttributes:true},projection:me.map.displayProjection});var obj=new Object();obj['file']=e[0];obj['obj']=wayOverlay;me.wayOverlay.push(obj);if(typeof e[3]=='undefined'||e[3]==0){wayOverlay.events.register('loadend',me.map,function(){var bounds=wayOverlay.getDataExtent();var lonlat=new OpenLayers.LonLat(bounds.right,bounds.top);var pixel=this.getViewPortPxFromLonLat(lonlat);pixel=new OpenLayers.Pixel(pixel.x+150,pixel.y);lonlat=this.getLonLatFromPixel(pixel);bounds.right=lonlat.lon;bounds.top=lonlat.lat;this.zoomToExtent(bounds);lonlat=wayOverlay.getDataExtent().getCenterLonLat();pixel=this.getViewPortPxFromLonLat(lonlat);pixel=new OpenLayers.Pixel(pixel.x+150,pixel.y);lonlat=this.getLonLatFromPixel(pixel);this.setCenter(lonlat,this.getZoom());});}
me.map.addLayer(wayOverlay);};naviki.main.OpenLayer.prototype.removeHighlightOverlay=function(type,e,me){if(me.highlightOverlay!=null){me.map.removeLayer(me.highlightOverlay);me.highlightOverlay=null;}};naviki.main.OpenLayer.prototype.addHighlightOverlay=function(type,e,me){me.highlightOverlay=new OpenLayers.Layer.GML("highlight",e[0]+"_max.kml",{format:OpenLayers.Format.KML,formatOptions:{extractStyles:true,extractAttributes:true},projection:me.map.displayProjection});me.map.addLayer(me.highlightOverlay);};naviki.main.OpenLayer.prototype.addRoutingMarker=function(type,e,me){for(var i=0;i<me.routingFeatures.length;i++){me.map.removeControl(me.routingFeatures[i].drag);me.routingFeatures[i].removeAllFeatures();me.map.removeLayer(me.routingFeatures[i]);}
me.routingFeatures=new Array();var coord=e[0].split(";");var myObj=me;var lonLat;var tmp;var dragfeature;var feature;var point;var marker;var obj;for(var j=0;j<coord.length;j++){if(coord[j]!="null"){marker=new OpenLayers.Layer.Vector("Point-"+(j+1),{styleMap:new OpenLayers.StyleMap({externalGraphic:"http://www.geocodezip.com/mapIcons/marker"+(j+1)+".png",graphicXOffset:-15,graphicYOffset:-30,graphicZIndex:11,pointRadius:15}),isBaseLayer:false,renderOption:{yOrdering:true}});tmp=coord[j].split(",");lat=tmp[1];lon=tmp[0];lonLat=new OpenLayers.LonLat(lon,lat).transform(new OpenLayers.Projection("EPSG:4326"),me.map.getProjectionObject());point=new OpenLayers.Geometry.Point(lonLat.lon,lonLat.lat);feature=new OpenLayers.Feature.Vector(point);marker.lat=lonLat.lat;marker.lon=lonLat.lon;marker.pos=j;marker.addFeatures(feature);me.map.addLayer(marker);drag=new OpenLayers.Control.DragFeature(marker);drag.onComplete=function(feature,pixel){pixel.x=pixel.x+feature.layer.offset.x;pixel.y=pixel.y+feature.layer.offset.y;lonlat=myObj.map.getLonLatFromPixel(pixel).transform(myObj.map.getProjectionObject(),new OpenLayers.Projection("EPSG:4326"));eventMgr.moveRoutingMarker.fire(feature.layer.pos,lonlat.lon,lonlat.lat);};drag.onStart=function(feature,pixel){eventMgr.hideContextMenu.fire();eventMgr.hidePopup.fire();tmp=myObj.map.getPixelFromLonLat(new OpenLayers.LonLat(feature.layer.lon,feature.layer.lat));x=tmp.x-pixel.x;y=tmp.y-pixel.y;tmp.x=x;tmp.y=y;feature.layer.offset=tmp;};me.map.addControl(drag);drag.activate();marker.drag=drag;me.routingFeatures.push(marker);me.selectRoutingFeatures=true;me.selectAllFeatures(me);eventMgr.updateRoutingInputs.fire(j,lon,lat);}}};naviki.main.OpenLayer.prototype.enableDraggingMarker=function(type,e,me){for(var i=0;i<me.routingFeatures.length;i++){me.routingFeatures[i].drag.activate();}
me.selectRoutingFeatures=true;me.selectAllFeatures(me);};naviki.main.OpenLayer.prototype.disableDraggingMarker=function(type,e,me){for(var i=0;i<me.routingFeatures.length;i++){me.routingFeatures[i].drag.deactivate();}
me.selectRoutingFeatures=false;me.selectAllFeatures(me);};naviki.main.OpenLayer.prototype.getPois=function(evt){if(this.popupbody!=null){var lonlat=this.map.getLonLatFromViewPortPx(new OpenLayers.Pixel(evt.xy.x,evt.xy.y));eventMgr.showPopup.fire(lonlat);}else{this.layerClickAction(evt);}};naviki.main.OpenLayer.prototype.getWays=function(evt,uid){var lonlat=this.map.getLonLatFromViewPortPx(new OpenLayers.Pixel(evt.xy.x,evt.xy.y));lonlat=lonlat.transform(this.map.getProjectionObject(),new OpenLayers.Projection("EPSG:4326"));var myObj=this;var nodeCount=this.tree.getNodeCount();var layerUIDs=new Array(uid);var deltaX=20;var deltaY=20;var pointXY=this.map.getViewPortPxFromLonLat(lonlat.transform(new OpenLayers.Projection("EPSG:4326"),this.map.getProjectionObject()));var p1=this.map.getLonLatFromViewPortPx(new OpenLayers.Pixel(parseInt(pointXY.x-deltaX),parseInt(pointXY.y-deltaY))).transform(this.map.getProjectionObject(),new OpenLayers.Projection("EPSG:4326"));var p2=this.map.getLonLatFromViewPortPx(new OpenLayers.Pixel(parseInt(pointXY.x+deltaX),parseInt(pointXY.y-deltaY))).transform(this.map.getProjectionObject(),new OpenLayers.Projection("EPSG:4326"));var p3=this.map.getLonLatFromViewPortPx(new OpenLayers.Pixel(parseInt(pointXY.x+deltaX),parseInt(pointXY.y+deltaY))).transform(this.map.getProjectionObject(),new OpenLayers.Projection("EPSG:4326"));var p4=this.map.getLonLatFromViewPortPx(new OpenLayers.Pixel(parseInt(pointXY.x-deltaX),parseInt(pointXY.y+deltaY))).transform(this.map.getProjectionObject(),new OpenLayers.Projection("EPSG:4326"));var bbox=p1.lon+" "+p1.lat+","+p2.lon+" "+p2.lat+","+p3.lon+" "+p3.lat+","+p4.lon+" "+p4.lat+","+p1.lon+" "+p1.lat;var region=YAHOO.util.Dom.getRegion(this.id);var address="index.php?eID=tx_naviki_pi_map&actionId=getWaysTouchesWithBbox&bbox="+bbox+"&layerUIDs="+YAHOO.lang.JSON.stringify(layerUIDs);var oCallback={success:function(o){var response=YAHOO.lang.JSON.parse(o.responseText);var ways=response['WAYS'];var links="";var file="";var title="";var uid;var pos;if(ways.length==1){myObj.showWay(ways[0][0]);}else if(ways.length>1){if(ways.length>5){links="<div style='height:100px;overflow-y: auto;overflow-x: hidden;'>";}else{links="<div style='height:"+(ways.length*16)+"px;overflow: hidden;'>";}
for(var i=0;i<ways.length;i++){uid=ways[i][0];title=ways[i][1];if(title.length>25){title=title.substring(0,25)+"...";}
if(ways[i][2]!=null){file=ways[i][2];pos=file.lastIndexOf("_");file=file.substring(0,pos);links+="<a href='javascript:"+myObj.obj+".showWay("+uid+");'><div onmouseover='javascript:eventMgr.addHighlightOverlay.fire(\""+file+"\");' onmouseout='javascript:eventMgr.removeHighlightOverlay.fire();'><nobr>&nbsp;"+title+"&nbsp;</nobr></div></a>";}else{links+="<a href='javascript:"+myObj.obj+".showWay("+uid+");'><div><nobr>&nbsp;"+title+"&nbsp;</nobr></div></a>";}}
links+="</div>";myObj.showContextMenu(pointXY.x+region.left,pointXY.y+region.top,links);}else{myObj.layerClickAction(evt);}},failure:function(o){myObj.layerClickAction(evt);},cache:false};var getXML=YAHOO.util.Connect.asyncRequest("GET",address,oCallback);};naviki.main.OpenLayer.prototype.showWay=function(uid){eventMgr.hideContextMenu.fire();if(this.config['wayViewTargetSite']!=""){window.location.href="/"+this.config['wayViewTargetSite']+uid;}else{eventMgr.clearRoutingRequest.fire();eventMgr.updateWayInfo.fire(uid);eventMgr.updateWayView.fire(uid);}};naviki.main.OpenLayer.prototype.getStops=function(evt,layer){var latlon=this.map.getLonLatFromViewPortPx(new OpenLayers.Pixel(evt.xy.x,evt.xy.y));latlon=latlon.transform(this.map.getProjectionObject(),new OpenLayers.Projection("EPSG:4326"));var myObj=this;var pointXY=this.map.getViewPortPxFromLonLat(latlon.transform(new OpenLayers.Projection("EPSG:4326"),this.map.getProjectionObject()));if(layer.overlay.getVisibility()&&layer.overlay.calculateInRange()){var parameter=layer.overlay.getFullRequestString({MAP:layer.path,REQUEST:"GetFeatureInfo",EXCEPTIONS:"application/vnd.ogc.se_xml",BBOX:myObj.map.getExtent().toBBOX(),X:pointXY.x,Y:pointXY.y,INFO_FORMAT:'text/html',QUERY_LAYERS:layer.layerName,FEATURE_COUNT:1,WIDTH:myObj.map.size.w,HEIGHT:myObj.map.size.h},layer.url);var address="index.php?eID=tx_naviki_pi_map&actionId=getStops&URL="+parameter;var oCallback={success:function(o){var response=YAHOO.lang.JSON.parse(o.responseText);if(response['STATE']!="ERROR"&&response['RESULT']!=null){myObj.hannitRequestResult(response['RESULT'].stop,latlon);}else{myObj.layerClickAction(evt);}},failure:function(o){myObj.layerClickAction(evt);},cache:false};var getXML=YAHOO.util.Connect.asyncRequest("GET",address,oCallback);}};naviki.main.OpenLayer.prototype.hannitRequestResult=function(s,latlon){var c="<div class='hstcopyright'><a href='"+s.copyright.url+"' target='_blank'><img src='"+naviki.Util.FILEADMIN_PATH+"img/hannit/connect-logo.gif' border=0></a></div>";c+="<div class='hstname'>"+s.name+"</div>";if(YAHOO.lang.isArray(s.servicegroups.servicegroup)){for(var i in s.servicegroups.servicegroup){if(isNaN(i))break;c+="<div class='hstgroup'>"+s.servicegroups.servicegroup[i].name+"</div>";var z=s.servicegroups.servicegroup[i].services.service;c+=this.getServices(z);}}else{c+="<div class='hstgroup'>"+s.servicegroups.servicegroup.name+"</div>";c+=this.getServices(s.servicegroups.servicegroup.services.service);}
this.popupbody="<div class='hstdiv'>"+c+"</div>";eventMgr.showPopup.fire(latlon);};naviki.main.OpenLayer.prototype.getServices=function(service){var r="";if(YAHOO.lang.isArray(service)){for(var i=0;i<service.length;i++){r+="<div class='hstservice'><a href='"+service[i].url+"' target='_blank'>"+service[i].description+"</a></div>";}}else{r+="<div class='hstservice'><a href='"+service.url+"' target='_blank'>"+service.description+"</a></div>";}
return r;};naviki.main.OpenLayer.prototype.requestGeolocationImage=function(type,e,me){};naviki.main.OpenLayer.prototype.removeGeolocationImage=function(type,e,me){};naviki.main.OpenLayer.prototype.removeGeolocationImageByLink=function(overlayTitle){};naviki.main.OpenLayer.prototype.addGeolocationImage=function(type,e,me){};naviki.main.OpenLayer.prototype.enableDraggableGeolocationImage=function(type,e,me){};naviki.main.OpenLayer.prototype.initContextMenu=function(){var myObj=this;this.contextmenudiv=document.createElement("div");this.contextmenudiv.id=this.id+"ctxMenu";this.contextmenudiv.style.background="#ffffff";this.contextmenudiv.style.border="1px solid #6A6E4D";this.contextmenudiv.style.position="absolute";this.contextmenudiv.style.visibility="hidden";this.contextmenudiv.style.zIndex=naviki.main.Util.bringToTop();this.map.div.appendChild(this.contextmenudiv);YAHOO.util.Event.on(document,'mousemove',function(e){if(document.all){posx=window.event.clientX+document.documentElement.scrollLeft;posy=window.event.clientY+document.documentElement.scrollTop;}else{posx=e.pageX;posy=e.pageY;}
var region=YAHOO.util.Dom.getRegion(myObj.id);if(posx<region.left||posx>(region.left+region.width)||posy<region.top||posy>(region.top+region.height)){eventMgr.hideContextMenu.fire();}});};naviki.main.OpenLayer.prototype.updateContextMenu=function(type,e,me){me.links[e[0]]=e[1];};naviki.main.OpenLayer.prototype.hideContextMenu=function(type,e,me){me.contextmenudiv.style.visibility="hidden";};naviki.main.OpenLayer.prototype.showContextMenu=function(x,y,links){var regionMap=YAHOO.util.Dom.getRegion(this.id);var pixel=new Object();pixel.x=x-regionMap.left;pixel.y=y-regionMap.top;var lonlat=this.map.getLonLatFromPixel(pixel).transform(this.map.getProjectionObject(),new OpenLayers.Projection("EPSG:4326"));links=links.replace(/###LAT###/g,lonlat.lat);links=links.replace(/###LNG###/g,lonlat.lon);links=links.replace(/###ZOOM###/g,"");this.contextmenudiv.style.width="";this.contextmenudiv.style.height="";this.contextmenudiv.innerHTML=links;var regionContext=YAHOO.util.Dom.getRegion(this.id+"ctxMenu");this.contextmenudiv.style.width=regionContext.width+"px";this.contextmenudiv.style.height=(regionContext.height+2)+"px";if(x>regionMap.left+regionMap.width-regionContext.width-10){x=regionMap.width-regionContext.width-10;}else{x=x-regionMap.left;}
if(y>regionMap.top+regionMap.height-regionContext.height-10){y=regionMap.height-regionContext.height-10;}else{y=y-regionMap.top;}
YAHOO.util.Dom.setStyle(this.contextmenudiv,'top',y+"px");YAHOO.util.Dom.setStyle(this.contextmenudiv,'left',x+"px");YAHOO.util.Dom.setStyle(this.contextmenudiv,'visibility',"visible");YAHOO.util.Dom.setStyle(this.contextmenudiv,'z-Index',naviki.main.Util.bringToTop());};naviki.main.OpenLayerTaskNode=function(oData,oParent,expanded,checked,overlay,map){naviki.main.OpenLayerTaskNode.superclass.constructor.call(this,oData,oParent,expanded);this.map=map;this.url=oData.url;this.path=oData.path;this.layerName=oData.layerName;this.mylabel=oData.mylabel;this.myType=parseInt(oData.myType);this.haveWays=parseInt(oData.haveWays);this.setUpCheck(checked||oData.checked);this.overlay=overlay;this.showOverlay=function(){if(typeof this.overlay!="undefined"){this.overlay.setVisibility(true);}};this.removeOverlay=function(){if(typeof this.overlay!="undefined"){this.overlay.setVisibility(false);}};};naviki.main.OpenLayerTaskNode.override={checked:false,checkState:0,_type:"TaskNode",taskNodeParentChange:function(){},setUpCheck:function(checked){if(checked&&checked===true){this.check();}else if(this.parent&&2===this.parent.checkState){this.updateParent();}
if(this.tree&&!this.tree.hasEvent("checkClick")){this.tree.createEvent("checkClick",this.tree);}
this.tree.subscribe('clickEvent',this.checkClick);this.subscribe("parentChange",this.taskNodeParentChange);},getCheckElId:function(){return"ygtvcheck"+this.index;},getCheckEl:function(){return document.getElementById(this.getCheckElId());},getCheckStyle:function(){return"ygtvcheck"+this.checkState;},checkClick:function(oArgs){var node=oArgs.node;var target=YAHOO.util.Event.getTarget(oArgs.event);if(YAHOO.util.Dom.hasClass(target,'ygtvspacer')){if(node.checkState===0){node.check();}else{node.uncheck();}
node.onCheckClick(node);this.fireEvent("checkClick",node);return false;}},store_settings:function(node,check){if(parseInt(node.myType)!=5){var myObj=this.map.myObj;if(myObj.have_fe_user){var nodeCount=myObj.tree.getNodeCount();var active="";if(check==1){for(var i=1;i<=nodeCount;i++){if(myObj.tree.getNodeByIndex(i).checked==true){active+=this.tree.getNodeByIndex(i).mylabel+",";}}
active+=node.mylabel;}else{for(var i=1;i<=nodeCount;i++){if(myObj.tree.getNodeByIndex(i).checked==true&&myObj.tree.getNodeByIndex(i)!=node){active+=this.tree.getNodeByIndex(i).mylabel+",";}}
if(active.length>0){active=active.substr(0,active.length-1);}}
var address="index.php?eID=tx_naviki_pi_map&actionId=storeActiveLayer&activeLayer="+active;var oCallback={success:function(o){},failure:function(o){alert("Sorry, no data found for that address!\n Here is the response: "+o);},cache:false};var getXML=YAHOO.util.Connect.asyncRequest("GET",address,oCallback);}}},onCheckClick:function(node){},updateParent:function(){var p=this.parent;if(!p||!p.updateParent){return;}
var somethingChecked=false;var somethingNotChecked=false;for(var i=0,l=p.children.length;i<l;i=i+1){var n=p.children[i];if("checked"in n){if(n.checked){somethingChecked=true;if(n.checkState===1){somethingNotChecked=true;}}else{somethingNotChecked=true;}}}
if(somethingChecked){p.setCheckState((somethingNotChecked)?1:2);}else{p.setCheckState(0);}
p.updateCheckHtml();p.updateParent();},updateCheckHtml:function(){if(this.parent&&this.parent.childrenRendered){this.getCheckEl().className=this.getCheckStyle();}},setCheckState:function(state){this.checkState=state;this.checked=(state>0);},check:function(){this.store_settings(this,1);this.showOverlay();this.setCheckState(2);for(var i=0,l=this.children.length;i<l;i=i+1){var c=this.children[i];if(c.check){c.check();}}
this.updateCheckHtml();this.updateParent();},uncheck:function(){this.store_settings(this,0);this.removeOverlay();this.setCheckState(0);for(var i=0,l=this.children.length;i<l;i=i+1){var c=this.children[i];if(c.uncheck){c.uncheck();}}
this.updateCheckHtml();this.updateParent();},getContentHtml:function(){var sb=[];sb[sb.length]='<td';sb[sb.length]=' id="'+this.getCheckElId()+'"';sb[sb.length]=' class="'+this.getCheckStyle()+'"';sb[sb.length]='>';sb[sb.length]='<div class="ygtvspacer"></div></td>';sb[sb.length]='<td><span';sb[sb.length]=' id="'+this.labelElId+'"';if(this.title){sb[sb.length]=' title="'+this.title+'"';}
sb[sb.length]=' class="'+this.labelStyle+'"';sb[sb.length]=' >';sb[sb.length]=this.label;sb[sb.length]='</span></td>';return sb.join("");}};;

naviki.main.Searchform=function(config){this.config=config;this.setHtml();};naviki.main.Searchform.prototype.setHtml=function(){var div=document.getElementById(this.config['id']);var template=naviki.Template.getSubpart("###TEMPLATE_SEARCHFORM###");var sa=[];var form;sa['###SEARCHACTION###']=this.config['searchResultPath'];sa['###ACTLANG###']=0;sa['###TXT_SEARCH###']=naviki.Lang.getLL('txt_search');sa['###TXT_SEARCH_HINT###']=naviki.Lang.getLL('txt_search_hint');sa['###TXT_SEARCH_BUTTON###']=naviki.Lang.getLL('txt_search_button');form=naviki.Template.substituteMarkerArray(template,sa);div.innerHTML=form;};;

naviki.main.RoutingWidget=function(config){this.config=config;this.init();};naviki.main.RoutingWidget.prototype.init=function(){var div=document.createElement("div");var template=naviki.Template.getSubpart("###TEMPLATE_CREATE_ROUTINGWIDGET###");var sa=[];sa['###LABEL_SETTINGS###']=this.config['label_settings'];sa['###LABEL_START###']=this.config['label_start'];sa['###LABEL_TARGET###']=this.config['label_target'];sa['###LABEL_WIDTH_ONE###']=this.config['label_width_one'];sa['###LABEL_WIDTH_TWO###']=this.config['label_width_two'];sa['###VALUE_START###']=this.config['value_start'];sa['###VALUE_TARGET###']=this.config['value_target'];sa['###VALUE_WIDTH###']=this.config['value_width'];sa['###NAME_INPUTFIELDS###']=this.config['cid']+"_inputfields";sa['###ID_WIDTH_INPUT###']=this.config['cid']+"_width_input";div=naviki.Template.substituteMarkerArray(template,sa);this.settings=new YAHOO.widget.Dialog(this.config['cid']+"_settings",{close:false,visible:true,underlay:"none",draggable:false,constraintoviewport:true});this.settings.setBody(div);this.settings.setFooter("");this.settings.render();this.settings.myObj=this;this.settings.cfg.queueProperty("buttons",[{text:naviki.Lang.getLL('edit'),handler:this.handleEdit}]);this.settings.render();this.settings.show();this.disableInputs();this.codeSnippet=new YAHOO.widget.Dialog(this.config['cid']+"_codeSnippet",{close:false,visible:true,underlay:"none",draggable:false,constraintoviewport:true});this.codeSnippet.setBody(this.buildLink(this.config['value_key'],this.config['value_width']));this.codeSnippet.setFooter("");this.codeSnippet.render();this.codeSnippet.show();};naviki.main.RoutingWidget.prototype.disableInputs=function(){var elements=document.getElementsByName(this.config['cid']+"_inputfields");for(var i=0;i<elements.length;i++){elements[i].disabled=true;}};naviki.main.RoutingWidget.prototype.enableInputs=function(){var elements=document.getElementsByName(this.config['cid']+"_inputfields");for(var i=0;i<elements.length;i++){elements[i].disabled=false;}};naviki.main.RoutingWidget.prototype.handleEdit=function(){this.myObj.enableInputs();this.myObj.settings.cfg.queueProperty("buttons",[{text:naviki.Lang.getLL('save'),handler:this.myObj.handleStore}]);this.myObj.settings.render();this.myObj.settings.show();};naviki.main.RoutingWidget.prototype.handleStore=function(){this.myObj.disableInputs();var element=document.getElementsByName(this.myObj.config['cid']+"_inputfields");var start=element[0].value;var target=element[1].value;var width=parseInt(element[2].value);var myObj=this.myObj;var address="index.php?eID=tx_naviki_pi_routingwidget&actionId=storeRoutingwidgetSettings&start="+start+"&target="+target+"&width="+width;var getXML=YAHOO.util.Connect.asyncRequest("GET",address,{success:function(o){myObj.codeSnippet.setBody(myObj.buildLink(myObj.config['value_key'],width));myObj.codeSnippet.render();myObj.codeSnippet.show();},failure:function(o){}});this.myObj.settings.cfg.queueProperty("buttons",[{text:naviki.Lang.getLL('edit'),handler:this.myObj.handleEdit}]);this.myObj.settings.render();this.myObj.settings.show();};naviki.main.RoutingWidget.prototype.buildLink=function(key,width){var llkey=naviki.Util.LOCAL_LANG;var link="<iframe src='http://"+window.location.host+"/index.php?eID=tx_naviki_pi_routingwidget&actionId=routingwidgetByKey&key="+key+"&LLkey="+llkey+"' width='"+width+"' height='240' scrolling='no' marginheight='0' marginwidth='0' frameborder='0' name='routingwidget'></iframe>";var div=document.createElement("div");var template=naviki.Template.getSubpart("###TEMPLATE_ROUTINGWIDGET_CODESNIPPET###");var sa=[];sa['###LABEL_CODESNIPPET###']=this.config['label_codeSnippet'];sa['###VALUE_CODESNIPPET####']=link;div=naviki.Template.substituteMarkerArray(template,sa);return div;};;

naviki.main.portlets.Container=function(config){this.config=config;this.divid=config['divid'];this.containerid=config['containerid'];this.containerObj=config['containerObj'];this.initialize();};naviki.main.portlets.Container.prototype.deletePortlet=function(portlet){var i=0;for(i=0;i<this.portlets.length;i++){if(portlet.dbid==this.portlets[i].dbid){this.portlets.splice(i,1);var address="index.php?eID=tx_naviki_pi_portlets&actionId=deletePortlet"+"&uid="+portlet.dbid;var getXML=YAHOO.util.Connect.asyncRequest("GET",address,{success:this.onDeletePortletSuccess,failure:this.onDeletePortletFail,argument:[this,portlet],cache:false});this.layout.updatePortletPositions();}}};naviki.main.portlets.Container.prototype.onDeletePortletSuccess=function(o){var result=YAHOO.lang.JSON.parse(o.responseText);var container=o.argument[0];var portlet=o.argument[1];if(result['STATE']=="OK"){portlet.destroy();}else{alert("Fehler: "+result['ERROR_TEXT']);}};naviki.main.portlets.Container.prototype.onDeletePortletFail=function(){alert("Ein Fehler ist aufgetreten.");};naviki.main.portlets.Container.prototype.onPortletEndDrag=function(portlet){this.layout.placePortlet(portlet);};naviki.main.portlets.Container.prototype.onAddingPortletSuccess=function(o){var result=YAHOO.lang.JSON.parse(o.responseText);var container=o.argument[0];if(result['STATE']=="OK"){container.portlets[result['INDEX']].setDBID(result['UID']);}else{alert("Fehler: "+result['ERROR_TEXT']);}};naviki.main.portlets.Container.prototype.onAddingPortletFail=function(){alert("Ein Fehler ist aufgetreten.");};naviki.main.portlets.Container.prototype.addPortlet=function(typeid){var index=this.portlets.length;this.createPortlet(index,''+typeid);this.layout.addNewPortlet(this.portlets[index]);var address="index.php?eID=tx_naviki_pi_portlets&actionId=addNewPortlet"+"&x="+this.portlets[index].getXMatrixPosition()+"&y="+this.portlets[index].getYMatrixPosition()+"&index="+index+"&type="+this.portlets[index].getType();var getXML=YAHOO.util.Connect.asyncRequest("GET",address,{success:this.onAddingPortletSuccess,failure:this.onAddingPortletFail,argument:[this],cache:false});this.overlaymanager.register([this.portlets[index]]);this.containerregion=YAHOO.util.Dom.getRegion(this.containerid);};naviki.main.portlets.Container.prototype.prepareAddDialog=function(){if(this.addDialog){return;}
var dialog_container=document.getElementById("naviki-dialogs");var dialog=document.createElement("div");dialog.id=""+dialog_container.id+"_"+this.containerid;var content='';content+='<div class="portletDialog">'+'<form>'+'<p>'+naviki.Lang.getLL('portletsAddPortletMessage')+'<br/><br/></p>'+'<table>';for(var i=0;i<this.PORTLET_TYPES.length;i++){content+='<tr><td valign="top"><input style="width:auto" type="checkbox" name="'+'checkbox'+i+'" id="'+this.containerid+'_checkbox_addDialog_'+i+'"></td><td>'+this.PORTLET_TYPES[i]['name']+'</td></tr>';}
content+='</table>'+'</form>'+'</div>';dialog.innerHTML=content;dialog_container.appendChild(dialog);this.addDialog=new naviki.main.ModalDialog(""+dialog.id,{width:"300px",visible:false,modal:true,draggable:true,fixedcenter:true,zindex:50,close:true,constraintoviewport:true,buttons:[{text:"Ok",handler:this.handleAddDialogOk}]});this.addDialog.portletcontainer=this;this.addDialog.setHeader(naviki.Lang.getLL("portletsAddPortlet"));this.addDialog.render();};naviki.main.portlets.Container.prototype.onPortletAddClick=function(){this.portletContainer.prepareAddDialog();this.portletContainer.updateAddDialog();this.portletContainer.addDialog.show();};naviki.main.portlets.Container.prototype.createPortlet=function(index,type){var text="";var typeindex=0;for(var i=0;i<this.PORTLET_TYPES.length;i++){if(this.PORTLET_TYPES[i]['typeid']==type){typeindex=i;}}
var classname=""+this.PORTLET_TYPES[typeindex]['classname'];text=""+'this.portlets[index] = new naviki.main.portlets.'+classname+'({'+'containerid: this.layout.getContainerID(),'+'portletcontainer: this,'+'width: this.layout.getPortletWidth(),'+'type: '+type+','+'lpUID: this.config["lpUID"],'+'pageID: this.config["pageId"]'+'});';eval(text);};naviki.main.portlets.Container.prototype.createLoadedPortlets=function(rows){var i=0;if(rows.length>0){for(i=0;i<rows.length;i++){if(typeof rows[i]['portlettype']!="undefined"){this.createPortlet(i,rows[i]['portlettype']);this.portlets[i].setDBID(rows[i]['uid']);this.portlets[i].setXMatrixPosition(rows[i]['x']);this.portlets[i].setYMatrixPosition(rows[i]['y']);this.portlets[i].setMinimized(rows[i]['minimized']);}}}else{this.createDefaultPortlets();}
this.layout.placeAllPortlets();};naviki.main.portlets.Container.prototype.updateAddDialog=function(){var typeid;var wehave=0;for(var i=0;i<this.PORTLET_TYPES.length;i++){typeid=this.PORTLET_TYPES[i].typeid;wehave=0;for(var j=0;j<this.portlets.length;j++){if(typeid==this.portlets[j].getType()){wehave=1;}}
if(wehave==1){document.getElementById(""+this.containerid+'_checkbox_addDialog_'+i).checked="true";}else{document.getElementById(""+this.containerid+'_checkbox_addDialog_'+i).checked=null;}}};naviki.main.portlets.Container.prototype.createDefaultPortlets=function(){var dpstring=this.config['defaultPortlets'];var portletnumbers=dpstring.split(",");var i=0;for(i=0;i<portletnumbers.length;i++){this.addPortlet(portletnumbers[i]);}};naviki.main.portlets.Container.prototype.onLoadPortletsSuccess=function(o){var result=YAHOO.lang.JSON.parse(o.responseText);var container=o.argument[0];if(result['STATE']=="OK"){container.createLoadedPortlets(result['RESULTVALUE']);}else{alert("Fehler: "+result['ERROR_TEXT']);}};naviki.main.portlets.Container.prototype.onLoadPortletsFail=function(){alert("Ein Fehler ist aufgetreten.");};naviki.main.portlets.Container.prototype.loadPortlets=function(){var address="index.php?eID=tx_naviki_pi_portlets&actionId=getPortlets";var getXML=YAHOO.util.Connect.asyncRequest("GET",address,{success:this.onLoadPortletsSuccess,failure:this.onLoadPortletsFail,argument:[this],cache:false});};naviki.main.portlets.Container.prototype.addNewPortlets=function(data){var checkbox;for(var i=0;i<this.PORTLET_TYPES.length;i++){eval('checkbox = data.'+'checkbox'+i);if(!checkbox){var portlet=this.getPortletFromContainer(this.PORTLET_TYPES[i]['typeid']);if(portlet!=null){this.deletePortlet(portlet);}}}
for(var i=0;i<this.PORTLET_TYPES.length;i++){eval('checkbox = data.'+'checkbox'+i);if(checkbox){if(this.isInContainer(this.PORTLET_TYPES[i]['typeid'])==false){this.addPortlet(this.PORTLET_TYPES[i]['typeid']);}}}};naviki.main.portlets.Container.prototype.getPortletFromContainer=function(typeid){for(var i=0;i<this.portlets.length;i++){if(this.portlets[i].getType()==typeid){return this.portlets[i];}}
return null;};naviki.main.portlets.Container.prototype.isInContainer=function(typeid){for(var i=0;i<this.portlets.length;i++){if(this.portlets[i].getType()==typeid){return true;}}
return false;};naviki.main.portlets.Container.prototype.handleAddDialogOk=function(o){this.portletcontainer.addDialog.hide();this.portletcontainer.addNewPortlets(this.getData());};naviki.main.portlets.Container.prototype.handleAddDialogCancel=function(o){this.portletcontainer.addDialog.hide();};naviki.main.portlets.Container.prototype.initialize=function(){this.containerregion=YAHOO.util.Dom.getRegion(this.containerid);this.portlets=[];var TEXT_ADD_WIDGET=naviki.Lang.getLL('portletsAddPortlet');this.PORTLET_TYPES=[];this.PORTLET_TYPES[this.PORTLET_TYPES.length]={name:naviki.Lang.getLL('portletsMyWays'),classname:"MyWaysPortlet",typeid:1001};this.PORTLET_TYPES[this.PORTLET_TYPES.length]={name:naviki.Lang.getLL('portletsMyLongestWays'),classname:"MyLongestWaysPortlet",typeid:1002};this.PORTLET_TYPES[this.PORTLET_TYPES.length]={name:naviki.Lang.getLL('portletsMyPrivateWays'),classname:"MyPrivateWaysPortlet",typeid:1007};this.PORTLET_TYPES[this.PORTLET_TYPES.length]={name:naviki.Lang.getLL('portletsMyBestWays'),classname:"MyBestRatedWaysPortlet",typeid:1010};this.PORTLET_TYPES[this.PORTLET_TYPES.length]={name:naviki.Lang.getLL('portletsMyPublicWays'),classname:"MyPublicWaysPortlet",typeid:1011};this.PORTLET_TYPES[this.PORTLET_TYPES.length]={name:naviki.Lang.getLL('portletsMyRoutingRequest'),classname:"MyRoutingRequestPortlet",typeid:1012};this.PORTLET_TYPES[this.PORTLET_TYPES.length]={name:naviki.Lang.getLL('portletsLongestWays'),classname:"LongestWaysPortlet",typeid:1003};this.PORTLET_TYPES[this.PORTLET_TYPES.length]={name:naviki.Lang.getLL('portletsHeighestWays'),classname:"HeighestWaysPortlet",typeid:1004};this.PORTLET_TYPES[this.PORTLET_TYPES.length]={name:naviki.Lang.getLL('portletsNewestWays'),classname:"NewestWaysPortlet",typeid:1006};this.PORTLET_TYPES[this.PORTLET_TYPES.length]={name:naviki.Lang.getLL('portletsMostExportedWays'),classname:"MostExportedWaysPortlet",typeid:1008};this.PORTLET_TYPES[this.PORTLET_TYPES.length]={name:naviki.Lang.getLL('portletsBestRatedWays'),classname:"BestRatedWaysPortlet",typeid:1009};this.PORTLET_TYPES[this.PORTLET_TYPES.length]={name:naviki.Lang.getLL('portletsUsersWithMostKMUploads'),classname:"UsersWithMostKMUploadsPortlet",typeid:1005};this.overlaymanager=new YAHOO.widget.OverlayManager();var addButton=new YAHOO.widget.Button({label:TEXT_ADD_WIDGET,name:this.divid+".addButton",container:this.divid});addButton.on("click",this.onPortletAddClick);addButton.portletContainer=this;this.layout=new naviki.main.portlets.LayoutColumns({containerid:this.containerid,container:this,columns:2});this.loadPortlets();};;

naviki.main.portlets.AbstractPortlet=function(config){this.config=config;this.type=this.config['type'];this.lpUID=this.config['lpUID'];this.pageID=this.config['pageID'];this.dburl='index.php?eID=tx_naviki_pi_portlets&actionId=';var panelconfig={width:""+this.config['width']+"px",visible:true,draggable:true,close:true,constraintoviewport:false,underlay:"none"};this.panelname=this.config['containerid']+'.portlet.nr.'+new Date().valueOf();YAHOO.widget.Panel.superclass.constructor.call(this,this.panelname,panelconfig);this.x=-1;this.y=-1;this.dbid=-1;this.minimized=0;this.myDTDrags=new Array();eventMgr.updatePortlet.subscribe(this.updatePortlet,this);eventMgr.updateWidth.subscribe(this.updateWidth,this);this.initialize();};naviki.main.portlets.AbstractPortlet.prototype.setDBID=function(dbid){this.dbid=dbid;};naviki.main.portlets.AbstractPortlet.prototype.getXMatrixPosition=function(){return this.x;};naviki.main.portlets.AbstractPortlet.prototype.getYMatrixPosition=function(){return this.y;};naviki.main.portlets.AbstractPortlet.prototype.setXMatrixPosition=function(x){this.x=x;};naviki.main.portlets.AbstractPortlet.prototype.setYMatrixPosition=function(y){this.y=y;};naviki.main.portlets.AbstractPortlet.prototype.setMinimized=function(minimized){this.minimized=minimized;};naviki.main.portlets.AbstractPortlet.prototype.getType=function(){return this.type;};naviki.main.portlets.AbstractPortlet.prototype.updatePositionInLayout=function(x,y){this.x=x;this.y=y;this.save();};naviki.main.portlets.AbstractPortlet.prototype.onSaveSuccess=function(o){var result=YAHOO.lang.JSON.parse(o.responseText);var me=o.argument[0];if(result['STATE']=="OK"){}else{alert("Fehler: "+result['ERROR_TEXT']);}};naviki.main.portlets.AbstractPortlet.prototype.onSaveFail=function(){alert("Ein Fehler ist aufgetreten.");};naviki.main.portlets.AbstractPortlet.prototype.save=function(){var address="index.php?eID=tx_naviki_pi_portlets&actionId=updatePortlet"+"&x="+this.x+"&y="+this.y+"&uid="+this.dbid+"&minimized="+this.minimized;var getXML=YAHOO.util.Connect.asyncRequest("GET",address,{success:this.onSaveSuccess,failure:this.onSaveFail,argument:[this],cache:true});};naviki.main.portlets.AbstractPortlet.prototype.getPageID=function(){return this.config['portletcontainer'].config['pageId'];};naviki.main.portlets.AbstractPortlet.prototype.onHiding=function(type,e,me){this.config['portletcontainer'].deletePortlet(this);return;};naviki.main.portlets.AbstractPortlet.prototype.onDragging=function(type,e,me){this.logger.log("E: "+e+" e[0]: "+e[0],"debug");if(e[0]=="startDrag"){this.container.style.position="absolute";this.container.style.zIndex=naviki.main.Util.bringToTop();return;}
if(e[0]=="endDrag"){this.config['portletcontainer'].onPortletEndDrag(this);this.container.style.zIndex=naviki.main.Util.bringToTop();return;}};naviki.main.portlets.AbstractPortlet.prototype.getPanelContainer=function(){return this.container;};naviki.main.portlets.AbstractPortlet.prototype.getX=function(){return YAHOO.util.Dom.getRegion(this.container.id).left;};naviki.main.portlets.AbstractPortlet.prototype.getY=function(){return YAHOO.util.Dom.getRegion(this.container.id).top;};naviki.main.portlets.AbstractPortlet.prototype.render=function(con){naviki.main.portlets.AbstractPortlet.superclass.render.call(this,con);var id_con=this.id+"_c";this.container=document.getElementById(id_con);this.container.style.position="static";};naviki.main.portlets.AbstractPortlet.prototype.initialize=function(){this.logger=new YAHOO.widget.LogWriter("AbstractPortlet");this.logger.log("Init: ","debug");this.dragEvent.subscribe(this.onDragging,"");this.hideEvent.subscribe(this.onHiding,"");this.oDataSource=new YAHOO.util.DataSource(this.dburl);this.oDataSource.responseType=YAHOO.util.DataSource.TYPE_JSON;this.oDataSource.connXhrMode="queueRequests";this.oDataSource.responseSchema={resultsList:'RESULTVALUE.RESULTLIST',fields:this.fields,metaFields:{totalRecords:"RESULTVALUE.TOTALRECORDS"}};this.aColumnDefs=[{key:"uid",label:"",formatter:this.formatTableRow}];if(this.garbage==true){var garbage='<div class="tx-naviki-pi-portlets-garbage paginator_garbage_'+this.type+'"></div>';}else{garbage="";}
this.oConfigs={paginator:new YAHOO.widget.Paginator({template:'<div style="width: 100%">'+'<table style="width: 100%; text-align: center"><tr style="text-align: center">'+'<td class="paginator_prevlinks_'+this.type+'">{PreviousPageLink}</td>'+'<td class="paginator_pagelinks_'+this.type+'" style="width: 100%; text-align: center">{PageLinks}</td>'+'<td class="paginator_nextlinks_'+this.type+'"><table><tr><td>'+garbage+'</td><td>{NextPageLink}</td></tr></table></td>'+'</tr></table>'+'</div>',rowsPerPage:5,previousPageLinkLabel:"&#9668;",nextPageLinkLabel:"&#9658;",alwaysVisible:false}),initialRequest:"sort=id&dir=asc&startIndex=0&results=5",dynamicData:true,MSG_ERROR:naviki.Lang.getLL('yui_dataTable_msg_error'),MSG_EMPTY:naviki.Lang.getLL('yui_dataTable_msg_empty'),MSG_LOADING:"<div><img src='"+naviki.Util.FILEADMIN_PATH+"img/ajax-loader-2.gif'/></div>"};this.oConfigs.paginator.subscribe('render',this.updatePagination);this.oConfigs.paginator.subscribe('render',this.addDDRow);this.oConfigs.paginator.myObj=this;this.tablediv=document.createElement("div");this.setBody(this.tablediv);this.oDataTable=new YAHOO.widget.DataTable(this.tablediv,this.aColumnDefs,this.oDataSource,this.oConfigs);this.oDataTable.getColumn(0).naviki_pi_portlet=this;this.setHeader(this.headerName);this.oDataTable.handleDataReturnPayload=function(oRequest,oResponse,oPayload){if(typeof oPayload!="undefined"){oPayload.totalRecords=oResponse.meta.totalRecords;return oPayload;}else{return oResponse;}};this.oDataTable.subscribe('renderEvent',this.addDDRow);this.oDataTable.subscribe('renderEvent',this.updatePagination);this.oDataTable.myObj=this;};naviki.main.portlets.AbstractPortlet.prototype.updatePagination=function(){var links=YAHOO.util.Dom.getElementsByClassName("paginator_pagelinks_"+this.myObj.type)[0];var prev=YAHOO.util.Dom.getElementsByClassName("paginator_prevlinks_"+this.myObj.type)[0];var next=YAHOO.util.Dom.getElementsByClassName("paginator_nextlinks_"+this.myObj.type)[0];var garbage=YAHOO.util.Dom.getElementsByClassName("paginator_garbage_"+this.myObj.type)[0];if(garbage!=null){YAHOO.util.Dom.setStyle(garbage,"display","none");}
if(links!=null){var regionLinks=YAHOO.util.Dom.getRegion(links);var ankers=links.getElementsByTagName("a");var count=1;var offset=0;if(prev!=null&&next!=null){var regionnext=YAHOO.util.Dom.getRegion(prev);var regionprev=YAHOO.util.Dom.getRegion(next);offset=regionnext.width+regionprev.width;}
while((regionLinks.width+offset)>this.myObj.config['width']){YAHOO.util.Dom.setStyle(ankers[count-1],"display","none");regionLinks=YAHOO.util.Dom.getRegion(links);if((regionLinks.width+offset)>this.myObj.config['width']){YAHOO.util.Dom.setStyle(ankers[ankers.length-count],"display","none");regionLinks=YAHOO.util.Dom.getRegion(links);}
count++;}}};naviki.main.portlets.AbstractPortlet.prototype.addDDRow=function(){if(this.myObj.garbage==true){var i,id,wayid;var allRows=this.myObj.oDataTable.getTbodyEl().rows;var records=this.myObj.oDataTable.getRecordSet().getRecords();for(i=0;i<allRows.length;i++){wayid=records[records.length-allRows.length+i].getData("uid");id=allRows[i].id;if(this.myObj.myDTDrags[id]){this.myObj.myDTDrags[id].unreg();delete this.myObj.myDTDrags[id];}
this.myObj.myDTDrags[id]=new naviki.main.portlets.DDobject(id,null,{lpUID:this.myObj.lpUID,pageID:this.myObj.pageID,wayID:wayid,type:this.myObj.type});this.myObj.myDTDrags[id].setHandleElId("portlets_handle_"+wayid);}}};naviki.main.portlets.AbstractPortlet.prototype.updatePortlet=function(type,e,me){var callback={success:function(){this.onDataReturnReplaceRows.apply(this,arguments);},failure:function(){this.onDataReturnReplaceRows.apply(this,arguments);},scope:me.oDataTable,cache:true};var startIndex=0;var records=me.oDataTable.getRecordSet();for(var i=0;i<records.getLength();i++){if(parseInt(records.getRecord(i).getData('uid'))==parseInt(e[0])){startIndex=me.oConfigs.paginator.getStartIndex();me.oDataSource.sendRequest("sort=id&dir=asc&startIndex="+startIndex+"&results=5",callback);break;}}};naviki.main.portlets.AbstractPortlet.prototype.updateWidth=function(type,e,me){me.getPanelContainer().style.width=e[0]+"px";document.getElementById(me.panelname).style.width=e[0]+"px";};;

naviki.main.portlets.AbstractLayout=function(config){this.config=config;};naviki.main.portlets.AbstractLayout.prototype.initialize=function(){};;

naviki.main.portlets.LayoutColumns=function(config){this.constructor.superclass.constructor.call(this,config);this.columns=this.config['columns'];if(this.columns==null){this.columns=4;}
eventMgr.onWindowResize.subscribe(this.onResize,this);this.initialize();};naviki.main.portlets.LayoutColumns.prototype.updatePortletPositions=function(){var container=this.config['container'];var portlet=null;for(var i=0;i<container.portlets.length;i++){portlet=container.portlets[i];this.updatePortletPosition(portlet);}};naviki.main.portlets.LayoutColumns.prototype.updatePortletPosition=function(portlet){var panelelementid=portlet.getPanelContainer().id;var div=null;var children=null;for(var i=0;i<this.columns;i++){div=this.divs[i];children=div.childNodes;for(var j=0;j<children.length;j++){if(children[j].id==panelelementid){portlet.updatePositionInLayout(i,j);}}}};naviki.main.portlets.LayoutColumns.prototype.getPortletWidth=function(){return this.onediv;};naviki.main.portlets.LayoutColumns.prototype.getContainerID=function(){return this.divs[0].id;};naviki.main.portlets.LayoutColumns.prototype.addNewPortlet=function(portlet){var x=0;var y=0;var region;var minbottom=9999999;for(var i=0;i<this.divs.length;i++){region=YAHOO.util.Dom.getRegion(this.divs[i].id);if(region.bottom<minbottom){x=i;minbottom=region.bottom;}}
y=this.divs[x].childNodes.length;portlet.render(this.divs[x].id);portlet.updatePositionInLayout(x,y);};naviki.main.portlets.LayoutColumns.prototype.placePortlet=function(portlet){var x=portlet.getX()+(Math.floor(this.onediv/2));var y=portlet.getY();var index=-1;var region=YAHOO.util.Dom.getRegion(this.divs[0]);for(i=0;i<this.columns;i++){var xdiv=region.left+(i*this.onediv);var wxdiv=region.left+(i*this.onediv)+this.onediv;if((x>=xdiv)&&(x<=wxdiv)){index=i;}}
if(index<0){if(x<xdiv){index=0;}else{index=this.columns-1;}}
var rowindex=0;var correction=0;if(this.divs[index].hasChildNodes()){var children=this.divs[index].childNodes;for(i=0;i<children.length;i++){var node=children[i];if(node.style.position=="static"){var noderegion=YAHOO.util.Dom.getRegion(node);if(noderegion.top<y){rowindex=i+1-correction;}}else{correction++;}}}
portlet.render(this.divs[index].id);if(this.divs[index].childNodes.length>1){if(rowindex!=this.divs[index].childNodes.length-1){this.divs[index].insertBefore(this.divs[index].childNodes[this.divs[index].childNodes.length-1],this.divs[index].childNodes[rowindex]);}}
this.updatePortletPositions();};naviki.main.portlets.LayoutColumns.prototype.placeAllPortlets=function(){var portlet=null;for(var i=0;i<this.config['container'].portlets.length;i++){portlet=this.config['container'].portlets[i];portlet.render(this.divs[portlet.getXMatrixPosition()]);}};naviki.main.portlets.LayoutColumns.prototype.initialize=function(){naviki.main.portlets.LayoutColumns.superclass.initialize.call(this);this.containerregion=YAHOO.util.Dom.getRegion(this.config['containerid']);this.width=this.containerregion.right-this.containerregion.left;this.onediv=Math.floor((this.width-this.columns*20)/this.columns);var table=document.createElement("table");var thead=document.createElement("thead");var tbody=document.createElement("tbody");var tr=document.createElement("tr");var th=document.createElement("th");var td=document.createElement("td");YAHOO.util.Dom.setStyle(table,'width',"100%");var i=0;for(i=0;i<this.columns;i++){tr.appendChild(th);}
thead.appendChild(tr);table.appendChild(thead);tr=document.createElement("tr");this.divs=[];for(i=0;i<this.columns;i++){td=document.createElement("td");if(i==0){YAHOO.util.Dom.setAttribute(td,'align',"left");}else if((i+1)==this.columns){YAHOO.util.Dom.setAttribute(td,'align',"right");}else{YAHOO.util.Dom.setAttribute(td,'align',"center");}
YAHOO.util.Dom.setAttribute(td,'valign',"top");this.divs[i]=document.createElement("div");this.divs[i].id=this.config['containerid']+"_"+i;this.divs[i].style.position="static";this.divs[i].style.left=""+(i*this.onediv)+"px";this.divs[i].style.top="0px";this.divs[i].style.width=""+(this.onediv+5)+"px";td.appendChild(this.divs[i]);tr.appendChild(td);}
tbody.appendChild(tr);table.appendChild(tbody);document.getElementById(this.config['containerid']).appendChild(table);};naviki.main.portlets.LayoutColumns.prototype.onResize=function(type,e,me){var containerregion=YAHOO.util.Dom.getRegion(me.config['containerid']);var width=containerregion.right-containerregion.left;var onediv=Math.floor((width-me.columns*20)/me.columns);me.onediv=onediv;for(i=0;i<me.columns;i++){document.getElementById(me.config['containerid']+"_"+i).style.width=(onediv+5)+"px";document.getElementById(me.config['containerid']+"_"+i).style.left=(i*onediv)+"px";}
eventMgr.updateWidth.fire(onediv);};;

naviki.main.portlets.Util={formatContactRow:function(contact){var content="";var record=contact['record'];var img=record.getData('imagefileurl');var username='<a href="'+
contact['detailContactViewURL']+
record.getData('uid')+'">'+
record.getData('username')+'</a>'+'';var contactview='<a href="'+
contact['detailContactViewURL']+
record.getData('uid')+'">'+
img+'</a>'+'';var infoline="";if(contact['info']!=null){var infos=contact['info'];var key="";for(var i=0;i<infos.length;i++){key=infos[i];if(contact[key]!=null){if(infoline!=""){infoline+=', ';}
infoline+=contact[key];}}}
content='<div>';content+='<table class="portlets-way-table-data-table"><tr>';content+='<td style="width: 50%;padding-left:10px;padding-right:10px;">'+username+'</td>';content+='<td style="width: 50%;">'+infoline+'</td>';content+='<td style="padding:10px">'+contactview+'</td>';content+='</tr></table>';content+='</div>';return content;},formatWayRow:function(way){var content="";var record=way['record'];var title=record.getData('title');var img=record.getData('mediafileurl');var mapimg=record.getData('mapurl');var tstamp=naviki.main.Util.formatDate(record.getData('tstamp'));var wayview='<a href="'+
way['detailWayViewURL']+
record.getData('uid')+'">'+
title+'</a>'+'';var imageview='<a href="'+
way['detailWayViewURL']+
record.getData('uid')+'">'+
img+'</a>'+'';var mapview='<a href="'+
way['detailWayViewURL']+
record.getData('uid')+'">'+
mapimg+'</a>'+'';var km=record.getData('km');km=naviki.main.Util.formatNumber(naviki.main.Util.round(km,2));var infoline="";if(way['info']!=null){var infos=way['info'];var key="";for(var i=0;i<infos.length;i++){key=infos[i];if(way[key]!=null){infoline+=way[key];infoline+=', ';}}}
infoline+=km+" km, "+tstamp;if(typeof record.getData("highlighted_kmlfile_rel_path")!="undefined"){var file=record.getData("highlighted_kmlfile_rel_path");var pos=file.lastIndexOf("_");file=file.substr(0,pos);content='<div class="portlets-way-table-data-table" onmouseover="eventMgr.addHighlightOverlay.fire(\''+file+'\');" onmouseout="eventMgr.removeHighlightOverlay.fire();">';}else{content='<div>';}
content+='<div class="portlets-way-table-data-table">';content+='<table border="0" cellspacing="0" cellpadding="0">';content+='<tr>';content+='<td style="padding-right:10px;padding-left:10px;width:75px;">'+mapview+'</td>';content+='<td>';content+='<table>';content+='<tr>';content+='<td>'+wayview+'</td>';content+='</tr>';content+='<tr>';content+='<td>'+infoline+'</td>';content+='</tr>';content+='</table>';content+='</td>';content+='<td style="padding-left:10px;padding-right:10px;width:75px;">'+imageview+'</td>';content+='</tr>';content+='</table>';content+='</div>';content+='</div>';return content;},formatWayRowWithHandle:function(way){var content="";var record=way['record'];var title=record.getData('title');var img=record.getData('mediafileurl');var mapimg=record.getData('mapurl');var tstamp=naviki.main.Util.formatDate(record.getData('tstamp'));var wayview='<a href="'+
way['detailWayViewURL']+
record.getData('uid')+'">'+
title+'</a>'+'';var imageview='<a href="'+
way['detailWayViewURL']+
record.getData('uid')+'">'+
img+'</a>'+'';var mapview='<a href="'+
way['detailWayViewURL']+
record.getData('uid')+'">'+
mapimg+'</a>'+'';var km=record.getData('km');km=naviki.main.Util.formatNumber(naviki.main.Util.round(km,2));var infoline="";if(way['info']!=null){var infos=way['info'];var key="";for(var i=0;i<infos.length;i++){key=infos[i];if(way[key]!=null){infoline+=way[key];infoline+=', ';}}}
infoline+=km+" km, "+tstamp;content='<div class="portlets-way-table-data-table-width-handle">';content+='<div id="portlets_handle_'+record.getData('uid')+'" class="tx-naviki-pi-portlets-handle"></div><div style="clear:right;"></div>';content+='<table border="0" cellspacing="0" cellpadding="0"><tr>';content+='<td style="padding-left:10px;padding-right:10px;width:75px;">'+mapview+'</td>';content+='<td>';content+='<table>';content+='<tr>';content+='<td>'+wayview+'</td>';content+='</tr>';content+='<tr>';content+='<td>'+infoline+'</td>';content+='</tr>';content+='</table>';content+='</td>';content+='<td style="padding-left:10px;padding-right:10px;width:75px;">'+imageview+'</td>';content+='</tr>';content+='</table>';content+='</div>';return content;}};;

naviki.main.portlets.DDobject=function(id,sGroup,config){naviki.main.portlets.DDobject.superclass.constructor.apply(this,arguments);this.lpUID=config['lpUID'];this.pageID=config['pageID'];this.wayID=config['wayID'];this.type=config['type'];this.mouseX;this.mouseY;var myObj=this;YAHOO.util.Event.on(document,'mousemove',function(e){if(document.all){myObj.mouseX=window.event.clientX+document.documentElement.scrollLeft;myObj.mouseY=window.event.clientY+document.documentElement.scrollTop;}else{myObj.mouseX=e.pageX;myObj.mouseY=e.pageY;}});};naviki.main.portlets.DDobject.prototype.startDrag=function(x,y){var Dom=YAHOO.util.Dom;var dragEl=this.getDragEl();var clickEl=this.getEl();dragEl.innerHTML=clickEl.innerHTML;dragEl.className=clickEl.className;Dom.setStyle(clickEl,"opacity",0.5);Dom.setStyle(dragEl,"background-color","#ffffff");};naviki.main.portlets.DDobject.prototype.endDrag=function(e){YAHOO.util.Dom.setStyle(this.getEl(),"opacity",1);var garbage=YAHOO.util.Dom.getElementsByClassName("paginator_garbage_"+this.type)[1];var regionB=YAHOO.util.Dom.getRegion(garbage);if(this.mouseX>regionB.left&&this.mouseX<regionB.right&&this.mouseY>regionB.top&&this.mouseY<regionB.bottom){this.deleteWay();}
this.mouseX=0;this.mouseY=0;};naviki.main.portlets.DDobject.prototype.onDrag=function(e){};naviki.main.portlets.DDobject.prototype.deleteWay=function(){var myObj=this;var address="index.php?eID=tx_naviki_pi_way&actionId=deleteWay&wayUid="+this.wayID+"&lpUid="+this.lpUID+"&outputType=json";var oCallback={success:function(o){var response=YAHOO.lang.JSON.parse(o.responseText);if(response['STATE']=="OK"){eventMgr.updatePortlet.fire(myObj.wayID);}},failure:function(o){alert("Sorry, no data found for that address!\n Here is the response: "+o);},cache:false};var getXML=YAHOO.util.Connect.asyncRequest("GET",address,oCallback);};;

naviki.main.portlets.MyWaysPortlet=function(config){this.constructor.superclass.constructor.call(this,config);};naviki.main.portlets.MyWaysPortlet.prototype.formatTableRow=function(elCell,oRecord,oColumn,sData){elCell.innerHTML=naviki.main.portlets.Util.formatWayRowWithHandle({record:oRecord,detailWayViewURL:oColumn.naviki_pi_portlet.config['portletcontainer'].config['detailWayViewURL']});};naviki.main.portlets.MyWaysPortlet.prototype.initialize=function(){this.garbage=true;this.fields=["number","uid","title","tstamp","mediafileurl","mapurl","km"];this.headerName=naviki.Lang.getLL('portletsMyWays');this.dburl=this.dburl+"getMyWays&pageid="+this.getPageID()+"&";naviki.main.portlets.MyWaysPortlet.superclass.initialize.call(this);};;

naviki.main.portlets.MyLongestWaysPortlet=function(config){this.constructor.superclass.constructor.call(this,config);};naviki.main.portlets.MyLongestWaysPortlet.prototype.formatTableRow=function(elCell,oRecord,oColumn,sData){elCell.innerHTML=naviki.main.portlets.Util.formatWayRowWithHandle({record:oRecord,detailWayViewURL:oColumn.naviki_pi_portlet.config['portletcontainer'].config['detailWayViewURL']});};naviki.main.portlets.MyLongestWaysPortlet.prototype.initialize=function(){this.garbage=true;this.fields=["number","uid","title","tstamp","mediafileurl","mapurl","km"];this.headerName=naviki.Lang.getLL('portletsMyLongestWays');this.dburl=this.dburl+"getMyLongestWays&pageid="+this.getPageID()+"&";naviki.main.portlets.MyLongestWaysPortlet.superclass.initialize.call(this);};;

naviki.main.portlets.LongestWaysPortlet=function(config){this.constructor.superclass.constructor.call(this,config);};naviki.main.portlets.LongestWaysPortlet.prototype.formatTableRow=function(elCell,oRecord,oColumn,sData){elCell.innerHTML=naviki.main.portlets.Util.formatWayRow({record:oRecord,detailWayViewURL:oColumn.naviki_pi_portlet.config['portletcontainer'].config['detailWayViewURL']});};naviki.main.portlets.LongestWaysPortlet.prototype.initialize=function(){this.garbage=false;this.fields=["number","uid","title","tstamp","mediafileurl","mapurl","km"];this.headerName=naviki.Lang.getLL('portletsLongestWays');this.dburl=this.dburl+"getLongestWays&pageid="+this.getPageID()+"&";naviki.main.portlets.LongestWaysPortlet.superclass.initialize.call(this);};;

naviki.main.portlets.HeighestWaysPortlet=function(config){this.constructor.superclass.constructor.call(this,config);};naviki.main.portlets.HeighestWaysPortlet.prototype.formatTableRow=function(elCell,oRecord,oColumn,sData){elCell.innerHTML=naviki.main.portlets.Util.formatWayRow({record:oRecord,info:['heightmax'],heightmax:naviki.main.Util.formatNumber(naviki.main.Util.round(oRecord.getData("heightmax"),1))+" m",detailWayViewURL:oColumn.naviki_pi_portlet.config['portletcontainer'].config['detailWayViewURL']});};naviki.main.portlets.HeighestWaysPortlet.prototype.initialize=function(){this.garbage=false;this.fields=["number","uid","title","tstamp","mediafileurl","mapurl","km","heightmax"];this.headerName=naviki.Lang.getLL('portletsHeighestWays');this.dburl=this.dburl+"getHeighestWays&pageid="+this.getPageID()+"&";naviki.main.portlets.HeighestWaysPortlet.superclass.initialize.call(this);};;

naviki.main.portlets.UsersWithMostKMUploadsPortlet=function(config){this.constructor.superclass.constructor.call(this,config);};naviki.main.portlets.UsersWithMostKMUploadsPortlet.prototype.formatTableRow=function(elCell,oRecord,oColumn,sData){elCell.innerHTML=naviki.main.portlets.Util.formatContactRow({record:oRecord,detailContactViewURL:oColumn.naviki_pi_portlet.config['portletcontainer'].config['detailContactViewURL'],kmtotal:naviki.main.Util.formatNumber(naviki.main.Util.round(oRecord.getData("kmtotal"),2))+" km",info:["kmtotal"]});};naviki.main.portlets.UsersWithMostKMUploadsPortlet.prototype.initialize=function(){this.garbage=false;this.fields=["number","uid","username","kmtotal","imagefileurl"];this.headerName=naviki.Lang.getLL('portletsUsersWithMostKMUploads');this.dburl=this.dburl+"getUsersWithMostKMUploads&pageid="+this.getPageID()+"&";naviki.main.portlets.UsersWithMostKMUploadsPortlet.superclass.initialize.call(this);};;

naviki.main.portlets.NewestWaysPortlet=function(config){this.constructor.superclass.constructor.call(this,config);};naviki.main.portlets.NewestWaysPortlet.prototype.formatTableRow=function(elCell,oRecord,oColumn,sData){elCell.innerHTML=naviki.main.portlets.Util.formatWayRow({record:oRecord,detailWayViewURL:oColumn.naviki_pi_portlet.config['portletcontainer'].config['detailWayViewURL']});};naviki.main.portlets.NewestWaysPortlet.prototype.initialize=function(){this.garbage=false;this.fields=["number","uid","title","tstamp","mediafileurl","mapurl","km"];this.headerName=naviki.Lang.getLL('portletsNewestWays');this.dburl=this.dburl+"getNewestWays&pageid="+this.getPageID()+"&";naviki.main.portlets.NewestWaysPortlet.superclass.initialize.call(this);};;

naviki.main.portlets.MyPrivateWaysPortlet=function(config){this.constructor.superclass.constructor.call(this,config);};naviki.main.portlets.MyPrivateWaysPortlet.prototype.formatTableRow=function(elCell,oRecord,oColumn,sData){elCell.innerHTML=naviki.main.portlets.Util.formatWayRowWithHandle({record:oRecord,detailWayViewURL:oColumn.naviki_pi_portlet.config['portletcontainer'].config['detailWayViewURL']});};naviki.main.portlets.MyPrivateWaysPortlet.prototype.initialize=function(){this.garbage=true;this.fields=["number","uid","title","tstamp","mediafileurl","mapurl","km"];this.headerName=naviki.Lang.getLL('portletsMyPrivateWays');this.dburl=this.dburl+"getMyPrivateWays&pageid="+this.getPageID()+"&";naviki.main.portlets.MyPrivateWaysPortlet.superclass.initialize.call(this);};;

naviki.main.portlets.MostExportedWaysPortlet=function(config){this.constructor.superclass.constructor.call(this,config);};naviki.main.portlets.MostExportedWaysPortlet.prototype.formatTableRow=function(elCell,oRecord,oColumn,sData){elCell.innerHTML=naviki.main.portlets.Util.formatWayRow({record:oRecord,detailWayViewURL:oColumn.naviki_pi_portlet.config['portletcontainer'].config['detailWayViewURL']});};naviki.main.portlets.MostExportedWaysPortlet.prototype.initialize=function(){this.garbage=false;this.fields=["number","uid","title","tstamp","mediafileurl","mapurl","km"];this.headerName=naviki.Lang.getLL('portletsMostExportedWays');this.dburl=this.dburl+"getMostExportedWays&pageid="+this.getPageID()+"&";naviki.main.portlets.MostExportedWaysPortlet.superclass.initialize.call(this);};;

naviki.main.portlets.BestRatedWaysPortlet=function(config){this.constructor.superclass.constructor.call(this,config);};naviki.main.portlets.BestRatedWaysPortlet.prototype.formatTableRow=function(elCell,oRecord,oColumn,sData){elCell.innerHTML=naviki.main.portlets.Util.formatWayRow({record:oRecord,detailWayViewURL:oColumn.naviki_pi_portlet.config['portletcontainer'].config['detailWayViewURL']});};naviki.main.portlets.BestRatedWaysPortlet.prototype.initialize=function(){this.garbage=false;this.fields=["number","uid","title","tstamp","mediafileurl","mapurl","km"];this.headerName=naviki.Lang.getLL('portletsBestRatedWays');this.dburl=this.dburl+"getBestRatedWays&pageid="+this.getPageID()+"&";naviki.main.portlets.BestRatedWaysPortlet.superclass.initialize.call(this);};;

naviki.main.portlets.MyBestRatedWaysPortlet=function(config){this.constructor.superclass.constructor.call(this,config);};naviki.main.portlets.MyBestRatedWaysPortlet.prototype.formatTableRow=function(elCell,oRecord,oColumn,sData){elCell.innerHTML=naviki.main.portlets.Util.formatWayRowWithHandle({record:oRecord,detailWayViewURL:oColumn.naviki_pi_portlet.config['portletcontainer'].config['detailWayViewURL']});};naviki.main.portlets.MyBestRatedWaysPortlet.prototype.initialize=function(){this.garbage=true;this.fields=["number","uid","title","tstamp","mediafileurl","mapurl","km"];this.headerName=naviki.Lang.getLL('portletsMyBestWays');this.dburl=this.dburl+"getMyBestRatedWays&pageid="+this.getPageID()+"&";naviki.main.portlets.MyBestRatedWaysPortlet.superclass.initialize.call(this);};;

naviki.main.portlets.MyPublicWaysPortlet=function(config){this.constructor.superclass.constructor.call(this,config);};naviki.main.portlets.MyPublicWaysPortlet.prototype.formatTableRow=function(elCell,oRecord,oColumn,sData){elCell.innerHTML=naviki.main.portlets.Util.formatWayRowWithHandle({record:oRecord,detailWayViewURL:oColumn.naviki_pi_portlet.config['portletcontainer'].config['detailWayViewURL']});};naviki.main.portlets.MyPublicWaysPortlet.prototype.initialize=function(){this.garbage=true;this.fields=["number","uid","title","tstamp","mediafileurl","mapurl","km"];this.headerName=naviki.Lang.getLL('portletsMyPublicWays');this.dburl=this.dburl+"getMyPublicWays&pageid="+this.getPageID()+"&";naviki.main.portlets.MyPublicWaysPortlet.superclass.initialize.call(this);};;

naviki.main.portlets.MyRoutingRequestPortlet=function(config){this.constructor.superclass.constructor.call(this,config);};naviki.main.portlets.MyRoutingRequestPortlet.prototype.formatTableRow=function(elCell,oRecord,oColumn,sData){elCell.innerHTML=naviki.main.portlets.Util.formatWayRowWithHandle({record:oRecord,detailWayViewURL:oColumn.naviki_pi_portlet.config['portletcontainer'].config['detailWayViewURL']});};naviki.main.portlets.MyRoutingRequestPortlet.prototype.initialize=function(){this.garbage=true;this.fields=["number","uid","title","tstamp","mediafileurl","mapurl","km"];this.headerName=naviki.Lang.getLL('portletsMyRoutingRequest');this.dburl=this.dburl+"getMyRoutingRequest&pageid="+this.getPageID()+"&";naviki.main.portlets.MyRoutingRequestPortlet.superclass.initialize.call(this);};;

naviki.main.Diashow=function(config){this.containerId=config.containerId;this.images=config.images;this.imagePath=config.imagePath;this.intervalCount=config.intervalCount;this.headerLabel=config.headerLabel;this.dialogId=this.generateDialogId();this.dialog=null;this.interval=null;this.play=false;this.initDialog();};naviki.main.Diashow.prototype.show=function(image){var imageContainer=document.getElementById(this.dialogId+"-images");var imageElements=imageContainer.getElementsByTagName("img");for(var i=0;i<imageElements.length;i++){if(imageElements[i].id!=(this.dialogId+"-"+image)){YAHOO.util.Dom.setStyle(imageElements[i],'display',"none");YAHOO.util.Dom.setStyle(imageElements[i],'opacity',"none");}else{YAHOO.util.Dom.setStyle(imageElements[i],'display',"");}}
this.dialog.show();};naviki.main.Diashow.prototype.generateDialogId=function(){var element;var index=0;do{index++;element=document.getElementById(this.containerId+"-diashow-"+index);}while(element!=null);return(this.containerId+"-diashow-"+index);};naviki.main.Diashow.prototype.initDialog=function(){var container=document.getElementById(this.containerId);var dialogDiv=document.createElement("div");dialogDiv.id=this.dialogId;container.appendChild(dialogDiv);this.dialog=new naviki.main.ModalDialog(dialogDiv.id,{width:"850px",height:"650px",fixedcenter:true,visible:false,modal:true,draggable:true,zindex:4,close:true,constraintoviewport:true});var html="<div id='"+this.dialogId+"-images' class='diashow'>";for(var i=0;i<this.images.length;i++){if(i==0){html+="<img id='"+this.dialogId+"-"+this.images[i]+"' />";}else{html+="<img style='display:none;' id='"+this.dialogId+"-"+this.images[i]+"' />";}}
html+="</div>";this.dialog.setHeader(this.headerLabel);this.dialog.setBody(html);this.dialog.render();var imageloader=new YAHOO.util.ImageLoader.group(document,'mousemove');for(var i=0;i<this.images.length;i++){imageloader.registerSrcImage(this.dialogId+"-"+this.images[i],this.imagePath+this.images[i],800,600);}
imageloader.foldConditional=true;var element=document.getElementById(this.dialogId);var prev=document.createElement("div");var next=document.createElement("div");var play=document.createElement("div");element.appendChild(prev);element.appendChild(play);element.appendChild(next);YAHOO.util.Dom.setStyle(prev,'width',"18px");YAHOO.util.Dom.setStyle(prev,'height',"18px");YAHOO.util.Dom.setStyle(prev,'position',"absolute");YAHOO.util.Dom.setStyle(prev,'top',"4px");YAHOO.util.Dom.setStyle(prev,'left',"390px");YAHOO.util.Dom.setStyle(prev,'cursor',"pointer");YAHOO.util.Dom.setStyle(prev,'background',"url('/typo3conf/ext/naviki/fileadmin/img/sprite.gif') no-repeat scroll 0 -3530px transparent");YAHOO.util.Dom.setStyle(play,'width',"18px");YAHOO.util.Dom.setStyle(play,'height',"18px");YAHOO.util.Dom.setStyle(play,'position',"absolute");YAHOO.util.Dom.setStyle(play,'top',"4px");YAHOO.util.Dom.setStyle(play,'left',"415px");YAHOO.util.Dom.setStyle(play,'cursor',"pointer");YAHOO.util.Dom.setStyle(play,'background',"url('/typo3conf/ext/naviki/fileadmin/img/sprite.gif') no-repeat scroll 0 -3560px transparent");YAHOO.util.Dom.setStyle(next,'width',"18px");YAHOO.util.Dom.setStyle(next,'height',"18px");YAHOO.util.Dom.setStyle(next,'position',"absolute");YAHOO.util.Dom.setStyle(next,'top',"4px");YAHOO.util.Dom.setStyle(next,'left',"440px");YAHOO.util.Dom.setStyle(next,'cursor',"pointer");YAHOO.util.Dom.setStyle(next,'background',"url('/typo3conf/ext/naviki/fileadmin/img/sprite.gif') no-repeat scroll 0 -3500px transparent");var myObj=this;YAHOO.util.Event.on(next,'click',function(){if(myObj.play!=true){myObj.nextImage();}});YAHOO.util.Event.on(prev,'click',function(){if(myObj.play!=true){myObj.prevImage();}});YAHOO.util.Event.on(play,'click',function(){if(myObj.play==false){YAHOO.util.Dom.setStyle(this,'background',"url('/typo3conf/ext/naviki/fileadmin/img/sprite.gif') no-repeat scroll 0 -3590px transparent");myObj.play=true;myObj.playDiashow();}else{YAHOO.util.Dom.setStyle(this,'background',"url('/typo3conf/ext/naviki/fileadmin/img/sprite.gif') no-repeat scroll 0 -3560px transparent");myObj.play=false;myObj.stopDiashow();}});this.dialog.hideMaskEvent.subscribe(function(){if(myObj.interval!=null){YAHOO.util.Dom.setStyle(play,'background',"url('/typo3conf/ext/naviki/fileadmin/img/sprite.gif') no-repeat scroll 0 -3560px transparent");myObj.stopDiashow();myObj.play=false;}});};naviki.main.Diashow.prototype.nextImage=function(){var imageContainer=document.getElementById(this.dialogId+"-images");var imageElements=imageContainer.getElementsByTagName("img");var current,next;for(var i=0;i<imageElements.length;i++){if(YAHOO.util.Dom.getStyle(imageElements[i],'display')!='none'){break;}}
current=imageElements[i];if(i==(imageElements.length-1)){next=imageElements[0];}else{next=imageElements[i+1];}
YAHOO.util.Dom.setStyle(current,'display','none');YAHOO.util.Dom.setStyle(next,'display','');};naviki.main.Diashow.prototype.prevImage=function(){var imageContainer=document.getElementById(this.dialogId+"-images");var imageElements=imageContainer.getElementsByTagName("img");var current,next;for(var i=0;i<imageElements.length;i++){if(YAHOO.util.Dom.getStyle(imageElements[i],'display')!='none'){break;}}
current=imageElements[i];if(i==0){next=imageElements[imageElements.length-1];}else{next=imageElements[i-1];}
YAHOO.util.Dom.setStyle(current,'display','none');YAHOO.util.Dom.setStyle(next,'display','');};naviki.main.Diashow.prototype.changeImage=function(){var imageContainer=document.getElementById(this.dialogId+"-images");var imageElements=imageContainer.getElementsByTagName("img");var current,next;for(var i=0;i<imageElements.length;i++){if(YAHOO.util.Dom.getStyle(imageElements[i],'display')!='none'){break;}}
current=imageElements[i];if(i==(imageElements.length-1)){next=imageElements[0];}else{next=imageElements[i+1];}
var fadeOut=new YAHOO.util.Anim(current,{opacity:{from:1.0,to:0}},'1');fadeOut.animate();fadeOut.onComplete.subscribe(function(){YAHOO.util.Dom.setStyle(current,'display','none');YAHOO.util.Dom.setStyle(current,'opacity','1.0');YAHOO.util.Dom.setStyle(next,'display','');YAHOO.util.Dom.setStyle(next,'opacity','0');var fadeIn=new YAHOO.util.Anim(next,{opacity:{from:0,to:1.0}},'1');fadeIn.animate();});};naviki.main.Diashow.prototype.playDiashow=function(){window.dialogId=this.dialogId;this.interval=window.setInterval(this.changeImage,this.intervalCount);};naviki.main.Diashow.prototype.stopDiashow=function(){window.clearInterval(this.interval);this.interval=null;};;

naviki.main.Accommodation=function(config){this.cid=config['cid'];this.images=config['images'];this.config=config;this.diashow=null;this.initTabview();this.initRoomTable();this.initOpeningHoursTable();if(config['diashow']==true){this.initCarousel();this.initImageClick();}
if(config['booking']==true){window.setTimeout("eventMgr.showBooking.fire("+YAHOO.lang.JSON.stringify(config['uid'])+")",1000);}
window.setTimeout("eventMgr.showSmallMap.fire("+config['geom']+")",1000);window.setTimeout("eventMgr.showRoutingRequest.fire()",1000);window.setTimeout("eventMgr.moveRoutingMarker.fire(1,"+config['geom']+")",1000);};naviki.main.Accommodation.prototype.initTabview=function(){new YAHOO.widget.TabView(this.cid+"-tabview");};naviki.main.Accommodation.prototype.initCarousel=function(){var container=document.getElementById(this.cid+"-imagecontainer");if(container!=null&&this.images.length>0){YAHOO.util.Dom.setStyle(container,"display","");var carousel=new YAHOO.widget.Carousel(this.cid+"-imagecontainer",{numVisible:[3,1],animation:{speed:0.5}});carousel.render();carousel.show();}};naviki.main.Accommodation.prototype.initRoomTable=function(){if(document.getElementById(this.cid+"-roomcontainer")!=null){var myDataSource=new YAHOO.util.DataSource(YAHOO.util.Dom.get(this.cid+"-roomtable"));myDataSource.responseType=YAHOO.util.DataSource.TYPE_HTMLTABLE;myDataSource.responseSchema={fields:[{key:"roomType"},{key:"countBeds"},{key:"from"},{key:"to"}]};var myColumnDefs=[{key:"roomType",label:this.config['label_roomType']},{key:"countBeds",label:this.config['label_countBeds']},{key:"from",label:this.config['label_from']},{key:"to",label:this.config['label_to']}];var myDataTable=new YAHOO.widget.DataTable(this.cid+"-roomcontainer",myColumnDefs,myDataSource);myDataTable.render();}};naviki.main.Accommodation.prototype.initOpeningHoursTable=function(){if(document.getElementById(this.cid+"-openinghourscontainer")!=null){var myDataSource=new YAHOO.util.DataSource(YAHOO.util.Dom.get(this.cid+"-openinghourstable"));myDataSource.responseType=YAHOO.util.DataSource.TYPE_HTMLTABLE;myDataSource.responseSchema={fields:[{key:"dayname"},{key:"start"},{key:"end"}]};var myColumnDefs=[{key:"dayname",label:this.config['label_dayname']},{key:"start",label:this.config['label_start']},{key:"end",label:this.config['label_end']}];var myDataTable=new YAHOO.widget.DataTable(this.cid+"-openinghourscontainer",myColumnDefs,myDataSource);myDataTable.render();}};naviki.main.Accommodation.prototype.initImageClick=function(){var title=this.config['title'];var images=this.config['images'];var myObj=this;var image;if(images.length>0){var diashow=new naviki.main.Diashow({containerId:'naviki-dialogs',images:images,imagePath:'uploads/tx_naviki_domain_model_geoobject/',headerLabel:title,intervalCount:4000});for(var i=0;i<images.length;i++){image=document.getElementById(this.cid+"-"+images[i]);image.alt=images[i];YAHOO.util.Event.on(image,'click',function(){diashow.show(this.alt);});}}};;

naviki.main.Area=function(config){this.cid=config['cid'];this.images=config['images'];this.config=config;this.initTabview();this.initCarousel();this.initImageClick();};naviki.main.Area.prototype.initTabview=function(){new YAHOO.widget.TabView(this.cid+"-tabview");};naviki.main.Area.prototype.initCarousel=function(){if(document.getElementById(this.cid+"-imagecontainer")!=null){var carousel=new YAHOO.widget.Carousel(this.cid+"-imagecontainer",{numVisible:[3,1],animation:{speed:0.5}});carousel.render();carousel.show();}};naviki.main.Area.prototype.initImageClick=function(){var title=this.config['title'];var images=this.config['images'];var myObj=this;var image;if(images.length>0){var diashow=new naviki.main.Diashow({containerId:'naviki-dialogs',images:images,imagePath:'uploads/tx_naviki_domain_model_geoobject/',headerLabel:title,intervalCount:4000});for(var i=0;i<images.length;i++){image=document.getElementById(this.cid+"-"+images[i]);image.alt=images[i];YAHOO.util.Event.on(image,'click',function(){diashow.show(this.alt);});}}};;

naviki.main.Gastronomy=function(config){this.cid=config['cid'];this.images=config['images'];this.config=config;this.initTabview();this.initOpeningHoursTable();if(config['diashow']==true){this.initCarousel();this.initImageClick();}
window.setTimeout("eventMgr.showSmallMap.fire("+config['geom']+")",1000);window.setTimeout("eventMgr.showRoutingRequest.fire()",1000);window.setTimeout("eventMgr.moveRoutingMarker.fire(1,"+config['geom']+")",1000);};naviki.main.Gastronomy.prototype.initTabview=function(){new YAHOO.widget.TabView(this.cid+"-tabview");};naviki.main.Gastronomy.prototype.initCarousel=function(){var container=document.getElementById(this.cid+"-imagecontainer");if(container!=null&&this.images.length>0){YAHOO.util.Dom.setStyle(container,"display","");var carousel=new YAHOO.widget.Carousel(this.cid+"-imagecontainer",{numVisible:[3,1],animation:{speed:0.5}});carousel.render();carousel.show();}};naviki.main.Gastronomy.prototype.initOpeningHoursTable=function(){if(document.getElementById(this.cid+"-openinghourscontainer")!=null){var myDataSource=new YAHOO.util.DataSource(YAHOO.util.Dom.get(this.cid+"-openinghourstable"));myDataSource.responseType=YAHOO.util.DataSource.TYPE_HTMLTABLE;myDataSource.responseSchema={fields:[{key:"dayname"},{key:"start"},{key:"end"}]};var myColumnDefs=[{key:"dayname",label:this.config['label_dayname']},{key:"start",label:this.config['label_start']},{key:"end",label:this.config['label_end']}];var myDataTable=new YAHOO.widget.DataTable(this.cid+"-openinghourscontainer",myColumnDefs,myDataSource);myDataTable.render();}};naviki.main.Gastronomy.prototype.initImageClick=function(){var title=this.config['title'];var images=this.config['images'];var myObj=this;var image;if(images.length>0){var diashow=new naviki.main.Diashow({containerId:'naviki-dialogs',images:images,imagePath:'uploads/tx_naviki_domain_model_geoobject/',headerLabel:title,intervalCount:4000});for(var i=0;i<images.length;i++){image=document.getElementById(this.cid+"-"+images[i]);image.alt=images[i];YAHOO.util.Event.on(image,'click',function(){diashow.show(this.alt);});}}};;

naviki.main.Startscreen=function(){this.screens=new Array();};naviki.main.Startscreen.prototype.initStartscreen=function(config){this.cid=config['cid'];this.screens=config['screens'];this.selectedTab=Math.round((Math.random()*1000))%this.screens.length;this.initTabAreas();eventMgr.onWindowResize.subscribe(this.onResize,this);};naviki.main.Startscreen.prototype.initTabAreas=function(){var tab1=new Array("34,296,632,336","34,296,1000,336","34,296,1300,336");var tab2=new Array("34,343,632,383","34,343,1000,383","34,343,1300,383");var tab3=new Array("34,390,632,430","34,390,1000,430","34,390,1300,430");this.tabAreas=new Array(tab1,tab2,tab3);};naviki.main.Startscreen.prototype.screenSwitch=function(tabIndex){if(this.screens.length>0){this.selectedTab=tabIndex;eventMgr.onWindowResize.fire(null);}};naviki.main.Startscreen.prototype.onResize=function(type,e,me){var w=16;var imageElement=document.getElementById(me.cid+"-landingpageImage");var tabImageElement=document.getElementById(me.cid+"-landingpageTabs");var tabMapAreas=document.getElementById(me.cid+"-landingpageTabsMap").getElementsByTagName("area");if(imageElement){if(window.innerWidth){w+=window.innerWidth;}
else{w+=document.body.clientWidth+9;}}
if(w>1599){imageElement.src=me.buildImagePath()+"_1600.jpeg";imageElement.height="430";}
else if(w>1199){imageElement.src=me.buildImagePath()+"_1200.jpeg";imageElement.height="430";}
else{imageElement.src=me.buildImagePath()+"_1024.jpeg";imageElement.height="430";}
tabImageElement.src=me.buildImagePath()+"_tab.png";imageElement.alt=me.screens[me.selectedTab].title+" "+me.screens[me.selectedTab].description;};naviki.main.Startscreen.prototype.buildImagePath=function(){var folder="typo3temp/tx_naviki_domain_model_startscreen/";var screen=this.screens[this.selectedTab];var src=folder+screen.pid+"_"+screen.uid+"_"+screen.buttonLabel+"_"+screen.tstamp+"_"+screen.key;return src;};;

naviki.main.AdminLandingpage=function(config){this.cid=config['cid'];this.config=config;this.RTEs=new Array();this.initTabview();this.initPaginator();if(config['edit']==true){this.initRTE();}};naviki.main.AdminLandingpage.prototype.initTabview=function(){new YAHOO.widget.TabView(this.cid+"-tabview");};naviki.main.AdminLandingpage.prototype.initRTE=function(){this.RTEs=new Array();var container=document.getElementById(this.cid+"-descriptions-container");if(container!=null){var descriptions=container.getElementsByTagName("textarea");for(var i=0;i<descriptions.length;i++){this.addRTE(descriptions[i]);}}};naviki.main.AdminLandingpage.prototype.createContactperson=function(){var myObj=this;var arguments='{"landingpageUid":"'+this.config['landingpageUid']+'","pageUid":"'+this.config['pageUid']+'"}';var request='{"extensionName":"naviki","pluginName":"pi_admin_landingpage","controllerName":"AdminLandingpage","actionName":"createContactperson","outputType":"json","arguments":'+arguments+'}';var address="index.php?eID=tx_naviki_ajax_dispatcher&request="+request;YAHOO.util.Connect.asyncRequest("GET",address,{success:function(o){var response=YAHOO.lang.JSON.parse(o.responseText);myObj.addContactpersonInForm(response['uid']);},failure:function(o){},cache:false});};naviki.main.AdminLandingpage.prototype.addContactpersonInForm=function(uid){var container=document.getElementById(this.cid+"-contactpersons-container");var template=document.getElementById(this.cid+"-contactpersons-template");var table=template.getElementsByTagName("table")[0].cloneNode(true);container.appendChild(table);this.updateContactpersonForm(uid);};naviki.main.AdminLandingpage.prototype.removeContactperson=function(uid,index){var myObj=this;var arguments='{"landingpageUid":"'+this.config['landingpageUid']+'","pageUid":"'+this.config['pageUid']+'","contactpersonUid":"'+uid+'"}';var request='{"extensionName":"naviki","pluginName":"pi_admin_landingpage","controllerName":"AdminLandingpage","actionName":"removeContactperson","outputType":"json","arguments":'+arguments+'}';var address="index.php?eID=tx_naviki_ajax_dispatcher&request="+request;YAHOO.util.Connect.asyncRequest("GET",address,{success:function(o){var response=YAHOO.lang.JSON.parse(o.responseText);myObj.removeContactpersonFromForm(index);},failure:function(o){},cache:false});};naviki.main.AdminLandingpage.prototype.removeContactpersonFromForm=function(index){var container=document.getElementById(this.cid+"-contactpersons-container");var contactpersons=container.getElementsByTagName("table");container.removeChild(contactpersons[index]);this.updateContactpersonForm(null);};naviki.main.AdminLandingpage.prototype.updateContactpersonForm=function(lastUid){var container=document.getElementById(this.cid+"-contactpersons-container");var contactpersons=container.getElementsByTagName("table");var removeLink,href,tmp,variables,inputs,name;contactpersons=container.getElementsByTagName("table");for(var i=0;i<contactpersons.length;i++){removeLink=contactpersons[i].getElementsByTagName("a")[0];href=removeLink.href;tmp=href.substring(0,href.indexOf("(")+1);variables=href.substring(href.indexOf("(")+1,href.indexOf(")"));variables=variables.split(",");if(lastUid!=null&&i==contactpersons.length-1){tmp=tmp+lastUid+","+i+href.substring(href.indexOf(")"));}else{tmp=tmp+variables[0]+","+i+href.substring(href.indexOf(")"));}
removeLink.href=tmp;}
for(var i=0;i<contactpersons.length;i++){inputs=contactpersons[i].getElementsByTagName("input");for(var j=0;j<inputs.length;j++){name=inputs[j].name.substring(0,inputs[j].name.indexOf("["));tmp=inputs[j].name.substring(inputs[j].name.indexOf("["));tmp=tmp.substring(1,tmp.length-1);tmp=tmp.split("][");name=name+"["+tmp[0]+"]["+tmp[1]+"]["+i+"]["+tmp[3]+"]";inputs[j].name=name;}}};naviki.main.AdminLandingpage.prototype.addRTE=function(element){var Dom=YAHOO.util.Dom,Event=YAHOO.util.Event;var myConfig={height:'300px',width:'600px',dompath:true,focusAtStart:true};var myEditor=new YAHOO.widget.SimpleEditor(element,myConfig);myEditor.render();this.RTEs.push(myEditor);};naviki.main.AdminLandingpage.prototype.prepareForSubmit=function(){var template=document.getElementById(this.cid+"-contactpersons-template");var table=template.getElementsByTagName("table")[0];template.removeChild(table);for(var i=0;i<this.RTEs.length;i++){this.RTEs[i].saveHTML();}};naviki.main.AdminLandingpage.prototype.showColorPicker=function(){if(!this.colorDialog){var dialog_container=document.getElementById("naviki-dialogs");var dialogDiv=document.createElement("div");dialogDiv.id=this.cid+"-color-dialog";dialog_container.appendChild(dialogDiv);this.colorDialog=new naviki.main.ModalDialog(dialogDiv.id,{width:"400px",height:"300px",fixedcenter:true,visible:false,modal:true,constraintoviewport:true,buttons:[{text:naviki.Lang.getLL('assume'),handler:this.handleSubmit}]});this.colorDialog.myObj=this;this.colorDialog.setBody("<div id='"+this.cid+"-color-picker' class='yui-picker'></div>");this.colorDialog.render();var element=document.getElementById(this.cid+"-color-picker");element.style.zIndex=naviki.main.Util.bringToTop();this.picker=new YAHOO.widget.ColorPicker(this.cid+"-color-picker",{container:this.colorDialog,images:{PICKER_THUMB:"typo3conf/ext/naviki/fileadmin/img/colorpicker/picker_thumb.png",HUE_THUMB:"typo3conf/ext/naviki/fileadmin/img/colorpicker/hue_thumb.png"},showhexsummary:false,showhsvcontrols:true,showhexcontrols:true});;}
var input=document.getElementsByName("tx_naviki_pi_admin_landingpage[landingpage][color]")[0];var color=input.value;if(color.length==7){color=color.substr(1);}else{color="E95D00";}
this.picker.setValue(YAHOO.util.Color.hex2rgb(color),true);this.colorDialog.show();};naviki.main.AdminLandingpage.prototype.handleSubmit=function(){var hex=this.myObj.picker.get("hex");this.myObj.colorDialog.hide();var input=document.getElementsByName("tx_naviki_pi_admin_landingpage[landingpage][color]")[0];var color=document.getElementById(this.myObj.cid+"-color");YAHOO.util.Dom.setStyle(color,"background-color","#"+hex);input.value="#"+hex;};naviki.main.AdminLandingpage.prototype.initPaginator=function(){var descriptionLang=this.config['descriptionLang'];var startscreenLang=this.config['startscreenLang'];var elementDesc=document.getElementById(this.cid+"-descriptions-paginator");var elementStart=document.getElementById(this.cid+"-startscreens-paginator");if(elementDesc!=null){var paginatorDesc=new YAHOO.widget.Paginator({alwaysVisible:false,template:"{PreviousPageLink} {CurrentPageReport} {NextPageLink}",rowsPerPage:1,previousPageLinkLabel:"&#9668;",nextPageLinkLabel:"&#9658;",containers:this.cid+"-descriptions-paginator",totalRecords:descriptionLang.length,pageReportValueGenerator:function(paginator){var recs=paginator.getPageRecords();return{language:descriptionLang[recs[0]].name};},pageReportTemplate:'{language}'});paginatorDesc.render();paginatorDesc.subscribe('changeRequest',this.handleDescriptionPagination);paginatorDesc.myObj=this;this.showDescriptions(descriptionLang[0].uid);}
if(elementStart!=null){var paginatorStart=new YAHOO.widget.Paginator({alwaysVisible:false,template:"{PreviousPageLink} {CurrentPageReport} {NextPageLink}",rowsPerPage:1,previousPageLinkLabel:"&#9668;",nextPageLinkLabel:"&#9658;",containers:this.cid+"-startscreens-paginator",totalRecords:startscreenLang.length,pageReportValueGenerator:function(paginator){var recs=paginator.getPageRecords();return{language:startscreenLang[recs[0]].name};},pageReportTemplate:'{language}'});paginatorStart.render();paginatorStart.subscribe('changeRequest',this.handleStartscreenPagination);paginatorStart.myObj=this;this.showStartscreens(startscreenLang[0].uid);}};naviki.main.AdminLandingpage.prototype.handleDescriptionPagination=function(state){var descriptionLang=this.myObj.config['descriptionLang'];this.myObj.hideDescriptions();this.myObj.showDescriptions(descriptionLang[state.recordOffset].uid);this.setState(state);};naviki.main.AdminLandingpage.prototype.handleStartscreenPagination=function(state){var startscreenLang=this.myObj.config['startscreenLang'];this.myObj.hideStartscreens();this.myObj.showStartscreens(startscreenLang[state.recordOffset].uid);this.setState(state);};naviki.main.AdminLandingpage.prototype.hideDescriptions=function(){var descriptions=YAHOO.util.Dom.getElementsByClassName(this.cid+"-descriptions");for(var i=0;i<descriptions.length;i++){descriptions[i].style.display="none";}};naviki.main.AdminLandingpage.prototype.hideStartscreens=function(){var startscreens=YAHOO.util.Dom.getElementsByClassName(this.cid+"-startscreens");for(var i=0;i<startscreens.length;i++){startscreens[i].style.display="none";}};naviki.main.AdminLandingpage.prototype.showDescriptions=function(language){var descriptions=YAHOO.util.Dom.getElementsByClassName(this.cid+"-descriptions-language-"+language);for(var i=0;i<descriptions.length;i++){descriptions[i].style.display="";}};naviki.main.AdminLandingpage.prototype.showStartscreens=function(language){var startscreens=YAHOO.util.Dom.getElementsByClassName(this.cid+"-startscreens-language-"+language);for(var i=0;i<startscreens.length;i++){startscreens[i].style.display="";}};naviki.main.AdminLandingpage.prototype.showStoreDialog=function(){var dialog_container=document.getElementById("naviki-dialogs");var dialogDiv=document.createElement("div");dialogDiv.id=this.cid+"-store-dialog";dialog_container.appendChild(dialogDiv);var dialog=new naviki.main.ModalDialog(dialogDiv.id,{width:"310px",fixedcenter:true,visible:false,modal:true,constraintoviewport:true});dialog.setBody(naviki.Lang.getLL('waitforupload'));dialog.render();dialog.show();};;

naviki.main.Booking=function(config){this.cid=config['cid'];this.config=config;this.edit=false;this.hideMe();eventMgr.showBooking.subscribe(this.showBooking,this);eventMgr.updateCalender.subscribe(this.updateCalender,this);};naviki.main.Booking.prototype.hideMe=function(){var content=document.getElementById("nui-ce-id-"+this.config['cid']);YAHOO.util.Dom.setStyle(content,"display","none");};naviki.main.Booking.prototype.showBooking=function(type,e,me){var content=document.getElementById("nui-ce-id-"+me.config['cid']);YAHOO.util.Dom.setStyle(content,"display","");me.prepareCalendar();};naviki.main.Booking.prototype.prepareCalendar=function(){this.bookings=YAHOO.lang.JSON.parse(this.config['bookings']);this.calendar=new YAHOO.widget.Calendar(this.cid+"-calendar-container");this.calendar.selectEvent.subscribe(this.handleSelect,this,true);this.calendar.changePageEvent.subscribe(this.handleChangePage,this,true);this.calendar.render();this.renderCalender(new Date());if(parseInt(this.config['admin'])>0){this.activateEditMode();}};naviki.main.Booking.prototype.activateEditMode=function(){this.button=new YAHOO.widget.Button({id:this.cid+"-edit-button",type:"button",label:"",container:this.cid+"-edit-container"});this.setEditMode();};naviki.main.Booking.prototype.setEditMode=function(){this.button.set("label",this.config['label_edit']);this.button.set("onclick",{fn:this.editAction,obj:this});};naviki.main.Booking.prototype.setStoreMode=function(){this.button.set("label",this.config['label_store']);this.button.set("onclick",{fn:this.storeAction,obj:this});};naviki.main.Booking.prototype.editAction=function(evt,obj){obj.setStoreMode();obj.edit=true;var radioButtons=document.getElementsByName(obj.cid+"-occupancy");for(var i=0;i<radioButtons.length;i++){YAHOO.util.Dom.setStyle(radioButtons[i],"display","");}};naviki.main.Booking.prototype.storeAction=function(evt,obj){obj.showWaitDialog(obj);obj.setEditMode();obj.edit=false;var radioButtons=document.getElementsByName(obj.cid+"-occupancy");for(var i=0;i<radioButtons.length;i++){YAHOO.util.Dom.setStyle(radioButtons[i],"display","none");}
var data="";for(var seconds in obj.bookings){data+=","+seconds+" "+obj.bookings[seconds];}
data=data.substring(1);var arguments='{"accommodationUid":"'+obj.config['accommodationUid']+'","pageUid":"'+obj.config['pageUid']+'","data":"'+data+'"}';var request='{"extensionName":"naviki","pluginName":"pi_booking","controllerName":"Booking","actionName":"storeBooking","outputType":"json","arguments":'+arguments+'}';var address='index.php?eID=tx_naviki_ajax_dispatcher';var postData='request='+request;YAHOO.util.Connect.asyncRequest("POST",address,{success:function(o){var response=YAHOO.lang.JSON.parse(o.responseText);obj.hideWaitDialog(obj);},failure:function(o){obj.hideWaitDialog(obj);},cache:false},postData);};naviki.main.Booking.prototype.handleSelect=function(type,args,obj){if(obj.edit){var dates=args[0][0];var year=dates[0],month=dates[1],day=dates[2];var date=new Date(year,month-1,day,0,0,0);var tmp=date.getTime()/1000;var occupancy=0;var radioButtons=document.getElementsByName(obj.cid+"-occupancy");for(var i=0;i<radioButtons.length;i++){if(radioButtons[i].checked==true){occupancy=radioButtons[i].value;break;}}
obj.bookings[tmp]=occupancy;var index=obj.calendar.getCellIndex(date);var element=document.getElementById(obj.cid+"-calendar-container_t_cell"+index);switch(parseInt(occupancy)){case 0:YAHOO.util.Dom.setStyle(element,"background-color","#fff");break;case 25:YAHOO.util.Dom.setStyle(element,"background-color","#9cf");break;case 50:YAHOO.util.Dom.setStyle(element,"background-color","#cf9");break;case 75:YAHOO.util.Dom.setStyle(element,"background-color","#ff0");break;case 100:YAHOO.util.Dom.setStyle(element,"background-color","#fcc");break;}}};naviki.main.Booking.prototype.handleChangePage=function(prevDate,newDate,obj){obj.renderCalender(new Date(newDate[1]));};naviki.main.Booking.prototype.renderCalender=function(date){var calYear=date.getFullYear();var calMonth=date.getMonth()+1;for(var seconds in this.bookings){var date=new Date(parseInt(seconds)*1000);var year=date.getFullYear();var month=date.getMonth()+1;var day=date.getDate();var tmp=month+"/"+day+"/"+year;var index=this.calendar.getCellIndex(date);var element=document.getElementById(this.cid+"-calendar-container_t_cell"+index);if(calYear==year&&calMonth==month){switch(parseInt(this.bookings[seconds])){case 0:element.style.backgroundColor="#fff";YAHOO.util.Dom.setStyle(element,"background-color","#fff");break;case 25:YAHOO.util.Dom.setStyle(element,"background-color","#9cf");break;case 50:YAHOO.util.Dom.setStyle(element,"background-color","#cf9");break;case 75:YAHOO.util.Dom.setStyle(element,"background-color","#ff0");break;case 100:YAHOO.util.Dom.setStyle(element,"background-color","#fcc");break;}}}};naviki.main.Booking.prototype.showWaitDialog=function(obj){if(typeof obj.waitDialog=="undefined"){var dialog_container=document.getElementById("naviki-dialogs");var dialog=document.createElement("div");dialog.id=obj.cid+"_wait_dialog";dialog_container.appendChild(dialog);obj.waitDialog=new naviki.main.ModalDialog(dialog.id,{width:"310px",fixedcenter:true,visible:false,modal:true,draggable:true,zindex:4,close:false,constraintoviewport:true});obj.waitDialog.setHeader(""+obj.config['wait_header']);obj.waitDialog.setBody(""+obj.config['wait_body']);obj.waitDialog.render();}
obj.waitDialog.show();};naviki.main.Booking.prototype.hideWaitDialog=function(obj){obj.waitDialog.hide();};;

naviki.main.SmallMap=function(config){this.cid=config['cid'];this.config=config;this.hideMe();eventMgr.showSmallMap.subscribe(this.showSmallMap,this);};naviki.main.SmallMap.prototype.initMap=function(lat,lng){var point=new GLatLng(lat,lng);var map=new GMap2(document.getElementById(this.cid+"-map"));var marker=new GMarker(point,{draggable:false});map.setCenter(point,14);map.addOverlay(marker);var latContent=document.getElementById(this.cid+"-lat");var lngContent=document.getElementById(this.cid+"-lng");latContent.innerHTML=lat;lngContent.innerHTML=lng;};naviki.main.SmallMap.prototype.hideMe=function(){var content=document.getElementById("nui-ce-id-"+this.config['cid']);YAHOO.util.Dom.setStyle(content,"display","none");};naviki.main.SmallMap.prototype.showSmallMap=function(type,e,me){if(e[0]!=""){var content=document.getElementById("nui-ce-id-"+me.config['cid']);YAHOO.util.Dom.setStyle(content,"display","");me.initMap(e[1],e[0]);}};;

naviki.main.Poi=function(config){this.cid=config['cid'];this.images=config['images'];this.config=config;this.diashow=null;this.initTabview();this.initOpeningHoursTable();if(config['diashow']==true){this.initCarousel();this.initImageClick();}
if(config['booking']==true){window.setTimeout("eventMgr.showBooking.fire("+YAHOO.lang.JSON.stringify(config['uid'])+")",1000);}
window.setTimeout("eventMgr.showSmallMap.fire("+config['geom']+")",1000);};naviki.main.Poi.prototype.initTabview=function(){new YAHOO.widget.TabView(this.cid+"-tabview");};naviki.main.Poi.prototype.initCarousel=function(){var container=document.getElementById(this.cid+"-imagecontainer");if(container!=null&&this.images.length>0){YAHOO.util.Dom.setStyle(container,"display","");var carousel=new YAHOO.widget.Carousel(this.cid+"-imagecontainer",{numVisible:[3,1],animation:{speed:0.5}});carousel.render();carousel.show();}};naviki.main.Poi.prototype.initOpeningHoursTable=function(){if(document.getElementById(this.cid+"-openinghourscontainer")!=null){var myDataSource=new YAHOO.util.DataSource(YAHOO.util.Dom.get(this.cid+"-openinghourstable"));myDataSource.responseType=YAHOO.util.DataSource.TYPE_HTMLTABLE;myDataSource.responseSchema={fields:[{key:"dayname"},{key:"start"},{key:"end"}]};var myColumnDefs=[{key:"dayname",label:this.config['label_dayname']},{key:"start",label:this.config['label_start']},{key:"end",label:this.config['label_end']}];var myDataTable=new YAHOO.widget.DataTable(this.cid+"-openinghourscontainer",myColumnDefs,myDataSource);myDataTable.render();}};naviki.main.Poi.prototype.initImageClick=function(){var title=this.config['title'];var images=this.config['images'];var myObj=this;var image;if(images.length>0){var diashow=new naviki.main.Diashow({containerId:'naviki-dialogs',images:images,imagePath:'uploads/tx_naviki_domain_model_geoobject/',headerLabel:title,intervalCount:4000});for(var i=0;i<images.length;i++){image=document.getElementById(this.cid+"-"+images[i]);image.alt=images[i];YAHOO.util.Event.on(image,'click',function(){diashow.show(this.alt);});}}};;

var browserName=navigator.appName;var browserVer=parseInt(navigator.appVersion);var version="";var msie4=(browserName=="Microsoft Internet Explorer"&&browserVer>=4);if((browserName=="Netscape"&&browserVer>=3)||msie4||browserName=="Konqueror"||browserName=="Opera"){version="n3";}else{version="n2";}
function blurLink(theObject){if(msie4){theObject.blur();}};

if(typeof naviki=="undefined"||!naviki){var naviki={};};naviki.Lang={local_lang:{"bike":"Bicycle","addRouteTo1":"Add destination","addRouteTo2":"Route to here","addRouteFrom":"Route from here","destination":"Destination","start":"Start","google_location":"Display my position","more":"more...","fullscreen_max_title":"Maximise map","fullscreen_min_title":"Minimise map","geolocation_title":"display own position","copyright.0":"Cycle paths: Naviki and","copyright.1":"OpenStreetMap","draw_line":"Draw line","draw_road":"Draw line and adapt to streets","draw_add":"Draw in points","draw_store":"Save drawing","draw_marker.0":"Click to delete point","draw_marker.1":"Drag to move point","draw_polyline":"Click on the line to insert a point","draw_mousemove.0":"Draw path","draw_mousemove.1":"Draw path further","draw_dialog_header":"Note","draw_dialog_body":"A higher level is required to draw in the map. Please zoom into the map.","draw_dialog_zoomin":"zoom","ways_nextto_point":"Paths close to this location","searchPaginatorSeperator":"from","searchTooShort":"Please enter a longer search term!","searchInvalid":"Please do not enter special characters (*+:;%$&Acirc;&sect;...)!","portletsAddPortlet":"Define contents","portletsMyWays":"My paths","portletsMyPrivateWays":"My private paths","portletsMyPublicWays":"My public paths","portletsMyRoutingRequest":"Calculated routes","portletsMyLongestWays":"My longest paths","portletsMyBestWays":"My best paths","portletsLongestWays":"Longest paths on Naviki","portletsHeighestWays":"Highest paths on Naviki","portletsUsersWithMostKMUploads":"Naviki users with the most kilometres","portletsNewestWays":"Newest paths on Naviki","portletsBestRatedWays":"Best rated paths","portletsMostExportedWays":"Most frequently downloaded paths","portletsAddPortletMessage":"What contents should be displayed on the page?","wayinfonoinfomessage":"There is no information available at the moment.","wayinfogpsdialogtitle":"GPS files","wayinfogpsdialogmessage":"Download as:","wayinfogpsdialogkmlinfo":"(e.g. Google Earth)","wayinfogpsdialoggpxinfo":"(e.g. Garmin, Magellan)","wayinfogpsdialogovlinfo":"(e.g. Top50 maps)","wayinfogpsdialogfugawiinfo":"(e.g. Fugawi planning software)","wayinfogpsdialogtcxinfo":"(e.g. Garmin Training Center)","wayinfogpsdialogoption":"Option:","wayinfogpsdialogoption.0":"One file with all points.","wayinfogpsdialogoption.1":"One file with a maximum of 500 points.","wayinfogpsdialogoption.2":"One file per track with all points.","wayinfogpsdialogoption.3":"One file per track with a maximum of 500 points.","wayrating.0":"no ratings yet","wayrating.1":"Rating","wayrating.2":"Ratings","wayrating.3":"rate","wayrating":"overall rating","mywayrating":"my rating","unsuitedforbicycles":"Report this path as impassable","waitforupload":"Please wait ...","selectgpsfiles":"Click on &quot;Search&quot; to select file.","selectgpsfilesbutton":"Search","err_title":"Please enter a title.","err_gpsfiles.0":"Selected GPS file(s) faulty.","err_gpsfiles.1":"Please enter GPS file(s).","err_gpsfiles.2":"Please only enter GPS file(s) with the extension kml, gpx, tcx.","err_gpsfiles.3":"Please do not enter Umlauts in the file name.","addfoto":"Add photo ...","addgps":"Add GPS file","assumedrawing":"Accept drawing","author":"Author","dialog_store_way":"Save path","dialog_store_draw":"Drawing is accepted","dialog_load_draw":"Drawing is being loaded","dialog_delete_way":"Delete path","dialog_delete_way_text":"Do you really want to delete the path?","dialog_delete_media":"Delete image","dialog_delete_media_text":"Do you really want to delete the image?","dialog_delete_gps":"Delete GPS file","dialog_delete_gps_text":"Do you really want to delete the GPS file?","dialog_image_description":"Description of image","dialog_image_description_counter":"Number of available characters:","error_way_header_default":"Sorry","error_way_header_attention":"Note","error_way_body_default":"An error has occurred. Please try again.","error_way_body_upload.0":"Only JPG, JPEG and PNG are accepted.","error_way_body_upload.1":"An error occurred when","error_way_body_upload.2":"processing the file. Please try again.","error_way_body_upload.3":"You require a title and at least one GPS file.","error_way_body_upload.4":"Please only save the path when all files are uploaded.","error_way_body_upload.5":"Only GPX, KML, KMZ and TCX are accepted.","error_way_body_upload.6":"Please enter a title for the path.","error_way_body_upload.7":"You require at least one GPS file.","do_not_assign_geobase":"do not allocate to a geobase","routing_request_button_label":"Send","routing_request_attention":"Note","routing_request_empty_inputfields":"Please fill in all boxes!","routing_request_maximum_number_is_reached":"Maximum number of destinations was reached.","error_routing_404":"Your request is outside the routing area of Naviki.","error_routing_unknown":"Unfortunately, your request could not be answered by the Naviki server.","dialog_yes":"Yes","dialog_no":"No","dialog_ok":"Ok","dialog_cancel":"Cancel","error":"Fault","help_dialog_header":"Help","save":"save","hours":"Hrs.","delete":"delete","edit":"edit","clear":"empty","toTop":"return to top","assume":"accept","txt_search":"Search","txt_search_hint":"Location or search term","txt_search_button":"Go","map_stops_layer_from":"Information on trip from here","map_stops_layer_to":"Information on trip to here","yui_dataTable_msg_empty":"The search returned no results.","yui_dataTable_msg_error":"Error loading the data.","language":"Language"},getLL:function(key){return naviki.Lang.local_lang[key];}};naviki.Util={gpsbabel:"/var/lib/typo3-live/execdir/gpsbabel",gpsplot:"/var/lib/typo3-live/execdir/gpsplot",gnuplot:"/var/lib/typo3-live/execdir/gnuplot",unzip:"/var/lib/typo3-live/execdir/unzip",gpx2shp:"/var/lib/typo3-live/execdir/gpx2shp",python:"/var/lib/typo3-live/execdir/python",topocodingKey:"DSQBNCEUWWYNZEN",csv2ovl:"/var/lib/typo3-live/execdir/csv2ovl",grassaddheightdatascript:"/var/nasa/scripts/AddElevationToGPX.sh",HelpPagesPid:"69",MaxMindKey:"",nrs:"1",WaysNexttoPoint:"0",maxmind:"0",TCXdownload:"0",FEUsers_PageID:"3",FEGroups_PageID:"3",routingServerHostName:"www.naviki.org:8080",routingOptions:"0",AutoComplete:"0",dragAndDrop:"1",googleGG:"0",googleEarth:"1",SocialNetwork:"0",OpenId:"0",wayrating:"0",newRoutingServer:"1",logwayload:"0",logwaysave:"0",logwayexport:"0",logwayrepair:"0",logwaydelete:"0",logwayfiles:"0",logmergeaccounts:"0",logusersandgroups:"0",loggoogle:"0",logrouting:"1",logpiheader:"0",logpimap:"0",logpirest:"0",logpisearchresults:"0",logpoi:"0",ogr2ogr:"/usr/bin/ogr2ogr",LAYER_PageID:"74",navikiLPuid:"31",tileServerHostName:"http://tiles.naviki.org/",tileServerPathSite:"/var/www/tiles/",logGenerateTiles:"0",addWayToCloudServer:"0",geolocation:"1",drawMode:"1",editMode:"1",heightDataPath:"/usr/local/bin/heightData /media/sdb/heightdata/europe.tif",googleGeoSearch:"1",DOMAIN_URL:"http://www.naviki.org/",FILEADMIN_PATH:"typo3conf/ext/naviki/fileadmin/",LOCAL_LANG:"default"};function shortcut(Ereignis){if(!Ereignis)
Ereignis=window.event;if(Ereignis.altKey){if(Ereignis.ctrlKey){}if(Ereignis.shiftKey){if(Ereignis.keyCode==83||Ereignis.which==83){document.getElementById("txtSearchKey").focus();}}}}if(document.addEventListener){document.addEventListener("keydown",shortcut,false);}else if(document.attachEvent){document.attachEvent("onkeydown",shortcut);};

