/* Minification failed. Returning unminified contents.
(424,15-16): run-time error JS1005: Expected '(': {
(427,5-6): run-time error JS1006: Expected ')': }
(427,5-6): run-time error JS1008: Expected '{': }
(505,2-3): run-time error JS1195: Expected expression: )
(399,28-39): run-time error JS1301: End of file encountered before function is properly closed: function ()
(1581,1): run-time error JS1107: Expecting more source characters
(211,20-30): run-time error JS1301: End of file encountered before function is properly closed: function()
(1581,1): run-time error JS1107: Expecting more source characters
(1581,1): run-time error JS1006: Expected ')'
 */
// Unobtrusive Ajax support library for jQuery
// Copyright (c) .NET Foundation. All rights reserved.
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
// @version v3.2.6
// 
// Microsoft grants you the right to use these script files for the sole
// purpose of either: (i) interacting through your browser with the Microsoft
// website or online service, subject to the applicable licensing or use
// terms; or (ii) using the files as included with a Microsoft product subject
// to that product's license terms. Microsoft reserves all other rights to the
// files not expressly granted by Microsoft, whether by implication, estoppel
// or otherwise. Insofar as a script file is dual licensed under GPL,
// Microsoft neither took the code under GPL nor distributes it thereunder but
// under the terms set out in this paragraph. All notices and licenses
// below are for informational purposes only.
!function(t){function a(t,a){for(var e=window,r=(t||"").split(".");e&&r.length;)e=e[r.shift()];return"function"==typeof e?e:(a.push(t),Function.constructor.apply(null,a))}function e(t){return"GET"===t||"POST"===t}function r(t,a){e(a)||t.setRequestHeader("X-HTTP-Method-Override",a)}function n(a,e,r){var n;r.indexOf("application/x-javascript")===-1&&(n=(a.getAttribute("data-ajax-mode")||"").toUpperCase(),t(a.getAttribute("data-ajax-update")).each(function(a,r){switch(n){case"BEFORE":t(r).prepend(e);break;case"AFTER":t(r).append(e);break;case"REPLACE-WITH":t(r).replaceWith(e);break;default:t(r).html(e)}}))}function i(i,u){var o,c,d,s;if(o=i.getAttribute("data-ajax-confirm"),!o||window.confirm(o)){c=t(i.getAttribute("data-ajax-loading")),s=parseInt(i.getAttribute("data-ajax-loading-duration"),10)||0,t.extend(u,{type:i.getAttribute("data-ajax-method")||void 0,url:i.getAttribute("data-ajax-url")||void 0,cache:"true"===(i.getAttribute("data-ajax-cache")||"").toLowerCase(),beforeSend:function(t){var e;return r(t,d),e=a(i.getAttribute("data-ajax-begin"),["xhr"]).apply(i,arguments),e!==!1&&c.show(s),e},complete:function(){c.hide(s),a(i.getAttribute("data-ajax-complete"),["xhr","status"]).apply(i,arguments)},success:function(t,e,r){n(i,t,r.getResponseHeader("Content-Type")||"text/html"),a(i.getAttribute("data-ajax-success"),["data","status","xhr"]).apply(i,arguments)},error:function(){a(i.getAttribute("data-ajax-failure"),["xhr","status","error"]).apply(i,arguments)}}),u.data.push({name:"X-Requested-With",value:"XMLHttpRequest"}),d=u.type.toUpperCase(),e(d)||(u.type="POST",u.data.push({name:"X-HTTP-Method-Override",value:d}));var p=t(i);if(p.is("form")&&"multipart/form-data"==p.attr("enctype")){var f=new FormData;t.each(u.data,function(t,a){f.append(a.name,a.value)}),t("input[type=file]",p).each(function(){var a=this;t.each(a.files,function(t,e){f.append(a.name,e)})}),t.extend(u,{processData:!1,contentType:!1,data:f})}t.ajax(u)}}function u(a){var e=t(a).data(d);return!e||!e.validate||e.validate()}var o="unobtrusiveAjaxClick",c="unobtrusiveAjaxClickTarget",d="unobtrusiveValidation";t(document).on("click","a[data-ajax=true]",function(t){t.preventDefault(),i(this,{url:this.href,type:"GET",data:[]})}),t(document).on("click","form[data-ajax=true] input[type=image]",function(a){var e=a.target.name,r=t(a.target),n=t(r.parents("form")[0]),i=r.offset();n.data(o,[{name:e+".x",value:Math.round(a.pageX-i.left)},{name:e+".y",value:Math.round(a.pageY-i.top)}]),setTimeout(function(){n.removeData(o)},0)}),t(document).on("click","form[data-ajax=true] :submit",function(a){var e=a.currentTarget.name,r=t(a.target),n=t(r.parents("form")[0]);n.data(o,e?[{name:e,value:a.currentTarget.value}]:[]),n.data(c,r),setTimeout(function(){n.removeData(o),n.removeData(c)},0)}),t(document).on("submit","form[data-ajax=true]",function(a){var e=t(this).data(o)||[],r=t(this).data(c),n=r&&(r.hasClass("cancel")||void 0!==r.attr("formnovalidate"));a.preventDefault(),(n||u(this))&&i(this,{url:this.action,type:this.method||"GET",data:e.concat(t(this).serializeArray())})})}(jQuery);;
/**
 * @preserve
 * bootpag - jQuery plugin for dynamic pagination
 *
 * Copyright (c) 2015 botmonster@7items.com
 *
 * Licensed under the MIT license:
 *   http://www.opensource.org/licenses/mit-license.php
 *
 * Project home:
 *   http://botmonster.com/jquery-bootpag/
 *
 * Version:  1.0.7
 *
 */
(function ($, window) {

    $.fn.bootpag = function (options) {

        var $owner = this,
            settings = $.extend({
                total: 0,
                page: 1,
                maxVisible: null,
                leaps: true,
                href: 'javascript:void(0);',
                hrefVariable: '{{number}}',
                next: '&raquo;',
                prev: '&laquo;',
                firstLastUse: false,
                first: '<span aria-hidden="true">&larr;</span>',
                last: '<span aria-hidden="true">&rarr;</span>',
                wrapClass: 'pagination',
                activeClass: 'active',
                disabledClass: 'disabled',
                nextClass: 'next',
                prevClass: 'prev',
                lastClass: 'last',
                firstClass: 'first'
            },
            $owner.data('settings') || {},
            options || {});

        if (settings.total <= 0)
            return this;

        if (!$.isNumeric(settings.maxVisible) && !settings.maxVisible) {
            settings.maxVisible = parseInt(settings.total, 10);
        }

        $owner.data('settings', settings);

        function renderPage($bootpag, page) {

            page = parseInt(page, 10);
            var lp,
                maxV = settings.maxVisible == 0 ? 1 : settings.maxVisible,
                step = settings.maxVisible == 1 ? 0 : 1,
                vis = Math.floor((page - 1) / maxV) * maxV,
                $page = $bootpag.find('li');
            settings.page = page = page < 0 ? 0 : page > settings.total ? settings.total : page;
            $page.removeClass(settings.activeClass);
            lp = page - 1 < 1 ? 1 :
                    settings.leaps && page - 1 >= settings.maxVisible ?
                        Math.floor((page - 1) / maxV) * maxV : page - 1;

            if (settings.firstLastUse) {
                $page
					.first()
					.toggleClass(settings.disabledClass, page === 1);
            }

            var lfirst = $page.first();
            if (settings.firstLastUse) {
                lfirst = lfirst.next();
            }

            lfirst
                .toggleClass(settings.disabledClass, page === 1)
                .attr('data-lp', lp)
                .find('a').attr('href', href(lp));

            var step = settings.maxVisible == 1 ? 0 : 1;

            lp = page + 1 > settings.total ? settings.total :
                    settings.leaps && page + 1 < settings.total - settings.maxVisible ?
                        vis + settings.maxVisible + step : page + 1;

            var llast = $page.last();
            if (settings.firstLastUse) {
                llast = llast.prev();
            }

            llast
                .toggleClass(settings.disabledClass, page === settings.total)
                .attr('data-lp', lp)
                .find('a').attr('href', href(lp));

            $page
				.last()
				.toggleClass(settings.disabledClass, page === settings.total);


            var $currPage = $page.filter('[data-lp=' + page + ']');

            var clist = "." + [settings.nextClass,
							   settings.prevClass,
                               settings.firstClass,
                               settings.lastClass].join(",.");
            if (!$currPage.not(clist).length) {
                var d = page <= vis ? -settings.maxVisible : 0;
                $page.not(clist).each(function (index) {
                    lp = index + 1 + vis + d;
                    $(this)
                        .attr('data-lp', lp)
                        .toggle(lp <= settings.total)
                        .find('a').html(lp).attr('href', href(lp));
                });
                $currPage = $page.filter('[data-lp=' + page + ']');
            }
            $currPage.not(clist).addClass(settings.activeClass);
            $owner.data('settings', settings);
        }

        function href(c) {

            return settings.href.replace(settings.hrefVariable, c);
        }

        return this.each(function () {

            var $bootpag, lp, me = $(this),
                p = ['<ul class="', settings.wrapClass, ' bootpag">'];

            if (settings.firstLastUse) {
                p = p.concat(['<li data-lp="1" class="', settings.firstClass,
                       '"><a href="', href(1), '">', settings.first, '</a></li>']);
            }
            if (settings.prev) {
                p = p.concat(['<li data-lp="1" class="', settings.prevClass,
                       '"><a href="', href(1), '">', settings.prev, '</a></li>']);
            }
            for (var c = 1; c <= Math.min(settings.total, settings.maxVisible) ; c++) {
                p = p.concat(['<li data-lp="', c, '"><a href="', href(c), '">', c, '</a></li>']);
            }
            if (settings.next) {
                lp = settings.leaps && settings.total > settings.maxVisible
                    ? Math.min(settings.maxVisible + 1, settings.total) : 2;
                p = p.concat(['<li data-lp="', lp, '" class="',
                             settings.nextClass, '"><a href="', href(lp),
                             '">', settings.next, '</a></li>']);
            }
            if (settings.firstLastUse) {
                p = p.concat(['<li data-lp="', settings.total, '" class="last"><a href="',
                             href(settings.total), '">', settings.last, '</a></li>']);
            }
            p.push('</ul>');
            me.find('ul.bootpag').remove();
            me.append(p.join(''));
            $bootpag = me.find('ul.bootpag');

            me.find('li').click(function paginationClick() {

                var me = $(this);
                if (me.hasClass(settings.disabledClass) || me.hasClass(settings.activeClass)) {
                    return;
                }
                var page = parseInt(me.attr('data-lp'), 10);
                $owner.find('ul.bootpag').each(function () {
                    renderPage($(this), page);
                });

                $owner.trigger('page', page);
            });
            renderPage($bootpag, settings.page);
        });
    }

})(jQuery, window);
;
/**
 * Owl Carousel v2.3.4
 * Copyright 2013-2018 David Deutsch
 * Licensed under: SEE LICENSE IN https://github.com/OwlCarousel2/OwlCarousel2/blob/master/LICENSE
 */
!function(a,b,c,d){function e(b,c){this.settings=null,this.options=a.extend({},e.Defaults,c),this.$element=a(b),this._handlers={},this._plugins={},this._supress={},this._current=null,this._speed=null,this._coordinates=[],this._breakpoint=null,this._width=null,this._items=[],this._clones=[],this._mergers=[],this._widths=[],this._invalidated={},this._pipe=[],this._drag={time:null,target:null,pointer:null,stage:{start:null,current:null},direction:null},this._states={current:{},tags:{initializing:["busy"],animating:["busy"],dragging:["interacting"]}},a.each(["onResize","onThrottledResize"],a.proxy(function(b,c){this._handlers[c]=a.proxy(this[c],this)},this)),a.each(e.Plugins,a.proxy(function(a,b){this._plugins[a.charAt(0).toLowerCase()+a.slice(1)]=new b(this)},this)),a.each(e.Workers,a.proxy(function(b,c){this._pipe.push({filter:c.filter,run:a.proxy(c.run,this)})},this)),this.setup(),this.initialize()}e.Defaults={items:3,loop:!1,center:!1,rewind:!1,checkVisibility:!0,mouseDrag:!0,touchDrag:!0,pullDrag:!0,freeDrag:!1,margin:0,stagePadding:0,merge:!1,mergeFit:!0,autoWidth:!1,startPosition:0,rtl:!1,smartSpeed:250,fluidSpeed:!1,dragEndSpeed:!1,responsive:{},responsiveRefreshRate:200,responsiveBaseElement:b,fallbackEasing:"swing",slideTransition:"",info:!1,nestedItemSelector:!1,itemElement:"div",stageElement:"div",refreshClass:"owl-refresh",loadedClass:"owl-loaded",loadingClass:"owl-loading",rtlClass:"owl-rtl",responsiveClass:"owl-responsive",dragClass:"owl-drag",itemClass:"owl-item",stageClass:"owl-stage",stageOuterClass:"owl-stage-outer",grabClass:"owl-grab"},e.Width={Default:"default",Inner:"inner",Outer:"outer"},e.Type={Event:"event",State:"state"},e.Plugins={},e.Workers=[{filter:["width","settings"],run:function(){this._width=this.$element.width()}},{filter:["width","items","settings"],run:function(a){a.current=this._items&&this._items[this.relative(this._current)]}},{filter:["items","settings"],run:function(){this.$stage.children(".cloned").remove()}},{filter:["width","items","settings"],run:function(a){var b=this.settings.margin||"",c=!this.settings.autoWidth,d=this.settings.rtl,e={width:"auto","margin-left":d?b:"","margin-right":d?"":b};!c&&this.$stage.children().css(e),a.css=e}},{filter:["width","items","settings"],run:function(a){var b=(this.width()/this.settings.items).toFixed(3)-this.settings.margin,c=null,d=this._items.length,e=!this.settings.autoWidth,f=[];for(a.items={merge:!1,width:b};d--;)c=this._mergers[d],c=this.settings.mergeFit&&Math.min(c,this.settings.items)||c,a.items.merge=c>1||a.items.merge,f[d]=e?b*c:this._items[d].width();this._widths=f}},{filter:["items","settings"],run:function(){var b=[],c=this._items,d=this.settings,e=Math.max(2*d.items,4),f=2*Math.ceil(c.length/2),g=d.loop&&c.length?d.rewind?e:Math.max(e,f):0,h="",i="";for(g/=2;g>0;)b.push(this.normalize(b.length/2,!0)),h+=c[b[b.length-1]][0].outerHTML,b.push(this.normalize(c.length-1-(b.length-1)/2,!0)),i=c[b[b.length-1]][0].outerHTML+i,g-=1;this._clones=b,a(h).addClass("cloned").appendTo(this.$stage),a(i).addClass("cloned").prependTo(this.$stage)}},{filter:["width","items","settings"],run:function(){for(var a=this.settings.rtl?1:-1,b=this._clones.length+this._items.length,c=-1,d=0,e=0,f=[];++c<b;)d=f[c-1]||0,e=this._widths[this.relative(c)]+this.settings.margin,f.push(d+e*a);this._coordinates=f}},{filter:["width","items","settings"],run:function(){var a=this.settings.stagePadding,b=this._coordinates,c={width:Math.ceil(Math.abs(b[b.length-1]))+2*a,"padding-left":a||"","padding-right":a||""};this.$stage.css(c)}},{filter:["width","items","settings"],run:function(a){var b=this._coordinates.length,c=!this.settings.autoWidth,d=this.$stage.children();if(c&&a.items.merge)for(;b--;)a.css.width=this._widths[this.relative(b)],d.eq(b).css(a.css);else c&&(a.css.width=a.items.width,d.css(a.css))}},{filter:["items"],run:function(){this._coordinates.length<1&&this.$stage.removeAttr("style")}},{filter:["width","items","settings"],run:function(a){a.current=a.current?this.$stage.children().index(a.current):0,a.current=Math.max(this.minimum(),Math.min(this.maximum(),a.current)),this.reset(a.current)}},{filter:["position"],run:function(){this.animate(this.coordinates(this._current))}},{filter:["width","position","items","settings"],run:function(){var a,b,c,d,e=this.settings.rtl?1:-1,f=2*this.settings.stagePadding,g=this.coordinates(this.current())+f,h=g+this.width()*e,i=[];for(c=0,d=this._coordinates.length;c<d;c++)a=this._coordinates[c-1]||0,b=Math.abs(this._coordinates[c])+f*e,(this.op(a,"<=",g)&&this.op(a,">",h)||this.op(b,"<",g)&&this.op(b,">",h))&&i.push(c);this.$stage.children(".active").removeClass("active"),this.$stage.children(":eq("+i.join("), :eq(")+")").addClass("active"),this.$stage.children(".center").removeClass("center"),this.settings.center&&this.$stage.children().eq(this.current()).addClass("center")}}],e.prototype.initializeStage=function(){this.$stage=this.$element.find("."+this.settings.stageClass),this.$stage.length||(this.$element.addClass(this.options.loadingClass),this.$stage=a("<"+this.settings.stageElement+">",{class:this.settings.stageClass}).wrap(a("<div/>",{class:this.settings.stageOuterClass})),this.$element.append(this.$stage.parent()))},e.prototype.initializeItems=function(){var b=this.$element.find(".owl-item");if(b.length)return this._items=b.get().map(function(b){return a(b)}),this._mergers=this._items.map(function(){return 1}),void this.refresh();this.replace(this.$element.children().not(this.$stage.parent())),this.isVisible()?this.refresh():this.invalidate("width"),this.$element.removeClass(this.options.loadingClass).addClass(this.options.loadedClass)},e.prototype.initialize=function(){if(this.enter("initializing"),this.trigger("initialize"),this.$element.toggleClass(this.settings.rtlClass,this.settings.rtl),this.settings.autoWidth&&!this.is("pre-loading")){var a,b,c;a=this.$element.find("img"),b=this.settings.nestedItemSelector?"."+this.settings.nestedItemSelector:d,c=this.$element.children(b).width(),a.length&&c<=0&&this.preloadAutoWidthImages(a)}this.initializeStage(),this.initializeItems(),this.registerEventHandlers(),this.leave("initializing"),this.trigger("initialized")},e.prototype.isVisible=function(){return!this.settings.checkVisibility||this.$element.is(":visible")},e.prototype.setup=function(){var b=this.viewport(),c=this.options.responsive,d=-1,e=null;c?(a.each(c,function(a){a<=b&&a>d&&(d=Number(a))}),e=a.extend({},this.options,c[d]),"function"==typeof e.stagePadding&&(e.stagePadding=e.stagePadding()),delete e.responsive,e.responsiveClass&&this.$element.attr("class",this.$element.attr("class").replace(new RegExp("("+this.options.responsiveClass+"-)\\S+\\s","g"),"$1"+d))):e=a.extend({},this.options),this.trigger("change",{property:{name:"settings",value:e}}),this._breakpoint=d,this.settings=e,this.invalidate("settings"),this.trigger("changed",{property:{name:"settings",value:this.settings}})},e.prototype.optionsLogic=function(){this.settings.autoWidth&&(this.settings.stagePadding=!1,this.settings.merge=!1)},e.prototype.prepare=function(b){var c=this.trigger("prepare",{content:b});return c.data||(c.data=a("<"+this.settings.itemElement+"/>").addClass(this.options.itemClass).append(b)),this.trigger("prepared",{content:c.data}),c.data},e.prototype.update=function(){for(var b=0,c=this._pipe.length,d=a.proxy(function(a){return this[a]},this._invalidated),e={};b<c;)(this._invalidated.all||a.grep(this._pipe[b].filter,d).length>0)&&this._pipe[b].run(e),b++;this._invalidated={},!this.is("valid")&&this.enter("valid")},e.prototype.width=function(a){switch(a=a||e.Width.Default){case e.Width.Inner:case e.Width.Outer:return this._width;default:return this._width-2*this.settings.stagePadding+this.settings.margin}},e.prototype.refresh=function(){this.enter("refreshing"),this.trigger("refresh"),this.setup(),this.optionsLogic(),this.$element.addClass(this.options.refreshClass),this.update(),this.$element.removeClass(this.options.refreshClass),this.leave("refreshing"),this.trigger("refreshed")},e.prototype.onThrottledResize=function(){b.clearTimeout(this.resizeTimer),this.resizeTimer=b.setTimeout(this._handlers.onResize,this.settings.responsiveRefreshRate)},e.prototype.onResize=function(){return!!this._items.length&&(this._width!==this.$element.width()&&(!!this.isVisible()&&(this.enter("resizing"),this.trigger("resize").isDefaultPrevented()?(this.leave("resizing"),!1):(this.invalidate("width"),this.refresh(),this.leave("resizing"),void this.trigger("resized")))))},e.prototype.registerEventHandlers=function(){a.support.transition&&this.$stage.on(a.support.transition.end+".owl.core",a.proxy(this.onTransitionEnd,this)),!1!==this.settings.responsive&&this.on(b,"resize",this._handlers.onThrottledResize),this.settings.mouseDrag&&(this.$element.addClass(this.options.dragClass),this.$stage.on("mousedown.owl.core",a.proxy(this.onDragStart,this)),this.$stage.on("dragstart.owl.core selectstart.owl.core",function(){return!1})),this.settings.touchDrag&&(this.$stage.on("touchstart.owl.core",a.proxy(this.onDragStart,this)),this.$stage.on("touchcancel.owl.core",a.proxy(this.onDragEnd,this)))},e.prototype.onDragStart=function(b){var d=null;3!==b.which&&(a.support.transform?(d=this.$stage.css("transform").replace(/.*\(|\)| /g,"").split(","),d={x:d[16===d.length?12:4],y:d[16===d.length?13:5]}):(d=this.$stage.position(),d={x:this.settings.rtl?d.left+this.$stage.width()-this.width()+this.settings.margin:d.left,y:d.top}),this.is("animating")&&(a.support.transform?this.animate(d.x):this.$stage.stop(),this.invalidate("position")),this.$element.toggleClass(this.options.grabClass,"mousedown"===b.type),this.speed(0),this._drag.time=(new Date).getTime(),this._drag.target=a(b.target),this._drag.stage.start=d,this._drag.stage.current=d,this._drag.pointer=this.pointer(b),a(c).on("mouseup.owl.core touchend.owl.core",a.proxy(this.onDragEnd,this)),a(c).one("mousemove.owl.core touchmove.owl.core",a.proxy(function(b){var d=this.difference(this._drag.pointer,this.pointer(b));a(c).on("mousemove.owl.core touchmove.owl.core",a.proxy(this.onDragMove,this)),Math.abs(d.x)<Math.abs(d.y)&&this.is("valid")||(b.preventDefault(),this.enter("dragging"),this.trigger("drag"))},this)))},e.prototype.onDragMove=function(a){var b=null,c=null,d=null,e=this.difference(this._drag.pointer,this.pointer(a)),f=this.difference(this._drag.stage.start,e);this.is("dragging")&&(a.preventDefault(),this.settings.loop?(b=this.coordinates(this.minimum()),c=this.coordinates(this.maximum()+1)-b,f.x=((f.x-b)%c+c)%c+b):(b=this.settings.rtl?this.coordinates(this.maximum()):this.coordinates(this.minimum()),c=this.settings.rtl?this.coordinates(this.minimum()):this.coordinates(this.maximum()),d=this.settings.pullDrag?-1*e.x/5:0,f.x=Math.max(Math.min(f.x,b+d),c+d)),this._drag.stage.current=f,this.animate(f.x))},e.prototype.onDragEnd=function(b){var d=this.difference(this._drag.pointer,this.pointer(b)),e=this._drag.stage.current,f=d.x>0^this.settings.rtl?"left":"right";a(c).off(".owl.core"),this.$element.removeClass(this.options.grabClass),(0!==d.x&&this.is("dragging")||!this.is("valid"))&&(this.speed(this.settings.dragEndSpeed||this.settings.smartSpeed),this.current(this.closest(e.x,0!==d.x?f:this._drag.direction)),this.invalidate("position"),this.update(),this._drag.direction=f,(Math.abs(d.x)>3||(new Date).getTime()-this._drag.time>300)&&this._drag.target.one("click.owl.core",function(){return!1})),this.is("dragging")&&(this.leave("dragging"),this.trigger("dragged"))},e.prototype.closest=function(b,c){var e=-1,f=30,g=this.width(),h=this.coordinates();return this.settings.freeDrag||a.each(h,a.proxy(function(a,i){return"left"===c&&b>i-f&&b<i+f?e=a:"right"===c&&b>i-g-f&&b<i-g+f?e=a+1:this.op(b,"<",i)&&this.op(b,">",h[a+1]!==d?h[a+1]:i-g)&&(e="left"===c?a+1:a),-1===e},this)),this.settings.loop||(this.op(b,">",h[this.minimum()])?e=b=this.minimum():this.op(b,"<",h[this.maximum()])&&(e=b=this.maximum())),e},e.prototype.animate=function(b){var c=this.speed()>0;this.is("animating")&&this.onTransitionEnd(),c&&(this.enter("animating"),this.trigger("translate")),a.support.transform3d&&a.support.transition?this.$stage.css({transform:"translate3d("+b+"px,0px,0px)",transition:this.speed()/1e3+"s"+(this.settings.slideTransition?" "+this.settings.slideTransition:"")}):c?this.$stage.animate({left:b+"px"},this.speed(),this.settings.fallbackEasing,a.proxy(this.onTransitionEnd,this)):this.$stage.css({left:b+"px"})},e.prototype.is=function(a){return this._states.current[a]&&this._states.current[a]>0},e.prototype.current=function(a){if(a===d)return this._current;if(0===this._items.length)return d;if(a=this.normalize(a),this._current!==a){var b=this.trigger("change",{property:{name:"position",value:a}});b.data!==d&&(a=this.normalize(b.data)),this._current=a,this.invalidate("position"),this.trigger("changed",{property:{name:"position",value:this._current}})}return this._current},e.prototype.invalidate=function(b){return"string"===a.type(b)&&(this._invalidated[b]=!0,this.is("valid")&&this.leave("valid")),a.map(this._invalidated,function(a,b){return b})},e.prototype.reset=function(a){(a=this.normalize(a))!==d&&(this._speed=0,this._current=a,this.suppress(["translate","translated"]),this.animate(this.coordinates(a)),this.release(["translate","translated"]))},e.prototype.normalize=function(a,b){var c=this._items.length,e=b?0:this._clones.length;return!this.isNumeric(a)||c<1?a=d:(a<0||a>=c+e)&&(a=((a-e/2)%c+c)%c+e/2),a},e.prototype.relative=function(a){return a-=this._clones.length/2,this.normalize(a,!0)},e.prototype.maximum=function(a){var b,c,d,e=this.settings,f=this._coordinates.length;if(e.loop)f=this._clones.length/2+this._items.length-1;else if(e.autoWidth||e.merge){if(b=this._items.length)for(c=this._items[--b].width(),d=this.$element.width();b--&&!((c+=this._items[b].width()+this.settings.margin)>d););f=b+1}else f=e.center?this._items.length-1:this._items.length-e.items;return a&&(f-=this._clones.length/2),Math.max(f,0)},e.prototype.minimum=function(a){return a?0:this._clones.length/2},e.prototype.items=function(a){return a===d?this._items.slice():(a=this.normalize(a,!0),this._items[a])},e.prototype.mergers=function(a){return a===d?this._mergers.slice():(a=this.normalize(a,!0),this._mergers[a])},e.prototype.clones=function(b){var c=this._clones.length/2,e=c+this._items.length,f=function(a){return a%2==0?e+a/2:c-(a+1)/2};return b===d?a.map(this._clones,function(a,b){return f(b)}):a.map(this._clones,function(a,c){return a===b?f(c):null})},e.prototype.speed=function(a){return a!==d&&(this._speed=a),this._speed},e.prototype.coordinates=function(b){var c,e=1,f=b-1;return b===d?a.map(this._coordinates,a.proxy(function(a,b){return this.coordinates(b)},this)):(this.settings.center?(this.settings.rtl&&(e=-1,f=b+1),c=this._coordinates[b],c+=(this.width()-c+(this._coordinates[f]||0))/2*e):c=this._coordinates[f]||0,c=Math.ceil(c))},e.prototype.duration=function(a,b,c){return 0===c?0:Math.min(Math.max(Math.abs(b-a),1),6)*Math.abs(c||this.settings.smartSpeed)},e.prototype.to=function(a,b){var c=this.current(),d=null,e=a-this.relative(c),f=(e>0)-(e<0),g=this._items.length,h=this.minimum(),i=this.maximum();this.settings.loop?(!this.settings.rewind&&Math.abs(e)>g/2&&(e+=-1*f*g),a=c+e,(d=((a-h)%g+g)%g+h)!==a&&d-e<=i&&d-e>0&&(c=d-e,a=d,this.reset(c))):this.settings.rewind?(i+=1,a=(a%i+i)%i):a=Math.max(h,Math.min(i,a)),this.speed(this.duration(c,a,b)),this.current(a),this.isVisible()&&this.update()},e.prototype.next=function(a){a=a||!1,this.to(this.relative(this.current())+1,a)},e.prototype.prev=function(a){a=a||!1,this.to(this.relative(this.current())-1,a)},e.prototype.onTransitionEnd=function(a){if(a!==d&&(a.stopPropagation(),(a.target||a.srcElement||a.originalTarget)!==this.$stage.get(0)))return!1;this.leave("animating"),this.trigger("translated")},e.prototype.viewport=function(){var d;return this.options.responsiveBaseElement!==b?d=a(this.options.responsiveBaseElement).width():b.innerWidth?d=b.innerWidth:c.documentElement&&c.documentElement.clientWidth?d=c.documentElement.clientWidth:console.warn("Can not detect viewport width."),d},e.prototype.replace=function(b){this.$stage.empty(),this._items=[],b&&(b=b instanceof jQuery?b:a(b)),this.settings.nestedItemSelector&&(b=b.find("."+this.settings.nestedItemSelector)),b.filter(function(){return 1===this.nodeType}).each(a.proxy(function(a,b){b=this.prepare(b),this.$stage.append(b),this._items.push(b),this._mergers.push(1*b.find("[data-merge]").addBack("[data-merge]").attr("data-merge")||1)},this)),this.reset(this.isNumeric(this.settings.startPosition)?this.settings.startPosition:0),this.invalidate("items")},e.prototype.add=function(b,c){var e=this.relative(this._current);c=c===d?this._items.length:this.normalize(c,!0),b=b instanceof jQuery?b:a(b),this.trigger("add",{content:b,position:c}),b=this.prepare(b),0===this._items.length||c===this._items.length?(0===this._items.length&&this.$stage.append(b),0!==this._items.length&&this._items[c-1].after(b),this._items.push(b),this._mergers.push(1*b.find("[data-merge]").addBack("[data-merge]").attr("data-merge")||1)):(this._items[c].before(b),this._items.splice(c,0,b),this._mergers.splice(c,0,1*b.find("[data-merge]").addBack("[data-merge]").attr("data-merge")||1)),this._items[e]&&this.reset(this._items[e].index()),this.invalidate("items"),this.trigger("added",{content:b,position:c})},e.prototype.remove=function(a){(a=this.normalize(a,!0))!==d&&(this.trigger("remove",{content:this._items[a],position:a}),this._items[a].remove(),this._items.splice(a,1),this._mergers.splice(a,1),this.invalidate("items"),this.trigger("removed",{content:null,position:a}))},e.prototype.preloadAutoWidthImages=function(b){b.each(a.proxy(function(b,c){this.enter("pre-loading"),c=a(c),a(new Image).one("load",a.proxy(function(a){c.attr("src",a.target.src),c.css("opacity",1),this.leave("pre-loading"),!this.is("pre-loading")&&!this.is("initializing")&&this.refresh()},this)).attr("src",c.attr("src")||c.attr("data-src")||c.attr("data-src-retina"))},this))},e.prototype.destroy=function(){this.$element.off(".owl.core"),this.$stage.off(".owl.core"),a(c).off(".owl.core"),!1!==this.settings.responsive&&(b.clearTimeout(this.resizeTimer),this.off(b,"resize",this._handlers.onThrottledResize));for(var d in this._plugins)this._plugins[d].destroy();this.$stage.children(".cloned").remove(),this.$stage.unwrap(),this.$stage.children().contents().unwrap(),this.$stage.children().unwrap(),this.$stage.remove(),this.$element.removeClass(this.options.refreshClass).removeClass(this.options.loadingClass).removeClass(this.options.loadedClass).removeClass(this.options.rtlClass).removeClass(this.options.dragClass).removeClass(this.options.grabClass).attr("class",this.$element.attr("class").replace(new RegExp(this.options.responsiveClass+"-\\S+\\s","g"),"")).removeData("owl.carousel")},e.prototype.op=function(a,b,c){var d=this.settings.rtl;switch(b){case"<":return d?a>c:a<c;case">":return d?a<c:a>c;case">=":return d?a<=c:a>=c;case"<=":return d?a>=c:a<=c}},e.prototype.on=function(a,b,c,d){a.addEventListener?a.addEventListener(b,c,d):a.attachEvent&&a.attachEvent("on"+b,c)},e.prototype.off=function(a,b,c,d){a.removeEventListener?a.removeEventListener(b,c,d):a.detachEvent&&a.detachEvent("on"+b,c)},e.prototype.trigger=function(b,c,d,f,g){var h={item:{count:this._items.length,index:this.current()}},i=a.camelCase(a.grep(["on",b,d],function(a){return a}).join("-").toLowerCase()),j=a.Event([b,"owl",d||"carousel"].join(".").toLowerCase(),a.extend({relatedTarget:this},h,c));return this._supress[b]||(a.each(this._plugins,function(a,b){b.onTrigger&&b.onTrigger(j)}),this.register({type:e.Type.Event,name:b}),this.$element.trigger(j),this.settings&&"function"==typeof this.settings[i]&&this.settings[i].call(this,j)),j},e.prototype.enter=function(b){a.each([b].concat(this._states.tags[b]||[]),a.proxy(function(a,b){this._states.current[b]===d&&(this._states.current[b]=0),this._states.current[b]++},this))},e.prototype.leave=function(b){a.each([b].concat(this._states.tags[b]||[]),a.proxy(function(a,b){this._states.current[b]--},this))},e.prototype.register=function(b){if(b.type===e.Type.Event){if(a.event.special[b.name]||(a.event.special[b.name]={}),!a.event.special[b.name].owl){var c=a.event.special[b.name]._default;a.event.special[b.name]._default=function(a){return!c||!c.apply||a.namespace&&-1!==a.namespace.indexOf("owl")?a.namespace&&a.namespace.indexOf("owl")>-1:c.apply(this,arguments)},a.event.special[b.name].owl=!0}}else b.type===e.Type.State&&(this._states.tags[b.name]?this._states.tags[b.name]=this._states.tags[b.name].concat(b.tags):this._states.tags[b.name]=b.tags,this._states.tags[b.name]=a.grep(this._states.tags[b.name],a.proxy(function(c,d){return a.inArray(c,this._states.tags[b.name])===d},this)))},e.prototype.suppress=function(b){a.each(b,a.proxy(function(a,b){this._supress[b]=!0},this))},e.prototype.release=function(b){a.each(b,a.proxy(function(a,b){delete this._supress[b]},this))},e.prototype.pointer=function(a){var c={x:null,y:null};return a=a.originalEvent||a||b.event,a=a.touches&&a.touches.length?a.touches[0]:a.changedTouches&&a.changedTouches.length?a.changedTouches[0]:a,a.pageX?(c.x=a.pageX,c.y=a.pageY):(c.x=a.clientX,c.y=a.clientY),c},e.prototype.isNumeric=function(a){return!isNaN(parseFloat(a))},e.prototype.difference=function(a,b){return{x:a.x-b.x,y:a.y-b.y}},a.fn.owlCarousel=function(b){var c=Array.prototype.slice.call(arguments,1);return this.each(function(){var d=a(this),f=d.data("owl.carousel");f||(f=new e(this,"object"==typeof b&&b),d.data("owl.carousel",f),a.each(["next","prev","to","destroy","refresh","replace","add","remove"],function(b,c){f.register({type:e.Type.Event,name:c}),f.$element.on(c+".owl.carousel.core",a.proxy(function(a){a.namespace&&a.relatedTarget!==this&&(this.suppress([c]),f[c].apply(this,[].slice.call(arguments,1)),this.release([c]))},f))})),"string"==typeof b&&"_"!==b.charAt(0)&&f[b].apply(f,c)})},a.fn.owlCarousel.Constructor=e}(window.Zepto||window.jQuery,window,document),function(a,b,c,d){var e=function(b){this._core=b,this._interval=null,this._visible=null,this._handlers={"initialized.owl.carousel":a.proxy(function(a){a.namespace&&this._core.settings.autoRefresh&&this.watch()},this)},this._core.options=a.extend({},e.Defaults,this._core.options),this._core.$element.on(this._handlers)};e.Defaults={autoRefresh:!0,autoRefreshInterval:500},e.prototype.watch=function(){this._interval||(this._visible=this._core.isVisible(),this._interval=b.setInterval(a.proxy(this.refresh,this),this._core.settings.autoRefreshInterval))},e.prototype.refresh=function(){this._core.isVisible()!==this._visible&&(this._visible=!this._visible,this._core.$element.toggleClass("owl-hidden",!this._visible),this._visible&&this._core.invalidate("width")&&this._core.refresh())},e.prototype.destroy=function(){var a,c;b.clearInterval(this._interval);for(a in this._handlers)this._core.$element.off(a,this._handlers[a]);for(c in Object.getOwnPropertyNames(this))"function"!=typeof this[c]&&(this[c]=null)},a.fn.owlCarousel.Constructor.Plugins.AutoRefresh=e}(window.Zepto||window.jQuery,window,document),function(a,b,c,d){var e=function(b){this._core=b,this._loaded=[],this._handlers={"initialized.owl.carousel change.owl.carousel resized.owl.carousel":a.proxy(function(b){if(b.namespace&&this._core.settings&&this._core.settings.lazyLoad&&(b.property&&"position"==b.property.name||"initialized"==b.type)){var c=this._core.settings,e=c.center&&Math.ceil(c.items/2)||c.items,f=c.center&&-1*e||0,g=(b.property&&b.property.value!==d?b.property.value:this._core.current())+f,h=this._core.clones().length,i=a.proxy(function(a,b){this.load(b)},this);for(c.lazyLoadEager>0&&(e+=c.lazyLoadEager,c.loop&&(g-=c.lazyLoadEager,e++));f++<e;)this.load(h/2+this._core.relative(g)),h&&a.each(this._core.clones(this._core.relative(g)),i),g++}},this)},this._core.options=a.extend({},e.Defaults,this._core.options),this._core.$element.on(this._handlers)};e.Defaults={lazyLoad:!1,lazyLoadEager:0},e.prototype.load=function(c){var d=this._core.$stage.children().eq(c),e=d&&d.find(".owl-lazy");!e||a.inArray(d.get(0),this._loaded)>-1||(e.each(a.proxy(function(c,d){var e,f=a(d),g=b.devicePixelRatio>1&&f.attr("data-src-retina")||f.attr("data-src")||f.attr("data-srcset");this._core.trigger("load",{element:f,url:g},"lazy"),f.is("img")?f.one("load.owl.lazy",a.proxy(function(){f.css("opacity",1),this._core.trigger("loaded",{element:f,url:g},"lazy")},this)).attr("src",g):f.is("source")?f.one("load.owl.lazy",a.proxy(function(){this._core.trigger("loaded",{element:f,url:g},"lazy")},this)).attr("srcset",g):(e=new Image,e.onload=a.proxy(function(){f.css({"background-image":'url("'+g+'")',opacity:"1"}),this._core.trigger("loaded",{element:f,url:g},"lazy")},this),e.src=g)},this)),this._loaded.push(d.get(0)))},e.prototype.destroy=function(){var a,b;for(a in this.handlers)this._core.$element.off(a,this.handlers[a]);for(b in Object.getOwnPropertyNames(this))"function"!=typeof this[b]&&(this[b]=null)},a.fn.owlCarousel.Constructor.Plugins.Lazy=e}(window.Zepto||window.jQuery,window,document),function(a,b,c,d){var e=function(c){this._core=c,this._previousHeight=null,this._handlers={"initialized.owl.carousel refreshed.owl.carousel":a.proxy(function(a){a.namespace&&this._core.settings.autoHeight&&this.update()},this),"changed.owl.carousel":a.proxy(function(a){a.namespace&&this._core.settings.autoHeight&&"position"===a.property.name&&this.update()},this),"loaded.owl.lazy":a.proxy(function(a){a.namespace&&this._core.settings.autoHeight&&a.element.closest("."+this._core.settings.itemClass).index()===this._core.current()&&this.update()},this)},this._core.options=a.extend({},e.Defaults,this._core.options),this._core.$element.on(this._handlers),this._intervalId=null;var d=this;a(b).on("load",function(){d._core.settings.autoHeight&&d.update()}),a(b).resize(function(){d._core.settings.autoHeight&&(null!=d._intervalId&&clearTimeout(d._intervalId),d._intervalId=setTimeout(function(){d.update()},250))})};e.Defaults={autoHeight:!1,autoHeightClass:"owl-height"},e.prototype.update=function(){var b=this._core._current,c=b+this._core.settings.items,d=this._core.settings.lazyLoad,e=this._core.$stage.children().toArray().slice(b,c),f=[],g=0;a.each(e,function(b,c){f.push(a(c).height())}),g=Math.max.apply(null,f),g<=1&&d&&this._previousHeight&&(g=this._previousHeight),this._previousHeight=g,this._core.$stage.parent().height(g).addClass(this._core.settings.autoHeightClass)},e.prototype.destroy=function(){var a,b;for(a in this._handlers)this._core.$element.off(a,this._handlers[a]);for(b in Object.getOwnPropertyNames(this))"function"!=typeof this[b]&&(this[b]=null)},a.fn.owlCarousel.Constructor.Plugins.AutoHeight=e}(window.Zepto||window.jQuery,window,document),function(a,b,c,d){var e=function(b){this._core=b,this._videos={},this._playing=null,this._handlers={"initialized.owl.carousel":a.proxy(function(a){a.namespace&&this._core.register({type:"state",name:"playing",tags:["interacting"]})},this),"resize.owl.carousel":a.proxy(function(a){a.namespace&&this._core.settings.video&&this.isInFullScreen()&&a.preventDefault()},this),"refreshed.owl.carousel":a.proxy(function(a){a.namespace&&this._core.is("resizing")&&this._core.$stage.find(".cloned .owl-video-frame").remove()},this),"changed.owl.carousel":a.proxy(function(a){a.namespace&&"position"===a.property.name&&this._playing&&this.stop()},this),"prepared.owl.carousel":a.proxy(function(b){if(b.namespace){var c=a(b.content).find(".owl-video");c.length&&(c.css("display","none"),this.fetch(c,a(b.content)))}},this)},this._core.options=a.extend({},e.Defaults,this._core.options),this._core.$element.on(this._handlers),this._core.$element.on("click.owl.video",".owl-video-play-icon",a.proxy(function(a){this.play(a)},this))};e.Defaults={video:!1,videoHeight:!1,videoWidth:!1},e.prototype.fetch=function(a,b){var c=function(){return a.attr("data-vimeo-id")?"vimeo":a.attr("data-vzaar-id")?"vzaar":"youtube"}(),d=a.attr("data-vimeo-id")||a.attr("data-youtube-id")||a.attr("data-vzaar-id"),e=a.attr("data-width")||this._core.settings.videoWidth,f=a.attr("data-height")||this._core.settings.videoHeight,g=a.attr("href");if(!g)throw new Error("Missing video URL.");if(d=g.match(/(http:|https:|)\/\/(player.|www.|app.)?(vimeo\.com|youtu(be\.com|\.be|be\.googleapis\.com|be\-nocookie\.com)|vzaar\.com)\/(video\/|videos\/|embed\/|channels\/.+\/|groups\/.+\/|watch\?v=|v\/)?([A-Za-z0-9._%-]*)(\&\S+)?/),d[3].indexOf("youtu")>-1)c="youtube";else if(d[3].indexOf("vimeo")>-1)c="vimeo";else{if(!(d[3].indexOf("vzaar")>-1))throw new Error("Video URL not supported.");c="vzaar"}d=d[6],this._videos[g]={type:c,id:d,width:e,height:f},b.attr("data-video",g),this.thumbnail(a,this._videos[g])},e.prototype.thumbnail=function(b,c){var d,e,f,g=c.width&&c.height?"width:"+c.width+"px;height:"+c.height+"px;":"",h=b.find("img"),i="src",j="",k=this._core.settings,l=function(c){e='<div class="owl-video-play-icon"></div>',d=k.lazyLoad?a("<div/>",{class:"owl-video-tn "+j,srcType:c}):a("<div/>",{class:"owl-video-tn",style:"opacity:1;background-image:url("+c+")"}),b.after(d),b.after(e)};if(b.wrap(a("<div/>",{class:"owl-video-wrapper",style:g})),this._core.settings.lazyLoad&&(i="data-src",j="owl-lazy"),h.length)return l(h.attr(i)),h.remove(),!1;"youtube"===c.type?(f="//img.youtube.com/vi/"+c.id+"/hqdefault.jpg",l(f)):"vimeo"===c.type?a.ajax({type:"GET",url:"//vimeo.com/api/v2/video/"+c.id+".json",jsonp:"callback",dataType:"jsonp",success:function(a){f=a[0].thumbnail_large,l(f)}}):"vzaar"===c.type&&a.ajax({type:"GET",url:"//vzaar.com/api/videos/"+c.id+".json",jsonp:"callback",dataType:"jsonp",success:function(a){f=a.framegrab_url,l(f)}})},e.prototype.stop=function(){this._core.trigger("stop",null,"video"),this._playing.find(".owl-video-frame").remove(),this._playing.removeClass("owl-video-playing"),this._playing=null,this._core.leave("playing"),this._core.trigger("stopped",null,"video")},e.prototype.play=function(b){var c,d=a(b.target),e=d.closest("."+this._core.settings.itemClass),f=this._videos[e.attr("data-video")],g=f.width||"100%",h=f.height||this._core.$stage.height();this._playing||(this._core.enter("playing"),this._core.trigger("play",null,"video"),e=this._core.items(this._core.relative(e.index())),this._core.reset(e.index()),c=a('<iframe frameborder="0" allowfullscreen mozallowfullscreen webkitAllowFullScreen ></iframe>'),c.attr("height",h),c.attr("width",g),"youtube"===f.type?c.attr("src","//www.youtube.com/embed/"+f.id+"?autoplay=1&rel=0&v="+f.id):"vimeo"===f.type?c.attr("src","//player.vimeo.com/video/"+f.id+"?autoplay=1"):"vzaar"===f.type&&c.attr("src","//view.vzaar.com/"+f.id+"/player?autoplay=true"),a(c).wrap('<div class="owl-video-frame" />').insertAfter(e.find(".owl-video")),this._playing=e.addClass("owl-video-playing"))},e.prototype.isInFullScreen=function(){var b=c.fullscreenElement||c.mozFullScreenElement||c.webkitFullscreenElement;return b&&a(b).parent().hasClass("owl-video-frame")},e.prototype.destroy=function(){var a,b;this._core.$element.off("click.owl.video");for(a in this._handlers)this._core.$element.off(a,this._handlers[a]);for(b in Object.getOwnPropertyNames(this))"function"!=typeof this[b]&&(this[b]=null)},a.fn.owlCarousel.Constructor.Plugins.Video=e}(window.Zepto||window.jQuery,window,document),function(a,b,c,d){var e=function(b){this.core=b,this.core.options=a.extend({},e.Defaults,this.core.options),this.swapping=!0,this.previous=d,this.next=d,this.handlers={"change.owl.carousel":a.proxy(function(a){a.namespace&&"position"==a.property.name&&(this.previous=this.core.current(),this.next=a.property.value)},this),"drag.owl.carousel dragged.owl.carousel translated.owl.carousel":a.proxy(function(a){a.namespace&&(this.swapping="translated"==a.type)},this),"translate.owl.carousel":a.proxy(function(a){a.namespace&&this.swapping&&(this.core.options.animateOut||this.core.options.animateIn)&&this.swap()},this)},this.core.$element.on(this.handlers)};e.Defaults={animateOut:!1,
animateIn:!1},e.prototype.swap=function(){if(1===this.core.settings.items&&a.support.animation&&a.support.transition){this.core.speed(0);var b,c=a.proxy(this.clear,this),d=this.core.$stage.children().eq(this.previous),e=this.core.$stage.children().eq(this.next),f=this.core.settings.animateIn,g=this.core.settings.animateOut;this.core.current()!==this.previous&&(g&&(b=this.core.coordinates(this.previous)-this.core.coordinates(this.next),d.one(a.support.animation.end,c).css({left:b+"px"}).addClass("animated owl-animated-out").addClass(g)),f&&e.one(a.support.animation.end,c).addClass("animated owl-animated-in").addClass(f))}},e.prototype.clear=function(b){a(b.target).css({left:""}).removeClass("animated owl-animated-out owl-animated-in").removeClass(this.core.settings.animateIn).removeClass(this.core.settings.animateOut),this.core.onTransitionEnd()},e.prototype.destroy=function(){var a,b;for(a in this.handlers)this.core.$element.off(a,this.handlers[a]);for(b in Object.getOwnPropertyNames(this))"function"!=typeof this[b]&&(this[b]=null)},a.fn.owlCarousel.Constructor.Plugins.Animate=e}(window.Zepto||window.jQuery,window,document),function(a,b,c,d){var e=function(b){this._core=b,this._call=null,this._time=0,this._timeout=0,this._paused=!0,this._handlers={"changed.owl.carousel":a.proxy(function(a){a.namespace&&"settings"===a.property.name?this._core.settings.autoplay?this.play():this.stop():a.namespace&&"position"===a.property.name&&this._paused&&(this._time=0)},this),"initialized.owl.carousel":a.proxy(function(a){a.namespace&&this._core.settings.autoplay&&this.play()},this),"play.owl.autoplay":a.proxy(function(a,b,c){a.namespace&&this.play(b,c)},this),"stop.owl.autoplay":a.proxy(function(a){a.namespace&&this.stop()},this),"mouseover.owl.autoplay":a.proxy(function(){this._core.settings.autoplayHoverPause&&this._core.is("rotating")&&this.pause()},this),"mouseleave.owl.autoplay":a.proxy(function(){this._core.settings.autoplayHoverPause&&this._core.is("rotating")&&this.play()},this),"touchstart.owl.core":a.proxy(function(){this._core.settings.autoplayHoverPause&&this._core.is("rotating")&&this.pause()},this),"touchend.owl.core":a.proxy(function(){this._core.settings.autoplayHoverPause&&this.play()},this)},this._core.$element.on(this._handlers),this._core.options=a.extend({},e.Defaults,this._core.options)};e.Defaults={autoplay:!1,autoplayTimeout:5e3,autoplayHoverPause:!1,autoplaySpeed:!1},e.prototype._next=function(d){this._call=b.setTimeout(a.proxy(this._next,this,d),this._timeout*(Math.round(this.read()/this._timeout)+1)-this.read()),this._core.is("interacting")||c.hidden||this._core.next(d||this._core.settings.autoplaySpeed)},e.prototype.read=function(){return(new Date).getTime()-this._time},e.prototype.play=function(c,d){var e;this._core.is("rotating")||this._core.enter("rotating"),c=c||this._core.settings.autoplayTimeout,e=Math.min(this._time%(this._timeout||c),c),this._paused?(this._time=this.read(),this._paused=!1):b.clearTimeout(this._call),this._time+=this.read()%c-e,this._timeout=c,this._call=b.setTimeout(a.proxy(this._next,this,d),c-e)},e.prototype.stop=function(){this._core.is("rotating")&&(this._time=0,this._paused=!0,b.clearTimeout(this._call),this._core.leave("rotating"))},e.prototype.pause=function(){this._core.is("rotating")&&!this._paused&&(this._time=this.read(),this._paused=!0,b.clearTimeout(this._call))},e.prototype.destroy=function(){var a,b;this.stop();for(a in this._handlers)this._core.$element.off(a,this._handlers[a]);for(b in Object.getOwnPropertyNames(this))"function"!=typeof this[b]&&(this[b]=null)},a.fn.owlCarousel.Constructor.Plugins.autoplay=e}(window.Zepto||window.jQuery,window,document),function(a,b,c,d){"use strict";var e=function(b){this._core=b,this._initialized=!1,this._pages=[],this._controls={},this._templates=[],this.$element=this._core.$element,this._overrides={next:this._core.next,prev:this._core.prev,to:this._core.to},this._handlers={"prepared.owl.carousel":a.proxy(function(b){b.namespace&&this._core.settings.dotsData&&this._templates.push('<div class="'+this._core.settings.dotClass+'">'+a(b.content).find("[data-dot]").addBack("[data-dot]").attr("data-dot")+"</div>")},this),"added.owl.carousel":a.proxy(function(a){a.namespace&&this._core.settings.dotsData&&this._templates.splice(a.position,0,this._templates.pop())},this),"remove.owl.carousel":a.proxy(function(a){a.namespace&&this._core.settings.dotsData&&this._templates.splice(a.position,1)},this),"changed.owl.carousel":a.proxy(function(a){a.namespace&&"position"==a.property.name&&this.draw()},this),"initialized.owl.carousel":a.proxy(function(a){a.namespace&&!this._initialized&&(this._core.trigger("initialize",null,"navigation"),this.initialize(),this.update(),this.draw(),this._initialized=!0,this._core.trigger("initialized",null,"navigation"))},this),"refreshed.owl.carousel":a.proxy(function(a){a.namespace&&this._initialized&&(this._core.trigger("refresh",null,"navigation"),this.update(),this.draw(),this._core.trigger("refreshed",null,"navigation"))},this)},this._core.options=a.extend({},e.Defaults,this._core.options),this.$element.on(this._handlers)};e.Defaults={nav:!1,navText:['<span aria-label="Previous">&#x2039;</span>','<span aria-label="Next">&#x203a;</span>'],navSpeed:!1,navElement:'button type="button" role="presentation"',navContainer:!1,navContainerClass:"owl-nav",navClass:["owl-prev","owl-next"],slideBy:1,dotClass:"owl-dot",dotsClass:"owl-dots",dots:!0,dotsEach:!1,dotsData:!1,dotsSpeed:!1,dotsContainer:!1},e.prototype.initialize=function(){var b,c=this._core.settings;this._controls.$relative=(c.navContainer?a(c.navContainer):a("<div>").addClass(c.navContainerClass).appendTo(this.$element)).addClass("disabled"),this._controls.$previous=a("<"+c.navElement+">").addClass(c.navClass[0]).html(c.navText[0]).prependTo(this._controls.$relative).on("click",a.proxy(function(a){this.prev(c.navSpeed)},this)),this._controls.$next=a("<"+c.navElement+">").addClass(c.navClass[1]).html(c.navText[1]).appendTo(this._controls.$relative).on("click",a.proxy(function(a){this.next(c.navSpeed)},this)),c.dotsData||(this._templates=[a('<button role="button">').addClass(c.dotClass).append(a("<span>")).prop("outerHTML")]),this._controls.$absolute=(c.dotsContainer?a(c.dotsContainer):a("<div>").addClass(c.dotsClass).appendTo(this.$element)).addClass("disabled"),this._controls.$absolute.on("click","button",a.proxy(function(b){var d=a(b.target).parent().is(this._controls.$absolute)?a(b.target).index():a(b.target).parent().index();b.preventDefault(),this.to(d,c.dotsSpeed)},this));for(b in this._overrides)this._core[b]=a.proxy(this[b],this)},e.prototype.destroy=function(){var a,b,c,d,e;e=this._core.settings;for(a in this._handlers)this.$element.off(a,this._handlers[a]);for(b in this._controls)"$relative"===b&&e.navContainer?this._controls[b].html(""):this._controls[b].remove();for(d in this.overides)this._core[d]=this._overrides[d];for(c in Object.getOwnPropertyNames(this))"function"!=typeof this[c]&&(this[c]=null)},e.prototype.update=function(){var a,b,c,d=this._core.clones().length/2,e=d+this._core.items().length,f=this._core.maximum(!0),g=this._core.settings,h=g.center||g.autoWidth||g.dotsData?1:g.dotsEach||g.items;if("page"!==g.slideBy&&(g.slideBy=Math.min(g.slideBy,g.items)),g.dots||"page"==g.slideBy)for(this._pages=[],a=d,b=0,c=0;a<e;a++){if(b>=h||0===b){if(this._pages.push({start:Math.min(f,a-d),end:a-d+h-1}),Math.min(f,a-d)===f)break;b=0,++c}b+=this._core.mergers(this._core.relative(a))}},e.prototype.draw=function(){var b,c=this._core.settings,d=this._core.items().length<=c.items,e=this._core.relative(this._core.current()),f=c.loop||c.rewind;this._controls.$relative.toggleClass("disabled",!c.nav||d),c.nav&&(this._controls.$previous.toggleClass("disabled",!f&&e<=this._core.minimum(!0)),this._controls.$next.toggleClass("disabled",!f&&e>=this._core.maximum(!0))),this._controls.$absolute.toggleClass("disabled",!c.dots||d),c.dots&&(b=this._pages.length-this._controls.$absolute.children().length,c.dotsData&&0!==b?this._controls.$absolute.html(this._templates.join("")):b>0?this._controls.$absolute.append(new Array(b+1).join(this._templates[0])):b<0&&this._controls.$absolute.children().slice(b).remove(),this._controls.$absolute.find(".active").removeClass("active"),this._controls.$absolute.children().eq(a.inArray(this.current(),this._pages)).addClass("active"))},e.prototype.onTrigger=function(b){var c=this._core.settings;b.page={index:a.inArray(this.current(),this._pages),count:this._pages.length,size:c&&(c.center||c.autoWidth||c.dotsData?1:c.dotsEach||c.items)}},e.prototype.current=function(){var b=this._core.relative(this._core.current());return a.grep(this._pages,a.proxy(function(a,c){return a.start<=b&&a.end>=b},this)).pop()},e.prototype.getPosition=function(b){var c,d,e=this._core.settings;return"page"==e.slideBy?(c=a.inArray(this.current(),this._pages),d=this._pages.length,b?++c:--c,c=this._pages[(c%d+d)%d].start):(c=this._core.relative(this._core.current()),d=this._core.items().length,b?c+=e.slideBy:c-=e.slideBy),c},e.prototype.next=function(b){a.proxy(this._overrides.to,this._core)(this.getPosition(!0),b)},e.prototype.prev=function(b){a.proxy(this._overrides.to,this._core)(this.getPosition(!1),b)},e.prototype.to=function(b,c,d){var e;!d&&this._pages.length?(e=this._pages.length,a.proxy(this._overrides.to,this._core)(this._pages[(b%e+e)%e].start,c)):a.proxy(this._overrides.to,this._core)(b,c)},a.fn.owlCarousel.Constructor.Plugins.Navigation=e}(window.Zepto||window.jQuery,window,document),function(a,b,c,d){"use strict";var e=function(c){this._core=c,this._hashes={},this.$element=this._core.$element,this._handlers={"initialized.owl.carousel":a.proxy(function(c){c.namespace&&"URLHash"===this._core.settings.startPosition&&a(b).trigger("hashchange.owl.navigation")},this),"prepared.owl.carousel":a.proxy(function(b){if(b.namespace){var c=a(b.content).find("[data-hash]").addBack("[data-hash]").attr("data-hash");if(!c)return;this._hashes[c]=b.content}},this),"changed.owl.carousel":a.proxy(function(c){if(c.namespace&&"position"===c.property.name){var d=this._core.items(this._core.relative(this._core.current())),e=a.map(this._hashes,function(a,b){return a===d?b:null}).join();if(!e||b.location.hash.slice(1)===e)return;b.location.hash=e}},this)},this._core.options=a.extend({},e.Defaults,this._core.options),this.$element.on(this._handlers),a(b).on("hashchange.owl.navigation",a.proxy(function(a){var c=b.location.hash.substring(1),e=this._core.$stage.children(),f=this._hashes[c]&&e.index(this._hashes[c]);f!==d&&f!==this._core.current()&&this._core.to(this._core.relative(f),!1,!0)},this))};e.Defaults={URLhashListener:!1},e.prototype.destroy=function(){var c,d;a(b).off("hashchange.owl.navigation");for(c in this._handlers)this._core.$element.off(c,this._handlers[c]);for(d in Object.getOwnPropertyNames(this))"function"!=typeof this[d]&&(this[d]=null)},a.fn.owlCarousel.Constructor.Plugins.Hash=e}(window.Zepto||window.jQuery,window,document),function(a,b,c,d){function e(b,c){var e=!1,f=b.charAt(0).toUpperCase()+b.slice(1);return a.each((b+" "+h.join(f+" ")+f).split(" "),function(a,b){if(g[b]!==d)return e=!c||b,!1}),e}function f(a){return e(a,!0)}var g=a("<support>").get(0).style,h="Webkit Moz O ms".split(" "),i={transition:{end:{WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd",transition:"transitionend"}},animation:{end:{WebkitAnimation:"webkitAnimationEnd",MozAnimation:"animationend",OAnimation:"oAnimationEnd",animation:"animationend"}}},j={csstransforms:function(){return!!e("transform")},csstransforms3d:function(){return!!e("perspective")},csstransitions:function(){return!!e("transition")},cssanimations:function(){return!!e("animation")}};j.csstransitions()&&(a.support.transition=new String(f("transition")),a.support.transition.end=i.transition.end[a.support.transition]),j.cssanimations()&&(a.support.animation=new String(f("animation")),a.support.animation.end=i.animation.end[a.support.animation]),j.csstransforms()&&(a.support.transform=new String(f("transform")),a.support.transform3d=j.csstransforms3d())}(window.Zepto||window.jQuery,window,document);;
;
var DuHeader = {};
var DuNews = {};

/*********************************************************************************************
    JS functions for Header
**********************************************************************************************/
DuHeader.Header = (function() {
    'use strict';

    // Private members
    var oldurl = undefined;
    var pageLanguage = '';
    var searchUrl = '';

    var confirmMenuCardRemoval = function (contentguid, language) {
        $('#menuCardToRemoveGuid').val(contentguid);
        $('#menuCardLanguage').val(language);
        $('#confirmMenuCardRemovalModal').modal('show');
    };

    var removeMenuCard = function (actionUrl) {
        $('#confirmMenuCardRemovalModal').modal('hide');
        var contentguid = $('#menuCardToRemoveGuid').val();
        var language = $('#menuCardLanguage').val();

        if (contentguid && language) {
            $.ajax({
                type: "Post",
                url: actionUrl,
                data: { "contentguid": contentguid, "language": language },
                dataType: "json",
                success: function (result) {
                    if (result.success) {
                        $('#userMenuCardsForm').submit();
                    }
                },
                failure: function () {
                }
            });
        }
    };

    var initMegaMenu = function () {
        $('#MegaMenu').on('shown.bs.collapse', function () {
            $("#searchAreaCollapse").collapse('hide');
            $("#userNavbarCollapse").collapse('hide');
            $("#PersonalMenu_v2").collapse('hide');
            let personalMenu = $('#PersonalMenu_v2');
            if (personalMenu.is(":visible")) {
                personalMenu.css({ display: "none" });
                $(this).attr("aria-expanded", "false");
                $("#mainnav-tabs .personal-tab").addClass("collapsed");
            }
        });
    };

    var initsearchAreaCollapseOnShown = function () {
        $('#searchAreaCollapse').on('shown.bs.collapse', function () {
            if ($('#headerQuery').val()) {
                $('#btnDuSearchClear').show();
            }
            else {
                $('#btnDuSearchClear').hide();
            }

            $('#headerQuery').focus();
            $("#MegaMenu").collapse('hide');
            $("#userNavbarCollapse").collapse('hide');
            $("#PersonalMenu_v2").collapse('hide');
            let personalMenu = $('#PersonalMenu_v2');
            if (personalMenu.is(":visible")) {
                personalMenu.css({ display: "none" });
                $(this).attr("aria-expanded", "false");
                $("#mainnav-tabs .personal-tab").addClass("collapsed");
            }
            //setTimeout(function () {
            //    $('html, body').animate({ scrollTop: 0 }, 0);
            //}, 200);
        });
    };

    var initsearchAreaCollapseOnShow = function () {
        $('#searchAreaCollapse').on('show.bs.collapse', function () {
            $('#headerQuery').val('');
        });
    };

    var initUserNavbarCollapseOnShow = function () {
        $('#userNavbarCollapse').on('show.bs.collapse', function (sender) {
            if (sender.target.id === "userNavbarCollapse") {
                $('#userMenuCardsForm').submit();
                $('#userMessagesForm').submit();
                $('#userAgendaEventsForm').submit();
                //$('#userStudentFronterForm').submit();
                //$('#userStaffFronterForm').submit();
                $('#userMarketplaceForm').submit();
                $('#userBlackboardForm').submit();
            }
        });
    };

    var initUserNavbarCollapseOnShown = function () {
        $('#userNavbarCollapse').on('shown.bs.collapse', function () {
            $("#MegaMenu").collapse('hide');
            $("#searchAreaCollapse").collapse('hide');
            $("#PersonalMenu_v2").collapse('hide');
        });
    };

    var initNavigationMenuCloseButton = function () {
        $('#navigationMenuCloseButton').on('click', function () {
            $("#MegaMenu").collapse('hide');
            $('html, body').animate({ scrollTop: 0 }, 800);
        });
    };

    var initUserMenuCloseButton = function () {
        $('#userMenuCloseButton').on('click', function () {
            $("#userNavbarCollapse").collapse('hide');
            $('html, body').animate({
                scrollTop: 0
            }, 800);
        });
    };

    var initsearchAreaCollapseOnHidden = function () {
        $('#searchAreaCollapse').on('hidden.bs.collapse', function () {
            $('#headerQuery').val('');

            // Set the browser's URL and history entry
            if (typeof history.pushState !== "undefined") {
                var url = undefined;

                if (oldurl && oldurl !== undefined) {
                    url = oldurl;
                }
                else {
                    url = document.location.href.replace(/#[^#]*$/, "").replace(/\?[^\?]*$/, "").replace(/^https:/, "http:");
                }

                var obj = {
                    path: url
                };
                window.history.pushState(obj, '', url);
            }
        });
    };

    var initUrlParam = function () {
        $.urlParam = function (name) {
            var results = new RegExp('[\?&]' + name + '=([^&#]*)').exec(window.location.href);
            if (results === null) {
                return null;
            } else {
                return results[1] || "";
            }
        };
    };

    var initPopover = function () {
        var originalLeave = $.fn.popover.Constructor.prototype.leave;
        $.fn.popover.Constructor.prototype.leave = function (obj) {
            var self = obj instanceof this.constructor ?
                obj : $(obj.currentTarget)[this.type](this.getDelegateOptions()).data('bs.' + this.type);
            var container, timeout;

            originalLeave.call(this, obj);

            if (obj.currentTarget) {
                container = $(obj.currentTarget).siblings('.popover');
                timeout = self.timeout;
                container.one('mouseenter', function () {
                    //We entered the actual popover – call off the dogs
                    clearTimeout(timeout);
                    //Let's monitor popover content instead
                    container.one('mouseleave', function () {
                        $.fn.popover.Constructor.prototype.leave.call(self, self);
                    });
                });
            }
        };

        $('body').popover({ selector: '[data-popover]', trigger: 'click hover', placement: 'auto', delay: { show: 50, hide: 400 } });
    };

    var initClearSearch = function () {
        $('#btnDuSearchClear').on('click', function () {
            $('#headerQuery').val('');
            $('#headerQuery').focus();
            $(this).hide();

        });
    };

    var initAutocomplete = function () {
        try {
            $("#headerQuery").autocomplete(
                {
                    minLength: 3,
                    source: function (request, response) {
                        var api = "/api/autocomplete/" + request.term + "/" + pageLanguage;
                        $.getJSON(api, function (result) {
                            var suggestions = $.parseJSON(result);
                            response(suggestions);
                        })
                            .done(function () {
                                //console.log("second success");
                            })
                            .fail(function (jqxhr, textStatus, error) {
                                //var err = textStatus + ", " + error;
                                //console.log(err);
                            })
                    },
                    select: function (event, ui) {
                        $("#headerQuery").val(ui.item.value);
                        checkHeaderEmptySearch();
                    }
                });
        }
        catch {

        }
    };

    var searchByHistory = function (value) {
        $('#headerQuery').val(value);
        checkHeaderEmptySearch();
    };

    var checkHeaderEmptySearch = function () {
        var query = $.trim($('#headerQuery').val());

        if (query == '') {
            var sMessage = $('#SearchInputMessage').attr('title');
            $('.search-input-message').text(sMessage);
            $('#headerQuery').focus();
            return;
        }

        window.location.href = searchUrl + '?search=true&q=' + query + '&l=' + pageLanguage + '&f=1&pi=1';
        return false;
    };

    var cancelEmulation = function () {
        $.ajax({
            url: "/api/cancelemulation",
            type: "POST",
            data: "",
            success: function () {
                window.location.reload();
            }
        });
    };

    var init = function (searchPageUrl, language) {
        searchUrl = searchPageUrl;
        pageLanguage = language;

        initMegaMenu();
        initsearchAreaCollapseOnShown();
        initsearchAreaCollapseOnShow();
        initUserNavbarCollapseOnShow();
        initUserNavbarCollapseOnShown();
        initNavigationMenuCloseButton();
        initUserMenuCloseButton();
        initsearchAreaCollapseOnHidden();
        initUrlParam();
        initPopover();
        initClearSearch();
        initAutocomplete();

        $('#headerQuery').keyup(function (event) {
            if ($(this).val()) {
                $('#btnDuSearchClear').show();
            }
            else {
                $('#btnDuSearchClear').hide();
            }
        });

        $('#headerQuery').keydown(function (event) {
            if (event.which === 13) {
                event.preventDefault();
                checkHeaderEmptySearch();
            }
        });

        $("#btnDuSearch").click(function () {
            checkHeaderEmptySearch();
        });
    };

    // Public members
    return {
        Init: init,
        CancelEmulation: cancelEmulation,
        ConfirmMenuCardRemoval: confirmMenuCardRemoval,
        RemoveMenuCard: removeMenuCard,
        SearchByHistory: searchByHistory
    };
})();;
/*********************************************************************************************
    Dalarna University JS cookie functions
**********************************************************************************************/
DuHeader.Cookies = (function () {
    'use strict';

    // Private members

    /**
     * This function is used to see if a cookie exists or not.
     * @param {string} name, Send the name of the cookie as a parameter.
     * @returns {string} If the cookie exists, then the function returns the value of 
     * cookie, otherwise it returns an empty string.
     */
    var getCookie = function (name) {
        var cookieArray = document.cookie.split(';');

        // Loop through an array of cookies.
        for (var i = 0; i < cookieArray.length; i++) {

            var cookie = cookieArray[i];

            // Remove all whitespace from beginning of cookie
            while (cookie.charAt(0) === ' ') {
                cookie = cookie.substring(1);
            }

            var cookieName = cookie.substring(0, cookie.indexOf('='));

            // If this is the cookie we are looking for then return the value part of the name.
            if (cookieName === name) {
                return cookie.substring(name.length + 1, cookie.length);
            }
        }

        return "";
    };

    /**
     * This function creates a cookie.
     * To use this function, you need to include 3 parameters - 
     * @param {string} name of the cookie,
     * @param {string} value of  the cookie
     * @param {number} days, number of days the cookie is valid before it expires.
     * @returns {void}
     */
    var setCookie = function (name, value, days) {
        if (isNullOrWhitespace(name) || isNullOrWhitespace(value) || isUndefinedOrNull(days)) {
            return;
        }

        var d = new Date();
        var extratime = days * 24 * 60 * 60 * 1000;
        d.setTime(d.getTime() + extratime);
        document.cookie = name + "=" + value + ";expires=" + d.toUTCString();
    };

    var removeCookie = function (name) {
        document.cookie = name + '=;expires=Thu, 01 Jan 1970 00:00:01 GMT;';
    };

    /**
     * Check if the included parameter is undefined or null.
     * @param {string} val, this parameter will be checked.
     * @returns {boolean} true, if undefined value is undefined or null,
     * otherwise false.
     */
    var isUndefinedOrNull = function (val) {
        if (typeof val === 'undefined' || val === null) {
            return true;
        }

        return false;
    };

    /**
     * Check if the included parameter is empty.
     * @param {string} val, this parameter will be checked
     * @returns {boolean} true if the parameter is null or an 
     * empty string or only contains whitespace, otherwise false.
     */
    var isNullOrWhitespace = function (val) {
        if (isUndefinedOrNull(val)) {
            return true;
        }

        // Regex exp \s => whitespace, /g => all occurances (global)
        // Also remove all whitespace occurrences in our string parameter val
        // and then check if the number of characters in val is less than one.
        // If it is, true is returned, otherwise false!
        return val.replace(/\s/g, '').length < 1;
    };

    /**
     * This function hides an html-tag. In order to hide the tag, you 
     * include the tag's id as a parameter.
     * @param {string} id, the tag's id.
     * @return {void}
     */
    var hideHtmlTag = function (id) {
        if (!isNullOrWhitespace(id)) {
            $("#" + id).hide("slow");
        }
    };

    var initCookieButton = function () {
        $("#cookiebutton").click(function () {
            setCookie("DuAboutCookies", "DuIUnderstand", 365 * 2); // Cookie to exist for 2 years!
            hideHtmlTag("cookieBox");
        });
    };

    /**
     * Initialize cookie box.
     * @returns {void}
     */
    var initCookieBox = function () {
        $("#cookieBox").init(function () {
            if (getCookie("DuAboutCookies") === "") {
                $("#cookieBox").removeClass("hidden");
                initCookieButton();
            }
        });
    };

    /**
     * Check if the cookie "DuAboutCookies" exists.
     * @returns {void}
     */
    var init = function () {
        initCookieBox();
    };

    // Public members
    return {
        Init: init,
        GetCookie: getCookie,
        SetCookie: setCookie,
        RemoveCookie: removeCookie
    };
})();


$(function () {
    DuHeader.Cookies.Init();
});
;
/***********************************************************************
    This function redirects the user to CAS login page, with the current 
    page as return url (in query string).
***********************************************************************/
function casLogin() {
    var url = document.location.origin + "/CASLogin.aspx/?ReturnURL=" + window.location.href;
    window.location.href = url;
}
;
/*********************************************************************************************
    JS functions for Header Search Results
**********************************************************************************************/
DuHeader.SearchResults = (function () {
    'use strict';

    // Private members
    var selectedIds = "";

    var getIds = function () {
        var ids = new Array();
        selectedIds = "";

        $.each($("input[id*='du-custom-search-id-']"), function () {
            if (selectedIds.indexOf($(this).val()) === -1) {
                selectedIds += $(this).val() + ',';
                ids.push($(this).val());
            }
        });

        return ids;
    };

    var setDuSearchFormatType = function () {
        var isCustomSearch = $("#du-is-custom-search-block").val();
        var searchFormatCookie = DuHeader.Cookies.GetCookie("DuSearchFormatType");
        var ids = getIds();

        if (isCustomSearch && isCustomSearch.toLowerCase() === "true") {
            $.each(ids, function () {
                var id = this;
                var showSearchViewAs = $("#du-show-search-view-as-" + id).val();

                if (showSearchViewAs) {
                    if (showSearchViewAs.toLowerCase() === "listview") {
                        $(".viewrich-search").each(function () {
                            var customSearchBlock = $(this).closest('div[id=searchblockResults-' + id + ']');

                            if (customSearchBlock.html() !== undefined) {
                                $(this).addClass('viewmini-search');
                                $(this).removeClass('viewrich-search');
                            }
                        });
                    }
                    //else if (showSearchViewAs.toLowerCase() === "imageview") {
                    //    $('.viewrich-search').addClass('viewimage-search');
                    //    $('.viewrich-search').removeClass('viewrich-search');
                    //}
                }
            });
        }

        if (searchFormatCookie !== undefined && searchFormatCookie === "viewmini-search") {
            var searchblockResultIds = new Array();
            var isundefined = undefined;
            var outerId = undefined;

            if (ids && ids.length > 0) {
                $.each(ids, function () {
                    searchblockResultIds.push('div[id=searchblockResults-' + this + ']');
                });
            }

            $(".viewrich-search").each(function () {
                isundefined = true;
                outerId = this;

                if (searchblockResultIds && searchblockResultIds.length > 0) {
                    $.each(searchblockResultIds, function () {
                        var customSearchBlock = $(outerId).closest(this);

                        if (customSearchBlock.html() !== undefined) {
                            isundefined = false;
                            return false;
                        }
                    });
                }

                if (isundefined) {
                    $(this).addClass('viewmini-search');
                    $(this).removeClass('viewrich-search');
                }
            });
        }
    };

    var adjustSearchFilterPanelsExpandedCollapsedState = function () {
        $.each($('.btn.btn-default.btn-sm.searchFilterPlusMinus'), function (i, element) {
            var btnId = $(element).attr('id');
            var cookieName;
            var expandString;
            var panel;
            var lbl;

            if (btnId !== undefined && btnId !== "btnFacet") {
                cookieName = "DuFilter" + (btnId.length > 3 ? btnId.substr(3) : btnId);
                expandString = DuHeader.Cookies.GetCookie(cookieName);

                if (expandString === "true" || expandString === "false") {
                    panel = "#" + (btnId.length > 4 ? btnId.substr(3, 1).toLowerCase() + btnId.substr(4) : btnId);
                    lbl = "#lbl" + (btnId.length > 3 ? btnId.substr(3) : btnId);
                    btnId = "#" + btnId;
                    adjustDuFilterExpandedCollapsedState(panel, lbl, btnId, expandString === "true");
                }
            }
        });
    };

    var adjustDuFilterExpandedCollapsedState = function (panel, label, btn, expand) {
        if (panel !== undefined) {
            $(panel).toggle(expand);
        }

        if (label !== undefined) {
            $(label).toggle(!expand);
        }

        if (btn !== undefined) {
            if (expand) {
                $(btn).find('i').removeClass('fa-chevron-down').addClass('fa-chevron-up');
            }
            else {
                $(btn).find('i').removeClass('fa-chevron-up').addClass('fa-chevron-down');
            }
        }
    };

    var initSearchFilterPanel = function () {
        // Count selected checkbox and drop down filters.
        var empOrgFilterCount = $("#selectedEmpOrgMenuItem").val() > 0 ? 1 : 0;
        var numberActiveFilters = $("#searchFilterPanel input:checked").length + $("#searchFilterPanel option:selected").filter('[value != 0]').length + empOrgFilterCount;
        if (numberActiveFilters > 0) {
            $("#clearFiltersButton").on('click', clearFilters);
            $("#numberActiveFiltersText").text("(" + numberActiveFilters + ")");
        }
        else {
            $("#clearFiltersButton").hide();
            $("#numberActiveFiltersText").hide();
        }
    };

    var initSearchMenuCloseButton = function () {
        $('#searchMenuCloseButton').on('click', function () {
            $("#searchAreaCollapse").collapse('hide');
            $('html, body').animate({ scrollTop: 0 }, 800);
        });
    };

    var initShowMoreResultsButton = function () {
        $('#showMoreResultsButton').on('click', function () {
            $("#pagingIndex").val(2);
            $('#searchForm').submit();
        });
    };

    var empOrgMenuItemClick = function (val) {
        if ($("#selectedEmpOrgMenuItem").val() === val) {
            $("#selectedEmpOrgMenuItem").val("");
        }
        else {
            $("#selectedEmpOrgMenuItem").val(val);
        }

        submitForm();
    };

    var submitForm = function () {
        // Submit _HeaderSearchArea ajax form.
        $("#pagingIndex").val(1);
        $('#searchForm').submit();
    };

    var clearFilters = function () {
        // Clear checkbox filters.
        $("#searchFilterPanel input:checked").each(function () {
            $(this).prop("checked", false);
        });

        // A checkbox that is disabled but checked has a hidden input to get it's value posted.
        // Therefore the hidden input must be removed.
        $("#searchFilterPanel input:hidden").remove();

        // Clear drop down filters, except the default options with value '0' (for example 'All subjects').
        $("#searchFilterPanel option:selected").filter('[value != 0]').each(function () {
            $(this).prop("selected", false);
        });

        submitForm();
    };

    // Screen width resize functions
    var previousWidth = null;

    var toggleFacetPanelOnResize = function () {
        var $window = $(this),
        width = Math.ceil($window.width());

        if (width !== previousWidth) {
            if (width < 769) {
                if (!previousWidth || previousWidth >= 769 && $("#facets").is(':visible')) {
                    $("#btnFacet").click();
                }               
            }
            else if (previousWidth < 769 && $("#facets").is(':visible') === false) {
                $("#btnFacet").click();
            }

            previousWidth = width;
        }
    };

    var setBrowserUrl = function () {
        // Set the browser's URL and history entry
        if (typeof history.pushState !== "undefined") {
            var formSubmitted = $("#du-search-results-form-submitted").val();
            var searchUrl = $("#search-results-search-url").val();

            if (parseInt(formSubmitted, 10) === 1) {
                var obj = { path: searchUrl };
                window.history.pushState(obj, '', searchUrl.replace(/&amp;/g, '&'));
            }
        }
    };

    var setFilterCookieEvents = function () {
        // Generic Filter Cookie Setter
        var cookieNames = "";
        $('.btn.btn-default.btn-sm.searchFilterPlusMinus').on('click', function (e) {
            var btnId = $(this).attr('id');
            var cookieName = "DuFilter" + (btnId.length > 3 ? btnId.substr(3) : btnId);
            var panel = "#" + (btnId.length > 4 ? btnId.substr(3, 1).toLowerCase() + btnId.substr(4) : btnId);
            var display;
            cookieNames += cookieName + ", ";
            //alert("cookieName: " + cookieName);

            if (btnId !== undefined && btnId !== "btnFacet") {
                display = $(panel).css('display');
            }

            if (display !== undefined && display === 'block') {
                DuHeader.Cookies.SetCookie(cookieName, "false", 2); // Cookie to exist for max 2 days!
            }
            else {
                DuHeader.Cookies.SetCookie(cookieName, "true", 2);
            }
        });

        if (cookieNames) {
            cookieNames = cookieNames.substr(0, cookieNames.length - 2);
            alert("cookieNames: " + cookieNames);
        }
    };


    var setViewFormat = function (a) {
        $("#viewFormat").val(a);
        submitForm();
    };

    var setMenuSortEvent = function (a) {
        var blockType = $(a).closest('.du-block').attr('data-du-blocktype');

        //var isDocumentSearchBlock = $("#du-is-document-search-block").val();
        //var isResearchProjectSearchBlock = $("#du-is-researchproject-search-block").val();
        //var isSharePointDocumentSearchBlock = $("#du-is-sharepointdocument-search-block").val();

        var isDocumentSearchBlock = blockType && blockType === "DocumentSearchBlock" ? true : false;
        var isResearchProjectSearchBlock = blockType && blockType === "ResearchProjectSearchBlock" ? true : false;
        var isSharePointDocumentSearchBlock = blockType && blockType === "SharePointDocumentSearchBlock" ? true : false;        

        var sortBy = $(a).val();
        if (isSharePointDocumentSearchBlock) {
            $("#spSortby").val(sortBy);
        }
        else {
            $("#sortby").val(sortBy);
        }        

        if (isDocumentSearchBlock) {
            searchForDocuments();
        }
        else if (isResearchProjectSearchBlock) {
            searchForResearchProjects();
        }
        else if (isSharePointDocumentSearchBlock) {
            searchForSharePointDocuments();
        }
        else {
            submitForm();
        }
    };

    var toggleCollapseEvents = function (id) {
        $(document).on('show.du.collapse hide.du.collapse', function (e, targetSelector, initiator) {
            var showOfferings = $("#search-results-show-offerings_" + id).val();
            var more = $("#search-results-more_" + id).val();

            if ($(initiator).hasClass('searchShowAll')) {
                var items = $(initiator).attr("data-du-items");
                if (items !== 'undefined' && items !== "") {
                    var n = showOfferings.indexOf("<");
                    //showOfferings = showOfferings.substr(0, n - 1) + items + showOfferings.substr(n - 1);
                    showOfferings = $(initiator).attr("data-du-title") + showOfferings.substr(n - 1);
                }

                $(initiator).html(e.type === 'show' ? "<i class='fa fa-fw fa-chevron-up'>" : showOfferings);
                $($.fn.dataTable.tables(true)).DataTable()
                    .columns.adjust()
                    .responsive.recalc();
            }
            //    if ($(initiator).hasClass('searchShowMore')) {
            //        $(initiator).html(e.type === 'show' ? "<i class='fa fa-fw fa-chevron-up'>" : more);
            //        $($.fn.dataTable.tables(true)).DataTable()
            //          .columns.adjust()
            //          .responsive.recalc();
            //    }
            //if ($(initiator).hasClass('searchPlusMinus')) {
            //    if (e.type === 'show') {
            //        $(initiator).find('i').removeClass('fa-chevron-down').addClass('fa-chevron-up');
            //        $($.fn.dataTable.tables(true)).DataTable()
            //          .columns.adjust()
            //          .responsive.recalc();
            //    } else {
            //        $(initiator).find('i').removeClass('fa-chevron-up').addClass('fa-chevron-down');
            //    }
            //}
            if ($(initiator).hasClass('searchFilterPlusMinus')) {
                if (e.type === 'show') {
                    $(initiator).find('i').removeClass('fa-chevron-down').addClass('fa-chevron-up');
                    document.getElementById(initiator.id.replace('btn', 'lbl')).style.display = 'none';
                } else {
                    $(initiator).find('i').removeClass('fa-chevron-up').addClass('fa-chevron-down');
                    document.getElementById(initiator.id.replace('btn', 'lbl')).style.display = 'block';
                }
            }
        });

        initSearchFilterPanel();
    };

    var setEvents = function (id) {
        setFilterCookieEvents();
        toggleCollapseEvents(id);
    };

    var setDynamicCoursePackageDataTables = function () {
        $('.epifind-coursepackage-rich').find('table[id^="dt_"]').DataTable({
            destroy: true,
            responsive: {
                details: {
                    renderer: function (api, rowIdx, columns) {
                        var data = $.map(columns, function (col, i) {
                            var renderColumn = col.data !== "do not render";
                            return col.hidden && renderColumn ?
                                '<li data-dtr-index="' + col.columnIndex + '" data-dt-row="' + col.rowIndex + '" data-dt-column="' + col.columnIndex + '">' +
                                    '<span class="dtr-title">' +
                                        col.title +
                                    '</span> ' +
                                    '<span class="dtr-data">' +
                                        col.data +
                                    '</span>' +
                                '</li>' :
                                '';
                        }).join('');

                        return data ?
                            $('<ul data-dtr-index="' + rowIdx + '"/>').append(data) :
                            false;
                    }
                }
            },
            autoWidth: false,
            searching: false,
            orderable: false,
            info: false,
            lengthChange: false,
            ordering: false,
            paging: false,
            language: {
                url: "/Lang/DataTables_en.json"
            }
        });
    };

    var setDynamicCourseDataTables = function () {
        $('.epifind-course-rich').find('table[id^="dt_"]').DataTable({
            destroy: true,
            responsive: {
                details: {
                    renderer: function (api, rowIdx, columns) {
                        var data = $.map(columns, function (col, i) {
                            var renderColumn = col.data !== "do not render";
                            return col.hidden && renderColumn ?
                                '<li data-dtr-index="' + col.columnIndex + '" data-dt-row="' + col.rowIndex + '" data-dt-column="' + col.columnIndex + '">' +
                                    '<span class="dtr-title">' +
                                        col.title +
                                    '</span> ' +
                                    '<span class="dtr-data">' +
                                        col.data +
                                    '</span>' +
                                '</li>' :
                                '';
                        }).join('');

                        return data ?
                            $('<ul data-dtr-index="' + rowIdx + '"/>').append(data) :
                            false;
                    }
                }
            },
            autoWidth: false,
            searching: false,
            orderable: false,
            info: false,
            lengthChange: false,
            ordering: false,
            paging: false,
            language: {
                url: "/Lang/DataTables_en.json"
            }
        });
    };

    var setDynamicProgrammeDataTables = function () {
        var dummy = $("#search-results-dummy").val();
        var language = $("#search-results-language").val();

        $('.epifind-programme-rich').find('table[id^="dt_"]').DataTable({
            destroy: true,
            responsive: {
                details: {
                    renderer: function (api, rowIdx, columns) {
                        var data = $.map(columns, function (col, i) {
                            var renderColumn = col.data !== "do not render";
                            if (col.data === dummy) {
                                renderColumn = false;
                            }
                            return col.hidden && renderColumn ?
                                '<li data-dtr-index="' + col.columnIndex + '" data-dt-row="' + col.rowIndex + '" data-dt-column="' + col.columnIndex + '">' +
                                    '<span class="dtr-title">' +
                                        col.title +
                                    '</span> ' +
                                    '<span class="dtr-data">' +
                                        col.data +
                                    '</span>' +
                                '</li>' :
                                '';
                        }).join('');

                        return data ?
                            $('<ul data-dtr-index="' + rowIdx + '"/>').append(data) :
                            false;
                    }
                }
            },
            autoWidth: false,
            searching: false,
            orderable: false,
            info: false,
            lengthChange: false,
            ordering: false,
            paging: false,
            language: {
                url: "/Lang/DataTablesProgram_" + language + ".json"
                //zeroRecords: noOfferings
            }
        });
    };

    var setDynamicDataTables = function () {
        try {
            setDynamicCoursePackageDataTables();
        }
        catch (err) {
            // TODO Log error
        }

        try {
            setDynamicCourseDataTables();
        }
        catch (err) {
            // TODO Log error
        }

        try {
            setDynamicProgrammeDataTables();
        }
        catch (err) {
            // TODO Log error
        }
    };

    var trySearchSuggestion = function (value) {
        $('#query').val(value);
        submitForm();
    };

    var getMaxVisiblePages = function () {
        if ($(window).width() < 769) {
            return 7;
        }
        else {
            return 10;
        }
    };

    var setPagination = function (blockType = undefined) {
        //var pageSize = $("#du-search-results-page-size").val();
        //var totalHits = $("#du-search-results-total-hits").val();
        //var isDocumentSearchBlock = $("#du-is-document-search-block").val();
        //var isResearchProjectSearchBlock = $("#du-is-researchproject-search-block").val();
        //var isSharePointDocumentSearchBlock = $("#du-is-sharepointdocument-search-block").val();

        var isDocumentSearchBlock = blockType && blockType === "DocumentSearchBlock" ? true : false;
        var isResearchProjectSearchBlock = blockType && blockType === "ResearchProjectSearchBlock" ? true : false;
        var isSharePointDocumentSearchBlock = blockType && blockType === "SharePointDocumentSearchBlock" ? true : false;

        var pageSize;
        if (isDocumentSearchBlock || isResearchProjectSearchBlock || isSharePointDocumentSearchBlock) {
            pageSize = $("div[data-du-blocktype='" + blockType + "']").find('#du-search-results-page-size').val();
        }
        else {
            pageSize = $("#du-search-results-page-size").val();
        }

        var totalHits;
        if (isDocumentSearchBlock || isResearchProjectSearchBlock || isSharePointDocumentSearchBlock) {
            totalHits = $("div[data-du-blocktype='" + blockType + "']").find('#du-search-results-total-hits').val();
        }
        else {
            totalHits = $("#du-search-results-total-hits").val();
        }

        if (pageSize && totalHits) {
            if (totalHits && parseInt(totalHits, 10) > parseInt(pageSize, 10)) {
                var totalPages = Math.ceil(totalHits / pageSize);
                var maxVisiblePages = getMaxVisiblePages();
                var page = 1;
                if (isSharePointDocumentSearchBlock) {
                    page = $("#spPagingIndex").val();
                }
                else {
                    page = $("#pagingIndex").val();
                }

                var pagination;
                if (isDocumentSearchBlock || isResearchProjectSearchBlock || isSharePointDocumentSearchBlock) {
                    pagination = $("div[data-du-blocktype='" + blockType + "']").find('#searchResultsPagination');
                }
                else {
                    pagination = $('#searchResultsPagination')
                }                

                if (totalPages) {
                    $(pagination).bootpag({
                        total: totalPages,
                        page: page,
                        maxVisible: maxVisiblePages,
                        leaps: false,
                        firstLastUse: false,
                        disabledClass: 'hide',
                        wrapClass: 'pagination pagination-sm',
                        next: '<i class="fa fa-chevron-right"></i>',
                        prev: '<i class="fa fa-chevron-left"></i>'
                    }).on("page", function (event, num) {
                        if (isSharePointDocumentSearchBlock) {
                            $("#spPagingIndex").val(num);
                        }
                        else {
                            $("#pagingIndex").val(num);
                        }                        

                        if (isDocumentSearchBlock) {
                            searchForDocuments();
                        }
                        else if (isResearchProjectSearchBlock) {
                            searchForResearchProjects();
                        }
                        else if (isSharePointDocumentSearchBlock) {
                            searchForSharePointDocuments();
                        }                        
                        else {
                            $('#searchForm').submit();

                            var scrollElement = $('#searchAreaCollapse')[0];
                            if (typeof (scrollElement) == "undefined")
                                console.info("Element is undefined, scrollIntoView skipped");
                            else
                                scrollElement.scrollIntoView();
                        }
                    });
                }
            }
        }
    };

    var init = function (id, blockType) {
        var isCustomSearchBlock = $("#du-is-custom-search-block").val();        ;

        if (isCustomSearchBlock && isCustomSearchBlock.toLowerCase() === "false") {
            $('#query').prop('readonly', false);
            $("#btnDuSearch").prop('disabled', false);
            $(window).resize(toggleFacetPanelOnResize).trigger('resize');
            adjustSearchFilterPanelsExpandedCollapsedState();
            setBrowserUrl();
            setPagination();
        }

        if (blockType != undefined) {
            setPagination(blockType);
        }

        setEvents(id);
        setDynamicDataTables();
        setDuSearchFormatType();
        initSearchMenuCloseButton();
        initShowMoreResultsButton();
        $('#query').focus();
    };

    // Public members
    return {
        Init: init,
        GetIds: getIds,
        SetViewFormat: setViewFormat,
        SetMenuSortEvent: setMenuSortEvent,
        SetPagination: setPagination,
        SubmitForm: submitForm,
        TrySearchSuggestion: trySearchSuggestion,
        EmpOrgMenuItemClick: empOrgMenuItemClick,
        SetDynamicCourseDataTables: setDynamicCourseDataTables,
        SetDynamicProgrammeDataTables: setDynamicProgrammeDataTables,
        ToggleCollapseEvents: toggleCollapseEvents
    };
})();
;

/*********************************************************************************************
    JS functions for Custom Search Block
**********************************************************************************************/
DuHeader.SearchBlockResults = (function () {
    'use strict';

    var getRouteValues = function (id) {
        var url = $("#du-custom-search-block-url-" + id).val();
        var maxNumberOfPost = $("#du-max-number-of-posts-" + id).val();
        var customSearchFrom = $("#du-custom-search-block-from-" + id).val();
        var customSearchTo = $("#du-custom-search-block-to-" + id).val();
        var selectedCategories = $("#du-custom-search-block-selected-categories-" + id).val();
        var newsPageType = $("#du-custom-search-block-news-page-type-" + id).val();
        var groupOnEducationLevel = $("#du-custom-search-block-group-on-education-level-" + id).val();
        var routeValues = undefined;

        if (url) {
            url = url.replace(/&amp;/g, '&');
            url += "&csb=true";

            if (maxNumberOfPost) {
                url += "&mnp=" + maxNumberOfPost;
            }

            if (customSearchFrom) {
                url += "&cfr=" + customSearchFrom;
            }

            if (customSearchTo) {
                url += "&cto=" + customSearchTo;
            }

            if (selectedCategories) {
                url += "&cca=" + selectedCategories;
            }

            if (newsPageType && newsPageType > 0) {
                url += "&npt=" + newsPageType;
            }

            if (groupOnEducationLevel) {
                url += "&egel=" + groupOnEducationLevel;
            }

            //if (hide) {
            //    url += "&hcb=" + hide;  // Hide CustomSearchblock
            //}

            routeValues = url.slice(url.indexOf('?') + 1);
        }

        return routeValues;
    };

    var fillBlock = function (id, routeValues, hide) {
        var divId = "#searchblockResults-" + id;
        var titleId = "#du-custom-search-block-title-" + id;
        var showLinkId = "#du-custom-search-block-show-link-" + id;
        var urlBtnId = "#du-custom-search-block-url-btn-" + id;
        var actionUrl = $("#du-custom-search-block-action-url-" + id).val();
        var loadingIndicatorId = "#du-custom-search-block-loading-indicator-" + id;

        if (routeValues !== undefined) {

            $(loadingIndicatorId).show();

            $.ajax({
                type: "GET",
                async: true,
                url: actionUrl,
                data: routeValues,
                dataType: "html",
                contentType: "application/json; charset=utf-8",
                success: function (data) {
                    if (data) {
                        $(titleId).show();
                        $(showLinkId).show();

                        if (!$(urlBtnId).hasClass('hidden')) {
                            $(urlBtnId).addClass('hidden');
                        }

                        $(divId).html(data);
                    }
                    else {
                        $(showLinkId).hide();

                        if (hide === false) {
                            $(titleId).show();

                            if ($(urlBtnId).hasClass('hidden')) {
                                $(urlBtnId).removeClass('hidden');
                            }
                        }
                        else {
                            $(titleId).hide();

                            if (!$(urlBtnId).hasClass('hidden')) {
                                $(urlBtnId).addClass('hidden');
                            }
                        }
                    }

                    $(loadingIndicatorId).hide();
                },
                failure: function () {
                    $(loadingIndicatorId).hide();
                }
            });
        }
    };

    var getResults = function (id, hide) {
        var routeValues = getRouteValues(id);
        fillBlock(id, routeValues, hide);
    };

    // Public members
    return {
        GetResults: getResults
    };
})();;
$(function(){
    $(document).on('click', '*[data-du-toggle="collapse"]', function() { 
        var targetSelector = $(this).data('du-target');
        if (targetSelector != null) {
            var div = $(targetSelector);
            if (div.is(':visible')) {
                div.slideUp();
                $(document).trigger('hide.du.collapse', [targetSelector, this])
            } else {
                div.slideDown();
                $(document).trigger('show.du.collapse', [targetSelector, this])
            }
        }
    });
});

function viewDetailedOffingInformation(sender) {
    var id = $(sender).data('du-id');
    $('#detailed_' + id).collapse("show");
    $('#minimized_' + id).collapse("hide");
}

function viewMinimizedOffingInformation(sender) {
    var id = $(sender).data('du-id');
    $('#minimized_' + id).collapse("show");
    $('#detailed_' + id).collapse("hide");
    $('html, body').animate({ scrollTop: $('#' + id).parent().offset().top - 6 }, 'slow');
};
/*********************************************************************************************
    JS functions for Favorites
**********************************************************************************************/
DuHeader.Favorites = (function () {
    'use strict';

    // Private members
    var isPageSavedUrl;

    var showFavorites = function (requrl) {
        var language = $('#duReadListLanguage').val();

        $.ajax({
            type: 'GET',
            url: requrl,
            data: { language: language },
            cache: false,
            contentType: "application/json; charset=utf-8",
            dataType: 'html',
            success: function (result) {
                $('#duUserFavorites').html(result);
            },
            error: function (data) {
            }
        });
    };

    var onRemoveSavedPage = function () {
        $('.modal-backdrop').hide();
    };

    var showConfirmModal = function (id) {
        $('#selectedFavoriteId').val(id);
        $('#duFavoritesConfirmLinkDeletion').modal('show');
    };

    var togglePageSaved = function () {
        if ($('#btnDuFavorite') === undefined) {
            return;
        }

        var language = $('#duCurrentPageLanguage').val();
        var currentUrl = $('#favoritesUrl').val();

        $.ajax({
            type: 'GET',
            url: isPageSavedUrl,
            data: { language: language, url: currentUrl },
            cache: false,
            contentType: "application/json; charset=utf-8",
            dataType: 'json',
            success: function (result) {
                if (result.saved) {
                    $('#btnDuFavorite').addClass('favorite');
                }
                else {
                    if ($('#btnDuFavorite').hasClass('favorite')) {
                        $('#btnDuFavorite').removeClass('favorite');
                    }
                }

                $('#btnDuFavorite').text(result.text);
            }
        });
    };

    var confirmPageSaved = function (data) {
        if (data.saved) {
            $('#btnDuFavorite').addClass('favorite');
        }
        else {
            if ($('#btnDuFavorite').hasClass('favorite')) {
                $('#btnDuFavorite').removeClass('favorite');
            }
        }

        $('#btnDuFavorite').text(data.text);
    };

    var initSiteHeaderNavigationArea = function (requrl) {
        $('a[data-toggle="tab"]').on('shown.bs.tab', function (e) {
            if ($(e.target).attr("href") === "#SavedPagesTab") {
                showFavorites(requrl);
            }
        });
    };

    var init = function (requrl) {
        isPageSavedUrl = requrl;
        togglePageSaved();
    };

    // Public members
    return {
        Init: init,
        InitSiteHeaderNavigationArea: initSiteHeaderNavigationArea,
        ShowFavorites: showFavorites,
        OnRemoveSavedPage: onRemoveSavedPage,
        ShowConfirmModal: showConfirmModal,
        TogglePageSaved: togglePageSaved,
        ConfirmPageSaved: confirmPageSaved
    };
})();;
DuHeader.NavigationTabs = (function () {
    'use strict';

    var loadPortalMenu = function (actionUrl, type, tabId, language, contentReference) {
        $('#loading-indicator-menuarea').show();

        $.ajax({
            type: 'GET',
            url: actionUrl,
            data: { type: type, contentReference: contentReference, language: language },
            success: function (result) {
                if (result) {
                    $('#' + tabId).html("<ul>" + result + "</ul>");
                }

                $('#loading-indicator-menuarea').hide();
            },
            error: function (req, staus, error) {
                $('#loading-indicator-menuarea').hide();
            }
        });
    };

    // Public members
    return {
        LoadPortalMenu: loadPortalMenu
    };

})();;
