var iTabs = iMods = [];
var lastTab = null;
var lastMod = null;
var nextTab = 1;
var nextMod = 1;
var gap = 3000;

/*
 * @description 获取Tab及内容
 *
 */
function getAllMod(){
	var tabmod = [];
	tabmod.pushAll([ 
		[G('wyt').tagWith('li'),G('mod1cnt').tagWith('div').findClass('cnt')],
		[G('xyt').tagWith('li'),G('xyn').tagWith('div').findClass('cnt')],
		[G('djt').tagWith('li'),G('djCnt').tagWith('div').findClass('cnt')],
		[G('jjt').tagWith('li'),G('jjCnt').tagWith('div').findClass('cnt')],
		[G('dwt').tagWith('li'),G('dwCnt').tagWith('div').findClass('cnt')],
		[G('wybt').tagWith('li'),G('tab').tagWith('div').findClass('cnt')]	
	]);
	return tabmod;
}
/*
 * @description 注册Tab切换事件
 *
 */
function registTab(tabAndMod,tabOnClassName){
	tabAndMod.each(function(mod){		 
		mod[0].each(function(tab){	
			tab.onmouseover = function(){		 
				mod[1].each(function(cnt){
					cnt.style.display = 'none';
				});
				mod[1][mod[0].indexOf(tab)].style.display = '';
				 				
				var reg = new RegExp('(^| )' + tabOnClassName + '( |$)');
				mod[0].each(function(tab){
					tab.className = tab.className.replace(reg,'');
				});			 
				
				if(this.className){
					this.className += ' '+tabOnClassName;
				}else{
					this.className = tabOnClassName;
				}
				 
			}
		 });
	});
}
/*
 * @description 调用Tab切换事件
 *
 */
function showTab(){
	registTab(getAllMod(),'on');
}
//设置颜色透明度
function setOpacity(elem,level){
	if(elem.filters){
		elem.style.filter ='alpha(opacity=\"' + level + '\")'
	}else{
		elem.style.opacity=level/100;
	}
}
/*一个极低效的剔除数组重复元素的函数*/
Array.prototype.uniq = function(){
		var result = [];
		for(var i=0; i < this.length; i ++){
			if(!result.has(this[i])){
				result.push(this[i]);
			}
		}
		return result;
}
Array.prototype.has = function(item){
		for(var i= 0,len = this.length; i < len; i ++){
			if(this[i] === item){
				return true;
			}
		}
		
		return false;
	
}
function posNum(w,q,isNegSeq/*逆序*/){
		var s = 0;
		var result = [];
		
		if (isNegSeq) {
			s = w;
			while( s > 1){
				s -= s * q;
				result.push(parseInt(s));
			}
		}
		else {
			while ((w - s) > 1) {
				s += (w - s) * q;
				result.push(parseInt(s));
			}
		}		
		return result.uniq();//剔除重复数据
}
//渐显元素
var fadeTimer;
function fadeIn(elem){
	setOpacity(elem,0);
	elem.style.display='block';	
	var opacity = posNum(100,0.2);	
	var index = 0;
	fadeTimer = setInterval(function(){
		 if(index == opacity.length){	
		 	setOpacity(elem,100);
			elem.style.display='block';
			clearInterval(fadeTimer);
			return;
		}
		setOpacity(elem,opacity[index]);
		++index;
									 
	},10);		
}
/*
 * @description 自动播放
 *
 */
function autoPlay(){
	iTabs = G('imgp').tagWith('li');
	runTimes(function(index){
		var m = G('iTabCon'+(index + 1));
		iTabs[index].targetObj = m;
		iMods.push(m);
	},iTabs.length);
	
	lastTab = iTabs[0];
	lastMod = iMods[0];
	
	function play(){
		lastTab.className = '';
		iTabs[nextTab].className = 'on';
		lastTab = iTabs[nextTab];

		lastMod.style.display = 'none';
		iMods[nextTab].style.display = '';
		
		fadeIn(iMods[nextTab]);
		lastMod = iMods[nextTab];
		
		if(nextTab < 2){
			++nextTab;
		}else{
			nextTab = 0;	
		}		
	}

	var timer = setInterval(play,gap);

	iTabs.each(function(e){
		e.onmouseover = function(){
			if(timer){
				clearInterval(timer);
			}
			lastMod.style.display = 'none';
			lastMod = this.targetObj;
			lastMod.style.display = '';
			lastTab.className = '';
			lastTab = this;

			/* 改动部分*/
			clearInterval(fadeTimer);
			
			fadeIn(lastMod);

			this.className = 'on';
			
			var cur = iTabs.indexOf(e);
			if(cur == iTabs.length - 1){
				nextTab = 0;
			}else{
				nextTab = iTabs.indexOf(e) + 1;
			}
		}
		e.onmouseout = function(){
			timer = setInterval(play,gap);
		}
	})
} 
 

function runTimes(fn,times){
	for(var i=0; i < times; i ++){
		fn(i);
	}
}
addLoadEvent(autoPlay);

