var count_marquee = 0;
var delay_marquee = 7500;
var interval_marquee;

$(document).ready(
	function(){
 		$(".tier-0-item").click(
			function(event){
				$.get("/ajax/set_category/", { cid:$('#'+this.id).attr( 'rel' ) } );
				fnToggleTier1(this.id);
				return false;
			}
		);
 		$(".tier-1-item").click(
			function(event){
				$("#tier-sub2").fadeIn("fast");
				fnToggleTier2(this.id, $('#'+this.id).attr( 'rel' ));
				return false;
			}
		);
		fnInitializeMarquee();
		fnInitializeMarqueeTitles();
		fnInitializeNews();
		interval_marquee = window.setInterval(fnAutoMarquee,delay_marquee);
	}
);

function fnToggleTier1(param_id) {
	$("#tier-sub2").hide();
	array_id = param_id.split("-");
	if ($("#tier-0-" + array_id[2]).hasClass('active')) {
		$("#tier-0-" + array_id[2]).removeClass('active');
		$("#tier-1-" + array_id[2]).fadeOut('fast');
		fnDeactivateTier1(array_id[2]);
		interval_marquee = window.setInterval(fnAutoMarquee,delay_marquee);
	} else {
		fnDeactivateTier0();
		$("#tier-0-" + array_id[2]).addClass('active');
		$("#tier-1-" + array_id[2]).fadeIn('fast');
		clearInterval(interval_marquee);
		var count_items = $("#tier-1-" + array_id[2] + " div.nav").children().length;
		if (count_items == 1) {
			$("#tier-1-" + array_id[2] + "-0").addClass('active');
			$("#tier-1-" + array_id[2] + " > div.nav").css("display","none");
			$("#tier-sub2").fadeIn("fast");
			$("#tier-2-content").load("/ajax/homepage_series/id/" + $("#tier-1-" + array_id[2] + "-0").attr( 'rel' ));
			$("#tier-2-content").bind("ajaxComplete", fnInitializeTier2Delay($("#tier-1-" + array_id[2] + "-0").attr( 'rel' )));
		}
	}
	return false;
}

function fnToggleTier2(param_id, the_series) {
	array_id = param_id.split("-");
	if ($("#tier-1-" + array_id[2] + "-" + array_id[3]).hasClass('active')) {
		$("#tier-1-" + array_id[2] + "-" + array_id[3]).removeClass('active');
			$("#tier-sub2").hide();
			$("#tier-2").fadeOut('fast', function(){document.getElementById('tier-2-content').innerHTML = '';});
	} else {
		fnDeactivateTier1(array_id[2]);
		$("#tier-1-" + array_id[2] + "-" + array_id[3]).addClass('active');
		$("#tier-2-content").load("/ajax/homepage_series/id/" + the_series);
		$("#tier-2-content").bind("ajaxComplete", fnInitializeTier2Delay(the_series));
	}
	return false;
}

function fnDeactivateTier0() {
	for(i=0; i<=7; i++) {
		if ($("#tier-0-" + i).hasClass('active')) {
			$("#tier-0-" + i).removeClass('active');
			$("#tier-1-" + i).fadeOut('fast');
			fnDeactivateTier1(i);
		}
	}
	return false;
}

function fnDeactivateTier1(param_num) {
	var count_items = $("#tier-1-" + param_num + " div.nav").children().length;
	for(i=0; i<=count_items; i++) {
		if ($("#tier-1-" + param_num + "-" + i).hasClass('active')) {
			$("#tier-1-" + param_num + "-" + i).removeClass('active');
			$("#tier-2").fadeOut('fast', function(){document.getElementById('tier-2-content').innerHTML = '';});
		}
	}
	return false;
}

function fnInitializeMarquee() {
	var num_shift = 1;
	var width_margin = 0;
	var width_item = $("#marquee-list > li").width() + width_margin;
	var width_window = $("#marquee-window").width();
	var num_children = $("#marquee-list").children().length;
	var width_list = (num_children * width_item) - width_margin;
	if (width_window >= width_list) {
		$("#marquee-left").css("display", "none");
		$("#marquee-right").css("display", "none");
	} else {
		$("#marquee-left").addClass('inactive');
		$("#marquee-left").click(
			function(event){
				var x_marginleft = Number($("#marquee-list").css("margin-left").replace('px',''));
				if (x_marginleft + (width_item * num_shift) < 0) {
					fnShiftMarquee((x_marginleft + (width_item * num_shift)) / -width_item);
				} else { fnShiftMarquee(0); }
				return false;
			}
		);
	
		$("#marquee-right").click(
			function(event){
				var x_marginleft = Number($("#marquee-list").css("margin-left").replace('px',''));
				if (x_marginleft - (width_item * num_shift) > (width_window - width_list)) {
					fnShiftMarquee((x_marginleft - (width_item * num_shift)) / -width_item);
				} else { fnShiftMarquee(num_children - 1); }
				return false;
			}
		);
	}
}

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){
				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 fnShiftMarquee(param_num, param_auto) {
	if (param_auto != true) { clearInterval(interval_marquee); }
	count_marquee = param_num;
	var width_tab = 27;
	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 == 0) {
		$("#marquee-left").addClass('inactive');
		$("#marquee-right").removeClass('inactive');
	} else if (param_num == (num_children-1)) {
		$("#marquee-left").removeClass('inactive');
		$("#marquee-right").addClass('inactive');
	} else {
		$("#marquee-left").removeClass('inactive');
		$("#marquee-right").removeClass('inactive');
	}
	
	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 fnInitializeTier2Delay(the_series) {
	if (document.getElementById('tier-2-content').innerHTML == '') {
		timeout_tier2 = setTimeout(fnInitializeTier2Delay, 200);
	} else {
		timeout_tier2 = setTimeout(fnInitializeTier2, 750, the_series);
	}
	return false;
}

function fnInitializeTier2(the_series) {
	if (document.getElementById('tier-2-content').innerHTML == '') {
		$("#tier-2-content").load("/ajax/homepage_series/id/" + the_series);
		fnInitializeTier2Delay(the_series);
	} else {
		$("#tier-2").fadeIn('regular');
		var num_shift = 3;
		var width_margin = 10;
		var width_item = $("#series-list > li").width() + width_margin;
		var width_window = $("#series-window").width();
		var num_children = $("#series-list").children().length;
		var width_list = (num_children * width_item) - width_margin;
		if (width_window >= width_list) {
			$("#series-left").css("background", "#fff url(none)");
			$("#series-right").css("background", "#fff url(none)");
		} else {
			$("#series-left").addClass('inactive');
			$("#series-left").click(
				function(event){
					var x_dest;
					var x_marginleft = Number($("#series-list").css("margin-left").replace('px',''));
					if (x_marginleft + (width_item * num_shift) < 0) {
						x_dest = x_marginleft + (width_item * num_shift);
						$("#series-right").removeClass('inactive');
					} else {
						x_dest = 0;
						$(this).addClass('inactive');
						$("#series-right").removeClass('inactive');
					}
					$("#series-list").animate({ marginLeft: x_dest + "px" }, 500 );
					return false;
				}
			);
	
			$("#series-right").click(
				function(event){
					var x_dest;
					var x_marginleft = Number($("#series-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);
						$("#series-left").removeClass('inactive');
					} else {
						x_dest = (width_window - width_list);
						$(this).addClass('inactive');
						$("#series-left").removeClass('inactive');
					}
					$("#series-list").animate({ marginLeft: x_dest + "px" }, 500 );
					return false;
				}
			);
		}
	}
	return false;
}

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