
// JQuery仕様

(function($){

//* アニメーション速度設定（1000=1秒）  *//	
var animSpeed = 800;

//* Wipe効果（無し：off、横切り替え：horizontal、縦切り替え：vertical）*//	
var wipe = 'horizontal';

//* イージング設定  *//	
var animEasing = 'easeInOutCubic';

//* ディレクトリ名 *//
var dir = 'top_visual';



	
var kf = {};
var visual = {};

var j2=0;
var prevpos = 0;
var xmldataSet;

	/* XML読み込み */
	$(function(){
	
		$.ajax( {
		type : "GET",
		url : dir + "/xml/visual.xml?" + new Date().getTime(),
		dataType : "xml",
		timeout: 1000,
		success : function(data){
		visual.init(data);
		}
	
	});


visual ={
	init : function(data){
	visual.autoFlg = true;
	var imp = $('#kf_impression');
	var mmi = $('#kf_main-images');
	var btns = [];
	var btn = $('<div id="kf_main-btn"><ul></ul></div>');
	
	var baseImg = $('#kf_fstImg');
	visual.imgW = baseImg.width();
	visual.imgH = baseImg.height();
	
	mmi.css({'width':visual.imgW,'height':visual.imgH});
	imp.css({'width':visual.imgW,'height':visual.imgH});
	
	visual.width2_3 = Math.floor(visual.imgW/3)*2;
	
	/* 各XML要素取得 */
	
	var imgset = $(data).find('kf_impression').get();
	visual.maxImg = parseInt(imgset[0].getAttribute('maxImage'),10);
	visual.farstdelay = parseInt(imgset[0].getAttribute('farstDelay'),10)*1000;
	visual.loop = imgset[0].getAttribute('loopFlag');
	visual.randomFlg  = imgset[0].getAttribute('random');
	visual.menubtn  = imgset[0].getAttribute('menuBtn').toUpperCase();
	visual.menuType  = imgset[0].getAttribute('menuType');
	visual.defclip = 'rect(0px '+ visual.imgW + 'px ' + visual.imgH  + 'px 0px)';
	
	if(visual.maxImg > $(data).find('img').length){
		var imgcount = $(data).find('img').length;
	}else{
		var imgcount = visual.maxImg;
	}
	
	if(visual.randomFlg == '1'){
		var startNum = Math.floor(Math.random() * imgcount);
		prevpos = startNum;
	}else{
		var startNum = 0;
	}
	
	/**/
	visual.count = 0;
	visual.delayArray = [];

	$(data).find('img').each(function(index){
	
		if(index < visual.maxImg) {
		visual.count += 1;

		if(this.getAttribute('href')){
		
		if(this.getAttribute('target')) var targetnum = this.getAttribute('target');
		else var targetnum = '_self';
			
		var pimg = $('<div class="kf_impression_viewImg"><a href="'+this.getAttribute('href')+'" target="'+targetnum+'"><img src="' + dir + '/images/' + this.getAttribute('src') +'" alt="'+ this.getAttribute('alt') +'" /></a></div>');
		
		}else{
		var pimg = $('<div class="kf_impression_viewImg"><img src="' + dir + '/images/' + this.getAttribute('src') +'" alt="'+ this.getAttribute('alt') +'" /></div>');
		}
		
		
		if(this.getAttribute('delay')){
			visual.delayArray.push(parseInt(this.getAttribute('delay'),10)*1000);
		}else{
			visual.delayArray.push(visual.farstdelay);
		}
			
		if(index == startNum) {
			pimg.attr('id','kf_fstLoadImg');
			pimg.css({'zIndex':100,'clip':visual.defclip,'position':'absolute'});
		}else{
			pimg.css({'zIndex':80,'clip':visual.defclip,'visibility':'hidden','position':'absolute'});
		}
		
		mmi.append(pimg);
		
		if(visual.menubtn != 'OFF'){
		
		if((index+1) < 10) ii = '0' + (index+1);
		else ii = index+1;
		
		if(visual.menuType != 1 && visual.menuType != 2){
		
			if(index==startNum) var litag = $('<li class="kf_stay"><span class="kf_over">&nbsp;</span></li>');
			else var litag = $('<li><span>&nbsp;</span></li>');
		
		}else if(visual.menuType == 1){
		
			if(index==startNum) var litag = $('<li class="kf_stay"><span class="kf_over"><img src = "' + dir + '/images/' + this.getAttribute('src') + '" /></span></li>');
			else var litag = $('<li><span><img src = "' + dir + '/images/' + this.getAttribute('src') + '" /></span></li>');
		
		}else if(visual.menuType == 2){
		
			if(index==startNum) var litag = $('<li class="kf_stay"><span class="kf_over"><img src = "' + dir + '/images/thumb_' + this.getAttribute('src') + '" /></span></li>');
			else var litag = $('<li><span><img src = "' + dir + '/images/thumb_' + this.getAttribute('src') + '" /></span></li>');
		
		}
		
		
		litag.css('visibility','hidden');
		litag.click(visual.elmcl);
		litag.hover(function(){ $(this).children().addClass('kf_over').css('opacity',1); },
		function(){ if(this.className != 'kf_stay') $(this).children().removeClass('kf_over').css('opacity',0.5); });
		
		btn.children().append(litag);
		}
		
		}

	});
	
	mmi.after(btn);

	$('#kf_fstImg').remove();

	visual.elm = mmi.find('div.kf_impression_viewImg').get();
	visual.elmbtn = btn.find('span').get();
	
	j2 = startNum;
	
	if(wipe == "horizontal") visual.clip = 'rect(0px '+visual.imgW+'px '+visual.imgH+'px '+visual.imgW+'px)';
	else if(wipe == "vertical") visual.clip = 'rect('+visual.imgH/2+'px '+visual.imgW+'px '+visual.imgH/2+'px '+0+'px)';
	else visual.clip = visual.defclip;

	
	$('#kf_main-images img').load(function(){
		if(visual.count-- == 1) {		
			visual.elmbtn2();
		}
	});
},

elmbtn2 : function(){

var i=0;

var loopfunc = function(){
	if(i>=visual.elmbtn.length) {
	clearInterval(settime);
	visual.time = setTimeout(visual.elmani2,visual.farstdelay);
	return;
	}
	$(visual.elmbtn[i]).css({'visibility':'visible','opacity':'0'});
	if(visual.elmbtn[i].className == 'kf_over') $(visual.elmbtn[i]).animate({"opacity":1},500,'linear');
	else $(visual.elmbtn[i]).animate({"opacity":0.5},500,'linear');
	
	i++;
}

var settime = setInterval(loopfunc,100);
},


elmani2 : function(){
	
	if(visual.endFlg || visual.maxImg <= 1) return;

	visual.endFlg = true;	
	
	var vElm_st = visual.elm[j2].style;
	vElm_st.display = 'block';
	vElm_st.visibility = 'visible';
	vElm_st.zIndex = 100;
	
	if(j2 == (visual.elm.length-1)){
		var pos = 0;
		var npos = visual.elmbtn.length-1;
	}else{
		var pos = j2+1;
		var npos = j2;
	}
	
	visual.elm[pos].style.display = 'block';
	visual.elm[pos].style.visibility = 'visible';
	
	$(visual.elm[pos]).css({'opacity':'','clip':visual.defclip,'left':0});	
	$(visual.elmbtn[npos]).removeClass('kf_over').css('opacity',0.5).parent().removeClass('kf_stay');
	$(visual.elmbtn[pos]).addClass('kf_over').css('opacity',1).parent().addClass('kf_stay');
	
 	$(visual.elm[j2]).stop().animate({"opacity":0,'clip':visual.clip}, animSpeed, animEasing,
	function(){
		vElm_st.zIndex = 90;
		vElm_st.visibility = 'hidden';
		j2++
		if(j2 == (visual.elm.length)){
			j2 = 0;
			if(visual.loop == '0') visual.loopfix = true;
		}
	
		prevpos = j2;
		
		visual.endFlg = false;
		
		if(visual.autoFlg) {
			clearTimeout(visual.time);
			if(!visual.loopfix) visual.time = setTimeout(visual.elmani2,visual.delayArray[j2]);
		}
	});

},

elmcl : function(){
	
	if(visual.endFlg) return;
	if(this.className == 'kf_stay') return;
	clearTimeout(visual.time);
	visual.endFlg = true;
	$(this).parents('ul').find('.kf_stay .kf_over').removeClass('kf_over').css('opacity',0.5);
	$(this).parents('ul').find('.kf_stay').removeClass('kf_stay');
	
	this.className = 'kf_stay'
	
	j2 = $('#kf_main-btn li').index(this);
	
	visual.autoFlg = false;
	var visp_st = visual.elm[prevpos].style;
	var visj_st = visual.elm[j2].style;
	
	visj_st.display = 'block';
	visj_st.visibility = 'visible';

	visp_st.zIndex = 100;
	visj_st.zIndex = 90;
	$(visual.elm[j2]).css({'clip':visual.defclip,'left':0,'opacity':''});
	$(visual.elm[prevpos]).css({'clip':visual.defclip,'left':0});
	
	
	$(visual.elm[prevpos]).stop().animate({"opacity":0,'clip':visual.clip}, animSpeed, animEasing,function(){
	visp_st.zIndex = 80;
	visj_st.zIndex = 100;
	visp_st.visibility = 'hidden';
	prevpos = j2;
	visual.endFlg = false;
	});
	visual.autoFlg = true;
	if(!visual.loopfix) visual.time = setTimeout(visual.elmani2,visual.delayArray[j2]);
}

}

});

})(jq142);
