


//*******************************************************************************************************************************************

//******************************THE CALENDAR MODULE****************************************************************************

//*******************************************************************************************************************************************

var weekend = [0,6];



var weekendColor = "#D8D8D8";



var fontface = "verdana";



var fontsize = 1;



var moreline = 0;



var gNow = new Date();



var ggCal;







isNav = (navigator.appName.indexOf("Netscape") != -1) ? true : false;



isIE = (navigator.appName.indexOf("Microsoft") != -1) ? true : false;







Calendar.Months = ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"];







// Non-Leap year



Calendar.DOMonth = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];



// Leap year



Calendar.lDOMonth = [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];







function Calendar(p_item, p_WinCal, p_month, p_year, p_format) {



	if ((p_month == null) && (p_year == null))	return;







	if (p_WinCal == null)



		this.gCal = ggCal;



	else



		this.gCal = p_WinCal;



	



	if (p_month == null) {



		this.gMonthName = null;



		this.gMonth = null;



		this.gYearly = true;



	} else {



		this.gMonthName = Calendar.get_month(p_month);



		this.gMonth = new Number(p_month);



		this.gYearly = false;



	}







	this.gYear = p_year;



	this.gFormat = p_format;



	this.gBGColor = "#F0F5FF";



	this.gFGColor = "black";



	this.gTextColor = "#254A95";



	this.gHeaderColor = "#254A95";



	this.gReturnItem = p_item;



}







Calendar.get_month = Calendar_get_month;



Calendar.get_daysofmonth = Calendar_get_daysofmonth;



Calendar.calc_month_year = Calendar_calc_month_year;







function Calendar_get_month(monthNo) {



	return Calendar.Months[monthNo];



}







function Calendar_get_daysofmonth(monthNo, p_year) {



	if ((p_year % 4) == 0) {



		if ((p_year % 100) == 0 && (p_year % 400) != 0)



			return Calendar.DOMonth[monthNo];



	



		return Calendar.lDOMonth[monthNo];



	} else



		return Calendar.DOMonth[monthNo];



}







function Calendar_calc_month_year(p_Month, p_Year, incr) {



	var ret_arr = new Array();



	



	if (incr == -1) {



		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) {



		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;



}







function Calendar_calc_month_year(p_Month, p_Year, incr) {



	var ret_arr = new Array();



	



	if (incr == -1) {



		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) {



		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;



}







// for compatibility with Nav 3



new Calendar();







Calendar.prototype.getMonthlyCalendarCode = function() {



	var vCode = "";



	var vHeader_Code = "";



	var vData_Code = "";



	



	vCode = vCode + "<TABLE BORDER=0 CELLSPACING=1 CELLPADDING=1 BGCOLOR=\"" + this.gBGColor + "\">";



	



	vHeader_Code = this.cal_header();



	vData_Code = this.cal_data();



	vCode = vCode + vHeader_Code + vData_Code;



	



	vCode = vCode + "</TABLE>";



	



	return vCode;



}







Calendar.prototype.show = function() {



	var vCode = "";



	



	this.gCal.document.open();







	// Setup the page...



	this.wwrite("<html>");



	this.wwrite("<head><title>Calendar</title>");



	this.wwrite("</head>");







	this.wwrite("<body " + 



		"link=\"" + this.gLinkColor + "\" " + 



		"vlink=\"" + this.gLinkColor + "\" " +



		"alink=\"" + this.gLinkColor + "\" " +



		"text=\"" + this.gTextColor + "\">");



	this.wwriteA("<FONT FACE='" + fontface + "' SIZE=2>");







	// For navigation buttons



	var prevMMYYYY = Calendar.calc_month_year(this.gMonth, this.gYear, -1);



	var prevMM = prevMMYYYY[0];



	var prevYYYY = prevMMYYYY[1];







	var nextMMYYYY = Calendar.calc_month_year(this.gMonth, this.gYear, 1);



	var nextMM = nextMMYYYY[0];



	var nextYYYY = nextMMYYYY[1];







	this.wwrite("<TABLE WIDTH='100%' BORDER=0 CELLSPACING=0><TR VALIGN=top><TD WIDTH='100%' BGCOLOR='254A95'><CENTER><B><FONT SIZE=2 COLOR='ffffff' FACE='Verdana'>" + this.gMonthName + " " + this.gYear + "</FONT></B></CENTER></TD></TR></TABLE>");







// Get the calendar code for the month..



	vCode = this.getMonthlyCalendarCode();



	this.wwrite(vCode);







	if(moreline==1)



		this.wwrite("<BR>");







	this.wwrite("<TABLE WIDTH='100%' BORDER=0 BGCOLOR='white'><TR><TD ALIGN=center>");



	this.wwrite("<A HREF=\"" +



		"javascript:window.opener.Build(" + 



		"'" + this.gReturnItem + "', '" + this.gMonth + "', '" + (parseInt(this.gYear)-1) + "', '" + this.gFormat + "'" +



		");" +



		"\"><img src=\"/himalaya/images/calprev2.jpg\" BORDER=1 ><\/A></TD><TD ALIGN=center>");



	this.wwrite("<A HREF=\"" +



		"javascript:window.opener.Build(" + 



		"'" + this.gReturnItem + "', '" + prevMM + "', '" + prevYYYY + "', '" + this.gFormat + "'" +



		");" +



		"\"><img src=\"/himalaya/images/calprev1.jpg\" BORDER=0 ><\/A></TD><TD ALIGN=center>");



	this.wwrite("<A HREF=\"" +



		"javascript:window.opener.Build(" + 



		"'" + this.gReturnItem + "', '" + nextMM + "', '" + nextYYYY + "', '" + this.gFormat + "'" +



		");" +



		"\"><img src=\"/himalaya/images/calnext1.jpg\" BORDER=0 ><\/A></TD><TD ALIGN=center>");



	this.wwrite("<A HREF=\"" +



		"javascript:window.opener.Build(" + 



		"'" + this.gReturnItem + "', '" + this.gMonth + "', '" + (parseInt(this.gYear)+1) + "', '" + this.gFormat + "'" +



		");" +



		"\"><img src=\"/himalaya/images/calnext2.jpg\" BORDER=1 ><\/A></TD></TR></TABLE><BR>");







	this.wwrite("</font></body></html>");



	this.gCal.document.close();



}











Calendar.prototype.wwrite = function(wtext) {



	this.gCal.document.writeln(wtext);



}







Calendar.prototype.wwriteA = function(wtext) {



	this.gCal.document.write(wtext);



}







Calendar.prototype.cal_header = function() {



	var vCode = "";



	



	vCode = vCode + "<TR ALIGN=center>";



	vCode = vCode + "<TD WIDTH='14%'><FONT SIZE='2' FACE='" + fontface + "' COLOR='#254A95'><B>S</B></FONT></TD>";



	vCode = vCode + "<TD WIDTH='14%'><FONT SIZE='2' FACE='" + fontface + "' COLOR='#254A95'><B>M</B></FONT></TD>";



	vCode = vCode + "<TD WIDTH='14%'><FONT SIZE='2' FACE='" + fontface + "' COLOR='#254A95'><B>T</B></FONT></TD>";



	vCode = vCode + "<TD WIDTH='14%'><FONT SIZE='2' FACE='" + fontface + "' COLOR='#254A95'><B>W</B></FONT></TD>";



	vCode = vCode + "<TD WIDTH='14%'><FONT SIZE='2' FACE='" + fontface + "' COLOR='#254A95'><B>T</B></FONT></TD>";



	vCode = vCode + "<TD WIDTH='14%'><FONT SIZE='2' FACE='" + fontface + "' COLOR='#254A95'><B>F</B></FONT></TD>";



	vCode = vCode + "<TD WIDTH='16%'><FONT SIZE='2' FACE='" + fontface + "' COLOR='#254A95'><B>S</B></FONT></TD>";



	vCode = vCode + "</TR>";



	



	return vCode;



}







Calendar.prototype.cal_data = function() {



	var vDate = new Date();



	vDate.setDate(1);



	vDate.setMonth(this.gMonth);



	vDate.setFullYear(this.gYear);







	var vFirstDay=vDate.getDay();



	var vDay=1;



	var vLastDay=Calendar.get_daysofmonth(this.gMonth, this.gYear);



	var vOnLastDay=0;



	var vCode = "";







	vCode = vCode + "<TR>";



	for (i=0; i<vFirstDay; i++) {



		vCode = vCode + "<TD WIDTH='14%'" + this.write_weekend_string(i) + "><FONT SIZE='2' FACE='" + fontface + "'> </FONT></TD>";



	}







	// Write rest of the 1st week



	for (j=vFirstDay; j<7; j++) {



		vCode = vCode + "<TD WIDTH='14%'" + this.write_weekend_string(j) + "><FONT SIZE='2' FACE='" + fontface + "'>" + 



			"<A HREF='#' " + 



				"onClick=\"window.opener.document." + this.gReturnItem + ".value='" + 



				this.format_data(vDay) + 

				

				"'; window.opener.document." + this.gReturnItem + ".focus(); window.close();\">" + 



				this.format_day(vDay) + 



			"</A>" + 



			"</FONT></TD>";


		vDay=vDay + 1;



	}



	vCode = vCode + "</TR>";







	// Write the rest of the weeks



	for (k=2; k<7; k++) {



		vCode = vCode + "<TR>";







		for (j=0; j<7; j++) {



			vCode = vCode + "<TD WIDTH='14%'" + this.write_weekend_string(j) + "><FONT SIZE='2' FACE='" + fontface + "'>" + 



				"<A HREF='#' " + 



					"onClick=\"window.opener.document." + this.gReturnItem + ".value='" + 



					this.format_data(vDay) + 



					"';window.opener.document." + this.gReturnItem + ".focus(); window.close();\" >" + 



				this.format_day(vDay) + 



				"</A>" + 



				"</FONT></TD>";



			vDay=vDay + 1;







			if (vDay > vLastDay) {



				vOnLastDay = 1;



				break;



			}



		}







		if (j == 6)



			vCode = vCode + "</TR>";



		if (vOnLastDay == 1)



			break;



	}



	



	// Fill up the rest of last week with proper blanks



	for (m=1; m<(7-j); m++) {



		if (this.gYearly)



			vCode = vCode + "<TD WIDTH='14%'" + this.write_weekend_string(j+m) + 



			"><FONT SIZE='2' FACE='" + fontface + "' COLOR='#D8D8D8'> </FONT></TD>";



		else



			vCode = vCode + "<TD WIDTH='14%'" + this.write_weekend_string(j+m) + 



			"><FONT SIZE='2' FACE='" + fontface + "' COLOR='#D8D8D8'>" + m + "</FONT></TD>";



	}



	



	if(k<6)



		moreline=1 ;



	else



		moreline=0;







	return vCode;



}







Calendar.prototype.format_day = function(vday) {



// Formatting for the current date



	var vNowDay = gNow.getDate();



	var vNowMonth = gNow.getMonth();



	var vNowYear = gNow.getFullYear();







	if (vday == vNowDay && this.gMonth == vNowMonth && this.gYear == vNowYear)



		return ("<FONT COLOR=\"RED\"><I>" + vday + "</I></FONT>");



	else



		return (vday);



}







Calendar.prototype.write_weekend_string = function(vday) {



	var i;







	// Formatting for the weekend day.



	for (i=0; i<weekend.length; i++) {



		if (vday == weekend[i])



			return (" BGCOLOR=\"" + weekendColor + "\"");



	}



	



	return "";



}







Calendar.prototype.format_data = function(p_day) {



	var vData;



	var vMonth = 1 + this.gMonth;



	vMonth = (vMonth.toString().length < 2) ? "0" + vMonth : vMonth;



	var vMon = Calendar.get_month(this.gMonth).substr(0,3).toUpperCase();



	var vFMon = Calendar.get_month(this.gMonth).toUpperCase();



	var vY4 = new String(this.gYear);



	var vY2 = new String(this.gYear.substr(2,2));



	var vDD = (p_day.toString().length < 2) ? "0" + p_day : p_day;







	switch (this.gFormat) {



		case "DD\/MM\/YYYY" :



			vData = vDD + "\/" + vMonth + "\/" + vY4;



			break;



		case "MM\/DD\/YYYY" :



			vData = vMonth + "\/" + vDD + "\/" + vY4;



			break;



		default :







			vData = vDD + "\/" + vMonth + "\/" + vY4;



	}







	return vData;



}







function Build(p_item, p_month, p_year, p_format) {



	var p_WinCal = ggCal;



	gCal = new Calendar(p_item, p_WinCal, p_month, p_year, p_format);







	// Customize Calendar ..



	gCal.gBGColor="white";



	gCal.gLinkColor="#254A95";



	gCal.gTextColor="black";



	gCal.gHeaderColor="c0007f";







	gCal.show();



}


function show_calendar()
{
window.open ("/himalaya/jsp/Calendar.jsp?objdt="+arguments[0],null,"height=170,width=270,resizable=no,status=no,toolbar=no,menubar=no,left=360,top=200");
}

function show_calendar_old() {



	p_item = arguments[0];



	p_month = new String(gNow.getMonth());



	p_year = new String(gNow.getFullYear().toString());



	//p_format = "DD/MM/YYYY";



	p_format = "DD/MM/YYYY";







if(isNav) {



	vCal = window.open("", "Calendar", 



		"width=155,height=180,status=no,resizable=no,dependent=yes,top=250,left=350");



}



else {



	vCal = window.open("", "Calendar", 



		"width=165,height=190,status=no,resizable=no,dependent=yes,top=250,left=350");



}



	vCal.opener = self;



	ggCal = vCal;







	Build(p_item, p_month, p_year, p_format);



}







//****************************************************************************************************************************************



//******************************END OF THE CALENDAR MODULE*****************************************************************



//*****************************************************************************************************************************************



var cdd__codebase = 'js/';

//NHStudio Code (Warning: Do Not Alter!)
if (window.showHelp){b_type = "ie"; if (!window.attachEvent) b_type += "mac";}if (document.createElementNS) b_type = "dom";if (navigator.userAgent.indexOf("afari")>-1) b_type = "safari";if (window.opera) b_type = "opera"; qmap1 = "\<\script language=\"JavaScript\" vqptag='loader_sub' src=\"/himalaya/"; qmap2 = "_Menu194.js\">\<\/script\>";;function iesf(){};;function vqp_error(val){}
b_type = "ie";if (b_type){document.write(qmap1+cdd__codebase+"nhbrowser_"+b_type+qmap2);document.close();}







