<!--
	
	//'******************************************************************************************************
	//'	PopCalendar 3.50, Emailware(please mail&commend me if u like it)									*
	//' Originally coded by Liming(Victor) Weng, email: victorwon@netease.com								*
	//' Release date: 2000.3.13																				*
	//'******************************************************************************************************

	var gdCtrl = new Object();
	var goSelectTag = new Array();
	var gcGray = "#c0c0c0";
	var gcToggle = "#336699";
	var gcBG = "#c0c0c0";
	
	var gdCurDate = new Date();
	var giYear = gdCurDate.getFullYear();
	var giMonth = gdCurDate.getMonth()+1;
	var giDay = gdCurDate.getDate();
	
	//'******************************************************************************************************
	//' Param: popCtrl is the widget beyond which you want this calendar to appear;
	//'        dateCtrl is the widget into which you want to put the selected date.
	//' i.e.: <input type="text" name="dc" style="text-align:center" readonly><INPUT type="button" value="V" onclick="fPopCalendar(dc,dc);return false">
	//'******************************************************************************************************


	function fPopCalendar(popCtrl, dateCtrl)	{
		popCtrl = document.getElementById(popCtrl);
		dateCtrl = document.getElementById(dateCtrl);
		try {
			event.cancelBubble=true;
		} catch (e) {
			// fail
		}
		fHideCalendar();      
		var VicPopCal = document.getElementById('VicPop')
		gdCtrl = dateCtrl;
		fSetYearMon(giYear, giMonth);
		var point = fGetXY(popCtrl);
		with (VicPopCal.style) {
			left = point.x;
			top  = point.y+popCtrl.offsetHeight+1;
			width = VicPopCal.offsetWidth;
			height = VicPopCal.offsetHeight;
			fToggleTags(point);
			visibility = 'visible';
		}
                setSubElementDisplayStyle(false);
		//VicPopCal.focus();
	}
	function fSetDate(iYear, iMonth, iDay)	{
		gdCtrl.value = iMonth+"/"+iDay+"/"+iYear; //'Here, you could modify the locale as you need !!!!
		if(window.checkDateRange) {
		  checkDateRange(gdCtrl.value);
		}
		fHideCalendar();
	}

	function fHideCalendar()	{
                setSubElementDisplayStyle(true);
		var VicPopCal = document.getElementById('VicPop');
		VicPopCal.style.visibility = "hidden";
		for (i in goSelectTag)
			goSelectTag[i].style.visibility = "visible";
		goSelectTag.length = 0;
	}

	function fSetSelected(aCell, num) {
		var tbSelMonth = document.getElementById('selMonth');
		var tbSelYear = document.getElementById('selYear');

		var iOffset = 0;
		var iYear = parseInt(tbSelYear.value);
		var iMonth = parseInt(tbSelMonth.value);
	
		aCell.bgColor = gcBG;
		cellT = document.getElementById('cellText' + num);
		//with (aCell.children["cellText"]){
		with (cellT) {
			var iDay = parseInt(innerHTML);
			if (color == gcGray) {
				iOffset = (iDay > 20) ? -1 : 1;
			}
			iMonth += iOffset;
			if (iMonth<1) {
				iYear--;
				iMonth = 12;
			}
			else if (iMonth>12)	{
				iYear++;
				iMonth = 1;
			}
		}
		fSetDate(iYear, iMonth, iDay);
	}

	function Point(iX, iY){
		this.x = iX;
		this.y = iY;
	}

	function fBuildCal(iYear, iMonth) {
		var aMonth=new Array();
		for(i=1;i<7;i++)
			aMonth[i]=new Array(i);
	
		var dCalDate=new Date(iYear, iMonth-1, 1);
		var iDayOfFirst=dCalDate.getDay();
		var iDaysInMonth=new Date(iYear, iMonth, 0).getDate();
		var iOffsetLast=new Date(iYear, iMonth-1, 0).getDate()-iDayOfFirst+1;
		var iDate = 1;
		var iNext = 1;
	
		for (d = 0; d < 7; d++)
			aMonth[1][d] = (d<iDayOfFirst)?-(iOffsetLast+d):iDate++;
		for (w = 2; w < 7; w++)
			for (d = 0; d < 7; d++)
				aMonth[w][d] = (iDate<=iDaysInMonth)?iDate++:-(iNext++);
		return aMonth;
	}

	function fDrawCal(iYear, iMonth, iCellHeight, iDateTextSize) {
		var WeekDay = new Array("S","M","T","W","R","F","S");
		var styleTD = " bgcolor='"+gcBG+"' bordercolor='"+gcBG+"' valign='middle' align='center' height='"+iCellHeight+"' style='font:bold "+iDateTextSize+" Courier;";
	
		with (document) {
			write("<tr>");
			for(i=0; i<7; i++)
				write("<td bgcolor=#ffffff "+styleTD+"color:#FF0000' >" + WeekDay[i] + "</td>");
			write("</tr>");
	
			for (w = 0; w < 6; w++)	{
				write("<tr>");
				for (d = 0; d < 7; d++) {
					write("<td id=calCell "+styleTD+"cursor:pointer;' onMouseOver='this.bgColor=gcToggle' onMouseOut='this.bgColor=gcBG' onclick='fSetSelected(this, " + ((7*w) + d) + ")'>");
					write("<font id='cellText" + ((7*w) + d) + "'> </font>");
					write("</td>")
				}
				write("</tr>");
			}
		}
	}

	function fUpdateCal(iYear, iMonth)	{
		var myMonth = fBuildCal(iYear, iMonth);
		var i = 0;
		for (w = 0; w < 6; w++) {
			for (d = 0; d < 7; d++) {
				var cellT = document.getElementById('cellText' + ((7*w)+d));
				if (myMonth[w+1][d] < 0) {
					cellT.color = gcGray;
					cellT.innerHTML = -1 * myMonth[w+1][d];
				} else {
					cellT.color = "black";
					cellT.innerHTML = myMonth[w+1][d];
				}
			}
		}
	}

	function fSetYearMon(iYear, iMon) {
		var tbSelMonth = document.getElementById('selMonth');
		var tbSelYear = document.getElementById('selYear');
		tbSelMonth.options[iMon-1].selected = true;
		for (i = 0; i < tbSelYear.length; i++) {
			if (tbSelYear.options[i].value == iYear) {
				tbSelYear.options[i].selected = true;
			}
		}
		fUpdateCal(iYear, iMon);
	}

	function fPrevMonth() {
		var tbSelMonth = document.getElementById('selMonth');
		var tbSelYear = document.getElementById('selYear');
		var iMon = tbSelMonth.value;
		var iYear = tbSelYear.value;
	
		if (--iMon<1)	{
			iMon = 12;
			iYear--;
		}
	
		fSetYearMon(iYear, iMon);
	}

	function fNextMonth() {
		var tbSelMonth = document.getElementById('selMonth');
		var tbSelYear = document.getElementById('selYear');
		var iMon = tbSelMonth.value;
		var iYear = tbSelYear.value;
	
		if (++iMon>12) {
			iMon = 1;
			iYear++;
		}
		fSetYearMon(iYear, iMon);
	}

	function fToggleTags()	{
		//Select tags z-order stuff
		try {
		with (document.all.tags("SELECT"))	{
			for (i=0; i<length; i++)
				if ((item(i).Victor!="Won")&&fTagInBound(item(i)))	{
					item(i).style.visibility = "hidden";
					goSelectTag[goSelectTag.length] = item(i);
				}
		}
		} catch(e) {
			// IE should work
		}
	}

	function fTagInBound(aTag)	{
		with (VicPop.style)	{
			var l = parseInt(left);
			var t = parseInt(top);
			var r = l+parseInt(width);
			var b = t+parseInt(height);
			var ptLT = fGetXY(aTag);
			return !((ptLT.x>r)||(ptLT.x+aTag.offsetWidth<l)||(ptLT.y>b)||(ptLT.y+aTag.offsetHeight<t));
		}
	}
	function fGetXY(aTag){
		var oTmp = aTag;
		var pt = new Point(0,0);
		do	{
			pt.x += oTmp.offsetLeft;
			pt.y += oTmp.offsetTop;
			oTmp = oTmp.offsetParent;
		} while(oTmp.tagName!="BODY");
		return pt;
	}

	function clickChange() {
		Year = document.getElementById('selYear');
		Month = document.getElementById('selMonth');
		fUpdateCal(Year.value, Month.value);
	}

	var gMonths = new Array("Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec");

	with (document) {
		write("<div id='VicPop' style='POSITION:absolute;visibility:hidden;border:0px ridge;width:10;z-index:100;'>");
		write("<table border='3' bgcolor='#CCFFFF'><tr>");
		write("<td align='center' nowrap><input type='button' name='PrevMonth' value='<' style='font-size:8pt;font-face: Fixedsys' onClick='fPrevMonth()'>");
		write("&nbsp;&nbsp;<select id='selMonth' name='selMonth' onChange='clickChange()' Victor='Won'>");
		for (i=0; i<12; i++) {
			write("<option value='"+(i+1)+"'>"+gMonths[i]+"</option>");
		}
		write("</SELECT>");
		write("&nbsp;&nbsp;<SELECT id='selYear' name='selYear' onChange='clickChange()' Victor='Won'>");
		for(i=giYear;i<giYear+5;i++) {
			write("<OPTION value='"+i+"'>&nbsp;"+i+"&nbsp;</OPTION>");
		}
		write("</SELECT>");
		write("&nbsp;&nbsp;<input type='button' name='PrevMonth' value='>' style='font-size:8pt;font-face: Fixedsys' onclick='fNextMonth()'>");
		write("</td>");
		write("</tr><tr>");
		write("<td align='center'>");
		write("<div style='background-color:#05321B;'>")
		write("<table width='100%' border='0' cellpadding='2'>");
		fDrawCal(giYear, giMonth, 10, 10);
		write("</table></DIV>");
		write("</td></tr>");
		write("<tr><td align=center style='cursor:pointer' onclick='fHideCalendar();'><font color="+gcToggle+" size=2>Cancel</font></td></tr>");
		//write("<TR><TD align='center'><font color="+gcToggle+" size=2>");
		//write("<B style='cursor:pointer' onclick='fSetDate(giYear,giMonth,giDay)' onMouseOver='this.style.color=gcToggle'>Today:&nbsp;&nbsp;"+gMonths[giMonth-1]+"&nbsp;"+giDay+",&nbsp;&nbsp;"+giYear+"</B>");
		//write("</font></TD></TR>");
		//write("</TD></TR>");
		write("</table>");
		write("</div>");
	}

 function setSubElementDisplayStyle(visible) {
  for (var a = 0; a < 6; a++) {
   var id = "toggle" + a;
   var element = document.getElementById(id);
   if (element) {
    if (visible) {
     //element.style.display = "block";
     element.style.visibility = "visible";
    } else {
     //element.style.display = "none";
     element.style.visibility = "hidden";
    }
   }
  }
 }


	//'-->
