(function($){$.fn.jTPS=function(opt){$(this).data('tableSettings',$.extend({perPages:[5,'10'],perPageText:'Ergebnisse pro Seite: ',perPageDelim:'<span style="color:#ccc;">|</span>',perPageSeperator:'..',scrollDelay:30,scrollStep:2,fixedLayout:false,clickCallback:function(){}},opt));var pT=$(this),page=page||1,perPages=$(this).data('tableSettings').perPages,perPage=perPage||perPages[0],rowCount=$('>tbody',this).find('tr').length;$(this).addClass('jTPS');if($(this).data('tableSettings').fixedLayout){if($(this).css('table-layout')!='fixed'){var maxCellHeight=0;$('>thead',this).find('th,td').each(function(){$(this).css('width',$(this).width())});var tbodyCh=$('>tbody',this)[0].childNodes,tmpp=0;for(var tbi=0,tbcl=tbodyCh.length;tbi<tbcl;tbi++)if(tbodyCh[tbi].nodeName=='TR')maxCellHeight=Math.max(maxCellHeight,tbodyCh[tbi].offsetHeight);for(var tbi=0,tbcl=tbodyCh.length;tbi<tbcl;tbi++)if(tbodyCh[tbi].nodeName=='TR')for(var tdi=0,trCh=tbodyCh[tbi].childNodes,tdcl=trCh.length;tdi<tdcl;tdi++)if(trCh[tdi].nodeName=='TD'){trCh[tdi].style.height=maxCellHeight+'px';tdi=tdcl}$(this).css('table-layout','fixed')}}$('.stubCell',this).remove();var stubCount=0,cols=Math.max($('>thead:first tr:last th,>thead:first tr:last td',this).length,parseInt($('>thead:first tr:last th,>thead:first tr:last td').attr('colspan')||0)),stubs=(perPage-($('>tbody>tr',this).length%perPage)),stubHeight=$('>tbody>tr:first>td:first',this).css('height');for(;stubCount<stubs&&stubs!=perPage;stubCount++)$('>tbody>tr:last',this).after('<tr class="stubCell"><td colspan="'+cols+'" style="height: '+stubHeight+';"> </td></tr>');if(rowCount>perPage&&perPage!=0)$('>tbody>tr:gt('+(perPage-1)+')',this).addClass('hideTR');if(perPage!=0)$('>thead [sort],>thead .sort',this).each(function(tdInd){$(this).addClass('sortableHeader').unbind('click').bind('click',function(){var columnNo=$('>thead tr:last',pT).children().index($(this)),desc=$('>thead [sort],>thead .sort',pT).eq(columnNo).hasClass('sortAsc')?true:false;sort(pT,columnNo,desc);var page=parseInt($('.hilightPageSelector:first',pT).html())||1;$('>tbody>tr',pT).removeClass('hideTR').filter(':gt('+((perPage-1)*page)+')').addClass('hideTR');$('>tbody>tr:lt('+((perPage-1)*(page-1))+')',pT).addClass('hideTR');if($('.pageSelector',pT).index($('.hilightPageSelector',pT))>0)$('.pageSelector:first',pT).click();$('>thead .sortDesc,>thead .sortAsc',pT).removeClass('sortDesc').removeClass('sortAsc');$('>thead [sort],>thead .sort',pT).eq(columnNo).addClass(desc?'sortDesc':'sortAsc');$('>tbody>tr>td.sortedColumn',pT).removeClass('sortedColumn');$('>tbody>tr:not(.stubCell)',pT).each(function(){$('>td:eq('+columnNo+')',this).addClass('sortedColumn')});clearSelection();$(pT).data('tableSettings').clickCallback()})});$('>.nav .selectPerPage',this).empty();var pageSel=perPages.length;while(pageSel--)$('>.nav .selectPerPage',this).prepend(((pageSel>0)?$(this).data('tableSettings').perPageDelim:'')+'<span class="perPageSelector">'+perPages[pageSel]+'</span>');drawPageSelectors(this,page||1);$('>.nav .selectPerPage',this).prepend($(this).data('tableSettings').perPageText).find('.perPageSelector').each(function(){if((parseInt($(this).html())||rowCount)==perPage)$(this).addClass('perPageSelected');$(this).bind('mouseover mouseout',function(e){e.type=='mouseover'?$(this).addClass('perPageHilight'):$(this).removeClass('perPageHilight')});$(this).bind('click',function(){perPage=parseInt($(this).html())||rowCount;if(perPage>rowCount)perPage=rowCount;$('.stubCell',this).remove();var stubCount=0,cols=$('>thead th,>thead td',pT).length,stubs=(perPage-($('>tbody>tr',pT).length%perPage)),stubHeight=$('>tbody>tr:first>td:first',pT).css('height');for(;stubCount<stubs&&stubs!=perPage;stubCount++)$('>tbody>tr:last',pT).after('<tr class="stubCell"><td colspan="'+cols+'" style="height: '+stubHeight+';"> </td></tr>');$('>tbody>tr',pT).removeClass('hideTR').filter(':gt('+((perPage-1)*page)+')').addClass('hideTR');$('>tbody>tr:lt('+((perPage-1)*(page-1))+')',pT).addClass('hideTR');$('.pageSelector:first',pT).click();$(this).siblings('.perPageSelected').removeClass('perPageSelected');$(this).addClass('perPageSelected');drawPageSelectors(pT,1);var cPos=$('>tbody>tr:not(.hideTR):first',pT).prevAll().length,ePos=$('>tbody>tr:not(.hideTR):not(.stubCell)',pT).length;$('>.nav .status',pT).html('Ergebnisse '+(cPos+1)+' - '+(cPos+ePos)+' von '+rowCount+'');clearSelection();$(pT).data('tableSettings').clickCallback()})});var cPos=$('>tbody>tr:not(.hideTR):first',this).prevAll().length,ePos=$('>tbody>tr:not(.hideTR):not(.stubCell)',this).length;$('>.nav .status',this).html('Ergebnisse '+(cPos+1)+' - '+(cPos+ePos)+' von '+rowCount);function clearSelection(){if(document.selection&&typeof(document.selection.empty)!='undefined')document.selection.empty();else if(typeof(window.getSelection)==='function'&&typeof(window.getSelection().removeAllRanges)==='function')window.getSelection().removeAllRanges()}function drawPageSelectors(target,page){$('>.nav .pagination',target).empty();var pages=(perPage>=rowCount||perPage==0)?0:Math.ceil(rowCount/perPage),totalPages=pages;while(pages--)$('>.nav .pagination',target).prepend('<div class="pageSelector">'+(pages+1)+'</div>');var pageCount=$('>.nav:first .pageSelector',target).length;$('>.nav',target).each(function(){$('.hidePageSelector',this).removeClass('hidePageSelector');$('.hilightPageSelector',this).removeClass('hilightPageSelector');$('.pageSelectorSeperator',this).remove();$('.pageSelector:lt('+((page>(pageCount-4))?(pageCount-5):(page-2))+'):not(:first)',this).addClass('hidePageSelector').eq(0).after('<div class="pageSelectorSeperator">'+$(target).data('tableSettings').perPageSeperator+'</div>');$('.pageSelector:gt('+((page<4)?4:page)+'):not(:last)',this).addClass('hidePageSelector').eq(0).after('<div class="pageSelectorSeperator">'+$(target).data('tableSettings').perPageSeperator+'</div>');$('.pageSelector:eq('+(page-1)+')',this).addClass('hilightPageSelector')});if(perPage>=rowCount)$('>.nav .paginationTitle',target).css('display','none');else $('>.nav .paginationTitle',target).css('display','');$('>.nav .pagination .pageSelector',target).each(function(){$(this).bind('click',function(){if($(this).hasClass('hilightPageSelector')){if($(this).parent().queue().length>0){$(this).parent().stop().queue("fx",[]).stop();var beginPos=((parseInt($(this).html())-1)*perPage),endPos=beginPos+perPage;$('>tbody> tr',pT).removeClass('hideTR').addClass('hideTR');$('>tbody>tr:gt('+(beginPos-2)+'):lt('+(perPage)+')',pT).andSelf().removeClass('hideTR');var cPos=$('>tbody>tr:not(.hideTR):first',pT).prevAll().length,ePos=$('>tbody>tr:not(.hideTR):not(.stubCell)',pT).length;$('>.nav .status',pT).html('Ergebnisse '+(cPos+1)+' - '+(cPos+ePos)+' von '+rowCount+'')}clearSelection();return false}$(this).addClass('hilightPageSelector');$(this).parent().stop().queue("fx",[]).stop().dequeue();var beginPos=$('>tbody>tr:not(.hideTR):first',pT).prevAll().length,endPos=((parseInt($(this).html())-1)*perPage);if(endPos>rowCount)endPos=(rowCount-1);var sStep=$(pT).data('tableSettings').scrollStep*Math.ceil(Math.abs((endPos-beginPos)/perPage));if(sStep>perPage)sStep=perPage;var steps=Math.ceil(Math.abs(beginPos-endPos)/sStep);while(steps--){$(this).parent().animate({'opacity':1},$(pT).data('tableSettings').scrollDelay,function(){if($(this).queue("fx").length==0)sStep=(Math.abs(beginPos-endPos)%sStep)||sStep;if(beginPos>endPos){$('>tbody>tr:not(.hideTR):first',pT).prevAll(':lt('+sStep+')').removeClass('hideTR');if($('>tbody>tr:not(.hideTR)',pT).length>perPage)$('>tbody>tr:not(.hideTR):last',pT).prevAll(':lt('+(sStep-1)+')').andSelf().addClass('hideTR');var currRows=$('>tbody>tr:not(.hideTR)',pT).length;if(currRows<perPage)$('>tbody>tr:not(.hideTR):last',pT).nextAll(':lt('+(perPage-currRows)+')').removeClass('hideTR')}else{var endPoint=$('>tbody>tr:not(.hideTR):last',pT);$('>tbody>tr:not(.hideTR):lt('+sStep+')',pT).addClass('hideTR');$(endPoint).nextAll(':lt('+sStep+')').removeClass('hideTR')}var cPos=$('>tbody>tr:not(.hideTR):first',pT).prevAll().length,ePos=$('>tbody>tr:not(.hideTR):not(.stubCell)',pT).length;$('>.nav .status',pT).html('Ergebnisse '+(cPos+1)+' - '+(cPos+ePos)+' von '+rowCount+'')})}drawPageSelectors(pT,parseInt($(this).html()));$(pT).data('tableSettings').clickCallback()})})};function sort(target,tdIndex,desc){var fCol=$('>thead th,>thead th',target).get(tdIndex),sorted=$(fCol).hasClass('sortAsc')||$(fCol).hasClass('sortDesc')||false,nullChar=String.fromCharCode(0),re=/([-]?[0-9\.]+)/g,rows=$('>tbody>tr:not(.stubCell)',target).get(),procRow=[];$(rows).each(function(key,val){procRow.push($('>td:eq('+tdIndex+')',val).text()+nullChar+procRow.length)});if(!sorted){procRow.sort(function naturalSort(a,b){var re=/(-?[0-9\.]+)/g,nC=String.fromCharCode(0),x=a.toString().toLowerCase().split(nC)[0]||'',y=b.toString().toLowerCase().split(nC)[0]||'',xN=x.replace(re,nC+'$1'+nC).split(nC),yN=y.replace(re,nC+'$1'+nC).split(nC),xD=(new Date(x)).getTime(),yD=xD?(new Date(y)).getTime():null;if(yD)if(xD<yD)return-1;else if(xD>yD)return 1;for(var cLoc=0,numS=Math.max(xN.length,yN.length);cLoc<numS;cLoc++){oFxNcL=parseFloat(xN[cLoc])||xN[cLoc];oFyNcL=parseFloat(yN[cLoc])||yN[cLoc];if(oFxNcL<oFyNcL)return-1;else if(oFxNcL>oFyNcL)return 1}return 0});if(!desc)procRow.reverse()}$('>tbody',target).addClass('jtpstemp').before('<tbody></tbody>');var nr=procRow.length,tf=$('>tbody',target)[0];if(sorted)while(nr--)tf.appendChild(rows[nr]);else while(nr--)tf.appendChild(rows[parseInt(procRow[nr].split(nullChar).pop())]);$('>tbody.jtpstemp',target).remove();var stubCount=0,cols=$('>thead>tr:last th',target).length,stubs=(perPage-($('>tbody>tr',target).length%perPage)),stubHeight=$('>tbody>tr:first>td:first',target).css('height');for(;stubCount<stubs&&stubs!=perPage;stubCount++)$('>tbody>tr:last',target).after('<tr class="stubCell"><td colspan="'+cols+'" style="height: '+stubHeight+';"> </td></tr>')}return this}})(jQuery);$(document).ready(function(){$('#demoTable').jTPS({perPages:['1'],scrollStep:1,scrollDelay:30,clickCallback:function(){var table='#demoTable';document.cookie='jTPS=sortasc:'+$(table+' .sortableHeader').index($(table+' .sortAsc'))+','+'sortdesc:'+$(table+' .sortableHeader').index($(table+' .sortDesc'))+','+'page:'+$(table+' .pageSelector').index($(table+' .hilightPageSelector'))+';'}});var cookies=document.cookie.split(';');for(var ci=0,cie=cookies.length;ci<cie;ci++){var cookie=cookies[ci].split('=');if(cookie[0]=='jTPS'){var commands=cookie[1].split(',');for(var cm=0,cme=commands.length;cm<cme;cm++){var command=commands[cm].split(':');if(command[0]=='sortasc'&&parseInt(command[1])>=0){$('#demoTable .sortableHeader:eq('+parseInt(command[1])+')').click()}else if(command[0]=='sortdesc'&&parseInt(command[1])>=0){$('#demoTable .sortableHeader:eq('+parseInt(command[1])+')').click().click()}else if(command[0]=='page'&&parseInt(command[1])>=0){$('#demoTable .pageSelector:eq('+parseInt(command[1])+')').click()}}}}$('#demoTable tbody tr:not(.stubCell)').bind('mouseover mouseout',function(e){e.type=='mouseover'?$(this).children('td').addClass('hilightRow'):$(this).children('td').removeClass('hilightRow')})});$(document).ready(function(){$('#demoTable0').jTPS({perPages:['1'],scrollStep:1,scrollDelay:30,clickCallback:function(){var table='#demoTable0';document.cookie='jTPS=sortasc:'+$(table+' .sortableHeader').index($(table+' .sortAsc'))+','+'sortdesc:'+$(table+' .sortableHeader').index($(table+' .sortDesc'))+','+'page:'+$(table+' .pageSelector').index($(table+' .hilightPageSelector'))+';'}});var cookies=document.cookie.split(';');for(var ci=0,cie=cookies.length;ci<cie;ci++){var cookie=cookies[ci].split('=');if(cookie[0]=='jTPS'){var commands=cookie[1].split(',');for(var cm=0,cme=commands.length;cm<cme;cm++){var command=commands[cm].split(':');if(command[0]=='sortasc'&&parseInt(command[1])>=0){$('#demoTable0 .sortableHeader:eq('+parseInt(command[1])+')').click()}else if(command[0]=='sortdesc'&&parseInt(command[1])>=0){$('#demoTable0 .sortableHeader:eq('+parseInt(command[1])+')').click().click()}else if(command[0]=='page'&&parseInt(command[1])>=0){$('#demoTable0 .pageSelector:eq('+parseInt(command[1])+')').click()}}}}$('#demoTable0 tbody tr:not(.stubCell)').bind('mouseover mouseout',function(e){e.type=='mouseover'?$(this).children('td').addClass('hilightRow'):$(this).children('td').removeClass('hilightRow')})});$(document).ready(function(){$('#demoTable1').jTPS({perPages:['5'],scrollStep:1,scrollDelay:30,clickCallback:function(){var table='#demoTable1';document.cookie='jTPS=sortasc:'+$(table+' .sortableHeader').index($(table+' .sortAsc'))+','+'sortdesc:'+$(table+' .sortableHeader').index($(table+' .sortDesc'))+','+'page:'+$(table+' .pageSelector').index($(table+' .hilightPageSelector'))+';'}});var cookies=document.cookie.split(';');for(var ci=0,cie=cookies.length;ci<cie;ci++){var cookie=cookies[ci].split('=');if(cookie[0]=='jTPS'){var commands=cookie[1].split(',');for(var cm=0,cme=commands.length;cm<cme;cm++){var command=commands[cm].split(':');if(command[0]=='sortasc'&&parseInt(command[1])>=0){$('#demoTable1 .sortableHeader:eq('+parseInt(command[1])+')').click()}else if(command[0]=='sortdesc'&&parseInt(command[1])>=0){$('#demoTable1 .sortableHeader:eq('+parseInt(command[1])+')').click().click()}else if(command[0]=='page'&&parseInt(command[1])>=0){$('#demoTable1 .pageSelector:eq('+parseInt(command[1])+')').click()}}}}$('#demoTable1 tbody tr:not(.stubCell)').bind('mouseover mouseout',function(e){e.type=='mouseover'?$(this).children('td').addClass('hilightRow'):$(this).children('td').removeClass('hilightRow')})});