﻿function GetObserver(subject)
{
	var id = subject.id.replace("div","");
	var Unic = id.split("_");
  
  inherits(new Subject(), subject); 
	if(Unic[1]==0) subject.isvalid = true;   // 初始化每级技能组的条一列为true,即默认允许点击

	for(var i=0;i<Skill.length;i++)
	{
		// 判断此对象是属于哪个技能组
		if(Unic[0]==Skill[i][0])
		{
			// 例:如果属于第一技能组,则判断当他点击时.给对象添加相应的观察者
				if(Unic[1]==Skill[i][3])
				{
					 
					 var div = document.getElementById("div"+Unic[0]+"_"+Skill[i][6]);
					
					 inherits(new Subject(), div);    // 这个对象既继承Subject同时又继承Observer
					 inherits(new Observer(), div);
					 //czc
					 subject["onclick"] = new Function(subject.id+".AddPoint()");
					 subject["oncontextmenu"] = new Function(subject.id+".SubPoint()");
				   subject.AddObserver(div);  // 增加观察者	 
				}	
				else
				{
					 subject["onclick"] = new Function(subject.id+".AddPoint()");
					subject["oncontextmenu"] = new Function(subject.id+".SubPoint()");
				}

				if(Unic[1]==Skill[i][Skill[i].length-2])
				{
					
					subject.MaxHit = Skill[i][2];
					subject.Potential = Skill[i][Skill[i].length-1]
				}	
		}
	} 
}

// IsBright=true:取亮图,否则取灰色图,如果是第一列的第一个图,则永远保持亮图
function GetImgUrl(IdName,IsBright)
{
	var id = IdName.id.replace("div","");
	var Unic = id.split("_");
	var overimgOBJ = document.getElementById("overimg"+Unic[0]+"_"+Unic[1]);
	
	for(var i=0;i<Skill.length;i++)
	{
		// 判断此对象是属于哪个技能组
		if(Unic[0]==Skill[i][0])
		{
			if(Unic[1]==Skill[i][6])
			{
				if(IsBright==true)
				{
						
						overimgOBJ.src = "images/green.gif";
						return Skill[i][4];
				}
				else
				{
					 overimgOBJ.src = "images/grey.gif";
					 return Skill[i][5];
				}
			}
		}
	}	
	
}

// 判断是否允许进行扣点,如果它的观察者或是它所有观察者的子观察者.只要它们中有一个的当前值不为0,则
// 不允许对此主题对象进行扣点
function IsSubHit(subject)
{
		var m_count = subject.observers.Count();
		var returnValue = true;
		if(m_count==0)
		{
				return true;
		}
		for( var i = 0; i < m_count; i++ )
		{
				IsSubHit(subject.observers.GetAt(i));				
				returnValue = CurrentHitIsZero(subject.observers.GetAt(i));
			
				if(returnValue==false) return false				
				if(i==m_count-1) return returnValue;
		}			
}

function CurrentHitIsZero(subject)
{
		if(subject.CurrentHit!=0) return false;
		else return true;
}


// 弹出提示信息
function ShowInfo(event,divid)
{
	if (!event)
		{
			var event = window.event;
		}
	var dscpobj = document.getElementById(divid);
	if (!dscpobj)
		{
			return;
		}
	var xfix = 0;
	var yfix = 0;
	var yall = 768;
	if (document.documentElement.scrollTop || document.documentElement.scrollLeft)
		{
			xfix = document.documentElement.scrollLeft;
			yfix = document.documentElement.scrollTop;
			yall = document.documentElement.clientHeight;
		}
	else if (document.body.scrollTop || document.body.scrollLeft)
		{
			xfix = document.body.scrollLeft;
			yfix = document.body.scrollTop;
			yall = document.body.clientHeight;
		}
	if ((yall-event.clientY)<250)
		{
			dscpobj.style.top = event.clientY + yfix - 75 +'px';
		}
	else
		{
			dscpobj.style.top = event.clientY + yfix + 16 +'px';
		}

	if (event.clientX>800)
	{
			dscpobj.style.position = "absolute";
			dscpobj.style.left = event.clientX - 250 +'px';
	}
	else
	{
			dscpobj.style.left = event.clientX + xfix + 16 +'px';	
	}
	
	dscpobj.style.display = 'block';
	showingdscp = 1;
}


// 隐藏弹出窗口
function HindInfo(event,divid)
{
	if (canmovedscp == 0)
		{
			return;
		}
	showingdscp = 0;
	if (!event)
		{
			var event = window.event;
		}
	var dscpobj = document.getElementById(divid);
	if (!dscpobj)
		{
			return;
		}
	dscpobj.style.display = 'none';
	dscpobj.style.top = 0 +'px';
	dscpobj.style.left = 0 +'px';
}

function TransToFigure(str)
{
	var hit = 0;
	switch(str)
	{
		case "a":
			hit = 10;	break;				
		case "b":
			hit = 11; break;				
		case "c":
			hit = 12;break;				
		case "d":
			hit = 13;break;				
		case "e":
			hit = 14;break;				
		case "f":
			hit = 15;	break;			
		case "g":
			hit = 16;break;				
		case "h":
			hit = 17;break;				
		case "i":
			hit = 18;break;				
		case "j":
			hit = 19;	break;			
		case "k":
			hit = 20;	break;			
		case "l":
			hit = 21;break;				
		case "m":
			hit = 22;	break;			
		case "n":
			hit = 23;	break;			
		case "o":
			hit = 24;break;	
		case "p":
			hit = 25;break;	
		case "q":
			hit = 26;break;	
		case "r":
			hit = 27;break;	
		case "s":
			hit = 28;break;	
		case "t":
			hit = 29;break;	
		case "u":
			hit = 30;break;	
		case "v":
			hit = 31;break;	
		case "w":
			hit = 32;break;	
		case "x":
			hit = 33;break;	
		case "y":
			hit = 34;break;			
		case "z":
			hit = 35;break;			
		case "A":
			hit = 36;break;		
		case "B":
			hit = 37;break;		
		case "C":
			hit = 38;break;		
		case "D":
			hit = 39;break;		
		case "E":
			hit = 40;break;		
		case "F":
			hit = 41;break;		
		case "G":
			hit = 42;	break;	
		case "H":
			hit = 43;break;		
		case "I":
			hit = 44;break;		
		case "J":
			hit = 45;break;		
		case "K":
			hit = 46;break;		
		case "L":
			hit = 47;break;		
		case "M":
			hit = 48;break;		
		case "N":
			hit = 49;	break;	
		case "O":
			hit = 50;break;	
		default:
			hit = 0;	break;			
	}
	return hit;
}


function TransToStr(str)
{
	var hit="Z";
	switch(str)
	{
		case 10:
			hit = "a";	break;			
		case 11:
			hit = "b";break;	
		case 12:
			hit = "c";break;	
		case 13:
			hit = "d";break;	
		case 14:
			hit = "e";break;	
		case 15:
			hit = "f";break;	
		case 16:
			hit = "g";break;	
		case 17:
			hit = "h";break;	
		case 18:
			hit = "i";break;	
		case 19:
			hit = "j";break;	
		case 20:
			hit = "k";break;	
		case 21:
			hit = "l";break;	
		case 22:
			hit = "m";break;	
		case 23:
			hit = "n";break;	
		case 24:
			hit = "o";break;	
		case 25:
			hit = "p";break;	
		case 26:
			hit = "q";break;	
		case 27:
			hit = "r";break;	
		case 28:
			hit = "s";break;	
		case 29:
			hit = "t";break;	
		case 30:
			hit = "u";break;	
		case 31:
			hit = "v";break;	
		case 32:
			hit = "w";break;	
		case 33:
			hit = "x";break;	
		case 34:
			hit = "y";break;			
		case 35:
			hit = "z";	break;		
		case 36:
			hit = "A";	break;	
		case 37:
			hit = "B";	break;	
		case 38:
			hit = "C";	break;	
		case 39:
			hit = "D";	break;	
		case 40:
			hit = "E";	break;	
		case 41:
			hit = "F";	break;	
		case 42:
			hit = "G";	break;	
		case 43:
			hit = "H";	break;	
		case 44:
			hit = "I";	break;	
		case 45:
			hit = "J";	break;	
		case 46:
			hit = "K";	break;	
		case 47:
			hit = "L";	break;	
		case 48:
			hit = "M";	break;	
		case 49:
			hit = "N";	break;	
		case 50:
			hit = "O";break;	
		default:
			hit = "Z";		break;		
	}
	return hit;
}

function winload()
{
	try
	{
		var getArgs = location.search ;
		if ( getArgs )
		{
				var getArgs = getArgs.replace("?","");
				var GroupArgs;
				GroupArgs = getArgs.split('|');
				if(GroupArgs.length!=6)
				{
					InitialSpanUrl(0,true,0,0);  // 初始化URL
					return ;
				}
				for(var k=0;k<GroupArgs.length;k++)
				{						
						var KillGroup = GroupArgs[k].substr(0,1);								
						var Args = GroupArgs[k].substr(1);

						switch(k)
						{
							case 0:
								SpanUrl0 = Args;
								break;
							case 1:
								SpanUrl1 = Args;
								break;
							case 2:
								SpanUrl2 = Args;
								break;
							case 3:
								SpanUrl3 = Args;
								break;
							case 4:
								SpanUrl4 = Args;
								break;
							case 5:
								SpanUrl5 = Args;
								break;
						}
						// 判断参数的第一位和长度
						if(CheckArgs(Args,parseInt(KillGroup),GroupArgs[k].length))
						{
						//		showdiv(parseInt(KillGroup));
								SetTotalHit();  // 统计已用点数
						//		InitialKill(Args,parseInt(KillGroup),getArgs.length);						
						}
						else
						{
							location.href=location.pathname;
						}
					
			 }
			 var spanurlobj = document.getElementById("spanurl");
		   //spanurlobj.innerText = location.href;
		   spanurlobj.innerHTML= location.href;
		}
		else
		{
			InitialSpanUrl(0,true,0,0);  // 初始化URL
		}
	}
	catch(e){InitialSpanUrl(0,true,0,0); }
	SetTotalHit();
	c_f('swd');
}
//判断参数是否合法,参数:技能所处的技能组.该组有多少个的技能
function CheckArgs(Args,KillGroup,KillCount)
{
	if(KillGroup<0 || KillGroup>5) return false;	
	if(SkillCount[KillGroup]!=KillCount-2) return false;
	if(KillGroup==5){
		var spanpotential = document.getElementById("spanp4");
		var totalE = document.getElementById("total4");
	}else{
		var spanpotential = document.getElementById("spanp"+KillGroup);
		var totalE = document.getElementById("total"+KillGroup);
	}
	for(var i=0;i<=KillCount-2;i++)
	{
			var killdetail = GetDetailKill(KillGroup,i);
		
			
			var divobj = document.getElementById("div"+KillGroup+"_"+i);
			var overimgOBJ = document.getElementById("overimg"+KillGroup+"_"+i);
			var imgOBJ = document.getElementById("img"+KillGroup+"_"+i);
			var killOBJ = document.getElementById("kill"+KillGroup+"_"+i);
			var hit = Args.substr(i,1);
			if(isNumber(hit)) divobj.CurrentHit = parseInt(hit);   // 如果是数字
			else  divobj.CurrentHit =  parseInt(TransToFigure(hit)); 
			if(divobj.CurrentHit>divobj.MaxHit) divobj.CurrentHit=0;
			
			if(i==0){
				overimgOBJ.src = "images/green.gif";
				killOBJ.innerHTML = divobj.CurrentHit+"/"+divobj.MaxHit ;
				SetDivGradeValue("DivGrade"+KillGroup+"_"+i,divobj.CurrentHit);
				spanpotential.innerHTML = parseInt(spanpotential.innerHTML) + divobj.CurrentHit*killdetail[killdetail.length-1];
			}
			// 判断页面的初始化值是否正确.即只有父类的点数加到最大时.后面的点数才有效.否则父类没有达到点数
			// 而子类却有点数存在.则视为异常.按正常的打开页面来处理
			if(divobj.CurrentHit<divobj.MaxHit) 
			{
				// 以下只要有一个子类的点数不为0,则视为异常
				var iscyc = false;
				for(j=i+1;j<=SkillCount[KillGroup];j++)
				{
						var killtemp = GetDetailKill(KillGroup,j);
						if(i==killtemp[3])
						{
							iscyc = true;  // 已经循环过了.
							var hit = Args.substr(j,1);
							if(isNumber(hit)) 
							{
								if(parseInt(hit)!=0) return false;
								
							}
							else
							{
								 return false;
							}
							
						}
						else
						{
								if(iscyc==true) break;
						}
				}
			}
			else  // 达到最高点数.则它的子类要亮度显示,
			{
				// 以下只要有一个子类的点数不为0,则视为异常
				var iscyc = false;
				divobj.iscaladd = true;	
				for(j=i+1;j<=SkillCount[KillGroup];j++)
				{
				//		debugger;
						var killtemp = GetDetailKill(KillGroup,j);
						if(i==killtemp[3])
						{
								iscyc = true;
								var hit = Args.substr(j,1);
								var divchildobj = document.getElementById("div"+KillGroup+"_"+j);
								var childoverimgOBJ = document.getElementById("overimg"+KillGroup+"_"+j);
								var childimgOBJ = document.getElementById("img"+KillGroup+"_"+j);
								var childkillOBJ = document.getElementById("kill"+KillGroup+"_"+j);
								
								if(!isNumber(hit)) 
								{
										hit = TransToFigure(hit);								
								}
								childimgOBJ.src = "images/"+GetImgUrlByGroup(parseInt(KillGroup),j,true);
								//childkillOBJ.innerText = hit+"/"+divchildobj.MaxHit ;
								childkillOBJ.innerHTML = hit+"/"+divchildobj.MaxHit ;
								divchildobj.isvalid = true;	
								if(hit==divchildobj.MaxHit)  divchildobj.iscaladd = true;	
								if(hit==0) divchildobj.iscalsub = true;
								spanpotential.innerHTML = parseInt(spanpotential.innerHTML) + hit*killtemp[killtemp.length-1];
						}
						else
						{
								if(iscyc==true) break;
						}
				}
			}
			
			//totalE.innerText = spanpotential.innerText;
			totalE.innerHTML = spanpotential.innerHTML;
			
	}
	return true;	
}

// 根据技能组ID决定要显示哪一个技能组的DIV
function showdiv(KillGroup)
{	
	switch(KillGroup)
	{
			case 0:
				tab_config.current_label = "content1";				
				break;
			case 1:
				tab_config.current_label = "content2";
				break;
			case 2:
				tab_config.current_label = "content3";
				break;
			case 3:
				tab_config.current_label = "content4";
				break;
			case 4:
				tab_config.current_label = "content5";
				break;
	}
	tab2 = new tab_effect(tab_config);
	tab2.init("点击");
	document.getElementById("c"+tab_config.current_label).style.display="";
}

// 初始化各项技能的值,包括已用点数值等
function InitialKill(Args,KillGroup,KillCount)
{
	for(var i=0;i<=KillCount-2;i++)
	{
		var divobj = document.getElementById("div"+KillGroup+"_"+i);
		var overimgOBJ = document.getElementById("overimg"+KillGroup+"_"+i);
		var imgOBJ = document.getElementById("img"+KillGroup+"_"+i);
		var killOBJ = document.getElementById("kill"+KillGroup+"_"+i);
		
		var hit = Args.substr(i,1);
		if(isNumber(hit)) divobj.CurrentHit = parseInt(hit);   // 如果是数字
		else  divobj.CurrentHit =  parseInt(TransToFigure(hit)); 
		if(divobj.CurrentHit>divobj.MaxHit) divobj.CurrentHit=0;
		
		if(i==0){
				overimgOBJ.src = "images/green.gif";
				killOBJ.innerHTML = divobj.CurrentHit+"/"+divobj.MaxHit ;
		}
		else{
				if(divobj.CurrentHit!=0){ 
						overimgOBJ.src = "images/green.gif";
						imgOBJ.src = "images/"+GetImgUrlByGroup(parseInt(KillGroup),i,true);
						killOBJ.innerHTML = divobj.CurrentHit+"/"+divobj.MaxHit ;
						divobj.isvalid = true;	
				}
		}
		
	} 
}

// IsBright判断是否取得亮图
function GetImgUrlByGroup(KillGroup,position,IsBright)
{
		var killdetail = GetDetailKill(KillGroup,position);
		var overimgOBJ = document.getElementById("overimg"+KillGroup+"_"+position);		
		if(IsBright==true)
		{
				overimgOBJ.src = "images/green.gif";
				return killdetail[4];
		}
		else
		{
			 overimgOBJ.src = "images/grey.gif";
			 return killdetail[5];
		}
	
}


function GetDetailKill(KillGroup,position)
{
		var killdetail;
		switch(KillGroup)
		{
			case 0:
				killdetail = Skill[position];
				break;
			case 1:
				killdetail = Skill[SkillCount[0]+position+1];
				break;
			case 2:
				killdetail = Skill[SkillCount[0]+SkillCount[1]+position+2];
				break;
			case 3:
				killdetail = Skill[SkillCount[0]+SkillCount[1]+SkillCount[2]+position+3];
				break;
			case 4:
				killdetail = Skill[SkillCount[0]+SkillCount[1]+SkillCount[2]+SkillCount[3]+position+4];
				break;
			case 5:
				killdetail = Skill[SkillCount[0]+SkillCount[1]+SkillCount[2]+SkillCount[3]+SkillCount[4]+position+5];
				break;
		}
		return killdetail;
}


function SetDivGradeValue(id,CurrentHit)
{
	var _obj = document.getElementById(id);
	//var str = _obj.innerText.split("/");
	var str = _obj.innerHTML.split("/");
	var strtemp = CurrentHit +"/" + str[1];
	//_obj.innerText = strtemp;
	_obj.innerHTML = strtemp;
}

// 所属组,是否初始化,点击的位置,点数
function InitialSpanUrl(KillGroup,IsInit,position,CurrentHit)
{	
	var args="";
	var spanurlobj = document.getElementById("spanurl");
	if(IsInit)
	{
		var tmp=location.href+"";
		if(tmp.search("\\?")<0){
			spanurlobj.innerHTML = tmp + "?0"+SpanUrl0+"|1"+SpanUrl1+"|2"+SpanUrl2+"|3"+SpanUrl3+"|4"+SpanUrl4+"|5"+SpanUrl5;//czc
		}else
			spanurlobj.innerHTML = tmp;//czc
	}
	
}

// 获取地 址
function  GetInitSpanUrl(KillGroup)
{
	var args = "";
	for(var i=0;i<=SkillCount[KillGroup];i++)
	{
		args = args + "0";
	}
	return args;
}

// 将spanurl字符串的第position位置的字符替换为hit
function ReplaceUrl(spanurl,hit,position)
{
	var str1 = spanurl.substr(0,position);
	var str2 = spanurl.substr(position+1);
	return str1+hit+str2;
}


function SetSpanUrl(CurrentHit,Unic)
{				
					var hit = CurrentHit;
					var temparg = "";
					if(hit>9) hit = TransToStr(CurrentHit);
					switch(Unic[0])
					{
						case "0":
							SpanUrl0 = ReplaceUrl(SpanUrl0,hit,parseInt(Unic[1]));
							temparg = SpanUrl0;
							break;
						case "1":
							SpanUrl1 = ReplaceUrl(SpanUrl1,hit,parseInt(Unic[1]));
							temparg = SpanUrl1;
							break;
						case "2":
							SpanUrl2 = ReplaceUrl(SpanUrl2,hit,parseInt(Unic[1]));
							temparg = SpanUrl2;
							break;
						case "3":
							SpanUrl3 = ReplaceUrl(SpanUrl3,hit,parseInt(Unic[1]));
							temparg = SpanUrl3;
							break;
						case "4":
							SpanUrl4 = ReplaceUrl(SpanUrl4,hit,parseInt(Unic[1]));
							temparg = SpanUrl4;
							break;	
						case "5"://czc
							SpanUrl5 = ReplaceUrl(SpanUrl5,hit,parseInt(Unic[1]));
							temparg = SpanUrl5;
							break;
					}
					var spanurlobj = document.getElementById("spanurl");
					//var p = spanurlobj.innerText.indexOf("?");
					var p = spanurlobj.innerHTML.indexOf("?");
					if(p>0)
					{
						spanurlobj.innerHTML = spanurlobj.innerHTML.substr(0,p)+"?0"+SpanUrl0+"|1"+SpanUrl1+"|2"+SpanUrl2+"|3"+SpanUrl3+"|4"+SpanUrl4+"|5"+SpanUrl5;
					}
					else
					{
						spanurlobj.innerHTML = location.href +"??0"+SpanUrl0+"|1"+SpanUrl1+"|2"+SpanUrl2+"|3"+SpanUrl3+"|4"+SpanUrl4+"|5"+SpanUrl5;
					}
}

// 统计已用点数.已用点数不能大于最大值755
function SetTotalHit()
{
	stotalOBJ = document.getElementById("stotal");
	total0OBj = document.getElementById("total0");
	total1OBj = document.getElementById("total1");
	total2OBj = document.getElementById("total2");
	total3OBj = document.getElementById("total3");
	total4OBj = document.getElementById("total4");
	stotalOBJ.innerHTML = parseInt(total0OBj.innerHTML)+parseInt(total1OBj.innerHTML)+parseInt(total2OBj.innerHTML)+parseInt(total3OBj.innerHTML)+parseInt(total4OBj.innerHTML);
	document.getElementById('point').innerHTML=parseInt(document.getElementById('shit').innerHTML)-parseInt(document.getElementById('stotal').innerHTML);//czc
	
}

// 取得当前ID所属的潜力值
function GetPosition(Unic)
{
		var killdetail = GetDetailKill(parseInt(Unic[0]),parseInt(Unic[1]));
		return killdetail[killdetail.length-1];
}

//数字; 
function isNumber(s){
	return !isNaN(s); 
}

function getId(s){
	return document.getElementById(s);
}
function getNum(s,n){
	var tmp;
	if(s=='swd'){//剑客
		tmp=swd_a[swd_l-1].split(",");
		tmp=tmp[n];
	}else if(s=='chi'){//侠客
		tmp=chi_a[chi_l-1].split(",");
		tmp=tmp[n];
	}else if(s=='str'){//力士
		tmp=str_a[str_l-1].split(",");
		tmp=tmp[n];
	}else if(s=='war'){//武士
		tmp=war_a[war_l-1].split(",");
		tmp=tmp[n];
	}
	return tmp;
}
// 剩余点数不足
function reset_f(s){
	//s,m,a
	tmp=parseInt(getId('level').value);
	if(tmp>50){
		alert("请输入不大于50的等级");
		return ;
	}
	if(s=='s'){
		if(cur_s=='swd')
			swd_l=tmp;
		else if(cur_s=='chi')
			chi_l=tmp;
		else if(cur_s=='war')
			war_l=tmp;
		else if(cur_s=='str')
			str_l=tmp;
	}else if(s=='m'){
		if(tmp>1)
		tmp=tmp-1;
		if(cur_s=='swd')
			swd_l=tmp;
		else if(cur_s=='chi')
			chi_l=tmp;
		else if(cur_s=='war')
			war_l=tmp;
		else if(cur_s=='str')
			str_l=tmp;		
	}else if(s=='a'){
		if(tmp<50)
		tmp=tmp+1;
		if(cur_s=='swd')
			swd_l=tmp;
		else if(cur_s=='chi')
			chi_l=tmp;
		else if(cur_s=='war')
			war_l=tmp;
		else if(cur_s=='str')
			str_l=tmp;
	}
	c_f(cur_s);
}
var swd_l=50;
var chi_l=50;
var str_l=50;
var war_l=50;
var cur_s='swd';
function c_f(s){
	/*
	health 体力
	critical 致命脉击
	hit	功击力
	hitrate	命中率
	defence 防御力
	move	行动力
	//level
	shit	共有点数
	tdj		需要等级
	//体力0,攻击力1,防御力2,命中率3,致命率4，共有点数5
	*/
	if(s=='swd'){//剑客
		tmp=getNum('swd',5);
		if(isLimit(tmp))
			return;
		getId('shit').innerHTML=tmp;
		getId('tdj').innerHTML=swd_l;
		getId('health').innerHTML=getNum('swd',0);
		getId('hit').innerHTML=getNum('swd',1);
		getId('defence').innerHTML=getNum('swd',2);
		getId('hitrate').innerHTML=getNum('swd',3);
		getId('critical').innerHTML=getNum('swd',4);
		getId('level').value=swd_l;
		getId(cur_s).className="bg";
		cur_s='swd';		
		getId('swd').className="bg2";
	}else if(s=='chi'){//侠客
		tmp=getNum('chi',5);
		if(isLimit(tmp))
			return;
		getId('shit').innerHTML=tmp;
		getId('tdj').innerHTML=chi_l;
		getId('health').innerHTML=getNum('chi',0);
		getId('hit').innerHTML=getNum('chi',1);
		getId('defence').innerHTML=getNum('chi',2);
		getId('hitrate').innerHTML=getNum('chi',3);
		getId('critical').innerHTML=getNum('chi',4);
		getId('level').value=chi_l;
		getId(cur_s).className="bg";
		cur_s='chi';
		getId('chi').className="bg2";
	}else if(s=='str'){//力士
		tmp=getNum('str',5);
		if(isLimit(tmp))
			return;
		getId('shit').innerHTML=tmp;
		getId('tdj').innerHTML=str_l;
		getId('health').innerHTML=getNum('str',0);
		getId('hit').innerHTML=getNum('str',1);
		getId('defence').innerHTML=getNum('str',2);
		getId('hitrate').innerHTML=getNum('str',3);
		getId('critical').innerHTML=getNum('str',4);
		getId('level').value=str_l;
		getId(cur_s).className="bg";
		cur_s='str';
		getId('str').className="bg2";
	}else if(s=='war'){//武士
		tmp=getNum('war',5);
		if(isLimit(tmp))
			return;
		getId('shit').innerHTML=tmp;
		getId('tdj').innerHTML=war_l;
		getId('health').innerHTML=getNum('war',0);
		getId('hit').innerHTML=getNum('war',1);
		getId('defence').innerHTML=getNum('war',2);
		getId('hitrate').innerHTML=getNum('war',3);
		getId('critical').innerHTML=getNum('war',4);
		getId('level').value=war_l;
		getId(cur_s).className="bg";
		cur_s='war';
		getId('war').className="bg2";
	}
	getId('point').innerHTML=parseInt(getId('shit').innerHTML)-parseInt(getId('stotal').innerHTML);
}
function isLimit(n){
	if(parseInt(n)<parseInt(getId('stotal').innerHTML)){
		if(confirm("已用点数超出共有点数，是否重置所有天赋")){
			location.href=location.pathname;
			return true;
		}else
			return true;
	}
	return false;
}