﻿function addRegionalCenters() {
    _regionalCenters = new RegionalCenters();
    var junctions = new Array();
    var junc
    
    var rc = new RegionalCenter(1, "Portland", 45.518891, -122.679321);
    _regionalCenters.Add(rc);

    rc = new RegionalCenter(2, "Sunset", 45.510358, -122.77752);
    _regionalCenters.Add(rc);

    rc = new RegionalCenter(3, "Powell Blvd / 17th Ave", 45.500490, -122.649382, true);
    _regionalCenters.Add(rc);

    rc = new RegionalCenter(4, "Beaverton", 45.488411, -122.804196);
    _regionalCenters.Add(rc);

    rc = new RegionalCenter(5, "St. Johns", 45.589599, -122.7550508);
    _regionalCenters.Add(rc);

    rc = new RegionalCenter(6, "Washington Square", 45.45145, -122.776412);
    _regionalCenters.Add(rc);

    rc = new RegionalCenter(7, "Yellow Line", 45.585875, -122.686526, true);
    _regionalCenters.Add(rc);

    rc = new RegionalCenter(8, "Tigard", 45.432480, -122.768817);
    _regionalCenters.Add(rc);

    rc = new RegionalCenter(9, "Parkrose", 45.561621, -122.561673, true);
    _regionalCenters.Add(rc);

    rc = new RegionalCenter(10, "Bonita", 45.416571, -122.753154, true);
    _regionalCenters.Add(rc);

    //rc = new RegionalCenter(11, "Gateway", 45.533769, -122.557705);
    //_regionalCenters.Add(rc);

    rc = new RegionalCenter(12, "Lake Oswego", 45.429532, -122.656370);
    _regionalCenters.Add(rc);

    rc = new RegionalCenter(13, "Green Line", 45.497381, -122.568490, true);
    _regionalCenters.Add(rc);

    rc = new RegionalCenter(14, "Tualatin", 45.381302, -122.764403);
    _regionalCenters.Add(rc);

    rc = new RegionalCenter(15, "Milwaukie", 45.442673, -122.639377);
    _regionalCenters.Add(rc);

    rc = new RegionalCenter(16, "West Union", 45.567014, -122.898568, true);
    _regionalCenters.Add(rc);

    rc = new RegionalCenter(17, "Clackamas", 45.43331885, -122.572816);
    _regionalCenters.Add(rc);

    rc = new RegionalCenter(18, "Tanasbourne", 45.534129, -122.876016);
    _regionalCenters.Add(rc);

    rc = new RegionalCenter(19, "Oregon City", 45.35428, -122.602320);
    _regionalCenters.Add(rc);

    rc = new RegionalCenter(20, "Quatama", 45.522409, -122.886237, true);
    _regionalCenters.Add(rc);

    rc = new RegionalCenter(21, "Troutdale", 45.53858, -122.38639);
    _regionalCenters.Add(rc);

    rc = new RegionalCenter(22, "Hillsboro", 45.522638, -122.98797);
    _regionalCenters.Add(rc);

    rc = new RegionalCenter(23, "Gresham", 45.502921, -122.428016);
    _regionalCenters.Add(rc);

    rc = new RegionalCenter(24, "Forest Grove", 45.520952, -123.109907);
    _regionalCenters.Add(rc);

    rc = new RegionalCenter(25, "Damascus", 45.417355, -122.455034);
    _regionalCenters.Add(rc);

    rc = new RegionalCenter(26, "Sherwood", 45.36658, -122.848125);
    _regionalCenters.Add(rc);
    
    rc = new RegionalCenter(27, "Airport", 45.587364, -122.587890, true);
    _regionalCenters.Add(rc);
    
    rc = new RegionalCenter(28, "Wilsonville", 45.30298, -122.7658);
    _regionalCenters.Add(rc);

    //rc = new RegionalCenter(29, "Vancouver", 45.63156, -122.67121);
    //_regionalCenters.Add(rc);


    for (var i = 0; i < _regionalCenters.Count(); i++) { 
        _gmap.addOverlay(_regionalCenters.GetItem(i).CreateMarker()); 
    }
}


function addCorridors() {

    _corridors = new Corridors;

    // Portland - St Johns 
    r1 = _regionalCenters.FindByID(1);
    r2 = _regionalCenters.FindByID(5);
    corr = new Corridor(2, r1.Name + " to " + r2.Name, r1.Id + "." + r2.Id);
    corr.AddVertex(r1.Point);
    corr.AddVertex(r2.Point);
    corr.CapitalCost = 3;
    corr.OperatingCost = 3;
    corr.TravelTime = 4;
    corr.Riders = 2;
    corr.Benefits = 2;
    _corridors.Add(corr);

    // Portland - Tigard
    r1 = _regionalCenters.FindByID(1);
    r2 = _regionalCenters.FindByID(8);
    corr = new Corridor(7, r1.Name + " to " + r2.Name, r1.Id + "." + r2.Id);
    corr.AddVertex(r1.Point);
    corr.AddVertex(r2.Point);
    corr.CapitalCost = 4;
    corr.OperatingCost = 4;
    corr.TravelTime = 3;
    corr.Riders = 4;
    corr.Benefits = 3;
    _corridors.Add(corr);

    // St Johns - Yellow Line
    r1 = _regionalCenters.FindByID(5);
    r2 = _regionalCenters.FindByID(7);
    corr = new Corridor(8, r1.Name + " to " + r2.Name, r1.Id + "." + r2.Id);
    corr.AddVertex(r1.Point);
    corr.AddVertex(r2.Point);
    corr.CapitalCost = 2;
    corr.OperatingCost = 2;
    corr.TravelTime = 2;
    corr.Riders = 1;
    corr.Benefits = 1;
   _corridors.Add(corr);
    
    // Yellow Line - Red Line
    r1 = _regionalCenters.FindByID(7);
    r2 = _regionalCenters.FindByID(9);
    corr = new Corridor(10, r1.Name + " to " + r2.Name, r1.Id + "." + r2.Id);
    corr.AddVertex(r1.Point);
    corr.AddVertex(r2.Point);
    corr.CapitalCost = 3;
    corr.OperatingCost = 3;
    corr.TravelTime = 3;
    corr.Riders = 1;
    corr.Benefits = 2;
    _corridors.Add(corr);

    //Red line - Troutdale
    r1 = _regionalCenters.FindByID(9);
    r2 = _regionalCenters.FindByID(21);
    corr = new Corridor(12, r1.Name + " to " + r2.Name, r1.Id + "." + r2.Id);
    corr.AddVertex(r1.Point);
    corr.AddVertex(r2.Point);
    corr.CapitalCost = 4;
    corr.OperatingCost = 4;
    corr.TravelTime = 3;
    corr.Riders = 1;
    corr.Benefits = 2;
    _corridors.Add(corr);

    // Troutdale - Gresham
    r1 = _regionalCenters.FindByID(21);
    r2 = _regionalCenters.FindByID(23);
    corr = new Corridor(14, r1.Name + " to " + r2.Name, r1.Id + "." + r2.Id);
    corr.AddVertex(r1.Point);
    corr.AddVertex(r2.Point);
    corr.CapitalCost = 2;
    corr.OperatingCost = 2;
    corr.TravelTime = 1;
    corr.Riders = 3;
    corr.Benefits = 3;
    _corridors.Add(corr);

    // Gresham - Damascus
    r1 = _regionalCenters.FindByID(23);
    r2 = _regionalCenters.FindByID(25);
    corr = new Corridor(16, r1.Name + " to " + r2.Name, r1.Id + "." + r2.Id);
    corr.AddVertex(r1.Point);
    corr.AddVertex(r2.Point);
    corr.CapitalCost = 3;
    corr.OperatingCost = 2;
    corr.TravelTime = 3;
    corr.Riders = 3;
    corr.Benefits = 4;
    _corridors.Add(corr);

    // Green Line - Gresham
    r1 = _regionalCenters.FindByID(13);
    r2 = _regionalCenters.FindByID(23);
    corr = new Corridor(17, r1.Name + " to " + r2.Name, r1.Id + "." + r2.Id);
    corr.AddVertex(r1.Point);
    corr.AddVertex(r2.Point);
    corr.CapitalCost = 3;
    corr.OperatingCost = 4;
    corr.TravelTime = 3;
    corr.Riders = 3;
    corr.Benefits = 2;
    _corridors.Add(corr);
    
    // Powell/17th - Green Line
    r1 = _regionalCenters.FindByID(3);
    r2 = _regionalCenters.FindByID(13);
    corr = new Corridor(18, r1.Name + " to " + r2.Name, r1.Id + "." + r2.Id);
    corr.AddVertex(r1.Point);
    corr.AddVertex(r2.Point);
    corr.CapitalCost = 2;
    corr.OperatingCost = 3;
    corr.TravelTime = 2;
    corr.Riders = 3;
    corr.Benefits = 1;
    _corridors.Add(corr);

    // CTC - Milwaukie
    r1 = _regionalCenters.FindByID(15);
    r2 = _regionalCenters.FindByID(17);
    corr = new Corridor(20, r1.Name + " to " + r2.Name, r1.Id + "." + r2.Id);
    corr.AddVertex(r1.Point);
    corr.AddVertex(r2.Point);
    corr.CapitalCost = 2;
    corr.OperatingCost = 3;
    corr.TravelTime = 2;
    corr.Riders = 1;
    corr.Benefits = 3;
    _corridors.Add(corr);

    // CTC - Damascus
    r1 = _regionalCenters.FindByID(17);
    r2 = _regionalCenters.FindByID(25);
    corr = new Corridor(22, r1.Name + " to " + r2.Name, r1.Id + "." + r2.Id);
    corr.AddVertex(r1.Point);
    corr.AddVertex(r2.Point);
    corr.CapitalCost = 3;
    corr.OperatingCost = 3;
    corr.TravelTime = 2;
    corr.Riders = 2;
    corr.Benefits = 2;
    _corridors.Add(corr);

    //CTC - Oregon City
    r1 = _regionalCenters.FindByID(17);
    r2 = _regionalCenters.FindByID(19);
    corr = new Corridor(23, r1.Name + " to " + r2.Name, r1.Id + "." + r2.Id);
    corr.AddVertex(r1.Point);
    corr.AddVertex(r2.Point);
    corr.OperatingCost = 3;
    corr.CapitalCost = 2;
    corr.TravelTime = 2;
    corr.Riders = 3;
    corr.Benefits = 4;
    _corridors.Add(corr);

    // Milwaukie - Oregon City
    r1 = _regionalCenters.FindByID(15);
    r2 = _regionalCenters.FindByID(19);
    corr = new Corridor(24, r1.Name + " to " + r2.Name, r1.Id + "." + r2.Id);
    corr.AddVertex(r1.Point);
    corr.AddVertex(r2.Point);
    corr.CapitalCost = 3;
    corr.OperatingCost = 3;
    corr.TravelTime = 2;
    corr.Riders = 4;
    corr.Benefits = 3;
    _corridors.Add(corr);

    //Milwaukie - Lake Oswego 
    r1 = _regionalCenters.FindByID(12);
    r2 = _regionalCenters.FindByID(15);
    corr = new Corridor(25, r1.Name + " to " + r2.Name, r1.Id + "." + r2.Id);
    corr.AddVertex(r1.Point);
    corr.AddVertex(r2.Point);
    corr.CapitalCost = 1;
    corr.OperatingCost = 1;
    corr.TravelTime = 1;
    corr.Riders = 1;
    corr.Benefits = 1;
    _corridors.Add(corr);

    // Oregon City - Tualatin
    r1 = _regionalCenters.FindByID(14);
    r2 = _regionalCenters.FindByID(19);
    corr = new Corridor(26, r1.Name + " to " + r2.Name, r1.Id + "." + r2.Id);
    corr.AddVertex(r1.Point);
    corr.AddVertex(r2.Point);
    corr.CapitalCost = 4;
    corr.OperatingCost = 4;
    corr.TravelTime = 3;
    corr.Riders = 3;
    corr.Benefits = 4;
    _corridors.Add(corr);

//  Tualatin - Wilsonville
    r1 = _regionalCenters.FindByID(14);
    r2 = _regionalCenters.FindByID(28);
    corr = new Corridor(27, r1.Name + " to " + r2.Name, r1.Id + "." + r2.Id);
    corr.AddVertex(r1.Point);
    corr.AddVertex(r2.Point);
    corr.CapitalCost = 3; 
    corr.OperatingCost = 3;
    corr.TravelTime = 2;
    corr.Riders = 1;
    corr.Benefits = 3;
    _corridors.Add(corr);

    //Tualatin - Sherwood
    r1 = _regionalCenters.FindByID(14);
    r2 = _regionalCenters.FindByID(26);
    corr = new Corridor(28, r1.Name + " to " + r2.Name, r1.Id + "." + r2.Id);
    corr.AddVertex(r1.Point);
    corr.AddVertex(r2.Point);
    corr.CapitalCost = 2;
    corr.OperatingCost = 2;
    corr.TravelTime = 1;
    corr.Riders = 3;
    corr.Benefits = 2;
    _corridors.Add(corr);
    
//  Bonita - Tualatin
    r1 = _regionalCenters.FindByID(10);
    r2 = _regionalCenters.FindByID(14);
    corr = new Corridor(29, r1.Name + " to " + r2.Name, r1.Id + "." + r2.Id);
    corr.AddVertex(r1.Point);
    corr.AddVertex(r2.Point);
    corr.CapitalCost = 1;
    corr.OperatingCost = 2;
    corr.TravelTime = 1;
    corr.Riders = 2;
    corr.Benefits = 1;
    _corridors.Add(corr);

    //Lake Oswego - Bonita
    r1 = _regionalCenters.FindByID(10);
    r2 = _regionalCenters.FindByID(12);
    corr = new Corridor(30, r1.Name + " to " + r2.Name, r1.Id + "." + r2.Id);
    corr.AddVertex(r1.Point);
    corr.AddVertex(r2.Point);
    corr.CapitalCost = 2;
    corr.OperatingCost = 3;
    corr.TravelTime = 3;
    corr.Riders = 3;
    corr.Benefits = 3;
    _corridors.Add(corr);

//  Tigard - Bonita
    r1 = _regionalCenters.FindByID(8);
    r2 = _regionalCenters.FindByID(10);
    corr = new Corridor(31, r1.Name + " to " + r2.Name, r1.Id + "." + r2.Id);
    corr.AddVertex(r1.Point);
    corr.AddVertex(r2.Point);
    corr.CapitalCost = 1;
    corr.OperatingCost = 1;
    corr.TravelTime = 1;
    corr.Riders = 2;
    corr.Benefits = 3;
    _corridors.Add(corr);

//    Washington Square - Tigard
    r1 = _regionalCenters.FindByID(6);
    r2 = _regionalCenters.FindByID(8);
    corr = new Corridor(32, r1.Name + " to " + r2.Name, r1.Id + "." + r2.Id);
    corr.AddVertex(r1.Point);
    corr.AddVertex(r2.Point);
    corr.CapitalCost = 1;
    corr.OperatingCost = 1;
    corr.TravelTime = 1;
    corr.Riders = 3;
    corr.Benefits = 1;
    _corridors.Add(corr);

    //Tigard - Sherwood
    r1 = _regionalCenters.FindByID(8);
    r2 = _regionalCenters.FindByID(26);
    corr = new Corridor(33, r1.Name + " to " + r2.Name, r1.Id + "." + r2.Id);
    corr.AddVertex(r1.Point);
    corr.AddVertex(r2.Point);
    corr.CapitalCost = 3;
    corr.OperatingCost = 3;
    corr.TravelTime = 2;
    corr.Riders = 4;
    corr.Benefits = 3;
    _corridors.Add(corr);

//  Beaverton - Washington Square
    r1 = _regionalCenters.FindByID(4);
    r2 = _regionalCenters.FindByID(6);
    corr = new Corridor(35, r1.Name + " to " + r2.Name, r1.Id + "." + r2.Id);
    corr.AddVertex(r1.Point);
    corr.AddVertex(r2.Point);
    corr.CapitalCost = 2; 
    corr.OperatingCost = 1;
    corr.TravelTime = 1;
    corr.Riders = 3;
    corr.Benefits = 4;
    _corridors.Add(corr);

    //Hillsboro - Beaverton
    r1 = _regionalCenters.FindByID(4);
    r2 = _regionalCenters.FindByID(22);
    corr = new Corridor(37, r1.Name + " to " + r2.Name, r1.Id + "." + r2.Id);
    corr.AddVertex(r1.Point);
    corr.AddVertex(r2.Point);
    corr.CapitalCost = 4;
    corr.OperatingCost = 4;
    corr.TravelTime = 3;
    corr.Riders = 4;
    corr.Benefits = 4;
    _corridors.Add(corr);

    //Forest Grove - Hillsboro
    r1 = _regionalCenters.FindByID(22);
    r2 = _regionalCenters.FindByID(24);
    corr = new Corridor(38, r1.Name + " to " + r2.Name, r1.Id + "." + r2.Id);
    corr.AddVertex(r1.Point);
    corr.AddVertex(r2.Point);
    corr.CapitalCost = 3;
    corr.OperatingCost = 3;
    corr.TravelTime = 2;
    corr.Riders = 3;
    corr.Benefits = 3;
    _corridors.Add(corr);

    //Rock Creek - Hwy 26
    r1 = _regionalCenters.FindByID(16);
    r2 = _regionalCenters.FindByID(18);
    corr = new Corridor(39, r1.Name + " to " + r2.Name, r1.Id + "." + r2.Id);
    corr.AddVertex(r1.Point);
    corr.AddVertex(r2.Point);
    corr.CapitalCost = 1;
    corr.OperatingCost = 1;
    corr.TravelTime = 1;
    corr.Riders = 1;
    corr.Benefits = 1;
    _corridors.Add(corr);

    //Hwy 26 - Quatama
    r1 = _regionalCenters.FindByID(18);
    r2 = _regionalCenters.FindByID(20);
    corr = new Corridor(40, r1.Name + " to " + r2.Name, r1.Id + "." + r2.Id);
    corr.AddVertex(r1.Point);
    corr.AddVertex(r2.Point);
    corr.CapitalCost = 1;
    corr.OperatingCost = 1;
    corr.TravelTime = 1;
    corr.Riders = 2;
    corr.Benefits = 3;
    _corridors.Add(corr);

    //Hillsboro - Tanasbourne
    r1 = _regionalCenters.FindByID(18);
    r2 = _regionalCenters.FindByID(22);
    corr = new Corridor(42, r1.Name + " to " + r2.Name, r1.Id + "." + r2.Id);
    corr.AddVertex(r1.Point);
    corr.AddVertex(r2.Point);
    corr.CapitalCost = 2;
    corr.OperatingCost = 4;
    corr.TravelTime = 3;
    corr.Riders = 2;
    corr.Benefits = 2;
    _corridors.Add(corr);

    //Tanasbourne - Sunset TC
    r1 = _regionalCenters.FindByID(2);
    r2 = _regionalCenters.FindByID(18);
    corr = new Corridor(43, r1.Name + " to " + r2.Name, r1.Id + "." + r2.Id);
    corr.AddVertex(r1.Point);
    corr.AddVertex(r2.Point);
    corr.CapitalCost = 2;
    corr.OperatingCost = 3;
    corr.TravelTime = 2;
    corr.Riders = 4;
    corr.Benefits = 4;
    _corridors.Add(corr);

    for (var i = 0; i < _corridors.Count(); i++) {
        var cor = _corridors.GetItem(i);
        if (cor.visible) {
            var line = cor.CreateLine();
            _gmap.addOverlay(line);
        }
    }

}