﻿/// <reference path="../VEJS/VeJavaScriptIntellisenseHelper.js" />

// NOTE:    The above reference is used only at design time.
//          It provides a skeleton of the VE API to enable 
//          intellisense.  Notice that the Default.aspx 
//          page DOES NOT reference VeJavaScriptIntellisenseHelper.js.
//          At run time, we use the real VE API.


var map
var oPRShapeL = new VEShapeLayer();  // park-n-ride layer
var oStationShapeL = new VEShapeLayer();
var findLayer = new VEShapeLayer();
var findArray = new Array();
var bTrafficLoaded;


var index = 0;
var results = null;

if (typeof(DESIGN_TIME) == 'undefined') 
{
    map = null;
}
else
{
    map = new VEMap();
}

function pageLoad() {
    try {
        map = new VEMap("myMap");
        bTrafficLoaded = false;
        map.onLoadMap = map_Loaded;
        map.LoadMap(new VELatLong(45.518100, -122.693800), 12, VEMapStyle.Road, false, VEMapMode.Mode2D, true, 1);
        oStationShapeL.SetTitle = "Stations";
        oPRShapeL.SetTitle = "ParkRideLoc";
        document.getElementById('MSVE_obliqueNotification').innerHTML = "";
    }
    catch (e) {

    }
}

function GetSmallMap()
{
    map = new VEMap("myMap"); 
    bTrafficLoaded = false;
    map.onLoadMap = map_Loaded;
    map.LoadMap(new VELatLong(45.518100, -122.693800), 12, VEMapStyle.Road, false, VEMapMode.Mode2D, true, 1);
    oStationShapeL.SetTitle = "Stations";
    oPRShapeL.SetTitle = "ParkRideLoc";
}

function pageUnload()
{
   if (map != null)
    {
        map.Dispose();
    }
}

function PrintMap() 
{ 
    var pOptions = new VEPrintOptions(true);
    map.SetPrintOptions(pOptions);
    window.print(); 
    pOptions = new VEPrintOptions(false); 
    map.SetPrintOptions(pOptions);
}

function map_Loaded()
{    
    AddRail(map);
    AddStations(map, 1);
    LoadParkRideLoc(); 
    ToggleTraffic();
    AddEvent(map);
}

function AddEvent(map)
{
//    var points1 = new VELatLong(33.431521, -111.940700, 0, VEAltitudeMode.RelativeToGround)
//    var shape1 = new VEShape( VEShapeType.Pushpin, points1)
//    shape1.SetDescription("<div style='z-index:5000;background-color: #FF0000;text-align:center'><h2><a href='http://tempemusicfestival.com/'><u>Tempe Music Festival</u></a></h2><br/>April 3 & 4 <br /><img src='http://tempemusicfestival.com/images/photoGallery/thumbs08/fergietv4_thumb.jpg' alt='Tempe Music Festival'/><br/> <img src='http://tempemusicfestival.com/images/photoGallery/thumbs08/fergie2_thumb.jpg' alt='Tempe Music Festival'/><img src='http://tempemusicfestival.com/images/photoGallery/thumbs08/Puddle%20of%20Mud%203_thumb.jpg' alt='Tempe Music Festival'/><img src='http://tempemusicfestival.com/images/photoGallery/thumbs08/Peachcake_thumb.jpg' alt='Tempe Music Festival'/></div>"); 
//    shape1.SetCustomIcon("http://www.downtownlightrail.com/light-rail-maps/Images/camera39_big.gif");
//    map.AddShape(shape1);
    
}

//loads the light rail map
function AddRail(map)
{
     var points;

     points = new Array(
            new VELatLong(45.522492, -122.991031, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.521646, -122.991053, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.521496, -122.990972, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.521409, -122.990774, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.521398, -122.990538, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.521391, -122.987244, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.521342, -122.983553, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.521304, -122.979138, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.521263, -122.975571, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.521255, -122.970652, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.521191, -122.969654, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.521045, -122.967814, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.521049, -122.965432, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.521176, -122.964451, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.521977, -122.961677, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.522420, -122.960647, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.523913, -122.957568, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.524893, -122.955610, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.525375, -122.954248, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.525717, -122.952681, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.526096, -122.950670, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.527021, -122.945992, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.527825, -122.942376, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.528253, -122.940145, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.528486, -122.938755, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.528832, -122.936642, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.529471, -122.933423, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.530050, -122.930312, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.530215, -122.929201, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.530230, -122.928278, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.530260, -122.923638, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.530275, -122.918504, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.530290, -122.913617, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.530174, -122.911928, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.529850, -122.909819, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.529595, -122.908773, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.529076, -122.907116, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.528095, -122.904031, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.526622, -122.899450, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.525130, -122.894837, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.523477, -122.889665, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.521917, -122.884773, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.520383, -122.879859, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.518782, -122.874860, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.517260, -122.870230, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.515610, -122.865268, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.514068, -122.860478, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.513437, -122.858568, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.513035, -122.857672, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.512118, -122.855832, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.510572, -122.852699, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.508663, -122.848831, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.506516, -122.844690, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.504508, -122.840731, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.503193, -122.838446, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.501098, -122.834390, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.499312, -122.830973, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.498241, -122.828881, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.496473, -122.824552, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.495278, -122.821527, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.493416, -122.816892, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.491540, -122.812225, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.490314, -122.809119, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.490186, -122.808630, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.490205, -122.808271, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.490378, -122.807552, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.490743, -122.805938, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.490825, -122.805176, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.490799, -122.804055, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.490750, -122.802644, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.490886, -122.802038, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.491600, -122.801206, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.492070, -122.800621, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.492224, -122.800139, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.492236, -122.799414, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.492205, -122.796485, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.492251, -122.795391, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.492416, -122.794474, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.492713, -122.793664, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.493210, -122.792875, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.493755, -122.792398, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.494371, -122.792097, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.495815, -122.791840, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.497917, -122.791652, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.498628, -122.791443, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.499756, -122.790778, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.500425, -122.790112, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.501068, -122.789211, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.502865, -122.785800, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.504211, -122.783364, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.504753, -122.782586, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.505881, -122.781309, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.506681, -122.780392, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.507118, -122.779963, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.507565, -122.779727, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.508012, -122.779732, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.508370, -122.779925, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.508704, -122.780339, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.509377, -122.781996, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.509565, -122.782398, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.509866, -122.782699, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.510166, -122.782731, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.510385, -122.782592, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.510554, -122.782307, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.510546, -122.781942, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.510486, -122.781551, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.510136, -122.780666, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.509298, -122.778348, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.508727, -122.776862, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.508212, -122.775843, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.507407, -122.773547, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.507230, -122.772839, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.506775, -122.770565, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.506422, -122.768435, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.506159, -122.766246, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.505948, -122.763494, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.505896, -122.761676, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.505888, -122.759069, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.505975, -122.757239, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.506328, -122.753876, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.507700, -122.746553, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.509354, -122.740030, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.509354, -122.734151, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.509264, -122.731576, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.509806, -122.729087, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.510046, -122.726212, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.509445, -122.723508, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.508813, -122.721963, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.508783, -122.720203, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.509475, -122.719131, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.510257, -122.718358, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.510475, -122.718025, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.510603, -122.717618, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.510648, -122.717215, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.510666, -122.716384, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.510681, -122.715960, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.510618, -122.713466, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.510888, -122.710204, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.511640, -122.707586, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.512813, -122.705483, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.515129, -122.702050, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.516602, -122.700806, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.518301, -122.700334, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.518865, -122.700119, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.519113, -122.699765, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.519226, -122.699132, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.519196, -122.698338, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.519060, -122.697372, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.518587, -122.695355, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.518245, -122.694352, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.517959, -122.693177, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.517989, -122.692845, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.518143, -122.692630, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.519586, -122.691852, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.520162, -122.691343, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.520819, -122.690871, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.521586, -122.690490, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.521721, -122.690291, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.521755, -122.690007, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.521868, -122.689310, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.521860, -122.689079, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.520770, -122.685018, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.519673, -122.680888, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.518481, -122.676457, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.517786, -122.673860, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.517809, -122.673619, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.517948, -122.673447, 0, VEAltitudeMode.RelativeToGround)
    );
     myPolygon = new VEShape(VEShapeType.Polyline, points);
     myPolygon.SetLineWidth(6);
     myPolygon.HideIcon();
     myPolygon.SetMinZoomLevel(8);
     map.AddShape(myPolygon);

     points = new Array(
            new VELatLong(45.521015, -122.690769, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.521387, -122.690511, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.521451, -122.690329, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.521413, -122.690114, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.520958, -122.688425, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.519632, -122.683511, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.518414, -122.678924, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.517327, -122.675040, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.517151, -122.674397, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.517128, -122.674016, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.517211, -122.673839, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.517940, -122.673447, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.519312, -122.672712, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.520041, -122.672374, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.522120, -122.671226, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.522605, -122.671253, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.523533, -122.671355, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.525081, -122.671419, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.525968, -122.671430, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.526340, -122.671285, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.526788, -122.670835, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.526957, -122.670507, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.528257, -122.667670, 0, VEAltitudeMode.RelativeToGround),
            
            new VELatLong(45.528791, -122.667085, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.529279, -122.666860 , 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.529621, -122.666704 , 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.529892, -122.666388, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.530076, -122.666023, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.530091, -122.665674, 0, VEAltitudeMode.RelativeToGround),
            
            new VELatLong(45.530087, -122.663426, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.530083, -122.658480, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.530091, -122.653626, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.530061, -122.651276, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.529986, -122.649297, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.530050, -122.647735, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.530204, -122.644136, 0, VEAltitudeMode.RelativeToGround),

            new VELatLong(45.530437, -122.639437, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.530606, -122.636497, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.530760, -122.635585, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.531132, -122.634560, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.531598, -122.633879, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.532252, -122.633294, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.533698, -122.632023, 0, VEAltitudeMode.RelativeToGround),

            new VELatLong(45.534044, -122.631562, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.534412, -122.630768, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.534563, -122.630017, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.534612, -122.629239, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.534529, -122.628348, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.533800, -122.625124, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.532703, -122.620355, 0, VEAltitudeMode.RelativeToGround),
            
            new VELatLong(45.532233, -122.618349, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.532004, -122.617421, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.531793, -122.616831, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.531440, -122.616139, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.529625, -122.613403, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.528415, -122.611595, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.528118, -122.610925, 0, VEAltitudeMode.RelativeToGround),

            new VELatLong(45.527855, -122.610163, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.527686, -122.609380, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.527618, -122.608725, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.527566, -122.607851, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.527599, -122.606826, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.527705, -122.605995, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.528028, -122.604563, 0, VEAltitudeMode.RelativeToGround),

            new VELatLong(45.528298, -122.603790, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.528933, -122.602449, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.529832, -122.600813, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.531376, -122.597761, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.533082, -122.594461, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.535040, -122.590626, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.535453, -122.589499, 0, VEAltitudeMode.RelativeToGround),

            new VELatLong(45.535720, -122.588239, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.535829, -122.587059, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.535833, -122.586275, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.535705, -122.585074, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.535416, -122.583856, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.534574, -122.581394, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.533338, -122.578105, 0, VEAltitudeMode.RelativeToGround),

            new VELatLong(45.532222, -122.574758, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.532045, -122.573996, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.531861, -122.572886, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.531778, -122.571952, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.531771, -122.571019, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.531902, -122.569458, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.532090, -122.568219, 0, VEAltitudeMode.RelativeToGround),

            new VELatLong(45.532203, -122.567376, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.532218, -122.566277, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.532090, -122.565338, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.531891, -122.564458, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.531767, -122.564126, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.531436, -122.563857, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.530215, -122.563412, 0, VEAltitudeMode.RelativeToGround),

            new VELatLong(45.529892, -122.563342, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.529542, -122.563401, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.528054, -122.563868, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.527539, -122.563970, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.524352, -122.564228, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.523311, -122.564308, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.523044, -122.564281, 0, VEAltitudeMode.RelativeToGround),

            new VELatLong(45.522845, -122.564093, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.522684, -122.563750, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.522642, -122.563273, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.522668, -122.562141, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.522650, -122.559893, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.522623, -122.556846, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.522597, -122.552775, 0, VEAltitudeMode.RelativeToGround),

            new VELatLong(45.522582, -122.548268, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.522541, -122.543859, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.522507, -122.538661, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.522469, -122.534793, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.522439, -122.529488, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.522394, -122.525287, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.522375, -122.520658, 0, VEAltitudeMode.RelativeToGround),

            new VELatLong(45.522338, -122.515830, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.522289, -122.510766, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.522244, -122.505670, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.522206, -122.500622, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.522176, -122.495654, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.522131, -122.490971, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.522086, -122.485853, 0, VEAltitudeMode.RelativeToGround),
            
            new VELatLong(45.522041, -122.480505, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.522018, -122.476836, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.521973, -122.475924, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.521819, -122.474819, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.521473, -122.473338, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.520319, -122.470259, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.519297, -122.467738, 0, VEAltitudeMode.RelativeToGround),
            
            new VELatLong(45.518951, -122.467035, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.517436, -122.463430, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.516031, -122.460115, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.514610, -122.456725, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.513016, -122.453034, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.511493, -122.449483, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.509302, -122.444333, 0, VEAltitudeMode.RelativeToGround),
            
            new VELatLong(45.507824, -122.440841, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.506114, -122.436705, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.504490, -122.432933, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.503644, -122.430922, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.503057, -122.429248, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.502813, -122.428111, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.502223, -122.425037, 0, VEAltitudeMode.RelativeToGround),

            new VELatLong(45.502132, -122.424168, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.502110, -122.421057, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.502046, -122.420231, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.501926, -122.419308, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.501636, -122.417736, 0, VEAltitudeMode.RelativeToGround)
        );
     myPolygon = new VEShape(VEShapeType.Polyline, points);
     myPolygon.SetLineWidth(6);
     myPolygon.HideIcon();
     myPolygon.SetMinZoomLevel(8);
     map.AddShape(myPolygon);

//red line
     points = new Array(
            new VELatLong(45.587570, -122.593099, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.587134, -122.592605, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.586736, -122.592251, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.586338, -122.591983, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.585955, -122.591618, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.585715, -122.591200, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.584409, -122.587810, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.584228, -122.587241, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.584198, -122.586372, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.584311, -122.585524, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.584604, -122.584655, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.584791, -122.584087, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.584867, -122.583336, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.584746, -122.582756, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.584191, -122.581329, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.581232, -122.573808, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.579678, -122.569742, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.579317, -122.568873, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.578724, -122.568015, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.578131, -122.567521, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.577125, -122.567124, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.575270, -122.566609, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.574564, -122.566127, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.574008, -122.565451, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.573693, -122.564925, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.572874, -122.562844, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.572626, -122.562071, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.572566, -122.561556, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.572619, -122.560515, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.572724, -122.559732, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.572634, -122.559078, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.572131, -122.557726, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.571875, -122.557082, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.571492, -122.556664, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.571019, -122.556546, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.566437, -122.556599, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.565746, -122.556846, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.564387, -122.558552, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.562464, -122.561084, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.560579, -122.563627, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.558761, -122.565912, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.557664, -122.566760, 0, VEAltitudeMode.RelativeToGround),
            
            new VELatLong(45.556988, -122.567006, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.555771, -122.567114, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.554704, -122.566845, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.553524, -122.566191, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.552743, -122.565515, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.550504, -122.562371, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.549670, -122.561406, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.548536, -122.560666, 0, VEAltitudeMode.RelativeToGround),
            
            new VELatLong(45.547048, -122.560322, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.545906, -122.560483, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.543855, -122.561384, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.542923, -122.561781, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.541713, -122.561706, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.540571, -122.561631, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.539759, -122.561867, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.536062, -122.563283, 0, VEAltitudeMode.RelativeToGround),

            new VELatLong(45.534890, -122.563745, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.532507, -122.564378, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.530741, -122.564667, 0, VEAltitudeMode.RelativeToGround),

            new VELatLong(45.528990, -122.564646, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.528637, -122.564582, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.528524, -122.564367, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.528509, -122.564088, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.528689, -122.563852, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.529035, -122.563702, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.529569, -122.563477, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.529824, -122.563412, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.530155, -122.563466, 0, VEAltitudeMode.RelativeToGround),
            new VELatLong(45.531455, -122.563981, 0, VEAltitudeMode.RelativeToGround)
            );     
     myPolygon = new VEShape(VEShapeType.Polyline, points);
     myPolygon.SetLineWidth(6);
     myPolygon.HideIcon();
     map.AddShape(myPolygon);  
     
     //yellow line
     points = new Array(           
        new VELatLong(45.605733, -122.685421, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.605129, -122.685817, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.604881, -122.685914, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.604449, -122.686123, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.604134, -122.686155, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.603744, -122.685995, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.603474, -122.685662, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.602963, -122.684707, 0, VEAltitudeMode.RelativeToGround),

        new VELatLong(45.602584, -122.684299, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.602186, -122.684117, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.601811, -122.684106, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.600223, -122.684417, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.597491, -122.685238, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.595445, -122.685817, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.594702, -122.686011, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.593377, -122.685930, 0, VEAltitudeMode.RelativeToGround),

        new VELatLong(45.592589, -122.685903, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.591571, -122.686177, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.590456, -122.686585, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.589649, -122.686665, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.586965, -122.686660, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.585565, -122.686654, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.585114, -122.686729, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.584713, -122.686821, 0, VEAltitudeMode.RelativeToGround),

        new VELatLong(45.584487, -122.686799, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.584251, -122.686665, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.584078, -122.686402, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.583669, -122.685480, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.583369, -122.684750, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.582693, -122.682760, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.582535, -122.682481, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.582302, -122.682250, 0, VEAltitudeMode.RelativeToGround),

        new VELatLong(45.582073, -122.682116, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.581732, -122.682062, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.579468, -122.682073, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.577357, -122.682084, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.575488, -122.682095, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.573017, -122.682121, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.570647, -122.682137, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.568206, -122.682159, 0, VEAltitudeMode.RelativeToGround),

        new VELatLong(45.565698, -122.682180, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.563279, -122.682218, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.560826, -122.682245, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.558460, -122.682261, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.556297, -122.682293, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.554753, -122.682250, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.554505, -122.682116, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.553832, -122.681209, 0, VEAltitudeMode.RelativeToGround),

        new VELatLong(45.553551, -122.681022, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.553040, -122.680963, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.550639, -122.680973, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.548153, -122.681006, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.547296, -122.680990, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.547003, -122.680882, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.546706, -122.680641, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.546443, -122.680201, 0, VEAltitudeMode.RelativeToGround),

        new VELatLong(45.545429, -122.678307, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.545177, -122.677969, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.544700, -122.677529, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.544155, -122.677283, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.542904, -122.677213, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.540789, -122.677202, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.540503, -122.677132, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.540289, -122.676891, 0, VEAltitudeMode.RelativeToGround),

        new VELatLong(45.540049, -122.676451, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.539245, -122.674922, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.539053, -122.674692, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.538805, -122.674568, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.538362, -122.674568, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.537013, -122.674584, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.536216, -122.674434, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.534860, -122.673458, 0, VEAltitudeMode.RelativeToGround),

        new VELatLong(45.533135, -122.672063, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.531290, -122.669976, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.530910, -122.669376, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.530369, -122.668244, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.529911, -122.667219, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.529715, -122.666956, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.529520, -122.666833, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.529317, -122.666849, 0, VEAltitudeMode.RelativeToGround)  
    );  
     myPolygon = new VEShape(VEShapeType.Polyline, points);
     myPolygon.SetLineWidth(6);
     myPolygon.HideIcon();
     map.AddShape(myPolygon);

     //Green Line
     points = new Array(
        new VELatLong(45.5231, -122.5643, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.5193, -122.5644, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.5180, -122.5645, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.5142, -122.5644, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.5137, -122.5645, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.5131, -122.5646, 0, VEAltitudeMode.RelativeToGround),
        
        new VELatLong(45.5122, -122.5649, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.5113, -122.5650, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.5105, -122.5651, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.5099, -122.5649, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.5092, -122.5647, 0, VEAltitudeMode.RelativeToGround),
        
        new VELatLong(45.5087, -122.5647, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.5080, -122.5649, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.5068, -122.5661, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.5061, -122.5665, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.5058, -122.5667, 0, VEAltitudeMode.RelativeToGround),

        new VELatLong(45.5054, -122.5668, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.5047, -122.5669, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.5043, -122.5668, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.5035, -122.5668, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.5029, -122.5668, 0, VEAltitudeMode.RelativeToGround),
        
        new VELatLong(45.4998, -122.5665, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.4980, -122.5664, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.4978, -122.5664, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.4976, -122.5664, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.4970, -122.5663, 0, VEAltitudeMode.RelativeToGround),

        new VELatLong(45.4965, -122.5662, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.4952, -122.5662, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.4947, -122.5662, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.4943, -122.5661, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.4934, -122.5662, 0, VEAltitudeMode.RelativeToGround),

        new VELatLong(45.4929, -122.5661, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.4923, -122.5661, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.4910, -122.5662, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.4902, -122.5663, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.4897, -122.5663, 0, VEAltitudeMode.RelativeToGround),

        new VELatLong(45.4892, -122.5664, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.4886, -122.5665, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.4872, -122.5666, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.4853, -122.5666, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.4846, -122.5665, 0, VEAltitudeMode.RelativeToGround),
        
        new VELatLong(45.4835, -122.5665, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.4829, -122.5666, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.4819, -122.5666, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.4813, -122.5666, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.4810, -122.5666, 0, VEAltitudeMode.RelativeToGround),
        
        new VELatLong(45.4805, -122.5667, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.4800, -122.5668, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.4795, -122.5670, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.4793, -122.5670, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.4790, -122.5670, 0, VEAltitudeMode.RelativeToGround),
                                        
        new VELatLong(45.4785, -122.5670, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.4777, -122.5667, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.4772, -122.5665, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.4768, -122.5665, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.4762, -122.5665, 0, VEAltitudeMode.RelativeToGround),
        
        new VELatLong(45.4758, -122.5664, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.4746, -122.5663, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.4740, -122.5662, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.4733, -122.5661, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.4732, -122.5661, 0, VEAltitudeMode.RelativeToGround),
                                                        
        new VELatLong(45.4715, -122.5660, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.4705, -122.5659, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.4697, -122.5660, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.4688, -122.5662, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.4685, -122.5664, 0, VEAltitudeMode.RelativeToGround),
        
        new VELatLong(45.4676, -122.5668, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.4670, -122.5670, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.4661, -122.5677, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.4655, -122.5682, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.4651, -122.5685, 0, VEAltitudeMode.RelativeToGround),
        
        new VELatLong(45.4642, -122.5697, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.4631, -122.5706, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.4610, -122.5721, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.4599, -122.5727, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.4591, -122.5731, 0, VEAltitudeMode.RelativeToGround),
        
        new VELatLong(45.4577, -122.5739, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.4572, -122.5741, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.4564, -122.5741, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.4560, -122.5740, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.4547, -122.5737, 0, VEAltitudeMode.RelativeToGround),
        
        new VELatLong(45.4539, -122.5737, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.4533, -122.5736, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.4520, -122.5733, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.4510, -122.5731, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.4479, -122.5718, 0, VEAltitudeMode.RelativeToGround),
        
        new VELatLong(45.4462, -122.5714, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.4436, -122.5705, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.4421, -122.5699, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.4415, -122.5697, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.4400, -122.5692, 0, VEAltitudeMode.RelativeToGround),
        
        new VELatLong(45.4391, -122.5689, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.4381, -122.5686, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.4367, -122.5683, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.4357, -122.5680, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.4354, -122.5678, 0, VEAltitudeMode.RelativeToGround),
                                                                                                                
        new VELatLong(45.4349, -122.5677, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.4345, -122.5677, 0, VEAltitudeMode.RelativeToGround),
        new VELatLong(45.4340, -122.5677, 0, VEAltitudeMode.RelativeToGround)
    );
     myPolygon = new VEShape(VEShapeType.Polyline, points);
     myPolygon.SetLineWidth(6);
     myPolygon.HideIcon();
     map.AddShape(myPolygon);     
}

//formats the station pushpins
 function onStationsFeedLoad(feed)
 {      
    if(feed != null)
    {
        var numShapes = feed.GetShapeCount();
        for(var i=0; i < numShapes; ++i)
        {
            try
            {
                var shape1 = feed.GetShapeByIndex(i);
                var shapeHTML = shape1.GetDescription();
                var latlong = shape1.GetPoints()[0];
                var lat = latlong.Latitude;
                var lon = latlong.Longitude;

                shapeHTML = shapeHTML + "<br /><hr /><a onclick='JavaScript:DoZoom(" + lat + "," + lon + ") ;' style='background-color:#BBC423; cursor:pointer; color:black; padding:3px;border: solid 1px black;'>Zoom to this station</a>";
                var sImage = "";
        
                sImage = sImage + "<br />";
                shape1.SetDescription("<div style='z-index:5000;'>" + sImage + shapeHTML + "</div>"); 
            }
            catch(e)
            {

            }
        }
    }
 }
 function DoZoom(lat, lon) {
     map.SetCenterAndZoom(new VELatLong(lat, lon), 19);
     map.SetMapStyle(VEMapStyle.Hybrid);
 }
//imports Stations from the data feed.
function AddStations(map, bestlocation)
{
    var shapeSource = new VEShapeSourceSpecification(VEDataType.ImportXML, 'http://www.downtownlightrail.com/light-rail-maps/StationFeed.ashx?lineId=18', oStationShapeL);
    shapeSource.MaxImportedShapes = 500;
    map.ImportShapeLayerData(shapeSource, onStationsFeedLoad, bestlocation);
}

//formats the pushpins for the park-n-rides
function onParkRideLocFeedLoad(feed)
 {      
    if(feed != null)
    {
        var numShapes = feed.GetShapeCount();
        for(var i=0; i < numShapes; ++i)
        {
            try
            {
                var shape = feed.GetShapeByIndex(i);
                shape.SetCustomIcon("http://www.downtownlightrail.com/light-rail-maps/images/car.gif");
            }
            catch(e)
            {
            }
        }
    }
 }
 
//gets the park and ride locations and loads them in the shapelayer. 
function LoadParkRideLoc()
{
    //    var shapeSource = new VEShapeSourceSpecification (VEDataType.ImportXML, 'http://www.downtownlightrail.com/light-rail-maps/Parking.ashx?lineId=18', oPRShapeL);
//    map.ImportShapeLayerData(shapeSource, onParkRideLocFeedLoad, 0);
}

//function Resize()
//{
//    var mapDiv = document.getElementById("myMap");
//    var sqlTXT = document.getElementById("txtSQL");
//    var accordion = document.getElementById("Accordion1");
//    var windowWidth = document.body.clientWidth;
//    var windowHeight = document.body.clientHeight;
//    mapWidth = windowWidth - 305;
//    mapHeight = windowHeight  - 155;
//    mapDiv.style.width = mapWidth + "px";
//    mapDiv.style.height = mapHeight + "px";
//    sqlTXT.style.width = mapWidth - 175 + "px";
//    accordion.style.height = (windowHeight - 45) + "px";
//    map.Resize(mapWidth, mapHeight);
//    map.ShowMiniMap(mapWidth-205, 13, VEMiniMapSize.Large);
//}

//This function is used to hide and show the station shape layer after it is loaded.
function ToggleStationLayer()
{        
    if (oStationShapeL.GetVisibility())
    {
        oStationShapeL.Hide();
    }
    else
    {
        oStationShapeL.Show();
    }
}

//This function is used to hide and show the park-n-ride shape layer after it is loaded.
function ToggleParknRideLayer()
{        
    if (oPRShapeL.GetVisibility())
    {
        oPRShapeL.Hide();
    }
    else
    {
        oPRShapeL.Show();
    }
}

//Toggles traffic off and on.
function ToggleTraffic()
{
    if( bTrafficLoaded )
    {
        bTrafficLoaded = false;
        map.HideTrafficLegend();
        map.ClearTraffic();
    }
    else
    {
        bTrafficLoaded = true;
        map.ShowTrafficLegend(20,470);
        map.SetTrafficLegendText("Traffic");
        map.LoadTraffic(bTrafficLoaded);
    }
}

//Does the find functionality - yellow book find. bNext = -1 means a new search.
 function DoFind(numResults, bNext)
 {
    try
    {
        var what = document.getElementById('txtWhat').value;
        findLayer.DeleteAllShapes();
        findLayer = new VEShapeLayer();

        map.AddShapeLayer(findLayer);
        
        if(bNext == -1) 
        {
            index = 0;
        }
        else if(bNext != 1) 
        {
            index =  parseInt(index) - (numResults * 2)
        }
       
        if (index < 0) index = 0;
        if(numResults > 20) numResults = 20;
        results = map.Find(what,
                          null,
                          null,
                          findLayer,
                          index,
                          numResults,
                          true,
                          true,
                          true,
                          true,
                          MoreResults);
        index = parseInt(index)+numResults;
    }
    catch(e)
    {
       alert(e.message);
    }
 }

 function MoreResults(layer, resultsArray, places, hasMore, veErrorMessage)
 {
    var r = "";
    if(hasMore)
    {
        if(index > 10)
        {
            r = "<a href='#' onclick='javascript:DoFind(10,0);'>&lt;Prev</a>&nbsp;&nbsp;";
        }
        r = r + "<a href='#' onclick='javascript:DoFind(10,1);'>Next></a><hr />";
    }
    else if (index < 10)
    {
        r = "<a href='#' onclick='javascript:DoFind(10,1);'>Next></a><hr />";
    }
    else
    {
        if(index > 9)
        {
            r = "<a href='#' onclick='javascript:DoFind(10,0);'>&lt;Prev</a>";
        }
    }
    
    document.getElementById('results').innerHTML = r;
    var resList = "";
    
    if(layer != null)
    {
        var numShapes = layer.GetShapeCount();
        for(var i=0; i < numShapes; ++i)
        {
            var x = i + 1
            var shape = layer.GetShapeByIndex(i);
            shape.SetCustomIcon("http://www.downtownlightrail.com/light-rail-maps/images/Black" + x + ".gif");
            
            try
            {
                var fName = resultsArray[i].Name;
                var fDescrip = resultsArray[i].Description;
                var fPhone = resultsArray[i].Phone;
            }
            catch(e)
            {
            
            }
            resList = resList + "<img src='http://www.downtownlightrail.com/light-rail-maps/images/Black" + x + ".gif'</img>" + fName + "<br />" + fDescrip + "<br />" + fPhone +"<br /><hr />";
        }
    }
    document.getElementById('resultslist').innerHTML = resList;
 } 
 
function hideFindDiv() 
{ 
    //hide the find part of the control
    if (document.getElementById) 
    { // DOM3 = IE5, NS6 
        document.getElementById('findControl').style.visibility = 'hidden'; 
    } 
    else 
    { 
        if (document.layers) 
        { // Netscape 4 
            document.findControl.visibility = 'hidden'; 
        } 
        else 
        { // IE 4 
            document.all.findControl.style.visibility = 'hidden'; 
        } 
    } 
    
    //hide the results part of the control
    if (document.getElementById) 
    { // DOM3 = IE5, NS6 
        document.getElementById('results').style.visibility = 'hidden'; 
    } 
    else 
    { 
        if (document.layers) 
        { // Netscape 4 
            document.results.visibility = 'hidden'; 
        } 
        else 
        { // IE 4 
            document.all.results.style.visibility = 'hidden'; 
        } 
    } 
} 

function showFindDiv() 
{ 
    //show the find part of the control
    if (document.getElementById) 
    { // DOM3 = IE5, NS6 
        document.getElementById('findControl').style.visibility = 'visible'; 
    } 
    else 
    { 
        if (document.layers) 
        { // Netscape 4 
            document.findControl.visibility = 'visible'; 
        } 
        else 
        { // IE 4 
            document.all.findControl.style.visibility = 'visible'; 
        } 
    } 
    
     //show the results part of the control
    if (document.getElementById) 
    { // DOM3 = IE5, NS6 
        document.getElementById('results').style.visibility = 'visible'; 
    } 
    else 
    { 
        if (document.layers) 
        { // Netscape 4 
            document.results.visibility = 'visible'; 
        } 
        else 
        { // IE 4 
            document.all.results.style.visibility = 'visible'; 
        }
    }
} 
