﻿wowitem={
language:"zhcn",
loadingtext:"数据读取中...",
errortext:"对不起!没有相关数据",
patch:"http://www.wowchina.com/showitem/242/item/",
//patch:"",
css:"http://www.wowchina.com/showitem/json/showitem.css",
iconpath:"http://wowimg.the9.com/images_wow/icons/",
isshowtip:true,
isshow:true,
myTableMaxWidth:230,
d:{},
zhcn:{
	q:["myGray","myWhite","myGreen","myBlue","myPurple","myOrange","myGold"],
	b:["","拾取绑定","装备绑定"],
	c:["","唯一"],
	it:["non-equip","头部","颈部","肩部","衬衣","胸部","腰部","腿部","脚","手腕","手","手指","饰品","单手","副手","远程","背部","双手","bag-type","公会徽章","胸部","主手","副手","副手物品","弹药","投掷武器","远程","quiver-type","圣物"],
	dt:["伤害","神圣伤害","火焰伤害","自然伤害","冰霜伤害","暗影伤害","奥术伤害"],
	trigger:["使用：","装备：","命中时可能：","套装："],
	socket:{
		Red:"<img src='http://wowimg.the9.com/images_wow/icons/Socket_Red.png' class='socketImg'/>红色插槽",
		Yellow:"<img src='http://wowimg.the9.com/images_wow/icons/Socket_Yellow.png' class='socketImg'/>黄色插槽",
		Blue:"<img src='http://wowimg.the9.com/images_wow/icons/Socket_Blue.png' class='socketImg'/>蓝色插槽"
	},
	conjured:"魔法制造物品",
	startQuestId:"该物品可触发一个任务",
	races:"种族",
	classes:"职业",
	armor:"护甲值",
	speed:"速度",
	dps:"每秒伤害",
	block:"格挡",
	strength:"力量",
	agility:"敏捷",
	stamina:"耐力",
	intellect:"智力",
	spirit:"精神",
	fireresistance:"火焰抗性",
	natureresistance:"自然抗性",
	frostresistance:"冰霜抗性",
	shadowresistance:"暗影抗性",
	arcaneresistance:"奥术抗性",
	socketbonus:"插槽加成：",
	durability:"耐久度：",
	requireslevel:"装备等级",
	increasedefense:"装备：提高防御等级",
	increasedodge:"装备：提高你的闪躲等级",
	bonusParryRating:"装备：提高你的招架等级",
	bonusBlockRating:"装备：提高你的盾牌格档等级",
	bonusHitMeleeRating:"近战命中等级加成",
	bonusHitRangedRating:"远程命中等级加成",
	improvespell:"装备：提高法术命中等级",
	bonusCritMeleeRating:"近战爆击等级加成",
	bonusCritRangedRating:"远程爆击等级加成",
	improvespellcrit:"装备：提高法术爆击等级",
	bonusHitTakenMeleeRating:"承受近战命中等级加成",
	bonusHitTakenRangedRating:"承受远程命中等级加成",
	bonusHitTakenSpellRating:"承受法术命中等级加成",
	bonusCritTakenMeleeRating:"承受近战爆击等级加成",
	bonusCritTakenRangedRating:"承受远程爆击等级加成",
	bonusCritTakenSpellRating:"承受法术爆击等级加成",
	bonusHasteMeleeRating:"近战加速等级加成",
	bonusHasteRangedRating:"远程加速等级加成",
	bonusHasteSpellRating:"装备：提高施法加速等级",
	improvehitrating:"装备：提高命中等级",
	improvecritstrike:"装备：提高爆击等级",
	bonusHitTakenRating:"装备：提高命中回避等级",
	bonusCritTakenRating:"承受爆击等级加成",
	improveresilience:"装备：提高你的韧性等级",
	bonusHasteRating:"装备：提高加速等级",
	bonusExpertiseRating:"装备：提高你的熟练度"
},
ie:(document.all&&!window.opera),
cT:function(text,parent){var tl=document.createTextNode(text);if (parent) parent.appendChild(tl);return tl;},
cE:function(tag,attribs,styles,parent,nopad,inner,func,callback){var el=document.createElement(tag);if(callback){if(wowitem.ie){el.onreadystatechange=function(){if(el.readyState=='complete')callback();}}else el.onload=callback;};if(attribs)wowitem.sA(el,attribs);if(nopad)wowitem.sS(el,{padding:0,border:'none',margin:0});if(styles)wowitem.sS(el,styles);if(parent)parent.appendChild(el);if(inner)el.innerHTML=inner;if(func)wowitem.sF(el,func);return el;},
sA:function(el,attribs){for(var x in attribs)el[x]=attribs[x];},
sF:function(el,func){for(var x in func)el[x]=func[x];},
sS:function(el,styles){for(var x in styles){try{if(wowitem.ie&&x=='opacity'){if(styles[x]>0.99)el.style.removeAttribute('filter');else el.style.filter='alpha(opacity='+(styles[x]*100)+')';}else el.style[x]=styles[x];}catch(e){}}},
pC:function(parent,node){if(parent.firstChild){parent.insertBefore(node,parent.firstChild);}else{parent.appendChild(node);}},

cTT:function(parent,innerId,attribs,styles){
	this.table=wowitem.cE('table',attribs,styles,parent);
	var tbody=wowitem.cE('tbody',null,null,this.table);
	this.td=[];
	tdclass=["tl","t","tr","l","bg","r","bl","b","br"];
	for (var i=0;i<9;i++) {
		if (i%3==0)tr=wowitem.cE('tr',null,null,tbody);
		this.td[i]=wowitem.cE('td',{className:tdclass[i]},null,tr);
	}
	wowitem.cE('q',null,null,this.td[3]);
	wowitem.cE('q',null,null,this.td[5]);
	this.div=wowitem.cE('div',innerId,null,this.td[4]);
	return this.div;
},
cTD:function(){
	tipdiv=wowitem.cE("div",{id:"tooltipcontainer",className:"tooltip"},{position:"absolute",top:"-1000px",left:"-1000px"});
	var iconx=wowitem.cE("img",{id:"tipicon",className:"png"},null,tipdiv);
	var tc=wowitem.cE("div",{id:"tool1container"},null,tipdiv);
	toolBox_one=wowitem.cTT(tc,{id:"toolBox_one"});
	toolBox_two=wowitem.cTT(tipdiv,{id:"toolBox_two"},{id:"tool2container"},{cssText:"float:left",marginTop:"10px",display:"none"});
	toolBox_three=wowitem.cTT(tipdiv,{id:"toolBox_three"},{id:"tool3container"},{cssText:"float:left",marginTop:"10px",display:"none"});
	return tipdiv;
},
transsock:function(){
	var str=this;
	if(this.indexOf("Socket_Red.png")!=-1)str=str.replace("Socket_Red.png",wowitem.iconpath+"Socket_Red.png");
	if(this.indexOf("Socket_Yellow.png")!=-1)str=str.replace("Socket_Yellow.png",wowitem.iconpath+"Socket_Yellow.png");
	if(this.indexOf("Socket_Blue.png")!=-1)str=str.replace("Socket_Blue.png",wowitem.iconpath+"Socket_Blue.png");
	if(this.indexOf("Socket_Meta.png")!=-1)str=str.replace("Socket_Blue.png",wowitem.iconpath+"Socket_Meta.png");
	return str
},
TransFormTable:function(d){
l=eval("wowitem."+wowitem.language);
//alert(l.overallQualityId[4])
brct=function(){wowitem.cE("br",null,null,dhtml);wowitem.cT(this,dhtml);}
brsp=function(){wowitem.cE("br",null,null,dhtml);wowitem.cE("span",null,null,dhtml,null,this+"&nbsp;"+arguments[0]);}
breD=function(){
	wowitem.cE("br",null,null,dhtml);
	wowitem.cT(l.it[this.inventoryType],dhtml);
	wowitem.cE("span",{className:"tooltipRight"},null,dhtml,null,this.subclassName);
	dhtml.style.width=wowitem.myTableMaxWidth+"px";
}
brsoD=function(){
	for(var x in this.socket){
		wowitem.cE("br",null,null,dhtml);
		wowitem.cE("span",{className:"setItemGray"},null,dhtml,null,l.socket[this.socket[x].color]);
	}
	if(this.socketMatchEnchant){
		wowitem.cE("br",null,null,dhtml);
		wowitem.cE("span",{className:"setItemGray"},null,dhtml,null,l.socketbonus+this.socketMatchEnchant);
	}
}
brspD=function(){
	if(this.spell){
		if(this.spell.length)
		for(var x in d.spellData.spell){
			wowitem.cE("br",null,null,dhtml);
			wowitem.cE("span",{className:"bonusGreen"},null,dhtml,null,l.trigger[this.spell[x].trigger]+this.spell[x].desc);
		}
	else {
			wowitem.cE("br",null,null,dhtml);
			wowitem.cE("span",{className:"bonusGreen"},{width:wowitem.myTableMaxWidth+"px",display:"block"},dhtml,null,l.trigger[this.spell.trigger]+this.spell.desc);
		}
	}
}
brdD=function(){
	if(this.damage){
		wowitem.cE("br",null,null,dhtml);
		wowitem.cE("span",null,null,dhtml,null,this.damage.min+"-"+this.damage.max+"&nbsp;");
		wowitem.cE("span",null,null,dhtml,null,l.dt[this.damage.type]);
	}
	if(this.speed){
		wowitem.cE("span",{className:"tooltipRight"},null,dhtml,null,l.speed+"&nbsp;"+this.speed.toFixed(2));
	}
	if(this.dps){
		wowitem.cE("br",null,null,dhtml);
		wowitem.cT("(",dhtml);
		wowitem.cE("span",null,null,dhtml,null,this.dps.toFixed(1)+"&nbsp;");
		wowitem.cE("span",null,null,dhtml,null,l.dps);
		wowitem.cT(")",dhtml);
	}
	if(this.gemProperties){
		wowitem.cE("br",null,null,dhtml);
		wowitem.cT(this.gemProperties,dhtml);
	}
	if(this.desc){
		wowitem.cE("br",null,null,dhtml);
		wowitem.cE("span",{className:"myYellow"},null,dhtml,null,this.desc);
	}
}
braM=function(){
	wowitem.cE("br",null,null,dhtml);
var _d=wowitem.cE("span",null,null,dhtml,null);
	wowitem.cE("span",null,null,_d,null,this.text+"&nbsp;");
	if(this.armorBonus==1){_d.className="myGreen"};
	wowitem.cE("span",null,null,_d,null,l.armor);
}
brB=function(){
	wowitem.cE("br",null,null,dhtml);
var _b=wowitem.cE("span",{className:"bonusGreen"},null,dhtml);
	wowitem.cE("span",null,null,_b,null,arguments[0]+"&nbsp;");
	wowitem.cE("span",null,null,_b,null,this+"&nbsp;点。");
}
brbO=function(){
	wowitem.cE("br",null,null,dhtml);
	wowitem.cE("span",null,null,dhtml,null,"+"+this+"&nbsp;");
	wowitem.cE("span",null,null,dhtml,null,arguments[0]);
}
var thtml=wowitem.cE("div");
var dhtml=wowitem.cE("div",{className:"myTable"},null,thtml);
	dicon=wowitem.cE("span",{className:"icon"},{position:'absolute',left:"-55px",top:"-4px"},dhtml);
		wowitem.cE("img",{className:"png",src:wowitem.iconpath+"43x43/"+d.icon+".png"},null,dicon);
	dtitle=wowitem.cE("span",{className:l.q[d.overallQualityId]+" myBold myItemName"},null,dhtml);
		wowitem.cE("span",null,{whiteSpace:"nowrap"},dtitle,null,d.name);
if(d.zoneBound)brct.apply(d.zoneBound);//限制地区
if(d.instanceBound)brct.apply(d.instanceBound);//限制副本
if(d.conjured==0)brct.apply(l.conjured);//魔法制造物品
if(d.bonding)brct.apply(l.b[d.bonding]);//绑定
if(d.maxCount)brct.apply(l.c[d.maxCount]);//唯一
if(d.startQuestId)brct.apply(l.startQuestId);//触发任务

if(d.equipData.inventoryType!=0)breD.apply(d.equipData);//种类
if(d.damageData)brdD.apply(d.damageData);//伤害
if(d.armor)braM.apply(d.armor);//护甲
if(d.blockValue)brsp.apply(d.blockValue,[l.block]);//格挡
if(d.bonusStrength)brbO.apply(d.bonusStrength,[l.strength]);//力量
if(d.bonusAgility)brbO.apply(d.bonusAgility,[l.agility]);//敏捷
if(d.bonusStamina)brbO.apply(d.bonusStamina,[l.stamina]);//耐力
if(d.bonusIntellect)brbO.apply(d.bonusIntellect,[l.intellect]);//智力
if(d.bonusSpirit)brbO.apply(d.bonusSpirit,[l.spirit]);//精神
if(d.fireResist)brbO.apply(d.fireResist,[l.fireresistance]);//火抗
if(d.natureResist)brbO.apply(d.natureResist,[l.natureresistance]);//自然抗
if(d.frostResist)brbO.apply(d.frostResist,[l.frostresistance]);//冰抗
if(d.shadowResist)brbO.apply(d.shadowResist,[l.shadowresistance]);//暗抗
if(d.arcaneResist)brbO.apply(d.arcaneResist,[l.arcaneresistance]);//奥抗

if(d.socketData)brsoD.apply(d.socketData);//插槽

if(d.durability)brct.apply(l.durability+" "+d.durability.current+" / "+d.durability.max);//耐久
if(d.allowableRaces)brct.apply(l.races+"："+d.allowableRaces);//种族
if(d.allowableClasses)brct.apply(l.classes+"："+d.allowableClasses);//职业
if(d.requiredLevel&&d.requiredLevel!=1)brct.apply(l.requireslevel+" "+d.requiredLevel);//装备等级
//if(d.requiredSkill)
//if(d.requiredAbility)
//if(d.requiredFaction)//声望
//if(d.requiredPersonalArenaRating)//竞技场

if(d.bonusDefenseSkillRating)brB.apply(d.bonusDefenseSkillRating,[l.increasedefense]);//防御等级
if(d.bonusDodgeRating)brB.apply(d.bonusDodgeRating,[l.increasedodge]);//闪躲等级
if(d.bonusParryRating)brB.apply(d.bonusParryRating,[l.bonusParryRating]);//招架等级
if(d.bonusBlockRating)brB.apply(d.bonusBlockRating,[l.bonusBlockRating]);//盾牌格档等级
if(d.bonusHitMeleeRating)brB.apply(d.bonusHitMeleeRating,[l.bonusHitMeleeRating]);//近战命中等级加成
if(d.bonusHitRangedRating)brB.apply(d.bonusHitRangedRating,[l.bonusHitRangedRating]);//远程命中等级加成
if(d.bonusHitSpellRating)brB.apply(d.bonusHitSpellRating,[l.improvespell]);//提高法术命中等级
if(d.bonusCritMeleeRating)brB.apply(d.bonusCritMeleeRating,[l.bonusCritMeleeRating]);//近战爆击等级加成
if(d.bonusCritRangedRating)brB.apply(d.bonusCritRangedRating,[l.bonusCritRangedRating]);//远程爆击等级加成
if(d.bonusCritSpellRating)brB.apply(d.bonusCritSpellRating,[l.improvespellcrit]);//提高法术爆击等级
if(d.bonusHitTakenMeleeRating)brB.apply(d.bonusHitTakenMeleeRating,[l.bonusHitTakenMeleeRating]);//承受近战命中等级加成
if(d.bonusHitTakenRangedRating)brB.apply(d.bonusHitTakenRangedRating,[l.bonusHitTakenRangedRating]);//承受远程命中等级加成
if(d.bonusHitTakenSpellRating)brB.apply(d.bonusHitTakenSpellRating,[l.bonusHitTakenSpellRating]);//承受法术命中等级加成
if(d.bonusCritTakenMeleeRating)brB.apply(d.bonusCritTakenMeleeRating,[l.bonusCritTakenMeleeRating]);//承受近战爆击等级加成
if(d.bonusCritTakenRangedRating)brB.apply(d.bonusCritTakenRangedRating,[l.bonusCritTakenRangedRating]);//承受远程爆击等级加成
if(d.bonusCritTakenSpellRating)brB.apply(d.bonusCritTakenSpellRating,[l.bonusCritTakenSpellRating]);//承受法术爆击等级加成
if(d.bonusHasteMeleeRating)brB.apply(d.bonusHasteMeleeRating,[l.bonusHasteMeleeRating]);//近战加速等级加成
if(d.bonusHasteRangedRating)brB.apply(d.bonusHasteRangedRating,[l.bonusHasteRangedRating]);//远程加速等级加成
if(d.bonusHasteSpellRating)brB.apply(d.bonusHasteSpellRating,[l.bonusHasteSpellRating]);//提高施法加速等级
if(d.bonusHitRating)brB.apply(d.bonusHitRating,[l.improvehitrating]);//提高命中等级
if(d.bonusCritRating)brB.apply(d.bonusCritRating,[l.improvecritstrike]);//提高爆击等级
if(d.bonusHitTakenRating)brB.apply(d.bonusHitTakenRating,[l.bonusHitTakenRating]);//提高命中回避等级
if(d.bonusCritTakenRating)brB.apply(d.bonusCritTakenRating,[l.bonusCritTakenRating]);//承受爆击等级加成
if(d.bonusResilienceRating)brB.apply(d.bonusResilienceRating,[l.improveresilience]);//韧性等级
if(d.bonusHasteRating)brB.apply(d.bonusHasteRating,[l.bonusHasteRating]);//加速等级
if(d.bonusExpertiseRating)brB.apply(d.bonusExpertiseRating,[l.bonusExpertiseRating]);//熟练度

if(d.spellData)brspD.apply(d.spellData);//技能
if(d.setData){
	wowitem.cE("br",null,null,dhtml);
	wowitem.cE("span",{className:"setNameYellow"},null,dhtml,null,d.setData.name+"&nbsp;(0/"+d.setData.item.length+")");
	_d=wowitem.cE("div",{className:"setItemIndent"},null,dhtml);
	for(var x in d.setData.item){
		wowitem.cE("br",null,null,_d);
		wowitem.cE("span",{className:"setItemGray"},null,_d,null,d.setData.item[x].name);
	}
	for(var y in d.setData.setBonus){
		wowitem.cE("br",null,null,dhtml);
		wowitem.cE("span",{className:"setItemGray"},null,dhtml,null,"("+d.setData.setBonus[y].threshold+")&nbsp;"+l.trigger[3]+d.setData.setBonus[y].desc);
	}
	wowitem.cE("br",null,null,dhtml);
}//套装

	return thtml.innerHTML;
},

additem:function(data){
	wowitem.d[data.id]=data;
	if(wowitem.d[data.id].tooltip==null){wowitem.d[data.id].tooltip=wowitem.TransFormTable(wowitem.d[data.id]);}
		showtip(wowitem.d[data.id].tooltip);
		document.getElementById("tipicon").src = wowitem.iconpath+"43x43/"+wowitem.d[data.id].icon+".png";
},
ScriptError:function(e){
	animet=function(i){
		if(wowitem.isshow){
			if(i<3){
				showtip(wowitem.loadingtext.substr(0,wowitem.loadingtext.length-(1+i))+".");
				setTimeout(function(){animet(i+1)},400)
				}
			else if(i>1&&i<6){
				showtip(wowitem.loadingtext.substr(0,wowitem.loadingtext.length+(i-5))+".");
				setTimeout(function(){animet(i+1)},400)
			}
			else showtip(wowitem.errortext,"FF4466");
		}
	}
	if(wowitem.isshow){
		setTimeout(function(){this.animet(0)},400)
		return true
	}
},
CreateScript:function(filename){
	if(wowitem.d[filename]==null){
		wowitem.cE("script",{type:"text/javascript",src:wowitem.patch+filename+".js"},null,document.getElementsByTagName("head")[0],null,null);
	}
	else {
		document.getElementById("tipicon").src = wowitem.iconpath+"43x43/"+wowitem.d[filename].icon+".png";
		showtip(wowitem.d[filename].tooltip);
	}
},
AjaxScript:function(id,t){
	//if(window.onerror!=wowitem.ScriptError){window.onerror=wowitem.ScriptError}
	wowitem.isshowtip=t!=false?true:false;
	if(id.length>0)for(var x in id){wowitem.CreateScript(id[x])}
	else wowitem.CreateScript(id);
},
tipPosition:function(e){
	if(!e)e=window.event;
	dE=document.documentElement||document.body;
	if(wowitem.isshow){
	mX=e.clientX;
	mY=e.clientY;
	tW=tipdiv.offsetWidth;
	tH=tipdiv.offsetHeight;
	wW=dE.clientWidth;
	wH=dE.clientHeight;
	sL=dE.scrollLeft;
	sT=dE.scrollTop;
	
	tL=(mX+tW+10)>(wW+sL)?(wW+sL-tW):(mX<45)?45:mX+10;
	tT=tH>wH?sT:(mY+tH+20)>(wH+sT)?(wH+sT-tH):mY+sT+10;
	tL=(((tT-mY)<10)&&((tT-mY)>-50))?tL+50:tL;
	//document.getElementById("debug").innerHTML="X="+mX+",Y="+mY+"<br/>DIV宽："+tW+",高："+tH+"<br/>屏幕宽："+wW+",高："+wH+"<br/>屏幕滚："+sL+",高："+sT+"<br/>差"+((mY+tH-10)>(wH+sT));
	
	try{
		tipdiv.style.left=tL+"px";
		tipdiv.style.top=tT+"px";
	}
	catch(e){}
	}
}
}



function loadTooltip(itemId){
	showtip(wowitem.loadingtext);
	wowitem.AjaxScript(itemId);
}
function showtip(inner,color){
	if(wowitem.isshowtip){
		if(document.onmousemove==null){document.onmousemove=wowitem.tipPosition;}
		wowitem.isshow=true;
		if(!document.getElementById("tooltipcontainer")){
/*			var styles = document.getElementsByTagName("link");
			var Ctr =0 ;
			for(i=0;i<styles.length;i++){
				if(styles[i].href.indexOf("showitem")!=-1) Ctr++;
			}
			if(!Ctr){wowitem.cE("link",{rel:"stylesheet",type:"text/css",href:wowitem.css},null,document.getElementsByTagName("head")[0]);}*/
			wowitem.cE("link",{rel:"stylesheet",type:"text/css",href:wowitem.css},null,document.getElementsByTagName("head")[0]);
			tooltip=wowitem.cTD();
			wowitem.pC(document.body,tooltip);
		}
		if(color){toolBox_one.innerHTML="<font style='color:#"+color+"'>"+inner+"</font>";}
		else toolBox_one.innerHTML=inner;
	}
	//if(tipdiv.offsetWidth>wowitem.myTableMaxWidth){
	//	tipdiv.style.width=wowitem.myTableMaxWidth+"px"
	//	}
}

function hidetip(){
	wowitem.isshow=false;
	try{tipdiv.style.left="-1000px";tipdiv.style.top="-1000px";}
	catch (e) {}
}
