//
// Get elements
//

var wrapSchoolSelect = document.getElementById("wrapSchoolSelect");
var wrapSchoolText   = document.getElementById("wrapSchoolText");
var schoolSuggest    = document.getElementById("schoolSuggest");

var schoolId         = document.getElementById("schoolId");
var schoolText       = document.getElementById("schoolText");
var schoolSelect     = document.getElementById("schoolSelect");
var schoolType       = document.getElementById('schoolType');

var submit           = document.getElementById("submit");

var toDate           = document.getElementById("toDate");
var fromDate         = document.getElementById("fromDate");

var schoolCount = 0;

//
// Execute global things
//

schoolSelect.name = "";
schoolText.name = "school";
wrapSchoolSelect.style.display = "none";
wrapSchoolText.style.display = "inline";


//
// Add events
//

addEvent(schoolText, "keyup", onSchoolTextKeyUp);
addEvent(schoolText, "blur", onSchoolTextKeyUp);
addEvent(submit,     "click", onSubmitClick);
addEvent(document,   "click", onDocumentClick);

addEvent(toDate,     "focus", toDateFocus);
addEvent(toDate,     "click", toDateClick);

addEvent(fromDate,     "focus", fromDateFocus);
addEvent(fromDate,     "click", fromDateClick);

//
// Handlers
//

function toDateFocus(event)
{
   toDate.select();
   lcs(toDate);
}

function toDateClick(event)
{
   event.cancelBubble=true;
   toDate.select();
   lcs(toDate);
}

function fromDateFocus(event)
{
   fromDate.select();
   lcs(fromDate);
}

function fromDateClick(event)
{
   event.cancelBubble=true;
   fromDate.select();
   lcs(fromDate);
}


function onSubmitClick()
{
   xajax_updateSearchSuggestions(schoolText.value, schoolType.options[schoolType.selectedIndex].value);
   
   if(schoolCount <= 1)
   {
      return true
   }

   //
   // There are still multiple suggestions -- they need to select one
   //

   schoolSuggest.style.border = '2px solid red';
   
   alert("Please pick a school from the menu");

   return false;
}

function onSchoolTextKeyUp(event)
{
   if(event.keyCode == 38)
   {
      processUpArrow();
   }
   else if (event.keyCode == 40)
   {
      processDownArrow();
   }
   else
   {
      schoolSuggest.style.left = (findPos(schoolText)[0] + 1) + 'px';
      schoolSuggest.style.top  = (findPos(schoolText)[1] + 20) + 'px';

      xajax_updateSearchSuggestions(schoolText.value, schoolType.options[schoolType.selectedIndex].value);
      
      schoolSuggest.style.display = 'block';
   }
}

function onSchoolLinkClick(id, type)
{
   xajax_xGetSchoolName(id, type);

   schoolSuggest.style.display = 'none';
}

function onDocumentClick(e)
{
   var obj = getEventTarget(e);

   if(obj != schoolSuggest)
   {
       schoolSuggest.style.display = 'none';
   }
}

