Mip={};Mip._scriptName="js/Mapping.js";Mip._getScriptLocation=function(){var E="";var B=Mip._scriptName;var A=document.getElementsByTagName("script");for(var D=0;D<A.length;D++){var F=A[D].getAttribute("src");if(F){var C=F.lastIndexOf(B);if((C>-1)&&(C+B.length==F.length)){E=F.slice(0,-B.length);break}}}return E};Mip.VERSION_NUMBER="$Revision: 1.1 $";Mip.Class={isPrototype:function(){},create:function(){return function(){if(arguments&&arguments[0]!=Mip.Class.isPrototype){this.initialize.apply(this,arguments)}}},inherit:function(){var C=arguments[0];var D=new C(Mip.Class.isPrototype);for(var B=1;B<arguments.length;B++){if(typeof arguments[B]=="function"){var A=arguments[B];arguments[B]=new A(Mip.Class.isPrototype)}Mip.Util.extend(D,arguments[B]);if((arguments[B].hasOwnProperty&&arguments[B].hasOwnProperty("toString"))||(!arguments[B].hasOwnProperty&&arguments[B].toString)){D.toString=arguments[B].toString}}return D}};Mip.Pixel=Mip.Class.create();Mip.Pixel.prototype={x:0,y:0,initialize:function(A,B){this.x=parseFloat(A);this.y=parseFloat(B)},toString:function(){return("x="+this.x+",y="+this.y)},clone:function(){return new Mip.Pixel(this.x,this.y)},equals:function(A){var B=false;if(A!=null){B=((this.x==A.x&&this.y==A.y)||(isNaN(this.x)&&isNaN(this.y)&&isNaN(A.x)&&isNaN(A.y)))}return B},add:function(A,B){return new Mip.Pixel(this.x+A,this.y+B)},offset:function(A){var B=this.clone();if(A){B=this.add(A.x,A.y)}return B},CLASS_NAME:"Mip.Pixel"};Mip.Size=Mip.Class.create();Mip.Size.prototype={w:0,h:0,initialize:function(A,B){this.w=parseFloat(A);this.h=parseFloat(B)},toString:function(){return("w="+this.w+",h="+this.h)},clone:function(){return new Mip.Size(this.w,this.h)},equals:function(B){var A=false;if(B!=null){A=((this.w==B.w&&this.h==B.h)||(isNaN(this.w)&&isNaN(this.h)&&isNaN(B.w)&&isNaN(B.h)))}return A},CLASS_NAME:"Mip.Size"};Mip.LonLat=Mip.Class.create();Mip.LonLat.prototype={lon:0,lat:0,initialize:function(B,A){this.lon=parseFloat(B);this.lat=parseFloat(A)},toString:function(){return("lon="+this.lon+",lat="+this.lat)},toShortString:function(){return(this.lon+", "+this.lat)},clone:function(){return new Mip.LonLat(this.lon,this.lat)},add:function(B,A){return new Mip.LonLat(this.lon+B,this.lat+A)},equals:function(B){var A=false;if(B!=null){A=((this.lon==B.lon&&this.lat==B.lat)||(isNaN(this.lon)&&isNaN(this.lat)&&isNaN(B.lon)&&isNaN(B.lat)))}return A},CLASS_NAME:"Mip.LonLat"};Mip.LonLat.fromString=function(B){var A=B.split(",");return new Mip.LonLat(parseFloat(A[0]),parseFloat(A[1]))};Mip.Bounds=Mip.Class.create();Mip.Bounds.prototype={left:0,bottom:0,right:0,top:0,initialize:function(D,A,B,C){this.left=parseFloat(D);this.bottom=parseFloat(A);this.right=parseFloat(B);this.top=parseFloat(C)},clone:function(){return new Mip.Bounds(this.left,this.bottom,this.right,this.top)},equals:function(B){var A=false;if(B!=null){A=((this.left==B.left)&&(this.right==B.right)&&(this.top==B.top)&&(this.bottom==B.bottom))}return A},toString:function(){return("left-bottom=("+this.left+","+this.bottom+") right-top=("+this.right+","+this.top+")")},toBBOX:function(A){if(A==null){A=6}var B=Math.pow(10,A);var C=Math.round(this.left*B)/B+","+Math.round(this.bottom*B)/B+","+Math.round(this.right*B)/B+","+Math.round(this.top*B)/B;return C},getWidth:function(){return(this.right-this.left)},getHeight:function(){return(this.top-this.bottom)},getSize:function(){return new Mip.Size(this.getWidth(),this.getHeight())},getCenterPixel:function(){return new Mip.Pixel((this.left+this.right)/2,(this.bottom+this.top)/2)},getCenterLonLat:function(){return new Mip.LonLat((this.left+this.right)/2,(this.bottom+this.top)/2)},add:function(A,B){return new Mip.Bounds(this.left+A,this.bottom+B,this.right+A,this.top+B)},extend:function(A){var B=null;if(A){switch(A.CLASS_NAME){case"Mip.LonLat":B=new Mip.Bounds(A.lon,A.lat,A.lon,A.lat);break;case"Mip.Geometry.Point":B=new Mip.Bounds(A.x,A.y,A.x,A.y);break;case"Mip.Bounds":B=A;break}if(B){this.left=(B.left<this.left)?B.left:this.left;this.bottom=(B.bottom<this.bottom)?B.bottom:this.bottom;this.right=(B.right>this.right)?B.right:this.right;this.top=(B.top>this.top)?B.top:this.top}}},containsLonLat:function(B,A){return this.contains(B.lon,B.lat,A)},containsPixel:function(B,A){return this.contains(B.x,B.y,A)},contains:function(B,D,A){if(A==null){A=true}var C=false;if(A){C=((B>=this.left)&&(B<=this.right)&&(D>=this.bottom)&&(D<=this.top))}else{C=((B>this.left)&&(B<this.right)&&(D>this.bottom)&&(D<this.top))}return C},intersectsBounds:function(D,B){if(B==null){B=true}var F=(D.bottom==this.bottom&&D.top==this.top)?true:(((D.bottom>this.bottom)&&(D.bottom<this.top))||((this.bottom>D.bottom)&&(this.bottom<D.top)));var E=(D.bottom==this.bottom&&D.top==this.top)?true:(((D.top>this.bottom)&&(D.top<this.top))||((this.top>D.bottom)&&(this.top<D.top)));var A=(D.right==this.right&&D.left==this.left)?true:(((D.right>this.left)&&(D.right<this.right))||((this.right>D.left)&&(this.right<D.right)));var C=(D.right==this.right&&D.left==this.left)?true:(((D.left>this.left)&&(D.left<this.right))||((this.left>D.left)&&(this.left<D.right)));return(this.containsBounds(D,true,B)||D.containsBounds(this,true,B)||((E||F)&&(C||A)))},containsBounds:function(E,D,B){if(D==null){D=false}if(B==null){B=true}var C;var G;var A;var F;if(B){C=(E.left>=this.left)&&(E.left<=this.right);G=(E.top>=this.bottom)&&(E.top<=this.top);A=(E.right>=this.left)&&(E.right<=this.right);F=(E.bottom>=this.bottom)&&(E.bottom<=this.top)}else{C=(E.left>this.left)&&(E.left<this.right);G=(E.top>this.bottom)&&(E.top<this.top);A=(E.right>this.left)&&(E.right<this.right);F=(E.bottom>this.bottom)&&(E.bottom<this.top)}return(D)?(G||F)&&(C||A):(G&&C&&F&&A)},determineQuadrant:function(C){var B="";var A=this.getCenterLonLat();B+=(C.lat<A.lat)?"b":"t";B+=(C.lon<A.lon)?"l":"r";return B},CLASS_NAME:"Mip.Bounds"};Mip.Bounds.fromString=function(B){var A=B.split(",");return Mip.Bounds.fromArray(A)};Mip.Bounds.fromArray=function(A){return new Mip.Bounds(parseFloat(A[0]),parseFloat(A[1]),parseFloat(A[2]),parseFloat(A[3]))};Mip.Bounds.fromSize=function(A){return new Mip.Bounds(0,A.h,A.w,0)};Mip.Bounds.oppositeQuadrant=function(A){var B="";B+=(A.charAt(0)=="t")?"b":"t";B+=(A.charAt(1)=="l")?"r":"l";return B};Mip.Element={visible:function(A){return Mip.Util.getElement(A).style.display!="none"},toggle:function(){for(var B=0;B<arguments.length;B++){var A=Mip.Util.getElement(arguments[B]);Mip.Element[Mip.Element.visible(A)?"hide":"show"](A)}},hide:function(){for(var B=0;B<arguments.length;B++){var A=Mip.Util.getElement(arguments[B]);A.style.display="none"}},show:function(){for(var B=0;B<arguments.length;B++){var A=Mip.Util.getElement(arguments[B]);A.style.display=""}},remove:function(A){A=Mip.Util.getElement(A);A.parentNode.removeChild(A)},getHeight:function(A){A=Mip.Util.getElement(A);return A.offsetHeight},getDimensions:function(B){B=Mip.Util.getElement(B);if(Mip.Element.getStyle(B,"display")!="none"){return{width:B.offsetWidth,height:B.offsetHeight}}var A=B.style;var E=A.visibility;var C=A.position;A.visibility="hidden";A.position="absolute";A.display="";var F=B.clientWidth;var D=B.clientHeight;A.display="none";A.position=C;A.visibility=E;return{width:F,height:D}},getStyle:function(B,C){B=Mip.Util.getElement(B);var D=B.style[C.camelize()];if(!D){if(document.defaultView&&document.defaultView.getComputedStyle){var A=document.defaultView.getComputedStyle(B,null);D=A?A.getPropertyValue(C):null}else{if(B.currentStyle){D=B.currentStyle[C.camelize()]}}}if(window.opera&&Mip.Util.indexOf(["left","top","right","bottom"],C)!=-1){if(Mip.Element.getStyle(B,"position")=="static"){D="auto"}}return D=="auto"?null:D}};String.prototype.startsWith=function(A){return(this.substr(0,A.length)==A)};String.prototype.contains=function(A){return(this.indexOf(A)!=-1)};String.prototype.trim=function(){var A=0;while(this.substr(A,1)==" "){A++}var B=this.length-1;while(this.substr(B,1)==" "){B--}return this.substring(A,B+1)};String.indexOf=function(A){for(var B=0;B<this.length;B++){if(this[B]==A){return B}}return -1};String.prototype.camelize=function(){var D=this.split("-");if(D.length==1){return D[0]}var B=this.indexOf("-")==0?D[0].charAt(0).toUpperCase()+D[0].substring(1):D[0];for(var C=1,A=D.length;C<A;C++){var E=D[C];B+=E.charAt(0).toUpperCase()+E.substring(1)}return B};Number.prototype.limitSigDigs=function(C){var A=(C>0)?this.toString():0;if(C<A.length){var B=A.length-C;A=Math.round(this/Math.pow(10,B))*Math.pow(10,B)}return parseInt(A)};Function.prototype.bind=function(){var A=this,C=[],B=arguments[0];for(var D=1;D<arguments.length;D++){C.push(arguments[D])}return function(F){for(var E=0;E<arguments.length;E++){C.push(arguments[E])}return A.apply(B,C)}};Function.prototype.bindAsEventListener=function(B){var A=this;return function(C){return A.call(B,C||window.event)}};Mip.Util=new Object();Mip.Util.getElement=function(){var C=new Array();for(var B=0;B<arguments.length;B++){var A=arguments[B];if(typeof A=="string"){A=document.getElementById(A)}if(arguments.length==1){return A}C.push(A)}return C};if($==null){var $=Mip.Util.getElement}Mip.Util.extend=function(A,B){for(property in B){A[property]=B[property]}return A};Mip.Util.removeItem=function(C,B){for(var A=0;A<C.length;A++){if(C[A]==B){C.splice(A,1)}}return C};Mip.Util.clearArray=function(A){A.length=0};Mip.Util.indexOf=function(C,B){for(var A=0;A<C.length;A++){if(C[A]==B){return A}}return -1};Mip.Util.modifyDOMElement=function(E,H,D,F,A,C,G,B){if(H){E.id=H}if(D){E.style.left=D.x+"px";E.style.top=D.y+"px"}if(F){E.style.width=F.w+"px";E.style.height=F.h+"px"}if(A){E.style.position=A}if(C){E.style.border=C}if(G){E.style.overflow=G}if(B){E.style.opacity=B;E.style.filter="alpha(opacity="+(B*100)+")"}};Mip.Util.createDiv=function(A,I,H,F,E,C,B,G){var D=document.createElement("div");if(F){D.style.backgroundImage="url("+F+")"}if(!A){A=Mip.Util.createUniqueID("MipDiv")}if(!E){E="absolute"}Mip.Util.modifyDOMElement(D,A,I,H,E,C,B,G);return D};Mip.Util.createImage=function(A,H,G,E,D,C,F,I){var B=document.createElement("img");if(!A){A=Mip.Util.createUniqueID("MipDiv")}if(!D){D="relative"}Mip.Util.modifyDOMElement(B,A,H,G,D,C,null,F);if(I){B.style.display="none";Mip.Event.observe(B,"load",Mip.Util.onImageLoad.bindAsEventListener(B));Mip.Event.observe(B,"error",Mip.Util.onImageLoadError.bindAsEventListener(B))}B.style.alt=A;B.galleryImg="no";if(E){B.src=E}return B};Mip.Util.setOpacity=function(B,A){Mip.Util.modifyDOMElement(B,null,null,null,null,null,null,A)};Mip.Util.onImageLoad=function(){if(!this.viewRequestID||(this.map&&this.viewRequestID==this.map.viewRequestID)){this.style.backgroundColor=null;this.style.display=""}};Mip.Util.onImageLoadErrorColor="pink";Mip.IMAGE_RELOAD_ATTEMPTS=3;Mip.Util.onImageLoadError=function(){this._attempts=(this._attempts)?(this._attempts+1):1;if(this._attempts<=Mip.IMAGE_RELOAD_ATTEMPTS){this.src=this.src}else{this.style.backgroundColor=Mip.Util.onImageLoadErrorColor}this.style.display=""};Mip.Util.alphaHack=function(){var D=navigator.appVersion.split("MSIE");var A=parseFloat(D[1]);var B=false;try{B=document.body.filters}catch(C){}return(B&&(A>=5.5)&&(A<7))};Mip.Util.modifyAlphaImageDiv=function(A,B,J,I,G,F,C,D,H){Mip.Util.modifyDOMElement(A,B,J,I);var E=A.childNodes[0];if(G){E.src=G}Mip.Util.modifyDOMElement(E,A.id+"_innerImage",null,I,"relative",C);if(H){A.style.opacity=H;A.style.filter="alpha(opacity="+(H*100)+")"}if(Mip.Util.alphaHack()){A.style.display="inline-block";if(D==null){D="scale"}A.style.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+E.src+"', sizingMethod='"+D+"')";if(A.style.opacity){A.style.filter+=" alpha(opacity="+A.style.opacity*100+")"}E.style.filter="progid:DXImageTransform.Microsoft.Alpha(opacity=0)"}};Mip.Util.createAlphaImageDiv=function(B,J,I,G,F,C,D,H,K){var A=Mip.Util.createDiv();var E=Mip.Util.createImage(null,null,null,null,null,null,null,false);A.appendChild(E);if(K){E.style.display="none";Mip.Event.observe(E,"load",Mip.Util.onImageLoad.bindAsEventListener(A));Mip.Event.observe(E,"error",Mip.Util.onImageLoadError.bindAsEventListener(A))}Mip.Util.modifyAlphaImageDiv(A,B,J,I,G,F,C,D,H);return A};Mip.Util.upperCaseObject=function(B){var A=new Object();for(var C in B){A[C.toUpperCase()]=B[C]}return A};Mip.Util.applyDefaults=function(C,B){for(var A in B){if(C[A]==null){C[A]=B[A]}}};Mip.Util.getParameterString=function(F){paramsArray=new Array();for(var B in F){var D=F[B];if((D!=null)&&(typeof D!="function")){var A;if(typeof D=="object"&&D.constructor==Array){var E=new Array();for(var C=0;C<D.length;C++){E.push(encodeURIComponent(D[C]))}A=E.join(",")}else{A=encodeURIComponent(D)}paramsArray.push(encodeURIComponent(B)+"="+A)}}return paramsArray.join("&")};Mip.ImgPath="";Mip.Util.getImagesLocation=function(){return Mip.ImgPath||(Mip._getScriptLocation()+"img/")};Mip.Util.Try=function(){var C;for(var B=0;B<arguments.length;B++){var A=arguments[B];try{C=A();break}catch(D){}}return C};Mip.Util.getNodes=function(C,B){var A=Mip.Util.Try(function(){return Mip.Util._getNodes(C.documentElement.childNodes,B)},function(){return Mip.Util._getNodes(C.childNodes,B)});return A};Mip.Util._getNodes=function(B,D){var A=new Array();for(var C=0;C<B.length;C++){if(B[C].nodeName==D){A.push(B[C])}}return A};Mip.Util.getTagText=function(C,D,B){var A=Mip.Util.getNodes(C,D);if(A&&(A.length>0)){if(!B){B=0}if(A[B].childNodes.length>1){return A.childNodes[1].nodeValue}else{if(A[B].childNodes.length==1){return A[B].firstChild.nodeValue}}}else{return""}};Mip.Util.getXmlNodeValue=function(A){var B=null;Mip.Util.Try(function(){B=A.text;if(!B){B=A.textContent}if(!B){B=A.firstChild.nodeValue}},function(){B=A.textContent});return B};Mip.Util.mouseLeft=function(A,C){var B=(A.relatedTarget)?A.relatedTarget:A.toElement;while(B!=C&&B!=null){B=B.parentNode}return(B!=C)};Mip.Util.rad=function(A){return A*Math.PI/180};Mip.Util.distVincenty=function(F,D){var l=6378137,k=6356752.3142,e=1/298.257223563;var M=Mip.Util.rad(D.lon-F.lon);var j=Math.atan((1-e)*Math.tan(Mip.Util.rad(F.lat)));var h=Math.atan((1-e)*Math.tan(Mip.Util.rad(D.lat)));var K=Math.sin(j),H=Math.cos(j);var J=Math.sin(h),G=Math.cos(h);var Q=M,N=2*Math.PI;var P=20;while(Math.abs(Q-N)>1e-12&&--P>0){var X=Math.sin(Q),E=Math.cos(Q);var m=Math.sqrt((G*X)*(G*X)+(H*J-K*G*E)*(H*J-K*G*E));if(m==0){return 0}var Z=K*J+H*G*E;var W=Math.atan2(m,Z);var I=Math.asin(H*G*X/m);var c=Math.cos(I)*Math.cos(I);var O=Z-2*K*J/c;var T=e/16*c*(4+e*(4-3*c));N=Q;Q=M+(1-T)*e*Math.sin(I)*(W+T*m*(O+T*Z*(-1+2*O*O)))}if(P==0){return NaN}var S=c*(l*l-k*k)/(k*k);var V=1+S/16384*(4096+S*(-768+S*(320-175*S)));var U=S/1024*(256+S*(-128+S*(74-47*S)));var Y=U*m*(O+U/4*(Z*(-1+2*O*O)-U/6*O*(-3+4*m*m)*(-3+4*O*O)));var R=k*V*(W-Y);var g=R.toFixed(3)/1000;return g};Mip.Util.getArgs=function(B){if(B==null){B=window.location.href}var D=(B.indexOf("?")!=-1)?B.substring(B.indexOf("?")+1):"";var A=new Object();pairs=D.split(/[&;]/);for(var C=0;C<pairs.length;++C){keyValue=pairs[C].split(/=/);if(keyValue.length==2){A[decodeURIComponent(keyValue[0])]=decodeURIComponent(keyValue[1])}}return A};Mip.Util.lastSeqID=0;Mip.Util.createUniqueID=function(A){if(A==null){A="id_"}Mip.Util.lastSeqID+=1;return A+Mip.Util.lastSeqID};Mip.INCHES_PER_UNIT={"inches":1,"ft":12,"mi":63360,"m":39.3701,"km":39370.1,"dd":4374754};Mip.INCHES_PER_UNIT["in"]=Mip.INCHES_PER_UNIT.inches;Mip.INCHES_PER_UNIT["degrees"]=Mip.INCHES_PER_UNIT.dd;Mip.DOTS_PER_INCH=72;Mip.Util.normalizeScale=function(B){var A=(B>1)?(1/B):B;return A};Mip.Util.getResolutionFromScale=function(D,A){if(A==null){A="degrees"}var C=Mip.Util.normalizeScale(D);var B=1/(C*Mip.INCHES_PER_UNIT[A]*Mip.DOTS_PER_INCH);return B};Mip.Util.getScaleFromResolution=function(B,A){if(A==null){A="degrees"}var C=B*Mip.INCHES_PER_UNIT[A]*Mip.DOTS_PER_INCH;return C};Mip.Util.safeStopPropagation=function(A){Mip.Event.stop(A,true)};Mip.Util.pagePosition=function(D){var A=0,C=0;var B=D;do{A+=B.offsetTop||0;C+=B.offsetLeft||0;if(B.offsetParent==document.body){if(Mip.Element.getStyle(B,"position")=="absolute"){break}}}while(B=B.offsetParent);B=D;do{A-=B.scrollTop||0;C-=B.scrollLeft||0}while(B=B.parentNode);return[C,A]};Mip.Util.isEquivalentUrl=function(F,E,A){A=A||new Object();Mip.Util.applyDefaults(A,{ignoreCase:true,ignorePort80:true,ignoreHash:true});urlObj1=Mip.Util.createUrlObject(F,A);urlObj2=Mip.Util.createUrlObject(E,A);for(var B in urlObj1){if(A.test){alert(B+"\n1:"+urlObj1[B]+"\n2:"+urlObj2[B])}var D=urlObj1[B];var C=urlObj2[B];switch(B){case"args":break;case"host":case"port":case"protocol":if((D=="")||(C=="")){break}default:if((B!="args")&&(urlObj1[B]!=urlObj2[B])){return false}break}}for(var B in urlObj1.args){if(urlObj1.args[B]!=urlObj2.args[B]){return false}delete urlObj2.args[B]}for(var B in urlObj2.args){return false}return true};Mip.Util.createUrlObject=function(E,C){C=C||new Object();var Q=new Object();if(C.ignoreCase){E=E.toLowerCase()}var S=document.createElement("a");S.href=E;Q.host=S.host;var J=S.port;if(J.length<=0){var N=Q.host.length-(J.length);Q.host=Q.host.substring(0,N)}Q.protocol=S.protocol;Q.port=((J=="80")&&(C.ignorePort80))?"":J;Q.hash=(C.ignoreHash)?"":S.hash;var B=S.search;if(!B){var H=E.indexOf("?");B=(H!=-1)?E.substr(H):""}Q.args=Mip.Util.getArgs(B);if(((Q.protocol=="file:")&&(E.indexOf("file:")!=-1))||((Q.protocol!="file:")&&(Q.host!=""))){Q.pathname=S.pathname;var K=Q.pathname.indexOf("?");if(K!=-1){Q.pathname=Q.pathname.substring(0,K)}}else{var I=Mip.Util.removeTail(E);var P=0;do{var F=I.indexOf("../");if(F==0){P++;I=I.substr(3)}else{if(F>=0){var L=I.substr(0,F-1);var O=L.indexOf("/");L=(O!=-1)?L.substr(0,O+1):"";var R=I.substr(F+3);I=L+R}}}while(F!=-1);var D=document.createElement("a");var M=window.location.href;if(C.ignoreCase){M=M.toLowerCase()}D.href=M;Q.protocol=D.protocol;var A=(D.pathname.indexOf("/")!=-1)?"/":"\\";var G=D.pathname.split(A);G.pop();while((P>0)&&(G.length>0)){G.pop();P--}I=G.join("/")+"/"+I;Q.pathname=I}if((Q.protocol=="file:")||(Q.protocol=="")){Q.host="localhost"}return Q};Mip.Util.removeTail=function(B){var C=null;var A=B.indexOf("?");var D=B.indexOf("#");if(A==-1){C=(D!=-1)?B.substr(0,D):B}else{C=(D!=-1)?B.substr(0,Math.min(A,D)):B.substr(0,A)}return C};Mip.Rico=new Object();Mip.Rico.Corner={round:function(D,B){D=Mip.Util.getElement(D);this._setOptions(B);var A=this.options.color;if(this.options.color=="fromElement"){A=this._background(D)}var C=this.options.bgColor;if(this.options.bgColor=="fromParent"){C=this._background(D.offsetParent)}this._roundCornersImpl(D,A,C)},changeColor:function(C,B){C.style.backgroundColor=B;var A=C.parentNode.getElementsByTagName("span");for(var D=0;D<A.length;D++){A[D].style.backgroundColor=B}},changeOpacity:function(C,F){var D=F;var A="alpha(opacity="+F*100+")";C.style.opacity=D;C.style.filter=A;var B=C.parentNode.getElementsByTagName("span");for(var E=0;E<B.length;E++){B[E].style.opacity=D;B[E].style.filter=A}},reRound:function(D,C){var B=D.parentNode.childNodes[0];var A=D.parentNode.childNodes[2];D.parentNode.removeChild(B);D.parentNode.removeChild(A);this.round(D.parentNode,C)},_roundCornersImpl:function(C,A,B){if(this.options.border){this._renderBorder(C,B)}if(this._isTopRounded()){this._roundTopCorners(C,A,B)}if(this._isBottomRounded()){this._roundBottomCorners(C,A,B)}},_renderBorder:function(D,E){var B="1px solid "+this._borderColor(E);var A="border-left: "+B;var F="border-right: "+B;var C="style='"+A+";"+F+"'";D.innerHTML="<div "+C+">"+D.innerHTML+"</div>"},_roundTopCorners:function(C,A,E){var D=this._createCorner(E);for(var B=0;B<this.options.numSlices;B++){D.appendChild(this._createCornerSlice(A,E,B,"top"))}C.style.paddingTop=0;C.insertBefore(D,C.firstChild)},_roundBottomCorners:function(C,A,E){var D=this._createCorner(E);for(var B=(this.options.numSlices-1);B>=0;B--){D.appendChild(this._createCornerSlice(A,E,B,"bottom"))}C.style.paddingBottom=0;C.appendChild(D)},_createCorner:function(B){var A=document.createElement("div");A.style.backgroundColor=(this._isTransparent()?"transparent":B);return A},_createCornerSlice:function(C,D,G,A){var E=document.createElement("span");var B=E.style;B.backgroundColor=C;B.display="block";B.height="1px";B.overflow="hidden";B.fontSize="1px";var F=this._borderColor(C,D);if(this.options.border&&G==0){B.borderTopStyle="solid";B.borderTopWidth="1px";B.borderLeftWidth="0px";B.borderRightWidth="0px";B.borderBottomWidth="0px";B.height="0px";B.borderColor=F}else{if(F){B.borderColor=F;B.borderStyle="solid";B.borderWidth="0px 1px"}}if(!this.options.compact&&(G==(this.options.numSlices-1))){B.height="2px"}this._setMargin(E,G,A);this._setBorder(E,G,A);return E},_setOptions:function(A){this.options={corners:"all",color:"fromElement",bgColor:"fromParent",blend:true,border:false,compact:false};Mip.Util.extend(this.options,A||{});this.options.numSlices=this.options.compact?2:4;if(this._isTransparent()){this.options.blend=false}},_whichSideTop:function(){if(this._hasString(this.options.corners,"all","top")){return""}if(this.options.corners.indexOf("tl")>=0&&this.options.corners.indexOf("tr")>=0){return""}if(this.options.corners.indexOf("tl")>=0){return"left"}else{if(this.options.corners.indexOf("tr")>=0){return"right"}}return""},_whichSideBottom:function(){if(this._hasString(this.options.corners,"all","bottom")){return""}if(this.options.corners.indexOf("bl")>=0&&this.options.corners.indexOf("br")>=0){return""}if(this.options.corners.indexOf("bl")>=0){return"left"}else{if(this.options.corners.indexOf("br")>=0){return"right"}}return""},_borderColor:function(A,B){if(A=="transparent"){return B}else{if(this.options.border){return this.options.border}else{if(this.options.blend){return this._blend(B,A)}else{return""}}}},_setMargin:function(D,E,B){var C=this._marginSize(E);var A=B=="top"?this._whichSideTop():this._whichSideBottom();if(A=="left"){D.style.marginLeft=C+"px";D.style.marginRight="0px"}else{if(A=="right"){D.style.marginRight=C+"px";D.style.marginLeft="0px"}else{D.style.marginLeft=C+"px";D.style.marginRight=C+"px"}}},_setBorder:function(D,E,B){var C=this._borderSize(E);var A=B=="top"?this._whichSideTop():this._whichSideBottom();if(A=="left"){D.style.borderLeftWidth=C+"px";D.style.borderRightWidth="0px"}else{if(A=="right"){D.style.borderRightWidth=C+"px";D.style.borderLeftWidth="0px"}else{D.style.borderLeftWidth=C+"px";D.style.borderRightWidth=C+"px"}}if(this.options.border!=false){D.style.borderLeftWidth=C+"px"}D.style.borderRightWidth=C+"px"},_marginSize:function(E){if(this._isTransparent()){return 0}var D=[5,3,2,1];var A=[3,2,1,0];var C=[2,1];var B=[1,0];if(this.options.compact&&this.options.blend){return B[E]}else{if(this.options.compact){return C[E]}else{if(this.options.blend){return A[E]}else{return D[E]}}}},_borderSize:function(E){var D=[5,3,2,1];var B=[2,1,1,1];var A=[1,0];var C=[0,2,0,0];if(this.options.compact&&(this.options.blend||this._isTransparent())){return 1}else{if(this.options.compact){return A[E]}else{if(this.options.blend){return B[E]}else{if(this.options.border){return C[E]}else{if(this._isTransparent()){return D[E]}}}}}return 0},_hasString:function(B){for(var A=1;A<arguments.length;A++){if(B.indexOf(arguments[A])>=0){return true}}return false},_blend:function(C,A){var B=Mip.Rico.Color.createFromHex(C);B.blend(Mip.Rico.Color.createFromHex(A));return B},_background:function(A){try{return Mip.Rico.Color.createColorFromBackground(A).asHex()}catch(B){return"#ffffff"}},_isTransparent:function(){return this.options.color=="transparent"},_isTopRounded:function(){return this._hasString(this.options.corners,"all","top","tl","tr")},_isBottomRounded:function(){return this._hasString(this.options.corners,"all","bottom","bl","br")},_hasSingleTextChild:function(A){return A.childNodes.length==1&&A.childNodes[0].nodeType==3}};Mip.Rico.Color=Mip.Class.create();Mip.Rico.Color.prototype={initialize:function(C,B,A){this.rgb={r:C,g:B,b:A}},setRed:function(A){this.rgb.r=A},setGreen:function(A){this.rgb.g=A},setBlue:function(A){this.rgb.b=A},setHue:function(B){var A=this.asHSB();A.h=B;this.rgb=Mip.Rico.Color.HSBtoRGB(A.h,A.s,A.b)},setSaturation:function(B){var A=this.asHSB();A.s=B;this.rgb=Mip.Rico.Color.HSBtoRGB(A.h,A.s,A.b)},setBrightness:function(A){var B=this.asHSB();B.b=A;this.rgb=Mip.Rico.Color.HSBtoRGB(B.h,B.s,B.b)},darken:function(B){var A=this.asHSB();this.rgb=Mip.Rico.Color.HSBtoRGB(A.h,A.s,Math.max(A.b-B,0))},brighten:function(B){var A=this.asHSB();this.rgb=Mip.Rico.Color.HSBtoRGB(A.h,A.s,Math.min(A.b+B,1))},blend:function(A){this.rgb.r=Math.floor((this.rgb.r+A.rgb.r)/2);this.rgb.g=Math.floor((this.rgb.g+A.rgb.g)/2);this.rgb.b=Math.floor((this.rgb.b+A.rgb.b)/2)},isBright:function(){var A=this.asHSB();return this.asHSB().b>0.5},isDark:function(){return !this.isBright()},asRGB:function(){return"rgb("+this.rgb.r+","+this.rgb.g+","+this.rgb.b+")"},asHex:function(){return"#"+this.rgb.r.toColorPart()+this.rgb.g.toColorPart()+this.rgb.b.toColorPart()},asHSB:function(){return Mip.Rico.Color.RGBtoHSB(this.rgb.r,this.rgb.g,this.rgb.b)},toString:function(){return this.asHex()}};Mip.Rico.Color.createFromHex=function(D){if(D.length==4){var B=D;var D="#";for(var C=1;C<4;C++){D+=(B.charAt(C)+B.charAt(C))}}if(D.indexOf("#")==0){D=D.substring(1)}var F=D.substring(0,2);var E=D.substring(2,4);var A=D.substring(4,6);return new Mip.Rico.Color(parseInt(F,16),parseInt(E,16),parseInt(A,16))};Mip.Rico.Color.createColorFromBackground=function(D){var B=RicoUtil.getElementsComputedStyle(Mip.Util.getElement(D),"backgroundColor","background-color");if(B=="transparent"&&D.parentNode){return Mip.Rico.Color.createColorFromBackground(D.parentNode)}if(B==null){return new Mip.Rico.Color(255,255,255)}if(B.indexOf("rgb(")==0){var A=B.substring(4,B.length-1);var C=A.split(",");return new Mip.Rico.Color(parseInt(C[0]),parseInt(C[1]),parseInt(C[2]))}else{if(B.indexOf("#")==0){return Mip.Rico.Color.createFromHex(B)}else{return new Mip.Rico.Color(255,255,255)}}};Mip.Rico.Color.HSBtoRGB=function(G,E,I){var C=0;var D=0;var J=0;if(E==0){C=parseInt(I*255+0.5);D=C;J=C}else{var F=(G-Math.floor(G))*6;var H=F-Math.floor(F);var B=I*(1-E);var A=I*(1-E*H);var K=I*(1-(E*(1-H)));switch(parseInt(F)){case 0:C=(I*255+0.5);D=(K*255+0.5);J=(B*255+0.5);break;case 1:C=(A*255+0.5);D=(I*255+0.5);J=(B*255+0.5);break;case 2:C=(B*255+0.5);D=(I*255+0.5);J=(K*255+0.5);break;case 3:C=(B*255+0.5);D=(A*255+0.5);J=(I*255+0.5);break;case 4:C=(K*255+0.5);D=(B*255+0.5);J=(I*255+0.5);break;case 5:C=(I*255+0.5);D=(B*255+0.5);J=(A*255+0.5);break}}return{r:parseInt(C),g:parseInt(D),b:parseInt(J)}};Mip.Rico.Color.RGBtoHSB=function(A,E,J){var F;var D;var I;var K=(A>E)?A:E;if(J>K){K=J}var G=(A<E)?A:E;if(J<G){G=J}I=K/255;if(K!=0){D=(K-G)/K}else{D=0}if(D==0){F=0}else{var B=(K-A)/(K-G);var H=(K-E)/(K-G);var C=(K-J)/(K-G);if(A==K){F=C-H}else{if(E==K){F=2+B-C}else{F=4+H-B}}F=F/6;if(F<0){F=F+1}}return{h:F,s:D,b:I}};var Class={create:function(){return function(){this.initialize.apply(this,arguments)}}};Object.extend=function(A,C){for(var B in C){A[B]=C[B]}return A};Function.prototype.bind=function(B){var A=this;return function(){return A.apply(B,arguments)}};if(!Array.prototype.forEach){Array.prototype.forEach=function(B,C){for(var A=0;A<this.length;A++){B.call(C,this[A],A)}}}Array.prototype.each=Array.prototype.forEach;String.prototype.camelize=function(){return this.replace(/-\D/gi,function(A){return A.charAt(A.length-1).toUpperCase()})};var $A=function(C){var B=[];for(var A=0;A<C.length;A++){B.push(C[A])}return B};function $(){if(arguments.length==1){return B(arguments[0])}var A=[];$c(arguments).each(function(C){A.push(B(C))});return A;function B(C){if(typeof C=="string"){C=document.getElementById(C)}return C}}if(!window.Element){var Element={}}Object.extend(Element,{remove:function(A){A=$(A);A.parentNode.removeChild(A)},hasClassName:function(A,B){A=$(A);return !!A.className.match(new RegExp("\\b"+B+"\\b"))},addClassName:function(A,B){A=$(A);if(!Element.hasClassName(A,B)){A.className=(A.className+" "+B)}},removeClassName:function(A,B){A=$(A);if(Element.hasClassName(A,B)){A.className=A.className.replace(B,"")}}});document.getElementsByClassName=function(B){var C=[];var A=document.getElementsByTagName("*");$A(A).each(function(D){if(Element.hasClassName(D,B)){C.push(D)}});return C};var Fx=fx={};Fx.Base=function(){};Fx.Base.prototype={setOptions:function(A){this.options=Object.extend({onStart:function(){},onComplete:function(){},transition:Fx.Transitions.sineInOut,duration:500,unit:"px",wait:true,fps:50},A||{})},step:function(){var A=new Date().getTime();if(A<this.time+this.options.duration){this.cTime=A-this.time;this.setNow()}else{setTimeout(this.options.onComplete.bind(this,this.element),10);this.clearTimer();this.now=this.to}this.increase()},setNow:function(){this.now=this.compute(this.from,this.to)},compute:function(C,B){var A=B-C;return this.options.transition(this.cTime,C,A,this.options.duration)},clearTimer:function(){clearInterval(this.timer);this.timer=null;return this},_start:function(B,A){if(!this.options.wait){this.clearTimer()}if(this.timer){return }setTimeout(this.options.onStart.bind(this,this.element),10);this.from=B;this.to=A;this.time=new Date().getTime();this.timer=setInterval(this.step.bind(this),Math.round(1000/this.options.fps));return this},custom:function(B,A){return this._start(B,A)},set:function(A){this.now=A;this.increase();return this},hide:function(){return this.set(0)},setStyle:function(C,B,A){if(B=="opacity"){if(A==0&&C.style.visibility!="hidden"){C.style.visibility="hidden"}else{if(C.style.visibility!="visible"){C.style.visibility="visible"}}if(window.ActiveXObject){C.style.filter="alpha(opacity="+A*100+")"}C.style.opacity=A}else{C.style[B]=A+this.options.unit}}};Fx.Style=Class.create();Fx.Style.prototype=Object.extend(new Fx.Base(),{initialize:function(B,C,A){this.element=$(B);this.setOptions(A);this.property=C.camelize()},increase:function(){this.setStyle(this.element,this.property,this.now)}});Fx.Styles=Class.create();Fx.Styles.prototype=Object.extend(new Fx.Base(),{initialize:function(B,A){this.element=$(B);this.setOptions(A);this.now={}},setNow:function(){for(p in this.from){this.now[p]=this.compute(this.from[p],this.to[p])}},custom:function(A){if(this.timer&&this.options.wait){return }var C={};var B={};for(p in A){C[p]=A[p][0];B[p]=A[p][1]}return this._start(C,B)},increase:function(){for(var A in this.now){this.setStyle(this.element,A,this.now[A])}}});Fx.Transitions={linear:function(B,A,D,C){return D*B/C+A},sineInOut:function(B,A,D,C){return -D/2*(Math.cos(Math.PI*B/C)-1)+A}};Fx.Height=Class.create();Fx.Height.prototype=Object.extend(new Fx.Base(),{initialize:function(B,A){this.element=$(B);this.setOptions(A);this.element.style.overflow="hidden"},toggle:function(){if(this.element.scrollHeight>0){return this.custom(0,this.element.scrollHeight)}else{return this.custom(this.element.offsetHeight,0)}},show:function(A){var C=0;if(this.element.offsetHeight>0){C=this.element.offsetHeight}var B=null;if(this.element.scrollHeight>0){B=this.element.scrollHeight}if(B<10){B=174}if(B!=null){if(A){return this.set(B)}else{return this.custom(C,B)}}},hide:function(B){var A=null;if(this.element.offsetHeight>0){A=this.element.offsetHeight}else{if(this.element.scrollHeight>0){A=this.element.scrollHeight}}if(B){return this.set(0)}else{if(A!=null){return this.custom(A,0)}}},setHeight:function(A){return this.set(A)},increase:function(){this.setStyle(this.element,"height",this.now)}});Fx.Opacity=Class.create();Fx.Opacity.prototype=Object.extend(new Fx.Base(),{initialize:function(C,B,A){this.element=$(C);this.setOptions(A);this.now=0;this.opacity=B},toggle:function(){if(this.now>0){return this.custom(this.opacity,0)}else{return this.custom(0,this.opacity)}},show:function(A){if(A==true){return this.set(this.opacity)}else{return this.custom(0,this.opacity)}},hide:function(A){if(A==true){return this.set(0)}else{return this.custom(this.opacity,0)}},increase:function(){this.setStyle(this.element,"opacity",this.now)}});Mip.Event={observers:false,KEY_BACKSPACE:8,KEY_TAB:9,KEY_RETURN:13,KEY_ESC:27,KEY_LEFT:37,KEY_UP:38,KEY_RIGHT:39,KEY_DOWN:40,KEY_DELETE:46,element:function(A){return A.target||A.srcElement},isLeftClick:function(A){return(((A.which)&&(A.which==1))||((A.button)&&(A.button==1)))},stop:function(B,A){if(!A){if(B.preventDefault){B.preventDefault()}else{B.returnValue=false}}if(B.stopPropagation){B.stopPropagation()}else{B.cancelBubble=true}},findElement:function(C,B){var A=Mip.Event.element(C);while(A.parentNode&&(!A.tagName||(A.tagName.toUpperCase()!=B.toUpperCase()))){A=A.parentNode}return A},observe:function(B,D,C,A){var E=Mip.Util.getElement(B);A=A||false;if(D=="keypress"&&(navigator.appVersion.match(/Konqueror|Safari|KHTML/)||E.attachEvent)){D="keydown"}if(!this.observers){this.observers=new Object()}if(!E._eventCacheID){var F="eventCacheID_";if(E.id){F=E.id+"_"+F}E._eventCacheID=Mip.Util.createUniqueID(F)}var G=E._eventCacheID;if(!this.observers[G]){this.observers[G]=new Array()}this.observers[G].push({"element":E,"name":D,"observer":C,"useCapture":A});if(E.addEventListener){E.addEventListener(D,C,A)}else{if(E.attachEvent){E.attachEvent("on"+D,C)}}},stopObservingElement:function(A){var B=Mip.Util.getElement(A);if(B&&B._eventCacheID){var C=B._eventCacheID;this._removeElementObservers(Mip.Event.observers[C])}},_removeElementObservers:function(E){if(E){for(var B=E.length-1;B>=0;B--){var C=E[B];var A=new Array(C.element,C.name,C.observer,C.useCapture);var D=Mip.Event.stopObserving.apply(this,A)}}},stopObserving:function(H,A,G,B){B=B||false;var F=Mip.Util.getElement(H);var D=F._eventCacheID;if(A=="keypress"){if(navigator.appVersion.match(/Konqueror|Safari|KHTML/)||F.detachEvent){A="keydown"}}var J=false;var C=Mip.Event.observers[D];if(C){var E=0;while(!J&&E<C.length){var I=C[E];if((I.name==A)&&(I.observer==G)&&(I.useCapture==B)){C.splice(E,1);if(C.length==0){delete Mip.Event.observers[D]}J=true;break}E++}}if(F.removeEventListener){F.removeEventListener(A,G,B)}else{if(F&&F.detachEvent){F.detachEvent("on"+A,G)}}return J},unloadCache:function(){if(Mip.Event.observers){for(var A in Mip.Event.observers){var B=Mip.Event.observers[A];Mip.Event._removeElementObservers.apply(this,[B])}Mip.Event.observers=false}},CLASS_NAME:"Mip.Event"};Mip.Event.observe(window,"unload",Mip.Event.unloadCache,false);if(window.Event){Mip.Util.extend(window.Event,Mip.Event)}else{var Event=Mip.Event}Mip.Events=Mip.Class.create();Mip.Events.prototype={BROWSER_EVENTS:["mouseover","mouseout","mousedown","mouseup","mousemove","click","dblclick","resize","focus","blur"],listeners:null,object:null,element:null,eventTypes:null,eventHandler:null,fallThrough:null,initialize:function(A,C,E,D){this.object=A;this.element=C;this.eventTypes=E;this.fallThrough=D;this.listeners=new Object();this.eventHandler=this.handleBrowserEvent.bindAsEventListener(this);if(this.eventTypes!=null){for(var B=0;B<this.eventTypes.length;B++){this.listeners[this.eventTypes[B]]=new Array()}}if(this.element!=null){this.attachToElement(C)}},destroy:function(){if(this.element){Mip.Event.stopObservingElement(this.element)}this.element=null;this.listeners=null;this.object=null;this.eventTypes=null;this.fallThrough=null;this.eventHandler=null},attachToElement:function(C){for(var B=0;B<this.BROWSER_EVENTS.length;B++){var A=this.BROWSER_EVENTS[B];if(this.listeners[A]==null){this.listeners[A]=new Array()}Mip.Event.observe(C,A,this.eventHandler)}Mip.Event.observe(C,"dragstart",Mip.Event.stop)},register:function(B,D,C){if(C!=null){if(D==null){D=this.object}var A=this.listeners[B];if(A!=null){A.push({obj:D,func:C})}}},registerPriority:function(B,D,C){if(C!=null){if(D==null){D=this.object}var A=this.listeners[B];if(A!=null){A.unshift({obj:D,func:C})}}},unregister:function(C,E,D){if(E==null){E=this.object}var B=this.listeners[C];if(B!=null){for(var A=0;A<B.length;A++){if(B[A].obj==E&&B[A].func==D){B.splice(A,1);break}}}},remove:function(A){if(this.listeners[A]!=null){this.listeners[A]=new Array()}},triggerEvent:function(D,A){if(A==null){A=new Object()}A.object=this.object;A.element=this.element;var C=(this.listeners[D])?this.listeners[D].slice():null;if((C!=null)&&(C.length>0)){for(var B=0;B<C.length;B++){var F=C[B];var E;if(F.obj!=null){E=F.func.call(F.obj,A)}else{E=F.func(A)}if((E!=null)&&(E==false)){break}}if(!this.fallThrough){Mip.Event.stop(A,true)}}},handleBrowserEvent:function(A){A.xy=this.getMousePosition(A);this.triggerEvent(A.type,A)},getMousePosition:function(A){if(!this.element.offsets){this.element.offsets=Mip.Util.pagePosition(this.element);this.element.offsets[0]+=(document.documentElement.scrollLeft||document.body.scrollLeft);this.element.offsets[1]+=(document.documentElement.scrollTop||document.body.scrollTop)}return new Mip.Pixel((A.clientX+(document.documentElement.scrollLeft||document.body.scrollLeft))-this.element.offsets[0],(A.clientY+(document.documentElement.scrollTop||document.body.scrollTop))-this.element.offsets[1])},CLASS_NAME:"Mip.Events"};Mip.Control=Mip.Class.create();Mip.Control.TYPE_BUTTON=1;Mip.Control.TYPE_TOGGLE=2;Mip.Control.TYPE_TOOL=3;Mip.Control.prototype={id:null,map:null,div:null,type:null,displayClass:"",active:null,handler:null,initialize:function(A){this.displayClass=this.CLASS_NAME.replace("Mip.","ol").replace(".","");Mip.Util.extend(this,A);this.id=Mip.Util.createUniqueID(this.CLASS_NAME+"_")},destroy:function(){if(this.handler){this.handler.destroy()}this.map=null},setMap:function(A){this.map=A;if(this.handler){this.handler.setMap(A)}},draw:function(A){if(this.div==null){this.div=Mip.Util.createDiv();this.div.id=this.id;this.div.className=this.displayClass}if(A!=null){this.position=A.clone()}this.moveTo(this.position);return this.div},moveTo:function(A){if((A!=null)&&(this.div!=null)){this.div.style.left=A.x+"px";this.div.style.top=A.y+"px"}},activate:function(){if(this.active){return false}if(this.handler){this.handler.activate()}this.active=true;return true},deactivate:function(){if(this.active){if(this.handler){this.handler.deactivate()}this.active=false;return true}return false},CLASS_NAME:"Mip.Control"};Mip.Map=Mip.Class.create();Mip.Map.TILE_WIDTH=256;Mip.Map.TILE_HEIGHT=256;Mip.Map.prototype={Z_INDEX_BASE:{BaseLayer:100,Overlay:325,Popup:750,Control:1000},EVENT_TYPES:["addlayer","removelayer","changelayer","movestart","move","moveend","zoomend","popupopen","popupclose","addmarker","removemarker","clearmarkers","mouseover","mouseout","mousemove","dragstart","drag","dragend","changebaselayer"],id:null,events:null,unloadDestroy:null,div:null,size:null,viewPortDiv:null,layerContainerOrigin:null,layerContainerDiv:null,layers:null,controls:null,popups:null,baseLayer:null,center:null,zoom:0,viewRequestID:0,tileSize:null,projection:"EPSG:4326",units:"degrees",maxResolution:1.40625,minResolution:null,maxScale:null,minScale:null,maxExtent:null,minExtent:null,numZoomLevels:16,theme:null,fallThrough:false,initialize:function(G,C){this.setOptions(C);this.id=Mip.Util.createUniqueID("Mip.Map_");this.div=G=Mip.Util.getElement(G);var F=G.id+"_Mip_ViewPort";this.viewPortDiv=Mip.Util.createDiv(F,null,null,null,"relative",null,"hidden");this.viewPortDiv.style.width="100%";this.viewPortDiv.style.height="100%";this.viewPortDiv.className="olMapViewport";this.div.appendChild(this.viewPortDiv);F=G.id+"_Mip_Container";this.layerContainerDiv=Mip.Util.createDiv(F);this.layerContainerDiv.style.zIndex=this.Z_INDEX_BASE["Popup"]-1;this.viewPortDiv.appendChild(this.layerContainerDiv);this.events=new Mip.Events(this,G,this.EVENT_TYPES,this.fallThrough);this.updateSize();this.events.register("movestart",this,this.updateSize);if(navigator.appName.contains("Microsoft")){this.events.register("resize",this,this.updateSize)}else{Mip.Event.observe(window,"resize",this.updateSize.bindAsEventListener(this))}if(this.theme){var E=true;var B=document.getElementsByTagName("link");for(var D=0;D<B.length;++D){if(Mip.Util.isEquivalentUrl(B.item(D).href,this.theme)){E=false;break}}if(E){var A=document.createElement("link");A.setAttribute("rel","stylesheet");A.setAttribute("type","text/css");A.setAttribute("href",this.theme);document.getElementsByTagName("head")[0].appendChild(A)}}this.layers=[];if(this.controls==null){if(Mip.Control!=null){this.controls=[new Mip.Control.Navigation(),new Mip.Control.PanZoom(),new Mip.Control.ArgParser()]}else{this.controls=[]}}for(var D=0;D<this.controls.length;D++){this.addControlToMap(this.controls[D])}this.popups=new Array();this.unloadDestroy=this.destroy.bindAsEventListener(this);Mip.Event.observe(window,"unload",this.unloadDestroy)},destroy:function(){if(!this.unloadDestroy){return false}Mip.Event.stopObserving(window,"unload",this.unloadDestroy);this.unloadDestroy=null;if(this.layers!=null){for(var A=this.layers.length-1;A>=0;--A){this.layers[A].destroy(false)}this.layers=null}if(this.controls!=null){for(var A=this.controls.length-1;A>=0;--A){this.controls[A].destroy()}this.controls=null}if(this.viewPortDiv){this.div.removeChild(this.viewPortDiv)}this.viewPortDiv=null;this.events.destroy();this.events=null},setOptions:function(A){this.tileSize=new Mip.Size(Mip.Map.TILE_WIDTH,Mip.Map.TILE_HEIGHT);this.maxExtent=new Mip.Bounds(-180,-90,180,90);this.theme=Mip._getScriptLocation()+"theme/default/style.css";Mip.Util.extend(this,A)},getTileSize:function(){return this.tileSize},getLayer:function(D){var A=null;for(var C=0;C<this.layers.length;C++){var B=this.layers[C];if(B.id==D){A=B}}return A},setLayerZIndex:function(B,A){B.setZIndex(this.Z_INDEX_BASE[B.isBaseLayer?"BaseLayer":"Overlay"]+A*5)},addLayer:function(B){for(var A=0;A<this.layers.length;A++){if(this.layers[A]==B){return false}}B.div.style.overflow="";this.setLayerZIndex(B,this.layers.length);if(B.isFixed){this.viewPortDiv.appendChild(B.div)}else{this.layerContainerDiv.appendChild(B.div)}this.layers.push(B);B.setMap(this);if(B.isBaseLayer){if(this.baseLayer==null){this.setBaseLayer(B)}else{B.setVisibility(false)}}else{if(this.getCenter()!=null){B.moveTo(this.getExtent(),true)}}this.events.triggerEvent("addlayer")},addLayers:function(B){for(var A=0;A<B.length;A++){this.addLayer(B[A])}},removeLayer:function(A,C){if(C==null){C=true}if(A.isFixed){this.viewPortDiv.removeChild(A.div)}else{this.layerContainerDiv.removeChild(A.div)}A.map=null;Mip.Util.removeItem(this.layers,A);if(C&&(this.baseLayer==A)){this.baseLayer=null;for(i=0;i<this.layers.length;i++){var B=this.layers[i];if(B.isBaseLayer){this.setBaseLayer(B);break}}}this.events.triggerEvent("removelayer")},getNumLayers:function(){return this.layers.length},getLayerIndex:function(A){return Mip.Util.indexOf(this.layers,A)},setLayerIndex:function(C,A){var D=this.getLayerIndex(C);if(A<0){A=0}else{if(A>this.layers.length){A=this.layers.length}}if(D!=A){this.layers.splice(D,1);this.layers.splice(A,0,C);for(var B=0;B<this.layers.length;B++){this.setLayerZIndex(this.layers[B],B)}this.events.triggerEvent("changelayer")}},raiseLayer:function(B,C){var A=this.getLayerIndex(B)+C;this.setLayerIndex(B,A)},setBaseLayer:function(D,C){var B=null;if(this.baseLayer){B=this.baseLayer.getExtent()}if(D!=this.baseLayer){if(Mip.Util.indexOf(this.layers,D)!=-1){if(this.baseLayer!=null){this.baseLayer.setVisibility(false,C)}this.baseLayer=D;this.viewRequestID++;this.baseLayer.setVisibility(true,C);var A=this.getCenter();if(A!=null){if(B==null){this.setCenter(A,this.getZoom(),false,true)}else{this.setCenter(B.getCenterLonLat(),this.getZoomForExtent(B),false,true)}}if((C==null)||(C==false)){this.events.triggerEvent("changebaselayer")}}}},addControl:function(B,A){this.controls.push(B);this.addControlToMap(B,A)},addControlToMap:function(B,A){B.outsideViewport=(B.div!=null);B.setMap(this);var C=B.draw(A);if(C){if(!B.outsideViewport){C.style.zIndex=this.Z_INDEX_BASE["Control"]+this.controls.length;this.viewPortDiv.appendChild(C)}}},addPopup:function(A,D){if(D){for(var B=0;B<this.popups.length;B++){this.removePopup(this.popups[B])}}A.map=this;this.popups.push(A);var C=A.draw();if(C){C.style.zIndex=this.Z_INDEX_BASE["Popup"]+this.popups.length;this.layerContainerDiv.appendChild(C)}},removePopup:function(A){Mip.Util.removeItem(this.popups,A);if(A.div){try{this.layerContainerDiv.removeChild(A.div)}catch(B){}}A.map=null},getSize:function(){var A=null;if(this.size!=null){A=this.size.clone()}return A},updateSize:function(){this.events.element.offsets=null;var B=this.getCurrentSize();var E=this.getSize();if(E==null){this.size=E=B}if(!B.equals(E)){this.size=B;for(var C=0;C<this.layers.length;C++){this.layers[C].onMapResize()}if(this.baseLayer!=null){var A=new Mip.Pixel(B.w/2,B.h/2);var F=this.getLonLatFromViewPortPx(A);var D=this.getZoom();this.zoom=null;this.setCenter(this.getCenter(),D)}}},getCurrentSize:function(){var A=new Mip.Size(this.div.clientWidth,this.div.clientHeight);if(A.w==0&&A.h==0||isNaN(A.w)&&isNaN(A.h)){var B=Mip.Element.getDimensions(this.div);A.w=B.width;A.h=B.height}if(A.w==0&&A.h==0||isNaN(A.w)&&isNaN(A.h)){A.w=parseInt(this.div.style.width);A.h=parseInt(this.div.style.height)}return A},calculateBounds:function(A,B){var E=null;if(A==null){A=this.getCenter()}if(B==null){B=this.getResolution()}if((A!=null)&&(B!=null)){var D=this.getSize();var F=D.w*B;var C=D.h*B;E=new Mip.Bounds(A.lon-F/2,A.lat-C/2,A.lon+F/2,A.lat+C/2)}return E},getCenter:function(){return this.center},getZoom:function(){return this.zoom},pan:function(D,C){var E=this.getViewPortPxFromLonLat(this.getCenter());var B=E.add(D,C);if(!B.equals(E)){var A=this.getLonLatFromViewPortPx(B);this.setCenter(A)}},setCenter:function(F,K,J,C){if(!this.center&&!this.isValidLonLat(F)){F=this.maxExtent.getCenterLonLat()}var B=C||((this.isValidZoomLevel(K))&&(K!=this.getZoom()));var D=(this.isValidLonLat(F))&&(!F.equals(this.center));if(B||D||!J){if(!J){this.events.triggerEvent("movestart")}if(D){if((!B)&&(this.center)){this.centerLayerContainer(F)}this.center=F.clone()}if((B)||(this.layerContainerOrigin==null)){this.layerContainerOrigin=this.center.clone();this.layerContainerDiv.style.left="0px";this.layerContainerDiv.style.top="0px"}if(B){this.zoom=K;for(var E=0;E<this.popups.length;E++){this.popups[E].updatePosition()}this.viewRequestID++}var A=this.getExtent();this.baseLayer.moveTo(A,B,J);for(var E=0;E<this.layers.length;E++){var H=this.layers[E];if(!H.isBaseLayer){var G;var I=H.calculateInRange();if(H.inRange!=I){H.inRange=I;G=true;this.events.triggerEvent("changelayer")}else{G=(H.visibility&&H.inRange)}if(G){H.moveTo(A,B,J)}}}this.events.triggerEvent("move");if(B){this.events.triggerEvent("zoomend")}}if(!J){this.events.triggerEvent("moveend")}},centerLayerContainer:function(B){var A=this.getViewPortPxFromLonLat(this.layerContainerOrigin);var C=this.getViewPortPxFromLonLat(B);if((A!=null)&&(C!=null)){this.layerContainerDiv.style.left=(A.x-C.x)+"px";this.layerContainerDiv.style.top=(A.y-C.y)+"px"}},isValidZoomLevel:function(A){return((A!=null)&&(A>=0)&&(A<this.getNumZoomLevels()))},isValidLonLat:function(C){var B=false;if(C!=null){var A=this.getMaxExtent();B=A.containsLonLat(C)}return B},getProjection:function(){var A=null;if(this.baseLayer!=null){A=this.baseLayer.projection}return A},getMaxResolution:function(){var A=null;if(this.baseLayer!=null){A=this.baseLayer.maxResolution}return A},getMaxExtent:function(){var A=null;if(this.baseLayer!=null){A=this.baseLayer.maxExtent}return A},getNumZoomLevels:function(){var A=null;if(this.baseLayer!=null){A=this.baseLayer.numZoomLevels}return A},getExtent:function(){var A=null;if(this.baseLayer!=null){A=this.baseLayer.getExtent()}return A},getResolution:function(){var A=null;if(this.baseLayer!=null){A=this.baseLayer.getResolution()}return A},getScale:function(){var C=null;if(this.baseLayer!=null){var B=this.getResolution();var A=this.baseLayer.units;C=Mip.Util.getScaleFromResolution(B,A)}return C},getZoomForExtent:function(B){var A=null;if(this.baseLayer!=null){A=this.baseLayer.getZoomForExtent(B)}return A},getZoomForResolution:function(A){var B=null;if(this.baseLayer!=null){B=this.baseLayer.getZoomForResolution(A)}return B},zoomTo:function(A){if(this.isValidZoomLevel(A)){this.setCenter(null,A)}},zoomIn:function(){this.zoomTo(this.getZoom()+1)},zoomOut:function(){this.zoomTo(this.getZoom()-1)},zoomToExtent:function(A){this.setCenter(A.getCenterLonLat(),this.getZoomForExtent(A))},zoomToMaxExtent:function(){this.zoomToExtent(this.getMaxExtent())},zoomToScale:function(G){var D=Mip.Util.getResolutionFromScale(G,this.baseLayer.units);var C=this.getSize();var F=C.w*D;var B=C.h*D;var A=this.getCenter();var E=new Mip.Bounds(A.lon-F/2,A.lat-B/2,A.lon+F/2,A.lat+B/2);this.zoomToExtent(E)},getLonLatFromViewPortPx:function(A){var B=null;if(this.baseLayer!=null){B=this.baseLayer.getLonLatFromViewPortPx(A)}return B},getViewPortPxFromLonLat:function(B){var A=null;if(this.baseLayer!=null){A=this.baseLayer.getViewPortPxFromLonLat(B)}return A},getLonLatFromPixel:function(A){return this.getLonLatFromViewPortPx(A)},getPixelFromLonLat:function(A){return this.getViewPortPxFromLonLat(A)},getViewPortPxFromLayerPx:function(D){var C=null;if(D!=null){var B=parseInt(this.layerContainerDiv.style.left);var A=parseInt(this.layerContainerDiv.style.top);C=D.add(B,A)}return C},getLayerPxFromViewPortPx:function(C){var D=null;if(C!=null){var B=-parseInt(this.layerContainerDiv.style.left);var A=-parseInt(this.layerContainerDiv.style.top);D=C.add(B,A);if(isNaN(D.x)||isNaN(D.y)){D=null}}return D},getLonLatFromLayerPx:function(A){A=this.getViewPortPxFromLayerPx(A);return this.getLonLatFromViewPortPx(A)},getLayerPxFromLonLat:function(B){var A=this.getViewPortPxFromLonLat(B);return this.getLayerPxFromViewPortPx(A)},CLASS_NAME:"Mip.Map"};Mip.Layer=Mip.Class.create();Mip.Layer.prototype={id:null,name:null,div:null,EVENT_TYPES:["loadstart","loadend","loadcancel"],events:null,map:null,isBaseLayer:false,alpha:false,displayInLayerSwitcher:true,visibility:true,inRange:false,imageSize:null,imageOffset:null,options:null,gutter:0,projection:null,units:null,scales:null,resolutions:null,maxExtent:null,minExtent:null,maxResolution:null,minResolution:null,numZoomLevels:null,minScale:null,maxScale:null,displayOutsideMaxExtent:false,initialize:function(B,A){this.addOptions(A);this.name=B;if(this.id==null){this.id=Mip.Util.createUniqueID(this.CLASS_NAME+"_");this.div=Mip.Util.createDiv();this.div.style.width="100%";this.div.style.height="100%";this.div.id=this.id;this.events=new Mip.Events(this,this.div,this.EVENT_TYPES)}},destroy:function(A){if(A==null){A=true}if(this.map!=null){this.map.removeLayer(this,A)}this.map=null;this.name=null;this.div=null;this.options=null;if(this.events){this.events.destroy()}this.events=null},clone:function(A){if(A==null){A=new Mip.Layer(this.name,this.options)}Mip.Util.applyDefaults(A,this);A.map=null;return A},setName:function(A){if(A!=this.name){this.name=A;if(this.map!=null){this.map.events.triggerEvent("changelayer")}}},addOptions:function(A){if(this.options==null){this.options=new Object()}Mip.Util.extend(this.options,A);Mip.Util.extend(this,A)},onMapResize:function(){},moveTo:function(B,A,C){var D=this.visibility;if(!this.isBaseLayer){D=D&&this.inRange}this.display(D)},setMap:function(B){if(this.map==null){this.map=B;this.maxExtent=this.maxExtent||this.map.maxExtent;this.projection=this.projection||this.map.projection;this.units=this.units||this.map.units;this.initResolutions();if(!this.isBaseLayer){this.inRange=this.calculateInRange();var A=((this.visibility)&&(this.inRange));this.div.style.display=A?"":"none"}this.setTileSize()}},setTileSize:function(A){var B=(A)?A:((this.tileSize)?this.tileSize:this.map.getTileSize());this.tileSize=B;if(this.gutter){this.imageOffset=new Mip.Pixel(-this.gutter,-this.gutter);this.imageSize=new Mip.Size(B.w+(2*this.gutter),B.h+(2*this.gutter))}else{this.imageSize=B;this.imageOffset=new Mip.Pixel(0,0)}},getVisibility:function(){return this.visibility},setVisibility:function(A,B){if(A!=this.visibility){this.visibility=A;this.display(A);if(A&&this.map!=null){var C=this.map.getExtent();if(C!=null){this.moveTo(C,true)}}if((this.map!=null)&&((B==null)||(B==false))){this.map.events.triggerEvent("changelayer")}}},display:function(A){if(A!=(this.div.style.display!="none")){this.div.style.display=(A)?"block":"none"}},calculateInRange:function(){var B=false;if(this.map){var A=this.map.getResolution();B=((A>=this.minResolution)&&(A<=this.maxResolution))}return B},setIsBaseLayer:function(A){if(A!=this.isBaseLayer){this.isBaseLayer=A;if(this.map!=null){this.map.events.triggerEvent("changelayer")}}},initResolutions:function(){var I=new Array("projection","units","scales","resolutions","maxScale","minScale","maxResolution","minResolution","minExtent","maxExtent","numZoomLevels","maxZoomLevel");var B=new Object();for(var C=0;C<I.length;C++){var K=I[C];B[K]=this.options[K]||this.map[K]}if((!B.numZoomLevels)&&(B.maxZoomLevel)){B.numZoomLevels=B.maxZoomLevel+1}if((B.scales!=null)||(B.resolutions!=null)){if(B.scales!=null){B.resolutions=new Array();for(var C=0;C<B.scales.length;C++){var A=B.scales[C];B.resolutions[C]=Mip.Util.getResolutionFromScale(A,B.units)}}B.numZoomLevels=B.resolutions.length}else{B.resolutions=new Array();if(B.minScale){B.maxResolution=Mip.Util.getResolutionFromScale(B.minScale,B.units)}else{if(B.maxResolution=="auto"){var J=this.map.getSize();var H=B.maxExtent.getWidth()/J.w;var E=B.maxExtent.getHeight()/J.h;B.maxResolution=Math.max(H,E)}}if(B.maxScale!=null){B.minResolution=Mip.Util.getResolutionFromScale(B.maxScale)}else{if((B.minResolution=="auto")&&(B.minExtent!=null)){var J=this.map.getSize();var H=B.minExtent.getWidth()/J.w;var E=B.minExtent.getHeight()/J.h;B.minResolution=Math.max(H,E)}}if(B.minResolution!=null){var G=B.maxResolution/B.minResolution;B.numZoomLevels=Math.floor(Math.log(G)/Math.log(2))+1}for(var C=0;C<B.numZoomLevels;C++){var F=B.maxResolution/Math.pow(2,C);B.resolutions.push(F)}}B.resolutions.sort(function(M,L){return(L-M)});this.resolutions=B.resolutions;this.maxResolution=B.resolutions[0];var D=B.resolutions.length-1;this.minResolution=B.resolutions[D];this.scales=new Array();for(var C=0;C<B.resolutions.length;C++){this.scales[C]=Mip.Util.getScaleFromResolution(B.resolutions[C],B.units)}this.minScale=this.scales[0];this.maxScale=this.scales[this.scales.length-1];this.numZoomLevels=B.numZoomLevels},getResolution:function(){var A=this.map.getZoom();return this.resolutions[A]},getExtent:function(){return this.map.calculateBounds()},getZoomForExtent:function(B){var C=this.map.getSize();var A=Math.max(B.getWidth()/C.w,B.getHeight()/C.h);return this.getZoomForResolution(A)},getZoomForResolution:function(A){for(var B=1;B<this.resolutions.length;B++){if(this.resolutions[B]<A){break}}return(B-1)},getLonLatFromViewPortPx:function(B){var E=null;if(B!=null){var D=this.map.getSize();var A=this.map.getCenter();if(A){var C=this.map.getResolution();var G=B.x-(D.w/2);var F=B.y-(D.h/2);E=new Mip.LonLat(A.lon+G*C,A.lat-F*C)}}return E},getViewPortPxFromLonLat:function(D){var B=null;if(D!=null){var A=this.map.getResolution();var C=this.map.getExtent();B=new Mip.Pixel(Math.round(1/A*(D.lon-C.left)),Math.round(1/A*(C.top-D.lat)))}return B},adjustBoundsByGutter:function(B){var A=this.gutter*this.map.getResolution();B=new Mip.Bounds(B.left-A,B.bottom-A,B.right+A,B.top+A);return B},setOpacity:function(A){if(A!=this.opacity){this.opacity=A;for(var C=0;C<this.div.childNodes.length;++C){var B=this.div.childNodes[C].firstChild;Mip.Util.modifyDOMElement(B,null,null,null,null,null,null,A)}}},setZIndex:function(A){this.div.style.zIndex=A},CLASS_NAME:"Mip.Layer"};Mip.Icon=Mip.Class.create();Mip.Icon.prototype={url:null,size:null,offset:null,calculateOffset:null,imageDiv:null,px:null,initialize:function(A,B,D,C){this.url=A;this.size=(B)?B:new Mip.Size(20,20);this.offset=D?D:new Mip.Pixel(-(this.size.w/2),-(this.size.h/2));this.calculateOffset=C;var E=Mip.Util.createUniqueID("OL_Icon_");this.imageDiv=Mip.Util.createAlphaImageDiv(E)},destroy:function(){Mip.Event.stopObservingElement(this.imageDiv.firstChild);this.imageDiv.innerHTML="";this.imageDiv=null},clone:function(){return new Mip.Icon(this.url,this.size,this.offset,this.calculateOffset)},setSize:function(A){if(A!=null){this.size=A}this.draw()},draw:function(A){Mip.Util.modifyAlphaImageDiv(this.imageDiv,null,null,this.size,this.url,"absolute");this.moveTo(A);return this.imageDiv},setOpacity:function(A){Mip.Util.modifyAlphaImageDiv(this.imageDiv,null,null,null,null,null,null,null,A)},moveTo:function(A){if(A!=null){this.px=A}if(this.imageDiv!=null){if(this.px==null){this.display(false)}else{if(this.calculateOffset){this.offset=this.calculateOffset(this.size)}var B=this.px.offset(this.offset);Mip.Util.modifyAlphaImageDiv(this.imageDiv,null,B)}}},display:function(A){this.imageDiv.style.display=(A)?"":"none"},CLASS_NAME:"Mip.Icon"};Mip.Marker=Mip.Class.create();Mip.Marker.prototype={icon:null,lonlat:null,events:null,map:null,initialize:function(C,B){this.lonlat=C;var A=(B)?B:Mip.Marker.defaultIcon();if(this.icon==null){this.icon=A}else{this.icon.url=A.url;this.icon.size=A.size;this.icon.offset=A.offset;this.icon.calculateOffset=A.calculateOffset}this.events=new Mip.Events(this,this.icon.imageDiv,null)},destroy:function(){this.map=null;this.events.destroy();this.events=null;if(this.icon!=null){this.icon.destroy();this.icon=null}},draw:function(A){return this.icon.draw(A)},moveTo:function(A){if((A!=null)&&(this.icon!=null)){this.icon.moveTo(A)}this.lonlat=this.map.getLonLatFromLayerPx(A)},onScreen:function(){var B=false;if(this.map){var A=this.map.getExtent();B=A.containsLonLat(this.lonlat)}return B},inflate:function(B){if(this.icon){var A=new Mip.Size(this.icon.size.w*B,this.icon.size.h*B);this.icon.setSize(A)}},setOpacity:function(A){this.icon.setOpacity(A)},display:function(A){this.icon.display(A)},CLASS_NAME:"Mip.Marker"};Mip.Marker.defaultIcon=function(){var A=Mip.Util.getImagesLocation()+"marker.png";var B=new Mip.Size(21,25);var C=function(D){return new Mip.Pixel(-(D.w/2),-D.h)};return new Mip.Icon(A,B,null,C)};Mip.Feature=Mip.Class.create();Mip.Feature.prototype={events:null,layer:null,id:null,lonlat:null,data:null,marker:null,popup:null,initialize:function(A,C,B){this.layer=A;this.lonlat=C;this.data=(B!=null)?B:new Object();this.id=Mip.Util.createUniqueID(this.CLASS_NAME+"_")},destroy:function(){if((this.layer!=null)&&(this.layer.map!=null)){if(this.popup!=null){this.layer.map.removePopup(this.popup)}}if(this.events){this.events.destroy()}this.events=null;this.layer=null;this.id=null;this.lonlat=null;this.data=null;if(this.marker!=null){this.destroyMarker(this.marker);this.marker=null}if(this.popup!=null){this.destroyPopup(this.popup);this.popup=null}},onScreen:function(){var B=false;if((this.layer!=null)&&(this.layer.map!=null)){var A=this.layer.map.getExtent();B=A.containsLonLat(this.lonlat)}return B},createMarker:function(){var A=null;if(this.lonlat!=null){this.marker=new Mip.Marker(this.lonlat,this.data.icon)}return this.marker},destroyMarker:function(){this.marker.destroy()},createPopup:function(B){if(this.lonlat!=null){var C=this.id+"_popup";var A=(this.marker)?this.marker.icon:null;this.popup=new Mip.Popup.AnchoredBubble(C,this.lonlat,this.data.popupSize,this.data.popupContentHTML,A,B)}return this.popup},destroyPopup:function(){this.popup.destroy()},CLASS_NAME:"Mip.Feature"};Mip.Tile=Mip.Class.create();Mip.Tile.prototype={id:null,layer:null,url:null,bounds:null,size:null,position:null,drawn:false,initialize:function(D,A,E,B,C){this.layer=D;this.position=A;this.bounds=E;this.url=B;this.size=C;this.id=Mip.Util.createUniqueID("Tile_")},destroy:function(){this.layer=null;this.bounds=null;this.size=null;this.position=null},draw:function(){this.clear();return((this.layer.displayOutsideMaxExtent||(this.layer.maxExtent&&this.bounds.intersectsBounds(this.layer.maxExtent,false)))&&!(this.layer.buffer==0&&!this.bounds.intersectsBounds(this.layer.map.getExtent(),false)))},moveTo:function(B,A,C){if(C==null){C=true}this.clear();this.bounds=B.clone();this.position=A.clone();if(C){this.draw()}},clear:function(){this.drawn=false},getBoundsFromBaseLayer:function(A){var D=this.layer.map.getLonLatFromLayerPx(A);var C=A.clone();C.x+=this.size.w;C.y+=this.size.h;var B=this.layer.map.getLonLatFromLayerPx(C);if(D.lon>B.lon){if(D.lon<0){D.lon=-180-(D.lon+180)}else{B.lon=180+B.lon+180}}bounds=new Mip.Bounds(D.lon,B.lat,B.lon,D.lat);return bounds},CLASS_NAME:"Mip.Tile"};Mip.Tile.Image=Mip.Class.create();Mip.Tile.Image.prototype=Mip.Class.inherit(Mip.Tile,{url:null,imgDiv:null,frame:null,initialize:function(D,A,E,B,C){Mip.Tile.prototype.initialize.apply(this,arguments);this.url=B;this.frame=document.createElement("div");this.frame.style.overflow="hidden";this.frame.style.position="absolute"},destroy:function(){if(this.imgDiv!=null){Mip.Event.stopObservingElement(this.imgDiv.id);if(this.imgDiv.parentNode==this.frame){this.frame.removeChild(this.imgDiv);this.imgDiv.map=null}}this.imgDiv=null;if((this.frame!=null)&&(this.frame.parentNode==this.layer.div)){this.layer.div.removeChild(this.frame)}this.frame=null;Mip.Tile.prototype.destroy.apply(this,arguments)},draw:function(){if(this.layer!=this.layer.map.baseLayer&&this.layer.reproject){this.bounds=this.getBoundsFromBaseLayer(this.position)}if(!Mip.Tile.prototype.draw.apply(this,arguments)){return false}if(this.imgDiv==null){this.initImgDiv()}this.imgDiv.viewRequestID=this.layer.map.viewRequestID;this.url=this.layer.getURL(this.bounds);Mip.Util.modifyDOMElement(this.frame,null,this.position,this.size);if(this.layer.alpha){Mip.Util.modifyAlphaImageDiv(this.imgDiv,null,null,this.layer.imageSize,this.url)}else{this.imgDiv.src=this.url;Mip.Util.modifyDOMElement(this.imgDiv,null,null,this.layer.imageSize)}this.drawn=true;return true},clear:function(){Mip.Tile.prototype.clear.apply(this,arguments);if(this.imgDiv){this.imgDiv.style.display="none"}},moveTo:function(B,A,C){if(this.layer!=this.layer.map.baseLayer&&this.layer.reproject){B=this.getBoundsFromBaseLayer(A)}this.url=this.layer.getURL(B);Mip.Tile.prototype.moveTo.apply(this,arguments)},initImgDiv:function(){if(this.layer.alpha){this.imgDiv=Mip.Util.createAlphaImageDiv(null,this.layer.imageOffset,this.layer.imageSize,null,"relative",null,null,null,true)}else{this.imgDiv=Mip.Util.createImage(null,this.layer.imageOffset,this.layer.imageSize,null,"relative",null,null,true)}this.imgDiv.className="olTileImage";this.frame.appendChild(this.imgDiv);this.layer.div.appendChild(this.frame);if(this.layer.opacity!=null){Mip.Util.modifyDOMElement(this.imgDiv,null,null,null,null,null,null,this.layer.opacity)}this.imgDiv.map=this.layer.map},checkImgURL:function(){if(this.layer){var A=this.layer.alpha?this.imgDiv.firstChild.src:this.imgDiv.src;if(!Mip.Util.isEquivalentUrl(A,this.url)){this.imgDiv.style.display="none"}}},CLASS_NAME:"Mip.Tile.Image"});Mip.Layer.HTTPRequest=Mip.Class.create();Mip.Layer.HTTPRequest.prototype=Mip.Class.inherit(Mip.Layer,{URL_HASH_FACTOR:(Math.sqrt(5)-1)/2,url:null,params:null,reproject:false,initialize:function(D,C,E,B){var A=arguments;A=[D,B];Mip.Layer.prototype.initialize.apply(this,A);this.url=C;this.params=Mip.Util.extend(new Object(),E)},destroy:function(){this.url=null;this.params=null;Mip.Layer.prototype.destroy.apply(this,arguments)},clone:function(A){if(A==null){A=new Mip.Layer.HTTPRequest(this.name,this.url,this.params,this.options)}A=Mip.Layer.prototype.clone.apply(this,[A]);return A},setUrl:function(A){this.url=A},mergeNewParams:function(A){this.params=Mip.Util.extend(this.params,A)},selectUrl:function(D,C){var B=1;for(var A=0;A<D.length;A++){B*=D.charCodeAt(A)*this.URL_HASH_FACTOR;B-=Math.floor(B)}return C[Math.floor(B*C.length)]},getFullRequestString:function(F,E){var B=E||this.url;var G=Mip.Util.extend(new Object(),this.params);G=Mip.Util.extend(G,F);var A=Mip.Util.getParameterString(G);if(B instanceof Array){B=this.selectUrl(A,B)}var D=Mip.Util.upperCaseObject(Mip.Util.getArgs(B));for(var H in G){if(H.toUpperCase() in D){delete G[H]}}A=Mip.Util.getParameterString(G);var I=B;if(A!=""){var C=B.charAt(B.length-1);if((C=="&")||(C=="?")){I+=A}else{if(B.indexOf("?")==-1){I+="?"+A}else{I+="&"+A}}}return I},CLASS_NAME:"Mip.Layer.HTTPRequest"});Mip.Layer.Grid=Mip.Class.create();Mip.Layer.Grid.prototype=Mip.Class.inherit(Mip.Layer.HTTPRequest,{tileSize:null,grid:null,buffer:2,initialize:function(C,B,D,A){Mip.Layer.HTTPRequest.prototype.initialize.apply(this,arguments);this.grid=new Array()},destroy:function(){this.clearGrid();this.grid=null;this.tileSize=null;Mip.Layer.HTTPRequest.prototype.destroy.apply(this,arguments)},clearGrid:function(){if(this.grid){for(var C=0;C<this.grid.length;C++){var B=this.grid[C];for(var A=0;A<B.length;A++){B[A].destroy()}}this.grid=[]}},clone:function(A){if(A==null){A=new Mip.Layer.Grid(this.name,this.url,this.params,this.options)}A=Mip.Layer.HTTPRequest.prototype.clone.apply(this,[A]);if(this.tileSize!=null){A.tileSize=this.tileSize.clone()}A.grid=new Array();return A},setMap:function(A){Mip.Layer.HTTPRequest.prototype.setMap.apply(this,arguments);if(this.tileSize==null){this.tileSize=this.map.getTileSize()}},moveTo:function(A,C,K){Mip.Layer.HTTPRequest.prototype.moveTo.apply(this,arguments);if(A==null){A=this.map.getExtent()}if(A!=null){if(!this.grid.length||C||!this.getGridBounds().containsBounds(A,true)){this._initTiles()}else{var E=this.buffer||1;while(true){var F=this.grid[0][0].position;var D=this.map.getViewPortPxFromLayerPx(F);if(D.x>-this.tileSize.w*(E-1)){this.shiftColumn(true)}else{if(D.x<-this.tileSize.w*E){this.shiftColumn(false)}else{if(D.y>-this.tileSize.h*(E-1)){this.shiftRow(true)}else{if(D.y<-this.tileSize.h*E){this.shiftRow(false)}else{break}}}}}if(this.buffer==0){for(var B=0,H=this.grid.length;B<H;B++){var L=this.grid[B];for(var I=0,J=L.length;I<J;I++){var G=L[I];if(!G.drawn&&G.bounds.intersectsBounds(A,false)){G.draw()}}}}}}},getGridBounds:function(){var A=this.grid.length-1;var D=this.grid[A][0];var B=this.grid[0].length-1;var C=this.grid[0][B];return new Mip.Bounds(D.bounds.left,D.bounds.bottom,C.bounds.right,C.bounds.top)},_initTiles:function(){var H=this.map.getSize();var Y=Math.ceil(H.h/this.tileSize.h)+Math.max(1,2*this.buffer);var b=Math.ceil(H.w/this.tileSize.w)+Math.max(1,2*this.buffer);var K=this.map.getExtent();var R=this.map.getMaxExtent();var U=this.map.getResolution();var E=U*this.tileSize.w;var L=U*this.tileSize.h;var B=K.left-R.left;var I=Math.floor(B/E)-this.buffer;var c=B/E-I;var F=-c*this.tileSize.w;var M=R.left+I*E;var G=K.top-(R.bottom+L);var N=Math.ceil(G/L)+this.buffer;var a=N-G/L;var C=-a*this.tileSize.h;var Q=R.bottom+N*L;F=Math.round(F);C=Math.round(C);this.origin=new Mip.Pixel(F,C);var X=F;var Z=M;var W=0;do{var J=this.grid[W++];if(!J){J=new Array();this.grid.push(J)}M=Z;F=X;var D=0;do{var A=new Mip.Bounds(M,Q,M+E,Q+L);var P=F;P-=parseInt(this.map.layerContainerDiv.style.left);var O=C;O-=parseInt(this.map.layerContainerDiv.style.top);var S=new Mip.Pixel(P,O);var d=J[D++];if(!d){d=this.addTile(A,S);J.push(d)}else{d.moveTo(A,S,false)}M+=E;F+=this.tileSize.w}while((M<=K.right+E*this.buffer)||D<b);Q-=L;C+=this.tileSize.h}while((Q>=K.bottom-L*this.buffer)||W<Y);while(this.grid.length>W){var J=this.grid.pop();for(var V=0,T=J.length;V<T;V++){J[V].destroy()}}while(this.grid[0].length>D){for(var V=0,T=this.grid.length;V<T;V++){var J=this.grid[V];var d=J.pop();d.destroy()}}this.spiralTileLoad()},spiralTileLoad:function(){var B=new Array();var G=["right","down","left","up"];var F=0;var A=-1;var I=Mip.Util.indexOf(G,"right");var J=0;while(J<G.length){var H=F;var C=A;switch(G[I]){case"right":C++;break;case"down":H++;break;case"left":C--;break;case"up":H--;break}var E=null;if((H<this.grid.length)&&(H>=0)&&(C<this.grid[0].length)&&(C>=0)){E=this.grid[H][C]}if((E!=null)&&(!E.queued)){B.unshift(E);E.queued=true;J=0;F=H;A=C}else{I=(I+1)%4;J++}}for(var D=0;D<B.length;D++){var E=B[D];E.draw();E.queued=false}},addTile:function(B,A){},mergeNewParams:function(A){Mip.Layer.HTTPRequest.prototype.mergeNewParams.apply(this,[A]);if(this.map!=null){this._initTiles()}},shiftRow:function(K){var B=(K)?0:(this.grid.length-1);var E=this.grid[B];var D=this.map.getResolution();var G=(K)?-this.tileSize.h:this.tileSize.h;var F=D*-G;var J=(K)?this.grid.pop():this.grid.shift();for(var H=0;H<E.length;H++){var C=E[H];var A=C.bounds.clone();var I=C.position.clone();A.bottom=A.bottom+F;A.top=A.top+F;I.y=I.y+G;J[H].moveTo(A,I)}if(K){this.grid.unshift(J)}else{this.grid.push(J)}},shiftColumn:function(K){var D=(K)?-this.tileSize.w:this.tileSize.w;var C=this.map.getResolution();var I=C*D;for(var E=0;E<this.grid.length;E++){var J=this.grid[E];var H=(K)?0:(J.length-1);var B=J[H];var A=B.bounds.clone();var F=B.position.clone();A.left=A.left+I;A.right=A.right+I;F.x=F.x+D;var G=K?this.grid[E].pop():this.grid[E].shift();G.moveTo(A,F);if(K){this.grid[E].unshift(G)}else{this.grid[E].push(G)}}},CLASS_NAME:"Mip.Layer.Grid"});Mip.Layer.EventPane=Mip.Class.create();Mip.Layer.EventPane.prototype=Mip.Class.inherit(Mip.Layer,{isBaseLayer:true,isFixed:true,pane:null,mapObject:null,initialize:function(B,A){Mip.Layer.prototype.initialize.apply(this,arguments);if(this.pane==null){this.pane=Mip.Util.createDiv(this.div.id+"_EventPane")}},destroy:function(){this.mapObject=null;Mip.Layer.prototype.destroy.apply(this,arguments)},setMap:function(A){Mip.Layer.prototype.setMap.apply(this,arguments);this.pane.style.zIndex=parseInt(this.div.style.zIndex)+1;this.pane.style.display=this.div.style.display;this.pane.style.width="100%";this.pane.style.height="100%";if(/MSIE/.test(navigator.userAgent)){this.pane.style.background="url("+Mip.Util.getImagesLocation()+"blank.gif)"}if(this.isFixed){this.map.viewPortDiv.appendChild(this.pane)}else{this.map.layerContainerDiv.appendChild(this.pane)}this.loadMapObject();if(this.mapObject==null){this.loadWarningMessage()}},loadWarningMessage:function(){this.div.style.backgroundColor="darkblue";var E=this.map.getSize();msgW=Math.min(E.w,300);msgH=Math.min(E.h,200);var A=new Mip.Size(msgW,msgH);var C=new Mip.Pixel(E.w/2,E.h/2);var B=C.add(-A.w/2,-A.h/2);var D=Mip.Util.createDiv(this.name+"_warning",B,A,null,null,null,"auto");D.style.padding="7px";D.style.backgroundColor="yellow";D.innerHTML=this.getWarningHTML();this.div.appendChild(D)},display:function(A){Mip.Layer.prototype.display.apply(this,arguments);this.pane.style.display=this.div.style.display},setZIndex:function(A){Mip.Layer.prototype.setZIndex.apply(this,arguments);this.pane.style.zIndex=parseInt(this.div.style.zIndex)+1},moveTo:function(C,D,I){Mip.Layer.prototype.moveTo.apply(this,arguments);if(this.mapObject!=null){var E=this.map.getCenter();var G=this.map.getZoom();if(E!=null){var F=this.getMapObjectCenter();var B=this.getOLLonLatFromMapObjectLonLat(F);var H=this.getMapObjectZoom();var K=this.getOLZoomFromMapObjectZoom(H);if(!(E.equals(B))||!(G==K)){var A=this.getMapObjectLonLatFromOLLonLat(E);var J=this.getMapObjectZoomFromOLZoom(G);this.setMapObjectCenter(A,J)}}}},getLonLatFromViewPortPx:function(A){var B=null;if((this.mapObject!=null)&&(this.getMapObjectCenter()!=null)){var D=this.getMapObjectPixelFromOLPixel(A);var C=this.getMapObjectLonLatFromMapObjectPixel(D);B=this.getOLLonLatFromMapObjectLonLat(C)}return B},getViewPortPxFromLonLat:function(B){var A=null;if((this.mapObject!=null)&&(this.getMapObjectCenter()!=null)){var D=this.getMapObjectLonLatFromOLLonLat(B);var C=this.getMapObjectPixelFromMapObjectLonLat(D);A=this.getOLPixelFromMapObjectPixel(C)}return A},getOLLonLatFromMapObjectLonLat:function(D){var A=null;if(D!=null){var C=this.getLongitudeFromMapObjectLonLat(D);var B=this.getLatitudeFromMapObjectLonLat(D);A=new Mip.LonLat(C,B)}return A},getMapObjectLonLatFromOLLonLat:function(A){var B=null;if(A!=null){B=this.getMapObjectLonLatFromLonLat(A.lon,A.lat)}return B},getOLPixelFromMapObjectPixel:function(D){var B=null;if(D!=null){var A=this.getXFromMapObjectPixel(D);var C=this.getYFromMapObjectPixel(D);B=new Mip.Pixel(A,C)}return B},getMapObjectPixelFromOLPixel:function(A){var B=null;if(A!=null){B=this.getMapObjectPixelFromXY(A.x,A.y)}return B},CLASS_NAME:"Mip.Layer.EventPane"});Mip.Layer.Google=Mip.Class.create();Mip.Layer.Google.prototype=Mip.Class.inherit(Mip.Layer.EventPane,{zoom_diff:3,terms:null,type:null,initialize:function(B,A){Mip.Layer.EventPane.prototype.initialize.apply(this,arguments);this.addContainerPxFunction()},loadMapObject:function(){try{this.mapObject=new GMap2(this.div);var A=this.div.lastChild;this.div.removeChild(A);this.pane.appendChild(A);A.className="olLayerGooglePoweredBy gmnoprint";A.style.left="10px";A.style.bottom="20px";A.style.zIndex=parseInt(this.pane.style.zIndex)+2;var B=this.div.lastChild;this.div.removeChild(B);B.style.position="relative";B.style.right="";B.style.bottom="";var D=document.createElement("div");D.id="MappingGoogleTerms";D.style.zIndex=parseInt(this.pane.style.zIndex)+1;D.style.position="absolute";D.style.right="15px";D.style.bottom="25px";D.appendChild(B);this.pane.appendChild(D);this.terms=D}catch(C){}},setMap:function(A){Mip.Layer.EventPane.prototype.setMap.apply(this,arguments);if(this.type!=null){this.map.events.register("moveend",this,this.setMapType)}},setMapType:function(){if(this.mapObject.getCenter()!=null){this.mapObject.setMapType(this.type);this.map.events.unregister("moveend",this,this.setMapType)}},onMapResize:function(){this.mapObject.checkResize()},getOLBoundsFromMapObjectBounds:function(B){var C=null;if(B!=null){var A=B.getSouthWest();var D=B.getNorthEast();C=new Mip.Bounds(A.lng(),A.lat(),D.lng(),D.lat())}return C},getMapObjectBoundsFromOLBounds:function(C){var B=null;if(C!=null){var A=new GLatLng(C.bottom,C.left);var D=new GLatLng(C.top,C.right);B=new GLatLngBounds(A,D)}return B},addContainerPxFunction:function(){if(typeof GMap2!="undefined"&&!GMap2.fromLatLngToContainerPixel){GMap2.prototype.fromLatLngToContainerPixel=function(B){var A=this.fromLatLngToDivPixel(B);var C=this.getContainer().firstChild.firstChild;A.x+=C.offsetLeft;A.y+=C.offsetTop;return A}}},getWarningHTML:function(){var A="";A+="The Google Layer was unable to load correctly.<br>";A+="<br>";A+="To get rid of this message, select a new BaseLayer ";A+="in the layer switcher in the upper-right corner.<br>";A+="<br>";A+="Most likely, this is because the Google Maps library";A+=" script was either not included, or does not contain the";A+=" correct API key for your site.<br>";A+="<br>";A+="Developers: For help getting this working correctly, ";A+="<a href='http://trac.openlayers.org/wiki/Google' ";A+="target='_blank'>";A+="click here";A+="</a>";return A},setMapObjectCenter:function(A,B){this.mapObject.setCenter(A,B)},getMapObjectCenter:function(){return this.mapObject.getCenter()},getMapObjectZoom:function(){return this.mapObject.getZoom()},getMapObjectLonLatFromMapObjectPixel:function(A){return this.mapObject.fromContainerPixelToLatLng(A)},getMapObjectPixelFromMapObjectLonLat:function(A){return this.mapObject.fromLatLngToContainerPixel(A)},getMapObjectZoomFromMapObjectBounds:function(A){return this.mapObject.getBoundsZoomLevel(A)},getLongitudeFromMapObjectLonLat:function(A){return A.lng()},getLatitudeFromMapObjectLonLat:function(A){return A.lat()},getMapObjectLonLatFromLonLat:function(B,A){return new GLatLng(A,B)},getXFromMapObjectPixel:function(A){return A.x},getYFromMapObjectPixel:function(A){return A.y},getMapObjectPixelFromXY:function(A,B){return new GPoint(A,B)},getLayerType:function(){if(this.type){if(this.type==G_NORMAL_MAP){return"gmap"}else{if(this.type==G_HYBRID_MAP){return"gmixte"}else{if(this.type==G_SATELLITE_MAP){return"gphoto"}}}}else{return"google"}},getOLZoomFromMapObjectZoom:function(A){var B=null;if(A!=null){B=A-this.zoom_diff}return B},getMapObjectZoomFromOLZoom:function(A){var B=null;if(A!=null){B=A+this.zoom_diff}return B},setResolutions:function(A){var B={};B.resolutions=A;if(this.resolutions){this.zoom_diff=this.zoom_diff+(this.resolutions.length-A.length)}this.addOptions(B);this.initResolutions()},CLASS_NAME:"Mip.Layer.Google"});Mip.Layer.GoogleMercator=Mip.Class.create();Mip.Layer.GoogleMercator.prototype=Mip.Class.inherit(Mip.Layer.Google,{initialize:function(B,A){this.projection="EPSG:54004";this.units="m";Mip.Layer.Google.prototype.initialize.apply(this,arguments)},getExtent:function(){return this.map.calculateBounds()},getOLBoundsFromMapObjectBounds:function(B){var C=null;if(B!=null){var A=this.forwardMercator(B.getSouthWest());var D=this.forwardMercator(B.getNorthEast());C=new Mip.Bounds(A.lon,A.lat,D.lon,D.lat)}return C},getMapObjectBoundsFromOLBounds:function(C){var B=null;if(C!=null){var A=this.inverseMercator(new Mip.LonLat(C.left,C.bottom));var D=this.inverseMercator(new Mip.LonLat(C.right,C.top));B=new GLatLngBounds(new GLatLng(A.lat,A.lon),new GLatLng(D.lat,D.lon))}return B},getZoomForResolution:function(B){var E;var D=0;var A=Number.POSITIVE_INFINITY;for(var C=0;C<this.resolutions.length;++C){E=Math.abs(this.resolutions[C]-B);if(E<A){D=C;A=E}}return D},getLongitudeFromMapObjectLonLat:function(A){return this.forwardMercator(A).lon},getLatitudeFromMapObjectLonLat:function(A){return this.forwardMercator(A).lat},getMapObjectLonLatFromLonLat:function(C,B){var A=this.inverseMercator(new Mip.LonLat(C,B));return new GLatLng(A.lat,A.lon)},rad2deg:180/Math.PI,deg2rad:Math.PI/180,halfPi:Math.PI/2,rMajor:6378137,rMinor:6356752.31424518,eccent:Math.sqrt(1-Math.pow(6356752.31424518/6378137,2)),forwardMercator:function(E){var A,F;if(typeof E.lng=="function"){A=E.lng();F=E.lat()}else{A=E.lon;F=E.lat}if(F<=90&&F>=-90&&A<=180&&A>=-180){F*=this.deg2rad;A*=this.deg2rad;F=Math.min(this.halfPi-1e-9,F);F=Math.max(-this.halfPi+1e-9,F)}else{return null}F=Math.min(this.halfPi-1e-9,F);F=Math.max(-this.halfPi+1e-9,F);var B=this.eccent*Math.sin(F);var C=0.5*this.eccent;B=Math.pow(((1-B)/(1+B)),C);var D=(Math.tan(0.5*(this.halfPi-F))/B);var A=this.rMajor*A;var F=-this.rMajor*Math.log(D);return new Mip.LonLat(A,F)},inverseMercator:function(E){var A,J;if(typeof E.lng=="function"){A=E.lng();J=E.lat()}else{A=E.lon;J=E.lat}var M=this.rMinor/this.rMajor;var I=Math.exp(-J/this.rMajor);var K=null;var H=0.5*this.eccent;var B,F;var G=this.halfPi-2*Math.atan(I);for(var D=0;D<=15;D++){B=this.eccent*Math.sin(G);F=this.halfPi-2*Math.atan(I*(Math.pow(((1-B)/(1+B)),H)))-G;G+=F;if(Math.abs(F)<=1e-10){K=G;break}}if(K==null){throw"Convergence error - phi2z"}var L=A/this.rMajor;if(Math.abs(L)>=Math.PI){var C=(L<0)?-1:1;L=L-(C*2*Math.PI)}L*=this.rad2deg;K*=this.rad2deg;return new Mip.LonLat(L,K)},getCopyright:function(){return"&copy; 2007 Market-IP"},CLASS_NAME:"Mip.Layer.GoogleMercator"});Mip.Control.PanZoom=Mip.Class.create();Mip.Control.PanZoom.X=4;Mip.Control.PanZoom.Y=4;Mip.Control.PanZoom.prototype=Mip.Class.inherit(Mip.Control,{slideFactor:50,buttons:null,position:null,initialize:function(){this.position=new Mip.Pixel(Mip.Control.PanZoom.X,Mip.Control.PanZoom.Y);Mip.Control.prototype.initialize.apply(this,arguments)},destroy:function(){Mip.Control.prototype.destroy.apply(this,arguments);while(this.buttons.length){var A=this.buttons.shift();A.map=null;Mip.Event.stopObservingElement(A)}this.buttons=null;this.position=null},draw:function(B){Mip.Control.prototype.draw.apply(this,arguments);B=this.position;this.buttons=new Array();var C=new Mip.Size(18,18);var A=new Mip.Pixel(B.x+C.w/2,B.y);this._addButton("panup","north-mini.png",A,C);B.y=A.y+C.h;this._addButton("panleft","west-mini.png",B,C);this._addButton("panright","east-mini.png",B.add(C.w,0),C);this._addButton("pandown","south-mini.png",A.add(0,C.h*2),C);this._addButton("zoomin","zoom-plus-mini.png",A.add(0,C.h*3+5),C);this._addButton("zoomworld","zoom-world-mini.png",A.add(0,C.h*4+5),C);this._addButton("zoomout","zoom-minus-mini.png",A.add(0,C.h*5+5),C);return this.div},_addButton:function(F,A,E,D){var C=Mip.Util.getImagesLocation()+A;var B=Mip.Util.createAlphaImageDiv("Mip_Control_PanZoom_"+F,E,D,C,"absolute");this.div.appendChild(B);Mip.Event.observe(B,"mousedown",this.buttonDown.bindAsEventListener(B));Mip.Event.observe(B,"mouseup",this.doubleClick.bindAsEventListener(B));Mip.Event.observe(B,"dblclick",this.doubleClick.bindAsEventListener(B));Mip.Event.observe(B,"click",this.doubleClick.bindAsEventListener(B));B.action=F;B.map=this.map;B.slideFactor=this.slideFactor;this.buttons.push(B);return B},doubleClick:function(A){Mip.Event.stop(A);return false},buttonDown:function(A){if(!Mip.Event.isLeftClick(A)){return }switch(this.action){case"panup":this.map.pan(0,-50);break;case"pandown":this.map.pan(0,50);break;case"panleft":this.map.pan(-50,0);break;case"panright":this.map.pan(50,0);break;case"zoomin":this.map.zoomIn();break;case"zoomout":this.map.zoomOut();break;case"zoomworld":this.map.zoomToMaxExtent();break}Mip.Event.stop(A)},CLASS_NAME:"Mip.Control.PanZoom"});Mip.Control.PanZoomBar=Mip.Class.create();Mip.Control.PanZoomBar.prototype=Mip.Class.inherit(Mip.Control.PanZoom,{zoomStopWidth:18,zoomStopHeight:11,slider:null,sliderEvents:null,zoomBarDiv:null,divEvents:null,initialize:function(){Mip.Control.PanZoom.prototype.initialize.apply(this,arguments)},destroy:function(){this.div.removeChild(this.slider);this.slider=null;this.sliderEvents.destroy();this.sliderEvents=null;this.div.removeChild(this.zoombarDiv);this.zoomBarDiv=null;this.divEvents.destroy();this.divEvents=null;this.map.events.unregister("zoomend",this,this.moveZoomBar);this.map.events.unregister("changebaselayer",this,this.redraw);Mip.Control.PanZoom.prototype.destroy.apply(this,arguments)},setMap:function(A){Mip.Control.PanZoom.prototype.setMap.apply(this,arguments);this.map.events.register("changebaselayer",this,this.redraw)},redraw:function(){if(this.div!=null){this.div.innerHTML=""}this.draw()},draw:function(B){Mip.Control.prototype.draw.apply(this,arguments);B=this.position.clone();this.buttons=new Array();var C=new Mip.Size(18,18);var A=new Mip.Pixel(B.x+C.w/2,B.y);this._addButton("panup","north-mini.png",A,C);B.y=A.y+C.h;this._addButton("panleft","west-mini.png",B,C);this._addButton("panright","east-mini.png",B.add(C.w,0),C);this._addButton("pandown","south-mini.png",A.add(0,C.h*2),C);this._addButton("zoomin","zoom-plus-mini.png",A.add(0,C.h*3+5),C);A=this._addZoomBar(A.add(0,C.h*4+5));this._addButton("zoomout","zoom-minus-mini.png",A,C);return this.div},_addZoomBar:function(A){var D=Mip.Util.getImagesLocation();var F="Mip_Control_PanZoomBar_Slider"+this.map.id;var B=this.map.getNumZoomLevels()-1-this.map.getZoom();var C=Mip.Util.createAlphaImageDiv(F,A.add(-1,B*this.zoomStopHeight),new Mip.Size(20,9),D+"slider.png","absolute");this.slider=C;this.sliderEvents=new Mip.Events(this,C,null,true);this.sliderEvents.register("mousedown",this,this.zoomBarDown);this.sliderEvents.register("mousemove",this,this.zoomBarDrag);this.sliderEvents.register("mouseup",this,this.zoomBarUp);this.sliderEvents.register("dblclick",this,this.doubleClick);this.sliderEvents.register("click",this,this.doubleClick);sz=new Mip.Size();sz.h=this.zoomStopHeight*this.map.getNumZoomLevels();sz.w=this.zoomStopWidth;var E=null;if(Mip.Util.alphaHack()){var F="Mip_Control_PanZoomBar"+this.map.id;E=Mip.Util.createAlphaImageDiv(F,A,new Mip.Size(sz.w,this.zoomStopHeight),D+"zoombar.png","absolute",null,"crop");E.style.height=sz.h}else{E=Mip.Util.createDiv("Mip_Control_PanZoomBar_Zoombar"+this.map.id,A,sz,D+"zoombar.png")}this.zoombarDiv=E;this.divEvents=new Mip.Events(this,E,null,true);this.divEvents.register("mousedown",this,this.divClick);this.divEvents.register("mousemove",this,this.passEventToSlider);this.divEvents.register("dblclick",this,this.doubleClick);this.divEvents.register("click",this,this.doubleClick);this.div.appendChild(E);this.startTop=parseInt(E.style.top);this.div.appendChild(C);this.map.events.register("zoomend",this,this.moveZoomBar);A=A.add(0,this.zoomStopHeight*this.map.getNumZoomLevels());return A},passEventToSlider:function(A){this.sliderEvents.handleBrowserEvent(A)},divClick:function(A){if(!Mip.Event.isLeftClick(A)){return }var D=A.xy.y;var C=Mip.Util.pagePosition(A.object)[1];var B=Math.floor((D-C)/this.zoomStopHeight);this.map.zoomTo((this.map.getNumZoomLevels()-1)-B);Mip.Event.stop(A)},zoomBarDown:function(A){if(!Mip.Event.isLeftClick(A)){return }this.map.events.register("mousemove",this,this.passEventToSlider);this.map.events.register("mouseup",this,this.passEventToSlider);this.mouseDragStart=A.xy.clone();this.zoomStart=A.xy.clone();this.div.style.cursor="move";this.zoombarDiv.offsets=null;Mip.Event.stop(A)},zoomBarDrag:function(B){if(this.mouseDragStart!=null){var A=this.mouseDragStart.y-B.xy.y;var D=Mip.Util.pagePosition(this.zoombarDiv);if((B.clientY-D[1])>0&&(B.clientY-D[1])<parseInt(this.zoombarDiv.style.height)-2){var C=parseInt(this.slider.style.top)-A;this.slider.style.top=C+"px"}this.mouseDragStart=B.xy.clone();Mip.Event.stop(B)}},zoomBarUp:function(B){if(!Mip.Event.isLeftClick(B)){return }if(this.zoomStart){this.div.style.cursor="";this.map.events.unregister("mouseup",this,this.passEventToSlider);this.map.events.unregister("mousemove",this,this.passEventToSlider);var A=this.zoomStart.y-B.xy.y;this.map.zoomTo(this.map.zoom+Math.round(A/this.zoomStopHeight));this.moveZoomBar();this.mouseDragStart=null;Mip.Event.stop(B)}},moveZoomBar:function(){var A=((this.map.getNumZoomLevels()-1)-this.map.getZoom())*this.zoomStopHeight+this.startTop+1;this.slider.style.top=A+"px"},CLASS_NAME:"Mip.Control.PanZoomBar"});Mip.Control.MousePosition=Mip.Class.create();Mip.Control.MousePosition.prototype=Mip.Class.inherit(Mip.Control,{element:null,prefix:"",separator:", ",suffix:"",numdigits:5,granularity:10,lastXy:null,initialize:function(A){Mip.Control.prototype.initialize.apply(this,arguments)},draw:function(){Mip.Control.prototype.draw.apply(this,arguments);if(!this.element){this.div.left="";this.div.top="";this.div.className=this.displayClass;this.element=this.div}this.redraw();return this.div},redraw:function(A){var C;if(A==null){C=new Mip.LonLat(0,0)}else{if(this.lastXy==null||Math.abs(A.xy.x-this.lastXy.x)>this.granularity||Math.abs(A.xy.y-this.lastXy.y)>this.granularity){this.lastXy=A.xy;return }C=this.map.getLonLatFromPixel(A.xy);this.lastXy=A.xy}var D=parseInt(this.numdigits);var B=this.prefix+C.lon.toFixed(D)+this.separator+C.lat.toFixed(D)+this.suffix;if(B!=this.element.innerHTML){this.element.innerHTML=B}},setMap:function(){Mip.Control.prototype.setMap.apply(this,arguments);this.map.events.register("mousemove",this,this.redraw)},CLASS_NAME:"Mip.Control.MousePosition"});Mip.Control.LayerSwitcher=Mip.Class.create();Mip.Control.LayerSwitcher.prototype=Mip.Class.inherit(Mip.Control,{activeColor:"darkblue",layersDiv:null,baseLayersDiv:null,baseLayers:null,dataLbl:null,dataLayersDiv:null,dataLayers:null,minimizeDiv:null,maximizeDiv:null,ascending:true,initialize:function(A){Mip.Control.prototype.initialize.apply(this,arguments)},destroy:function(){Mip.Event.stopObservingElement(this.div);Mip.Event.stopObservingElement(this.minimizeDiv);Mip.Event.stopObservingElement(this.maximizeDiv);this.clearLayersArray("base");this.clearLayersArray("data");this.map.events.unregister("addlayer",this,this.redraw);this.map.events.unregister("changelayer",this,this.redraw);this.map.events.unregister("removelayer",this,this.redraw);this.map.events.unregister("changebaselayer",this,this.redraw);Mip.Control.prototype.destroy.apply(this,arguments)},setMap:function(A){Mip.Control.prototype.setMap.apply(this,arguments);this.map.events.register("addlayer",this,this.redraw);this.map.events.register("changelayer",this,this.redraw);this.map.events.register("removelayer",this,this.redraw);this.map.events.register("changebaselayer",this,this.redraw)},draw:function(){Mip.Control.prototype.draw.apply(this);this.loadContents();this.minimizeControl();this.redraw();return this.div},clearLayersArray:function(C){var D=this[C+"Layers"];if(D){for(var B=0;B<D.length;B++){var A=D[B];Mip.Event.stopObservingElement(A.inputElem);Mip.Event.stopObservingElement(A.labelSpan)}}this[C+"LayersDiv"].innerHTML="";this[C+"Layers"]=new Array()},redraw:function(){this.clearLayersArray("base");this.clearLayersArray("data");var D=false;var E=this.map.layers.slice();if(!this.ascending){E.reverse()}for(var F=0;F<E.length;F++){var G=E[F];var H=G.isBaseLayer;if(H||G.displayInLayerSwitcher){if(!H){D=true}var J=(H)?(G==this.map.baseLayer):G.getVisibility();var I=document.createElement("input");I.id="input_"+G.name;I.name=(H)?"baseLayers":G.name;I.type=(H)?"radio":"checkbox";I.value=G.name;I.checked=J;I.defaultChecked=J;if(!H&&!G.inRange){I.disabled=true}var A={"inputElem":I,"layer":G,"layerSwitcher":this};Mip.Event.observe(I,"mouseup",this.onInputClick.bindAsEventListener(A));Mip.Event.observe(I,"mouseover",this.button_mouseOver.bindAsEventListener(I));Mip.Event.observe(I,"mouseout",this.button_mouseOut.bindAsEventListener(I));var B=document.createElement("span");if(!H&&!G.inRange){B.style.color="gray"}B.innerHTML=G.name;B.style.verticalAlign=(H)?"bottom":"baseline";Mip.Event.observe(B,"click",this.onInputClick.bindAsEventListener(A));Mip.Event.observe(B,"mouseover",this.button_mouseOver.bindAsEventListener(B));Mip.Event.observe(B,"mouseout",this.button_mouseOut.bindAsEventListener(B));var L=document.createElement("br");var K=(H)?this.baseLayers:this.dataLayers;K.push({"layer":G,"inputElem":I,"labelSpan":B});var C=(H)?this.baseLayersDiv:this.dataLayersDiv;C.appendChild(I);C.appendChild(B);C.appendChild(L)}}this.dataLbl.style.display=(D)?"":"none";return this.div},onInputClick:function(A){if(!this.inputElem.disabled){if(this.inputElem.type=="radio"){this.inputElem.checked=true;this.layer.map.setBaseLayer(this.layer,true);this.layer.map.events.triggerEvent("changebaselayer")}else{this.inputElem.checked=!this.inputElem.checked;this.layerSwitcher.updateMap()}}Mip.Event.stop(A)},onLayerClick:function(A){this.updateMap()},updateMap:function(){for(var A=0;A<this.baseLayers.length;A++){var B=this.baseLayers[A];if(B.inputElem.checked){this.map.setBaseLayer(B.layer,false)}}for(var A=0;A<this.dataLayers.length;A++){var B=this.dataLayers[A];B.layer.setVisibility(B.inputElem.checked,true)}},maximizeControl:function(A){this.div.style.width="20em";this.div.style.height="";this.showControls(false);if(A!=null){Mip.Event.stop(A)}},minimizeControl:function(A){this.div.style.width="0px";this.div.style.height="0px";this.showControls(true);if(A!=null){Mip.Event.stop(A)}},showControls:function(A){this.maximizeDiv.style.display=A?"":"none";this.minimizeDiv.style.display=A?"none":"";this.layersDiv.style.display=A?"none":""},loadContents:function(){this.div.style.position="absolute";this.div.style.top="25px";this.div.style.right="0px";this.div.style.left="";this.div.style.fontFamily="sans-serif";this.div.style.fontWeight="bold";this.div.style.marginTop="3px";this.div.style.marginLeft="3px";this.div.style.marginBottom="3px";this.div.style.fontSize="smaller";this.div.style.color="white";this.div.style.backgroundColor="transparent";Mip.Event.observe(this.div,"mouseup",this.mouseUp.bindAsEventListener(this));Mip.Event.observe(this.div,"click",this.ignoreEvent);Mip.Event.observe(this.div,"mousedown",this.mouseDown.bindAsEventListener(this));Mip.Event.observe(this.div,"dblclick",this.ignoreEvent);this.layersDiv=document.createElement("div");this.layersDiv.id="layersDiv";this.layersDiv.style.paddingTop="5px";this.layersDiv.style.paddingLeft="10px";this.layersDiv.style.paddingBottom="5px";this.layersDiv.style.paddingRight="75px";this.layersDiv.style.backgroundColor=this.activeColor;this.layersDiv.style.width="100%";this.layersDiv.style.height="100%";var D=document.createElement("div");D.innerHTML="<u>Base Layer</u>";D.style.marginTop="3px";D.style.marginLeft="3px";D.style.marginBottom="3px";this.baseLayersDiv=document.createElement("div");this.baseLayersDiv.style.paddingLeft="10px";this.dataLbl=document.createElement("div");this.dataLbl.innerHTML="<u>Overlays</u>";this.dataLbl.style.marginTop="3px";this.dataLbl.style.marginLeft="3px";this.dataLbl.style.marginBottom="3px";this.dataLayersDiv=document.createElement("div");this.dataLayersDiv.style.paddingLeft="10px";if(this.ascending){this.layersDiv.appendChild(D);this.layersDiv.appendChild(this.baseLayersDiv);this.layersDiv.appendChild(this.dataLbl);this.layersDiv.appendChild(this.dataLayersDiv)}else{this.layersDiv.appendChild(this.dataLbl);this.layersDiv.appendChild(this.dataLayersDiv);this.layersDiv.appendChild(D);this.layersDiv.appendChild(this.baseLayersDiv)}this.div.appendChild(this.layersDiv);Mip.Rico.Corner.round(this.div,{corners:"tl bl",bgColor:"transparent",color:this.activeColor,blend:false});Mip.Rico.Corner.changeOpacity(this.layersDiv,0.75);var C=Mip.Util.getImagesLocation();var B=new Mip.Size(18,18);var A=C+"layer-switcher-maximize.png";this.maximizeDiv=Mip.Util.createAlphaImageDiv("Mip_Control_MaximizeDiv",null,B,A,"absolute");this.maximizeDiv.style.top="5px";this.maximizeDiv.style.right="0px";this.maximizeDiv.style.left="";this.maximizeDiv.style.display="none";Mip.Event.observe(this.maximizeDiv,"click",this.maximizeControl.bindAsEventListener(this));this.div.appendChild(this.maximizeDiv);var A=C+"layer-switcher-minimize.png";var B=new Mip.Size(18,18);this.minimizeDiv=Mip.Util.createAlphaImageDiv("Mip_Control_MinimizeDiv",null,B,A,"absolute");this.minimizeDiv.style.top="5px";this.minimizeDiv.style.right="0px";this.minimizeDiv.style.left="";this.minimizeDiv.style.display="none";Mip.Event.observe(this.minimizeDiv,"click",this.minimizeControl.bindAsEventListener(this));this.div.appendChild(this.minimizeDiv)},ignoreEvent:function(A){Mip.Event.stop(A)},mouseDown:function(A){this.mouseDown=true;this.ignoreEvent(A)},mouseUp:function(A){if(this.mouseDown){this.mouseDown=false;this.ignoreEvent(A)}},CLASS_NAME:"Mip.Control.LayerSwitcher"});var Configuration={ServerUrl:"http://cache1.market-ip.com/Mapping/HttpHandler/GetMap.aspx?",Statistics:{ServerUrl:"http://cache1.market-ip.com/Statistics/Stat.aspx?"},Mapping:{ServerUrl:["http://cache1.market-ip.com/Mapping/HttpHandler/GetMap.aspx?","http://cache2.market-ip.com/Mapping/HttpHandler/GetMap.aspx?","http://cache3.market-ip.com/Mapping/HttpHandler/GetMap.aspx?","http://cache4.market-ip.com/Mapping/HttpHandler/GetMap.aspx?"],ThemesUrl:"http://maps2.market-ip.com/Mapping/HttpHandler/GetTheme.aspx?",Target:{Url:"http://maps2.market-ip.com/Mapping/API/img/target_02.gif",Size:{Width:"17px",Height:"17px"}},Help:{Url:"http://maps2.market-ip.com/Mapping/API/img/help.png",Size:{Width:"16px",Height:"16px"}},MinimalSize:{Width:"400px",Height:"330px"},Options:{DataLayer:{resolutions:[40162.3003820065,20081.15019,10040.575,5000,2000,1000,500,250,100,40,20,10,4,2,1],projection:"EPSG:54004",units:"meters"},PoiLayer:{resolutions:[40162.3003820065,20081.15019,10040.575,5000,2000,1000,500,250,100,40,20,10,4,2,1]}}},Routing:{ServerUrl:"http://maps2.market-ip.com/Mapping/HttpHandler/GetRoute.aspx?"},Geocoding:{ServerUrl:"http://cache1.market-ip.com/Mapping/HttpHandler/GetMap.aspx?"},Theme:"http://maps2.market-ip.com/Mapping/API/theme/default/style_20071113.css"};Mapping_State={};Mapping_State.LOADING_JAVASCRIPT=0;Mapping_State.INITIALIZING=1;Mapping_State.REQUESTING_CONFIG=2;Mapping_State.REQUESTING_ADDRESS=4;Mapping_State.INITIALIZED=8;Mapping_State.READY=16;var CurrentLanguage=null;Languages=Mip.Class.create();Languages.prototype={languageList:null,defaultLanguageCode:"en",initialize:function(){this.languageList=__languages_list},getLanguage:function(A){var B=null;if(A){B=this.getLanguageForCode(A)}if(B==null){if(navigator.userLanguage){A=navigator.userLanguage}else{if(navigator.language){A=navigator.language}}B=this.getLanguageForCode(A)}if(B==null){B=this.getLanguageForCode(this.defaultLanguageCode)}return B},getLanguageForCode:function(B){var C=null;if(B&&this.languageList!=null){for(var A=0;A<this.languageList.length;A++){if(B.indexOf(this.languageList[A].Code)!=-1){C=this.languageList[A];break}}}return C}};var __languages_list=[];var Language={Code:"en",LayerControl:{LayersTitle:"Type of map",PoiTitle:"Points of interest",Buttons:{Legend:"Style",Search:"Search"},Layers:{Map:"Map",Satellite:"Satellite",Mixte:"Mixte"}},AddressSearch:{Country:"Country",Zip:"Zip",Locality:"Locality",Street:"Street",Number:"Number",CountryList:[{name:"Belgium",code:"BE"},{name:"France",code:"FR"},{name:"Netherlands",code:"NL"},{name:"Luxembourg",code:"LU"},{name:"Germany",code:"DE"},{name:"Italy",code:"IT"},{name:"Spain",code:"ES"},{name:"Portugal",code:"PT"},{name:"Switzerland",code:"CH"},{name:"Austria",code:"AT"},{name:"Great Britain",code:"GB"},{name:"Sweden",code:"SW"}],Search:"Search",NewSearch:"New search"},HelpControl:{Help:"Help",Title:{Action:"Action",Description:"Description"},HelpLinesList:[{Action:"2x<img src='"+Mip.Util.getImagesLocation()+"mouseleft.gif' style='vertical-align:middle;' />",Description:"Zoom In"},{Action:"2x<img src='"+Mip.Util.getImagesLocation()+"mouseright.gif' style='vertical-align:middle;' />",Description:"Zoom Out"},{Action:"<img src='"+Mip.Util.getImagesLocation()+"shift.gif' style='vertical-align:middle;' /> & Drag",Description:"Zoom In"},{Action:"Mouse Wheel",Description:"Zoom In/Out"}]}};__languages_list.push(Language);Language={Code:"fr",LayerControl:{LayersTitle:"Type de carte",PoiTitle:"Points d'int&eacute;r&ecirc;t",Buttons:{Legend:"Style",Search:"Recherche"},Layers:{Map:"Carte/Plan",Satellite:"Satellite",Mixte:"Mixte"}},AddressSearch:{Country:"Pays",Zip:"CP",Locality:"Localit&eacute;",Street:"Rue",Number:"Num&eacute;ro",CountryList:[{name:"Belgique",code:"BE"},{name:"France",code:"FR"},{name:"Pays-Bas",code:"NL"},{name:"Luxembourg",code:"LU"},{name:"Allemagne",code:"DE"},{name:"Italie",code:"IT"},{name:"Espagne",code:"ES"},{name:"Portugal",code:"PT"},{name:"Suisse",code:"CH"},{name:"Autriche",code:"AT"},{name:"Grande-Bretagne",code:"GB"},{name:"Su&egrave;de",code:"SW"}],Search:"Chercher",NewSearch:"Nouvelle recherche"},HelpControl:{Help:"Aide",Title:{Action:"Action",Description:"Description"},HelpLinesList:[{Action:"2x<img src='"+Mip.Util.getImagesLocation()+"mouseleft.gif' style='vertical-align:middle;' />",Description:"Zoom In"},{Action:"2x<img src='"+Mip.Util.getImagesLocation()+"mouseright.gif' style='vertical-align:middle;' />",Description:"Zoom Out"},{Action:"<img src='"+Mip.Util.getImagesLocation()+"shift.gif' style='vertical-align:middle;' /> & Drag",Description:"Zoom In"},{Action:"Mouse Wheel",Description:"Zoom In/Out"}]}};__languages_list.push(Language);Language={Code:"nl",LayerControl:{LayersTitle:"Soort kaart",PoiTitle:"Interesse punt",Buttons:{Legend:"Stijl",Search:"Onderzoek"},Layers:{Map:"Kaart",Satellite:"Satelliet",Mixte:"Hybride"}},AddressSearch:{Country:"Land",Zip:"Postcode",Locality:"Plaats",Street:"Straat",Number:"Nummer",CountryList:[{name:"Belgi&euml;",code:"BE"},{name:"Frankrijk",code:"FR"},{name:"Nederland",code:"NL"},{name:"Luxemburg",code:"LU"},{name:"Duitsland",code:"DE"},{name:"Itali&euml;",code:"IT"},{name:"Spanje",code:"ES"},{name:"Portugal",code:"PT"},{name:"Zwitserland",code:"CH"},{name:"Oostenrijk",code:"AT"},{name:"Groot Brittani&euml;",code:"GB"},{name:"Zweden",code:"SW"}],Search:"Zoeken",NewSearch:"Nieuw onderzoek"},HelpControl:{Help:"Hulp",Title:{Action:"Action",Description:"Description"},HelpLinesList:[{Action:"2x<img src='"+Mip.Util.getImagesLocation()+"mouseleft.gif' style='vertical-align:middle;' />",Description:"Zoom In"},{Action:"2x<img src='"+Mip.Util.getImagesLocation()+"mouseright.gif' style='vertical-align:middle;' />",Description:"Zoom Out"},{Action:"<img src='"+Mip.Util.getImagesLocation()+"shift.gif' style='vertical-align:middle;' /> & Drag",Description:"Zoom In"},{Action:"Mouse Wheel",Description:"Zoom In/Out"}]}};__languages_list.push(Language);var __Languages=new Languages();var keyStr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";function crypt(C){var A="";var J,H,F;var I,G,E,D;var B=0;C=encodeURI(C);do{J=C.charCodeAt(B++);H=C.charCodeAt(B++);F=C.charCodeAt(B++);I=J>>2;G=((J&3)<<4)|(H>>4);E=((H&15)<<2)|(F>>6);D=F&63;if(isNaN(H)){E=D=64}else{if(isNaN(F)){D=64}}A=A+keyStr.charAt(I)+keyStr.charAt(G)+keyStr.charAt(E)+keyStr.charAt(D)}while(B<C.length);return A}var JSON=function(){var m={"\b":"\\b","\t":"\\t","\n":"\\n","\f":"\\f","\r":"\\r","\"":"\\\"","\\":"\\\\"},s={"boolean":function(x){return String(x)},number:function(x){return isFinite(x)?String(x):"null"},string:function(x){if(/["\\\x00-\x1f]/.test(x)){x=x.replace(/([\x00-\x1f\\"])/g,function(a,b){var c=m[b];if(c){return c}c=b.charCodeAt();return"\\u00"+Math.floor(c/16).toString(16)+(c%16).toString(16)})}return"\""+x+"\""},object:function(x){if(x){var a=[],b,f,i,l,v;if(x instanceof Array){a[0]="[";l=x.length;for(i=0;i<l;i+=1){v=x[i];f=s[typeof v];if(f){v=f(v);if(typeof v=="string"){if(b){a[a.length]=","}a[a.length]=v;b=true}}}a[a.length]="]"}else{if(x instanceof Object){a[0]="{";for(i in x){v=x[i];f=s[typeof v];if(f){v=f(v);if(typeof v=="string"){if(b){a[a.length]=","}a.push(s.string(i),":",v);b=true}}}a[a.length]="}"}else{return }}return a.join("")}return"null"}};return{copyright:"(c)2005 JSON.org",license:"http://www.JSON.org/license.html",stringify:function(v){var f=s[typeof v];if(f){v=f(v);if(typeof v=="string"){return v}}return null},parse:function(text){try{return !(/[^,:{}\[\]0-9.\-+Eaeflnr-u \n\r\t]/.test(text.replace(/"(\\.|[^"\\])*"/g,"")))&&eval("("+text+")")}catch(e){return false}}}}();Extent=Mip.Class.create();Extent.prototype=Mip.Class.inherit(Mip.Bounds,{getProjectedExtent:function(){var A=Mip.Projection["EPSG:54004"].forward(new Mip.LonLat(this.left,this.top));var B=Mip.Projection["EPSG:54004"].forward(new Mip.LonLat(this.right,this.bottom));return new Extent(A.lon,B.lat,B.lon,A.lat)}});Mip.Util.onImageLoadErrorColor="silver";Mip.Util.lowerCaseObject=function(A){var C=new Object();for(var B in A){C[B.toLowerCase()]=A[B]}return C};Mip.Util.getCryptedParameterString=function(D){D=Mip.Util.lowerCaseObject(D);var C=new Array();for(var A in D){var B=D[A];if((B!=null)&&(typeof B!="function")){C.push(A+"="+B)}}return"data="+crypt(C.join("&"))};Mip.Util.getThemeFromName=function(D,B){if(D&&B){var C=new Object();for(var A=0;A<D.length;A++){if(B==D[A].name){C.url=Configuration.Mapping.ThemesUrl+D[A].file;C.width=D[A].size;C.height=D[A].size;break}}return C}else{return null}};Mip.Util.getReferrer=function(){var A="";try{A=window.top.location.host}catch(B){A=window.location.host}return A};Mip.Util.Mip={};Mip.Util.Mip.createMenuButton=function(E,D){var A=document.createElement("span");if(!E){E=Mip.Util.createUniqueID("MipButton")}A.id=E;A.className="menubutton";A.style.cursor="default";if(E!="MappingMenuBlankButton"){var C=new Image();C.src=Mip.Util.getImagesLocation()+"down.gif";C.className="menubutton";A.appendChild(C)}var B=document.createElement("span");B.id=Mip.Util.createUniqueID("MipButtonTextSpan");B.innerHTML=D;A.appendChild(B);return A};Mip.Util.Mip.ignoreEvent=function(A){if(!A){A=window.event}if(A.preventDefault){A.preventDefault();A.stopPropagation()}else{A.returnValue=false;A.cancelBubble=true}};Mip.Util.mouseLeft=function(A,D){var C=(A.relatedTarget)?A.relatedTarget:A.toElement;while(C!=D&&C!=null){try{C=C.parentNode}catch(B){C=null}}return(C!=D)};Mip.Util.Mip.isIEBrowser=function(){var E=navigator.appVersion.split("MSIE");var B=parseFloat(E[1]);var C=false;try{C=document.body.filters}catch(D){}var A=(C&&B>=5.5);return A};Mip.Util.Mip.getRequestString=function(B,F,E){if(E==null){E=true}var A=B;var D="";if(E==true){D=Mip.Util.getCryptedParameterString(F)}else{D=Mip.Util.getParameterString(F)}if(D!=""){var C=B.charAt(B.length-1);if((C=="&")||(C=="?")){A+=D}else{if(B.indexOf("?")==-1){A+="?"+D}else{A+="&"+D}}}return A};CustomPoi=Mip.Class.create();CustomPoi.PIXELS=5;CustomPoi.prototype={map:null,lonlat:null,bounds:null,popup:null,delay:750,effect:null,data:null,initialize:function(C,B){this.map=C;this.parseData(B);var A=CustomPoi.PIXELS*C.getResolution();this.bounds=new Mip.Bounds((this.lonlat.lon-A),(this.lonlat.lat-A),(this.lonlat.lon+A),(this.lonlat.lat+A))},parseData:function(A){this.lonlat=new Mip.LonLat(A.coordinates.x,A.coordinates.y);this.data=A},destroy:function(){this.bounds=null;this.poiArray=null;this.nodes=null},showPopup:function(){if(this.popup==null||(this.popup!=null&&this.popup.div==null)){this.popup=new Popup(null,this,this.lonlat,null,this.data,false);this.map.addPopup(this.popup)}if(!this.popup.isFixed){if(this.effect==null){this.effect=new Fx.Opacity(this.popup.div.id,Popup.OPACITY,{duration:this.delay})}else{this.effect.clearTimer()}this.effect.show()}},showFixPopup:function(){if((this.popup!=null&&this.popup.isFixed==false)){this.popup.destroy()}if(this.popup==null||(this.popup!=null&&this.popup.div==null)){this.effect=null;this.popup=new Popup(null,this,this.lonlat,null,this.data,true);this.map.addPopup(this.popup)}if(this.effect==null){this.effect=new Fx.Opacity(this.popup.div.id,Popup.OPACITY,{duration:this.delay})}else{this.effect.clearTimer()}this.effect.show(true)},hidePopup:function(){if(this.popup!=null&&this.popup.isFixed==false){if(this.effect==null){this.effect=new Fx.Opacity(this.popup.div.id,Popup.OPACITY,{duration:this.delay})}else{this.effect.clearTimer()}this.effect.hide()}},closePopup:function(){if(this.popup!=null&&this.popup.isFixed==true){if(this.effect==null){this.effect=new Fx.Opacity(this.popup.div.id,Popup.OPACITY,{duration:this.delay})}else{this.effect.clearTimer()}setTimeout(this.destroyPopup.bind(this),this.delay);this.effect.hide()}},destroyPopup:function(){if(this.popup!=null){this.popup.destroy();this.popup=null}this.effect=null},CLASS_NAME:"CustomPoi"};function setCookie(B,C){var A=new Date();A.setTime(A.getTime()+(365*24*3600*1000));document.cookie=B+"="+escape(C)+"; expires="+A.toGMTString()}function getCookieVal(B){var A=document.cookie.indexOf(";",B);if(A==-1){A=document.cookie.length}return unescape(document.cookie.substring(B,A))}function getCookie(D){var B=D+"=";var F=B.length;var A=document.cookie.length;var E=0;while(E<A){var C=E+F;if(document.cookie.substring(E,C)==B){return getCookieVal(C)}E=document.cookie.indexOf(" ",E)+1;if(E==0){break}}return null}QueryManager=Mip.Class.create();QueryManager.prototype={member:null,guid:null,query:null,initialize:function(){this.guid=getCookie("guid")},loadUrl:function(A,D,C,H,E,G){if(this.query==null){this.query=new Array()}if(E==null){E=true}var I=Mip.Util.extend({},D);var B=Mip.Util.createUniqueID("query_");if(E==true){I.mid=this.member;if(this.guid!=null){I.guid=this.guid}}I.output="json";I.callback="__manager.dispatchResponse";I.uniqueid=B;I.reqtime=new Date().getTime();var J=Mip.Util.Mip.getRequestString(A,I,G);var F=new Query(B,J,C,H);this.query.push(F);F.doRequest()},dispatchResponse:function(C,A){if(this.query!=null){for(var B=0;B<this.query.length;B++){if(this.query[B].id==C){this.query[B].sendResponse(A);Query.prototype.destroy.apply(this.query[B]);Mip.Util.removeItem(this.query,this.query[B]);break}}}},setMemberId:function(A){this.member=A},setGuid:function(A){if(A){if(this.guid==null){this.guid=A;setCookie("guid",this.guid)}else{var B=new RegExp("^id-","i");if(B.test(this.guid)==false){this.guid=A;setCookie("guid",this.guid)}}}},destroy:function(){if(this.query!=null){Mip.Util.clearArray(this.query);this.query=null}}};Query=Mip.Class.create();Query.prototype={id:null,url:null,caller:null,callback:null,request:null,initialize:function(D,B,A,C){this.id=D;this.url=B;this.caller=A;this.callback=C},doRequest:function(){this.request=new JSONScriptRequest(this.url,this.id)},sendResponse:function(A){this.callback.apply(this.caller,[A])},destroy:function(){if(this.request!=null){this.request.destroy();this.request=null}}};JSONScriptRequest=Mip.Class.create();JSONScriptRequest.prototype={src:null,scriptId:null,headLoc:null,scriptObj:null,initialize:function(A,B){this.src=A;this.scriptId="JscriptId_"+B;this.headLoc=document.getElementsByTagName("head").item(0);this.createScriptTag()},createScriptTag:function(){this.scriptObj=document.createElement("script");this.scriptObj.setAttribute("type","text/javascript");this.scriptObj.setAttribute("src",this.src);this.scriptObj.setAttribute("id",this.scriptId);this.headLoc.appendChild(this.scriptObj)},removeScriptTag:function(){if(this.scriptObj!=null&&this.headLoc!=null&&this.scriptObj.parentNode==this.headLoc){this.headLoc.removeChild(this.scriptObj)}},destroy:function(){this.removeScriptTag()}};var __manager=null;StatisticsManager=Mip.Class.create();StatisticsManager.prototype={map:null,drag:false,visit:true,initialize:function(){},insertHit:function(){var C={};C.referrer=Mip.Util.getReferrer();if(this.visit==true){C.visit="yes";this.visit=false}if(this.map!=null){var B=this.map.getSize();C.width=B.w;C.height=B.h;var A=this.map.baseLayer;if(this.map.baseLayer!=null){C.type=this.map.baseLayer.getLayerType()}}__manager.loadUrl(Configuration.Statistics.ServerUrl,C,this,this.blank)},blank:function(){},setMap:function(A){if(A){this.map=A;this.map.events.register("moveend",this,this.moveend);this.map.events.register("dragstart",this,this.dragstart);this.map.events.register("dragend",this,this.dragend);this.map.events.register("mouseout",this,this.mouseout)}},dragstart:function(A){this.drag=true},dragend:function(A){this.drag=false},moveend:function(A){this.insertHit()},mouseout:function(A){if(Mip.Util.mouseLeft(A,this.map.div)){if(this.drag==true){this.drag=false;this.insertHit()}}}};var __stat=new StatisticsManager();Polygon=Mip.Class.create();Polygon.prototype={points:null,initialize:function(){this.points=[]},addPoint:function(B,C){if(B&&B.CLASS_NAME){this.points.push(B)}else{if(B&&C){var A=new Mip.LonLat(parseFloat(B),parseFloat(C));this.points.push(A)}}},isPointIn:function(B){if(this.points&&this.points.length>0&&B){var D,C;var A=false;for(D=0,C=this.points.length-1;D<this.points.length;C=D++){if(((this.points[D].lat<=B.lat)&&(B.lat<this.points[C].lat))||((this.points[C].lat<=B.lat)&&(B.lat<this.points[D].lat))){var E=(this.points[C].lon-this.points[D].lon)*(B.lat-this.points[D].lat)/(this.points[C].lat-this.points[D].lat)+(this.points[D].lon);if(B.lon<E){A=!A}}}return A}},getExtent:function(){if(this.points&&this.points.length>0){var A=this.points[0];var C=new Mip.Bounds(A.lon,A.lat,A.lon,A.lat);for(var B=1;B<this.points.length;B++){A=this.points[B];if(A.lon<C.left){C.left=A.lon}if(A.lon>C.right){C.right=A.lon}if(A.lat<C.bottom){C.bottom=A.lat}if(A.lat>C.top){C.top=A.lat}}return C}else{return null}},getProjectedPolygon:function(){var B=new Polygon();for(var A=0;A<this.points.length;A++){var C=Mip.Projection["EPSG:54004"].forward(this.points[A].clone());B.addPoint(C)}return B}};Poi=Mip.Class.create();Poi.prototype={poigroup:null,coord:null,id:0,category:null,name:false,description:false,theme:null,style:null,feature:null,image:null,initialize:function(B,A){if(B){this.id=parseInt(B)}if(A){this.category=A}this.coord=new Mip.LonLat(parseFloat(0),parseFloat(0));this.name="";this.description=""},load:function(){if(this.poigroup.map.srid=="EPSG:4326"){this.coord=Mip.Projection["EPSG:54004"].forward(this.coord)}var A=new Mip.Feature.PoiLayer(this.poigroup.layer,this.getIcon(),this.getData(),true);this.feature=A},setName:function(A){this.name=A;if(this.feature&&this.feature.popup){this.feature.popup.setContentHTML(this.feature.processJson(this.getData()))}},setDescription:function(A){this.description=A;if(this.feature&&this.feature.popup){this.feature.popup.setContentHTML(this.feature.processJson(this.getData()))}},setCoordinates:function(A,B){this.coord.lon=parseFloat(A);this.coord.lat=parseFloat(B);if(this.feature&&this.feature.marker&&this.feature.lonlat){this.feature.layer.removeMarker(this.feature.marker);this.feature.destroyMarker();this.feature.lonlat=this.coord;this.feature.data.icon=this.getIcon();this.feature.createMarker();this.feature.registerEvents(true);this.feature.layer.addMarker(this.feature.marker);if(this.feature.popup){this.feature.popup.updatePosition(lonlat)}}},setTheme:function(C,B,A){if(this.theme==null){this.theme={}}if(C&&C!=""){if(C.indexOf("http://")!=-1){this.theme.url=C}else{this.theme.name=C;this.theme.url=Configuration.Mapping.ThemesUrl+"name="+C;if(B){this.theme.width=B;this.theme.height=B;this.theme.url+="&size="+B}}}if(B&&A){this.theme.width=B;this.theme.height=A}else{if(this.theme.url&&!this.theme.name){this.image=new Image();this.image.src=C;Mip.Event.observe(this.image,"load",this.imageLoaded.bindAsEventListener(this))}}if(this.feature&&this.feature.marker){this.feature.layer.removeMarker(this.feature.marker);this.feature.destroyMarker();this.feature.data.icon=this.getIcon();this.feature.createMarker();this.feature.registerEvents(true);this.feature.layer.addMarker(this.feature.marker)}},imageLoaded:function(){if(this.image!=null){this.theme.width=this.image.width;this.theme.height=this.image.height;this.image=null;this.setTheme(this.theme.url,this.theme.width,this.theme.height)}},setBorderColor:function(A){if(this.style==null){this.style={}}if(!this.style.border){this.style.border={}}this.style.border.color=A;if(this.feature&&this.feature.popup){this.feature.popup.setStyle(this.style)}},setTitleBackgroundColor:function(A){if(this.style==null){this.style={}}if(!this.style.title){this.style.title={}}this.style.title.bgcolor=A;if(this.feature&&this.feature.popup){this.feature.popup.setStyle(this.style)}},setTitleFontColor:function(A){if(this.style==null){this.style={}}if(!this.style.title){this.style.title={}}this.style.title.color=A;if(this.feature&&this.feature.popup){this.feature.popup.setStyle(this.style)}},setContentBackgroundColor:function(A){if(this.style==null){this.style={}}if(!this.style.content){this.style.content={}}this.style.content.bgcolor=A;if(this.feature&&this.feature.popup){this.feature.popup.setStyle(this.style)}},setContentFontColor:function(A){if(this.style==null){this.style={}}if(!this.style.content){this.style.content={}}this.style.content.color=A;if(this.feature&&this.feature.popup){this.feature.popup.setStyle(this.style)}},setWidth:function(B){if(this.style==null){this.style={}}this.style.width=parseInt(B);if(this.feature&&this.feature.popup){var A={};A.w=this.style.width;this.feature.popup.setSize(A)}},getData:function(){var A={};A.id=this.id;A.name=this.name;A.description=this.description;A.icon=this.icon;A.coord={};A.coord.x=this.coord.lon;A.coord.y=this.coord.lat;if(this.style!=null){A.style=this.style}return A},getIcon:function(){if(!this.theme){this.theme={};this.theme.name="default"}if(this.theme.url&&(!this.theme.width||!this.theme.height)){var C=new Image();C.src=this.theme.url;this.theme.width=C.width;this.theme.height=C.height;C=null}if(!this.theme.width&&!this.theme.height){this.theme.width=16;this.theme.height=16}var A=new Mip.Size(this.theme.width,this.theme.height);var D=new Mip.Pixel(-(A.w/2),-(A.h/2));var B=new Mip.MipIcon(this.theme.url,A,D);return B}};PoiGroup=Mip.Class.create();PoiGroup.prototype={map:null,category:"Default",poiList:null,layer:null,viewAll:false,showInControl:true,extent:null,initialize:function(A,B,C){if(A){this.category=A}if(B!=null){this.viewAll=B}if(C!=null){this.showInControl=C}this.poiList=[]},setCategory:function(A){if(A){this.category=A;if(this.layer){this.layer.setName(this.category)}}},addPoi:function(A){if(A&&this.poiList){if(A.coord.lon&&A.coord.lat){if(this.extent==null){this.extent=new Mip.Bounds(A.coord.lon,A.coord.lat,A.coord.lon,A.coord.lat)}else{if(A.coord.lon<this.extent.left){this.extent.left=A.coord.lon}if(A.coord.lon>this.extent.right){this.extent.right=A.coord.lon}if(A.coord.lat<this.extent.bottom){this.extent.bottom=A.coord.lat}if(A.coord.lat>this.extent.top){this.extent.top=A.coord.lat}}}A.poigroup=this;this.poiList.push(A);if(Map.STATE==Mapping_State.READY){A.load()}}},removePoi:function(A){if(A&&this.poiList){Mip.Util.removeItem(this.poiList,A);if(A.feature){A.feature.destroy()}}},loadPoiList:function(){if(this.poiList&&this.poiList.length>0){var B=this.poiList.length;for(var A=0;A<B;A++){this.poiList[A].load()}}},zoomToMaxExtent:function(){if(this.map&&this.map.map){this.map.map.zoomToExtent(this.extent)}},load:function(){if(this.map.poiLayerList){var B=null;var C=this.map.poiLayerList.length;for(var A=0;A<C;A++){if(this.map.poiLayerList[A].name==this.category){B=this.map.poiLayerList[A];break}}if(B==null){B=new Mip.Layer.ClientPoiLayer(this.category,Configuration.Mapping.Options.DataLayer,this.showInControl);this.map.poiLayerList.push(B);this.map.map.addLayer(B)}this.layer=B;this.loadPoiList()}},computeViewAllExtent:function(A){if(A==null){A=this.extent.clone()}else{if(this.extent.left<A.left){A.left=this.extent.left}if(this.extent.right>A.right){A.right=this.extent.right}if(this.extent.bottom<A.bottom){A.bottom=this.extent.bottom}if(this.extent.top>A.top){A.top=this.extent.top}}return A}};Popup=Mip.Class.create();Popup.WIDTH=170;Popup.HEIGHT=15;Popup.OPACITY=1;Popup.ZINDEX="900";Popup.prototype={events:null,id:"",lonlat:null,div:null,size:null,content:null,opacity:"",border:"",contentDiv:null,padding:2,isFixed:false,table:null,titleCell:null,contentCell:null,closeCell:null,feature:null,relativePosition:null,anchor:null,map:null,initialize:function(G,B,E,A,D,F){if(G==null){G=Mip.Util.createUniqueID(this.CLASS_NAME+"_")}this.anchor=(B.icon!=null)?B.icon:{size:new Mip.Size(0,0),offset:new Mip.Pixel(0,0)};this.id=G;this.feature=B;this.isFixed=F;this.lonlat=E.clone();this.size=(A!=null)?A:new Mip.Size(Popup.WIDTH,Popup.HEIGHT);if(D!=null){this.content=D;if(this.content.style&&this.content.style.width){this.size.w=this.content.style.width}}this.opacity=Popup.OPACITY;this.border=Popup.BORDER;this.div=Mip.Util.createDiv(this.id,null,null,null,null,null,"hidden");this.div.className="olPopup";this.table=this.createTable();this.div.appendChild(this.table);if(F==true&&this.closeCell){var C=document.createElement("img");C.src=Mip.Util.getImagesLocation()+"close.gif";C.style.paddingTop="2px";C.style.paddingRight="2px";this.closeCell.appendChild(C);this.closeCell.vAlign="top";Mip.Event.observe(this.closeCell,"click",this.feature.closePopup.bindAsEventListener(this.feature));Mip.Event.observe(this.closeCell,"mouseover",this.mouseOver.bindAsEventListener(this.closeCell));Mip.Event.observe(this.closeCell,"mouseout",this.mouseOut.bindAsEventListener(this.closeCell))}this.registerEvents()},destroy:function(){if(this.map!=null){this.map.removePopup(this)}this.div=null;this.map=null},mouseOver:function(A){this.style.cursor="pointer"},mouseOut:function(A){this.style.cursor="default"},draw:function(A){if(A==null){if((this.lonlat!=null)&&(this.map!=null)){A=this.map.getLayerPxFromLonLat(this.lonlat)}}this.relativePosition=this.calculateRelativePosition(A);this.setSize();this.setStyle();this.setOpacity();this.setContentHTML();this.div.className="olPopup";this.div.style.visibility="hidden";this.moveTo(A);return this.div},calculateRelativePosition:function(B){var D=this.map.getLonLatFromLayerPx(B);var C=this.map.getExtent();var A=C.determineQuadrant(D);return Mip.Bounds.oppositeQuadrant(A)},updatePosition:function(B){if((this.lonlat)&&(this.map)){var A=this.map.getLayerPxFromLonLat(this.lonlat);this.relativePosition=this.calculateRelativePosition(A);this.computePopupSize();this.moveTo(A)}},moveTo:function(A){if((A!=null)&&(this.div!=null)){var B=this.calculateNewPx(A);this.div.style.left=B.x+"px";this.div.style.top=B.y+"px"}},calculateNewPx:function(A){var D=A.offset(this.anchor.offset);var C=(this.relativePosition.charAt(0)=="t");D.y+=(C)?-this.size.h:this.anchor.size.h;var B=(this.relativePosition.charAt(1)=="l");D.x+=(B)?-this.size.w:this.anchor.size.w;return D},visible:function(){return Mip.Element.visible(this.div)},toggle:function(){Mip.Element.toggle(this.div)},show:function(){Mip.Element.show(this.div)},hide:function(){Mip.Element.hide(this.div)},setSize:function(A){if(!A){A=this.size.w}if(this.div!=null){this.div.style.width=A+"px";this.div.style.height="auto";this.table.style.width=A+"px"}},setOpacity:function(A){if(A!=undefined){this.opacity=A}if(this.div!=null){this.div.style.opacity=this.opacity;this.div.style.filter="alpha(opacity="+this.opacity*100+")"}},setContentHTML:function(A){if(A!=null){this.content=A}if(this.table!=null){if(this.content.title&&this.titleCell){this.titleCell.innerHTML=this.content.title}if(this.content.text&&this.contentCell){this.contentCell.innerHTML=this.content.text}}},setStyle:function(A){if(A){this.content.style=A}if(this.content&&this.content.style){if(this.content.style.border){if(this.div){this.div.style.borderColor=this.content.style.border.color}if(this.contentCell){this.contentCell.style.borderTop="1px solid "+this.content.style.border.color}}if(this.content.style.title){if(this.content.style.title.color){if(this.titleCell){this.titleCell.style.color=this.content.style.title.color}}if(this.content.style.title.bgcolor){if(this.titleCell){this.titleCell.style.backgroundColor=this.content.style.title.bgcolor}if(this.closeCell){this.closeCell.style.backgroundColor=this.content.style.title.bgcolor}}}if(this.content.style.content&&this.contentCell){if(this.content.style.content.color){this.contentCell.style.color=this.content.style.content.color}if(this.content.style.content.bgcolor){this.contentCell.style.backgroundColor=this.content.style.content.bgcolor}}}},createTable:function(){var A=null,B=null;A=document.createElement("table");A.className="olPopupTable";B=A.insertRow(0);this.titleCell=B.insertCell(0);this.titleCell.className="olPopupTitle";this.titleCell.style.height="15px";if(this.isFixed){this.closeCell=B.insertCell(1);this.closeCell.className="olPopupTitle";this.closeCell.style.textAlign="right"}if(this.content.text){B=A.insertRow(1);this.contentCell=B.insertCell(0);this.contentCell.className="olPopupContent";if(this.isFixed){this.contentCell.colSpan=2}}return A},computePopupSize:function(){var B=this.div;if(B){var C=null;var A=null;if(B.clientWidth){C=B.clientWidth}else{if(B.offsetWidth){C=B.offsetWidth}}if(B.clientHeight){A=B.clientHeight}else{if(B.offsetHeight){A=B.offsetHeight}}if("number"==typeof C&&C!=this.size.w){this.size.w=C}if("number"==typeof A&&A!=this.size.h){this.size.h=A}}},registerEvents:function(){this.events=new Mip.Events(this,this.div,null,true);this.events.register("mousedown",this,this.onmousedown);this.events.register("mousemove",this,this.onmousemove);this.events.register("mouseup",this,this.onmouseup);this.events.register("click",this,this.onmouseclick);this.events.register("mouseout",this,this.onmouseout);this.events.register("dblclick",this,this.onmousedblclick)},onmouseclick:function(A){Mip.Util.safeStopPropagation(A)},onmousedblclick:function(A){Mip.Util.safeStopPropagation(A)},onmousedown:function(A){this.mousedown=true;Mip.Util.safeStopPropagation(A)},onmousemove:function(A){if(this.mousedown){Mip.Util.safeStopPropagation(A)}},onmouseup:function(A){if(this.mousedown){this.mousedown=false;Mip.Util.safeStopPropagation(A)}},onmouseout:function(A){this.mousedown=false},CLASS_NAME:"Popup"};NavigationTools=Mip.Class.create();NavigationTools.prototype={map:null,controlsState:false,navigation_enabled:true,wheelEvent:true,wheelEventCustomer:true,initialize:function(C){this.map=C;if(this.map&&this.map.viewPortDiv){Mip.Control.Position={};var B=document.createElement("div");B.style.position="absolute";B.style.top="0px";B.style.left="0px";B.style.zIndex=this.map.Z_INDEX_BASE["Control"];Mip.Control.Position.TopLeft=B;this.map.viewPortDiv.appendChild(B);var E=document.createElement("div");E.style.position="absolute";E.style.top="0px";E.style.right="0px";E.style.zIndex=this.map.Z_INDEX_BASE["Control"]+1;Mip.Control.Position.TopRight=E;this.map.viewPortDiv.appendChild(E);var A=document.createElement("div");A.style.position="absolute";A.style.bottom="0px";A.style.left="0px";A.style.zIndex=this.map.Z_INDEX_BASE["Control"]+2;Mip.Control.Position.BottomLeft=A;this.map.viewPortDiv.appendChild(A);var D=document.createElement("div");D.style.position="absolute";D.style.bottom="0px";D.style.right="0px";D.style.zIndex=this.map.Z_INDEX_BASE["Control"]+3;Mip.Control.Position.BottomRight=D;this.map.viewPortDiv.appendChild(D)}},destroy:function(){this.map=null},init:function(controls,staticMap){if(!staticMap){staticMap=false}if(controls){for(var i=0;i<controls.length;i++){var control=null;eval("control = new Mip.Control."+controls[i]+"();");control.staticMap=staticMap;this.map.addControl(control);if(this.navigation_enabled==false){control.disable()}}}},enable:function(){if(this.navigation_enabled==false){this.navigation_enabled=true;if(this.map&&this.map.controls!=null){for(var A=0;A<this.map.controls.length;A++){this.map.controls[A].enable()}}}},disable:function(){if(this.navigation_enabled==true){this.navigation_enabled=false;if(this.map&&this.map.controls!=null){for(var A=0;A<this.map.controls.length;A++){this.map.controls[A].disable()}}}},setWheelEvent:function(A){this.wheelEvent=A;this.wheelEventCustomer=A}};Target=Mip.Class.create();Target.prototype={map:null,localization:null,marker:null,initialize:function(A,B){if(A&&B){this.localization=new Mip.LonLat(A,B)}},destroy:function(){if(this.marker){if(this.map&&this.map.targetLayer){this.map.targetLayer.removeMarker(this.marker)}this.marker.destroy()}this.marker=null;this.map=null},setMap:function(A){if(A){this.map=A;if(this.map.srid=="EPSG:4326"){this.localization=Mip.Projection["EPSG:54004"].forward(this.localization)}}},draw:function(){if(this.map&&this.map.targetLayer){this.marker=new Mip.Marker(this.localization.clone(),this.getIcon());this.map.targetLayer.addMarker(this.marker)}},getIcon:function(){var A=new Mip.Size(Configuration.Mapping.Target.Size.Width,Configuration.Mapping.Target.Size.Height);var C=new Mip.Pixel(-(A.w/2),-(A.h/2));var B=new Mip.MipIcon(Configuration.Mapping.Target.Url,A,C);return B}};TreeNode=Mip.Class.create();TreeNode.LEVELS=5;TreeNode.prototype={level:null,bounds:null,subnodes:null,poiArray:null,initialize:function(A,B){this.bounds=A;if(B){this.level=B}else{this.level=0}this.createSubNodes()},createSubNodes:function(){if(this.level<(TreeNode.LEVELS-1)){this.subnodes=[];var A=this.bounds.getCenterLonLat();var B=new TreeNode(new Mip.Bounds(this.bounds.left,A.lat,A.lon,this.bounds.top),this.level+1);this.subnodes[0]=B;var B=new TreeNode(new Mip.Bounds(A.lon,A.lat,this.bounds.right,this.bounds.top),this.level+1);this.subnodes[1]=B;var B=new TreeNode(new Mip.Bounds(this.bounds.left,this.bounds.bottom,A.lon,A.lat),this.level+1);this.subnodes[2]=B;var B=new TreeNode(new Mip.Bounds(A.lon,this.bounds.bottom,this.bounds.right,A.lat),this.level+1);this.subnodes[3]=B}},destroy:function(){this.bounds=null;this.poiArray=null;for(var A=0;A<this.subnodes.length;A++){this.subnodes[A].destroy()}},getNode:function(B){if(B&&this.bounds&&this.subnodes){var A=this.bounds.determineQuadrant(B);switch(A){case"tl":return this.subnodes[0];break;case"tr":return this.subnodes[1];break;case"bl":return this.subnodes[2];break;case"br":return this.subnodes[3];break}}},addPoi:function(A){if(this.bounds.containsLonLat(A.lonlat)){if(this.poiArray==null){this.poiArray=[]}this.poiArray.push(A)}},getPoi:function(B){if(this.poiArray!=null){for(var A=0;A<this.poiArray.length;A++){var C=this.poiArray[A];if(C.bounds.containsLonLat(B,true)){return C}}return null}else{return null}},CLASS_NAME:"TreeNode"};Mip.MipIcon=Mip.Class.create();Mip.MipIcon.prototype={url:null,size:null,offset:null,calculateOffset:null,imageDiv:null,px:null,initialize:function(A,B,D,C){this.url=A;this.size=(B)?B:new Mip.Size(20,20);this.offset=D;this.calculateOffset=(C)?C:function(E){return new Mip.Pixel(-(E.w/2),-(E.h/2))};this.imageDiv=Mip.Util.createImage()},destroy:function(){this.imageDiv=null},clone:function(){return new Mip.MipIcon(this.url,this.size,this.offset,this.calculateOffset)},setSize:function(A){if(A!=null){this.size=A}this.draw()},draw:function(A){this.imageDiv.src=this.url;Mip.Util.modifyDOMElement(this.imageDiv,null,null,this.size,"absolute");this.moveTo(A);return this.imageDiv},setOpacity:function(A){Mip.Util.modifyDOMElement(this.imageDiv,null,null,null,null,null,null,A)},moveTo:function(A){if(A!=null){this.px=A}if(this.imageDiv!=null){if(this.px==null){this.display(false)}else{if(this.calculateOffset){this.offset=this.calculateOffset(this.size)}var B=this.px.offset(this.offset);Mip.Util.modifyDOMElement(this.imageDiv,null,B);this.display(true)}}},display:function(A){this.imageDiv.style.display=(A)?"":"none"},CLASS_NAME:"Mip.MipIcon"};Address=Mip.Class.create();Address.prototype={EVENT_TYPES:["coord_loaded"],isAddress:true,country:null,zip:null,locality:null,street:null,number:null,lonlat:null,events:null,initialize:function(D,B,A,E,C){this.lonlat=null;if(D){this.country=D}if(B){this.zip=B}if(A){this.locality=A}if(E){this.street=E}if(C){this.number=C}this.events=new Mip.Events(this,null,this.EVENT_TYPES);this.load()},load:function(){var A={};A.command="geocoding";if(this.number!=null){A.number=this.number}if(this.street!=null){A.street=this.street}if(this.zip!=null){A.zip=this.zip}if(this.locality!=null){A.locality=this.locality}if(this.country!=null){A.country=this.country}__manager.loadUrl(Configuration.Geocoding.ServerUrl,A,this,this.parseResponse)},setCoordinates:function(A,B){if(this.lonlat==null){this.lonlat=new Mip.LonLat(A,B)}else{this.lonlat.lon=parseFloat(A);this.lonlat.lat=parseFloat(B)}},parseResponse:function(A){if(A&&A.mapping){if(A.mapping.error){alert(A.mapping.error.value)}else{if(A.mapping.geocodingresult&&A.mapping.geocodingresult.addresses&&A.mapping.geocodingresult.addresses.length>0){var B=A.mapping.geocodingresult.addresses[0];if(B.localization){this.setCoordinates(B.localization.x,B.localization.y);this.events.triggerEvent("coord_loaded")}}}}}};Mip.Projection={rad2deg:180/Math.PI,deg2rad:Math.PI/180,halfPi:Math.PI/2,rMajor:6378137,rMinor:6356752.31424518,eccent:Math.sqrt(1-Math.pow(6356752.31424518/6378137,2))};Mip.Projection["EPSG:54004"]={forward:function(E){var A=E.lon;var F=E.lat;if(F<=90&&F>=-90&&A<=180&&A>=-180){F*=Mip.Projection.deg2rad;A*=Mip.Projection.deg2rad;F=Math.min(Mip.Projection.halfPi-1e-9,F);F=Math.max(-Mip.Projection.halfPi+1e-9,F)}else{alert("Invalid coordinates");return null}F=Math.min(Mip.Projection.halfPi-1e-9,F);F=Math.max(-Mip.Projection.halfPi+1e-9,F);var B=Mip.Projection.eccent*Math.sin(F);var C=0.5*Mip.Projection.eccent;B=Math.pow(((1-B)/(1+B)),C);var D=(Math.tan(0.5*(Mip.Projection.halfPi-F))/B);var A=Mip.Projection.rMajor*A;var F=-Mip.Projection.rMajor*Math.log(D);E.lon=A;E.lat=F;return E},inverse:function(D){var K=Mip.Projection.rMinor/Mip.Projection.rMajor;var H=Math.exp(-D.lat/Mip.Projection.rMajor);var I=null;var F=0.5*Mip.Projection.eccent;var A,E;var G=Mip.Projection.halfPi-2*Math.atan(H);for(var C=0;C<=15;C++){A=Mip.Projection.eccent*Math.sin(G);E=Mip.Projection.halfPi-2*Math.atan(H*(Math.pow(((1-A)/(1+A)),F)))-G;G+=E;if(Math.abs(E)<=1e-10){I=G;break}}if(I==null){throw"Convergence error - phi2z"}var J=D.lon/Mip.Projection.rMajor;if(Math.abs(J)>=Math.PI){var B=(J<0)?-1:1;J=J-(B*2*Math.PI)}J*=Mip.Projection.rad2deg;I*=Mip.Projection.rad2deg;D.lon=J;D.lat=I;return D}};Mip.Feature.PoiLayer=Mip.Class.create();Mip.Feature.PoiLayer.prototype=Mip.Class.inherit(Mip.Feature,{icon:null,popup:null,delay:750,effect:null,initialize:function(C,E,A,D){this.icon=E;var F=this.processJson(A);var B=[C,F.lonlat,F];Mip.Feature.prototype.initialize.apply(this,B);this.createMarker();this.marker.feature=this;this.layer.addMarker(this.marker);this.marker.icon.imageDiv.style.border="0px";if((F.title&&F.title!="")||(F.text&&F.text!="")){this.registerEvents(D)}},destroy:function(){if(this.marker!=null){this.layer.removeMarker(this.marker)}Mip.Feature.prototype.destroy.apply(this,arguments)},processJson:function(A){var B={};B.id=A.id;B.title=A.name;B.text=A.description;B.icon=this.icon;B.lonlat=new Mip.LonLat(parseFloat(A.coord.x),parseFloat(A.coord.y));if(A.style){B.style=A.style}return B},registerEvents:function(A){if((this.data.title&&this.data.title!="")||(this.data.text&&this.data.text!="")){this.marker.events.register("mouseover",this,this.showPopup);this.marker.events.register("mouseout",this,this.hidePopup);if(A){this.marker.events.register("click",this,this.showFixPopup)}}},showPopup:function(A){this.marker.icon.imageDiv.style.cursor="pointer";if(this.popup==null||(this.popup!=null&&this.popup.div==null)){this.popup=new Popup(null,this,this.marker.lonlat,null,this.data,false);this.layer.map.addPopup(this.popup)}if(!this.popup.isFixed){this.popup.updatePosition();if(this.effect==null){this.effect=new Fx.Opacity(this.popup.div.id,Popup.OPACITY,{duration:this.delay})}else{this.effect.clearTimer()}this.effect.show()}Event.stop(A)},showFixPopup:function(A){if((this.popup!=null&&this.popup.isFixed==false)){this.popup.destroy()}if(this.popup==null||(this.popup!=null&&this.popup.div==null)){this.effect=null;this.popup=new Popup(null,this,this.marker.lonlat,null,this.data,true);this.layer.map.addPopup(this.popup);this.popup.updatePosition()}if(this.effect==null){this.effect=new Fx.Opacity(this.popup.div.id,Popup.OPACITY,{duration:this.delay})}else{this.effect.clearTimer()}this.effect.show(true);Event.stop(A)},hidePopup:function(A){this.marker.icon.imageDiv.style.cursor="pointer";if(this.popup!=null&&this.popup.isFixed==false){if(this.effect==null){this.effect=new Fx.Opacity(this.popup.div.id,Popup.OPACITY,{duration:this.delay})}else{this.effect.clearTimer()}this.effect.hide()}Event.stop(A)},closePopup:function(A){if(this.popup!=null&&this.popup.isFixed==true){if(this.effect==null){this.effect=new Fx.Opacity(this.popup.div.id,Popup.OPACITY,{duration:this.delay})}else{this.effect.clearTimer()}setTimeout(this.destroyPopup.bind(this),this.delay);this.effect.hide()}Event.stop(A)},destroyPopup:function(){if(this.popup!=null){this.popup.destroy();this.popup=null}this.effect=null},CLASS_NAME:"Mip.Feature.PoiLayer"});Mip.Layer.MipLayer=Mip.Class.create();Mip.Layer.MipLayer.prototype=Mip.Class.inherit(Mip.Layer.Grid,{DEFAULT_PARAMS:{coordtype:"54004",command:"image"},reproject:false,buffer:0,isBaseLayer:true,member:null,groupName:null,initialize:function(A,E,D,G,C,F){this.member=A;this.groupName=E;var B=[];G=Mip.Util.upperCaseObject(G);B.push(E,D,G,C);Mip.Layer.Grid.prototype.initialize.apply(this,B);Mip.Util.applyDefaults(this.params,Mip.Util.upperCaseObject(this.DEFAULT_PARAMS));if(C==null||C.isBaseLayer==null){this.isBaseLayer=((this.params.TRANSPARENT!="true")&&(this.params.TRANSPARENT!=true))}if(F==true){this.displayInLayerSwitcher=false}},destroy:function(){Mip.Layer.Grid.prototype.destroy.apply(this,arguments)},clone:function(A){if(A==null){A=new Mip.Layer.MipLayer(this.member,this.name,this.url,this.params,this.options,!this.displayInLayerSwitcher)}A=Mip.Layer.Grid.prototype.clone.apply(this,[A]);return A},getURL:function(A){return this.getFullRequestString({BBOX:A.toBBOX(),WIDTH:this.imageSize.w,HEIGHT:this.imageSize.h,MID:this.member})},addTile:function(C,A){var B=this.getURL(C);return new Mip.Tile.Image(this,A,C,B,this.tileSize)},mergeNewParams:function(C){var B=Mip.Util.upperCaseObject(C);var A=[B];Mip.Layer.Grid.prototype.mergeNewParams.apply(this,A)},getFullRequestString:function(D){var C=Mip.Util.extend({},this.params);var C=Mip.Util.extend(C,D);if(this.map&&this.map.mapping&&this.map.mapping.grayscale==true){C.filter="grayscale"}var B=this.url;if(B instanceof Array){B=this.selectUrl(Mip.Util.getCryptedParameterString(C),B)}var A=Mip.Util.Mip.getRequestString(B,C,true);return A},getLayerType:function(){return this.params.COMMAND},getCopyright:function(){var A=this.getLayerType();if(A!=null){switch(A){case"image":return"<span style='color : black'>&copy; 2007 Market-IP - TeleAtlas</span>";break;case"photo":return"<span style='color : white'>&copy; 2007 Market-IP - IGN/NGI</span>";break;case"mixte":return"<span style='color : white'>&copy; 2007 Market-IP - TeleAtlas - IGN/NGI</span>";break}}else{return"&copy; 2007 Market-IP"}},setResolutions:function(A){var B={};B.resolutions=A;this.addOptions(B);this.initResolutions()},CLASS_NAME:"Mip.Layer.MipLayer"});CustomLayer=Mip.Class.create();CustomLayer.prototype=Mip.Class.inherit(Mip.Layer,{isBaseLayer:false,imageUrl:null,dataUrl:null,tile:null,tree:null,dragging:false,activePoiList:null,parameters:null,bboxMode:"separate",initialize:function(C,B,D){if(B){this.imageUrl=B}if(D){this.dataUrl=D}this.activePoiList=[];var A=Configuration.Mapping.Options.DataLayer;Mip.Layer.prototype.initialize.apply(this,[C,A]);this.dragging=false},destroy:function(){this.tile.destroy();this.tile=null;this.map.events.unregister("mousedown",this,this.mouseDown);this.map.events.unregister("mouseup",this,this.mouseUp);this.map.events.unregister("mousemove",this,this.mouseMove);this.map.events.unregister("mouseout",this,this.mouseOut);Mip.Layer.prototype.destroy.apply(this,arguments)},setMap:function(A){Mip.Layer.prototype.setMap.apply(this,arguments);this.setTileSize(this.map.getSize());this.map.events.register("mousedown",this,this.mouseDown);this.map.events.register("mouseup",this,this.mouseUp);this.map.events.register("mousemove",this,this.mouseMove);this.map.events.register("mouseout",this,this.mouseOut)},moveTo:function(A,B,I){Mip.Layer.prototype.moveTo.apply(this,arguments);if(A==null){A=this.map.getExtent()}var H=(this.tile==null);var D=(!H&&!this.tile.bounds.containsBounds(A));if(B||H||(!I&&D)){if(this.tile){this.tile.clear()}var C=this.getURL(A);var J=this.map.getSize().clone();var F=A.clone();var E=new Mip.LonLat(F.left,F.top);var G=this.map.getLayerPxFromLonLat(E);if(this.tile&&!this.tile.size.equals(J)){this.tile.destroy();this.tile=null}if(!this.tile){this.tile=new Mip.Tile.Image(this,G.clone(),F,C,J);this.tile.draw()}else{this.tile.moveTo(F,G)}if(this.tile&&this.tile.imgDiv){if(this.dataUrl!=null){this.tree=new TreeNode(A);this.requestData(F)}}else{this.visibility=false}}},refresh:function(){if(this.tile!=null){var C=this.map.getExtent();var B=new Mip.LonLat(C.left,C.top);var A=this.map.getLayerPxFromLonLat(B);this.tile.moveTo(C,A,true);if(this.dataUrl!=null){this.tree=new TreeNode(C);this.requestData(C)}}},getURL:function(B){var A=Mip.Util.Mip.getRequestString(this.imageUrl,this.getParameters(B),false);return A},getParameters:function(A){var B=null;if(this.parameters!=null){B=this.parameters}else{B={}}if(this.bboxMode=="separate"){B.top=A.top;B.left=A.left;B.right=A.right;B.bottom=A.bottom}else{B.bbox=A.toBBOX()}B.rt=new Date().getTime();B.width=this.map.getSize().w;B.height=this.map.getSize().h;return B},getTreeNode:function(C,B){if(!B){B=this.tree}if(B&&C){if(B.subnodes){var A=B.getNode(C);return this.getTreeNode(C,A)}else{return B}}},requestData:function(A){if(this.dataUrl!=null){__manager.loadUrl(this.dataUrl,this.getParameters(A),this,this.loadData,false,false)}},loadData:function(A){if(A&&A.mapping&&A.mapping.poilist){var E=A.mapping.poilist;for(var C=0;C<E.length;C++){var B=new CustomPoi(this.map,E[C]);var D=this.getTreeNode(B.lonlat);D.addPoi(B)}}},mouseDown:function(A){this.dragging=true},mouseUp:function(A){this.dragging=false},mouseMove:function(B){if(this.map&&this.visibility==true&&this.dragging==false){var E=this.map.getLonLatFromPixel(B.xy);var F=[];for(var C=0;C<this.activePoiList.length;C++){if(!this.activePoiList[C].bounds.containsLonLat(E,true)){this.activePoiList[C].hidePopup();F.push(this.activePoiList[C])}}for(var C=0;C<F.length;C++){Mip.Util.removeItem(this.activePoiList,F[C])}var D=this.getTreeNode(E);if(D){var H=D.getPoi(E);if(H!=null){var A=false;for(var C=0;C<this.activePoiList.length;C++){if(this.activePoiList[C]==H){A=true;break}}if(A==false){H.showPopup();this.activePoiList.push(H)}}}var G=null;if(this.activePoiList.length>0){G="pointer"}else{G="grab";if(Mip.Util.Mip.isIEBrowser()){G="url('"+Mip.Util.getImagesLocation()+"grab.cur')"}else{G="-moz-grab"}}if(G!=null&&this.map.div.style.cursor!=G){this.map.div.style.cursor=G}}},mouseOut:function(A){if(Mip.Util.mouseLeft(A,this.map.div)&&this.dragging==true){if(this.tile){this.tile.destroy();this.tile=null}this.moveTo(null,false,false)}this.dragging=false},setImageUrl:function(A){if(A){this.imageUrl=A}},setDataUrl:function(A){if(A){this.dataUrl=A}},addParameter:function(A,B){if(this.parameters==null){this.parameters=[]}this.parameters[A]=escape(B)},removeParameter:function(A){if(this.parameters!=null){Mip.Util.removeItem(this.parameters,this.parameters[A])}},setResolutions:function(A){},CLASS_NAME:"CustomLayer"});RouteLayer=Mip.Class.create();RouteLayer.prototype=Mip.Class.inherit(CustomLayer,{routeid:null,displayInLayerSwitcher:false,bboxMode:"bbox",opacity:0.5,zIndex:300,initialize:function(C){var B=Mip.Util.createUniqueID("RouteLayer_");var A=Configuration.Routing.ServerUrl;CustomLayer.prototype.initialize.apply(this,[B,A]);this.addParameter("command","image");this.addParameter("coordtype","54004");this.addParameter("routeid",C);this.setZIndex()},setZIndex:function(){this.div.style.zIndex=this.zIndex},setMap:function(A){CustomLayer.prototype.setMap.apply(this,arguments);if(this.map&&this.map.mapping){this.addParameter("mid",this.map.mapping.member)}},setStyle:function(D,E,B,A){this.removeParameter("size");this.removeParameter("linestyle");this.removeParameter("linecolor");this.removeParameter("innercolor");if(D&&D!=""){this.addParameter("size",D)}if(E&&E!=""){this.addParameter("linestyle",E)}if(B&&B!=""){this.addParameter("linecolor",B)}if(A&&A!=""){this.addParameter("innercolor",A)}if(this.tile&&this.tile.imgDiv){var C=this.getURL(this.tile.bounds);this.tile.url=C;this.tile.imgDiv.src=C}},clone:function(A){if(A==null){A=new RouteLayer(this.name,this.url)}A=CustomLayer.prototype.clone.apply(this,[A]);return A},CLASS_NAME:"RouteLayer"});Mip.Layer.ClientPoiLayer=Mip.Class.create();Mip.Layer.ClientPoiLayer.prototype=Mip.Class.inherit(Mip.Layer,{isBaseLayer:false,markers:null,initialize:function(C,B,A){Mip.Layer.prototype.initialize.apply(this,arguments);this.markers=[];if(A!=null){this.displayInLayerSwitcher=A}},destroy:function(){this.clearMarkers();markers=null;Mip.Layer.prototype.destroy.apply(this,arguments)},moveTo:function(B,A,C){Mip.Layer.prototype.moveTo.apply(this,arguments);if(A){this.redraw()}},addMarker:function(A){this.markers.push(A);if(this.map&&this.map.getExtent()){A.map=this.map;this.drawMarker(A)}},removeMarker:function(A){Mip.Util.removeItem(this.markers,A);if((A.icon!=null)&&(A.icon.imageDiv!=null)&&(A.icon.imageDiv.parentNode==this.div)){this.div.removeChild(A.icon.imageDiv)}},clearMarkers:function(){if(this.markers!=null){while(this.markers.length>0){this.removeMarker(this.markers[0])}}},redraw:function(){for(i=0;i<this.markers.length;i++){this.drawMarker(this.markers[i])}},drawMarker:function(A){var B=this.map.getLayerPxFromLonLat(A.lonlat);if(B==null){A.display(false)}else{var C=A.draw(B);if(!A.drawn){this.div.appendChild(C);A.drawn=true}}},setVisibility:function(B,D){Mip.Layer.prototype.setVisibility.apply(this,arguments);if(B==false){var E=this.markers.length;for(var C=0;C<E;C++){var A=this.markers[C];if(A.feature&&A.feature.popup&&A.feature.popup.isFixed){A.feature.destroyPopup()}}}},CLASS_NAME:"Mip.Layer.ClientPoiLayer"});Mip.Layer.Static=Mip.Class.create();Mip.Layer.Static.prototype=Mip.Class.inherit(Mip.Layer.HTTPRequest,{DEFAULT_PARAMS:{"coordtype":"54004","command":"image","cache":"static"},isBaseLayer:true,tile:null,member:null,url:null,initialize:function(A,D,C,E,B){this.member=A;this.url=C;E=Mip.Util.upperCaseObject(E);Mip.Layer.HTTPRequest.prototype.initialize.apply(this,[D,C,E,B]);Mip.Util.applyDefaults(this.params,Mip.Util.upperCaseObject(this.DEFAULT_PARAMS))},destroy:function(){this.tile.destroy();this.tile=null;Mip.Layer.HTTPRequest.prototype.destroy.apply(this,arguments)},clone:function(A){if(A==null){A=new Mip.Layer.Static(this.member,this.name,this.url,this.params,this.options)}A=Mip.Layer.HTTPRequest.prototype.clone.apply(this,[A]);return A},moveTo:function(F,A,G){if(this.tile!=null){this.tile.destroy();this.tile=null}if(this.tile==null&&this.map!=null){Mip.Layer.HTTPRequest.prototype.moveTo.apply(this,arguments);var E=this.map.getExtent().clone();var D=this.map.getSize().clone();this.setTileSize(D);var C=new Mip.LonLat(E.left,E.top);var B=this.map.getLayerPxFromLonLat(C);this.tile=new Mip.Tile.Image(this,B,E,this.url,this.tileSize);this.tile.draw()}},getURL:function(A){return this.getFullRequestString({BBOX:A.toBBOX(),WIDTH:this.imageSize.w,HEIGHT:this.imageSize.h,MID:this.member})},getFullRequestString:function(D){var C=Mip.Util.extend({},this.params);var C=Mip.Util.extend(C,D);if(this.map&&this.map.mapping&&this.map.mapping.grayscale==true){C.filter="grayscale"}var B=this.url;if(B instanceof Array){B=this.selectUrl(Mip.Util.getCryptedParameterString(C),B)}var A=Mip.Util.Mip.getRequestString(B,C,true);return A},getLayerType:function(){return this.params.COMMAND},getCopyright:function(){var A=this.getLayerType();if(A!=null){switch(A){case"image":return"<span style='color : black'>&copy; 2007 Market-IP - TeleAtlas</span>";break;case"photo":return"<span style='color : white'>&copy; 2007 Market-IP - IGN/NGI</span>";break;case"mixte":return"<span style='color : white'>&copy; 2007 Market-IP - TeleAtlas - IGN/NGI</span>";break}}else{return"&copy; 2007 Market-IP"}},CLASS_NAME:"Mip.Layer.Static"});Mip.Control.Copyright=Mip.Class.create();Mip.Control.Copyright.prototype=Mip.Class.inherit(Mip.Control,{contentSpan:null,copyright:null,enabled:false,initialize:function(A){Mip.Control.prototype.initialize.apply(this,arguments);if(A){this.copyright=A}this.enabled=true},enable:function(){},disable:function(){},setMap:function(A){Mip.Control.prototype.setMap.apply(this,arguments);this.map.events.register("changebaselayer",this,this.layerChanged)},draw:function(){if($("MappingCopyrightControlDiv")==null){Mip.Control.prototype.draw.apply(this,arguments)}else{this.div=$("MappingCopyrightControlDiv")}if(this.div){this.div.innerHTML="";this.div.className="mappingcopyright";this.div.id="MappingCopyrightControlDiv";this.contentSpan=document.createElement("span");Mip.Event.observe(this.contentSpan,"mouseover",this.span_mouseOver.bindAsEventListener(this.contentSpan));this.div.appendChild(this.contentSpan);if(this.map&&this.map.baseLayer){this.setCopyright(this.map.baseLayer.getCopyright())}}return this.div},setCopyright:function(A){if(A){this.copyright=A}if(this.contentSpan){this.contentSpan.innerHTML=this.copyright}},layerChanged:function(){if(this.map&&this.map.baseLayer){this.setCopyright(this.map.baseLayer.getCopyright())}},span_mouseOver:function(){this.style.cursor="default"},CLASS_NAME:"Mip.Control.Copyright"});Mip.Control.Help=Mip.Class.create();Mip.Control.Help.prototype=Mip.Class.inherit(Mip.Control,{helpLines:null,imageDiv:null,url:null,size:null,helpDiv:null,effect:null,delay:750,opacity:0.9,enabled:false,initialize:function(){this.helpLines=CurrentLanguage.HelpControl.HelpLinesList;Mip.Control.prototype.initialize.apply(this,arguments);this.url=Configuration.Mapping.Help.Url;this.size=new Mip.Size(Configuration.Mapping.Help.Size.Width,Configuration.Mapping.Help.Size.Height);this.enabled=true},destroy:function(){if(this.map&&this.map.viewPortDiv&&this.helpDiv){this.map.viewPortDiv.removeChild(this.helpDiv)}Mip.Control.prototype.destroy.apply(this,arguments)},enable:function(){},disable:function(){},draw:function(A){if(this.div==null){this.div=Mip.Util.createAlphaImageDiv();this.div.id="MappingHelpControlDiv";this.div.className="mappinghelp"}Mip.Util.modifyAlphaImageDiv(this.div,null,null,this.size,this.url,"absolute");this.createHelpDiv();Mip.Event.observe(this.div,"mouseover",this.image_mouseOver.bindAsEventListener(this.div));Mip.Event.observe(this.div,"mouseout",this.image_mouseOver.bindAsEventListener(this.div));Mip.Event.observe(this.div,"mouseover",this.showHelp.bindAsEventListener(this));Mip.Event.observe(this.div,"mouseout",this.hideHelp.bindAsEventListener(this));this.hideHelp(true);return this.div},createHelpDiv:function(){this.helpDiv=document.createElement("div");this.helpDiv.id="MappingHelpControlContentDiv";this.helpDiv.className="mappinghelpcontent";this.helpDiv.style.zIndex="5000";var A=this.createHelpTable();this.helpDiv.appendChild(A);if(this.map&&this.map.viewPortDiv){this.map.viewPortDiv.appendChild(this.helpDiv)}},createHelpTable:function(){var D=document.createElement("table");D.className="mappinghelpcontenttable";var B=document.createElement("tbody");var E=document.createElement("tr");E.className="mappinghelpcontenttablerow";var A=document.createElement("th");A.className="mappinghelpcontenttablerow";A.style.textAlign="center";A.width="50%";A.innerHTML=CurrentLanguage.HelpControl.Title.Action;E.appendChild(A);A=document.createElement("th");A.className="mappinghelpcontenttablerow";A.width="50%";A.innerHTML=CurrentLanguage.HelpControl.Title.Description;E.appendChild(A);B.appendChild(E);if(this.helpLines){for(var C=0;C<this.helpLines.length;C++){var E=this.createHelpRow(this.helpLines[C]);B.appendChild(E)}}D.appendChild(B);return D},createHelpRow:function(B){var C=document.createElement("tr");C.className="mappinghelpcontenttablerow";C.style.height="18px";var A=null;A=document.createElement("td");A.className="mappinghelpcontenttablerow";A.align="center";A.width="50%";A.style.fontSize="9px";A.innerHTML=B.Action;C.appendChild(A);A=document.createElement("td");A.className="mappinghelpcontenttablerow";A.width="50%";A.style.fontSize="9px";A.style.paddingLeft="7px";A.innerHTML=B.Description;C.appendChild(A);return C},showHelp:function(){if(this.effect==null){this.effect=new Fx.Opacity(this.helpDiv.id,this.opacity,{duration:this.delay})}else{this.effect.clearTimer()}this.effect.show()},hideHelp:function(A){if(this.effect==null){this.effect=new Fx.Opacity(this.helpDiv.id,this.opacity,{duration:this.delay})}else{this.effect.clearTimer()}this.effect.hide(A)},image_mouseOver:function(){this.style.cursor="help"},image_mouseOut:function(){this.style.cursor=""},populateHelpLines:function(){this.helpLines=[];var A={};A.action="2x<img src='http://orion/Mapping/API/img/mouseleft.gif' style='vertical-align:middle;' />";A.description="Zoom In";this.helpLines.push(A);A={};A.action="2x<img src='http://orion/Mapping/API/img/mouseright.gif' style='vertical-align:middle;' />";A.description="Zoom Out";this.helpLines.push(A);A={};A.action="<img src='http://orion/Mapping/API/img/shift.gif' style='vertical-align:middle;' /> & Drag";A.description="Zoom In";this.helpLines.push(A);A={};A.action="Mouse Wheel";A.description="Zoom In/Out";this.helpLines.push(A)},CLASS_NAME:"Mip.Control.Help"});Mip.Control.Logo=Mip.Class.create();Mip.Control.Logo.prototype=Mip.Class.inherit(Mip.Control,{enabled:false,initialize:function(){Mip.Control.prototype.initialize.apply(this,arguments);this.enabled=true},enable:function(){},disable:function(){},draw:function(){if($("MappingLogoControlDiv")==null){Mip.Control.prototype.draw.apply(this,arguments)}else{this.div=$("MappingLogoControlDiv")}if(this.div){this.div.innerHTML="";this.div.className="mappinglogo";this.div.id="MappingLogoControlDiv";var C=Mip.Util.getImagesLocation();var B=Mip.Util.createAlphaImageDiv("MappingMarketIPLogo",new Mip.Pixel(0,0),new Mip.Size(120,15),C+"marketip_logo_small.png","absolute");B.style.border="0px";B.firstChild.style.border="0px";var A=document.createElement("a");A.href="http://www.market-ip.com";A.appendChild(B);Mip.Event.observe(A,"mouseover",this.link_mouseOver.bindAsEventListener(A));Mip.Event.observe(A,"mouseout",this.link_mouseOut.bindAsEventListener(A));Mip.Event.observe(A,"click",this.link_click.bindAsEventListener(A));this.div.appendChild(A)}return this.div},link_click:function(A){var B=window.open(this.getAttribute("href"),"_blank");B.focus();Mip.Event.stop(A);return false},link_mouseOver:function(){this.style.cursor="pointer"},link_mouseOut:function(){this.style.cursor="default"},CLASS_NAME:"Mip.Control.Logo"});Mip.Control.MouseControl=Mip.Class.create();Mip.Control.MouseControl.prototype=Mip.Class.inherit(Mip.Control,{eventTriggered:false,lastRightClick:null,interval:400,keyEventsRegistered:false,performedDrag:false,enabled:false,initialize:function(){Mip.Control.prototype.initialize.apply(this,arguments);Mip.Event.observe(window,"DOMMouseScroll",this.onWheelEvent.bindAsEventListener(this));Mip.Event.observe(window,"mousewheel",this.onWheelEvent.bindAsEventListener(this));Mip.Event.observe(document,"mousewheel",this.onWheelEvent.bindAsEventListener(this));this.enabled=true},destroy:function(){if(this.map){if(this.map.viewPortDiv&&this.div){this.map.viewPortDiv.removeChild(this.div)}if(this.map.events){this.map.events.unregister("click",this,this.defaultClick);this.map.events.unregister("dblclick",this,this.defaultDblClick);this.map.events.unregister("mousedown",this,this.defaultMouseDown);this.map.events.unregister("mouseup",this,this.defaultMouseUp);this.map.events.unregister("mousemove",this,this.defaultMouseMove);this.map.events.unregister("mouseout",this,this.defaultMouseOut);this.map.events.unregister("mouseover",this,this.defaultMouseOver);if(this.keyEventsRegistered==true){Mip.Event.stopObserving(document,"keydown",this.defaultKeyDown.bindAsEventListener(this));Mip.Event.stopObserving(document,"keyup",this.defaultKeyUp.bindAsEventListener(this));this.keyEventsRegistered=false}}}Mip.Control.prototype.destroy.apply(this,arguments);this.div=null;window.oncontextmenu=null;document.oncontextmenu=null;window.onselectstart=null;document.onselectstart=null},enable:function(){if(this.enabled==false){this.draw();this.map.mapping.navigation.wheelEvent=this.map.mapping.navigation.wheelEventCustomer;this.enabled=true}},disable:function(){if(this.enabled==true){if(this.map){if(this.map.viewPortDiv&&this.div){this.map.viewPortDiv.removeChild(this.div)}if(this.map.events){this.map.events.unregister("click",this,this.defaultClick);this.map.events.unregister("dblclick",this,this.defaultDblClick);this.map.events.unregister("mousedown",this,this.defaultMouseDown);this.map.events.unregister("mouseup",this,this.defaultMouseUp);this.map.events.unregister("mousemove",this,this.defaultMouseMove);this.map.events.unregister("mouseout",this,this.defaultMouseOut);this.map.events.unregister("mouseover",this,this.defaultMouseOver);if(this.keyEventsRegistered==true){Mip.Event.stopObserving(document,"keydown",this.defaultKeyDown.bindAsEventListener(this));Mip.Event.stopObserving(document,"keyup",this.defaultKeyUp.bindAsEventListener(this));this.keyEventsRegistered=false}}}this.map.mapping.navigation.wheelEvent=false;this.enabled=false}},draw:function(){this.map.events.register("click",this,this.defaultClick);this.map.events.register("dblclick",this,this.defaultDblClick);this.map.events.register("mousedown",this,this.defaultMouseDown);this.map.events.register("mouseup",this,this.defaultMouseUp);this.map.events.register("mousemove",this,this.defaultMouseMove);this.map.events.register("mouseout",this,this.defaultMouseOut);this.map.events.register("mouseover",this,this.defaultMouseOver)},defaultClick:function(B){if(!Mip.Event.isLeftClick(B)){return }var A=!this.performedDrag;this.performedDrag=false;return A},defaultDblClick:function(B){var A=this.map.getLonLatFromViewPortPx(B.xy);if(this.map&&this.map.mapping&&this.map.mapping.maxPolygon){if(this.map.mapping.maxPolygon.isPointIn(A)){this.map.setCenter(A,this.map.zoom+1)}}else{this.map.setCenter(A,this.map.zoom+1)}Mip.Event.stop(B);return false},defaultMouseDown:function(A){var B=A.shiftKey;if(Mip.Event.isLeftClick(A)){this.mouseDragStart=A.xy.clone();this.performedDrag=false;if(A.shiftKey){this.map.div.style.cursor="crosshair";this.zoomBox=Mip.Util.createDiv("zoomBox",this.mouseDragStart,null,null,"absolute","2px solid red");this.zoomBox.style.backgroundColor="white";this.zoomBox.style.filter="alpha(opacity=50)";this.zoomBox.style.opacity="0.50";this.zoomBox.style.fontSize="1px";this.zoomBox.style.zIndex=this.map.Z_INDEX_BASE["Popup"]-1;this.map.viewPortDiv.appendChild(this.zoomBox)}document.onselectstart=function(){return false};Mip.Event.stop(A)}if(!B){var C="grabbing";if(Mip.Util.Mip.isIEBrowser()){C="url('"+Mip.Util.getImagesLocation()+"grabbing.cur')"}else{C="-moz-grabbing"}if(this.map.div.style.cursor!=C){this.map.div.style.cursor=C}}},defaultMouseMove:function(E){if(!this.eventTriggered&&this.map&&this.mouseDragStart!=null){this.map.events.triggerEvent("dragstart");this.eventTriggered=true}if(this.mouseDragStart!=null){if(this.zoomBox){var D=Math.abs(this.mouseDragStart.x-E.xy.x);var B=Math.abs(this.mouseDragStart.y-E.xy.y);this.zoomBox.style.width=Math.max(1,D)+"px";this.zoomBox.style.height=Math.max(1,B)+"px";if(E.xy.x<this.mouseDragStart.x){this.zoomBox.style.left=E.xy.x+"px"}if(E.xy.y<this.mouseDragStart.y){this.zoomBox.style.top=E.xy.y+"px"}}else{var D=this.mouseDragStart.x-E.xy.x;var B=this.mouseDragStart.y-E.xy.y;var F=this.map.getSize();var A=new Mip.Pixel(F.w/2+D,F.h/2+B);var C=this.map.getLonLatFromViewPortPx(A);if(this.map&&this.map.mapping&&this.map.mapping.maxPolygon){if(this.map.mapping.maxPolygon.isPointIn(C)){this.map.setCenter(C,null,true);this.mouseDragStart=E.xy.clone()}}else{this.map.setCenter(C,null,true);this.mouseDragStart=E.xy.clone()}}this.performedDrag=true}if(this.mouseDragStart!=null){if(this.zoomBox){this.map.div.style.cursor="crosshair"}else{var G="grabbing";if(Mip.Util.Mip.isIEBrowser()){G="url('"+Mip.Util.getImagesLocation()+"grabbing.cur')"}else{G="-moz-grabbing"}if(this.map.div.style.cursor!=G){this.map.div.style.cursor=G}}}},defaultMouseUp:function(A){if(Mip.Event.isLeftClick(A)){if(this.map&&this.performedDrag){this.map.events.triggerEvent("dragend");this.eventTriggered=false}if(this.zoomBox){this.zoomBoxEnd(A)}else{if(this.performedDrag){this.map.setCenter(this.map.center)}}document.onselectstart=null;this.mouseDragStart=null}var B="grab";if(Mip.Util.Mip.isIEBrowser()){B="url('"+Mip.Util.getImagesLocation()+"grab.cur')"}else{B="-moz-grab"}if(this.map.div.style.cursor!=B){this.map.div.style.cursor=B}},defaultMouseOver:function(A){window.oncontextmenu=this.defaultRightClick.bindAsEventListener(this);document.oncontextmenu=this.defaultRightClick.bindAsEventListener(this);window.onselectstart=this.defaultSelectStart.bindAsEventListener(this);document.onselectstart=this.defaultSelectStart.bindAsEventListener(this);if(this.keyEventsRegistered==false){this.keyEventsRegistered=true;Mip.Event.observe(document,"keydown",this.defaultKeyDown.bindAsEventListener(this));Mip.Event.observe(document,"keyup",this.defaultKeyUp.bindAsEventListener(this))}var B="grab";if(Mip.Util.Mip.isIEBrowser()){B="url('"+Mip.Util.getImagesLocation()+"grab.cur')"}else{B="-moz-grab"}if(this.map.div.style.cursor!=B){this.map.div.style.cursor=B}},defaultMouseOut:function(A){if(Mip.Util.mouseLeft(A,this.map.div)){window.oncontextmenu=null;document.oncontextmenu=null;window.onselectstart=null;document.onselectstart=null;if(this.keyEventsRegistered==true){Mip.Event.stopObserving(document,"keydown",this.defaultKeyDown.bindAsEventListener(this));Mip.Event.stopObserving(document,"keyup",this.defaultKeyUp.bindAsEventListener(this));this.keyEventsRegistered=false}if(this.mouseDragStart!=null){this.performedDrag=false;this.eventTriggered=false}}if(this.mouseDragStart!=null&&Mip.Util.mouseLeft(A,this.map.div)){if(this.zoomBox){this.removeZoomBox()}this.mouseDragStart=null}},defaultWheelUp:function(){this.map.zoomIn()},defaultWheelDown:function(){this.map.zoomOut()},defaultRightClick:function(B){if(!B.xy){B.xy=this.map.events.getMousePosition(B)}var C=new Date().getTime();if(this.lastRightClick==null){this.lastRightClick=C}else{if((C-this.lastRightClick)<this.interval){var A=this.map.getLonLatFromViewPortPx(B.xy);this.map.setCenter(A,this.map.zoom-1);this.lastRightClick=null}else{this.lastRightClick=C}}Mip.Event.stop(B);return false},defaultSelectStart:function(A){Mip.Event.stop(A);return false},defaultKeyDown:function(A){if(A.shiftKey){this.map.div.style.cursor="crosshair"}},defaultKeyUp:function(A){if(A.keyCode==16){var B="grab";if(Mip.Util.Mip.isIEBrowser()){B="url('"+Mip.Util.getImagesLocation()+"grab.cur')"}else{B="-moz-grab"}if(this.map.div.style.cursor!=B){this.map.div.style.cursor=B}}},onWheelEvent:function(C){if(this.map.mapping.navigation.wheelEvent==true){var B=false;var A=Mip.Event.element(C);while(A!=null){if(this.map&&A==this.map.div){B=true;break}A=A.parentNode}if(B){var D=0;if(!C){C=window.event}if(C.wheelDelta){D=C.wheelDelta/120;if(window.opera){D=-D}}else{if(C.detail){D=-C.detail/3}}if(D){if(D<0){this.defaultWheelDown()}else{this.defaultWheelUp()}}Mip.Event.stop(C)}}},zoomBoxEnd:function(B){if(this.mouseDragStart!=null){if(Math.abs(this.mouseDragStart.x-B.xy.x)>5||Math.abs(this.mouseDragStart.y-B.xy.y)>5){var H=this.map.getLonLatFromViewPortPx(this.mouseDragStart);var A=this.map.getLonLatFromViewPortPx(B.xy);var G=Math.max(H.lat,A.lat);var C=Math.min(H.lat,A.lat);var F=Math.min(H.lon,A.lon);var D=Math.max(H.lon,A.lon);var E=new Mip.Bounds(F,C,D,G);if(this.map&&this.map.mapping&&this.map.mapping.maxPolygon){if(this.map.mapping.maxPolygon.isPointIn(E.getCenterLonLat())){this.map.zoomToExtent(E)}}else{this.map.zoomToExtent(E)}}else{var A=this.map.getLonLatFromViewPortPx(B.xy);if(this.map&&this.map.mapping&&this.map.mapping.maxPolygon){if(this.map.mapping.maxPolygon.isPointIn(A)){this.map.setCenter(new Mip.LonLat((A.lon),(A.lat)),this.map.getZoom()+1)}}else{this.map.setCenter(new Mip.LonLat((A.lon),(A.lat)),this.map.getZoom()+1)}}this.removeZoomBox()}},removeZoomBox:function(){this.map.viewPortDiv.removeChild(this.zoomBox);this.zoomBox=null},CLASS_NAME:"Mip.Control.MouseControl"});Mip.Control.PanZoomBarControl=Mip.Class.create();Mip.Control.PanZoomBarControl.X=4;Mip.Control.PanZoomBarControl.Y=4;Mip.Control.PanZoomBarControl.prototype=Mip.Class.inherit(Mip.Control.PanZoomBar,{zoomStopWidth:22,zoomStopHeight:13,zoomBarDiv:null,topImage:null,bottomImage:null,transparency:0.75,enabled:false,initialize:function(){Mip.Control.PanZoomBar.prototype.initialize.apply(this,arguments);this.position=new Mip.Pixel(Mip.Control.PanZoomBarControl.X,Mip.Control.PanZoomBarControl.Y);this.enabled=true},destroy:function(){if(this.map){if(this.map.viewPortDiv&&this.div&&this.div.parentNode==this.map.viewPortDiv){this.map.viewPortDiv.removeChild(this.div)}if(this.map.events){this.map.events.unregister("zoomend",this,this.moveZoomBar);this.map.events.unregister("changebaselayer",this,this.redraw);this.map.events.unregister("changelayer",this,this.redraw)}}Mip.Control.PanZoomBar.prototype.destroy.apply(this,arguments);this.div=null},enable:function(){if(this.enabled==false){if(this.div&&this.map&&this.map.viewPortDiv){this.map.viewPortDiv.appendChild(this.div)}this.enabled=true}},disable:function(){if(this.enabled==true){if(this.div&&this.map&&this.map.viewPortDiv){this.map.viewPortDiv.removeChild(this.div)}this.enabled=false}},setMap:function(A){Mip.Control.PanZoomBar.prototype.setMap.apply(this,arguments);this.map.events.register("changelayer",this,this.redraw)},draw:function(B){Mip.Control.prototype.draw.apply(this,arguments);B=this.position.clone();this.buttons=new Array();var C=new Mip.Size(12,12);var A=new Mip.Pixel(B.x+C.w+2,B.y);this._addButton("panup","north.png",A,C);B.y=A.y+C.h;this._addButton("panleft","west.png",B.add(0,2),C);this._addButton("center","center.png",B.add(C.w+2,2),C);this._addButton("panright","east.png",B.add((C.w*2)+4,2),C);this._addButton("pandown","south.png",A.add(0,(C.h*2)+4),C);A=A.add(-5,(C.h*4));C.w=22;C.h=23;this._addButton("zoomin","zoomin.png",A,C);A=this._addZoomBar(A.add(0,C.h));this._addButton("zoomout","zoomout.png",A,C);return this.div},_addZoomBar:function(G){var F=Mip.Util.getImagesLocation();var B="Mip_Control_PanZoomBar_Slider"+this.map.id;var I=this.map.getNumZoomLevels()-1-this.map.getZoom();var C=Mip.Util.createAlphaImageDiv(B,G.add(5,I*this.zoomStopHeight),new Mip.Size(12,8),F+"slider.png","absolute");this.slider=C;this.sliderEvents=new Mip.Events(this,C,null,true);this.sliderEvents.register("mousedown",this,this.zoomBarDown);this.sliderEvents.register("mousedown",this,this.slider_mouseDown);this.sliderEvents.register("mousemove",this,this.zoomBarDrag);this.sliderEvents.register("mouseup",this,this.zoomBarUp);this.sliderEvents.register("mouseup",this,this.slider_mouseUp);this.sliderEvents.register("mouseover",this,this.slider_mouseOver);this.sliderEvents.register("dblclick",this,this.doubleClick);this.sliderEvents.register("click",this,this.doubleClick);sz=new Mip.Size();sz.h=this.zoomStopHeight*this.map.getNumZoomLevels();sz.w=this.zoomStopWidth;var A=null;if(Mip.Util.alphaHack()){var B="Mip_Control_PanZoomBar"+this.map.id;A=Mip.Util.createAlphaImageDiv(B,G,new Mip.Size(sz.w,this.zoomStopHeight),null,"absolute",null,"crop");A.style.height=sz.h}else{A=Mip.Util.createDiv("Mip_Control_PanZoomBar_Zoombar"+this.map.id,G,sz,null,"absolute")}this.zoombarDiv=A;var H=new Mip.Size(22,13);var E=Mip.Util.createAlphaImageDiv("Mip_Control_PanZoomBar_Zoombar_Top"+this.map.id,new Mip.Pixel(0,0),H,F+"zoombar-top.png","absolute",null,null,this.transparency);Mip.Event.observe(E,"mouseover",this.button_mouseOver.bindAsEventListener(E));this.topImage=E;this.zoombarDiv.appendChild(E);for(var D=0;D<(this.map.getNumZoomLevels()-2);D++){E=Mip.Util.createAlphaImageDiv("Mip_Control_PanZoomBar_Zoombar_"+D+this.map.id,new Mip.Pixel(0,((D+1)*this.zoomStopHeight)),H,F+"zoombar-center.png","absolute",null,null,this.transparency);Mip.Event.observe(E,"mouseover",this.button_mouseOver.bindAsEventListener(E));this.zoombarDiv.appendChild(E)}E=Mip.Util.createAlphaImageDiv("Mip_Control_PanZoomBar_Zoombar_Top"+this.map.id,new Mip.Pixel(0,((this.map.getNumZoomLevels()-1)*this.zoomStopHeight)),H,F+"zoombar-bottom.png","absolute",null,null,this.transparency);Mip.Event.observe(E,"mouseover",this.button_mouseOver.bindAsEventListener(E));this.bottomImage=E;this.zoombarDiv.appendChild(E);this.divEvents=new Mip.Events(this,A,null,true);this.divEvents.register("mousedown",this,this.divClick);this.divEvents.register("mousemove",this,this.passEventToSlider);this.divEvents.register("dblclick",this,this.doubleClick);this.divEvents.register("click",this,this.doubleClick);this.div.appendChild(A);this.startTop=parseInt(A.style.top);this.div.appendChild(C);this.map.events.register("zoomend",this,this.moveZoomBar);G=G.add(0,this.zoomStopHeight*this.map.getNumZoomLevels());return G},_addButton:function(F,A,E,D){var C=Mip.Util.getImagesLocation()+A;var B=Mip.Util.createAlphaImageDiv("Mip_Control_PanZoom_"+F,E,D,C,"absolute",null,null,this.transparency);this.div.appendChild(B);B.onmousedown=this.buttonDown.bindAsEventListener(B);B.ondblclick=this.doubleClick.bindAsEventListener(B);B.onclick=this.doubleClick.bindAsEventListener(B);B.action=F;B.map=this.map;B.slideFactor=this.slideFactor;Mip.Event.observe(B,"mouseover",this.button_mouseOver.bindAsEventListener(B));this.buttons.push(B);return B},ignoreEvent:function(A){Mip.Event.stop(A)},buttonDown:function(A){if(!Mip.Event.isLeftClick(A)){return }switch(this.action){case"center":this.map.mapping.reset();break}Mip.Control.PanZoomBar.prototype.buttonDown.apply(this,arguments)},button_mouseOver:function(A){this.style.cursor="pointer"},slider_mouseOver:function(){if(this.mouseDragStart!=null){var A="grabbing";if(Mip.Util.Mip.isIEBrowser()){A="url('"+Mip.Util.getImagesLocation()+"grabbing.cur')"}else{A="-moz-grabbing"}this.slider.style.cursor=A}else{var A="grab";if(Mip.Util.Mip.isIEBrowser()){A="url('"+Mip.Util.getImagesLocation()+"grab.cur')"}else{A="-moz-grab"}this.slider.style.cursor=A}},slider_mouseUp:function(){var A="grab";if(Mip.Util.Mip.isIEBrowser()){A="url('"+Mip.Util.getImagesLocation()+"grab.cur')"}else{A="-moz-grab"}this.slider.style.cursor=A},slider_mouseDown:function(){var A="grabbing";if(Mip.Util.Mip.isIEBrowser()){A="url('"+Mip.Util.getImagesLocation()+"grabbing.cur')"}else{A="-moz-grabbing"}this.slider.style.cursor=A},zoomBarDrag:function(B){if(this.mouseDragStart!=null){var A=this.mouseDragStart.y-B.xy.y;var D=Mip.Util.pagePosition(this.zoombarDiv);if((B.clientY-D[1])>0&&(B.clientY-D[1])<parseInt(this.zoombarDiv.style.height)-2){var C=parseInt(this.slider.style.top)-A;if(C<78){C=78}else{if(C>275){C=275}}this.slider.style.top=C+"px"}this.mouseDragStart=B.xy.clone();Mip.Event.stop(B)}},CLASS_NAME:"Mip.Control.PanZoomBarControl"});Mip.Control.AddressSearchControl=Mip.Class.create();Mip.Control.AddressSearchControl.prototype=Mip.Class.inherit(Mip.Control,{activeColor:"#e6e6e6",transparency_1:0.9,transparency_2:0.75,image:null,adressSearchDiv:null,errorDiv:null,buttonDiv:null,searchForm:null,searchDiv:null,searchTable:null,searchTableBody:null,searchNumber:null,searchStreet:null,searchLocality:null,searchZip:null,searchCountry:null,resultDiv:null,minimizeDiv:null,maximizeDiv:null,mapping:null,addresses:null,menuDiv:null,menuButton:null,controlState:null,blankButton:null,effect:null,delay:750,timeout:null,menuTimeout:null,contentDiv:null,enabled:false,initialize:function(A){Mip.Control.prototype.initialize.apply(this,arguments);this.enabled=true},destroy:function(){if(this.menuDiv){Mip.Util.removeItem(this.menuDiv.controls,this);if(this.menuButton&&this.menuButton.parentNode==this.menuDiv){this.menuDiv.removeChild(this.menuButton)}if(this.menuDiv.controls.length==0&&this.menuDiv.parentNode==this.map.viewPortDiv){this.map.viewPortDiv.removeChild(this.menuDiv)}}if(this.map&&this.map.viewPortDiv&&this.div.parentNode==this.map.viewPortDiv){this.map.viewPortDiv.removeChild(this.div)}Mip.Control.prototype.destroy.apply(this,arguments);this.div=null},enable:function(){if(this.enabled==false){if(this.map&&this.map.viewPortDiv){this.map.viewPortDiv.appendChild(this.div)}if(this.menuButton){this.menuDiv.appendChild(this.menuButton)}this.enabled=true}},disable:function(){if(this.enabled==true){if(this.map&&this.map.viewPortDiv){this.map.viewPortDiv.removeChild(this.div)}if(this.menuButton){this.menuDiv.removeChild(this.menuButton)}this.enabled=false}},setMap:function(A){Mip.Control.prototype.setMap.apply(this,arguments)},draw:function(){Mip.Control.prototype.draw.apply(this);this.loadContents();this.redraw();return this.div},redraw:function(){this.createSearchDiv();return this.div},updateMap:function(){for(var B=0;B<this.baseLayerInputs.length;B++){var A=this.baseLayerInputs[B];if(A.checked){this.map.setBaseLayer(A.layer,false)}}for(var B=0;B<this.dataLayerInputs.length;B++){var A=this.dataLayerInputs[B];A.layer.setVisibility(A.checked,true)}},maximizeControl:function(A){this.div.style.width="21em";this.div.style.height="";this.showControls(false);if(A!=null){Mip.Event.stop(A)}},minimizeControl:function(A){this.div.style.width="0px";this.div.style.height="0px";this.showControls(true);if(A!=null){Mip.Event.stop(A)}},showControls:function(A){this.div.style.display=A?"none":"";if(A){this.hideError();this.hideButton()}else{this.showError();this.showButton()}},loadContents:function(){if(this.menuDiv==null){if($("MappingMenuTopRightDiv")!=null){this.menuDiv=$("MappingMenuTopRightDiv");this.blankButton=$("MappingMenuBlankButton")}else{this.menuDiv=Mip.Util.createDiv();this.menuDiv.id="MappingMenuTopRightDiv";this.menuDiv.className="mappingmenudiv";this.menuDiv.controls=[];Mip.Event.observe(this.menuDiv,"mouseup",this.mouseUp.bindAsEventListener(this));Mip.Event.observe(this.menuDiv,"click",this.ignoreEvent);Mip.Event.observe(this.menuDiv,"mousedown",this.mouseDown.bindAsEventListener(this));Mip.Event.observe(this.menuDiv,"dblclick",this.ignoreEvent);if(this.map!=null){this.menuDiv.style.zIndex=this.map.Z_INDEX_BASE["Control"]+100;this.map.viewPortDiv.appendChild(this.menuDiv)}}}if(this.menuDiv.controls.length>0){if(this.blankButton&&this.menuDiv==this.blankButton.parentNode){this.menuDiv.removeChild(this.blankButton)}for(var B=0;B<this.menuDiv.controls.length;B++){this.menuDiv.controls[B].blankButton=null}}this.menuDiv.controls.push(this);this.menuButton=Mip.Util.Mip.createMenuButton(null,CurrentLanguage.LayerControl.Buttons.Search);var A=this.menuButton.getElementsByTagName("img");this.image=A[0];this.menuDiv.appendChild(this.menuButton);Mip.Event.observe(this.menuButton,"click",this.buttonClick.bindAsEventListener(this));Mip.Event.observe(this.menuButton,"mouseover",this.button_mouseOver.bindAsEventListener(this.menuButton));Mip.Event.observe(this.menuButton,"mouseout",this.button_mouseOut.bindAsEventListener(this.menuButton));this.controlState="hidden";if(this.menuDiv.controls.length==1){this.blankButton=Mip.Util.Mip.createMenuButton("MappingMenuBlankButton","");this.blankButton.className="menubutton_blank";this.menuDiv.appendChild(this.blankButton)}this.div.className="mappingmenuitem";this.contentDiv=Mip.Util.createDiv();this.contentDiv.className="mappingmenuitemcontainer";this.contentDiv.id="MappingSearchControlContentDiv";this.searchForm=document.createElement("form");this.searchForm.action="#";this.searchForm.method="POST";this.searchForm.style.marginBottom="0px";Mip.Event.observe(this.div,"mouseup",this.mouseUp.bindAsEventListener(this));Mip.Event.observe(this.div,"click",this.ignoreEvent);Mip.Event.observe(this.div,"mousedown",this.mouseDown.bindAsEventListener(this));Mip.Event.observe(this.div,"dblclick",this.ignoreEvent);Mip.Event.observe(this.contentDiv,"mouseover",this.defaultMouseOver.bindAsEventListener(this.contentDiv));this.adressSearchDiv=document.createElement("div");this.adressSearchDiv.id="adressSearchDiv";this.adressSearchDiv.className="mappingmenuitemcontentdiv";this.adressSearchDiv.style.width="97%";this.adressSearchDiv.style.height="100%";this.searchForm.appendChild(this.adressSearchDiv);this.errorDiv=document.createElement("div");this.errorDiv.id="adressSearchErrorDiv";this.errorDiv.style.backgroundColor=this.activeColor;this.errorDiv.style.width="100%";this.errorDiv.style.color="red";this.errorDiv.style.textAlign="center";this.errorDiv.style.height="";this.errorDiv.style.paddingBottom="8px";this.errorDiv.style.display="none";this.searchForm.appendChild(this.errorDiv);this.buttonDiv=document.createElement("div");this.buttonDiv.id="adressSearchButtonDiv";this.buttonDiv.style.backgroundColor=this.activeColor;this.buttonDiv.style.width="100%";this.buttonDiv.style.textAlign="center";this.buttonDiv.style.height="";this.buttonDiv.style.paddingBottom="5px";this.searchForm.appendChild(this.buttonDiv);this.contentDiv.appendChild(this.searchForm);this.div.appendChild(this.contentDiv);Mip.Rico.Corner.changeOpacity(this.contentDiv,this.transparency_1);Mip.Rico.Corner.changeOpacity(this.menuButton,this.transparency_2);this.div.style.overflow="hidden";this.blankButton.style.display="none"},buttonClick:function(A){if(this.effect==null){this.effect=new Fx.Height(this.div.id,{duration:this.delay})}if(this.controlState=="hidden"){this.setControlVisibility(true,false)}else{this.setControlVisibility(false,false)}if(A!=null){Mip.Event.stop(A)}},setControlVisibility:function(C,B){if(B==false){this.changeMenuItem_active();if(this.menuTimeout!=null){clearTimeout(this.menuTimeout)}this.menuTimeout=setTimeout(this.changeMenuItem_inactive.bind(this),this.delay)}if(C){for(var A=0;A<this.menuDiv.controls.length;A++){if(this.menuDiv.controls[A]!=this){this.menuDiv.controls[A].setControlVisibility(false,true)}}if(this.effect!=null){this.effect.clearTimer();this.effect.show(B)}if(this.blankButton!=null){this.blankButton.style.display=""}this.changeMenuCss_active();if(this.timeout!=null){clearTimeout(this.timeout)}this.timeout=setTimeout(this.changeMenuCss_active.bind(this),this.delay);this.controlState="visible"}else{if(this.effect!=null){this.effect.clearTimer();this.effect.hide(B)}if(this.timeout!=null){clearTimeout(this.timeout)}if(B){this.timeout=setTimeout(this.changeMenuCss_inactive.bind(this),0)}else{this.timeout=setTimeout(this.changeMenuCss_inactive.bind(this),this.delay)}this.controlState="hidden"}},changeMenuCss_active:function(){this.image.src=Mip.Util.getImagesLocation()+"up.gif";this.menuButton.className="menubutton_active";Mip.Rico.Corner.changeOpacity(this.menuButton,this.transparency_1);if(this.blankButton!=null){this.blankButton.style.display=""}},changeMenuCss_inactive:function(){this.image.src=Mip.Util.getImagesLocation()+"down.gif";this.menuButton.className="menubutton";Mip.Rico.Corner.changeOpacity(this.menuButton,this.transparency_2);if(this.blankButton!=null){this.blankButton.style.display="none"}},changeMenuItem_inactive:function(){this.div.style.borderBottom=""},changeMenuItem_active:function(){this.div.style.borderBottom="1px solid #44555f"},createSearchDiv:function(){if(this.resultDiv){this.resultDiv.style.display="none"}if(!this.searchDiv){this.searchDiv=document.createElement("div")}this.searchDiv.innerHTML="";this.searchTable=document.createElement("table");this.searchTable.width="100%";this.searchTableBody=document.createElement("tbody");this.searchTableBody.width="100%";this.searchCountry=this.createInputSelectRow(CurrentLanguage.AddressSearch.Country,CurrentLanguage.AddressSearch.CountryList);this.searchZip=this.createInputTextRow(CurrentLanguage.AddressSearch.Zip);this.searchLocality=this.createInputTextRow(CurrentLanguage.AddressSearch.Locality);this.searchStreet=this.createInputTextRow(CurrentLanguage.AddressSearch.Street);this.searchNumber=this.createInputTextRow(CurrentLanguage.AddressSearch.Number);this.searchTable.appendChild(this.searchTableBody);this.searchDiv.appendChild(this.searchTable);this.adressSearchDiv.appendChild(this.searchDiv);this.createButton(CurrentLanguage.AddressSearch.Search,this.searchAddress,"submit");this.searchDiv.style.display="";if(this.effect!=null){this.effect.clearTimer();this.effect.setHeight(this.contentDiv.offsetHeight)}},createResultDiv:function(){if(this.searchDiv){this.searchDiv.style.display="none"}if(!this.resultDiv){this.resultDiv=document.createElement("div");this.resultDiv.className="mappingSearch";this.resultDiv.style.marginTop="10px";this.resultDiv.style.marginBottom="10px";this.resultDiv.style.marginRight="2px"}this.resultDiv.innerHTML="";for(var B=0;B<this.addresses.length;B++){var A=this.createAddressLink(this.addresses[B]);this.resultDiv.appendChild(A);if(this.addresses[B]&&this.addresses[B].address&&this.addresses[B].address.street){}else{}}this.createButton(CurrentLanguage.AddressSearch.NewSearch,this.createSearchDiv);this.adressSearchDiv.appendChild(this.resultDiv);this.resultDiv.style.display="";if(this.effect!=null){this.effect.clearTimer();this.effect.show(true)}},createAddressLink:function(D){if(D){if(D.address&&D.localization){var A=D.address;var F=D.localization;var C="";if(A.number){C+=A.number+" "}if(A.street){C+=A.street+"<br />"}if(A.zip){C+=A.zip+" - "}if(A.locality){C+=A.locality+" "}if(A.country){C+="("+A.country+")"}var B=document.createElement("a");B.href="#";B.innerHTML=C;B.localization=F;B.map=this.map;B.className="mappingSearch";Mip.Event.observe(B,"click",this.addressLinkClick.bindAsEventListener(B));var E=document.createElement("div");E.style.marginBottom="5px";E.appendChild(B);return E}}},addressLinkClick:function(A){var B=new Target(this.localization.x,this.localization.y);this.map.mapping.setTarget(B);Mip.Event.stop(A);return false},createButton:function(B,D,C){var A=null;if(!C){C="button"}this.buttonDiv.innerHTML="";A=document.createElement("input");A.id="MappingSearch"+B;A.name="input_"+B;A.type=C;A.value=B;A.className="mappingSearchButton";Mip.Event.observe(A,"click",D.bindAsEventListener(this));Mip.Event.observe(A,"mouseover",this.button_mouseOver.bindAsEventListener(A));Mip.Event.observe(A,"mouseout",this.button_mouseOut.bindAsEventListener(A));this.buttonDiv.appendChild(A);return A},createInputTextRow:function(C){var D=null;var A=null;var B=null;var E=null;D=document.createElement("tr");D.id="searchTableRow_"+C;A=document.createElement("td");A.id="searchTableLabel_"+C;A.innerHTML=C+" : ";A.align="right";A.width="30%";A.className="mappingSearchLabel";D.appendChild(A);A=document.createElement("td");A.id="searchTableInput_"+C;E=document.createElement("div");E.id="searchTableInputDiv_"+C;B=document.createElement("input");B.id="MappingSearch"+C;B.name="input_"+C;B.type="text";B.className="mappingSearchInput";E.appendChild(B);A.appendChild(E);A.className="mappingSearchInputCell";D.appendChild(A);this.searchTableBody.appendChild(D);return B},createInputSelectRow:function(C,F){var G=null;var A=null;var B=null;F.sort(Mip.Control.AddressSearchControl.prototype.sortList);G=document.createElement("tr");G.id="searchTableRow_"+C;A=document.createElement("td");A.id="searchTableLabel_"+C;A.innerHTML=C+" : ";A.align="right";A.width="30%";A.className="mappingSearchLabel";G.appendChild(A);A=document.createElement("td");A.id="searchTableInput_"+C;B=document.createElement("select");B.id="MappingSearch"+C;B.name=C;B.className="mappingSearchInput";for(var D=0;D<F.length;D++){var E=document.createElement("option");E.value=F[D].code;E.innerHTML=F[D].name;if(F[D].code.toUpperCase()=="BE"){E.selected=true}B.appendChild(E)}A.appendChild(B);A.className="mappingSearchInputCell";G.appendChild(A);this.searchTableBody.appendChild(G);return B},sortList:function(B,A){if(B.name<A.name){return -1}else{if(B.name>A.name){return 1}}},createShowHideControls:function(){var C=Mip.Util.getImagesLocation();var B=new Mip.Size(23,22);var A=C+"maximize.png";this.maximizeDiv=Mip.Util.createAlphaImageDiv("Mip_Control_MaximizeDiv",null,B,A,"absolute");this.maximizeDiv.style.top="5px";this.maximizeDiv.style.right="-1px";this.maximizeDiv.style.left="";this.maximizeDiv.style.display="none";Mip.Event.observe(this.maximizeDiv,"click",this.maximizeControl.bindAsEventListener(this));this.div.appendChild(this.maximizeDiv);var A=C+"minimize.png";var B=new Mip.Size(12,12);this.minimizeDiv=Mip.Util.createAlphaImageDiv("Mip_Control_MinimizeDiv",null,B,A,"absolute");this.minimizeDiv.style.top="5px";this.minimizeDiv.style.right="5px";this.minimizeDiv.style.left="";this.minimizeDiv.style.display="none";Mip.Event.observe(this.minimizeDiv,"click",this.minimizeControl.bindAsEventListener(this));this.div.appendChild(this.minimizeDiv)},searchAddress:function(A){this.hideError();if(this.searchZip.value==""&&this.searchLocality.value==""){this.showError("Zip or Locality not found")}else{var B={};B.command="geocoding";if(this.searchNumber.value!=""){B.number=this.searchNumber.value}if(this.searchStreet.value!=""){B.street=this.searchStreet.value}if(this.searchZip.value!=""){B.zip=this.searchZip.value}if(this.searchLocality.value!=""){B.locality=this.searchLocality.value}B.country=this.searchCountry.options[this.searchCountry.selectedIndex].value;__manager.loadUrl(Configuration.Geocoding.ServerUrl,B,this,this.parseResult)}Mip.Event.stop(A);return false},parseResult:function(A){if(A&&A.mapping){if(A.mapping.error){this.showError(A.mapping.error.value)}else{if(A.mapping.geocodingresult&&A.mapping.geocodingresult.addresses){this.addresses=A.mapping.geocodingresult.addresses;this.createResultDiv()}}}},ignoreEvent:function(A){Mip.Util.safeStopPropagation(A);A.returnValue=true;return true},mouseDown:function(A){this.mouseDown=true;this.ignoreEvent(A);return true},mouseUp:function(A){if(this.mouseDown){this.mouseDown=false;this.ignoreEvent(A)}return true},showError:function(A){if(A){this.errorDiv.innerHTML=A;this.errorDiv.style.paddingBottom="8px"}if(this.errorDiv.innerHTML&&this.errorDiv.innerHTML!=""){this.errorDiv.style.display="";if(this.effect!=null){this.effect.clearTimer();this.effect.show(true)}}},hideError:function(){this.errorDiv.style.display="none"},showButton:function(){this.buttonDiv.style.display=""},hideButton:function(){this.buttonDiv.style.display="none"},button_mouseOver:function(){this.style.cursor="pointer"},button_mouseOut:function(){this.style.cursor="default"},defaultMouseOver:function(){this.style.cursor="default"},CLASS_NAME:"Mip.Control.AddressSearchControl"});Mip.Control.LayerControl=Mip.Class.create();Mip.Control.LayerControl.prototype=Mip.Class.inherit(Mip.Control.LayerSwitcher,{menuDiv:null,legendButton:null,controlState:null,blankButton:null,effect:null,image:null,baseLbl:null,brElement:null,contentDiv:null,activeColor:"#FFFFFF",transparency_1:0.9,transparency_2:0.75,delay:750,timeout:null,menuTimeout:null,enabled:false,initialize:function(A){Mip.Control.LayerSwitcher.prototype.initialize.apply(this,arguments);this.enabled=true},destroy:function(){if(this.menuDiv){Mip.Util.removeItem(this.menuDiv.controls,this);if(this.legendButton&&this.legendButton.parentNode==this.menuDiv){this.menuDiv.removeChild(this.legendButton)}if(this.menuDiv.controls.length==0&&this.menuDiv.parentNode==this.map.viewPortDiv){this.map.viewPortDiv.removeChild(this.menuDiv)}}if(this.map&&this.map.viewPortDiv&&this.div.parentNode==this.map.viewPortDiv){this.map.viewPortDiv.removeChild(this.div)}this.map.events.unregister("addlayer",this,this.redraw);this.map.events.unregister("changelayer",this,this.redraw);this.map.events.unregister("removelayer",this,this.redraw);this.map.events.unregister("changebaselayer",this,this.redraw);Mip.Control.LayerSwitcher.prototype.destroy.apply(this,arguments);this.div=null},enable:function(){if(this.enabled==false){if(this.map&&this.map.viewPortDiv){this.map.viewPortDiv.appendChild(this.div)}if(this.legendButton){this.menuDiv.appendChild(this.legendButton)}this.enabled=true}},disable:function(){if(this.enabled==true){if(this.map&&this.map.viewPortDiv){this.map.viewPortDiv.removeChild(this.div)}if(this.legendButton){this.menuDiv.removeChild(this.legendButton)}this.enabled=false}},draw:function(){Mip.Control.prototype.draw.apply(this);this.loadContents();this.redraw();return this.div},loadContents:function(){if(this.menuDiv==null){if($("MappingMenuTopRightDiv")!=null){this.menuDiv=$("MappingMenuTopRightDiv");this.blankButton=$("MappingMenuBlankButton")}else{this.menuDiv=Mip.Util.createDiv();this.menuDiv.id="MappingMenuTopRightDiv";this.menuDiv.className="mappingmenudiv";this.menuDiv.controls=[];Mip.Event.observe(this.menuDiv,"mouseup",this.mouseUp.bindAsEventListener(this));Mip.Event.observe(this.menuDiv,"click",this.ignoreEvent);Mip.Event.observe(this.menuDiv,"mousedown",this.mouseDown.bindAsEventListener(this));Mip.Event.observe(this.menuDiv,"dblclick",this.ignoreEvent);if(this.map!=null){this.menuDiv.style.zIndex=this.map.Z_INDEX_BASE["Control"]+100;this.map.viewPortDiv.appendChild(this.menuDiv)}}}if(this.menuDiv.controls.length>0){if(this.blankButton&&this.menuDiv==this.blankButton.parentNode){this.menuDiv.removeChild(this.blankButton)}for(var B=0;B<this.menuDiv.controls.length;B++){this.menuDiv.controls[B].blankButton=null}}this.menuDiv.controls.push(this);this.legendButton=Mip.Util.Mip.createMenuButton(null,CurrentLanguage.LayerControl.Buttons.Legend);var A=this.legendButton.getElementsByTagName("img");this.image=A[0];this.menuDiv.appendChild(this.legendButton);Mip.Event.observe(this.legendButton,"click",this.buttonClick.bindAsEventListener(this));Mip.Event.observe(this.legendButton,"mouseover",this.button_mouseOver.bindAsEventListener(this.legendButton));Mip.Event.observe(this.legendButton,"mouseout",this.button_mouseOut.bindAsEventListener(this.legendButton));this.controlState="hidden";if(this.menuDiv.controls.length==1){this.blankButton=Mip.Util.Mip.createMenuButton("MappingMenuBlankButton","");this.blankButton.className="menubutton_blank";this.menuDiv.appendChild(this.blankButton)}this.div.className="mappingmenuitem";this.contentDiv=Mip.Util.createDiv();this.contentDiv.id="MappingLayerControlContentDiv";this.contentDiv.className="mappingmenuitemcontainer";this.contentDiv.style.overflow="hidden";Mip.Event.observe(this.div,"mouseup",this.mouseUp.bindAsEventListener(this));Mip.Event.observe(this.div,"click",this.ignoreEvent);Mip.Event.observe(this.div,"mousedown",this.mouseDown.bindAsEventListener(this));Mip.Event.observe(this.div,"dblclick",this.ignoreEvent);Mip.Event.observe(this.contentDiv,"mouseover",this.defaultMouseOver.bindAsEventListener(this.contentDiv));this.layersDiv=document.createElement("div");this.layersDiv.id="layersDiv";this.layersDiv.className="mappingmenuitemcontentdiv";this.layersDiv.style.width="97%";this.layersDiv.style.height="100%";this.baseLbl=document.createElement("div");this.baseLbl.innerHTML=CurrentLanguage.LayerControl.LayersTitle;this.baseLbl.className="mappingLayerLabel";this.baseLayersDiv=document.createElement("div");this.baseLayersDiv.style.paddingLeft="10px";this.dataLbl=document.createElement("div");this.dataLbl.innerHTML=CurrentLanguage.LayerControl.PoiTitle;this.dataLbl.className="mappingLayerLabel";this.dataLayersDiv=document.createElement("div");this.dataLayersDiv.style.paddingLeft="10px";this.brElement=document.createElement("br");if(this.ascending){this.layersDiv.appendChild(this.baseLbl);this.layersDiv.appendChild(this.baseLayersDiv);this.layersDiv.appendChild(this.brElement);this.layersDiv.appendChild(this.dataLbl);this.layersDiv.appendChild(this.dataLayersDiv)}else{this.layersDiv.appendChild(this.dataLbl);this.layersDiv.appendChild(this.dataLayersDiv);this.layersDiv.appendChild(this.brElement);this.layersDiv.appendChild(this.baseLbl);this.layersDiv.appendChild(this.baseLayersDiv)}this.contentDiv.appendChild(this.layersDiv);this.div.appendChild(this.contentDiv);Mip.Rico.Corner.changeOpacity(this.contentDiv,this.transparency_1);Mip.Rico.Corner.changeOpacity(this.legendButton,this.transparency_2);this.div.style.overflow="hidden";this.blankButton.style.display="none"},buttonClick:function(A){if(this.effect==null){this.effect=new Fx.Height(this.div.id,{duration:this.delay})}if(this.controlState=="hidden"){this.setControlVisibility(true,false)}else{this.setControlVisibility(false,false)}if(A!=null){Mip.Event.stop(A)}},setControlVisibility:function(C,B){if(B==false){this.changeMenuItem_active();if(this.menuTimeout!=null){clearTimeout(this.menuTimeout)}this.menuTimeout=setTimeout(this.changeMenuItem_inactive.bind(this),this.delay)}if(C){for(var A=0;A<this.menuDiv.controls.length;A++){if(this.menuDiv.controls[A]!=this){this.menuDiv.controls[A].setControlVisibility(false,true)}}this.changeLegendCss_active();if(this.effect!=null){this.effect.clearTimer();this.effect.show(B)}if(this.blankButton!=null){this.blankButton.style.display=""}if(this.timeout!=null){clearTimeout(this.timeout)}this.timeout=setTimeout(this.changeLegendCss_active.bind(this),this.delay);this.controlState="visible"}else{if(this.effect!=null){this.effect.clearTimer();this.effect.hide(B)}this.controlState="hidden";if(this.timeout!=null){clearTimeout(this.timeout)}if(B){this.timeout=setTimeout(this.changeLegendCss_inactive.bind(this),0)}else{this.timeout=setTimeout(this.changeLegendCss_inactive.bind(this),this.delay)}}},changeLegendCss_inactive:function(){this.image.src=Mip.Util.getImagesLocation()+"down.gif";this.legendButton.className="menubutton";Mip.Rico.Corner.changeOpacity(this.legendButton,this.transparency_2);if(this.blankButton!=null){this.blankButton.style.display="none"}},changeLegendCss_active:function(){this.image.src=Mip.Util.getImagesLocation()+"up.gif";this.legendButton.className="menubutton_active";Mip.Rico.Corner.changeOpacity(this.legendButton,this.transparency_1);if(this.blankButton!=null){this.blankButton.style.display=""}},changeMenuItem_inactive:function(){this.div.style.borderBottom=""},changeMenuItem_active:function(){this.div.style.borderBottom="1px solid #44555f"},showControls:function(A){},button_mouseOver:function(){this.style.cursor="pointer"},button_mouseOut:function(){this.style.cursor="default"},defaultMouseOver:function(){this.style.cursor="default"},CLASS_NAME:"Mip.Control.LayerControl"});Mip.Control.LayerButtons=Mip.Class.create();Mip.Control.LayerButtons.prototype=Mip.Class.inherit(Mip.Control,{enabled:false,buttons:null,initialize:function(){Mip.Control.prototype.initialize.apply(this,arguments);this.buttons=[];this.displayClass="mappinglayerbutton";this.enabled=true},destroy:function(){this.map.events.unregister("addlayer",this,this.redraw);this.map.events.unregister("changelayer",this,this.redraw);this.map.events.unregister("removelayer",this,this.redraw);this.map.events.unregister("changebaselayer",this,this.redraw);this.clearButtons();Mip.Control.prototype.destroy.apply(this,arguments);this.div=null},enable:function(){if(this.enabled==false){if(this.map&&this.map.viewPortDiv){this.map.viewPortDiv.appendChild(this.div)}this.enabled=true}},disable:function(){if(this.enabled==true){if(this.map&&this.map.viewPortDiv){this.map.viewPortDiv.removeChild(this.div)}this.enabled=false}},setMap:function(A){Mip.Control.prototype.setMap.apply(this,arguments);this.map.events.register("addlayer",this,this.redraw);this.map.events.register("changelayer",this,this.redraw);this.map.events.register("removelayer",this,this.redraw);this.map.events.register("changebaselayer",this,this.redraw)},draw:function(){Mip.Control.prototype.draw.apply(this,arguments);this.redraw();return this.div},redraw:function(){this.clearButtons();if(this.div&&this.map){var D=this.map.layers.slice();if(!this.ascending){D.reverse()}for(var C=0;C<D.length;C++){var B=D[C];if(B.isBaseLayer){var A=document.createElement("input");A.type="button";A.layer=B;A.value=B.name;if(B==this.map.baseLayer){A.className="mappinglayerbutton mappinglayerbutton_active"}else{A.className="mappinglayerbutton"}Mip.Event.observe(A,"click",this.button_click.bindAsEventListener(A));Mip.Event.observe(A,"mouseover",this.button_mouseover.bindAsEventListener(A));this.buttons.push(A);this.div.appendChild(A);Mip.Rico.Corner.changeOpacity(A,0.75)}}}return this.div},clearButtons:function(){if(this.buttons){for(var B=0;B<this.buttons.length;B++){var A=this.buttons[B];Mip.Event.stopObservingElement(A);this.div.removeChild(A)}this.buttons=[]}},button_click:function(){if(this.layer!=this.layer.map.baseLayer){this.layer.map.setBaseLayer(this.layer,true);this.layer.map.events.triggerEvent("changebaselayer")}},button_mouseover:function(){this.style.cursor="pointer"},CLASS_NAME:"Mip.Control.LayerButtons"});Mip.Control.OverviewMap=Mip.Class.create();Mip.Control.OverviewMap.prototype=Mip.Class.inherit(Mip.Control,{id:"OverviewMap",element:null,ovmap:null,size:new Mip.Size(180,90),layers:null,minRatio:12,maxRatio:18,mapOptions:{"tileSize":new Mip.Size(256,256),"maxResolution":"auto","maxExtent":new Mip.Bounds(-18824466,-7898123,21337000,18127000),"controls":[],"theme":Configuration.Theme},staticMap:false,initialize:function(A){this.layers=[];Mip.Control.prototype.initialize.apply(this,[A])},destroy:function(){if(!this.mapDiv){return }this.mapDiv.removeChild(this.extentRectangle);this.extentRectangle=null;if(this.staticMap==false){this.rectEvents.destroy();this.rectEvents=null}this.ovmap.destroy();this.ovmap=null;this.element.removeChild(this.mapDiv);this.mapDiv=null;if(this.staticMap==false){this.mapDivEvents.destroy();this.mapDivEvents=null}this.div.removeChild(this.element);this.element=null;if(this.staticMap==false){this.elementEvents.destroy();this.elementEvents=null}if(this.maximizeDiv){Mip.Event.stopObservingElement(this.maximizeDiv);this.div.removeChild(this.maximizeDiv);this.maximizeDiv=null}if(this.minimizeDiv){Mip.Event.stopObservingElement(this.minimizeDiv);this.div.removeChild(this.minimizeDiv);this.minimizeDiv=null}this.map.events.unregister("moveend",this,this.update);this.map.events.unregister("changebaselayer",this,this.baseLayerDraw);Mip.Control.prototype.destroy.apply(this,arguments)},draw:function(){Mip.Control.prototype.draw.apply(this,arguments);if(!(this.layers.length>0)){if(this.map.baseLayer){var B=this.map.baseLayer.clone();B.buffer=0;this.layers=[B]}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.borderTop="1px solid #585864";this.mapDiv.style.borderLeft="1px solid #585864";this.mapDiv.id=Mip.Util.createUniqueID("overviewMap");this.extentRectangle=document.createElement("div");this.extentRectangle.style.position="absolute";this.extentRectangle.style.zIndex=1000;this.extentRectangle.style.overflow="hidden";this.extentRectangle.style.backgroundImage="url("+Mip.Util.getImagesLocation()+"blank.gif)";this.extentRectangle.className=this.displayClass+"ExtentRectangle";this.mapDiv.appendChild(this.extentRectangle);this.element.appendChild(this.mapDiv);this.div.appendChild(this.element);this.map.events.register("moveend",this,this.update);if(this.staticMap==false){this.elementEvents=new Mip.Events(this,this.element);this.elementEvents.register("mousedown",this,function(D){Mip.Event.stop(D)});this.elementEvents.register("click",this,function(D){Mip.Event.stop(D)});this.elementEvents.register("dblclick",this,function(D){Mip.Event.stop(D)});this.rectEvents=new Mip.Events(this,this.extentRectangle,null,true);this.rectEvents.register("mouseout",this,this.rectMouseOut);this.rectEvents.register("mousedown",this,this.rectMouseDown);this.rectEvents.register("mousemove",this,this.rectMouseMove);this.rectEvents.register("mouseup",this,this.rectMouseUp);this.rectEvents.register("click",this,function(D){Mip.Event.stop(D)});this.rectEvents.register("dblclick",this,this.rectDblClick);this.mapDivEvents=new Mip.Events(this,this.mapDiv);this.mapDivEvents.register("click",this,this.mapDivClick)}if(!this.outsideViewport){this.div.className=this.displayClass+"Container";var C=Mip.Util.getImagesLocation();var A=C+"maximize.gif";this.maximizeDiv=Mip.Util.createAlphaImageDiv(this.displayClass+"MaximizeButton",null,new Mip.Size(15,15),A,"absolute");this.maximizeDiv.style.display="none";this.maximizeDiv.className=this.displayClass+"MaximizeButton";Mip.Event.observe(this.maximizeDiv,"click",this.maximizeControl.bindAsEventListener(this));Mip.Event.observe(this.maximizeDiv,"dblclick",function(D){Mip.Event.stop(D)});Mip.Event.observe(this.maximizeDiv,"mouseover",this.button_mouseOver.bindAsEventListener(this.maximizeDiv));Mip.Event.observe(this.maximizeDiv,"mouseout",this.button_mouseOut.bindAsEventListener(this.maximizeDiv));this.div.appendChild(this.maximizeDiv);var A=C+"minimize.gif";this.minimizeDiv=Mip.Util.createAlphaImageDiv("Mip_Control_minimizeDiv",null,new Mip.Size(15,15),A,"absolute");this.minimizeDiv.style.display="none";this.minimizeDiv.className=this.displayClass+"MinimizeButton";Mip.Event.observe(this.minimizeDiv,"click",this.minimizeControl.bindAsEventListener(this));Mip.Event.observe(this.minimizeDiv,"dblclick",function(D){Mip.Event.stop(D)});Mip.Event.observe(this.minimizeDiv,"mouseover",this.button_mouseOver.bindAsEventListener(this.minimizeDiv));Mip.Event.observe(this.minimizeDiv,"mouseout",this.button_mouseOut.bindAsEventListener(this.minimizeDiv));this.div.appendChild(this.minimizeDiv)}else{this.element.style.display=""}if(this.map.getExtent()){this.update()}this.maximizeControl();return this.div},baseLayerDraw:function(){this.draw();this.map.events.unregister("changebaselayer",this,this.baseLayerDraw)},rectMouseOut:function(A){if(this.rectDragStart!=null){if(this.performedRectDrag){this.rectMouseMove(A);var B=this.getRectPxBounds();if((B.top<=0)||(B.left<=0)||(B.bottom>=this.size.h-this.hComp)||(B.right>=this.size.w-this.wComp)){this.updateMapToRect()}else{return }}document.onselectstart=null;this.rectDragStart=null}},rectMouseDown:function(A){if(!Mip.Event.isLeftClick(A)){return }this.rectDragStart=A.xy.clone();this.performedRectDrag=false;Mip.Event.stop(A)},rectMouseMove:function(J){if(this.rectDragStart!=null){var E=this.rectDragStart.x-J.xy.x;var C=this.rectDragStart.y-J.xy.y;var B=this.getRectPxBounds();var H=B.top;var A=B.left;var F=Math.abs(B.getHeight());var D=B.getWidth();var G=Math.max(0,(H-C));G=Math.min(G,this.ovmap.size.h-this.hComp-F);var I=Math.max(0,(A-E));I=Math.min(I,this.ovmap.size.w-this.wComp-D);this.setRectPxBounds(new Mip.Bounds(I,G+F,I+D,G));this.rectDragStart=J.xy.clone();this.performedRectDrag=true;Mip.Event.stop(J)}},rectMouseUp:function(A){if(!Mip.Event.isLeftClick(A)){return }if(this.performedRectDrag){this.updateMapToRect();Mip.Event.stop(A)}document.onselectstart=null;this.rectDragStart=null},rectDblClick:function(A){this.performedRectDrag=false;Mip.Event.stop(A);this.updateOverview()},mapDivClick:function(J){var C=this.getRectPxBounds();var B=C.getCenterPixel();var F=J.xy.x-B.x;var E=J.xy.y-B.y;var H=C.top;var D=C.left;var K=Math.abs(C.getHeight());var A=C.getWidth();var G=Math.max(0,(H+E));G=Math.min(G,this.ovmap.size.h-K);var I=Math.max(0,(D+F));I=Math.min(I,this.ovmap.size.w-A);this.setRectPxBounds(new Mip.Bounds(I,G+K,I+A,G));this.updateMapToRect();Mip.Event.stop(J)},maximizeControl:function(E){this.element.style.display="";this.showToggle(false);if(E!=null){Mip.Event.stop(E)}var C=$("MappingHelpControlDiv");if(C&&C.style){C.style.right=(this.size.w+8)+"px"}var B=$("MappingHelpControlContentDiv");if(B&&B.style){B.style.right=(this.size.w+18)+"px"}var A=$("MappingCopyrightControlDiv");if(A&&A.style){A.style.right=(this.size.w+30)+"px"}if(this.map&&this.map.layers){var D=this.map.layers.length;for(var C=0;C<D;C++){var B=this.map.layers[C];if(B.terms&&B.terms.style){B.terms.style.right=(this.size.w+15)+"px"}}}},minimizeControl:function(E){this.element.style.display="none";this.showToggle(true);if(E!=null){Mip.Event.stop(E)}var C=$("MappingHelpControlDiv");if(C&&C.style){C.style.right="20px"}var B=$("MappingHelpControlContentDiv");if(B&&B.style){B.style.right="30px"}var A=$("MappingCopyrightControlDiv");if(A&&A.style){A.style.right="40px"}if(this.map&&this.map.layers){var D=this.map.layers.length;for(var C=0;C<D;C++){var B=this.map.layers[C];if(B.terms&&B.terms.style){B.terms.style.right="15px"}}}},showToggle:function(A){this.maximizeDiv.style.display=A?"":"none";this.minimizeDiv.style.display=A?"none":""},update:function(){if(this.ovmap==null){this.createMap()}if(!this.isSuitableOverview()){this.updateOverview()}this.updateRectToMap()},isSuitableOverview:function(){var B=this.map.getExtent();var A=this.map.maxExtent;var C=new Mip.Bounds(Math.max(B.left,A.left),Math.max(B.bottom,A.bottom),Math.min(B.right,A.right),Math.min(B.top,A.top));var D=this.ovmap.getResolution()/this.map.getResolution();return((D>this.minRatio)&&(D<=this.maxRatio)&&(this.ovmap.getExtent().containsBounds(C)))},updateOverview:function(){var B=this.map.getResolution();var A=this.ovmap.getResolution();var C=A/B;if(C>this.maxRatio){A=this.minRatio*B}else{if(C<=this.minRatio){A=this.maxRatio*B}}this.ovmap.setCenter(this.map.center,this.ovmap.getZoomForResolution(A));this.updateRectToMap()},createMap:function(){var A=Mip.Util.extend({controls:[],maxResolution:"auto"},this.mapOptions);this.ovmap=new Mip.Map(this.mapDiv.id,A);this.ovmap.addLayers(this.layers);this.wComp=parseInt(Mip.Element.getStyle(this.extentRectangle,"border-left-width"))+parseInt(Mip.Element.getStyle(this.extentRectangle,"border-right-width"));this.wComp=(this.wComp)?this.wComp:2;this.hComp=parseInt(Mip.Element.getStyle(this.extentRectangle,"border-top-width"))+parseInt(Mip.Element.getStyle(this.extentRectangle,"border-bottom-width"));this.hComp=(this.hComp)?this.hComp:2},updateRectToMap:function(){if(this.map.units!="degrees"){if(this.ovmap.getProjection()&&(this.map.getProjection()!=this.ovmap.getProjection())){alert("The overview map only works when it is in the same projection as the main map")}}var A=this.getRectBoundsFromMapBounds(this.map.getExtent());if(A){this.setRectPxBounds(A)}},updateMapToRect:function(){var B=this.getRectPxBounds();var A=this.getMapBoundsFromRectBounds(B);this.map.setCenter(A.getCenterLonLat(),this.map.zoom)},getRectPxBounds:function(){var D=parseInt(this.extentRectangle.style.top);var C=parseInt(this.extentRectangle.style.left);var A=parseInt(this.extentRectangle.style.height);var B=parseInt(this.extentRectangle.style.width);return new Mip.Bounds(C,D+A,C+B,D)},setRectPxBounds:function(C){var E=Math.max(C.top,0);var D=Math.max(C.left,0);var A=Math.min(C.top+Math.abs(C.getHeight()),this.ovmap.size.h-this.hComp);var B=Math.min(C.left+C.getWidth(),this.ovmap.size.w-this.wComp);this.extentRectangle.style.top=parseInt(E)+"px";this.extentRectangle.style.left=parseInt(D)+"px";this.extentRectangle.style.height=parseInt(Math.max(A-E,0))+"px";this.extentRectangle.style.width=parseInt(Math.max(B-D,0))+"px"},getRectBoundsFromMapBounds:function(D){var A=new Mip.LonLat(D.left,D.bottom);var F=new Mip.LonLat(D.right,D.top);var C=this.getOverviewPxFromLonLat(A);var B=this.getOverviewPxFromLonLat(F);var E=null;if(C&&B){E=new Mip.Bounds(C.x,C.y,B.x,B.y)}return E},getMapBoundsFromRectBounds:function(D){var C=new Mip.Pixel(D.left,D.bottom);var B=new Mip.Pixel(D.right,D.top);var A=this.getLonLatFromOverviewPx(C);var E=this.getLonLatFromOverviewPx(B);return new Mip.Bounds(A.lon,A.lat,E.lon,E.lat)},getLonLatFromOverviewPx:function(F){var C=this.ovmap.size;var B=this.ovmap.getResolution();var A=this.ovmap.getExtent().getCenterLonLat();var E=F.x-(C.w/2);var D=F.y-(C.h/2);return new Mip.LonLat(A.lon+E*B,A.lat-D*B)},getOverviewPxFromLonLat:function(D){var B=this.ovmap.getResolution();var C=this.ovmap.getExtent();var A=null;if(C){A=new Mip.Pixel(Math.round(1/B*(D.lon-C.left)),Math.round(1/B*(C.top-D.lat)))}return A},enable:function(){},disable:function(){},button_mouseOver:function(){this.style.cursor="pointer"},button_mouseOut:function(){this.style.cursor="default"},CLASS_NAME:"Mip.Control.OverviewMap"});Map=Mip.Class.create();Map.STATE=Mapping_State.LOADING_JAVASCRIPT;Map.prototype={EVENT_TYPES:["map_initialized","config_loaded","draw_map","map_drawed"],member:null,srid:null,client:null,isAuthentified:false,mapMustBeDrawed:false,div:null,originCenter:null,originZoom:null,zoom:null,map:null,layers:null,poiLayerList:null,config:null,poigroupList:null,extent:null,address:null,target:null,targetLayer:null,maxPolygon:null,maxZoom:0,navigation:null,events:null,grayscale:false,registeredActions:null,initialize:function(A,B,C){Map.STATE=Mapping_State.INITIALIZING;this.events=new Mip.Events(this,null,this.EVENT_TYPES);__manager=new QueryManager();this.elementsToLoad=0;CurrentLanguage=__Languages.getLanguage(C);this.isAuthentified=false;this.member=A;this.div=$(B);__manager.setMemberId(this.member);this.layers=[];this.poigroupList=[];this.poiLayerList=[];this.controlsList=[];this.registeredActions=[];this.events.register("config_loaded",this,this.initializeMap);this.events.register("map_initialized",this,this.executeRegisteredActions);this.createMap();this.navigation=new NavigationTools(this.map);this.requestConfiguration()},requestConfiguration:function(){Map.STATE=Mapping_State.REQUESTING_CONFIG;var A={};A.command="config";A.stats="true";__manager.loadUrl(Configuration.ServerUrl,A,this,this.loadConfiguration)},loadConfiguration:function(A){this.isAuthentified=false;if(A&&A.mapping){if(A.mapping.error){}else{if(A.mapping.result){if(this.authenticate(A.mapping.result)){this.config=A.mapping.result;this.events.triggerEvent("config_loaded")}else{alert("You cannot use this mapping service");if(this.map){this.map.destroy()}}}}}},createMap:function(){this.map=new Mip.Map(this.div.id,{"tileSize":new Mip.Size(256,256),"maxResolution":"auto","maxExtent":new Mip.Bounds(-18824466,-7898123,21337000,18127000),"controls":[],"theme":Configuration.Theme});this.map.mapping=this;var A=this.map.getSize();if(A==null||A.w<10||A.h<10){this.div.style.width=Configuration.Mapping.MinimalSize.Width;this.div.style.height=Configuration.Mapping.MinimalSize.Height}},initializeMap:function(A){if(this.config.guid){__manager.setGuid(this.config.guid)}if(this.config.layers){this.createLayers(this.config.layers)}else{}if(this.config.controls){this.initNavigation()}else{}Map.STATE=Mapping_State.INITIALIZED;this.events.triggerEvent("map_initialized")},createLayers:function(A){if(this.authenticate()){var E=null;var F=A.length;for(var D=0;D<F;D++){var C=A[D].components[0];if(!C.command.contains("google")){var G={};G.command=C.command;if(C.style){G.style=C.style}G.transparency=C.transparency;E=new Mip.Layer.MipLayer(this.member,A[D].name,Configuration.Mapping.ServerUrl,G,Configuration.Mapping.Options.DataLayer,false)}else{var B={};B.resolutions=Configuration.Mapping.Options.DataLayer.resolutions.slice();B.projection=Configuration.Mapping.Options.DataLayer.projection;B.units=Configuration.Mapping.Options.DataLayer.units;switch(C.command){case"google_map":B.type=G_NORMAL_MAP;break;case"google_mixte":B.type=G_HYBRID_MAP;break;case"google_satellite":B.type=G_SATELLITE_MAP;break}B.resolutions.push(0.5);E=new Mip.Layer.GoogleMercator(A[D].name,B)}this.layers.push(E);this.map.addLayer(E);E=null}}},authenticate:function(B){var A=null;if(B){if(B.hosts){A=B.hosts}}else{if(this.config&&this.config.hosts){A=this.config.hosts}}this.isAuthentified=false;if(A!=null){var E=A.length;var D=Mip.Util.getReferrer();for(var C=0;C<E;C++){if(A[C]==D){this.isAuthentified=true;break}}}return this.isAuthentified},reset:function(){this.setCenter(this.originCenter.lon,this.originCenter.lat,this.originZoom)},setLayersResolutions:function(){if(isNaN(this.map.getCurrentSize().w)){setTimeout(this.setLayersResolutions.bind(this),50)}else{if(this.maxPolygon!=null){var B=this.maxPolygon.getExtent();this.maxZoom=this.map.getZoomForExtent(B);if(this.maxZoom!=null){var A=Configuration.Mapping.Options.DataLayer.resolutions;var C=[];var E=A.length;for(var D=this.maxZoom;D<E;D++){C.push(A[D])}if(C.length>0&&this.layers){E=this.layers.length;for(var D=0;D<E;D++){this.layers[D].setResolutions(C)}}}else{this.maxZoom=0}if(this.zoom){this.setZoomLevel(this.zoom)}}this.map.events.triggerEvent("changelayer")}},getZoomForZoomLevel:function(B){var A=0;if(B!=null){if(this.maxZoom!=null){A=B-this.maxZoom}else{A=B}}if(Map.STATE>=Mapping_State.INITIALIZED){if(A>this.map.getNumZoomLevels()){A=this.map.getNumZoomLevels()-1}if(A<0){A=0}}return A},getZoomLevelForZoom:function(A){var B=0;if(A!=null){if(this.maxZoom!=null){B=A+this.maxZoom}else{B=A}}if(Map.STATE>=Mapping_State.INITIALIZED){if(B>this.map.getNumZoomLevels()){B=this.map.getNumZoomLevels()-1}if(B<0){B=0}}return B},initNavigation:function(){if(this.config&&this.config.controls){this.navigation.init(this.config.controls)}},setCenter_coordinates:function(A,D,C){var B=new Mip.LonLat(A,D);if(this.srid=="EPSG:4326"){B=Mip.Projection["EPSG:54004"].forward(B)}if(B!=null){this.originCenter=B;if(C!=null){this.zoom=this.getZoomForZoomLevel(parseInt(C))}else{this.zoom=this.map.getZoom()}if(Map.STATE>=Mapping_State.INITIALIZED&&this.map!=null&&this.zoom!=null){this.map.setCenter(this.originCenter,this.zoom)}}},setCenter_address:function(A,B){this.address=A;if(B!=null){this.zoom=this.getZoomForZoomLevel(parseInt(B))}if(this.address.lonlat==null){this.address.events.register("coord_loaded",this,this.address_loaded)}else{this.address_loaded()}},address_loaded:function(){if(this.address&&this.address.lonlat!=null){var A=this.address.lonlat;if(this.srid=="EPSG:4326"){A=Mip.Projection["EPSG:54004"].inverse(A)}this.setCenter_coordinates(A.lon,A.lat,this.getZoomLevelForZoom(this.zoom))}},registerAction:function(B,A){var C={};C.fct=B;C.arg=A;this.registeredActions.push(C)},executeRegisteredActions:function(){while(this.registeredActions.length>0){var A=this.registeredActions[0];A.fct.apply(this,A.arg);Mip.Util.removeItem(this.registeredActions,A)}this.events.triggerEvent("map_drawed");__stat.setMap(this.map);__stat.insertHit()},setCenter:function(A,C,B){if(Map.STATE>=Mapping_State.INITIALIZED){if(A.isAddress){this.setCenter_address(A,C)}else{this.setCenter_coordinates(A,C,B)}}else{this.registerAction(this.setCenter,arguments)}},getCenter:function(){var A=null;if(this.map){A=this.map.getCenter()}else{A=this.originCenter}if(this.srid=="EPSG:4326"){return Mip.Projection["EPSG:54004"].inverse(A)}else{return A}},viewExtent:function(A){if(Map.STATE>=Mapping_State.INITIALIZED){if(A&&this.map){if(this.srid=="EPSG:4326"){this.extent=A.getProjectedExtent()}else{this.extent=A}this.map.zoomToExtent(this.extent);this.zoom=this.map.getZoom();this.originZoom=this.getZoomLevelForZoom(this.zoom)}}else{this.registerAction(this.viewExtent,arguments)}},setZoomLevel:function(A){if(Map.STATE>=Mapping_State.INITIALIZED){this.originZoom=parseInt(A);this.zoom=this.getZoomForZoomLevel(parseInt(A));this.map.setCenter(this.originCenter,this.zoom)}else{this.registerAction(this.setZoomLevel,arguments)}},setNavigation:function(A){if(A==true){this.navigation.enable()}else{this.navigation.disable()}},addPoiGroup:function(A){if(Map.STATE>=Mapping_State.INITIALIZED){if(A){A.map=this;this.poigroupList.push(A);if(A.viewAll==true){this.extent=A.computeViewAllExtent(this.extent);this.viewExtent(this.extent)}A.load()}}else{this.registerAction(this.addPoiGroup,arguments)}},addLayer:function(A){if(A){if(this.layers){this.layers.push(A)}if(this.map){this.map.addLayer(A)}}},removeLayer:function(A){if(A){if(this.layers){Mip.Util.removeItem(this.layers,A)}if(this.map){this.map.removeLayer(A)}}},setWheelEvent:function(A){this.navigation.setWheelEvent(A)},setTarget:function(B){if(Map.STATE>=Mapping_State.INITIALIZED){if(B){if(this.targetLayer==null){var A=new Mip.Layer.ClientPoiLayer("Mapping_Target_Layer",Configuration.Mapping.Options.DataLayer,false);this.targetLayer=A;this.map.addLayer(A)}B.setMap(this);if(this.target!=null){this.target.destroy()}this.target=B;this.target.draw();this.map.setCenter(this.target.localization)}}else{this.registerAction(this.setTarget,arguments)}},setMaxPolygon:function(A){if(Map.STATE>=Mapping_State.INITIALIZED){if(A){if(this.srid=="EPSG:4326"){this.maxPolygon=A.getProjectedPolygon()}else{this.maxPolygon=A}}else{this.maxPolygon=null}if(this.layers&&this.layers.length>0){this.setLayersResolutions()}}else{this.registerAction(this.setMaxPolygon,arguments)}},setGrayScale:function(A){this.grayscale=A},setSrid:function(A){if(A){this.srid=A}},getResolution:function(){var A=null;if(this.map){A=this.map.getResolution()}return A},draw:function(){if(Map.STATE>=Mapping_State.INITIALIZED){this.executeRegisteredActions()}else{this.mustBeDrawed=true}}};StaticMap=Mip.Class.create();StaticMap.STATE=Mapping_State.LOADING_JAVASCRIPT;StaticMap.prototype={EVENT_TYPES:["map_initialized","config_loaded","draw_map","map_drawed"],member:null,srid:null,client:null,isAuthentified:false,mustBeDrawed:false,div:null,center:null,zoom:null,map:null,layers:null,poiLayerList:null,config:null,poigroupList:null,extent:null,address:null,target:null,targetLayer:null,navigation:null,events:null,grayscale:false,registeredActions:null,initialize:function(A,B,C){Map.STATE=Mapping_State.INITIALIZING;this.events=new Mip.Events(this,null,this.EVENT_TYPES);__manager=new QueryManager();this.elementsToLoad=0;CurrentLanguage=__Languages.getLanguage(C);this.isAuthentified=false;this.member=A;this.div=$(B);__manager.setMemberId(this.member);this.layers=[];this.poigroupList=[];this.poiLayerList=[];this.controlsList=[];this.registeredActions=[];this.events.register("config_loaded",this,this.initializeMap);this.events.register("map_initialized",this,this.executeRegisteredActions);this.createMap();this.navigation=new NavigationTools(this.map);this.requestConfiguration()},requestConfiguration:function(){Map.STATE=Mapping_State.REQUESTING_CONFIG;var A={};A.command="config";A.stats="true";__manager.loadUrl(Configuration.ServerUrl,A,this,this.loadConfiguration)},loadConfiguration:function(A){this.isAuthentified=false;if(A&&A.mapping){if(A.mapping.error){}else{if(A.mapping.result){if(this.authenticate(A.mapping.result)){this.config=A.mapping.result;this.events.triggerEvent("config_loaded")}else{if(this.map){this.map.destroy()}alert("You cannot use this service")}}}}},createMap:function(){this.map=new Mip.Map(this.div.id,{"tileSize":new Mip.Size(256,256),"maxResolution":"auto","maxExtent":new Mip.Bounds(-18824466,-7898123,21337000,18127000),"controls":[],"theme":Configuration.Theme});this.map.mapping=this;var A=this.map.getSize();if(A==null||A.w<10||A.h<10){this.div.style.width=Configuration.Mapping.MinimalSize.Width;this.div.style.height=Configuration.Mapping.MinimalSize.Height}},initializeMap:function(A){if(this.config.guid){__manager.setGuid(this.config.guid)}if(this.config.layers){this.createLayers(this.config.layers)}else{}if(this.config.controls){this.initNavigation()}else{}Map.STATE=Mapping_State.INITIALIZED;this.events.triggerEvent("map_initialized")},createLayers:function(A){if(this.authenticate()){var D=null;var E=A.length;for(var C=0;C<E;C++){var B=A[C].components[0];if(B.command=="image"){var F={};F.command=B.command;if(B.style){F.style=B.style}F.transparency=B.transparency;D=new Mip.Layer.Static(this.member,A[C].name,Configuration.Mapping.ServerUrl,F,Configuration.Mapping.Options.DataLayer);this.layers.push(D);this.map.addLayer(D);D=null;break}}}},initNavigation:function(){if(this.authenticate()){var A=[];A.push("Copyright");A.push("Logo");A.push("OverviewMap");this.navigation.init(A,true)}},authenticate:function(B){var A=null;if(B){if(B.hosts){A=B.hosts}}else{if(this.config&&this.config.hosts){A=this.config.hosts}}this.isAuthentified=false;if(A!=null){var E=A.length;var D=Mip.Util.getReferrer();for(var C=0;C<E;C++){if(A[C]==D){this.isAuthentified=true;break}}}return this.isAuthentified},reset:function(){this.setCenter(this.originCenter.lon,this.originCenter.lat,this.originZoom)},setCenter_coordinates:function(A,D,C){var B=new Mip.LonLat(A,D);if(this.srid=="EPSG:4326"){B=Mip.Projection["EPSG:54004"].forward(B)}if(B!=null){this.center=B;if(C){this.zoom=parseInt(C)}}},setCenter_address:function(A,B){this.address=A;if(B!=null){this.zoom=parseInt(B)}if(this.address.lonlat==null){this.address.events.register("coord_loaded",this,this.address_loaded)}else{this.address_loaded()}},address_loaded:function(){if(this.address&&this.address.lonlat!=null){var A=this.address.lonlat;if(this.srid=="EPSG:4326"){A=Mip.Projection["EPSG:54004"].inverse(A)}this.setCenter_coordinates(A.lon,A.lat,this.getZoomLevelForZoom(this.zoom))}},registerAction:function(B,A){var C={};C.fct=B;C.arg=A;this.registeredActions.push(C)},executeRegisteredActions:function(){while(this.registeredActions.length>0){var A=this.registeredActions[0];A.fct.apply(this,A.arg);Mip.Util.removeItem(this.registeredActions,A)}this.events.triggerEvent("map_drawed");__stat.setMap(this.map);__stat.insertHit()},setCenter:function(A,C,B){if(Map.STATE>=Mapping_State.INITIALIZED){if(A.isAddress){this.setCenter_address(A,C)}else{this.setCenter_coordinates(A,C,B)}}else{this.registerAction(this.setCenter,arguments)}},getCenter:function(){var A=null;if(this.map){A=this.map.getCenter()}else{A=this.center}if(this.srid=="EPSG:4326"){return Mip.Projection["EPSG:54004"].inverse(A)}else{return A}},viewExtent:function(A){if(Map.STATE>=Mapping_State.INITIALIZED){if(A&&this.map){if(this.srid=="EPSG:4326"){A=A.getProjectedExtent()}this.zoom=this.map.getZoomToExtent(A);this.center=A.getCenterLonLat()}}else{this.registerAction(this.viewExtent,arguments)}},setZoomLevel:function(A){if(Map.STATE>=Mapping_State.INITIALIZED){this.zoom=parseInt(A)}else{this.registerAction(this.setZoomLevel,arguments)}},addPoiGroup:function(A){if(Map.STATE>=Mapping_State.INITIALIZED){if(A){A.map=this;this.poigroupList.push(A);if(A.viewAll==true){var B=A.computeViewAllExtent(this.extent);this.viewExtent(B)}A.load()}}else{this.registerAction(this.addPoiGroup,arguments)}},addLayer:function(A){if(A){if(this.layers){this.layers.push(A)}if(this.map){this.map.addLayer(A)}}},removeLayer:function(A){if(A){if(this.layers){Mip.Util.removeItem(this.layers,A)}if(this.map){this.map.removeLayer(A)}}},setTarget:function(C){if(Map.STATE>=Mapping_State.INITIALIZED){if(C){if(this.targetLayer==null){var A=new Mip.Layer.ClientPoiLayer("Mapping_Target_Layer",Configuration.Mapping.Options.DataLayer,false);this.targetLayer=A;this.map.addLayer(A)}C.setMap(this);if(this.target!=null){this.target.destroy()}this.target=C;this.target.draw();var B=this.target.localization;this.setCenter_coordinates(B.lon,B.lat)}}else{this.registerAction(this.setTarget,arguments)}},setGrayScale:function(A){this.grayscale=A},setSrid:function(A){if(A){this.srid=A}},draw:function(){if(Map.STATE>=Mapping_State.INITIALIZED&&this.mustBeDrawed==true){this.mustBeDrawed=false;this.map.setCenter(this.center,this.zoom)}else{this.mustBeDrawed=true;this.registerAction(this.draw,arguments)}}}
