var t_item=null;
function tabPro(obj)
{
	if(t_item!=null)
	{
		$(t_item).removeClass("cur")
		$(".tabPro .box").css("left",left);
	}
	$(obj).addClass("cur");
	var index=$(obj).index();
	t_item=obj;
	w = $(".tabPro .tabProlist:eq("+index+")").width();	
	left=-w*index+"px";
	$(".tabPro .box").css("left",left);
}
$(".tabProh .tabProhlist").mouseenter(function(){tabPro(this)});
tabPro($(".tabProh .tabProhlist:eq(0)"));

var u_item=null;
function ushibd(obj)
{
	if(u_item!=null)
	{
		$(u_item).removeClass("cur")
		$(".ushibd .box").css("left",left);
	}
	$(obj).addClass("cur");
	var index=$(obj).index();
	u_item=obj;
	w = $(".ushibd .ushi_list:eq("+index+")").width();	
	left=-w*index+"px";
	$(".ushibd .box").css("left",left);
}
$(".ushibd li").mouseenter(function(){ushibd(this)});
ushibd($(".ushibd li:eq(0)"));

var a_item=null;
function adv(obj)
{
	if(a_item!=null)
	{
		$(a_item).removeClass("cur")
	}
	$(obj).addClass("cur");
	var index=$(obj).index();
	a_item=obj;
}
$(".iadv_t").mouseenter(function(){adv(this)});
adv($(".iadv_t:eq(0)"));

var n_item=null;
function inews(obj)
{
	if(n_item!=null)
	{
		$(n_item).removeClass("cur")
		$(".inewswr .box").css("left",left);
	}
	$(obj).addClass("cur");
	var url = $(obj).attr("data-url");
	var index=$(obj).index();
	n_item=obj;
	w = $(".inewswr .inews_w:eq("+index+")").width();	
	left=-w*index+"px";
	$(".inewswr .box").css("left",left);
	$("#moreurl").attr("href",url);	
}
$(".inews_nav span").click(function(){inews(this)});
inews($(".inews_nav span:eq(0)")); 

function num(obj,a){
	 $(obj).numberRock({
		lastNumber:a,
		duration:2000,
		easing:'swing',  //慢快慢
	});
}
num("#num1",8000);
num("#num2",14);
num("#num3",40);
num("#num4",5000);

/**/
$.addClass = function(elem, newClass){
	if(!elem) 
		return false;
	else if(!elem.className) {
		elem.className = newClass;
		return false; 
	}
	else {
		var ownClass = elem.className.split(" "), had = false;
		for(var i = 0; i < ownClass.length; i++){
			if(ownClass[i] === newClass){
				had = true;
				break;
			}
		}
		if(!had){
			elem.className += " " + newClass;
		}
		return had;
	}
};

$.removeClass = function(elem, oneClass){
	if(!elem || !elem.className) return false;
	var ownClass = elem.className.split(" "),
		had = false;
	for(var i = 0; i < ownClass.length; i++){
		if(ownClass[i] === oneClass){
			ownClass.splice(i, 1);
			had = true;
			break;
		}
	}
	if(had){
		elem.className = "";
		if(ownClass.length < 1){
			return had;
		}else if(ownClass.length == 1){
			elem.className = ownClass[0];
		}else if(ownClass.length >1){
			for(var i = 0; i < ownClass.length; i++){
				if(i == ownClass.length - 1){
					elem.className += ownClass[i];
				}else{
					elem.className += ownClass[i] + " ";
				}
			}
		}
	}	
	return had;	
};

$.addEvent = function(elem, eventName, handler){
	if(elem){
		if(elem.addEventListener){
			return elem.addEventListener(eventName, handler, false);
		}else if(elem.attachEvent){
			return elem.attachEvent("on" + eventName, handler);
		}else {
			elem["on" + eventName] = handler;
		}
	}
};

$.removeEvent = function(elem, eventName, handler){
	if(elem){
		if(elem.removeEventListener){
			return elem.removeEventListener(eventName, handler, false);
		}else if(elem.detachEvent){
			return elem.detachEvent("on" + eventName, handler);
		}else {
			elem["on" + eventName] = null;
		}
	}	
};

$.getEvent = function(event){
	return event ? event : window.event;
};

$.getTarget = function(event){
	return event.target || event.srcElement;
};

$.getRelatedTarget = function(event){
	return event.relatedTarget || event.toElement || event.fromElement || null;
};

$.stopPropagation = function(event){
	if(event.stopPropagation){
		event.stopPropagation();
	}else{
		event.cancleBubble = true;
	}
};

$.get_pos = function(elem){
	if(!elem) return false;
	var left = elem.offsetLeft,
		top = elem.offsetTop,
		current = elem.offsetParent;
	while(current !== null){
		left += current.offsetLeft;
		top += current.offsetTop;
		current = current.offsetParent;
	}
	return {"left": left, "top": top};
};

$.get_dir = function(elem, mouse_pos){
	if(!elem) return false;
	var pos = $.get_pos(elem),
		size = {"width": elem.offsetWidth, "height": elem.offsetHeight},
		dx = mouse_pos.x - pos.left - size.width/2,
		dy = (mouse_pos.y - pos.top - size.height/2)*-1,
		eve_tan = dy/dx,
		tan = size.height/size.width;
	if(dx != 0){
		if(eve_tan > tan*-1 && eve_tan < tan && dx < 0){
			return "left";
		}else if(eve_tan > tan*-1 && eve_tan < tan && dx > 0){
			return "right";
		}else if((eve_tan > tan || eve_tan < tan*-1) && dy > 0){
			return "top";
		}else if((eve_tan > tan || eve_tan < tan*-1) && dy <= 0){
			return "bottom";
		}
	}else if(dy > 0){
		return "top";
	}else {
		return "bottom";
	}
};

var hover_dir = {
	wrapper: $(".par_box")[0],
	box: $(".parlist"),
	target: $(".back-face"),
	bindEvent: function(){
		var mouse_pos, x, y, stop_bubble;
		for(var i = 0; i < hover_dir.box.length; i++){
			(function(n){
				$.addEvent(hover_dir.box[n], "mouseover", function(event){
					event = $.getEvent(event);
					var relatedT = $.getRelatedTarget(event);
					if(!$.contains(hover_dir.box[n], relatedT)){
						var child = hover_dir.box[n].childNodes[0];
						$.stopPropagation(event);
						$.removeClass(hover_dir.target[n], "to-left") ||
						$.removeClass(hover_dir.target[n], "to-right") ||
						$.removeClass(hover_dir.target[n], "to-top") ||
						$.removeClass(hover_dir.target[n], "to-bottom");
						x = event.pageX;
						y = event.pageY;
						mouse_pos = {"x": x, "y": y};
						var dir = $.get_dir(hover_dir.box[n], mouse_pos);
						switch(dir){
							case "left": 
								$.addClass(hover_dir.target[n], "from-left");
								break;
							case "right": 
								$.addClass(hover_dir.target[n], "from-right");
								break;
							case "top": 
								$.addClass(hover_dir.target[n], "from-top");
								break;
							case "bottom":
								$.addClass(hover_dir.target[n], "from-bottom");
								break;
							default: break;
						}
					}
				});
				$.addEvent(hover_dir.box[n], "mouseout", function(event){
					event = $.getEvent(event);
					var relatedT = $.getRelatedTarget(event);
					if(!$.contains(hover_dir.box[n], relatedT)){
						$.removeClass(hover_dir.target[n], "from-left") ||
						$.removeClass(hover_dir.target[n], "from-right") ||
						$.removeClass(hover_dir.target[n], "from-top") ||
						$.removeClass(hover_dir.target[n], "from-bottom");
						x = event.pageX;
						y = event.pageY;
						mouse_pos = {"x": x, "y": y};
						var dir = $.get_dir(hover_dir.box[n], mouse_pos);
						switch(dir){
							case "left": 
								$.addClass(hover_dir.target[n], "to-left");
								break;
							case "right": 
								$.addClass(hover_dir.target[n], "to-right");
								break;
							case "top": 
								$.addClass(hover_dir.target[n], "to-top");
								break;
							case "bottom":
								$.addClass(hover_dir.target[n], "to-bottom");
								break;
							default: break;
						}
					}	
				});
			})(i);
		}},
	init: function(){
		hover_dir.bindEvent();
	}
};
hover_dir.init();
 


var hover_dir = {
	wrapper: $(".par_box")[0],
	box: $(".parlist"),
	target: $(".back-face"),
	bindEvent: function(){
		var mouse_pos, x, y, stop_bubble;
		for(var i = 0; i < hover_dir.box.length; i++){
			(function(n){
				$.addEvent(hover_dir.box[n], "mouseover", function(event){
					event = $.getEvent(event);
					var relatedT = $.getRelatedTarget(event);
					if(!$.contains(hover_dir.box[n], relatedT)){
						var child = hover_dir.box[n].childNodes[0];
						$.stopPropagation(event);
						$.removeClass(hover_dir.target[n], "to-left") ||
						$.removeClass(hover_dir.target[n], "to-right") ||
						$.removeClass(hover_dir.target[n], "to-top") ||
						$.removeClass(hover_dir.target[n], "to-bottom");
						x = event.pageX;
						y = event.pageY;
						mouse_pos = {"x": x, "y": y};
						var dir = $.get_dir(hover_dir.box[n], mouse_pos);
						switch(dir){
							case "left": 
								$.addClass(hover_dir.target[n], "from-left");
								break;
							case "right": 
								$.addClass(hover_dir.target[n], "from-right");
								break;
							case "top": 
								$.addClass(hover_dir.target[n], "from-top");
								break;
							case "bottom":
								$.addClass(hover_dir.target[n], "from-bottom");
								break;
							default: break;
						}
					}
				});
				$.addEvent(hover_dir.box[n], "mouseout", function(event){
					event = $.getEvent(event);
					var relatedT = $.getRelatedTarget(event);
					if(!$.contains(hover_dir.box[n], relatedT)){
						$.removeClass(hover_dir.target[n], "from-left") ||
						$.removeClass(hover_dir.target[n], "from-right") ||
						$.removeClass(hover_dir.target[n], "from-top") ||
						$.removeClass(hover_dir.target[n], "from-bottom");
						x = event.pageX;
						y = event.pageY;
						mouse_pos = {"x": x, "y": y};
						var dir = $.get_dir(hover_dir.box[n], mouse_pos);
						switch(dir){
							case "left": 
								$.addClass(hover_dir.target[n], "to-left");
								break;
							case "right": 
								$.addClass(hover_dir.target[n], "to-right");
								break;
							case "top": 
								$.addClass(hover_dir.target[n], "to-top");
								break;
							case "bottom":
								$.addClass(hover_dir.target[n], "to-bottom");
								break;
							default: break;
						}
					}	
				});
			})(i);
		}},
	init: function(){
		hover_dir.bindEvent();
	}
};
hover_dir.init();