$(document).ready(function(){

	function cur(ele,currentClass,tag){
		ele= $(ele)? $(ele):ele;
		if(!tag){
			ele.addClass(currentClass).siblings().removeClass(currentClass);
		}else{
			ele.addClass(currentClass).siblings(tag).removeClass(currentClass);
		}
		//add by xue.bing
		if(ele.attr("id") == "tab-first"){
			ele.removeClass("first");
			ele.addClass("first-active");
		}else if(ele.parent().attr("class") != "subtabtag"){
			$("#tab-first").removeClass("first-active");
			$("#tab-first").addClass("first");
		}
	}
	
	$.fn.tab=function(options){
		var org={
			tabId:    "",
			tabTag:   "",
			conId:    "",
			conTag:   "",
			curClass: "cur",
			act:      "click",
			dft:      0,
			effact:   null,
			auto:     false,
			autotime: 3000,
			aniSpeed: 500
		}	
			
		$.extend(org,options);
		
		var t=false;
		var k=0;
		var _this=$(this);
		var tagwrp=$(org.tabId);
		var conwrp=$(org.conId);
		var tag=tagwrp.find(org.tabTag);
		var con=conwrp.find(org.conTag);	
		var len=tag.length;
		var taght=parseInt(tagwrp.css("height"));
		var conwh=conwrp.get(0).offsetWidth;
		var conht=conwrp.get(0).offsetHeight;
		var curtag=tag.eq(org.dft);
		//prepare
		cur(curtag,org.curClass);
		con.eq(org.dft).show().siblings(org.conTag).hide();
		
		if(org.effact=="scrollx"){
			var padding=parseInt(con.css("padding-left"))+parseInt(con.css("padding-right"));										
			_this.css({
					  "position"   :"relative",
					  "height"     :taght+conht+"px",
					  "overflow"   :"hidden" 
			});				
			
			conwrp.css({
					   "width"     :len*conwh+"px",
					   "height"    :conht+"px",
					   "position"  :"absolute",
					   "top"       :taght+"px"
			});
			
			con.css({
					"float"        :"left",
					"width"        :conwh-padding+"px",
					"display"      :"block"
			});
		}
			
		if(org.effact=="scrolly"){
			var padding=parseInt(con.css("padding-top"))+parseInt(con.css("padding-bottom"));										
			_this.css({
					  "position"   :"relative",
					  "height"     :taght+conht+"px",
					  "overflow"   :"hidden" 
			});
			tagwrp.css({
					   "z-index"   :100
			})		
			conwrp.css({
					   "width"     :"100%",
					   "height"    :len*conht+"px",
					   "position"  :"absolute",
					   "z-index"   :99												 
			})		
			con.css({
					"height"       :conht-padding+"px",
					"float"        :"none",											
					"display"      :"block"
			});
		}	
		
		tag.css({"cursor":"pointer"})
			.each(function(i){
			tag.eq(i).bind(org.act,function(){
					cur(this,org.curClass);	
					k=i;
					switch(org.effact){					
						case "slow"    : con.eq(i).show("slow").siblings(org.conTag).hide("slow");
						break;
						case "fast"    : con.eq(i).show("fast").siblings(org.conTag).hide("fast");
						break;
						case "scrollx" : conwrp.animate({left:-i*conwh+"px"},org.aniSpeed);
						break;
						case "scrolly" : conwrp.animate({top:-i*conht+taght+"px"},org.aniSpeed);
						break;
						default        : con.eq(i).show().siblings(org.conTag).hide();					
						break;
						//End of switch
					}			
				}		
			)})	
		
		if(org.auto){		
			var drive=function(){
				if(org.act=="mouseover"){
					tag.eq(k).mouseover();
				}else if(org.act=="click"){
					tag.eq(k).click();
				}			
				k++;			
				if(k==len) k=0;			
			}
			t=setInterval(drive,org.autotime);	
		}		
		//End of $.fn.tab	
	}
	
	
	$("#tabwrap").tab({
	tabId:		"#tabtag",
	tabTag:		"li",
	conId:		"#tabcon",
	conTag:		".tabcontent",
	auto:		false,
	autotime: 	5000,
	curClass:	"active",
	act:		"click"
	})		
})