var bannerIdx = 0;
var bannerCount = 0;
var timerCount = 0;

$.fn.delay = function(time, name) {
    return this.queue((name || 'fx'), function() {
        var self = this;
        setTimeout(function() { $.dequeue(self); } , time);
    });
};

function loadSlideShow(groupID) {
	$('a.slideshow-' + groupID).colorbox({
		slideshow: true,
		transition: 'elastic'
	});
}

function loadBanners() {
	bannerCount = $('#banners .banner').length;
	bannerIdx = 0;

	if (bannerCount > 1) {
		showBanner(+1);
	} else {
		$('#banners div.banner:eq(0)').fadeIn(300);
	}
}

function showBanner(increase) {
	$('#banners div.banner:eq(' + bannerIdx + ')').fadeOut(300);

	bannerIdx = (bannerIdx + increase + bannerCount) % bannerCount;

	$('#banners div.banner:eq(' + bannerIdx + ')').fadeIn(300, function() {
		timerCount++;
  		$.timer(10000, function() {
  			if(timerCount == 1) {
				showBanner(+1);
			}
			timerCount--;
		});
	});
}

function SearchSwitcher(type) {
	quickSearch.hideAll();

	switch (type) {
		case 0:
			quickSearch.showItem('dep_dest_container');
			quickSearch.showItem('arr_dest_container');
			quickSearch.showItem('dep_flight_dates');
			quickSearch.showItem('ret_flight_dates');
			quickSearch.ServiceCategoryID = 0;  
			quickSearch.setUrls('Flights|Hotels|Passengers|Services|Payment|Receipt');
			quickSearch.searchType = 'Departures';
			break;                                                                    
		case 1:
			quickSearch.showItem('dep_dest_container');
			quickSearch.showItem('arr_dest_container');
			quickSearch.showItem('dep_flight_dates');
			quickSearch.showItem('ret_flight_dates');
			quickSearch.ServiceCategoryID = 0;     
			quickSearch.setUrls('Flights|Passengers|Payment|Receipt');
			quickSearch.searchType = 'Departures';
			break;
		case 2:
		    quickSearch.showItem('pkg_cats');
		    quickSearch.showItem('pkg_items');
		    quickSearch.ServiceCategoryID = 0;
			quickSearch.searchType = 'Packages';
			quickSearch.setUrls('Package|Passengers|Payment|Receipt');
	}
}