BTRAV.loadedBookingAuto = 0;
BTRAV.iAirportCodes = [];
(function ($) {
/** load airport code ajax on click cars/flight tab **/
 $(document).ready(function() {
	$('.tab-nav a').click(function(event) {
		event.preventDefault();
		var $tab = $(this).parent('li');
        if (BTRAV.loadedBookingAuto == 0 && ( $(this).html().indexOf('Cars') >=0 || $(this).html().indexOf('Flight') >=0) ) {
            /** autocomplete **/
            $.ajax({
                type: 'GET',
                dataType: 'json',
                url: 'http://www.budgettravel.com/bt-srv/site_media/js/lib/airportcode.js',
                success: function(results){
                    BTRAV.iAirportCodes = results;
                    $("#booking-cars input[name=city2], #booking-flights input[name=city1], #booking-flights input[name=city2]").autocomplete({ 
                        source: BTRAV.iAirportCodes,
                        minLength: 3,
                        autoFocus: true
                    });
                    BTRAV.loadedBookingAuto = 1;
                }
            });   
        }
		if ($tab.hasClass('inactive')){
			var $tabPane = $($(this).attr('href'));
				
			// TODO: can this be simplified?
			$tab.siblings('.active').toggleClass('active inactive');
			$tab.toggleClass('active inactive');
			$tabPane.siblings('.active').toggleClass('active inactive');
			$tabPane.toggleClass('active inactive');
		}
	});	
});	
    
$(document).ready(function() {
    $("#booking-hotels .vendors ul").append('<li><input type="checkbox" checked="checked" name="dealbase" id="booking-hotels-dealbase"><label for="booking-hotels-dealbase">DealBase</label></li>');

    $("#booking-flights .vendors ul").append('<li><input type="checkbox" checked="checked" name="dealbase" id="booking-flights-dealbase"><label for="booking-flights-dealbase">DealBase</label></li>');

    $("#booking-cars .vendors ul").append('<li><input type="checkbox" checked="checked" name="dealbase" id="booking-cars-dealbase"><label for="booking-cars-dealbase">DealBase</label></li>');

 	var bm = new BTRAV.bookingModule('#booking-module .pane');        
    var $anchorHotels = $("#anchor_booking .hotels .vendors li");
    var $bookingHotels = $("#booking-hotels .vendors li");
    var $bookingFlights = $("#booking-flights .vendors li");
    var $bookingCars = $("#booking-cars .vendors li");
    var $bookingCruises = $("#booking-cruises .vendors li");    
    
    $anchorHotels.each(function() {
        if ($(this).html().indexOf('Trip Advisor') >= 0 || $(this).html().indexOf('Expedia') >= 0 || $(this).html().indexOf('Travel Ticker') >= 0 || $(this).html().indexOf('DealBase') >= 0) {
           // all showing
        } else {
            $(this).remove();
        }
    });

    $bookingHotels.each(function() {
        if ($(this).html().indexOf('Trip Advisor') >= 0 || $(this).html().indexOf('Expedia') >= 0  || $(this).html().indexOf('Travel Ticker') >= 0 || $(this).html().indexOf('DealBase') >= 0) {
           // all showing
        } else {
            $(this).remove();
        }
    });

    $bookingFlights.each(function() {
        if ( $(this).html().indexOf('Expedia') >= 0 || $(this).html().indexOf('Travel Ticker') >= 0 || $(this).html().indexOf('DealBase') >= 0) {
           // all showing
        } else {
            $(this).remove();
        }
    });
    
    $bookingCruises.each(function() {
        if ( $(this).html().indexOf('Travel Ticker') >= 0 ) {
           // all showing
        } else {
            $(this).remove();
        }
    });
    
    $bookingCars.each(function() {
        if ( $(this).html().indexOf('CarRentals') >= 0 || $(this).html().indexOf('Expedia') >= 0 || $(this).html().indexOf('Hotwire') >= 0 || $(this).html().indexOf('Travel Ticker') >= 0 || $(this).html().indexOf('Buddy') >= 0 || $(this).html().indexOf('DealBase') >= 0) {
           // all showing
        } else {
            $(this).remove();
        }
    });
    
	if ($("#booking-module-hotel").length > 0) {
		BTRAV.currentHotelName = BTRAV.currentHotelName || '';		
        $("#booking-module-hotel li").eq(0).remove();
	 	var bmhotel = new BTRAV.bookingModule('#booking-module-hotel .pane');	
	}
	if ( typeof(BTRAV.ads.taxa["city"]) != "undefined" && BTRAV.ads.taxa["city"].length > 0) {
		//var randomCity = BTRAV.ads.taxa["city"][Math.floor(Math.random()* BTRAV.ads.taxa["city"].length)];		
		//$("#booking-module input[name=city2]").val(randomCity.replace("-"," "));
        //if ($("#city-page").length > 0) {
       $("#booking-hotels input[name=city2]").val(BTRAV.ads.taxa["city"][0].replace("-"," ") + ", " + BTRAV.ads.taxa["state"][0].replace("-"," "));
        //}		
	} else if ( typeof(BTRAV.ads.taxa["state"]) != "undefined" && BTRAV.ads.taxa["state"].length > 0) {
		var randomState = BTRAV.ads.taxa["state"][Math.floor(Math.random()* BTRAV.ads.taxa["state"].length)];		
		$("#booking-hotels input[name=city2]").val(randomState.replace("-"," "));	
    } else if ( $("#booking-location").length > 0 ) {
        $("#booking-hotels input[name=city2]").val($("#booking-location").text());
    } 
    
    /** Tracking Code for right booking ***/
    $("#custom-module-booking .button.orange").click(function() {
      $.get('http://ad.doubleclick.net/ad/budgettravel.house;adid=8739107;sz=1x1;ord=' + Math.floor(Math.random() * 9999999999) + '?');  
    });
    
    /** tracking code for click on bottom ***/
    $("#anchor_booking .button.orange").click(function() {
      $.get('http://ad.doubleclick.net/ad/budgettravel.house;adid=8735507;sz=1x1;ord=' + Math.floor(Math.random() * 9999999999) + '?');  
    });
    
    
// update to cruise select info 
    var cruiseDest = '<option value="1">Alaska</option>' + 
        '<option value="2">Bahamas</option>' + 
        '<option value="3">Bermuda</option>' + 
        '<option value="4">Canada / New England</option>' + 
        '<option value="5" selected="selected">Caribbean</option>' + 
        '<option value="6">Caribbean - East</option>' + 
        '<option value="7">Caribbean - South</option>' + 
        '<option value="8">Caribbean - West</option>' + 
        '<option value="9">Europe</option>' + 
        '<option value="10">Hawaii</option>' + 
        '<option value="1">Mediterranean</option>' + 
        '<option value="12">Mexico</option>' + 
        '<option value="13">Panama Canal</option>' + 
        '<option value="14">South America</option>' + 
        '<option value="15">South Pacific</option>' + 
        '<option value="16">Transatlantic</option>' + 
        '<option value="17">United States</option>' + 
        '<option value="18">World Cruise</option>'; 

        var cruiseLength = '<option value="0">Any Length</option>' + 
        '<option value="1">1-2 Nights</option>' + 
        '<option value="2">3-6 Nights</option>' + 
        '<option value="3">7-9 Nights</option>' + 
        '<option value="4">10-14 Nights</option>' + 
        '<option value="5">14+ Nights</option>';

        var cruiseShips = '<option value="Any Cruise Line" selected="selected">Any Cruise Line</option>' + 
        '<option value="Carnival">Carnival</option>' + 
        '<option value="Celebrity">Celebrity</option>' + 
        '<option value="Costa Cruises">Costa Cruises</option>' + 
        '<option value="Crystal Cruises">Crystal Cruises</option>' + 
        '<option value="Cunard">Cunard</option>' + 
        '<option value="Disney">Disney</option>' + 
        '<option value="Holland America">Holland America</option>' + 
        '<option value="Norwegian">Norwegian</option>' + 
        '<option value="Oceania">Oceania</option>' + 
        '<option value="Orient">Orient</option>' + 
        '<option value="Princess">Princess</option>' + 
        '<option value="Regent Seven Seas">Regent Seven Seas</option>' + 
        '<option value="Royal Caribbean">Royal Caribbean</option>' + 
        '<option value="Searbourn">Searbourn</option>' + 
        '<option value="Silversea">Silversea</option>' + 
        '<option value="Windstar">Windstar</option>'; 

        $("#booking-cruises select").each(function() {
            if ( $(this).attr("name") == 'destination') {
                $(this).html(cruiseDest);
            } else if ( $(this).attr("name") == 'operator') {
                $(this).html(cruiseShips);
            } else if ( $(this).attr("name") == 'triplength') {
                $(this).html(cruiseLength);
            }
        });    


    if ($("#booking-cruises").length > 0 ) {
        if ( $("#booking-cruises .vendors ul").html().indexOf('Ticker') < 0 ) {
            var newTravelTicker = '<li><input type="checkbox"  id="booking-cruises-travelticker" name="travelticker"><label for="booking-cruises-travelticker">Travel Ticker</label></li>';
            $("#booking-cruises .vendors ul").append(newTravelTicker);
        }
    }
    
});


BTRAV.bookingModule = function(selector) {
	var that = this;
	var $module = $(selector);
	if (selector == '#booking-module-hotel .pane') {
		var urlTpls = BTRAV.bookingModule.urlTpls.Hotels;		
	} else {
		var urlTpls = BTRAV.bookingModule.urlTpls;
	}
	var clickCodes = BTRAV.bookingModule.clickCodes;
	// merge urls templates and click codes into one object
	$.extend(true, urlTpls, clickCodes);
	
	setupEvents();
	initDateFields();
	
	// private
	function setupEvents() {
		// This will only happen for the right-rail version of the module	
		$('#col-1, #col-2').find(selector).click(function(){											  
			if ( $(this).find('fieldset.bottom:hidden').length > 0 ) {
				$("#booking-module fieldset.bottom").hide(); 									  			
				$(this).find('fieldset.bottom').slideDown();		
			}
		});
		
		// Handle form submission
		$module.find('form').submit(function(event) {
			event.preventDefault();
			var $form = $(this); 
            var formType = "hotels";
            if ( $form.hasClass("flights")) {
                formType = "flights";
            } else if ( $form.hasClass("cars")) {            
                formType = "cars";
            } else if ( $form.hasClass("cruises")) {            
                formType = "cruises";
            }
			
			$form.find('input[type=submit]').blur();
			
			var formVals = $form.serializeObject();		
			var vendorSelections = $form.find('.vendors input').serializeObject();			
			_.each(vendorSelections, function(v, vName) {
				var url = that.makeUrl(vName, formType, formVals);	
				that.popup(vName, url);
			});

		});
		
	};
	
	function initDateFields() {
		// Date.js and datepicker() use different date format options!
		var displayDateFormat = 'M/d/yyyy';
		
	 	var datepickerOptions = {
			dayNamesMin: ['S', 'M', 'T', 'W', 'T', 'F', 'S'],
			showAnim: 'fadeIn',
			prevText: '<',
			nextText: '>',
			closeText: 'Close',
			showButtonPanel: true,
			minDate: new Date(),
			dateFormat: 'm/d/yy'
		};
		
		// Set default dates
		$module.find('input.date[name="date1"]').val(Date.today().addDays(7).next().sat().toString(displayDateFormat));	
		$module.find('input.date[name="date2"]').val(Date.today().addDays(14).next().sat().toString(displayDateFormat));	
		
		// Initialize datepicker
	 	$module.find('input.date').datepicker(datepickerOptions);
	};

	// public
	this.popup = function(partnerName, url) {
				if (url.indexOf('http://www.tripadvisor.com/HACSearch?m=12007') >= 0) {
					url = url.replace('http://ad.doubleclick.net/clk;223914264;47436403;d','http://ad.doubleclick.net/N6260/clk;6782627;/6260/budgettravel.bookingmodule');
				} else if (url.indexOf('http://www.tripadvisor.com/CheapFlights') >= 0) {
					url = url.replace('http://ad.doubleclick.net/clk;223914254;47436403;c','http://ad.doubleclick.net/N6260/clk;6782627;/6260/budgettravel.bookingmodule');					
				} else if (url.indexOf('http://www.travel-ticker.com/Vertical/Cruises') >= 0) {
					url = url.replace('http://ad.doubleclick.net/clk;224754286;47436403;k','http://ad.doubleclick.net/N6260/clk;8192387;/6260/budgettravel.bookingmodule');
				} else if (url.indexOf('http://www.dealbase.com/check_rates?pid=budgettravel_hotels') >= 0) {
					url = url.replace('http://ad.doubleclick.net/clk;12345;47436403;h','http://ad.doubleclick.net/N6260/clk;8995187;/6260/budgettravel.bookingmodule');
                } else if (url.indexOf('http://www.dealbase.com/check_flight_rates?pid=budgettravel_flights') >= 0) {
					url = url.replace('http://ad.doubleclick.net/clk;12345;47436403;h','http://ad.doubleclick.net/N6260/clk;8995307;/6260/budgettravel.bookingmodule');
                } else if (url.indexOf('http://www.dealbase.com/check_car_rates?pid=budgettravel_cars') >= 0) {
					url = url.replace('http://ad.doubleclick.net/clk;12345;47436403;h','http://ad.doubleclick.net/N6260/clk;8995427;/6260/budgettravel.bookingmodule');
                }

                window.open(url, partnerName, 'menubar, toolbar, location, directories, status, scrollbars, resizable, dependent, width=825, height=500');
	};
	
	this.makeUrlPrefix = function(partnerName, linkType) {
		var btDartId = BTRAV.bookingModule.btSiteData.btDartId;
		var prefixTpl = _.template(BTRAV.bookingModule.btSiteData.prefixTpl);	    
		var partner = urlTpls[partnerName];
		return prefixTpl({
			btDartId: btDartId,
			clickCode: partner.clickCode[linkType]	
		});
	};
	
	this.makeUrl = function (partnerName, linkType, userSelections) {
		
		var partner = urlTpls[partnerName];
		var urlPrefix = that.makeUrlPrefix(partnerName, linkType);
		
		var urlTpl = _.template(partner.urls[linkType]);
		
		// Create a new object to hold the user selections with correct formatting for partner URLs
		var formattedUserSelections = {};
		$.extend(true, formattedUserSelections, userSelections);
		if (userSelections.date1 ) {
			formattedUserSelections.date1 = that.formatDate(Date.parse(userSelections.date1), partner.dateFormats);
		}
		if (userSelections.date2 ) {
			formattedUserSelections.date2 = that.formatDate(Date.parse(userSelections.date2), partner.dateFormats);
		}
		
		if (userSelections.time1 ) {
			// TODO: remove times and hardcode them? Users don't enter times but car urls need them
			formattedUserSelections.time1 = that.formatDate(Date.parse(userSelections.time1), partner.dateFormats);
			formattedUserSelections.time2 = that.formatDate(Date.parse(userSelections.time2), partner.dateFormats);

			// This sucks but Date.js apparently has no way to use "am" instead of "AM"
			if (partnerName == 'orbitz') {
				formattedUserSelections.time1.time = formattedUserSelections.time1.time.toLowerCase();
				formattedUserSelections.time2.time = formattedUserSelections.time2.time.toLowerCase();
			}
		}
        
       if (linkType == 'flights') {
           if ( $("#booking-flights input[name=city1]").val().split("(").length > 0) {
            formattedUserSelections.city1 = $("#booking-flights input[name=city1]").val().split("(")[1].replace(")","");
           }
           if ( $("#booking-flights input[name=city2]").val().split("(").length > 0) { 
            formattedUserSelections.city2 = $("#booking-flights input[name=city2]").val().split("(")[1].replace(")",""); 
           }
       } else if (linkType == 'cars') {
           if ( $("#booking-cars input[name=city2]").val().split("(").length > 0) { 
            formattedUserSelections.city2 = $("#booking-cars input[name=city2]").val().split("(")[1].replace(")",""); 
           }
       } else if (partnerName == 'bookingbuddy' && linkType == 'cruises') {         
        formattedUserSelections.destination = $("#booking-cruises select[name=destination] option:selected").html();         
        formattedUserSelections.triplength = $("#booking-cruises select[name=triplength] option:selected").html();           
       } else if (partnerName == 'dealbase' && linkType == 'hotels') {   
        formattedUserSelections.city2 = $("#booking-hotels input[name=city2]").val().split(",")[0].replace(" ","+");
       }
       
		var url = urlTpl(formattedUserSelections);		
		return urlPrefix + url;
	};
	
	// takes a Date.js object and dateFormats object and returns an object with the dates formatted correctly
	this.formatDate = function(date, dateFormats) {
		return {
			month: date.toString(dateFormats.month),
			day: date.toString(dateFormats.day),	
			time: date.toString(dateFormats.time),
			cruiseDate: date.toString(dateFormats.cruiseDate)
		}
	};
};

BTRAV.bookingModule.btSiteData = {
	"btDartId": 47436403,
	"prefixTpl": 'http://ad.doubleclick.net/clk;${clickCode.id};${btDartId};${clickCode.letter}?'
};

BTRAV.bookingModule.urlTpls = {
	"bookingbuddy": {
		"urls": {
			"hotels": "http://rd.bookingbuddy.com/?r=bbs_bt_ros_unchecked-box-h_001&arrival_city=${city2}&arrival_month=${date1.month}&arrival_day=${date1.day}&departure_month=${date2.month}&departure_day=${date2.day}&num_rooms=${rooms}&num_travelers=${persons}",
			"flights": "http://rd.bookingbuddy.com/?r=bbs_bt_ros_unchecked-box-a_001&departure_city=${city1}&arrival_city=${city2}&departure_month=${date1.month}&departure_day=${date1.day}&return_month=${date2.month}&return_day=${date2.day}&num_travelers=${persons}",
			"cars": "http://rd.bookingbuddy.com/?r=bbs_bt_ros_unchecked-box-c_001&pickup_city=${city2}&pickup_month=${date1.month}&pickup_day=${date1.day}&dropoff_month=${date2.month}&dropoff_day=${date2.day}&pickup_time:time=${time1.time}&dropoff_time:time=${time2.time}",
			"cruises": "http://rd.bookingbuddy.com/?r=bbs_bt_ros_unchecked-box-r_001&destination=${destination}&cruise_line=${operator}&cruise_length=${triplength} &travel_month=${date1.cruiseDate}"
	 	},

		
		"dateFormats": {
			"month": "MM yyyy",
			"day": "dd",
			"time": "HH",
			"cruiseDate": "yyyy-MM-dd"
		}
	},
	
	"expedia": {
		"urls": {
			"hotels": "http://ad.doubleclick.net/clk;234746622;58586239;v?http://www.expedia.com/pubspec/scripts/eap.asp?OLACID=US.BD.BUDGET-TRAVEL.HOTEL.HOTEL&GOTO=HOTSEARCH&SearchType=Destination&CityName=${city2}&InDate=${date1.day}&OutDate=${date2.day}&NumRoom=${rooms}",
			"flights": "http://ad.doubleclick.net/clk;234746591;58586225;v?http://www.expedia.com/pubspec/scripts/eap.asp?OLACID=US.BD.BUDGET-TRAVEL.FLIGHT.FLIGHT&GOTO=EXPFLTWIZ&load=1&TripType=Roundtrip&FrAirport=${city1}&ToAirport=${city2}&FromDate=${date1.day}&FromTime=362&ToDate=${date2.day}&ToTime=362&NumAdult=${persons}",
			"cars": "http://ad.doubleclick.net/clk;234746603;58586233;o?http://www.expedia.com/pubspec/scripts/eap.asp?OLACID=US.BD.BUDGET-TRAVEL.CAR.CAR&GOTO=CARSEARCH&SearchType=Airport&PickUpLoc=${city2}&FromDate=${date1.day}&PickUpTime=11AM&ToDate=${date2.day}"
	 	},
		
		"dateFormats": {
			"day": "MM/dd/yyyy",
			"time": ""
		}
	},
	
	"hotwire": {
		"urls": {
			"hotels": "http://www.hotwire.com/hotel/search-options.jsp?sid=S316&bid=B296414&inputId=hotel-index&destCity=${city2}&startDay=${date1.day}&startMonth=${date1.month}&endDay=${date2.day}&endMonth=${date2.month}",
			"flights": "http://www.hotwire.com/air/search-options.jsp?sid=S316&bid=B311808&inputId=index&origCity=${city1}&destinationCity=${city2}&startDay=18&startMonth=06&endDay=25&endMonth=06&noOfTickets=1",
			"cars": "http://www.hotwire.com/car/search-options.jsp?&startLocation=${city2}&startDay=${date1.day}&startMonth=${date1.month}&endDay=${date2.day}&endMonth=${date2.month}&startTime=${time1.time}&endTime=${time2.time}&startSearchType=N&inputId=index&selectedCarTypes=ECAR&sid=S316&bid=B311810"
	 	},
		
		"dateFormats": {
			"month": "MM",
			"day": "dd",
			"time": "HHmm"
		}
	},
	"orbitz": {
		"urls": {
			"hotels": "http://ad.doubleclick.net/clk;208956841;30970863;s?http://www.orbitz.com/psi?type=hotel&market=${city2}&checkin=${date1.month}&checkout=${date2.month}&guests=${persons}&rooms=${rooms}&gcid=C11287x728&WT.mc_id=o_bt_hotel&WT.mc_ev=click&DCSext.mc_kw=",
			"flights": "http://ad.doubleclick.net/clk;208956813;30970768;v?http://www.orbitz.com/psi?type=air&triptype=roundtrip&origin=${city1}&dest=${city2}&departdate=${date1.month}&returndate=${date2.month}&adults=${persons}&gcid=C11287x729&WT.mc_id=o_bt_air&WT.mc_ev=click&DCSext.mc_kw=",
			"cars": "http://ad.doubleclick.net/clk;208956850;30970979;a?http://www.orbitz.com/psi?type=car&pickuptype=AIRPORT&pickup=${city2}&pickupdate=${date1.month}&dropofftype=SAME&dropoffdate=${date2.month}&dropofftime=${time1.time}&pickuptime=${time2.time}&gcid=C11287x730&WT.mc_id=o_bt_car&WT.mc_ev=click&DCSext.mc_kw=",
			"cruises": "http://ad.doubleclick.net/clk;216347521;38881940;l?http://www.orbitz.com/psi?type=cruise&placementID=1&pageID=13&IncludeAlumniRates=false&IncludeSeniorRates=false&Search=Search&places=${destination}&operator=${operator}&days=${triplength}&month=${date1.cruiseDate}&gcid=C11287x758&WT.mc_id=o_bt_crz&WT.mc_ev=click&DCSext.mc_kw="
	 	},
		
		"dateFormats": {
			"month": "yyyy-MM-dd",
			"day": "dd",
			"time": "h+tt",
			"cruiseDate": "yyyy-MM-dd"
		}
	},
	
	"travelocity": {
		"urls": {
			"hotels": "http://travel.travelocity.com/hotel/HotelCobrand.do?pax_cnt=1&city=${city2}&dateLeavingMonth=${date1.month}&dateLeavingDay=${date1.day}&dateReturningMonth=${date2.month}&dateReturningDay=${date2.day}&WA1=03010&WA2=215967132&WA3=38362352&WA4=0&WA5=1653085&WA6=336501"
	 	},
		
		"dateFormats": {
			"month": "M",
			"day": "d"
		},
		
		"cruises": ["A#2050","AG#2050","AR#2050","BH#1295","BM#1035","NN#1294","C#24","CE#186","CS#189","CW#187","E#23","N#795","W#1465","H#26","EE#407","R#407","EW#407","M#7","T#240","S#1296","TH#579","ET#793","NA#1896","RV#1896","PC#1896","NC#1896","WW#2047"],
		"cruiseLengths": ["","1-2","3-6","7-9","10-14","14+ Nights"]
	},
	
	"travelticker": {
		"urls": {
			"hotels": "http://www.travel-ticker.com/Vertical/Hotels?vert=H&destination=${city2}&startDate=${date1.day}&endDate=${date2.day}&numRooms=${rooms}&numAdults=${persons}&pdits=21&tts=00&sid=S316&bid=B311497",
			"flights": "http://www.travel-ticker.com/Vertical/Flights?vert=A&origin=${city1}&destination=${city2}&startDate=${date1.day}&endDate=${date2.day}&numTickets=${persons}&pdits=21&tts=00&sid=S316&bid=B311499",
			"cars": "http://www.travel-ticker.com/Vertical/Cars?vert=C&origin=${city2}&startDate=${date1.day}&startTime=${time1.time}&endDate=${date2.day}&endTime=${time2.time}&pdits=21&tts=00&sid=S316&bid=B311496",
            "cruises": "http://www.travel-ticker.com/Vertical/Cruises?cruiseDestination=${destination}&month=${date1.cruiseDate}&vert=R&cruiseLength=${triplength}&pdits=21&tts=00&sid=S316&bid=B314973"
	 	},
		
		"dateFormats": {
			"day": "MM/dd/yyyy",
			"time": "HHmm",
            "cruiseDate": "m/1/yyyy"            
		}
	},
	
	"tripadvisor": {
		"urls": {
			"hotels": "http://www.tripadvisor.com/HACSearch?m=12007&q=${city2}&inDay=${date1.day}&inMonth=${date1.month}&outDay=${date2.day}&outMonth=${date2.month}&adults=1",
			"flights": "http://www.tripadvisor.com/CheapFlights?m=12184&travelers=1&cos=0&nonstop=no&airport0=${city1}&nearby0=no&airport1=${city2}&nearby1=no&date0=${date1.day}&time0=anytime&date1=${date2.day}&time1=anytime"
	 	},
		
		"dateFormats": {
			"month": "MM/yyyy",
			"day": "dd"
		}
	},
	
	"tripcom": {
		"urls": {
			"hotels": "http://www.trip.com/index.html?type=hotel&hoWhere=${city2}&checkIn=${date1.day}&checkOut=${date2.day}&rooms=${rooms}&cmpid=105",
			"flights": "http://www.trip.com/index.html?type=flight&airFrom=${city1}&airTo=${city2}&deptDate=${date1.day}&rtnDate=${date2.day}&travelers=${persons}&cmpid=104"
	 	},
		
		"dateFormats": {
			"day": "MM/dd/yyyy"
		}
	},
	"carrentals": {
		"urls": {
		"cars": "http://www.carrentals.com/?cid=12329&pickupMonthYear=${date1.month}&pickupDay=${date1.day}&pickupTime=${time1.time}&dropoffMonthYear=${date2.month}&dropoffDay=${date2.day}&dropoffTime=${time2.time}&pu=${city2}"
		},		
		"dateFormats": {
			"month": "MMyy",
			"day": "dd"
		}		
	},
	"dealbase": {
		"urls": {
			"hotels": "http://www.dealbase.com/check_rates?pid=budgettravel_hotels&city=${city2}&adults=${persons}&rooms=${rooms}&start_date=${date1.day}&end_date=${date2.day}&expand=t",
			"flights": "http://www.dealbase.com/check_flight_rates?pid=budgettravel_flights&from=${city1}&to=${city2}&rt=1&adults=${persons}&dep=${date1.day}&ret=${date2.day}",
			"cars": "http://www.dealbase.com/check_car_rates?pid=budgettravel_cars&pickup_location=${city2}&pickup_date=${date1.day}&dropoff_date=${date2.day}"
	 	},
		
		"dateFormats": {
			"day": "yyyyMMdd",
			"time": ""
		}
	}	
};

BTRAV.bookingModule.clickCodes = {
	"bookingbuddy": {
		"clickCode": {
			"hotels": {
				"id": 223913759,
				"letter": "l"
			},
			"flights": {
				"id": 223913758,
				"letter": "k"
			},
			"cars": {
				"id": 223913756,
				"letter": "i"
			},
			"cruises": {
				"id": 223913757,
				"letter": "j"
			}			
		}
	},
	
	"expedia": {
		"clickCode": {
			"hotels": {
				"id": "234547446",
				"letter": "j"
			},
			"flights": {
				"id": "234547448",
				"letter": "l"
			},
			"cars": {
				"id": "234547447",
				"letter": "k"
			}
		}
	},
	
	"hotwire": {
		"clickCode": {
			"hotels": {
				"id": 224754510,
				"letter": "a"
			},
			"flights": {
				"id": 224754525,
				"letter": "g"
			},
			"cars": {
				"id": 224754538,
				"letter": "k"
			}			
		}
	},
	
	"orbitz": {
		"clickCode": {
			"hotels": {
				"id": 223913670,
				"letter": "d"
			},
			"flights": {
				"id": 223913669,
				"letter": "l"
			},
			"cars": {
				"id": 223913667,
				"letter": "j"
			},
			"cruises": {
				"id": 223913671,
				"letter": "e"
			}			
		}
	},
	
	"travelocity": {
		"clickCode": {
			"hotels": {
				"id": 224754622,
				"letter": "e"
			},
			"cruises": {
				"id": "",
				"letter": ""
			}			
		}	
	},
	
	"travelticker": {
		"clickCode": {
			"hotels": {
				"id": 224754238,
				"letter": "h"
			},
			"flights": {
				"id": 224754275,
				"letter": "i"
			},
			"cars": {
				"id": 224754286,
				"letter": "k"
			},
			"cruises": {
				"id": 224754286,
				"letter": "k"
			}            
		}
	},
	
	"tripadvisor": {
		"clickCode": {
			"hotels": {
				"id": 223914264,
				"letter": "d"
			},
			"flights": {
				"id": 223914254,
				"letter": "c"
			}			
		}
	},
	
	"tripcom": {
		"clickCode": {
			"hotels": {
				"id": 223913721,
				"letter": "a"
			},
			"flights": {
				"id": 223913724,
				"letter": "d"
			}
		}
	},
	"carrentals": {
		"clickCode": {
			"cars": {
				"id": 225954260,
				"letter": "f"
			}
		}
	},
	"dealbase": {
		"clickCode": {
			"hotels": {
				"id": 12345,
				"letter": "h"
			},
			"flights": {
				"id": 12345,
				"letter": "h"
			},
			"cars": {
				"id": 12345,
				"letter": "h"
			}           
		}
	} 	
}
})(jQuery);

