var map;
var map2;

//var routeSoFar = "";
  var routeSoFar = "kxjaGzospLugDtu@~x@p~C`xBtkHn{@~hHfWj}Kl~@`pKnf@|nM}BbcJdd@hcDxGrlIbXlxKz_@p{Ixe@njJdN|kIpSdcHdxAzuCriBduFcd@vjHo^f}Etk@fkHlxAzgGxnBjfHkcBxfHk|@xkEm~Dh`Hry@deIs_Dz`IdYxsKmdCnpHooAflIq`@hiJwxAb}HdsA|qF_gG~zKmoI|eMgpF`pO}uClpMeuBr_S`hBnpWx`CnzK|gBh{F}oAvcIywAn`EexByk@qiAm_Bv|@ajCh}EzY|z@cvG~l@x|DnlAd|JoiGf_EgeB`aL{q@zyK}b@dtGeeBfnJybCjbH}xDphCscFzlEgiEnzDazBd_BwjDlfEyfEvaF_hFriGqxElsFisFphIorDl}GsbEvdGilCraJgiBzgKkdCrgFys@dfMpkApaHuy@jzHthDllIhkDvyJ_kLtfYswD|fF{l@~oIuhCnfM_vA|xHnyAjiGjCrxIr@|~GabBnkRglI|~Rq`CjlQ|dC`cUf`CtvR_RxsIcFbbMnAf{Jzl@~{LpjA|~M`\\n{Jsr@nvIzJ||JoO~dJqmAbuGzCtnG|aCdgEh_@ndI~g@lqG`[hkIbFzdIvDxbKboBhlIvfF|oDhpFlkCleA~iGy^dxJahBr~IjBhbIfqFv~Dtw@nkG~NvcIt{Bx`I|xAriGtd@nyHaGdzOaFh`OicBz{JgeEzsEkdFldFykDllEuyAnpIsdDndCq{FlrD}yD~qF_yBnmDeiC`_Dg`Bj|KxkBtdTtvA`tV`aGtvR|nGxfU~dDhvU_l@vtEnw@`rJ\\`qIh\\dlI_[lsLfHrtK~|Az}If{@~tItg@fcJhS~vI|}@~aJ`tEjh@fyGze@tzD~lAnhE`qAl_FnhBhxCf{EraEfrGroCvxHfsEryFx|E~xCvgFzeGzaElsE`uDb}FziErrH~uD|rIz~C`eIjeDt{JxtDdzJ`}DvwKviDrlI~vAdcMfjEhjNdqCztK|aD`iLz}ChgLlnD`_JviDz{HnpB~gHrbBjhFdyA~fHbdDx}GniDzlIzuB``Mh|AtvGzuEt`JhnEvuM`a@ddIr[~eAhmAz{IpwBvrKnvDhxL~~BdfIjxE`uMh|A||Itd@hoCuv@|_Ha_Gqj@roBxyHloE`lCxyAnjJ|sDlmJbaDtxGhrBt{BdfEzjGz_BdfHf`CvqHjlBddFbuBni@t|A`{HltDzcH~aFzoGll@l`KdlAvpGfjB~aCqEjvInuAdkGthBnxHf}@hyJjzDbxGxnCxnE`uAnvJwNdlHg|CbeEyq@~aL{bBxzGzy@hrKznBbpPdwCvxJc[|mJe|AlvFgiAvnIozC~pIef@bnGvTpuE_EnzIvhB~iJtiBndJfIreKrtBfbJf}CvtGzwBxtAsyAnuFwjClkIwpChyI_~Ct`Ig|I|MctE~uFurD|iGofEphHc`E~}Ge_Dp_GqeD`qBaxDdnEcpCdzGedFbbA}gG|fCmzIdgC{vHjIajGou@owCh|C}|Prl@{mFzvAuiOdzDseO|fAsyAptDipAz|UkpArqU`kDjkO|pDxqXsq@tjV}iAtaJhvAviGjG~yJaAloKo`BtoJvS~sKcCvcJ{[fpKmWpfLhKtbLkzArqA`vBtjEsK|mJvy@f_IjAv|MEloIsj@~~Hx|A~hIjApmKhn@twIL|_LvvDx|CDblIjkGzq@hkGfsCblIiDtlHmD~tJpKvgGj_CpfCbuYqwA~fWn{F`{PrlNlgL~qIrjJh|EpgJvy@jtFddDh`BvIdyI@prN[rrKYz{JwBfrJ~mAfhIdtDn|IrnBphH}uDtiF}oCnxMm@dkJ{{AjlGn~DnzLd|B|vJjdE|~SnRjvKwG|wJwj@f_IcqAflHu_EviGgbBnlFo|EvaFkfF|iCoeFlqCk~Ex}BasJxoDhbCtcEnpCpdG~~CtvGj_Ffu@dmDvfFnrElyAdcEnaEfoE`xDtiTqX|uEjnBbmCjnFx}DdwN~w@lxPb|Fn`G`gGxxAvkFpt@`~CdvGnxBl`GpyDlhClgEntFrgCz~Dv}EnjGlrF|pKnwE`nDbqEzmF~~E`mFvnF~aElrFraFnjFfoF~aDd~AvlFf_CxhGtbDttF|~D|kG|_CfnGffD~rEnsFpcEdwGh|DlaH|dEhkH|y@dNnqC|c@vdDl}EdkEz~DpzFjzG`sFpzGdlFruG~`FteGb~EjbGftFb|GnvE~wFrl@xdH`fAd_@n`GbxBviFtcEjyFlrEflFzaFhwF~mGp}C|yBt}CbfCthF~eCzcGmw@plGox@lnE}xB~jG`{AfnHhBvrGiCtwD~jDthGbw@hnDdtBvyHcEjwDgBdgHmDfoHcAvyGcCdxGuCxiGfqAvrIrrAltMzeKxrKhhGxvM|lDxuLdiLr{InyOrkGltDhzDlqEdcCh~JrtC`aJleCtkFhnEvj@twB`bAet@t_Izr@xjJkZ`sHsjB~bEAr|Iko@brJ{DtvIt`C~fDhoFhjBfm@d}Ere@~pI~fFr_FzoCdzG~_DvoHbjBjzFpoCpmH`gFz`Ct~DldFvqD~tCdkDrpF|qCblIflEvcE|}ErlFz|ErsE~tFdeKlnFrvLh_DjoHpmDr`Fna@phEj_@x{Hd|BbmHrrB|uIfkCthHbnAnaKfxAzbH`tCj~FtoAzvImeA`zGrSlaH`aD~qGj~DtbGdhDbeEbhBp_HjjB~nHo{Ad{Etv@peDdpD~qFnoBppHnh@bfJrh@`eJb{@vqH~cBhbYr{XlyTrjEpyI~bDngHxmFnuE|oGziCxgHtvChnGx~BniF|uC`cEvqGh~BlpJhvBtcHbExaI|hClcJ~uB~nFbpHwBvfEzmBn_A~{CiEflIgCb{H{CrrJvrBt_JjI|yIkBpvI_BvmIdh@hgIcKplJheC|aIic@``IkjBvkFmDzeIqFpdIc]fsHwiApaGuu@||Hne@brHuG|tJgPngIzMheI~cD`jCrmE~uB`jAzxGtr@`zG~~CfcEftCb`Cd|@bmHzxClbHvj@dy@jhAzkFfsDrmCIftH`fBzuGfeCjtExbCjmGtoEzaEfyF`nAnrJ`@jdG`fEhdFbjCjgElqEHrmJHrbJh}Aj{BhvAdsEjhBt~EvmApsDDnoGztAxpJt_BjuK|dIfsH|zEdjFt{E|eElaGz~ClsEv}EpqEvAvwAlnEjuFtmEhlMrwOhxBrkJrnAhrHYnhIx@juH`~@zzEjxBsXdrDbg@n_A`{Hn}E`jEbpG~_Dzt@dlIpkC~`F`zE|yEjnAdkHzxBtvHpaAlqHfeJbuAt{A|cG`j@xzIzbAt{HzdEfhIfbBbsGdNrcFfnBjzH~xBrfGvWjfJyA|gIrzArnFlOxuJpiAzqIlAxlJbwA|jISpsJfXteIwZdhIbyAheIE`bJ`yAzoFjhBxaFz|DxnCf_EdqCrnH~sCnWvpIsLd`IuQ~mHt^hkKBxkJ_@v}IL`yJ{fDvhDkJtmIcAb~Hv@rzYktAjrJ|vAvvJgAhjEBbkIUblICx`Ki@zrI?`mI`bAftHvUv_IS~gIji@|`IdKjsOjgDnbGjl@xuHrApbPtoDdrG|cCljHhs@lbGQ`rIaAv`H~l@hpHfQx`HdfB~pH|xCf}G~oDp_HjhEpwGdwFpu@to@flGxUhgIxdCd{Gt{@jiJ~D`iJua@r}Ih]l{Hf@fkH`Df{Ni@hiIL`oIoCrnGUxbIK|fICjyIJ`kHf@x`IuTzkIvQdvG|`Aj~G`Dr|HxiAfzHtpC|tIh@faJwOplI`CxiDmXxrHy~@f`Ia_An`UKflJKjfJCdmJezAloF`@d}HyFtzHnKneIdf@rrH~s@foIfqA`yItDnvJs|@boHpGbpInwAh{H}IlwIoOz{HeGj`JyiB`jO}E~gJyr@~sIs_AxvIo_AtvIkc@hiFwbA~xHa}@xgIao@zhIjIrfJfIjaJn{@r{Gn~Aj}IffB~~H~gAlqGbuB|yGt|Ad~ItEldLbiBh{IfsBvrIt|BdxIptAfwIvg@`pE_vAndImeCbgIaeCdzGir@~zH}C|bJl@zxIn@jyH~{Bz_H|TvrI`sBdrI`tAbtHuy@fjHnkAzkJvyCbtPxxAthJr^xmJpMz_I~a@jbHvdAhiIvoBhzHftBdrHpa@v{IttCp_If_D|mItrA`|H}g@`hHq`BvoIeOnbIaGviIyNxnHwPp}I}OxgI_VzzHaMzhL_PttIkWzrN{^`wS}PfsJgk@l~KjRpxIeS`bIePt}Ht\\~aJeBjdJ}ArwH}E`uKdIlzIeL~zIsZraIm}B~uHo_Ct|HwuBpdHy`Cd`Io{BjgHrxAnqHdpBvnGz`Bf{Hye@hjJecA~gRvk@vbWxp@btErs@|~H~p@|iHveAnxHbr@rzEp|AdlJrnB~}IriBnnIm[tjIit@|fJwCfcJe|Df|FyuAnbHsaAzjKaOpnLkoCvaG{p@h~G`r@f_Jp}ApwHciBzhI_aEbwG{eFzqEweCn~Ho~GfkCerEd|FqpFbpEwvGtzAgrE~rFkmA`bJcjAtwImb@xoIidAdpIqaCr|I{qCtoIuhEtkLovA||ImnBptHu}AnxHq_@f}IzShtKtp@lvHlyA`qJ``AxsJxwCtwG`dEhlG~nEfiF|kFx`F`aFjsDtoDz~Gz{BpoH`JxoLjvBx`Ix_GtvEh{BtsIfiAdbJjhCrzGxxDx|GduC~oIt{AhzIraAxvI`hBxaJzjC`eIxnDtqHrfCxjInn@tkG~SprJdaAbyJhtCfnH|eFfrF|kA~|Hw`BtcJksDxdHcp@|sJyy@zoJ}W`sJsi@pbIejDzsNymEr`O}\\lcJigBdcJseB~}IqdBh_Jam@jdJo~@ppIgh@frIwJrcIe|@zbG}k@|yBemBpkHmVbeG}mEb}O}bAlvHk[vxL{lAt{GnV`yHbxBffHxvCliC`oHnfEbxExlErxJft@~}D_ErgIlyAb~F_wC`~DbqDtw@~~BzcBdeJhoA`xIlnGniDdhFbqFbnEp}F_`CdjGyjBdsG`hAv|Dhs@v_DjoCtwAtrDt`Bb~BbuHpoAddJrfDfbGb~Fxc@j{Ah|G~vBrpHtkCzfJt`FfqBx}Cl~BhbC`nDftC|cDd_BpaHbhDf`GreIddFfgFjyDxpGtpAznFpvBdc@nrEjrCntFloDx|HpbF`}PxcDvrFfiEl}FhdO|uP~`Er_CvaApdIvjBjwHhpBpgIz_G`eV`~Mjub@duCrjHfuE`cMreApyMluDtaXhtAnfQusAfrHxa@l|Hho@twIfk@|hI`lA|~Q|aAfaIl}AncI~{Av`IqGjeIb@`}IuItnTwCizSmaEaHcdHlXcdExhFylExbFueGjmFstG`iHiaH~yD{nI|lIulBzeAsyUg~@elEp`N|oHzxs@ePdoLcuAddIufAruGqy@hiIu_Bz_JwJzeI~gFtlE{cCheHudA~kKkp@xeIyh@txIl@rrIh@zwIwzA`mH~@frIxBlxIbCdvOK~sJIrgH^z}IThaJvxAhuL`|@vkIngHvgO`~Iv{AvgFe{Df{HbAeRxyEesAxjD|o@zyJzXbnK~o@zuIcuA`sHrYnjMepBvpF{HznIcc@dpIazCjqGcdB|eIi|D`lG{vDh{E{yAtnH}_@x`HczE|{P^lhNh@zbIs@luJoAlqH@f_Is^nmIqqA~pHkUpgIw\\d{Iih@lvLtr@nbJmXloJZdhIyT|mHbaAvuHzsBxfG`u@lfHxyExzK|cCrfGr}Er{G";

  var myLoc = new GLatLng(34.00936, -118.498592);
  
var routeTotal = "gfpaGhnupLdeAfaCpbBpyEre@xcGrg@twIr\\psJfs@ruDzq@zpV~XvgGpBl`Iz^b_Ndp@vbPbe@`xNr_BfbGtnBpjIhErrDof@doDuCl_Dcr@vvDvuAr{EdaAxoEhxBftImm@~zCykBrjCq~@tmF_sAdoB_v@jpBd|@lgCwEdcBaWf~Cox@`{CulAbbBgFp}CtZ|bC]|mBqlAbnEmp@jnCcdApsEs\\fvEsFlyCybAnxEuY~_DuUjiDf@`rCsi@zlGsrDxjBytAzlBac@lmCnd@tnC`MdqFgd@hbEef@vdFef@t}AcbAjbA_d@znC`g@nyDkeAreCrBp~AgPbfAmi@|pDioAtiHfQthG{[j_BqqBdmAuR|qIhcBrtIpChgEyu@zzI_fA`[{Wh}@cFvuAve@zhEbG|oC{pBnkDyd@hwJaj@vcFoc@pcA{{@joDaBdfE_fBzxFyjE`wC}`GzzFgcExtCkhAbvAusFhpSsgB~rIilEtnQ_hC|yVmHhyVymArzA_aBf|IwsDz{GkuCn_I}fAngDcsEjhKouAjxF_pBjbJqyChzCagBdcGwmCrlIghCt_JimA|tIza@j~IbJ`rFyTv}Efl@zmFsj@~hCu}EzgIojEpsL}y@ptEo_AbfGihAfxI{j@hgCzH|wGrb@vxNylClkKfEtnIpL~yI}lBzuPiPrdXtBraZoiBbgGajAl{[eC`oOnkCf{RsLzeMjB`qNo~@`uIvp@dfKqxEveHs|@dwDejA|_H{AxoJ?r{PplAjhQ}|CfkP|_@`jFqEx{Jpv@jlD`G`aIySj|HrHrhJn|@~xJfeA~~M~gD`{DzYhyE~bDlvPbzBbvKtcCpq_@xxCnoIlvBx|Gt{G`pXjnBdhLkFxfAfrJ|p`AzvD~qf@bM`lJzlErnMvkGgwDb`Bdl@zzDpe@rfCxsDvwFrfIrcLxyStzLvaLnvD`nEzsCh~Qr{Dl|K`zD`kLpo@~aBd}EvbGfwBvrDfmEteKp_I`uRxoE~lLtpClgLt~EptP`wCfeLpfEfhLnxF~lO~~E|hRvtEzjKj}F~oU|`ArhElcDhmIvnCf}Dr`CzxIrXdaHtpAdqHntCprOtzBjaHj}D~_Ht}DhgKdiAx}DzxApvItnA~nC`u@l|Kv|EfcYfcBxtMfMf`Bj_HniKj{Bh}GvnChdFp}@zpB|dBdX`zBjvC`m@n`IdrCpnJd`JxwZlw@`kXnz@ryHohAf}NkMxtWxbDzqQlrCxpHrbCttNzTr}KnsBtyG~cC|jJqi@t~JiDh~Fox@vnf@zs@|lId{A`oNbeBfb\\s[hsP}uSxxYekGnfG}lRnz[ghGlzHubHprBsuPivHkdWcmRgyH_|CigXokNauQgjDkjNfPi_PvX_kGhbErSl`YhuCv_H|nC~qN|Ztg]{JjeMdb@b|JxNvwEhjAvhDbb@vzPxyAjfFtkCdxFpuD`dTddAf|L}l@dqJvJb`Nts@`yEdyAliIlhDhdQrvE`rThfBxuX|rBvpQbpCnuTv|Bx{PfdDjbTjHxfHjbIxdQt|DzbG|{Et`c@lt@laJpaCbcLyBroZqg@`cTd~@jpExf@bbAnrAtvJpyFb~KhsBthIxK~|NuErjUjNjuDiKl~j@reAvpKt|CxpGvgJzrSftBf`J`|BhhGfaAzyCt~BtlDrmBbfHn`A~dEzdBppFlcChxYbMn~Fu|@prPk|Ev|FepCl~HilJf|JglIbtL_nMtSsr@kZjCvmApwB|gFzwDblHjmBj~QfjGt~DzzA~rEpvDxxHtfBzg@xoD~iFzlBhtEpsGd|Hd|KvuBlfCfu@~yPtSpzHroHj}Jt`BxgHniLb`LnoQdjMreOzmCrrDna@te@fmGbqIhwGpeH`iSbcQp|D~_Cn~VbaObpRf~Jv`NrvSxmGxtK||AzoCbjDzqAhcDdnAj`BfdBreUbiXtcBpwBbaIxqJhpMt}OpnFnkGfcAltCnwCf|Bhd\\xoYvQ`gBrnGhfDduB`lBfsEjaAxtBrxDbzD~sJf~LnQrdPx`A~yDneBvhJ`_DpuDrv@xlIxbArsOt`FptHjoIluIp~@jbGlqDtqCfrEvmCt_EvtJprHbvDlpCjsMdmCn}Lvn@vpFr{AxmEjr@zpE|d@~qAkAp`DkRnsIhpAv`GbvEv|Ep|Br{A|k@neAU`fAxtE~nDhcFbeB|sO~Y|rEdd@|bN``@bjDl^l}I|j@fsO~n@vfBk]vtFjkAddCxcCvcCzo@rhDrw@neB|lArm@fo@xuAvm@zzB~xBtkDh[fpDbzAtfAzdB~nGnnAxhAlyClz@vpBbrAbjA``CdfDd`B`oBlsEfwBpaDpj@tcDdvAbiFngEzmAlwFtpGffDr|CnsElyFdnAzoEdaE~kJbaCviFvkCbkDj~BngG~`Bn{JdfBtkK`bDvzLxiAh{GzeAnhLjjA`cEx`BpxAj{@dpGpFrvC_`@lrDzsBlrBb`BxoAcTzeDjxBln@ntAhEnm@xcB|cArmImh@xsAl|@x~Eb~AttDnbBv{B~Yt`F_i@`hFg@vlCzsB|tE|uCxyCaKfjCpEhtAlg@bfCt`@z`Gtk@xe@`HzeCoA`dEpv@f_FfPfhJvZ|aJfsH|hItlBpdDbmGf`DdpHnyIt`FzdJdvGf`Fb}JbeCrlKvs@|cCvkDxaDf{EbsDjmIz_AtdD|oCtjHtqAn~QnuBrhIdYjnKjrAzcH`\\jzEjnDprAj~J|dS`{F~yJdyNdsRbkK~`RtvExo_@sUrw^t}B||C~zA~hB|h@fnFiQjc_@|zBd~FtgEzuh@dkAr_Rp~A~kHo\\nlGbmP~ka@~c@xmIpv@|iEbjE`bUpcAlhBhuDziRbgJt|R|xD|gQ`oO|xNn|WjrSn{Nx{KhrJ~qL|xDfxPpfBbnC~nA|yBjiQj_AvIx|@b_AfqNpnEz}LgFlwPnWxhIoIjoXw{AlgIpoArh`@xCraL~PzcXChsJ?|yY`@`vr@`hElqGxfBjvKziI|lMlUbfCbv@v`M^xzYtsDfy[ezAzd`@pElmb@fzAtwr@Pttg@rbFlgLlkG|oG|gCjkLn_JjkOh{FdkL~c@j{q@sIxra@jzAt|Lu@d`Pok@lp@mL~dAhv@`iAd{An|NwDxyJ}p@d~Y_c@fqVjdBz{KdWzyOjbCfid@rnBrxIlrE~fQ|EfbY_|Ar~J}PfqPeAlzUvkAxpTt|EfbNp_Kn~XjzIphTzzH~vUd}Onku@hbDxgP_GzkNxg@fvKnrCd`CjCpjWwrBfa_@qtDrjc@sx@hzI~nFto{@lx@peIgk@p}Buc@~eDtpAzxHvpA~xKt|@n}MhmIzcRrlBxx^uzJ|j_@g[`jHuGdtS~Dz}GllCvtTlyAdtCf}AlaC~`Bh`Bsl@phB}sAvgMp{Db~W|yAjtMzo@xaNxeFfab@plF~pIzh@~zOvS~uIqYllDgjBv|CyIbyCepBj`AkRbiBcIboLigClxGwd@fxDdy@pmD||B~hG{fHnvM}iErgHd~AvcGv_J~s\\y~B`pCazAzZosAjbBn\\raBhJp{Gip@foDi`BbnC~yBnvElaAhpGqPtsAqDvuC{Ft`CcdAnzCo~@lrEudA`y@ugB|oBsb@`yB~c@buD_PjbCg]leBc`CbqBzGtvCwYfeDvmAn~C~PhtAn`AhsBh@`bCoa@hpCmKjqChAloAqFrgd@jn@pjf@xk@`m@xqAn{Cb}C`eHn}@z{AfqAbfExO`tGc]zuDi`@|pHgxBd}Vtk@zjBhvC`aUhgAdo^i`AlsDgsFh|AgwJpmHq{Ch}DiwCttEszCf`Bc{An~Cri@xsCo[lwBfn@laA~fAlwBbPfbAd}@`zAniBjxBhc@buC]fsGp|A|~Ar`@npBz_CrG~pA`GnoA~w@zJfg@vPlh@fZncArHdrAy[|k@nIz~@kNbr@sIxkA|d@|kBrUxtC~bDxcChRluRjz@n`EtsAvwHs_B`cHksDpnCisHf|MckDz}Fu{NjlM_hOjvFgqFbnV{iEnk_@g{@uMoyG|eHdDfpCk|BhyDcr@`xLce@pgFadDftVjGjzRdk@t_FhgDtoWvf@xrEgq@|_@oPv`A}DloBiU`a@iB`dAg[r_Bso@lgAgdA`m@ms@dz@wdBd_Asa@lbDio@h~Eoq@pnAdwA|h@fAhpAlR|wDl`BbyAqEfjCbe@lrB{TzrBuZds@_\\h|CbFb`@o]nvCzGhuCb~ApiFtZr|FnwAjsFbo@lpJb`@rxErOz_BpAf}Np|BnbGxb@|vA`d@hxBbq@lnCzRl{Jyb@twGoaAdbGciApwA|m@zeR`R|~C~fAfmNbPjwDj]vcGdkCdfKbiDxcJr`CxmFldF|u\\diAnyMmBzjEz`ArhI~jAbkLti@r{n@t|@b`Pmo@`_VgdAdqRzdAh~HljCfbLdtB|sD|bAzlCncFx}EklDp{JwA~rDnj@r}ElmErbGv|@foFzs@niBr}AxjE~tAz_Cxp@xjCi]~{CzuAhjAvl@zdD_Ot}Cay@hdAdc@n_BxWhmAfVjeBeo@vfAue@xmBbEhh@vRt`D}}B|bH|c@bbBKxjBsj@lz@xG~gI_[t`DrfBrdC|i@zdA`nBtb@ju@~cDz~DtwCzhExxAhyHloBpgDf|A`gAn|@}dA~Bqu@dcFsv@`~Jtz@fxBvoGrzFn`H`vGThuMcQdtEjrAzvBxa@n~AbSbyBn_AzqCdcB{[lhDrxC~fBffK}e@|eByB`fC~SjtB`_ArjAdR`nBwAlvC|@je@{TnhArBfsCvHlnAjEtqBlb@~_Ae`@bkAnUtpA|w@rPr|Az|@zj@`i@dwA|R~l@`j@vb@xnAb{@dWnj@nd@`e@jw@ta@dp@cNpdAdWvp@lt@lc@h\\~r@p\\njAlV|uAbt@px@r}@dq@pq@}Ote@cE|hAds@vl@f[di@~{AxwAttB`kAn}@pcAdaA`xBlhAhDn{@lv@vaAfm@dg@tZps@o@tw@bG`Vzm@~_@x]bc@x[Arb@tQ}Ite@vg@j`@`g@rn@pgAr\\jv@Fl}@pQvg@nk@aJdq@iz@xf@Lx}@cHt`AtOjyA|Z~jAw_@~xEmsC~yGfh@wGd_AxJzjArwA~KtyB~S~z@mCbi@DbjAZjfAo\\lvAxH~nA_RxaAzGlmBuz@p|CccAx~@ea@`vAcQpOuTpRdfBxpBlvAx}@rf@bw@cHlpDnqCfqIvkB~|An}Ado@ju@|Qjq@f|@mArmAfdA|fBdxChl@rn@beBja@pyAn_AtjC`\\t|@lo@luBtp@`}BxjAbgDr_@~jAzyBh~Gd~Btg@zlA|mAzEzuAl_Cw`@n~Ay]nu@zx@xeClqEv_Dz~AhiBpPj`Bjq@t{ApqH_kBxzJsoAxzEoWdnMiz@~jBrkBtfBpe@hsEjUt|CtMb}DjnAhlHmV|~JufAptQjjAbeHhoEbjQle@|aiAttBr}M{_E~hb@yuCv~XhjFthGmlEllVm`D~}j@nHxwp@bv@|{l@rhBpvMt`MteT~}AuZn{J|c@byC|_Bn`B~jC_\\|rAfJrdBbFngE~FzzIKlhK{oAtbBiDz`EtPtoLuyAvxGfItmNypDf{Gyh@~|DyuA`zEcyApoBiiCl|DakBf`Ai{A|kLub@pmAy`@pgHeUttFfBxhUuCz}YrKpaR_fCtpEiK`mGja@jgGnYjaNbv@r}Hbh@dfIyYjwOb]nfGzv@bvEdLr|EvLdsA|~ArhCsS`}O`dDhbTjwAx|C";

var routeStart = new GLatLng(42.327756, -71.047060);
var routeEnd = new GLatLng(34.007970, -118.489680);

//-------------------------------------------------------------------------------------------
function initializeMap( divName, showMe, insetMap )
{

  _mPreferMetric=true;
  
  map = new GMap2( document.getElementById( divName ) );
    
  var start = new GLatLng( 37.09024, -95.712891 );
  var myIcon;
  var markerOptions;

  map.setCenter( start, 4 );
  map.addControl( new GLargeMapControl3D() );
  map.addControl(new GScaleControl()); 
  map.setMapType( G_NORMAL_MAP );
  map.addControl( new GMapTypeControl() );
  map.enableContinuousZoom( );
  map.enableDoubleClickZoom( );

  map.hideControls();

  GEvent.addListener(map, "mouseover", function(){
      map.showControls(); }
    );

  GEvent.addListener(map, "mouseout", function(){
      map.hideControls();}
    );

  flagIcon = new GIcon();
  flagIcon.shadow = "img/flag_shadow.png";
  flagIcon.iconSize = new GSize(26, 25);
  flagIcon.shadowSize = new GSize(39, 25);
  flagIcon.iconAnchor = new GPoint(10, 23);
  
  runnerIcon = new GIcon();
  runnerIcon.image = "img/runner.png";
  runnerIcon.shadow = "img/runner_shadow.png";
  runnerIcon.iconSize = new GSize(28, 35);
  runnerIcon.shadowSize = new GSize(35, 38);
  runnerIcon.iconAnchor = new GPoint(7, 35);

  // polyline and icon for route
  var encodedPolyline = new GPolyline.fromEncoded({
    color: "#594c39",
    weight: 5,
    points: routeTotal,
    levels: "BBB",
    zoomFactor: 32,
    opacity: 0.7,
    numLevels: 4
  });
  //map.addOverlay(encodedPolyline);   
 
  //var METERS_PER_MILE = 1609.344;
  
  function orderOfCreation(marker,b) {
    return 1;
  }
 
  // start/finish icons
  myIcon = new GIcon( flagIcon );
  markerOptions = { icon:myIcon, zIndexProcess:orderOfCreation };
  myIcon.image = "img/green_flag.png";
  
  var marker = new GMarker( routeStart, markerOptions );
  map.addOverlay( marker ); 


  myIcon.image = "img/ckd_flag.png";
  var marker = new GMarker( routeEnd, markerOptions );
  map.addOverlay( marker ); 
    
  //polyline and icon for me
  if( showMe )
  {
    encodedPolyline = new GPolyline.fromEncoded({
      color: "#594c39",
      weight: 8,
      points: routeSoFar,
      levels: "BBB",
      zoomFactor: 32,
      opacity: 1,
      numLevels: 4
    });
    map.addOverlay(encodedPolyline);
    
    encodedPolyline = new GPolyline.fromEncoded({
      color: "#f87200",
      weight: 3,
      points: routeSoFar,
      levels: "BBB",
      zoomFactor: 32,
      opacity: 1,
      numLevels: 4
    });
    map.addOverlay(encodedPolyline);

  var METERS_PER_MILE = 1609.344;
  
  //alert('distance: ' + encodedPolyline.getLength()/METERS_PER_MILE );
  //document.getElementById('my_distance').innerHTML = Math.round( encodedPolyline.getLength()/METERS_PER_MILE );
    
    myIcon = new GIcon( runnerIcon );
    markerOptions = { icon:myIcon, zIndexProcess:orderOfCreation };
    var marker = new GMarker( myLoc, markerOptions );
    map.addOverlay( marker );
    
    zoomToRoute( );
  }

  if( insetMap )
  {
    var Thumbsize = new GSize(125, 125);
    map.addControl(new GOverviewMapControl(Thumbsize)); 
  }
  
}


//-------------------------------------------------------------------------------------------
function initializeMiniMap( divName, showMe )
{

  _mPreferMetric=true;
  
  map2 = new GMap2( document.getElementById( divName ) );
    
  var start = new GLatLng( 39.09024, -95.712891 );
  var myIcon;
  var markerOptions;
    
  map2.setCenter( start, 2 );
  map2.setMapType( G_NORMAL_MAP );
  map2.disableDragging();

  miniIcon = new GIcon();
  miniIcon.image = "img/mm_20_green.png";
  miniIcon.shadow = "img/mm_20_shadow.png";
  miniIcon.iconSize = new GSize(12, 20);
  miniIcon.shadowSize = new GSize(22, 26);
  miniIcon.iconAnchor = new GPoint(6, 20);

  miniIcon2 = new GIcon();
  miniIcon2.image = "img/mini_runner2.png";
  miniIcon2.iconSize = new GSize(14, 20);
  miniIcon2.iconAnchor = new GPoint(5, 20);

  var encodedPolyline = new GPolyline.fromEncoded({
    color: "#594c39",
    weight: 3,
    points: routeTotal,
    levels: "BBB",
    zoomFactor: 32,
    opacity: 0.7,
    numLevels: 4
  });
  //map2.addOverlay(encodedPolyline);   

  function orderOfCreation(marker,b) {
    return 1;
  }
  
  //flag icons
  myIcon = new GIcon( miniIcon );
  markerOptions = { icon:myIcon, zIndexProcess:orderOfCreation };
  var marker = new GMarker( routeStart, markerOptions );
  map2.addOverlay( marker ); 


  myIcon.image = "img/mini_route_end.png";
  var marker = new GMarker( routeEnd, markerOptions );
  map2.addOverlay( marker ); 

  // me icon
  if( showMe )
  {    
    encodedPolyline = new GPolyline.fromEncoded({
      color: "#f87200",
      weight: 3,
      points: routeSoFar,
      levels: "BBB",
      zoomFactor: 32,
      opacity: 1,
      numLevels: 4
    });
    map2.addOverlay(encodedPolyline);
        
    myIcon = new GIcon( miniIcon2 );
    markerOptions = { icon:myIcon, zIndexProcess:orderOfCreation };
    var marker = new GMarker( myLoc, markerOptions );
    map2.addOverlay( marker );
  }
}


function zoomToMe( )
{
    map.setCenter( myLoc, 9 );
}

function zoomToRoute( )
{
  var start = new GLatLng( 37.09024, -95.712891 );
  map.setCenter( start, 3 );
  
}


function calculateDistance( )
{
  map = new GMap2( document.getElementById( 'map' ) );
  
  
  var start = new GLatLng( 39.09024, -95.712891 );
  
  map.setCenter( start, 4 );
  map.addControl( new GLargeMapControl3D() );
  map.addControl(new GScaleControl()); 
  map.setMapType( G_NORMAL_MAP );
  map.addControl( new GMapTypeControl() );
  map.enableContinuousZoom( );
  map.enableDoubleClickZoom( );
  
  encodedPolyline = new GPolyline.fromEncoded({
      color: "#f87200",
      weight: 3,
      points: routeSoFar2,
      levels: "BBB",
      zoomFactor: 32,
      opacity: 1,
      numLevels: 4
    });
    map.addOverlay(encodedPolyline);

  var METERS_PER_MILE = 1609.344;
  
  //alert('distance: ' + encodedPolyline.getLength()/METERS_PER_MILE );
  document.getElementById('my_distance').innerHTML = encodedPolyline.getLength()/METERS_PER_MILE;

}   
