var progressBar;
var indicator;
var progressBarWidth;
var preloader;
var preloadTime = 1.5*30;
var imageLoadedFlag = false;
var preloadPercent;
var loaded = 0;
var currentTopVisualNumber = 0;
var topVisualAutoPlayer;
var topVisualTimer = 0;

$(function(){

	// プリロード
	progressBar  = $('#preload_bar');
	indicator = $("#preloader_middlebox");
	progressBarWidth = $("#preloader_bar").width();
	$('#preloader_bar').css('width','1px');
	$('#preloader').css('visibility','visible');
	preloader = setInterval('topVisualPreload()',33);

	// TwitterWidget
/*
	var dateObj = new Date;
	$.getJSON('http://twitter.com/statuses/user_timeline/reebokjapan_jp.json?callback=?', function (json) {
		for(var i in json){
			var text = json[i].text;
			text = text.replace(/(s?https?:\/\/[-_.!~*'()a-zA-Z0-9;\/?:@&=+$,%#]+)/gi,'<a href="$1">$1</a>');
			text = text.replace(/#(\w+)/gi,'<a href="http://twitter.com/search?q=%23$1">#$1</a>');
			text = text.replace(/@(\w+)/gi,'<a href="http://twitter.com/$1">@$1</a>');
			//つぶやきを表示
			$(".topTwitterWidget").append("<dt>"+text+"</dt><dd>" + "</dd>");
		}
		$(".topTwitterWidget").wrapInner("<dl></dl>");
		$('.scroll-pane').jScrollPane();
	});
*/
	//webOpixel http://www.webopixel.net/javascript/9.html

});

$(window).bind("load", function() {
	//alert('ロード完了');
	imageLoadedFlag = true;
});

function topVisualPreload(){

	preloadPercent = Math.ceil(loaded/preloadTime*100);
	if(preloadPercent >= 100){
		preloadPercent = 100;
		if(imageLoadedFlag){
			clearInterval(preloader);
			$("#preloader_bar").css("width",progressBarWidth+"px");
			indicator.text("100%");
			for(var i=0; i<topVisualNumber; i++){
				$('#topVisualNav').append('<span class="topVisualNavDot" data-target="' + i + '"></span>')
				if(i==0){
					$(".topVisualNavDot").addClass('topVisualNavDotOn');
				}
			}
			loadComplete();
		}
	}else{
		$("#preloader_bar").css("width",Math.floor(preloadPercent*progressBarWidth/100)+"px");
		indicator.text(Math.floor(preloadPercent)+"%");
		loaded++;
	}

}

function loadComplete(){
	$('#preloader').cssFadeOut('slow');
	$('.slideshow').css({width: topVisualNumber*960 + 'px'});
	$('#topVisualMask').cssFadeOut();
	changeTopVisual(0);// ------>冒頭の動きだけ反映されないFirefoxのためにダミーのアニメーション関数を実行
	$('.topVisualNavDot').hover(
		function(){
			var n = $(this).attr('data-target');
			changeTopVisual(n);
		},
		function(){}
	);
	// 自動再生
	topVisualAutoPlayer = setInterval('topVisualAutoPlay()',100);
}

function topVisualAutoPlay(){
	if(topVisualTimer >= 50){// 5秒毎に切り替え
		topVisualTimer = 0;
		gotoNextTopVisual();
	}else{
		topVisualTimer++;
	}
}

function changeTopVisual(n){
	$('.topVisualNavDotOn').removeClass('topVisualNavDotOn');
	$('.topVisualNavDot:eq('+n+')').addClass('topVisualNavDotOn');
	$('.slideshow').stop().animate({left: -n*960+'px'},1300,'easeInOutExpo');
	currentTopVisualNumber = n;
	topVisualTimer = 0;
}

function gotoNextTopVisual(){
	currentTopVisualNumber++
	if(currentTopVisualNumber >= topVisualNumber){
		currentTopVisualNumber = 0;
	}
	changeTopVisual(currentTopVisualNumber);

}
