
	function daysInMonth(iMonth, iYear){
     	return 32 - new Date(iYear, iMonth, 32).getDate();
 	}
	
	var allmonths = new Array("january", "february", "march", "april", "may", "june", "july", "august", "september", "october", "november", "december");
	var calendarDate 	= new Date();
	var calendarYear 	= calendarDate.getYear();
	var calendarMonth	= calendarDate.getMonth();
	var cal_month_len	= daysInMonth(calendarMonth, calendarYear);
	
	var cur_month_id 	= allmonths[calendarMonth]+"calendarleft";
	var nxt_month_id	= allmonths[calendarMonth+1]+"calendarright";

  // IE hates display: table, so sniff it out
  if($.browser.msie){
		$(document.getElementById(cur_month_id)).css("display","block");
		$(document.getElementById(nxt_month_id)).css("display","block");
		$(document.getElementById(nxt_month_id)).css("margin","0px 0px 0px 25px");
  }else{
		$(document.getElementById(cur_month_id)).css("display","table");
		$(document.getElementById(nxt_month_id)).css("display","table");
		$(document.getElementById(nxt_month_id)).css("margin","0px 0px 0px 25px");
  }
	
	// set target days to mark on calendar(s)
	var calendar_today 	= calendarDate.getDate();
	weekend_offset = weekendCheck(2009, calendarMonth, calendar_today);
	weekend_offset = (weekend_offset - calendar_today);
	var calendar_next_day	= calendar_today + 2 + weekend_offset;
	var calendar_seven_day	= calendar_today + 7 + weekend_offset;

	// set cleass for today
	var month_cal = document.getElementById(cur_month_id);
	var month_cells = month_cal.getElementsByTagName("td");
	for(n=0; n< month_cells.length; n++){
		if(month_cells[n].innerHTML == calendar_today && month_cells[n].className !== "prvmonth" && month_cells[n].className !== "sunday"){
			month_cells[n].className = "today";
			break;
		}
	}
	
	
	// set html class for rush day
	if(calendar_next_day > cal_month_len){
		// if rush day goes into next month
		nxt_trgt_day = (calendar_next_day - cal_month_len);
		calendar_next_day = weekendCheck(2009, (calendarMonth+1), nxt_trgt_day);
		
		nxt_trgt_calendar = document.getElementById(nxt_month_id);
		nxt_month_cells	  = nxt_trgt_calendar.getElementsByTagName("td");
		
		for(i = 0; i < nxt_month_cells.length; i++){
			if(nxt_month_cells[i].innerHTML == 	calendar_next_day && nxt_month_cells[i].className !== "saturday"){
				nxt_month_cells[i].className = "rushday";	
				break;
			}
		}
		
	} else {
		// if rush day falls on current month
		calendar_next_day = weekendCheck(2009, calendarMonth, calendar_next_day);

		for(i=0; i< month_cells.length; i++){
			if(month_cells[i].innerHTML == calendar_next_day && month_cells[i].className !== "prvmonth" && month_cells[i].className !== "nxtmonth" && month_cells[i].className !== "saturday"){
				month_cells[i].className = "rushday";
		
			}
		}
	}
	
	// set class for standard day
	if(calendar_seven_day > cal_month_len){

		// if standard day goes into next month
		seven_trgt_day 		  = (calendar_seven_day - cal_month_len);
		seven_trgt_day = weekendCheck(2009, (calendarMonth+1), seven_trgt_day);
		seven_trgt_calendar   = document.getElementById(nxt_month_id);
		seven_month_cells	  = seven_trgt_calendar.getElementsByTagName("td");
		for(x = 0; x < seven_month_cells.length; x++){
			if(seven_month_cells[x].innerHTML == seven_trgt_day){
				seven_month_cells[x].className = "delivday";	
				break;
			}
		}
		
	} else {
		
		for(x=0; x< month_cells.length; x++){
			// if delivery day falls on current month
			calendar_seven_day = weekendCheck(2009, calendarMonth, calendar_seven_day);
			
			if(month_cells[x].innerHTML == calendar_seven_day && month_cells[x].className !== "prvmonth" && month_cells[x].className !== "sunday"){
				month_cells[x].className = "delivday";
		
			}
		}
	}
	

	// checks for weekend delivery and moves data to
	// appropriate business day instead
	function weekendCheck(yr, mnth, day_num){
		test_date = new Date();
		test_date.setFullYear(yr, mnth, day_num);
		
		test_day_of_week = test_date.getDay();
		if(test_day_of_week == 0){
			day_num = day_num + 1;
		} else if (test_day_of_week == 6){
			day_num = day_num + 2;
		}
		
		return day_num;
	}