var today = new Date();
var calDate = new Date();
var monthsArr = new Array('JANUARY','FEBRUARY','MARCH','APRIL','MAY','JUNE',
                       'JULY','AUGUST','SEPTEMBER','OCTOBER','NOVEMBER','DECEMBER');
var monthDaysArr = new Array(31,28,31,30,31,30,31,31,30,31,30,31);

function lastDay(month,year) {
   day = monthDaysArr[month];
   if (month == 1) { // February
      if (year%400==0 || (year%4 == 0 && year%100!=0) ) day++;
   }
   return day;
}

function addMonth() {
   var y  = calDate.getFullYear();
   var m  = calDate.getMonth();
   var d  = calDate.getDate();
   calDate = new Date(y,m+1,d);
   drawCal();
}

function subMonth() {
   var y  = calDate.getFullYear();
   var m  = calDate.getMonth();
   var d  = calDate.getDate();
   calDate = new Date(y,m-1,d);
   drawCal();
}

function leftpad(s,c,n) {
  r = s.toString();
  for (i=r.length;i<n;i++) {
    r = c + r;
  }
  return r;
}

function formatDate(d) {
   e = d.split('/');
   e[0]++;
   d = leftpad(e[0],'0',2) + "/" + leftpad(e[1],'0',2) + "/" + e[2];
   return d;
}

function formatURL(f) {
  var urlRegxp = /^http:\/\/|https:\/\//;
  if (!urlRegxp.test(f.value)) {
    f.value = "http://" + f.value;
  }
}

function drawCal() {
   var thisMonth = calDate.getMonth();
   var thisYear  = calDate.getFullYear();
   var firstDay = new Date(thisYear,thisMonth,1).getDay();
   var monthDiv = document.getElementById('calmonth');
   var calDiv = document.getElementById('calendar');
   var d = 0;
   monthDiv.innerHTML = monthsArr[thisMonth] + " " + thisYear;
   calDiv.innerHTML = '<div id="calday" style="font-weight:bold;">S</div>' +
                      '<div id="calday" style="font-weight:bold;">M</div>' +
                      '<div id="calday" style="font-weight:bold;">T</div>' +
                      '<div id="calday" style="font-weight:bold;">W</div>' +
                      '<div id="calday" style="font-weight:bold;">T</div>' +
                      '<div id="calday" style="font-weight:bold;">F</div>' +
                      '<div id="calday" style="font-weight:bold;">S</div>';
   for (i=0,j=1;i<42;i++,j++) {
      if (i < firstDay)
         calDiv.innerHTML += '<div id="calday"></div>';
      else
         if ((i - firstDay + 1) > lastDay(thisMonth,thisYear)) 
            calDiv.innerHTML += '<div id="calday"></div>';
         else
            if ((i - firstDay + 1) == today.getDate() && thisMonth == today.getMonth() && thisYear == today.getFullYear())
               if (document.forms[0].datefield)
                  calDiv.innerHTML += '<div id="calday" style="color:#CC0000;" onclick="document.forms[0].' + document.forms[0].datefield.value + '.value = ' + 'formatDate(\'' + thisMonth + '/' + (i - firstDay + 1) + '/' + thisYear + '\')' + ';toggleCal();">' + (i - firstDay + 1) + '</div>';
               else
                  calDiv.innerHTML += '<div id="calday" style="color:#CC0000;">' + (i - firstDay + 1) + '</div>';
            else
               if (document.forms[0].datefield)
                  calDiv.innerHTML += '<div id="calday" onclick="document.forms[0].' + document.forms[0].datefield.value + '.value = ' + 'formatDate(\'' + thisMonth + '/' + (i - firstDay + 1) + '/' + thisYear + '\')' + ';toggleCal();">' + (i - firstDay + 1) + '</div>';
               else
                  calDiv.innerHTML += '<div id="calday">' + (i - firstDay + 1) + '</div>';
   }
}

function nav2Page(p) {
   var s=new Date();
   self.window.location = p +"?ref=" + s.getMilliseconds();
}