﻿// Script File ***************************************************
//Developer: Alexander Bell
//Copyright (C) 2007 Alexander Bell
//****************************************************************

// FUNCTION RETURNS DATE/TIME STRING *****************************
//****************************************************************
// ShowDate :   INCLUDE DATE
// ShowTime :   INCLUDE TIME
// md       :   DATE/MONTH FORMAT: MM/DD (default) or DD/MM
// Clock24  :   12 OR 24 HOURS CLOCK
// ShowMS   :   INCLUDE MILLISECONDS, 1 DIGIT
// LocUTC   :   USE LOCAL OR UTC TIME
function DateAndTime(ShowDate, 
                     ShowTime, 
                     md, 
                     Clock24, 
                     ShowMS, 
                     LocUTC)
{
    //VAR DECLARATION-----------------
    var yyyy;       //Year
    var mm;         //Month
    var dd;         //Day
    var h;          //Hours
    var m;          //Minutes
    var s;          //Seconds
    var ms;         //Milliseconds
    var ampm;       //AM or PM
    var strD;       //Temp string Date
    var strT;       //Temp string Time
    var ret="";     //Return string
    //----------------------------------

    //DATE and TIME OBJECT
    now = new Date();

    //IF PARAMETER IS NOT EMPTY, FORMAT AND ADD DATE
    if (ShowDate!=""){
        //UTC DATE
        if (LocUTC=="UTC") {
	        yyyy =now.getUTCFullYear();
	        mm =now.getUTCMonth()+1;
	        dd =now.getUTCDate();
	    }
	    //LOCAL DATE (Default)
	    else {
	    	yyyy =now.getYear();
	        mm =now.getMonth()+1;
	        dd =now.getDate();
	    }
    
        //USE 2 DIGITS FORMAT FOR MONTH AND DAY
        if (mm<10) mm="0"+mm;
        if (dd<10) dd="0"+dd;
        
        //USE FORMAT MMDD or DDMM, Default: MMDD
        if (md=="ddmm") {strD=dd+'/'+mm+'/'+yyyy;}
        else {strD=mm+'/'+dd+'/'+yyyy;}
        
        //DATE STRING
        ret=strD+"&nbsp;";
    }

    //IF PARAMETER IS NOT EMPTY, FORMAT AND ADD TIME
    if (ShowTime!=""){
        //UTC TIME
        if (LocUTC=="UTC") {
	        h =now.getUTCHours();
	        m =now.getUTCMinutes();
	        s =now.getUTCSeconds();
	        ms=now.getUTCMilliseconds();
	    }
	    //LOCAL TIME(Default)
	    else {
	        h =now.getHours();
	        m =now.getMinutes();
	        s =now.getSeconds();
	        ms=now.getMilliseconds();
	    }
    
        //USE 2 DIGITS FOR H, M AND S
        if (h<10) h="0"+h;
        if (m<10) m="0"+m;
        if (s<10) s="0"+s;

        // ADD MILLISECONDS
        if(ShowMS!=""){ ms=Math.round(ms/100 -0.5);}

        //12/24 Clock (default 12 hr clock)
        if (Clock24=="24") {strT =h+':'+m+':'+s + ms;}
        else {
	        ampm= (h>=12) ? "PM":"AM";
	        if (h>12) 	h-=12;
	        if (h==0) 	h=12;
	        strT= h+':'+m+':'+s+'.'+ ms+ '&nbsp;' +ampm;
	     }
	    //TIME STRING
        ret += strT;
    }
    
    //ADD OPTIONAL UTC PREFIX
    ret=((LocUTC=="UTC")? "UTC " : "" )+ret;

    //RETURN STRING
    return(ret);
}
//****************************************************************
