var timer;
var timerRunning;
timerRunning = false;

jQuery.fn.center = function () {
	if (jQuery(this).attr('id') == 'sizechart_content') {
		var top = ( jQuery(window).height() - jQuery(this).children().eq(0).children().eq(0).height() ) / 2 + jQuery(window).scrollTop() + "px";
		var left = ( jQuery(window).width() - jQuery(this).children().eq(0).children().eq(0).width() ) / 2 + jQuery(window).scrollLeft() + "px";
	}
	else if (jQuery(this).attr('id') == 'enlarge_content') {
		var top = ( jQuery(window).height() - jQuery(this).children().eq(0).height() ) / 2 + jQuery(window).scrollTop() + "px";
		var left = ( jQuery(window).width() - jQuery(this).children().eq(0).width() ) / 2 + jQuery(window).scrollLeft() + "px";
	}
	else {
		var top = ( jQuery(window).height() - jQuery(this).height() ) / 2 + jQuery(window).scrollTop() + "px";
		var left = ( jQuery(window).width() - jQuery(this).width() ) / 2 + jQuery(window).scrollLeft() + "px";
	}

	this.css("position","absolute");
	this.css("top", top);
	this.css("left", left);
	return this;
}

function rebindZoomImages() {
	if (window.innerWidth > 535) {
		jQuery(".cloud-zoom-gallery").unbind('click');
		jQuery(".cloud-zoom-gallery").unbind('mouseenter');
		jQuery(".cloud-zoom-gallery").CloudZoom();
	}
}

function toggleNav(item) {
  jQuery('#navli' + item + ' .dropdown').show();
  timerRunning = false;
}

function startNavTime(item) {
  timer = setTimeout('toggleNav(' + item + ')', 400);
  timerRunning = true;

}

function killNavTimer() {
  if (timerRunning) {
    clearTimeout(timer);
    timerRunning = false;
  }
  jQuery('.dropdown').hide();
}

function togglefnav(item) {
  jQuery('#fnavli' + item + ' .fpopup').show();
  timerRunning = false;
}

function startfnavTime(item) {
  timer = setTimeout('togglefnav(' + item + ')', 400);
  timerRunning = true;
}

function killfnavTimer() {
  if (timerRunning) {
    clearTimeout(timer);
    timerRunning = false;
  }
  jQuery('.fpopup').hide();
}

function unfoldNavCat(cat) {
	if(!jQuery('#msh'+cat).is(':visible')) {
		jQuery('.mobileSubHolder:visible').slideUp();
		jQuery('.mobileSelectSub a').removeClass('expanded');
		jQuery('#msh'+cat).slideDown(function() {
			jQuery('#mshLink'+cat).addClass('expanded');
			fitNav();
		});
	} else {
		jQuery('#msh'+cat).slideUp(function() {
			jQuery('#mshLink'+cat).removeClass('expanded');
			fitNav();
		});
	}
	if(jQuery('.mobileSubHolder').attr('id') != 'msh'+cat) {
		$(this).slideUp();
	}
	
}

function fitNav() {
	var nav = jQuery('#mobileSelect').height();
	jQuery('#content').css({'top': nav + 89});
}

function closeCart(){
	jQuery('#div-cart').css('visibility', 'hidden');
}




	jQuery(document).ready(function() {	
		jQuery('#show-cart-holder').hover(
			function() { jQuery(this).addClass('active');
						jQuery('#div-cart').addClass('active'); },
			function() { jQuery(this).removeClass('active');
						jQuery('#div-cart').removeClass('active');	});
		
   
		jQuery('li.dropnav').hover(
			function() { jQuery(this).addClass('showNav'); },
			function() { jQuery(this).removeClass('showNav'); });

		jQuery('#footernav li').hover(
			function() { jQuery(this).addClass('showFooterNav'); },
			function() { jQuery(this).removeClass('showFooterNav'); });

	jQuery('#navli1').hover(function() { killNavTimer(); startNavTime(1); }, function() { killNavTimer(); });
	jQuery('#navli2').hover(function() { killNavTimer(); startNavTime(2); }, function() { killNavTimer(); });
	jQuery('#navli3').hover(function() { killNavTimer(); startNavTime(3); }, function() { killNavTimer(); });
	jQuery('#navli4').hover(function() { killNavTimer(); startNavTime(4); }, function() { killNavTimer(); });
	jQuery('#navli5').hover(function() { killNavTimer(); startNavTime(5); }, function() { killNavTimer(); });
	jQuery('#navli6').hover(function() { killNavTimer(); startNavTime(6); }, function() { killNavTimer(); });
	jQuery('#navli7').hover(function() { killNavTimer(); startNavTime(7); }, function() { killNavTimer(); });

	jQuery('#fnavli1').hover(function() { killfnavTimer(); startfnavTime(1); }, function() { killfnavTimer(); });
	jQuery('#fnavli2').hover(function() { killfnavTimer(); startfnavTime(2); }, function() { killfnavTimer(); });
	jQuery('#fnavli3').hover(function() { killfnavTimer(); startfnavTime(3); }, function() { killfnavTimer(); });
	jQuery('#fnavli4').hover(function() { killfnavTimer(); startfnavTime(4); }, function() { killfnavTimer(); });
	jQuery('#fnavli5').hover(function() { killfnavTimer(); startfnavTime(5); }, function() { killfnavTimer(); });
	jQuery('#fnavli6').hover(function() { killfnavTimer(); startfnavTime(6); }, function() { killfnavTimer(); });
	jQuery('#fnavli7').hover(function() { killfnavTimer(); startfnavTime(7); }, function() { killfnavTimer(); });
	
		// Checking to see that the product page elements are rendered.
		var productPage = jQuery('.product-thumbs-sidebar').length && jQuery('.product-image-holder').length && jQuery('.product-options').length;
	 
		// If they are we proceed.
		if (productPage)
		{
	 
				// Get the height of all three elements.
				var thumbsHeight = jQuery('.product-thumbs-sidebar').height();
				var imageHeight = jQuery('.product-image-holder').height() + 75;
				var optionsHeight = jQuery('.product-options').height() + 140;
			 
				// Determine what the largest value of all three heights is.
				var maxHeight = Math.max(thumbsHeight, imageHeight, optionsHeight);
			 
				// We don't want to extend the thumbs div so we just set the height of the other two divs.
				jQuery('.product-image-holder').height(maxHeight - 75);
				jQuery('.product-options').height((maxHeight - 140));
				if (window.innerWidth <= 535){
					jQuery(".product-info").css('margin-bottom', ((maxHeight-140) + 20));
				}
		}

		if (window.innerWidth <= 535){
			var funnel = jQuery('.search-results-left-col').height();
			jQuery('.search-results-right-col').css({'top': funnel, 'margin-bottom': (funnel - 40) });
		
			function fitFunnel() {
				var funnel = jQuery('.search-results-left-col').height();
				jQuery('.search-results-right-col').css({'top': funnel, 'margin-bottom': (funnel - 40) });
			}
			
			if(jQuery.trim(jQuery('#funnel-selected li:first div:first').text()) != ""){
				jQuery('#funnel-collapser').show();
				fitFunnel();
			}
		
			if(jQuery('#funnel-collapser').is(':visible')) {
					jQuery('#funnel-inner').addClass('collapser-open');
				} else {
					jQuery('#funnel-inner').addClass('collapser-closed');
			}
		
			jQuery('#funnel-collapse-link').click(function() {
				if(jQuery('#funnel-collapser').is(':visible')) {
						jQuery('#funnel-inner').addClass('collapser-closed');
						jQuery('#funnel-inner').removeClass('collapser-open');
				} else {
						jQuery('#funnel-inner').addClass('collapser-open');
						jQuery('#funnel-inner').removeClass('collapser-closed');
				}
				jQuery('#funnel-collapser').slideToggle('fast', function() { fitFunnel();});
			});
		
			jQuery('#funnel .tool').click(function() {
				toggleFunnelOptions(jQuery(this).attr('id'));
			});
			
			function toggleFunnelOptions(opt) {
				switch(opt) {
					case 'dim_ProductGender':
						var slider = '#GenderDiv';
					break;
					case 'dim_Category':
						var slider = '#CategoryWidget';
					break;
					case 'dim_Brand':
						var slider = '#BrandDiv';
					break;
					case 'dim_top_brand':
						var slider = '#TopBrandDiv';
					break;
					case 'dim_funnelPrice':
						var slider = '#PriceDiv';
					break;
					case 'dim_SimpleSize':
						var slider = '#SizeDiv';
					break;
					case 'dim_SimpleColor':
						var slider = '#ColorDiv';
					break;
					case 'dim_WeightRange':
						var slider = '#WeightDiv';
					break;
				} 
				jQuery(slider).slideToggle('fast', function() { 
					fitFunnel();
					if(jQuery(slider).is(':visible')) {
						jQuery('#'+opt).addClass('tool-expand');
					} else {
						jQuery('#'+opt).removeClass('tool-expand');
					}		
				});
			}
		
			if(jQuery('#ShipBillPayForm').length || jQuery('img[alt="Review and Complete Order"]').length) {
				jQuery('#content').css('top',37);
				jQuery('#top').css('height', 50);
				jQuery('#nav').hide();
			}
			jQuery('#mobileSelectTop').click(function() {
				if(jQuery('.mobileMenuHolder').is(':visible')) {
					jQuery('.mobileMenuHolder').slideUp('fast', function() {
						jQuery('#mobileSelectTop').removeClass('expanded');
						jQuery('.mobileSelectSub a.expanded').removeClass('expanded');
						jQuery('.mobileSubHolder').hide();
						fitNav();
					});
				} else {
					jQuery('.mobileMenuHolder').slideDown('fast', function() {
						jQuery('#mobileSelectTop').addClass('expanded');
						fitNav();
					});
				}		
				
			});
		
		
			jQuery('table#account-info select').css('width', '250px');
			jQuery('table#account-info textarea').css('width', '90%');
			if(jQuery('#white-page-view .checkout-page .fleft .block em').text() == "If you're bored or have time to waste you could"){ jQuery('#white-page-view .checkout-page .fleft .block').parent('.fleft').hide(); }
			
		
			var cartLink = jQuery('#div-cart .btn-view-edit-cart').attr('href');
			jQuery('.show-cart-mobile .my-cart').attr('href', cartLink);
			jQuery('#div-cart').append('<a id="appendedCartCloser" href="javascript:closeCart();">X</a>');
		
		}
	
});
