		var startDate;
		var endDate;

		function resetDates() {
			startDate = endDate = null;
			setUp();
		}

		function filterDates1(cal) {
			startDate = new Date(cal.date)
			startDate.setHours(0,0,0,0)	// used for compares without TIME
			/* If they haven't chosen an 
			end date before we'll set it to the same date as the start date This
			way if the user scrolls in the start date 5 months forward, they don't
			need to do it again for the end date.
			*/

			if (endDate == null) { 
				Zapatec.Calendar.setup({
					inputField   	  : "checkOut",
					button       	  : "checkOutButton",  // What will trigger the popup of the calendar
					ifFormat     	  : "%A, %d %B %Y",
					daFormat    	  : "%Y/%m/%d",
					showsTime     	  : false,          //no time
					dateStatusFunc    : disallowDateBefore, //the function to call
					firstDay          : 1,
					weekNumbers       : false,
					showOthers        : true,
					range             : [2008.01, 2999.12],
					electric          : false,
					onUpdate      	  : filterDates2
				});
			}
		}

		function filterDates2(cal) {
			var date = cal.date;
			endDate = new Date(cal.date)
			endDate.setHours(0,0,0,0)	// used for compares without TIME
		}

		/*
		* This functions return true to disallow a date
		* and false to allow it.
		*/


		/* 
		* Check-Out calendar allowed dates
		* Check-Out date can not be BEFORE Check-In date
		* Check-Out date can not be before today
		*/
		function disallowDateBefore(dateCheckOut) {
			dateCheckOut.setHours(0,0,0,0)
			if ((startDate != null) && startDate > dateCheckOut-1)
				// startDate is defined, make sure cal date is NOT before start date
				return true; 
			
			var now = new Date()
			now.setHours(0,0,0,0)
			if (dateCheckOut < now) 
				// check out date can not be befor today if startDate NOT defined
				return true;

			return false;
		}

		/* 
		* Check-In date checking
		* Check-In date can not be AFTER Check-Out date
		* Check-In date can not be before today
		*/
		function disallowDateAfter(dateCheckIn) {
			dateCheckIn.setHours(0,0,0,0)
			if ((endDate != null) && dateCheckIn > endDate)
				// endDate defined, calendar date can NOT be after endDate
				return true;

			var now = new Date()
			now.setHours(0,0,0,0)

			if (dateCheckIn < now)
				// endDate NOT defined, calendar date can not be before today
				return true;

			return false;
		}

		// end hiding contents from old browsers  -->
	function setUp(){
		var cal = new Zapatec.Calendar.setup({
		
		inputField     : "checkIn",   // id of the input field
		button         : "checkInButton",  // What will trigger the popup of the calendar
        ifFormat       : "%A, %d %B %Y",
        daFormat       : "%Y/%m/%d",         
		showsTime      : false,          //no time
		dateStatusFunc : disallowDateAfter, //the function to call
        firstDay       : 1,
		weekNumbers    : false,
		showOthers     : true,
		range          : [2008.01, 2999.12],
		electric       : false,         
		onUpdate       : filterDates1

		});
		
      Zapatec.Calendar.setup({
		inputField     : "checkOut",
		button         : "checkOutButton",  // What will trigger the popup of the calendar
        ifFormat       : "%A, %d %B %Y",
        daFormat       : "%Y/%m/%d",
		showsTime      : false,          //no time
		dateStatusFunc : disallowDateBefore, //the function to call
        firstDay       : 1,
		weekNumbers    : false,
		showOthers     : true,
		range          : [2008.01, 2999.12],
		electric       : false,
		onUpdate       : filterDates2
      });
	  }
