﻿var map = null;
    
function GetMap(terminalNumber,latitude,longitude)
{
    if (latitude != '0')
    {
        if(terminalNumber)
        {
            map = new VEMap('myTerminal');
            map.LoadMap(new VELatLong(latitude,longitude),12,'r',false); //Load and center map using road style and fixed positioning. 
            map.HideDashboard();
            doAjaxAction('AJAXSupport/TerminalData.aspx?FacNum=' + terminalNumber);
        }
        else
        {
            map = new VEMap('myMap');
            map.LoadMap(new VELatLong(40,-97),3,'r',false); //Load and center map using road style and fixed positioning. 
            map.HideDashboard();
            doAjaxAction('AJAXSupport/TerminalData.aspx');
        }
    }
}

function GetXmlHttp()
{
    var x = null;

    try
    {
        x = new ActiveXObject("Msxml2.XMLHTTP");
    }
        catch (e)
    {
    
    try
    {
        x = new ActiveXObject("Microsoft.XMLHTTP");
    }
    catch (e)
    {
        x = null;
    }            
    }

    if (!x && typeof XMLHttpRequest != "undefined")
    {
    x = new XMLHttpRequest();            
    }

    return x;
}

function doAjaxAction(sourceUrl)
{
    //Update the message area to give the user a status.
    //document.getElementById('QueryResults').innerHTML = "Beginning query...";

    //Built the url to call the server
    var url = sourceUrl;

    //Start by getting the appropriate XMLHTTP object for the browser
    var xmlhttp = GetXmlHttp();

    //If we have a valid xmlhttp object
    if (xmlhttp)
    {
    xmlhttp.open("GET", url, true);  // varAsync = true;

    //Set the callback.  This function is called when we 
    xmlhttp.onreadystatechange = function()
    {
        if (xmlhttp.readyState == 4)  //4 is a success
        {
            //Server code creates javascript "on the fly" for us to
            //execute using eval()
            var result = xmlhttp.responseText;
            eval(result);
        }
    }

    xmlhttp.send(null);
    }
}

function centerOnTerminal(latitude,longitude,zoomlevel)
{
    map.SetCenter(new VELatLong(latitude,longitude));
    map.SetZoomLevel(zoomlevel);
}

function getNewPushPins()
{
    var dropDown = document.getElementById('DropDownList1');
    map.Clear();
    centerMap();
    doAjaxAction('TerminalData.aspx?type=' + dropDown.value);
}

function isDate(dateStr) 
{
    var datePat = /^(\d{1,2})(\/|-)(\d{1,2})(\/|-)(\d{4})$/;
    var matchArray = dateStr.match(datePat); // is the format ok?

    if (matchArray == null) 
    {
        alert("Please enter date as either mm/dd/yyyy or mm-dd-yyyy.");
        return false;
    }

    month = matchArray[1]; // parse date into variables
    day = matchArray[3];
    year = matchArray[5];

    if (month < 1 || month > 12) { // check month range
        alert("Month must be between 1 and 12.");
        return false;
    }

    if (day < 1 || day > 31) {
        alert("Day must be between 1 and 31.");
        return false;
    }

    if ((month==4 || month==6 || month==9 || month==11) && day==31) {
        alert("Month "+month+" doesn`t have 31 days!")
        return false;
    }

    if (month == 2) 
    { // check for february 29th
        var isleap = (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0));
        if (day > 29 || (day==29 && !isleap)) {
        alert("February " + year + " doesn`t have " + day + " days!");
        return false;
    }
    }
    return true; // date is valid
}






