var count_marquee = 0;
var delay_marquee = 6500;
var interval_marquee;

$(document).ready(
	function(){
		fnInitializeMarqueeTitles();
		fnInitializeBikes();
		fnInitializeTech();
		fnAutoCheck();
		$.localScroll();
	}
);

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 );
	
	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 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 fnAutoMarquee() {
	var num_children = $("#marquee-list").children().length;
	count_marquee++;
	if (count_marquee == num_children) { count_marquee = 0; }
	fnShiftMarquee(count_marquee, true);
}

function fnAutoCheck() {
	if (!$("#flash-marquee-0").is(":first-child")) { interval_marquee = window.setInterval(fnAutoMarquee,delay_marquee); }
}
