addEvent(window,"load",sortables_init);var SORT_COLUMN_INDEX;var COLOR_ALTERNATING_SETS=0;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(table){if(table.rows&&table.rows.length>0){var firstRow=table.rows[0]}if(!firstRow){return}for(var i=0;i<firstRow.cells.length;i++){var cell=firstRow.cells[i];if(!cell.className||cell.className.indexOf("nosort")<0){var txt=ts_getInnerText(cell);cell.innerHTML='<a href="#" class="sortheader" onclick="ts_resortTable(this);return false;">'+txt+'<span class="sortarrow">&nbsp;&nbsp;&nbsp;</span></a>'}}}function ts_getInnerText(el){if(typeof el=="string"){return el}if(typeof el=="undefined"){return el}if(el.innerText){return el.innerText}var str="";var cs=el.childNodes;var l=cs.length;for(var i=0;i<l;i++){switch(cs[i].nodeType){case 1:str+=ts_getInnerText(cs[i]);break;case 3:str+=cs[i].nodeValue;break}}return str}function ts_resortTable(lnk){var span;for(var ci=0;ci<lnk.childNodes.length;ci++){if(lnk.childNodes[ci].tagName&&lnk.childNodes[ci].tagName.toLowerCase()=="span"){span=lnk.childNodes[ci]}}var spantext=ts_getInnerText(span);var sort_dir_down=span.getAttribute("sortdir")!="down";var td=lnk.parentNode;var column=td.cellIndex;var table=getParent(td,"TABLE");if(table.rows.length<=1){return}var itm=ts_getInnerText(table.rows[1].cells[column]);sortfn=sort_dir_down?ts_sort_caseinsensitive:ts_sort_caseinsensitive_reverse;if(itm.match(/^\d\d[\/-]\d\d[\/-]\d\d\d\d/)){sortfn=sort_dir_down?ts_sort_date:ts_sort_date_reverse}if(itm.match(/^\d\d[\/-]\d\d[\/-]\d\d/)){sortfn=sort_dir_down?ts_sort_date:ts_sort_date_reverse}if(itm.match(/^[$]/)){sortfn=sort_dir_down?ts_sort_currency:ts_sort_currency_reverse}if(itm.match(/^[\d\n\r. ]+$/)){sortfn=sort_dir_down?ts_sort_numeric:ts_sort_numeric_reverse}SORT_COLUMN_INDEX=column;var firstRow=new Array();var newRows=new Array();for(i=0;i<table.rows[0].length;i++){firstRow[i]=table.rows[0][i]}for(j=1;j<table.rows.length;j++){newRows[j-1]=table.rows[j]}insertionSort(newRows,sortfn);if(sort_dir_down){ARROW="&darr;";span.setAttribute("sortdir","down")}else{ARROW="&uarr;";span.setAttribute("sortdir","up")}for(i=0;i<newRows.length;i++){if(newRows[i].className&&(newRows[i].className.indexOf("sorttop")!=-1)){table.tBodies[0].appendChild(newRows[i])}}var oldValue="_ts_unlikely_value___";var currentColor=ts_toggleColor();for(i=0;i<newRows.length;i++){if(!newRows[i].className||(newRows[i].className&&(newRows[i].className.indexOf("sortbottom")==-1&&newRows[i].className.indexOf("sorttop")==-1))){var newValue=ts_getInnerText(newRows[i].cells[SORT_COLUMN_INDEX]);if(COLOR_ALTERNATING_SETS&&(oldValue!=newValue)){currentColor=ts_toggleColor();oldValue=newValue}if(COLOR_ALTERNATING_SETS){newRows[i].bgColor=currentColor}table.tBodies[0].appendChild(newRows[i])}}for(i=0;i<newRows.length;i++){if(newRows[i].className&&(newRows[i].className.indexOf("sortbottom")!=-1)){table.tBodies[0].appendChild(newRows[i])}}var allspans=document.getElementsByTagName("span");for(var ci=0;ci<allspans.length;ci++){if(allspans[ci].className=="sortarrow"){if(getParent(allspans[ci],"table")==getParent(lnk,"table")){allspans[ci].innerHTML="&nbsp;&nbsp;&nbsp;"}}}span.innerHTML=ARROW}function getParent(el,pTagName){if(el==null){return null}else{if(el.nodeType==1&&el.tagName.toLowerCase()==pTagName.toLowerCase()){return el}else{return getParent(el.parentNode,pTagName)}}}function ts_sort_date(a,b){aa=ts_getInnerText(a.cells[SORT_COLUMN_INDEX]);bb=ts_getInnerText(b.cells[SORT_COLUMN_INDEX]);dt1=Date.parse(aa);dt2=Date.parse(bb);if(dt1==dt2){return 0}if(dt1<dt2){return -1}return 1}function ts_sort_date_reverse(a,b){aa=ts_getInnerText(a.cells[SORT_COLUMN_INDEX]);bb=ts_getInnerText(b.cells[SORT_COLUMN_INDEX]);dt1=Date.parse(aa);dt2=Date.parse(bb);if(dt1==dt2){return 0}if(dt1>dt2){return -1}return 1}function ts_sort_currency(a,b){aa=ts_getInnerText(a.cells[SORT_COLUMN_INDEX]).replace(/[^0-9.]/g,"");bb=ts_getInnerText(b.cells[SORT_COLUMN_INDEX]).replace(/[^0-9.]/g,"");return parseFloat(aa)-parseFloat(bb)}function ts_sort_currency_reverse(a,b){aa=ts_getInnerText(a.cells[SORT_COLUMN_INDEX]).replace(/[^0-9.]/g,"");bb=ts_getInnerText(b.cells[SORT_COLUMN_INDEX]).replace(/[^0-9.]/g,"");return parseFloat(bb)-parseFloat(aa)}function ts_sort_numeric(a,b){aa=parseFloat(ts_getInnerText(a.cells[SORT_COLUMN_INDEX]));if(isNaN(aa)){aa=0}bb=parseFloat(ts_getInnerText(b.cells[SORT_COLUMN_INDEX]));if(isNaN(bb)){bb=0}return aa-bb}function ts_sort_numeric_reverse(a,b){aa=parseFloat(ts_getInnerText(a.cells[SORT_COLUMN_INDEX]));if(isNaN(aa)){aa=0}bb=parseFloat(ts_getInnerText(b.cells[SORT_COLUMN_INDEX]));if(isNaN(bb)){bb=0}return bb-aa}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_caseinsensitive_reverse(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 ts_sort_default_reverse(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(elm,evType,fn,useCapture){if(elm.addEventListener){elm.addEventListener(evType,fn,useCapture);return true}else{if(elm.attachEvent){var r=elm.attachEvent("on"+evType,fn);return r}else{alert("Handler could not be removed")}}}function hideTableColumns(tableId,columnNumbers){var myTable=document.getElementById(tableId);var totalRows=myTable.rows.length;for(var i=0;i<totalRows;i++){for(var j=0;j<columnNumbers.length;j++){cell=myTable.rows[i].cells[columnNumbers[j]];cell.style.display="none"}}}function showTableColumns(tableId,columnNumbers){var myTable=document.getElementById(tableId);var totalRows=myTable.rows.length;for(var i=0;i<totalRows;i++){for(var j=0;j<columnNumbers.length;j++){cell=myTable.rows[i].cells[columnNumbers[j]];cell.style.display=""}}}function _getItem(id){var itm=false;if(document.getElementById){itm=document.getElementById(id)}else{if(document.all){itm=document.all[id]}else{if(document.layers){itm=document.layers[id]}}}return itm}function toggleItemDisplay(id){itm=_getItem(id);if(!itm){return false}if(itm.style.display=="none"){itm.style.display=""}else{itm.style.display="none"}return false}var _ts_color1="lightgrey";var _ts_color2="white";var _ts_currentColor=_ts_color1;function ts_toggleColor(){if(_ts_currentColor==_ts_color1){_ts_currentColor=_ts_color2}else{_ts_currentColor=_ts_color1}return _ts_currentColor}function sortables_specifyAlternateSetColoring(color1,color2){_ts_color1=color1;_ts_color2=color2}function sortables_enableAlternateSetColoring(){COLOR_ALTERNATING_SETS=1}function sortables_disableAlternateSetColoring(){COLOR_ALTERNATING_SETS=0}function insertionSort(a,compareFunction){var i,j;var n=a.length;for(i=1;i<n;i++){var ai=a[i];j=i-1;while((j>=0)&&(compareFunction(a[j],ai)>0)){a[j+1]=a[j];j--}a[j+1]=ai}};