function sortTable(id,_2,_3,_4){
_4=_4||{"sorter":"default"};
var _5=document.getElementById(id);
if(_5.reverseSort==null){
_5.reverseSort=new Array();
_5.lastColumn=1;
}
if(_5.reverseSort[_2]==null){
_5.reverseSort[_2]=_3;
}
if(_2==_5.lastColumn){
_5.reverseSort[_2]=!_5.reverseSort[_2];
}
_5.lastColumn=_2;
var _6=_5.style.display;
_5.style.display="none";
var _7;
var i,j;
var _9,minIdx;
var _a;
var _b;
for(i=0;i<_5.rows.length-1;i++){
minIdx=i;
_9=getTextValue(_5.rows[i].cells[_2]);
for(j=i+1;j<_5.rows.length;j++){
_a=getTextValue(_5.rows[j].cells[_2]);
_b=compareValues(_9,_a);
if(_5.reverseSort[_2]){
_b=-_b;
}
if(_b==0&&_2!=1){
_b=compareValues(getTextValue(_5.rows[minIdx].cells[1]),getTextValue(_5.rows[j].cells[1]));
}
if(_b>0){
minIdx=j;
_9=_a;
}
}
if(minIdx>i){
_7=_5.removeChild(_5.rows[minIdx]);
_5.insertBefore(_7,_5.rows[i]);
}
}
setRanks(_5,_2,_3);
_5.style.display=_6;
return false;
}
if(document.ELEMENT_NODE==null){
document.ELEMENT_NODE=1;
document.TEXT_NODE=3;
}
function getTextValue(el){
var i;
var s;
s="";
for(i=0;i<el.childNodes.length;i++){
if(el.childNodes[i].nodeType==document.TEXT_NODE){
s+=el.childNodes[i].nodeValue;
}else{
if(el.childNodes[i].nodeType==document.ELEMENT_NODE&&el.childNodes[i].tagName=="BR"){
s+=" ";
}else{
s+=getTextValue(el.childNodes[i]);
}
}
}
return normalizeString(s);
}
function compareValues(_f,_10){
var f1,f2;
var v1=_f.replace(".","");
v1=v1.replace(",",".");
v1=v1.replace("%","");
var v2=_10.replace(".","");
v2=v2.replace(",",".");
v2=v2.replace("%","");
f1=parseFloat(v1);
f2=parseFloat(v2);
if(!isNaN(f1)&&!isNaN(f2)){
v1=f1;
v2=f2;
}else{
v1=_f.toUpperCase();
v2=_10.toUpperCase();
}
if(v1==v2){
return 0;
}
if(v1>v2){
return 1;
}
return -1;
}
var whtSpEnds=new RegExp("^\\s*|\\s*$","g");
var whtSpMult=new RegExp("\\s\\s+","g");
function normalizeString(s){
s=s.replace(whtSpMult," ");
s=s.replace(whtSpEnds,"");
s=s.replace("M.","");
s=s.replace("Mw.","");
return s;
}
var rowClsNm="alternateRow";
var colClsNm="sortedColumn";
var rowTest=new RegExp(rowClsNm,"gi");
var colTest=new RegExp(colClsNm,"gi");
function makePretty(_15,col){
var i,j;
var _18,cellEl;
for(i=0;i<_15.rows.length;i++){
_18=_15.rows[i];
_18.className=_18.className.replace(rowTest,"");
if(i%2!=0){
_18.className+=" "+rowClsNm;
}
_18.className=normalizeString(_18.className);
for(j=2;j<_15.rows[i].cells.length;j++){
cellEl=_18.cells[j];
cellEl.className=cellEl.className.replace(colTest,"");
if(j==col){
cellEl.className+=" "+colClsNm;
}
cellEl.className=normalizeString(cellEl.className);
}
}
var el=_15.parentNode.tHead;
_18=el.rows[el.rows.length-1];
for(i=2;i<_18.cells.length;i++){
cellEl=_18.cells[i];
cellEl.className=cellEl.className.replace(colTest,"");
if(i==col){
cellEl.className+=" "+colClsNm;
}
cellEl.className=normalizeString(cellEl.className);
}
}
function setRanks(_1a,col,rev){
var i=0;
var _1e=1;
if(_1a.reverseSort[col]){
rev=!rev;
}
if(rev){
_1e=-1;
i=_1a.rows.length-1;
}
var _1f=1;
var _20=_1f;
var _21;
var _22=null;
while(col>1&&i>=0&&i<_1a.rows.length){
_21=getTextValue(_1a.rows[i].cells[col]);
if(_22!=null&&compareValues(_21,_22)!=0){
_20=_1f;
}
_1a.rows[i].rank=_20;
_22=_21;
_1f++;
i+=_1e;
}
}

