$(document).ready(function(){
  // Initialize datepicker
  var today = new Date();
  var startDate = new Date(); startDate.setDate(today.getDate()-(365.25*3));
  var endDate   = new Date(); endDate.setDate(today.getDate()+(365.25*3));

  $("#datepicker")
    .datePicker({
      inline    : true,
      month     : GetSelectedMonth(),
      year      : GetSelectedYear(),
      startDate : startDate.asString(),
      endDate   : endDate.asString(),
      renderCallback : HighlightEvents
    })
    .bind("dateSelected",function(e, selectedDate, $td) { DisplayEvents(Date2DB(selectedDate)); })
    .bind("dpMonthChanged",function(inst, month, year) { $("#dateContent").load("/include/calendar.asp?view=month&SubsidiaryID="+$("#SubsidiaryID").val()+"&m="+(month+1)+"&y="+year+"&qs="+encodeURIComponent(location.href.split("?")[1])); });
});



function HighlightEvents(d, currentDate, month, year) {
  // Highlight events
  if ($("#CurrentEvents").val().indexOf(","+Date2DB(currentDate)+",")>=0) {
    d.css("font-weight","bold");
    d.css("text-decoration","underline");
    d.css("background-color","#FFE700");
    d.css("color","#121245");
  }
  
  if (Date2DB(currentDate)==$("#SelectedDate").val()) {
    d.addClass("selected");
  }
}


function Date2DB(d) {
  if (d) {
    d = new Date(d);
    var yyyy = d.getFullYear();
    var mm   = Right("00"+(d.getMonth()+1),2);
    var dd   = Right("00"+d.getDate(),2);
    return yyyy+mm+dd;
  }
}

function Right(str, n) {
  if (n<=0) {
    return "";
  } else if (n>String(str).length) {
    return str;
  } else {
    var iLen = String(str).length;
    return String(str).substring(iLen, iLen - n);
  }
}


function GetSelectedMonth() {
  return parseInt($("#SelectedDate").val().substring(4,6),10)-1;
}

function GetSelectedYear() {
  return parseInt($("#SelectedDate").val().substring(0,4));
}

function DisplayEvents(d) {
  location.href = $("#URL").val()+"&date="+encodeURIComponent(d);
}

