addEvent(window,"load",sortables_init);addEvent(window,"load",alternatingTables_init);var SORT_COLUMN_INDEX;var sortIconRow;var imgPath="img/";addEvent(window,"load",alternatingTables_init);function alternatingTables_init()
{if(!document.getElementsByTagName)return;tbls=document.getElementsByTagName("table");for(ti=0;ti<tbls.length;ti++){thisTbl=tbls[ti];if((' '+thisTbl.className+' ').indexOf("alternatingRows")!=-1){setAlternatingRows(thisTbl);}}}
function setAlternatingRows(tableElement)
{var currentRowToBeHighlighted=0;if(tableElement.rows&&tableElement.rows.length>0){for(var i=0;i<tableElement.rows.length;i++)
{if(tableElement.rows[i].cells[0].tagName.toLowerCase()=='td')
{if(currentRowToBeHighlighted%2==0)tableElement.rows[i].className=tableElement.rows[i].className+' brightRow';else tableElement.rows[i].className=tableElement.rows[i].className+' darkRow';currentRowToBeHighlighted+=1;}}}}
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){for(var i=0;i<table.rows.length;i++)
{if(((' '+table.rows[i].className+' ').indexOf("sortRow")!=-1))
{var firstRow=table.rows[i];sortIconRow=i;break;}}}
var tfootRowLength=0;if(table.getElementsByTagName('tfoot')[0])
{tfootRowLength=thisTbl.getElementsByTagName('tfoot')[0].rows.length;}
if(!firstRow||(table.rows.length<=(sortIconRow+1+tfootRowLength)))return;for(var i=0;i<firstRow.cells.length;i++){var cell=firstRow.cells[i];var txt=ts_getInnerText(cell);if(cell.className.indexOf("noSorting")!=-1)continue;cell.innerHTML=txt+'<a class="sortingLink" href="javascript:void(-1);" onclick="ts_resortTable(this);return false;"><span class="sortarrow"><img src="'+imgPath+'iconSortNone.gif" alt=""></span></a>';}}
function determineSortIconRow(tableObject)
{for(var i=0;i<tableObject.rows.length;i++)
{if(((' '+tableObject.rows[i].className+' ').indexOf("sortRow")!=-1))
{return i;break;}}}
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(linkObject){var span;for(var ci=0;ci<linkObject.childNodes.length;ci++){if(linkObject.childNodes[ci].tagName&&linkObject.childNodes[ci].tagName.toLowerCase()=='span')
{span=linkObject.childNodes[ci];break;}}
var spantext=ts_getInnerText(span);var td=linkObject.parentNode;var column=td.cellIndex;var tableElement=getParent(td,'TABLE');sortIconRow=determineSortIconRow(tableElement);if(tableElement.rows.length<=1)return;var itm=ts_getInnerText(tableElement.rows[sortIconRow+1].cells[column]);sortFunction=ts_sort_caseinsensitive;if(itm.match(/^[\d\.]+$/))sortFunction=ts_sort_numeric;if(itm.match(/^\d\d[\/\.\-]\d\d[\/\.\-]\d\d\d\d$/))sortFunction=ts_sort_date;if(itm.match(/^\d\d[\/.-]\d\d[\/.-]\d\d$/))sortFunction=ts_sort_date;if(itm.match(/^[$]/))sortFunction=ts_sort_currency;if(itm.match(/[%]/))sortFunction=ts_sort_percent;SORT_COLUMN_INDEX=column;var firstRow=new Array();var newRows=new Array();for(i=0;i<tableElement.rows[0].length;i++){firstRow[i]=tableElement.rows[0][i];}
for(j=(sortIconRow+1);j<tableElement.rows.length;j++)
{if((' '+tableElement.rows[j].className+' ').indexOf('noSorting')==-1)
{newRows[j-sortIconRow-1]=tableElement.rows[j];}}
newRows.sort(sortFunction);if(span.getAttribute("sortdir")=='down'){ARROW='<img src="'+imgPath+'iconSortDown.gif" alt="">';newRows.reverse();span.setAttribute('sortdir','up');}else{ARROW='<img src="'+imgPath+'iconSortUp.gif" alt="">';span.setAttribute('sortdir','down');}
for(i=0;i<newRows.length;i++){if(!newRows[i].className||(newRows[i].className&&(newRows[i].className.indexOf('noSorting')==-1)))tableElement.tBodies[0].appendChild(newRows[i]);}
for(i=0;i<newRows.length;i++){if(newRows[i].className&&(newRows[i].className.indexOf('noSorting')!=-1))tableElement.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(linkObject,"table")){allspans[ci].innerHTML='<img src="'+imgPath+'iconSortNone.gif" alt="">';}}}
span.innerHTML=ARROW;if((' '+tableElement.className+' ').indexOf("alternatingRows")!=-1)
{for(var t=0;t<tableElement.rows.length;t++)
{if(((' '+tableElement.rows[t].className+' ').indexOf((/\bbrightRow\b/gi).exec('brightRow')!=-1))||((' '+tableElement.rows[t].className+' ').indexOf((/\bdarkRow\b/gi).exec('darkRow')!=-1)))
{tableElement.rows[t].className=(' '+tableElement.rows[t].className+' ').replace(/\bbrightRow\b/gi,'');tableElement.rows[t].className=(' '+tableElement.rows[t].className+' ').replace(/\bdarkRow\b/gi,'');}}
setAlternatingRows(tableElement);}}
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]);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(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_percent(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_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_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(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");}}