 

function cal_showDivDate(objname,month,year)
{	
	// object name (user control prefix and name)
	var arrObjname = objname.split("_");
	var objDiv = document.all(arrObjname[0] + "_" + arrObjname[1] + "_div_" + arrObjname[2]);
	var objTbl = document.all(arrObjname[0] + "_" + arrObjname[1] + "_tbl_" + arrObjname[2])
	
	// show div (if the div isn't already opened)
	if (objDiv.style.display != 'block')
	{
		objDiv.style.display = 'block';
		objDiv.style.position = 'absolute';
		objDiv.style.left = event.x+8;
		objDiv.style.top = event.y+8;
	}

	// choose language
	var arrDays;
	var arrMonthes;
	var clear;
	var closeAlt;
	var strLang = "HE";
	
	/*if (objDiv.dir == "rtl")
	{
		arrDays = new Array("א","ב","ג","ד","ה","ו","ש");
		arrMonthes = new Array("ינואר","פברואר","מרץ","אפריל","מאי","יוני","יולי","אוגוסט","ספטמבר","אוקטובר","נובמבר","דצמבר");	
		clear = "נקה";
		closeAlt = "סגור";
		strLang = "HE";
	}
	else
	{*/
		arrDays = new Array("Sun","Mon","Tue","Wed","Thu","Fri","Sat");
		arrMonthes = new Array("January","February","Mars","April","May","June","July","August","September","October","November","December");
		clear = "clr";
		closeAlt = "Close";
		strLang = "EN";
	//}

	// number of table rows
	var linenumber = 0;

	// fix today date (when the user click on arrow and the month or the year is out of range)
	var today = new Date();
	month  = isNaN(month)?today.getMonth():month;
	year  = isNaN(year)?today.getYear():year;
			
	if (month == 12)
	{
		month = 0;
		year++;
	}
	else
	{
		if (month == -1)
		{
			month = 11;
			year--;
		}
	}
	
	var date1 = new Date(month+1 + "/1/" + year);
	var date2 = new Date(parseInt(month+2) + "/1/" + year)
	var dayInMonth = (date2-date1)/86400000;

	// delete old table
	while (objTbl.rows.length > 0)
	{
		objTbl.deleteRow(0); 
	}	
	
	// arrows
	var vRow = objTbl.insertRow(linenumber++);
	vRow.className = "cal-rows";
	
	var imgPrev = new Image();
	imgPrev.src = "../../Images/" + strLang + "/calendar/prev.gif";
	
	var imgNext = new Image();
	imgNext.src = "../../Images/" + strLang + "/calendar/next.gif";
		
	var vCell = vRow.insertCell();
	vCell.colSpan = 6;
	vCell.align = "center";
	vCell.className = "cal-cell-arrows";
	vCell.innerHTML = "<a class=cal-link-arrow style='cursor:hand;' onclick=javascript:cal_showDivDate('"+objname+"',"+parseInt(month-1)+","+year+")><img src='" + imgPrev.src + "' class='cal-prev'></a>&nbsp;" + arrMonthes[month] + " " + year + "&nbsp;<a class=cal-link-arrow href=# onclick=javascript:cal_showDivDate('"+objname+"',"+parseInt(month+1)+","+year+")><img src='" + imgNext.src + "' class='cal-next'></a>";
	vRow.className = "cal-rows";

	// clear
	/*var vCell = vRow.insertCell();
	vCell.align = "center";
	vCell.className = "cal-cell-clear";
	vCell.innerHTML = "<a class=cal-link-clear style='cursor:hand;' onclick=cal_selected('"+objname+"','clr')>" + clear + "</a>";*/
	
	// close
	var imgClose = new Image();
	imgClose.src = "../../Images/" + strLang + "/calendar/close.gif";
	
	var vCell = vRow.insertCell();
	vCell.align = "center";
	vCell.className = "cal-cell-close";
	vCell.innerHTML = "<a class=cal-link-close style='cursor:hand;' title='" + closeAlt + "' onclick=javascript:cal_selected('"+objname+"','')><img src='" + imgClose.src + "' class='cal-close'></a>";
	
	// days name
	var vRow = objTbl.insertRow(linenumber++);
	vRow.className = "cal-rows";
	for (var i=0 ; i<7 ; i++)
	{
		var vCell = vRow.insertCell();
		vCell.className = "cal-cell-day-name";
		vCell.innerHTML = "<tt>"+arrDays[i]+"</tt>";
	}
	
	// first line
	month++;
	if (parseInt(month) < 10) 
	{
		var month = new String("0" + month);
	}	
	
	var vRow = objTbl.insertRow(linenumber++);
	vRow.className = "cal-rows";
	for (var i=0 ; i<date1.getDay() ; i++)
	{
		var vCell = vRow.insertCell();
		vCell.className = "cal-cell-empty";
		vCell.innerHTML = "&nbsp;";
	}
	
	for (var i=1 ; i<=parseInt(7-date1.getDay()) ; i++)
	{
		day = parseInt(i)<10?"0"+i:i; 
		
		// choose today
		var cellClass = "cal-cell-day-number";
		var linkClass = "cal-link-number";
		var currDate = new Date(year, month-1, day);
		if (today.toDateString() == currDate.toDateString())
		{
			cellClass = "cal-cell-today";
			linkClass = "cal-link-today";
		}
			
		var vCell = vRow.insertCell();
		vCell.className = cellClass;
		vCell.innerHTML = "<a class=" + linkClass + " style='cursor:hand;' onclick=javascript:cal_selected('"+objname+"','"+day+"/"+month+"/"+year+"')>"+i+"</a>";
	}
	
	// other lines
	while (i <= dayInMonth)
	{
		var vRow = objTbl.insertRow(linenumber++);
		vRow.className = "cal-rows";
		for (var j=0 ; j<7 ; j++)
		{
			day = parseInt(i)<10?"0"+i:i; 
			
			// choose today
			var cellClass = "cal-cell-day-number";
			var linkClass = "cal-link-number";
			var currDate = new Date(year, month-1, day);
			if (today.toDateString() == currDate.toDateString())
			{
				cellClass = "cal-cell-today";
				linkClass = "cal-link-today";
			}	
			
			var vCell = vRow.insertCell();
			vCell.className = cellClass;
							
			vCell.innerHTML = "<a class=" + linkClass + " style='cursor:hand;' onclick=javascript:cal_selected('"+objname+"','"+day+"/"+month+"/"+year+"')>"+i+"</a>";
			if (i++ == dayInMonth) break;
		}
	}
	
	for (j++ ; j<7 ; j++)
	{
		var vCell = vRow.insertCell();
		vCell.className = "cal-cell-empty";
		vCell.innerHTML = "&nbsp;";
	}	
}	

function cal_selected(objname,selectedDate)
{
	// object name (user control prefix and name)
	var arrObjname = objname.split("_");
	var objDiv = document.all(arrObjname[0] + "_" + arrObjname[1] + "_div_" + arrObjname[2]);
	var objTbl = document.all(arrObjname[0] + "_" + arrObjname[1] + "_tbl_" + arrObjname[2])
	
	document.all[objname].value = selectedDate=="clr"?"":selectedDate!=""?selectedDate:document.all[objname].value;
	objDiv.style.display = 'none';
}

