﻿/* g l o b a l   v a r s */
var map=null;
var FindControlVisible=false;
var ShapesVisible=true;
var RouteVisible=false;
var Beltlayer = new VEShapeLayer();
var SWFWlayer = new VEShapeLayer();
var IH45layer = new VEShapeLayer();
var PINLayer = new VEShapeLayer();
var layerList = null;

function init()
{
    SetMapSize(); //size the container
    window.onresize = SetMapSize;
    
    map = new VEMap('myMap');
    map.LoadMap(new VELatLong(29.732380648446938,-95.43504595756533 ), 18, 'r' );
    map.HideDashboard();
    map.AttachEvent("onclick", ReportLatLong);
    map.AttachEvent("onendzoom", ResetZoomInfo);
    
    layerList = MSR.CVE.ImportLayersFromAnchorHRef("CrunchedLayers");
    MSR.CVE.StartAutomaticLegends(map, layerList);
    var permalinkProvided = MSR.CVE.ApplyPermalink(map, document.layerCheckboxForm);
    if (!permalinkProvided) 
    {
		MSR.CVE.ActivateAlphaLayer(map, layerList, 'New Layer');
		MSR.CVE.SetCenterAndZoomForLayer(map, layerList, 'New Layer');
	}
   
    myBox.filters.item("DXImageTransform.Microsoft.Shadow").enabled=false;
    
    CreatePinObjects();
    LoadCameraPins();
}

function TogglePinLayer(name, op)
{
    var lyr=eval(name);
    if (op=='hide')
        lyr.Hide();
    else
        lyr.Show();
}

function ToggleLayer(name, active)
{
  if (active==true)
     MSR.CVE.ActivateAlphaLayer(map, layerList, name);
  else
     MSR.CVE.DeactivateAlphaLayer(map, name);
}

function ZoomIn() { map.ZoomIn(); }
function ZoomOut() { map.ZoomOut(); }
function ResetZoomInfo()
{
    var lvl=map.GetZoomLevel();
    var ZmBar=document.getElementById('zoomBar');
    ZmBar.style.width=((lvl + 1)*5) + '%';
}

function Road() { map.SetMapStyle('r'); }
function Aerial() { map.SetMapStyle('a'); }
function Hybrid() { map.SetMapStyle('h'); }

function Route()
{
    if (RouteVisible)
        map.DeleteRoute();
    else
        map.GetRoute("5411 Floyd St, Houston, TX 77007, United States", "Colquitt St Houston, TX 77046, United States ");
    RouteVisible = !RouteVisible;
}


function Opaque(itm, num)
{
    itm.filters.item("DXImageTransform.Microsoft.Alpha").opacity=num;
    if (num==50)
        itm.filters.item("DXImageTransform.Microsoft.Shadow").enabled=false;
    else
        itm.filters.item("DXImageTransform.Microsoft.Shadow").enabled=true;
}

function ReportLatLong(e)
{
    var Lat;
    var Lng;

    if (map.GetMapStyle()=='o')
    {
        Lat=''; Lng='';
    }
    else
    {
        var x = e.mapX;
        var y = e.mapY;
        pixel = new VEPixel(x, y);
        var LL = map.PixelToLatLong(pixel);

        Lat=LL.Latitude;
        Lng=LL.Longitude;
    }
    
    var tLat=document.getElementById('txtLAT');
    var tLng=document.getElementById('txtLNG');
    tLat.value=Lat;
    tLng.value=Lng;
    
    //!!! THIS STUFF WILL BE DATA DRIVEN IN A REAL APP WITH AJAX!!!
    var ttl=document.getElementById('dtlTitle');
    var img=document.getElementById('imgStack');
    
    //Determine if a bldg was clicked
    if (Lat>29.733023477950553 && Lat<29.733209804572883 && Lng>-95.4358720779419 && Lng<-95.43512374162675)
    {
        ttl.innerHTML='Twelve Greenway Plaza';
        img.src='images/stack_12.jpg';
        ToggleDetails();
        return true;
    } 
    if (Lat>29.733023477950553 && Lat<29.733209804572883 && Lng>-95.43512374162675 && Lng<-95.43427348136903)
    {
        ttl.innerHTML='Eight Greenway Plaza';
        img.src='images/stack_8.jpg';
        ToggleDetails();
        return true;
    } 
    if (Lat>29.731728498364518 && Lat<29.732515736148265 && Lng>-95.43575406074522 && Lng<-95.43534636497499)
    {
        ttl.innerHTML='Eleven Greenway Plaza';
        img.src='images/stack_11.jpg';
        ToggleDetails();
        return true;
    }
    if (Lat>29.73174247305358 && Lat<29.732534368920376 && Lng>-95.43479919433594 && Lng<-95.43433248996734)
    {
        ttl.innerHTML='Nine Greenway Plaza';
        img.src='images/stack_9.jpg';
        ToggleDetails();
        return true;
    }
}

function ToggleDetails()
{
    var dtl = document.getElementById('myDetail');
    if (dtl.style.visibility=='visible')
        dtl.style.visibility='hidden';
    else
        dtl.style.visibility='visible';
}

function ToggleFind()
{
    if (FindControlVisible)
        map.HideFindControl();
    else
        map.ShowFindControl();
    FindControlVisible = !FindControlVisible;
}

function GetSize()
{
    var myWidth = 0, myHeight = 0;

    if( typeof( window.innerWidth ) == 'number' ) {
        //Non-IE
        myWidth = window.innerWidth;
        myHeight = window.innerHeight;
    } else if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) {
        //IE 6+ in 'standards compliant mode'
        myWidth = document.documentElement.clientWidth;
        myHeight = document.documentElement.clientHeight;
    } else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) {
        //IE 4 compatible
        myWidth = document.body.clientWidth;
        myHeight = document.body.clientHeight;
    }

    if (myWidth > 0)
    {
            var result = new Array();
            result[0] = myWidth;
            result[1] = myHeight;
            return result;
    }
    else
    {
            return null;
    }
}

function SetMapSize()
{
    var browserSize = GetSize();

    var cWidthOff = 5;
    var cHeightOff = 98;
    
    var div = document.getElementById("myMap");

    if (browserSize != null)
    {
            div.style.width = (browserSize[0] - cWidthOff) + "px";
            div.style.height = (browserSize[1] - cHeightOff) + "px";
    }
    else
    {
            div.style.width = "800px";
            div.style.height = "600px";
    }
    div.style.overflow = "hidden";
    div.style.position = "relative";
}


function LoadCameraPins()
{
    var pin;
    var dftDesc = 'Houston TranStar Cameras';
    var imageLocation = "http://www.houstontranstar.org/snapshots/cctv/";
    var baseLnk = "http://traffic.houstontranstar.org/cctv/transtar/by_roadway.html?mnu=freeway&rd=";
    var lnk;
    
    for (i = 0; i < cctvCameras.length; i++)
    { 
        var thisCamera = cctvCameras[i];
        if (thisCamera.validimg=='True' &&
            (thisCamera.roadway=='US-59 Southwest'||thisCamera.roadway=='IH-45 North'||thisCamera.roadway=='Beltway 8-North'))
        {
            lnk = baseLnk + thisCamera.roadway.replace(" ","_");
            pin=new VEShape(VEShapeType.Pushpin, new VELatLong(eval(thisCamera.lat),eval(thisCamera.lng)));
            pin.SetTitle(thisCamera.name);
            pin.SetDescription(dftDesc + '<br />(' + thisCamera.lat + ',' + thisCamera.lng + ')');
            pin.SetPhotoURL(imageLocation + thisCamera.path);
            pin.SetMoreInfoURL(lnk);
            
            switch (thisCamera.roadway) {
                case 'US-59 Southwest':
                    pin.SetCustomIcon('<img src="images/cam_pin.png" />');
                    SWFWlayer.AddShape(pin);
                    break;
                case 'IH-45 North':
                    pin.SetCustomIcon('<img src="images/cam_pin.png" />');
                    IH45layer.AddShape(pin);
                    break;
                case 'Beltway 8-North':
                    pin.SetCustomIcon('<img src="images/cam_pin.png" />');
                    Beltlayer.AddShape(pin);
                    break;
            }
        }
    }
    Beltlayer.Hide();
    //SWFWlayer.Hide();
    IH45layer.Hide();
    
    map.AddShapeLayer(Beltlayer);
    map.AddShapeLayer(SWFWlayer);
    map.AddShapeLayer(IH45layer);
}

