/**
 * FocusImg类
 * 功能：焦点图
 * 
 * var params = Array(3);
 * params[0]=Array('list01','list02','list03');
 * params[1]=Array('list01','list02','list03');//默认的Class
 * params[2]=Array('list01_focus','list02_focus','list03_focus');//焦点的Class
 * 使用：oFocusImg1 = new FocusImg(params,3000,false);
 * 
 * 注意：
 *     1.只需传入ID列表，例如：list01,list02,list03
 *     对应的内容则为ID+"_body",例如：list01_body,list02_body,list03_body
 *     焦点的Class为ID+"_focus",例如：list01_focus,list02_focus,list03_focus
 *     默认的Class为ID+"",例如：list01,list02,list03
 */	
if( typeof(FocusImg) != 'function' ){
	var FI_objArr = Array();
	var FI_autoPlayArr = Array();
	var FocusImg = function (paramsList, intervalTime, isAuto){
		FocusImg.superclass.constructor.call(this);
		this.idList = paramsList[0];
		this.defaultClassList = paramsList[1];
		this.focusClassList = paramsList[2];
		this.intervalTime = (typeof(arguments[1]) == "undefined") ? 3000 : intervalTime;
		this.curNum = 1;
		this.nextNum = null;
		this._idBody = "_body";
		
		FI_objArr[FI_objArr.length] = this;
		var objNum = FI_objArr.length - 1;
		_swith(FI_objArr[objNum], 1);
		
		if( typeof(isAuto) == "boolean" && isAuto ){
			FI_autoPlayArr[objNum] = setInterval(_auto,FI_objArr[objNum].intervalTime,objNum);
			$("#"+idList.join(",#")).each(function(){
				$(this).mousemove(function(){
					clearInterval(FI_autoPlayArr[objNum]);
					var theCur = _getNum( FI_objArr[objNum].idList, $(this).attr("id"))+1;
					var theNext = (theCur + 1 > FI_objArr[objNum].idList.length) ? 1 : theCur + 1;
					_swith( FI_objArr[objNum], theCur );
					FI_objArr[objNum].curNum = theCur;
					FI_objArr[objNum].nextNum = theNext;
				});
				$(this).mouseout(function(){
					if(typeof(FI_autoPlayArr[objNum]) != "undefined"){
						clearInterval(FI_autoPlayArr[objNum]);
					}
					FI_autoPlayArr[objNum] = setInterval(_auto,FI_objArr[objNum].intervalTime,objNum);
				});
			});
		}else{
			$("#"+FI_objArr[objNum].idList.join(",#")).each(function(){
				$(this).mouseover(function(){
					_swith( FI_objArr[objNum], _getNum( FI_objArr[objNum].idList, $(this).attr("id") )+1 );
				});
			});
		}
	};
	extend(FocusImg,Base);
	
	function _auto(n){
		if(typeof(FI_objArr[n].nextNum) != "number"){				
			_swith(FI_objArr[n], 1);
			FI_objArr[n].curNum = 1;
		}else{				
			_swith(FI_objArr[n], FI_objArr[n].nextNum);
			FI_objArr[n].curNum = FI_objArr[n].nextNum;
		}
		FI_objArr[n].nextNum = (FI_objArr[n].curNum + 1 > FI_objArr[n].idList.length) ? 1 : FI_objArr[n].curNum + 1;		
	};	

	function _swith(obj, num){
		num -= 1;
		for(var i=0; i < obj.idList.length; i++){
			if(i == num){
				$("#"+obj.idList[i]).removeClass(obj.defaultClassList[i]);
				$("#"+obj.idList[i]).addClass(obj.focusClassList[i]);
				$("#"+obj.idList[i]+obj._idBody).show();
			}else{
				$("#"+obj.idList[i]).removeClass(obj.focusClassList[i]);
				$("#"+obj.idList[i]).addClass(obj.defaultClassList[i]);
				$("#"+obj.idList[i]+obj._idBody).hide();
			}
		};
	};
	
	function _getNum(arr, content){
		for(var i = 0; i < arr.length; i++){
			if(arr[i] == content){
				return i;
			}
		}
	}
}
