var TelstraGlobal = (function(_this, $){

	// Public properties

	// Constructor
	_this.initialise = function(){

		_this.initialise_search();
		_this.initialise_current_navigation();
		_this.initialise_hover_states();

		// IE6 PNG fix
		if(typeof DD_belatedPNG !== 'undefined'){
			/* Breaks layout: #header .nav .has-children a */
			DD_belatedPNG.fix('#header-logo img, #header #header-search .search-keywords, #footer .nav ul li, #footer .nav ul li a');
		}
		return _this;
	};


	// Public methods

	// Expand the search text field when focused
	_this.initialise_search = function(){

		var original_width, nav_original_right, expanded_width, expand_duration = 150, contract_duration = 600, expand_easing = 'easeInCubic', contract_easing = 'easeOutBounce';

		$('#header-search .search-keywords')
			.labelOverlay()
			.focus(function(){
				var $this = $(this);
				if(!$this.is('.expanded')){
					original_width = $this.width();
					nav_original_right = $this.parents('#header').find('#global-nav').css('right');
					expanded_width = original_width + 60;
					$this.addClass('expanded').animate({width: expanded_width}, expand_duration, expand_easing);
					$this.parents('#header').find('#global-nav').animate({right: expanded_width + 47}, expand_duration, expand_easing);
				}
			})
			.blur(function(e){
				var $this = $(this),
				    target = e.originalEvent.explicitOriginalTarget || document.activeElement;

				if(!$(target).parents('#header').length && $this.is('.expanded')){
					$this.removeClass('expanded').animate({width: original_width}, contract_duration, contract_easing);
					$this.parents('#header').find('#global-nav').animate({right: nav_original_right}, contract_duration, contract_easing);
				}
			});

		$('body').bind('click focus', function(e){
			var $this = $('#header-search .search-keywords'),
				target = e.target;

			if(!$(target).parents('#header').length && $this.is('.expanded')){
				$this.removeClass('expanded').animate({width: original_width}, contract_duration, contract_easing);
				$this.parents('#header').find('#global-nav').animate({right: nav_original_right}, contract_duration, contract_easing);
			}
		});

	};

	// Add 'current' classname to specified IDs in the nav
	_this.initialise_current_navigation = function(){
		$('#' + _this.current_primary_nav_id).addClass('current');
	};

	// Add 'hover' classname when nav item is hovered over
	_this.initialise_hover_states = function(){
		$('#telstra-home-nav li, #global-nav li').hover(function(){
			$(this).toggleClass('hover');
		});
	};


	// Legacy popup window function - lightboxes should be used for all new projects
	_this.launch_popup = function(url, width, height){
		return window.open(url, 'popupWin', 'width='+width+',height='+height);
	};

	return _this.initialise();

}(TelstraGlobal || {}, jQuery));


