//// #mainCurrentにmouseonしたときの関数郡

/*---------------------------------------------
UNY Co., Ltd.
http://www.uny.co.jp/

Top Page MainVisualSlider
Version 1.0.0

Last Update: 2011.10.07
---------------------------------------------*/

$( function(){
	
	//browser IE6 flag
	if(jQuery.browser.msie && parseInt(jQuery.browser.version) == 6){
		var DEF_FLG_IE6	= 1;
	}
	else {
		var DEF_FLG_IE6	= 0;
	}
	
	//IE6でカレントイメージのPNG透過
	if( DEF_FLG_IE6 == 1 ){
		$('#mainCurrent img').fixPng();
	}
	
	/* parameter
	---------------------------------------------*/
	//メイン画像と、バナー一覧を配列化
	var idData		= new Array();
	var mainData	= new Array();
	var bnrData		= new Array();
	var urlData		= new Array();
	var blankData	= new Array();
	
	$('#mainImg li').each( function(){
		mainData.push( $(this).html() );
	});
	
	$('#mainBnr li').each( function(){
		idData.push( $(this).attr('id') );
		bnrData.push( $(this).html() );
		urlData.push( $(this).find('a').attr('href') );
		if( $(this).find('a').attr('target') == '_blank' ){
			blankData.push( true );
		}
		else {
			blankData.push( false );
		}
	});
	
	var setData		= new Array();
	
	for( i=0; i<mainData.length; i++ ){
		setData[i]		= { id : idData[i] , main : mainData[i] , bnr : bnrData[i] , url : urlData[i] , blank : blankData[i] };
	}
	
	var DEF_MAX			= setData.length;
	var DEF_TIME_FADE	= 500;
	var DEF_TIME_SLIDE	= 300;
	var DEF_TIME_DELAY	= 1000;	//btnUp, btnDownがactiveになるまでのdelay
	var DEF_TIME_AUTO	= 3000;
	var timeAuto;
	
	/* trigger
	---------------------------------------------*/
	timeAuto();		//自動スクロール
	
	$('#btnTop.active').find('a').live( 'click' , function(){
		
		$('#btnTop , #btnDown').removeClass('active');
		clearInterval(timeId);
		
		//crossFade
		//bunner movie
		var pattern		= new RegExp( /\D/g );
		var strId		= $('#mainBnr li:first').attr('id');
		var intId		= Number( strId.replace( pattern , '' ) ) - 1;
		if( intId <= 0 ){
			intId	= DEF_MAX;
		}
		
		intId--;
		bnrMoveDown(intId);
		crossFade(intId);
		currentUrl(0);
		
		//ボタンをactiveに
		setTimeout( function(){ $('#btnTop , #btnDown').addClass('active') } , DEF_TIME_DELAY );
		
		timeAuto();
	});
	
	$('#btnDown.active').find('a').live( 'click' , function(){
		
		$('#btnTop , #btnDown').removeClass('active');
		clearInterval(timeId);
		
		//crossFade
		var pattern2	= new RegExp( /\D/g );
		var strId2		= $('#mainBnr li').eq(1).attr('id');
		var intId2		= Number( strId2.replace( pattern2 , '' ) );
		intId2--;
		crossFade(intId2);
		
		//bunnerMovie
		var pattern		= new RegExp( /\D/g );
		var strId		= $('#mainBnr li:last').attr('id');
		var intId		= Number( strId.replace( pattern , '' ) ) + 1;
		if( intId > DEF_MAX ){
			intId	= 1;
		}
		intId--;
		bnrMoveTop(intId);
		
		//currentUrl
		currentUrl(1);
		
		//ボタンをactiveに
		setTimeout( function(){ $('#btnTop , #btnDown').addClass('active') } , DEF_TIME_DELAY );
		
		timeAuto();
	});
	
	$('#mainBnr li').live( 'mouseover' , function(){
		clearInterval(timeId);
		if( $('#mainBnr li').index(this) != 4 ){
			var intEq		= Number( $('#mainBnr li').index(this) );
			currentMove(intEq);
			
			var pattern		= new RegExp( /\D/g );
			var strId		= $(this).attr('id');
			var intId		= strId.replace( pattern , '' );
			intId--;
			crossFade(intId);
		}
	});
	
	$('#mainBnrWrap').mouseout( function(event){
		if( $(event.relatedTarget).parents('#mainCurrent').length ||  $(event.relatedTarget).parents('#mainImg').length ){
			return false;
		}
		else {
			clearInterval(timeId);
			timeAuto();
			var pattern		= new RegExp( /\D/g );
			var strId		= $('#mainBnr li:first').attr('id');
			var intId		= strId.replace( pattern , '' );
			intId--;
			crossFade(intId);
			currentReturn();
		}
	});
	
	$('#mainImg').hover( function(){
		clearInterval(timeId);
		return false;
	}
	,function(event){
		if( $(event.relatedTarget).parents('#mainCurrent').length ||  $(event.relatedTarget).parents('#mainBnrWrap').length ){
			return false;
		}
		else {
			clearInterval(timeId);
			var pattern		= new RegExp( /\D/g );
			var strId		= $('#mainBnr li:first').attr('id');
			var intId		= strId.replace( pattern , '' );
			intId--;
			crossFade(intId);
			currentReturn();
			timeAuto();
		}
	});
	
	$('#mainCurrent').hover( function(event){
		if( $(event.relatedTarget).parents('#mainImg').length ||  $(event.relatedTarget).parents('#mainBnrWrap').length ){
			return false;
		}
		else {
			clearInterval(timeId);
		}
	},
	function(event){
		if( $(event.relatedTarget).parents('#mainImg').length ||  $(event.relatedTarget).parents('#mainBnrWrap').length ){
			return false;
		}
		else {
			timeAuto();
		}
	});
	
	/*---------------------------------------------
	// timeAuto
	---------------------------------------------*/
	function timeAuto(){
		timeId	= setInterval( function timeSet(){
			//crossFade
			var pattern2	= new RegExp( /\D/g );
			var strId2		= $('#mainBnr li').eq(1).attr('id');
			var intId2		= Number( strId2.replace( pattern2 , '' ) );
			intId2--;
			crossFade(intId2);
			
			//bunnerMovie
			var pattern		= new RegExp( /\D/g );
			var strId		= $('#mainBnr li:last').attr('id');
			var intId		= Number( strId.replace( pattern , '' ) ) + 1;
			if( intId > DEF_MAX ){
				intId	= 1;
			}
			intId--;
			bnrMoveTop(intId);
			currentUrl(1);
		}, DEF_TIME_AUTO);
	}
	
	/*---------------------------------------------
	// crossFade(intNum)
	---------------------------------------------*/
	function crossFade(intNum){
		var data	= setData[intNum];
		
		if( data ){
			$('#mainImg').append('<li class="tmpFlg" style="display: none;"></li>');
			$('#mainImg .tmpFlg').append(data.main).removeClass('tmpFlg');
			
			$('#mainImg').find('li').each( function(){
				if( $(this).css('display') == 'none' ){
					$(this).fadeIn(DEF_TIME_FADE);
				}
				else {
					$(this).fadeOut(DEF_TIME_FADE , function(){
						$(this).remove();
					});
				}
			});
		}
	}
	
	/*---------------------------------------------
	// bnrMoveTop(intNum)
	---------------------------------------------*/
	function bnrMoveTop(intNum){
		var data	= setData[intNum];
		
		if(data){
			
			//バナーを追加
			var strBnr	= '<li id="' + data.id + '">' + data.bnr + '</li>';
			
			$('#mainBnr').append(strBnr);
			
			//バナーを動かし、動作完了後に最初のを削除
			var flg	= 1;
			$('#mainBnr').animate( { 'top' : '-=78px' } , {
				duration	: DEF_TIME_SLIDE,
				complete	: function(){
					if( flg == 1 ){
						$('#mainBnr li').eq(0).remove();
						$('#mainBnr').css( 'top' , '-1px' );
						flg	= 0;
					}
				}
			});
		}
	}
	
	/*---------------------------------------------
	// bnrMoveDown(intNum)
	---------------------------------------------*/
	function bnrMoveDown(intNum){
		var data	= setData[intNum];
		
		if(data){
			
			//バナーを追加
			var strBnr	= '<li id="' + data.id + '">' + data.bnr + '</li>';
			
			$('#mainBnr').prepend(strBnr);
			$('#mainBnr').css( 'top' , '-79px' );
			
			//バナーを動かし、動作完了後に最初のを削除
			var flg	= 1;
			$('#mainBnr').animate( { 'top' : '+=78px' } , {
				duration	: DEF_TIME_SLIDE,
				complete	: function(){
					if( flg == 1 ){
						$('#mainBnr li').eq(5).remove();
						$('#mainBnr').css( 'top' , '-1px' );
						flg	= 0;
					}
				}
			});
		}
	}
	
	/*---------------------------------------------
	// currentMove(intNum)
	---------------------------------------------*/
	function currentMove(intNum){
		var intMove		= (intNum * 78) + 'px';
		$('#mainCurrent').stop().animate( { 'top' : intMove } , { duration : DEF_TIME_SLIDE } );
		
		currentUrl(intNum);
	}
	
	/*---------------------------------------------
	// currentReturn()
	---------------------------------------------*/
	function currentReturn(){
		var intMove		= 0 + 'px';
		$('#mainCurrent').stop().animate( { 'top' : intMove } , { duration : DEF_TIME_SLIDE } );
		
		currentUrl(0);
	}
	
	/*---------------------------------------------
	// currentUrl(intNum)
	---------------------------------------------*/
	function currentUrl(intNum){
		var pattern		= new RegExp( /\D/g );
		var strId		= $('#mainBnr li').eq(intNum).attr('id');
		var intId		= Number(strId.replace( pattern , '' )) - 1;
		var strUrl		= setData[intId].url;
		if( setData[intId].blank == true ){
			$('#mainCurrent a').attr('target' , '_blank');
		}
		else {
			$('#mainCurrent a').attr('target' , '_self');
		}
		$('#mainCurrent a').attr( 'href' , strUrl );
	}
	
});


