	/*
	CSS Browser Selector v0.3.4 (Sep 29, 2009)
	Rafael Lima (http://rafael.adm.br)
	http://rafael.adm.br/css_browser_selector
	License: http://creativecommons.org/licenses/by/2.5/
	Contributors: http://rafael.adm.br/css_browser_selector#contributors
	*/
	function css_browser_selector(u){var ua = u.toLowerCase(),is=function(t){return ua.indexOf(t)>-1;},g='gecko',w='webkit',s='safari',o='opera',h=document.getElementsByTagName('html')[0],b=[(!(/opera|webtv/i.test(ua))&&/msie\s(\d)/.test(ua))?('ie ie'+RegExp.$1):is('firefox/2')?g+' ff2':is('firefox/3.5')?g+' ff3 ff3_5':is('firefox/3')?g+' ff3':is('gecko/')?g:is('opera')?o+(/version\/(\d+)/.test(ua)?' '+o+RegExp.$1:(/opera(\s|\/)(\d+)/.test(ua)?' '+o+RegExp.$2:'')):is('konqueror')?'konqueror':is('chrome')?w+' chrome':is('iron')?w+' iron':is('applewebkit/')?w+' '+s+(/version\/(\d+)/.test(ua)?' '+s+RegExp.$1:''):is('mozilla/')?g:'',is('j2me')?'mobile':is('iphone')?'iphone':is('ipod')?'ipod':is('mac')?'mac':is('darwin')?'mac':is('webtv')?'webtv':is('win')?'win':is('freebsd')?'freebsd':(is('x11')||is('linux'))?'linux':'','js']; c = b.join(' '); h.className += ' '+c; return c;}; 


var browser_type;

$(document).ready(function(){
	
	browser_type = css_browser_selector(navigator.userAgent);
	
	$(".cssir").cssir();
	 
	$(".cssiroo").cssir({
	  onOver: true 
	});
	 
	$(".browse").cssir({
	  onOver: true,
	  spanClassName:"browse_span"
	});
	 
	$(".addcart").cssir({
	  onOver: true,
	  spanClassName:"addcart_span"
	});
	 
	$(".overlabel").overlabel();
	 
		
	$("#media-slider-items").hslide({
		previousLinkID: "media-slide-previous-1",
		nextLinkID    : "media-slide-next-1",
		slideOnLoad   : true,
		slideItemWidth: 904,
		slideDelay    : 6000,
		slideSpeed    : 1500
	});	
	
	
	$("#media-slider2-items").hslide({
		previousLinkID: "media-slide-previous-2",
		nextLinkID    : "media-slide-next-2",
		slideOnLoad   : true,
		slideItemWidth: 193,
		slideDelay    : 6000,
		slideSpeed    : 1500
	});
	
	
	$("#navbar ul.submenu").makeacolumnlists({maxRow: 14, colWidth:200});
	
	/*
	if(browser_type.indexOf('ie7') > -1) {
		$("#navbar ul.submenu").each(function () {
			$(this).parents("div.drop-content").width(($(this).width())+50);
		});
	}
	*/

	if(browser_type.indexOf('ie6') > -1) {
		// ie6 only scripts
		//$("ul#navbar div").hide();
    } else {
		//$("#menu li > ul").addClass("submenu").wrap('<div class="drops"></div>').wrap('<div class="drops-content"></div>').after('<br clear="all" />')
		//$("#navbar li > div").addClass('drops').wrap('<div class="drops"></div>').before('<div class="hd"></div>').after('<div class="ft"></div>').wrap('<div class="bd"></div>');
		$("li.depth-2 a").prepend("<span>-</span>");
		
		
		function addOnOverMenu(){
			$(this).addClass("hovering");
		}

		function removeOnOverMenu(){
			$(this).removeClass("hovering");
		}

		var menuOverConfig = {
			sensitivity: 3,
			interval: 200,
			over: addOnOverMenu,
			timeout: 600,
			out: removeOnOverMenu
		};

		$("#navbar li.depth-0").hoverIntent(menuOverConfig);		
	}	
	
});







(function($) {
$.fn.overlabel = function(options) {
	
  this.each(function() {
    var $this = $(this), label = $this.attr("title"), input_val;
	
	$this.focus(function () {
		input_val = $this.val();
		if(label == input_val){
			$this.val("").focus();
		}
    })
	.blur(function () {
		if("" == $this.val()){
			$this.val(label);
		}
    });
	
  });
  
};
})(jQuery);

	
	


/**
 * Equal Heights Plugin
 * Equalize the heights of elements. Great for columns or any elements
 * that need to be the same size (floats, etc).
 * 
 * Version 1.0
 * Updated 12/109/2008
 *
 * Copyright (c) 2008 Rob Glazebrook (cssnewbie.com) 
 *
 * Usage: $(object).equalHeights([minHeight], [maxHeight]);
 * 
 * Example 1: $(".cols").equalHeights(); Sets all columns to the same height.
 * Example 2: $(".cols").equalHeights(400); Sets all cols to at least 400px tall.
 * Example 3: $(".cols").equalHeights(100,300); Cols are at least 100 but no more
 * than 300 pixels tall. Elements with too much content will gain a scrollbar.
 * 
 */
(function($) {
	$.fn.equalHeights = function(minHeight, maxHeight) {
		tallest = (minHeight) ? minHeight : 0;
		this.each(function() {
			if($(this).height() > tallest) {
				tallest = $(this).height();
			}
		});
		if((maxHeight) && tallest > maxHeight) tallest = maxHeight;
		return this.each(function() {
			$(this).height(tallest).css("overflow","auto");
		});
	}
})(jQuery);








///////////////////////////////////////////////////////////////////////////////
// [JQuery CSS Image Replacement Plugin] //////////////////////////////////////
(function($) {
$.fn.cssir = function(options) {
	
	var defaults = {
		spanClassName :null,
		spanClassNameFromParent:null,
		onOver        : false,
		onOverSuffix  : "_oo"
	},
    settings = $.extend({}, defaults, options);
	
	return this.each(function() {
		var $this = $(this),
		$span, className;
		
		if(settings.spanClassName != null && settings.spanClassName != "") {
			className = settings.spanClassName;
		} else if(settings.spanClassNameFromParent != null && settings.spanClassNameFromParent != "") {
			className = $this.parents(settings.spanClassNameFromParent).attr("id") + "_span";
		} else {
			className = $this.attr("id") + "_span"; //$("#debug").append("<br />" + className);
		}
		
		$span = $('<span class="'+className+'"> </span>'); //$span = $(document.createElement("span"));
		$this.append($span);
		if(settings.onOver) {
			$this.hover(function () {
				$span.removeClass(className).addClass(className+settings.onOverSuffix);
			},function () {
				$span.removeClass(className+settings.onOverSuffix).addClass(className);
			});			
		}

	});
	
	return this;
};
})(jQuery);




///////////////////////////////////////////////////////////////////////////////
// [JQuery Top Slider Plugin] /////////////////////////////////////////////////
(function($) {
$.fn.gcltopslider = function(options) {
	
	var defaults = {
		slideSpeed        : 400,  // How quickly should the panels scroll?
		activeClass       : "active_top_slide_link",
		contentClass      : "top_slide_panel"
	},
    settings = $.extend({}, defaults, options),
	$topSlideLinks, $topSlidePanels, topSlidePanelCurPos = -1;
	
	$topSlideLinks = $(this).find("li a");
	$topSlidePanels = $("."+settings.contentClass);
	
	function toggleTopSlidePanel() {
		$topSlidePanels.not(':eq('+topSlidePanelCurPos+')').slideUp(settings.slideSpeed);
		$topSlidePanels.eq(topSlidePanelCurPos).slideToggle(settings.slideSpeed);
		$topSlideLinks.not(':eq('+topSlidePanelCurPos+')').removeClass("active_top_slide_link");
		$topSlideLinks.eq(topSlidePanelCurPos).toggleClass("active_top_slide_link");
	}
	
	$topSlideLinks.attr({'href': 'javascript:void(0)'}).click(function () {
      	topSlidePanelCurPos = $topSlideLinks.index(this);
		toggleTopSlidePanel();
	});
																		
	// returns the jQuery object to allow for chainability.  
    return this;
};
})(jQuery);




///////////////////////////////////////////////////////////////////////////////
// [JQuery Accordion Plugin] //////////////////////////////////////////////////
(function($) {
$.fn.gclaccordion = function(options) {
	
	var defaults = {
		slideSpeed        : 400,  // How quickly should the accordion scroll?
		hideActiveLink    : true, // Hide clicked link?
		activeClass       : "active_header", //
		contentClass      : "accordionContent", //Content divs class name
		openContentOnLoad : -1,   //If -1, all tabs will be closed on load, else open content at given pos
		onOverSuffix: "_oo"
	},
    settings = $.extend({}, defaults, options),
	$this = $(this),
	$accordionlinks, $accordioncontents;
	
	$accordionlinks = $this.find("h3 a");
	$accordioncontents = $this.find("."+settings.contentClass);
	
	$accordioncontents.hide();

	if(settings.openContentOnLoad > -1) {
		if(settings.activeClass != null && settings.activeClass != "") {
			$accordionlinks.eq(settings.openContentOnLoad).addClass(settings.activeClass);
		}
		if(settings.hideActiveLink) {
			$accordionlinks.eq(settings.openContentOnLoad).hide();
		}
		$accordioncontents.eq(settings.openContentOnLoad).show();
	}
	
	$accordionlinks.attr({'href': 'javascript:void(0)'}).click(function(){
		$accordionlinks.show("fast"); 
		if(settings.hideActiveLink) {
			$(this).animate({opacity: "hide"}, 500);  
		}
		if(settings.activeClass != null && settings.activeClass != "") {
			$(this).addClass(settings.activeClass)
		}
		//$(this).parent().siblings("div:visible").slideUp();
		//$(this).parent().next("div").slideDown();
		$(this).parent().next("div").slideToggle(settings.slideSpeed).siblings("div:visible").slideUp(settings.slideSpeed);
	});


	// returns the jQuery object to allow for chainability.  
    return this;
	
};
})(jQuery);



///////////////////////////////////////////////////////////////////////////////
// [JQuery Horizontal Slide Plugin] ///////////////////////////////////////////
(function($) {
$.fn.hslide = function(options) {
	
	var defaults = {
		previousLinkID: "media-slide-previous",
		nextLinkID    : "media-slide-next",
		slideItemWidth: 880,
		slideDelay    : 5000,  // How long a rest between transitions?
		slideSpeed    : 1500,  // How quickly should the items scroll?
		slideOnLoad   : true
	},
    settings = $.extend({}, defaults, options),
	$this = $(this),
	slideCurPos = 0, slideItemCount, slideInterval, $slideItems;
	
	$slideItems = $this.find("li");   
	slideItemCount = $slideItems.size(); 
	
	if(settings.slideOnLoad) {
		slideTo();                                                               
		slideInterval = setInterval(slideToNext, settings.slideDelay);
	}                        
                                                                               
	$("#"+settings.previousLinkID).attr({ 'href': 'javascript:void(0)' }).click(function() { slideToPrevious(); });      
	$("#"+settings.nextLinkID).attr({ 'href': 'javascript:void(0)' }).click(function() { slideToNext(); });              
                                                                    
	function slideToPrevious() {                                             
	  clearInterval(slideInterval);                                        
	  slideCurPos--;                                                       
	  if (slideCurPos < 0) { slideCurPos = slideItemCount - 1; }           
	  slideTo();                                                           
	  if(settings.slideOnLoad) { slideInterval = setInterval(slideToNext, settings.slideDelay); }
	}                                                         
                                                                               
	function slideToNext() {                                                 
	  clearInterval(slideInterval);                                        
	  slideCurPos++;                                                       
	  if (slideCurPos >= slideItemCount) { slideCurPos = 0; }              
	  slideTo();                                                           
	  if(settings.slideOnLoad) { slideInterval = setInterval(slideToNext, settings.slideDelay); }             
	}                                               
                                                                               
	function slideTo() {            
	  var slideTo = (slideCurPos * settings.slideItemWidth);                        
	  $this.animate({ marginLeft: "-" + slideTo + "px" }, settings.slideSpeed);
	}
	  

	// returns the jQuery object to allow for chainability.  
    return this; 
	 
};
})(jQuery);




///////////////////////////////////////////////////////////////////////////////
// [JQuery Vertical Slide Plugin] /////////////////////////////////////////////
(function($) {
$.fn.vslide = function(options) {
	
	var defaults = {
		slideLinksID: 'vSlideLinks'
	},
    settings = $.extend({}, defaults, options),
	$this = $(this),
	slideCurPos = -1, slideInterval, $slideLinks, $slideItems;
	
	$slideLinks = $("#"+settings.slideLinksID+" li a");
	$slideItems = $this.find("li");
  
	$slideLinks.attr({'href': 'javascript:void(0)'}).eq(0).hide();
	$slideItems.slice(1).hide();

	//if ($.browser.msie) { gclContentRotatorLinkHeight += 2; }
  
	$slideLinks.click(function () { 
		if(slideCurPos != $slideLinks.index(this)) {
			slideCurPos = $slideLinks.index(this);
			//$("#gcl-content-rotator-arrow").animate({ top:(gclContentRotatorLinkCurPos*gclContentRotatorLinkHeight)+gclContentRotatorLinkTop }, "fast");
			$slideLinks.animate( {opacity: "show"}, 500);
			$(this).animate({opacity: "hide"}, 50);
			$slideItems.hide().eq(slideCurPos).fadeIn("slow");
		}
	});
	
	// returns the jQuery object to allow for chainability.  
    return this; 

};

})(jQuery);






(function($) {
$.fn.makeacolumnlists = function(options) {
	
	var defaults = {
		maxRow: 10,
		cols: 2,		// set number of columns
		colWidth: 0		// set width for each column or leave 0 for auto width
	},
    settings = $.extend({}, defaults, options);
	
	return this.each(function() {
		var listCols = jQuery('> li', this),
			listSize = jQuery('> li', this).size(),
		    height = 0,
			nRow   = 0,
			$this  = jQuery(this);	
			
		nRow = Math.ceil(listSize/settings.maxRow);
		
		var nRow=1, sliceBegin=0, sliceEnd=0, rowCount=0;
		while(sliceEnd < listSize) {
			sliceEnd = sliceBegin + (settings.maxRow);
			while(listCols.eq(sliceEnd).hasClass("depth-2")) {
				sliceEnd++;
			}
			listCols.slice(sliceBegin, sliceEnd).wrapAll('<ul class="submenu2"></ul>');
			sliceBegin = sliceEnd;
			nRow++;
		}
		nRow--;
		$this.width((nRow*settings.colWidth));		
		
		if(browser_type.indexOf('ie7') > -1) {
			$this.parents("div.drops").width((nRow*settings.colWidth)+50);
		}
	});
}
})(jQuery);