﻿(function(){
	$.fn.rollpic = function(o){
		var o = $.extend({
			pause:5000,
			nspd:1000,
			uspd:300,
			vnum:5,
			snum:1,
			start:0,
			isH:true,
			auto:true
		}, o||{});
		
		return this.each(function(){
			var $cont = $(".sp-cont", this), 
			$prev = $(".next", this), $next = $(".prev", this),
			$a = $cont.children("span"), len = $a.length, v=o.vnum;
			if(len<v){return false;}
			$cont.prepend($a.slice(len-v-1+1).clone(true)).append($a.slice(0,v).clone(true));
			o.start += v;
			var curr = o.start;
			
			var interval = null, a_dir = o.isH ? "marginLeft":"marginTop", c_dir = "left",
			aSize = o.isH ? $a.outerWidth(true) : $a.outerHeight(true), contDS = o.isH ? "width" : "height",
			itemLength = $cont.children("span").size();
			$cont.css(contDS, itemLength*aSize).css(a_dir, -(curr*aSize));
			
			var isOver = true;
			
			if(o.auto){
				$cont.hover(function(){
					clearInterval(interval);
				}, function(){
					if(c_dir == "left"){
						interval = setInterval(function(){ roll(curr+o.snum)}, o.pause);
					}else if(c_dir == "right"){
						interval = setInterval(function(){ roll(curr-o.snum)}, o.pause);
					}
				});
			}
			if($prev){
				$prev.click(function(){
					if(o.auto){clearInterval(interval)};
					if(isOver==true){roll(curr-o.snum, o.uspd);c_dir = "right";};
					if(o.auto){interval = setInterval(function(){ roll(curr-o.snum)}, o.pause)};
				});
			}
			if($next){
				$next.click(function(){
					if(o.auto){clearInterval(interval)};
					if(isOver==true){roll(curr+o.snum, o.uspd); c_dir = "left";};
					if(o.auto){interval = setInterval(function(){ roll(curr+o.snum)}, o.pause)};
				});
			}
			if(o.auto){ interval = setInterval(function(){ roll(curr+o.snum)}, o.pause);}
			function roll(to, spd){
				if(isOver){
					var spd = spd || o.nspd
					isOver = false;
					if(to<=o.start-v-1){
							$cont.css(a_dir, -((v+(len-v)+curr)*aSize)+"px");
							curr = (v+(len-v)+curr)-o.snum;
					}else if(to>=itemLength-v+1) {
							$cont.css(a_dir, -( (v-(itemLength-v-curr)) * aSize ) + "px" );
							curr = (v-(itemLength-v-curr))+o.snum;
					}else curr = to;
					
					$cont.animate(
							a_dir == "marginLeft" ? {"marginLeft": -(curr*aSize) } : {"marginTop": -(curr*aSize) } , spd, function(){isOver = true;}
					);
				}
				return false;
			};
			
		});
	}
	$.fn.pcont = function(o){
		var o = $.extend({
			snum:5,
			pause:5000,
			spd:500,
			fspd:500,
			auto:true
		}, o);
		
		return this.each(function(){
			var $sprev = $(".sprev", this), $snext = $(".snext", this), $bprev = $(".bprev", this), $bnext = $(".bnext", this),
			$nav = $(".pc-nav .nav-wrap", this),
			$cont = $(".pc-cont ul>li", this), $info = $(".pc-info ul>li", this),
			$nava = $nav.children("a"), len = $nava.length, aSize = $nava.outerWidth(true), navbS = o.snum*aSize;
			
			$nav.css("width", len*aSize), $(".pc-nav .nav-box", this).css("width", navbS);
			var index = 0, interval = null, cml;
			if(len*aSize > navbS){
				$sprev.click(function(){
					if(o.auto) clearInterval(interval);
					cml = Math.abs(parseFloat($nav.css("marginLeft")));
					if(cml < aSize){
						$nav.animate({"marginLeft": 0}, o.spd);
					}else if(cml > 0){
						$nav.animate({"marginLeft": "+="+aSize}, o.spd);
					}
					if(o.auto){ auto();}
				});
				$snext.click(function(){
					if(o.auto) clearInterval(interval);
					cml = Math.abs(parseFloat($nav.css("marginLeft")));
					if((len*aSize-cml-navbS) < aSize){
						$nav.animate({"marginLeft": "-"+(len*aSize-navbS)}, o.spd);
					}else if(cml <= ((len-o.snum)*aSize)){
						$nav.animate({"marginLeft": "-="+aSize}, o.spd);
					}
					if(o.auto){ auto();}
				});
			}
			
			$bprev.click(function(){
				if(o.auto) clearInterval(interval);
				if(index>0){roll(index-1);}
				if(o.auto){ auto();}
				return false;
			});
			$bnext.click(function(){
				if(o.auto) clearInterval(interval);
				if(index<(len-1)){roll(index+1);}
				if(o.auto){ auto();}
				return false;
			});
			$nava.each(function(i){
				$(this).click(function(){
					if(o.auto) clearInterval(interval);
					roll(i);
					if(o.auto){ auto();}
					return false;
				});
			});
			function auto(){
				interval = setInterval(function(){ roll(index==(len-1) ? 0 : (index+1))}, o.pause);
			}
			function roll(i){
				cml = Math.abs(parseFloat($nav.css("marginLeft")));
				if((i+1)*aSize <= cml){
					$nav.animate({"marginLeft": "-"+(i*aSize)}, o.spd);
				}else if((i+1)*aSize > (cml+navbS)){
					$nav.animate({"marginLeft": "-"+((i+1)*aSize-navbS)}, o.spd);
				}
				$nava.removeClass("hover");
				$nava.eq(i).addClass("hover");
				$cont.hide();
				$cont.eq(i).fadeIn(o.fspd);
				$info.hide();
				$info.eq(i).show();
				index = i;
			}
			/*init*/
			if(o.auto){ auto(); }
			$nava.eq(index).addClass("hover");
			$info.eq(index).show();
		});
	};
	$.fn.tabs = function(o){
		var o = $.extend({meth:"hover"}, o||{})
		return this.each(function(){
			var $menu = $(this).children(".tab-menu").children("li"), $cont = $(this).children(".tab-cont").children(".cont");
			$menu.each(function(i){
				if(o.meth == "click"){
					$(this).click(function(){ toggle(i) });				
				}else if(o.meth == "hover"){
					$(this).hover(function(){ toggle(i) });
				}
			});
			function toggle(i){
				$menu.removeClass("hover");
				$menu.eq(i).addClass("hover");
				$cont.removeClass("hover");
				$cont.eq(i).addClass("hover");
			}
		});
	}
})(jQuery);

function sidemenu(id){
	var $obj = $(id);
	$obj.find("li:has(li) > a").toggle(function(){
		$(this).parent().children("ul").slideDown();
		$(this).parent().addClass("hover");
	},function(){
		$(this).parent().children("ul").slideUp();
		$(this).parent().removeClass("hover");
	});
	$obj.find("li:has(li) li > a").each(function(){
		$(this).click(function(){
			$(this).parent("li").parent(".child").find(".child-2").hide();
			$(this).parent("li").parent(".child").find("li").removeClass("hover");
			$(this).parent("li").find(".child-2").show();
			$(this).parent("li").addClass("hover");
			if(!$(this).parent("li").find(".child-2").length==0){
				return false;
			}
		});											   
	});
	$obj.find(".child-2").hover(function(){},function(){
		$(this).hide();
	});
	$obj.find("li").each(function(i){
		if(window.location.pathname.indexOf($(this).children("a").attr("href"))>-1){
		$(this).addClass("hover").parent().parent().addClass("hover");
		}
	});
} 
sidemenu(".side-menu");

function setNowLoc(obj, extPath){
	var href = window.location.href;
	var $obj = $(obj), $obj_li = $("li", $obj), extPath = extPath || null;
	var http_hostname = "http://" + window.location.hostname;
	if(href == http_hostname + "/" || href == http_hostname || href == "http://" + window.location.host + extPath){
		$obj_li.each(function(){
			var a_href = $(this).children("a").attr("href");
			if(a_href == http_hostname || a_href == "/" || a_href == extPath){
	 			$(this).addClass("now");
				return false;
			}
		});
		return false;
	}
	$obj_li.each(function(){
		var a_href = $(this).children("a").attr("href");
		if(href.indexOf(a_href) > -1 && a_href != "/" && a_href != extPath){
			$(this).addClass("on");
		}
	});
}
setNowLoc(".mainMenu");

