// JavaScript Document
var focusObject={
	//参数
	sliceNum:1,
	imageArr:[],
	imgList:null,
	slider:null,
	slices:null,
	currentImageNo:0,
	currentImage:null,
	imgUrl:null,
	nextImage:null,
	sliceWidth:null,
	sliceHeight:null,
	sliceAnimateDelay:120,
	sliceAnimateSpeed:600,
	switchDealy:6000,
	callback:null,
	autoChangeFocus:true,
	//方法
	//初始化图像
	init:function(focusBoxId,imgUrlId){
		//图片缓存
		if(jQuery.browser.msie&&(jQuery.browser.version == "6.0")){
			document.execCommand("BackgroundImageCache", false, true);
		}
		this.slider=jQuery("#"+focusBoxId);
		//图片列表
		this.imgList=this.slider.children("img");
		//当前图片
		this.currentImage=this.imgList.eq(this.currentImageNo);
		//下一个图片
		this.nextImage=this.getImage();
		//隐藏原图片
		this.imgList.css("display","none");
		//图片超链接
		this.imgUrl=jQuery("#"+imgUrlId);
		//计算slice的宽度、高度
		this.sliceWidth=this.slider.width()/this.sliceNum;
		this.sliceHeight=this.slider.height();
		//创建图片条
		this.createSlices();
		//设置第一张焦点图的背景以及超链接
		focusObject.slider.css("background","url('"+focusObject.getImage().attr("src")+"')");
		this.imgUrl.attr("href",jQuery("#focusRight ul li").eq(0).children("a").attr("href"));
		setTimeout(function(){focusObject.focusAutoPlay();},focusObject.switchDealy);
	},
	//在当前image中创建若干图片条
	createSlices:function(){
		for(var i=0;i<this.sliceNum;i++){
			this.slider.append("<div class='focus-slice' style='top:0;left:"+i*this.sliceWidth+"px;'></div>");
		}
		this.slices=jQuery(".focus-slice");
		this.slices.css({"width":this.sliceWidth,"position":"absolute"});
		this.slices.addClass("finished");
	},
	//获得下一个图片
	getImage:function(no){

		if(no!=null&&no!="undefined"){
			return this.imgList.eq(no);
		}else{
			if(this.currentImageNo==-1){
				return this.imgList.eq(this.imgList.length-1);
			}
			return this.imgList.eq(this.currentImageNo);
		}
	},
	//检查动画效果完成情况
	afterAnimate:function(){
		if(jQuery("#focusImgList .finished").length==this.slices.length&&focusObject.callback!=null&&focusObject.callback!="undefined"){
			focusObject.callback();
		}
	},
	//切换图片
	switchImg:function(no){
		
		//检查动画是否已经播放完
		if(jQuery("#focusImgList .finished").length==this.slices.length){
			this.slices.removeClass("finished");
		}else{
			this.callback=function(){this.switchImg(no);};
			return;
		}
		//设置图片超链接
		this.imgUrl.attr("href",jQuery("#focusRight ul li").eq(no).children("a").attr("href"));
		this.slider.css("background","url('"+focusObject.getImage().attr("src")+"')");
		var r=Math.floor(Math.random()*(5));
		this.slices.each(function(i){
			//设置slices的背景
			var slice=jQuery(this);
			slice.css({"background":"url('"+focusObject.getImage(no).attr("src")+"') no-repeat "+(-1)*focusObject.sliceWidth*i+"px 0","opacity":"0"});
			
			//设置动画效果
			var nn;
			r=6;
			if(r==3||r==4){
				nn=focusObject.slices.length-i-1;
			}else{
				nn=i;
			}
			if(r==0||r==3){
				focusObject.slices.eq(nn).css({"height":"0"});
				setTimeout(function(){
					focusObject.slices.eq(nn)
					.stop()
					.animate(
						{ "height":focusObject.sliceHeight+"px", "opacity":"1.0" },
							focusObject.sliceAnimateSpeed,
							'',
							function(){slice.addClass("finished");
							setTimeout("focusObject.afterAnimate()",3000);
						}
					)},
					focusObject.sliceAnimateDelay*(i+1)
				);
			}else if(r==1||r==4){
				focusObject.slices.eq(nn).css({"width":"0","height":focusObject.sliceHeight+"px"});
				setTimeout(function(){focusObject.slices.eq(nn).stop().animate({ "width":focusObject.sliceWidth+"px", "opacity":"1.0" },focusObject.sliceAnimateSpeed,'',function(){slice.addClass("finished");focusObject.afterAnimate();})},focusObject.sliceAnimateDelay*(i+1));
			}else if(r==2){
				focusObject.slices.eq(nn).css({
					"height":focusObject.sliceHeight+"px"
				});
				setTimeout(function(){
								focusObject.slices.eq(nn)
								.stop()
								.animate(
									{ "opacity":"1.0" }
									,focusObject.sliceAnimateSpeed*3
									,''
									,function(){
										slice.addClass("finished");
										focusObject.afterAnimate();
									}
									,focusObject.sliceAnimateDelay
								);
							});
			}else if(r==6){
				focusObject.slices.eq(nn).css({
					"height":focusObject.sliceHeight+"px"
				});
				setTimeout(
					function(){
						focusObject.slices.eq(nn).css({ "opacity":"1.0" });
						slice.addClass("finished");
						
						//focusObject.slices.eq(nn)
//						.stop()
//						.animate(
//							{ "opacity":"1.0" }
//							,focusObject.sliceAnimateSpeed*3
//							,''
//							,function(){
//								slice.addClass("finished");
//								focusObject.afterAnimate();
//							});
					},focusObject.sliceAnimateDelay
				);
			}
			
		});
		
		
		focusObject.currentImageNo=no;
		jQuery("#focusRight ul li").removeClass("select");
		jQuery("#focusRight li:eq("+no+")").addClass("select");
		jQuery("#focusArrow").css("margin-top",no*(jQuery("#focusRight .select").outerHeight()-2));
	},
	//自动切换
	focusAutoPlay:function (){
		if(this.autoChangeFocus){
			if(this.currentImageNo>=this.imgList.length-1){
				this.currentImageNo=-1;
			}
			this.switchImg(this.currentImageNo+1);
		}
		setTimeout(function(){focusObject.focusAutoPlay();},this.switchDealy);
	}
}
jQuery(document).ready(function(){
	//初始化焦点图
	focusObject.init("focusImgList","clj");
	//遍历焦点图按钮
	jQuery("#focusRight ul li").each(
		function(i){
			 //鼠标停在焦点图文字上
			 jQuery(this).hover( function(){
				focusObject.autoChangeFocus=false;
				focusObject.switchImg(i);
			 },function(){
				focusObject.autoChangeFocus=true;
			 });
		}
	);
});
