var count_marquee = 0;
var interval_marquee;
var count_color = 1;

$(document).ready(
	function(){
		fnInitializeMarquee();
		fnInitializeMarqueeTitles();
		fnInitializeDetail();
		fnInitializeTech();
		fnInitializeBikes();
		fnInitializeDropdownBikes();
		$.localScroll();
	}
);

function fnInitializeMarquee() {
	$("#bike-prev").css("display", "block");
	$("#bike-next").css("display", "block");
	$("#bike-prev").hide();
	$("#bike-next").hide();
	$("#magnifyprompt").hide();
	var configPrev = {    
	     sensitivity: 3,
	     interval: 50,
	     over: function(event){ $("#bike-prev").fadeIn('fast'); },
	     timeout: 0,
	     out: function(event){ $("#bike-prev").fadeOut('normal'); }
	};
	$("#marquee-left").hoverIntent( configPrev );
	
	var configNext = {
	     sensitivity: 3,
	     interval: 50,
	     over: function(event){ $("#bike-next").fadeIn('fast'); },
	     timeout: 0,
	     out: function(event){ $("#bike-next").fadeOut('normal'); }
	};
	$("#marquee-right").hoverIntent( configNext );
}


function fnShiftMarquee(param_num, param_auto) {
	if (param_auto != true) { clearInterval(interval_marquee); }
	count_marquee = param_num;
	var marquee_width_item = $("#marquee-list > li").width();
	var num_children = $("#marquee-list").children().length;
	var x_dest;
	x_dest = -(param_num * marquee_width_item);
	$("#marquee-list").animate({ marginLeft: x_dest + "px" }, 500 );
	if (param_num <= (count_color - 1)) {
		for (i=0; i <= count_color; i++) { $("#bikecolorlink-" + i).removeClass('active'); }
		$("#bikecolorlink-" + param_num).addClass('active');
		$("#detail-summary").slideDown('slow');
	} else {
		$("#detail-summary").slideUp('slow');
		$("#magnifyprompt").hide();
	}
	
	for(i=0;i<num_children;i++) {
		if (param_num == i) {
			$("#marqueetitle-number-" + i).addClass('active');
			$("#marqueetitle-" + i).css('display', 'inline');
		} else {
			$("#marqueetitle-number-" + i).removeClass('active');
			$("#marqueetitle-" + i).css('display', 'none');
		}
	}
}

function fnAutoMarquee() {
	var num_children = $("#marquee-list").children().length;
	count_marquee++;
	if (count_marquee == num_children) { count_marquee = 0; }
	fnShiftMarquee(count_marquee, true);
}


function fnInitializeMarqueeTitles() {
	var num_children = $("#marquee-list").children().length;
	if(num_children > 1) {
		$("#marqueetitle-number-0").addClass('active');
		$(".marqueetitle-number").click(
			function(event){
				str_id = this.id;
				array_id = str_id.split("-");
				fnShiftMarquee(array_id[2]);
			}
		);
		$("#marqueetitle-number-advance").click(
			function(event){
				var num_children = $("#marquee-list").children().length;
				count_marquee++;
				if (count_marquee == num_children) { count_marquee = 0; }
				fnShiftMarquee(count_marquee);
			}
		);
	} else {
		$("#marqueetitle-number-0").css("display", "none");
		$("#marqueetitle-number-advance").css("display", "none");
	}
}


function fnInitializeDetail() {
	var num_children = $("#detail-nav").children().length;
	$("#detail-0").addClass('active');
	for(i=1; i<num_children; i++) {
		$("#detail-content-" + i).hide();
	}
	$(".detail-item").click(
		function(event){
			fnToggleDetail(this.id);
			return false;
		}
	);
}

function fnToggleDetail(param_id) {
	fnDeactivateDetail();
	array_id = param_id.split("-");
	$("#detail-" + array_id[1]).addClass('active');
	$("#detail-content-" + array_id[1]).show();
}

function fnDeactivateDetail() {
	var num_children = $("#detail-nav").children().length;
	for(i=0; i<num_children; i++) {
		if ($("#detail-" + i).hasClass('active')) {
			$("#detail-" + i).removeClass('active');
			$("#detail-content-" + i).hide();
		}
	}
}

function fnInitializeBikes() {
	var num_shift = 5;
	var width_margin = 24;
	var width_item = $("#bike-list > li").width() + width_margin;
	var width_window = $("#bike-window").width();
	var num_children = $("#bike-list").children().length;
	var width_list = (num_children * width_item);
	if (width_window >= width_list) {
		$("#bike-left").css("display", "none");
		$("#bike-right").css("display", "none");
	} else {
		$("#bike-left").addClass('inactive');
		$("#bike-left").click(
			function(event){
				$("#bike-right").removeClass('inactive');
				var x_dest;
				var x_marginleft = Number($("#bike-list").css("margin-left").replace('px',''));
				if (x_marginleft + (width_item * num_shift) < 0) {
					x_dest = x_marginleft + (width_item * num_shift);
				} else {
					x_dest = 0;
					$(this).addClass('inactive');
				}
				$("#bike-list").animate({ marginLeft: x_dest + "px" }, 500 );
				return false;
			}
		);
	
		$("#bike-right").click(
			function(event){
				$("#bike-left").removeClass('inactive');
				var x_dest;
				var x_marginleft = Number($("#bike-list").css("margin-left").replace('px',''));
				if (x_marginleft - (width_item * num_shift) > (width_window - width_list)) {
					x_dest = x_marginleft - (width_item * num_shift);
				} else {
					x_dest = (width_window - width_list);
					$(this).addClass('inactive');
				}
				$("#bike-list").animate({ marginLeft: x_dest + "px" }, 500 );
				return false;
			}
		);
	}
}

function fnInitializeTech() {
	var num_children = $("#tech-nav").children().length;
	$("#tech-0").addClass('active');
	for(i=0; i<num_children; i++) {
		var num_subchildren = $("#tech-content-" + i).children().length - 2;
		if (num_subchildren == 1){
			$("#techtitle-number-" + i + "-0").css("display", "none");
			$("#techtitle-number-advance-" + i).css("display", "none");
		} else {
			for(j=0; j<num_subchildren; j++) {			
				if (j!=0){ $("#tech-page-" + i + "-" + j).hide(); }			
			}
		}
		if (i!=0){ $("#tech-content-" + i).hide(); }
	}
	$(".tech-item").click(
		function(event){
			fnToggleTech(this.id);
			return false;
		}
	);
	$(".techtitle-number").click(
		function(event){
			fnToggleTechPage(this.id);
			return false;
		}
	);
	$(".techtitle-number-advance").click(
		function(event){
			param_id = this.id;
			array_id = param_id.split("-");
			var num_subchildren = $("#tech-content-" + array_id[3]).children().length - 2;
			next_page = 0;
			for(i=0; i<num_subchildren; i++) {
				if ($("#techtitle-number-" + array_id[3] + "-" + i).hasClass("active")) {
					if (i < (num_subchildren - 1)) { next_page = i + 1; }
				}
			}
			fnToggleTechPage("x-x-" +  array_id[3] + "-" + next_page);
		}
	);
}

function fnToggleTech(param_id) {
	fnDeactivateTech();
	array_id = param_id.split("-");
	$("#tech-" + array_id[1]).addClass('active');
	$("#tech-content-" + array_id[1]).show();
}

function fnDeactivateTech() {
	var num_children = $("#tech-nav").children().length;
	for(i=0; i<num_children; i++) {
		if ($("#tech-" + i).hasClass('active')) {
			$("#tech-" + i).removeClass('active');
			$("#tech-content-" + i).hide();
		}
	}
}

function fnToggleTechPage(param_id) {
	array_id = param_id.split("-");
	fnDeactivateTechPages(array_id[2]);
	$("#techtitle-number-" + array_id[2] + "-" + array_id[3]).addClass('active');
	$("#tech-page-" + array_id[2] + "-" + array_id[3]).show();
}

function fnDeactivateTechPages(param_content_id) {
	var num_children = $("#tech-content-" + param_content_id).children().length - 2;
	for(i=0; i<num_children; i++) {
		if ($("#techtitle-number-" + param_content_id + "-" + i).hasClass('active')) {
			$("#techtitle-number-" + param_content_id + "-" + i).removeClass('active');
			$("#tech-page-" + param_content_id + "-" + i).hide();
		}
	}
}

function fnInitializeDropdownBikes() {
	var num_children = $("#bike-dropdown").children().length;
	if (num_children > 6) {
		$("#bike-dropdown").css("width", "374px");
		$("#bike-dropdown > li").css("clear", "none");
		$("#bike-dropdown > li").css("float", "left");
		$("#bike-dropdown > li").css("border-right", "1px dotted #999");
	}
}

function fnPrintModel() {
	var num_children = $("#detail-nav").children().length;
	$("#detail-0").addClass('active');
	for(i=0; i<num_children; i++) {
		$("#detail-content-" + i).show();
	}
	num_children = $("#tech-nav").children().length;
	for(i=0; i<num_children; i++) {
		$("#tech-" + i).removeClass('active');
		$("#tech-content-" + i).show();
	}
	window.print();
	window.location.reload();
	return false;
}