/*
    Additional Javascript glue for provost housing

    Author: Brian McKinney
    Client: Kansas State University
    Created: 11/6/2007
    Modified: 11/6/2007
	Modified by: Nancy Baker
	Modified: 9/1/2009
*/

/*------------------------------------
     Calendars 
-------------------------------------- */ 

/*YAHOO.namespace("example.calendar");

YAHOO.example.calendar.init = function() {
	    
	function handleSelect(type,args,obj) {
		    console.log(type, args, obj);
			var dates = args[0]; 
			var date = dates[0];
			var year = date[0], month = date[1], day = date[2];
			
			var target = YAHOO.util.Event.getTarget(
			var txtDate1 = obj.field;
			//var txtDate1 = document.getElementById("arrivalDate");
			txtDate1.value = month + "/" + day + "/" + year;
			obj.calendar.hide();
		}

	function updateCal() {
			var txtDate1 = document.getElementById("arrivalDate");

			if (txtDate1.value != "") {
				YAHOO.example.calendar.cal1.select(txtDate1.value);			
					var firstDate = selectedDates[0];
					YAHOO.example.calendar.cal1.cfg.setProperty("pagedate", (firstDate.getMonth()+1) + "/" + firstDate.getFullYear());
					YAHOO.example.calendar.cal1.render();
			}
		}

		// For this example page, stop the Form from being submitted, and update the cal instead
	function handleSubmit(e) {
			updateCal();
			YAHOO.util.Event.preventDefault(e);
	}
		
	YAHOO.example.calendar.cal1 = new YAHOO.widget.Calendar("cal1","cal1Container", { title: "Choose a date: ", close:true });
	YAHOO.example.calendar.cal1.selectEvent.subscribe(handleSelect, {calender:YAHOO.example.calendar.cal1, field:YAHOO.util.Dom.get("arrivalDate")}, true);
	YAHOO.example.calendar.cal1.render();
	YAHOO.example.calendar.cal1.hide();
		
	//	YAHOO.example.calendar.cal2 = new YAHOO.widget.Calendar("cal2","cal1Container", { title: "Choose your departure date: ", close:true });
	//	YAHOO.example.calendar.cal2.selectEvent.subscribe(handleSelect, YAHOO.example.calendar.cal2, true);
	//	YAHOO.example.calendar.cal2.render();
	//	YAHOO.example.calendar.cal2.hide();

	YAHOO.util.Event.addListener("update", "click", updateCal);
	YAHOO.util.Event.addListener("dates", "submit", handleSubmit);


    //on input field focus, open the calendar
	YAHOO.util.Event.addListener("arrivalDate", "focus", YAHOO.example.calendar.cal1.show, YAHOO.example.calendar.cal1, true);
	YAHOO.util.Event.addListener("departureDate", "focus", YAHOO.example.calendar.cal2.show, YAHOO.example.calendar.cal2, true);
}

YAHOO.util.Event.onDOMReady(YAHOO.example.calendar.init);*/

/* -------------------------------
      Add/Delete Guest Names
--------------------- ------------  */

function handleAddGuestClick(e) {	
	YAHOO.util.Event.preventDefault(e);
	showAdditionalGuest();
}

function handleDelGuestClick(e) {	
	YAHOO.util.Event.preventDefault(e);
	deleteAdditionalGuest();
}

function showAdditionalGuest() {
	var addGuest = document.getElementById("additionalGuest1");
	addGuest.style.display = "block";
}

function deleteAdditionalGuest() {
	var addGuest = document.getElementById("additionalGuest1");
	addGuest.value = "";
	addGuest.style.display = "none";
}

YAHOO.util.Event.addListener("addGuestShow","click", handleAddGuestClick);
YAHOO.util.Event.addListener("addGuestDel","click", handleDelGuestClick);

/* ----------------------------------------------
      Show/Hide specific housing information
------------------------------------------------- */



function handleHousingDetailBrockman2(e) {	
	var divToShow = document.getElementById("brockman2Details");
	hideDetails();
	divToShow.style.display = "block";
}

function handleHousingDetailBrockmanB(e) {	
	var divToShow = document.getElementById("brockmanBDetails");
	hideDetails();
	divToShow.style.display = "block";
}

function handleHousingDetailBrockmanM(e) {	
	var divToShow = document.getElementById("brockmanMDetails");
	hideDetails();
	divToShow.style.display = "block";
}

function handleHousingDetailEdwards(e) {	
	var divToShow = document.getElementById("edwardsDetails");
	hideDetails();
	divToShow.style.display = "block";
}



function hideDetails() {
    document.getElementById("brockman2Details").style.display = "none";	
	document.getElementById("brockmanBDetails").style.display = "none";
	document.getElementById("brockmanMDetails").style.display = "none";
    document.getElementById("edwardsDetails").style.display = "none";
}

YAHOO.util.Event.onDOMReady(hideDetails);


YAHOO.util.Event.addListener("brockmanHouse2","click", handleHousingDetailBrockman2);
YAHOO.util.Event.addListener("brockmanHouseB","click", handleHousingDetailBrockmanB);
YAHOO.util.Event.addListener("brockmanHouseM","click", handleHousingDetailBrockmanM);
YAHOO.util.Event.addListener("edwardsHallApt","click", handleHousingDetailEdwards);


/*-------------------------------------------------
      Form Validation
--------------------------------------------------- */
function handleSubmit(e) {	
	YAHOO.util.Event.preventDefault(e);
	validateData();
}

function handleError(obj) {
	obj.className = "error";
}

function clearError(obj) {
    obj.className = "";	
}

function validateData() {
  var mainForm = document.getElementById("regForm")
  var error = 0;

  //Clear all existing error classes
  for(i=0;i<mainForm.elements.length;i++) {
     if (mainForm.elements[i].parentNode.className == "error") {
	     mainForm.elements[i].parentNode.className = ""; 
	 }	
  }
  if (document.getElementById("housingChoiceLabel").className == "error") {
     document.getElementById("housingChoiceLabel").className = "";	
  } 
  //Cycle through all input boxes; if they are empty, add the error class and increment error
   for(i=0;i<mainForm.elements.length;i++) {
     if (mainForm.elements[i].type == "text" || mainForm.elements[i].type == "textarea") {
	     if(mainForm.elements[i].value == "" && mainForm.elements[i].name != "additionalGuest-1" && mainForm.elements[i].name != "payeeFax") {
	        handleError(mainForm.elements[i].parentNode); 
            error++;
         }
     }	
  }
  //Check radio buttons to make sure they were selected, if not, add the error class and increment error
  housingSelected = false;
  for(i=0;i<mainForm.housingChoice.length;i++) {
	 if (mainForm.housingChoice[i].checked) {
		housingSelected = true;
	 }	
  }
  if (!housingSelected) {
	 housingLabel = document.getElementById("housingChoiceLabel");
	 housingLabel.className = "error";
	 error++;
  }
  //If there are errors dislpay the error message and do not submit form, if not submit it
  if (error == 0) {
	mainForm.submit();	
   } else {
	var errorDiv = document.getElementById("errorMessage");
	errorDiv.style.display = "block";
   }

   return false;
}

YAHOO.util.Event.addListener("regForm","submit", handleSubmit);






