var Dome={
	id:function(id,tag){
		var re=(typeof id!="string")?id:document.getElementById(id);
		if(tag){
			return re.getElementsByTagName(tag);
		}else{
			return re;
		}
	},
	hasClass:function(node,classname){
		if(!node||!classname||!node.className) {return false;}
		return (new RegExp('(?:^|\\s+)'+ classname+'(?:\\s+|$)').test(node.className));
	},
	addClass:function(node,classname){
		if(!node||!classname){return false;}
		if(Dome.hasClass(node,classname)) return true;
		var newclass=node.className ? node.className+" "+classname:classname;
		node.className=newclass;
		return true;		
	},
	removeClass:function(node,classname){
		if(!Dome.hasClass(node,classname))return true;
		var nodeClassName=node.className;
		if(nodeClassName==classname){
			node.className="";
		}else{
			nodeClassName=nodeClassName.replace(new RegExp('(?:^|\\s+)' + classname + '(?:\\s+|$)', 'g'), "").replace(/^\s*/,"");
			node.className=nodeClassName;
		}
	}
}
var vEvent=(function(){
return {
	addEvent: function(element, name, observer, useCapture) {
		try{
			element=Dome.id(element);
			if(element.addEventListener){
				if(name==='mouseenter')
					element.addEventListener('mouseover',withoutChildFunction(observer),useCapture);
				else if(name==='mouseleave')
				element.addEventListener('mouseout',withoutChildFunction(observer),useCapture);
				else
				//ele.addEventListener(type,func,false);
				element.addEventListener(name, observer, useCapture);
			}else if(element.attachEvent){
				element.attachEvent('on' + name, observer);
			}
		}catch(e){}
	},
	addmousewheel:function(element,observer){
		try{
			if(element.addEventListener){
				element.addEventListener("DOMMouseScroll",observer,false);
			}else if(element.attachEvent){
				element.attachEvent("onmousewheel",observer);
			}
		}catch(e){}
	}
}
})();

/*加载png图片*/
var userAgent = navigator.userAgent.toLowerCase();
var browser = {
	version: (userAgent.match( /.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/ ) || [0,'0'])[1],
	safari: /webkit/.test( userAgent ),
	opera: /opera/.test( userAgent ),
	msie: /msie/.test( userAgent ) && !/opera/.test( userAgent ),
	mozilla: /mozilla/.test( userAgent ) && !/(compatible|webkit)/.test( userAgent )
};
var kStyle = {
    blankImgSrc: "http://www.cctv.com/library/image/dot/dot_blank.gif",
    fixPngImg:function(element){
        if (typeof element == 'string') {
            element = Dome.id(element);
        }
        if (! (browser.msie && browser.version < '7.0')) {
            return;
        }
        var xSrc = element.src;
        if (xSrc.indexOf('.png') == -1) {
            return;
        }
        element.src = kStyle.blankImgSrc;
        element.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true,sizingMethod='scale', src='" + xSrc + "')";
    }
}
var withoutChildFunction=function(func){
	return function(e){
		var parent=e.relatedTarget;//上一响应mouseover/mouseout事件的元素
		while(parent!=this&&parent){//假如存在这个元素并且这个元素不等于目标元素（被赋予mouseenter事件的元素）
			try{
				parent=parent.parentNode;}//上一响应的元素开始往上寻找目标元素
			catch(e){
				break;
			}
 
		}
		if(parent!=this)//以mouseenter为例，假如找不到，表明当前事件触发点不在目标元素内
		func(e);//运行目标方法，否则不运行
	}
}



/*图片渐隐*/
function opacity(obj,t){
		obj.style.display="block";
		if(/*@cc_on!@*/false){
			obj.style.filter="Alpha(Opacity="+t*100+")";
		}else{
			obj.style.opacity=t;
		}
		if(t==0){
			obj.style.display="none";
		}
		if(t==1){
			
			if(/*@cc_on!@*/false){
				obj.style.filter="";
			}
		}
	}
//var acity=[];
function showoption(obj,fn){
		for(var i=0;i<=20;i++){
			//if(acity[i]){clearInterval(acity[i])}
			/*acity[i]=*/setTimeout((function(y,fn){
				return function(){
					opacity(obj,0.05*y);
					if(y==20){
						fn();
					}
				}
			})(i,fn),i*25);
		}
	}
	function hideoption(obj){
		for(var i=0;i<=20;i++){
			//if(ocity[i]){clearInterval(ocity[i])}
			/*ocity[i]=*/setTimeout((function(y){
				return function(){
					opacity(obj,1-0.05*y);
				}						  
			})(i),i*25);
		}
	}

/*页面插入png图片*/
function showpng(pic){
	var img=new Image();
	img.src=Dome.id(pic).src;
	if(img.complete){
		kStyle.fixPngImg(pic);
		return;
	}
	img.onload=function(){
		kStyle.fixPngImg(pic);
	}
}


/*取子集*/
function getSon(obj){
	var arr=[];
	var son=obj.childNodes,len=son.length;
	for(var i=0;i<len;i++){
		if(son[i].nodeType==1){
			arr.push(son[i]);
		}
	}
	return arr;
}


/*标签切换*/
function module(div){
	var tabs=div+"_tabs",
		lis=Dome.id(tabs,"li"),len=lis.length,hascur=0;
	var cont=div+"_content_";
	function show(cur){
		return function(){
			for(var i=0;i<len;i++){
				if(i==cur){
					Dome.addClass(lis[i],"cur");
					Dome.id(cont+(i+1)).style.display="block";
				}else{
					Dome.removeClass(lis[i],"cur");
					Dome.id(cont+(i+1)).style.display="none";
				}
			}
		}		
	}
	function fnEvent(affair){
		for(var t=0;t<len;t++){
			if(Dome.hasClass(lis[t],"cur")){
				hascur=t;
			}
			vEvent.addEvent(lis[t],affair,show(t));
		}
		show(hascur)();
	}
	this.initTabs=function(){fnEvent("click");}
	this.initTabsHover=function(){fnEvent("mouseenter");}
}

/*图片轮播*/
function imagePlay(div){
	var obj=Dome.id(div);
	var son=getSon(obj),len=son.length-1,list=son[len],lis=getSon(getSon(list)[0]);
	var curr=-1,timer=null,begin=false,lasttime=null,delay=3000,old=-2;
	function show(curr_){
		son[curr_].style.display="block";
		//Dome.addClass(lis[curr_],"cur");
		old=curr_;
	}
	function roll(curr_){
		return function(){
			if(begin||(curr_==old&&son[curr].style.display=="block")) return;			
			begin=true;
			curr=curr_;
			son[curr_].style.display="block";
			son[curr_].style.zIndex="999";
			Dome.addClass(lis[curr_],"cur");
			Dome.removeClass(lis[old],"cur");
			opacity(son[curr].getElementsByTagName("img")[0],0);			
			showoption(son[curr_].getElementsByTagName("img")[0],function(){
				if(old>=0){
					son[old].style.display="none";
				}
					old=curr;
					son[old].style.zIndex="0";
					lasttime=(new Date()).getTime();
					begin=false;
			});		
		}
	}
	for(var i=0;i<len;i++){
		if(Dome.hasClass(lis[i],"cur")){
			curr=i;
		}
		vEvent.addEvent(lis[i],"click",roll(i));
	}
	
	function fnPlay(){
		timer=setInterval(fnGo,delay);
	}
	function fnPause(){
		clearInterval(timer);
	}
	function fnGo(){
		var nowtime=(new Date()).getTime();
		if(!lasttime){lasttime=nowtime;}
		if(nowtime-lasttime>=delay){
			curr=(curr+1)%len;
			roll(curr)();
		}
	}
	if(curr<0){
		curr=0;
	}
	//初始化
	show(curr);
	fnPlay();
	
}




/*图片左右滚动*/
function ulRoll(){
	var uleml = document.getElementById('llist').getElementsByTagName('ul')[0];
	
	uleml.style.left = "0px";
	
	var tn = 184, cid = 0;
	var lbtn = document.getElementById('lbtn').getElementsByTagName('a')[0];
	var rbtn = document.getElementById('rbtn').getElementsByTagName('a')[0];
	var tstr = uleml.innerHTML;
	uleml.innerHTML = tstr + tstr;
	var len = uleml.getElementsByTagName('li').length;
	//var timerFlag = 0;

		lbtn.onmousedown = function(){
			clearInterval(timer);
			setmove(-1);
			newTimer = setInterval(autoMoveRight, 500);
		}
		lbtn.onmouseup = function(){
			clearInterval(timer);
			clearInterval(newTimer);
			timer = setInterval(autoMoveLeft, 3000);
		}
				
		rbtn.onmousedown = function(){
			clearInterval(timer);
			setmove(1);
	  	newTimer = setInterval(autoMoveLeft, 500);
		}
		rbtn.onmouseup = function(){
			clearInterval(timer);
			clearInterval(newTimer);
			timer = setInterval(autoMoveLeft, 3000);
		}

		lbtn.onmouseover = function(){
			document.getElementById('lbtn_bk').style.filter = 'progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true, sizingMethod=crop, src="img/css/arrow_3_lon.png")';
		}
		lbtn.onmouseout = function(){
			document.getElementById('lbtn_bk').style.filter = 'progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true, sizingMethod=crop, src="img/css/arrow_3_l.png")';
		}
		
		rbtn.onmouseover = function(){
			document.getElementById('rbtn_bk').style.filter = 'progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true, sizingMethod=crop, src="img/css/arrow_3_ron.png")';
		}
		rbtn.onmouseout = function(){
			document.getElementById('rbtn_bk').style.filter = 'progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true, sizingMethod=crop, src="img/css/arrow_3_r.png")';
		}
		
		
	
	function setmove(step){
		var tid = cid+step;
		if(step>0){
			if(cid >= len/2){
				uleml.style.left = '0px';
				tid = 1;
			}
		}
		else
		{
			if(cid<=0){
				var tn = -(len/2)*184
				uleml.style.left = tn + 'px';
				tid = len/2-1
			}
		}
		cid = tid;
		var tonum = -cid*184;
		goToTween(uleml.style,"left",tonum,500,jtween.Linear);
	}	

	//自动向左滚动
	function autoMoveLeft(){
		setmove(1);
		//timerFlag = 1;
	}
	//自动向右滚动
	function autoMoveRight(){
		setmove(-1);
	}	

	var timer = setInterval(autoMoveLeft, 3000);
	
}

function goToTween(elm,objname,objnum,time,gofun){
	var b= parseInt( elm[objname]),
	d=time/25-1,
	t=0;
	if(isNaN(b))b=0;
	var c= objnum-b;
	//alert(b+"|"+c+"|"+d+"|"+t);
	function Run(){
	    elm[objname]= Math.ceil(gofun(t,b,c,d)) + "px";
	    if(t<d){ t++; setTimeout(Run, 25); }
	}
	Run();
	
	
}

var jtween = {
    Linear: function(t,b,c,d){ return c*t/d + b; },
    Quad: {
        easeIn: function(t,b,c,d){
            return c*(t/=d)*t + b;
        },
        easeOut: function(t,b,c,d){
            return -c *(t/=d)*(t-2) + b;
        },
        easeInOut: function(t,b,c,d){
            if ((t/=d/2) < 1) return c/2*t*t + b;
            return -c/2 * ((--t)*(t-2) - 1) + b;
        }
    },
    Cubic: {
        easeIn: function(t,b,c,d){
            return c*(t/=d)*t*t + b;
        },
        easeOut: function(t,b,c,d){
            return c*((t=t/d-1)*t*t + 1) + b;
        },
        easeInOut: function(t,b,c,d){
            if ((t/=d/2) < 1) return c/2*t*t*t + b;
            return c/2*((t-=2)*t*t + 2) + b;
        }
    },
    Quart: {
        easeIn: function(t,b,c,d){
            return c*(t/=d)*t*t*t + b;
        },
        easeOut: function(t,b,c,d){
            return -c * ((t=t/d-1)*t*t*t - 1) + b;
        },
        easeInOut: function(t,b,c,d){
            if ((t/=d/2) < 1) return c/2*t*t*t*t + b;
            return -c/2 * ((t-=2)*t*t*t - 2) + b;
        }
    },
    Quint: {
        easeIn: function(t,b,c,d){
            return c*(t/=d)*t*t*t*t + b;
        },
        easeOut: function(t,b,c,d){
            return c*((t=t/d-1)*t*t*t*t + 1) + b;
        },
        easeInOut: function(t,b,c,d){
            if ((t/=d/2) < 1) return c/2*t*t*t*t*t + b;
            return c/2*((t-=2)*t*t*t*t + 2) + b;
        }
    },
    Sine: {
        easeIn: function(t,b,c,d){
            return -c * Math.cos(t/d * (Math.PI/2)) + c + b;
        },
        easeOut: function(t,b,c,d){
            return c * Math.sin(t/d * (Math.PI/2)) + b;
        },
        easeInOut: function(t,b,c,d){
            return -c/2 * (Math.cos(Math.PI*t/d) - 1) + b;
        }
    },
    Expo: {
        easeIn: function(t,b,c,d){
            return (t==0) ? b : c * Math.pow(2, 10 * (t/d - 1)) + b;
        },
        easeOut: function(t,b,c,d){
            return (t==d) ? b+c : c * (-Math.pow(2, -10 * t/d) + 1) + b;
        },
        easeInOut: function(t,b,c,d){
            if (t==0) return b;
            if (t==d) return b+c;
            if ((t/=d/2) < 1) return c/2 * Math.pow(2, 10 * (t - 1)) + b;
            return c/2 * (-Math.pow(2, -10 * --t) + 2) + b;
        }
    },
    Circ: {
        easeIn: function(t,b,c,d){
            return -c * (Math.sqrt(1 - (t/=d)*t) - 1) + b;
        },
        easeOut: function(t,b,c,d){
            return c * Math.sqrt(1 - (t=t/d-1)*t) + b;
        },
        easeInOut: function(t,b,c,d){
            if ((t/=d/2) < 1) return -c/2 * (Math.sqrt(1 - t*t) - 1) + b;
            return c/2 * (Math.sqrt(1 - (t-=2)*t) + 1) + b;
        }
    },
    Elastic: {
        easeIn: function(t,b,c,d,a,p){
            if (t==0) return b;  if ((t/=d)==1) return b+c;  if (!p) p=d*.3;
            if (!a || a < Math.abs(c)) { a=c; var s=p/4; }
            else var s = p/(2*Math.PI) * Math.asin (c/a);
            return -(a*Math.pow(2,10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )) + b;
        },
        easeOut: function(t,b,c,d,a,p){
            if (t==0) return b;  if ((t/=d)==1) return b+c;  if (!p) p=d*.3;
            if (!a || a < Math.abs(c)) { a=c; var s=p/4; }
            else var s = p/(2*Math.PI) * Math.asin (c/a);
            return (a*Math.pow(2,-10*t) * Math.sin( (t*d-s)*(2*Math.PI)/p ) + c + b);
        },
        easeInOut: function(t,b,c,d,a,p){
            if (t==0) return b;  if ((t/=d/2)==2) return b+c;  if (!p) p=d*(.3*1.5);
            if (!a || a < Math.abs(c)) { a=c; var s=p/4; }
            else var s = p/(2*Math.PI) * Math.asin (c/a);
            if (t < 1) return -.5*(a*Math.pow(2,10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )) + b;
            return a*Math.pow(2,-10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )*.5 + c + b;
        }
    },
    Back: {
        easeIn: function(t,b,c,d,s){
            if (s == undefined) s = 1.70158;
            return c*(t/=d)*t*((s+1)*t - s) + b;
        },
        easeOut: function(t,b,c,d,s){
            if (s == undefined) s = 1.70158;
            return c*((t=t/d-1)*t*((s+1)*t + s) + 1) + b;
        },
        easeInOut: function(t,b,c,d,s){
            if (s == undefined) s = 1.70158; 
            if ((t/=d/2) < 1) return c/2*(t*t*(((s*=(1.525))+1)*t - s)) + b;
            return c/2*((t-=2)*t*(((s*=(1.525))+1)*t + s) + 2) + b;
        }
    },
    Bounce: {
        easeIn: function(t,b,c,d){
            return c - Tween.Bounce.easeOut(d-t, 0, c, d) + b;
        },
        easeOut: function(t,b,c,d){
            if ((t/=d) < (1/2.75)) {
                return c*(7.5625*t*t) + b;
            } else if (t < (2/2.75)) {
                return c*(7.5625*(t-=(1.5/2.75))*t + .75) + b;
            } else if (t < (2.5/2.75)) {
                return c*(7.5625*(t-=(2.25/2.75))*t + .9375) + b;
            } else {
                return c*(7.5625*(t-=(2.625/2.75))*t + .984375) + b;
            }
        },
        easeInOut: function(t,b,c,d){
            if (t < d/2) return Tween.Bounce.easeIn(t*2, 0, c, d) * .5 + b;
            else return Tween.Bounce.easeOut(t*2-d, 0, c, d) * .5 + c*.5 + b;
        }
    }
}




/*正在播出滚动*/
function sleep(numberMillis) {
    var now = new Date();
    var exitTime = now.getTime() + numberMillis;
    while (true) {
        now = new Date();
        if (now.getTime() > exitTime)
            return;
    }
}
function listRoll(div,time,delay){
	var obj = document.getElementById(div);
	ul = obj.getElementsByTagName('ul');
	ul[0].innerHTML = ul[0].innerHTML + ul[0].innerHTML;
	var lis = ul[0].getElementsByTagName('li');
	var len = lis.length/2;
	var str = ul[0].innerHTML;
	var curr=0;
	var begin=false;
	var timer=null;
	var bigheight=0;
	for(var i=1;i<len;i++){
		bigheight+=lis[i].offsetHeight;
	}
	obj.scrollTop=0;
	function roll(){
		var nowscrolltop=obj.scrollTop;
		if(nowscrolltop>bigheight){
			obj.scrollTop=nowscrolltop=curr=0;
		}
		var newscrolltop=nowscrolltop+lis[curr].offsetHeight;
		var sl=null;
		function r(){
			if(obj.scrollTop < newscrolltop){
				obj.scrollTop+=1;
				sl=setTimeout(r,time);
			}else{
				clearInterval(sl);
				curr=(curr+1)%len;
				start();
			}
		}
		r();
	}
		
	function start(){		
		if(!begin){
			timer=setTimeout(roll,delay);
		}else{
			clearInterval(timer);
		}
	}
	start();
	function mouse(){
		obj.onmouseover = function(){
			begin=true;start();
		}
		obj.onmouseout = function(){
			begin=false;start();
		}
	}
	mouse();
}



/*显示搜索内容*/
function showSelect(p){
	var s_btn = document.getElementById("select_btn");
	if(s_btn.style.display==""){s_btn.style.display="none";}
	s_btn.style.display = s_btn.style.display=="none"?"block":"none";
}



/*不间断滚动*/
function playing(id){
	var obj=Dome.id(id),
		ul=Dome.id(obj,"ul")[0];
	ul.innerHTML=ul.innerHTML+ul.innerHTML;
	var lis=Dome.id(ul,"li"),
		len=lis.length/2;
	var bigw=0;
	var timer=null;
	for(var i=0;i<len;i++){
		bigw+=lis[i].offsetWidth;
	}
	function roll(){
		if(obj.scrollLeft>bigw){
			obj.scrollLeft=0;
		}else{
			obj.scrollLeft+=1;
		}
	}
	function fnPlay(){
		timer=setInterval(roll,35);
	}
	function fnPause(){
		clearInterval(timer);
	}
	vEvent.addEvent(obj,"mouseenter",fnPause);
	vEvent.addEvent(obj,"mouseleave",fnPlay);
	fnPlay();
}

