(function($){$.fn.dataTableSettings=new Array();$.fn.dataTableExt=new Object();$.fn.dataTableExt.oPagination={"two_button":{"fnInit":function(oSettings,fnCallbackDraw)
{oSettings.nPrevious=document.createElement('div');oSettings.nNext=document.createElement('div');if(oSettings.sTableId!="")
{oSettings.nPaginate.setAttribute('id',oSettings.sTableId+'_paginate');oSettings.nPrevious.setAttribute('id',oSettings.sTableId+'_previous');oSettings.nNext.setAttribute('id',oSettings.sTableId+'_next');}
oSettings.nPrevious.className="paginate_disabled_previous";oSettings.nNext.className="paginate_disabled_next";oSettings.nPaginate.appendChild(oSettings.nPrevious);oSettings.nPaginate.appendChild(oSettings.nNext);$(oSettings.nPaginate).insertAfter(oSettings.nTable);$(oSettings.nPrevious).click(function(){oSettings.iDisplayStart-=oSettings.iDisplayLength;if(oSettings.iDisplayStart<0)
{oSettings.iDisplayStart=0;}
fnCallbackDraw(oSettings);});$(oSettings.nNext).click(function(){if(oSettings.iDisplayStart+oSettings.iDisplayLength<oSettings.aaData.length)
oSettings.iDisplayStart+=oSettings.iDisplayLength;fnCallbackDraw(oSettings);});},"fnUpdate":function(oSettings,fnCallbackDraw)
{oSettings.nPrevious.className=(oSettings.iDisplayStart==0)?"paginate_disabled_previous":"paginate_enabled_previous";oSettings.nNext.className=(oSettings.iDisplayEnd==oSettings.aaData.length)?"paginate_disabled_next":"paginate_enabled_next";}},"full_numbers":{"fnInit":function(oSettings,fnCallbackDraw)
{var nFirst=document.createElement('span');var nPrevious=document.createElement('span');var nList=document.createElement('span');var nNext=document.createElement('span');var nLast=document.createElement('span');nFirst.appendChild(document.createTextNode(oSettings.oLanguage.oPaginate.sFirst));nPrevious.appendChild(document.createTextNode(oSettings.oLanguage.oPaginate.sPrevious));nNext.appendChild(document.createTextNode(oSettings.oLanguage.oPaginate.sNext));nLast.appendChild(document.createTextNode(oSettings.oLanguage.oPaginate.sLast));nFirst.className="paginate_button";nPrevious.className="paginate_button";nNext.className="paginate_button";nLast.className="paginate_button";oSettings.nPaginate.appendChild(nFirst);oSettings.nPaginate.appendChild(nPrevious);oSettings.nPaginate.appendChild(nList);oSettings.nPaginate.appendChild(nNext);oSettings.nPaginate.appendChild(nLast);$(nFirst).click(function(){oSettings.iDisplayStart=0;fnCallbackDraw(oSettings);});$(nPrevious).click(function(){oSettings.iDisplayStart-=oSettings.iDisplayLength;if(oSettings.iDisplayStart<0)
oSettings.iDisplayStart=0;fnCallbackDraw(oSettings);});$(nNext).click(function(){if(oSettings.iDisplayStart+oSettings.iDisplayLength<(oSettings.aaData.length-1))
oSettings.iDisplayStart+=oSettings.iDisplayLength;fnCallbackDraw(oSettings);});$(nLast).click(function(){var iPages=parseInt((oSettings.aaData.length-1)/oSettings.iDisplayLength)+1;oSettings.iDisplayStart=(iPages-1)*oSettings.iDisplayLength;fnCallbackDraw(oSettings);});oSettings.nPaginateList=nList;},"fnUpdate":function(oSettings,fnCallbackDraw)
{var iPages=parseInt((oSettings.aaData.length-1)/oSettings.iDisplayLength)+1;var iCurrentPage=parseInt(oSettings.iDisplayStart/oSettings.iDisplayLength)+1;var sList="";var iStartButton=iCurrentPage-5<1?1:iCurrentPage-5;var iEndButton=iCurrentPage+5>iPages?iPages:iCurrentPage+5;if(iPages<5)
{iStartButton=1;iEndButton=iPages;}
else
{if(iCurrentPage<3)
{iStartButton=1;iEndButton=5;}
else if(iCurrentPage>iPages-3)
{iStartButton=iPages-4;iEndButton=iPages;}
else
{iStartButton=iCurrentPage-2;iEndButton=iCurrentPage+2;}}
for(var i=iStartButton;i<=iEndButton;i++)
{if(iCurrentPage!=i)
sList+='<span class="paginate_button">'+i+'</span>';else
sList+='<span class="paginate_active">'+i+'</span>';}
oSettings.nPaginateList.innerHTML=sList;$('span',oSettings.nPaginateList).click(function(){var iTarget=(this.innerHTML*1)-1;oSettings.iDisplayStart=iTarget*oSettings.iDisplayLength;fnCallbackDraw(oSettings);});}}}
$.fn.dataTableExt.oSort={"string-asc":function(a,b)
{var x=a.toLowerCase();var y=b.toLowerCase();return((x<y)?-1:((x>y)?1:0));},"string-desc":function(a,b)
{var x=a.toLowerCase();var y=b.toLowerCase();return((x<y)?1:((x>y)?-1:0));},"html-asc":function(a,b)
{var x=a.replace(/<.*?>/g,"").toLowerCase();var y=b.replace(/<.*?>/g,"").toLowerCase();return((x<y)?-1:((x>y)?1:0));},"html-desc":function(a,b)
{var x=a.replace(/<.*?>/g,"").toLowerCase();var y=b.replace(/<.*?>/g,"").toLowerCase();return((x<y)?1:((x>y)?-1:0));},"date-asc":function(a,b)
{var x=Date.parse(a);var y=Date.parse(b);if(isNaN(x))
{x=Date.parse("01/01/1970 00:00:00");}
if(isNaN(y))
{y=Date.parse("01/01/1970 00:00:00");}
return x-y;},"date-desc":function(a,b)
{var x=Date.parse(a);var y=Date.parse(b);if(isNaN(x))
{x=Date.parse("01/01/1970 00:00:00");}
if(isNaN(y))
{y=Date.parse("01/01/1970 00:00:00");}
return y-x;},"numeric-asc":function(a,b)
{var x=a=="-"?0:a;var y=b=="-"?0:b;return x-y;},"numeric-desc":function(a,b)
{var x=a=="-"?0:a;var y=b=="-"?0:b;return y-x;}};$.fn.dataTable=function(oInit)
{var _aoSettings=$.fn.dataTableSettings;function classSettings()
{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":"","oPaginate":{"sFirst":"First","sPrevious":"Previous","sNext":"Next","sLast":"Last"}};this.aoColumns=new Array();this.aaData=new Array();this.aaDataMaster=new Array();this.asDataSearch=new Array();this.sPreviousSearch='';this.sPreviousSearchDateStart='';this.sPreviousSearchDateEnd='';this.asPreSearchCols=new Array();this.nInfo=null;this.nProcessing=null;this.iDisplayLength=10;this.iDisplayStart=0;this.iDisplayEnd=10;this.aaSorting=[[0,'asc']];this.asStripClasses=new Array('odd','even');this.fnRowCallback=null;this.fnHeaderCallback=null;this.fnFooterCallback=null;this.fnDrawCallback=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.sDomPositioning='lfrtip';this.sPaginationType="two_button";}
this.fnDraw=function()
{var oSettings=_fnSettingsFromNode(this[0]);_fnCalculateEnd(oSettings);_fnDraw(oSettings);}
this.fnFilter=function(sInput,iColumn)
{var oSettings=_fnSettingsFromNode(this[0]);if(typeof iColumn=="undefined")
{_fnFilterComplete(oSettings,sInput,1);}
else
{oSettings.asPreSearchCols[iColumn]=sInput;_fnFilterComplete(oSettings,oSettings.sPreviousSearch,1);}}
this.fnFilterDateDropdown=function(sInputDateStart,sInputDateEnd,iColumnDate,sDropdown){var oSettings=_fnSettingsFromNode(this[0]);_fnFilterComplete(oSettings,sDropdown,1,sInputDateStart,sInputDateEnd,iColumnDate);}
this.fnSettings=function(nNode)
{return _fnSettingsFromNode(this[0]);}
this.fnSort=function(aaSort)
{var oSettings=_fnSettingsFromNode(this[0]);oSettings.aaSorting=aaSort;_fnSort(oSettings);}
this.fnAddData=function(mData)
{var oSettings=_fnSettingsFromNode(this[0]);if(typeof mData[0]=="object")
{if(mData[0].length!=oSettings.aoColumns.length)
{return 1;}
else
{oSettings.aaDataMaster=oSettings.aaDataMaster.concat(mData.slice());}}
else
{if(mData.length!=oSettings.aoColumns.length)
{return 1;}
else
{oSettings.aaDataMaster[oSettings.aaDataMaster.length++]=mData.slice();}}
oSettings.aaData=oSettings.aaDataMaster.slice();_fnBuildSearchArray(oSettings,1);if(oSettings.oFeatures.bSort)
{_fnSort(oSettings);}
if(oSettings.oFeatures.bFilter)
{_fnFilterComplete(oSettings,oSettings.sPreviousSearch);}
else
{_fnCalculateEnd(oSettings);_fnDraw(oSettings);}
return 0;}
this.fnAddRow=function(aData)
{this.fnAddData(aData);}
this.fnAddArray=function(aaData)
{this.fnAddData(aaData);}
this.fnDeleteRow=function(iIndexAAData,fnCallBack)
{var oSettings=_fnSettingsFromNode(this[0]);if(oSettings.aaDataMaster.length==oSettings.aaData.length)
{iIndexAAMaster=iIndexAAData;}
else
{iIndexAAMaster=_fnMasterIndexFromDisplay(oSettings,iIndexAAData);}
var aReturn=oSettings.aaDataMaster[iIndexAAMaster].slice();oSettings.aaDataMaster.splice(iIndexAAMaster,1);oSettings.aaData.splice(iIndexAAData,1);_fnBuildSearchArray(oSettings,1);if(typeof fnCallBack=="function")
{fnCallBack.call(this);}
if(oSettings.iDisplayStart>oSettings.aaData.length)
{oSettings.iDisplayStart-=oSettings.iDisplayLength;}
_fnCalculateEnd(oSettings);_fnDraw(oSettings);return aReturn;}
this.fnClearTable=function()
{var oSettings=_fnSettingsFromNode(this[0]);oSettings.aaDataMaster.length=0;oSettings.aaData.length=0;_fnCalculateEnd(oSettings);_fnDraw(oSettings);}
this.fnOpen=function(nTr,sHtml,sClass)
{var oSettings=_fnSettingsFromNode(this[0]);if(oSettings.nOpenRow!=null)
{this.fnClose();}
var nNewRow=document.createElement("tr");var nNewCell=document.createElement("td");nNewRow.appendChild(nNewCell);nNewRow.className=sClass;nNewCell.colSpan=oSettings.aoColumns.length;nNewCell.innerHTML=sHtml;$(nNewRow).insertAfter(nTr);oSettings.nOpenRow=nNewRow;}
this.fnClose=function()
{var oSettings=_fnSettingsFromNode(this[0]);$(oSettings.nOpenRow).remove();oSettings.nOpenRow=null;}
this.fnDecrement=function(iMatch,iIndex)
{if(typeof iIndex=='undefined')
iIndex=0;var oSettings=_fnSettingsFromNode(this[0]);for(var i=0;i<oSettings.aaDataMaster.length;i++)
{if(oSettings.aaDataMaster[i][iIndex]*1>iMatch)
{oSettings.aaDataMaster[i][iIndex]=(oSettings.aaDataMaster[i][iIndex]*1)-1;}}}
function DateGood(y,m,d){var D;with(D=new Date(y,--m,d)){return(getMonth()==m&&getDate()==d)?D:NaN;}}
function DateOK(D){var X=D.split(/\D+/);return DateGood(+X[2],+X[1],+X[0]);}
function isDateInRange(oSettings,filterDateStart,filterDateEnd,index,iColumnDate){if(!isNaN(filterDateStart)||!isNaN(filterDateEnd)){if(filterDateStart>filterDateEnd){return true;}
var datumExhibitionHtml=oSettings.aaDataMaster[index][iColumnDate];var htmlStripped=datumExhibitionHtml.replace(/<.*?>/g,"");var startDate=htmlStripped.substring(0,10);if(startDate.indexOf("-")!=-1){startDate=htmlStripped.substring(0,5)+"."+htmlStripped.substring(14,18);}
var endDate=htmlStripped.substring(htmlStripped.length-10,htmlStripped.length);var dateStart=DateOK(startDate);var dateEnd=DateOK(endDate);if(!isNaN(filterDateStart)&&!isNaN(filterDateEnd)){if((dateEnd<=filterDateEnd&&dateEnd>=filterDateStart)||(dateStart<=filterDateEnd&&dateStart>=filterDateStart)||(filterDateStart>=dateStart&&filterDateStart<=dateEnd)||(filterDateEnd>=dateStart&&filterDateEnd<=dateEnd)){return true;}
return false;}
if(!isNaN(filterDateStart)){if(dateStart>=filterDateStart||dateEnd>=filterDateStart){return true;}
return false;}
if(!isNaN(filterDateEnd)){if(dateStart<=filterDateEnd||dateEnd<=filterDateEnd){return true;}
return false;}}
return true;}
function _fnInitalise(oSettings)
{if(oSettings.bInitialised==false)
{setTimeout(function(){_fnInitalise(oSettings)},200);return;}
_fnAddOptionsHtml(oSettings);_fnDrawHead(oSettings);if(oSettings.oFeatures.bSort)
{_fnSort(oSettings);}
else
{oSettings.aaData=oSettings.aaDataMaster.slice();_fnCalculateEnd(oSettings);_fnDraw(oSettings);}}
function _fnLanguageProcess(oSettings,oLanguage)
{if(typeof oLanguage.sProcessing!='undefined')
oSettings.oLanguage.sProcessing=oLanguage.sProcessing;if(typeof oLanguage.sLengthMenu!='undefined')
oSettings.oLanguage.sLengthMenu=oLanguage.sLengthMenu;if(typeof oLanguage.sZeroRecords!='undefined')
oSettings.oLanguage.sZeroRecords=oLanguage.sZeroRecords;if(typeof oLanguage.sInfo!='undefined')
oSettings.oLanguage.sInfo=oLanguage.sInfo;if(typeof oLanguage.sInfoEmtpy!='undefined')
oSettings.oLanguage.sInfoEmtpy=oLanguage.sInfoEmtpy;if(typeof oLanguage.sInfoFiltered!='undefined')
oSettings.oLanguage.sInfoFiltered=oLanguage.sInfoFiltered;if(typeof oLanguage.sInfoPostFix!='undefined')
oSettings.oLanguage.sInfoPostFix=oLanguage.sInfoPostFix;if(typeof oLanguage.sSearch!='undefined')
oSettings.oLanguage.sSearch=oLanguage.sSearch;if(typeof oLanguage.oPaginate!='undefined')
{if(typeof oLanguage.oPaginate!='undefined')
oSettings.oLanguage.oPaginate.sFirst=oLanguage.oPaginate.sFirst;if(typeof oLanguage.oPaginate!='undefined')
oSettings.oLanguage.oPaginate.sPrevious=oLanguage.oPaginate.sPrevious;if(typeof oLanguage.oPaginate!='undefined')
oSettings.oLanguage.oPaginate.sNext=oLanguage.oPaginate.sNext;if(typeof oLanguage.oPaginate!='undefined')
oSettings.oLanguage.oPaginate.sLast=oLanguage.oPaginate.sLast;}
_fnInitalise(oSettings);}
function _fnAddColumn(oSettings,oOptions)
{oSettings.aoColumns[oSettings.aoColumns.length++]={"sType":null,"bVisible":true,"bSearchable":true,"bSortable":true,"sTitle":null,"sWidth":null,"sClass":null,"fnRender":null,"fnSort":null};if(typeof oOptions!='undefined'&&oOptions!=null)
{var iLength=oSettings.aoColumns.length-1;if(typeof oOptions.sType!='undefined')
oSettings.aoColumns[iLength].sType=oOptions.sType;if(typeof oOptions.bVisible!='undefined')
oSettings.aoColumns[iLength].bVisible=oOptions.bVisible;if(typeof oOptions.bSearchable!='undefined')
oSettings.aoColumns[iLength].bSearchable=oOptions.bSearchable;if(typeof oOptions.bSortable!='undefined')
oSettings.aoColumns[iLength].bSortable=oOptions.bSortable;if(typeof oOptions.sTitle!='undefined')
oSettings.aoColumns[iLength].sTitle=oOptions.sTitle;if(typeof oOptions.sWidth!='undefined')
oSettings.aoColumns[iLength].sWidth=oOptions.sWidth;if(typeof oOptions.sClass!='undefined')
oSettings.aoColumns[iLength].sClass=oOptions.sClass;if(typeof oOptions.fnRender!='undefined')
oSettings.aoColumns[iLength].fnRender=oOptions.fnRender;if(typeof oOptions.fnSort!='undefined')
oSettings.aoColumns[iLength].fnSort=oOptions.fnSort;}
oSettings.asPreSearchCols[oSettings.asPreSearchCols.length++]="";}
function _fnGatherData(oSettings)
{var nDataNodes;var iDataLength=$('tbody tr').length;if($('thead th',oSettings.nTable).length!=oSettings.aoColumns.length)
{alert('Warning - columns do not match');}
for(var i=0;i<oSettings.aoColumns.length;i++)
{if(oSettings.aoColumns[i].sTitle==null)
{oSettings.aoColumns[i].sTitle=$('thead th:nth-child('+(i+1)+')',oSettings.nTable).text();}
if(oSettings.aoColumns[i].sFooter==null&&typeof $('tfoot',oSettings.nTable)[0]!='undefined')
{oSettings.nFooter=$('tfoot',oSettings.nTable)[0];}
var bUserSetType=oSettings.aoColumns[i].sType==null?false:true;if(!bUserSetType&&iDataLength==0)
{oSettings.aoColumns[i].sType='string';continue;}
$('tbody td:nth-child('+oSettings.aoColumns.length+'n+'+(i+1)+')',oSettings.nTable).each(function(index){if(typeof oSettings.aaData[index]!='object')
{oSettings.aaData[index]=new Array();}
oSettings.aaData[index][i]=this.innerHTML;if(!bUserSetType)
{if(oSettings.aoColumns[i].sType==null)
{oSettings.aoColumns[i].sType=_fnDetectType(oSettings.aaData[index][i]);}
else if(oSettings.aoColumns[i].sType=="date"||oSettings.aoColumns[i].sType=="numeric")
{oSettings.aoColumns[i].sType=_fnDetectType(oSettings.aaData[index][i]);}}
if(oSettings.aoColumns[i].sClass==null)
{if(this.className!='')
{oSettings.aoColumns[i].sClass=this.className;}}});}}
function _fnDrawHead(oSettings)
{var nThOriginals=oSettings.nTable.getElementsByTagName('thead')[0].getElementsByTagName('th');var nTr=document.createElement("tr");var nTrFoot=document.createElement("tr");var nTh;for(var i=0;i<oSettings.aoColumns.length;i++)
{if(oSettings.aoColumns[i].bVisible)
{nTh=document.createElement("th");if(typeof nThOriginals[i]!="undefined"&&nThOriginals[i].className!="")
{nTh.className=nThOriginals[i].className;}
var sWidth='';if(oSettings.aoColumns[i].sWidth!=null)
{nTh.style.width=oSettings.aoColumns[i].sWidth;}
nTh.innerHTML=oSettings.aoColumns[i].sTitle;nTr.appendChild(nTh);}}
$('thead',oSettings.nTable).html('')[0].appendChild(nTr);if(oSettings.oFeatures.bSort)
{_fnSortingClasses(oSettings);$('thead th',oSettings.nTable).click(function(e){var iDataIndex=$("thead th",oSettings.nTable).index(this);iDataIndex=_fnVisibleToColumnIndex(oSettings,iDataIndex);if(oSettings.aoColumns[iDataIndex].bSortable==false)
{return;}
if(oSettings.oFeatures.bProcessing)
{_fnProcessingDisplay(oSettings,true);}
setTimeout(function(){if(e.shiftKey)
{var bFound=false;for(var i=0;i<oSettings.aaSorting.length;i++)
{if(oSettings.aaSorting[i][0]==iDataIndex)
{if(oSettings.aaSorting[i][1]=="asc")
{oSettings.aaSorting[i][1]="desc";}
else
{oSettings.aaSorting.splice(i,1);}
bFound=true;break;}}
if(bFound==false)
{oSettings.aaSorting.push(new Array(iDataIndex,"asc"));}}
else
{if(oSettings.aaSorting.length==1&&oSettings.aaSorting[0][0]==iDataIndex)
{oSettings.aaSorting[0][1]=oSettings.aaSorting[0][1]=="asc"?"desc":"asc";}
else
{oSettings.aaSorting.splice(0,oSettings.aaSorting.length);oSettings.aaSorting.push(new Array(iDataIndex,"asc"));}}
_fnSortingClasses(oSettings);_fnSort(oSettings);if(oSettings.oFeatures.bProcessing)
{_fnProcessingDisplay(oSettings,false);}},0);});$('thead th',oSettings.nTable).mousedown(function(){this.onselectstart=function(){return false};return false;});}
if(oSettings.oFeatures.bAutoWidth)
{oSettings.nTable.style.width=oSettings.nTable.offsetWidth+"px";}}
function _fnDraw(oSettings)
{var anRows=new Array();var sOutput="";var iRowCount=0;var nTd;var i;if(oSettings.aaData.length!=0)
{for(var j=oSettings.iDisplayStart;j<oSettings.iDisplayEnd;j++)
{anRows[iRowCount]=document.createElement('tr');if(oSettings.asStripClasses.length>0)
{anRows[iRowCount].className=oSettings.asStripClasses[iRowCount%oSettings.asStripClasses.length];}
for(i=0;i<oSettings.aoColumns.length;i++)
{if(oSettings.aoColumns[i].bVisible)
{nTd=document.createElement('td');nTd.setAttribute('valign',"top");if(oSettings.iColumnSorting==i&&oSettings.aoColumns[i].sClass!=null)
{nTd.className=oSettings.aoColumns[i].sClass+' sorting';}
else if(oSettings.iColumnSorting==i)
{nTd.className='sorting';}
else if(oSettings.aoColumns[i].sClass!=null)
{nTd.className=oSettings.aoColumns[i].sClass;}
if(typeof oSettings.aoColumns[i].fnRender=='function')
{nTd.innerHTML=oSettings.aoColumns[i].fnRender({"iDataRow":j,"iDataColumn":i,"aData":oSettings.aaData});}
else
{nTd.innerHTML=oSettings.aaData[j][i];}
anRows[iRowCount].appendChild(nTd);}}
if(typeof oSettings.fnRowCallback=="function")
{anRows[iRowCount]=oSettings.fnRowCallback(anRows[iRowCount],oSettings.aaData[j],iRowCount,j);}
iRowCount++;}}
else
{anRows[0]=document.createElement('tr');nTd=document.createElement('td');nTd.setAttribute('valign',"top");nTd.colSpan=oSettings.aoColumns.length;nTd.style.textAlign="center";nTd.innerHTML=oSettings.oLanguage.sZeroRecords;anRows[iRowCount].appendChild(nTd);}
if(typeof oSettings.fnHeaderCallback=='function')
{oSettings.fnHeaderCallback($('thead tr',oSettings.nTable)[0],oSettings.aaData,oSettings.iDisplayStart,oSettings.iDisplayEnd);}
if(typeof oSettings.fnFooterCallback=='function')
{oSettings.fnFooterCallback(oSettings.nFooter,oSettings.aaData,oSettings.iDisplayStart,oSettings.iDisplayEnd);}
var nBody=$('tbody',oSettings.nTable);nBody.html('');for(i=0;i<anRows.length;i++)
{nBody[0].appendChild(anRows[i]);}
if(oSettings.oFeatures.bPaginate)
{$.fn.dataTableExt.oPagination[oSettings.sPaginationType].fnUpdate(oSettings,function(oSettings){_fnCalculateEnd(oSettings);_fnDraw(oSettings);});}
if(oSettings.oFeatures.bInfo)
{if(oSettings.aaData.length==0&&oSettings.aaData.length==oSettings.aaDataMaster.length)
{oSettings.nInfo.innerHTML=oSettings.oLanguage.sInfoEmtpy+' '+oSettings.oLanguage.sInfoPostFix;}
else if(oSettings.aaData.length==0)
{oSettings.nInfo.innerHTML=oSettings.oLanguage.sInfoEmtpy+' '+
oSettings.oLanguage.sInfoFiltered.replace('_MAX_',oSettings.aaDataMaster.length)+' '+
oSettings.oLanguage.sInfoPostFix;}
else if(oSettings.aaData.length==oSettings.aaDataMaster.length)
{oSettings.nInfo.innerHTML=oSettings.oLanguage.sInfo.replace('_START_',oSettings.iDisplayStart+1).replace('_END_',oSettings.iDisplayEnd).replace('_TOTAL_',oSettings.aaData.length)+' '+
oSettings.oLanguage.sInfoPostFix;}
else
{oSettings.nInfo.innerHTML=oSettings.oLanguage.sInfo.replace('_START_',oSettings.iDisplayStart+1).replace('_END_',oSettings.iDisplayEnd).replace('_TOTAL_',oSettings.aaData.length)+' '+
oSettings.oLanguage.sInfoFiltered.replace('_MAX_',oSettings.aaDataMaster.length)+' '+
oSettings.oLanguage.sInfoPostFix;}}
if(typeof oSettings.fnDrawCallback=='function')
{oSettings.fnDrawCallback();}}
function _fnAddOptionsHtml(oSettings)
{var nHolding=document.createElement('div');oSettings.nTable.parentNode.insertBefore(nHolding,oSettings.nTable);var nWrapper=document.createElement('div');nWrapper.className="dataTables_wrapper";if(oSettings.sTableId!="")
{nWrapper.setAttribute('id',oSettings.sTableId+'_wrapper');}
var nInsertNode=nWrapper;var sDom=oSettings.sDomPositioning.split('');for(var i=0;i<sDom.length;i++)
{var cOption=sDom[i];if(cOption=='<')
{var nNewNode=document.createElement('div');var cNext=sDom[i+1];if(cNext=="'"||cNext=='"')
{var sClass="";var j=2;while(sDom[i+j]!=cNext)
{sClass+=sDom[i+j];j++;}
nNewNode.className=sClass;i+=j;}
nInsertNode.appendChild(nNewNode);nInsertNode=nNewNode;}
else if(cOption=='>')
{nInsertNode=nInsertNode.parentNode;}
else if(cOption=='l'&&oSettings.oFeatures.bPaginate&&oSettings.oFeatures.bLengthChange)
{nInsertNode.appendChild(_fnFeatureHtmlLength(oSettings));}
else if(cOption=='f'&&oSettings.oFeatures.bFilter)
{nInsertNode.appendChild(_fnFeatureHtmlFilter(oSettings));}
else if(cOption=='r'&&oSettings.oFeatures.bProcessing)
{nInsertNode.appendChild(_fnFeatureHtmlProcessing(oSettings));}
else if(cOption=='t')
{nInsertNode.appendChild(oSettings.nTable);}
else if(cOption=='i'&&oSettings.oFeatures.bInfo)
{nInsertNode.appendChild(_fnFeatureHtmlInfo(oSettings));}
else if(cOption=='p'&&oSettings.oFeatures.bPaginate)
{nInsertNode.appendChild(_fnFeatureHtmlPaginate(oSettings));}}
nHolding.parentNode.replaceChild(nWrapper,nHolding);}
function _fnFeatureHtmlFilter(oSettings)
{var nFilter=document.createElement('div');if(oSettings.sTableId!="")
{nFilter.setAttribute('id',oSettings.sTableId+'_filter');}
nFilter.className="dataTables_filter";nFilter.innerHTML=oSettings.oLanguage.sSearch+' <input type="text" />';$("input",nFilter).keyup(function(){_fnFilterComplete(oSettings,this.value);});return nFilter;}
function _fnFeatureHtmlInfo(oSettings)
{var nInfo=document.createElement('div');oSettings.nInfo=nInfo;if(oSettings.sTableId!="")
{oSettings.nInfo.setAttribute('id',oSettings.sTableId+'_info');}
oSettings.nInfo.className="dataTables_info";return nInfo;}
function _fnFeatureHtmlPaginate(oSettings)
{var nPaginate=document.createElement('div');nPaginate.className="dataTables_paginate";oSettings.nPaginate=nPaginate;$.fn.dataTableExt.oPagination[oSettings.sPaginationType].fnInit(oSettings,function(oSettings){_fnCalculateEnd(oSettings);_fnDraw(oSettings);});return nPaginate;}
function _fnFeatureHtmlLength(oSettings)
{var sName=(oSettings.sTableId=="")?"":'name="'+oSettings.sTableId+'_length"';var sStdMenu='<select size="1" '+sName+'>'+'<option value="10">10</option>'+'<option value="25">25</option>'+'<option value="50">50</option>'+'<option value="100">100</option>'+'</select>';var nLength=document.createElement('div');if(oSettings.sTableId!="")
{nLength.setAttribute('id',oSettings.sTableId+'_length');}
nLength.className="dataTables_length";nLength.innerHTML=oSettings.oLanguage.sLengthMenu.replace('_MENU_',sStdMenu);$('select option[@value="'+oSettings.iDisplayLength+'"]',nLength).attr("selected",true);$('select',nLength).change(function(){oSettings.iDisplayLength=parseInt($(this).val());_fnCalculateEnd(oSettings);if(oSettings.iDisplayEnd==oSettings.aaData.length)
{oSettings.iDisplayStart=oSettings.iDisplayEnd-oSettings.iDisplayLength;if(oSettings.iDisplayStart<0)
{oSettings.iDisplayStart=0;}}
_fnDraw(oSettings);});return nLength;}
function _fnFeatureHtmlProcessing(oSettings)
{var nProcessing=document.createElement('div');oSettings.nProcessing=nProcessing;if(oSettings.sTableId!="")
{oSettings.nProcessing.setAttribute('id',oSettings.sTableId+'_processing');}
oSettings.nProcessing.appendChild(document.createTextNode(oSettings.oLanguage.sProcessing));oSettings.nProcessing.className="dataTables_processing";oSettings.nProcessing.style.visibility="hidden";oSettings.nTable.parentNode.insertBefore(oSettings.nProcessing,oSettings.nTable);return nProcessing;}
function _fnProcessingDisplay(oSettings,bShow)
{if(bShow)
oSettings.nProcessing.style.visibility="visible";else
oSettings.nProcessing.style.visibility="hidden";}
function _fnFilterComplete(oSettings,sInput,iForce,sInputDateStart,sInputDateEnd,iColumnDate)
{_fnFilter(oSettings,sInput,iForce,sInputDateStart,sInputDateEnd,iColumnDate);for(var i=0;i<oSettings.asPreSearchCols.length;i++)
{_fnFilterColumn(oSettings,oSettings.asPreSearchCols[i],i);}
oSettings.iDisplayStart=0;_fnCalculateEnd(oSettings);_fnDraw(oSettings);_fnBuildSearchArray(oSettings,0);}
function _fnFilterColumn(oSettings,sInput,iColumn)
{if(sInput=="")
{return;}
var iIndexCorrector=0;var rpSearch=new RegExp(sInput,"i");for(i=oSettings.aaData.length-1;i>=0;i--)
{if(!rpSearch.test(oSettings.aaData[i][iColumn]))
{oSettings.aaData.splice(i,1);iIndexCorrector++;}}}
function _fnFilter(oSettings,sInput,iForce,sInputDateStart,sInputDateEnd,iColumnDate){if(typeof sInputDateStart=='undefined'||sInputDateStart==null){var flag,i,j;var aaDataSearch=new Array();if(typeof iForce=='undefined'||iForce==null)
{iForce=0;}
if(typeof bRedraw=='undefined'||bRedraw==null)
{bRedraw=true;}
var asSearch=sInput.split(' ');var sRegExpString='^(?=.*?'+asSearch.join(')(?=.*?')+').*$';var rpSearch=new RegExp(sRegExpString,"i");if(sInput.length<=0)
{oSettings.aaData.splice(0,oSettings.aaData.length);oSettings.aaData=oSettings.aaDataMaster.slice();oSettings.sPreviousSearch=sInput;}
else
{if(oSettings.aaData.length==oSettings.aaDataMaster.length||oSettings.sPreviousSearch.length>sInput.length||iForce==1)
{aaDataSearch.splice(0,aaDataSearch.length);_fnBuildSearchArray(oSettings,1);for(i=0;i<oSettings.aaDataMaster.length;i++)
{if(rpSearch.test(oSettings.asDataSearch[i]))
{aaDataSearch[aaDataSearch.length++]=oSettings.aaDataMaster[i];}}
oSettings.aaData=aaDataSearch;}
else
{var iIndexCorrector=0;for(i=0;i<oSettings.asDataSearch.length;i++)
{if(!rpSearch.test(oSettings.asDataSearch[i]))
{oSettings.aaData.splice(i-iIndexCorrector,1);iIndexCorrector++;}}}
oSettings.sPreviousSearch=sInput;}}else{var flag,i,j;var aaDataSearch=new Array();if(typeof iForce=='undefined'||iForce==null){iForce=0;}
if(typeof bRedraw=='undefined'||bRedraw==null){bRedraw=true;}
if(sInput.length<=0&&sInputDateStart.length<=0&&sInputDateEnd.length<=0){oSettings.aaData.splice(0,oSettings.aaData.length);oSettings.aaData=oSettings.aaDataMaster.slice();oSettings.sPreviousSearch=sInput;oSettings.sPreviousSearchDateStart=sInputDateStart;oSettings.sPreviousSearchDateEnd=sInputDateEnd;}else{var asSearch=sInput.split(' ');var sRegExpString='^(?=.*?'+asSearch.join(')(?=.*?')+').*$';var rpSearch=new RegExp(sRegExpString,"i");var filterDateEnd=DateOK(sInputDateEnd);var filterDateStart=DateOK(sInputDateStart);if(oSettings.aaData.length==oSettings.aaDataMaster.length||oSettings.sPreviousSearch.length>sInput.length||iForce==1){aaDataSearch.splice(0,aaDataSearch.length);_fnBuildSearchArray(oSettings,1);for(i=0;i<oSettings.aaDataMaster.length;i++){if(rpSearch.test(oSettings.asDataSearch[i])){if(isDateInRange(oSettings,filterDateStart,filterDateEnd,i,iColumnDate)){aaDataSearch[aaDataSearch.length++]=oSettings.aaDataMaster[i];}}}
oSettings.aaData=aaDataSearch;}else{var iIndexCorrector=0;for(i=0;i<oSettings.asDataSearch.length;i++){if(!rpSearch.test(oSettings.asDataSearch[i])){if(!isDateInRange(oSettings,filterDateStart,filterDateEnd,i,iColumnDate)){oSettings.aaData.splice(i-iIndexCorrector,1);iIndexCorrector++;}}}}
oSettings.sPreviousSearch=sInput;oSettings.sPreviousSearchDateStart=sInputDateStart;oSettings.sPreviousSearchDateEnd=sInputDateEnd;}}}
_fnSort=function(oSettings)
{var sDynamicSort="var fnLocalSorting = function(a,b){var iTest; var oSort = $.fn.dataTableExt.oSort;";var aaSort=oSettings.aaSorting;for(var i=0;i<aaSort.length-1;i++)
{sDynamicSort+="iTest = oSort['"+oSettings.aoColumns[aaSort[i][0]].sType+"-"+aaSort[i][1]+"']"+"( a["+aaSort[i][0]+"], b["+aaSort[i][0]+"] ); if ( iTest == 0 )";}
sDynamicSort+="iTest = oSort['"+oSettings.aoColumns[aaSort[aaSort.length-1][0]].sType+"-"+aaSort[i][1]+"']"+"( a["+aaSort[i][0]+"], b["+aaSort[i][0]+"] ); return iTest;}";eval(sDynamicSort);oSettings.aaDataMaster.sort(fnLocalSorting);if(oSettings.oFeatures.bFilter)
{_fnFilterComplete(oSettings,oSettings.sPreviousSearch,1,oSettings.sPreviousSearchDateStart,oSettings.sPreviousSearchDateEnd,1);}
else
{oSettings.aaData=oSettings.aaDataMaster.slice();_fnCalculateEnd(oSettings);_fnDraw(oSettings);}}
function _fnSortingClasses(oSettings)
{$("thead th",oSettings.nTable).removeClass("sorting_asc").removeClass("sorting_desc").removeClass("sorting");var iCorrector=0;for(var i=0;i<oSettings.aoColumns.length;i++)
{if(oSettings.aoColumns[i].bSortable&&oSettings.aoColumns[i].bVisible)
{var sClass="sorting";for(var j=0;j<oSettings.aaSorting.length;j++)
{if(oSettings.aaSorting[j][0]==i)
{if(oSettings.aaSorting[j][1]=="asc")
sClass="sorting_asc";else
sClass="sorting_desc";break;}}
$("thead th:eq("+_fnColumnIndexToVisible(oSettings,i)+")",oSettings.nTable).addClass(sClass);}}}
function _fnVisibleToColumnIndex(oSettings,iMatch)
{var iColumn=-1;for(var i=0;i<oSettings.aoColumns.length;i++)
{if(oSettings.aoColumns[i].bVisible==true)
{iColumn++;}
if(iColumn==iMatch)
{return i;}}
return null;}
function _fnColumnIndexToVisible(oSettings,iMatch)
{var iColumn=0;for(var i=0;i<oSettings.aoColumns.length;i++)
{if(i==iMatch)
{return iColumn;}
if(oSettings.aoColumns[i].bVisible==true)
{iColumn++;}}
return null;}
function _fnBuildSearchArray(oSettings,iMaster)
{oSettings.asDataSearch.splice(0,oSettings.asDataSearch.length);var aArray=(typeof iMaster!='undefined'&&iMaster==1)?oSettings.aaDataMaster:oSettings.aaData;for(i=0;i<aArray.length;i++)
{oSettings.asDataSearch[i]='';for(j=0;j<oSettings.aoColumns.length;j++)
{if(oSettings.aoColumns[j].bSearchable)
{if(typeof aArray[i][j]=="string")
{oSettings.asDataSearch[i]+=aArray[i][j].replace(/\n/g," ")+' ';}
else
{oSettings.asDataSearch[i]+=aArray[i][j]+' ';}}}}}
function _fnCalculateEnd(oSettings)
{if(oSettings.oFeatures.bPaginate==false)
{oSettings.iDisplayEnd=oSettings.aaData.length;}
else
{if(oSettings.iDisplayStart+oSettings.iDisplayLength>oSettings.aaData.length)
oSettings.iDisplayEnd=oSettings.aaData.length;else
oSettings.iDisplayEnd=oSettings.iDisplayStart+oSettings.iDisplayLength;}}
function _fnConvertToWidth(sWidth,nParent)
{if(!sWidth||sWidth==null||sWidth=='')
{return 0;}
if(typeof nParent=="undefined")
{nParent=document.getElementsByTagName('body')[0];}
var iWidth;var nTmp=document.createElement("div");nTmp.style.width=sWidth;nParent.appendChild(nTmp);iWidth=nTmp.offsetWidth;nParent.removeChild(nTmp);return(iWidth);}
function _fnCalculateColumnWidths(oSettings)
{var iTableWidth=oSettings.nTable.offsetWidth;var iTotalUserIpSize=0;var iTmpWidth;var iVisibleColumns=0;var i;var oHeaders=$('thead th',oSettings.nTable);for(var i=0;i<oSettings.aoColumns.length;i++)
{if(oSettings.aoColumns[i].bVisible)
{iVisibleColumns++;if(oSettings.aoColumns[i].sWidth!=null)
{iTmpWidth=_fnConvertToWidth(oSettings.aoColumns[i].sWidth,oSettings.nTable.parentNode);iTotalUserIpSize+=iTmpWidth;oSettings.aoColumns[i].sWidth=iTmpWidth+"px";}}}
if(oSettings.aoColumns.length==oHeaders.length&&iTotalUserIpSize==0)
{for(i=0;i<oSettings.aoColumns.length;i++)
{oSettings.aoColumns[i].sWidth=oHeaders[i].offsetWidth+"px";}}
else
{var nCalcTmp=oSettings.nTable.cloneNode(false);nCalcTmp.setAttribute("id",'');var sTableTmp='<table class="'+nCalcTmp.className+'">';var sCalcHead="<tr>";var sCalcHtml="<tr>";for(var i=0;i<oSettings.aoColumns.length;i++)
{if(oSettings.aoColumns[i].bVisible)
{sCalcHead+='<th>'+oSettings.aoColumns[i].sTitle+'</th>';if(oSettings.aoColumns[i].sWidth!=null)
{var sWidth='';if(oSettings.aoColumns[i].sWidth!=null)
{sWidth=' style="width:'+oSettings.aoColumns[i].sWidth+';"';}
sCalcHtml+='<td'+sWidth+' tag_index="'+i+'">'+fnGetMaxLenString(oSettings,i)+'</td>';}
else
{sCalcHtml+='<td tag_index="'+i+'">'+fnGetMaxLenString(oSettings,i)+'</td>';}}}
sCalcHead+="</tr>";sCalcHtml+="</tr>";nCalcTmp=$(sTableTmp+sCalcHead+sCalcHtml+'</table>')[0];nCalcTmp.style.width=iTableWidth+"px";nCalcTmp.style.visibility="hidden";nCalcTmp.style.position="absolute";oSettings.nTable.parentNode.appendChild(nCalcTmp);var oNodes=$("td",nCalcTmp);var iIndex;for(i=0;i<oNodes.length;i++)
{iIndex=oNodes[i].getAttribute('tag_index');oSettings.aoColumns[iIndex].sWidth=$("td",nCalcTmp)[i].offsetWidth+"px";}
oSettings.nTable.parentNode.removeChild(nCalcTmp);}}
function fnGetMaxLenString(oSettings,iCol)
{var iMax=0;var iMaxIndex=-1;for(var i=0;i<oSettings.aaDataMaster.length;i++)
{if(oSettings.aaDataMaster[i][iCol].length>iMax)
{iMax=oSettings.aaDataMaster[i][iCol].length;iMaxIndex=i;}}
if(iMaxIndex>=0)
return oSettings.aaDataMaster[iMaxIndex][iCol];else
return'';}
function _fnArrayCmp(aArray1,aArray2)
{if(aArray1.length!=aArray2.length)
{return 1;}
for(var i=0;i<aArray1.length;i++)
{if(aArray1[i]!=aArray2[i])
{return 2;}}
return 0;}
function _fnMasterIndexFromDisplay(oSettings,iIndexAAData)
{var i=0;while(_fnArrayCmp(oSettings.aaDataMaster[i],oSettings.aaData[iIndexAAData])!=0)
{i++;}
return i;}
function _fnDetectType(sData)
{if(_fnIsNumeric(sData))
{return'numeric';}
else if(!isNaN(Date.parse(sData)))
{return'date';}
else
{return'string';}}
function _fnIsNumeric(sText)
{var ValidChars="0123456789.-";var Char;for(i=0;i<sText.length;i++)
{Char=sText.charAt(i);if(ValidChars.indexOf(Char)==-1)
{return false;}}
return true;}
_fnSettingsFromNode=function(nTable)
{for(var i=0;i<_aoSettings.length;i++)
{if(_aoSettings[i].nTable==nTable)
{return _aoSettings[i];}}
return null;}
return this.each(function()
{var oSettings=new classSettings()
_aoSettings.push(oSettings);var bInitHandedOff=false;var bUsePassedData=false;if(this.getAttribute('id')!=null)
{oSettings.sTableId=this.getAttribute('id');}
oSettings.nTable=this;if(typeof oInit!='undefined'&&oInit!=null)
{if(typeof oInit.bPaginate!='undefined')
oSettings.oFeatures.bPaginate=oInit.bPaginate;if(typeof oInit.bLengthChange!='undefined')
oSettings.oFeatures.bLengthChange=oInit.bLengthChange;if(typeof oInit.bFilter!='undefined')
oSettings.oFeatures.bFilter=oInit.bFilter;if(typeof oInit.bSort!='undefined')
oSettings.oFeatures.bSort=oInit.bSort;if(typeof oInit.bInfo!='undefined')
oSettings.oFeatures.bInfo=oInit.bInfo;if(typeof oInit.bProcessing!='undefined')
oSettings.oFeatures.bProcessing=oInit.bProcessing;if(typeof oInit.bAutoWidth!='undefined')
oSettings.oFeatures.bAutoWidth=oInit.bAutoWidth;if(typeof oInit.aaData!='undefined')
bUsePassedData=true;if(typeof oInit.iDisplayLength!='undefined')
oSettings.iDisplayLength=oInit.iDisplayLength;if(typeof oInit.asStripClasses!='undefined')
oSettings.asStripClasses=oInit.asStripClasses;if(typeof oInit.fnRowCallback!='undefined')
oSettings.fnRowCallback=oInit.fnRowCallback;if(typeof oInit.fnHeaderCallback!='undefined')
oSettings.fnHeaderCallback=oInit.fnHeaderCallback;if(typeof oInit.fnFooterCallback!='undefined')
oSettings.fnFooterCallback=oInit.fnFooterCallback;if(typeof oInit.fnDrawCallback!='undefined')
oSettings.fnDrawCallback=oInit.fnDrawCallback;if(typeof oInit.aaSorting!='undefined')
oSettings.aaSorting=oInit.aaSorting;if(typeof oInit.sPaginationType!='undefined')
oSettings.sPaginationType=oInit.sPaginationType;if(typeof oInit.sDom!='undefined')
oSettings.sDomPositioning=oInit.sDom;if(typeof oInit!='undefined'&&typeof oInit.aoData!='undefined')
{oInit.aoColumns=oInit.aoData;}
if(typeof oInit.oLanguage!='undefined')
{bInitHandedOff=true;if(typeof oInit.oLanguage.sUrl!='undefined')
{oSettings.oLanguage.sUrl=oInit.oLanguage.sUrl;$.getJSON(oSettings.oLanguage.sUrl,null,function(json){_fnLanguageProcess(oSettings,json)});}
else
{_fnLanguageProcess(oSettings,oInit.oLanguage);}}}
if(typeof oInit!='undefined'&&typeof oInit.aoColumns!='undefined')
{for(var i=0;i<oInit.aoColumns.length;i++)
{_fnAddColumn(oSettings,oInit.aoColumns[i]);}}
else
{$('thead th',this).each(function(){_fnAddColumn(oSettings,null)});}
if(bUsePassedData)
{oSettings.aaDataMaster=oInit.aaData.slice();$(this).html('<thead></thead><tbody></tbody>');for(var i=0;i<oSettings.aoColumns.length;i++)
{if(oSettings.aoColumns[i].sType==null)
{oSettings.aoColumns[i].sType="string";}}}
else
{_fnGatherData(oSettings);oSettings.aaDataMaster=oSettings.aaData.slice();}
if(oSettings.oFeatures.bAutoWidth)
{_fnCalculateColumnWidths(oSettings);}
oSettings.bInitialised=true;if(bInitHandedOff==false)
{_fnInitalise(oSettings)}});}})(jQuery);
