//attributes
roomDateNum = new Array();
roomDateNum.push(1);	// start off with one date for the first Location, roomDateNum.length is the Number of Locations
rooms = 1;

//functions
function validateRoomRequest(thisform)
{
	rooms = roomDateNum.length;
	
	with (thisform)
	{
		if (organisation.value=="") {alert("Please provide an Organization"); organisation.focus(); return false;}
		if (contact.value=="") {alert("Please provide a contact"); contact.focus(); return false;}
		if (phone.value=="") {alert("Please provide a phone number"); phone.focus(); return false;}
		
		// check the email address
		apos=email.value.indexOf("@"); 
		dotpos=email.value.lastIndexOf(".");
		lastpos=email.value.length-1;
		if (apos<1 || dotpos-apos<2 || lastpos-dotpos>3 || lastpos-dotpos<2) 
			{alert("Please provide a valid email address"); email.focus(); return false;}
			
		if (GroupType[0].checked == false && GroupType[1].checked == false && GroupType[2].checked == false) 
			{alert("Please provide a group type"); GroupType[0].focus(); return false;}
			
		if (GroupType[0].checked == true)
		{
			if(PaymentType[0].checked == false && PaymentType[1].checked == false) {alert("Please provide a payment option"); PaymentType[0].focus(); return false;}
			if(PaymentType[1].checked && PaymentAddress.value == ""){alert("Please provide an address for direct billing"); PaymentAddress.focus(); return false;}
		}
		else if(GroupType[1].checked == true)
		{
			if(PaymentType[2].checked == false && PaymentType[3].checked == false) 
				{alert("Please provide a payment option"); PaymentType[2].focus(); return false;}
			
			// check to see if peoplesoft chartfield is filled out
			if(PaymentType[2].checked)
			{
				if(DeptID.value.length != 8) {alert("Invalid Department ID"); DeptID.focus(); return false;}
				if(FundNum.value.length != 3) {alert("Invalid Fund Number"); FundNum.focus(); return false;}
				if(ProgramCode.value.length != 4) {alert("Invalid Program Code"); ProgramCode.focus(); return false;}
			}
		}
		else if(GroupType[2].checked == true)
		{
			if(PaymentType[4].checked == false && PaymentType[5].checked == false && PaymentType[6].checked == false) 
				{alert("Please provide a payment option"); PaymentType[4].focus(); return false;}
		}
		
		if (eventTitle.value=="") {alert("Please provide an Event Title"); eventTitle.focus(); return false;}
		if (eventType.selectedIndex == 0) {alert("Please provide an Event Type"); eventType.focus(); return false;}
		if (attendance.value=="") {alert("Please provide an attendance amount"); attendance.focus(); return false;}
		if (eventPurpose.value=="") {alert("Please provide an event description"); eventPurpose.focus(); return false;}
		
		if(!seating[0].checked && !seating[1].checked && !seating[2].checked && !seating[3].checked && !seating[4].checked && !seating[5].checked)
		{
			alert("You must choose the type of seating for your event");
			seating[0].focus();
			return false;
		}
		
	}
	
	for (var i=1; i <= rooms; i++)
	{
		for(var j = 0; j < document.getElementsByName('room'+ i +'Date').length; j++) 
   		{ 
			dateCell = document.getElementsByName('room'+ i +'Date')[j];
			
			startHour =  document.getElementsByName('room'+ i +'StartHour')[j];
			startMin =  document.getElementsByName('room'+ i +'StartMinute')[j];
			startMer =  document.getElementsByName('room'+ i +'StartMeridian')[j];
			
			endHour =  document.getElementsByName('room'+ i +'EndHour')[j];
			endMin =  document.getElementsByName('room'+ i +'EndMinute')[j];
			endMer = document.getElementsByName('room'+ i +'EndMeridian')[j];
			
			if(dateCell.value == "") {alert("Please provide valid dates for your event locations"); dateCell.focus(); return false;}
				
			if (startHour.value == "") {alert("Please provide valid times for your event locations"); startHour.focus(); return false;}
			if (startMin.value == "") {alert("Please provide valid times for your event locations"); startMin.focus(); return false;}
			if (startMer.value == "") {alert("Please provide valid times for your event locations"); startMer.focus(); return false;}
			
			if (endHour.value == "") {alert("Please provide valid times for your event locations"); endHour.focus(); return false;}
			if (endMin.value == "") {alert("Please provide valid times for your event locations"); endMin.focus(); return false;}
			if (endMer.value == "") {alert("Please provide valid times for your event locations"); endMer.focus(); return false;}
		}
	}
	
	return true;
}


function addRoom()
{
	roomDateNum.push(1);
	rooms = roomDateNum.length;
	
	text = "<fieldset id='room"+ rooms +"'>"+
	"<legend>Location "+ rooms +"</legend>"+
	"<p>Location: "+
	"<select name='room'>"+
		"<option>No Preference</option>"+
		"<option>BALLROOMS</option>	"+
		"<option>Grand Ballroom</option>"+
		"<option>Rion Ballroom</option>	"+
		"<option>DINING ROOMS</option>	"+
		"<option>Arredondo Room</option>"+
		"<option>Micanopy Room</option>"+
		"<option>Room 404 (formerly The President's Dining Room)</option>"+
		"<option>FIXED SEATING ROOMS</option>"+
		"<option>Auditorium</option>"+
		"<option>282</option>"+
		"<option>MEETING ROOMS</option>	"+
 		"<option>B60</option>		"+
		"<option>B74-B75</option>	"+
		"<option>272</option>		"+
		"<option>273</option>		"+
		"<option>275</option>		"+
		"<option>276</option>		"+
		"<option>277</option>		"+
		"<option>278</option>		"+
		"<option>279</option>		"+
		"<option>283</option>		"+
		"<option>284</option>		"+
		"<option>285</option>		"+
		"<option>286</option>		"+
		"<option>287</option>		"+
		"<option>288</option>		"+
		"<option>289</option>		"+
		"<option>291</option>		"+
		"<option>346</option>		"+
		"<option>347</option>		"+
		"<option>349</option>		"+
		"<option>355</option>		"+
		"<option>357</option>		"+
		"<option>361-362-363</option>"+
		"<option>ORANGE &amp; BREW</option>"+
		"<option>OUTSIDE AREAS</option>"+
		"<option>Amphitheatre</option>"+
		"<option>Colonnade</option>"+
		"<option>North Lawn</option>"+
		"<option>North Terrace</option>"+
		"<option>South Terrace</option>"+
	"</select>"+
	"</p>"+
	
	"<div id='room"+ rooms +"DateTimes'>"+
	"</div>"+
	
	"<p> <input type='button' value='Add Date/Time' onClick='addTime("+ rooms +")' class='btn'>  &nbsp; "+
		"<input type='button' value='Clear Dates/Times' onClick='clearTimes("+ rooms +")' class='btn'></p>"+
	"</fieldset>";
	
	myRef = document.getElementById("rooms");
	myRef.innerHTML += text;
	
	roomDateNum[(rooms-1)] = 0;
	addTime(rooms);
}


function addTime(roomNum)
{
	roomDateNum[(rooms-1)]++;
	roomID = "room"+roomNum;
	
	text = "<p>Date: <input type='text' name='"+ roomID +"Date' value='' maxlength='10' size='10' id='"+ roomID +"Date"+ roomDateNum[(rooms-1)] +"'> "+
	
	"<a href='javascript: showhide(\""+ roomID + "Cal"+ roomDateNum[(rooms-1)]+ "\")'><img src='img/calendarIcon.gif' border='0' align='absmiddle'/></a>"+
	"<iframe id='"+ roomID +"Cal"+ roomDateNum[(rooms-1)]+ "' width='164' height='144' frameborder='0' style='display:none; position:absolute;' src='calendar.asp?name="+ roomID +"Date"+ roomDateNum[(rooms-1)] +"'></iframe>"+
	
	" Starts: "+
		"<select name='"+ roomID +"StartHour'>"+
			"<option value=''>--</option>"+
			"<option value='1'>1</option>"+
			"<option value='2'>2</option>"+
			"<option value='3'>3</option>"+
			"<option value='4'>4</option>"+
			"<option value='5'>5</option>"+
			"<option value='6'>6</option>"+
			"<option value='7'>7</option>"+
			"<option value='8'>8</option>"+
			"<option value='9'>9</option>"+
			"<option value='10'>10</option>"+
			"<option value='11'>11</option>"+
			"<option value='12'>12</option>"+
		"</select> : "+
		"<select name='"+ roomID +"StartMinute'>"+
			"<option value=''>--</option>"+
			"<option value='00'>00</option>"+
			"<option value='30'>30</option>"+
		"</select>	"+
		"<select name='"+ roomID +"StartMeridian'>"+
			"<option value=''>--</option>"+
			"<option value='AM'>AM</option>"+
			"<option value='PM'>PM</option>"+
		"</select>"+
	" Ends:	"+
		"<select name='"+ roomID +"EndHour'>"+
			"<option value=''>--</option>"+
			"<option value='1'>1</option>"+
			"<option value='2'>2</option>"+
			"<option value='3'>3</option>"+
			"<option value='4'>4</option>"+
			"<option value='5'>5</option>"+
			"<option value='6'>6</option>"+
			"<option value='7'>7</option>"+
			"<option value='8'>8</option>"+
			"<option value='9'>9</option>"+
			"<option value='10'>10</option>"+
			"<option value='11'>11</option>"+
			"<option value='12'>12</option>"+
		"</select> : "+
		"<select name='"+ roomID +"EndMinute'>"+
			"<option value=''>--</option>"+
			"<option value='00'>00</option>"+
			"<option value='30'>30</option>"+
		"</select>	"+
		"<select name='"+ roomID +"EndMeridian'>"+
			"<option value=''>--</option>"+
			"<option value='AM'>AM</option>"+
			"<option value='PM'>PM</option>"+
		"</select></p>"
	
	myRef = document.getElementById(roomID+"DateTimes");
	myRef.innerHTML += text;
}


// delete all the current times and push a new one onto the stack
function clearTimes(roomNum)
{
	myRef = document.getElementById("room"+roomNum+"DateTimes");
	myRef.innerHTML = "";
	roomDateNum[(rooms-1)] = 0;
	addTime(roomNum);
}


// pop off the last room
function removeRoom() 
{
	if (roomDateNum.length <= 1)
	{
		alert("Must specify at least one room");
		return;
	}
	
	var room = "room" + rooms;
	var div = document.getElementById(room); 
	div.parentNode.removeChild(div);
	roomDateNum.pop();
	rooms = roomDateNum.length;
}