<!-- Begin
//alert("Just Testing");

//-----
var widthdweeks = "280";//"216";//175 width of cal
var widthdays = "40";//"30";//25     width of days
var monthheight = "155";//    height of cal area
var daysheightH = "30";//      height of days
var monthheightH = "25";//    height of month heading
var Headingheightdow = "20"; // 25, Changed Saturday, June 17, 2006 (HAW)
var logoHeightTable = "35";

//////////////////////////////////////////////////////////////////////
var LogoTableBG = "#4682B4";//"#010149";//"#FFFFFF";//"#C0C0C0";
var NavBtnTableBG = "#4682B4";//"#010149";//"#FFFFFF";//"#C0C0C0";//"#eff7ff";//#fff9ee
var NavBtnTDBG = "#eff7ff"; //#fff9ee
var MonthYearTabBG = "#4682B4";//"#010149";//"#4682B4";//"#C0C0C0";//"#4682B4"
var CalTableBG = "#666666";//"#4682B4"

var ttCrntD, ttCrntM, ttCrntY 
//-----
var cvYearMin = "2004"//"1900";????? Need to think about this later
var cvYearMax = "2012"//"2100";
var cvYear;
var cvMonth;
var cvWeekStartDay;
var cvCurrent;
//-----
//** Get current date info 
var rtn_crrntDate = new Array();
//** Note: See rtnCrrntDateInfo() function
var newCalY = '';
var cvCurrent;

//////////////////////////////////////////////////////////
var names     = new makeArray0('January','February','March','April','May','June','July','August','September','October','November','December');
var days      = new makeArray0(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
var dow       = new makeArray0('Sun','Mon','Tue','Wed','Thu','Fri','Sat');
var dowExt    = new makeArray0('Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday');
var namesShort= new makeArray0('Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec');
//////////////////////////////////////////////////////////

///////////////////////////////////////////////////
//
function makeArray0() {
    for (i = 0; i<makeArray0.arguments.length; i++)
        this[i] = makeArray0.arguments[i];
}
///////////////////////////////////////////////////
//\\!! End Function !!//


///////////////////////////////////////////////////
//
function dtViewMonth(Month,Year,column,ElementID){

cvCurrent = 'MV';
var dispMonthCal = '';
var widthdweeks_wv = '742'; //100%

///////////////////////////
// Show navigation buttons
var prevMMYYYY = Calendar_calc_month_year(Month, Year, -1);
var prevMM = prevMMYYYY[0];
var prevYYYY = prevMMYYYY[1];

var nextMMYYYY = Calendar_calc_month_year(Month, Year, 1);
var nextMM = nextMMYYYY[0];
var nextYYYY = nextMMYYYY[1];


	// year view begin *****/////\\\\\ COLSPAN=3
	dispMonthCal += '<TABLE WIDTH=' + widthdweeks_wv + ' HEIGHT=100% BORDER=1 CELLSPACING=0 CELLPADDING=0>';
	
	//----- Next Prev Year Begin
	dispMonthCal += '<TR><TD ALIGN=CENTER HEIGHT=25 VALIGN=CENTER>';
    
	dispMonthCal += '<TABLE WIDTH=' + widthdweeks_wv + ' HEIGHT=25 BORDER=0 CELLSPACING=0 CELLPADDING=0>';
	dispMonthCal += '<TR>';
	//** Begin Back to Year View Link
	dispMonthCal += '<TD WIDTH=30% ALIGN=LEFT HEIGHT=25 VALIGN=CENTER>';
	// *! Begin Back to Year View Link within a table with fixed width to ensure minimum width
	dispMonthCal += '<TABLE WIDTH=130 HEIGHT=25 BORDER=0 CELLSPACING=0 CELLPADDING=0>';
	dispMonthCal += '<TR>';
	dispMonthCal += '<TD WIDTH=130 ALIGN=LEFT HEIGHT=25 VALIGN=CENTER>';
	//
	//** dispMonthCal += '&nbsp;<A CLASS="dp_views_hdng_2" HREF=\"javascript:changetoYearView('+ (parseInt(Year)) + ')\">'; 
    //dispMonthCal += ''  + Year + '';
    //** dispMonthCal += 'Back to Year View';
	//** dispMonthCal += '<\/A>';
	//
	dispMonthCal += '<\/TD>';
	dispMonthCal += '<\/TR>';
	dispMonthCal += '<\/TABLE>';
	// *! End Back to Year View Link within a table with fixed width to ensure minimum width
	dispMonthCal += '<\/TD>';
	//** End Back to Year View Link
	//Previous Year nav
	//**\\ Begin
	dispMonthCal += '<TD WIDTH=40% ALIGN=CENTER HEIGHT=25 VALIGN=CENTER>';
	// *! The following within a table with fixed width to ensure minimum width
	dispMonthCal += '<TABLE WIDTH=415 HEIGHT=25 BORDER=0 CELLSPACING=0 CELLPADDING=0>';
	dispMonthCal += '<TR>';
	dispMonthCal += '<TD WIDTH=415 ALIGN=CENTER HEIGHT=25 VALIGN=CENTER>';
	//
	dispMonthCal += '<A HREF=\"javascript:NextPrevYear('+ (parseInt(Year)-1) + ')\">'; 
	dispMonthCal += '<img src="/images/images_nav/2_left.gif" border="0" width="30" alt="&nbsp;PREVIOUS YEAR&nbsp;" title="&nbsp;PREVIOUS YEAR (' + (parseInt(Year)-1) + ')"><\/A>';
    ////////////////////dispMonthCal += '<img src="/images/arrows/transparent.gif" border="0" width="040" height="01">' //-----transparent.gif
	dispMonthCal += '&nbsp;&nbsp;&nbsp;' //-----  imagesCalView/nextarrow.gif ////////////////////
	//Previous Month nav
	dispMonthCal += '<A HREF=\"javascript:NextPrevMonth('+ prevMM + ',' + prevYYYY + ')\">'; 
	dispMonthCal += '<img src="/images/images_nav/1_left.gif" border="0" width="30" alt="&nbsp;PREVIOUS MONTH&nbsp;" title="&nbsp;PREVIOUS MONTH (' + names[prevMM] + ', ' + prevYYYY + ')&nbsp;"><\/A>';
    
    dispMonthCal += '&nbsp;&nbsp;&nbsp;&nbsp;' //----- 
    //***** Months List begin
    dispMonthCal += '<SELECT NAME="Month" ID="Month" CLASS="cal_year_lst_yv" style="height:20; width:120px" onChange="changeMonth();">';

		for (month=0; month<12; month++) {
			if (month == Month) dispMonthCal += '<OPTION VALUE="' + month + '" SELECTED>' + names[month] + '<\/OPTION>';
			else                dispMonthCal += '<OPTION VALUE="' + month + '">'          + names[month] + '<\/OPTION>';
		}

    dispMonthCal += '<\/SELECT>';
	dispMonthCal += '&nbsp;' //-----
	//***** Months List end
    
    //***** Years List begin
    dispMonthCal += '<SELECT NAME="Year" ID="Year" CLASS="cal_year_lst_yv" style="height:20; width:070px" onChange="changeMonth();">';
    for (year=cvYearMin; year<(parseInt(cvYearMax)+1); year++) {
		//**temp if (year == Year) dispMonthCal += '<OPTION VALUE="' + year + '" SELECTED>' + year + '<\/OPTION>';
		if (year == Year) dispMonthCal += '<OPTION VALUE="' + year + '" SELECTED>' + year + '<\/OPTION>';
		else              dispMonthCal += '<OPTION VALUE="' + year + '">'          + year + '<\/OPTION>';
    }cvYear
    dispMonthCal += '<\/SELECT>';	
	//***** Years List end
	dispMonthCal += '&nbsp;&nbsp;&nbsp;&nbsp;' //----- 
	//Next Month nav
	dispMonthCal += '&nbsp;<A HREF=\"javascript:NextPrevMonth('+ nextMM + ',' + nextYYYY + ')\">'; 
	dispMonthCal += '<img src="/images/images_nav/1_right.gif" border="0" width="30" alt="&nbsp;NEXT MONTH&nbsp;" title="&nbsp;NEXT MONTH (' + names[nextMM] + ', ' + nextYYYY + ')&nbsp;"><\/A>';
	dispMonthCal += '&nbsp;&nbsp;&nbsp;' //-----
	
	//Next Year nav
	dispMonthCal += '<A HREF=\"javascript:NextPrevYear('+ (parseInt(Year)+1) + ')\">'; 
	dispMonthCal += '<img src="/images/images_nav/2_right.gif" border="0" width="30" alt="&nbsp;NEXT YEAR&nbsp;" title="&nbsp;NEXT YEAR (' + (parseInt(Year)+1) + ')&nbsp;"><\/A>';
	// *!
	dispMonthCal += '<\/TD>';
	dispMonthCal += '<\/TR>';
	dispMonthCal += '<\/TABLE>';
	// *! Above within a table with fixed width to ensure minimum width
	dispMonthCal += '<\/TD>';
	//**// End 
	dispMonthCal += '<TD WIDTH=30% ALIGN=RIGHT VALIGN=CENTER>';
	// *! Month View within a table with fixed width to ensure minimum width
	// Reset
	dispMonthCal += '<TABLE WIDTH=100 HEIGHT=25 BORDER=0 CELLSPACING=0 CELLPADDING=0>';
	dispMonthCal += '<TR>';
	dispMonthCal += '<TD WIDTH=100 ALIGN=RIGHT HEIGHT=25 VALIGN=CENTER>';
	// Reset
	dispMonthCal += '&nbsp;<A CLASS="dp_views_hdng_2" HREF=\"javascript:resetCrrntView(cvCurrent)\">'; 
    dispMonthCal += 'Current';// Month Month View
	dispMonthCal += '<\/A>&nbsp;&nbsp;';
	// Reset
	dispMonthCal += '<\/TD>';
	dispMonthCal += '<\/TR>';
	dispMonthCal += '<\/TABLE>';
	// Reset
	// *! Month View within a table with fixed width to ensure minimum width
	dispMonthCal += '<\/TD>';
	dispMonthCal += '<\/TR>';
	dispMonthCal += '<\/TABLE>';
	
	
	dispMonthCal += '<\/TD><\/TR>';
	//----- Next Prev Year End  
 
	//----- Month Display Begin
	//----- //----- dispMonthCal += '<TR>';
	
	//----- //----- 	dispMonthCal += '<TD ALIGN=CENTER VALIGN=TOP>';
		
			//dispMonthCal += Calendar_mView(Month,Year);
	
	//----- //----- 	dispMonthCal += '<\/TD>';
	
 

	//----- //----- dispMonthCal += '<\/TR>';
	//----- Month Display End
	
	dispMonthCal += '<\/TABLE>';
	// year view end *****\\\\\/////

return dispMonthCal;

}
///////////////////////////////////////////////////
//\\!! End Function dtViewMonth(Month,Year,column,ElementID) !!//

//////////////////////////////////////////////////////////
//*
function Calendar_calc_day_month_year(p_Day, p_Month, p_Year, incr) {
	/* 
	Will return an 1-D array with 1st element being the calculated day, 
	second being the calculated month,and third being the calculated year 
	after applying the day increment/decrement as specified by 'incr' parameter.
	'incr' will normally have 1/-1 to navigate thru the days.
	*/
	var ret_arr = new Array();
	/* incr = -1 or 1 Begin */
	if (incr == -1) {
		// B A C K W A R D
		if (p_Day > 1) {
			ret_arr[0] = parseInt(p_Day) - 1;
			ret_arr[1] = parseInt(p_Month);
			ret_arr[2] = parseInt(p_Year);
		}
		else {//more work
			// Calculate previous month and year
			var prevMonthYear = Calendar_calc_month_year(p_Month, p_Year, -1);
			var prevMonth = prevMonthYear[0];
			var prevYear = prevMonthYear[1];
			//** Check for leap year previous year
			if (((prevYear % 4 == 0) && (prevYear % 100 != 0)) || (prevYear % 400 == 0))
				days[1] = 29; 
			else
				days[1] = 28;
			//***
			ret_arr[0] = days[prevMonth];
			ret_arr[1] = prevMonth;
			ret_arr[2] = prevYear;
		}
	} else if (incr == 1) {/* incr = -1 or 1 Else */
		// F O R W A R D
		//** Check for leap year present year
		if (((p_Year % 4 == 0) && (p_Year % 100 != 0)) || (p_Year % 400 == 0))
			days[1] = 29; 
		else
			days[1] = 28;
		//***
		if (p_Day < days[p_Month]) { /* If present day is less than total days in present month go ahead */
			ret_arr[0] = parseInt(p_Day) + 1;
			ret_arr[1] = parseInt(p_Month);
			ret_arr[2] = parseInt(p_Year);
		}
		else {
			// Calculate next month and year
			var nextMonthYear = Calendar_calc_month_year(p_Month, p_Year, 1);
			var nextMonth = nextMonthYear[0];
			var nextYear = nextMonthYear[1];
			ret_arr[0] = 1;
			ret_arr[1] = nextMonth;
			ret_arr[2] = nextYear;
		}
	}
	/* incr = -1 or 1 End */
	return ret_arr;
}
///////////////////////////////////////////////////
//\\!! End Function Calendar_calc_day_month_year(p_Day, p_Month, p_Year, incr) !!//

//////////////////////////////////////////////////////////
//
function Calendar_calc_Week_NP(p_Day, p_Month, p_Year, incr, rtnEnd) {
/* Note: pass a 6 six on parameter rtnEnd and a 1 one for parameter incr to return end of week
   otherwise pass 7 seven to return next or previous week */
var newDay_PN_W = p_Day;
var newMonth_PN_W = p_Month;
var newYear_PN_W =p_Year;
var ret_arr = new Array();

	for (i=0; i<rtnEnd; i++){

		// Go back or forth 7 days
		var prevDMYWeek = Calendar_calc_day_month_year(newDay_PN_W, newMonth_PN_W, newYear_PN_W, incr);
		newDay_PN_W = prevDMYWeek[0];
		newMonth_PN_W = prevDMYWeek[1];
		newYear_PN_W = prevDMYWeek[2];
	
		//!! Below for Test Only
		//!! if (incr == -1) {
		//!! 	alert('Previous day was: ' + newMonth_PN_W + '/' + newDay_PN_W + '/' + newYear_PN_W + '');
		//!! }else{
		//!! 	alert('Next day will be: ' + newMonth_PN_W + '/' + newDay_PN_W + '/' + newYear_PN_W+ '');
		//!! }

	}

	ret_arr[0] = parseInt(newDay_PN_W);
	ret_arr[1] = parseInt(newMonth_PN_W);
	ret_arr[2] = parseInt(newYear_PN_W);

	return ret_arr;
}
///////////////////////////////////////////////////
//\\!! End Function Calendar_calc_Week_NP(p_Month, p_Year, incr) !!//


//////////////////////////////////////////////////////////
//
function Calendar_calc_month_year(p_Month, p_Year, incr) {
	/* 
	Will return an 1-D array with 1st element being the calculated month 
	and second being the calculated year 
	after applying the month increment/decrement as specified by 'incr' parameter.
	'incr' will normally have 1/-1 to navigate thru the months.
	*/
	var ret_arr = new Array();
	
	if (incr == -1) {
		// B A C K W A R D
		if (p_Month == 0) {
			ret_arr[0] = 11;
			ret_arr[1] = parseInt(p_Year) - 1;
		}
		else {
			ret_arr[0] = parseInt(p_Month) - 1;
			ret_arr[1] = parseInt(p_Year);
		}
	} else if (incr == 1) {
		// F O R W A R D
		if (p_Month == 11) {
			ret_arr[0] = 0;
			ret_arr[1] = parseInt(p_Year) + 1;
		}
		else {
			ret_arr[0] = parseInt(p_Month) + 1;
			ret_arr[1] = parseInt(p_Year);
		}
	}
	
	return ret_arr;
}
///////////////////////////////////////////////////
//\\!! End Function !!//

//////////////////////////////////////////////////////////
//
function callView_PB(Month,Year,Day,ElementID,viewType){

//**\\ alert("1) ");
// Set new values
setValueCalView("txt_crrntYear",Year);
setValueCalView("txt_crrntMonth",Month);
setValueCalView("txt_crrntDay",Day);
setValueCalView("txt_crrntView",viewType);

//document.write ("holidays["+strEvntLst+"] = true;")
	
	//holidays["25 Jul 2006"] = true;
	switch ( viewType ){
		case "YV":
			newCalY = dtViewYear(Month,Year,Day,ElementID);
			ReplaceContent_cal('divCalView',newCalY);
		break;	
		
		case "MV":
			newCalY = dtViewMonth(Month,Year,Day,ElementID);
			ReplaceContent_cal('divCalView',newCalY);
		break;	
		
		case "WV":
			newCalY = dtViewWeek(Month,Year,Day,ElementID); /* Using */
			ReplaceContent_cal('divCalView',newCalY);
		break;	
		
		case "DV":
			newCalY = dtViewDay(Month,Year,Day,ElementID); /* Using */
			ReplaceContent_cal('divCalView',newCalY);
		break;	
		
		
		default:{
			dtViewYear(Month,Year,Day,ElementID);
			}
	//\\//\\
	//\\//\\/
	}	
	
}
//\\!! End Function !!//

/////////////////////////////////////////////
//
function NextPrevMonth(NePrMonth, NePrYear) {

	//** cvYear = NePrYear + '';
	
	//** Check minimum and maximum range of year
	if((NePrYear < cvYearMin) || (NePrYear > cvYearMax)){
		//**\\
		if(NePrYear < cvYearMin){
			cvYear = cvYearMin + '';
			cvMonth = 0 + ''; //** Set to minimum possible Month and Year 
		}else {
			cvYear = cvYearMax + '';
			cvMonth = 11 + ''; //** Set to maximum possible Month and Year
		}	
		//**//
	}else {
		cvYear = NePrYear + '';
		cvMonth = NePrMonth + ''; //** Set Month and Year to the requested values
	}
	//**
	///////////////////
	///////////////////callView(cvMonth,cvYear,1,5,cvCurrent);
	callView_PB(cvMonth,cvYear,1,5,cvCurrent);
	jsdoPostBack_cal();
	///////////////////

}
//\\!! End Function !!//

////////////////////////
function changeMonth() {
	
	cvMonth = document.getElementById('Month').options[document.getElementById('Month').selectedIndex].value + '';
	cvYear = document.getElementById('Year').options[document.getElementById('Year').selectedIndex].value + '';
	//////////////////
	///changetoMonthView(cvMonth,cvYear)
	callView_PB(cvMonth,cvYear,1,5,cvCurrent);
	jsdoPostBack_cal();
	//////////////////
}
//\\!! End Function !!//

//////////////////////////////////
function NextPrevYear(NePrYear2) {
	
	//** Check minimum and maximum range of year
	if((NePrYear2 < cvYearMin) || (NePrYear2 > cvYearMax)){
		//**\\
		if(NePrYear2 < cvYearMin){
			cvYear = cvYearMin + '';
		}else {
			cvYear = cvYearMax + '';
		}	
		//**//
	}else {
		cvYear = NePrYear2 + '';
	}
	//**
	if(cvCurrent == 'MV'){
		cvMonth = document.getElementById('Month').options[document.getElementById('Month').selectedIndex].value + '';
	}else{
		cvMonth = 0;
		cvCurrent == 'YV'
	}
	
	//////////////////
	//////////////////callView(cvMonth,cvYear,1,5,cvCurrent);
	callView_PB(cvMonth,cvYear,1,5,cvCurrent);
	jsdoPostBack_cal();
	///////////////////callView_PB
}
///////////////////////////////////////////////////
//\\!! End Function !!//

/////////////////////////
//
function resetCrrntView(viewType){
	
	rtnCrrntDateInfo();
	cvCurrent = viewType;
	
	///////////////////
	//!! if(cvCurrent == "WV"){
	//!! 	callView(rtn_crrntDate[7],rtn_crrntDate[8],rtn_crrntDate[6],5,cvCurrent);
	//!! }else{
	//!! 	callView(rtn_crrntDate[2],rtn_crrntDate[3],rtn_crrntDate[1],5,cvCurrent);
	//!! }
	//////////////////
	
	///////////////////
	if(cvCurrent == "WV"){
		callView_PB(rtn_crrntDate[7],rtn_crrntDate[8],rtn_crrntDate[6],5,cvCurrent);
	}else{
		callView_PB(rtn_crrntDate[2],rtn_crrntDate[3],rtn_crrntDate[1],5,cvCurrent);
	}
	jsdoPostBack_cal();
	//////////////////

}
///////////////////////////////////////////////////
//\\!! End Function resetCrrntView(viewType)!!//


/////////////////////////
//
function rtnCrrntDateInfo() {

var currentDate = new Date();
rtn_crrntDate[0] = currentDate.getDay();		//*! 0 Day of week int 
rtn_crrntDate[1] = currentDate.getDate();		//*! 1 Day of month int
rtn_crrntDate[2] = currentDate.getMonth();		//*! 2 Month int
rtn_crrntDate[3] = currentDate.getFullYear();	//*! 3 Full year
//*! Full date display DayofWeek, Month DayofMonth, Full year
rtn_crrntDate[4] = " " + dowExt[rtn_crrntDate[0]] + ",  " + names[rtn_crrntDate[2]] + " " + rtn_crrntDate[1] + ",  " + rtn_crrntDate[3] + " ";
//**

if(rtn_crrntDate[0] == 0){
	//*! Date info of the beginning day of the current week
	rtn_crrntDate[5] = rtn_crrntDate[0];		//*! 5 Day of week int 
	rtn_crrntDate[6] = rtn_crrntDate[1];		//*! 6 Day of month int
	rtn_crrntDate[7] = rtn_crrntDate[2];		//*! 7 Month int
	rtn_crrntDate[8] = rtn_crrntDate[3];		//*! 8 Full year
	//*! Full date display DayofWeek, Month DayofMonth, Full year of the beginning day of the current week
	rtn_crrntDate[9] = " " + dowExt[rtn_crrntDate[5]] + ",  " + names[rtn_crrntDate[7]] + " " + rtn_crrntDate[6] + ",  " + rtn_crrntDate[8] + " ";
	//**
}else{
	//*! Calculate beginning of week
	var crrntWeekBgnng = Calendar_calc_Week_NP(rtn_crrntDate[1], rtn_crrntDate[2], rtn_crrntDate[3], -1, rtn_crrntDate[0]);
	//*! Date info of the beginning day of the current week
	rtn_crrntDate[5] = 0;						//*! 5 Day of week int 
	rtn_crrntDate[6] = crrntWeekBgnng[0];		//*! 6 Day of month int
	rtn_crrntDate[7] = crrntWeekBgnng[1];		//*! 7 Month int
	rtn_crrntDate[8] = crrntWeekBgnng[2];		//*! 8 Full year
	//*! Full date display DayofWeek, Month DayofMonth, Full year of the beginning day of the current week
	rtn_crrntDate[9] = " " + dowExt[rtn_crrntDate[5]] + ",  " + names[rtn_crrntDate[7]] + " " + rtn_crrntDate[6] + ",  " + rtn_crrntDate[8] + " ";
	//**
}
//*! Below Test Only
//*! alert('Selected day:' + rtn_crrntDate[4]);
//*! alert('Beginning of week of Selected day:' + rtn_crrntDate[9]);
//new Date(newYear_W,newMonth_W,newDay_W)

}
///////////////////////////////////////////////////
//\\!! End Function rtnCrrntDateInfo()!!//


//_\\\\\*****\\\\\*****/////*****/////

///////////////////////////////////////////////////
// Replace content of tag
function ReplaceContent_cal(tag_id,str_new){


var ie_cc = document.all ? 1 : 0 ;
var ns_cc = document.getElementById && !document.all? 1 : 0 ;
	
	if(ie_cc){document.all[tag_id].innerHTML = str_new}


	if(ns_cc){document.getElementById(tag_id).innerHTML = str_new}
		
}
///////////////////////////////////////////////////
//\\!!

///////////////////////////////////////////////////
//
function setValueCalView(ElmntIDlnk, strvalue){

	document.getElementById(ElmntIDlnk).value = strvalue;

}
///////////////////////////////////////////////////
//\\!!

///////////////////////////////////////////////////
// Submit form
function jsdoPostBack_cal() {
	var theform;
	if (window.navigator.appName.toLowerCase().indexOf("microsoft") > -1) {
		theform = document.Form1;
	}
	else {
		theform = document.forms["Form1"];
	}
	theform.submit();
}
///////////////////////////////////////////////////
//\\!!

///////////////////////////////////////////////////
//
function Calendar_tt(Month,Year,ttDay) {
    
    var output_tt = '';
    
	var widthdweeks_tt = "210";
	var widthdays_tt = "30";
	var daysheightH_tt = "25";
	//Today
	var ResetDate = new Date();
	var ResetDay1 = ResetDate.getDay();
	var ResetDay = ResetDate.getDate();
	var ResetMonth = ResetDate.getMonth();
	var ResetYear = ResetDate.getFullYear();
	var TodayStr = " " + dowExt[ResetDay1] + ",  " + names[ResetMonth] + " " + ResetDay + ",  " + ResetYear + " "
	


    firstDay = new Date(Year,Month,1);
    startDay = firstDay.getDay();

    if (((Year % 4 == 0) && (Year % 100 != 0)) || (Year % 400 == 0))
         days[1] = 29; 
    else
         days[1] = 28;
	//////////////////////////////////////////////////////////
	//Days of the week heading beginning of calendar table
    output_tt += '<TABLE CELLSPACING=1 CELLPADDING=0 WIDTH=' + widthdweeks_tt + ' BORDER=0 BGCOLOR=' + CalTableBG + '>';

    ///////////////////////////Display Month and Year
    output_tt += '<TR>';
    output_tt += '<TD ALIGN=CENTER WIDTH="210" COLSPAN="7" HEIGHT="' + monthheightH + '" CLASS="dp_MonthYear_Disp_tt">';
    output_tt += '&nbsp;' + names[Month] + ', ' + Year + '';
    output_tt += '<\/TD>';
    output_tt += '<\/TR>';	
    ///////////////////////////
    
    output_tt += '<TR ALIGN=CENTER VALIGN=MIDDLE>';	
    
    for (i=0; i<7; i++)
        
        output_tt += '<TD WIDTH="' + widthdays_tt + '" HEIGHT="' + Headingheightdow + '" VALIGN="CENTER" CLASS="dp_Weekdays_Hng_tt">' + dow[i] +'<\/TD>';
		
    output_tt += '<\/TR><TR ALIGN=CENTER VALIGN=MIDDLE>';
    
	//////////////////////////
	//Days of month (calendar body)
    var rowspermonth = 0; //*** New as of Saturday, June 17, 2006
    var column = 0;
    var lastMonth = Month - 1;
    //////////
    //////////
    if (lastMonth == -1) lastMonth = 11;

    for (i=0; i<startDay; i++, column++)
        
        //////////
		//Days filed beginning of month
        output_tt += '<TD WIDTH=' + widthdays_tt + ' HEIGHT=' + daysheightH_tt + ' CLASS=' + fnDaysFilled_tt(i) + ' >' + (days[lastMonth]-startDay+i+1) + '<\/TD>';
    
    for (i=1; i<=days[Month]; i++, column++) {
        ////////// 
        //////////
		//Days of month
        var StrClass = fnSelectClass_tt(i,Month,Year,column);
		//**
        output_tt += '<TD ID=domtd' + i + ' WIDTH=' + widthdays_tt + ' HEIGHT=' + daysheightH_tt + ' CLASS=' + StrClass + ' >' + i + '<\/TD>';
        //**
        
        if (column == 6) {
            rowspermonth = rowspermonth + 1; //*** Saturday, June 17, 2006
            
			//  //*** Saturday, June 17, 2006
			if (i<days[Month]) {
				//
				output_tt += '<\/TR><TR ALIGN=CENTER VALIGN=MIDDLE>';
				//
			} 
			//             
            
            //
            column = -1;
        }
    }
 
 //  //***//\\***\\
 //  //*** Saturday, June 17, 2006
 if (column == 0) {
	rowspermonth = rowspermonth - 1; //*** Saturday, June 17, 2006
 }
 
 //***
 //*** alert("rows: " + rowspermonth);
 
 //***
 calfooter_str =  '';
 calfooter_str_txt =  '&nbsp;';
 
 calfooter_str =  '<TR ALIGN=CENTER VALIGN=MIDDLE>';//
 for (j=0; j<=6; j++) {
	calfooter_str += '<TD WIDTH=' + widthdays_tt + ' HEIGHT=' + (daysheightH_tt) + ' CLASS=dp_Cal_Rows_Fill_tt>' + calfooter_str_txt + '<\/TD>';//
 }
 calfooter_str +=  '<\/TR>';//
 //  \\***\\//***//
 //  \\*** Saturday, June 17, 2006 /\ Sunday, June 18, 2006 (HAW)
	
 
 // Fix the display on the bottom of each month
 var fixdispyn = 1
    if (column == 0) {
		 //** alert("The month ends even" + column + "" );	//** Debug Only
		fixdispyn = 0;	
	}
    
    if (column > 0) {
        for (i=1; column<7; i++, column++)
			//Days filed end of month
            output_tt +=  '<TD WIDTH=' + widthdays_tt + ' HEIGHT=' + daysheightH_tt + ' CLASS=' + fnDaysFilled_tt(column) + ' >' + i + '<\/TD>';
    }
    
    //else if(column == 0){
            //output_tt +=  '<\/TR><TR ALIGN=CENTER VALIGN=MIDDLE><TD WIDTH=280 HEIGHT=0 COLSPAN=7>&nbsp;<\/TD>';
    //}
    output_tt += '<\/TR>';
    
    
 //  //***//\\***\\ widthdweeks_tt ???
 //  //*** Saturday, June 17, 2006
	if (rowspermonth == 3) {
		//
		output_tt += calfooter_str;
		output_tt += calfooter_str;
		//
	} else if (rowspermonth == 4) {
		//
		output_tt += calfooter_str;
		//
	} 
 //  \\***\\//***//
 //  \\*** Saturday, June 17, 2006
  
    //  //*** Changed Saturday, June 17, 2006
    // Fix the display on the bottom of each month
    //if (fixdispyn == 1) {
		//** alert("Fix it" + column + "" );	//** Debug Only
        output_tt += '<TR ALIGN=CENTER VALIGN=MIDDLE><\/TR>';
	//}
    output_tt += '<\/TABLE>';

   
    return output_tt;
}
/////////////////////////
// END

/////////////////////////////////
function fnDaysFilled_tt(columnDF) {
	if (columnDF == 0 || columnDF == 6)
		return("dp_Weekend_Fill_tt");
	else
		return("dp_Weekday_Fill_tt");
}
//\\!! End Function !!//

//////////////////////////////////////////////////////////  
function fnSelectClass_tt(vdaySC,monthSC,yearSC,onColumnSC) {
	var todaySC = new Date();
	var vNowDaySC = todaySC.getDate();
	var vNowMonthSC = todaySC.getMonth();
	var vNowYearSC = todaySC.getFullYear();
	//
	if (vdaySC == vNowDaySC && monthSC == vNowMonthSC && yearSC == vNowYearSC) {
		return ("dp_Today_tt");
	// Saturday, February 18, 2006
	} else if (vdaySC == ttCrntD && monthSC == ttCrntM && yearSC == ttCrntY) {
		return ("dp_Selected_tt");
	// Saturday, February 18, 2006
	} else if (onColumnSC == 0 || onColumnSC == 6) {
		return ("dp_Weekend_tt");
	} else {
		return ("dp_Weekday_tt");
	}
}
//\\!! End Function !!//

// dp_Weekend_Fill dp_Weekend_Fill_tt   dp_Weekday_Fill dp_Weekday_Fill_tt
// dp_Today dp_Today_tt   dp_Selected dp_Selected_tt   dp_Weekend  dp_Weekend_tt  dp_Weekday   dp_Weekday_tt


// End -->