
var monthName = new Array(13);
monthName[0] = "Jan";
monthName[1] = "Feb";
monthName[2] = "Mar";
monthName[3] = "Apr";
monthName[4] = "May";
monthName[5] = "Jun";
monthName[6] = "Jul";
monthName[7] = "Aug";
monthName[8] = "Sep";
monthName[9] = "Oct";
monthName[10] = "Nov";
monthName[11] = "Dec";

function makeCalendarMillisecAdaptor(calDateMillisec, textBoxId)
{
	var d = new Date();
	d.setTime(calDateMillisec);
	makeCalendar(d, textBoxId);
}

function makeCalendarMillisecAdaptor2(calDateMillisec, textBoxId)
{
	var d = new Date();
	d.setTime(calDateMillisec);
	makeCalendar2(d, textBoxId);
}

function makeCalendarMillisecAdaptor3(calDateMillisec, textBoxId)
{
	var d = new Date();
	d.setTime(calDateMillisec);
	makeCalendar3(d, textBoxId);
}

function makeCalendar(calDate, textBoxId)
{

	//make sure there is a calendar box
	if(!document.getElementById('calendar_' + textBoxId))
	{
		//add it
		document.getElementById(textBoxId).parentNode.innerHTML = "<div class='wrapper' style='width: 0px; overflow: visible;'><div class='calendar_container' id='calendar_" + textBoxId + "'></div></div>" + document.getElementById(textBoxId).parentNode.innerHTML;
	}

	calDate.setFullYear(calDate.getFullYear(),calDate.getMonth(),1);

	var thisMonth = calDate.getMonth();

	var nextMonth = calDate.getMonth()+1;

	var nextMonthDate = new Date();

	if(nextMonth == 12)
	{
		nextMonth = 0;
		nextMonthDate.setFullYear(calDate.getFullYear()+1,nextMonth,1);
	}
	else
	{
		nextMonthDate.setFullYear(calDate.getFullYear(),nextMonth,1);
	}

	var lastMonth = calDate.getMonth()-1;

	var lastMonthDate = new Date();

	if(lastMonth == -1)
	{
		lastMonth = 11;
		lastMonthDate.setFullYear(calDate.getFullYear()-1,lastMonth,1);
	}
	else
	{
		lastMonthDate.setFullYear(calDate.getFullYear(),lastMonth,1);
	}

	var returnText = "<div class='calendar_box'><table class='calendar' cellpadding=0 cellspacing=0>";
	returnText += "<tr class='top'>";
	returnText += "<th><a class='menu_item_1' href='#' onMouseDown=\"makeCalendarMillisecAdaptor(" + lastMonthDate.getTime() + ", '" + textBoxId + "');\"><<</a></th>";
	returnText += "<th colspan=5>" + monthName[thisMonth] + " " + calDate.getFullYear() + "</th>";
	returnText += "<th><a class='menu_item_1' href='#' onMouseDown=\"makeCalendarMillisecAdaptor(" + nextMonthDate.getTime() + ", '" + textBoxId + "');\">>></a></th>";
	returnText += "</tr>";
	returnText += "<tr><td>SU</td><td>MO</td><td>TU</td><td>WE</td><td>TH</td><td>FR</td><td>SA</td></tr>";
	//start the first line of the calendar
	var weekDayStart = calDate.getDay();

	returnText += "<tr>";
	for (var i = 0; i < weekDayStart; i++){
		returnText += "<td>-</td>";
	}

	while(calDate.getMonth() == thisMonth)
	{
		returnText += "<td><a class='menu_item_1' href='#' onmousedown='document.getElementById(\"" + textBoxId + "\").value=\"" + calDate.getFullYear() + "-" + (calDate.getMonth()+1) + "-" + calDate.getDate() + "\"; document.getElementById(\"calendar_" + textBoxId + "\").style.visibility=\"hidden\";'>" + calDate.getDate() + "</a></td>";
		if(calDate.getDay() == 6)
		{
			//start a new line
			returnText += "</tr><tr>";
		}
		calDate.setDate(calDate.getDate()+1)
	}

	for (var i = calDate.getDay(); i < 7; i++){
		returnText += "<td>-</td>";
	}

	returnText += "</tr><tr><td colspan=7 style='text-align: center;'><a href='JavaScript: //' onclick='document.getElementById(\"calendar_" + textBoxId + "\").style.visibility=\"hidden\";' class='menu_item_1'>CLOSE</a></td></tr></table>";
	returnText += "</div><div class='calendar_box_bottom'> </div>";
	document.getElementById('calendar_' + textBoxId).innerHTML = returnText;
	document.getElementById('calendar_' + textBoxId).style.visibility = 'visible';
}

function makeCalendar2(calDate, textBoxId)
{

	//make sure there is a calendar box
	if(!document.getElementById('calendar_' + textBoxId))
	{
		//add it
		document.getElementById(textBoxId).parentNode.innerHTML = "<div class='wrapper' style='width: 0px; overflow: visible;'><div class='calendar_container' id='calendar_" + textBoxId + "'></div></div>" + document.getElementById(textBoxId).parentNode.innerHTML;
	}

	calDate.setFullYear(calDate.getFullYear(),calDate.getMonth(),1);

	var thisMonth = calDate.getMonth();

	var nextMonth = calDate.getMonth()+1;

	var nextMonthDate = new Date();

	if(nextMonth == 12)
	{
		nextMonth = 0;
		nextMonthDate.setFullYear(calDate.getFullYear()+1,nextMonth,1);
	}
	else
	{
		nextMonthDate.setFullYear(calDate.getFullYear(),nextMonth,1);
	}

	var lastMonth = calDate.getMonth()-1;

	var lastMonthDate = new Date();

	if(lastMonth == -1)
	{
		lastMonth = 11;
		lastMonthDate.setFullYear(calDate.getFullYear()-1,lastMonth,1);
	}
	else
	{
		lastMonthDate.setFullYear(calDate.getFullYear(),lastMonth,1);
	}

	var returnText = "<div class='calendar_box'><table class='calendar' cellpadding=0 cellspacing=0>";
	returnText += "<tr class='top'>";
	returnText += "<th><a class='menu_item_1' href='#' onMouseDown=\"makeCalendarMillisecAdaptor2(" + lastMonthDate.getTime() + ", '" + textBoxId + "');\"><<</a></th>";
	returnText += "<th colspan=5>" + monthName[thisMonth] + " " + calDate.getFullYear() + "</th>";
	returnText += "<th><a class='menu_item_1' href='#' onMouseDown=\"makeCalendarMillisecAdaptor2(" + nextMonthDate.getTime() + ", '" + textBoxId + "');\">>></a></th>";
	returnText += "</tr>";
	returnText += "<tr><td>SU</td><td>MO</td><td>TU</td><td>WE</td><td>TH</td><td>FR</td><td>SA</td></tr>";
	//start the first line of the calendar
	var weekDayStart = calDate.getDay();

	returnText += "<tr>";
	for (var i = 0; i < weekDayStart; i++){
		returnText += "<td>-</td>";
	}

	while(calDate.getMonth() == thisMonth)
	{
		var calDateDom = calDate.getDate();
		if(calDateDom < 10)
		{
			calDateDom  = "0" + calDateDom;
		}
		var tempMonth = calDate.getMonth()+1;
		if(tempMonth < 10) {
			tempMonth = '0' + tempMonth;
		}
		returnText += "<td><a class='menu_item_1' href='#' onmousedown='document.getElementById(\"" + textBoxId + "\").value=\"" + calDateDom + "/" + tempMonth + "/" + calDate.getFullYear() + "\"; document.getElementById(\"calendar_" + textBoxId + "\").style.visibility=\"hidden\"; updateBuyTickets();'>" + calDate.getDate() + "</a></td>";
		if(calDate.getDay() == 6)
		{
			//start a new line
			returnText += "</tr><tr>";
		}
		calDate.setDate(calDate.getDate()+1)
	}

	for (var i = calDate.getDay(); i < 7; i++){
		returnText += "<td>-</td>";
	}

	returnText += "</tr><tr><td colspan=7 style='text-align: center;'><a href='JavaScript: //' onclick='document.getElementById(\"calendar_" + textBoxId + "\").style.visibility=\"hidden\"; document.getElementById(\"" + textBoxId + "\").value=\"Any\"; updateBuyTickets();' class='menu_item_1'>ANY</a><input style='width: 43px; float: right; font-size: 65%;' type=submit onclick='document.getElementById(\"calendar_" + textBoxId + "\").style.visibility=\"hidden\";' value='CLOSE'></td></tr></table>";
	returnText += "</div><div class='calendar_box_bottom'> </div>";
	document.getElementById('calendar_' + textBoxId).innerHTML = returnText;
	document.getElementById('calendar_' + textBoxId).style.visibility = 'visible';
}

function makeCalendar3(calDate, selectBoxId)
{

	//make sure there is a calendar box
	if(!document.getElementById('calendar_' + selectBoxId))
	{
		//add it
		document.getElementById(selectBoxId).parentNode.innerHTML = "<div class='wrapper' style='width: 0px; overflow: visible;'><div class='calendar_container' id='calendar_" + selectBoxId + "'></div></div>" + document.getElementById(selectBoxId).parentNode.innerHTML;
	}

	calDate.setFullYear(calDate.getFullYear(),calDate.getMonth(),1);

	var thisMonth = calDate.getMonth();

	var nextMonth = calDate.getMonth()+1;

	var nextMonthDate = new Date();

	if(nextMonth == 12)
	{
		nextMonth = 0;
		nextMonthDate.setFullYear(calDate.getFullYear()+1,nextMonth,1);
	}
	else
	{
		nextMonthDate.setFullYear(calDate.getFullYear(),nextMonth,1);
	}

	var lastMonth = calDate.getMonth()-1;

	var lastMonthDate = new Date();

	if(lastMonth == -1)
	{
		lastMonth = 11;
		lastMonthDate.setFullYear(calDate.getFullYear()-1,lastMonth,1);
	}
	else
	{
		lastMonthDate.setFullYear(calDate.getFullYear(),lastMonth,1);
	}

	var returnText = "<div class='calendar_box'><table class='calendar' cellpadding=0 cellspacing=0>";
	returnText += "<tr class='top'>";
	returnText += "<th><a class='menu_item_1' href='#' onMouseDown=\"makeCalendarMillisecAdaptor3(" + lastMonthDate.getTime() + ", '" + selectBoxId + "');\"><<</a></th>";
	returnText += "<th colspan=5>" + monthName[thisMonth] + " " + calDate.getFullYear() + "</th>";
	returnText += "<th><a class='menu_item_1' href='#' onMouseDown=\"makeCalendarMillisecAdaptor3(" + nextMonthDate.getTime() + ", '" + selectBoxId + "');\">>></a></th>";
	returnText += "</tr>";
	returnText += "<tr><td>SU</td><td>MO</td><td>TU</td><td>WE</td><td>TH</td><td>FR</td><td>SA</td></tr>";
	//start the first line of the calendar
	var weekDayStart = calDate.getDay();

	returnText += "<tr>";
	for (var i = 0; i < weekDayStart; i++){
		returnText += "<td>-</td>";
	}

	while(calDate.getMonth() == thisMonth)
	{
		var calDateDom = calDate.getDate();
		if(calDateDom < 10)
		{
			calDateDom  = "0" + calDateDom;
		}
		var tempMonth = calDate.getMonth()+1;
		if(tempMonth < 10) {
			tempMonth = '0' + tempMonth;
		}
		returnText += "<td><a class='menu_item_1' href='#' onmousedown='setDate3(\"" + calDateDom + "/" + tempMonth + "/" + calDate.getFullYear() + "\", \"" + selectBoxId + "\"); document.getElementById(\"calendar_" + selectBoxId + "\").style.visibility=\"hidden\"; updateBuyTickets();'>" + calDate.getDate() + "</a></td>";
		if(calDate.getDay() == 6)
		{
			//start a new line
			returnText += "</tr><tr>";
		}
		calDate.setDate(calDate.getDate()+1)
	}

	for (var i = calDate.getDay(); i < 7; i++){
		returnText += "<td>-</td>";
	}

	returnText += "</tr><tr><td colspan=7 style='text-align: center;'><a href='JavaScript: //' onclick='document.getElementById(\"calendar_" + selectBoxId + "\").style.visibility=\"hidden\"; setDate3(\"Any\", \"" + selectBoxId + "\"); updateBuyTickets();' class='menu_item_1'>ANY</a><input style='width: 43px; float: right; font-size: 65%;' type=submit onclick='document.getElementById(\"calendar_" + selectBoxId + "\").style.visibility=\"hidden\";' value='CLOSE'></td></tr></table>";
	returnText += "</div><div class='calendar_box_bottom'> </div>";
	document.getElementById('calendar_' + selectBoxId).innerHTML = returnText;
	document.getElementById('calendar_' + selectBoxId).style.visibility = 'visible';
}

function setDate3(aDate, selectBoxId){
	var elSel = document.getElementById(selectBoxId);
	/*
	if (elSel.selectedIndex >= 0) {
	    var elOptNew = document.createElement('option');
	    elOptNew.text = 'Insert' + num;
	    elOptNew.value = 'insert' + num;
	    var elOptOld = elSel.options[elSel.selectedIndex];
	    try {
			elSel.add(elOptNew, elOptOld); // standards compliant; doesn't work in IE
	    }
	    catch(ex) {
			elSel.add(elOptNew, elSel.selectedIndex); // IE only
	    }
	}*/
	var i;
	for (i = elSel.length - 1; i>=0; i--) {
		elSel.remove(i);
	}
	var elOptNew = document.createElement('option');
	elOptNew.text = aDate;
    elOptNew.value = aDate;
	try {
		elSel.add(elOptNew, null); // standards compliant; doesn't work in IE
	}
	catch(ex) {
		elSel.add(elOptNew, 0); // IE only
	}
}

function makeClock(textBoxId){

	//make sure there is a calendar box
	if(!document.getElementById('clock_' + textBoxId))
	{
		//add it
		document.getElementById(textBoxId).parentNode.innerHTML = "<div class='wrapper' style='width: 0px; overflow: visible;'><div class='calendar_container' id='clock_" + textBoxId + "'></div></div>" + document.getElementById(textBoxId).parentNode.innerHTML;
	}

	var curTime = document.getElementById(textBoxId).value;
	if(curTime.length > 0)
	{
		var curHour = curTime.split(':');
		var curMinute = curHour[1].split(' ');
		var curAMPM = curMinute[1];
		curMinute = curMinute[0];
		curHour = curHour[0];
	}
	else
	{
		curHour = "12";
		curMinute = "00";
		if(arguments[1] && arguments[1] == "AM")
		{
			curAMPM = "AM";
		}
		else
		{
			curAMPM = "PM";
		}
	}

	var returnText = "<div class='calendar_box'><table class='calendar' cellpadding=0 cellspacing=0>";
	returnText += "<tr class='top'>";
	returnText += "<th colspan=3>Set Time</th>";
	returnText += "</tr>";

	returnText += "<tr>";
	returnText += "<td><select onchange='updateTime(\"" + textBoxId + "\");' id='hour_" + textBoxId + "'>";
	for (var i = 12; i > 0; i--)
	{
		returnText += "<option value='" + i + "'";
		if(curHour==i)
		{
			returnText += " SELECTED";
		}
		returnText += ">" + i + "</option>";
	}
	returnText += "</select></td>";
	returnText += "<td><select onchange='updateTime(\"" + textBoxId + "\");' id='minute_" + textBoxId + "'>";
	returnText += "<option value='00'";
	if(curMinute=='00')
	{
		returnText += " SELECTED";
	}
	returnText += ">00</option>";
	for (var i = 15; i < 60; i = i + 15)
	{
		returnText += "<option value='" + i + "'";
		if(curMinute==i)
		{
			returnText += " SELECTED";
		}
		returnText += ">" + i + "</option>";
	}
	returnText += "</select></td>";
	returnText += "<td><select onchange='updateTime(\"" + textBoxId + "\");' id='ampm_" + textBoxId + "'>";
	returnText += "<option value='PM'>PM</option><option";
	if(curAMPM=='AM')
	{
		returnText += " SELECTED";
	}
	returnText += " value='AM'>AM</option></select></td>";
	returnText += "</tr>";
	returnText += "<tr><td colspan=3><a href='#' onmousedown='document.getElementById(\"clock_" + textBoxId + "\").style.visibility=\"hidden\";' class='menu_item_1'>Close</a></td></tr></table>";
	returnText += "</div><div class='calendar_box_bottom'> </div>";
	document.getElementById('clock_' + textBoxId).innerHTML = returnText;
	document.getElementById('clock_' + textBoxId).style.visibility = 'visible';
}

function updateTime(textBoxId)
{
	document.getElementById(textBoxId).value = document.getElementById("hour_" + textBoxId).value + ":" + document.getElementById("minute_" + textBoxId).value + " " + document.getElementById("ampm_" + textBoxId).value;
}