/* ver.2009.07.29.01 */
var mgMainVisualProcessingFlag = true;
var mgMainVisualImageList = [];
var mgMainVisualLinkList = [];
var mgMainVisualCurrentNumber = 1;
$(function(){
	var mgMainVisualID = 'topHeadMainVisual';
	var mgMainVisualAfterClass = 'mgMainVisualAfter';
	var mgMainVisualBeforeClass = 'mgMainVisualBefore';
	var mgMainVisualEasingType = 'easeInQuart';

	var mgMainVisualLinkID = 'mgMainVisualLink';

	/* id=mgMainVisualID 内に記載されている画像のsrcを抽出 */
	{
		var mgMainVisualChildren = $('#' + mgMainVisualID).children('img');
		for (var i = 0; i < mgMainVisualChildren.length; i++) {
			mgMainVisualImageList[i] = $(mgMainVisualChildren[i]).attr('src');
		}
	}

	/* id=mgMainVisualID 内に記載されているリンク(href)を抽出 */
	{
		var mgMainVisualLink = $('#' + mgMainVisualLinkID).children('a');
		for (var j = 0; j < mgMainVisualLink.length; j++) {
			mgMainVisualLinkList[j] = $(mgMainVisualLink[j]).attr('href');
		}
	}

	/* id=mgMainVisualID 内を再構築 */
	$('#' + mgMainVisualID).html(
		'<div class="' + mgMainVisualAfterClass + '"><a href="/static/userinfo"><img src="' + mgMainVisualImageList[0] + '" /></a></div>' +
		'<div class="' + mgMainVisualBeforeClass + '"><a href="/static/userinfo"><img src="' + mgMainVisualImageList[0] + '" /></a></div>'
	);
	$('#' + mgMainVisualID + ' div').css({
		position:'absolute',
		top:0,
		left:0,
		height:$('#' + mgMainVisualID).innerHeight() + 'px',
		overflow:'hidden'
	});
	$('#' + mgMainVisualID + ' .' + mgMainVisualAfterClass).css({
		width:0,
		zIndex:2
	});
	$('#' + mgMainVisualID + ' .' + mgMainVisualBeforeClass).css({
		width:$('#' + mgMainVisualID).innerWidth() + 'px',
		zIndex:1
	});

	var mgTimer;

	/* メインヴィジュアル切り替え用<a>タグにマウスオーバーした時 */
	$('a[id*="' + mgMainVisualID + '-"]').mouseover(function(){
		var mgMainVisualSelectedNumber = ($(this).attr('id').split('-'))[1];
		/* マウスが0.4秒滞在した場合にアニメーション実行 */
		mgTimer = setTimeout(function(){
			$('a[id*="' + mgMainVisualID + '-"]').each(function(){
				if ($(this).children('img').attr('src').match(/_on\./)) {
					$(this).children('img').attr({'src':$(this).children('img').attr('src').replace(/_on\./, '.')});
				}
			});
			$('a[id*="' + mgMainVisualID + '-' + mgMainVisualSelectedNumber + '"]').children('img').attr({
				'src':$('a[id*="' + mgMainVisualID + '-' + mgMainVisualSelectedNumber + '"]').children('img').attr('src').replace(/\./, '_on.')
			});
			mgAnimation(mgMainVisualSelectedNumber);
		}, 400);
	});

	/* マウスが離れた場合は setTimeout を解除 */
	$('a[id*="' + mgMainVisualID + '-"]').mouseout(function(){
		clearTimeout(mgTimer);
	});

	/* アニメーションを処理する関数 */
	var mgAnimation = function(mgMainVisualSelectedNumber){
		/* 現在アニメーション中ではない場合に実行 */
		if (mgMainVisualProcessingFlag) {
			mgMainVisualProcessingFlag = false;

			if (mgMainVisualSelectedNumber == mgMainVisualCurrentNumber) {
				mgMainVisualProcessingFlag = true;
				return;
			}
//			alert('change');
			$('.' + mgMainVisualAfterClass).children('a').children('img').attr({
				src:mgMainVisualImageList[mgMainVisualSelectedNumber - 1]
			});
			$('.' + mgMainVisualBeforeClass).children('a').children('img').attr({
				src:mgMainVisualImageList[mgMainVisualCurrentNumber - 1]
			});

			$('.' + mgMainVisualAfterClass).animate({left:0,width:$('#' + mgMainVisualID).innerWidth() + 'px'}, 800, mgMainVisualEasingType);
			$('.' + mgMainVisualBeforeClass).animate({left:$('#' + mgMainVisualID).innerWidth() + 'px',width:'0px'}, 900, mgMainVisualEasingType, function(){
				$('.' + mgMainVisualAfterClass).removeClass().addClass(mgMainVisualBeforeClass).css({
					zIndex:1
				});
				$(this).removeClass().addClass(mgMainVisualAfterClass).css({
					left:0,
					width:0,
					zIndex:2
				});
				mgMainVisualCurrentNumber = mgMainVisualSelectedNumber;
				mgMainVisualProcessingFlag = true;
			});

			// メインビジュアルのリンクを変更
			$('#' + mgMainVisualID + ' div').children('a').attr({
				href:mgMainVisualLinkList[mgMainVisualSelectedNumber - 1]
			});
		}
		else {
			mgTimer = setTimeout(function(){
				mgAnimation(mgMainVisualSelectedNumber);
			}, 400);
		}
	};
});