/* Copyright 2008-2017 SpryMedia Ltd. This source file is free software, available under the following license: MIT license - http://datatables.net/license This source file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the license files for details. For details please refer to: http://www.datatables.net 2016 (c) jquery.pinBox @license MIT License The MIT License (MIT) Copyright (c) 2016 Mahmoud Elnezamy Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. jQuery throttle / debounce - v1.1 - 3/7/2010 http://benalman.com/projects/jquery-throttle-debounce-plugin/ Copyright (c) 2010 "Cowboy" Ben Alman Dual licensed under the MIT and GPL licenses. http://benalman.com/about/license/ DataTables 1.10.15 ©2008-2017 SpryMedia Ltd - datatables.net/license @fileOverview TouchSwipe - jQuery Plugin @version 1.6.18 @author Matt Bryson http://www.github.com/mattbryson @see https://github.com/mattbryson/TouchSwipe-Jquery-Plugin @see http://labs.rampinteractive.co.uk/touchSwipe/ @see http://plugins.jquery.com/project/touchSwipe @license Copyright (c) 2010-2015 Matt Bryson Dual licensed under the MIT or GPL Version 2 licenses. */ (function(window,undefined){"$:nomunge";var $=window.jQuery||window.Cowboy||(window.Cowboy={}),jq_throttle;$.throttle=jq_throttle=function(delay,no_trailing,callback,debounce_mode){var timeout_id,last_exec=0;if(typeof no_trailing!=="boolean"){debounce_mode=callback;callback=no_trailing;no_trailing=undefined}function wrapper(){var that=this,elapsed=+new Date-last_exec,args=arguments;function exec(){last_exec=+new Date;callback.apply(that,args)}function clear(){timeout_id=undefined}if(debounce_mode&& !timeout_id)exec();timeout_id&&clearTimeout(timeout_id);if(debounce_mode===undefined&&elapsed>delay)exec();else if(no_trailing!==true)timeout_id=setTimeout(debounce_mode?clear:exec,debounce_mode===undefined?delay-elapsed:delay)}if($.guid)wrapper.guid=callback.guid=callback.guid||$.guid++;return wrapper};$.debounce=function(delay,at_begin,callback){return callback===undefined?jq_throttle(delay,at_begin,false):jq_throttle(delay,callback,at_begin!==false)}})(this); (function(factory){if(typeof define==="function"&&define.amd)define(["jquery"],function($){return factory($,window,document)});else if(typeof exports==="object")module.exports=function(root,$){if(!root)root=window;if(!$)$=typeof window!=="undefined"?require("jquery"):require("jquery")(root);return factory($,root,root.document)};else factory(jQuery,window,document)})(function($,window,document,undefined){var DataTable=function(options){this.$=function(sSelector,oOpts){return this.api(true).$(sSelector, oOpts)};this._=function(sSelector,oOpts){return this.api(true).rows(sSelector,oOpts).data()};this.api=function(traditional){return traditional?new _Api(_fnSettingsFromNode(this[_ext.iApiIndex])):new _Api(this)};this.fnAddData=function(data,redraw){var api=this.api(true);var rows=$.isArray(data)&&($.isArray(data[0])||$.isPlainObject(data[0]))?api.rows.add(data):api.row.add(data);if(redraw===undefined||redraw)api.draw();return rows.flatten().toArray()};this.fnAdjustColumnSizing=function(bRedraw){var api= this.api(true).columns.adjust();var settings=api.settings()[0];var scroll=settings.oScroll;if(bRedraw===undefined||bRedraw)api.draw(false);else if(scroll.sX!==""||scroll.sY!=="")_fnScrollDraw(settings)};this.fnClearTable=function(bRedraw){var api=this.api(true).clear();if(bRedraw===undefined||bRedraw)api.draw()};this.fnClose=function(nTr){this.api(true).row(nTr).child.hide()};this.fnDeleteRow=function(target,callback,redraw){var api=this.api(true);var rows=api.rows(target);var settings=rows.settings()[0]; var data=settings.aoData[rows[0][0]];rows.remove();if(callback)callback.call(this,settings,data);if(redraw===undefined||redraw)api.draw();return data};this.fnDestroy=function(remove){this.api(true).destroy(remove)};this.fnDraw=function(complete){this.api(true).draw(complete)};this.fnFilter=function(sInput,iColumn,bRegex,bSmart,bShowGlobal,bCaseInsensitive){var api=this.api(true);if(iColumn===null||iColumn===undefined)api.search(sInput,bRegex,bSmart,bCaseInsensitive);else api.column(iColumn).search(sInput, bRegex,bSmart,bCaseInsensitive);api.draw()};this.fnGetData=function(src,col){var api=this.api(true);if(src!==undefined){var type=src.nodeName?src.nodeName.toLowerCase():"";return col!==undefined||type=="td"||type=="th"?api.cell(src,col).data():api.row(src).data()||null}return api.data().toArray()};this.fnGetNodes=function(iRow){var api=this.api(true);return iRow!==undefined?api.row(iRow).node():api.rows().nodes().flatten().toArray()};this.fnGetPosition=function(node){var api=this.api(true);var nodeName= node.nodeName.toUpperCase();if(nodeName=="TR")return api.row(node).index();else if(nodeName=="TD"||nodeName=="TH"){var cell=api.cell(node).index();return[cell.row,cell.columnVisible,cell.column]}return null};this.fnIsOpen=function(nTr){return this.api(true).row(nTr).child.isShown()};this.fnOpen=function(nTr,mHtml,sClass){return this.api(true).row(nTr).child(mHtml,sClass).show().child()[0]};this.fnPageChange=function(mAction,bRedraw){var api=this.api(true).page(mAction);if(bRedraw===undefined||bRedraw)api.draw(false)}; this.fnSetColumnVis=function(iCol,bShow,bRedraw){var api=this.api(true).column(iCol).visible(bShow);if(bRedraw===undefined||bRedraw)api.columns.adjust().draw()};this.fnSettings=function(){return _fnSettingsFromNode(this[_ext.iApiIndex])};this.fnSort=function(aaSort){this.api(true).order(aaSort).draw()};this.fnSortListener=function(nNode,iColumn,fnCallback){this.api(true).order.listener(nNode,iColumn,fnCallback)};this.fnUpdate=function(mData,mRow,iColumn,bRedraw,bAction){var api=this.api(true);if(iColumn=== undefined||iColumn===null)api.row(mRow).data(mData);else api.cell(mRow,iColumn).data(mData);if(bAction===undefined||bAction)api.columns.adjust();if(bRedraw===undefined||bRedraw)api.draw();return 0};this.fnVersionCheck=_ext.fnVersionCheck;var _that=this;var emptyInit=options===undefined;var len=this.length;if(emptyInit)options={};this.oApi=this.internal=_ext.internal;for(var fn in DataTable.ext.internal)if(fn)this[fn]=_fnExternApiFunc(fn);this.each(function(){var o={};var oInit=len>1?_fnExtend(o,options, true):options;var i=0,iLen,j,jLen,k,kLen;var sId=this.getAttribute("id");var bInitHandedOff=false;var defaults=DataTable.defaults;var $this=$(this);if(this.nodeName.toLowerCase()!="table"){_fnLog(null,0,"Non-table node initialisation ("+this.nodeName+")",2);return}_fnCompatOpts(defaults);_fnCompatCols(defaults.column);_fnCamelToHungarian(defaults,defaults,true);_fnCamelToHungarian(defaults.column,defaults.column,true);_fnCamelToHungarian(defaults,$.extend(oInit,$this.data()));var allSettings=DataTable.settings; for(i=0,iLen=allSettings.length;i0&&(oSettings.oScroll.sX!==""||oSettings.oScroll.sY!==""))tfoot=$("\x3ctfoot/\x3e").appendTo($this); if(tfoot.length===0||tfoot.children().length===0)$this.addClass(oClasses.sNoFooter);else if(tfoot.length>0){oSettings.nTFoot=tfoot[0];_fnDetectHeader(oSettings.aoFooter,oSettings.nTFoot)}if(oInit.aaData)for(i=0;i/g;var _re_date=/^\d{2,4}[\.\/\-]\d{1,2}[\.\/\-]\d{1,2}([T ]{1}\d{1,2}[:\.]\d{2}([\.:]\d{2})?)?$/;var _re_escape_regex=new RegExp("(\\"+["/",".","*","+","?","|","(",")","[","]","{", "}","\\","$","^","-"].join("|\\")+")","g");var _re_formatted_numeric=/[',$\u00a3\u20ac\u00a5%\u2009\u202F\u20BD\u20a9\u20BArfk]/gi;var _empty=function(d){return!d||d===true||d==="-"?true:false};var _intVal=function(s){var integer=parseInt(s,10);return!isNaN(integer)&&isFinite(s)?integer:null};var _numToDecimal=function(num,decimalPoint){if(!_re_dic[decimalPoint])_re_dic[decimalPoint]=new RegExp(_fnEscapeRegex(decimalPoint),"g");return typeof num==="string"&&decimalPoint!=="."?num.replace(/\./g,"").replace(_re_dic[decimalPoint], "."):num};var _isNumber=function(d,decimalPoint,formatted){var strType=typeof d==="string";if(_empty(d))return true;if(decimalPoint&&strType)d=_numToDecimal(d,decimalPoint);if(formatted&&strType)d=d.replace(_re_formatted_numeric,"");return!isNaN(parseFloat(d))&&isFinite(d)};var _isHtml=function(d){return _empty(d)||typeof d==="string"};var _htmlNumeric=function(d,decimalPoint,formatted){if(_empty(d))return true;var html=_isHtml(d);return!html?null:_isNumber(_stripHtml(d),decimalPoint,formatted)?true: null};var _pluck=function(a,prop,prop2){var out=[];var i=0,ien=a.length;if(prop2!==undefined)for(;i=0;i--){def=aoColDefs[i];var aTargets=def.targets!==undefined?def.targets:def.aTargets;if(!$.isArray(aTargets))aTargets=[aTargets];for(j= 0,jLen=aTargets.length;j=0){while(columns.length<=aTargets[j])_fnAddColumn(oSettings);fn(aTargets[j],def)}else if(typeof aTargets[j]==="number"&&aTargets[j]<0)fn(columns.length+aTargets[j],def);else if(typeof aTargets[j]==="string")for(k=0,kLen=columns.length;kiTarget)a[i]--;if(iTargetIndex!=-1&&splice===undefined)a.splice(iTargetIndex,1)}function _fnInvalidate(settings,rowIdx,src,colIdx){var row=settings.aoData[rowIdx];var i,ien;var cellWrite=function(cell,col){while(cell.childNodes.length)cell.removeChild(cell.firstChild); cell.innerHTML=_fnGetCellData(settings,rowIdx,col,"display")};if(src==="dom"||(!src||src==="auto")&&row.src==="dom")row._aData=_fnGetRowElements(settings,row,colIdx,colIdx===undefined?undefined:row._aData).data;else{var cells=row.anCells;if(cells)if(colIdx!==undefined)cellWrite(cells[colIdx],colIdx);else for(i=0,ien=cells.length;i=0;j--)if(!oSettings.aoColumns[j].bVisible&&!bIncludeHidden)aoLocal[i].splice(j,1);aApplied.push([])}for(i=0,iLen=aoLocal.length;i=oSettings.fnRecordsDisplay()?0:iInitDisplayStart; oSettings.iInitDisplayStart=-1}var iDisplayStart=oSettings._iDisplayStart;var iDisplayEnd=oSettings.fnDisplayEnd();if(oSettings.bDeferLoading){oSettings.bDeferLoading=false;oSettings.iDraw++;_fnProcessingDisplay(oSettings,false)}else if(!bServerSide)oSettings.iDraw++;else if(!oSettings.bDestroying&&!_fnAjaxUpdate(oSettings))return;if(aiDisplay.length!==0){var iStart=bServerSide?0:iDisplayStart;var iEnd=bServerSide?oSettings.aoData.length:iDisplayEnd;for(var j=iStart;jinput.length||input.indexOf(prevSearch)!==0||settings.bSorted)settings.aiDisplay=displayMaster.slice();display=settings.aiDisplay;for(i=0;irecords)start=0}else if(action=="first")start=0;else if(action=="previous"){start=len>=0?start-len:0;if(start<0)start=0}else if(action=="next"){if(start+lendivBodyEl.clientHeight;if(settings.scrollBarVis!==scrollBarVis&&settings.scrollBarVis!==undefined){settings.scrollBarVis=scrollBarVis;_fnAdjustColumnSizing(settings);return}else settings.scrollBarVis=scrollBarVis;table.children("thead, tfoot").remove();if(footer){footerCopy=footer.clone().prependTo(table);footerTrgEls=footer.find("tr");footerSrcEls=footerCopy.find("tr")}headerCopy=header.clone().prependTo(table); headerTrgEls=header.find("tr");headerSrcEls=headerCopy.find("tr");headerCopy.find("th, td").removeAttr("tabindex");if(!scrollX){divBodyStyle.width="100%";divHeader[0].style.width="100%"}$.each(_fnGetUniqueThs(settings,headerCopy),function(i,el){idx=_fnVisibleToColumnIndex(settings,i);el.style.width=settings.aoColumns[idx].sWidth});if(footer)_fnApplyToChildren(function(n){n.style.width=""},footerSrcEls);sanityWidth=table.outerWidth();if(scrollX===""){tableStyle.width="100%";if(ie67&&(table.find("tbody").height()> divBodyEl.offsetHeight||divBody.css("overflow-y")=="scroll"))tableStyle.width=_fnStringToCss(table.outerWidth()-barWidth);sanityWidth=table.outerWidth()}else if(scrollXInner!==""){tableStyle.width=_fnStringToCss(scrollXInner);sanityWidth=table.outerWidth()}_fnApplyToChildren(zeroOut,headerSrcEls);_fnApplyToChildren(function(nSizer){headerContent.push(nSizer.innerHTML);headerWidths.push(_fnStringToCss($(nSizer).css("width")))},headerSrcEls);_fnApplyToChildren(function(nToSize,i){if($.inArray(nToSize, dtHeaderCells)!==-1)nToSize.style.width=headerWidths[i]},headerTrgEls);$(headerSrcEls).height(0);if(footer){_fnApplyToChildren(zeroOut,footerSrcEls);_fnApplyToChildren(function(nSizer){footerContent.push(nSizer.innerHTML);footerWidths.push(_fnStringToCss($(nSizer).css("width")))},footerSrcEls);_fnApplyToChildren(function(nToSize,i){nToSize.style.width=footerWidths[i]},footerTrgEls);$(footerSrcEls).height(0)}_fnApplyToChildren(function(nSizer,i){nSizer.innerHTML='\x3cdiv class\x3d"dataTables_sizing" style\x3d"height:0;overflow:hidden;"\x3e'+ headerContent[i]+"\x3c/div\x3e";nSizer.style.width=headerWidths[i]},headerSrcEls);if(footer)_fnApplyToChildren(function(nSizer,i){nSizer.innerHTML='\x3cdiv class\x3d"dataTables_sizing" style\x3d"height:0;overflow:hidden;"\x3e'+footerContent[i]+"\x3c/div\x3e";nSizer.style.width=footerWidths[i]},footerSrcEls);if(table.outerWidth()divBodyEl.offsetHeight||divBody.css("overflow-y")=="scroll"?sanityWidth+barWidth:sanityWidth;if(ie67&&(divBodyEl.scrollHeight> divBodyEl.offsetHeight||divBody.css("overflow-y")=="scroll"))tableStyle.width=_fnStringToCss(correction-barWidth);if(scrollX===""||scrollXInner!=="")_fnLog(settings,1,"Possible column misalignment",6)}else correction="100%";divBodyStyle.width=_fnStringToCss(correction);divHeaderStyle.width=_fnStringToCss(correction);if(footer)settings.nScrollFoot.style.width=_fnStringToCss(correction);if(!scrollY)if(ie67)divBodyStyle.height=_fnStringToCss(tableEl.offsetHeight+barWidth);var iOuterWidth=table.outerWidth(); divHeaderTable[0].style.width=_fnStringToCss(iOuterWidth);divHeaderInnerStyle.width=_fnStringToCss(iOuterWidth);var bScrolling=table.height()>divBodyEl.clientHeight||divBody.css("overflow-y")=="scroll";var padding="padding"+(browser.bScrollbarLeft?"Left":"Right");divHeaderInnerStyle[padding]=bScrolling?barWidth+"px":"0px";if(footer){divFooterTable[0].style.width=_fnStringToCss(iOuterWidth);divFooterInner[0].style.width=_fnStringToCss(iOuterWidth);divFooterInner[0].style[padding]=bScrolling?barWidth+ "px":"0px"}table.children("colgroup").insertBefore(table.children("thead"));divBody.scroll();if((settings.bSorted||settings.bFiltered)&&!settings._drawHold)divBodyEl.scrollTop=0}function _fnApplyToChildren(fn,an1,an2){var index=0,i=0,iLen=an1.length;var nNode1,nNode2;while(i/g;function _fnCalculateColumnWidths(oSettings){var table=oSettings.nTable,columns=oSettings.aoColumns,scroll=oSettings.oScroll,scrollY=scroll.sY,scrollX=scroll.sX,scrollXInner=scroll.sXInner,columnCount=columns.length,visibleColumns=_fnGetColumns(oSettings,"bVisible"),headerCells=$("th",oSettings.nTHead),tableWidthAttr=table.getAttribute("width"),tableContainer=table.parentNode,userInputs=false,i,column,columnIdx,width,outerWidth,browser=oSettings.oBrowser,ie67=browser.bScrollOversize; var styleWidth=table.style.width;if(styleWidth&&styleWidth.indexOf("%")!==-1)tableWidthAttr=styleWidth;for(i=0;imax){max=s.length;maxIdx=i}}return maxIdx}function _fnStringToCss(s){if(s===null)return"0px";if(typeof s=="number")return s< 0?"0px":s+"px";return s.match(/\d$/)?s+"px":s}function _fnSortFlatten(settings){var i,iLen,k,kLen,aSort=[],aiOrig=[],aoColumns=settings.aoColumns,aDataSort,iCol,sType,srcCol,fixed=settings.aaSortingFixed,fixedObj=$.isPlainObject(fixed),nestedSort=[],add=function(a){if(a.length&&!$.isArray(a[0]))nestedSort.push(a);else $.merge(nestedSort,a)};if($.isArray(fixed))add(fixed);if(fixedObj&&fixed.pre)add(fixed.pre);add(settings.aaSorting);if(fixedObj&&fixed.post)add(fixed.post);for(i=0;iy?1:0;if(test!==0)return sort.dir==="asc"?test:-test}x=aiOrig[a];y=aiOrig[b];return xy?1:0});else displayMaster.sort(function(a,b){var x,y,k,l,test,sort,fn,len=aSort.length,dataA=aoData[a]._aSortData,dataB=aoData[b]._aSortData;for(k=0;ky?1:0})}oSettings.bSorted=true}function _fnSortAria(settings){var label;var nextSort;var columns=settings.aoColumns;var aSort=_fnSortFlatten(settings);var oAria=settings.oLanguage.oAria;for(var i=0,iLen=columns.length;i/g,"");var th=col.nTh;th.removeAttribute("aria-sort");if(col.bSortable){if(aSort.length> 0&&aSort[0].col==i){th.setAttribute("aria-sort",aSort[0].dir=="asc"?"ascending":"descending");nextSort=asSorting[aSort[0].index+1]||asSorting[0]}else nextSort=asSorting[0];label=sTitle+(nextSort==="asc"?oAria.sSortAscending:oAria.sSortDescending)}else label=sTitle;th.setAttribute("aria-label",label)}}function _fnSortListener(settings,colIdx,append,callback){var col=settings.aoColumns[colIdx];var sorting=settings.aaSorting;var asSorting=col.asSorting;var nextSortIdx;var next=function(a,overflow){var idx= a._idx;if(idx===undefined)idx=$.inArray(a[1],asSorting);return idx+10&&s.time<+new Date-duration*1E3){callback();return}if(s.columns&&columns.length!==s.columns.length){callback();return}settings.oLoadedState=$.extend(true, {},s);if(s.start!==undefined){settings._iDisplayStart=s.start;settings.iInitDisplayStart=s.start}if(s.length!==undefined)settings._iDisplayLength=s.length;if(s.order!==undefined){settings.aaSorting=[];$.each(s.order,function(i,col){settings.aaSorting.push(col[0]>=columns.length?[0,col[1]]:col)})}if(s.search!==undefined)$.extend(settings.oPreviousSearch,_fnSearchToHung(s.search));if(s.columns)for(i=0,ien=s.columns.length;i=end)start=end-len;start-=start%len;if(len===-1||start<0)start=0;settings._iDisplayStart=start}function _fnRenderer(settings, type){var renderer=settings.renderer;var host=DataTable.ext.renderer[type];if($.isPlainObject(renderer)&&renderer[type])return host[renderer[type]]||host._;else if(typeof renderer==="string")return host[renderer]||host._;return host._}function _fnDataSource(settings){if(settings.oFeatures.bServerSide)return"ssp";else if(settings.ajax||settings.sAjaxSource)return"ajax";return"dom"}var __apiStruct=[];var __arrayProto=Array.prototype;var _toSettings=function(mixed){var idx,jq;var settings=DataTable.settings; var tables=$.map(settings,function(el,i){return el.nTable});if(!mixed)return[];else if(mixed.nTable&&mixed.oApi)return[mixed];else if(mixed.nodeName&&mixed.nodeName.toLowerCase()==="table"){idx=$.inArray(mixed,tables);return idx!==-1?[settings[idx]]:null}else if(mixed&&typeof mixed.settings==="function")return mixed.settings().toArray();else if(typeof mixed==="string")jq=$(mixed);else if(mixed instanceof $)jq=mixed;if(jq)return jq.map(function(i){idx=$.inArray(this,tables);return idx!==-1?settings[idx]: null}).toArray()};_Api=function(context,data){if(!(this instanceof _Api))return new _Api(context,data);var settings=[];var ctxSettings=function(o){var a=_toSettings(o);if(a)settings=settings.concat(a)};if($.isArray(context))for(var i=0,ien=context.length;iidx?new _Api(ctx[idx],this[idx]):null},filter:function(fn){var a=[];if(__arrayProto.filter)a=__arrayProto.filter.call(this,fn,this);else for(var i=0,ien=this.length;i0)return ctx[0].json});_api_register("ajax.params()",function(){var ctx=this.context;if(ctx.length>0)return ctx[0].oAjaxData});_api_register("ajax.reload()",function(callback,resetPaging){return this.iterator("table",function(settings){__reload(settings,resetPaging===false,callback)})});_api_register("ajax.url()",function(url){var ctx=this.context;if(url===undefined){if(ctx.length=== 0)return undefined;ctx=ctx[0];return ctx.ajax?$.isPlainObject(ctx.ajax)?ctx.ajax.url:ctx.ajax:ctx.sAjaxSource}return this.iterator("table",function(settings){if($.isPlainObject(settings.ajax))settings.ajax.url=url;else settings.ajax=url})});_api_register("ajax.url().load()",function(callback,resetPaging){return this.iterator("table",function(ctx){__reload(ctx,resetPaging===false,callback)})});var _selector_run=function(type,selector,selectFn,settings,opts){var out=[],res,a,i,ien,j,jen,selectorType= typeof selector;if(!selector||selectorType==="string"||selectorType==="function"||selector.length===undefined)selector=[selector];for(i=0,ien=selector.length;i0){inst[0]=inst[i];inst[0].length=1;inst.length=1;inst.context=[inst.context[i]];return inst}inst.length=0;return inst};var _selector_row_indexes=function(settings,opts){var i,ien,tmp,a=[],displayFiltered=settings.aiDisplay, displayMaster=settings.aiDisplayMaster;var search=opts.search,order=opts.order,page=opts.page;if(_fnDataSource(settings)=="ssp")return search==="removed"?[]:_range(0,displayMaster.length);else if(page=="current")for(i=settings._iDisplayStart,ien=settings.fnDisplayEnd();i=0&&search=="applied")a.push(i)}return a};var __row_selector=function(settings,selector,opts){var rows;var run=function(sel){var selInt=_intVal(sel);var i,ien;if(selInt!==null&&!opts)return[selInt];if(!rows)rows=_selector_row_indexes(settings,opts);if(selInt!==null&&$.inArray(selInt,rows)!==-1)return[selInt]; else if(sel===null||sel===undefined||sel==="")return rows;if(typeof sel==="function")return $.map(rows,function(idx){var row=settings.aoData[idx];return sel(idx,row._aData,row.nTr)?idx:null});var nodes=_removeEmpty(_pluck_order(settings.aoData,rows,"nTr"));if(sel.nodeName)if(sel._DT_RowIndex!==undefined)return[sel._DT_RowIndex];else if(sel._DT_CellIndex)return[sel._DT_CellIndex.row];else{var host=$(sel).closest("*[data-dt-row]");return host.length?[host.data("dt-row")]:[]}if(typeof sel==="string"&& sel.charAt(0)==="#"){var rowObj=settings.aIds[sel.replace(/^#/,"")];if(rowObj!==undefined)return[rowObj.idx]}return $(nodes).filter(sel).map(function(){return this._DT_RowIndex}).toArray()};return _selector_run("row",selector,run,settings,opts)};_api_register("rows()",function(selector,opts){if(selector===undefined)selector="";else if($.isPlainObject(selector)){opts=selector;selector=""}opts=_selector_opts(opts);var inst=this.iterator("table",function(settings){return __row_selector(settings,selector, opts)},1);inst.selector.rows=selector;inst.selector.opts=opts;return inst});_api_register("rows().nodes()",function(){return this.iterator("row",function(settings,row){return settings.aoData[row].nTr||undefined},1)});_api_register("rows().data()",function(){return this.iterator(true,"rows",function(settings,rows){return _pluck_order(settings.aoData,rows,"_aData")},1)});_api_registerPlural("rows().cache()","row().cache()",function(type){return this.iterator("row",function(settings,row){var r=settings.aoData[row]; return type==="search"?r._aFilterData:r._aSortData},1)});_api_registerPlural("rows().invalidate()","row().invalidate()",function(src){return this.iterator("row",function(settings,row){_fnInvalidate(settings,row,src)})});_api_registerPlural("rows().indexes()","row().index()",function(){return this.iterator("row",function(settings,row){return row},1)});_api_registerPlural("rows().ids()","row().id()",function(hash){var a=[];var context=this.context;for(var i=0,ien=context.length;i0){api.on(drawEvent,function(e,ctx){if(settings!==ctx)return;api.rows({page:"current"}).eq(0).each(function(idx){var row=data[idx];if(row._detailsShow)row._details.insertAfter(row.nTr)})}); api.on(colvisEvent,function(e,ctx,idx,vis){if(settings!==ctx)return;var row,visible=_fnVisbleColumns(ctx);for(var i=0,ien=data.length;i=0?selInt:columns.length+selInt];if(typeof s==="function"){var rows=_selector_row_indexes(settings,opts);return $.map(columns,function(col,idx){return s(idx,__columnData(settings,idx,0,0,rows),nodes[idx])?idx:null})}var match=typeof s=== "string"?s.match(__re_column_selector):"";if(match)switch(match[2]){case "visIdx":case "visible":var idx=parseInt(match[1],10);if(idx<0){var visColumns=$.map(columns,function(col,i){return col.bVisible?i:null});return[visColumns[visColumns.length+idx]]}return[_fnVisibleToColumnIndex(settings,idx)];case "name":return $.map(names,function(name,i){return name===match[1]?i:null});default:return[]}if(s.nodeName&&s._DT_CellIndex)return[s._DT_CellIndex.column];var jqResult=$(nodes).filter(s).map(function(){return $.inArray(this, nodes)}).toArray();if(jqResult.length||!s.nodeName)return jqResult;var host=$(s).closest("*[data-dt-column]");return host.length?[host.data("dt-column")]:[]};return _selector_run("column",selector,run,settings,opts)};var __setColumnVis=function(settings,column,vis){var cols=settings.aoColumns,col=cols[column],data=settings.aoData,row,cells,i,ien,tr;if(vis===undefined)return col.bVisible;if(col.bVisible===vis)return;if(vis){var insertBefore=$.inArray(true,_pluck(cols,"bVisible"),column+1);for(i=0, ien=data.length;iiThat}return true};DataTable.isDataTable=DataTable.fnIsDataTable= function(table){var t=$(table).get(0);var is=false;if(table instanceof DataTable.Api)return true;$.each(DataTable.settings,function(i,o){var head=o.nScrollHead?$("table",o.nScrollHead)[0]:null;var foot=o.nScrollFoot?$("table",o.nScrollFoot)[0]:null;if(o.nTable===t||head===t||foot===t)is=true});return is};DataTable.tables=DataTable.fnTables=function(visible){var api=false;if($.isPlainObject(visible)){api=visible.api;visible=visible.visible}var a=$.map(DataTable.settings,function(o){if(!visible||visible&& $(o.nTable).is(":visible"))return o.nTable});return api?new _Api(a):a};DataTable.camelToHungarian=_fnCamelToHungarian;_api_register("$()",function(selector,opts){var rows=this.rows(opts).nodes(),jqRows=$(rows);return $([].concat(jqRows.filter(selector).toArray(),jqRows.find(selector).toArray()))});$.each(["on","one","off"],function(i,key){_api_register(key+"()",function(){var args=Array.prototype.slice.call(arguments);args[0]=$.map(args[0].split(/\s/),function(e){return!e.match(/\.dt\b/)?e+".dt": e}).join(" ");var inst=$(this.tables().nodes());inst[key].apply(inst,args);return this})});_api_register("clear()",function(){return this.iterator("table",function(settings){_fnClearTable(settings)})});_api_register("settings()",function(){return new _Api(this.context,this.context)});_api_register("init()",function(){var ctx=this.context;return ctx.length?ctx[0].oInit:null});_api_register("data()",function(){return this.iterator("table",function(settings){return _pluck(settings.aoData,"_aData")}).flatten()}); _api_register("destroy()",function(remove){remove=remove||false;return this.iterator("table",function(settings){var orig=settings.nTableWrapper.parentNode;var classes=settings.oClasses;var table=settings.nTable;var tbody=settings.nTBody;var thead=settings.nTHead;var tfoot=settings.nTFoot;var jqTable=$(table);var jqTbody=$(tbody);var jqWrapper=$(settings.nTableWrapper);var rows=$.map(settings.aoData,function(r){return r.nTr});var i,ien;settings.bDestroying=true;_fnCallbackFire(settings,"aoDestroyCallback", "destroy",[settings]);if(!remove)(new _Api(settings)).columns().visible(true);jqWrapper.off(".DT").find(":not(tbody *)").off(".DT");$(window).off(".DT-"+settings.sInstance);if(table!=thead.parentNode){jqTable.children("thead").detach();jqTable.append(thead)}if(tfoot&&table!=tfoot.parentNode){jqTable.children("tfoot").detach();jqTable.append(tfoot)}settings.aaSorting=[];settings.aaSortingFixed=[];_fnSortingClasses(settings);$(rows).removeClass(settings.asStripeClasses.join(" "));$("th, td",thead).removeClass(classes.sSortable+ " "+classes.sSortableAsc+" "+classes.sSortableDesc+" "+classes.sSortableNone);if(settings.bJUI){$("th span."+classes.sSortIcon+", td span."+classes.sSortIcon,thead).detach();$("th, td",thead).each(function(){var wrapper=$("div."+classes.sSortJUIWrapper,this);$(this).append(wrapper.contents());wrapper.detach()})}jqTbody.children().detach();jqTbody.append(rows);var removedMethod=remove?"remove":"detach";jqTable[removedMethod]();jqWrapper[removedMethod]();if(!remove&&orig){orig.insertBefore(table,settings.nTableReinsertBefore); jqTable.css("width",settings.sDestroyWidth).removeClass(classes.sTable);ien=settings.asDestroyStripes.length;if(ien)jqTbody.children().each(function(i){$(this).addClass(settings.asDestroyStripes[i%ien])})}var idx=$.inArray(settings,DataTable.settings);if(idx!==-1)DataTable.settings.splice(idx,1)})});$.each(["column","row","cell"],function(i,type){_api_register(type+"s().every()",function(fn){var opts=this.selector.opts;var api=this;return this.iterator(type,function(settings,arg1,arg2,arg3,arg4){fn.call(api[type](arg1, type==="cell"?arg2:opts,type==="cell"?opts:undefined),arg1,arg2,arg3,arg4)})})});_api_register("i18n()",function(token,def,plural){var ctx=this.context[0];var resolved=_fnGetObjectDataFn(token)(ctx.oLanguage);if(resolved===undefined)resolved=def;if(plural!==undefined&&$.isPlainObject(resolved))resolved=resolved[plural]!==undefined?resolved[plural]:resolved._;return resolved.replace("%d",plural)});DataTable.version="1.10.15";DataTable.settings=[];DataTable.models={};DataTable.models.oSearch={"bCaseInsensitive":true, "sSearch":"","bRegex":false,"bSmart":true};DataTable.models.oRow={"nTr":null,"anCells":null,"_aData":[],"_aSortData":null,"_aFilterData":null,"_sFilterRow":null,"_sRowStripe":"","src":null,"idx":-1};DataTable.models.oColumn={"idx":null,"aDataSort":null,"asSorting":null,"bSearchable":null,"bSortable":null,"bVisible":null,"_sManualType":null,"_bAttrSrc":false,"fnCreatedCell":null,"fnGetData":null,"fnSetData":null,"mData":null,"mRender":null,"nTh":null,"nTf":null,"sClass":null,"sContentPadding":null, "sDefaultContent":null,"sName":null,"sSortDataType":"std","sSortingClass":null,"sSortingClassJUI":null,"sTitle":null,"sType":null,"sWidth":null,"sWidthOrig":null};DataTable.defaults={"aaData":null,"aaSorting":[[0,"asc"]],"aaSortingFixed":[],"ajax":null,"aLengthMenu":[10,25,50,100],"aoColumns":null,"aoColumnDefs":null,"aoSearchCols":[],"asStripeClasses":null,"bAutoWidth":true,"bDeferRender":false,"bDestroy":false,"bFilter":true,"bInfo":true,"bJQueryUI":false,"bLengthChange":true,"bPaginate":true,"bProcessing":false, "bRetrieve":false,"bScrollCollapse":false,"bServerSide":false,"bSort":true,"bSortMulti":true,"bSortCellsTop":false,"bSortClasses":true,"bStateSave":false,"fnCreatedRow":null,"fnDrawCallback":null,"fnFooterCallback":null,"fnFormatNumber":function(toFormat){return toFormat.toString().replace(/\B(?=(\d{3})+(?!\d))/g,this.oLanguage.sThousands)},"fnHeaderCallback":null,"fnInfoCallback":null,"fnInitComplete":null,"fnPreDrawCallback":null,"fnRowCallback":null,"fnServerData":null,"fnServerParams":null,"fnStateLoadCallback":function(settings){try{return JSON.parse((settings.iStateDuration=== -1?sessionStorage:localStorage).getItem("DataTables_"+settings.sInstance+"_"+location.pathname))}catch(e){}},"fnStateLoadParams":null,"fnStateLoaded":null,"fnStateSaveCallback":function(settings,data){try{(settings.iStateDuration===-1?sessionStorage:localStorage).setItem("DataTables_"+settings.sInstance+"_"+location.pathname,JSON.stringify(data))}catch(e){}},"fnStateSaveParams":null,"iStateDuration":7200,"iDeferLoading":null,"iDisplayLength":10,"iDisplayStart":0,"iTabIndex":0,"oClasses":{},"oLanguage":{"oAria":{"sSortAscending":": activate to sort column ascending", "sSortDescending":": activate to sort column descending"},"oPaginate":{"sFirst":"First","sLast":"Last","sNext":"Next","sPrevious":"Previous"},"sEmptyTable":"No data available in table","sInfo":"Showing _START_ to _END_ of _TOTAL_ entries","sInfoEmpty":"Showing 0 to 0 of 0 entries","sInfoFiltered":"(filtered from _MAX_ total entries)","sInfoPostFix":"","sDecimal":"","sThousands":",","sLengthMenu":"Show _MENU_ entries","sLoadingRecords":"Loading...","sProcessing":"Processing...","sSearch":"Search:", "sSearchPlaceholder":"","sUrl":"","sZeroRecords":"No matching records found"},"oSearch":$.extend({},DataTable.models.oSearch),"sAjaxDataProp":"data","sAjaxSource":null,"sDom":"lfrtip","searchDelay":null,"sPaginationType":"simple_numbers","sScrollX":"","sScrollXInner":"","sScrollY":"","sServerMethod":"GET","renderer":null,"rowId":"DT_RowId"};_fnHungarianMap(DataTable.defaults);DataTable.defaults.column={"aDataSort":null,"iDataSort":-1,"asSorting":["asc","desc"],"bSearchable":true,"bSortable":true, "bVisible":true,"fnCreatedCell":null,"mData":null,"mRender":null,"sCellType":"td","sClass":"","sContentPadding":"","sDefaultContent":null,"sName":"","sSortDataType":"std","sTitle":null,"sType":null,"sWidth":null};_fnHungarianMap(DataTable.defaults.column);DataTable.models.oSettings={"oFeatures":{"bAutoWidth":null,"bDeferRender":null,"bFilter":null,"bInfo":null,"bLengthChange":null,"bPaginate":null,"bProcessing":null,"bServerSide":null,"bSort":null,"bSortMulti":null,"bSortClasses":null,"bStateSave":null}, "oScroll":{"bCollapse":null,"iBarWidth":0,"sX":null,"sXInner":null,"sY":null},"oLanguage":{"fnInfoCallback":null},"oBrowser":{"bScrollOversize":false,"bScrollbarLeft":false,"bBounding":false,"barWidth":0},"ajax":null,"aanFeatures":[],"aoData":[],"aiDisplay":[],"aiDisplayMaster":[],"aIds":{},"aoColumns":[],"aoHeader":[],"aoFooter":[],"oPreviousSearch":{},"aoPreSearchCols":[],"aaSorting":null,"aaSortingFixed":[],"asStripeClasses":null,"asDestroyStripes":[],"sDestroyWidth":0,"aoRowCallback":[],"aoHeaderCallback":[], "aoFooterCallback":[],"aoDrawCallback":[],"aoRowCreatedCallback":[],"aoPreDrawCallback":[],"aoInitComplete":[],"aoStateSaveParams":[],"aoStateLoadParams":[],"aoStateLoaded":[],"sTableId":"","nTable":null,"nTHead":null,"nTFoot":null,"nTBody":null,"nTableWrapper":null,"bDeferLoading":false,"bInitialised":false,"aoOpenRows":[],"sDom":null,"searchDelay":null,"sPaginationType":"two_button","iStateDuration":0,"aoStateSave":[],"aoStateLoad":[],"oSavedState":null,"oLoadedState":null,"sAjaxSource":null,"sAjaxDataProp":null, "bAjaxDataGet":true,"jqXHR":null,"json":undefined,"oAjaxData":undefined,"fnServerData":null,"aoServerParams":[],"sServerMethod":null,"fnFormatNumber":null,"aLengthMenu":null,"iDraw":0,"bDrawing":false,"iDrawError":-1,"_iDisplayLength":10,"_iDisplayStart":0,"_iRecordsTotal":0,"_iRecordsDisplay":0,"bJUI":null,"oClasses":{},"bFiltered":false,"bSorted":false,"bSortCellsTop":null,"oInit":null,"aoDestroyCallback":[],"fnRecordsTotal":function(){return _fnDataSource(this)=="ssp"?this._iRecordsTotal*1:this.aiDisplayMaster.length}, "fnRecordsDisplay":function(){return _fnDataSource(this)=="ssp"?this._iRecordsDisplay*1:this.aiDisplay.length},"fnDisplayEnd":function(){var len=this._iDisplayLength,start=this._iDisplayStart,calc=start+len,records=this.aiDisplay.length,features=this.oFeatures,paginate=features.bPaginate;if(features.bServerSide)return paginate===false||len===-1?start+records:Math.min(start+len,this._iRecordsDisplay);else return!paginate||calc>records||len===-1?records:calc},"oInstance":null,"sInstance":null,"iTabIndex":0, "nScrollHead":null,"nScrollFoot":null,"aLastSort":[],"oPlugins":{},"rowIdFn":null,"rowId":null};DataTable.ext=_ext={buttons:{},classes:{},builder:"-source-",errMode:"alert",feature:[],search:[],selector:{cell:[],column:[],row:[]},internal:{},legacy:{ajax:null},pager:{},renderer:{pageButton:{},header:{}},order:{},type:{detect:[],search:{},order:{}},_unique:0,fnVersionCheck:DataTable.fnVersionCheck,iApiIndex:0,oJUIClasses:{},sVersion:DataTable.version};$.extend(_ext,{afnFiltering:_ext.search,aTypes:_ext.type.detect, ofnSearch:_ext.type.search,oSort:_ext.type.order,afnSortData:_ext.order,aoFeatures:_ext.feature,oApi:_ext.internal,oStdClasses:_ext.classes,oPagination:_ext.pager});$.extend(DataTable.ext.classes,{"sTable":"dataTable","sNoFooter":"no-footer","sPageButton":"paginate_button","sPageButtonActive":"current","sPageButtonDisabled":"disabled","sStripeOdd":"odd","sStripeEven":"even","sRowEmpty":"dataTables_empty","sWrapper":"dataTables_wrapper","sFilter":"dataTables_filter","sInfo":"dataTables_info","sPaging":"dataTables_paginate paging_", "sLength":"dataTables_length","sProcessing":"dataTables_processing","sSortAsc":"sorting_asc","sSortDesc":"sorting_desc","sSortable":"sorting","sSortableAsc":"sorting_asc_disabled","sSortableDesc":"sorting_desc_disabled","sSortableNone":"sorting_disabled","sSortColumn":"sorting_","sFilterInput":"","sLengthSelect":"","sScrollWrapper":"dataTables_scroll","sScrollHead":"dataTables_scrollHead","sScrollHeadInner":"dataTables_scrollHeadInner","sScrollBody":"dataTables_scrollBody","sScrollFoot":"dataTables_scrollFoot", "sScrollFootInner":"dataTables_scrollFootInner","sHeaderTH":"","sFooterTH":"","sSortJUIAsc":"","sSortJUIDesc":"","sSortJUI":"","sSortJUIAscAllowed":"","sSortJUIDescAllowed":"","sSortJUIWrapper":"","sSortIcon":"","sJUIHeader":"","sJUIFooter":""});(function(){var _empty="";_empty="";var _stateDefault=_empty+"ui-state-default";var _sortIcon=_empty+"css_right ui-icon ui-icon-";var _headerFooter=_empty+"fg-toolbar ui-toolbar ui-widget-header ui-helper-clearfix";$.extend(DataTable.ext.oJUIClasses,DataTable.ext.classes, {"sPageButton":"fg-button ui-button "+_stateDefault,"sPageButtonActive":"ui-state-disabled","sPageButtonDisabled":"ui-state-disabled","sPaging":"dataTables_paginate fg-buttonset ui-buttonset fg-buttonset-multi "+"ui-buttonset-multi paging_","sSortAsc":_stateDefault+" sorting_asc","sSortDesc":_stateDefault+" sorting_desc","sSortable":_stateDefault+" sorting","sSortableAsc":_stateDefault+" sorting_asc_disabled","sSortableDesc":_stateDefault+" sorting_desc_disabled","sSortableNone":_stateDefault+" sorting_disabled", "sSortJUIAsc":_sortIcon+"triangle-1-n","sSortJUIDesc":_sortIcon+"triangle-1-s","sSortJUI":_sortIcon+"carat-2-n-s","sSortJUIAscAllowed":_sortIcon+"carat-1-n","sSortJUIDescAllowed":_sortIcon+"carat-1-s","sSortJUIWrapper":"DataTables_sort_wrapper","sSortIcon":"DataTables_sort_icon","sScrollHead":"dataTables_scrollHead "+_stateDefault,"sScrollFoot":"dataTables_scrollFoot "+_stateDefault,"sHeaderTH":_stateDefault,"sFooterTH":_stateDefault,"sJUIHeader":_headerFooter+" ui-corner-tl ui-corner-tr","sJUIFooter":_headerFooter+ " ui-corner-bl ui-corner-br"})})();var extPagination=DataTable.ext.pager;function _numbers(page,pages){var numbers=[],buttons=extPagination.numbers_length,half=Math.floor(buttons/2),i=1;if(pages<=buttons)numbers=_range(0,pages);else if(page<=half){numbers=_range(0,buttons-2);numbers.push("ellipsis");numbers.push(pages-1)}else if(page>=pages-1-half){numbers=_range(pages-(buttons-2),pages);numbers.splice(0,0,"ellipsis");numbers.splice(0,0,0)}else{numbers=_range(page-half+2,page+half-1);numbers.push("ellipsis"); numbers.push(pages-1);numbers.splice(0,0,"ellipsis");numbers.splice(0,0,0)}numbers.DT_el="span";return numbers}$.extend(extPagination,{simple:function(page,pages){return["previous","next"]},full:function(page,pages){return["first","previous","next","last"]},numbers:function(page,pages){return[_numbers(page,pages)]},simple_numbers:function(page,pages){return["previous",_numbers(page,pages),"next"]},full_numbers:function(page,pages){return["first","previous",_numbers(page,pages),"next","last"]},first_last_numbers:function(page, pages){return["first",_numbers(page,pages),"last"]},_numbers:_numbers,numbers_length:7});$.extend(true,DataTable.ext.renderer,{pageButton:{_:function(settings,host,idx,buttons,page,pages){var classes=settings.oClasses;var lang=settings.oLanguage.oPaginate;var aria=settings.oLanguage.oAria.paginate||{};var btnDisplay,btnClass,counter=0;var attach=function(container,buttons){var i,ien,node,button;var clickHandler=function(e){_fnPageChange(settings,e.data.action,true)};for(i=0,ien=buttons.length;i0?"":" "+classes.sPageButtonDisabled);break;case "previous":btnDisplay=lang.sPrevious;btnClass=button+(page>0?"":" "+classes.sPageButtonDisabled);break;case "next":btnDisplay= lang.sNext;btnClass=button+(page/g,"").toLowerCase():a+""},"string-pre":function(a){return _empty(a)?"":typeof a==="string"?a.toLowerCase():!a.toString?"":a.toString()},"string-asc":function(x,y){return xy?1:0},"string-desc":function(x,y){return xy?-1:0}});_addNumericSort("");$.extend(true,DataTable.ext.renderer,{header:{_:function(settings, cell,column,classes){$(settings.nTable).on("order.dt.DT",function(e,ctx,sorting,columns){if(settings!==ctx)return;var colIdx=column.idx;cell.removeClass(column.sSortingClass+" "+classes.sSortAsc+" "+classes.sSortDesc).addClass(columns[colIdx]=="asc"?classes.sSortAsc:columns[colIdx]=="desc"?classes.sSortDesc:column.sSortingClass)})},jqueryui:function(settings,cell,column,classes){$("\x3cdiv/\x3e").addClass(classes.sSortJUIWrapper).append(cell.contents()).append($("\x3cspan/\x3e").addClass(classes.sSortIcon+ " "+column.sSortingClassJUI)).appendTo(cell);$(settings.nTable).on("order.dt.DT",function(e,ctx,sorting,columns){if(settings!==ctx)return;var colIdx=column.idx;cell.removeClass(classes.sSortAsc+" "+classes.sSortDesc).addClass(columns[colIdx]=="asc"?classes.sSortAsc:columns[colIdx]=="desc"?classes.sSortDesc:column.sSortingClass);cell.find("span."+classes.sSortIcon).removeClass(classes.sSortJUIAsc+" "+classes.sSortJUIDesc+" "+classes.sSortJUI+" "+classes.sSortJUIAscAllowed+" "+classes.sSortJUIDescAllowed).addClass(columns[colIdx]== "asc"?classes.sSortJUIAsc:columns[colIdx]=="desc"?classes.sSortJUIDesc:column.sSortingClassJUI)})}}});var __htmlEscapeEntities=function(d){return typeof d==="string"?d.replace(//g,"\x26gt;").replace(/"/g,"\x26quot;"):d};DataTable.render={number:function(thousands,decimal,precision,prefix,postfix){return{display:function(d){if(typeof d!=="number"&&typeof d!=="string")return d;var negative=d<0?"-":"";var flo=parseFloat(d);if(isNaN(flo))return __htmlEscapeEntities(d);flo=flo.toFixed(precision); d=Math.abs(flo);var intPart=parseInt(d,10);var floatPart=precision?decimal+(d-intPart).toFixed(precision).substring(2):"";return negative+(prefix||"")+intPart.toString().replace(/\B(?=(\d{3})+(?!\d))/g,thousands)+floatPart+(postfix||"")}}},text:function(){return{display:__htmlEscapeEntities}}};function _fnExternApiFunc(fn){return function(){var args=[_fnSettingsFromNode(this[DataTable.ext.iApiIndex])].concat(Array.prototype.slice.call(arguments));return DataTable.ext.internal[fn].apply(this,args)}} $.extend(DataTable.ext.internal,{_fnExternApiFunc:_fnExternApiFunc,_fnBuildAjax:_fnBuildAjax,_fnAjaxUpdate:_fnAjaxUpdate,_fnAjaxParameters:_fnAjaxParameters,_fnAjaxUpdateDraw:_fnAjaxUpdateDraw,_fnAjaxDataSrc:_fnAjaxDataSrc,_fnAddColumn:_fnAddColumn,_fnColumnOptions:_fnColumnOptions,_fnAdjustColumnSizing:_fnAdjustColumnSizing,_fnVisibleToColumnIndex:_fnVisibleToColumnIndex,_fnColumnIndexToVisible:_fnColumnIndexToVisible,_fnVisbleColumns:_fnVisbleColumns,_fnGetColumns:_fnGetColumns,_fnColumnTypes:_fnColumnTypes, _fnApplyColumnDefs:_fnApplyColumnDefs,_fnHungarianMap:_fnHungarianMap,_fnCamelToHungarian:_fnCamelToHungarian,_fnLanguageCompat:_fnLanguageCompat,_fnBrowserDetect:_fnBrowserDetect,_fnAddData:_fnAddData,_fnAddTr:_fnAddTr,_fnNodeToDataIndex:_fnNodeToDataIndex,_fnNodeToColumnIndex:_fnNodeToColumnIndex,_fnGetCellData:_fnGetCellData,_fnSetCellData:_fnSetCellData,_fnSplitObjNotation:_fnSplitObjNotation,_fnGetObjectDataFn:_fnGetObjectDataFn,_fnSetObjectDataFn:_fnSetObjectDataFn,_fnGetDataMaster:_fnGetDataMaster, _fnClearTable:_fnClearTable,_fnDeleteIndex:_fnDeleteIndex,_fnInvalidate:_fnInvalidate,_fnGetRowElements:_fnGetRowElements,_fnCreateTr:_fnCreateTr,_fnBuildHead:_fnBuildHead,_fnDrawHead:_fnDrawHead,_fnDraw:_fnDraw,_fnReDraw:_fnReDraw,_fnAddOptionsHtml:_fnAddOptionsHtml,_fnDetectHeader:_fnDetectHeader,_fnGetUniqueThs:_fnGetUniqueThs,_fnFeatureHtmlFilter:_fnFeatureHtmlFilter,_fnFilterComplete:_fnFilterComplete,_fnFilterCustom:_fnFilterCustom,_fnFilterColumn:_fnFilterColumn,_fnFilter:_fnFilter,_fnFilterCreateSearch:_fnFilterCreateSearch, _fnEscapeRegex:_fnEscapeRegex,_fnFilterData:_fnFilterData,_fnFeatureHtmlInfo:_fnFeatureHtmlInfo,_fnUpdateInfo:_fnUpdateInfo,_fnInfoMacros:_fnInfoMacros,_fnInitialise:_fnInitialise,_fnInitComplete:_fnInitComplete,_fnLengthChange:_fnLengthChange,_fnFeatureHtmlLength:_fnFeatureHtmlLength,_fnFeatureHtmlPaginate:_fnFeatureHtmlPaginate,_fnPageChange:_fnPageChange,_fnFeatureHtmlProcessing:_fnFeatureHtmlProcessing,_fnProcessingDisplay:_fnProcessingDisplay,_fnFeatureHtmlTable:_fnFeatureHtmlTable,_fnScrollDraw:_fnScrollDraw, _fnApplyToChildren:_fnApplyToChildren,_fnCalculateColumnWidths:_fnCalculateColumnWidths,_fnThrottle:_fnThrottle,_fnConvertToWidth:_fnConvertToWidth,_fnGetWidestNode:_fnGetWidestNode,_fnGetMaxLenString:_fnGetMaxLenString,_fnStringToCss:_fnStringToCss,_fnSortFlatten:_fnSortFlatten,_fnSort:_fnSort,_fnSortAria:_fnSortAria,_fnSortListener:_fnSortListener,_fnSortAttachListener:_fnSortAttachListener,_fnSortingClasses:_fnSortingClasses,_fnSortData:_fnSortData,_fnSaveState:_fnSaveState,_fnLoadState:_fnLoadState, _fnSettingsFromNode:_fnSettingsFromNode,_fnLog:_fnLog,_fnMap:_fnMap,_fnBindAction:_fnBindAction,_fnCallbackReg:_fnCallbackReg,_fnCallbackFire:_fnCallbackFire,_fnLengthOverflow:_fnLengthOverflow,_fnRenderer:_fnRenderer,_fnDataSource:_fnDataSource,_fnRowAttributes:_fnRowAttributes,_fnCalculateEnd:function(){}});$.fn.dataTable=DataTable;DataTable.$=$;$.fn.dataTableSettings=DataTable.settings;$.fn.dataTableExt=DataTable.ext;$.fn.DataTable=function(opts){return $(this).dataTable(opts).api()};$.each(DataTable, function(prop,val){$.fn.DataTable[prop]=val});return $.fn.dataTable}); (function(factory){if(typeof define==="function"&&define.amd)define(["jquery"],factory);else if(typeof module!=="undefined"&&module.exports)module.exports=factory(require("jquery"));else factory(jQuery)})(function($){var _previousResizeWidth=-1,_updateTimeout=-1;var _parse=function(value){return parseFloat(value)||0};var _rows=function(elements){var tolerance=1,$elements=$(elements),lastTop=null,rows=[];$elements.each(function(){var $that=$(this),top=$that.offset().top-_parse($that.css("margin-top")), lastRow=rows.length>0?rows[rows.length-1]:null;if(lastRow===null)rows.push($that);else if(Math.floor(Math.abs(lastTop-top))<=tolerance)rows[rows.length-1]=lastRow.add($that);else rows.push($that);lastTop=top});return rows};var _parseOptions=function(options){var opts={byRow:true,property:"height",target:null,remove:false};if(typeof options==="object")return $.extend(opts,options);if(typeof options==="boolean")opts.byRow=options;else if(options==="remove")opts.remove=true;return opts};var matchHeight= $.fn.matchHeight=function(options){var opts=_parseOptions(options);if(opts.remove){var that=this;this.css(opts.property,"");$.each(matchHeight._groups,function(key,group){group.elements=group.elements.not(that)});return this}if(this.length<=1&&!opts.target)return this;matchHeight._groups.push({elements:this,options:opts});matchHeight._apply(this,opts);return this};matchHeight.version="0.7.2";matchHeight._groups=[];matchHeight._throttle=80;matchHeight._maintainScroll=false;matchHeight._beforeUpdate= null;matchHeight._afterUpdate=null;matchHeight._rows=_rows;matchHeight._parse=_parse;matchHeight._parseOptions=_parseOptions;matchHeight._apply=function(elements,options){var opts=_parseOptions(options),$elements=$(elements),rows=[$elements];var scrollTop=$(window).scrollTop(),htmlHeight=$("html").outerHeight(true);var $hiddenParents=$elements.parents().filter(":hidden");$hiddenParents.each(function(){var $that=$(this);$that.data("style-cache",$that.attr("style"))});$hiddenParents.css("display","block"); if(opts.byRow&&!opts.target){$elements.each(function(){var $that=$(this),display=$that.css("display");if(display!=="inline-block"&&display!=="flex"&&display!=="inline-flex")display="block";$that.data("style-cache",$that.attr("style"));$that.css({"display":display,"padding-top":"0","padding-bottom":"0","margin-top":"0","margin-bottom":"0","border-top-width":"0","border-bottom-width":"0","height":"100px","overflow":"hidden"})});rows=_rows($elements);$elements.each(function(){var $that=$(this);$that.attr("style", $that.data("style-cache")||"")})}$.each(rows,function(key,row){var $row=$(row),targetHeight=0;if(!opts.target){if(opts.byRow&&$row.length<=1){$row.css(opts.property,"");return}$row.each(function(){var $that=$(this),style=$that.attr("style"),display=$that.css("display");if(display!=="inline-block"&&display!=="flex"&&display!=="inline-flex")display="block";var css={"display":display};css[opts.property]="";$that.css(css);if($that.outerHeight(false)>targetHeight)targetHeight=$that.outerHeight(false); if(style)$that.attr("style",style);else $that.css("display","")})}else targetHeight=opts.target.outerHeight(false);$row.each(function(){var $that=$(this),verticalPadding=0;if(opts.target&&$that.is(opts.target))return;if($that.css("box-sizing")!=="border-box"){verticalPadding+=_parse($that.css("border-top-width"))+_parse($that.css("border-bottom-width"));verticalPadding+=_parse($that.css("padding-top"))+_parse($that.css("padding-bottom"))}$that.css(opts.property,targetHeight-verticalPadding+"px")})}); $hiddenParents.each(function(){var $that=$(this);$that.attr("style",$that.data("style-cache")||null)});if(matchHeight._maintainScroll)$(window).scrollTop(scrollTop/htmlHeight*$("html").outerHeight(true));return this};matchHeight._applyDataApi=function(){var groups={};$("[data-match-height], [data-mh]").each(function(){var $this=$(this),groupId=$this.attr("data-mh")||$this.attr("data-match-height");if(groupId in groups)groups[groupId]=groups[groupId].add($this);else groups[groupId]=$this});$.each(groups, function(){this.matchHeight(true)})};var _update=function(event){if(matchHeight._beforeUpdate)matchHeight._beforeUpdate(event,matchHeight._groups);$.each(matchHeight._groups,function(){matchHeight._apply(this.elements,this.options)});if(matchHeight._afterUpdate)matchHeight._afterUpdate(event,matchHeight._groups)};matchHeight._update=function(throttle,event){if(event&&event.type==="resize"){var windowWidth=$(window).width();if(windowWidth===_previousResizeWidth)return;_previousResizeWidth=windowWidth}if(!throttle)_update(event); else if(_updateTimeout===-1)_updateTimeout=setTimeout(function(){_update(event);_updateTimeout=-1},matchHeight._throttle)};$(matchHeight._applyDataApi);var on=$.fn.on?"on":"bind";$(window)[on]("load",function(event){matchHeight._update(false,event)});$(window)[on]("resize orientationchange",function(event){matchHeight._update(true,event)})}); (function(factory){if(typeof define==="function"&&define.amd&&define.amd.jQuery)define(["jquery"],factory);else if(typeof module!=="undefined"&&module.exports)factory(require("jquery"));else factory(jQuery)})(function($){var VERSION="1.6.18",LEFT="left",RIGHT="right",UP="up",DOWN="down",IN="in",OUT="out",NONE="none",AUTO="auto",SWIPE="swipe",PINCH="pinch",TAP="tap",DOUBLE_TAP="doubletap",LONG_TAP="longtap",HOLD="hold",HORIZONTAL="horizontal",VERTICAL="vertical",ALL_FINGERS="all",DOUBLE_TAP_THRESHOLD= 10,PHASE_START="start",PHASE_MOVE="move",PHASE_END="end",PHASE_CANCEL="cancel",SUPPORTS_TOUCH="ontouchstart"in window,SUPPORTS_POINTER_IE10=window.navigator.msPointerEnabled&&!window.navigator.pointerEnabled&&!SUPPORTS_TOUCH,SUPPORTS_POINTER=(window.navigator.pointerEnabled||window.navigator.msPointerEnabled)&&!SUPPORTS_TOUCH,PLUGIN_NS="TouchSwipe";var defaults={fingers:1,threshold:75,cancelThreshold:null,pinchThreshold:20,maxTimeThreshold:null,fingerReleaseThreshold:250,longTapThreshold:500,doubleTapThreshold:200, swipe:null,swipeLeft:null,swipeRight:null,swipeUp:null,swipeDown:null,swipeStatus:null,pinchIn:null,pinchOut:null,pinchStatus:null,click:null,tap:null,doubleTap:null,longTap:null,hold:null,triggerOnTouchEnd:true,triggerOnTouchLeave:false,allowPageScroll:"auto",fallbackToMouseEvents:true,excludedElements:".noSwipe",preventDefaultEvents:true};$.fn.swipe=function(method){var $this=$(this),plugin=$this.data(PLUGIN_NS);if(plugin&&typeof method==="string")if(plugin[method])return plugin[method].apply(plugin, Array.prototype.slice.call(arguments,1));else $.error("Method "+method+" does not exist on jQuery.swipe");else if(plugin&&typeof method==="object")plugin["option"].apply(plugin,arguments);else if(!plugin&&(typeof method==="object"||!method))return init.apply(this,arguments);return $this};$.fn.swipe.version=VERSION;$.fn.swipe.defaults=defaults;$.fn.swipe.phases={PHASE_START:PHASE_START,PHASE_MOVE:PHASE_MOVE,PHASE_END:PHASE_END,PHASE_CANCEL:PHASE_CANCEL};$.fn.swipe.directions={LEFT:LEFT,RIGHT:RIGHT, UP:UP,DOWN:DOWN,IN:IN,OUT:OUT};$.fn.swipe.pageScroll={NONE:NONE,HORIZONTAL:HORIZONTAL,VERTICAL:VERTICAL,AUTO:AUTO};$.fn.swipe.fingers={ONE:1,TWO:2,THREE:3,FOUR:4,FIVE:5,ALL:ALL_FINGERS};function init(options){if(options&&(options.allowPageScroll===undefined&&(options.swipe!==undefined||options.swipeStatus!==undefined)))options.allowPageScroll=NONE;if(options.click!==undefined&&options.tap===undefined)options.tap=options.click;if(!options)options={};options=$.extend({},$.fn.swipe.defaults,options); return this.each(function(){var $this=$(this);var plugin=$this.data(PLUGIN_NS);if(!plugin){plugin=new TouchSwipe(this,options);$this.data(PLUGIN_NS,plugin)}})}function TouchSwipe(element,options){var options=$.extend({},options);var useTouchEvents=SUPPORTS_TOUCH||SUPPORTS_POINTER||!options.fallbackToMouseEvents,START_EV=useTouchEvents?SUPPORTS_POINTER?SUPPORTS_POINTER_IE10?"MSPointerDown":"pointerdown":"touchstart":"mousedown",MOVE_EV=useTouchEvents?SUPPORTS_POINTER?SUPPORTS_POINTER_IE10?"MSPointerMove": "pointermove":"touchmove":"mousemove",END_EV=useTouchEvents?SUPPORTS_POINTER?SUPPORTS_POINTER_IE10?"MSPointerUp":"pointerup":"touchend":"mouseup",LEAVE_EV=useTouchEvents?SUPPORTS_POINTER?"mouseleave":null:"mouseleave",CANCEL_EV=SUPPORTS_POINTER?SUPPORTS_POINTER_IE10?"MSPointerCancel":"pointercancel":"touchcancel";var distance=0,direction=null,currentDirection=null,duration=0,startTouchesDistance=0,endTouchesDistance=0,pinchZoom=1,pinchDistance=0,pinchDirection=0,maximumsMap=null;var $element=$(element); var phase="start";var fingerCount=0;var fingerData={};var startTime=0,endTime=0,previousTouchEndTime=0,fingerCountAtRelease=0,doubleTapStartTime=0;var singleTapTimeout=null,holdTimeout=null;try{$element.bind(START_EV,touchStart);$element.bind(CANCEL_EV,touchCancel)}catch(e){$.error("events not supported "+START_EV+","+CANCEL_EV+" on jQuery.swipe")}this.enable=function(){this.disable();$element.bind(START_EV,touchStart);$element.bind(CANCEL_EV,touchCancel);return $element};this.disable=function(){removeListeners(); return $element};this.destroy=function(){removeListeners();$element.data(PLUGIN_NS,null);$element=null};this.option=function(property,value){if(typeof property==="object")options=$.extend(options,property);else if(options[property]!==undefined)if(value===undefined)return options[property];else options[property]=value;else if(!property)return options;else $.error("Option "+property+" does not exist on jQuery.swipe.options");return null};function touchStart(jqEvent){if(getTouchInProgress())return;if($(jqEvent.target).closest(options.excludedElements, $element).length>0)return;var event=jqEvent.originalEvent?jqEvent.originalEvent:jqEvent;if(event.pointerType&&event.pointerType=="mouse"&&options.fallbackToMouseEvents==false)return;var ret,touches=event.touches,evt=touches?touches[0]:event;phase=PHASE_START;if(touches)fingerCount=touches.length;else if(options.preventDefaultEvents!==false)jqEvent.preventDefault();distance=0;direction=null;currentDirection=null;pinchDirection=null;duration=0;startTouchesDistance=0;endTouchesDistance=0;pinchZoom=1; pinchDistance=0;maximumsMap=createMaximumsData();cancelMultiFingerRelease();createFingerData(0,evt);if(!touches||(fingerCount===options.fingers||options.fingers===ALL_FINGERS)||hasPinches()){startTime=getTimeStamp();if(fingerCount==2){createFingerData(1,touches[1]);startTouchesDistance=endTouchesDistance=calculateTouchesDistance(fingerData[0].start,fingerData[1].start)}if(options.swipeStatus||options.pinchStatus)ret=triggerHandler(event,phase)}else ret=false;if(ret===false){phase=PHASE_CANCEL;triggerHandler(event, phase);return ret}else{if(options.hold)holdTimeout=setTimeout($.proxy(function(){$element.trigger("hold",[event.target]);if(options.hold)ret=options.hold.call($element,event,event.target)},this),options.longTapThreshold);setTouchInProgress(true)}return null}function touchMove(jqEvent){var event=jqEvent.originalEvent?jqEvent.originalEvent:jqEvent;if(phase===PHASE_END||phase===PHASE_CANCEL||inMultiFingerRelease())return;var ret,touches=event.touches,evt=touches?touches[0]:event;var currentFinger=updateFingerData(evt); endTime=getTimeStamp();if(touches)fingerCount=touches.length;if(options.hold)clearTimeout(holdTimeout);phase=PHASE_MOVE;if(fingerCount==2){if(startTouchesDistance==0){createFingerData(1,touches[1]);startTouchesDistance=endTouchesDistance=calculateTouchesDistance(fingerData[0].start,fingerData[1].start)}else{updateFingerData(touches[1]);endTouchesDistance=calculateTouchesDistance(fingerData[0].end,fingerData[1].end);pinchDirection=calculatePinchDirection(fingerData[0].end,fingerData[1].end)}pinchZoom= calculatePinchZoom(startTouchesDistance,endTouchesDistance);pinchDistance=Math.abs(startTouchesDistance-endTouchesDistance)}if(fingerCount===options.fingers||options.fingers===ALL_FINGERS||!touches||hasPinches()){direction=calculateDirection(currentFinger.start,currentFinger.end);currentDirection=calculateDirection(currentFinger.last,currentFinger.end);validateDefaultEvent(jqEvent,currentDirection);distance=calculateDistance(currentFinger.start,currentFinger.end);duration=calculateDuration();setMaxDistance(direction, distance);ret=triggerHandler(event,phase);if(!options.triggerOnTouchEnd||options.triggerOnTouchLeave){var inBounds=true;if(options.triggerOnTouchLeave){var bounds=getbounds(this);inBounds=isInBounds(currentFinger.end,bounds)}if(!options.triggerOnTouchEnd&&inBounds)phase=getNextPhase(PHASE_MOVE);else if(options.triggerOnTouchLeave&&!inBounds)phase=getNextPhase(PHASE_END);if(phase==PHASE_CANCEL||phase==PHASE_END)triggerHandler(event,phase)}}else{phase=PHASE_CANCEL;triggerHandler(event,phase)}if(ret=== false){phase=PHASE_CANCEL;triggerHandler(event,phase)}}function touchEnd(jqEvent){var event=jqEvent.originalEvent?jqEvent.originalEvent:jqEvent,touches=event.touches;if(touches)if(touches.length&&!inMultiFingerRelease()){startMultiFingerRelease(event);return true}else if(touches.length&&inMultiFingerRelease())return true;if(inMultiFingerRelease())fingerCount=fingerCountAtRelease;endTime=getTimeStamp();duration=calculateDuration();if(didSwipeBackToCancel()||!validateSwipeDistance()){phase=PHASE_CANCEL; triggerHandler(event,phase)}else if(options.triggerOnTouchEnd||options.triggerOnTouchEnd===false&&phase===PHASE_MOVE){if(options.preventDefaultEvents!==false&&jqEvent.cancelable!==false)jqEvent.preventDefault();phase=PHASE_END;triggerHandler(event,phase)}else if(!options.triggerOnTouchEnd&&hasTap()){phase=PHASE_END;triggerHandlerForGesture(event,phase,TAP)}else if(phase===PHASE_MOVE){phase=PHASE_CANCEL;triggerHandler(event,phase)}setTouchInProgress(false);return null}function touchCancel(){fingerCount= 0;endTime=0;startTime=0;startTouchesDistance=0;endTouchesDistance=0;pinchZoom=1;cancelMultiFingerRelease();setTouchInProgress(false)}function touchLeave(jqEvent){var event=jqEvent.originalEvent?jqEvent.originalEvent:jqEvent;if(options.triggerOnTouchLeave){phase=getNextPhase(PHASE_END);triggerHandler(event,phase)}}function removeListeners(){$element.unbind(START_EV,touchStart);$element.unbind(CANCEL_EV,touchCancel);$element.unbind(MOVE_EV,touchMove);$element.unbind(END_EV,touchEnd);if(LEAVE_EV)$element.unbind(LEAVE_EV, touchLeave);setTouchInProgress(false)}function getNextPhase(currentPhase){var nextPhase=currentPhase;var validTime=validateSwipeTime();var validDistance=validateSwipeDistance();var didCancel=didSwipeBackToCancel();if(!validTime||didCancel)nextPhase=PHASE_CANCEL;else if(validDistance&¤tPhase==PHASE_MOVE&&(!options.triggerOnTouchEnd||options.triggerOnTouchLeave))nextPhase=PHASE_END;else if(!validDistance&¤tPhase==PHASE_END&&options.triggerOnTouchLeave)nextPhase=PHASE_CANCEL;return nextPhase} function triggerHandler(event,phase){var ret,touches=event.touches;if(didSwipe()||hasSwipes())ret=triggerHandlerForGesture(event,phase,SWIPE);if((didPinch()||hasPinches())&&ret!==false)ret=triggerHandlerForGesture(event,phase,PINCH);if(didDoubleTap()&&ret!==false)ret=triggerHandlerForGesture(event,phase,DOUBLE_TAP);else if(didLongTap()&&ret!==false)ret=triggerHandlerForGesture(event,phase,LONG_TAP);else if(didTap()&&ret!==false)ret=triggerHandlerForGesture(event,phase,TAP);if(phase===PHASE_CANCEL)touchCancel(event); if(phase===PHASE_END)if(touches){if(!touches.length)touchCancel(event)}else touchCancel(event);return ret}function triggerHandlerForGesture(event,phase,gesture){var ret;if(gesture==SWIPE){$element.trigger("swipeStatus",[phase,direction||null,distance||0,duration||0,fingerCount,fingerData,currentDirection]);if(options.swipeStatus){ret=options.swipeStatus.call($element,event,phase,direction||null,distance||0,duration||0,fingerCount,fingerData,currentDirection);if(ret===false)return false}if(phase== PHASE_END&&validateSwipe()){clearTimeout(singleTapTimeout);clearTimeout(holdTimeout);$element.trigger("swipe",[direction,distance,duration,fingerCount,fingerData,currentDirection]);if(options.swipe){ret=options.swipe.call($element,event,direction,distance,duration,fingerCount,fingerData,currentDirection);if(ret===false)return false}switch(direction){case LEFT:$element.trigger("swipeLeft",[direction,distance,duration,fingerCount,fingerData,currentDirection]);if(options.swipeLeft)ret=options.swipeLeft.call($element, event,direction,distance,duration,fingerCount,fingerData,currentDirection);break;case RIGHT:$element.trigger("swipeRight",[direction,distance,duration,fingerCount,fingerData,currentDirection]);if(options.swipeRight)ret=options.swipeRight.call($element,event,direction,distance,duration,fingerCount,fingerData,currentDirection);break;case UP:$element.trigger("swipeUp",[direction,distance,duration,fingerCount,fingerData,currentDirection]);if(options.swipeUp)ret=options.swipeUp.call($element,event,direction, distance,duration,fingerCount,fingerData,currentDirection);break;case DOWN:$element.trigger("swipeDown",[direction,distance,duration,fingerCount,fingerData,currentDirection]);if(options.swipeDown)ret=options.swipeDown.call($element,event,direction,distance,duration,fingerCount,fingerData,currentDirection);break}}}if(gesture==PINCH){$element.trigger("pinchStatus",[phase,pinchDirection||null,pinchDistance||0,duration||0,fingerCount,pinchZoom,fingerData]);if(options.pinchStatus){ret=options.pinchStatus.call($element, event,phase,pinchDirection||null,pinchDistance||0,duration||0,fingerCount,pinchZoom,fingerData);if(ret===false)return false}if(phase==PHASE_END&&validatePinch())switch(pinchDirection){case IN:$element.trigger("pinchIn",[pinchDirection||null,pinchDistance||0,duration||0,fingerCount,pinchZoom,fingerData]);if(options.pinchIn)ret=options.pinchIn.call($element,event,pinchDirection||null,pinchDistance||0,duration||0,fingerCount,pinchZoom,fingerData);break;case OUT:$element.trigger("pinchOut",[pinchDirection|| null,pinchDistance||0,duration||0,fingerCount,pinchZoom,fingerData]);if(options.pinchOut)ret=options.pinchOut.call($element,event,pinchDirection||null,pinchDistance||0,duration||0,fingerCount,pinchZoom,fingerData);break}}if(gesture==TAP){if(phase===PHASE_CANCEL||phase===PHASE_END){clearTimeout(singleTapTimeout);clearTimeout(holdTimeout);if(hasDoubleTap()&&!inDoubleTap()){doubleTapStartTime=getTimeStamp();singleTapTimeout=setTimeout($.proxy(function(){doubleTapStartTime=null;$element.trigger("tap", [event.target]);if(options.tap)ret=options.tap.call($element,event,event.target)},this),options.doubleTapThreshold)}else{doubleTapStartTime=null;$element.trigger("tap",[event.target]);if(options.tap)ret=options.tap.call($element,event,event.target)}}}else if(gesture==DOUBLE_TAP){if(phase===PHASE_CANCEL||phase===PHASE_END){clearTimeout(singleTapTimeout);clearTimeout(holdTimeout);doubleTapStartTime=null;$element.trigger("doubletap",[event.target]);if(options.doubleTap)ret=options.doubleTap.call($element, event,event.target)}}else if(gesture==LONG_TAP)if(phase===PHASE_CANCEL||phase===PHASE_END){clearTimeout(singleTapTimeout);doubleTapStartTime=null;$element.trigger("longtap",[event.target]);if(options.longTap)ret=options.longTap.call($element,event,event.target)}return ret}function validateSwipeDistance(){var valid=true;if(options.threshold!==null)valid=distance>=options.threshold;return valid}function didSwipeBackToCancel(){var cancelled=false;if(options.cancelThreshold!==null&&direction!==null)cancelled= getMaxDistance(direction)-distance>=options.cancelThreshold;return cancelled}function validatePinchDistance(){if(options.pinchThreshold!==null)return pinchDistance>=options.pinchThreshold;return true}function validateSwipeTime(){var result;if(options.maxTimeThreshold)if(duration>=options.maxTimeThreshold)result=false;else result=true;else result=true;return result}function validateDefaultEvent(jqEvent,direction){if(options.preventDefaultEvents===false)return;if(options.allowPageScroll===NONE)jqEvent.preventDefault(); else{var auto=options.allowPageScroll===AUTO;switch(direction){case LEFT:if(options.swipeLeft&&auto||!auto&&options.allowPageScroll!=HORIZONTAL)jqEvent.preventDefault();break;case RIGHT:if(options.swipeRight&&auto||!auto&&options.allowPageScroll!=HORIZONTAL)jqEvent.preventDefault();break;case UP:if(options.swipeUp&&auto||!auto&&options.allowPageScroll!=VERTICAL)jqEvent.preventDefault();break;case DOWN:if(options.swipeDown&&auto||!auto&&options.allowPageScroll!=VERTICAL)jqEvent.preventDefault();break; case NONE:break}}}function validatePinch(){var hasCorrectFingerCount=validateFingers();var hasEndPoint=validateEndPoint();var hasCorrectDistance=validatePinchDistance();return hasCorrectFingerCount&&hasEndPoint&&hasCorrectDistance}function hasPinches(){return!!(options.pinchStatus||options.pinchIn||options.pinchOut)}function didPinch(){return!!(validatePinch()&&hasPinches())}function validateSwipe(){var hasValidTime=validateSwipeTime();var hasValidDistance=validateSwipeDistance();var hasCorrectFingerCount= validateFingers();var hasEndPoint=validateEndPoint();var didCancel=didSwipeBackToCancel();var valid=!didCancel&&hasEndPoint&&hasCorrectFingerCount&&hasValidDistance&&hasValidTime;return valid}function hasSwipes(){return!!(options.swipe||options.swipeStatus||options.swipeLeft||options.swipeRight||options.swipeUp||options.swipeDown)}function didSwipe(){return!!(validateSwipe()&&hasSwipes())}function validateFingers(){return fingerCount===options.fingers||options.fingers===ALL_FINGERS||!SUPPORTS_TOUCH} function validateEndPoint(){return fingerData[0].end.x!==0}function hasTap(){return!!options.tap}function hasDoubleTap(){return!!options.doubleTap}function hasLongTap(){return!!options.longTap}function validateDoubleTap(){if(doubleTapStartTime==null)return false;var now=getTimeStamp();return hasDoubleTap()&&now-doubleTapStartTime<=options.doubleTapThreshold}function inDoubleTap(){return validateDoubleTap()}function validateTap(){return(fingerCount===1||!SUPPORTS_TOUCH)&&(isNaN(distance)||distance< options.threshold)}function validateLongTap(){return duration>options.longTapThreshold&&distance=0)return LEFT;else if(angle<=360&&angle>=315)return LEFT;else if(angle>=135&&angle<=225)return RIGHT;else if(angle>45&&angle<135)return DOWN;else return UP}function getTimeStamp(){var now=new Date;return now.getTime()}function getbounds(el){el=$(el);var offset=el.offset();var bounds={left:offset.left,right:offset.left+el.outerWidth(),top:offset.top,bottom:offset.top+el.outerHeight()}; return bounds}function isInBounds(point,bounds){return point.x>bounds.left&&point.xbounds.top&&point.y=0;i--)self.fixContainerHeight(elements[i]);$(window).trigger("scroll")},1E3);$(elem).on("pinBox.reload",function(){self.Reload(elem)})},Prepare:function(elem){var $this=$(elem),Container={},BoxParent={}, Css={};var data=this.ExtractData($this),self=this;var opt=data.pinBoxOptions||(this.opt||{});if(opt.Disabled===false){if(!$this.parent().is(".pinBox-wrapper")){$this.wrap("\x3cdiv class\x3d'pinBox-wrapper'\x3e");$this.parent().css({"position":"relative"})}var $container=$this.closest(opt.Container);var ContainerOffset=$container.offset();Container.top=ContainerOffset.top;Container.left=ContainerOffset.left;Container.width=$container.width();Container.height=$container.height();var parentOffset=$this.offsetParent().offset(); BoxParent.top=parentOffset.top;BoxParent.left=parentOffset.left;$this.parent().css("height",$this.outerHeight());Css.width=$this.outerWidth();Css.position="fixed";Css.left=parseFloat(BoxParent.left);Css.top=opt.Top;Css["z-index"]=opt.ZIndex;$this.data("pinBox",JSON.stringify(Css)).data("pinBoxOptions",JSON.stringify(opt)).data("pinBoxParent",JSON.stringify(BoxParent)).data("pinBoxContainer",JSON.stringify(Container))}},ExtractData:function($this){var data={};var dpinBox=$this.data("pinBox")||{};var dBoxOpt= $this.data("pinBoxOptions")||{};var dBoxParent=$this.data("pinBoxParent")||{};var dBoxContainer=$this.data("pinBoxContainer")||{};if(typeof dpinBox==="string")data.pinBox=JSON.parse(dpinBox);if(typeof dBoxOpt==="string")data.pinBoxOptions=JSON.parse(dBoxOpt);if(typeof dBoxParent==="string")data.pinBoxParent=JSON.parse(dBoxParent);if(typeof dBoxContainer==="string")data.pinBoxContainer=JSON.parse(dBoxContainer);return data},OnScroll:function(elem){var self=this;$(window).scroll(function(){var $box= $(elem);var $ScrollTop=$(this).scrollTop();var data=self.ExtractData($box);var dpinBox=data.pinBox;var BoxOpt=data.pinBoxOptions;var BoxParent=data.pinBoxParent;var BoxContainer=data.pinBoxContainer;self.Scroll.direction=$ScrollTop>self.Scroll.current?"down":"up";self.Scroll.current=$ScrollTop;self.Window.width=window.innerWidth||$(window).width();if($ScrollTop>BoxContainer.top-parseInt(BoxOpt.Top)&&self.Window.width>parseInt(BoxOpt.MinWidth)){BoxOpt.Disabled=false;var elemTop=$box.closest(BoxOpt.Container).height()- $box.outerHeight();var totalTop=(BoxParent.top||BoxContainer.top)+elemTop-parseInt(BoxOpt.Top);if($ScrollTop>totalTop)$box.attr("style","").css({"width":dpinBox.width,"position":"absolute","top":elemTop});else $box.css(dpinBox);self.CallEvents($box,true,BoxOpt.Disabled)}else{if(self.Window.width<=parseInt(BoxOpt.MinWidth)){if(BoxOpt.Disabled===false){$box.attr("style","").unwrap(".pinBox-wrapper");BoxOpt.Disabled=true}}else $box.attr("style","").css({width:dpinBox.width});self.CallEvents($box,false, BoxOpt.Disabled)}$box.data("pinBoxOptions",JSON.stringify(BoxOpt))})},OnResize:function(elem){var self=this,$this=$(elem);$(window).resize(function(){var data=self.ExtractData($this);var BoxOpt=data.pinBoxOptions;self.Window.width=window.innerWidth||$(window).width();BoxOpt.Disabled=self.Window.width>parseInt(BoxOpt.MinWidth)?false:true;if(BoxOpt.Disabled===false){var width=$this.parent().width();$this.attr("style","").css({width:width})}else $this.attr("style","");$this.data("pinBoxOptions",JSON.stringify(BoxOpt)); self.Prepare(elem);self.CallEvents($this,true,BoxOpt.Disabled);$(window).trigger("scroll")})},CallEvents:function(e,active,disabled){var self=this;active?e.addClass("active"):e.removeClass("active");if(typeof self.opt.Events=="function")self.opt.Events.call(e,{current:self.Scroll.current,direction:self.Scroll.direction,width:self.Window.width,active:active,disabled:disabled})},fixContainerHeight:function(elem){var self=this,$this=$(elem);var data=self.ExtractData($this);var BoxOpt=data.pinBoxOptions; var BoxParent=data.pinBoxParent;var BoxContainer=data.pinBoxContainer;var $ScrollTop=$(window).scrollTop();var elemTop=$this.closest(BoxOpt.Container).height()-$this.outerHeight();var totalTop=(BoxParent.top||BoxContainer.top)+elemTop-parseInt(BoxOpt.Top);if($ScrollTop>totalTop)$this.attr("style","").css({"width":data.pinBox.width,"position":"absolute","top":elemTop,"transition":".3s"})},Reload:function(elem){var $this=$(elem);var width=$this.parent().width();$this.attr("style","").css({width:width}); this.Prepare(elem)}};$.fn.pinBox=function(options){var elements=[];var pinBox=Object.create(PinBox);return this.each(function(){elements.push(this);pinBox.init(this,options,elements)})};$.fn.pinBox.defaults={Container:".container",Top:0,ZIndex:20,MinWidth:"767px",Events:false,Disabled:false}})(jQuery,window,document);