var days=['Mon','Tue','Wed','Thu','Fri','Sat','Sun']; var fullday=['Monday','Tuesday','Wednesday','Thursday','Friday','Saturday','Sunday'];

function convn(nu) {if (nu!=-Infinity&&nu!=Infinity) {var nu=(nu+'').split('.'); if (nu[1]) {nu[1]=nu[1]+'';} else {nu[1]='00';}
while(nu[1].length<2) {nu[1]+='0';}
nu[0]=number(nu[0]);
return nu.join(',');} else {return '~';}}

function inittribe(id,type,sort,page) {var t=translate;
vars.serverpage=vars.serverurl+'page.php?page=inbound&'; hide();

var ht=historytype;
var vild=villagedata;
var playd=playerdata;
var vildo=playerhistorydata;
var tribd=tribedata;
var v=[];
if (ht) {if (playd[id]&&vildo[id]) {v.push([playd[id],id,vildo[id]]); var trd=playd[id];} else {id=0;}}
else {if (tribd[id]) {for(var i in playd) {if (playd[i][1]==id&&playd[i][0]>0&&vildo[i]) {v.push([playd[i],i,vildo[i]]);}}; var trd=tribd[id];} else {id=0;}}

var main=['<table cellpadding="2" cellspacing="1" class="ttt" style="border-right: 0px;">'];

var typer=6; var columns=(ht?9:12); if (type=='points') {typer=2; columns=13;} else if (type=='performance') {typer=1; columns=5;} else if (type=='oda') {typer=3; columns=13;} else if (type=='odd') {typer=4; columns=13;} else if (type=='conquers') {typer=5; columns=7;} else if (type=='conquers-players') {typer=7; columns=7;} else if (type=='conquers-tribes') {typer=8; columns=6;} else if (type=='members'||type=='tribes') {typer=9; columns=ht?6:7;};

if (id&&id!='0'&&id!='') {
var co=conqhd;
var conquerv={};
var lost=0;
var gained=0;
var ce=''; var coa=[];
for(var vid in co) {ce=co[vid]; ce.push(vid); coa.push(ce);
if (ht) {if (ce[2]==id) {lost++;} else {gained++;}}
else {if (ce[4]==id) {lost++;}
if (ce[5]==id) {gained++;}}
}

var n=number; var xl=v.length; var villag=[]; var rown=1; var prevp=0; var inc=[0,0,0,0,0,0,0,0];
for(var f=0;f<xl;f++) {
inc[0]+=v[f][0][0]-v[f][2][0]; inc[1]+=v[f][2][0];
inc[2]+=v[f][0][9]-v[f][2][1]; inc[3]+=v[f][2][1];
inc[4]+=v[f][0][10]-v[f][2][2]; inc[5]+=v[f][2][2];
inc[6]+=v[f][0][3]; inc[7]+=v[f][0][0];
}

main.push('<tr style="line-height: 14px; font-size: 12px;"><td colspan="',columns,'">Data displayed: ');
if (typer==6) {main.push('<b>General</b> - ');} else {main.push('<a href="#general" onclick="inittribe(\'',id,'\',\'general\',',sort,');" onmouseover="show(\'General player/tribe member data.\',3);" onmouseout="msu();">General</a> - ');}
if (typer==2) {main.push('<b>Points</b> - ');} else {main.push('<a href="#points" onclick="inittribe(\'',id,'\',\'points\',',sort,');" onmouseover="show(\'Historical data for points.\',3);" onmouseout="msu();">Points</a> - ');}
if (typer==3) {main.push('<b>ODA</b> - ');} else {main.push('<a href="#oda" onclick="inittribe(\'',id,'\',\'oda\',',sort,');" onmouseover="show(\'Historical data for ODA (opponents defeated as attacker).\',3);" onmouseout="msu();">ODA</a> - ');}
if (typer==4) {main.push('<b>ODD</b> - ');} else {main.push('<a href="#odd" onclick="inittribe(\'',id,'\',\'odd\',',sort,');" onmouseover="show(\'Historical data for ODD (opponents defeated as defender).\',3);" onmouseout="msu();">ODD</a> - ');}
if (typer==1) {main.push('<b>Performance</b> - ');} else {main.push('<a href="#performance" onclick="inittribe(\'',id,'\',\'performance\',',sort,');" onmouseover="show(\'Performance scores for points, ODA and ODD.\',3);" onmouseout="msu();">Performance</a> - ');}
if (typer==5||typer==7||typer==8) {main.push('<b>Conquers</b> - ');} else {main.push('<a href="#conquers" onclick="inittribe(\'',id,'\',\'conquers\',',sort,');" onmouseover="show(\'Historical data for conquers, displays villages gained and lost, groupable by players and tribes.\',3);" onmouseout="msu();">Conquers</a> - ');}
if (typer==9) {main.push('<b>',(ht?'Tribe changes':'Member changes'),'</b>');} else {main.push('<a href="#',ht?'tribes':'members','" onclick="inittribe(\'',id,'\',\'members\',',sort,');" onmouseover="show(\'',ht?'Last 100 recorder tribe changes.':'Last 100 recorder member changes.','\',3);" onmouseout="msu();">',(ht?'Tribe changes':'Member changes'),'</a>');}
main.push('</td></tr>');
if (!ht) {main.push('<tr><td colspan="',columns,'">You can sort results by clicking the title of a column.',typer==1?' Performance formula: Player Points/ODA/ODD increase / Total points * 100.':'','</td></tr>');};

function perfsort(a,b) {var x=a[prevp][1]; var y=b[prevp][1]; if (x>y) {return -1;} else if (x<y) {return 1;} else {return memberlist.sort(a,b);}}
function sorttribe4(a,b) {
if (tribd[a[4]]&&tribd[b[4]]) {
var x=tribd[a[4]][2].toLowerCase(); var y=tribd[b[4]][2].toLowerCase(); if (x<y) {return -1;} else if (x>y) {return 1;}}
return parseInt(a[4])-parseInt(b[4]);}

if (typer==6) {
var curtime=new Date().getTime()/1000+serversettings.time; var d=datetime; var sfd=''; var vilsdf=vars.players;

for(var f=0;f<xl;f++) {
v[f][10]=[0,v[f][0][0]-v[f][2][0]];
v[f][11]=[0,v[f][0][9]-v[f][2][1]];
v[f][12]=[0,v[f][0][10]-v[f][2][2]];
if (!ht) {v[f][13]=[0,Math.round(v[f][0][0]/trd[0]*10000)/100];
v[f][14]=[0,Math.round(v[f][0][9]/trd[5]*10000)/100];
v[f][15]=[0,Math.round(v[f][0][10]/trd[6]*10000)/100];}
}

main.push('<tr><td class="center tb1">');
if (sort!=201&&sort!=202&&sort!=203&&sort!=204&&sort!=205&&sort!=206&&sort!=207&&sort!=208) {v.sort(memberlist.sort); main.push('<b>',t('Name'),'</b>');}
else {main.push('<a class="spl" href="javascript: inittribe(\''+id+'\',\'general\',0);">',t('Name'),'</a>');}
main.push('</td><td class="center"',ht?'>':' colspan="2">');
if (sort==201) {v.sort(memberlist.sortrank); main.push('<b>',t('Points'),'</b>');}
else {main.push('<a class="spl" href="javascript: inittribe(\''+id+'\',\'general\',201);">',t('Points'),'</a>');}
main.push('</td><td class="center">');
if (sort==206) {var prevp=10; v.sort(perfsort); main.push('<b>Points <span class="green">+</span>/<span class="red">-</span></b>');}
else {main.push('<a class="spl" href="javascript: inittribe(\'',id,'\',\'general\',206);">Points <span class="green">+</span>/<span class="red">-</span></a>');}
main.push('</td><td class="center"',ht?'>':' colspan="2">');
if (sort==203) {v.sort(memberlist.sortoda); main.push('<b>',t('ODA'),'</b>');}
else {main.push('<a class="spl" href="javascript: inittribe(\''+id+'\',\'general\',203);">',t('ODA'),'</a>');}
main.push('</td><td class="center">');
if (sort==207) {var prevp=11; v.sort(perfsort); main.push('<b>ODA <span class="green">+</span>/<span class="red">-</span></b>');}
else {main.push('<a class="spl" href="javascript: inittribe(\'',id,'\',\'general\',207);">ODA <span class="green">+</span>/<span class="red">-</span></a>');}
main.push('</td><td class="center"',ht?'>':' colspan="2">');
if (sort==204) {v.sort(memberlist.sortodd); main.push('<b>',t('ODD'),'</b>');}
else {main.push('<a class="spl" href="javascript: inittribe(\''+id+'\',\'general\',204);">',t('ODD'),'</a>');}
main.push('</td><td class="center">');
if (sort==208) {var prevp=12; v.sort(perfsort); main.push('<b>ODD <span class="green">+</span>/<span class="red">-</span></b>');}
else {main.push('<a class="spl" href="javascript: inittribe(\'',id,'\',\'general\',208);">ODD <span class="green">+</span>/<span class="red">-</span></a>');}
main.push('</td><td class="center">');
if (sort==205) {v.sort(memberlist.sortvillages); main.push('<b>',t('Villages'),'</b>');}
else {main.push('<a class="spl" href="javascript: inittribe(\''+id+'\',\'general\',205);">',t('Villages'),'</a>');}
main.push('</td><td class="center">');
if (sort==202) {v.sort(memberlist.sortactivity); main.push('<b>',t('Activity'),'</b>');}
else {main.push('<a class="spl" href="javascript: inittribe(\''+id+'\',\'general\',202);">',t('Activity'),'</a>');}
main.push('</td></tr>');

for(var f=0;f<xl;f++) {
sfd=v[f][0][4]; if (v[f][0][6]>sfd) {sfd=v[f][0][6];}
main.push('<tr onmouseover="show(tooltiptext(\'',v[f][0][1],'\',\'',v[f][1],'\', 1));" onmouseout="msu();" onclick="showmen(\'',v[f][0][1],'\',\'',v[f][1],'\', event, \'tribe\');return false;" class="tdt"><td><a target="_blank" class="spl" href="',vars.serverpage,'screen=info_player&id=',v[f][1],'">',v[f][0][2],'</a></td>\
<td class="righta">',n(v[f][0][0]),(ht?'':'</td><td class="righta">'+convn(v[f][13][1])+'%'),'</td>\
<td class="righta',(v[f][10][1]>0?' green">+':(v[f][10][1]<0?' red">':' grey">')),n(v[f][10][1]),'</td>\
<td class="righta">',n(v[f][0][9]),(ht?'':'</td><td class="righta">'+convn(v[f][14][1])+'%'),'</td>\
<td class="righta',(v[f][11][1]>0?' green">+':(v[f][11][1]<0?' red">':' grey">')),n(v[f][11][1]),'</td>\
<td class="righta">',n(v[f][0][10]),(ht?'':'</td><td class="righta">'+convn(v[f][15][1])+'%'),'</td>\
<td class="righta',(v[f][12][1]>0?' green">+':(v[f][12][1]<0?' red">':' grey">')),n(v[f][12][1]),'</td>\
<td class="righta">',n(v[f][0][3]),'</td>\
<td class="righta">',d(curtime-sfd),'</td></tr>');}
}
else if (typer==9) {
var l=tribehd.length;
var st=ht?function(a,b) {
var s=(a[4]!='0'&&a[3]!='0'?1:(a[4]=='0'?-1:2));
var s2=(b[4]!='0'&&b[3]!='0'?1:(b[4]=='0'?-1:2));
if (s>s2) {return 1;} else if (s<s2) {return -1;} else {return b[0]-a[0];}
}
:function(a,b) {
var s=(a[4]=='0'?1:(a[3]==id?-1:2));
var s2=(b[4]=='0'?1:(b[3]==id?-1:2));
if (s>s2) {return 1;} else if (s<s2) {return -1;} else {return b[0]-a[0];}
};

main.push('<tr><td>');
if (sort==121) {main.push('<b><span class="green">+</span>/<span class="red">-</span></b></td><td class="center"><b>Action</b>'); tribehd.sort(st);}
else {main.push('<a class="spl" href="javascript: inittribe(\''+id+'\',\'members\',121);"><span class="green">+</span>/<span class="red">-</span></a></td><td class="center"><a class="spl" href="javascript: inittribe(\''+id+'\',\'members\',121);">Action</a>');}
main.push('</td><td class="center">');
if (sort!=121&&(ht||sort!=123)&&sort!=124&&sort!=125) {main.push('<b>Date and time</b>'); tribehd.sort(function(a,b) {return b[0]-a[0];});}
else {main.push('<a class="spl" href="javascript: inittribe(\''+id+'\',\'members\',0);">Date and time</a>');}
if (!ht) {
main.push('</td><td class="center">');
if (sort==123) {tribehd.sort(function(a,b) {if (playd[a[2]]&&playd[b[2]]) {
var x=playd[a[2]][2].toLowerCase(); var y=playd[b[2]][2].toLowerCase(); if (x<y) {return -1;} else if (x>y) {return 1;}}
return parseInt(a[2])-parseInt(b[2]);}); main.push('<b>Player</b>');}
else {main.push('<a class="spl" href="javascript: inittribe(\''+id+'\',\'members\',123);">Player</a>');}
}
main.push('</td><td class="center">');
if (sort==124) {tribehd.sort(function(a,b) {if (tribd[a[3]]&&tribd[b[3]]) {
var x=tribd[a[3]][2].toLowerCase(); var y=tribd[b[3]][2].toLowerCase(); if (x<y) {return -1;} else if (x>y) {return 1;}}
return parseInt(a[3])-parseInt(b[3]);}); main.push('<b>Previous tribe</b>');}
else {main.push('<a class="spl" href="javascript: inittribe(\''+id+'\',\'members\',124);">Previous tribe</a>');}
main.push('</td><td class="center">');
if (sort==125) {tribehd.sort(function(a,b) {if (tribd[a[4]]&&tribd[b[4]]) {
var x=tribd[a[4]][2].toLowerCase(); var y=tribd[b[4]][2].toLowerCase(); if (x<y) {return -1;} else if (x>y) {return 1;}}
return parseInt(a[4])-parseInt(b[4]);}); main.push('<b>New tribe</b>');}
else {main.push('<a class="spl" href="javascript: inittribe(\''+id+'\',\'members\',125);">New tribe</a>');}
main.push('</td><td class="tb1">&nbsp;</td></tr>');

if (ht) {
for(var i=0;i<l;i++) {main.push('<tr><td class="center">',
(tribehd[i][4]!='0'&&tribehd[i][3]!='0'?'<span class="conneutral"/>':(tribehd[i][4]=='0'?'<span class="conlost"/>':'<span class="congained"/>')),'</td><td>',
(tribehd[i][4]=='0'?'Left':'Joined'),'</td><td>',
tribehd[i][1],'</td><td>',
tribehd[i][3]=='0'?'None':fetch.tribe[1](tribehd[i][3],0,1),'</td><td>',
tribehd[i][4]=='0'?'None':fetch.tribe[1](tribehd[i][4],0,1),'</td><td></td></tr>');}}
else {
for(var i=0;i<l;i++) {main.push('<tr><td class="center">',
(tribehd[i][4]=='0'?'<span class="conneutral"/>':(tribehd[i][3]==id?'<span class="conlost"/>':'<span class="congained"/>')),'</td><td>',
(tribehd[i][3]==id?'Left':'Joined'),'</td><td>',
tribehd[i][1],'</td><td>',
fetch.player[1](tribehd[i][2]),'</td><td>',
tribehd[i][3]=='0'?'None':fetch.tribe[1](tribehd[i][3],0,1),'</td><td>',
tribehd[i][4]=='0'?'None':fetch.tribe[1](tribehd[i][4],0,1),'</td><td></td></tr>');}
}

}
else if (typer==5||typer==7||typer==8) {
var pg=0; if (is_num(page)) {pg=page*1;};

main.push('<tr><td colspan="',columns,'" class="center" style="line-height: 14px; font-size: 12px;">Group by: ');
if (typer!=5) {main.push('<a href="#conquers" onclick="inittribe(\'',id,'\',\'conquers\',',sort,',',pg,')">None</a> - ');}
else {main.push('<b>None</b> - ');}
if (typer!=7) {main.push('<a href="#conquers-players" onclick="inittribe(\'',id,'\',\'conquers-players\',',sort,',',pg,')">Players</a> - ');}
else {main.push('<b>Players</b> - ');}
if (typer!=8) {main.push('<a href="#conquers-tribes" onclick="inittribe(\'',id,'\',\'conquers-tribes\',',sort,',',pg,')">Tribes</a>');}
else {main.push('<b>Tribes</b>');}
main.push('</td></tr><tr><td class="center">');
if (typer==7||typer==8) {

var playerl={};
var conqa=[];

var l=coa.length;

if (typer==7) {
for(var i=0;i<l;i++) {
if ((ht&&coa[i][2]!=id)||(!ht&&coa[i][4]!=id)) {if (playerl[coa[i][2]]) {playerl[coa[i][2]][1]++;} else {playerl[coa[i][2]]=[0,1];}}
if ((ht&&coa[i][3]!=id)||(!ht&&coa[i][5]!=id)) {if (playerl[coa[i][3]]) {playerl[coa[i][3]][0]++;} else {playerl[coa[i][3]]=[1,0];}}
}
for(var i in playerl) {
conqa.push([[0,i,i=='0'?'abandoned':fetch.player[0](i)],0,
playerl[i][0],playerl[i][1],playd[i]?playd[i][1]:0,playerl[i][1]-playerl[i][0],playerl[i][1]+playerl[i][0]]);
}
}
else {
for(var i=0;i<l;i++) {
if ((ht&&coa[i][2]!=id)||(!ht&&coa[i][4]!=id)) {if (playerl[coa[i][4]]) {playerl[coa[i][4]][1]++;} else {playerl[coa[i][4]]=[0,1,{}];}; playerl[coa[i][4]][2][coa[i][2]]=true;}
if ((ht&&coa[i][3]!=id)||(!ht&&coa[i][5]!=id)) {if (playerl[coa[i][5]]) {playerl[coa[i][5]][0]++;} else {playerl[coa[i][5]]=[1,0,{}];}; playerl[coa[i][5]][2][coa[i][3]]=true;}
}
for(var i in playerl) {
conqa.push([[0,i,i=='0'?'Tribeless':fetch.tribe[0](i)],playerl[i][2],
playerl[i][0],playerl[i][1],0,playerl[i][1]-playerl[i][0],playerl[i][1]+playerl[i][0]]);
}
}

var st=0;
if (typer==7) {
if (sort==110) {main.push('<b>Player</b>'); conqa.sort(memberlist.sort); st=1;}
else {main.push('<a class="spl" href="javascript: inittribe(\''+id+'\',\''+type+'\',110,'+pg+');">Player</a>');}
main.push('</td><td class="center">');
if (sort==111) {main.push('<b>Tribe</b>'); conqa.sort(sorttribe4); st=1;}
else {main.push('<a class="spl" href="javascript: inittribe(\''+id+'\',\''+type+'\',111,'+pg+');">Tribe</a>');}
}
else {
if (sort==111) {main.push('<b>Tribe</b>'); conqa.sort(memberlist.sort); st=1;}
else {main.push('<a class="spl" href="javascript: inittribe(\''+id+'\',\''+type+'\',111,'+pg+');">Tribe</a>');}
main.push('</td><td class="center tb1">Players');
}


main.push('</td><td class="center">');
if (sort==112) {main.push('<b>Lost</b>'); conqa.sort(function(a,b) {if (a[2]<b[2]) {return 1;} else if (a[2]>b[2]) {return -1;} else {return memberlist.sort(a,b);}}); st=1;}
else {main.push('<a class="spl" href="javascript: inittribe(\''+id+'\',\''+type+'\',112,'+pg+');">Lost</a>');}
main.push('</td><td class="center">');
if (sort==113) {main.push('<b>Gained</b>'); conqa.sort(function(a,b) {if (a[3]<b[3]) {return 1;} else if (a[3]>b[3]) {return -1;} else {return memberlist.sort(a,b);}}); st=1;}
else {main.push('<a class="spl" href="javascript: inittribe(\''+id+'\',\''+type+'\',113,'+pg+');">Gained</a>');}
main.push('</td><td class="center">');
if (sort==114) {main.push('<b>Total <span class="green">+</span>/<span class="red">-</span></b>'); conqa.sort(function(a,b) {if (a[5]<b[5]) {return 1;} else if (a[5]>b[5]) {return -1;} else {return memberlist.sort(a,b);}}); st=1;}
else {main.push('<a class="spl" href="javascript: inittribe(\''+id+'\',\''+type+'\',114,'+pg+');">Total <span class="green">+</span>/<span class="red">-</span></a>');}
main.push('</td><td class="center">');
if (!st) {main.push('<b>Total</b>'); conqa.sort(function(a,b) {if (a[6]<b[6]) {return 1;} else if (a[6]>b[6]) {return -1;} else {return memberlist.sort(a,b);}});}
else {main.push('<a class="spl" href="javascript: inittribe(\''+id+'\',\''+type+'\',0,'+pg+');">Total</a>');}
main.push(typer==7?'</td><td class="tb1">&nbsp;':'','</td></tr>');

l=conqa.length;
if (typer==7) {
for(var i=0;i<l;i++) {
main.push('<tr><td>',
conqa[i][0][1]=='0'?'abandoned':fetch.player[1](conqa[i][0][1]),'</td><td>',
conqa[i][4]!='0'?fetch.tribe[1](conqa[i][4],0,1):'','</td><td class="righta',(conqa[i][2]>0?' red">-':' grey">'),
conqa[i][2],'</td><td class="righta',(conqa[i][3]>0?' green">+':' grey">'),
conqa[i][3],'</td><td class="righta',(conqa[i][5]>0?' green">+':(conqa[i][5]<0?' red">':' grey">')),
conqa[i][5],'</td><td class="righta">',
conqa[i][6],'</td><td></td></tr>');
}}
else {
var first=true;
for(var i=0;i<l;i++) {
main.push('<tr><td>',
conqa[i][0][1]=='0'?'Tribeless':fetch.tribe[1](conqa[i][0][1],0,1),'</td><td><div class="ws">');
first=true;
for(var d in conqa[i][1]) {if (first) {first=false;} else {main.push(', ');}; main.push(d=='0'?'abandoned':fetch.player[1](d,1));};
main.push('</div></td><td class="righta',(conqa[i][2]>0?' red">-':' grey">'),
conqa[i][2],'</td><td class="righta',(conqa[i][3]>0?' green">+':' grey">'),
conqa[i][3],'</td><td class="righta',(conqa[i][5]>0?' green">+':(conqa[i][5]<0?' red">':' grey">')),
conqa[i][5],'</td><td class="righta">',
conqa[i][6],'</td></tr>');
}
}

}

else {

if (sort==101) {main.push('<b><span class="green">+</span>/<span class="red">-</span></b>'); coa.sort(function(a,b) {
var s=(!ht&&a[4]==a[5]?1:((ht&&a[2]==id)||(!ht&&a[4]==id)?-1:2));
var s2=(!ht&&b[4]==b[5]?1:((ht&&b[2]==id)||(!ht&&b[4]==id)?-1:2));
if (s>s2) {return 1;}
else if (s<s2) {return -1;}
else {return b[0]-a[0];}
});}
else {main.push('<a class="spl" href="javascript: inittribe(\''+id+'\',\'conquers\',101,'+pg+');"><span class="green">+</span>/<span class="red">-</span></a>');}
main.push('</td><td class="center">');
if (sort!=101&&sort!=102&&sort!=103&&sort!=104&&sort!=105&&sort!=106) {main.push('<b>Date and time</b>'); coa.sort(function(a,b) {return b[0]-a[0];});}
else {main.push('<a class="spl" href="javascript: inittribe(\''+id+'\',\'conquers\',0,'+pg+');">Date and time</a>');}
main.push('</td><td class="center tb1">');
if (sort==102) {coa.sort(function(a,b) {
if (vars.villageid[a[6]]&&vild[vars.villageid[a[6]]]&&vars.villageid[b[6]]&&vild[vars.villageid[b[6]]]) {
var x=vild[vars.villageid[a[6]]][3].toLowerCase(); var y=vild[vars.villageid[b[6]]][3].toLowerCase(); if (x<y) {return -1;} else if (x>y) {return 1;}}
return parseInt(a[6])-parseInt(b[6]);}); main.push('<b>Village name</b>');}
else {main.push('<a class="spl" href="javascript: inittribe(\''+id+'\',\'conquers\',102,'+pg+');">Village name</a>');}
main.push('</td><td class="center">');
if (sort==103) {coa.sort(function(a,b) {
if (playd[a[2]]&&playd[b[2]]) {
var x=playd[a[2]][2].toLowerCase(); var y=playd[b[2]][2].toLowerCase(); if (x<y) {return -1;} else if (x>y) {return 1;}}
return parseInt(a[2])-parseInt(b[2]);}); main.push('<b>Previous owner</b>');}
else {main.push('<a class="spl" href="javascript: inittribe(\''+id+'\',\'conquers\',103,'+pg+');">Previous owner</a>');}
main.push('</td><td class="center">');
if (sort==104) {coa.sort(sorttribe4); main.push('<b>Previous tribe</b>');}
else {main.push('<a class="spl" href="javascript: inittribe(\''+id+'\',\'conquers\',104,'+pg+');">Previous tribe</a>');}
main.push('</td><td class="center">');
if (sort==105) {coa.sort(function(a,b) {
if (playd[a[3]]&&playd[b[3]]) {
var x=playd[a[3]][2].toLowerCase(); var y=playd[b[3]][2].toLowerCase(); if (x<y) {return -1;} else if (x>y) {return 1;}}
return parseInt(a[3])-parseInt(b[3]);}); main.push('<b>New owner</b>');}
else {main.push('<a class="spl" href="javascript: inittribe(\''+id+'\',\'conquers\',105,'+pg+');">New owner</a>');}
main.push('</td><td class="center">');
if (sort==106) {coa.sort(function(a,b) {
if (tribd[a[5]]&&tribd[b[5]]) {
var x=tribd[a[5]][2].toLowerCase(); var y=tribd[b[5]][2].toLowerCase(); if (x<y) {return -1;} else if (x>y) {return 1;}}
return parseInt(a[5])-parseInt(b[5]);}); main.push('<b>New tribe</b>');}
else {main.push('<a class="spl" href="javascript: inittribe(\''+id+'\',\'conquers\',106,'+pg+');">New tribe</a>');}
main.push('</td></tr>');

var l=Math.min(coa.length,(pg+1)*100); for(var i=pg*100;i<l;i++) {
main.push('<tr><td class="center">',
(!ht&&coa[i][4]==coa[i][5]?'<span class="conneutral"/>':((ht&&coa[i][2]==id)||(!ht&&coa[i][4]==id)?'<span class="conlost"/>':'<span class="congained"/>')),'</td><td>',
coa[i][1],'</td><td>',
fetch.village[2](coa[i][6]),'</td><td>',
(coa[i][2]!=''&&coa[i][2]!='0'?fetch.player[1](coa[i][2]):'abandoned'),'</td><td>',
(coa[i][4]!=''&&coa[i][4]!='0'?fetch.tribe[1](coa[i][4],0,1):'&nbsp;'),'</td><td>',
fetch.player[1](coa[i][3]),'</td><td>',
(coa[i][5]!=''&&coa[i][5]!='0'?fetch.tribe[1](coa[i][5],0,1):'&nbsp;')
,'</td></tr>');}

if (coa.length>100) {
var pgn=Math.ceil(coa.length/100);

main.push('<tr><td class="center" colspan="7">');
if (pg) {main.push('<a href="javascript: inittribe(\'',id,'\',\'conquers\',',sort,',',pg-1,');">&lt;</a> ');}
for(var i=0;i<pgn;i++) {
main.push(i?' ':'',i==pg?'<b>'+(i+1)+'</b>':'<a href="javascript: inittribe(\''+id+'\',\'conquers\','+sort+','+i+');">'+(i+1)+'</a>');
}
if (pg<pgn-1) {main.push(' <a href="javascript: inittribe(\'',id,'\',\'conquers\',',sort,',',pg+1,');">&gt;</a>');}
main.push('</td></tr>');
}}

}
else {
function calcs(f,ns,nt) {var va=0; var t=[]; var diff=0; var prec=0; var preq=0; var prv=v[f][2][ns];
t.push('</td><td class="righta">',n(prv)); v[f][18]=[0,prv];
for(var i=1;i<8;i++) {preq=(i==7?v[f][0][nt]:v[f][2][i*3+ns]); prec=preq-prv; prv=preq; t.push('</td><td class="righta',(prec>0?' green">+'+n(prec):(prec<0?' red">'+n(prec):' grey">0'))); diff+=prec;}
v[f][17]=[0,diff];
t.push('</td><td class="righta">',n(v[f][0][nt]),'</td><td class="righta',(diff>0?' green">+'+n(diff):(diff<0?' red">'+n(diff):' grey">0')));
va=(diff?(diff/v[f][2][0])*10000:0); if (va==Infinity) {va=10000;};
v[f][13+ns]=[t.join(''),va,['</td><td class="righta" style="background-color: ',perfh.func(va/100),'">',convn(Math.round(va)/100)].join('')];}

var perfh=gradientHighlight;
if (typer==3||typer==1) {
perfh.turnp=0; perfh.turnp2=0;
perfh.am1=25; perfh.rb=235; perfh.radd=-135/20; perfh.gb=220; perfh.gadd=35/20; perfh.bb=190; perfh.badd=-90/20;
for(var f=0;f<xl;f++) {calcs(f,1,9);}}
if (typer==4||typer==1) {
perfh.turnp=0; perfh.turnp2=0;
perfh.am1=25; perfh.rb=235; perfh.radd=20/25; perfh.gb=220; perfh.gadd=-120/25; perfh.bb=190; perfh.badd=-90/25;
for(var f=0;f<xl;f++) {calcs(f,2,10);}}
if (typer==2||typer==1) {
perfh.turnp=0; perfh.turnp2=-20;
perfh.am1=20; perfh.rb=235; perfh.radd=-135/20; perfh.gb=220; perfh.gadd=35/20; perfh.bb=190; perfh.badd=-90/20;
perfh.am2=20; perfh.rb2=235; perfh.radd2=20/20; perfh.gb2=220; perfh.gadd2=35/20; perfh.bb2=190; perfh.badd2=-90/20;
perfh.am3=30; perfh.rb3=255; perfh.radd3=0; perfh.gb3=255; perfh.gadd3=-155/30; perfh.bb3=100; perfh.badd3=0;
for(var f=0;f<xl;f++) {calcs(f,0,0,1);}}
if (typer==1) {
for(var f=0;f<xl;f++) {v[f][16]=[0,(v[f][13][1]+v[f][14][1])/2];}}

var sortdef=false;
if (sort==1&&typer==2) {v.sort(memberlist.sortrank);}
else if (sort==1&&typer==3) {v.sort(memberlist.sortoda);}
else if (sort==1&&typer==4) {v.sort(memberlist.sortodd);}
else if (sort==11&&(typer==1||typer==2)) {prevp=13; v.sort(perfsort);}
else if (sort==22&&(typer==1||typer==3)) {prevp=14; v.sort(perfsort);}
else if (sort==33&&(typer==1||typer==4)) {prevp=15; v.sort(perfsort);}
else if (sort==4&&typer==1) {prevp=16; v.sort(perfsort);}
else if (sort==5&&(typer==2||typer==3||typer==4)) {prevp=17; v.sort(perfsort);}
else if (sort==2&&(typer==2||typer==3||typer==4)) {prevp=18; v.sort(perfsort);}
else {v.sort(memberlist.sort); sortdef=true;}

for(var f=0;f<xl;f++) {villag[rown]=['<tr class="tdt" onmouseover="show(tooltiptext(\'',v[f][0][1],'\',\'',v[f][1],'\', 1));" onmouseout="msu();" onclick="playermen(\'',v[f][0][1],'\',\'',v[f][1],'\',\'tribe\');"><td><a class="spl" href="',vars.serverpage,'screen=info_player&id=',v[f][1],'" onclick="playermen(\'',v[f][0][1],'\',\'',v[f][1],'\',\'tribe\');return false;">',v[f][0][2],'</a>',(typer==2?v[f][13][0]+v[f][13][2]:typer==3?v[f][14][0]+v[f][14][2]:typer==4?v[f][15][0]+v[f][15][2]:'</td><td class="righta" style="background-color: '+perfh.func(v[f][16][1]/100)+'">'+convn(Math.round(v[f][16][1])/100)+v[f][13][2]+v[f][14][2]+v[f][15][2]),'</td></tr>']; villag[rown]=villag[rown].join(''); rown++;}

main.push('<tr class="center"><td',(typer==1?'':' rowspan="2"'),' class="tb1">');
if (sortdef) {main.push('<b>Name</b></td>');}
else {main.push('<a class="spl" href="javascript: inittribe(\'',id,'\',\'',type,'\',0);"',(typer==1?'':' style="line-height: 30px;"'),'>Name</a></td>');}

if (typer==1) {
if (sort==4) {main.push('<td',(typer==1?'':' rowspan="2"'),'><b>Avg Performance</b></td>');}
else {main.push('<td',(typer==1?'':' rowspan="2"'),'><a class="spl" href="javascript: inittribe(\'',id,'\',\'',type,'\',4);">Avg Performance</a></td>');}
}

var tab='';

if (typer==2) {main.push('<td colspan="10">Points</td>');}

if (typer==2||typer==1) {if (sort==11) {main.push('<td',(typer==1?'':' rowspan="2"'),'><b>Points',(typer==1?' Performance':'<br />Perf'),'</b></td>');}
else {main.push('<td',(typer==1?'':' rowspan="2"'),'><a class="spl" href="javascript: inittribe(\'',id,'\',\'',type,'\',11);">Points',(typer==1?' Performance':'<br />Perf'),'</a></td>');}}

if (typer==3) {tab='oda_'; main.push('<td colspan="10">ODA</td>');}

if (typer==3||typer==1) {if (sort==22) {main.push('<td',(typer==1?'':' rowspan="2"'),'><b>ODA',(typer==1?' Performance':'<br />Perf'),'</b></td>');}
else {main.push('<td',(typer==1?'':' rowspan="2"'),'><a class="spl" href="javascript: inittribe(\'',id,'\',\'',type,'\',22);">ODA',(typer==1?' Performance':'<br />Perf'),'</a></td>');}}

if (typer==4) {tab='odd_'; main.push('<td colspan="10">ODD');}

var url=serversettings.folder+'graph/hd_'+tab+(ht?'player':'tribe')+'/'+id;
if ($('tribegraph')&&$('tribegraph').src!=url) {$('tribegraph').src=url;}

if (typer==4||typer==1) {if (sort==33) {main.push('<td',(typer==1?'':' rowspan="2"'),'><b>ODD',(typer==1?' Performance':'<br />Perf'),'</b></td>');}
else {main.push('<td',(typer==1?'':' rowspan="2"'),'><a class="spl" href="javascript: inittribe(\'',id,'\',\'',type,'\',33);">ODD',(typer==1?' Performance':'<br />Perf'),'</a></td>');}}

main.push('</tr>');
if (typer==2||typer==3||typer==4) {
if (sort==2) {main.push('<tr class="center"><td><b>',fullday[today],'</b></td><td>');}
else {main.push('<tr class="center"><td><a class="spl" href="javascript: inittribe(\'',id,'\',\'',type,'\',2);">',fullday[today],'</a></td><td>');}

for(var i=0;i<7;i++) {main.push(days[(today+i>6?today+i-7:today+i)],'</td><td>');}
if (sort==1) {main.push('<b>Current</b></td><td>');}
else {main.push('<a class="spl" href="javascript: inittribe(\'',id,'\',\'',type,'\',1);">Current</a></td><td>');}
if (sort==5) {main.push('<b>Total <span class="green">+</span>/<span class="red">-</span></b>');} else {main.push('<a class="spl" href="javascript: inittribe(\'',id,'\',\'',type,'\',5);">Total <span class="green">+</span>/<span class="red">-</span></a>');}
main.push('</td>');
main.push('</tr>');}
main.push(villag.join(''));}

main.push('</table>');

if (ht) {var tribe=trd[1]!=''&&trd[1]!='0'?trd[1]:false;
$('tribeinfo').innerHTML=['<span class="largetext" style="line-height: 17px; font-weight: bold;">',trd[2],(tribe&&tribd[tribe]?' ['+tribd[tribe][2]+']':''),'</span><br />\
Points: ',n(trd[0]),', Rank: ',n(trd[8]),'<br />\
Villages: ',trd[3],', Avg points/village: ',n(Math.round(trd[0]/trd[3])),'<br />\
ODA: ',n(trd[9]),', Rank: ',n(trd[11]),', ODD: ',n(trd[10]),', Rank: ',n(trd[12]),'<br />\
Conquered: ',(lost||gained?((gained?'+'+n(gained):'')+(lost?(gained?', ':'')+'-'+n(lost):'')):'None'),' (last week)<br />\
Last week\'s increase:<br />\
<table cellpadding="0" cellspacing="0" class="righta" align="left">\
<tr><td>Points:&nbsp;</td><td>',n(inc[0]),'&nbsp;</td><td>(',Math.min(Math.round(inc[0]/inc[1]*100), 100),'%)</td></tr>\
<tr><td>ODA:&nbsp;</td><td>',n(inc[2]),'&nbsp;</td><td>(',!inc[2]&&!inc[3]?0:Math.min(Math.round(inc[2]/inc[3]*100), 100),'%, ',!inc[2]&&!inc[1]?0:Math.round(inc[2]/inc[1]*100),'% ODA/points)</td></tr>\
<tr><td>ODD:&nbsp;</td><td>',n(inc[4]),'&nbsp;</td><td>(',!inc[4]&&!inc[5]?0:Math.min(Math.round(inc[4]/inc[5]*100), 100),'%, ',!inc[4]&&!inc[1]?0:Math.round(inc[4]/inc[1]*100),'% ODD/points)</td></tr>\
</table>'].join('');
}
else {
var pp=!inc[1]?Infinity:Math.min(Math.round(inc[0]/inc[1]*100), 100);
$('tribeinfo').innerHTML=['<span class="largetext" style="line-height: 17px; font-weight: bold;">',trd[2],' [',trd[9],']</span><br />\
Points: ',n(trd[0]),', Rank: ',n(trd[4]),', Members: ',trd[1],'<br />\
Total points: ',n(trd[0]),', Avg points: ',trd[1]?n(Math.round(trd[0]/trd[1])):0,'<br />\
Villages: ',n(inc[6]),', Avg points/village: ',!inc[7]&&!inc[6]?0:n(Math.round(inc[7]/inc[6])),'<br />\
ODA: ',n(trd[5]),', Rank: ',n(trd[7]),', ODD: ',n(trd[6]),', Rank: ',n(trd[8]),'<br />\
Conquered: ',(lost||gained?((gained?'+'+n(gained):'')+(lost?(gained?', ':'')+'-'+n(lost):'')):'None'),' (last week)<br />\
Last week\'s increase (individual members combined):<br />\
<table cellpadding="0" cellspacing="0" align="left">\
<tr><td>Points:&nbsp;</td><td>',n(inc[0]),'&nbsp;</td><td>(',inc[1]?Math.min(Math.round(inc[0]/inc[1]*100), 100):0,'%)</td></tr>\
<tr><td>ODA:&nbsp;</td><td>',n(inc[2]),'&nbsp;</td><td>(',!inc[2]&&!inc[3]?0:Math.min(Math.round(inc[2]/inc[3]*100), 100),'%, ',!inc[2]&&!inc[1]?0:Math.round(inc[2]/inc[1]*100),'% ODA/points)</td></tr>\
<tr><td>ODD:&nbsp;</td><td>',n(inc[4]),'&nbsp;</td><td>(',!inc[4]&&!inc[5]?0:Math.min(Math.round(inc[4]/inc[5]*100), 100),'%, ',!inc[4]&&!inc[1]?0:Math.round(inc[4]/inc[1]*100),'% ODD/points)</td></tr>\
</table>'].join('');}
} else {main.push('<tr><td><b><u>',ht?'No player info':'No tribe info','</u></b></td></tr></table>');}

$('tribedatatable').innerHTML=main.join('');
vars.height=$('main').offsetHeight; vars.realheight=vars.height;
vars.width=$('main').offsetWidth; vars.realwidth=vars.width;}