﻿/********************************************************************
 *
 * Manages Border Wait Time RSS 
 * Author: TTI, Gabriel Torres
 * Date:   January 25, 2008
 *
 *******************************************************************/

var veLayerBorder  = new VEShapeLayer(); //layer will get loaded by default
var iBorderRefRate = 1800000; //30 minutes (milliseconds)
var kBorderRSSFile = "RSS/BorderWait.xml?";

// Configure border wait time icons
// Created: Gabriel, 8/30/07
function ConfigureBorderIcons(layer)
{
    var iShapes = layer.GetShapeCount();
    var sTitle = ""; sIcon = "";
    for(var i=0; i < iShapes; ++i) 
    {
        var shape = layer.GetShapeByIndex(i);
        sTitle = shape.GetTitle();
        sStatus = sTitle.substring(sTitle.length-2,sTitle.length);
        sTitle = sTitle.substring(0,sTitle.length-2);
            
        if (sStatus == "~g") 
            sIcon = "<img src='../Images/Crossing-Green.GIF' />";
        else if (sStatus == "~y") 
            sIcon = "<img src='../Images/Crossing-Yellow.GIF' />";
        else if (sStatus == "~r") 
            sIcon = "<img src='../Images/Crossing-Red.GIF' />";
        else 
            sIcon = "<img src='../Images/Crossing-Closed.GIF' />";
        //sIcon += " height='21px' width='30px' />";
        shape.SetCustomIcon(sIcon);         
        shape.SetTitle(sTitle);
    }
}

// Load Border Wait time map layer
// Created: Gabriel, 8/30/07
function LoadBorderWaitTimes(go)
{
    showProgressIndicator("Updating border times");
    if (!go)
        setTimeout(function() { LoadBorderWaitTimes(1); }, iAsyncDelay);
    else {
        veLayerBorder.DeleteAllShapes();
        var veShapeSpec = new VEShapeSourceSpecification(VEDataType.GeoRSS, 
                            kBorderRSSFile + GetRan(), veLayerBorder);
        map.ImportShapeLayerData(veShapeSpec, ConfigureBorderIcons, false);
        window.status = "Border wait times updated";
        hideProgressIndicator();
    }
}