var image_path="img/";var image_up="sort_asc.png";var image_down="sort_desc.png";var image_none="sort_none.png";var europeandate=true;var alternate_row_colors=true;addEvent(window,"load",sortables_init);addEvent(window,"load",sortTable);var SORT_COLUMN_INDEX;var thead=false;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 sortTable(){if(typeof kamuna=="Object"){kamuna.prTable.sort("programm-tabelle",0)}}function ts_makeSortable(H){if(H.rows&&H.rows.length>0){if(H.tHead&&H.tHead.rows.length>0){var G=H.tHead.rows[H.tHead.rows.length-1];thead=true}else{var G=H.rows[0]}}if(!G){return }for(var I=0;I<G.cells.length;I++){var J=G.cells[I];var F=ts_getInnerText(J);if(J.className!="unsortable"&&J.className.indexOf("unsortable")==-1){J.innerHTML='<a href="#" class="sortheader" onclick="ts_resortTable(this, '+I+');return false;" title="Nach '+F+' sortieren (auf- bzw. absteigend)">'+F+'<span class="sortarrow">&nbsp;&nbsp;<img src="'+image_path+image_none+'" alt="&darr;"/></span></a>'}}if(alternate_row_colors){alternate(H)}}function ts_getInnerText(H){if(typeof H=="string"){return H}if(typeof H=="undefined"){return H}if(H.innerText){return H.innerText}var G="";var I=H.childNodes;var F=I.length;for(var J=0;J<F;J++){switch(I[J].nodeType){case 1:G+=ts_getInnerText(I[J]);break;case 3:G+=I[J].nodeValue;break}}return G}function ts_resortTable(T,R){var P;for(var N=0;N<T.childNodes.length;N++){if(T.childNodes[N].tagName&&T.childNodes[N].tagName.toLowerCase()=="span"){P=T.childNodes[N]}}var Z=ts_getInnerText(P);var Y=T.parentNode;var X=R||Y.cellIndex;var O=getParent(Y,"TABLE");if(O.rows.length<=1){return }var S="";var V=0;while(S==""&&V<O.tBodies[0].rows.length){var S=ts_getInnerText(O.tBodies[0].rows[V].cells[X]);S=trim(S);if(S.substr(0,4)=="<!--"||S.length==0){S=""}V++}if(S==""){return }sortfn=ts_sort_caseinsensitive;if(S.match(/^\d\d[\/\.-][a-zA-z][a-zA-Z][a-zA-Z][\/\.-]\d\d\d\d$/)){sortfn=ts_sort_date}if(S.match(/^\d\d[\/\.-]\d\d[\/\.-]\d\d\d{2}?$/)){sortfn=ts_sort_date}if(S.match(/^-?[£$€Û¢´]\d/)){sortfn=ts_sort_numeric}if(S.match(/^-?(\d+[,\.]?)+(E[-+][\d]+)?%?$/)){sortfn=ts_sort_numeric}SORT_COLUMN_INDEX=X;var W=[];var U=[];for(k=0;k<O.tBodies.length;k++){for(V=0;V<O.tBodies[k].rows[0].length;V++){W[V]=O.tBodies[k].rows[0][V]}}for(k=0;k<O.tBodies.length;k++){if(!thead){for(j=1;j<O.tBodies[k].rows.length;j++){U[j-1]=O.tBodies[k].rows[j]}}else{for(j=0;j<O.tBodies[k].rows.length;j++){U[j]=O.tBodies[k].rows[j]}}}U.sort(sortfn);if(P.getAttribute("sortdir")=="down"){ARROW='&nbsp;&nbsp;<img src="'+image_path+image_down+'" alt="&darr;"/>';U.reverse();P.setAttribute("sortdir","up")}else{ARROW='&nbsp;&nbsp;<img src="'+image_path+image_up+'" alt="&uarr;"/>';P.setAttribute("sortdir","down")}for(V=0;V<U.length;V++){if(!U[V].className||(U[V].className&&(U[V].className.indexOf("sortbottom")==-1))){O.tBodies[0].appendChild(U[V])}}for(V=0;V<U.length;V++){if(U[V].className&&(U[V].className.indexOf("sortbottom")!=-1)){O.tBodies[0].appendChild(U[V])}}var Q=document.getElementsByTagName("span");for(var N=0;N<Q.length;N++){if(Q[N].className=="sortarrow"){if(getParent(Q[N],"table")==getParent(T,"table")){Q[N].innerHTML='&nbsp;&nbsp;<img src="'+image_path+image_none+'" alt="&darr;"/>'}}}P.innerHTML=ARROW;alternate(O)}function getParent(C,D){if(C==null){return null}else{if(C.nodeType==1&&C.tagName.toLowerCase()==D.toLowerCase()){return C}else{return getParent(C.parentNode,D)}}}function sort_date(C){dt="00000000";if(C.length==11){mtstr=C.substr(3,3);mtstr=mtstr.toLowerCase();switch(mtstr){case"jan":var D="01";break;case"feb":var D="02";break;case"mar":var D="03";break;case"apr":var D="04";break;case"may":var D="05";break;case"jun":var D="06";break;case"jul":var D="07";break;case"aug":var D="08";break;case"sep":var D="09";break;case"oct":var D="10";break;case"nov":var D="11";break;case"dec":var D="12";break}dt=C.substr(7,4)+D+C.substr(0,2);return dt}else{if(C.length==10){if(europeandate==false){dt=C.substr(6,4)+C.substr(0,2)+C.substr(3,2);return dt}else{dt=C.substr(6,4)+C.substr(3,2)+C.substr(0,2);return dt}}else{if(C.length==8){yr=C.substr(6,2);if(parseInt(yr)<50){yr="20"+yr}else{yr="19"+yr}if(europeandate==true){dt=yr+C.substr(3,2)+C.substr(0,2);return dt}else{dt=yr+C.substr(0,2)+C.substr(3,2);return dt}}}}return dt}function ts_sort_date(C,D){dt1=sort_date(ts_getInnerText(C.cells[SORT_COLUMN_INDEX]));dt2=sort_date(ts_getInnerText(D.cells[SORT_COLUMN_INDEX]));if(dt1==dt2){return 0}if(dt1<dt2){return -1}return 1}function ts_sort_numeric(E,F){var H=ts_getInnerText(E.cells[SORT_COLUMN_INDEX]);H=clean_num(H);var G=ts_getInnerText(F.cells[SORT_COLUMN_INDEX]);G=clean_num(G);return compare_numeric(H,G)}function compare_numeric(C,D){var C=parseFloat(C);C=(isNaN(C)?0:C);var D=parseFloat(D);D=(isNaN(D)?0:D);return C-D}function ts_sort_caseinsensitive(C,D){aa=ts_getInnerText(C.cells[SORT_COLUMN_INDEX]).toLowerCase();bb=ts_getInnerText(D.cells[SORT_COLUMN_INDEX]).toLowerCase();if(aa==bb){return 0}if(aa<bb){return -1}return 1}function ts_sort_default(C,D){aa=ts_getInnerText(C.cells[SORT_COLUMN_INDEX]);bb=ts_getInnerText(D.cells[SORT_COLUMN_INDEX]);if(aa==bb){return 0}if(aa<bb){return -1}return 1}function addEvent(G,H,J,F){if(G.addEventListener){G.addEventListener(H,J,F);return true}else{if(G.attachEvent){var I=G.attachEvent("on"+H,J);return I}else{alert("Handler could not be removed")}}}function clean_num(B){B=B.replace(new RegExp(/[^-?0-9.]/g),"");return B}function trim(B){return B.replace(/^\s+|\s+$/g,"")}function alternate(G){var I=G.getElementsByTagName("tbody");for(var J=0;J<I.length;J++){var H=I[J].getElementsByTagName("tr");for(var F=0;F<H.length;F++){if((F%2)==0){if(!(H[F].className.indexOf("odd")==-1)){H[F].className=H[F].className.replace("odd","even")}else{if(H[F].className.indexOf("even")==-1){H[F].className+=" even"}}}else{if(!(H[F].className.indexOf("even")==-1)){H[F].className=H[F].className.replace("even","odd")}else{if(H[F].className.indexOf("odd")==-1){H[F].className+=" odd"}}}}}};