﻿/*********************************************
Copyright 2009 Solid Cactus/Web.com inc.
Last Updated: 8/7/2009
Customized: N
packer: http://dean.edwards.name/packer/
*********************************************/
// Start Features List JS/Plugins
// Start PNG Fix
jQuery.fn.supersleight=function(settings){settings=jQuery.extend({imgs:true,backgrounds:true,shim:'x.gif',apply_positioning:true},settings);return this.each(function(){if(jQuery.browser.msie&&parseInt(jQuery.browser.version,10)<7&&parseInt(jQuery.browser.version,10)>4){jQuery(this).find('*').andSelf().each(function(i,obj){var self=jQuery(obj);if(settings.backgrounds&&self.css('background-image').match(/\.png/i)!==null){var bg=self.css('background-image');var src=bg.substring(5,bg.length-2);var mode=(self.css('background-repeat')=='no-repeat'?'crop':'scale');var styles={'filter':"progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+src+"', sizingMethod='"+mode+"')",'background-image':'url('+settings.shim+')'};self.css(styles)};if(settings.imgs&&self.is('img[src$=png]')){var styles={'width':self.width()+'px','height':self.height()+'px','filter':"progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+self.attr('src')+"', sizingMethod='scale')"};self.css(styles).attr('src',settings.shim)};if(settings.apply_positioning&&self.is('a, input')&&(self.css('position')===''||self.css('position')=='static')){self.css('position','relative')}})}})};
// End PNG Fix

// Start Simple Text Popup
(function($){
	$.fn.scSimpleText = function(options){
		var defaults = {
			popCloseTxt : ''
		};
		var settings = $.extend({},defaults,options);
		return this.each(function(){  
			var nextElm = $(this).next();
			var closeElement = $(document.createElement("a")).attr("href","").text(settings.popCloseTxt).addClass("scSimpleTextClose").click(function(e){nextElm.fadeOut("slow"); e.preventDefault();});
			$(this).click(function(e){	
				nextElm.fadeIn("slow");
				nextElm.append(closeElement);
				e.preventDefault();
			});
		});
	}
})(jQuery);
// End Simple Text Popup

// Start Sequence Banner JS
(function($){
	$.fn.scSequenceBanner = function(options){
		var defaults = {
			slideOnClass : "scSBon",
			slidePausePos : "center",
			slideWidth : 500,
			showNumbers : true,
			slideAuto : true,
			slideTimer : 5,
			showNumbersX : 100,
			showNumbersY : 100
		};
		var settings = $.extend({},defaults,options);
		return this.each(function(){
			var mainObj = $(this);
			var subMainObj = mainObj.children("div");
			var slideObjs = mainObj.children("div").children("div");
			var slideNumber = subMainObj.children("div").length;
			var currNum = 0, pauseBtn; 
			
			// set main containers width
			subMainObj.css('width',(settings.slideWidth)+"px");
			
			// if slideAuto is True start interval
			function startInterval(){
				var slideTime = settings.slideTimer*1000;
				scSBInterval = setInterval(processAuto,slideTime);
			}
			
			// scrolling function
			function processBtn(_btnnum){
				var numberBtns = numberContainer.children("a");
				numberBtns.removeClass(settings.slideOnClass);
				numberBtns.eq(_btnnum).addClass(settings.slideOnClass);
				currNum=_btnnum; 
			}
			
			// auto scroll process
			function processAuto(){
				(currNum==(slideNumber-1)) ? currNum = 0 : currNum += 1;
				(settings.showNumbers) ? processBtn(currNum) : ''; 
				processTransition(currNum); 
			}
	
			// transition function
			function processTransition(_btnnum){
				subMainObj.children().eq(_btnnum).animate({opacity:1},300).css('z-index',1);
				subMainObj.children().not(slideObjs.eq(_btnnum)).animate({opacity:0},300).css('z-index',0);				
			}
			
			// show number buttons
			function showNumbers(){
				numberContainer = $(document.createElement("div")).addClass("scSequenceButtons").css("top",settings.showNumbersY).css("right",settings.showNumbersX);
				slideObjs.each(function(i){
					numberContainer.append($(document.createElement("a")).click(function(e){processBtn(i); processTransition(i); (settings.slideAuto) ? clearInterval(scSBInterval) : ''; e.preventDefault();}).addClass("scSButton").text(i+1));
				});
				mainObj.append(numberContainer);
				numberContainer.children("a").eq(0).addClass(settings.slideOnClass);
			}
			
			// pause button functionality
			function showPause(){
				pauseBtn.animate({bottom:0},400);
			}
			function hidePause(){
				pauseBtn.animate({bottom:-pauseBtn.height()},400);
			}
			$.fn.opacity = function(_value) {
				return $(this).css('opacity',_value);
			};
			// feature initialization
			$.fn.initialize = function(){
				slideObjs.each(function(){
					slide = $(this);
					slide.width(settings.slideWidth).height(mainObj.height());
					slide.not(slideObjs.eq(0)).opacity(0).css('z-index',0);
					slideObjs.eq(0).opacity(1).css('z-index',1)
				});
				(settings.showNumbers) ? showNumbers() : '';
				if(settings.slideAuto){
					mainObj.hover(function(){clearInterval(scSBInterval); showPause();},function(){startInterval(); hidePause();});
					startInterval();
					pauseBtn = $(document.createElement("div")).addClass("scSequencePause");
					mainObj.append(pauseBtn);
					switch(settings.slidePausePos){
						case "right":
						pauseBtn.css({bottom:-pauseBtn.height(),left:(mainObj.width()-pauseBtn.width())});
						break;
						case "left":
						pauseBtn.css({bottom:-pauseBtn.height(),left:0});
						break;
						case "center":
						pauseBtn.css({bottom:-pauseBtn.height(),left:(mainObj.width()/2-pauseBtn.width()/2)});
						break;
					}
				}
			}
		});
	}
})(jQuery);
// End Sequence Banner JS

//Start Tabbed Info JS
jQuery(document).ready(function(){
  var $thistab = -1;
  var firsttab = 0;
  $(function () {
		function addToTabs(el, i) {
			var title = (el.title) ? el.title : el.id;
			el.id = 'tab' + i;
			// check to see if certain tabs are empty, if they are do not make numbers for them.
			if($.trim($("#"+el.id).text()).length > 0){
				if(firsttab == 0){
					$('#tabs-nav').append('<li class="active"><a href="#' + el.id + '">' + title + '</a></li>');
					$('#tabbedinfo').show();
					firsttab++;
				} else {
					$('#tabs-nav').append('<li><a href="#' + el.id + '">' + title + '</a></li>');
				}
			}
		}
		$('#tabs-nav-container').
			append('<ul id="tabs-nav" class="middlelist"></ul>');
		// set up tabs
		$('.tabs').each(function (i) {
			var url = document.location.toString();
				if($.trim($(this).text()).length > 0 && $thistab == -1){
					$thistab = i;
				}
				addToTabs(this, i);
				if ((i === $thistab)) {
				$('.tabs:not(#' + this.id + ')').hide();
			}
		});
		// process tab click
		$('#tabs-nav a').click(function (myevent) {
			var id = '#' + this.href.split('#')[1];
			$('.tabs').hide();
			$(id).fadeIn('fast');
			$('li').removeClass("active");
			//alert(this.tagName);
			$(this).parent().addClass("active");
			myevent.preventDefault();
			myevent.stopPropagation();
			return false;
		});
	});
  // Removes the title attribute from the div so it does not showup on hover -
	$('.tabs').removeAttr('title');
});
//End Tabbed Info JS

/**********************************************************************************************************/
/****************************** Place all add on JS above here, please minify *****************************/
/**********************************************************************************************************/

/************************************* Document on Load jQuery Functions **********************************/

jQuery(document).ready(function() {
		// add a class to the last li in the header and footerlinks.
		$("ul#secondary-links li:last").addClass("last");$("ul#primary-links li:last").addClass("last");$("ul#primary-links").removeAttr("id");$("ul#secondary-links").removeAttr("id");
		// Hide Empty containers and headers (previous element)
		$(".checkempty").each(function(i){var $thisele = $(this);if($.trim($thisele.text()).length < 1){$thisele.prev().hide();}});
		// Hide empty product info table rows
		$("#product-info-table td").each(function(i){var $thisele = $(this);if($.trim($thisele.text()).length < 1){$thisele.parent().hide();}});
		//auto-png fix:
		$('body').supersleight();
		// write seperators for contents.
		var numconts = 3; // change this with number of columns
		$(".results-grid").find('.result').each(function(c){var thisresult = $(this);if((c + 1)%numconts!=0){thisresult.addClass("vertsep");} else {thisresult.parent().after("<div class='horzsep'><div></div><div></div><div></div></div>");}});
		$("#homefeatured").find('.product').each(function(c){var thisresult = $(this);if((c + 1)%numconts!=0){thisresult.addClass("vertsep");} else {thisresult.parent().after("<div class='horzsep'></div>");}});
		$("div.horzsep:last").addClass("last");
		// remove styles from image on item page.
		$("#product_image").removeAttr("style");
		// simple text popup
		$("#simpleTextLink").scSimpleText({popClose:".simpleTextRight"});
		// If product description is empty, add default text
		if ($(".itemcontain").length != 0){
		    if ($("div.description").html().length == 0){
               $("div.description").html("Product Description is currently unavailable");
            }
        }
		
		if($('.scSequenceBanner').length != 0) {
			var scSB = $('.scSequenceBanner').scSequenceBanner({slideWidth:744,showNumbersX:9,showNumbersY:290,
					showNumbers:true
					,slideTimer:5
					,slideAuto:true
			}); 
			scSB.initialize();
		}
});
