


// JQuery仕様

(function($){

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

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

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

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



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

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




	/* XML読み込み */
	$(function(){
	
		$.ajax( {
		type : "GET",
		url : "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 = $('#mainVisual');
	var mmi = $('#mainVisual-inner');
	visual.moveElm = $('<div id="mainVisual-MV"></div>');
	var btns = [];
	var btn = $('<div id="visualList"><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});
	
	var loading = $('<img src="images/loading_img_01.gif" id="loading">');
	mmi.append(loading);
	/* 各XML要素取得 */
	
	var imgset = $(data).find('kf_impression').get();
	visual.maxImg = parseInt(imgset[0].getAttribute('maxImage'),10);
	visual.delay = parseInt(imgset[0].getAttribute('delay'),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;
	}
	
	visual.endFlg = false;
	
	if(visual.randomFlg == '1'){
		var startNum = Math.floor(Math.random() * imgcount);
		prevpos = startNum;
	}else{
		var startNum = 0;
	}
	
	visual.moveElm.css({'width':visual.imgW*(imgcount+3),'height':visual.imgH,'left':-visual.imgW});


	visual.count = 0;
	visual.delayArray = [];
	var pimg;
	var pimgFirst;
	var pimgLast;
	var pimgLast2;
	$(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';
			
		pimg = $('<div class="kf_impression_viewImg"><a href="'+this.getAttribute('href')+'" target="'+targetnum+'" class="rollover"><img src="images/' + dir + '/' + this.getAttribute('src') +'" alt="'+ this.getAttribute('alt') +'" /></a></div>');
		
		}else{
		pimg = $('<div class="kf_impression_viewImg"><img src="images/' + dir + '/' + this.getAttribute('src') +'" alt="'+ this.getAttribute('alt') +'" /></div>');
		}
		
		if (index == 0) {
			pimgLast = pimg.clone();
			pimgLast.find('img').eq(0).css('opacity',0);
			pimgLast.find('img').eq(0).css('height',1);
		}
		if (index == 1) {
			pimgLast2 = pimg.clone();
			pimgLast2.find('img').eq(0).css('opacity',0);
			pimgLast2.find('img').eq(0).css('height',1);
		}
	
		if(index != 0){
			pimg.find('img').css('opacity',0);
			pimg.find('img').css('height',1);
		};
		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'});
		}
		visual.moveElm.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 = "images/visual_btn_01.png" /></span></li>');
			else var litag = $('<li><span><img src = "images/visual_btn_01.png" /></span></li>');
		
		}
		
		litag.css('visibility','hidden');
		litag.click(visual.elmcl);
		litag.hover(function(){
		if (this.className != 'kf_stay') {
			$(this).addClass('on');
			$(this).find('img').eq(0).attr('src', 'images/visual_btn_01_o.png');
		}
		
		},
		function(){
			if (this.className != 'kf_stay') {
				$(this).removeClass('on');
				$(this).find('img').eq(0).attr('src', 'images/visual_btn_01.png');
			}else{
				
			}
		});
		
		btn.children().append(litag);
		}
		
		}

	});
	
	//visual.moveElm.append(pimgFirst.clone());
	visual.moveElm.append(pimgLast);
	visual.moveElm.append(pimgLast2);
	visual.moveElm.prepend(pimg.clone());
	
	visual.moveElm.find('img').eq(0).css('opacity',0);
	
	mmi.append(visual.moveElm);
	mmi.after(btn);
	
	$('#kf_fstImg').remove();


	visual.elm = mmi.find('div.kf_impression_viewImg').get();
	visual.elmbtn = btn.find('span').get();
	btn.children().css('width',60*visual.elmbtn.length);
	// = 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;

	
	$('#mainVisual-inner img').load(function(){
		if(visual.count-- == 1) {	
			$('#loading').remove();	
			visual.elmbtn2();
		}
	});
	
	$('.kf_impression_viewImg img').hover(function(){
		$(this).attr('src', $(this).attr('src').replace(/(\.[^\.]+$)/,"_o$1"));
	},
	function(){
		$(this).attr('src', $(this).attr('src').replace(/_o/, ""));
	});
	
},

elmbtn2 : function(){

var i=0;

var loopfunc = function(){
	if(i>=visual.elmbtn.length) {
	clearInterval(settime);
	visual.time = setTimeout(visual.elmani2,visual.delay);
	return;
	}
	$(visual.elmbtn[i]).css({'visibility':'visible','opacity':0});
	if (visual.elmbtn[i].className == 'kf_over') {
		$(visual.elmbtn[i]).animate({"opacity":1},500,'linear');
		$(visual.elmbtn[i]).find('img').eq(0).attr('src', 'images/visual_btn_01_c.png');
	}else{
		$(visual.elmbtn[i]).animate({"opacity":1},500,'linear');
	} 
	
	i++;
}

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


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

	visual.endFlg = true;	
	
	pos += 1;
	
	if(j2 == 0){
		pos=1
		visual.moveElm.css('left',-visual.imgW);
	}

	if(j2 == visual.elmbtn.length-1){
		pos = 0;
		var npos = visual.elmbtn.length-1;
	}else{
		var npos =prevpos;
	}
	
	$(visual.elmbtn[npos]).parent().removeClass('kf_stay');
	$(visual.elmbtn[npos]).find('img').eq(0).attr('src', 'images/visual_btn_01.png');
	
	$(visual.elmbtn[pos]).parent().addClass('kf_stay');
	$(visual.elmbtn[pos]).find('img').eq(0).attr('src', 'images/visual_btn_01_c.png');
	
	visual.moveElm.find('img').eq(j2 + 1).animate({"opacity":0}, animSpeed, animEasing,function(){
		visual.moveElm.find('img').eq(j2 + 1).css('height',1);
	});

	visual.moveElm.find('img').eq(j2 + 2).css('height','');
	visual.moveElm.find('img').eq(j2 + 2).animate({"opacity":1}, animSpeed, animEasing,function(){
	});

 	visual.moveElm.stop().animate({"left":-visual.imgW*(j2+ 2)}, animSpeed, animEasing,
	function(){
		//vElm_st.zIndex = 90;
		//vElm_st.visibility = 'hidden';

		j2++
		if(j2 == (visual.elmbtn.length)){
			visual.moveElm.find('img').eq(j2 + 1).css('opacity',0);
			visual.moveElm.find('img').eq(j2 + 1).css('height',1);
			j2 = 0;
			pos = 0;
		
			if(visual.loop == '0') visual.loopfix = true;
			visual.moveElm.find('img').eq(1).css('height','');
			visual.moveElm.find('img').eq(1).css('opacity',1);
			visual.moveElm.find('img').eq(0).css('opacity',0);
			visual.moveElm.find('img').eq(0).css('height',1);
			visual.moveElm.css('left',-visual.imgW);
			
		}
	
		prevpos = j2;
		
		visual.endFlg = false;
		
		if(visual.autoFlg) {
			clearTimeout(visual.time);
			if(!visual.loopfix) visual.time = setTimeout(visual.elmani2,visual.delay);
		}
	});

},

elmcl : function(){
	if(visual.endFlg) return;
	if(this.className == 'kf_stay') return;
	clearTimeout(visual.time);
	visual.endFlg = true;
	$(this).parents('ul').find('span').removeClass('kf_over');
	$(this).parents('ul').find('.kf_stay').removeClass('kf_stay');
	
	$(this).parents('ul').find('img').attr('src', 'images/visual_btn_01.png');


	this.className = 'kf_stay';
	
	$(this).find('img').eq(0).attr('src', 'images/visual_btn_01_c.png');

	var j3 = j2;
	visual.moveElm.find('img').eq(j2+1).animate({"opacity":0}, animSpeed, animEasing,function(){
		visual.moveElm.find('img').eq(j3+1).css('height',1);
	});

	j2 = $('#visualList li').index(this);
	
	visual.moveElm.find('img').eq(j2+1).css('height','');
	
	visual.moveElm.find('img').eq(j2+1).animate({"opacity":1}, animSpeed, animEasing,function(){

	});

	visual.autoFlg = false;
	
	visual.moveElm.animate({"left":-visual.imgW*(j2+1)}, animSpeed, animEasing,function(){
	
	pos = j2;
	prevpos = j2;
	visual.endFlg = false;
	visual.autoFlg = true;
	if(!visual.loopfix) visual.time = setTimeout(visual.elmani2,visual.delay);

	});
}
}

});

})($);
