//panels
(function($) {
	$.fn.extendDetailsPanel = function() {
	
		return this.each(function() {
	
			var $obj 				= $(this);
			
			var $menu	= $obj.children(".menu");
			var $holder	= $obj.children(".panels");
			var $panels	= $holder.children(".panel");
			
			var maxHeight = 0;
			
			for(var i=0; i<$panels.size(); i++) {
				
				if ($panels.eq(i).outerHeight(true) > maxHeight)
					maxHeight = $panels.eq(i).outerHeight(true);
				
			}
			
			$holder.height(maxHeight);
			
			$panels.filter(".panel:not(:first)").hide();
			$menu.children("li:first").addClass("active");
			
			$menu.children("li").hover(function(evt) {
				
				$(this).addClass("hover");
				
			}, function(evt) {
				
				$(this).removeClass("hover");
				
			}).each(function(idx) {
				
				$(this).click(function(evt) {
					
					$holder.children(".panel:eq(" + idx + ")").fadeIn("normal").siblings(".panel:visible").fadeOut("normal");
					$(this).addClass("active").siblings(".active").removeClass("active");
					
				});
								
			});
						
		});
		
	};
	
	$.fn.watermark = function(options) {
		
		var defaults = {};
		
		var options = $.extend(defaults, options);
		
		return this.each(function() {
		
			var input = $(this);
		
			switch(input.attr("type")) {
				
				case "password":
				
					input.before("<input type='text' id='" + input.attr("id") + "alt" + "' class='" + input.attr("class") + "' />")
					var inputalt = input.prev();
					
					if (input.val() == "") {
						inputalt.val(input.attr("title"));
						input.hide();
					} else {
						input.show();
						inputalt.hide();
					}
					
					inputalt.focus(function(evt) {
						var inputalt = $(this);
						var input = inputalt.next();
						
						inputalt.hide();
						input.show().focus();						
					});
					
					input.blur(function(evt) {
						var input = $(this);
						var inputalt = input.prev();
						
						if (input.val() == "") {
							input.hide();
							inputalt.show();
						}
					});
				
				break;
		
				default:
					if (input.val() == "")
						input.val(input.attr("title"));
						
					input.focus(function(evt) {
						var input = $(this);
						input.val() == input.attr("title") ? input.val("").addClass("active") : null;
					});
					
					input.blur(function(evt) {
						var input = $(this);
						input.val().trim() == "" ? input.val(input.attr("title")).removeClass("active") : input.val(input.val().trim());
					});
				
			}
		
		});
		
	};
	
})(jQuery);

//main loop
$(function() {
	
	$("a.new-window").click(function(evt) { window.open($(this).attr("href")); return false; });
	
	if ($("#hero-images .hero").size() > 0)
		setTimeout("rotateHeroImages();", 3500);
	
	$(".ext-details").extendDetailsPanel();
	
	$(".product .images .image-holder img:not(:first)").hide();
	
	$(".product .images .sections .section").each(function(idx) {
		
		$(this).mouseover(function(evt) {
			
			$(this).parent().parent().find(".image-holder img:eq("+idx+")").show().siblings("img:visible").hide();
			
		});
		
	});
	
	$("#subscribe input[type=text]").watermark();
	
	$("a.sign-up").click(function(evt) { $("#overlay").show(); return false; });
	
	$(".article img").each(function(evt) {
		
		var $img = $(this);
		$img.wrap("<div class='" + $img.attr("class") + "'></div>");
		
	});
	
	$("#overlay .background, #subscribe .close").click(function(evt) { $("#overlay").hide(); });
	
});

function rotateHeroImages() {
	
	var $heroImages			= $("#hero-images .hero");
	var $currentHeroImage	= $heroImages.filter(":visible");
	var $nextHeroImage		= $currentHeroImage.next(".hero").size() == 0 ? $currentHeroImage.siblings(".hero:first") : $currentHeroImage.next(".hero");
	
	$currentHeroImage.fadeOut("slow");
	$nextHeroImage.fadeIn("slow", function(evt) {
		
		setTimeout("rotateHeroImages();", 3500);
		
	});
	
}

String.prototype.trim = function() {
	return this.replace(/^\s+|\s+$/g,"");
}