var dom 			= (document.getElementById) ? 1:0; //ie5 - n6
var ie				= (document.getElementById && document.all) ? 1 : 0; //ie5+
var mArray 			= new Array("January","February","March","April","May","June","July","August","September","October","November","December");
var dArray 			= new Array("Su","Mo","Tu","We","Th","Fr","Sa");
var datesArray 		= new Array(31,28,31,30,31,30,31,31,30,31,30,31);
var sD				= new Array(); 			//keep track of selected Date
var today 			= new Date();			//todays date
var cD 				= today.getDay();		//current day of week 0-6
var cT				= today.getDate();		//current day 1-31
var cM				= today.getMonth();		//current month 0-11
var cMDs 			= datesArray[cM];		//number of days in current month
var cY				= today.getFullYear();	//js method	not used here//current Year
var newT			= cT;					//cal selected date
var newM			= cM;					//cal selected month
var newY			= cY;					//cal selected year
var newDs			= cMDs;					//days for selected Month
var newD			= cD;					//day of week
var numCalendars	= 2;					//number of calendars you want to create
var calDirection	= "horizontal";			//put "horizontal" or "vertical"
var o_windowparent  = top;
var o_dateSave = false;
var o_month = 0; var o_date = 0;
function findFirstDay(){
	firstDay = new Date()
	firstDay.setDate(1)
	firstDay.setMonth(newM)
	firstDay.setFullYear(newY)
	return firstDay.getDay()
}
function parseInputDate(){
//	o_input = eval("top.document."+o_form+"
}
function vm_setupCal(){
	i_numcal = 0;
	o_dateSave = new ty_saveDate(o_month.value-1,o_date.value);
	if(!o_dateSave) o_dateSave = new ty_saveDate(0,0);
	i_month = cM;
	vm_makeCal(i_month);
}
function ty_makeDate(which){
	if((cT>which && cM == newM && cY == newY)){ //removed for the one year -- ||(cM>newM && cY>=newY)
		s_makeDate = "<td class='calDateOff'>";
		s_makeDate+= which;
	}else{
		s_makeDate = (newM==o_month.selectedIndex&&which==o_date.selectedIndex+1) ? "<td class='calDateSel' id='selectedDate'>" : "<td class='calDate'>";
		s_makeDate+= "<a href='#' onclick='ty_setDate("+newM+","+which+",this.parentNode);return false;' class='calDateA'>";
		s_makeDate+= which;
		s_makeDate+="</a>";
	}
	s_makeDate+="</td>\n";
	return s_makeDate;
}
function ty_maketr(what){
	s_tr = "<tr>\n"
	s_tr+= what;
	s_tr+= "</tr>\n";
	return s_tr;
}
function ty_changeMonths(which){
	i_numcal = 0;
	document.getElementById("calendar").innerHTML =""
	if(which < 0){
		which=11;
		newY--;
	}
	vm_makeCal(which);
}
var i_firstYear = cY;
var i_firstMonth = cM;
function vm_makeCal(whichMonth){
	o_cal = "";o_caltr="";o_caltd="";
	newM = whichMonth;
	if(newM < cM) newY = cY+1;
	if (newM>=12){
		newM=whichMonth-12
		newY++
	}
if(i_numcal==0)i_firstMonth  = newM
	newDs = datesArray[newM]
	isLeap 	= (newY % 4 == 0 && (newY % 100 !=0 || newY % 400 ==0 )) ? 1:0 	//calculate Leap Year
	if (newM==1) newDs=newDs+isLeap 										// adds one to Feb if Leap Year
	newD = findFirstDay()	// finds first day of month returns 0-6
	countDay = newD
	o_cal+="<table month='"+newM+"' year='"+newY+"' cellpadding='0' cellspacing='0' border='0' class='calTable'>\n";
	o_caltr+= "<tr class='calRowHighlight'>\n";
	o_caltd+= (i_numcal==0) ? (newM==cM&&newY==cY) ? "<td class='calLabel'>&nbsp;</td><td colspan='5' class='calLabel'>" : "<td class='calLabel'><a href='#' onclick='ty_changeMonths("+i_firstMonth+"-1);return false' class='calNavA'>&lt;</a></td><td colspan='5' class='calLabel'>" : "<td class='calLabel'>&nbsp;</td><td colspan='5' class='calLabel'>";
	o_caltd+= mArray[newM]+"&nbsp;"+newY;
	o_caltd+= (i_numcal==numCalendars-1&&!(newM==cM-1)) ? "</td><td class='calLabel'><a href='#' onclick='ty_changeMonths("+i_firstMonth+"+1);return false;' class='calNavA'>&gt;</a></td>" : "</td><td class='calLabel'>&nbsp;</td>";
	o_caltr+=o_caltd;
	o_caltr+="</tr>\n";
	o_cal+=o_caltr;
	o_caltd = "";
	for(i=0;i < dArray.length;i++){
		o_caltd+="<td class='calDayName'>";
		o_caltd+=dArray[i];
		o_caltd+="</td>\n";
	}
	o_caltr = ty_maketr(o_caltd);
	o_cal+=o_caltr;
	o_caltd = "";
	i_calRows = 0;
	for (d=1;d<=newDs;d++){
		if(d==1)for(bd=0;bd < newD;bd++)o_caltd += "<td class='calDate'>&nbsp;</td>\n";
		o_caltd += ty_makeDate(d);
		countDay++
		if(countDay==7){
			countDay=0;
			o_caltr = ty_maketr(o_caltd);
			o_cal+=o_caltr;
			o_caltd = "";
			i_calRows++
		}
		if(d==newDs && countDay!=0){
			for (bd=countDay;bd < 7;bd++) o_caltd += "<td class='calDate'>&nbsp;</td>\n";
			o_caltr = ty_maketr(o_caltd);
			o_cal+=o_caltr;			
			o_caltd =""
			i_calRows++
		}
	}
	if(i_calRows < 6){
		o_caltd = "";
		for(bd=0;bd < 7;bd++) o_caltd += "<td class='calDate'>&nbsp;</td>\n";
		o_caltr = ty_maketr(o_caltd);
		o_cal+= o_caltr;
	}
	o_cal+="</table>";
	document.getElementById("calendar").innerHTML += o_cal;
	i_numcal++;
	if(i_numcal < numCalendars)vm_makeCal(newM+1);
	else if (i_firstMonth > newM)newY--;
}
o_currentDate = false;
function ty_setDate(whatMonth,whatDate,whatTD){
	o_currentDate = whatTD;
	o_currentDate.className = "calDateSel";
	o_dateSave = new ty_saveDate(whatMonth,whatDate);
	o_month.selectedIndex = whatMonth;
	o_date.selectedIndex = whatDate-1;
	o_form = o_month.form;
	var a_selectedForm = o_form.name; // Get what form is in focus	 
    var a_formPrefix = a_selectedForm.substring(4); // Obtain Prefix to use for element IDs
	if(top.document.getElementById(a_formPrefix+"_tomonth")){
	 top.adjDate(o_form);
	}
	hideCalendar();	
}
function hideCalendar(){
	top.document.getElementById("iframeCal").style.visibility = "hidden";
}
function ty_saveDate(saveMonth,saveDate){
	this.month = saveMonth;
	this.date = saveDate;
}
var o_oldtarget = null;
var i_oldmonth = 12;
function openCal(evt,s_formdate){
	evt = (window.event) ? window.event : evt;
	o_divcal = (openCal.arguments[2]) ? top.document.getElementById(openCal.arguments[2]) : top.document.getElementById(s_formdate+"cal");
	o_iframecal = top.document.getElementById("iframeCal");
	i_offset = o_divcal.offsetTop+o_divcal.offsetHeight;
	o_iframecal.style.top = i_offset+"px";
	o_month = top.document.getElementById(s_formdate+"month");
	o_date = top.document.getElementById(s_formdate+"date");
	if(o_month.selectedIndex!=i_oldmonth||o_iframecal.style.visibility=="hidden")ty_changeMonths(o_month.selectedIndex);
	o_iframecal.style.visibility = "visible"
	i_oldmonth = o_month.selectedIndex;
}

