var fdTableSort={regExp_Currency:/^[£$€¥¤]/,regExp_Number:/^(\-)?[0-9]+(\.[0-9]*)?$/,pos:-1,uniqueHash:1,thNode:null,tableCache:{},tableId:null,addEvent:function(C,B,A){if(C.attachEvent){C["e"+B+A]=A;C[B+A]=function(){C["e"+B+A](window.event)};C.attachEvent("on"+B,C[B+A])}else{C.addEventListener(B,A,false)}},stopEvent:function(e){e=e||window.event;if(e.stopPropagation){e.stopPropagation();e.preventDefault();
/*@cc_on@*/
/*@if(@_win32)
                e.cancelBubble = true;
                e.returnValue = false;
                /*@end@*/
}return false},init:function(){if(!document.getElementsByTagName){return }var O=document.getElementsByTagName("table");var F,D,G,H,K,M,N,C,A;K=document.createElement("a");K.href="#";K.onkeypress=fdTableSort.keyWrapper;M=document.createElement("span");for(var P=0,E;E=O[P];P++){D=fdTableSort.getTableHeaders(E);F=false;N=E.className.search(/sortable-onload-([0-9]+)/)!=-1?parseInt(E.className.match(/sortable-onload-([0-9]+)/)[1])-1:-1;showArrow=E.className.search(/no-arrow/)==-1;reverse=E.className.search(/sortable-onload-([0-9]+)-reverse/)!=-1;if(E.id&&E.id in fdTableSort.tableCache){delete fdTableSort.tableCache[E.id]}var L=-1;for(var I=0,B;B=D[I];I++){L+=B.getAttribute("colspan")?Number(B.getAttribute("colspan")):1;if(B.className&&B.className.match("sortable")&&(!B.getAttribute("colspan")||B.getAttribute("colspan")==1)){B.className=B.className.replace(/forwardSort|reverseSort/,"");if(L==N){F=B}G=fdTableSort.getInnerText(B);while(B.firstChild){B.removeChild(B.firstChild)}H=K.cloneNode(true);H.appendChild(document.createTextNode(G));H.title="Sort on "+G;K.onclick=B.onclick=fdTableSort.clickWrapper;B.appendChild(H);if(showArrow){B.appendChild(M.cloneNode(false))}var J="fd-column-"+L;B.className=B.className.replace(/fd-identical|fd-not-identical/,"").replace(/fd-column-([0-9]+)/,"")+" "+J;fdTableSort.disableSelection(B)}}if(F){fdTableSort.thNode=F;fdTableSort.initSort();if(reverse){fdTableSort.thNode=F;fdTableSort.initSort()}}}},disableSelection:function(A){A.onselectstart=function(){return false};A.unselectable="on";A.style.MozUserSelect="none"},getTableHeaders:function(B){var C;var A=B.getElementsByTagName("thead");if(A&&A.length){A=A[0];C=A.getElementsByTagName("tr");C=C[C.length-1].getElementsByTagName("th")}else{C=B.getElementsByTagName("th")}return C},countColumns:function(D){var A=0;for(var B=0,C;C=D[B];B++){A+=C.getAttribute("colspan")?Number(C.getAttribute("colspan")):1}return A},getTH:function(D,E){var D=fdTableSort.thNode.parentNode.getElementsByTagName("th");for(var A=0,C;C=D[A];A++){var B=new RegExp("(fd-column-"+E+")([^0-9]+)");if(C.className.search(B)!=-1){return C}}},clickWrapper:function(A){A=A||window.event;if(fdTableSort.thNode==null){fdTableSort.thNode=this;fdTableSort.addSortActiveClass();setTimeout("fdTableSort.initSort()",5)}return fdTableSort.stopEvent(A)},keyWrapper:function(C){C=C||window.event;var B=C.keyCode!=null?C.keyCode:C.charCode;if(B==13){var A=this;while(A.tagName.toLowerCase()!="th"){A=A.parentNode}fdTableSort.thNode=A;fdTableSort.addSortActiveClass();setTimeout("fdTableSort.initSort()",5);return fdTableSort.stopEvent(C)}return true},jsWrapper:function(B,A){var C=document.getElementById(B);fdTableSort.thNode=fdTableSort.getTH(C.getElementsByTagName("th"),colnum);if(!fdTableSort.thNode||fdTableSort.thNode.className.search(/fd-column/)==-1){return false}fdTableSort.addSortActiveClass();fdTableSort.initSort()},addSortActiveClass:function(){if(fdTableSort.thNode==null){return }fdTableSort.addClass(fdTableSort.thNode,"sort-active");fdTableSort.addClass(document.getElementsByTagName("body")[0],"sort-active");if("sortInitiatedCallback" in window){var A=fdTableSort.thNode;while(A.tagName.toLowerCase()!="table"&&A.parentNode){A=A.parentNode}sortInitiatedCallback(A.id)}},removeSortActiveClass:function(){fdTableSort.removeClass(fdTableSort.thNode,"sort-active");fdTableSort.removeClass(document.getElementsByTagName("body")[0],"sort-active");if("sortCompleteCallback" in window){var A=fdTableSort.thNode;while(A.tagName.toLowerCase()!="table"&&A.parentNode){A=A.parentNode}sortCompleteCallback(A.id)}},addClass:function(A,B){if(new RegExp("(^|\\s)"+B+"(\\s|$)").test(A.className)){return }A.className+=(A.className?" ":"")+B},removeClass:function(A,B){A.className=!B?"":A.className.replace(new RegExp("(^|\\s*\\b[^-])"+B+"($|\\b(?=[^-]))","g"),"")},prepareTableData:function(Q){if(!Q.id){Q.id="fd-table-"+fdTableSort.uniqueHash++}var T=[];var F=Q.getElementsByTagName("tbody");F=F.length?F[0]:Q;var N=F.getElementsByTagName("tr");var D=fdTableSort.getTableHeaders(Q);var E=N.length;var I=fdTableSort.countColumns(D);var T=[];var C=new Array(I);var K=new Array(I);var B,M,J,O,P,H,L;var G=0;for(L=0;L<E;L++){B=N[L];if(B.getElementsByTagName("th").length>0||(B.parentNode&&B.parentNode.tagName.toLowerCase()=="tfoot")){continue}T[G]=[];P=B.getElementsByTagName("td");H=-1;for(var R=0,J;J=D[R];R++){H+=J.getAttribute("colspan")?Number(J.getAttribute("colspan")):1;if(J.className.search(/sortable/)==-1||(J.getAttribute("colspan")&&Number(J.getAttribute("colspan"))>1)){continue}M=P[H];O=fdTableSort.getInnerText(M)+" ";O=O.replace(/^\s+/,"").replace(/\s+$/,"");if(J.className.search(/sortable-date/)!=-1){O=fdTableSort.dateFormat(O,J.className.search(/sortable-date-dmy/)!=-1)}else{if(J.className.search(/sortable-numeric|sortable-currency/)!=-1){O=parseFloat(O.replace(/[^0-9\.\-]/g,""));if(isNaN(O)){O=""}}else{if(J.className.search(/sortable-text/)!=-1){O=O.toLowerCase()}else{if(J.className.search(/sortable-([a-zA-Z\_]+)/)!=-1){if((J.className.match(/sortable-([a-zA-Z\_]+)/)[1]+"PrepareData") in window){O=window[J.className.match(/sortable-([a-zA-Z\_]+)/)[1]+"PrepareData"](M,O)}}else{if(O!=""){fdTableSort.removeClass(J,"sortable");if(fdTableSort.dateFormat(O)!=0){fdTableSort.addClass(J,"sortable-date");O=fdTableSort.dateFormat(O)}else{if(O.search(fdTableSort.regExp_Number)!=-1||O.search(fdTableSort.regExp_Currency)!=-1){fdTableSort.addClass(J,"sortable-numeric");O=parseFloat(O.replace(/[^0-9\.\-]/g,""));if(isNaN(O)){O=""}}else{fdTableSort.addClass(J,"sortable-text");O=O.toLowerCase()}}}}}}}if(G>0&&K[H]!=O){C[H]=false}K[H]=O;T[G][H]=O}T[G][I]=B;G++}var A=Q.className.search(/colstyle-([\S]+)/)!=-1?Q.className.match(/colstyle-([\S]+)/)[1]:false;var S=Q.className.search(/rowstyle-([\S]+)/)!=-1?Q.className.match(/rowstyle-([\S]+)/)[1]:false;fdTableSort.tableCache[Q.id]={data:T,pos:-1,identical:C,colStyle:A,rowStyle:S,noArrow:Q.className.search(/no-arrow/)!=-1}},initSort:function(){var Q;var I=fdTableSort.thNode;var A=fdTableSort.thNode;while(A.tagName.toLowerCase()!="table"&&A.parentNode){A=A.parentNode}if(!A.id||!(A.id in fdTableSort.tableCache)){fdTableSort.prepareTableData(A)}fdTableSort.tableId=A.id;fdTableSort.pos=I.className.match(/fd-column-([0-9]+)/)[1];var O=fdTableSort.tableCache[A.id];var N=O.pos;var S=O.data;var C=O.colStyle;var R=O.rowStyle;var J=S.length;var G=S[0].length-1;var D=O.identical[fdTableSort.pos]==false?false:true;var M=O.noArrow;if(N!=fdTableSort.pos&&N!=-1){var F=fdTableSort.getTH(I.parentNode.getElementsByTagName("th"),N);fdTableSort.removeClass(F,"forwardSort");fdTableSort.removeClass(F,"reverseSort");if(!M){Q=F.getElementsByTagName("span")[0];while(Q.firstChild){Q.removeChild(Q.firstChild)}}}var H="forwardSort";if(N==fdTableSort.pos&&!D){S.reverse();H=I.className.search(/reverseSort/)!=-1?"forwardSort":"reverseSort"}else{fdTableSort.tableCache[A.id].pos=fdTableSort.pos;if(!D){if(I.className.match(/sortable-numeric|sortable-currency|sortable-date/)){S.sort(fdTableSort.sortNumeric)}else{if(I.className.match("sortable-text")){S.sort(fdTableSort.sortText)}else{if(I.className.search(/sortable-([a-zA-Z\_]+)/)!=-1&&I.className.match(/sortable-([a-zA-Z\_]+)/)[1] in window){S.sort(window[I.className.match(/sortable-([a-zA-Z\_]+)/)[1]])}}}}}fdTableSort.removeClass(I,"forwardSort");fdTableSort.removeClass(I,"reverseSort");fdTableSort.addClass(I,H);if(!M){var E=I.className.search(/forwardSort/)!=-1?" \u2193":" \u2191";Q=I.getElementsByTagName("span")[0];while(Q.firstChild){Q.removeChild(Q.firstChild)}Q.appendChild(document.createTextNode(E))}if(!R&&!C&&D){fdTableSort.removeSortActiveClass();fdTableSort.thNode=null;return }var L=A.getElementsByTagName("tbody");L=L.length?L[0]:A;var K,B;for(var P=0;P<J;P++){B=S[P][G];if(C){if(N!=-1){fdTableSort.removeClass(B.getElementsByTagName("td")[N],C)}fdTableSort.addClass(B.getElementsByTagName("td")[fdTableSort.pos],C)}if(!D){if(R){if(P%2){fdTableSort.addClass(B,R)}else{fdTableSort.removeClass(B,R)}}L.removeChild(B);L.appendChild(B)}}fdTableSort.removeSortActiveClass();fdTableSort.thNode=null},getInnerText:function(C){if(typeof C=="string"||typeof C=="undefined"){return C}if(C.innerText){return C.innerText}var A="",B;for(B=C.firstChild;B;B=B.nextSibling){if(B.nodeType==3){A+=B.nodeValue}else{if(B.nodeType==1){A+=fdTableSort.getInnerText(B)}}}return A},dateFormat:function(D,B){var C=[{regExp:/^(0[1-9]|1[012])([- \/.])(0[1-9]|[12][0-9]|3[01])([- \/.])(\d\d?\d\d)$/,d:3,m:1,y:5},{regExp:/^(0[1-9]|[12][0-9]|3[01])([- \/.])(0[1-9]|1[012])([- \/.])(\d\d?\d\d)$/,d:1,m:3,y:5},{regExp:/^(\d\d?\d\d)([- \/.])(0[1-9]|1[012])([- \/.])(0[1-9]|[12][0-9]|3[01])$/,d:5,m:3,y:1}];var E;var A=0;while(A<3){E=(A+(B?4:3))%3;if(D.match(C[E].regExp)){res=D.match(C[E].regExp);y=res[C[E].y];m=res[C[E].m];d=res[C[E].d];if(m.length==1){m="0"+m}if(d.length==1){d="0"+d}if(y.length!=4){y=(parseInt(y)<50)?"20"+y:"19"+y}return y+m+d}A++}return 0},sortDate:function(B,A){var C=B[fdTableSort.pos];var D=A[fdTableSort.pos];return C-D},sortNumeric:function(B,A){var C=B[fdTableSort.pos];var D=A[fdTableSort.pos];if(C===""&&!isNaN(D)){return -1}else{if(D===""&&!isNaN(C)){return 1}else{if(C==D){return 0}}}return C-D},sortText:function(B,A){var C=B[fdTableSort.pos];var D=A[fdTableSort.pos];if(C==D){return 0}if(C<D){return -1}return 1}};fdTableSort.addEvent(window,"load",fdTableSort.init);