1/** 2 * jQuery yiiactiveform plugin file. 3 * 4 * @author Qiang Xue <[email protected]> 5 * @link https://www.yiiframework.com/ 6 * @copyright 2008-2010 Yii Software LLC 7 * @license https://www.yiiframework.com/license/ 8 * @since 1.1.1 9 */ 10(function($){var getAFValue=function(o){var type,c=[];if(!o.length){return undefined} 11if(o[0].tagName.toLowerCase()==='span'){o.find(':checked').each(function(){c.push(this.value)});return c.join(',')} 12type=o.attr('type');if(type==='checkbox'||type==='radio'){return o.filter(':checked').val()}else{return o.val()}};$.fn.yiiactiveform=function(options){return this.each(function(){var settings=$.extend({},$.fn.yiiactiveform.defaults,options||{}),$form=$(this);if(settings.validationUrl===undefined){settings.validationUrl=$form.attr('action')} 13$.each(settings.attributes,function(i){this.value=getAFValue($form.find('#'+this.inputID));settings.attributes[i]=$.extend({},{validationDelay:settings.validationDelay,validateOnChange:settings.validateOnChange,validateOnType:settings.validateOnType,hideErrorMessage:settings.hideErrorMessage,inputContainer:settings.inputContainer,errorCssClass:settings.errorCssClass,successCssClass:settings.successCssClass,beforeValidateAttribute:settings.beforeValidateAttribute,afterValidateAttribute:settings.afterValidateAttribute,validatingCssClass:settings.validatingCssClass,errorCallback:settings.errorCallback},this)});$form.data('settings',settings);settings.submitting=!1;var validate=function(attribute,forceValidate){if(forceValidate){attribute.status=2} 14$.each(settings.attributes,function(){if(this.value!==getAFValue($form.find('#'+this.inputID))){this.status=2;forceValidate=!0}});if(!forceValidate){return} 15if(settings.timer!==undefined){clearTimeout(settings.timer)} 16settings.timer=setTimeout(function(){if(settings.submitting||$form.is(':hidden')){return} 17if(attribute.beforeValidateAttribute===undefined||attribute.beforeValidateAttribute($form,attribute)){$.each(settings.attributes,function(){if(this.status===2){this.status=3;$.fn.yiiactiveform.getInputContainer(this,$form).addClass(this.validatingCssClass)}});$.fn.yiiactiveform.validate($form,function(data){var hasError=!1;$.each(settings.attributes,function(){if(this.status===2||this.status===3){hasError=$.fn.yiiactiveform.updateInput(this,data,$form)||hasError}});if(attribute.afterValidateAttribute!==undefined){attribute.afterValidateAttribute($form,attribute,data,hasError)}},settings.errorCallback)}},attribute.validationDelay)};$.each(settings.attributes,function(i,attribute){if(this.validateOnChange){$form.find('#'+this.inputID).on('change',function(){validate(attribute,!1)}).on('blur',function(){if(attribute.status!==2&&attribute.status!==3){validate(attribute,!attribute.status)}})} 18if(this.validateOnType){$form.find('#'+this.inputID).keyup(function(){if(attribute.value!==getAFValue($(this))){validate(attribute,!1)}})}});if(settings.validateOnSubmit){$form.on('mouseup keyup',':submit',function(){$form.data('submitObject',$(this))});var validated=!1;$form.on('submit',function(){if(validated){validated=!1;return!0} 19if(settings.timer!==undefined){clearTimeout(settings.timer)} 20settings.submitting=!0;if(settings.beforeValidate===undefined||settings.beforeValidate($form)){$.fn.yiiactiveform.validate($form,function(data){var hasError=!1;$.each(settings.attributes,function(){hasError=$.fn.yiiactiveform.updateInput(this,data,$form)||hasError});$.fn.yiiactiveform.updateSummary($form,data);if(settings.afterValidate===undefined||settings.afterValidate($form,data,hasError)){if(!hasError){validated=!0;var $button=$form.data('submitObject')||$form.find(':submit:first');if($button.length){$button.trigger('click')}else{$form.trigger('submit')} 21return}} 22settings.submitting=!1},settings.errorCallback)}else{settings.submitting=!1} 23return!1})} 24$form.bind('reset',function(){setTimeout(function(){$.each(settings.attributes,function(){this.status=0;var $error=$form.find('#'+this.errorID),$container=$.fn.yiiactiveform.getInputContainer(this,$form);$container.removeClass(this.validatingCssClass+' '+this.errorCssClass+' '+this.successCssClass);$error.html('').hide();this.value=getAFValue($form.find('#'+this.inputID))});$form.find('label, :input').each(function(){$(this).removeClass(settings.errorCss)});$('#'+settings.summaryID).hide().find('ul').html('');if(settings.focus!==undefined&&!window.location.hash){$form.find(settings.focus).trigger('focus')}},1)});if(settings.focus!==undefined&&!window.location.hash){$form.find(settings.focus).trigger('focus')}})};$.fn.yiiactiveform.getInputContainer=function(attribute,form){if(attribute.inputContainer===undefined){return form.find('#'+attribute.inputID).closest('div')}else{return form.find(attribute.inputContainer).filter(':has("#'+attribute.inputID+'")')}};$.fn.yiiactiveform.updateInput=function(attribute,messages,form){attribute.status=1;var $error,$container,hasError=!1,$el=form.find('#'+attribute.inputID),errorCss=form.data('settings').errorCss;if($el.length){hasError=messages!==null&&$.isArray(messages[attribute.id])&&messages[attribute.id].length>0;$error=form.find('#'+attribute.errorID);$container=$.fn.yiiactiveform.getInputContainer(attribute,form);$container.removeClass(attribute.validatingCssClass+' '+attribute.errorCssClass+' '+attribute.successCssClass);$container.find('label, :input').each(function(){$(this).removeClass(errorCss)});if(hasError){$error.html(messages[attribute.id][0]);$container.addClass(attribute.errorCssClass)}else if(attribute.enableAjaxValidation||attribute.clientValidation){$container.addClass(attribute.successCssClass)} 25if(!attribute.hideErrorMessage){$error.toggle(hasError)} 26attribute.value=getAFValue($el)} 27return hasError};$.fn.yiiactiveform.updateSummary=function(form,messages){var settings=$(form).data('settings'),content='';if(settings.summaryID===undefined){return} 28if(messages){var summaryAttributes=[];
28for(var i in settings.attributes){if(settings.attributes[i].summary){summaryAttributes.push(settings.attributes[i].id)}} 29$.each(settings.attributes,function(){if($.inArray(this.id,summaryAttributes)!==-1&&$.isArray(messages[this.id])){$.each(messages[this.id],function(j,message){content=content+'<li>'+message+'</li>'})}})} 30$('#'+settings.summaryID).toggle(content!=='').find('ul').html(content)};$.fn.yiiactiveform.validate=function(form,successCallback,errorCallback){var $form=$(form),settings=$form.data('settings'),needAjaxValidation=!1,messages={};$.each(settings.attributes,function(){var value,msg=[];if(this.clientValidation!==undefined&&(settings.submitting||this.status===2||this.status===3)){value=getAFValue($form.find('#'+this.inputID));this.clientValidation(value,msg,this);if(msg.length){messages[this.id]=msg}} 31if(this.enableAjaxValidation&&!msg.length&&(settings.submitting||this.status===2||this.status===3)){needAjaxValidation=!0}});if(!needAjaxValidation||settings.submitting&&!$.isEmptyObject(messages)){if(settings.submitting){setTimeout(function(){successCallback(messages)},200)}else{successCallback(messages)} 32return} 33var $button=$form.data('submitObject'),extData='&'+settings.ajaxVar+'='+$form.attr('id');if($button&&$button.length){extData+='&'+$button.attr('name')+'='+$button.attr('value')} 34$.ajax({url:settings.validationUrl,type:$form.attr('method'),data:$form.serialize()+extData,dataType:'json',success:function(data){if(data!==null&&typeof data==='object'){$.each(settings.attributes,function(){if(!this.enableAjaxValidation){delete data[this.id]}});successCallback($.extend({},messages,data))}else{successCallback(messages)}},error:function(){if(errorCallback!==undefined){errorCallback()}}})};$.fn.yiiactiveform.getSettings=function(form){return $(form).data('settings')};$.fn.yiiactiveform.defaults={ajaxVar:'ajax',validationUrl:undefined,validationDelay:200,validateOnSubmit:!1,validateOnChange:!0,validateOnType:!1,hideErrorMessage:!1,inputContainer:undefined,errorCss:'error',errorCssClass:'error',successCssClass:'success',validatingCssClass:'validating',summaryID:undefined,timer:undefined,beforeValidateAttribute:undefined,afterValidateAttribute:undefined,beforeValidate:undefined,afterValidate:undefined,focus:undefined,attributes:[],errorCallback:undefined}})(jQuery); 35/*! 36 * imagesLoaded PACKAGED v3.1.4 37 * JavaScript is all like "You images are done yet or what?" 38 * MIT License 39 */ 40 41/*! 42 * EventEmitter v4.2.6 - git.io/ee 43 * Oliver Caldwell 44 * MIT license 45 * @preserve 46 */ 47(function(){function EventEmitter(){} 48var proto=EventEmitter.prototype;var exports=this;var originalGlobalValue=exports.EventEmitter;function indexOfListener(listeners,listener){var i=listeners.length;while(i--){if(listeners[i].listener===listener){return i}} 49return-1} 50function alias(name){return function aliasClosure(){return this[name].apply(this,arguments)}} 51proto.getListeners=function getListeners(evt){var events=this._getEvents();var response;var key;if(typeof evt==='object'){response={};for(key in events){if(events.hasOwnProperty(key)&&evt.test(key)){response[key]=events[key]}}}else{response=events[evt]||(events[evt]=[])} 52return response};proto.flattenListeners=function flattenListeners(listeners){var flatListeners=[];var i;for(i=0;i<listeners.length;i+=1){flatListeners.push(listeners[i].listener)} 53return flatListeners};proto.getListenersAsObject=function getListenersAsObject(evt){var listeners=this.getListeners(evt);var response;if(listeners instanceof Array){response={};response[evt]=listeners} 54return response||listeners};proto.addListener=function addListener(evt,listener){var listeners=this.getListenersAsObject(evt);var listenerIsWrapped=typeof listener==='object';var key;for(key in listeners){if(listeners.hasOwnProperty(key)&&indexOfListener(listeners[key],listener)===-1){listeners[key].push(listenerIsWrapped?listener:{listener:listener,once:!1})}} 55return this};proto.on=alias('addListener');proto.addOnceListener=function addOnceListener(evt,listener){return this.addListener(evt,{listener:listener,once:!0})};proto.once=alias('addOnceListener');proto.defineEvent=function defineEvent(evt){this.getListeners(evt);return this};proto.defineEvents=function defineEvents(evts){for(var i=0;i<evts.length;i+=1){this.defineEvent(evts[i])} 56return this};proto.removeListener=function removeListener(evt,listener){var listeners=this.getListenersAsObject(evt);var index;var key;for(key in listeners){if(listeners.hasOwnProperty(key)){index=indexOfListener(listeners[key],listener);if(index!==-1){listeners[key].splice(index,1)}}} 57return this};proto.off=alias('removeListener');proto.addListeners=function addListeners(evt,listeners){return this.manipulateListeners(!1,evt,listeners)};proto.removeListeners=function removeListeners(evt,listeners){return this.manipulateListeners(!0,evt,listeners)};proto.manipulateListeners=function manipulateListeners(remove,evt,listeners){var i;var value;var single=remove?this.removeListener:this.addListener;var multiple=remove?this.removeListeners:this.addListeners;if(typeof evt==='object'&&!(evt instanceof RegExp)){for(i in evt){if(evt.hasOwnProperty(i)&&(value=evt[i])){if(typeof value==='function'){single.call(this,i,value)}else{multiple.call(this,i,value)}}}}else{i=listeners.length;while(i--){single.call(this,evt,listeners[i])}} 58return this};proto.removeEvent=function removeEvent(evt){var type=typeof evt;var events=this._getEvents();var key;if(type==='string'){delete events[evt]}else if(type==='object'){for(key in events){if(events.hasOwnProperty(key)&&evt.test(key)){delete events[key]}}}else{delete this._events} 59return this};proto.removeAllListeners=alias('removeEvent');proto.emitEvent=function emitEvent(evt,args){var listeners=this.getListenersAsObject(evt);var listener;var i;var key;var response;for(key in listeners){if(listeners.hasOwnProperty(key)){i=listeners[key].length;while(i--){listener=listeners[key][i];if(listener.once===!0){this.removeListener(evt,listener.listener)} 60response=listener.listener.apply(this,args||[]);if(response===this._getOnceReturnValue()){this.removeListener(evt,listener.listener)}}}} 61return this};proto.trigger=alias('emitEvent');proto.emit=function emit(evt){var args=Array.prototype.slice.call(arguments,1
61);return this.emitEvent(evt,args)};proto.setOnceReturnValue=function setOnceReturnValue(value){this._onceReturnValue=value;return this};proto._getOnceReturnValue=function _getOnceReturnValue(){if(this.hasOwnProperty('_onceReturnValue')){return this._onceReturnValue}else{return!0}};proto._getEvents=function _getEvents(){return this._events||(this._events={})};EventEmitter.noConflict=function noConflict(){exports.EventEmitter=originalGlobalValue;return EventEmitter};if(typeof define==='function'&&define.amd){define('eventEmitter/EventEmitter',[],function(){return EventEmitter})}else if(typeof module==='object'&&module.exports){module.exports=EventEmitter}else{this.EventEmitter=EventEmitter}}.call(this)); 62/*! 63 * eventie v1.0.4 64 * event binding helper 65 * eventie.bind( elem, 'click', myFn ) 66 * eventie.unbind( elem, 'click', myFn ) 67 */ 68(function(window){var docElem=document.documentElement;var bind=function(){};function getIEEvent(obj){var event=window.event;event.target=event.target||event.srcElement||obj;return event} 69if(docElem.addEventListener){bind=function(obj,type,fn){obj.addEventListener(type,fn,!1)}}else if(docElem.attachEvent){bind=function(obj,type,fn){obj[type+fn]=fn.handleEvent?function(){var event=getIEEvent(obj);fn.handleEvent.call(fn,event)}:function(){var event=getIEEvent(obj);fn.call(obj,event)};obj.attachEvent("on"+type,obj[type+fn])}} 70var unbind=function(){};if(docElem.removeEventListener){unbind=function(obj,type,fn){obj.removeEventListener(type,fn,!1)}}else if(docElem.detachEvent){unbind=function(obj,type,fn){obj.detachEvent("on"+type,obj[type+fn]);try{delete obj[type+fn]}catch(err){obj[type+fn]=undefined}}} 71var eventie={bind:bind,unbind:unbind};if(typeof define==='function'&&define.amd){define('eventie/eventie',eventie)}else{window.eventie=eventie}})(this); 72/*! 73 * imagesLoaded v3.1.4 74 * JavaScript is all like "You images are done yet or what?" 75 * MIT License 76 */ 77(function(window,factory){if(typeof define==='function'&&define.amd){define(['eventEmitter/EventEmitter','eventie/eventie'],function(EventEmitter,eventie){return factory(window,EventEmitter,eventie)})}else if(typeof exports==='object'){module.exports=factory(window,require('eventEmitter'),require('eventie'))}else{window.imagesLoaded=factory(window,window.EventEmitter,window.eventie)}})(this,function factory(window,EventEmitter,eventie){var $=window.jQuery;var console=window.console;var hasConsole=typeof console!=='undefined';function extend(a,b){for(var prop in b){a[prop]=b[prop]} 78return a} 79var objToString=Object.prototype.toString;function isArray(obj){return objToString.call(obj)==='[object Array]'} 80function makeArray(obj){var ary=[];if(isArray(obj)){ary=obj}else if(typeof obj.length==='number'){for(var i=0,len=obj.length;i<len;i++){ary.push(obj[i])}}else{ary.push(obj)} 81return ary} 82function ImagesLoaded(elem,options,onAlways){if(!(this instanceof ImagesLoaded)){return new ImagesLoaded(elem,options)} 83if(typeof elem==='string'){elem=document.querySelectorAll(elem)} 84this.elements=makeArray(elem);this.options=extend({},this.options);if(typeof options==='function'){onAlways=options}else{extend(this.options,options)} 85if(onAlways){this.on('always',onAlways)} 86this.getImages();if($){this.jqDeferred=new $.Deferred()} 87var _this=this;setTimeout(function(){_this.check()})} 88ImagesLoaded.prototype=new EventEmitter();ImagesLoaded.prototype.options={};ImagesLoaded.prototype.getImages=function(){this.images=[];for(var i=0,len=this.elements.length;i<len;i++){var elem=this.elements[i];if(elem.nodeName==='IMG'){this.addImage(elem)} 89var childElems=elem.querySelectorAll('img');for(var j=0,jLen=childElems.length;j<jLen;j++){var img=childElems[j];this.addImage(img)}}};ImagesLoaded.prototype.addImage=function(img){var loadingImage=new LoadingImage(img);this.images.push(loadingImage)};ImagesLoaded.prototype.check=function(){var _this=this;var checkedCount=0;var length=this.images.length;this.hasAnyBroken=!1;if(!length){this.complete();return} 90function onConfirm(image,message){if(_this.options.debug&&hasConsole){console.log('confirm',image,message)} 91_this.progress(image);checkedCount++;
91if(checkedCount===length){_this.complete()} 92return!0} 93for(var i=0;i<length;i++){var loadingImage=this.images[i];loadingImage.on('confirm',onConfirm);loadingImage.check()}};ImagesLoaded.prototype.progress=function(image){this.hasAnyBroken=this.hasAnyBroken||!image.isLoaded;var _this=this;setTimeout(function(){_this.emit('progress',_this,image);if(_this.jqDeferred&&_this.jqDeferred.notify){_this.jqDeferred.notify(_this,image)}})};ImagesLoaded.prototype.complete=function(){var eventName=this.hasAnyBroken?'fail':'done';this.isComplete=!0;var _this=this;setTimeout(function(){_this.emit(eventName,_this);_this.emit('always',_this);if(_this.jqDeferred){var jqMethod=_this.hasAnyBroken?'reject':'resolve';_this.jqDeferred[jqMethod](_this)}})};if($){$.fn.imagesLoaded=function(options,callback){var instance=new ImagesLoaded(this,options,callback);return instance.jqDeferred.promise($(this))}} 94function LoadingImage(img){this.img=img} 95LoadingImage.prototype=new EventEmitter();LoadingImage.prototype.check=function(){var resource=cache[this.img.src]||new Resource(this.img.src);if(resource.isConfirmed){this.confirm(resource.isLoaded,'cached was confirmed');return} 96if(this.img.complete&&this.img.naturalWidth!==undefined){this.confirm(this.img.naturalWidth!==0,'naturalWidth');return} 97var _this=this;resource.on('confirm',function(resrc,message){_this.confirm(resrc.isLoaded,message);return!0});resource.check()};LoadingImage.prototype.confirm=function(isLoaded,message){this.isLoaded=isLoaded;this.emit('confirm',this,message)};var cache={};function Resource(src){this.src=src;cache[src]=this} 98Resource.prototype=new EventEmitter();Resource.prototype.check=function(){if(this.isChecked){return} 99var proxyImage=new Image();eventie.bind(proxyImage,'load',this);eventie.bind(proxyImage,'error',this);proxyImage.src=this.src;this.isChecked=!0};Resource.prototype.handleEvent=function(event){var method='on'+event.type;if(this[method]){this[method](event)}};Resource.prototype.onload=function(event){this.confirm(!0,'onload');this.unbindProxyEvents(event)};Resource.prototype.onerror=function(event){this.confirm(!1,'onerror');this.unbindProxyEvents(event)};Resource.prototype.confirm=function(isLoaded,message){this.isConfirmed=!0;this.isLoaded=isLoaded;this.emit('confirm',this,message)};Resource.prototype.unbindProxyEvents=function(event){eventie.unbind(event.target,'load',this);eventie.unbind(event.target,'error',this)};return ImagesLoaded}); 100/*! 101 * Masonry PACKAGED v3.1.5 102 * Cascading grid layout library 103 * http://masonry.desandro.com 104 * MIT License 105 * by David DeSandro 106 */ 107(function(window){var slice=Array.prototype.slice;function noop(){} 108function defineBridget($){if(!$){return} 109function addOptionMethod(PluginClass){if(PluginClass.prototype.option){return} 110PluginClass.prototype.option=function(opts){if(!$.isPlainObject(opts)){return} 111this.options=$.extend(!0,this.options,opts)}} 112var logError=typeof console==='undefined'?noop:function(message){console.error(message)};function bridge(namespace,PluginClass){$.fn[namespace]=function(options){if(typeof options==='string'){var args=slice.call(arguments,1);for(var i=0,len=this.length;i<len;i++){var elem=this[i];var instance=$.data(elem,namespace);if(!instance){logError("cannot call methods on "+namespace+" prior to initialization; "+"attempted to call '"+options+"'");continue} 113if(!$.isFunction(instance[options])||options.charAt(0)==='_'){logError("no such method '"+options+"' for "+namespace+" instance");continue} 114var returnValue=instance[options].apply(instance,args);if(returnValue!==undefined){return returnValue}} 115return this}else{return this.each(function(){var instance=$.data(this,namespace);if(instance){instance.option(options);instance._init()}else{instance=new PluginClass(this,options);$.data(this,namespace,instance)}})}}} 116$.bridget=function(namespace,PluginClass){addOptionMethod(PluginClass);bridge(namespace,PluginClass)};return $.bridget} 117if(typeof define==='function'&&define.amd){define('jquery-bridget/jquery.bridget',['jquery'],defineBridget)}else{defineBridget(window.jQuery)}})(window); 118/*! 119 * eventie v1.0.5 120 * event binding helper 121 * eventie.bind( elem, 'click', myFn ) 122 * eventie.unbind( elem, 'click', myFn ) 123 * MIT license 124 */ 125(function(window){var docElem=document.documentElement;var bind=function(){};function getIEEvent(obj){var event=window.event;event.target=event.target||event.srcElement||obj;return event} 126if(docElem.addEventListener){bind=function(obj,type,fn){obj.addEventListener(type,fn,!1)}}else if(docElem.attachEvent){bind=function(obj,type,fn){obj[type+fn]=fn.handleEvent?function(){var event=getIEEvent(obj);fn.handleEvent.call(fn,event)}:function(){var event=getIEEvent(obj);fn.call(obj,event)};obj.attachEvent("on"+type,obj[type+fn])}} 127var unbind=function(){};if(docElem.removeEventListener){unbind=function(obj,type,fn){obj.removeEventListener(type,fn,!1)}}else if(docElem.detachEvent){unbind=function(obj,type,fn){obj.detachEvent("on"+type,obj[type+fn]);try{delete obj[type+fn]}catch(err){obj[type+fn]=undefined}}} 128var eventie={bind:bind,unbind:unbind};if(typeof define==='function'&&define.amd){define('eventie/eventie',eventie)}else if(typeof exports==='object'){module.exports=eventie}else{window.eventie=eventie}})(this); 129/*! 130 * docReady 131 * Cross browser DOMContentLoaded event emitter 132 */ 133(function(window){var document=window.document;var queue=[];function docReady(fn){if(typeof fn!=='function'){return} 134if(docReady.isReady){fn()}else{queue.push(fn)}} 135docReady.isReady=!1;function init(event){var isIE8NotReady=event.type==='readystatechange'&&document.readyState!=='complete';if(docReady.isReady||isIE8NotReady){return} 136docReady.isReady=!0;for(var i=0,len=queue.length;i<len;i++){var fn=queue[i];fn()}} 137function defineDocReady(eventie){eventie.bind(document,'DOMContentLoaded',init);eventie.bind(document,'readystatechange',init);eventie.bind(window,'load',init);return docReady} 138if(typeof define==='function'&&define.amd){docReady.isReady=typeof requirejs==='function';define('doc-ready/doc-ready',['eventie/eventie'],defineDocReady)}else{window.docReady=defineDocReady(window.eventie)}})(this); 139/*! 140 * EventEmitter v4.2.7 - git.io/ee 141 * Oliver Caldwell 142 * MIT license 143 * @preserve 144 */ 145(function(){function EventEmitter(){} 146var proto=EventEmitter.prototype;var exports=this;var originalGlobalValue=exports.EventEmitter;function indexOfListener(listeners,listener){var i=listeners.length;while(i--){if(listeners[i].listener===listener){return i}} 147return-1} 148function alias(name){return function aliasClosure(){return this[name].apply(this,arguments)}} 149proto.getListeners=function getListeners(evt){var events=this._getEvents();var response;var key;if(evt instanceof RegExp){response={};for(key in events){if(events.hasOwnProperty(key)&&evt.test(key)){response[key]=events[key]}}}else{response=events[evt]||(events[evt]=[])} 150return response};proto.flattenListeners=function flattenListeners(listeners){var flatListeners=[];var i;for(i=0;i<listeners.length;i+=1){flatListeners.push(listeners[i].listener)} 151return flatListeners};proto.getListenersAsObject=function getListenersAsObject(evt){var listeners=this.getListeners(evt);var response;if(listeners instanceof Array){response={};response[evt]=listeners} 152return response||listeners};proto.addListener=function addListener(evt,listener){var listeners=this.getListenersAsObject(evt);var listenerIsWrapped=typeof listener==='object';var key;for(key in listeners){if(listeners.hasOwnProperty(key)&&indexOfListener(listeners[key],listener)===-1){listeners[key].push(listenerIsWrapped?listener:{listener:listener,once:!1})}} 153return this};proto.on=alias('addListener');proto.addOnceListener=function addOnceListener(evt,listener){return this.addListener(evt,{listener:listener,once:!0})};proto.once=alias('addOnceListener');proto.defineEvent=function defineEvent(evt){this.getListeners(evt);return this};proto.defineEvents=function defineEvents(evts){for(var i=0;i<evts.length;i+=1){this.defineEvent(evts[i])} 154return this};proto.removeListener=function removeListener(evt,listener){var listeners=this.getListenersAsObject(evt);var index;var key;for(key in listeners){if(listeners.hasOwnProperty(key)){index=indexOfListener(listeners[key],listener);if(index!==-1){listeners[key].splice(index,1)}}} 155return this};proto.off=alias('removeListener');proto.addListeners=function addListeners(evt,listeners){return this.manipulateListeners(!1,evt,listeners)};proto.removeListeners=function removeListeners(evt,listeners){return this.manipulateListeners(!0,evt,listeners)};proto.manipulateListeners=function manipulateListeners(remove,evt,listeners){var i;var value;var single=remove?this.removeListener:this.addListener;var multiple=remove?this.removeListeners:this.addListeners;if(typeof evt==='object'&&!(evt instanceof RegExp)){for(i in evt){if(evt.hasOwnProperty(i)&&(value=evt[i])){if(typeof value==='function'){single.call(this,i,value)}else{multiple.call(this,i,value)}}}}else{i=listeners.length;while(i--){single.call(this,evt,listeners[i])}} 156return this};proto.removeEvent=function removeEvent(evt){var type=typeof evt;var events=this._getEvents();var key;if(type==='string'){delete events[evt]}else if(evt instanceof RegExp){for(key in events){if(events.hasOwnProperty(key)&&evt.test(key)){delete events[key]}}}else{delete this._events} 157return this};proto.removeAllListeners=alias('removeEvent');proto.emitEvent=function emitEvent(evt,args){var listeners=this.getListenersAsObject(evt);var listener;var i;var key;var response;for(key in listeners){if(listeners.hasOwnProperty(key)){i=listeners[key].length;while(i--){listener=listeners[key][i];if(listener.once===!0){this.removeListener(evt,listener.listener)} 158response=listener.listener.apply(this,args||[]);if(response===this._getOnceReturnValue()){this.removeListener(evt,listener.listener)}}}} 159return this};proto.trigger=alias('emitEvent');proto.emit=function emit(evt){var args=Array.prototype.slice.call(arguments,1
159);return this.emitEvent(evt,args)};proto.setOnceReturnValue=function setOnceReturnValue(value){this._onceReturnValue=value;return this};proto._getOnceReturnValue=function _getOnceReturnValue(){if(this.hasOwnProperty('_onceReturnValue')){return this._onceReturnValue}else{return!0}};proto._getEvents=function _getEvents(){return this._events||(this._events={})};EventEmitter.noConflict=function noConflict(){exports.EventEmitter=originalGlobalValue;return EventEmitter};if(typeof define==='function'&&define.amd){define('eventEmitter/EventEmitter',[],function(){return EventEmitter})}else if(typeof module==='object'&&module.exports){module.exports=EventEmitter}else{this.EventEmitter=EventEmitter}}.call(this)); 160/*! 161 * getStyleProperty v1.0.3 162 * original by kangax 163 * http://perfectionkills.com/feature-testing-css-properties/ 164 */ 165(function(window){var prefixes='Webkit Moz ms Ms O'.split(' ');var docElemStyle=document.documentElement.style;function getStyleProperty(propName){if(!propName){return} 166if(typeof docElemStyle[propName]==='string'){return propName} 167propName=propName.charAt(0).toUpperCase()+propName.slice(1);var prefixed;for(var i=0,len=prefixes.length;i<len;i++){prefixed=prefixes[i]+propName;if(typeof docElemStyle[prefixed]==='string'){return prefixed}}} 168if(typeof define==='function'&&define.amd){define('get-style-property/get-style-property',[],function(){return getStyleProperty})}else if(typeof exports==='object'){module.exports=getStyleProperty}else{window.getStyleProperty=getStyleProperty}})(window);(function(window,undefined){var getComputedStyle=window.getComputedStyle;var getStyle=getComputedStyle?function(elem){return getComputedStyle(elem,null)}:function(elem){return elem.currentStyle};function getStyleSize(value){var num=parseFloat(value);var isValid=value.indexOf('%')===-1&&!isNaN(num);return isValid&&num} 169var measurements=['paddingLeft','paddingRight','paddingTop','paddingBottom','marginLeft','marginRight','marginTop','marginBottom','borderLeftWidth','borderRightWidth','borderTopWidth','borderBottomWidth'];function getZeroSize(){var size={width:0,height:0,innerWidth:0,innerHeight:0,outerWidth:0,outerHeight:0};for(var i=0,len=measurements.length;i<len;i++){var measurement=measurements[i];size[measurement]=0} 170return size} 171function defineGetSize(getStyleProperty){var boxSizingProp=getStyleProperty('boxSizing');var isBoxSizeOuter;(function(){if(!boxSizingProp){return} 172var div=document.createElement('div');div.style.width='200px';div.style.padding='1px 2px 3px 4px';div.style.borderStyle='solid';div.style.borderWidth='1px 2px 3px 4px';div.style[boxSizingProp]='border-box';var body=document.body||document.documentElement;body.appendChild(div);var style=getStyle(div);isBoxSizeOuter=getStyleSize(style.width)===200;body.removeChild(div)})();function getSize(elem){if(typeof elem==='string'){elem=document.querySelector(elem)} 173if(!elem||typeof elem!=='object'||!elem.nodeType){return} 174var style=getStyle(elem);if(style.display==='none'){return getZeroSize()} 175var size={};size.width=elem.offsetWidth;size.height=elem.offsetHeight;var isBorderBox=size.isBorderBox=!!(boxSizingProp&&style[boxSizingProp]&&style[boxSizingProp]==='border-box');for(var i=0,len=measurements.length;i<len;i++){var measurement=measurements[i];var value=style[measurement];value=mungeNonPixel(elem,value);var num=parseFloat(value);size[measurement]=!isNaN(num)?num:0} 176var paddingWidth=size.paddingLeft+size.paddingRight;var paddingHeight=size.paddingTop+size.paddingBottom;var marginWidth=size.marginLeft+size.marginRight;var marginHeight=size.marginTop+size.marginBottom;var borderWidth=size.borderLeftWidth+size.borderRightWidth;var borderHeight=size.borderTopWidth+size.borderBottomWidth;var isBorderBoxSizeOuter=isBorderBox&&isBoxSizeOuter;var styleWidth=getStyleSize(style.width);if(styleWidth!==!1){size.width=styleWidth+(isBorderBoxSizeOuter?0:paddingWidth+borderWidth)} 177var styleHeight=getStyleSize(style.height);if(styleHeight!==!1){size.height=styleHeight+(isBorderBoxSizeOuter?0:paddingHeight+borderHeight)} 178size.innerWidth=size.width-(paddingWidth+borderWidth);
178size.innerHeight=size.height-(paddingHeight+borderHeight);size.outerWidth=size.width+marginWidth;size.outerHeight=size.height+marginHeight;return size} 179function mungeNonPixel(elem,value){if(getComputedStyle||value.indexOf('%')===-1){return value} 180var style=elem.style;var left=style.left;var rs=elem.runtimeStyle;var rsLeft=rs&&rs.left;if(rsLeft){rs.left=elem.currentStyle.left} 181style.left=value;value=style.pixelLeft;style.left=left;if(rsLeft){rs.left=rsLeft} 182return value} 183return getSize} 184if(typeof define==='function'&&define.amd){define('get-size/get-size',['get-style-property/get-style-property'],defineGetSize)}else if(typeof exports==='object'){module.exports=defineGetSize(require('get-style-property'))}else{window.getSize=defineGetSize(window.getStyleProperty)}})(window);(function(global,ElemProto){var matchesMethod=(function(){if(ElemProto.matchesSelector){return'matchesSelector'} 185var prefixes=['webkit','moz','ms','o'];for(var i=0,len=prefixes.length;i<len;i++){var prefix=prefixes[i];var method=prefix+'MatchesSelector';if(ElemProto[method]){return method}}})();function match(elem,selector){return elem[matchesMethod](selector)} 186function checkParent(elem){if(elem.parentNode){return} 187var fragment=document.createDocumentFragment();fragment.appendChild(elem)} 188function query(elem,selector){checkParent(elem);var elems=elem.parentNode.querySelectorAll(selector);for(var i=0,len=elems.length;i<len;i++){if(elems[i]===elem){return!0}} 189return!1} 190function matchChild(elem,selector){checkParent(elem);return match(elem,selector)} 191var matchesSelector;if(matchesMethod){var div=document.createElement('div');var supportsOrphans=match(div,'div');matchesSelector=supportsOrphans?match:matchChild}else{matchesSelector=query} 192if(typeof define==='function'&&define.amd){define('matches-selector/matches-selector',[],function(){return matchesSelector})}else{window.matchesSelector=matchesSelector}})(this,Element.prototype);(function(window){var getComputedStyle=window.getComputedStyle;var getStyle=getComputedStyle?function(elem){return getComputedStyle(elem,null)}:function(elem){return elem.currentStyle};function extend(a,b){for(var prop in b){a[prop]=b[prop]} 193return a} 194function isEmptyObj(obj){for(var prop in obj){return!1} 195prop=null;return!0} 196function toDash(str){return str.replace(/([A-Z])/g,function($1){return'-'+$1.toLowerCase()})} 197function outlayerItemDefinition(EventEmitter,getSize,getStyleProperty){var transitionProperty=getStyleProperty('transition');var transformProperty=getStyleProperty('transform');var supportsCSS3=transitionProperty&&transformProperty;var is3d=!!getStyleProperty('perspective');var transitionEndEvent={WebkitTransition:'webkitTransitionEnd',MozTransition:'transitionend',OTransition:'otransitionend',transition:'transitionend'}[transitionProperty];var prefixableProperties=['transform','transition','transitionDuration','transitionProperty'];var vendorProperties=(function(){var cache={};for(var i=0,len=prefixableProperties.length;i<len;i++){var prop=prefixableProperties[i];var supportedProp=getStyleProperty(prop);if(supportedProp&&supportedProp!==prop){cache[prop]=supportedProp}} 198return cache})();function Item(element,layout){if(!element){return} 199this.element=element;this.layout=layout;this.position={x:0,y:0};this._create()} 200extend(Item.prototype,EventEmitter.prototype);Item.prototype._create=function(){this._transn={ingProperties:{},clean:{},onEnd:{}};this.css({position:'absolute'})};Item.prototype.handleEvent=function(event){var method='on'+event.type;if(this[method]){this[method](event)}};Item.prototype.getSize=function(){this.size=getSize(this.element)};Item.prototype.css=function(style){var elemStyle=this.element.style;for(var prop in style){var supportedProp=vendorProperties[prop]||prop;elemStyle[supportedProp]=style[prop]}};Item.prototype.getPosition=function(){var style=getStyle(this.element);var layoutOptions=this.layout.options;var isOriginLeft=layoutOptions.isOriginLeft;var isOriginTop=layoutOptions.isOriginTop;var x=parseInt(style[isOriginLeft?'left':'right'],10);var y=parseInt(style[isOriginTop?'top':'bottom'],10);x=isNaN(x)?0:x;y=isNaN(y)?0:y;var layoutSize=this.layout.size;x-=isOriginLeft?layoutSize.paddingLeft:layoutSize.paddingRight;y-=isOriginTop?layoutSize.paddingTop:layoutSize.paddingBottom;this.position.x=x;this.position.y=y};Item.prototype.layoutPosition=function(){var layoutSize=this.layout.size;var layoutOptions=this.layout.options;var style={};if(layoutOptions.isOriginLeft){style.left=(this.position.x+layoutSize.paddingLeft)+'px';style.right=''}else{style.right=(this.position.x+layoutSize.paddingRight)+'px';style.left=''} 201if(layoutOptions.isOriginTop){style.top=(this.position.y+layoutSize.paddingTop)+'px';style.bottom=''}else{style.bottom=(this.position.y+layoutSize.paddingBottom)+'px';style.top=''} 202this.css(style);this.emitEvent('layout',[this])};var translate=is3d?function(x,y){return'translate3d('+x+'px, '+y+'px, 0)'}:function(x,y){return'translate('+x+'px, '+y+'px)'};Item.prototype._transitionTo=function(x,y){this.getPosition();var curX=this.position.x;var curY=this.position.y;var compareX=parseInt(x,10);var compareY=parseInt(y,10);
202var didNotMove=compareX===this.position.x&&compareY===this.position.y;this.setPosition(x,y);if(didNotMove&&!this.isTransitioning){this.layoutPosition();return} 203var transX=x-curX;var transY=y-curY;var transitionStyle={};var layoutOptions=this.layout.options;transX=layoutOptions.isOriginLeft?transX:-transX;transY=layoutOptions.isOriginTop?transY:-transY;transitionStyle.transform=translate(transX,transY);this.transition({to:transitionStyle,onTransitionEnd:{transform:this.layoutPosition},isCleaning:!0})};Item.prototype.goTo=function(x,y){this.setPosition(x,y);this.layoutPosition()};Item.prototype.moveTo=supportsCSS3?Item.prototype._transitionTo:Item.prototype.goTo;Item.prototype.setPosition=function(x,y){this.position.x=parseInt(x,10);this.position.y=parseInt(y,10)};Item.prototype._nonTransition=function(args){this.css(args.to);if(args.isCleaning){this._removeStyles(args.to)} 204for(var prop in args.onTransitionEnd){args.onTransitionEnd[prop].call(this)}};Item.prototype._transition=function(args){if(!parseFloat(this.layout.options.transitionDuration)){this._nonTransition(args);return} 205var _transition=this._transn;for(var prop in args.onTransitionEnd){_transition.onEnd[prop]=args.onTransitionEnd[prop]} 206for(prop in args.to){_transition.ingProperties[prop]=!0;if(args.isCleaning){_transition.clean[prop]=!0}} 207if(args.from){this.css(args.from);var h=this.element.offsetHeight;h=null} 208this.enableTransition(args.to);this.css(args.to);this.isTransitioning=!0};var itemTransitionProperties=transformProperty&&(toDash(transformProperty)+',opacity');Item.prototype.enableTransition=function(){if(this.isTransitioning){return} 209this.css({transitionProperty:itemTransitionProperties,transitionDuration:this.layout.options.transitionDuration});this.element.addEventListener(transitionEndEvent,this,!1)};Item.prototype.transition=Item.prototype[transitionProperty?'_transition':'_nonTransition'];Item.prototype.onwebkitTransitionEnd=function(event){this.ontransitionend(event)};Item.prototype.onotransitionend=function(event){this.ontransitionend(event)};var dashedVendorProperties={'-webkit-transform':'transform','-moz-transform':'transform','-o-transform':'transform'};Item.prototype.ontransitionend=function(event){if(event.target!==this.element){return} 210var _transition=this._transn;var propertyName=dashedVendorProperties[event.propertyName]||event.propertyName;delete _transition.ingProperties[propertyName];if(isEmptyObj(_transition.ingProperties)){this.disableTransition()} 211if(propertyName in _transition.clean){this.element.style[event.propertyName]='';delete _transition.clean[propertyName]} 212if(propertyName in _transition.onEnd){var onTransitionEnd=_transition.onEnd[propertyName];onTransitionEnd.call(this);delete _transition.onEnd[propertyName]} 213this.emitEvent('transitionEnd',[this])};Item.prototype.disableTransition=function(){this.removeTransitionStyles();this.element.removeEventListener(transitionEndEvent,this,!1);this.isTransitioning=!1};Item.prototype._removeStyles=function(style){var cleanStyle={};for(var prop in style){cleanStyle[prop]=''} 214this.css(cleanStyle)};var cleanTransitionStyle={transitionProperty:'',transitionDuration:''};Item.prototype.removeTransitionStyles=function(){this.css(cleanTransitionStyle)};Item.prototype.removeElem=function(){this.element.parentNode.removeChild(this.element);this.emitEvent('remove',[this])};Item.prototype.remove=function(){if(!transitionProperty||!parseFloat(this.layout.options.transitionDuration)){this.removeElem();return} 215var _this=this;this.on('transitionEnd',function(){_this.removeElem();return!0});this.hide()};Item.prototype.reveal=function(){delete this.isHidden;this.css({display:''});var options=this.layout.options;this.transition({from:options.hiddenStyle,to:options.visibleStyle,isCleaning:!0})};Item.prototype.hide=function(){this.isHidden=!0;this.css({display:''});var options=this.layout.options;this.transition({from:options.visibleStyle,to:options.hiddenStyle,isCleaning:!0,onTransitionEnd:{opacity:function(){if(this.isHidden){this.css({display:'none'})}}}})};Item.prototype.destroy=function(){this.css({position:'',left:'',right:'',top:'',bottom:'',transition:'',transform:''})};return Item} 216if(typeof define==='function'&&define.amd){define('outlayer/item',['eventEmitter/EventEmitter','get-size/get-size','get-style-property/get-style-property'],outlayerItemDefinition)}else{window.Outlayer={};window.Outlayer.Item=outlayerItemDefinition(window.EventEmitter,window.getSize,window.getStyleProperty)}})(window); 217/*! 218 * Outlayer v1.2.0 219 * the brains and guts of a layout library 220 * MIT license 221 */ 222(function(window){var document=window.document;var console=window.console;var jQuery=window.jQuery;var noop=function(){};function extend(a,b){for(var prop in b){a[prop]=b[prop]} 223return a} 224var objToString=Object.prototype.toString;function isArray(obj){return objToString.call(obj)==='[object Array]'} 225function makeArray(obj){var ary=[];if(isArray(obj)){ary=obj}else if(obj&&typeof obj.length==='number'){for(var i=0,len=obj.length;i<len;i++){ary.push(obj[i])}}else{ary.push(obj)} 226return ary} 227var isElement=(typeof HTMLElement==='object')?function isElementDOM2(obj){return obj instanceof HTMLElement}:function isElementQuirky(obj){return obj&&typeof obj==='object'&&obj.nodeType===1&&typeof obj.nodeName==='string'};var indexOf=Array.prototype.indexOf?function(ary,obj){return ary.indexOf(obj)}:function(ary,obj){for(var i=0,len=ary.length;i<len;i++){if(ary[i]===obj){return i}} 228return-1};function removeFrom(obj,ary){var index=indexOf(ary,obj);if(index!==-1){ary.splice(index,1)}} 229function toDashed(str){return str.replace(/(.)([A-Z])/g,function(match,$1,$2){return $1+'-'+$2}).toLowerCase()} 230function outlayerDefinition(eventie,docReady,EventEmitter,getSize,matchesSelector,Item){var GUID=0;var instances={};function Outlayer(element,options){if(typeof element==='string'){element=document.querySelector(element)} 231if(!element||!isElement(element)){if(console){console.error('Bad '+this.constructor.namespace+' element: '+element)} 232return} 233this.element=element;this.options=extend({},this.constructor.defaults);this.option(options);var id=++GUID;this.element.outlayerGUID=id;instances[id]=this;this._create();if(this.options.isInitLayout){this.layout()}} 234Outlayer.namespace='outlayer';Outlayer.Item=Item;Outlayer.defaults={containerStyle:{position:'relative'},isInitLayout:!0,isOriginLeft:!0,isOriginTop:!0,isResizeBound:!0,isResizingContainer:!0,transitionDuration:'0.4s',hiddenStyle:{opacity:0,transform:'scale(0.001)'},visibleStyle:{opacity:1,transform:'scale(1)'}};extend(Outlayer.prototype,EventEmitter.prototype);Outlayer.prototype.option=function(opts){extend(this.options,opts)};Outlayer.prototype._create=function(){this.reloadItems();this.stamps=[];this.stamp(this.options.stamp);extend(this.element.style,this.options.containerStyle);if(this.options.isResizeBound){this.bindResize()}};Outlayer.prototype.reloadItems=function(){this.items=this._itemize(this.element.children)};Outlayer.prototype._itemize=function(elems){var itemElems=this._filterFindItemElements(elems);var Item=this.constructor.Item;var items=[];for(var i=0,len=itemElems.length;i<len;i++){var elem=itemElems[i];var item=new Item(elem,this);items.push(item)} 235return items};Outlayer.prototype._filterFindItemElements=function(elems){elems=makeArray(elems);var itemSelector=this.options.itemSelector;var itemElems=[];for(var i=0,len=elems.length;i<len;i++){var elem=elems[i];if(!isElement(elem)){continue} 236if(itemSelector){if(matchesSelector(elem,itemSelector)){itemElems.push(elem)} 237var childElems=elem.querySelectorAll(itemSelector);for(var j=0,jLen=childElems.length;j<jLen;j++){itemElems.push(childElems[j])}}else{itemElems.push(elem)}} 238return itemElems};Outlayer.prototype.getItemElements=function(){var elems=[];for(var i=0,len=this.items.length;i<len;i++){elems.push(this.items[i].element)} 239return elems};Outlayer.prototype.layout=function(){this._resetLayout();this._manageStamps();var isInstant=this.options.isLayoutInstant!==undefined?this.options.isLayoutInstant:!this._isLayoutInited;this.layoutItems(this.items,isInstant);this._isLayoutInited=!0};Outlayer.prototype._init=Outlayer.prototype.layout;
239Outlayer.prototype._resetLayout=function(){this.getSize()};Outlayer.prototype.getSize=function(){this.size=getSize(this.element)};Outlayer.prototype._getMeasurement=function(measurement,size){var option=this.options[measurement];var elem;if(!option){this[measurement]=0}else{if(typeof option==='string'){elem=this.element.querySelector(option)}else if(isElement(option)){elem=option} 240this[measurement]=elem?getSize(elem)[size]:option}};Outlayer.prototype.layoutItems=function(items,isInstant){items=this._getItemsForLayout(items);this._layoutItems(items,isInstant);this._postLayout()};Outlayer.prototype._getItemsForLayout=function(items){var layoutItems=[];for(var i=0,len=items.length;i<len;i++){var item=items[i];if(!item.isIgnored){layoutItems.push(item)}} 241return layoutItems};Outlayer.prototype._layoutItems=function(items,isInstant){var _this=this;function onItemsLayout(){_this.emitEvent('layoutComplete',[_this,items])} 242if(!items||!items.length){onItemsLayout();return} 243this._itemsOn(items,'layout',onItemsLayout);var queue=[];for(var i=0,len=items.length;i<len;i++){var item=items[i];var position=this._getItemLayoutPosition(item);position.item=item;position.isInstant=isInstant||item.isLayoutInstant;queue.push(position)} 244this._processLayoutQueue(queue)};Outlayer.prototype._getItemLayoutPosition=function(){return{x:0,y:0}};Outlayer.prototype._processLayoutQueue=function(queue){for(var i=0,len=queue.length;i<len;i++){var obj=queue[i];this._positionItem(obj.item,obj.x,obj.y,obj.isInstant)}};Outlayer.prototype._positionItem=function(item,x,y,isInstant){if(isInstant){item.goTo(x,y)}else{item.moveTo(x,y)}};Outlayer.prototype._postLayout=function(){this.resizeContainer()};Outlayer.prototype.resizeContainer=function(){if(!this.options.isResizingContainer){return} 245var size=this._getContainerSize();if(size){this._setContainerMeasure(size.width,!0);this._setContainerMeasure(size.height,!1)}};Outlayer.prototype._getContainerSize=noop;Outlayer.prototype._setContainerMeasure=function(measure,isWidth){if(measure===undefined){return} 246var elemSize=this.size;if(elemSize.isBorderBox){measure+=isWidth?elemSize.paddingLeft+elemSize.paddingRight+elemSize.borderLeftWidth+elemSize.borderRightWidth:elemSize.paddingBottom+elemSize.paddingTop+elemSize.borderTopWidth+elemSize.borderBottomWidth} 247measure=Math.max(measure,0);this.element.style[isWidth?'width':'height']=measure+'px'};Outlayer.prototype._itemsOn=function(items,eventName,callback){var doneCount=0;var count=items.length;var _this=this;function tick(){doneCount++;
247if(doneCount===count){callback.call(_this)} 248return!0} 249for(var i=0,len=items.length;i<len;i++){var item=items[i];item.on(eventName,tick)}};Outlayer.prototype.ignore=function(elem){var item=this.getItem(elem);if(item){item.isIgnored=!0}};Outlayer.prototype.unignore=function(elem){var item=this.getItem(elem);if(item){delete item.isIgnored}};Outlayer.prototype.stamp=function(elems){elems=this._find(elems);if(!elems){return} 250this.stamps=this.stamps.concat(elems);for(var i=0,len=elems.length;i<len;i++){var elem=elems[i];this.ignore(elem)}};Outlayer.prototype.unstamp=function(elems){elems=this._find(elems);if(!elems){return} 251for(var i=0,len=elems.length;i<len;i++){var elem=elems[i];removeFrom(elem,this.stamps);this.unignore(elem)}};Outlayer.prototype._find=function(elems){if(!elems){return} 252if(typeof elems==='string'){elems=this.element.querySelectorAll(elems)} 253elems=makeArray(elems);return elems};Outlayer.prototype._manageStamps=function(){if(!this.stamps||!this.stamps.length){return} 254this._getBoundingRect();for(var i=0,len=this.stamps.length;i<len;i++){var stamp=this.stamps[i];this._manageStamp(stamp)}};Outlayer.prototype._getBoundingRect=function(){var boundingRect=this.element.getBoundingClientRect();var size=this.size;this._boundingRect={left:boundingRect.left+size.paddingLeft+size.borderLeftWidth,top:boundingRect.top+size.paddingTop+size.borderTopWidth,right:boundingRect.right-(size.paddingRight+size.borderRightWidth),bottom:boundingRect.bottom-(size.paddingBottom+size.borderBottomWidth)}};Outlayer.prototype._manageStamp=noop;Outlayer.prototype._getElementOffset=function(elem){var boundingRect=elem.getBoundingClientRect();var thisRect=this._boundingRect;var size=getSize(elem);var offset={left:boundingRect.left-thisRect.left-size.marginLeft,top:boundingRect.top-thisRect.top-size.marginTop,right:thisRect.right-boundingRect.right-size.marginRight,bottom:thisRect.bottom-boundingRect.bottom-size.marginBottom};return offset};Outlayer.prototype.handleEvent=function(event){var method='on'+event.type;if(this[method]){this[method](event)}};Outlayer.prototype.bindResize=function(){if(this.isResizeBound){return} 255eventie.bind(window,'resize',this);this.isResizeBound=!0};Outlayer.prototype.unbindResize=function(){if(this.isResizeBound){eventie.unbind(window,'resize',this)} 256this.isResizeBound=!1};Outlayer.prototype.onresize=function(){if(this.resizeTimeout){clearTimeout(this.resizeTimeout)} 257var _this=this;function delayed(){_this.resize();delete _this.resizeTimeout} 258this.resizeTimeout=setTimeout(delayed,100)};Outlayer.prototype.resize=function(){if(!this.isResizeBound||!this.needsResizeLayout()){return} 259this.layout()};Outlayer.prototype.needsResizeLayout=function(){var size=getSize(this.element);var hasSizes=this.size&&size;return hasSizes&&size.innerWidth!==this.size.innerWidth};Outlayer.prototype.addItems=function(elems){var items=this._itemize(elems);if(items.length){this.items=this.items.concat(items)} 260return items};Outlayer.prototype.appended=function(elems){var items=this.addItems(elems);if(!items.length){return} 261this.layoutItems(items,!0);this.reveal(items)};Outlayer.prototype.prepended=function(elems){var items=this._itemize(elems);if(!items.length){return} 262var previousItems=this.items.slice(0);this.items=items.concat(previousItems);this._resetLayout();this._manageStamps();this.layoutItems(items,!0);this.reveal(items);this.layoutItems(previousItems)};Outlayer.prototype.reveal=function(items){var len=items&&items.length;if(!len){return} 263for(var i=0;i<len;i++){var item=items[i];item.reveal()}};Outlayer.prototype.hide=function(items){var len=items&&items.length;if(!len){return} 264for(var i=0;i<len;i++){var item=items[i];item.hide()}};Outlayer.prototype.getItem=function(elem){for(var i=0,len=this.items.length;i<len;i++){var item=this.items[i];if(item.element===elem){return item}}};Outlayer.prototype.getItems=function(elems){if(!elems||!elems.length){return} 265var items=[];for(var i=0,len=elems.length;i<len;i++){var elem=elems[i];var item=this.getItem(elem);if(item){items.push(item)}} 266return items};Outlayer.prototype.remove=function(elems){elems=makeArray(elems);var removeItems=this.getItems(elems);if(!removeItems||!removeItems.length){return} 267this._itemsOn(removeItems,'remove',function(){this.emitEvent('removeComplete',[this,removeItems])});for(var i=0,len=removeItems.length;i<len;i++){var item=removeItems[i];item.remove();removeFrom(item,this.items)}};Outlayer.prototype.destroy=function(){var style=this.element.style;style.height='';style.position='';style.width='';for(var i=0,len=this.items.length;i<len;i++){var item=this.items[i];item.destroy()} 268this.unbindResize();delete this.element.outlayerGUID;if(jQuery){jQuery.removeData(this.element,this.constructor.namespace)}};Outlayer.data=function(elem){var id=elem&&elem.outlayerGUID;return id&&instances[id]};Outlayer.create=function(namespace,options){function Layout(){Outlayer.apply(this,arguments)} 269if(Object.create){Layout.prototype=Object.create(Outlayer.prototype)}else{extend(Layout.prototype,Outlayer.prototype)} 270Layout.prototype.constructor=Layout;Layout.defaults=extend({},Outlayer.defaults);extend(Layout.defaults,options);Layout.prototype.settings={};Layout.namespace=namespace;Layout.data=Outlayer.data;
270Layout.Item=function LayoutItem(){Item.apply(this,arguments)};Layout.Item.prototype=new Item();docReady(function(){var dashedNamespace=toDashed(namespace);var elems=document.querySelectorAll('.js-'+dashedNamespace);var dataAttr='data-'+dashedNamespace+'-options';for(var i=0,len=elems.length;i<len;i++){var elem=elems[i];var attr=elem.getAttribute(dataAttr);var options;try{options=attr&&JSON.parse(attr)}catch(error){if(console){console.error('Error parsing '+dataAttr+' on '+elem.nodeName.toLowerCase()+(elem.id?'#'+elem.id:'')+': '+error)} 271continue} 272var instance=new Layout(elem,options);if(jQuery){jQuery.data(elem,namespace,instance)}}});if(jQuery&&jQuery.bridget){jQuery.bridget(namespace,Layout)} 273return Layout};Outlayer.Item=Item;return Outlayer} 274if(typeof define==='function'&&define.amd){define('outlayer/outlayer',['eventie/eventie','doc-ready/doc-ready','eventEmitter/EventEmitter','get-size/get-size','matches-selector/matches-selector','./item'],outlayerDefinition)}else{window.Outlayer=outlayerDefinition(window.eventie,window.docReady,window.EventEmitter,window.getSize,window.matchesSelector,window.Outlayer.Item)}})(window); 275/*! 276 * Masonry v3.1.5 277 * Cascading grid layout library 278 * http://masonry.desandro.com 279 * MIT License 280 * by David DeSandro 281 */ 282(function(window){var indexOf=Array.prototype.indexOf?function(items,value){return items.indexOf(value)}:function(items,value){for(var i=0,len=items.length;i<len;i++){var item=items[i];if(item===value){return i}} 283return-1};function masonryDefinition(Outlayer,getSize){var Masonry=Outlayer.create('masonry');Masonry.prototype._resetLayout=function(){this.getSize();this._getMeasurement('columnWidth','outerWidth');this._getMeasurement('gutter','outerWidth');this.measureColumns();var i=this.cols;this.colYs=[];while(i--){this.colYs.push(0)} 284this.maxY=0};Masonry.prototype.measureColumns=function(){this.getContainerWidth();if(!this.columnWidth){var firstItem=this.items[0];var firstItemElem=firstItem&&firstItem.element;this.columnWidth=firstItemElem&&getSize(firstItemElem).outerWidth||this.containerWidth} 285this.columnWidth+=this.gutter;this.cols=Math.floor((this.containerWidth+this.gutter)/this.columnWidth);this.cols=Math.max(this.cols,1)};Masonry.prototype.getContainerWidth=function(){var container=this.options.isFitWidth?this.element.parentNode:this.element;var size=getSize(container);this.containerWidth=size&&size.innerWidth};Masonry.prototype._getItemLayoutPosition=function(item){item.getSize();var remainder=item.size.outerWidth%this.columnWidth;var mathMethod=remainder&&remainder<1?'round':'ceil';var colSpan=Math[mathMethod](item.size.outerWidth/this.columnWidth);colSpan=Math.min(colSpan,this.cols);var colGroup=this._getColGroup(colSpan);var minimumY=Math.min.apply(Math,colGroup);var shortColIndex=indexOf(colGroup,minimumY);var position={x:this.columnWidth*shortColIndex,y:minimumY};var setHeight=minimumY+item.size.outerHeight;var setSpan=this.cols+1-colGroup.length;for(var i=0;i<setSpan;i++){this.colYs[shortColIndex+i]=setHeight} 286return position};Masonry.prototype._getColGroup=function(colSpan){if(colSpan<2){return this.colYs}
287var colGroup=[];var groupCount=this.cols+1-colSpan;for(var i=0;i<groupCount;i++){var groupColYs=this.colYs.slice(i,i+colSpan);colGroup[i]=Math.max.apply(Math,groupColYs)} 288return colGroup};Masonry.prototype._manageStamp=function(stamp){var stampSize=getSize(stamp);var offset=this._getElementOffset(stamp);var firstX=this.options.isOriginLeft?offset.left:offset.right;var lastX=firstX+stampSize.outerWidth;var firstCol=Math.floor(firstX/this.columnWidth);firstCol=Math.max(0,firstCol);var lastCol=Math.floor(lastX/this.columnWidth);lastCol-=lastX%this.columnWidth?0:1;lastCol=Math.min(this.cols-1,lastCol);var stampMaxY=(this.options.isOriginTop?offset.top:offset.bottom)+stampSize.outerHeight;for(var i=firstCol;i<=lastCol;i++){this.colYs[i]=Math.max(stampMaxY,this.colYs[i])}};Masonry.prototype._getContainerSize=function(){this.maxY=Math.max.apply(Math,this.colYs);var size={height:this.maxY};if(this.options.isFitWidth){size.width=this._getContainerFitWidth()} 289return size};Masonry.prototype._getContainerFitWidth=function(){var unusedCols=0;var i=this.cols;while(--i){if(this.colYs[i]!==0){break} 290unusedCols++} 291return(this.cols-unusedCols)*this.columnWidth-this.gutter};Masonry.prototype.needsResizeLayout=function(){var previousWidth=this.containerWidth;this.getContainerWidth();return previousWidth!==this.containerWidth};return Masonry} 292if(typeof define==='function'&&define.amd){define(['outlayer/outlayer','get-size/get-size'],masonryDefinition)}else{window.Masonry=masonryDefinition(window.Outlayer,window.getSize)}})(window);(function($){$.fn.extend({getAddressByPostalNr:function(options){var defaults={postal:".postalfield",housenumber:".housenumberfield",streetname:".streetnamefield",city:".cityfield",country:".countryfield"};return this.each(function(){var obj=$(this);options=$.extend(defaults,options);var o=options;function getAdressInfo(el){var postal=$(o.postal).val();var housenumber=$(o.housenumber).val();var country=$(o.country).val();$.getJSON(baseUrl+"/json/addressLookup.json",{postal:postal,housenumber:housenumber,country:country},function(data){if(data.streetname!=""&&data.city!=""&&data.country_id!=""){$(o.streetname).val(data.streetname);$(o.city).val(data.city);if($(o.country+" option:contains("+data.country+")").length){$(o.country).val(data.country)}}})} 293getAdressInfo($(this))})}})})(jQuery);(function(window,document,$,undefined){var C=$.shoppingCart=function(){C.init.apply(this,arguments)};$.extend(C,{defaults:{},init:function(opts){C.opts=$.extend(!0,{},C.defaults,opts);var containers=$(C.opts.container);containers.each(function(){var shopContainer=$(this);shopContainer.on("click",C.opts.deleteBtn,function(){$.shoppingCart.delete($(this))});$(C.opts.voucherField).on("blur",function(){$.shoppingCart.addVoucher($(this).val())});shopContainer.on("click",C.opts.addVoucherBtn,function(){$.shoppingCart.addVoucher($(this).closest(C.opts.container).find(C.opts.voucherField).val())});shopContainer.on("click",C.opts.deleteVoucherBtn,function(){$.shoppingCart.deleteVoucher($(this).data('voucher'))})})},refreshTotals:function(){$.getJSON(C.opts.urlTotals,null,function(data){var totalAmount=data.totalAmount.toFixed(0);var totalPrice=data.totalPrice.toFixed(2);$(C.opts.totalAmountField).html(totalAmount);$(C.opts.totalPriceField).html('€ '+totalPrice.replace('.',','))})},refresh:function($form){var shopContainer=$(C.opts.container);$.getJSON(C.opts.urlRefresh,null,function(data){$.each(data.rows,function(k,v){if(v.price.discounted!=v.price.original){$(C.opts.originalField,shopContainer).eq(k).html("€ "+v.price.original)}else{$(C.opts.originalField,shopContainer).eq(k).html("")} 294$(C.opts.discountedField,shopContainer).eq(k).html("€ "+v.price.discounted);$(C.opts.subtotalField,shopContainer).eq(k).html("€ "+v.price.subtotal)});var totals=data.total;$(C.opts.totalsubtotalField,shopContainer).html("€ "+totals.subtotalInclusive);$(C.opts.totalDiscountField,shopContainer).html("€ "+totals.totalDiscount);$(C.opts.totalAmountField).html("€ "+totals.totalAmount.toFixed(2).replace('.',','));location.reload()})},add:function(productID,goBack){$.shoppingCart.refreshTotals();
294var options={href:C.opts.urlAdd+"?id="+productID,type:"ajax"};if(goBack!==undefined&&goBack===!0){options.beforeClose=function(){window.history.back()}} 295$.fancybox.showLoading();$.fancybox(options)},delete:function(obj){var $cartRow=$(obj).closest(".item");var productUUID=$(obj).data("productuuid");$.ajax({type:"POST",data:{productUUID:productUUID},url:C.opts.urlDelete,success:function(data){if(data.success){$cartRow.remove();$("div[data-parentuuid="+productUUID+"]").remove();$.shoppingCart.refresh()}}})},addVoucher:function(voucherCode){$.ajax({data:{code:voucherCode},url:C.opts.urlAddVoucher,success:function(data){if(data.success){location.reload()}}})},deleteVoucher:function(voucherId){$.ajax({data:{id:voucherId},url:C.opts.urlDeleteVoucher,success:function(data){if(data.success){$(this).parent().remove();location.reload()}}})}});$.fn.shoppingCart=function(options){return this}}(window,document,jQuery));(function(window,document,$,undefined){var C=$.wishlist=function(){C.init.apply(this,arguments)};$.extend(C,{defaults:{},init:function(opts){C.opts=$.extend(!0,{},C.defaults,opts);var shopContainer=$(C.opts.container);shopContainer.each(function(){var container=$(this);container.on("click",C.opts.addBtn,function(){console.log($(this));var productId=container.data("product-id");if(productId>0){$.wishlist.add($(this),productId)}});container.on("click",C.opts.deleteBtn,function(){console.log($(this));$.wishlist.delete($(this))})})},add:function($btn,productId){var $container=$btn.closest(C.opts.container);$.fancybox.showLoading();$.fancybox({href:C.opts.urlAdd+"?id="+productId,type:"ajax"});$.wishlist.refresh($btn)},delete:function($btn){var $cartRow=$btn.closest("li");var $container=$btn.closest(C.opts.container);var productId=$container.data("product-id");if(productId>0){$.ajax({type:"POST",data:{id:productId},url:C.opts.urlDelete,success:function(data){if(data.success){$.wishlist.refresh($btn)}}})}},refresh:function($btn){$btn.removeClass(C.opts.deleteBtn.substr(1)).removeClass(C.opts.addBtn.substr(1));if($btn.hasClass('active')){$btn.removeClass('active');$btn.addClass(C.opts.addBtn.substr(1));$btn.html($btn.data('text'))}else{$btn.addClass('active');$btn.addClass(C.opts.deleteBtn.substr(1));$btn.html($btn.data('text-active'))}}});$.fn.wishlist=function(options){return this}}(window,document,jQuery));$(function(){$("#homepagecarousel").carousel();$(document).on("change",".addressLookupForm .housenumberfield, .addressLookupForm .postalfield, .addressLookupForm .countryfield",function(e){console.log($(e.target));$(e.target).getAddressByPostalNr()});var productPhotos=$(".productphotos");var previewImg=$("a.mainimg > .img",$(productPhotos));$("nav",$(productPhotos)).show();$("nav a:first",$(productPhotos)).addClass("active");$("nav a",$(productPhotos)).on("click",function(e){e.preventDefault();var link=$(this);var linkHref=link.attr("href");if($(link).hasClass("active")==!1){$("a").removeClass("active");link.addClass("active");$(previewImg).animate({opacity:0.8},300,function(){previewImg.css("background-image","url('"+linkHref+"')");previewImg.parent("a").attr("href",linkHref);$(this).animate({opacity:1},300)})}});$(".mainimg").on("click",function(e){e.preventDefault();var nav=$(".productphotos").find('.gallery-item > a'),startIndex=$(nav).index($(".productgallery.active"));$.fancybox.open($("a[rel=productgallery]"),{index:startIndex,helpers:{title:{type:'inside'},buttons:{},thumbs:{width:50,height:50}}})});$('a.fancybox').fancybox();$(".attributefield").on("change",function(e){e.preventDefault();$form=$(this).closest('form');document.location.href=[location.protocol,'//',location.host,location.pathname].join('')+'?variation='+$(this).val()});$(".popup").fancybox({type:'iframe',maxWidth:800,maxHeight:600,minHeight:400,fitToView:!1,width:'70%',height:'70%',autoSize:!0,closeClick:!1,openEffect:'none',closeEffect:'none',iframe:{scrolling:'no',preload:!0}});$("form.filters").on("submit",function(e){checkboxes=[];$(':checkbox:checked').each(function(i,c){var $el=$(c);var name=$el.prop('name');if(checkboxes[name]===undefined){checkboxes[name]=[]} 296checkboxes[name].push($el.val());$el.prop('disabled',!0)});for(v in checkboxes){$('<input />').attr({type:'hidden',name:v}).val(checkboxes[v].join(',')).appendTo($(this))}});var $dropdownMenu=$('.navbar-default').find('.dropdown-menu'),$dropdownMenuLink=$dropdownMenu.find('a');$dropdownMenu.on('click',function(event){event.preventDefault();event.stopPropagation()});$dropdownMenuLink.on('click',function(){var href=$(this).attr('href');if(href.length>0){window.location=href}});var $cartBtn=$("#shop-cart"),$cartLink=$cartBtn.find("a").attr("href");$cartBtn.on("click",function(){if($cartLink.length>0){window.location=$cartLink}});$("form.filters :input").on('click',function(){$(this).closest('form').submit()});$("form :input.variationsOption").on('change',function(){var $form=$(this).closest('form');var data=[];$form.find(':input').each(function(){var $this=$(this);if(typeof $this.data('feature-name')!=='undefined'){$this.attr('name',$this.data('feature-name'))}else{$this.prop('disabled',!0)}});document.location.href.replace([location.protocol,'//',location.host,location.pathname].join('')+'?'+$form.serialize()+"&productAttribute="+$("#ProductOrderForm_productId").val())});$(window).scroll(function(){var $scrollToTop=$(".backtotop");if($(document).height()-300<=($(window).height()+$(window).scrollTop())){$scrollToTop.css("opacity","1").css('visibility','visible')}else{$scrollToTop.css("opacity","0").css('visibility','hidden')}});$(".backtotop").on("click",function(){$("html, body").animate({scrollTop:0},500)});var $topMenu=$(".top-bar").find(".bar").find(".items");$(".showTopMenu").on("click",function(){if($topMenu.hasClass("showmenu")){$topMenu.removeClass('showmenu')}else if(!$topMenu.hasClass("showmenu")){$topMenu.addClass('showmenu')}});$("#side-subnav").find("ul.nav").find("> li.active.dropdown").addClass("open");$('body').on('touchstart.dropdown','.dropdown-menu',function(e){e.stopPropagation()});$container=$(".blog.grid");if($container.length>0){$container.imagesLoaded(function(){$container.masonry({itemSelector:".grid-box",collumnWidth:".col-md-4"})})} 297var $productPhotos=$('.productinfo').find('.productphotos'),$photoScreen=$productPhotos.find('.mainimg'),$videoScreen=$productPhotos.find('.videoscreen'),$videoIframe=$videoScreen.find('iframe'),$videoBtn=$productPhotos.find('.imagegallery').find('.video'),$photoBtn=$productPhotos.find('.imagegallery').find('a.productgallery');$videoBtn.on('click',function(){if($photoScreen.hasClass('show')&&!$videoScreen.hasClass('show')){$photoScreen.removeClass('show');$videoScreen.addClass('show')}else if(!$photoScreen.hasClass('show')&&$videoScreen.hasClass('show')){$videoIframe.attr('src',$videoIframe.attr('src'));$photoScreen.addClass('show');$videoScreen.removeClass('show')}else{$videoIframe.attr('src',$videoIframe.attr('src'));$photoScreen.removeClass('show').addClass('show');$videoScreen.removeClass('show')}});$photoBtn.on('click',function(){if(!$photoScreen.hasClass('show')&&$videoScreen.hasClass('show')){$videoIframe.attr('src',$videoIframe.attr('src'));$photoScreen.addClass('show');$videoScreen.removeClass('show')}else{$videoIframe.attr('src',$videoIframe.attr('src'));$photoScreen.removeClass('show').addClass('show');$videoScreen.removeClass('show')}});var $headerSearch=$(".headersearch"),$openSearch=$headerSearch.children(".opensearch");$openSearch.on("click",function(){$(this).parent().toggleClass("open")});var $nav=$('.sidebar').find('.navbar.navbar-default').find('.nav.nav-stacked'),$dropdown=$nav.children('li.active.dropdown'),$subMenu=$dropdown.find('li.active.dropdown-submenu');if($subMenu.length>0){$nav.addClass("autoclose");$subMenu.remove().prependTo($nav)}})
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.