// JScript File
// This file provides functions to calculate and format date and time 
// on the client-side (browser). 

    //*******************************************************************************
    // Function:     GetDateMonthYear
    // Author:       Michael Chu
    // Project:      iMove Build 0.3
    // Date:         Sep 11 2006
    //
    // Description:  Formate datetime string as date format ("mmm dd yyyy hh:mm AM").
    //
    // Parameters:   datetime as string to be formatted
    // Returns:      date in this format ("mmm dd yyyy hh:mm AM")
    // Called By:    
    //
    // Revision History:
    //
    //   Name        Date        Description
    //  ------       ------      ------------------------------------------------
    //
    //*******************************************************************************
    function GetDateMonthYear(dateString)
    {
// Debug variable (set to 1 to debug)
var debug = 0;

        if (dateString == null || dateString == "")
            return "";

        var longNames = new Array("January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December");

        var shortNames = new Array("Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec");

        var d = new Date(dateString);        
        
if (debug)
    alert(d);
    
        var curr_date = d.getDate();

        var curr_month = d.getMonth() + 1;

        var curr_year = d.getFullYear();
        
        var curr_hour = d.getHours();
        
        var a_p = "";
        
        if (curr_hour < 12)
        {
            a_p = "AM";
        }
        else
        {
            a_p = "PM";
        }
        if (curr_hour == 0)
        {
            curr_hour = 12;
        }
        if (curr_hour > 12)
        {
            curr_hour = curr_hour - 12;
        }
        
        var curr_min = d.getMinutes();

        curr_min = curr_min + "";

        if (curr_min.length == 1)
        {
           curr_min = "0" + curr_min;
        }

        dateString = shortNames[curr_month - 1] + " " + curr_date + " " + curr_year 
                        + " " + curr_hour + ":" + curr_min + " " + a_p;

if (debug)
    alert(dateString);
    
        return dateString;    
    }

    //*******************************************************************************
    // Function:     getTimeStampQueryString
    // Author:       Michael Chu
    // Project:      iMove Build 0.7
    // Date:         Nov 10 2006
    //
    // Description:  Return Time Stamp Query String to append to URL so that
    //               browser will use latest image rather than cached ones.
    //
    // Parameters:   
    // Returns:      Time Stamp QueryString
    // Called By:    
    //
    // Revision History:
    //
    //   Name        Date        Description
    //  ------       ------      ------------------------------------------------
    //
    //*******************************************************************************
    function getTimeStampQueryString()
    {
        var timeStamp;
        timeStamp = new String(new Date());
        timeStamp = URLEncode(timeStamp);
        
        return "?TimeStamp=" + timeStamp;
    }


    function getTimeStampAndQueryString()
    {
        var timeStamp;
        timeStamp = new String(new Date());
        timeStamp = URLEncode(timeStamp);
        
        return "&TimeStamp=" + timeStamp;
    }
    
    //*******************************************************************************
    // Function:     timeStampUrl
    // Author:       Michael Chu
    // Project:      iMove Build 1.6
    // Date:         Jan 11 2007
    //
    // Description:  Append the TimeStamp query string parameter
    //               so returned response is real time rather than cached.
    //
    // Parameters:   
    // Returns:      URL with Time Stamp QueryString
    // Called By:    
    //
    // Revision History:
    //
    //   Name        Date        Description
    //  ------       ------      ------------------------------------------------
    //
    //*******************************************************************************
    function timeStampUrl(url)
    {
        
        var queryStringParameter = "TimeStamp";
        
        var index = url.indexOf(queryStringParameter); 

        if (index == -1){
    
            var timeStamp;
            timeStamp = new String(new Date());
            timeStamp = URLEncode(timeStamp);
            
            var queryString = "TimeStamp=" + timeStamp;
            
            // check if it has ?
            var qmIndex = url.indexOf("?");
            
            if (qmIndex == -1)
                return url + "?" + queryString;
            else
                return url + "&" + queryString;
        }
        else
        {
            // already have timestamp
            return url;
        }
    }
    