var calendar = null;


calendar_init();


function calendar_init()


{


Calendar._DN = new Array


("Sunday",


 "Monday",


 "Tuesday",


 "Wednesday",


 "Thursday",


 "Friday",


 "Saturday",


 "Sunday");


Calendar._MN = new Array


("January",


 "February",


 "March",


 "April",


 "May",


 "June",


 "July",


 "August",


 "September",


 "October",


 "November",


 "December");





Calendar._TT = {};


Calendar._TT["TOGGLE"] = "Toggle first day of week";


Calendar._TT["PREV_YEAR"] = "Prev. year (hold for menu)";


Calendar._TT["PREV_MONTH"] = "Prev. month (hold for menu)";


Calendar._TT["GO_TODAY"] = "Go Today";


Calendar._TT["NEXT_MONTH"] = "Next month (hold for menu)";


Calendar._TT["NEXT_YEAR"] = "Next year (hold for menu)";


Calendar._TT["SEL_DATE"] = "Select date";


Calendar._TT["DRAG_TO_MOVE"] = "Drag to move";


Calendar._TT["PART_TODAY"] = " (today)";


Calendar._TT["MON_FIRST"] = "Display Monday first";


Calendar._TT["SUN_FIRST"] = "Display Sunday first";


Calendar._TT["CLOSE"] = "Close";


Calendar._TT["TODAY"] = "Today";


}





// code from http://www.meyerweb.com -- change the active stylesheet.


function setActiveStyleSheet(title) {


  var i, a, main;


  for(i=0; (a = document.getElementsByTagName("link")[i]); i++) {


    if(a.getAttribute("rel").indexOf("style") != -1 && a.getAttribute("title")) {


      a.disabled = true;


      if(a.getAttribute("title") == title) a.disabled = false;


    }


  }


  document.getElementById("style").innerHTML = title;


  return false;


}





// This function gets called when the end-user clicks on some date.


function selected(cal, date) {


  cal.sel.value = date; // just update the date in the input field.


  //LB - I commented this out because my calendars wont close on the reservation_request page.
  //if (cal.sel.id == "sel1" || cal.sel.id == "sel3" || cal.sel.id == "sel5" || cal.sel.id == "sel7")


    // if we add this call we close the calendar on single-click.


    // just to exemplify both cases, we are using this only for the 1st


    // and the 3rd field, while 2nd and 4th will still require double-click.


    cal.callCloseHandler();


}





// And this gets called when the end-user clicks on the _selected_ date,


// or clicks on the "Close" button.  It just hides the calendar without


// destroying it.


function closeHandler(cal) {


  cal.hide();                        // hide the calendar





  // don't check mousedown on document anymore (used to be able to hide the


  // calendar when someone clicks outside it, see the showCalendar function).


  Calendar.removeEvent(document, "mousedown", checkCalendar);


}





// This gets called when the user presses a mouse button anywhere in the


// document, if the calendar is shown.  If the click was outside the open


// calendar this function closes it.


function checkCalendar(ev) {


  var el = Calendar.is_ie ? Calendar.getElement(ev) : Calendar.getTargetElement(ev);


  for (; el != null; el = el.parentNode)


    // FIXME: allow end-user to click some link without closing the


    // calendar.  Good to see real-time stylesheet change :)


    if (el == calendar.element || el.tagName == "A") break;


  if (el == null) {


    // calls closeHandler which should hide the calendar.


    calendar.callCloseHandler();


    Calendar.stopEvent(ev);


  }


}





// This function shows the calendar under the element having the given id.


// It takes care of catching "mousedown" signals on document and hiding the


// calendar if the click was outside.


function showCalendar(id, format, ajax, closeHandlerToUse, disabledHandlerToUse) {
    
  // default closeHandlerToUse parameter
  if (closeHandlerToUse == null){
    closeHandlerToUse = closeHandler; // default close handler 
  }
  
  // default disabledHandlerToUse
  if (disabledHandlerToUse == null){
    disabledHandlerToUse = FlipKey.disableDate;
  }

  var el = document.getElementById(id);


  if (calendar != null) {

    //LB - added this.  calendar needs to know which instance it is.
  	calendar.id = id;
	calendar._init(calendar.mondayFirst, calendar.date);

    // we already have some calendar created


    calendar.hide();                 // so we hide it first.


  } else {


    // first-time call, create the calendar.


    var cal = new Calendar(false, null, selected, closeHandlerToUse, ajax, id, disabledHandlerToUse);


    calendar = cal;                  // remember it in the global var


    cal.setRange(1900, 2070);        // min/max year allowed.


    cal.create();


  }


  calendar.setDateFormat(format);    // set the specified date format


  calendar.parseDate(el.value);      // try to parse the text in field


  calendar.sel = el;                 // inform it what input field we use


  calendar.showAtElement(el);        // show the calendar below it





  // catch "mousedown" on document


  Calendar.addEvent(document, "mousedown", checkCalendar);


  return false;


}


