var sMon = new Array(12);
	sMon[0] = "Jan"
	sMon[1] = "Feb"
	sMon[2] = "Mar"
	sMon[3] = "Apr"
	sMon[4] = "May"
	sMon[5] = "Jun"
	sMon[6] = "Jul"
	sMon[7] = "Aug"
	sMon[8] = "Sep"
	sMon[9] = "Oct"
	sMon[10] = "Nov"
	sMon[11] = "Dec"

function calendar(t) {
	var sPath = "javascript/calendar1.htm";
	x = document.body.scrollLeft+event.clientX;
	y = document.body.scrollTop+event.clientY-113;
	strFeatures = "dialogWidth=206px;dialogHeight=228px;dialogLeft="+x+";dialogTop="+y+";help=no";
	st = t.value;
	sDate = showModalDialog(sPath,st,strFeatures);
	t.value = formatDate(sDate, 0);
}

function checkDate(t) {
	dDate = new Date(t.value);
	if (dDate == "NaN") {t.value = ""; return;}

	iYear = dDate.getFullYear()

	if ((iYear > 1899)&&(iYear < 1950)) {

		sYear = "" + iYear + ""
		if (t.value.indexOf(sYear,1) == -1) {
			iYear += 100
			sDate = (dDate.getMonth() + 1) + "/" + dDate.getDate() + "/" + iYear
			dDate = new Date(sDate)
		}
	}
	t.value = formatDate(dDate);
}

function formatDate(sDate) {
	var sScrap = "";
	var dScrap = new Date(sDate);
	if (dScrap == "NaN") return sScrap;
	
	iDay = dScrap.getDate();
	iMon = dScrap.getMonth();
	iYea = dScrap.getFullYear();

	sScrap = iYea + "/" + (iMon + 1) + "/" + iDay ;
	return sScrap;
}
function CaculateOverTime(idtotaltime)
{
	fromDay      = document.frm.startdate.value;
	toDay        = document.frm.enddate.value;
	fromHour     = document.frm.starthour.value;
	toHour	     = document.frm.endhour.value;
	fromTime     = document.frm.starttime.value;
	toTime       = document.frm.endtime.value;
	totalTime    = document.frm.totaltime.value;
	StartMsg     = document.frm.StartMsg.value;
	EndMsg       = document.frm.EndMsg.value;
	itype        = document.frm.InstanceType.value;

	var Days     = "";
	var Hours    = "";
	var Minutes  ="";
	var day_num  = " day ";
	var hour_num = " hour ";

	now = new Date();
	
	StartD = new Date(fromDay);
	StartD.setHours(fromHour);
	StartD.setMinutes(fromTime);
	if(fromDay== "" || toDay == "" )
		return false;
		
	// the started date should be today or later.
//	if(StartD.getTime() < (now.getTime()-7*24*60*60*1000))
//	{
//		alert(StartMsg);
//		fromDay="";
//		idtotaltime.innerHTML= '';
//		return false;
//	}
	
	EndD = new Date(toDay);
	EndD.setHours(toHour);
	EndD.setMinutes(toTime);

	// the ended date should be later than started date.
	if(EndD < StartD )
	{
		alert(EndMsg);
		toDay="";
		idtotaltime.innerHTML= '';
		return false; 
	}
	else
	{
		Days = Math.floor((EndD-StartD) / (1000 * 60 * 60 * 24));
		Hours = Math.floor(((EndD-StartD) - 1000 * 60 * 60 * 24* Days) / (1000 * 60 * 60 ));		
		Minutes = Math.floor(((EndD-StartD) - 1000 * 60 * 60 * 24* Days  - 1000 * 60 * 60*Hours ) / (1000 * 60 ));
		
		if( fromHour <= 11 && toHour >= 13 )
		{
			Hours = Hours - 1 ;
		}
	
		if(Hours >= 8)
		{
			Hours = 0;
			Days = Days + 1;
		}
	}
	if(Days > 1)
		day_num = " days ";
	if(Hours > 1)
		hour_num = " hours ";
		
	idtotaltime.innerHTML = "";

	if(Days != 0)
		idtotaltime.innerHTML = " " + Days + day_num;

	if(Hours != 0) 
		idtotaltime.innerHTML += Hours + hour_num ;
	if(Minutes != 0)
		idtotaltime.innerHTML += Minutes + " minutes";		
	if( itype == 3 )
		document.frm.totaltime.value = Days + Hours/8 ;
	else
		document.frm.totaltime.value = Days*8 + Hours + Minutes/60;
}
function CheckType(itype,annual,overtime,totaltime,idtotaltime)
{
	setselectlist(document.frm.starthour,over_time);
	setselectlist(document.frm.endhour,over_time);
	CaculateOverTime(idtotaltime);
	// itype : 0-overtime,1-rest,2-leave,3-annual leave,4-sick leave,5-delay.
	if(itype.value == 0 || itype.value == 5)
		showneedcheckbox('show');
	else
		showneedcheckbox('hide');
	if(itype.value == 1)
	{
		idtypevalue.innerHTML = itype.options[itype.selectedIndex].innerHTML + ": " + overtime.value + " hours";
	}
	else if(itype.value == 3)
	{
		setselectlist(document.frm.starthour,annual_time);
		setselectlist(document.frm.endhour,annual_time);
		idtypevalue.innerHTML = itype.options[itype.selectedIndex].innerHTML + ": " + annual.value + " day";
		if(totaltime.value != "" || totaltime.value != 0)
		{
			totaltime.value = totaltime.value / 8;
		}
	}
	else 
	{
		if(itype.value == 5)
		{
			setselectlist(document.frm.starthour,delay_time);
			setselectlist(document.frm.endhour,delay_time);
		}
		idtypevalue.innerHTML = "";
	}
}
function DoClick(strStatus, frm)
{
	if(strStatus == 'reject')
	{
		var commentmsg = document.frm.CommentMsg.value;
		var CancelMsg  = document.frm.CancelMsg.value;
		
		strComment = prompt(commentmsg);
		if (strComment == null || strComment == "" ) {
			alert(CancelMsg);
			return false
		}
		else 
		{
			if(document.frm.Comment)
				document.frm.Comment.value = strComment;
			return true
		}
	}
	
	return true
}
function CheckValidValues(frm)
{
	var obj = frm.save;
	var obj_rej = frm.reject;
	var com = frm.Comment;
	
	if(!obj)
	{
		return true
	}
	var total_time = 0;
	var rest_time = 0;
	var annual_time = 0;
	
	total_time = frm.totaltime.value;
	rest_time = frm.leave_overtime.value;
	annual_time = frm.leave_annual.value;
	if(frm.InstanceType.selectedIndex == 1) //rest
	{
		if( total_time - rest_time > 0 )
		{
			alert(frm.RestMsg.value);
			return false;
		}
	}
	else if(frm.InstanceType.selectedIndex == 3) //annual leave
	{
		if( total_time - annual_time >  0 )
		{
			alert(frm.AnnualMsg.value);
			return false;
		}
	}
	
//	if( total_time - 16 > 0 && frm.InstanceType.selectedIndex != 6 ) 
//	{
//		alert(frm.RestMsg.value)
//		return false
//	}
	
	if( frm.startdate =='' || frm.enddate =='' || total_time == 0 )
	{
		alert(frm.TimeMsg.value)
		return false
	}
	return true;
}
var over_time = new Array();
j=0;
for(i=8;i<18;i++)
{
	over_time[j++] = i;
}
var annual_time = new Array(8,13,17);

var delay_time  = new Array(17,18,19,20,21,22);

var InnitMinutes = new Array(30,'00');

function setselectlist(obj,arrhourlist){
	obj.innerHTML = "";
	for(i=0;i<arrhourlist.length;i++){
		var objoption = document.createElement("OPTION");
		obj.options.add(objoption);
		objoption.value = arrhourlist[i];
		objoption.innerText = arrhourlist[i];
	}	
}
function showneedcheckbox(shown)
{
	obj = document.getElementById("blockDiv").style;
	if(shown == 'show')
	{
		obj.visibility = 'visible';
		radio_obj = document.getElementById("needeat");
		if(radio_obj.value == 0)
		{
			radio_obj.checked = true;
		}
	}
	else
		obj.visibility = 'hidden';	
}
function changeradiovalue(lvalue)
{
		obj = document.getElementById("needeat");
		if(lvalue == 0)
			obj.value = 0;
		else
			obj.value = 1;
		return true;
}
function SearchByGroup(item)
{
	item.value='';
	
	if(document.userform.order_by_group.options[document.userform.order_by_group.selectedIndex].value == 'All_by_group')
		document.userform.sort_order.value = 'groupname';
	else
		document.userform.sort_order.value = 'user';
	document.userform.submit();
}
