(function($){
	$.fn.tabs = function(options) {  
		var defaults = {
			persistent: false,
			cookieTitle: "tabCookie",
			iframeID: null,
			startPosition: 0
		};
		
		var options = $.extend(defaults, options);  
		
		cookieTab = function(id, cookieTitle) {
			/*console.log(cookieTitle);*/
			$.cookie(cookieTitle, id)
		}
		
		tabLoad = function(tab) {
			var currentTab = tab.parent().parent().find('.selected');
			$(currentTab.attr('href')).hide();
			currentTab.removeClass('selected');
			
			$(tab.attr('href')).show();
			tab.addClass('selected');
		}
		
		tabIframe = function(tab, iframeId) {
			var currentTab = tab.parent().parent().find('.selected'); 
			var urlParam = location.search;
			currentTab.removeClass('selected');
			//console.log(urlParam);
			if(urlParam) {
				$(iframeId).attr('src', tab.attr('href')+urlParam);
			} else {
				$(iframeId).attr('src', tab.attr('href'));
			}
			tab.addClass('selected');
		}
		
		clickTracking = function(tabID, tabLinks, tabArea) {
			var linksArray = $('#int-airfare-ctn .airfare-content-ctn a');
			if(tabID.indexOf('deal') != null){
				linksArray = $('#deals-'+tabLinks+' a');
			}
			
			$(linksArray).each(function(){
				$(this).click(function(){
         try{ 
					/*Google Event Tracking Start*/
					pageTracker._trackPageview('/on-page-event/home-page/airfare/'+tabLinks+'-product-clicked');
					/*Google Event Tracking End*/
         }catch(err){
        
         }
				})
			});
		}
				
		return this.each(function() {  
			var tabs = $(this);
			var startPosition = options.startPosition;
			var persistent = options.persistent;
			var iframeID = options.iframeID;
			var cookieTitle = options.cookieTitle;
			
			// Verify position of default tab
			startPosition = (typeof startPosition == 'undefined') ? 0 : parseInt(startPosition, 10);
			
			// Onload Hide all content except selected I have turned this off because its unreliable when loading the page		
			tabs.find('a').each(function() {
				if(!$(this).hasClass('selected')) {			
					/*console.log(this);
					$($(this).attr('href')).hide();*/
				}
			});
			
			if(persistent == true) {
				if($.cookie(cookieTitle)) {		
					tabs.find('a#'+$.cookie(cookieTitle)).addClass('selected');
				} else {
					// Add class to define currently selected tab
					tabs.find('a:eq('+ startPosition +')').addClass('selected');
				}
			} else {
				// Add class to define currently selected tab
				tabs.find('a:eq('+ startPosition +')').addClass('selected');
			}		
				
			// Attach tab load functionality
			tabs.find('a').bind('click', function(e) {
				var tabID = tabs.attr('id');																		
				var tabarea = tabID.replace("-tabs", "");			
				//console.log('/on-page-event/home-page/'+tabarea+'/'+$(this).attr("title"));
        try{ 
				/*Google Event Tracking Start*/
				pageTracker._trackPageview('/on-page-event/home-page/'+tabarea+'/'+$(this).attr("title"));
				/*Google Event Tracking End*/
				}catch(err){
        
        }
				clickTracking(tabID, $(this).attr('title'), tabarea);
				
				// Only go to load tab content if href is a hash
				if($(this).attr('href').indexOf('#') === 0) {
					tabLoad($(this));
					if(persistent) {
						cookieTab($(this).attr("id"), cookieTitle);
					}
				} else if(iframeID) {
					tabIframe($(this), iframeID);
				}
				
				return false;
			});		
			
		}); 	
	};
})(jQuery);