/* Wednesday, February 22, 2012 11:28:08 AM *//* l: False D:False F:False*/var $ga,map,layer,options,panel,layerSwitcher,legend,overviewMap,click,selectBox,gearsProtocol,drawLayer,infoLayer,printLayer,control,toolbarControls,findControl,viewsControl,clearSelectionControl,bufferControl,printControl,keyboardControl,drawTextControl,panZoomBar,mousePosition,zoomBoxControl,touchNavigationControl,vectorTypeLookup={},templateData=[],vectorStyleMap,customTools=[],infoPopup,infoFeature,printFeature,reportWindow,layerString="",totalFeatures=0;function log(logText){if(/error/gi.test(logText)){var msgText=logText;msgText=msgText.replace(/^\{\"message\"\:/i,"");msgText=msgText.replace(/\}$/,"");$.post("/manifold/wms.log",{data:'{ "message": '+JSON.stringify(msgText)+"}"})}}function gAnalytics(){if(typeof uip!="undefined")try{_gaq.push(["_setCustomVar",5,"ip",uip,2])}catch(e){}}function trackPageView(url){try{_gaq.push(["_trackPageview",url])}catch(ex){log("trackPageView error: "+ex+" | url: "+url)}}function clearLog(){$("#logWindow").html("")}function checkLogin(){try{$('<div id="login"></div>').appendTo($("#topRight"));if(isAuth){$("#login").css("background-position","144px -44px").attr("title","Logout");$("#login").click(function(){trackPageView("/logout");window.location.href="https://config.fallsviewer.ca/logout.aspx"})}else{$("#login").css("background-position","168px -44px").attr("title","Login");$("#login").click(function(){window.location.href="https://config.fallsviewer.ca/login.aspx"})}}catch(e){log("Check Login Error: "+e)}}function showStatus(msg,displayClass,pauseTime,fadeOutTime){try{if(fadeOutTime<0)$("#topStatus").html(msg).stop(true).css("display","block").removeClass().addClass(displayClass).click(function(){$(this).fadeOut(50)});else $("#topStatus").html(msg).stop(true).css("display","block").removeClass().addClass(displayClass).fadeTo(pauseTime,1).fadeOut(fadeOutTime)}catch(e){$("#topStatus").hide();log("Error with showStatus: "+e)}}function fadeStatus(fadeOutTime){$("#topStatus").fadeOut(fadeOutTime)}function jsonError(xr,textStatus,errorThrown){fadeStatus(100);showStatus("There was an error retrieving data from the server.&nbsp;&nbsp;Please try again.","statusError",3e3,1500);try{map.removePopup(infoPopup);infoPopup.destroy()}catch(jse){}try{log(errorThrown)}catch(e){log("jsonError Error: "+e)}};OpenLayers.Control.ScaleBar=OpenLayers.Class(OpenLayers.Control,{element:null,scale:1,displaySystem:"metric",minWidth:100,maxWidth:200,divisions:2,subdivisions:2,showMinorMeasures:false,abbreviateLabel:false,singleLine:false,align:"left",div:null,scaleText:"scale 1:",thousandsSeparator:"",measurementProperties:{english:{units:["miles","feet","inches"],abbr:["mi","ft","in"],inches:[63360,12,1]},metric:{units:["kilometers","meters","centimeters"],abbr:["km","m","cm"],inches:[39370.07874,39.370079,.393701]}},limitedStyle:false,customStyles:null,defaultStyles:{Bar:{height:11,top:12,borderLeftWidth:0,borderRightWidth:0},BarAlt:{height:11,top:12,borderLeftWidth:0,borderRightWidth:0},MarkerMajor:{height:13,width:13,top:12,borderLeftWidth:0,borderRightWidth:0},MarkerMinor:{height:13,width:13,top:12,borderLeftWidth:0,borderRightWidth:0},NumbersBox:{height:13,width:40,top:24},LabelBox:{height:15,top:-2},LabelBoxSingleLine:{height:15,width:35,top:5,left:10}},appliedStyles:null,initialize:function(options){OpenLayers.Control.prototype.initialize.apply(this,[options]);if(!document.styleSheets)this.limitedStyle=true;if(this.limitedStyle){this.appliedStyles=OpenLayers.Util.extend({},this.defaultStyles);OpenLayers.Util.extend(this.appliedStyles,this.customStyles)}this.element=document.createElement("div");this.element.style.position="relative";this.element.className=this.displayClass+"Wrapper";this.labelContainer=document.createElement("div");this.labelContainer.className=this.displayClass+"Units";this.labelContainer.style.position="absolute";this.graphicsContainer=document.createElement("div");this.graphicsContainer.style.position="absolute";this.graphicsContainer.className=this.displayClass+"Graphics";this.numbersContainer=document.createElement("div");this.numbersContainer.style.position="absolute";this.numbersContainer.className=this.displayClass+"Numbers";this.element.appendChild(this.graphicsContainer);this.element.appendChild(this.labelContainer);this.element.appendChild(this.numbersContainer)},destroy:function(){this.map.events.unregister("moveend",this,this.onMoveend);this.div.innerHTML="";OpenLayers.Control.prototype.destroy.apply(this)},draw:function(){OpenLayers.Control.prototype.draw.apply(this,arguments);this.dxMarkerMajor=(this.styleValue("MarkerMajor","borderLeftWidth")+this.styleValue("MarkerMajor","width")+this.styleValue("MarkerMajor","borderRightWidth"))/2;this.dxMarkerMinor=(this.styleValue("MarkerMinor","borderLeftWidth")+this.styleValue("MarkerMinor","width")+this.styleValue("MarkerMinor","borderRightWidth"))/2;this.dxBar=(this.styleValue("Bar","borderLeftWidth")+this.styleValue("Bar","borderRightWidth"))/2;this.dxBarAlt=(this.styleValue("BarAlt","borderLeftWidth")+this.styleValue("BarAlt","borderRightWidth"))/2;this.dxNumbersBox=this.styleValue("NumbersBox","width")/2;var classNames=["Bar","BarAlt","MarkerMajor","MarkerMinor"];if(this.singleLine)classNames.push("LabelBoxSingleLine");else classNames.push("NumbersBox","LabelBox");for(var vertDisp=0,classIndex=0;classIndex<classNames.length;++classIndex){var cls=classNames[classIndex];vertDisp=Math.max(vertDisp,this.styleValue(cls,"top")+this.styleValue(cls,"height"))}this.element.style.height=vertDisp+"px";this.xOffsetSingleLine=this.styleValue("LabelBoxSingleLine","width")+this.styleValue("LabelBoxSingleLine","left");this.div.appendChild(this.element);this.map.events.register("moveend",this,this.onMoveend);this.update();return this.div},onMoveend:function(){this.update()},update:function(scale){if(this.map.baseLayer==null||!this.map.getScale())return;this.scale=scale!=undefined?scale:this.map.getScale();this.element.title=this.scaleText+OpenLayers.Number.format(this.scale);this.element.style.width=this.maxWidth+"px";var comp=this.getComp();this.setSubProps(comp);this.labelContainer.innerHTML="";this.graphicsContainer.innerHTML="";this.numbersContainer.innerHTML="";for(var numDiv=this.divisions*this.subdivisions,alignmentOffset={left:0+(this.singleLine?0:this.dxNumbersBox),center:this.maxWidth/2-numDiv*this.subProps.pixels/2-(this.singleLine?this.xOffsetSingleLine/2:0),right:this.maxWidth-numDiv*this.subProps.pixels-(this.singleLine?this.xOffsetSingleLine:this.dxNumbersBox)},xPos,measure,divNum,cls,left,di=0;di<this.divisions;++di){xPos=di*this.subdivisions*this.subProps.pixels+alignmentOffset[this.align];this.graphicsContainer.appendChild(this.createElement("MarkerMajor"," ",xPos-this.dxMarkerMajor));if(!this.singleLine){measure=di==0?0:OpenLayers.Number.format(di*this.subdivisions*this.subProps.length,this.subProps.dec,this.thousandsSeparator);this.numbersContainer.appendChild(this.createElement("NumbersBox",measure,xPos-this.dxNumbersBox))}for(var si=0;si<this.subdivisions;++si){if(si%2==0){cls="Bar";left=xPos-this.dxBar}else{cls="BarAlt";left=xPos-this.dxBarAlt}this.graphicsContainer.appendChild(this.createElement(cls," ",left,this.subProps.pixels));if(si<this.subdivisions-1){divNum=di*this.subdivisions+si+1;xPos=divNum*this.subProps.pixels+alignmentOffset[this.align];this.graphicsContainer.appendChild(this.createElement("MarkerMinor"," ",xPos-this.dxMarkerMinor));if(this.showMinorMeasures&&!this.singleLine){measure=divNum*this.subProps.length;this.numbersContainer.appendChild(this.createElement("NumbersBox",measure,xPos-this.dxNumbersBox))}}}}xPos=numDiv*this.subProps.pixels;xPos+=alignmentOffset[this.align];this.graphicsContainer.appendChild(this.createElement("MarkerMajor"," ",xPos-this.dxMarkerMajor));measure=OpenLayers.Number.format(numDiv*this.subProps.length,this.subProps.dec,this.thousandsSeparator);!this.singleLine&&this.numbersContainer.appendChild(this.createElement("NumbersBox",measure,xPos-this.dxNumbersBox));var labelBox=document.createElement("div");labelBox.style.position="absolute";var labelText;if(this.singleLine){labelText=measure;labelBox.className=this.displayClass+"LabelBoxSingleLine";labelBox.style.left=Math.round(xPos+this.styleValue("LabelBoxSingleLine","left"))+"px"}else{labelText="";labelBox.className=this.displayClass+"LabelBox";labelBox.style.textAlign="center";labelBox.style.width=Math.round(numDiv*this.subProps.pixels)+"px";labelBox.style.left=Math.round(alignmentOffset[this.align])+"px";labelBox.style.overflow="hidden"}if(this.abbreviateLabel)labelText+=" "+this.subProps.abbr;else labelText+=" "+this.subProps.units;labelBox.appendChild(document.createTextNode(labelText));this.labelContainer.appendChild(labelBox)},createElement:function(cls,text,left,width){var element=document.createElement("div");element.className=this.displayClass+cls;OpenLayers.Util.extend(element.style,{position:"absolute",textAlign:"center",overflow:"hidden",left:Math.round(left)+"px"});element.appendChild(document.createTextNode(text));if(width)element.style.width=Math.round(width)+"px";return element},getComp:function(){for(var system=this.measurementProperties[this.displaySystem],numUnits=system.units.length,comp=new Array(numUnits),numDiv=this.divisions*this.subdivisions,unitIndex=0;unitIndex<numUnits;++unitIndex){comp[unitIndex]={};for(var ppdu=OpenLayers.DOTS_PER_INCH*system.inches[unitIndex]/this.scale,minSDDisplayLength=(this.minWidth-this.dxNumbersBox)/ppdu/numDiv,maxSDDisplayLength=(this.maxWidth-this.dxNumbersBox)/ppdu/numDiv,vi=0;vi<numDiv;++vi){for(var minNumber=minSDDisplayLength*(vi+1),maxNumber=maxSDDisplayLength*(vi+1),num=this.getHandsomeNumber(minNumber,maxNumber),compNum={value:num.value/(vi+1),score:0,tie:0,dec:0,displayed:0},vi2=0;vi2<numDiv;++vi2){var position=num.value*(vi2+1)/(vi+1),num2=this.getHandsomeNumber(position,position),major=(vi2+1)%this.subdivisions==0,last=vi2+1==numDiv;if(this.singleLine&&last||!this.singleLine&&(major||this.showMinorMeasures)){compNum.score+=num2.score;compNum.tie+=num2.tie;compNum.dec=Math.max(compNum.dec,num2.dec);compNum.displayed+=1}else{compNum.score+=num2.score/this.subdivisions;compNum.tie+=num2.tie/this.subdivisions}}compNum.score*=(unitIndex+1)*compNum.tie/compNum.displayed;comp[unitIndex][vi]=compNum}}return comp},setSubProps:function(comp){for(var system=this.measurementProperties[this.displaySystem],score=Number.POSITIVE_INFINITY,tie=Number.POSITIVE_INFINITY,unitIndex=0;unitIndex<comp.length;++unitIndex){var ppdu=OpenLayers.DOTS_PER_INCH*system.inches[unitIndex]/this.scale;for(var vi in comp[unitIndex]){var compNum=comp[unitIndex][vi];if(compNum.score<score||compNum.score==score&&compNum.tie<tie){this.subProps={length:compNum.value,pixels:ppdu*compNum.value,units:system.units[unitIndex],abbr:system.abbr[unitIndex],dec:compNum.dec};score=compNum.score;tie=compNum.tie}}}},styleValue:function(selector,key){var value=0;if(this.limitedStyle)value=this.appliedStyles[selector][key];else{selector="."+this.displayClass+selector;rules:for(var i=document.styleSheets.length-1;i>=0;--i){var sheet=document.styleSheets[i];if(!sheet.disabled){var allRules;try{if(typeof sheet.cssRules=="undefined")if(typeof sheet.rules=="undefined")continue;else allRules=sheet.rules;else allRules=sheet.cssRules}catch(err){continue}for(var ruleIndex=0;ruleIndex<allRules.length;++ruleIndex){var rule=allRules[ruleIndex];if(rule.selectorText&&rule.selectorText.toLowerCase()==selector.toLowerCase())if(rule.style[key]!=""){value=parseInt(rule.style[key]);break rules}}}}}return value?value:0},getHandsomeNumber:function(small,big,sigFigs){sigFigs=sigFigs==null?10:sigFigs;for(var num={value:small,score:Number.POSITIVE_INFINITY,tie:Number.POSITIVE_INFINITY,dec:3},cmult,max,dec,tmult,multiplier,score,tie,hexp=0;hexp<3;++hexp){cmult=Math.pow(2,-1*hexp);max=Math.floor(Math.log(big/cmult)/Math.LN10);for(var texp=max;texp>max-sigFigs+1;--texp){dec=Math.max(hexp-texp,0);tmult=cmult*Math.pow(10,texp);if(tmult*Math.floor(big/tmult)>=small){if(small%tmult==0)multiplier=small/tmult;else multiplier=Math.floor(small/tmult)+1;score=multiplier+2*hexp;tie=texp<0?Math.abs(texp)+1:texp;if(score<num.score||score==num.score&&tie<num.tie){num.value=parseFloat((tmult*multiplier).toFixed(dec));num.score=score;num.tie=tie;num.dec=dec}}}}return num},CLASS_NAME:"OpenLayers.Control.ScaleBar"});OpenLayers.Control.LoadingPanel=OpenLayers.Class(OpenLayers.Control,{counter:0,maximized:false,visible:true,initialize:function(options){OpenLayers.Control.prototype.initialize.apply(this,[options])},setVisible:function(visible){this.visible=visible;if(visible)OpenLayers.Element.show(this.div);else OpenLayers.Element.hide(this.div)},getVisible:function(){return this.visible},hide:function(){this.setVisible(false)},show:function(){this.setVisible(true)},toggle:function(){this.setVisible(!this.getVisible())},addLayer:function(evt){if(evt.layer){evt.layer.events.register("loadstart",this,this.increaseCounter);evt.layer.events.register("loadend",this,this.decreaseCounter)}},setMap:function(){OpenLayers.Control.prototype.setMap.apply(this,arguments);this.map.events.register("preaddlayer",this,this.addLayer);for(var i=0;i<this.map.layers.length;i++){var layer=this.map.layers[i];layer.events.register("loadstart",this,this.increaseCounter);layer.events.register("loadend",this,this.decreaseCounter)}},increaseCounter:function(){this.counter++;if(this.counter>0)!this.maximized&&this.visible&&this.maximizeControl()},decreaseCounter:function(){if(this.counter>0)this.counter--;if(this.counter==0)this.maximized&&this.visible&&this.minimizeControl()},draw:function(){OpenLayers.Control.prototype.draw.apply(this,arguments);return this.div},minimizeControl:function(evt){this.div.style.display="none";this.div.style.width="0px";this.div.style.height="0px";this.maximized=false;evt!=null&&OpenLayers.Event.stop(evt)},maximizeControl:function(evt){var viewSize=this.map.getSize(),msgW=viewSize.w,msgH=viewSize.h;this.div.style.display="block";this.maximized=true;evt!=null&&OpenLayers.Event.stop(evt)},destroy:function(){if(this.map){this.map.events.unregister("preaddlayer",this,this.addLayer);if(this.map.layers)for(var i=0;i<this.map.layers.length;i++){var layer=this.map.layers[i];layer.events.unregister("loadstart",this,this.increaseCounter);layer.events.unregister("loadend",this,this.decreaseCounter)}}OpenLayers.Control.prototype.destroy.apply(this,arguments)},CLASS_NAME:"OpenLayers.Control.LoadingPanel"});OpenLayers.Popup.SmallPopup=OpenLayers.Class(OpenLayers.Popup.Framed,{autoSize:true,panMapIfOutOfView:true,imageSrc:"//img.fallsviewer.ca/popup.png",imageSize:new OpenLayers.Size(741,743),fixedRelativePosition:false,relativePosition:null,positionBlocks:{tr:{offset:new OpenLayers.Pixel(0,0),padding:new OpenLayers.Bounds(10,10,10,10),blocks:[{size:new OpenLayers.Size("auto","auto"),anchor:new OpenLayers.Bounds(6,10,10,0),position:new OpenLayers.Pixel(0,0)},{size:new OpenLayers.Size(10,"auto"),anchor:new OpenLayers.Bounds(null,10,0,0),position:new OpenLayers.Pixel(-731,0)},{size:new OpenLayers.Size("auto",12),anchor:new OpenLayers.Bounds(6,0,10,null),position:new OpenLayers.Pixel(0,-713)},{size:new OpenLayers.Size(10,12),anchor:new OpenLayers.Bounds(null,0,0,null),position:new OpenLayers.Pixel(-731,-713)},{size:new OpenLayers.Size(19,16),anchor:new OpenLayers.Bounds(0,0,10,null),position:new OpenLayers.Pixel(0,-728)}]},tl:{offset:new OpenLayers.Pixel(0,0),padding:new OpenLayers.Bounds(10,10,10,10),blocks:[{size:new OpenLayers.Size("auto","auto"),anchor:new OpenLayers.Bounds(6,10,13,0),position:new OpenLayers.Pixel(0,0)},{size:new OpenLayers.Size(10,"auto"),anchor:new OpenLayers.Bounds(null,10,6,0),position:new OpenLayers.Pixel(-731,0)},{size:new OpenLayers.Size("auto",12),anchor:new OpenLayers.Bounds(6,0,10,null),position:new OpenLayers.Pixel(0,-713)},{size:new OpenLayers.Size(10,12),anchor:new OpenLayers.Bounds(null,0,6,null),position:new OpenLayers.Pixel(-731,-713)},{size:new OpenLayers.Size(19,16),anchor:new OpenLayers.Bounds(null,0,0,null),position:new OpenLayers.Pixel(-19,-728)}]},bl:{offset:new OpenLayers.Pixel(0,0),padding:new OpenLayers.Bounds(10,10,10,10),blocks:[{size:new OpenLayers.Size("auto","auto"),anchor:new OpenLayers.Bounds(0,10,10,0),position:new OpenLayers.Pixel(0,0)},{size:new OpenLayers.Size(10,"auto"),anchor:new OpenLayers.Bounds(null,10,6,0),position:new OpenLayers.Pixel(-731,0)},{size:new OpenLayers.Size("auto",12),anchor:new OpenLayers.Bounds(0,0,12,null),position:new OpenLayers.Pixel(0,-713)},{size:new OpenLayers.Size(10,12),anchor:new OpenLayers.Bounds(null,0,6,null),position:new OpenLayers.Pixel(-731,-713)},{size:new OpenLayers.Size(19,16),anchor:new OpenLayers.Bounds(null,null,0,0),position:new OpenLayers.Pixel(-59,-728)}]},br:{offset:new OpenLayers.Pixel(0,0),padding:new OpenLayers.Bounds(10,10,10,10),blocks:[{size:new OpenLayers.Size("auto","auto"),anchor:new OpenLayers.Bounds(6,10,10,0),position:new OpenLayers.Pixel(0,0)},{size:new OpenLayers.Size(10,"auto"),anchor:new OpenLayers.Bounds(null,10,0,0),position:new OpenLayers.Pixel(-731,0)},{size:new OpenLayers.Size("auto",12),anchor:new OpenLayers.Bounds(6,0,10,null),position:new OpenLayers.Pixel(0,-713)},{size:new OpenLayers.Size(10,12),anchor:new OpenLayers.Bounds(null,0,0,null),position:new OpenLayers.Pixel(-731,-713)},{size:new OpenLayers.Size(19,16),anchor:new OpenLayers.Bounds(0,null,10,0),position:new OpenLayers.Pixel(-39,-728)}]}},minSize:new OpenLayers.Size(105,10),maxSize:new OpenLayers.Size(721,704),halfSize:false,initialize:function(){OpenLayers.Popup.Framed.prototype.initialize.apply(this,arguments)},destroy:function(){OpenLayers.Popup.Framed.prototype.destroy.apply(this,arguments)},draw:function(){if(this.halfSize)this.maxSize=new OpenLayers.Size(Math.min(this.map.getSize().w/2-20,OpenLayers.Popup.SmallPopup.prototype.maxSize.w),Math.min(this.map.getSize().h/2-20,OpenLayers.Popup.SmallPopup.prototype.maxSize.h));return OpenLayers.Popup.Framed.prototype.draw.apply(this,arguments)},CLASS_NAME:"OpenLayers.Popup.SmallPopup"});OpenLayers.Control.cLayerSwitcher=OpenLayers.Class(OpenLayers.Control,{activeColor:"#3B92CD",fontColor:"#3B92CD",layerBackgroundColor:"#FFFFFF",layerBorder:"2px solid #005596",layerStates:null,layersDiv:null,baseLayersDiv:null,baseLayers:null,dataLayersDiv:null,dataLayers:null,minimizeDiv:null,maximizeDiv:null,ascending:true,changeLayerTimerID:0,initialize:function(){OpenLayers.Control.prototype.initialize.apply(this,arguments);this.layerStates=[]},destroy:function(){OpenLayers.Event.stopObservingElement(this.div);OpenLayers.Event.stopObservingElement(this.minimizeDiv);OpenLayers.Event.stopObservingElement(this.maximizeDiv);this.clearLayersArray("base");this.clearLayersArray("data");this.map.events.un({addlayer:this.changeLayer,changelayer:this.changeLayer,scope:this});OpenLayers.Control.prototype.destroy.apply(this,arguments)},setMap:function(){OpenLayers.Control.prototype.setMap.apply(this,arguments)},changeLayer:function(){try{clearTimeout(this.changeLayerTimerID)}catch(ctEx){}this.changeLayerTimerID=setTimeout(this.redraw,50)},changeBaseLayer:function(){},removeLayer:function(){},draw:function(){OpenLayers.Control.prototype.draw.apply(this);this.loadContents();!this.outsideViewport&&this.minimizeControl();return this.div},drawFullSwitcher:function(){this.redraw();this.map.events.on({changelayer:this.changeLayer,addlayer:this.changeLayer,scope:this})},clearLayersArray:function(layersType){var layers=this[layersType+"Layers"];if(layers)for(var i=0,len=layers.length;i<len;i++){var layer=layers[i];OpenLayers.Event.stopObservingElement(layer.inputElem);OpenLayers.Event.stopObservingElement(layer.labelSpan)}this[layersType+"LayersDiv"].innerHTML="";this[layersType+"Layers"]=[]},checkRedraw:function(){var redraw=false;if(!this.layerStates.length||this.map.layers.length!=this.layerStates.length)redraw=true;else for(var i=0,len=this.layerStates.length;i<len;i++){var layerState=this.layerStates[i],layer=this.map.layers[i];if(layerState.name!=layer.name||layerState.inRange!=layer.inRange||layerState.visibility!=layer.visibility){redraw=true;break}}return redraw},redraw:function(){var ls=null;if(typeof this.layerSwitcher!="undefined")ls=this.layerSwitcher;else ls=this;if(!ls.checkRedraw())return ls.div;ls.clearLayersArray("base");ls.clearLayersArray("data");var containsOverlays=false,containsBaseLayers=false,len=ls.map.layers.length;ls.layerStates=new Array(len);for(var lsI=0;lsI<len;lsI++){var thisLayer=ls.map.layers[lsI];ls.layerStates[lsI]={name:thisLayer.name,visibility:thisLayer.visibility,inRange:thisLayer.inRange}}var layers=ls.map.layers.slice();!ls.ascending&&layers.reverse();for(var i=0,layersLen=layers.length;i<layersLen;i++){var layer=layers[i],baseLayer=layer.isBaseLayer;if(layer.displayInLayerSwitcher){if(baseLayer)containsBaseLayers=true;else containsOverlays=true;var checked=baseLayer?layer==ls.map.baseLayer:layer.getVisibility(),layerWrapper=document.createElement("div");layerWrapper.style.margin="4px 0px 4px 2px";layerWrapper.id="layer_"+layer.id;var inputElem=document.createElement("input");inputElem.id=ls.id+"_input_"+layer.name;inputElem.name=baseLayer?"baseLayers":layer.name;inputElem.type=baseLayer?"radio":"checkbox";inputElem.value=layer.name;inputElem.checked=checked;checked&&inputElem.setAttribute("checked","checked");inputElem.defaultChecked=checked;if(!baseLayer&&!layer.inRange)inputElem.disabled=true;var labelSpan=document.createElement("span");if(!baseLayer&&!layer.inRange)labelSpan.style.color="gray";if(layer.isClickable)labelSpan.style.cursor="pointer";labelSpan.innerHTML=layer.name;labelSpan.style.display="block";labelSpan.style.width="170px";labelSpan.style.padding="0px 6px 2px 4px";labelSpan.style.verticalAlign=baseLayer?"bottom":"baseline";var titleDiv=document.createElement("div");titleDiv.id="title_"+layer.id;titleDiv.style.backgroundColor=ls.layerBackgroundColor;titleDiv.style.border=ls.layerBorder;titleDiv.style.width="180px";titleDiv.style.padding="2px";titleDiv.style.position="relative";var buttonSpan=document.createElement("span");buttonSpan.style.padding="3px 3px 3px 0";var upButton=document.createElement("span");upButton.className="layerButton layerUp";upButton.title="move layer up";var downButton=document.createElement("span");downButton.className="layerButton layerDown";downButton.title="move layer down";var opacityMinusButton=document.createElement("span");opacityMinusButton.className="layerButton layerMinus";opacityMinusButton.title="decrease opacity";layer.setOpacity(layer.opacity);var opacitySpan=document.createElement("span");opacitySpan.setAttribute("id","opacityValue_"+layer.id);opacitySpan.style.display="inline-block";opacitySpan.style.width="23px";var opacityImg=document.createElement("span");opacityImg.setAttribute("id","opacityImg_"+layer.id);opacityImg.className="layerButton layerOpacity";opacityImg.title="opacity";opacityImg.style.width=(layer.opacity!=null?(layer.opacity*23).toFixed(0):"23")+"px";var opacityTextInput=document.createElement("input");opacityTextInput.setAttribute("id","opacity_"+layer.id);opacityTextInput.setAttribute("type","hidden");opacityTextInput.setAttribute("value","1.0");var opacityPlusButton=document.createElement("span");opacityPlusButton.className="layerButton layerPlus";opacityPlusButton.title="increase opacity";var metaDataButton=document.createElement("span");metaDataButton.className="layerButton layerMetadata";metaDataButton.title="view metadata";var downloadButton=document.createElement("span");downloadButton.className="layerButton diskButton";downloadButton.Title="download";var context={layer:layer,inputElem:inputElem,titleDiv:titleDiv,layerSwitcher:ls};OpenLayers.Event.observe(inputElem,"mouseup",OpenLayers.Function.bindAsEventListener(ls.onInputClick,context));var queryableButton,queryableImage;if(layer.isClickable){queryableButton=document.createElement("input");queryableButton.id=ls.id+"_query_"+layer.name;queryableButton.name="query_"+layer.name;queryableButton.type="checkbox";queryableButton.value=layer.name;queryableButton.checked=layer.query;queryableButton.defaultChecked=layer.query;queryableButton.style.display="none";if(layer.isClickable&&layer.visibility&&(layer.inRange||layer.isBaseLayer))queryableButton.disabled=false;else queryableButton.disabled=true;queryableImage=document.createElement("span");queryableImage.className="layerButton layerQuery";queryableImage.title="include layer in queries";queryableImage.id="queryImage_"+layer.name;if(queryableButton.checked&&!queryableButton.disabled)queryableImage.style.backgroundPosition="48px -110px";else queryableImage.style.backgroundPosition="60px -110px";var qContext={layer:layer,inputElem:queryableButton,imgElem:queryableImage,titleDiv:titleDiv,layerSwitcher:ls};OpenLayers.Event.observe(queryableImage,"mouseup",OpenLayers.Function.bindAsEventListener(ls.onQueryClick,qContext))}OpenLayers.Event.observe(upButton,"click",OpenLayers.Function.bindAsEventListener(ls.onUpClick,context));OpenLayers.Event.observe(downButton,"click",OpenLayers.Function.bindAsEventListener(ls.onDownClick,context));var opacityMinusContext={layer:layer,byOpacity:"-0.1",layerSwitcher:ls};OpenLayers.Event.observe(opacityMinusButton,"click",OpenLayers.Function.bindAsEventListener(ls.changeLayerOpacity,opacityMinusContext));var opacityPlusContext={layer:layer,byOpacity:"0.1",layerSwitcher:ls};OpenLayers.Event.observe(opacityPlusButton,"click",OpenLayers.Function.bindAsEventListener(ls.changeLayerOpacity,opacityPlusContext));var br=document.createElement("br"),groupArray=baseLayer?ls.baseLayers:ls.dataLayers;groupArray.push({layer:layer,inputElem:inputElem,titleDiv:titleDiv,labelSpan:labelSpan});var groupDiv=baseLayer?ls.baseLayersDiv:ls.dataLayersDiv;groupDiv.appendChild(layerWrapper);layerWrapper.appendChild(titleDiv);titleDiv.appendChild(inputElem);titleDiv.appendChild(buttonSpan);buttonSpan.appendChild(upButton);buttonSpan.appendChild(downButton);buttonSpan.appendChild(opacityMinusButton);opacitySpan.appendChild(opacityImg);buttonSpan.appendChild(opacitySpan);buttonSpan.appendChild(opacityTextInput);buttonSpan.appendChild(opacityPlusButton);if(layer.metaData){OpenLayers.Event.observe(metaDataButton,"click",OpenLayers.Function.bindAsEventListener(ls.onMetaDataClick,context));buttonSpan.appendChild(metaDataButton)}if(layer.dataURL){OpenLayers.Event.observe(downloadButton,"click",OpenLayers.Function.bindAsEventListener(ls.onDownloadClick,context));buttonSpan.appendChild(downloadButton)}if(layer.isClickable){buttonSpan.appendChild(queryableButton);buttonSpan.appendChild(queryableImage)}titleDiv.appendChild(labelSpan)}}return ls.div},onInputClick:function(e){if(!this.inputElem.disabled){if(this.inputElem.type=="radio"){this.inputElem.checked=true;this.layer.map.setBaseLayer(this.layer)}else{this.inputElem.checked=!this.inputElem.checked;this.layerSwitcher.updateMap()}try{bufferLayer()}catch(ex){log("Error performing bufferLayer in onInputClick (layerSwitcher): "+ex)}}e!=null&&OpenLayers.Event.stop(e)},onQueryClick:function(e){if(!this.inputElem.disabled){this.inputElem.checked=!this.inputElem.checked;this.layer.query=this.inputElem.checked;try{bufferLayer()}catch(ex){log("Error running bufferLayer in the onQueryClick function: "+ex)}}if(this.inputElem.checked&&!this.inputElem.disabled)this.imgElem.style.backgroundPosition="48px -110px";else this.imgElem.style.backgroundPosition="60px -110px";e!=null&&OpenLayers.Event.stop(e)},onRemoveClick:function(e){map.removeLayer(this.layer);e!=null&&OpenLayers.Event.stop(e)},onDownClick:function(e){map.raiseLayer(this.layer,-1);e!=null&&OpenLayers.Event.stop(e)},onUpClick:function(e){map.raiseLayer(this.layer,1);e!=null&&OpenLayers.Event.stop(e)},onDataUrlClick:function(){window.open(this.url,"data","width=550,height=350,status=yes,scrollbars=yes,resizable=yes")},onMetaDataClick:function(){window.open("/metadata.html?l="+this.layer.lid+"&hash="+hash,"metadata")},onDownloadClick:function(){window.open(this.layer.dataURL,"downloadOpenData")},onLayerClick:function(){this.updateMap()},changeLayerOpacity:function(){var maxOpacity=1,minOpacity=.1,opacity=this.layer.opacity!=null?this.layer.opacity:1,i=parseFloat(this.byOpacity),opacityElement="opacity_"+this.layer.id,opacityImg="opacityImg_"+this.layer.id,newOpacity=parseFloat(opacity+i).toFixed(1);newOpacity=Math.min(maxOpacity,Math.max(minOpacity,newOpacity));OpenLayers.Util.getElement(opacityElement).value=newOpacity;OpenLayers.Util.getElement(opacityImg).style.width=(newOpacity*23).toFixed(0)+"px";this.layer.setOpacity(newOpacity)},updateMap:function(){for(var bi=0,bLen=this.baseLayers.length;bi<bLen;bi++){var bLayerEntry=this.baseLayers[bi];bLayerEntry.inputElem.checked&&this.map.setBaseLayer(bLayerEntry.layer,false)}for(var di=0,dLen=this.dataLayers.length;di<dLen;di++){var dLayerEntry=this.dataLayers[di];dLayerEntry.layer.setVisibility(dLayerEntry.inputElem.checked)}},maximizeControl:function(e){this.div.style.width="210px";this.div.style.height="100%";this.div.style.borderLeft="solid 1px #999";this.div.style.zIndex="1020";overviewMap.minimizeControl();legend.minimizeControl();$("#topRight").hide();this.showControls(false);e!=null&&OpenLayers.Event.stop(e)},minimizeControl:function(e){this.div.style.width="0px";this.div.style.height="100%";this.div.style.borderLeft="none";this.div.style.zIndex="1000";$("#topRight").show();this.showControls(true);e!=null&&OpenLayers.Event.stop(e)},showControls:function(minimize){this.maximizeDiv.style.display=minimize?"":"none";this.minimizeDiv.style.display=minimize?"none":"";this.layersDiv.style.display=minimize?"none":""},loadContents:function(){this.div.style.zIndex="1010";OpenLayers.Event.observe(this.div,"mouseup",OpenLayers.Function.bindAsEventListener(this.mouseUp,this));OpenLayers.Event.observe(this.div,"click",this.ignoreEvent);OpenLayers.Event.observe(this.div,"mousedown",OpenLayers.Function.bindAsEventListener(this.mouseDown,this));OpenLayers.Event.observe(this.div,"dblclick",this.ignoreEvent);this.layersDiv=document.createElement("div");this.layersDiv.setAttribute("className","olLayerSwitcherLayerContainer");this.layersDiv.id=this.id+"_layersDiv";this.layersDiv.style.overflowX="hidden";this.layersDiv.style.overflowY="auto";this.layersDiv.style.position="relative";this.layersDiv.style.height="100%";this.layersDiv.style.zIndex=1010;OpenLayers.Event.observe(this.layersDiv,"mousewheel",this.ignoreEvent);this.baseLayersDiv=document.createElement("div");this.baseLayersDiv.style.paddingLeft="5px";this.baseLayersDiv.style.paddingBottom="25px";this.dataLayersDiv=document.createElement("div");this.dataLayersDiv.style.paddingLeft="5px";this.dataLayersDiv.style.marginBottom="25px";if(this.ascending){this.layersDiv.appendChild(this.baseLayersDiv);this.layersDiv.appendChild(this.dataLayersDiv)}else{this.layersDiv.appendChild(this.dataLayersDiv);this.layersDiv.appendChild(this.baseLayersDiv)}this.div.appendChild(this.layersDiv);var imgLocation=OpenLayers.Util.getImagesLocation();this.maximizeDiv=document.createElement("div");this.maximizeDiv.id="olLayerSwitcher_MaximizeDiv";OpenLayers.Event.observe(this.maximizeDiv,"click",OpenLayers.Function.bindAsEventListener(this.maximizeControl,this));this.div.appendChild(this.maximizeDiv);this.minimizeDiv=document.createElement("div");this.minimizeDiv.id="olLayerSwitcher_MinimizeDiv";OpenLayers.Event.observe(this.minimizeDiv,"click",OpenLayers.Function.bindAsEventListener(this.minimizeControl,this));this.div.appendChild(this.minimizeDiv)},ignoreEvent:function(evt){OpenLayers.Event.stop(evt)},mouseDown:function(evt){this.isMouseDown=true;this.ignoreEvent(evt)},mouseUp:function(evt){if(this.isMouseDown){this.isMouseDown=false;this.ignoreEvent(evt)}},CLASS_NAME:"OpenLayers.Control.cLayerSwitcher"});OpenLayers.Control.cOverviewMap=OpenLayers.Class(OpenLayers.Control,{activeColor:"#3B92CD",element:null,ovmap:null,size:new OpenLayers.Size(200,90),layers:null,minRectSize:15,minRectDisplayClass:"RectReplacement",minRatio:8,maxRatio:32,mapOptions:null,autoPan:false,handlers:null,resolutionFactor:1,initialize:function(options){this.layers=[];this.handlers={};OpenLayers.Control.prototype.initialize.apply(this,[options])},destroy:function(){if(!this.mapDiv)return;try{this.handlers.click.destroy()}catch(ex){}this.mapDiv.removeChild(this.extentRectangle);this.extentRectangle=null;this.rectEvents.destroy();this.rectEvents=null;this.ovmap.destroy();this.ovmap=null;this.element.removeChild(this.mapDiv);this.mapDiv=null;this.div.removeChild(this.element);this.element=null;if(this.maximizeDiv){OpenLayers.Event.stopObservingElement(this.maximizeDiv);this.div.removeChild(this.maximizeDiv);this.maximizeDiv=null}if(this.minimizeDiv){OpenLayers.Event.stopObservingElement(this.minimizeDiv);this.div.removeChild(this.minimizeDiv);this.minimizeDiv=null}this.map.events.un({moveend:this.update,changebaselayer:this.baseLayerDraw,scope:this});OpenLayers.Control.prototype.destroy.apply(this,arguments)},draw:function(){OpenLayers.Control.prototype.draw.apply(this,arguments);if(this.layers.length<=0)if(this.map.baseLayer){var layer=this.map.baseLayer.clone();this.layers=[layer]}else{this.map.events.register("changebaselayer",this,this.baseLayerDraw);return this.div}this.element=document.createElement("div");this.element.className=this.displayClass+"Element";this.element.style.display="none";this.mapDiv=document.createElement("div");this.mapDiv.style.width=this.size.w+"px";this.mapDiv.style.height=this.size.h+"px";this.mapDiv.style.position="relative";this.mapDiv.style.overflow="hidden";this.mapDiv.style.display="block";this.mapDiv.id=OpenLayers.Util.createUniqueID("overviewMap");this.extentRectangle=document.createElement("div");this.extentRectangle.style.position="absolute";this.extentRectangle.style.zIndex=1e3;this.extentRectangle.className=this.displayClass+"ExtentRectangle";this.mapDiv.appendChild(this.extentRectangle);this.element.appendChild(this.mapDiv);this.div.appendChild(this.element);if(!this.outsideViewport){this.div.className+=" "+this.displayClass+"Container";this.maximizeDiv=document.createElement("div");this.maximizeDiv.id=this.displayClass+"MaximizeButton";OpenLayers.Event.observe(this.maximizeDiv,"click",OpenLayers.Function.bindAsEventListener(this.maximizeControl,this));this.div.appendChild(this.maximizeDiv);this.minimizeDiv=document.createElement("div");this.minimizeDiv.id=this.displayClass+"MinimizeButton";OpenLayers.Event.observe(this.minimizeDiv,"click",OpenLayers.Function.bindAsEventListener(this.minimizeControl,this));this.div.appendChild(this.minimizeDiv);for(var eventsToStop=["dblclick","mousedown"],i=0,len=eventsToStop.length;i<len;i++){OpenLayers.Event.observe(this.maximizeDiv,eventsToStop[i],OpenLayers.Event.stop);OpenLayers.Event.observe(this.minimizeDiv,eventsToStop[i],OpenLayers.Event.stop)}this.minimizeControl()}else this.element.style.display="";this.map.getExtent()&&this.update();this.map.events.register("moveend",this,this.update);return this.div},baseLayerDraw:function(){this.draw();this.map.events.unregister("changebaselayer",this,this.baseLayerDraw)},rectDrag:function(px){var deltaX=this.handlers.drag.last.x-px.x,deltaY=this.handlers.drag.last.y-px.y;if(deltaX!=0||deltaY!=0){var rectTop=this.rectPxBounds.top,rectLeft=this.rectPxBounds.left,rectHeight=Math.abs(this.rectPxBounds.getHeight()),rectWidth=this.rectPxBounds.getWidth(),newTop=Math.max(0,rectTop-deltaY);newTop=Math.min(newTop,this.ovmap.size.h-this.hComp-rectHeight);var newLeft=Math.max(0,rectLeft-deltaX);newLeft=Math.min(newLeft,this.ovmap.size.w-this.wComp-rectWidth);this.setRectPxBounds(new OpenLayers.Bounds(newLeft,newTop+rectHeight,newLeft+rectWidth,newTop))}},mapDivClick:function(evt){var pxCenter=this.rectPxBounds.getCenterPixel(),deltaX=evt.xy.x-pxCenter.x,deltaY=evt.xy.y-pxCenter.y,top=this.rectPxBounds.top,left=this.rectPxBounds.left,height=Math.abs(this.rectPxBounds.getHeight()),width=this.rectPxBounds.getWidth(),newTop=Math.max(0,top+deltaY);newTop=Math.min(newTop,this.ovmap.size.h-height);var newLeft=Math.max(0,left+deltaX);newLeft=Math.min(newLeft,this.ovmap.size.w-width);this.setRectPxBounds(new OpenLayers.Bounds(newLeft,newTop+height,newLeft+width,newTop));this.updateMapToRect()},maximizeControl:function(e){this.element.style.display="";this.showToggle(false);this.div.style.zIndex="1020";layerSwitcher.minimizeControl();legend.minimizeControl();e!=null&&OpenLayers.Event.stop(e)},minimizeControl:function(e){this.element.style.display="none";this.showToggle(true);this.div.style.zIndex="1000";e!=null&&OpenLayers.Event.stop(e)},showToggle:function(minimize){this.maximizeDiv.style.display=minimize?"":"none";this.minimizeDiv.style.display=minimize?"none":""},update:function(){this.ovmap==null&&this.createMap();(this.autoPan||!this.isSuitableOverview())&&this.updateOverview();this.updateRectToMap()},isSuitableOverview:function(){var mapExtent=this.map.getExtent(),maxExtent=this.map.maxExtent,testExtent=new OpenLayers.Bounds(Math.max(mapExtent.left,maxExtent.left),Math.max(mapExtent.bottom,maxExtent.bottom),Math.min(mapExtent.right,maxExtent.right),Math.min(mapExtent.top,maxExtent.top));if(this.ovmap.getProjection()!=this.map.getProjection())testExtent=testExtent.transform(this.map.getProjectionObject(),this.ovmap.getProjectionObject());var resRatio=this.ovmap.getResolution()/this.map.getResolution();return resRatio>this.minRatio&&resRatio<=this.maxRatio&&this.ovmap.getExtent().containsBounds(testExtent)},updateOverview:function(){var mapRes=this.map.getResolution(),targetRes=this.ovmap.getResolution(),resRatio=targetRes/mapRes;if(resRatio>this.maxRatio)targetRes=this.minRatio*mapRes;else if(resRatio<=this.minRatio)targetRes=this.maxRatio*mapRes;var center;if(this.ovmap.getProjection()!=this.map.getProjection()){center=this.map.center.clone();center.transform(this.map.getProjectionObject(),this.ovmap.getProjectionObject())}else center=this.map.center;this.ovmap.setCenter(center,this.ovmap.getZoomForResolution(targetRes*this.resolutionFactor));this.updateRectToMap()},createMap:function(){var options=OpenLayers.Util.extend({controls:[],maxResolution:"auto",fallThrough:false},this.mapOptions);this.ovmap=new OpenLayers.Map(this.mapDiv,options);OpenLayers.Event.stopObserving(window,"unload",this.ovmap.unloadDestroy);this.ovmap.addLayers(this.layers);this.ovmap.zoomToMaxExtent();this.wComp=parseInt(OpenLayers.Element.getStyle(this.extentRectangle,"border-left-width"))+parseInt(OpenLayers.Element.getStyle(this.extentRectangle,"border-right-width"));this.wComp=this.wComp?this.wComp:2;this.hComp=parseInt(OpenLayers.Element.getStyle(this.extentRectangle,"border-top-width"))+parseInt(OpenLayers.Element.getStyle(this.extentRectangle,"border-bottom-width"));this.hComp=this.hComp?this.hComp:2;this.handlers.drag=new OpenLayers.Handler.Drag(this,{move:this.rectDrag,done:this.updateMapToRect},{map:this.ovmap});try{this.handlers.click=new OpenLayers.Handler.Click(this,{click:this.mapDivClick},{single:true,"double":false,stopSingle:true,stopDouble:true,pixelTolerance:1,map:this.ovmap});this.handlers.click.activate()}catch(hcEx){log("overviewMap click handler error: "+hcEx)}this.rectEvents=new OpenLayers.Events(this,this.extentRectangle,null,true);this.rectEvents.register("mouseover",this,function(){!this.handlers.drag.active&&!this.map.dragging&&this.handlers.drag.activate()});this.rectEvents.register("mouseout",this,function(){!this.handlers.drag.dragging&&this.handlers.drag.deactivate()});if(this.ovmap.getProjection()!=this.map.getProjection()){var sourceUnits=this.map.getProjectionObject().getUnits()||this.map.units||this.map.baseLayer.units,targetUnits=this.ovmap.getProjectionObject().getUnits()||this.ovmap.units||this.ovmap.baseLayer.units;this.resolutionFactor=sourceUnits&&targetUnits?OpenLayers.INCHES_PER_UNIT[sourceUnits]/OpenLayers.INCHES_PER_UNIT[targetUnits]:1}},updateRectToMap:function(){var bounds;if(this.ovmap.getProjection()!=this.map.getProjection())bounds=this.map.getExtent().transform(this.map.getProjectionObject(),this.ovmap.getProjectionObject());else bounds=this.map.getExtent();var pxBounds=this.getRectBoundsFromMapBounds(bounds);pxBounds&&this.setRectPxBounds(pxBounds)},updateMapToRect:function(){var lonLatBounds=this.getMapBoundsFromRectBounds(this.rectPxBounds);if(this.ovmap.getProjection()!=this.map.getProjection())lonLatBounds=lonLatBounds.transform(this.ovmap.getProjectionObject(),this.map.getProjectionObject());this.map.panTo(lonLatBounds.getCenterLonLat())},setRectPxBounds:function(pxBounds){var top=Math.max(pxBounds.top,0),left=Math.max(pxBounds.left,0),bottom=Math.min(pxBounds.top+Math.abs(pxBounds.getHeight()),this.ovmap.size.h-this.hComp),right=Math.min(pxBounds.left+pxBounds.getWidth(),this.ovmap.size.w-this.wComp),width=Math.max(right-left,0),height=Math.max(bottom-top,0);if(width<this.minRectSize||height<this.minRectSize){this.extentRectangle.className=this.displayClass+this.minRectDisplayClass;var rLeft=left+width/2-this.minRectSize/2,rTop=top+height/2-this.minRectSize/2;this.extentRectangle.style.top=Math.round(rTop)+"px";this.extentRectangle.style.left=Math.round(rLeft)+"px";this.extentRectangle.style.height=this.minRectSize+"px";this.extentRectangle.style.width=this.minRectSize+"px"}else{this.extentRectangle.className=this.displayClass+"ExtentRectangle";this.extentRectangle.style.top=Math.round(top)+"px";this.extentRectangle.style.left=Math.round(left)+"px";this.extentRectangle.style.height=Math.round(height)+"px";this.extentRectangle.style.width=Math.round(width)+"px"}this.rectPxBounds=new OpenLayers.Bounds(Math.round(left),Math.round(bottom),Math.round(right),Math.round(top))},getRectBoundsFromMapBounds:function(lonLatBounds){var leftBottomLonLat=new OpenLayers.LonLat(lonLatBounds.left,lonLatBounds.bottom),rightTopLonLat=new OpenLayers.LonLat(lonLatBounds.right,lonLatBounds.top),leftBottomPx=this.getOverviewPxFromLonLat(leftBottomLonLat),rightTopPx=this.getOverviewPxFromLonLat(rightTopLonLat),bounds=null;if(leftBottomPx&&rightTopPx)bounds=new OpenLayers.Bounds(leftBottomPx.x,leftBottomPx.y,rightTopPx.x,rightTopPx.y);return bounds},getMapBoundsFromRectBounds:function(pxBounds){var leftBottomPx=new OpenLayers.Pixel(pxBounds.left,pxBounds.bottom),rightTopPx=new OpenLayers.Pixel(pxBounds.right,pxBounds.top),leftBottomLonLat=this.getLonLatFromOverviewPx(leftBottomPx),rightTopLonLat=this.getLonLatFromOverviewPx(rightTopPx);return new OpenLayers.Bounds(leftBottomLonLat.lon,leftBottomLonLat.lat,rightTopLonLat.lon,rightTopLonLat.lat)},getLonLatFromOverviewPx:function(overviewMapPx){var size=this.ovmap.size,res=this.ovmap.getResolution(),center=this.ovmap.getExtent().getCenterLonLat(),delta_x=overviewMapPx.x-size.w/2,delta_y=overviewMapPx.y-size.h/2;return new OpenLayers.LonLat(center.lon+delta_x*res,center.lat-delta_y*res)},getOverviewPxFromLonLat:function(lonlat){var res=this.ovmap.getResolution(),extent=this.ovmap.getExtent(),px=null;if(extent)px=new OpenLayers.Pixel(Math.round(1/res*(lonlat.lon-extent.left)),Math.round(1/res*(extent.top-lonlat.lat)));return px},CLASS_NAME:"OpenLayers.Control.OverviewMap"});OpenLayers.Control.cLegend=OpenLayers.Class(OpenLayers.Control,{activeColor:"#3B92CD",legendDiv:null,legendItemsDiv:null,minimizeDiv:null,maximizeDiv:null,lastItemBlank:false,initialize:function(){OpenLayers.Control.prototype.initialize.apply(this,arguments)},destroy:function(){OpenLayers.Event.stopObservingElement(this.div);OpenLayers.Event.stopObservingElement(this.minimizeDiv);OpenLayers.Event.stopObservingElement(this.maximizeDiv);OpenLayers.Control.prototype.destroy.apply(this,arguments)},draw:function(){OpenLayers.Control.prototype.draw.apply(this);this.loadContents();this.minimizeControl();return this.div},maximizeControl:function(e){this.div.style.width="210px";this.div.style.borderLeft="solid 1px #999";this.div.style.zIndex="1020";overviewMap.minimizeControl();layerSwitcher.minimizeControl();$("#topRight").hide();this.showControls(false);e!=null&&OpenLayers.Event.stop(e)},minimizeControl:function(e){this.div.style.width="0px";this.div.style.borderLeft="none";this.div.style.zIndex="1000";$("#topRight").show();this.showControls(true);e!=null&&OpenLayers.Event.stop(e)},showControls:function(minimize){this.maximizeDiv.style.display=minimize?"":"none";this.minimizeDiv.style.display=minimize?"none":"";this.legendDiv.style.display=minimize?"none":""},loadContents:function(){this.div.style.zIndex="1010";OpenLayers.Event.observe(this.div,"mouseup",this.ignoreEvent);OpenLayers.Event.observe(this.div,"click",this.ignoreEvent);OpenLayers.Event.observe(this.div,"mousedown",this.ignoreEvent);OpenLayers.Event.observe(this.div,"dblclick",this.ignoreEvent);this.legendDiv=document.createElement("div");this.legendDiv.setAttribute("class","olLegendInternal");this.legendDiv.id=this.id+"_legendDiv";this.legendDiv.style.background="#FFFFFF";this.legendDiv.margin="4px";this.legendDiv.style.overflowX="hidden";this.legendDiv.style.overflowY="auto";this.legendDiv.style.position="relative";this.legendDiv.style.height="100%";this.legendDiv.style.zIndex=1010;this.legendItemsDiv=document.createElement("div");this.legendItemsDiv.style.paddingLeft="5px";this.legendItemsDiv.style.paddingBottom="25px";this.legendDiv.appendChild(this.legendItemsDiv);this.div.appendChild(this.legendDiv);var imgLocation=OpenLayers.Util.getImagesLocation();this.maximizeDiv=document.createElement("div");this.maximizeDiv.id="olLegend_MaximizeDiv";OpenLayers.Event.observe(this.maximizeDiv,"click",OpenLayers.Function.bindAsEventListener(this.maximizeControl,this));this.div.appendChild(this.maximizeDiv);this.minimizeDiv=document.createElement("div");this.minimizeDiv.id="olLegend_MinimizeDiv";OpenLayers.Event.observe(this.minimizeDiv,"click",OpenLayers.Function.bindAsEventListener(this.minimizeControl,this));this.div.appendChild(this.minimizeDiv)},populateLegend:function(){var $this=this;if(typeof map.layers!="undefined")$.each(map.layers,function(i,layer){try{if(typeof layer!="undefined"){if(!/vector$/i.test(layer.CLASS_NAME))if(typeof layer.legendFile!="undefined"){if(layer.legendFile.length>0)if(/\:|\|/.test(layer.legendFile))try{$this.addBlankLine(false);$this.addBlankItem("<em>"+layer.name+"</em>");for(var legendObjects=layer.legendFile.split("|"),lo=0;lo<=legendObjects.length-1;lo++){var legendItem=legendObjects[lo].split(":");$this.addLegendItem(legendItem[0],legendItem[1])}$this.addBlankLine(true)}catch(mEx){log("cLegend multiple layers error: "+mEx)}else $this.addLegendItem(layer.legendFile,layer.name)}else log("legendFile property undefined: "+layer.name)}else log("layer "+i+" is undefined")}catch(e){log("error in cLegend getting layers: "+e)}});else setInterval(this.populateLegend,200)},addLegendItem:function(fileName,label){try{if(typeof label!="undefined"&&fileName.length>0){var legendItem=document.createElement("div");legendItem.setAttribute("class","olLegendBlockContainer");legendItem.id="legend_"+label.replace(/[^a-zA-Z0-9]/gi,"");var lbl=document.createElement("span");lbl.innerHTML='<img src="'+OpenLayers.Util.getImagesLocation()+"legend/"+fileName+'" style="border: none;float:left;*float:none;margin-right:2px;" width="40" height="20" />'+label;legendItem.appendChild(lbl);this.legendItemsDiv.appendChild(legendItem);this.lastItemBlank=false}}catch(e){log("addLegendItem error: filename: "+fileName+" - label: "+label+" error: "+e)}},addBlankItem:function(label){try{var legendItem=document.createElement("div");legendItem.setAttribute("class","olLegendBlockContainer");var lbl=document.createElement("span");lbl.innerHTML='<img src="'+OpenLayers.Util.getImagesLocation()+'blank.gif" style="border: none;float:left;*float:none;margin-right:2px;" width="1" height="1" />'+label;legendItem.appendChild(lbl);this.legendItemsDiv.appendChild(legendItem);this.lastItemBlank=false}catch(e){log("addBlankItem error: label: "+label+" - error: "+e)}},addBlankLine:function(margin){try{if(this.lastItemBlank==false){var legendItem=document.createElement("div");legendItem.setAttribute("class","olLegendBlockContainer");var lblHTML="",lbl=document.createElement("span");lblHTML='<img src="'+OpenLayers.Util.getImagesLocation()+'blank.gif" style="border: none;float:left;*float:none;margin-right:2px;" width="1" height="1" /><hr ';try{if(margin==true)lblHTML+=' style="margin-top:10px;margin-bottom:5px;"'}catch(mEx){}lblHTML+=" />";lbl.innerHTML=lblHTML;legendItem.appendChild(lbl);this.legendItemsDiv.appendChild(legendItem);this.lastItemBlank=true}}catch(e){log("addBlankLine error: label: "+label+" - error: "+e)}},ignoreEvent:function(evt){OpenLayers.Event.stop(evt)},CLASS_NAME:"OpenLayers.Control.cLegend"});OpenLayers.Control.cPermalink=OpenLayers.Class(OpenLayers.Control,{argParserClass:OpenLayers.Control.ArgParser,element:null,base:"",displayProjection:null,initialize:function(element,base,options){OpenLayers.Control.prototype.initialize.apply(this,[options]);this.element=OpenLayers.Util.getElement(element);this.base=base||document.location.href},destroy:function(){this.element.parentNode==this.div&&this.div.removeChild(this.element);this.element=null;this.map.events.unregister("moveend",this,this.updateLink);OpenLayers.Control.prototype.destroy.apply(this,arguments)},setMap:function(){OpenLayers.Control.prototype.setMap.apply(this,arguments);for(var i=0,len=this.map.controls.length;i<len;i++){var control=this.map.controls[i];if(control.CLASS_NAME==this.argParserClass.CLASS_NAME){if(control.displayProjection!=this.displayProjection)this.displayProjection=control.displayProjection;break}}i==this.map.controls.length&&this.map.addControl(new this.argParserClass({displayProjection:this.displayProjection}))},draw:function(){OpenLayers.Control.prototype.draw.apply(this,arguments);if(!this.element){this.div.className=this.displayClass;this.element=document.createElement("a");this.element.innerHTML=OpenLayers.i18n("permalink");this.element.href="";this.div.appendChild(this.element)}this.map.events.on({moveend:this.updateLink,changelayer:this.updateLink,changebaselayer:this.updateLink,scope:this});this.updateLink();return this.div},updateLink:function(){var href=this.base;if(href.indexOf("?")!=-1)href=href.substring(0,href.indexOf("?"));href+="?"+OpenLayers.Util.getParameterString(this.createParams());this.element.href=href},createParams:function(center,zoom,layers){center=center||this.map.getCenter();var params=OpenLayers.Util.getParameters(this.base);if(center){params.zoom=zoom||this.map.getZoom();var lat=center.lat,lon=center.lon;if(this.displayProjection){var mapPosition=OpenLayers.Projection.transform({x:lon,y:lat},this.map.getProjectionObject(),this.displayProjection);lon=mapPosition.x;lat=mapPosition.y}params.lat=Math.round(lat*1e5)/1e5;params.lon=Math.round(lon*1e5)/1e5;try{params.v=$("#viewsCombo").val()}catch(e){}layers=layers||this.map.layers;params.layers="";for(var i=0,len=layers.length;i<len;i++){var layer=layers[i];if(layer.isBaseLayer)params.layers+=layer==this.map.baseLayer?"B":"0";else params.layers+=layer.getVisibility()?"T":"F"}}return params},CLASS_NAME:"OpenLayers.Control.cPermalink"});(function($){var Cookie={"set":function(name,value){var expires="",options=arguments[2]||{},date;if(options.duration){date=new Date;date.setTime(date.getTime()+options.duration*1e3*60*60*24);value+="; expires="+date.toGMTString()}document.cookie=name+"="+value+expires+"; path=/"},remove:function(name){this.set(name,"",-1)},"get":function(name){var cookies=document.cookie.split(";"),nameEQ=name+"=",i,l,c;for(i=0,l=cookies.length;i<l;i++){c=cookies[i];while(c.charAt(0)==" ")c=c.substring(1,c.length);if(c.indexOf(nameEQ)==0)return c.substring(nameEQ.length,c.length)}return null}};$.pushup={Version:"1.0.3",options:{appearDelay:.5,fadeDelay:6,images:"//img.fallsviewer.ca/",message:"Important browser update available",reminder:{hours:6,message:"Remind me again in #{hours}"}},activeBrowser:null,updateLinks:{IE:"http://www.microsoft.com/windows/downloads/ie/",Firefox:"http://www.getfirefox.com",Safari:"http://www.apple.com/safari/download/",Opera:"http://www.opera.com/download/"},browsVer:{Firefox:navigator.userAgent.indexOf("Firefox")>-1?parseFloat(navigator.userAgent.match(/Firefox[\/\s](\d+)/)[1]):false,IE:$.browser.msie?parseFloat($.browser.version):false,Safari:$.browser.safari?parseFloat($.browser.version):false,Opera:$.browser.opera?parseFloat($.browser.version):false},browsers:{Firefox:3,IE:7,Opera:9.5,Safari:3},init:function(){$.each($.pushup.browsVer,function(i,browserVersion){if(browserVersion&&browserVersion<$.pushup.browsers[i]){$.pushup.activeBrowser=i;if(!$.pushup.options.ignoreReminder&&$.pushup.cookiesEnabled&&Cookie.get("_pushupBlocked"))return;else{var time=$.pushup.options.appearDelay!==undefined?$.pushup.options.appearDelay*1e3:0;setTimeout($.pushup.show,time)}}})},show:function(){var $elm,$icon,$message,$messageLink,hours,H,messageText,$hourElem,imgSrc,srcFol,image,styles,time;$elm=$(document.createElement("div")).attr("id","pushup").hide().appendTo("body");$messageLink=$(document.createElement("a")).addClass("pushup_messageLink").attr("target","_blank").attr("href",$.pushup.updateLinks[$.pushup.activeBrowser]).appendTo($elm);$icon=$(document.createElement("div")).addClass("pushup_icon").appendTo($messageLink);$message=$(document.createElement("span")).addClass("pushup_message").html($.pushup.options.message).appendTo($messageLink);hours=$.pushup.options.reminder.hours;if(hours&&$.pushup.cookiesEnabled){H=hours+" hour"+(hours>1?"s":"");messageText=$.pushup.options.reminder.message.replace("#{hours}",H);$hourElem=$(document.createElement("a")).attr("href","#").addClass("pushup_reminder").html(messageText);$elm.append($hourElem);$hourElem.click(function(event){$.pushup.setReminder($.pushup.options.reminder.hours);$.pushup.hide();event.preventDefault()})}if(/^(https?:\/\/|\/)/.test($.pushup.options.images))imgSrc=$.pushup.options.images;else $("script[src]").each(function(i,elem){var $elem=$(elem);if(/jquery\.pushup/.test($elem.attr("src"))){srcFol=$elem.attr("src").replace("jquery.pushup.js","");imgSrc=srcFol+$.pushup.options.images}});image=imgSrc+$.pushup.activeBrowser.toLowerCase();styles=$.pushup.browsVer.IE<7&&$.pushup.browsVer.IE?{filter:"progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+image+".png'', sizingMethod='crop')"}:{background:"url("+image+".png) no-repeat top left"};$icon.css(styles);$elm.fadeIn("slow");if($.pushup.options.fadeDelay!==undefined){time=$.pushup.options.fadeDelay*1e3;setTimeout($.pushup.hide,time)}},hide:function(){$("#pushup").fadeOut("slow")},setReminder:function(hours){Cookie.set("_pushupBlocked","blocked",{duration:1/24*hours})},resetReminder:function(){Cookie.remove("_pushupBlocked")}};$.pushup.cookiesEnabled=function(test){if(Cookie.get(test))return true;Cookie.set(test,"test",{duration:15});return Cookie.get(test)}("_pushupCookiesEnabled");$(function(){$.pushup.init()})})(jQuery);(function($){$.fn.recover=function(){return this.each(function(){$(this).stop().css({backgroundColor:"",color:"",borderLeftColor:"",borderRightColor:"",borderTopColor:"",borderBottomColor:"",opacity:1})})};$.fn.pulse=function(options){var defaultOptions={textColors:[],backgroundColors:[],borderColors:[],opacityPulse:true,opacityRange:[],speed:1e3,duration:false,runLength:false},o=$.extend(defaultOptions,options);if(o.textColors.length===1||o.backgroundColors.length===1||o.borderColors.length===1)return false;return this.each(function(){function largestArrayLength(arrayOfArrays){return Math.max.apply(Math,arrayOfArrays)}function recover(){$t.recover()}var $t=$(this),pulseCount=1,pulseLimit=o.runLength&&o.runLength>0?o.runLength*largestArrayLength([o.textColors.length,o.backgroundColors.length,o.borderColors.length,o.opacityRange.length]):false;clearTimeout(recover);o.duration&&setTimeout(recover,o.duration);function getColorsAtIndex(textColorIndex,bgColorIndex,borderColorIndex,opacityIndex){var params={};if(o.backgroundColors.length)params["backgroundColor"]=o.backgroundColors[bgColorIndex];if(o.textColors.length)params["color"]=o.textColors[textColorIndex];if(o.borderColors.length){params["borderLeftColor"]=o.borderColors[borderColorIndex];params["borderRightColor"]=o.borderColors[borderColorIndex];params["borderTopColor"]=o.borderColors[borderColorIndex];params["borderBottomColor"]=o.borderColors[borderColorIndex]}if(o.opacityPulse&&o.opacityRange.length)params["opacity"]=o.opacityRange[opacityIndex];return params}function nudgePulse(textColorIndex,bgColorIndex,borderColorIndex,opacityIndex){if(pulseLimit&&pulseCount===pulseLimit)return $t.recover();pulseCount++;return $t.animate(getColorsAtIndex(textColorIndex,bgColorIndex,borderColorIndex,opacityIndex),o.speed,function(){nudgePulse(getNextIndex(o.textColors,textColorIndex),getNextIndex(o.backgroundColors,bgColorIndex),getNextIndex(o.borderColors,borderColorIndex),getNextIndex(o.opacityRange,opacityIndex))})}$t.css(getColorsAtIndex(0,0,0,0));nudgePulse(1,1,1,1);function getNextIndex(property,currentIndex){if(property.length>currentIndex+1)return currentIndex+1;else return 0}})}})(jQuery);(function(jQuery){jQuery.each(["backgroundColor","borderBottomColor","borderLeftColor","borderRightColor","borderTopColor","color","outlineColor"],function(i,attr){jQuery.fx.step[attr]=function(fx){if(fx.state==0){fx.start=getColor(fx.elem,attr);fx.end=getRGB(fx.end)}fx.elem.style[attr]="rgb("+[Math.max(Math.min(parseInt(fx.pos*(fx.end[0]-fx.start[0])+fx.start[0]),255),0),Math.max(Math.min(parseInt(fx.pos*(fx.end[1]-fx.start[1])+fx.start[1]),255),0),Math.max(Math.min(parseInt(fx.pos*(fx.end[2]-fx.start[2])+fx.start[2]),255),0)].join(",")+")"}});function getRGB(color){var result;if(color&&color.constructor==Array&&color.length==3)return color;if(result=/rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/.exec(color))return [parseInt(result[1]),parseInt(result[2]),parseInt(result[3])];if(result=/rgb\(\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*\)/.exec(color))return [parseFloat(result[1])*2.55,parseFloat(result[2])*2.55,parseFloat(result[3])*2.55];if(result=/#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/.exec(color))return [parseInt(result[1],16),parseInt(result[2],16),parseInt(result[3],16)];if(result=/#([a-fA-F0-9])([a-fA-F0-9])([a-fA-F0-9])/.exec(color))return [parseInt(result[1]+result[1],16),parseInt(result[2]+result[2],16),parseInt(result[3]+result[3],16)];return colors[jQuery.trim(color).toLowerCase()]}function getColor(elem,attr){var color;do{color=jQuery.curCSS(elem,attr);if(color!=""&&color!="transparent"||jQuery.nodeName(elem,"body"))break;attr="backgroundColor"}while(elem==elem.parentNode);return getRGB(color)}var colors={aqua:[0,255,255],azure:[240,255,255],beige:[245,245,220],black:[0,0,0],blue:[0,0,255],brown:[165,42,42],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgrey:[169,169,169],darkgreen:[0,100,0],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkviolet:[148,0,211],fuchsia:[255,0,255],gold:[255,215,0],green:[0,128,0],indigo:[75,0,130],khaki:[240,230,140],lightblue:[173,216,230],lightcyan:[224,255,255],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightyellow:[255,255,224],lime:[0,255,0],magenta:[255,0,255],maroon:[128,0,0],navy:[0,0,128],olive:[128,128,0],orange:[255,165,0],pink:[255,192,203],purple:[128,0,128],violet:[128,0,128],red:[255,0,0],silver:[192,192,192],white:[255,255,255],yellow:[255,255,0]}})(jQuery);jQuery.extend({getJSONE:function(url,params,success,error){var CallParams={};try{if(params.data!=undefined)if(params.data.length>0)CallParams.type="POST";else CallParams.type=params.Method||"GET";else CallParams.type=params.Method||"GET"}catch(e){log("getJSONE error: "+e)}CallParams.url=url;CallParams.cache=false;CallParams.processData=true;CallParams.data=params;CallParams.dataType="json";CallParams.contentType="application/json; charset=utf-8";CallParams.success=success;if(error)CallParams.error=error;jQuery.ajax(CallParams)}});jQuery.extend({getJSONP:function(url,params,success,error){var CallParams={};CallParams.type="POST";CallParams.url=url;CallParams.cache=false;CallParams.processData=true;CallParams.data=params;CallParams.dataType="json";CallParams.contentType="application/json; charset=utf-8";CallParams.success=success;if(error)CallParams.error=error;jQuery.ajax(CallParams)}});eval(function(p,a,c,k,e,r){e=function(c){return (c<a?"":e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!"".replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function(){return "\\w+"};c=1}while(c--)if(k[c])p=p.replace(new RegExp("\\b"+e(c)+"\\b","g"),k[c]);return p}('r.E.W=7(c,d){c=c||".";d=q d=="7"?d:7(){};6.K(7(e){g a=e.i?e.i:e.h?e.h:0;2(a==k&&6.N.J()=="G"){5 3}f 2(a==k){5 j}g b=j;2((e.4&&a==y)||(e.4&&a==v))5 3;2((e.4&&a==t)||(e.4&&a==u))5 3;2((e.4&&a==V)||(e.4&&a==S))5 3;2((e.4&&a==R)||(e.4&&a==Q))5 3;2((e.4&&a==P)||(e.4&&a==O)||(e.L&&a==p))5 3;2(a<I||a>H){2(a==p&&6.l.F==0)5 3;2(a==c.n(0)&&6.l.o(c)!=-1){b=j}2(a!=8&&a!=9&&a!=k&&a!=D&&a!=C&&a!=M&&a!=B&&a!=A){b=j}f{2(q e.i!="z"){2(e.h==e.m&&e.m!=0){b=3}f 2(e.h!=0&&e.i==0&&e.m==0){b=3}}}2(a==c.n(0)&&6.l.o(c)==-1){b=3}}f{b=3}5 b}).x(7(){g a=r(6).w();2(a!=""){g b=T U("^\\\\d+$|\\\\d*"+c+"\\\\d+");2(!b.s(a)){d.X(6)}}});5 6}',60,60,"||if|true|ctrlKey|return|this|function||||||||else|var|keyCode|charCode|false|13|value|which|charCodeAt|indexOf|45|typeof|jQuery|exec|120|88|65|val|blur|97|undefined|46|39|36|35|fn|length|input|57|48|toLowerCase|keypress|shiftKey|37|nodeName|86|118|90|122|67|new|RegExp|99|numeric|apply".split("|"),0,{}));/* file not found: query*/(function(c){function r(b,d){d=d==="x"?l.width():l.height();return typeof b==="string"?Math.round(b.match(/%/)?d/100*parseInt(b,10):parseInt(b,10)):b}function $(b){b=c.isFunction(b)?b.call(i):b;return a.photo||b.match(/\.(gif|png|jpg|jpeg|bmp)(?:\?([^#]*))?(?:#(\.*))?$/i)}function W(){for(var b in a)if(c.isFunction(a[b])&&b.substring(0,2)!=="on")a[b]=a[b].call(i)}function X(b){i=b;a=c(i).data(q);W();var d=a.rel||i.rel;if(d&&d!=="nofollow"){h=c(".cboxElement").filter(function(){return (c(this).data(q).rel||this.rel)===d});j=h.index(i);if(j<0){h=h.add(i);j=h.length-1}}else{h=c(i);j=0}if(!C){D=C=m;N=i;N.blur();c().bind("keydown.cbox_close",function(e){if(e.keyCode===27){e.preventDefault();f.close()}}).bind("keydown.cbox_arrows",function(e){if(h.length>1)if(e.keyCode===37){e.preventDefault();E.click()}else if(e.keyCode===39){e.preventDefault();F.click()}});a.overlayClose&&s.css({cursor:"pointer"}).one("click",f.close);c.event.trigger(aa);a.onOpen&&a.onOpen.call(i);H.html(a.close);s.css({opacity:a.opacity}).show();a.w=r(a.initialWidth,"x");a.h=r(a.initialHeight,"y");f.position(0);O&&l.bind("resize.cboxie6 scroll.cboxie6",function(){s.css({width:l.width(),height:l.height(),top:l.scrollTop(),left:l.scrollLeft()})}).trigger("scroll.cboxie6")}f.slideshow();f.load()}var q="colorbox",x="hover",m=true,f,y=!c.support.opacity,O=y&&!window.XMLHttpRequest,aa="cbox_open",I="cbox_load",P="cbox_complete",Q="resize.cbox_resize",s,k,t,o,R,S,T,U,h,l,n,J,K,L,Y,V,u,F,E,H,z,A,v,w,i,N,j,a,C,D,Z={transition:"elastic",speed:350,width:false,height:false,innerWidth:false,innerHeight:false,initialWidth:"400",initialHeight:"400",maxWidth:false,maxHeight:false,scalePhotos:m,scrolling:m,inline:false,html:false,iframe:false,photo:false,href:false,title:false,rel:false,opacity:.9,preloading:m,current:"image {current} of {total}",previous:"previous",next:"next",close:"close",open:false,overlayClose:m,slideshow:false,slideshowAuto:m,slideshowSpeed:2500,slideshowStart:"start slideshow",slideshowStop:"stop slideshow",onOpen:false,onLoad:false,onComplete:false,onCleanup:false,onClosed:false};f=c.fn.colorbox=function(b,d){var e=this;if(!e.length)if(e.selector===""){e=c(e);b.open=m}else return this;e.each(function(){var g=c.extend({},c(this).data(q)?c(this).data(q):Z,b);c(this).data(q,g).addClass("cboxElement");if(d)c(this).data(q).onComplete=d});b&&b.open&&X(e);return this};f.init=function(){function b(d){return c('<div id="cbox'+d+'"/>')}l=c(window);k=c('<div id="colorbox"/>');s=b("Overlay").hide();t=b("Wrapper");o=b("Content").append(n=b("LoadedContent").css({width:0,height:0}),K=b("LoadingOverlay"),L=b("LoadingGraphic"),Y=b("Title"),V=b("Current"),u=b("Slideshow"),F=b("Next"),E=b("Previous"),H=b("Close"));t.append(c("<div/>").append(b("TopLeft"),R=b("TopCenter"),b("TopRight")),c("<div/>").append(S=b("MiddleLeft"),o,T=b("MiddleRight")),c("<div/>").append(b("BottomLeft"),U=b("BottomCenter"),b("BottomRight"))).children().children().css({"float":"left"});J=c("<div style='position:absolute; top:0; left:0; width:0; height:0; overflow:hidden;'/>");c("body").prepend(s,k.append(t),J);if(y){k.addClass("cboxIE");O&&s.css("position","absolute")}o.children().addClass(x).mouseover(function(){c(this).addClass(x)}).mouseout(function(){c(this).removeClass(x)}).hide();z=R.height()+U.height()+o.outerHeight(m)-o.height();A=S.width()+T.width()+o.outerWidth(m)-o.width();v=n.outerHeight(m);w=n.outerWidth(m);k.css({"padding-bottom":z,"padding-right":A}).hide();F.click(f.next);E.click(f.prev);H.click(f.close);o.children().removeClass(x);c(".cboxElement").live("click",function(d){if(d.button!==0)return m;else{X(this);return false}})};f.position=function(b,d){function e(B){R[0].style.width=U[0].style.width=o[0].style.width=B.style.width;L[0].style.height=K[0].style.height=o[0].style.height=S[0].style.height=T[0].style.height=B.style.height}var g=l.height();g=Math.max(g-a.h-v-z,0)/2+l.scrollTop();var p=Math.max(document.documentElement.clientWidth-a.w-w-A,0)/2+l.scrollLeft();b=k.width()===a.w+w&&k.height()===a.h+v?0:b;t[0].style.width=t[0].style.height="9999px";k.dequeue().animate({width:a.w+w,height:a.h+v,top:g,left:p},{duration:b,complete:function(){e(this);D=false;t[0].style.width=a.w+w+A+"px";t[0].style.height=a.h+v+z+"px";d&&d()},step:function(){e(this)}})};f.resize=function(b){function d(){a.w=a.w||n.width();a.w=a.mw&&a.mw<a.w?a.mw:a.w;return a.w}function e(){a.h=a.h||n.height();a.h=a.mh&&a.mh<a.h?a.mh:a.h;return a.h}function g(G){f.position(G,function(){if(C){if(y){B&&n.fadeIn(100);k[0].style.removeAttribute("filter")}o.children().show();a.iframe&&n.append("<iframe id='cboxIframe'"+(a.scrolling?" ":"scrolling='no'")+" name='iframe_"+(new Date).getTime()+"' frameborder=0 src='"+(a.href||i.href)+"' "+(y?"allowtransparency='true'":"")+" />");K.hide();L.hide();u.hide();if(h.length>1){V.html(a.current.replace(/\{current\}/,j+1).replace(/\{total\}/,h.length));F.html(a.next);E.html(a.previous);a.slideshow&&u.show()}else{V.hide();F.hide();E.hide()}Y.html(a.title||i.title);c.event.trigger(P);a.onComplete&&a.onComplete.call(i);a.transition==="fade"&&k.fadeTo(M,1,function(){y&&k[0].style.removeAttribute("filter")});l.bind(Q,function(){f.position(0)})}})}if(C){var p,B,M=a.transition==="none"?0:a.speed;l.unbind(Q);if(b){n.remove();n=c('<div id="cboxLoadedContent"/>').html(b);n.hide().appendTo(J).css({width:d(),overflow:a.scrolling?"auto":"hidden"}).css({height:e()}).prependTo(o);c("#cboxPhoto").css({cssFloat:"none"});O&&c("select:not(#colorbox select)").filter(function(){return this.style.visibility!=="hidden"}).css({visibility:"hidden"}).one("cbox_cleanup",function(){this.style.visibility="inherit"});a.transition==="fade"&&k.fadeTo(M,0,function(){g(0)})||g(M);if(a.preloading&&h.length>1){b=j>0?h[j-1]:h[h.length-1];p=j<h.length-1?h[j+1]:h[0];c(p).data(q);c(b).data(q)}}else setTimeout(function(){var G=n.wrapInner("<div style='overflow:auto'></div>").children();a.h=G.height();n.css({height:a.h});G.replaceWith(G.children());f.position(M)},1)}};f.load=function(){var b,d,e,g=f.resize;D=m;i=h[j];a=c(i).data(q);W();c.event.trigger(I);a.onLoad&&a.onLoad.call(i);a.h=a.height?r(a.height,"y")-v-z:a.innerHeight?r(a.innerHeight,"y"):false;a.w=a.width?r(a.width,"x")-w-A:a.innerWidth?r(a.innerWidth,"x"):false;a.mw=a.w;a.mh=a.h;if(a.maxWidth){a.mw=r(a.maxWidth,"x")-w-A;a.mw=a.w&&a.w<a.mw?a.w:a.mw}if(a.maxHeight){a.mh=r(a.maxHeight,"y")-v-z;a.mh=a.h&&a.h<a.mh?a.h:a.mh}b=a.href||c(i).attr("href");K.show();L.show();H.show();if(a.inline){c('<div id="cboxInlineTemp" />').hide().insertBefore(c(b)[0]).bind(I+" cbox_cleanup",function(){c(this).replaceWith(n.children())});g(c(b))}else if(a.iframe)g(" ");else if(a.html)g(a.html);else if($(b)){d=new Image;d.onload=function(){var p;d.onload=null;d.id="cboxPhoto";c(d).css({margin:"auto",border:"none",display:"block",cssFloat:"left"});if(a.scalePhotos){e=function(){d.height-=d.height*p;d.width-=d.width*p};if(a.mw&&d.width>a.mw){p=(d.width-a.mw)/d.width;e()}if(a.mh&&d.height>a.mh){p=(d.height-a.mh)/d.height;e()}}if(a.h)d.style.marginTop=Math.max(a.h-d.height,0)/2+"px";g(d);h.length>1&&c(d).css({cursor:"pointer"}).click(f.next);if(y)d.style.msInterpolationMode="bicubic"};d.src=b}else c("<div />").appendTo(J).load(b,function(p,B){B==="success"?g(this):g(c("<p>Request unsuccessful.</p>"))})};f.next=function(){if(!D){j=j<h.length-1?j+1:0;f.load()}};f.prev=function(){if(!D){j=j>0?j-1:h.length-1;f.load()}};f.slideshow=function(){function b(){u.text(a.slideshowStop).bind(P,function(){e=setTimeout(f.next,a.slideshowSpeed)}).bind(I,function(){clearTimeout(e)}).one("click",function(){d();c(this).removeClass(x)});k.removeClass(g+"off").addClass(g+"on")}var d,e,g="cboxSlideshow_";u.bind("cbox_closed",function(){u.unbind();clearTimeout(e);k.removeClass(g+"off "+g+"on")});d=function(){clearTimeout(e);u.text(a.slideshowStart).unbind(P+" "+I).one("click",function(){b();e=setTimeout(f.next,a.slideshowSpeed);c(this).removeClass(x)});k.removeClass(g+"on").addClass(g+"off")};if(a.slideshow&&h.length>1)a.slideshowAuto?b():d()};f.close=function(){c.event.trigger("cbox_cleanup");a.onCleanup&&a.onCleanup.call(i);C=false;c().unbind("keydown.cbox_close keydown.cbox_arrows");l.unbind(Q+" resize.cboxie6 scroll.cboxie6");s.css({cursor:"auto"}).fadeOut("fast");k.stop(m,false).fadeOut("fast",function(){n.remove();k.css({opacity:1});o.children().hide();try{N.focus()}catch(b){}c.event.trigger("cbox_closed");a.onClosed&&a.onClosed.call(i)})};f.element=function(){return c(i)};f.settings=Z;c(f.init)})(jQuery);if(!this.JSON)JSON=function(){function f(n){return n<10?"0"+n:n}Date.prototype.toJSON=function(){return this.getUTCFullYear()+"-"+f(this.getUTCMonth()+1)+"-"+f(this.getUTCDate())+"T"+f(this.getUTCHours())+":"+f(this.getUTCMinutes())+":"+f(this.getUTCSeconds())+"Z"};var m={"\b":"\\b","\t":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"};function stringify(value,whitelist){var a,i,k,l,r=/["\\\x00-\x1f\x7f-\x9f]/g,v;switch(typeof value){case "string":return r.test(value)?'"'+value.replace(r,function(a){var c=m[a];if(c)return c;c=a.charCodeAt();return "\\u00"+Math.floor(c/16).toString(16)+(c%16).toString(16)})+'"':'"'+value+'"';case "number":return isFinite(value)?String(value):"null";case "boolean":case "null":return String(value);case "object":if(!value)return "null";if(typeof value.toJSON==="function")return stringify(value.toJSON());a=[];if(typeof value.length==="number"&&!value.propertyIsEnumerable("length")){l=value.length;for(i=0;i<l;i+=1)a.push(stringify(value[i],whitelist)||"null");return "["+a.join(",")+"]"}if(whitelist){l=whitelist.length;for(i=0;i<l;i+=1){k=whitelist[i];if(typeof k==="string"){v=stringify(value[k],whitelist);v&&a.push(stringify(k)+":"+v)}}}else for(k in value)if(typeof k==="string"){v=stringify(value[k],whitelist);v&&a.push(stringify(k)+":"+v)}return "{"+a.join(",")+"}"}}return {stringify:stringify,parse:function(text,filter){var j;function walk(k,v){var i,n;if(v&&typeof v==="object")for(i in v)if(Object.prototype.hasOwnProperty.apply(v,[i])){n=walk(i,v[i]);if(n!==undefined)v[i]=n}return filter(k,v)}if(/^[\],:{}\s]*$/.test(text.replace(/\\./g,"@").replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,"]").replace(/(?:^|:|,)(?:\s*\[)+/g,""))){j=eval("("+text+")");return typeof filter==="function"?walk("",j):j}throw new SyntaxError("parseJSON")}}}();function PageMethod(filename,paramList,successFn,errorFn,runAsync){try{if(runAsync==undefined)runAsync=true}catch(e){runAsync=true}try{$.ajax({type:"POST",cache:false,url:filename,contentType:"application/json; charset=utf-8",data:paramList,dataType:"json",success:successFn,async:runAsync,error:errorFn})}catch(e){log("PageMethod error: "+e)}};function addLayers(){$.each(layerObj,function(i,lObj){setTimeout(function(){addLayerObject(lObj)},10)})}function layerAdded(){map.layers.length==layerObj.length&&finishLayers()}function addLayerObject(l){try{var layer=new OpenLayers.Layer.cTileCache(l.name,l.servers,l.tileCacheName,{format:l.format,isBaseLayer:l.isBaseLayer,isClickable:l.isClickable,query:l.query,legendFile:l.legendFile,metaData:l.metaData,serverName:l.serverName,lid:l.lid,serverResolutions:l.serverResolutions,alwaysInRange:l.alwaysInRange,visibility:l.visibility,attribution:l.attribution+(l.isBaseLayer?' <a href="http://www.niagarafalls.ca/terms_and_conditions.asp" target="_blank">Disclaimer</a>':"").toString(),buffer:l.buffer,minResolution:l.minResolution,maxResolution:l.maxResolution,dataURL:l.dataURL});map.addLayer(layer);map.allOverlays&&layerObj[0].visibility==false&&map.layers[0].getVisibility()==true&&map.layers[0].setVisibility(false)}catch(ex){log("error with addLayerObject ("+l.name+"): "+ex)}}function getClickedLayer(){layerString="";var tmpLayers=map.layers.slice();$.each(tmpLayers.reverse(),function(){if(this.visibility&&this.isClickable&&(this.inRange||this.isBaseLayer)&&this.query){if(layerString.length>1)layerString+="|";layerString+=this.serverName}});tmpLayers=null}function getTopLayer(){if(map.layers.length>0){layerString="";var tmpLayers=map.layers.slice();$.each(tmpLayers.reverse(),function(){if(this.visibility&&this.isClickable&&(this.inRange||this.isBaseLayer)&&this.query){layerString+=this.serverName;return false}});tmpLayers=null}}function highlightProperty(data){fadeStatus(500);if(data.results.length>0){var f=new OpenLayers.Format.WKT,cco="",justSelected=[];try{$.each(data.results,function(i,item){try{$.each(data.columns,function(c,col){try{if(typeof col.config.override=="undefined")cco="";else try{cco=col.config.override}catch(ccoEx){cco=""}if(cco.length>0)if(col.name=="latLongPoints"){var exists=false;if(justSelected.indexOf(item["imsFeatID"])==-1){justSelected.push(item["imsFeatID"]);$.each(infoLayer.features,function(featI,feat){try{if(typeof feat.attributes!="undefined")if(feat.attributes.id==item["imsFeatID"]){infoLayer.destroyFeatures(feat);exists=true}}catch(eif){log("highlightProperty error (inside for infoLayer.features): "+eif)}});if(!exists)try{infoFeature=new OpenLayers.Feature.Vector(f.read(item[col.name]).geometry,{vectorLabel:item["imsFeatID"],id:item["imsFeatID"],vectorType:data.vectorType});infoLayer.addFeatures([infoFeature])}catch(eex){log("highlightProperty error (!exists): "+eex)}}}}catch(eidc){log("highlightProperty error (inside data.columns): "+eidc);try{log("highlightProperty error object: "+JSON.stringify(col))}catch(jsEx){}}})}catch(eidr){log("highlightProperty error (inside data.results): "+eidr)}})}catch(e){log("highlightProperty error (outside data.results): "+e)}}else showStatus("No data returned... ","statusError",2e3,1500)}function highlightWithResults(data){fadeStatus(500);try{if(data.results.length>0){$.each(data.results,function(i,item){try{if($("#"+item["imsFeatID"],$("#resultsTable").get(0)).length>0){$("#"+item["imsFeatID"]).remove();for(var f in infoLayer.features)try{infoLayer.features[f].attributes.id==item["imsFeatID"]&&infoLayer.destroyFeatures(infoLayer.features[f])}catch(e){log("highlightPropertyWithResults error (inside for features): "+e)}}else{var f=new OpenLayers.Format.WKT;infoFeature=new OpenLayers.Feature.Vector(f.read(item["latLongPoints"]).geometry,{id:item["imsFeatID"],vectorType:data.vectorType});infoLayer.addFeatures([infoFeature]);try{$("tr:last",$("#resultsTable").get(0)).after(addResultsLine(item,data.columns,"info"))}catch(e){log("Error with table: "+e)}stripeTable()}}catch(e){log("highlightPropertyWithResults error (inside data.results): "+e)}});resizeDialog($("#resultsTable").parent().parent().get(0).id,$("#resultsTable").parent().get(0).id,false)}else showStatus("No results returned","statusError",3e3,1500)}catch(e){log("Error with higlightwith results: "+e);showStatus("Error processing results... ","statusError",2e3,1500)}}function showTip(data){var content;if(data.results.length>0){content='<div id="toolTipData"><table class="striped"><tr>';if($("#quickResults").length==0){$('<div id="quickResults"></div>').appendTo("body:first");var dialog='<div id="quickResultsTable"><table id="resultsTable" class="striped">';dialog+='<tr><td colspan="'+data.columns.length+'" align="right" style="background:#fff;font-size:0.8em;"><a href="#" onclick="return exportResults(\''+data.layer+"');\">Export Results</a></td></tr>";dialog+="<tr>";$.each(data.columns,function(i,item){if(item.config.fieldType!="hidden")dialog+="<th>"+item.config.heading+"</th>"});dialog+="</tr>";dialog+="</table>";try{if(data.advanced.length>0)try{dialog+=advancedReports(data.advanced)}catch(e){log("Error parsing the advanced reports (showTip): "+e)}}catch(e){}dialog+="</div>";$("#quickResults").html(dialog);$("#quickResults").dialog({autoOpen:false,bgiFrame:true,closeOnEscape:true,overlay:{backgroundColor:"#000",opacity:.5},close:function(){$("#quickResults").remove();clearSelection(true)}})}$.each(data.columns,function(i,item){if(item.config.fieldType!="hidden")if(item.name!="latLongPoints")content+="<th>"+item.config.heading+"</th>"});content+="</tr>";var f=new OpenLayers.Format.WKT;$.each(data.results,function(i,item){content+='<tr id="'+item["imsFeatID"]+'">';try{$("tr:last",$("#quickResults").get(0)).after(addResultsLine(item,data.columns,"info"));resizeDialog("quickResults","quickResultsTable",true);stripeTable()}catch(e){log("Error with table: "+e)}$.each(data.columns,function(c,col){if(col.config.fieldType!="hidden")if(col.config.override.length>0)if(col.name=="latLongPoints"){infoFeature=new OpenLayers.Feature.Vector(f.read(item[col.name]).geometry,{id:item["imsFeatID"],vectorType:data.vectorType});infoLayer.addFeatures([infoFeature]);infoFeature.popup=infoPopup}else if(col.config.isLink==true)if(item[col.name].length>0)content+='<td><a href="'+item[col.name]+'" target="_blank">'+col.config.override+"</a></td>";else content+="<td>No link</td>";else content+="<td>"+col.config.override+"</td>";else if(col.config.isLink==true)if(item[col.name].length>0)content+='<td><a href="'+item[col.name]+'" target="_blank">'+col.config.override+"</a></td>";else content+="<td>No link</td>";else content+="<td>"+item[col.name]+"</td>"});content+="</tr>"});content+="</table>";try{if(data.advanced.length>0)try{content+=advancedReports(data.advanced,true)}catch(e){log("Error parsing the advanced reports (showTip - for tip): "+e)}}catch(e){}content+="</div>"}else if(data.error.length>0)content="<p>"+data.error+"</p>";var lonlat=infoPopup.lonlat;try{map.removePopup(infoPopup);infoPopup.destroy()}catch(e){}infoPopup=new OpenLayers.Popup.SmallPopup("info",lonlat,null,content,null,true,onPopupClose);map.addPopup(infoPopup);fadeStatus(1500)}function findLayerClick(event,ctrlPressed,layersPassed){if(map.maxExtent.containsLonLat(map.getLonLatFromPixel(event.xy),false)){showStatus("Locating that information...","statusSuccess",0,-1);try{if(layersPassed!=undefined&&layersPassed.length>0)layerString=layersPassed;else getClickedLayer()}catch(e){getClickedLayer()}if(layerString.length>0){var layer=null;$.each(map.layers,function(){try{if(this.visibility&&this.isClickable&&(this.inRange||this.isBaseLayer)&&this.query)layer=this}finally{if(layer!=null)return false}});if(layer!=null){var mouseLoc=map.getLonLatFromPixel(event.xy),infoUrl=layer.getFullRequestString({REQUEST:"GetFeatureInfo",EXCEPTIONS:"application/vnd.ogc.se_xml",BBOX:map.getExtent().toBBOX(),X:event.xy.x,Y:event.xy.y,INFO_FORMAT:"application/xml",QUERY_LAYERS:layerString,WIDTH:map.size.w,HEIGHT:map.size.h,SCALE:map.getScale(),LON:mouseLoc.lon,LAT:mouseLoc.lat},"/manifold/wms.info");if(typeof hash!="undefined")infoUrl+="&hash="+hash;if(infoPopup!=undefined){try{map.removePopup(infoPopup)}catch(e){}try{infoPopup.destroy()}catch(e){}}if(!ctrlPressed){clearSelection(true);infoPopup=new OpenLayers.Popup.SmallPopup("info",mouseLoc,null,'<div style="padding:5px;font-size:0.8em;">Loading...</div>',null,true,onPopupClose);infoPopup.closeDiv.style.display="none";map.addPopup(infoPopup);trackPageView("/report/basic");$.getJSONE(infoUrl,{},showTip,jsonError)}else if($("#resultsTable").length>0){if(!$("#resultsTable").parent().parent().dialog("isOpen")){$("#resultsTable").parent().parent().dialog("open");resizeDialog($("#resultsTable").parent().parent().get(0).id,$("#resultsTable").parent().get(0).id,false);stripeTable()}trackPageView("/report/basic/multi");$.getJSONE(infoUrl,{},highlightWithResults,jsonError)}else{trackPageView("/report/basic/highlight");$.getJSONE(infoUrl,{},highlightProperty,jsonError)}}else{showStatus("Could not retrieve a layer.  Please check the Layer Switcher and try again.","statusError",2e3,1500);log("Error getting a layer to retrieve the request string from in findLayerClick!")}}else showStatus("Please select a layer to retrieve information from in the Layer Switcher.","statusError",2e3,1500)}OpenLayers.Event.stop(true);return false}function onPopupClose(){try{infoPopup.hide()}catch(e){log("Popup Close Error: "+e)}}function gotoWKT(wkt,imsFeatID,featType){$("#topStatus").html("Zooming to result...").css("display","block").removeClass().addClass("statusSuccess").fadeTo(100,1,function(){var f=new OpenLayers.Format.WKT;findFeature=new OpenLayers.Feature.Vector(f.read(wkt).geometry,{id:imsFeatID,vectorType:"normal"});featType=="find"&&findFeature!=undefined&&infoLayer.addFeatures([findFeature]);featType=="info"&&infoFeature!=undefined&&infoLayer.addFeatures([infoFeature]);map.zoomToExtent(findFeature.geometry.getBounds());map.zoomOut();$("#topStatus").fadeOut(2e3)})}function checkVisit(){try{if(firstVisit&&!isMobileDevice){$("#topRight").after($('<div id="firstTime"><strong>First time here?</strong><br /><br />You might want to take a few minutes and check out our <a href="/videos/index.html" id="firstHelp" title="IMS Help">IMS Help Videos</a> to show you how to get the most out of the Falls Viewer.<br />In the future, click the green \'?\' icon to get the videos.<br /><a href="#" id="firstClose">close</a><br /></div>'));$("#firstClose").click(function(){$("#firstTime").remove()});$("#firstHelp").colorbox({iframe:true,innerWidth:680,innerHeight:560,onComplete:function(){$("#colorbox").show()}})}}catch(e){log("checkVisit function error: "+e)}}function forceLayersOn(){try{typeof forceLayers!="undefined"&&$.each(forceLayers,function(l,layerName){var layer=map.getLayersByName(layerName.replace(/^\^/,""))[0];try{if(/^\^/.test(layerName))layer.setVisibility(false);else layer.setVisibility(true)}catch(e){}})}catch(e){log("forceLayersOn error: "+e)}};function openSearch(){var pos=$("div.customPanel.olControlNoSelect").offset(),width=$("div.olControlSearchItemInactive").width(),height=$("div.olControlSearchItemInactive").height();$(".ui-dialog").remove();$("#searchResults").remove();keyboardControl.deactivate();searchConfig();$("#searching").hide();$("#search").css("top",pos.top+height+10+"px").css("left",pos.left+"px").css("display","block");$("#searchFind").get(0).focus();$("#searchClose").click(searchCloseClick);$("#searchFind").keypress(searchFindKeypress);$("#searchButton").click(searchButtonClick);$("#searchCombo").change(searchComboChange)}function searchCloseClick(){$("#search").fadeOut(750);click.activate();findControl.deactivate()}function searchFindKeypress(code){code.keyCode==13&&$("#searchButton").click()}function searchButtonClick(){$("#searching").show();$("#searching").pulse({speed:1250,textColors:["#005596","#FFF"]});var findUrl="/manifold/wms.find?search="+$("#searchCombo").val()+"&value="+$("#searchFind").val(),viewID=$("#viewsCombo").val();if(typeof viewID!="undefined")findUrl+="&v="+viewID;if(typeof hash!="undefined")findUrl+="&hash="+hash;trackPageView("/find/search?search="+$("#searchCombo").val()+"&value="+$("#searchFind").val());$.getJSONE(findUrl,{},showSearchResults,jsonError)}function searchComboChange(){$("#searchFind").get(0).focus()}function showSearchResults(data){$("#searching").recover();$("#searching").hide(500);$("#searchClose").click();$('<div id="searchResults"></div>').appendTo("body:first");if(data.results.length>0){$("#searchFind").val("");var tbl='<div id="searchResultsTable"><table id="resultsTable" class="striped">';tbl+='<tr><td colspan="'+data.columns.length+'" align="right" style="background:#fff;font-size:0.8em;"><a href="#" onclick="return exportResults(\''+data.layer+"');\">Export Results</a></td></tr>";if(data.maxResults==true)tbl+='<tr><td style="font-weight:bold;text-align:center;color:#f00;" colspan="'+data.columns.length+'">Your search exceeded the maximum results.  Revise your search and try again.</td></tr>';tbl+="<tr>";$.each(data.columns,function(i,item){if(item.config.fieldType!="hidden")tbl+="<th>"+item.config.heading+"</th>"});tbl+="</tr>";$.each(data.results,function(i,item){tbl+=addResultsLine(item,data.columns,"find")});tbl+="</table>";try{if(data.advanced.length>0)try{tbl+=advancedReports(data.advanced)}catch(e){log("Error parsing the advanced reports (showSearchResults): "+e)}}catch(e){}tbl+="</div>";$("#searchResults").html(tbl);$("#searchResults").dialog({autoOpen:true,bgiFrame:true,closeOnEscape:true,overlay:{backgroundColor:"#000",opacity:.5},close:function(){$("#searchResults").remove()}});$("#searchResults").css("overflow:scroll;");if($("#searchResults").height()>=$(window).height()){var dHeight=$(window).height();dHeight-=30;$("#searchResults").dialog("option","height",dHeight)}resizeDialog("searchResults","searchResultsTable",true);stripeTable()}else{$("#searchResults").html("No results found for your search.<br /><br />Please try again.");$("#searchResults").dialog({autoOpen:true,bgiFrame:true,closeOnEscape:true,overlay:{backgroundColor:"#000",opacity:.5},close:function(){$("#searchResults").remove()}})}}function doneSearch(){$("#searchClose").unbind();$("#searchFind").unbind();$("#searchButton").unbind();$("#searchCombo").unbind();keyboardControl.activate();$("#search").fadeOut(750)};selectBox=new OpenLayers.Control({displayClass:"olControlSelectBox",title:"Select items by drawing a box around them"});OpenLayers.Util.extend(selectBox,{draw:function(){this.handler=new OpenLayers.Handler.Box(selectBox,{done:this.notice},{boxDivClassName:"olHandlerBoxSelectBox"})},notice:function(bounds){selectItemsByBox(bounds)}});function selectItemsByBox(bounds){var lb=map.getLonLatFromPixel(new OpenLayers.Pixel(bounds.left,bounds.bottom)),rt=map.getLonLatFromPixel(new OpenLayers.Pixel(bounds.right,bounds.top));getTopLayer();if(layerString.length>0){for(var layer=null,l=map.layers.length-1;l>0;l--)try{if(map.layers[l].visibility&&map.layers[l].isClickable&&map.layers[l].inRange&&map.layers[l].query)layer=map.layers[l]}finally{if(layer!=null)break}if(layer!=null){var selectUrl=layer.getFullRequestString({REQUEST:"GetFeatureInfo",EXCEPTIONS:"application/vnd.ogc.se_xml",BBOX:lb.lon.toFixed(5)+", "+lb.lat.toFixed(5)+", "+rt.lon.toFixed(5)+", "+rt.lat.toFixed(5),INFO_FORMAT:"application/xml",QUERY_LAYERS:layerString,WIDTH:map.size.w,HEIGHT:map.size.h,SCALE:map.getScale()},"/manifold/wms.selectBox");if(typeof hash!="undefined")selectUrl+="&hash="+hash;if(infoPopup!=undefined){try{map.removePopup(infoPopup)}catch(e){}try{infoPopup.destroy()}catch(e){}}infoFeature!=undefined&&infoLayer.destroyFeatures(infoLayer.features);showStatus("Please wait while we find that information...","statusSuccess",0,-1);trackPageView("/selectBox");$.getJSONE(selectUrl,{},showSelectBoxResults,jsonError)}else{showStatus("Could not retrieve a layer.  Please check the Layer Switcher and try again.","statusError",2e3,1500);log("Error getting a layer to retrieve the request string from in selectItemsByBox!")}}else showStatus("Please select a layer to retrieve information from in the Layer Switcher.","statusError",2e3,1500)}function showSelectBoxResults(data,textStatus){log("selectBoxResults");fadeStatus(250);highlightProperty(data,textStatus);$('<div id="selectResults"></div>').appendTo("body:first");if(data.results.length>0){var tbl='<div id="selectResultsTable"><table id="resultsTable" class="striped">';tbl+='<tr><td colspan="'+data.columns.length+'" align="right" style="background:#fff;font-size:0.8em;"><a href="#" onclick="return exportResults(\''+data.layer+"');\">Export Results</a></td></tr>";if(data.maxResults==true)tbl+='<tr><td style="font-weight:bold;text-align:center;color:#f00;" colspan="'+data.columns.length+'">Your Select Box exceeded the maximum results.  Revise your area and try again.</td></tr>';tbl+="<tr>";try{$.each(data.columns,function(i,item){if(item.config.fieldType!="hidden")tbl+="<th>"+item.config.heading+"</th>"})}catch(e){log("showSelectBoxResults error with columns: "+e)}tbl+="</tr>";try{$.each(data.results,function(i,item){tbl+=addResultsLine(item,data.columns,"info")})}catch(e){log("showSelectBoxResults error with rows: "+e)}tbl+="</table>";try{if(data.advanced.length>0)try{tbl+=advancedReports(data.advanced)}catch(e){log("Error parsing the advanced reports (showSelectBoxResults): "+e)}}catch(e){}tbl+="</div>";$("#selectResults").html(tbl);$("#selectResults").dialog({autoOpen:true,bgiFrame:true,closeOnEscape:true,overlay:{backgroundColor:"#000",opacity:.5},close:function(){$("#selectResults").remove()}});resizeDialog("selectResults","selectResultsTable",true);stripeTable();!$("#selectResults").dialog("isOpen")&&$("#selectResults").dialog("open")}else showStatus("No results found for your selection.  Please try again.","statusError",2500,1e3)};var loadControl=new OpenLayers.Control.Button({title:"Load Drawing items",displayClass:"olControlDrawFeatureLoad",trigger:function(){_sync();!drawLayer.visibility&&drawLayer.setVisibility(true)}}),saveControl=new OpenLayers.Control.Button({title:"Save drawing items",displayClass:"olControlDrawFeatureSave",trigger:function(){_commit()}});function GearsIsSupported(){try{if(!gearsProtocol.supported())return false;return true}catch(e){return false}}function _sync(){if(!GearsIsSupported()){showStatus('You must have <a href="http://www.google.com/gears" target="_blank">Google Gears</a> installed to save items',"statusError",3e3,3500);return}var resp=gearsProtocol.read();if(!resp.success()){showStatus("Error loading from Gears","statusError",3e3,3500);return}drawLayer.destroyFeatures();if(!resp.features||resp.features.length<=0){showStatus("Nothing to load","statusWarning",2e3,3500);return}drawLayer.addFeatures(resp.features);trackPageView("/gears/load");showStatus("Load Successful!","statusSuccess",2e3,3500)}function _commit(){if(!GearsIsSupported()){showStatus('You must have <a href="http://www.google.com/gears" target="_blank">Google Gears</a> installed to save items',"statusError",3e3,3500);return}var error=false;function callback(resp){if(error)return;if(!resp.success()){showStatus("Error saving to Gears","statusError",3e3,3500);error=true;return}toolbarControls.modify.selectControl.unselectAll();resp.reqFeatures&&drawLayer.destroyFeatures(resp.reqFeatures);resp.features&&drawLayer.addFeatures(resp.features)}if(drawLayer.features.length>0){gearsProtocol.commit(drawLayer.features,{create:{callback:callback},update:{callback:callback},"delete":{callback:callback}});if(!error){trackPageView("/gears/save");showStatus("Save Successful!","statusSuccess",2e3,3500)}}else showStatus("Nothing to save","statusWarning",2e3,3500)}function _delete(){if(!GearsIsSupported()){showStatus('You must have <a href="http://www.google.com/gears" target="_blank">Google Gears</a> installed to save items',"statusError",3e3,3500);return}var delFeature=drawLayer.selectedFeatures[0];if(delFeature)try{toolbarControls.modify.unselectFeature(delFeature);log("set the feature state = delete ");delFeature.state=OpenLayers.State.DELETE;showStatus("Item Deleted Successfully","statusSuccess",2e3,3500)}catch(e){log("Gears Delete Error: "+e)}};var viewsIEVal;function openViews(){var pos=$("div.customPanel.olControlNoSelect").offset(),width=$("div.olControlViewsItemInactive").width(),height=$("div.olControlViewsItemInactive").height();$("#viewsButton").show();$("#views").css("top",pos.top+height+10+"px").css("left",pos.left+"px").css("display","block");$("#viewsCombo").get(0).focus();viewsIEVal=$("#viewsCombo").val();$("#viewsClose").click(viewsCloseClick);$("#viewsButton").click(changeView);$("#viewsCombo").change(viewsComboChange)}function viewsCloseClick(){$("#views").fadeOut(750);click.activate();viewsControl.deactivate()}function viewsComboChange(){changeView(viewsIEVal)}function changeView(ieVal){if($("#viewsCombo").val()!="0"){if(typeof ieVal!="undefined")if(ieVal==$("#viewsCombo").val())return;$("#viewsButton").hide();$("#viewLoading").show();$("#viewLoading").pulse({speed:1250,textColors:["#005596","#FFF"]});trackPageView("/views/change?view="+$("#viewsCombo").val());$.getJSONE("https://config.fallsviewer.ca/views.js?view="+$("#viewsCombo").val()+"&callback=?",{},function(data){try{$("#viewLoading").recover();$("#viewLoading").hide(500);if(data.success){for(var zoomInfo=$("#permalink a").attr("href").replace(/^[^\?]*\?/gi,"").split("&"),qsAppend="",zoomI=0;zoomI<zoomInfo.length;zoomI++)if(zoomInfo[zoomI].match(/^zoom|lat|lon/i)){qsAppend.length==0?(qsAppend+="?"):(qsAppend+="&");qsAppend+=zoomInfo[zoomI]}window.location.href="//www.fallsviewer.ca"+qsAppend}else showStatus(data.reason,"statusError",3e3,2500);$("#viewsClose").click()}catch(e){log("Callback error: "+e)}},jsonError)}}function doneViews(){$("#viewsClose").unbind();$("#viewsButton").unbind();$("#viewsCombo").unbind();$("#views").fadeOut(750)};OpenLayers.IMAGE_RELOAD_ATTEMPTS=5;OpenLayers.ImgPath="https://img.fallsviewer.ca/";OpenLayers.Util.onImageLoadErrorColor="transparent";OpenLayers.Control.KeyboardDefaults.prototype.slideFactor=100;OpenLayers.Layer.Vector.prototype.renderers=["SVG2","VML","Canvas"];function handleClick(e){findLayerClick(e,e.ctrlKey)}OpenLayers.Control.Click=OpenLayers.Class(OpenLayers.Control,{defaultHandlerOptions:{single:true,"double":false,pixelTolerance:2,stopSingle:false,stopDouble:false},initialize:function(){this.handlerOptions=OpenLayers.Util.extend({},this.defaultHandlerOptions);OpenLayers.Control.prototype.initialize.apply(this,arguments);this.handler=new OpenLayers.Handler.Click(this,{click:handleClick},this.handlerOptions)}});OpenLayers.Layer.cWMS=OpenLayers.Class(OpenLayers.Layer.WMS,{isClickable:false,query:false,legendFile:"",metaData:false,lid:0});OpenLayers.Layer.cTileCache=OpenLayers.Class(OpenLayers.Layer.TileCache,{isClickable:false,query:false,legendFile:"",metaData:false,lid:0,serverName:"",dataURL:null});if(!Array.prototype.indexOf)Array.prototype.indexOf=function(elt){var len=this.length>>>0,from=Number(arguments[1])||0;from=from<0?Math.ceil(from):Math.floor(from);if(from<0)from+=len;for(;from<len;from++)if(from in this&&this[from]===elt)return from;return -1};try{OpenLayers.Control.LabelClick=OpenLayers.Class(OpenLayers.Control,{defaultHandlerOptions:{single:true,"double":false,pixelTolerance:2,stopSingle:false,stopDouble:false},initialize:function(){this.handlerOptions=OpenLayers.Util.extend({},this.defaultHandlerOptions);OpenLayers.Control.prototype.initialize.apply(this,arguments);this.handler=new OpenLayers.Handler.Click(this,{click:addLabel},this.handlerOptions)}})}catch(ex){log("error with addlabel click: "+ex)}var wheelTimerID,wheelThis;OpenLayers.Control.Navigation.prototype.counter=0;OpenLayers.Control.Navigation.prototype.wheelUp=function(evt){wheelThis=this;if(wheelThis.counter<0)wheelThis.counter=0;wheelThis.counter++;try{clearTimeout(wheelTimerID)}catch(e){log("WheelUp Error: "+e)}wheelTimerID=setTimeout(function(){try{fireWheelChange(evt)}catch(e){log("Wheel Change  Up error: "+e)}},75)};OpenLayers.Control.Navigation.prototype.wheelDown=function(evt){wheelThis=this;if(wheelThis.counter>0)wheelThis.counter=0;wheelThis.counter--;try{clearTimeout(wheelTimerID)}catch(e){log("WheelUp Error: "+e)}wheelTimerID=setTimeout(function(){try{fireWheelChange(evt)}catch(e){log("Wheel Change Down error: "+e)}},75)};function fireWheelChange(evt){if(wheelThis.counter>0){if(map.getZoom()+wheelThis.counter>map.getNumZoomLevels())wheelThis.counter=map.getNumZoomLevels()-map.getZoom()}else if(map.getZoom()-Math.abs(wheelThis.counter)<0)wheelThis.counter=map.getZoom()*-1;wheelThis.wheelChange(evt,wheelThis.counter);wheelThis.counter=0;clearTimeout(wheelTimerID)}var isEventSupported=function(undef){var TAGNAMES={select:"input",change:"input",submit:"form",reset:"form",error:"img",load:"img",abort:"img"};function isEventSupported(eventName,element){element=element||document.createElement(TAGNAMES[eventName]||"div");eventName="on"+eventName;var isSupported=eventName in element;if(!isSupported){if(!element.setAttribute)element=document.createElement("div");if(element.setAttribute&&element.removeAttribute){element.setAttribute(eventName,"");isSupported=typeof element[eventName]=="function";if(typeof element[eventName]!="undefined")element[eventName]=undef;element.removeAttribute(eventName)}}element=null;return isSupported}return isEventSupported}();function isMobileDevice(){try{return isEventSupported("touchstart")&&isEventSupported("touchend")}catch(e){log("isMobileDevice error: "+e);return false}}function getParameterByName(name){name=name.replace(/[\[]/,"\\[").replace(/[\]]/,"\\]");var regexS="[\\?&]"+name+"=([^&#]*)",regex=new RegExp(regexS),results=regex.exec(window.location.href);if(results==null)return "";else return decodeURIComponent(results[1].replace(/\+/g," "))};function handleMeasurements(event){if(event.order==1)$("#measure").html("<strong>Length</strong>: "+addCommas(event.measure.toFixed(2))+" "+event.units);else{var measurement=event.measure,unit=event.units;$("#measure").html("<strong>Area</strong>: "+addCommas(measurement.toFixed(2))+" "+unit+"<sup>2</sup>")}}function startMeasure(){$('<div id="measure"></div>').appendTo("body:first")}function doneMeasure(){$("#measure").remove()}function drawControlActivate(){try{!drawLayer.visibility&&drawLayer.setVisibility(true)}catch(e){log("drawControlActivate Error"+e)}}function addCommas(nStr){nStr+="";x=nStr.split(".");x1=x[0];x2=x.length>1?"."+x[1]:"";var rgx=/(\d+)(\d{3})/;while(rgx.test(x1))x1=x1.replace(rgx,"$1,$2");return x1+x2};function startBuffer(){try{var pos=$("div.customPanel.olControlNoSelect").offset(),width=$("div.olControlBufferItemInactive").width(),height=$("div.olControlBufferItemInactive").height();$("#bufferLoading").hide();$("#buffer").css("top",pos.top+height+10+"px").css("left",pos.left+"px").css("display","block");$("#bufferDistance").numeric().focus();bufferLayer();clearSelection(true);click.deactivate();map.events.register("click",map,bufferClick);$("#bufferClose").click(bufferClose);$("#bufferButton").click(doBuffer);$("#bufferDistance").keypress(bufferDistanceKeypress)}catch(e){log("Buffer Start: "+e)}}function bufferDistanceKeypress(code){code.keyCode==13&&$("#bufferButton").click()}function doneBuffer(){bufferClose()}function bufferLayer(){try{getTopLayer()}catch(e){log("bufferLayer getTopLayer error: "+e)}if(layerString.length>0){$("#bufferLayer").html("The <strong>"+layerString+"</strong> layer will be used for buffering.");$("#bufferButton").show()}else{$("#bufferLayer").html("<em>Please select a layer to use for buffering before clicking the arrow button.</em>");$("#bufferButton").hide()}}function bufferClick(event){getTopLayer();findLayerClick(event,true,layerString)}function bufferClose(){log("buffer close");$("#bufferClose").unbind();$("#bufferButton").unbind();$("#bufferDistance").unbind();log("done unbind");$("#buffer").fadeOut(750);map.events.unregister("click",map,bufferClick);click.activate();bufferControl.deactivate()}function doBuffer(){var maxBufferItems=10,maxDistance=1e3;if(totalFeatures>0&&totalFeatures<=10&&$("#bufferDistance").val().length>0){log("Distance: "+parseInt($("#bufferDistance").val()));if(parseInt($("#bufferDistance").val())<=maxDistance){$("#bufferLoading").show();$("#bufferLoading").pulse({speed:1250,textColors:["#005596","#FFF"]});var jString='{ "id": [',firstFeat=true;$.each(infoLayer.features,function(featI,feat){if(featI>0)jString+=",";jString+=feat.attributes.id});jString+="],\n";if(typeof hash!="undefined")jString+='"hash": "'+hash+'",\n';jString+='"distance": '+$("#bufferDistance").val()+",\n";jString+='"REQUEST": "GetBuffer",\n';jString+='"QUERY_LAYERS": "'+layerString+'",\n';jString+='"EXCEPTIONS": "application/vnd.ogc.se_xml",\n';jString+='"WIDTH": '+map.size.w+",\n";jString+='"HEIGHT": '+map.size.h+",\n";jString+='"SCALE": '+map.getScale();jString+=" }";$("#bufferButton").hide();trackPageView("/buffer");$.getJSONE("/manifold/wms.buffer",{data:jString},bufferResults,jsonError)}else showStatus("The maximum buffer distance is "+maxDistance+". Please try again.","statusError",3e3,2500)}else showStatus("You must select some items to buffer (maximum of "+maxBufferItems+") and also enter the distance to buffer these items.","statusError",3e3,2500)}function bufferResults(data,textStatus){$("#bufferLoading").recover();$("#bufferLoading").hide(500);clearSelection(true);bufferClose();$("#topStatus").html("Highlighting items and generating report...").css("display","block").removeClass().addClass("statusSuccess").fadeTo(100,1,function(){showSelectBoxResults(data,textStatus);$("#topStatus").fadeOut(2e3)})};var pageSetting;function startPrint(){keyboardControl.deactivate();var pos=$("div.customPanel.olControlNoSelect").offset(),width=$("div.olControlPrintItemInactive").width(),height=$("div.olControlPrintItemInactive").height();$("#print").css("top",pos.top+height+10+"px").css("left",pos.left+"px").css("display","block");$("#printOptions").accordion({collapsible:true,autoHeight:false});$("#printLoading").hide();$("#printOutput").html("");$("#printMargin").numeric();$("#templatesCombo").children().remove();$.each(templateData,function(i,t){$("#templatesCombo").append('<option value="'+t.id+'">'+t.name+"</option>")});$("#printClose").click(printCloseClick);$("#printButton").click(printMap);$("#printMargin").keyup(printMarginKeyup);$("input[name='printOrientation']").click(printMarginKeyup);$("#printSize").change(printMarginKeyup);$("#templatesCombo").change(templatesComboChange);$("input[name='printFormat']").click(printFormatClick);printLayer.setVisibility(false);printLayer.setVisibility(true);addPrintVector();printControl.activate()}function printCloseClick(){donePrint();click.activate();printControl.deactivate()}function printMarginKeyup(){addPrintVector()}function printFormatClick(){$("#printOutput").html("").hide();addPrintVector()}function templatesComboChange(){addPrintVector();if($(this).val()=="0"){$("input[name='printFormat'][value='image']").show().siblings("[for='printFormatI']").show();$("#printMargin").show();$("#printMargin").siblings("[for='printMargin']").show()}else{$("input[name='printFormat'][value='image']").hide().siblings("[for='printFormatI']").hide();$("input[name='printFormat'][value='pdf']").attr("checked",true);$("#printMargin").hide();$("#printMargin").siblings("[for='printMargin']").hide()}$("#templateFieldsLabel").remove();$("#templateFields").remove();$.each(templateData,function(i,t){if(t.id==parseInt($("#templatesCombo").val())){if(t.fields.length>0){$("#printOptions").append('<div id="templateFieldsLabel"><a href="#">Customizable Fields</a></div><div id="templateFields"></div>');$.each(t.fields,function(f,field){$("#templateFields").append('<br /><label for="ptf_'+field.id+'" class="bold">'+field.desc+":</label><br />");if(field.multiline==true)$("#templateFields").append('<textarea id="ptf_'+field.id+'" style="width:95%;"></textarea><br />');else $("#templateFields").append('<input type="text" id="ptf_'+field.id+'" style="width:95%;" /><br />')});$("#templateFields").append("<br />");$("#printOptions").accordion("destroy");$("#printOptions").accordion({autoHeight:false,collapsible:true})}return false}})}function printMap(){var printBounds=printFeature.geometry.bounds,lb=map.getLayerPxFromLonLat(new OpenLayers.LonLat(printBounds.left,printBounds.bottom)),rt=map.getLayerPxFromLonLat(new OpenLayers.LonLat(printBounds.right,printBounds.top)),size=new OpenLayers.Size(Math.abs(lb.x-rt.x),Math.abs(lb.y-rt.y)),tiles=[],vectors=[];$.each(map.layers,function(layerI,layer){if(!layer.getVisibility())return true;if(!layer.calculateInRange())return true;if(!layer.opacity==null&&!layer.opacity>0)return true;typeof layer.grid!="undefined"&&$.each(layer.grid,function(rowI,tilerow){$.each(tilerow,function(tileI,tile){try{if(printBounds.containsBounds(tile.bounds,true,true)==true){var url=layer.getURL(tile.bounds).replace(/^(https?\:)?\/\/tile\d?\.fallsviewer\.ca\//i,"");if(url.length==0)return true;if(/\/\d*?\-\d*?(\/|\.png)/.test(url))return true;var position=tile.position,opacity=layer.opacity?parseInt(100*layer.opacity):100;tiles.push({u:url,x:position.x,y:position.y,o:opacity})}}catch(tEx){}})});try{if(layer instanceof OpenLayers.Layer.Vector)layer.name.search(/^print$/i)==-1&&$.each(layer.features,function(){if(this.onScreen()==true){var opacity=layer.opacity?parseInt(100*layer.opacity):100,coords=this.geometry.toString().replace(/[^\d\,\s\.]*/gi,"").split(","),vectorCoords=[];$.each(coords,function(){var xy=this.split(" "),screen=map.getLayerPxFromLonLat(new OpenLayers.LonLat(xy[0],xy[1]));vectorCoords.push({x:screen.x,y:screen.y})});var vectorType="";if(this.geometry.CLASS_NAME.search(/polygon$/i)>=0)vectorType="polygon";else if(this.geometry.CLASS_NAME.search(/point$/i)>=0)vectorType="point";else if(this.geometry.CLASS_NAME.search(/linestring$/i)>=0)vectorType="line";else vectorType="unknown";var vectorLabel;try{if(typeof this.attributes.label!="undefined")vectorLabel=this.attributes.label;else vectorLabel=""}catch(e){vectorLabel=""}vectors.push({t:vectorType,o:opacity,c:vectorCoords,l:vectorLabel})}})}catch(e){log("printMap isVector check: "+e)}});var style=[];$.each(vectorTypeLookup,function(i,item){style.push({name:i,fillcolour:item.fillColor,fillopacity:item.fillOpacity,pointradius:item.pointRadius,strokecolour:item.strokeColor,strokewidth:item.strokeWidth,labelalign:item.labelAlign,fontsize:item.fontSize,fontcolor:item.fontColor,fontweight:item.fontWeight})});var tempFields=[];$.each($("#templateFields>[id^='ptf_']"),function(i,tf){tempFields.push({name:tf.id.replace(/^ptf\_/i,""),text:tf.value})});var printparams='{\n"width":'+size.w+',\n"height":'+size.h+',\n"left":'+lb.x+',\n"top":'+rt.y+',\n"tileWidth":'+map.getTileSize().w+',\n"tileHeight":'+map.getTileSize().h+',\n"format":"'+$("input[name='printFormat']:checked").val()+'",\n"template":"'+$("#templatesCombo").val()+'",\n"scale":"1:'+Math.round(map.getScale())+'",\n"tiles":'+JSON.stringify(tiles)+',\n"style":'+JSON.stringify(style)+',\n"fields":'+JSON.stringify(tempFields)+',\n"pagesetting":'+JSON.stringify(pageSetting)+',\n"vectors":'+JSON.stringify(vectors);$.each($("#printMapOptions").children(":checkbox:checked"),function(i,el){printparams+=',\n"'+el.id.replace(/^pmo/i,"").toLowerCase()+'": true'});if(typeof infoLayer.features!="undefined")if(infoLayer.features.length>0)if(typeof infoLayer.features[0].attributes.id!="undefined")printparams+=',\n"feature": "'+infoLayer.features[0].attributes.id+'"';printparams+="\n}";$("#printLoading").show();$("#printLoading").pulse({speed:1250,textColors:["#005596","#FFF"]});$("#printOutput").html("");trackPageView("/print");$.getJSONE("/manifold/wms.print",{data:printparams},printComplete,jsonError)}function donePrint(){$("#printClose").unbind();$("#printButton").unbind();$("#printMargin").unbind();$("input[name='printOrientation']").unbind();$("#printSize").unbind();$("#templatesCombo").unbind();$("input[name='printFormat']").unbind();$("#printLoading").recover();$("#printLoading").hide();$("#print").fadeOut(250);printLayer.setVisibility(false);keyboardControl.activate()}function addPrintVector(){var dpi=72;fadeStatus(1);$("#printLoading").hide();$("#printOutput").hide();var portrait=/^p$/i.test($("input[name='printOrientation']:checked").val()),reduction=0;$.each(templateData,function(i,t){if(t.id==parseInt($("#templatesCombo").val())){reduction=t.reduction;return false}});var margin=$("#printMargin").val();if(margin<=0)margin=1;if($("input[name='printFormat']:checked").val()=="image"){$("#printMargin").show();$("#printMargin").siblings("[for='printMargin']").show()}else{$("#printMargin").hide();$("#printMargin").siblings("[for='printMargin']").hide();margin=.5}var pageWidth=0,pageHeight=0,pageSize=$("#printSize").val().match(/^([^\|]+)\|(\d+)$/);if(portrait==true){pageWidth=pageSize[1];pageHeight=pageSize[2]}else{pageWidth=pageSize[2];pageHeight=pageSize[1]}pageWidth-=margin*2;pageHeight-=margin*3;pageHeight-=reduction;pageSetting={width:pageSize[1],height:pageSize[2],margin:margin,orientation:portrait==true?"portrait":"landscape"};try{try{printLayer.destroyFeatures()}catch(e){log("error destroying printFeature: "+e)}var centrePx=map.getSize(),left=(centrePx.w-pageWidth*dpi)/2,right=(centrePx.w+pageWidth*dpi)/2,bottom=(centrePx.h-pageHeight*dpi)/2,top=(centrePx.h+pageHeight*dpi)/2,bounds=new OpenLayers.Bounds;bounds.extend(map.getLonLatFromPixel(new OpenLayers.Pixel(left,bottom)));bounds.extend(map.getLonLatFromPixel(new OpenLayers.Pixel(right,top)));printFeature=new OpenLayers.Feature.Vector(bounds.toGeometry());printLayer.addFeatures([printFeature])}catch(e){log(e)}}function printComplete(data){$("#printLoading").recover();$("#printLoading").hide(200);$("#printOutput").html('<br /><a href="'+data.fileName+'" target="_blank">Click here for the printout</a>').show().pulse({speed:1250,duration:2e3,textColors:["#005596","#FFF"]});log("print done!")}function printLayerVisibility(obj){if(obj.object.visibility==true)printLayer.events.register("moveend",printLayer,printMoveEnd);else{printLayer.events.unregister("moveend",printLayer,printMoveEnd);try{printLayer.destroyFeatures()}catch(e){log("error destroying printFeature: "+e)}}}function printMoveEnd(){addPrintVector()};function initialFind(field,value,layer){try{showStatus("Searching for that item...","statusSuccess",0,-1);var findUrl="/manifold/initial.find?field="+field+"&value="+value+"&v="+getParameterByName("v");if(layer.length>0)findUrl+="&l="+layer;if(typeof hash!="undefined")findUrl+="&hash="+hash;trackPageView("/find/initial"+findUrl.match(/\?.*/)[0]);$.getJSONE(findUrl,{},showInitialFind,function(xr,textStatus,errorThrown){map.zoomToMaxExtent();jsonError(xr,textStatus,errorThrown)})}catch(e){log("initialFind error: "+e)}}function showInitialFind(data,textStatus){highlightProperty(data,textStatus);if(infoLayer.getDataExtent()!=null)if(map.getExtent()!=infoLayer.getDataExtent()){map.zoomToExtent(infoLayer.getDataExtent());map.zoomOut();fadeStatus(500);forceLayersOn()}else if(infoLayer.features.length>0){map.zoomToMaxExtent();fadeStatus(500);forceLayersOn()}else{showStatus("Could not locate that item.","statusError",3e3,2e3);map.zoomToMaxExtent()}else{showStatus("Could not locate that item.","statusError",3e3,2e3);map.zoomToMaxExtent()}};var labelClick;function startLabel(){keyboardControl.deactivate();var pos=$("div.customPanel.olControlNoSelect").offset(),width=$("div.olControlDrawTextItemInactive").width(),height=$("div.olControlDrawTextItemInactive").height();$("#drawText").css("top",pos.top+height+10+"px").css("left",pos.left+"px").css("display","block");$("#drawTextClose").click(drawTextCloseClick);!drawLayer.visibility&&drawLayer.setVisibility(true);labelClick=new OpenLayers.Control.LabelClick;map.addControl(labelClick);labelClick.activate();$("#txtLabel").val("");$("#txtLabel").focus()}function drawTextCloseClick(){doneLabel();click.activate();drawTextControl.deactivate()}function addLabel(event){try{if($("#txtLabel").val().length>0){var clickPoint=map.getLonLatFromPixel(event.xy),tFeature=new OpenLayers.Feature.Vector(new OpenLayers.Geometry.Point(clickPoint.lon,clickPoint.lat));tFeature.attributes={label:$("#txtLabel").val()};tFeature.state="Insert";drawLayer.addFeatures([tFeature])}else showStatus("Enter text into the Text box before clicking the map.","statusError",2e3,1500)}catch(e){log("addLabel error: "+e)}OpenLayers.Event.stop(true);return false}function doneLabel(){$("#drawTextClose").unbind();$("#drawText").fadeOut(250);keyboardControl.activate();labelClick.deactivate();map.removeControl(labelClick)};function clearSelection(dontReset){try{try{map.removePopup(infoPopup);infoPopup.destroy()}catch(jse){}infoLayer.destroyFeatures();$(".ui-dialog").remove();$("#resultsTable").remove()}catch(csE){log("Clear Selection Error: "+csE)}try{if(typeof dontReset=="object")click.activate();else dontReset==false&&click.activate()}catch(e){log("clearSelection reset error: "+e)}}function featureRemoved(featArray){try{totalFeatures-=featArray.features.length;$("#bufferFeatures").html(totalFeatures);$("#buffer").is(":visible")&&$("#bufferFeaturesText").pulse({speed:1250,duration:2e3,textColors:["#005596","#FFF"]})}catch(e){log("Error in featureRemoved: "+e)}}function featureAdded(featArray){try{totalFeatures+=featArray.features.length;$("#bufferFeatures").html(totalFeatures);$("#buffer").is(":visible")&&$("#bufferFeaturesText").pulse({speed:1250,duration:2e3,textColors:["#005596","#FFF"]})}catch(e){log("Error in featureAdded: "+e)}}function init(){try{try{var overviewOptions={activeColor:"white",numZoomLevels:1};layerSwitcher=new OpenLayers.Control.cLayerSwitcher({ascending:false});legend=new OpenLayers.Control.cLegend;overviewMap=new OpenLayers.Control.cOverviewMap({mapOptions:overviewOptions,autoPan:true,isSuitableOverview:function(){return true}});mousePosition=new OpenLayers.Control.MousePosition({prefix:"<strong>Mouse position:</strong> ",suffix:" | ",div:$("#position").get(0),numDigits:3});if(isMobileDevice())panZoomBar=new OpenLayers.Control.PanZoom({displayClass:"panZoomBar"});else panZoomBar=new OpenLayers.Control.PanZoomBar({displayClass:"panZoomBar"});keyboardControl=new OpenLayers.Control.KeyboardDefaults;options={projection:new OpenLayers.Projection("EPSG:26917"),maxExtent:new OpenLayers.Bounds(640541.774843334,4755587.40501464,667085.402317306,4779623.23729788),units:"m",tileSize:new OpenLayers.Size(256,256),resolutions:[850,425,212.5,106.25,53.125,26.5625,13.28125,6.640625,3.3203125,1.66015625,.830078125,.4150390625,.20751953125,.103759765625],theme:null,controls:[layerSwitcher,legend,panZoomBar,overviewMap,keyboardControl,new OpenLayers.Control.Navigation({handleRightClicks:true}),mousePosition,new OpenLayers.Control.LoadingPanel({div:$("#loading").get(0)}),new OpenLayers.Control.ScaleBar,new OpenLayers.Control.Attribution]};map=new OpenLayers.Map("map",options)}catch(opEx){log("OpenLayers init error: "+opEx)}try{var perma=new OpenLayers.Control.cPermalink;perma.div=$("#permalink").get(0);map.addControl(perma)}catch(pEx){log("permalink error: "+pEx)}try{gearsProtocol=new OpenLayers.Protocol.SQL.Gears({databaseName:"fallsviewer",tableName:"drawings",saveFeatureState:false})}catch(gpEx){gearsProtocol=null}try{mapConfig()}catch(mcEx){log("mapConfig Error: "+mcEx)}try{printConfig()}catch(pcEx){log("printConfig Error: "+pcEx)}try{viewConfig()}catch(vEx){log("error with viewConfig: "+vEx)}try{vectorTypeLookup["normal"]={fillColor:"#ee9900",fillOpacity:.4,strokeWidth:1,strokeColor:"#ee9900",pointRadius:6};vectorTypeLookup["polygon"]={fillColor:"#ee9900",fillOpacity:.4,strokeWidth:1,strokeColor:"#ee9900",pointRadius:6};vectorTypeLookup["point"]={fillColor:"#ee9900",fillOpacity:.4,strokeWidth:2,strokeColor:"#ee9900",pointRadius:8};vectorTypeLookup["line"]={fillColor:"#ee9900",fillOpacity:.4,strokeWidth:3,strokeColor:"#ee9900",pointRadius:6};vectorTypeLookup["label"]={fillColor:"#ee9900",fillOpacity:.4,strokeWidth:1,strokeColor:"#ee9900",pointRadius:3,labelAlign:"tr",fontSize:"12px",fontColor:"#005596",fontWeight:"bold",labelSelect:true};vectorTypeLookup["sketch"]={fillColor:"#005596",fillOpacity:.4,strokeWidth:3,strokeColor:"#005596",pointRadius:6};var vectorTemplate={fillColor:"${getFillColour}",fillOpacity:"${getFillOpacity}",strokeWidth:"${getStrokeWidth}",strokeColor:"${getStrokeColour}",pointRadius:"${getPointRadius}",labelAlign:"${getLabelAlign}",fontSize:"${getFontSize}",fontColor:"${getFontColour}",fontWeight:"${getFontWeight}",labelSelect:"${getLabelSelect}",label:"${getLabel}"},vectorContext={getVectorType:function(feature){try{if(typeof feature._sketch!="undefined")return vectorTypeLookup["sketch"];else if(feature.geometry.CLASS_NAME.search(/polygon$/i)>=0)return vectorTypeLookup["polygon"];else if(feature.geometry.CLASS_NAME.search(/point$/i)>=0&&typeof feature.attributes.label!="undefined")return vectorTypeLookup["label"];else if(feature.geometry.CLASS_NAME.search(/point$/i)>=0)return vectorTypeLookup["point"];else if(feature.geometry.CLASS_NAME.search(/linestring$/i)>=0)return vectorTypeLookup["line"];else return vectorTypeLookup["normal"]}catch(e){return vectorTypeLookup["normal"]}},getFillColour:function(feature){return vectorContext.getVectorType(feature).fillColor},getFillOpacity:function(feature){return vectorContext.getVectorType(feature).fillOpacity},getStrokeWidth:function(feature){return vectorContext.getVectorType(feature).strokeWidth},getStrokeColour:function(feature){return vectorContext.getVectorType(feature).strokeColor},getPointRadius:function(feature){return vectorContext.getVectorType(feature).pointRadius},getLabel:function(feature){if(typeof feature.attributes.label!="undefined")return feature.attributes.label;else return ""},getLabelAlign:function(feature){try{return vectorContext.getVectorType(feature).labelAlign}catch(e){return ""}},getFontSize:function(feature){try{return vectorContext.getVectorType(feature).fontSize}catch(e){return ""}},getFontColour:function(feature){try{return vectorContext.getVectorType(feature).fontColor}catch(e){return ""}},getFontWeight:function(feature){try{return vectorContext.getVectorType(feature).fontWeight}catch(e){return ""}},getLabelSelect:function(feature){try{return vectorContext.getVectorType(feature).labelSelect}catch(e){return false}}},vectorStyle=new OpenLayers.Style(vectorTemplate,{context:vectorContext}),vectorSelected=new OpenLayers.Style({fillColor:"#ff0000",fillOpacity:"0.4",strokeWidth:"2.0",strokeColor:"#ff0000",pointRadius:"8"});vectorStyleMap=new OpenLayers.StyleMap({"default":vectorStyle,select:vectorSelected})}catch(vecEx){log("vector styling error: "+vecEx)}var printStyleMap;try{printStyleMap=new OpenLayers.StyleMap({fillColor:"#005596",fillOpacity:.2,strokeWidth:2,strokeColor:"#005596",label:"Print Area",labelAlign:"ct",fontSize:"1.1em",fontColor:"#005596",fontWeight:"bold",strokeDashstyle:"dash",pointRadius:6})}catch(psmEx){log("printStyleMap error: "+psmEx)}try{if(GearsIsSupported())drawLayer=new OpenLayers.Layer.Vector("Drawing",{protocol:gearsProtocol,visibility:false,styleMap:vectorStyleMap});else drawLayer=new OpenLayers.Layer.Vector("Drawing",{visibility:false,styleMap:vectorStyleMap});infoLayer=new OpenLayers.Layer.Vector("Info",{displayInLayerSwitcher:false,isBaseLayer:false,styleMap:vectorStyleMap});printLayer=new OpenLayers.Layer.Vector("Print",{displayInLayerSwitcher:false,isBaseLayer:false,visibility:false,styleMap:printStyleMap})}catch(gsEx){log("Error creating vector layers:"+gsEx)}try{map.events.register("addlayer",map,layerAdded);infoLayer.events.register("featuresremoved",infoLayer,featureRemoved);infoLayer.events.register("featuresadded",infoLayer,featureAdded);printLayer.events.register("visibilitychanged",printLayer,printLayerVisibility)}catch(evEx){log("Error registering vector events: "+evEx)}var measureStyleMap;try{var measureStyle=new OpenLayers.Style;measureStyle.addRules([new OpenLayers.Rule({symbolizer:{Point:{pointRadius:4,graphicName:"square",fillColor:"white",fillOpacity:1,strokeWidth:1,strokeOpacity:1,strokeColor:"#333333"},Line:{strokeWidth:2,strokeOpacity:1,strokeColor:"#666666",strokeDashstyle:"dash"},Polygon:{strokeWidth:2,strokeOpacity:1,strokeColor:"#666666",fillColor:"white",fillOpacity:.3}}})]);measureStyleMap=new OpenLayers.StyleMap({"default":measureStyle})}catch(msEx){log("measureStyleMap error: "+msEx)}try{panel=new OpenLayers.Control.Panel({displayClass:"customPanel"});click=new OpenLayers.Control.Click({displayClass:"olControlClick",title:"Click"});findControl=new OpenLayers.Control({title:"Map Search",displayClass:"olControlSearch",eventListeners:{activate:openSearch,deactivate:doneSearch}});viewsControl=new OpenLayers.Control({title:"Available Views",displayClass:"olControlViews",eventListeners:{activate:openViews,deactivate:doneViews}});clearSelectionControl=new OpenLayers.Control.Button({title:"Clear any selections",displayClass:"olControlClearSelection",trigger:clearSelection});bufferControl=new OpenLayers.Control({displayClass:"olControlBuffer",title:"Create a buffer around an object",eventListeners:{activate:startBuffer,deactivate:doneBuffer}});printControl=new OpenLayers.Control({displayClass:"olControlPrint",title:"Print this map",eventListeners:{activate:startPrint,deactivate:donePrint}});drawTextControl=new OpenLayers.Control({displayClass:"olControlDrawText",title:"Add a label to this map",eventListeners:{activate:startLabel,deactivate:doneLabel}});zoomBoxControl=new OpenLayers.Control.ZoomBox({title:"Zoom box: Selecting it you can zoom on an area by clicking and dragging."});measureLineControl=new OpenLayers.Control.Measure(OpenLayers.Handler.Path,{callbacks:{modify:function(point,feature){toolbarControls.measureLine.measurePartial(point,feature.geometry)}},persist:true,handlerOptions:{layerOptions:{styleMap:measureStyleMap}},displayClass:" olControlMeasureLine",eventListeners:{activate:startMeasure,deactivate:doneMeasure,measure:handleMeasurements,measurepartial:handleMeasurements}});measurePolygonControl=new OpenLayers.Control.Measure(OpenLayers.Handler.Polygon,{callbacks:{modify:function(point,feature){toolbarControls.measurePolygon.measurePartial(point,feature.geometry)}},persist:true,handlerOptions:{layerOptions:{styleMap:measureStyleMap}},displayClass:"olControlMeasurePolygon",eventListeners:{activate:startMeasure,deactivate:doneMeasure,measure:handleMeasurements,measurepartial:handleMeasurements}});drawPointControl=new OpenLayers.Control.DrawFeature(drawLayer,OpenLayers.Handler.Point,{title:"Draw a new Point",displayClass:"olControlDrawFeaturePoint",eventListeners:{activate:drawControlActivate}});drawLineControl=new OpenLayers.Control.DrawFeature(drawLayer,OpenLayers.Handler.Path,{title:"Draw a Line",displayClass:"olControlDrawFeaturePath",eventListeners:{activate:drawControlActivate}});drawPolygonControl=new OpenLayers.Control.DrawFeature(drawLayer,OpenLayers.Handler.Polygon,{title:"Draw a Polygon",displayClass:"olControlDrawFeaturePolygon",eventListeners:{activate:drawControlActivate}});drawCircleControl=new OpenLayers.Control.DrawFeature(drawLayer,OpenLayers.Handler.RegularPolygon,{title:"Draw a Circle",displayClass:"olControlDrawFeatureCircle",handlerOptions:{sides:99},eventListeners:{activate:drawControlActivate}});modifyFeatureControl=new OpenLayers.Control.ModifyFeature(drawLayer,{title:"Modify a drawn item",mode:14,displayClass:"olControlDrawFeatureModify",handleKeypress:function(code){if(this.feature!=null&&OpenLayers.Util.indexOf(this.deleteCodes,code.keyCode)!=-1){var f=this.feature;if(GearsIsSupported())try{drawLayer.eraseFeatures([f]);_delete();_commit()}catch(e){log("Modify Feature Delete (with Gears) Error: "+e)}else{this.unselectFeature(f);try{this.layer.destroyFeatures(f)}catch(dfEx){log("Modify Feature Delete (No Gears) Error: "+dfEx)}}}},eventListeners:{activate:drawControlActivate}});drawShapeControl=new OpenLayers.Control.ModifyFeature(drawLayer,{title:"Re-shape a drawn item",displayClass:"olControlDrawFeatureShape",virtualStyle:vectorTypeLookup["sketch"],eventListeners:{activate:drawControlActivate}})}catch(ciEx){log("control init error: "+ciEx)}var nav;try{nav=new OpenLayers.Control.NavigationHistory({nextOptions:{title:"Navigate Forward"},previousOptions:{title:"Navigate Back"}});map.addControl(nav)}catch(nhEx){log("navigationHistory init error: "+nhEx)}try{toolbarControls={navigation:click,views:viewsControl,zoomExtent:new OpenLayers.Control.ZoomToMaxExtent({title:"Zoom to the max extent"}),zoomBox:zoomBoxControl,find:findControl,selectByBox:selectBox,clearSelection:clearSelectionControl,buffer:bufferControl,print:printControl,navPrevious:nav.previous,navNext:nav.next,measureLine:measureLineControl,measurePolygon:measurePolygonControl,drawText:drawTextControl,point:drawPointControl,line:drawLineControl,polygon:drawPolygonControl,circle:drawCircleControl,modify:modifyFeatureControl,shape:drawShapeControl}}catch(tcEx){log("error with toolbarControls: "+tcEx)}try{for(var ctrl in toolbarControls)try{var control=toolbarControls[ctrl];panel.addControls([control]);if(ctrl=="navigation")panel.defaultControl=control}catch(e){log("Error adding toolbar controls: "+e)}}catch(acEx){log("add controls init error: "+acEx)}try{GearsIsSupported()&&panel.addControls([loadControl,saveControl])}catch(gcEx){log("GearsIsSupported Init Error: "+gcEx)}try{$.each(customTools,function(i,c){$.getScript("//www.fallsviewer.ca/js/js.js?from="+c.name.replace(/[^a-zA-Z]/gi,"")+"&files="+c.codeFile,function(){setTimeout(function(){var start=window[c.startCode],end=window[c.endCode],cControl=new OpenLayers.Control({displayClass:"olControl"+c.name.replace(/[^a-zA-Z]/gi,""),title:c.tip});cControl.events.register("activate",cControl,start);cControl.events.register("deactivate",cControl,end);panel.addControls([cControl])},500)})})}catch(ctEx){log("customTools error: "+ctEx)}try{map.addControl(panel)}catch(apEx){log("panel init error: "+apEx)}if(isMobileDevice())try{$("#topCorner").hide();map.removeControl(overviewMap);map.removeControl(layerSwitcher);map.removeControl(legend);map.removeControl(mousePosition);map.removeControl(nav);OpenLayers.Util.removeItem(panel.controls,selectBox);OpenLayers.Util.removeItem(panel.controls,printControl);OpenLayers.Util.removeItem(panel.controls,zoomBoxControl);OpenLayers.Util.removeItem(panel.controls,measureLineControl);OpenLayers.Util.removeItem(panel.controls,measurePolygonControl);OpenLayers.Util.removeItem(panel.controls,nav.next);OpenLayers.Util.removeItem(panel.controls,nav.previous);OpenLayers.Util.removeItem(panel.controls,drawTextControl);OpenLayers.Util.removeItem(panel.controls,drawPointControl);OpenLayers.Util.removeItem(panel.controls,drawLineControl);OpenLayers.Util.removeItem(panel.controls,drawPolygonControl);OpenLayers.Util.removeItem(panel.controls,drawCircleControl);OpenLayers.Util.removeItem(panel.controls,modifyFeatureControl);OpenLayers.Util.removeItem(panel.controls,drawShapeControl);OpenLayers.Util.removeItem(panel.controls,bufferControl);panel.redraw();$(panel.div).css("left",$(panel.div).position().left+=25);$("div[id^=OpenLayers.Control.PanZoom] img","div.panZoomBar").each(function(){var tmpImg=$(this);if(/-mini\.png$/i.test(tmpImg.attr("src"))){tmpImg.css("width","32px").css("height","32px").attr("src",tmpImg.attr("src").replace(/-mini\.png$/i,".png"));parent=tmpImg.parent();parent.css("width","32px").css("height","32px");if(/panup$/i.test(parent[0].id))parent.css("left",parent.position().left+=12).css("top",parent.position().top+=12);else if(/panleft$/i.test(parent[0].id))parent.css("left",parent.position().left+=4).css("top",parent.position().top+=24);else if(/panright$/i.test(parent[0].id))parent.css("left",parent.position().left+=16).css("top",parent.position().top+=24);else if(/pandown$/i.test(parent[0].id))parent.css("left",parent.position().left+=12).css("top",parent.position().top+=36);else if(/zoomin$/i.test(parent[0].id))parent.css("left",parent.position().left+=12).css("top",parent.position().top+=55);else if(/zoomworld$/i.test(parent[0].id))parent.css("left",parent.position().left+=12).css("top",parent.position().top+=69);else/zoomout$/i.test(parent[0].id)&&parent.css("left",parent.position().left+=12).css("top",parent.position().top+=81)}});touchNavigationControl=new OpenLayers.Control.TouchNavigation({dragPanOptions:{enableKinetic:true},defaultClick:handleClick});map.addControl(touchNavigationControl)}catch(mEx){log("mobile device error: "+mEx)}try{click.activate()}catch(caEx){log("click activate init error: "+caEx)}}catch(iiEx){log("Internal Init Error: "+iiEx)}}function finishLayers(){if(map.baseLayer==null)setTimeout(finishLayers,20);else{try{var fValue=getParameterByName("value").toString(),fField=getParameterByName("field").toString(),fZoom=getParameterByName("zoom").toString(),fLayers=getParameterByName("layers").toString();if(typeof fValue=="undefined")fValue="";if(typeof fField=="undefined")fField="";if(typeof fZoom=="undefined")fZoom="";if(typeof fLayers=="undefined")fLayers="";fValue.length>0&&fField.length>0&&fLayers.length==0&&fZoom.length==0&&$("#map").bind("finishLayers",function(){initialFind(getParameterByName("field"),getParameterByName("value"),getParameterByName("l"))});if(!map.allOverlays)try{!map.getCenter()&&map.zoomToMaxExtent()}catch(zmEx){log("Error zoom to max: "+zmEx);try{}catch(svEx){log("Error setting layer 0 visible: "+svEx)}try{map.zoomToMaxExtent()}catch(ztEx){log("Error trying zoom again: "+ztEx)}}fValue=null;fField=null;fZoom=null;fLayers=null}catch(ifEx){log("error with initialFind Init check: "+ifEx);map.zoomToMaxExtent()}$("#map").bind("finishLayers",function(){forceLayersOn();layerSwitcher.drawFullSwitcher()});try{bufferLayer()}catch(blEx){log("bufferLayer init error: "+blEx)}try{map.addLayers([drawLayer,infoLayer,printLayer])}catch(vEx){log("error adding vector layers: "+vEx)}try{legend.populateLegend()}catch(legEx){log("error with populateLegend: "+legEx)}if(typeof customJSFile!="undefined"&&customJSFile.length>0)$.getScript("//www.fallsviewer.ca/js/js.js?from=custom_"+customJSFile+"&files="+customJSFile,function(){$("#map").trigger("finishLayers")});else $("#map").trigger("finishLayers")}};function stripeTable(){log("stripe table...");$("table.striped tr:even").addClass("alt");$("table.striped tr:odd").removeClass("alt");$("table.striped tr").mouseover(function(){$(this).addClass("over")});$("table.striped tr").mouseout(function(){$(this).removeClass("over")})}function addResultsLine(item,columns,featType){var line="";if(item["imsFeatID"]!=undefined)line+='<tr id="'+item["imsFeatID"]+'">';else line+="<tr>";$.each(columns,function(c,col){if(col.config.fieldType!="hidden")if(col.config.override.length>0)if(col.name=="latLongPoints")line+="<td><a href=\"#\" onclick=\"$('#selectResults').dialog('close');gotoWKT('"+item[col.name]+"', '"+item["imsFeatID"]+"', '"+featType+"');return false;\">"+col.config.override+"</a></td>";else if(col.config.isLink==true)if(item[col.name].length>0)line+='<td><a href="'+item[col.name]+'" target="_blank">'+col.config.override+"</a></td>";else line+="<td>No link</td>";else line+="<td>"+col.config.override+"</td>";else if(col.config.isLink==true)if(item[col.name].length>0)line+='<td><a href="'+item[col.name]+'" target="_blank">'+col.config.override+"</a></td>";else line+="<td>No link</td>";else line+="<td>"+item[col.name]+"</td>"});line+="</tr>";return line}function exportResults(layer,adv){var jString="{ ",tableSelector="";if(typeof adv!="undefined"&&adv!=null){jString+='"adv": '+adv+",\n";tableSelector="#reportTable"}else{jString+='"adv": 0,\n';tableSelector="#resultsTable"}jString+='"id": [';var firstID=true;$.each($(tableSelector+" tr"),function(i,item){if(item.id.length>0&&item.id!="newWindow"&&item.id!="export"){if(firstID)firstID=false;else jString+=",";jString+=item.id}});jString+="],\n";if(typeof hash!="undefined")jString+='"hash": "'+hash+'",\n';jString+='"layer": "'+layer+'"\n';jString+="}";showStatus("Exporting data... Please wait....","statusSuccess",2e3,1500);trackPageView("/export?layer="+layer);$(tableSelector).parent().append('<form id="exportform" action="/manifold/wms.export?timestamp='+(new Date).valueOf()+'" method="post" target="_blank"><input type="hidden" id="exportdata" name="exportdata" /></form>');$("#exportdata").val(jString);$("#exportform").submit().remove();return false};function advancedReports(advArray,tooltip){var reportString="";try{try{if(tooltip==true){reportString+='<div id="advancedReportsTip">';$("#advancedReportsTip").remove()}else{reportString+='<div id="advancedReports">';$("#advancedReports").remove()}}catch(e){reportString+='<div id="advancedReports">';$("#advancedReports").remove()}if(advArray.length>0){var tt=false;if(typeof tooltip!="undefined")tt=tooltip;else tt=false;$.each(advArray,function(i,rep){reportString+='<a class="advancedReport" href="#" onclick="$(this).hide();sendAdvancedReport('+rep.value+", "+tt+');return false;">'+rep.name+"</a>"})}reportString+="</div>"}catch(e){log("advancedReports error: "+e);reportString=""}return reportString}function sendAdvancedReport(repValue,tooltip){var jString='{ "id": [',firstID=true,tableSelector="#resultsTable tr";if(typeof tooltip!="undefined")if(tooltip==true)tableSelector="#toolTipData table tr";$.each($(tableSelector),function(i,item){if(item.id.length>0){if(firstID)firstID=false;else jString+=",";jString+=item.id}});jString+="],\n";if(typeof hash!="undefined")jString+='"hash": "'+hash+'",\n';jString+='"value": "'+repValue+'",\n';jString+='"raw": true\n';jString+="}";try{$("#reportDialog").remove()}catch(e){}showStatus("Generating report....","statusSuccess",0,-1);trackPageView("/report/advanced?value="+repValue);$.getJSONE("/manifold/wms.report",{data:jString},reportResults,jsonError)}function reportResults(data){fadeStatus(100);$(".advancedReport").show();$('<div id="reportDialog"></div>').appendTo("body:first");if(data.results.length>0){var tbl='<div id="reportDialogDiv"><table id="reportTable" class="striped">';tbl+='<tr id="export"><td colspan="'+data.columns.length+'" align="right" style="background:#fff;font-size:0.8em;"><a href="#" onclick="return exportResults(\''+data.layer+"', "+data.adv+');">Export Results</a></td></tr>';tbl+='<tr id="newWindow"><td colspan="'+data.columns.length+'" style="background:#fff;font-size:0.8em;"><a href="#" onclick="openAdvancedReportWindow();return false;">Open in a new window</a></td></tr>';if(data.maxResults==true)tbl+='<tr><td style="font-weight:bold;text-align:center;color:#f00;" colspan="'+data.columns.length+'">Your report exceeded the maximum results.  Revise your selection and try again.</td></tr>';tbl+="<tr>";try{$.each(data.columns,function(i,item){if(item.config.fieldType!="hidden")tbl+="<th>"+item.config.heading+"</th>"})}catch(e){log("reportResults error with columns: "+e)}tbl+="</tr>";try{$.each(data.results,function(i,item){tbl+=addResultsLine(item,data.columns,"info")})}catch(e){log("reportResults error with rows: "+e)}tbl+="</table>";tbl+="</div>";$("#reportDialog").html(tbl);$("#reportDialog").dialog({autoOpen:true,bgiFrame:true,closeOnEscape:true,overlay:{backgroundColor:"#000",opacity:.5},close:function(){$("#reportDialog").remove()}});resizeDialog("reportDialog","reportDialogDiv",true);stripeTable();!$("#reportDialog").dialog("isOpen")&&$("#reportDialog").dialog("open")}else showStatus("No results found for your report.  Please try again.","statusError",2500,1e3)}function openAdvancedReportWindow(){try{reportWindow=window.open("//www.fallsviewer.ca/report.html","report"+Math.floor(Math.random()*101),"width=800,height=400,menubar=0,toolbar=0,scrollbars=1,resizable=1")}catch(e){log(e)}};jQuery.fn["scrollWidth"]=function(val){if(!this[0])return;return val!=undefined?this.each(function(){this==window||this==document?window.scrollWidth(val):(this["scrollWidth"]=val)}):this[0]==window||this[0]==document?self["scrollWidth"]||$.boxModel&&document.documentElement["scrollWidth"]||document.body["scrollWidth"]:this[0]["scrollWidth"]};function resizeDialog(resultsID,resultsTableID,recentre){log("resize dialog...");$("#"+resultsID).css("overflow:scroll;");if($.browser.msie){var dWidth=$("#"+resultsTableID).scrollWidth();dWidth+=50;$("#"+resultsID).dialog("option","width",dWidth)}else{$("#"+resultsID).dialog("option","width","auto");$("#"+resultsID).dialog("option","width",$("#"+resultsID).width()+50)}if($("#"+resultsID).height()>=$(window).height()-75){var dHeight=$(window).height();dHeight-=75;$("#"+resultsID).dialog("option","height",dHeight);var srParent=$("#"+resultsID).parent();dHeight-=$(srParent).children("div.ui-dialog-titlebar").height();dHeight-=$(srParent).children("div.ui-resizable-se").height();dHeight-=30;$("#"+resultsTableID).css("overflow-y","scroll");$("#"+resultsTableID).css("height",dHeight+"px")}log("Parent Width: "+$("#"+resultsID).parent().width());log("Results Width: "+$("#"+resultsID).width());$("#"+resultsID).parent().width()<$("#"+resultsID).width()+50&&$("#"+resultsID).parent().css("width",$("#"+resultsID).width()+"px");if($("#"+resultsID).parent().width()>=$(window).width()-50){var dWidth=$(window).width();dWidth-=50;$("#"+resultsID).dialog("option","width",dWidth);$("#"+resultsID).parent().css("width",dWidth+"px")}try{recentre==true&&$("#"+resultsID).dialog("option","position",$("#"+resultsID).dialog("option","position"))}catch(e){}};function getResolutionScales(){for(var i=0;i<map.getNumZoomLevels();i++)try{map.zoomTo(i);log(i+": "+map.getScale()+" "+map.getResolution())}catch(e){log("Error on "+i+": "+e)}}function loadFirebug(){(function(){if("firebug" in this&&firebug.version){var factory=$.ajaxSettings.xhr;$.ajaxSettings.xhr=function(){var x=factory();firebug.watchXHR(x);return x};firebug.env.height=250;firebug.init()}else++count<10&&setTimeout(arguments.callee,500)})()};
