 var isCSS, isW3C, isIE4, isNN4; function initDHTMLAPI() { if (document.images) { isCSS=(document.body && document.body.style) ? true : false; isW3C=(isCSS && document.getElementById) ? true : false; isIE4=(isCSS && document.all) ? true : false; isNN4=(document.layers) ? true : false; isIE6CSS=(document.compatMode && document.compatMode.indexOf("CSS1") >=0) ? true : false; }} function seekLayer(doc, name) { var theObj; for (var i=0; i < doc.layers.length; i++) { if (doc.layers[i].name==name) { theObj=doc.layers[i]; break; } if (doc.layers[i].document.layers.length > 0) { theObj=seekLayer(document.layers[i].document, name); } } return theObj;} function getRawObject(obj) { var theObj; if (typeof obj=="string") { if (isW3C) { theObj=document.getElementById(obj); } else if (isIE4) { theObj=document.all(obj); } else if (isNN4) { theObj=seekLayer(document, obj); } } else { theObj=obj; } return theObj;} function getObject(obj) { var theObj=getRawObject(obj); if (theObj && isCSS) { theObj=theObj.style; } return theObj;} function shiftTo(obj, x, y) { var theObj=getObject(obj); if (theObj) { if (isCSS) { var units=(typeof theObj.left=="string") ? "px" : 0; theObj.left=x + units; theObj.top=y + units; } else if (isNN4) { theObj.moveTo(x,y) } }} function shiftBy(obj, deltaX, deltaY) { var theObj=getObject(obj); if (theObj) { if (isCSS) { var units=(typeof theObj.left=="string") ? "px" : 0; theObj.left=getObjectLeft(obj) + deltaX + units; theObj.top=getObjectTop(obj) + deltaY + units; } else if (isNN4) { theObj.moveBy(deltaX, deltaY); } }} function setZIndex(obj, zOrder) { var theObj=getObject(obj); if (theObj) { theObj.zIndex=zOrder; }} function setBGColor(obj, color) { var theObj=getObject(obj); if (theObj) { if (isNN4) { theObj.bgColor=color; } else if (isCSS) { theObj.backgroundColor=color; } }} function show(obj) { var theObj=getObject(obj); if (theObj) { theObj.visibility="visible"; }} function hide(obj) { var theObj=getObject(obj); if (theObj) { theObj.visibility="hidden"; }} function getObjectLeft(obj) { var elem=getRawObject(obj); var result=0; if (document.defaultView) { var style=document.defaultView; var cssDecl=style.getComputedStyle(elem, ""); result=cssDecl.getPropertyValue("left"); } else if (elem.currentStyle) { result=elem.currentStyle.left; } else if (elem.style) { result=elem.style.left; } else if (isNN4) { result=elem.left; } return parseInt(result);} function getObjectTop(obj) { var elem=getRawObject(obj); var result=0; if (document.defaultView) { var style=document.defaultView; var cssDecl=style.getComputedStyle(elem, ""); result=cssDecl.getPropertyValue("top"); } else if (elem.currentStyle) { result=elem.currentStyle.top; } else if (elem.style) { result=elem.style.top; } else if (isNN4) { result=elem.top; } return parseInt(result);} function getObjectWidth(obj) { var elem=getRawObject(obj); var result=0; if (elem.offsetWidth) { result=elem.offsetWidth; } else if (elem.clip && elem.clip.width) { result=elem.clip.width; } else if (elem.style && elem.style.pixelWidth) { result=elem.style.pixelWidth; } return parseInt(result);} function getObjectHeight(obj) { var elem=getRawObject(obj); var result=0; if (elem.offsetHeight) { result=elem.offsetHeight; } else if (elem.clip && elem.clip.height) { result=elem.clip.height; } else if (elem.style && elem.style.pixelHeight) { result=elem.style.pixelHeight; } return parseInt(result);} function getInsideWindowWidth() { if (window.innerWidth) { return window.innerWidth; } else if (isIE6CSS) { return document.body.parentElement.clientWidth; } else if (document.body && document.body.clientWidth) { return document.body.clientWidth; } return 0;} function getInsideWindowHeight() { if (window.innerHeight) { return window.innerHeight; } else if (isIE6CSS) { return document.body.parentElement.clientHeight; } else if (document.body && document.body.clientHeight) { return document.body.clientHeight; } return 0;}  var aXmlHttp=new Array();var aXmlResponse=new Array();function xmlResult(){ for(var i=0;i<aXmlHttp.length;i++) { if(aXmlHttp[i] && aXmlHttp[i][0] && aXmlHttp[i][0].readyState==4&&aXmlHttp[i][0].responseText) { var f=aXmlHttp[i][2]; var o=aXmlHttp[i][1]; var s=aXmlHttp[i][0].responseText; aXmlHttp[i][0]=null; aXmlHttp[i][1]=null; aXmlHttp[i]=null; f.apply(o,new Array(s)); } }} function call(u,o,f){ var method="GET"; var dat; if (arguments.length==4){ method="POST"; tmp=u.split(/\?/); u=tmp[0]; dat=tmp[1]; } var idx=aXmlHttp.length; for(var i=0; i<idx;i++) if (aXmlHttp[i]==null) { idx=i; break; } aXmlHttp[idx]=new Array(2); aXmlHttp[idx][0]=getXMLHTTP(); aXmlHttp[idx][1]=o; aXmlHttp[idx][2]=f; if(aXmlHttp[idx]) { aXmlHttp[idx][0].open(method,u,true); if(method=="POST"){ aXmlHttp[idx][0].setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); aXmlHttp[idx][0].send(dat); } aXmlHttp[idx][0].onreadystatechange=xmlResult; if(method=="GET"){ aXmlHttp[idx][0].send(null);} }} function getXMLHTTP(){ var A=null; if(!A && typeof XMLHttpRequest !="undefined") { A=new XMLHttpRequest(); } if (!A) { try { A=new ActiveXObject("Msxml2.XMLHTTP"); } catch(e) { try { A=new ActiveXObject("Microsoft.XMLHTTP"); } catch(oc) { A=null } } } return A;} function kaZoomer(oKaMap){ this.kaMap=oKaMap; this.domObj=oKaMap.domObj; this.nZoomImageHeight=17; this.opacity=50; this.left=null; this.top=3; this.right=6; this.bottom=null; this.zoomControlObj=null; this.draw=kaZoomer_draw; this.update=kaZoomer_update; this.kaMap.registerForEvent( KAMAP_MAP_INITIALIZED, this, this.draw );} function kaZoomer_setPosition( left, top, right, bottom ){ this.left=left; this.top=top; this.right=right; this.bottom=bottom; if (this.zoomControlObj !=null) { if (this.left !=null) { oZoomControl.style.left=this.left + 'px'; } else if (this.right !=null) { oZoomControl.style.right=this.right + 'px'; } if (this.top !=null) { oZoomControl.style.top=this.top + 'px'; } else if (this.bottom !=null) { oZoomControl.style.bottom=this.bottom + 'px'; } }} function kaZoomer_update(){ var nThumbHeight=dd.elements.zoomTrack.div.elementHeight; var nTrackTop=dd.elements.zoomTrack.y; var oKaMap=dd.elements.zoomTrack.div.kaZoomer.kaMap; var oMap=oKaMap.getCurrentMap(); var nCurrentScale=parseInt(oMap.currentScale) + 1; var nScales=oMap.getScales().length; var nTrackHeight=this.nZoomImageHeight * nScales; var nPos=(nScales-nCurrentScale)*nThumbHeight; dd.elements.zoomThumb.moveTo(dd.elements.zoomThumb.x,nTrackTop + nPos);} function kaZoomer_draw(){ var oMap=this.kaMap.getCurrentMap(); var nScales=oMap.getScales().length; var nCurrentScale=oMap.currentScale; var nTrackHeight=this.nZoomImageHeight * nScales; var nTrackMaxPosition=this.nZoomImageHeight * (nScales - 1); var nInitialPosition=dd.Int(this.nZoomImageHeight * (nScales - nCurrentScale - 1)); var szThumbImg='images/slider_button.png'; var szTrackTopImg='images/slider_tray_top.png'; var szTrackBottomImg='images/slider_tray_bottom.png'; this.zoomControlObj=document.createElement('div'); this.zoomControlObj.id='zoomControl'; this.zoomControlObj.style.position='absolute'; if (this.left !=null) { if (this.left=='') { this.zoomControlObj.style.left=''; } else { this.zoomControlObj.style.left=this.left + 'px'; } } else if (this.right !=null) { if (this.right=='') { this.zoomControlObj.style.right=''; } else { this.zoomControlObj.style.right=this.right + 'px'; } } if (this.top !=null) { if (this.top=='') { this.zoomControlObj.style.top=''; } else { this.zoomControlObj.style.top=this.top + 'px'; } } else if (this.bottom !=null) { if (this.bottom=='') { this.zoomControlObj.style.bottom=''; } else { this.zoomControlObj.style.bottom=this.bottom + 'px'; } } this.zoomControlObj.style.width=17 + "px"; this.zoomControlObj.style.height=(nTrackHeight + 2 * this.nZoomImageHeight + 6) + "px"; this.zoomControlObj.style.opacity=this.opacity/100; this.zoomControlObj.style.mozOpacity=this.opacity/100; this.zoomControlObj.style.filter="Alpha(opacity="+this.opacity+")"; this.zoomControlObj.style.cursor='auto'; this.zoomControlObj.style.zIndex=300; this.zoomControlObj.onmouseover=kaZoomer_onmouseover; this.zoomControlObj.onmouseout=kaZoomer_onmouseout; this.zoomControlObj.kaZoomer=this; this.kaMap.domObj.appendChild(this.zoomControlObj); var oZoomTrack=document.createElement( 'div' ); oZoomTrack.id='zoomTrack'; oZoomTrack.kaZoomer=this; oZoomTrack.style.position='absolute'; oZoomTrack.style.left='0px'; oZoomTrack.style.top='20px'; oZoomTrack.style.height=parseInt(nTrackHeight) + 'px'; oZoomTrack.style.width='17px'; oZoomTrack.style.backgroundColor="#acacac"; oZoomTrack.style.backgroundImage="url(images/slider_tray_fill.png)"; oZoomTrack.elementHeight=this.nZoomImageHeight; oZoomTrack.onclick=kaZoomer_zoomTo; this.zoomControlObj.appendChild(oZoomTrack); var oZoomThumb=document.createElement( 'div' ); oZoomThumb.id='zoomThumb'; oZoomThumb.style.position='absolute'; oZoomThumb.style.height='17px'; oZoomThumb.style.width='17px'; oZoomThumb.style.backgroundColor="#888888"; oZoomThumb.innerHTML='<img src="' + szThumbImg +'" border="0" width="17" height="17">'; this.zoomControlObj.appendChild(oZoomThumb); var oZoomTrackTop=document.createElement( 'div' ); oZoomTrackTop.id='zoomTrackTop'; oZoomTrackTop.style.position='absolute'; oZoomTrackTop.style.left='0px'; oZoomTrackTop.style.top='17px'; oZoomTrackTop.style.width='17px'; oZoomTrackTop.style.height='3px'; oZoomTrackTop.innerHTML='<img src="' + szTrackTopImg +'" border="0" width="17" height="3">'; this.zoomControlObj.appendChild(oZoomTrackTop); var oZoomTrackBottom=document.createElement( 'div' ); oZoomTrackBottom.id='zoomTrackBottom'; oZoomTrackBottom.style.position='absolute'; oZoomTrackBottom.style.left='0px'; oZoomTrackBottom.style.top=20 + nTrackHeight + 'px'; oZoomTrackBottom.style.width='17px'; oZoomTrackBottom.style.height='3px'; oZoomTrackBottom.innerHTML='<img src="' + szTrackBottomImg +'" border="0" width="17" height="3">'; this.zoomControlObj.appendChild(oZoomTrackBottom); var oZoomIn=document.createElement('div'); oZoomIn.id='zoomIn'; oZoomIn.style.position='absolute'; oZoomIn.style.top='0px'; oZoomIn.style.left='0px'; oZoomIn.style.width='17px'; oZoomIn.style.height='17px'; oZoomIn.kaZoomer=this; oZoomIn.onclick=kaZoomer_zoomIn; oZoomIn.innerHTML="<img src='images/slider_button_zoomin.png' border='0' width='17' height='17'>"; this.zoomControlObj.appendChild(oZoomIn); var oZoomOut=document.createElement('div'); oZoomOut.id='zoomOut'; oZoomOut.style.position='absolute'; oZoomOut.style.top=23 + nTrackHeight + 'px'; oZoomOut.style.left='0px'; oZoomOut.style.width='17px'; oZoomOut.style.height='17px'; oZoomOut.kaZoomer=this; oZoomOut.onclick=kaZoomer_zoomOut; oZoomOut.innerHTML="<img src='images/slider_button_zoomout.png' border='0' width='17' height='17'>"; this.zoomControlObj.appendChild(oZoomOut); ADD_DHTML('zoomThumb'+MAXOFFTOP+0+MAXOFFBOTTOM+nTrackMaxPosition+VERTICAL); ADD_DHTML('zoomTrack'+NO_DRAG); dd.elements.zoomThumb.moveTo(dd.elements.zoomTrack.x, dd.elements.zoomTrack.y + nInitialPosition); dd.elements.zoomThumb.setZ(dd.elements.zoomTrack.z+1); dd.elements.zoomTrack.addChild('zoomThumb'); dd.elements.zoomThumb.defx=dd.elements.zoomTrack.x; dd.elements.zoomThumb.defy=dd.elements.zoomTrack.y; dd.elements.zoomThumb.my_DropFunc=kaZoomer_DropFunc; this.kaMap.registerForEvent( KAMAP_SCALE_CHANGED, this, this.update );} function kaZoomer_DropFunc(){ var nTrackTop=dd.elements.zoomTrack.y; var nThumbTop=dd.elements.zoomThumb.y - nTrackTop; var nThumbHeight=dd.elements.zoomTrack.div.elementHeight; var nNearestIndex=Math.round(nThumbTop / nThumbHeight); dd.elements.zoomThumb.moveTo(dd.elements.zoomThumb.x,nTrackTop +(nNearestIndex*nThumbHeight)); var oKaMap=dd.elements.zoomTrack.div.kaZoomer.kaMap; var oMap=oKaMap.getCurrentMap(); var nCurrentScale=oMap.getScales()[oMap.aScales.length - nNearestIndex - 1]; oKaMap.zoomToScale(nCurrentScale);} function kaZoomer_zoomTo( e ){ Mouse_Lon=""; Mouse_Lat=""; e=(e)?e:((event)?event:null); var nClickTop=(e.layerY)?e.layerY:e.offsetY; var oKaZoomer=dd.elements.zoomTrack.div.kaZoomer; var oKaMap=oKaZoomer.kaMap; var oMap=oKaMap.getCurrentMap(); var nScales=oMap.getScales().length; var nTrackHeight=dd.Int(oKaZoomer.nZoomImageHeight) * nScales; var nNearestIndex=Math.floor(nClickTop / nTrackHeight * nScales); var nNewScale=oMap.getScales()[oMap.aScales.length - nNearestIndex - 1]; oKaMap.zoomToScale(nNewScale);} function kaZoomer_onmouseover( e ){ this.style.opacity=1; this.style.mozOpacity=1; this.style.filter="Alpha(opacity=100)";} function kaZoomer_onmouseout( e ){ this.style.opacity=this.kaZoomer.opacity/100; this.style.mozOpacity=this.kaZoomer.opacity/100; this.style.filter="Alpha(opacity="+this.kaZoomer.opacity+")";} function kaZoomer_zoomIn(){ Mouse_Lon=""; Mouse_Lat=""; this.kaZoomer.kaMap.zoomIn();} function kaZoomer_zoomOut(){ Mouse_Lon=""; Mouse_Lat=""; this.kaZoomer.kaMap.zoomOut();} function kaZoomer_alert(){ alert('here');} var spacer='transparentpixel.gif'; var CLONE='C10nE'; var COPY='C0pY'; var DETACH_CHILDREN='d37aCH'; var HORIZONTAL='H0r1Z'; var MAXHEIGHT='m7x8I'; var MAXOFFBOTTOM='m7xd0wN'; var MAXOFFLEFT='m7x23Ft'; var MAXOFFRIGHT='m7x0Ff8'; var MAXOFFTOP='m7xu9'; var MAXWIDTH='m7xW1'; var MINWIDTH='m1nw1'; var MINHEIGHT='m1n8I'; var NO_ALT='no81T'; var NO_DRAG='N0d4Ag'; var RESET_Z='r35E7z'; var RESIZABLE='r5IZbl'; var SCALABLE='SCLbl'; var SCROLL='sC8lL'; var TRANSPARENT='dIApHAn'; var VERTICAL='V3Rt1C'; var dd_cursors=new Array( 'c:default', 'c:crosshair', 'c:e-resize', 'c:hand', 'c:help', 'c:move', 'c:n-resize', 'c:ne-resize', 'c:nw-resize', 'c:s-resize', 'c:se-resize', 'c:sw-resize', 'c:text', 'c:w-resize', 'c:wait');var dd_i=dd_cursors.length; while(dd_i--) eval('var CURSOR_' + (dd_cursors[dd_i].substring(2).toUpperCase().replace('-', '_')) + '="' + dd_cursors[dd_i] + '";'); function WZDD(){ this.elements=new Array(0); this.obj=null; this.n=navigator.userAgent.toLowerCase(); this.db=(document.compatMode && document.compatMode.toLowerCase() !="backcompat")? document.documentElement : (document.body || null); this.op=!!(window.opera && document.getElementById); this.op6=!!(this.op && !(this.db && this.db.innerHTML)); if (this.op && !this.op6) document.onmousedown=new Function('e', 'if (((e=e || window.event).target || e.srcElement).tagName=="IMAGE") return false;'); this.ie=!!(this.n.indexOf("msie") >=0 && document.all && this.db && !this.op); this.iemac=!!(this.ie && this.n.indexOf("mac") >=0); this.ie4=!!(this.ie && !document.getElementById); this.n4=!!(document.layers && typeof document.classes !="undefined"); this.n6=!!(typeof window.getComputedStyle !="undefined" && typeof document.createRange !="undefined"); this.w3c=!!(!this.op && !this.ie && !this.n6 && document.getElementById); this.ce=!!(document.captureEvents && document.releaseEvents); this.px=(this.n4 || this.op6)? '' : 'px'; this.tiv=this.w3c? 40 : 10;}var dd=new WZDD(); dd.Int=function(d_x, d_y){ return isNaN(d_y=parseInt(d_x))? 0 : d_y;}; dd.getWndW=function(){ return dd.Int( (dd.db && !dd.op && !dd.w3c && dd.db.clientWidth)? dd.db.clientWidth : (window.innerWidth || 0) );}; dd.getWndH=function(){ return dd.Int( (dd.db && !dd.op && !dd.w3c && dd.db.clientHeight)? dd.db.clientHeight : (window.innerHeight || 0) );}; dd.getScrollX=function(){ return dd.Int(window.pageXOffset || (dd.db? dd.db.scrollLeft : 0));}; dd.getScrollY=function(){ return dd.Int(window.pageYOffset || (dd.db? dd.db.scrollTop : 0));}; dd.getPageXY=function(d_o){ if (dd.n4 && d_o) { dd.x=d_o.pageX || 0; dd.y=d_o.pageY || 0; } else { dd.x=dd.y=0; while (d_o) { dd.x +=dd.Int(d_o.offsetLeft); dd.y +=dd.Int(d_o.offsetTop); d_o=d_o.offsetParent || null; } }}; dd.getCssXY=function(d_o){ if (d_o.div) { if (dd.n4) { d_o.cssx=d_o.div.x; d_o.cssy=d_o.div.y; } else if (dd.ie4) { d_o.cssx=d_o.css.pixelLeft; d_o.cssy=d_o.css.pixelTop; } else { d_o.css.left=d_o.css.top=0 + dd.px; dd.getPageXY(d_o.div); d_o.cssx=d_o.x - dd.x; d_o.cssy=d_o.y - dd.y; d_o.css.left=d_o.cssx + dd.px; d_o.css.top=d_o.cssy + dd.px; } } else { d_o.cssx=0; d_o.cssy=0; }}; dd.getImgW=function(d_o){ return d_o? dd.Int(d_o.width) : 0;}; dd.getImgH=function(d_o){ return d_o? dd.Int(d_o.height) : 0;}; dd.getDivW=function(d_o){ return dd.Int( dd.n4? (d_o.div? d_o.div.clip.width : 0) : d_o.div? (d_o.div.offsetWidth || d_o.css.pixelWidth || d_o.css.width || 0) : 0 );}; dd.getDivH=function(d_o){ return dd.Int( dd.n4? (d_o.div? d_o.div.clip.height : 0) : d_o.div? (d_o.div.offsetHeight || d_o.css.pixelHeight || d_o.css.height || 0) : 0 );}; dd.getWH=function(d_o){ d_o.w=dd.getDivW(d_o); d_o.h=dd.getDivH(d_o); if (d_o.css) { d_o.css.width=d_o.w + dd.px; d_o.css.height=d_o.h + dd.px; d_o.dw=dd.getDivW(d_o)-d_o.w; d_o.dh=dd.getDivH(d_o)-d_o.h; d_o.css.width=(d_o.w-d_o.dw) + dd.px; d_o.css.height=(d_o.h-d_o.dh) + dd.px; } else d_o.dw=d_o.dh=0;}; dd.getCssProp=function(d_o, d_pn6, d_pstyle, d_pn4){ if (d_o && dd.n6) return ''+window.getComputedStyle(d_o, null).getPropertyValue(d_pn6); if (d_o && d_o.currentStyle) return ''+eval('d_o.currentStyle.'+d_pstyle); if (d_o && d_o.style) return ''+eval('d_o.style.'+d_pstyle); if (d_o && dd.n4) return ''+eval('d_o.'+d_pn4); return '';}; dd.getDiv=function(d_x, d_d){ d_d=d_d || document; if (dd.n4) { if (d_d.layers[d_x]) return d_d.layers[d_x]; for (var d_i=d_d.layers.length; d_i--;) { var d_y=dd.getDiv(d_x, d_d.layers[d_i].document); if (d_y) return d_y; } } if (dd.ie) return d_d.all[d_x] || null; if (d_d.getElementById) return d_d.getElementById(d_x) || null; return null;}; dd.getImg=function(d_o, d_nm, d_xy, d_w){ d_w=d_w || window; var d_img; if (document.images && (d_img=d_w.document.images[d_nm]) && d_img.name==d_nm) { if (d_xy) { if (dd.n4) { dd.getPageXY(d_w); d_o.defx=d_img.x + dd.x; d_o.defy=d_img.y + dd.y; } else { dd.getPageXY(d_img); d_o.defx=dd.x; d_o.defy=dd.y; } } return d_img; } if (dd.n4) for (var d_i=d_w.document.layers.length; d_i--;) { var d_y=dd.getImg(d_o, d_nm, d_xy, d_w.document.layers[d_i]); if (d_y) return d_y; } return null;}; dd.getParent=function(d_o, d_p){ if (dd.n4) { for (d_p, d_i=dd.elements.length; d_i--;) { if (!((d_p=dd.elements[d_i]).is_image) && d_p.div && (d_p.div.document.layers[d_o.name] || d_o.oimg && d_p.div.document.images[d_o.oimg.name])) d_p.addChild(d_o, d_p.detach, 1); } } else { d_p=d_o.is_image? dd.getImg(d_o, d_o.oimg.name) : (d_o.div || null); while (d_p && !!(d_p=d_p.offsetParent || d_p.parentNode || null)) { if (d_p.ddObj) { d_p.ddObj.addChild(d_o, d_p.ddObj.detach, 1); break; } } }}; dd.getCmd=function(d_o, d_cmd, d_cmdStr){ var d_i=d_o.id.indexOf(d_cmd), d_j, d_y=(d_i >=0)*1; if (d_y) { d_j=d_i+d_cmd.length; if (d_cmdStr) d_o.cmd +=d_o.id.substring(d_i, d_j); d_o.id=d_o.id.substring(0, d_i) + d_o.id.substring(d_j); } return d_y;}; dd.getCmdVal=function(d_o, d_cmd, d_cmdStr, int0){ var d_i=d_o.id.indexOf(d_cmd), d_j, d_y=(d_o.id.indexOf(d_cmd) >=0)? dd.Int(d_o.id.substring(d_o.id.indexOf(d_cmd)+d_cmd.length)) : int0? -1 : 0; if (!int0 && d_y || int0 && d_y >=0) { d_j=d_i+d_cmd.length+(""+d_y).length; if (d_cmdStr) d_o.cmd +=d_o.id.substring(d_i, d_j); d_o.id=d_o.id.substring(0, d_i) + d_o.id.substring(d_j); } return d_y;}; dd.addElt=function(d_o, d_p){ dd.elements[d_o.name]=dd.elements[d_o.index=dd.elements.length]=d_o; if (d_p) d_p.copies[d_o.name]=d_p.copies[d_p.copies.length]=d_o;}; dd.mkWzDom=function(){ var d_o, d_i=dd.elements.length; while(d_i--) dd.getParent(dd.elements[d_i]); d_i=dd.elements.length; while(d_i--) { d_o=dd.elements[d_i]; if (d_o.children && !d_o.parent) { var d_j=d_o.children.length; while(d_j--) d_o.children[d_j].setZ(d_o.z+d_o.children[d_j].z, 1); } }}; dd.addProps=function(d_o){ var d_i, d_c; if (d_o.is_image) { d_o.div=dd.getDiv(d_o.id); if (d_o.div && typeof d_o.div.style !="undefined") d_o.css=d_o.div.style; d_o.nimg=(dd.n4 && d_o.div)? d_o.div.document.images[0] : (document.images[d_o.id+'NImG'] || null); if (d_o.nimg && !d_o.noalt && !dd.noalt) { d_o.nimg.alt=d_o.oimg.alt || ''; if (d_o.oimg.title) d_o.nimg.title=d_o.oimg.title; } d_o.bgColor=''; } else { d_o.bgColor=dd.getCssProp(d_o.div, 'background-color','backgroundColor','bgColor').toLowerCase(); if (dd.n6 && d_o.div) { if ((d_c=d_o.bgColor).indexOf('rgb') >=0) { d_c=d_c.substring(4, d_c.length-1).split(','); d_o.bgColor='#'; for (d_i=0; d_i < d_c.length; d_i++) d_o.bgColor +=parseInt(d_c[d_i]).toString(0x10); } else d_o.bgColor=d_c; } } if (dd.scalable) d_o.scalable=d_o.resizable^1; else if (dd.resizable) d_o.resizable=d_o.scalable^1; d_o.setZ(d_o.defz); d_o.cursor=d_o.cursor || dd.cursor || 'auto'; d_o._setCrs(d_o.nodrag? 'auto' : d_o.cursor); d_o.diaphan=d_o.diaphan || dd.diaphan || 0; d_o.opacity=1.0; if (dd.ie && !dd.iemac && d_o.div) d_o.div.style.filter="Alpha(opacity=100)"; d_o.visible=true;}; dd.initz=function(){ if (!(dd && (dd.n4 || dd.n6 || dd.ie || dd.op || dd.w3c))) return; if (dd.op6) WINSZ(2); else if (dd.n6 || dd.ie || dd.op && !dd.op6 || dd.w3c) dd.recalc(1); var d_drag=(document.onmousemove==DRAG), d_resize=(document.onmousemove==RESIZE); if (dd.loadFunc) dd.loadFunc(); if (d_drag && document.onmousemove !=DRAG) dd.setEvtHdl(1, DRAG); else if (d_resize && document.onmousemove !=RESIZE) dd.setEvtHdl(1, RESIZE); if ((d_drag || d_resize) && document.onmouseup !=DROP) dd.setEvtHdl(2, DROP); dd.setEvtHdl(0, PICK);}; dd.finlz=function(){ if (dd.ie && dd.elements) { var d_i=dd.elements.length; while (d_i--) dd.elements[d_i].del(); }}; dd.setEvtHdl=function(d_typ, d_func){ if (!d_typ) { if (document.onmousedown !=d_func) dd.downFunc=document.onmousedown || null; document.onmousedown=d_func; } else if (d_typ&1) { if (document.onmousemove !=d_func) dd.moveFunc=document.onmousemove || null; document.onmousemove=d_func; } else { if (document.onmouseup !=d_func) dd.upFunc=document.onmouseup || null; document.onmouseup=d_func; } if (dd.ce) { var d_e=(!d_typ)? Event.MOUSEDOWN : (d_typ&1)? Event.MOUSEMOVE : Event.MOUSEUP; d_func? document.captureEvents(d_e) : document.releaseEvents(d_e); }}; dd.evt=function(d_e){ this.but=(this.e=d_e || window.event).which || this.e.button || 0; this.button=(this.e.type=='mousedown')? this.but : (dd.e && dd.e.button)? dd.e.button : 0; this.src=this.e.target || this.e.srcElement || null; this.src.tag=("" + (this.src.tagName || this.src)).toLowerCase(); this.x=dd.Int(this.e.pageX || this.e.clientX || 0); this.y=dd.Int(this.e.pageY || this.e.clientY || 0); if (dd.ie) { this.x +=dd.getScrollX() - (dd.ie && !dd.iemac)*1; this.y +=dd.getScrollY() - (dd.ie && !dd.iemac)*1; } this.modifKey=this.e.modifiers? this.e.modifiers&Event.SHIFT_MASK : (this.e.shiftKey || false);}; dd.recalc=function(d_x){ var d_o, d_i=dd.elements.length; while(d_i--) { if (!(d_o=dd.elements[d_i]).is_image && d_o.div) { dd.getWH(d_o); if (d_o.div.pos_rel) { dd.getPageXY(d_o.div); var d_dx=dd.x - d_o.x, d_dy=dd.y - d_o.y; d_o.defx +=d_dx; d_o.x +=d_dx; d_o.defy +=d_dy; d_o.y +=d_dy; var d_p, d_j=d_o.children.length; while(d_j--) { if (!(d_p=d_o.children[d_j]).detached && (d_o !=d_p.defparent || !(d_p.is_image && dd.getImg(d_p, d_p.oimg.name, 1)))) { d_p.defx +=d_dx; d_p.defy +=d_dy; d_p.moveBy(d_dx, d_dy); } } } } else if (d_o.is_image && !dd.op6 && !dd.n4) { if (dd.n6 && d_x && !d_o.defw) d_o.resizeTo(d_o.defw=dd.getImgW(d_o.oimg), d_o.defh=dd.getImgH(d_o.oimg)); var d_defx=d_o.defx, d_defy=d_o.defy; if (!(d_o.parent && d_o.parent !=d_o.defparent) && (d_x || !d_o.detached || d_o.horizontal || d_o.vertical) && dd.getImg(d_o, d_o.oimg.name, 1)) d_o.moveBy(d_o.defx-d_defx, d_o.defy-d_defy); } }}; function WINSZ(d_x){ if (d_x) { if (dd.n4 || dd.op6 && d_x&2) { dd.iW=innerWidth; dd.iH=innerHeight; if (dd.op6) setTimeout("WINSZ()", 0x1ff); } window.onresize=new Function('WINSZ();'); } else if ((dd.n4 || dd.op6) && (innerWidth !=dd.iW || innerHeight !=dd.iH)) location.reload(); else if (dd.op6) setTimeout("WINSZ()", 0x1ff); else if (!dd.n4) setTimeout('dd.recalc()', 0xa);}WINSZ(1); function DDObj(d_o, d_i){ this.id=d_o; this.cmd=''; this.cpy_n=dd.getCmdVal(this, COPY); this.maxoffb=dd.getCmdVal(this, MAXOFFBOTTOM, 0, 1); this.maxoffl=dd.getCmdVal(this, MAXOFFLEFT, 0, 1); this.maxoffr=dd.getCmdVal(this, MAXOFFRIGHT, 0, 1); this.maxofft=dd.getCmdVal(this, MAXOFFTOP, 0, 1); var d_j=dd_cursors.length; while(d_j--) if (dd.getCmd(this, dd_cursors[d_j], 1)) this.cursor=dd_cursors[d_j].substring(2); this.clone=dd.getCmd(this, CLONE, 1); this.detach=dd.getCmd(this, DETACH_CHILDREN); this.scalable=dd.getCmd(this, SCALABLE, 1); this.horizontal=dd.getCmd(this, HORIZONTAL); this.noalt=dd.getCmd(this, NO_ALT, 1); this.nodrag=dd.getCmd(this, NO_DRAG); this.scroll=dd.getCmd(this, SCROLL, 1); this.resizable=dd.getCmd(this, RESIZABLE, 1); this.re_z=dd.getCmd(this, RESET_Z, 1); this.diaphan=dd.getCmd(this, TRANSPARENT, 1); this.vertical=dd.getCmd(this, VERTICAL); this.maxw=dd.getCmdVal(this, MAXWIDTH, 1, 1); this.minw=Math.abs(dd.getCmdVal(this, MINWIDTH, 1, 1)); this.maxh=dd.getCmdVal(this, MAXHEIGHT, 1, 1); this.minh=Math.abs(dd.getCmdVal(this, MINHEIGHT, 1, 1)); this.name=this.id + (d_i || ''); this.oimg=dd.getImg(this, this.id, 1); this.is_image=!!this.oimg; this.copies=new Array(); this.children=new Array(); this.parent=this.original=null; if (this.oimg) { this.id=this.name + 'div'; this.w=dd.getImgW(this.oimg); this.h=dd.getImgH(this.oimg); this.dw=this.dh=0; this.defz=dd.Int(dd.getCssProp(this.oimg, 'z-index','zIndex','zIndex')) || 1; this.defsrc=this.src=this.oimg.src; this.htm='<img name="' + this.id + 'NImG"'+ ' src="' + this.oimg.src + '" '+ 'width="' + this.w + '" height="' + this.h + '">'; this.t_htm='<div id="' + this.id + '" style="position:absolute;'+ 'left:' + (this.cssx=this.x=this.defx) + 'px;'+ 'top:' + (this.cssy=this.y=this.defy) + 'px;'+ 'width:' + this.w + 'px;'+ 'height:' + this.h + 'px;">'+ this.htm + '<\/div>'; } else { if (!!(this.div=dd.getDiv(this.id)) && typeof this.div.style !="undefined") this.css=this.div.style; dd.getWH(this); if (this.div) { this.div.ddObj=this; this.div.pos_rel=("" + (this.div.parentNode? this.div.parentNode.tagName : this.div.parentElement? this.div.parentElement.tagName : '').toLowerCase().indexOf('body') < 0); } dd.getPageXY(this.div); this.defx=this.x=dd.x; this.defy=this.y=dd.y; dd.getCssXY(this); this.defz=dd.Int(dd.getCssProp(this.div, 'z-index','zIndex','zIndex')); } this.defw=this.w || 0; this.defh=this.h || 0;} DDObj.prototype.moveBy=function(d_x, d_y, d_kds, d_o){ if (!this.div) return; this.x +=(d_x=dd.Int(d_x)); this.y +=(d_y=dd.Int(d_y)); if (!d_kds || this.is_image || this.parent !=this.defparent) { (d_o=this.css || this.div).left=(this.cssx +=d_x) + dd.px; d_o.top=(this.cssy +=d_y) + dd.px; } var d_i=this.children.length; while (d_i--) { if (!(d_o=this.children[d_i]).detached) d_o.moveBy(d_x, d_y, 1); d_o.defx +=d_x; d_o.defy +=d_y; }}; DDObj.prototype.moveTo=function(d_x, d_y){ this.moveBy(dd.Int(d_x)-this.x, dd.Int(d_y)-this.y);}; DDObj.prototype.hide=function(d_m, d_o, d_p){ if (this.div && this.visible) { d_p=this.css || this.div; if (d_m && !dd.n4) { this.display=dd.getCssProp(this.div, "display", "display", "display"); if (this.oimg) { this.oimg.display=dd.getCssProp(this.oimg, "display", "display", "display"); this.oimg.style.display="none"; } d_p.display="none"; dd.recalc(); } else d_p.visibility="hidden"; } this.visible=false; var d_i=this.children.length; while (d_i--) if (!(d_o=this.children[d_i]).detached) d_o.hide(d_m);}; DDObj.prototype.show=function(d_o, d_p){ if (this.div) { d_p=this.css || this.div; if (d_p.display && d_p.display=="none") { d_p.display=this.display || "block"; if (this.oimg) this.oimg.style.display=this.oimg.display || "inline"; dd.recalc(); } else d_p.visibility="visible"; } this.visible=true; var d_i=this.children.length; while (d_i--) if (!(d_o=this.children[d_i]).detached) d_o.show();}; DDObj.prototype.resizeTo=function(d_w, d_h, d_o){ if (!this.div) return; d_w=(this.w=dd.Int(d_w))-this.dw; d_h=(this.h=dd.Int(d_h))-this.dh; if (dd.n4) { this.div.resizeTo(d_w, d_h); if (this.is_image) { this.write('<img src="' + this.src + '" width="' + d_w + '" height="' + d_h + '">'); (this.nimg=this.div.document.images[0]).src=this.src; } } else if (typeof this.css.pixelWidth !="undefined") { this.css.pixelWidth=d_w; this.css.pixelHeight=d_h; if (this.is_image) { (d_o=this.nimg.style).pixelWidth=d_w; d_o.pixelHeight=d_h; } } else { this.css.width=d_w + dd.px; this.css.height=d_h + dd.px; if (this.is_image) { (d_o=this.nimg).width=d_w; d_o.height=d_h; if (!d_o.complete) d_o.src=this.src; } }}; DDObj.prototype.resizeBy=function(d_dw, d_dh){ this.resizeTo(this.w+dd.Int(d_dw), this.h+dd.Int(d_dh));}; DDObj.prototype.swapImage=function(d_x, d_cp){ if (!this.nimg) return; this.nimg.src=d_x; this.src=this.nimg.src; if (d_cp) { var d_i=this.copies.length; while (d_i--) this.copies[d_i].src=this.copies[d_i].nimg.src=this.nimg.src; }}; DDObj.prototype.setBgColor=function(d_x){ if (dd.n4 && this.div) this.div.bgColor=d_x; else if (this.css) this.css.background=d_x; this.bgColor=d_x;}; DDObj.prototype.write=function(d_x, d_o){ this.text=d_x; if (!this.div) return; if (dd.n4) { (d_o=this.div.document).open(); d_o.write(d_x); d_o.close(); dd.getWH(this); } else if (!dd.op6) { this.css.height='auto'; this.div.innerHTML=d_x; if (!dd.ie4) dd.recalc(); if (dd.ie4 || dd.n6) setTimeout('dd.recalc();', 0); }}; DDObj.prototype.copy=function(d_n, d_p){ if (!this.oimg) return; d_n=d_n || 1; while (d_n--) { var d_l=this.copies.length, d_o=new DDObj(this.name+this.cmd, d_l+1); if (dd.n4) { d_o.id=(d_p=new Layer(d_o.w)).name; d_p.clip.height=d_o.h; d_p.visibility='show'; (d_p=d_p.document).open(); d_p.write(d_o.htm); d_p.close(); } else if (dd.db.insertAdjacentHTML) dd.db.insertAdjacentHTML("AfterBegin", d_o.t_htm); else if (document.createElement && dd.db && dd.db.appendChild) { dd.db.appendChild(d_p=document.createElement('div')); d_p.innerHTML=d_o.htm; d_p.id=d_o.id; d_p.style.position='absolute'; d_p.style.width=d_o.w + 'px'; d_p.style.height=d_o.h + 'px'; } else if (dd.db && dd.db.innerHTML) dd.db.innerHTML +=d_o.t_htm; d_o.defz=this.defz+1+d_l; dd.addProps(d_o); d_o.original=this; dd.addElt(d_o, this); if (this.parent) { this.parent.addChild(d_o, this.detached); d_o.defparent=this.defparent; } d_o.moveTo(d_o.defx=this.defx, d_o.defy=this.defy); if (dd.n4) d_o.defsrc=d_o.src=this.defsrc; d_o.swapImage(this.src); }}; DDObj.prototype.addChild=function(d_kd, detach, defp){ if (typeof d_kd !="object") d_kd=dd.elements[d_kd]; if (d_kd.parent && d_kd.parent==this || d_kd==this || !d_kd.is_image && d_kd.defparent && !defp) return; this.children[this.children.length]=this.children[d_kd.name]=d_kd; d_kd.detached=detach || 0; if (defp) d_kd.defparent=this; else if (this==d_kd.defparent && d_kd.is_image) dd.getImg(this, d_kd.oimg.name, 1); if (!d_kd.defparent || this !=d_kd.defparent) { d_kd.defx=d_kd.x; d_kd.defy=d_kd.y; } if (!detach) { d_kd.defz=d_kd.defz+this.defz-(d_kd.parent? d_kd.parent.defz : 0)+(!d_kd.is_image*1); d_kd.setZ(d_kd.z+this.z-(d_kd.parent? d_kd.parent.z : 0)+(!d_kd.is_image*1), 1); } if (d_kd.parent) d_kd.parent._removeChild(d_kd, 1); d_kd.parent=this;}; DDObj.prototype._removeChild=function(d_kd, d_newp){ if (typeof d_kd !="object") d_kd=this.children[d_kd]; var d_oc=this.children, d_nc=new Array(); for (var d_i=0; d_i < d_oc.length; d_i++) if (d_oc[d_i] !=d_kd) d_nc[d_nc.length]=d_oc[d_i]; this.children=d_nc; d_kd.parent=null; if (!d_newp) { d_kd.detached=d_kd.defp=0; if (d_kd.is_image) dd.getImg(d_kd, d_kd.oimg.name, 1); }}; DDObj.prototype.attachChild=function(d_kd){ (d_kd=(typeof d_kd !="object")? this.children[d_kd]: d_kd).detached=0; d_kd.setZ(d_kd.defz + this.z-this.defz, 1);}; DDObj.prototype.detachChild=function(d_kd){ (d_kd=(typeof d_kd !="object")? this.children[d_kd]: d_kd).detached=1;}; DDObj.prototype.setZ=function(d_x, d_kds, d_o){ if (d_kds) { var d_dz=d_x-this.z, d_i=this.children.length; while (d_i--) if (!(d_o=this.children[d_i]).detached) d_o.setZ(d_o.z+d_dz, 1); } dd.z=Math.max(dd.z, this.z=this.div? ((this.css || this.div).zIndex=d_x) : 0);}; DDObj.prototype.maximizeZ=function(){ this.setZ(dd.z+1, 1);}; DDObj.prototype._resetZ=function(d_o){ if (this.re_z || dd.re_z) { this.setZ(this.defz); var d_i=this.children.length; while (d_i--) if (!(d_o=this.children[d_i]).detached) d_o.setZ(d_o.defz); }}; DDObj.prototype.setOpacity=function(d_x){ this.opacity=d_x; this._setOpaRel(1.0, 1);}; DDObj.prototype._setOpaRel=function(d_x, d_kd, d_y, d_o){ if (this.diaphan || d_kd) { d_y=this.opacity*d_x; if (dd.n6) this.css.MozOpacity=d_y; else if (dd.ie && !dd.iemac && typeof this.div.filters !="undefined") this.div.filters[0].opacity=parseInt(100*d_y); else if (this.css) this.css.opacity=d_y; var d_i=this.children.length; while (d_i--) if (!(d_o=this.children[d_i]).detached) d_o._setOpaRel(d_x, 1); }}; DDObj.prototype.setCursor=function(d_x){ this._setCrs(this.cursor=(d_x.indexOf('c:')+1)? d_x.substring(2) : d_x);}; DDObj.prototype._setCrs=function(d_x){ if (this.css) this.css.cursor=((!dd.ie || dd.iemac) && d_x=='hand')? 'pointer' : d_x;}; DDObj.prototype.setDraggable=function(d_x){ this.nodrag=!d_x*1; this._setCrs(d_x? this.cursor : 'auto');}; DDObj.prototype.setResizable=function(d_x){ this.resizable=d_x*1; if (d_x) this.scalable=0;}; DDObj.prototype.setScalable=function(d_x){ this.scalable=d_x*1; if (d_x) this.resizable=0;}; DDObj.prototype.del=function(d_os, d_o){ var d_i; if (this.parent && this.parent._removeChild) this.parent._removeChild(this); if (this.original) { this.hide(); if (this.original.copies) { d_os=new Array(); for (d_i=0; d_i < this.original.copies.length; d_i++) if ((d_o=this.original.copies[d_i]) !=this) d_os[d_o.name]=d_os[d_os.length]=d_o; this.original.copies=d_os; } } else if (this.is_image) { this.hide(); if (this.oimg) { if (dd.n4) this.oimg.src=this.defsrc; else this.oimg.style.visibility='visible'; } } else if (this.moveTo) { if (this.css) this.css.cursor='default'; this.moveTo(this.defx, this.defy); this.resizeTo(this.defw, this.defh); } d_os=new Array(); for (d_i=0; d_i < dd.elements.length; d_i++) { if ((d_o=dd.elements[d_i]) !=this) d_os[d_o.name]=d_os[d_o.index=d_os.length]=d_o; else d_o._free(); } dd.elements=d_os; if (!dd.op6 && !dd.n4) dd.recalc();}; DDObj.prototype._free=function(){ for (var d_i in this) this[d_i]=null; dd.elements[this.name]=null;}; dd.n4RectVis=function(vis){ for (var d_i=4; d_i--;) { dd.rectI[d_i].visibility=dd.rectA[d_i].visibility=vis? 'show' : 'hide'; if (vis) dd.rectI[d_i].zIndex=dd.rectA[d_i].zIndex=dd.z+2; }}; dd.n4RectPos=function(d_o, d_x, d_y, d_w, d_h){ d_o.x=d_x; d_o.y=d_y; d_o.clip.width=d_w; d_o.clip.height=d_h;}; dd.n4Rect=function(d_w, d_h){ var d_i; if (!dd.rectI) { dd.rectI=new Array(); dd.rectA=new Array(); } if (!dd.rectI[0]) { for (d_i=4; d_i--;) { (dd.rectI[d_i]=new Layer(1)).bgColor='#000000'; (dd.rectA[d_i]=new Layer(1)).bgColor='#ffffff'; } } if (!dd.rectI[0].visibility || dd.rectI[0].visibility=='hide') dd.n4RectVis(1); dd.obj.w=d_w; dd.obj.h=d_h; for (d_i=4; d_i--;) { dd.n4RectPos(dd.rectI[d_i], dd.obj.x + (!(d_i-1)? (dd.obj.w-1) : 0), dd.obj.y + (!(d_i-2)? (dd.obj.h-1) : 0), d_i&1 || dd.obj.w, !(d_i&1) || dd.obj.h); dd.n4RectPos(dd.rectA[d_i], !(d_i-1)? dd.rectI[1].x+1 : (dd.obj.x-1), !(d_i-2)? dd.rectI[2].y+1 : (dd.obj.y-1), d_i&1 || dd.obj.w+2, !(d_i&1) || dd.obj.h+2); }}; dd.reszTo=function(d_w, d_h){ if (dd.n4 && dd.obj.is_image) dd.n4Rect(d_w, d_h); else dd.obj.resizeTo(d_w, d_h);}; dd.embedVis=function(d_vis){ var d_o=new Array('iframe', 'applet', 'embed', 'object'); var d_i=d_o.length; while (d_i--) { var d_p=dd.ie? document.all.tags(d_o[d_i]) : document.getElementsByTagName? document.getElementsByTagName(d_o[d_i]) : null; if (d_p) { var d_j=d_p.length; while (d_j--) { var d_q=d_p[d_j]; while (d_q.offsetParent || d_q.parentNode) { if ((d_q=d_q.parentNode || d_q.offsetParent || null)==dd.obj.div) { d_p[d_j].style.visibility=d_vis; break; } } } } }}; dd.maxOffX=function(d_x, d_y){ return ( (dd.obj.maxoffl+1 && (d_y=dd.obj.defx-dd.obj.maxoffl)-d_x > 0 || dd.obj.maxoffr+1 && (d_y=dd.obj.defx+dd.obj.maxoffr)-d_x < 0)? d_y : d_x );}; dd.maxOffY=function(d_x, d_y){ return ( (dd.obj.maxofft+1 && (d_y=dd.obj.defy-dd.obj.maxofft)-d_x > 0 || dd.obj.maxoffb+1 && (d_y=dd.obj.defy+dd.obj.maxoffb)-d_x < 0)? d_y : d_x );}; dd.inWndW=function(d_x, d_y){ var d_wx=dd.getScrollX(), d_ww=dd.getWndW(); return ( ((d_y=d_wx+2)-d_x > 0) || ((d_y=d_wx+d_ww+dd.obj.w-2)-d_x < 0)? d_y : d_x );}; dd.inWndH=function(d_x, d_y){ var d_wy=dd.getScrollY(), d_wh=dd.getWndH(); return ( ((d_y=d_wy+2)-d_x > 0) || ((d_y=d_wy+d_wh+dd.obj.h-2)-d_x < 0)? d_y : d_x );}; dd.limW=function(d_w){ return ( (dd.obj.minw-d_w > 0)? dd.obj.minw : (dd.obj.maxw > 0 && dd.obj.maxw-d_w < 0)? dd.obj.maxw : d_w );}; dd.limH=function(d_h){ return ( (dd.obj.minh-d_h > 0)? dd.obj.minh : (dd.obj.maxh > 0 && dd.obj.maxh-d_h < 0)? dd.obj.maxh : d_h );}; function DDScroll(){ if (!dd.obj || !dd.obj.scroll && !dd.scroll || dd.op || dd.ie4 || dd.whratio) { dd.scrx=dd.scry=0; return; } var d_bnd=0x1c, d_wx=dd.getScrollX(), d_wy=dd.getScrollY(); if (dd.msmoved) { var d_ww=dd.getWndW(), d_wh=dd.getWndH(), d_y; dd.scrx=((d_y=dd.e.x-d_ww-d_wx+d_bnd) > 0)? (d_y>>=2)*d_y : ((d_y=d_wx+d_bnd-dd.e.x) > 0)? -(d_y>>=2)*d_y : 0; dd.scry=((d_y=dd.e.y-d_wh-d_wy+d_bnd) > 0)? (d_y>>=2)*d_y : ((d_y=d_wy+d_bnd-dd.e.y) > 0)? -(d_y>>=2)*d_y : 0; } if (dd.scrx || dd.scry) { window.scrollTo( d_wx + (dd.scrx=dd.obj.is_resized? dd.limW(dd.obj.w+dd.scrx)-dd.obj.w : dd.obj.vertical? 0 : (dd.maxOffX(dd.obj.x+dd.scrx)-dd.obj.x)), d_wy + (dd.scry=dd.obj.is_resized? dd.limH(dd.obj.h+dd.scry)-dd.obj.h : dd.obj.horizontal? 0 : (dd.maxOffY(dd.obj.y+dd.scry)-dd.obj.y)) ); dd.obj.is_dragged? dd.obj.moveTo(dd.obj.x+dd.getScrollX()-d_wx, dd.obj.y+dd.getScrollY()-d_wy) : dd.reszTo(dd.obj.w+dd.getScrollX()-d_wx, dd.obj.h+dd.getScrollY()-d_wy); } dd.msmoved=0; window.setTimeout('DDScroll()', 0x33);} function PICK(d_ev){ dd.e=new dd.evt(d_ev); if (dd.e.x >=dd.getWndW()+dd.getScrollX() || dd.e.y >=dd.getWndH()+dd.getScrollY()) return true; var d_o, d_cmp=-1, d_i=dd.elements.length; while (d_i--) { d_o=dd.elements[d_i]; if (dd.n4 && dd.e.but > 1 && dd.e.src==d_o.oimg && !d_o.clone) return false; if (d_o.visible && dd.e.but <=1 && dd.e.x >=d_o.x && dd.e.x <=d_o.x+d_o.w && dd.e.y >=d_o.y && dd.e.y <=d_o.y+d_o.h) { if (d_o.z > d_cmp && dd.e.src.tag.indexOf('input') < 0 && dd.e.src.tag.indexOf('textarea') < 0 && dd.e.src.tag.indexOf('select') < 0 && dd.e.src.tag.indexOf('option') < 0) { d_cmp=d_o.z; dd.obj=d_o; } } } if (dd.obj) { if (dd.obj.nodrag) dd.obj=null; else { dd.e.e.cancelBubble=true; var d_rsz=dd.e.modifKey && (dd.obj.resizable || dd.obj.scalable); if (dd.op && !dd.op6) { (d_o=document.getElementById('OpBlUr')).style.pixelLeft=dd.e.x; d_o.style.pixelTop=dd.e.y; (d_o=d_o.children[0].children[0]).focus(); d_o.blur(); } else if (dd.ie && !dd.ie4) { if (document.selection && document.selection.empty) document.selection.empty(); dd.db.onselectstart=function() { event.returnValue=false; }; } if (d_rsz) { dd.obj._setCrs('se-resize'); dd.obj.is_resized=1; dd.whratio=dd.obj.scalable? dd.obj.defw/dd.obj.defh : 0; if (dd.ie) { if (dd.ie4) { window.dd_x=dd.getScrollX(); window.dd_y=dd.getScrollY(); } setTimeout( 'if (dd.obj && document.selection && document.selection.empty)'+ '{'+ 'document.selection.empty();'+ 'if (dd.ie4) window.scrollTo(window.dd_x, window.dd_y);'+ '}' ,0); } dd.setEvtHdl(1, RESIZE); dd.reszTo(dd.obj.w, dd.obj.h); } else { dd.obj.is_dragged=1; dd.setEvtHdl(1, DRAG); } dd.setEvtHdl(2, DROP); dd.embedVis('hidden'); dd.obj._setOpaRel(0.7); dd.obj.maximizeZ(); dd.ofx=dd.obj.x+dd.obj.w-dd.e.x; dd.ofy=dd.obj.y+dd.obj.h-dd.e.y; if (window.my_PickFunc) my_PickFunc(); DDScroll(); return !( dd.obj.is_resized || dd.n4 && dd.obj.is_image || dd.n6 || dd.w3c ); } } if (dd.downFunc) return dd.downFunc(d_ev); return true;} function DRAG(d_ev){ if (!dd.obj || !dd.obj.visible) return true; if (dd.ie4 || dd.w3c || dd.n6 || dd.obj.children.length > 0xf) { if (dd.wait) return false; dd.wait=1; setTimeout('dd.wait=0;', dd.tiv); } dd.e=new dd.evt(d_ev); if (dd.ie && !dd.e.but) { DROP(d_ev); return true; } dd.msmoved=1; dd.obj.moveTo( dd.obj.vertical? dd.obj.x : dd.maxOffX(dd.inWndW(dd.ofx+dd.e.x)-dd.obj.w), dd.obj.horizontal? dd.obj.y : dd.maxOffY(dd.inWndH(dd.ofy+dd.e.y)-dd.obj.h) ); if (window.my_DragFunc) my_DragFunc(); return false;} function RESIZE(d_ev){ if (!dd.obj || !dd.obj.visible) return true; if (dd.wait) return false; dd.wait=1; setTimeout('dd.wait=0;', dd.tiv); dd.e=new dd.evt(d_ev); if (dd.ie && !dd.e.but) { DROP(d_ev); return true; } dd.msmoved=1; var d_w=dd.limW(dd.inWndW(dd.ofx+dd.e.x)-dd.obj.x), d_h; if (!dd.whratio) d_h=dd.limH(dd.inWndH(dd.ofy+dd.e.y)-dd.obj.y); else { d_h=dd.limH(dd.inWndH(Math.round(d_w/dd.whratio)+dd.obj.y)-dd.obj.y); d_w=Math.round(d_h*dd.whratio); } dd.reszTo(d_w, d_h); if (window.my_ResizeFunc) my_ResizeFunc(); return false;} function DROP(d_ev){ if (dd.obj) { if (dd.obj.is_dragged) { if (!dd.obj.is_image) dd.getWH(dd.obj); } else if (dd.n4) { if (dd.obj.is_image) { dd.n4RectVis(0); dd.obj.resizeTo(dd.obj.w, dd.obj.h); } } if (!dd.n4 && !dd.op6 || !dd.obj.is_image) dd.recalc(); dd.setEvtHdl(1, dd.moveFunc); dd.setEvtHdl(2, dd.upFunc); if (dd.db) dd.db.onselectstart=null; dd.obj._setOpaRel(1.0); dd.obj._setCrs(dd.obj.cursor); dd.embedVis('visible'); dd.obj._resetZ(); if (window.my_DropFunc) { dd.e=new dd.evt(d_ev); my_DropFunc(); } dd.msmoved=dd.obj.is_dragged=dd.obj.is_resized=dd.whratio=0; dd.obj=null; } dd.setEvtHdl(0, PICK);} function SET_DHTML(){ var d_a=arguments, d_ai, d_htm='', d_o, d_i=d_a.length; while (d_i--) { if (dd.op6) { var d_t0=(new Date()).getTime(); while ((new Date()).getTime()-d_t0 < 0x99); } if (!(d_ai=d_a[d_i]).indexOf('c:')) dd.cursor=d_ai.substring(2); else if (d_ai==NO_ALT) dd.noalt=1; else if (d_ai==SCROLL) dd.scroll=1; else if (d_ai==RESET_Z) dd.re_z=1; else if (d_ai==RESIZABLE) dd.resizable=1; else if (d_ai==SCALABLE) dd.scalable=1; else if (d_ai==TRANSPARENT) dd.diaphan=1; else { d_o=new DDObj(d_ai); dd.addElt(d_o); d_htm +=d_o.t_htm || ''; if (d_o.oimg && d_o.cpy_n) { var d_j=0; while (d_j < d_o.cpy_n) { var d_p=new DDObj(d_o.name+d_o.cmd, ++d_j); dd.addElt(d_p, d_o); d_p.defz=d_o.defz+d_j; d_p.original=d_o; d_htm +=d_p.t_htm; } } } } if (dd.n4 || dd.n6 || dd.ie || dd.op || dd.w3c) document.write( (dd.n4? '<div style="position:absolute;"><\/div>\n' : (dd.op && !dd.op6)? '<div id="OpBlUr" style="position:absolute;visibility:hidden;width:0px;height:0px;"><form><input type="text" style="width:0px;height:0px;"><\/form><\/div>' : '') + d_htm ); dd.z=0x33; d_i=dd.elements.length; while (d_i--) { dd.addProps(d_o=dd.elements[d_i]); if (d_o.is_image && !d_o.original && !d_o.clone) dd.n4? d_o.oimg.src=spacer : d_o.oimg.style.visibility='hidden'; } dd.mkWzDom(); if (window.onload) dd.loadFunc=window.onload; document.onmousedown=document.onmousedown||null; document.onmousemove=document.onmousemove||null; document.onmouseup=document.onmouseup||null; window.onload=dd.initz; window.onunload=dd.finlz; dd.setEvtHdl(0, PICK);} function ADD_DHTML(d_o) { d_o=new DDObj(d_o); dd.addElt(d_o); dd.addProps(d_o); dd.mkWzDom();} dd.d=document; var RESET_ZINDEX=RESET_Z; var KEYDOWN_RESIZE=RESIZABLE; var CURSOR_POINTER=CURSOR_HAND; var NO_SCROLL=''; function my_PickFunc(){ if (dd.obj.my_PickFunc) { dd.obj.my_PickFunc(); }} function my_DragFunc(){ if (dd.obj.my_DragFunc) { dd.obj.my_DragFunc(); }} function my_ResizeFunc(){ if (dd.obj.my_ResizeFunc) { dd.obj.my_ResizeFunc(); }} function my_DropFunc(){ if (dd.obj.my_DropFunc) { dd.obj.my_DropFunc(); }} function kaLegend(oKaMap, szID, bStatic, options) { this.kaMap=oKaMap; this.domObj=this.kaMap.getRawObject(szID); this.type=(bStatic)?'static':'dynamic'; this.expanders=[]; this.queryCBs=[]; this.urlBase=this.kaMap.server; this.urlBase +=(this.urlBase!=''&&this.urlBase.substring(-1)!='/')?'':'/'; this.showQueryCBs=true; if (this.type=='static') { this.domImg=document.createElement( 'img' ); this.domImg.src=this.kaMap.aPixel.src; this.domObj.appendChild( this.domImg ); } else { this.domObj.innerHTML='&nbsp;'; } this.showVisibilityControl=true; this.showQueryControl=true; this.showOpacityControl=true; this.showOrderControl=true; if (typeof options !='undefined') { this.showVisibilityControl=typeof options.visibility !='undefined' ? options.visibility : true; this.showQueryControl=typeof options.query !='undefined' ? options.query : true; this.showOpacityControl=typeof options.opacity !='undefined' ? options.opacity : true; this.showOrderControl=typeof options.order !='undefined' ? options.order : true; } this.kaMap.registerForEvent( KAMAP_SCALE_CHANGED, this, this.update ); this.kaMap.registerForEvent( KAMAP_MAP_INITIALIZED, this, this.update ); this.kaMap.registerForEvent( KAMAP_LAYERS_CHANGED, this, this.draw ); this.kaMap.registerForEvent( KAMAP_LAYER_STATUS_CHANGED, this, this.update );}; kaLegend.prototype.update=function(eventID){ var url=''; if (this.type=='static') { var newImg=document.createElement('img'); newImg.src='legend.php?map=' + this.kaMap.currentMap + '&scale='+this.kaMap.getCurrentScale(); this.domObj.replaceChild(newImg, this.domImg); this.domImg=newImg; } else { if (eventID==KAMAP_MAP_INITIALIZED) { while(this.domObj.childNodes.length > 0) { this.domObj.removeChild(this.domObj.childNodes[0]); } this.draw(); } else if (eventID==KAMAP_SCALE_CHANGED) { var oMap=this.kaMap.getCurrentMap(); var aLayers=oMap.getAllLayers(); var s=this.kaMap.getCurrentScale(); for (var i in aLayers) { var oLayer=aLayers[i]; var oImg=this.kaMap.getRawObject( 'legendImg_' + oLayer.name); if (oImg) { var oParent=oImg.parentNode; var tId=oImg.id; var tVisibility=oImg.visibility; oParent.removeChild(oImg); oImg=document.createElement('img'); oImg.id=tId; oImg.title=tId; oImg.visibility=tVisibility; oImg.src='legend.php?map=' + this.kaMap.currentMap + '&scale=' + s + '&g=' + oLayer.name; oParent.appendChild(oImg); expander=getRawObject('expander_'+oLayer.name); expander.expandable=oImg; expander.expanded=true; kaLegend_expander.apply( expander ); } this.setOnOffLayer(oLayer); } } else if (eventID==KAMAP_LAYER_STATUS_CHANGED) { var layer=arguments[1]; for (var i=0; i<this.queryCBs.length; i++) { if (this.queryCBs[i].oLayer==layer) { this.queryCBs[i].checked=layer.visible; } } } }}; kaLegend.prototype.draw=function() { this.urlBase=this.kaMap.server; this.urlBase +=(this.urlBase!=''&&this.urlBase.substring(-1)!='/')?'':'/'; var oMap=this.kaMap.getCurrentMap(); this.expanders=[]; this.queryCBs=[]; if (this.domObj.childNodes.length==0) { this.domObj.appendChild(this.createHeaderHTML()); } var aLayers=oMap.getAllLayers(); for (var i=(aLayers.length-1);i>=0;i--) { if (aLayers[i].kaLegendObj==null) { this.createLayerHTML( aLayers[i] ); } else { try{this.domObj.removeChild( aLayers[i].kaLegendObj );} catch(e){}; } } for (var i=(aLayers.length-1);i>=0;i--) { this.domObj.appendChild( aLayers[i].kaLegendObj ); } if (this.kaMap.isIE4) { for(var i=0; i<this.queryCBs.length; i++) { this.queryCBs[i].checked=this.queryCBs[i].oLayer.visible; } } return;}; kaLegend.prototype.createHeaderHTML=function() { var d, t, tb, tr, td, img; d=document.createElement( 'div' ); d.className='kaLegendTitle'; t=document.createElement( 'table' ); t.setAttribute('width','226px'); t.setAttribute('cellPadding', "0"); t.setAttribute('cellSpacing', "0"); t.setAttribute('border', "0"); tb=document.createElement( "tbody" ); tr=document.createElement( 'tr' ); td=document.createElement( 'td' ); td.style.width='26px'; img=document.createElement( 'img' ); img.src='images/expand.png'; img.alt='expand all'; img.title='expand all'; img.kaLegend=this; img.onclick=kaLegend_expandAll; td.appendChild( img ); img=document.createElement( 'img' ); img.src='images/collapse.png'; img.alt='collapse all'; img.title='collapse all'; img.kaLegend=this; img.onclick=kaLegend_collapseAll; td.appendChild( img ); tr.appendChild( td ); td=document.createElement( 'td' ); td.appendChild(document.createTextNode( 'Layers' )); tr.appendChild( td ); tb.appendChild(tr); t.appendChild(tb); d.appendChild(t); return d;}; kaLegend.prototype.createLayerHTML=function( oLayer ) { var d, t, tb, tr, td, expander, cb, img, name; d=document.createElement( 'div' ); d.id='group_' + oLayer.name; d.className="kaLegendLayer"; d.oLayer=oLayer; name=oLayer.name; if (name=='__base__') { name='Base'; } t=document.createElement('table'); t.setAttribute('width','226'); t.setAttribute('cellPadding', "0"); t.setAttribute('cellSpacing', "0"); t.setAttribute('border', "0"); tb=document.createElement( 'tbody' ); tr=document.createElement('tr'); td=document.createElement('td'); td.setAttribute( "width", "9"); expander=document.createElement( 'img' ); expander.src='images/collapse.png'; expander.layerName=oLayer.name; expander.id='expander_'+oLayer.name; expander.onclick=kaLegend_expander; expander.expanded=true; this.expanders.push( expander ); td.appendChild( expander ); tr.appendChild(td); if (this.showVisibilityControl) { td=document.createElement('td'); td.width='22'; if (oLayer.name !='__base__') { cb=document.createElement( 'input' ); cb.type='checkbox'; cb.name='layerVisCB'; cb.value=oLayer.name; cb.checked=oLayer.visible; cb.kaLegend=this; cb.oLayer=oLayer; cb.onclick=kaLegend_toggleLayerVisibility; this.queryCBs.push(cb); td.appendChild( cb ); } else { td.innerHTML='&nbsp;'; } tr.appendChild(td); } var oMap=this.kaMap.getCurrentMap(); var aLayers=oMap.getAllLayers(); if (aLayers.length > 1) { if (this.showOpacityControl) { td=document.createElement('td'); td.width='19'; img=document.createElement( 'img' ); img.src='images/sun_white.png'; img.width='7'; img.alt="Decrease layer opacity"; img.title="Decrease layer opacity"; img.style.cursor='crosshair'; img.kaLegend=this; img.oLayer=oLayer; img.onclick=kaLegend_opacityDown; td.appendChild( img ); img=document.createElement( 'img' ); img.src='images/sun_grey.png'; img.width='7'; img.style.marginLeft='2px'; img.alt="Increase layer opacity"; img.title="Increase layer opacity"; img.style.cursor='crosshair'; img.kaLegend=this; img.oLayer=oLayer; img.onclick=kaLegend_opacityUp; td.appendChild( img ); tr.appendChild(td); } if (this.showOrderControl) { td=document.createElement('td'); td.width='10'; td.style.padding='1px'; img=document.createElement( 'img' ); img.src='images/arrow_up.png'; img.width='10'; img.height='8'; img.style.marginBottom='2px'; img.alt="Shift Layer Up"; img.title="Shift Layer Up"; img.style.cursor='crosshair'; img.kaLegend=this; img.oLayer=oLayer; img.myDiv=d; img.onclick=kaLegend_moveLayerUp; td.appendChild( img ); img=document.createElement( 'img' ); img.src='images/arrow_down.png'; img.width='10'; img.height='8'; img.alt="Shift Layer Down"; img.title="Shift Layer Down"; img.style.cursor='crosshair'; img.kaLegend=this; img.oLayer=oLayer; img.myDiv=d; img.onclick=kaLegend_moveLayerDown; td.appendChild( img ); tr.appendChild(td); } } if (this.showQueryControl) { td=document.createElement('td'); td.width='14'; img=document.createElement( 'img' ); img.width='14'; img.height='14'; if (oLayer.queryable) { if (oLayer.isQueryable()) { img.src='images/icon_query_on.png'; } else { img.src='images/icon_query_off.png'; } img.onmouseover=kaLegend_queryOnMouseOver; img.onmouseout=kaLegend_queryOnMouseOut; img.onclick=kaLegend_queryOnClick; img.oLayer=oLayer; } else { img.src='images/icon_query_x.png'; } td=document.createElement( 'td' ); td.appendChild(img); td.width='16'; tr.appendChild(td); } td=document.createElement( 'td' ); td.innerHTML=name; tr.appendChild(td); tb.appendChild(tr); t.appendChild( tb ); d.appendChild(t); img=document.createElement( 'img' ); img.id='legendImg_' + oLayer.name; img.src=this.urlBase + 'legend.php?map='+this.kaMap.currentMap+'&scale='+this.kaMap.getCurrentScale()+'&g='+oLayer.name; d.appendChild(img); expander.expandable=img; oLayer.kaLegendObj=d; kaLegend_expander.apply( expander ); this.setOnOffLayer(oLayer,oLayer.isVisible); }; function kaLegend_toggleLayerQueryable() { this.kaLegend.kaMap.setLayerQueryable( this.value, this.checked );}; function kaLegend_queryOnMouseOver() { if (this.oLayer.queryable) { this.src='images/icon_query_over.png'; }}; function kaLegend_queryOnMouseOut() { if (this.oLayer.queryable) { if (this.oLayer.isQueryable()) { this.src='images/icon_query_on.png'; } else { this.src='images/icon_query_off.png'; } }}; function kaLegend_queryOnClick() { if (this.oLayer.queryable) { if (this.oLayer.isQueryable()) { this.oLayer.setQueryable( false ); this.src='images/icon_query_off.png'; } else { this.oLayer.setQueryable( true ); this.src='images/icon_query_on.png'; } }}; function kaLegend_toggleLayerVisibility() { this.kaLegend.kaMap.setLayerVisibility( this.value, this.checked );}; function kaLegend_expander() { this.expanded=!this.expanded; this.src=(this.expanded)?'images/collapse.png':'images/expand.png'; this.expandable.style.display=(this.expanded)?'block':'none';}; function kaLegend_expandAll() { var kaLeg=this.kaLegend; for (var i=0; i<kaLeg.expanders.length; i++) { kaLeg.expanders[i].expanded=false; kaLegend_expander.apply( kaLeg.expanders[i] ); }}; function kaLegend_collapseAll() { var kaLeg=this.kaLegend; if (kaLeg.expanders) { for (var i=0; i<kaLeg.expanders.length; i++) { kaLeg.expanders[i].expanded=true; kaLegend_expander.apply( kaLeg.expanders[i] ); } }}; function kaLegend_opacityDown() { var opc; opc=this.oLayer.opacity-10; this.kaLegend.kaMap.setLayerOpacity(this.oLayer.name, opc ); }; function kaLegend_opacityUp() { var opc; opc=this.oLayer.opacity+10; this.kaLegend.kaMap.setLayerOpacity(this.oLayer.name, opc );}; kaLegend.prototype.setOnOffLayer=function(l) { if (l.isVisible()) { if (l.kaLegendObj) { l.kaLegendObj.style.display='block'; } } else { if(l.kaLegendObj) { l.kaLegendObj.style.display='none'; } }}; function kaLegend_moveLayerDown() { var myLayer=this.oLayer; var leg=this.myDiv.parentNode; var myDiv=this.myDiv; var lowerDiv=findLowerDiv(myDiv); if(lowerDiv && lowerDiv.className=='kaLegendLayer') { var aCheckbox=document.getElementsByTagName('input'); var checkboxStatusUp=null; var checkboxStatusDown=null; var checkboxUp=null; var checkboxDown=null; for(var i=0;i<aCheckbox.length;i++) { var inputTag=aCheckbox[i]; if(inputTag.value==myDiv.id.replace(/\bgroup_/, '')) { checkboxUp=inputTag; checkboxStatusUp=checkboxUp.checked; } if(inputTag.value==lowerDiv.id.replace(/\bgroup_/, '')) { checkboxDown=inputTag; checkboxStatusDown=inputTag.checked; } } var proxyMy=myDiv.cloneNode(true); var proxyLower=lowerDiv.cloneNode(true); myDiv.parentNode.insertBefore( proxyMy , myDiv ); myDiv.parentNode.insertBefore( proxyLower , lowerDiv ); myDiv.parentNode.replaceChild( lowerDiv , proxyMy ); myDiv.parentNode.replaceChild( myDiv , proxyLower ); if(checkboxUp)checkboxUp.checked=checkboxStatusUp; if(checkboxDown)checkboxDown.checked=checkboxStatusDown; for (i=0,n=leg.childNodes.length;i< leg.childNodes.length;i++) { var child=leg.childNodes[i]; if(child && child.className=='kaLegendLayer') { child.oLayer.zIndex=(n); n--; } } this.kaLegend.kaMap.setMapLayers(); } else { alert('this layer can\'t go farther down'); } }; function kaLegend_moveLayerUp() { var myLayer=this.oLayer; var leg=this.myDiv.parentNode; var myDiv=this.myDiv; var upperDiv=findUpperDiv(myDiv); if(upperDiv && upperDiv.className=='kaLegendLayer') { var aCheckbox=document.getElementsByTagName('input'); var checkboxStatusUp=null; var checkboxStatusDown=null; var checkboxUp=null; var checkboxDown=null; for(var i=0;i<aCheckbox.length;i++) { var inputTag=aCheckbox[i]; if(inputTag.value==upperDiv.id.replace(/\bgroup_/, '')) { checkboxUp=inputTag; checkboxStatusUp=checkboxUp.checked; } if(inputTag.value==myDiv.id.replace(/\bgroup_/, '')) { checkboxDown=inputTag; checkboxStatusDown=inputTag.checked; } } var proxyMy=myDiv.cloneNode(true); var proxyUpper=upperDiv.cloneNode(true); myDiv.parentNode.insertBefore( proxyMy , myDiv ); myDiv.parentNode.insertBefore( proxyUpper , upperDiv ); myDiv.parentNode.replaceChild( upperDiv , proxyMy ); myDiv.parentNode.replaceChild( myDiv , proxyUpper ); if(checkboxUp)checkboxUp.checked=checkboxStatusUp; if(checkboxDown)checkboxDown.checked=checkboxStatusDown; for (i=0,n=leg.childNodes.length;i< leg.childNodes.length;i++) { var child=leg.childNodes[i]; if(child && child.className=='kaLegendLayer') { child.oLayer.zIndex=(n); n--; } } this.kaLegend.kaMap.setMapLayers(); } else { alert('this layer can\'t go farther up'); }}; function findLowerDiv(div) { lDiv=div.nextSibling; if(lDiv && lDiv.className=='kaLegendLayer' && lDiv.style.display=='none') { findLowerDiv(lDiv); } return lDiv;}; function findUpperDiv(div){ uDiv=div.previousSibling; if(uDiv && uDiv.className=='kaLegendLayer' && uDiv.style.display=='none'){ findUpperDiv(uDiv); } return uDiv;} var gnLastEventId=0; var KAMAP_ERROR=gnLastEventId ++; var KAMAP_WARNING=gnLastEventId ++; var KAMAP_NOTICE=gnLastEventId++; var KAMAP_INITIALIZED=gnLastEventId ++; var KAMAP_MAP_INITIALIZED=gnLastEventId ++; var KAMAP_EXTENTS_CHANGED=gnLastEventId ++; var KAMAP_SCALE_CHANGED=gnLastEventId ++; var KAMAP_LAYERS_CHANGED=gnLastEventId ++; var KAMAP_LAYER_STATUS_CHANGED=gnLastEventId ++; var KAMAP_CONTEXT_MENU=gnLastEventId ++; var KAMAP_METAEXTENTS_CHANGED=gnLastEventId++; var KAMAP_MAP_CLICKED=gnLastEventId++; function kaMap( szID ) { this.isCSS=false; this.isW3C=false; this.isIE4=false; this.isNN4=false; this.isIE6CSS=false; if (document.images) { this.isCSS=(document.body && document.body.style) ? true : false; this.isW3C=(this.isCSS && document.getElementById) ? true : false; this.isIE4=(this.isCSS && document.all) ? true : false; this.isNN4=(document.layers) ? true : false; this.isIE6CSS=(document.compatMode && document.compatMode.indexOf("CSS1") >=0) ? true : false; } this.domObj=this.getRawObject( szID ); this.domObj.style.overflow='hidden'; this.hideLayersOnMove=false; this.loadUnchecked=false; this.initializationState=0; this.bMouseDown=false; this.lastx=0; this.lasty=0; this.theInsideLayer=null; this.viewportWidth=this.getObjectWidth(this.domObj); this.viewportHeight=this.getObjectHeight(this.domObj); this.xOffset=0; this.yOffset=0; this.xOrigin=0; this.yOrigin=0; this.currentMap=''; this.nWide=0; this.nHigh=0; this.nCurrentTop=0; this.nCurrentLeft=0; this.aPixel=new Image(1,1); this.aPixel.src='images/a_pixel.gif'; this.imgErrors=new Array(); this.aMaps=new Array(); this.tileWidth=null; this.tileHeight=null; this.nBuffer=1; this.baseURL=''; this.cellSize=null; this.gImageID=0; this.eventManager=new _eventManager(); this.as=slideid=null; this.accelerationFactor=1; this.pixelsPerStep=30; this.timePerStep=25; this.server=''; this.init="init.php"; this.tileURL=null; this.aObjects=[]; this.aCanvases=[]; this.layersHidden=false; this.aTools=[]; this.aInfoTools=[]; for (var i=0; i<gnLastEventId; i++) { this.registerEventID( i ); } this.createLayers(); }; kaMap.prototype.seekLayer=function(doc, name) { var theObj; for (var i=0; i < doc.layers.length; i++) { if (doc.layers[i].name==name) { theObj=doc.layers[i]; break; } if (doc.layers[i].document.layers.length > 0) { theObj=this.seekLayer(document.layers[i].document, name); } } return theObj; }; kaMap.prototype.getRawObject=function(obj) { var theObj; if (typeof obj=="string") { if (this.isW3C) { theObj=document.getElementById(obj); } else if (this.isIE4) { theObj=document.all(obj); } else if (this.isNN4) { theObj=seekLayer(document, obj); } } else { theObj=obj; } return theObj; }; kaMap.prototype.getObject=function(obj) { var theObj=this.getRawObject(obj); if (theObj && this.isCSS) { theObj=theObj.style; } return theObj; }; kaMap.prototype.getObjectWidth=function(obj) { var elem=this.getRawObject(obj); var result=0; if (elem.offsetWidth) { result=elem.offsetWidth; } else if (elem.clip && elem.clip.width) { result=elem.clip.width; } else if (elem.style && elem.style.pixelWidth) { result=elem.style.pixelWidth; } return parseInt(result); }; kaMap.prototype.getObjectHeight=function(obj) { var elem=this.getRawObject(obj); var result=0; if (elem.offsetHeight) { result=elem.offsetHeight; } else if (elem.clip && elem.clip.height) { result=elem.clip.height; } else if (elem.style && elem.style.pixelHeight) { result=elem.style.pixelHeight; } return parseInt(result); }; kaMap.prototype.zoomTo=function( cgX, cgY ) { var oMap=this.getCurrentMap(); var inchesPerUnit=new Array(1, 12, 63360.0, 39.3701, 39370.1, 4374754); var newScale; var bScaleChanged=false; if (arguments.length==3) { newScale=arguments[2]; bScaleChanged=(newScale !=this.getCurrentScale()) } else { newScale=this.getCurrentScale(); } var bZoomTo=true; if (!bScaleChanged) { var extents=this.getGeoExtents(); if (cgX >=extents[0] && cgX <=extents[2] && cgY >=extents[1] && cgY <=extents[3]) { var cx=(extents[0]+extents[2])/2; var cy=(extents[1]+extents[3])/2; var dx=(cx - cgX)/this.cellSize; var dy=(cgY - cy)/this.cellSize; this.slideBy(dx,dy); bZoomTo=false; } } if (bZoomTo) { this.cellSize=newScale/(oMap.resolution * inchesPerUnit[oMap.units]); var nFactor=oMap.zoomToScale( newScale ); this.setMapLayers(); var cpX=cgX / this.cellSize; var cpY=cgY / this.cellSize; var vpLeft=Math.round(cpX - this.viewportWidth/2); var vpTop=Math.round(cpY + this.viewportHeight/2); var cTileX=Math.floor(cpX/this.tileWidth)*this.tileWidth; var cTileY=Math.floor(cpY/this.tileHeight)*this.tileHeight; var nTilesLeft=Math.ceil(this.viewportWidth/(2*this.tileWidth))*this.tileWidth; var nTilesUp=Math.ceil(this.viewportHeight/(2*this.tileHeight))*this.tileHeight; this.nCurrentLeft=cTileX - nTilesLeft; this.nCurrentTop=-1*(cTileY + nTilesUp); this.xOrigin=this.nCurrentLeft; this.yOrigin=this.nCurrentTop; this.theInsideLayer.style.left=-1*(vpLeft - this.xOrigin) + "px"; this.theInsideLayer.style.top=(vpTop + this.yOrigin) + "px"; var layers=oMap.getLayers(); for( var k=0; k<layers.length; k++) { var d=layers[k].domObj; for(var j=0; j<this.nHigh; j++) { for( var i=0; i<this.nWide; i++) { var img=d.childNodes[(j*this.nWide)+i]; img.src=this.aPixel.src; img.style.top=(this.nCurrentTop + j*this.tileHeight - this.yOrigin) + "px"; img.style.left=(this.nCurrentLeft + i*this.tileWidth - this.xOrigin) + "px"; layers[k].setTile(img); } } } this.checkWrap( ); this.updateObjects(); } if (bScaleChanged) { this.triggerEvent( KAMAP_SCALE_CHANGED, this.getCurrentScale() ); } this.triggerEvent( KAMAP_EXTENTS_CHANGED, this.getGeoExtents() ); }; kaMap.prototype.zoomToExtents=function(minx, miny, maxx, maxy) { var inchesPerUnit=new Array(1, 12, 63360.0, 39.3701, 39370.1, 4374754); var oMap=this.getCurrentMap(); var cgX=(maxx+minx)/2; var cgY=(maxy+miny)/2; var tmpCellSizeX=(maxx - minx)/this.viewportWidth; var tmpCellSizeY=(maxy - miny)/this.viewportHeight; var tmpCellSize=Math.max( tmpCellSizeX, tmpCellSizeY ); var tmpScale=tmpCellSize * oMap.resolution * inchesPerUnit[oMap.units]; var newScale=oMap.aScales[0]; for (var i=1; i<oMap.aScales.length; i++) { if (tmpScale >=oMap.aScales[i]) { break; } newScale=oMap.aScales[i]; } this.cellSize=newScale/(oMap.resolution * inchesPerUnit[oMap.units]); var nFactor=oMap.zoomToScale( newScale ); this.setMapLayers(); var cpX=cgX / this.cellSize; var cpY=cgY / this.cellSize; var vpLeft=Math.round(cpX - this.viewportWidth/2); var vpTop=Math.round(cpY + this.viewportHeight/2); var cTileX=Math.floor(cpX/this.tileWidth)*this.tileWidth; var cTileY=Math.floor(cpY/this.tileHeight)*this.tileHeight; var nTilesLeft=Math.ceil(this.viewportWidth/(2*this.tileWidth))*this.tileWidth; var nTilesUp=Math.ceil(this.viewportHeight/(2*this.tileHeight))*this.tileHeight; this.nCurrentLeft=cTileX - nTilesLeft; this.nCurrentTop=-1*(cTileY + nTilesUp); this.xOrigin=this.nCurrentLeft; this.yOrigin=this.nCurrentTop; this.theInsideLayer.style.left=-1*(vpLeft - this.xOrigin) + "px"; this.theInsideLayer.style.top=(vpTop + this.yOrigin) + "px"; var layers=oMap.getLayers(); for( var k=0; k<layers.length; k++) { var d=layers[k].domObj; for(var j=0; j<this.nHigh; j++) { for( var i=0; i<this.nWide; i++) { var img=d.childNodes[(j*this.nWide)+i]; img.src=this.aPixel.src; img.style.top=(this.nCurrentTop + j*this.tileHeight - this.yOrigin) + "px"; img.style.left=(this.nCurrentLeft + i*this.tileWidth - this.xOrigin) + "px"; layers[k].setTile(img); } } } this.checkWrap( ); this.updateObjects(); this.triggerEvent( KAMAP_SCALE_CHANGED, this.getCurrentScale() ); this.triggerEvent( KAMAP_EXTENTS_CHANGED, this.getGeoExtents() ); }; kaMap.prototype.createDrawingCanvas=function( idx) { var d=document.createElement( 'div' ); d.style.position='absolute'; d.style.left='0px'; d.style.top='0px'; d.style.width='3000px'; d.style.height='3000px'; d.style.zIndex=idx; this.theInsideLayer.appendChild( d ); this.aCanvases.push( d ); d.kaMap=this; return d; }; kaMap.prototype.removeDrawingCanvas=function( canvas ) { for (var i=0; i<this.aCanvases.length;i++) { if (this.aCanvases[i]==canvas) { this.aCanvases.splice( i, 1 ); } } this.theInsideLayer.removeChild(canvas); canvas.kaMap=null; return true; }; kaMap.prototype.addObjectGeo=function( canvas, lon, lat, obj ) { obj.lon=lon; obj.lat=lat; var aPix=this.geoToPix( lon, lat ); return this.addObjectPix( canvas, aPix[0], aPix[1], obj ); }; kaMap.prototype.addObjectPix=function( canvas, x, y, obj ) { var xOffset=(obj.xOffset) ? obj.xOffset : 0; var yOffset=(obj.yOffset) ? obj.yOffset : 0; var top=(y - this.yOrigin + yOffset); var left=(x - this.xOrigin + xOffset); obj.style.position='absolute'; obj.style.top=top + "px"; obj.style.left=left + "px"; obj.canvas=canvas; canvas.appendChild( obj ); this.aObjects.push( obj ); return true; }; kaMap.prototype.shiftObject=function( x, y, obj ) { var top=safeParseInt(obj.style.top); var left=safeParseInt(obj.style.left); obj.style.top=(top + y) + "px"; obj.style.left=(left + x) + "px"; return true; }; kaMap.prototype.removeObject=function( obj ) { if (obj==null) { for (var i=0; i<this.aObjects.length; i++) { obj=this.aObjects[i]; if (obj.canvas) { obj.canvas.removeChild(obj); } } this.aObjects=[]; return true; } else { for (var i=0; i<this.aObjects.length; i++) { if (this.aObjects[i]==obj) { obj=this.aObjects[i]; if (obj.canvas) { obj.canvas.removeChild( obj ); obj.canvas=null; } this.aObjects.splice(i,1); return true; } } return false; } }; kaMap.prototype.removeObject2=function( obj ) { var mem2=[]; for (var i=0; i<this.aObjects.length; i++) { if ((this.aObjects[i].id!='dire')&&(this.aObjects[i].id!='dire_print')) { obj=this.aObjects[i]; if (obj.canvas) { obj.canvas.removeChild(obj); obj.canvas=null; } } } return false; }; kaMap.prototype.removeObject3=function( obj ) { var mem2=[]; for (var i=0; i<this.aObjects.length; i++) { if (this.aObjects[i].id=='muestra_icono_comuna') { obj=this.aObjects[i]; if (obj.canvas) { obj.canvas.removeChild(obj); obj.canvas=null; } } } return false; }; kaMap.prototype.removeAllObjects=function(canvas) { for (var i=0; i<this.aObjects.length; i++) { obj=this.aObjects[i]; if (obj.canvas && obj.canvas==canvas) { obj.canvas.removeChild( obj ); obj.canvas=null; this.aObjects.splice(i--,1); } } return true; }; kaMap.prototype.centerObject=function(obj) { var vpX=-safeParseInt(this.theInsideLayer.style.left) + this.viewportWidth/2; var vpY=-safeParseInt(this.theInsideLayer.style.top) + this.viewportHeight/2; var xOffset=(obj.xOffset)?obj.xOffset:0; var yOffset=(obj.yOffset)?obj.yOffset:0; var dx=safeParseInt(obj.style.left) - xOffset- vpX; var dy=safeParseInt(obj.style.top) - yOffset - vpY; this.slideBy(-dx, -dy); return true; }; kaMap.prototype.geoToPix=function( gX, gY ) { if (noCargaMinimap==false) { minimap(this.getGeoExtents()); } var pX=(gX / this.cellSize); var pY=(-1 * gY / this.cellSize-30); return [Math.floor(pX), Math.floor(pY)]; }; kaMap.prototype.pixToGeo=function( pX, pY ) { var bAdjust=(arguments.length==3 && arguments[2]) ? true : false; if (bAdjust) { pX=pX + this.xOrigin; pY=pY + this.yOrigin; } var gX=-1 * pX * this.cellSize; var gY=pY * this.cellSize; return [gX, gY]; }; kaMap.prototype.initialize=function() { if (this.initializationState==2) { this.triggerEvent( KAMAP_ERROR, 'ERROR: ka-Map! is already initialized!' ); return false; } else if (this.initializationState==1) { this.triggerEvent( KAMAP_WARNING, 'WARNING: ka-Map! is currently initializing ... wait for the KAMAP_INITIALIZED event to be triggered.' ); return false; } this.initializationState=1; var szURL=this.server+this.init; var sep=(this.init.indexOf("?")==-1) ? "?" : "&"; if (arguments.length > 0 && arguments[0] !='') { szURL=szURL + sep + "map="+ arguments[0]; sep="&"; } if (arguments.length > 1 && arguments[1] !='') { szURL=szURL + sep + "extents="+ arguments[1]; sep="&"; } if (arguments.length > 2 && arguments[2] !='') { szURL=szURL + sep + "centerPoint="+ arguments[2]; sep="&"; } call(szURL, this, this.initializeCallback); return true; }; kaMap.prototype.initializeCallback=function( szInit ) { if (szInit.substr(0, 1) !="/") { this.triggerEvent( KAMAP_ERROR, 'ERROR: ka-Map! initialization '+ 'failed on the server. Message returned was:\n' + szInit); return false; } eval(szInit); this.triggerEvent( KAMAP_INITIALIZED ); this.initializationState=2; if (mapa_origen=="index") { logo_emol=document.borrar.elements['logo_emol'].value; setTimeout("cambia_diario('"+logo_emol+"');",1000); } }; kaMap.prototype.setBackgroundColor=function( color ) { this.domObj.style.backgroundColor=color; return true; }; kaMap.prototype.createLayers=function() { this.theInsideLayer=document.createElement('div'); this.theInsideLayer.id='theInsideLayer'; this.theInsideLayer.style.position='absolute'; this.theInsideLayer.style.left='0px'; this.theInsideLayer.style.top='0px'; this.theInsideLayer.style.zIndex='1'; this.theInsideLayer.kaMap=this; if (this.currentTool) { this.theInsideLayer.style.cursor=this.currentTool.cursor; } this.domObj.appendChild(this.theInsideLayer); this.domObj.kaMap=this; this.theInsideLayer.onmousedown=kaMap_onmousedown; this.theInsideLayer.onmouseup=kaMap_onmouseup; this.theInsideLayer.onmousemove=kaMap_onmousemove; this.theInsideLayer.onmouseover=kaMap_onmouseover; this.domObj.onmouseout=kaMap_onmouseout; this.theInsideLayer.onkeypress=kaMap_onkeypress; this.theInsideLayer.ondblclick=kaMap_ondblclick; this.theInsideLayer.oncontextmenu=kaMap_oncontextmenu; this.theInsideLayer.onmousewheel=kaMap_onmousewheel; if (window.addEventListener && navigator.product && navigator.product=="Gecko") { this.domObj.addEventListener( "DOMMouseScroll", kaMap_onmousewheel, false ); } this.theInsideLayer.ondragstart=new Function([], 'var e=e?e:event;e.cancelBubble=true;e.returnValue=false;return false;'); }; kaMap.prototype.initializeLayers=function(nFactor) { var deltaMouseX=this.nCurrentLeft + safeParseInt(this.theInsideLayer.style.left) - this.xOrigin; var deltaMouseY=this.nCurrentTop + safeParseInt(this.theInsideLayer.style.top) - this.yOrigin; var vpTop=this.nCurrentTop - deltaMouseY; var vpLeft=this.nCurrentLeft - deltaMouseX; var vpCenterX=vpLeft + this.viewportWidth/2; var vpCenterY=vpTop + this.viewportHeight/2; var currentTileX=Math.floor(vpCenterX/this.tileWidth)*this.tileWidth; var currentTileY=Math.floor(vpCenterY/this.tileHeight)*this.tileHeight; var tileDeltaX=currentTileX - this.nCurrentLeft; var tileDeltaY=currentTileY - this.nCurrentTop; var newVpCenterX=vpCenterX * nFactor; var newVpCenterY=vpCenterY * nFactor; var newTileX=Math.floor(newVpCenterX/this.tileWidth) * this.tileWidth; var newTileY=Math.floor(newVpCenterY/this.tileHeight) * this.tileHeight; var newCurrentLeft=newTileX - tileDeltaX; var newCurrentTop=newTileY - tileDeltaY; this.nCurrentLeft=newCurrentLeft; this.nCurrentTop=newCurrentTop; var newTilLeft=-newVpCenterX + this.viewportWidth/2; var newTilTop=-newVpCenterY + this.viewportHeight/2; var xOldOrigin=this.xOrigin; var yOldOrigin=this.yOrigin; this.xOrigin=this.nCurrentLeft; this.yOrigin=this.nCurrentTop; this.theInsideLayer.style.left=(newTilLeft + this.xOrigin) + "px"; this.theInsideLayer.style.top=(newTilTop + this.yOrigin) + "px"; var layers=this.aMaps[this.currentMap].getLayers(); for( var k=0; k<layers.length; k++) { var d=layers[k].domObj; for(var j=0; j<this.nHigh; j++) { for( var i=0; i<this.nWide; i++) { var img=d.childNodes[(j*this.nWide)+i]; img.src=this.aPixel.src; img.style.top=(this.nCurrentTop + j*this.tileHeight - this.yOrigin) + "px"; img.style.left=(this.nCurrentLeft + i*this.tileWidth - this.xOrigin) + "px"; layers[k].setTile(img); } } } this.checkWrap(); i_serv=0; do_xml_serv2(); }; kaMap.prototype.paintLayer=function(l) { var d=l.domObj; for(var j=0; j<this.nHigh; j++) { for( var i=0; i<this.nWide; i++) { var img=d.childNodes[(j*this.nWide)+i]; img.style.top=(this.nCurrentTop + j*this.tileHeight - this.yOrigin) + "px"; img.style.left=(this.nCurrentLeft + i*this.tileWidth - this.xOrigin) + "px"; l.setTile(img); } } this.checkWrap(); }; kaMap.prototype.updateObjects=function() { for (var i=0; i<this.aObjects.length;i++) { var obj=this.aObjects[i]; var xOffset=(obj.xOffset) ? obj.xOffset : 0; var yOffset=(obj.yOffset) ? obj.yOffset : 0; var aPix=this.geoToPix( obj.lon, obj.lat ); var top=(aPix[1] - this.yOrigin + yOffset); var left=(aPix[0] - this.xOrigin + xOffset); obj.style.top=top + "px"; obj.style.left=left + "px"; } }; kaMap.prototype.resize=function( ) { if (this.initializationState !=2) { return false; } var newViewportWidth=this.getObjectWidth(this.domObj); var newViewportHeight=this.getObjectHeight(this.domObj); if (this.viewportWidth==null) { this.theInsideLayer.style.top=(-1*this.nCurrentTop + this.yOrigin) + "px"; this.theInsideLayer.style.left=(-1*this.nCurrentLeft + this.xOrigin) + "px"; this.theInsideLayer.style.top=(safeParseInt(this.theInsideLayer.style.top) + (newViewportHeight - viewportHeight)/2)+"px"; this.theInsideLayer.style.left=(safeParseInt(this.theInsideLayer.style.top) + (newViewportWidth - viewportWidth)/2)+"px"; this.viewportWidth=newViewportWidth; this.viewportHeight=newViewportHeight; } var newWide=Math.ceil((newViewportWidth / this.tileWidth) + 2*this.nBuffer); var newHigh=Math.ceil((newViewportHeight / this.tileHeight) + 2*this.nBuffer); this.viewportWidth=newViewportWidth; this.viewportHeight=newViewportHeight; if (this.nHigh==0 && this.nWide==0) { this.nWide=newWide; } while (this.nHigh < newHigh) { this.appendRow(); } while (this.nHigh > newHigh && newHigh > 3) { this.removeRow(); } while (this.nWide < newWide) { this.appendColumn(); } while (this.nWide > newWide && newWide > 3) { this.removeColumn(); } var map=this.getCurrentMap(); var layers=map.getLayers(); for(i=0;i<layers.length;i++) { layers[i].setTileLayer(); } this.triggerEvent( KAMAP_EXTENTS_CHANGED, this.getGeoExtents() ); this.triggerEvent( KAMAP_EXTENTS_CHANGED, this.getGeoExtents() ); }; kaMap.prototype.createImage=function( top, left, obj ) { var img=document.createElement('img'); img.src=this.aPixel.src; img.width=this.tileWidth; img.height=this.tileHeight; img.setAttribute('style', 'position:absolute; top:'+top+'px; left:'+left+'px;' ); img.style.position='absolute'; img.style.top=(top - this.yOrigin)+'px'; img.style.left=(left - this.xOrigin)+'px'; img.style.width=this.tileWidth + "px"; img.style.height=this.tileHeight + "px"; img.style.visibility='hidden'; img.galleryimg="no"; img.onerror=kaMap_imgOnError; img.onload=kaMap_imgOnLoad; img.errorCount=0; img.id="i" + this.gImageID; img.layer=obj; img.kaMap=this; this.gImageID=this.gImageID + 1; img.ie_hack=false; if (this.isIE4) { if (obj.imageformat && (obj.imageformat.toLowerCase()=="alpha")) { img.ie_hack=true; } } return img; }; kaMap.prototype.resetTile=function( id, bForce ) { var img=this.DHTMLapi.getRawObject(id); if (img.layer) { img.layer.setTile(this, bForce); } }; kaMap.prototype.reloadImage=function(id) { }; kaMap.prototype.resetImage=function(id) { }; kaMap_imgOnError=function(e) { if (this.layer) { this.layer.setTile(this, true); } }; kaMap_imgOnLoad=function(e) { if ((this.ie_hack) && (this.src !=this.kaMap.aPixel.src)) { var src=this.src; this.src=this.kaMap.aPixel.src; this.style.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+src+"')"; } this.style.visibility='visible'; }; kaMap.prototype.appendRow=function(layer) { if (this.nWide==0) { return; } var layers=null; if(arguments.length==1) { layers=Array(layer); } else { layers=this.aMaps[this.currentMap].getLayers(); } for( var i=0; i<layers.length; i++) { var obj=layers[i].domObj; for (var j=0; j<this.nWide; j++) { var top=this.nCurrentTop + (this.nHigh * this.tileHeight); var left=this.nCurrentLeft + (j * this.tileWidth); var img=this.createImage( top, left, layers[i] ); if (this.isIE4) { img.style.filter="Alpha(opacity="+layers[i].opacity+")"; } obj.appendChild( img ); } } this.nHigh=this.nHigh + 1; }; kaMap.prototype.appendColumn=function(layer) { if (this.nHigh==0) { return; } var layers=null; if(arguments.length==1) { layers=Array(layer); } else { layers=this.aMaps[this.currentMap].getLayers(); } for( var i=0; i<layers.length; i++) { var obj=layers[i].domObj; for(var j=this.nHigh-1; j>=0; j--) { var top=this.nCurrentTop + (j * this.tileHeight); var left=this.nCurrentLeft + (this.nWide * this.tileWidth); var img=this.createImage( top, left, layers[i] ); if (this.isIE4) { img.style.filter="Alpha(opacity="+layers[i].opacity+")"; } if (j < this.nHigh-1) { obj.insertBefore(img, obj.childNodes[((j+1)*this.nWide)]); } else { obj.appendChild(img); } } } this.nWide=this.nWide + 1; }; kaMap.prototype.removeColumn=function(layer) { if (this.nWide < 3) { return; } var layers=null; if(arguments.length==1) { layers=Array(layer); } else { layers=this.aMaps[this.currentMap].getLayers(); } for( var i=0; i<layers.length; i++) { var d=layers[i].domObj; for(var j=this.nHigh - 1; j >=0; j--) { var img=d.childNodes[((j+1)*this.nWide)-1]; d.removeChild( img ); img.onload=null; img.onerror=null; } } this.nWide=this.nWide - 1; }; kaMap.prototype.removeRow=function(layer) { if (this.nHigh < 3) { return; } var layers=null; if(arguments.length==1) { layers=Array(layer); } else { layers=this.aMaps[this.currentMap].getLayers(); } for( var i=0; i<layers.length; i++) { var d=layers[i].domObj; for(var j=this.nWide - 1; j >=0; j--) { var img=d.childNodes[((this.nHigh-1)*this.nWide)+j]; d.removeChild( img ); img.onload=null; img.onerror=null; } } this.nHigh=this.nHigh - 1; }; kaMap.prototype.hideLayers=function() { if (!this.hideLayersOnMove) { return; } if (this.layersHidden) { return; } var layers=this.aMaps[this.currentMap].getLayers(); for( var i=0; i<layers.length; i++) { layers[i]._visible=layers[i].visible; if (layers[i].name !='__base__') { layers[i].setVisibility( false ); } } for( var i=0; i < this.aCanvases.length; i++) { this.aCanvases[i].style.visibility='hidden'; this.aCanvases[i].style.display='none'; } this.layersHidden=true; }; kaMap.prototype.showLayers=function() { if (!this.hideLayersOnMove) { return; } if (!this.layersHidden) { return; } var layers=this.aMaps[this.currentMap].getLayers(); for( var i=0; i<layers.length; i++) { layers[i].setVisibility( layers[i]._visible ); } for( var i=0; i < this.aCanvases.length; i++) { this.aCanvases[i].style.visibility='visible'; this.aCanvases[i].style.display='block'; } this.layersHidden=false; }; kaMap.prototype.moveBy=function( x, y ) { var til=this.theInsideLayer; til.style.top=(safeParseInt(til.style.top)+y) + 'px'; til.style.left=(safeParseInt(til.style.left)+x )+ 'px'; this.checkWrap(); }; kaMap.prototype.slideBy=function(x,y) { if (this.slideid!=null) { goQueueManager.dequeue( this.slideid ); } this.as=[]; var absX=Math.abs(x); var absY=Math.abs(y); var signX=x/absX; var signY=y/absY; var distance=absX>absY?absX:absY; var steps=Math.floor(distance/this.pixelsPerStep); var dx=dy=0; if (steps > 0) { dx=(x)/(steps*this.pixelsPerStep); dy=(y)/(steps*this.pixelsPerStep); } var remainderX=x - dx*steps*this.pixelsPerStep; var remainderY=y - dy*steps*this.pixelsPerStep; var px=py=0; var curspeed=this.accelerationFactor; var i=0; while(i<steps) { if (i>0) { px+=this.as[i-1][0]; py+=this.as[i-1][1]; } var cx=px+Math.round(dx*this.pixelsPerStep); var cy=py+Math.round(dy*this.pixelsPerStep); this.as[i]=new Array(cx-px,cy-py); i++; } if (remainderX !=0 || remainderY !=0) { this.as[i]=[remainderX, remainderY]; } this.hideLayers(); this.slideid=goQueueManager.enqueue(this.timePerStep,this,this.slide,[0]); }; kaMap.prototype.slide=function(pos) { if (pos>=this.as.length) { this.as=slideid=null; this.showLayers(); this.triggerEvent( KAMAP_EXTENTS_CHANGED, this.getGeoExtents() ); return; } this.moveBy( this.as[pos][0], this.as[pos][1] ); pos ++; this.slideid=goQueueManager.enqueue(this.timePerStep,this,this.slide,[ pos]); }; kaMap_onkeypress=function( e ) { if (this.kaMap.currentTool) { this.kaMap.currentTool.onkeypress( e ); } if (this.kaMap.aInfoTools.length > 0) { for (var i=0; i<this.kaMap.aInfoTools.length; i++) { this.kaMap.aInfoTools[i].onkeypress(e); } } }; kaMap_onmousemove=function( e ) { e=(e)?e:((event)?event:null); if (e.button==2) { this.kaMap.triggerEvent( KAMAP_CONTEXT_MENU ); } if (this.kaMap.currentTool) { this.kaMap.currentTool.onmousemove( e ); } if (this.kaMap.aInfoTools.length > 0) { for (var i=0; i<this.kaMap.aInfoTools.length; i++) { this.kaMap.aInfoTools[i].onmousemove(e); } } }; kaMap_onmousedown=function( e ) { if (this.kaMap.currentTool) { this.kaMap.currentTool.onmousedown( e ); } if (this.kaMap.aInfoTools.length > 0) { for (var i=0; i<this.kaMap.aInfoTools.length; i++) { this.kaMap.aInfoTools[i].onmousedown(e); } } }; kaMap_onmouseup=function( e ) { if (this.kaMap.currentTool) { this.kaMap.currentTool.onmouseup( e ); } if (this.kaMap.aInfoTools.length > 0) { for (var i=0; i<this.kaMap.aInfoTools.length; i++) { this.kaMap.aInfoTools[i].onmouseup(e); } } }; kaMap_onmouseover=function( e ) { if (this.kaMap.currentTool) { this.kaMap.currentTool.onmouseover( e ); } if (this.kaMap.aInfoTools.length > 0) { for (var i=0; i<this.kaMap.aInfoTools.length; i++) { this.kaMap.aInfoTools[i].onmouseover(e); } } }; kaMap_onmouseout=function( e ) { if (this.kaMap.currentTool) { this.kaMap.currentTool.onmouseout( e ); } if (this.kaMap.aInfoTools.length > 0) { for (var i=0; i<this.kaMap.aInfoTools.length; i++) { this.kaMap.aInfoTools[i].onmouseout(e); } } }; kaMap_oncontextmenu=function( e ) { e=e?e:event; if (e.preventDefault) { e.preventDefault(); } return false; }; kaMap_ondblclick=function( e ) { if (this.kaMap.currentTool) { this.kaMap.currentTool.ondblclick( e ); } if (this.kaMap.aInfoTools.length > 0) { for (var i=0; i<this.kaMap.aInfoTools.length; i++) { this.kaMap.aInfoTools[i].ondblclick(e); } } }; kaMap_onmousewheel=function( e ) { if (this.kaMap.currentTool) { this.kaMap.currentTool.onmousewheel( e ); } }; kaMap.prototype.cancelEvent=function(e) { e=(e)?e:((event)?event:null); e.returnValue=false; if (e.preventDefault) { e.preventDefault(); } return false; }; kaMap.prototype.registerTool=function( toolObj ) { this.aTools.push( toolObj ); }; kaMap.prototype.activateTool=function( toolObj ) { if (toolObj.isInfoTool()) { this.aInfoTools.push(toolObj); } else { if (this.currentTool) { this.currentTool.deactivate(); } this.currentTool=toolObj; if (this.theInsideLayer) { this.setCursor(this.currentTool.cursor); } } }; kaMap.prototype.deactivateTool=function( toolObj ) { if (toolObj.isInfoTool()) { for (var i=0; i<this.aInfoTools.length; i++) { if (this.aInfoTools[i]==toolObj) { this.aInfoTools.splice(i,1); break; } } } else { if (this.currentTool==toolObj) { this.currentTool=null; } if (this.theInsideLayer) { this.theInsideLayer.style.cursor='auto'; } } }; kaMap.prototype.setCursor=function(cursor) { if (cursor && cursor.length && typeof cursor=='object') { for (var i=0; i < cursor.length; i++) { this.theInsideLayer.style.cursor=cursor[i]; if (this.theInsideLayer.style.cursor==cursor[i]) { break; } } } else if (typeof cursor=='string') { this.theInsideLayer.style.cursor=cursor; } else { this.theInsideLayer.style.cursor='auto'; } }; kaMap.prototype.checkWrap=function() { var bWrapped=false; this.checkMaxExtents(); this.xOffset=safeParseInt(this.theInsideLayer.style.left) + this.nCurrentLeft - this.xOrigin; this.yOffset=safeParseInt(this.theInsideLayer.style.top) + this.nCurrentTop - this.yOrigin; while (this.xOffset > 0) { this.wrapR2L(); bWrapped=true; } while (this.xOffset < -(this.nBuffer*this.tileWidth)) { this.wrapL2R(); bWrapped=true; } while (this.yOffset > -(this.nBuffer*this.tileHeight)) { this.wrapB2T(); bWrapped=true; } while (this.yOffset < -(2*this.nBuffer*this.tileHeight)) { this.wrapT2B(); bWrapped=true; } var layer=this.aMaps[this.currentMap].getLayers()[0]; if (layer) { var img=layer.domObj.childNodes[0].style; this.nCurrentTop=safeParseInt(img.top) + this.yOrigin; this.nCurrentLeft=safeParseInt(img.left) + this.xOrigin; } if (bWrapped) { this.triggerEvent( KAMAP_METAEXTENTS_CHANGED, this.getMetaExtents() ); } }; kaMap.prototype.checkMaxExtents=function() { var maxExtents=this.getCurrentMap().maxExtents; if (maxExtents.length==4) { if ((maxExtents[0] >=maxExtents[2]) || (maxExtents[1] >=maxExtents[3])) { return false; } var geoExtents=this.getGeoExtents(); var hPixelAdjustment=0; var vPixelAdjustment=0; if (geoExtents[0] < maxExtents[0]) { hPixelAdjustment=Math.round((maxExtents[0] - geoExtents[0]) / this.cellSize); } if (geoExtents[2] > maxExtents[2]) { if(hPixelAdjustment !=0) { hPixelAdjustment +=Math.round((maxExtents[2] - geoExtents[2]) / this.cellSize); hPixelAdjustment /=2; } else { hPixelAdjustment +=Math.round((maxExtents[2] - geoExtents[2]) / this.cellSize); } } if(hPixelAdjustment !=0) { this.theInsideLayer.style.left=(safeParseInt(this.theInsideLayer.style.left) - hPixelAdjustment) + 'px'; } if(geoExtents[1] < maxExtents[1]) { vPixelAdjustment=Math.round((maxExtents[1] - geoExtents[1]) / this.cellSize); } if(geoExtents[3] > maxExtents[3]) { if(vPixelAdjustment !=0) { vPixelAdjustment +=Math.round((maxExtents[3] - geoExtents[3]) / this.cellSize); vPixelAdjustment /=2; } else { vPixelAdjustment=Math.round((maxExtents[3] - geoExtents[3]) / this.cellSize); } } if(vPixelAdjustment !=0) { this.theInsideLayer.style.top=(safeParseInt(this.theInsideLayer.style.top) + vPixelAdjustment) + 'px'; } } }; kaMap.prototype.wrapR2L=function() { this.xOffset=this.xOffset - (this.nBuffer * this.tileWidth); var layers=this.aMaps[this.currentMap].getLayers(); for( var k=0; k<layers.length; k++) { var d=layers[k].domObj; var refLeft=safeParseInt(d.childNodes[0].style.left); for (var j=0; j<this.nHigh; j++) { var imgLast=d.childNodes[((j+1)*this.nWide)-1]; var imgNext=d.childNodes[j*this.nWide]; imgLast.style.left=(refLeft - this.tileWidth) + 'px'; imgLast.src=this.aPixel.src; d.removeChild(imgLast); d.insertBefore(imgLast, imgNext); if (layers[k].visible) { layers[k].setTile(imgLast); } } } }; kaMap.prototype.wrapL2R=function() { this.xOffset=this.xOffset + (this.nBuffer*this.tileWidth); var layers=this.aMaps[this.currentMap].getLayers(); for( var k=0; k<layers.length; k++) { var d=layers[k].domObj; var refLeft=safeParseInt(d.childNodes[this.nWide-1].style.left); for (var j=0; j<this.nHigh; j++) { var imgFirst=d.childNodes[j*this.nWide]; var imgNext; if (j < this.nHigh-1) { imgNext=d.childNodes[((j+1)*this.nWide)]; } else { imgNext=null; } imgFirst.style.left=(refLeft + this.tileWidth) + 'px'; imgFirst.src=this.aPixel.src; d.removeChild(imgFirst); if (imgNext) { d.insertBefore(imgFirst, imgNext); } else { d.appendChild(imgFirst); } if (layers[k].visible) { layers[k].setTile(imgFirst); } } } }; kaMap.prototype.wrapT2B=function() { this.yOffset=this.yOffset + (this.nBuffer*this.tileHeight); var layers=this.aMaps[this.currentMap].getLayers(); for( var k=0; k<layers.length; k++) { var d=layers[k].domObj; var refTop=safeParseInt(d.childNodes[(this.nHigh*this.nWide)-1].style.top); for (var i=0; i<this.nWide; i++) { var imgBottom=d.childNodes[0]; imgBottom.style.top=(refTop + this.tileHeight) + 'px'; imgBottom.src=this.aPixel.src; d.removeChild(imgBottom); d.appendChild(imgBottom); if (layers[k].visible) { layers[k].setTile(imgBottom); } } } }; kaMap.prototype.wrapB2T=function() { this.yOffset=this.yOffset - (this.nBuffer*this.tileHeight); var layers=this.aMaps[this.currentMap].getLayers(); for( var k=0; k<layers.length; k++) { var d=layers[k].domObj; var refTop=safeParseInt(d.childNodes[0].style.top); for (var i=0; i<this.nWide; i++) { var imgTop=d.childNodes[(this.nHigh*this.nWide)-1]; imgTop.style.top=(refTop - this.tileHeight) + 'px'; imgTop.src=this.aPixel.src; d.removeChild(imgTop); d.insertBefore(imgTop, d.childNodes[0]); if (layers[k].visible) { layers[k].setTile(imgTop); } } } }; kaMap.prototype.addMap=function( oMap ) { oMap.kaMap=this; this.aMaps[oMap.name]=oMap; }; kaMap.prototype.getMaps=function() { return this.aMaps; }; kaMap.prototype.getCurrentMap=function() { return this.aMaps[this.currentMap]; }; kaMap.prototype.selectMap=function( name ) { if (!this.aMaps[name]) { return false; } else { this.currentMap=name; var oMap=this.getCurrentMap(); this.setBackgroundColor(oMap.backgroundColor); this.setMapLayers(); if (arguments[1] && arguments[1].length==3) { this.zoomTo(arguments[1][0], arguments[1][1], arguments[1][2]); oMap.aZoomTo.length=0; } else if (oMap.aZoomTo.length !=0) { this.zoomTo(oMap.aZoomTo[0], oMap.aZoomTo[1], oMap.aZoomTo[2]); oMap.aZoomTo.length=0; } else if (arguments[1] && arguments[1].length==4) { this.zoomToExtents( arguments[1][0], arguments[1][1], arguments[1][2], arguments[1][3] ); } else { this.zoomToExtents( oMap.currentExtents[0], oMap.currentExtents[1], oMap.currentExtents[2], oMap.currentExtents[3] ); } this.triggerEvent( KAMAP_MAP_INITIALIZED, this.currentMap ); return true; } }; kaMap.prototype.setMapLayers=function( ) { var oMap=this.getCurrentMap(); for(var i=this.theInsideLayer.childNodes.length - 1; i>=0; i-- ) { if (this.theInsideLayer.childNodes[i].className=='mapLayer') { this.theInsideLayer.childNodes[i].appended=false; this.theInsideLayer.removeChild(this.theInsideLayer.childNodes[i]); } } layers=oMap.getLayers(); for( var i=0; i<layers.length; i++) { if(!layers[i].domObj) { var d=this.createMapLayer( layers[i].name ); this.theInsideLayer.appendChild( d ); d.appended=true; layers[i].domObj=d; layers[i].setOpacity( layers[i].opacity ); layers[i].setZIndex( layers[i].zIndex ); layers[i].setVisibility( layers[i].visible ); this.nWide=0; this.nHigh=0; this.drawGroup(layers[i]); } else if (!layers[i].domObj.appended) { this.theInsideLayer.appendChild( layers[i].domObj ); layers[i].domObj.appended=true; layers[i].setZIndex( layers[i].zIndex ); } } return true; }; kaMap.prototype.drawGroup=function(group) { var newViewportWidth=this.getObjectWidth(this.domObj); var newViewportHeight=this.getObjectHeight(this.domObj); if (this.viewportWidth==null) { this.theInsideLayer.style.top=(-1*this.nCurrentTop + this.yOrigin) + "px"; this.theInsideLayer.style.left=(-1*this.nCurrentLeft + this.xOrigin) + "px"; this.viewportWidth=newViewportWidth; this.viewportHeight=newViewportHeight; } var newWide=Math.ceil((newViewportWidth / this.tileWidth) + 2*this.nBuffer); var newHigh=Math.ceil((newViewportHeight / this.tileHeight) + 2*this.nBuffer); this.viewportWidth=newViewportWidth; this.viewportHeight=newViewportHeight; if (this.nHigh==0 && this.nWide==0) { this.nWide=newWide; } while (this.nHigh < newHigh) { this.appendRow(group); } while (this.nHigh > newHigh) { this.removeRow(group); } while (this.nWide < newWide) { this.appendColumn(group); } while (this.nWide > newWide) { this.removeColumn(group); } return true; }; kaMap.prototype.createMapLayer=function( id ) { var d=document.createElement( 'div' ); d.id=id; d.className='mapLayer'; d.style.position='absolute'; d.style.visibility='visible'; d.style.left='0px'; d.style.top='0px'; d.style.width='3000px'; d.style.height='3000px'; d.appended=false; return d; }; kaMap.prototype.addMapLayer=function( l ) { var map=this.getCurrentMap(); map.addLayer(l); this.setMapLayers(); this.paintLayer(l); this.triggerEvent( KAMAP_LAYERS_CHANGED, this.currentMap ); }; kaMap.prototype.removeMapLayer=function( id ) { var map=this.getCurrentMap(); var layer=map.getLayer(id); if (!layer) { return false; } if (map.removeLayer ( map.getLayer(id) )) { this.setMapLayers(); this.triggerEvent( KAMAP_LAYERS_CHANGED, this.currentMap ); } }; kaMap.prototype.getCenter=function() { var deltaMouseX=this.nCurrentLeft - this.xOrigin + safeParseInt(this.theInsideLayer.style.left); var deltaMouseY=this.nCurrentTop - this.yOrigin + safeParseInt(this.theInsideLayer.style.top); var vpTop=this.nCurrentTop - deltaMouseY; var vpLeft=this.nCurrentLeft - deltaMouseX; var vpCenterX=vpLeft + this.viewportWidth/2; var vpCenterY=vpTop + this.viewportHeight/2; return new Array( vpCenterX, vpCenterY ); }; kaMap.prototype.getGeoExtents=function() { var minx=-1*(safeParseInt(this.theInsideLayer.style.left) - this.xOrigin) * this.cellSize; var maxx=minx + this.viewportWidth * this.cellSize; var maxy=(safeParseInt(this.theInsideLayer.style.top) - this.yOrigin) * this.cellSize; var miny=maxy - this.viewportHeight * this.cellSize; return [minx,miny,maxx,maxy]; }; kaMap.prototype.getMetaExtents=function() { var result=this.getGeoExtents(); var oMap=this.getCurrentMap(); layers=oMap.getLayers(); for( var i=0; i<layers.length; i++) { if(layers[i].domObj) { var d=layers[i].domObj; var pl=safeParseInt(d.childNodes[0].style.left); var pt=safeParseInt(d.childNodes[0].style.top); var glt=this.pixToGeo(pl,pt,true); var left=-1*glt[0]; var top=-1*glt[1]; var right=left + this.nWide*this.tileWidth*this.cellSize; var bottom=top - this.nHigh*this.tileHeight*this.cellSize; result=[left, bottom, right, top]; break; } } return result; }; kaMap.prototype.zoomIn=function() { this.zoomByFactor(this.aMaps[this.currentMap].zoomIn()); }; kaMap.prototype.zoomOut=function() { this.zoomByFactor(this.aMaps[this.currentMap].zoomOut()); }; kaMap.prototype.zoomToScale=function( scale ) { this.zoomByFactor(this.aMaps[this.currentMap].zoomToScale(scale)); }; kaMap.prototype.zoomToScale=function( scale ) { this.zoomByFactor(this.aMaps[this.currentMap].zoomToScale(scale)); }; kaMap.prototype.zoomByFactor=function( nZoomFactor ) { if (nZoomFactor==1) { this.triggerEvent( KAMAP_NOTICE, "NOTICE: changing to current scale aborted"); return; } this.cellSize=this.cellSize/nZoomFactor; this.setMapLayers(); this.initializeLayers(nZoomFactor); this.triggerEvent( KAMAP_SCALE_CHANGED, this.getCurrentScale() ); this.triggerEvent( KAMAP_EXTENTS_CHANGED, this.getGeoExtents() ); i_serv=0; this.removeObject(); this.removeObject2(); if (Mouse_Lat!="") { this.zoomTo(Mouse_Lat,Mouse_Lon); } this.updateObjects(); do_xml_serv2(); this.updateObjects(); if (Glon!="") { convert_geo_pix(Glon,Glat,Gtxt); } this.updateObjects(); }; kaMap.prototype.getCurrentScale=function() { return this.aMaps[this.currentMap].aScales[this.aMaps[this.currentMap].currentScale]; }; kaMap.prototype.setLayerQueryable=function( name, bQueryable ) { this.aMaps[this.currentMap].setLayerQueryable( name, bQueryable ); }; kaMap.prototype.setLayerVisibility=function( name, bVisible ) { if(!this.loadUnchecked && bVisible) { layer=this.aMaps[this.currentMap].getLayer(name); layer.visible=true; this.setMapLayers(); this.aMaps[this.currentMap].setLayerVisibility( name, bVisible ); this.paintLayer(layer); } else { this.aMaps[this.currentMap].setLayerVisibility( name, bVisible ); } }; kaMap.prototype.setLayerOpacity=function( name, opacity ) { this.aMaps[this.currentMap].setLayerOpacity( name, opacity ); }; kaMap.prototype.registerEventID=function( eventID ) { return this.eventManager.registerEventID(eventID); }; kaMap.prototype.registerForEvent=function( eventID, obj, func ) { return this.eventManager.registerForEvent(eventID, obj, func); }; kaMap.prototype.deregisterForEvent=function( eventID, obj, func ) { return this.eventManager.deregisterForEvent(eventID, obj, func); }; kaMap.prototype.triggerEvent=function( eventID ) { return this.eventManager.triggerEvent.apply( this.eventManager, arguments ); }; function safeParseInt( val ) { return Math.round(parseFloat(val)); }; function _map(o) { this.aLayers=[]; this.aZoomTo=[]; this.kaMap=null; this.name=(typeof(o.name) !='undefined') ? o.name : 'noname'; this.title=(typeof(o.title) !='undefined') ? o.title : 'no title'; this.aScales=(typeof(o.scales) !='undefined') ? o.scales : [1]; this.currentScale=(typeof(o.currentScale) !='undefined') ? parseFloat(o.currentScale) : 0; this.units=(typeof(o.units) !='undefined') ? o.units : 5; this.resolution=(typeof(o.resolution) !='undefined') ? o.resolution:72; this.defaultExtents=(typeof(o.defaultExtents) !='undefined') ? o.defaultExtents:[]; this.currentExtents=(typeof(o.currentExtents) !='undefined') ? o.currentExtents:[]; this.maxExtents=(typeof(o.maxExtents) !='undefined') ? o.maxExtents : []; this.backgroundColor=(typeof(o.backgroundColor) !='undefined') ? o.backgroundColor : '#ffffff'; this.version=(typeof(o.version) !='undefined') ? o.version : ""; }; _map.prototype.addLayer=function( layer ) { layer._map=this; layer.zIndex=this.aLayers.length; this.aLayers.push( layer ); }; _map.prototype.removeLayer=function( l ) { var alayer=Array(); for(i=0,a=0;i<this.aLayers.length;i++) { if(this.aLayers[i]!=l) { alayer[a]=this.aLayers[i]; a++; } } this.aLayers=alayer; return true; }; _map.prototype.getQueryableLayers=function() { var r=[]; var l=this.getLayers(); for( var i=0; i<l.length; i++) { if (l[i].isQueryable()) { r.push(l[i]); } } return r; }; _map.prototype.getLayers=function() { var r=[]; for( var i=0; i<this.aLayers.length; i++) { if (this.aLayers[i].isVisible() && (this.aLayers[i].visible || this.kaMap.loadUnchecked) ) { r.push(this.aLayers[i]); } } return r; }; _map.prototype.getAllQueryableLayers=function() { var r=[]; for( var i=0; i<this.aLayers.length; i++) { if (this.aLayers[i].isQueryable()) { r.push(this.aLayers[i]); } } return r; }; _map.prototype.getAllLayers=function() { return this.aLayers; }; _map.prototype.getLayer=function( name ) { for (var i=0; i<this.aLayers.length; i++) { if (this.aLayers[i].name==name) { return this.aLayers[i]; } } }; _map.prototype.getScales=function() { return this.aScales; }; _map.prototype.zoomIn=function() { var nZoomFactor=1; if (this.currentScale < this.aScales.length - 1) { nZoomFactor=this.aScales[this.currentScale]/this.aScales[this.currentScale+1]; this.currentScale=this.currentScale + 1; } return nZoomFactor; }; _map.prototype.zoomOut=function() { var nZoomFactor=1; if (this.currentScale > 0) { nZoomFactor=this.aScales[this.currentScale]/this.aScales[this.currentScale-1]; this.currentScale=this.currentScale - 1; } return nZoomFactor; }; _map.prototype.zoomToScale=function( scale ) { var nZoomFactor=1; for (var i=0; i<this.aScales.length; i++) { if (this.aScales[i]==scale) { nZoomFactor=this.aScales[this.currentScale]/scale; this.currentScale=parseInt(i); } } return nZoomFactor; }; _map.prototype.setLayerQueryable=function( name, bQueryable ) { var layer=this.getLayer( name ); if(typeof(layer) !='undefined') { layer.setQueryable( bQueryable ); } }; _map.prototype.setLayerVisibility=function( name, bVisible ) { var layer=this.getLayer( name ); if(typeof(layer) !='undefined') { layer.setVisibility( bVisible ); } }; _map.prototype.setLayerOpacity=function( name, opacity ) { var layer=this.getLayer( name ); if(typeof(layer) !='undefined') { layer.setOpacity( opacity ); } }; _map.prototype.setDefaultExtents=function( minx, miny, maxx, maxy ){ this.defaultExtents=[minx, miny, maxx, maxy]; if (this.currentExtents.length==0) this.setCurrentExtents( minx, miny, maxx, maxy ); }; _map.prototype.setCurrentExtents=function( minx, miny, maxx, maxy ) { this.currentExtents=[minx, miny, maxx, maxy]; }; _map.prototype.setMaxExtents=function( minx, miny, maxx, maxy ) { this.maxExtents=[minx, miny, maxx, maxy]; }; _map.prototype.setBackgroundColor=function( szBgColor ) { this.backgroundColor=szBgColor; }; function _layer( o ) { this.domObj=null; this._map=null; this.name=(typeof(o.name) !='undefined') ? o.name : 'unnamed'; this.visible=(typeof(o.visible) !='undefined') ? o.visible : true; this.opacity=(typeof(o.opacity) !='undefined') ? o.opacity : 100; this.imageformat=(typeof(o.imageformat) !='undefined') ? o.imageformat : null; this.queryable=(typeof(o.queryable) !='undefined') ? o.queryable : false; this.queryState=(typeof(o.queryable) !='undefined') ? o.queryable : false; this.tileSource=(typeof(o.tileSource) !='undefined') ? o.tileSource : 'auto'; this.scales=(typeof(o.scales) !='undefined') ? o.scales : new Array(1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1); this.toLoad=0; var ts=new Date(); this.timeStamp=Math.round(ts.getTime()/1000) + ts.getTimezoneOffset() * 60; this.redrawInterval=(typeof(o.redrawInterval) !='undefined') ? o.redrawInterval : -1; this.refreshInterval=(typeof(o.refreshInterval) !='undefined') ? o.refreshInterval : -1; if (this.refreshInterval > 0) { goQueueManager.enqueue( this.refreshInterval*1000, this, this.redraw ); } }; _layer.prototype.isQueryable=function() { return this.queryState; }; _layer.prototype.setQueryable=function( bQueryable ) { if (this.queryable) { this.queryState=bQueryable; } }; _layer.prototype.isVisible=function() { return (this.scales[this._map.currentScale]==1)? true:false; }; _layer.prototype.setOpacity=function( amount ) { this.opacity=amount; if (this.domObj) { this.domObj.style.opacity=amount/100; this.domObj.style.mozOpacity=amount/100; for(var i=0;i<this.domObj.childNodes.length;i++) { this.domObj.childNodes[i].style.filter="Alpha(opacity="+amount+")"; } } }; _layer.prototype.setTile=function(img) { var l=safeParseInt(img.style.left) + this._map.kaMap.xOrigin; var t=safeParseInt(img.style.top) + this._map.kaMap.yOrigin; var szImageformat=''; var src; var image_format=''; if (this.imageformat && this.imageformat !='') { image_format=this.imageformat; szImageformat='&i='+image_format; } if(this.tileSource=='cache') { var metaLeft=Math.floor(l/(this._map.kaMap.tileWidth * this._map.kaMap.metaWidth)) * this._map.kaMap.tileWidth * this._map.kaMap.metaWidth; var metaTop=Math.floor(t/(this._map.kaMap.tileHeight * this._map.kaMap.metaHeight)) * this._map.kaMap.tileHeight * this._map.kaMap.metaHeight; var metaTileId='t' + metaTop + '/l' + metaLeft; var groupsDir=(this.name !='') ? this.name.replace(/\W/g, '_') : 'def'; var cacheDir=this._map.kaMap.webCache + this._map.name + '/' + this._map.aScales[this._map.currentScale] + '/' + groupsDir + '/def/' + metaTileId; var tileId="t" + t + "l" + l; var imageExtension=this.imageformat.toLowerCase().replace(/[\de]/g, ''); src=cacheDir + "/" + tileId + "." + imageExtension; } else { var szVersion=''; if (this._map.version !='') { szVersion='&version='+this._map.version; } var szForce=''; var szLayers=''; if (arguments[1]) { szForce='&force=true'; } var szTimestamp=''; if (this.tileSource=='redraw' || this.tileSource=="refresh") { szTimestamp='&ts='+this.timeStamp; if (this.redrawInterval) { szTimestamp=szTimestamp + '&interval='+this.redrawInterval; } } var szGroup='&g='+img.layer.domObj.id; var szScale='&s='+this._map.aScales[this._map.currentScale]; var q='?'; if (this._map.kaMap.tileURL.indexOf('?') !=-1) { if (this._map.kaMap.tileURL.slice(-1) !='&') { q='&'; } else { q=''; } } if (this.tileSource=='nocache') { src=this._map.kaMap.server + this._map.kaMap.tileURL.replace('tile.php', 'tile_nocache.php') + q + 'map=' + this._map.name + '&t=' + t + '&l=' + l + szScale + szForce + szGroup + szImageformat; if(typeof(this.replacementVariables) !='undefined') { for(var key in this.replacementVariables) { src +='&' + encodeURIComponent(key) + '=' + encodeURIComponent(this.replacementVariables[key]); } } } else { src=this._map.kaMap.server + this._map.kaMap.tileURL + q + 'map=' + this._map.name + '&t=' + t + '&l=' + l + szScale + szForce + szGroup + szImageformat + szTimestamp + szVersion; } } if (img.src !=src) { img.style.visibility='hidden'; img.src=src; } }; _layer.prototype.setVisibility=function( bVisible ) { this.visible=bVisible; if (this.domObj) { this.domObj.style.visibility=bVisible?'visible':'hidden'; this.domObj.style.display=bVisible?'block':'none'; for( var i=0; i<this.domObj.childNodes.length; i++) { this.setTile(this.domObj.childNodes[i]); } this._map.kaMap.triggerEvent( KAMAP_LAYER_STATUS_CHANGED, this ); } }; _layer.prototype.setZIndex=function( zIndex ) { this.zIndex=zIndex; if (this.domObj) { this.domObj.style.zIndex=zIndex; } }; _layer.prototype.setTileLayer=function() { this.loaded=0; for(i=0; i < this.domObj.childNodes.length; i++) { img=this.domObj.childNodes[i]; if(arguments[0]) { this.setTile(img, arguments[0]); } else { this.setTile(img); } } }; _layer.prototype.redraw=function() { if (arguments[0]) { this.refreshInterval=arguments[0]; } if (this.visible) { var ts=new Date(); this.timeStamp=Math.round(ts.getTime()/1000) + ts.getTimezoneOffset() * 60; this.setTileLayer(); } if (this.refreshInterval > 0) { goQueueManager.enqueue( this.refreshInterval*1000, this, this.redraw ); } }; function _eventManager( ) { this.events=[]; this.lastEventID=0; } _eventManager.prototype.registerEventID=function( eventID ) { var ev=new String(eventID); if (!this.events[eventID]) { this.events[eventID]=[]; } }; _eventManager.prototype.registerForEvent=function(eventID, obj, func) { var ev=new String(eventID); this.events[eventID].push( [obj, func] ); }; _eventManager.prototype.deregisterForEvent=function( eventID, obj, func ) { var ev=new String(eventID); var bResult=false; if (!this.events[eventID]) { return false; } for (var i=0;i<this.events[eventID].length;i++) { if (this.events[eventID][i][0]==obj && this.events[eventID][i][1]==func) { this.events[eventID].splice(i,1); bResult=true; } } return bResult; }; _eventManager.prototype.triggerEvent=function( eventID ) { var ev=new String(eventID); if (!this.events[eventID]) { return false; } var args=new Array(); for(i=1; i<arguments.length; i++) { args[args.length]=arguments[i]; } for (var i=0; i<this.events[eventID].length; i++) { this.events[eventID][i][1].apply( this.events[eventID][i][0], arguments ); } return true; }; var goQueueManager=new _queueManager(); function _queueManager() { this.queue=new Array(); } _queueManager.prototype.enqueue=function( timeout, obj, func, args ) { var pos=this.queue.length; for (var i=0; i< this.queue.length; i++) { if (this.queue[i]==null) { pos=i; break; } } var id=window.setTimeout( "_queueManager_execute("+pos+")", timeout ); this.queue[pos]=new Array( id, obj, func, args ); return pos; }; _queueManager.prototype.dequeue=function( pos ) { if (this.queue[pos] !=null) { window.clearTimeout( this.queue[pos][0] ); this.queue[pos]=null; } }; function _queueManager_execute( pos) { if (goQueueManager.queue[pos] !=null) { var obj=goQueueManager.queue[pos][1]; var func=goQueueManager.queue[pos][2]; if (goQueueManager.queue[pos][3] !=null) { func.apply( obj, goQueueManager.queue[pos][3] ); } else { func.apply( obj ); } goQueueManager.queue[pos]=null; } }; kaMap.prototype.addObjectGeo_X=function( canvas, lon, lat, obj ) { obj.lon=lon; obj.lat=lat; var aPix=this.geoToPix_X( lon, lat ); return this.addObjectPix( canvas, aPix[0], aPix[1]-24, obj ); };  function kaKeymap(oKaMap, szID ) { this.kaMap=oKaMap; this.domObj=this.kaMap.getRawObject(szID); this.domObj.kaKeymap=this; this.width=getObjectWidth(szID)+"px"; this.height=getObjectHeight(szID)+"px"; this.pxExtent=null; this.domExtents=null; this.aExtents=null; this.domImg=null; this.imgSrc=null; this.imgWidth=null; this.imgHeight=null; this.cellWidth=null; this.cellHeight=null; this.initialExtents=null; this.domObj.ondblclick=this.onclick; if ( this.domObj.captureEvents) { this.domObj.captureEvents(Event.DBLCLICK); } this.kaMap.registerForEvent( KAMAP_EXTENTS_CHANGED, this, this.update ); this.kaMap.registerForEvent( KAMAP_MAP_INITIALIZED, this, this.initialize );}; kaKeymap.prototype.initialize=function(id) { this.pxExtent=null; this.initialExtents=this.kaMap.getGeoExtents(); call(this.kaMap.server+'/keymap.php?map='+this.kaMap.currentMap,this,this.draw);}; kaKeymap.prototype.draw=function( szResult ) { eval( szResult ); this.cellWidth=(this.aExtents[2] - this.aExtents[0]) / this.imgWidth; this.cellHeight=(this.aExtents[3] - this.aExtents[1]) / this.imgHeight; for(var i=this.domObj.childNodes.length - 1; i >=0; i--) this.domObj.removeChild (this.domObj.childNodes[i]); this.domObj.style.width=this.imgWidth + "px"; this.domObj.style.height=this.imgHeight + "px"; this.domImg=document.createElement( 'img' ); this.domImg.src=this.imgSrc + '&map='+this.kaMap.currentMap; this.domImg.width=this.imgWidth; this.domImg.height=this.imgHeight; this.domObj.appendChild( this.domImg ); this.domExtents=document.createElement( 'div' ); this.domExtents.kaKeymap=this; this.domExtents.id="keymapDomExtents"; this.domExtents.style.position='absolute'; this.domExtents.style.border='1px solid red'; this.domExtents.style.top="1px"; this.domExtents.style.left="1px"; this.domExtents.style.width="1px"; this.domExtents.style.height="1px"; this.domExtents.style.backgroundColor='transparent'; this.domExtents.style.visibility='visible'; this.domObj.appendChild(this.domExtents); this.domEvent=document.createElement( 'div' ); this.domEvent.kaKeymap=this; this.domEvent.onmousedown=this.mousedown; this.domEvent.onmouseup=this.mouseup; this.domEvent.onmousemove=this.mousemove; this.domEvent.onmouseout=this.mouseup; if (this.domEvent.captureEvents) { this.domEvent.captureEvents(Event.MOUSEDOWN); this.domEvent.captureEvents(Event.MOUSEUP); this.domEvent.captureEvents(Event.MOUSEMOVE); this.domEvent.captureEvents(Event.MOUSEOUT); } this.domEvent.style.position='absolute'; this.domEvent.id='keymapDomEvent'; this.domEvent.style.border='1px solid red'; this.domEvent.style.top="0px"; this.domEvent.style.left="0px"; this.domEvent.style.width="0px"; this.domEvent.style.height="0px"; this.domEvent.style.backgroundColor='#0E6AC5'; this.domEvent.style.visibility='visible'; this.domEvent.style.opacity=0.01; this.domEvent.style.mozOpacity=0.01; this.domEvent.style.filter="Alpha(opacity=0.01)"; this.domObj.appendChild(this.domEvent); var d=document.createElement( 'img' ); d.id="keymapCrossImage"; d.src=this.kaMap.server+"images/cross.gif"; d.style.position='absolute'; d.style.top='0px'; d.style.left='0px'; d.style.width="20px"; d.style.height="20px"; d.style.visibility='hidden'; this.domExtents.appendChild(d); this.domCross=d; if (this.initialExtents !=null) { this.update( null, this.initialExtents); }}; kaKeymap.prototype.update=function( eventID, extents ) { if (!this.aExtents || !this.domExtents) { this.initialExtents=extents; return; } var left=(extents[0] - this.aExtents[0]) / this.cellWidth; var width=(extents[2] - extents[0]) / this.cellWidth; var top=-1 * (extents[3] - this.aExtents[3]) / this.cellHeight; var height=(extents[3] - extents[1]) / this.cellHeight; this.pxExtent=new Array(left,top,width,height); this.domExtents.style.top=parseInt(top+0.5)+"px"; this.domExtents.style.left=parseInt(left+0.5)+"px"; this.domEvent.style.top=parseInt(top+0.5)+"px"; this.domEvent.style.left=parseInt(left+0.5)+"px"; if (parseInt(width+0.5) < parseInt(this.domCross.style.width) || parseInt(height+0.5) < parseInt(this.domCross.style.height) ) { var ix=parseInt(this.domCross.style.width)/2; var iy=parseInt(this.domCross.style.height)/2; var ox=width/2; var oy=height/2; this.domExtents.style.width=this.domCross.style.width; this.domExtents.style.height=this.domCross.style.height; this.domEvent.style.width=this.domCross.style.width; this.domEvent.style.height=this.domCross.style.height; this.domExtents.style.top=(parseInt(this.domExtents.style.top) -iy + oy) + 'px'; this.domExtents.style.left=(parseInt(this.domExtents.style.left) -ix + ox) + 'px'; this.domEvent.style.top=(parseInt(this.domEvent.style.top) -iy + oy) + 'px'; this.domEvent.style.left=(parseInt(this.domEvent.style.left) -ix + ox) + 'px'; this.domCross.style.visibility='visible'; this.domExtents.style.border='0px solid white'; this.domEvent.style.border='none'; } else { this.domExtents.style.width=parseInt(width+0.5) + "px"; this.domExtents.style.height=parseInt(height+0.5) + "px"; this.domEvent.style.width=parseInt(width+0.5) + "px"; this.domEvent.style.height=parseInt(height+0.5) + "px"; this.domCross.style.visibility='hidden'; this.domExtents.style.border='1px solid red'; this.domEvent.style.border='1px solid red'; this.domEvent.style.visibility='visible'; this.domExtents.style.visibility='visible'; }}; kaKeymap.prototype.onclick=function(e) { e=(e)?e:((event)?event:null); this.kaKeymap.centerMap(e);}; kaKeymap.prototype.centerMap=function(e) { var pos=this.aPixPos( e.clientX, e.clientY ); this.kaMap.zoomTo(pos[0],pos[1]);}; kaKeymap.prototype.aPixPos=function( x, y ) { var obj=this.domObj; var offsetLeft=0; var offsetTop=0; while (obj) { offsetLeft +=parseFloat(obj.offsetLeft); offsetTop +=parseFloat(obj.offsetTop); obj=obj.offsetParent; } var pX=x - offsetLeft ; var pY=y - offsetTop ; pX=parseFloat(this.aExtents[0] + (this.cellWidth *pX)); pY=parseFloat(this.aExtents[3] - (this.cellHeight *pY)); return [pX,pY];}; kaKeymap.prototype.mousedown=function(e) { e=(e)?e:((event)?event:null); this.kaKeymap.domEvent.style.top="0px"; this.kaKeymap.domEvent.style.left="0px"; this.kaKeymap.domEvent.style.width=this.kaKeymap.domObj.style.width; this.kaKeymap.domEvent.style.height=this.kaKeymap.domObj.style.height; this.kaKeymap.domExtents.init=1; this.kaKeymap.domExtents.oX=e.clientX; this.kaKeymap.domExtents.oY=e.clientY; var amount=50; this.kaKeymap.domExtents.style.backgroundColor='pink'; this.kaKeymap.domExtents.style.opacity=amount/100; if (this.kaKeymap.kaMap.isIE4) { this.kaKeymap.domExtents.style.filter="Alpha(opacity="+amount+")"; } e=null;}; kaKeymap.prototype.mouseup=function(e) { if(this.kaKeymap.domExtents.init) { e=(e)?e:((event)?event:null); this.kaKeymap.domExtents.style.backgroundColor='transparent'; this.kaKeymap.domExtents.style.opacity=1; if (this.kaKeymap.kaMap.isIE4) { this.kaKeymap.domExtents.style.filter="Alpha(opacity=100)"; } this.kaKeymap.domExtents.init=0; var cG=this.kaKeymap.geoCentCoord(); this.kaKeymap.kaMap.zoomTo(cG[0],cG[1]); }}; kaKeymap.prototype.mousemove=function(e) { e=(e)?e:((event)?event:null); if(this.kaKeymap.domExtents.init) { var xMov=(this.kaKeymap.domExtents.oX-e.clientX); var yMov=(this.kaKeymap.domExtents.oY-e.clientY); var oX=this.kaKeymap.pxExtent[0]; var oY=this.kaKeymap.pxExtent[1]; var nX=oX-xMov; var nY=oY-yMov; this.kaKeymap.domExtents.oX=e.clientX; this.kaKeymap.domExtents.oY=e.clientY; this.kaKeymap.pxExtent[0]=nX; this.kaKeymap.pxExtent[1]=nY; if(this.kaKeymap.domCross.style.visibility=='visible') { var ix=parseInt(this.kaKeymap.domCross.style.width)/2; var iy=parseInt(this.kaKeymap.domCross.style.height)/2; var ox=this.kaKeymap.pxExtent[2]/2; var oy=this.kaKeymap.pxExtent[3]/2; this.kaKeymap.domExtents.style.top=parseInt((nY+0.5)-iy+oy) + "px"; this.kaKeymap.domExtents.style.left=parseInt((nX+0.5)-ix+ox) + "px"; } else { this.kaKeymap.domExtents.style.top=parseInt(nY+0.5) + "px"; this.kaKeymap.domExtents.style.left=parseInt(nX+0.5) + "px"; } }}; kaKeymap.prototype.geoCentCoord=function() { var cpX=this.pxExtent[0] + this.pxExtent[2]/2; var cpY=this.pxExtent[1] + this.pxExtent[3]/2; var cX=this.aExtents[0] + (this.cellWidth *cpX); var cY=this.aExtents[3] - (this.cellHeight *cpY); return [cX,cY];}; var kaCurrentTool=null; function kaTool( oKaMap ) { this.kaMap=oKaMap; this.name='kaTool'; this.bInfoTool=false; this.wheelPlus=new Array(oKaMap, oKaMap.zoomOut, null); this.wheelMinus=new Array(oKaMap, oKaMap.zoomIn, null); this.kaMap.registerTool( this ); }; kaTool.prototype.isInfoTool=function() { return this.bInfoTool; }; kaTool.prototype.activate=function() { this.kaMap.activateTool( this ); document.kaCurrentTool=this; }; kaTool.prototype.deactivate=function() { this.kaMap.deactivateTool( this ); document.kaCurrentTool=null; }; kaTool.prototype.onmousemove=function(e) { return false; }; kaTool.prototype.onmousedown=function(e) { return false; }; kaTool.prototype.onmouseup=function(e) { return false; }; kaTool.prototype.ondblclick=function(e) { return false; }; kaTool.prototype.setMouseWheel=function(minusSet, plusSet) { this.wheelMinus=minusSet; this.wheelPlus=plusSet; }; kaTool.prototype.onmousewheel=function(e) { Mouse_Lon=""; Mouse_Lat=""; e=(e)?e:((event)?event:null); var wheelDelta=e.wheelDelta ? e.wheelDelta : e.detail*-1; var wheelSet=null; if (wheelDelta > 0) wheelSet=this.wheelMinus; else wheelSet=this.wheelPlus; if (wheelSet) { obj=(wheelSet[0]) ? wheelSet[0] : null; func=(wheelSet[1]) ? wheelSet[1] : null; args=(wheelSet[2]) ? wheelSet[2] : null; if (func) { if (args) { func.apply(obj, args); } else{ func.apply(obj); } } } }; kaTool.prototype.adjustPixPosition=function( x, y ) { var obj=this.kaMap.domObj; var offsetLeft=0; var offsetTop=0; while (obj) { offsetLeft +=parseInt(obj.offsetLeft); offsetTop +=parseInt(obj.offsetTop); obj=obj.offsetParent; } var pX=parseInt(this.kaMap.theInsideLayer.style.left) + offsetLeft - this.kaMap.xOrigin - x; var pY=parseInt(this.kaMap.theInsideLayer.style.top) + offsetTop - this.kaMap.yOrigin - y; return [pX,pY]; }; function kaTool_redirect_onkeypress(e) { if (document.kaCurrentTool) { document.kaCurrentTool.onkeypress(e); } }; kaTool.prototype.onkeypress=function(e) { e=(e)?e:((event)?event:null); if (e) { var charCode=(e.charCode)?e.charCode:e.keyCode; var b=true; var nStep=16; switch(charCode) { case 38: this.kaMap.moveBy(0,nStep); this.kaMap.triggerEvent( KAMAP_EXTENTS_CHANGED, this.kaMap.getGeoExtents() ); break; case 40: this.kaMap.moveBy(0,-nStep); this.kaMap.triggerEvent( KAMAP_EXTENTS_CHANGED, this.kaMap.getGeoExtents() ); break; case 37: this.kaMap.moveBy(nStep,0); this.kaMap.triggerEvent( KAMAP_EXTENTS_CHANGED, this.kaMap.getGeoExtents() ); break; case 39: this.kaMap.moveBy(-nStep,0); this.kaMap.triggerEvent( KAMAP_EXTENTS_CHANGED, this.kaMap.getGeoExtents() ); break; case 33: this.kaMap.slideBy(0, this.kaMap.viewportHeight/2); break; case 34: this.kaMap.slideBy(0,-this.kaMap.viewportHeight/2); break; case 36: this.kaMap.slideBy(this.kaMap.viewportWidth/2,0); break; case 35: this.kaMap.slideBy(-this.kaMap.viewportWidth/2,0); break; case 43: case 61: this.kaMap.zoomIn(); break; case 45: this.kaMap.zoomOut(); break; default: b=false; } if (b) { return this.cancelEvent(e); } return true; } }; kaTool.prototype.onmouseover=function(e) { return false; }; kaTool.prototype.onmouseout=function(e) { if (this.kaMap.isIE4) { document.onkeydown=null; } document.onkeypress=null; return false; }; kaTool.prototype.cancelEvent=function(e) { e=(e)?e:((event)?event:null); e.cancelBubble=true; e.returnValue=false; if (e.stopPropogation) { e.stopPropogation(); } if (e.preventDefault) { e.preventDefault(); } return false; }; function kaNavigator( oKaMap ) { kaTool.apply( this, [oKaMap] ); this.name='kaNavigator'; this.cursorNormal=["url('images/grab.cur'),move", '-moz-grab', 'grab', 'move']; this.cursorDrag=["url('images/grabbing.cur'),move", '-moz-grabbing', 'grabbing', 'move']; this.cursor=this.cursorNormal; this.activeImage=this.kaMap.server + 'images/button_pan_3.png'; this.disabledImage=this.kaMap.server + 'images/button_pan_2.png'; this.lastx=null; this.lasty=null; this.bMouseDown=false; for (var p in kaTool.prototype) { if (!kaNavigator.prototype[p]) kaNavigator.prototype[p]=kaTool.prototype[p]; } }; kaNavigator.prototype.onmouseout=function(e) { e=(e)?e:((event)?event:null); if (!e.target) e.target=e.srcElement; if (e.target.id==this.kaMap.domObj.id) { this.bMouseDown=false; return kaTool.prototype.onmouseout.apply(this, [e]); } }; kaNavigator.prototype.onmousemove=function(e) { e=(e)?e:((event)?event:null); if (!this.bMouseDown) { return false; } if (!this.kaMap.layersHidden) { this.kaMap.hideLayers(); } var newTop=safeParseInt(this.kaMap.theInsideLayer.style.top); var newLeft=safeParseInt(this.kaMap.theInsideLayer.style.left); var x=e.pageX || (e.clientX + (document.documentElement.scrollLeft || document.body.scrollLeft)); var y=e.pageY || (e.clientY + (document.documentElement.scrollTop || document.body.scrollTop)); newTop=newTop - this.lasty + y; newLeft=newLeft - this.lastx + x; this.kaMap.theInsideLayer.style.top=newTop + 'px'; this.kaMap.theInsideLayer.style.left=newLeft + 'px'; this.kaMap.checkWrap.apply(this.kaMap, []); this.lastx=x; this.lasty=y; return false; }; kaNavigator.prototype.onmousedown=function(e) { e=(e)?e:((event)?event:null); if (e.button==2) { return this.cancelEvent(e); } else { this.cursor=this.cursorDrag; this.kaMap.setCursor(this.cursorDrag); if (this.kaMap.isIE4) { document.onkeydown=kaTool_redirect_onkeypress; } document.onkeypress=kaTool_redirect_onkeypress; this.bMouseDown=true; var x=e.pageX || (e.clientX + (document.documentElement.scrollLeft || document.body.scrollLeft)); var y=e.pageY || (e.clientY + (document.documentElement.scrollTop || document.body.scrollTop)); this.lastx=x; this.lasty=y; this.startx=this.lastx; this.starty=this.lasty; e.cancelBubble=true; e.returnValue=false; if (e.stopPropogation) e.stopPropogation(); if (e.preventDefault) e.preventDefault(); return false; } }; var gDblClickTimer=null; kaNavigator.prototype.onmouseup=function(e) { this.cursor=this.cursorNormal; this.kaMap.setCursor(this.cursorNormal); e=(e)?e:((event)?event:null); this.bMouseDown=false; var x=e.pageX || (e.clientX + (document.documentElement.scrollLeft || document.body.scrollLeft)); var y=e.pageY || (e.clientY + (document.documentElement.scrollTop || document.body.scrollTop)); if (Math.abs(x-this.startx) < 2 && Math.abs(y-this.starty) < 2) { if (!gDblClickTimer) { gDblClickTimer=window.setTimeout(bind(this.dispatchMapClicked, this, x, y), 250); } } else { gDblClickTimer=null; this.kaMap.showLayers(); this.kaMap.triggerEvent(KAMAP_EXTENTS_CHANGED, this.kaMap.getGeoExtents()); i_serv=0; do_xml_serv2(); } return false; }; kaNavigator.prototype.dispatchMapClicked=function(px,py) { var a=this.adjustPixPosition( px,py ); var p=this.kaMap.pixToGeo( a[0],a[1] ); gDblClickTimer=null; this.kaMap.triggerEvent(KAMAP_MAP_CLICKED, p); }; kaNavigator.prototype.ondblclick=function(e) { if (gDblClickTimer) { window.clearTimeout(gDblClickTimer); gDblClickTimer=null; } e=(e)?e:((event)?event:null); var escala_new=0; valor=parseInt(this.kaMap.getCurrentScale()); switch (valor) { case 2000: escala_new=2000; break; case 4000: escala_new=2000; break; case 8000: escala_new=4000; break; case 16000: escala_new=8000; break; case 40000: escala_new=16000; break; case 80000: escala_new=40000; break; case 160000: escala_new=80000; break; case 280000: escala_new=160000; break; case 480000: escala_new=280000; break; case 1000000: escala_new=480000; break; case 2000000: escala_new=1000000; break; case 4000000: escala_new=2000000; break; case 8000000: escala_new=4000000; break; case 25000000: escala_new=8000000; break; } this.kaMap.zoomTo(Mouse_Lat,Mouse_Lon,escala_new); this.kaMap.zoomIn(); }; function bind(m,o) { var __method=arguments[0]; var __object=arguments[1]; var args=[]; for (var i=2; i<arguments.length; i++) { args.push(arguments[i]) } return function() { return __method.apply(__object, args); } } var KAMAP_QUERY=gnLastEventId ++; var KAMAP_POINT_QUERY=0;var KAMAP_RECT_QUERY=1; var KAMAP_MOUSE_STOPPED=2; function kaQuery( oKaMap, type ) { kaTool.apply( this, [oKaMap] ); this.type=type; if(this.type==KAMAP_MOUSE_STOPPED){ this.bInfoTool=true; if(arguments.length==3){ this.delay=arguments[2]; } else { alert("Incorrect nb of arguments for instance kaQuery. Delay will be set by default to 500ms"); this.delay=500; } } this.name='kaQuery'; this.cursor='help'; this.startx=null; this.starty=null; this.endx=null; this.endy=null; this.bMouseDown=false; this.coords=new Array(); this.mouseStopped=false; this.chrono=null; this.domObj=document.createElement( 'div' ); this.domObj.style.position='absolute'; this.domObj.style.top='0px'; this.domObj.style.left='0px'; this.domObj.style.width='1px'; this.domObj.style.height='1px'; this.domObj.style.zIndex=50; this.domObj.style.visibility='hidden'; this.domObj.style.border='1px solid red'; this.domObj.style.backgroundColor='white'; this.domObj.style.opacity=0.50; this.domObj.style.mozOpacity=0.50; this.domObj.style.filter='Alpha(opacity=50)'; this.kaMap.theInsideLayer.appendChild( this.domObj ); for (var p in kaTool.prototype) { if (!kaQuery.prototype[p]) kaQuery.prototype[p]=kaTool.prototype[p]; }}; kaQuery.prototype.drawZoomBox=function() { if (this.startx==null || this.starty==null || this.endx==null || this.endy==null ) { this.domObj.style.visibility='hidden'; this.domObj.style.top='0px'; this.domObj.style.left='0px'; this.domObj.style.width='1px'; this.domObj.style.height='1px'; return; } this.domObj.style.visibility='visible'; if (this.endx < this.startx) { this.domObj.style.left=(this.endx - this.kaMap.xOrigin) + 'px'; this.domObj.style.width=(this.startx - this.endx) + "px"; } else { this.domObj.style.left=(this.startx - this.kaMap.xOrigin) + 'px'; this.domObj.style.width=(this.endx - this.startx) + "px"; } if (this.endy < this.starty) { this.domObj.style.top=(this.endy - this.kaMap.yOrigin) + 'px'; this.domObj.style.height=(this.starty - this.endy) + "px"; } else { this.domObj.style.top=(this.starty - this.kaMap.yOrigin) + 'px'; this.domObj.style.height=(this.endy - this.starty) + "px"; }}; kaQuery.prototype.onmousemove=function(e) { e=(e)?e:((event)?event:null); if(this.type !=KAMAP_MOUSE_STOPPED){ if (!this.bMouseDown) { return false; } } var x=e.pageX || (e.clientX + (document.documentElement.scrollLeft || document.body.scrollLeft)); var y=e.pageY || (e.clientY + (document.documentElement.scrollTop || document.body.scrollTop)); var adjCoords=this.adjustPixPosition( x, y ); if(this.type==KAMAP_MOUSE_STOPPED){ var p=this.kaMap.pixToGeo(adjCoords[0], adjCoords[1]); this.coords[0]=p[0]; this.coords[1]=p[1]; if(this.chrono !=null) clearTimeout(this.chrono); var t=this; if(this.mouseStopped==false){ this.chrono=setTimeout(function(){t.onmousestop()}, this.delay); } } if (this.type==KAMAP_RECT_QUERY) { this.endx=-adjCoords[0]; this.endy=-adjCoords[1]; this.drawZoomBox(); } return false;}; kaQuery.prototype.onmousestop=function(){ clearTimeout(this.chrono); this.mouseStopped=true; this.kaMap.triggerEvent(KAMAP_MOUSE_STOPPED, this.type, this.coords); this.mouseStopped=false; return;}; kaQuery.prototype.onmouseout=function(e) { e=(e)?e:((event)?event:null); clearTimeout(this.chrono); if (!e.target) e.target=e.srcElement; if (e.target.id==this.kaMap.domObj.id) { this.bMouseDown=false; this.startx=this.endx=this.starty=this.endy=null; this.drawZoomBox(); return kaTool.prototype.onmouseout.apply(this, [e]); }}; kaQuery.prototype.onmousedown=function(e) { e=(e)?e:((event)?event:null); if(this.type !=KAMAP_MOUSE_STOPPED){ if (e.button==2) { return this.cancelEvent(e); } else { if (this.kaMap.isIE4) document.onkeydown=kaTool_redirect_onkeypress; document.onkeypress=kaTool_redirect_onkeypress; this.bMouseDown=true; var x=e.pageX || (e.clientX + (document.documentElement.scrollLeft || document.body.scrollLeft)); var y=e.pageY || (e.clientY + (document.documentElement.scrollTop || document.body.scrollTop)); var aPixPos=this.adjustPixPosition( x,y ); this.startx=this.endx=-aPixPos[0]; this.starty=this.endy=-aPixPos[1]; this.drawZoomBox(); e.cancelBubble=true; e.returnValue=false; if (e.stopPropagation) e.stopPropagation(); if (e.preventDefault) e.preventDefault(); return false; } }}; kaQuery.prototype.onmouseup=function(e) { e=(e)?e:((event)?event:null); if(this.type !=KAMAP_MOUSE_STOPPED){ var type=KAMAP_POINT_QUERY; var start=this.kaMap.pixToGeo( -this.startx, -this.starty ); var coords=start; if (this.startx!=this.endx&&this.starty!=this.endy) { type=KAMAP_RECT_QUERY; coords=start.concat(this.kaMap.pixToGeo( -this.endx, -this.endy )); if(coords[2] < coords[0]) { var minx=coords[2]; var maxx=coords[0]; coords[0]=minx; coords[2]=maxx; } if(coords[1] < coords[3]){ var miny=coords[1]; var maxy=coords[3]; coords[3]=miny; coords[1]=maxy; } } this.kaMap.triggerEvent(KAMAP_QUERY, type, coords); this.startx=this.endx=this.starty=this.endy=null; this.drawZoomBox(); } return false; }; function ScaleBar(scaleDenominator) { this.scaleDenominator=(scaleDenominator==null) ? 1 : scaleDenominator; this.displaySystem='metric'; this.minWidth=100; this.maxWidth=200; this.divisions=2; this.subdivisions=2; this.showMinorMeasures=false; this.abbreviateLabel=false; this.singleLine=false; this.resolution=72; this.align='center'; this.container=document.createElement('div'); this.container.className='sbWrapper'; this.labelContainer=document.createElement('div'); this.labelContainer.className='sbUnitsContainer'; this.labelContainer.style.position='absolute'; this.graphicsContainer=document.createElement('div'); this.graphicsContainer.style.position='absolute'; this.graphicsContainer.className='sbGraphicsContainer'; this.numbersContainer=document.createElement('div'); this.numbersContainer.style.position='absolute'; this.numbersContainer.className='sbNumbersContainer'; var markerMajor=document.createElement('div'); markerMajor.className='sbMarkerMajor'; this.graphicsContainer.appendChild(markerMajor); var markerMinor=document.createElement('div'); markerMinor.className='sbMarkerMinor'; this.graphicsContainer.appendChild(markerMinor); var barPiece=document.createElement('div'); barPiece.className='sbBar'; this.graphicsContainer.appendChild(barPiece); var barPieceAlt=document.createElement('div'); barPieceAlt.className='sbBarAlt'; this.graphicsContainer.appendChild(barPieceAlt);}ScaleBar.prototype.update=function(scaleDenominator) { if(scaleDenominator !=null) { this.scaleDenominator=scaleDenominator; }; function HandsomeNumber(smallUglyNumber, bigUglyNumber, sigFigs) { var sigFigs=(sigFigs==null) ? 10 : sigFigs; var bestScore=Number.POSITIVE_INFINITY; var bestTieBreaker=Number.POSITIVE_INFINITY; var handsomeValue=smallUglyNumber; var handsomeNumDec=3; for(var halvingExp=0; halvingExp < 3; ++halvingExp) { var comelyMultiplicand=Math.pow(2, (-1 * halvingExp)); var maxTensExp=Math.floor(Math.log(bigUglyNumber / comelyMultiplicand) / Math.LN10); for(var tensExp=maxTensExp; tensExp > (maxTensExp - sigFigs + 1); --tensExp) { var numDec=Math.max(halvingExp - tensExp, 0); var testMultiplicand=comelyMultiplicand * Math.pow(10, tensExp); if((testMultiplicand * Math.floor(bigUglyNumber / testMultiplicand)) >=smallUglyNumber) { if(smallUglyNumber % testMultiplicand==0) { var testMultiplier=smallUglyNumber / testMultiplicand; } else { var testMultiplier=Math.floor(smallUglyNumber / testMultiplicand) + 1; } var testScore=testMultiplier + (2 * halvingExp); var testTieBreaker=(tensExp < 0) ? (Math.abs(tensExp) + 1) : tensExp; if((testScore < bestScore) || ((testScore==bestScore) && (testTieBreaker < bestTieBreaker))) { bestScore=testScore; bestTieBreaker=testTieBreaker; handsomeValue=(testMultiplicand * testMultiplier).toFixed(numDec); handsomeNumDec=numDec; } } } } this.value=handsomeValue; this.score=bestScore; this.tieBreaker=bestTieBreaker; this.numDec=handsomeNumDec; }; HandsomeNumber.prototype.toString=function() { return this.value.toString(); }; HandsomeNumber.prototype.valueOf=function() { return this.value; }; function styleValue(aSelector, styleKey) { var aValue=0; if(document.styleSheets) { for(var sheetIndex=document.styleSheets.length - 1; sheetIndex >=0; --sheetIndex) { var aSheet=document.styleSheets[sheetIndex]; if(!aSheet.disabled) { var allRules; if(typeof(aSheet.cssRules)=='undefined') { if(typeof(aSheet.rules)=='undefined') { return 0; } else { allRules=aSheet.rules; } } else { allRules=aSheet.cssRules; } for(var ruleIndex=0; ruleIndex < allRules.length; ++ruleIndex) { var aRule=allRules[ruleIndex]; if(aRule.selectorText && (aRule.selectorText.toLowerCase()==aSelector.toLowerCase())) { if(aRule.style[styleKey] !='') { aValue=parseInt(aRule.style[styleKey]); } } } } } } return aValue ? aValue : 0; }; function formatNumber(aNumber, numDecimals) { numDecimals=(numDecimals) ? numDecimals : 0; var formattedInteger='' + Math.round(aNumber); var thousandsPattern=/(-?[0-9]+)([0-9]{3})/; while(thousandsPattern.test(formattedInteger)) { formattedInteger=formattedInteger.replace(thousandsPattern, '$1,$2'); } if(numDecimals > 0) { var formattedDecimal=Math.floor(Math.pow(10, numDecimals) * (aNumber - Math.round(aNumber))); if(formattedDecimal==0) { return formattedInteger; } else { return formattedInteger + '.' + formattedDecimal; } } else { return formattedInteger; } }; this.container.title='scale 1:' + formatNumber(this.scaleDenominator); var measurementProperties=new Object(); measurementProperties.english={ units: ['miles', 'feet', 'inches'], abbr: ['mi', 'ft', 'in'], inches: [63360, 12, 1] }; measurementProperties.metric={ units: ['kilometros', 'metros', 'centimetros'], abbr: ['km', 'm', 'cm'], inches: [39370.07874, 39.370079, 0.393701] }; var comparisonArray=new Array(); for(var unitIndex=0; unitIndex < measurementProperties[this.displaySystem].units.length; ++unitIndex) { comparisonArray[unitIndex]=new Object(); var pixelsPerDisplayUnit=this.resolution * measurementProperties[this.displaySystem].inches[unitIndex] / this.scaleDenominator; var minSDDisplayLength=(this.minWidth / pixelsPerDisplayUnit) / (this.divisions * this.subdivisions); var maxSDDisplayLength=(this.maxWidth / pixelsPerDisplayUnit) / (this.divisions * this.subdivisions); for(var valueIndex=0; valueIndex < (this.divisions * this.subdivisions); ++valueIndex) { var minNumber=minSDDisplayLength * (valueIndex + 1); var maxNumber=maxSDDisplayLength * (valueIndex + 1); var niceNumber=new HandsomeNumber(minNumber, maxNumber); comparisonArray[unitIndex][valueIndex]={value: (niceNumber.value / (valueIndex + 1)), score: 0, tieBreaker: 0, numDec: 0, displayed: 0}; for(var valueIndex2=0; valueIndex2 < (this.divisions * this.subdivisions); ++valueIndex2) { displayedValuePosition=niceNumber.value * (valueIndex2 + 1) / (valueIndex + 1); niceNumber2=new HandsomeNumber(displayedValuePosition, displayedValuePosition); var isMajorMeasurement=((valueIndex2 + 1) % this.subdivisions==0); var isLastMeasurement=((valueIndex2 + 1)==(this.divisions * this.subdivisions)); if((this.singleLine && isLastMeasurement) || (!this.singleLine && (isMajorMeasurement || this.showMinorMeasures))) { comparisonArray[unitIndex][valueIndex].score +=niceNumber2.score; comparisonArray[unitIndex][valueIndex].tieBreaker +=niceNumber2.tieBreaker; comparisonArray[unitIndex][valueIndex].numDec=Math.max(comparisonArray[unitIndex][valueIndex].numDec, niceNumber2.numDec); comparisonArray[unitIndex][valueIndex].displayed +=1; } else { comparisonArray[unitIndex][valueIndex].score +=niceNumber2.score / this.subdivisions; comparisonArray[unitIndex][valueIndex].tieBreaker +=niceNumber2.tieBreaker / this.subdivisions; } } var scoreAdjustment=(unitIndex + 1) * comparisonArray[unitIndex][valueIndex].tieBreaker / comparisonArray[unitIndex][valueIndex].displayed; comparisonArray[unitIndex][valueIndex].score *=scoreAdjustment; } } var subdivisionDisplayLength=null; var displayUnits=null; var displayUnitsAbbr=null; var subdivisionPixelLength=null; var bestScore=Number.POSITIVE_INFINITY; var bestTieBreaker=Number.POSITIVE_INFINITY; var numDec=0; for(var unitIndex=0; unitIndex < comparisonArray.length; ++unitIndex) { for(valueIndex in comparisonArray[unitIndex]) { if((comparisonArray[unitIndex][valueIndex].score < bestScore) || ((comparisonArray[unitIndex][valueIndex].score==bestScore) && (comparisonArray[unitIndex][valueIndex].tieBreaker < bestTieBreaker))) { bestScore=comparisonArray[unitIndex][valueIndex].score; bestTieBreaker=comparisonArray[unitIndex][valueIndex].tieBreaker; subdivisionDisplayLength=comparisonArray[unitIndex][valueIndex].value; numDec=comparisonArray[unitIndex][valueIndex].numDec; displayUnits=measurementProperties[this.displaySystem].units[unitIndex]; displayUnitsAbbr=measurementProperties[this.displaySystem].abbr[unitIndex]; pixelsPerDisplayUnit=this.resolution * measurementProperties[this.displaySystem].inches[unitIndex] / this.scaleDenominator; subdivisionPixelLength=pixelsPerDisplayUnit * subdivisionDisplayLength; } } } var xOffsetMarkerMajor=(styleValue('.sbMarkerMajor', 'borderLeftWidth') + styleValue('.sbMarkerMajor', 'width') + styleValue('.sbMarkerMajor', 'borderRightWidth')) / 2; var xOffsetMarkerMinor=(styleValue('.sbMarkerMinor', 'borderLeftWidth') + styleValue('.sbMarkerMinor', 'width') + styleValue('.sbMarkerMinor', 'borderRightWidth')) / 2; var xOffsetBar=(styleValue('.sbBar', 'borderLeftWidth') + styleValue('.sbBar', 'borderRightWidth')) / 2; var xOffsetBarAlt=(styleValue('.sbBarAlt', 'borderLeftWidth') + styleValue('.sbBarAlt', 'borderRightWidth')) / 2; if(!document.styleSheets) { xOffsetMarkerMajor=0.5; xOffsetMarkerMinor=0.5; } while(this.labelContainer.hasChildNodes()) { this.labelContainer.removeChild(this.labelContainer.firstChild); } while(this.graphicsContainer.hasChildNodes()) { this.graphicsContainer.removeChild(this.graphicsContainer.firstChild); } while(this.numbersContainer.hasChildNodes()) { this.numbersContainer.removeChild(this.numbersContainer.firstChild); } var aMarker, aBarPiece, numbersBox, xOffset; var alignmentOffset={ left: 0, center: (-1 * this.divisions * this.subdivisions * subdivisionPixelLength / 2), right: (-1 * this.divisions * this.subdivisions * subdivisionPixelLength) }; var xPosition=0 + alignmentOffset[this.align]; var markerMeasure=0; for(var divisionIndex=0; divisionIndex < this.divisions; ++divisionIndex) { xPosition=divisionIndex * this.subdivisions * subdivisionPixelLength; xPosition +=alignmentOffset[this.align]; markerMeasure=(divisionIndex==0) ? 0 : ((divisionIndex * this.subdivisions) * subdivisionDisplayLength).toFixed(numDec); aMarker=document.createElement('div'); aMarker.className='sbMarkerMajor'; aMarker.style.position='absolute'; aMarker.style.overflow='hidden'; aMarker.style.left=Math.round(xPosition - xOffsetMarkerMajor) + 'px'; aMarker.appendChild(document.createTextNode(' ')); this.graphicsContainer.appendChild(aMarker); if(!this.singleLine) { numbersBox=document.createElement('div'); numbersBox.className='sbNumbersBox'; numbersBox.style.position='absolute'; numbersBox.style.overflow='hidden'; numbersBox.style.textAlign='center'; if(this.showMinorMeasures) { numbersBox.style.width=Math.round(subdivisionPixelLength * 2) + 'px'; numbersBox.style.left=Math.round(xPosition - subdivisionPixelLength) + 'px'; } else { numbersBox.style.width=Math.round(this.subdivisions * subdivisionPixelLength * 2) + 'px'; numbersBox.style.left=Math.round(xPosition - (this.subdivisions * subdivisionPixelLength)) + 'px'; } numbersBox.appendChild(document.createTextNode(markerMeasure)); this.numbersContainer.appendChild(numbersBox); } for(var subdivisionIndex=0; subdivisionIndex < this.subdivisions; ++subdivisionIndex) { aBarPiece=document.createElement('div'); aBarPiece.style.position='absolute'; aBarPiece.style.overflow='hidden'; aBarPiece.style.width=Math.round(subdivisionPixelLength) + 'px'; if((subdivisionIndex % 2)==0) { aBarPiece.className='sbBar'; aBarPiece.style.left=Math.round(xPosition - xOffsetBar) + 'px'; } else { aBarPiece.className='sbBarAlt'; aBarPiece.style.left=Math.round(xPosition - xOffsetBarAlt) + 'px'; } aBarPiece.appendChild(document.createTextNode(' ')); this.graphicsContainer.appendChild(aBarPiece); if(subdivisionIndex < (this.subdivisions - 1)) { xPosition=((divisionIndex * this.subdivisions) + (subdivisionIndex + 1)) * subdivisionPixelLength; xPosition +=alignmentOffset[this.align]; markerMeasure=(divisionIndex * this.subdivisions + subdivisionIndex + 1) * subdivisionDisplayLength; aMarker=document.createElement('div'); aMarker.className='sbMarkerMinor'; aMarker.style.position='absolute'; aMarker.style.overflow='hidden'; aMarker.style.left=Math.round(xPosition - xOffsetMarkerMinor) + 'px'; aMarker.appendChild(document.createTextNode(' ')); this.graphicsContainer.appendChild(aMarker); if(this.showMinorMeasures && !this.singleLine) { numbersBox=document.createElement('div'); numbersBox.className='sbNumbersBox'; numbersBox.style.position='absolute'; numbersBox.style.overflow='hidden'; numbersBox.style.textAlign='center'; numbersBox.style.width=Math.round(subdivisionPixelLength * 2) + 'px'; numbersBox.style.left=Math.round(xPosition - subdivisionPixelLength) + 'px'; numbersBox.appendChild(document.createTextNode(markerMeasure)); this.numbersContainer.appendChild(numbersBox); } } } } xPosition=(this.divisions * this.subdivisions) * subdivisionPixelLength; xPosition +=alignmentOffset[this.align]; markerMeasure=((this.divisions * this.subdivisions) * subdivisionDisplayLength).toFixed(numDec); aMarker=document.createElement('div'); aMarker.className='sbMarkerMajor'; aMarker.style.position='absolute'; aMarker.style.overflow='hidden'; aMarker.style.left=Math.round(xPosition - xOffsetMarkerMajor) + 'px'; aMarker.appendChild(document.createTextNode(' ')); this.graphicsContainer.appendChild(aMarker); if(!this.singleLine) { numbersBox=document.createElement('div'); numbersBox.className='sbNumbersBox'; numbersBox.style.position='absolute'; numbersBox.style.overflow='hidden'; numbersBox.style.textAlign='center'; if(this.showMinorMeasures) { numbersBox.style.width=Math.round(subdivisionPixelLength * 2) + 'px'; numbersBox.style.left=Math.round(xPosition - subdivisionPixelLength) + 'px'; } else { numbersBox.style.width=Math.round(this.subdivisions * subdivisionPixelLength * 2) + 'px'; numbersBox.style.left=Math.round(xPosition - (this.subdivisions * subdivisionPixelLength)) + 'px'; } numbersBox.appendChild(document.createTextNode(markerMeasure)); this.numbersContainer.appendChild(numbersBox); } var labelBox=document.createElement('div'); labelBox.style.position='absolute'; var labelText; if(this.singleLine) { labelText=markerMeasure; labelBox.className='sbLabelBoxSingleLine'; labelBox.style.top='-0.6em'; labelBox.style.left=(xPosition + 10) + 'px'; } else { labelText=''; labelBox.className='sbLabelBox'; labelBox.style.textAlign='center'; labelBox.style.width=Math.round(this.divisions * this.subdivisions * subdivisionPixelLength) + 'px'; labelBox.style.left=Math.round(alignmentOffset[this.align]) + 'px'; labelBox.style.overflow='hidden'; } if(this.abbreviateLabel) { labelText +=' ' + displayUnitsAbbr; } else { labelText +=' ' + displayUnits; } labelBox.appendChild(document.createTextNode(labelText)); this.labelContainer.appendChild(labelBox); if(!document.styleSheets) { var defaultStyle=document.createElement('style'); defaultStyle.type='text/css'; var styleText='.sbBar {top: 0px; background: #666666; height: 1px; border: 0;}'; styleText +='.sbBarAlt {top: 0px; background: #666666; height: 1px; border: 0;}'; styleText +='.sbMarkerMajor {height: 7px; width: 1px; background: #666666; border: 0;}'; styleText +='.sbMarkerMinor {height: 5px; width: 1px; background: #666666; border: 0;}'; styleText +='.sbLabelBox {top: -16px;}'; styleText +='.sbNumbersBox {top: 7px;}'; defaultStyle.appendChild(document.createTextNode(styleText)); document.getElementsByTagName('head').item(0).appendChild(defaultStyle); } this.container.appendChild(this.graphicsContainer); this.container.appendChild(this.labelContainer); this.container.appendChild(this.numbersContainer);};ScaleBar.prototype.place=function(elementId) { if(elementId==null) { document.body.appendChild(this.container); } else { var anElement=document.getElementById(elementId); if(anElement !=null) { anElement.appendChild(this.container); } } this.update();}; function kaRubberZoom( oKaMap) { kaTool.apply( this, [oKaMap] ); this.name='kaRubberZoom'; this.cursor='help'; this.domObj=document.createElement( 'div' ); this.domObj.style.position='absolute'; this.domObj.style.top='0px'; this.domObj.style.left='0px'; this.domObj.style.width='1px'; this.domObj.style.height='1px'; this.domObj.style.zIndex=100; this.domObj.style.visibility='hidden'; this.domObj.style.border='1px solid blue'; this.domObj.style.backgroundColor='white'; this.domObj.style.opacity=0.50; this.domObj.style.mozOpacity=0.50; this.domObj.style.filter='Alpha(opacity=50)'; this.kaMap.theInsideLayer.appendChild( this.domObj ); this.startx=null; this.starty=null; this.endx=null; this.endy=null; this.bMouseDown=false; for (var p in kaTool.prototype) { if (!kaRubberZoom.prototype[p]) kaRubberZoom.prototype[p]=kaTool.prototype[p]; }}; kaRubberZoom.prototype.drawZoomBox=function() { if (this.startx==null || this.starty==null || this.endx==null || this.endy==null ) { this.domObj.style.visibility='hidden'; this.domObj.style.top='0px'; this.domObj.style.left='0px'; this.domObj.style.width='1px'; this.domObj.style.height='1px'; return; } this.domObj.style.visibility='visible'; if (this.endx < this.startx) { this.domObj.style.left=(this.endx - this.kaMap.xOrigin) + 'px'; this.domObj.style.width=(this.startx - this.endx) + "px"; } else { this.domObj.style.left=(this.startx - this.kaMap.xOrigin) + 'px'; this.domObj.style.width=(this.endx - this.startx) + "px"; } if (this.endy < this.starty) { this.domObj.style.top=(this.endy - this.kaMap.yOrigin) + 'px'; this.domObj.style.height=(this.starty - this.endy) + "px"; } else { this.domObj.style.top=(this.starty - this.kaMap.yOrigin) + 'px'; this.domObj.style.height=(this.endy - this.starty) + "px"; }}; kaRubberZoom.prototype.onmouseout=function(e) { e=(e)?e:((event)?event:null); if (!e.target) e.target=e.srcElement; if (e.target.id==this.kaMap.domObj.id) { this.bMouseDown=false; this.startx=this.endx=this.starty=this.endy=null; this.drawZoomBox(); return kaTool.prototype.onmouseout.apply(this, [e]); }}; kaRubberZoom.prototype.onmousemove=function(e) { e=(e)?e:((event)?event:null); if (!this.bMouseDown) { return false; } var x=e.pageX || (e.clientX + (document.documentElement.scrollLeft || document.body.scrollLeft)); var y=e.pageY || (e.clientY + (document.documentElement.scrollTop || document.body.scrollTop)); var aPixPos=this.adjustPixPosition( x, y ); this.endx=-aPixPos[0]; this.endy=-aPixPos[1]; this.drawZoomBox(); return false;}; kaRubberZoom.prototype.onmousedown=function(e) { e=(e)?e:((event)?event:null); if (e.button==2) { return this.cancelEvent(e); } else { if (this.kaMap.isIE4) document.onkeydown=kaTool_redirect_onkeypress; document.onkeypress=kaTool_redirect_onkeypress; this.bMouseDown=true; var x=e.pageX || (e.clientX + (document.documentElement.scrollLeft || document.body.scrollLeft)); var y=e.pageY || (e.clientY + (document.documentElement.scrollTop || document.body.scrollTop)); var aPixPos=this.adjustPixPosition( x,y ); this.startx=this.endx=-aPixPos[0]; this.starty=this.endy=-aPixPos[1]; this.drawZoomBox(); e.cancelBubble=true; e.returnValue=false; if (e.stopPropogation) e.stopPropogation(); if (e.preventDefault) e.preventDefault(); return false; }}; kaRubberZoom.prototype.onmouseup=function(e) { e=(e)?e:((event)?event:null); var type=KAMAP_POINT_QUERY; var start=this.kaMap.pixToGeo( -this.startx, -this.starty ); var coords=start; if (this.startx!=this.endx&&this.starty!=this.endy) { type=KAMAP_RECT_QUERY; coords=start.concat(this.kaMap.pixToGeo( -this.endx, -this.endy )); if(coords[2] < coords[0]) { var minx=coords[2]; var maxx=coords[0]; coords[0]=minx; coords[2]=maxx; } if(coords[1] < coords[3]){ var miny=coords[1]; var maxy=coords[3]; coords[3]=miny; coords[1]=maxy; } } this.startx=this.endx=this.starty=this.endy=null; this.drawZoomBox(); if(coords[2] && coords[0] && coords[3] && coords[1]){ this.kaMap.zoomToExtents(coords[0],coords[1],coords[2],coords[3] ); } else if (coords[0] && coords[1]){ this.kaMap.zoomIn(); this.kaMap.zoomTo(coords[0],coords[1]); } return false;}; var KAMAP_MOUSE_TRACKER=gnLastEventId ++; function kaMouseTracker( oKaMap ) { kaTool.apply( this, [oKaMap] ); this.name='kaMouseTracker'; this.bInfoTool=true; for (var p in kaTool.prototype) { if (!kaMouseTracker.prototype[p]) kaMouseTracker.prototype[p]=kaTool.prototype[p]; }}; kaMouseTracker.prototype.onmousemove=function(e) { e=(e)?e:((event)?event:null); var x=e.pageX || (e.clientX + (document.documentElement.scrollLeft || document.body.scrollLeft)); var y=e.pageY || (e.clientY + (document.documentElement.scrollTop || document.body.scrollTop)); var a=this.adjustPixPosition( x,y ); var p=this.kaMap.pixToGeo( a[0], a[1] ); this.kaMap.triggerEvent(KAMAP_MOUSE_TRACKER, {x:p[0], y:p[1]}); return false;}; var noCargaMinimap=false; var Glon=""; var Glat=""; var Gtxt=""; var Mouse_Lon=""; var Mouse_Lat=""; var i_serv=0; var lon_servicios=new Array(60); var lat_servicios=new Array(60); var itexto_servicios="<table border='0' cellpadding='2' cellspacing='0' align='left' width='100%'>"; var color_servicios=0; var myKaMap=myKaNavigator=myKaQuery=myScalebar=null; var queryParams=null; function parseQueryString() { queryParams={}; var s=window.location.search; if (s!='') { s=s.substring( 1 ); var p=s.split('&'); for (var i=0;i<p.length;i++) { var q=p[i].split('='); queryParams[q[0]]=q[1]; } } } function getQueryParam(p) { if (!queryParams) { parseQueryString(); } if (queryParams[p]) { return queryParams[p]; } else { return ''; } } function pos_emol(lon, lat) { myKaMap.zoomTo( lon, lat,'4000' ); } function aw(vie) { var obj_cc=document.getElementById('direx'); if (vie=='1') { obj_cc.style.display='block'; } else { obj_cc.style.display='none'; } } function remove_tooltip() { myKaMap.removeObject(); } function remove_servicios() { myKaMap.removeObject2(400); } function convert_geo_pix(lon,lat,txt) { if ((mapa_origen!="mapa")&&(txt!="")) { remove_tooltip(); var canvas=myKaMap.createDrawingCanvas(500); var txt_info=txt; var szFncCapa=""; var szTxtCapa=""; if (Glon=="") { Glon=lon; Glat=lat; Gtxt=txt; } else { lon=Glon; lat=Glat; txt=Gtxt; } szFncCapa=" onmouseover='javascript:aw(1);' "; szFncCapa=szFncCapa + " onmouseout='javascript:aw(0);' "; szTxtCapa=szTxtCapa +	'<table border=0 cellpadding=0 cellspacing=0 class=\'dire_tooltip\'>'; szTxtCapa=szTxtCapa +'<tr><td height=4><img src=\'../imagenes/tooltip/top_som_iz.gif\' width=7 height=4 id=\'opaque\' ></td>'; szTxtCapa=szTxtCapa +'<td height=4 colspan=2 align=left background=\'../imagenes/tooltip/top_som_med2.gif\' id=\'opaque\' >'; szTxtCapa=szTxtCapa +'</td><td height=4 background=\'../imagenes/tooltip/top_som_med2.gif\' id=\'opaque\'><img id=\'opaque\' src=\'../imagenes/tooltip/top_som_med2.gif\' width=1 height=4/></td><td height=4 ><img id=\'opaque\' src=\'../imagenes/tooltip/top_der2_s.gif\' width=5 height=4/></td></tr>'; szTxtCapa=szTxtCapa +'<tr><td><img src=\'../imagenes/tooltip/top_iz2.gif\' width=7 height=4></td><td colspan=2 background=\'../imagenes/tooltip/top_med2.gif\'><img src=\'../imagenes/tooltip/top_med2.gif\' width=1 height=4/></td><td><img src=\'../imagenes/tooltip/top_der2.gif\' width=5 height=4 /></td><td height=4 background=\'../imagenes/tooltip/top_som_med2.gif\' id=\'opaque\'><img id=\'opaque\' src=\'../imagenes/tooltip/top_som_med2.gif\' width=4 height=4/></td></tr>'; szTxtCapa=szTxtCapa +'<tr><td background=\'../imagenes/tooltip/med_iz2.gif\' '+szFncCapa+'></td><td background=\'../imagenes/tooltip/med_med2.gif\' valign=top ><img '+szFncCapa+' src=../imagenes/spacer.gif border=0 width=15 heigth=15></td>'; szTxtCapa=szTxtCapa +'<td background=\'../imagenes/tooltip/med_med2.gif\'><div id=direx style=\'display:none\'>'+txt_info +'</div></td>'; szTxtCapa=szTxtCapa +'<td background=\'../imagenes/tooltip/med_left2.gif\'><img src=\'../imagenes/tooltip/med_left2.gif\' width=5 height=1/></td><td height=4 background=\'../imagenes/tooltip/top_som_med2.gif\' id=\'opaque\'><img id=\'opaque\' src=\'../imagenes/tooltip/top_som_med2.gif\' width=4 height=4/></td></tr>'; szTxtCapa=szTxtCapa +'<tr><td><img src=\'../imagenes/tooltip/bot_iz2.gif\' width=7 height=11 /></td><td colspan="2" background=\'../imagenes/tooltip/bot_med2.gif\'><img src=\'../imagenes/tooltip/bot_med2.gif\' width=5 height=11/></td><td><img src=\'../imagenes/tooltip/bot_der2.gif\' width=5 height=11/></td><td><img id=\'opaque\' src=\'../imagenes/tooltip/bot_som_der4.gif\' width=5 height=11/></td></tr></table>'; var dv=document.createElement('div'); dv.setAttribute('id', 'dire'); dv.style.position="absolute"; myKaMap.addObjectGeo(canvas, lon, lat, dv); dv.innerHTML=szTxtCapa; var canvas_dire=myKaMap.createDrawingCanvas(500); var dv_print=document.createElement('div'); dv_print.setAttribute('id', 'dire_print'); dv_print.style.position="absolute"; myKaMap.addObjectGeo(canvas_dire, lon, lat, dv_print); dv_print.innerHTML=""; if (i_serv!=0) { i_serv=0; do_xml_serv2(); } } } function serv_on(serv_namex,vie) { name_tool=serv_namex.id; var obj_cc=document.getElementById(name_tool); if (vie=='1') { obj_cc.style.display='block'; } else { obj_cc.style.display='none'; } } function servicios(idx,lon,lat,txt,szGifServ,dir) { var txt_info=txt; var szFncCapa=""; var szTxtCapa=""; var serv_name=szGifServ+'_'+idx; color_servicios_aux=parseInt(color_servicios) + 1; szFncCapa=" onmouseover='javascript:serv_on(" + serv_name + ",1);' "; szFncCapa=szFncCapa + " onmouseout='javascript:serv_on(" + serv_name + ",0);' "; szTxtCapa=szTxtCapa +	'<table border=0 cellpadding=0 cellspacing=0 class=\'dire_tooltip\'>'; szTxtCapa=szTxtCapa +'<tr><td height=4><img src=\'../imagenes/tooltip/top_som_iz.gif\' width=7 height=4 id=\'opaque\' ></td><td height=4 colspan=2 align=left background=\'../imagenes/tooltip/top_som_med2.gif\' id=\'opaque\' ></td><td height=4 background=\'../imagenes/tooltip/top_som_med2.gif\' id=\'opaque\'><img id=\'opaque\' src=\'../imagenes/tooltip/top_som_med2.gif\' width=1 height=4/></td><td height=4 ><img id=\'opaque\' src=\'../imagenes/tooltip/top_der2_s.gif\' width=5 height=4/></td></tr>'; szTxtCapa=szTxtCapa +'<tr><td><img src=\'../imagenes/tooltip/top_iz.gif\' width=7 height=4></td><td colspan=2 background=\'../imagenes/tooltip/top_med.gif\'><img src=\'../imagenes/tooltip/top_med.gif\' width=1 height=4/></td><td><img src=\'../imagenes/tooltip/top_der.gif\' width=5 height=4/></td><td height=4 background=\'../imagenes/tooltip/top_som_med2.gif\' id=\'opaque\'><img id=\'opaque\' src=\'../imagenes/tooltip/top_som_med2.gif\' width=4 height=4/></td></tr>'; szTxtCapa=szTxtCapa +'<tr><td background=\'../imagenes/tooltip/med_iz.gif\'><img src=\'../imagenes/tooltip/med_iz.gif\' width=7 height=2/></td><td background=\'../imagenes/tooltip/med_med.gif\' valign="top"><img ' + szFncCapa + ' src=../imagenes/iconos_servicios/' + szGifServ + '.gif border=0 ></td><td background=\'../imagenes/tooltip/med_med.gif\'><div id=\''+serv_name+'\' style=\'display:none\'>&nbsp;'+color_servicios_aux+'&nbsp;'+txt_info+'</div></td><td background=\'../imagenes/tooltip/med_left.gif\'><img src=\'../imagenes/tooltip/med_left.gif\' width=5 height=1/></td><td height=4 background=\'../imagenes/tooltip/top_som_med2.gif\' id=\'opaque\'><img id=\'opaque\' src=\'../imagenes/tooltip/top_som_med2.gif\' width=4 height=4/></td></tr>'; szTxtCapa=szTxtCapa +'<tr><td><img src=\'../imagenes/tooltip/bot_iz.gif\' width=7 height=11 /></td><td colspan="2" background=\'../imagenes/tooltip/bot_med.gif\'><img src=\'../imagenes/tooltip/bot_med.gif\' width=5 height=11/></td><td><img src=\'../imagenes/tooltip/bot_der.gif\' width=5 height=11/></td><td><img id=\'opaque\' src=\'../imagenes/tooltip/bot_som_der4.gif\' width=5 height=11/></td></tr></tr></table>'; var canvas=myKaMap.createDrawingCanvas(400); var dv=document.createElement('div'); dv.setAttribute('id', 'serv'); var currentScale=myKaMap.getCurrentScale(); if (color_servicios%2==0) { color_serv="FFFFFF"; color_servicios++; } else { color_serv="#DEEBF7"; color_servicios++; } itexto_servicios=itexto_servicios + "<tr bgcolor='"+color_serv+"'>"; itexto_servicios=itexto_servicios + "<td class='textos_result' style='cursor:hand;' width='1' valign='middle' align='center' onclick='window.parent.myKaMap.zoomTo("+lon+","+lat+",4000);'>"+color_servicios+"</td>"; itexto_servicios=itexto_servicios + "<td title='"+dir+"' class='textos_result' style='cursor:hand;' onclick='window.parent.myKaMap.zoomTo("+lon+","+lat+",4000);'>"+txt+"&nbsp;<br></td>"; itexto_servicios=itexto_servicios + "</tr>"; var canvas_serv=myKaMap.createDrawingCanvas(400); var dv_print_serv=document.createElement('div'); dv_print_serv.setAttribute('id', 'dire_serv'+i_serv); dv_print_serv.style.position="absolute"; lon_servicios[i_serv]=lon; lat_servicios[i_serv]=lat; myKaMap.addObjectGeo(canvas_serv, lon, lat, dv_print_serv); dv_print_serv.innerHTML=""; i_serv++; } function cambia_region() { var region=document.getElementById('szRegion').value; if (region=='R1') { lon="-69.70"; lat="-19.23"; }	else if (region=='R2')	{ lon="-68.86"; lat="-23.50"; }	else if (region=='R3')	{ lon="-69.87"; lat="-27.40"; }	else if (region=='R4')	{ lon="-70.76"; lat="-30.65"; }	else if (region=='R5')	{ lon="-70.91"; lat="-32.99"; }	else if (region=='R6')	{ lon="-71.0347"; lat="-34.4337"; }	else if (region=='R7')	{ lon="-71.5534"; lat="-35.6299"; }	else if (region=='R8')	{ lon="-72.3351"; lat="-37.2447"; }	else if (region=='R9')	{ lon="-72.1706"; lat="-38.6073"; }	else if (region=='R10')	{ lon="-72.9883"; lat="-41.5748"; }	else if (region=='R11')	{ lon="-72.8435"; lat="-45.4278"; }	else if (region=='R12')	{ lon="-74.161"; lat="-51.048"; }	else { lon="-70.72"; lat="-33.61"; } myKaMap.zoomTo( lon, lat,'1000000' ); } function cambia_diario(diario) { switch (diario) { case "arica.bmp" : document.frmConsulta.szRegion.value="R1"; lat="-18.46409224";	lon="-70.30267469"; myKaMap.zoomTo( lon, lat,'80000' ); do_xml_comunas('R1'); setTimeout("document.frmConsulta.szComuna.value='Arica';",2000); var co_canvas=myKaMap.createDrawingCanvas(500); var co_muestra=document.createElement('div'); co_muestra.setAttribute('id', 'muestra_icono_comuna'); co_muestra.style.position="absolute"; myKaMap.addObjectGeo(co_canvas, lon, lat, co_muestra); co_muestra.innerHTML="<table border=0><tr><td><font color=white face='Arial'><img src='./images/tip-red.png' alt='ARICA'></font></td></tr></table>"; break; case "iquique.bmp" : document.frmConsulta.szRegion.value="R1"; lat="-20.22575702";	lon="-70.13461711"; myKaMap.zoomTo( lon, lat,'80000' ); do_xml_comunas('R1'); setTimeout("document.frmConsulta.szComuna.value='Iquique';",2000); var co_canvas=myKaMap.createDrawingCanvas(500); var co_muestra=document.createElement('div'); co_muestra.setAttribute('id', 'muestra_icono_comuna'); co_muestra.style.position="absolute"; myKaMap.addObjectGeo(co_canvas, lon, lat, co_muestra); co_muestra.innerHTML="<table border=0><tr><td><font color=white face='Arial'><img src='./images/tip-red.png' alt='IQUIQUE'></font></td></tr></table>"; break; case "antofagasta.bmp" : document.frmConsulta.szRegion.value="R2"; lat="-23.65035920";	lon="-70.39836541"; myKaMap.zoomTo( lon, lat,'80000' ); do_xml_comunas('R2'); setTimeout("document.frmConsulta.szComuna.value='Antofagasta';",2000); var co_canvas=myKaMap.createDrawingCanvas(500); var co_muestra=document.createElement('div'); co_muestra.setAttribute('id', 'muestra_icono_comuna'); co_muestra.style.position="absolute"; myKaMap.addObjectGeo(co_canvas, lon, lat, co_muestra); co_muestra.innerHTML="<table border=0><tr><td><font color=white face='Arial'><img src='./images/tip-red.png' alt='ANTOFAGASTA'></font></td></tr></table>"; break; case "calama.bmp" : document.frmConsulta.szRegion.value="R2"; lat="-22.45735357";	lon="-68.92693453"; myKaMap.zoomTo( lon, lat,'80000' ); do_xml_comunas('R2'); setTimeout("document.frmConsulta.szComuna.value='Calama';",2000); var co_canvas=myKaMap.createDrawingCanvas(500); var co_muestra=document.createElement('div'); co_muestra.setAttribute('id', 'muestra_icono_comuna'); co_muestra.style.position="absolute"; myKaMap.addObjectGeo(co_canvas, lon, lat, co_muestra); co_muestra.innerHTML="<table border=0><tr><td><font color=white face='Arial'><img src='./images/tip-red.png' alt='CALAMA'></font></td></tr></table>"; break; case "enorte.bmp" : document.frmConsulta.szRegion.value="R2"; lat="-22.45735357";	lon="-68.92693453"; myKaMap.zoomTo( lon, lat,'1000000' ); do_xml_comunas('R2'); break; case "eloa.bmp" : document.frmConsulta.szRegion.value="R2"; lat="-22.45735357";	lon="-68.92693453"; myKaMap.zoomTo( lon, lat,'1000000' ); do_xml_comunas('R2'); break; case "tocopilla.bmp" : document.frmConsulta.szRegion.value="R2"; lat="-22.09283556";	lon="-70.16692726"; myKaMap.zoomTo( lon, lat,'80000' ); do_xml_comunas('R2'); setTimeout("document.frmConsulta.szComuna.value='Tocopilla';",2000); var co_canvas=myKaMap.createDrawingCanvas(500); var co_muestra=document.createElement('div'); co_muestra.setAttribute('id', 'muestra_icono_comuna'); co_muestra.style.position="absolute"; myKaMap.addObjectGeo(co_canvas, lon, lat, co_muestra); co_muestra.innerHTML="<table border=0><tr><td><font color=white face='Arial'><img src='./images/tip-red.png' alt='TOCOPILLA'></font></td></tr></table>"; break; case "atacama.bmp" : document.frmConsulta.szRegion.value="R3"; lat="-27.40";	lon="-69.87"; myKaMap.zoomTo( lon, lat,'1000000' ); do_xml_comunas('R3'); break; case "valparaiso.bmp" : document.frmConsulta.szRegion.value="R5"; lat="-33.03943557";	lon="-71.60635243"; myKaMap.zoomTo( lon, lat,'80000' ); do_xml_comunas('R5'); setTimeout("document.frmConsulta.szComuna.value='Valparaiso';",2000); var co_canvas=myKaMap.createDrawingCanvas(500); var co_muestra=document.createElement('div'); co_muestra.setAttribute('id', 'muestra_icono_comuna'); co_muestra.style.position="absolute"; myKaMap.addObjectGeo(co_canvas, lon, lat, co_muestra); co_muestra.innerHTML="<table border=0><tr><td><font color=white face='Arial'><img src='./images/tip-red.png' alt='VALPARAÍSO'></font></td></tr></table>"; break; case "laestrella.bmp" : document.frmConsulta.szRegion.value="R5"; lat="-32.99";	lon="-70.91"; myKaMap.zoomTo( lon, lat,'1000000' ); do_xml_comunas('R5'); break; case "lider.bmp" : document.frmConsulta.szRegion.value="R5"; lat="-33.58929982";	lon="-71.61197703"; myKaMap.zoomTo( lon, lat,'80000' ); do_xml_comunas('R5'); setTimeout("document.frmConsulta.szComuna.value='San Antonio';",2000); var co_canvas=myKaMap.createDrawingCanvas(500); var co_muestra=document.createElement('div'); co_muestra.setAttribute('id', 'muestra_icono_comuna'); co_muestra.style.position="absolute"; myKaMap.addObjectGeo(co_canvas, lon, lat, co_muestra); co_muestra.innerHTML="<table border=0><tr><td><font color=white face='Arial'><img src='./images/tip-red.png' alt='SAN ANTONIO'></font></td></tr></table>"; break; case "elsur.bmp" : document.frmConsulta.szRegion.value="R8"; lat="-36.80615392";	lon="-73.06297575"; myKaMap.zoomTo( lon, lat,'1000000' ); do_xml_comunas('R8'); setTimeout("document.frmConsulta.szComuna.value='Concepcion';",2000); var co_canvas=myKaMap.createDrawingCanvas(500); var co_muestra=document.createElement('div'); co_muestra.setAttribute('id', 'muestra_icono_comuna'); co_muestra.style.position="absolute"; myKaMap.addObjectGeo(co_canvas, lon, lat, co_muestra); co_muestra.innerHTML="<table border=0><tr><td><font color=white face='Arial'><img src='./images/tip-red.png' alt='CONCEPCIÓN'></font></td></tr></table>"; break; case "cronica.bmp" : document.frmConsulta.szRegion.value="R8"; lat="-36.80615392";	lon="-73.06297575"; myKaMap.zoomTo( lon, lat,'1000000' ); do_xml_comunas('R8'); setTimeout("document.frmConsulta.szComuna.value='Concepcion';",2000); var co_canvas=myKaMap.createDrawingCanvas(500); var co_muestra=document.createElement('div'); co_muestra.setAttribute('id', 'muestra_icono_comuna'); co_muestra.style.position="absolute"; myKaMap.addObjectGeo(co_canvas, lon, lat, co_muestra); co_muestra.innerHTML="<table border=0><tr><td><font color=white face='Arial'><img src='./images/tip-red.png' alt='CONCEPCIÓN'></font></td></tr></table>"; break; case "renacerarauco.bmp" : document.frmConsulta.szRegion.value="R8"; lat="-37.24176330";	lon="-73.31213859"; myKaMap.zoomTo( lon, lat,'80000' ); do_xml_comunas('R8'); setTimeout("document.frmConsulta.szComuna.value='Arauco';",2000); var co_canvas=myKaMap.createDrawingCanvas(500); var co_muestra=document.createElement('div'); co_muestra.setAttribute('id', 'muestra_icono_comuna'); co_muestra.style.position="absolute"; myKaMap.addObjectGeo(co_canvas, lon, lat, co_muestra); co_muestra.innerHTML="<table border=0><tr><td><font color=white face='Arial'><img src='./images/tip-red.png' alt='ARAUCO'></font></td></tr></table>"; break; case "australtemuco.bmp" : document.frmConsulta.szRegion.value="R9"; lat="-38.73414983";	lon="-72.59112472"; myKaMap.zoomTo( lon, lat,'80000' ); do_xml_comunas('R9'); setTimeout("document.frmConsulta.szComuna.value='Temuco';",2000); var co_canvas=myKaMap.createDrawingCanvas(500); var co_muestra=document.createElement('div'); co_muestra.setAttribute('id', 'muestra_icono_comuna'); co_muestra.style.position="absolute"; myKaMap.addObjectGeo(co_canvas, lon, lat, co_muestra); co_muestra.innerHTML="<table border=0><tr><td><font color=white face='Arial'><img src='./images/tip-red.png' alt='TEMUCO'></font></td></tr></table>"; break; case "renacerangol.bmp" : document.frmConsulta.szRegion.value="R9"; lat="-37.79890618";	lon="-72.68631716"; myKaMap.zoomTo( lon, lat,'80000' ); do_xml_comunas('R9'); setTimeout("document.frmConsulta.szComuna.value='Angol';",2000); var co_canvas=myKaMap.createDrawingCanvas(500); var co_muestra=document.createElement('div'); co_muestra.setAttribute('id', 'muestra_icono_comuna'); co_muestra.style.position="absolute"; myKaMap.addObjectGeo(co_canvas, lon, lat, co_muestra); co_muestra.innerHTML="<table border=0><tr><td><font color=white face='Arial'><img src='./images/tip-red.png' alt='ANGOL'></font></td></tr></table>"; break; case "austral.bmp" : document.frmConsulta.szRegion.value="R10"; lat="-39.81553138";	lon="-73.24142396"; myKaMap.zoomTo( lon, lat,'80000' ); do_xml_comunas('R10'); setTimeout("document.frmConsulta.szComuna.value='Valdivia';",2000); var co_canvas=myKaMap.createDrawingCanvas(500); var co_muestra=document.createElement('div'); co_muestra.setAttribute('id', 'muestra_icono_comuna'); co_muestra.style.position="absolute"; myKaMap.addObjectGeo(co_canvas, lon, lat, co_muestra); co_muestra.innerHTML="<table border=0><tr><td><font color=white face='Arial'><img src='./images/tip-red.png' alt='VALDIVIA'></font></td></tr></table>"; break; case "australosorno.bmp" : document.frmConsulta.szRegion.value="R10"; lat="-40.57629622";	lon="-73.12054680"; myKaMap.zoomTo( lon, lat,'80000' ); do_xml_comunas('R10'); setTimeout("document.frmConsulta.szComuna.value='Osorno';",2000); var co_canvas=myKaMap.createDrawingCanvas(500); var co_muestra=document.createElement('div'); co_muestra.setAttribute('id', 'muestra_icono_comuna'); co_muestra.style.position="absolute"; myKaMap.addObjectGeo(co_canvas, lon, lat, co_muestra); co_muestra.innerHTML="<table border=0><tr><td><font color=white face='Arial'><img src='./images/tip-red.png' alt='OSORNO'></font></td></tr></table>"; break; case "llanquihue.bmp" : document.frmConsulta.szRegion.value="R10"; lat="-41.25532194";	lon="-73.00345346"; myKaMap.zoomTo( lon, lat,'80000' ); do_xml_comunas('R10'); setTimeout("document.frmConsulta.szComuna.value='Llanquihue';",2000); var co_canvas=myKaMap.createDrawingCanvas(500); var co_muestra=document.createElement('div'); co_muestra.setAttribute('id', 'muestra_icono_comuna'); co_muestra.style.position="absolute"; myKaMap.addObjectGeo(co_canvas, lon, lat, co_muestra); co_muestra.innerHTML="<table border=0><tr><td><font color=white face='Arial'><img src='./images/tip-red.png' alt='LLANQUIHUE'></font></td></tr></table>"; break; case "estrellachiloe.bmp" : document.frmConsulta.szRegion.value="R10"; lat="-42.407106";	lon="-73.778484"; myKaMap.zoomTo( lon, lat,'1000000' ); do_xml_comunas('R10'); break; default : document.frmConsulta.szRegion.value="RM "; lat="-33.61";	lon="-70.72"; myKaMap.zoomTo( lon, lat,'1000000' ); do_xml_comunas('RM '); break; } } function cambia_comuna() { var comuna=document.getElementById('szComuna').value; for (cont=0;cont<=99;cont++) { if (co_nombre[cont]==comuna) { myKaMap.removeObject3(); var co_canvas=myKaMap.createDrawingCanvas(500); myKaMap.zoomTo( co_lon[cont], co_lat[cont],'80000' ); var co_muestra=document.createElement('div'); co_muestra.setAttribute('id', 'muestra_icono_comuna'); co_muestra.style.position="absolute"; co_muestra.innerHTML="<table border=0><tr><td><font color=black face='Arial' size='1'><img src='./images/tip-red.png' alt='"+co_nombre[cont].toUpperCase()+"'>&nbsp;"+co_nombre[cont].toUpperCase()+"</font></td></tr></table>"; myKaMap.addObjectGeo(co_canvas, co_lon[cont], co_lat[cont], co_muestra); do_xml_serv2(); break; } } } function myOnLoad() { initDHTMLAPI(); window.onresize=drawPage; myKaMap=new kaMap( 'viewport' ); var szMap=getQueryParam('map'); var szExtents=getQueryParam('extents'); var szCPS=getQueryParam('cps'); var myKaKeymap=new kaKeymap( myKaMap, 'keymap' ); myKaNavigator=new kaNavigator( myKaMap ); myKaNavigator.activate(); myKaQuery=new kaQuery( myKaMap, KAMAP_RECT_QUERY ); myKaRubberZoom=new kaRubberZoom( myKaMap ); myKaTracker=new kaMouseTracker(myKaMap); myKaTracker.activate(); myKaZoomer=new kaZoomer(myKaMap); myKaMap.registerForEvent( KAMAP_INITIALIZED, null, myInitialized ); myKaMap.registerForEvent( KAMAP_SCALE_CHANGED, null, myScaleChanged ); myKaMap.registerForEvent( KAMAP_EXTENTS_CHANGED, null, myExtentChanged ); myKaMap.registerForEvent( KAMAP_LAYERS_CHANGED, null, myLayersChanged ); myKaMap.registerForEvent( KAMAP_LAYER_STATUS_CHANGED, null, myLayersChanged ); myKaMap.registerForEvent( KAMAP_QUERY, null, myQuery ); myKaMap.registerForEvent( KAMAP_MAP_CLICKED, null, myMapClicked ); myKaMap.registerForEvent( KAMAP_MOUSE_TRACKER, null, myMouseMoved ); myScalebar=new ScaleBar(1); myScalebar.divisions=3; myScalebar.subdivisions=2; myScalebar.minWidth=70; myScalebar.maxWidth=150; myScalebar.place('scalebar'); toolTip=new kaToolTip( myKaMap ); drawPage(); myKaMap.initialize( szMap, szExtents, szCPS ); } function myInitialized() { } function myMapInitialized( eventID, mapName ) { var aMaps=myKaMap.getMaps(); var oSelect=document.forms['toolbar'].maps; if (oSelect) { var j=0; for(var i in aMaps) { oSelect[j++]=new Option(aMaps[i].title,aMaps[i].name,false,false); } var oSelect=document.forms['toolbar'].maps; if (oSelect.options[oSelect.selectedIndex].value !=mapName) { for(var i=0; i < oSelect.options.length; i++ ) { if (oSelect.options[i].value==mapName) { oSelect.options[i].selected=true; break; } } } } var currentMap=myKaMap.getCurrentMap(); var scales=currentMap.getScales(); var currentScale=myKaMap.getCurrentScale(); oSelect=document.forms['toolbar'].scales; if(oSelect){ while( oSelect.options['toolbar'] ) oSelect.options['toolbar']=null; j=0; for(var i in scales) { oSelect.options[j++]=new Option("1:"+scales[i],scales[i],false,false); } } switchMode('toolPan'); switchService('toolMapinfo'); var layers=getQueryParam('layers'); if (layers !='') { var map=myKaMap.getCurrentMap(); var allLayers=map.getAllLayers(); for (var i=0; i<allLayers.length; i++) { allLayers[i].setVisibility(false); } aLayers=layers.split(','); for (var i=0;i<aLayers.length; i++) { map.setLayerVisibility (unescape(aLayers[i]), true); } } myKaMap.triggerEvent( KAMAP_SCALE_CHANGED, myKaMap.getCurrentScale() ); } function myExtentChanged( eventID, extents ) { updateLinkToView(); } function myMouseMoved( eventID, position) { Mouse_Lat=position.x; Mouse_Lon=position.y; } function myLayersChanged(eventID, map) { updateLinkToView(); } function updateLinkToView() { var port=(window.location.port)? window.location.port : 80; var url=window.location.protocol+'/'+'/'+window.location.host +':'+ port +''+window.location.pathname+'?'; var extents=myKaMap.getGeoExtents(); var cx=(extents[2] + extents[0])/2; var cy=(extents[3] + extents[1])/2; var cpsURL='cps='+cx+','+cy+','+myKaMap.getCurrentScale(); var mapURL='map=' + myKaMap.currentMap; var theMap=myKaMap.getCurrentMap(); var aLayers=theMap.getLayers(); var layersURL='layers='; var sep=''; for (var i=0;i<aLayers.length;i++) { layersURL +=sep + aLayers[i].name; sep=','; } var link=getRawObject('linkToView'); if(link) link.href=url + mapURL + '&' + cpsURL + '&' + layersURL; var linkContent=getRawObject('linkContent'); if(linkContent) linkContent.value=myUrlEncode('This is a link:\n-------\n'+ url + mapURL + '&' + cpsURL + '&' + layersURL +'\n-------\n\nRemember to copy the entire link string.'); var geoExtent=getRawObject('geoExtent'); if(geoExtent) { geoExtent.innerHTML='minx: ' + roundIt(extents[0],2) +'<br>' + 'miny: ' + roundIt(extents[1],2) +'<br>' + 'maxx: ' + roundIt(extents[2],2) +'<br>' + 'maxy: ' + roundIt(extents[3],2) +'<br>'; } } function sendLinkToView(email,body) { var mySubject=myUrlEncode('Authomatic ka-Map mail'); var myBody=myUrlEncode(body); location.replace( 'mailto:' + email + '?subject=' + mySubject + '&body=' + body); } function myScaleChanged( eventID, scale ) { var oSelect=document.forms['toolbar'].scales; if(oSelect){ for (var i=0; i<oSelect.options.length; i++) { if (oSelect.options[i].value==scale) { oSelect.options[i].selected=true; if(i==0)zoomout_disable(); else zoomout_enable(); if (i==oSelect.options.length - 1) zoomin_disable(); else zoomin_enable(); } } } myScalebar.update(scale); } function mySetScale( scale ) { myKaMap.zoomToScale( scale ); } function mySetMap( name ) { myKaMap.selectMap( name ); } function myQuery( eventID, queryType, coords ) { var szLayers=''; var layers=myKaMap.getCurrentMap().getQueryableLayers(); if(layers.length==0) { alert("No queryable layers at this scale and extent"); return; } for (var i=0;i<layers.length;i++) { szLayers=szLayers + "," + layers[i].name; } var extent=myKaMap.getGeoExtents(); var scale=myKaMap.getCurrentScale(); var cMap=myKaMap.getCurrentMap().name; var params='map='+cMap+'&q_type='+queryType+'&scale='+scale+'&groups='+szLayers+'&coords='+coords+'&extent='+extent[0]+'|'+extent[1]+'|'+extent[2]+'|'+extent[3]; getRawObject('queryOut').innerHTML='<h3>Processing query. <br> please wait...</h3><hr>'; call('map_query_float.php?'+params,this, myQueryOutput); } function myQueryOutput (szText){ getRawObject('queryOut').innerHTML=szText; } function myMapClicked( eventID, coords ) { } function myZoomIn() { myKaMap.zoomIn(); } function myZoomOut() { myKaMap.zoomOut(); } function myPrint(output_type) { var szLayers=''; var szOpacitys=''; var layers=myKaMap.getCurrentMap().getLayers(); for (var i=0;i<layers.length;i++) { szLayers=szLayers + "," + layers[i].name; szOpacitys=szOpacitys + "," + layers[i].opacity; } var extent=myKaMap.getGeoExtents(); var scale=myKaMap.getCurrentScale(); var cMap=myKaMap.getCurrentMap().name; var img_width='580'; var params='output_type='+output_type+'&map='+cMap+"&opacitys="+szOpacitys+'&scale='+scale+'&img_width='+img_width+'&groups='+szLayers+'&extent='+extent[0]+'|'+extent[1]+'|'+extent[2]+'|'+extent[3]; if ( dir_print=="undefined") { p_leftx=''; p_topy=''; simple="sindireccion"; } else { p_leftx=document.getElementById('dire').style.left; p_topy=document.getElementById('dire').style.top; simple="direccion" } mapa_witdh=parseInt(getObjectWidth(layoutFrame)); mapa_height=parseInt(getObjectHeight(layoutFrame)) -1; str='&x1_lon='+extent[0]+'&x1_lat='+extent[1]+'&x2_lon='+extent[2]+'&x2_lat='+extent[3]; var aPix_C1=myKaMap.geoToPix( extent[0], extent[1] ); var aPix_C2=myKaMap.geoToPix( extent[2], extent[3] ); var aPix_COBJ=myKaMap.geoToPix( Glon, Glat ); largo_mapa_x=Math.abs(aPix_C1[0] - aPix_C2[0]); largo_mapa_y=Math.abs(aPix_C1[1] - aPix_C2[1]); ubicacion_obj_x=Math.abs(aPix_C1[0] - aPix_COBJ[0]); ubicacion_obj_y=Math.abs(aPix_C1[1] - aPix_COBJ[1]); document.forms.borrar.simple.value=simple; document.forms.borrar.mapa_witdh.value=mapa_witdh; document.forms.borrar.mapa_height.value=mapa_height; document.forms.borrar.dir_print.value=dir_print; document.forms.borrar.output_type.value=output_type; document.forms.borrar.map.value=cMap; document.forms.borrar.opacitys.value=szOpacitys; document.forms.borrar.scale.value=scale; document.forms.borrar.img_width.value=img_width; document.forms.borrar.groups.value=szLayers; document.forms.borrar.extent.value=extent[0]+'|'+extent[1]+'|'+extent[2]+'|'+extent[3]; document.forms.borrar.largo_mapa_x.value=largo_mapa_x; document.forms.borrar.largo_mapa_y.value=largo_mapa_y; document.forms.borrar.ubicacion_obj_x.value=ubicacion_obj_x; document.forms.borrar.ubicacion_obj_y.value=ubicacion_obj_y; document.forms.borrar.Glon.value=Glon; document.forms.borrar.Glat.value=Glat; document.forms.borrar.Gtxt.value=Gtxt; if (i_serv!=0) { document.forms.borrar.tipo_servicio.value=tpServ; document.forms.borrar.cant_servicio.value=i_serv; strservicios=""; for (x_serv=0;x_serv<i_serv;x_serv++) { strservicios=strservicios + lon_servicios[x_serv] + '@@' + lat_servicios[x_serv] + '::'; } strservicios=strservicios.substring(0,strservicios.length-2); document.forms.borrar.x_servicios.value=strservicios; } WOOpenWin( 'Print', '', 'width=753,height=663' ); document.forms.borrar.target='Print'; document.forms.borrar.action='../tools/print/borrar.php'; document.forms.borrar.submit(); } function drawPage() { var browserWidth=getInsideWindowWidth(); var browserHeight=getInsideWindowHeight(); var viewport=getRawObject('viewport'); var page=getRawObject('page'); var layoutFrame=getRawObject('layoutFrame'); var explorer=getRawObject('explorer'); var service=getRawObject('service'); var mapInfo=getRawObject('mapInfo'); var keymap=getRawObject('keymap'); var link=getRawObject('link'); if(myKaMap.isIE4) { page.style.width=(browserWidth -2) + "px"; } else { page.style.width=browserWidth + "px"; } if(myKaMap.isIE4) { page.style.height=(browserHeight -2) + "px"; } else { page.style.height=browserHeight + "px"; } layoutFrame.style.width=parseInt(page.style.width) + "px"; layoutFrame.style.height=parseInt(page.style.height) -parseInt(getObjectHeight(explorer)) + "px"; layoutFrame.style.top=parseInt(getObjectHeight(explorer)) + "px"; layoutFrame.style.left="0"; layoutFrame.style.right="0"; viewport.style.width=parseInt(getObjectWidth(layoutFrame)) - parseInt(getObjectWidth(service))-2 + "px"; viewport.style.height=parseInt(getObjectHeight(layoutFrame)) -1 + "px"; viewport.style.top="0px"; viewport.style.left=parseInt(getObjectWidth(service)) + "px"; viewport.style.right="0px"; service.style.height=parseInt(getObjectHeight(layoutFrame)) -2 + "px"; mapInfo.style.height=parseInt(getObjectHeight(layoutFrame)) -2 + "px"; myKaMap.resize(); } function showContent(url) { var content=getRawObject('content'); var viewport=getRawObject('viewport'); content.style.top=parseInt(viewport.style.top) + 10 + "px"; content.style.display="block"; call(url,this, setContent); } function setContent(szContent){ var contentText=getRawObject('contentText'); contentText.innerHTML=szContent; } function hideContent() { var content=getRawObject('content'); var viewport=getRawObject('viewport'); content.style.display="none"; } function getFullExtent() { var exStr=myKaMap.getCurrentMap().defaultExtents.toString(); var ex=myKaMap.getCurrentMap().defaultExtents; myKaMap.zoomToExtents(ex[0],ex[1],ex[2],ex[3]); } function switchMode(id) { if (id=='toolPan') { myKaNavigator.activate(); getRawObject('toolPan').style.backgroundImage='url(images/icon_set_explorer/tool_pan_2.png)'; getRawObject('toolZoomRubber').style.backgroundImage='url(images/icon_set_explorer/tool_rubberzoom_1.png)'; } else if (id=='toolZoomRubber') { myKaRubberZoom.activate(); getRawObject('toolPan').style.backgroundImage='url(images/icon_set_explorer/tool_pan_1.png)'; getRawObject('toolZoomRubber').style.backgroundImage='url(images/icon_set_explorer/tool_rubberzoom_2.png)'; } else { myKaNavigator.activate(); } } function switchService(id) { var service=getRawObject('service'); if (id=='toolPrint') { myKaNavigator.activate(); getRawObject('toolMapinfo').style.backgroundImage='url(images/icon_set_explorer/tool_mapinfo_1.png)'; getRawObject('toolPrint').style.backgroundImage='url(images/icon_set_explorer/tool_print_2.png)'; getRawObject('toolPan').style.backgroundImage='url(images/icon_set_explorer/tool_pan_2.png)'; getRawObject('toolZoomRubber').style.backgroundImage='url(images/icon_set_explorer/tool_rubberzoom_1.png)'; getRawObject('toolLink').style.backgroundImage='url(images/icon_set_explorer/tool_link_1.png)'; getRawObject('mapInfo').style.top=parseInt(getObjectHeight(service)) + "px"; getRawObject('curtain').style.top=parseInt(getObjectHeight(service)) + "px"; getRawObject('link').style.top=parseInt(getObjectHeight(service)) + "px"; } else if (id=='toolLink') { myKaNavigator.activate(); getRawObject('toolPrint').style.backgroundImage='url(images/icon_set_explorer/tool_print_1.png)'; getRawObject('toolPan').style.backgroundImage='url(images/icon_set_explorer/tool_pan_2.png)'; getRawObject('toolZoomRubber').style.backgroundImage='url(images/icon_set_explorer/tool_rubberzoom_1.png)'; getRawObject('toolLink').style.backgroundImage='url(images/icon_set_explorer/tool_link_2.png)'; getRawObject('mapInfo').style.top=parseInt(getObjectHeight(service)) + "px"; getRawObject('curtain').style.top=parseInt(getObjectHeight(service)) + "px"; getRawObject('link').style.top="0px"; } else if (id=='toolMapinfo') { myKaNavigator.activate(); getRawObject('toolMapinfo').style.backgroundImage='url(images/icon_set_explorer/tool_mapinfo_2.png)'; getRawObject('toolPrint').style.backgroundImage='url(images/icon_set_explorer/tool_print_1.png)'; getRawObject('toolPan').style.backgroundImage='url(images/icon_set_explorer/tool_pan_2.png)'; getRawObject('toolZoomRubber').style.backgroundImage='url(images/icon_set_explorer/tool_rubberzoom_1.png)'; getRawObject('toolLink').style.backgroundImage='url(images/icon_set_explorer/tool_link_1.png)'; getRawObject('mapInfo').style.top="0px"; getRawObject('curtain').style.top=parseInt(getObjectHeight(service)) + "px"; getRawObject('link').style.top=parseInt(getObjectHeight(service)) + "px"; } else { myKaNavigator.activate(); } } function zoomout_disable(){ getRawObject('toolZoomOut').style.backgroundImage='url(images/icon_set_explorer/tool_zoomout_3.png)'; getRawObject('toolZoomFull').style.backgroundImage='url(images/icon_set_explorer/tool_zoomfull_3.png)'; } function zoomout_enable(){ getRawObject('toolZoomOut').style.backgroundImage='url(images/icon_set_explorer/tool_zoomout_1.png)'; getRawObject('toolZoomFull').style.backgroundImage='url(images/icon_set_explorer/tool_zoomfull_1.png)'; } function zoomin_disable(){ getRawObject('toolZoomIn').style.backgroundImage='url(images/icon_set_explorer/tool_zoomin_3.png)'; getRawObject('toolZoomRubber').style.backgroundImage='url(images/icon_set_explorer/tool_rubberzoom_3.png)'; } function zoomin_enable(){ getRawObject('toolZoomIn').style.backgroundImage='url(images/icon_set_explorer/tool_zoomin_1.png)'; getRawObject('toolZoomRubber').style.backgroundImage='url(images/icon_set_explorer/tool_rubberzoom_1.png)'; } function applyPNGFilter(o) { var t="images/a_pixel.gif"; if( o.src !=t ) { var s=o.src; o.src=t; o.runtimeStyle.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+s+"',sizingMethod='scale')"; } } function WOFocusWin( nn ) { eval( "if( this."+name+") this."+name+".moveTo(50,50); this."+name+".focus();" ); } function WOOpenWin( name, url, ctrl ) { eval( "this."+name+"=window.open('"+url+"','"+name+"','"+ctrl+"');" ); } function WinOpener() { this.openWin=WOOpenWin; this.focusWin=WOFocusWin; } function myUrlEncode(string) { encodedHtml=escape(string); encodedHtml=encodedHtml.replace("/","%2F"); encodedHtml=encodedHtml.replace(/\?/g,"%3F"); encodedHtml=encodedHtml.replace(/=/g,"%3D"); encodedHtml=encodedHtml.replace(/&/g,"%26"); encodedHtml=encodedHtml.replace(/@/g,"%40"); return encodedHtml; }; function myUrlDecode(sz){ return unescape(sz).replace(/\+/g," "); }; function roundIt(number,decimals){ var base10=10; for(var i=0;i<decimals-1;i++) base10=base10 *10; return Math.round(number * base10)/base10; } function kaToolTip( oKaMap ){ this.kaMap=oKaMap; this.image=null; this.domObj=null; this.viewport=this.kaMap.domObj; this.visible=false; this.init(); }; kaToolTip.prototype.init=function(){ this.domObj=document.createElement('div'); this.domObj.setAttribute('id', 'toolTip'); this.minZindex=1; this.coordX=null; this.coordY=null; this.viewport.appendChild(this.domObj); this.domObj.style.position='absolute'; this.move(); this.domObj.toolTip=this; this.domObj.style.zIndex=this.minZindex; this.setText('Wait a moment please!'); this.kaMap.registerForEvent( KAMAP_MAP_CLICKED, this, this.onclick ); this.kaMap.registerForEvent( KAMAP_EXTENTS_CHANGED, this, this.extentChanged ); }; kaToolTip.prototype.onclick=function(e){ e=(e)?e:((event)?event:null);this.move(); }; kaToolTip.prototype.setText=function(text){ this.domObj.innerHTML=text; }; kaToolTip.prototype.setTipImage=function(url,offsetX,offsetY){ offsetX=(offsetX)?offsetX:0; offsetY=(offsetX)?offsetY:0; image=document.createElement('img'); image.src=url; image.setAttribute('id', 'toolTipImage'); image.style.position='absolute'; image.style.zIndex=this.minZindex++; image.style.top='-200px'; image.style.left='-200px'; image.offsetX=offsetX; image.offsetY=offsetY; this.image=image; this.viewport.appendChild(image); }; kaToolTip.prototype.moveGeo=function(){ var x=parseInt(arguments[0]); var	y=parseInt(arguments[1]); var pixPos=this.kaMap.geoToPix(x,y); var nPixPos=this.kaMap.currentTool.adjustPixPosition( pixPos[0]*(-1), pixPos[1]*(-1) ); var newX=nPixPos[0]; var newY=nPixPos[1]; this.move(newX,newY);}; kaToolTip.prototype.move=function(){ var x=0; var y=0; var aPixPos=0; var geoPix=0; var noRecenter=false; if(arguments.length<2){ this.visible=false; this.domObj.style.top='-10000px'; this.domObj.style.left='-10000px'; aPixPos=this.kaMap.currentTool.adjustPixPosition( parseInt(x) , parseInt(y) ); var geoCoords=this.kaMap.pixToGeo( aPixPos[0],aPixPos[1]); this.coordX=geoCoords[0]; this.coordY=geoCoords[1]; if(this.image)this.image.style.top='-100000px'; if(this.image)this.image.style.left='-100000px'; } else { x=parseInt(arguments[0]); y=parseInt(arguments[1]); this.visible=true; aPixPos=this.kaMap.currentTool.adjustPixPosition( parseInt(x) , parseInt(y) ); var geoCoords=this.kaMap.pixToGeo( aPixPos[0],aPixPos[1]); this.coordX=geoCoords[0]; this.coordY=geoCoords[1]; this.domObj.style.top=y-10+'px'; this.domObj.style.left=x-(getObjectWidth(this.domObj)/2)+'px'; if(this.image)this.image.style.top=(y+this.image.offsetY)+'px'; if(this.image)this.image.style.left=(x+this.image.offsetX)+'px'; if((arguments[2])&&arguments[2]==true)noRecenter=true; if(!noRecenter)this.recenter(this.domObj); } }; kaToolTip.prototype.adjustPosition=function(x,y){ var ny=parseInt(this.domObj.style.top)+y;var nx=parseInt(this.domObj.style.left)+x; this.domObj.style.top=ny+'px'; this.domObj.style.left=nx+'px'; if(this.image)this.image.style.top=(parseInt(this.image.style.top)+y)+'px'; if(this.image)this.image.style.left=(parseInt(this.image.style.left)+x)+'px'; }; kaToolTip.prototype.recenter=function(tip){ var tipWidth=getObjectWidth(tip); var tipHeight=getObjectHeight(tip); var tipTop=parseInt(tip.style.top); var tipLeft=parseInt(tip.style.left); var viewportWheight=tip.toolTip.kaMap.viewportHeight; var viewportWidth=tip.toolTip.kaMap.viewportWidth; var topSlide=1; var leftSlide=1; if((tipTop+tipHeight)>viewportWheight) topSlide=(tipTop+tipHeight)-viewportWheight; if((tipLeft+tipWidth)>viewportWidth) leftSlide=(tipLeft+tipWidth)-viewportWidth; if(tipLeft<0) leftSlide=tipLeft-20; if(tipTop<0) topSlide=tipTop-20; if(topSlide!=1 || leftSlide!=1){ tip.toolTip.kaMap.slideBy(-(leftSlide+10), -(topSlide+10)); tip.toolTip.adjustPosition(-(leftSlide+10), -(topSlide+10)); } }; kaToolTip.prototype.extentChanged=function(){ var pixPos=this.kaMap.geoToPix(this.coordX,this.coordY); var nPixPos=this.kaMap.currentTool.adjustPixPosition( pixPos[0]*(-1), pixPos[1]*(-1) ); var newX=nPixPos[0]; var newY=nPixPos[1]; if(this.visible)this.move(newX,newY,true);}; function encodeMyHtml(string) { encodedHtml=escape(string); encodedHtml=encodedHtml.replace("/","%2F"); encodedHtml=encodedHtml.replace(/\?/g,"%3F"); encodedHtml=encodedHtml.replace(/=/g,"%3D"); encodedHtml=encodedHtml.replace(/&/g,"%26"); encodedHtml=encodedHtml.replace(/@/g,"%40"); return encodedHtml;}; function urlDecode(sz){ return unescape(sz).replace(/\+/g," ");};