(function($) {

	if(typeof($isJsUnit)!="undefined") {
		if($isJsUnit == "true" && (parent.document.location + "").indexOf("testContainer") > 0) return;
	}
	
	$.fn.leftnav = function(options) 
	{
		var opts = $.extend({}, $.fn.leftnav.defaults, options);
		
		return this.each(function() 
		{
			var $menu = $(this);
			var $container = $('div.container');

			$menu.wrap('<div id="left-nav-dom"><div class="wrapper"></div></div>');
		
			var $nav = $('div#left-nav-dom');

			$menu.find('> form:first').remove().clone().prependTo($nav);
			$menu.find('> a:first').remove().clone().addClass('logo').prependTo($nav);

			//start modified by endeca
			$nav.find('form#search-form').submit(function(event)
			{
				event.preventDefault();
				$nav.trigger('leftnav:search',[this.action+"?N="+$.trim($(this).find('#Nval').val())+"&Ntx="+encodeURIComponent($.trim($(this).find('#search-mode').val()))+"&Ntk="+$.trim($(this).find('#search-prop').val())+"&Ntt="+encodeURIComponent($.trim($(this).find('#search-query').val()))+"&RecordType=Product"]);
				document.documentElement.scrollTop = 0;
				return false;
			});
			//end modified by endeca

			$nav.find('input#search-query').keyup(function()
			{
				$nav.trigger('leftnav:predictive');
			});

			$('input.prefill').prefill();
		
			$nav.find('form#search-form,a.logo').add($container.find('> div').not('#left-nav-dom')).mouseover(function()
			{
				$nav.find('ul.trail > li:last > a:first').trigger('mouseover');
			});

			$container.before('<div class="shutter"><span class="close"></span></div>');
			$('body').append('<span class="shutter-buffer"></span>');
		
			$('.shutter span.close,.shutter-buffer').click(function()
			{
				$nav.trigger('leftnav:toggle');
			});

			$('.shutter span.close').hover(
				function() {$(this).css({backgroundColor:'#f9f9f9'});},
				function() {$(this).css({backgroundColor:''});}
			);
		
			if($.browser.msie && ($.browser.version < 7))
			{
				$('.shutter').addClass('shutter-ie6');
				$('.shutter-buffer').addClass('shutter-buffer-ie6');
			}
			else
			{
				$('.shutter').addClass('shutter-all');
				$('.shutter-buffer').addClass('shutter-buffer-all');
			}

			var $trail = $('<ul class="trail"></ul>');

			

			$menu.css({display:'block'});
			
			$nav.bind('leftnav:toggle',function()
			{
				var flashwidth = $(window).width() - 15; 
				var footerLeftOpen = (flashwidth - $('.flagship-footer').width() + 217)/2;
				var footerLeftClose= (flashwidth - $('.flagship-footer').width())/2;
				if($nav.css("left") == "0px")
				{
					if (opts.isFlagship)
					{
						$('.flagship-footer').animate({left:footerLeftClose+'px'},200,'linear');
						$('.flagship-product-links').animate({left:10},200,'linear');
					}
					$nav.add('div.shutter').stop().animate({left:-205},opts.toggleTiming,opts.toggleEasing,function() //when close//
					{
						$('div.shutter span.close').css({backgroundPosition:"-11px center"});
						$('.shutter-buffer').css({width:20});
					});
				}
				else
				{
					if( opts.isFlagship)
					{
						$('.flagship-footer').animate({left:footerLeftOpen+'px'},200,'easeOutQuad');
						$('.flagship-product-links').animate({left:160},280,'easeOutQuad');
					}
					$nav.add('div.shutter').stop().animate({left:0},opts.toggleTiming,opts.toggleEasing,function()
					{
						$('div.shutter span.close').css({backgroundPosition:"0px center"});
						$('.shutter-buffer').css({width:0});
					});
				}
			});

			$nav.bind('leftnav:mouseapproach',function(event,pageX,pageY)
			{
				if(pageX < 40) 
				{
					if($nav.css("left") == "-105px")//afterclose come outer side on mouse over
					{
						$nav.add('div.shutter').stop().animate({left:-95},opts.toggleTiming,opts.toggleEasing);
					}
				} 
				else 
				{
					if($nav.css("left") == "-95px")
					{
						$nav.add('div.shutter').stop().animate({left:-105},opts.toggleTiming,opts.toggleEasing);
					}
				}
			});

			$nav.bind('leftnav:predictive',function()
			{
				if($('form#search-form input#predictive-search-url').length != 0 && $.trim($('input#search-query').val()).length > 2)
				{
					//start modified by endeca
					$.ajax({url:$('form#search-form input#predictive-search-url').val()+'?N=0&Ntx='+encodeURIComponent($.trim($('input#search-mode').val()))+'&Ntk=All&Ntt='+encodeURIComponent($.trim($('input#search-query').val())),type:'GET',success:function(response)
					{
					//end modified by endeca

						$('div#left-nav-dom div.search').remove();
						
						var $html = $('<span></span>').append(response);
						
						if($html.find('div.search h4').length != 0)
						{
							$('div#left-nav-dom').append($html.find('div.search'));

							if($.browser.msie && $.browser.version < 7)
							{
								$('div#left-nav-dom div.search img[src$=.png]').addClass('pngfix');
								$('div#left-nav-dom select').css({visibility:'hidden'});
							}

							$('<span class="predictive-close"></span>').appendTo('div#left-nav-dom').click(function()
							{
								$('div#left-nav-dom div.search,div#left-nav-dom span.predictive-close').remove();

								if($('div.homepage-content,div.category-content').length > 0)
								{
									$('html,body').css({overflow:'hidden'});
								}

								if($.browser.msie && $.browser.version < 7)
								{
									$('div#left-nav-dom select').css({visibility:'visible'});
								}
							});
							
							if($('div.homepage-content,div.category-content').length > 0)
							{
								$('html,body').css({overflow:''});
							}
						}
					}});
				}	
			});

			$nav.bind('leftnav:search',function(event,url)
			{
				$.ajax({url:url,type:'GET',success:function(response)
				{
					scripts = response.split(/\/script>/i);
					for(i=0; i < scripts.length ;i++)
					{
						scripts[i] = scripts[i].replace(/\<script.+/i,'');
					}
					response = scripts.join('');
					
					var $html = $('<span></span>').append(response);

					if($html.find('div.search-results-container').length > 0)
					{
						$('div.search-results-container').remove();
						$html.find('div.search-results-container').appendTo('body');
						$('div.search-results-container').search();
					}

				},dataType:'text'});
			});
		});
	};

	$.fn.leftnav.defaults = 
	{
		toggleTiming: 500,
		toggleEasing: "easeOutQuint",
		slideTiming: 500,
		slideEasing: "easeInSine",
		isFlagship: false
	};

	

	$.fn.footer = function(options) 
	{
		var opts = $.extend({}, $.fn.footer.defaults, options);
		
		return this.each(function() 
		{	
			var $footer = $(this);
			var _footer = this;
			
			
			/* 20090924 leadweb add - remember country */

			var _width = 0;
			var _swidth = 0;

			
			
			$footer.bind("footer:resize",function()
			{
				if($footer.data('isheropage'))
				{
					var _left = 236;
					var _window = $(window).width();
					var _margin = _window-opts.footerWidth-opts.leftMargin;
					
					($footer.data('hasrightrail')) ? _margin -= opts.rightMargin : null;
					((_margin/2) > 0) ? _left += (_margin/2) : null;

					$footer.css({left:_left});
					_left = (_window > 1024)? (_left + 35): (_left + 10);
					$('.hero-layout-default').css({marginLeft: _left + 'px'});
				}

				$('.hero-flash iframe').css({width:$(window).width(),height:$(window).height()});

			}).trigger("footer:resize");

			
		});
	};

	$.fn.footer.defaults = 
	{
		footerWidth: 713,
		leftMargin: 236,
		rightMargin: 120,
		lowbandWidth : 580
	};

})(jQuery);

var lge = {};

lge.LeftNav =
{
	//start modified by endeca
	SeeAllpSearch: function(pageUrl)
	{
		$('div#left-nav-dom').trigger('leftnav:search',pageUrl);
	},

	SeeAllencodeSearch: function(pageUrl, searchTerms)
	{
		var moveUrl = pageUrl + encodeURIComponent($.trim(searchTerms));
		$('div#left-nav-dom').trigger('leftnav:search',moveUrl);
	}	
	//end modified by endeca
};

(function($) {
	
	$.fn.prefill = function()
	{
		return this.each(function()
		{
			var $input = $(this);
			$input.attr('prefillvalue',$input.defaultVal());
			$input.focus(function() {($(this).val() == $(this).attr('prefillvalue')) ? $(this).val('') : null;});
			$input.blur(function() {($(this).val() == '') ? $(this).val($(this).attr('prefillvalue')) : null;}).blur();
		});
	};

	$.fn.accordian = function()
	{
		return this.each(function() 
		{
			var $container = $(this);
			
			$container.find('dl dt:odd,dl dd:odd').addClass('stripe');
			$container.find('p.align-right:first').addClass('toggle-all').find('span').removeClass('preview');
			$container.find('> dl,> div').addClass('accordian-item');
			
			$container.find('> div').each(function()
			{
				($(this).parents('.support-content').length == 0) ? $(this).css({width:710,position:'relative',left:-10,overflow:'hidden'}) : $(this).css({overflow:'hidden'});
			});
			
			$container.find('> div > h5').each(function()
			{
				var $title = $(this);
				var $img = $title.find('img');

				if($img.length > 0)
				{
					$title.css({background:'url('+$img.attr('src')+') no-repeat',paddingLeft:$img.width(),height:$img.height(),lineHeight:$img.height()+"px"});
					$title.find('img').remove();
				}
			});

			$container.find('> div > p').each(function()
			{
				/*//20091130 pjm modify */
				($(this).parents('.support-content').length == 0) ? $(this).css({width:650}) : null; 
			});

			$container.find('> div > div.row').each(function()
			{	
				var $left = $(this).find('div.left');
				var $right = $(this).find('div.right');

				if($left.find('img').length > 0)
				{
					$left.css({width:$left.find('').width(),marginRight:40});
					$right.css({width:640-$left.width()});
				}

				if($right.find('img').length > 0)
				{
					$right.css({width:$right.find('').width()});
					$left.css({width:620-$right.width(),marginRight:60});
				}

				$left.find('> p:last').css({marginBottom:0});
				$right.find('> p:last').css({marginBottom:0});
			});

			$container.find('> div > div.row:last').css({marginBottom:0});

			$container.find('.accordian-item').each(function()
			{
				var $section = $(this);
				var _totalHeight = 0;
				
				if($section.is('div')) 
				{	
					$section.find('> *:first').not('h5').css({paddingTop:'15px'});
					_totalHeight = $section.height();
					$section.css({height:0});
				}
				
				if($section.is('dl'))
				{
					$section.find('dt').each(function()
					{
						var $row = $(this);
						var _height = Math.max($row.height(),$row.next('dd').height());

						$row.add($row.next('dd')).css({height:_height});
						
						_totalHeight += _height;
					});
				}
				$section.prev('h4').data('accordianheight',_totalHeight);
			});

			

			$container.find('p.toggle-all > span').each(function()
			{
				var $toggle = $(this);

				$toggle.data('accordianclosetext','Close all Specs');
				
				if($toggle.find('span').length > 0)
				{
					$toggle.data('accordianclosetext',$toggle.find('span').text()).find('span').remove();
				}

				$toggle.data('accordianopentext',$toggle.text());

				$toggle.hover(function() {$toggle.addClass('hover');},function() {$toggle.removeClass('hover');});

				$toggle.toggle(
					function()
					{
						$container.find('h4').each(function()
						{
							if($(this).next('.accordian-item').height() == 0) {$(this).click();}
						});
						$toggle.text($toggle.data('accordianclosetext')).addClass('close');
					},
					function()
					{
						$container.find('h4').each(function()
						{
							if($(this).next('.accordian-item').height() != 0) {$(this).click();}
						});
						$toggle.text($toggle.data('accordianopentext')).removeClass('close');
					}
				);
			});

			$container.find('.flash').embed();

			if($container.find('p.toggle-all > span').attr('expandall') == 'true')
			{
				$container.find('p.toggle-all > span').click();
			}
			else
			{
				$container.find('h4:first').addClass('open').next('.accordian-item').css({height:$container.find('h4:first').data('accordianheight')});
			}
		});
	};



})(jQuery);