// Live calendar source file copyright 2001 David Lawver
//Please do not remove URL from the source code. http://hotshift.com
  var HotShift = "http://hotshift.com";
  var LONGheading = "Brownstown FD";
  var codes = "ABC";
  var sequence = "ABCBCACAB";
  var SeqDateFloor = new Date("January 01, 1970");
  var Seqstartdate = new Date("April 15, 1986");
  var colors = "#008040#0000FF#FF0000";
  var OTOffset = 0;
  var OTcycle = 0;
  var Rotcycle = 28;
  var Rotdate = new Date("November 22, 1996");
  var Paycycle = 14;
  var PaydayOffset = 1;
  var PaydayType = 1;
  var PaydayCount = 2;
  var Payday1 = 1;
  var Payday2 = 15;
  var OTfootnote = "Underline = FLSA Period";
  var PDfootnote = "$ = $";
  var TagCode = "D";
  var numcodes = codes.length;
  var cycle = sequence.length;
  var TodayBGColor = "#DFDFDF";
  var TableBGColor = "#BFBFBF";
  var HeadingColor = "#000000";
  var curdate = new Date();
  var curmonth = curdate.getMonth();
  var curyear = curdate.getFullYear();
  var trueyear = curdate.getFullYear();

  var htmlarray = new Array();
  var Days_in_Month = new Array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
  if (navigator.appName == 'Netscape')
  var selectedLanguage = navigator.language;
  else
  var selectedLanguage = navigator.browserLanguage;
  var code = selectedLanguage.substring(0, 2)
    // IF FRENCH
if (code == 'fr') {
  var Month_Label = new Array('Janvier', 'Février', 'Mars', 'Avril', 'Mai', 'Juin', 'Juillet', 'Aout', 'Septembre', 'Octobre', 'Novembre', 'Décembre');
  var Day_Label = new Array('Di', 'Lu', 'Ma', 'Me', 'Je', 'Ve', 'Sa');
}
    // IF GERMAN
else if (code == 'de') {
  var Month_Label = new Array('Januar', 'Februar', 'März', 'April', 'Mai', 'Juni', 'Juli', 'August', 'September', 'Oktober', 'November', 'Dezember');
  var Day_Label = new Array('So', 'Mo', 'Di', 'Mi', 'Do', 'Fr', 'Sa');
}
    // IF SPANISH
else if (code == 'es') {
  var Month_Label = new Array('Enero', 'Febrero', 'Marcha', 'Abril', 'Mayo', 'Junio', 'Julio', 'Agosto', 'Septiembre', 'Octubre', 'Noviembre', 'Diciembre');
  var Day_Label = new Array('Do', 'Lu', 'Ma', 'Mi', 'Ju', 'Vi', 'Sa');
}
    // IF ENGLISH
else {
  var Month_Label = new Array('January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December');
  var Day_Label = new Array('Sun','Mon','Tue','Wed','Thu','Fri','Sat');
}
  var Day_Num = new Array(1, 2, 3, 4, 5, 6, 7);

  var Today = curdate.getDate();
  var htmlstring = "";

  var ie4=document.all;
  var ns6=document.getElementById&&!document.all;
  var Selected_Month;
  var Selected_Year;
function Header(Year, Month) {

  if (Month == 1) {
      if ((Year % 400 == 0) || ((Year % 4 == 0) && (Year % 100 != 0))) {
        Days_in_Month[1] = 29;
      }
  }
  var Header_String = Month_Label[Month] + ' ' + Year;
  return Header_String;
}

function Make_Calendar(Year, Month) {
  var Seqkeyday;
  var Paykey;
  var tmpTodayBG=TodayBGColor;
  var tmpTableBG=TableBGColor;
  var codestring=" ";
  var colorcode;
  var daycount = 1;
  var loopcounter = 1;

  if (Year <= 1970) {
    Year = 1970;
  }

  if (Year >= 2029) {
    Year = 2029;
  }
  var First_Date = new Date(Year, Month, 1);

  var Heading = Header(Year, Month);
  var First_Day = First_Date.getDay() ;
  if (((Days_in_Month[Month] == 31) && (Day_Num[First_Day] >= 6)) ||
      ((Days_in_Month[Month] == 30) && (Day_Num[First_Day] == 7))) {
      var Rows = 6;
  }
  else if ((Days_in_Month[Month] == 28) && (Day_Num[First_Day] == 1)) {
      var Rows = 4;
  }
  else {
      var Rows = 5;
  }

  htmlstring = '<table width=100%><tr><td valign="top"><table align="center" border="1" CELLSPACING=1 cellpadding=3 FRAME="box" BGCOLOR="'+TableBGColor+'" BORDERCOLORLIGHT="808080">';
    htmlstring += '<tr><th colspan="7" bgcolor="'+TableBGColor+'"><font color="'+HeadingColor+'">'+LONGheading+'</font></th></tr>';

    htmlstring += '<tr><td align="center" BGCOLOR="'+TableBGColor+'" height="5%" colspan="7" width="100%" nowrap><small><strong>';

    //Print each shift code in color

        for(i=0; i<=(numcodes-1); i++){
            codestring=codes.substr(i,1);
            htmlstring +='<font color="'+colors.substr(i*7,7)+'">'+codestring+'</font>';
        }
        htmlstring += '</strong></small></td>';
        htmlstring += '</tr>';

      htmlstring += '<tr><th colspan="7" bgcolor="'+TableBGColor+'"><font color="'+HeadingColor+'">' + Heading + '</font></th></tr>';

  htmlstring += '<tr>';
    htmlstring += '<th width="14%" align="center" bgcolor="'+TableBGColor+'"><font color="'+HeadingColor+'">' + Day_Label[0] + '</font></th>';
    htmlstring += '<th width="14%" align="center" bgcolor="'+TableBGColor+'"><font color="'+HeadingColor+'">' + Day_Label[1] + '</font></th>';
    htmlstring += '<th width="14%" align="center" bgcolor="'+TableBGColor+'"><font color="'+HeadingColor+'">' + Day_Label[2] + '</font></th>';
    htmlstring += '<th width="14%" align="center" bgcolor="'+TableBGColor+'"><font color="'+HeadingColor+'">' + Day_Label[3] + '</font></th>';
    htmlstring += '<th width="14%" align="center" bgcolor="'+TableBGColor+'"><font color="'+HeadingColor+'">' + Day_Label[4] + '</font></th>';
    htmlstring += '<th width="14%" align="center" bgcolor="'+TableBGColor+'"><font color="'+HeadingColor+'">' + Day_Label[5] + '</font></th>';
    htmlstring += '<th width="14%" align="center" bgcolor="'+TableBGColor+'"><font color="'+HeadingColor+'">' + Day_Label[6] + '</font></th>';
  htmlstring += '</tr>';

  for (var j = 1; j <= Rows; j++) {
    htmlstring += '<tr align="center" VALIGN="top">';

      for (var i = 1; i < 8; i++) {
        if ((loopcounter >= Day_Num[First_Day]) && (daycount <= Days_in_Month[Month])) {

      var Current = new Date(Year, Month, daycount);

      var SMPLdaysdiff = days_diff(SeqDateFloor,Current);
      var Rotdaysdiff = days_diff(SeqDateFloor,Current) + 6;
      var Paydaysdiff = days_diff(SeqDateFloor,Current);

      Seqkeyday = SMPLdaysdiff % cycle;
      codestring=sequence.substr(Seqkeyday,1);
      colorcode=colors.substr(codes.indexOf(codestring.substr(0,1))*7,7);
      Paykey = Paydaysdiff % Paycycle;

      var daystr=daycount.toString();

      if (SMPLdaysdiff > -1){

        if (PaydayType==1){
          if (Paykey == PaydayOffset) {
          daystr=daystr + "$";
          }
        }
        if (PaydayType==2){
          if (Payday1 == daycount) {
          daystr=daystr + "$";
          }
          if (PaydayCount == 2) {
              if (Payday2 == daycount) {
              daystr=daystr + "$";
              }
          }
        }
        if (PaydayType==3){
          if (daycount == Days_in_Month[Month]) {
          daystr=daystr + "$";
          }
        }

      }

      daystr=(SMPLdaysdiff>=0 ? '<font color="'+colorcode+'">'+daystr+'</font>' : '<font color="black">'+daystr+'</font>');


              if ((daycount == Today) && (Year == curyear) && (Month == curmonth)) {
                htmlstring += '<td BGCOLOR="'+tmpTodayBG+'"  BORDERCOLOR="'+colorcode+'"><strong><I>' +daystr+ '</I></strong></td>';
            }
            else {
                htmlstring += '<td BGCOLOR="'+tmpTableBG+'" BORDERCOLOR="#000000"><strong>' +daystr+ '</strong></td>';
            }

            daycount++;
        }
        else {
            htmlstring += '<td BORDERCOLOR="'+TableBGColor+'">&nbsp;</td>';
        }
        loopcounter++;
      }
      htmlstring += '</tr>';
  }
  htmlstring += '</table></td></tr></table>';

//document.all.Calendar.innerHTML = htmlstring;
  cross_el=ns6? document.getElementById("Calendar") : document.all.Calendar;
  cross_el.innerHTML = htmlstring;
}

function On_Year() {
  var Year = document.when.year.value;
  if (Year.length == 4) {
      Selected_Month = document.when.month.selectedIndex;
      Selected_Year = Year;
      Make_Calendar(Selected_Year, Selected_Month);
  }
}

function On_Month() {
  var Year = document.when.year.value;
  if (Year.length == 4) {
      Selected_Month = document.when.month.selectedIndex;
      Selected_Year = Year;

  if (Selected_Year <= 1970) {
    Selected_Year = 1970;
  }

  if (Selected_Year >= 2029) {
    Selected_Year = 2029;
  }

      Make_Calendar(Selected_Year, Selected_Month);
  }
  else {
      alert('Please enter a valid year.');
      document.when.year.focus();
  }
}

function Defaults() {
  if (!document.all)
  return
  var Mid_Screen = Math.round(document.body.clientWidth / 2);
  document.when.month.selectedIndex = curmonth;
  document.when.year.value = curyear;
  Selected_Month = curmonth;
  Selected_Year = curyear;
  Make_Calendar(curyear, curmonth);
}

function Skip(Direction) {
  if (Direction == '+') {
      if (Selected_Month == 11) {
        Selected_Month = 0;
        Selected_Year++;
      }
      else {
        Selected_Month++;
      }
  }
  else {
      if (Selected_Month == 0) {
        Selected_Month = 11;
        Selected_Year--;
      }
      else {
        Selected_Month--;
      }
  }

  if (Selected_Year <= 1970) {
    Selected_Year = 1970;
  }

  if (Selected_Year >= 2029) {
    Selected_Year = 2029;
  }

  Make_Calendar(Selected_Year, Selected_Month);
  document.when.month.selectedIndex = Selected_Month;
  document.when.year.value = Selected_Year;
}

function On_Now(){
  Selected_Year = curdate.getFullYear();
  Selected_Month = curdate.getMonth();
  Make_Calendar(Selected_Year, Selected_Month);
  document.when.month.selectedIndex = Selected_Month;
  document.when.year.value = Selected_Year;
}

//Get number of days from start date to date on calendar
function days_diff(start,current){
    var currentdays = Math.floor(current.getTime() / (1000 * 60 * 60 * 24)*1);
    var startdays = Math.floor(start.getTime() / (1000 * 60 * 60 * 24)*1);
    var daysdiff = currentdays-startdays;
    return daysdiff;
}

// End of source file

