var API_GOOGLE=0;var API_OPENLAYERS=1;var API=API_GOOGLE;var map;var ab;var layerList;var kmlOverlayControl;var bb;var cb=new Array();function db(eb){fb="";for(var i in eb)fb+="'"+i+"' : "+eb[i]+" ";return fb;}
function gb(hb){var ib=document.getElementsByTagName(hb);var fb="";for(var i in ib)fb+=ib[i].id+" ";return fb;}
(function($){$.fn.ToggleButton=function(jb){var kb={'on_image':'images/cs_on.gif','off_image':'images/cs_off.gif','toggleevent':null
}
;var lb={'init':function(options){return $(this).each(function(){if(options){$.extend(kb,options);}
var mb=$(this),nb=mb.data('ToggleButton');if(!nb){$(this).data('ToggleButton',{ob:mb,pb:false
}
);mb.attr('src',kb.off_image);mb.click(function(){lb.setState.call(this,!mb.data('ToggleButton').ticked);if(kb.toggleevent)kb.toggleevent(this);}
);}
}
);}
,'destroy':function(){return this.each(function(){var mb=$(this),nb=mb.data('ToggleButton');mb.removeData('ToggleButton');}
)}
,'setState':function(qb){var mb=$(this),nb=mb.data('ToggleButton');nb.ticked=qb;if(nb.ticked){mb.attr('src',kb.on_image);}
else{mb.attr('src',kb.off_image);}
}
,'ticked':function(){var mb=$(this),nb=mb.data('ToggleButton');return nb.ticked;}
}
;if(lb[jb]){return lb[jb].apply(this,Array.prototype.slice.call(arguments,1));}
else if(typeof jb==='object'||!jb){return lb.init.apply(this,arguments);}
else{$.error('Method '+jb+' does not exist on jQuery.ToogleButton');}
}
}
)(jQuery);(function($){$.fn.RadioImageControl=function(jb){var kb={'on_images':[],'off_images':[],'activeButton':0,'onClick':null
}
;var lb={'init':function(options){return $(this).each(function(){if(options){$.extend(kb,options);}
var mb=$(this),nb=mb.data('RadioImageControl');if(!nb){$(this).data('RadioImageControl',{'target':mb,'activeButton':kb.activeButton,'on_images':kb.on_images,'off_images':kb.off_images,'imageElements':[],'onClick':kb.onClick
}
);var nb=mb.data('RadioImageControl');for(var i=0;i<nb.on_images.length;i++){var rb;if(i==nb.activeButton)rb=$('<img>',{'src':nb.on_images[i],'index':i,'style':'vertical-align:bottom'}
).appendTo(mb);else
rb=$('<img>',{'src':nb.off_images[i],'index':i,'style':'vertical-align:bottom'}
).appendTo(mb);rb.click({'idx':i}
,function(sb){lb.clickHandler.call(mb,sb)}
);nb.imageElements[i]=rb;}
}
}
);}
,'destroy':function(){return this.each(function(){var mb=$(this);mb.removeData('RadioImageControl');}
)}
,'getActiveButton':function(){var mb=$(this),nb=mb.data('RadioImageControl');return nb.activeButton;}
,'clickHandler':function(sb){var tb=sb.data.idx;var mb=$(this),nb=mb.data('RadioImageControl');if(tb!=nb.activeButton){nb.imageElements[nb.activeButton].attr('src',nb.off_images[nb.activeButton]);nb.imageElements[tb].attr('src',nb.on_images[tb]);nb.activeButton=tb;if(nb.onClick)nb.onClick.call(mb,sb,tb);}
}
}
;if(lb[jb]){return lb[jb].apply(this,Array.prototype.slice.call(arguments,1));}
else if(typeof jb==='object'||!jb){return lb.init.apply(this,arguments);}
else{$.error('Method '+jb+' does not exist on jQuery.RadioImageControl');}
}
}
)(jQuery);KMLOverlayControl.prototype.controlDiv_=null;KMLOverlayControl.prototype.mygmap_=null;KMLOverlayControl.prototype.geokmloverlayurl_=null;KMLOverlayControl.prototype.geokmloverlay_=null;KMLOverlayControl.prototype.inputBox_=null;function KMLOverlayControl(ub,map){this.controlDiv_=ub;this.mygmap_=map;var vb=document.createElement("div");this.setButtonStyle(vb,"KML");ub.appendChild(vb);var wb=document.createElement("div");wb.style.left="-64px";wb.style.display="none";wb.style.position="absolute";wb.style.width="240px";wb.style.padding="4px";wb.style.color="#000000";wb.style.backgroundColor="#ffffff";wb.style.font="13px Arial";wb.style.borderWidth="1px 2px 2px 1px";wb.style.borderColor="gray black black black";wb.style.borderStyle="solid ridge ridge solid";ub.appendChild(wb);wb.innerHTML="Enter the URL of a KML file here and click on the add button.<br />";this.inputBox_=document.createElement("input");this.inputBox_.type="text";this.inputBox_.style.width="232px";wb.appendChild(this.inputBox_);var xb=document.createElement("div");this.setButtonStyle(xb,"Add");wb.appendChild(xb);google.maps.event.addDomListener(vb,"mouseover",function(){wb.style.display="block";var yb=-64,zb=0;var eb=ub;while(eb){yb+=eb.offsetLeft;zb+=eb.offsetTop;eb=eb.offsetParent;}
var $b=yb+wb.offsetWidth;var _b=zb+wb.offsetHeight+vb.offsetHeight;var ac=google.maps.event.addDomListener(document,"mousemove",function(e){if(!e)e=window.event;var x=e.clientX;var y=e.clientY;if((x<yb)||(x>$b)||(y<zb)||(y>_b)){wb.style.display="none";google.maps.event.removeListener(ac);}
}
);}
);var bc=this;google.maps.event.addDomListener(xb,"click",function(){bc.setKML(bc.inputBox_.value);}
);google.maps.event.addDomListener(this.inputBox_,"change",function(){bc.setKML(bc.inputBox_.value);}
);}
KMLOverlayControl.prototype.setButtonStyle=function(button,text){button.style.color="#000000";button.style.backgroundColor="#ffffff";button.style.font="13px Arial";button.style.border="1px solid black";button.style.padding="2px";button.style.marginBottom="3px";button.style.padding="0px";button.style.margin="5px";button.style.textAlign="center";button.style.width="65px";button.style.cursor="pointer";var cc=document.createElement("div");cc.style.color="#000000";cc.style.backgroundColor="#ffffff";cc.style.borderTop="none";cc.style.borderLeft="1px solid white";cc.style.borderRight="1px solid #b0b0b0";cc.style.borderBottom="1px solid #b0b0b0";cc.style.margin="0px";cc.style.padding="0px";button.appendChild(cc);cc.appendChild(document.createTextNode(text));}
KMLOverlayControl.prototype.setKML=function(dc){if(this.geokmloverlay_!=null){this.geokmloverlay_.setMap(null);}
if((dc!=null)&&(dc.length>0)){if(dc.indexOf("http:\x2F\x2F")!=0)dc="http:\x2F\x2F"+dc;}
this.geokmloverlayurl_=dc;this.geokmloverlay_=new google.maps.KmlLayer(dc);this.inputBox_.value=dc;this.geokmloverlay_.setMap(this.mygmap_);}
KMLOverlayControl.prototype.getKML=function(){return this.geokmloverlayurl_;}
KMLOverlayControl.prototype.refresh=function(){if((this.geokmloverlayurl_!=null)&&(this.geokmloverlayurl_.length>0))this.setKML(this.geokmloverlayurl_);}
FeatureClickControl.prototype.button_=null;FeatureClickControl.prototype.isTicked_=null;FeatureClickControl.prototype.onclick_=null;FeatureClickControl.prototype.onload_=null;function FeatureClickControl(ub,ec){this.button_=ub;this.isTicked_=true;this.onclick_=ec;this.onload_=null;this.button_.style.border="none";this.button_.style.width="24px";this.button_.style.height="24px";this.button_.style.marginLeft="32px";this.button_.style.cursor="pointer";this.button_.style.backgroundImage="url(images/mousebutton-24x24-on.gif)";this.button_.style.backgroundRepeat="no-repeat";this.button_.style.backgroundPosition="top left";google.maps.event.addDomListener(ub,"click",MapTube.bindAsEventListener(function(){this.toggle();}
,this));}
FeatureClickControl.prototype.toggle=function(){this.setEnabled(!this.isTicked_);}
FeatureClickControl.prototype.setEnabled=function(fc){if(fc){this.isTicked_=true;this.button_.style.backgroundImage="url(images/mousebutton-24x24-on.gif)";}
else{this.isTicked_=false;this.button_.style.backgroundImage="url(images/mousebutton-24x24-off.gif)";}
if(this.onclick_)this.onclick_.call(this,this.isTicked_);}
FeatureClickControl.prototype.setVisibility=function(gc){if(gc)this.button_.style.visibility="visible";else this.button_.style.visibility="hidden";}
function ThumbnailList(hc,ic,jc,kc){this.parentDiv=$(hc);this.upButton=$(ic);this.downButton=$(jc);this.divider=$(kc);this.hasDivider=false;var lc=$('#sortablemapskml li.sortme');var mc=lc.length;lc=jQuery.merge(lc,$('#sortablemapstiles li.sortme'));var nc=lc.length;this.hasDivider=((mc>0)&&(nc>mc));this.fullListLength=lc.length;this.sublistLength=0;this.thumbHeight=0;if(this.fullListLength>1)this.thumbHeight=lc[1].offsetTop-lc[0].offsetTop;else if(this.fullListLength>0)this.thumbHeight=lc[0].offsetHeight;this.divHeight=0;this.listTop=0;this.upButton.click(function(){hc.scrollup()}
);this.downButton.click(function(){hc.scrolldown()}
);this.upButton.mouseout(function(){$(this).css('border-color',$(this).css('background-color'));}
);this.upButton.mouseover(function(){$(this).css('border-color',$(this).css('color'));}
);this.downButton.mouseout(function(){$(this).css('border-color',$(this).css('background-color'));}
);this.downButton.mouseover(function(){$(this).css('border-color',$(this).css('color'));}
);if(this.divider){if(this.hasDivider)$(this.divider).css('display','block');else $(this.divider).css('display','none');}
this.resize();$.extend(hc,this);$(window).resize(function(){hc.resize();}
);}
ThumbnailList.prototype.resize=function(){var lc=$('#sortablemapskml li.sortme');lc=jQuery.merge(lc,$('#sortablemapstiles li.sortme'));this.fullListLength=lc.length;if(this.fullListLength>0){var oc=this.parentDiv.height();var pc=0;if(this.hasDivider)pc+=this.divider.height();pc+=this.upButton.height();pc+=this.downButton.height();this.sublistLength=Math.floor((oc-pc)/this.thumbHeight);if(this.sublistLength<this.fullListLength){if(oc-this.sublistLength*this.thumbHeight<pc)--this.sublistLength;}
this.refreshList();}
}
;ThumbnailList.prototype.refreshList=function(){var lc=$('#sortablemapskml li.sortme');var qc=lc.length;lc=jQuery.merge(lc,$('#sortablemapstiles li.sortme'));this.fullListLength=lc.length;if(this.sublistLength<=this.fullListLength){this.upButton.css("display","block");this.downButton.css("display","block");if(this.listTop>0)this.upButton.css("visibility","visible");else
this.upButton.css("visibility","hidden");if(this.listTop+this.sublistLength<this.fullListLength)this.downButton.css("visibility","visible");else
this.downButton.css("visibility","hidden");}
else{this.upButton.css("display","none");this.downButton.css("display","none");this.listTop=0;}
if((this.hasDivider)&&((this.listTop+this.sublistLength)>=qc)&&(this.listTop<=qc))this.divider.css("display","block");else
this.divider.css("display","none");for(var i=0;i<this.fullListLength;i++){if((i>=this.listTop)&&(i<this.listTop+this.sublistLength)){if(window.ie){$(lc[i]).css("display","block");}
else{$(lc[i]).css("visibility","visible");$(lc[i]).css("height",this.thumbHeight+"px");}
}
else{if(window.ie){$(lc[i]).css("display","none");}
else{$(lc[i]).css("visibility","hidden");$(lc[i]).css("height","0px");}
}
}
}
;ThumbnailList.prototype.scrollup=function(){if(this.listTop>0){--this.listTop;this.refreshList();}
}
;ThumbnailList.prototype.scrolldown=function(){if(this.listTop<this.fullListLength-this.sublistLength){++this.listTop;this.refreshList();}
}
;function resizeMapDiv(){var m=document.getElementById("map");var t=document.getElementById("thumbnails");var rc=$(window).height();var sc=$(window).width();if(rc>=0){if(m.offsetTop)rc-=m.offsetTop;m.style.height=rc+"px";t.style.height=rc+"px";}
if(sc>=0){m.style.width=(sc-t.offsetWidth)+"px";}
}
function tc(){var uc=new Object();var vc=location.search.substring(1);var wc=vc.split("&");for(var i=0;i<wc.length;i++){var xc=wc[i].indexOf("=");if(xc<0)continue;var name=wc[i].substring(0,xc);var yc=wc[i].substring(xc+1);uc[name]=yc;}
return uc;}
function zc($c){var text="";var _c=0;var zoom=6;var latlng="51.5265,-0.13102";var ad=0;var bd=0;switch(API){case API_GOOGLE:var MapTypeIds=[google.maps.MapTypeId.ROADMAP,google.maps.MapTypeId.SATELLITE,google.maps.MapTypeId.HYBRID,google.maps.MapTypeId.TERRAIN
];var cd=map.getMapTypeId();for(var i=0;i<MapTypeIds.length;i++)if(MapTypeIds[i]==cd){_c=i;break;}
zoom=map.getZoom();latlng=map.getCenter().toUrlValue();ad=layerList.getNumLayers();break;case API_OPENLAYERS:_c=map.getLayerIndex(map.baseLayer);if(_c<=3)_c=3-_c;zoom=map.getZoom();var dd=map.getCenter();dd.transform(map.getProjectionObject(),new OpenLayers.Projection("EPSG:4326"));latlng=dd.lat.toFixed(6)+","+dd.lon.toFixed(6);ad=OLUtils.getNumLayers(map);bd=OLUtils.getFirstDataLayerIndex(map);break;}
if($c){if($c["maptype"])_c=parseInt($c["maptype"]);if($c["zoom"])_c=parseInt($c["zoom"]);if($c["lat"]){var ed=latlng.split(latlng,",");latlng=$c["lat"]+","+ed[1];}
if($c["lon"]){var ed=latlng.split(latlng,",");latlng=ed[0]+","+$c["lon"];}
}
text+=_c+","+zoom+","+latlng;for(var i=0;i<ad;i++){var fd=0;switch(API){case API_GOOGLE:fd=layerList.getUserData(i);break;case API_OPENLAYERS:fd=map.layers[ad-i-1+bd].mapid;if(typeof fd=="undefined")continue;break;}
var opacity=0,winx=0,winy=0,winv=0;var gd=$('#csWindow'+fd);if(gd.length>0){switch(API){case API_GOOGLE:opacity=layerList.getOpacity(i);break;case API_OPENLAYERS:opacity=map.layers[ad-i-1+bd].opacity;break;}
var hd=$(gd[0]);winx=hd.position().left/$(window).width();winy=hd.position().top/$(window).height();winv=(hd.css('visibility')=="visible")?1:0;}
text+=","+fd+","+opacity+","+winv+","+winx.toFixed(3)+","+winy.toFixed(3);}
return id(text);}
function documentStateFromURI(){var jd=tc();var kd=jd["s"];var ld=jd["k"];cb["kml"]=ld;if(kd==null){switch(API){case API_GOOGLE:if(layerList.getNumLayers()>0){cb["map"]={maptype:0,zoom:layerList.getInitialZoom(),latlng:layerList.getAllLayersCentre()}
;cb["defaultview"]=true;}
else
cb["map"]={maptype:0,zoom:6,latlng:new google.maps.LatLng(51.52650545529106,-0.13102327732138574)}
;break;case API_OPENLAYERS:if(OLUtils.getNumLayers(map)>0){latlng=OLUtils.getAllLayersCentre(map);if(latlng)latlng.transform(map.getProjectionObject(),new OpenLayers.Projection("EPSG:4326"));cb["map"]={maptype:0,zoom:OLUtils.getInitialZoom(map),latlng:latlng}
;cb["defaultview"]=true;}
else
cb["map"]={maptype:0,zoom:6,latlng:new OpenLayers.LonLat(-0.13102327732138574,51.52650545529106)}
;break;}
return;}
var md=nd(kd);var od=md.split(",");if(od.length<4)return;var maptype=parseInt(od[0]);var zoom=parseInt(od[1]);var pd=parseFloat(od[2]);var qd=parseFloat(od[3]);var latlng=null;if((pd<=-90)||(pd>=90)||(qd<=-180)||(qd>=180)||(zoom<0)){switch(API){case API_GOOGLE:latlng=layerList.getAllLayersCentre();zoom=layerList.getInitialZoom();break;case API_OPENLAYERS:latlng=OLUtils.getAllLayersCentre(map);latlng.transform(map.getProjectionObject(),new OpenLayers.Projection("EPSG:4326"));zoom=OLUtils.getInitialZoom(map);break;}
cb["defaultview"]=true;}
else{switch(API){case API_GOOGLE:latlng=new google.maps.LatLng(pd,qd);break;case API_OPENLAYERS:latlng=new OpenLayers.LonLat(qd,pd);break;}
}
cb["map"]={maptype:maptype,zoom:zoom,latlng:latlng}
;var ad=Math.floor((od.length-4)/5);var rd=0;switch(API){case API_GOOGLE:rd=layerList.getNumLayers();break;case API_OPENLAYERS:rd=OLUtils.getNumLayers(map);break;}
if(ad>rd)ad=rd;var f=4;for(var i=0;i<ad;i++){var fd=parseInt(od[f++]);var opacity=parseFloat(od[f++]);var winv=parseInt(od[f++]);var winx=parseFloat(od[f++]);var winy=parseFloat(od[f++]);cb["mapid"+fd]={opacity:opacity,winv:winv,winx:winx,winy:winy}
;}
}
function id(text){var sd="0123456789.-,=";var td="===";var ud="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!*";var vd=text.length%3;if(vd>0)text+=td.substr(vd);var fb="";for(var i=0;i<text.length;i+=3){var wd=sd.indexOf(text.charAt(i));var xd=sd.indexOf(text.charAt(i+1));var yd=sd.indexOf(text.charAt(i+2));var zd=(wd<<2)|((xd&0x0c)>>2);var $d=((xd&0x03)<<4)|yd;fb+=ud.charAt(zd)+ud.charAt($d);}
return fb;}
function nd(_d){var sd="0123456789.-,=";var ud="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!*";var ae="";for(var i=0;i<_d.length;i+=2){var be=0,ce=0;be=ud.indexOf(_d.charAt(i));if((i+1)<_d.length)ce=ud.indexOf(_d.charAt(i+1));var wd=be>>2;var xd=((be&0x03)<<2)|((ce&0x30)>>4);var yd=ce&0x0f;ae=ae+sd.charAt(wd)+sd.charAt(xd)+sd.charAt(yd);}
var xc=ae.indexOf('=');if(xc>0)ae=ae.substr(0,xc);return ae;}
function de(a){var text="";for(var i=a.length-1;i>=0;i--){var c=a.charAt(i);if((c<'0')||(c>'9')){text=a.substring(i+1,a.length);break;}
}
return parseInt(text);}
function ee(eb){if($(eb).ToggleButton('ticked')==true)fe($(eb).attr('id'));else ge($(eb).attr('id'));}
function fe(he){var fd=de(he);var ie=$('#csWindow'+fd);var je=$('#mapbutton'+fd);var ke=$(window).width()-parseInt($('thumbnails').css('width'))-parseInt(ie.css('width'));var le=$(window).height()-parseInt(ie.css('height'));var winx=parseInt(ie.css('left'));var winy=parseInt(ie.css('top'));if(winx<0)ie.css('left','0px');else if(winx>ke)ie.css('left',ke+'px');if(winy<96)ie.css('top','96px');else if(winy>le)ie.css('top',le+'px');ie.css('visibility',"visible");je.ToggleButton('setState',true);}
function ge(he){var fd=de(he);var ie=$('#csWindow'+fd);var je=$('#mapbutton'+fd);ie.css('visibility','hidden');je.ToggleButton('setState',false);}
function me(e,ne){var eb=ne.item;var fd=de(eb.attr('id'));var oe="sortme"+fd;var lc=$('#sortablemapstiles li.sortme');var pe=lc.length;lc=lc.append($('#sortablemapskml li.sortme'));var qe=0;while((qe<lc.length)&&(lc[qe].id!=oe))++qe;if(qe>=lc.length)return;switch(API){case API_GOOGLE:var ad=layerList.getNumLayers();var re=-1;for(var i=0;i<ad;i++){if(parseInt(layerList.getUserData(i))==fd){re=i;break;}
}
if(re<0)return;layerList.moveLayer(re,qe);kmlOverlayControl.refresh();break;case API_OPENLAYERS:var ad=map.layers.length;var se=0;var re=-1;for(var i=0;i<ad;i++){if(map.layers[i].isBaseLayer)se=i;if(parseInt(map.layers[i].mapid)==fd){re=i;break;}
}
if(re<0)return;var te;if(qe>=pe){te=lc.length-qe+pe+se;}
else{te=pe-qe+se;}
if(re!=te)map.setLayerIndex(map.layers[re],te);break;}
}
function ue(a,b){switch(API){case API_GOOGLE:layerList.refreshOpacity();var ve=layerList.getNumLayers();for(var i=0;i<ve;i++){if((b>a)&&(b>layerList.getMaxZoomLevel(i))){var fd=layerList.getUserData(i);$('thumbmap'+fd).setOpacity(0.2);}
else if((b<a)&&(a<=layerList.getMaxZoomLevel(i)+1)){var fd=layerList.getUserData(i);$('thumbmap'+fd).setOpacity(1.0);}
}
break;case API_OPENLAYERS:var z=map.getZoom();var ve=map.layers.length;for(var i=OLUtils.getFirstDataLayerIndex(map);i<ve;i++){if((map.layers[i])&&(map.layers[i].mapid)){var fd=map.layers[i].mapid;if(z>map.layers[i].maxZoomLevel){$('#thumbmap'+fd).css('opacity',0.2);}
else{$('#thumbmap'+fd).css('opacity',1.0);}
}
}
break;}
}
function we(zoom){switch(API){case API_GOOGLE:var ve=layerList.getNumLayers();for(var i=0;i<ve;i++){var fd=layerList.getUserData(i);if(zoom>layerList.getMaxZoomLevel(i))$('#thumbmap'+fd).css('opacity',0.2);else
$('#thumbmap'+fd).css('opacity',1.0);}
break;case API_OPENLAYERS:var ve=map.layers.length;for(var i=OLUtils.getFirstDataLayerIndex(map);i<ve;i++){if((map.layers[i])&&(map.layers[i].mapid)){var fd=map.layers[i].mapid;if(zoom>map.layers[i].maxZoomLevel)$('#thumbmap'+fd).css('opacity',0.2);else
$('#thumbmap'+fd).css('opacity',1.0);}
}
break;}
}
function xe(){switch(API){case API_GOOGLE:layerList.refreshOpacity();break;case API_OPENLAYERS:}
}
function ye(gd,lc){var ze=2;var $e=parseInt(gd.css('z-index'));for(var i=0;i<lc.length;i++){var _e=parseInt($(lc[i]).css('z-index'));if(_e>$e)$(lc[i]).css('z-index',_e-1);}
gd.css('z-index',ze+lc.length);}
function searchPage(){var af="search.aspx?";var jd=tc();if(jd["m"])af+="m="+jd["m"]+"&";af+="s="+zc();var ld;switch(API){case API_GOOGLE:if(kmlOverlayControl)ld=kmlOverlayControl.getKML();break;case API_OPENLAYERS:var bf=map.getControlsByClass("KMLButtonControl");if(bf.length>0)ld=bf[0].getKML();break;}
if(ld!=null)af+="&k="+encodeURIComponent(ld);window.location=af;return true;}
function linkPage(){var af="map-link.aspx?";var jd=tc();if(jd["m"])af+="m="+jd["m"]+"&";af+="s="+zc();var ld;switch(API){case API_GOOGLE:if(kmlOverlayControl)ld=kmlOverlayControl.getKML();break;case API_OPENLAYERS:var bf=map.getControlsByClass("KMLButtonControl");if(bf.length>0)ld=bf[0].getKML();break;}
if(ld!=null)af+="&k="+encodeURIComponent(ld);window.open(af,"linkwindow","");return true;}
function initialiseMap(){var cf=$('#sortablemapstiles').sortable({'axis':'y','containment':'parent','handle':'.thumbmap','helper':'clone','revert':true,'opacity':0.5,'tolerance':'pointer','stop':me
}
);cf.disableSelection();var df=$('#sortablemapskml').sortable({'axis':'y','containment':'parent','handle':'.thumbmap','helper':'clone','revert':true,'opacity':0.5,'tolerance':'pointer','stop':me
}
);df.disableSelection();var ef=$('#sortablemapstiles img.mapbutton').ToggleButton({'toggleevent':ee}
);for(var i=0;i<ef.length;i++){var je=$(ef[i]);je.attr('mapid',de(je.attr('id')));je.ToggleButton('setState',true);}
var ff=$('#sortablemapstiles div.sliderarea');for(var i=0;i<ff.length;i++){var area=ff[i];var gf=10;var nb=cb["mapid"+de(area.id)];if(nb)gf=nb.opacity*20;var hf=de(area.id);var jf=$(area).slider({'min':0,'max':20,'step':1,'value':gf,'animate':true,'orientation':'horizontal','change':function(e,ne){var fd=$(this).attr('mapid');switch(API){case API_GOOGLE:for(var i=0;i<layerList.getNumLayers();i++)if(layerList.getUserData(i)==fd){layerList.setOpacity(i,ne.value/20);break;}
break;case API_OPENLAYERS:for(var i=0;i<map.layers.length;i++)if(map.layers[i].mapid==fd){map.layers[i].setOpacity(ne.value/20);break;}
break;}
}
}
).attr('mapid',hf);jf.slider('value',gf);}
var kf=$('#map');var lf=$('div.csWindow');if(lf.length>0){var mf=$(window).height(),nf=$(window).width();var winx=$(window).width()-parseInt($('#thumbnails').css('width'))-parseInt($(lf[0]).css('width'));for(var i=0;i<lf.length;i++){var of=$(lf[i]).draggable({'containment':kf,'start':function(e,ne){ye(ne.helper,lf);}
}
);var nb=cb["mapid"+de(lf[i].id)];if((nb)&&(nb.winx>=0)&&(nb.winy>=0)){$(lf[i]).css('left',nb.winx*nf+'px');$(lf[i]).css('top',nb.winy*mf+'px');if(nb.winv!=0)fe(lf[i].id);else ge(lf[i].id);}
else{$(lf[i]).css('left',winx+'px');var winy=96+i*64;$(lf[i]).css('top',winy+'px');$(lf[i]).css('visibility','visible');}
}
}
var pf=$('input.csCloseButton');for(var i=0;i<pf.length;i++){$(pf[i]).click(function(e){ge($(this).attr('id'));}
);}
var qf=new ThumbnailList($('#thumbnails')[0],$('#upbutton')[0],$('#downbutton')[0],$('#thumbdivider')[0]);var rf=cb["map"];we(rf?rf.zoom:6);switch(API){case API_GOOGLE:if(rf){var maptype=rf.maptype<=3?rf.maptype:0;map.setOptions({center:rf.latlng,zoom:rf.zoom}
);var MapTypeIds=[google.maps.MapTypeId.ROADMAP,google.maps.MapTypeId.SATELLITE,google.maps.MapTypeId.HYBRID,google.maps.MapTypeId.TERRAIN
];map.setMapTypeId(MapTypeIds[maptype]);}
else{map.setOptions({center:new google.maps.LatLng(51.52650545529106,-0.13102327732138574),zoom:6}
);}
layerList.rebuildGMap();if((cb["defaultview"]==true)&&(layerList.containsKMLLayer()))layerList.scheduleMapDefaultView();google.maps.event.addListener(map,"zoomend",ue);google.maps.event.addListener(map,"maptypechanged",xe);layerList.onfeaturechange=function(d){if(layerList.featureInfoWindow!=null)layerList.featureInfoWindow.close();else layerList.featureInfoWindow=new google.maps.InfoWindow({'content':'','size':new google.maps.Size(50,50)}
);layerList.featureInfoWindow.setOptions({'content':"Waiting for attribute data...<br /><img src='images/waiting.gif' alt='(waiting)' width='32' height='32' />"}
);layerList.featureInfoWindow.setPosition(d.latLng);layerList.featureInfoWindow.open(map);var sf=new Array();for(var i=0;i<layerList.getNumLayers();i++){sf.push("<br />"+layerList.getMapTitle(i)+"<br /><hr />");var dc="FeatureClickService.svc\x2FGetHtml?mapid="+d.layers[i]+"&x="+d.tileX+"&y="+d.tileY+"&tile="+encodeURIComponent(d.tileName)+"&lat="+d.latLng.lat()+"&lon="+d.latLng.lng()+"&z="+map.getZoom();jQuery.get(dc,{}
,function(tf){return function(nb,uf,vf){sf[tf]=sf[tf]+nb;layerList.featureInfoWindow.setContent(sf.join(""));}
}
(i));}
}
bb.setEnabled(layerList.getNumClickableLayers()>0);var ld=cb["kml"];if(ld!=null)kmlOverlayControl.setKML(decodeURIComponent(ld));break;case API_OPENLAYERS:if(rf){var wf=new OpenLayers.LonLat(rf.latlng.lon,rf.latlng.lat).transform(new OpenLayers.Projection("EPSG:4326"),map.getProjectionObject());map.setCenter(wf,rf.zoom);var maptype=(rf.maptype<=3)?(3-rf.maptype):rf.maptype;if((maptype<0)||(maptype>=map.layers.length))maptype=6;map.setBaseLayer(map.layers[maptype]);}
else{var wf=new OpenLayers.LonLat(-0.13102327732138574,51.52650545529106).transform(new OpenLayers.Projection("EPSG:4326"),map.getProjectionObject());map.setCenter(wf,6);}
if((cb["defaultview"]==true)&&(OLUtils.containsKMLLayer(map)))OLUtils.scheduleMapDefaultView(map);map.events.register("zoomend",map,ue);OLUtils.onfeaturechange=function(d){OLUtils.featureclickpopup=new OpenLayers.Popup.FramedCloud("featureclick",d.mapLatLng,new OpenLayers.Size(200,200),"<div style='font-size:.8em'>Waiting for attribute data...<br /><img src='images/waiting.gif' alt='(waiting)' width='32' height='32' /><\x2Fdiv>",{'size':new OpenLayers.Size(8,8),'offset':new OpenLayers.Pixel(0,0)}
,true);map.addPopup(OLUtils.featureclickpopup,true);var sf=new Array();var ad=OLUtils.getNumLayers(map);var bd=OLUtils.getFirstDataLayerIndex(map);for(var i=0;i<ad;i++){var fd=map.layers[ad-i-1+bd].mapid;if(typeof fd=="undefined")continue;sf.push("<br />"+map.layers[ad-i-1+bd].name+"<br /><hr />");var dc="FeatureClickService.svc/GetHtml?mapid="+d.layers[i]+"&x="+d.tileX+"&y="+d.tileY+"&tile="+d.tileName+"&lat="+d.latLng.lat+"&lon="+d.latLng.lon+"&z="+map.getZoom();var xf=OpenLayers.Request.GET({'url':"FeatureClickService.svc\x2FGetHtml?mapid="+d.layers[i]+"&x="+d.tileX+"&y="+d.tileY+"&tile="+encodeURIComponent(d.tileName)+"&lat="+d.latLng.lat+"&lon="+d.latLng.lon,'callback':function(tf){return function(yf){if(yf.status==200){sf[tf]=sf[tf]+yf.responseText;OLUtils.featureclickpopup=new OpenLayers.Popup.FramedCloud("featureclick",d.mapLatLng,new OpenLayers.Size(200,200),"<div style='font-size:.8em'>"+sf.join("")+"<\x2Fdiv>",{'size':new OpenLayers.Size(8,8),'offset':new OpenLayers.Pixel(0,0)}
,true);map.addPopup(OLUtils.featureclickpopup,true);}
else{}
}
}
(i),zf:this
}
);}
}
bb.setEnabled(OLUtils.getNumClickableLayers(map)>0);var ld=cb["kml"];if(ld!=null){var bf=map.getControlsByClass("KMLButtonControl");if(bf.length>0)bf[0].setKML(decodeURIComponent(ld));}
break;}
var MapAPISwitcher=$('#APISwitcher').RadioImageControl({'on_images':['images/on_Google2.gif','images/on_OpenLayers.gif'],'off_images':['images/off_Google2.gif','images/off_OpenLayers.gif'],'activeButton':API,'onClick':function(e,tb){var ld;var $c=null;switch(API){case API_GOOGLE:if(kmlOverlayControl)ld=kmlOverlayControl.getKML();if(map.getMapTypeId()==google.maps.MapTypeId.ROADMAP){$c={'maptype':6}
;}
break;case API_OPENLAYERS:var bf=map.getControlsByClass("KMLButtonControl");if(bf.length>0)ld=bf[0].getKML();break;}
var $f="";if(tb==0){$f="map.aspx?m=gm";var ld;}
else{$f="map.aspx?m=ol";}
$f+="&s="+zc($c);if(ld!=null)$f+="&k="+encodeURIComponent(ld);window.location=$f;}
}
);}
function defineMap(){switch(API){case API_GOOGLE:var _f={zoom:6,center:new google.maps.LatLng(51.5265,-0.13102),mapTypeId:google.maps.MapTypeId.ROADMAP,panControl:true,zoomControl:true,mapTypeControl:true,scaleControl:true,streetViewControl:true,overviewMapControl:true
}
;map=new google.maps.Map(document.getElementById("map"),_f);var ag=document.createElement('DIV');kmlOverlayControl=new KMLOverlayControl(ag,map);ag.index=2;map.controls[google.maps.ControlPosition.TOP_RIGHT].push(ag);layerList=new MLList(map);var bg=document.createElement('DIV');bb=new FeatureClickControl(bg,function(fc){layerList.setFeatureClickEnabled(fc);}
);bg.index=2;map.controls[google.maps.ControlPosition.LEFT_TOP].push(bg);break;case API_OPENLAYERS:OpenLayers.ProxyHost="/KMLProxy.ashx?k=";bb=new OLUtils.FeatureClickControl({'onclick':function(fc){OLUtils.setFeatureClickEnabled(map,fc);}
}
);map=new OpenLayers.Map("map",{'controls':[new OpenLayers.Control.Navigation(),new OpenLayers.Control.PanZoomBar(),new OpenLayers.Control.Attribution(),new OpenLayers.Control.LayerSwitcher({'ascending':false}
),new OpenLayers.Control.MousePosition(),new OLUtils.KMLButtonControl(),bb],'maxExtent':new OpenLayers.Bounds(-20037508.34,-20037508.34,20037508.34,20037508.34),'maxResolution':156543.0399,'numZoomLevels':18,'units':'m','projection':new OpenLayers.Projection("EPSG:900913"),'displayProjection':new OpenLayers.Projection("EPSG:4326")}
);map.addLayers([new OpenLayers.Layer.Google("Google (Terrain)",{'type':google.maps.MapTypeId.TERRAIN}
),new OpenLayers.Layer.Google("Google (Hybrid)",{'type':google.maps.MapTypeId.HYBRID}
),new OpenLayers.Layer.Google("Google (Sat)",{'type':google.maps.MapTypeId.SATELLITE}
),new OpenLayers.Layer.Google("Google (Map)",{'type':google.maps.MapTypeId.ROADMAP}
),new OpenLayers.Layer.OSM.CycleMap("CycleMap"),new OpenLayers.Layer.OSM.Osmarender("Osmarender"),new OpenLayers.Layer.OSM.Mapnik("Mapnik")]);break;}
}

