// Copied from detail.js //
function setZIndex(newTab) {
	var startIndex = 13;
	
	$("#tabLinks a").each(function(i){
		$(this).css({ zIndex: startIndex - i });
	});
	newTab.css({ zIndex: startIndex + 1 });
	
}

// Copied from detail.js //
function initSupportTabs() {
	//$("#needHelpSidebar").after('<div class="ie-pusher" style="width:10px; height:1px; clear:both;"> <!--  --> </div>');
	var minimumHeight = 300;
	var newHeight = 300;
	var $curTab = $('#tabsWrapper > div.selected');

		$('#tabsWrapper > div').each(function(i){

			$(this).css({ display: 'none' });

			if( $(this).hasClass('selected') ) {
				$curTab = $(this);
				$('#tabLinks a:eq('+i+')').addClass('selected').css({ zIndex: 15 });
			}

		});

		//var $curTab = $('#tabsWrapper > div.selected');
		if(window.location.href.match('tab=general')) {
			$curTab = $('#generalTab');
			$('#tabLinks a#generalLink').addClass('selected').css({ zIndex: 15 });
		}
		else {
			$curTab = $('#productTab');
			$('#tabLinks a#productLink').addClass('selected').css({ zIndex: 15 });
		}

		$curTab.css({
			opacity: 0,
			display: 'block',
			top: '0px'
		}).animate({
			opacity: 1
		}, menuSpeed);

		$('#tabLinks a').each(function(i){
			var $trigger = $(this);
			var $newTab = $('#tabsWrapper > div.canFade:eq('+i+')');

			// alert($trigger.attr('id'));
			// alert($newTab.attr('id'));

			$trigger.click(function() {

				$("#tabLinks a").removeClass('selected');
				$trigger.addClass('selected');				//Set selected class on new link

				setZIndex($trigger);

				$curTab.animate({
					opacity: 0
				}, menuSpeed, function(){
					$curTab.css({ display: 'none' });
					if($newTab.height() < minimumHeight) {
						newHeight = minimumHeight;
					} else {
						newHeight = $newTab.height();
					}
					if($newTab.height() < 200) {
						$newTab.css('height', '200px');
					}
					$("#tabsWrapper").animate({
						height: newHeight+'px'
					});
					$newTab.css({
						display: 'block',
						opacity: 0,
						//left: '15px',
						top: '0px'
					}).animate({
						opacity: 1
					}, menuSpeed, function(){
						$curTab = $newTab;
					});
				});

				//event.preventDefault();
				return false;
			});

		});

}

function initHelpTabs(){
	$('#helpTabs .tab').hide();
	$('#helpTabs .tab:first').show();
	$('#helpTabs h4:first').addClass('active');
	
	$('#helpTabs h4').click(function() {
		//ensure element is not already open
		if( $(this).is('.active') ) {
		
			var $this = $(this);
			
			$this.next().slideUp('normal', function(){
				$this.removeClass('active');
			});
		
		} else {
		
			$(this).parent().children('.active').removeClass('active');
			
			$(this).addClass('active');
			
			//closes open element and opens clicked element
			$(this).parent().find('.tab:visible:first').slideUp('normal',function() {
				
			});
			$('#helpTabs .active').next().slideDown('normal');
			//$('#manualSearchForm').show();
		}
		return false;
	});	

}

function initCategoryDropdowns() {
	$('.categoryBox').each(function(){
		var $menuBox = this;
		
		var $menuTrigger = $('<div/>').attr({ className:'selectedText' })
							.append(
								$('<span />').attr({ className:'selectedTextInner' }).text('Select a Product Category')
							).css({
								cursor: 'pointer'
							});
		var $menu = $('> ul', $menuBox).attr({className: 'categoryMenu'}).before($menuTrigger);
		
		var hideDelayTimer = null;
		var beingShown = false;
		var shown = false;	
	
		$([$menuTrigger.get(0), $menu.get(0)]).click(function () {
			if (hideDelayTimer) clearTimeout(hideDelayTimer);
			if (beingShown || shown) {
				$menu.slideUp(menuSpeed, function () {
					shown = false;
				});
			} else {
				// reset position of info box
				beingShown = true;
				
				$menu.slideDown(menuSpeed, function () {
					beingShown = false;
					shown = true;
				});
			}
			
		});
		
		$([$menuTrigger.get(0), $menu.get(0)]).mouseover(function () {
			if (hideDelayTimer) clearTimeout(hideDelayTimer);
			return false;
		}).mouseout(function () {
			if (hideDelayTimer) clearTimeout(hideDelayTimer);
			hideDelayTimer = setTimeout(function () {
				hideDelayTimer = null;
				$menu.slideUp(menuSpeed, function () {
					shown = false;
				});
	
			}, hideDelay);
	
			return false;
		});
	
	});	
	
}

function initManualSearchFocus() {
	var $searchBox = $('#manualSearchQuery');
	$searchBox.attr('value', 'Product Search').css('color', '#999');
	var searchValue = $searchBox.attr('value');
	$searchBox.blur(function() {
		searchValue = $searchBox.attr('value');
		searchHasValue(searchValue) == true ? $(this).css('color', '#525D58') : $(this).attr('value', 'Product Search').css('color', '#999');
	});
	$searchBox.focus(function() {
		searchValue = $searchBox.attr('value');
		searchHasValue(searchValue) == false ? $(this).attr('value', '').css('color', '#525D58') : $(this).css('color', '#525D58');
	});
}

function initRemoteSearchFocus() {
	var $searchBox = $('#remoteSearchQuery');
	$searchBox.attr('value', 'Product Search').css('color', '#999');
	var searchValue = $searchBox.attr('value');
	$searchBox.blur(function() {
		searchValue = $searchBox.attr('value');
		searchHasValue(searchValue) == true ? $(this).css('color', '#525D58') : $(this).attr('value', 'Product Search').css('color', '#999');
	});
	$searchBox.focus(function() {
		searchValue = $searchBox.attr('value');
		searchHasValue(searchValue) == false ? $(this).attr('value', '').css('color', '#525D58') : $(this).css('color', '#525D58');
	});
}

function productSearchForm() {
	$("#formSelectProductType").submit(function(event) {
		location.href = $("#formSelectProductTypeSelect option:selected").val();
		return false;
	});
}

$(document).ready(function(){

	initCategoryDropdowns();
	initManualSearchFocus();
	initRemoteSearchFocus();
	initSupportTabs();
	initHelpTabs();
	
	$('div .supportHeadings:first-child').css('marginTop', '0px');
	productSearchForm();
});
