function flexiUpdateVisible() {
	$("#flexi_home .flexi_slide:not(.current)").hide();
	$("#flexi_home .flexi_slide.current").show();
}

function flexiChangeTo() {
	//Get corresponding flexi_slide
	flexiNextSlide = $("#flexi_home .flexi_slide:eq(" + ($(this).parent().index()) + ")");
	
	if (flexiNextSlide.length) {
		//Update flexi link
		$("#flexi_banner #flexi_wrap #browserbox_control li a.current").removeClass("current");
		$(this).addClass("current");
		
		//Animate,Update flexi_slid
		//$("#flexi_home").css({"position": "relative"});//Set flexi_home overflow to hidden so the effect won't resize anything
		$("#flexi_home .flexi_slide.current")
			.removeClass("current")
			//.css({position: "absolute", opacity: 1.0})
			.animate({opacity: 0.5}, flexiAnimateTime, function() {
				$(this)
					.hide()
					.css({top: 0, position: "static"});
					
				flexiNextSlide
					.show()
					//.css({position: "absolute", opacity: 0.5})
					.animate({opacity: 1.0}, flexiAnimateTime, function() {
						//$("#flexi_home").css({"position": "static"}); //Set flexi_home overflow back to show
						flexiNextSlide
							.css("position", "static")
							.addClass("current");
						flexiUpdateVisible();
					});
			});
			
		
	}
}

function flexiOver() {
	flexiOverState = "over";
	clearTimeout(flexiTimer);
}

function flexiOut() {
	flexiOverState = "out";
	flexiTimer = setTimeout(flexiTimerAction, flexiAutoSlideTime);
}

function flexiTimerAction() {
	var flexiCurrentSlideButton = $("#flexi_banner #flexi_wrap #browserbox_control li a.current"),
		flexiNextSlideButton = $("#flexi_banner #flexi_wrap #browserbox_control li a.current").parent().next().find("a");
	
	if (!(flexiNextSlideButton.length)) {
		flexiNextSlideButton = $("#flexi_banner #flexi_wrap #browserbox_control li").first().find("a");
	}
	
	flexiChangeTo.apply(flexiNextSlideButton[0]);
	
	if (flexiOverState == "out") {
		flexiOut();
	}
	
}
















