function findCheckedValue() {
   var value = "";
   date_option = document.getElementById("date");
   var date_option_ix = date_option.selectedIndex;
   var date_value = date_option.options[date_option_ix].value;
   return date_value;
}
function initialize() {
   today=new Date();
   document.find_event.from_date.value = formatDate(today);
   document.find_event.to_date.value = formatDate(today);
}
function formatDate(date) {
   var day  = date.getDate();
   var month = date.getMonth()+1;
   var year = date.getFullYear();
   return month + "/" + day + "/" + year;
}
function dateInput() {
   date_option = document.find_event.date.value;
   if (date_option == "R") {
      show('choose_dates');
      calstart();
   }
   else {
      hide('choose_dates');
   }
}
function enableRange() {
   document.find_event.from_date.disabled=false;
   document.find_event.to_date.disabled=false;
   document.forms[0].from_date.focus();
}
function disableRange() {
   document.find_event.from_date.disabled=true;
   document.find_event.to_date.disabled=true;
   checked_date_value = findCheckedValue();
   today=new Date();
   if (checked_date_value == "T") {
      document.find_event.from_date.value = formatDate(today);
      document.find_event.to_date.value = formatDate(today);
   }
   else if (checked_date_value == "N") {
      tomorrow=new Date();
      tomorrow.setTime(today.getTime() + 1 * 24 * 60 * 60 * 1000);
      document.find_event.from_date.value = formatDate(tomorrow);
      document.find_event.to_date.value = formatDate(tomorrow);
   }
   else if (checked_date_value == "W") {
      weekDay=today.getDay();
      start_date=new Date();
      end_date=new Date();
      if (weekDay >= 1 && weekDay <= 4) {
         start_date.setTime(today.getTime() + ((5-weekDay) * 24 * 60 * 60 * 1000));
         end_date.setTime(start_date.getTime() + 2 * 24 * 60 * 60 * 1000);
      }
      else if (weekDay == 5) {
         start_date.setTime(today.getTime());
         end_date.setTime(start_date.getTime() + 2 * 24 * 60 * 60 * 1000);
      }
      else if (weekDay == 6) {
         start_date.setTime(today.getTime());
         end_date.setTime(start_date.getTime() + 1 * 24 * 60 * 60 * 1000);
      }
      else if (weekDay == 0) {
         start_date.setTime(today.getTime());
         end_date.setTime(today.getTime());
      }
      document.find_event.from_date.value = formatDate(start_date);
      document.find_event.to_date.value = formatDate(end_date);
   }
   else if (checked_date_value == "M") {
      start_date=new Date();
      start_date.setTime(today.getTime());
      var MonthDays = new Array(31,28,31,30,31,30,31,31,30,31,30,31);
      curr_month = today.getMonth();
      curr_year = today.getFullYear();
      last_dom = MonthDays[curr_month];
      if (curr_month == 1) { // February
         if (curr_year%400==0 || (curr_year%4 == 0 && curr_year%100!=0) ) last_dom +=1;
      }
      end_date = new Date(curr_year,today.getMonth(),last_dom);
      document.find_event.from_date.value = formatDate(start_date);
      document.find_event.to_date.value = formatDate(end_date);
   }
   else if (checked_date_value == "S") {
      end_date=new Date();
      end_date.setTime(today.getTime() + 6 * 24 * 60 * 60 * 1000);
      document.find_event.from_date.value = formatDate(today);
      document.find_event.to_date.value = formatDate(end_date);
   }
   else {
      document.find_event.from_date.value = "";
      document.find_event.to_date.value = "";
   }
}
function validateEventSearchForm() {
   date_value = findCheckedValue();
   from_date = document.find_event.from_date.value;
   from_date = new String(from_date);
   from_date = from_date.replace( /^\s+/g, "" );// strip leading
   if (date_value == "R" && (from_date == "" || from_date == "mm/dd/yyyy")) {
      alert("Enter from date in format MM/DD/YYYY.");
      document.find_event.from_date.focus();
      return false;
   }
   if (date_value == "R" && document.find_event.from_date.value != "" && !validateDate(document.find_event.from_date.value)) {
      alert("From date is not valid. Enter date in format MM/DD/YYYY.");
      document.find_event.from_date.focus();
      return false;
   }
   if (date_value == "R" && document.find_event.to_date.value != "" && !validateDate(document.find_event.to_date.value)) {
      alert("To date is not valid. Enter date in format MM/DD/YYYY.");
      document.find_event.to_date.focus();
      return false;
   }
   if (date_value == "R" && document.find_event.from_date.value != "" && document.find_event.from_date.value != "mm/dd/yyyy" &&
            document.find_event.to_date.value != "" && document.find_event.to_date.value != "mm/dd/yyyy" && 
            !isGreaterThanEqualTo(document.find_event.from_date.value, document.find_event.to_date.value)) {
      alert("To date should be on or after from date");
      document.find_event.to_date.focus();
      return false;
   }
   return true;
}

function do_new_results_page(url) {
   loadDoc(url + '&results_only=1', 'event_search_results');
}

function do_new_goto_page_results() {
   url = 'http://' + location.hostname + '/dynamic/calendar/find_event.php?';
   url += 'open_tab=' + document.goto_page_form.open_tab.value;
   url += '&no_occ_events=' + document.goto_page_form.no_occ_events.value;
   url += '&sort_field=' + document.goto_page_form.sort_field.value;
   url += '&sort_order=' + document.goto_page_form.sort_order.value;
   url += '&date=' + document.goto_page_form.date.value;
   url += '&from_date=' + document.goto_page_form.from_date.value;
   url += '&to_date=' + document.goto_page_form.to_date.value;
   url += '&keyword=' + encodeURIComponent(document.goto_page_form.keyword.value);
   url += '&venue_name=' + encodeURIComponent(document.goto_page_form.venue_name.value);
   url += '&recommended=' + document.goto_page_form.recommended.value;
   url += '&d=' + document.goto_page_form.d.value;
   url += '&search_date=' + document.goto_page_form.search_date.value;
   url += '&page_nbr=' + document.goto_page_form.page_nbr.value;

   var event_cat_ids = document.getElementById('goto_page_cat_ids');
   var nbr_options = document.getElementById('goto_page_cat_ids').length;
   for (var i=0; i<nbr_options; i++) {
      if (event_cat_ids.options[i].selected == true) {
         url += "&event_cat_id[]=" + event_cat_ids.options[i].value;
      }
   }

   var geo_area_ids = document.getElementById('goto_page_geoarea_ids');
   nbr_options = document.getElementById('goto_page_geoarea_ids').length;
   for (var i=0; i<nbr_options; i++) {
      if (geo_area_ids.options[i].selected == true) {
         url += "&geo_area_id[]=" + geo_area_ids.options[i].value;
      }
   }
   loadDoc(url + '&results_only=1', 'event_search_results');
}
