$j(function(){
	
	new $j.Avaya.MenuOverlay({
		$item : '#top-nav .navbar .menu-overlay-item',
		$intent : true,
		$position : { yaxis : 'inner-bottom' },
		
		$initCallback : function(){
			$j(this.s.$item).each(function(){
				var menulink = $j(this).find('.menu-link'),
					padding = (($j(this).height() - menulink.height()) / 2) + 'px';
				
				menulink.css({ 'padding-top' : padding, 'padding-bottom' : padding });
			});
		},
		$openCallback : function(el){ el.addClass('hovered-over'); },
		$closeCallback : function(el){
			el.removeClass('hovered-over');
			$j(document).trigger('PredictiveSearch.hideResults');
		}
	});
	
	
	new $j.Avaya.MenuOverlay({
		$item : '#util-countryselect .menu-overlay-item',
		$actionIn : 'click',
		$follow_link : false,
		$uiblocker : true,
		$position : {
			xaxis : 'inner-right', xoffset : -3,
			yaxis : 'inner-top', yoffset : 16
		},
		
		$openCallback : function(el){ el.addClass('hovered-over'); },
		$closeCallback : function(el){ el.removeClass('hovered-over'); }
	});
	
	
	new $j.Avaya.MenuOverlay({
		$id : 'signin',
		$item : '#util-member .menu-overlay-item.not-signed-in',
		$actionIn : 'click',
		$follow_link : false,
		$uiblocker : true,
		$position : {
			xaxis : 'inner-right', xoffset : -3,
			yaxis : 'inner-top', yoffset : 16
		},
		
		$initCallback : function(){
			var item = $j(this.s.$item);
			if(item.size() > 0){
				this.s.$position.xoffset = -($j('#top-nav').outerWidth() - (item.position().left + item.outerWidth())) - 3;
			}
		},
		$openCallback : function(el){ el.addClass('hovered-over'); },
		$closeCallback : function(el){ el.removeClass('hovered-over'); }
	});
	
	new $j.Avaya.MenuOverlay({
		$item : '#util-member .menu-overlay-item.signed-in',
		$actionIn : 'click',
		$follow_link : false,
		$uiblocker : true,
		$position : {
			xoffset : -3,
			yaxis : 'inner-top', yoffset : 16
		},
		
		$initCallback : function(){
			var item = $j(this.s.$item);
			if(item.size() > 0){
				item.find('.menu-overlay-menu').width($j('#top-nav').outerWidth() - item.position().left);
			}
		},
		$openCallback : function(el){ el.addClass('hovered-over'); },
		$closeCallback : function(el){ el.removeClass('hovered-over'); }
	});
	
	
	$j('#top-nav .button').hover(function(){
		$j(this).addClass('top-nav-button-on');
	}, function(){
		$j(this).removeClass('top-nav-button-on');
	});
	
	
	$j('#util-member input.custom-toggler').customFormToggle();
	
	$j('#util-member input.credentials').focus(function(){
		$j(this).parents('#util-member').find('.sign-in-errors').hide();
	}).not('input.signInPw, input.defaultPwValue').each(function(){
		if($j(this).val() == $j(this).attr('title')) $j(this).addClass('not-focused');
		
		$j(this).val($j(this).attr('title')).focus(
			function(){ $j(this).val('').removeClass('not-focused'); }
		).blur(
			function(){ if($j(this).val() == '') $j(this).val($j(this).attr('title')).addClass('not-focused'); }
		);
	});
	
	$j('#util-member input.defaultPwValue').focus(function(){
		$j(this).hide().parents('#util-member').find('input.signInPw').show().val('').focus();
	});
	
	$j('#util-member input.signInPw').blur(function(){
		if($j(this).val() == ''){
			var defaultval = $j(this).parents('#util-member').find('input.defaultPwValue');
			
			$j(this).hide()
			defaultval.val(defaultval.attr('title')).show();
		}
	});
	
	$j('#util-member .button-container input').click(function(e){
		if(!$j.validate($j(this).parents('#util-member').find('input.signInUser').val(), {format: 'email'}) || !$j.validate($j(this).parents('#util-member').find('input.signInPw').val(), {customPassword: true, minLength: 8})){
			e.preventDefault();
			$j(this).parents('#util-member').find('.sign-in-errors').show()
			return false;
		} else {
		    e.preventDefault();
		    var myAvaya = new MyAvayaHandle ();
		    var changeresult = myAvaya.loginUser($j('input.signInUser').val(), $j('input.signInPw').val(), $j('#rememberMeCheckBox input:checkbox').is(':checked'));
		    if (parseInt(changeresult) != 0)
			{
                s.clearVars();
				s.linkTrackVars = 'events';
				s.linkTrackEvents = 'event33';
                s.events = 'event33';
			    s.tl($j('a.signInLink').get(0), 'o', 'Sign In Success');
				window.location = changeresult;
			}
			else {
			    //$j('.signInErrors').find('span.invalidCreds').remove().end().show().prepend('<span class="row error invalidCreds">Invalid credentials.</span>');
			    $j(this).parents('#util-member').find('.sign-in-errors').show()
			}
		}
	});
	
	
	// main search
	(new $j.Avaya.PredictiveQuery({
		container : '#top-nav td.search-bar',
		data : { source : '/_assets/json/predictiveSearch.js' },
		height_limit : 195,
		
		initCallback : function(){
			var self = this,
				input = $j(this.s.container).find(this.s.input);
			
			if(input.val() == input.attr('title'))
				$j(this.s.container).find(this.s.input).addClass('not-focused');
			
			$j(window).resize(function(){
				var trigger_width = 920,
					window_width = $j(window).width();
				
				if(window_width < trigger_width) $j(self.s.container).find(self.s.list_container).css('left', '-60px');
				else if(window_width > trigger_width) $j(self.s.container).find(self.s.list_container).css('left', '1px');
			}).trigger('resize');
		},
		focusCallback : function(){ $j(this.s.container).find(this.s.input).removeClass('not-focused'); },
		blurCallback : function(){ $j(this.s.container).find(this.s.input).addClass('not-focused'); }
	})).init();
	
	
	// support search
	(new $j.Avaya.PredictiveQuery({
		container : '#top-nav .menu-overlay-item .search-bar',
		filter : true,
		data : { source : '/_assets/json/supportSearch.js' },
		dest_url_base : 'http://support.avaya.com',
		height_limit : 95,
		searchable: false,
		
		initCallback : function(){
			var self = this,
				input = $j(this.s.container).find(this.s.input);
			
			if(input.val() == input.attr('title')) $j(this.s.container).find(this.s.input).addClass('not-focused');
			
			$j(document).bind('PredictiveSearch.hideResults', function(){
				self.hide();
			});
		},
		focusCallback : function(){ $j(this.s.container).find(this.s.input).removeClass('not-focused'); },
		blurCallback : function(){ $j(this.s.container).find(this.s.input).addClass('not-focused'); }
	})).init();
	
});
