
(function(){var method;var noop=function(){};var methods=['assert','clear','count','debug','dir','dirxml','error','exception','group','groupCollapsed','groupEnd','info','log','markTimeline','profile','profileEnd','table','time','timeEnd','timeline','timelineEnd','timeStamp','trace','warn'];var length=methods.length;var console=(window.console=window.console||{});while(length--){method=methods[length];if(!console[method]){console[method]=noop;}}}());$(document).ready(function(){if($('.js-switch')){var elems=Array.prototype.slice.call($('.js-switch'));elems.forEach(function(html){var switchery=new Switchery(html,{size:'small',color:'#fa2e89',secondaryColor:'#DFDFDF',jackColor:'#fff'});});}});$(function(){$('a[data-toggle~="tab"]').on('shown.bs.tab',function(e){$($(e.target).data('dboform')).find('.dbo_form').dboForms();});$('.modal').on('shown.bs.modal',function(e){$($(e.relatedTarget).data('target')).find('.dbo_form').dboForms();});$('[data-dismiss~="list-group-item"]').click(function(){$(this).parents('.list-group-item').remove();});});var fancyBoxOptions={openEffect:'elastic',closeEffect:'elastic',wrapCSS:'modal-dialog',padding:0,maxWidth:900,closeBtn:$('[data-dismiss="modal"]'),afterShow:function(){$($.fancybox.wrap).find('.dbo_form').dboForms();if($(this.element).hasClass('fancybox-target-blank')){$('<a class="dimension-grid resize-out" href="'+this.href+'"><i class="icon glyphicon glyphicon-resize-full"></i></a>').prependTo(this.inner);}},helpers:{title:null},inline:{scrolling:'auto'},tpl:{closeBtn:'<a href="#close" class="close dimension-grid fancybox-item fancybox-close" data-dismiss="fancybox" aria-label="Close"><i class="icon glyphicon glyphicon-remove"></i></a>',image:'<div class="large-image"><img class="fancybox-image" src="{href}" alt="" /></div>',}};$(function(){$('[data-dismiss~="fancybox"]').click(function(){$.fancybox.close();});jQuery(".fancybox").fancybox(fancyBoxOptions);});var mainLoaderHtml='<img src="/media/gm/app/gmwc/gfx/gfx.loader.gif" class="loader" />';Array.prototype.sum=function(){for(var total=0,l=this.length;l--;total+=this[l]);return total;};var resizeMainMenu=function(element){var element=element;var containerWidth=element.outerWidth()-1;var otherItems=element.children(':visible:not(.menu-section)');var otherItemsWidth=[];otherItems.each(function(){otherItemsWidth.push($(this).outerWidth());});var newMenuWidth=containerWidth-(otherItemsWidth.sum());$('.menu-section').css('width',newMenuWidth-1);var mainMenuWidth=[];$('.menu-main li').each(function(){mainMenuWidth.push($(this).outerWidth());});var mainMenu=(newMenuWidth>=mainMenuWidth.sum()?newMenuWidth:mainMenuWidth.sum()+40);$('.menu-main .nav').css('width',mainMenu-2);var breadcrumbsWidth=[];$('.breadcrumb li').each(function(){breadcrumbsWidth.push($(this).outerWidth());});var breadcrumbMenu=(newMenuWidth>=breadcrumbsWidth.sum()?newMenuWidth:breadcrumbsWidth.sum()+40);$('.menu-breadcrumbs .breadcrumb').css('width',breadcrumbMenu-2);};$(document).ready(function(){$('a[href~="#toggleMenus"]').click(function(){$(this).toggleClass('active');$('.menu-section').toggleClass('active');});resizeMainMenu($('.breadcrumb-area'));$(window).resize(function(){resizeMainMenu($('.breadcrumb-area'));});});$(document).on('scroll',function(){var distance=$('.navbar-top').is('.navbar-with-small-cart')?78:128;if($(document).scrollTop()>distance){$('.navbar-top').addClass('navbar-fixed-top');}else{$('.navbar-top').removeClass('navbar-fixed-top');}});var horizontalItemScroll=function(element,rowCount){var element=element;var itemCount=rowCount;if(element){element=element;element.find(".scroll-container").parent('.panel-body').addClass('panel-body-horizontal-scroller');}else{element=$('.panel-body');element.find(".scroll-container").parent('.panel-body').addClass('panel-body-horizontal-scroller');}
if(itemCount){itemCount=rowCount;}else{itemCount=element.find(".thumbnail").length;}
var itemWidth=element.find(".thumbnail").outerWidth();element.find(".scroll-container").css('width',itemCount*itemWidth+itemCount+20);};$(".panel-body").each(function(){horizontalItemScroll($(this));});function loadMoreItems(uniqueID,params){$('#loadMoreItems_'+uniqueID).html(mainLoaderHtml);var ItemsURL="";ItemsURL=ItemsURL.concat('/api/o/YlM2Wg9Ooku1ZQ-9fN4l5g?_maxrows=1000&ContainerType=&DisplayLink=none&LoadFewer=show&_format=html&',params);console.debug("params: ",params);console.debug("ItemsURL: ",ItemsURL);loadItemsAJAX(uniqueID,ItemsURL);}
function loadFewerItems(uniqueID,params){$('#loadFewerItems_'+uniqueID).html(mainLoaderHtml);var ItemsURL="";ItemsURL=ItemsURL.concat('/api/o/YlM2Wg9Ooku1ZQ-9fN4l5g?ContainerType=&DisplayLink=none&LoadMore=show&_format=html&',params);console.debug("params: ",params);console.debug("ItemsURL: ",ItemsURL);loadItemsAJAX(uniqueID,ItemsURL);}
function loadItemsAJAX(uniqueID,ItemsURL){$.ajax({url:ItemsURL,uniqueID:uniqueID}).done(function(html){innerHTML=$($('<div/>').html(html)).find('#store_item_scroll_'+uniqueID).html();$('#store_item_scroll_'+uniqueID).html(innerHTML);$('.lazy').lazy();});}
var $giftCardSelector=function(){$('.panel-grid .thumbnail-grid.gift-card').each(function(){var $this=$(this);var $container=$this.parents('.panel-grid');$this.find('a').click(function(e){e.preventDefault();$container.find('.thumbnail-grid.gift-card').removeClass('active');$('#_selected_mediaID').val($(this).data('mediaid'));$this.addClass('active');});});};$(document).ready(function(){$giftCardSelector();});$('#shipTo').on('show.bs.modal',function(event){var button=$(event.relatedTarget);var street=$.trim(button.find('[data-shipto~="street"]').html());var city=$.trim(button.find('[data-shipto~="city"]').html());var state=$.trim(button.find('[data-shipto~="state"]').html());var stateVal=$.trim(button.find('[data-shipto~="state"]').data('value'));var zip=$.trim(button.find('[data-shipto~="zip"]').html());var modal=$(this);modal.find('#shipto-street').val(street).focus();modal.find('#shipto-city').val(city);modal.find('#shipto-state').html(state).next('.input').val(stateVal);modal.find('#shipto-zip').val(zip);});$(document).ready(function(){$('.tagsearch-row').each(function(){var $this=$(this);var $input=$this.find('input');var $container=$this.find('.input_container');$this.click(function(){$input.focus();$container.addClass('focus');$('html').addClass('tagsearch-active');});$input.blur(function(){$container.removeClass('focus');$('html').removeClass('tagsearch-active');});$(document).mouseup(function(e){if(e.target.id!==$container.attr('id')&&!$container.has(e.target).length){$container.removeClass('focus');$('html').removeClass('tagsearch-active');}});$container.parents('.collapse').on('shown.bs.collapse',function(){$container.parents('.dbo_form').dboForms();});});});$(document).ready(function(){$('.type_creditcard').each(function(index,ele){var $this=$(ele);var $input=$this.find('.input');var $inputContainers=$input.parent('.input_container');$inputContainers.click(function(){$(this).find('.input').focus();});$input.focus(function(){var $inputContainer=$(this).parent('.input_container');$(this).addClass('full-width');$inputContainer.addClass('focus');$inputContainers.css('width','10%');$inputContainer.css('width','80%');});$input.blur(function(){var $inputContainer=$(this).parent('.input_container');$(this).removeClass('full-width');$inputContainer.removeClass('focus');$inputContainers.css('width','');if($(this).val().length===0){$this.removeClass('value_set');}else{$this.addClass('value_set');}});});});$(document).ready(function(){$(".confirm_password").each(function(index,ele){var $this=$(this);var $confirmInput=$this.find('.input');var $passwordContainer=$this.prev('.form_row');var $passwordInput=$passwordContainer.find('.input');$confirmInput.blur(function(){if($confirmInput.val()!==$passwordInput.val()){$this.addClass('error');$passwordContainer.addClass('error');}else{$this.removeClass('error');$passwordContainer.removeClass('error');}});});});var $closeSmarty=function(){$('.smarty-autocomplete').parent('.smarty-ui').css('display','none');$('.smarty-popup').parent('.smarty-ui').remove();$('.smarty-dots').css('display','');};$(document).ready(function(){$('a.close[data-smarty~="hide"]').each(function(){$(this).click(function(){$closeSmarty();});$(this).parents('.modal').click(function(){$closeSmarty();});});});$(function(){$(".carousel-inner").swipe({swipeLeft:function(event,direction,distance,duration,fingerCount,fingerData){$(this).parent().carousel('prev');},swipeRight:function(event,direction,distance,duration,fingerCount,fingerData){$(this).parent().carousel('next');}});});(function(){var initializing=false,fnTest=/xyz/.test(function(){xyz;})?/ _super /:/.*/;this.Class=function(){};Class.extend=function(prop){var _super=this.prototype;initializing=true;var prototype=new this();initializing=false;for(var name in prop){prototype[name]=typeof prop[name]=="function"&&typeof _super[name]=="function"&&fnTest.test(prop[name])?(function(name,fn){return function(){var tmp=this._super;this._super=_super[name];var ret=fn.apply(this,arguments);this._super=tmp;return ret;};})(name,prop[name]):prop[name];}
function Class(){if(!initializing&&this.init)
this.init.apply(this,arguments);}
Class.prototype=prototype;Class.prototype.constructor=Class;Class.extend=arguments.callee;return Class;};})();var dboio=dboio||{};dboio.AssetLoaderClass=Class.extend({init:function(){this._Promises={};this.Templates={};},load:function(options){options=options||{};if((options.URL)&&(!options.URLs))
options.URLs=options.URL;if(!options.URLs)
throw"AssetLoader.load(): Expecting options.URLs to be defined!";var defs=this.require(options.URLs);if(options.Callback)
j.when.apply(null,defs).then(options.Callback);},require:function(){this.debug("require()");var deferreds=[];for(var i=0;i<arguments.length;i++){var tArg=arguments[i];if(typeof tArg!="object")
tArg=[tArg];for(var a=0;a<tArg.length;a++){var tUrls=this._getUrls(tArg[a]);if(typeof tUrls!="object")
tUrls=[tUrls];for(var m=0;m<tUrls.length;m++){var tUrl=tUrls[m];if(this._Promises[tUrl]){deferreds.push(this._Promises[tUrl]);this.debug("  already loaded: "+tUrl);}
else{this.debug("  loading: "+tUrl);var url=tUrl;if(this.noMinify()){if(url.indexOf("_no_minify")==-1){this.debug("  adding _no_minify to "+url);if(url.indexOf("?")>-1)
url+="&";else
url+="?";url+="_no_minify=true";}}
var tPromise=j.ajax({url:url,success:j.proxy(function(data,textStatus,xhr){var ct=xhr.getResponseHeader("content-type")||"";this.debug("    contentType="+ct);if((ct.match(/text\/javascript/ig))||(ct.match(/application\/x-javascript/ig))){this.debug("    javascript, eval'ing");eval(data);}
else if(ct.match(/text\/css/ig)){this.debug("    text/css, appending style block to head");var newStyles="<style>"+data+"</style>";j("head").append(newStyles);}
else if(ct.match(/text\/html/ig)){this.debug("    text/html, storing in .Templates");this.Templates[tUrl]=data;}
else throw"Don't know how to handle contentType='"+ct+"' (url="+url+")";},this)});deferreds.push(tPromise);this._Promises[tUrl]=tPromise;}}}}
return deferreds;},_getUrls:function(asset){this.debug("_getUrl('"+asset+"')");var url=null;if(typeof asset=="string"){for(ass in dboio.AssetLoader.base.ui.widget){if(ass.toLowerCase()==asset.toLowerCase())
url=dboio.AssetLoader.base.ui.widget[ass];}}
if(url==null)
url=asset;this.debug("  url="+url);return url;},noMinify:function(){var loc=window.location.toString().toLowerCase();if(loc.indexOf("_no_minify")>-1)
return true;else
return false;},debug:function(msg){var loc=window.location.toString().toLowerCase();if(loc.indexOf("debugassetloader")>-1)
{if(msg!=undefined)
console.debug("AssetLoader: "+msg);return true;}
return false;}});dboio.AssetLoader=new dboio.AssetLoaderClass();dboio.AL=dboio.AssetLoader;dboio.AssetLoader.base={};dboio.AssetLoader.base.ui={};dboio.AssetLoader.base.ui.widget={"SelectBox":["/api/c/m2T6nNANi0C4Dc9J6uGCeQ","/api/c/m597qYe_-EGY0oRe3yOBAw"]};"use strict";function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj;};}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj;};}return _typeof(obj);}
(function(){var attrPrefix,classPrefix,functionPrefix,wizardEnv;classPrefix=window._global&&_global.css?_global.css:window.classPrefix?window.classPrefix:'os';functionPrefix=window._global&&_global.env?_global.env:window.functionPrefix?window.functionPrefix:'os';attrPrefix=window._global&&_global.attr?_global.attr:window.attrPrefix?window.attrPrefix:'os';if(!window[functionPrefix]){window[functionPrefix]={};}
wizardEnv=window[functionPrefix];window[functionPrefix].wizard=function(){var call,defaults,doc;call=this.wizard;if(call){call.defaults={debug:false||(window._global?window._global.debug:false||wizardEnv.debugConsole&&wizardEnv.debugConsole()),event:window.event,autoInit:[functionPrefix+'.modal',functionPrefix+'.keypicker',functionPrefix+'.ajaxDomLoader',functionPrefix+'.dom',functionPrefix+'.dragdrop',functionPrefix+'.lookup',functionPrefix+'.canvas',functionPrefix+'.form',functionPrefix+'.contenteditable',functionPrefix+'.menu',functionPrefix+'.codemirror2',functionPrefix+'.codemirror'],containerId:'modalContents',modalClasses:false,closeButton:function closeButton(){return"<a href='javascript:void(0)' class='".concat(call.current.classes.close,"' onclick='").concat(functionPrefix,".wizard.close(event)'><i class='ri ri-close os-unit os-text-l icon glyphicon glyphicon-remove h3'></i></a>");},innerHtml:function innerHtml(){var backgroundImage,classes,closeButton,style;classes={backdrop:call.current.classes.backdrop,dialog:call.current.classes.dialog,content:call.current.classes.content};closeButton='';backgroundImage='';if(typeof call.current.closeButton==='function'){closeButton=call.current.closeButton();}
if(call.current.modalClasses){classes.backdrop=call.current.classes.modal.backdrop;classes.dialog=call.current.classes.modal.dialog;classes.content+=' '+call.current.classes.modal.content;}
if(call.current.backgroundColor||call.current.backgroundImage){style="style='";if(call.current.backgroundColor){style+="background-color:".concat(call.current.backgroundColor,";");}
if(call.current.backgroundImage){style+="background-image:url(".concat(call.current.backgroundImage,")");}
style+="'";}
return"<div class='".concat(classes.backdrop,"'><div class='").concat(classes.dialog,"'><div class='").concat(classes.content,"' ").concat(style,"></div>").concat(closeButton,"</div></div>");},breakpoints:{xs:375,sm:576,md:768,lg:992,xl:1200},classes:{selector:classPrefix+'-wizard',backdrop:classPrefix+'-wizard-backdrop',dialog:classPrefix+'-wizard-dialog',content:classPrefix+'-wizard-content',close:classPrefix+'-wizard-close',hidden:'hidden',animation:'fadeIn',body:classPrefix+'-wizard-no-scroll',modal:{selector:classPrefix+'-modal',backdrop:classPrefix+'-modal-backdrop',dialog:classPrefix+'-modal-dialog',content:classPrefix+'-modal-content'},width:{xs:classPrefix+'-wizard-xs',sm:classPrefix+'-wizard-sm',md:classPrefix+'-wizard-md',lg:classPrefix+'-wizard-lg',xl:classPrefix+'-wizard-xl'}}};defaults=call.defaults;call.fn={consoleParam:function consoleParam(){var params;params=window.location.search.replace('?').split('&');return params.includes('_console=true');},id:function id(length){var Length,charSet,i,id;Length=length||24;id='';charSet='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';i=0;while(i<Length){id+=charSet.charAt(Math.floor(Math.random()*charSet.length));i++;}
return id;},classSelectors:function classSelectors(x){var classes,defined;classes=x.split(' ');defined=function defined(){var j,len,results,sel;results=[];for(j=0,len=classes.length;j<len;j++){sel=classes[j];results.push('.'+sel);}
return results;};return defined().join('');},valueConversion:function valueConversion(v,removeProperty){var lowerCaseV,rv;rv=v;if(v){v=v.trim();}
if(v){lowerCaseV=v.toLowerCase();if(lowerCaseV==='true'){rv=true;}
if(lowerCaseV==='false'){rv=false;}
if(lowerCaseV==='_null'){rv=null;}
if(/^\d*$/.test(v)){rv=parseInt(v);}}else if(v===null){rv=null;}else{if(removeProperty){rv='removeThisProperty';}else{rv='';}}
return rv;},removeProperty:function removeProperty(obj){var prop;for(prop in obj){if(obj[prop]==='removeThisProperty'){delete obj[prop];}}
return obj;},normalizeData:function normalizeData(data){var dataObj,j,k,len,prop,v;dataObj={};if(_typeof(data)==='object'&&!Array.isArray(data)){dataObj=Object.assign(dataObj,data);}
if(Array.isArray(data)){data=data.join('&');}
if(typeof data==='string'){data=data.replace(/^\?/,'');data=data.split('&');for(j=0,len=data.length;j<len;j++){prop=data[j];k=prop.split('=')[0];v=prop.split('=')[1];if(v!==void 0){dataObj[k]=call.fn.valueConversion(v);}}}
return dataObj;},overrides:function overrides(args){var arg,j,len,obj;obj=new Object();obj.data={};for(j=0,len=args.length;j<len;j++){arg=args[j];if(arg instanceof Event){obj.event=arg;}else if(_typeof(arg)==='object'){if(Array.isArray(arg)){obj.concatUrls=arg;}else{obj.data=Object.assign(obj.data,arg);}}else if(typeof arg==='function'){obj.callback=arg;}}
return obj;},assign:function assign(args){var arg,entry,j,len,obj;obj=Object.assign({},call.defaults);for(j=0,len=args.length;j<len;j++){arg=args[j];if(arg instanceof Event){obj.event=arg;}else if(_typeof(arg)==='object'){if(Array.isArray(arg)){if(obj.url&&Array.isArray(obj.url)){obj.url=obj.url.concat(arg);}else{obj.url=arg;}}else if(arg instanceof HTMLElement){obj.srcElement=arg;}else if(window.jQuery&&arg instanceof jQuery){obj.srcElement=arg[0];}else if(arg instanceof Event){obj.event=arg;}else{for(entry in arg){if(obj[entry]&&_typeof(arg[entry])==='object'){if(Array.isArray(arg[entry])){arg=obj[entry].concat(arg[entry]);}else if(arg[entry]instanceof HTMLElement){obj.srcElement=arg[entry];}else if(window.jQuery&&arg[entry]instanceof jQuery){obj.srcElement=arg[entry][0];}else if(arg[entry]instanceof Event){obj.event=arg[entry];}else{arg[entry]=Object.assign(obj[entry],arg[entry]);}}}
obj=Object.assign(obj,arg);}}
if(typeof arg==='string'){if(arg.startsWith('.')||arg.startsWith('[')&&arg.endsWith(']')){obj.srcElement=doc.querySelector(arg);}else if(arg.startsWith('#')){obj.srcElement=doc.getElementById(arg.replace('#',''));}else{obj.name=arg;}}
if(typeof arg==='function'){obj.complete=arg;}
if(typeof obj.url==='string'){if(typeof obj.url==='string'){obj.url=[obj.url];}}
if(obj.data){obj.data=call.fn.normalizeData(obj.data);}
if(!obj.debug&&call.fn.consoleParam()){obj.debug=true;}}
Object.keys(obj).map(function(key){if(obj[key]===void 0){return delete obj[key];}});obj.arguments=args;return obj;}};doc=document;call.observeWidth=function(ele){ele.addEventListener('resize',function(){var i,j,k,l,len,len1,nextKey,ref,ref1;ref=Object.keys(defaults.breakpoints);for(i=j=0,len=ref.length;j<len;i=++j){k=ref[i];ele.classList.remove(defaults.classes.width[k]);}
ref1=Object.keys(defaults.breakpoints);for(i=l=0,len1=ref1.length;l<len1;i=++l){k=ref1[i];nextKey=Object.keys(defaults.breakpoints)[i+1];if(ele.offsetWidth<=defaults.breakpoints[k]){ele.classList.add(defaults.classes.width[k]);if(nextKey){return;}}}});return ele.hasWidhObserver=true;};call.fetch=function(urlIndex){return new Promise(function(resolve,reject){var fetchData,fetchDataArray,fetchUrl,j,len,prop,res;fetchUrl=call.current.url[urlIndex];fetchData={};if(fetchUrl.includes('?')){fetchDataArray=fetchUrl.split('?')[1].split('&');for(j=0,len=fetchDataArray.length;j<len;j++){prop=fetchDataArray[j];fetchData[prop.split('=')[0]]=call.fn.valueConversion(prop.split('=')[1]);}
fetchUrl=fetchUrl.split('?')[0];}
if(call.current.data&&Object.keys(call.current.data).length){Object.keys(call.current.data).map(function(k){return fetchData[k]=call.current.data[k];});}
if(Object.keys(fetchData).length){fetchData=call.fn.removeProperty(fetchData);fetchUrl+='?';Object.keys(fetchData).map(function(k,i){var ampersand;ampersand=i>0?'&':'';return fetchUrl+=ampersand+k+'='+fetchData[k];});}
call.current.url[urlIndex]=fetchUrl;res={};fetch(fetchUrl,{mode:'no-cors'}).then(function(x){var notFound;res=x;if(call.current.debug){console.groupCollapsed('%c'+functionPrefix+'.wizard.fetch(urlIndex)','font-size:1.2em; margin: .6em 0 0; display: block');console.log('urlIndex',urlIndex);console.log('fetchUrl',fetchUrl);console.log('fetch',fetch);console.log('res',res);console.log('current',call.current);console.groupEnd();}
if(x.ok){res=x.text();}else{notFound=new Error(res.statusText,res);reject(notFound);}
return res;}).then(function(res){var container,html,inner;html=res;if(call.current.containerId){if(call.current.containerId.startsWith('#')){call.current.containerId=call.current.containerId.replace('#','');}
if(res.includes('id="'+call.current.containerId+'"')){container=doc.createElement('div');container.innerHTML=res;inner=container.querySelector('#'+call.current.containerId);html=inner.innerHTML;}}
call.wizard.setAttribute('src',fetchUrl);return resolve(html);}).catch(function(x){return reject(x);});return res;});};call.close=function(e){var closestWizard,destroy,event,urlLength;destroy=false;if(e==='destroy'){destroy=true;}
if(!call.wizard){event=e||window.event;closestWizard=event.target.closest(call.fn.classSelectors(call.defaults.classes.selector));}else{closestWizard=call.wizard;}
if(closestWizard&&closestWizard.wizard){call.current=closestWizard.wizard;call.wizard=closestWizard;}
if(event){call.current.event=event;}
call.wizard.classList.remove(call.defaults.classes.animation);if(call.current.name){closestWizard.classList.add(call.current.classes.hidden);}else{destroy=true;}
event=event||call.current.event||window.event;if(call.current.url){urlLength=call.current.url.length;if(call.current.targetElement){call.current.src=call.current.targetElement.getAttribute('src');}
if(urlLength&&call.current.src&&urlLength>1){if(call.current.url.indexOf(call.current.src)===urlLength-1){destroy=true;}}}
if(call.current.debug){console.groupCollapsed('%c'+functionPrefix+'.wizard.close(event)','font-size:1.2em; margin: .6em 0 0; display: block');console.log('event',event);console.log('current',call.current);console.log('closestWizard',closestWizard);console.log('destroy',destroy);console.groupEnd();}
doc.body.classList.remove(call.current.classes.body);if(destroy){closestWizard.remove();}
return call.noTrace();};call.next=function(){var currentUrl,event,nextEvent,nextReturn,nextUrl,nextUrlIndex,overrideObj;for(var _len2=arguments.length,overrides=new Array(_len2),_key2=0;_key2<_len2;_key2++){overrides[_key2]=arguments[_key2];}
overrideObj=call.fn.overrides(overrides);if(Object.keys(overrideObj).length){if(call.current.url.length&&overrideObj.concatUrls){overrideObj.concatUrls.map(function(url){if(call.current.url.indexOf(url)===-1){return call.current.url.push(url);}});delete overrideObj.concatUrls;}
if(call.current.data&&Object.keys(call.current.data).length){overrideObj.data=Object.assign(call.current.data,overrideObj.data);overrideObj.data=call.fn.removeProperty(overrideObj.data);}
if(typeof overrideObj.callback==='function'){overrideObj.next=overrideObj.callback;delete overrideObj.callback;}
call.current=Object.assign(call.current,overrideObj);}
call.wizard.wizard=call.current;event=overrideObj.event||call.current.event||window.event;if(typeof call.current.next==='function'){nextEvent=event;nextEvent[attrPrefix+'Wizard']=call.current;nextReturn=call.current.next(nextEvent);if(nextReturn===false){return false;}}
currentUrl=call.wizard.getAttribute('src');nextUrlIndex=call.current.url.indexOf(currentUrl)+1;nextUrl=call.current.url[nextUrlIndex];call.current.src=nextUrl;call.current.urlIndex=nextUrlIndex;if(call.current.debug){console.groupCollapsed('%c'+functionPrefix+'.wizard.next(event)','font-size:1.2em; margin: .6em 0 0; display: block');console.log('event',event);console.log('current',call.current);console.log('currentUrl',currentUrl);console.log('nextUrl',nextUrl);console.groupEnd();}
if(nextUrl){call.fetch(nextUrlIndex).then(function(res){call.current.fetchTarget=call.wizard.querySelector(call.fn.classSelectors(call.defaults.classes.content));return call.current.fetchTarget.innerHTML=res;});}else{call.complete();}
if(event&&event.target&&typeof event.target.hasAttribute==='function'&&event.target.hasAttribute('onclick')&&event.target.getAttribute('onclick').includes(functionPrefix+'.wizard.next')){return event.target.onclick=event.preventDefault();}};call.prev=function(){var currentUrl,event,overrideObj,prevEvent,prevReturn,prevUrl,prevUrlIndex;for(var _len3=arguments.length,overrides=new Array(_len3),_key3=0;_key3<_len3;_key3++){overrides[_key3]=arguments[_key3];}
overrideObj=call.fn.overrides(overrides);if(Object.keys(overrideObj).length){if(call.current.url.length&&overrideObj.concatUrls){overrideObj.concatUrls.map(function(url){if(call.current.url.indexOf(url)===-1){return call.current.url.push(url);}});delete overrideObj.concatUrls;}
if(call.current.data&&Object.keys(call.current.data).length){overrideObj.data=Object.assign(call.current.data,overrideObj.data);overrideObj.data=call.fn.removeProperty(overrideObj.data);}
if(typeof overrideObj.callback==='function'){call.current.prev=overrideObj.callback;delete overrideObj.callback;}
call.current=Object.assign(call.current,overrideObj);}
call.wizard.wizard=call.current;event=overrideObj.event||call.current.event||window.event;if(typeof call.current.prev==='function'){prevEvent=event;prevEvent[attrPrefix+'Wizard']=call.current;prevReturn=call.current.prev(prevEvent);if(prevReturn===false){return false;}}
currentUrl=call.wizard.getAttribute('src');prevUrlIndex=call.current.url.indexOf(currentUrl)-1;if(prevUrlIndex===-1){prevUrlIndex=0;}
prevUrl=call.current.url[prevUrlIndex];call.current.src=prevUrl;call.current.urlIndex=prevUrlIndex;if(call.current.debug){console.groupCollapsed('%c'+functionPrefix+'.wizard.prev(arguments)','font-size:1.2em; margin: .6em 0 0; display: block');console.log('arguments',overrides);console.log('event',event);console.log('current',call.current);console.log('currentUrl',currentUrl);console.log('prevUrl',prevUrl);console.groupEnd();}
if(prevUrl){call.fetch(prevUrlIndex).then(function(res){call.current.fetchTarget=call.wizard.querySelector(call.fn.classSelectors(call.defaults.classes.content));call.current.fetchTarget.innerHTML=res;return call.always(call.wizard);});}
if(event&&event.target&&typeof event.target.hasAttribute==='function'&&event.target.hasAttribute('onclick')&&event.target.getAttribute('onclick').includes(functionPrefix+'.wizard.prev')){return event.target.onclick=event.preventDefault();}};call.complete=function(event){var completeEvent;if(typeof call.current.complete==='function'){completeEvent=event||call.current.event||window.event;completeEvent[attrPrefix+'Wizard']=call.current;call.current.complete(completeEvent);}
return call.close('destroy');};call.always=function(element){var callbackEvent;call.current=element.wizard;call.current.targetElement=element;if(call.current){if(typeof call.current.always==='function'){callbackEvent=call.current.event||window.event;callbackEvent[attrPrefix+'Wizard']=call.current;call.current.always(callbackEvent);}
if(call.current.autoInit&&window[functionPrefix].ui&&typeof window[functionPrefix].ui.init==='function'){return window[functionPrefix].ui.init({components:call.current.autoInit,container:call.current.targetElement,debug:call.current.debug});}}};call.noTrace=function(){delete call.current;return delete call.wizard;};call.build=function(args){var beforeEvent;call.current={};call.current=call.fn.assign(args);call.current.reopenCount=0;if(doc.body){if(call.current.name){call.wizard=doc.querySelector("[name='".concat(call.current.name,"']"));}
if(call.current&&call.wizard){call.current=call.wizard.wizard;call.current.reopenCount++;call.wizard.wizard=call.current;if(call.wizard.classList.contains(call.current.classes.hidden)){call.wizard.classList.remove(call.current.classes.hidden);}
call.wizard.classList.add(call.defaults.classes.animation);call.always(call.wizard);}else{if(typeof call.current.before==='function'){beforeEvent=call.current.event||window.event;beforeEvent[attrPrefix+'Wizard']=call.current;call.current.before(beforeEvent);}
call.wizard=doc.createElement('div');if(call.current.name){call.wizard.setAttribute('name',call.current.name);}
call.wizard.id=attrPrefix+'Wizard-'+call.fn.id();call.wizard.classList.add(call.defaults.classes.selector);call.wizard.classList.add('animated');call.wizard.classList.add(call.defaults.classes.animation);if(call.defaults.modalClasses){call.wizard.classList.add(call.defaults.classes.modal.selector);}
call.wizard.innerHTML=call.defaults.innerHtml();doc.body.appendChild(call.wizard);if(call.current.debug){console.groupCollapsed('%c'+functionPrefix+'.wizard(arguments)','font-size:1.2em; margin: .6em 0 0; display: block');console.log('arguments',args);console.log('current',call.current);console.groupEnd();}
call.fetch(0).then(function(res){var doneEvent;call.wizard=doc.getElementById(call.wizard.id);call.current.res=res;call.current.fetchTarget=call.wizard.querySelector(call.fn.classSelectors(call.defaults.classes.content));call.current.fetchTarget.innerHTML=res;call.wizard.wizard=call.current;if(typeof call.current.done==='function'){doneEvent=call.current.event||window.event;doneEvent[attrPrefix+'Wizard']=call.current;call.current.done(doneEvent);}
return call.always(call.wizard);}).catch(function(x){if(call.current.debug){console.error(x,call.current);}
return call.close();});if(!call.wizard.hasWidhObserver){call.observeWidth(call.wizard);}}
return doc.body.classList.add(call.current.classes.body);}};for(var _len=arguments.length,args=new Array(_len),_key=0;_key<_len;_key++){args[_key]=arguments[_key];}
call.build(args);return call.current;}};window[functionPrefix].wizard();}).call(void 0);var GMWC={};jQuery.fn.extend({placeholder:function(focusClass){return jQuery(this).each(function(){var v=jQuery(this).val();var p=jQuery(this).attr("placeholder");if(v==p||v==''||v==null){jQuery(this).val(p);};$(this).bind('focusin',function(){jQuery(this).parent('div').addClass(focusClass);if(this.value==p)this.value='';});jQuery(this).bind('focusout',function(){jQuery(this).parent('div').removeClass(focusClass);if(this.value==''){this.value=p;};if(this.value=='')this.value=p;});});}});jQuery.fn.extend({packageNumber:function(){return jQuery(this).each(function(e){var e=jQuery(this).attr('id');var url=jQuery('#'+e).attr('get');jQuery('#'+e).submit(function(){var v=jQuery('#'+e).find('input').val();v=v.toLowerCase();v=v.trim();v=v.replace(/ /g,"");alert(url+v);return false;});jQuery('#'+e).find('.clearSearch').click(function(){var v=jQuery('#'+e).find('input').val();v=v.toLowerCase();v=v.trim();v=v.replace(/ /g,"");alert(url+v);return false;});});}});var dboio=dboio||{};dboio.Util={};dboio.Util.newline="\n";var dboio=dboio||{};dboio.Util=dboio.Util||{};dboio.Util.Entity={getDisplay:function(entityUid,rowId,displayContainer)
{var url="/api/output/entity/"+entityUid;url+="/"+rowId;j.ajax({type:"GET",url:url,dataType:"json",success:j.proxy(function(res){if(res.Successful)
{var tRec=res.Payload.Records[0];var dd=res.Payload.Metadata.DefaultDisplay;if(!dd)
{dd="#{"+res.Payload.Metadata.PrimaryKey.PhysicalName+"}";for(var c=0;c<tRec.length;c++){if((tRec[c].DisplayName=="Name")||(tRec[c].DisplayName=="Path"))
dd+=":#{"+tRec[c].DisplayName+"}";}
for(var c=0;c<tRec.length;c++){if(tRec[c].DisplayName=="UID")
dd+=":#{"+tRec[c].DisplayName+"}";}}
for(var c=0;c<tRec.length;c++){var patt=new RegExp("#{"+tRec[c].PhysicalName+"}","i");dd=dd.replace(patt,tRec[c].Value);}
var title="";var pkUID=res.Payload.Metadata.PrimaryKey.UID;var pkVal=null;for(var c=0;c<tRec.length;c++){var tCol=tRec[c];if(tCol.UID==pkUID)
title+=pkUID.substr(pkUID.indexOf(".")+1)+":"+tCol.Value;}
for(var c=0;c<tRec.length;c++){if((tRec[c].DisplayName=="Name")||(tRec[c].DisplayName=="Title")||(tRec[c].DisplayName=="Path")||(tRec[c].DisplayName=="UID")||(tRec[c].UID.match(new RegExp("name","i"))))
title+=" "+tRec[c].DisplayName+":"+tRec[c].Value;}
j(displayContainer).html(dd).attr("title",title);}},this)});}};dboio.Util.isNumber=function(n){return((!isNaN(parseFloat(n)))&&(isFinite(n)));};dboio.Util.Events={};dboio.Util.Events.Custom={};dboio.Util.Events.Custom.entity_form={};dboio.Util.Events.Custom.entity_form.add_cancel="_base:entity_form:add:cancel";dboio.Util.Events.Custom.entity_form.add_successful="_base:entity_form:add:successful";dboio.Util.Events.Custom.entity_form.add_failure="_base:entity_form:add:failure";dboio.Util.Events.Custom.entity_form.edit_cancel="_base:entity_form:edit:cancel";dboio.Util.Events.Custom.entity_form.edit_successful="_base:entity_form:edit:successful";dboio.Util.Events.Custom.entity_form.edit_failure="_base:entity_form:edit:failure";dboio.Util.Events.baseEvent=function(element,evt,extraParams,baseData){if(typeof evt==="string")
evt=jQuery.Event(evt);evt._base=baseData;jQuery(element).trigger(evt,extraParams);if((parent)&&(parent._baseIframeEvent))
parent._baseIframeEvent(evt);}
var UtilClass=function(){this.debug=(function(msg,object){var loc=window.location.toString().toLowerCase();if(loc.indexOf("debugutil")>-1)
{if(msg!=undefined){if(object!=undefined)
console.debug("util: "+msg,object);else
console.debug("util: "+msg);}
return true;}});this.error=(function(msg,object){var loc=window.location.toString().toLowerCase();if(loc.indexOf("debugutil")>-1)
{if(msg!=undefined){if(object!=undefined)
console.error("util: "+msg,object);else
console.error("util: "+msg);}
return true;}});this.init=(function(){this.debug('init',this);});this.validateForm=(function(theForm){this.debug('validateForm',theForm);if(theForm.length==0){this.error('validateForm: Failed: Invalid form passed. Must be a jquery object',theForm);alert('Internal error');return false;}
theForm.find('.form_row.error').removeClass('error');var validated=true;var formData={};theForm.find('.required').each(function(){var input=$(this).find('.input');if(input.length==0){document.util.error('required field with no input',this);}else{document.util.debug('required field',input);if(input.val()==''){document.util.debug('required field has no value',input.val());validated=false;input.parents('.form_row').addClass('error');}else if(input.hasClass('email')&&!document.util.validateEmail(input.val())){document.util.debug('required field is not a valid email',input.val());validated=false;input.parents('.form_row').find('.error').text('Not a valid email address');input.parents('.form_row').addClass('error');}else if(input.hasClass('numeric')&&isNaN(input.val())){document.util.debug('required field is not numeric',input.val());validated=false;input.parents('.form_row').find('.error').text('Must be numeric');input.parents('.form_row').addClass('error');}else{formData[input.prop('name')]=input.val();}}});this.debug('validateForm finished validated:',validated);return validated;});this.validateEmail=function(email){var re=/^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;return re.test(email);};this.sendConfirmationEmail=(function(siteShortName,transactionID,parentDomID){var filters='?_confirm=true&_filter:TransactionID='+transactionID;var url='/api/content/email/';var parentElement=$(parentDomID);if(parentElement.length>0){parentElement.find('.send-link').hide();parentElement.find('.loading').show();}
switch(siteShortName.toLowerCase()){case'gmwc':url+='DZA622VrwUCldA0jwq1mxA';break;case'cbc':url+='1skYAeCshEClXa9JgiqWHw';break;default:alert('Internal error. Your order has been submitted but we failed to send you a confirmation email. Site Short Name not supported:'+siteShortName);return false;}
url+=filters;var apology='\n\nWe apologize for the inconvenience.\n\nIf you have just submitted a transaction, it HAS been successfully completed!';$.ajax({url:url}).done(function(res,textStatus,jqXHR){if(!res.Successful){if(parentElement.length>0){parentElement.find('.send-link').show();parentElement.find('.loading').hide();}
var msg='There was a problem sending the email confirmation (';msg+=res.Messages.join(', ');msg+='). '+apology;alert(msg);}else{if(parentElement.length>0){parentElement.find('.loading').hide();parentElement.find('.success').show();}}}).fail(function(){alert('There was a problem sending the email confirmation (fatal error!). '+apology);if(parentElement.length>0){parentElement.find('.send-link').show();parentElement.find('.loading').hide();}});});};document.util=new UtilClass();function addCashFormValidation(){let form=event.target,classes={hidden:'hidden',hasError:'has-error'};if(form.checkValidity()){return true;}
else{let checkValidity=function(element){let helpBlock=element.nextElementSibling;if(helpBlock){if(element.checkValidity()){helpBlock.classList.add(classes.hidden);helpBlock.parentElement.classList.remove(classes.hasError);}
else{helpBlock.innerText=element.validationMessage;helpBlock.classList.remove(classes.hidden);helpBlock.parentElement.classList.add(classes.hasError);return false;}}}
for(const ele of form){checkValidity(ele);ele.addEventListener('change',function(event){checkValidity(this);});}
return false;}}
function addCashFormSubmit(){event.preventDefault();let form=event.srcElement,submitEvent=event,classes={hidden:'hidden',hasError:'has-error',alertDanger:'alert-danger',alertInfo:'alert-info'},alert=form.querySelector('.alert'),formData=new FormData(event.target),messages=function(array){let msgReturn=[];for(const message of array){if(message&&message[0]=='\t'){msgReturn.push(message.trim());}}
msgReturn=msgReturn.join('\n');if(msgReturn&&msgReturn.startsWith('{')&&msgReturn.endsWith('}')){let jsonMessage=JSON.parse(msgReturn);if(jsonMessage.Successful=='False'){msgReturn=jsonMessage.Message;}else{msgReturn=false;}}
return msgReturn;};if(!form.submitting){const addSubmission=new XMLHttpRequest();addSubmission.addEventListener('load',function(event){let
res=JSON.parse(event.target.responseText),errorText=messages(res);if(errorText){alert.innerText=errorText;alert.classList.add(classes.alertDanger);alert.classList.remove(classes.alertInfo);alert.classList.remove(classes.hidden);}
else{debugger;window.alert(res[0].Message);location.reload();}
delete form.submitting;});addSubmission.open('POST','/api/output/gm_cash_add');addSubmission.send(formData);form.submitting=true;}}
var CartClass=function(){var animateIn='fadeInDown';var animateOut='fadeOutUp';this.qCTimer=null;var clearTimer;var startTimer=this.startTimer=(function(element,time){this.qCTimer=window.setTimeout(function(){$(element).removeClass(animateIn).addClass(animateOut);},time);clearTimer=this.qCTimer;});this.debug=(function(msg,object){var loc=window.location.toString().toLowerCase();if(loc.indexOf("debugcart")>-1)
{if(msg!=undefined){if(object!=undefined)
console.debug("cart: "+msg,object);else
console.debug("cart: "+msg);}
return true;}});this.error=(function(msg,object){var loc=window.location.toString().toLowerCase();if(loc.indexOf("debugcart")>-1)
{if(msg!=undefined){if(object!=undefined)
console.error("cart: "+msg,object);else
console.error("cart: "+msg);}
return true;}});this.init=(function(){this.debug('init',this);});this.refreshCart=(function(showSmallCart){if(showSmallCart==null)
showSmallCart=true;this.debug('refreshCart',showSmallCart);$('#cart_summary_container').load('/api/output/gm_cart_summary?_output=html&_template=kmYiDpAJxUadMzYGZS2Iyg',function(){document.cart.debug('refreshCart : finished loading summary',showSmallCart);if($('#cart_summary_widget')&&$('#cart_summary_widget').html().length>0){document.cart.debug('refreshCart : cart found, loading small cart',showSmallCart);$('#cart_contents').load('/api/content/7GG5G44ssk62ySaoYqMPTQ',function(){document.cart.showSmallCart('.navbar-cart');if(showSmallCart)
document.cart.quickCart('.quick-cart',7000,true);$('[data-toggle~="showQuickCart"]').hover(function(){document.cart.quickCart('.quick-cart',0,false);});document.cart.smallCartSpinner('hide');});}
$('#cart_summary_container').show();});});this.qCCounter=(function(element){this.debug('qCCounter',element);if($(element).hasClass('bounceIn')){$(element).removeClass('bounceIn').addClass('bounceIn');}else{$(element).addClass('bounceIn');}});this.smallCartSpinner=(function(element){this.debug('smallCartSpinner',element);var hide='auto',defaultClass='._smallCartSpinner';if(element==='hide'){element=$(defaultClass);hide=true;}
var $ele=typeof element==='string'?$(element):element;if(element===undefined){$ele=$(defaultClass);}
if($ele.hasClass('hidden')&&hide==='auto'){$ele.removeClass('hidden');}else{$ele.addClass('hidden');}});this.showSmallCart=(function(element){this.debug('showSmallCart',element);if($(element).is(':visible')){$('.navbar-top').addClass("navbar-with-small-cart");this.qCCounter('#cartCounter');}});this.quickCart=function(element,time,resetTimer){this.debug('quickCart',time);var $element=$(element);if(resetTimer===true){clearTimeout(this.qCTimer);}
if(time&&time>0){if($element.hasClass(animateIn)){this.startTimer($element,time);}
else{if($element.hasClass(animateOut)||$element.hasClass('hidden')){clearTimeout(this.qCTimer);$element.removeClass(animateOut).removeClass('hidden').addClass(animateIn);if(resetTimer===true){clearTimeout(this.qCTimer);}
this.startTimer($element,time);}}}
else{$element.removeClass(animateOut).removeClass('hidden').addClass(animateIn);}
$('html, body div').one('click',function(e){if(!$(element).is(e.target)&&$(element).has(e.target).length===0){e.preventDefault();startTimer($(element),0);}});$(element).on('mouseenter mouseover',function(e){clearTimeout(clearTimer);});};this.addItemByForm=(function(formID){this.debug('addItemByForm',formID);if($(formID).length==0){this.error('addItemByForm : unable to find formID',formID);alert('Internal error, unable to add item to cart');return false;}
$.ajax({url:'/api/output/gm_cart_addItem',type:'post',data:$(formID).serialize(),dataType:'json',beforeSend:function(jqXHR,settings){document.cart.smallCartSpinner();}}).done(function(res){document.cart.debug('addItemByForm done',res);var success=true;var errorMessage;if(res&&Array.isArray(res)){if(res[0].Successful&&res[0].Successful.toLowerCase()=="true"){document.cart.refreshCart();if(!$.isEmptyObject(zaius)){zaius.event("product",{action:"add_to_cart",product_id:"item_"+res[0].ItemID});}}else if(res[0].Message){errorMessage=res[0].Message;success=false;}}else{this.error('addItemByForm invalid result',res);success=false;if(res.Message){errorMessage=res.Message;}else if(res.Messages){errorMessage=res.Messages;}}
if(!success){if(!errorMessage){errorMessage='We were unable to add this item to you cart. Please try again';}
document.cart.smallCartSpinner('hide');alert(errorMessage);}});return false;});this.addClubByPackageDiscountID=(function(packageDiscountID,shipmentCycle,redirectToCheckout){var url='/api/output/gm_cart_addClub?_filter:PackageDiscountID='+packageDiscountID;var cycle=0;switch(shipmentCycle.toLowerCase()){case'monthly':cycle=1;break;case'every-other':case'every other':case'everyother':cycle=2;break;case'quarterly':cycle=3;break;default:cycle=1;}
url=url+'&_filter:ShipmentCycle='+cycle;$.ajax({url:url,type:'get',dataType:'json'}).done(function(res){if(res[0].Successful){document.cart.refreshCart();if(!$.isEmptyObject(zaius)){zaius.event("product",{action:"add_to_cart",product_id:"club_"+res[0].ClubID});if(res[0].AddonClubID){zaius.event("product",{action:"add_to_cart",product_id:"club_"+res[0].AddonClubID});}}
if(redirectToCheckout)
window.location.href="/checkout";}else{var msg=res[0].Message;alert(msg);}});});this.addItemPackage=(function(packageDiscountID,addQuantity,redirectToCheckout){var url='/api/output/gm_cart_addItemPackage?_filter:PackageDiscountID='+packageDiscountID+'&_filter:AddQuantity='+addQuantity;$.ajax({url:url,type:'get',dataType:'json'}).done(function(res){if(res[0].Successful){document.cart.refreshCart();if(!$.isEmptyObject(zaius)){zaius.event("product",{action:"add_to_cart",product_id:res[0].ZaiusProductID});}
if(redirectToCheckout)
window.location.href="/checkout";}else{var msg=res[0].Message;alert(msg);}});return false;});};document.cart=new CartClass();Identity={_AnonymousDisplay:"Member Login",_Loading:"<img src='/media/gm/app/gmwc/gfx/2x/icn.load.picker.gif' />",set:function(id,options){options=options||{};if((!id)||(!id.Email)||(!id.UserID))
id=null;var msg="set(";if(id)msg+="{ Email:'"+id.Email+"', UserID:'"+id.UserID+"', LoggedInUserID:'"+id.LoggedInUserID+" }";else msg+="null";msg+=")";if(id)
{Identity._Current=id;$.ajax({url:"/api/output/g2Rhh5NUt0qfT3nA_p7uOQ",dataType:"json",cache:false,success:function(data,textStatus,jqXHR){var successful=true;msg+=dboio.Util.newline+"  data.length="+((data)?data.length:"undefined!");if((data)&&(data.length==1))
{var tInfo=data[0];if(tInfo.UserID!=id.UserID)
{msg+=dboio.Util.newline+"  UserID does not compute!!";successful=false;}
else
{if(Identity._Current.LoggedInUserID)
tInfo.LoggedInUserID=Identity._Current.LoggedInUserID;Identity._Current=tInfo;msg+=dboio.Util.newline+"  YES: "+JSON.stringify(Identity._Current);}}
else
{successful=false;}
msg+=dboio.Util.newline+"  successful="+successful;if(successful)
{Identity.updateUI();if(options.Callback){msg+=dboio.Util.newline+"  executing callback";options.Callback(Identity._Current);}}
else
{msg+=dboio.Util.newline+"  nullifying identity";Identity.set(null);}
Identity.debug(msg);}});}
else
{Identity.debug(msg);Identity._Current=null;Identity.updateUI();if(options.Callback){options.Callback(null);}}
Identity.showLoading(false);},get:function(){return Identity._Current;},addListener:function(list){Identity.debug("addListener()");var listeners=Identity.getListeners();listeners.push(list);Identity.debug("  "+listeners.length+" listeners");$("#login_handle").data("Listeners",listeners);},getListeners:function(){var listeners=$("#login_handle").data("Listeners");if(!listeners){Identity.debug("  creating listeners");listeners=[];}
return listeners;},updateUI:function(){Identity.debug("updateUI()");var email="";var firstName="";var lastName="";var id=Identity.get();if(id){email=id.Email;firstName=id.FirstName;lastName=id.LastName;}
Identity.debug("  email="+email);$(".setLoggedInUser_Email").html(email);$(".setLoggedInUser_FirstName").html(firstName);$(".setLoggedInUser_LastName").html(lastName);var listeners=Identity.getListeners();Identity.debug("  executing "+listeners.length+" listeners");for(var g=0;g<listeners.length;g++)
listeners[g](id);},showLoading:function(trueOrFalse){if(trueOrFalse){$("._authentication_loggedin").hide();$("._authentication_anon").hide();$("._authentication_pending").show();}else{$("._authentication_loggedin").hide();$("._authentication_anon").hide();$("._authentication_pending").hide();if(Identity.isAuthenticated())
$("._authentication_loggedin").show();else
$("._authentication_anon").show();}},setSite:function(s){Identity._Site=s;},getSite:function(){return Identity._Site;},isImpersonating:function(){var wl=window.location;return((wl.host[0]=="_")||(wl.host.indexOf("as-")==0));},showImpersonationContent:function(){if(Identity.isImpersonating()){Identity.debug("Showing impersonation content!");$(document).ready(function(){$('._dboio_as').show();});}},getImpersonatingCSRInfo:function(){this.debug("getImpersonatingCSRInfo()");if(this._ImpersonatingCSR_Deferred==null){this.debug("  NO ImpersonatingCSR_Deferred, yet")
if(this.isImpersonating()){this.debug("  impersonating, getting CSR info");this._ImpersonatingCSR_Deferred=$.Deferred();var url=this._ImpersonatingCSR_URL;url+=this.get().LoggedInUserID;$.ajax(url,{dataType:"json"}).done($.proxy(function(data,textStatus,jqXHR){this._ImpersonatingCSR_Data.UserID=data[0].UserID;this._ImpersonatingCSR_Data.ContactID=data[0].ContactID;this.debug("  GOT CSR info: "+JSON.stringify(this._ImpersonatingCSR_Data));this._ImpersonatingCSR_Deferred.resolve(this._ImpersonatingCSR_Data);},this));}else{this._ImpersonatingCSR_Deferred=$.Deferred();this._ImpersonatingCSR_Deferred.resolve(this._ImpersonatingCSR_Data);this.debug("  Not impersonating: "+JSON.stringify(this._ImpersonatingCSR_Data));}}
return this._ImpersonatingCSR_Deferred.promise();},debug:function(msg,object){var loc=window.location.toString().toLowerCase();if(loc.indexOf("debugidentity")>-1)
{if(msg!=undefined)
console.debug("Identity: "+msg,object);return true;}}};Identity._Current=null;Identity._AuthenticationUrl="/authenticate.json";Identity._ResponseAuthenticationHeader="X-dboio-Authentication";Identity._identityHeaderContainerID="#identityHeaderContainer";Identity._identityHeaderContainerURL="/api/output/g2Rhh5NUt0qfT3nA_p7uOQ?_template=eV0dJbza60yflHKLryr3zw&_output=html";Identity._impersonateWidgetContainerID="#impersonateWidgetContainer";Identity._impersonateWidgetContainerURL="/api/c/FZtM1tpWZ022R1CE2UPINA";Identity.isAuthenticated=function(){var isA=(Identity._Current!=null)
Identity.debug("isAuthenticated(): "+isA);return isA;};Identity.loadIdentityHeader=function(){Identity.debug("loadIdentityHeader ()",$(Identity._identityHeaderContainerID));$(Identity._identityHeaderContainerID).load(Identity._identityHeaderContainerURL,function(){var loc=window.location.toString().toLowerCase();if(loc.indexOf("debug")>-1)
$('#_debug_modal_button').show();});};Identity.loadImpersonateBar=function(){Identity.debug("loadImpersonateBar ()",$(Identity._impersonateWidgetContainerID));$(Identity._impersonateWidgetContainerID).load(Identity._impersonateWidgetContainerURL);};$(document).ready(function(){Identity.loadIdentityHeader();Identity.loadImpersonateBar();});Identity.doAuthenticate_existing=function(event){var form=$(event.target);Identity.debug("doAuthenticate_existing()",form);var un=form.find(".input.username").val();var pw=form.find(".input.password").val();var referer=form.find(".input.referer").val();form.find('.form_row.error').removeClass('error');if(!Identity.validateEmail(un)){form.find(".input.username").parents('.form_row').find(".error").text("Please enter a valid email address");form.find(".input.username").parents('.form_row').addClass('error');}else if(pw.length==0){form.find(".input.password").parents('.form_row').find(".error").text("Password is required");form.find(".input.password").parents('.form_row').addClass('error');}else{$("#authenticationContent").hide();$("#authenticationLoading").show();$.ajax({url:Identity._AuthenticationUrl,data:"_username="+un+"&_password="+pw,type:"POST",dataType:"json",success:function(data,status,jqXHR){Identity.debug("doAuthenticate_existing() succcess! Hitting cart_summary",form);if(jqXHR.getResponseHeader(Identity._ResponseAuthenticationHeader)=="Successful"){$.ajax({url:'/api/o/gm_cart_summary'}).always(function(data,status,jqXHR){if(!$.isEmptyObject(zaius)){zaius.event("account",{action:"login"});}
if(referer.length>0)
location.href='/'+referer;else
location.reload();});}else{alert("Login failed.");$("#authenticationContent").show();$("#authenticationLoading").hide();}}});}};Identity.validateEmail=function(email){var re=/^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;return re.test(email);};Identity.doAuthenticate_createAccount=function(event){var form=$(event.target);var referer=form.find(".input.referer").val();var siteID=form.find(".input.siteID").val();var memberGroupID=form.find(".input.memberGroupID").val();Identity.debug("doAuthenticate_createAccount()",form);var fields=["FirstName","LastName","Email","Password"];for(var e=0;e<fields.length;e++)
form.find(".error_"+fields[e]).hide();var errors=[];var formData="";var formDataMod="&RowID:add1;column:user.";for(var f=0;f<fields.length;f++){var tVal=form.find(".field_"+fields[f]).val();formData+=formDataMod+fields[f]+"="+tVal;if((tVal)&&($.trim(tVal)!="")){if(fields[f]=="Email"&&!Identity.validateEmail(tVal)){if(form.find(".require_"+fields[f]).length>0){form.find(".require_"+fields[f]).text("This Email address is invalid");errors.push(fields[f]);}}}else{if(form.find(".require_"+fields[f]).length>0){errors.push(fields[f]);}}}
if(errors.length>0){Identity.debug("errors detected",errors);for(var e=0;e<errors.length;e++)
form.find(".require_"+errors[e]).parents('.form_row').addClass('error');form.find(".field_"+errors[0]).select();}
else{var doit=true;var params=Identity.createAccountFormDataGeneration(formData,siteID,memberGroupID);if(Identity.debug())
doit=confirm(params);if(doit){form.find("._errors").parents('.form_row').removeClass('error');$("#authenticationContent").hide();$("#authenticationLoading").show();$.ajax({url:'/api/input/submit',type:'post',data:params,dataType:'json'}).done(function(res){if(res.Successful){Identity.debug("doAuthenticate_createAccount : input submit returned true. Checking referer",referer);if(!$.isEmptyObject(zaius)){zaius.event("account",{action:"register"});}
if(referer.length>0)
location.href='/'+referer;else
location.reload();}else{var msg=res.Messages;for(var key in res.Messages){if(res.Messages.hasOwnProperty(key)){Identity.debug("doAuthenticate_createAccount error key ["+key+"] res.Messages[key] ["+res.Messages[key]+"] res.Messages[key].indexOf(for key 'user_Email_Unique') : ["+res.Messages[key].indexOf("for key 'user_Email_Unique'")+"]",msg);if(res.Messages[key].indexOf("for key 'user_Email_Unique'")>0)
msg='An account already exists with this email address. Try the "Forgot Password" link';}}
Identity.debug("doAuthenticate_createAccount : input submit failed",res);alert(msg);}});}}};Identity.createAccountFormDataGeneration=function(formData,siteID,memberGroupID){Identity.debug("FormDataGeneration() siteID:"+siteID,formData);var params="_confirm=true&_no_transaction=true&_login=true&RowID:add2;column:user_group_rel.UserID=add1&RowID:add2;column:user_group_rel.GroupID="+memberGroupID+"&RowID:add3;column:contact.UserID=add1&RowID:add3;column:contact.Primary=1&RowID:add3;column:contact.Active=1&RowID:add3;column:contact.SiteID="+siteID+"&RowID:add4;column:recipient.ContactID=add3&RowID:add4;column:recipient.ChildContactID=add3&RowID:add4;column:recipient.Nickname=Myself";params+=formData;return params;}
Identity.requireAuthentication=function(options){Identity.debug("requireAuthentication()");if(Identity.isAuthenticated())
{Identity.debug("  authenticated");options.Callback(Identity.get());}
else
{Identity.debug("  NOT authenticated");Identity.doAuthenticate(options);}};Identity.doLogout=function(options){Identity.debug("doLogout()");Identity.showLoading(true);$.ajax({url:'/api/input/submit?_logout=true',type:'get'}).done(function(res){if(!$.isEmptyObject(zaius)){zaius.event("account",{action:"logout"});}
location.href="/";});};Identity.noPasswordLogin=function(email,siteShortName){Identity.debug("noPasswordLogin email",email);Identity.debug("noPasswordLogin siteShortName",siteShortName);formData={'_filter:UserEmail':email,'CurrentPage':document.location.protocol+"//"+document.location.hostname+document.location.pathname,'_confirm':true};var emailURL='';switch(siteShortName.toLowerCase()){case'gmwc':emailURL='/api/c/email/qbmyvtpcuuypmt85knqu7q';break;case'cbc':emailURL='/api/c/email/2ae0wglwj02hfkq6ja12lq';break;default:alert('Internal error. Site Short Name not supported:'+siteShortName);return false;}
Identity.debug("noPasswordLogin url",emailURL);Identity.debug("noPasswordLogin formData",formData);$.ajax({url:emailURL,type:'get',data:formData,dataType:'json'}).always(function(res){Identity.debug('No password login results',res);var msg=null;if(res.Successful){linkContainer.text('Please check your email for a log in link.');}
else if(res.Messages){Identity.error('No password login error.',res);linkContainer.find('span').show();linkContainer.find('._loading').addClass('hidden');emailField.parents('.form_row').addClass('error');if((res.Messages.length)&&(res.Messages[0].match(/~Recipient tag is required for ~To/ig)))
msg="No account found with this email address.";else{msg=res.Messages.join(", ");msg+=". We apologize for the inconvenience - please try again later.";}
emailField.parents('.form_row').find('.error').text(msg);}else{Identity.error('No password login error.',res.responseText);}});return false;};Identity.forgotPassword=function(parentDom){Identity.debug("forgotPassword");var emailField=$(parentDom).find('.dbo_form.login .input.username');var linkContainer=$(parentDom).find('.forgot-password');var email=emailField.val();emailField.parents('.form_row').removeClass('error');if(email==0||!Identity.validateEmail(email)){emailField.parents('.form_row').addClass('error');emailField.parents('.form_row').find('.error').text('Valid email address is required.');return false;}
linkContainer.find('span').hide();linkContainer.find('._loading').removeClass('hidden');formData={'_filter:UserEmail':email,'_confirm':true};var siteShortName=$(parentDom).find(".dbo_form.login .input.siteShortName").val();var emailURL='';switch(siteShortName){case'gmwc':emailURL='/api/c/email/SoMXAbOS0CL0cbad7rWA';break;case'cbc':emailURL='/api/c/email/9uxYUWItb0ibqnjzwTKhQ';break;default:alert('Internal error. Site Short Name not supported:'+siteShortName);return false;}
Identity.debug("forgotPassword url",emailURL);$.ajax({url:emailURL,type:'post',data:formData,parentDom:parentDom,dataType:'json'}).always(function(res){Identity.debug('Reset password results',res);if(linkContainer.length==0){alert('Please check your email for a log in link.');}else{linkContainer.text('Please check your email for a log in link.');}});return false;};var suggestionSources=[{'UniqueName':'Region-suggestions','Header':'Regions','URL':'/api/o/3tGB9knH3USTiq1Yfd4stg?_format=JSON&_filter:Search=%QUERY'},{'UniqueName':'ItemType-suggestions','Header':'Varietals','URL':'/api/o/icDdf8yeVEul0UXZpvWzHw?_format=JSON&_filter:Search=%QUERY'},{'UniqueName':'ClubSeries-suggestions','Header':'Club Series','URL':'/api/o/b9eNiUcTQkGjwDiIqQ5B6g?_format=JSON&_filter:Search=%QUERY'},{'UniqueName':'Brand-suggestions','Header':'Breweries','URL':'/api/o/0SlL1VdDDkdJlOgDLmQJmw?_format=JSON&_filter:Search=%QUERY'},{'UniqueName':'Item-suggestions','Header':'Products','URL':'/api/o/yWbyvdfjjEmLdWTu02iIjA?_format=JSON&_filter:Search=%QUERY'}]
console=console||{};console.warn=console.warn||function(){};var urlParams;(window.onpopstate=function(){var match,pl=/\+/g,search=/([^&=]+)=?([^&]*)/g,decode=function(s){return decodeURIComponent(s.replace(pl," "));},query=window.location.search.substring(1);urlParams={};while(match=search.exec(query))
urlParams[decode(match[1])]=decode(match[2]);})();console.warn("urlParams="+JSON.stringify(urlParams));function addTagToSearch(key,val,dis){$('#multiple-datasets .typeahead').tagsinput('add',{"SearchKey":key,"SearchValue":val,"SearchDisplay":dis});}
var searchKeys=urlParams["SearchKeys"]||"";var searchKeysArray=searchKeys.split(",");console.warn("searchKeys="+searchKeys);function repopulateSearchFromUrlParam(key){key=key||"";var tk=key.replace(/_filter:/,"");for(var s=0;s<searchKeysArray.length;s++)
{var ss=searchKeysArray[s].split(":");var ssk=ss[0];var ssd=ss[1];var ssv=ss[2];if(ssk==tk)
{var vals=null;var tval=urlParams[key];if(tval.indexOf(","))
vals=tval.split(",");else
vals=[tval];for(var k=0;k<vals.length;k++){if((vals[k])&&(vals[k].trim()!="")&&(vals[k]==ssv)){var searchDisplay=ssd;if(ssk=="Search")
searchDisplay=vals[k];addTagToSearch(ssk,vals[k],searchDisplay);}}}}}
$(document).ready(function(){$('#_searchForm').on("keypress",function(e){var tagAddKeys=[9,13,32,188];if(tagAddKeys.indexOf(e.which)>-1){var val=$('#multiple-datasets .tt-input').val().trim();console.warn("#_searchForm input val="+val);if(val!=""){console.warn("adding 'Search' tag for '"+val+"'");addTagToSearch("Search",val,val);$('#multiple-datasets .tt-input').val("");$('#multiple-datasets .tt-input').typeahead("close");}
if(e.which==13){console.warn("submitting!");$('#_searchForm').submit();}
e.preventDefault();return false;}});sources=[];for(var ii=0;ii<suggestionSources.length;ii++)
{var i=ii;var tss=suggestionSources[i];var tf=function(tss){sources.push({name:tss.UniqueName,minLength:0,displayKey:"SearchDisplay",source:function(query,cb){console.warn("tss="+JSON.stringify(tss));query=$('#multiple-datasets .tt-input').val().trim();console.warn("query="+query);if(query=="_presets_")query="";console.warn("query="+query);var curLength=query.length;console.warn("curLength="+curLength);url=null;if(curLength==0){var defaultParam=tss.DefaultParam;console.warn("defaultParam ="+defaultParam);if(!defaultParam)
url=null;else
url="/api/o/gCiPJc8l0Ua3LSO0ijZtdg?_format=JSON&"+defaultParam;}
else
url=tss.URL.replace(/%QUERY/ig,query);console.warn("query="+query);if(url){$.ajax({url:url,dataType:"text"}).done(function(data,textStatus,jqXHR){if((data)&&(data.trim()!=""))
cb(JSON.parse(data));else
cb([]);});}
else cb([]);},templates:{header:'<h3 class="">'+tss.Header+'</h3>'}});};tf(tss);}
$('#multiple-datasets .typeahead').tagsinput({confirmKeys:[13,32,188],itemValue:'SearchValue',itemText:'SearchDisplay',typeaheadjs:sources});for(var key in urlParams)
repopulateSearchFromUrlParam(key)
if(urlParams["_filter:Search"])
repopulateSearchFromUrlParam("_filter:Search");var handleEmptySuggestions=function(){console.warn("happening");console.warn("val="+$(this).val());if($(this).val().trim().length==0){console.warn("triggering");$(this).val("_presets_").trigger("input");$(this).val("");}
else
console.warn("val="+$(this).val());};$('#multiple-datasets .typeahead').on('click',handleEmptySuggestions);$('#multiple-datasets .typeahead').on('keyup',handleEmptySuggestions);$('#multiple-datasets .typeahead').on('blur',function(e){if($(this).val()=="_presets_")
$(this).val("");});});function submitSearchForm(form){var data="bog=us";var tags=$('#multiple-datasets .typeahead').tagsinput('items');console.warn(tags);var searchKeys="";searchesToAdd={};for(var i=0;i<tags.length;i++){console.warn("Adding tag: "+JSON.stringify(tags[i]));var skey=tags[i].SearchKey;var sval=tags[i].SearchValue;var sdis=tags[i].SearchDisplay;skeyfull=skey+":"+sdis+":"+sval;if(searchKeys.indexOf(skeyfull)==-1){if(searchKeys!="")searchKeys+=",";searchKeys+=skeyfull;}
if(searchesToAdd[skey])
searchesToAdd[skey]=searchesToAdd[skey]+","+sval;else
searchesToAdd[skey]=sval;}
for(var sta in searchesToAdd)
data+='&_filter:'+sta+'='+searchesToAdd[sta];var searchInput=$('#multiple-datasets .tt-input').val();if(searchInput&&searchInput.trim()!="")
data+="&_filter:Search="+searchInput;data+="&SearchKeys="+searchKeys;url=$(form).attr('action')+'?'+data;console.warn(url);location.href=url;return false;}!function(a){"use strict";function b(b,c){this.itemsArray=[],this.$element=a(b),this.$element.hide(),this.isSelect="SELECT"===b.tagName,this.multiple=this.isSelect&&b.hasAttribute("multiple"),this.objectItems=c&&c.itemValue,this.placeholderText=b.hasAttribute("placeholder")?this.$element.attr("placeholder"):"",this.inputSize=Math.max(1,this.placeholderText.length),this.$container=a('<div class="bootstrap-tagsinput"></div>'),this.$input=a('<input type="text" role="searchbox" aria-label="Search Site" placeholder="'+this.placeholderText+'"/>').appendTo(this.$container),this.$element.after(this.$container);var d=(this.inputSize<3?3:this.inputSize)+"em";this.$input.get(0).style.cssText="width: "+d+" !important;",this.build(c)}function c(a,b){if("function"!=typeof a[b]){var c=a[b];a[b]=function(a){return a[c]}}}function d(a,b){if("function"!=typeof a[b]){var c=a[b];a[b]=function(){return c}}}function e(a){return a?i.text(a).html():""}function f(a){var b=0;if(document.selection){a.focus();var c=document.selection.createRange();c.moveStart("character",-a.value.length),b=c.text.length}else(a.selectionStart||"0"==a.selectionStart)&&(b=a.selectionStart);return b}function g(b,c){var d=!1;return a.each(c,function(a,c){if("number"==typeof c&&b.which===c)return d=!0,!1;if(b.which===c.which){var e=!c.hasOwnProperty("altKey")||b.altKey===c.altKey,f=!c.hasOwnProperty("shiftKey")||b.shiftKey===c.shiftKey,g=!c.hasOwnProperty("ctrlKey")||b.ctrlKey===c.ctrlKey;if(e&&f&&g)return d=!0,!1}}),d}var h={tagClass:function(){return"label label-info"},itemValue:function(a){return a?a.toString():a},itemText:function(a){return this.itemValue(a)},freeInput:!0,addOnBlur:!0,maxTags:void 0,maxChars:void 0,confirmKeys:[13,44],onTagExists:function(a,b){b.hide().fadeIn()},trimValue:!1,allowDuplicates:!1};b.prototype={constructor:b,add:function(b,c){var d=this;if(!(d.options.maxTags&&d.itemsArray.length>=d.options.maxTags||b!==!1&&!b)){if("string"==typeof b&&d.options.trimValue&&(b=a.trim(b)),"object"==typeof b&&!d.objectItems)throw"Can't add objects when itemValue option is not set";if(!b.toString().match(/^\s*$/)){if(d.isSelect&&!d.multiple&&d.itemsArray.length>0&&d.remove(d.itemsArray[0]),"string"==typeof b&&"INPUT"===this.$element[0].tagName){var f=b.split(",");if(f.length>1){for(var g=0;g<f.length;g++)this.add(f[g],!0);return void(c||d.pushVal())}}var h=d.options.itemValue(b),i=d.options.itemText(b),j=d.options.tagClass(b),k=a.grep(d.itemsArray,function(a){return d.options.itemValue(a)===h})[0];if(!k||d.options.allowDuplicates){if(!(d.items().toString().length+b.length+1>d.options.maxInputLength)){var l=a.Event("beforeItemAdd",{item:b,cancel:!1});if(d.$element.trigger(l),!l.cancel){d.itemsArray.push(b);var m=a('<span class="tag '+e(j)+'">'+e(i)+'<span data-role="remove"></span></span>');if(m.data("item",b),d.findInputWrapper().before(m),m.after(" "),d.isSelect&&!a('option[value="'+encodeURIComponent(h)+'"]',d.$element)[0]){var n=a("<option selected>"+e(i)+"</option>");n.data("item",b),n.attr("value",h),d.$element.append(n)}c||d.pushVal(),(d.options.maxTags===d.itemsArray.length||d.items().toString().length===d.options.maxInputLength)&&d.$container.addClass("bootstrap-tagsinput-max"),d.$element.trigger(a.Event("itemAdded",{item:b}))}}}else if(d.options.onTagExists){var o=a(".tag",d.$container).filter(function(){return a(this).data("item")===k});d.options.onTagExists(b,o)}}}},remove:function(b,c){var d=this;if(d.objectItems&&(b="object"==typeof b?a.grep(d.itemsArray,function(a){return d.options.itemValue(a)==d.options.itemValue(b)}):a.grep(d.itemsArray,function(a){return d.options.itemValue(a)==b}),b=b[b.length-1]),b){var e=a.Event("beforeItemRemove",{item:b,cancel:!1});if(d.$element.trigger(e),e.cancel)return;a(".tag",d.$container).filter(function(){return a(this).data("item")===b}).remove(),a("option",d.$element).filter(function(){return a(this).data("item")===b}).remove(),-1!==a.inArray(b,d.itemsArray)&&d.itemsArray.splice(a.inArray(b,d.itemsArray),1)}c||d.pushVal(),d.options.maxTags>d.itemsArray.length&&d.$container.removeClass("bootstrap-tagsinput-max"),d.$element.trigger(a.Event("itemRemoved",{item:b}))},removeAll:function(){var b=this;for(a(".tag",b.$container).remove(),a("option",b.$element).remove();b.itemsArray.length>0;)b.itemsArray.pop();b.pushVal()},refresh:function(){var b=this;a(".tag",b.$container).each(function(){var c=a(this),d=c.data("item"),f=b.options.itemValue(d),g=b.options.itemText(d),h=b.options.tagClass(d);if(c.attr("class",null),c.addClass("tag "+e(h)),c.contents().filter(function(){return 3==this.nodeType})[0].nodeValue=e(g),b.isSelect){var i=a("option",b.$element).filter(function(){return a(this).data("item")===d});i.attr("value",f)}})},items:function(){return this.itemsArray},pushVal:function(){var b=this,c=a.map(b.items(),function(a){return b.options.itemValue(a).toString()});b.$element.val(c,!0).trigger("change")},build:function(b){var e=this;if(e.options=a.extend({},h,b),e.objectItems&&(e.options.freeInput=!1),c(e.options,"itemValue"),c(e.options,"itemText"),d(e.options,"tagClass"),e.options.typeahead){var i=e.options.typeahead||{};d(i,"source"),e.$input.typeahead(a.extend({},i,{source:function(b,c){function d(a){for(var b=[],d=0;d<a.length;d++){var g=e.options.itemText(a[d]);f[g]=a[d],b.push(g)}c(b)}this.map={};var f=this.map,g=i.source(b);a.isFunction(g.success)?g.success(d):a.isFunction(g.then)?g.then(d):a.when(g).then(d)},updater:function(a){e.add(this.map[a])},matcher:function(a){return-1!==a.toLowerCase().indexOf(this.query.trim().toLowerCase())},sorter:function(a){return a.sort()},highlighter:function(a){var b=new RegExp("("+this.query+")","gi");return a.replace(b,"<strong>$1</strong>")}}))}if(e.options.typeaheadjs){var j=e.options.typeaheadjs||{};e.$input.typeahead(null,j).on("typeahead:selected",a.proxy(function(a,b){e.add(j.valueKey?b[j.valueKey]:b),e.$input.typeahead("val","")},e))}e.$container.on("click",a.proxy(function(){e.$element.attr("disabled")||e.$input.removeAttr("disabled"),e.$input.focus()},e)),e.options.addOnBlur&&e.options.freeInput&&e.$input.on("focusout",a.proxy(function(){0===a(".typeahead, .twitter-typeahead",e.$container).length&&(e.add(e.$input.val()),e.$input.val(""))},e)),e.$container.on("keydown","input",a.proxy(function(b){var c=a(b.target),d=e.findInputWrapper();if(e.$element.attr("disabled"))return void e.$input.attr("disabled","disabled");switch(b.which){case 8:if(0===f(c[0])){var g=d.prev();g&&e.remove(g.data("item"))}break;case 46:if(0===f(c[0])){var h=d.next();h&&e.remove(h.data("item"))}break;case 37:var i=d.prev();0===c.val().length&&i[0]&&(i.before(d),c.focus());break;case 39:var j=d.next();0===c.val().length&&j[0]&&(j.after(d),c.focus())}{var k=c.val().length;Math.ceil(k/5)}c.attr("size",Math.max(this.inputSize,c.val().length))},e)),e.$container.on("keypress","input",a.proxy(function(b){var c=a(b.target);if(e.$element.attr("disabled"))return void e.$input.attr("disabled","disabled");var d=c.val(),f=e.options.maxChars&&d.length>=e.options.maxChars;e.options.freeInput&&(g(b,e.options.confirmKeys)||f)&&(e.add(f?d.substr(0,e.options.maxChars):d),c.val(""),b.preventDefault());{var h=c.val().length;Math.ceil(h/5)}c.attr("size",Math.max(this.inputSize,c.val().length))},e)),e.$container.on("click","[data-role=remove]",a.proxy(function(b){e.$element.attr("disabled")||e.remove(a(b.target).closest(".tag").data("item"))},e)),e.options.itemValue===h.itemValue&&("INPUT"===e.$element[0].tagName?e.add(e.$element.val()):a("option",e.$element).each(function(){e.add(a(this).attr("value"),!0)}))},destroy:function(){var a=this;a.$container.off("keypress","input"),a.$container.off("click","[role=remove]"),a.$container.remove(),a.$element.removeData("tagsinput"),a.$element.show()},focus:function(){this.$input.focus()},input:function(){return this.$input},findInputWrapper:function(){for(var b=this.$input[0],c=this.$container[0];b&&b.parentNode!==c;)b=b.parentNode;return a(b)}},a.fn.tagsinput=function(c,d){var e=[];return this.each(function(){var f=a(this).data("tagsinput");if(f)if(c||d){if(void 0!==f[c]){var g=f[c](d);void 0!==g&&e.push(g)}}else e.push(f);else f=new b(this,c),a(this).data("tagsinput",f),e.push(f),"SELECT"===this.tagName&&a("option",a(this)).attr("selected","selected"),a(this).val(a(this).val())}),"string"==typeof c?e.length>1?e:e[0]:e},a.fn.tagsinput.Constructor=b;var i=a("<div />");a(function(){a("input[data-role=tagsinput], select[multiple][data-role=tagsinput]").tagsinput()})}(window.jQuery);(function($){var _=function(){"use strict";return{isMsie:function(){return/(msie|trident)/i.test(navigator.userAgent)?navigator.userAgent.match(/(msie |rv:)(\d+(.\d+)?)/i)[2]:false;},isBlankString:function(str){return!str||/^\s*$/.test(str);},escapeRegExChars:function(str){return str.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&");},isString:function(obj){return typeof obj==="string";},isNumber:function(obj){return typeof obj==="number";},isArray:$.isArray,isFunction:$.isFunction,isObject:$.isPlainObject,isUndefined:function(obj){return typeof obj==="undefined";},toStr:function toStr(s){return _.isUndefined(s)||s===null?"":s+"";},bind:$.proxy,each:function(collection,cb){$.each(collection,reverseArgs);function reverseArgs(index,value){return cb(value,index);}},map:$.map,filter:$.grep,every:function(obj,test){var result=true;if(!obj){return result;}
$.each(obj,function(key,val){if(!(result=test.call(null,val,key,obj))){return false;}});return!!result;},some:function(obj,test){var result=false;if(!obj){return result;}
$.each(obj,function(key,val){if(result=test.call(null,val,key,obj)){return false;}});return!!result;},mixin:$.extend,getUniqueId:function(){var counter=0;return function(){return counter++;};}(),templatify:function templatify(obj){return $.isFunction(obj)?obj:template;function template(){return String(obj);}},defer:function(fn){setTimeout(fn,0);},debounce:function(func,wait,immediate){var timeout,result;return function(){var context=this,args=arguments,later,callNow;later=function(){timeout=null;if(!immediate){result=func.apply(context,args);}};callNow=immediate&&!timeout;clearTimeout(timeout);timeout=setTimeout(later,wait);if(callNow){result=func.apply(context,args);}
return result;};},throttle:function(func,wait){var context,args,timeout,result,previous,later;previous=0;later=function(){previous=new Date();timeout=null;result=func.apply(context,args);};return function(){var now=new Date(),remaining=wait-(now-previous);context=this;args=arguments;if(remaining<=0){clearTimeout(timeout);timeout=null;previous=now;result=func.apply(context,args);}else if(!timeout){timeout=setTimeout(later,remaining);}
return result;};},noop:function(){}};}();var VERSION="0.10.4";var tokenizers=function(){"use strict";return{nonword:nonword,whitespace:whitespace,obj:{nonword:getObjTokenizer(nonword),whitespace:getObjTokenizer(whitespace)}};function whitespace(str){str=_.toStr(str);return str?str.split(/\s+/):[];}
function nonword(str){str=_.toStr(str);return str?str.split(/\W+/):[];}
function getObjTokenizer(tokenizer){return function setKey(){var args=[].slice.call(arguments,0);return function tokenize(o){var tokens=[];_.each(args,function(k){tokens=tokens.concat(tokenizer(_.toStr(o[k])));});return tokens;};};}}();var LruCache=function(){"use strict";function LruCache(maxSize){this.maxSize=_.isNumber(maxSize)?maxSize:100;this.reset();if(this.maxSize<=0){this.set=this.get=$.noop;}}
_.mixin(LruCache.prototype,{set:function set(key,val){var tailItem=this.list.tail,node;if(this.size>=this.maxSize){this.list.remove(tailItem);delete this.hash[tailItem.key];}
if(node=this.hash[key]){node.val=val;this.list.moveToFront(node);}else{node=new Node(key,val);this.list.add(node);this.hash[key]=node;this.size++;}},get:function get(key){var node=this.hash[key];if(node){this.list.moveToFront(node);return node.val;}},reset:function reset(){this.size=0;this.hash={};this.list=new List();}});function List(){this.head=this.tail=null;}
_.mixin(List.prototype,{add:function add(node){if(this.head){node.next=this.head;this.head.prev=node;}
this.head=node;this.tail=this.tail||node;},remove:function remove(node){node.prev?node.prev.next=node.next:this.head=node.next;node.next?node.next.prev=node.prev:this.tail=node.prev;},moveToFront:function(node){this.remove(node);this.add(node);}});function Node(key,val){this.key=key;this.val=val;this.prev=this.next=null;}
return LruCache;}();var PersistentStorage=function(){"use strict";var ls,methods;try{ls=window.localStorage;ls.setItem("~~~","!");ls.removeItem("~~~");}catch(err){ls=null;}
function PersistentStorage(namespace){this.prefix=["__",namespace,"__"].join("");this.ttlKey="__ttl__";this.keyMatcher=new RegExp("^"+_.escapeRegExChars(this.prefix));}
if(ls&&window.JSON){methods={_prefix:function(key){return this.prefix+key;},_ttlKey:function(key){return this._prefix(key)+this.ttlKey;},get:function(key){if(this.isExpired(key)){this.remove(key);}
return decode(ls.getItem(this._prefix(key)));},set:function(key,val,ttl){if(_.isNumber(ttl)){ls.setItem(this._ttlKey(key),encode(now()+ttl));}else{ls.removeItem(this._ttlKey(key));}
return ls.setItem(this._prefix(key),encode(val));},remove:function(key){ls.removeItem(this._ttlKey(key));ls.removeItem(this._prefix(key));return this;},clear:function(){var i,key,keys=[],len=ls.length;for(i=0;i<len;i++){if((key=ls.key(i)).match(this.keyMatcher)){keys.push(key.replace(this.keyMatcher,""));}}
for(i=keys.length;i--;){this.remove(keys[i]);}
return this;},isExpired:function(key){var ttl=decode(ls.getItem(this._ttlKey(key)));return _.isNumber(ttl)&&now()>ttl?true:false;}};}else{methods={get:_.noop,set:_.noop,remove:_.noop,clear:_.noop,isExpired:_.noop};}
_.mixin(PersistentStorage.prototype,methods);return PersistentStorage;function now(){return new Date().getTime();}
function encode(val){return JSON.stringify(_.isUndefined(val)?null:val);}
function decode(val){return JSON.parse(val);}}();var Transport=function(){"use strict";var pendingRequestsCount=0,pendingRequests={},maxPendingRequests=6,sharedCache=new LruCache(10);function Transport(o){o=o||{};this.cancelled=false;this.lastUrl=null;this._send=o.transport?callbackToDeferred(o.transport):$.ajax;this._get=o.rateLimiter?o.rateLimiter(this._get):this._get;this._cache=o.cache===false?new LruCache(0):sharedCache;}
Transport.setMaxPendingRequests=function setMaxPendingRequests(num){maxPendingRequests=num;};Transport.resetCache=function resetCache(){sharedCache.reset();};_.mixin(Transport.prototype,{_get:function(url,o,cb){var that=this,jqXhr;if(this.cancelled||url!==this.lastUrl){return;}
if(jqXhr=pendingRequests[url]){jqXhr.done(done).fail(fail);}else if(pendingRequestsCount<maxPendingRequests){pendingRequestsCount++;pendingRequests[url]=this._send(url,o).done(done).fail(fail).always(always);}else{this.onDeckRequestArgs=[].slice.call(arguments,0);}
function done(resp){cb&&cb(null,resp);that._cache.set(url,resp);}
function fail(){cb&&cb(true);}
function always(){pendingRequestsCount--;delete pendingRequests[url];if(that.onDeckRequestArgs){that._get.apply(that,that.onDeckRequestArgs);that.onDeckRequestArgs=null;}}},get:function(url,o,cb){var resp;if(_.isFunction(o)){cb=o;o={};}
this.cancelled=false;this.lastUrl=url;if(resp=this._cache.get(url)){_.defer(function(){cb&&cb(null,resp);});}else{this._get(url,o,cb);}
return!!resp;},cancel:function(){this.cancelled=true;}});return Transport;function callbackToDeferred(fn){return function customSendWrapper(url,o){var deferred=$.Deferred();fn(url,o,onSuccess,onError);return deferred;function onSuccess(resp){_.defer(function(){deferred.resolve(resp);});}
function onError(err){_.defer(function(){deferred.reject(err);});}};}}();var SearchIndex=function(){"use strict";function SearchIndex(o){o=o||{};if(!o.datumTokenizer||!o.queryTokenizer){$.error("datumTokenizer and queryTokenizer are both required");}
this.datumTokenizer=o.datumTokenizer;this.queryTokenizer=o.queryTokenizer;this.reset();}
_.mixin(SearchIndex.prototype,{bootstrap:function bootstrap(o){this.datums=o.datums;this.trie=o.trie;},add:function(data){var that=this;data=_.isArray(data)?data:[data];_.each(data,function(datum){var id,tokens;id=that.datums.push(datum)-1;tokens=normalizeTokens(that.datumTokenizer(datum));_.each(tokens,function(token){var node,chars,ch;node=that.trie;chars=token.split("");while(ch=chars.shift()){node=node.children[ch]||(node.children[ch]=newNode());node.ids.push(id);}});});},get:function get(query){var that=this,tokens,matches;tokens=normalizeTokens(this.queryTokenizer(query));_.each(tokens,function(token){var node,chars,ch,ids;if(matches&&matches.length===0){return false;}
node=that.trie;chars=token.split("");while(node&&(ch=chars.shift())){node=node.children[ch];}
if(node&&chars.length===0){ids=node.ids.slice(0);matches=matches?getIntersection(matches,ids):ids;}else{matches=[];return false;}});return matches?_.map(unique(matches),function(id){return that.datums[id];}):[];},reset:function reset(){this.datums=[];this.trie=newNode();},serialize:function serialize(){return{datums:this.datums,trie:this.trie};}});return SearchIndex;function normalizeTokens(tokens){tokens=_.filter(tokens,function(token){return!!token;});tokens=_.map(tokens,function(token){return token.toLowerCase();});return tokens;}
function newNode(){return{ids:[],children:{}};}
function unique(array){var seen={},uniques=[];for(var i=0,len=array.length;i<len;i++){if(!seen[array[i]]){seen[array[i]]=true;uniques.push(array[i]);}}
return uniques;}
function getIntersection(arrayA,arrayB){var ai=0,bi=0,intersection=[];arrayA=arrayA.sort(compare);arrayB=arrayB.sort(compare);var lenArrayA=arrayA.length,lenArrayB=arrayB.length;while(ai<lenArrayA&&bi<lenArrayB){if(arrayA[ai]<arrayB[bi]){ai++;}else if(arrayA[ai]>arrayB[bi]){bi++;}else{intersection.push(arrayA[ai]);ai++;bi++;}}
return intersection;function compare(a,b){return a-b;}}}();var oParser=function(){"use strict";return{local:getLocal,prefetch:getPrefetch,remote:getRemote};function getLocal(o){return o.local||null;}
function getPrefetch(o){var prefetch,defaults;defaults={url:null,thumbprint:"",ttl:24*60*60*1e3,filter:null,ajax:{}};if(prefetch=o.prefetch||null){prefetch=_.isString(prefetch)?{url:prefetch}:prefetch;prefetch=_.mixin(defaults,prefetch);prefetch.thumbprint=VERSION+prefetch.thumbprint;prefetch.ajax.type=prefetch.ajax.type||"GET";prefetch.ajax.dataType=prefetch.ajax.dataType||"json";!prefetch.url&&$.error("prefetch requires url to be set");}
return prefetch;}
function getRemote(o){var remote,defaults;defaults={url:null,cache:true,wildcard:"%QUERY",replace:null,rateLimitBy:"debounce",rateLimitWait:300,send:null,filter:null,ajax:{}};if(remote=o.remote||null){remote=_.isString(remote)?{url:remote}:remote;remote=_.mixin(defaults,remote);remote.rateLimiter=/^throttle$/i.test(remote.rateLimitBy)?byThrottle(remote.rateLimitWait):byDebounce(remote.rateLimitWait);remote.ajax.type=remote.ajax.type||"GET";remote.ajax.dataType=remote.ajax.dataType||"json";delete remote.rateLimitBy;delete remote.rateLimitWait;!remote.url&&$.error("remote requires url to be set");}
return remote;function byDebounce(wait){return function(fn){return _.debounce(fn,wait);};}
function byThrottle(wait){return function(fn){return _.throttle(fn,wait);};}}}();(function(root){"use strict";var old,keys;old=root.Bloodhound;keys={data:"data",protocol:"protocol",thumbprint:"thumbprint"};root.Bloodhound=Bloodhound;function Bloodhound(o){if(!o||!o.local&&!o.prefetch&&!o.remote){$.error("one of local, prefetch, or remote is required");}
this.limit=o.limit||5;this.sorter=getSorter(o.sorter);this.dupDetector=o.dupDetector||ignoreDuplicates;this.local=oParser.local(o);this.prefetch=oParser.prefetch(o);this.remote=oParser.remote(o);this.cacheKey=this.prefetch?this.prefetch.cacheKey||this.prefetch.url:null;this.index=new SearchIndex({datumTokenizer:o.datumTokenizer,queryTokenizer:o.queryTokenizer});this.storage=this.cacheKey?new PersistentStorage(this.cacheKey):null;}
Bloodhound.noConflict=function noConflict(){root.Bloodhound=old;return Bloodhound;};Bloodhound.tokenizers=tokenizers;_.mixin(Bloodhound.prototype,{_loadPrefetch:function loadPrefetch(o){var that=this,serialized,deferred;if(serialized=this._readFromStorage(o.thumbprint)){this.index.bootstrap(serialized);deferred=$.Deferred().resolve();}else{deferred=$.ajax(o.url,o.ajax).done(handlePrefetchResponse);}
return deferred;function handlePrefetchResponse(resp){that.clear();that.add(o.filter?o.filter(resp):resp);that._saveToStorage(that.index.serialize(),o.thumbprint,o.ttl);}},_getFromRemote:function getFromRemote(query,cb){var that=this,url,uriEncodedQuery;if(!this.transport){return;}
query=query||"";uriEncodedQuery=encodeURIComponent(query);url=this.remote.replace?this.remote.replace(this.remote.url,query):this.remote.url.replace(this.remote.wildcard,uriEncodedQuery);return this.transport.get(url,this.remote.ajax,handleRemoteResponse);function handleRemoteResponse(err,resp){err?cb([]):cb(that.remote.filter?that.remote.filter(resp):resp);}},_cancelLastRemoteRequest:function cancelLastRemoteRequest(){this.transport&&this.transport.cancel();},_saveToStorage:function saveToStorage(data,thumbprint,ttl){if(this.storage){this.storage.set(keys.data,data,ttl);this.storage.set(keys.protocol,location.protocol,ttl);this.storage.set(keys.thumbprint,thumbprint,ttl);}},_readFromStorage:function readFromStorage(thumbprint){var stored={},isExpired;if(this.storage){stored.data=this.storage.get(keys.data);stored.protocol=this.storage.get(keys.protocol);stored.thumbprint=this.storage.get(keys.thumbprint);}
isExpired=stored.thumbprint!==thumbprint||stored.protocol!==location.protocol;return stored.data&&!isExpired?stored.data:null;},_initialize:function initialize(){var that=this,local=this.local,deferred;deferred=this.prefetch?this._loadPrefetch(this.prefetch):$.Deferred().resolve();local&&deferred.done(addLocalToIndex);this.transport=this.remote?new Transport(this.remote):null;return this.initPromise=deferred.promise();function addLocalToIndex(){that.add(_.isFunction(local)?local():local);}},initialize:function initialize(force){return!this.initPromise||force?this._initialize():this.initPromise;},add:function add(data){this.index.add(data);},get:function get(query,cb){var that=this,matches=[],cacheHit=false;matches=this.index.get(query);matches=this.sorter(matches).slice(0,this.limit);matches.length<this.limit?cacheHit=this._getFromRemote(query,returnRemoteMatches):this._cancelLastRemoteRequest();if(!cacheHit){(matches.length>0||!this.transport)&&cb&&cb(matches);}
function returnRemoteMatches(remoteMatches){var matchesWithBackfill=matches.slice(0);_.each(remoteMatches,function(remoteMatch){var isDuplicate;isDuplicate=_.some(matchesWithBackfill,function(match){return that.dupDetector(remoteMatch,match);});!isDuplicate&&matchesWithBackfill.push(remoteMatch);return matchesWithBackfill.length<that.limit;});cb&&cb(that.sorter(matchesWithBackfill));}},clear:function clear(){this.index.reset();},clearPrefetchCache:function clearPrefetchCache(){this.storage&&this.storage.clear();},clearRemoteCache:function clearRemoteCache(){this.transport&&Transport.resetCache();},ttAdapter:function ttAdapter(){return _.bind(this.get,this);}});return Bloodhound;function getSorter(sortFn){return _.isFunction(sortFn)?sort:noSort;function sort(array){return array.sort(sortFn);}
function noSort(array){return array;}}
function ignoreDuplicates(){return false;}})(this);var html=function(){return{wrapper:'<span class="twitter-typeahead"></span>',dropdown:'<span class="tt-dropdown-menu"></span>',dataset:'<div class="tt-dataset-%CLASS%"></div>',suggestions:'<span class="tt-suggestions"></span>',suggestion:'<div class="tt-suggestion"></div>'};}();var css=function(){"use strict";var css={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"},dropdown:{position:"absolute",top:"100%",left:"0",zIndex:"100",display:"none"},suggestions:{display:"block"},suggestion:{whiteSpace:"nowrap",cursor:"pointer"},suggestionChild:{whiteSpace:"normal"},ltr:{left:"0",right:"auto"},rtl:{left:"auto",right:" 0"}};if(_.isMsie()){_.mixin(css.input,{backgroundImage:"url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)"});}
if(_.isMsie()&&_.isMsie()<=7){_.mixin(css.input,{marginTop:"-1px"});}
return css;}();var EventBus=function(){"use strict";var namespace="typeahead:";function EventBus(o){if(!o||!o.el){$.error("EventBus initialized without el");}
this.$el=$(o.el);}
_.mixin(EventBus.prototype,{trigger:function(type){var args=[].slice.call(arguments,1);this.$el.trigger(namespace+type,args);}});return EventBus;}();var EventEmitter=function(){"use strict";var splitter=/\s+/,nextTick=getNextTick();return{onSync:onSync,onAsync:onAsync,off:off,trigger:trigger};function on(method,types,cb,context){var type;if(!cb){return this;}
types=types.split(splitter);cb=context?bindContext(cb,context):cb;this._callbacks=this._callbacks||{};while(type=types.shift()){this._callbacks[type]=this._callbacks[type]||{sync:[],async:[]};this._callbacks[type][method].push(cb);}
return this;}
function onAsync(types,cb,context){return on.call(this,"async",types,cb,context);}
function onSync(types,cb,context){return on.call(this,"sync",types,cb,context);}
function off(types){var type;if(!this._callbacks){return this;}
types=types.split(splitter);while(type=types.shift()){delete this._callbacks[type];}
return this;}
function trigger(types){var type,callbacks,args,syncFlush,asyncFlush;if(!this._callbacks){return this;}
types=types.split(splitter);args=[].slice.call(arguments,1);while((type=types.shift())&&(callbacks=this._callbacks[type])){syncFlush=getFlush(callbacks.sync,this,[type].concat(args));asyncFlush=getFlush(callbacks.async,this,[type].concat(args));syncFlush()&&nextTick(asyncFlush);}
return this;}
function getFlush(callbacks,context,args){return flush;function flush(){var cancelled;for(var i=0,len=callbacks.length;!cancelled&&i<len;i+=1){cancelled=callbacks[i].apply(context,args)===false;}
return!cancelled;}}
function getNextTick(){var nextTickFn;if(window.setImmediate){nextTickFn=function nextTickSetImmediate(fn){setImmediate(function(){fn();});};}else{nextTickFn=function nextTickSetTimeout(fn){setTimeout(function(){fn();},0);};}
return nextTickFn;}
function bindContext(fn,context){return fn.bind?fn.bind(context):function(){fn.apply(context,[].slice.call(arguments,0));};}}();var highlight=function(doc){"use strict";var defaults={node:null,pattern:null,tagName:"strong",className:null,wordsOnly:false,caseSensitive:false};return function hightlight(o){var regex;o=_.mixin({},defaults,o);if(!o.node||!o.pattern){return;}
o.pattern=_.isArray(o.pattern)?o.pattern:[o.pattern];regex=getRegex(o.pattern,o.caseSensitive,o.wordsOnly);traverse(o.node,hightlightTextNode);function hightlightTextNode(textNode){var match,patternNode,wrapperNode;if(match=regex.exec(textNode.data)){wrapperNode=doc.createElement(o.tagName);o.className&&(wrapperNode.className=o.className);patternNode=textNode.splitText(match.index);patternNode.splitText(match[0].length);wrapperNode.appendChild(patternNode.cloneNode(true));textNode.parentNode.replaceChild(wrapperNode,patternNode);}
return!!match;}
function traverse(el,hightlightTextNode){var childNode,TEXT_NODE_TYPE=3;for(var i=0;i<el.childNodes.length;i++){childNode=el.childNodes[i];if(childNode.nodeType===TEXT_NODE_TYPE){i+=hightlightTextNode(childNode)?1:0;}else{traverse(childNode,hightlightTextNode);}}}};function getRegex(patterns,caseSensitive,wordsOnly){var escapedPatterns=[],regexStr;for(var i=0,len=patterns.length;i<len;i++){escapedPatterns.push(_.escapeRegExChars(patterns[i]));}
regexStr=wordsOnly?"\\b("+escapedPatterns.join("|")+")\\b":"("+escapedPatterns.join("|")+")";return caseSensitive?new RegExp(regexStr):new RegExp(regexStr,"i");}}(window.document);var Input=function(){"use strict";var specialKeyCodeMap;specialKeyCodeMap={9:"tab",27:"esc",37:"left",39:"right",13:"enter",38:"up",40:"down"};function Input(o){var that=this,onBlur,onFocus,onKeydown,onInput;o=o||{};if(!o.input){$.error("input is missing");}
onBlur=_.bind(this._onBlur,this);onFocus=_.bind(this._onFocus,this);onKeydown=_.bind(this._onKeydown,this);onInput=_.bind(this._onInput,this);this.$hint=$(o.hint);this.$input=$(o.input).on("blur.tt",onBlur).on("focus.tt",onFocus).on("keydown.tt",onKeydown);if(this.$hint.length===0){this.setHint=this.getHint=this.clearHint=this.clearHintIfInvalid=_.noop;}
if(!_.isMsie()){this.$input.on("input.tt",onInput);}else{this.$input.on("keydown.tt keypress.tt cut.tt paste.tt",function($e){if(specialKeyCodeMap[$e.which||$e.keyCode]){return;}
_.defer(_.bind(that._onInput,that,$e));});}
this.query=this.$input.val();this.$overflowHelper=buildOverflowHelper(this.$input);}
Input.normalizeQuery=function(str){return(str||"").replace(/^\s*/g,"").replace(/\s{2,}/g," ");};_.mixin(Input.prototype,EventEmitter,{_onBlur:function onBlur(){this.resetInputValue();this.trigger("blurred");},_onFocus:function onFocus(){this.trigger("focused");},_onKeydown:function onKeydown($e){var keyName=specialKeyCodeMap[$e.which||$e.keyCode];this._managePreventDefault(keyName,$e);if(keyName&&this._shouldTrigger(keyName,$e)){this.trigger(keyName+"Keyed",$e);}},_onInput:function onInput(){this._checkInputValue();},_managePreventDefault:function managePreventDefault(keyName,$e){var preventDefault,hintValue,inputValue;switch(keyName){case"tab":hintValue=this.getHint();inputValue=this.getInputValue();preventDefault=hintValue&&hintValue!==inputValue&&!withModifier($e);break;case"up":case"down":preventDefault=!withModifier($e);break;default:preventDefault=false;}
preventDefault&&$e.preventDefault();},_shouldTrigger:function shouldTrigger(keyName,$e){var trigger;switch(keyName){case"tab":trigger=!withModifier($e);break;default:trigger=true;}
return trigger;},_checkInputValue:function checkInputValue(){var inputValue,areEquivalent,hasDifferentWhitespace;inputValue=this.getInputValue();areEquivalent=areQueriesEquivalent(inputValue,this.query);hasDifferentWhitespace=areEquivalent?this.query.length!==inputValue.length:false;this.query=inputValue;if(!areEquivalent){this.trigger("queryChanged",this.query);}else if(hasDifferentWhitespace){this.trigger("whitespaceChanged",this.query);}},focus:function focus(){this.$input.focus();},blur:function blur(){this.$input.blur();},getQuery:function getQuery(){return this.query;},setQuery:function setQuery(query){this.query=query;},getInputValue:function getInputValue(){return this.$input.val();},setInputValue:function setInputValue(value,silent){this.$input.val(value);silent?this.clearHint():this._checkInputValue();},resetInputValue:function resetInputValue(){this.setInputValue(this.query,true);},getHint:function getHint(){return this.$hint.val();},setHint:function setHint(value){this.$hint.val(value);},clearHint:function clearHint(){this.setHint("");},clearHintIfInvalid:function clearHintIfInvalid(){var val,hint,valIsPrefixOfHint,isValid;val=this.getInputValue();hint=this.getHint();valIsPrefixOfHint=val!==hint&&hint.indexOf(val)===0;isValid=val!==""&&valIsPrefixOfHint&&!this.hasOverflow();!isValid&&this.clearHint();},getLanguageDirection:function getLanguageDirection(){return(this.$input.css("direction")||"ltr").toLowerCase();},hasOverflow:function hasOverflow(){var constraint=this.$input.width()-2;this.$overflowHelper.text(this.getInputValue());return this.$overflowHelper.width()>=constraint;},isCursorAtEnd:function(){var valueLength,selectionStart,range;valueLength=this.$input.val().length;selectionStart=this.$input[0].selectionStart;if(_.isNumber(selectionStart)){return selectionStart===valueLength;}else if(document.selection){range=document.selection.createRange();range.moveStart("character",-valueLength);return valueLength===range.text.length;}
return true;},destroy:function destroy(){this.$hint.off(".tt");this.$input.off(".tt");this.$hint=this.$input=this.$overflowHelper=null;}});return Input;function buildOverflowHelper($input){return $('<pre aria-hidden="true"></pre>').css({position:"absolute",visibility:"hidden",whiteSpace:"pre",fontFamily:$input.css("font-family"),fontSize:$input.css("font-size"),fontStyle:$input.css("font-style"),fontVariant:$input.css("font-variant"),fontWeight:$input.css("font-weight"),wordSpacing:$input.css("word-spacing"),letterSpacing:$input.css("letter-spacing"),textIndent:$input.css("text-indent"),textRendering:$input.css("text-rendering"),textTransform:$input.css("text-transform")}).insertAfter($input);}
function areQueriesEquivalent(a,b){return Input.normalizeQuery(a)===Input.normalizeQuery(b);}
function withModifier($e){return $e.altKey||$e.ctrlKey||$e.metaKey||$e.shiftKey;}}();var Dataset=function(){"use strict";var datasetKey="ttDataset",valueKey="ttValue",datumKey="ttDatum";function Dataset(o){o=o||{};o.templates=o.templates||{};if(!o.source){$.error("missing source");}
if(o.name&&!isValidName(o.name)){$.error("invalid dataset name: "+o.name);}
this.query=null;this.highlight=!!o.highlight;this.name=o.name||_.getUniqueId();this.source=o.source;this.displayFn=getDisplayFn(o.display||o.displayKey);this.templates=getTemplates(o.templates,this.displayFn);this.$el=$(html.dataset.replace("%CLASS%",this.name));}
Dataset.extractDatasetName=function extractDatasetName(el){return $(el).data(datasetKey);};Dataset.extractValue=function extractDatum(el){return $(el).data(valueKey);};Dataset.extractDatum=function extractDatum(el){return $(el).data(datumKey);};_.mixin(Dataset.prototype,EventEmitter,{_render:function render(query,suggestions){if(!this.$el){return;}
var that=this,hasSuggestions;this.$el.empty();hasSuggestions=suggestions&&suggestions.length;if(!hasSuggestions&&this.templates.empty){this.$el.html(getEmptyHtml()).prepend(that.templates.header?getHeaderHtml():null).append(that.templates.footer?getFooterHtml():null);}else if(hasSuggestions){this.$el.html(getSuggestionsHtml()).prepend(that.templates.header?getHeaderHtml():null).append(that.templates.footer?getFooterHtml():null);}
this.trigger("rendered");function getEmptyHtml(){return that.templates.empty({query:query,isEmpty:true});}
function getSuggestionsHtml(){var $suggestions,nodes;$suggestions=$(html.suggestions).css(css.suggestions);nodes=_.map(suggestions,getSuggestionNode);$suggestions.append.apply($suggestions,nodes);that.highlight&&highlight({className:"tt-highlight",node:$suggestions[0],pattern:query});return $suggestions;function getSuggestionNode(suggestion){var $el;$el=$(html.suggestion).append(that.templates.suggestion(suggestion)).data(datasetKey,that.name).data(valueKey,that.displayFn(suggestion)).data(datumKey,suggestion);$el.children().each(function(){$(this).css(css.suggestionChild);});return $el;}}
function getHeaderHtml(){return that.templates.header({query:query,isEmpty:!hasSuggestions});}
function getFooterHtml(){return that.templates.footer({query:query,isEmpty:!hasSuggestions});}},getRoot:function getRoot(){return this.$el;},update:function update(query){var that=this;this.query=query;this.canceled=false;this.source(query,render);function render(suggestions){if(!that.canceled&&query===that.query){that._render(query,suggestions);}}},cancel:function cancel(){this.canceled=true;},clear:function clear(){this.cancel();this.$el.empty();this.trigger("rendered");},isEmpty:function isEmpty(){return this.$el.is(":empty");},destroy:function destroy(){this.$el=null;}});return Dataset;function getDisplayFn(display){display=display||"value";return _.isFunction(display)?display:displayFn;function displayFn(obj){return obj[display];}}
function getTemplates(templates,displayFn){return{empty:templates.empty&&_.templatify(templates.empty),header:templates.header&&_.templatify(templates.header),footer:templates.footer&&_.templatify(templates.footer),suggestion:templates.suggestion||suggestionTemplate};function suggestionTemplate(context){return"<p>"+displayFn(context)+"</p>";}}
function isValidName(str){return/^[_a-zA-Z0-9-]+$/.test(str);}}();var Dropdown=function(){"use strict";function Dropdown(o){var that=this,onSuggestionClick,onSuggestionMouseEnter,onSuggestionMouseLeave;o=o||{};if(!o.menu){$.error("menu is required");}
this.isOpen=false;this.isEmpty=true;this.datasets=_.map(o.datasets,initializeDataset);onSuggestionClick=_.bind(this._onSuggestionClick,this);onSuggestionMouseEnter=_.bind(this._onSuggestionMouseEnter,this);onSuggestionMouseLeave=_.bind(this._onSuggestionMouseLeave,this);this.$menu=$(o.menu).on("click.tt",".tt-suggestion",onSuggestionClick).on("mouseenter.tt",".tt-suggestion",onSuggestionMouseEnter).on("mouseleave.tt",".tt-suggestion",onSuggestionMouseLeave);_.each(this.datasets,function(dataset){that.$menu.append(dataset.getRoot());dataset.onSync("rendered",that._onRendered,that);});}
_.mixin(Dropdown.prototype,EventEmitter,{_onSuggestionClick:function onSuggestionClick($e){this.trigger("suggestionClicked",$($e.currentTarget));},_onSuggestionMouseEnter:function onSuggestionMouseEnter($e){this._removeCursor();this._setCursor($($e.currentTarget),true);},_onSuggestionMouseLeave:function onSuggestionMouseLeave(){this._removeCursor();},_onRendered:function onRendered(){this.isEmpty=_.every(this.datasets,isDatasetEmpty);this.isEmpty?this._hide():this.isOpen&&this._show();this.trigger("datasetRendered");function isDatasetEmpty(dataset){return dataset.isEmpty();}},_hide:function(){this.$menu.hide();},_show:function(){this.$menu.css("display","block");},_getSuggestions:function getSuggestions(){return this.$menu.find(".tt-suggestion");},_getCursor:function getCursor(){return this.$menu.find(".tt-cursor").first();},_setCursor:function setCursor($el,silent){$el.first().addClass("tt-cursor");!silent&&this.trigger("cursorMoved");},_removeCursor:function removeCursor(){this._getCursor().removeClass("tt-cursor");},_moveCursor:function moveCursor(increment){var $suggestions,$oldCursor,newCursorIndex,$newCursor;if(!this.isOpen){return;}
$oldCursor=this._getCursor();$suggestions=this._getSuggestions();this._removeCursor();newCursorIndex=$suggestions.index($oldCursor)+increment;newCursorIndex=(newCursorIndex+1)%($suggestions.length+1)-1;if(newCursorIndex===-1){this.trigger("cursorRemoved");return;}else if(newCursorIndex<-1){newCursorIndex=$suggestions.length-1;}
this._setCursor($newCursor=$suggestions.eq(newCursorIndex));this._ensureVisible($newCursor);},_ensureVisible:function ensureVisible($el){var elTop,elBottom,menuScrollTop,menuHeight;elTop=$el.position().top;elBottom=elTop+$el.outerHeight(true);menuScrollTop=this.$menu.scrollTop();menuHeight=this.$menu.height()+parseInt(this.$menu.css("paddingTop"),10)+parseInt(this.$menu.css("paddingBottom"),10);if(elTop<0){this.$menu.scrollTop(menuScrollTop+elTop);}else if(menuHeight<elBottom){this.$menu.scrollTop(menuScrollTop+(elBottom-menuHeight));}},close:function close(){if(this.isOpen){this.isOpen=false;this._removeCursor();this._hide();this.trigger("closed");}},open:function open(){if(!this.isOpen){this.isOpen=true;!this.isEmpty&&this._show();this.trigger("opened");}},setLanguageDirection:function setLanguageDirection(dir){this.$menu.css(dir==="ltr"?css.ltr:css.rtl);},moveCursorUp:function moveCursorUp(){this._moveCursor(-1);},moveCursorDown:function moveCursorDown(){this._moveCursor(+1);},getDatumForSuggestion:function getDatumForSuggestion($el){var datum=null;if($el.length){datum={raw:Dataset.extractDatum($el),value:Dataset.extractValue($el),datasetName:Dataset.extractDatasetName($el)};}
return datum;},getDatumForCursor:function getDatumForCursor(){return this.getDatumForSuggestion(this._getCursor().first());},getDatumForTopSuggestion:function getDatumForTopSuggestion(){return this.getDatumForSuggestion(this._getSuggestions().first());},update:function update(query){_.each(this.datasets,updateDataset);function updateDataset(dataset){dataset.update(query);}},empty:function empty(){_.each(this.datasets,clearDataset);this.isEmpty=true;function clearDataset(dataset){dataset.clear();}},isVisible:function isVisible(){return this.isOpen&&!this.isEmpty;},destroy:function destroy(){this.$menu.off(".tt");this.$menu=null;_.each(this.datasets,destroyDataset);function destroyDataset(dataset){dataset.destroy();}}});return Dropdown;function initializeDataset(oDataset){return new Dataset(oDataset);}}();var Typeahead=function(){"use strict";var attrsKey="ttAttrs";function Typeahead(o){var $menu,$input,$hint;o=o||{};if(!o.input){$.error("missing input");}
this.isActivated=false;this.autoselect=!!o.autoselect;this.minLength=_.isNumber(o.minLength)?o.minLength:1;this.$node=buildDom(o.input,o.withHint);$menu=this.$node.find(".tt-dropdown-menu");$input=this.$node.find(".tt-input");$hint=this.$node.find(".tt-hint");$input.on("blur.tt",function($e){var active,isActive,hasActive;active=document.activeElement;isActive=$menu.is(active);hasActive=$menu.has(active).length>0;if(_.isMsie()&&(isActive||hasActive)){$e.preventDefault();$e.stopImmediatePropagation();_.defer(function(){$input.focus();});}});$menu.on("mousedown.tt",function($e){$e.preventDefault();});this.eventBus=o.eventBus||new EventBus({el:$input});this.dropdown=new Dropdown({menu:$menu,datasets:o.datasets}).onSync("suggestionClicked",this._onSuggestionClicked,this).onSync("cursorMoved",this._onCursorMoved,this).onSync("cursorRemoved",this._onCursorRemoved,this).onSync("opened",this._onOpened,this).onSync("closed",this._onClosed,this).onAsync("datasetRendered",this._onDatasetRendered,this);this.input=new Input({input:$input,hint:$hint}).onSync("focused",this._onFocused,this).onSync("blurred",this._onBlurred,this).onSync("enterKeyed",this._onEnterKeyed,this).onSync("tabKeyed",this._onTabKeyed,this).onSync("escKeyed",this._onEscKeyed,this).onSync("upKeyed",this._onUpKeyed,this).onSync("downKeyed",this._onDownKeyed,this).onSync("leftKeyed",this._onLeftKeyed,this).onSync("rightKeyed",this._onRightKeyed,this).onSync("queryChanged",this._onQueryChanged,this).onSync("whitespaceChanged",this._onWhitespaceChanged,this);this._setLanguageDirection();}
_.mixin(Typeahead.prototype,{_onSuggestionClicked:function onSuggestionClicked(type,$el){var datum;if(datum=this.dropdown.getDatumForSuggestion($el)){this._select(datum);}},_onCursorMoved:function onCursorMoved(){var datum=this.dropdown.getDatumForCursor();this.input.setInputValue(datum.value,true);this.eventBus.trigger("cursorchanged",datum.raw,datum.datasetName);},_onCursorRemoved:function onCursorRemoved(){this.input.resetInputValue();this._updateHint();},_onDatasetRendered:function onDatasetRendered(){this._updateHint();},_onOpened:function onOpened(){this._updateHint();this.eventBus.trigger("opened");},_onClosed:function onClosed(){this.input.clearHint();this.eventBus.trigger("closed");},_onFocused:function onFocused(){this.isActivated=true;this.dropdown.open();},_onBlurred:function onBlurred(){this.isActivated=false;this.dropdown.empty();this.dropdown.close();},_onEnterKeyed:function onEnterKeyed(type,$e){var cursorDatum,topSuggestionDatum;cursorDatum=this.dropdown.getDatumForCursor();topSuggestionDatum=this.dropdown.getDatumForTopSuggestion();if(cursorDatum){this._select(cursorDatum);$e.preventDefault();}else if(this.autoselect&&topSuggestionDatum){this._select(topSuggestionDatum);$e.preventDefault();}},_onTabKeyed:function onTabKeyed(type,$e){var datum;if(datum=this.dropdown.getDatumForCursor()){this._select(datum);$e.preventDefault();}else{this._autocomplete(true);}},_onEscKeyed:function onEscKeyed(){this.dropdown.close();this.input.resetInputValue();},_onUpKeyed:function onUpKeyed(){var query=this.input.getQuery();this.dropdown.isEmpty&&query.length>=this.minLength?this.dropdown.update(query):this.dropdown.moveCursorUp();this.dropdown.open();},_onDownKeyed:function onDownKeyed(){var query=this.input.getQuery();this.dropdown.isEmpty&&query.length>=this.minLength?this.dropdown.update(query):this.dropdown.moveCursorDown();this.dropdown.open();},_onLeftKeyed:function onLeftKeyed(){this.dir==="rtl"&&this._autocomplete();},_onRightKeyed:function onRightKeyed(){this.dir==="ltr"&&this._autocomplete();},_onQueryChanged:function onQueryChanged(e,query){this.input.clearHintIfInvalid();query.length>=this.minLength?this.dropdown.update(query):this.dropdown.empty();this.dropdown.open();this._setLanguageDirection();},_onWhitespaceChanged:function onWhitespaceChanged(){this._updateHint();this.dropdown.open();},_setLanguageDirection:function setLanguageDirection(){var dir;if(this.dir!==(dir=this.input.getLanguageDirection())){this.dir=dir;this.$node.css("direction",dir);this.dropdown.setLanguageDirection(dir);}},_updateHint:function updateHint(){var datum,val,query,escapedQuery,frontMatchRegEx,match;datum=this.dropdown.getDatumForTopSuggestion();if(datum&&this.dropdown.isVisible()&&!this.input.hasOverflow()){val=this.input.getInputValue();query=Input.normalizeQuery(val);escapedQuery=_.escapeRegExChars(query);frontMatchRegEx=new RegExp("^(?:"+escapedQuery+")(.+$)","i");match=frontMatchRegEx.exec(datum.value);match?this.input.setHint(val+match[1]):this.input.clearHint();}else{this.input.clearHint();}},_autocomplete:function autocomplete(laxCursor){var hint,query,isCursorAtEnd,datum;hint=this.input.getHint();query=this.input.getQuery();isCursorAtEnd=laxCursor||this.input.isCursorAtEnd();if(hint&&query!==hint&&isCursorAtEnd){datum=this.dropdown.getDatumForTopSuggestion();datum&&this.input.setInputValue(datum.value);this.eventBus.trigger("autocompleted",datum.raw,datum.datasetName);}},_select:function select(datum){this.input.setQuery(datum.value);this.input.setInputValue(datum.value,true);this._setLanguageDirection();this.eventBus.trigger("selected",datum.raw,datum.datasetName);this.dropdown.close();_.defer(_.bind(this.dropdown.empty,this.dropdown));},open:function open(){this.dropdown.open();},close:function close(){this.dropdown.close();},setVal:function setVal(val){val=_.toStr(val);if(this.isActivated){this.input.setInputValue(val);}else{this.input.setQuery(val);this.input.setInputValue(val,true);}
this._setLanguageDirection();},getVal:function getVal(){return this.input.getQuery();},destroy:function destroy(){this.input.destroy();this.dropdown.destroy();destroyDomStructure(this.$node);this.$node=null;}});return Typeahead;function buildDom(input,withHint){var $input,$wrapper,$dropdown,$hint;$input=$(input);$wrapper=$(html.wrapper).css(css.wrapper);$dropdown=$(html.dropdown).css(css.dropdown);$hint=$input.clone().css(css.hint).css(getBackgroundStyles($input));$hint.val("").removeData().addClass("tt-hint").removeAttr("id name placeholder required").prop("readonly",true).attr({autocomplete:"off",spellcheck:"false",tabindex:-1});$input.data(attrsKey,{dir:$input.attr("dir"),autocomplete:$input.attr("autocomplete"),spellcheck:$input.attr("spellcheck"),style:$input.attr("style")});$input.addClass("tt-input").attr({autocomplete:"off",spellcheck:false}).css(withHint?css.input:css.inputWithNoHint);try{!$input.attr("dir")&&$input.attr("dir","auto");}catch(e){}
return $input.wrap($wrapper).parent().prepend(withHint?$hint:null).append($dropdown);}
function getBackgroundStyles($el){return{backgroundAttachment:$el.css("background-attachment"),backgroundClip:$el.css("background-clip"),backgroundColor:$el.css("background-color"),backgroundImage:$el.css("background-image"),backgroundOrigin:$el.css("background-origin"),backgroundPosition:$el.css("background-position"),backgroundRepeat:$el.css("background-repeat"),backgroundSize:$el.css("background-size")};}
function destroyDomStructure($node){var $input=$node.find(".tt-input");_.each($input.data(attrsKey),function(val,key){_.isUndefined(val)?$input.removeAttr(key):$input.attr(key,val);});$input.detach().removeData(attrsKey).removeClass("tt-input").insertAfter($node);$node.remove();}}();(function(){"use strict";var old,typeaheadKey,methods;old=$.fn.typeahead;typeaheadKey="ttTypeahead";methods={initialize:function initialize(o,datasets){datasets=_.isArray(datasets)?datasets:[].slice.call(arguments,1);o=o||{};return this.each(attach);function attach(){var $input=$(this),eventBus,typeahead;_.each(datasets,function(d){d.highlight=!!o.highlight;});typeahead=new Typeahead({input:$input,eventBus:eventBus=new EventBus({el:$input}),withHint:_.isUndefined(o.hint)?true:!!o.hint,minLength:o.minLength,autoselect:o.autoselect,datasets:datasets});$input.data(typeaheadKey,typeahead);}},open:function open(){return this.each(openTypeahead);function openTypeahead(){var $input=$(this),typeahead;if(typeahead=$input.data(typeaheadKey)){typeahead.open();}}},close:function close(){return this.each(closeTypeahead);function closeTypeahead(){var $input=$(this),typeahead;if(typeahead=$input.data(typeaheadKey)){typeahead.close();}}},val:function val(newVal){return!arguments.length?getVal(this.first()):this.each(setVal);function setVal(){var $input=$(this),typeahead;if(typeahead=$input.data(typeaheadKey)){typeahead.setVal(newVal);}}
function getVal($input){var typeahead,query;if(typeahead=$input.data(typeaheadKey)){query=typeahead.getVal();}
return query;}},destroy:function destroy(){return this.each(unattach);function unattach(){var $input=$(this),typeahead;if(typeahead=$input.data(typeaheadKey)){typeahead.destroy();$input.removeData(typeaheadKey);}}}};$.fn.typeahead=function(method){var tts;if(methods[method]&&method!=="initialize"){tts=this.filter(function(){return!!$(this).data(typeaheadKey);});return methods[method].apply(tts,[].slice.call(arguments,1));}else{return methods.initialize.apply(this,arguments);}};$.fn.typeahead.noConflict=function noConflict(){$.fn.typeahead=old;return this;};})();})(window.jQuery);
