
var moveDirectionX;var moveDirectionY;function ZoomMap(percentage){if(percentage<0||percentage>100){return;}
var range=map.getZoomRange();var newZoom=(percentage/100)*range.max+(1-(percentage/100))*range.min;newZoom=Math.round(newZoom);map.setView({zoom:newZoom});RecalculateActualZoomPercentage();}
function RecalculateActualZoomPercentage(){var range=map.getZoomRange();actualZoomPercentage=(map.getZoom()/range.max)*100;var knorb=document.getElementById("mapNaviZoomSliderKnorb");var slide=document.getElementById("mapNaviZoomSliderSlide");var knorbTop=parseInt(slide.style.height)*(1-(actualZoomPercentage/100))+parseInt(slide.style.top);knorb.style.top=""+knorbTop+"px";}
function ZoomInMap(percentage){if(percentage>100||percentage<0){return;}
else{actualZoomPercentage+=percentage;if(actualZoomPercentage>=100){actualZoomPercentage=100;}}
ZoomMap(actualZoomPercentage);}
function ZoomOutMap(percentage){if(percentage>100||percentage<0){return;}
else{actualZoomPercentage-=percentage;if(actualZoomPercentage<=0){actualZoomPercentage=0;}}
ZoomMap(actualZoomPercentage);}
function ZoomInOneStep(){var zoom=map.getZoom();var range=map.getZoomRange();var newZoom=zoom+1;if(newZoom>range.max){return}
map.setView({zoom:newZoom});RecalculateActualZoomPercentage();}
function ZoomOutOneStep(){var zoom=map.getZoom();var range=map.getZoomRange();var newZoom=zoom-1;if(newZoom<range.min){return}
map.setView({zoom:newZoom});RecalculateActualZoomPercentage();}
function ShowZoomSlider(){var slider=document.getElementById("mapNaviZoomSlider");var sliderOffsetToButton=0;var sliderOffsetLeft=0;var top=parseInt(document.getElementById("mapNaviControl").style.top)+parseInt(document.getElementById("naviControls").style.top)+parseInt(document.getElementById("naviZoomPlusMinus").style.top)-(parseInt(slider.style.height)+sliderOffsetToButton);var left=parseInt(document.getElementById("mapNaviControl").style.left)+parseInt(document.getElementById("naviControls").style.left)+parseInt(document.getElementById("naviZoomPlusMinus").style.left)+sliderOffsetLeft;slider.style.top=""+top+"px";slider.style.left=""+left+"px";slider.style.opacity=1;$('#mapNaviZoomSlider').stop();$('#mapNaviZoomSlider').fadeIn('slow');}
function HideZoomSlider(){var slider=document.getElementById("mapNaviZoomSlider");$('#mapNaviZoomSlider').stop();$('#mapNaviZoomSlider').fadeOut('slow');}
function ChangeMapOverlay(){var cb=document.getElementById("showOverlayCheckbox");if(cb.checked==true){map.setView({labelOverlay:Microsoft.Maps.LabelOverlay.visible});setCookie("labelOverlay","true",365);}
else{map.setView({labelOverlay:Microsoft.Maps.LabelOverlay.hidden});setCookie("labelOverlay","false",365);}}
function ChangeMapType(type){switch(type){case"Aerial":map.setView({mapTypeId:Microsoft.Maps.MapTypeId.aerial});break;case"Road":map.setView({mapTypeId:Microsoft.Maps.MapTypeId.road});break;case"Birdseye":map.setView({mapTypeId:Microsoft.Maps.MapTypeId.birdseye});break;}
ShowSelectedMapType();}
function ShowChooseViewPanel(){var panel=document.getElementById("mapNaviViewPanel");var panelOffsetToButton=0;var panelOffsetLeft=0;var top=parseInt(document.getElementById("mapNaviControl").style.top)+parseInt(document.getElementById("naviControls").style.top)+parseInt(document.getElementById("naviViewMode").style.top)-(parseInt(panel.style.height)+panelOffsetToButton);var left=parseInt(document.getElementById("mapNaviControl").style.left)+parseInt(document.getElementById("naviControls").style.left)+parseInt(document.getElementById("naviViewMode").style.left)+panelOffsetLeft;panel.style.top=""+top+"px";panel.style.left=""+left+"px";panel.style.opacity=1;$('#mapNaviViewPanel').stop();$('#mapNaviViewPanel').fadeIn('slow');}
function HideChooseViewPanel(){$('#mapNaviViewPanel').stop();$('#mapNaviViewPanel').fadeOut('slow');}
function ShowSelectedMapType(){document.getElementById("mapNaviViewAerialImage").style.backgroundImage="url('../AspNetVisualAssets/NavigationIcons/chooselayer_aerial_noEffect.png')";document.getElementById("mapNaviViewRoadImage").style.backgroundImage="url('../AspNetVisualAssets/NavigationIcons/chooselayer_road_noEffect.png')";document.getElementById("mapNaviViewBirdseyeImage").style.backgroundImage="url('../AspNetVisualAssets/NavigationIcons/chooselayer_birdseye_noEffect.png')";switch(map.getMapTypeId()){case Microsoft.Maps.MapTypeId.aerial:document.getElementById("mapNaviViewAerialImage").style.backgroundImage="url('../AspNetVisualAssets/NavigationIcons/chooselayer_aerial_klicked.png')";break;case Microsoft.Maps.MapTypeId.road:document.getElementById("mapNaviViewRoadImage").style.backgroundImage="url('../AspNetVisualAssets/NavigationIcons/chooselayer_road_klicked.png')";break;case Microsoft.Maps.MapTypeId.birdseye:document.getElementById("mapNaviViewBirdseyeImage").style.backgroundImage="url('../AspNetVisualAssets/NavigationIcons/chooselayer_birdseye_klicked.png')";break;default:break;}}
function MouseOverSelectMapType(elementId){var imagename=$('#'+elementId).css("background-image");if(imagename.indexOf("klicked.png")==-1){switch(elementId){case"mapNaviViewBirdseyeImage":$('#'+elementId).css("background-image","url('../AspNetVisualAssets/NavigationIcons/chooselayer_birdseye_Hover.png')");break;case"mapNaviViewRoadImage":$('#'+elementId).css("background-image","url('../AspNetVisualAssets/NavigationIcons/chooselayer_road_Hover.png')");break;case"mapNaviViewAerialImage":$('#'+elementId).css("background-image","url('../AspNetVisualAssets/NavigationIcons/chooselayer_aerial_Hover.png')");break;}}}
function MouseOutSelectMapType(elementId){var imagename=$('#'+elementId).css("background-image");if(imagename.indexOf("klicked.png")==-1){switch(elementId){case"mapNaviViewBirdseyeImage":$('#'+elementId).css("background-image","url('../AspNetVisualAssets/NavigationIcons/chooselayer_birdseye_noEffect.png')");break;case"mapNaviViewRoadImage":$('#'+elementId).css("background-image","url('../AspNetVisualAssets/NavigationIcons/chooselayer_road_noEffect.png')");break;case"mapNaviViewAerialImage":$('#'+elementId).css("background-image","url('../AspNetVisualAssets/NavigationIcons/chooselayer_aerial_noEffect.png')");break;}}}
function ChangeBackgroundImage(elementId,url){var el=document.getElementById(elementId);if(el.style.backgroundImage!="url('"+url+"')"){el.style.backgroundImage="url('"+url+"')";}}
function CompassMouseDown(e){e.preventDefault();compassClicked=true;CalculateMoveDirection(e);PanMap(moveDirectionX,moveDirectionY);}
function CompassMouseUp(e){compassClicked=false;}
function CompassMouseMove(e){if(compassClicked){CalculateMoveDirection(e);}}
function CalculateMoveDirection(e){var comp=document.getElementById("naviCompass");var middleX=parseInt(comp.style.width)/2;var middleY=parseInt(comp.style.height)/2;var offsetX=0.0;var offsetY=0.0;if(e.offsetX!=undefined&&e.offsetY!=undefined){offsetX=(e.offsetX-middleX)/middleX;offsetY=(e.offsetY-middleY)/middleY;}
else{offsetX=(e.layerX-middleX)/middleX;offsetY=(e.layerY-middleY)/middleY;}
moveDirectionX=offsetX*compassMoveSpeed;moveDirectionY=offsetY*compassMoveSpeed;}
function PanMap(x,y){var oldCenter=map.getCenter();var oldPoint=map.tryLocationToPixel(oldCenter);var newCenter=map.tryPixelToLocation(new Microsoft.Maps.Point(oldPoint.x+x,oldPoint.y+y));map.setView({center:newCenter});if(compassClicked==true){setTimeout("PanMap("+moveDirectionX+","+moveDirectionY+")",50);}}
function ShowTileLayerNameInTooltip(e){if(e==undefined){return;}
var name=e.target.alt;e.target.src="./AspNetVisualAssets/TileLayerCheckboxes/"+name+"_hover.png";var div=document.getElementById('naviTooltip');div.innerHTML=navigationTootipLang[e.target.alt];var posImg=$("#"+e.target.id).offset();var tooltipTop=posImg.top-25;var tooltipLeft=posImg.left+5;div.style.top=tooltipTop+"px";div.style.left=tooltipLeft+"px";div.style.opacity=1;$('#naviTooltip').stop();$('#naviTooltip').fadeIn('fast');}
function ClearTileLayerNameInTooltip(e){if(e==undefined){return;}
var name=e.target.alt;for(var i=0;i<tileLayerCheckboxArray.length;i++){if(tileLayerCheckboxArray[i].name==name){if(tileLayerCheckboxArray[i].checked==false){e.target.src="./AspNetVisualAssets/TileLayerCheckboxes/"+tileLayerCheckboxArray[i].name+"_noEffect.png";}
else{e.target.src="./AspNetVisualAssets/TileLayerCheckboxes/"+tileLayerCheckboxArray[i].name+"_klicked.png";}
ShowSelectedTileLayer();}}
$('#naviTooltip').stop();$('#naviTooltip').fadeOut('fast');}
function ChooseWatchIconClick(e){var img=document.getElementById("chooseWatchIcon");if(img.src.indexOf("choose_watch_closed.png")!=-1){img.src="./AspNetVisualAssets/NavigationIcons/choose_watch_open.png";ShowChooseWatch();}
else{img.src="./AspNetVisualAssets/NavigationIcons/choose_watch_closed.png";HideChooseWatch();}}
function ShowChooseWatch(){var panel=document.getElementById("tilelayerCheckboxes");var panelOffsetToButton=5;var panelOffsetLeft=-3;var top=parseInt(document.getElementById("mapNaviControl").style.top)+parseInt(document.getElementById("naviChooseLayer").style.top)-(parseInt(panel.style.height)+panelOffsetToButton);var left=parseInt(document.getElementById("mapNaviControl").style.left)+parseInt(document.getElementById("selectedWatchLeftBorder").style.width)+panelOffsetLeft;panel.style.top=""+top+"px";panel.style.left=""+left+"px";panel.style.opacity=1;$('#tilelayerCheckboxes').stop();$('#tilelayerCheckboxes').fadeIn('slow');}
function HideChooseWatch(){$('#tilelayerCheckboxes').stop();$('#tilelayerCheckboxes').fadeOut('slow');}
function DivWatchClick(e){if(e==undefined){return;}
var element="";if(e.target.id.indexOf("Paragraph")!=-1){element=""+e.target.id;}
else{element=""+e.target.id+"Paragraph";}
ShowWatchInDiv(document.getElementById(element));ChooseWatchIconClick(e);}
function ShowWatchInDiv(e){var watch=null;if(e.innerHTML!=undefined){watch=e.innerHTML;}
else if(e.target.innerHTML!=undefined){watch=e.target.innerHTML;}
else{return;}
CloseAllInfoboxes();document.getElementById("selectedWatchName").innerHTML=watch;var category=watch.substring(0,watch.length-watchNameSuffix.length);var unsortedCheckboxes=document.getElementById(""+category+"Checkboxes").childNodes;var isOneRateable=false;for(var i=0;i<tileLayerPropertyBagArray.length;i++){if((tileLayerPropertyBagArray[i].getCategory1()==category)&&(tileLayerPropertyBagArray[i].getRatingArea()=="everywhere")){isOneRateable=true;}}
if(isOneRateable){$('#mapNaviPushPinIcon').css("display","block");$('#mapNaviPushPinImage').attr("src","AspNetVisualAssets/PushPinIcons/"+category+"Watch_PP_watchcolour.png");}
else{$('#mapNaviPushPinIcon').css("display","none");}
shownPushpinsLayer.clear();for(var i=0;i<pushpinLayer.getLength();i++){var pushpin=pushpinLayer.get(i);var typeName=pushpin.getTypeName().split(",");if(typeName[1]==null||typeName[1]==undefined){continue;}
if(typeName[1].indexOf(category)!=-1){shownPushpinsLayer.push(pushpin);}}
$("#selectedWatchCheckboxes").empty();var checkboxes=FilterCheckboxArray(unsortedCheckboxes);var isOneChecked=false;for(var i=0;i<checkboxes.length;i++){if(checkboxes[i].checked==true){isOneChecked=true;}}
if(!isOneChecked){checkboxes[0].checked=true;}
for(var i=0;i<checkboxes.length;i++){var img=document.createElement("img");if(checkboxes[i].checked==false){img.src="./AspNetVisualAssets/TileLayerCheckboxes/"+checkboxes[i].name+"_noEffect.png";}
else{img.src="./AspNetVisualAssets/TileLayerCheckboxes/"+checkboxes[i].name+"_klicked.png";}
img.className="tilelayerCheckboxImage";img.alt=checkboxes[i].name;img.id=checkboxes[i].name;img.onclick=ImageCheckboxClick;img.onmouseover=ShowTileLayerNameInTooltip;img.onmouseout=ClearTileLayerNameInTooltip;$("#selectedWatchCheckboxes").append(img);}
ShowSelectedTileLayer();}
function FilterCheckboxArray(checkboxes){var result=new Array();for(var i=0;i<checkboxes.length;i++){if(checkboxes[i].name.indexOf("Station")!=-1){result.push(checkboxes[i]);}}
for(var i=0;i<checkboxes.length;i++){if(checkboxes[i].name.indexOf("Feedback")!=-1){result.push(checkboxes[i]);}}
for(var i=0;i<checkboxes.length;i++){if((checkboxes[i].name.indexOf("Station")==-1)&&((checkboxes[i].name.indexOf("Feedback")==-1))){result.push(checkboxes[i]);}}
return result;}
function ImageCheckboxClick(e){var name=e.target.alt;for(var i=0;i<tileLayerCheckboxArray.length;i++){if(tileLayerCheckboxArray[i].name==name){if(tileLayerCheckboxArray[i].checked==true){tileLayerCheckboxArray[i].checked=false;e.target.src="./AspNetVisualAssets/TileLayerCheckboxes/"+tileLayerCheckboxArray[i].name+"_noEffect.png";}
else{tileLayerCheckboxArray[i].checked=true;e.target.src="./AspNetVisualAssets/TileLayerCheckboxes/"+tileLayerCheckboxArray[i].name+"_klicked.png";}
ShowSelectedTileLayer();}}}
function MouseOverDragNewPushPinIcon(e){$('#mapNaviPushPinImage').attr("src","AspNetVisualAssets/PushPinIcons/PP_rolledFlag_noShadow_centered.png");}
function MouseOutDragNewPushPinIcon(e){var watch=$('#selectedWatchName').text();var category=watch.substring(0,watch.length-watchNameSuffix.length);$('#mapNaviPushPinImage').attr("src","AspNetVisualAssets/PushPinIcons/"+category+"Watch_PP_watchcolour.png");}
