/////////////////////////////////////////////////////////// CALENDAR

// VERIABLES
var CalendarThisDate = 1;
var CalendarWordMoth = new Array("jan","feb","mar","apr","may","jun","jul","aug","sep","oct","nov","dec");
var CalendarToday = new Date();
var CalendarTodaysDay = CalendarToday.getDay()+1;
var CalendarTodaysDate = CalendarToday.getDate();
var CalendarTodaysMonth = CalendarToday.getUTCMonth() + 1;
var CalendarTodaysYear = CalendarToday.getFullYear();
var CalendarMonthNum = CalendarTodaysMonth;
var CalendarYearNum = CalendarTodaysYear;
var CalendarFirstDate = new Date(String(CalendarMonthNum)+"/1/"+String(CalendarYearNum));
var CalendarFirstDay = CalendarFirstDate.getUTCDay();
var CalendarLastDate = new Date(String(CalendarMonthNum+1)+"/0/"+String(CalendarYearNum));
var CalendarNumbDays = 1;
var CalendarCurrentID = null;

// CHANGE MONTH
function CalendarChangeMonth(Direction) {
	if (Direction == "prev") {
	CalendarMonthNum--;
	} else if (Direction == "next") {
	CalendarMonthNum++;
	} else if (Direction == "return") { 
	CalendarMonthNum = CalendarTodaysMonth;
	CalendarYearNum = CalendarTodaysYear;
	}
	if (CalendarMonthNum == 0) {
	CalendarMonthNum = 12;
	CalendarYearNum--;
	} else if (CalendarMonthNum == 13) {
	CalendarMonthNum = 1;
	CalendarYearNum++
	}
CalendarLastDate = new Date(CalendarYearNum, CalendarMonthNum, 0);
CalendarNumbDays = CalendarLastDate.getDate();
CalendarFirstDate = new Date(String(CalendarMonthNum)+"/1/"+String(CalendarYearNum));
CalendarFirstDay = CalendarFirstDate.getDay() + 1;
CalendarInsert();
return;		
}


// INSERT	
function CalendarInsert() {
var writeCalendar = '';			
writeCalendar += '<div class="CalendarPrev" onclick="javascript:CalendarChangeMonth(\'prev\')">&lt;&lt;</div>';
writeCalendar += '<div class="CalendarTitle">'+CalendarWordMoth[CalendarMonthNum-1]+'&nbsp;&nbsp;'+CalendarYearNum+'</div>';
writeCalendar += '<div class="CalendarNext" onclick="javascript:CalendarChangeMonth(\'next\')">&gt;&gt;</div>';
writeCalendar += '<div style="clear:both"></div>';
writeCalendar += '<span class="CalendarDay">S</span><span class="CalendarDay">M</span><span class="CalendarDay">T</span><span class="CalendarDay">W</span><span class="CalendarDay">Th</span><span class="CalendarDay">F</span><span class="CalendarDay">S</span>'
for (var i = 1; i <= 42; i++) {
	if ((i==1)|| (i==8)|| (i==15)|| (i==22)|| (i==29)|| (i==36)) {
	writeCalendar +=  '<br style="clear:both" />';				
	}
	if ((CalendarThisDate <= CalendarNumbDays) && (i >= (CalendarFirstDay))) {
		if ((CalendarThisDate == CalendarTodaysDate) && (CalendarTodaysMonth == CalendarMonthNum) && (CalendarTodaysYear == CalendarYearNum)) {					 
		writeCalendar += '<a class="CalendarDateToday" onfocus="if(this.blur)this.blur();" href="javascript:CalendarSetDate(' + CalendarThisDate + ',' + CalendarMonthNum + ',' + CalendarYearNum + ');CalendarClose();">' + CalendarThisDate + '</a>';
		} else {
			
		writeCalendar += '<a class="CalendarDate" onfocus="if(this.blur)this.blur();" href="javascript:CalendarSetDate(' + CalendarThisDate + ',' + CalendarMonthNum + ',' + CalendarYearNum + ');CalendarClose();">' + CalendarThisDate + '</a>';
		}
	CalendarThisDate++;					
	} else { 
	writeCalendar += '<span class="CalendarEmpty">&nbsp;</span>';
	}
}
var object=document.getElementById('CalendarHolder');
object.innerHTML= writeCalendar;
CalendarThisDate = 1;
}
	

// SET DATE	
function CalendarSetDate(dayVal,monthVal,yearVal) {
document.getElementById(CalendarCurrentID).value = monthVal+'/'+dayVal+'/'+yearVal;	
if (typeof document.getElementById(CalendarCurrentID).onchange == "function" ) {
	document.getElementById(CalendarCurrentID).onchange();
}
CalendarTodaysDay = dayVal;
CalendarTodaysDate = dayVal;
CalendarTodaysMonth = monthVal;
CalendarTodaysYear = yearVal;		
CalendarMonthNum = CalendarTodaysMonth;
CalendarYearNum = CalendarTodaysYear;
CalendarFirstDate = new Date(String(CalendarMonthNum)+"/1/"+String(CalendarYearNum));
CalendarFirstDay = CalendarFirstDate.getUTCDay();
CalendarLastDate = new Date(String(CalendarMonthNum+1)+"/0/"+String(CalendarYearNum));
CalendarChangeMonth('return');
}	
	
// GET SCROLLING	
function getScrollingPosition() {
	var position = [0, 0];
	if (typeof window.pageYOffset != 'undefined')
	{
	position = [
	window.pageXOffset,
	window.pageYOffset
	];
	}
	else if (typeof document.documentElement.scrollTop
	!= 'undefined' && document.documentElement.scrollTop > 0)
	{
	position = [
	document.documentElement.scrollLeft,
	document.documentElement.scrollTop
	];
	}
	else if (typeof document.body.scrollTop != 'undefined')
	{
	position = [
	document.body.scrollLeft,
	document.body.scrollTop
	];
	}
	return position;
}	
	
// LOAD	
function CalendarLoad(ObjectID,evt) {
evt = (evt) ? evt : ((window.event) ? event : null);
var Height = 207;
var Width = 173;

var Scroll = getScrollingPosition();

var PosX = evt.clientX-80+Scroll[0];
var PosY = evt.clientY-100+Scroll[1];
document.getElementById("Calendar").style.top =  PosY+"px";
document.getElementById("Calendar").style.left =  PosX+"px";	
document.getElementById("Calendar").style.display = "block";	
CalendarCurrentID = ObjectID;		
var DateArray = Array ();	
	if (document.getElementById(ObjectID).value != '' && document.getElementById(ObjectID).value != 'n/a' && document.getElementById(ObjectID).value != document.getElementById(ObjectID).defaultValue) {	
	DateArray = document.getElementById(ObjectID).value.split('/');	
	} else {
	var CalendarToday = new Date();
	DateArray[0] = CalendarToday.getUTCMonth() + 1;
	DateArray[1] = CalendarToday.getDate();
	DateArray[2] = CalendarToday.getFullYear();
	}		
CalendarSetDate(parseInt(DateArray[1]),parseInt(DateArray[0]),parseInt(DateArray[2]));	
}
	
	
// CLOSE 	
function CalendarClose() {
document.getElementById("Calendar").style.display = "none";	
CalendarCurrentID = null;
}