﻿GPolygon.prototype.containsLatLng = function(latlng) {
	if (!this.getBounds().containsLatLng(latlng)) return false;
    var j = 0;
    var oddNodes = false;
    var x = latlng.lng();
    var y = latlng.lat();
    for (var i = 0; i < this.getVertexCount(); i++) {
        j++;
        if (j == this.getVertexCount()) { j = 0; }
        if (((this.getVertex(i).lat() < y) && (this.getVertex(j).lat() >= y))
      || ((this.getVertex(j).lat() < y) && (this.getVertex(i).lat() >= y))) {
            if (this.getVertex(i).lng() + (y - this.getVertex(i).lat())
        / (this.getVertex(j).lat() - this.getVertex(i).lat())
        * (this.getVertex(j).lng() - this.getVertex(i).lng()) < x) {
                oddNodes = !oddNodes
            }
        }
    }
    return oddNodes;
};
GPolygon.prototype.route = 43;

function Routes() {



	var routes = {
		r1: GPolygon.fromEncoded({
			polylines: [{
				color: "#EE1C25",
				weight: 4,
				opacity: 0.6,
				points: "ip{uDt}bePrfAng@|hBiVrpA{@nYoBgqDayBe\\`K{ClC{NxRyTvY",
				levels: "PHFDKIFB?P",
				zoomFactor: 2,
				numLevels: 18
			}],
			fill: true,
			color: "#EE1C25",
			opacity: 0.6,
			outline: true
		}),

		r2: GPolygon.fromEncoded({
			polylines: [{
				color: "#FFF8A7",
				weight: 4,
				opacity: 0.6,
				points: "mnxuDj}ydP_uAgjAaWrk@aKdRck@oe@yo@bfA~CpKoEvdACjDJpAnArItAfIxFtWrCpK~@rHlAdLdC`]XnCxAxKC|AzSjB|VnBzR`IfHfCxHuLl@eBbAgG\\aDb@mClAmFtA}E|CwJ`BwDfEaJlEoG~AmDfC}GTw@|ByEdHgPjB{EFeBH_ESqFsBoNAsBJqB\\{Ab@mArCcGjGsNtb@s}@",
				levels: "PHCHJHEAF@?CAE?BB?BK@EAIBD@@AC?D@BCA?A@AG?BCC@BF@?AP",

				zoomFactor: 2,
				numLevels: 18
			}],
			fill: true,
			color: "#FFF8A7",
			opacity: 0.6,
			outline: true
		}),

		r3: GPolygon.fromEncoded({
			polylines: [{
				color: "#9DD29C",
				weight: 4,
				opacity: 0.6,
				points: "gi~uDjpaePqAeRoBmWiCyWwJia@uEuWm@cEVsGbEy`AwEqJbNqTrb@yr@rk@|e@vJ}SjWyi@yxAeoAej@ar@}Gw@wZ}JuVsVy[yYcKwQoE{KqDcOuB_UqDkSyAiKefD|x@gVvg@Lfo@~EtoBzShwC|B`tDvp@kAnXlBlcCxJ",
				levels: "P?BEC@F?EI@HG?JEFCFBHBECCALGJCEEJECP",
				zoomFactor: 2,
				numLevels: 18
			}],
			fill: true,
			color: "#9DD29C",
			opacity: 0.6,
			outline: true
		}),

		r4: GPolygon.fromEncoded({
			polylines: [{
				color: "#87A3D5",
				weight: 4,
				opacity: 0.6,
				points: "mhruDf_zdP}NvEyWxJgXrK|DvNt@|EV`Gt@xTnAla@`@lKUvAk@lC_AzC_Zzu@}IpNoKnPhkBt_AhUon@vHcq@z@kp@wHodAiOe}@iH}O",
				levels: "PBAHBE@??H@ACE?IKFDHEDP",
				zoomFactor: 2,
				numLevels: 18
			}],
			fill: true,
			color: "#87A3D5",
			opacity: 0.6,
			outline: true
		}),

		r5: GPolygon.fromEncoded({
			polylines: [{
				color: "#F89F5D",
				weight: 4,
				opacity: 0.6,
				points: "ywvuDpk|dPx@`XfAfVOnCoApD}BzDoBzDoHhO}DzBiDdAyDfAiInCsAs@yYlHmq@b{@k_@fe@_QiGzA{E|AyC~CuEnCuDr@_BhBmLzBsKpCeK~CgJ`FgKpFcIpCgH|BmGrLkWh@sCRuDGsD[wDgBiOPsDnBoFjMaYrDoHnDuHdDsH`JaRhD}HvFjEvHvFrG~I`FlJ`GzMjIpRvArF",
				levels: "PABFBA?HB?@DDG?GKAC?AEACAEBC?BGADABCFAB@@@AI?CEB?CP",
				zoomFactor: 2,
				numLevels: 18
			}],
			fill: true,
			color: "#F89F5D",
			opacity: 0.6,
			outline: true
		}),

		r6: GPolygon.fromEncoded({
			polylines: [{
				color: "#B58ABF",
				weight: 4,
				opacity: 0.6,
				points: "_druDx|ydPadAd_@kbA~_@sJuAkDd@iQc`@yDsHeCyCsJmHoGuEgm@ke@oMgLxVea@x`@cr@HwHxXsBtl@yDtQ`Afg@rLjMvK`QtUtLfY`Tzw@vFrT",
				levels: "PBECICBF?ABKBEH@DJFDGD@P",
				zoomFactor: 2,
				numLevels: 18
			}],
			fill: true,
			color: "#B58ABF",
			opacity: 0.6,
			outline: true
		}),

		r7: GPolygon.fromEncoded({
			polylines: [{
				color: "#C3E8F8",
				weight: 4,
				opacity: 0.6,
				points: "mruuDzeaePyqAmu@pQeGxGiBvDgFlDiIxI}QOmLu@mV]}H}AiKlR{G`{@e\\`BrFfBdIXfCd@zGJ~EdAt[lAx[DhBEn@_AjFgElKyHfTgIxS}C~FwInN",
				levels: "PIAFC@GA@CHAJAC@E@@A@GC@ADAP",
				zoomFactor: 2,
				numLevels: 18
			}],
			fill: true,
			color: "#C3E8F8",
			opacity: 0.6,
			outline: true
		}),

		r8: GPolygon.fromEncoded({
			polylines: [{
				color: "#FFCCCC",
				weight: 4,
				opacity: 0.6,
				points: "yqsuDd~sePheBrcA`KgjBfyAlTjGmoAn`@sfKzpAe_@~KqnBfyAnFbD`K|]xJk@hl@b[rD|Fkx@|m@oQ`j@{Vtk@sV|n@bD`c@t[d^`VfFqJsQgh@yR_`@ulEypUgtBs`Bw~@aG{n@uP{M_UvAgo@~R_z@jo@oeBxH_k@vAwg@wA_k@gPc^iNgJqYyCsk@bAsmA`Vqy@|b@ex@pd@cXzfAiHnhAtC|_AuCfeAiNf}@_Zv}@{a@|_Akh@l`Auc@|`Agc@nhAsWpiAeCf}@xGrVtIfC`Kq@ziA}D|YbAzTjDzZlLhUbWzT~TlS`]nLpd@hNlr@vOzw@rQd|@xG~y@oEps@uPnk@_Ydm@aYvXu]rHqe@bAgxAdAu]NePpNmMxJeCxJrCfJhHfXpRxa@tVvXpX~T~X|ZnYre@j[|j@h\\`s@dIbt@gBxh@yGbWgI|SsC`GrC|E",
				levels: "PIIJCHHKHEGGIHEBIGBFLDFJGEFJEFFDIFGEMEGCJFEEFHEDDDFKEIEBECHEBIEF?AJEHDFIEB@GBEJADFCCFBDIEFCAEP",
				zoomFactor: 2,
				numLevels: 18
			}],
			fill: true,
			color: "#FFCCCC",
			opacity: 0.6,
			outline: true
		}),
		

		r9: GPolygon.fromEncoded({
			polylines: [{
				color: "#D5CCBB",
				weight: 4,
				opacity: 0.8,
				points: "sj}uDxrgePdPezDw_@uDed@oC}jA_Fye@}Auf@mA_tAcH_PXoAt[rC|hBhAjbArTrDrt@dBhe@Ppe@`@xe@lAtf@bAvf@r@hb@`@",
				levels: "PJBDBACDKDAJDEAC@B@P",
				zoomFactor: 2,
				numLevels: 18
			}],
			fill: true,
			color: "#D5CCBB",
			opacity: 0.6,
			outline: true
		}),
		

		r10: GPolygon.fromEncoded({
			polylines: [{
			    color: "#C8F526",
				weight: 4,
				opacity: 0.6,
				points: "ipxuDpkudPUxFqd@|v@yS|\\oI_He]oZg^sZg^e[qQgQ{O{SqQiScGsBa@qRc@o`@~H}j@fGmb@hIgg@lg@eeDtzCflAsk@p_BeCbPkTfxBvBre@zM`]xTzKbKvBtOr@jBj@",
				levels: "PDAIA@@DCBDJAF?BAKIFBIEGECBP",
				zoomFactor: 2,
				numLevels: 18
			}],
			fill: true,
			color: "#C8F526",
			opacity: 0.6,
			outline: true
		}),

		r11: GPolygon.fromEncoded({
			polylines: [{
			    color: "#99CCFF",
				weight: 4,
				opacity: 0.6,
				points: "upbvDjbpePmZ|H{ZxH{ZpI_[fHcZlJiZxGuOrDoObg@qFxSsHv^iKj^iMp[sFzf@_Dt_@mQ~[mMr`@gHxd@cAzf@mBve@]vKzHdMlV|AbW?`XG|XBzgCtAnWUvWBnUTlaAo\\`p@|Alj@z@iAqw@L{w@~Esp@~K}m@~Uej@ld@ej@bh@yd@tm@}Pzn@_Qtj@iNt]qRrGmTe@{]aKm_@qRke@wXwg@}`@{e@sa@_k@qb@fr@u_Bxh@e]bSsEv_C{YpGgYfHo{B|m@iZzGwK~DlDc`AtCeLxGcLjJwQ`KeTdC{N",
				levels: "P@ABCC?ICBCDFBFDGEB@FLD@@BBBAGGAJCEGEIDG@BGFKFDGECJGEIIACCCJFDBADP",
				zoomFactor: 2,
				numLevels: 18
			}],
			fill: true,
			color: "#99CCFF",
			opacity: 0.6,
			outline: true
        }),
        
        r12: GPolygon.fromEncoded({
            polylines: [{
                color: "#FFF8A7",
                weight: 4,
                opacity: 0.6,
                points: "ixavDnngeP{MbhFqAl_@aHpYeMzVaQb^wBtEaAxN{@|Wk@dTlc@gJreAuW|f@uIfVcHpQ}DrWyGjAsr@tBwn@zOmnFmZi@iZa@kZYqpAgBkBD",
                levels: "PAGE@@FB?KBCCBAJCAJ@A@AP",
                zoomFactor: 2,
                numLevels: 18
            }],
            fill: true,
            color: "#FFF8A7",
            opacity: 0.6,
            outline: true
        }),

        r15: GPolygon.fromEncoded({
            polylines: [{
                color: "#0000ff",
                weight: 4,
                opacity: 0.6,
                points: "mkxuDzbkdPvm@ukApr@}`Bd^sjAjJuvA{CurAlBurAj[mq@dd@qd@rh@mf@nm@aa@`m@}Hpi@eQnj@sGpl@rGn{@p~@nc@yg@cNwbB_B}`B`AejCauAbAs}IbxG_hAl`A{{@vdD{n@xnCkn@pzC}m@`zBd`DlgA",
                levels: "PDEHEEGJBEGEIFHHJFDMHEKEDEJP",
                zoomFactor: 2,
                numLevels: 18
            }],

            fill: true,
            color: "#0000ff",
            opacity: 0.6,
            outline: true
        }),
			
		r16: GPolygon.fromEncoded({
            polylines: [{
                color: "#F89F5D",
				weight: 4,
				opacity: 0.8,
				points: "yihvDbfrePxeAmWra@uLra@kLrj@yNvB{CpAiGx@iOjAqYr@}^r@mf@`DymAlCqeAw_@{@w_@G}`AuAcQqCe@ha@wAfk@wBrp@aExs@wK~q@mY|dBmCtP",
				levels: "PC@BDICAD@B?KBBDJBADFA@P",
				zoomFactor: 2,
				numLevels: 18
            }],

            fill: true,
            color: "#F89F5D",
            opacity: 0.6,
            outline: true
        }),
		
		r17: GPolygon.fromEncoded({
            polylines: [{
				color: "#0000ff",
				weight: 4,
				opacity: 0.8,
				points: "}x|uDn|mePrJqfE{Zq@fO}fDnnBt|@aXza@kGha@z@jZtInMtIhRfOjS|LrObKbOlN|N}V|YsTd[}G`KgeBtf@",
				levels: "PGGKHFEHCDABCJC@GP",
				zoomFactor: 2,
				numLevels: 18
            }],

            fill: true,
            color: "#0000ff",
            opacity: 0.6,
            outline: true
        }),
				    
		r20: GPolygon.fromEncoded({
			polylines: [{
			    color: "#99FF66",
				weight: 4,
				opacity: 0.6,
				points: "szfyDnywdPrfAgqB~uEhR?qaAvr@kSt{DpfE`c@wzDpjEq|H|eG`iGdUdwBsaAnwDmk@rlCgcEpnBco@f|F}}@`{@",
				levels: "PIIHJKHKLHDIIHP",

				zoomFactor: 2,
				numLevels: 18
			}],
			fill: true,
			color: "#99FF66",
			opacity: 0.6,
			outline: true
		}),


		r25: GPolygon.fromEncoded({
			polylines: [{
              color: "#0000ff",
              weight: 4,
              opacity: 0.8,
              points: "kp`vDtxofPx_D|}DtdAuWzZqs@v\\scAzZwsAdWqmBaKknAw\\_z@af@{Zsx@gn@ce@or@ed@e}@oR_z@y}AiCiGzfAjhApzCk{@paGyNnr@",
              levels: "PHJDFEKFHCGDFLIGIDP",
              zoomFactor: 2,
              numLevels: 18
            }],
            fill: true,
            color: "#0000ff",
            opacity: 0.6,
            outline: true
        }),
      

		r3east: GPolygon.fromEncoded({
			polylines: [{
			color: "#9DD29C",
			    weight: 4,
			    opacity: 0.8,
			    points: "iwhvDftodPhrDe|@w}AakLkoBcsIimIdtC|bEd|FbxAlgD|mAvdG",
			    levels: "PJGLKHGP",
			    zoomFactor: 2,
			    numLevels: 18
			}
			],
			fill: true,
			color: "#9DD29C",
			opacity: 0.6,
			outline: true
		}),

		r30ns: GPolygon.fromEncoded({
		    polylines: [{
		        color: "#99CCFF",
		        weight: 4,
		        opacity: 0.6,
		        points: "kwkwD`h_cPchGsaMqpAiyBmlIl}A_bDr{C{e@llBflBn{BrmCv}Cm{E~{EjdCvpB~`FvI`oDiCpv@knAad@mdEbnFppAdiAa|E",
		        levels: "PEKIHLCJJLEJHJJP",
		        zoomFactor: 2,
		        numLevels: 18
		    }],
		    fill: true,
		    color: "#99CCFF",
		    opacity: 0.6,
		    outline: true
		})		

	};
	return routes;
}

