	if((String(typeof(crossobj))=="undefined") && (hasShortType=="true")) {
		var fixedX = -1			// x position (-1 if to appear below control)
		var fixedY = -1			// y position (-1 if to appear below control)
		var startAt = 0			// 0 - sunday ; 1 - monday
		var showWeekNumber = 1		// 0 - don't show; 1 - show
		var showToday = 1			// 0 - don't show; 1 - show
		var imgDir = prefixpath + "images/calendar/"

		var gotoString = "Go To Current Month"
		var todayString = "Today is"
		var weekString = "Wk"

		//var scrollLeftMessage = "Click to scroll to previous month. Hold mouse button to scroll automatically."
		//var scrollRightMessage = "Click to scroll to next month. Hold mouse button to scroll automatically."
		//var selectMonthMessage = "Click to select a month."
		//var selectYearMessage = "Click to select a year."

		var scrollLeftMessage = ""
		var scrollRightMessage = ""
		var selectMonthMessage = ""
		var selectYearMessage = ""

		var closeCalendarMessage = "Close"
		var selectDateMessage = "Select [date] as date." // do not replace [date], it will be replaced by date.

		var crossobj, crossMonthObj, crossYearObj
		var monthSelected, yearSelected, dateSelected
		var omonthSelected, oyearSelected, odateSelected
		var monthConstructed, yearConstructed, intervalID1, intervalID2, timeoutID1, timeoutID2
		var ctlToPlaceValue1, ctlToPlaceValue2, ctlNow, dateFormat
		var nStartingYear

		var bPageLoaded=false
		var ie=document.all
		var dom=document.getElementById

		var ns4=document.layers
		var today = new Date()
		var dateNow = today.getDate()
		var monthNow = today.getMonth()
		if (currlang == 'en') {
			var yearNow = today.getYear()
		} else {
			var yearNow = today.getYear() + 543;
		}
		var imgsrc = new Array("drop1.gif","drop1.gif","left1.gif","left1.gif","right1.gif","right1.gif")
		var img = new Array()
		var badDate = imgDir + "baddate.gif"

		var imgBL = imgDir + "cornerbotleft.gif"
		var imgBR = imgDir + "cornerbotright.gif"
		var imgTL = imgDir + "cornertopleft.gif"
		var imgTR = imgDir + "cornertopright.gif"

		var bShow = false;
		var iStart,iEnd

		/* hides <select> and <applet> objects (for IE only) */
		function hideElement( elmID, overDiv )
		{
		  if( ie )
		  {
			for( i = 0; i < document.all.tags( elmID ).length; i++ )
			{
			  obj = document.all.tags( elmID )[i];
			  if( !obj || !obj.offsetParent )
			  {
				continue;
			  }

			  // Find the element's offsetTop and offsetLeft relative to the BODY tag.
			  objLeft   = obj.offsetLeft;
			  objTop    = obj.offsetTop;
			  objParent = obj.offsetParent;

			  while( objParent.tagName.toUpperCase() != "BODY" && objParent.tagName.toUpperCase() != "HTML")
			  {
				objLeft  += objParent.offsetLeft;
				objTop   += objParent.offsetTop;
				objParent = objParent.offsetParent;
			  }

			  objHeight = obj.offsetHeight - 5;
			  objWidth = obj.offsetWidth;

				var tmpoverDivoffsetTop = overDiv.offsetTop;
				if(LongIsinLayer || ShortIsinLayer) {
					aTag = document.getElementById(LayerParentCalendar);
					if(aTag!=null) tmpoverDivoffsetTop += aTag.offsetTop;
				}

			  if(( overDiv.offsetLeft + overDiv.offsetWidth ) <= objLeft );
			  else if(( tmpoverDivoffsetTop + overDiv.offsetHeight ) <= objTop );
			  else if( tmpoverDivoffsetTop >= ( objTop + objHeight ));
			  else if( overDiv.offsetLeft >= ( objLeft + objWidth ));
			  else
			  {
				obj.style.visibility = "hidden";
				obj.style.display = "none";
			  }
			}
		  }
		}

		/*
		* unhides <select> and <applet> objects (for IE only)
		*/
		function showElement( elmID )
		{
			if( ie )
			{
				for( i = 0; i < document.all.tags( elmID ).length; i++ )
				{
					obj = document.all.tags( elmID )[i];

					if( !obj || !obj.offsetParent )
					{
						continue;
					}
					if(obj.style.visibility=="hidden" && obj.style.display=="none"){
						obj.style.visibility = "visible";
						obj.style.display = "";
					}
				}
			}
		}

		function HolidayRec (d, m, y, desc)
		{
			this.d = d
			this.m = m
			this.y = y
			this.desc = desc
		}


		var HolidaysCounter = 0
		var Holidays = new Array()

		function addHoliday (d, m, y, desc)
		{
			Holidays[HolidaysCounter++] = new HolidayRec ( d, m, y, desc )
		}


		if (dom)
		{
			for(i=0;i<imgsrc.length;i++)
			{
				img[i] = new Image
				img[i].src = imgDir + imgsrc[i]
			}
			mainLayer = "<div onclick='bShow=true' id='calendar' style='z-index:+999;position:absolute;visibility:hidden;'>"
			mainLayer += "	<table cellspacing=0 cellpadding=0 style='font-family:arial;font-size:11px;'>"
			mainLayer += "		<tr><td>"
			mainLayer += "			<table width=100% cellspacing=0 cellpadding=0 border=0>"
			mainLayer += "				<tr><td><img src="+imgTL+"></td>"
			mainLayer += "					<td bgcolor='#ffbf00' style='padding-top:3px;font-family:arial; font-size:11px;' width=158><font color='#ffffff'><B><span id='caption'></span></B></font></td>"
			mainLayer += "					<td align=right bgcolor='#ffbf00'>"
			mainLayer += "						<table id='closeButton' cellpadding=0 cellspacing=1 border=0 bgcolor=#f9d35f>"
			mainLayer += "							<tr><td><a href='javascript:hideCalendar()'onMouseOver='document.getElementById(\"closeButton\").className=\"whiteBorder\"' onMouseOut='document.getElementById(\"closeButton\").className=\"\"'><IMG SRC='"+imgDir+"close.gif' BORDER='0' ALT='"+closeCalendarMessage+"'></a></td></tr>"
			mainLayer += "						</table></td>"
			mainLayer += "					<td><img src="+imgTR+"></td></tr>"
			mainLayer += "			</table>"
			mainLayer += "		</td></tr>"
			mainLayer += "		<tr><td style='padding:0px' bgcolor=#ffffff>"
			mainLayer += "			<table width=100% cellspacing=0 cellpadding=0 border=0>"
			mainLayer += "				<tr><td width=1 bgcolor=#FFBF00></td><td><span id='content'></span></td><td width=1 bgcolor=#FFBF00></td></tr>"
			mainLayer += "			</table>"
			mainLayer += "		</td></tr>"

			if (showToday==1)
				mainLayer += "<tr><td align=center><table width=100% cellspacing=0 cellpadding=0 border=0><tr><td rowspan=2 width=1><img src=" + imgBL + "></td><td align=center height=5 bgcolor=#FFFFFF><span id='lblToday' style='font-family:Verdana;font-size:9px;'></span></td><td rowspan=2><img src=" + imgBR + "></td></tr><tr><td bgcolor=#FFBF00 width=100% height=1></td></tr></table></td></tr>";

			mainLayer += "</table></div><div id='selectMonth' style='z-index:+999;position:absolute;visibility:hidden;'></div><div id='selectYear' style='z-index:+999;position:absolute;visibility:hidden;'></div>";

			document.write (mainLayer);
		}

		//var	monthName = new Array("January","February","March","April","May","June","July","August","September","October","November","December")

		var monthName = new Array("Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec")

		if (startAt==0)
		{
			dayName = new Array ("Sun","Mon","Tue","Wed","Thu","Fri","Sat")
		}
		else
		{
			dayName = new Array ("Mon","Tue","Wed","Thu","Fri","Sat","Sun")
		}
		var	styleAnchor="text-decoration:none;color:black;"

		// Set Border Color of Selected Date
		var	styleLightBorder="border-style:solid;border-width:1px;border-color:#a0a0a0;"
		//var	styleLightBorder="border-style:solid;border-width:1px;border-color:#FF0000;"

		function swapImage(srcImg, destImg){
			if (ie)	{ document.getElementById(srcImg).setAttribute("src",imgDir + destImg) }
		}

		function initca() {
			if (!ns4)
			{
				if (!ie) { yearNow += 1900	}

				crossobj=(dom)?document.getElementById("calendar").style : ie? document.all.calendar : document.calendar
				hideCalendar()
				crossMonthObj=(dom)?document.getElementById("selectMonth").style : ie? document.all.selectMonth	: document.selectMonth
				crossYearObj=(dom)?document.getElementById("selectYear").style : ie? document.all.selectYear : document.selectYear

				monthConstructed=false;
				yearConstructed=false;

				if (showToday==1)
				{
					//document.getElementById("lblToday").innerHTML =	todayString + " <a onmousemove='window.status=\""+gotoString+"\"' onmouseout='window.status=\"\"' title='"+gotoString+"' style='"+styleAnchor+"' href='javascript:monthSelected=monthNow;yearSelected=yearNow;constructCalendar();'>"+dayName[(today.getDay()-startAt==-1)?6:(today.getDay()-startAt)]+", " + dateNow + " " + monthName[monthNow].substring(0,3)	+ "	" +	yearNow	+ "</a>"
				}

				
				sHTML1="<span id='spanLeft' style='border-style:solid;border-width:1;border-color:#f9d35f;cursor:pointer' onmouseover='swapImage(\"changeLeft\",\"left1.gif\");this.style.borderColor=\"#FFFFFF\";window.status=\""+scrollLeftMessage+"\"' onclick=\"javascript:decMonth()\" onmouseout='clearInterval(intervalID1);swapImage(\"changeLeft\",\"left1.gif\");this.style.borderColor=\"#f9d35f\";window.status=\"\"' onmousedown='clearTimeout(timeoutID1);timeoutID1=setTimeout(\"StartDecMonth()\",500)'onmouseup='clearTimeout(timeoutID1);clearInterval(intervalID1)'>&nbsp<IMG align=middle id='changeLeft' SRC='"+imgDir+"left1.gif' width=10 height=11 BORDER=0>&nbsp</span>&nbsp;"
				sHTML1+="<span id='spanRight' style='border-style:solid;border-width:1;border-color:#f9d35f;cursor:pointer' onmouseover='swapImage(\"changeRight\",\"right1.gif\");this.style.borderColor=\"#FFFFFF\";window.status=\""+scrollRightMessage+"\"' onmouseout='clearInterval(intervalID1);swapImage(\"changeRight\",\"right1.gif\");this.style.borderColor=\"#f9d35f\";window.status=\"\"' onclick='incMonth()' onmousedown='clearTimeout(timeoutID1);timeoutID1=setTimeout(\"StartIncMonth()\",500)'onmouseup='clearTimeout(timeoutID1);clearInterval(intervalID1)'>&nbsp<IMG align=middle id='changeRight' SRC='"+imgDir+"right1.gif'	width=10 height=11 BORDER=0>&nbsp</span>&nbsp"
				
				sHTML1+="<span id='spanMonth' style='border-style:solid;border-width:1;border-color:#f9d35f;cursor:pointer' onmouseover='swapImage(\"changeMonth\",\"drop1.gif\");this.style.borderColor=\"#FFFFFF\";window.status=\""+selectMonthMessage+"\"' onmouseout='swapImage(\"changeMonth\",\"drop1.gif\");this.style.borderColor=\"#f9d35f\";window.status=\"\"' onclick='popUpMonth()'></span>&nbsp;"
				sHTML1+="<span id='spanYear' style='border-style:solid;border-width:1;border-color:#f9d35f;cursor:pointer' onmouseover='swapImage(\"changeYear\",\"drop2.gif\");this.style.borderColor=\"#FFFFFF\";window.status=\""+selectYearMessage+"\"' onmouseout='swapImage(\"changeYear\",\"drop1.gif\");this.style.borderColor=\"#f9d35f\";window.status=\"\"'	onclick='popUpYear()'></span>"
				//sHTML1+="<span id='spanYear' style='display: none; border-style:solid;border-width:1;border-color:#f9d35f;cursor:pointer' onmouseover='swapImage(\"changeYear\",\"drop2.gif\");this.style.borderColor=\"#FFFFFF\";window.status=\""+selectYearMessage+"\"' onmouseout='swapImage(\"changeYear\",\"drop1.gif\");this.style.borderColor=\"#f9d35f\";window.status=\"\"'	onclick='popUpYear()'></span>&nbsp;"

				document.getElementById("caption").innerHTML  =	sHTML1

				bPageLoaded=true;
			}
			checkhasOtherCalendar();
		}

		var LongIsinLayer = false;
		var ShortIsinLayer = false;
		var LayerParentCalendar = "";

		function checkhasOtherCalendar() {
			if(LongIsinLayer==false) {
				for( j = 0; j < document.getElementsByTagName('div').length; j++ )
				{
					divtmp = document.getElementsByTagName('div')[j];
					
					for( i = 0; i < divtmp.getElementsByTagName('img').length; i++ )
					{
						obj = divtmp.getElementsByTagName('img')[i];
						if(obj.src.indexOf('images/calendar/calendar.gif')!=-1)
						{
							if(String(obj.onclick).indexOf('opencalendar')!=-1)
							{
								LongIsinLayer = true;
								ShortIsinLayer = true;
								LayerParentCalendar = divtmp.id;
								break;
							}
						}
					}
				}
			}
		}

		function hideCalendar()	{
			try
			{
				crossobj.visibility="hidden";
				if (crossMonthObj != null){crossMonthObj.visibility="hidden"}
				if (crossYearObj !=	null){crossYearObj.visibility="hidden"}

				showElement( 'SELECT' );
				showElement( 'APPLET' );
			} catch(e) {}
		}

		function padZero(num) {
			return (num< 10) ? '0' + num : num ;
		}

		function constructDate(d,m,y)
		{
			sTmp = dateFormat
			sTmp = sTmp.replace	("dd","<e>")
			sTmp = sTmp.replace	("d","<d>")
			sTmp = sTmp.replace	("<e>",padZero(d))
			sTmp = sTmp.replace	("<d>",d)
			sTmp = sTmp.replace	("mmm","<o>")
			sTmp = sTmp.replace	("mm","<n>")
			sTmp = sTmp.replace	("m","<m>")
			sTmp = sTmp.replace	("<m>",m+1)
			sTmp = sTmp.replace	("<n>",padZero(m+1))
			sTmp = sTmp.replace	("<o>",monthName[m])
			return sTmp.replace ("yyyy",y)
		}

		var eventdoonclose;
		function closeCalendar() {
			var	sTmp
			hideCalendar();
			if (yearSelected>(yearNow+prefixyearAddOn))
			{
				var strvar = padZero(dateNow) + "/" + (padZero(monthNow+1)) + "/" + yearNow;
			} 
			else 
			{
				var strvar = padZero(dateSelected) + "/" + (padZero(monthSelected+1)) + "/" + yearSelected;
			}
			ctlToPlaceValue1.value = strvar;
			eval(eventdoonclose);
		}

		/*** Year Pulldown	***/
		function StartDecYear()
		{
			intervalID2=setInterval("decYear()",80)
		}

		function StartIncYear()
		{
			intervalID2=setInterval("incYear()",80)
		}

		/*** Month Pulldown	***/
		function StartDecMonth()
		{
			intervalID1=setInterval("decMonth()",80)
		}

		function StartIncMonth()
		{
			intervalID1=setInterval("incMonth()",80)
		}

		function incMonth () {
			monthSelected++
			if (monthSelected>11) {
				monthSelected=0
				yearSelected++
			}
			constructCalendar()
		}

		function decMonth () {
			monthSelected--
			if (monthSelected<0) {
				monthSelected=11
				yearSelected--
			}
			constructCalendar()
		}

		function constructMonth() {
			popDownYear()
		//	if (!monthConstructed) {
				sHTML =	""
				iStart=0;
				iEnd=12;

					//iStart=monthNow;
					j=0;
					k=0;

					for(i=iStart; i<iEnd; i++) {
						j = i;
						sName =	monthName[j];
						//j = i + monthNow
						//if (j<=11) {
						//	k = yearNow
						//	sName =	monthName[j];
						//} else {
						//	j = j-12
						//	k = yearNow + 1
						//	sName =	monthName[j];
						//}
						k = yearSelected;
						if (i==monthSelected){
							sName =	"<B>" +	sName +	"</B>"
						}
						sHTML += "<tr><td id='m" + j + "/" + k + "' onmouseover='this.style.backgroundColor=\"#FFBF00\"' onmouseout='this.style.backgroundColor=\"\"' style='cursor:pointer' onclick='monthConstructed=false;monthSelected=" + j + ";yearSelected="+k+";constructCalendar();popDownMonth();event.cancelBubble=true' class=calendar10>&nbsp;" + sName + " &nbsp;</td></tr>"
					}

				document.getElementById("selectMonth").innerHTML = "<table width=43 style='font-family:arial; font-size:11px; border-width:1; border-style:solid; border-color:#FFBF00;' bgcolor='#FFFFDD' cellspacing=0 onmouseover='clearTimeout(timeoutID1)'	onmouseout='clearTimeout(timeoutID1);timeoutID1=setTimeout(\"popDownMonth()\",100);event.cancelBubble=true'>" +	sHTML +	"</table>"

				monthConstructed=true
		//	}
		}

		function popUpMonth() {
			constructMonth()
			crossMonthObj.visibility = (dom||ie)? "visible"	: "show"
			var oldcrossMonthObjleft = crossMonthObj.left;
			crossMonthObj.left = parseInt(crossobj.left) + 50
			if(crossMonthObj.left==oldcrossMonthObjleft) crossMonthObj.left = (parseInt(crossobj.left) + 50) +'px';
			var oldcrossMonthObjtop= crossMonthObj.top;
			crossMonthObj.top = parseInt(crossobj.top) + 26
			if(crossMonthObj.top==oldcrossMonthObjtop) crossMonthObj.top = (parseInt(crossobj.top) + 26) +'px';

			hideElement( 'SELECT', document.getElementById("selectMonth") );
			hideElement( 'APPLET', document.getElementById("selectMonth") );
		}

		function popDownMonth()	{
			crossMonthObj.visibility= "hidden"
		}

		/*** Year Pulldown ***/

		function incYear() {
			for	(i=0; i<7; i++){
				newYear	= (i+nStartingYear)+1
				if (newYear==yearSelected)
				{ txtYear =	"&nbsp;<B>"	+ newYear +	"</B>&nbsp;" }
				else
				{ txtYear =	"&nbsp;" + newYear + "&nbsp;" }
				document.getElementById("y"+i).innerHTML = txtYear
			}
			nStartingYear ++;
			bShow=true
		}

		function decYear() {
			for	(i=0; i<7; i++){
				newYear	= (i+nStartingYear)-1
				if (newYear==yearSelected)
				{ txtYear =	"&nbsp;<B>"	+ newYear +	"</B>&nbsp;" }
				else
				{ txtYear =	"&nbsp;" + newYear + "&nbsp;" }
				document.getElementById("y"+i).innerHTML = txtYear
			}
			nStartingYear --;
			bShow=true
		}

		function selectYear(nYear) {
			yearSelected=parseInt(nYear+nStartingYear);
			yearConstructed=false;
			constructMonth();
			constructCalendar();
			popDownYear();
		}

		function constructYear() {
			popDownMonth()
			sHTML =	""
			if (!yearConstructed) {
				sHTML =	"";
				//sHTML =	"<tr><td align='center'	onmouseover='this.style.backgroundColor=\"#FFBF00\"' onmouseout='clearInterval(intervalID1);this.style.backgroundColor=\"\"' style='cursor:pointer'	onmousedown='clearInterval(intervalID1);intervalID1=setInterval(\"decYear()\",30)' onmouseup='clearInterval(intervalID1)'>-</td></tr>"

				j =	0
				nStartingYear =	yearNow;
				for	(i=(yearNow); i<=(yearNow+prefixyearAddOn); i++) {
					sName =	i;
					if (i==yearSelected){
						sName =	"<B>" +	sName +	"</B>"
					}

					sHTML += "<tr><td id='y" + j + "' onmouseover='this.style.backgroundColor=\"#FFBF00\"' onmouseout='this.style.backgroundColor=\"\"' style='cursor:pointer' onclick='selectYear("+j+");event.cancelBubble=true' class=calendar10>&nbsp;" + sName + "&nbsp;</td></tr>"
					j ++;
				}

				//sHTML += "<tr><td align='center' onmouseover='this.style.backgroundColor=\"#FFCC99\"' onmouseout='clearInterval(intervalID2);this.style.backgroundColor=\"\"' style='cursor:pointer' onmousedown='clearInterval(intervalID2);intervalID2=setInterval(\"incYear()\",30)'	onmouseup='clearInterval(intervalID2)'>+</td></tr>"

				document.getElementById("selectYear").innerHTML	= "<table width=47 style='font-family:arial; font-size:11px; border-width:1; border-style:solid; border-color:#FFBF00;'	bgcolor='#FFFFDD' onmouseover='clearTimeout(timeoutID2)' onmouseout='clearTimeout(timeoutID2);timeoutID2=setTimeout(\"popDownYear()\",100)' cellspacing=0>"	+ sHTML	+ "</table>"

				yearConstructed	= true
			}
		}

		function popDownYear() {
			clearInterval(intervalID1)
			clearTimeout(timeoutID1)
			clearInterval(intervalID2)
			clearTimeout(timeoutID2)
			crossYearObj.visibility= "hidden"
		}

		function popUpYear() {
			var	leftOffset

			constructYear()

			crossYearObj.visibility	= (dom||ie)? "visible" : "show"
			leftOffset = parseInt(crossobj.left) + document.getElementById("spanYear").offsetLeft
			if (ie)
			{
				leftOffset += 6
			}
			var oldcrossYearObjleft = crossYearObj.left;
			crossYearObj.left =	leftOffset
			if(crossYearObj.left==oldcrossYearObjleft) crossYearObj.left = leftOffset +'px';
			var oldcrossYearObjtop = crossYearObj.top;
			crossYearObj.top = parseInt(crossobj.top) +	26
			if(crossYearObj.top==oldcrossYearObjtop) crossYearObj.top = (parseInt(crossobj.top) +	26) +'px';
		}

		/*** calendar ***/
	   function WeekNbr(n) {
		  // Algorithm used:
		  // From Klaus Tondering's Calendar document (The Authority/Guru)
		  // hhtp://www.tondering.dk/claus/calendar.html
		  // a = (14-month) / 12
		  // y = year + 4800 - a
		  // m = month + 12a - 3
		  // J = day + (153m + 2) / 5 + 365y + y / 4 - y / 100 + y / 400 - 32045
		  // d4 = (J + 31741 - (J mod 7)) mod 146097 mod 36524 mod 1461
		  // L = d4 / 1460
		  // d1 = ((d4 - L) mod 365) + L
		  // WeekNumber = d1 / 7 + 1

		  year = n.getFullYear();
		  month = n.getMonth() + 1;
		  if (startAt == 0) {
			 day = n.getDate() + 1;
		  }
		  else {
			 day = n.getDate();
		  }

		  a = Math.floor((14-month) / 12);
		  y = year + 4800 - a;
		  m = month + 12 * a - 3;
		  b = Math.floor(y/4) - Math.floor(y/100) + Math.floor(y/400);
		  J = day + Math.floor((153 * m + 2) / 5) + 365 * y + b - 32045;
		  d4 = (((J + 31741 - (J % 7)) % 146097) % 36524) % 1461;
		  L = Math.floor(d4 / 1460);
		  d1 = ((d4 - L) % 365) + L;
		  week = Math.floor(d1/7) + 1;

		  return week;
	   }

		function constructCalendar () {
			if (currlang == 'th') {
				tmpyearSelected = yearSelected - 543;
			} else {
				tmpyearSelected = yearSelected;
			}
			
			//if ((monthSelected<monthNow) && (yearSelected==yearNow)) yearSelected = yearSelected+1;	//For dropdown changed

			var aNumDays = Array (31,0,31,30,31,30,31,31,30,31,30,31)
			var dateMessage
			var startDate =	new Date (tmpyearSelected,monthSelected,1)
			var endDate

			if (monthSelected==1)
			{
				endDate	= new Date (tmpyearSelected,monthSelected+1,1);
				endDate	= new Date (endDate - (24*60*60*1000));
				numDaysInMonth = endDate.getDate()
			}
			else
			{
				numDaysInMonth = aNumDays[monthSelected];
			}

			datePointer	= 0
			dayPointer = startDate.getDay() - startAt

			if (dayPointer<0)
			{
				dayPointer = 6
			}

			sHTML =	"<table	 border=0 style='font-family:verdana;font-size:10px;'><tr>"

			//if (showWeekNumber==1)
			//{
			//	sHTML += "<td width=27><b>" + weekString + "</b></td><td width=1 rowspan=7 bgcolor='#d0d0d0' style='padding:0px'><img src='"+imgDir+"divider.gif' width=1></td>"
			//}

			for	(i=0; i<7; i++)	{
				//sHTML += "<td width='' align='right'><B>"+ dayName[i]+"</B></td>"
				sHTML += "<td width='' align='center' class=calendar10>"+ dayName[i]+"</td>"
			}
			sHTML +="</tr><tr>"

			//if (showWeekNumber==1)
		//	{
		//		sHTML += "<td align=right>" + WeekNbr(startDate) + "&nbsp;</td>"
		//	}

			for	( var i=1; i<=dayPointer;i++ )
			{
				sHTML += "<td class=calendar10>&nbsp;</td>"
			}

			for	( datePointer=1; datePointer<=numDaysInMonth; datePointer++ )
			{
				dayPointer++;
				//sHTML += "<td align=right>"
				sStyle=styleAnchor
				if ((datePointer==odateSelected) && (monthSelected==omonthSelected) && (yearSelected==oyearSelected))
				{ sStyle+=styleLightBorder }

				sHint = ""
				for (k=0;k<HolidaysCounter;k++)
				{
					if ((parseInt(Holidays[k].d)==datePointer)&&(parseInt(Holidays[k].m)==(monthSelected+1)))
					{
						if ((parseInt(Holidays[k].y)==0)||((parseInt(Holidays[k].y)==yearSelected)&&(parseInt(Holidays[k].y)!=0)))
						{
							sStyle+="background-color:#FFDDDD;"
							sHint+=sHint==""?Holidays[k].desc:"\n"+Holidays[k].desc
						}
					}
				}

				var regexp= /\"/g
				sHint=sHint.replace(regexp,"&quot;")
				dateMessage = "onmousemove='window.status=\""+selectDateMessage.replace("[date]",constructDate(datePointer,monthSelected,yearSelected))+"\"' onmouseout='window.status=\"\"' "

				currentDate = new Date(yearSelected, monthSelected, datePointer)
				//alert(currentDate)

				if ((datePointer==dateNow)&&(monthSelected==monthNow)&&(yearSelected==yearNow))
				{
					sHTML += "<td align=right class=calendar10>"
					sHTML += "<b><a "+dateMessage+" title=\"" + sHint + "\" style='"+sStyle+"' href='javascript:dateSelected="+datePointer+";closeCalendar();'><font color=#ff0000>&nbsp;" + datePointer + "</font>&nbsp;</a></b>"}
				//else if	(dayPointer % 7 == (startAt * -1)+1)
				//{
				//	sHTML += "<td align=right>"
				//	sHTML += "<a "+dateMessage+" title=\"" + sHint + "\" style='"+sStyle+"' href='javascript:dateSelected="+datePointer + ";closeCalendar();'>&nbsp;<font color=#909090>" + datePointer + "</font>&nbsp;</a>" }
				else
				{
					sHTML += "<td align=right class=calendar10>"
					sHTML += "<a "+dateMessage+" title=\"" + sHint + "\" style='"+sStyle+"' href='javascript:dateSelected="+datePointer + ";closeCalendar();'>&nbsp;" + datePointer + "&nbsp;</a>" }

				sHTML += ""
				if ((dayPointer+startAt) % 7 == startAt) {
					sHTML += "</tr><tr>"
				//	if ((showWeekNumber==1)&&(datePointer<numDaysInMonth))
				//	{
				//		sHTML += "<td align=right>" + (WeekNbr(new Date(yearSelected,monthSelected,datePointer+1))) + "&nbsp;</td>"
				//	}
				}
			}

			document.getElementById("content").innerHTML   = sHTML
			document.getElementById("spanMonth").innerHTML = "&nbsp;" + monthName[monthSelected] + " &nbsp;<IMG id='changeMonth' SRC='"+imgDir+"drop1.gif' WIDTH='12' HEIGHT='10' BORDER=0>"
			document.getElementById("spanYear").innerHTML =	"&nbsp;" + yearSelected	+ "&nbsp;<IMG id='changeYear' SRC='"+imgDir+"drop1.gif' WIDTH='12' HEIGHT='10' BORDER=0>"
		}

		var prefixyearAddOn = 1;
		function prefixYear(values) {
			if(values==1) {
				prefixyearAddOn = 1;
			} else {
				var tnow = new Date();
				var sMonth = tnow.getMonth() + 1;
				var sYear = tnow.getFullYear();
				var sYearOld = sYear;
				var i;
				for(i=0;i<=17;i++) {
					sMonth = sMonth + 1;
					if(sMonth>=13) {
						sMonth = 1;
						sYear = sYear + 1;
					}
				}
				prefixyearAddOn = sYear - sYearOld;
			}
		}

		function opencalendar(format,ctl1,ctl2, eventonclose, FixShowX, FixShowY) {
			eventdoonclose = eventonclose;
			hideCalendar();
			var	leftpos=0
			var	toppos=0
			if (bPageLoaded)
			{
				if ( crossobj.visibility ==	"hidden" ) {
					ctlToPlaceValue1	= ctl1
					ctlToPlaceValue2	= ctl2
					dateFormat=format;

					formatChar = "/"
					aFormat	= dateFormat.split(formatChar)

					tokensChanged =	0
					if ( formatChar	!= "" )
					{
						var strDate
						if (ctl1.value == "")
						{
							strDate = padZero(dateNow) + "/" + padZero(monthNow + 1) + "/" + yearNow;
						}
						else
						{
							strDate = ctl1.value;
						}

						aData =	strDate.split(formatChar)

						for	(i=0;i<3;i++)
						{
							if ((aFormat[i]=="d") || (aFormat[i]=="dd"))
							{
								dateSelected = parseInt(aData[i], 10)
								tokensChanged ++
							}
							else if	((aFormat[i]=="m") || (aFormat[i]=="mm"))
							{
								monthSelected =	parseInt(aData[i], 10) - 1
								tokensChanged ++
							}
							else if	(aFormat[i]=="yyyy")
							{
								yearSelected = parseInt(aData[i], 10)
								tokensChanged ++
							}
							else if	(aFormat[i]=="mmm")
							{
								for	(j=0; j<12;	j++)
								{
									if (aData[i]==monthName[j])
									{
										monthSelected=j
										tokensChanged ++
									}
								}
							}
						}
					}

					if ((tokensChanged!=3)||isNaN(dateSelected)||isNaN(monthSelected)||isNaN(yearSelected))
					{
						dateSelected = dateNow
						monthSelected =	monthNow
						yearSelected = yearNow
					}

					odateSelected=dateSelected;
					omonthSelected=monthSelected;
					oyearSelected=yearSelected;

					if(ctl1.type == "hidden") {
						toppos = ctl2.y;
						leftpos = ctl2.x;
						if(String(toppos)=="undefined") {
							toppos = FixShowY;
							leftpos = FixShowX;
							toppos = Math.ceil(ctl2.clientHeight/2) + toppos;
						} else toppos = ctl2.clientHeight + toppos;
					} else {
						toppos = ctl1.y;
						leftpos = ctl1.x;
						if(String(toppos)=="undefined") {
							toppos = ctl2.y;
							leftpos = ctl2.x;
							if(String(toppos)=="undefined") {
								toppos = FixShowY;
								leftpos = FixShowX;
								toppos = Math.ceil(ctl2.clientHeight/2) + toppos;
							} else toppos = ctl2.clientHeight + toppos;
						} else toppos = ctl2.clientHeight + toppos;
					}

					if(LongIsinLayer || ShortIsinLayer) {
						aTag = document.getElementById(LayerParentCalendar);
						if(aTag!=null) {
							var ctl1IsInThisLayer = aTag.getElementsByTagName('input')[ctl1.name];
							if((ctl1IsInThisLayer==null) || (ie)) toppos -= aTag.offsetTop;
						}
					}
					leftpos = leftpos - document.getElementById("calendar").clientWidth;
					if(leftpos<0) leftpos = 0;
					var tmpscrollTop = document.body.scrollTop;
					if(tmpscrollTop==0) {
						try {
							tmpscrollTop = document.documentElement.scrollTop;
						} catch(e) {tmpscrollTop = 0;}
					}
					if(ie) toppos = toppos + tmpscrollTop;
					var oldcrossobjleft = crossobj.left;
					crossobj.left =	fixedX==-1 ? leftpos : fixedX;
					if(crossobj.left==oldcrossobjleft) crossobj.left =	fixedX==-1 ? leftpos +'px' : fixedX + 'px';
					var oldcrossobjtop = crossobj.top;
					crossobj.top = fixedY==-1 ? toppos + 10 :	fixedY;
					if(crossobj.top==oldcrossobjtop) crossobj.top = fixedY==-1 ? (toppos + 10) +'px' :	fixedY +'px';

					constructCalendar (1, monthSelected, yearSelected);
					crossobj.visibility=(dom||ie)? "visible" : "show"

					hideElement( 'SELECT', document.getElementById("calendar") );
					hideElement( 'APPLET', document.getElementById("calendar") );

					bShow = true;
				}
				else
				{
					hideCalendar();
					if (ctlNow!=ctl1) {opencalendar(format,ctl1,ctl2, eventonclose, FixShowX, FixShowY)}
				}
				ctlNow = ctl1;
			}
		}

		var _is_ie=document.all;
		var _have_dom=document.getElementById;
		function getEl(tmpname) {
			var a = (_have_dom)?document.getElementById(tmpname) : _is_ie? eval("document.all."+tmpname)	: eval("document."+tmpname)
			return a;
		}

		function checkattach(wevent,names,wfunc) {
			var oldonload;
			oldonload = eval(wevent);
			if(typeof(oldonload)=='function') {
				eval(wevent+'=function '+names+'() {oldonload();'+wfunc+'();}');
			} else {
				eval(wevent+'=function '+names+'() {'+wfunc+'();}');
			}
		}

		function hidecal1 () {
			if (event.keyCode==27)
			{
				hideCalendar()
			}
		}

		checkattach("document.onkeypress","addhideandonkeypress","hidecal1");

		function hidecal2 () {
			if (!bShow)
			{
				hideCalendar()
			}
			bShow = false
		}

		checkattach("document.onclick","addhideandonclick","hidecal2");

		//checkattach("window.onload","onloadinitca","initca");
		initca();
	}
