{"version":3,"sources":["modernizr.js","jquery-cookie.js","jquery.colorbox.js","jquery.zrssfeed.js","owl.carousel.js","plugins.js","script.js"],"names":["window","Modernizr","a","b","c","D","charAt","toUpperCase","substr","d","o","join","split","C","k","B","indexOf","A","y","cssText","l","v","x","e","f","g","documentElement","i","head","getElementsByTagName","j","createElement","style","n","Object","prototype","toString","p","s","t","h","parseInt","id","appendChild","innerHTML","parentNode","removeChild","u","matchMedia","matches","getComputedStyle","currentStyle","position","w","hasOwnProperty","call","constructor","rgba","backgroundColor","boxshadow","csstransitions","E","toLowerCase","push","addTest","className","attachEvent","childNodes","length","iepp","r","html5elements","RegExp","createDocumentFragment","m","firstChild","q","getCSS","disabled","media","test","imports","parseCSS","exec","replace","writeHTML","body","_beforePrint","styleSheet","styleSheets","restoreHTML","_afterPrint","disablePP","insertBefore","_version","_prefixes","_domPrefixes","mq","testProp","testAllProps","testStyles","this","document","respond","update","mediaQueriesSupported","href","rel","$1","location","host","shift","match","substring","lastIndexOf","$2","rules","minw","parseFloat","maxw","compatMode","Date","getTime","clearTimeout","setTimeout","type","createTextNode","nextSibling","open","onreadystatechange","readyState","status","responseText","send","ActiveXObject","XMLHttpRequest","addEventListener","src","onload","H","errorTimeout","sheet","cssRules","code","message","data","display","width","height","onerror","splice","z","loader","load","G","createRange","compareNode","opera","Array","isArray","F","pop","url","origUrl","prefixes","autoCallback","bypass","instead","forceCSS","forceJS","noexec","yep","nope","both","callback","complete","yepnope","addPrefix","addFilter","removeEventListener","apply","slice","arguments","factory","define","amd","jQuery","$","raw","decoded","decodeURIComponent","pluses","converted","config","json","JSON","parse","er","cookie","key","value","options","undefined","extend","defaults","expires","days","setDate","getDate","stringify","String","encodeURIComponent","toUTCString","path","domain","secure","decode","cookies","result","parts","name","removeCookie","$tag","tag","css","element","prefix","winheight","innerHeight","Settings","cache","el","dataAttr","attr","get","isFunction","getIndex","increment","max","$related","newIndex","index","setSize","size","dimension","Math","round","$window","isImage","settings","retinaUrl","devicePixelRatio","trapFocus","$box","contains","target","$overlay","stopPropagation","focus","setClass","str","add","removeClass","addClass","getRelated","boxElement","filter","colorbox","trigger","event","$events","triggerHandler","launch","closing","active","visibility","opacity","$loaded","div","$content","append","interfaceHeight","$topBorder","$bottomBorder","outerHeight","interfaceWidth","$leftBorder","$rightBorder","outerWidth","loadedHeight","loadedWidth","initialWidth","initialHeight","maxWidth","maxHeight","min","publicMethod","event_open","$groupControls","$title","hide","one","event_closed","cursor","show","$close","html","appendTo","appendHTML","init","class","support","role","tabindex","$loadingOverlay","$wrap","$current","$prev","$next","$slideshow","find","float","$loadingBay","parent","addBindings","clickHandler","which","shiftKey","altKey","metaKey","ctrlKey","preventDefault","click","next","prev","close","bind","keyCode","fn","on","live","setResize","$inline","prep","request","requests","photo","event_purge","event_load","mw","mh","loadingTimer","$target","replaceWith","Image","percent","each","val","setAttribute","marginTop","onclick","contents","iframe","inline","transition","speed","fadeOut","innerWidth","scalePhotos","scrolling","preloading","overlayClose","escKey","arrowKey","top","bottom","left","right","fixed","closeButton","fastIframe","reposition","loop","slideshow","slideshowAuto","slideshowSpeed","slideshowStart","slideshowStop","photoRegex","retinaImage","retinaSuffix","current","previous","xhrError","imgError","returnFocus","onOpen","onLoad","onComplete","onCleanup","onClosed","title","event_complete","event_cleanup","previousCSS","clear","timeOut","set","start","unbind","stop","reset","$obj","old","loadedCallback","modalDimensions","scrollTop","scrollLeft","offset","tempSpeed","dequeue","animate","duration","step","resize","scrolltop","object","getWidth","getHeight","remove","overflow","prependTo","removeFilter","removeAttribute","total","img","frameBorder","allowTransparency","allowFullScreen","fadeTo","removeData","rssfeed","limit","header","titletag","date","dateformat","content","snippet","showerror","errormsg","ssl","linktarget","linkredirect","linkcontent","sort","sortasc","historical","hasClass","getJSON","responseStatus","responseData","feed","xmlString","navigator","appName","async","loadXML","DOMParser","parseFromString","link","description","entries","publishedDate","toLocaleDateString","toLocaleTimeString","getMonth","getFullYear","getHours","getMinutes","getSeconds","contentSnippet","getAttribute","floor","log","pow","toFixed","responseDetails","Owl","Defaults","$element","drag","state","_plugins","_supress","_current","_speed","_coordinates","_breakpoint","_width","_items","_clones","_mergers","_invalidated","_pipe","Plugins","proxy","plugin","Pipe","priority","worker","run","setup","initialize","getTouches","touches","pageX","pageY","clientX","clientY","isStyleSupported","array","fake","list","isTransition","isTransform","isPerspective","isTouchSupport","isTouchSupportIE","msPointerEnabled","startX","startY","currentX","currentY","offsetX","offsetY","distance","startTime","endTime","updatedX","targetEl","isTouch","isScrolling","isSwiping","direction","inMotion","_onDragStart","_onDragMove","_onDragEnd","_transitionEnd","_resizer","_responsiveCall","_goToLoop","_checkVisibile","items","center","mouseDrag","touchDrag","pullDrag","freeDrag","margin","stagePadding","merge","mergeFit","autoWidth","startPosition","rtl","smartSpeed","fluidSpeed","dragEndSpeed","responsive","responsiveRefreshRate","responsiveBaseElement","responsiveClass","fallbackEasing","info","nestedItemSelector","itemElement","stageElement","themeClass","baseClass","itemClass","centerClass","activeClass","Width","Default","Inner","Outer","relative","cached","clones","$stage","children","delta","abs","eq","clone","prepend","coordinate","padding-left","padding-right","grep","coordinates","inner","outer","padding","begin","end","op","toggleClass","browserSupport","imagesLoaded","imgs","nestedSelector","preloadAutoWidthImages","wrap","not","refresh","eventsCall","internalEvents","addTriggerableEvents","viewport","overwrites","breakpoint","Number","property","invalidate","optionsLogic","prepare","item","all","orientation","watchVisibility","onDragStart","onDragMove","onDragEnd","_onResize","onResize","transitionEnd","_preventClick","preventClick","onThrottledResize","resizeTimer","isDefaultPrevented","eventsRouter","isTouchIE","onselectstart","transitionEndVendor","ev","animatedPos","originalEvent","support3d","getTransformProperty","srcElement","tagName","draggable","minValue","maxValue","pull","minimum","maximum","returnValue","compareTimes","distanceAbs","closest","removeClick","off","transform","matrix3d","getPropertyValue","vendorName","normalize","part","suppress","release","isNumeric","revert","mergers","odd","even","map","from","to","factor","before","after","originalTarget","clientWidth","empty","nodeType","andSelf","handler","relatedTarget","destroy","isElVisible","offsetWidth","offsetHeight","checkVisible","clearInterval","setInterval","loaded","that","$el","unwrap","listener","capture","detachEvent","namespace","count","camelCase","Event","onTrigger","events","transformVendor","endVendors","owlCarousel","Constructor","Zepto","Lazy","carousel","_core","_loaded","_handlers","initialized.owl.carousel change.owl.carousel","lazyLoad","ceil","$item","$elements","inArray","image","is","background-image","handlers","getOwnPropertyNames","AutoHeight","initialized.owl.carousel","autoHeight","changed.owl.carousel","loaded.owl.lazy","autoHeightClass","Video","_videos","_playing","_fullscreen","resize.owl.carousel","video","isInFullScreen","refresh.owl.carousel changed.owl.carousel","prepared.owl.carousel","fetch","play","videoHeight","videoWidth","Error","thumbnail","tnLink","icon","dimensions","customTn","srcType","lazyClass","create","ajax","jsonp","dataType","success","thumbnail_large","fullscreenElement","mozFullScreenElement","webkitFullscreenElement","Animate","scope","core","swapping","change.owl.carousel","drag.owl.carousel dragged.owl.carousel translated.owl.carousel","translate.owl.carousel","animateOut","animateIn","swap","incoming","outgoing","Autoplay","translated.owl.carousel refreshed.owl.carousel","autoplay","play.owl.autoplay","stop.owl.autoplay","mouseover.owl.autoplay","autoplayHoverPause","pause","mouseleave.owl.autoplay","autoplayTimeout","autoplaySpeed","videoPlay","interval","timeout","hidden","Navigation","_initialized","_pages","_controls","_templates","_overrides","dotsData","add.owl.carousel","remove.owl.carousel prepared.owl.carousel","navRewind","draw","refreshed.owl.carousel","nav","navText","navSpeed","navElement","navContainer","navContainerClass","navClass","slideBy","dotClass","dotsClass","dots","dotsEach","dotData","dotsSpeed","dotsContainer","controlsClass","$container","override","prop","$indicators","$previous","control","overides","lower","upper","difference","toggle","page","getPosition","successor","standard","Hash","_hashes","hash","URLhashListener","root","previousUnderscore","_","breaker","ArrayProto","ObjProto","FuncProto","Function","concat","nativeForEach","forEach","nativeMap","nativeReduce","reduce","nativeReduceRight","reduceRight","nativeFilter","nativeEvery","every","nativeSome","some","nativeIndexOf","nativeLastIndexOf","nativeIsArray","nativeKeys","keys","nativeBind","obj","_wrapped","exports","module","VERSION","iterator","context","has","collect","results","reduceError","foldl","inject","memo","initial","TypeError","foldr","detect","any","select","reject","identity","include","invoke","method","args","isFunc","pluck","where","attrs","first","isEmpty","findWhere","Infinity","computed","shuffle","rand","shuffled","random","lookupIterator","sortBy","criteria","group","behavior","groupBy","countBy","sortedIndex","low","high","mid","toArray","values","take","guard","last","rest","tail","drop","compact","flatten","input","shallow","output","without","uniq","unique","isSorted","seen","union","intersection","other","zip","hasIndex","range","len","idx","func","partial","bindAll","funcs","functions","memoize","hasher","delay","wait","defer","throttle","later","now","remaining","debounce","immediate","callNow","once","ran","wrapper","compose","times","pairs","invert","methods","names","source","pick","copy","omit","isObject","tap","interceptor","aStack","bStack","global","multiline","ignoreCase","aCtor","bCtor","isEqual","isString","isElement","isArguments","isFinite","isNaN","isNumber","isBoolean","isNull","isUndefined","noConflict","accum","entityMap","escape","&","<",">","\"","'","/","unescape","entityRegexes","string","mixin","idCounter","uniqueId","templateSettings","evaluate","interpolate","noMatch","escapes","\\","\r","\n","\t","
","
","escaper","template","text","render","matcher","variable","chain","_chain","elem","newAttrs","rinlinejQuery","attributes","specified","clearPlaceholder","$input","removeAttr","activeElement","setPlaceholder","$replacement","placeholder-password","placeholder-id","placeholder-textinput","hooks","placeholder","isInputSupported","isTextareaSupported","valHooks","textarea","$this","focus.placeholder","blur.placeholder","delegate","$inputs","makeSettings","console","trim","relRelated","blur","isIE6","event_ie6","isIE","padding-bottom","selector","preload","detach","fadeIn","webkitAllowFullScreen","mozallowfullscreen","launched","error","msInterpolationMode","undelegate","parentmenu","hHeight","wrapAll","owl","cRequest","cRegioFilter","cVakgebiedFilter","cExpertiseFilter","mouseleave","slideToggle","hover","minHeight","gaDocName","ga"],"mappings":"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","file":"script.min.js","sourcesContent":["/* Modernizr 2.0.6 (Custom Build) | MIT & BSD */\n;window.Modernizr=function(a,b,c){function D(a,b){var c=a.charAt(0).toUpperCase()+a.substr(1),d=(a+\" \"+o.join(c+\" \")+c).split(\" \");return C(d,b)}function C(a,b){for(var d in a)if(k[a[d]]!==c)return b==\"pfx\"?a[d]:!0;return!1}function B(a,b){return!!~(\"\"+a).indexOf(b)}function A(a,b){return typeof a===b}function z(a,b){return y(n.join(a+\";\")+(b||\"\"))}function y(a){k.cssText=a}var d=\"2.0.6\",e={},f=!0,g=b.documentElement,h=b.head||b.getElementsByTagName(\"head\")[0],i=\"modernizr\",j=b.createElement(i),k=j.style,l,m=Object.prototype.toString,n=\" -webkit- -moz- -o- -ms- -khtml- \".split(\" \"),o=\"Webkit Moz O ms Khtml\".split(\" \"),p={},q={},r={},s=[],t=function(a,c,d,e){var f,h,j,k=b.createElement(\"div\");if(parseInt(d,10))while(d--)j=b.createElement(\"div\"),j.id=e?e[d]:i+(d+1),k.appendChild(j);f=[\"­\",\"\"].join(\"\"),k.id=i,k.innerHTML+=f,g.appendChild(k),h=c(k,a),k.parentNode.removeChild(k);return!!h},u=function(b){if(a.matchMedia)return matchMedia(b).matches;var c;t(\"@media \"+b+\" { #\"+i+\" { position: absolute; } }\",function(b){c=(a.getComputedStyle?getComputedStyle(b,null):b.currentStyle).position==\"absolute\"});return c},v,w={}.hasOwnProperty,x;!A(w,c)&&!A(w.call,c)?x=function(a,b){return w.call(a,b)}:x=function(a,b){return b in a&&A(a.constructor.prototype[b],c)},p.rgba=function(){y(\"background-color:rgba(150,255,150,.5)\");return B(k.backgroundColor,\"rgba\")},p.boxshadow=function(){return D(\"boxShadow\")},p.csstransitions=function(){return D(\"transitionProperty\")};for(var E in p)x(p,E)&&(v=E.toLowerCase(),e[v]=p[E](),s.push((e[v]?\"\":\"no-\")+v));e.addTest=function(a,b){if(typeof a==\"object\")for(var d in a)x(a,d)&&e.addTest(d,a[d]);else{a=a.toLowerCase();if(e[a]!==c)return;b=typeof b==\"boolean\"?b:!!b(),g.className+=\" \"+(b?\"\":\"no-\")+a,e[a]=b}return e},y(\"\"),j=l=null,a.attachEvent&&function(){var a=b.createElement(\"div\");a.innerHTML=\"\";return a.childNodes.length!==1}()&&function(a,b){function s(a){var b=-1;while(++b=u.minw)&&(!u.maxw||u.maxw&&l<=u.maxw))m[u.media]||(m[u.media]=[]),m[u.media].push(f[u.rules])}for(var t in g)g[t]&&g[t].parentNode===j&&j.removeChild(g[t]);for(var t in m){var v=c.createElement(\"style\"),w=m[t].join(\"\\n\");v.type=\"text/css\",v.media=t,v.styleSheet?v.styleSheet.cssText=w:v.appendChild(c.createTextNode(w)),n.appendChild(v),g.push(v)}j.insertBefore(n,o.nextSibling)}},s=function(a,b){var c=t();if(!!c){c.open(\"GET\",a,!0),c.onreadystatechange=function(){c.readyState==4&&(c.status==200||c.status==304)&&b(c.responseText)};if(c.readyState==4)return;c.send()}},t=function(){var a=!1,b=[function(){return new ActiveXObject(\"Microsoft.XMLHTTP\")},function(){return new XMLHttpRequest}],c=b.length;while(c--){try{a=b[c]()}catch(d){continue}break}return function(){return a}}();m(),respond.update=m,a.addEventListener?a.addEventListener(\"resize\",u,!1):a.attachEvent&&a.attachEvent(\"onresize\",u)}}(this,Modernizr.mq(\"only all\")),function(a,b,c){function k(a){return!a||a==\"loaded\"||a==\"complete\"}function j(){var a=1,b=-1;while(p.length- ++b)if(p[b].s&&!(a=p[b].r))break;a&&g()}function i(a){var c=b.createElement(\"script\"),d;c.src=a.s,c.onreadystatechange=c.onload=function(){!d&&k(c.readyState)&&(d=1,j(),c.onload=c.onreadystatechange=null)},m(function(){d||(d=1,j())},H.errorTimeout),a.e?c.onload():n.parentNode.insertBefore(c,n)}function h(a){var c=b.createElement(\"link\"),d;c.href=a.s,c.rel=\"stylesheet\",c.type=\"text/css\";if(!a.e&&(w||r)){var e=function(a){m(function(){if(!d)try{a.sheet.cssRules.length?(d=1,j()):e(a)}catch(b){b.code==1e3||b.message==\"security\"||b.message==\"denied\"?(d=1,m(function(){j()},0)):e(a)}},0)};e(c)}else c.onload=function(){d||(d=1,m(function(){j()},0))},a.e&&c.onload();m(function(){d||(d=1,j())},H.errorTimeout),!a.e&&n.parentNode.insertBefore(c,n)}function g(){var a=p.shift();q=1,a?a.t?m(function(){a.t==\"c\"?h(a):i(a)},0):(a(),j()):q=0}function f(a,c,d,e,f,h){function i(){!o&&k(l.readyState)&&(r.r=o=1,!q&&j(),l.onload=l.onreadystatechange=null,m(function(){u.removeChild(l)},0))}var l=b.createElement(a),o=0,r={t:d,s:c,e:h};l.src=l.data=c,!s&&(l.style.display=\"none\"),l.width=l.height=\"0\",a!=\"object\"&&(l.type=d),l.onload=l.onreadystatechange=i,a==\"img\"?l.onerror=i:a==\"script\"&&(l.onerror=function(){r.e=r.r=1,g()}),p.splice(e,0,r),u.insertBefore(l,s?null:n),m(function(){o||(u.removeChild(l),r.r=r.e=o=1,j())},H.errorTimeout)}function e(a,b,c){var d=b==\"c\"?z:y;q=0,b=b||\"j\",C(a)?f(d,a,b,this.i++,l,c):(p.splice(this.i++,0,a),p.length==1&&g());return this}function d(){var a=H;a.loader={load:e,i:0};return a}var l=b.documentElement,m=a.setTimeout,n=b.getElementsByTagName(\"script\")[0],o={}.toString,p=[],q=0,r=\"MozAppearance\"in l.style,s=r&&!!b.createRange().compareNode,t=r&&!s,u=s?l:n.parentNode,v=a.opera&&o.call(a.opera)==\"[object Opera]\",w=\"webkitAppearance\"in l.style,x=w&&\"async\"in b.createElement(\"script\"),y=r?\"object\":v||x?\"img\":\"script\",z=w?\"img\":y,A=Array.isArray||function(a){return o.call(a)==\"[object Array]\"},B=function(a){return Object(a)===a},C=function(a){return typeof a==\"string\"},D=function(a){return o.call(a)==\"[object Function]\"},E=[],F={},G,H;H=function(a){function f(a){var b=a.split(\"!\"),c=E.length,d=b.pop(),e=b.length,f={url:d,origUrl:d,prefixes:b},g,h;for(h=0;h'), // $({}) would be prefered, but there is an issue with jQuery 1.4.2\n\t\n\t// Variables for cached values or use across multiple functions\n\tsettings,\n\tinterfaceHeight,\n\tinterfaceWidth,\n\tloadedHeight,\n\tloadedWidth,\n\tindex,\n\tphoto,\n\topen,\n\tactive,\n\tclosing,\n\tloadingTimer,\n\tpublicMethod,\n\tdiv = \"div\",\n\trequests = 0,\n\tpreviousCSS = {},\n\tinit;\n\n\t// ****************\n\t// HELPER FUNCTIONS\n\t// ****************\n\t\n\t// Convenience function for creating new jQuery objects\n\tfunction $tag(tag, id, css) {\n\t\tvar element = document.createElement(tag);\n\n\t\tif (id) {\n\t\t\telement.id = prefix + id;\n\t\t}\n\n\t\tif (css) {\n\t\t\telement.style.cssText = css;\n\t\t}\n\n\t\treturn $(element);\n\t}\n\t\n\t// Get the window height using innerHeight when available to avoid an issue with iOS\n\t// http://bugs.jquery.com/ticket/6724\n\tfunction winheight() {\n\t\treturn window.innerHeight ? window.innerHeight : $(window).height();\n\t}\n\n\tfunction Settings(element, options) {\n\t\tif (options !== Object(options)) {\n\t\t\toptions = {};\n\t\t}\n\n\t\tthis.cache = {};\n\t\tthis.el = element;\n\n\t\tthis.value = function(key) {\n\t\t\tvar dataAttr;\n\n\t\t\tif (this.cache[key] === undefined) {\n\t\t\t\tdataAttr = $(this.el).attr('data-cbox-'+key);\n\n\t\t\t\tif (dataAttr !== undefined) {\n\t\t\t\t\tthis.cache[key] = dataAttr;\n\t\t\t\t} else if (options[key] !== undefined) {\n\t\t\t\t\tthis.cache[key] = options[key];\n\t\t\t\t} else if (defaults[key] !== undefined) {\n\t\t\t\t\tthis.cache[key] = defaults[key];\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn this.cache[key];\n\t\t};\n\n\t\tthis.get = function(key) {\n\t\t\tvar value = this.value(key);\n\t\t\treturn $.isFunction(value) ? value.call(this.el, this) : value;\n\t\t};\n\t}\n\n\t// Determine the next and previous members in a group.\n\tfunction getIndex(increment) {\n\t\tvar\n\t\tmax = $related.length,\n\t\tnewIndex = (index + increment) % max;\n\t\t\n\t\treturn (newIndex < 0) ? max + newIndex : newIndex;\n\t}\n\n\t// Convert '%' and 'px' values to integers\n\tfunction setSize(size, dimension) {\n\t\treturn Math.round((/%/.test(size) ? ((dimension === 'x' ? $window.width() : winheight()) / 100) : 1) * parseInt(size, 10));\n\t}\n\t\n\t// Checks an href to see if it is a photo.\n\t// There is a force photo option (photo: true) for hrefs that cannot be matched by the regex.\n\tfunction isImage(settings, url) {\n\t\treturn settings.get('photo') || settings.get('photoRegex').test(url);\n\t}\n\n\tfunction retinaUrl(settings, url) {\n\t\treturn settings.get('retinaUrl') && window.devicePixelRatio > 1 ? url.replace(settings.get('photoRegex'), settings.get('retinaSuffix')) : url;\n\t}\n\n\tfunction trapFocus(e) {\n\t\tif ('contains' in $box[0] && !$box[0].contains(e.target) && e.target !== $overlay[0]) {\n\t\t\te.stopPropagation();\n\t\t\t$box.focus();\n\t\t}\n\t}\n\n\tfunction setClass(str) {\n\t\tif (setClass.str !== str) {\n\t\t\t$box.add($overlay).removeClass(setClass.str).addClass(str);\n\t\t\tsetClass.str = str;\n\t\t}\n\t}\n\n\tfunction getRelated(rel) {\n\t\tindex = 0;\n\t\t\n\t\tif (rel && rel !== false && rel !== 'nofollow') {\n\t\t\t$related = $('.' + boxElement).filter(function () {\n\t\t\t\tvar options = $.data(this, colorbox);\n\t\t\t\tvar settings = new Settings(this, options);\n\t\t\t\treturn (settings.get('rel') === rel);\n\t\t\t});\n\t\t\tindex = $related.index(settings.el);\n\t\t\t\n\t\t\t// Check direct calls to Colorbox.\n\t\t\tif (index === -1) {\n\t\t\t\t$related = $related.add(settings.el);\n\t\t\t\tindex = $related.length - 1;\n\t\t\t}\n\t\t} else {\n\t\t\t$related = $(settings.el);\n\t\t}\n\t}\n\n\tfunction trigger(event) {\n\t\t// for external use\n\t\t$(document).trigger(event);\n\t\t// for internal use\n\t\t$events.triggerHandler(event);\n\t}\n\n\tvar slideshow = (function(){\n\t\tvar active,\n\t\t\tclassName = prefix + \"Slideshow_\",\n\t\t\tclick = \"click.\" + prefix,\n\t\t\ttimeOut;\n\n\t\tfunction clear () {\n\t\t\tclearTimeout(timeOut);\n\t\t}\n\n\t\tfunction set() {\n\t\t\tif (settings.get('loop') || $related[index + 1]) {\n\t\t\t\tclear();\n\t\t\t\ttimeOut = setTimeout(publicMethod.next, settings.get('slideshowSpeed'));\n\t\t\t}\n\t\t}\n\n\t\tfunction start() {\n\t\t\t$slideshow\n\t\t\t\t.html(settings.get('slideshowStop'))\n\t\t\t\t.unbind(click)\n\t\t\t\t.one(click, stop);\n\n\t\t\t$events\n\t\t\t\t.bind(event_complete, set)\n\t\t\t\t.bind(event_load, clear);\n\n\t\t\t$box.removeClass(className + \"off\").addClass(className + \"on\");\n\t\t}\n\n\t\tfunction stop() {\n\t\t\tclear();\n\t\t\t\n\t\t\t$events\n\t\t\t\t.unbind(event_complete, set)\n\t\t\t\t.unbind(event_load, clear);\n\n\t\t\t$slideshow\n\t\t\t\t.html(settings.get('slideshowStart'))\n\t\t\t\t.unbind(click)\n\t\t\t\t.one(click, function () {\n\t\t\t\t\tpublicMethod.next();\n\t\t\t\t\tstart();\n\t\t\t\t});\n\n\t\t\t$box.removeClass(className + \"on\").addClass(className + \"off\");\n\t\t}\n\n\t\tfunction reset() {\n\t\t\tactive = false;\n\t\t\t$slideshow.hide();\n\t\t\tclear();\n\t\t\t$events\n\t\t\t\t.unbind(event_complete, set)\n\t\t\t\t.unbind(event_load, clear);\n\t\t\t$box.removeClass(className + \"off \" + className + \"on\");\n\t\t}\n\n\t\treturn function(){\n\t\t\tif (active) {\n\t\t\t\tif (!settings.get('slideshow')) {\n\t\t\t\t\t$events.unbind(event_cleanup, reset);\n\t\t\t\t\treset();\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif (settings.get('slideshow') && $related[1]) {\n\t\t\t\t\tactive = true;\n\t\t\t\t\t$events.one(event_cleanup, reset);\n\t\t\t\t\tif (settings.get('slideshowAuto')) {\n\t\t\t\t\t\tstart();\n\t\t\t\t\t} else {\n\t\t\t\t\t\tstop();\n\t\t\t\t\t}\n\t\t\t\t\t$slideshow.show();\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\n\t}());\n\n\n\tfunction launch(element) {\n\t\tvar options;\n\n\t\tif (!closing) {\n\n\t\t\toptions = $(element).data(colorbox);\n\n\t\t\tsettings = new Settings(element, options);\n\t\t\t\n\t\t\tgetRelated(settings.get('rel'));\n\n\t\t\tif (!open) {\n\t\t\t\topen = active = true; // Prevents the page-change action from queuing up if the visitor holds down the left or right keys.\n\n\t\t\t\tsetClass(settings.get('className'));\n\t\t\t\t\n\t\t\t\t// Show colorbox so the sizes can be calculated in older versions of jQuery\n\t\t\t\t$box.css({visibility:'hidden', display:'block', opacity:''});\n\t\t\t\t\n\t\t\t\t$loaded = $tag(div, 'LoadedContent', 'width:0; height:0; overflow:hidden; visibility:hidden');\n\t\t\t\t$content.css({width:'', height:''}).append($loaded);\n\n\t\t\t\t// Cache values needed for size calculations\n\t\t\t\tinterfaceHeight = $topBorder.height() + $bottomBorder.height() + $content.outerHeight(true) - $content.height();\n\t\t\t\tinterfaceWidth = $leftBorder.width() + $rightBorder.width() + $content.outerWidth(true) - $content.width();\n\t\t\t\tloadedHeight = $loaded.outerHeight(true);\n\t\t\t\tloadedWidth = $loaded.outerWidth(true);\n\n\t\t\t\t// Opens inital empty Colorbox prior to content being loaded.\n\t\t\t\tvar initialWidth = setSize(settings.get('initialWidth'), 'x');\n\t\t\t\tvar initialHeight = setSize(settings.get('initialHeight'), 'y');\n\t\t\t\tvar maxWidth = settings.get('maxWidth');\n\t\t\t\tvar maxHeight = settings.get('maxHeight');\n\n\t\t\t\tsettings.w = (maxWidth !== false ? Math.min(initialWidth, setSize(maxWidth, 'x')) : initialWidth) - loadedWidth - interfaceWidth;\n\t\t\t\tsettings.h = (maxHeight !== false ? Math.min(initialHeight, setSize(maxHeight, 'y')) : initialHeight) - loadedHeight - interfaceHeight;\n\n\t\t\t\t$loaded.css({width:'', height:settings.h});\n\t\t\t\tpublicMethod.position();\n\n\t\t\t\ttrigger(event_open);\n\t\t\t\tsettings.get('onOpen');\n\n\t\t\t\t$groupControls.add($title).hide();\n\n\t\t\t\t$box.focus();\n\t\t\t\t\n\t\t\t\tif (settings.get('trapFocus')) {\n\t\t\t\t\t// Confine focus to the modal\n\t\t\t\t\t// Uses event capturing that is not supported in IE8-\n\t\t\t\t\tif (document.addEventListener) {\n\n\t\t\t\t\t\tdocument.addEventListener('focus', trapFocus, true);\n\t\t\t\t\t\t\n\t\t\t\t\t\t$events.one(event_closed, function () {\n\t\t\t\t\t\t\tdocument.removeEventListener('focus', trapFocus, true);\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// Return focus on closing\n\t\t\t\tif (settings.get('returnFocus')) {\n\t\t\t\t\t$events.one(event_closed, function () {\n\t\t\t\t\t\t$(settings.el).focus();\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tvar opacity = parseFloat(settings.get('opacity'));\n\t\t\t$overlay.css({\n\t\t\t\topacity: opacity === opacity ? opacity : '',\n\t\t\t\tcursor: settings.get('overlayClose') ? 'pointer' : '',\n\t\t\t\tvisibility: 'visible'\n\t\t\t}).show();\n\t\t\t\n\t\t\tif (settings.get('closeButton')) {\n\t\t\t\t$close.html(settings.get('close')).appendTo($content);\n\t\t\t} else {\n\t\t\t\t$close.appendTo('
'); // replace with .detach() when dropping jQuery < 1.4\n\t\t\t}\n\n\t\t\tload();\n\t\t}\n\t}\n\n\t// Colorbox's markup needs to be added to the DOM prior to being called\n\t// so that the browser will go ahead and load the CSS background images.\n\tfunction appendHTML() {\n\t\tif (!$box) {\n\t\t\tinit = false;\n\t\t\t$window = $(window);\n\t\t\t$box = $tag(div).attr({\n\t\t\t\tid: colorbox,\n\t\t\t\t'class': $.support.opacity === false ? prefix + 'IE' : '', // class for optional IE8 & lower targeted CSS.\n\t\t\t\trole: 'dialog',\n\t\t\t\ttabindex: '-1'\n\t\t\t}).hide();\n\t\t\t$overlay = $tag(div, \"Overlay\").hide();\n\t\t\t$loadingOverlay = $([$tag(div, \"LoadingOverlay\")[0],$tag(div, \"LoadingGraphic\")[0]]);\n\t\t\t$wrap = $tag(div, \"Wrapper\");\n\t\t\t$content = $tag(div, \"Content\").append(\n\t\t\t\t$title = $tag(div, \"Title\"),\n\t\t\t\t$current = $tag(div, \"Current\"),\n\t\t\t\t$prev = $('
\";l(q).html(m);l(\"a\",q).attr(\"target\",e.linktarget)}l.isFunction(w)&&w.call(this,u)}else h.showerror&&(d=\"\"!=h.errormsg?h.errormsg:b.responseDetails),l(q).html('

'+d+\"

\")})})};var p=function(b){b+=\"\";2>b.length&&\r\n(b=\"0\"+b);return b},x=function(b){return\"Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec\".split(\" \")[b]}})(jQuery);","/**\n * Owl carousel\n * @version 2.0.0\n * @author Bartosz Wojciechowski\n * @license The MIT License (MIT)\n * @todo Lazy Load Icon\n * @todo prevent animationend bubling\n * @todo itemsScaleUp\n * @todo Test Zepto\n * @todo stagePadding calculate wrong active classes\n */\n;(function($, window, document, undefined) {\n\n var drag, state, e;\n\n /**\n * Template for status information about drag and touch events.\n * @private\n */\n drag = {\n start: 0,\n startX: 0,\n startY: 0,\n current: 0,\n currentX: 0,\n currentY: 0,\n offsetX: 0,\n offsetY: 0,\n distance: null,\n startTime: 0,\n endTime: 0,\n updatedX: 0,\n targetEl: null\n };\n\n /**\n * Template for some status informations.\n * @private\n */\n state = {\n isTouch: false,\n isScrolling: false,\n isSwiping: false,\n direction: false,\n inMotion: false\n };\n\n /**\n * Event functions references.\n * @private\n */\n e = {\n _onDragStart: null,\n _onDragMove: null,\n _onDragEnd: null,\n _transitionEnd: null,\n _resizer: null,\n _responsiveCall: null,\n _goToLoop: null,\n _checkVisibile: null\n };\n\n /**\n * Creates a carousel.\n * @class The Owl Carousel.\n * @public\n * @param {HTMLElement|jQuery} element - The element to create the carousel for.\n * @param {Object} [options] - The options\n */\n function Owl(element, options) {\n\n /**\n * Current settings for the carousel.\n * @public\n */\n this.settings = null;\n\n /**\n * Current options set by the caller including defaults.\n * @public\n */\n this.options = $.extend({}, Owl.Defaults, options);\n\n /**\n * Plugin element.\n * @public\n */\n this.$element = $(element);\n\n /**\n * Caches informations about drag and touch events.\n */\n this.drag = $.extend({}, drag);\n\n /**\n * Caches some status informations.\n * @protected\n */\n this.state = $.extend({}, state);\n\n /**\n * @protected\n * @todo Must be documented\n */\n this.e = $.extend({}, e);\n\n /**\n * References to the running plugins of this carousel.\n * @protected\n */\n this._plugins = {};\n\n /**\n * Currently suppressed events to prevent them from beeing retriggered.\n * @protected\n */\n this._supress = {};\n\n /**\n * Absolute current position.\n * @protected\n */\n this._current = null;\n\n /**\n * Animation speed in milliseconds.\n * @protected\n */\n this._speed = null;\n\n /**\n * Coordinates of all items in pixel.\n * @todo The name of this member is missleading.\n * @protected\n */\n this._coordinates = [];\n\n /**\n * Current breakpoint.\n * @todo Real media queries would be nice.\n * @protected\n */\n this._breakpoint = null;\n\n /**\n * Current width of the plugin element.\n */\n this._width = null;\n\n /**\n * All real items.\n * @protected\n */\n this._items = [];\n\n /**\n * All cloned items.\n * @protected\n */\n this._clones = [];\n\n /**\n * Merge values of all items.\n * @todo Maybe this could be part of a plugin.\n * @protected\n */\n this._mergers = [];\n\n /**\n * Invalidated parts within the update process.\n * @protected\n */\n this._invalidated = {};\n\n /**\n * Ordered list of workers for the update process.\n * @protected\n */\n this._pipe = [];\n\n $.each(Owl.Plugins, $.proxy(function(key, plugin) {\n this._plugins[key[0].toLowerCase() + key.slice(1)]\n = new plugin(this);\n }, this));\n\n $.each(Owl.Pipe, $.proxy(function(priority, worker) {\n this._pipe.push({\n 'filter': worker.filter,\n 'run': $.proxy(worker.run, this)\n });\n }, this));\n\n this.setup();\n this.initialize();\n }\n\n /**\n * Default options for the carousel.\n * @public\n */\n Owl.Defaults = {\n items: 3,\n loop: false,\n center: false,\n\n mouseDrag: true,\n touchDrag: true,\n pullDrag: true,\n freeDrag: false,\n\n margin: 0,\n stagePadding: 0,\n\n merge: false,\n mergeFit: true,\n autoWidth: false,\n\n startPosition: 0,\n rtl: false,\n\n smartSpeed: 250,\n fluidSpeed: false,\n dragEndSpeed: false,\n\n responsive: {},\n responsiveRefreshRate: 200,\n responsiveBaseElement: window,\n responsiveClass: false,\n\n fallbackEasing: 'swing',\n\n info: false,\n\n nestedItemSelector: false,\n itemElement: 'div',\n stageElement: 'div',\n\n // Classes and Names\n themeClass: 'owl-theme',\n baseClass: 'owl-carousel',\n itemClass: 'owl-item',\n centerClass: 'center',\n activeClass: 'active'\n };\n\n /**\n * Enumeration for width.\n * @public\n * @readonly\n * @enum {String}\n */\n Owl.Width = {\n Default: 'default',\n Inner: 'inner',\n Outer: 'outer'\n };\n\n /**\n * Contains all registered plugins.\n * @public\n */\n Owl.Plugins = {};\n\n /**\n * Update pipe.\n */\n Owl.Pipe = [ {\n filter: [ 'width', 'items', 'settings' ],\n run: function(cache) {\n cache.current = this._items && this._items[this.relative(this._current)];\n }\n }, {\n filter: [ 'items', 'settings' ],\n run: function() {\n var cached = this._clones,\n clones = this.$stage.children('.cloned');\n\n if (clones.length !== cached.length || (!this.settings.loop && cached.length > 0)) {\n this.$stage.children('.cloned').remove();\n this._clones = [];\n }\n }\n }, {\n filter: [ 'items', 'settings' ],\n run: function() {\n var i, n,\n clones = this._clones,\n items = this._items,\n delta = this.settings.loop ? clones.length - Math.max(this.settings.items * 2, 4) : 0;\n\n for (i = 0, n = Math.abs(delta / 2); i < n; i++) {\n if (delta > 0) {\n this.$stage.children().eq(items.length + clones.length - 1).remove();\n clones.pop();\n this.$stage.children().eq(0).remove();\n clones.pop();\n } else {\n clones.push(clones.length / 2);\n this.$stage.append(items[clones[clones.length - 1]].clone().addClass('cloned'));\n clones.push(items.length - 1 - (clones.length - 1) / 2);\n this.$stage.prepend(items[clones[clones.length - 1]].clone().addClass('cloned'));\n }\n }\n }\n }, {\n filter: [ 'width', 'items', 'settings' ],\n run: function() {\n var rtl = (this.settings.rtl ? 1 : -1),\n width = (this.width() / this.settings.items).toFixed(3),\n coordinate = 0, merge, i, n;\n\n this._coordinates = [];\n for (i = 0, n = this._clones.length + this._items.length; i < n; i++) {\n merge = this._mergers[this.relative(i)];\n merge = (this.settings.mergeFit && Math.min(merge, this.settings.items)) || merge;\n coordinate += (this.settings.autoWidth ? this._items[this.relative(i)].width() + this.settings.margin : width * merge) * rtl;\n\n this._coordinates.push(coordinate);\n }\n }\n }, {\n filter: [ 'width', 'items', 'settings' ],\n run: function() {\n var i, n, width = (this.width() / this.settings.items).toFixed(3), css = {\n 'width': Math.abs(this._coordinates[this._coordinates.length - 1]) + this.settings.stagePadding * 2,\n 'padding-left': this.settings.stagePadding || '',\n 'padding-right': this.settings.stagePadding || ''\n };\n\n this.$stage.css(css);\n\n css = { 'width': this.settings.autoWidth ? 'auto' : width - this.settings.margin };\n css[this.settings.rtl ? 'margin-left' : 'margin-right'] = this.settings.margin;\n\n if (!this.settings.autoWidth && $.grep(this._mergers, function(v) { return v > 1 }).length > 0) {\n for (i = 0, n = this._coordinates.length; i < n; i++) {\n css.width = Math.abs(this._coordinates[i]) - Math.abs(this._coordinates[i - 1] || 0) - this.settings.margin;\n this.$stage.children().eq(i).css(css);\n }\n } else {\n this.$stage.children().css(css);\n }\n }\n }, {\n filter: [ 'width', 'items', 'settings' ],\n run: function(cache) {\n cache.current && this.reset(this.$stage.children().index(cache.current));\n }\n }, {\n filter: [ 'position' ],\n run: function() {\n this.animate(this.coordinates(this._current));\n }\n }, {\n filter: [ 'width', 'position', 'items', 'settings' ],\n run: function() {\n var rtl = this.settings.rtl ? 1 : -1,\n padding = this.settings.stagePadding * 2,\n begin = this.coordinates(this.current()) + padding,\n end = begin + this.width() * rtl,\n inner, outer, matches = [], i, n;\n\n for (i = 0, n = this._coordinates.length; i < n; i++) {\n inner = this._coordinates[i - 1] || 0;\n outer = Math.abs(this._coordinates[i]) + padding * rtl;\n\n if ((this.op(inner, '<=', begin) && (this.op(inner, '>', end)))\n || (this.op(outer, '<', begin) && this.op(outer, '>', end))) {\n matches.push(i);\n }\n }\n\n this.$stage.children('.' + this.settings.activeClass).removeClass(this.settings.activeClass);\n this.$stage.children(':eq(' + matches.join('), :eq(') + ')').addClass(this.settings.activeClass);\n\n if (this.settings.center) {\n this.$stage.children('.' + this.settings.centerClass).removeClass(this.settings.centerClass);\n this.$stage.children().eq(this.current()).addClass(this.settings.centerClass);\n }\n }\n } ];\n\n /**\n * Initializes the carousel.\n * @protected\n */\n Owl.prototype.initialize = function() {\n this.trigger('initialize');\n\n this.$element\n .addClass(this.settings.baseClass)\n .addClass(this.settings.themeClass)\n .toggleClass('owl-rtl', this.settings.rtl);\n\n // check support\n this.browserSupport();\n\n if (this.settings.autoWidth && this.state.imagesLoaded !== true) {\n var imgs, nestedSelector, width;\n imgs = this.$element.find('img');\n nestedSelector = this.settings.nestedItemSelector ? '.' + this.settings.nestedItemSelector : undefined;\n width = this.$element.children(nestedSelector).width();\n\n if (imgs.length && width <= 0) {\n this.preloadAutoWidthImages(imgs);\n return false;\n }\n }\n\n this.$element.addClass('owl-loading');\n\n // create stage\n this.$stage = $('<' + this.settings.stageElement + ' class=\"owl-stage\"/>')\n .wrap('
');\n\n // append stage\n this.$element.append(this.$stage.parent());\n\n // append content\n this.replace(this.$element.children().not(this.$stage.parent()));\n\n // set view width\n this._width = this.$element.width();\n\n // update view\n this.refresh();\n\n this.$element.removeClass('owl-loading').addClass('owl-loaded');\n\n // attach generic events\n this.eventsCall();\n\n // attach generic events\n this.internalEvents();\n\n // attach custom control events\n this.addTriggerableEvents();\n\n this.trigger('initialized');\n };\n\n /**\n * Setups the current settings.\n * @todo Remove responsive classes. Why should adaptive designs be brought into IE8?\n * @todo Support for media queries by using `matchMedia` would be nice.\n * @public\n */\n Owl.prototype.setup = function() {\n var viewport = this.viewport(),\n overwrites = this.options.responsive,\n match = -1,\n settings = null;\n\n if (!overwrites) {\n settings = $.extend({}, this.options);\n } else {\n $.each(overwrites, function(breakpoint) {\n if (breakpoint <= viewport && breakpoint > match) {\n match = Number(breakpoint);\n }\n });\n\n settings = $.extend({}, this.options, overwrites[match]);\n delete settings.responsive;\n\n // responsive class\n if (settings.responsiveClass) {\n this.$element.attr('class', function(i, c) {\n return c.replace(/\\b owl-responsive-\\S+/g, '');\n }).addClass('owl-responsive-' + match);\n }\n }\n\n if (this.settings === null || this._breakpoint !== match) {\n this.trigger('change', { property: { name: 'settings', value: settings } });\n this._breakpoint = match;\n this.settings = settings;\n this.invalidate('settings');\n this.trigger('changed', { property: { name: 'settings', value: this.settings } });\n }\n };\n\n /**\n * Updates option logic if necessery.\n * @protected\n */\n Owl.prototype.optionsLogic = function() {\n // Toggle Center class\n this.$element.toggleClass('owl-center', this.settings.center);\n\n // if items number is less than in body\n if (this.settings.loop && this._items.length < this.settings.items) {\n this.settings.loop = false;\n }\n\n if (this.settings.autoWidth) {\n this.settings.stagePadding = false;\n this.settings.merge = false;\n }\n };\n\n /**\n * Prepares an item before add.\n * @todo Rename event parameter `content` to `item`.\n * @protected\n * @returns {jQuery|HTMLElement} - The item container.\n */\n Owl.prototype.prepare = function(item) {\n var event = this.trigger('prepare', { content: item });\n\n if (!event.data) {\n event.data = $('<' + this.settings.itemElement + '/>')\n .addClass(this.settings.itemClass).append(item)\n }\n\n this.trigger('prepared', { content: event.data });\n\n return event.data;\n };\n\n /**\n * Updates the view.\n * @public\n */\n Owl.prototype.update = function() {\n var i = 0,\n n = this._pipe.length,\n filter = $.proxy(function(p) { return this[p] }, this._invalidated),\n cache = {};\n\n while (i < n) {\n if (this._invalidated.all || $.grep(this._pipe[i].filter, filter).length > 0) {\n this._pipe[i].run(cache);\n }\n i++;\n }\n\n this._invalidated = {};\n };\n\n /**\n * Gets the width of the view.\n * @public\n * @param {Owl.Width} [dimension=Owl.Width.Default] - The dimension to return.\n * @returns {Number} - The width of the view in pixel.\n */\n Owl.prototype.width = function(dimension) {\n dimension = dimension || Owl.Width.Default;\n switch (dimension) {\n case Owl.Width.Inner:\n case Owl.Width.Outer:\n return this._width;\n default:\n return this._width - this.settings.stagePadding * 2 + this.settings.margin;\n }\n };\n\n /**\n * Refreshes the carousel primarily for adaptive purposes.\n * @public\n */\n Owl.prototype.refresh = function() {\n if (this._items.length === 0) {\n return false;\n }\n\n var start = new Date().getTime();\n\n this.trigger('refresh');\n\n this.setup();\n\n this.optionsLogic();\n\n // hide and show methods helps here to set a proper widths,\n // this prevents scrollbar to be calculated in stage width\n this.$stage.addClass('owl-refresh');\n\n this.update();\n\n this.$stage.removeClass('owl-refresh');\n\n this.state.orientation = window.orientation;\n\n this.watchVisibility();\n\n this.trigger('refreshed');\n };\n\n /**\n * Save internal event references and add event based functions.\n * @protected\n */\n Owl.prototype.eventsCall = function() {\n // Save events references\n this.e._onDragStart = $.proxy(function(e) {\n this.onDragStart(e);\n }, this);\n this.e._onDragMove = $.proxy(function(e) {\n this.onDragMove(e);\n }, this);\n this.e._onDragEnd = $.proxy(function(e) {\n this.onDragEnd(e);\n }, this);\n this.e._onResize = $.proxy(function(e) {\n this.onResize(e);\n }, this);\n this.e._transitionEnd = $.proxy(function(e) {\n this.transitionEnd(e);\n }, this);\n this.e._preventClick = $.proxy(function(e) {\n this.preventClick(e);\n }, this);\n };\n\n /**\n * Checks window `resize` event.\n * @protected\n */\n Owl.prototype.onThrottledResize = function() {\n window.clearTimeout(this.resizeTimer);\n this.resizeTimer = window.setTimeout(this.e._onResize, this.settings.responsiveRefreshRate);\n };\n\n /**\n * Checks window `resize` event.\n * @protected\n */\n Owl.prototype.onResize = function() {\n if (!this._items.length) {\n return false;\n }\n\n if (this._width === this.$element.width()) {\n return false;\n }\n\n if (this.trigger('resize').isDefaultPrevented()) {\n return false;\n }\n\n this._width = this.$element.width();\n\n this.invalidate('width');\n\n this.refresh();\n\n this.trigger('resized');\n };\n\n /**\n * Checks for touch/mouse drag event type and add run event handlers.\n * @protected\n */\n Owl.prototype.eventsRouter = function(event) {\n var type = event.type;\n\n if (type === \"mousedown\" || type === \"touchstart\") {\n this.onDragStart(event);\n } else if (type === \"mousemove\" || type === \"touchmove\") {\n this.onDragMove(event);\n } else if (type === \"mouseup\" || type === \"touchend\") {\n this.onDragEnd(event);\n } else if (type === \"touchcancel\") {\n this.onDragEnd(event);\n }\n };\n\n /**\n * Checks for touch/mouse drag options and add necessery event handlers.\n * @protected\n */\n Owl.prototype.internalEvents = function() {\n var isTouch = isTouchSupport(),\n isTouchIE = isTouchSupportIE();\n\n if (this.settings.mouseDrag){\n this.$stage.on('mousedown', $.proxy(function(event) { this.eventsRouter(event) }, this));\n this.$stage.on('dragstart', function() { return false });\n this.$stage.get(0).onselectstart = function() { return false };\n } else {\n this.$element.addClass('owl-text-select-on');\n }\n\n if (this.settings.touchDrag && !isTouchIE){\n this.$stage.on('touchstart touchcancel', $.proxy(function(event) { this.eventsRouter(event) }, this));\n }\n\n // catch transitionEnd event\n if (this.transitionEndVendor) {\n this.on(this.$stage.get(0), this.transitionEndVendor, this.e._transitionEnd, false);\n }\n\n // responsive\n if (this.settings.responsive !== false) {\n this.on(window, 'resize', $.proxy(this.onThrottledResize, this));\n }\n };\n\n /**\n * Handles touchstart/mousedown event.\n * @protected\n * @param {Event} event - The event arguments.\n */\n Owl.prototype.onDragStart = function(event) {\n var ev, isTouchEvent, pageX, pageY, animatedPos;\n\n ev = event.originalEvent || event || window.event;\n\n // prevent right click\n if (ev.which === 3 || this.state.isTouch) {\n return false;\n }\n\n if (ev.type === 'mousedown') {\n this.$stage.addClass('owl-grab');\n }\n\n this.trigger('drag');\n this.drag.startTime = new Date().getTime();\n this.speed(0);\n this.state.isTouch = true;\n this.state.isScrolling = false;\n this.state.isSwiping = false;\n this.drag.distance = 0;\n\n pageX = getTouches(ev).x;\n pageY = getTouches(ev).y;\n\n // get stage position left\n this.drag.offsetX = this.$stage.position().left;\n this.drag.offsetY = this.$stage.position().top;\n\n if (this.settings.rtl) {\n this.drag.offsetX = this.$stage.position().left + this.$stage.width() - this.width()\n + this.settings.margin;\n }\n\n // catch position // ie to fix\n if (this.state.inMotion && this.support3d) {\n animatedPos = this.getTransformProperty();\n this.drag.offsetX = animatedPos;\n this.animate(animatedPos);\n this.state.inMotion = true;\n } else if (this.state.inMotion && !this.support3d) {\n this.state.inMotion = false;\n return false;\n }\n\n this.drag.startX = pageX - this.drag.offsetX;\n this.drag.startY = pageY - this.drag.offsetY;\n\n this.drag.start = pageX - this.drag.startX;\n this.drag.targetEl = ev.target || ev.srcElement;\n this.drag.updatedX = this.drag.start;\n\n // to do/check\n // prevent links and images dragging;\n if (this.drag.targetEl.tagName === \"IMG\" || this.drag.targetEl.tagName === \"A\") {\n this.drag.targetEl.draggable = false;\n }\n\n $(document).on('mousemove.owl.dragEvents mouseup.owl.dragEvents touchmove.owl.dragEvents touchend.owl.dragEvents', $.proxy(function(event) {this.eventsRouter(event)},this));\n };\n\n /**\n * Handles the touchmove/mousemove events.\n * @todo Simplify\n * @protected\n * @param {Event} event - The event arguments.\n */\n Owl.prototype.onDragMove = function(event) {\n var ev, isTouchEvent, pageX, pageY, minValue, maxValue, pull;\n\n if (!this.state.isTouch) {\n return;\n }\n\n if (this.state.isScrolling) {\n return;\n }\n\n ev = event.originalEvent || event || window.event;\n\n pageX = getTouches(ev).x;\n pageY = getTouches(ev).y;\n\n // Drag Direction\n this.drag.currentX = pageX - this.drag.startX;\n this.drag.currentY = pageY - this.drag.startY;\n this.drag.distance = this.drag.currentX - this.drag.offsetX;\n\n // Check move direction\n if (this.drag.distance < 0) {\n this.state.direction = this.settings.rtl ? 'right' : 'left';\n } else if (this.drag.distance > 0) {\n this.state.direction = this.settings.rtl ? 'left' : 'right';\n }\n // Loop\n if (this.settings.loop) {\n if (this.op(this.drag.currentX, '>', this.coordinates(this.minimum())) && this.state.direction === 'right') {\n this.drag.currentX -= (this.settings.center && this.coordinates(0)) - this.coordinates(this._items.length);\n } else if (this.op(this.drag.currentX, '<', this.coordinates(this.maximum())) && this.state.direction === 'left') {\n this.drag.currentX += (this.settings.center && this.coordinates(0)) - this.coordinates(this._items.length);\n }\n } else {\n // pull\n minValue = this.settings.rtl ? this.coordinates(this.maximum()) : this.coordinates(this.minimum());\n maxValue = this.settings.rtl ? this.coordinates(this.minimum()) : this.coordinates(this.maximum());\n pull = this.settings.pullDrag ? this.drag.distance / 5 : 0;\n this.drag.currentX = Math.max(Math.min(this.drag.currentX, minValue + pull), maxValue + pull);\n }\n\n // Lock browser if swiping horizontal\n\n if ((this.drag.distance > 8 || this.drag.distance < -8)) {\n if (ev.preventDefault !== undefined) {\n ev.preventDefault();\n } else {\n ev.returnValue = false;\n }\n this.state.isSwiping = true;\n }\n\n this.drag.updatedX = this.drag.currentX;\n\n // Lock Owl if scrolling\n if ((this.drag.currentY > 16 || this.drag.currentY < -16) && this.state.isSwiping === false) {\n this.state.isScrolling = true;\n this.drag.updatedX = this.drag.start;\n }\n\n this.animate(this.drag.updatedX);\n };\n\n /**\n * Handles the touchend/mouseup events.\n * @protected\n */\n Owl.prototype.onDragEnd = function(event) {\n var compareTimes, distanceAbs, closest;\n\n if (!this.state.isTouch) {\n return;\n }\n\n if (event.type === 'mouseup') {\n this.$stage.removeClass('owl-grab');\n }\n\n this.trigger('dragged');\n\n // prevent links and images dragging;\n this.drag.targetEl.removeAttribute(\"draggable\");\n\n // remove drag event listeners\n\n this.state.isTouch = false;\n this.state.isScrolling = false;\n this.state.isSwiping = false;\n\n // to check\n if (this.drag.distance === 0 && this.state.inMotion !== true) {\n this.state.inMotion = false;\n return false;\n }\n\n // prevent clicks while scrolling\n\n this.drag.endTime = new Date().getTime();\n compareTimes = this.drag.endTime - this.drag.startTime;\n distanceAbs = Math.abs(this.drag.distance);\n\n // to test\n if (distanceAbs > 3 || compareTimes > 300) {\n this.removeClick(this.drag.targetEl);\n }\n\n closest = this.closest(this.drag.updatedX);\n\n this.speed(this.settings.dragEndSpeed || this.settings.smartSpeed);\n this.current(closest);\n this.invalidate('position');\n this.update();\n\n // if pullDrag is off then fire transitionEnd event manually when stick\n // to border\n if (!this.settings.pullDrag && this.drag.updatedX === this.coordinates(closest)) {\n this.transitionEnd();\n }\n\n this.drag.distance = 0;\n\n $(document).off('.owl.dragEvents');\n };\n\n /**\n * Attaches `preventClick` to disable link while swipping.\n * @protected\n * @param {HTMLElement} [target] - The target of the `click` event.\n */\n Owl.prototype.removeClick = function(target) {\n this.drag.targetEl = target;\n $(target).on('click.preventClick', this.e._preventClick);\n // to make sure click is removed:\n window.setTimeout(function() {\n $(target).off('click.preventClick');\n }, 300);\n };\n\n /**\n * Suppresses click event.\n * @protected\n * @param {Event} ev - The event arguments.\n */\n Owl.prototype.preventClick = function(ev) {\n if (ev.preventDefault) {\n ev.preventDefault();\n } else {\n ev.returnValue = false;\n }\n if (ev.stopPropagation) {\n ev.stopPropagation();\n }\n $(ev.target).off('click.preventClick');\n };\n\n /**\n * Catches stage position while animate (only CSS3).\n * @protected\n * @returns\n */\n Owl.prototype.getTransformProperty = function() {\n var transform, matrix3d;\n\n transform = window.getComputedStyle(this.$stage.get(0), null).getPropertyValue(this.vendorName + 'transform');\n // var transform = this.$stage.css(this.vendorName + 'transform')\n transform = transform.replace(/matrix(3d)?\\(|\\)/g, '').split(',');\n matrix3d = transform.length === 16;\n\n return matrix3d !== true ? transform[4] : transform[12];\n };\n\n /**\n * Gets absolute position of the closest item for a coordinate.\n * @todo Setting `freeDrag` makes `closest` not reusable. See #165.\n * @protected\n * @param {Number} coordinate - The coordinate in pixel.\n * @return {Number} - The absolute position of the closest item.\n */\n Owl.prototype.closest = function(coordinate) {\n var position = -1, pull = 30, width = this.width(), coordinates = this.coordinates();\n\n if (!this.settings.freeDrag) {\n // check closest item\n $.each(coordinates, $.proxy(function(index, value) {\n if (coordinate > value - pull && coordinate < value + pull) {\n position = index;\n } else if (this.op(coordinate, '<', value)\n && this.op(coordinate, '>', coordinates[index + 1] || value - width)) {\n position = this.state.direction === 'left' ? index + 1 : index;\n }\n return position === -1;\n }, this));\n }\n\n if (!this.settings.loop) {\n // non loop boundries\n if (this.op(coordinate, '>', coordinates[this.minimum()])) {\n position = coordinate = this.minimum();\n } else if (this.op(coordinate, '<', coordinates[this.maximum()])) {\n position = coordinate = this.maximum();\n }\n }\n\n return position;\n };\n\n /**\n * Animates the stage.\n * @public\n * @param {Number} coordinate - The coordinate in pixels.\n */\n Owl.prototype.animate = function(coordinate) {\n this.trigger('translate');\n this.state.inMotion = this.speed() > 0;\n\n if (this.support3d) {\n this.$stage.css({\n transform: 'translate3d(' + coordinate + 'px' + ',0px, 0px)',\n transition: (this.speed() / 1000) + 's'\n });\n } else if (this.state.isTouch) {\n this.$stage.css({\n left: coordinate + 'px'\n });\n } else {\n this.$stage.animate({\n left: coordinate\n }, this.speed() / 1000, this.settings.fallbackEasing, $.proxy(function() {\n if (this.state.inMotion) {\n this.transitionEnd();\n }\n }, this));\n }\n };\n\n /**\n * Sets the absolute position of the current item.\n * @public\n * @param {Number} [position] - The new absolute position or nothing to leave it unchanged.\n * @returns {Number} - The absolute position of the current item.\n */\n Owl.prototype.current = function(position) {\n if (position === undefined) {\n return this._current;\n }\n\n if (this._items.length === 0) {\n return undefined;\n }\n\n position = this.normalize(position);\n\n if (this._current !== position) {\n var event = this.trigger('change', { property: { name: 'position', value: position } });\n\n if (event.data !== undefined) {\n position = this.normalize(event.data);\n }\n\n this._current = position;\n\n this.invalidate('position');\n\n this.trigger('changed', { property: { name: 'position', value: this._current } });\n }\n\n return this._current;\n };\n\n /**\n * Invalidates the given part of the update routine.\n * @param {String} part - The part to invalidate.\n */\n Owl.prototype.invalidate = function(part) {\n this._invalidated[part] = true;\n }\n\n /**\n * Resets the absolute position of the current item.\n * @public\n * @param {Number} position - The absolute position of the new item.\n */\n Owl.prototype.reset = function(position) {\n position = this.normalize(position);\n\n if (position === undefined) {\n return;\n }\n\n this._speed = 0;\n this._current = position;\n\n this.suppress([ 'translate', 'translated' ]);\n\n this.animate(this.coordinates(position));\n\n this.release([ 'translate', 'translated' ]);\n };\n\n /**\n * Normalizes an absolute or a relative position for an item.\n * @public\n * @param {Number} position - The absolute or relative position to normalize.\n * @param {Boolean} [relative=false] - Whether the given position is relative or not.\n * @returns {Number} - The normalized position.\n */\n Owl.prototype.normalize = function(position, relative) {\n var n = (relative ? this._items.length : this._items.length + this._clones.length);\n\n if (!$.isNumeric(position) || n < 1) {\n return undefined;\n }\n\n if (this._clones.length) {\n position = ((position % n) + n) % n;\n } else {\n position = Math.max(this.minimum(relative), Math.min(this.maximum(relative), position));\n }\n\n return position;\n };\n\n /**\n * Converts an absolute position for an item into a relative position.\n * @public\n * @param {Number} position - The absolute position to convert.\n * @returns {Number} - The converted position.\n */\n Owl.prototype.relative = function(position) {\n position = this.normalize(position);\n position = position - this._clones.length / 2;\n return this.normalize(position, true);\n };\n\n /**\n * Gets the maximum position for an item.\n * @public\n * @param {Boolean} [relative=false] - Whether to return an absolute position or a relative position.\n * @returns {Number}\n */\n Owl.prototype.maximum = function(relative) {\n var maximum, width, i = 0, coordinate,\n settings = this.settings;\n\n if (relative) {\n return this._items.length - 1;\n }\n\n if (!settings.loop && settings.center) {\n maximum = this._items.length - 1;\n } else if (!settings.loop && !settings.center) {\n maximum = this._items.length - settings.items;\n } else if (settings.loop || settings.center) {\n maximum = this._items.length + settings.items;\n } else if (settings.autoWidth || settings.merge) {\n revert = settings.rtl ? 1 : -1;\n width = this.$stage.width() - this.$element.width();\n while (coordinate = this.coordinates(i)) {\n if (coordinate * revert >= width) {\n break;\n }\n maximum = ++i;\n }\n } else {\n throw 'Can not detect maximum absolute position.'\n }\n\n return maximum;\n };\n\n /**\n * Gets the minimum position for an item.\n * @public\n * @param {Boolean} [relative=false] - Whether to return an absolute position or a relative position.\n * @returns {Number}\n */\n Owl.prototype.minimum = function(relative) {\n if (relative) {\n return 0;\n }\n\n return this._clones.length / 2;\n };\n\n /**\n * Gets an item at the specified relative position.\n * @public\n * @param {Number} [position] - The relative position of the item.\n * @return {jQuery|Array.} - The item at the given position or all items if no position was given.\n */\n Owl.prototype.items = function(position) {\n if (position === undefined) {\n return this._items.slice();\n }\n\n position = this.normalize(position, true);\n return this._items[position];\n };\n\n /**\n * Gets an item at the specified relative position.\n * @public\n * @param {Number} [position] - The relative position of the item.\n * @return {jQuery|Array.} - The item at the given position or all items if no position was given.\n */\n Owl.prototype.mergers = function(position) {\n if (position === undefined) {\n return this._mergers.slice();\n }\n\n position = this.normalize(position, true);\n return this._mergers[position];\n };\n\n /**\n * Gets the absolute positions of clones for an item.\n * @public\n * @param {Number} [position] - The relative position of the item.\n * @returns {Array.} - The absolute positions of clones for the item or all if no position was given.\n */\n Owl.prototype.clones = function(position) {\n var odd = this._clones.length / 2,\n even = odd + this._items.length,\n map = function(index) { return index % 2 === 0 ? even + index / 2 : odd - (index + 1) / 2 };\n\n if (position === undefined) {\n return $.map(this._clones, function(v, i) { return map(i) });\n }\n\n return $.map(this._clones, function(v, i) { return v === position ? map(i) : null });\n };\n\n /**\n * Sets the current animation speed.\n * @public\n * @param {Number} [speed] - The animation speed in milliseconds or nothing to leave it unchanged.\n * @returns {Number} - The current animation speed in milliseconds.\n */\n Owl.prototype.speed = function(speed) {\n if (speed !== undefined) {\n this._speed = speed;\n }\n\n return this._speed;\n };\n\n /**\n * Gets the coordinate of an item.\n * @todo The name of this method is missleanding.\n * @public\n * @param {Number} position - The absolute position of the item within `minimum()` and `maximum()`.\n * @returns {Number|Array.} - The coordinate of the item in pixel or all coordinates.\n */\n Owl.prototype.coordinates = function(position) {\n var coordinate = null;\n\n if (position === undefined) {\n return $.map(this._coordinates, $.proxy(function(coordinate, index) {\n return this.coordinates(index);\n }, this));\n }\n\n if (this.settings.center) {\n coordinate = this._coordinates[position];\n coordinate += (this.width() - coordinate + (this._coordinates[position - 1] || 0)) / 2 * (this.settings.rtl ? -1 : 1);\n } else {\n coordinate = this._coordinates[position - 1] || 0;\n }\n\n return coordinate;\n };\n\n /**\n * Calculates the speed for a translation.\n * @protected\n * @param {Number} from - The absolute position of the start item.\n * @param {Number} to - The absolute position of the target item.\n * @param {Number} [factor=undefined] - The time factor in milliseconds.\n * @returns {Number} - The time in milliseconds for the translation.\n */\n Owl.prototype.duration = function(from, to, factor) {\n return Math.min(Math.max(Math.abs(to - from), 1), 6) * Math.abs((factor || this.settings.smartSpeed));\n };\n\n /**\n * Slides to the specified item.\n * @public\n * @param {Number} position - The position of the item.\n * @param {Number} [speed] - The time in milliseconds for the transition.\n */\n Owl.prototype.to = function(position, speed) {\n if (this.settings.loop) {\n var distance = position - this.relative(this.current()),\n revert = this.current(),\n before = this.current(),\n after = this.current() + distance,\n direction = before - after < 0 ? true : false,\n items = this._clones.length + this._items.length;\n\n if (after < this.settings.items && direction === false) {\n revert = before + this._items.length;\n this.reset(revert);\n } else if (after >= items - this.settings.items && direction === true) {\n revert = before - this._items.length;\n this.reset(revert);\n }\n window.clearTimeout(this.e._goToLoop);\n this.e._goToLoop = window.setTimeout($.proxy(function() {\n this.speed(this.duration(this.current(), revert + distance, speed));\n this.current(revert + distance);\n this.update();\n }, this), 30);\n } else {\n this.speed(this.duration(this.current(), position, speed));\n this.current(position);\n this.update();\n }\n };\n\n /**\n * Slides to the next item.\n * @public\n * @param {Number} [speed] - The time in milliseconds for the transition.\n */\n Owl.prototype.next = function(speed) {\n speed = speed || false;\n this.to(this.relative(this.current()) + 1, speed);\n };\n\n /**\n * Slides to the previous item.\n * @public\n * @param {Number} [speed] - The time in milliseconds for the transition.\n */\n Owl.prototype.prev = function(speed) {\n speed = speed || false;\n this.to(this.relative(this.current()) - 1, speed);\n };\n\n /**\n * Handles the end of an animation.\n * @protected\n * @param {Event} event - The event arguments.\n */\n Owl.prototype.transitionEnd = function(event) {\n\n // if css2 animation then event object is undefined\n if (event !== undefined) {\n event.stopPropagation();\n\n // Catch only owl-stage transitionEnd event\n if ((event.target || event.srcElement || event.originalTarget) !== this.$stage.get(0)) {\n return false;\n }\n }\n\n this.state.inMotion = false;\n this.trigger('translated');\n };\n\n /**\n * Gets viewport width.\n * @protected\n * @return {Number} - The width in pixel.\n */\n Owl.prototype.viewport = function() {\n var width;\n if (this.options.responsiveBaseElement !== window) {\n width = $(this.options.responsiveBaseElement).width();\n } else if (window.innerWidth) {\n width = window.innerWidth;\n } else if (document.documentElement && document.documentElement.clientWidth) {\n width = document.documentElement.clientWidth;\n } else {\n throw 'Can not detect viewport width.';\n }\n return width;\n };\n\n /**\n * Replaces the current content.\n * @public\n * @param {HTMLElement|jQuery|String} content - The new content.\n */\n Owl.prototype.replace = function(content) {\n this.$stage.empty();\n this._items = [];\n\n if (content) {\n content = (content instanceof jQuery) ? content : $(content);\n }\n\n if (this.settings.nestedItemSelector) {\n content = content.find('.' + this.settings.nestedItemSelector);\n }\n\n content.filter(function() {\n return this.nodeType === 1;\n }).each($.proxy(function(index, item) {\n item = this.prepare(item);\n this.$stage.append(item);\n this._items.push(item);\n this._mergers.push(item.find('[data-merge]').andSelf('[data-merge]').attr('data-merge') * 1 || 1);\n }, this));\n\n this.reset($.isNumeric(this.settings.startPosition) ? this.settings.startPosition : 0);\n\n this.invalidate('items');\n };\n\n /**\n * Adds an item.\n * @todo Use `item` instead of `content` for the event arguments.\n * @public\n * @param {HTMLElement|jQuery|String} content - The item content to add.\n * @param {Number} [position] - The relative position at which to insert the item otherwise the item will be added to the end.\n */\n Owl.prototype.add = function(content, position) {\n position = position === undefined ? this._items.length : this.normalize(position, true);\n\n this.trigger('add', { content: content, position: position });\n\n if (this._items.length === 0 || position === this._items.length) {\n this.$stage.append(content);\n this._items.push(content);\n this._mergers.push(content.find('[data-merge]').andSelf('[data-merge]').attr('data-merge') * 1 || 1);\n } else {\n this._items[position].before(content);\n this._items.splice(position, 0, content);\n this._mergers.splice(position, 0, content.find('[data-merge]').andSelf('[data-merge]').attr('data-merge') * 1 || 1);\n }\n\n this.invalidate('items');\n\n this.trigger('added', { content: content, position: position });\n };\n\n /**\n * Removes an item by its position.\n * @todo Use `item` instead of `content` for the event arguments.\n * @public\n * @param {Number} position - The relative position of the item to remove.\n */\n Owl.prototype.remove = function(position) {\n position = this.normalize(position, true);\n\n if (position === undefined) {\n return;\n }\n\n this.trigger('remove', { content: this._items[position], position: position });\n\n this._items[position].remove();\n this._items.splice(position, 1);\n this._mergers.splice(position, 1);\n\n this.invalidate('items');\n\n this.trigger('removed', { content: null, position: position });\n };\n\n /**\n * Adds triggerable events.\n * @protected\n */\n Owl.prototype.addTriggerableEvents = function() {\n var handler = $.proxy(function(callback, event) {\n return $.proxy(function(e) {\n if (e.relatedTarget !== this) {\n this.suppress([ event ]);\n callback.apply(this, [].slice.call(arguments, 1));\n this.release([ event ]);\n }\n }, this);\n }, this);\n\n $.each({\n 'next': this.next,\n 'prev': this.prev,\n 'to': this.to,\n 'destroy': this.destroy,\n 'refresh': this.refresh,\n 'replace': this.replace,\n 'add': this.add,\n 'remove': this.remove\n }, $.proxy(function(event, callback) {\n this.$element.on(event + '.owl.carousel', handler(callback, event + '.owl.carousel'));\n }, this));\n\n };\n\n /**\n * Watches the visibility of the carousel element.\n * @protected\n */\n Owl.prototype.watchVisibility = function() {\n\n // test on zepto\n if (!isElVisible(this.$element.get(0))) {\n this.$element.addClass('owl-hidden');\n window.clearInterval(this.e._checkVisibile);\n this.e._checkVisibile = window.setInterval($.proxy(checkVisible, this), 500);\n }\n\n function isElVisible(el) {\n return el.offsetWidth > 0 && el.offsetHeight > 0;\n }\n\n function checkVisible() {\n if (isElVisible(this.$element.get(0))) {\n this.$element.removeClass('owl-hidden');\n this.refresh();\n window.clearInterval(this.e._checkVisibile);\n }\n }\n };\n\n /**\n * Preloads images with auto width.\n * @protected\n * @todo Still to test\n */\n Owl.prototype.preloadAutoWidthImages = function(imgs) {\n var loaded, that, $el, img;\n\n loaded = 0;\n that = this;\n imgs.each(function(i, el) {\n $el = $(el);\n img = new Image();\n\n img.onload = function() {\n loaded++;\n $el.attr('src', img.src);\n $el.css('opacity', 1);\n if (loaded >= imgs.length) {\n that.state.imagesLoaded = true;\n that.initialize();\n }\n };\n\n img.src = $el.attr('src') || $el.attr('data-src') || $el.attr('data-src-retina');\n });\n };\n\n /**\n * Destroys the carousel.\n * @public\n */\n Owl.prototype.destroy = function() {\n\n if (this.$element.hasClass(this.settings.themeClass)) {\n this.$element.removeClass(this.settings.themeClass);\n }\n\n if (this.settings.responsive !== false) {\n $(window).off('resize.owl.carousel');\n }\n\n if (this.transitionEndVendor) {\n this.off(this.$stage.get(0), this.transitionEndVendor, this.e._transitionEnd);\n }\n\n for ( var i in this._plugins) {\n this._plugins[i].destroy();\n }\n\n if (this.settings.mouseDrag || this.settings.touchDrag) {\n this.$stage.off('mousedown touchstart touchcancel');\n $(document).off('.owl.dragEvents');\n this.$stage.get(0).onselectstart = function() {};\n this.$stage.off('dragstart', function() { return false });\n }\n\n // remove event handlers in the \".owl.carousel\" namespace\n this.$element.off('.owl');\n\n this.$stage.children('.cloned').remove();\n this.e = null;\n this.$element.removeData('owlCarousel');\n\n this.$stage.children().contents().unwrap();\n this.$stage.children().unwrap();\n this.$stage.unwrap();\n };\n\n /**\n * Operators to calculate right-to-left and left-to-right.\n * @protected\n * @param {Number} [a] - The left side operand.\n * @param {String} [o] - The operator.\n * @param {Number} [b] - The right side operand.\n */\n Owl.prototype.op = function(a, o, b) {\n var rtl = this.settings.rtl;\n switch (o) {\n case '<':\n return rtl ? a > b : a < b;\n case '>':\n return rtl ? a < b : a > b;\n case '>=':\n return rtl ? a <= b : a >= b;\n case '<=':\n return rtl ? a >= b : a <= b;\n default:\n break;\n }\n };\n\n /**\n * Attaches to an internal event.\n * @protected\n * @param {HTMLElement} element - The event source.\n * @param {String} event - The event name.\n * @param {Function} listener - The event handler to attach.\n * @param {Boolean} capture - Wether the event should be handled at the capturing phase or not.\n */\n Owl.prototype.on = function(element, event, listener, capture) {\n if (element.addEventListener) {\n element.addEventListener(event, listener, capture);\n } else if (element.attachEvent) {\n element.attachEvent('on' + event, listener);\n }\n };\n\n /**\n * Detaches from an internal event.\n * @protected\n * @param {HTMLElement} element - The event source.\n * @param {String} event - The event name.\n * @param {Function} listener - The attached event handler to detach.\n * @param {Boolean} capture - Wether the attached event handler was registered as a capturing listener or not.\n */\n Owl.prototype.off = function(element, event, listener, capture) {\n if (element.removeEventListener) {\n element.removeEventListener(event, listener, capture);\n } else if (element.detachEvent) {\n element.detachEvent('on' + event, listener);\n }\n };\n\n /**\n * Triggers an public event.\n * @protected\n * @param {String} name - The event name.\n * @param {*} [data=null] - The event data.\n * @param {String} [namespace=.owl.carousel] - The event namespace.\n * @returns {Event} - The event arguments.\n */\n Owl.prototype.trigger = function(name, data, namespace) {\n var status = {\n item: { count: this._items.length, index: this.current() }\n }, handler = $.camelCase(\n $.grep([ 'on', name, namespace ], function(v) { return v })\n .join('-').toLowerCase()\n ), event = $.Event(\n [ name, 'owl', namespace || 'carousel' ].join('.').toLowerCase(),\n $.extend({ relatedTarget: this }, status, data)\n );\n\n if (!this._supress[name]) {\n $.each(this._plugins, function(name, plugin) {\n if (plugin.onTrigger) {\n plugin.onTrigger(event);\n }\n });\n\n this.$element.trigger(event);\n\n if (this.settings && typeof this.settings[handler] === 'function') {\n this.settings[handler].apply(this, event);\n }\n }\n\n return event;\n };\n\n /**\n * Suppresses events.\n * @protected\n * @param {Array.} events - The events to suppress.\n */\n Owl.prototype.suppress = function(events) {\n $.each(events, $.proxy(function(index, event) {\n this._supress[event] = true;\n }, this));\n }\n\n /**\n * Releases suppressed events.\n * @protected\n * @param {Array.} events - The events to release.\n */\n Owl.prototype.release = function(events) {\n $.each(events, $.proxy(function(index, event) {\n delete this._supress[event];\n }, this));\n }\n\n /**\n * Checks the availability of some browser features.\n * @protected\n */\n Owl.prototype.browserSupport = function() {\n this.support3d = isPerspective();\n\n if (this.support3d) {\n this.transformVendor = isTransform();\n\n // take transitionend event name by detecting transition\n var endVendors = [ 'transitionend', 'webkitTransitionEnd', 'transitionend', 'oTransitionEnd' ];\n this.transitionEndVendor = endVendors[isTransition()];\n\n // take vendor name from transform name\n this.vendorName = this.transformVendor.replace(/Transform/i, '');\n this.vendorName = this.vendorName !== '' ? '-' + this.vendorName.toLowerCase() + '-' : '';\n }\n\n this.state.orientation = window.orientation;\n };\n\n /**\n * Get touch/drag coordinats.\n * @private\n * @param {event} - mousedown/touchstart event\n * @returns {object} - Contains X and Y of current mouse/touch position\n */\n\n function getTouches(event) {\n if (event.touches !== undefined) {\n return {\n x: event.touches[0].pageX,\n y: event.touches[0].pageY\n };\n }\n\n if (event.touches === undefined) {\n if (event.pageX !== undefined) {\n return {\n x: event.pageX,\n y: event.pageY\n };\n }\n\n if (event.pageX === undefined) {\n return {\n x: event.clientX,\n y: event.clientY\n };\n }\n }\n }\n\n /**\n * Checks for CSS support.\n * @private\n * @param {Array} array - The CSS properties to check for.\n * @returns {Array} - Contains the supported CSS property name and its index or `false`.\n */\n function isStyleSupported(array) {\n var p, s, fake = document.createElement('div'), list = array;\n for (p in list) {\n s = list[p];\n if (typeof fake.style[s] !== 'undefined') {\n fake = null;\n return [ s, p ];\n }\n }\n return [ false ];\n }\n\n /**\n * Checks for CSS transition support.\n * @private\n * @todo Realy bad design\n * @returns {Number}\n */\n function isTransition() {\n return isStyleSupported([ 'transition', 'WebkitTransition', 'MozTransition', 'OTransition' ])[1];\n }\n\n /**\n * Checks for CSS transform support.\n * @private\n * @returns {String} The supported property name or false.\n */\n function isTransform() {\n return isStyleSupported([ 'transform', 'WebkitTransform', 'MozTransform', 'OTransform', 'msTransform' ])[0];\n }\n\n /**\n * Checks for CSS perspective support.\n * @private\n * @returns {String} The supported property name or false.\n */\n function isPerspective() {\n return isStyleSupported([ 'perspective', 'webkitPerspective', 'MozPerspective', 'OPerspective', 'MsPerspective' ])[0];\n }\n\n /**\n * Checks wether touch is supported or not.\n * @private\n * @returns {Boolean}\n */\n function isTouchSupport() {\n return 'ontouchstart' in window || !!(navigator.msMaxTouchPoints);\n }\n\n /**\n * Checks wether touch is supported or not for IE.\n * @private\n * @returns {Boolean}\n */\n function isTouchSupportIE() {\n return window.navigator.msPointerEnabled;\n }\n\n /**\n * The jQuery Plugin for the Owl Carousel\n * @public\n */\n $.fn.owlCarousel = function(options) {\n return this.each(function() {\n if (!$(this).data('owlCarousel')) {\n $(this).data('owlCarousel', new Owl(this, options));\n }\n });\n };\n\n /**\n * The constructor for the jQuery Plugin\n * @public\n */\n $.fn.owlCarousel.Constructor = Owl;\n\n})(window.Zepto || window.jQuery, window, document);\n\n/**\n * Lazy Plugin\n * @version 2.0.0\n * @author Bartosz Wojciechowski\n * @license The MIT License (MIT)\n */\n;(function($, window, document, undefined) {\n\n /**\n * Creates the lazy plugin.\n * @class The Lazy Plugin\n * @param {Owl} carousel - The Owl Carousel\n */\n var Lazy = function(carousel) {\n\n /**\n * Reference to the core.\n * @protected\n * @type {Owl}\n */\n this._core = carousel;\n\n /**\n * Already loaded items.\n * @protected\n * @type {Array.}\n */\n this._loaded = [];\n\n /**\n * Event handlers.\n * @protected\n * @type {Object}\n */\n this._handlers = {\n 'initialized.owl.carousel change.owl.carousel': $.proxy(function(e) {\n if (!e.namespace) {\n return;\n }\n\n if (!this._core.settings || !this._core.settings.lazyLoad) {\n return;\n }\n\n if ((e.property && e.property.name == 'position') || e.type == 'initialized') {\n var settings = this._core.settings,\n n = (settings.center && Math.ceil(settings.items / 2) || settings.items),\n i = ((settings.center && n * -1) || 0),\n position = ((e.property && e.property.value) || this._core.current()) + i,\n clones = this._core.clones().length,\n load = $.proxy(function(i, v) { this.load(v) }, this);\n\n while (i++ < n) {\n this.load(clones / 2 + this._core.relative(position));\n clones && $.each(this._core.clones(this._core.relative(position++)), load);\n }\n }\n }, this)\n };\n\n // set the default options\n this._core.options = $.extend({}, Lazy.Defaults, this._core.options);\n\n // register event handler\n this._core.$element.on(this._handlers);\n }\n\n /**\n * Default options.\n * @public\n */\n Lazy.Defaults = {\n lazyLoad: false\n }\n\n /**\n * Loads all resources of an item at the specified position.\n * @param {Number} position - The absolute position of the item.\n * @protected\n */\n Lazy.prototype.load = function(position) {\n var $item = this._core.$stage.children().eq(position),\n $elements = $item && $item.find('.owl-lazy');\n\n if (!$elements || $.inArray($item.get(0), this._loaded) > -1) {\n return;\n }\n\n $elements.each($.proxy(function(index, element) {\n var $element = $(element), image,\n url = (window.devicePixelRatio > 1 && $element.attr('data-src-retina')) || $element.attr('data-src');\n\n this._core.trigger('load', { element: $element, url: url }, 'lazy');\n\n if ($element.is('img')) {\n $element.one('load.owl.lazy', $.proxy(function() {\n $element.css('opacity', 1);\n this._core.trigger('loaded', { element: $element, url: url }, 'lazy');\n }, this)).attr('src', url);\n } else {\n image = new Image();\n image.onload = $.proxy(function() {\n $element.css({\n 'background-image': 'url(' + url + ')',\n 'opacity': '1'\n });\n this._core.trigger('loaded', { element: $element, url: url }, 'lazy');\n }, this);\n image.src = url;\n }\n }, this));\n\n this._loaded.push($item.get(0));\n }\n\n /**\n * Destroys the plugin.\n * @public\n */\n Lazy.prototype.destroy = function() {\n var handler, property;\n\n for (handler in this.handlers) {\n this._core.$element.off(handler, this.handlers[handler]);\n }\n for (property in Object.getOwnPropertyNames(this)) {\n typeof this[property] != 'function' && (this[property] = null);\n }\n }\n\n $.fn.owlCarousel.Constructor.Plugins.Lazy = Lazy;\n\n})(window.Zepto || window.jQuery, window, document);\n\n/**\n * AutoHeight Plugin\n * @version 2.0.0\n * @author Bartosz Wojciechowski\n * @license The MIT License (MIT)\n */\n;(function($, window, document, undefined) {\n\n /**\n * Creates the auto height plugin.\n * @class The Auto Height Plugin\n * @param {Owl} carousel - The Owl Carousel\n */\n var AutoHeight = function(carousel) {\n /**\n * Reference to the core.\n * @protected\n * @type {Owl}\n */\n this._core = carousel;\n\n /**\n * All event handlers.\n * @protected\n * @type {Object}\n */\n this._handlers = {\n 'initialized.owl.carousel': $.proxy(function() {\n if (this._core.settings.autoHeight) {\n this.update();\n }\n }, this),\n 'changed.owl.carousel': $.proxy(function(e) {\n if (this._core.settings.autoHeight && e.property.name == 'position'){\n this.update();\n }\n }, this),\n 'loaded.owl.lazy': $.proxy(function(e) {\n if (this._core.settings.autoHeight && e.element.closest('.' + this._core.settings.itemClass)\n === this._core.$stage.children().eq(this._core.current())) {\n this.update();\n }\n }, this)\n };\n\n // set default options\n this._core.options = $.extend({}, AutoHeight.Defaults, this._core.options);\n\n // register event handlers\n this._core.$element.on(this._handlers);\n };\n\n /**\n * Default options.\n * @public\n */\n AutoHeight.Defaults = {\n autoHeight: false,\n autoHeightClass: 'owl-height'\n };\n\n /**\n * Updates the view.\n */\n AutoHeight.prototype.update = function() {\n this._core.$stage.parent()\n .height(this._core.$stage.children().eq(this._core.current()).height())\n .addClass(this._core.settings.autoHeightClass);\n };\n\n AutoHeight.prototype.destroy = function() {\n var handler, property;\n\n for (handler in this._handlers) {\n this._core.$element.off(handler, this._handlers[handler]);\n }\n for (property in Object.getOwnPropertyNames(this)) {\n typeof this[property] != 'function' && (this[property] = null);\n }\n };\n\n $.fn.owlCarousel.Constructor.Plugins.AutoHeight = AutoHeight;\n\n})(window.Zepto || window.jQuery, window, document);\n\n/**\n * Video Plugin\n * @version 2.0.0\n * @author Bartosz Wojciechowski\n * @license The MIT License (MIT)\n */\n;(function($, window, document, undefined) {\n\n /**\n * Creates the video plugin.\n * @class The Video Plugin\n * @param {Owl} carousel - The Owl Carousel\n */\n var Video = function(carousel) {\n /**\n * Reference to the core.\n * @protected\n * @type {Owl}\n */\n this._core = carousel;\n\n /**\n * Cache all video URLs.\n * @protected\n * @type {Object}\n */\n this._videos = {};\n\n /**\n * Current playing item.\n * @protected\n * @type {jQuery}\n */\n this._playing = null;\n\n /**\n * Whether this is in fullscreen or not.\n * @protected\n * @type {Boolean}\n */\n this._fullscreen = false;\n\n /**\n * All event handlers.\n * @protected\n * @type {Object}\n */\n this._handlers = {\n 'resize.owl.carousel': $.proxy(function(e) {\n if (this._core.settings.video && !this.isInFullScreen()) {\n e.preventDefault();\n }\n }, this),\n 'refresh.owl.carousel changed.owl.carousel': $.proxy(function(e) {\n if (this._playing) {\n this.stop();\n }\n }, this),\n 'prepared.owl.carousel': $.proxy(function(e) {\n var $element = $(e.content).find('.owl-video');\n if ($element.length) {\n $element.css('display', 'none');\n this.fetch($element, $(e.content));\n }\n }, this)\n };\n\n // set default options\n this._core.options = $.extend({}, Video.Defaults, this._core.options);\n\n // register event handlers\n this._core.$element.on(this._handlers);\n\n this._core.$element.on('click.owl.video', '.owl-video-play-icon', $.proxy(function(e) {\n this.play(e);\n }, this));\n };\n\n /**\n * Default options.\n * @public\n */\n Video.Defaults = {\n video: false,\n videoHeight: false,\n videoWidth: false\n };\n\n /**\n * Gets the video ID and the type (YouTube/Vimeo only).\n * @protected\n * @param {jQuery} target - The target containing the video data.\n * @param {jQuery} item - The item containing the video.\n */\n Video.prototype.fetch = function(target, item) {\n\n var type = target.attr('data-vimeo-id') ? 'vimeo' : 'youtube',\n id = target.attr('data-vimeo-id') || target.attr('data-youtube-id'),\n width = target.attr('data-width') || this._core.settings.videoWidth,\n height = target.attr('data-height') || this._core.settings.videoHeight,\n url = target.attr('href');\n\n if (url) {\n id = url.match(/(http:|https:|)\\/\\/(player.|www.)?(vimeo\\.com|youtu(be\\.com|\\.be|be\\.googleapis\\.com))\\/(video\\/|embed\\/|watch\\?v=|v\\/)?([A-Za-z0-9._%-]*)(\\&\\S+)?/);\n\n if (id[3].indexOf('youtu') > -1) {\n type = 'youtube';\n } else if (id[3].indexOf('vimeo') > -1) {\n type = 'vimeo';\n } else {\n throw new Error('Video URL not supported.');\n }\n id = id[6];\n } else {\n throw new Error('Missing video URL.');\n }\n\n this._videos[url] = {\n type: type,\n id: id,\n width: width,\n height: height\n };\n\n item.attr('data-video', url);\n\n this.thumbnail(target, this._videos[url]);\n };\n\n /**\n * Creates video thumbnail.\n * @protected\n * @param {jQuery} target - The target containing the video data.\n * @param {Object} info - The video info object.\n * @see `fetch`\n */\n Video.prototype.thumbnail = function(target, video) {\n\n var tnLink,\n icon,\n path,\n dimensions = video.width && video.height ? 'style=\"width:' + video.width + 'px;height:' + video.height + 'px;\"' : '',\n customTn = target.find('img'),\n srcType = 'src',\n lazyClass = '',\n settings = this._core.settings,\n create = function(path) {\n icon = '
';\n\n if (settings.lazyLoad) {\n tnLink = '
';\n } else {\n tnLink = '
';\n }\n target.after(tnLink);\n target.after(icon);\n };\n\n // wrap video content into owl-video-wrapper div\n target.wrap('
');\n\n if (this._core.settings.lazyLoad) {\n srcType = 'data-src';\n lazyClass = 'owl-lazy';\n }\n\n // custom thumbnail\n if (customTn.length) {\n create(customTn.attr(srcType));\n customTn.remove();\n return false;\n }\n\n if (video.type === 'youtube') {\n path = \"http://img.youtube.com/vi/\" + video.id + \"/hqdefault.jpg\";\n create(path);\n } else if (video.type === 'vimeo') {\n $.ajax({\n type: 'GET',\n url: 'http://vimeo.com/api/v2/video/' + video.id + '.json',\n jsonp: 'callback',\n dataType: 'jsonp',\n success: function(data) {\n path = data[0].thumbnail_large;\n create(path);\n }\n });\n }\n };\n\n /**\n * Stops the current video.\n * @public\n */\n Video.prototype.stop = function() {\n this._core.trigger('stop', null, 'video');\n this._playing.find('.owl-video-frame').remove();\n this._playing.removeClass('owl-video-playing');\n this._playing = null;\n };\n\n /**\n * Starts the current video.\n * @public\n * @param {Event} ev - The event arguments.\n */\n Video.prototype.play = function(ev) {\n this._core.trigger('play', null, 'video');\n\n if (this._playing) {\n this.stop();\n }\n\n var target = $(ev.target || ev.srcElement),\n item = target.closest('.' + this._core.settings.itemClass),\n video = this._videos[item.attr('data-video')],\n width = video.width || '100%',\n height = video.height || this._core.$stage.height(),\n html, wrap;\n\n if (video.type === 'youtube') {\n html = '';\n } else if (video.type === 'vimeo') {\n html = '';\n }\n\n item.addClass('owl-video-playing');\n this._playing = item;\n\n wrap = $('
'\n + html + '
');\n target.after(wrap);\n };\n\n /**\n * Checks whether an video is currently in full screen mode or not.\n * @todo Bad style because looks like a readonly method but changes members.\n * @protected\n * @returns {Boolean}\n */\n Video.prototype.isInFullScreen = function() {\n\n // if Vimeo Fullscreen mode\n var element = document.fullscreenElement || document.mozFullScreenElement\n || document.webkitFullscreenElement;\n\n if (element && $(element).parent().hasClass('owl-video-frame')) {\n this._core.speed(0);\n this._fullscreen = true;\n }\n\n if (element && this._fullscreen && this._playing) {\n return false;\n }\n\n // comming back from fullscreen\n if (this._fullscreen) {\n this._fullscreen = false;\n return false;\n }\n\n // check full screen mode and window orientation\n if (this._playing) {\n if (this._core.state.orientation !== window.orientation) {\n this._core.state.orientation = window.orientation;\n return false;\n }\n }\n\n return true;\n };\n\n /**\n * Destroys the plugin.\n */\n Video.prototype.destroy = function() {\n var handler, property;\n\n this._core.$element.off('click.owl.video');\n\n for (handler in this._handlers) {\n this._core.$element.off(handler, this._handlers[handler]);\n }\n for (property in Object.getOwnPropertyNames(this)) {\n typeof this[property] != 'function' && (this[property] = null);\n }\n };\n\n $.fn.owlCarousel.Constructor.Plugins.Video = Video;\n\n})(window.Zepto || window.jQuery, window, document);\n\n/**\n * Animate Plugin\n * @version 2.0.0\n * @author Bartosz Wojciechowski\n * @license The MIT License (MIT)\n */\n;(function($, window, document, undefined) {\n\n /**\n * Creates the animate plugin.\n * @class The Navigation Plugin\n * @param {Owl} scope - The Owl Carousel\n */\n var Animate = function(scope) {\n this.core = scope;\n this.core.options = $.extend({}, Animate.Defaults, this.core.options);\n this.swapping = true;\n this.previous = undefined;\n this.next = undefined;\n\n this.handlers = {\n 'change.owl.carousel': $.proxy(function(e) {\n if (e.property.name == 'position') {\n this.previous = this.core.current();\n this.next = e.property.value;\n }\n }, this),\n 'drag.owl.carousel dragged.owl.carousel translated.owl.carousel': $.proxy(function(e) {\n this.swapping = e.type == 'translated';\n }, this),\n 'translate.owl.carousel': $.proxy(function(e) {\n if (this.swapping && (this.core.options.animateOut || this.core.options.animateIn)) {\n this.swap();\n }\n }, this)\n };\n\n this.core.$element.on(this.handlers);\n };\n\n /**\n * Default options.\n * @public\n */\n Animate.Defaults = {\n animateOut: false,\n animateIn: false\n };\n\n /**\n * Toggles the animation classes whenever an translations starts.\n * @protected\n * @returns {Boolean|undefined}\n */\n Animate.prototype.swap = function() {\n\n if (this.core.settings.items !== 1 || !this.core.support3d) {\n return;\n }\n\n this.core.speed(0);\n\n var left,\n clear = $.proxy(this.clear, this),\n previous = this.core.$stage.children().eq(this.previous),\n next = this.core.$stage.children().eq(this.next),\n incoming = this.core.settings.animateIn,\n outgoing = this.core.settings.animateOut;\n\n if (this.core.current() === this.previous) {\n return;\n }\n\n if (outgoing) {\n left = this.core.coordinates(this.previous) - this.core.coordinates(this.next);\n previous.css( { 'left': left + 'px' } )\n .addClass('animated owl-animated-out')\n .addClass(outgoing)\n .one('webkitAnimationEnd mozAnimationEnd MSAnimationEnd oanimationend animationend', clear);\n }\n\n if (incoming) {\n next.addClass('animated owl-animated-in')\n .addClass(incoming)\n .one('webkitAnimationEnd mozAnimationEnd MSAnimationEnd oanimationend animationend', clear);\n }\n };\n\n Animate.prototype.clear = function(e) {\n $(e.target).css( { 'left': '' } )\n .removeClass('animated owl-animated-out owl-animated-in')\n .removeClass(this.core.settings.animateIn)\n .removeClass(this.core.settings.animateOut);\n this.core.transitionEnd();\n }\n\n /**\n * Destroys the plugin.\n * @public\n */\n Animate.prototype.destroy = function() {\n var handler, property;\n\n for (handler in this.handlers) {\n this.core.$element.off(handler, this.handlers[handler]);\n }\n for (property in Object.getOwnPropertyNames(this)) {\n typeof this[property] != 'function' && (this[property] = null);\n }\n };\n\n $.fn.owlCarousel.Constructor.Plugins.Animate = Animate;\n\n})(window.Zepto || window.jQuery, window, document);\n\n/**\n * Autoplay Plugin\n * @version 2.0.0\n * @author Bartosz Wojciechowski\n * @license The MIT License (MIT)\n */\n;(function($, window, document, undefined) {\n\n /**\n * Creates the autoplay plugin.\n * @class The Autoplay Plugin\n * @param {Owl} scope - The Owl Carousel\n */\n var Autoplay = function(scope) {\n this.core = scope;\n this.core.options = $.extend({}, Autoplay.Defaults, this.core.options);\n\n this.handlers = {\n 'translated.owl.carousel refreshed.owl.carousel': $.proxy(function() {\n this.autoplay();\n }, this),\n 'play.owl.autoplay': $.proxy(function(e, t, s) {\n this.play(t, s);\n }, this),\n 'stop.owl.autoplay': $.proxy(function() {\n this.stop();\n }, this),\n 'mouseover.owl.autoplay': $.proxy(function() {\n if (this.core.settings.autoplayHoverPause) {\n this.pause();\n }\n }, this),\n 'mouseleave.owl.autoplay': $.proxy(function() {\n if (this.core.settings.autoplayHoverPause) {\n this.autoplay();\n }\n }, this)\n };\n\n this.core.$element.on(this.handlers);\n };\n\n /**\n * Default options.\n * @public\n */\n Autoplay.Defaults = {\n autoplay: false,\n autoplayTimeout: 5000,\n autoplayHoverPause: false,\n autoplaySpeed: false\n };\n\n /**\n * @protected\n * @todo Must be documented.\n */\n Autoplay.prototype.autoplay = function() {\n if (this.core.settings.autoplay && !this.core.state.videoPlay) {\n window.clearInterval(this.interval);\n\n this.interval = window.setInterval($.proxy(function() {\n this.play();\n }, this), this.core.settings.autoplayTimeout);\n } else {\n window.clearInterval(this.interval);\n }\n };\n\n /**\n * Starts the autoplay.\n * @public\n * @param {Number} [timeout] - ...\n * @param {Number} [speed] - ...\n * @returns {Boolean|undefined} - ...\n * @todo Must be documented.\n */\n Autoplay.prototype.play = function(timeout, speed) {\n // if tab is inactive - doesnt work in }\n */\n this._templates = [];\n\n /**\n * The carousel element.\n * @type {jQuery}\n */\n this.$element = this._core.$element;\n\n /**\n * Overridden methods of the carousel.\n * @protected\n * @type {Object}\n */\n this._overrides = {\n next: this._core.next,\n prev: this._core.prev,\n to: this._core.to\n };\n\n /**\n * All event handlers.\n * @protected\n * @type {Object}\n */\n this._handlers = {\n 'prepared.owl.carousel': $.proxy(function(e) {\n if (this._core.settings.dotsData) {\n this._templates.push($(e.content).find('[data-dot]').andSelf('[data-dot]').attr('data-dot'));\n }\n }, this),\n 'add.owl.carousel': $.proxy(function(e) {\n if (this._core.settings.dotsData) {\n this._templates.splice(e.position, 0, $(e.content).find('[data-dot]').andSelf('[data-dot]').attr('data-dot'));\n }\n }, this),\n 'remove.owl.carousel prepared.owl.carousel': $.proxy(function(e) {\n if (this._core.settings.dotsData) {\n this._templates.splice(e.position, 1);\n }\n }, this),\n 'change.owl.carousel': $.proxy(function(e) {\n if (e.property.name == 'position') {\n if (!this._core.state.revert && !this._core.settings.loop && this._core.settings.navRewind) {\n var current = this._core.current(),\n maximum = this._core.maximum(),\n minimum = this._core.minimum();\n e.data = e.property.value > maximum\n ? current >= maximum ? minimum : maximum\n : e.property.value < minimum ? maximum : e.property.value;\n }\n }\n }, this),\n 'changed.owl.carousel': $.proxy(function(e) {\n if (e.property.name == 'position') {\n this.draw();\n }\n }, this),\n 'refreshed.owl.carousel': $.proxy(function() {\n if (!this._initialized) {\n this.initialize();\n this._initialized = true;\n }\n this._core.trigger('refresh', null, 'navigation');\n this.update();\n this.draw();\n this._core.trigger('refreshed', null, 'navigation');\n }, this)\n };\n\n // set default options\n this._core.options = $.extend({}, Navigation.Defaults, this._core.options);\n\n // register event handlers\n this.$element.on(this._handlers);\n }\n\n /**\n * Default options.\n * @public\n * @todo Rename `slideBy` to `navBy`\n */\n Navigation.Defaults = {\n nav: false,\n navRewind: true,\n navText: [ 'prev', 'next' ],\n navSpeed: false,\n navElement: 'div',\n navContainer: false,\n navContainerClass: 'owl-nav',\n navClass: [ 'owl-prev', 'owl-next' ],\n slideBy: 1,\n dotClass: 'owl-dot',\n dotsClass: 'owl-dots',\n dots: true,\n dotsEach: false,\n dotData: false,\n dotsSpeed: false,\n dotsContainer: false,\n controlsClass: 'owl-controls'\n }\n\n /**\n * Initializes the layout of the plugin and extends the carousel.\n * @protected\n */\n Navigation.prototype.initialize = function() {\n var $container, override,\n options = this._core.settings;\n\n // create the indicator template\n if (!options.dotsData) {\n this._templates = [ $('
')\n .addClass(options.dotClass)\n .append($(''))\n .prop('outerHTML') ];\n }\n\n // create controls container if needed\n if (!options.navContainer || !options.dotsContainer) {\n this._controls.$container = $('
')\n .addClass(options.controlsClass)\n .appendTo(this.$element);\n }\n\n // create DOM structure for absolute navigation\n this._controls.$indicators = options.dotsContainer ? $(options.dotsContainer)\n : $('
').hide().addClass(options.dotsClass).appendTo(this._controls.$container);\n\n this._controls.$indicators.on('click', 'div', $.proxy(function(e) {\n var index = $(e.target).parent().is(this._controls.$indicators)\n ? $(e.target).index() : $(e.target).parent().index();\n\n e.preventDefault();\n\n this.to(index, options.dotsSpeed);\n }, this));\n\n // create DOM structure for relative navigation\n $container = options.navContainer ? $(options.navContainer)\n : $('
').addClass(options.navContainerClass).prependTo(this._controls.$container);\n\n this._controls.$next = $('<' + options.navElement + '>');\n this._controls.$previous = this._controls.$next.clone();\n\n this._controls.$previous\n .addClass(options.navClass[0])\n .html(options.navText[0])\n .hide()\n .prependTo($container)\n .on('click', $.proxy(function(e) {\n this.prev(options.navSpeed);\n }, this));\n this._controls.$next\n .addClass(options.navClass[1])\n .html(options.navText[1])\n .hide()\n .appendTo($container)\n .on('click', $.proxy(function(e) {\n this.next(options.navSpeed);\n }, this));\n\n // override public methods of the carousel\n for (override in this._overrides) {\n this._core[override] = $.proxy(this[override], this);\n }\n }\n\n /**\n * Destroys the plugin.\n * @protected\n */\n Navigation.prototype.destroy = function() {\n var handler, control, property, override;\n\n for (handler in this._handlers) {\n this.$element.off(handler, this._handlers[handler]);\n }\n for (control in this._controls) {\n this._controls[control].remove();\n }\n for (override in this.overides) {\n this._core[override] = this._overrides[override];\n }\n for (property in Object.getOwnPropertyNames(this)) {\n typeof this[property] != 'function' && (this[property] = null);\n }\n }\n\n /**\n * Updates the internal state.\n * @protected\n */\n Navigation.prototype.update = function() {\n var i, j, k,\n options = this._core.settings,\n lower = this._core.clones().length / 2,\n upper = lower + this._core.items().length,\n size = options.center || options.autoWidth || options.dotData\n ? 1 : options.dotsEach || options.items;\n\n if (options.slideBy !== 'page') {\n options.slideBy = Math.min(options.slideBy, options.items);\n }\n\n if (options.dots || options.slideBy == 'page') {\n this._pages = [];\n\n for (i = lower, j = 0, k = 0; i < upper; i++) {\n if (j >= size || j === 0) {\n this._pages.push({\n start: i - lower,\n end: i - lower + size - 1\n });\n j = 0, ++k;\n }\n j += this._core.mergers(this._core.relative(i));\n }\n }\n }\n\n /**\n * Draws the user interface.\n * @todo The option `dotData` wont work.\n * @protected\n */\n Navigation.prototype.draw = function() {\n var difference, i, html = '',\n options = this._core.settings,\n $items = this._core.$stage.children(),\n index = this._core.relative(this._core.current());\n\n if (options.nav && !options.loop && !options.navRewind) {\n this._controls.$previous.toggleClass('disabled', index <= 0);\n this._controls.$next.toggleClass('disabled', index >= this._core.maximum());\n }\n\n this._controls.$previous.toggle(options.nav);\n this._controls.$next.toggle(options.nav);\n\n if (options.dots) {\n difference = this._pages.length - this._controls.$indicators.children().length;\n\n if (options.dotData && difference !== 0) {\n for (i = 0; i < this._controls.$indicators.children().length; i++) {\n html += this._templates[this._core.relative(i)];\n }\n this._controls.$indicators.html(html);\n } else if (difference > 0) {\n html = new Array(difference + 1).join(this._templates[0]);\n this._controls.$indicators.append(html);\n } else if (difference < 0) {\n this._controls.$indicators.children().slice(difference).remove();\n }\n\n this._controls.$indicators.find('.active').removeClass('active');\n this._controls.$indicators.children().eq($.inArray(this.current(), this._pages)).addClass('active');\n }\n\n this._controls.$indicators.toggle(options.dots);\n }\n\n /**\n * Extends event data.\n * @protected\n * @param {Event} event - The event object which gets thrown.\n */\n Navigation.prototype.onTrigger = function(event) {\n var settings = this._core.settings;\n\n event.page = {\n index: $.inArray(this.current(), this._pages),\n count: this._pages.length,\n size: settings && (settings.center || settings.autoWidth || settings.dotData\n ? 1 : settings.dotsEach || settings.items)\n };\n }\n\n /**\n * Gets the current page position of the carousel.\n * @protected\n * @returns {Number}\n */\n Navigation.prototype.current = function() {\n var index = this._core.relative(this._core.current());\n return $.grep(this._pages, function(o) {\n return o.start <= index && o.end >= index;\n }).pop();\n }\n\n /**\n * Gets the current succesor/predecessor position.\n * @protected\n * @returns {Number}\n */\n Navigation.prototype.getPosition = function(successor) {\n var position, length,\n options = this._core.settings;\n\n if (options.slideBy == 'page') {\n position = $.inArray(this.current(), this._pages);\n length = this._pages.length;\n successor ? ++position : --position;\n position = this._pages[((position % length) + length) % length].start;\n } else {\n position = this._core.relative(this._core.current());\n length = this._core.items().length;\n successor ? position += options.slideBy : position -= options.slideBy;\n }\n return position;\n }\n\n /**\n * Slides to the next item or page.\n * @public\n * @param {Number} [speed=false] - The time in milliseconds for the transition.\n */\n Navigation.prototype.next = function(speed) {\n $.proxy(this._overrides.to, this._core)(this.getPosition(true), speed);\n }\n\n /**\n * Slides to the previous item or page.\n * @public\n * @param {Number} [speed=false] - The time in milliseconds for the transition.\n */\n Navigation.prototype.prev = function(speed) {\n $.proxy(this._overrides.to, this._core)(this.getPosition(false), speed);\n }\n\n /**\n * Slides to the specified item or page.\n * @public\n * @param {Number} position - The position of the item or page.\n * @param {Number} [speed] - The time in milliseconds for the transition.\n * @param {Boolean} [standard=false] - Whether to use the standard behaviour or not.\n */\n Navigation.prototype.to = function(position, speed, standard) {\n var length;\n\n if (!standard) {\n length = this._pages.length;\n $.proxy(this._overrides.to, this._core)(this._pages[((position % length) + length) % length].start, speed);\n } else {\n $.proxy(this._overrides.to, this._core)(position, speed);\n }\n }\n\n $.fn.owlCarousel.Constructor.Plugins.Navigation = Navigation;\n\n})(window.Zepto || window.jQuery, window, document);\n\n/**\n * Hash Plugin\n * @version 2.0.0\n * @author Artus Kolanowski\n * @license The MIT License (MIT)\n */\n;(function($, window, document, undefined) {\n 'use strict';\n\n /**\n * Creates the hash plugin.\n * @class The Hash Plugin\n * @param {Owl} carousel - The Owl Carousel\n */\n var Hash = function(carousel) {\n /**\n * Reference to the core.\n * @protected\n * @type {Owl}\n */\n this._core = carousel;\n\n /**\n * Hash table for the hashes.\n * @protected\n * @type {Object}\n */\n this._hashes = {};\n\n /**\n * The carousel element.\n * @type {jQuery}\n */\n this.$element = this._core.$element;\n\n /**\n * All event handlers.\n * @protected\n * @type {Object}\n */\n this._handlers = {\n 'initialized.owl.carousel': $.proxy(function() {\n if (this._core.settings.startPosition == 'URLHash') {\n $(window).trigger('hashchange.owl.navigation');\n }\n }, this),\n 'prepared.owl.carousel': $.proxy(function(e) {\n var hash = $(e.content).find('[data-hash]').andSelf('[data-hash]').attr('data-hash');\n this._hashes[hash] = e.content;\n }, this)\n };\n\n // set default options\n this._core.options = $.extend({}, Hash.Defaults, this._core.options);\n\n // register the event handlers\n this.$element.on(this._handlers);\n\n // register event listener for hash navigation\n $(window).on('hashchange.owl.navigation', $.proxy(function() {\n var hash = window.location.hash.substring(1),\n items = this._core.$stage.children(),\n position = this._hashes[hash] && items.index(this._hashes[hash]) || 0;\n\n if (!hash) {\n return false;\n }\n\n this._core.to(position, false, true);\n }, this));\n }\n\n /**\n * Default options.\n * @public\n */\n Hash.Defaults = {\n URLhashListener: false\n }\n\n /**\n * Destroys the plugin.\n * @public\n */\n Hash.prototype.destroy = function() {\n var handler, property;\n\n $(window).off('hashchange.owl.navigation');\n\n for (handler in this._handlers) {\n this._core.$element.off(handler, this._handlers[handler]);\n }\n for (property in Object.getOwnPropertyNames(this)) {\n typeof this[property] != 'function' && (this[property] = null);\n }\n }\n\n $.fn.owlCarousel.Constructor.Plugins.Hash = Hash;\n\n})(window.Zepto || window.jQuery, window, document);\n","// Underscore.js 1.4.4\r\n// ===================\r\n\r\n// > http://underscorejs.org\r\n// > (c) 2009-2013 Jeremy Ashkenas, DocumentCloud Inc.\r\n// > Underscore may be freely distributed under the MIT license.\r\n\r\n// Baseline setup\r\n// --------------\r\n(function() {\r\n\r\n // Establish the root object, `window` in the browser, or `global` on the server.\r\n var root = this;\r\n\r\n // Save the previous value of the `_` variable.\r\n var previousUnderscore = root._;\r\n\r\n // Establish the object that gets returned to break out of a loop iteration.\r\n var breaker = {};\r\n\r\n // Save bytes in the minified (but not gzipped) version:\r\n var ArrayProto = Array.prototype, ObjProto = Object.prototype, FuncProto = Function.prototype;\r\n\r\n // Create quick reference variables for speed access to core prototypes.\r\n var push = ArrayProto.push,\r\n slice = ArrayProto.slice,\r\n concat = ArrayProto.concat,\r\n toString = ObjProto.toString,\r\n hasOwnProperty = ObjProto.hasOwnProperty;\r\n\r\n // All **ECMAScript 5** native function implementations that we hope to use\r\n // are declared here.\r\n var\r\n nativeForEach = ArrayProto.forEach,\r\n nativeMap = ArrayProto.map,\r\n nativeReduce = ArrayProto.reduce,\r\n nativeReduceRight = ArrayProto.reduceRight,\r\n nativeFilter = ArrayProto.filter,\r\n nativeEvery = ArrayProto.every,\r\n nativeSome = ArrayProto.some,\r\n nativeIndexOf = ArrayProto.indexOf,\r\n nativeLastIndexOf = ArrayProto.lastIndexOf,\r\n nativeIsArray = Array.isArray,\r\n nativeKeys = Object.keys,\r\n nativeBind = FuncProto.bind;\r\n\r\n // Create a safe reference to the Underscore object for use below.\r\n var _ = function(obj) {\r\n if (obj instanceof _) return obj;\r\n if (!(this instanceof _)) return new _(obj);\r\n this._wrapped = obj;\r\n };\r\n\r\n // Export the Underscore object for **Node.js**, with\r\n // backwards-compatibility for the old `require()` API. If we're in\r\n // the browser, add `_` as a global object via a string identifier,\r\n // for Closure Compiler \"advanced\" mode.\r\n if (typeof exports !== 'undefined') {\r\n if (typeof module !== 'undefined' && module.exports) {\r\n exports = module.exports = _;\r\n }\r\n exports._ = _;\r\n } else {\r\n root._ = _;\r\n }\r\n\r\n // Current version.\r\n _.VERSION = '1.4.4';\r\n\r\n // Collection Functions\r\n // --------------------\r\n\r\n // The cornerstone, an `each` implementation, aka `forEach`.\r\n // Handles objects with the built-in `forEach`, arrays, and raw objects.\r\n // Delegates to **ECMAScript 5**'s native `forEach` if available.\r\n var each = _.each = _.forEach = function(obj, iterator, context) {\r\n if (obj == null) return;\r\n if (nativeForEach && obj.forEach === nativeForEach) {\r\n obj.forEach(iterator, context);\r\n } else if (obj.length === +obj.length) {\r\n for (var i = 0, l = obj.length; i < l; i++) {\r\n if (iterator.call(context, obj[i], i, obj) === breaker) return;\r\n }\r\n } else {\r\n for (var key in obj) {\r\n if (_.has(obj, key)) {\r\n if (iterator.call(context, obj[key], key, obj) === breaker) return;\r\n }\r\n }\r\n }\r\n };\r\n\r\n // Return the results of applying the iterator to each element.\r\n // Delegates to **ECMAScript 5**'s native `map` if available.\r\n _.map = _.collect = function(obj, iterator, context) {\r\n var results = [];\r\n if (obj == null) return results;\r\n if (nativeMap && obj.map === nativeMap) return obj.map(iterator, context);\r\n each(obj, function(value, index, list) {\r\n results[results.length] = iterator.call(context, value, index, list);\r\n });\r\n return results;\r\n };\r\n\r\n var reduceError = 'Reduce of empty array with no initial value';\r\n\r\n // **Reduce** builds up a single result from a list of values, aka `inject`,\r\n // or `foldl`. Delegates to **ECMAScript 5**'s native `reduce` if available.\r\n _.reduce = _.foldl = _.inject = function(obj, iterator, memo, context) {\r\n var initial = arguments.length > 2;\r\n if (obj == null) obj = [];\r\n if (nativeReduce && obj.reduce === nativeReduce) {\r\n if (context) iterator = _.bind(iterator, context);\r\n return initial ? obj.reduce(iterator, memo) : obj.reduce(iterator);\r\n }\r\n each(obj, function(value, index, list) {\r\n if (!initial) {\r\n memo = value;\r\n initial = true;\r\n } else {\r\n memo = iterator.call(context, memo, value, index, list);\r\n }\r\n });\r\n if (!initial) throw new TypeError(reduceError);\r\n return memo;\r\n };\r\n\r\n // The right-associative version of reduce, also known as `foldr`.\r\n // Delegates to **ECMAScript 5**'s native `reduceRight` if available.\r\n _.reduceRight = _.foldr = function(obj, iterator, memo, context) {\r\n var initial = arguments.length > 2;\r\n if (obj == null) obj = [];\r\n if (nativeReduceRight && obj.reduceRight === nativeReduceRight) {\r\n if (context) iterator = _.bind(iterator, context);\r\n return initial ? obj.reduceRight(iterator, memo) : obj.reduceRight(iterator);\r\n }\r\n var length = obj.length;\r\n if (length !== +length) {\r\n var keys = _.keys(obj);\r\n length = keys.length;\r\n }\r\n each(obj, function(value, index, list) {\r\n index = keys ? keys[--length] : --length;\r\n if (!initial) {\r\n memo = obj[index];\r\n initial = true;\r\n } else {\r\n memo = iterator.call(context, memo, obj[index], index, list);\r\n }\r\n });\r\n if (!initial) throw new TypeError(reduceError);\r\n return memo;\r\n };\r\n\r\n // Return the first value which passes a truth test. Aliased as `detect`.\r\n _.find = _.detect = function(obj, iterator, context) {\r\n var result;\r\n any(obj, function(value, index, list) {\r\n if (iterator.call(context, value, index, list)) {\r\n result = value;\r\n return true;\r\n }\r\n });\r\n return result;\r\n };\r\n\r\n // Return all the elements that pass a truth test.\r\n // Delegates to **ECMAScript 5**'s native `filter` if available.\r\n // Aliased as `select`.\r\n _.filter = _.select = function(obj, iterator, context) {\r\n var results = [];\r\n if (obj == null) return results;\r\n if (nativeFilter && obj.filter === nativeFilter) return obj.filter(iterator, context);\r\n each(obj, function(value, index, list) {\r\n if (iterator.call(context, value, index, list)) results[results.length] = value;\r\n });\r\n return results;\r\n };\r\n\r\n // Return all the elements for which a truth test fails.\r\n _.reject = function(obj, iterator, context) {\r\n return _.filter(obj, function(value, index, list) {\r\n return !iterator.call(context, value, index, list);\r\n }, context);\r\n };\r\n\r\n // Determine whether all of the elements match a truth test.\r\n // Delegates to **ECMAScript 5**'s native `every` if available.\r\n // Aliased as `all`.\r\n _.every = _.all = function(obj, iterator, context) {\r\n iterator || (iterator = _.identity);\r\n var result = true;\r\n if (obj == null) return result;\r\n if (nativeEvery && obj.every === nativeEvery) return obj.every(iterator, context);\r\n each(obj, function(value, index, list) {\r\n if (!(result = result && iterator.call(context, value, index, list))) return breaker;\r\n });\r\n return !!result;\r\n };\r\n\r\n // Determine if at least one element in the object matches a truth test.\r\n // Delegates to **ECMAScript 5**'s native `some` if available.\r\n // Aliased as `any`.\r\n var any = _.some = _.any = function(obj, iterator, context) {\r\n iterator || (iterator = _.identity);\r\n var result = false;\r\n if (obj == null) return result;\r\n if (nativeSome && obj.some === nativeSome) return obj.some(iterator, context);\r\n each(obj, function(value, index, list) {\r\n if (result || (result = iterator.call(context, value, index, list))) return breaker;\r\n });\r\n return !!result;\r\n };\r\n\r\n // Determine if the array or object contains a given value (using `===`).\r\n // Aliased as `include`.\r\n _.contains = _.include = function(obj, target) {\r\n if (obj == null) return false;\r\n if (nativeIndexOf && obj.indexOf === nativeIndexOf) return obj.indexOf(target) != -1;\r\n return any(obj, function(value) {\r\n return value === target;\r\n });\r\n };\r\n\r\n // Invoke a method (with arguments) on every item in a collection.\r\n _.invoke = function(obj, method) {\r\n var args = slice.call(arguments, 2);\r\n var isFunc = _.isFunction(method);\r\n return _.map(obj, function(value) {\r\n return (isFunc ? method : value[method]).apply(value, args);\r\n });\r\n };\r\n\r\n // Convenience version of a common use case of `map`: fetching a property.\r\n _.pluck = function(obj, key) {\r\n return _.map(obj, function(value){ return value[key]; });\r\n };\r\n\r\n // Convenience version of a common use case of `filter`: selecting only objects\r\n // containing specific `key:value` pairs.\r\n _.where = function(obj, attrs, first) {\r\n if (_.isEmpty(attrs)) return first ? null : [];\r\n return _[first ? 'find' : 'filter'](obj, function(value) {\r\n for (var key in attrs) {\r\n if (attrs[key] !== value[key]) return false;\r\n }\r\n return true;\r\n });\r\n };\r\n\r\n // Convenience version of a common use case of `find`: getting the first object\r\n // containing specific `key:value` pairs.\r\n _.findWhere = function(obj, attrs) {\r\n return _.where(obj, attrs, true);\r\n };\r\n\r\n // Return the maximum element or (element-based computation).\r\n // Can't optimize arrays of integers longer than 65,535 elements.\r\n // See: https://bugs.webkit.org/show_bug.cgi?id=80797\r\n _.max = function(obj, iterator, context) {\r\n if (!iterator && _.isArray(obj) && obj[0] === +obj[0] && obj.length < 65535) {\r\n return Math.max.apply(Math, obj);\r\n }\r\n if (!iterator && _.isEmpty(obj)) return -Infinity;\r\n var result = {computed : -Infinity, value: -Infinity};\r\n each(obj, function(value, index, list) {\r\n var computed = iterator ? iterator.call(context, value, index, list) : value;\r\n computed >= result.computed && (result = {value : value, computed : computed});\r\n });\r\n return result.value;\r\n };\r\n\r\n // Return the minimum element (or element-based computation).\r\n _.min = function(obj, iterator, context) {\r\n if (!iterator && _.isArray(obj) && obj[0] === +obj[0] && obj.length < 65535) {\r\n return Math.min.apply(Math, obj);\r\n }\r\n if (!iterator && _.isEmpty(obj)) return Infinity;\r\n var result = {computed : Infinity, value: Infinity};\r\n each(obj, function(value, index, list) {\r\n var computed = iterator ? iterator.call(context, value, index, list) : value;\r\n computed < result.computed && (result = {value : value, computed : computed});\r\n });\r\n return result.value;\r\n };\r\n\r\n // Shuffle an array.\r\n _.shuffle = function(obj) {\r\n var rand;\r\n var index = 0;\r\n var shuffled = [];\r\n each(obj, function(value) {\r\n rand = _.random(index++);\r\n shuffled[index - 1] = shuffled[rand];\r\n shuffled[rand] = value;\r\n });\r\n return shuffled;\r\n };\r\n\r\n // An internal function to generate lookup iterators.\r\n var lookupIterator = function(value) {\r\n return _.isFunction(value) ? value : function(obj){ return obj[value]; };\r\n };\r\n\r\n // Sort the object's values by a criterion produced by an iterator.\r\n _.sortBy = function(obj, value, context) {\r\n var iterator = lookupIterator(value);\r\n return _.pluck(_.map(obj, function(value, index, list) {\r\n return {\r\n value : value,\r\n index : index,\r\n criteria : iterator.call(context, value, index, list)\r\n };\r\n }).sort(function(left, right) {\r\n var a = left.criteria;\r\n var b = right.criteria;\r\n if (a !== b) {\r\n if (a > b || a === void 0) return 1;\r\n if (a < b || b === void 0) return -1;\r\n }\r\n return left.index < right.index ? -1 : 1;\r\n }), 'value');\r\n };\r\n\r\n // An internal function used for aggregate \"group by\" operations.\r\n var group = function(obj, value, context, behavior) {\r\n var result = {};\r\n var iterator = lookupIterator(value || _.identity);\r\n each(obj, function(value, index) {\r\n var key = iterator.call(context, value, index, obj);\r\n behavior(result, key, value);\r\n });\r\n return result;\r\n };\r\n\r\n // Groups the object's values by a criterion. Pass either a string attribute\r\n // to group by, or a function that returns the criterion.\r\n _.groupBy = function(obj, value, context) {\r\n return group(obj, value, context, function(result, key, value) {\r\n (_.has(result, key) ? result[key] : (result[key] = [])).push(value);\r\n });\r\n };\r\n\r\n // Counts instances of an object that group by a certain criterion. Pass\r\n // either a string attribute to count by, or a function that returns the\r\n // criterion.\r\n _.countBy = function(obj, value, context) {\r\n return group(obj, value, context, function(result, key) {\r\n if (!_.has(result, key)) result[key] = 0;\r\n result[key]++;\r\n });\r\n };\r\n\r\n // Use a comparator function to figure out the smallest index at which\r\n // an object should be inserted so as to maintain order. Uses binary search.\r\n _.sortedIndex = function(array, obj, iterator, context) {\r\n iterator = iterator == null ? _.identity : lookupIterator(iterator);\r\n var value = iterator.call(context, obj);\r\n var low = 0, high = array.length;\r\n while (low < high) {\r\n var mid = (low + high) >>> 1;\r\n iterator.call(context, array[mid]) < value ? low = mid + 1 : high = mid;\r\n }\r\n return low;\r\n };\r\n\r\n // Safely convert anything iterable into a real, live array.\r\n _.toArray = function(obj) {\r\n if (!obj) return [];\r\n if (_.isArray(obj)) return slice.call(obj);\r\n if (obj.length === +obj.length) return _.map(obj, _.identity);\r\n return _.values(obj);\r\n };\r\n\r\n // Return the number of elements in an object.\r\n _.size = function(obj) {\r\n if (obj == null) return 0;\r\n return (obj.length === +obj.length) ? obj.length : _.keys(obj).length;\r\n };\r\n\r\n // Array Functions\r\n // ---------------\r\n\r\n // Get the first element of an array. Passing **n** will return the first N\r\n // values in the array. Aliased as `head` and `take`. The **guard** check\r\n // allows it to work with `_.map`.\r\n _.first = _.head = _.take = function(array, n, guard) {\r\n if (array == null) return void 0;\r\n return (n != null) && !guard ? slice.call(array, 0, n) : array[0];\r\n };\r\n\r\n // Returns everything but the last entry of the array. Especially useful on\r\n // the arguments object. Passing **n** will return all the values in\r\n // the array, excluding the last N. The **guard** check allows it to work with\r\n // `_.map`.\r\n _.initial = function(array, n, guard) {\r\n return slice.call(array, 0, array.length - ((n == null) || guard ? 1 : n));\r\n };\r\n\r\n // Get the last element of an array. Passing **n** will return the last N\r\n // values in the array. The **guard** check allows it to work with `_.map`.\r\n _.last = function(array, n, guard) {\r\n if (array == null) return void 0;\r\n if ((n != null) && !guard) {\r\n return slice.call(array, Math.max(array.length - n, 0));\r\n } else {\r\n return array[array.length - 1];\r\n }\r\n };\r\n\r\n // Returns everything but the first entry of the array. Aliased as `tail` and `drop`.\r\n // Especially useful on the arguments object. Passing an **n** will return\r\n // the rest N values in the array. The **guard**\r\n // check allows it to work with `_.map`.\r\n _.rest = _.tail = _.drop = function(array, n, guard) {\r\n return slice.call(array, (n == null) || guard ? 1 : n);\r\n };\r\n\r\n // Trim out all falsy values from an array.\r\n _.compact = function(array) {\r\n return _.filter(array, _.identity);\r\n };\r\n\r\n // Internal implementation of a recursive `flatten` function.\r\n var flatten = function(input, shallow, output) {\r\n each(input, function(value) {\r\n if (_.isArray(value)) {\r\n shallow ? push.apply(output, value) : flatten(value, shallow, output);\r\n } else {\r\n output.push(value);\r\n }\r\n });\r\n return output;\r\n };\r\n\r\n // Return a completely flattened version of an array.\r\n _.flatten = function(array, shallow) {\r\n return flatten(array, shallow, []);\r\n };\r\n\r\n // Return a version of the array that does not contain the specified value(s).\r\n _.without = function(array) {\r\n return _.difference(array, slice.call(arguments, 1));\r\n };\r\n\r\n // Produce a duplicate-free version of the array. If the array has already\r\n // been sorted, you have the option of using a faster algorithm.\r\n // Aliased as `unique`.\r\n _.uniq = _.unique = function(array, isSorted, iterator, context) {\r\n if (_.isFunction(isSorted)) {\r\n context = iterator;\r\n iterator = isSorted;\r\n isSorted = false;\r\n }\r\n var initial = iterator ? _.map(array, iterator, context) : array;\r\n var results = [];\r\n var seen = [];\r\n each(initial, function(value, index) {\r\n if (isSorted ? (!index || seen[seen.length - 1] !== value) : !_.contains(seen, value)) {\r\n seen.push(value);\r\n results.push(array[index]);\r\n }\r\n });\r\n return results;\r\n };\r\n\r\n // Produce an array that contains the union: each distinct element from all of\r\n // the passed-in arrays.\r\n _.union = function() {\r\n return _.uniq(concat.apply(ArrayProto, arguments));\r\n };\r\n\r\n // Produce an array that contains every item shared between all the\r\n // passed-in arrays.\r\n _.intersection = function(array) {\r\n var rest = slice.call(arguments, 1);\r\n return _.filter(_.uniq(array), function(item) {\r\n return _.every(rest, function(other) {\r\n return _.indexOf(other, item) >= 0;\r\n });\r\n });\r\n };\r\n\r\n // Take the difference between one array and a number of other arrays.\r\n // Only the elements present in just the first array will remain.\r\n _.difference = function(array) {\r\n var rest = concat.apply(ArrayProto, slice.call(arguments, 1));\r\n return _.filter(array, function(value){ return !_.contains(rest, value); });\r\n };\r\n\r\n // Zip together multiple lists into a single array -- elements that share\r\n // an index go together.\r\n _.zip = function() {\r\n var args = slice.call(arguments);\r\n var length = _.max(_.pluck(args, 'length'));\r\n var results = new Array(length);\r\n for (var i = 0; i < length; i++) {\r\n results[i] = _.pluck(args, \"\" + i);\r\n }\r\n return results;\r\n };\r\n\r\n // Converts lists into objects. Pass either a single array of `[key, value]`\r\n // pairs, or two parallel arrays of the same length -- one of keys, and one of\r\n // the corresponding values.\r\n _.object = function(list, values) {\r\n if (list == null) return {};\r\n var result = {};\r\n for (var i = 0, l = list.length; i < l; i++) {\r\n if (values) {\r\n result[list[i]] = values[i];\r\n } else {\r\n result[list[i][0]] = list[i][1];\r\n }\r\n }\r\n return result;\r\n };\r\n\r\n // If the browser doesn't supply us with indexOf (I'm looking at you, **MSIE**),\r\n // we need this function. Return the position of the first occurrence of an\r\n // item in an array, or -1 if the item is not included in the array.\r\n // Delegates to **ECMAScript 5**'s native `indexOf` if available.\r\n // If the array is large and already in sort order, pass `true`\r\n // for **isSorted** to use binary search.\r\n _.indexOf = function(array, item, isSorted) {\r\n if (array == null) return -1;\r\n var i = 0, l = array.length;\r\n if (isSorted) {\r\n if (typeof isSorted == 'number') {\r\n i = (isSorted < 0 ? Math.max(0, l + isSorted) : isSorted);\r\n } else {\r\n i = _.sortedIndex(array, item);\r\n return array[i] === item ? i : -1;\r\n }\r\n }\r\n if (nativeIndexOf && array.indexOf === nativeIndexOf) return array.indexOf(item, isSorted);\r\n for (; i < l; i++) if (array[i] === item) return i;\r\n return -1;\r\n };\r\n\r\n // Delegates to **ECMAScript 5**'s native `lastIndexOf` if available.\r\n _.lastIndexOf = function(array, item, from) {\r\n if (array == null) return -1;\r\n var hasIndex = from != null;\r\n if (nativeLastIndexOf && array.lastIndexOf === nativeLastIndexOf) {\r\n return hasIndex ? array.lastIndexOf(item, from) : array.lastIndexOf(item);\r\n }\r\n var i = (hasIndex ? from : array.length);\r\n while (i--) if (array[i] === item) return i;\r\n return -1;\r\n };\r\n\r\n // Generate an integer Array containing an arithmetic progression. A port of\r\n // the native Python `range()` function. See\r\n // [the Python documentation](http://docs.python.org/library/functions.html#range).\r\n _.range = function(start, stop, step) {\r\n if (arguments.length <= 1) {\r\n stop = start || 0;\r\n start = 0;\r\n }\r\n step = arguments[2] || 1;\r\n\r\n var len = Math.max(Math.ceil((stop - start) / step), 0);\r\n var idx = 0;\r\n var range = new Array(len);\r\n\r\n while(idx < len) {\r\n range[idx++] = start;\r\n start += step;\r\n }\r\n\r\n return range;\r\n };\r\n\r\n // Function (ahem) Functions\r\n // ------------------\r\n\r\n // Create a function bound to a given object (assigning `this`, and arguments,\r\n // optionally). Delegates to **ECMAScript 5**'s native `Function.bind` if\r\n // available.\r\n _.bind = function(func, context) {\r\n if (func.bind === nativeBind && nativeBind) return nativeBind.apply(func, slice.call(arguments, 1));\r\n var args = slice.call(arguments, 2);\r\n return function() {\r\n return func.apply(context, args.concat(slice.call(arguments)));\r\n };\r\n };\r\n\r\n // Partially apply a function by creating a version that has had some of its\r\n // arguments pre-filled, without changing its dynamic `this` context.\r\n _.partial = function(func) {\r\n var args = slice.call(arguments, 1);\r\n return function() {\r\n return func.apply(this, args.concat(slice.call(arguments)));\r\n };\r\n };\r\n\r\n // Bind all of an object's methods to that object. Useful for ensuring that\r\n // all callbacks defined on an object belong to it.\r\n _.bindAll = function(obj) {\r\n var funcs = slice.call(arguments, 1);\r\n if (funcs.length === 0) funcs = _.functions(obj);\r\n each(funcs, function(f) { obj[f] = _.bind(obj[f], obj); });\r\n return obj;\r\n };\r\n\r\n // Memoize an expensive function by storing its results.\r\n _.memoize = function(func, hasher) {\r\n var memo = {};\r\n hasher || (hasher = _.identity);\r\n return function() {\r\n var key = hasher.apply(this, arguments);\r\n return _.has(memo, key) ? memo[key] : (memo[key] = func.apply(this, arguments));\r\n };\r\n };\r\n\r\n // Delays a function for the given number of milliseconds, and then calls\r\n // it with the arguments supplied.\r\n _.delay = function(func, wait) {\r\n var args = slice.call(arguments, 2);\r\n return setTimeout(function(){ return func.apply(null, args); }, wait);\r\n };\r\n\r\n // Defers a function, scheduling it to run after the current call stack has\r\n // cleared.\r\n _.defer = function(func) {\r\n return _.delay.apply(_, [func, 1].concat(slice.call(arguments, 1)));\r\n };\r\n\r\n // Returns a function, that, when invoked, will only be triggered at most once\r\n // during a given window of time.\r\n _.throttle = function(func, wait) {\r\n var context, args, timeout, result;\r\n var previous = 0;\r\n var later = function() {\r\n previous = new Date;\r\n timeout = null;\r\n result = func.apply(context, args);\r\n };\r\n return function() {\r\n var now = new Date;\r\n var remaining = wait - (now - previous);\r\n context = this;\r\n args = arguments;\r\n if (remaining <= 0) {\r\n clearTimeout(timeout);\r\n timeout = null;\r\n previous = now;\r\n result = func.apply(context, args);\r\n } else if (!timeout) {\r\n timeout = setTimeout(later, remaining);\r\n }\r\n return result;\r\n };\r\n };\r\n\r\n // Returns a function, that, as long as it continues to be invoked, will not\r\n // be triggered. The function will be called after it stops being called for\r\n // N milliseconds. If `immediate` is passed, trigger the function on the\r\n // leading edge, instead of the trailing.\r\n _.debounce = function(func, wait, immediate) {\r\n var timeout, result;\r\n return function() {\r\n var context = this, args = arguments;\r\n var later = function() {\r\n timeout = null;\r\n if (!immediate) result = func.apply(context, args);\r\n };\r\n var callNow = immediate && !timeout;\r\n clearTimeout(timeout);\r\n timeout = setTimeout(later, wait);\r\n if (callNow) result = func.apply(context, args);\r\n return result;\r\n };\r\n };\r\n\r\n // Returns a function that will be executed at most one time, no matter how\r\n // often you call it. Useful for lazy initialization.\r\n _.once = function(func) {\r\n var ran = false, memo;\r\n return function() {\r\n if (ran) return memo;\r\n ran = true;\r\n memo = func.apply(this, arguments);\r\n func = null;\r\n return memo;\r\n };\r\n };\r\n\r\n // Returns the first function passed as an argument to the second,\r\n // allowing you to adjust arguments, run code before and after, and\r\n // conditionally execute the original function.\r\n _.wrap = function(func, wrapper) {\r\n return function() {\r\n var args = [func];\r\n push.apply(args, arguments);\r\n return wrapper.apply(this, args);\r\n };\r\n };\r\n\r\n // Returns a function that is the composition of a list of functions, each\r\n // consuming the return value of the function that follows.\r\n _.compose = function() {\r\n var funcs = arguments;\r\n return function() {\r\n var args = arguments;\r\n for (var i = funcs.length - 1; i >= 0; i--) {\r\n args = [funcs[i].apply(this, args)];\r\n }\r\n return args[0];\r\n };\r\n };\r\n\r\n // Returns a function that will only be executed after being called N times.\r\n _.after = function(times, func) {\r\n if (times <= 0) return func();\r\n return function() {\r\n if (--times < 1) {\r\n return func.apply(this, arguments);\r\n }\r\n };\r\n };\r\n\r\n // Object Functions\r\n // ----------------\r\n\r\n // Retrieve the names of an object's properties.\r\n // Delegates to **ECMAScript 5**'s native `Object.keys`\r\n _.keys = nativeKeys || function(obj) {\r\n if (obj !== Object(obj)) throw new TypeError('Invalid object');\r\n var keys = [];\r\n for (var key in obj) if (_.has(obj, key)) keys[keys.length] = key;\r\n return keys;\r\n };\r\n\r\n // Retrieve the values of an object's properties.\r\n _.values = function(obj) {\r\n var values = [];\r\n for (var key in obj) if (_.has(obj, key)) values.push(obj[key]);\r\n return values;\r\n };\r\n\r\n // Convert an object into a list of `[key, value]` pairs.\r\n _.pairs = function(obj) {\r\n var pairs = [];\r\n for (var key in obj) if (_.has(obj, key)) pairs.push([key, obj[key]]);\r\n return pairs;\r\n };\r\n\r\n // Invert the keys and values of an object. The values must be serializable.\r\n _.invert = function(obj) {\r\n var result = {};\r\n for (var key in obj) if (_.has(obj, key)) result[obj[key]] = key;\r\n return result;\r\n };\r\n\r\n // Return a sorted list of the function names available on the object.\r\n // Aliased as `methods`\r\n _.functions = _.methods = function(obj) {\r\n var names = [];\r\n for (var key in obj) {\r\n if (_.isFunction(obj[key])) names.push(key);\r\n }\r\n return names.sort();\r\n };\r\n\r\n // Extend a given object with all the properties in passed-in object(s).\r\n _.extend = function(obj) {\r\n each(slice.call(arguments, 1), function(source) {\r\n if (source) {\r\n for (var prop in source) {\r\n obj[prop] = source[prop];\r\n }\r\n }\r\n });\r\n return obj;\r\n };\r\n\r\n // Return a copy of the object only containing the whitelisted properties.\r\n _.pick = function(obj) {\r\n var copy = {};\r\n var keys = concat.apply(ArrayProto, slice.call(arguments, 1));\r\n each(keys, function(key) {\r\n if (key in obj) copy[key] = obj[key];\r\n });\r\n return copy;\r\n };\r\n\r\n // Return a copy of the object without the blacklisted properties.\r\n _.omit = function(obj) {\r\n var copy = {};\r\n var keys = concat.apply(ArrayProto, slice.call(arguments, 1));\r\n for (var key in obj) {\r\n if (!_.contains(keys, key)) copy[key] = obj[key];\r\n }\r\n return copy;\r\n };\r\n\r\n // Fill in a given object with default properties.\r\n _.defaults = function(obj) {\r\n each(slice.call(arguments, 1), function(source) {\r\n if (source) {\r\n for (var prop in source) {\r\n if (obj[prop] == null) obj[prop] = source[prop];\r\n }\r\n }\r\n });\r\n return obj;\r\n };\r\n\r\n // Create a (shallow-cloned) duplicate of an object.\r\n _.clone = function(obj) {\r\n if (!_.isObject(obj)) return obj;\r\n return _.isArray(obj) ? obj.slice() : _.extend({}, obj);\r\n };\r\n\r\n // Invokes interceptor with the obj, and then returns obj.\r\n // The primary purpose of this method is to \"tap into\" a method chain, in\r\n // order to perform operations on intermediate results within the chain.\r\n _.tap = function(obj, interceptor) {\r\n interceptor(obj);\r\n return obj;\r\n };\r\n\r\n // Internal recursive comparison function for `isEqual`.\r\n var eq = function(a, b, aStack, bStack) {\r\n // Identical objects are equal. `0 === -0`, but they aren't identical.\r\n // See the Harmony `egal` proposal: http://wiki.ecmascript.org/doku.php?id=harmony:egal.\r\n if (a === b) return a !== 0 || 1 / a == 1 / b;\r\n // A strict comparison is necessary because `null == undefined`.\r\n if (a == null || b == null) return a === b;\r\n // Unwrap any wrapped objects.\r\n if (a instanceof _) a = a._wrapped;\r\n if (b instanceof _) b = b._wrapped;\r\n // Compare `[[Class]]` names.\r\n var className = toString.call(a);\r\n if (className != toString.call(b)) return false;\r\n switch (className) {\r\n // Strings, numbers, dates, and booleans are compared by value.\r\n case '[object String]':\r\n // Primitives and their corresponding object wrappers are equivalent; thus, `\"5\"` is\r\n // equivalent to `new String(\"5\")`.\r\n return a == String(b);\r\n case '[object Number]':\r\n // `NaN`s are equivalent, but non-reflexive. An `egal` comparison is performed for\r\n // other numeric values.\r\n return a != +a ? b != +b : (a == 0 ? 1 / a == 1 / b : a == +b);\r\n case '[object Date]':\r\n case '[object Boolean]':\r\n // Coerce dates and booleans to numeric primitive values. Dates are compared by their\r\n // millisecond representations. Note that invalid dates with millisecond representations\r\n // of `NaN` are not equivalent.\r\n return +a == +b;\r\n // RegExps are compared by their source patterns and flags.\r\n case '[object RegExp]':\r\n return a.source == b.source &&\r\n a.global == b.global &&\r\n a.multiline == b.multiline &&\r\n a.ignoreCase == b.ignoreCase;\r\n }\r\n if (typeof a != 'object' || typeof b != 'object') return false;\r\n // Assume equality for cyclic structures. The algorithm for detecting cyclic\r\n // structures is adapted from ES 5.1 section 15.12.3, abstract operation `JO`.\r\n var length = aStack.length;\r\n while (length--) {\r\n // Linear search. Performance is inversely proportional to the number of\r\n // unique nested structures.\r\n if (aStack[length] == a) return bStack[length] == b;\r\n }\r\n // Add the first object to the stack of traversed objects.\r\n aStack.push(a);\r\n bStack.push(b);\r\n var size = 0, result = true;\r\n // Recursively compare objects and arrays.\r\n if (className == '[object Array]') {\r\n // Compare array lengths to determine if a deep comparison is necessary.\r\n size = a.length;\r\n result = size == b.length;\r\n if (result) {\r\n // Deep compare the contents, ignoring non-numeric properties.\r\n while (size--) {\r\n if (!(result = eq(a[size], b[size], aStack, bStack))) break;\r\n }\r\n }\r\n } else {\r\n // Objects with different constructors are not equivalent, but `Object`s\r\n // from different frames are.\r\n var aCtor = a.constructor, bCtor = b.constructor;\r\n if (aCtor !== bCtor && !(_.isFunction(aCtor) && (aCtor instanceof aCtor) &&\r\n _.isFunction(bCtor) && (bCtor instanceof bCtor))) {\r\n return false;\r\n }\r\n // Deep compare objects.\r\n for (var key in a) {\r\n if (_.has(a, key)) {\r\n // Count the expected number of properties.\r\n size++;\r\n // Deep compare each member.\r\n if (!(result = _.has(b, key) && eq(a[key], b[key], aStack, bStack))) break;\r\n }\r\n }\r\n // Ensure that both objects contain the same number of properties.\r\n if (result) {\r\n for (key in b) {\r\n if (_.has(b, key) && !(size--)) break;\r\n }\r\n result = !size;\r\n }\r\n }\r\n // Remove the first object from the stack of traversed objects.\r\n aStack.pop();\r\n bStack.pop();\r\n return result;\r\n };\r\n\r\n // Perform a deep comparison to check if two objects are equal.\r\n _.isEqual = function(a, b) {\r\n return eq(a, b, [], []);\r\n };\r\n\r\n // Is a given array, string, or object empty?\r\n // An \"empty\" object has no enumerable own-properties.\r\n _.isEmpty = function(obj) {\r\n if (obj == null) return true;\r\n if (_.isArray(obj) || _.isString(obj)) return obj.length === 0;\r\n for (var key in obj) if (_.has(obj, key)) return false;\r\n return true;\r\n };\r\n\r\n // Is a given value a DOM element?\r\n _.isElement = function(obj) {\r\n return !!(obj && obj.nodeType === 1);\r\n };\r\n\r\n // Is a given value an array?\r\n // Delegates to ECMA5's native Array.isArray\r\n _.isArray = nativeIsArray || function(obj) {\r\n return toString.call(obj) == '[object Array]';\r\n };\r\n\r\n // Is a given variable an object?\r\n _.isObject = function(obj) {\r\n return obj === Object(obj);\r\n };\r\n\r\n // Add some isType methods: isArguments, isFunction, isString, isNumber, isDate, isRegExp.\r\n each(['Arguments', 'Function', 'String', 'Number', 'Date', 'RegExp'], function(name) {\r\n _['is' + name] = function(obj) {\r\n return toString.call(obj) == '[object ' + name + ']';\r\n };\r\n });\r\n\r\n // Define a fallback version of the method in browsers (ahem, IE), where\r\n // there isn't any inspectable \"Arguments\" type.\r\n if (!_.isArguments(arguments)) {\r\n _.isArguments = function(obj) {\r\n return !!(obj && _.has(obj, 'callee'));\r\n };\r\n }\r\n\r\n // Optimize `isFunction` if appropriate.\r\n if (typeof (/./) !== 'function') {\r\n _.isFunction = function(obj) {\r\n return typeof obj === 'function';\r\n };\r\n }\r\n\r\n // Is a given object a finite number?\r\n _.isFinite = function(obj) {\r\n return isFinite(obj) && !isNaN(parseFloat(obj));\r\n };\r\n\r\n // Is the given value `NaN`? (NaN is the only number which does not equal itself).\r\n _.isNaN = function(obj) {\r\n return _.isNumber(obj) && obj != +obj;\r\n };\r\n\r\n // Is a given value a boolean?\r\n _.isBoolean = function(obj) {\r\n return obj === true || obj === false || toString.call(obj) == '[object Boolean]';\r\n };\r\n\r\n // Is a given value equal to null?\r\n _.isNull = function(obj) {\r\n return obj === null;\r\n };\r\n\r\n // Is a given variable undefined?\r\n _.isUndefined = function(obj) {\r\n return obj === void 0;\r\n };\r\n\r\n // Shortcut function for checking if an object has a given property directly\r\n // on itself (in other words, not on a prototype).\r\n _.has = function(obj, key) {\r\n return hasOwnProperty.call(obj, key);\r\n };\r\n\r\n // Utility Functions\r\n // -----------------\r\n\r\n // Run Underscore.js in *noConflict* mode, returning the `_` variable to its\r\n // previous owner. Returns a reference to the Underscore object.\r\n _.noConflict = function() {\r\n root._ = previousUnderscore;\r\n return this;\r\n };\r\n\r\n // Keep the identity function around for default iterators.\r\n _.identity = function(value) {\r\n return value;\r\n };\r\n\r\n // Run a function **n** times.\r\n _.times = function(n, iterator, context) {\r\n var accum = Array(n);\r\n for (var i = 0; i < n; i++) accum[i] = iterator.call(context, i);\r\n return accum;\r\n };\r\n\r\n // Return a random integer between min and max (inclusive).\r\n _.random = function(min, max) {\r\n if (max == null) {\r\n max = min;\r\n min = 0;\r\n }\r\n return min + Math.floor(Math.random() * (max - min + 1));\r\n };\r\n\r\n // List of HTML entities for escaping.\r\n var entityMap = {\r\n escape: {\r\n '&': '&',\r\n '<': '<',\r\n '>': '>',\r\n '\"': '"',\r\n \"'\": ''',\r\n '/': '/'\r\n }\r\n };\r\n entityMap.unescape = _.invert(entityMap.escape);\r\n\r\n // Regexes containing the keys and values listed immediately above.\r\n var entityRegexes = {\r\n escape: new RegExp('[' + _.keys(entityMap.escape).join('') + ']', 'g'),\r\n unescape: new RegExp('(' + _.keys(entityMap.unescape).join('|') + ')', 'g')\r\n };\r\n\r\n // Functions for escaping and unescaping strings to/from HTML interpolation.\r\n _.each(['escape', 'unescape'], function(method) {\r\n _[method] = function(string) {\r\n if (string == null) return '';\r\n return ('' + string).replace(entityRegexes[method], function(match) {\r\n return entityMap[method][match];\r\n });\r\n };\r\n });\r\n\r\n // If the value of the named property is a function then invoke it;\r\n // otherwise, return it.\r\n _.result = function(object, property) {\r\n if (object == null) return null;\r\n var value = object[property];\r\n return _.isFunction(value) ? value.call(object) : value;\r\n };\r\n\r\n // Add your own custom functions to the Underscore object.\r\n _.mixin = function(obj) {\r\n each(_.functions(obj), function(name){\r\n var func = _[name] = obj[name];\r\n _.prototype[name] = function() {\r\n var args = [this._wrapped];\r\n push.apply(args, arguments);\r\n return result.call(this, func.apply(_, args));\r\n };\r\n });\r\n };\r\n\r\n // Generate a unique integer id (unique within the entire client session).\r\n // Useful for temporary DOM ids.\r\n var idCounter = 0;\r\n _.uniqueId = function(prefix) {\r\n var id = ++idCounter + '';\r\n return prefix ? prefix + id : id;\r\n };\r\n\r\n // By default, Underscore uses ERB-style template delimiters, change the\r\n // following template settings to use alternative delimiters.\r\n _.templateSettings = {\r\n evaluate : /<%([\\s\\S]+?)%>/g,\r\n interpolate : /<%=([\\s\\S]+?)%>/g,\r\n escape : /<%-([\\s\\S]+?)%>/g\r\n };\r\n\r\n // When customizing `templateSettings`, if you don't want to define an\r\n // interpolation, evaluation or escaping regex, we need one that is\r\n // guaranteed not to match.\r\n var noMatch = /(.)^/;\r\n\r\n // Certain characters need to be escaped so that they can be put into a\r\n // string literal.\r\n var escapes = {\r\n \"'\": \"'\",\r\n '\\\\': '\\\\',\r\n '\\r': 'r',\r\n '\\n': 'n',\r\n '\\t': 't',\r\n '\\u2028': 'u2028',\r\n '\\u2029': 'u2029'\r\n };\r\n\r\n var escaper = /\\\\|'|\\r|\\n|\\t|\\u2028|\\u2029/g;\r\n\r\n // JavaScript micro-templating, similar to John Resig's implementation.\r\n // Underscore templating handles arbitrary delimiters, preserves whitespace,\r\n // and correctly escapes quotes within interpolated code.\r\n _.template = function(text, data, settings) {\r\n var render;\r\n settings = _.defaults({}, settings, _.templateSettings);\r\n\r\n // Combine delimiters into one regular expression via alternation.\r\n var matcher = new RegExp([\r\n (settings.escape || noMatch).source,\r\n (settings.interpolate || noMatch).source,\r\n (settings.evaluate || noMatch).source\r\n ].join('|') + '|$', 'g');\r\n\r\n // Compile the template source, escaping string literals appropriately.\r\n var index = 0;\r\n var source = \"__p+='\";\r\n text.replace(matcher, function(match, escape, interpolate, evaluate, offset) {\r\n source += text.slice(index, offset)\r\n .replace(escaper, function(match) { return '\\\\' + escapes[match]; });\r\n\r\n if (escape) {\r\n source += \"'+\\n((__t=(\" + escape + \"))==null?'':_.escape(__t))+\\n'\";\r\n }\r\n if (interpolate) {\r\n source += \"'+\\n((__t=(\" + interpolate + \"))==null?'':__t)+\\n'\";\r\n }\r\n if (evaluate) {\r\n source += \"';\\n\" + evaluate + \"\\n__p+='\";\r\n }\r\n index = offset + match.length;\r\n return match;\r\n });\r\n source += \"';\\n\";\r\n\r\n // If a variable is not specified, place data values in local scope.\r\n if (!settings.variable) source = 'with(obj||{}){\\n' + source + '}\\n';\r\n\r\n source = \"var __t,__p='',__j=Array.prototype.join,\" +\r\n \"print=function(){__p+=__j.call(arguments,'');};\\n\" +\r\n source + \"return __p;\\n\";\r\n\r\n try {\r\n render = new Function(settings.variable || 'obj', '_', source);\r\n } catch (e) {\r\n e.source = source;\r\n throw e;\r\n }\r\n\r\n if (data) return render(data, _);\r\n var template = function(data) {\r\n return render.call(this, data, _);\r\n };\r\n\r\n // Provide the compiled function source as a convenience for precompilation.\r\n template.source = 'function(' + (settings.variable || 'obj') + '){\\n' + source + '}';\r\n\r\n return template;\r\n };\r\n\r\n // Add a \"chain\" function, which will delegate to the wrapper.\r\n _.chain = function(obj) {\r\n return _(obj).chain();\r\n };\r\n\r\n // OOP\r\n // ---------------\r\n // If Underscore is called as a function, it returns a wrapped object that\r\n // can be used OO-style. This wrapper holds altered versions of all the\r\n // underscore functions. Wrapped objects may be chained.\r\n\r\n // Helper function to continue chaining intermediate results.\r\n var result = function(obj) {\r\n return this._chain ? _(obj).chain() : obj;\r\n };\r\n\r\n // Add all of the Underscore functions to the wrapper object.\r\n _.mixin(_);\r\n\r\n // Add all mutator Array functions to the wrapper.\r\n each(['pop', 'push', 'reverse', 'shift', 'sort', 'splice', 'unshift'], function(name) {\r\n var method = ArrayProto[name];\r\n _.prototype[name] = function() {\r\n var obj = this._wrapped;\r\n method.apply(obj, arguments);\r\n if ((name == 'shift' || name == 'splice') && obj.length === 0) delete obj[0];\r\n return result.call(this, obj);\r\n };\r\n });\r\n\r\n // Add all accessor Array functions to the wrapper.\r\n each(['concat', 'join', 'slice'], function(name) {\r\n var method = ArrayProto[name];\r\n _.prototype[name] = function() {\r\n return result.call(this, method.apply(this._wrapped, arguments));\r\n };\r\n });\r\n\r\n _.extend(_.prototype, {\r\n\r\n // Start chaining a wrapped Underscore object.\r\n chain: function() {\r\n this._chain = true;\r\n return this;\r\n },\r\n\r\n // Extracts the result from a wrapped and chained object.\r\n value: function() {\r\n return this._wrapped;\r\n }\r\n\r\n });\r\n\r\n}).call(this);\r\n\r\n//PLACEHOLDER\r\n/*! http://mths.be/placeholder v2.0.7 by @mathias */\r\n;(function(window, document, $) {\r\n\r\n\tvar isInputSupported = 'placeholder' in document.createElement('input'),\r\n\t isTextareaSupported = 'placeholder' in document.createElement('textarea'),\r\n\t prototype = $.fn,\r\n\t valHooks = $.valHooks,\r\n\t hooks,\r\n\t placeholder;\r\n\r\n\tif (isInputSupported && isTextareaSupported) {\r\n\r\n\t\tplaceholder = prototype.placeholder = function() {\r\n\t\t\treturn this;\r\n\t\t};\r\n\r\n\t\tplaceholder.input = placeholder.textarea = true;\r\n\r\n\t} else {\r\n\r\n\t\tplaceholder = prototype.placeholder = function() {\r\n\t\t\tvar $this = this;\r\n\t\t\t$this\r\n\t\t\t\t.filter((isInputSupported ? 'textarea' : ':input') + '[placeholder]')\r\n\t\t\t\t.not('.placeholder')\r\n\t\t\t\t.bind({\r\n\t\t\t\t\t'focus.placeholder': clearPlaceholder,\r\n\t\t\t\t\t'blur.placeholder': setPlaceholder\r\n\t\t\t\t})\r\n\t\t\t\t.data('placeholder-enabled', true)\r\n\t\t\t\t.trigger('blur.placeholder');\r\n\t\t\treturn $this;\r\n\t\t};\r\n\r\n\t\tplaceholder.input = isInputSupported;\r\n\t\tplaceholder.textarea = isTextareaSupported;\r\n\r\n\t\thooks = {\r\n\t\t\t'get': function(element) {\r\n\t\t\t\tvar $element = $(element);\r\n\t\t\t\treturn $element.data('placeholder-enabled') && $element.hasClass('placeholder') ? '' : element.value;\r\n\t\t\t},\r\n\t\t\t'set': function(element, value) {\r\n\t\t\t\tvar $element = $(element);\r\n\t\t\t\tif (!$element.data('placeholder-enabled')) {\r\n\t\t\t\t\treturn element.value = value;\r\n\t\t\t\t}\r\n\t\t\t\tif (value == '') {\r\n\t\t\t\t\telement.value = value;\r\n\t\t\t\t\t// Issue #56: Setting the placeholder causes problems if the element continues to have focus.\r\n\t\t\t\t\tif (element != document.activeElement) {\r\n\t\t\t\t\t\t// We can't use `triggerHandler` here because of dummy text/password inputs :(\r\n\t\t\t\t\t\tsetPlaceholder.call(element);\r\n\t\t\t\t\t}\r\n\t\t\t\t} else if ($element.hasClass('placeholder')) {\r\n\t\t\t\t\tclearPlaceholder.call(element, true, value) || (element.value = value);\r\n\t\t\t\t} else {\r\n\t\t\t\t\telement.value = value;\r\n\t\t\t\t}\r\n\t\t\t\t// `set` can not return `undefined`; see http://jsapi.info/jquery/1.7.1/val#L2363\r\n\t\t\t\treturn $element;\r\n\t\t\t}\r\n\t\t};\r\n\r\n\t\tisInputSupported || (valHooks.input = hooks);\r\n\t\tisTextareaSupported || (valHooks.textarea = hooks);\r\n\r\n\t\t$(function() {\r\n\t\t\t// Look for forms\r\n\t\t\t$(document).delegate('form', 'submit.placeholder', function() {\r\n\t\t\t\t// Clear the placeholder values so they don't get submitted\r\n\t\t\t\tvar $inputs = $('.placeholder', this).each(clearPlaceholder);\r\n\t\t\t\tsetTimeout(function() {\r\n\t\t\t\t\t$inputs.each(setPlaceholder);\r\n\t\t\t\t}, 10);\r\n\t\t\t});\r\n\t\t});\r\n\r\n\t\t// Clear placeholder values upon page reload\r\n\t\t$(window).bind('beforeunload.placeholder', function() {\r\n\t\t\t$('.placeholder').each(function() {\r\n\t\t\t\tthis.value = '';\r\n\t\t\t});\r\n\t\t});\r\n\r\n\t}\r\n\r\n\tfunction args(elem) {\r\n\t\t// Return an object of element attributes\r\n\t\tvar newAttrs = {},\r\n\t\t rinlinejQuery = /^jQuery\\d+$/;\r\n\t\t$.each(elem.attributes, function(i, attr) {\r\n\t\t\tif (attr.specified && !rinlinejQuery.test(attr.name)) {\r\n\t\t\t\tnewAttrs[attr.name] = attr.value;\r\n\t\t\t}\r\n\t\t});\r\n\t\treturn newAttrs;\r\n\t}\r\n\r\n\tfunction clearPlaceholder(event, value) {\r\n\t\tvar input = this,\r\n\t\t $input = $(input);\r\n\t\tif (input.value == $input.attr('placeholder') && $input.hasClass('placeholder')) {\r\n\t\t\tif ($input.data('placeholder-password')) {\r\n\t\t\t\t$input = $input.hide().next().show().attr('id', $input.removeAttr('id').data('placeholder-id'));\r\n\t\t\t\t// If `clearPlaceholder` was called from `$.valHooks.input.set`\r\n\t\t\t\tif (event === true) {\r\n\t\t\t\t\treturn $input[0].value = value;\r\n\t\t\t\t}\r\n\t\t\t\t$input.focus();\r\n\t\t\t} else {\r\n\t\t\t\tinput.value = '';\r\n\t\t\t\t$input.removeClass('placeholder');\r\n\t\t\t\tinput == document.activeElement && input.select();\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tfunction setPlaceholder() {\r\n\t\tvar $replacement,\r\n\t\t input = this,\r\n\t\t $input = $(input),\r\n\t\t $origInput = $input,\r\n\t\t id = this.id;\r\n\t\tif (input.value == '') {\r\n\t\t\tif (input.type == 'password') {\r\n\t\t\t\tif (!$input.data('placeholder-textinput')) {\r\n\t\t\t\t\ttry {\r\n\t\t\t\t\t\t$replacement = $input.clone().attr({ 'type': 'text' });\r\n\t\t\t\t\t} catch(e) {\r\n\t\t\t\t\t\t$replacement = $('').attr($.extend(args(this), { 'type': 'text' }));\r\n\t\t\t\t\t}\r\n\t\t\t\t\t$replacement\r\n\t\t\t\t\t\t.removeAttr('name')\r\n\t\t\t\t\t\t.data({\r\n\t\t\t\t\t\t\t'placeholder-password': true,\r\n\t\t\t\t\t\t\t'placeholder-id': id\r\n\t\t\t\t\t\t})\r\n\t\t\t\t\t\t.bind('focus.placeholder', clearPlaceholder);\r\n\t\t\t\t\t$input\r\n\t\t\t\t\t\t.data({\r\n\t\t\t\t\t\t\t'placeholder-textinput': $replacement,\r\n\t\t\t\t\t\t\t'placeholder-id': id\r\n\t\t\t\t\t\t})\r\n\t\t\t\t\t\t.before($replacement);\r\n\t\t\t\t}\r\n\t\t\t\t$input = $input.removeAttr('id').hide().prev().attr('id', id).show();\r\n\t\t\t\t// Note: `$input[0] != input` now!\r\n\t\t\t}\r\n\t\t\t$input.addClass('placeholder');\r\n\t\t\t$input[0].value = $input.attr('placeholder');\r\n\t\t} else {\r\n\t\t\t$input.removeClass('placeholder');\r\n\t\t}\r\n\t}\r\n\r\n}(this, document, jQuery));\r\n\r\n// ColorBox v1.3.20.2 - jQuery lightbox plugin\r\n// (c) 2012 Jack Moore - jacklmoore.com\r\n// License: http://www.opensource.org/licenses/mit-license.php\r\n(function ($, document, window) {\r\n\tvar\r\n\t// Default settings object.\r\n\t// See http://jacklmoore.com/colorbox for details.\r\n\tdefaults = {\r\n\t\ttransition: \"elastic\",\r\n\t\tspeed: 300,\r\n\t\twidth: false,\r\n\t\tinitialWidth: \"600\",\r\n\t\tinnerWidth: false,\r\n\t\tmaxWidth: false,\r\n\t\theight: false,\r\n\t\tinitialHeight: \"450\",\r\n\t\tinnerHeight: false,\r\n\t\tmaxHeight: false,\r\n\t\tscalePhotos: true,\r\n\t\tscrolling: true,\r\n\t\tinline: false,\r\n\t\thtml: false,\r\n\t\tiframe: false,\r\n\t\tfastIframe: true,\r\n\t\tphoto: false,\r\n\t\thref: false,\r\n\t\ttitle: false,\r\n\t\trel: false,\r\n\t\topacity: 0.9,\r\n\t\tpreloading: true,\r\n\r\n\t\tcurrent: \"image {current} of {total}\",\r\n\t\tprevious: \"previous\",\r\n\t\tnext: \"next\",\r\n\t\tclose: \"close\",\r\n\t\txhrError: \"This content failed to load.\",\r\n\t\timgError: \"This image failed to load.\",\r\n\r\n\t\topen: false,\r\n\t\treturnFocus: true,\r\n\t\treposition: true,\r\n\t\tloop: true,\r\n\t\tslideshow: false,\r\n\t\tslideshowAuto: true,\r\n\t\tslideshowSpeed: 2500,\r\n\t\tslideshowStart: \"start slideshow\",\r\n\t\tslideshowStop: \"stop slideshow\",\r\n\t\tonOpen: false,\r\n\t\tonLoad: false,\r\n\t\tonComplete: false,\r\n\t\tonCleanup: false,\r\n\t\tonClosed: false,\r\n\t\toverlayClose: true,\r\n\t\tescKey: true,\r\n\t\tarrowKey: true,\r\n\t\ttop: false,\r\n\t\tbottom: false,\r\n\t\tleft: false,\r\n\t\tright: false,\r\n\t\tfixed: false,\r\n\t\tdata: undefined\r\n\t},\r\n\r\n\t// Abstracting the HTML and event identifiers for easy rebranding\r\n\tcolorbox = 'colorbox',\r\n\tprefix = 'cbox',\r\n\tboxElement = prefix + 'Element',\r\n\r\n\t// Events\r\n\tevent_open = prefix + '_open',\r\n\tevent_load = prefix + '_load',\r\n\tevent_complete = prefix + '_complete',\r\n\tevent_cleanup = prefix + '_cleanup',\r\n\tevent_closed = prefix + '_closed',\r\n\tevent_purge = prefix + '_purge',\r\n\r\n\t// Special Handling for IE\r\n\tisIE = !$.support.opacity && !$.support.style, // IE7 & IE8\r\n\tisIE6 = isIE && !window.XMLHttpRequest, // IE6\r\n\tevent_ie6 = prefix + '_IE6',\r\n\r\n\t// Cached jQuery Object Variables\r\n\t$overlay,\r\n\t$box,\r\n\t$wrap,\r\n\t$content,\r\n\t$topBorder,\r\n\t$leftBorder,\r\n\t$rightBorder,\r\n\t$bottomBorder,\r\n\t$related,\r\n\t$window,\r\n\t$loaded,\r\n\t$loadingBay,\r\n\t$loadingOverlay,\r\n\t$title,\r\n\t$current,\r\n\t$slideshow,\r\n\t$next,\r\n\t$prev,\r\n\t$close,\r\n\t$groupControls,\r\n\r\n\t// Variables for cached values or use across multiple functions\r\n\tsettings,\r\n\tinterfaceHeight,\r\n\tinterfaceWidth,\r\n\tloadedHeight,\r\n\tloadedWidth,\r\n\telement,\r\n\tindex,\r\n\tphoto,\r\n\topen,\r\n\tactive,\r\n\tclosing,\r\n\tloadingTimer,\r\n\tpublicMethod,\r\n\tdiv = \"div\",\r\n\tinit;\r\n\r\n\t// ****************\r\n\t// HELPER FUNCTIONS\r\n\t// ****************\r\n\r\n\t// Convience function for creating new jQuery objects\r\n\tfunction $tag(tag, id, css) {\r\n\t\tvar element = document.createElement(tag);\r\n\r\n\t\tif (id) {\r\n\t\t\telement.id = prefix + id;\r\n\t\t}\r\n\r\n\t\tif (css) {\r\n\t\t\telement.style.cssText = css;\r\n\t\t}\r\n\r\n\t\treturn $(element);\r\n\t}\r\n\r\n\t// Determine the next and previous members in a group.\r\n\tfunction getIndex(increment) {\r\n\t\tvar\r\n\t\tmax = $related.length,\r\n\t\tnewIndex = (index + increment) % max;\r\n\r\n\t\treturn (newIndex < 0) ? max + newIndex : newIndex;\r\n\t}\r\n\r\n\t// Convert '%' and 'px' values to integers\r\n\tfunction setSize(size, dimension) {\r\n\t\treturn Math.round((/%/.test(size) ? ((dimension === 'x' ? $window.width() : $window.height()) / 100) : 1) * parseInt(size, 10));\r\n\t}\r\n\r\n\t// Checks an href to see if it is a photo.\r\n\t// There is a force photo option (photo: true) for hrefs that cannot be matched by this regex.\r\n\tfunction isImage(url) {\r\n\t\treturn settings.photo || /\\.(gif|png|jp(e|g|eg)|bmp|ico)((#|\\?).*)?$/i.test(url);\r\n\t}\r\n\r\n\t// Assigns function results to their respective properties\r\n\tfunction makeSettings() {\r\n\t\tvar i,\r\n\t\t\tdata = $.data(element, colorbox);\r\n\r\n\t\tif (data == null) {\r\n\t\t\tsettings = $.extend({}, defaults);\r\n\t\t\tif (console && console.log) {\r\n\t\t\t\tconsole.log('Error: cboxElement missing settings object');\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tsettings = $.extend({}, data);\r\n\t\t}\r\n\r\n\t\tfor (i in settings) {\r\n\t\t\tif ($.isFunction(settings[i]) && i.slice(0, 2) !== 'on') { // checks to make sure the function isn't one of the callbacks, they will be handled at the appropriate time.\r\n\t\t\t\tsettings[i] = settings[i].call(element);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tsettings.rel = settings.rel || element.rel || $(element).data('rel') || 'nofollow';\r\n\t\tsettings.href = settings.href || $(element).attr('href');\r\n\t\tsettings.title = settings.title || element.title;\r\n\r\n\t\tif (typeof settings.href === \"string\") {\r\n\t\t\tsettings.href = $.trim(settings.href);\r\n\t\t}\r\n\t}\r\n\r\n\tfunction trigger(event, callback) {\r\n\t\t$.event.trigger(event);\r\n\t\tif (callback) {\r\n\t\t\tcallback.call(element);\r\n\t\t}\r\n\t}\r\n\r\n\t// Slideshow functionality\r\n\tfunction slideshow() {\r\n\t\tvar\r\n\t\ttimeOut,\r\n\t\tclassName = prefix + \"Slideshow_\",\r\n\t\tclick = \"click.\" + prefix,\r\n\t\tstart,\r\n\t\tstop;\r\n\r\n\t\tif (settings.slideshow && $related[1]) {\r\n\t\t\tstart = function () {\r\n\t\t\t\t$slideshow\r\n\t\t\t\t\t.html(settings.slideshowStop)\r\n\t\t\t\t\t.unbind(click)\r\n\t\t\t\t\t.bind(event_complete, function () {\r\n\t\t\t\t\t\tif (settings.loop || $related[index + 1]) {\r\n\t\t\t\t\t\t\ttimeOut = setTimeout(publicMethod.next, settings.slideshowSpeed);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t})\r\n\t\t\t\t\t.bind(event_load, function () {\r\n\t\t\t\t\t\tclearTimeout(timeOut);\r\n\t\t\t\t\t})\r\n\t\t\t\t\t.one(click + ' ' + event_cleanup, stop);\r\n\t\t\t\t$box.removeClass(className + \"off\").addClass(className + \"on\");\r\n\t\t\t\ttimeOut = setTimeout(publicMethod.next, settings.slideshowSpeed);\r\n\t\t\t};\r\n\r\n\t\t\tstop = function () {\r\n\t\t\t\tclearTimeout(timeOut);\r\n\t\t\t\t$slideshow\r\n\t\t\t\t\t.html(settings.slideshowStart)\r\n\t\t\t\t\t.unbind([event_complete, event_load, event_cleanup, click].join(' '))\r\n\t\t\t\t\t.one(click, function () {\r\n\t\t\t\t\t\tpublicMethod.next();\r\n\t\t\t\t\t\tstart();\r\n\t\t\t\t\t});\r\n\t\t\t\t$box.removeClass(className + \"on\").addClass(className + \"off\");\r\n\t\t\t};\r\n\r\n\t\t\tif (settings.slideshowAuto) {\r\n\t\t\t\tstart();\r\n\t\t\t} else {\r\n\t\t\t\tstop();\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\t$box.removeClass(className + \"off \" + className + \"on\");\r\n\t\t}\r\n\t}\r\n\r\n\tfunction launch(target) {\r\n\t\tif (!closing) {\r\n\r\n\t\t\telement = target;\r\n\r\n\t\t\tmakeSettings();\r\n\r\n\t\t\t$related = $(element);\r\n\r\n\t\t\tindex = 0;\r\n\r\n\t\t\tif (settings.rel !== 'nofollow') {\r\n\t\t\t\t$related = $('.' + boxElement).filter(function () {\r\n\t\t\t\t\tvar data = $.data(this, colorbox),\r\n\t\t\t\t\t\trelRelated;\r\n\r\n\t\t\t\t\tif (data) {\r\n\t\t\t\t\t\trelRelated = $(this).data('rel') || data.rel || this.rel;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\treturn (relRelated === settings.rel);\r\n\t\t\t\t});\r\n\t\t\t\tindex = $related.index(element);\r\n\r\n\t\t\t\t// Check direct calls to ColorBox.\r\n\t\t\t\tif (index === -1) {\r\n\t\t\t\t\t$related = $related.add(element);\r\n\t\t\t\t\tindex = $related.length - 1;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tif (!open) {\r\n\t\t\t\topen = active = true; // Prevents the page-change action from queuing up if the visitor holds down the left or right keys.\r\n\r\n\t\t\t\t$box.show();\r\n\r\n\t\t\t\tif (settings.returnFocus) {\r\n\t\t\t\t\t$(element).blur().one(event_closed, function () {\r\n\t\t\t\t\t\t$(this).focus();\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\r\n\t\t\t\t// +settings.opacity avoids a problem in IE when using non-zero-prefixed-string-values, like '.5'\r\n\t\t\t\t$overlay.css({\"opacity\": +settings.opacity, \"cursor\": settings.overlayClose ? \"pointer\" : \"auto\"}).show();\r\n\r\n\t\t\t\t// Opens inital empty ColorBox prior to content being loaded.\r\n\t\t\t\tsettings.w = setSize(settings.initialWidth, 'x');\r\n\t\t\t\tsettings.h = setSize(settings.initialHeight, 'y');\r\n\t\t\t\tpublicMethod.position();\r\n\r\n\t\t\t\tif (isIE6) {\r\n\t\t\t\t\t$window.bind('resize.' + event_ie6 + ' scroll.' + event_ie6, function () {\r\n\t\t\t\t\t\t$overlay.css({width: $window.width(), height: $window.height(), top: $window.scrollTop(), left: $window.scrollLeft()});\r\n\t\t\t\t\t}).trigger('resize.' + event_ie6);\r\n\t\t\t\t}\r\n\r\n\t\t\t\ttrigger(event_open, settings.onOpen);\r\n\r\n\t\t\t\t$groupControls.add($title).hide();\r\n\r\n\t\t\t\t$close.html(settings.close).show();\r\n\t\t\t}\r\n\r\n\t\t\tpublicMethod.load(true);\r\n\t\t}\r\n\t}\r\n\r\n\t// ColorBox's markup needs to be added to the DOM prior to being called\r\n\t// so that the browser will go ahead and load the CSS background images.\r\n\tfunction appendHTML() {\r\n\t\tif (!$box && document.body) {\r\n\t\t\tinit = false;\r\n\r\n\t\t\t$window = $(window);\r\n\t\t\t$box = $tag(div).attr({id: colorbox, 'class': isIE ? prefix + (isIE6 ? 'IE6' : 'IE') : ''}).hide();\r\n\t\t\t$overlay = $tag(div, \"Overlay\", isIE6 ? 'position:absolute' : '').hide();\r\n\t\t\t$loadingOverlay = $tag(div, \"LoadingOverlay\").add($tag(div, \"LoadingGraphic\"));\r\n\t\t\t$wrap = $tag(div, \"Wrapper\");\r\n\t\t\t$content = $tag(div, \"Content\").append(\r\n\t\t\t\t$loaded = $tag(div, \"LoadedContent\", 'width:0; height:0; overflow:hidden'),\r\n\t\t\t\t$title = $tag(div, \"Title\"),\r\n\t\t\t\t$current = $tag(div, \"Current\"),\r\n\t\t\t\t$next = $tag(div, \"Next\"),\r\n\t\t\t\t$prev = $tag(div, \"Previous\"),\r\n\t\t\t\t$slideshow = $tag(div, \"Slideshow\").bind(event_open, slideshow),\r\n\t\t\t\t$close = $tag(div, \"Close\")\r\n\t\t\t);\r\n\r\n\t\t\t$wrap.append( // The 3x3 Grid that makes up ColorBox\r\n\t\t\t\t$tag(div).append(\r\n\t\t\t\t\t$tag(div, \"TopLeft\"),\r\n\t\t\t\t\t$topBorder = $tag(div, \"TopCenter\"),\r\n\t\t\t\t\t$tag(div, \"TopRight\")\r\n\t\t\t\t),\r\n\t\t\t\t$tag(div, false, 'clear:left').append(\r\n\t\t\t\t\t$leftBorder = $tag(div, \"MiddleLeft\"),\r\n\t\t\t\t\t$content,\r\n\t\t\t\t\t$rightBorder = $tag(div, \"MiddleRight\")\r\n\t\t\t\t),\r\n\t\t\t\t$tag(div, false, 'clear:left').append(\r\n\t\t\t\t\t$tag(div, \"BottomLeft\"),\r\n\t\t\t\t\t$bottomBorder = $tag(div, \"BottomCenter\"),\r\n\t\t\t\t\t$tag(div, \"BottomRight\")\r\n\t\t\t\t)\r\n\t\t\t).find('div div').css({'float': 'left'});\r\n\r\n\t\t\t$loadingBay = $tag(div, false, 'position:absolute; width:9999px; visibility:hidden; display:none');\r\n\r\n\t\t\t$groupControls = $next.add($prev).add($current).add($slideshow);\r\n\r\n\t\t\t$(document.body).append($overlay, $box.append($wrap, $loadingBay));\r\n\t\t}\r\n\t}\r\n\r\n\t// Add ColorBox's event bindings\r\n\tfunction addBindings() {\r\n\t\tif ($box) {\r\n\t\t\tif (!init) {\r\n\t\t\t\tinit = true;\r\n\r\n\t\t\t\t// Cache values needed for size calculations\r\n\t\t\t\tinterfaceHeight = $topBorder.height() + $bottomBorder.height() + $content.outerHeight(true) - $content.height();//Subtraction needed for IE6\r\n\t\t\t\tinterfaceWidth = $leftBorder.width() + $rightBorder.width() + $content.outerWidth(true) - $content.width();\r\n\t\t\t\tloadedHeight = $loaded.outerHeight(true);\r\n\t\t\t\tloadedWidth = $loaded.outerWidth(true);\r\n\r\n\t\t\t\t// Setting padding to remove the need to do size conversions during the animation step.\r\n\t\t\t\t$box.css({\"padding-bottom\": interfaceHeight, \"padding-right\": interfaceWidth});\r\n\r\n\t\t\t\t// Anonymous functions here keep the public method from being cached, thereby allowing them to be redefined on the fly.\r\n\t\t\t\t$next.click(function () {\r\n\t\t\t\t\tpublicMethod.next();\r\n\t\t\t\t});\r\n\t\t\t\t$prev.click(function () {\r\n\t\t\t\t\tpublicMethod.prev();\r\n\t\t\t\t});\r\n\t\t\t\t$close.click(function () {\r\n\t\t\t\t\tpublicMethod.close();\r\n\t\t\t\t});\r\n\t\t\t\t$overlay.click(function () {\r\n\t\t\t\t\tif (settings.overlayClose) {\r\n\t\t\t\t\t\tpublicMethod.close();\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\r\n\t\t\t\t// Key Bindings\r\n\t\t\t\t$(document).bind('keydown.' + prefix, function (e) {\r\n\t\t\t\t\tvar key = e.keyCode;\r\n\t\t\t\t\tif (open && settings.escKey && key === 27) {\r\n\t\t\t\t\t\te.preventDefault();\r\n\t\t\t\t\t\tpublicMethod.close();\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (open && settings.arrowKey && $related[1]) {\r\n\t\t\t\t\t\tif (key === 37) {\r\n\t\t\t\t\t\t\te.preventDefault();\r\n\t\t\t\t\t\t\t$prev.click();\r\n\t\t\t\t\t\t} else if (key === 39) {\r\n\t\t\t\t\t\t\te.preventDefault();\r\n\t\t\t\t\t\t\t$next.click();\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\r\n\t\t\t\t$(document).delegate('.'+boxElement, 'click', function(e) {\r\n\t\t\t\t\t// ignore non-left-mouse-clicks and clicks modified with ctrl / command, shift, or alt.\r\n\t\t\t\t\t// See: http://jacklmoore.com/notes/click-events/\r\n\t\t\t\t\tif (!(e.which > 1 || e.shiftKey || e.altKey || e.metaKey)) {\r\n\t\t\t\t\t\te.preventDefault();\r\n\t\t\t\t\t\tlaunch(this);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t\treturn true;\r\n\t\t}\r\n\t\treturn false;\r\n\t}\r\n\r\n\t// Don't do anything if ColorBox already exists.\r\n\tif ($.colorbox) {\r\n\t\treturn;\r\n\t}\r\n\r\n\t// Append the HTML when the DOM loads\r\n\t$(appendHTML);\r\n\r\n\r\n\t// ****************\r\n\t// PUBLIC FUNCTIONS\r\n\t// Usage format: $.fn.colorbox.close();\r\n\t// Usage from within an iframe: parent.$.fn.colorbox.close();\r\n\t// ****************\r\n\r\n\tpublicMethod = $.fn[colorbox] = $[colorbox] = function (options, callback) {\r\n\t\tvar $this = this;\r\n\r\n\t\toptions = options || {};\r\n\r\n\t\tappendHTML();\r\n\r\n\t\tif (addBindings()) {\r\n\t\t\tif (!$this[0]) {\r\n\t\t\t\tif ($this.selector) { // if a selector was given and it didn't match any elements, go ahead and exit.\r\n\t\t\t\t\treturn $this;\r\n\t\t\t\t}\r\n\t\t\t\t// if no selector was given (ie. $.colorbox()), create a temporary element to work with\r\n\t\t\t\t$this = $('');\r\n\t\t\t\toptions.open = true; // assume an immediate open\r\n\t\t\t}\r\n\r\n\t\t\tif (callback) {\r\n\t\t\t\toptions.onComplete = callback;\r\n\t\t\t}\r\n\r\n\t\t\t$this.each(function () {\r\n\t\t\t\t$.data(this, colorbox, $.extend({}, $.data(this, colorbox) || defaults, options));\r\n\t\t\t}).addClass(boxElement);\r\n\r\n\t\t\tif (($.isFunction(options.open) && options.open.call($this)) || options.open) {\r\n\t\t\t\tlaunch($this[0]);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn $this;\r\n\t};\r\n\r\n\tpublicMethod.position = function (speed, loadedCallback) {\r\n\t\tvar\r\n\t\tcss,\r\n\t\ttop = 0,\r\n\t\tleft = 0,\r\n\t\toffset = $box.offset(),\r\n\t\tscrollTop,\r\n\t\tscrollLeft;\r\n\r\n\t\t$window.unbind('resize.' + prefix);\r\n\r\n\t\t// remove the modal so that it doesn't influence the document width/height\r\n\t\t$box.css({top: -9e4, left: -9e4});\r\n\r\n\t\tscrollTop = $window.scrollTop();\r\n\t\tscrollLeft = $window.scrollLeft();\r\n\r\n\t\tif (settings.fixed && !isIE6) {\r\n\t\t\toffset.top -= scrollTop;\r\n\t\t\toffset.left -= scrollLeft;\r\n\t\t\t$box.css({position: 'fixed'});\r\n\t\t} else {\r\n\t\t\ttop = scrollTop;\r\n\t\t\tleft = scrollLeft;\r\n\t\t\t$box.css({position: 'absolute'});\r\n\t\t}\r\n\r\n\t\t// keeps the top and left positions within the browser's viewport.\r\n\t\tif (settings.right !== false) {\r\n\t\t\tleft += Math.max($window.width() - settings.w - loadedWidth - interfaceWidth - setSize(settings.right, 'x'), 0);\r\n\t\t} else if (settings.left !== false) {\r\n\t\t\tleft += setSize(settings.left, 'x');\r\n\t\t} else {\r\n\t\t\tleft += Math.round(Math.max($window.width() - settings.w - loadedWidth - interfaceWidth, 0) / 2);\r\n\t\t}\r\n\r\n\t\tif (settings.bottom !== false) {\r\n\t\t\ttop += Math.max($window.height() - settings.h - loadedHeight - interfaceHeight - setSize(settings.bottom, 'y'), 0);\r\n\t\t} else if (settings.top !== false) {\r\n\t\t\ttop += setSize(settings.top, 'y');\r\n\t\t} else {\r\n\t\t\ttop += Math.round(Math.max($window.height() - settings.h - loadedHeight - interfaceHeight, 0) / 2);\r\n\t\t}\r\n\r\n\t\t$box.css({top: offset.top, left: offset.left});\r\n\r\n\t\t// setting the speed to 0 to reduce the delay between same-sized content.\r\n\t\tspeed = ($box.width() === settings.w + loadedWidth && $box.height() === settings.h + loadedHeight) ? 0 : speed || 0;\r\n\r\n\t\t// this gives the wrapper plenty of breathing room so it's floated contents can move around smoothly,\r\n\t\t// but it has to be shrank down around the size of div#colorbox when it's done. If not,\r\n\t\t// it can invoke an obscure IE bug when using iframes.\r\n\t\t$wrap[0].style.width = $wrap[0].style.height = \"9999px\";\r\n\r\n\t\tfunction modalDimensions(that) {\r\n\t\t\t$topBorder[0].style.width = $bottomBorder[0].style.width = $content[0].style.width = that.style.width;\r\n\t\t\t$content[0].style.height = $leftBorder[0].style.height = $rightBorder[0].style.height = that.style.height;\r\n\t\t}\r\n\r\n\t\tcss = {width: settings.w + loadedWidth, height: settings.h + loadedHeight, top: top, left: left};\r\n\t\tif(speed===0){ // temporary workaround to side-step jQuery-UI 1.8 bug (http://bugs.jquery.com/ticket/12273)\r\n\t\t\t$box.css(css);\r\n\t\t}\r\n\t\t$box.dequeue().animate(css, {\r\n\t\t\tduration: speed,\r\n\t\t\tcomplete: function () {\r\n\t\t\t\tmodalDimensions(this);\r\n\r\n\t\t\t\tactive = false;\r\n\r\n\t\t\t\t// shrink the wrapper down to exactly the size of colorbox to avoid a bug in IE's iframe implementation.\r\n\t\t\t\t$wrap[0].style.width = (settings.w + loadedWidth + interfaceWidth) + \"px\";\r\n\t\t\t\t$wrap[0].style.height = (settings.h + loadedHeight + interfaceHeight) + \"px\";\r\n\r\n\t\t\t\tif (settings.reposition) {\r\n\t\t\t\t\tsetTimeout(function () { // small delay before binding onresize due to an IE8 bug.\r\n\t\t\t\t\t\t$window.bind('resize.' + prefix, publicMethod.position);\r\n\t\t\t\t\t}, 1);\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (loadedCallback) {\r\n\t\t\t\t\tloadedCallback();\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\tstep: function () {\r\n\t\t\t\tmodalDimensions(this);\r\n\t\t\t}\r\n\t\t});\r\n\t};\r\n\r\n\tpublicMethod.resize = function (options) {\r\n\t\tif (open) {\r\n\t\t\toptions = options || {};\r\n\r\n\t\t\tif (options.width) {\r\n\t\t\t\tsettings.w = setSize(options.width, 'x') - loadedWidth - interfaceWidth;\r\n\t\t\t}\r\n\t\t\tif (options.innerWidth) {\r\n\t\t\t\tsettings.w = setSize(options.innerWidth, 'x');\r\n\t\t\t}\r\n\t\t\t$loaded.css({width: settings.w});\r\n\r\n\t\t\tif (options.height) {\r\n\t\t\t\tsettings.h = setSize(options.height, 'y') - loadedHeight - interfaceHeight;\r\n\t\t\t}\r\n\t\t\tif (options.innerHeight) {\r\n\t\t\t\tsettings.h = setSize(options.innerHeight, 'y');\r\n\t\t\t}\r\n\t\t\tif (!options.innerHeight && !options.height) {\r\n\t\t\t\t$loaded.css({height: \"auto\"});\r\n\t\t\t\tsettings.h = $loaded.height();\r\n\t\t\t}\r\n\t\t\t$loaded.css({height: settings.h});\r\n\r\n\t\t\tpublicMethod.position(settings.transition === \"none\" ? 0 : settings.speed);\r\n\t\t}\r\n\t};\r\n\r\n\tpublicMethod.prep = function (object) {\r\n\t\tif (!open) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tvar callback, speed = settings.transition === \"none\" ? 0 : settings.speed;\r\n\r\n\t\t$loaded.remove();\r\n\t\t$loaded = $tag(div, 'LoadedContent').append(object);\r\n\r\n\t\tfunction getWidth() {\r\n\t\t\tsettings.w = settings.w || $loaded.width();\r\n\t\t\tsettings.w = settings.mw && settings.mw < settings.w ? settings.mw : settings.w;\r\n\t\t\treturn settings.w;\r\n\t\t}\r\n\t\tfunction getHeight() {\r\n\t\t\tsettings.h = settings.h || $loaded.height();\r\n\t\t\tsettings.h = settings.mh && settings.mh < settings.h ? settings.mh : settings.h;\r\n\t\t\treturn settings.h;\r\n\t\t}\r\n\r\n\t\t$loaded.hide()\r\n\t\t.appendTo($loadingBay.show())// content has to be appended to the DOM for accurate size calculations.\r\n\t\t.css({width: getWidth(), overflow: settings.scrolling ? 'auto' : 'hidden'})\r\n\t\t.css({height: getHeight()})// sets the height independently from the width in case the new width influences the value of height.\r\n\t\t.prependTo($content);\r\n\r\n\t\t$loadingBay.hide();\r\n\r\n\t\t// floating the IMG removes the bottom line-height and fixed a problem where IE miscalculates the width of the parent element as 100% of the document width.\r\n\t\t//$(photo).css({'float': 'none', marginLeft: 'auto', marginRight: 'auto'});\r\n\r\n\t\t$(photo).css({'float': 'none'});\r\n\r\n\t\t// Hides SELECT elements in IE6 because they would otherwise sit on top of the overlay.\r\n\t\tif (isIE6) {\r\n\t\t\t$('select').not($box.find('select')).filter(function () {\r\n\t\t\t\treturn this.style.visibility !== 'hidden';\r\n\t\t\t}).css({'visibility': 'hidden'}).one(event_cleanup, function () {\r\n\t\t\t\tthis.style.visibility = 'inherit';\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tcallback = function () {\r\n\t\t\tvar preload,\r\n\t\t\t\ti,\r\n\t\t\t\ttotal = $related.length,\r\n\t\t\t\tiframe,\r\n\t\t\t\tframeBorder = 'frameBorder',\r\n\t\t\t\tallowTransparency = 'allowTransparency',\r\n\t\t\t\tcomplete,\r\n\t\t\t\tsrc,\r\n\t\t\t\timg,\r\n\t\t\t\tdata;\r\n\r\n\t\t\tif (!open) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\tfunction removeFilter() {\r\n\t\t\t\tif (isIE) {\r\n\t\t\t\t\t$box[0].style.removeAttribute('filter');\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tcomplete = function () {\r\n\t\t\t\tclearTimeout(loadingTimer);\r\n\t\t\t\t// Detaching forces Andriod stock browser to redraw the area underneat the loading overlay. Hiding alone isn't enough.\r\n\t\t\t\t$loadingOverlay.detach().hide();\r\n\t\t\t\ttrigger(event_complete, settings.onComplete);\r\n\t\t\t};\r\n\r\n\t\t\tif (isIE) {\r\n\t\t\t\t//This fadeIn helps the bicubic resampling to kick-in.\r\n\t\t\t\tif (photo) {\r\n\t\t\t\t\t$loaded.fadeIn(100);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\t$title.html(settings.title).add($loaded).show();\r\n\r\n\t\t\tif (total > 1) { // handle grouping\r\n\t\t\t\tif (typeof settings.current === \"string\") {\r\n\t\t\t\t\t$current.html(settings.current.replace('{current}', index + 1).replace('{total}', total)).show();\r\n\t\t\t\t}\r\n\r\n\t\t\t\t$next[(settings.loop || index < total - 1) ? \"show\" : \"hide\"]().html(settings.next);\r\n\t\t\t\t$prev[(settings.loop || index) ? \"show\" : \"hide\"]().html(settings.previous);\r\n\r\n\t\t\t\tif (settings.slideshow) {\r\n\t\t\t\t\t$slideshow.show();\r\n\t\t\t\t}\r\n\r\n\t\t\t\t// Preloads images within a rel group\r\n\t\t\t\tif (settings.preloading) {\r\n\t\t\t\t\tpreload = [\r\n\t\t\t\t\t\tgetIndex(-1),\r\n\t\t\t\t\t\tgetIndex(1)\r\n\t\t\t\t\t];\r\n\t\t\t\t\twhile (i = $related[preload.pop()]) {\r\n\t\t\t\t\t\tdata = $.data(i, colorbox);\r\n\r\n\t\t\t\t\t\tif (data && data.href) {\r\n\t\t\t\t\t\t\tsrc = data.href;\r\n\t\t\t\t\t\t\tif ($.isFunction(src)) {\r\n\t\t\t\t\t\t\t\tsrc = src.call(i);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tsrc = i.href;\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\tif (isImage(src)) {\r\n\t\t\t\t\t\t\timg = new Image();\r\n\t\t\t\t\t\t\timg.src = src;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\t$groupControls.hide();\r\n\t\t\t}\r\n\r\n\t\t\tif (settings.iframe) {\r\n\t\t\t\tiframe = $tag('iframe')[0];\r\n\r\n\t\t\t\tif (frameBorder in iframe) {\r\n\t\t\t\t\tiframe[frameBorder] = 0;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (allowTransparency in iframe) {\r\n\t\t\t\t\tiframe[allowTransparency] = \"true\";\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (!settings.scrolling) {\r\n\t\t\t\t\tiframe.scrolling = \"no\";\r\n\t\t\t\t}\r\n\r\n\t\t\t\t$(iframe)\r\n\t\t\t\t\t.attr({\r\n\t\t\t\t\t\tsrc: settings.href,\r\n\t\t\t\t\t\tname: (new Date()).getTime(), // give the iframe a unique name to prevent caching\r\n\t\t\t\t\t\t'class': prefix + 'Iframe',\r\n\t\t\t\t\t\tallowFullScreen : true, // allow HTML5 video to go fullscreen\r\n\t\t\t\t\t\twebkitAllowFullScreen : true,\r\n\t\t\t\t\t\tmozallowfullscreen : true\r\n\t\t\t\t\t})\r\n\t\t\t\t\t.one('load', complete)\r\n\t\t\t\t\t.one(event_purge, function () {\r\n\t\t\t\t\t\tiframe.src = \"//about:blank\";\r\n\t\t\t\t\t})\r\n\t\t\t\t\t.appendTo($loaded);\r\n\r\n\t\t\t\tif (settings.fastIframe) {\r\n\t\t\t\t\t$(iframe).trigger('load');\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\tcomplete();\r\n\t\t\t}\r\n\r\n\t\t\tif (settings.transition === 'fade') {\r\n\t\t\t\t$box.fadeTo(speed, 1, removeFilter);\r\n\t\t\t} else {\r\n\t\t\t\tremoveFilter();\r\n\t\t\t}\r\n\t\t};\r\n\r\n\t\tif (settings.transition === 'fade') {\r\n\t\t\t$box.fadeTo(speed, 0, function () {\r\n\t\t\t\tpublicMethod.position(0, callback);\r\n\t\t\t});\r\n\t\t} else {\r\n\t\t\tpublicMethod.position(speed, callback);\r\n\t\t}\r\n\t};\r\n\r\n\tpublicMethod.load = function (launched) {\r\n\t\tvar href, setResize, prep = publicMethod.prep;\r\n\r\n\t\tactive = true;\r\n\r\n\t\tphoto = false;\r\n\r\n\t\telement = $related[index];\r\n\r\n\t\tif (!launched) {\r\n\t\t\tmakeSettings();\r\n\t\t}\r\n\r\n\t\ttrigger(event_purge);\r\n\r\n\t\ttrigger(event_load, settings.onLoad);\r\n\r\n\t\tsettings.h = settings.height ?\r\n\t\t\t\tsetSize(settings.height, 'y') - loadedHeight - interfaceHeight :\r\n\t\t\t\tsettings.innerHeight && setSize(settings.innerHeight, 'y');\r\n\r\n\t\tsettings.w = settings.width ?\r\n\t\t\t\tsetSize(settings.width, 'x') - loadedWidth - interfaceWidth :\r\n\t\t\t\tsettings.innerWidth && setSize(settings.innerWidth, 'x');\r\n\r\n\t\t// Sets the minimum dimensions for use in image scaling\r\n\t\tsettings.mw = settings.w;\r\n\t\tsettings.mh = settings.h;\r\n\r\n\t\t// Re-evaluate the minimum width and height based on maxWidth and maxHeight values.\r\n\t\t// If the width or height exceed the maxWidth or maxHeight, use the maximum values instead.\r\n\t\tif (settings.maxWidth) {\r\n\t\t\tsettings.mw = setSize(settings.maxWidth, 'x') - loadedWidth - interfaceWidth;\r\n\t\t\tsettings.mw = settings.w && settings.w < settings.mw ? settings.w : settings.mw;\r\n\t\t}\r\n\t\tif (settings.maxHeight) {\r\n\t\t\tsettings.mh = setSize(settings.maxHeight, 'y') - loadedHeight - interfaceHeight;\r\n\t\t\tsettings.mh = settings.h && settings.h < settings.mh ? settings.h : settings.mh;\r\n\t\t}\r\n\r\n\t\thref = settings.href;\r\n\r\n\t\tloadingTimer = setTimeout(function () {\r\n\t\t\t$loadingOverlay.show().appendTo($content);\r\n\t\t}, 100);\r\n\r\n\t\tif (settings.inline) {\r\n\t\t\t// Inserts an empty placeholder where inline content is being pulled from.\r\n\t\t\t// An event is bound to put inline content back when ColorBox closes or loads new content.\r\n\t\t\t$tag(div).hide().insertBefore($(href)[0]).one(event_purge, function () {\r\n\t\t\t\t$(this).replaceWith($loaded.children());\r\n\t\t\t});\r\n\t\t\tprep($(href));\r\n\t\t} else if (settings.iframe) {\r\n\t\t\t// IFrame element won't be added to the DOM until it is ready to be displayed,\r\n\t\t\t// to avoid problems with DOM-ready JS that might be trying to run in that iframe.\r\n\t\t\tprep(\" \");\r\n\t\t} else if (settings.html) {\r\n\t\t\tprep(settings.html);\r\n\t\t} else if (isImage(href)) {\r\n\t\t\t$(photo = new Image())\r\n\t\t\t.addClass(prefix + 'Photo')\r\n\t\t\t.error(function () {\r\n\t\t\t\tsettings.title = false;\r\n\t\t\t\tprep($tag(div, 'Error').html(settings.imgError));\r\n\t\t\t})\r\n\t\t\t.load(function () {\r\n\t\t\t\tvar percent;\r\n\t\t\t\tphoto.onload = null; //stops animated gifs from firing the onload repeatedly.\r\n\r\n\t\t\t\tif (settings.scalePhotos) {\r\n\t\t\t\t\tsetResize = function () {\r\n\t\t\t\t\t\tphoto.height -= photo.height * percent;\r\n\t\t\t\t\t\tphoto.width -= photo.width * percent;\r\n\t\t\t\t\t};\r\n\t\t\t\t\tif (settings.mw && photo.width > settings.mw) {\r\n\t\t\t\t\t\tpercent = (photo.width - settings.mw) / photo.width;\r\n\t\t\t\t\t\tsetResize();\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (settings.mh && photo.height > settings.mh) {\r\n\t\t\t\t\t\tpercent = (photo.height - settings.mh) / photo.height;\r\n\t\t\t\t\t\tsetResize();\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (settings.h) {\r\n\t\t\t\t\tphoto.style.marginTop = Math.max(settings.h - photo.height, 0) / 2 + 'px';\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif ($related[1] && (settings.loop || $related[index + 1])) {\r\n\t\t\t\t\tphoto.style.cursor = 'pointer';\r\n\t\t\t\t\tphoto.onclick = function () {\r\n\t\t\t\t\t\tpublicMethod.next();\r\n\t\t\t\t\t};\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (isIE) {\r\n\t\t\t\t\tphoto.style.msInterpolationMode = 'bicubic';\r\n\t\t\t\t}\r\n\r\n\t\t\t\tsetTimeout(function () { // A pause because Chrome will sometimes report a 0 by 0 size otherwise.\r\n\t\t\t\t\tprep(photo);\r\n\t\t\t\t}, 1);\r\n\t\t\t});\r\n\r\n\t\t\tsetTimeout(function () { // A pause because Opera 10.6+ will sometimes not run the onload function otherwise.\r\n\t\t\t\tphoto.src = href;\r\n\t\t\t}, 1);\r\n\t\t} else if (href) {\r\n\t\t\t$loadingBay.load(href, settings.data, function (data, status) {\r\n\t\t\t\tprep(status === 'error' ? $tag(div, 'Error').html(settings.xhrError) : $(this).contents());\r\n\t\t\t});\r\n\t\t}\r\n\t};\r\n\r\n\t// Navigates to the next page/image in a set.\r\n\tpublicMethod.next = function () {\r\n\t\tif (!active && $related[1] && (settings.loop || $related[index + 1])) {\r\n\t\t\tindex = getIndex(1);\r\n\t\t\tpublicMethod.load();\r\n\t\t}\r\n\t};\r\n\r\n\tpublicMethod.prev = function () {\r\n\t\tif (!active && $related[1] && (settings.loop || index)) {\r\n\t\t\tindex = getIndex(-1);\r\n\t\t\tpublicMethod.load();\r\n\t\t}\r\n\t};\r\n\r\n\t// Note: to use this within an iframe use the following format: parent.$.fn.colorbox.close();\r\n\tpublicMethod.close = function () {\r\n\t\tif (open && !closing) {\r\n\r\n\t\t\tclosing = true;\r\n\r\n\t\t\topen = false;\r\n\r\n\t\t\ttrigger(event_cleanup, settings.onCleanup);\r\n\r\n\t\t\t$window.unbind('.' + prefix + ' .' + event_ie6);\r\n\r\n\t\t\t$overlay.fadeTo(200, 0);\r\n\r\n\t\t\t$box.stop().fadeTo(300, 0, function () {\r\n\r\n\t\t\t\t$box.add($overlay).css({'opacity': 1, cursor: 'auto'}).hide();\r\n\r\n\t\t\t\ttrigger(event_purge);\r\n\r\n\t\t\t\t$loaded.remove();\r\n\r\n\t\t\t\tsetTimeout(function () {\r\n\t\t\t\t\tclosing = false;\r\n\t\t\t\t\ttrigger(event_closed, settings.onClosed);\r\n\t\t\t\t}, 1);\r\n\t\t\t});\r\n\t\t}\r\n\t};\r\n\r\n\t// Removes changes ColorBox made to the document, but does not remove the plugin\r\n\t// from jQuery.\r\n\tpublicMethod.remove = function () {\r\n\t\t$([]).add($box).add($overlay).remove();\r\n\t\t$box = null;\r\n\t\t$('.' + boxElement)\r\n\t\t\t.removeData(colorbox)\r\n\t\t\t.removeClass(boxElement);\r\n\r\n\t\t$(document).undelegate('.'+boxElement);\r\n\t};\r\n\r\n\t// A method for fetching the current element ColorBox is referencing.\r\n\t// returns a jQuery object.\r\n\tpublicMethod.element = function () {\r\n\t\treturn $(element);\r\n\t};\r\n\r\n\tpublicMethod.settings = defaults;\r\n\r\n}(jQuery, document, window));\r\n","$(function(){\r\n\r\n\t// MOBILE MENU\r\n\t$(\".mobile-menu__item:has(ul)\")\r\n\t\t.find(\"a:first\")\r\n\t\t.addClass('mobile-menu__link--parent')\r\n\t\t.append(\"\"+\r\n\t\t\t\t\t\"\"+\r\n\t\t\t\t\"\");\r\n\r\n\t$(\".mobile-menu--sub\").each(function() {\r\n\t\tvar title = $(this).parent(\"li\").find(\"a:first\").text();\r\n\t\t$(this).prepend(\"
  • \"+\r\n\t\t\t\t\t\t\t\"\"+\r\n\t\t\t\t\t\t\t\t\"\" +\r\n\t\t\t\t\t\t\t\ttitle +\r\n\t\t\t\t\t\t\t\"\" +\r\n\t\t\t\t\t\t\"
  • \");\r\n\t});\r\n\r\n\t$(\".open-sub\").each(function() {\r\n\t\t$(this).click(function(e) {\r\n\t\t\t$(this).closest(\".mobile-menu\").removeClass(\"show\").addClass(\"close\");\r\n\t\t\t$(this).closest(\".mobile-menu__item\").find(\".mobile-menu\").addClass(\"show\");\r\n\t\t\te.preventDefault();\r\n\t\t});\r\n\t});\r\n\r\n\r\n\t$(\".mobile-menu\").width($(\".mobile__wrapper\").width());\r\n\r\n\t$(\".mobile-menu__item--header a\").each(function() {\r\n\t\t$(this).click(function(e) {\r\n\r\n\t\t\tvar parentmenu = $(this).closest(\".mobile-menu\");\r\n\r\n\t\t\tparentmenu.removeClass(\"show\");\r\n\t\t\tparentmenu.closest(\".mobile-menu__item\").parent(\".mobile-menu--sub\").addClass(\"show\");\r\n\t\t\tparentmenu.closest(\".mobile-menu__item\").parent(\".mobile-menu\").removeClass(\"close\");\r\n\t\t\te.preventDefault();\r\n\t\t});\r\n\t});\r\n\r\n\t$('.colorbox').colorbox({\r\n\t\trel:'gallery',\r\n\t\tmaxWidth:\"80%\",\r\n\t\tmaxHeight:\"80%\"\r\n\t});\r\n\r\n\t$('.extranetmenu li:not([data-icon=\"\"])').each(function() {\r\n\t\t\tvar icon = $(this).attr('data-icon');\r\n\t\t\t$(this).first(\"a\").prepend('');\r\n\t\t$(this).addClass(\"list--icon\");\r\n\t\t});\r\n\r\n\t$('.menu--main .menu__link').each(function(){\r\n\t\t$(this).find('i.fa-chevron-down').appendTo($(this).find('a').first());\r\n\t});\r\n\r\n\tif ($('html.lt_ie9').length === 0) {\r\n\t\t$('.header').clone().addClass('sticky').prependTo('body');\r\n\t}\r\n\r\n\r\n\t$(window).on('scroll', function(e){\r\n\t\tclearTimeout(t);\r\n\t\tvar t = setTimeout(function(){\r\n\r\n\t\t\tif ($('body.vervolg').length > 0) {\r\n\t\t\t\thHeight = 360;\r\n\t\t\t} else {\r\n\t\t\t\thHeight = 480;\r\n\t\t\t}\r\n\r\n\t\t\tif ($(window).scrollTop() >= hHeight) {\r\n\t\t\t\t$('.header.sticky').addClass('visible');\r\n\t\t\t} else {\r\n\t\t\t\t$('.header.sticky').removeClass('visible');\r\n\t\t\t}\r\n\t\t}, 100);\r\n\t});\r\n\r\n\t\t// TOGGLE MOBILE MENU\r\n\t$(\".menu__link--menu, .toggle-menu\").click(function(e) {\r\n\t\t$(\"body\").toggleClass(\"show-menu\");\r\n\t\t$(this).toggleClass(\"active\");\r\n\t\te.preventDefault();\r\n\t});\r\n\r\n\t// $('.sidebar .titlelink').each(function(){\r\n\t// \t$(this).clone().addClass('clone cta cta--big').insertAfter('.header:not(.sticky)');\r\n\t// });\r\n\r\n\t// $('.titlelink.clone').wrapAll('
    ');\r\n\t// $('.titlelink.clone:eq(1)').addClass('cta--grey');\r\n\t// $('.titlelink.clone:eq(2)').addClass('cta--red');\r\n\r\n\t// cta_holder = $('.cta--big:first').closest('section');\r\n\t// cta_holder.addClass('cta__holder').clone().addClass('cta__holder cta__holder--mobile clone').insertAfter('.header:not(.sticky)');\r\n\r\n\t$('.content .project-contact').each(function(){\r\n\t\t$(this).prependTo('.sidebar').wrapAll('
    ');\r\n\t});\r\n\r\n\r\n\r\n\r\n\t$('.menu__link--phone').on('click', function(){\r\n\t\tif ($(window).width() < 768) {\r\n\t\t\tdocument.location = \"/contact\";\r\n\t\t}\r\n\t});\r\n\r\n\tvar owl = $(\".partners__slider\").owlCarousel({\r\n\t\tautoWidth: true,\r\n\t\tmargin: 10,\r\n\t\tloop: true,\r\n\t\titems: 4,\r\n\t\tautoplay: true,\r\n\t\tautoplayTimeout: 6000,\r\n\t\tautoplayHoverPause: true\r\n\t});\r\n\r\n\t$('.menu__link--phone').on('click', function(){\r\n\t\tif ($(window).width() >= 768) {\r\n\t\t\t$(this).find('.menu--phone').toggleClass('open');\r\n\t\t}\r\n\t});\r\n\r\n\t$('.menu__link--menu, .menu--open').on('click', function(e){\r\n\t\t$('.menu--main').addClass('open');\r\n\t\te.preventDefault();\r\n\t});\r\n\r\n\t$('.menu__close').on('click', function(e){\r\n\t\t$('.menu--main').removeClass('open');\r\n\t\te.preventDefault();\r\n\t});\r\n\r\n\t$('.menu--phone li').on('click', function(e){\r\n\t\t// console.log($(this).find('a').attr('data-value'));\r\n\t\t$(this).closest('.menu__link--phone').find('> ul > li > span').text($(this).find('a').attr('data-value'));\r\n\t\te.preventDefault();\r\n\t});\r\n\r\n\t$('.partners__slider__btn--next').click(function(e) {\r\n\t\towl.trigger('next.owl.carousel');\r\n\t\te.preventDefault();\r\n\t});\r\n\r\n\t$('.partners__slider__btn--prev').click(function(e) {\r\n\t\towl.trigger('prev.owl.carousel');\r\n\t\te.preventDefault();\r\n\t});\r\n\r\n\t//FILTER\r\n\t$(\".filter .options li\").click(function() {\r\n\t\t$(this).toggleClass(\"selected\");\r\n\r\n\t\tvar cRequest = $(this).closest(\".filters\").attr(\"data-value\")\r\n\r\n\t\tvar cRegioFilter = \"\";\r\n\t\t$(\".filter .options li.selected[data-regio]\").each(function() {\r\n\t\t\tcRegioFilter += (cRegioFilter === \"\" ? \"\" : \",\") + $(this).attr(\"data-regio\");\r\n\t\t});\r\n\r\n\t\tvar cVakgebiedFilter = \"\";\r\n\t\t$(\".filter .options li.selected[data-vakgebied]\").each(function() {\r\n\t\t\tcVakgebiedFilter += (cVakgebiedFilter === \"\" ? \"\" : \",\") + $(this).attr(\"data-vakgebied\");\r\n\t\t});\r\n\r\n\t\tvar cExpertiseFilter = \"\";\r\n\t\t$(\".filter .options li.selected[data-expertise]\").each(function() {\r\n\t\t\tcExpertiseFilter += (cExpertiseFilter === \"\" ? \"\" : \",\") + $(this).attr(\"data-expertise\");\r\n\t\t});\r\n\r\n\t\tcRequest = (cRegioFilter === \"\" ? cRequest : cRequest + \"®io=\" + cRegioFilter.split(\" \").join(\"\"));\r\n\t\tcRequest = (cVakgebiedFilter === \"\" ? cRequest : cRequest + \"&vakgebied=\" + cVakgebiedFilter.split(\" \").join(\"\").replace(\"&\", \"\"));\r\n\t\tcRequest = (cExpertiseFilter === \"\" ? cRequest : cRequest + \"&expertise=\" + cExpertiseFilter.split(\" \").join(\"\"));\r\n\r\n\t\t$(this).closest(\".filters\").next(\"ul.productlijst\").load(cRequest);\r\n\t\t$(this).closest(\".filters\").next(\"ul.productoverzicht\").load(cRequest);\r\n\t\t$(this).closest(\".filters\").parent().find(\".paging\").hide();\r\n\t});\r\n\r\n\t$(\".filter .toggle\").click(function() {\r\n\t\t$(this).closest(\".filter\").toggleClass(\"active\");\r\n\t});\r\n\t$(\".filter\").mouseleave(function() {\r\n\t\t$(this).removeClass(\"active\");\r\n\t});\r\n\r\n\t//BREADCRUMB\r\n\t$(\"div#breadcrumb ul li:last\").addClass('last');\r\n\r\n\t// TABS IN FOOTER\r\n\t$(\".tab_content\").hide();\r\n\t$(\"ul.tabs li:first\").addClass(\"active\").show();\r\n\t$(\"ul.tabs li:last\").addClass('last');\r\n\t$(\".tab_content:first\").show();\r\n\r\n\t$(\"ul.tabs li\").click(function(e){\r\n\t\t$(\"ul.tabs li\").removeClass(\"active\");\r\n\t\t$(this).addClass(\"active\");\r\n\t\t$(\".tab_content\").hide();\r\n\r\n\t\tvar index = $(\"ul.tabs li\").index($(this));\r\n\t\t$(\".tab_container .tab_content:eq(\"+ index +\")\").show();\r\n\r\n\t\te.preventDefault();\r\n\t});\r\n\r\n\t//VERWIJDER LEGE TAB CONTAINERS\r\n\t$(\"#tab1, #tab2, #tab3, .tabs\").each( function() {\r\n\t\tif ($(this).children().length == 0) {\r\n\t\t\t$(this).remove();\r\n\t\t}\r\n\t});\r\n\r\n\t//TABELLEN\r\n\t$(\"table.standaard tr\").each(function(){\r\n\t\t$(this).find(\"td:first\").addClass(\"first\");\r\n\t});\r\n\t$(\"table.rij\").each(function(){\r\n\t\t$(this).find(\"tr:odd\").addClass(\"odd\");\r\n\t});\r\n\t$(\"table.kolom tr\").each(function(){\r\n\t\t$(this).find(\"td:even\").addClass(\"even\");\r\n\t});\r\n\r\n\t//SEARCH\r\n\t/*\r\n\t$('.search a').clickToggle(function(){\r\n\t\t$('#search').slideDown(300);\r\n\t\t//$('body').animate({'background-position-y': '248'}, 0);\r\n\t}, function(){\r\n\t\t$('#search').slideUp(300);\r\n\t\t//$('body').animate({'background-position-y': '198'}, 0);\r\n\t});\r\n\t*/\r\n\r\n\t$('.search a').click(function(e){\r\n\t\t$('#search').slideToggle(300);\r\n\t\te.preventDefault();\r\n\t\t});\r\n\r\n\t//DROPDOWNMENU\r\n\t$(\"#menu ul li\").hover(function(){\r\n\t\t$(this).addClass(\"hover\");\r\n\t\t$('ul:first',this).css('visibility', 'visible');\r\n\t}, function(){\r\n\t\t$(this).removeClass(\"hover\");\r\n\t\t$('ul:first',this).css('visibility', 'hidden');\r\n\t});\r\n\r\n\r\n\r\n\t// REMOVE MARGIN BIJ OPEENVOLGENDE AFBEELDINGEN\r\n\t$(\"#content figure.left, #content figure.right, .kolom1 figure.left, .kolom1 figure.right, section figure.left, section figure.right\").each(function() {\r\n\t\tif ($(this).next(\"figure.left, figure.right\").length >= 1) {\r\n\t\t\tif (!$(this).hasClass(\"noMargin\")) {\r\n\t\t\t\t$(this).next().addClass(\"noMargin\");\r\n\t\t\t}\r\n\t\t}\r\n\t});\r\n\r\n\t//CLEAR CALL TO ACTIONS\r\n\t$(\"a.btn\").each(function(){\r\n\t\t$(this).before(\"
    \");\r\n\t\t$(this).after(\"
    \");\r\n\t});\r\n\r\n\t$('[placeholder]').placeholder();\r\n\r\n\t// LOGO\r\n\t$(\".samenwerken\").delay(5000).fadeIn(5000);\r\n\t$(\".ingenieus\").delay(1500).animate({ top: \"70px\"}, 2000 );\r\n\t$('.ingenieurs').delay(3500).fadeIn(2000).delay(6000).fadeOut(2000);\r\n\r\n});\r\n\r\n$(window).load(function(){\r\n\r\n\t//BREEDTE AFBEELDING = MAXIMALE BREEDTE VOOR ONDERSCHRIFT\r\n\t$(\"figure\").each(function(){\r\n\t\t$(this).find(\"figcaption\").show().css(\"max-width\", $(this).find(\"img\").width());\r\n\t});\r\n\r\n\t$(window).on(\"resize\", function() {\r\n\t\t$('.content .container').css({ minHeight: $('.sidebar').outerHeight() });\r\n\t}).trigger(\"resize\");\r\n\r\n\t$(\".link--download\").on(\"click\", function(){\r\n\t\ttry{\r\n\t\t\tgaDocName=$(this).text();\r\n\t\t\tgaDocName=(gaDocName==\"\"?$(this).parent().text():gaDocName);\r\n\t\t\tgaDocName=(gaDocName==\"\"?($(this).find('img').attr('alt')):gaDocName);\r\n\t\t\tconsole.log(gaDocName);\r\n\t\t\tga('send', 'event', 'Bestand gedownload', 'download', gaDocName);\r\n\t\t}catch(e){console.log(e);}\r\n\t});\r\n\r\n});\r\n"]}