//var myLogReader = new YAHOO.widget.LogReader();
jQuery(document).ready(function () {/*new YAHOO.util.YUILoader({ 
	base: "", 
	require: ["slider","yahoo-dom-event"], 
	loadOptional: true, 
	combine: true, 
	filter: "MIN", 
	allowRollup: true, 
	onSuccess: function() {*/ 
		//var myLogReader = new YAHOO.widget.LogReader();

		jQuery("body").addClass("yui-skin-sam");
		var Event = YAHOO.util.Event, 
			Dom   = YAHOO.util.Dom, 
			lang  = YAHOO.lang, 
			slider,  
			bg="slider-bg", thumb="slider-thumb",  
			valuearea="slider-value", textfield="slider-converted-value"; 
	 
		// The slider can move 0 pixels up 
		var topConstraint = 0;
		// Custom scale factor for converting the pixel offset into a real value 
		var scaleFactor = 48;
		// The slider can move 672 pixels down 
		var bottomConstraint = (jQuery("#contentList li").length - 1) * scaleFactor;
		// The amount the slider moves when the value is changed with the arrow 
		// keys 
		var keyIncrement = 20; 
		var tickSize = 24; 

		var selectedIndex = -1;
		var hoverPattern = /^(.*\/)?h_(.*)?/;
		var unhoverPattern = /^(.*\/)?(.*)?/;
		var buttonList = [];
		var contentList = [];
		
		var trigger_scroll = 0, trigger_fade = 0;
		var process_scroll, process_fade;
		
		var pageLoaded = false;
		var mode = document.documentMode || 0;
		var fixIE6 = jQuery.browser.msie && /MSIE 6.0/.test(navigator.userAgent) && !mode;
		if (fixIE6) {
			//alert("you are using < IE 6");
			switchImgFormat(jQuery("#slider-thumb-img")[0], "gif");
		}
		
		jQuery("#contentList li").each(function() {
			contentList.push(this.innerHTML);										
		});
		jQuery("#contentList").empty().append("<li/>");
		
		function defer_scroll() {
			var period = 500;
			var currentTime = (new Date()).getTime();
			if (currentTime - trigger_scroll > period) {
				YAHOO.log("scroll");
				jQuery.scrollTo(jQuery("#contentList"), 400, {});
			} else {
				if (process_scroll) clearTimeout(process_scroll);
				process_scroll = setTimeout(defer_scroll, period);
			}
			trigger_scroll = currentTime;
		}
		function defer_fade() {
			var period = 500;
			var currentTime = (new Date()).getTime();
			if (currentTime - trigger_fade > period) {
				jQuery("#contentList li").fadeIn();
			} else {
				if (process_fade) clearTimeout(process_fade);
				process_fade = setTimeout(defer_fade, period);
			}
			trigger_fade = currentTime;
		}
		
		function switchImgFormat(img, ext) {
			if (ext == null) {
				ext = "jpg";
			}
			var src = img.src;
			var pngPattern = /^(.*).png?/i;
			if (src.match(pngPattern) != null) {
				img.src = src.replace(pngPattern, "$1." + ext);
			}
		}
		function getButtonIndex(divButton) {
			return jQuery.inArray(divButton, buttonList);
		}
		function highlightImgButton(divButton) {
			var img = jQuery(divButton).find("img");
			var src = img.attr("src");
			if (src.match(hoverPattern) == null) {
				img.attr("src", src.replace(unhoverPattern, "$1h_$2"));
			}
		}
		function dehighlightImgButton(divButton) {
			var img = jQuery(divButton).find("img");
			var src = img.attr("src");
			if (src.match(hoverPattern) != null) {
				img.attr("src", src.replace(hoverPattern, "$1$2"));
			}
		}
		function initButton(i, dom) {
			if (fixIE6) {
				switchImgFormat(jQuery(dom).find("img")[0], "jpg");
			}
			jQuery(dom).css("left", i * scaleFactor * 2).mouseover(function() {
				if (getButtonIndex(this) != selectedIndex) {
					highlightImgButton(this);
				}													
			}).mouseout(function() {
				if (getButtonIndex(this) != selectedIndex) {
					dehighlightImgButton(this);
				}
			}).click(function() {
				selectedIndex = getButtonIndex(this);
				highlightImgButton(this);
				if (selectedIndex != slider.getRealValue()) {
					slider.setRealValue(selectedIndex);
				}
				jQuery.each(buttonList, function(btnIdx, divButton) {
      				if (btnIdx != selectedIndex) {
						dehighlightImgButton(divButton);
					}
				});
			});
		}
		jQuery("#con_text_top div").each(function(i, dom) {
			buttonList[i * 2] = dom;							  
			initButton(i, dom);
		});
		jQuery("#con_text_bottom div").each(function(i, dom) {
			buttonList[(i * 2) + 1] = dom;	
			initButton(i, dom);
		});
		
		slider = YAHOO.widget.Slider.getHorizSlider(bg, thumb, topConstraint, bottomConstraint, tickSize); 
		// Sliders with ticks can be animated without YAHOO.util.Anim 
		slider.animate = true;  
		slider.getRealValue = function() { 
			return Math.round(this.getValue() / scaleFactor); 
		} 
		slider.setRealValue = function(idx) { 
			if (buttonList[idx]) {
				selectedIndex = idx;
				this.setValue(Math.round(idx * scaleFactor));
				highlightImgButton(buttonList[idx]);
			}
		} 
		slider.subscribe("change", function(offsetFromStart) { 
			// display content section
			var idx = this.getRealValue();
			if (buttonList[idx]) {
				jQuery("#contentList li").html(contentList[idx]);
				jQuery(buttonList[idx]).click();
			}
		}); 
		
		slider.subscribe("slideStart", function() { 
			//YAHOO.log("slideStart fired", "warn"); 
			if (pageLoaded) {
				// when user click on buttons
				defer_scroll();
			} else {
				// after we set default item to 0
				pageLoaded = true;
			}
		}); 
 		
		slider.subscribe("slideEnd", function() { 
			//YAHOO.log("slideEnd fired", "warn"); 
			defer_fade();
		});
		
		slider.setRealValue(0);
		if (fixIE6) {
			jQuery(document).find("head").append(jQuery("<link rel=\"stylesheet\" type=\"text/css\" href=\"/_css/png_fix.css\" />"));
		}	
		
	//} 
/*}).insert();*/});
