var europeandate=true,alternate_row_colors=false;addEvent(window,"load",sortables_init);var SORT_COLUMN_INDEX,thead=false;function sortables_init(){if(document.getElementsByTagName){tbls=document.getElementsByTagName("table");for(ti=0;ti<tbls.length;ti++){thisTbl=tbls[ti];(" "+thisTbl.className+" ").indexOf("sortable")!=-1&&thisTbl.id&&ts_makeSortable(thisTbl)}}} function ts_makeSortable(a){if(a.rows&&a.rows.length>0)if(a.tHead&&a.tHead.rows.length>0){var b=a.tHead.rows[a.tHead.rows.length-1];thead=true}else b=a.rows[0];if(b){for(var c=0;c<b.cells.length;c++){var e=b.cells[c],d=e.innerHTML,f=d.indexOf("<img ")!=-1?" no_margin":"";if(e.className!="unsortable"&&e.className.indexOf("unsortable")==-1){e.innerHTML='<a href="#" class="image_none'+f+'" onclick="ts_resortTable(this, '+c+');return false;">'+d+"</a>";if(d.indexOf("<img ")!=-1){d=e.getAttribute("class", "hide_cell")?"no_margin hide_cell":"no_margin";e.setAttribute("class",d)}}}alternate_row_colors&&alternate(a)}}function ts_getInnerText(a){if(typeof a=="string")return a;if(typeof a=="undefined")return a;if(a.innerText)return a.innerText;var b="";a=a.childNodes;for(var c=a.length,e=0;e<c;e++)switch(a[e].nodeType){case 1:b+=ts_getInnerText(a[e]);break;case 3:b+=a[e].nodeValue;break}return b} function ts_resortTable(a,b){var c=a.parentNode,e=b||c.cellIndex;c=getParent(c,"TABLE");if(!(c.rows.length<=1)){var d="";for(b=0;d==""&&b<c.tBodies[0].rows.length;){d=ts_getInnerText(c.tBodies[0].rows[b].cells[e]);d=trim(d);if(d.substr(0,4)=="<!--"||d.length==0)d="";b++}if(d!=""){sortfn=ts_sort_caseinsensitive;if(d.match(/^\d\d[\/\.-][a-zA-z][a-zA-Z][a-zA-Z][\/\.-]\d\d\d\d$/))sortfn=ts_sort_date;if(d.match(/^\d\d[\/\.-]\d\d[\/\.-]\d\d\d{2}?$/))sortfn=ts_sort_date;if(d.match(/^-?[\u00a3$\u20ac\u00db\u00a2\u00b4]\d/))sortfn= ts_sort_numeric;if(d.match(/^-?(\d+[,\.]?)+(E[-+][\d]+)?%?$/))sortfn=ts_sort_numeric;SORT_COLUMN_INDEX=e;e=[];d=[];for(k=0;k<c.tBodies.length;k++)for(b=0;b<c.tBodies[k].rows[0].length;b++)e[b]=c.tBodies[k].rows[0][b];for(k=0;k<c.tBodies.length;k++)if(thead)for(j=0;j<c.tBodies[k].rows.length;j++)d[j]=c.tBodies[k].rows[j];else for(j=1;j<c.tBodies[k].rows.length;j++)d[j-1]=c.tBodies[k].rows[j];d.sort(sortfn);if(a.getAttribute("class")=="image_down"){d.reverse();e="image_up"}else e="image_down";for(b= 0;b<d.length;b++)if(!d[b].className||d[b].className&&d[b].className.indexOf("sortbottom")==-1)c.tBodies[0].appendChild(d[b]);for(b=0;b<d.length;b++)d[b].className&&d[b].className.indexOf("sortbottom")!=-1&&c.tBodies[0].appendChild(d[b]);b=document.getElementsByTagName("th");for(d=0;d<b.length;d++)b[d].childNodes[0].className&&b[d].childNodes[0].className.indexOf("image_")!=-1&&getParent(b[d],"table")==getParent(a,"table")&&b[d].childNodes[0].setAttribute("class","image_none");a.setAttribute("class", e);alternate(c)}}}function getParent(a,b){return a==null?null:a.nodeType==1&&a.tagName.toLowerCase()==b.toLowerCase()?a:getParent(a.parentNode,b)} function sort_date(a){dt="00000000";if(a.length==11){mtstr=a.substr(3,3);mtstr=mtstr.toLowerCase();switch(mtstr){case "jan":var b="01";break;case "feb":b="02";break;case "mar":b="03";break;case "apr":b="04";break;case "may":b="05";break;case "jun":b="06";break;case "jul":b="07";break;case "aug":b="08";break;case "sep":b="09";break;case "oct":b="10";break;case "nov":b="11";break;case "dec":b="12";break}return dt=a.substr(7,4)+b+a.substr(0,2)}else if(a.length==10)return dt=europeandate==false?a.substr(6, 4)+a.substr(0,2)+a.substr(3,2):a.substr(6,4)+a.substr(3,2)+a.substr(0,2);else if(a.length==8){yr=a.substr(6,2);yr=parseInt(yr)<50?"20"+yr:"19"+yr;return dt=europeandate==true?yr+a.substr(3,2)+a.substr(0,2):yr+a.substr(0,2)+a.substr(3,2)}return dt}function ts_sort_date(a,b){dt1=sort_date(ts_getInnerText(a.cells[SORT_COLUMN_INDEX]));dt2=sort_date(ts_getInnerText(b.cells[SORT_COLUMN_INDEX]));if(dt1==dt2)return 0;if(dt1<dt2)return-1;return 1} function ts_sort_numeric(a,b){a=ts_getInnerText(a.cells[SORT_COLUMN_INDEX]);a=clean_num(a);b=ts_getInnerText(b.cells[SORT_COLUMN_INDEX]);b=clean_num(b);return compare_numeric(a,b)}function compare_numeric(a,b){a=parseFloat(a);a=isNaN(a)?0:a;b=parseFloat(b);b=isNaN(b)?0:b;return a-b}function ts_sort_caseinsensitive(a,b){aa=ts_getInnerText(a.cells[SORT_COLUMN_INDEX]).toLowerCase();bb=ts_getInnerText(b.cells[SORT_COLUMN_INDEX]).toLowerCase();if(aa==bb)return 0;if(aa<bb)return-1;return 1} function ts_sort_default(a,b){aa=ts_getInnerText(a.cells[SORT_COLUMN_INDEX]);bb=ts_getInnerText(b.cells[SORT_COLUMN_INDEX]);if(aa==bb)return 0;if(aa<bb)return-1;return 1}function addEvent(a,b,c,e){if(a.addEventListener){a.addEventListener(b,c,e);return true}else if(a.attachEvent)return a.attachEvent("on"+b,c);else alert("Handler could not be removed")}function clean_num(a){return a=a.replace(new RegExp(/[^-?0-9.]/g),"")}function trim(a){return a.replace(/^\s+|\s+$/g,"")} function alternate(a){a=a.getElementsByTagName("tbody");for(var b=0;b<a.length;b++)for(var c=a[b].getElementsByTagName("tr"),e=0;e<c.length;e++)if(e%2==0)if(c[e].className.indexOf("odd")!=-1)c[e].className=c[e].className.replace("odd","even");else{if(c[e].className.indexOf("even")==-1)c[e].className+=" even"}else if(c[e].className.indexOf("even")!=-1)c[e].className=c[e].className.replace("even","odd");else if(c[e].className.indexOf("odd")==-1)c[e].className+=" odd"};