﻿/********************************************************************
 *
 * Manages SunMetro Bus Routes and Terminals RSSs
 * Author: TTI, Gabriel Torres
 * Date:   January 25, 2008
 *
 *******************************************************************/

var veLayerBusRoutes  = null;               //layer not loaded by default
var veLayerBusTerms   = new VEShapeLayer(); //layer loaded by default
var bLayerBusRoutes   = false;
//bus route line color and line width
var kLineRte16        = new VEColor(255,50,50,1.0);
var kRteLineWidth     = 2;
var kBusRoutesRSSFile = "RSS/BusRoutes.xml?";
var kBusTermsRSSFile  = "RSS/BusTerminals.xml?";


// Configure bus terminal icons
// Created: Gabriel, 12/02/07
function ConfigureBusTerminalIcons(layer)
{
    var iShapes = layer.GetShapeCount();
    for(var i=0; i < iShapes; ++i) {
        var shape = layer.GetShapeByIndex(i);
        shape.SetCustomIcon("<img src='../Images/bus.gif' height='16px' width='18px' />");               
    }
}

// Load Border Wait time map layer
// Created: Gabriel, 8/30/07
function LoadBusTerminals(go)
{
    showProgressIndicator("Updating bus terminals");
    if (!go)
        setTimeout(function() { LoadBusTerminals(1); }, iAsyncDelay);
    else {
        veLayerBusTerms.DeleteAllShapes();
        var veShapeSpec = new VEShapeSourceSpecification(VEDataType.GeoRSS, 
                            kBusTermsRSSFile + GetRan(), veLayerBusTerms);
        map.ImportShapeLayerData(veShapeSpec, ConfigureBusTerminalIcons, false);
        window.status = "Bus terminals updated";
        hideProgressIndicator();
    }
}

// Configure bus route lines
// Created: Gabriel, 12/03/07
function ConfigureBusRouteLines(layer)
{   
    var sTite;
    var lineRoute;
    var iShapes = layer.GetShapeCount();
    for(var i=0; i < iShapes; ++i) {
        var shape = layer.GetShapeByIndex(i);
        sTitle = shape.GetTitle();
        if (sTitle == "Sunmetro Route 16")
                lineRoute = kLineRte16;
        //add rest of routes here                 
        shape.SetCustomIcon("<img src='../Images/busroute.gif' />");
        shape.SetLineColor(lineRoute);
        shape.SetLineWidth(kRteLineWidth);
    }
}

// Load SunMetro bus routes layer
// Created: Gabriel, 5/15/07
// Updated: Gabriel, 7/18/07, Use RSS feed
function LoadBusRoutes(go)
{
    showProgressIndicator("Loading bus routes");        
    if (!go)
        setTimeout(function() { LoadBusRoutes(1); }, iAsyncDelay);
    else {
        if (!bBusRoutes) {
            veLayerBusRoutes = new VEShapeLayer();        
            var veShapeSpec = new VEShapeSourceSpecification(VEDataType.GeoRSS, 
                                kBusRoutesRSSFile + GetRan(), veLayerBusRoutes);
            map.ImportShapeLayerData(veShapeSpec, ConfigureBusRouteLines, false);
            bBusRoutes = true;
        }
        else veLayerBusRoutes.Show();
        hideProgressIndicator();
    }
}