
var firstTime = 'y';
function getcurrentdate()
{
var dayarray=new Array("Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday");
var montharray=new Array("January","February","March","April","May","June","July","August","September","October","November","December");
  var mydate=new Date();
  var year=mydate.getYear();
  if (year < 1000)
 	 	 year+=1900;
  var day=mydate.getDay();
  var month=mydate.getMonth();
  var daym=mydate.getDate();
  if (daym<10)
  	 daym="0"+daym;
  var hours=mydate.getHours();
  var minutes=mydate.getMinutes();
  var seconds=mydate.getSeconds();
  var dn="AM";
  if (hours>=12)
  	 dn="PM";
  if (hours>12)
		 {
  	 hours=hours-12;
  	 }
  if (hours==0)
  	 hours=12;
  if (minutes<=9)
  	 minutes="0"+minutes;
  if (seconds<=9)
	  seconds="0"+seconds;
  
  var cdate="<big><b>"+dayarray[day]+", "+montharray[month]+" "+daym+", "+year+" "+hours+":"+minutes+":"+seconds+" "+dn
  +"</big>";
  if (document.all)
  document.all.clock.innerHTML=cdate
  else
	document.write(cdate)
}
function getcurrentUTCtime()
{
  var mydate=new Date();
 
  var hours=mydate.getUTCHours();
  var minutes=mydate.getUTCMinutes();
  var seconds=mydate.getUTCSeconds();

  if (minutes<=9)
  	 minutes="0"+minutes;
  if (seconds<=9)
	  seconds="0"+seconds;
  
  var cdate="<big><b> UTC time is "+hours+":"+minutes+":"+seconds
  +"</big>";
  if (document.all)
  document.all.UTCclock.innerHTML=cdate
  else
	document.write(cdate)
}
function showdate()
{
 if (firstTime == 'y')
 {
 	getcurrentdate();
 	firstTime = 'n';
 }
  if (document.all)
  setInterval("getcurrentdate()",1000);
}
function showUTCdate()
{
 if (firstTime == 'y')
 {
 	getcurrentUTCtime();
 	firstTime = 'n';
 }
  if (document.all)
  setInterval("getcurrentUTCtime()",1000);
}


var dDate = new Date();
var dCurMonth = dDate.getMonth();
var dCurDayOfMonth = dDate.getDate();
var dCurYear = dDate.getFullYear();
var objPrevElement = new Object();

function fToggleColor(myElement) {
var toggleColor = "#ff0000";
if (myElement.id == "calDateText") {
if (myElement.color == toggleColor) {
myElement.color = "";
} else {
myElement.color = toggleColor;
   }
} else if (myElement.id == "calCell") {
for (var i in myElement.children) {
if (myElement.children[i].id == "calDateText") {
if (myElement.children[i].color == toggleColor) {
myElement.children[i].color = "";
} else {
myElement.children[i].color = toggleColor;
            }
         }
      }
   }
}
function fSetSelectedDay(myElement){
if (myElement.id == "calCell") {
if (!isNaN(parseInt(myElement.children["calDateText"].innerText))) {
myElement.bgColor = "#c0c0c0";
objPrevElement.bgColor = "";
document.all.calSelectedDate.value = parseInt(myElement.children["calDateText"].innerText);
objPrevElement = myElement;
      }
   }
}
function fGetDaysInMonth(iMonth, iYear) {
var dPrevDate = new Date(iYear, iMonth, 0);
return dPrevDate.getDate();
}
function fBuildCal(iYear, iMonth, iDayStyle) {
var aMonth = new Array();
aMonth[0] = new Array(7);
aMonth[1] = new Array(7);
aMonth[2] = new Array(7);
aMonth[3] = new Array(7);
aMonth[4] = new Array(7);
aMonth[5] = new Array(7);
aMonth[6] = new Array(7);
var dCalDate = new Date(iYear, iMonth-1, 1);
var iDayOfFirst = dCalDate.getDay();
var iDaysInMonth = fGetDaysInMonth(iMonth, iYear);
var iVarDate = 1;
var i, d, w;
if (iDayStyle == 2) {
aMonth[0][0] = "Sunday";
aMonth[0][1] = "Monday";
aMonth[0][2] = "Tuesday";
aMonth[0][3] = "Wednesday";
aMonth[0][4] = "Thursday";
aMonth[0][5] = "Friday";
aMonth[0][6] = "Saturday";
} else if (iDayStyle == 1) {
aMonth[0][0] = "Sun";
aMonth[0][1] = "Mon";
aMonth[0][2] = "Tue";
aMonth[0][3] = "Wed";
aMonth[0][4] = "Thu";
aMonth[0][5] = "Fri";
aMonth[0][6] = "Sat";
} else {
aMonth[0][0] = "Su";
aMonth[0][1] = "Mo";
aMonth[0][2] = "Tu";
aMonth[0][3] = "We";
aMonth[0][4] = "Th";
aMonth[0][5] = "Fr";
aMonth[0][6] = "Sa";
}
for (d = iDayOfFirst; d < 7; d++) {
aMonth[1][d] = iVarDate;
iVarDate++;
}
for (w = 2; w < 7; w++) {
for (d = 0; d < 7; d++) {
if (iVarDate <= iDaysInMonth) {
aMonth[w][d] = iVarDate;
iVarDate++;
      }
   }
}
return aMonth;
}
function fDrawCal(iYear, iMonth, iCellWidth, iCellHeight, sDateTextSize, sDateTextWeight, iDayStyle) {
var myMonth;
myMonth = fBuildCal(iYear, iMonth, iDayStyle);
document.write("<table border='1'>")
document.write("<tr>");
document.write("<td align='center' style='FONT-FAMILY:Arial;FONT-SIZE:12px;FONT-WEIGHT: bold'>" + myMonth[0][0] + "</td>");
document.write("<td align='center' style='FONT-FAMILY:Arial;FONT-SIZE:12px;FONT-WEIGHT: bold'>" + myMonth[0][1] + "</td>");
document.write("<td align='center' style='FONT-FAMILY:Arial;FONT-SIZE:12px;FONT-WEIGHT: bold'>" + myMonth[0][2] + "</td>");
document.write("<td align='center' style='FONT-FAMILY:Arial;FONT-SIZE:12px;FONT-WEIGHT: bold'>" + myMonth[0][3] + "</td>");
document.write("<td align='center' style='FONT-FAMILY:Arial;FONT-SIZE:12px;FONT-WEIGHT: bold'>" + myMonth[0][4] + "</td>");
document.write("<td align='center' style='FONT-FAMILY:Arial;FONT-SIZE:12px;FONT-WEIGHT: bold'>" + myMonth[0][5] + "</td>");
document.write("<td align='center' style='FONT-FAMILY:Arial;FONT-SIZE:12px;FONT-WEIGHT: bold'>" + myMonth[0][6] + "</td>");
document.write("</tr>");
for (w = 1; w < 7; w++) {
document.write("<tr>")
for (d = 0; d < 7; d++) {
document.write("<td align='left' valign='top' width='" + iCellWidth + "' height='" + iCellHeight + "' id=calCell style='CURSOR:Hand' onMouseOver='fToggleColor(this)' onMouseOut='fToggleColor(this)' onclick=fSetSelectedDay(this)>");
if (!isNaN(myMonth[w][d])) {
document.write("<font id=calDateText onMouseOver='fToggleColor(this)' style='CURSOR:Hand;FONT-FAMILY:Arial;FONT-SIZE:" + sDateTextSize + ";FONT-WEIGHT:" + sDateTextWeight + "' onMouseOut='fToggleColor(this)' onclick=fSetSelectedDay(this)>" + myMonth[w][d] + "</font>");
} else {
document.write("<font id=calDateText onMouseOver='fToggleColor(this)' style='CURSOR:Hand;FONT-FAMILY:Arial;FONT-SIZE:" + sDateTextSize + ";FONT-WEIGHT:" + sDateTextWeight + "' onMouseOut='fToggleColor(this)' onclick=fSetSelectedDay(this)> </font>");
}
document.write("</td>")
}
document.write("</tr>");
}
document.write("</table>")
}
function fUpdateCal(iYear, iMonth) {
myMonth = fBuildCal(iYear, iMonth);
objPrevElement.bgColor = "";
document.all.calSelectedDate.value = "";
for (w = 1; w < 7; w++) {
for (d = 0; d < 7; d++) {
if (!isNaN(myMonth[w][d])) {
calDateText[((7*w)+d)-7].innerText = myMonth[w][d];
} else {
calDateText[((7*w)+d)-7].innerText = " ";
         }
      }
   }
}


function gregToJulian(mm, dd, yyyy)
{
      var firstChar = mm.substring(0,1);
   
     if (firstChar == 0)
        mm = mm.substring(1,2);
       
    if (isNaN(mm))
    {
       alert("Month must be numeric");
       return;
    }
    if (isNaN(yyyy))
    {
       alert("Year must be numeric");
       return;
    }
    if (isNaN(dd))
    {
       alert("Day must be numeric");
       return;
    }
    if (mm > 12)
    {
       alert("Your calendar has " + mm + " months in it?  Mine doesn't");
       return;
    }
    if (mm < 1)
    {
       alert("Just exactly which month is that?");
       return;
    }
    if (dd < 1)
    {
       alert("Which month has " + dd + " days?" );
       return;
    }
    if (dd > 31)
    {
       alert("Come on, which month has more than 31 days?");
       return;
    }
    if (yyyy < 0)
    {
       alert("Invalid year value");
       return;
    }
		if (yyyy.length > 4)
    {
       alert("Year cannot be longer than 4 digits");
       return;
    }
    var leapYear = false;
    if (yyyy%4 == 0)
        leapYear = true;
    if (yyyy%100 == 0)
        leapYear = false;
    if (yyyy%400 == 0)
        leapYear = true;
    if (leapYear)
    {
        if (mm == 2 && dd > 29)
        {
            displayError();
            return;
        }
    }
    if (!leapYear)
    {
        if (mm == 2 && dd > 28)
        {
            displayError();
            return;
        }    
    }
    
    if (mm == 4 && dd > 30)
    {
        displayError();
        return;
    }
    if (mm == 6 && dd > 30)
    {
        displayError();
        return;
    }
    if (mm == 9 && dd > 30)
    {
        displayError();
        return;
    }
    if (mm == 11 && dd > 30)
    {
        displayError();
        return;
    }
    if (leapYear)
        var daysInMonths = new Array(0, 0, 31, 60, 91, 121, 152, 182, 213, 244, 274, 305, 335);
    else       
        var daysInMonths = new Array(0, 0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334);
    var daysUpToNow = new Number;
    daysUpToNow = daysInMonths[mm];
    //document.getElementById("result").innerText = Number(daysUpToNow) + Number(dd);
    var calcDate = Number(daysUpToNow) + Number(dd);
     
    var strCalcDate = new String(calcDate);
    
    for(i=strCalcDate.length;i<3;i++)
    {
        strCalcDate = '0' + strCalcDate;
    }

    for(i=yyyy.length;i<4;i++)
    {
        yyyy = '0' + yyyy;
    }
        
    document.getElementById("result").innerText = yyyy + strCalcDate;
}
function displayError()
{
alert("invalid month/day combination");
return;
}
function showToday()
{
 //alert(month);
  var mydate=new Date();
  var year=mydate.getYear();
  if (year < 1000)
 	 	 year+=1900;
  var day=mydate.getDay();
  var month=mydate.getMonth();
  month++;
  var daym=mydate.getDate();
  if (daym<10)
  	 daym="0"+daym;

  document.getElementById("mm").innerText = month;
  document.getElementById("dd").innerText = daym;
  document.getElementById("yyyy").innerText = year; 
  
  gregToJulian(mm.value, dd.value, yyyy.value);
/* document.all.mm.innerHTML=month
 document.all.dd.innerHTML=daym
 document.all.yyyy.innerHTML=year
*/
}

function calcdays(tomm, todd, toyyyy, scanID, litID)
/* tomm = to month
   todd = to day
   toyyyy = to year
   scanID = ID of the location to put the answer */
{
var mydate=new Date();
  var year=mydate.getYear();
  if (year < 1000)
 	 	 year+=1900;
  var day=mydate.getDay();
  var month=mydate.getMonth();
  var daym=mydate.getDate();
  if (daym<10)
  	 daym="0"+daym;
month = month + 1;
fromdate = GTJ(month, daym, year);
todate = GTJ(tomm, todd, toyyyy);
fromday = fromdate.substring(0,3);
fromyear = fromdate.substring(3,7);
var today = new Number(todate.substring(0,3));
toyear = todate.substring(3,7);
var numyears = toyear - fromyear
/* if (numyears >= 0)
{

    today = today + (365 * numyears) ;

    numDaysTill = today - fromday    ;
}
else
{
    numDaysTill = "invalid";
}
if (today < fromday)
    numDaysTill = "invalid"; */ 

numDaysTill = today - fromday    ;    

if (numDaysTill > 0)
{    
document.getElementById(scanID).innerText = numDaysTill + " ";
document.getElementById(litID).innerText = " days from now";
}
if (numDaysTill < 0)
{    
document.getElementById(scanID).innerText = numDaysTill + " ";
document.getElementById(litID).innerText = " days ago";
}
if (numDaysTill = 0)
{    
document.getElementById(scanID).innerText =  " TODAY";
document.getElementById(litID).innerText = "";
}


}
function GTJ(mm, dd, yyyy)
{
 var leapYear = false;
    if (yyyy%4 == 0)
        leapYear = true;
    if (yyyy%100 == 0)
        leapYear = false;
    if (yyyy%400 == 0)
        leapYear = true;
    if (leapYear)
        var daysInMonths = new Array(0, 0, 31, 60, 91, 121, 152, 182, 213, 244, 274, 305, 335);
    else       
        var daysInMonths = new Array(0, 0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334);
    var daysUpToNow = new Number;
    daysUpToNow = daysInMonths[mm];
    //document.getElementById("result").innerText = Number(daysUpToNow) + Number(dd);
    var calcDate = Number(daysUpToNow) + Number(dd);
     
    var strCalcDate = new String(calcDate);
    
    for(i=strCalcDate.length;i<3;i++)
    {
        strCalcDate = '0' + strCalcDate;
    }

    for(i=yyyy.length;i<4;i++)
    {
        yyyy = '0' + yyyy;
    }
    
    return (strCalcDate+yyyy);
}