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){}
	}
}
})();



var kEvent1=(function(){

return {
	addEvent: function(element, name, observer, useCapture) {
		try{
			element=Dom.$id(element);
			if(element.addEventListener){
				element.addEventListener(name, observer, useCapture);
			}else if(element.attachEvent){
				element.attachEvent('on' + name, observer);
			}
		}catch(e){}
	},
	
	delEvent: function(el, sType, fn) {
		if (window.removeEventListener) {
			el.removeEventListener(sType, fn, false);
		} else if (window.detachEvent) {
			el.detachEvent("on" + sType, fn);
		}
	},

	getTarget: function(ev) {
		var t = ev.target || ev.srcElement;
		return this.resolveTextNode(t);
	},
	
	resolveTextNode: function(node) {
		/* if (node && node.nodeName && 
				 "#TEXT" == node.nodeName.toUpperCase()) {*/
		if (node && 3 == node.nodeType) {
			return node.parentNode;
		} else {
			return node;
		}
	},
	
	getRelatedTarget: function(ev) {
		var t = ev.relatedTarget;
		if (!t) {
			if (ev.type == "mouseout") {
				t = ev.toElement;
			} else if (ev.type == "mouseover") {
				t = ev.fromElement;
			}
		}
		return this.resolveTextNode(t);
	},
	
	stopEvent: function(ev) {
		this.stopPropagation(ev);
		this.preventDefault(ev);
	},
	
	stopPropagation: function(ev) {
		if (ev.stopPropagation) {
			ev.stopPropagation();
		} else {
			ev.cancelBubble = true;
		}
	},
	
	preventDefault: function(ev) {
		if (ev.preventDefault) {
			ev.preventDefault();
		} else {
			ev.returnValue = false;
		}
	}
}


})();



/*
dom
*/
var Dom={
/*
node
*/
//$ -> getBy
    $id:function(nodeId){
    	if(typeof nodeId=='string'){
    		return document.getElementById(nodeId);
    	}else if(typeof nodeId=='object'){
    		return nodeId;
    	}else{
			return false;
		}
    },
/*
class
*/
	isClass:function(className, node){
		if((!node)||(!className)){return null;}
		var reFlag=false;
		if(node.className==className){
			reFlag=true;
		}
		return reFlag;
	},
	hasClass:function(className, node){
		if((!className)||(!node)||(!node.className)){return false;}
		return (new RegExp('(?:^|\\s+)' + className + '(?:\\s+|$)').test(node.className));
	},
	addClass:function(className, node){
		if((!className)||(!node)){return false;}
		if(Dom.hasClass(className, node)){return true;}
		var newClassName=node.className?node.className+' '+className:className;
		node.className=newClassName;
		return true;
	},
	removeClass:function(className, node){
		if(!(Dom.hasClass(className, node))){return;}
		var nodeClassName=node.className;
		if(nodeClassName==className){
			nodeClassName="";
		}else{
			nodeClassName=nodeClassName.replace(new RegExp('(?:^|\\s+)' + className + '(?:\\s+|$)', 'g'), "").replace(/^\s*/,"");
		}
		node.className=nodeClassName;
	}

};

function searchSon(obj){
	var o=obj.childNodes;
	var arro=[];
	for(var i=0;i<o.length;i++){
		if(o[i].nodeType==1){
			arro.push(o[i]);	
		}
	}
	return arro;
}


/*加载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: "/image/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 ulRoll(){
			var uleml = document.getElementById('llist').getElementsByTagName('ul')[0];
			var tn = 186, 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;

				lbtn.onclick = function(){
					setmove(-1);
				}
				rbtn.onclick = function(){
					setmove(1);
				}

				lbtn.onmouseover = function(){
					document.getElementById('lbtn_bk').style.filter = 'progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true, sizingMethod=crop, src="style/img/arrow_3_lon.png")';
				}
				lbtn.onmouseout = function(){
					document.getElementById('lbtn_bk').style.filter = 'progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true, sizingMethod=crop, src="style/img/arrow_3_l.png")';
				}
				rbtn.onmouseover = function(){
					document.getElementById('rbtn_bk').style.filter = 'progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true, sizingMethod=crop, src="style/img/arrow_3_ron.png")';
				}
				rbtn.onmouseout = function(){
					document.getElementById('rbtn_bk').style.filter = 'progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true, sizingMethod=crop, src="style/img/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)*186
						uleml.style.left = tn + 'px';
						tid = len/2-1
					}
				}
				cid = tid;
				var tonum = -cid*186;
				goToTween(uleml.style,"left",tonum,500,jtween.Linear);
			}	
		}


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 showSelect(p, btn){
	var s_btn = document.getElementById(btn);
	if(s_btn.style.display==""){s_btn.style.display="none";}
	s_btn.style.display = s_btn.style.display=="none"?"block":"none";
}



//鼠标点击隐藏下拉窗口
function hideSelect(e){
	var evn = kEvent1.getTarget(e);
	//alert(evn.innerHTML);
	if(evn.parentNode){
		if(evn.parentNode.parentNode){
					if(evn.parentNode.parentNode!=document){
						if(evn.parentNode.getAttribute("id")=="select_btn" || evn.parentNode.getAttribute("id")=="select_btn2") {
							return;
						}
					}
		}
	}

document.getElementById('select_btn').style.display = 'none';
document.getElementById('select_btn2').style.display = 'none';
}

kEvent1.addEvent("bid","mousedown",hideSelect);



//主创团队
function groupList(obj){
	var jq = jQuery;
	var obj = jq('#' + obj);
	var lis = obj.find('li');
	var h3s = obj.find('h3');
	var len = lis.length;
	h3s.mouseover(function(){
		lis.each(function(key, obj){
			jq(this).find('.image').css('display', 'none');
			jq(this).removeClass('cur');
		});
		jq(this).parent().addClass('cur');
		jq(this).parent().find('.image').css('display', 'block');
	});
}


//首屏轮播
/*
function slide(obj, data){
	var jq = jQuery;
	var obj = jq("#" + obj);
	var data = jq("#" + data);
	var btn_l = obj.find(".btn_l a");
	var btn_r = obj.find(".btn_r a");
	var lis = data.find("li");
	var len = lis.length;
	var flag = 0;

	function play(flag){
		var f = flag;
		obj.find("li").eq(0).html(lis.eq(f).html());
		obj.find(".image").hide().fadeIn("2000");
	}

	function autoPlay(){
		flag = (flag + 1) % len;
		play(flag);
	}

	function stopPlay(){
		clearInterval(timer);
	}

	function goPlay(){
		timer = setInterval(autoPlay, 4000);
	}

	goPlay();

	btn_l.click(function(){
		flag = (flag - 1 + len) % len;
		play(flag);
		//stopPlay();
		return false;
	});
	

	btn_r.click(function(){
		flag = (flag + 1) % len;
		play(flag);
		//stopPlay();
		return false;
	});


}
*/
