function onDateSelected(n,t){var i;i=t.indexOf(":")>0?t.split(" ")[0]:t;n.data("threepartdate")=="True"?(i=i.split("/"),n.parent().siblings("div.day").children("input").val(i[0]),n.parent().siblings("div.month").children("input").val(i[1]),n.parent().siblings("div.year").children("input").val(i[2])):n.parent().siblings("div.compactDate").children("input").val(i)}function setDatePickerDate(n){var t;if(n.data("threepartdate")=="True"){var i=n.parent().siblings("div.day").children("input").val(),r=n.parent().siblings("div.month").children("input").val()-1,u=n.parent().siblings("div.year").children("input").val();t=new Date(u,r,i);t.getDate()!=i||t.getMonth()!=r||t.getFullYear()!=u?n.val(""):n.val(t.getDate()+"/"+(t.getMonth()+1)+"/"+t.getFullYear())}else n.val(n.parent().siblings("div.compactDate").children("input").val())}function setupDatePicker(){$(".attachDatePicker").datepicker({onSelect:function(n){onDateSelected($(this),n)},beforeShow:function(){setDatePickerDate($(this))},buttonImage:"/SiteAssets/Modules.PublicWebsite.UI.Web/Assets/Images/icon-calendar-2.png",buttonImageOnly:!0,showOn:"both",dateFormat:"dd/mm/yy",changeMonth:!0,changeYear:!0,buttonText:abritas.data("selectDateWording"),showButtonPanel:!1,yearRange:"c-100:c+100"})}function setupTimePicker(){$(".attachDateTimePicker").each(function(){var n='[id="'+$(this).data("timefieldid")+'"]';$(this).datetimepicker({onSelect:function(n){onDateSelected($(this),n)},beforeShow:function(){setDatePickerDate($(this))},buttonImage:"/SiteAssets/Modules.PublicWebsite.UI.Web/Assets/Images/icon-calendar-2.png",buttonImageOnly:!0,showOn:"both",dateFormat:"dd/mm/yy",changeMonth:!0,changeYear:!0,buttonText:abritas.data("selectDateWording"),altField:n,altTimeFormat:"HH:mm:ss",controlType:"select",oneLine:!0,timeFormat:"HH:mm:ss",showMillisec:!1,showMicrosec:!1,showTimezone:!1,yearRange:"c-100:c+100"})})}function setupDateFieldAutoTabbing(){$(".dateControl input").filter(":not([data-autotabbingenabled])").keydown(function(n){var i=0,r=0,t=0;$(n.target)[0].selectionEnd!=null?t=$(n.target)[0].selectionEnd-$(n.target)[0].selectionStart:document.selection!==null&&(t=document.selection.createRange().text);t==0&&$(n.target).val().length>0&&(n.which==111||n.which==220||n.which==110||n.which==190)?(i=1,n.preventDefault()):n.which==8||n.which==46?$(n.target).val().length==0&&(r=1,n.preventDefault()):(n.which!=9||n.shiftKey)&&(n.which==9&&n.shiftKey||n.which>=37&&n.which<=40||n.which==13||(n.which>=48&&n.which<=57||n.which>=96&&n.which<=105?$(n.target).attr("maxlength")!=undefined&&$(n.target).val().length-t>=$(n.target).attr("maxlength")&&n.preventDefault():n.preventDefault()));i?$(n.target).parent().next().children("input:visible").focus():r&&$(n.target).parent().prev().children("input:visible").focus()}).keyup(function(n){var t=0;$(n.target)[0].selectionEnd!=null?t=$(n.target)[0].selectionEnd-$(n.target)[0].selectionStart:document.selection!==null&&(t=document.selection.createRange().text);isNaN(t)&&(t=0);n.which==8||n.which==46||n.which==9&&n.shiftKey||n.which>=37&&n.which<=40||n.which>31&&$(n.target).attr("maxlength")!=undefined&&$(n.target).val().length-t==$(n.target).attr("maxlength")&&$(n.target).parent().next().children("input:visible").focus()}).focus(function(){$(this).select()}).data("autotabbingenabled",!0)}function callServer(n,t,i,r,u){return callServerWithOptions({url:n,data:t,success:i,error:r,type:u})}function callServerWithOptions(n){var t,i,u,r;if(!n)throw{name:"No options",message:"No options specified for callServer"};if(n.type===window.undefined&&(n.type=typeof n.data===window.undefined||n.data==null?"GET":"POST"),n.data||(n.data=Array()),!n.preventAppendLastUpdateValues)if(t=abritas.util.getLastUpdateValues(),$.isArray(n.data))for(i in t)n.data.push(t[i]);else for(i in t)n.data[t[i].name]=t[i].value;return u={},r=abritas.util.getAuthTokenInput(),r.length>0&&(n.data[r.attr("name")]=r.val(),u[".CLAUTH"]=r.val()),$.ajaxAntiForgery({xhrFields:{withCredentials:!0},type:n.type,headers:u,url:n.url,cache:!1,data:n.data,success:function(t){if(abritas.ajax.redirectIfRequired(t))return!1;abritas.sessionTimeout.restartTimer();abritas.ajax.isPluginCallbackResponse(t)?(abritas.util.updateLastUpdateValues(t.LastUpdate.names,t.LastUpdate.values),n.success(t.Response)):n.success(t);abritas.data.updateData()},error:function(t,i,r){abritas.info.isWindowUnloading||(n.error&&n.error!=null?n.error(t,i,r):abritas.ajax.defaultErrorHandler(t,i,r))},options:n})}function redirectToUrl(n){var i=navigator.userAgent.toLowerCase(),r=i.indexOf("msie")!==-1,u=parseInt(i.substr(4,2),10),t;r&&u<9?(t=document.createElement("a"),t.href=n,document.body.appendChild(t),t.click()):window.location.href=n}function initialiseMapHelper(){$("<script src='/SiteAssets/Modules.PublicWebsite.UI.Web/Assets/Scripts/markerclusterer.min.js'><\/script>").appendTo("head");$("<script src='/SiteAssets/Modules.PublicWebsite.UI.Web/Assets/Scripts/oms.min.js'><\/script>").appendTo("head");initialiseMaps()}function setupInlineHelp(){$("body").hasClass("mobile-body")?$(".numericHyperlinkControl .help-inline .ico").each(function(){if($(this).data("setup")!="true"){var n=$(this).siblings(".text").text();$(this).wrap('<a href="#" onclick="abritas.dialog.showDialog(\''+n+'\');" class="help-inline-tooltip" tabindex="-1"><\/a>');$(this).data("setup","true")}}):($(".help-inline .ico").each(function(){$(this).wrap('<a href="javascript:void(0);" class="help-inline-tooltip" tabindex="-1" data-toggle="tooltip" title="'+$(this).siblings(".text").text()+'"><\/a>')}),$(".help-inline .text").hide().attr("aria-hidden","true"),$(".help-inline a.help-inline-tooltip").tooltip({placement:"right",trigger:"hover"}))}function setupAttachmentLink(){$(".attachmentLink").click(function(){$(this).bind("click",!1)})}function setUpResponsiveActionBar(){if($("#fixedActionBar").length>0){$("footer").addClass("actionBar");$("#fixedActionBar").on("hidden.bs.collapse",function(){$("#fixedActionBarActions").slideDown();$("#fixedActionBarSubHeader").slideDown();$("#fixedActionBarHeaderIcon").removeClass("ico-down");$("#fixedActionBarHeaderIcon").addClass("ico")});$("#fixedActionBar").on("shown.bs.collapse",function(){$("#fixedActionBarActions").slideUp();$("#fixedActionBarSubHeader").slideUp();$("#fixedActionBarHeaderIcon").removeClass("ico");$("#fixedActionBarHeaderIcon").addClass("ico-down")})}}function collapseResponsiveActionBar(){$("#fixedActionBar").length>0&&($("#fixedActionBar").collapse("hide"),$("#fixedActionBarActions").slideDown(),$("#fixedActionBarSubHeader").slideDown(),$("#fixedActionBarHeaderIcon").removeClass("ico-down"),$("#fixedActionBarHeaderIcon").addClass("ico"))}function setupHtmlEditor(){$(".htmlEditor").each(function(){if(!$(this).data("haseditor")){var n="/Assets/ThemeOrangeAndBlue";publicWebsiteTheme!=undefined&&(n=publicWebsiteTheme,n.slice(0,1)=="~"&&(n=n.slice(1,n.length)));$(this).data("haseditor",!0);CKEDITOR.replace(this,{customConfig:"/SiteAssets/Infrastructure.UI.Web/Assets/Scripts/ckeditorConfig.js",contentsCss:n})}});$(".htmlReadOnlyEditor").each(function(){if(!$(this).data("haseditor")){var n="/Assets/ThemeOrangeAndBlue";publicWebsiteTheme!=undefined&&(n=publicWebsiteTheme,n.slice(0,1)=="~"&&(n=n.slice(1,n.length)));$(this).data("haseditor",!0);CKEDITOR.replace(this,{toolbar:[],removePlugins:"toolbar,elementspath,resize",uiColor:"#FFFFFF",contentsCss:n,bodyClass:"contentEditor",resize_enabled:!1})}})}function GetControllerName(n){var t=$.map(n.split("/"),function(n){return $.trim(n)}),i=$(t).filter(function(){return $(this).length});return"/"+i.get()[0]}var antiForgeryTokenName="__RequestVerificationToken",Infrastructure,abritas,CKEDITOR_BASEPATH;(function(n){n.getAntiForgeryToken=function(){var t=n('input[name="'+antiForgeryTokenName+'"]')[0];return t?t.value:null};n.appendAntiForgeryToken=function(t,i){return t&&typeof t!="string"&&(t=n.param(t)),t&&t.indexOf(antiForgeryTokenName)!=-1?t:(i=i?i:n.getAntiForgeryToken(),t=t?t+"&":"",i?t+encodeURIComponent(antiForgeryTokenName)+"="+encodeURIComponent(i):t)};n.postAntiForgery=function(t,i,r,u){return n.post(t,n.appendAntiForgeryToken(i),r,u)};n.ajaxAntiForgery=function(t){if(t.type!=null&&t.type!="GET"){var i=t.antiForgeryToken?t.antiForgeryToken:n.getAntiForgeryToken();t.data=n.appendAntiForgeryToken(t.data,i)}return n.ajax(t)}})(jQuery),function(){function n(n){function o(o,s){var rt,ut,p=o==window,c=s&&s.message!==undefined?s.message:undefined,g,k,d,tt,nt,w,b,it,ft,et,ot;if(s=n.extend({},n.blockUI.defaults,s||{}),!s.ignoreIfBlocked||!n(o).data("blockUI.isBlocked")){if(s.overlayCSS=n.extend({},n.blockUI.defaults.overlayCSS,s.overlayCSS||{}),rt=n.extend({},n.blockUI.defaults.css,s.css||{}),s.onOverlayClick&&(s.overlayCSS.cursor="pointer"),ut=n.extend({},n.blockUI.defaults.themedCSS,s.themedCSS||{}),c=c===undefined?s.message:c,p&&t&&u(window,{fadeOut:0}),c&&typeof c!="string"&&(c.parentNode||c.jquery)&&(g=c.jquery?c[0]:c,k={},n(o).data("blockUI.history",k),k.el=g,k.parent=g.parentNode,k.display=g.style.display,k.position=g.style.position,k.parent&&k.parent.removeChild(g)),n(o).data("blockUI.onUnblock",s.onUnblock),d=s.baseZ,tt=e||s.forceIframe?n('<iframe class="blockUI" style="z-index:'+d+++';display:none;border:none;margin:0;padding:0;position:absolute;width:100%;height:100%;top:0;left:0" src="'+s.iframeSrc+'"><\/iframe>'):n('<div class="blockUI" style="display:none"><\/div>'),nt=s.theme?n('<div class="blockUI blockOverlay ui-widget-overlay" style="z-index:'+d+++';display:none"><\/div>'):n('<div class="blockUI blockOverlay" style="z-index:'+d+++';display:none;border:none;margin:0;padding:0;width:100%;height:100%;top:0;left:0"><\/div>'),s.theme&&p?(b='<div class="blockUI '+s.blockMsgClass+' blockPage ui-dialog ui-widget ui-corner-all" style="z-index:'+(d+10)+';display:none;position:fixed">',s.title&&(b+='<div class="ui-widget-header ui-dialog-titlebar ui-corner-all blockTitle">'+(s.title||"&nbsp;")+"<\/div>"),b+='<div class="ui-widget-content ui-dialog-content"><\/div>',b+="<\/div>"):s.theme?(b='<div class="blockUI '+s.blockMsgClass+' blockElement ui-dialog ui-widget ui-corner-all" style="z-index:'+(d+10)+';display:none;position:absolute">',s.title&&(b+='<div class="ui-widget-header ui-dialog-titlebar ui-corner-all blockTitle">'+(s.title||"&nbsp;")+"<\/div>"),b+='<div class="ui-widget-content ui-dialog-content"><\/div>',b+="<\/div>"):b=p?'<div class="blockUI '+s.blockMsgClass+' blockPage" style="z-index:'+(d+10)+';display:none;position:fixed"><\/div>':'<div class="blockUI '+s.blockMsgClass+' blockElement" style="z-index:'+(d+10)+';display:none;position:absolute"><\/div>',w=n(b),c&&(s.theme?(w.css(ut),w.addClass("ui-widget-content")):w.css(rt)),s.theme||nt.css(s.overlayCSS),nt.css("position",p?"fixed":"absolute"),(e||s.forceIframe)&&tt.css("opacity",0),it=[tt,nt,w],ft=p?n("body"):n(o),n.each(it,function(){this.appendTo(ft)}),s.theme&&s.draggable&&n.fn.draggable&&w.draggable({handle:".ui-dialog-titlebar",cancel:"li"}),et=y&&(!n.support.boxModel||n("object,embed",p?null:o).length>0),a||et){if(p&&s.allowBodyStretch&&n.support.boxModel&&n("html,body").css("height","100%"),(a||!n.support.boxModel)&&!p)var st=r(o,"borderTopWidth"),ht=r(o,"borderLeftWidth"),ct=st?"(0 - "+st+")":0,lt=ht?"(0 - "+ht+")":0;n.each(it,function(n,t){var i=t[0].style,r,u;i.position="absolute";n<2?(p?i.setExpression("height","Math.max(document.body.scrollHeight, document.body.offsetHeight) - (jQuery.support.boxModel?0:"+s.quirksmodeOffsetHack+') + "px"'):i.setExpression("height",'this.parentNode.offsetHeight + "px"'),p?i.setExpression("width",'jQuery.support.boxModel && document.documentElement.clientWidth || document.body.clientWidth + "px"'):i.setExpression("width",'this.parentNode.offsetWidth + "px"'),lt&&i.setExpression("left",lt),ct&&i.setExpression("top",ct)):s.centerY?(p&&i.setExpression("top",'(document.documentElement.clientHeight || document.body.clientHeight) / 2 - (this.offsetHeight / 2) + (blah = document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop) + "px"'),i.marginTop=0):!s.centerY&&p&&(r=s.css&&s.css.top?parseInt(s.css.top,10):0,u="((document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop) + "+r+') + "px"',i.setExpression("top",u))})}if(c&&(s.theme?w.find(".ui-widget-content").append(c):w.append(c),(c.jquery||c.nodeType)&&n(c).show()),(e||s.forceIframe)&&s.showOverlay&&tt.show(),s.fadeIn){var at=s.onBlock?s.onBlock:f,vt=s.showOverlay&&!c?at:f,yt=c?at:f;s.showOverlay&&nt._fadeIn(s.fadeIn,vt);c&&w._fadeIn(s.fadeIn,yt)}else s.showOverlay&&nt.show(),c&&w.show(),s.onBlock&&s.onBlock();h(1,o,s);p?(t=w[0],i=n(":input:enabled:visible",t),s.focusInput&&setTimeout(l,20)):v(w[0],s.centerX,s.centerY);s.timeout&&(ot=setTimeout(function(){p?n.unblockUI(s):n(o).unblock(s)},s.timeout),n(o).data("blockUI.timeout",ot))}}function u(r,u){var o,c=r==window,e=n(r),l=e.data("blockUI.history"),a=e.data("blockUI.timeout"),f;a&&(clearTimeout(a),e.removeData("blockUI.timeout"));u=n.extend({},n.blockUI.defaults,u||{});h(0,r,u);u.onUnblock===null&&(u.onUnblock=e.data("blockUI.onUnblock"),e.removeData("blockUI.onUnblock"));f=c?n("body").children().filter(".blockUI").add("body > .blockUI"):e.find(">.blockUI");u.cursorReset&&(f.length>1&&(f[1].style.cursor=u.cursorReset),f.length>2&&(f[2].style.cursor=u.cursorReset));c&&(t=i=null);u.fadeOut?(o=f.length,f.fadeOut(u.fadeOut,function(){--o==0&&s(f,l,u,r)})):s(f,l,u,r)}function s(t,i,r,u){var e=n(u);if(t.each(function(){this.parentNode&&this.parentNode.removeChild(this)}),i&&i.el&&(i.el.style.display=i.display,i.el.style.position=i.position,i.parent&&i.parent.appendChild(i.el),e.removeData("blockUI.history")),e.data("blockUI.static")&&e.css("position","static"),typeof r.onUnblock=="function")r.onUnblock(u,r);var f=n(document.body),o=f.width(),s=f[0].style.width;f.width(o-1).width(o);f[0].style.width=s}function h(i,r,u){var f=r==window,o=n(r),e;(i||(!f||t)&&(f||o.data("blockUI.isBlocked")))&&(o.data("blockUI.isBlocked",i),f&&u.bindEvents&&(!i||u.showOverlay))&&(e="mousedown mouseup keydown keypress keyup touchstart touchend touchmove",i?n(document).bind(e,u,c):n(document).unbind(e,c))}function c(r){var u,f;if(r.keyCode&&r.keyCode==9&&t&&r.data.constrainTabKey){var e=i,s=!r.shiftKey&&r.target===e[e.length-1],o=r.shiftKey&&r.target===e[0];if(s||o)return setTimeout(function(){l(o)},10),!1}return(u=r.data,f=n(r.target),f.hasClass("blockOverlay")&&u.onOverlayClick&&u.onOverlayClick(),f.parents("div."+u.blockMsgClass).length>0)?!0:f.parents().children().filter("div.blockUI").length===0}function l(n){if(i){var t=i[n===!0?i.length-1:0];t&&t.focus()}}function v(n,t,i){var u=n.parentNode,f=n.style,e=(u.offsetWidth-n.offsetWidth)/2-r(u,"borderLeftWidth"),o=(u.offsetHeight-n.offsetHeight)/2-r(u,"borderTopWidth");t&&(f.left=e>0?e+"px":"0");i&&(f.top=o>0?o+"px":"0")}function r(t,i){return parseInt(n.css(t,i),10)||0}var t,i;n.fn._fadeIn=n.fn.fadeIn;var f=n.noop||function(){},e=/MSIE/.test(navigator.userAgent),a=/MSIE 6.0/.test(navigator.userAgent)&&!/MSIE 8.0/.test(navigator.userAgent),p=document.documentMode||0,y=n.isFunction(document.createElement("div").style.setExpression);n.blockUI=function(n){o(window,n)};n.unblockUI=function(n){u(window,n)};n.growlUI=function(t,i,r,u){var f=n('<div class="growlUI"><\/div>');t&&f.append("<h1>"+t+"<\/h1>");i&&f.append("<h2>"+i+"<\/h2>");r===undefined&&(r=3e3);n.blockUI({message:f,fadeIn:700,fadeOut:1e3,centerY:!1,timeout:r,showOverlay:!1,onUnblock:u,css:n.blockUI.defaults.growlCSS})};n.fn.block=function(t){if(this[0]===window)return n.blockUI(t),this;var i=n.extend({},n.blockUI.defaults,t||{});return this.each(function(){var t=n(this);i.ignoreIfBlocked&&t.data("blockUI.isBlocked")||t.unblock({fadeOut:0})}),this.each(function(){n.css(this,"position")=="static"&&(this.style.position="relative",n(this).data("blockUI.static",!0));this.style.zoom=1;o(this,t)})};n.fn.unblock=function(t){return this[0]===window?(n.unblockUI(t),this):this.each(function(){u(this,t)})};n.blockUI.version=2.59;n.blockUI.defaults={message:"<h1>Please wait...<\/h1>",title:null,draggable:!0,theme:!1,css:{padding:0,margin:0,width:"30%",top:"40%",left:"35%",textAlign:"center",color:"#000",border:"3px solid #aaa",backgroundColor:"#fff",cursor:"wait"},themedCSS:{width:"30%",top:"40%",left:"35%"},overlayCSS:{backgroundColor:"#000",opacity:.6,cursor:"wait"},cursorReset:"default",growlCSS:{width:"350px",top:"10px",left:"",right:"10px",border:"none",padding:"5px",opacity:.6,cursor:"default",color:"#fff",backgroundColor:"#000","-webkit-border-radius":"10px","-moz-border-radius":"10px","border-radius":"10px"},iframeSrc:/^https/i.test(window.location.href||"")?"javascript:false":"about:blank",forceIframe:!1,baseZ:1e3,centerX:!0,centerY:!0,allowBodyStretch:!0,bindEvents:!0,constrainTabKey:!0,fadeIn:200,fadeOut:400,timeout:0,showOverlay:!0,focusInput:!0,onBlock:null,onUnblock:null,onOverlayClick:null,quirksmodeOffsetHack:4,blockMsgClass:"blockMsg",ignoreIfBlocked:!1};t=null;i=[]}typeof define=="function"&&define.amd&&define.amd.jQuery?define(["jquery"],n):n(jQuery)}();Infrastructure=function(){return{setup:function(){setupDatePicker();setupTimePicker();setupDateFieldAutoTabbing()}}}();$(document).ready(function(){Infrastructure.setup()});abritas=function(){var t,r;this.maxCssRules=4095;window.console&&typeof console!==undefined&&window.console!=null||(window.console={log:function(){},warn:function(){},error:function(){},time:function(){},timeEnd:function(){}});t=0;r=function(){var n={},i=function(t){return n.hasOwnProperty(t)||console.error("No value for "+t),n[t]},r=function(t,i){if(n.hasOwnProperty(t)&&n[t]!==i)throw'A different value for "'+t+'" already exists';n[t]=i},u=function(){var n=/-(\w)/g,t=function(t){return t.replace("data-","").replace(n,function(n){return n.substring(1,2).toUpperCase()})};$(".hasData").each(function(){$.each($.grep(this.attributes,function(n){return n.name.substring(0,5)==="data-"}),function(n,i){r(t(i.name),i.value)})})},t=i;return t.updateData=u,t}();r.updateData();var n=Array(),u=!1,f=Array();return{data:r,dialog:{getConfirmDialogHtml:function(n,t,i,r,u,f){(i===undefined||i===null)&&(i="Yes");(r===undefined||r===null)&&(r="No");(u===undefined||u===null)&&(u="");(f===undefined||f===null)&&(f="");var e=$('<button class="btn btn-cancel" data-dismiss="modal" aria-hidden="true" tabindex="1" '+f+">"+r+'<\/button>                        <button class="btn btn-danger" tabindex="2"  aria-hidden="true" '+u+">"+i+"<\/button>");return abritas.dialog.getDialogHtml(n,t).find("div.modal-footer").empty().append(e).end()},getDialogHtml:function(n,i,r){var u,f;return t+=1,$.type(new String(""))===$.type(n)&&(n=$('<span class="modal-message">'+n+"<\/span>")),(i===undefined||i===null)&&(i=""),(r===undefined||r===null)&&(r="dialog_"+t),u="",i!=""&&(u='<div class="modal-header">                  <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×<\/button>                  <h3 id="'+r+'Label">'+i+"<\/h3>                <\/div>"),f='<div id="'+r+'" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="'+r+'Label" aria-hidden="true">                <div class="modal-dialog" role="document">               <div class="modal-content">               '+u+'               <div class="modal-body">                '+n.html()+'                <\/div>                <div class="modal-footer">                  <button class="btn btn-sm btn-primary" data-dismiss="modal">OK<\/button>                <\/div>                <\/div>                <\/div>              <\/div>',$(f)},showDialog:function(n,t,i){return(i===undefined||i===null)&&(i={}),abritas.dialog.getDialogHtml(n,t).modal(i)},showConfirmDialog:function(n,t,i,r,u,f,e,o){var s=abritas.dialog.getConfirmDialogHtml(n,r,u,f,e,o);return $("button.close, button.btn-cancel",s).click(function(n){i&&i(n)}),$("button.btn-primary, button.btn-danger",s).click(function(n){t(n)&&s.modal("hide")}),s.modal({backdrop:"static"})}},ajax:{defaultErrorHandler:function(){alert(abritas.data("defaultAjaxErrorMessage"))},isPluginCallbackResponse:function(n){return n&&n.LastUpdate&&n.Response},authToken:function(){var n=abritas.util.getAuthTokenInput();return n!=null?$(n).serializeArray():null},redirectIfRequired:function(n){var t;if(n.redirectUrl&&n.redirectUrl!=null){if(t=abritas.ajax.authToken(),t.length>0){var r=$('<input type="hidden" name=".CLAUTH" />').attr("value",t[0].value),i=$('<form action="'+n.redirectUrl+'" method="POST" />'),u=$("body");i.append(r);u.append(i);i.submit()}else setTimeout(function(){window.location.href=n.redirectUrl},1e3);return!0}return!1}},info:{isWindowUnloading:!1,setup:function(){window.onbeforeunload=function(){abritas.info.isWindowUnloading=!0}}},util:{waitFor:function(n,t,i){t()?i():window.setTimeout(function(){abritas.util.waitFor(n,t,i)},n)},updateLastUpdateValues:function(n,t){for(var r,u,f=$("#LastUpdateValues"),i=0;i<n.length;i++)r=$('[name="'+n[i]+'"]',f),u=t[i],r.length===0&&(r=$('<input type="hidden" name="'+n[i]+'" value="0" />').appendTo(f)),r.val(u)},getLastUpdateValues:function(){var n=$("#LastUpdateValues");return $("INPUT",n).serializeArray()},getAuthTokenInput:function(){return $('input[name=".CLAUTH"]:first')},isImageLoaded:function(n){return n.complete&&(typeof n.naturalWidth!="undefined"&&n.naturalWidth!=0||function(n){var t=new Image;return t.src=n.src,t.width!==0&&t.height!==0}(n))},htmlEncode:function(n){return $("<div />").text(n).html()},strings:{toProperCase:function(n){return n.replace(/\w\S*/g,function(n){return n.charAt(0).toUpperCase()+n.substr(1).toLowerCase()})}}},maps:{appendGoogleMapScript:function(){var n=document.createElement("script"),t;n.type="text/javascript";n.id="googleMapsApi";t="maps.googleapis.com/maps/api/js?key="+_gmak+"&sensor=false&callback=initialiseMapHelper";t=("https:"==document.location.protocol?"https://":"http://")+t;n.src=t;!$("#googleMapsApi").length>0&&document.getElementsByTagName("head")[0].appendChild(n)},setupMap:function(t,i){var c;if(n[t])return n[t];i===window.undefined&&(i=!0);var u,f,o=[],s=abritas.isResponsiveLayout(),r=new google.maps.LatLngBounds;u=new google.maps.Map(document.getElementById(t),{zoom:14,center:r.getCenter(),mapTypeId:google.maps.MapTypeId.ROADMAP,navigationControlOptions:{position:google.maps.ControlPosition.TOP_LEFT,style:google.maps.NavigationControlStyle.ZOOM_PAN},mapTypeControl:!s,streetViewControl:!s,zoomControl:!s,fullscreenControl:!0});f=new OverlappingMarkerSpiderfier(u,{keepSpiderfied:!0,nearbyDistance:30});var l={maxZoom:17,gridSize:18,title:$("#"+t).data("multiplepropertieshovertext")},a=new MarkerClusterer(u,o,l),e=null,h=null;return i&&(e=new google.maps.InfoWindow,c=function(n,i,r){n.metadata&&n.metadata.supportsAjax&&n.metadata.supportsAjax!==!1&&(r.close(),r.setContent('<div class="ajaxLoading"><span class="ico"><\/span>'+abritas.data("ajaxLoadingMessage")+"<\/div>"),r.open(u,n),h=callServer(GetControllerName($(location).attr("pathname"))+"/PropertyInfoWindow/"+i,null,function(i){r.setContent(i);r.open(u,n);$("#"+t+" div.tooltipContent").hide();$("#"+t+" div.tooltip").hover(function(){$(this).siblings("#"+t+" div.tooltipContent").show()},function(){$(this).siblings("#"+t+" div.tooltipContent").hide()})},function(){}))},f.addListener("click",function(n){h!=null&&h.abort();c(n,n.metadata.id,e)}),f.addListener("spiderfy",function(){e.close()})),n[t]={latlngbounds:r,oms:f,iw:e,map:u,markers:o,addMarker:function(n,t,i,e,s,h){var l=new google.maps.LatLng(t,i),c;r=r.extend(l);c=new google.maps.Marker({position:l,map:u,visible:!0,icon:s,shape:h});e?(e.id||(e.id=n),(e.supportsAjax===undefined||e.supportsAjax===null)&&(e.supportsAjax=!0)):e={id:n,supportsAjax:!0};c.metadata=e;o.push(c);f.addMarker(c)},fitToMarkers:function(){r.getNorthEast().lat()==r.getSouthWest().lat()&&r.getNorthEast().lng()==r.getSouthWest().lng()?u.setCenter(r.getCenter()):u.fitBounds(r)}},n[t]},getMapData:function(t){return n[t]||Error("No map set up for container "+t),n[t]}},captcha:{refresh:function(n){d=new Date;n.parents(".captchaControl").find("img.Captcha").attr("src","/ViewCaptcha?"+d.getTime())},setupCaptchas:function(){$(".CaptchaRefreshButton").click(function(){return abritas.captcha.refresh($(this)),!1})}},compatibility:{bootstrapModalIEFix:{applyFix:function(){$(".modal").filter(function(n,t){return!$(t).parent().is("body")}).appendTo($("body"))}},legacyIE4095SelectorsFix:{onFixApplied:function(n){u==!0?n():f.push(n)},applyFix:function(){if(abritas.compatibility.legacyIE4095SelectorsFix.fixDocument(document),window.CKEDITOR!==window.undefined)CKEDITOR.on("instanceReady",function(){$("iframe.cke_wysiwyg_frame, iframe.cke_panel_frame").each(function(n,t){$(t).data("legacyIE4095SelectorsFixApplied")||(abritas.compatibility.legacyIE4095SelectorsFix.fixDocument(t.contentDocument),$(t).data("legacyIE4095SelectorsFixApplied",!0))})});u=!0;$.each(f,function(n,t){t()})},fixDocument:function(n){if($("html.detect-browser-pre-ie10").length){var r="",t=abritas.compatibility.legacyIE4095SelectorsFix.parseStylesheet(n);if(console.log("Found "+t.cssSelectorCount+" CSS selectors in stylesheet "+t.cssStylesheetName),t.cssSelectorCount>=maxCssRules)for(i=2;i<4;i++)t.cssStylesheetName.indexOf("_part"+i.toString())>0||(console.log("Selector count exceeded the maximum for this version of IE ("+maxCssRules+")"),r=t.cssStylesheetName.indexOf(".less")>0?t.cssStylesheetName.replace(".less","_part"+i.toString()+".less"):t.cssStylesheetName.indexOf(".css")>0?t.cssStylesheetName.indexOf(".min.css")>0?t.cssStylesheetName.replace(".min.css","_part"+i.toString()+".min.css"):t.cssStylesheetName.replace(".css","_part"+i.toString()+".css"):t.cssStylesheetName.indexOf("?v=")>0?t.cssStylesheetName.replace("?v=","_part"+i.toString()+"?v="):t.cssStylesheetName+"_part"+i.toString(),console.log("Loading "+r),n.createStyleSheet&&n.createStyleSheet(r))}},parseStylesheet:function(n){var r={cssStylesheetName:"",cssRuleCount:0,cssSelectorCount:0},t=n.styleSheets,i,u,f;for(i in t)if(t[i].href!=undefined&&t[i].href!=null&&t[i].href.indexOf("/Assets/Theme")>=0)for(r.cssStylesheetName=t[i].href,u=t[i].cssRules!=undefined?t[i].cssRules:t[i].rules,r.cssRuleCount=u.length,f=0;f<u.length;f++)r.cssSelectorCount+=abritas.compatibility.legacyIE4095SelectorsFix.countCssSelectors(u[f]);return r},countCssSelectors:function(n){var t=0,i;if(n.type==4)for(t+=1,i=0;i<n.cssRules.length;i++)t+=abritas.compatibility.legacyIE4095SelectorsFix.countCssSelectors(n.cssRules[i]);else n.selectorText!=undefined&&n.selectorText!=null&&(t+=n.selectorText.split(",").length);return t}}},validation:{scrollToFirstValidationError:function(n){var u,f,t,i,r;(n===window.undefined||n===null)&&(n=$("body"));u=$("div.modal").hasClass("show");u?(f=$("div.modal.show"),t=$(".control-group",f).has(".invalidMessage:visible").first(),t&&(t.find(':INPUT[type!="hidden"]').first().focus(),$(".invalidMessage:visible").delay(200).effect("highlight","slow"))):(t=$(".control-group").has(".invalidMessage:visible").first(),t.length==0&&(t=$(".validation-summary-errors.invalidMessage:visible").first()),t.length>0&&(i=0,r=$("nav.navbar.fixed-top"),r.length>0&&(i=r.height()+10),$("html,body").animate({scrollTop:t[0].offsetTop-i},"slow",function(){t.find(':INPUT[type!="hidden"]').first().focus()}),$(".invalidMessage:visible").delay(200).effect("highlight","slow")))}},setup:{all:function(){Infrastructure.setup();setupHtmlEditor();setupInlineHelp();abritas.captcha.setupCaptchas();abritas.compatibility.bootstrapModalIEFix.applyFix(document);abritas.compatibility.legacyIE4095SelectorsFix.applyFix(document);abritas.info.setup();abritas.sessionTimeout.startTimerIfRequired();setupAttachmentLink();abritas.isResponsiveLayout()&&setUpResponsiveActionBar()}},isResponsiveLayout:function(){return $("body").hasClass("mobile-body")},isAdminLayout:function(){return $("#PageContainer").hasClass("backend")},isMobileDevice:function(){return screen.width<=1e3&&screen.height<=800},sessionTimeout:{_configuration:null,_getConfiguration:function(){if(this._configuration)return this._configuration;var n=$("#SessionTimeoutConfiguration");return n&&n.length?(this._configuration={sessionTimeout:n.data("sessiontimeoutminutes")*6e4,timeoutWarning:n.data("timeoutwarningminutes")*6e4,warningMessage:n.data("warningmessage"),expiredMessage:n.data("expiredmessage"),loginUrl:n.data("loginurl"),timeoutId:null,getDialogTimeout:function(){return this.sessionTimeout-this.timeoutWarning},replacedDialog:null,hasReplacedDialog:function(){return this.replacedDialog!==undefined&&this.replacedDialog!==null}},this._configuration):null},startTimerIfRequired:function(n){n||(n=abritas.sessionTimeout._getConfiguration());n!==null&&n.timeoutId===null&&(n.timeoutId=setTimeout(this.showConfirmation,n.getDialogTimeout()))},restartTimer:function(n){(n===undefined||n===null)&&(n=abritas.sessionTimeout._getConfiguration());n&&(clearTimeout(n.timeoutId),n.timeoutId=null,this.startTimerIfRequired(n))},stopTimer:function(n){n||(n=abritas.sessionTimeout._getConfiguration());n!==null&&n.timeoutId===null&&clearTimeout(n.timeoutId)},showConfirmation:function(){var n=abritas.sessionTimeout._getConfiguration(),i=new Date,t;return n.replacedDialog=$(".modal.fade.in:visible").first(),n.hasReplacedDialog()&&n.replacedDialog.modal("hide"),t=abritas.dialog.getDialogHtml(n.warningMessage,"Session timeout warning").modal({show:!0,backdrop:"static"}).attr("aria-live","assertive"),$("button.btn-primary, button.btn-danger, button.close, button.btn-cancel",t).click(function(){abritas.sessionTimeout.isLoggedIn(function(){abritas.sessionTimeout.restartTimer(n);t.modal("hide");n.hasReplacedDialog()&&n.replacedDialog.modal("show")},function(){t.modal("hide");var i=abritas.dialog.getDialogHtml(n.expiredMessage,"Session timed out").modal({show:!0,backdrop:"static"}).attr("aria-live","assertive");$("button.btn-primary, button.btn-danger",i).click(function(){i.modal("hide");window.location.replace(n.loginUrl)})})}),t.modal({backdrop:"static"})},isLoggedIn:function(n,t){callServerWithOptions({url:"/Session/IsLoggedIn",data:{currentUrl:window.location.href},success:function(i){i&&i.isLoggedIn==="true"?n(i):t(i)},error:function(){$("#errorModal").modal("show")}})}}}}();$(document).ready(function(){navigator.userAgent.match("MSIE 10.0;")&&$("html").addClass("ie10");$.ajaxSetup({cache:!1});abritas.setup.all();abritas.validation.scrollToFirstValidationError()});$(document).ajaxSuccess(function(n,t,i){if(abritas.setup.all(),i.type==="POST"&&(i.options===window.undefined||i.options.scrollToFirstValidationError===window.undefined||Boolean(i.options.scrollToFirstValidationError))){var r=i.options?i.options.scrollToFirstValidationErrorContext:null;abritas.validation.scrollToFirstValidationError(r)}});$(document).ajaxStart(function(){$(".ajaxLoading").show()}).ajaxStop(function(){$(".ajaxLoading").hide();$(".detect-browser-ie-legacy #PageContainer").addClass("forceiepaint").removeClass("forceiepaint")});$(".modal").on("shown",function(){$("#TempModalBodyClass").removeClass("modal-body")});$(".modal").on("hidden",function(){$(this).removeData("modal");$("#TempModalBodyClass").addClass("modal-body");$("#TempModalBodyClass").empty()});CKEDITOR_BASEPATH="/SiteAssets/Infrastructure.UI.Web/Assets/ckeditor/";$(document).on("click","a#HideCookieBannerLink",function(){callServer("/CookieBanner/HideCookieBanner",null,function(){$("#CookieBannerMessageContainer").slideUp(400,function(){$("#CookieBannerMessageContainer").remove()})})});$(document).ready(function(){typeof googleAnalyticsPropertyId!="undefined"&&googleAnalyticsPropertyId!=null&&(function(n,t,i,r,u,f,e){n.GoogleAnalyticsObject=u;n[u]=n[u]||function(){(n[u].q=n[u].q||[]).push(arguments)};n[u].l=1*new Date;f=t.createElement(i);e=t.getElementsByTagName(i)[0];f.async=1;f.src=r;e.parentNode.insertBefore(f,e)}(window,document,"script","//www.google-analytics.com/analytics.js","ga"),ga("create",googleAnalyticsPropertyId,"auto"),ga("send","pageview"))}),function(n){typeof define=="function"&&define.amd?define(["jquery","jquery-ui"],n):n(jQuery)}(function(n){var t;if(n.ui.timepicker=n.ui.timepicker||{},!n.ui.timepicker.version){n.extend(n.ui,{timepicker:{version:"1.6.3"}});t=function(){this.regional=[];this.regional[""]={currentText:"Now",closeText:"Done",amNames:["AM","A"],pmNames:["PM","P"],timeFormat:"HH:mm",timeSuffix:"",timeOnlyTitle:"Choose Time",timeText:"Time",hourText:"Hour",minuteText:"Minute",secondText:"Second",millisecText:"Millisecond",microsecText:"Microsecond",timezoneText:"Time Zone",isRTL:!1};this._defaults={showButtonPanel:!0,timeOnly:!1,timeOnlyShowDate:!1,showHour:null,showMinute:null,showSecond:null,showMillisec:null,showMicrosec:null,showTimezone:null,showTime:!0,stepHour:1,stepMinute:1,stepSecond:1,stepMillisec:1,stepMicrosec:1,hour:0,minute:0,second:0,millisec:0,microsec:0,timezone:null,hourMin:0,minuteMin:0,secondMin:0,millisecMin:0,microsecMin:0,hourMax:23,minuteMax:59,secondMax:59,millisecMax:999,microsecMax:999,minDateTime:null,maxDateTime:null,maxTime:null,minTime:null,onSelect:null,hourGrid:0,minuteGrid:0,secondGrid:0,millisecGrid:0,microsecGrid:0,alwaysSetTime:!0,separator:" ",altFieldTimeOnly:!0,altTimeFormat:null,altSeparator:null,altTimeSuffix:null,altRedirectFocus:!0,pickerTimeFormat:null,pickerTimeSuffix:null,showTimepicker:!0,timezoneList:null,addSliderAccess:!1,sliderAccessArgs:null,controlType:"slider",oneLine:!1,defaultValue:null,parse:"strict",afterInject:null};n.extend(this._defaults,this.regional[""])};n.extend(t.prototype,{$input:null,$altInput:null,$timeObj:null,inst:null,hour_slider:null,minute_slider:null,second_slider:null,millisec_slider:null,microsec_slider:null,timezone_select:null,maxTime:null,minTime:null,hour:0,minute:0,second:0,millisec:0,microsec:0,timezone:null,hourMinOriginal:null,minuteMinOriginal:null,secondMinOriginal:null,millisecMinOriginal:null,microsecMinOriginal:null,hourMaxOriginal:null,minuteMaxOriginal:null,secondMaxOriginal:null,millisecMaxOriginal:null,microsecMaxOriginal:null,ampm:"",formattedDate:"",formattedTime:"",formattedDateTime:"",timezoneList:null,units:["hour","minute","second","millisec","microsec"],support:{},control:null,setDefaults:function(n){return i(this._defaults,n||{}),this},_newInst:function(i,r){var u=new t,a={},y={},h,e,o,c,f;for(o in this._defaults)if(this._defaults.hasOwnProperty(o)&&(c=i.attr("time:"+o),c))try{a[o]=eval(c)}catch(w){a[o]=c}h={beforeShow:function(t,r){if(n.isFunction(u._defaults.evnts.beforeShow))return u._defaults.evnts.beforeShow.call(i[0],t,r,u)},onChangeMonthYear:function(t,r,f){n.isFunction(u._defaults.evnts.onChangeMonthYear)&&u._defaults.evnts.onChangeMonthYear.call(i[0],t,r,f,u)},onClose:function(t,r){u.timeDefined===!0&&i.val()!==""&&u._updateDateTime(r);n.isFunction(u._defaults.evnts.onClose)&&u._defaults.evnts.onClose.call(i[0],t,r,u)}};for(e in h)h.hasOwnProperty(e)&&(y[e]=r[e]||this._defaults[e]||null);u._defaults=n.extend({},this._defaults,a,r,h,{evnts:y,timepicker:u});u.amNames=n.map(u._defaults.amNames,function(n){return n.toUpperCase()});u.pmNames=n.map(u._defaults.pmNames,function(n){return n.toUpperCase()});u.support=s(u._defaults.timeFormat+(u._defaults.pickerTimeFormat?u._defaults.pickerTimeFormat:"")+(u._defaults.altTimeFormat?u._defaults.altTimeFormat:""));typeof u._defaults.controlType=="string"?(u._defaults.controlType==="slider"&&typeof n.ui.slider=="undefined"&&(u._defaults.controlType="select"),u.control=u._controls[u._defaults.controlType]):u.control=u._defaults.controlType;f=[-720,-660,-600,-570,-540,-480,-420,-360,-300,-270,-240,-210,-180,-120,-60,0,60,120,180,210,240,270,300,330,345,360,390,420,480,525,540,570,600,630,660,690,720,765,780,840];u._defaults.timezoneList!==null&&(f=u._defaults.timezoneList);var p=f.length,l=0,v=null;if(p>0&&typeof f[0]!="object")for(;l<p;l++)v=f[l],f[l]={value:v,label:n.timepicker.timezoneOffsetString(v,u.support.iso8601)};return u._defaults.timezoneList=f,u.timezone=u._defaults.timezone!==null?n.timepicker.timezoneOffsetNumber(u._defaults.timezone):(new Date).getTimezoneOffset()*-1,u.hour=u._defaults.hour<u._defaults.hourMin?u._defaults.hourMin:u._defaults.hour>u._defaults.hourMax?u._defaults.hourMax:u._defaults.hour,u.minute=u._defaults.minute<u._defaults.minuteMin?u._defaults.minuteMin:u._defaults.minute>u._defaults.minuteMax?u._defaults.minuteMax:u._defaults.minute,u.second=u._defaults.second<u._defaults.secondMin?u._defaults.secondMin:u._defaults.second>u._defaults.secondMax?u._defaults.secondMax:u._defaults.second,u.millisec=u._defaults.millisec<u._defaults.millisecMin?u._defaults.millisecMin:u._defaults.millisec>u._defaults.millisecMax?u._defaults.millisecMax:u._defaults.millisec,u.microsec=u._defaults.microsec<u._defaults.microsecMin?u._defaults.microsecMin:u._defaults.microsec>u._defaults.microsecMax?u._defaults.microsecMax:u._defaults.microsec,u.ampm="",u.$input=i,u._defaults.altField&&(u.$altInput=n(u._defaults.altField),u._defaults.altRedirectFocus===!0&&u.$altInput.css({cursor:"pointer"}).focus(function(){i.trigger("focus")})),(u._defaults.minDate===0||u._defaults.minDateTime===0)&&(u._defaults.minDate=new Date),(u._defaults.maxDate===0||u._defaults.maxDateTime===0)&&(u._defaults.maxDate=new Date),u._defaults.minDate!==undefined&&u._defaults.minDate instanceof Date&&(u._defaults.minDateTime=new Date(u._defaults.minDate.getTime())),u._defaults.minDateTime!==undefined&&u._defaults.minDateTime instanceof Date&&(u._defaults.minDate=new Date(u._defaults.minDateTime.getTime())),u._defaults.maxDate!==undefined&&u._defaults.maxDate instanceof Date&&(u._defaults.maxDateTime=new Date(u._defaults.maxDate.getTime())),u._defaults.maxDateTime!==undefined&&u._defaults.maxDateTime instanceof Date&&(u._defaults.maxDate=new Date(u._defaults.maxDateTime.getTime())),u.$input.bind("focus",function(){u._onFocus()}),u},_addTimePicker:function(t){var i=n.trim(this.$altInput&&this._defaults.altFieldTimeOnly?this.$input.val()+" "+this.$altInput.val():this.$input.val());this.timeDefined=this._parseTime(i);this._limitMinMaxDateTime(t,!1);this._injectTimePicker();this._afterInject()},_parseTime:function(t,i){var r,u,e;if(this.inst||(this.inst=n.datepicker._getInst(this.$input[0])),i||!this._defaults.timeOnly){r=n.datepicker._get(this.inst,"dateFormat");try{if(u=f(r,this._defaults.timeFormat,t,n.datepicker._getFormatConfig(this.inst),this._defaults),!u.timeObj)return!1;n.extend(this,u.timeObj)}catch(o){return n.timepicker.log("Error parsing the date/time string: "+o+"\ndate/time string = "+t+"\ntimeFormat = "+this._defaults.timeFormat+"\ndateFormat = "+r),!1}return!0}return(e=n.datepicker.parseTime(this._defaults.timeFormat,t,this._defaults),!e)?!1:(n.extend(this,e),!0)},_afterInject:function(){var t=this.inst.settings;n.isFunction(t.afterInject)&&t.afterInject.call(this)},_injectTimePicker:function(){var y=this.inst.dpDiv,i=this.inst.settings,r=this,t="",o="",c=null,a={},l={},p=null,s=0,w=0,h,f,b,tt,v,d,u,it,g,rt,nt,k;if(y.find("div.ui-timepicker-div").length===0&&i.showTimepicker){for(h=" ui_tpicker_unit_hide",f='<div class="ui-timepicker-div'+(i.isRTL?" ui-timepicker-rtl":"")+(i.oneLine&&i.controlType==="select"?" ui-timepicker-oneLine":"")+'"><dl><dt class="ui_tpicker_time_label'+(i.showTime?"":h)+'">'+i.timeText+'<\/dt><dd class="ui_tpicker_time '+(i.showTime?"":h)+'"><input class="ui_tpicker_time_input" '+(i.timeInput?"":"disabled")+"/><\/dd>",s=0,w=this.units.length;s<w;s++){if(t=this.units[s],o=t.substr(0,1).toUpperCase()+t.substr(1),c=i["show"+o]!==null?i["show"+o]:this.support[t],a[t]=parseInt(i[t+"Max"]-(i[t+"Max"]-i[t+"Min"])%i["step"+o],10),l[t]=0,f+='<dt class="ui_tpicker_'+t+"_label"+(c?"":h)+'">'+i[t+"Text"]+'<\/dt><dd class="ui_tpicker_'+t+(c?"":h)+'"><div class="ui_tpicker_'+t+"_slider"+(c?"":h)+'"><\/div>',c&&i[t+"Grid"]>0){if(f+='<div style="padding-left: 1px"><table class="ui-tpicker-grid-label"><tr>',t==="hour")for(b=i[t+"Min"];b<=a[t];b+=parseInt(i[t+"Grid"],10))l[t]++,tt=n.datepicker.formatTime(this.support.ampm?"hht":"HH",{hour:b},i),f+='<td data-for="'+t+'">'+tt+"<\/td>";else for(v=i[t+"Min"];v<=a[t];v+=parseInt(i[t+"Grid"],10))l[t]++,f+='<td data-for="'+t+'">'+(v<10?"0":"")+v+"<\/td>";f+="<\/tr><\/table><\/div>"}f+="<\/dd>"}for(d=i.showTimezone!==null?i.showTimezone:this.support.timezone,f+='<dt class="ui_tpicker_timezone_label'+(d?"":h)+'">'+i.timezoneText+"<\/dt>",f+='<dd class="ui_tpicker_timezone'+(d?"":h)+'"><\/dd>',f+="<\/dl><\/div>",u=n(f),i.timeOnly===!0&&(u.prepend('<div class="ui-widget-header ui-helper-clearfix ui-corner-all"><div class="ui-datepicker-title">'+i.timeOnlyTitle+"<\/div><\/div>"),y.find(".ui-datepicker-header, .ui-datepicker-calendar").hide()),s=0,w=r.units.length;s<w;s++)t=r.units[s],o=t.substr(0,1).toUpperCase()+t.substr(1),c=i["show"+o]!==null?i["show"+o]:this.support[t],r[t+"_slider"]=r.control.create(r,u.find(".ui_tpicker_"+t+"_slider"),t,r[t],i[t+"Min"],a[t],i["step"+o]),c&&i[t+"Grid"]>0&&(p=100*l[t]*i[t+"Grid"]/(a[t]-i[t+"Min"]),u.find(".ui_tpicker_"+t+" table").css({width:p+"%",marginLeft:i.isRTL?"0":p/(-2*l[t])+"%",marginRight:i.isRTL?p/(-2*l[t])+"%":"0",borderCollapse:"collapse"}).find("td").click(function(){var u=n(this),f=u.html(),i=parseInt(f.replace(/[^0-9]/g),10),e=f.replace(/[^apm]/ig),o=u.data("for");o==="hour"&&(e.indexOf("p")!==-1&&i<12?i+=12:e.indexOf("a")!==-1&&i===12&&(i=0));r.control.value(r,r[o+"_slider"],t,i);r._onTimeChange();r._onSelectHandler()}).css({cursor:"pointer",width:100/l[t]+"%",textAlign:"center",overflow:"hidden"}));this.timezone_select=u.find(".ui_tpicker_timezone").append("<select><\/select>").find("select");n.fn.append.apply(this.timezone_select,n.map(i.timezoneList,function(t){return n("<option />").val(typeof t=="object"?t.value:t).text(typeof t=="object"?t.label:t)}));typeof this.timezone!="undefined"&&this.timezone!==null&&this.timezone!==""?(it=new Date(this.inst.selectedYear,this.inst.selectedMonth,this.inst.selectedDay,12).getTimezoneOffset()*-1,it===this.timezone?e(r):this.timezone_select.val(this.timezone)):typeof this.hour!="undefined"&&this.hour!==null&&this.hour!==""?this.timezone_select.val(i.timezone):e(r);this.timezone_select.change(function(){r._onTimeChange();r._onSelectHandler();r._afterInject()});g=y.find(".ui-datepicker-buttonpane");g.length?g.before(u):y.append(u);this.$timeObj=u.find(".ui_tpicker_time_input");this.$timeObj.change(function(){var u=r.inst.settings.timeFormat,t=n.datepicker.parseTime(u,this.value),i=new Date;t?(i.setHours(t.hour),i.setMinutes(t.minute),i.setSeconds(t.second),n.datepicker._setTime(r.inst,i)):(this.value=r.formattedTime,this.blur())});this.inst!==null&&(rt=this.timeDefined,this._onTimeChange(),this.timeDefined=rt);this._defaults.addSliderAccess&&(nt=this._defaults.sliderAccessArgs,k=this._defaults.isRTL,nt.isRTL=k,setTimeout(function(){if(u.find(".ui-slider-access").length===0){u.find(".ui-slider:visible").sliderAccess(nt);var t=u.find(".ui-slider-access:eq(0)").outerWidth(!0);t&&u.find("table:visible").each(function(){var i=n(this),r=i.outerWidth(),e=i.css(k?"marginRight":"marginLeft").toString().replace("%",""),u=r-t,o=e*u/r+"%",f={width:u,marginRight:0,marginLeft:0};f[k?"marginRight":"marginLeft"]=o;i.css(f)})}},10));r._limitMinMaxDateTime(this.inst,!0)}},_limitMinMaxDateTime:function(t,i){var f=this._defaults,s=new Date(t.selectedYear,t.selectedMonth,t.selectedDay),e,h,o,c,r,u;if(this._defaults.showTimepicker&&(n.datepicker._get(t,"minDateTime")!==null&&n.datepicker._get(t,"minDateTime")!==undefined&&s&&(e=n.datepicker._get(t,"minDateTime"),h=new Date(e.getFullYear(),e.getMonth(),e.getDate(),0,0,0,0),(this.hourMinOriginal===null||this.minuteMinOriginal===null||this.secondMinOriginal===null||this.millisecMinOriginal===null||this.microsecMinOriginal===null)&&(this.hourMinOriginal=f.hourMin,this.minuteMinOriginal=f.minuteMin,this.secondMinOriginal=f.secondMin,this.millisecMinOriginal=f.millisecMin,this.microsecMinOriginal=f.microsecMin),t.settings.timeOnly||h.getTime()===s.getTime()?(this._defaults.hourMin=e.getHours(),this.hour<=this._defaults.hourMin?(this.hour=this._defaults.hourMin,this._defaults.minuteMin=e.getMinutes(),this.minute<=this._defaults.minuteMin?(this.minute=this._defaults.minuteMin,this._defaults.secondMin=e.getSeconds(),this.second<=this._defaults.secondMin?(this.second=this._defaults.secondMin,this._defaults.millisecMin=e.getMilliseconds(),this.millisec<=this._defaults.millisecMin?(this.millisec=this._defaults.millisecMin,this._defaults.microsecMin=e.getMicroseconds()):(this.microsec<this._defaults.microsecMin&&(this.microsec=this._defaults.microsecMin),this._defaults.microsecMin=this.microsecMinOriginal)):(this._defaults.millisecMin=this.millisecMinOriginal,this._defaults.microsecMin=this.microsecMinOriginal)):(this._defaults.secondMin=this.secondMinOriginal,this._defaults.millisecMin=this.millisecMinOriginal,this._defaults.microsecMin=this.microsecMinOriginal)):(this._defaults.minuteMin=this.minuteMinOriginal,this._defaults.secondMin=this.secondMinOriginal,this._defaults.millisecMin=this.millisecMinOriginal,this._defaults.microsecMin=this.microsecMinOriginal)):(this._defaults.hourMin=this.hourMinOriginal,this._defaults.minuteMin=this.minuteMinOriginal,this._defaults.secondMin=this.secondMinOriginal,this._defaults.millisecMin=this.millisecMinOriginal,this._defaults.microsecMin=this.microsecMinOriginal)),n.datepicker._get(t,"maxDateTime")!==null&&n.datepicker._get(t,"maxDateTime")!==undefined&&s&&(o=n.datepicker._get(t,"maxDateTime"),c=new Date(o.getFullYear(),o.getMonth(),o.getDate(),0,0,0,0),(this.hourMaxOriginal===null||this.minuteMaxOriginal===null||this.secondMaxOriginal===null||this.millisecMaxOriginal===null)&&(this.hourMaxOriginal=f.hourMax,this.minuteMaxOriginal=f.minuteMax,this.secondMaxOriginal=f.secondMax,this.millisecMaxOriginal=f.millisecMax,this.microsecMaxOriginal=f.microsecMax),t.settings.timeOnly||c.getTime()===s.getTime()?(this._defaults.hourMax=o.getHours(),this.hour>=this._defaults.hourMax?(this.hour=this._defaults.hourMax,this._defaults.minuteMax=o.getMinutes(),this.minute>=this._defaults.minuteMax?(this.minute=this._defaults.minuteMax,this._defaults.secondMax=o.getSeconds(),this.second>=this._defaults.secondMax?(this.second=this._defaults.secondMax,this._defaults.millisecMax=o.getMilliseconds(),this.millisec>=this._defaults.millisecMax?(this.millisec=this._defaults.millisecMax,this._defaults.microsecMax=o.getMicroseconds()):(this.microsec>this._defaults.microsecMax&&(this.microsec=this._defaults.microsecMax),this._defaults.microsecMax=this.microsecMaxOriginal)):(this._defaults.millisecMax=this.millisecMaxOriginal,this._defaults.microsecMax=this.microsecMaxOriginal)):(this._defaults.secondMax=this.secondMaxOriginal,this._defaults.millisecMax=this.millisecMaxOriginal,this._defaults.microsecMax=this.microsecMaxOriginal)):(this._defaults.minuteMax=this.minuteMaxOriginal,this._defaults.secondMax=this.secondMaxOriginal,this._defaults.millisecMax=this.millisecMaxOriginal,this._defaults.microsecMax=this.microsecMaxOriginal)):(this._defaults.hourMax=this.hourMaxOriginal,this._defaults.minuteMax=this.minuteMaxOriginal,this._defaults.secondMax=this.secondMaxOriginal,this._defaults.millisecMax=this.millisecMaxOriginal,this._defaults.microsecMax=this.microsecMaxOriginal)),t.settings.minTime!==null&&(r=new Date("01/01/1970 "+t.settings.minTime),this.hour<r.getHours()?(this.hour=this._defaults.hourMin=r.getHours(),this.minute=this._defaults.minuteMin=r.getMinutes()):this.hour===r.getHours()&&this.minute<r.getMinutes()?this.minute=this._defaults.minuteMin=r.getMinutes():this._defaults.hourMin<r.getHours()?(this._defaults.hourMin=r.getHours(),this._defaults.minuteMin=r.getMinutes()):this._defaults.minuteMin=this._defaults.hourMin===r.getHours()===this.hour&&this._defaults.minuteMin<r.getMinutes()?r.getMinutes():0),t.settings.maxTime!==null&&(u=new Date("01/01/1970 "+t.settings.maxTime),this.hour>u.getHours()?(this.hour=this._defaults.hourMax=u.getHours(),this.minute=this._defaults.minuteMax=u.getMinutes()):this.hour===u.getHours()&&this.minute>u.getMinutes()?this.minute=this._defaults.minuteMax=u.getMinutes():this._defaults.hourMax>u.getHours()?(this._defaults.hourMax=u.getHours(),this._defaults.minuteMax=u.getMinutes()):this._defaults.minuteMax=this._defaults.hourMax===u.getHours()===this.hour&&this._defaults.minuteMax>u.getMinutes()?u.getMinutes():59),i!==undefined&&i===!0)){var l=parseInt(this._defaults.hourMax-(this._defaults.hourMax-this._defaults.hourMin)%this._defaults.stepHour,10),a=parseInt(this._defaults.minuteMax-(this._defaults.minuteMax-this._defaults.minuteMin)%this._defaults.stepMinute,10),v=parseInt(this._defaults.secondMax-(this._defaults.secondMax-this._defaults.secondMin)%this._defaults.stepSecond,10),y=parseInt(this._defaults.millisecMax-(this._defaults.millisecMax-this._defaults.millisecMin)%this._defaults.stepMillisec,10),p=parseInt(this._defaults.microsecMax-(this._defaults.microsecMax-this._defaults.microsecMin)%this._defaults.stepMicrosec,10);this.hour_slider&&(this.control.options(this,this.hour_slider,"hour",{min:this._defaults.hourMin,max:l,step:this._defaults.stepHour}),this.control.value(this,this.hour_slider,"hour",this.hour-this.hour%this._defaults.stepHour));this.minute_slider&&(this.control.options(this,this.minute_slider,"minute",{min:this._defaults.minuteMin,max:a,step:this._defaults.stepMinute}),this.control.value(this,this.minute_slider,"minute",this.minute-this.minute%this._defaults.stepMinute));this.second_slider&&(this.control.options(this,this.second_slider,"second",{min:this._defaults.secondMin,max:v,step:this._defaults.stepSecond}),this.control.value(this,this.second_slider,"second",this.second-this.second%this._defaults.stepSecond));this.millisec_slider&&(this.control.options(this,this.millisec_slider,"millisec",{min:this._defaults.millisecMin,max:y,step:this._defaults.stepMillisec}),this.control.value(this,this.millisec_slider,"millisec",this.millisec-this.millisec%this._defaults.stepMillisec));this.microsec_slider&&(this.control.options(this,this.microsec_slider,"microsec",{min:this._defaults.microsecMin,max:p,step:this._defaults.stepMicrosec}),this.control.value(this,this.microsec_slider,"microsec",this.microsec-this.microsec%this._defaults.stepMicrosec))}},_onTimeChange:function(){var h,s,c,l;if(this._defaults.showTimepicker){var t=this.hour_slider?this.control.value(this,this.hour_slider,"hour"):!1,r=this.minute_slider?this.control.value(this,this.minute_slider,"minute"):!1,u=this.second_slider?this.control.value(this,this.second_slider,"second"):!1,f=this.millisec_slider?this.control.value(this,this.millisec_slider,"millisec"):!1,e=this.microsec_slider?this.control.value(this,this.microsec_slider,"microsec"):!1,o=this.timezone_select?this.timezone_select.val():!1,i=this._defaults,a=i.pickerTimeFormat||i.timeFormat,v=i.pickerTimeSuffix||i.timeSuffix;typeof t=="object"&&(t=!1);typeof r=="object"&&(r=!1);typeof u=="object"&&(u=!1);typeof f=="object"&&(f=!1);typeof e=="object"&&(e=!1);typeof o=="object"&&(o=!1);t!==!1&&(t=parseInt(t,10));r!==!1&&(r=parseInt(r,10));u!==!1&&(u=parseInt(u,10));f!==!1&&(f=parseInt(f,10));e!==!1&&(e=parseInt(e,10));o!==!1&&(o=o.toString());h=i[t<12?"amNames":"pmNames"][0];s=t!==parseInt(this.hour,10)||r!==parseInt(this.minute,10)||u!==parseInt(this.second,10)||f!==parseInt(this.millisec,10)||e!==parseInt(this.microsec,10)||this.ampm.length>0&&t<12!=(n.inArray(this.ampm.toUpperCase(),this.amNames)!==-1)||this.timezone!==null&&o!==this.timezone.toString();s&&(t!==!1&&(this.hour=t),r!==!1&&(this.minute=r),u!==!1&&(this.second=u),f!==!1&&(this.millisec=f),e!==!1&&(this.microsec=e),o!==!1&&(this.timezone=o),this.inst||(this.inst=n.datepicker._getInst(this.$input[0])),this._limitMinMaxDateTime(this.inst,!0));this.support.ampm&&(this.ampm=h);this.formattedTime=n.datepicker.formatTime(i.timeFormat,this,i);this.$timeObj&&(a===i.timeFormat?this.$timeObj.val(this.formattedTime+v):this.$timeObj.val(n.datepicker.formatTime(a,this,i)+v),this.$timeObj[0].setSelectionRange&&(c=this.$timeObj[0].selectionStart,l=this.$timeObj[0].selectionEnd,this.$timeObj[0].setSelectionRange(c,l)));this.timeDefined=!0;s&&this._updateDateTime()}},_onSelectHandler:function(){var n=this._defaults.onSelect||this.inst.settings.onSelect,t=this.$input?this.$input[0]:null;n&&t&&n.apply(t,[this.formattedDateTime,this])},_updateDateTime:function(t){var i;t=this.inst||t;var o=t.currentYear>0?new Date(t.currentYear,t.currentMonth,t.currentDay):new Date(t.selectedYear,t.selectedMonth,t.selectedDay),r=n.datepicker._daylightSavingAdjust(o),s=n.datepicker._get(t,"dateFormat"),f=n.datepicker._getFormatConfig(t),h=r!==null&&this.timeDefined;if(this.formattedDate=n.datepicker.formatDate(s,r===null?new Date:r,f),i=this.formattedDate,t.lastVal===""&&(t.currentYear=t.selectedYear,t.currentMonth=t.selectedMonth,t.currentDay=t.selectedDay),this._defaults.timeOnly===!0&&this._defaults.timeOnlyShowDate===!1?i=this.formattedTime:(this._defaults.timeOnly!==!0&&(this._defaults.alwaysSetTime||h)||this._defaults.timeOnly===!0&&this._defaults.timeOnlyShowDate===!0)&&(i+=this._defaults.separator+this.formattedTime+this._defaults.timeSuffix),this.formattedDateTime=i,this._defaults.showTimepicker)if(this.$altInput&&this._defaults.timeOnly===!1&&this._defaults.altFieldTimeOnly===!0)this.$altInput.val(this.formattedTime),this.$input.val(this.formattedDate);else if(this.$altInput){this.$input.val(i);var u="",c=this._defaults.altSeparator!==null?this._defaults.altSeparator:this._defaults.separator,e=this._defaults.altTimeSuffix!==null?this._defaults.altTimeSuffix:this._defaults.timeSuffix;this._defaults.timeOnly||(u=this._defaults.altFormat?n.datepicker.formatDate(this._defaults.altFormat,r===null?new Date:r,f):this.formattedDate,u&&(u+=c));u+=this._defaults.altTimeFormat!==null?n.datepicker.formatTime(this._defaults.altTimeFormat,this,this._defaults)+e:this.formattedTime+e;this.$altInput.val(u)}else this.$input.val(i);else this.$input.val(this.formattedDate);this.$input.trigger("change")},_onFocus:function(){if(!this.$input.val()&&this._defaults.defaultValue){this.$input.val(this._defaults.defaultValue);var t=n.datepicker._getInst(this.$input.get(0)),i=n.datepicker._get(t,"timepicker");if(i&&i._defaults.timeOnly&&t.input.val()!==t.lastVal)try{n.datepicker._updateDatepicker(t)}catch(r){n.timepicker.log(r)}}},_controls:{slider:{create:function(t,i,r,u,f,e,o){var s=t._defaults.isRTL;return i.prop("slide",null).slider({orientation:"horizontal",value:s?u*-1:u,min:s?e*-1:f,max:s?f*-1:e,step:o,slide:function(i,u){t.control.value(t,n(this),r,s?u.value*-1:u.value);t._onTimeChange()},stop:function(){t._onSelectHandler()}})},options:function(n,t,i,r,u){if(n._defaults.isRTL){if(typeof r=="string")return r==="min"||r==="max"?u!==undefined?t.slider(r,u*-1):Math.abs(t.slider(r)):t.slider(r);var f=r.min,e=r.max;return r.min=r.max=null,f!==undefined&&(r.max=f*-1),e!==undefined&&(r.min=e*-1),t.slider(r)}return typeof r=="string"&&u!==undefined?t.slider(r,u):t.slider(r)},value:function(n,t,i,r){return n._defaults.isRTL?r!==undefined?t.slider("value",r*-1):Math.abs(t.slider("value")):r!==undefined?t.slider("value",r):t.slider("value")}},select:{create:function(t,i,r,u,f,e,o){for(var h='<select class="ui-timepicker-select ui-state-default ui-corner-all" data-unit="'+r+'" data-min="'+f+'" data-max="'+e+'" data-step="'+o+'">',c=t._defaults.pickerTimeFormat||t._defaults.timeFormat,s=f;s<=e;s+=o)h+='<option value="'+s+'"'+(s===u?" selected":"")+">",h+=r==="hour"?n.datepicker.formatTime(n.trim(c.replace(/[^ht ]/ig,"")),{hour:s},t._defaults):r==="millisec"||r==="microsec"||s>=10?s:"0"+s.toString(),h+="<\/option>";return h+="<\/select>",i.children("select").remove(),n(h).appendTo(i).change(function(){t._onTimeChange();t._onSelectHandler();t._afterInject()}),i},options:function(n,t,i,r,u){var f={},e=t.children("select");if(typeof r=="string"){if(u===undefined)return e.data(r);f[r]=u}else f=r;return n.control.create(n,t,e.data("unit"),e.val(),f.min>=0?f.min:e.data("min"),f.max||e.data("max"),f.step||e.data("step"))},value:function(n,t,i,r){var u=t.children("select");return r!==undefined?u.val(r):u.val()}}}});n.fn.extend({timepicker:function(t){t=t||{};var i=Array.prototype.slice.call(arguments);return typeof t=="object"&&(i[0]=n.extend(t,{timeOnly:!0})),n(this).each(function(){n.fn.datetimepicker.apply(n(this),i)})},datetimepicker:function(t){t=t||{};var i=arguments;return typeof t=="string"?t==="getDate"||t==="option"&&i.length===2&&typeof i[1]=="string"?n.fn.datepicker.apply(n(this[0]),i):this.each(function(){var t=n(this);t.datepicker.apply(t,i)}):this.each(function(){var i=n(this);i.datepicker(n.timepicker._newInst(i,t)._defaults)})}});n.datepicker.parseDateTime=function(n,t,i,r,u){var o=f(n,t,i,r,u),e;return o.timeObj&&(e=o.timeObj,o.date.setHours(e.hour,e.minute,e.second,e.millisec),o.date.setMicroseconds(e.microsec)),o.date};n.datepicker.parseTime=function(t,r,u){var f=i(i({},n.timepicker._defaults),u||{}),s=t.replace(/\'.*?\'/g,"").indexOf("Z")!==-1,e=function(t,i,r){var s=function(t,i){var r=[];return t&&n.merge(r,t),i&&n.merge(r,i),r=n.map(r,function(n){return n.replace(/[.*+?|()\[\]{}\\]/g,"\\$&")}),"("+r.join("|")+")?"},h=function(n){var i=n.toLowerCase().match(/(h{1,2}|m{1,2}|s{1,2}|l{1}|c{1}|t{1,2}|z|'.*?')/g),r={h:-1,m:-1,s:-1,l:-1,c:-1,t:-1,z:-1},t;if(i)for(t=0;t<i.length;t++)r[i[t].toString().charAt(0)]===-1&&(r[i[t].toString().charAt(0)]=t+1);return r},c="^"+t.toString().replace(/([hH]{1,2}|mm?|ss?|[tT]{1,2}|[zZ]|[lc]|'.*?')/g,function(n){var t=n.length;switch(n.charAt(0).toLowerCase()){case"h":return t===1?"(\\d?\\d)":"(\\d{"+t+"})";case"m":return t===1?"(\\d?\\d)":"(\\d{"+t+"})";case"s":return t===1?"(\\d?\\d)":"(\\d{"+t+"})";case"l":return"(\\d?\\d?\\d)";case"c":return"(\\d?\\d?\\d)";case"z":return"(z|[-+]\\d\\d:?\\d\\d|\\S+)?";case"t":return s(r.amNames,r.pmNames);default:return"("+n.replace(/\'/g,"").replace(/(\.|\$|\^|\\|\/|\(|\)|\[|\]|\?|\+|\*)/g,function(n){return"\\"+n})+")?"}}).replace(/\s/g,"\\s?")+r.timeSuffix+"$",u=h(t),o="",f,e;return(f=i.match(new RegExp(c,"i")),e={hour:0,minute:0,second:0,millisec:0,microsec:0},f)?(u.t!==-1&&(f[u.t]===undefined||f[u.t].length===0?(o="",e.ampm=""):(o=n.inArray(f[u.t].toUpperCase(),n.map(r.amNames,function(n){return n.toUpperCase()}))!==-1?"AM":"PM",e.ampm=r[o==="AM"?"amNames":"pmNames"][0])),u.h!==-1&&(e.hour=o==="AM"&&f[u.h]==="12"?0:o==="PM"&&f[u.h]!=="12"?parseInt(f[u.h],10)+12:Number(f[u.h])),u.m!==-1&&(e.minute=Number(f[u.m])),u.s!==-1&&(e.second=Number(f[u.s])),u.l!==-1&&(e.millisec=Number(f[u.l])),u.c!==-1&&(e.microsec=Number(f[u.c])),u.z!==-1&&f[u.z]!==undefined&&(e.timezone=n.timepicker.timezoneOffsetNumber(f[u.z])),e):!1},o=function(t,i,r){try{var u=new Date("2012-01-01 "+i);if(isNaN(u.getTime())&&(u=new Date("2012-01-01T"+i),isNaN(u.getTime())&&(u=new Date("01/01/2012 "+i),isNaN(u.getTime()))))throw"Unable to parse time with native Date: "+i;return{hour:u.getHours(),minute:u.getMinutes(),second:u.getSeconds(),millisec:u.getMilliseconds(),microsec:u.getMicroseconds(),timezone:u.getTimezoneOffset()*-1}}catch(f){try{return e(t,i,r)}catch(o){n.timepicker.log("Unable to parse \ntimeString: "+i+"\ntimeFormat: "+t)}}return!1};return typeof f.parse=="function"?f.parse(t,r,f):f.parse==="loose"?o(t,r,f):e(t,r,f)};n.datepicker.formatTime=function(t,i,u){u=u||{};u=n.extend({},n.timepicker._defaults,u);i=n.extend({hour:0,minute:0,second:0,millisec:0,microsec:0,timezone:null},i);var o=t,f=u.amNames[0],e=parseInt(i.hour,10);return e>11&&(f=u.pmNames[0]),o.replace(/(?:HH?|hh?|mm?|ss?|[tT]{1,2}|[zZ]|[lc]|'.*?')/g,function(t){switch(t){case"HH":return("0"+e).slice(-2);case"H":return e;case"hh":return("0"+r(e)).slice(-2);case"h":return r(e);case"mm":return("0"+i.minute).slice(-2);case"m":return i.minute;case"ss":return("0"+i.second).slice(-2);case"s":return i.second;case"l":return("00"+i.millisec).slice(-3);case"c":return("00"+i.microsec).slice(-3);case"z":return n.timepicker.timezoneOffsetString(i.timezone===null?u.timezone:i.timezone,!1);case"Z":return n.timepicker.timezoneOffsetString(i.timezone===null?u.timezone:i.timezone,!0);case"T":return f.charAt(0).toUpperCase();case"TT":return f.toUpperCase();case"t":return f.charAt(0).toLowerCase();case"tt":return f.toLowerCase();default:return t.replace(/'/g,"")}})};n.datepicker._base_selectDate=n.datepicker._selectDate;n.datepicker._selectDate=function(t,i){var r=this._getInst(n(t)[0]),u=this._get(r,"timepicker"),f;u&&r.settings.showTimepicker?(u._limitMinMaxDateTime(r,!0),f=r.inline,r.inline=r.stay_open=!0,this._base_selectDate(t,i),r.inline=f,r.stay_open=!1,this._notifyChange(r),this._updateDatepicker(r)):this._base_selectDate(t,i)};n.datepicker._base_updateDatepicker=n.datepicker._updateDatepicker;n.datepicker._updateDatepicker=function(t){var r=t.input[0],i;n.datepicker._curInst&&n.datepicker._curInst!==t&&n.datepicker._datepickerShowing&&n.datepicker._lastInput!==r||(typeof t.stay_open!="boolean"||t.stay_open===!1)&&(this._base_updateDatepicker(t),i=this._get(t,"timepicker"),i&&i._addTimePicker(t))};n.datepicker._base_doKeyPress=n.datepicker._doKeyPress;n.datepicker._doKeyPress=function(t){var u=n.datepicker._getInst(t.target),i=n.datepicker._get(u,"timepicker");if(i&&n.datepicker._get(u,"constrainInput")){var r=i.support.ampm,o=i._defaults.showTimezone!==null?i._defaults.showTimezone:i.support.timezone,f=n.datepicker._possibleChars(n.datepicker._get(u,"dateFormat")),s=i._defaults.timeFormat.toString().replace(/[hms]/g,"").replace(/TT/g,r?"APM":"").replace(/Tt/g,r?"AaPpMm":"").replace(/tT/g,r?"AaPpMm":"").replace(/T/g,r?"AP":"").replace(/tt/g,r?"apm":"").replace(/t/g,r?"ap":"")+" "+i._defaults.separator+i._defaults.timeSuffix+(o?i._defaults.timezoneList.join(""):"")+i._defaults.amNames.join("")+i._defaults.pmNames.join("")+f,e=String.fromCharCode(t.charCode===undefined?t.keyCode:t.charCode);return t.ctrlKey||e<" "||!f||s.indexOf(e)>-1}return n.datepicker._base_doKeyPress(t)};n.datepicker._base_updateAlternate=n.datepicker._updateAlternate;n.datepicker._updateAlternate=function(t){var i=this._get(t,"timepicker"),u;if(i){if(u=i._defaults.altField,u){var c=i._defaults.altFormat||i._defaults.dateFormat,f=this._getDate(t),o=n.datepicker._getFormatConfig(t),r="",e=i._defaults.altSeparator?i._defaults.altSeparator:i._defaults.separator,s=i._defaults.altTimeSuffix?i._defaults.altTimeSuffix:i._defaults.timeSuffix,h=i._defaults.altTimeFormat!==null?i._defaults.altTimeFormat:i._defaults.timeFormat;r+=n.datepicker.formatTime(h,i,i._defaults)+s;i._defaults.timeOnly||i._defaults.altFieldTimeOnly||f===null||(r=i._defaults.altFormat?n.datepicker.formatDate(i._defaults.altFormat,f,o)+e+r:i.formattedDate+e+r);n(u).val(t.input.val()?r:"")}}else n.datepicker._base_updateAlternate(t)};n.datepicker._base_doKeyUp=n.datepicker._doKeyUp;n.datepicker._doKeyUp=function(t){var i=n.datepicker._getInst(t.target),r=n.datepicker._get(i,"timepicker");if(r&&r._defaults.timeOnly&&i.input.val()!==i.lastVal)try{n.datepicker._updateDatepicker(i)}catch(u){n.timepicker.log(u)}return n.datepicker._base_doKeyUp(t)};n.datepicker._base_gotoToday=n.datepicker._gotoToday;n.datepicker._gotoToday=function(t){var u=this._getInst(n(t)[0]),r,f,i;(this._base_gotoToday(t),r=this._get(u,"timepicker"),r)&&(f=n.timepicker.timezoneOffsetNumber(r.timezone),i=new Date,i.setMinutes(i.getMinutes()+i.getTimezoneOffset()+parseInt(f,10)),this._setTime(u,i),this._setDate(u,i),r._onSelectHandler())};n.datepicker._disableTimepickerDatepicker=function(t){var i=this._getInst(t),r;i&&(r=this._get(i,"timepicker"),n(t).datepicker("getDate"),r&&(i.settings.showTimepicker=!1,r._defaults.showTimepicker=!1,r._updateDateTime(i)))};n.datepicker._enableTimepickerDatepicker=function(t){var i=this._getInst(t),r;i&&(r=this._get(i,"timepicker"),n(t).datepicker("getDate"),r&&(i.settings.showTimepicker=!0,r._defaults.showTimepicker=!0,r._addTimePicker(i),r._updateDateTime(i)))};n.datepicker._setTime=function(n,t){var i=this._get(n,"timepicker"),r;i&&(r=i._defaults,i.hour=t?t.getHours():r.hour,i.minute=t?t.getMinutes():r.minute,i.second=t?t.getSeconds():r.second,i.millisec=t?t.getMilliseconds():r.millisec,i.microsec=t?t.getMicroseconds():r.microsec,i._limitMinMaxDateTime(n,!0),i._onTimeChange(),i._updateDateTime(n))};n.datepicker._setTimeDatepicker=function(n,t,i){var f=this._getInst(n),r,u;f&&(r=this._get(f,"timepicker"),r&&(this._setDateFromField(f),t&&(typeof t=="string"?(r._parseTime(t,i),u=new Date,u.setHours(r.hour,r.minute,r.second,r.millisec),u.setMicroseconds(r.microsec)):(u=new Date(t.getTime()),u.setMicroseconds(t.getMicroseconds())),u.toString()==="Invalid Date"&&(u=undefined),this._setTime(f,u))))};n.datepicker._base_setDateDatepicker=n.datepicker._setDateDatepicker;n.datepicker._setDateDatepicker=function(t,i){var e=this._getInst(t),r=i,f,u;e&&(typeof i=="string"&&(r=new Date(i),r.getTime()||(this._base_setDateDatepicker.apply(this,arguments),r=n(t).datepicker("getDate"))),f=this._get(e,"timepicker"),r instanceof Date?(u=new Date(r.getTime()),u.setMicroseconds(r.getMicroseconds())):u=r,f&&u&&(f.support.timezone||f._defaults.timezone!==null||(f.timezone=u.getTimezoneOffset()*-1),r=n.timepicker.timezoneAdjust(r,n.timepicker.timezoneOffsetString(-r.getTimezoneOffset()),f.timezone),u=n.timepicker.timezoneAdjust(u,n.timepicker.timezoneOffsetString(-u.getTimezoneOffset()),f.timezone)),this._updateDatepicker(e),this._base_setDateDatepicker.apply(this,arguments),this._setTimeDatepicker(t,u,!0))};n.datepicker._base_getDateDatepicker=n.datepicker._getDateDatepicker;n.datepicker._getDateDatepicker=function(t,i){var f=this._getInst(t),r,u,e;if(f)return(r=this._get(f,"timepicker"),r)?(f.lastVal===undefined&&this._setDateFromField(f,i),u=this._getDate(f),e=null,e=r.$altInput&&r._defaults.altFieldTimeOnly?r.$input.val()+" "+r.$altInput.val():r.$input.get(0).tagName!=="INPUT"&&r.$altInput?r.$altInput.val():r.$input.val(),u&&r._parseTime(e,!f.settings.timeOnly)&&(u.setHours(r.hour,r.minute,r.second,r.millisec),u.setMicroseconds(r.microsec),r.timezone!=null&&(r.support.timezone||r._defaults.timezone!==null||(r.timezone=u.getTimezoneOffset()*-1),u=n.timepicker.timezoneAdjust(u,r.timezone,n.timepicker.timezoneOffsetString(-u.getTimezoneOffset())))),u):this._base_getDateDatepicker(t,i)};n.datepicker._base_parseDate=n.datepicker.parseDate;n.datepicker.parseDate=function(t,i,r){var f;try{f=this._base_parseDate(t,i,r)}catch(u){if(u.indexOf(":")>=0)f=this._base_parseDate(t,i.substring(0,i.length-(u.length-u.indexOf(":")-2)),r),n.timepicker.log("Error parsing the date string: "+u+"\ndate string = "+i+"\ndate format = "+t);else throw u;}return f};n.datepicker._base_formatDate=n.datepicker._formatDate;n.datepicker._formatDate=function(n){var t=this._get(n,"timepicker");return t?(t._updateDateTime(n),t.$input.val()):this._base_formatDate(n)};n.datepicker._base_optionDatepicker=n.datepicker._optionDatepicker;n.datepicker._optionDatepicker=function(t,i,r){var y=this._getInst(t),s,h;if(!y)return null;if(h=this._get(y,"timepicker"),h){var u=null,f=null,a=null,c=h._defaults.evnts,l={},e,p,w,v;if(typeof i=="string"){if(i==="minDate"||i==="minDateTime")u=r;else if(i==="maxDate"||i==="maxDateTime")f=r;else if(i==="onSelect")a=r;else if(c.hasOwnProperty(i)){if(typeof r=="undefined")return c[i];l[i]=r;s={}}}else if(typeof i=="object"){i.minDate?u=i.minDate:i.minDateTime?u=i.minDateTime:i.maxDate?f=i.maxDate:i.maxDateTime&&(f=i.maxDateTime);for(e in c)c.hasOwnProperty(e)&&i[e]&&(l[e]=i[e])}for(e in l)l.hasOwnProperty(e)&&(c[e]=l[e],s||(s=n.extend({},i)),delete s[e]);if(s&&o(s))return;if(u?(u=u===0?new Date:new Date(u),h._defaults.minDate=u,h._defaults.minDateTime=u):f?(f=f===0?new Date:new Date(f),h._defaults.maxDate=f,h._defaults.maxDateTime=f):a&&(h._defaults.onSelect=a),u||f)return v=n(t),w=v.datetimepicker("getDate"),p=this._base_optionDatepicker.call(n.datepicker,t,s||i,r),v.datetimepicker("setDate",w),p}return r===undefined?this._base_optionDatepicker.call(n.datepicker,t,i):this._base_optionDatepicker.call(n.datepicker,t,s||i,r)};var o=function(n){for(var t in n)if(n.hasOwnProperty(t))return!1;return!0},i=function(t,i){n.extend(t,i);for(var r in i)(i[r]===null||i[r]===undefined)&&(t[r]=i[r]);return t},s=function(n){var i=n.replace(/'.*?'/g,"").toLowerCase(),t=function(n,t){return n.indexOf(t)!==-1?!0:!1};return{hour:t(i,"h"),minute:t(i,"m"),second:t(i,"s"),millisec:t(i,"l"),microsec:t(i,"c"),timezone:t(i,"z"),ampm:t(i,"t")&&t(n,"h"),iso8601:t(n,"Z")}},r=function(n){return n%=12,n===0&&(n=12),String(n)},u=function(t,i){return t&&t[i]?t[i]:n.timepicker._defaults[i]},h=function(n,t){var i=u(t,"separator"),o=u(t,"timeFormat"),s=o.split(i),f=s.length,r=n.split(i),e=r.length;return e>1?{dateString:r.splice(0,e-f).join(i),timeString:r.splice(0,f).join(i)}:{dateString:n,timeString:""}},f=function(t,i,r,u,f){var o,e,s;if(e=h(r,f),o=n.datepicker._base_parseDate(t,e.dateString,u),e.timeString==="")return{date:o};if(s=n.datepicker.parseTime(i,e.timeString,f),!s)throw"Wrong time format";return{date:o,timeObj:s}},e=function(n,t){if(n&&n.timezone_select){var i=t||new Date;n.timezone_select.val(-i.getTimezoneOffset())}};n.timepicker=new t;n.timepicker.timezoneOffsetString=function(n,t){if(isNaN(n)||n>840||n<-720)return n;var i=n,r=i%60,f=(i-r)/60,e=t?":":"",u=(i>=0?"+":"-")+("0"+Math.abs(f)).slice(-2)+e+("0"+Math.abs(r)).slice(-2);return u==="+00:00"?"Z":u};n.timepicker.timezoneOffsetNumber=function(n){var t=n.toString().replace(":","");return t.toUpperCase()==="Z"?0:/^(\-|\+)\d{4}$/.test(t)?(t.substr(0,1)==="-"?-1:1)*(parseInt(t.substr(1,2),10)*60+parseInt(t.substr(3,2),10)):parseInt(n,10)};n.timepicker.timezoneAdjust=function(t,i,r){var f=n.timepicker.timezoneOffsetNumber(i),u=n.timepicker.timezoneOffsetNumber(r);return isNaN(u)||t.setMinutes(t.getMinutes()+-f- -u),t};n.timepicker.timeRange=function(t,i,r){return n.timepicker.handleRange("timepicker",t,i,r)};n.timepicker.datetimeRange=function(t,i,r){n.timepicker.handleRange("datetimepicker",t,i,r)};n.timepicker.dateRange=function(t,i,r){n.timepicker.handleRange("datepicker",t,i,r)};n.timepicker.handleRange=function(t,i,r,u){function e(n,f){var s=i[t]("getDate"),h=r[t]("getDate"),c=n[t]("getDate"),e,o;s!==null&&(e=new Date(s.getTime()),o=new Date(s.getTime()),e.setMilliseconds(e.getMilliseconds()+u.minInterval),o.setMilliseconds(o.getMilliseconds()+u.maxInterval),u.minInterval>0&&e>h?r[t]("setDate",e):u.maxInterval>0&&o<h?r[t]("setDate",o):s>h&&f[t]("setDate",c))}function f(n,i,r){if(n.val()){var f=n[t].call(n,"getDate");f!==null&&u.minInterval>0&&(r==="minDate"&&f.setMilliseconds(f.getMilliseconds()+u.minInterval),r==="maxDate"&&f.setMilliseconds(f.getMilliseconds()-u.minInterval));f.getTime&&i[t].call(i,"option",r,f)}}u=n.extend({},{minInterval:0,maxInterval:0,start:{},end:{}},u);var o=!1;return t==="timepicker"&&(o=!0,t="datetimepicker"),n.fn[t].call(i,n.extend({timeOnly:o,onClose:function(){e(n(this),r)},onSelect:function(){f(n(this),r,"minDate")}},u,u.start)),n.fn[t].call(r,n.extend({timeOnly:o,onClose:function(){e(n(this),i)},onSelect:function(){f(n(this),i,"maxDate")}},u,u.end)),e(i,r),f(i,r,"minDate"),f(r,i,"maxDate"),n([i.get(0),r.get(0)])};n.timepicker.log=function(){window.console&&window.console.log&&window.console.log.apply&&window.console.log.apply(window.console,Array.prototype.slice.call(arguments))};n.timepicker._util={_extendRemove:i,_isEmptyObject:o,_convert24to12:r,_detectSupport:s,_selectLocalTimezone:e,_computeEffectiveSetting:u,_splitDateTime:h,_parseDateTimeInternal:f};Date.prototype.getMicroseconds||(Date.prototype.microseconds=0,Date.prototype.getMicroseconds=function(){return this.microseconds},Date.prototype.setMicroseconds=function(n){return this.setMilliseconds(this.getMilliseconds()+Math.floor(n/1e3)),this.microseconds=n%1e3,this});n.timepicker.version="1.6.3"}}),function(n,t){typeof define=="function"&&define.amd?define("bloodhound",["jquery"],function(i){return n.Bloodhound=t(i)}):typeof exports=="object"?module.exports=t(require("jquery")):n.Bloodhound=t(jQuery)}(this,function(n){var t=function(){"use strict";return{isMsie:function(){return/(msie|trident)/i.test(navigator.userAgent)?navigator.userAgent.match(/(msie |rv:)(\d+(.\d+)?)/i)[2]:!1},isBlankString:function(n){return!n||/^\s*$/.test(n)},escapeRegExChars:function(n){return n.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")},isString:function(n){return typeof n=="string"},isNumber:function(n){return typeof n=="number"},isArray:n.isArray,isFunction:n.isFunction,isObject:n.isPlainObject,isUndefined:function(n){return typeof n=="undefined"},isElement:function(n){return!!(n&&n.nodeType===1)},isJQuery:function(t){return t instanceof n},toStr:function(n){return t.isUndefined(n)||n===null?"":n+""},bind:n.proxy,each:function(t,i){function r(n,t){return i(t,n)}n.each(t,r)},map:n.map,filter:n.grep,every:function(t,i){var r=!0;return t?(n.each(t,function(n,u){if(!(r=i.call(null,u,n,t)))return!1}),!!r):r},some:function(t,i){var r=!1;return t?(n.each(t,function(n,u){if(r=i.call(null,u,n,t))return!1}),!!r):r},mixin:n.extend,identity:function(n){return n},clone:function(t){return n.extend(!0,{},t)},getIdGenerator:function(){var n=0;return function(){return n++}},templatify:function(t){function i(){return String(t)}return n.isFunction(t)?t:i},defer:function(n){setTimeout(n,0)},debounce:function(n,t,i){var r,u;return function(){var f=this,e=arguments,o,s;return o=function(){r=null;i||(u=n.apply(f,e))},s=i&&!r,clearTimeout(r),r=setTimeout(o,t),s&&(u=n.apply(f,e)),u}},throttle:function(n,t){var u,f,i,e,r,o;return r=0,o=function(){r=new Date;i=null;e=n.apply(u,f)},function(){var s=new Date,h=t-(s-r);return u=this,f=arguments,h<=0?(clearTimeout(i),i=null,r=s,e=n.apply(u,f)):i||(i=setTimeout(o,h)),e}},stringify:function(n){return t.isString(n)?n:JSON.stringify(n)},noop:function(){}}}(),u="0.11.1",f=function(){"use strict";function n(n){return n=t.toStr(n),n?n.split(/\s+/):[]}function i(n){return n=t.toStr(n),n?n.split(/\W+/):[]}function r(n){return function(i){return i=t.isArray(i)?i:[].slice.call(arguments,0),function(r){var u=[];return t.each(i,function(i){u=u.concat(n(t.toStr(r[i])))}),u}}}return{nonword:i,whitespace:n,obj:{nonword:r(i),whitespace:r(n)}}}(),i=function(){"use strict";function i(i){this.maxSize=t.isNumber(i)?i:100;this.reset();this.maxSize<=0&&(this.set=this.get=n.noop)}function r(){this.head=this.tail=null}function u(n,t){this.key=n;this.val=t;this.prev=this.next=null}return t.mixin(i.prototype,{set:function(n,t){var r=this.list.tail,i;this.size>=this.maxSize&&(this.list.remove(r),delete this.hash[r.key],this.size--);(i=this.hash[n])?(i.val=t,this.list.moveToFront(i)):(i=new u(n,t),this.list.add(i),this.hash[n]=i,this.size++)},get:function(n){var t=this.hash[n];if(t)return this.list.moveToFront(t),t.val},reset:function(){this.size=0;this.hash={};this.list=new r}}),t.mixin(r.prototype,{add:function(n){this.head&&(n.next=this.head,this.head.prev=n);this.head=n;this.tail=this.tail||n},remove:function(n){n.prev?n.prev.next=n.next:this.head=n.next;n.next?n.next.prev=n.prev:this.tail=n.prev},moveToFront:function(n){this.remove(n);this.add(n)}}),i}(),e=function(){"use strict";function r(n,r){this.prefix=["__",n,"__"].join("");this.ttlKey="__ttl__";this.keyMatcher=new RegExp("^"+t.escapeRegExChars(this.prefix));this.ls=r||i;this.ls||this._noop()}function u(){return(new Date).getTime()}function f(n){return JSON.stringify(t.isUndefined(n)?null:n)}function e(t){return n.parseJSON(t)}function o(n){for(var r,u=[],f=i.length,t=0;t<f;t++)(r=i.key(t)).match(n)&&u.push(r.replace(n,""));return u}var i;try{i=window.localStorage;i.setItem("~~~","!");i.removeItem("~~~")}catch(s){i=null}return t.mixin(r.prototype,{_prefix:function(n){return this.prefix+n},_ttlKey:function(n){return this._prefix(n)+this.ttlKey},_noop:function(){this.get=this.set=this.remove=this.clear=this.isExpired=t.noop},_safeSet:function(n,t){try{this.ls.setItem(n,t)}catch(i){i.name==="QuotaExceededError"&&(this.clear(),this._noop())}},get:function(n){return this.isExpired(n)&&this.remove(n),e(this.ls.getItem(this._prefix(n)))},set:function(n,i,r){return t.isNumber(r)?this._safeSet(this._ttlKey(n),f(u()+r)):this.ls.removeItem(this._ttlKey(n)),this._safeSet(this._prefix(n),f(i))},remove:function(n){return this.ls.removeItem(this._ttlKey(n)),this.ls.removeItem(this._prefix(n)),this},clear:function(){for(var n=o(this.keyMatcher),t=n.length;t--;)this.remove(n[t]);return this},isExpired:function(n){var i=e(this.ls.getItem(this._ttlKey(n)));return t.isNumber(i)&&u()>i?!0:!1}}),r}(),r=function(){"use strict";function r(n){n=n||{};this.cancelled=!1;this.lastReq=null;this._send=n.transport;this._get=n.limiter?n.limiter(this._get):this._get;this._cache=n.cache===!1?new i(0):o}var u=0,f={},e=6,o=new i(10);return r.setMaxPendingRequests=function(n){e=n},r.resetCache=function(){o.reset()},t.mixin(r.prototype,{_fingerprint:function(t){return t=t||{},t.url+t.type+n.param(t.data||{})},_get:function(n,t){function o(n){t(null,n);i._cache.set(r,n)}function s(){t(!0)}function c(){u--;delete f[r];i.onDeckRequestArgs&&(i._get.apply(i,i.onDeckRequestArgs),i.onDeckRequestArgs=null)}var i=this,r,h;(r=this._fingerprint(n),this.cancelled||r!==this.lastReq)||((h=f[r])?h.done(o).fail(s):u<e?(u++,f[r]=this._send(n).done(o).fail(s).always(c)):this.onDeckRequestArgs=[].slice.call(arguments,0))},get:function(i,r){var f,u;r=r||n.noop;i=t.isString(i)?{url:i}:i||{};u=this._fingerprint(i);this.cancelled=!1;this.lastReq=u;(f=this._cache.get(u))?r(null,f):this._get(i,r)},cancel:function(){this.cancelled=!0}}),r}(),o=window.SearchIndex=function(){"use strict";function u(i){i=i||{};i.datumTokenizer&&i.queryTokenizer||n.error("datumTokenizer and queryTokenizer are both required");this.identify=i.identify||t.stringify;this.datumTokenizer=i.datumTokenizer;this.queryTokenizer=i.queryTokenizer;this.reset()}function f(n){return n=t.filter(n,function(n){return!!n}),t.map(n,function(n){return n.toLowerCase()})}function e(){var n={};return n[r]=[],n[i]={},n}function o(n){for(var i={},r=[],t=0,u=n.length;t<u;t++)i[n[t]]||(i[n[t]]=!0,r.push(n[t]));return r}function s(n,t){var i=0,r=0,u=[],f,e;for(n=n.sort(),t=t.sort(),f=n.length,e=t.length;i<f&&r<e;)n[i]<t[r]?i++:n[i]>t[r]?r++:(u.push(n[i]),i++,r++);return u}var i="c",r="i";return t.mixin(u.prototype,{bootstrap:function(n){this.datums=n.datums;this.trie=n.trie},add:function(n){var u=this;n=t.isArray(n)?n:[n];t.each(n,function(n){var o,s;u.datums[o=u.identify(n)]=n;s=f(u.datumTokenizer(n));t.each(s,function(n){for(var f,t=u.trie,s=n.split("");f=s.shift();)t=t[i][f]||(t[i][f]=e()),t[r].push(o)})})},get:function(n){var i=this;return t.map(n,function(n){return i.datums[n]})},search:function(n){var e=this,h,u;return h=f(this.queryTokenizer(n)),t.each(h,function(n){var t,f,h,o;if(u&&u.length===0)return!1;for(t=e.trie,f=n.split("");t&&(h=f.shift());)t=t[i][h];if(t&&f.length===0)o=t[r].slice(0),u=u?s(u,o):o;else return u=[],!1}),u?t.map(o(u),function(n){return e.datums[n]}):[]},all:function(){var n=[],t;for(t in this.datums)n.push(this.datums[t]);return n},reset:function(){this.datums={};this.trie=e()},serialize:function(){return{datums:this.datums,trie:this.trie}}}),u}(),s=function(){"use strict";function i(n){this.url=n.url;this.ttl=n.ttl;this.cache=n.cache;this.prepare=n.prepare;this.transform=n.transform;this.transport=n.transport;this.thumbprint=n.thumbprint;this.storage=new e(n.cacheKey)}var n;return n={data:"data",protocol:"protocol",thumbprint:"thumbprint"},t.mixin(i.prototype,{_settings:function(){return{url:this.url,type:"GET",dataType:"json"}},store:function(t){this.cache&&(this.storage.set(n.data,t,this.ttl),this.storage.set(n.protocol,location.protocol,this.ttl),this.storage.set(n.thumbprint,this.thumbprint,this.ttl))},fromCache:function(){var t={},i;return this.cache?(t.data=this.storage.get(n.data),t.protocol=this.storage.get(n.protocol),t.thumbprint=this.storage.get(n.thumbprint),i=t.thumbprint!==this.thumbprint||t.protocol!==location.protocol,t.data&&!i?t.data:null):null},fromNetwork:function(n){function i(){n(!0)}function r(t){n(null,u.transform(t))}var u=this,t;n&&(t=this.prepare(this._settings()),this.transport(t).fail(i).done(r))},clear:function(){return this.storage.clear(),this}}),i}(),h=function(){"use strict";function n(n){this.url=n.url;this.prepare=n.prepare;this.transform=n.transform;this.transport=new r({cache:n.cache,limiter:n.limiter,transport:n.transport})}return t.mixin(n.prototype,{_settings:function(){return{url:this.url,type:"GET",dataType:"json"}},get:function(n,t){function r(n,i){n?t([]):t(u.transform(i))}var u=this,i;if(t)return n=n||"",i=this.prepare(n,this._settings()),this.transport.get(i,r)},cancelLastRequest:function(){this.transport.cancel()}}),n}(),c=function(){"use strict";function r(r){var f;return r?(f={url:null,ttl:864e5,cache:!0,cacheKey:null,thumbprint:"",prepare:t.identity,transform:t.identity,transport:null},r=t.isString(r)?{url:r}:r,r=t.mixin(f,r),r.url||n.error("prefetch requires url to be set"),r.transform=r.filter||r.transform,r.cacheKey=r.cacheKey||r.url,r.thumbprint=u+r.thumbprint,r.transport=r.transport?i(r.transport):n.ajax,r):null}function f(r){var u;if(r)return u={url:null,cache:!0,prepare:null,replace:null,wildcard:null,limiter:null,rateLimitBy:"debounce",rateLimitWait:300,transform:t.identity,transport:null},r=t.isString(r)?{url:r}:r,r=t.mixin(u,r),r.url||n.error("remote requires url to be set"),r.transform=r.filter||r.transform,r.prepare=e(r),r.limiter=o(r),r.transport=r.transport?i(r.transport):n.ajax,delete r.replace,delete r.wildcard,delete r.rateLimitBy,delete r.rateLimitWait,r}function e(n){function u(n,t){return t.url=i(t.url,n),t}function f(n,t){return t.url=t.url.replace(r,encodeURIComponent(n)),t}function e(n,t){return t}var t,i,r;return(t=n.prepare,i=n.replace,r=n.wildcard,t)?t:i?u:n.wildcard?f:e}function o(n){function f(n){return function(i){return t.debounce(i,n)}}function e(n){return function(i){return t.throttle(i,n)}}var i,u,r;return i=n.limiter,u=n.rateLimitBy,r=n.rateLimitWait,i||(i=/^throttle$/i.test(u)?e(r):f(r)),i}function i(i){return function(r){function f(n){t.defer(function(){u.resolve(n)})}function e(n){t.defer(function(){u.reject(n)})}var u=n.Deferred();return i(r,f,e),u}}return function(i){var e,u;return e={initialize:!0,identify:t.stringify,datumTokenizer:null,queryTokenizer:null,sufficient:5,sorter:null,local:[],prefetch:null,remote:null},i=t.mixin(e,i||{}),i.datumTokenizer||n.error("datumTokenizer is required"),i.queryTokenizer||n.error("queryTokenizer is required"),u=i.sorter,i.sorter=u?function(n){return n.sort(u)}:t.identity,i.local=t.isFunction(i.local)?i.local():i.local,i.prefetch=r(i.prefetch),i.remote=f(i.remote),i}}();return function(){"use strict";function i(n){n=c(n);this.sorter=n.sorter;this.identify=n.identify;this.sufficient=n.sufficient;this.local=n.local;this.remote=n.remote?new h(n.remote):null;this.prefetch=n.prefetch?new s(n.prefetch):null;this.index=new o({identify:this.identify,datumTokenizer:n.datumTokenizer,queryTokenizer:n.queryTokenizer});n.initialize!==!1&&this.initialize()}var u;return u=window&&window.Bloodhound,i.noConflict=function(){return window&&(window.Bloodhound=u),i},i.tokenizers=f,t.mixin(i.prototype,{__ttAdapter:function(){function t(t,i,r){return n.search(t,i,r)}function i(t,i){return n.search(t,i)}var n=this;return this.remote?t:i},_loadPrefetch:function(){function u(n,r){if(n)return t.reject();i.add(r);i.prefetch.store(i.index.serialize());t.resolve()}var i=this,t,r;return t=n.Deferred(),this.prefetch?(r=this.prefetch.fromCache())?(this.index.bootstrap(r),t.resolve()):this.prefetch.fromNetwork(u):t.resolve(),t.promise()},_initialize:function(){function t(){n.add(n.local)}var n=this;return this.clear(),(this.initPromise=this._loadPrefetch()).done(t),this.initPromise},initialize:function(n){return!this.initPromise||n?this._initialize():this.initPromise},add:function(n){return this.index.add(n),this},get:function(n){return n=t.isArray(n)?n:[].slice.call(arguments),this.index.get(n)},search:function(n,i,r){function e(n){var i=[];t.each(n,function(n){t.some(u,function(t){return f.identify(n)===f.identify(t)})||i.push(n)});r&&r(i)}var f=this,u;return u=this.sorter(this.index.search(n)),i(this.remote?u.slice():u),this.remote&&u.length<this.sufficient?this.remote.get(n,e):this.remote&&this.remote.cancelLastRequest(),this},all:function(){return this.index.all()},clear:function(){return this.index.reset(),this},clearPrefetchCache:function(){return this.prefetch&&this.prefetch.clear(),this},clearRemoteCache:function(){return r.resetCache(),this},ttAdapter:function(){return this.__ttAdapter()}}),i}()}),function(n,t){typeof define=="function"&&define.amd?define("typeahead.js",["jquery"],function(n){return t(n)}):typeof exports=="object"?module.exports=t(require("jquery")):t(jQuery)}(this,function(n){var t=function(){"use strict";return{isMsie:function(){return/(msie|trident)/i.test(navigator.userAgent)?navigator.userAgent.match(/(msie |rv:)(\d+(.\d+)?)/i)[2]:!1},isBlankString:function(n){return!n||/^\s*$/.test(n)},escapeRegExChars:function(n){return n.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")},isString:function(n){return typeof n=="string"},isNumber:function(n){return typeof n=="number"},isArray:n.isArray,isFunction:n.isFunction,isObject:n.isPlainObject,isUndefined:function(n){return typeof n=="undefined"},isElement:function(n){return!!(n&&n.nodeType===1)},isJQuery:function(t){return t instanceof n},toStr:function(n){return t.isUndefined(n)||n===null?"":n+""},bind:n.proxy,each:function(t,i){function r(n,t){return i(t,n)}n.each(t,r)},map:n.map,filter:n.grep,every:function(t,i){var r=!0;return t?(n.each(t,function(n,u){if(!(r=i.call(null,u,n,t)))return!1}),!!r):r},some:function(t,i){var r=!1;return t?(n.each(t,function(n,u){if(r=i.call(null,u,n,t))return!1}),!!r):r},mixin:n.extend,identity:function(n){return n},clone:function(t){return n.extend(!0,{},t)},getIdGenerator:function(){var n=0;return function(){return n++}},templatify:function(t){function i(){return String(t)}return n.isFunction(t)?t:i},defer:function(n){setTimeout(n,0)},debounce:function(n,t,i){var r,u;return function(){var f=this,e=arguments,o,s;return o=function(){r=null;i||(u=n.apply(f,e))},s=i&&!r,clearTimeout(r),r=setTimeout(o,t),s&&(u=n.apply(f,e)),u}},throttle:function(n,t){var u,f,i,e,r,o;return r=0,o=function(){r=new Date;i=null;e=n.apply(u,f)},function(){var s=new Date,h=t-(s-r);return u=this,f=arguments,h<=0?(clearTimeout(i),i=null,r=s,e=n.apply(u,f)):i||(i=setTimeout(o,h)),e}},stringify:function(n){return t.isString(n)?n:JSON.stringify(n)},noop:function(){}}}(),e=function(){"use strict";function n(n){var e,o;return o=t.mixin({},f,n),e={css:u(),classes:o,html:i(o),selectors:r(o)},{css:e.css,html:e.html,classes:e.classes,selectors:e.selectors,mixin:function(n){t.mixin(n,e)}}}function i(n){return{wrapper:'<span class="'+n.wrapper+'"><\/span>',menu:'<div class="'+n.menu+'"><\/div>'}}function r(n){var i={};return t.each(n,function(n,t){i[t]="."+n}),i}function u(){var n={wrapper:{position:"relative",display:"inline-block"},hint:{position:"absolute",top:"0",left:"0",borderColor:"transparent",boxShadow:"none",opacity:"1"},input:{position:"relative",verticalAlign:"top",backgroundColor:"transparent"},inputWithNoHint:{position:"relative",verticalAlign:"top"},menu:{position:"absolute",top:"100%",left:"0",zIndex:"100",display:"none"},ltr:{left:"0",right:"auto"},rtl:{left:"auto",right:" 0"}};return t.isMsie()&&t.mixin(n.input,{backgroundImage:"url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)"}),n}var f={wrapper:"twitter-typeahead",input:"tt-input",hint:"tt-hint",menu:"tt-menu",dataset:"tt-dataset",suggestion:"tt-suggestion",selectable:"tt-selectable",empty:"tt-empty",open:"tt-open",cursor:"tt-cursor",highlight:"tt-highlight"};return n}(),o=function(){"use strict";function i(t){t&&t.el||n.error("EventBus initialized without el");this.$el=n(t.el)}var r,u;return r="typeahead:",u={render:"rendered",cursorchange:"cursorchanged",select:"selected",autocomplete:"autocompleted"},t.mixin(i.prototype,{_trigger:function(t,i){var u;return u=n.Event(r+t),(i=i||[]).unshift(u),this.$el.trigger.apply(this.$el,i),u},before:function(n){var t,i;return t=[].slice.call(arguments,1),i=this._trigger("before"+n,t),i.isDefaultPrevented()},trigger:function(n){var t;this._trigger(n,[].slice.call(arguments,1));(t=u[n])&&this._trigger(t,[].slice.call(arguments,1))}}),i}(),r=function(){"use strict";function t(t,i,r,u){var f;if(!r)return this;for(i=i.split(n),r=u?s(r,u):r,this._callbacks=this._callbacks||{};f=i.shift();)this._callbacks[f]=this._callbacks[f]||{sync:[],async:[]},this._callbacks[f][t].push(r);return this}function r(n,i,r){return t.call(this,"async",n,i,r)}function u(n,i,r){return t.call(this,"sync",n,i,r)}function f(t){var i;if(!this._callbacks)return this;for(t=t.split(n);i=t.shift();)delete this._callbacks[i];return this}function e(t){var r,u,f,e,o;if(!this._callbacks)return this;for(t=t.split(n),f=[].slice.call(arguments,1);(r=t.shift())&&(u=this._callbacks[r]);)e=i(u.sync,this,[r].concat(f)),o=i(u.async,this,[r].concat(f)),e()&&h(o);return this}function i(n,t,i){function r(){for(var r,u=0,f=n.length;!r&&u<f;u+=1)r=n[u].apply(t,i)===!1;return!r}return r}function o(){return window.setImmediate?function(n){setImmediate(function(){n()})}:function(n){setTimeout(function(){n()},0)}}function s(n,t){return n.bind?n.bind(t):function(){n.apply(t,[].slice.call(arguments,0))}}var n=/\s+/,h=o();return{onSync:u,onAsync:r,off:f,trigger:e}}(),s=function(n){"use strict";function i(n,i,r){for(var u=[],f,e=0,o=n.length;e<o;e++)u.push(t.escapeRegExChars(n[e]));return f=r?"\\b("+u.join("|")+")\\b":"("+u.join("|")+")",i?new RegExp(f):new RegExp(f,"i")}var r={node:null,pattern:null,tagName:"strong",className:null,wordsOnly:!1,caseSensitive:!1};return function(u){function o(t){var i,r,f;return(i=e.exec(t.data))&&(f=n.createElement(u.tagName),u.className&&(f.className=u.className),r=t.splitText(i.index),r.splitText(i[0].length),f.appendChild(r.cloneNode(!0)),t.parentNode.replaceChild(f,r)),!!i}function f(n,t){for(var i,r=0;r<n.childNodes.length;r++)i=n.childNodes[r],i.nodeType===3?r+=t(i)?1:0:f(i,t)}var e;(u=t.mixin({},r,u),u.node&&u.pattern)&&(u.pattern=t.isArray(u.pattern)?u.pattern:[u.pattern],e=i(u.pattern,u.caseSensitive,u.wordsOnly),f(u.node,o))}}(window.document),u=function(){"use strict";function i(i,r){i=i||{};i.input||n.error("input is missing");r.mixin(this);this.$hint=n(i.hint);this.$input=n(i.input);this.query=this.$input.val();this.queryWhenFocused=this.hasFocus()?this.query:null;this.$overflowHelper=e(this.$input);this._checkLanguageDirection();this.$hint.length===0&&(this.setHint=this.getHint=this.clearHint=this.clearHintIfInvalid=t.noop)}function e(t){return n('<pre aria-hidden="true"><\/pre>').css({position:"absolute",visibility:"hidden",whiteSpace:"pre",fontFamily:t.css("font-family"),fontSize:t.css("font-size"),fontStyle:t.css("font-style"),fontVariant:t.css("font-variant"),fontWeight:t.css("font-weight"),wordSpacing:t.css("word-spacing"),letterSpacing:t.css("letter-spacing"),textIndent:t.css("text-indent"),textRendering:t.css("text-rendering"),textTransform:t.css("text-transform")}).insertAfter(t)}function o(n,t){return i.normalizeQuery(n)===i.normalizeQuery(t)}function f(n){return n.altKey||n.ctrlKey||n.metaKey||n.shiftKey}var u;return u={9:"tab",27:"esc",37:"left",39:"right",13:"enter",38:"up",40:"down"},i.normalizeQuery=function(n){return t.toStr(n).replace(/^\s*/g,"").replace(/\s{2,}/g," ")},t.mixin(i.prototype,r,{_onBlur:function(){this.resetInputValue();this.trigger("blurred")},_onFocus:function(){this.queryWhenFocused=this.query;this.trigger("focused")},_onKeydown:function(n){var t=u[n.which||n.keyCode];this._managePreventDefault(t,n);t&&this._shouldTrigger(t,n)&&this.trigger(t+"Keyed",n)},_onInput:function(){this._setQuery(this.getInputValue());this.clearHintIfInvalid();this._checkLanguageDirection()},_managePreventDefault:function(n,t){var i;switch(n){case"up":case"down":i=!f(t);break;default:i=!1}i&&t.preventDefault()},_shouldTrigger:function(n,t){var i;switch(n){case"tab":i=!f(t);break;default:i=!0}return i},_checkLanguageDirection:function(){var n=(this.$input.css("direction")||"ltr").toLowerCase();this.dir!==n&&(this.dir=n,this.$hint.attr("dir",n),this.trigger("langDirChanged",n))},_setQuery:function(n,t){var i,r;i=o(n,this.query);r=i?this.query.length!==n.length:!1;this.query=n;t||i?!t&&r&&this.trigger("whitespaceChanged",this.query):this.trigger("queryChanged",this.query)},bind:function(){var n=this,i,r,f,e;i=t.bind(this._onBlur,this);r=t.bind(this._onFocus,this);f=t.bind(this._onKeydown,this);e=t.bind(this._onInput,this);this.$input.on("blur.tt",i).on("focus.tt",r).on("keydown.tt",f);if(!t.isMsie()||t.isMsie()>9)this.$input.on("input.tt",e);else this.$input.on("keydown.tt keypress.tt cut.tt paste.tt",function(i){u[i.which||i.keyCode]||t.defer(t.bind(n._onInput,n,i))});return this},focus:function(){this.$input.focus()},blur:function(){this.$input.blur()},getLangDir:function(){return this.dir},getQuery:function(){return this.query||""},setQuery:function(n,t){this.setInputValue(n);this._setQuery(n,t)},hasQueryChangedSinceLastFocus:function(){return this.query!==this.queryWhenFocused},getInputValue:function(){return this.$input.val()},setInputValue:function(n){this.$input.val(n);this.clearHintIfInvalid();this._checkLanguageDirection()},resetInputValue:function(){this.setInputValue(this.query)},getHint:function(){return this.$hint.val()},setHint:function(n){this.$hint.val(n)},clearHint:function(){this.setHint("")},clearHintIfInvalid:function(){var n,t,i,r;n=this.getInputValue();t=this.getHint();i=n!==t&&t.indexOf(n)===0;r=n!==""&&i&&!this.hasOverflow();r||this.clearHint()},hasFocus:function(){return this.$input.is(":focus")},hasOverflow:function(){var n=this.$input.width()-2;return this.$overflowHelper.text(this.getInputValue()),this.$overflowHelper.width()>=n},isCursorAtEnd:function(){var n,i,r;return(n=this.$input.val().length,i=this.$input[0].selectionStart,t.isNumber(i))?i===n:document.selection?(r=document.selection.createRange(),r.moveStart("character",-n),n===r.text.length):!0},destroy:function(){this.$hint.off(".tt");this.$input.off(".tt");this.$overflowHelper.remove();this.$hint=this.$input=this.$overflowHelper=n("<div>")}}),i}(),f=function(){"use strict";function u(i,r){i=i||{};i.templates=i.templates||{};i.templates.notFound=i.templates.notFound||i.templates.empty;i.source||n.error("missing source");i.node||n.error("missing node");i.name&&!h(i.name)&&n.error("invalid dataset name: "+i.name);r.mixin(this);this.highlight=!!i.highlight;this.name=i.name||f();this.limit=i.limit||5;this.displayFn=e(i.display||i.displayKey);this.templates=o(i.templates,this.displayFn);this.source=i.source.__ttAdapter?i.source.__ttAdapter():i.source;this.async=t.isUndefined(i.async)?this.source.length>2:!!i.async;this._resetLastSuggestion();this.$el=n(i.node).addClass(this.classes.dataset).addClass(this.classes.dataset+"-"+this.name)}function e(n){function i(t){return t[n]}return n=n||t.stringify,t.isFunction(n)?n:i}function o(i,r){function u(t){return n("<div>").text(r(t))}return{notFound:i.notFound&&t.templatify(i.notFound),pending:i.pending&&t.templatify(i.pending),header:i.header&&t.templatify(i.header),footer:i.footer&&t.templatify(i.footer),suggestion:i.suggestion||u}}function h(n){return/^[_a-zA-Z0-9-]+$/.test(n)}var i,f;return i={val:"tt-selectable-display",obj:"tt-selectable-object"},f=t.getIdGenerator(),u.extractData=function(t){var r=n(t);return r.data(i.obj)?{val:r.data(i.val)||"",obj:r.data(i.obj)||null}:null},t.mixin(u.prototype,r,{_overwrite:function(n,t){t=t||[];t.length?this._renderSuggestions(n,t):this.async&&this.templates.pending?this._renderPending(n):!this.async&&this.templates.notFound?this._renderNotFound(n):this._empty();this.trigger("rendered",this.name,t,!1)},_append:function(n,t){t=t||[];t.length&&this.$lastSuggestion.length?this._appendSuggestions(n,t):t.length?this._renderSuggestions(n,t):!this.$lastSuggestion.length&&this.templates.notFound&&this._renderNotFound(n);this.trigger("rendered",this.name,t,!0)},_renderSuggestions:function(n,t){var i;i=this._getSuggestionsFragment(n,t);this.$lastSuggestion=i.children().last();this.$el.html(i).prepend(this._getHeader(n,t)).append(this._getFooter(n,t))},_appendSuggestions:function(n,t){var i,r;i=this._getSuggestionsFragment(n,t);r=i.children().last();this.$lastSuggestion.after(i);this.$lastSuggestion=r},_renderPending:function(n){var t=this.templates.pending;this._resetLastSuggestion();t&&this.$el.html(t({query:n,dataset:this.name}))},_renderNotFound:function(n){var t=this.templates.notFound;this._resetLastSuggestion();t&&this.$el.html(t({query:n,dataset:this.name}))},_empty:function(){this.$el.empty();this._resetLastSuggestion()},_getSuggestionsFragment:function(r,u){var f=this,e;return e=document.createDocumentFragment(),t.each(u,function(t){var u,o;o=f._injectQuery(r,t);u=n(f.templates.suggestion(o)).data(i.obj,t).data(i.val,f.displayFn(t)).addClass(f.classes.suggestion+" "+f.classes.selectable);e.appendChild(u[0])}),this.highlight&&s({className:this.classes.highlight,node:e,pattern:r}),n(e)},_getFooter:function(n,t){return this.templates.footer?this.templates.footer({query:n,suggestions:t,dataset:this.name}):null},_getHeader:function(n,t){return this.templates.header?this.templates.header({query:n,suggestions:t,dataset:this.name}):null},_resetLastSuggestion:function(){this.$lastSuggestion=n()},_injectQuery:function(n,i){return t.isObject(i)?t.mixin({_query:n},i):i},update:function(t){function f(n){u||(u=!0,n=(n||[]).slice(0,i.limit),r=n.length,i._overwrite(t,n),r<i.limit&&i.async&&i.trigger("asyncRequested",t))}function o(u){u=u||[];!e&&r<i.limit&&(i.cancel=n.noop,i._append(t,u.slice(0,i.limit-r)),r+=u.length,i.async&&i.trigger("asyncReceived",t))}var i=this,e=!1,u=!1,r=0;this.cancel();this.cancel=function(){e=!0;i.cancel=n.noop;i.async&&i.trigger("asyncCanceled",t)};this.source(t,f,o);u||f([])},cancel:n.noop,clear:function(){this._empty();this.cancel();this.trigger("cleared")},isEmpty:function(){return this.$el.is(":empty")},destroy:function(){this.$el=n("<div>")}}),u}(),i=function(){"use strict";function i(i,r){function e(t){var i=u.$node.find(t.node).first();return t.node=i.length?i:n("<div>").appendTo(u.$node),new f(t,r)}var u=this;i=i||{};i.node||n.error("node is required");r.mixin(this);this.$node=n(i.node);this.query=null;this.datasets=t.map(i.datasets,e)}return t.mixin(i.prototype,r,{_onSelectableClick:function(t){this.trigger("selectableClicked",n(t.currentTarget))},_onRendered:function(n,t,i,r){this.$node.toggleClass(this.classes.empty,this._allDatasetsEmpty());this.trigger("datasetRendered",t,i,r)},_onCleared:function(){this.$node.toggleClass(this.classes.empty,this._allDatasetsEmpty());this.trigger("datasetCleared")},_propagate:function(){this.trigger.apply(this,arguments)},_allDatasetsEmpty:function(){function n(n){return n.isEmpty()}return t.every(this.datasets,n)},_getSelectables:function(){return this.$node.find(this.selectors.selectable)},_removeCursor:function(){var n=this.getActiveSelectable();n&&n.removeClass(this.classes.cursor)},_ensureVisible:function(n){var t,i,r,u;t=n.position().top;i=t+n.outerHeight(!0);r=this.$node.scrollTop();u=this.$node.height()+parseInt(this.$node.css("paddingTop"),10)+parseInt(this.$node.css("paddingBottom"),10);t<0?this.$node.scrollTop(r+t):u<i&&this.$node.scrollTop(r+(i-u))},bind:function(){var n=this,i=t.bind(this._onSelectableClick,this);this.$node.on("click.tt",this.selectors.selectable,i);return t.each(this.datasets,function(t){t.onSync("asyncRequested",n._propagate,n).onSync("asyncCanceled",n._propagate,n).onSync("asyncReceived",n._propagate,n).onSync("rendered",n._onRendered,n).onSync("cleared",n._onCleared,n)}),this},isOpen:function(){return this.$node.hasClass(this.classes.open)},open:function(){this.$node.addClass(this.classes.open)},close:function(){this.$node.removeClass(this.classes.open);this._removeCursor()},setLanguageDirection:function(n){this.$node.attr("dir",n)},selectableRelativeToCursor:function(n){var i,r,u,t;return r=this.getActiveSelectable(),i=this._getSelectables(),u=r?i.index(r):-1,t=u+n,t=(t+1)%(i.length+1)-1,t=t<-1?i.length-1:t,t===-1?null:i.eq(t)},setCursor:function(n){this._removeCursor();(n=n&&n.first())&&(n.addClass(this.classes.cursor),this._ensureVisible(n))},getSelectableData:function(n){return n&&n.length?f.extractData(n):null},getActiveSelectable:function(){var n=this._getSelectables().filter(this.selectors.cursor).first();return n.length?n:null},getTopSelectable:function(){var n=this._getSelectables().first();return n.length?n:null},update:function(n){function r(t){t.update(n)}var i=n!==this.query;return i&&(this.query=n,t.each(this.datasets,r)),i},empty:function(){function n(n){n.clear()}t.each(this.datasets,n);this.query=null;this.$node.addClass(this.classes.empty)},destroy:function(){function i(n){n.destroy()}this.$node.off(".tt");this.$node=n("<div>");t.each(this.datasets,i)}}),i}(),h=function(){"use strict";function r(){i.apply(this,[].slice.call(arguments,0))}var n=i.prototype;return t.mixin(r.prototype,i.prototype,{open:function(){return this._allDatasetsEmpty()||this._show(),n.open.apply(this,[].slice.call(arguments,0))},close:function(){return this._hide(),n.close.apply(this,[].slice.call(arguments,0))},_onRendered:function(){return this._allDatasetsEmpty()?this._hide():this.isOpen()&&this._show(),n._onRendered.apply(this,[].slice.call(arguments,0))},_onCleared:function(){return this._allDatasetsEmpty()?this._hide():this.isOpen()&&this._show(),n._onCleared.apply(this,[].slice.call(arguments,0))},setLanguageDirection:function(t){return this.$node.css(t==="ltr"?this.css.ltr:this.css.rtl),n.setLanguageDirection.apply(this,[].slice.call(arguments,0))},_hide:function(){this.$node.hide()},_show:function(){this.$node.css("display","block")}}),r}(),c=function(){"use strict";function r(r,u){var f,e,o,s,h,c,l,a,v,y,p;r=r||{};r.input||n.error("missing input");r.menu||n.error("missing menu");r.eventBus||n.error("missing event bus");u.mixin(this);this.eventBus=r.eventBus;this.minLength=t.isNumber(r.minLength)?r.minLength:1;this.input=r.input;this.menu=r.menu;this.enabled=!0;this.active=!1;this.input.hasFocus()&&this.activate();this.dir=this.input.getLangDir();this._hacks();this.menu.bind().onSync("selectableClicked",this._onSelectableClicked,this).onSync("asyncRequested",this._onAsyncRequested,this).onSync("asyncCanceled",this._onAsyncCanceled,this).onSync("asyncReceived",this._onAsyncReceived,this).onSync("datasetRendered",this._onDatasetRendered,this).onSync("datasetCleared",this._onDatasetCleared,this);f=i(this,"activate","open","_onFocused");e=i(this,"deactivate","_onBlurred");o=i(this,"isActive","isOpen","_onEnterKeyed");s=i(this,"isActive","isOpen","_onTabKeyed");h=i(this,"isActive","_onEscKeyed");c=i(this,"isActive","open","_onUpKeyed");l=i(this,"isActive","open","_onDownKeyed");a=i(this,"isActive","isOpen","_onLeftKeyed");v=i(this,"isActive","isOpen","_onRightKeyed");y=i(this,"_openIfActive","_onQueryChanged");p=i(this,"_openIfActive","_onWhitespaceChanged");this.input.bind().onSync("focused",f,this).onSync("blurred",e,this).onSync("enterKeyed",o,this).onSync("tabKeyed",s,this).onSync("escKeyed",h,this).onSync("upKeyed",c,this).onSync("downKeyed",l,this).onSync("leftKeyed",a,this).onSync("rightKeyed",v,this).onSync("queryChanged",y,this).onSync("whitespaceChanged",p,this).onSync("langDirChanged",this._onLangDirChanged,this)}function i(n){var i=[].slice.call(arguments,1);return function(){var r=[].slice.call(arguments);t.each(i,function(t){return n[t].apply(n,r)})}}return t.mixin(r.prototype,{_hacks:function(){var r,i;r=this.input.$input||n("<div>");i=this.menu.$node||n("<div>");r.on("blur.tt",function(n){var u,f,e;u=document.activeElement;f=i.is(u);e=i.has(u).length>0;t.isMsie()&&(f||e)&&(n.preventDefault(),n.stopImmediatePropagation(),t.defer(function(){r.focus()}))});i.on("mousedown.tt",function(n){n.preventDefault()})},_onSelectableClicked:function(n,t){this.select(t)},_onDatasetCleared:function(){this._updateHint()},_onDatasetRendered:function(n,t,i,r){this._updateHint();this.eventBus.trigger("render",i,r,t)},_onAsyncRequested:function(n,t,i){this.eventBus.trigger("asyncrequest",i,t)},_onAsyncCanceled:function(n,t,i){this.eventBus.trigger("asynccancel",i,t)},_onAsyncReceived:function(n,t,i){this.eventBus.trigger("asyncreceive",i,t)},_onFocused:function(){this._minLengthMet()&&this.menu.update(this.input.getQuery())},_onBlurred:function(){this.input.hasQueryChangedSinceLastFocus()&&this.eventBus.trigger("change",this.input.getQuery())},_onEnterKeyed:function(n,t){var i;(i=this.menu.getActiveSelectable())&&this.select(i)&&t.preventDefault()},_onTabKeyed:function(n,t){var i;(i=this.menu.getActiveSelectable())?this.select(i)&&t.preventDefault():(i=this.menu.getTopSelectable())&&this.autocomplete(i)&&t.preventDefault()},_onEscKeyed:function(){this.close()},_onUpKeyed:function(){this.moveCursor(-1)},_onDownKeyed:function(){this.moveCursor(1)},_onLeftKeyed:function(){this.dir==="rtl"&&this.input.isCursorAtEnd()&&this.autocomplete(this.menu.getTopSelectable())},_onRightKeyed:function(){this.dir==="ltr"&&this.input.isCursorAtEnd()&&this.autocomplete(this.menu.getTopSelectable())},_onQueryChanged:function(n,t){this._minLengthMet(t)?this.menu.update(t):this.menu.empty()},_onWhitespaceChanged:function(){this._updateHint()},_onLangDirChanged:function(n,t){this.dir!==t&&(this.dir=t,this.menu.setLanguageDirection(t))},_openIfActive:function(){this.isActive()&&this.open()},_minLengthMet:function(n){return n=t.isString(n)?n:this.input.getQuery()||"",n.length>=this.minLength},_updateHint:function(){var f,i,n,e,o,s,r;f=this.menu.getTopSelectable();i=this.menu.getSelectableData(f);n=this.input.getInputValue();!i||t.isBlankString(n)||this.input.hasOverflow()?this.input.clearHint():(e=u.normalizeQuery(n),o=t.escapeRegExChars(e),s=new RegExp("^(?:"+o+")(.+$)","i"),r=s.exec(i.val),r&&this.input.setHint(n+r[1]))},isEnabled:function(){return this.enabled},enable:function(){this.enabled=!0},disable:function(){this.enabled=!1},isActive:function(){return this.active},activate:function(){return this.isActive()?!0:!this.isEnabled()||this.eventBus.before("active")?!1:(this.active=!0,this.eventBus.trigger("active"),!0)},deactivate:function(){return this.isActive()?this.eventBus.before("idle")?!1:(this.active=!1,this.close(),this.eventBus.trigger("idle"),!0):!0},isOpen:function(){return this.menu.isOpen()},open:function(){return this.isOpen()||this.eventBus.before("open")||(this.menu.open(),this._updateHint(),this.eventBus.trigger("open")),this.isOpen()},close:function(){return this.isOpen()&&!this.eventBus.before("close")&&(this.menu.close(),this.input.clearHint(),this.input.resetInputValue(),this.eventBus.trigger("close")),!this.isOpen()},setVal:function(n){this.input.setQuery(t.toStr(n))},getVal:function(){return this.input.getQuery()},select:function(n){var t=this.menu.getSelectableData(n);return t&&!this.eventBus.before("select",t.obj)?(this.input.setQuery(t.val,!0),this.eventBus.trigger("select",t.obj),this.close(),!0):!1},autocomplete:function(n){var i,t,r;return(i=this.input.getQuery(),t=this.menu.getSelectableData(n),r=t&&i!==t.val,r&&!this.eventBus.before("autocomplete",t.obj))?(this.input.setQuery(t.val),this.eventBus.trigger("autocomplete",t.obj),!0):!1},moveCursor:function(n){var u,i,t,r,f;return(u=this.input.getQuery(),i=this.menu.selectableRelativeToCursor(n),t=this.menu.getSelectableData(i),r=t?t.obj:null,f=this._minLengthMet()&&this.menu.update(u),!f&&!this.eventBus.before("cursorchange",r))?(this.menu.setCursor(i),t?this.input.setInputValue(t.val):(this.input.resetInputValue(),this._updateHint()),this.eventBus.trigger("cursorchange",r),!0):!1},destroy:function(){this.input.destroy();this.menu.destroy()}}),r}();(function(){"use strict";function r(t,i){t.each(function(){var t=n(this),r;(r=t.data(f.typeahead))&&i(r,t)})}function v(n,t){return n.clone().addClass(t.classes.hint).removeData().css(t.css.hint).css(p(n)).prop("readonly",!0).removeAttr("id name placeholder required").attr({autocomplete:"off",spellcheck:"false",tabindex:-1})}function y(n,t){n.data(f.attrs,{dir:n.attr("dir"),autocomplete:n.attr("autocomplete"),spellcheck:n.attr("spellcheck"),style:n.attr("style")});n.addClass(t.classes.input).attr({autocomplete:"off",spellcheck:!1});try{n.attr("dir")||n.attr("dir","auto")}catch(i){}return n}function p(n){return{backgroundAttachment:n.css("background-attachment"),backgroundClip:n.css("background-clip"),backgroundColor:n.css("background-color"),backgroundImage:n.css("background-image"),backgroundOrigin:n.css("background-origin"),backgroundPosition:n.css("background-position"),backgroundRepeat:n.css("background-repeat"),backgroundSize:n.css("background-size")}}function w(n){var r,i;r=n.data(f.www);i=n.parent().filter(r.selectors.wrapper);t.each(n.data(f.attrs),function(i,r){t.isUndefined(i)?n.removeAttr(r):n.attr(r,i)});n.removeData(f.typeahead).removeData(f.www).removeData(f.attr).removeClass(r.classes.input);i.length&&(n.detach().insertAfter(i),i.remove())}function l(i){var u,r;return u=t.isJQuery(i)||t.isElement(i),r=u?n(i).first():[],r.length?r:null}var a,f,s;a=n.fn.typeahead;f={www:"tt-www",attrs:"tt-attrs",typeahead:"tt-typeahead"};s={initialize:function(r,s){function p(){var e,d,p,w,b,k,g,nt,tt,it,rt;t.each(s,function(n){n.highlight=!!r.highlight});e=n(this);d=n(a.html.wrapper);p=l(r.hint);w=l(r.menu);b=r.hint!==!1&&!p;k=r.menu!==!1&&!w;b&&(p=v(e,a));k&&(w=n(a.html.menu).css(a.css.menu));p&&p.val("");e=y(e,a);(b||k)&&(d.css(a.css.wrapper),e.css(b?a.css.input:a.css.inputWithNoHint),e.wrap(d).parent().prepend(b?p:null).append(k?w:null));rt=k?h:i;g=new o({el:e});nt=new u({hint:p,input:e},a);tt=new rt({node:w,datasets:s},a);it=new c({input:nt,menu:tt,eventBus:g,minLength:r.minLength},a);e.data(f.www,a);e.data(f.typeahead,it)}var a;return s=t.isArray(s)?s:[].slice.call(arguments,1),r=r||{},a=e(r.classNames),this.each(p)},isEnabled:function(){var n;return r(this.first(),function(t){n=t.isEnabled()}),n},enable:function(){return r(this,function(n){n.enable()}),this},disable:function(){return r(this,function(n){n.disable()}),this},isActive:function(){var n;return r(this.first(),function(t){n=t.isActive()}),n},activate:function(){return r(this,function(n){n.activate()}),this},deactivate:function(){return r(this,function(n){n.deactivate()}),this},isOpen:function(){var n;return r(this.first(),function(t){n=t.isOpen()}),n},open:function(){return r(this,function(n){n.open()}),this},close:function(){return r(this,function(n){n.close()}),this},select:function(t){var i=!1,u=n(t);return r(this.first(),function(n){i=n.select(u)}),i},autocomplete:function(t){var i=!1,u=n(t);return r(this.first(),function(n){i=n.autocomplete(u)}),i},moveCursor:function(n){var t=!1;return r(this.first(),function(i){t=i.moveCursor(n)}),t},val:function(n){var t;return arguments.length?(r(this,function(t){t.setVal(n)}),this):(r(this.first(),function(n){t=n.getVal()}),t)},destroy:function(){return r(this,function(n,t){w(t);n.destroy()}),this}};n.fn.typeahead=function(n){return s[n]?s[n].apply(this,[].slice.call(arguments,1)):s.initialize.apply(this,arguments)};n.fn.typeahead.noConflict=function(){return n.fn.typeahead=a,this}})()})