//drag the layer when mouse on or over
var drag = 0;
var move = 0;
var flag=1;

function init() {
	window.document.onmousemove = mouseMove
	window.document.onmousedown = mouseDown
	window.document.onmouseup = mouseUp
	window.document.ondragstart = mouseStop
}

function mouseDown() {
	if (drag){
		clickleft = window.event.x - parseInt(dragObj.style.left)
		clicktop = window.event.y - parseInt(dragObj.style.top)
		dragObj.style.zIndex += 1
		move = 1
	}
}

function mouseStop() {
	window.event.returnValue = false
}

function mouseMove() {
	if (move) {
		dragObj.style.left = window.event.x - clickleft
		dragObj.style.top = window.event.y - clicktop
	}
}

function mouseUp() {
	move = 0
}

function showCal(obj){
	var nowd=now.getDate();
	var nowm=now.getMonth();
	var nowy=now.getYear();

	showCalendar(nowd,nowm,nowy,1,obj);init();
	if(flag==1)
	{	
		var ttop  = obj.offsetTop;
		var thei  = obj.clientHeight;
		var tleft = obj.offsetLeft;
		var ttyp  = obj.type;    

		var i=0;
		while (obj = obj.offsetParent){
			ttop+=obj.offsetTop;
			tleft+=obj.offsetLeft;
		}
		document.all.calendar.style.top=(ttyp=="image")? ttop+thei : ttop+thei+6;
		document.all.calendar.style.left=tleft;
		document.all.calendar.style.visibility="visible";
		flag=0;
		}else{
			flag=1;
			document.all.calendar.style.visibility="hidden";
		}
}

function setDate(cDate,obj)
{
	var arr = cDate.split('-');
	if (arr[1].length==1) arr[1]='0' + arr[1];
	if (arr[2].length==1) arr[2]='0' + arr[2];
	eval("document.all."+obj).value=arr[0] + '-' + arr[1] + '-' + arr[2];
	flag=1;
	document.all.calendar.style.visibility="hidden";
}

var dayName=new Array("S","M","T","W","T","F","S")
var monthName=new Array("1","2","3","4","5","6","7","8","9","10","11","12")
var monthDays=new Array(31,28,31,30,31,30,31,31,30,31,30,31)
var now=new Date
var nowd=now.getDate()
var nowm=now.getMonth()
var nowy=now.getYear()
var sign
var colorClass

function Trim1(value){
	if (value.length==1) return "0" + value;
	return value;
}

function showCalendar(day,month,year,i,obj)
{
	if (day != null || month != null || year != null){
		nowd=day;
		nowm=month;
		nowy=year;
		sign=i;
		ooBj=obj

		switch (nowm){
		case -1:
			{ nowy--; year--; nowm=11; month=11;}
			break;
		case 12:
			{ nowy++; nowm=0;year++;month=0;}
		}
	}
	if ((year%4==0||year%100==0)&&(year%400==0)) monthDays[1]=29; else monthDays[1]=28 //leap year test
	var firstDay=new Date(year,month,1).getDay()
	var calStr="<table class=cal border=0 cellspacing=0 cellpadding=0>"
	calStr+="<TR class=cal_gray>"
	calStr+="<TD colspan=2><a href=# onClick='nowy-=20;showCalendar(nowd,nowm,nowy,sign,ooBj);return false;'><img src=images/prev.gif border=0></a><a href=# onClick='nowy--;showCalendar(nowd,nowm,nowy,sign,ooBj);return false;'><img src=images/prev.gif border=0></a><a href=# onClick='nowm--;showCalendar(nowd,nowm,nowy,sign,ooBj);return false;'><img src=images/prev.gif border=0></a></td>"
	calStr+="<TD COLSPAN=3 ALIGN=center >"+year+"-"+monthName[month].toUpperCase()+"</td>"
	calStr+="<TD colspan=2 ALIGN=right><a href=#  onClick='nowm++;showCalendar(nowd,nowm,nowy,sign,ooBj);return false;'><img src=images/next.gif border=0></a><a href=#  onClick='nowy++;showCalendar(nowd,nowm,nowy,sign,ooBj);return false;'><img src=images/next.gif border=0></a><a href=#  onClick='nowy+=20;showCalendar(nowd,nowm,nowy,sign,ooBj);return false;'><img src=images/next.gif border=0></a></td></tr>"
	calStr+="<TR>"
	for (var i=0;i<dayName.length;i++) calStr+="<TD ALIGN=center class=cal_week>"+dayName[i].substring(0,1)
	var dayCount=1
	calStr+="</td></tr>"
	calStr+="<tr><td HEIGHT=1 ALIGN=MIDDLE COLSPAN=7><img SRC=../images/line.gif HEIGHT=1 WIDTH=140 BORDER=0></td></tr>"
	for (var i=0;i<firstDay;i++) calStr+="<TD>&nbsp;"

	for (var i=0;i<monthDays[month];i++)
	{
		if(dayCount==nowd&&month==now.getMonth())
			colorClass=" style='color:#ff4500;' "
		else
			colorClass=""

		calStr+="<TD class=date ALIGN=center><a "+colorClass+" class=cal href=javascript:setDate('"+year+"-"+(month+1)+"-"+dayCount+"','"+obj.name+"')>"+dayCount++
		if ((i+firstDay+1)%7==0&&(dayCount<monthDays[month]+1)) calStr+="</A></TD></tr><TR>"
	}
	var totCells=firstDay+monthDays[month]
	for (var i=0;i<(totCells>28?(totCells>35?42:35):28)-totCells;i++) calStr+="<TD>&nbsp;"
	calStr+="</tr></TABLE><BR>";

	calendar.innerHTML=calStr;
}