(function(a){a.fn.dataTable=function(p){var f=new Array();function c(){this.oFeatures={bPaginate:true,bLengthChange:true,bFilter:true,bSort:true,bInfo:true,bProcessing:true,bAutoWidth:true};this.oLanguage={sProcessing:"Processing...",sLengthMenu:"Show _MENU_ entries",sZeroRecords:"No matching records found",sInfo:"Showing _START_ to _END_ of _TOTAL_ entries",sInfoEmtpy:"Showing 0 to 0 of 0 entries",sInfoFiltered:"(filtered from _MAX_ total entries)",sInfoPostFix:"",sSearch:"Search:",sUrl:""};this.aoColumns=new Array();this.aaData=new Array();this.aaDataMaster=new Array();this.asDataSearch=new Array();this.sPreviousSearch="";this.nInfo=null;this.nProcessing=null;this.iDisplayLength=10;this.iDisplayStart=0;this.iDisplayEnd=10;this.iColumnSorting=null;this.iSortingDirection=0;this.sDefaultSortingDirection="asc";this.asStripClasses=new Array();this.fnRowCallback=null;this.fnHeaderCallback=null;this.fnFooterCallback=null;this.nFooter=null;this.sTableId="";this.nTable=null;this.iDefaultSortIndex=0;this.bInitialised=false;this.nOpenRow=null;this.nPaginate=null;this.nPrevious=null;this.nNext=null}this.fnDraw=function(){var y=_fnSettingsFromNode(this[0]);w(y);m(y)};this.fnFilter=function(y){n(_fnSettingsFromNode(this[0]),y,1)};this.fnSort=function(y){_fnSort(_fnSettingsFromNode(this[0]),this,y)};this.fnAddData=function(z){var y=_fnSettingsFromNode(this[0]);if(typeof z[0]=="object"){if(z[0].length!=y.aoColumns.length){return 1}else{y.aaDataMaster=y.aaDataMaster.concat(z.slice())}}else{if(z.length!=y.aoColumns.length){return 1}else{y.aaDataMaster[y.aaDataMaster.length++]=z.slice()}}y.aaData=y.aaDataMaster.slice();x(y,1);_fnSort(y,y.iColumnSorting,true);if(y.oFeatures.bFilter){n(y,y.sPreviousSearch)}else{w(y);m(y)}return 0};this.fnAddRow=function(y){this.fnAddData(y)};this.fnAddArray=function(y){this.fnAddData(y)};this.fnDeleteRow=function(B,z){var A=_fnSettingsFromNode(this[0]);if(A.aaDataMaster.length==A.aaData.length){iIndexAAMaster=B}else{iIndexAAMaster=q(A,B)}var y=A.aaDataMaster[iIndexAAMaster].slice();A.aaDataMaster.splice(iIndexAAMaster,1);A.aaData.splice(B,1);x(A,1);if(typeof z=="function"){z.call(this)}if(A.iDisplayStart>A.aaData.length){A.iDisplayStart-=A.iDisplayLength}w(A);m(A);return y};this.fnClearTable=function(){var y=_fnSettingsFromNode(this[0]);y.aaDataMaster.length=0;y.aaData.length=0;w(y);m(y)};this.fnOpen=function(C,B,D){var z=_fnSettingsFromNode(this[0]);if(z.nOpenRow!=null){this.fnClose()}var y=document.createElement("tr");var A=document.createElement("td");y.appendChild(A);y.className=D;A.colSpan=z.aoColumns.length;A.innerHTML=B;a(y).insertAfter(C);z.nOpenRow=y};this.fnClose=function(){var y=_fnSettingsFromNode(this[0]);a(y.nOpenRow).remove();y.nOpenRow=null};this.fnDecrement=function(A,z){if(typeof z=="undefined"){z=0}var B=_fnSettingsFromNode(this[0]);for(var y=0;y<B.aaDataMaster.length;y++){if(B.aaDataMaster[y][z]*1>A){B.aaDataMaster[y][z]=(B.aaDataMaster[y][z]*1)-1}}};function u(A,y){A.aoColumns[A.aoColumns.length++]={sType:null,bVisible:true,bSearchable:true,bSortable:true,sTitle:null,sWidth:null,sClass:null,fnRender:null,fnSort:null};if(typeof y!="undefined"&&y!=null){var z=A.aoColumns.length-1;if(typeof y.sType!="undefined"){A.aoColumns[z].sType=y.sType}if(typeof y.bVisible!="undefined"){A.aoColumns[z].bVisible=y.bVisible}if(typeof y.bSearchable!="undefined"){A.aoColumns[z].bSearchable=y.bSearchable}if(typeof y.bSortable!="undefined"){A.aoColumns[z].bSortable=y.bSortable}if(typeof y.sTitle!="undefined"){A.aoColumns[z].sTitle=y.sTitle}if(typeof y.sWidth!="undefined"){A.aoColumns[z].sWidth=y.sWidth}if(typeof y.sClass!="undefined"){A.aoColumns[z].sClass=y.sClass}if(typeof y.fnRender!="undefined"){A.aoColumns[z].fnRender=y.fnRender}if(typeof y.fnSort!="undefined"){A.aoColumns[z].fnSort=y.fnSort}}}function g(A){var z;if(a("thead th",A.nTable).length!=A.aoColumns.length){alert("Warning - columns do not match")}for(var y=0;y<A.aoColumns.length;y++){if(A.aoColumns[y].sTitle==null){A.aoColumns[y].sTitle=a("thead th:nth-child("+(y+1)+")",A.nTable).text()}if(A.aoColumns[y].sFooter==null&&typeof a("tfoot",A.nTable)[0]!="undefined"){A.nFooter=a("tfoot",A.nTable)[0]}a("tbody td:nth-child("+A.aoColumns.length+"n+"+(y+1)+")",A.nTable).each(function(B){if(typeof A.aaData[B]!="object"){A.aaData[B]=new Array()}A.aaData[B][y]=this.innerHTML;if(A.aoColumns[y].sType==null){A.aoColumns[y].sType=l(A.aaData[B][y])}else{if(A.aoColumns[y].sType=="date"||A.aoColumns[y].sType=="numeric"){A.aoColumns[y].sType=l(A.aaData[B][y])}}if(A.aoColumns[y].sClass==null){if(this.className!=""){A.aoColumns[y].sClass=this.className}}})}}function l(y){if(v(y)){return"numeric"}else{if(!isNaN(Date.parse(y))){return"date"}else{return"string"}}}function v(z){var A="0123456789.";var y;for(i=0;i<z.length;i++){y=z.charAt(i);if(A.indexOf(y)==-1){return false}}return true}function h(D,A){var E=document.createElement("tr");var y=document.createElement("tr");var C;for(var z=0;z<D.aoColumns.length;z++){if(D.aoColumns[z].bVisible){C=document.createElement("th");if(z==A){C.className="sorting_asc"}var B="";if(D.aoColumns[z].sWidth!=null){C.style.width=D.aoColumns[z].sWidth}C.innerHTML=D.aoColumns[z].sTitle;E.appendChild(C)}}a("thead",D.nTable).html("")[0].appendChild(E);if(D.oFeatures.bSort){a("thead th",D.nTable).click(function(){if(D.oFeatures.bProcessing){b(D,true)}var F=a("thead th",D.nTable).index(this);for(var G=0;G<D.aoColumns.length;G++){if(this.innerHTML==D.aoColumns[G].sTitle){F=G;break}}_fnSort(D,F);a("thead th",D.nTable).removeClass("sorting_asc").removeClass("sorting_desc");if(D.iSortingDirection==0){this.className="sorting_asc"}else{this.className="sorting_desc"}if(D.oFeatures.bProcessing){b(D,false)}})}D.nTable.style.width=D.nTable.offsetWidth+"px"}function m(F){var E=new Array();var B="";var C=0;var y;var A;if(F.aaData.length!=0){for(var z=F.iDisplayStart;z<F.iDisplayEnd;z++){E[C]=document.createElement("tr");if(F.asStripClasses.length>0){E[C].className=F.asStripClasses[C%F.asStripClasses.length]}for(A=0;A<F.aoColumns.length;A++){if(F.aoColumns[A].bVisible){y=document.createElement("td");y.setAttribute("valign","top");if(F.iColumnSorting==A&&F.aoColumns[A].sClass!=null){y.className=F.aoColumns[A].sClass+" sorting"}else{if(F.iColumnSorting==A){y.className="sorting"}else{if(F.aoColumns[A].sClass!=null){y.className=F.aoColumns[A].sClass}}}if(typeof F.aoColumns[A].fnRender=="function"){y.innerHTML=F.aoColumns[A].fnRender({iDataRow:z,iDataColumn:A,aData:F.aaData})}else{y.innerHTML=F.aaData[z][A]}E[C].appendChild(y)}}if(typeof F.fnRowCallback=="function"){E[C]=F.fnRowCallback(E[C],F.aaData[z],C,z)}C++}}else{E[0]=document.createElement("tr");y=document.createElement("td");y.setAttribute("valign","top");y.colSpan=F.aoColumns.length;y.style.textAlign="center";y.innerHTML=F.oLanguage.sZeroRecords;E[C].appendChild(y)}if(typeof F.fnHeaderCallback=="function"){F.fnHeaderCallback(a("thead tr",F.nTable)[0],F.aaData,F.iDisplayStart,F.iDisplayEnd)}if(typeof F.fnFooterCallback=="function"){F.fnFooterCallback(F.nFooter,F.aaData,F.iDisplayStart,F.iDisplayEnd)}var D=a("tbody",F.nTable);D.html("");for(A=0;A<E.length;A++){D[0].appendChild(E[A])}if(F.oFeatures.bPaginate){F.nPrevious.className=(F.iDisplayStart==0)?"paginate_disabled_previous":"paginate_enabled_previous";F.nNext.className=(F.iDisplayEnd==F.aaData.length)?"paginate_disabled_next":"paginate_enabled_next"}if(F.oFeatures.bInfo){if(F.aaData.length==0&&F.aaData.length==F.aaDataMaster.length){F.nInfo.innerHTML=F.oLanguage.sInfoEmtpy+" "+F.oLanguage.sInfoPostFix}else{if(F.aaData.length==0){F.nInfo.innerHTML=F.oLanguage.sInfoEmtpy+" "+F.oLanguage.sInfoFiltered.replace("_MAX_",F.aaDataMaster.length)+" "+F.oLanguage.sInfoPostFix}else{if(F.aaData.length==F.aaDataMaster.length){F.nInfo.innerHTML=F.oLanguage.sInfo.replace("_START_",F.iDisplayStart+1).replace("_END_",F.iDisplayEnd).replace("_TOTAL_",F.aaData.length)+" "+F.oLanguage.sInfoPostFix}else{F.nInfo.innerHTML=F.oLanguage.sInfo.replace("_START_",F.iDisplayStart+1).replace("_END_",F.iDisplayEnd).replace("_TOTAL_",F.aaData.length)+" "+F.oLanguage.sInfoFiltered.replace("_MAX_",F.aaDataMaster.length)+" "+F.oLanguage.sInfoPostFix}}}}}function t(C){if(C.oFeatures.bFilter){var z=document.createElement("div");if(C.sTableId!=""){z.setAttribute("id",C.sTableId+"_filter")}z.className="dataTables_filter";z.innerHTML=C.oLanguage.sSearch+' <input type="text">';C.nTable.parentNode.insertBefore(z,C.nTable);a("input",z).keyup(function(){n(C,this.value)})}if(C.oFeatures.bInfo){C.nInfo=document.createElement("div");if(C.sTableId!=""){C.nInfo.setAttribute("id",C.sTableId+"_info")}C.nInfo.className="dataTables_info";a(C.nInfo).insertAfter(C.nTable)}if(C.oFeatures.bPaginate){C.nPaginate=document.createElement("div");C.nPrevious=document.createElement("div");C.nNext=document.createElement("div");if(C.sTableId!=""){C.nPaginate.setAttribute("id",C.sTableId+"_paginate");C.nPrevious.setAttribute("id",C.sTableId+"_previous");C.nNext.setAttribute("id",C.sTableId+"_next")}C.nPaginate.className="dataTables_paginate";C.nPrevious.className="paginate_disabled_previous";C.nNext.className="paginate_disabled_next";C.nPaginate.appendChild(C.nPrevious);C.nPaginate.appendChild(C.nNext);a(C.nPaginate).insertAfter(C.nTable);a(C.nPrevious).click(function(){C.iDisplayStart-=C.iDisplayLength;if(C.iDisplayStart<0){C.iDisplayStart=0}w(C);m(C)});a(C.nNext).click(function(){if(C.iDisplayStart+C.iDisplayLength<C.aaData.length){C.iDisplayStart+=C.iDisplayLength}w(C);m(C)});if(C.oFeatures.bLengthChange){var B=(C.sTableId=="")?"":'name="'+C.sTableId+'_length"';var y='<select size="1" '+B+'><option value="10">10</option><option value="25">25</option><option value="50">50</option><option value="100">100</option></select>';var A=document.createElement("div");if(C.sTableId!=""){A.setAttribute("id",C.sTableId+"_length")}A.className="dataTables_length";A.innerHTML=C.oLanguage.sLengthMenu.replace("_MENU_",y);C.nTable.parentNode.insertBefore(A,C.nTable);a("select",A).change(function(){C.iDisplayLength=parseInt(a(this).val());w(C);m(C)})}var D=document.createElement("div");if(C.sTableId!=""){D.setAttribute("id",C.sTableId+"_wrapper")}D.className="dataTables_wrapper";C.nTable.parentNode.insertBefore(D,C.nTable);D.appendChild(C.nTable)}if(C.oFeatures.bProcessing){C.nProcessing=document.createElement("div");if(C.sTableId!=""){C.nProcessing.setAttribute("id",C.sTableId+"_processing")}C.nProcessing.appendChild(document.createTextNode(C.oLanguage.sProcessing));C.nProcessing.className="dataTables_processing";C.nProcessing.style.visibility="hidden";C.nTable.parentNode.insertBefore(C.nProcessing,C.nTable)}}function b(z,y){if(y){z.nProcessing.style.visibility="visible"}else{z.nProcessing.style.visibility="hidden"}}function s(B,z){if(!B||B==null||B==""){return 0}if(typeof z=="undefined"){z=document.getElementsByTagName("body")[0]}var A;var y=document.createElement("div");y.style.width=B;z.appendChild(y);A=y.offsetWidth;z.removeChild(y);return(A)}function n(A,I,y){var H,G,E;var F=new Array();if(typeof y=="undefined"||y==null){y=0}var B=I.split(" ");var C="^(?=.*?"+B.join(")(?=.*?")+").*$";var D=new RegExp(C,"i");if(I.length<=0){A.aaData.splice(0,A.aaData.length);A.aaData=A.aaDataMaster.slice();A.sPreviousSearch=I}else{if(A.aaData.length==A.aaDataMaster.length||A.sPreviousSearch.length>I.length||y==1){F.splice(0,F.length);x(A,1);for(G=0;G<A.aaDataMaster.length;G++){if(D.test(A.asDataSearch[G])){F[F.length++]=A.aaDataMaster[G]}}A.aaData=F}else{var z=0;for(G=0;G<A.asDataSearch.length;G++){if(!D.test(A.asDataSearch[G])){A.aaData.splice(G-z,1);z++}}}A.sPreviousSearch=I}A.iDisplayStart=0;w(A);m(A);x(A,0)}function w(y){if(y.oFeatures.bPaginate==false){y.iDisplayEnd=y.aaData.length}else{if(y.iDisplayStart+y.iDisplayLength>y.aaData.length){y.iDisplayEnd=y.aaData.length}else{y.iDisplayEnd=y.iDisplayStart+y.iDisplayLength}}}_fnSort=function(A,y,z){if(!A.aoColumns[y].bSortable){return}if(typeof z=="undefined"){z=false}if(y==A.iColumnSorting&&!z){A.aaDataMaster.reverse();A.iSortingDirection=(A.iSortingDirection==0)?1:0}else{A.iColumnSorting=y;A.iSortingDirection=0;if(typeof A.aoColumns[y].fnSort=="function"){A.aaDataMaster.sort(A.aoColumns[y].fnSort)}else{if(A.aoColumns[y].sType=="numeric"){A.aaDataMaster.sort(function(C,B){return C[y]-B[y]})}else{if(A.aoColumns[y].sType=="date"){A.aaDataMaster.sort(function(D,C){var B=Date.parse(D[y]);var E=Date.parse(C[y]);return B-E})}else{if(A.aoColumns[y].sType=="html"){A.aaDataMaster.sort(function(D,C){var B=D[y].replace(/<.*?>/g,"");var E=C[y].replace(/<.*?>/g,"");B=B.toLowerCase();E=E.toLowerCase();return((B<E)?-1:((B>E)?1:0))})}else{A.aaDataMaster.sort(function(D,C){var B=D[y].toLowerCase();var E=C[y].toLowerCase();return((B<E)?-1:((B>E)?1:0))})}}}}if(A.sDefaultSortingDirection=="desc"){A.aaDataMaster.reverse()}}if(A.oFeatures.bFilter){n(A,A.sPreviousSearch,1)}else{A.aaData=A.aaDataMaster.slice();w(A);m(A)}};function x(z,y){z.asDataSearch.splice(0,z.asDataSearch.length);var A=(typeof y!="undefined"&&y==1)?z.aaDataMaster:z.aaData;for(i=0;i<A.length;i++){z.asDataSearch[i]="";for(j=0;j<z.aoColumns.length;j++){if(z.aoColumns[j].bSearchable){z.asDataSearch[i]+=A[i][j].replace(/\n/g," ")+" "}}}}function k(B){var J=B.nTable.offsetWidth;var F=0;var H;var z=0;var C;var K=a("thead th",B.nTable);for(var C=0;C<B.aoColumns.length;C++){if(B.aoColumns[C].bVisible){z++;if(B.aoColumns[C].sWidth!=null){H=s(B.aoColumns[C].sWidth,B.nTable.parentNode);F+=H;B.aoColumns[C].sWidth=H+"px"}}}if(B.aoColumns.length==K.length&&F==0){for(C=0;C<B.aoColumns.length;C++){B.aoColumns[C].sWidth=K[C].offsetWidth+"px"}}else{var E=B.nTable.cloneNode(false);E.setAttribute("id","");var L='<table class="'+E.className+'">';var y="<tr>";var G="<tr>";for(var C=0;C<B.aoColumns.length;C++){if(B.aoColumns[C].bVisible){y+="<th>"+B.aoColumns[C].sTitle+"</th>";if(B.aoColumns[C].sWidth!=null){var A="";if(B.aoColumns[C].sWidth!=null){A=' style="width:'+B.aoColumns[C].sWidth+';"'}G+="<td"+A+' tag_index="'+C+'">'+o(B,C)+"</td>"}else{G+='<td tag_index="'+C+'">'+o(B,C)+"</td>"}}}y+="</tr>";G+="</tr>";E=a(L+y+G+"</table>")[0];E.style.width=J+"px";E.style.visibility="hidden";E.style.position="absolute";B.nTable.parentNode.appendChild(E);var I=a("td",E);var D;for(C=0;C<I.length;C++){D=I[C].getAttribute("tag_index");B.aoColumns[D].sWidth=a("td",E)[C].offsetWidth+"px"}B.nTable.parentNode.removeChild(E)}}function o(B,z){var y=0;var C=-1;for(var A=0;A<B.aaDataMaster.length;A++){if(B.aaDataMaster[A][z].length>y){y=B.aaDataMaster[A][z].length;C=A}}if(C>=0){return B.aaDataMaster[C][z]}else{return""}}function d(A,z){if(A.length!=z.length){return 1}for(var y=0;y<A.length;y++){if(A[y]!=z[y]){return 2}}return 0}function q(A,z){var y=0;while(d(A.aaDataMaster[y],A.aaData[z])!=0){y++}return y}function e(z,y){if(typeof y.sProcessing!="undefined"){z.oLanguage.sProcessing=y.sProcessing}if(typeof y.sLengthMenu!="undefined"){z.oLanguage.sLengthMenu=y.sLengthMenu}if(typeof y.sZeroRecords!="undefined"){z.oLanguage.sZeroRecords=y.sZeroRecords}if(typeof y.sInfo!="undefined"){z.oLanguage.sInfo=y.sInfo}if(typeof y.sInfoEmtpy!="undefined"){z.oLanguage.sInfoEmtpy=y.sInfoEmtpy}if(typeof y.sInfoFiltered!="undefined"){z.oLanguage.sInfoFiltered=y.sInfoFiltered}if(typeof y.sInfoPostFix!="undefined"){z.oLanguage.sInfoPostFix=y.sInfoPostFix}if(typeof y.sSearch!="undefined"){z.oLanguage.sSearch=y.sSearch}r(z)}function r(y){if(y.bInitialised==false){setTimeout(function(){r(y)},200);return}t(y);h(y,y.iDefaultSortIndex);if(y.oFeatures.bSort){_fnSort(y,y.iDefaultSortIndex)}else{w(y);m(y)}}_fnSettingsFromNode=function(y){for(var z=0;z<f.length;z++){if(f[z].nTable==y){return f[z]}}return null};return this.each(function(){var A=new c();f.push(A);var B=false;var z=false;if(this.getAttribute("id")!=null){A.sTableId=this.getAttribute("id")}A.nTable=this;if(typeof p!="undefined"&&p!=null){if(typeof p.bPaginate!="undefined"){A.oFeatures.bPaginate=p.bPaginate}if(typeof p.bLengthChange!="undefined"){A.oFeatures.bLengthChange=p.bLengthChange}if(typeof p.bFilter!="undefined"){A.oFeatures.bFilter=p.bFilter}if(typeof p.bSort!="undefined"){A.oFeatures.bSort=p.bSort}if(typeof p.bInfo!="undefined"){A.oFeatures.bInfo=p.bInfo}if(typeof p.bProcessing!="undefined"){A.oFeatures.bProcessing=p.bProcessing}if(typeof p.bAutoWidth!="undefined"){A.oFeatures.bAutoWidth=p.bAutoWidth}if(typeof p.aaData!="undefined"){z=true}if(typeof p.iDisplayLength!="undefined"){A.iDisplayLength=p.iDisplayLength}if(typeof p.asStripClasses!="undefined"){A.asStripClasses=p.asStripClasses}else{A.asStripClasses=["odd","even"]}if(typeof p.fnRowCallback!="undefined"){A.fnRowCallback=p.fnRowCallback}if(typeof p.fnHeaderCallback!="undefined"){A.fnHeaderCallback=p.fnHeaderCallback}if(typeof p.fnFooterCallback!="undefined"){A.fnFooterCallback=p.fnFooterCallback}if(typeof p.iDefaultSortIndex!="undefined"){A.iDefaultSortIndex=p.iDefaultSortIndex}if(typeof p.sDefaultSortDirection!="undefined"){A.sDefaultSortingDirection=p.sDefaultSortDirection}if(typeof p!="undefined"&&typeof p.aoData!="undefined"){p.aoColumns=p.aoData}if(typeof p.oLanguage!="undefined"){B=true;if(typeof p.oLanguage.sUrl!="undefined"){A.oLanguage.sUrl=p.oLanguage.sUrl;a.getJSON(A.oLanguage.sUrl,null,function(C){e(A,C)})}else{e(A,p.oLanguage)}}}if(typeof p!="undefined"&&typeof p.aoColumns!="undefined"){for(var y=0;y<p.aoColumns.length;y++){u(A,p.aoColumns[y])}}else{a("thead th",this).each(function(){u(A,null)})}if(z){A.aaDataMaster=p.aaData.slice();a(this).html("<thead></thead><tbody></tbody>")}else{g(A);A.aaDataMaster=A.aaData.slice()}if(A.oFeatures.bAutoWidth){k(A)}A.bInitialised=true;if(B==false){r(A)}})}})(jQuery);