addEvent(window,"load",sortables_init);var SORT_COLUMN_INDEX;function sortables_init(){if(!document.getElementsByTagName){return }tbls=document.getElementsByTagName("table");for(ti=0;ti<tbls.length;ti++){thisTbl=tbls[ti];if(((" "+thisTbl.className+" ").indexOf("sortable")!=-1)&&(thisTbl.id)){ts_makeSortable(thisTbl)}}}function ts_makeSortable(D){if(D.rows&&D.rows.length>0){var E=D.rows[0]}if(!E){return }for(var C=0;C<E.cells.length;C++){var B=E.cells[C];var A=ts_getInnerText(B);B.innerHTML='<a href="#" class="sortheader" onclick="ts_resortTable(this, '+C+');return false;">'+A+'<span class="sortarrow">&nbsp;&nbsp;&nbsp;</span></a>'}}function ts_getInnerText(D){if(typeof D=="string"){return D}if(typeof D=="undefined"){return D}if(D.innerText){return D.innerText}var E="";var C=D.childNodes;var A=C.length;for(var B=0;B<A;B++){switch(C[B].nodeType){case 1:E+=ts_getInnerText(C[B]);break;case 3:E+=C[B].nodeValue;break}}return E}function ts_resortTable(F,H){var J;for(var L=0;L<F.childNodes.length;L++){if(F.childNodes[L].tagName&&F.childNodes[L].tagName.toLowerCase()=="span"){J=F.childNodes[L]}}var A=ts_getInnerText(J);var B=F.parentNode;var C=H||B.cellIndex;var K=getParent(B,"TABLE");if(K.rows.length<=1){return }var G=ts_getInnerText(K.rows[1].cells[C]);sortfn=ts_sort_caseinsensitive;if(G.match(/^\d\d[\/-]\d\d[\/-]\d\d\d\d$/)){sortfn=ts_sort_date}if(G.match(/^\d\d[\/-]\d\d[\/-]\d\d$/)){sortfn=ts_sort_date}if(G.match(/^[£$]/)){sortfn=ts_sort_currency}if(G.match(/^[\d\.]+$/)){sortfn=ts_sort_numeric}SORT_COLUMN_INDEX=C;var D=new Array();var E=new Array();for(i=0;i<K.rows[0].length;i++){D[i]=K.rows[0][i]}for(j=1;j<K.rows.length;j++){E[j-1]=K.rows[j]}E.sort(sortfn);if(J.getAttribute("sortdir")=="down"){ARROW="&nbsp;&nbsp;&uarr;";E.reverse();J.setAttribute("sortdir","up")}else{ARROW="&nbsp;&nbsp;&darr;";J.setAttribute("sortdir","down")}for(i=0;i<E.length;i++){if(!E[i].className||(E[i].className&&(E[i].className.indexOf("sortbottom")==-1))){K.tBodies[0].appendChild(E[i])}}for(i=0;i<E.length;i++){if(E[i].className&&(E[i].className.indexOf("sortbottom")!=-1)){K.tBodies[0].appendChild(E[i])}}var I=document.getElementsByTagName("span");for(var L=0;L<I.length;L++){if(I[L].className=="sortarrow"){if(getParent(I[L],"table")==getParent(F,"table")){I[L].innerHTML="&nbsp;&nbsp;&nbsp;"}}}J.innerHTML=ARROW}function getParent(B,A){if(B==null){return null}else{if(B.nodeType==1&&B.tagName.toLowerCase()==A.toLowerCase()){return B}else{return getParent(B.parentNode,A)}}}function ts_sort_date(B,A){aa=ts_getInnerText(B.cells[SORT_COLUMN_INDEX]);bb=ts_getInnerText(A.cells[SORT_COLUMN_INDEX]);if(aa.length==10){dt1=aa.substr(6,4)+aa.substr(3,2)+aa.substr(0,2)}else{yr=aa.substr(6,2);if(parseInt(yr)<50){yr="20"+yr}else{yr="19"+yr}dt1=yr+aa.substr(3,2)+aa.substr(0,2)}if(bb.length==10){dt2=bb.substr(6,4)+bb.substr(3,2)+bb.substr(0,2)}else{yr=bb.substr(6,2);if(parseInt(yr)<50){yr="20"+yr}else{yr="19"+yr}dt2=yr+bb.substr(3,2)+bb.substr(0,2)}if(dt1==dt2){return 0}if(dt1<dt2){return -1}return 1}function ts_sort_currency(B,A){aa=ts_getInnerText(B.cells[SORT_COLUMN_INDEX]).replace(/[^0-9.]/g,"");bb=ts_getInnerText(A.cells[SORT_COLUMN_INDEX]).replace(/[^0-9.]/g,"");return parseFloat(aa)-parseFloat(bb)}function ts_sort_numeric(B,A){aa=parseFloat(ts_getInnerText(B.cells[SORT_COLUMN_INDEX]));if(isNaN(aa)){aa=0}bb=parseFloat(ts_getInnerText(A.cells[SORT_COLUMN_INDEX]));if(isNaN(bb)){bb=0}return aa-bb}function ts_sort_caseinsensitive(B,A){aa=ts_getInnerText(B.cells[SORT_COLUMN_INDEX]).toLowerCase();bb=ts_getInnerText(A.cells[SORT_COLUMN_INDEX]).toLowerCase();if(aa==bb){return 0}if(aa<bb){return -1}return 1}function ts_sort_default(B,A){aa=ts_getInnerText(B.cells[SORT_COLUMN_INDEX]);bb=ts_getInnerText(A.cells[SORT_COLUMN_INDEX]);if(aa==bb){return 0}if(aa<bb){return -1}return 1}function addEvent(E,D,B,A){if(E.addEventListener){E.addEventListener(D,B,A);return true}else{if(E.attachEvent){var C=E.attachEvent("on"+D,B);return C}else{alert("Handler could not be removed")}}};