var RatesAndDates={
	options:{
		require:[
			"/scripts/mootools.iFrameOverlay.js"
		]
	},
	initialize:function() {
		$.Require(this.options.require,function() {
			this.i=new iFrameModal({
				src:"/stay/hotels/includes/rates-and-dates.jsp",
				width:935,
				height:632
			})
			$(document.body).addEvent("click",function(event) {
					var self=$(event.target);
					if (self.hasClass("view-rad-lnk")) this.popupOverlay(event)
					if (self.hasClass("book-direct")) {
						this.removeMMDDYYYY(event,self);
						this.trackBookDirect(event);
					}
			}.bind(this))
			
			window.addEvent("datesUpdated",this.updateDatesFromOverlay.bind(this))
			$$("#accommodations select, #location select, #alpha select, #sortby select, #amenities input[type='checkbox']").addEvent("change",this.submitSelectChanges.bind(this))
		}.bind(this))
		Browser.Engine.trident5?function(){
			window.addEvent("resize",function() {$(document.body).toggleClass("ieFix")})
		}():"";
	},
	submitSelectChanges:function() {
		$("tbar").submit();
	},
	removeMMDDYYYY:function(event,self) {
		self.getParent("form").getElements("input").each(function(item) {
			if (item.get("value").toLowerCase()==="mm/dd/yyyy") item.set("value","")
		})
	},
	currentCard:null,
	popupOverlay:function(event) {
		event.stop();
		var self=$(event.target);
		
		this.currentCard=currentCard=self.getParent(".rates-and-dates")||self;
		var arrivalDate=new Date(currentCard.getElement('.arrivalDate').value).formatDateToMMDDYYYY();
		var departureDate=new Date(currentCard.getElement('.departureDate').value).formatDateToMMDDYYYY();
		
		//params got flipped up in the java (or maybe it's me), either case, note below
		this.i.setSrc(self.get("href",2)+"&departure="+arrivalDate+"&arrival="+departureDate).show();
	},
	updateDatesFromOverlay:function(dates) {
		var currentCard=this.currentCard;
		if (currentCard &&
			currentCard.getElement(".arrivalDate") &&
			currentCard.getElement(".departureDate")) {
				//if (dates.arrivalDate)
				currentCard.getElement(".arrivalDate").set("value",dates.arrivalDate)
				//if (dates.departureDate)
				currentCard.getElement(".departureDate").set("value",dates.departureDate)
		}
	},
	trackBookDirect : function(event) {
		var date = $(event.target).getParent().getElement('.arrivalDate').value;
		var date1 = new Date(parseInt(date.substring(6)), parseInt(date.substring(0,2)), parseInt(date.substring(3,5)), 0, 0, 0, 0);
		date = $(event.target).getParent().getElement('.departureDate').value;
		var date2 = new Date(parseInt(date.substring(6)), parseInt(date.substring(0,2)), parseInt(date.substring(3,5)), 0, 0, 0, 0);
		var daysDifferent = (date1.getTime() - date2.getTime()) / 1000 / 60 / 60 / 24;
		if(daysDifferent < 0) daysDifferent *= -1;
		LVCVA.util.Omniture.trackData({
			name: 'BookDirect',
			type: 'e',
			data: {
				events: 'event6',
				eVar36:$(event.target).getPrevious("input[name=om]").get("value"),
				eVar35: daysDifferent + ' Nights Searched'
			}
		});
	}
}
	
function submitForm(){}
window.addEvent("domready",RatesAndDates.initialize.bind(RatesAndDates))