﻿var map={};
var geocoder;
var initX = 0;
var initY = 0;
var zoomLevel = 8;
var lastCenteredLat;
var lastCenteredLng;
var mapProvincies;
var mapMarkers;
var streetviewpanorama;
var streetviewclient;
var gOverlays;
var provincieOverlay;

function setGroundOverlay(image, y1, x1, y2, x2) {
    var pointSW = new GLatLng(y1, x1);
    var pointNE = new GLatLng(y2, x2);
    var groundOverlay = new ProjectedOverlay(image, new GLatLngBounds(pointSW, pointNE),60);
    map.addOverlay(groundOverlay);
    groundOverlay.show(); gOverlays.push(groundOverlay);
}

function setProvincies() {
    mapProvincies = [];
    var pts = 
    ["cstdIwafe@w]hhCsxCha@c{AjhCk|@e~ErfAybHrfAucAsfAihCsfAeeIa{AywQu]}zKqfAogJ_{Au_Nu]mnMbr@{bH}g@scAjxCu_N|cCtcAvkEewBhwDcP~pAioFnS{{DxoBscAvfAkhCh{A}zKo|@e~E`qAtcA`qA?l{AbP`yCmcWfbEucAlzBnr@bh@ucAz]dwBtcDtcAt{Anr@t{A?dh@khCdmE?vyMytAn|KhoFjmQhkSyr@dwBufBha@a^hoFsvG}lEa}@b~Es{LdsOyeVrpd@iIl`GbgA~sHgh@ja@u{AxtAy|@xtA}eBd~EydCb~E{eB?qSz{DqShoFhqAnnMrcDha@hxDbwBfoCtcAtzB~eB}]~lEgh@tjDw{AbwBqSngJw{A~lEcoCePozB?mzBsjDyeBkhC}fAcP}fA~eBkr@or@ch@ucA{fA_fBwwDia@fIewBi{Aor@ir@oyC_h@or@qeBdPgr@hoFmeBtcA",
    "cdvcIuls\\gqA~eB{nC_{KywDivIwwD_{Kq|@ioFnSioFp|@ha@pShoFreBtjDbqAhvIbqAia@bh@rjDr|@~eBdqA?bh@~lE?~eBt|@~lE",
    "mtsdIsjm^{yB_fBknCujD}g@idPieB_iRsbDirVj|@sqGxpAhhCj|@tqGheB~eB?r_NjnChoF|g@~sHnStqGnS~eB|g@rjD~pAtjD_qA~lE",
    "etceIgsia@geB?ypAihCj|@sxJmSu_NoSidP?s_N|g@?zg@hhCmStjDvpAhvInS~sH?h}LxpArjDlSjoF}g@rjDgeB~eB|g@ucA",
    "uhdeIcejd@wpA?ypAha@gkEsjDmSuqG{g@sqGkSuxJ?sjDjS_mEtpArcA?tjDvpA~lEf|@rqGzg@joF?|lEj|@tcAdeB~lE",
    "ir`cIwvoe@gh@tjDw{AbwBqSngJw{A~lEcoCePozB?mzBsjDyeBkhC}fAcP}fA~eBkr@or@ch@ucA{fA_fBwwDia@fIewBi{Aor@ir@oyC_h@or@qeBdPgr@hoFfr@xtAn|@?nSdwBhIhoFiI~eBhItcAq|@nr@_qAhhCemD_fBsoBha@c{AtjDeIngJxyBbo\\gInyCrxChdPv]d~EtfA~eBfdCrxJbcDx~TreBnyCp|@nr@ndCn`GvvE~zK~vEhhCvdCnr@hxDrcA~eBtcAfh@tcAx|@ePtyCxbHhIjhCdfLvl[hh@cPgfLiyYiIoyC{|@ytAegAe~EbfBor@dgAeP{|@tcAsSxtArvFihCzzB_fBhgAxtA`wFcwB`}@bP`|AztAd{B{tAvr@nr@jIz{DkIrqGzqA?jh@_mEjIcPzqA?d}@{{D~pB}lEmh@ujD`qBy~TkIytA}qAkhC?oyCtS}lEjIeeIzr@ybH|qAoyCj|AucAoh@y{DvS_fBvSscAb^{{Do{BsqGe}@or@?oyC{r@_fBdpCytAc^e~Ezr@or@_rAy{De}@?wSihCkIka@g`I}oU_nEeeItSybHzpB_mE{pBybHs`HuqGqgKtxJuwEeP{|@xiKoqAor@iIdP",
    "enj`Iom|g@qeDxwQzgAhvIt|AhoFddFcPmInyCas@x{Df^nr@{SnyCh^x{DjItcAirAlr@krAnyCirAtjDirA?f^nyCxStcAm}@ha@f^tcAu|Ab~Eg^hhC?~eBzgAnr@g^jhC_s@bPcjKxbH}r@_fBe^y{D{yDc~EyyD|sHsyDz{DuwFypN_nEeeItSybHzpB_mE{pBybHs`HuqGqgKtxJuwEeP{|@xiKoqAor@rSy{DuzB_fBgoCucAixDcwBscDia@iqAonMpSioFpS{{DzeB?xdCc~E|eBe~Ex|@ytAt{AytAfh@ka@cgA_tHhIm`GxeVspd@r{LesO`}@c~ErvG|lE`^ioFtfBia@xr@ewBf}@scAdpCxtAlc`@xtAh^~eBo}@d~Erh@ka@sh@~lErh@tjDmIb~Eas@ja@lIrjDg^ztAxSrcAkInyCxS~eBg^d~ExSnyCzSxtAn}@dwB`s@~eBg{Cha@",
    "iuz}Hcebj@sqDhoFq|C?mgCcwBwpEujDwfDcPc|Cnr@?|lEcgCnr@?ja@_oG~lEj^nr@lqCxtAj^dwBarBhdP{h@ha@nIr_Ng{DnnMoeEia@yoErjDzSioFs}@or@lI_mE{Sia@o{ChoFszDia@y|ArjDqqBcPqeDxwQzgAhvIt|AhoFddFcPmInyCas@x{Df^nr@{SnyCh^x{DjItcAirAlr@krAnyCirAtjDirA?f^nyCxStcAm}@ha@f^tcAu|Ab~Eg^hhC?~eBzgAnr@g^jhC_s@bPcjKxbH}r@_fBe^y{D{yDc~EyyD|sHsyDz{DpgAb~EjIja@vShhCd}@?~qAx{D{r@nr@b^d~EepCxtAzr@~eB?nyCd}@nr@n{BrqGc^z{DwSrcAwS~eBnh@x{D|eCcwBjIioFfqB_mE|r@{{DlxFsjD~fBewBrh@?xgAdwBfrAnr@th@e~E`s@ihCt|AujDp}@jhCf^xtAmItjD|gArjDySdwBjIb~Ebs@tjD~gAxtA~gA?lI~sHvh@ioFhgBujDjgBscAlgBka@ds@?i^ytAlgBy{DpzE_fBghAy{Dv}@{tAkoFceI`}A_mEhqC_fB|S_mElqCdPbrBoyCr|Bha@hhAia@z}@~eBjs@?z}@~lEls@ucAdpFdwBnhA{tA|}@or@nIytA`gDucAprBy{DdrC??sjDaT{{D`TsqGaT_tH`i@or@_Te~Ec~@ia@_T_{Kx{Eo`Gp^ytAxgCytAoIybH`i@khCss@ybHxrB_fBoI_tHhhBihCzrBxtAf~@mgJ?e~Ek_Wcny@",
    "ebu~Hgeg^rmAor@x|Bia@|h@ha@vNia@|h@ihC}h@_mE|S}pCns@_tHdxAc~E|fDmkHzkEsxJarCirV_eHihCawCflAqlCmdEl^w_C}S_fBolCwfFykDghNnIu_CofDuxJaxIsqGyfCor@cfDsGwh@?kpDxbHlIzbH}vBl|Scs@flAix@glArNia@?ox`@i{C}vXklBewBsh@ztAySbwBsNdwBmc@pGym@ucAsh@a{@s|AqGym@ePmc@l}AatEpnBobAl}AgDflAkpCjkH?fsDkvB|pC?zi@sgAvXgvBldEum@`bDeDtcAzr@ha@zX`iGphLh}LviRdPjlBabDzjDmdE~gAdwBzm@hoFvh@ldEtqB`bDtfCrqGrNldE~kCv_CgDxtAafD_fBq}@oyC{SqGu`DflAwkJrxJcaCd~E{aBfaKlIsGzaBceIvpCaiGzvIogJn{CglAjx@v_CzzDhhCxh@k}Afs@?t{CrqGeD|i@tqKlq]x}@jhCvgBdzGrc@ja@h}Ab~E",
    "{t{}Hwd~_@a~@i}Los@ogJ_oIioFms@or@o^ewBk}AucA{}@or@}h@}lEi}A_mEsxIutWk^?urAor@{h@cwBgwJy{DmIucAlgBy{DpzE_fBghAy{Dv}@{tAkoFceI`}A_mEhqC_fB|S_mElqCdPbrBoyCr|Bha@hhAia@z}@~eBjs@?z}@~lEls@ucAdpFdwBnhA{tA|}@or@nIytA`gDucAprBy{DdrC??sjDaT{{D`TsqGaT_tH`i@or@_Te~Ec~@ia@_T_{Kx{Eo`Gp^ytAxgCytAoIybH`i@khCss@ybHxrB_fBoI_tHhhBihCzrBxtAf~@mgJ?e~En}Bha@di@ztAdi@or@nhBlgJlrDnr@?c~E`~AioF~gDeeIzs@_fBlhC?`iAx{DbsCztAnsBhhCzhBtqGosBb~EvsAngJb~B~zKy^ha@psBngJxsAbwBeiAtjDji@xtAeiAtjDdTdwBl~AujD`~CxtAssBxiK{}DziKli@|eBeTngJysAjhCq~@or@w^hoFv^bwBeTtcAp~@~eBji@e~ExsAia@xsAsjDrsBxtA_t@beIg~BtqGxhChhC?hhCr~@dwBeTx{Dr~@~eB`t@?`t@ha@ni@ihCj~Bor@sIcwBjiAnr@hiA?liAb~Ez^dP{^~lE{sBbwBct@tcArInyCxsB?sInyCdt@~zK{sBrjDct@x{DysB~lEgT~eBciB~eBo~AnnMzsAtjDo~A|sHh~BnyCrI~lEat@tjDhsEbeI|hDja@t~AxbHsIhhCjiAn`Gw~@dwBrIrxJsInyCct@ha@ciCia@_tAn`Gni@rjDm~BnyCy^tjDq~AtcA?lgJusBoyC_t@cwBs~@??uxJysAdPeTujDk~AsjD{|GuqGm}Dc~Et^e~Ee~A_fB?or@d~Ac~E?ewB|s@cwByhBeeIqIsqG_iAuqG?_fBl~@_mEhi@ioFd~A_fBbTeeIe~A}eB_iArcAisB~eBqsAdwBesBka@ys@jhCk}Cnr@ohBePmgEnr@pI~eBxhAeP|}AtcAh~@bwB?jhCmsAhhCksAewBg~@cPisA{tAyhAja@aTor@mrChoF{gCdwB{|CbPcsAd~E`i@ha@c~@nr@sgCia@aT?",
    "}}~}H}gx_@_i@x{DoIjhCq^~eBoIx{DrqDx{D`sAdPfrCrjDtrBdPfhBbwBoInnMthAnnMuhAdPaTbPghBja@shA?c~@{{DchBnr@qs@~eB_i@?ahBztAqs@_mE_i@?oIha@~h@nyCo^ha@o}Anr@nhAztA~h@lyCn^dwB_TnyCoInr@`hB?`sAnr@?xbH`sAnyCnIia@b~@bwBbsAtjDbsAor@b~@ewBd~@oyCdsAy{Dr^ia@p^~eBhhBha@aT~eBaThhCf~@jhCd~@ka@r^jhCz}A_mEdi@ujD~rBy{DlsAor@zhAn`Gh~@rjDt^dPxs@xtAxs@?t^dPxs@ia@cT_mEnsA{tA?~lEh}Dc~ErrEihCsIka@qIy{D}s@or@ssAytAqIewBdTucAaiA}eBcTewBzs@ewBaiA_fBrsAihC`iAha@bsCmuPwgFo`Gt^e~Ee~A_fB?or@d~Ac~E?ewB|s@cwByhBeeIqIsqG_iAuqG?_fBl~@_mEhi@ioFd~A_fBbTeeIe~A}eB_iArcAisB~eBqsAdwBesBka@ys@jhCk}Cnr@ohBePmgEnr@pI~eBxhAeP|}AtcAh~@bwB?jhCmsAhhCksAewBg~@cPisA{tAyhAja@aTor@mrChoF{gCdwB{|CbPcsAd~E`i@ha@c~@nr@sgCia@aT?ahBx{D",
    "ceh{Hy|p]eT|lEgTtqGz^xtAzsAd~EnsD?|sAnyC`iDxtAfiCdPz^nyCet@rxJx~@rmT{^?rIztAz^ePniA~sHbtAnnMctAxpNhiD~sHliCb~Ez~AdeI?beIdtB~sH~~A?htCihC`_CoyC~iHhhCntA_fBttCia@ziAdP|iB_mEljE?`uDelLztBytAlTy{Di_A_tHg_A?kuFn`G{tC{tAot@~eBejEmuPuIogJnt@_fBh_ChhCr_EucA}iAy{Df_AclL?oyC{tCor@a_@oyCajCujDwi@ia@qtBujDwi@sjDb_AePtIsjDlt@or@vi@ewBrtBePd_AtcA|tDdPyi@~lE?nr@jTbwBttAscAwI_{KlTewBmToyCpt@sjD?{tAojFclLutBeP_jCihCuIor@ziAor@`_@_mEr_FihCfuFhhCtuGybHvjEytAvI{{D}i@c~Ev_CioFh`Eha@|i@ia@g_@khCvt@c~EoTo`G}tAor@ljBi}L{_CihCoTujD{tA_fBwIy{Df`EioFnTka@tkGcP_uAuxJaaHia@}jEuqGm`Gswg@euDceIo`LngJy_JnyCajKnr@`_AogJ~~@_fB__Ai}Lti@koFui@ihCuiDha@uiBztA}~AePoiCtqGgt@rjDg~I?et@xtAiTd~EgTdwBusDxtAqi@nyC?~eBdt@~zK{sBrjDct@x{DysB~lEgT~eBciB~eBo~AnnMzsAtjDo~A|sHh~BnyCrI~lEat@tjDhsEbeI|hDja@t~AxbHsIhhCjiAn`Gw~@dwBrIrxJsInyCct@ha@ciCia@_tAn`Gni@rjDm~BnyCy^tjDq~AtcA",
    "g|{zH_dvb@iiAytAct@oyCdiBkhC`tA_fBbt@or@{^}eBbt@?sIe~E`tAo`Gdt@ucAfTztAbiFka@btBs_NjiF~eBftAdPti@khCriBcwBtiBujDltBscAziDkoFrtD?f_BytAbkMhhC?ihCttAnr@v_DytAdjBn`Grt@ucA?nyC|`IxbHpkGxbHn_Aia@n_AxtAjvF?pTihC{jCyiKn_A_fBz_Bx{DjjAsjDf_@rcAjjAtjDzt@b~Er_AztAzt@hhCj`C~lEvInr@zjBb~EfuAztAb`Bnr@~t@|eBovDz{D|jBhvIb`B_fB|jB?~t@ytA`u@or@lkCha@rTor@muAioF~t@oyC?ivIdaDxtA`u@dP~uBeeIbu@oyChbFdPzjAor@dvBdwBn_@|sHzjAdPvuAor@nkBnyCfu@tcAjvB{{DzuAia@hu@n`Ge`A~eBzIx{Db`AtcAgu@ha@xIhhC_kAtcAd`Ax{Ds_@tcAlj@~lEu`BxtAlj@tcAqkBnr@jj@rjDv`BtcA~jA~eBvTrjDs_@jhCulDujDqkBdPyuAePwuAd~Eeu@bwBmkBnr@{kCia@_`AihCsTewBqvCia@o_@_fBn_@{tAyjAcPalDihCxIePi`BrjDckB}eBg`BoyCkaEucA_u@nr@ukDor@pTewBsuBytAyjBtcAqToyCguArcA_`BytAoTytA}_BoyCujBxiKbuA~eBkjAdPaj@bP_j@?cuAz{Dp_Ab~Eyt@nyCwItjDo_AbPyjCtfQgjAuxJaaHia@}jEuqGm`Gswg@euDceIo`LngJy_JnyCajKnr@`_AogJ~~@_fB__Ai}Lti@koFui@ihCuiDha@uiBztA}~AePoiCtqGgt@rjDg~I?et@xtAiTd~EgTdwBusDxtAqi@nyC",
    "ahlbIwty[idDdwBaaGytAinD_fBwhIyiKe_HkvIdpBsjD~mDoyCbgAdPp_Hha@`eChhCnpBnyC||@xtAhIdwBroCtjDhfB|zK",
    "o}fbI_{x[oNsqGrSujDsSor@zw@wXlfBflAtjCglAjyDawMlh@ia@`^}pClh@wXpNytAe}@or@}w@dPeDrcAibAnr@sm@abDavBewBqm@k}AeDytAuSglAuS{{DpN{i@{fLyeX~]ePzfLf}W`^wX~jNelL|qMb{@xSsnBh}@qGhwAoyC~XucA?_fBiwAu_CdDo`G|X{{D~r@w_CblBrGxgAucA~X{i@ph@tXlc@dwBrN}i@jIdPsNtcAlc@xtAjIxtAduDb{@|gAfsDxm@ha@eDvXf^nyChx@xtAdDldEtNpGi^ePmc@b{@mIrcAubAjhC`s@bwBeDfsDhx@dwBvwH{tA`hAcPzkCewBdqCglA`}AihCprArcA|Sl}At}@dPhs@c{@lIztA?vX|SflAnx@sGan@{i@tN}i@v}@ha@l^scAwNka@vrAcwBpqCj}AuN~eBpx@rnBlwBpnBjhAvXm^xtAtc@v_Cdn@cPjhAmdEls@w_Ctc@pGfDgsDoImyCtmAsuEtmA{pC|rA{{D}}@qcLo^{i@~h@or@|rA_mEfDePvbB_fBoIvfFfeHtqGhcAvXlmBvXjgD`bDwNnnMlxAh}Li}Bnr@qwCzi@kxAwXkcAnr@yx@_fBqhAnr@fDja@o}Azi@iY_fB_i@{pCos@ha@vc@~eBwN`{@vc@flAorB?oIflAnhAztAoIflA~}@bwBvNpuEhcA?fn@l}Ahn@ha@~StcAwNflAgD`{@n^dwB`i@`{@ps@tcAfYxtA?`iGjcArnBhn@t_CwNrnBe}BeP?nyChn@|pCiYflAjcA`bD~Sb~EgYrnB?nyCq^zi@in@qGoIor@ufE}i@ybBw_Co}Aia@}gBm}Agn@dwBvx@~lE}gBpcLmqMceIm{D_fBmfDzi@aaDabDwyUquEyeX}pCqcFucAmiK{wFuiJ}pCwzHcPg`Cka@",
    "qoi{Huoc]t~@deIbiBrjDrIdlL`iCb~Ej~CtjDn~B~sHtIx{Dbt@beIbtAn`Gz^hhCu~An|Ss~BxiKct@nyCjiA_fBfThoFkiAz{Dct@nyCqi@{{D}sAjvIm~Bha@ssChoFgT~lEmi@n`GaiBxbH{hCtjDisChhCqsBoyCo~@ha@pIdeIurEihC}}Bha@whBoyCl~@uqGd~AybHn~@_mEphCo`Gw^scA{rDbeIohCngJgi@ucAapLywQcpJypNqeIclLiyKyiKakQi}LhoCqlNohAuaBzp@_mEdmB~eBzp@dPrVpG|zAnyCxsEha@ba@j_AxNhCda@mTrVcyAoIm}Ap^w_CgDy}Co{@w}CuVor@pIeuCyc@c{@{Fia@bLihClmBfC|p@k_Aqs@or@iD{i@kQqpAuk@glAuV_]xN{tAj_DuaBb~@ewBd~@oyCdsAy{Dr^ia@p^~eBhhBha@aT~eBaThhCf~@jhCd~@ka@r^jhCz}A_mEdi@ujD~rBy{DlsAor@zhAn`Gh~@rjDt^dPxs@xtAxs@?t^dPxs@ia@cT_mEnsA{tA?~lEh}Dc~ErrEihCsIka@qIy{D}s@or@ssAytAqIewBdTucAaiA}eBcTewBzs@ewBaiA_fBrsAihC`iAha@bsCmuPii@ka@z|GtqGj~ArjDdTtjDxsAeP?txJr~@?~s@bwBtsBnyCmi@tcA",
    "uoh{HyssVmi@ybHo~AogJrI{wFdTePrInr@jnBquEx}FutWni@{pChnD_tHjyAewBvnA_mEliAquE?gsDrIgsDhTdPuIdeIliBujDpi@pGddAv_Cfd@d~ErYfsDet@hoF}n@nr@}^`bDgd@xtAsI|pCiD?|Nnr@iDdPsYka@qi@dPctAjkHiD?hDbbD}N~lEcdAnr@cdAzi@w~@b{@atA`{@}Na{@wcCzi@iiA~eB}NdPed@xtA?l}AqIzpCzN|i@|NdwBz^xtAsItcA?zi@jy@qGz^~eB?ha@nnBxtAz^b{@sIha@gTa{@ysB{tAq~Aja@e~Cm}A",
    "qsqyHya~SaoCivI_oDghN~NkkHhd@or@tyAc{@jdCwfF|iEmyCc_AujDmtAucAkd@_fB?k}AtYy{DuYglA?gsDvi@glAaOsuEjD}eB_OglArIsnBboAscAhDglA`o@eeIptBkkHldAsGb_A?h_CihCd_A_fB|iA_mE`_@_fBqdAioFnd@e~EkDytAmd@_fBwYa{@rdBucAxi@qGpt@`{@f_A{i@tdB?~iA}i@vIldEooB`{@od@rjDwY|i@pt@`iGyYjhCmd@z~Iqt@v_CqdAtcAmTsG{iAd~Ek_Cb~E`_@l}Axi@tjDhDnr@b_@bP`_@qGtjG|pCtI`{@aOpnBb_@~eBb_@|wFc_@~eBioAzpCc_@pGmTv_C`OjhCudBflAuIzi@m_Cz{Dwi@sG{y@glApdAvfFld@v_Cld@?jDtjD?nyCtIrcAe_AhhCkDtcAwi@l}AejEjdEmdAztA{yBzwFe_Cnr@",
    "sszyHmzfUkdAy{DqyCor@{nAewBgdB_fBy~AcPiDwXnyApGniBflAfdAv_CtYdPpiCzi@?k}Ati@khC_o@gaKiT{pCrIqnBjDm}A?oyCriDgsD~~@a{@ti@zpCti@nr@tYdP`_@wXhDha@iTrGkDha@kdA|pC~^fsDiT|lE?l}AviBtqGti@`{@uIha@kdAwXa_Anr@__Al}Aao@`bDsiBnr@",
    "ecjzH}iuU?|i@w~Bx{D_tBdPonD_mEiDm}Ayn@kkH|N_tHadA?qi@glArIwX|^|i@`dAvX?cbD}N_mE`dAmyCgToyChDe~Ezn@}i@zsCabDt~Ba{@}NabDlyA}wFsIqnBqi@mkH}^{i@|NsGrYja@hTjdEzn@hhC|n@or@ri@|i@rYvX|n@~eBz~@l}AtI`{@iTha@ri@tcAhd@`bDri@l}AtI~eB}~ArjDsy@flA?nr@~N|pC_Oj}A}^|i@{nB?{n@vX}~@v_CgT`bDqi@b{@}n@vXgTj}AfTztAfd@zi@nyA~lEfd@puE",
    "_i{yHe|iW__@w_C?ucAsy@w_CiDytAid@glA_o@ha@iDk}AhTglAht@glA~n@ewB__@_tH__@ia@__@qGhTjdEsIjhCit@ha@id@ha@sItcA?bP}~@cP{nAw_CniBqcL?ucAhTkdEjDwX|n@dsDft@tcAryA|i@tyAc{@hdAscA~~@qnBjtAor@b_BpGjtA|i@vy@rcAvi@`{@wi@bbD_O`{@uYflAuIl}AkT`{@jD`pJc_Anr@ui@nr@a_A`{@jDrGkThhCkt@pGuy@flAsIhhCkdBrG",
    "gelxHq|yXjfJvtLnkGxwQvt@`bD{YpGnTztAsd@rcAzdA|pCjDrcAbz@dPjDflAjo@ha@?tcAzYxtAko@nr@rd@nr@rd@?~i@dwBkDha@vInr@_j@ha@cz@scAsd@bPn_AjhCkDbwBvIflAnTflAg_@v_CnT?g_@ztAgkE?}i@ka@ko@dwBjDzi@}i@ztAg_@fsDvInr@oTrjDqd@dPvI`{@oTdPqd@bwBvIrnBkjB~sHd_@nr@rd@wX|i@nr@io@j}AxYnr@wI|i@pd@flAyYzi@nTflAv`Ga{@zYr_NoTrnBwt@vXe_@zi@jD|i@sd@nr@io@~eB{YflAut@ia@{tAxtAyYor@ooAflA_uBihCst@pGod@nr@i_A?ajA|i@{i@glAioA_tHlTka@od@qnB}y@kkHkTka@tIquEttAioFnd@_fBhDa{@~iAghNtdAucA`jAsjD?snB`OcwBfo@pGvIucAmoArG?oyCfo@ytA`OujDvIe~Eqd@ia@{i@_fBi_AsjDod@e~EooBm}AutAja@{i@c{@?cwBxYoyCzy@ytAroCsnBbOwfFheE}sHyY?ajAha@od@ha@go@or@fo@glAfo@scAwIor@wtAnr@od@pGkDewBjoA{i@sdA?e_@c{@jDqnB|y@}i@bzAcwB"
    ];
    var lvs = ["PIHKIHJGIGHCHJHHMIHKGIHIIJHFKLHHJIEGJIGOIMHIKJIKKHJCFHFIMDHKHFGKFHHMJEKCJHJFDIJHHGKIHP",
    "PJHFJHMHHHIIGIIFGP",
    "PGJHGINHHJIIFFHGIP",
    "PHJHCFMHHGHFHHIHIP",
    "PGIKFFHFMIHGEHIGP",
    "PHHHLEJCJHJFDIIHHGILIHIFFFKGJHKHNGIGHGHLGHBKGCHGHKGHOHHHGLFJGIGJIIGIKHFILHFIGMHIGIEFJIGIHEEJGHGJIHMHHEHHJHIMKIJIGP",
    "PJGJJGHGGBLHDHJEIHHFIHHKFNGHKHLGJHJILIJLIJGFHNHDJIFHFCKHKIINKIHGJIMHGHHHGHGHFGGJEHBJP",
    "PIJDJHKJHGLGHJGIILIKHHGKIIIMJGJJGHGGBKHDHJEIHHFIHHLFKGHKHLBFHHJHIJGHGJEEHPIHGJGJGGKHFMEGHIGIHHILHJGFIHIKIIKHILHIHJHHJIKFHHHINFGFHIHHKGHJGHJIJIJGLP",
    "PGHGJHGDJGDKMIKIGIHHHKHMCJJHHMHFJIOGDJGAHFJHHKGHIGHGJFHHMKJFLHCHGHHHLHJFKIHMEGIKJHIHMHGEFGGP",
    "PBKHGHDJHDJFHHKHIKIINHIIIKHIHHJIKFHHHIMFGFHIHHKGHJGHIILIJGLHHIIKHIAIPHGHKJFHHGJHHHKJLHIHIIIGGLIHHJKHJIHHKHGJHIJGIGLIEJIIGJHGGHJIHLIHIIJGHKHFIHJHIHHINGHIJIHIGLIGIGGJHGGIFHJINCGIIJGGKHHHJHKHGHHKHIIHJHEP",
    "PFFGKHGHHKHLEEGJJGHGJHLGIFIHBIDMGJIHGDKHEDFLHIDIIHKGHGLFIFHFNHHJJHKEIBHGHGHHJIIKIIKGGGJHGGJFHHNJCGIIJGGKHHHJHKHGHHKHIIHIHEIP",
    "PDIBKIIGKHHGIHGGIKEIHHLHFJJIGOIJHHLKHIIKLHKIJIGKIHFFHKHHGIKHJGEIKGGHGKIHGMHIJJHJGJJHLHHIIJIHHKEIMJIJIMJHLHIHGOHHJGJKHEIIJFJHGGHLIHIIHKIJGHLHFJHJHIHHP",
    "PGJDEIHHHJIIJLFKHFHHJHIJIHNIIIGHHLJHJIJLCGHFGGFIGHJJMHHFIKHHHJEJCLHJIJHIDKHMHHHIHHIHHJHHJHGHOJIGJEJHLGIIHJGGJIGJHHJIIIIIHGMIIEFIJIGGHMJIJIMJHLHIHGMHHJGJJHEIIP",
    "PJGKBJMIEKGBHHIP",
    "PGGJHIJGGGGLHIGJHJGEFGINHLBJLHHFJHIFJHHFMGHGHGFIIGGFGKFIGHFIHGLDIGHKHIHIDEHJGIIGGLIHHGIHMHDHIFIFEJGIFCGLJHEHOHLFHGIIGGJCKHGGIHLHGHIHGIGDGHCGHHFKIJGGHGIFGNGHHHGLHHLGIHJHIHHIGP",
    "PHIIGHJFHFLHDIIIDKJIIIEHJFJHJOIIKFDHHLGLEFDJHNIILGAHIHGFKGFGIDGGEJIHJGDGDKHHEDFMHIDIIHLGHGKFIFHFLHHJJHLEIBHGHGHHKIIHMIHIJIHGIP",
    "PGHKGHHDIFGIHENGJJGJCHKGFHEFEHGIEIFKDEEIHIDFKEGEFGEIHEHHGKGIHP",
    "PFKJFHHKGGJFGGHGFFFLHEHJEHIGDKHFHDKHGHGGOIHFIHFJHGHGKEEJFGJFGFKFGIGJHFIGKBHIDEHGKGFHIP",
    "PIHFHGLHGHEKGHDHCEJDMHEHIGFFIGEIFKGHHGHP",
    "PGIJKEHIHLGGIEHGFJEHJHIDGGNGGIIAGFIGGFFGKFIEFIGGIGHFGKFFHP",
    "PFGFHHJFHFIGKHFHEHDJHJGEDLHGKFGIGMGDJ@EEFHKEEIEHGHIP",
    "PIJHGGIGHHGHFHIGHFELHHJHGEGGJIGJGFHFFHGGFGGKGHIHGFGGJJGKFHGFEIHHHOIGGGKGGGFFLGBHDIGHEHHKIGGEJGDHJHHKFIGIIJFFIHDGJFJHIHGIFP"
    ];
    var ps = [
    new GLatLng(53.23892064, 6.59179688),
    new GLatLng(53.20767756, 5.74035645),
    new GLatLng(53.20767756, 5.74035645),
    new GLatLng(53.20767756, 5.74035645),
    new GLatLng(53.20767756, 5.74035645),
    new GLatLng(53.20767756, 5.74035645),
    new GLatLng(52.98337683, 6.56707764),
    new GLatLng(52.48445286, 6.41052246),
    new GLatLng(52.52457705, 5.52886963),
    new GLatLng(52.08625733, 5.94909668),
    new GLatLng(52.10144409, 5.13885498),
    new GLatLng(51.61460571, 5.23773193),
    new GLatLng(51.27909869, 5.94360352),
    new GLatLng(52.74626859, 4.85046387),
    new GLatLng(52.74626859, 4.85046387),
    new GLatLng(51.94595792, 4.44946289),
    new GLatLng(51.94595792, 4.44946289),
    new GLatLng(51.58389660, 3.86444092),
    new GLatLng(51.58389660, 3.86444092),
    new GLatLng(51.58389660, 3.86444092),
    new GLatLng(51.58389660, 3.86444092),
    new GLatLng(51.58389660, 3.86444092)
    ];
    var nm = ["Groningen", "Friesland", "Friesland", "Friesland", "Friesland", "Friesland", "Drenthe", "Overijssel", "Flevoland","Gelderland","Utrecht",
    "Noord-Brabant", "Limburg", "Noord-Holland","Noord-Holland", "Zuid-Holland", "Zuid-Holland", "Zeeland","Zeeland","Zeeland","Zeeland","Zeeland"];
    
    for (var p = 0; p < 22; p++) {
        var polygon = new GPolygon.fromEncoded({
            polylines: [{ points: pts[p],
            levels: lvs[p],
            color: "#FFFFFF",
            opacity: 0.0,
            weight: 2,
            numLevels: 18,
            zoomFactor: 2}],
            fill: true,
            color: "#FFFFFF",
            opacity: 0.0,
            outline: true
        });
        polygon.tooltip = nm[p];
        polygon.pt = ps[p];
        GEvent.addListener(polygon, "mouseover", function() {
        switch (this.tooltip) {
            case 'Groningen':gOverlays[0].show();break;
            case 'Friesland':gOverlays[1].show();break;
            case 'Drenthe':gOverlays[2].show();break;
            case 'Overijssel':gOverlays[3].show();break;
            case 'Flevoland':gOverlays[4].show();break;
            case 'Gelderland':gOverlays[5].show();break;
            case 'Utrecht':gOverlays[6].show();break;
            case 'Noord-Holland':gOverlays[7].show();break;
            case 'Zuid-Holland':gOverlays[8].show();break;
            case 'Zeeland':gOverlays[9].show();break;
            case 'Noord-Brabant':gOverlays[10].show();break;
            case 'Limburg':gOverlays[11].show();break; }
        var div = document.createElement('div');
        div.style.padding = '3px 5px';
        div.style.backgroundColor = '#FFFFFF';
        div.style.opacity = '0.9';
        div.style.width = '80px';
        div.style.filter = 'alpha(opacity=90)';
        div.style.fontSize = '80%';
        div.style.color = '#000';
        div.style.position = 'absolute';
        div.style.zIndex = '1000';
        var pixelPosX = map.fromLatLngToDivPixel(this.pt).x - 50;
        var pixelPosY = map.fromLatLngToDivPixel(this.pt).y;
        div.style.left = pixelPosX + 'px';
        div.style.top = pixelPosY + 'px';
        div.innerHTML = this.tooltip;
        map.getPane(G_MAP_FLOAT_PANE).appendChild(div);
        this._div = div;
        });
        GEvent.addListener(polygon, "mouseout", function() {
        switch (this.tooltip) {
            case 'Groningen': gOverlays[0].hide(); break;
            case 'Friesland': gOverlays[1].hide(); break;
            case 'Drenthe': gOverlays[2].hide(); break;
            case 'Overijssel': gOverlays[3].hide(); break;
            case 'Flevoland': gOverlays[4].hide(); break;
            case 'Gelderland': gOverlays[5].hide(); break;
            case 'Utrecht': gOverlays[6].hide(); break;
            case 'Noord-Holland': gOverlays[7].hide(); break;
            case 'Zuid-Holland': gOverlays[8].hide(); break;
            case 'Zeeland': gOverlays[9].hide(); break;
            case 'Noord-Brabant': gOverlays[10].hide(); break;
            case 'Limburg': gOverlays[11].hide(); break;}
        this._div.parentNode.removeChild(this._div);
        });
        mapProvincies.push(polygon);
        map.addOverlay(polygon);
        polygon=null;
    }
    for (var j = 1; j < 6; j++) {
        for (var m = 1; m < 6; m++) {
            if (m != j) {
                GEvent.bind(mapProvincies[j], "mouseover", mapProvincies[m], function() {gOverlays[1].show();});
                GEvent.bind(mapProvincies[j], "mouseout", mapProvincies[m], function() {gOverlays[1].hide();});
            }
        }
    }
    GEvent.bind(mapProvincies[13], "mouseover", mapProvincies[14], function() {gOverlays[7].show();});
    GEvent.bind(mapProvincies[13], "mouseout", mapProvincies[14], function() {gOverlays[7].hide();});
    GEvent.bind(mapProvincies[14], "mouseover", mapProvincies[13], function() {gOverlays[7].show();});
    GEvent.bind(mapProvincies[14], "mouseout", mapProvincies[13], function() {gOverlays[7].hide();});
    GEvent.bind(mapProvincies[15], "mouseover", mapProvincies[16], function() {gOverlays[8].show();});
    GEvent.bind(mapProvincies[15], "mouseout", mapProvincies[16], function() {gOverlays[8].hide();});
    GEvent.bind(mapProvincies[16], "mouseover", mapProvincies[15], function() {gOverlays[8].show();});
    GEvent.bind(mapProvincies[16], "mouseout", mapProvincies[15], function() {gOverlays[8].hide();});
    for (j = 17; j < 22; j++) {
        for (m = 17; m < 22; m++) {
            if (m != j) {
                GEvent.bind(mapProvincies[j], "mouseover", mapProvincies[m], function() {gOverlays[9].show();});
                GEvent.bind(mapProvincies[j], "mouseout", mapProvincies[m], function() {gOverlays[9].hide();});
            }
        }
    }
}

function InitMap(mapType) 
{
    //Initialiseren van de kaart
	if (GBrowserIsCompatible()) 
	{
		map=new GMap2(document.getElementById('map'), {logoPassive:true});
		geocoder = new GClientGeocoder();
		// SetMapView is created during the pageload
		if( typeof(SetMapView) != "undefined" ) 
		{
		    SetMapView(map);
		}
		else
		{
		    if (initX === 0 && initY === 0)
		    {
		        map.setCenter(new GLatLng(52.0998, 5.1196), 8, mapType);
		    }
		    else
		    {
		        //Centreer op meest recent bijgekomen object.
		        //initX,initY zijn al gezet in Home.ascx
		        map.setCenter(new GLatLng(initX, initY), zoomLevel, mapType);
		    }
		}
        map.enableContinuousZoom();
        map.enableDoubleClickZoom();	
		map.enableScrollWheelZoom();
        var topLeft = new GControlPosition(G_ANCHOR_TOP_LEFT, new GSize(20, 180)); 	    
	    map.addControl(new GLargeMapControl3D(), topLeft);
	    G_PHYSICAL_MAP.getMinimumResolution = function() {return 7;};
	    G_SATELLITE_MAP.getMinimumResolution = function() {return 7;};
	    G_NORMAL_MAP.getMinimumResolution = function() {return 7;};
	    mapMarkers = [];
	    mapProvincies = [];
	    gOverlays = [];
        var pointSW = new GLatLng(50.742, 3.35);
        var pointNE = new GLatLng(53.52, 7.24);
        provincieOverlay = new ProjectedOverlay("Pictures/Provincies/Provincies.gif", new GLatLngBounds(pointSW, pointNE),40);
        map.addOverlay(provincieOverlay);provincieOverlay.show();
        setGroundOverlay('Pictures/Provincies/Groningen.gif',52.845, 6.165,53.467, 7.235);
        setGroundOverlay('Pictures/Provincies/Friesland.gif',52.8, 4.845,53.518, 6.43);
        setGroundOverlay('Pictures/Provincies/Drenthe.gif', 52.616, 6.125, 53.2, 7.1);
        setGroundOverlay('Pictures/Provincies/Overijssel.gif', 52.115, 5.79, 52.916, 7.085);
        setGroundOverlay('Pictures/Provincies/Flevoland.gif', 52.25, 5.119, 52.85, 6.0);
        setGroundOverlay('Pictures/Provincies/Gelderland.gif', 51.732, 5.0, 52.524, 6.835);
        setGroundOverlay('Pictures/Provincies/Utrecht.gif', 51.925, 4.78, 52.308, 5.63);
        setGroundOverlay('Pictures/Provincies/Noord-Holland.gif', 52.115, 4.49, 53.19, 5.315);
        setGroundOverlay('Pictures/Provincies/Zuid-Holland.gif', 51.65, 3.84, 52.335, 5.22);
        setGroundOverlay('Pictures/Provincies/Zeeland.gif', 51.20, 3.36, 51.755, 4.28);
        setGroundOverlay('Pictures/Provincies/Noord-Brabant.gif', 51.215, 4.2, 51.84, 6.05);
        setGroundOverlay('Pictures/Provincies/Limburg.gif', 50.75, 5.56, 51.78, 6.245);
        setProvincies();
    }
}

function SaveInitialMapCentre(x,y,zoom)
{
    initX = x;
    initY = y;
    zoomLevel = zoom;
}

function ShowLoadingDiv(){

try{
    el = document.getElementById("lDiv");
    
    bW = document.body.clientWidth;
    bH = document.body.clientHeight;
    eW = el.clientWidth;
    eH = el.clientHeight;
    
    el.style.left = (bW/2) - (eW/2)+'px';
    el.style.top = (bH/2) - (eH/2)+'px';
    el.style.display = 'block';
    }
    catch(e){
        alert("er gaat iets fout in ShowLoadingDiv()");
    }
    
}
function HideLoadingDiv(){
    try{
    document.getElementById("lDiv").style.display = 'none';
    }
    catch(e){
        alert("er gaat iets fout in ShowLoadingDiv()");
    }
}

function showInitialItems() 
{
    ShowLoadingDiv();
    var bounds = map.getBounds();
    var southWest = bounds.getSouthWest();
    var northEast = bounds.getNorthEast();
    var rect = map.getSize(); 
    QLS.UI.Web.MapSrv.GetIntialAllObjects(southWest.lng(),
                                                 southWest.lat(), 
                                                 northEast.lng(), 
                                                 northEast.lat(), 
                                                 rect.width, 
                                                 rect.height,
                                                 8,
                                                 GetAll_CallBack);
    GEvent.addListener(map, 'moveend', HandleMoveend);
    bounds=null;
    southWest=null;
    northEast=null;
    rect=null;
}

function getQualisObjecten(whichType)
{
    setCheckboxes(true,false,false,false);
    ShowLoadingDiv();
    var bounds = map.getBounds();
    var southWest = bounds.getSouthWest();
    var northEast = bounds.getNorthEast();
    var rect = map.getSize(); 
    QLS.UI.Web.MapSrv.GetQualisObjecten(southWest.lng(),
                                        southWest.lat(), 
                                        northEast.lng(), 
                                        northEast.lat(), 
                                        rect.width, 
                                        rect.height,
                                        whichType,
                                        8,
                                        GetAll_CallBack);
    bounds=null;
    southWest=null;
    northEast=null;
    rect=null;
    }

function getQualisMakelaars(whichType)
{
    setCheckboxes(false,false,false,true);
    ShowLoadingDiv();
    var bounds = map.getBounds();
    var southWest = bounds.getSouthWest();
    var northEast = bounds.getNorthEast();
    var rect = map.getSize(); 
    QLS.UI.Web.MapSrv.GetQualisMakelaars(southWest.lng(),
                                        southWest.lat(), 
                                        northEast.lng(), 
                                        northEast.lat(), 
                                        rect.width, 
                                        rect.height,
                                        whichType,
                                        8,
                                        GetAll_CallBack);
    bounds=null;
    southWest=null;
    northEast=null;
    rect=null;
}

function getIcon(type)
{
    //creer icon. URL variabel
    var icon = new GIcon();
    icon.shadow='common/img/mapicons/iconShadow.png';
	    icon.iconSize=new GSize(16, 22);
        icon.iconAnchor=new GPoint(8, 22);
	switch (type){
        case '0':
		icon.image='common/img/mapicons/iconQualisObject.png';
        break;
        case '1':
		icon.image='common/img/mapicons/iconQualisMakelaar.png';
        break;
        case '2':
		icon.image='common/img/mapicons/iconNonQualisObject02.png';
        break;
        case '3':
		icon.image='common/img/mapicons/iconBeauty.png';
         break;
        case '4':
		icon.image='common/img/mapicons/iconGolf.png';
        break;
        case '5':
		icon.image='common/img/mapicons/iconHaven.png';
        break;
        case '6':
		icon.image='common/img/mapicons/iconRotary.png';
        break;
        case '7':
		icon.image='common/img/mapicons/iconSauna.png';
        break;
        case '8':
        icon.iconSize=new GSize(25, 32);
        icon.iconAnchor=new GPoint(12, 32);
        icon.image = 'common/img/mapicons/IconGroep.png';
	    icon.shadow= 'common/img/mapicons/iconGroupShadow.png';
        break;
    }
	return icon;
}

function zoomIn(marker)
{
    var zl = map.getZoom();
    if (zl <= 8) {zl = 9;}
    else {if (zl < 18) {zl=zl+2;}}
    map.setCenter(marker.getLatLng(), zl, map.getCurrentMapType());
    HandleMoveend();
}

function createMarkers(jsonMarkers,bWrite) 
{
	var marker;
	var jsonMarker;
	var attributes;
    var substrings =[];
    var info;
    var geom;
	var scr =[];
    if (jsonMarkers === null){
        HideLoadingDiv();
    return;}
    
    for (var n=0; n<mapMarkers.length; n++)
    {
        map.removeOverlay(mapMarkers[n]);
    }
    mapMarkers = [];
    
	for (var i=0; i<jsonMarkers.length; i++) 
	{
	    jsonMarker = jsonMarkers[i];
	    geom = jsonMarkers[i].Geom;
		info = jsonMarkers[i].Info;
		attributes = info[0].AttributeData;
		if (info[0].Url == '*' || info[0].Url == '#')
		{
		    marker = new LabeledMarker(new GLatLng(geom.Y, geom.X),
		    { icon: getIcon('8'), clickable: true, labelOffset: new GSize(-8, -20), labelText: info[0].Id });
		    GEvent.addListener(marker, 'click', function(){zoomIn(this, map);});
		}
		else {
		    marker=new GMarker(new GLatLng(geom.Y,geom.X),{ icon:getIcon(geom.SymbolURL)});
		    marker.id = info[0].Id;
		    marker.url = info[0].Url;
		    marker.tit = info[0].ToolTip;
		    substrings = attributes.split("|");
		    scr = substrings[0].split("=");
		    marker.pl = scr[1];
		    scr = substrings[1].split("=");
		    marker.prs = scr[1];
	        scr = substrings[2].split("=");
		    marker.typtxt = '';
		    marker.type = geom.SymbolURL;
	        GEvent.addListener(marker, 'mouseover', function(){ShowToolTip(this);});
	        GEvent.addListener(marker, 'mouseout', function(){HideToolTip();});
	        GEvent.addListener(marker, 'click', function() {ShowQualisObject(this, map);});
		}
        map.addOverlay(marker);
        mapMarkers.push(marker);
        marker = null;
	    jsonMarker=null;
        info = null;
        geom = null;
        substrings=null;
	    scr = null;
	    attributes=null;
	}
	jsonMarkers = null;
	switch (map.getZoom())
	{
	    case 7:
	    case 8:
	    case 9:
	        provincieOverlay.show();
	        for (var j=0; j<mapProvincies.length; j++)
	        {
	            mapProvincies[j].show();
	        }
	    break;
	    default:
	        for (j=0; j<mapProvincies.length; j++)
	        {
	            mapProvincies[j].hide();
	        }
 	        for (j=0; j<gOverlays.length; j++)
	        {
	            gOverlays[j].hide();
	        }
	        provincieOverlay.hide();
	    break;
	}

    HideLoadingDiv();
}

function HandleMoveend(){
    HideToolTip();
    ShowLoadingDiv();
    var bounds = map.getBounds();
    var southWest = bounds.getSouthWest();
    var northEast = bounds.getNorthEast();
    var rect = map.getSize(); 
    QLS.UI.Web.MapSrv.HandleMoveendEvent(southWest.lng(),
                                         southWest.lat(), 
                                         northEast.lng(), 
                                         northEast.lat(), 
                                         rect.width, 
                                         rect.height,
                                         document.getElementById('chkQualis').checked,
                                         document.getElementById('chkExtern').checked,
                                         document.getElementById('chkOmgeving').checked,
                                         document.getElementById('chkMakelaars').checked,
                                         map.getZoom(),
                                         GetAll_CallBack);
    bounds=null;
    southWest=null;
    northEast=null;
    rect=null;
}


function CenterMapOnObject(dLat, dLon, dZoomlevel)
{
map.setCenter(new GLatLng(dLat, dLon), dZoomlevel, map.getCurrentMapType());
lastCenteredLat = dLat;
lastCenteredLng=dLon;
}


function GetAll_CallBack(resall)
{createMarkers(resall);resall=null;}

function ShowToolTip(marker){
    document.getElementById("tooltip").style.display = 'block'; 
    marker.url = marker.url.replace("~/","");
    document.getElementById("tooltip").innerHTML = "<table><tr><td><div style=\"width:145px; height:84px; overflow: hidden;\"><img style=\"display: block;\" src=\""+marker.url+"\"/></div></td><td>"+marker.pl+"<br/><b>"+marker.tit+"</b><br/>"+marker.prs+"<br/>"+marker.typtxt+"</td></tr></table>";
	var point=map.getCurrentMapType().getProjection().fromLatLngToPixel(map.getBounds().getSouthWest(),map.getZoom());
	var offset=map.getCurrentMapType().getProjection().fromLatLngToPixel(marker.getPoint(),map.getZoom());
	var anchor=marker.getIcon().iconAnchor;
	var width=marker.getIcon().iconSize.width;
	var height=marker.getIcon().iconSize.height;
	var icon_y = -offset.y + point.y + anchor.y;
	var icon_x = offset.x - point.x - anchor.x;
    if (icon_x < (map.getSize().width/2)){  //icoon zit op de linker helft van de kaart
        xpos = offset.x - point.x - anchor.x + width;
    }else{                                  //icoon zit op de rechter helft van de kaart
    xpos = offset.x - point.x - anchor.x - document.getElementById("tooltip").clientWidth;
    }
    if(icon_y < (map.getSize().height/2)){  //icoon zit op de onderste helft van de kaart
    ypos = -offset.y + point.y +anchor.y;
    }else{                                  //icoon zit op de onderste helft van de kaart
    ypos = -offset.y + point.y +anchor.y - 132;
    }
    document.getElementById("tooltip").style.bottom =  ypos+'px';
    document.getElementById("tooltip").style.left = xpos+'px';
    document.getElementById("tooltip").style.height = 'auto';
}

function HideToolTip()
{
    document.getElementById("tooltip").innerHTML = "";
    document.getElementById("tooltip").style.height = '0px';
    document.getElementById("tooltip").style.display = 'none'; 
}

function ShowQualisObject(marker, map, hideList) 
{
HideToolTip();
ShowObjectDetail(marker.id,marker.type);};

function setCheckboxes(qualis, extern, omgeving, makelaars)
{
document.getElementById("chkQualis").checked = qualis;
document.getElementById("chkExtern").checked = extern;
document.getElementById("chkOmgeving").checked = omgeving;
document.getElementById("chkMakelaars").checked = makelaars;
}


// Streetview stuff
function showStreetview()
{
    var center = new GLatLng(lastCenteredLat, lastCenteredLng);
    streetviewclient = new GStreetviewClient( );
    streetviewpanorama = new GStreetviewPanorama( document.getElementById( 'streetView' ));
    streetviewpanorama.setLocationAndPOV( center );
    GEvent.addListener( streetviewpanorama, 'error', streetviewpanorama_error );
    streetviewclient.getNearestPanorama( center, streetviewclient_callback );
}
function streetviewclient_callback( streetviewdata )
{
    if ( streetviewdata.code == GStreetviewClient.ReturnValues.SUCCESS )
    {
        streetviewpanorama.setLocationAndPOV( streetviewdata.location.latlng );
    }
}

function streetviewpanorama_error( code )
{
    if ( code == GStreetviewPanorama.ErrorValues.FLASH_UNAVAILABLE )
    {
      alert( 'You need Flash player to view the panorama.' );
      return;
    }
}

function checkStreetview()
{
    var center = new GLatLng(lastCenteredLat, lastCenteredLng);
    streetviewclient = new GStreetviewClient( );
    streetviewpanorama = new GStreetviewPanorama( document.getElementById( 'streetView' ));
    streetviewpanorama.setLocationAndPOV( center );
    GEvent.addListener( streetviewpanorama, 'error', streetviewpanorama_error );
    streetviewclient.getNearestPanorama( center, streetviewclient2_callback );
}
 function streetviewclient2_callback( streetviewdata )
{
    var strvAvailable = document.getElementById('streetViewAvailable');
    var chkSV = document.getElementById('ucAanbodDetail_chkStreetview');
    var omgTab = document.getElementById('omgevingtab');
    if (strvAvailable === null || omgTab === null) {return;}
    if ( streetviewdata.code == GStreetviewClient.ReturnValues.SUCCESS && chkSV.checked == true)
    {
    strvAvailable.style.display='block';
    omgTab.style.display='block';
    }
    else 
    {
    strvAvailable.style.display='none';
    omgTab.style.display='none';
    }
}
/*
* LabeledMarker Class
*
* Copyright 2007 Mike Purvis (http://uwmike.com)
* 
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
* 
*       http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
* This class extends the Maps API's standard GMarker class with the ability
* to support markers with textual labels. Please see articles here:
*
*       http://googlemapsbook.com/2007/01/22/extending-gmarker/
*       http://googlemapsbook.com/2007/03/06/clickable-labeledmarker/
*/

/* Constructor */
function LabeledMarker(latlng, options){
    this.latlng = latlng;
    this.labelText = options.labelText || "";
    this.labelClass = options.labelClass || "markerLabel";
    this.labelOffset = options.labelOffset || new GSize(0, 0);
    
    this.clickable = options.clickable || true;
    
    if (options.draggable) {
        // This version of LabeledMarker doesn't support dragging.
        options.draggable = false;
    }
    
    GMarker.apply(this, arguments);
}
/* It's a limitation of JavaScript inheritance that we can't conveniently
   extend GMarker without having to run its constructor. In order for the
   constructor to run, it requires some dummy GLatLng. */
LabeledMarker.prototype = new GMarker(new GLatLng(0, 0));


// Creates the text div that goes over the marker.
LabeledMarker.prototype.initialize = function(map) {
        // Do the GMarker constructor first.
        GMarker.prototype.initialize.apply(this, arguments);
       var div = document.createElement("div");
        div.className = this.labelClass;
        div.innerHTML = this.labelText;
        div.style.position = "absolute";
        map.getPane(G_MAP_MARKER_PANE).appendChild(div);
       if (this.clickable) {
                // Pass through events fired on the text div to the marker.
                var eventPassthrus = ['click', 'dblclick', 'mousedown', 'mouseup', 'mouseover', 'mouseout'];
                for(var i = 0; i < eventPassthrus.length; i++) {
                        var name = eventPassthrus[i];
                        GEvent.addDomListener(div, name, newEventPassthru(this, name));
                }
              // Mouseover behaviour for the cursor.
                div.style.cursor = "pointer";
        }
        this.map = map;
        this.div = div;
}

function newEventPassthru(obj, event) {
        return function() { 
                GEvent.trigger(obj, event);
        };
}

// Redraw the rectangle based on the current projection and zoom level
LabeledMarker.prototype.redraw = function(force) {
        GMarker.prototype.redraw.apply(this, arguments);
        
        // We only need to do anything if the coordinate system has changed
        if (!force) return;
        
        // Calculate the DIV coordinates of two opposite corners of our bounds to
        // get the size and position of our rectangle
        var p = this.map.fromLatLngToDivPixel(this.latlng);
        var z = GOverlay.getZIndex(this.latlng.lat());
        
        // Now position our DIV based on the DIV coordinates of our bounds
        this.div.style.left = (p.x + this.labelOffset.width) + "px";
        this.div.style.top = (p.y + this.labelOffset.height) + "px";
        this.div.style.zIndex = z + 1; // in front of the marker
}

// Remove the main DIV from the map pane, destroy event handlers
LabeledMarker.prototype.remove = function() {
        GEvent.clearInstanceListeners(this.div);
        this.div.parentNode.removeChild(this.div);
        this.div.outerHTML = '';  /// fix against memory leak
        this.div = null;
        GMarker.prototype.remove.apply(this, arguments);
}
