// source --> http://milestones-route.eu/wp-content/plugins/full-page-full-width-backgroud-slider/inc/front/js/fwbslider.js (function($){ $.fwbslider = function(selector, settings){ // settings var config = { 'delay': 2000, 'fadeSpeed': 500, 'navigation':true, 'bullets':true, 'playPause':true, 'thumbnails':true, 'progressbar':true }; if ( settings ){$.extend(config, settings);} // variables var obj = $(selector); var slide = obj.find('.fwbs_bg'); var count = slide.length; var controlloop = true; var i = 0; var j; // show first slide slide.eq(0).show(); if(count > 1){ // add "fwbs_bottom" div after main div obj.after('
'); var domobj = $('#fwbs_bottom'); domobj.after('
'); var domobjscroll = $('#fwb_scroll'); // display navigation if(config.navigation){ obj.after('
'); } // display progressBar if(config.progressbar){ domobj.append('
'); jQuery('body').addClass('fwbs_botpush'); } // display bullets if(config.bullets){ domobj.append('
'); obj.find('.fwbs_bg').each(function(){ domobj.find('.fwbs_bullets').append(''); }); var bullet = domobj.find('.fwbs_bullets a'); bullet.eq(0).addClass('active'); } // display play/pause control if(config.playPause){ domobj.append('
'); } // display image thumbnails if(config.thumbnails){ domobj.append('
'); obj.find('.fwbs_bg').each(function(){ fwb_imgsrc = $(this).attr('src'); domobj.find('.fwbs_thumbnails').append(''); }); var fwb_thumb = domobj.find('.fwbs_thumbnails a'); } domobj.find('a.fwbs_showthumbs').click(function(){ if(!$(this).hasClass('active')){ $(this).addClass('active'); domobj.find('.fwbs_thumbnails').css('display','block').animate({'top': '-110px'},250); } else{ $(this).removeClass('active'); domobj.find('.fwbs_thumbnails').animate({'top': '60px'},250,function(){ domobj.find('.fwbs_thumbnails').hide(); }); } }); domobjscroll.mouseenter(function(){domobj.stop(true,true).animate({'height': '50px'},150)}); domobj.mouseleave(function(){domobj.stop(true,true).animate({'height': '50px'},150)}); var cycleTimer; function fwb_progressbar(){$('.fwbs_progress').animate({'width': '0%'},0);$('.fwbs_progress').animate({'width': '100%'},config.delay);} function fwb_pbarreset(){$('.fwbs_progress').animate({'width': '0%'},0);$('.fwbs_progress').stop();$('.fwbs_progress').animate({'width': '100%'},config.delay);} function startCycle() { cycleTimer = setInterval(function(){ fwb_progressbar(); slide.eq(i).fadeOut(config.fadeSpeed); if(config.bullets) bullet.eq(i).removeClass('active'); i = ( i+1 == count ) ? 0 : i+1; j = i; slide.eq(i).fadeIn(config.fadeSpeed); if(config.bullets) bullet.eq(i).delay(config.fadeSpeed).addClass('active'); }, config.delay); } // start to automatically cycle slides fwb_progressbar(); startCycle(); domobj.find('a.fwbs_playpause').click(function(){ if(!$(this).hasClass('active')){ $(this).addClass('active'); controlloop = false; $('.fwbs_progress').animate({'width': '0%'},0);$('.fwbs_progress').stop(); clearInterval(cycleTimer); } else{ $(this).removeClass('active'); fwb_progressbar(); setTimeout(startCycle,0); controlloop = true; } }); function control_loop(){ if(controlloop){ fwb_pbarreset(); clearInterval(cycleTimer); setTimeout(startCycle,0); } } // goto next slide jQuery('a.fwbs_next').click(function(){ slide.eq(i).fadeOut(config.fadeSpeed); if(config.bullets) bullet.eq(i).removeClass('active'); i = ( i+1 == count ) ? 0 : i+1; slide.eq(i).fadeIn(config.fadeSpeed); if(config.bullets) bullet.eq(i).addClass('active'); control_loop(); }); // goto previous slide jQuery('a.fwbs_prev').click(function(){ slide.eq(i).fadeOut(config.fadeSpeed); if(config.bullets) bullet.eq(i).removeClass('active'); j = ( i <= 0 ) ? count-1 : i-1; i = j; slide.eq(j).fadeIn(config.fadeSpeed); if(config.bullets) bullet.eq(j).addClass('active'); control_loop(); }); // switch to particular slide jQuery(bullet).click(function(){ slide.eq(i).fadeOut(config.fadeSpeed); jQuery(bullet).removeClass('active'); jQuery(this).addClass('active'); var k = jQuery(this).index(); slide.eq(k).fadeIn(config.fadeSpeed); i = k; control_loop(); }); // switch to particular thumb slide jQuery(fwb_thumb).click(function(){ slide.eq(i).fadeOut(config.fadeSpeed); jQuery(bullet).removeClass('active'); var k = jQuery(this).index(); bullet.eq(k).addClass('active'); slide.eq(k).fadeIn(config.fadeSpeed); i = k; control_loop(); }); } return this; }; })(jQuery); // source --> http://milestones-route.eu/wp-includes/js/underscore.min.js // Underscore.js 1.8.3 // http://underscorejs.org // (c) 2009-2015 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors // Underscore may be freely distributed under the MIT license. (function(){function n(n){function t(t,r,e,u,i,o){for(;i>=0&&o>i;i+=n){var a=u?u[i]:i;e=r(e,t[a],a,t)}return e}return function(r,e,u,i){e=b(e,i,4);var o=!k(r)&&m.keys(r),a=(o||r).length,c=n>0?0:a-1;return arguments.length<3&&(u=r[o?o[c]:c],c+=n),t(r,e,u,o,c,a)}}function t(n){return function(t,r,e){r=x(r,e);for(var u=O(t),i=n>0?0:u-1;i>=0&&u>i;i+=n)if(r(t[i],i,t))return i;return-1}}function r(n,t,r){return function(e,u,i){var o=0,a=O(e);if("number"==typeof i)n>0?o=i>=0?i:Math.max(i+a,o):a=i>=0?Math.min(i+1,a):i+a+1;else if(r&&i&&a)return i=r(e,u),e[i]===u?i:-1;if(u!==u)return i=t(l.call(e,o,a),m.isNaN),i>=0?i+o:-1;for(i=n>0?o:a-1;i>=0&&a>i;i+=n)if(e[i]===u)return i;return-1}}function e(n,t){var r=I.length,e=n.constructor,u=m.isFunction(e)&&e.prototype||a,i="constructor";for(m.has(n,i)&&!m.contains(t,i)&&t.push(i);r--;)i=I[r],i in n&&n[i]!==u[i]&&!m.contains(t,i)&&t.push(i)}var u=this,i=u._,o=Array.prototype,a=Object.prototype,c=Function.prototype,f=o.push,l=o.slice,s=a.toString,p=a.hasOwnProperty,h=Array.isArray,v=Object.keys,g=c.bind,y=Object.create,d=function(){},m=function(n){return n instanceof m?n:this instanceof m?void(this._wrapped=n):new m(n)};"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=m),exports._=m):u._=m,m.VERSION="1.8.3";var b=function(n,t,r){if(t===void 0)return n;switch(null==r?3:r){case 1:return function(r){return n.call(t,r)};case 2:return function(r,e){return n.call(t,r,e)};case 3:return function(r,e,u){return n.call(t,r,e,u)};case 4:return function(r,e,u,i){return n.call(t,r,e,u,i)}}return function(){return n.apply(t,arguments)}},x=function(n,t,r){return null==n?m.identity:m.isFunction(n)?b(n,t,r):m.isObject(n)?m.matcher(n):m.property(n)};m.iteratee=function(n,t){return x(n,t,1/0)};var _=function(n,t){return function(r){var e=arguments.length;if(2>e||null==r)return r;for(var u=1;e>u;u++)for(var i=arguments[u],o=n(i),a=o.length,c=0;a>c;c++){var f=o[c];t&&r[f]!==void 0||(r[f]=i[f])}return r}},j=function(n){if(!m.isObject(n))return{};if(y)return y(n);d.prototype=n;var t=new d;return d.prototype=null,t},w=function(n){return function(t){return null==t?void 0:t[n]}},A=Math.pow(2,53)-1,O=w("length"),k=function(n){var t=O(n);return"number"==typeof t&&t>=0&&A>=t};m.each=m.forEach=function(n,t,r){t=b(t,r);var e,u;if(k(n))for(e=0,u=n.length;u>e;e++)t(n[e],e,n);else{var i=m.keys(n);for(e=0,u=i.length;u>e;e++)t(n[i[e]],i[e],n)}return n},m.map=m.collect=function(n,t,r){t=x(t,r);for(var e=!k(n)&&m.keys(n),u=(e||n).length,i=Array(u),o=0;u>o;o++){var a=e?e[o]:o;i[o]=t(n[a],a,n)}return i},m.reduce=m.foldl=m.inject=n(1),m.reduceRight=m.foldr=n(-1),m.find=m.detect=function(n,t,r){var e;return e=k(n)?m.findIndex(n,t,r):m.findKey(n,t,r),e!==void 0&&e!==-1?n[e]:void 0},m.filter=m.select=function(n,t,r){var e=[];return t=x(t,r),m.each(n,function(n,r,u){t(n,r,u)&&e.push(n)}),e},m.reject=function(n,t,r){return m.filter(n,m.negate(x(t)),r)},m.every=m.all=function(n,t,r){t=x(t,r);for(var e=!k(n)&&m.keys(n),u=(e||n).length,i=0;u>i;i++){var o=e?e[i]:i;if(!t(n[o],o,n))return!1}return!0},m.some=m.any=function(n,t,r){t=x(t,r);for(var e=!k(n)&&m.keys(n),u=(e||n).length,i=0;u>i;i++){var o=e?e[i]:i;if(t(n[o],o,n))return!0}return!1},m.contains=m.includes=m.include=function(n,t,r,e){return k(n)||(n=m.values(n)),("number"!=typeof r||e)&&(r=0),m.indexOf(n,t,r)>=0},m.invoke=function(n,t){var r=l.call(arguments,2),e=m.isFunction(t);return m.map(n,function(n){var u=e?t:n[t];return null==u?u:u.apply(n,r)})},m.pluck=function(n,t){return m.map(n,m.property(t))},m.where=function(n,t){return m.filter(n,m.matcher(t))},m.findWhere=function(n,t){return m.find(n,m.matcher(t))},m.max=function(n,t,r){var e,u,i=-1/0,o=-1/0;if(null==t&&null!=n){n=k(n)?n:m.values(n);for(var a=0,c=n.length;c>a;a++)e=n[a],e>i&&(i=e)}else t=x(t,r),m.each(n,function(n,r,e){u=t(n,r,e),(u>o||u===-1/0&&i===-1/0)&&(i=n,o=u)});return i},m.min=function(n,t,r){var e,u,i=1/0,o=1/0;if(null==t&&null!=n){n=k(n)?n:m.values(n);for(var a=0,c=n.length;c>a;a++)e=n[a],i>e&&(i=e)}else t=x(t,r),m.each(n,function(n,r,e){u=t(n,r,e),(o>u||1/0===u&&1/0===i)&&(i=n,o=u)});return i},m.shuffle=function(n){for(var t,r=k(n)?n:m.values(n),e=r.length,u=Array(e),i=0;e>i;i++)t=m.random(0,i),t!==i&&(u[i]=u[t]),u[t]=r[i];return u},m.sample=function(n,t,r){return null==t||r?(k(n)||(n=m.values(n)),n[m.random(n.length-1)]):m.shuffle(n).slice(0,Math.max(0,t))},m.sortBy=function(n,t,r){return t=x(t,r),m.pluck(m.map(n,function(n,r,e){return{value:n,index:r,criteria:t(n,r,e)}}).sort(function(n,t){var r=n.criteria,e=t.criteria;if(r!==e){if(r>e||r===void 0)return 1;if(e>r||e===void 0)return-1}return n.index-t.index}),"value")};var F=function(n){return function(t,r,e){var u={};return r=x(r,e),m.each(t,function(e,i){var o=r(e,i,t);n(u,e,o)}),u}};m.groupBy=F(function(n,t,r){m.has(n,r)?n[r].push(t):n[r]=[t]}),m.indexBy=F(function(n,t,r){n[r]=t}),m.countBy=F(function(n,t,r){m.has(n,r)?n[r]++:n[r]=1}),m.toArray=function(n){return n?m.isArray(n)?l.call(n):k(n)?m.map(n,m.identity):m.values(n):[]},m.size=function(n){return null==n?0:k(n)?n.length:m.keys(n).length},m.partition=function(n,t,r){t=x(t,r);var e=[],u=[];return m.each(n,function(n,r,i){(t(n,r,i)?e:u).push(n)}),[e,u]},m.first=m.head=m.take=function(n,t,r){return null==n?void 0:null==t||r?n[0]:m.initial(n,n.length-t)},m.initial=function(n,t,r){return l.call(n,0,Math.max(0,n.length-(null==t||r?1:t)))},m.last=function(n,t,r){return null==n?void 0:null==t||r?n[n.length-1]:m.rest(n,Math.max(0,n.length-t))},m.rest=m.tail=m.drop=function(n,t,r){return l.call(n,null==t||r?1:t)},m.compact=function(n){return m.filter(n,m.identity)};var S=function(n,t,r,e){for(var u=[],i=0,o=e||0,a=O(n);a>o;o++){var c=n[o];if(k(c)&&(m.isArray(c)||m.isArguments(c))){t||(c=S(c,t,r));var f=0,l=c.length;for(u.length+=l;l>f;)u[i++]=c[f++]}else r||(u[i++]=c)}return u};m.flatten=function(n,t){return S(n,t,!1)},m.without=function(n){return m.difference(n,l.call(arguments,1))},m.uniq=m.unique=function(n,t,r,e){m.isBoolean(t)||(e=r,r=t,t=!1),null!=r&&(r=x(r,e));for(var u=[],i=[],o=0,a=O(n);a>o;o++){var c=n[o],f=r?r(c,o,n):c;t?(o&&i===f||u.push(c),i=f):r?m.contains(i,f)||(i.push(f),u.push(c)):m.contains(u,c)||u.push(c)}return u},m.union=function(){return m.uniq(S(arguments,!0,!0))},m.intersection=function(n){for(var t=[],r=arguments.length,e=0,u=O(n);u>e;e++){var i=n[e];if(!m.contains(t,i)){for(var o=1;r>o&&m.contains(arguments[o],i);o++);o===r&&t.push(i)}}return t},m.difference=function(n){var t=S(arguments,!0,!0,1);return m.filter(n,function(n){return!m.contains(t,n)})},m.zip=function(){return m.unzip(arguments)},m.unzip=function(n){for(var t=n&&m.max(n,O).length||0,r=Array(t),e=0;t>e;e++)r[e]=m.pluck(n,e);return r},m.object=function(n,t){for(var r={},e=0,u=O(n);u>e;e++)t?r[n[e]]=t[e]:r[n[e][0]]=n[e][1];return r},m.findIndex=t(1),m.findLastIndex=t(-1),m.sortedIndex=function(n,t,r,e){r=x(r,e,1);for(var u=r(t),i=0,o=O(n);o>i;){var a=Math.floor((i+o)/2);r(n[a])i;i++,n+=r)u[i]=n;return u};var E=function(n,t,r,e,u){if(!(e instanceof t))return n.apply(r,u);var i=j(n.prototype),o=n.apply(i,u);return m.isObject(o)?o:i};m.bind=function(n,t){if(g&&n.bind===g)return g.apply(n,l.call(arguments,1));if(!m.isFunction(n))throw new TypeError("Bind must be called on a function");var r=l.call(arguments,2),e=function(){return E(n,e,t,this,r.concat(l.call(arguments)))};return e},m.partial=function(n){var t=l.call(arguments,1),r=function(){for(var e=0,u=t.length,i=Array(u),o=0;u>o;o++)i[o]=t[o]===m?arguments[e++]:t[o];for(;e=e)throw new Error("bindAll must be passed function names");for(t=1;e>t;t++)r=arguments[t],n[r]=m.bind(n[r],n);return n},m.memoize=function(n,t){var r=function(e){var u=r.cache,i=""+(t?t.apply(this,arguments):e);return m.has(u,i)||(u[i]=n.apply(this,arguments)),u[i]};return r.cache={},r},m.delay=function(n,t){var r=l.call(arguments,2);return setTimeout(function(){return n.apply(null,r)},t)},m.defer=m.partial(m.delay,m,1),m.throttle=function(n,t,r){var e,u,i,o=null,a=0;r||(r={});var c=function(){a=r.leading===!1?0:m.now(),o=null,i=n.apply(e,u),o||(e=u=null)};return function(){var f=m.now();a||r.leading!==!1||(a=f);var l=t-(f-a);return e=this,u=arguments,0>=l||l>t?(o&&(clearTimeout(o),o=null),a=f,i=n.apply(e,u),o||(e=u=null)):o||r.trailing===!1||(o=setTimeout(c,l)),i}},m.debounce=function(n,t,r){var e,u,i,o,a,c=function(){var f=m.now()-o;t>f&&f>=0?e=setTimeout(c,t-f):(e=null,r||(a=n.apply(i,u),e||(i=u=null)))};return function(){i=this,u=arguments,o=m.now();var f=r&&!e;return e||(e=setTimeout(c,t)),f&&(a=n.apply(i,u),i=u=null),a}},m.wrap=function(n,t){return m.partial(t,n)},m.negate=function(n){return function(){return!n.apply(this,arguments)}},m.compose=function(){var n=arguments,t=n.length-1;return function(){for(var r=t,e=n[t].apply(this,arguments);r--;)e=n[r].call(this,e);return e}},m.after=function(n,t){return function(){return--n<1?t.apply(this,arguments):void 0}},m.before=function(n,t){var r;return function(){return--n>0&&(r=t.apply(this,arguments)),1>=n&&(t=null),r}},m.once=m.partial(m.before,2);var M=!{toString:null}.propertyIsEnumerable("toString"),I=["valueOf","isPrototypeOf","toString","propertyIsEnumerable","hasOwnProperty","toLocaleString"];m.keys=function(n){if(!m.isObject(n))return[];if(v)return v(n);var t=[];for(var r in n)m.has(n,r)&&t.push(r);return M&&e(n,t),t},m.allKeys=function(n){if(!m.isObject(n))return[];var t=[];for(var r in n)t.push(r);return M&&e(n,t),t},m.values=function(n){for(var t=m.keys(n),r=t.length,e=Array(r),u=0;r>u;u++)e[u]=n[t[u]];return e},m.mapObject=function(n,t,r){t=x(t,r);for(var e,u=m.keys(n),i=u.length,o={},a=0;i>a;a++)e=u[a],o[e]=t(n[e],e,n);return o},m.pairs=function(n){for(var t=m.keys(n),r=t.length,e=Array(r),u=0;r>u;u++)e[u]=[t[u],n[t[u]]];return e},m.invert=function(n){for(var t={},r=m.keys(n),e=0,u=r.length;u>e;e++)t[n[r[e]]]=r[e];return t},m.functions=m.methods=function(n){var t=[];for(var r in n)m.isFunction(n[r])&&t.push(r);return t.sort()},m.extend=_(m.allKeys),m.extendOwn=m.assign=_(m.keys),m.findKey=function(n,t,r){t=x(t,r);for(var e,u=m.keys(n),i=0,o=u.length;o>i;i++)if(e=u[i],t(n[e],e,n))return e},m.pick=function(n,t,r){var e,u,i={},o=n;if(null==o)return i;m.isFunction(t)?(u=m.allKeys(o),e=b(t,r)):(u=S(arguments,!1,!1,1),e=function(n,t,r){return t in r},o=Object(o));for(var a=0,c=u.length;c>a;a++){var f=u[a],l=o[f];e(l,f,o)&&(i[f]=l)}return i},m.omit=function(n,t,r){if(m.isFunction(t))t=m.negate(t);else{var e=m.map(S(arguments,!1,!1,1),String);t=function(n,t){return!m.contains(e,t)}}return m.pick(n,t,r)},m.defaults=_(m.allKeys,!0),m.create=function(n,t){var r=j(n);return t&&m.extendOwn(r,t),r},m.clone=function(n){return m.isObject(n)?m.isArray(n)?n.slice():m.extend({},n):n},m.tap=function(n,t){return t(n),n},m.isMatch=function(n,t){var r=m.keys(t),e=r.length;if(null==n)return!e;for(var u=Object(n),i=0;e>i;i++){var o=r[i];if(t[o]!==u[o]||!(o in u))return!1}return!0};var N=function(n,t,r,e){if(n===t)return 0!==n||1/n===1/t;if(null==n||null==t)return n===t;n instanceof m&&(n=n._wrapped),t instanceof m&&(t=t._wrapped);var u=s.call(n);if(u!==s.call(t))return!1;switch(u){case"[object RegExp]":case"[object String]":return""+n==""+t;case"[object Number]":return+n!==+n?+t!==+t:0===+n?1/+n===1/t:+n===+t;case"[object Date]":case"[object Boolean]":return+n===+t}var i="[object Array]"===u;if(!i){if("object"!=typeof n||"object"!=typeof t)return!1;var o=n.constructor,a=t.constructor;if(o!==a&&!(m.isFunction(o)&&o instanceof o&&m.isFunction(a)&&a instanceof a)&&"constructor"in n&&"constructor"in t)return!1}r=r||[],e=e||[];for(var c=r.length;c--;)if(r[c]===n)return e[c]===t;if(r.push(n),e.push(t),i){if(c=n.length,c!==t.length)return!1;for(;c--;)if(!N(n[c],t[c],r,e))return!1}else{var f,l=m.keys(n);if(c=l.length,m.keys(t).length!==c)return!1;for(;c--;)if(f=l[c],!m.has(t,f)||!N(n[f],t[f],r,e))return!1}return r.pop(),e.pop(),!0};m.isEqual=function(n,t){return N(n,t)},m.isEmpty=function(n){return null==n?!0:k(n)&&(m.isArray(n)||m.isString(n)||m.isArguments(n))?0===n.length:0===m.keys(n).length},m.isElement=function(n){return!(!n||1!==n.nodeType)},m.isArray=h||function(n){return"[object Array]"===s.call(n)},m.isObject=function(n){var t=typeof n;return"function"===t||"object"===t&&!!n},m.each(["Arguments","Function","String","Number","Date","RegExp","Error"],function(n){m["is"+n]=function(t){return s.call(t)==="[object "+n+"]"}}),m.isArguments(arguments)||(m.isArguments=function(n){return m.has(n,"callee")}),"function"!=typeof/./&&"object"!=typeof Int8Array&&(m.isFunction=function(n){return"function"==typeof n||!1}),m.isFinite=function(n){return isFinite(n)&&!isNaN(parseFloat(n))},m.isNaN=function(n){return m.isNumber(n)&&n!==+n},m.isBoolean=function(n){return n===!0||n===!1||"[object Boolean]"===s.call(n)},m.isNull=function(n){return null===n},m.isUndefined=function(n){return n===void 0},m.has=function(n,t){return null!=n&&p.call(n,t)},m.noConflict=function(){return u._=i,this},m.identity=function(n){return n},m.constant=function(n){return function(){return n}},m.noop=function(){},m.property=w,m.propertyOf=function(n){return null==n?function(){}:function(t){return n[t]}},m.matcher=m.matches=function(n){return n=m.extendOwn({},n),function(t){return m.isMatch(t,n)}},m.times=function(n,t,r){var e=Array(Math.max(0,n));t=b(t,r,1);for(var u=0;n>u;u++)e[u]=t(u);return e},m.random=function(n,t){return null==t&&(t=n,n=0),n+Math.floor(Math.random()*(t-n+1))},m.now=Date.now||function(){return(new Date).getTime()};var B={"&":"&","<":"<",">":">",'"':""","'":"'","`":"`"},T=m.invert(B),R=function(n){var t=function(t){return n[t]},r="(?:"+m.keys(n).join("|")+")",e=RegExp(r),u=RegExp(r,"g");return function(n){return n=null==n?"":""+n,e.test(n)?n.replace(u,t):n}};m.escape=R(B),m.unescape=R(T),m.result=function(n,t,r){var e=null==n?void 0:n[t];return e===void 0&&(e=r),m.isFunction(e)?e.call(n):e};var q=0;m.uniqueId=function(n){var t=++q+"";return n?n+t:t},m.templateSettings={evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g};var K=/(.)^/,z={"'":"'","\\":"\\","\r":"r","\n":"n","\u2028":"u2028","\u2029":"u2029"},D=/\\|'|\r|\n|\u2028|\u2029/g,L=function(n){return"\\"+z[n]};m.template=function(n,t,r){!t&&r&&(t=r),t=m.defaults({},t,m.templateSettings);var e=RegExp([(t.escape||K).source,(t.interpolate||K).source,(t.evaluate||K).source].join("|")+"|$","g"),u=0,i="__p+='";n.replace(e,function(t,r,e,o,a){return i+=n.slice(u,a).replace(D,L),u=a+t.length,r?i+="'+\n((__t=("+r+"))==null?'':_.escape(__t))+\n'":e?i+="'+\n((__t=("+e+"))==null?'':__t)+\n'":o&&(i+="';\n"+o+"\n__p+='"),t}),i+="';\n",t.variable||(i="with(obj||{}){\n"+i+"}\n"),i="var __t,__p='',__j=Array.prototype.join,"+"print=function(){__p+=__j.call(arguments,'');};\n"+i+"return __p;\n";try{var o=new Function(t.variable||"obj","_",i)}catch(a){throw a.source=i,a}var c=function(n){return o.call(this,n,m)},f=t.variable||"obj";return c.source="function("+f+"){\n"+i+"}",c},m.chain=function(n){var t=m(n);return t._chain=!0,t};var P=function(n,t){return n._chain?m(t).chain():t};m.mixin=function(n){m.each(m.functions(n),function(t){var r=m[t]=n[t];m.prototype[t]=function(){var n=[this._wrapped];return f.apply(n,arguments),P(this,r.apply(m,n))}})},m.mixin(m),m.each(["pop","push","reverse","shift","sort","splice","unshift"],function(n){var t=o[n];m.prototype[n]=function(){var r=this._wrapped;return t.apply(r,arguments),"shift"!==n&&"splice"!==n||0!==r.length||delete r[0],P(this,r)}}),m.each(["concat","join","slice"],function(n){var t=o[n];m.prototype[n]=function(){return P(this,t.apply(this._wrapped,arguments))}}),m.prototype.value=function(){return this._wrapped},m.prototype.valueOf=m.prototype.toJSON=m.prototype.value,m.prototype.toString=function(){return""+this._wrapped},"function"==typeof define&&define.amd&&define("underscore",[],function(){return m})}).call(this); // source --> http://milestones-route.eu/wp-includes/js/backbone.min.js (function(t){var e=typeof self=="object"&&self.self===self&&self||typeof global=="object"&&global.global===global&&global;if(typeof define==="function"&&define.amd){define(["underscore","jquery","exports"],function(i,r,n){e.Backbone=t(e,n,i,r)})}else if(typeof exports!=="undefined"){var i=require("underscore"),r;try{r=require("jquery")}catch(n){}t(e,exports,i,r)}else{e.Backbone=t(e,{},e._,e.jQuery||e.Zepto||e.ender||e.$)}})(function(t,e,i,r){var n=t.Backbone;var s=Array.prototype.slice;e.VERSION="1.3.3";e.$=r;e.noConflict=function(){t.Backbone=n;return this};e.emulateHTTP=false;e.emulateJSON=false;var a=function(t,e,r){switch(t){case 1:return function(){return i[e](this[r])};case 2:return function(t){return i[e](this[r],t)};case 3:return function(t,n){return i[e](this[r],o(t,this),n)};case 4:return function(t,n,s){return i[e](this[r],o(t,this),n,s)};default:return function(){var t=s.call(arguments);t.unshift(this[r]);return i[e].apply(i,t)}}};var h=function(t,e,r){i.each(e,function(e,n){if(i[n])t.prototype[n]=a(e,n,r)})};var o=function(t,e){if(i.isFunction(t))return t;if(i.isObject(t)&&!e._isModel(t))return l(t);if(i.isString(t))return function(e){return e.get(t)};return t};var l=function(t){var e=i.matches(t);return function(t){return e(t.attributes)}};var u=e.Events={};var c=/\s+/;var f=function(t,e,r,n,s){var a=0,h;if(r&&typeof r==="object"){if(n!==void 0&&"context"in s&&s.context===void 0)s.context=n;for(h=i.keys(r);athis.length)n=this.length;if(n<0)n+=this.length+1;var s=[];var a=[];var h=[];var o=[];var l={};var u=e.add;var c=e.merge;var f=e.remove;var d=false;var v=this.comparator&&n==null&&e.sort!==false;var g=i.isString(this.comparator)?this.comparator:null;var p,m;for(m=0;m7);this._useHashChange=this._wantsHashChange&&this._hasHashChange;this._wantsPushState=!!this.options.pushState;this._hasPushState=!!(this.history&&this.history.pushState);this._usePushState=this._wantsPushState&&this._hasPushState;this.fragment=this.getFragment();this.root=("/"+this.root+"/").replace(O,"/");if(this._wantsHashChange&&this._wantsPushState){if(!this._hasPushState&&!this.atRoot()){var e=this.root.slice(0,-1)||"/";this.location.replace(e+"#"+this.getPath());return true}else if(this._hasPushState&&this.atRoot()){this.navigate(this.getHash(),{replace:true})}}if(!this._hasHashChange&&this._wantsHashChange&&!this._usePushState){this.iframe=document.createElement("iframe");this.iframe.src="javascript:0";this.iframe.style.display="none";this.iframe.tabIndex=-1;var r=document.body;var n=r.insertBefore(this.iframe,r.firstChild).contentWindow;n.document.open();n.document.close();n.location.hash="#"+this.fragment}var s=window.addEventListener||function(t,e){return attachEvent("on"+t,e)};if(this._usePushState){s("popstate",this.checkUrl,false)}else if(this._useHashChange&&!this.iframe){s("hashchange",this.checkUrl,false)}else if(this._wantsHashChange){this._checkUrlInterval=setInterval(this.checkUrl,this.interval)}if(!this.options.silent)return this.loadUrl()},stop:function(){var t=window.removeEventListener||function(t,e){return detachEvent("on"+t,e)};if(this._usePushState){t("popstate",this.checkUrl,false)}else if(this._useHashChange&&!this.iframe){t("hashchange",this.checkUrl,false)}if(this.iframe){document.body.removeChild(this.iframe);this.iframe=null}if(this._checkUrlInterval)clearInterval(this._checkUrlInterval);N.started=false},route:function(t,e){this.handlers.unshift({route:t,callback:e})},checkUrl:function(t){var e=this.getFragment();if(e===this.fragment&&this.iframe){e=this.getHash(this.iframe.contentWindow)}if(e===this.fragment)return false;if(this.iframe)this.navigate(e);this.loadUrl()},loadUrl:function(t){if(!this.matchRoot())return false;t=this.fragment=this.getFragment(t);return i.some(this.handlers,function(e){if(e.route.test(t)){e.callback(t);return true}})},navigate:function(t,e){if(!N.started)return false;if(!e||e===true)e={trigger:!!e};t=this.getFragment(t||"");var i=this.root;if(t===""||t.charAt(0)==="?"){i=i.slice(0,-1)||"/"}var r=i+t;t=this.decodeFragment(t.replace(U,""));if(this.fragment===t)return;this.fragment=t;if(this._usePushState){this.history[e.replace?"replaceState":"pushState"]({},document.title,r)}else if(this._wantsHashChange){this._updateHash(this.location,t,e.replace);if(this.iframe&&t!==this.getHash(this.iframe.contentWindow)){var n=this.iframe.contentWindow;if(!e.replace){n.document.open();n.document.close()}this._updateHash(n.location,t,e.replace)}}else{return this.location.assign(r)}if(e.trigger)return this.loadUrl(t)},_updateHash:function(t,e,i){if(i){var r=t.href.replace(/(javascript:|#).*$/,"");t.replace(r+"#"+e)}else{t.hash="#"+e}}});e.history=new N;var q=function(t,e){var r=this;var n;if(t&&i.has(t,"constructor")){n=t.constructor}else{n=function(){return r.apply(this,arguments)}}i.extend(n,r,e);n.prototype=i.create(r.prototype,t);n.prototype.constructor=n;n.__super__=r.prototype;return n};y.extend=x.extend=$.extend=k.extend=N.extend=q;var F=function(){throw new Error('A "url" property or function must be specified')};var B=function(t,e){var i=e.error;e.error=function(r){if(i)i.call(e.context,t,r,e);t.trigger("error",t,r,e)}};return e}); // source --> http://milestones-route.eu/wp-content/plugins/wp-ultimate-search/js/visualsearch.min.js (function(){var $=jQuery;if(!window.VS)window.VS={};if(!VS.app)VS.app={};if(!VS.ui)VS.ui={};if(!VS.model)VS.model={};if(!VS.utils)VS.utils={};VS.VERSION='0.5.0';VS.VisualSearch=function(options){var defaults={container:'',query:'',autosearch:true,unquotable:[],remainder:'text',showFacets:true,readOnly:false,callbacks:{search:$.noop,focus:$.noop,blur:$.noop,facetMatches:$.noop,valueMatches:$.noop,clearSearch:$.noop,removedFacet:$.noop}};this.options=_.extend({},defaults,options);this.options.callbacks=_.extend({},defaults.callbacks,options.callbacks);VS.app.hotkeys.initialize();this.searchQuery=new VS.model.SearchQuery();this.searchBox=new VS.ui.SearchBox({app:this,showFacets:this.options.showFacets});if(options.container){var searchBox=this.searchBox.render().el;$(this.options.container).html(searchBox);} this.searchBox.value(this.options.query||'');$(window).bind('unload',function(e){});return this;};VS.init=function(options){return new VS.VisualSearch(options);};})();(function(){var $=jQuery;VS.ui.SearchBox=Backbone.View.extend({id:'search',events:{'click .VS-cancel-search-box':'clearSearch','mousedown .VS-search-box':'maybeFocusSearch','dblclick .VS-search-box':'highlightSearch','click .VS-search-box':'maybeTripleClick'},initialize:function(options){this.options=_.extend({},this.options,options);this.app=this.options.app;this.flags={allSelected:false};this.facetViews=[];this.inputViews=[];_.bindAll(this,'renderFacets','_maybeDisableFacets','disableFacets','deselectAllFacets','addedFacet','removedFacet','changedFacet');this.app.searchQuery.bind('reset',this.renderFacets).bind('add',this.addedFacet).bind('remove',this.removedFacet).bind('change',this.changedFacet);$(document).bind('keydown',this._maybeDisableFacets);},render:function(){$(this.el).append(JST['search_box']({readOnly:this.app.options.readOnly}));$(document.body).setMode('no','search');return this;},value:function(query){if(query==null)return this.serialize();return this.setQuery(query);},serialize:function(){var query=[];var inputViewsCount=this.inputViews.length;this.app.searchQuery.each(_.bind(function(facet,i){query.push(this.inputViews[i].value());query.push(facet.serialize());},this));if(inputViewsCount){query.push(this.inputViews[inputViewsCount-1].value());} return _.compact(query).join(' ');},selected:function(){return _.select(this.facetViews,function(view){return view.modes.editing=='is'||view.modes.selected=='is';});},selectedModels:function(){return _.pluck(this.selected(),'model');},setQuery:function(query){this.currentQuery=query;VS.app.SearchParser.parse(this.app,query);},viewPosition:function(view){var views=view.type=='facet'?this.facetViews:this.inputViews;var position=_.indexOf(views,view);if(position==-1)position=0;return position;},searchEvent:function(e){var query=this.value();this.focusSearch(e);this.value(query);this.app.options.callbacks.search(query,this.app.searchQuery);},addFacet:function(category,initialQuery,position){category=VS.utils.inflector.trim(category);initialQuery=VS.utils.inflector.trim(initialQuery||'');if(!category)return;var model=new VS.model.SearchFacet({category:category,value:initialQuery||'',app:this.app});this.app.searchQuery.add(model,{at:position});},addedFacet:function(model){this.renderFacets();var facetView=_.detect(this.facetViews,function(view){if(view.model==model)return true;});_.defer(function(){facetView.enableEdit();});},changedFacet:function(){this.renderFacets();},removedFacet:function(facet,query,options){this.app.options.callbacks.removedFacet(facet,query,options);},renderFacets:function(){this.facetViews=[];this.inputViews=[];this.$('.VS-search-inner').empty();this.app.searchQuery.each(_.bind(this.renderFacet,this));this.renderSearchInput();this.renderPlaceholder();},renderFacet:function(facet,position){var view=new VS.ui.SearchFacet({app:this.app,model:facet,order:position});this.renderSearchInput();this.facetViews.push(view);this.$('.VS-search-inner').children().eq(position*2).after(view.render().el);view.calculateSize();_.defer(_.bind(view.calculateSize,view));return view;},renderSearchInput:function(){var input=new VS.ui.SearchInput({position:this.inputViews.length,app:this.app,showFacets:this.options.showFacets});this.$('.VS-search-inner').append(input.render().el);this.inputViews.push(input);},renderPlaceholder:function(){var $placeholder=this.$('.VS-placeholder');if(this.app.searchQuery.length){$placeholder.addClass("VS-hidden");}else{$placeholder.removeClass("VS-hidden").text(this.app.options.placeholder);}},clearSearch:function(e){if(this.app.options.readOnly)return;var actualClearSearch=_.bind(function(){this.disableFacets();this.value('');this.flags.allSelected=false;this.searchEvent(e);this.focusSearch(e);},this);if(this.app.options.callbacks.clearSearch!=$.noop){this.app.options.callbacks.clearSearch(actualClearSearch);}else{actualClearSearch();}},selectAllFacets:function(){this.flags.allSelected=true;$(document).one('click.selectAllFacets',this.deselectAllFacets);_.each(this.facetViews,function(facetView,i){facetView.selectFacet();});_.each(this.inputViews,function(inputView,i){inputView.selectText();});},allSelected:function(deselect){if(deselect)this.flags.allSelected=false;return this.flags.allSelected;},deselectAllFacets:function(e){this.disableFacets();if(this.$(e.target).is('.category,input')){var el=$(e.target).closest('.search_facet,.search_input');var view=_.detect(this.facetViews.concat(this.inputViews),function(v){return v.el==el[0];});if(view.type=='facet'){view.selectFacet();}else if(view.type=='input'){_.defer(function(){view.enableEdit(true);});}}},disableFacets:function(keepView){_.each(this.inputViews,function(view){if(view&&view!=keepView&&(view.modes.editing=='is'||view.modes.selected=='is')){view.disableEdit();}});_.each(this.facetViews,function(view){if(view&&view!=keepView&&(view.modes.editing=='is'||view.modes.selected=='is')){view.disableEdit();view.deselectFacet();}});this.flags.allSelected=false;this.removeFocus();$(document).unbind('click.selectAllFacets');},resizeFacets:function(view){_.each(this.facetViews,function(facetView,i){if(!view||facetView==view){facetView.resize();}});},_maybeDisableFacets:function(e){if(this.flags.allSelected&&VS.app.hotkeys.key(e)=='backspace'){e.preventDefault();this.clearSearch(e);return false;}else if(this.flags.allSelected&&VS.app.hotkeys.printable(e)){this.clearSearch(e);}},focusNextFacet:function(currentView,direction,options){options=options||{};var viewCount=this.facetViews.length;var viewPosition=options.viewPosition||this.viewPosition(currentView);if(!options.skipToFacet){if(currentView.type=='text'&&direction>0)direction-=1;if(currentView.type=='facet'&&direction<0)direction+=1;}else if(options.skipToFacet&¤tView.type=='text'&&viewCount==viewPosition&&direction>=0){return false;} var view,next=Math.min(viewCount,viewPosition+direction);if(currentView.type=='text'){if(next>=0&&next=viewCount||next<0){view=_.last(this.inputViews);view.enableEdit();}else{view=this.facetViews[next];view.enableEdit();view.setCursorAtEnd(direction||options.startAtEnd);}}else{view=this.inputViews[next];view.enableEdit();}} if(options.selectText)view.selectText();this.resizeFacets();return true;},maybeFocusSearch:function(e){if(this.app.options.readOnly)return;if($(e.target).is('.VS-search-box')||$(e.target).is('.VS-search-inner')||e.type=='keydown'){this.focusSearch(e);}},focusSearch:function(e,selectText){if(this.app.options.readOnly)return;var view=this.inputViews[this.inputViews.length-1];view.enableEdit(selectText);if(!selectText)view.setCursorAtEnd(-1);if(e.type=='keydown'){view.keydown(e);view.box.trigger('keydown');} _.defer(_.bind(function(){if(!this.$('input:focus').length){view.enableEdit(selectText);}},this));},highlightSearch:function(e){if(this.app.options.readOnly)return;if($(e.target).is('.VS-search-box')||$(e.target).is('.VS-search-inner')||e.type=='keydown'){var lastinput=this.inputViews[this.inputViews.length-1];lastinput.startTripleClickTimer();this.focusSearch(e,true);}},maybeTripleClick:function(e){var lastinput=this.inputViews[this.inputViews.length-1];return lastinput.maybeTripleClick(e);},addFocus:function(){if(this.app.options.readOnly)return;this.app.options.callbacks.focus();this.$('.VS-search-box').addClass('VS-focus');},removeFocus:function(){this.app.options.callbacks.blur();var focus=_.any(this.facetViews.concat(this.inputViews),function(view){return view.isFocused();});if(!focus)this.$('.VS-search-box').removeClass('VS-focus');},showFacetCategoryMenu:function(e){e.preventDefault();e.stopPropagation();if(this.facetCategoryMenu&&this.facetCategoryMenu.modes.open=='is'){return this.facetCategoryMenu.close();} var items=[{title:'Account',onClick:_.bind(this.addFacet,this,'account','')},{title:'Project',onClick:_.bind(this.addFacet,this,'project','')},{title:'Filter',onClick:_.bind(this.addFacet,this,'filter','')},{title:'Access',onClick:_.bind(this.addFacet,this,'access','')}];var menu=this.facetCategoryMenu||(this.facetCategoryMenu=new dc.ui.Menu({items:items,standalone:true}));this.$('.VS-icon-search').after(menu.render().open().content);return false;}});})();(function(){var $=jQuery;VS.ui.SearchFacet=Backbone.View.extend({type:'facet',className:'search_facet',events:{'click .category':'selectFacet','keydown input':'keydown','mousedown input':'enableEdit','mouseover .VS-icon-cancel':'showDelete','mouseout .VS-icon-cancel':'hideDelete','click .VS-icon-cancel':'remove'},initialize:function(options){this.options=_.extend({},this.options,options);this.flags={canClose:false};_.bindAll(this,'set','keydown','deselectFacet','deferDisableEdit');this.app=this.options.app;},render:function(){$(this.el).html(JST['search_facet']({model:this.model,readOnly:this.app.options.readOnly}));this.setMode('not','editing');this.setMode('not','selected');this.box=this.$('input');this.box.val(this.model.label());this.box.bind('blur',this.deferDisableEdit);this.box.bind('input propertychange',this.keydown);this.setupAutocomplete();return this;},calculateSize:function(){this.box.autoGrowInput();this.box.unbind('updated.autogrow');this.box.bind('updated.autogrow',_.bind(this.moveAutocomplete,this));},resize:function(e){this.box.trigger('resize.autogrow',e);},setupAutocomplete:function(){this.box.autocomplete({source:_.bind(this.autocompleteValues,this),minLength:0,delay:0,autoFocus:true,position:{offset:"0 5"},create:_.bind(function(e,ui){$(this.el).find('.ui-autocomplete-input').css('z-index','auto');},this),select:_.bind(function(e,ui){e.preventDefault();var originalValue=this.model.get('value');this.set(ui.item.value);if(originalValue!=ui.item.value||this.box.val()!=ui.item.value){if(this.app.options.autosearch){this.search(e);}else{this.app.searchBox.renderFacets();this.app.searchBox.focusNextFacet(this,1,{viewPosition:this.options.order});}} return false;},this),open:_.bind(function(e,ui){var box=this.box;this.box.autocomplete('widget').find('.ui-menu-item').each(function(){var $value=$(this),autoCompleteData=$value.data('item.autocomplete')||$value.data('ui-autocomplete-item');if(autoCompleteData['value']==box.val()&&box.data('ui-autocomplete').menu.activate){box.data('ui-autocomplete').menu.activate(new $.Event("mouseover"),$value);}});},this)});this.box.autocomplete('widget').addClass('VS-interface');},moveAutocomplete:function(){var autocomplete=this.box.data('ui-autocomplete');if(autocomplete){autocomplete.menu.element.position({my:"left top",at:"left bottom",of:this.box.data('ui-autocomplete').element,collision:"flip",offset:"0 5"});}},searchAutocomplete:function(e){var autocomplete=this.box.data('ui-autocomplete');if(autocomplete){var menu=autocomplete.menu.element;autocomplete.search();menu.outerWidth(Math.max(menu.width('').outerWidth(),autocomplete.element.outerWidth()));}},closeAutocomplete:function(){var autocomplete=this.box.data('ui-autocomplete');if(autocomplete)autocomplete.close();},autocompleteValues:function(req,resp){var category=this.model.get('category');var value=this.model.get('value');var searchTerm=req.term;this.app.options.callbacks.valueMatches(category,searchTerm,function(matches,options){options=options||{};matches=matches||[];if(searchTerm&&value!=searchTerm){if(options.preserveMatches){resp(matches);}else{var re=VS.utils.inflector.escapeRegExp(searchTerm||'');var matcher=new RegExp('\\b'+re,'i');matches=$.grep(matches,function(item){return matcher.test(item)||matcher.test(item.value)||matcher.test(item.label);});}} if(options.preserveOrder){resp(matches);}else{resp(_.sortBy(matches,function(match){if(match==value||match.value==value)return'';else return match;}));}});},set:function(value){if(!value)return;this.model.set({'value':value});},search:function(e,direction){if(!direction)direction=1;this.closeAutocomplete();this.app.searchBox.searchEvent(e);_.defer(_.bind(function(){this.app.searchBox.focusNextFacet(this,direction,{viewPosition:this.options.order});},this));},enableEdit:function(){if(this.app.options.readOnly)return;if(this.modes.editing!='is'){this.setMode('is','editing');this.deselectFacet();if(this.box.val()==''){this.box.val(this.model.get('value'));}} this.flags.canClose=false;this.app.searchBox.disableFacets(this);this.app.searchBox.addFocus();_.defer(_.bind(function(){this.app.searchBox.addFocus();},this));this.resize();this.searchAutocomplete();this.box.focus();},deferDisableEdit:function(){this.flags.canClose=true;_.delay(_.bind(function(){if(this.flags.canClose&&!this.box.is(':focus')&&this.modes.editing=='is'&&this.modes.selected!='is'){this.disableEdit();}},this),250);},disableEdit:function(){var newFacetQuery=VS.utils.inflector.trim(this.box.val());if(newFacetQuery!=this.model.get('value')){this.set(newFacetQuery);} this.flags.canClose=false;this.box.selectRange(0,0);this.box.blur();this.setMode('not','editing');this.closeAutocomplete();this.app.searchBox.removeFocus();},selectFacet:function(e){if(e)e.preventDefault();if(this.app.options.readOnly)return;var allSelected=this.app.searchBox.allSelected();if(this.modes.selected=='is')return;if(this.box.is(':focus')){this.box.setCursorPosition(0);this.box.blur();} this.flags.canClose=false;this.closeAutocomplete();this.setMode('is','selected');this.setMode('not','editing');if(!allSelected||e){$(document).unbind('keydown.facet',this.keydown);$(document).unbind('click.facet',this.deselectFacet);_.defer(_.bind(function(){$(document).unbind('keydown.facet').bind('keydown.facet',this.keydown);$(document).unbind('click.facet').one('click.facet',this.deselectFacet);},this));this.app.searchBox.disableFacets(this);this.app.searchBox.addFocus();} return false;},deselectFacet:function(e){if(e)e.preventDefault();if(this.modes.selected=='is'){this.setMode('not','selected');this.closeAutocomplete();this.app.searchBox.removeFocus();} $(document).unbind('keydown.facet',this.keydown);$(document).unbind('click.facet',this.deselectFacet);return false;},isFocused:function(){return this.box.is(':focus');},showDelete:function(){$(this.el).addClass('search_facet_maybe_delete');},hideDelete:function(){$(this.el).removeClass('search_facet_maybe_delete');},setCursorAtEnd:function(direction){if(direction==-1){this.box.setCursorPosition(this.box.val().length);}else{this.box.setCursorPosition(0);}},remove:function(e){var committed=this.model.get('value');this.deselectFacet();this.disableEdit();this.app.searchQuery.remove(this.model);if(committed&&this.app.options.autosearch){this.search(e,-1);}else{this.app.searchBox.renderFacets();this.app.searchBox.focusNextFacet(this,-1,{viewPosition:this.options.order});}},selectText:function(){this.box.selectRange(0,this.box.val().length);},keydown:function(e){var key=VS.app.hotkeys.key(e);if(key=='enter'&&this.box.val()){this.disableEdit();this.search(e);}else if(key=='left'){if(this.modes.selected=='is'){this.deselectFacet();this.app.searchBox.focusNextFacet(this,-1,{startAtEnd:-1});}else if(this.box.getCursorPosition()==0&&!this.box.getSelection().length){this.selectFacet();}}else if(key=='right'){if(this.modes.selected=='is'){e.preventDefault();this.deselectFacet();this.setCursorAtEnd(0);this.enableEdit();}else if(this.box.getCursorPosition()==this.box.val().length){e.preventDefault();this.disableEdit();this.app.searchBox.focusNextFacet(this,1);}}else if(VS.app.hotkeys.shift&&key=='tab'){e.preventDefault();this.app.searchBox.focusNextFacet(this,-1,{startAtEnd:-1,skipToFacet:true,selectText:true});}else if(key=='tab'){e.preventDefault();this.app.searchBox.focusNextFacet(this,1,{skipToFacet:true,selectText:true});}else if(VS.app.hotkeys.command&&(e.which==97||e.which==65)){e.preventDefault();this.app.searchBox.selectAllFacets();return false;}else if(VS.app.hotkeys.printable(e)&&this.modes.selected=='is'){this.app.searchBox.focusNextFacet(this,-1,{startAtEnd:-1});this.remove(e);}else if(key=='backspace'){$(document).on('keydown.backspace',function(e){if(VS.app.hotkeys.key(e)==='backspace'){e.preventDefault();}});$(document).on('keyup.backspace',function(e){$(document).off('.backspace');});if(this.modes.selected=='is'){e.preventDefault();this.remove(e);}else if(this.box.getCursorPosition()==0&&!this.box.getSelection().length){e.preventDefault();this.selectFacet();} e.stopPropagation();} if(e.which==null){_.defer(_.bind(this.resize,this,e));}else{this.resize(e);}}});})();(function(){var $=jQuery;VS.ui.SearchInput=Backbone.View.extend({type:'text',className:'search_input ui-menu',events:{'keypress input':'keypress','keydown input':'keydown','keyup input':'keyup','click input':'maybeTripleClick','dblclick input':'startTripleClickTimer'},initialize:function(options){this.options=_.extend({},this.options,options);this.app=this.options.app;this.flags={canClose:false};_.bindAll(this,'removeFocus','addFocus','moveAutocomplete','deferDisableEdit');},render:function(){$(this.el).html(JST['search_input']({readOnly:this.app.options.readOnly}));this.setMode('not','editing');this.setMode('not','selected');this.box=this.$('input');this.box.autoGrowInput();this.box.bind('updated.autogrow',this.moveAutocomplete);this.box.bind('blur',this.deferDisableEdit);this.box.bind('focus',this.addFocus);this.setupAutocomplete();return this;},setupAutocomplete:function(){this.box.autocomplete({minLength:this.options.showFacets?0:1,delay:50,autoFocus:true,position:{offset:"0 -1"},source:_.bind(this.autocompleteValues,this),focus:function(){return false;},create:_.bind(function(e,ui){$(this.el).find('.ui-autocomplete-input').css('z-index','auto');},this),select:_.bind(function(e,ui){e.preventDefault();var remainder=this.addTextFacetRemainder(ui.item.label||ui.item.value);var position=this.options.position+(remainder?1:0);this.app.searchBox.addFacet(ui.item instanceof String?ui.item:ui.item.value,'',position);return false;},this)});this.box.data('ui-autocomplete')._renderMenu=function(ul,items){var category='';_.each(items,_.bind(function(item,i){if(item.category&&item.category!=category){ul.append('
  • '+item.category+'
  • ');category=item.category;} if(this._renderItemData){this._renderItemData(ul,item);}else{this._renderItem(ul,item);}},this));};this.box.autocomplete('widget').addClass('VS-interface');},autocompleteValues:function(req,resp){var searchTerm=req.term;var lastWord=searchTerm.match(/\w+\*?$/);var re=VS.utils.inflector.escapeRegExp(lastWord&&lastWord[0]||'');this.app.options.callbacks.facetMatches(function(prefixes,options){options=options||{};prefixes=prefixes||[];var matcher=new RegExp('^'+re,'i');var matches=$.grep(prefixes,function(item){return item&&matcher.test(item.label||item);});if(options.preserveOrder){resp(matches);}else{resp(_.sortBy(matches,function(match){if(match.label)return match.category+'-'+match.label;else return match;}));}});},closeAutocomplete:function(){var autocomplete=this.box.data('ui-autocomplete');if(autocomplete)autocomplete.close();},moveAutocomplete:function(){var autocomplete=this.box.data('ui-autocomplete');if(autocomplete){autocomplete.menu.element.position({my:"left top",at:"left bottom",of:this.box.data('ui-autocomplete').element,collision:"none",offset:'0 -1'});}},searchAutocomplete:function(e){var autocomplete=this.box.data('ui-autocomplete');if(autocomplete){var menu=autocomplete.menu.element;autocomplete.search();menu.outerWidth(Math.max(menu.width('').outerWidth(),autocomplete.element.outerWidth()));}},addTextFacetRemainder:function(facetValue){var boxValue=this.box.val();var lastWord=boxValue.match(/\b(\w+)$/);if(!lastWord){return'';} var matcher=new RegExp(lastWord[0],"i");if(facetValue.search(matcher)==0){boxValue=boxValue.replace(/\b(\w+)$/,'');} boxValue=boxValue.replace('^\s+|\s+$','');if(boxValue){this.app.searchBox.addFacet(this.app.options.remainder,boxValue,this.options.position);} return boxValue;},enableEdit:function(selectText){this.addFocus();if(selectText){this.selectText();} this.box.focus();},addFocus:function(){this.flags.canClose=false;if(!this.app.searchBox.allSelected()){this.app.searchBox.disableFacets(this);} this.app.searchBox.addFocus();this.setMode('is','editing');this.setMode('not','selected');if(!this.app.searchBox.allSelected()){this.searchAutocomplete();}},disableEdit:function(){this.box.blur();this.removeFocus();},removeFocus:function(){this.flags.canClose=false;this.app.searchBox.removeFocus();this.setMode('not','editing');this.setMode('not','selected');this.closeAutocomplete();},deferDisableEdit:function(){this.flags.canClose=true;_.delay(_.bind(function(){if(this.flags.canClose&&!this.box.is(':focus')&&this.modes.editing=='is'){this.disableEdit();}},this),250);},startTripleClickTimer:function(){this.tripleClickTimer=setTimeout(_.bind(function(){this.tripleClickTimer=null;},this),500);},maybeTripleClick:function(e){if(this.app.options.readOnly)return;if(!!this.tripleClickTimer){e.preventDefault();this.app.searchBox.selectAllFacets();return false;}},isFocused:function(){return this.box.is(':focus');},value:function(){return this.box.val();},setCursorAtEnd:function(direction){if(direction==-1){this.box.setCursorPosition(this.box.val().length);}else{this.box.setCursorPosition(0);}},selectText:function(){this.box.selectRange(0,this.box.val().length);if(!this.app.searchBox.allSelected()){this.box.focus();}else{this.setMode('is','selected');}},search:function(e,direction){if(!direction)direction=0;this.closeAutocomplete();this.app.searchBox.searchEvent(e);_.defer(_.bind(function(){this.app.searchBox.focusNextFacet(this,direction);},this));},keypress:function(e){var key=VS.app.hotkeys.key(e);if(key=='enter'){return this.search(e,100);}else if(VS.app.hotkeys.colon(e)){this.box.trigger('resize.autogrow',e);var query=this.box.val();var prefixes=[];this.app.options.callbacks.facetMatches(function(p){prefixes=p;});var labels=_.map(prefixes,function(prefix){if(prefix.label)return prefix.label;else return prefix;});if(_.contains(labels,query)){e.preventDefault();var remainder=this.addTextFacetRemainder(query);var position=this.options.position+(remainder?1:0);this.app.searchBox.addFacet(query,'',position);return false;}}else if(key=='backspace'){if(this.box.getCursorPosition()==0&&!this.box.getSelection().length){e.preventDefault();e.stopPropagation();e.stopImmediatePropagation();this.app.searchBox.resizeFacets();return false;}}},keydown:function(e){var key=VS.app.hotkeys.key(e);if(key=='left'){if(this.box.getCursorPosition()==0){e.preventDefault();this.app.searchBox.focusNextFacet(this,-1,{startAtEnd:-1});}}else if(key=='right'){if(this.box.getCursorPosition()==this.box.val().length){e.preventDefault();this.app.searchBox.focusNextFacet(this,1,{selectFacet:true});}}else if(VS.app.hotkeys.shift&&key=='tab'){e.preventDefault();this.app.searchBox.focusNextFacet(this,-1,{selectText:true});}else if(key=='tab'){var value=this.box.val();if(value.length){e.preventDefault();var remainder=this.addTextFacetRemainder(value);var position=this.options.position+(remainder?1:0);if(value!=remainder){this.app.searchBox.addFacet(value,'',position);}}else{var foundFacet=this.app.searchBox.focusNextFacet(this,0,{skipToFacet:true,selectText:true});if(foundFacet){e.preventDefault();}}}else if(VS.app.hotkeys.command&&String.fromCharCode(e.which).toLowerCase()=='a'){e.preventDefault();this.app.searchBox.selectAllFacets();return false;}else if(key=='backspace'&&!this.app.searchBox.allSelected()){if(this.box.getCursorPosition()==0&&!this.box.getSelection().length){e.preventDefault();this.app.searchBox.focusNextFacet(this,-1,{backspace:true});return false;}}else if(key=='end'){var view=this.app.searchBox.inputViews[this.app.searchBox.inputViews.length-1];view.setCursorAtEnd(-1);}else if(key=='home'){var view=this.app.searchBox.inputViews[0];view.setCursorAtEnd(-1);}},keyup:function(e){this.box.trigger('resize.autogrow',e);}});})();(function(){var $=jQuery;Backbone.View.prototype.setMode=function(mode,group){this.modes||(this.modes={});if(this.modes[group]===mode)return;$(this.el).setMode(mode,group);this.modes[group]=mode;};})();(function(){var $=jQuery;VS.app.hotkeys={KEYS:{'16':'shift','17':'command','91':'command','93':'command','224':'command','13':'enter','37':'left','38':'upArrow','39':'right','40':'downArrow','46':'delete','8':'backspace','35':'end','36':'home','9':'tab','188':'comma'},initialize:function(){_.bindAll(this,'down','up','blur');$(document).bind('keydown',this.down);$(document).bind('keyup',this.up);$(window).bind('blur',this.blur);},down:function(e){var key=this.KEYS[e.which];if(key)this[key]=true;},up:function(e){var key=this.KEYS[e.which];if(key)this[key]=false;},blur:function(e){for(var key in this.KEYS)this[this.KEYS[key]]=false;},key:function(e){return this.KEYS[e.which];},colon:function(e){var charCode=e.which;return charCode&&String.fromCharCode(charCode)==":";},printable:function(e){var code=e.which;if(e.type=='keydown'){if(code==32||(code>=48&&code<=90)||(code>=96&&code<=111)||(code>=186&&code<=192)||(code>=219&&code<=222)){return true;}}else{if((code>=32&&code<=126)||(code>=160&&code<=500)||(String.fromCharCode(code)==":")){return true;}} return false;}};})();(function(){var $=jQuery;VS.utils.inflector={trim:function(s){return s.trim?s.trim():s.replace(/^\s+|\s+$/g,'');},escapeRegExp:function(s){return s.replace(/([.*+?^${}()|[\]\/\\])/g,'\\$1');}};})();(function(){var $=jQuery;$.fn.extend({setMode:function(state,group){group=group||'mode';var re=new RegExp("\\w+_"+group+"(\\s|$)",'g');var mode=(state===null)?"":state+"_"+group;this.each(function(){this.className=(this.className.replace(re,'')+' '+mode).replace(/\s\s/g,' ');});return mode;},autoGrowInput:function(){return this.each(function(){var $input=$(this);var $tester=$('
    ').css({opacity:0,top:-9999,left:-9999,position:'absolute',whiteSpace:'nowrap'}).addClass('VS-input-width-tester').addClass('VS-interface');var events='keydown.autogrow keypress.autogrow '+'resize.autogrow change.autogrow';$input.next('.VS-input-width-tester').remove();$input.after($tester);$input.unbind(events).bind(events,function(e,realEvent){if(realEvent)e=realEvent;var value=$input.val();if(VS.app.hotkeys.key(e)=='backspace'){var position=$input.getCursorPosition();if(position>0)value=value.slice(0,position-1)+ value.slice(position,value.length);}else if(VS.app.hotkeys.printable(e)&&!VS.app.hotkeys.command){value+=String.fromCharCode(e.which);} value=value.replace(/&/g,'&').replace(/\s/g,' ').replace(//g,'>');$tester.html(value);$input.width($tester.width()+3+parseInt($input.css('min-width')));$input.trigger('updated.autogrow');});$input.trigger('resize.autogrow');});},getCursorPosition:function(){var position=0;var input=this.get(0);if(document.selection){input.focus();var sel=document.selection.createRange();var selLen=document.selection.createRange().text.length;sel.moveStart('character',-input.value.length);position=sel.text.length-selLen;}else if(input&&$(input).is(':visible')&&input.selectionStart!=null){position=input.selectionStart;} return position;},setCursorPosition:function(position){return this.each(function(){return $(this).selectRange(position,position);});},selectRange:function(start,end){return this.filter(':visible').each(function(){if(this.setSelectionRange){this.focus();this.setSelectionRange(start,end);}else if(this.createTextRange){var range=this.createTextRange();range.collapse(true);range.moveEnd('character',end);range.moveStart('character',start);if(end-start>=0)range.select();}});},getSelection:function(){var input=this[0];if(input.selectionStart!=null){var start=input.selectionStart;var end=input.selectionEnd;return{start:start,end:end,length:end-start,text:input.value.substr(start,end-start)};}else if(document.selection){var range=document.selection.createRange();if(range){var textRange=input.createTextRange();var copyRange=textRange.duplicate();textRange.moveToBookmark(range.getBookmark());copyRange.setEndPoint('EndToStart',textRange);var start=copyRange.text.length;var end=start+range.text.length;return{start:start,end:end,length:end-start,text:range.text};}} return{start:0,end:0,length:0};}});if(false){window.console={};var _$ied;window.console.log=function(msg){if(_.isArray(msg)){var message=msg[0];var vars=_.map(msg.slice(1),function(arg){return JSON.stringify(arg);}).join(' - ');} if(!_$ied){_$ied=$('
      ').css({'position':'fixed','bottom':10,'left':10,'zIndex':20000,'width':$('body').width()-80,'border':'1px solid #000','padding':'10px','backgroundColor':'#fff','fontFamily':'arial,helvetica,sans-serif','fontSize':'11px'});$('body').append(_$ied);} var $message=$('
    1. '+message+' - '+vars+'
    2. ').css({'borderBottom':'1px solid #999999'});_$ied.find('ol').append($message);_.delay(function(){$message.fadeOut(500);},5000);};}})();(function(){var $=jQuery;var QUOTES_RE="('[^']+'|\"[^\"]+\")";var FREETEXT_RE="('[^']+'|\"[^\"]+\"|[^'\"\\s]\\S*)";var CATEGORY_RE=FREETEXT_RE+':\\s*';VS.app.SearchParser={ALL_FIELDS:new RegExp(CATEGORY_RE+FREETEXT_RE,'g'),CATEGORY:new RegExp(CATEGORY_RE),parse:function(instance,query){var searchFacets=this._extractAllFacets(instance,query);instance.searchQuery.reset(searchFacets);return searchFacets;},_extractAllFacets:function(instance,query){var facets=[];var originalQuery=query;while(query){var category,value;originalQuery=query;var field=this._extractNextField(query);if(!field){category=instance.options.remainder;value=this._extractSearchText(query);query=VS.utils.inflector.trim(query.replace(value,''));}else if(field.indexOf(':')!=-1){category=field.match(this.CATEGORY)[1].replace(/(^['"]|['"]$)/g,'');value=field.replace(this.CATEGORY,'').replace(/(^['"]|['"]$)/g,'');query=VS.utils.inflector.trim(query.replace(field,''));}else if(field.indexOf(':')==-1){category=instance.options.remainder;value=field;query=VS.utils.inflector.trim(query.replace(value,''));} if(category&&value){var searchFacet=new VS.model.SearchFacet({category:category,value:VS.utils.inflector.trim(value),app:instance});facets.push(searchFacet);} if(originalQuery==query)break;} return facets;},_extractNextField:function(query){var textRe=new RegExp('^\\s*(\\S+)\\s+(?='+QUOTES_RE+FREETEXT_RE+')');var textMatch=query.match(textRe);if(textMatch&&textMatch.length>=1){return textMatch[1];}else{return this._extractFirstField(query);}},_extractFirstField:function(query){var fields=query.match(this.ALL_FIELDS);return fields&&fields.length&&fields[0];},_extractSearchText:function(query){query=query||'';var text=VS.utils.inflector.trim(query.replace(this.ALL_FIELDS,''));return text;}};})();(function(){var $=jQuery;VS.model.SearchFacet=Backbone.Model.extend({serialize:function(){var category=this.quoteCategory(this.get('category'));var value=VS.utils.inflector.trim(this.get('value'));var remainder=this.get("app").options.remainder;if(!value)return'';if(!_.contains(this.get("app").options.unquotable||[],category)&&category!=remainder){value=this.quoteValue(value);} if(category!=remainder){category=category+': ';}else{category="";} return category+value;},quoteCategory:function(category){var hasDoubleQuote=(/"/).test(category);var hasSingleQuote=(/'/).test(category);var hasSpace=(/\s/).test(category);if(hasDoubleQuote&&!hasSingleQuote){return"'"+category+"'";}else if(hasSpace||(hasSingleQuote&&!hasDoubleQuote)){return'"'+category+'"';}else{return category;}},quoteValue:function(value){var hasDoubleQuote=(/"/).test(value);var hasSingleQuote=(/'/).test(value);if(hasDoubleQuote&&!hasSingleQuote){return"'"+value+"'";}else{return'"'+value+'"';}},label:function(){return this.get('label')||this.get('value');}});})();(function(){var $=jQuery;VS.model.SearchQuery=Backbone.Collection.extend({model:VS.model.SearchFacet,serialize:function(){return this.map(function(facet){return facet.serialize();}).join(' ');},facets:function(){return this.map(function(facet){var value={};value[facet.get('category')]=facet.get('value');return value;});},find:function(category){var facet=this.detect(function(facet){return facet.get('category').toLowerCase()==category.toLowerCase();});return facet&&facet.get('value');},count:function(category){return this.select(function(facet){return facet.get('category').toLowerCase()==category.toLowerCase();}).length;},values:function(category){var facets=this.select(function(facet){return facet.get('category').toLowerCase()==category.toLowerCase();});return _.map(facets,function(facet){return facet.get('value');});},has:function(category,value){return this.any(function(facet){var categoryMatched=facet.get('category').toLowerCase()==category.toLowerCase();if(!value)return categoryMatched;return categoryMatched&&facet.get('value')==value;});},withoutCategory:function(){var categories=_.map(_.toArray(arguments),function(cat){return cat.toLowerCase();});return this.map(function(facet){if(!_.include(categories,facet.get('category').toLowerCase())){return facet.serialize();};}).join(' ');}});})();(function(){window.JST=window.JST||{};window.JST['search_box']=_.template('');window.JST['search_facet']=_.template('<% if (model.has(\'category\')) { %>\n
      <%= model.get(\'category\') %>:
      \n<% } %>\n\n
      \n disabled="disabled"<% } %> />\n
      \n\n
      ');window.JST['search_input']=_.template('disabled="disabled"<% } %> />');})();