var OneDay = 86400000
var OneMonth = (OneDay * 30)
var OneYear = (OneMonth * 12)
var CurrentDate = new Date()
varCurrentMonth = ""
varMonth = new Array(12)
varMonth[1] = "January"
varMonth[2] = "February" 
varMonth[3] = "March" 
varMonth[4] = "April" 
varMonth[5] = "May" 
varMonth[6] = "June" 
varMonth[7] = "July" 
varMonth[8] = "August" 
varMonth[9] = "September" 
varMonth[10] = "October" 
varMonth[11] = "November" 
varMonth[12] = "December" 
varActiveTBox = ""
varTop = "100"
varLeft = "100"
var calendar;
// ---- added for current date comparisons ---
var currDayMinTime = "";
var currDayMaxTime = "";

//--------------------------------------------------------
//  Main Calendar Picker Function                         
//--------------------------------------------------------
function DatePicker(TheDate,e)
{
	calendar = document.getElementById("calendar");
    varActiveTBox = e
	e = document.getElementById(e);
    calendar.style.display = ""

	varTop = e.offsetTop
	varLeft = e.offsetLeft
	//alert (varTop + ", " + varLeft + " is varTop, varLeft");
	// Use RefDate to keep track of our reference date (usually today)
	var RefDate = new Date(TheDate)
	// getTime() returns milliseconds since 1/1/1970
	// OneDay is the number of milliseconds in a day
	// varDays therefore is the number of milliseconds at the first of the month (time is intact)
	varDays = RefDate.getTime() - (OneDay * (RefDate.getDate()-1))
	// RefDate is set to the first of the month, with the time intact
	RefDate.setTime(varDays)
	// getDay() returns the day of the week (0-6), so now varDays is milliseconds to the first day of the week.
	varDays = RefDate.getTime() - (OneDay * (RefDate.getDay()))
	// RefDate is pointing to the closest Sunday to the first of this month
	RefDate.setTime(varDays)
	var MnthDate = new Date(TheDate)
	varDays = RefDate.getTime() + (OneDay * 15)
	MnthDate.setTime(varDays)
	// varCurrentMonth contains the current month
	varCurrentMonth = varMonth[MnthDate.getMonth()+1] + " " + MnthDate.getFullYear();
	CurrentDate = TheDate
	
	var myDate = new Date();

	myDate.setMonth(myDate.getMonth());
	myDate.setDate(myDate.getDate());
	myDate.setHours(0);
	myDate.setMinutes(0);
	myDate.setSeconds(0);
	myDate.setMilliseconds(0);
	currDayMinTime = myDate.getTime();
	currDayMaxTime = myDate.getTime() + OneDay;
	
	
	ShowCalendar(RefDate);
}

//--------------------------------------------------------
//                                                        
//--------------------------------------------------------
function Prev()
{
	var pDate = new Date(CurrentDate);
	varpDays = pDate.getTime() - OneMonth;
	pDate.setTime(varpDays);
	DatePicker(pDate,varActiveTBox);
}

//--------------------------------------------------------
//                                                        
//--------------------------------------------------------
function Next()
{
	var nDate = new Date(CurrentDate);
	varnDays = nDate.getTime() + OneMonth;
	nDate.setTime(varnDays);
	DatePicker(nDate,varActiveTBox);
}

//--------------------------------------------------------
//                                                        
//--------------------------------------------------------
function PrevYear()
{
	var pDate = new Date(CurrentDate);
	varpDays = pDate.getTime() - OneYear;
	pDate.setTime(varpDays);
	DatePicker(pDate,varActiveTBox);
}

//--------------------------------------------------------
//                                                        
//--------------------------------------------------------
function NextYear()
{
	var nDate = new Date(CurrentDate);
	varnDays = nDate.getTime() + OneYear;
	nDate.setTime(varnDays);
	DatePicker(nDate,varActiveTBox);
}

//--------------------------------------------------------
//                                                        
//--------------------------------------------------------
function ShowCalendar(theDate){
	//alert(calendar);
	//alert('t' + varTop);
	calendar.innerHTML = "";
	calendar.style.position = 'absolute';
	calendar.style.left = varLeft;
	calendar.style.top = varTop+20;
	//alert('Cal' + calendar.style.top);
	var DateLoop = new Date(theDate);
	var varClass = "";

	//// style='left: " + varLeft + "px; TOP: " + varTop + "px'
	var varCal ="<table border='0' cellspacing='0' cellpadding='5' class='calendar'>";
	varCal += "<tr><td class='calHeader2'><span  title='Previous Year' onClick=PrevYear() class='clicker'><<</span>&nbsp;&nbsp;<span  title='Previous Month' onClick=Prev() class='clicker' ><</span></td>";
	varCal += "<td colspan='5' align='center' class='calheader'>" + varCurrentMonth  +"</td>";
	varCal += "<td align='right' class='calHeader2'><span title='Next Month' onclick='javascript:Next();' class='clicker'>></span>&nbsp;&nbsp;<span title='Next Year' onclick=NextYear() class='clicker'>>></span></td></tr>";
	varCal += "<tr><td align=center>S</td><td align=center>M</td><td align=center>T</td><td align=center>W</td><td align=center>T</td><td align=center>F</td><td align=center>S</td></tr>";

	for ( var r = 1; r <= 6; r++ ) 
	{
		if(r < 6 || DateLoop.getDate() > 20)
		{
			varCal += "<tr>"
			for ( var c = 1; c <= 7; c++ ) 
			{
				if( (r==1 && DateLoop.getDate() > 7) || (r > 3 && DateLoop.getDate() < 7) ){
					if( c == 1 || c == 7) {
						varCal += "<td align='right' class='calWeekEnd'></td>";
					} else {
						varCal += "<td align='right' class='calday'></td>";
					}
				} else {
					if (DateLoop.getTime() >= currDayMinTime && DateLoop.getTime() < currDayMaxTime) {
						varClass = "calCurrentDay";
					} else if ( c == 1 || c == 7) {
						varClass = "calWeekEnd";
					} else {
						varClass = "calday";
					}
					
					varCal += "<td align='center' onClick=ShowDate('"
					varCal +=   (DateLoop.getMonth()+1) + "/" + DateLoop.getDate() + "/" + DateLoop.getFullYear(); 
					varCal += "') class='" + varClass + "'>" + DateLoop.getDate() + "</td>";
				}
				varDays = DateLoop.getTime() + OneDay;
				DateLoop.setTime(varDays);
			}
			varCal += "</tr>"
		}
	}
	varCal += "</table>"
	calendar.innerHTML = varCal
}

//--------------------------------------------------------
//                                                        
//--------------------------------------------------------
function ShowDate(theDate)
{
	var varTemp = document.getElementById(varActiveTBox);
	calendar.innerHTML = "";;
	varTemp.value = theDate;
}

function ConfirmQuit() 
{ 
	if (SubmitFlag == true) 
		return; 
	else
   	  
      return "InformationWeek is FREE to qualified IT professionals.  But you must complete the entire form.  If you are selected, you will receive a FREE subscription (others pay $199 per year).";
		 
} 
