
/** 
 * Allgemeine LGC Funktionen
 */
LGC = {
	
	/**
	 * Spezi0lfunktionen für die Maps
	 */	
	maps: {		
		
		//Hier werden die Daten temporär abgelegt
		gmarkers:		[], 
		htmls:			[],
		iterator:		0,		
		sidebar:		null,
		labels: 		{},

		//der Map Container
		canvas: 		null,
		//Das GMap2 Objekt
		map: 			null,
		//Die Übersichtskarte rechts im Eck
		overmap:		null,
		
		//Standardwerte falls es keine Marker gibt
		defaults: {
			zoomLvl: 	11,
			lat:		47.2634,
			lng:		12.7459
		}, 
		
		//Schnalzt ein UL Element in die Sidebar rein damit die Liste mit <li>'s gefüttert werden kann
		createSidebar: function(container) {			
			this.sidebar = document.getElementById(container) || null; 
			
			if(this.sidebar) {
								
				var expandButtonContainer = document.createElement("div"); 
								
				var expandButtonA = document.createElement("a");
				expandButtonA.innerHTML = this.labels.showList;
				expandButtonA.className = "expand";				
				expandButtonA.onclick = function() {
					LGC.maps.expandSidebar();	
				};
								
				expandButtonContainer.appendChild(expandButtonA);				
				this.sidebar.appendChild(expandButtonContainer); 
												
				var list = document.createElement("ul"); 
				list.style.display = "none";
				
				this.sidebar.appendChild(list);	
				this.sidebar.style.display = "none";				
			}
		},
		
		expandSidebar: function() {
			
			var sidebar = this.getSidebar();
			
			if(sidebar.style.display == "none") {

				sidebar.style.display = "";
				
				//Höhe der Sidebar fixieren damit der IE6 die Scrollbar anzeigt (overflow...)
				if(sidebar.childNodes.length > 24)
					sidebar.parentNode.style.height = (parseInt(document.getElementById(this.canvas).style.height) - 50) + "px";
			
			} else {
				sidebar.style.display = "none";
				sidebar.parentNode.style.height = "auto";
			}

		},
		
		//Macht die Sidebar sichtbar
		showSidebar: function(container) {	
			this.sidebar = document.getElementById(container) || null; 
			if(this.sidebar) {
				this.sidebar.style.display = "block";								
			}
		},
		
		//liefert die Sidebar Liste
		getSidebar: function() {
			return (this.sidebar).getElementsByTagName("ul")[0];
		},				
	 
		//zeigt ein Infowindow an		
		showItem: function(i){
			
			var marker = this.gmarkers[i];
			var map = this.map;
			var container = document.getElementById(this.canvas);
			
			var point = marker.getLatLng();
			var markerPos = map.fromLatLngToContainerPixel(point);
			
			var containerWidth; 

			if(container.innerWidth)
            	containerWidth = container.innerWidth;		
			else		
           		containerWidth = container.clientWidth;
			
			if(markerPos.x > (containerWidth / 2)) {							
				var panX = parseInt(((markerPos.x - (containerWidth / 2)) + 60)) *-1;
				map.panBy(new GSize(panX, 0));
				var tmp = this.htmls[i];
				setTimeout(function() {
					marker.openInfoWindowHtml(tmp);				
				}, 500);
			} else {
				marker.openInfoWindowHtml(this.htmls[i]);				
			}
			/*			
			var links = this.getSidebar().getElementsByTagName("a"); 
			for(var j = 0; j < links.length; j++) {					
				links[j].className = links[j].className.replace(/active/gi, ""); 
			}
			//den aktuellen active setzen
			links[i].className += " active";	
			*/
		},
		
		//ladet das google Script
		loadScript: function(url, callback) {
			
			if(typeof GMap2 == "undefined") {
				var script = document.createElement("script");
				script.type = "text/javascript";
				script.src = url;
				
				if(callback)
					script.src += "&callback="+ callback;
													
				document.body.appendChild(script);
			}
						
			return;
		},
		
		//Erstellt einen Marker
		createMarker: function(point, name, html, type) {					

			type = type || "hotel";
			
			//Wir wollen unseren eigenen LGC Marker haben ;>
			var giaIcon = new GIcon();
			var iconPath = "/fileadmin/templates/img/layout/map/markers/"; 
			switch(type) {				
				case "club": 
					giaIcon.image = iconPath + "club.png";
					giaIcon.iconSize = new GSize(40, 40);
					giaIcon.infoWindowAnchor = new GPoint(20, 20);
					giaIcon.iconAnchor = new GPoint(20, 20);
				break;						
			}
													
			//var markerOptions = { icon: giaIcon };
			//var markerOptions = { };
			var markerOptions = giaIcon;
								
			var marker = new GMarker(point, markerOptions);

			var cnt = this.iterator;
			GEvent.addListener(marker, "click", function(){
				//marker.openInfoWindowHtml(html);
				LGC.maps.showItem(cnt);
			});
			
			this.gmarkers[this.iterator] = marker;
			this.htmls[this.iterator] = html;
			
			//Listenelemenete für die Listendatrstellung der Hotels erstellen
			/*
			var text = document.createTextNode(name);
			var a = document.createElement("a"); 
						
			a.appendChild(text); 
											
			a.onclick = function() {				
				LGC.maps.showItem(cnt);
			};
			
			a.href = 'javascript:void(0)'; //damit beim 6er ie der hover geht
						
			var li = document.createElement("li"); 
			li.appendChild(a);
			var sidebar = this.getSidebar();
			sidebar.appendChild(li);
			*/			
			this.iterator++;
			
			return marker;
		},
		
		//Erstellt die Map
		createMap: function(opts) {
			
			this.canvas = opts.canvas;
			this.labels = opts.labels; 
			
			var map;
			
			this.map = map = new GMap2(document.getElementById(this.canvas), {size: new GSize(opts.size[0], opts.size[1])});
						
			map.addControl(new GLargeMapControl());
			map.addControl(new GMapTypeControl());			
			map.setCenter(new GLatLng(0, 0), 0);
			map.enableScrollWheelZoom();
			
			if (opts.showOverview) {
				var overlayControl = new GOverviewMapControl(new GSize(200, 150));
				map.addControl(overlayControl);
			}			
			this.highlightRegion();
			
			if(opts.markers.length > 0) {				
				/*
				this.createSidebar(opts.sidebar);
				
				if(opts.markers.length > 1)				
					this.showSidebar(opts.sidebar);
				*/
				var bounds = new GLatLngBounds();
				
				for(var i = 0; i < opts.markers.length; i++) {
					var marker = opts.markers[i];
					var point = new GLatLng(marker.lat, marker.lng);
					var marker = this.createMarker(point, marker.title, marker.description, marker.type);
					
					map.addOverlay(marker);
					//clusterer.AddMarker(marker, marker.title);			
					
					bounds.extend(point);
				}
			
				//Wenns nur einer ist öffnen wir diesen gleich			
				if(
					opts.markers.length == 1 ||
					opts.markers[0].type != opts.markers[1].type						
				) {
					this.showItem(0);			
					map.setZoom(this.defaults.zoomLvl);
				} else {
					map.setZoom(map.getBoundsZoomLevel(bounds));
				}			
	
				map.setCenter(bounds.getCenter());
							
			} else {
				//Keine Marker da
				map.setCenter(new GLatLng(this.defaults.lat, this.defaults.lng), 7);
			}

			return;
		},
		
		highlightRegion: function() {
			var regionHighlight = new GPolygon.fromEncoded({
				polylines: [{
					points: "?_eiuU_}qyN??`ynf_@~|qyN??aynf_@",
					levels: "PPPPP",
					color: "#000000",
					opacity: 0,
					weight: 0,
					numLevels: 18,
					zoomFactor: 2
				}, { 
					points: "o}bjHuqpzAp`l@ilbEy\\?dl@uq@lkBi~D`wAghHnXgsCr@czCuLgsG|Dcv@h]g~AdAirBhNibEcXcsD~Uo}Bxj@ykDeAiXwfAo|AvD_h@nx@_eApSso@kLqm@abAu`CadAu~@}n@geAycBiyAewBypAsRudB`WgjDkUywCilA{iBxOgx@r{AmtC`UchBbu@q{ArOgmAi@aeAcm@evAzZ{mBdj@ikArbBkcAb_B~Q|e@rSvs@su@~I{a@aq@knA{S}~@tJivBr^m\\pVaeAjCsg@tYmMzi@ah@zL{p@sH}aBjp@miAmC}c@qUou@_YeqCxEyuB{OyfBcBiiClBiEwAi{@pNeWvi@iYn|@eaApdAlG~n@d\\hl@qq@hiBgThkBf[~y@l@hk@yj@bNyoBrw@jGte@|{@toBkJrz@~Hj_@mHv_ByjApa@^tZeNncCzu@rd@bvBpW~TziAtU|Sx|AhOrZjpA|KpVrdAd~@b|@`Uho@d]`TdTqDts@bu@fj@v@x}CseAhwArHhm@|WtcAjlAhv@pIbmBun@lLyt@XqyAfjA{s@bZaj@fVkaBzl@uh@nm@tFlq@~}@~wA_i@j\\}r@b~AklAjIejCd\\ua@dk@yClrBtFxjAyWtbBqhAfnCmbAra@gQ|wAmUnbA{cD`kA_gB`b@m~Axg@}~@vbCqnAh{@qTdLca@jVygBfPwDpvAbiAtcAxd@bf@iSpXqKzX|a@dTe@v\\un@t^aBdjAls@dn@qGnK{h@OgfA_c@{|Ana@qlAvIouAjjAaaBfLeXnq@be@tiC`{G~aAr}@vb@otBph@{@n}@rzAd{@h_@`c@`V`cAmhBtqAf_A`jAeLzoAngAbm@ziCfLhq@bVfrAx@lkCtJrWd^lD~gBiyElk@k^||@nTb_CycCfjA``Cr{Asr@|eC}G~_DsMzz@kXp`AgzAnoAhhSr[dmFlc@faFsBdfCdC~~@mg@de@ugCpNG~b@xx@jo@fCb]|q@`hAtkAzj@h^z_@hB|qAgEj~GgH`jBszAv}@{bBjvAyzA`bAyr@~cAqMncAuJz`Ea_@fjAmu@p_AeHrj@fFd}@qYjq@?x^lq@tvAeZ`~@jTt`AwDd`ArGh}@dwAfkBrTac@|jA_b@`dAlv@nAtGEpbBrVzo@fg@r{BtaAdmBtq@pP`Ir]qJza@i_At~@fAxm@`U`RjnAbQLqIpp@tkAKlGh]dYzZkOlDwy@jd@geBzG}gBzUg`Bhf@_n@lH_s@wZarAB}b@b\\wj@da@_}Afx@u~BtF}JzSyq@SqqAdM}z@aw@}wDh@gzAjd@caAb{@c_@j_@wr@hqAePrhAql@|e@uE|n@`n@`\\oh@dLmcArzAk}AvSom@vg@}Mni@dg@vm@~IvbAvqAnb@~cAuDh{A|Uj|@bh@hGlt@gj@zp@ky@~i@aAtmAdeAfxB~|Dbv@pn@dR~pAz`@zgAt@`x@~~@pfAhDdgAtK`d@cF`zEffBh~B{Xlb@aPp|@aWoE}b@rc@wLhsCxK|a@bt@f[~p@a^JkGbrAsAtnA{Tll@bg@dGliAzNz[hVmIlo@u{@lYqnAxt@ur@znBwd@xb@k_@ltCgmAzZ|o@tsBzm@zVdi@rFzuAf]~}Brg@wm@~r@tTvjBxUfOlSrArfAb`@h[nlBmo@tTyd@rEmtA`x@g|Ap}@}u@vu@bxApd@nWrm@sQmEypFuKidCnl@ow@b{@__@nWnZzd@roBrv@vc@lRzl@`]d_@lb@~fB`[bLfj@{f@zcA}B`i@clBnJk`B`Wmy@~_@_@vn@bsAlNzeDzk@nkClnApx@tKc[wMevAlFmeA~sA{jDj`@eiA|XyBtb@xa@~BzeBdPv~AyS`pByWtj@tg@tqBgQzw@__@~i@i@r}@hOdtAsH`xAs[jaAfHlqAdYtxBuI`qBfT~eA_[xr@kp@zp@|Fvm@vfBhr@j|@~c@jnAwNdx@jc@dKttCfXdm@lb@_DnFde@tWdXbMxc@`R~{BdkDp~C|ShKff@~uA`bBn_Bdp@pw@zmBt_FcHdn@~vAxzCh{@h]vBbtBxZpu@sRhVxIluAv]bwAoG`cAlVzUfo@jI~a@wNlg@mk@nv@fi@`aAwCheA~]~dAo^v~@zNnqBn@~cDguCvpCkgD``AeNl~Bz`@wz@hdDu~AffCtFn~BcKjwA{y@lnBigBrpE{]l_CmHd_C`@~xCdZxpCflAxrCzr@vmDaZ~jBE~mAvN`iAeGfdBqi@reByPb{AlMzfAr{@pVzRraArh@ztA`Nfv@eClgAoHdWgVrI`l@lrErf@zq@xYhvAzo@oCzfAkm@h_Bt`AzuAreDzQn]jRpx@yOfbAt`@lfCgTt`@sbB~}@k|@uCdH~}@_LbqAkvAbwBra@toGS`hCjAdu@y[btAdFNx@hoBq@`tAxPr~@rh@znAzSv~EqQvpAi@jwBicAprBPbmBsTlbCle@pdCqZbu@rApzAfs@njB~@`Xsn@naB|RznDvDJjs@jhBvG~d@hh@no@d}@pr@bWxUjU`OdfBtpAeb@tYmwBjh@kXxvAbYpmAzt@|sCr|@eCdF`k@_`@|iCu@xt@~_@fvAjs@|PpcBdnAbw@joA~j@vf@jtAsKhSpc@dbAhAvjAlo@jiATn`@~Yfx@zvDhDl{@_Phg@qGt{AlNxu@gW~j@n^nl@u[|p@tNro@z^``@FgGjy@zHdh@lw@rlA|b@rLrVwEjqAbQrNjr@dBtSbYda@ldBKf|Cz[twAkClr@tWtc@v_@jfBlg@pb@`j@sBb_Bew@lxArhAxr@kJx]txByUdm@uhAnWsaD|cCy~@~oAjf@tgAvDH`_@noAbFbs@q`A~mCvDHu^xlBig@vz@__@{_@ie@df@qDdl@lr@fxHdAlaC|f@xlBgEx|BcTdg@mh@`~C{Art@hbArsELhf@mq@rdAkDnkElj@|iE{p@~m@o{@hhAgnCxyB}~@zvC_DtuAsc@hvCwFlqAllAnfDDvr@qg@voAeHhUc_ApkBohBv}G_KlqCwCxkElSxcFli@|qC`EdqB}{@zcD{LdnB_K`|EkEhbDkZrjCsa@hpAeRpfAwr@zlD_LloC~i@~~@e@|x@er@vt@a\\`}AnN|vCmZztAkw@x]gOfYdl@zlD_D|_@jRliBm\\l|DeMv`Awj@|l@eh@dfCe@`{@np@|]rDjCm@dtCtDDlaAruBvMhq@eWfsCeGdvEh[h}AXd`@iq@r`Bmx@`mDglBdfEyd@~vJk]viBjMjpAxQlcDxAhzA}Up{A{JbrEeWdqAGzlBmZ~kB{DzeEcFGfTpmBfS|qDyQnpBcj@hNumA|DaRr_@mPxvB{dAfxAo\\fhDLpeAdpAv{BfAtl@ynA`xAyr@jbCuFbrCbOlrA`EdrAsl@ncBmEzv@bV`_BrIxsDpLjw@wI|z@_n@tgBqt@vu@ib@fsAtFnfEup@h}AuRb`BYrgAoIjj@qm@thA_q@r~Bco@hyAem@ri@wpA|n@s_EhtAawAjrAaf@l{DlAbxD{r@ri@ee@ig@mTM__B|S_kCoqCkc@`eAmnCht@g`@`j@axAhq@gI|[uLbtAXr_Ar{AzqD_f@dn@ox@lc@@iGweA|nA_Rtp@oKvyBvDBoc@`zAogAye@c^eg@@iGg_AmFgaAhz@g}@~aBmMlO{rBvOetCriAos@sg@i~@auBgEkcBcRueBuTaeCcjA_}@udA}e@}fAsbB}\\uA{|@xk@u]neAK~l@wi@trCfK``Arg@pwApL`wAzi@`iDoKf|BlKpu@vvAtbB`KreB{M`lApHty@l~@tlBcJlyC~@hzBcFCfl@l`Afi@fuAaBh^bRx`CjnBrwE`@v_Ahp@flBbo@rfAdJxf@pm@|gBfAfcBjBt}CxVtpAluAneC`@xaA_Ofy@yzBdqDoC`q@jNt{@fDniBqCp}@c{A~`DiSraAd_@z{Ctj@|{ChgAlkChGv_AsqC|yGoPvqB~c@dm@d_At^fo@fvBt}@|}@ba@ry@x\\lnAErvAeSp_A}aB`{CgZn}@j@h^xUpb@Ah^_Vp}@jGvxAfa@ju@rAh~Bjo@xhCbFh^zAjGdMbq@bPbjArDjpAfWflAsQhgB`d@rvDfWd\\zU~~~~~~BjzAgEbd@hw@bPblAlTx~Dhu@vQvv@hy@p_CmGl^pMnlC|}BpmAxUraB{Q~z@iEha@|WjsAvvC`eAj_Af~BxmAdn@nh@o[l}@bg@`mBi@`iBsXzn@iQ~uDdInuBth@rvCDbrAkv@peDsUruBjP`rAmGfy@wUpd@s`Abm@}Rh^lFbkBpTh_Aa@|dBoNhrAwUdZqh@{]owBavCqo@jA}Rl`@}VfgBuz@vmB{L~{Bcu@rw@oe@dViv@dvBcCth@zh@~lBvFjaDtW`rArx@fwBdgAt`DbB|p@cPtKyb@iOyKrKa@dpAtW~qA|@|bBo\\daByc@ffAuV|q@o_AvOkzAnJsfAyg@yuBcc@yJ_aAw{@a@ebAaQigApzBaWnw@_F|n@uH|eAsf@pnAsK|l@mP_Iq`AvVueC~mD}En`@hYt~Afb@~xC~b@nn@|sCjy@dt@pv@b\\dvAr^pWhmAue@jz@rlBi@nK{InpA_p@lkCzGhb@n{@t~@AiG|jAxV@hGhg@`h@AiGpsCuIxe@p[^jfCdUtdBhcB`zEzVp}BOnqBrItgA_fB|xCy@pqB{Vlq@g{AneAs}Av{B{WreBcA`jAsj@vfA}`@hg@Ox|AwI~cAdOtp@ye@vxBwk@z_BkKfo@eFDkYphAH~Wmf@`v@{_@mBeoA{Mww@xe@elBay@guAqw@{fAxdBkn@_Wui@tPoEry@~_AbhEiu@t_Cec@tyAwDBqx@bxAuMj}AvBbjAyTr_BeJloCcFDwlAlzHaG`~Cb^f|AcWb_CqAhPi{@wRk~@ei@}aAscBwe@uNudCtr@a~@cPktCds@eErlAeuAphAa`@f`Bz@vf@eThPej@_Y_bAbGcgAos@}\\~C{xA`{Bm_@f]orAaq@aa@vPswCzwCsdAiyAkvBccAcc@{e@iIg`@}d@ieAwx@cv@wl@eFwvAku@wcCiuBqTgO}MuAaJiwC_Gc|AmTs]eMaIyW_N}ZjToo@thAiWr^_iA{TmcCr_@}s@kLcm@uc@qt@j_AiAnq@aKtdA_z@rvAe@`TfVbb@fBp`@qc@jr@}{@nh@gp@j_A_h@|e@gkArmA_oD~qAaSsBjX}lCxw@ukCbWymFeIy_GgI}kCi\\}{DsE{eA_cCe}@k_BofAe~@qe@uq@up@qXmrBnMeoBhj@sxApgAk`@jfArCzk@tr@b^}VpBqkEhvA}tBcfAmsBoE{lAnR_r@||@wvAmFi\\kc@_hAbDk~@vOoi@uu@cj@qWib@`Tgc@tkDuDzsA_uAnv@wLpm@c_AgFwoDrPofBtDgAl~A_XAmG`_BstB}Bc{BzH_PbsAeMbk@wRxe@`b@x{@xbBbRx_AphCguBho@g[pcC{^pAai@iSqf@}|@yz@}Dm^`p@kqBqHotBye@ab@}xAvDgH}rAcLsd@vj@egA}@idAcHwnAxOce@p_@gc@po@nDncBbkAht@`{@|kBbz@~f@wA`o@_cApe@wAbp@rgA|t@tjC`m@pp@bd@wAll@qe@kNikCqVyxAfH{cB_lAitD{t@esC{JefAop@sdCyP_nBsa@ew@q~Bk`Amx@sp@_`AuqBwcAya@yr@g{@yg@ooCqZijAa]iMciAzRcg@gb@oiBynC{Qou@id@}n@{UjA}~@deAoiC}Iwi@zZmm@tyBmeBpaAeZw@ofD{jA_nCsk@si@d_@@lGah@t|@gu@zCgZqOsMc~@_@ovDrXiRlx@n{@~\\v@|y@t_A~OaP|wAefEnc@{}BrE_`BkH}oDvEamAmM{f@cnCcvA{[{nAwG_g@v]elDkBo}BdKcnDtuAekBr~@kaEjD}rBzRkk@|aAw`A|HcTpNcz@_EihB}y@gtCuD~~~~~~BgI}tBtD?uh@qcClD{xC`Wy{Azz@_iAbZ{MvXj\\nd@rsEpQdXvjAtf@hh@eg@bCkbA{Nq{AvHkeDtXoo@ly@}MrjAo`A|xCizEj^sIry@zSAsKha@fZ?lGvl@~U`d@ei@jTuu@Agm@qQmfAhTa{BgFasA}A_cDbFqbEwD_fBcZgm@k|@eCm^_qAkr@msEqXmiDy_@_g@|Ai_Ci@ijB~Ro^vNyOtgAnwAnmAxu@l^mIuAszCn@{nAui@g}Bw}@s\\qy@|@oe@ag@yH}vBca@i`Aw}@ii@_Pyu@jFurBr[ak@_Zc|@hFaqAeM}d@lZahBnMiwAwmAllA_oAhMhQtnBoTlq@ia@fGsl@u\\s_@ksAabCakBar@oyBld@_fBpSciEtD@oAgfBca@ez@pF}tBcGq_C{VsjBcy@coBozAtYwqA{V}fDovBke@at@NcuBuUw\\~o@}eB_C_x@wBkyBmKsuA@{pHeOajDJi~@x]sxCjNivD}E}b@ke@qTw}@kJeMgTaAmyB}d@ubB}e@u{CnCqoFkE{lBhIim@ib@mv@_QooAhBsdAbz@elA_\\g`CxJgm@uLqqAxs@ekD}Ks_D`[utBcl@g{C}s@izGybCtl@ieAnc@}hC`{A{r@jl@}tAra@iFwz@yn@krAuMioBgm@}|AitBibCu]qgAJeg@~l@y]nwDtpBbsAbI`j@oW`Yod@`Hss@asAmcDk]ayFx[gcDza@o{@tFus@uPyqAop@}uDyCmoAbUkfA|{AwMtdEmxD@qI~x@}oA~y@yg@tWkd@VqbAuDCyaAotCq@ylBxNoaCoUc]kuCaqAip@iy@ag@uiBiEybAp\\wrA`Auq@sjAiuBxDiwBnQehBtDDrR{pARgyCbRyj@dm@ye@_LgzAoYkp@`q@{Ct_AzjAro@_FnhAoo@xDeEbQgfApLgq@t`B}qCbS}HzRjmBdwCxnCrb@fDdg@qLtzB}aDjPwxBcJowBzT}]EpI`dAu`@zZyr@jd@{sBzyAq_A~_AorCzk@ofCznAoqDlAe`Auc@q[voAsmCjBo^wo@mlAmz@ub@cSyqAqYsa@c_AsImcBd[qrAvn@ey@aVqlBorB_L~FoQztAmu@xIib@mWx@{pBoY{e@{w@sMu~AZki@yYwl@auAgaAcv@kbArOqfCzpAi`Clq@g{CrwEue@dcBjE~q@zr@vtC|[rcAc`@npHEtK}nAt}Aq\\jn@of@kHe`BaxD}]s]q`AkEye@|Rg[cUktA{oBkgEywCiiAgvAuyAs}@uZhb@o}@n`AasFrnDukAb`A{qAv_BoW~Lo^bB}j@oQkMbInAhT~Wbh@mB`e@erAvWqR|}@mJ|{AqAbiAwZnh@seAhk@_iCpq@{{@zHgq@zZ{ElSsrApeD_y@j`Aa}BbkFec@pz@ea@dp@m~@|a@ypCno@iY_Okd@kp@or@BgWq[dA}`A`f@iz@xAgX}lC_jA_`@_r@wKsoAgF_q@_JwFeYeQsl@c\\eC}t@sWcSmb@oEig@wn@oQ}ZwnAk`@ac@{gAd@gaBcZqmEpEysByX_kAquBonE_bAgpAgcAia@{NmV}Wqf@j@ap@iQe]ck@qzCwhAgzDvDg_FcGmqAshAmzDuXctCpSquJaIoo@irBsmHaiAmvCk{AocCccAoy@okBw{Ea`AwlBckD{k@ckD{rByTrDik@|T{YzP{p@ti@yz@u\\euCccBmS{P_r@cHmeAkSe`@`CmbA|o@en@yXyf@fQca@vi@si@zP_e@sJsViz@m[ajAob@wbB_Lk{Aw^}aAsgA{FqG}|Arg@omAz_@al@||Ai`Cfj@o`BmBcd@}v@sm@eFim@nK}}@f|@iuAbWs`AvN}hCb\\k]zdAuf@hSiZzO_uAdbBaqEEu_AqVub@om@cLwi@o}Au\\kE{s@lSog@ig@gp@`GwV{H{GoQbImWjn@mV~Fob@ovAeyAqXi}A}`@ks@qjAsEm`@t\\kd@`@aWgZqZi}@yj@g_@owAiEs\\e]eu@`Qsd@vq@wiAoRkt@fDkaAh\\qs@sFsv@qZqc@r`@y^`C{^|}AweA_{@{a@_rA_e@xJit@qQmn@v@q|@gzAkm@cd@dB{}AdPyaAx{@wmCh}D_cGr^oVrPy}Ave@kUfXspCuEc\\tI}`BbP{i@~m@yOleA_xAj[kPd_@qt@dH}~AdMoRbp@gZho@fF~\\pl@aIbvApL`w@`kA~uAvPeG|v@wuAnDgg@yKcl@rPsZpP_Epx@~g@vx@gfAxBcc@}Ngh@fv@eJmAsrDzo@g@jL_|Amk@ekBjJusAyB{fArRanAl@q_AoHo\\rFuzA|a@afChFy`A~g@wjApBy^sUgcAXmjAjl@sv@jVeo@zaA_kAbL{VfLswAvaBse@qC}y@w|@}qAejBayAqW}z@vCiZnj@wZy\\gbAe_@c`@{dA~v@_VToYg_@lDe`DlNmc@k]wz@{i@c_AgdC{tA}c@yDqdAdfAcRyL{GqO}MmgCplA{qAtIeq@pS_Zna@_@|g@{r@cPg~@lD{b@fZah@w@q`B~s@coAjM}g@g\\y_@q`AkgDwu@_mApWa~@|_C_x@_Doq@_Ygy@Zi_@b^{`@bbCibAoKuxDlDiv@kVaa@eVtA_~AakAiaAvVilAmVyx@tD}ZaJe[tKaN~\\gdCmj@aq@yi@yd@xEktAieAc[}n@qSugAuMmNwD}mA}a@}gAoq@oc@_f@iw@_TkaAkoAte@i_@uHw{@mt@mWFm_@n^eSqQ}QjB{d@}yAvPoaA_K}r@na@iz@f@uc@sQanAf@ew@lH_^pc@aHBu{@nS}lCjPonAva@k|@|FcjBrCspAqh@utB_KrEcV}Oqi@hKy\\nt@gJ`iAySbcAkMfRou@Qad@sVih@vMqeCsrAog@qNme@_~@so@vu@{cBrCsSeK]yl@wqAqFqZcb@}QhB{f@eWgoAxOs{B~zAqb@aj@ytAh`@cz@sOy_BnFq]}LqZeb@gEs^cVsc@ya@{UmQqMsn@jUyMmLiAy`Aqa@k~Aj\\}aAtEer@{IkgBdTm`@pl@tD`d@mNeEgr@~JqeBw]qcA_@yj@nQac@HihCnWa_Bf^eM`^rFjV~r@pSmpA~m@sL~]o\\heAj@~q@ysA~Fuo@wMa`@wa@ka@s\\__AiO{vA~[sqEaW}{@k\\zF}PuHyFu\\shAgs@_~@ra@we@}R~c@ydAjaAqg@vEo^_J_~@`QqaAse@qf@r@wcClI{rBdaBafCvHeeAvo@}fA`\\slAp@oaCfYah@~@yXo_@q}@`i@}Uvc@y{Cv`@qYdpAuY~_@mb@xdA}kHnq@qmBuI}gCtCkoBx|@mfAnKsvBn`@cz@drAkgBrPgg@zb@wa@cQwbCxQugAd[g~E}y@ixAwkAm_ApKumEyCsm@lLmy@{IgmAxXwr@hU{Gp^xt@rLiGlQk^tVu~Ae@ml@vo@}{@`TiaB|h@kS{VcnBhUgYnDs^x_ArOp_@yoA{{@_\\rT{dA`Ykc@pn@lq@|b@HpiB_oE|z@{nAzHk`@",
					levels: "PGIFHFLEHEGEGHEIFIFFKEHFGFJGFHLFFGIFHGJGHFIFJFHIGEGEHFGIEEGFFDDIEFPFHGHFIGIGHFIFGFKHHFGEHHGFHFFJFGIFGLHFHGFGJGIGFIGJEGHGCFJFFFHFIEKFFIAHFGGHGKFGIFGDMGGJHIGCIIHGJDAGFLGHGHJJHCIGNBEGDJGHJGFGFJDEKEEGJEHFHFFFKHGFEJIGHJDGEHGIFGGNFFHEFGJFFEGFHFHFECCIFGHGKGGFIGIFGFGMFGIGFJGEGJFFKFFGHEFHIFGGIHGMEGFIGFJFFGIGFKGIFEIHEIFGLHFHFJHGJEIFKFGGFFGKGIFFGJGGHKFFHDGMGEHFHIFGEGFHEGFHFGKDGGJHGGFHEIEGGEJGHGIGGGGFMFHFHGGHGFJFIGPGHFHCIGEKGGIGFFHFIHGEEIGFHJFIFHJDEHGKFGIFHJGCGFECHEGIFHGFIGGHEHHMEFFHCDCJFHJCHIFEGKFGFIHGGFGKFHFGGGGGJGFGGHFHFFJGFFGFJGHHGINGGFJEFEIFEHGHKFFGHGFFIHGGHKEFHJFEIGICEGKEHFFJHECFHECIGGIGHGHFIFFHHGFJGBHGEFIFGEKFFJFHDEHFFFFFEHEJHEIFGJFHGIGIFEHFHFEIFGFHHGEEMFEIFGGJGHKHEHJHGFKEFHJFFFIFEFLGEGJFDIGKGHECIEGKFHFFNFFEHFHHFFHIEEIEGEHFGFFEH?HFKFHHFEEIFIEGFJGKFHFGEJFHEHFGEJGGFECAFEFHGLGCIGEIFJHFGHDGJHFEIHMFGHFFIFGFIFFIFGFKHFHKFFGHEGKFFHFDIHFFHFFGLCIEJFHHEKEGAGEIFHFMDGIHFGIHJAFFJGFGEHFGJFHGFELHFHGIFHEHEFHEEEEFGKCGHEIHGKGICGEIFEFGEHGGBPFGGIGKIGHFFJGFGJEHIFLGGFEFHFGFEJBHEBLFDIGHFJGDGHEFHJFECHFMFGIDFDKFEIGNGJHGGIHJHGFIEHEHEGKHGJHFIBHEIFKEIFGJEHKGFFIGIGIEIGDFLGHFGIGGIFFIFMFGHEGFFKGFGGHGDIFGIFFLFHGIHJEFIFEGIGMIGFFJEFKEEIGHDJGEIHGHFGDJGEGEGHFLFIGHFKHFFGJGHIFFGEFIFKEGGDEEJGHFFGJDGDJGGICMHFGHHGGJGHFFGEKGIHGKGGHKGEFIGEGHJGIGLGHGCEFFEHFIGFFIGEJEFHFIGHFFHGGIFLEGEGKFFHGFMGIIHFKGGHFFIDFKHHFEFFLGEHFJFHFJFFHHFEEGHFHFLGHFJDAGFJIHFKIFIFFHEGHIFHGGFOGGFJGFIGIFHJGGIFHFGHLFIJHFDHCIELGFHFIEGFFLDGEGHEFFJEFHHFDGIFFFJDFFECJFIEGNGHFIHGAI?CGGFGDGIGFFGJGGFBJGEFHEHGIFIFLFHEKHIDFDIEDGDJFHGFFGKBCFFHLHF?FIGFIFFGIEFHFGLFGIFGGFJFGGIGFKGFIEHGGJGHGFGFIFGJGHFFHFNFGIFGGIFEFHGFHFFKGIGFHKFHFFHFIHFHKHHHHEFFEEHEFFHFJEEGEHLGGIFHGIGHFIFHEJHGHELHGFGGIGFGHEJFFJHIFEIFIENFFIGFFHFHGGJFHEFHFFGJHFHFGFLHFGGEEIGHEFFGHGLFFHFFEJFGHEGIHHFHGFFJGIHGFKFGEHCGFIFMFGIGFIFGFHFFJFHIHFGHKGEEGHGJFGFHGKGIFFHGEIGGFIGFGIGHFFIGHEIGGGFEKGEIFIEFFKHGHEIFHGGHIFHHIHIHGIFEP",
		            color: "#000000",
		            opacity: 0,
		            weight: 0,
		            numLevels: 18,
		            zoomFactor: 2
		        }],
				fill: true,
				color: "#000000",
				opacity: 0.2,
				outline: true
			});
			
			this.map.addOverlay(regionHighlight);
			//this.overmap.addOverlay(regionHighlight);
		}
		
	},
	
	div: {
				
		getWindowSize: function() {
			
			var w = 0;
			var h = 0;
		
			//IE
			if(!window.innerWidth) {
				//strict mode
				if(!(document.documentElement.clientWidth == 0)) {
					w = document.documentElement.clientWidth;
					h = document.documentElement.clientHeight;
				}
				//quirks mode
				else {
					w = document.body.clientWidth;
					h = document.body.clientHeight;
				}
			}
			//w3c
			else {
				w = window.innerWidth;
				h = window.innerHeight;
			}
			
			return {
				width:w,
				height:h
			};

		}
	}	
};
