﻿var dnnJscriptVersion="6.0.0";if(typeof(Sys.Browser.Chrome)=="undefined"){Sys.Browser.Chrome={};if(navigator.userAgent.indexOf(" Chrome/")>-1){Sys.Browser.agent=Sys.Browser.Chrome;Sys.Browser.version=parseFloat(navigator.userAgent.match(/Chrome\/(\d+\.\d+)/)[1]);Sys.Browser.name="Chrome";Sys.Browser.hasDebuggerStatement=true}}else{if(Sys.Browser.agent===Sys.Browser.InternetExplorer&&Sys.Browser.version>10){HTMLAnchorElement.prototype.attachEvent=function(a,b){if(a.substr(0,2)=="on"){a=a.substr(2)}this.addEventListener(a,b,false)};HTMLAnchorElement.prototype.detachEvent=function(a,b){if(a.substr(0,2)=="on"){a=a.substr(2)}this.removeEventListener(a,b,false)}}}if($&&$.ui&&$.ui.dialog){$.extend($.ui.dialog.prototype.options,{open:function(){var e=$(document).find("html");e.css("overflow","hidden");var f=e.find("body").scrollTop();if(f>0){e.scrollTop(0);var d=$(this);d.data("cacheScrollTop",f)}var a=$(this).closest(".ui-dialog");if(!$("html").hasClass("mobileView")){var c=$(window).height();var b=a.outerHeight();if(c-20>=b){a.css({position:"fixed",left:"50%",top:"50%",marginLeft:"-"+(a.outerWidth()/2)+"px",marginTop:"-"+(a.outerHeight()/2)+"px",maxHeight:"inherit",overflow:"initial"})}else{a.css({position:"fixed",left:"50%",top:"0",marginLeft:"-"+(a.outerWidth()/2)+"px",marginTop:"0",maxHeight:(c-20)+"px",overflow:"auto"})}}},beforeClose:function(){var b=$(document).find("html");b.css("overflow","");var c=$(this).data("cacheScrollTop");if(c){b.find("body").scrollTop(c);$(this).data("cacheScrollTop",null)}var a=$(this).closest(".ui-dialog");a.css({overflow:"initial"})}})}var DNN_HIGHLIGHT_COLOR="#9999FF";var COL_DELIMITER=String.fromCharCode(18);var ROW_DELIMITER=String.fromCharCode(17);var QUOTE_REPLACEMENT=String.fromCharCode(19);var KEY_LEFT_ARROW=37;var KEY_UP_ARROW=38;var KEY_RIGHT_ARROW=39;var KEY_DOWN_ARROW=40;var KEY_RETURN=13;var KEY_ESCAPE=27;Type.registerNamespace("dnn");dnn.extend=function(a,b){for(s in b){a[s]=b[s]}return a};dnn.extend(dnn,{apiversion:new Number("04.02"),pns:"",ns:"dnn",diagnostics:null,vars:null,dependencies:new Array(),isLoaded:false,delay:[],_delayedSet:null,getVars:function(){if(this.vars==null){var a=dnn.dom.getById("__dnnVariable");if(a!=null){if(a.value.indexOf("`")==0){a.value=a.value.substring(1).replace(/`/g,'"')}if(a.value.indexOf("__scdoff")!=-1){COL_DELIMITER="~|~";ROW_DELIMITER="~`~";QUOTE_REPLACEMENT="~!~"}}if(a!=null&&a.value.length>0){this.vars=Sys.Serialization.JavaScriptSerializer.deserialize(a.value)}else{this.vars=[]}}return this.vars},getVar:function(key,def){if(this.getVars()[key]!=null){var re=eval("/"+QUOTE_REPLACEMENT+"/g");return this.getVars()[key].replace(re,'"')}return def},setVar:function(b,c){if(this.vars==null){this.getVars()}this.vars[b]=c;var a=dnn.dom.getById("__dnnVariable");if(a==null){a=dnn.dom.createElement("INPUT");a.type="hidden";a.id="__dnnVariable";dnn.dom.appendChild(dnn.dom.getByTagName("body")[0],a)}if(dnn.isLoaded){a.value=Sys.Serialization.JavaScriptSerializer.serialize(this.vars)}else{dnn._delayedSet={key:b,val:c}}return true},callPostBack:function(action){var postBack=dnn.getVar("__dnn_postBack");var data="";if(postBack.length>0){data+=action;for(var i=1;i<arguments.length;i++){var aryParam=arguments[i].split("=");data+=COL_DELIMITER+aryParam[0]+COL_DELIMITER+aryParam[1]}eval(postBack.replace("[DATA]",data));return true}return false},createDelegate:function(a,b){return Function.createDelegate(a,b)},doDelay:function(b,c,d,a){if(this.delay[b]==null){this.delay[b]=new dnn.delayObject(d,a,b);this.delay[b].num=window.setTimeout(dnn.createDelegate(this.delay[b],this.delay[b].complete),c)}},cancelDelay:function(a){if(this.delay[a]!=null){window.clearTimeout(this.delay[a].num);this.delay[a]=null}},decodeHTML:function(a){return a.toString().replace(/&amp;/g,"&").replace(/&lt;/g,"<").replace(/&gt;/g,">").replace(/&quot;/g,'"')},encode:function(a,c){var b=a;if(encodeURIComponent){b=encodeURIComponent(b)}else{b=escape(b)}if(c==false){return b}return b.replace(/%/g,"%25")},encodeHTML:function(a){return a.toString().replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/'/g,"&apos;").replace(/\"/g,"&quot;")},encodeJSON:function(a){return a.toString().replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/'/g,"\u0027").replace(/\"/g,"&quot;").replace(/\\/g,"\\\\")},evalJSON:function(a){return Sys.Serialization.JavaScriptSerializer.deserialize(a)},escapeForEval:function(a){return a.replace(/\\/g,"\\\\").replace(/\'/g,"\\'").replace(/\r/g,"").replace(/\n/g,"\\n").replace(/\./,"\\.")},getEnumByValue:function(a,b){for(var c in a){if(typeof(a[c])=="number"&&a[c]==b){return c}}},_onload:function(){dnn.isLoaded=true;if(dnn._delayedSet){dnn.setVar(dnn._delayedSet.key,dnn._delayedSet.val)}},addIframeMask:function(c){if(dnn.dom.browser.isType("ie")&&(c.previousSibling==null||c.previousSibling.nodeName.toLowerCase()!="iframe")){var a=document.createElement("iframe");c.parentNode.insertBefore(a,c);var b=c.getBoundingClientRect();a.style.position="absolute";a.style.left=c.offsetLeft+"px";a.style.top=c.offsetTop+"px";a.style.width=(b.right-b.left)+"px";a.style.height=(b.bottom-b.top)+"px";a.style.opacity="0";a.style.filter="progid:DXImageTransform.Microsoft.Alpha(opacity=0)";a.style.zIndex="-1";return a}return null},removeIframeMask:function(a){if(dnn.dom.browser.isType("ie")&&(a.previousSibling!=null&&a.previousSibling.nodeName.toLowerCase()=="iframe")){a.parentNode.removeChild(a.previousSibling)}}});dnn.delayObject=function(c,a,b){this.num=null;this.pfunc=c;this.context=a;this.type=b};dnn.delayObject.prototype={complete:function(){dnn.delay[this.type]=null;this.pfunc(this.context)}};dnn.delayObject.registerClass("dnn.delayObject");dnn.ScriptRequest=function(e,d,c){this.ctl=null;this.xmlhttp=null;this.src=null;this.text=null;if(e!=null&&e.length>0){var b=dnn.dom.scriptFile(e);var a=dnn.getVar(b+".resx","");if(a.length>0){this.src=a}else{this.src=e}}if(d!=null&&d.length>0){this.text=d}this.callBack=c;this.status="init";this.timeOut=5000;this._xmlhttpStatusChangeDelegate=dnn.createDelegate(this,this.xmlhttpStatusChange);this._statusChangeDelegate=dnn.createDelegate(this,this.statusChange);this._completeDelegate=dnn.createDelegate(this,this.complete);this._reloadDelegate=dnn.createDelegate(this,this.reload)};dnn.ScriptRequest.prototype={load:function(){this.status="loading";this.ctl=document.createElement("script");this.ctl.type="text/javascript";if(this.src!=null){if(dnn.dom.browser.isType(dnn.dom.browser.Safari)){this.xmlhttp=new XMLHttpRequest();this.xmlhttp.open("GET",this.src,true);this.xmlhttp.onreadystatechange=this._xmlhttpStatusChangeDelegate;this.xmlhttp.send(null);return}else{if(dnn.dom.browser.isType(dnn.dom.browser.InternetExplorer)){this.ctl.onreadystatechange=this._statusChangeDelegate}else{if(dnn.dom.browser.isType(dnn.dom.browser.Opera)==false){this.ctl.onload=this._completeDelegate}}this.ctl.src=this.src}dnn.dom.scriptElements[this.src]=this.ctl}else{if(dnn.dom.browser.isType(dnn.dom.browser.Safari)){this.ctl.innerHTML=dnn.encodeHTML(this.text)}else{this.ctl.text=this.text}}var a=dnn.dom.getByTagName("HEAD");if(a){if(dnn.dom.browser.isType(dnn.dom.browser.Opera)==false||this.src!=null){a[0].appendChild(this.ctl)}}else{alert("Cannot load dynamic script, no HEAD tag present.")}if(this.src==null||dnn.dom.browser.isType(dnn.dom.browser.Opera)){this.complete()}else{if(this.timeOut){dnn.doDelay("loadScript_"+this.src,this.timeOut,this._reloadDelegate,null)}}},xmlhttpStatusChange:function(){if(this.xmlhttp.readyState!=4){return}this.src=null;this.text=this.xmlhttp.responseText;this.load()},statusChange:function(){if((this.ctl.readyState=="loaded"||this.ctl.readyState=="complete")&&this.status!="complete"){this.complete()}},reload:function(){if(dnn.dom.scriptStatus(this.src)=="complete"){this.complete()}else{this.load()}},complete:function(){dnn.cancelDelay("loadScript_"+this.src);this.status="complete";if(typeof(this.callBack)!="undefined"){this.callBack(this)}this.dispose()},dispose:function(){this.callBack=null;if(this.ctl){if(this.ctl.onreadystatechange){this.ctl.onreadystatechange=new function(){}}else{if(this.ctl.onload){this.ctl.onload=null}}this.ctl=null}this.xmlhttp=null;this._xmlhttpStatusChangeDelegate=null;this._statusChangeDelegate=null;this._completeDelegate=null;this._reloadDelegate=null}};dnn.ScriptRequest.registerClass("dnn.ScriptRequest");Type.registerNamespace("dnn.dom");dnn.extend(dnn.dom,{pns:"dnn",ns:"dom",browser:null,__leakEvts:[],scripts:[],scriptElements:[],tweens:[],attachEvent:function(a,c,d){if(a.addEventListener){var b=c.substring(2);a.addEventListener(b,function(e){dnn.dom.event=new dnn.dom.eventObject(e,e.target);return d()},false)}else{a.attachEvent(c,function(){dnn.dom.event=new dnn.dom.eventObject(window.event,window.event.srcElement);return d()})}return true},cursorPos:function(b){if(b.value.length==0){return 0}var h=-1;if(b.selectionStart){h=b.selectionStart}else{if(b.createTextRange){var f=window.document.selection.createRange();var a=b.createTextRange();if(a==null||f==null||((f.text!="")&&a.inRange(f)==false)){return -1}if(f.text==""){if(a.boundingLeft==f.boundingLeft){h=0}else{var d=b.tagName.toLowerCase();if(d=="input"){var g=a.text;var c=1;while(c<g.length){a.findText(g.substring(c));if(a.boundingLeft==f.boundingLeft){break}c++}}else{if(d=="textarea"){var c=b.value.length+1;var e=document.selection.createRange().duplicate();while(e.parentElement()==b&&e.move("character",1)==1){--c}if(c==b.value.length+1){c=-1}}}h=c}}else{h=a.text.indexOf(f.text)}}}return h},cancelCollapseElement:function(a){dnn.cancelDelay(a.id+"col");a.style.display="none"},collapseElement:function(b,c,d){if(c==null){c=10}b.style.overflow="hidden";var a=new Object();a.num=c;a.ctl=b;a.pfunc=d;b.origHeight=b.offsetHeight;dnn.dom.__collapseElement(a)},__collapseElement:function(a){var c=a.num;var b=a.ctl;var d=b.origHeight/c;if(b.offsetHeight-(d*2)>0){b.style.height=(b.offsetHeight-d).toString()+"px";dnn.doDelay(b.id+"col",10,dnn.dom.__collapseElement,a)}else{b.style.display="none";if(a.pfunc!=null){a.pfunc()}}},cancelExpandElement:function(a){dnn.cancelDelay(a.id+"exp");a.style.overflow="";a.style.height=""},disableTextSelect:function(a){if(typeof a.onselectstart!="undefined"){a.onselectstart=function(){return false}}else{if(typeof a.style.MozUserSelect!="undefined"){a.style.MozUserSelect="none"}else{a.onmousedown=function(){return false}}}},expandElement:function(b,c,d){if(c==null){c=10}if(b.style.display=="none"&&b.origHeight==null){b.style.display="";b.style.overflow="";b.origHeight=b.offsetHeight;b.style.overflow="hidden";b.style.height="1px"}b.style.display="";var a=new Object();a.num=c;a.ctl=b;a.pfunc=d;dnn.dom.__expandElement(a)},__expandElement:function(a){var c=a.num;var b=a.ctl;var d=b.origHeight/c;if(b.offsetHeight+d<b.origHeight){b.style.height=(b.offsetHeight+d).toString()+"px";dnn.doDelay(b.id+"exp",10,dnn.dom.__expandElement,a)}else{b.style.overflow="";b.style.height="";if(a.pfunc!=null){a.pfunc()}}},deleteCookie:function(a,c,b){if(this.getCookie(a)){this.setCookie(a,"",-1,c,b);return true}return false},getAttr:function(b,a,c){if(b.getAttribute==null){return c}var d=b.getAttribute(a);if(d==null||d==""){return c}else{return d}},getById:function(b,a){return $get(b,a)},getByTagName:function(a,b){if(b==null){b=document}if(b.getElementsByTagName){return b.getElementsByTagName(a)}else{if(b.all&&b.all.tags){return b.all.tags(a)}else{return null}}},getParentByTagName:function(b,a){var c=b.parentNode;a=a.toLowerCase();while(c!=null){if(c.tagName&&c.tagName.toLowerCase()==a){return c}c=c.parentNode}return null},getCookie:function(c){var e=" "+document.cookie;var d=" "+c+"=";var b=null;var f=0;var a=0;if(e.length>0){f=e.indexOf(d);if(f!=-1){f+=d.length;a=e.indexOf(";",f);if(a==-1){a=e.length}b=unescape(e.substring(f,a))}}return(b)},getNonTextNode:function(a){if(this.isNonTextNode(a)){return a}while(a!=null&&this.isNonTextNode(a)){a=this.getSibling(a,1)}return a},addSafeHandler:function(b,a,c,d){b[a]=this.getObjMethRef(c,d);if(dnn.dom.browser.isType(dnn.dom.browser.InternetExplorer)){if(this.__leakEvts.length==0){dnn.dom.attachEvent(window,"onunload",dnn.dom.destroyHandlers)}this.__leakEvts[this.__leakEvts.length]=new dnn.dom.leakEvt(a,b,b[a])}},destroyHandlers:function(){var c=dnn.dom.__leakEvts.length-1;for(var a=c;a>=0;a--){var b=dnn.dom.__leakEvts[a];b.ctl.detachEvent(b.name,b.ptr);b.ctl[b.name]=null;dnn.dom.__leakEvts.length=dnn.dom.__leakEvts.length-1}},getObjMethRef:function(b,a){return(function(c){c=c||window.event;return b[a](c,this)})},getSibling:function(a,c){if(a!=null&&a.parentNode!=null){for(var b=0;b<a.parentNode.childNodes.length;b++){if(a.parentNode.childNodes[b].id==a.id){if(a.parentNode.childNodes[b+c]!=null){return a.parentNode.childNodes[b+c]}}}}return null},isNonTextNode:function(a){return(a.nodeType!=3&&a.nodeType!=8)},getScript:function(c){if(this.scriptElements[c]){return this.scriptElements[c]}var a=dnn.dom.getByTagName("SCRIPT");for(var b=0;b<a.length;b++){if(a[b].src!=null&&a[b].src.indexOf(c)>-1){this.scriptElements[c]=a[b];return a[b]}}},getScriptSrc:function(b){var a=dnn.getVar(b+".resx","");if(a.length>0){return a}return b},getScriptPath:function(){var a=dnn.dom.getScript("dnn.js");if(a){var b=a.src;if(b.indexOf("?")>-1){b=b.substr(0,b.indexOf("?"))}return b.replace("dnn.js","")}var c=dnn.getVar("__sp");if(c){return c}return""},scriptFile:function(b){var a=b.split("/");return a[a.length-1]},loadScript:function(e,d,b){var c;if(e!=null&&e.length>0){c=this.scriptFile(e);if(this.scripts[c]!=null){return}}var a=new dnn.ScriptRequest(e,d,b);if(c){this.scripts[c]=a}a.load();return a},loadScripts:function(a,b,c){if(dnn.scripts==null){var e=function(f,g,h){return(function(){dnn.dom.loadScripts(f,g,h)})};dnn.dom.loadScript(dnn.dom.getScriptPath()+"dnn.scripts.js",null,e(a,b,c));return}var d=new dnn.scripts.ScriptBatchRequest(a,b,c);d.load()},scriptStatus:function(c){var b=this.scriptFile(c);if(this.scripts[b]){return this.scripts[b].status}var a=this.getScript(c);if(a!=null){return"complete"}else{return""}},setScriptLoaded:function(b){var a=this.scriptFile(b);if(this.scripts[a]&&dnn.dom.scripts[a].status!="complete"){dnn.dom.scripts[a].complete()}},navigate:function(b,a){if(a!=null&&a.length>0){if(a=="_blank"||a=="_new"){window.open(b)}else{document.frames[a].location.href=b}}else{if(Sys.Browser.agent===Sys.Browser.InternetExplorer){window.navigate(b)}else{window.location.href=b}}return false},setCookie:function(b,f,h,e,d,c,a){var g;if(h){g=new Date();g.setTime(g.getTime()+(h*24*60*60*1000))}if(a){g=new Date();g.setTime(g.getTime()+(a))}document.cookie=b+"="+escape(f)+((g)?"; expires="+g.toGMTString():"")+((e)?"; path="+e:"")+((d)?"; domain="+d:"")+((c)?"; secure":"");if(document.cookie.length>0){return true}},getCurrentStyle:function(b,c){var a=Sys.UI.DomElement._getCurrentStyle(b);if(a){return a[c]}return""},getFormPostString:function(a){var c="";if(a!=null){if(a.tagName&&a.tagName.toLowerCase()=="form"){for(var b=0;b<a.elements.length;b++){c+=this.getElementPostString(a.elements[b])}}else{c=this.getElementPostString(a);for(var b=0;b<a.childNodes.length;b++){c+=this.getFormPostString(a.childNodes[b])}}}return c},getElementPostString:function(a){var c;if(a.tagName){c=a.tagName.toLowerCase()}if(c=="input"){var d=a.type.toLowerCase();if(d=="text"||d=="password"||d=="hidden"||((d=="checkbox"||d=="radio")&&a.checked)){return a.name+"="+dnn.encode(a.value,false)+"&"}}else{if(c=="select"){for(var b=0;b<a.options.length;b++){if(a.options[b].selected){return a.name+"="+dnn.encode(a.options[b].value,false)+"&"}}}else{if(c=="textarea"){return a.name+"="+dnn.encode(a.value,false)+"&"}}}return""},appendChild:function(b,a){return b.appendChild(a)},removeChild:function(a){return a.parentNode.removeChild(a)},createElement:function(a){return document.createElement(a.toLowerCase())}});dnn.dom.leakEvt=function(c,a,b){this.name=c;this.ctl=a;this.ptr=b};dnn.dom.leakEvt.registerClass("dnn.dom.leakEvt");dnn.dom.eventObject=function(b,a){this.object=b;this.srcElement=a};dnn.dom.eventObject.registerClass("dnn.dom.eventObject");dnn.dom.browserObject=function(){this.InternetExplorer="ie";this.Netscape="ns";this.Mozilla="mo";this.Opera="op";this.Safari="safari";this.Konqueror="kq";this.MacIE="macie";var b;var d=navigator.userAgent.toLowerCase();if(d.indexOf("konqueror")!=-1){b=this.Konqueror}else{if(d.indexOf("msie")!=-1&&d.indexOf("mac")!=-1){b=this.MacIE}else{if(Sys.Browser.agent===Sys.Browser.InternetExplorer){b=this.InternetExplorer}else{if(Sys.Browser.agent===Sys.Browser.FireFox){b=this.Mozilla}else{if(Sys.Browser.agent===Sys.Browser.Safari){b=this.Safari}else{if(Sys.Browser.agent===Sys.Browser.Opera){b=this.Opera}else{b=this.Mozilla}}}}}}this.type=b;this.version=Sys.Browser.version;var c=navigator.userAgent.toLowerCase();if(this.type==this.InternetExplorer){var a=navigator.appVersion.split("MSIE");this.version=parseFloat(a[1])}if(this.type==this.Netscape){var a=c.split("netscape");this.version=parseFloat(a[1].split("/")[1])}};dnn.dom.browserObject.prototype={toString:function(){return this.type+" "+this.version},isType:function(){for(var a=0;a<arguments.length;a++){if(dnn.dom.browser.type==arguments[a]){return true}}return false}};dnn.dom.browserObject.registerClass("dnn.dom.browserObject");dnn.dom.browser=new dnn.dom.browserObject();if(typeof($)=="undefined"){eval("function $() {var ary = new Array(); for (var i=0; i<arguments.length; i++) {var arg = arguments[i]; var ctl; if (typeof arg == 'string') ctl = dnn.dom.getById(arg); else ctl = arg; if (ctl != null && typeof(Element) != 'undefined' && typeof(Element.extend) != 'undefined') Element.extend(ctl); if (arguments.length == 1) return ctl; ary[ary.length] = ctl;} return ary;}")}try{document.execCommand("BackgroundImageCache",false,true)}catch(err){}Sys.Application.add_load(dnn._onload);
;;;/**
* hoverIntent r6 // 2011.02.26 // jQuery 1.5.1+
* <http://cherne.net/brian/resources/jquery.hoverIntent.html>
* 
* @param  f  onMouseOver function || An object with configuration options
* @param  g  onMouseOut function  || Nothing (use configuration options object)
* @author    Brian Cherne brian(at)cherne(dot)net
*/
(function($){$.fn.hoverIntent=function(f,g){var cfg={sensitivity:7,interval:100,timeout:0};cfg=$.extend(cfg,g?{over:f,out:g}:f);var cX,cY,pX,pY;var track=function(ev){cX=ev.pageX;cY=ev.pageY};var compare=function(ev,ob){ob.hoverIntent_t=clearTimeout(ob.hoverIntent_t);if((Math.abs(pX-cX)+Math.abs(pY-cY))<cfg.sensitivity){$(ob).unbind("mousemove",track);ob.hoverIntent_s=1;return cfg.over.apply(ob,[ev])}else{pX=cX;pY=cY;ob.hoverIntent_t=setTimeout(function(){compare(ev,ob)},cfg.interval)}};var delay=function(ev,ob){ob.hoverIntent_t=clearTimeout(ob.hoverIntent_t);ob.hoverIntent_s=0;return cfg.out.apply(ob,[ev])};var handleHover=function(e){var ev=jQuery.extend({},e);var ob=this;if(ob.hoverIntent_t){ob.hoverIntent_t=clearTimeout(ob.hoverIntent_t)}if(e.type=="mouseenter"){pX=ev.pageX;pY=ev.pageY;$(ob).bind("mousemove",track);if(ob.hoverIntent_s!=1){ob.hoverIntent_t=setTimeout(function(){compare(ev,ob)},cfg.interval)}}else{$(ob).unbind("mousemove",track);if(ob.hoverIntent_s==1){ob.hoverIntent_t=setTimeout(function(){delay(ev,ob)},cfg.timeout)}}};return this.bind('mouseenter',handleHover).bind('mouseleave',handleHover)}})(jQuery);
;;;var DNN_COL_DELIMITER=String.fromCharCode(16);var DNN_ROW_DELIMITER=String.fromCharCode(15);var __dnn_m_bPageLoaded=false;if(window.addEventListener){window.addEventListener("load",__dnn_Page_OnLoad,false)}else{window.attachEvent("onload",__dnn_Page_OnLoad)}function __dnn_ClientAPIEnabled(){return typeof(dnn)!="undefined"&&typeof (dnn.dom)!="undefined"}function __dnn_Page_OnLoad(){if(__dnn_ClientAPIEnabled()){dnn.dom.attachEvent(window,"onscroll",__dnn_bodyscroll)}__dnn_m_bPageLoaded=true}function __dnn_KeyDown(iKeyCode,sFunc,e){if(e==null){e=window.event}if(e.keyCode==iKeyCode){eval(unescape(sFunc));return false}}function __dnn_bodyscroll(){var a=document.forms[0];if(__dnn_ClientAPIEnabled()&&__dnn_m_bPageLoaded&&typeof(a.ScrollTop)!="undefined"){a.ScrollTop.value=document.documentElement.scrollTop?document.documentElement.scrollTop:dnn.dom.getByTagName("body")[0].scrollTop}}function __dnn_setScrollTop(c){if(__dnn_ClientAPIEnabled()){if(c==null){c=document.forms[0].ScrollTop.value}var a=dnn.getVar("ScrollToControl");if(a!=null&&a.length>0){var b=dnn.dom.getById(a);if(b!=null){c=dnn.dom.positioning.elementTop(b);dnn.setVar("ScrollToControl","")}}if(document.getElementsByTagName("html")[0].style.overflow!="hidden"){window.scrollTo(0,c)}}}function __dnn_SetInitialFocus(a){var b=dnn.dom.getById(a);if(b!=null&&__dnn_CanReceiveFocus(b)){b.focus()}}function __dnn_CanReceiveFocus(b){if(b.style.display!="none"&&b.tabIndex>-1&&b.disabled==false&&b.style.visible!="hidden"){var a=b.parentElement;while(a!=null&&a.tagName!="BODY"){if(a.style.display=="none"||a.disabled||a.style.visible=="hidden"){return false}a=a.parentElement}return true}else{return false}}function __dnn_ContainerMaxMin_OnClick(i,b){var g=dnn.dom.getById(b);if(g!=null){var e=i.childNodes[0];var l=dnn.getVar("containerid_"+b);var j=dnn.getVar("cookieid_"+b);var d=e.src.toLowerCase().substr(e.src.lastIndexOf("/"));var a;var h;var k;if(dnn.getVar("min_icon_"+l)){k=dnn.getVar("min_icon_"+l)}else{k=dnn.getVar("min_icon")}if(dnn.getVar("max_icon_"+l)){h=dnn.getVar("max_icon_"+l)}else{h=dnn.getVar("max_icon")}a=h.toLowerCase().substr(h.lastIndexOf("/"));var c=5;var f=dnn.getVar("animf_"+b);if(f!=null){c=new Number(f)}if(d==a){e.src=k;dnn.dom.expandElement(g,c);e.title=dnn.getVar("min_text");if(j!=null){if(dnn.getVar("__dnn_"+l+":defminimized")=="true"){dnn.dom.setCookie(j,"true",365)}else{dnn.dom.deleteCookie(j)}}else{dnn.setVar("__dnn_"+l+"_Visible","true")}}else{e.src=h;dnn.dom.collapseElement(g,c);e.title=dnn.getVar("max_text");if(j!=null){if(dnn.getVar("__dnn_"+l+":defminimized")=="true"){dnn.dom.deleteCookie(j)}else{dnn.dom.setCookie(j,"false",365)}}else{dnn.setVar("__dnn_"+l+"_Visible","false")}}return true}return false}function __dnn_Help_OnClick(a){var b=dnn.dom.getById(a);if(b!=null){if(b.style.display=="none"){b.style.display=""}else{b.style.display="none"}return true}return false}function __dnn_SectionMaxMin(f,c){var d=dnn.dom.getById(c);if(d!=null){var g=f.getAttribute("max_icon");var e=f.getAttribute("min_icon");var a=f.getAttribute("userctr")!=null;var b;if(d.style.display=="none"){f.src=e;d.style.display="";if(a){b="True"}else{dnn.setVar(f.id+":exp",1)}}else{f.src=g;d.style.display="none";if(a){b="False"}else{dnn.setVar(f.id+":exp",0)}}if(a){dnncore.setUserProp(f.getAttribute("userctr"),f.getAttribute("userkey"),b,null)}return true}return false}function __dnn_enableDragDrop(){var b=dnn.getVar("__dnn_dragDrop").split(";");var e;for(var c=0;c<b.length;c++){e=b[c].split(" ");if(e[0].length>0){var a=dnn.dom.getById(e[0]);var d=dnn.dom.getById(e[1]);if(a!=null&&d!=null){a.setAttribute("moduleid",e[2]);dnn.dom.positioning.enableDragAndDrop(a,d,"__dnn_dragComplete()","__dnn_dragOver()")}}}}var __dnn_oPrevSelPane;var __dnn_oPrevSelModule;var __dnn_dragEventCount=0;function __dnn_dragOver(){__dnn_dragEventCount++;if(__dnn_dragEventCount%75!=0){return}var c=dnn.dom.getById(dnn.dom.positioning.dragCtr.contID);var a=__dnn_getMostSelectedPane(dnn.dom.positioning.dragCtr);if(__dnn_oPrevSelPane!=null){__dnn_oPrevSelPane.pane.style.border=__dnn_oPrevSelPane.origBorder}if(a!=null){__dnn_oPrevSelPane=a;a.pane.style.border="4px double "+DNN_HIGHLIGHT_COLOR;var e=__dnn_getPaneControlIndex(c,a);var b;var f;for(var d=0;d<a.controls.length;d++){if(e>d&&a.controls[d].id!=c.id){b=a.controls[d]}if(e<=d&&a.controls[d].id!=c.id){f=a.controls[d];break}}if(__dnn_oPrevSelModule!=null){dnn.dom.getNonTextNode(__dnn_oPrevSelModule.control).style.border=__dnn_oPrevSelModule.origBorder}if(f!=null){__dnn_oPrevSelModule=f;dnn.dom.getNonTextNode(f.control).style.borderTop="5px groove "+DNN_HIGHLIGHT_COLOR}else{if(b!=null){__dnn_oPrevSelModule=b;dnn.dom.getNonTextNode(b.control).style.borderBottom="5px groove "+DNN_HIGHLIGHT_COLOR}}}}function __dnn_dragComplete(){var f=dnn.dom.getById(dnn.dom.positioning.dragCtr.contID);var d=f.getAttribute("moduleid");if(__dnn_oPrevSelPane!=null){__dnn_oPrevSelPane.pane.style.border=__dnn_oPrevSelPane.origBorder}if(__dnn_oPrevSelModule!=null){dnn.dom.getNonTextNode(__dnn_oPrevSelModule.control).style.border=__dnn_oPrevSelModule.origBorder}var b=__dnn_getMostSelectedPane(dnn.dom.positioning.dragCtr);var e;if(b==null){var a=__dnn_Panes();for(var c=0;c<a.length;c++){if(a[c].id==f.parentNode.id){b=a[c]}}}if(b!=null){e=__dnn_getPaneControlIndex(f,b);__dnn_MoveToPane(b,f,e);dnn.callPostBack("MoveToPane","moduleid="+d,"pane="+b.paneName,"order="+e*2)}}function __dnn_MoveToPane(a,e,d){if(a!=null){var c=new Array();for(var b=d;b<a.controls.length;b++){if(a.controls[b].control.id!=e.id){c[c.length]=a.controls[b].control}dnn.dom.removeChild(a.controls[b].control)}dnn.dom.appendChild(a.pane,e);e.style.top=0;e.style.left=0;e.style.position="relative";for(var b=0;b<c.length;b++){dnn.dom.appendChild(a.pane,c[b])}__dnn_RefreshPanes()}else{e.style.top=0;e.style.left=0;e.style.position="relative"}}function __dnn_RefreshPanes(){var b=dnn.getVar("__dnn_Panes").split(";");var a=dnn.getVar("__dnn_PaneNames").split(";");__dnn_m_aryPanes=new Array();for(var c=0;c<b.length;c++){if(b[c].length>0){__dnn_m_aryPanes[__dnn_m_aryPanes.length]=new __dnn_Pane(dnn.dom.getById(b[c]),a[c])}}}var __dnn_m_aryPanes;var __dnn_m_aryModules;function __dnn_Panes(){if(__dnn_m_aryPanes==null){__dnn_m_aryPanes=new Array();__dnn_RefreshPanes()}return __dnn_m_aryPanes}function __dnn_Modules(a){if(__dnn_m_aryModules==null){__dnn_RefreshPanes()}return __dnn_m_aryModules[a]}function __dnn_getMostSelectedPane(g){var c=new dnn.dom.positioning.dims(g);var f=0;var a;var h;for(var e=0;e<__dnn_Panes().length;e++){var b=__dnn_Panes()[e];var d=new dnn.dom.positioning.dims(b.pane);a=dnn.dom.positioning.elementOverlapScore(d,c);if(a>f){f=a;h=b}}return h}function __dnn_getPaneControlIndex(f,b){if(b==null){return}var a=new dnn.dom.positioning.dims(f);var e;if(b.controls.length==0){return 0}for(var c=0;c<b.controls.length;c++){e=b.controls[c];var d=new dnn.dom.positioning.dims(e.control);if(a.t<d.t){return e.index}}if(e!=null){return e.index+1}else{return 0}}function __dnn_Pane(a,b){this.pane=a;this.id=a.id;this.controls=new Array();this.origBorder=a.style.border;this.paneName=b;var f=0;var e="";for(var d=0;d<a.childNodes.length;d++){var g=a.childNodes[d];if(dnn.dom.isNonTextNode(g)){if(__dnn_m_aryModules==null){__dnn_m_aryModules=new Array()}var c=g.getAttribute("moduleid");if(c!=null&&c.length>0){e+=c+"~";this.controls[this.controls.length]=new __dnn_PaneControl(g,f);__dnn_m_aryModules[c]=g.id;f+=1}}}this.moduleOrder=e}function __dnn_PaneControl(a,b){this.control=a;this.id=a.id;this.index=b;this.origBorder=a.style.border}function __dnn_ShowModalPage(a){dnnModal.show(a,true,550,950,true,"")}function __dnncore(){this.GetUserVal=0;this.SetUserVal=1}__dnncore.prototype={getUserProp:function(b,c,a){this._doUserCallBack(dnncore.GetUserVal,b,c,null,new dnncore.UserPropArgs(b,c,a))},setUserProp:function(c,d,a,b){this._doUserCallBack(dnncore.SetUserVal,c,d,a,new dnncore.UserPropArgs(c,d,b))},_doUserCallBack:function(c,d,e,a,b){if(dnn&&dnn.xmlhttp){var f=c+COL_DELIMITER+d+COL_DELIMITER+e+COL_DELIMITER+a;dnn.xmlhttp.doCallBack("__Page",f,dnncore._callBackSuccess,b,dnncore._callBackFail,null,true,null,0)}else{alert("Client Personalization not enabled")}},_callBackSuccess:function(a,b,c){if(b.pFunc){b.pFunc(b.namingCtr,b.key,a)}},_callBackFail:function(a,b){window.status=a}};__dnncore.prototype.UserPropArgs=function(b,c,a){this.namingCtr=b;this.key=c;this.pFunc=a};var dnncore=new __dnncore();
;;;(function ($) {
    if (typeof dnn == 'undefined') window.dnn = {};
    if (typeof dnn.searchSkinObject == 'undefined') {
        dnn.searchSkinObject = function (options) {
            var settings = {
                delayTriggerAutoSearch: 100,
                minCharRequiredTriggerAutoSearch: 2,
                searchType: 'S',
                enableWildSearch: true,
                cultureCode: 'en-US'
            };
            this.settings = $.extend({}, settings, options);
        };
        dnn.searchSkinObject.prototype = {
            _ignoreKeyCodes: [9, 13, 16, 17, 18, 19, 20, 27, 33, 34, 35, 36, 37, 38, 39, 40, 45],
            init: function () {
                var throttle = null, self = this;
                var makeUrl = function (val, service) {
                    var url = service ? service.getServiceRoot('internalservices') + 'searchService/preview' : null;
                    if (!url) return null;
                    var params = {};
                    params['keywords'] = val.replace(/^\s+|\s+$/g, '');
                    if (!self.settings.enableWildSearch) params["forceWild"] = "0";
                    params['culture'] = self.settings.cultureCode;
                    if (self.settings.portalId >= 0)
                        params['portal'] = self.settings.portalId;
                    var urlAppend = [];
                    $.each(params, function (index, value) {
                        urlAppend.push([index, encodeURIComponent(value)].join('='));
                    });

                    if (urlAppend.length) {
                        url += url.indexOf('?') === -1 ? '?' : '&';
                        url += urlAppend.join('&');
                    }
                    return url;
                };

                var generatePreviewTemplate = function (data, $wrap) {
                    var preview = $('.searchSkinObjectPreview', $wrap);
                    if (preview.length)
                        preview.remove();

                    var markup = '<ul class="searchSkinObjectPreview">';
                    if (data && data.length) {
                        for (var i = 0; i < data.length; i++) {
                            var group = data[i];
                            if (group.Results && group.Results.length) {
                                var groupTitle = group.DocumentTypeName;
                                markup += '<li class="searchSkinObjectPreview_group">' + groupTitle + '</li>';
                                for (var j = 0; j < group.Results.length; j++) {
                                    var item = group.Results[j];
                                    var itemTitle = item.Title;
                                    var itemUrl = item.DocumentUrl;
                                    var itemSnippet = item.Snippet;
                                    markup += '<li data-url="' + itemUrl + '">';
                                    if (item.Attributes.Avatar) {
                                        markup += '<span><img src="' + item.Attributes.Avatar + '" class="userpic" /></span>';
                                    }
                                    markup += '<span>' + itemTitle + '</span>';
                                    if (itemSnippet)
                                        markup += '<p>' + itemSnippet + '</p></li>';
                                    else
                                        markup += '</li>';
                                } // end for group items
                            }
                        } // end for group

                        var moreResults = $wrap.attr('data-moreresults');
                        markup += '<li><a href="javascript:void(0)" class="searchSkinObjectPreview_more">' + moreResults + '</a></li>';
                        markup += '</ul>';
                    }
                    else {
                        var noResult = $wrap.attr('data-noresult');
                        markup += '<li>' + noResult + '</li></ul>';
                    }

                    $wrap.append(markup);
                    preview = $('.searchSkinObjectPreview', $wrap);

                    //attach click event
                    $('li', preview).on('click', function () {
                        var navigateUrl = $(this).attr('data-url');
                        if (navigateUrl) {
                            window.location.href = navigateUrl;
                        }
                        return false;
                    });

                    //attach see more       
                    $('.searchSkinObjectPreview_more', $wrap).on('click', function () {
	                    var $searchButton = $wrap.parents('.SearchContainer').length ? $wrap.parent().next() : $wrap.next();
                        var href = $searchButton.attr('href');
                        var code = href.replace('javascript:', '');
                        eval(code);
                        return false;
                    });
                };

                $('.searchInputContainer a.dnnSearchBoxClearText').on('click', function () {
                    var $this = $(this);
                    var $wrap = $this.parent();
                    $('.searchInputContainer input').val('').focus();
                    $this.removeClass('dnnShow');
                    $('.searchSkinObjectPreview', $wrap).remove();
                    return false;
                });

                $('.searchInputContainer').next().on('click', function() {
                    var $this = $(this);
                    var inputBox = $this.prev().find('input[type="text"]');
                    var val = inputBox.val();
                    if (val.length) {
                        return true;
                    }
                    return false;
                });

                $('.searchInputContainer input').on('keyup', function(e) {
                    var k = e.keyCode || e.witch;
                    if ($.inArray(k, self._ignoreKeyCodes) > -1) return;

                    var $this = $(this);
                    var $wrap = $this.parent();
                    var val = $this.val();
                    var container = $this.parent('.searchInputContainer');
                    if (!val) {

                        $('a.dnnSearchBoxClearText', $wrap).removeClass('dnnShow');
                        $('.searchSkinObjectPreview', $wrap).remove();
                    } else {
                        $('a.dnnSearchBoxClearText', $wrap).addClass('dnnShow');

                        if (self.settings.searchType != 'S' ||
                            val.length < self.settings.minCharRequiredTriggerAutoSearch) return;

                        if (throttle) {
                            clearTimeout(throttle);
                            delete throttle;
                        }

                        throttle = setTimeout(function() {
                            var service = $.dnnSF ? $.dnnSF(-1) : null;
                            var url = makeUrl(val, service);
                            if (url) {
                                $.ajax({
                                    url: url,
                                    beforeSend: service ? service.setModuleHeaders : null,
                                    success: function(result) {
                                        if (result)
                                            generatePreviewTemplate(result, container);
                                    },
                                    error: function() {
                                    },
                                    type: 'GET',
                                    dataType: 'json',
                                    contentType: "application/json"
                                });
                            }
                        }, self.settings.delayTriggerAutoSearch);
                    }
                })
                .on('paste', function() {
                    $(this).triggerHandler('keyup');
                })
                .on('keypress', function(e) {
                    var k = e.keyCode || e.which;
                    if (k == 13) {
                        var $this = $(this);
                        var $wrap = $this.parent();
                        var val = $this.val();
                        if (val.length) {
                            var href = $wrap.next().attr('href');
                            if (!href) {
                                // dropdown search
                                href = $wrap.parent().next().attr('href');
                            }
                            var code = href.replace('javascript:', '');
                            eval(code);
                            e.preventDefault();
                        } else {
                            e.preventDefault();
                        }
                    }
                });
            }
        };
    }
})(jQuery);

;;;(function ($) {
$.fn.ednDynamicArticleLoader = function (settings) {
	return this.each(function(i, el) {
		var startingArticle = settings.startingArticle,
			$articlesContainer = $(el),
			$triggerWrapper = $(settings.triggerWrapperSelector),
			$returnHtml = $('> .trigger > .actionTextContainer > span', $triggerWrapper),
			$window = $(window),
			$document = $(document),

			requestInProgress = false,
			allArticlesLoaded = false,
			isotopeLayout = $.fn.isotope && $articlesContainer.parent().hasClass('edn_isotopeLayout'),

			getMoreArticles = function () {
				if (requestInProgress || allArticlesLoaded)
					return false;

				requestInProgress = true;

				$.ajax({
					data: $.extend({}, settings.params, {startingArticle: startingArticle}),
					dataType: 'json',
					success: function (response) {
						var $newHtml,
							isotopeItems = [];

						$newHtml = $(response.content).appendTo($articlesContainer);

						if (isotopeLayout) {
							$newHtml.each(function () {
								if ($(this).hasClass('edn_articleWrapper'))
									isotopeItems.push(this);
							});

							$articlesContainer.isotope('insert', isotopeItems);
						}

						startingArticle = startingArticle + settings.numberOfPostsperPage;

						if (response.itemsRemaining < 1)
							allArticlesLoaded = true;

						if (response.itemsRemaining < 1)
							$triggerWrapper.addClass('hide');

						$returnHtml.html(response.newActionText);

						if (settings.addThis) {
							window.addthis_config = {
								ui_delay: 500,
								data_track_addressbar: false
							}

							if (window.addthis) {
								window.addthis = null;
								window._adr = null;
								window._atc = null;
								window._atd = null;
								window._ate = null;
								window._atr = null;
								window._atw = null;
							}

							$.getScript('//s7.addthis.com/js/300/addthis_widget.js#domready=1');
						}

						if (settings.addThisProfileId && settings.addThisProfileId.length > 0) {
							eds2_2(document).ready(function ($) {
								var addthis_config = addthis_config || {};
								addthis_config.pubid = settings.addThisProfileId;
								addthis.layers.refresh();
							});
						}

						if (settings.initCaptcha && window.edsgg_recaptchaCallback) {
							window.edsgg_recaptchaCallback();
						}

						$('.edNews__secondaryArticleList_' + settings.moduleId)
							.append(response.secondaryListContent)
							.map(function () {
								$(this).parents('.edNews__secondaryArticleList').eq(0).data('plugin_eds_tinyscrollbar').update('relative');
							});
					},
					complete: function () {
						var $imgs,
							imageLoadedKey = 'imageLoaded';

						requestInProgress = false;

						$triggerWrapper.removeClass('loading');
						$('.rateit').rateit();

						if (isotopeLayout) {
							$imgs = $('img', $articlesContainer);

							if ($imgs.length != 0)
								$imgs.imagesLoaded()
									.progress(function (instance, image) {
										var $img = $(image.img);

										if ($img.data(imageLoadedKey))
											return;

										$img.data(imageLoadedKey, true);

										$articlesContainer.isotope('layout');
									});

							$articlesContainer.isotope('layout');
						}

						$articlesContainer.trigger('contentLoaded');
					},
					url: settings.sourceUrl
				});

				return true;
			};

		$('> .trigger', $triggerWrapper).on('click', function () {
			if (getMoreArticles())
				$triggerWrapper.addClass('loading');

			return false;
		});

		if (settings.triggerOnScroll) {
			$window.scroll(function () {
				var pixelsToBottom = $document.height() - $window.scrollTop() - $window.height();

				if (pixelsToBottom < 1000 && getMoreArticles())
					$triggerWrapper.addClass('loading');
			});
		}
	});
};
})(eds2_2);

;;;
(function ($) { $.dnnSF = function (moduleId) { var base = this; base.getServiceRoot = function (moduleName) { var serviceRoot = dnn.getVar("sf_siteRoot", "/"); serviceRoot += "DesktopModules/" + moduleName + "/API/"; return serviceRoot; }; base.getTabId = function () { return dnn.getVar("sf_tabId", -1); }; base.getModuleId = function () { return moduleId; }; base.setModuleHeaders = function (xhr) { var tabId = base.getTabId(); if (tabId > -1) { xhr.setRequestHeader("ModuleId", base.getModuleId()); xhr.setRequestHeader("TabId", tabId); } var afValue = base.getAntiForgeryValue(); if (afValue) { xhr.setRequestHeader("RequestVerificationToken", afValue); } }; base.getAntiForgeryKey = function () { return "__RequestVerificationToken"; }; base.getAntiForgeryValue = function () { return $('[name="__RequestVerificationToken"]').val(); }; return base; }; $.ServicesFramework = function (moduleId) { return new $.dnnSF(moduleId); }; })(jQuery);
;;;jQuery(document).ready(function ($) {

    function HoverOver() {
        $(this).addClass('rmhover') .find(".subMenu").stop().fadeIn(200);
			// submenu right align
			var position	= $(this).offset();
			var x	= position.left;
			var width	= $(this).find(".subMenu").width();
			// position
			if( x + width > $(window).width() )
			{
				$(this).find(".subMenu").css({"right": 0, "left": "auto"});
				$(this).find(".subMenu_arrow").css( {"left":"auto", "right":"15px"} );
			}
	}

    function HoverOut() {
         $(this).removeClass('rmhover').find(".subMenu").fadeOut(200, function() {
		  $(this).hide(); 
	  });
    }
	
	function HoverOversub() {
        $(this).find(".level1").stop().fadeIn(200);
     	// SubMenu right align
			var sublevel = $(".level1", $(this));
			if(sublevel.length > 0){
			    var offset = sublevel.offset();
			    //START dnnsoftware.ir
			    if ($('body').hasClass('rtl') || $('html').attr("lang") == 'fa-IR') {
			        var rightEage = $(window).width() - (offset.left + sublevel.outerWidth()) + sublevel.outerWidth();
			    } else {
			        var rightEage = offset.left + sublevel.outerWidth();
			    }
			    //END dnnsoftware.ir
				if(rightEage > $(window).width()){
				    //START dnnsoftware.ir
				    if ($('body').hasClass('rtl') || $('html').attr("lang") == 'fa-IR') {
				        sublevel.css("right", -200 + "px");
				        sublevel.find(".level2").css("right", -200 + "px");
				        sublevel.find(".level3").css("right", -200 + "px");
				    } else {
				        sublevel.css("left", -200 + "px");
				        sublevel.find(".level2").css("left", -200 + "px");
				        sublevel.find(".level3").css("left", -200 + "px");
				    }
				    //END dnnsoftware.ir
					sublevel.find(".subarrow").css("background", "none");
				}
			}
	}

    function HoverOutsub() {
         $(this).find(".level1").stop().fadeOut(200, function() {
		  $(this).hide(); 
	  });
    }

	function HoverOversubsub() {
        $(this).find(".level2").stop().fadeIn(200);
    }

    function HoverOutsubsub() {
         $(this).find(".level2").stop().fadeOut(200, function() {
		  $(this).hide(); 
	  });
    }
	
    var config = {
        sensitivity: 2,
        interval:110,
        over: HoverOver,
        timeout:110,
        out: HoverOut
    };
    var configsub = {
        sensitivity: 2,
        interval:110,
        over: HoverOversub,
        timeout:110,
        out: HoverOutsub
    };
    var configsubsub = {
        sensitivity: 2,
        interval:110,
        over: HoverOversubsub,
        timeout:110,
        out: HoverOutsubsub
    };
	
    if ($(window).width() >= 992){
        $("#standardMenu .rootMenu > li.haschild").hoverIntent(config);
		$("#standardMenu .subMenu li.haschild").hoverIntent(configsub);
		$("#standardMenu .subMenu li li.haschild").hoverIntent(configsubsub);		
    }else if ($(window).width() < 992){
		$("#standardMenu .rootMenu > li").each(function(i){
			var i = i + 1;
			$("#standardMenu li.child-"+i+" .navarrow").click(function(event) {
			  event.preventDefault();
			  $("#standardMenu li.child-"+i+" .subMenu").slideToggle(100);
			  $(this).toggleClass("navarrow2"); return false;
			});	
		});
	}
	
   // For Win8 Tablet
   $('#standardMenu .haschild li').attr("aria-haspopup","false");
   $('#standardMenu .haschild li').attr("role","menu");
   $('#standardMenu .haschild').attr("aria-haspopup","true");
   $('#standardMenu .haschild').attr("role","menuitem");
   
   //From Mobile Menu to Tablet/Computer
	$(window).resize(function() {
		if( $(window).width() >= 992 ) {
			$("#standardMenu .rootMenu > li.haschild").hoverIntent(config);
			$("#standardMenu .subMenu li.haschild").hoverIntent(configsub);
			$("#standardMenu .subMenu li li.haschild").hoverIntent(configsubsub);	
		}
	});
});
;;;/*! Copyright (c) 2011 Brandon Aaron (http://brandonaaron.net)
 * Licensed under the MIT License (LICENSE.txt).
 *
 * Thanks to: http://adomas.org/javascript-mouse-wheel/ for some pointers.
 * Thanks to: Mathias Bank(http://www.mathias-bank.de) for a scope bug fix.
 * Thanks to: Seamus Leahy for adding deltaX and deltaY
 *
 * Version: 3.0.6
 * 
 * Requires: 1.2.2+
 */
(function () {
var eds_mousewheel = function(a){function d(b){var c=b||window.event,d=[].slice.call(arguments,1),e=0,f=!0,g=0,h=0;return b=a.event.fix(c),b.type="mousewheel",c.wheelDelta&&(e=c.wheelDelta/120),c.detail&&(e=-c.detail/3),h=e,c.axis!==undefined&&c.axis===c.HORIZONTAL_AXIS&&(h=0,g=-1*e),c.wheelDeltaY!==undefined&&(h=c.wheelDeltaY/120),c.wheelDeltaX!==undefined&&(g=-1*c.wheelDeltaX/120),d.unshift(b,e,g,h),(a.event.dispatch||a.event.handle).apply(this,d)}var b=["DOMMouseScroll","mousewheel"];if(a.event.fixHooks)for(var c=b.length;c;)a.event.fixHooks[b[--c]]=a.event.mouseHooks;a.event.special.mousewheel={setup:function(){if(this.addEventListener)for(var a=b.length;a;)this.addEventListener(b[--a],d,!1);else this.onmousewheel=d},teardown:function(){if(this.removeEventListener)for(var a=b.length;a;)this.removeEventListener(b[--a],d,!1);else this.onmousewheel=null}},a.fn.extend({mousewheel:function(a){return a?this.bind("mousewheel",a):this.trigger("mousewheel")},unmousewheel:function(a){return this.unbind("mousewheel",a)}})};

if (typeof jQuery !== 'undefined')
	eds_mousewheel(jQuery);

if (typeof eds1_8 !== 'undefined')
	eds_mousewheel(eds1_8);
})();

;;;/*
    RateIt
    version 0.99.2
    03/07/2011
    http://rateit.codeplex.com
    Twitter: @gjunge

*/
(function ($) {
	$.fn.rateit = function (p1, p2) {
		//quick way out.
		var options = {}; var mode = 'init';
		if (this.length == 0) return this;


		var tp1 = $.type(p1);
		if (tp1 == 'object' || p1 === undefined || p1 == null) {
			options = $.extend({}, $.fn.rateit.defaults, p1); //wants to init new rateit plugin(s).
		}
		else if (tp1 == 'string' && p2 === undefined) {
			return this.data('rateit-' + p1); //wants to get a value.
		}
		else if (tp1 == 'string') {
			mode = 'setvalue'
		}

		return this.each(function () {
			var item = $(this);

			//shorten all the item.data('rateit-XXX'), will save space in closure compiler, will be like item.data('XXX') will become x('XXX')
			var itemdata = function (k, v) {
				k = 'rateit-' + k;

				if (arguments.length === 1)
					return item.data(k);

				item.data(k, v);
				return v;
			};

			//add the rate it class.
			if (!item.hasClass('rateit')) item.addClass('rateit');

			var ltr = item.css('direction') != 'rtl';

			// set value mode
			if (mode == 'setvalue') {
				if (!itemdata('init')) throw 'Can\'t set value before init';


				//if readonly now and it wasn't readonly, remove the eventhandlers.
				if (p1 == 'readonly' && !itemdata('readonly')) {
					item.find('.rateit-range').unbind();
					itemdata('wired', false);
				}

				if (itemdata('backingfld')) {
					//if we have a backing field, check which fields we should update. 
					//In case of input[type=range], although we did read its attributes even in browsers that don't support it (using fld.attr())
					//we only update it in browser that support it (&& fld[0].min only works in supporting browsers), not only does it save us from checking if it is range input type, it also is unnecessary.
					var fld = $(itemdata('backingfld'));
					if (p1 == 'value') fld.val(p2);
					if (p1 == 'min' && fld[0].min) fld[0].min = p2;
					if (p1 == 'max' && fld[0].max) fld[0].max = p2;
					if (p1 == 'step' && fld[0].step) fld[0].step = p2;
				}

				itemdata(p1, p2);
			}

			//init rateit plugin
			if (!itemdata('init')) {

				//get our values, either from the data-* html5 attribute or from the options.
				itemdata('min', itemdata('min') || options.min);
				itemdata('max', itemdata('max') || options.max);
				itemdata('step', itemdata('step') || options.step);
				itemdata('readonly', itemdata('readonly') !== undefined ? itemdata('readonly') : options.readonly);
				itemdata('resetable', itemdata('resetable') !== undefined ? itemdata('resetable') : options.resetable);
				itemdata('backingfld', itemdata('backingfld') || options.backingfld);
				itemdata('starwidth', itemdata('starwidth') || options.starwidth);
				itemdata('starheight', itemdata('starheight') || options.starheight);
				itemdata('value', itemdata('value') || options.min);
				//are we LTR or RTL?

				if (itemdata('backingfld')) {
					//if we have a backing field, hide it, and get its value, and override defaults if range.
					var fld = $(itemdata('backingfld'));
					itemdata('value', fld.hide().val());

					if (fld[0].nodeName == 'INPUT') {
						if (fld[0].type == 'range' || fld[0].type == 'text') { //in browsers not support the range type, it defaults to text

							itemdata('min', parseInt(fld.attr('min')) || itemdata('min')); //if we would have done fld[0].min it wouldn't have worked in browsers not supporting the range type.
							itemdata('max', parseInt(fld.attr('max')) || itemdata('max'));
							itemdata('step', parseInt(fld.attr('step')) || itemdata('step'));
						}
					}
					if (fld[0].nodeName == 'SELECT' && fld[0].options.length > 1) {
						itemdata('min', Number(fld[0].options[0].value));
						itemdata('max', Number(fld[0].options[fld[0].length - 1].value));
						itemdata('step', Number(fld[0].options[1].value) - Number(fld[0].options[0].value));
					}
				}

				//Create the necessart tags.
				item.append('<div class="rateit-reset"></div><div class="rateit-range"><div class="rateit-selected" style="height:' + itemdata('starheight') + 'px"></div><div class="rateit-hover" style="height:' + itemdata('starheight') + 'px"></div></div>');

				//if we are in RTL mode, we have to change the float of the "reset button"
				if (!ltr) {
					item.find('.rateit-reset').css('float', 'right');
					item.find('.rateit-selected').addClass('rateit-selected-rtl');
					item.find('.rateit-hover').addClass('rateit-hover-rtl');
				}
				itemdata('init', true);
			}


			//set the range element to fit all the stars.
			var range = item.find('.rateit-range');
			range.width(itemdata('starwidth') * (itemdata('max') - itemdata('min'))).height(itemdata('starheight'));


			//set the value if we have it.
			if (itemdata('value')) {
				var score = (itemdata('value') - itemdata('min')) * itemdata('starwidth');
				item.find('.rateit-selected').width(score);
			}

			var resetbtn = item.find('.rateit-reset');

			var calcRawScore = function (element, event) {
				var pageX = (event.changedTouches) ? event.changedTouches[0].pageX : event.pageX;

				var offsetx = pageX - $(element).offset().left;
				if (!ltr) offsetx = range.width() - offsetx;
				if (offsetx > range.width()) offsetx = range.width();
				if (offsetx < 0) offsetx = 0;

				return score = Math.ceil(offsetx / itemdata('starwidth') * (1 / itemdata('step')));
			};


			//

			if (!itemdata('readonly')) {
				//if we are not read only, add all the events

				//if we have a reset button, set the event handler.
				if (itemdata('resetable')) {
					resetbtn.click(function () {
						itemdata('value', itemdata('min'));
						range.find('.rateit-hover').hide().width(0);
						range.find('.rateit-selected').width(0).show();
						if (itemdata('backingfld')) $(itemdata('backingfld')).val(itemdata('min'));
						item.trigger('reset');
					});

				}
				else {
					resetbtn.hide();
				}



				//when the mouse goes over the range div, we set the "hover" stars.
				if (!itemdata('wired')) {
					range.bind('touchmove touchend', touchHandler); //bind touch events
					range.mousemove(function (e) {
						var score = calcRawScore(this, e);
						var w = score * itemdata('starwidth') * itemdata('step');
						var h = range.find('.rateit-hover');
						if (h.data('width') != w) {
							range.find('.rateit-selected').hide();
							h.width(w).show().data('width', w);
							item.trigger('hover', [(score * itemdata('step')) + itemdata('min')]);
						}
					});
					//when the mouse leaves the range, we have to hide the hover stars, and show the current value.
					range.mouseleave(function (e) {
						range.find('.rateit-hover').hide().width(0).data('width', '');
						item.trigger('hover', [null]);
						range.find('.rateit-selected').show();
					});
					//when we click on the range, we have to set the value, hide the hover.
					range.mouseup(function (e) {
						var score = calcRawScore(this, e);

						var newvalue = (score * itemdata('step')) + itemdata('min');
						itemdata('value', newvalue);
						if (itemdata('backingfld')) {
							$(itemdata('backingfld')).val(newvalue);
						}
						range.find('.rateit-hover').hide();
						range.find('.rateit-selected').width(score * itemdata('starwidth') * itemdata('step')).show();
						item.trigger('hover', [null]).trigger('rated', [newvalue]);
					});

					itemdata('wired', true);
				}
				if (itemdata('resetable')) {
					resetbtn.show();
				}
			}
			else {
				resetbtn.hide();
			}
		});
	};

	//touch converter http://ross.posterous.com/2008/08/19/iphone-touch-events-in-javascript/
	function touchHandler(event) {

		var touches = event.originalEvent.changedTouches,
                first = touches[0],
                type = "";
		switch (event.type) {
			case "touchmove": type = "mousemove"; break;
			case "touchend": type = "mouseup"; break;
			default: return;
		}

		var simulatedEvent = document.createEvent("MouseEvent");
		simulatedEvent.initMouseEvent(type, true, true, window, 1,
                              first.screenX, first.screenY,
                              first.clientX, first.clientY, false,
                              false, false, false, 0/*left*/, null);

		first.target.dispatchEvent(simulatedEvent);
		event.preventDefault();
	};


	//some default values.
	$.fn.rateit.defaults = { min: 0, max: 5, step: 0.5, starwidth: 16, starheight: 16, readonly: false, resetable: true };
	eds2_2(document).ready(function ($) {
		//invoke it on all div.rateit elements. This could be removed if not wanted.
		$('div.rateit').rateit();
	});
})(eds2_2);
;;;/*! Copyright (c) 2011 Brandon Aaron (http://brandonaaron.net)
 * Licensed under the MIT License (LICENSE.txt).
 *
 * Thanks to: http://adomas.org/javascript-mouse-wheel/ for some pointers.
 * Thanks to: Mathias Bank(http://www.mathias-bank.de) for a scope bug fix.
 * Thanks to: Seamus Leahy for adding deltaX and deltaY
 *
 * Version: 3.0.6
 * 
 * Requires: 1.2.2+
 */
(function () {
var eds_mousewheel = function(a){function d(b){var c=b||window.event,d=[].slice.call(arguments,1),e=0,f=!0,g=0,h=0;return b=a.event.fix(c),b.type="mousewheel",c.wheelDelta&&(e=c.wheelDelta/120),c.detail&&(e=-c.detail/3),h=e,c.axis!==undefined&&c.axis===c.HORIZONTAL_AXIS&&(h=0,g=-1*e),c.wheelDeltaY!==undefined&&(h=c.wheelDeltaY/120),c.wheelDeltaX!==undefined&&(g=-1*c.wheelDeltaX/120),d.unshift(b,e,g,h),(a.event.dispatch||a.event.handle).apply(this,d)}var b=["DOMMouseScroll","mousewheel"];if(a.event.fixHooks)for(var c=b.length;c;)a.event.fixHooks[b[--c]]=a.event.mouseHooks;a.event.special.mousewheel={setup:function(){if(this.addEventListener)for(var a=b.length;a;)this.addEventListener(b[--a],d,!1);else this.onmousewheel=d},teardown:function(){if(this.removeEventListener)for(var a=b.length;a;)this.removeEventListener(b[--a],d,!1);else this.onmousewheel=null}},a.fn.extend({mousewheel:function(a){return a?this.bind("mousewheel",a):this.trigger("mousewheel")},unmousewheel:function(a){return this.unbind("mousewheel",a)}})};

if (typeof jQuery !== 'undefined')
	eds_mousewheel(jQuery);

if (typeof eds2_2 !== 'undefined')
	eds_mousewheel(eds2_2);
})();

;;;!function () {
var eds_category_menu = function ($) {
	var $category_menue_items = $('.edn_category_menu_wrapper li, .edn_archive_menu_wrapper li');

	$category_menue_items.click(function (e) {
		var $target = $(e.target),
			$clicked,
			$child_list,
			$expand_collapse;

		if ($target.is('div') || $target.is('a.expand_collapse')) {
			$clicked = $(this);
			$child_list = $clicked.find('> ul');
			$expand_collapse = $clicked.find('> div > a.expand_collapse');

			if ($child_list.length == 1) {
				if ($child_list.is(':visible')) {
					$child_list.slideUp(200);
					$expand_collapse.removeClass('collapse');
					$clicked.removeClass('opened');
				} else {
					$child_list.slideDown(200);
					$expand_collapse.addClass('collapse');
					$clicked.addClass('opened');
				}
			}

			return false;
		}
	});
};

if (typeof eds2_2 !== 'undefined')
	eds2_2(eds_category_menu);
else if (typeof jQuery !== 'undefined')
	jQuery(eds_category_menu);
}();

;;;(function ($) {
    $.fn.dnnTabs = function (options) {
        var opts = $.extend({}, $.fn.dnnTabs.defaultOptions, options),
        $wrap = this;

        // patch for period in selector - http://jsfiddle.net/9Mst9/2/
        $.ui.tabs.prototype._sanitizeSelector = function (hash) {
            return hash.replace(/:/g, "\\:").replace(/\./g, "\\\.");
        };

        $wrap.each(function () {
            var showEvent, cookieId;
            if (this.id) {
                cookieId = 'dnnTabs-' + this.id;
                if (opts.selected === -1) {
                    var cookieValue = dnn.dom.getCookie(cookieId);
                    if (cookieValue) {
                        opts.selected = cookieValue;
                    }
                    if (opts.selected === -1) {
                        opts.selected = 0;
                    }
                }
                showEvent = (function (cid) {
                    return function (event, ui) {
                        dnn.dom.setCookie(cid, ui.newTab.index(), opts.cookieDays, '/', '', false, opts.cookieMilleseconds);
                    };
                })(cookieId);
            } else {
                showEvent = function () {
                };
            }

            $wrap.tabs({
                activate: showEvent,
                active: opts.selected,
                disabled: opts.disabled,
                fx: {
                    opacity: opts.opacity,
                    duration: opts.duration
                }
            });

            if (window.location.hash && window.location.hash != '#') {
                var substr = window.location.hash.substr(0, 50);
                $('a[href="' + encodeURI(substr) + '"]', $wrap).trigger('click');
            }

            // page validation integration - select tab that contain tripped validators
            if (typeof window.Page_ClientValidate != "undefined" && $.isFunction(window.Page_ClientValidate)) {
                $wrap.find(opts.validationTriggerSelector).click(function () {
                    if (!window.Page_ClientValidate(opts.validationGroup)) {
                        var invalidControl = $wrap.find(opts.invalidItemSelector).eq(0);
                        var $parent = invalidControl.closest(".ui-tabs-panel");
                        if ($parent.length > 0) {
                            var tabId = $parent.attr("id");
                            $parent.parent().find("a[href='#" + tabId + "']").click();
                        }
                    }
                });
            };
        });

        return $wrap;
    };

    $.fn.dnnTabs.defaultOptions = {
        opacity: 'toggle',
        duration: 'fast',
        validationTriggerSelector: '.dnnPrimaryAction',
        validationGroup: '',
        invalidItemSelector: '.dnnFormError[style*="inline"]',
        regionToToggleSelector: 'fieldset',
        selected: -1,
        cookieDays: 0,
        cookieMilleseconds: 1200000 // twenty minutes
    };

})(jQuery);

(function ($) {
    $.fn.dnnConfirm = function (options) {
        var opts = $.extend({}, $.fn.dnnConfirm.defaultOptions, options),
        $wrap = this;
        $wrap.each(function () {
            var $this = $(this),
                defaultAction = $this.attr('href'),
                $dnnDialog;

            if (defaultAction || opts.isButton) {
                $dnnDialog = $("<div class='dnnDialog'></div>").html(opts.text).dialog(opts);
                $this.click(function (e, isTrigger) {
                    if (isTrigger) {
                        return true;
                    }

                    if ($dnnDialog.is(':visible')) {
                        $dnnDialog.dialog("close");
                        return true;
                    }
                    $dnnDialog.dialog({
                        open: function () {
                            $('.ui-dialog-buttonpane').find('button:contains("' + opts.noText + '")').addClass('dnnConfirmCancel');
                        },
                        draggable: false,
                        buttons: [
                        {
                            text: opts.yesText,
                            click: function () {
                                $dnnDialog.dialog("close");
                                if ($.isFunction(opts.callbackTrue)) {
                                    opts.callbackTrue.call(this);
                                }
                                else {
                                    if (opts.isButton) {
                                        $this.trigger("click", [true]);
                                    }
                                    else {
                                        window.location.href = defaultAction;
                                    }
                                }
                            },
                            'class': opts.buttonYesClass
                        },
                        {
                            text: opts.noText,
                            click: function () {
                                $(this).dialog("close");
                                if ($.isFunction(opts.callbackFalse)) {
                                    opts.callbackFalse.call(this);
                                };
                            },
                            'class': opts.buttonNoClass
                        }
                        ]
                    });
                    $dnnDialog.dialog('open');
                    e.preventDefault();
                    return false;
                });
            }
        });
        return $wrap;
    };

    $.fn.dnnConfirm.defaultOptions = {
        text: 'Are you sure?',
        yesText: 'Yes',
        noText: 'No',
        buttonYesClass: 'dnnPrimaryAction',
        buttonNoClass: 'dnnSecondaryAction',
        actionUrl: window.location.href,
        autoOpen: false,
        resizable: false,
        modal: true,
        title: 'Confirm',
        dialogClass: 'dnnFormPopup dnnClear',
        isButton: false
    };

})(jQuery);

(function($) {
    if ($.dnnConfirm) return;

    $.dnnConfirm = function (opts) {
        var defaultAction = opts.actionUrl ? opts.actionUrl : 'javascript:void(0);';
        var shadowLink = $('<a href="' + defaultAction + '" />');
        shadowLink.dnnConfirm(opts).click();
    };
})(jQuery);

(function ($) {
    $.dnnAlert = function (options) {
        var opts = $.extend({}, $.dnnAlert.defaultOptions, options),
        $dnnDialog = $("<div class='dnnDialog'></div>").html(opts.text).dialog(opts);

        $dnnDialog.dialog({
            buttons: [
                {
                    text: opts.okText,
                    "class": opts.buttonOkClass,
                    click: function () {
                        $(this).dialog("close");
                        if ($.isFunction(opts.callback)) {
                            opts.callback.call(this);
                        };
                        return false;
                    }
                }
            ]
        });
        $dnnDialog.dialog('open');
    };

    $.dnnAlert.defaultOptions = {
        okText: 'Ok',
        autoOpen: false,
        resizable: false,
        modal: true,
        buttonOkClass: 'dnnPrimaryAction',
        dialogClass: 'dnnFormPopup dnnClear'
    };

})(jQuery);

(function ($) {
    $.fn.dnnPanels = function (options) {
        var opts = $.extend({}, $.fn.dnnPanels.defaultOptions, options),
        $wrap = this;

        $wrap.each(function () {
            var $this = $(this);
            if (typeof (opts.onExpand) === "function") {
                $this.bind('onExpand', opts.onExpand);
            }
            if (typeof (opts.onHide) === "function") {
                $this.bind('onHide', opts.onHide);
            }
            // wire up click event to perform slide toggle
            $this.find(opts.clickToToggleSelector).click(function (e) {
                var toggle = $(this).toggleClass(opts.toggleClass).parent().next(opts.regionToToggleSelector).slideToggle(function () {
                    var visible = $(this).is(':visible');
                    if (opts.saveState) {
                        var id = $(toggle.context.parentNode).attr("id");
                        var cookieId = id ? id.replace(/[^a-zA-Z0-9\-]+/g, "") : '';
                        if (cookieId) {
                            dnn.dom.setCookie(cookieId, visible, opts.cookieDays, '/', '', false, opts.cookieMilleseconds);
                        }
                    }
                    if (visible) {
                        $(this).trigger("onExpand");
                    }
                    else {
                        $(this).trigger("onHide");
                    }
                });

                e.preventDefault();
                e.stopImmediatePropagation();
                return false;
            });

            function collapsePanel($clicker, $region) {
                $clicker.removeClass(opts.toggleClass);
                $region.hide();
                $this.trigger("onHide");
            }

            function expandPanel($clicker, $region) {
                $clicker.addClass(opts.toggleClass);
                $region.show();
                $this.trigger("onExpand");
            }

            // walk over each selector and expand or collapse as necessary
            $this.find(opts.sectionHeadSelector).each(function (indexInArray, valueOfElement) {
                var $self = $(valueOfElement),
                    elementId = $self.attr("id"),
                    cookieId = elementId ? elementId.replace(/[^a-zA-Z0-9\-]+/g, "") : '',
                    cookieValue = cookieId ? dnn.dom.getCookie(cookieId) : '',
                    $clicker = $self.find(opts.clickToToggleIsolatedSelector),
                    $region = $self.next(opts.regionToToggleSelector),
                    $parentSeparator = $self.parents(opts.panelSeparatorSelector),
                    groupPanelIndex = $parentSeparator.find(opts.sectionHeadSelector).index($self);

                // default value
                var isOpen = false;
                if ((indexInArray === 0 && opts.defaultState == "first") || // cookie set to true OR first panel
                    ($parentSeparator.size() > 0 && groupPanelIndex === 0 && opts.defaultState == "first") || // grouping is used & its the first panel in its group
                    (opts.defaultState == "open"))  // default open
                {
                    isOpen = true;
                }
                if (opts.saveState) {
                    if (cookieValue == "true") {
                        isOpen = true;
                    }
                    else if (cookieValue == "false") {
                        isOpen = false;
                    }
                }

                if (isOpen) {
                    expandPanel($clicker, $region);
                }
                else {
                    collapsePanel($clicker, $region);
                }
            });

            // page validation integration - expand collapsed panels that contain tripped validators
            $this.find(opts.validationTriggerSelector).click(function () {
                if (typeof window.Page_ClientValidate != "undefined" && $.isFunction(window.Page_ClientValidate)) {
                    if (!window.Page_ClientValidate(opts.validationGroup)) {
                        $this.find(opts.invalidItemSelector).each(function () {
                            var $parent = $(this).closest(opts.regionToToggleSelector);
                            if ($parent.is(':hidden')) {
                                $parent.prev(opts.sectionHeadSelector).find(opts.clickToToggleIsolatedSelector).click();
                            }
                        });
                    }
                }
            });
        });
        return $wrap;
    };

    $.fn.dnnPanels.defaultOptions = {
        clickToToggleSelector: 'h2.dnnFormSectionHead a',
        sectionHeadSelector: '.dnnFormSectionHead',
        regionToToggleSelector: 'fieldset',
        toggleClass: 'dnnSectionExpanded',
        clickToToggleIsolatedSelector: 'a',
        validationTriggerSelector: '.dnnPrimaryAction',
        invalidItemSelector: '.dnnFormError[style*="inline"]',
        validationGroup: '',
        panelSeparatorSelector: '.ui-tabs-panel',
        cookieDays: 0,
        cookieMilleseconds: 1200000, // twenty minutes
        saveState: true,
        defaultState: 'first' // open | closed | first
    };

})(jQuery);

(function ($) {
    $.fn.dnnPreview = function (options) {
        var opts = $.extend({}, $.fn.dnnPreview.defaultOptions, options),
        $wrap = this;

        $wrap.each(function () {
            var $this = $(this);
            $this.find(opts.linkSelector).click(function (e) {
                e.preventDefault();
                var params = "?";
                var skin, container;

                if (opts.useComboBox) {
                    var skinComboBox = $find(opts.skinSelector);
                    var containerComboBox = $find(opts.containerSelector);

                    skin = skinComboBox ? skinComboBox.get_value() : '';
                    container = containerComboBox ? containerComboBox.get_value() : '';
                }
                else {
                    skin = $this.find(opts.skinSelector).val();
                    container = $this.find(opts.containerSelector).val();
                }
                if (skin) {
                    params += "SkinSrc=" + skin;
                }
                if (container) {
                    if (skin) {
                        params += "&";
                    }
                    params += "ContainerSrc=" + container;
                }
                if (opts.ModuleId) {
                    if (params !== "?") {
                        params += "&ModuleID=" + opts.ModuleId;
                    } else {
                        params += "ModuleID=" + opts.ModuleId;
                    }
                }
                if (params != "?") {
                    window.open(encodeURI(opts.baseUrl + params.replace(/.ascx/gi, '')), "skinpreview");
                }
                else {
                    $.dnnAlert({ text: opts.noSelectionMessage, okText: opts.alertOkText, closeText: opts.alertCloseText });
                }
            });
        });

        return $wrap;
    };

    $.fn.dnnPreview.defaultOptions = {
        baseUrl: window.location.protocol + "//" + window.location.host + window.location.pathname,
        linkSelector: 'a.dnnSecondaryAction',
        skinSelector: '',
        containerSelector: '',
        noSelectionMessage: 'Please select a preview option.',
        alertOkText: 'Ok',
        alertCloseText: 'close',
        useComboBox: false
    };

})(jQuery);

(function ($) {
    $.fn.dnnExpandAll = function (options) {
        var opts = $.extend({}, $.fn.dnnExpandAll.defaultOptions, options),
        $elem = this;

        if (($(opts.targetArea).find(opts.targetSelector + ':visible').length ===
            $(opts.targetArea).find(opts.targetSelector + opts.targetExpandedSelector + ':visible').length)
            && !$(this).hasClass('expanded')) {
            $(this).addClass('expanded').text(opts.collapseText);
        }

        $elem.click(function (e) {
            e.preventDefault();
            var $this = $(this);
            if ($this.hasClass('expanded')) {
                $this.removeClass('expanded').text(opts.expandText);
                $(opts.targetArea).find(opts.targetSelector + opts.targetExpandedSelector + ':visible').click();
            }
            else {
                $this.addClass('expanded').text(opts.collapseText);
                $(opts.targetArea).find(opts.targetSelector + ':visible').not(opts.targetExpandedSelector).click();
            }

            //stop event from called again
            e.stopImmediatePropagation();
        });

        return $elem;
    };
    $.fn.dnnExpandAll.defaultOptions = {
        expandText: 'Expand All',
        collapseText: 'Collapse All',
        targetArea: '#dnnHostSettings',
        targetSelector: 'h2.dnnFormSectionHead a',
        targetExpandedSelector: '.dnnSectionExpanded'
    };
})(jQuery);

(function ($) {
    $.fn.dnnTooltip = function (options) {
        var opts = $.extend({}, $.fn.dnnTooltip.defaultOptions, options),
        $wrap = this;

        $wrap.each(function () {
            var $this = $(this),
                dnnFormHelp = $this.prev();
            if ($this.data('initialized')) return;
            dnnFormHelp.on('click', function (e) {
                e.preventDefault();
            });
            var helpSelector = $this.find(opts.helpSelector);
            $this.parent().css({ position: 'relative' });
            if ($('body').hasClass('r' + 't' + 'l')) {
                $this.css({ position: 'absolute', left: '-29%' });
            } else {
                $this.css({ position: 'absolute', right: '-29%' });
            }
            var hoverOnToolTip = false, hoverOnPd = false;

            dnnFormHelp.hoverIntent({
                over: function () {
                    hoverOnPd = true;
                    var tooltipHeight = helpSelector.height();
                    var top = -(tooltipHeight + 30);
                    if ((tooltipHeight + 30) <= $this.parent().offset().top) {
                        helpSelector.parent().css({ top: top + 'px' });
                        $this.find("div.dnnFormHelpContent span").addClass("bottomArrow");
                        $this.find("div.dnnFormHelpContent span").removeClass("topArrow");

                    } else {
                        helpSelector.parent().css({ top: 30 + 'px' });                  
                        $this.find("div.dnnFormHelpContent span").addClass("topArrow");
                        $this.find("div.dnnFormHelpContent span").removeClass("bottomArrow");
                    }
                    helpSelector.css('visibility', 'visible');
                },
                out: function () {
                    hoverOnPd = false;
                    if (!$this.hasClass(opts.pinnedClass) && !hoverOnToolTip) {
                        helpSelector.css('visibility', 'hidden');
                    }
                },
                timeout: 200,
                interval: 200
            });

            helpSelector.hover(function () { hoverOnToolTip = true; }, function () {
                hoverOnToolTip = false;
                if (!$this.hasClass(opts.pinnedClass) && !hoverOnPd) {
                    helpSelector.css('visibility', 'hidden');
                }
            });

            var pinHelper = helpSelector.find(opts.pinSelector);

            pinHelper.on('click', function (e) {
                e.preventDefault();
                if ($this.hasClass(opts.pinnedClass)) {
                    if ($('body').hasClass('r' + 't' + 'l')) {
                        helpSelector.css({ "right": '0', "top": '0' })
                        .css('visibility', 'hidden')
                        .draggable('destroy');
                    } else {
                        helpSelector.css({ "left": '0', "top": '0' })
                        .css('visibility', 'hidden')
                        .draggable('destroy');
                    }
                    $this.removeClass(opts.pinnedClass);
                }
                else {

                    $this.addClass(opts.pinnedClass);
                    if ($.isFunction($().draggable)) {
                        helpSelector.draggable();
                    }
                }
            });

            $this.data('initialized', 1);
        });

        return $wrap;
    };

    $.fn.dnnTooltip.defaultOptions = {
        pinSelector: 'a.pinHelp',
        helpSelector: '.dnnFormHelpContent',
        pinnedClass: 'dnnTooltipPinned'
    };

})(jQuery);

(function ($) {
    var cb = function (e) {
        if (!e) e = window.event;
        e.cancelBubble = true;
        if (e.stopPropagation) e.stopPropagation();
    };

    /* DNN customized checkbox/radiobox */
    $.fn.dnnCheckbox = function (options) {
        var settings = {
            cls: 'dnnCheckbox'  /* checkbox  */
            , labelClass: 'dnnBoxLabel'
        };
        settings = $.extend(settings, options || {});

        var addEvents = function (object) {
            var checked = object.checked,
                disabled = object.disabled,
                $object = $(object);

            if (object.stateInterval)
                clearInterval(object.stateInterval);

            object.stateInterval = setInterval(
                function () {
                    if (object.disabled != disabled)
                        $object.trigger((disabled = !!object.disabled) ? 'disable' : 'enable');
                    if (object.checked != checked)
                        $object.trigger((checked = !!object.checked) ? 'check' : 'uncheck');
                },
                10 /* in miliseconds.*/
            );
            return $object;
        };

        return this.each(function () {
            var ch = this;

            if ($(ch).data("checkBoxWrapped")) {
                return;
            }
            $(ch).data("checkBoxWrapped", true);

            if ($(this).hasClass('normalCheckBox') || $(this).hasClass('normalRadioButton')) return;
            var parentCheckBoxHolder = $(this).closest('.normalCheckBox');
            var parentRadioButtonHolder = $(this).closest('.normalRadioButton');
            if (parentCheckBoxHolder.length || parentRadioButtonHolder.length) return;
            var $ch = addEvents(ch);
            if (ch.wrapper) ch.wrapper.remove();
            ch.wrapper = $('<span class="' + settings.cls + '"><span class="mark"><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAMAAAAoyzS7AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAAZQTFRFAAAAAAAApWe5zwAAAAF0Uk5TAEDm2GYAAAAMSURBVHjaYmAACDAAAAIAAU9tWeEAAAAASUVORK5CYII=" alt="checkbox" /></span></span>');
            ch.wrapperInner = ch.wrapper.children('span:eq(0)');
            ch.wrapper.hover(
                function (e) { ch.wrapperInner.addClass(settings.cls + '-hover'); cb(e); },
                function (e) { ch.wrapperInner.removeClass(settings.cls + '-hover'); cb(e); }
            );

            $ch.css({ position: 'absolute', zIndex: -1, opacity: 0 }).after(ch.wrapper);

            var label, parentLabel = false;
            label = $ch.closest('label');
            if (!label.length)
                label = false;
            else
                parentLabel = true;

            if (!label && $ch.attr('id')) {
                label = $('label[for="' + $ch.attr('id') + '"]');
                if (!label.length) label = false;
            }

            if (label) {
                label.addClass(settings.labelClass);
                if (!parentLabel) {
                    label.click(function (e) {
                        clickHandler(e);
                        return false;
                    });
                }
                else {
                    label.children().each(function () {
                        var $this = $(this);
                        if ($this.is('input')) return;

                        $this.click(function (e) {
                            clickHandler(e);
                            return false;
                        });
                    });
                }
            }

            if (!parentLabel) {
                ch.wrapper.click(function (e) {
                    clickHandler(e);
                    return false;
                });
            }

            function clickHandler(e) {
                if (ch.disabled) {
                    return;
                }
                $ch.triggerHandler('focus');
                var previousChecked = ch.checked;
                ch.click();
                if (ch.checked == previousChecked && ch.type == 'checkbox') {
                    ch.checked = !ch.checked;  //Fix for Firefox browser
                }
                $ch.trigger('change', [e]);
                cb(e);
            }

            $ch.bind('disable', function () { ch.wrapperInner.addClass(settings.cls + '-disabled'); }).bind('enable', function () { ch.wrapperInner.removeClass(settings.cls + '-disabled'); });
            $ch.bind('check', function () { ch.wrapper.addClass(settings.cls + '-checked'); }).bind('uncheck', function () { ch.wrapper.removeClass(settings.cls + '-checked'); });
            $ch.bind('focus', function (e) { if (!e.isTrigger) ch.wrapper.addClass(settings.cls + '-focus'); }).bind('blur', function () { ch.wrapper.removeClass(settings.cls + '-focus'); });

            /* Applying checkbox state */
            if (ch.checked)
                ch.wrapper.addClass(settings.cls + '-checked');
            if (ch.disabled)
                ch.wrapperInner.addClass(settings.cls + '-disabled');

        });
    };

    $.fn.dnnHelperTipDestroy = function () {
        return this.each(function () {
            var pd = this;
            if (pd.id) {
                $('div[data-tipholder="' + pd.id + '"]').remove();
            }
        });
    };

    $.fn.dnnHelperTip = function (options) {
        var settings = {
            cls: 'dnnHelperTip',
            helpContent: "This is hover helper tooltip",
            holderId: '',
            show: false // immediately show tooltip after call
        };
        settings = $.extend(settings, options || {});
        return this.each(function () {
            var pd = this,
                $pd = $(this);
            if (pd.tooltipWrapper) pd.tooltipWrapper.remove();

            pd.tooltipWrapper = $('<div class="' + settings.cls + '" data-tipholder="' + settings.holderId + '"> <div class="dnnFormHelpContent dnnClear"><span class="dnnHelpText">' + settings.helpContent + '</span></div></div>');
            $('body').append(pd.tooltipWrapper);
            pd.tooltipWrapper.css({ position: 'absolute' });
            pd.tooltipWrapperInner = $('.dnnFormHelpContent', pd.tooltipWrapper);

            var tooltipHeight = pd.tooltipWrapperInner.height();
            if ($('body').hasClass('r' + 't' + 'l')) {
                pd.tooltipWrapperInner.css({ right: '-10px', top: -(tooltipHeight + 30) + 'px' });
            } else {
                pd.tooltipWrapperInner.css({ left: '-10px', top: -(tooltipHeight + 30) + 'px' });
            }
            var hoverOnPd = false;
            $pd.hover(
                function () {
                    hoverOnPd = true;
                    setTimeout(function () {
                        if (hoverOnPd)
                            pd.tooltipWrapperInner.css('visibility', 'visible');
                    }, 400);
                },
                function () {
                    hoverOnPd = false;
                    setTimeout(function () {
                        if (!hoverOnPd)
                            pd.tooltipWrapperInner.css('visibility', 'hidden');
                    }, 400);

                });

            if (settings.show) {
                hoverOnPd = true;
                setTimeout(function () {
                    pd.tooltipWrapperInner.css('visibility', 'visible');
                }, 400);
            }

            $pd.bind('mousemove', function (e) {
                var x = e.pageX; var y = e.pageY;
                var pos = $('body').css('position');
                if (pos == 'relative') y -= 38;
                pd.tooltipWrapper.css({ left: x + 'px', top: y + 'px', 'z-index': '99999' });
            });
        });
    };

    $.fn.dnnProgressbar = function () {
        var $pd = $(this),
            pd = this;

        if (pd.tooltipWrapper) pd.tooltipWrapper.remove();
        pd.tooltipWrapper = $('<div class="dnnTooltip"> <div class="dnnFormHelpContent dnnClear"><span class="dnnHelpText"></span></div></div>').insertAfter($pd);
        pd.tooltipWrapperInner = $('.dnnFormHelpContent', pd.tooltipWrapper);
        pd.tooltipWrapperInner.css({ width: '32px', padding: '7px' });
        $pd.parent().css({ position: 'relative' });

        var hoverOnToolTip = false, hoverOnPd = false;
        $pd.hoverIntent({
            over: function () {
                hoverOnPd = true;
                var val = $(this).children(':first').progressbar('value');
                pd.update(val);
                pd.tooltipWrapperInner.css('visibility', 'visible');

            },
            out: function () {
                hoverOnPd = false;
                if (!hoverOnToolTip) {
                    pd.tooltipWrapperInner.css('visibility', 'hidden');
                }
            },
            timeout: 200,
            interval: 200
        });

        pd.tooltipWrapperInner.hover(function () { hoverOnToolTip = true; }, function () {
            hoverOnToolTip = false;
            if (!hoverOnPd) {
                pd.tooltipWrapperInner.hide();
            }
        });

        pd.update = function (value) {
            pd.tooltipWrapperInner.find('span').html(value + ' %');
            var pdTop = $pd.position().top,
			    tooltipHeight = pd.tooltipWrapperInner.height();

            pdTop -= (tooltipHeight + 10);
            var pdLeft = value > 50 ? (value - 4) + '%' : value > 0 ? (value - 2) + '%' : '10px';
            pd.tooltipWrapper.css({ position: 'absolute', left: pdLeft, top: pdTop + 'px' });
        };

        return this;
    };

    $.fn.dnnSpinner = function (options) {
        var opt = $.extend({
            type: 'range',
            typedata: '',
            width: '150px',
            looping: false
        }, options);

        var otypedata;

        if (options != null && options.typedata != null) {
            otypedata = $.extend({
                min: 1,
                max: 10,
                interval: 1,
                decimalplaces: 0
            }, options.typedata);
        }
        else {
            otypedata = $.extend({
                min: 1,
                max: 10,
                interval: 1,
                decimalplaces: 0
            });
        }
        opt.typedata = otypedata;

        var inputControl = this;
        if (!inputControl.is(':text'))
            return inputControl;

        if (inputControl.hasClass('dnnSpinnerInput')) {
            return inputControl;
        }
        else {
            inputControl.addClass('dnnSpinnerInput');
        }

        var strContainerDiv = '';
        strContainerDiv += '<div class="dnnSpinner">';
        strContainerDiv += '<div class="dnnSpinnerDisplay"></div>';
        strContainerDiv += '<div class="dnnSpinnerCtrl">';
        strContainerDiv += '<a class="dnnSpinnerTopButton"></a>';
        strContainerDiv += '<a class="dnnSpinnerBotButton"></a>';
        strContainerDiv += '</div></div>';
        var objContainerDiv = $(strContainerDiv).insertAfter(inputControl);
        inputControl.insertAfter($("div.dnnSpinnerDisplay", objContainerDiv));
        $("div.dnnSpinnerDisplay", objContainerDiv).click(function () {
            if (opt.type == 'range') {
                var displayCtrl = $(this);
                var innerInput = $('input[type="text"]', displayCtrl);
                if (innerInput.length < 1) {
                    var originalVal = displayCtrl.html();
                    innerInput = $('<input type="text" />').val(originalVal);
                    displayCtrl.html(innerInput);
                    innerInput.blur(function () {
                        var newVal = $(this).val();
                        if (newVal > opt.typedata.max) {
                            newVal = opt.typedata.max;
                        }
                        if (newVal < opt.typedata.min) {
                            newVal = opt.typedata.min;
                        }
                        $(this).remove();
                        selectedValue = parseInt(newVal);
                        inputControl.val(newVal);
                        displayCtrl.html(newVal);
                    }).keypress(function (e) {
                        var regex = new RegExp("^[0-9]+$");
                        var key = String.fromCharCode(!e.charCode ? e.which : e.charCode);
                        if (!regex.test(key)) {
                            event.preventDefault();
                            return false;
                        }
                        return true;
                    });
                }
                innerInput.focus();
            }

            inputControl.triggerHandler('focus');
        });
        inputControl.css('display', 'none');

        switch (opt.type) {
            case 'range':
                if (opt.defaultVal < opt.typedata.min || opt.defaultVal > opt.typedata.max) {
                    opt.defaultVal = opt.typedata.min;
                }
                if (opt.defaultVal % opt.typedata.interval > 0) {
                    opt.defaultVal = parseInt((opt.defaultVal / opt.typedata.interval).toFixed(0)) * opt.typedata.interval;
                }
                inputControl.val(opt.defaultVal.toFixed(opt.typedata.decimalplaces));
                ($("div.dnnSpinnerDisplay", objContainerDiv)).html(opt.defaultVal.toFixed(opt.typedata.decimalplaces));
                var selectedValue = opt.defaultVal;
                if ((opt.typedata.max - opt.typedata.min) > opt.typedata.interval) {
                    $("a.dnnSpinnerTopButton", objContainerDiv).click(function () {

                        if ((selectedValue + opt.typedata.interval) <= opt.typedata.max || opt.looping) {
                            if ((selectedValue + opt.typedata.interval) > opt.typedata.max) {
                                selectedValue = opt.typedata.min - opt.typedata.interval;
                            }
                            var valueData = (selectedValue + opt.typedata.interval).toFixed(opt.typedata.decimalplaces);
                            selectedValue += opt.typedata.interval;
                            ($("div.dnnSpinnerDisplay", objContainerDiv)).html(valueData);
                            inputControl.val(valueData);
                        }
                        inputControl.triggerHandler('focus');
                        return false;
                    });

                    $("a.dnnSpinnerBotButton", objContainerDiv).click(function () {
                        if ((selectedValue - opt.typedata.interval) >= opt.typedata.min || opt.looping) {
                            if ((selectedValue - opt.typedata.interval) < opt.typedata.min) {
                                selectedValue = opt.typedata.max + opt.typedata.interval;
                            }
                            var valueData = (selectedValue - opt.typedata.interval).toFixed(opt.typedata.decimalplaces);
                            selectedValue -= opt.typedata.interval;
                            ($("div.dnnSpinnerDisplay", objContainerDiv)).html(valueData);
                            inputControl.val(valueData);
                        }
                        inputControl.triggerHandler('focus');
                        return false;
                    });
                }

                break;
            case 'list':
                if (!opt.typedata.list || opt.typedata.list.lenght == 0) {
                    return inputControl;
                }

                var listItems = opt.typedata.list.split(',');
                var selectedIndex = jQuery.inArray(opt.defaultVal, listItems);
                if (selectedIndex < 0) {
                    selectedIndex = 0;
                    opt.defaultVal = listItems[0];
                }

                inputControl.val(opt.defaultVal);
                ($("div.dnnSpinnerDisplay", objContainerDiv)).html(opt.defaultVal);

                if (listItems.length > 1) {
                    // attach events;
                    $("a.dnnSpinnerBotButton", objContainerDiv).click(function () {
                        if (selectedIndex < (listItems.length - 1) || opt.looping) {
                            if (selectedIndex == listItems.length - 1) {
                                selectedIndex = -1;
                            }
                            selectedIndex++;
                            var valueData = listItems[selectedIndex];
                            ($("div.dnnSpinnerDisplay", objContainerDiv)).html(valueData);
                            inputControl.val(valueData);
                        }
                        inputControl.triggerHandler('focus');
                        return false;
                    });

                    $("a.dnnSpinnerTopButton", objContainerDiv).click(function () {
                        if (selectedIndex > 0 || opt.looping) {
                            if (selectedIndex == 0) {
                                selectedIndex = listItems.length;
                            }
                            selectedIndex--;
                            var valueData = listItems[selectedIndex];
                            ($("div.dnnSpinnerDisplay", objContainerDiv)).html(valueData);
                            inputControl.val(valueData);
                        }
                        inputControl.triggerHandler('focus');
                        return false;
                    });
                }

                break;
        };
        return inputControl;
    };
})(jQuery);

(function ($) {
    $.fn.dnnAutocomplete = function (options) {
        var url;
        if (arguments.length > 1) {
            url = options;
            options = arguments[1];
            options.url = url;
        } else if (typeof options === 'string') {
            url = options;
            options = { url: url };
        }
        var opts = $.extend({}, $.fn.dnnAutocomplete.defaults, options);
        return this.each(function () {
            var $this = $(this);
            $this.data('autocompleter', new $.dnnAutocompleter(
                $this,
                $.meta ? $.extend({}, opts, $this.data()) : opts
            ));
        });
    };

    $.fn.dnnAutocomplete.defaults = {
        inputClass: 'dnn_acInput',
        loadingClass: 'dnn_acLoading',
        resultsClass: 'dnn_acResults',
        selectClass: 'dnn_acSelect',
        queryParamName: 'q',
        contentTypeParamName: 'contentTypeId',
        extraParams: {},
        remoteDataType: false,
        lineSeparator: '\n',
        cellSeparator: '|',
        minChars: 2,
        maxItemsToShow: 10,
        delay: 400,
        useCache: false,
        maxCacheLength: 10,
        matchSubset: true,
        matchCase: false,
        matchInside: true,
        mustMatch: false,
        selectFirst: false,
        selectOnly: false,
        showResult: null,
        preventDefaultReturn: 1,
        preventDefaultTab: 0,
        autoFill: false,
        filterResults: true,
        sortResults: true,
        sortFunction: null,
        onItemSelect: null,
        onNoMatch: null,
        onFinish: null,
        matchStringConverter: null,
        beforeUseConverter: null,
        autoWidth: 'min-width',
        useDelimiter: false,
        delimiterChar: ',',
        delimiterKeyCode: 188,
        processData: null,
        onError: null,
        moduleId: null // dnn Module Id context if needed
    };

    var sanitizeResult = function (result) {
        var value, data;
        var type = typeof result;
        if (type === 'string') {
            value = result;
            data = {};
        } else if ($.isArray(result)) {
            value = result[0];
            data = result.slice(1);
        } else if (type === 'object') {
            value = result.value;
            data = result.data;
        } else value = '';
        value = String(value);
        if (typeof data !== 'object') {
            data = {};
        }
        return {
            value: value,
            data: data
        };
    };

    var sanitizeInteger = function (value, stdValue, options) {
        var num = parseInt(value, 10);
        options = options || {};
        if (isNaN(num) || (options.min && num < options.min)) {
            num = stdValue;
        }
        return num;
    };

    var makeUrlParam = function (name, value) {
        return [name, encodeURIComponent(value)].join('=');
    };

    var makeUrl = function (url, params) {
        var urlAppend = [];
        $.each(params, function (index, value) {
            urlAppend.push(makeUrlParam(index, value));
        });
        if (urlAppend.length) {
            url += url.indexOf('?') === -1 ? '?' : '&';
            url += urlAppend.join('&');
        }
        return url;
    };

    var sortValueAlpha = function (a, b, matchCase) {
        a = String(a.value);
        b = String(b.value);
        if (!matchCase) {
            a = a.toLowerCase();
            b = b.toLowerCase();
        }
        if (a > b) {
            return 1;
        }
        if (a < b) {
            return -1;
        }
        return 0;
    };

    $.dnnAutocompleter = function ($elem, options) {

        if (!$elem || !($elem instanceof $) || $elem.length !== 1 || $elem.get(0).tagName.toUpperCase() !== 'INPUT') {
            throw new Error('Invalid parameter for dnnAutocompleter, jQuery object with one element with INPUT tag expected.');
        }

        var self = this;
        this.options = options;
        this.cacheData_ = {};
        this.cacheLength_ = 0;
        this.selectClass_ = 'jquery-autocomplete-selected-item';
        this.keyTimeout_ = null;
        this.finishTimeout_ = null;
        this.lastKeyPressed_ = null;
        this.lastProcessedValue_ = null;
        this.lastSelectedValue_ = null;
        this.active_ = false;
        this.finishOnBlur_ = true;

        this.options.minChars = sanitizeInteger(this.options.minChars, $.fn.dnnAutocomplete.defaults.minChars, { min: 0 });
        this.options.maxItemsToShow = sanitizeInteger(this.options.maxItemsToShow, $.fn.dnnAutocomplete.defaults.maxItemsToShow, { min: 0 });
        this.options.maxCacheLength = sanitizeInteger(this.options.maxCacheLength, $.fn.dnnAutocomplete.defaults.maxCacheLength, { min: 1 });
        this.options.delay = sanitizeInteger(this.options.delay, $.fn.dnnAutocomplete.defaults.delay, { min: 0 });
        if (this.options.preventDefaultReturn != 2) {
            this.options.preventDefaultReturn = this.options.preventDefaultReturn ? 1 : 0;
        }
        if (this.options.preventDefaultTab != 2) {
            this.options.preventDefaultTab = this.options.preventDefaultTab ? 1 : 0;
        }

        this.dom = {};
        this.dom.$elem = $elem;
        this.dom.$elem.attr('autocomplete', 'off').addClass(this.options.inputClass);
        this.dom.$results = $('<div></div>').hide().addClass(this.options.resultsClass).css({
            position: 'absolute'
        });
        $('body').append(this.dom.$results);
        $elem.keydown(function (e) {
            self.lastKeyPressed_ = e.keyCode;
            switch (self.lastKeyPressed_) {
                case self.options.delimiterKeyCode: // comma = 188
                    if (self.options.useDelimiter && self.active_) {
                        self.selectCurrent();
                    }
                    break;

                    // ignore navigational & special keys
                case 35: // end
                case 36: // home
                case 16: // shift
                case 17: // ctrl
                case 18: // alt
                case 37: // left
                case 39: // right
                    break;

                case 38: // up
                    e.preventDefault();
                    if (self.active_) {
                        self.focusPrev();
                    } else {
                        self.activate();
                    }
                    return false;

                case 40: // down
                    e.preventDefault();
                    if (self.active_) {
                        self.focusNext();
                    } else {
                        self.activate();
                    }
                    return false;

                case 9: // tab
                    if (self.active_) {
                        self.selectCurrent();
                        if (self.options.preventDefaultTab) {
                            e.preventDefault();
                            return false;
                        }
                    }
                    if (self.options.preventDefaultTab === 2) {
                        e.preventDefault();
                        return false;
                    }
                    break;

                case 13: // return
                    if (self.active_) {
                        self.selectCurrent();
                        if (self.options.preventDefaultReturn) {
                            e.preventDefault();
                            return false;
                        }
                    }
                    if (self.options.preventDefaultReturn === 2) {
                        e.preventDefault();
                        return false;
                    }
                    break;

                case 27: // escape
                    if (self.active_) {
                        e.preventDefault();
                        self.deactivate(true);
                        return false;
                    }
                    break;

                default:
                    self.activate();

            }
            return true;
        });

        var onBlurFunction = function () {
            self.deactivate(true);
        };
        $elem.blur(function () {
            if (self.finishOnBlur_) {
                self.finishTimeout_ = setTimeout(onBlurFunction, 1000);
            }
        });

        $elem.parents('form').on('submit', onBlurFunction);

    };

    $.dnnAutocompleter.prototype.position = function () {
        var offset = this.dom.$elem.offset();
        var height = this.dom.$results.outerHeight();
        var totalHeight = window.outerHeight;
        var inputBottom = offset.top + this.dom.$elem.outerHeight();
        var bottomIfDown = inputBottom + height;
        // Set autocomplete results at the bottom of input
        var position = { top: inputBottom, left: offset.left };
        if (bottomIfDown > totalHeight) {
            // Try to set autocomplete results at the top of input
            var topIfUp = offset.top - height;
            if (topIfUp >= 0) {
                position.top = topIfUp;
            }
        }
        this.dom.$results.css(position);
    };

    $.dnnAutocompleter.prototype.cacheRead = function (filter) {
        var filterLength, searchLength, search, maxPos, pos;
        if (this.options.useCache) {
            filter = String(filter);
            filterLength = filter.length;
            if (this.options.matchSubset) {
                searchLength = 1;
            } else {
                searchLength = filterLength;
            }
            while (searchLength <= filterLength) {
                if (this.options.matchInside) {
                    maxPos = filterLength - searchLength;
                } else {
                    maxPos = 0;
                }
                pos = 0;
                while (pos <= maxPos) {
                    search = filter.substr(0, searchLength);
                    if (this.cacheData_[search] !== undefined) {
                        return this.cacheData_[search];
                    }
                    pos++;
                }
                searchLength++;
            }
        }
        return false;
    };

    $.dnnAutocompleter.prototype.cacheWrite = function (filter, data) {
        if (this.options.useCache) {
            if (this.cacheLength_ >= this.options.maxCacheLength) {
                this.cacheFlush();
            }
            filter = String(filter);
            if (this.cacheData_[filter] !== undefined) {
                this.cacheLength_++;
            }
            this.cacheData_[filter] = data;
            return this.cacheData_[filter];
        }
        return false;
    };

    $.dnnAutocompleter.prototype.cacheFlush = function () {
        this.cacheData_ = {};
        this.cacheLength_ = 0;
    };

    $.dnnAutocompleter.prototype.callHook = function (hook, data) {
        var f = this.options[hook];
        if (f && $.isFunction(f)) {
            return f(data, this);
        }
        return false;
    };

    $.dnnAutocompleter.prototype.activate = function () {
        var self = this;
        if (this.keyTimeout_) {
            clearTimeout(this.keyTimeout_);
        }
        this.keyTimeout_ = setTimeout(function () {
            self.activateNow();
        }, this.options.delay);
    };

    $.dnnAutocompleter.prototype.activateNow = function () {
        var value = this.beforeUseConverter(this.dom.$elem.val());
        if (value !== this.lastProcessedValue_ && value !== this.lastSelectedValue_) {
            this.fetchData(value);
        }
    };

    $.dnnAutocompleter.prototype.fetchData = function (value) {
        var self = this;
        var processResults = function (results, filter) {
            if (self.options.processData) {
                results = self.options.processData(results);
            }
            self.showResults(self.filterResults(results, filter), filter);
        };
        this.lastProcessedValue_ = value;
        if (value.length < this.options.minChars) {
            processResults([], value);
        } else if (this.options.data) {
            processResults(this.options.data, value);
        } else {
            this.fetchRemoteData(value, function (remoteData) {
                processResults(remoteData, value);
            });
        }
    };

    $.dnnAutocompleter.prototype.fetchRemoteData = function (filter, callback) {
        var data = this.cacheRead(filter);
        if (data) {
            callback(data);
        } else {
            var self = this;
            var ajaxCallback = function (d) {
                var parsed = false;
                if (d !== false) {
                    parsed = self.parseRemoteData(d);
                    self.cacheWrite(filter, parsed);
                }
                self.dom.$elem.removeClass(self.options.loadingClass);
                callback(parsed);
            };

            this.dom.$elem.addClass(this.options.loadingClass);
            // DNN service framework attached if needed
            var services = self.options.moduleId ? ($.dnnSF ? $.dnnSF(self.options.moduleId) : null) : null;
            $.ajax({
                url: this.makeUrl(filter),
                beforeSend: services ? services.setModuleHeaders : null,
                success: ajaxCallback,
                error: function (jqXhr, textStatus, errorThrown) {
                    if ($.isFunction(self.options.onError)) {
                        self.options.onError(jqXhr, textStatus, errorThrown);
                    } else {
                        ajaxCallback(false);
                    }
                },
                type: 'GET',
                dataType: 'json',
                contentType: "application/json"
            });
        }
    };

    $.dnnAutocompleter.prototype.setExtraParam = function (name, value) {
        var index = $.trim(String(name));
        if (index) {
            if (!this.options.extraParams) {
                this.options.extraParams = {};
            }
            if (this.options.extraParams[index] !== value) {
                this.options.extraParams[index] = value;
                this.cacheFlush();
            }
        }
    };

    $.dnnAutocompleter.prototype.makeUrl = function (param) {
        var url = this.options.url;
        var params = {};
        params[this.options.queryParamName] = param;
        return makeUrl(url, params);
    };

    $.dnnAutocompleter.prototype.parseRemoteData = function (remoteData) {
        var data = remoteData;
        if (typeof data['d'] != 'undefined') {
            data = $.parseJSON(data['d']);
        }
        return data;
    };

    $.dnnAutocompleter.prototype.filterResult = function (result, filter) {
        if (!result.value) {
            return false;
        }
        if (this.options.filterResults) {
            var pattern = this.matchStringConverter(filter);
            var testValue = this.matchStringConverter(result.value);
            if (!this.options.matchCase) {
                pattern = pattern.toLowerCase();
                testValue = testValue.toLowerCase();
            }
            var patternIndex = testValue.indexOf(pattern);
            if (this.options.matchInside) {
                return patternIndex > -1;
            } else {
                return patternIndex === 0;
            }
        }
        return true;
    };

    $.dnnAutocompleter.prototype.filterResults = function (results, filter) {
        var filtered = [];
        var i, result;

        for (i = 0; i < results.length; i++) {
            result = sanitizeResult(results[i]);
            if (this.filterResult(result, filter)) {
                filtered.push(result);
            }
        }
        if (this.options.sortResults) {
            filtered = this.sortResults(filtered, filter);
        }
        if (this.options.maxItemsToShow > 0 && this.options.maxItemsToShow < filtered.length) {
            filtered.length = this.options.maxItemsToShow;
        }
        return filtered;
    };

    $.dnnAutocompleter.prototype.sortResults = function (results, filter) {
        var self = this;
        var sortFunction = this.options.sortFunction;
        if (!$.isFunction(sortFunction)) {
            sortFunction = function (a, b) {
                return sortValueAlpha(a, b, self.options.matchCase);
            };
        }
        results.sort(function (a, b) {
            return sortFunction(a, b, filter, self.options);
        });
        return results;
    };

    $.dnnAutocompleter.prototype.matchStringConverter = function (s, a, b) {
        var converter = this.options.matchStringConverter;
        if ($.isFunction(converter)) {
            s = converter(s, a, b);
        }
        return s;
    };

    $.dnnAutocompleter.prototype.beforeUseConverter = function (s, a, b) {
        s = this.getValue();
        var converter = this.options.beforeUseConverter;
        if ($.isFunction(converter)) {
            s = converter(s, a, b);
        }
        return s;
    };

    $.dnnAutocompleter.prototype.enableFinishOnBlur = function () {
        this.finishOnBlur_ = true;
    };

    $.dnnAutocompleter.prototype.disableFinishOnBlur = function () {
        this.finishOnBlur_ = false;
    };

    $.dnnAutocompleter.prototype.createItemFromResult = function (result, filter) {
        var self = this;
        var $li = $('<li>' + this.showResult(result.value, result.data, filter) + '</li>');
        $li.data({ value: result.value, data: result.data })
            .click(function () {
                self.selectItem($li);
            })
            .mousedown(self.disableFinishOnBlur)
            .mouseup(self.enableFinishOnBlur)
        ;
        return $li;
    };

    $.dnnAutocompleter.prototype.getItems = function () {
        return $('>ul>li', this.dom.$results);
    };

    $.dnnAutocompleter.prototype.showResults = function (results, filter) {
        var numResults = results.length;
        var self = this;
        var $ul = $('<ul></ul>');
        var i, result, $li, autoWidth, first = false, $first = false;

        if (numResults) {
            for (i = 0; i < numResults; i++) {
                result = results[i];
                $li = this.createItemFromResult(result, filter);
                $ul.append($li);
                if (first === false) {
                    first = String(result.value);
                    $first = $li;
                    $li.addClass(this.options.firstItemClass);
                }
                if (i === numResults - 1) {
                    $li.addClass(this.options.lastItemClass);
                }
            }

            this.dom.$results.html($ul).show();

            // Always recalculate position since window size or
            // input element location may have changed.
            this.position();
            if (this.options.autoWidth) {
                autoWidth = this.dom.$elem.outerWidth() - this.dom.$results.outerWidth() + this.dom.$results.width();
                this.dom.$results.css(this.options.autoWidth, autoWidth);
            }
            this.getItems().hover(
                function () { self.focusItem(this); },
                function () { /* void */ }
            );
            if (this.autoFill(first, filter) || this.options.selectFirst || (this.options.selectOnly && numResults === 1)) {
                this.focusItem($first);
            }
            this.active_ = true;

            //Select the first one as default
            this.focusNext();

        } else {
            this.hideResults();
            this.active_ = false;
        }
    };

    $.dnnAutocompleter.prototype.showResult = function (value, data, filter) {
        if ($.isFunction(this.options.showResult)) {
            return this.options.showResult(value, data);
        } else {
            // add highlight keywords
            var regex = new RegExp('(' + filter + ')', 'gi');
            return value.replace(regex, function ($0, $1) {
                return ('<b>' + $1 + '</b>');
            });
        }
    };

    $.dnnAutocompleter.prototype.autoFill = function (value, filter) {
        var lcValue, lcFilter, valueLength, filterLength;
        if (this.options.autoFill && this.lastKeyPressed_ !== 8) {
            lcValue = String(value).toLowerCase();
            lcFilter = String(filter).toLowerCase();
            valueLength = value.length;
            filterLength = filter.length;
            if (lcValue.substr(0, filterLength) === lcFilter) {
                var d = this.getDelimiterOffsets();
                var pad = d.start ? ' ' : ''; // if there is a preceding delimiter
                this.setValue(pad + value);
                var start = filterLength + d.start + pad.length;
                var end = valueLength + d.start + pad.length;
                this.selectRange(start, end);
                return true;
            }
        }
        return false;
    };

    $.dnnAutocompleter.prototype.focusNext = function () {
        this.focusMove(+1);
    };

    $.dnnAutocompleter.prototype.focusPrev = function () {
        this.focusMove(-1);
    };

    $.dnnAutocompleter.prototype.focusMove = function (modifier) {
        var $items = this.getItems();
        modifier = sanitizeInteger(modifier, 0);
        if (modifier) {
            for (var i = 0; i < $items.length; i++) {
                if ($($items[i]).hasClass(this.selectClass_)) {
                    this.focusItem(i + modifier);
                    return;
                }
            }
        }
        this.focusItem(0);
    };

    $.dnnAutocompleter.prototype.focusItem = function (item) {
        var $item, $items = this.getItems();
        if ($items.length) {
            $items.removeClass(this.selectClass_).removeClass(this.options.selectClass);
            if (typeof item === 'number') {
                if (item < 0) {
                    item = 0;
                } else if (item >= $items.length) {
                    item = $items.length - 1;
                }
                $item = $($items[item]);
            } else {
                $item = $(item);
            }
            if ($item) {
                $item.addClass(this.selectClass_).addClass(this.options.selectClass);
            }
        }
    };

    $.dnnAutocompleter.prototype.selectCurrent = function () {
        var $item = $('li.' + this.selectClass_, this.dom.$results);
        if ($item.length === 1) {
            this.selectItem($item);
        } else {
            this.deactivate(false);
        }
    };

    $.dnnAutocompleter.prototype.selectItem = function ($li) {
        var value = $li.data('value');
        var data = $li.data('data');
        var displayValue = this.displayValue(value, data);
        var processedDisplayValue = this.beforeUseConverter(displayValue);
        this.lastProcessedValue_ = processedDisplayValue;
        this.lastSelectedValue_ = processedDisplayValue;
        var d = this.getDelimiterOffsets();
        var delimiter = this.options.delimiterChar;
        var elem = this.dom.$elem;
        var extraCaretPos = 0;
        if (this.options.useDelimiter) {
            // if there is a preceding delimiter, add a space after the delimiter
            if (elem.val().substring(d.start - 1, d.start) == delimiter && delimiter != ' ') {
                displayValue = ' ' + displayValue;
            }
            // if there is not already a delimiter trailing this value, add it
            if (elem.val().substring(d.end, d.end + 1) != delimiter && this.lastKeyPressed_ != this.options.delimiterKeyCode) {
                displayValue = displayValue + delimiter;
            } else {
                // move the cursor after the existing trailing delimiter
                extraCaretPos = 1;
            }
        }
        this.setValue(displayValue);
        this.setCaret(d.start + displayValue.length + extraCaretPos);
        this.callHook('onItemSelect', { value: value, data: data });
        this.deactivate(true);
        elem.trigger('result', value);
    };

    $.dnnAutocompleter.prototype.displayValue = function (value, data) {
        if ($.isFunction(this.options.displayValue)) {
            return this.options.displayValue(value, data);
        }
        return value;
    };

    $.dnnAutocompleter.prototype.hideResults = function () {
        this.dom.$results.hide();
    };

    $.dnnAutocompleter.prototype.deactivate = function (finish) {
        if (this.finishTimeout_) {
            clearTimeout(this.finishTimeout_);
        }
        if (this.keyTimeout_) {
            clearTimeout(this.keyTimeout_);
        }
        if (finish) {
            if (this.lastProcessedValue_ !== this.lastSelectedValue_) {
                if (this.options.mustMatch) {
                    this.setValue('');
                }
                this.callHook('onNoMatch');
            }
            if (this.active_) {
                this.callHook('onFinish');
            }
            this.lastKeyPressed_ = null;
            this.lastProcessedValue_ = null;
            this.lastSelectedValue_ = null;
            this.active_ = false;
        }
        this.hideResults();
    };

    $.dnnAutocompleter.prototype.selectRange = function (start, end) {
        var input = this.dom.$elem.get(0);
        if (input.setSelectionRange) {
            input.focus();
            input.setSelectionRange(start, end);
        } else if (input.createTextRange) {
            var range = input.createTextRange();
            range.collapse(true);
            range.moveEnd('character', end);
            range.moveStart('character', start);
            range.select();
        }
    };

    $.dnnAutocompleter.prototype.setCaret = function (pos) {
        this.selectRange(pos, pos);
    };

    $.dnnAutocompleter.prototype.getCaret = function () {
        var elem = this.dom.$elem, s, e, range;
        if (!$.support.cssFloat) {
            // ie
            var selection = document.selection;
            if (elem[0].tagName.toLowerCase() != 'textarea') {
                var val = elem.val();
                range = selection.createRange().duplicate();
                range.moveEnd('character', val.length);
                s = (range.text == '' ? val.length : val.lastIndexOf(range.text));
                range = selection.createRange().duplicate();
                range.moveStart('character', -val.length);
                e = range.text.length;
            } else {
                range = selection.createRange();
                var storedRange = range.duplicate();
                storedRange.moveToElementText(elem[0]);
                storedRange.setEndPoint('EndToEnd', range);
                s = storedRange.text.length - range.text.length;
                e = s + range.text.length;
            }
        } else {
            // ff, chrome, safari
            s = elem[0].selectionStart;
            e = elem[0].selectionEnd;
        }
        return {
            start: s,
            end: e
        };
    };

    $.dnnAutocompleter.prototype.setValue = function (value) {
        if (this.options.useDelimiter) {
            // set the substring between the current delimiters
            var val = this.dom.$elem.val();
            var d = this.getDelimiterOffsets();
            var preVal = val.substring(0, d.start);
            var postVal = val.substring(d.end);
            value = preVal + value + postVal;
        }
        this.dom.$elem.val(value).blur();
    };

    $.dnnAutocompleter.prototype.getValue = function () {
        var val = this.dom.$elem.val();
        if (this.options.useDelimiter) {
            var d = this.getDelimiterOffsets();
            return val.substring(d.start, d.end).trim();
        } else {
            return val;
        }
    };

    $.dnnAutocompleter.prototype.getDelimiterOffsets = function () {
        var val = this.dom.$elem.val();
        if (this.options.useDelimiter) {
            var preCaretVal = val.substring(0, this.getCaret().start);
            var start = preCaretVal.lastIndexOf(this.options.delimiterChar) + 1;
            var postCaretVal = val.substring(this.getCaret().start);
            var end = postCaretVal.indexOf(this.options.delimiterChar);
            if (end == -1) end = val.length;
            end += this.getCaret().start;
        } else {
            start = 0;
            end = val.length;
        }
        return {
            start: start,
            end: end
        };
    };
})(jQuery);

(function ($) {
    // dnn customized tags
    var delimiter = new Array();
    var tagsCallbacks = new Array();
    $.fn.dnnDoAutosize = function (o) {
        var minWidth = $(this).data('minwidth'),
            maxWidth = $(this).data('maxwidth'),
            val = '',
            input = $(this),
            testSubject = $('#' + $(this).data('tester_id'));

        if (val === (val = input.val())) { return; }

        // Enter new content into testSubject
        var escaped = val.replace(/&/g, '&amp;').replace(/\s/g, ' ').replace(/</g, '&lt;').replace(/>/g, '&gt;');
        testSubject.html(escaped);
        // Calculate new width + whether to change
        var testerWidth = testSubject.width(),
            newWidth = (testerWidth + o.comfortZone) >= minWidth ? testerWidth + o.comfortZone : minWidth,
            currentWidth = input.width(),
            isValidWidthChange = (newWidth < currentWidth && newWidth >= minWidth)
                                 || (newWidth > minWidth && newWidth < maxWidth);

        // Animate width
        if (isValidWidthChange) {
            input.width(newWidth);
        }
    };

    $.fn.dnnResetAutosize = function (options) {
	    var minWidth = $(this).data('minwidth') || options.minInputWidth || $(this).width(),
	        maxWidth = $(this).data('maxwidth') || options.maxInputWidth || ($(this).closest('.dnnTagsInput').width() - options.inputPadding),
	        $input = $(this);

		var left = 0;
		var $lastSpan = $(this).closest('.dnnTagsInput').find('> span').last();
		if ($lastSpan.length > 0) {
			left = $lastSpan.offset().left - $lastSpan.parent().offset().left + $lastSpan.outerWidth();
		}
		var availableWidth = maxWidth - left;
	    if (availableWidth < parseInt(minWidth)) {
		    availableWidth = maxWidth;
	    }

        $input.css('width', availableWidth);
    };

    $.fn.dnnAddTag = function (value, options) {
        options = jQuery.extend({ focus: false, callback: true }, options);
        this.each(function () {
            var id = $(this).attr('id');
            var tagslist = $(this).val().split(delimiter[id]);
            if (tagslist[0] == '') {
                tagslist = new Array();
            }
			value = value.replace(/<.*?>/g, '');
            value = jQuery.trim(value);
            var skipTag;
            if (options.unique) {
                skipTag = $(this).dnnTagExist(value);
                if (skipTag == true) {
                    //Marks fake input as not_valid to let styling it
                    $('#' + id + '_tag').addClass('dnnTagsInvalid');
                }
                else
                    $('#' + id + '_tag').removeClass('dnnTagsInvalid');
            } else {
                skipTag = false;
                $('#' + id + '_tag').removeClass('dnnTagsInvalid');
            }

            if (value != '' && skipTag != true) {
                $('<span>').addClass('tag').append(
                    $('<span>').text(value).append('&nbsp;&nbsp;'),
                    $('<a>', {
                        href: '#',
                        title: 'Removing tag'
                    }).click(function () {
                        return $('#' + id).dnnRemoveTag(escape(value));
                    })
                ).insertBefore('#' + id + '_addTag');

                tagslist.push(value);

                $('#' + id + '_tag').val('');
                if (options.focus) {
                    $('#' + id + '_tag').focus();
                } else {
                    $('#' + id + '_tag').blur();
                }

                $.fn.dnnTagsInput.updateTagsField(this, tagslist);
                var f;
                if (options.callback && tagsCallbacks[id] && tagsCallbacks[id]['onAddTag']) {
                    f = tagsCallbacks[id]['onAddTag'];
                    f.call(this, value);
                }
                if (tagsCallbacks[id] && tagsCallbacks[id]['onChange']) {
                    var i = tagslist.length;
                    f = tagsCallbacks[id]['onChange'];
                    f.call(this, $(this), tagslist[i - 1]);
                }
            }
        });
        return false;
    };

    $.fn.dnnRemoveTag = function (value) {
        value = unescape(value);
        this.each(function () {
            var id = $(this).attr('id');
            var old = $(this).val().split(delimiter[id]);
            $('#' + id + '_tagsinput .tag').remove();
            var str = '';
            for (var i = 0; i < old.length; i++) {
                if (old[i] != value) {
                    str = str + delimiter[id] + old[i];
                }
            }
            $.fn.dnnTagsInput.importTags(this, str);
            if (tagsCallbacks[id] && tagsCallbacks[id]['onRemoveTag']) {
                var f = tagsCallbacks[id]['onRemoveTag'];
                f.call(this, value);
            }
        });

        return false;
    };

    $.fn.dnnTagExist = function (val) {
        var id = $(this).attr('id'),
            tagslist = $(this).val().split(delimiter[id]);
        return (jQuery.inArray(val, tagslist) >= 0);
    };

    $.fn.dnnImportTags = function (str) {
        var id = $(this).attr('id');
        $('#' + id + '_tagsinput .tag').remove();
        $.fn.dnnTagsInput.importTags(this, str);
    };

    $.fn.dnnTagsInput = function (options) {
        var onError = null;
        var triggerOnError = function (handler) {
            if (!onError) {
                onError = setTimeout(function () {
                    onError = null;
                    if (handler) handler();
                }, 0);
            }
        };
        var settings = jQuery.extend({
            interactive: true,
            defaultText: 'Add a tag',
            minChars: 0,
            maxChars: 50,
            maxTags: 16,
            lessThanMinCharsErrorText: 'A tag cannot be less than {0} characters long',
            lessThanMinCharsErrorTitle: 'Tag Length Not Reached',
            moreThanMaxCharsErrorText: 'A tag cannot be more than {0} characters long',
            moreThanMaxCharsErrorTitle: 'Tag Length Exceeded',
            moreThanMaxTagsErrorText: 'A maximum of {0} tags can be attached here',
            moreThanMaxTagsErrorTitle: 'Tags limit exceeded',
            onErrorLessThanMinChars: function () { // can be customised by module dev
                $.dnnAlert({ text: String.format(settings.lessThanMinCharsErrorText, settings.minChars), title: settings.lessThanMinCharsErrorTitle });
            },
            onErrorMoreThanMaxChars: function () { // can be customised by module dev
                $.dnnAlert({ text: String.format(settings.moreThanMaxCharsErrorText, settings.maxChars), title: settings.moreThanMaxCharsErrorTitle });
            },
            onErrorMoreThanMaxTags: function () { // can be customised by module dev
                $.dnnAlert({ text: String.format(settings.moreThanMaxTagsErrorText, settings.maxTags), title: settings.moreThanMaxTagsErrorTitle });
            },

            width: '45%',
            autocomplete: { selectFirst: false },
            'hide': true,
            'delimiter': ',',
            'unique': true,
            removeWithBackspace: true,
            placeholderColor: '#999',
            normalColor: '#666',
            autosize: true,
            comfortZone: 20,
            inputPadding: 6 * 2

        }, options);

        this.each(function () {
            var instance = $(this).data('dnnTagInput');
            if (instance) return this;
            if (settings.hide) {
                $(this).hide();
            }
            var id = $(this).attr('id');
            if (!id || delimiter[$(this).attr('id')]) {
                id = $(this).attr('id', 'tags' + new Date().getTime()).attr('id');
            }
            var data = jQuery.extend({
                pid: id,
                real_input: '#' + id,
                holder: '#' + id + '_tagsinput',
                input_wrapper: '#' + id + '_addTag',
                fake_input: '#' + id + '_tag'
            }, settings);

            $(this).data('dnnTagInput', data);

            delimiter[id] = data.delimiter;

            if (settings.onAddTag || settings.onRemoveTag || settings.onChange) {
                tagsCallbacks[id] = new Array();
                tagsCallbacks[id]['onAddTag'] = settings.onAddTag;
                tagsCallbacks[id]['onRemoveTag'] = settings.onRemoveTag;
                tagsCallbacks[id]['onChange'] = settings.onChange;
            }

            var markup = '<div id="' + id + '_tagsinput" class="dnnTagsInput">';
            markup += '<div id="' + id + '_addTag">';

            if (settings.interactive) {
                markup += '<input id="' + id + '_tag" value="" data-default="' + settings.defaultText + '" autocomplete="off" />';
            }

            markup += '</div>';
            markup = markup + '<div class="dnnTagsClear"></div></div>';

            $(markup).insertAfter(this);

            $(data.holder).css({
                'width': settings.width,
                'min-height': settings.height
            });

            $(data.fake_input).attr("maxlength", settings.maxChars);

            if ($(data.real_input).val() != '') {
                $.fn.dnnTagsInput.importTags($(data.real_input), $(data.real_input).val());
            }
            if (settings.interactive) {
                // placeholder stuff
                $(data.fake_input).dnnPlaceholder({
	                color: [settings.normalColor, settings.placeholderColor]
                });

                $(data.fake_input).dnnResetAutosize(settings);
                $(data.holder).bind('click', data, function (event) {
                    $(event.data.real_input).triggerHandler('focus');
                    $(event.data.fake_input).triggerHandler('focus');
                    return false;
                });
                if (settings.autocomplete_url != undefined) {
                    if ($.dnnAutocompleter !== undefined) {
                        if (settings.advanced && settings.advanced.length) {
                            settings.autocomplete.advanced = settings.advanced;
                        }

                        $(data.fake_input).dnnAutocomplete(settings.autocomplete_url, settings.autocomplete);
                        $(data.fake_input).bind('result', data, function (event, tag) {
                            if (tag) {
                                var tagslist = $(event.data.real_input).val().split(delimiter[id]);
                                if (tagslist[0] == '') {
                                    tagslist = new Array();
                                }
                                if (event.data.maxTags <= tagslist.length) {
                                    if (event.data.onErrorMoreThanMaxTags)
                                        triggerOnError(event.data.onErrorMoreThanMaxTags);
                                    $(data.fake_input).val('');
                                }
                                else
                                    $(event.data.real_input).dnnAddTag(tag, { focus: true, unique: (settings.unique) });
                            }
                        });
                    }
                } else {
                    // if a user tabs out of the field, create a new tag
                    // this is only available if autocomplete is not used.
                    $(data.fake_input).bind('blur', data, function (event) {
                        var d = $(this).attr('data-default');
                        var tagslist = $(event.data.real_input).val().split(delimiter[id]);
                        if (tagslist[0] == '') {
                            tagslist = new Array();
                        }
                        if ($(event.data.fake_input).val() != '' && $(event.data.fake_input).val() != d) {
                            if (event.data.minChars > $(event.data.fake_input).val().length) {
                                if (event.data.onErrorLessThanMinChars)
                                    triggerOnError(event.data.onErrorLessThanMinChars);
                                $(data.fake_input).val('');
                            }
                            else if (event.data.maxChars < $(event.data.fake_input).val().length) {
                                if (event.data.onErrorMoreThanMaxChars)
                                    triggerOnError(event.data.onErrorMoreThanMaxChars);
                                $(data.fake_input).val('');
                            }
                            else if (event.data.maxTags <= tagslist.length) {
                                if (event.data.onErrorMoreThanMaxTags)
                                    triggerOnError(event.data.onErrorMoreThanMaxTags);
                                $(data.fake_input).val('');
                            }
                            else{
								var tags = $(event.data.fake_input).val().split(delimiter[id]);
								for(var i = 0; i < tags.length; i++){
									$(event.data.real_input).dnnAddTag(tags[i], { focus: true, unique: (settings.unique) });
								}
                            }
                            $(event.data.fake_input).dnnResetAutosize(settings);
                        }

                        return false;
                    });

                }

                function tagItems(data, event) {
                        var tagslist = $(event.data.real_input).val().split(delimiter[id]);
                        if (tagslist[0] == '') {
                            tagslist = new Array();
                        }
                        if (event.data.minChars > $(event.data.fake_input).val().length) {
                            if (event.data.onErrorLessThanMinChars)
                                triggerOnError(event.data.onErrorLessThanMinChars);
                            $(data.fake_input).val('');
                        }
                        else if (event.data.maxChars < $(event.data.fake_input).val().length) {
                            if (event.data.onErrorMoreThanMaxChars)
                                triggerOnError(event.data.onErrorMoreThanMaxChars);
                            $(data.fake_input).val('');
                        }
                        else if (event.data.maxTags <= tagslist.length) {
                            if (event.data.onErrorMoreThanMaxTags)
                                triggerOnError(event.data.onErrorMoreThanMaxTags);
                            $(data.fake_input).val('');
                        }
                        else {
                            var tags = $(event.data.fake_input).val().split(delimiter[id]);
                            for (var i = 0; i < tags.length; i++) {
                                $(event.data.real_input).dnnAddTag(tags[i], { focus: true, unique: (settings.unique) });
                            }
                        }

                        $(event.data.fake_input).dnnResetAutosize(settings);
                        return false;
                }

                var clickedOnAutoComplete = false;

                $(document).mousedown(function (e) {
                    if ($(e.target).hasClass("dnn_acSelect") || $(e.target).parent().hasClass('dnn_acSelect')) {
                        clickedOnAutoComplete = true;
                    }
                });

                var tagTooLongErrMsg = $('<span class="dnnFormError dnnFormMessage">' + String.format(settings.moreThanMaxCharsErrorText, settings.maxChars) + '</span>');
                // if user types a comma, create a new tag
                $(data.fake_input).bind('keypress keydown blur', data, function (event) {
                    if ($(this).val() === "" || clickedOnAutoComplete) {
                        return;
                    }
                    var currValLength = $(this).val().length;
                    if ((currValLength >= settings.maxChars) && !(event.which == event.data.delimiter.charCodeAt(0) || event.which == 13 || event.which == 9)) {
                        tagTooLongErrMsg.insertAfter($(this)).show().delay(1500).fadeOut(1000);
                    }
                    if (event.which == event.data.delimiter.charCodeAt(0) || event.which == 13 || event.which == 9 || event.type == "blur" || event.which == 1548 || event.which == 1563) {
                        event.preventDefault();
                        if (!clickedOnAutoComplete) {
                            tagItems(data, event);
                        }
                        clickedOnAutoComplete = false;
                    } else if (event.data.autosize) {
                        $(event.data.fake_input).dnnDoAutosize(settings);
                    }
                    return true;
                });
                //Delete last tag on backspace
                data.removeWithBackspace && $(data.fake_input).bind('keydown', function (event) {
                    if (event.keyCode == 8 && $(this).val() == '') {
                        event.preventDefault();
                        var lastTag = $(this).closest('.dnnTagsInput').find('.tag:last').text();
                        var lastTagId = $(this).attr('id').replace(/_tag$/, '');
                        lastTag = lastTag.replace(/[\s]+$/, '');
                        $('#' + lastTagId).dnnRemoveTag(escape(lastTag));
                        $(this).trigger('focus');
                    }
                });
                $(data.fake_input).blur();

                //Removes the not_valid class when user changes the value of the fake input
                if (data.unique) {
                    $(data.fake_input).keydown(function (event) {
                        if (event.keyCode == 8 || String.fromCharCode(event.which).match(/\w+|[áéíóúÁÉÍÓÚñÑ,/]+/)) {
                            $(this).removeClass('dnnTagsInvalid');
                        }
                    });
                }

            } // if settings.interactive
            return this;
        });
        return this;
    };

    $.fn.dnnTagsInput.updateTagsField = function (obj, tagslist) {
        var id = $(obj).attr('id');
        $(obj).val(tagslist.join(delimiter[id]));
    };

    $.fn.dnnTagsInput.importTags = function (obj, val) {
        $(obj).val('');
        var id = $(obj).attr('id');
        var tags = val.split(delimiter[id]);
        for (var i = 0; i < tags.length; i++) {
            $(obj).dnnAddTag(tags[i], { focus: false, callback: false });
        }
        if (tagsCallbacks[id] && tagsCallbacks[id]['onChange']) {
            var f = tagsCallbacks[id]['onChange'];
            f.call(obj, obj, tags[i]);
        }
    };

    $.fn.dnnPlaceholder = function (options) {
	    options = $.extend({}, {
	    	cssClass: 'dnnPlaceholder',
			color: []
	    }, options);

	    this.each(function () {
		    var $this = $(this);
			var instance = $this.data('dnnPlaceHolder');
			if (instance) return true;
			$this.data('dnnPlaceHolder', true);

			var placeholderSupported = ('placeholder' in $this[0]);
            if (placeholderSupported)
                $this.attr('placeholder', $this.attr('data-default'));
            else {
            	var $fakeInput = $('<input type="text" />')
					.attr('class', $this.attr('class'))
					.attr('style', $this.attr('style'))
					.val($this.attr('data-default'));

            	$this.hide().after($fakeInput);
				if (options.color.length === 2) {
					$fakeInput.css('color', options.color[1]);
					$this.css('color', options.color[0]);
				} else {
					$fakeInput.addClass(options.cssClass);
				}


	            $fakeInput.on('focus', function(event) {
		            $fakeInput.hide();
		            $this.show().focus();
	            });

				$this.on('blur', function (event) {
					var d = $this.attr('data-default');
					if ($this.val() === '') {
						$this.hide();
						$fakeInput.show();
					}
				});

				var events = $._data(this, 'events')['blur'];
				var first = events.pop();
				events.splice(0, 0, first);
            }

		    return true;
	    });

		return this;
	};
})(jQuery);

(function ($) {
    // dnnForm customised client side validation
    $.fn.toggleErrorMessage = function (options) {
        var defaultOptions = {
            errorMessage: "Error message",
            errorCls: "dnnFormError",
            show: true,
            removeErrorMessage: true
        };

        options = $.extend(defaultOptions, options);

        return this.each(function () {
            var dnnFormItem = $(this).closest('.dnnFormItem');
            if (options.show) {
                var errorSpan = dnnFormItem.find('span.dnnFormMessage.' + options.errorCls);
                if (errorSpan.length) {
                    errorSpan.html(options.errorMessage);
                } else {
                    errorSpan = $('<span class="dnnFormMessage ' + options.errorCls + '">' + options.errorMessage + '</span>');
                    dnnFormItem.append(errorSpan);
                }

                if (this.tagName.toLowerCase() == 'div') {
                    // customised controls
                    if ($(this).hasClass('RadComboBox')) {
                        // RadComboBox
                        $(this).addClass('dnnError');
                    }
                }
                else {
                    if ($(this).parent().hasClass('RadPicker')) {
                        // RadDate Picker
                        $(this).parent().find('input.riTextBox').css('border', '1px solid red');
                    }
                    else if ($(this).hasClass('dnnSpinnerInput')) {
                        // Spinner
                        $(this).parent().css('border', '1px solid red');
                    }
                    else {
                        // normal ctrl
                        $(this).css('border', '1px solid red');
                    }
                }
            }
            else {
                if (options.removeErrorMessage)
                    dnnFormItem.find('span.' + options.errorCls).remove();
                else
                    dnnFormItem.find('span.' + options.errorCls).hide();

                if (this.tagName.toLowerCase() == 'div') {
                    // customised controls
                    if ($(this).hasClass('RadComboBox')) {
                        // RadComboBox
                        $(this).removeClass('dnnError');

                    }
                }
                else {
                    if ($(this).hasClass('dnnSpinnerInput')) {
                        // Spinner
                        $(this).parent().css('border', '1px solid #ccc');
                    }
                    else {
                        // normal ctrl
                        $(this).css('border', '1px solid #ccc');
                    }
                }
            }
        });
    };
    $.fn.dnnFormSubmit = function (options) {
        var defaultOptions = {
            validates: []
        };

        options = $.extend(defaultOptions, options);

        return this.each(function () {
            $(this).click(function () {
                var formValidate = true;
                for (var i = 0; i < options.validates.length; i++) {
                    var ele = $('#' + options.validates[i].ele);
                    var func = options.validates[i].func;
                    if (ele.length) {
                        var eleVal = ele.val();
                        var eleError = func.call(ele.get(0), eleVal);
                        if (eleError) {
                            ele.toggleErrorMessage({ errorMessage: eleError, show: true });
                            formValidate = false;
                        }
                        else {
                            ele.toggleErrorMessage({ show: false });
                        }

                        //ele focus then remove error info
                        var hideErrorInfo = function () {
                            $(this).toggleErrorMessage({ show: false });
                        };

                        ele.unbind('focus', hideErrorInfo).bind('focus', hideErrorInfo);
                    }
                }

                return formValidate;
            });
        });
    };

    // fix telerik custom datepicker popup arrow position       
    $.dnnRadPickerHack = function () {
        //when click this icon, hide error info
        var hideErrorInfo = function () {
            $(this).toggleErrorMessage({ show: false, removeErrorMessage: false });
        };
        var dnnRadPickerPopupFix = function () {
            if ($.support.cssFloat) {
                var id = $(this).attr('id');
                var popupId = id.replace('popupButton', 'calendar_wrapper');
                var popupElement = $('#' + popupId);
                var wrapperId = id.replace('popupButton', 'wrapper');
                var wrapperElement = $('#' + wrapperId);

                var popupElementTop = popupElement.parent().position().top;
                var wrapperElementTop = wrapperElement.offset().top;
                var popupTbl = popupElement.find('.RadCalendar_Default');
                var nextEle = popupTbl.next();
                if (nextEle.hasClass('RadCalendar_Default_PopupArrow_Down') || nextEle.hasClass('RadCalendar_Default_PopupArrow_Up'))
                    nextEle.remove();

                if (popupElementTop < wrapperElementTop) { // popup above the calendar ctrl, so show arrow down
                    popupTbl.after('<div class="RadCalendar_Default_PopupArrow_Down"></div>');
                }
                else { // popup below the calendar ctrl, so show arrow up
                    popupTbl.after('<div class="RadCalendar_Default_PopupArrow_Up"></div>');
                }
            }

            $(this).toggleErrorMessage({ show: false, removeErrorMessage: false });
        };
        $('.RadPicker_Default a.rcCalPopup').unbind('click', dnnRadPickerPopupFix).bind('click', dnnRadPickerPopupFix);
        $('.RadPicker_Default .riTextBox').unbind('focus', hideErrorInfo).bind('focus', hideErrorInfo);
    };

    // remove combobox inline style
    $.dnnComboBoxLoaded = function (sender) {
        if (sender.constructor.__typeName == "Telerik.Web.UI.RadComboBox") {
            $(sender._inputDomElement).closest(".RadComboBox").removeAttr("style");
        }
    };

    //fix combobox hide error info
    $.dnnComboBoxHack = function (sender) {
        $(('#' + sender._clientStateFieldID).replace('_ClientState', '')).toggleErrorMessage({ show: false, removeErrorMessage: false });
    };

    //fix combobox scroll
    $.dnnComboBoxScroll = function (sender) {
        if ($.support.cssFloat) {
            var container = $(('#' + sender._clientStateFieldID + ' .rcbScroll').replace('ClientState', 'DropDown'));
            if (container.data('scrollPane')) {
                container.data('scrollPane').data('jsp').reinitialise();
            } else {
                container.data('scrollPane', container.jScrollPane());
            }
        }
    };

    $.dnnComboBoxItemRequested = function (sender) {
        setTimeout(function() {
            var container = $(('#' + sender._clientStateFieldID + ' .rcbScroll').replace('ClientState', 'DropDown'));
            if (container.data('scrollPane')) {
                container.data('scrollPane').data('jsp').reinitialise();
            }
        }, 0);
    };

    // fix grid issues 
    $.dnnGridCreated = function (sender) {
        var clientId = sender.ClientID;
        var $grid = $('#' + clientId);
        $('input.rgSortDesc, input.rgSortAsc', $grid).click(function () {
            var href = $(this).parent().find('a').get(0).href;
            window.location = href;
            return false;
        });

        if ($grid.hasClass('dnnTooltipGrid')) {
            $grid.dnnHelperTipDestroy();
            $('.rgRow, .rgAltRow', $grid).each(function () {
                var info = "Here is some text will show up and explian more about this information";
                $(this).dnnHelperTip({ helpContent: info, holderId: clientId });
            });
        }

        var grid = $find(clientId);

        // while using customised checkbox - remove onclick event then attach onchange
        var headerCheck = $('.rgCheck', $grid);
        if (headerCheck.length) {
            headerCheck.each(function () {
                var checkbox = $(this).find('input[type="checkbox"]').get(0);
                var onclick = checkbox.onclick;
                checkbox.onchange = onclick;
                checkbox.onclick = null;
            });

            // when use customised scrollbar and customised checkbox, the row cannot be correctly selected
            $('.rgDataDiv input[type="checkbox"]', $grid).change(function () {
                var masterTable = grid.get_masterTableView();
                var rowIndex = $(this).closest('tr').get(0).rowIndex;
                var checked = this.checked;
                if (checked)
                    masterTable.selectItem(rowIndex);
                else
                    masterTable.deselectItem(rowIndex);
            });
        }

        // initialize dnnGrid customised scrollbar
        $('.rgDataDiv').each(function () {
            var $this = $(this);
            var ele = $this.get(0);
            ele.scrollPane = $this.jScrollPane();
            var api = ele.scrollPane.data('jsp');
            var throttleTimeout;
            $(window).bind(
                'resize',
                function () {
                    if (!$.support.cssFloat) {
                        if (throttleTimeout) {
                            clearTimeout(throttleTimeout);
                            throttleTimeout = null;
                        }
                        throttleTimeout = setTimeout(
                            function () {
                                api.reinitialise();
                                throttleTimeout = null;
                            },
                            50
                        );
                    } else {
                        api.reinitialise();
                    }
                }
            );
            if (window.__rgDataDivScrollTopPersistArray && window.__rgDataDivScrollTopPersistArray.length) {
                var y = window.__rgDataDivScrollTopPersistArray.pop();
                api.scrollToY(y);
            }
        });
    };
})(jQuery);

(function ($) {
    var types = ['DOMMouseScroll', 'mousewheel'];
    if ($.event.fixHooks) {
        for (var i = types.length; i;) {
            $.event.fixHooks[types[--i]] = $.event.mouseHooks;
        }
    }
    $.event.special.mousewheel = {
        setup: function () {
            if (this.addEventListener) {
                for (var i = types.length; i;) {
                    this.addEventListener(types[--i], handler, false);
                }
            } else {
                this.onmousewheel = handler;
            }
        },

        teardown: function () {
            if (this.removeEventListener) {
                for (var i = types.length; i;) {
                    this.removeEventListener(types[--i], handler, false);
                }
            } else {
                this.onmousewheel = null;
            }
        }
    };

    $.fn.extend({
        mousewheel: function (fn) {
            return fn ? this.bind("mousewheel", fn) : this.trigger("mousewheel");
        },

        unmousewheel: function (fn) {
            return this.unbind("mousewheel", fn);
        }
    });

    function handler(event) {
        var orgEvent = event || window.event,
            args = [].slice.call(arguments, 1),
            delta = 0,
            deltaX = 0,
            deltaY = 0;
        event = $.event.fix(orgEvent);
        event.type = "mousewheel";

        // Old school scrollwheel delta
        if (orgEvent.wheelDelta) { delta = orgEvent.wheelDelta / 120; }
        if (orgEvent.detail) { delta = -orgEvent.detail / 3; }

        // New school multidimensional scroll (touchpads) deltas
        deltaY = delta;

        // Gecko
        if (orgEvent.axis !== undefined && orgEvent.axis === orgEvent.HORIZONTAL_AXIS) {
            deltaY = 0;
            deltaX = -1 * delta;
        }

        // Webkit
        if (orgEvent.wheelDeltaY !== undefined) { deltaY = orgEvent.wheelDeltaY / 120; }
        if (orgEvent.wheelDeltaX !== undefined) { deltaX = -1 * orgEvent.wheelDeltaX / 120; }

        // Add event and delta to the front of the arguments
        args.unshift(event, delta, deltaX, deltaY);
        return ($.event.dispatch || $.event.handle).apply(this, args);
    }

})(jQuery);

(function ($) {
    $.fn.dnnFileInput = function (options) {
        var opts = $.extend({}, $.fn.dnnFileInput.defaultOptions, options);

        return this.each(function () {
            var $ctrl = $(this);
            if ($ctrl.hasClass('normalFileUpload')) return;

            if (this.wrapper)
                return;

            //ignore decoration for elements in rad control.
            if ($ctrl.parents().hasClass("RadUpload"))
                return;

            // if this.wrapper is undefined, then we check if parent node is a wrapper
            if (this.parentNode && this.parentNode.tagName.toLowerCase() == 'span' && $ctrl.parent().hasClass('dnnInputFileWrapper')) {
                return;
            }

            this.wrapper = $("<span class='dnnInputFileWrapper " + opts.buttonClass + "'></span>");
            var text = $ctrl.data('text');
            text = text || 'Choose File';
            this.wrapper.text(text);
            $ctrl.wrap(this.wrapper);
            $ctrl.data("wrapper", $ctrl.parent());

            if (opts.showSelectedFileNameAsButtonText) {
                $ctrl.change(function () {
                    var val = $(this).val();
                    if (val != '') {
                        var lastIdx = val.lastIndexOf('\\') + 1;
                        val = val.substring(lastIdx, val.length);
                    } else {
                        val = text;
                    }
                    $(this).data("wrapper").get(0).childNodes[0].nodeValue = val;
                });
            }
        });
    };

    $.fn.dnnFileInput.defaultOptions = {
        buttonClass: 'dnnSecondaryAction',
        showSelectedFileNameAsButtonText: true
    };
})(jQuery);

(function ($) {
    var supportAjaxUpload = function () {
        var xhr = new XMLHttpRequest;
        return !!(xhr && ('upload' in xhr) && ('onprogress' in xhr.upload));
    };
    $.fn.dnnFileUpload = function (settings) {
        return this.each(function () {
            // set scope and settings, service
            var scope = $(this).attr('id');
            window.dnn.dnnFileUpload.setSettings(scope, settings);
            var service = $.dnnSF();

            // hide progress
            $('#' + settings.progressBarId).parent().hide();
            // detect draggable support or not
            var droppableSpan = $('#' + settings.dropZoneId + '>span');
            if ('draggable' in document.createElement('span')) {
                droppableSpan.show();
            }
            else {
                droppableSpan.hide();
            }

            // set file upload
            var url = service.getServiceRoot('internalservices') + 'fileupload/postfile';
            if (!supportAjaxUpload()) {
                var antiForgeryToken = $('input[name="__RequestVerificationToken"]').val();
                url += '?__RequestVerificationToken=' + antiForgeryToken;
            }

            $('#' + scope + ' input[type="file"]').fileupload({
                url: url,
                beforeSend: service.setModuleHeaders,
                dropZone: $('#' + settings.dropZoneId),
                replaceFileInput: false,
                submit: function (e, data) {
                    data.formData = { folder: settings.folder, filter: settings.fileFilter, overwrite: 'true' };
                    return true;
                },
                progressall: function (e, data) {
                    var progress = parseInt(data.loaded / data.total * 100, 10);
                    if (progress < 100) {
                        $('#' + settings.progressBarId).parent().show();
                        $('#' + settings.progressBarId + '>div').css('width', progress + '%');
                    }
                    else
                        $('#' + settings.progressBarId).parent().hide();
                },
                done: function (e, data) {
                    $('#' + settings.progressBarId).parent().hide();
                    var img = new Image();
                    $(img).load(function () {
                        $('#' + settings.dropZoneId + ' img').remove();
                        $(img).css({ 'max-width': 180, 'max-height': 150 }).insertBefore($('#' + settings.dropZoneId + ' span'));
                    });
                    var src;
                    if (data.dataType && typeof(data.result) == "object" && data.result.length) {
                        data.result = JSON.parse(data.result.text());
                    } else {
                        data.result = JSON.parse(data.result);
                    }
                    var testContent = $('<pre>' + data.result.FilePath + '</pre>');
                    if (testContent.length) {
                        src = testContent.text();
                    }
                    else
                        src = data.result;

                    if (src && $.trim(src)) {
                        img.src = src;
                        var fileName = data.result.FilePath.replace('\\', '/');
                        if (fileName.indexOf('/') > -1) {
                            fileName = fileName.split('/')[fileName.split('/').length - 1];
                        }
                        
                        dnn[settings.filesComboId].refresh(dnn[settings.foldersComboId].selectedItem().key);
                        dnn[settings.filesComboId].selectedItem({ key: data.result.FileId, value: fileName});
                    }
                },
                fail: function (e, data) {
                    $('#' + settings.progressBarId).parent().hide();
                    var resp = JSON.parse(data.jqXHR.responseText);
                    alert(resp.Message);
                }
            });

            $('#' + scope + ' input[name=uploadFileButton]').click(function() {
                var instance = dnn[settings.fileUploadId];
                
                var options = instance.options;
                if (dnn[settings.foldersComboId].selectedItem() != null) {
                    instance.options.folderPicker.initialState.selectedItem = dnn[settings.foldersComboId].selectedItem();
                    instance.options.folderPath = window.dnn.dnnFileUpload.getSelectedPath(dnn[settings.foldersComboId]);
                }

                instance.show(options);
                
                window.dnn.dnnFileUpload.updateExpandPath(dnn[settings.foldersComboId], instance._panel._folderPicker.id());
                
                instance._panel.$element.on("onfileuploadcomplete", function (event, data) {
                    if (typeof data == "string") {
						// for modern browsers
                        data = JSON.parse(data);
                    }else{
						// for IE8-9						
						var b = data[0];
						data = JSON.parse(b.body.innerText);
					}
                    if (data && data.fileId) {
                        var folderPicker = instance._panel._folderPicker;
                        dnn[settings.foldersComboId].selectedItem(folderPicker.selectedItem());
                        window.dnn.dnnFileUpload.Folders_Changed(dnn[settings.foldersComboId].selectedItem(), dnn[settings.foldersComboId].$element);
                        window.dnn.dnnFileUpload.updateExpandPath(folderPicker, settings.foldersComboId);
                        
                        dnn[settings.filesComboId].refresh(dnn[settings.foldersComboId].selectedItem().key);
                        dnn[settings.filesComboId].selectedItem({ key: data.fileId.toString(), value: data.fileName });
                        window.dnn.dnnFileUpload.Files_Changed(dnn[settings.filesComboId].selectedItem(), dnn[settings.filesComboId].$element);
                    }
                });
            });

            // set initial thumb image
            setTimeout(function () {
                dnn[settings.filesComboId].options.services.parameters.parentId = settings.selectedFolderId;
                var filesCombo = dnn[settings.filesComboId];
                var selectedFileId = filesCombo.selectedItem() ? filesCombo.selectedItem().key : null;
                url = service.getServiceRoot('internalservices') + 'fileupload/loadimage';
             	var fileId  = selectedFileId ? parseInt(selectedFileId) : 0;
                if (fileId > 0) {
                    $.ajax({
                        url: url,
                        type: 'GET',
                        data: { fileId: selectedFileId },
                        success: function (d) {
                            var img = new Image();
                            $(img).load(function () {
                                $('#' + settings.dropZoneId + ' img').remove();
                                $(img).css({ 'max-width': 180, 'max-height': 150 }).insertBefore($('#' + settings.dropZoneId + ' span'));
                            });
                            img.src = d;
                        },
                        error: function () {
                        }
                    });
                }
            }, 500);
        });
    };

    if (typeof window.dnn === 'undefined') window.dnn = {};
    window.dnn.dnnFileUpload = window.dnn.dnnFileUpload || {};
    window.dnn.dnnFileUpload.settings = {};
    window.dnn.dnnFileUpload.setSettings = function (scope, settings) {
        window.dnn.dnnFileUpload.settings[scope] = settings;
    };
    window.dnn.dnnFileUpload.getSettings = function (sender) {
        var scope = sender.closest('.dnnFileUploadScope').attr('id');
        return window.dnn.dnnFileUpload.settings[scope];
    };
    window.dnn.dnnFileUpload.Folders_Changed = function (node, sender) {
        var settings = window.dnn.dnnFileUpload.getSettings(sender);
        if (!settings) return false;

        if (node) {
            //get the selected folder path
            var selectedPathArray = dnn[settings.foldersComboId].selectedPath();
            if (selectedPathArray.length === 0 && settings.folder) {
                return settings.folder;
            }
            var selectedPath = "";
            if (selectedPathArray.length > 1) {
                for (var i = 1, size = selectedPathArray.length; i < size; i++) {
                    selectedPath += selectedPathArray[i].name + "/";
                }
            } 
            settings.folder = selectedPath;

            dnn[settings.filesComboId].refresh(node.key);
            dnn[settings.filesComboId].selectedItem(null);
            window.dnn.dnnFileUpload.Files_Changed({ key: null }, $('#' + settings.filesComboId));
        }
    };
    window.dnn.dnnFileUpload.Files_Changed = function (node, sender) {
        var settings = window.dnn.dnnFileUpload.getSettings(sender);
        if (!settings) return;

        if (node) {
            var fileId = node.key;
            var service = $.dnnSF();
            var url = service.getServiceRoot('internalservices') + 'fileupload/loadimage';
            if (fileId) {
                $.ajax({
                    url: url,
                    type: 'GET',
                    data: { fileId: fileId },
                    success: function (d) {
                        var img = new Image();
                        $(img).load(function () {
                            $('#' + settings.dropZoneId + ' img').remove();
                            $(img).css({ 'max-width': 180, 'max-height': 150 }).insertBefore($('#' + settings.dropZoneId + ' span'));
                        });
                        img.src = d;
                    },
                    error: function () {
                    }
                });
            }
            else
                $('#' + settings.dropZoneId + ' img').remove();
        }
    };
    window.dnn.dnnFileUpload.updateExpandPath = function(dropDownList, targetId) {
        //set expand path
        var selectedPaths = dropDownList.selectedPath();
        var expandPath = "";
        if (selectedPaths.length == 0) { //which means the tree view hasn't opened.
            expandPath = dnn.getVar(dropDownList.id() + '_expandPath');
        }
        else if (selectedPaths.length > 1) {
            for (var i = 0; i < selectedPaths.length - 1; i++) {
                if (expandPath == "") {
                    expandPath = selectedPaths[i].id;
                } else {
                    expandPath = expandPath + "," + selectedPaths[i].id;
                }
            }
        }
        
        if (expandPath != "") {
            dnn.setVar(targetId + '_expandPath', expandPath);
        }
    };
    window.dnn.dnnFileUpload.getSelectedPath = function(dropDownList) {
        var selectedPathArray = dropDownList.selectedPath();
        var settings = window.dnn.dnnFileUpload.getSettings(dropDownList.$element);
        if (selectedPathArray.length === 0 && settings.folder) {
            return settings.folder;
        }
        var selectedPath = "";
        if (selectedPathArray.length > 1) {
            for (var i = 1, size = selectedPathArray.length; i < size; i++) {
                selectedPath += selectedPathArray[i].name + "/";
            }
        }
        return selectedPath;
    };
})(jQuery);

(function ($) {
    /* BELOW jscrollPane code */
    $.fn.jScrollPane = function (settings) {
        // JScrollPane "class" - public methods are available through $('selector').data('jsp')
        function JScrollPane(elem, s) {
            var settings, jsp = this, pane, paneWidth, paneHeight, container, contentWidth, contentHeight,
				percentInViewH, percentInViewV, isScrollableV, isScrollableH, verticalDrag, dragMaxY,
				verticalDragPosition, horizontalDrag, dragMaxX, horizontalDragPosition,
				verticalBar, verticalTrack, scrollbarWidth, verticalTrackHeight, verticalDragHeight, arrowUp, arrowDown,
				horizontalBar, horizontalTrack, horizontalTrackWidth, horizontalDragWidth, arrowLeft, arrowRight,
				reinitialiseInterval, originalPadding, originalPaddingTotalWidth, previousContentWidth,
				wasAtTop = true, wasAtLeft = true, wasAtBottom = false, wasAtRight = false,
				originalElement = elem.clone(false, false).empty(),
				mwEvent = $.fn.mwheelIntent ? 'mwheelIntent.jsp' : 'mousewheel.jsp';

            originalPadding = elem.css('paddingTop') + ' ' +
								elem.css('paddingRight') + ' ' +
								elem.css('paddingBottom') + ' ' +
								elem.css('paddingLeft');
            originalPaddingTotalWidth = (parseInt(elem.css('paddingLeft'), 10) || 0) +
										(parseInt(elem.css('paddingRight'), 10) || 0);

            function initialise(s) {

                var /*firstChild, lastChild, */isMaintainingPositon, lastContentX, lastContentY,
						hasContainingSpaceChanged, originalScrollTop, originalScrollLeft,
						maintainAtBottom = false, maintainAtRight = false;

                settings = s;

                if (pane === undefined) {
                    originalScrollTop = elem.scrollTop();
                    originalScrollLeft = elem.scrollLeft();

                    elem.css(
						{
						    overflow: 'hidden',
						    padding: 0
						}
					);
                    // TODO: Deal with where width/ height is 0 as it probably means the element is hidden and we should
                    // come back to it later and check once it is unhidden...
                    paneWidth = elem.innerWidth() + originalPaddingTotalWidth;
                    paneHeight = elem.innerHeight();

                    elem.width(paneWidth);

                    pane = $('<div class="jspPane" />').css('padding', originalPadding).append(elem.children());
                    container = $('<div class="jspContainer" />')
						.css({
						    'width': paneWidth + 'px',
						    'height': paneHeight + 'px'
						}
					).append(pane).appendTo(elem);

                    /*
					// Move any margins from the first and last children up to the container so they can still
					// collapse with neighbouring elements as they would before jScrollPane 
					firstChild = pane.find(':first-child');
					lastChild = pane.find(':last-child');
					elem.css(
						{
							'margin-top': firstChild.css('margin-top'),
							'margin-bottom': lastChild.css('margin-bottom')
						}
					);
					firstChild.css('margin-top', 0);
					lastChild.css('margin-bottom', 0);
					*/
                } else {
                    elem.css('width', '');

                    maintainAtBottom = settings.stickToBottom && isCloseToBottom();
                    maintainAtRight = settings.stickToRight && isCloseToRight();

                    hasContainingSpaceChanged = elem.innerWidth() + originalPaddingTotalWidth != paneWidth || elem.outerHeight() != paneHeight;

                    if (hasContainingSpaceChanged) {
                        paneWidth = elem.innerWidth() + originalPaddingTotalWidth;
                        paneHeight = elem.innerHeight();
                        container.css({
                            width: paneWidth + 'px',
                            height: paneHeight + 'px'
                        });
                    }

                    // If nothing changed since last check...
                    if (!hasContainingSpaceChanged && previousContentWidth == contentWidth && pane.outerHeight() == contentHeight) {
                        elem.width(paneWidth);
                        return;
                    }
                    previousContentWidth = contentWidth;

                    pane.css('width', '');
                    elem.width(paneWidth);

                    container.find('>.jspVerticalBar,>.jspHorizontalBar').remove().end();
                }

                pane.css('overflow', 'auto');
                if (s.contentWidth) {
                    contentWidth = s.contentWidth;
                } else {
                    contentWidth = pane[0].scrollWidth;
                }
                contentHeight = pane[0].scrollHeight;
                pane.css('overflow', '');

                percentInViewH = contentWidth / paneWidth;
                percentInViewV = contentHeight / paneHeight;
                isScrollableV = percentInViewV > 1;

                isScrollableH = percentInViewH > 1;

                if (!(isScrollableH || isScrollableV)) {
                    elem.removeClass('jspScrollable');
                    pane.css({
                        top: 0,
                        width: container.width() - originalPaddingTotalWidth
                    });
                    removeMousewheel();
                    removeFocusHandler();
                    removeKeyboardNav();
                    removeClickOnTrack();
                } else {
                    elem.addClass('jspScrollable');

                    isMaintainingPositon = settings.maintainPosition && (verticalDragPosition || horizontalDragPosition);
                    if (isMaintainingPositon) {
                        lastContentX = contentPositionX();
                        lastContentY = contentPositionY();
                    }

                    initialiseVerticalScroll();
                    initialiseHorizontalScroll();
                    resizeScrollbars();

                    if (isMaintainingPositon) {
                        scrollToX(maintainAtRight ? (contentWidth - paneWidth) : lastContentX, false);
                        scrollToY(maintainAtBottom ? (contentHeight - paneHeight) : lastContentY, false);
                    }

                    initFocusHandler();
                    initMousewheel();
                    initTouch();

                    if (settings.enableKeyboardNavigation) {
                        initKeyboardNav();
                    }
                    if (settings.clickOnTrack) {
                        initClickOnTrack();
                    }

                    observeHash();
                    if (settings.hijackInternalLinks) {
                        hijackInternalLinks();
                    }
                }

                if (settings.autoReinitialise && !reinitialiseInterval) {
                    reinitialiseInterval = setInterval(
						function () {
						    initialise(settings);
						},
						settings.autoReinitialiseDelay
					);
                } else if (!settings.autoReinitialise && reinitialiseInterval) {
                    clearInterval(reinitialiseInterval);
                }

                originalScrollTop && elem.scrollTop(0) && scrollToY(originalScrollTop, false);
                originalScrollLeft && elem.scrollLeft(0) && scrollToX(originalScrollLeft, false);

                elem.trigger('jsp-initialised', [isScrollableH || isScrollableV]);
            }

            function initialiseVerticalScroll() {
                if (isScrollableV) {

                    container.append(
						$('<div class="jspVerticalBar" />').append(
							$('<div class="jspCap jspCapTop" />'),
							$('<div class="jspTrack" />').append(
								$('<div class="jspDrag" />').append(
									$('<div class="jspDragTop" />'),
									$('<div class="jspDragBottom" />')
								)
							),
							$('<div class="jspCap jspCapBottom" />')
						)
					);

                    verticalBar = container.find('>.jspVerticalBar');
                    verticalTrack = verticalBar.find('>.jspTrack');
                    verticalDrag = verticalTrack.find('>.jspDrag');

                    if (settings.showArrows) {
                        arrowUp = $('<a class="jspArrow jspArrowUp" />').bind(
							'mousedown.jsp', getArrowScroll(0, -1)
						).bind('click.jsp', nil);
                        arrowDown = $('<a class="jspArrow jspArrowDown" />').bind(
							'mousedown.jsp', getArrowScroll(0, 1)
						).bind('click.jsp', nil);
                        if (settings.arrowScrollOnHover) {
                            arrowUp.bind('mouseover.jsp', getArrowScroll(0, -1, arrowUp));
                            arrowDown.bind('mouseover.jsp', getArrowScroll(0, 1, arrowDown));
                        }

                        appendArrows(verticalTrack, settings.verticalArrowPositions, arrowUp, arrowDown);
                    }

                    verticalTrackHeight = paneHeight;
                    container.find('>.jspVerticalBar>.jspCap:visible,>.jspVerticalBar>.jspArrow').each(
						function () {
						    verticalTrackHeight -= $(this).outerHeight();
						}
					);


                    verticalDrag.hover(
						function () {
						    verticalDrag.addClass('jspHover');
						},
						function () {
						    verticalDrag.removeClass('jspHover');
						}
					).bind(
						'mousedown.jsp',
						function (e) {
						    // Stop IE from allowing text selection
						    $('html').bind('dragstart.jsp selectstart.jsp', nil);

						    verticalDrag.addClass('jspActive');

						    var startY = e.pageY - verticalDrag.position().top;

						    $('html').bind(
								'mousemove.jsp',
								function (e) {
								    positionDragY(e.pageY - startY, false);
								}
							).bind('mouseup.jsp mouseleave.jsp', cancelDrag);
						    return false;
						}
					);
                    sizeVerticalScrollbar();
                }
            }

            function sizeVerticalScrollbar() {
                verticalTrack.height(verticalTrackHeight + 'px');
                verticalDragPosition = 0;
                scrollbarWidth = settings.verticalGutter + verticalTrack.outerWidth();

                // Make the pane thinner to allow for the vertical scrollbar
                pane.width(paneWidth - scrollbarWidth - originalPaddingTotalWidth);

                // Add margin to the left of the pane if scrollbars are on that side (to position
                // the scrollbar on the left or right set it's left or right property in CSS)
                try {
                    if (verticalBar.position().left === 0) {
                        pane.css('margin-left', scrollbarWidth + 'px');
                    }
                } catch (err) {
                }
            }

            function initialiseHorizontalScroll() {
                if (isScrollableH) {

                    container.append(
						$('<div class="jspHorizontalBar" />').append(
							$('<div class="jspCap jspCapLeft" />'),
							$('<div class="jspTrack" />').append(
								$('<div class="jspDrag" />').append(
									$('<div class="jspDragLeft" />'),
									$('<div class="jspDragRight" />')
								)
							),
							$('<div class="jspCap jspCapRight" />')
						)
					);

                    horizontalBar = container.find('>.jspHorizontalBar');
                    horizontalTrack = horizontalBar.find('>.jspTrack');
                    horizontalDrag = horizontalTrack.find('>.jspDrag');

                    if (settings.showArrows) {
                        arrowLeft = $('<a class="jspArrow jspArrowLeft" />').bind(
							'mousedown.jsp', getArrowScroll(-1, 0)
						).bind('click.jsp', nil);
                        arrowRight = $('<a class="jspArrow jspArrowRight" />').bind(
							'mousedown.jsp', getArrowScroll(1, 0)
						).bind('click.jsp', nil);
                        if (settings.arrowScrollOnHover) {
                            arrowLeft.bind('mouseover.jsp', getArrowScroll(-1, 0, arrowLeft));
                            arrowRight.bind('mouseover.jsp', getArrowScroll(1, 0, arrowRight));
                        }
                        appendArrows(horizontalTrack, settings.horizontalArrowPositions, arrowLeft, arrowRight);
                    }

                    horizontalDrag.hover(
						function () {
						    horizontalDrag.addClass('jspHover');
						},
						function () {
						    horizontalDrag.removeClass('jspHover');
						}
					).bind(
						'mousedown.jsp',
						function (e) {
						    // Stop IE from allowing text selection
						    $('html').bind('dragstart.jsp selectstart.jsp', nil);

						    horizontalDrag.addClass('jspActive');

						    var startX = e.pageX - horizontalDrag.position().left;

						    $('html').bind(
								'mousemove.jsp',
								function (e) {
								    positionDragX(e.pageX - startX, false);
								}
							).bind('mouseup.jsp mouseleave.jsp', cancelDrag);
						    return false;
						}
					);
                    horizontalTrackWidth = container.innerWidth();
                    sizeHorizontalScrollbar();
                }
            }

            function sizeHorizontalScrollbar() {
                container.find('>.jspHorizontalBar>.jspCap:visible,>.jspHorizontalBar>.jspArrow').each(
					function () {
					    horizontalTrackWidth -= $(this).outerWidth();
					}
				);

                horizontalTrack.width(horizontalTrackWidth + 'px');
                horizontalDragPosition = 0;
            }

            function resizeScrollbars() {
                if (isScrollableH && isScrollableV) {
                    var horizontalTrackHeight = horizontalTrack.outerHeight(),
						verticalTrackWidth = verticalTrack.outerWidth();
                    verticalTrackHeight -= horizontalTrackHeight;
                    $(horizontalBar).find('>.jspCap:visible,>.jspArrow').each(
						function () {
						    horizontalTrackWidth += $(this).outerWidth();
						}
					);
                    horizontalTrackWidth -= verticalTrackWidth;
                    paneHeight -= verticalTrackWidth;
                    paneWidth -= horizontalTrackHeight;
                    horizontalTrack.parent().append(
						$('<div class="jspCorner" />').css('width', horizontalTrackHeight + 'px')
					);
                    sizeVerticalScrollbar();
                    sizeHorizontalScrollbar();
                }
                // reflow content
                if (isScrollableH) {
                    pane.width((container.outerWidth() - originalPaddingTotalWidth) + 'px');
                }
                contentHeight = pane.outerHeight();
                percentInViewV = contentHeight / paneHeight;

                if (isScrollableH) {
                    horizontalDragWidth = Math.ceil(1 / percentInViewH * horizontalTrackWidth);
                    if (horizontalDragWidth > settings.horizontalDragMaxWidth) {
                        horizontalDragWidth = settings.horizontalDragMaxWidth;
                    } else if (horizontalDragWidth < settings.horizontalDragMinWidth) {
                        horizontalDragWidth = settings.horizontalDragMinWidth;
                    }
                    horizontalDrag.width(horizontalDragWidth + 'px');
                    dragMaxX = horizontalTrackWidth - horizontalDragWidth;
                    _positionDragX(horizontalDragPosition); // To update the state for the arrow buttons
                }
                if (isScrollableV) {
                    verticalDragHeight = Math.ceil(1 / percentInViewV * verticalTrackHeight);
                    if (verticalDragHeight > settings.verticalDragMaxHeight) {
                        verticalDragHeight = settings.verticalDragMaxHeight;
                    } else if (verticalDragHeight < settings.verticalDragMinHeight) {
                        verticalDragHeight = settings.verticalDragMinHeight;
                    }
                    verticalDrag.height(verticalDragHeight + 'px');
                    dragMaxY = verticalTrackHeight - verticalDragHeight;
                    _positionDragY(verticalDragPosition); // To update the state for the arrow buttons
                }
            }

            function appendArrows(ele, p, a1, a2) {
                var p1 = "before", p2 = "after", aTemp;

                // Sniff for mac... Is there a better way to determine whether the arrows would naturally appear
                // at the top or the bottom of the bar?
                if (p == "os") {
                    p = /Mac/.test(navigator.platform) ? "after" : "split";
                }
                if (p == p1) {
                    p2 = p;
                } else if (p == p2) {
                    p1 = p;
                    aTemp = a1;
                    a1 = a2;
                    a2 = aTemp;
                }

                ele[p1](a1)[p2](a2);
            }

            function getArrowScroll(dirX, dirY, ele) {
                return function () {
                    arrowScroll(dirX, dirY, this, ele);
                    this.blur();
                    return false;
                };
            }

            function arrowScroll(dirX, dirY, arrow, ele) {
                arrow = $(arrow).addClass('jspActive');

                var eve,
					scrollTimeout,
					isFirst = true,
					doScroll = function () {
					    if (dirX !== 0) {
					        jsp.scrollByX(dirX * settings.arrowButtonSpeed);
					    }
					    if (dirY !== 0) {
					        jsp.scrollByY(dirY * settings.arrowButtonSpeed);
					    }
					    scrollTimeout = setTimeout(doScroll, isFirst ? settings.initialDelay : settings.arrowRepeatFreq);
					    isFirst = false;
					};

                doScroll();

                eve = ele ? 'mouseout.jsp' : 'mouseup.jsp';
                ele = ele || $('html');
                ele.bind(
					eve,
					function () {
					    arrow.removeClass('jspActive');
					    scrollTimeout && clearTimeout(scrollTimeout);
					    scrollTimeout = null;
					    ele.unbind(eve);
					}
				);
            }

            function initClickOnTrack() {
                removeClickOnTrack();
                if (isScrollableV) {
                    verticalTrack.bind(
						'mousedown.jsp',
						function (e) {
						    if (e.originalTarget === undefined || e.originalTarget == e.currentTarget) {
						        var clickedTrack = $(this),
									offset = clickedTrack.offset(),
									direction = e.pageY - offset.top - verticalDragPosition,
									scrollTimeout,
									isFirst = true,
									doScroll = function () {
									    var offset = clickedTrack.offset(),
											pos = e.pageY - offset.top - verticalDragHeight / 2,
											contentDragY = paneHeight * settings.scrollPagePercent,
											dragY = dragMaxY * contentDragY / (contentHeight - paneHeight);
									    if (direction < 0) {
									        if (verticalDragPosition - dragY > pos) {
									            jsp.scrollByY(-contentDragY);
									        } else {
									            positionDragY(pos);
									        }
									    } else if (direction > 0) {
									        if (verticalDragPosition + dragY < pos) {
									            jsp.scrollByY(contentDragY);
									        } else {
									            positionDragY(pos);
									        }
									    } else {
									        cancelClick();
									        return;
									    }
									    scrollTimeout = setTimeout(doScroll, isFirst ? settings.initialDelay : settings.trackClickRepeatFreq);
									    isFirst = false;
									},
									cancelClick = function () {
									    scrollTimeout && clearTimeout(scrollTimeout);
									    scrollTimeout = null;
									    $(document).unbind('mouseup.jsp', cancelClick);
									};
						        doScroll();
						        $(document).bind('mouseup.jsp', cancelClick);
						        return false;
						    }
						}
					);
                }

                if (isScrollableH) {
                    horizontalTrack.bind(
						'mousedown.jsp',
						function (e) {
						    if (e.originalTarget === undefined || e.originalTarget == e.currentTarget) {
						        var clickedTrack = $(this),
									offset = clickedTrack.offset(),
									direction = e.pageX - offset.left - horizontalDragPosition,
									scrollTimeout,
									isFirst = true,
									doScroll = function () {
									    var offset = clickedTrack.offset(),
											pos = e.pageX - offset.left - horizontalDragWidth / 2,
											contentDragX = paneWidth * settings.scrollPagePercent,
											dragX = dragMaxX * contentDragX / (contentWidth - paneWidth);
									    if (direction < 0) {
									        if (horizontalDragPosition - dragX > pos) {
									            jsp.scrollByX(-contentDragX);
									        } else {
									            positionDragX(pos);
									        }
									    } else if (direction > 0) {
									        if (horizontalDragPosition + dragX < pos) {
									            jsp.scrollByX(contentDragX);
									        } else {
									            positionDragX(pos);
									        }
									    } else {
									        cancelClick();
									        return;
									    }
									    scrollTimeout = setTimeout(doScroll, isFirst ? settings.initialDelay : settings.trackClickRepeatFreq);
									    isFirst = false;
									},
									cancelClick = function () {
									    scrollTimeout && clearTimeout(scrollTimeout);
									    scrollTimeout = null;
									    $(document).unbind('mouseup.jsp', cancelClick);
									};
						        doScroll();
						        $(document).bind('mouseup.jsp', cancelClick);
						        return false;
						    }
						}
					);
                }
            }

            function removeClickOnTrack() {
                if (horizontalTrack) {
                    horizontalTrack.unbind('mousedown.jsp');
                }
                if (verticalTrack) {
                    verticalTrack.unbind('mousedown.jsp');
                }
            }

            function cancelDrag() {
                $('html').unbind('dragstart.jsp selectstart.jsp mousemove.jsp mouseup.jsp mouseleave.jsp');

                if (verticalDrag) {
                    verticalDrag.removeClass('jspActive');
                }
                if (horizontalDrag) {
                    horizontalDrag.removeClass('jspActive');
                }
            }

            function positionDragY(destY, animate) {
                if (!isScrollableV) {
                    return;
                }
                if (destY < 0) {
                    destY = 0;
                } else if (destY > dragMaxY) {
                    destY = dragMaxY;
                }

                // can't just check if(animate) because false is a valid value that could be passed in...
                if (animate === undefined) {
                    animate = settings.animateScroll;
                }
                if (animate) {
                    jsp.animate(verticalDrag, 'top', destY, _positionDragY);
                } else {
                    verticalDrag.css('top', destY);
                    _positionDragY(destY);
                }

            }

            function _positionDragY(destY) {
                if (destY === undefined) {
                    destY = verticalDrag.position().top;
                }

                container.scrollTop(0);
                verticalDragPosition = destY;

                var isAtTop = verticalDragPosition === 0,
					isAtBottom = verticalDragPosition == dragMaxY,
					percentScrolled = destY / dragMaxY,
					destTop = -percentScrolled * (contentHeight - paneHeight);

                if (wasAtTop != isAtTop || wasAtBottom != isAtBottom) {
                    wasAtTop = isAtTop;
                    wasAtBottom = isAtBottom;
                    elem.trigger('jsp-arrow-change', [wasAtTop, wasAtBottom, wasAtLeft, wasAtRight]);
                }

                updateVerticalArrows(isAtTop, isAtBottom);
                pane.css('top', destTop);
                elem.trigger('jsp-scroll-y', [-destTop, isAtTop, isAtBottom]).trigger('scroll');
            }

            function positionDragX(destX, animate) {
                if (!isScrollableH) {
                    return;
                }
                if (destX < 0) {
                    destX = 0;
                } else if (destX > dragMaxX) {
                    destX = dragMaxX;
                }

                if (animate === undefined) {
                    animate = settings.animateScroll;
                }
                if (animate) {
                    jsp.animate(horizontalDrag, 'left', destX, _positionDragX);
                } else {
                    horizontalDrag.css('left', destX);
                    _positionDragX(destX);
                }
            }

            function _positionDragX(destX) {
                if (destX === undefined) {
                    destX = horizontalDrag.position().left;
                }

                container.scrollTop(0);
                horizontalDragPosition = destX;

                var isAtLeft = horizontalDragPosition === 0,
					isAtRight = horizontalDragPosition == dragMaxX,
					percentScrolled = destX / dragMaxX,
					destLeft = -percentScrolled * (contentWidth - paneWidth);

                if (wasAtLeft != isAtLeft || wasAtRight != isAtRight) {
                    wasAtLeft = isAtLeft;
                    wasAtRight = isAtRight;
                    elem.trigger('jsp-arrow-change', [wasAtTop, wasAtBottom, wasAtLeft, wasAtRight]);
                }

                updateHorizontalArrows(isAtLeft, isAtRight);
                pane.css('left', destLeft);
                elem.trigger('jsp-scroll-x', [-destLeft, isAtLeft, isAtRight]).trigger('scroll');
            }

            function updateVerticalArrows(isAtTop, isAtBottom) {
                if (settings.showArrows) {
                    arrowUp[isAtTop ? 'addClass' : 'removeClass']('jspDisabled');
                    arrowDown[isAtBottom ? 'addClass' : 'removeClass']('jspDisabled');
                }
            }

            function updateHorizontalArrows(isAtLeft, isAtRight) {
                if (settings.showArrows) {
                    arrowLeft[isAtLeft ? 'addClass' : 'removeClass']('jspDisabled');
                    arrowRight[isAtRight ? 'addClass' : 'removeClass']('jspDisabled');
                }
            }

            function scrollToY(destY, animate) {
                var percentScrolled = destY / (contentHeight - paneHeight);
                positionDragY(percentScrolled * dragMaxY, animate);
            }

            function scrollToX(destX, animate) {
                var percentScrolled = destX / (contentWidth - paneWidth);
                positionDragX(percentScrolled * dragMaxX, animate);
            }

            function scrollToElement(ele, stickToTop, animate) {
                var e, eleHeight, eleWidth, eleTop = 0, eleLeft = 0, viewportTop, viewportLeft, maxVisibleEleTop, maxVisibleEleLeft, destY, destX;

                // Legal hash values aren't necessarily legal jQuery selectors so we need to catch any
                // errors from the lookup...
                try {
                    e = $(ele);
                } catch (err) {
                    return;
                }
                eleHeight = e.outerHeight();
                eleWidth = e.outerWidth();

                container.scrollTop(0);
                container.scrollLeft(0);

                // loop through parents adding the offset top of any elements that are relatively positioned between
                // the focused element and the jspPane so we can get the true distance from the top
                // of the focused element to the top of the scrollpane...
                while (!e.is('.jspPane')) {
                    eleTop += e.position().top;
                    eleLeft += e.position().left;
                    e = e.offsetParent();
                    if (/^body|html$/i.test(e[0].nodeName)) {
                        // we ended up too high in the document structure. Quit!
                        return;
                    }
                }

                viewportTop = contentPositionY();
                maxVisibleEleTop = viewportTop + paneHeight;
                if (eleTop < viewportTop || stickToTop) { // element is above viewport
                    destY = eleTop - settings.verticalGutter;
                } else if (eleTop + eleHeight > maxVisibleEleTop) { // element is below viewport
                    destY = eleTop - paneHeight + eleHeight + settings.verticalGutter;
                }
                if (destY) {
                    scrollToY(destY, animate);
                }

                viewportLeft = contentPositionX();
                maxVisibleEleLeft = viewportLeft + paneWidth;
                if (eleLeft < viewportLeft || stickToTop) { // element is to the left of viewport
                    destX = eleLeft - settings.horizontalGutter;
                } else if (eleLeft + eleWidth > maxVisibleEleLeft) { // element is to the right viewport
                    destX = eleLeft - paneWidth + eleWidth + settings.horizontalGutter;
                }
                if (destX) {
                    scrollToX(destX, animate);
                }

            }

            function contentPositionX() {
                return -pane.position().left;
            }

            function contentPositionY() {
                return -pane.position().top;
            }

            function isCloseToBottom() {
                var scrollableHeight = contentHeight - paneHeight;
                return (scrollableHeight > 20) && (scrollableHeight - contentPositionY() < 10);
            }

            function isCloseToRight() {
                var scrollableWidth = contentWidth - paneWidth;
                return (scrollableWidth > 20) && (scrollableWidth - contentPositionX() < 10);
            }

            function initMousewheel() {
                container.unbind(mwEvent).bind(
					mwEvent,
					function (event, delta, deltaX, deltaY) {
					    var dX = horizontalDragPosition, dY = verticalDragPosition;
					    jsp.scrollBy(deltaX * settings.mouseWheelSpeed, -deltaY * settings.mouseWheelSpeed, false);
					    // return true if there was no movement so rest of screen can scroll
					    return dX == horizontalDragPosition && dY == verticalDragPosition;
					}
				);
            }

            function removeMousewheel() {
                container.unbind(mwEvent);
            }

            function nil() {
                return false;
            }

            function initFocusHandler() {
                pane.find(':input,a').unbind('focus.jsp').bind(
					'focus.jsp',
					function (e) {
					    scrollToElement(e.target, false);
					}
				);
            }

            function removeFocusHandler() {
                pane.find(':input,a').unbind('focus.jsp');
            }

            function initKeyboardNav() {
                var keyDown, elementHasScrolled, validParents = [];
                isScrollableH && validParents.push(horizontalBar[0]);
                isScrollableV && validParents.push(verticalBar[0]);

                // IE also focuses elements that don't have tabindex set.
                pane.focus(
					function () {
					    elem.focus();
					}
				);

                elem.attr('tabindex', 0)
					.unbind('keydown.jsp keypress.jsp')
					.bind(
						'keydown.jsp',
						function (e) {
						    if (e.target !== this && !(validParents.length && $(e.target).closest(validParents).length)) {
						        return;
						    }
						    var dX = horizontalDragPosition, dY = verticalDragPosition;
						    switch (e.keyCode) {
						        case 40: // down
						        case 38: // up
						        case 34: // page down
						        case 32: // space
						        case 33: // page up
						        case 39: // right
						        case 37: // left
						            keyDown = e.keyCode;
						            keyDownHandler();
						            break;
						        case 35: // end
						            scrollToY(contentHeight - paneHeight);
						            keyDown = null;
						            break;
						        case 36: // home
						            scrollToY(0);
						            keyDown = null;
						            break;
						    }

						    elementHasScrolled = e.keyCode == keyDown && dX != horizontalDragPosition || dY != verticalDragPosition;
						    return !elementHasScrolled;
						}
					).bind(
						'keypress.jsp', // For FF/ OSX so that we can cancel the repeat key presses if the JSP scrolls...
						function (e) {
						    if (e.keyCode == keyDown) {
						        keyDownHandler();
						    }
						    return !elementHasScrolled;
						}
					);

                if (settings.hideFocus) {
                    elem.css('outline', 'none');
                    if ('hideFocus' in container[0]) {
                        elem.attr('hideFocus', true);
                    }
                } else {
                    elem.css('outline', '');
                    if ('hideFocus' in container[0]) {
                        elem.attr('hideFocus', false);
                    }
                }

                function keyDownHandler() {
                    var dX = horizontalDragPosition, dY = verticalDragPosition;
                    switch (keyDown) {
                        case 40: // down
                            jsp.scrollByY(settings.keyboardSpeed, false);
                            break;
                        case 38: // up
                            jsp.scrollByY(-settings.keyboardSpeed, false);
                            break;
                        case 34: // page down
                        case 32: // space
                            jsp.scrollByY(paneHeight * settings.scrollPagePercent, false);
                            break;
                        case 33: // page up
                            jsp.scrollByY(-paneHeight * settings.scrollPagePercent, false);
                            break;
                        case 39: // right
                            jsp.scrollByX(settings.keyboardSpeed, false);
                            break;
                        case 37: // left
                            jsp.scrollByX(-settings.keyboardSpeed, false);
                            break;
                    }

                    elementHasScrolled = dX != horizontalDragPosition || dY != verticalDragPosition;
                    return elementHasScrolled;
                }
            }

            function removeKeyboardNav() {
                elem.attr('tabindex', '-1')
					.removeAttr('tabindex')
					.unbind('keydown.jsp keypress.jsp');
            }

            function observeHash() {
                if (location.hash && location.hash.length > 1) {
                    var e,
						retryInt,
						hash = escape(location.hash.substr(1)) // hash must be escaped to prevent XSS
                    ;
                    try {
                        e = $('#' + hash + ', a[name="' + hash + '"]');
                    } catch (err) {
                        return;
                    }

                    if (e.length && pane.find(hash)) {
                        // nasty workaround but it appears to take a little while before the hash has done its thing
                        // to the rendered page so we just wait until the container's scrollTop has been messed up.
                        if (container.scrollTop() === 0) {
                            retryInt = setInterval(
								function () {
								    if (container.scrollTop() > 0) {
								        scrollToElement(e, true);
								        $(document).scrollTop(container.position().top);
								        clearInterval(retryInt);
								    }
								},
								50
							);
                        } else {
                            scrollToElement(e, true);
                            $(document).scrollTop(container.position().top);
                        }
                    }
                }
            }

            function hijackInternalLinks() {
                // only register the link handler once
                if ($(document.body).data('jspHijack')) {
                    return;
                }

                // remember that the handler was bound
                $(document.body).data('jspHijack', true);

                // use live handler to also capture newly created links
                $(document.body).delegate('a[href*=#]', 'click', function (event) {
                    // does the link point to the same page?
                    // this also takes care of cases with a <base>-Tag or Links not starting with the hash #
                    // e.g. <a href="index.html#test"> when the current url already is index.html
                    var href = this.href.substr(0, this.href.indexOf('#')),
						locationHref = location.href,
						hash,
						element,
						container,
						jsp,
						scrollTop,
						elementTop;
                    if (location.href.indexOf('#') !== -1) {
                        locationHref = location.href.substr(0, location.href.indexOf('#'));
                    }
                    if (href !== locationHref) {
                        // the link points to another page
                        return;
                    }

                    // check if jScrollPane should handle this click event
                    hash = escape(this.href.substr(this.href.indexOf('#') + 1));

                    // find the element on the page
                    element;
                    try {
                        element = $('#' + hash + ', a[name="' + hash + '"]');
                    } catch (e) {
                        // hash is not a valid jQuery identifier
                        return;
                    }

                    if (!element.length) {
                        // this link does not point to an element on this page
                        return;
                    }

                    container = element.closest('.jspScrollable');
                    jsp = container.data('jsp');

                    // jsp might be another jsp instance than the one, that bound this event
                    // remember: this event is only bound once for all instances.
                    jsp.scrollToElement(element, true);

                    if (container[0].scrollIntoView) {
                        // also scroll to the top of the container (if it is not visible)
                        scrollTop = $(window).scrollTop();
                        elementTop = element.offset().top;
                        if (elementTop < scrollTop || elementTop > scrollTop + $(window).height()) {
                            container[0].scrollIntoView();
                        }
                    }

                    // jsp handled this event, prevent the browser default (scrolling :P)
                    event.preventDefault();
                });
            }

            // Init touch on iPad, iPhone, iPod, Android
            function initTouch() {
                var startX,
					startY,
					touchStartX,
					touchStartY,
					moved,
					moving = false;

                container.unbind('touchstart.jsp touchmove.jsp touchend.jsp click.jsp-touchclick').bind(
					'touchstart.jsp',
					function (e) {
					    var touch = e.originalEvent.touches[0];
					    startX = contentPositionX();
					    startY = contentPositionY();
					    touchStartX = touch.pageX;
					    touchStartY = touch.pageY;
					    moved = false;
					    moving = true;
					}
				).bind(
					'touchmove.jsp',
					function (ev) {
					    if (!moving) {
					        return;
					    }

					    var touchPos = ev.originalEvent.touches[0],
							dX = horizontalDragPosition, dY = verticalDragPosition;

					    jsp.scrollTo(startX + touchStartX - touchPos.pageX, startY + touchStartY - touchPos.pageY);

					    moved = moved || Math.abs(touchStartX - touchPos.pageX) > 5 || Math.abs(touchStartY - touchPos.pageY) > 5;

					    // return true if there was no movement so rest of screen can scroll
					    return dX == horizontalDragPosition && dY == verticalDragPosition;
					}
				).bind(
					'touchend.jsp',
					function (e) {
					    moving = false;
					    /*if(moved) {
							return false;
						}*/
					}
				).bind(
					'click.jsp-touchclick',
					function (e) {
					    if (moved) {
					        moved = false;
					        return false;
					    }
					}
				);
            }

            function destroy() {
                var currentY = contentPositionY(),
					currentX = contentPositionX();
                elem.removeClass('jspScrollable').unbind('.jsp');
                elem.replaceWith(originalElement.append(pane.children()));
                originalElement.scrollTop(currentY);
                originalElement.scrollLeft(currentX);

                // clear reinitialize timer if active
                if (reinitialiseInterval) {
                    clearInterval(reinitialiseInterval);
                }
            }

            // Public API
            $.extend(
				jsp,
				{
				    // Reinitialises the scroll pane (if it's internal dimensions have changed since the last time it
				    // was initialised). The settings object which is passed in will override any settings from the
				    // previous time it was initialised - if you don't pass any settings then the ones from the previous
				    // initialisation will be used.
				    reinitialise: function (s) {
				        s = $.extend({}, settings, s);
				        initialise(s);
				    },
				    // Scrolls the specified element (a jQuery object, DOM node or jQuery selector string) into view so
				    // that it can be seen within the viewport. If stickToTop is true then the element will appear at
				    // the top of the viewport, if it is false then the viewport will scroll as little as possible to
				    // show the element. You can also specify if you want animation to occur. If you don't provide this
				    // argument then the animateScroll value from the settings object is used instead.
				    scrollToElement: function (ele, stickToTop, animate) {
				        scrollToElement(ele, stickToTop, animate);
				    },
				    // Scrolls the pane so that the specified co-ordinates within the content are at the top left
				    // of the viewport. animate is optional and if not passed then the value of animateScroll from
				    // the settings object this jScrollPane was initialised with is used.
				    scrollTo: function (destX, destY, animate) {
				        scrollToX(destX, animate);
				        scrollToY(destY, animate);
				    },
				    // Scrolls the pane so that the specified co-ordinate within the content is at the left of the
				    // viewport. animate is optional and if not passed then the value of animateScroll from the settings
				    // object this jScrollPane was initialised with is used.
				    scrollToX: function (destX, animate) {
				        scrollToX(destX, animate);
				    },
				    // Scrolls the pane so that the specified co-ordinate within the content is at the top of the
				    // viewport. animate is optional and if not passed then the value of animateScroll from the settings
				    // object this jScrollPane was initialised with is used.
				    scrollToY: function (destY, animate) {
				        scrollToY(destY, animate);
				    },
				    // Scrolls the pane to the specified percentage of its maximum horizontal scroll position. animate
				    // is optional and if not passed then the value of animateScroll from the settings object this
				    // jScrollPane was initialised with is used.
				    scrollToPercentX: function (destPercentX, animate) {
				        scrollToX(destPercentX * (contentWidth - paneWidth), animate);
				    },
				    // Scrolls the pane to the specified percentage of its maximum vertical scroll position. animate
				    // is optional and if not passed then the value of animateScroll from the settings object this
				    // jScrollPane was initialised with is used.
				    scrollToPercentY: function (destPercentY, animate) {
				        scrollToY(destPercentY * (contentHeight - paneHeight), animate);
				    },
				    // Scrolls the pane by the specified amount of pixels. animate is optional and if not passed then
				    // the value of animateScroll from the settings object this jScrollPane was initialised with is used.
				    scrollBy: function (deltaX, deltaY, animate) {
				        jsp.scrollByX(deltaX, animate);
				        jsp.scrollByY(deltaY, animate);
				    },
				    // Scrolls the pane by the specified amount of pixels. animate is optional and if not passed then
				    // the value of animateScroll from the settings object this jScrollPane was initialised with is used.
				    scrollByX: function (deltaX, animate) {
				        var destX = contentPositionX() + Math[deltaX < 0 ? 'floor' : 'ceil'](deltaX),
							percentScrolled = destX / (contentWidth - paneWidth);
				        positionDragX(percentScrolled * dragMaxX, animate);
				    },
				    // Scrolls the pane by the specified amount of pixels. animate is optional and if not passed then
				    // the value of animateScroll from the settings object this jScrollPane was initialised with is used.
				    scrollByY: function (deltaY, animate) {
				        var destY = contentPositionY() + Math[deltaY < 0 ? 'floor' : 'ceil'](deltaY),
							percentScrolled = destY / (contentHeight - paneHeight);
				        positionDragY(percentScrolled * dragMaxY, animate);
				    },
				    // Positions the horizontal drag at the specified x position (and updates the viewport to reflect
				    // this). animate is optional and if not passed then the value of animateScroll from the settings
				    // object this jScrollPane was initialised with is used.
				    positionDragX: function (x, animate) {
				        positionDragX(x, animate);
				    },
				    // Positions the vertical drag at the specified y position (and updates the viewport to reflect
				    // this). animate is optional and if not passed then the value of animateScroll from the settings
				    // object this jScrollPane was initialised with is used.
				    positionDragY: function (y, animate) {
				        positionDragY(y, animate);
				    },
				    // This method is called when jScrollPane is trying to animate to a new position. You can override
				    // it if you want to provide advanced animation functionality. It is passed the following arguments:
				    //  * ele          - the element whose position is being animated
				    //  * prop         - the property that is being animated
				    //  * value        - the value it's being animated to
				    //  * stepCallback - a function that you must execute each time you update the value of the property
				    // You can use the default implementation (below) as a starting point for your own implementation.
				    animate: function (ele, prop, value, stepCallback) {
				        var params = {};
				        params[prop] = value;
				        ele.animate(
							params,
							{
							    'duration': settings.animateDuration,
							    'easing': settings.animateEase,
							    'queue': false,
							    'step': stepCallback
							}
						);
				    },
				    // Returns the current x position of the viewport with regards to the content pane.
				    getContentPositionX: function () {
				        return contentPositionX();
				    },
				    // Returns the current y position of the viewport with regards to the content pane.
				    getContentPositionY: function () {
				        return contentPositionY();
				    },
				    // Returns the width of the content within the scroll pane.
				    getContentWidth: function () {
				        return contentWidth;
				    },
				    // Returns the height of the content within the scroll pane.
				    getContentHeight: function () {
				        return contentHeight;
				    },
				    // Returns the horizontal position of the viewport within the pane content.
				    getPercentScrolledX: function () {
				        return contentPositionX() / (contentWidth - paneWidth);
				    },
				    // Returns the vertical position of the viewport within the pane content.
				    getPercentScrolledY: function () {
				        return contentPositionY() / (contentHeight - paneHeight);
				    },
				    // Returns whether or not this scrollpane has a horizontal scrollbar.
				    getIsScrollableH: function () {
				        return isScrollableH;
				    },
				    // Returns whether or not this scrollpane has a vertical scrollbar.
				    getIsScrollableV: function () {
				        return isScrollableV;
				    },
				    // Gets a reference to the content pane. It is important that you use this method if you want to
				    // edit the content of your jScrollPane as if you access the element directly then you may have some
				    // problems (as your original element has had additional elements for the scrollbars etc added into
				    // it).
				    getContentPane: function () {
				        return pane;
				    },
				    // Scrolls this jScrollPane down as far as it can currently scroll. If animate isn't passed then the
				    // animateScroll value from settings is used instead.
				    scrollToBottom: function (animate) {
				        positionDragY(dragMaxY, animate);
				    },
				    // Hijacks the links on the page which link to content inside the scrollpane. If you have changed
				    // the content of your page (e.g. via AJAX) and want to make sure any new anchor links to the
				    // contents of your scroll pane will work then call this function.
				    hijackInternalLinks: $.noop,
				    // Removes the jScrollPane and returns the page to the state it was in before jScrollPane was
				    // initialised.
				    destroy: function () {
				        destroy();
				    }
				}
			);

            initialise(s);
        }

        // Pluginifying code...
        settings = $.extend({}, $.fn.jScrollPane.defaults, settings);

        // Apply default speed
        $.each(['mouseWheelSpeed', 'arrowButtonSpeed', 'trackClickSpeed', 'keyboardSpeed'], function () {
            settings[this] = settings[this] || settings.speed;
        });

        return this.each(
			function () {
			    var elem = $(this), jspApi = elem.data('jsp');
			    if (jspApi) {
			        jspApi.reinitialise(settings);
			    } else {
			        $("script", elem).filter('[type="text/javascript"], :not([type])').remove();
			        jspApi = new JScrollPane(elem, settings);
			        elem.data('jsp', jspApi);
			    }
			}
		);
    };

    $.fn.jScrollPane.defaults = {
        showArrows: false,
        maintainPosition: true,
        stickToBottom: false,
        stickToRight: false,
        clickOnTrack: true,
        autoReinitialise: false,
        autoReinitialiseDelay: 500,
        verticalDragMinHeight: 30,
        verticalDragMaxHeight: 99999,
        horizontalDragMinWidth: 30,
        horizontalDragMaxWidth: 99999,
        contentWidth: undefined,
        animateScroll: false,
        animateDuration: 300,
        animateEase: 'linear',
        hijackInternalLinks: false,
        verticalGutter: 4,
        horizontalGutter: 4,
        mouseWheelSpeed: 0,
        arrowButtonSpeed: 0,
        arrowRepeatFreq: 50,
        arrowScrollOnHover: false,
        trackClickSpeed: 0,
        trackClickRepeatFreq: 70,
        verticalArrowPositions: 'split',
        horizontalArrowPositions: 'split',
        enableKeyboardNavigation: true,
        hideFocus: false,
        keyboardSpeed: 0,
        initialDelay: 300,        // Delay before starting repeating
        speed: 30,		// Default speed when others falsey
        scrollPagePercent: .8		// Percent of visible area scrolled when pageUp/Down or track area pressed
    };

})(jQuery);

(function ($) {
    $.fn.dnnSettingDropdown = function () {
        var clicked = function () {
            if ($(this).hasClass('dnnButtonDropdown')) {
                $(this).removeClass('dnnButtonDropdown').addClass('dnnButtonDropdown-clicked');
                $(this).next().show();
            }
        };

        var hideDropdown = function () {
            var btn = $(this).children(':first');
            if (btn.hasClass('dnnButtonDropdown-clicked')) {
                btn.removeClass('dnnButtonDropdown-clicked').addClass('dnnButtonDropdown');
                btn.next().fadeOut();
            }
        };

        var hoverConfig = {
            over: function () {
            },
            out: hideDropdown,
            timout: 600
        };

        return $(this).each(function () {
            $(this).unbind('click', clicked).bind('click', clicked);
            $(this).parent().hoverIntent(hoverConfig);
        });
    };
})(jQuery);

(function ($) {
    $.fn.onEnter = function (fn) {
        return this.each(function () {
            var $this = $(this);
            $this.bind('onEnter', fn);
            $this.keydown(function (e) {
                if ((e.which && e.which === 13) || (e.keyCode && e.keyCode === 13)) {
                    e.preventDefault();
                    e.stopPropagation();
                    $this.trigger('onEnter');
                }
            });
        });
    };
})(jQuery);

(function ($) {
    $.extend({
        onAjaxError: function (jqXhr, textStatus, errorThrown) {
            var title, text;
            if (jqXhr && jqXhr.status === 401) {
                dnnModal.show('../Login.aspx' + '?popUp=true', true, 300, 650, true, '');
                return;
            }
            if (jqXhr && jqXhr.responseText && jqXhr.statusText) {
                try {
                    title = jqXhr.statusText + " (" + jqXhr.status + ")";
                    text = JSON.parse(jqXhr.responseText).Message;
                }
                catch (e) {
                    text = errorThrown;
                }
            }
            $.dnnAlert({ title: title || "Error", text: text || "Unknown error" });
        }
    });
})(jQuery);

(function ($) {
	$.fn.dnnSliderInput = function (options) {
		var sliderOptions = $.extend({}, $.fn.dnnSliderInput.defaults, options);
    	return $(this).each(function () {
    		var $this = $(this);
		    var value = $this.val();
		    var $slider = $('<div class="dnnSliderInput"></div>');
		    $this.hide().after($slider);

		    $slider.slider(sliderOptions);
		    $slider.slider('value', value);

		    var $tooltip = $('<span class="dnnTooltip"><span class="dnnFormHelpContent dnnClear"><span class="dnnHelpText bottomArrow"></span></span></span>');

		    var calcTooltipPosition = function () {
			    setTimeout(function() {
				    var left = $slider.find('.ui-slider-handle')[0].style.left;
				    $tooltip.css('left', left);
			    }, 0);
		    };

		    $tooltip.find('.dnnHelpText').html(value);
		    $tooltip.data('initialized', true);
			$slider.append($tooltip);

		    calcTooltipPosition();
		    $slider.on('slide', function(event, ui) {
		    	$tooltip.find('.dnnHelpText').html(ui.value);
		    	$this.val(ui.value);
			    calcTooltipPosition();
		    });
	    });
    };

	$.fn.dnnSliderInput.defaults = {
		min: 0,
		max: 100,
		step: 1
	}
})(jQuery);

// please keep this func at last of this file, thanks
(function ($) {
    /* Start customised controls */
    var inputFocusFix = function () {
        var errorMsg = $(this).next();
        if (errorMsg.hasClass('dnnFormError'))
            errorMsg.hide();
    };
    var throttle = null;
    var dnnInitCustomisedCtrls = function () {
        if (throttle != null) {
            clearTimeout(throttle);
            throttle = null;
        }
        throttle = setTimeout(function () {
            $('.dnnForm input[type="checkbox"]').dnnCheckbox();
            $('.dnnForm input[type="radio"]').dnnCheckbox({ cls: 'dnnRadiobutton' });
            $('.dnnTooltip').dnnTooltip();
            $('.dnnForm input[type="text"], .dnnForm input[type="password"]').unbind('focus', inputFocusFix).bind('focus', inputFocusFix);
            $('.dnnForm :file').dnnFileInput();
	        $('.dnnForm input[data-default]').dnnPlaceholder();
        }, 200);
        //change the window confirm style to DNN style
        $("*[onclick*='return confirm']").each(function () {
            var instance = $(this);
            var isButton = this.nodeName.toLowerCase() == "img" || this.nodeName.toLowerCase() == "input";
            var script = /return confirm\((['"])([\s\S]*?)\1\)/g.exec(instance.attr("onclick"));
            if (script != null) {
                var confirmContent = script[2].split("\\" + script[1]).join(script[1]);
                //restore unicode chars.
                confirmContent = confirmContent.replace(/\\u([\d\w]{4})/gi, function(match, charCode) {
                    return String.fromCharCode(parseInt(charCode, 16));
                });
                instance.attr("onclick", instance.attr("onclick").replace(script[0], "void(0)")).dnnConfirm({
                    text: confirmContent,
                    isButton: isButton
                });
            }
        });
    };
    var saveRgDataDivScrollTop = function () {
        window.__rgDataDivScrollTopPersistArray = [];
        $('.rgDataDiv').each(function () {
            var $this = $(this);
            var ele = $this.get(0);
            if (ele.scrollPane) {
                var api = ele.scrollPane.data('jsp');
                var y = api.getContentPositionY();
                window.__rgDataDivScrollTopPersistArray.push(y);
            }
        });
    };
    window.__rgDataDivScrollTopPersistArray = [];
    $(document).ajaxComplete(dnnInitCustomisedCtrls);
    Sys.WebForms.PageRequestManager.getInstance().add_beginRequest(saveRgDataDivScrollTop);
    Sys.WebForms.PageRequestManager.getInstance().add_endRequest(dnnInitCustomisedCtrls);
    $(dnnInitCustomisedCtrls);
})(jQuery);
;;;!function(){
	var ts = function(a){a.tiny=a.tiny||{};a.tiny.scrollbar={options:{axis:"y",wheel:40,scroll:true,lockscroll:true,size:"auto",sizethumb:"auto",invertscroll:false}};a.fn.eds_tinyscrollbar=function(d){var c=a.extend({},a.tiny.scrollbar.options,d);this.each(function(){a(this).data("tsb",new b(a(this),c))});return this};a.fn.eds_tinyscrollbar_update=function(c){return a(this).data("tsb").update(c)};function b(q,g){var k=this,t=q,j={obj:a(".viewport",q)},h={obj:a(".overview",q)},d={obj:a(".scrollbar",q)},m={obj:a(".track",d.obj)},p={obj:a(".thumb",d.obj)},l=g.axis==="x",n=l?"left":"top",v=l?"Width":"Height",r=0,y={start:0,now:0},o={},e="ontouchstart" in document.documentElement;function c(){k.update();s();return k}this.update=function(z){j[g.axis]=j.obj[0]["offset"+v];h[g.axis]=h.obj[0]["scroll"+v];h.ratio=j[g.axis]/h[g.axis];d.obj.toggleClass("disable",h.ratio>=1);m[g.axis]=g.size==="auto"?j[g.axis]:g.size;p[g.axis]=Math.min(m[g.axis],Math.max(0,(g.sizethumb==="auto"?(m[g.axis]*h.ratio):g.sizethumb)));d.ratio=g.sizethumb==="auto"?(h[g.axis]/m[g.axis]):(h[g.axis]-j[g.axis])/(m[g.axis]-p[g.axis]);r=(z==="relative"&&h.ratio<=1)?Math.min((h[g.axis]-j[g.axis]),Math.max(0,r)):0;r=(z==="bottom"&&h.ratio<=1)?(h[g.axis]-j[g.axis]):isNaN(parseInt(z,10))?r:parseInt(z,10);w()};function w(){var z=v.toLowerCase();p.obj.css(n,r/d.ratio);h.obj.css(n,-r);o.start=p.obj.offset()[n];d.obj.css(z,m[g.axis]);m.obj.css(z,m[g.axis]);p.obj.css(z,p[g.axis])}function s(){if(!e){p.obj.bind("mousedown",i);m.obj.bind("mouseup",u)}else{j.obj[0].ontouchstart=function(z){if(1===z.touches.length){i(z.touches[0]);z.stopPropagation()}}}if(g.scroll&&window.addEventListener){t[0].addEventListener("DOMMouseScroll",x,false);t[0].addEventListener("mousewheel",x,false)}else{if(g.scroll){t[0].onmousewheel=x}}}function i(A){a("body").addClass("noSelect");var z=parseInt(p.obj.css(n),10);o.start=l?A.pageX:A.pageY;y.start=z=="auto"?0:z;if(!e){a(document).bind("mousemove",u);a(document).bind("mouseup",f);p.obj.bind("mouseup",f)}else{document.ontouchmove=function(B){B.preventDefault();u(B.touches[0])};document.ontouchend=f}}function x(B){if(h.ratio<1){var A=B||window.event,z=A.wheelDelta?A.wheelDelta/120:-A.detail/3;r-=z*g.wheel;r=Math.min((h[g.axis]-j[g.axis]),Math.max(0,r));p.obj.css(n,r/d.ratio);h.obj.css(n,-r);if(g.lockscroll||(r!==(h[g.axis]-j[g.axis])&&r!==0)){A=a.event.fix(A);A.preventDefault()}}}function u(z){if(h.ratio<1){if(g.invertscroll&&e){y.now=Math.min((m[g.axis]-p[g.axis]),Math.max(0,(y.start+(o.start-(l?z.pageX:z.pageY)))))}else{y.now=Math.min((m[g.axis]-p[g.axis]),Math.max(0,(y.start+((l?z.pageX:z.pageY)-o.start))))}r=y.now*d.ratio;h.obj.css(n,-r);p.obj.css(n,y.now)}}function f(){a("body").removeClass("noSelect");a(document).unbind("mousemove",u);a(document).unbind("mouseup",f);p.obj.unbind("mouseup",f);document.ontouchmove=document.ontouchend=null}return c()}};

	if (typeof eds1_8 !== 'undefined')
		ts(eds1_8);
}();

;;;/*!
 * jQuery Cookie Plugin v1.3
 * https://github.com/carhartl/jquery-cookie
 *
 * Copyright 2011, Klaus Hartl
 * Dual licensed under the MIT or GPL Version 2 licenses.
 * http://www.opensource.org/licenses/mit-license.php
 * http://www.opensource.org/licenses/GPL-2.0
 */
(function (document, undefined) {
var eds_cookie = function ($) {

	var pluses = /\+/g;

	function raw(s) {
		return s;
	}

	function decoded(s) {
		return decodeURIComponent(s.replace(pluses, ' '));
	}

	var config = $.cookie = function (key, value, options) {

		// write
		if (value !== undefined) {
			options = $.extend({}, config.defaults, options);

			if (value === null) {
				options.expires = -1;
			}

			if (typeof options.expires === 'number') {
				var days = options.expires, t = options.expires = new Date();
				t.setDate(t.getDate() + days);
			}

			value = config.json ? JSON.stringify(value) : String(value);

			return (document.cookie = [
				encodeURIComponent(key), '=', config.raw ? value : encodeURIComponent(value),
				options.expires ? '; expires=' + options.expires.toUTCString() : '', // use expires attribute, max-age is not supported by IE
				options.path    ? '; path=' + options.path : '',
				options.domain  ? '; domain=' + options.domain : '',
				options.secure  ? '; secure' : ''
			].join(''));
		}

		var decode = config.raw ? raw : decoded;
		var cookies = document.cookie.split('; ');
		for (var i = 0, l = cookies.length; i < l; i++) {
			var parts = cookies[i].split('=');
			if (decode(parts.shift()) === key) {
				var cookie = decode(parts.join('='));
				return config.json ? JSON.parse(cookie) : cookie;
			}
		}

		return null;
	};

	config.defaults = {};

	$.removeCookie = function (key, options) {
		if ($.cookie(key) !== null) {
			$.cookie(key, null, options);
			return true;
		}
		return false;
	};

};

if (typeof jQuery !== 'undefined')
	eds_cookie(jQuery);

if (typeof eds2_2 !== 'undefined')
	eds_cookie(eds2_2);

})(document);

;;;/*! tinyscrollbar - v2.4.2 - 2016-02-09
 * http://www.baijs.com/tinyscrollbar
 *
 * Copyright (c) 2016 Maarten Baijs <wieringen@gmail.com>;
 * Licensed under the MIT license */

!function(a){"function"==typeof define&&define.amd?define(["jquery"],a):"object"==typeof exports?module.exports=a(require("jquery")):a(eds2_2)}(function(a){"use strict";function b(b,e){function f(){return o.update(),h(),o}function g(){t.css(y,o.thumbPosition),q.css(y,-o.contentPosition),r.css(x,o.trackSize),s.css(x,o.trackSize),t.css(x,o.thumbSize)}function h(){u&&(p[0].ontouchstart=function(a){1===a.touches.length&&(a.stopPropagation(),k(a.touches[0]))}),t.bind("mousedown",function(a){a.stopPropagation(),k(a)}),s.bind("mousedown",function(a){k(a,!0)}),a(window).resize(function(){o.update("relative")}),o.options.wheel&&window.addEventListener?b[0].addEventListener(v,l,!1):o.options.wheel&&(b[0].onmousewheel=l)}function i(){return o.contentPosition>0}function j(){return o.contentPosition<=o.contentSize-o.viewportSize-5}function k(b,d){o.hasContentToSroll&&(a("body").addClass("noSelect"),z=d?t.offset()[y]:w?b.pageX:b.pageY,u&&(document.ontouchmove=function(a){(o.options.touchLock||i()&&j())&&a.preventDefault(),a.touches[0][c+"Touch"]=1,m(a.touches[0])},document.ontouchend=n),a(document).bind("mousemove",m),a(document).bind("mouseup",n),t.bind("mouseup",n),s.bind("mouseup",n),m(b))}function l(c){if(o.hasContentToSroll){var d=c||window.event,e=-(d.deltaY||d.detail||-1/3*d.wheelDelta)/40,f=1===d.deltaMode?o.options.wheelSpeed:1;o.contentPosition-=e*f*o.options.wheelSpeed,o.contentPosition=Math.min(o.contentSize-o.viewportSize,Math.max(0,o.contentPosition)),o.thumbPosition=o.contentPosition/o.trackRatio,b.trigger("move"),t.css(y,o.thumbPosition),q.css(y,-o.contentPosition),(o.options.wheelLock||i()&&j())&&(d=a.event.fix(d),d.preventDefault())}c.stopPropagation()}function m(a){if(o.hasContentToSroll){var d=w?a.pageX:a.pageY,e=a[c+"Touch"]?z-d:d-z,f=Math.min(o.trackSize-o.thumbSize,Math.max(0,o.thumbPosition+e));o.contentPosition=f*o.trackRatio,b.trigger("move"),t.css(y,f),q.css(y,-o.contentPosition)}}function n(){o.thumbPosition=parseInt(t.css(y),10)||0,a("body").removeClass("noSelect"),a(document).unbind("mousemove",m),a(document).unbind("mouseup",n),t.unbind("mouseup",n),s.unbind("mouseup",n),document.ontouchmove=document.ontouchend=null}this.options=a.extend({},d,e),this._defaults=d,this._name=c;var o=this,p=b.find(".viewport"),q=b.find(".overview"),r=b.find(".scrollbar"),s=r.find(".track"),t=r.find(".thumb"),u="ontouchstart"in document.documentElement,v="onwheel"in document.createElement("div")?"wheel":void 0!==document.onmousewheel?"mousewheel":"DOMMouseScroll",w="x"===this.options.axis,x=w?"width":"height",y=w?"left":"top",z=0;return this.contentPosition=0,this.viewportSize=0,this.contentSize=0,this.contentRatio=0,this.trackSize=0,this.trackRatio=0,this.thumbSize=0,this.thumbPosition=0,this.hasContentToSroll=!1,this.update=function(a){var b=x.charAt(0).toUpperCase()+x.slice(1).toLowerCase();switch(this.viewportSize=p[0]["offset"+b],this.contentSize=q[0]["scroll"+b],this.contentRatio=this.viewportSize/this.contentSize,this.trackSize=this.options.trackSize||this.viewportSize,this.thumbSize=Math.min(this.trackSize,Math.max(this.options.thumbSizeMin,this.options.thumbSize||this.trackSize*this.contentRatio)),this.trackRatio=(this.contentSize-this.viewportSize)/(this.trackSize-this.thumbSize),this.hasContentToSroll=this.contentRatio<1,r.toggleClass("disable",!this.hasContentToSroll),a){case"bottom":this.contentPosition=Math.max(this.contentSize-this.viewportSize,0);break;case"relative":this.contentPosition=Math.min(Math.max(this.contentSize-this.viewportSize,0),Math.max(0,this.contentPosition));break;default:this.contentPosition=parseInt(a,10)||0}return this.thumbPosition=this.contentPosition/this.trackRatio,g(),o},f()}var c="eds_tinyscrollbar",d={axis:"y",wheel:!0,wheelSpeed:40,wheelLock:!0,touchLock:!0,trackSize:!1,thumbSize:!1,thumbSizeMin:20};a.fn[c]=function(d){return this.each(function(){a.data(this,"plugin_"+c)||a.data(this,"plugin_"+c,new b(a(this),d))})}});
;;;/*!

   Flowplayer v6.0.3 (Thursday, 23. July 2015 09:32PM) | flowplayer.org/license

*/
(function () {
	var eds_flowplayer = function (jQuery) {
		!function(e){function t(e,t,n,r){for(var i,a=n.slice(),l=o(t,e),s=0,u=a.length;u>s&&(handler=a[s],"object"==typeof handler&&"function"==typeof handler.handleEvent?handler.handleEvent(l):handler.call(e,l),!l.stoppedImmediatePropagation);s++);return i=!l.stoppedPropagation,r&&i&&e.parentNode?e.parentNode.dispatchEvent(l):!l.defaultPrevented}function n(e,t){return{configurable:!0,get:e,set:t}}function r(e,t,r){var o=y(t||e,r);h(e,"textContent",n(function(){return o.get.call(this)},function(e){o.set.call(this,e)}))}function o(e,t){return e.currentTarget=t,e.eventPhase=e.target===e.currentTarget?2:3,e}function i(e,t){for(var n=e.length;n--&&e[n]!==t;);return n}function a(){if("BR"===this.tagName)return"\n";for(var e=this.firstChild,t=[];e;)8!==e.nodeType&&7!==e.nodeType&&t.push(e.textContent),e=e.nextSibling;return t.join("")}function l(e){var t=document.createEvent("Event");t.initEvent("input",!0,!0),(e.srcElement||e.fromElement||document).dispatchEvent(t)}function s(e){!d&&k.test(document.readyState)&&(d=!d,document.detachEvent(p,s),e=document.createEvent("Event"),e.initEvent(v,!0,!0),document.dispatchEvent(e))}function u(e){for(var t;t=this.lastChild;)this.removeChild(t);null!=e&&this.appendChild(document.createTextNode(e))}function c(t,n){return n||(n=e.event),n.target||(n.target=n.srcElement||n.fromElement||document),n.timeStamp||(n.timeStamp=(new Date).getTime()),n}if(!document.createEvent){var f=!0,d=!1,p="onreadystatechange",v="DOMContentLoaded",m="__IE8__"+Math.random(),h=Object.defineProperty||function(e,t,n){e[t]=n.value},g=Object.defineProperties||function(t,n){for(var r in n)if(b.call(n,r))try{h(t,r,n[r])}catch(o){e.console&&console.log(r+" failed on object:",t,o.message)}},y=Object.getOwnPropertyDescriptor,b=Object.prototype.hasOwnProperty,w=e.Element.prototype,x=e.Text.prototype,E=/^[a-z]+$/,k=/loaded|complete/,T={},S=document.createElement("div");r(e.HTMLCommentElement.prototype,w,"nodeValue"),r(e.HTMLScriptElement.prototype,null,"text"),r(x,null,"nodeValue"),r(e.HTMLTitleElement.prototype,null,"text"),h(e.HTMLStyleElement.prototype,"textContent",function(e){return n(function(){return e.get.call(this.styleSheet)},function(t){e.set.call(this.styleSheet,t)})}(y(e.CSSStyleSheet.prototype,"cssText"))),g(w,{textContent:{get:a,set:u},firstElementChild:{get:function(){for(var e=this.childNodes||[],t=0,n=e.length;n>t;t++)if(1==e[t].nodeType)return e[t]}},lastElementChild:{get:function(){for(var e=this.childNodes||[],t=e.length;t--;)if(1==e[t].nodeType)return e[t]}},oninput:{get:function(){return this._oninput||null},set:function(e){this._oninput&&(this.removeEventListener("input",this._oninput),this._oninput=e,e&&this.addEventListener("input",e))}},previousElementSibling:{get:function(){for(var e=this.previousSibling;e&&1!=e.nodeType;)e=e.previousSibling;return e}},nextElementSibling:{get:function(){for(var e=this.nextSibling;e&&1!=e.nodeType;)e=e.nextSibling;return e}},childElementCount:{get:function(){for(var e=0,t=this.childNodes||[],n=t.length;n--;e+=1==t[n].nodeType);return e}},addEventListener:{value:function(e,n,r){var o,a=this,s="on"+e,u=a[m]||h(a,m,{value:{}})[m],f=u[s]||(u[s]={}),d=f.h||(f.h=[]);if(!b.call(f,"w")){if(f.w=function(e){return e[m]||t(a,c(a,e),d,!1)},!b.call(T,s))if(E.test(e))try{o=document.createEventObject(),o[m]=!0,9!=a.nodeType&&null==a.parentNode&&S.appendChild(a),a.fireEvent(s,o),T[s]=!0}catch(o){for(T[s]=!1;S.hasChildNodes();)S.removeChild(S.firstChild)}else T[s]=!1;(f.n=T[s])&&a.attachEvent(s,f.w)}i(d,n)<0&&d[r?"unshift":"push"](n),"input"===e&&a.attachEvent("onkeyup",l)}},dispatchEvent:{value:function(e){var n,r=this,o="on"+e.type,i=r[m],a=i&&i[o],l=!!a;return e.target||(e.target=r),l?a.n?r.fireEvent(o,e):t(r,e,a.h,!0):(n=r.parentNode)?n.dispatchEvent(e):!0,!e.defaultPrevented}},removeEventListener:{value:function(e,t,n){var r=this,o="on"+e,a=r[m],l=a&&a[o],s=l&&l.h,u=s?i(s,t):-1;u>-1&&s.splice(u,1)}}}),g(x,{addEventListener:{value:w.addEventListener},dispatchEvent:{value:w.dispatchEvent},removeEventListener:{value:w.removeEventListener}}),g(e.XMLHttpRequest.prototype,{addEventListener:{value:function(e,t,n){var r=this,o="on"+e,a=r[m]||h(r,m,{value:{}})[m],l=a[o]||(a[o]={}),s=l.h||(l.h=[]);i(s,t)<0&&(r[o]||(r[o]=function(){var t=document.createEvent("Event");t.initEvent(e,!0,!0),r.dispatchEvent(t)}),s[n?"unshift":"push"](t))}},dispatchEvent:{value:function(e){var n=this,r="on"+e.type,o=n[m],i=o&&o[r],a=!!i;return a&&(i.n?n.fireEvent(r,e):t(n,e,i.h,!0))}},removeEventListener:{value:w.removeEventListener}}),g(e.Event.prototype,{bubbles:{value:!0,writable:!0},cancelable:{value:!0,writable:!0},preventDefault:{value:function(){this.cancelable&&(this.defaultPrevented=!0,this.returnValue=!1)}},stopPropagation:{value:function(){this.stoppedPropagation=!0,this.cancelBubble=!0}},stopImmediatePropagation:{value:function(){this.stoppedImmediatePropagation=!0,this.stopPropagation()}},initEvent:{value:function(e,t,n){this.type=e,this.bubbles=!!t,this.cancelable=!!n,this.bubbles||this.stopPropagation()}}}),g(e.HTMLDocument.prototype,{defaultView:{get:function(){return this.parentWindow}},textContent:{get:function(){return 11===this.nodeType?a.call(this):null},set:function(e){11===this.nodeType&&u.call(this,e)}},addEventListener:{value:function(t,n,r){var o=this;w.addEventListener.call(o,t,n,r),f&&t===v&&!k.test(o.readyState)&&(f=!1,o.attachEvent(p,s),e==top&&function i(e){try{o.documentElement.doScroll("left"),s()}catch(t){setTimeout(i,50)}}())}},dispatchEvent:{value:w.dispatchEvent},removeEventListener:{value:w.removeEventListener},createEvent:{value:function(e){var t;if("Event"!==e)throw new Error("unsupported "+e);return t=document.createEventObject(),t.timeStamp=(new Date).getTime(),t}}}),g(e.Window.prototype,{getComputedStyle:{value:function(){function e(e){this._=e}function t(){}var n=/^(?:[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|))(?!px)[a-z%]+$/,r=/^(top|right|bottom|left)$/,o=/\-([a-z])/g,i=function(e,t){return t.toUpperCase()};return e.prototype.getPropertyValue=function(e){var t,a,l,s=this._,u=s.style,c=s.currentStyle,f=s.runtimeStyle;return e=("float"===e?"style-float":e).replace(o,i),t=c?c[e]:u[e],n.test(t)&&!r.test(e)&&(a=u.left,l=f&&f.left,l&&(f.left=c.left),u.left="fontSize"===e?"1em":t,t=u.pixelLeft+"px",u.left=a,l&&(f.left=l)),null==t?t:t+""||"auto"},t.prototype.getPropertyValue=function(){return null},function(n,r){return r?new t(n):new e(n)}}()},addEventListener:{value:function(n,r,o){var a,l=e,s="on"+n;l[s]||(l[s]=function(e){return t(l,c(l,e),a,!1)}),a=l[s][m]||(l[s][m]=[]),i(a,r)<0&&a[o?"unshift":"push"](r)}},dispatchEvent:{value:function(t){var n=e["on"+t.type];return n?n.call(e,t)!==!1&&!t.defaultPrevented:!0}},removeEventListener:{value:function(t,n,r){var o="on"+t,a=(e[o]||Object)[m],l=a?i(a,n):-1;l>-1&&a.splice(l,1)}}})}}(this),!function(e){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=e();else if("function"==typeof define&&define.amd)define([],e);else{var t;"undefined"!=typeof window?t=window:"undefined"!=typeof global?t=global:"undefined"!=typeof self&&(t=self),t.flowplayer=e()}}(function(){var e;return function t(e,n,r){function o(a,l){if(!n[a]){if(!e[a]){var s="function"==typeof require&&require;if(!l&&s)return s(a,!0);if(i)return i(a,!0);var u=new Error("Cannot find module '"+a+"'");throw u.code="MODULE_NOT_FOUND",u}var c=n[a]={exports:{}};e[a][0].call(c.exports,function(t){var n=e[a][1][t];return o(n?n:t)},c,c.exports,t,e,n,r)}return n[a].exports}for(var i="function"==typeof require&&require,a=0;a<r.length;a++)o(r[a]);return o}({1:[function(e,t,n){"use strict";var r=t.exports={},o=e("class-list"),i=jQuery,a=e("punycode"),l=e("computed-style");r.noop=function(){},r.identity=function(e){return e},r.removeNode=function(e){e&&e.parentNode&&e.parentNode.removeChild(e)},r.find=function(e,t){return i?i(e,t).toArray():(t=t||document,Array.prototype.map.call(t.querySelectorAll(e),function(e){return e}))},r.text=function(e,t){e["innerText"in e?"innerText":"textContent"]=t},r.findDirect=function(e,t){return r.find(e,t).filter(function(e){return e.parentNode===t})},r.hasClass=function(e,t){return o(e).contains(t)},r.css=function(e,t,n){return"object"==typeof t?Object.keys(t).forEach(function(n){r.css(e,n,t[n])}):"undefined"!=typeof n?""===n?e?e.style.removeProperty(t):void 0:e?e.style.setProperty(t,n):void 0:e?l(e,t):void 0},r.createElement=function(e,t,n){try{var o=document.createElement(e);for(var a in t)t.hasOwnProperty(a)&&("css"===a?r.css(o,t[a]):r.attr(o,a,t[a]));return o.innerHTML=n||"",o}catch(l){if(!i)throw l;return i("<"+e+">"+n+"</"+e+">").attr(t)[0]}},r.toggleClass=function(e,t,n){if(e){var r=o(e);"undefined"==typeof n?r.toggle(t):n?r.add(t):n||r.remove(t)}},r.addClass=function(e,t){return r.toggleClass(e,t,!0)},r.removeClass=function(e,t){return r.toggleClass(e,t,!1)},r.append=function(e,t){return e.appendChild(t),e},r.appendTo=function(e,t){return r.append(t,e),e},r.prepend=function(e,t){e.insertBefore(t,e.firstChild)},r.insertAfter=function(e,t,n){t==r.lastChild(e)&&e.appendChild(n);var o=Array.prototype.indexOf.call(e.children,t);e.insertBefore(n,e.children[o+1])},r.html=function(e,t){e=e.length?e:[e],e.forEach(function(e){e.innerHTML=t})},r.attr=function(e,t,n){if("class"===t&&(t="className"),r.hasOwnOrPrototypeProperty(e,t))try{e[t]=n}catch(o){if(!i)throw o;i(e).attr(t,n)}else n===!1?e.removeAttribute(t):e.setAttribute(t,n);return e},r.prop=function(e,t,n){return"undefined"==typeof n?e&&e[t]:void(e[t]=n)},r.offset=function(e){var t=e.getBoundingClientRect();return e.offsetWidth/e.offsetHeight>e.clientWidth/e.clientHeight&&(t={left:100*t.left,right:100*t.right,top:100*t.top,bottom:100*t.bottom,width:100*t.width,height:100*t.height}),t},r.width=function(e,t){if(t)return e.style.width=(""+t).replace(/px$/,"")+"px";var n=r.offset(e).width;return"undefined"==typeof n?e.offsetWidth:n},r.height=function(e,t){if(t)return e.style.height=(""+t).replace(/px$/,"")+"px";var n=r.offset(e).height;return"undefined"==typeof n?e.offsetHeight:n},r.lastChild=function(e){return e.children[e.children.length-1]},r.hasParent=function(e,t){for(var n=e.parentElement;n;){if(r.matches(n,t))return!0;n=n.parentElement}return!1},r.createAbsoluteUrl=function(e){return r.createElement("a",{href:e}).href},r.xhrGet=function(e,t,n){var r=new XMLHttpRequest;r.onreadystatechange=function(){return 4===this.readyState?this.status>=400?n():void t(this.responseText):void 0},r.open("get",e,!0),r.send()},r.pick=function(e,t){var n={};return t.forEach(function(t){e.hasOwnProperty(t)&&(n[t]=e[t])}),n},r.hostname=function(e){return a.toUnicode(e||window.location.hostname)},r.browser={webkit:"WebkitAppearance"in document.documentElement.style},r.getPrototype=function(e){return Object.getPrototypeOf?Object.getPrototypeOf(e):e.__proto__},r.hasOwnOrPrototypeProperty=function(e,t){for(var n=e;n;){if(Object.prototype.hasOwnProperty.call(n,t))return!0;n=r.getPrototype(n)}return!1},r.matches=function(e,t){var n=Element.prototype,r=n.matches||n.matchesSelector||n.mozMatchesSelector||n.msMatchesSelector||n.oMatchesSelector||n.webkitMatchesSelector||function(e){for(var t=this,n=(t.document||t.ownerDocument).querySelectorAll(e),r=0;n[r]&&n[r]!==t;)r++;return n[r]?!0:!1};return r.call(e,t)},function(e){function t(e){return e.replace(/-[a-z]/g,function(e){return e[1].toUpperCase()})}"undefined"!=typeof e.setAttribute&&(e.setProperty=function(e,n){return this.setAttribute(t(e),String(n))},e.getPropertyValue=function(e){return this.getAttribute(t(e))||null},e.removeProperty=function(e){var n=this.getPropertyValue(e);return this.removeAttribute(t(e)),n})}(window.CSSStyleDeclaration.prototype)},{"class-list":22,"computed-style":24,punycode:21}],2:[function(e,t,n){"use strict";var r=e("../common");t.exports=function(e,t,n,o){n=n||"opaque";var i="obj"+(""+Math.random()).slice(2,15),a='<object class="fp-engine" id="'+i+'" name="'+i+'" ',l=navigator.userAgent.indexOf("MSIE")>-1;a+=l?'classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000">':' data="'+e+'" type="application/x-shockwave-flash">';var s={width:"100%",height:"100%",allowscriptaccess:"always",wmode:n,quality:"high",flashvars:"",movie:e+(l?"?"+i:""),name:i};"transparent"!==n&&(s.bgcolor=o||"#333333"),Object.keys(t).forEach(function(e){s.flashvars+=e+"="+t[e]+"&"}),Object.keys(s).forEach(function(e){a+='<param name="'+e+'" value="'+s[e]+'"/>'}),a+="</object>";var u=r.createElement("div",{},a);return r.find("object",u)},window.attachEvent&&window.attachEvent("onbeforeunload",function(){__flash_savedUnloadHandler=__flash_unloadHandler=function(){}})},{"../common":1}],3:[function(e,t,n){"use strict";var r,o=e("../flowplayer"),i=e("../common"),a=e("./embed"),l=e("extend-object"),s=e("bean");r=function(e,t){function n(e){function t(e){return("0"+parseInt(e).toString(16)).slice(-2)}return(e=e.match(/^rgb\((\d+),\s*(\d+),\s*(\d+)\)$/))?"#"+t(e[1])+t(e[2])+t(e[3]):void 0}function u(e){if(7===e.length)return e;var t=e.split("").slice(1);return"#"+t.map(function(e){return e+e}).join("")}function c(e){return/application\/x-mpegurl/i.test(e.type)}var f,d,p,v=e.conf,m=(e.video,window,{engineName:r.engineName,pick:function(t){if(o.support.flashVideo){for(var n,r,i=0;i<t.length;i++)if(r=t[i],/mp4|flv|flash/i.test(r.type)&&(n=r),e.conf.swfHls&&/mpegurl/i.test(r.type)&&(n=r),n&&!/mp4/i.test(n.type))return n;return n}},load:function(r){function h(e){return e.replace(/&amp;/g,"%26").replace(/&/g,"%26").replace(/=/g,"%3D")}f=r;var g=i.findDirect("video",t)[0]||i.find(".fp-player > video",t)[0],y=h(r.src),b=/^https?:/.test(y),w=function(){i.removeNode(g)},x=function(e){return e.some(function(e){return!!g.canPlayType(e.type)})};o.support.video&&i.prop(g,"autoplay")&&x(r.sources)?s.one(g,"timeupdate",w):w();var E=r.rtmp||v.rtmp;if(b||E||(y=i.createAbsoluteUrl(y)),p&&c(r)&&p.data!==v.swfHls&&m.unload(),p){["live","preload","loop"].forEach(function(e){r.hasOwnProperty(e)&&p.__set(e,r[e])}),Object.keys(r.flashls||{}).forEach(function(e){p.__set("hls_"+e,r.flashls[e])});var k=!1;if(!b&&E)p.__set("rtmp",E.url||E);else{var T=p.__get("rtmp");k=!!T,p.__set("rtmp",null)}p.__play(y,k||r.rtmp&&r.rtmp!==v.rtmp)}else{d="fpCallback"+(""+Math.random()).slice(3,15);var S={hostname:v.embedded?i.hostname(v.hostname):i.hostname(location.hostname),url:y,callback:d};t.getAttribute("data-origin")&&(S.origin=t.getAttribute("data-origin")),["proxy","key","autoplay","preload","subscribe","live","loop","debug","splash","poster","rtmpt"].forEach(function(e){v.hasOwnProperty(e)&&(S[e]=v[e]),r.hasOwnProperty(e)&&(S[e]=r[e]),(v.rtmp||{}).hasOwnProperty(e)&&(S[e]=(v.rtmp||{})[e]),(r.rtmp||{}).hasOwnProperty(e)&&(S[e]=(r.rtmp||{})[e])}),v.rtmp&&(S.rtmp=v.rtmp.url||v.rtmp),r.rtmp&&(S.rtmp=r.rtmp.url||r.rtmp),Object.keys(r.flashls||{}).forEach(function(e){var t=r.flashls[e];S["hls_"+e]=t}),void 0!==v.bufferTime&&(S.bufferTime=v.bufferTime),b&&delete S.rtmp,S.rtmp&&(S.rtmp=h(S.rtmp));var C,N=i.css(t,"background-color")||"";0===N.indexOf("rgb")?C=n(N):0===N.indexOf("#")&&(C=u(N)),S.initialVolume=e.volumeLevel;var O=c(r)?v.swfHls:v.swf;p=a(O,S,v.wmode,C)[0];var j=i.find(".fp-player",t)[0];i.prepend(j,p),setTimeout(function(){try{if(!p.PercentLoaded())return e.trigger("error",[e,{code:7,url:v.swf}])}catch(t){}},5e3),setTimeout(function(){"undefined"==typeof p.PercentLoaded&&e.trigger("flashdisabled",[e])},1e3),p.pollInterval=setInterval(function(){if(p){var t=p.__status?p.__status():null;t&&(e.playing&&t.time&&t.time!==e.video.time&&e.trigger("progress",[e,t.time]),r.buffer=t.buffer/r.bytes*r.duration,e.trigger("buffer",[e,r.buffer]),!r.buffered&&t.time>0&&(r.buffered=!0,e.trigger("buffered",[e])))}},250),window[d]=function(n,r){var o=f;v.debug&&(0===n.indexOf("debug")&&r&&r.length?console.log.apply(console,["-- "+n].concat(r)):console.log("--",n,r));var i={type:n};switch(n){case"ready":r=l(o,r);break;case"click":i.flash=!0;break;case"keydown":i.which=r;break;case"seek":o.time=r;break;case"status":e.trigger("progress",[e,r.time]),r.buffer<o.bytes&&!o.buffered?(o.buffer=r.buffer/o.bytes*o.duration,e.trigger("buffer",o.buffer)):o.buffered||(o.buffered=!0,e.trigger("buffered"))}"click"===n||"keydown"===n?(i.target=t,s.fire(t,n,[i])):"buffered"!=n&&"unload"!==n?setTimeout(function(){e.trigger(i,[e,r])},1):"unload"===n&&e.trigger(i,[e,r])}}},speed:i.noop,unload:function(){p&&p.__unload&&p.__unload();try{d&&window[d]&&delete window[d]}catch(n){}i.find("object",t).forEach(i.removeNode),p=0,e.off(".flashengine"),clearInterval(p.pollInterval)}});return["pause","resume","seek","volume"].forEach(function(t){m[t]=function(n){try{e.ready&&("seek"==t&&e.video.time&&!e.paused&&e.trigger("beforeseek"),void 0===n?p["__"+t]():p["__"+t](n))}catch(r){if("undefined"==typeof p["__"+t])return e.trigger("flashdisabled",[e]);throw r}}}),m},r.engineName="flash",r.canPlay=function(e,t){return o.support.flashVideo&&/video\/(mp4|flash|flv)/i.test(e)||o.support.flashVideo&&t.swfHls&&/mpegurl/i.test(e)},o.engines.push(r)},{"../common":1,"../flowplayer":18,"./embed":2,bean:20,"extend-object":26}],4:[function(e,t,n){"use strict";function r(e,t){return t=t||100,Math.round(e*t)/t}function o(e){return/mpegurl/i.test(e)?"application/x-mpegurl":e}function i(e){return/^(video|application)/i.test(e)||(e=o(e)),!!v.canPlayType(e).replace("no","")}function a(e,t){var n=e.filter(function(e){return e.type===t});return n.length?n[0]:null}var l,s,u=e("../flowplayer"),c=e("bean"),f=e("class-list"),d=e("extend-object"),p=e("../common"),v=document.createElement("video"),m={ended:"finish",pause:"pause",play:"resume",progress:"buffer",timeupdate:"progress",volumechange:"volume",ratechange:"speed",seeked:"seek",loadeddata:"ready",error:"error",dataunavailable:"error",webkitendfullscreen:!u.support.inlineVideo&&"unload"},h=function(e,t,n,r){if("undefined"==typeof t&&(t=!0),"undefined"==typeof n&&(n="none"),"undefined"==typeof r&&(r=!0),r&&l)return l.type=o(e.type),l.src=e.src,l;var i=document.createElement("video");return i.src=e.src,i.type=o(e.type),i.className="fp-engine",i.autoplay=t?"autoplay":!1,i.preload=n,i.setAttribute("x-webkit-airplay","allow"),r&&(l=i),i};s=function(e,t){function n(n,o,a){var l=t.getAttribute("data-flowplayer-instance-id");return n.listeners&&n.listeners.hasOwnProperty(l)?void(n.listeners[l]=a):((n.listeners||(n.listeners={}))[l]=a,c.on(o,"error",function(t){try{i(t.target.getAttribute("type"))&&e.trigger("error",[e,{code:4,video:d(a,{src:n.src,url:n.src})}])}catch(r){}}),e.on("shutdown",function(){c.off(o)}),void Object.keys(m).forEach(function(o){var i=m[o];i&&t.addEventListener(o,function(s){if(a=n.listeners[l],s.target&&f(s.target).contains("fp-engine")&&(w.debug&&!/progress/.test(i)&&console.log(o,"->",i,s),(e.ready||/ready|error/.test(i))&&i&&p.find("video",t).length)){var u;if("unload"===i)return void e.unload();var c=function(){e.trigger(i,[e,u])};switch(i){case"ready":u=d(a,{duration:n.duration,width:n.videoWidth,height:n.videoHeight,url:n.currentSrc,src:n.currentSrc});try{u.seekable=!w.live&&/mpegurl/i.test(a?a.type||"":"")&&n.duration||n.seekable&&n.seekable.end(null)}catch(m){}if(v=v||setInterval(function(){try{u.buffer=n.buffered.end(null)}catch(t){}u.buffer&&(r(u.buffer,1e3)<r(u.duration,1e3)&&!u.buffered?e.trigger("buffer",s):u.buffered||(u.buffered=!0,e.trigger("buffer",s).trigger("buffered",s),clearInterval(v),v=0))},250),!w.live&&!u.duration&&!b.hlsDuration&&"loadeddata"===o){var h=function(){u.duration=n.duration;try{u.seekable=n.seekable&&n.seekable.end(null)}catch(e){}c(),n.removeEventListener("durationchange",h),f(t).remove("is-live")};n.addEventListener("durationchange",h);var g=function(){e.ready||n.duration||(u.duration=0,f(t).add("is-live"),c()),n.removeEventListener("timeupdate",g)};return void n.addEventListener("timeupdate",g)}break;case"progress":case"seek":e.video.duration;if(n.currentTime>0||e.live)u=Math.max(n.currentTime,0);else if("progress"==i)return;break;case"speed":u=r(n.playbackRate);break;case"volume":u=r(n.volume);break;case"error":try{u=(s.srcElement||s.originalTarget).error,u.video=d(a,{src:n.src,url:n.src})}catch(y){return}}c()}},!0)}))}var o,v,g,y=p.findDirect("video",t)[0]||p.find(".fp-player > video",t)[0],b=u.support,w=(p.find("track",y)[0],e.conf);return o={engineName:s.engineName,pick:function(e){if(b.video){if(w.videoTypePreference){var t=a(e,w.videoTypePreference);if(t)return t}for(var n=0;n<e.length;n++)if(i(e[n].type))return e[n]}},load:function(r){var o=!1,i=p.find(".fp-player",t)[0],a=!1;w.splash&&!y?(y=h(r),p.prepend(i,y),o=!0):y?(f(y).add("fp-engine"),p.find("source,track",y).forEach(p.removeNode),e.conf.nativesubtitles||p.attr(y,"crossorigin",!1),a=y.src===r.src):(y=h(r,!!r.autoplay||!!w.autoplay,w.clip.preload||"metadata",!1),p.prepend(i,y),o=!0),b.inlineVideo||p.css(y,{position:"absolute",top:"-9999em"}),c.off(y,"timeupdate",p.noop),c.on(y,"timeupdate",p.noop),p.prop(y,"loop",!(!r.loop&&!w.loop)),"undefined"!=typeof g&&(y.volume=g),(e.video.src&&r.src!=e.video.src||r.index)&&p.attr(y,"autoplay","autoplay"),y.src=r.src,y.type=r.type,n(y,p.find("source",y).concat(y),r),("none"!=w.clip.preload&&"mpegurl"!=r.type||!b.zeropreload||!b.dataload)&&y.load(),(o||a)&&y.load(),y.paused&&(r.autoplay||w.autoplay)&&y.play()},pause:function(){y.pause()},resume:function(){y.play()},speed:function(e){y.playbackRate=e},seek:function(t){try{var n=e.paused;y.currentTime=t,n&&y.pause()}catch(r){}},volume:function(e){g=e,y&&(y.volume=e)},unload:function(){p.find("video.fp-engine",t).forEach(p.removeNode),b.cachedVideoTag||(l=null),v=clearInterval(v),y=0}}},s.canPlay=function(e){return u.support.video&&i(e)},s.engineName="html5",u.engines.push(s)},{"../common":1,"../flowplayer":18,bean:20,"class-list":22,"extend-object":26}],5:[function(e,t,n){"use strict";var r=e("../flowplayer"),o=e("./resolve").TYPE_RE,i=e("scriptjs"),a=e("bean");r(function(e,t){var n,r=e.conf.analytics,l=0,s=0;if(r){"undefined"==typeof _gat&&i("//google-analytics.com/ga.js");var u=function(){var e=_gat._getTracker(r);return e._setAllowLinker(!0),e},c=function(r,i,a){if(a=a||e.video,l&&"undefined"!=typeof _gat){var s=u();s._trackEvent("Video / Seconds played",e.engine.engineName+"/"+a.type,a.title||t.getAttribute("title")||a.src.split("/").slice(-1)[0].replace(o,""),Math.round(l/1e3)),l=0,n&&(clearTimeout(n),n=null)}};e.bind("load unload",c).bind("progress",function(){e.seeking||(l+=s?+new Date-s:0,s=+new Date),n||(n=setTimeout(function(){n=null;var e=u();e._trackEvent("Flowplayer heartbeat","Heartbeat","",0,!0)},6e5))}).bind("pause",function(){s=0}),e.bind("shutdown",function(){a.off(window,"unload",c)}),a.on(window,"unload",c)}})},{"../flowplayer":18,"./resolve":13,bean:20,scriptjs:29}],6:[function(e,t,n){"use strict";var r=e("../flowplayer"),o=e("class-list"),i=e("../common"),a=e("bean");r(function(e,t){function n(e){t.className=t.className.replace(l," "),e>=0&&o(t).add("cue"+e)}function r(t){var n=t&&!isNaN(t.time)?t.time:t;return 0>n&&(n=e.video.duration+n),.125*Math.round(n/.125)}var l=/ ?cue\d+ ?/,s=!1,u={},c=-.125,f=function(t){var r=e.cuepoints.indexOf(t);isNaN(t)||(t={time:t}),t.index=r,n(r),e.trigger("cuepoint",[e,t])};e.on("progress",function(e,t,n){if(!s)for(var o=r(n);o>c;)c+=.125,u[c]&&u[c].forEach(f)}).on("unload",n).on("beforeseek",function(){s=!0}).on("seek",function(e,t,o){n(),c=r(o||0)-.125,s=!1,!o&&u[0]&&u[0].forEach(f)}).on("ready",function(t,n,r){c=-.125;var o=r.cuepoints||e.conf.cuepoints||[];e.setCuepoints(o)}).on("finish",function(){c=-.125}),e.conf.generate_cuepoints&&e.bind("load",function(){i.find(".fp-cuepoint",t).forEach(i.removeNode)}),e.setCuepoints=function(t){return e.cuepoints=[],u={},t.forEach(e.addCuepoint),e},e.addCuepoint=function(n){e.cuepoints||(e.cuepoints=[]);var o=r(n);if(u[o]||(u[o]=[]),u[o].push(n),e.cuepoints.push(n),e.conf.generate_cuepoints&&n.visible!==!1){var l=e.video.duration,s=i.find(".fp-timeline",t)[0];i.css(s,"overflow","visible");var c=n.time||n;0>c&&(c=l+n);var f=i.createElement("a",{className:"fp-cuepoint fp-cuepoint"+(e.cuepoints.length-1)});i.css(f,"left",c/l*100+"%"),s.appendChild(f),a.on(f,"mousedown",function(t){return t.preventDefault(),e.seek(c),!1})}return e},e.removeCuepoint=function(t){var n=e.cuepoints.indexOf(t),o=r(t);if(-1!==n){e.cuepoints=e.cuepoints.slice(0,n).concat(e.cuepoints.slice(n+1));var i=u[o].indexOf(t);if(-1!==i)return u[o]=u[o].slice(0,i).concat(u[o].slice(i+1)),e}}})},{"../common":1,"../flowplayer":18,bean:20,"class-list":22}],7:[function(e,t,n){"use strict";var r=e("../flowplayer"),o=e("bean"),i=e("../common"),a=(e("is-object"),e("extend-object")),l=e("class-list");r(function(e,t){if(e.conf.embed!==!1){var n=(e.conf,i.find(".fp-ui",t)[0]),r=i.createElement("a",{"class":"fp-embed",title:"Copy to your site"}),l=i.createElement("div",{"class":"fp-embed-code"},"<label>Paste this HTML code on your site to embed.</label><textarea></textarea>"),u=i.find("textarea",l)[0];n.appendChild(r),n.appendChild(l),e.embedCode=function(){var n=e.conf.embed||{},r=e.video;if(n.iframe){var o=(e.conf.embed.iframe,n.width||r.width||i.width(t)),l=n.height||r.height||i.height(t);return'<iframe src="'+e.conf.embed.iframe+'" frameBorder="0" allowfullscreen width="'+o+'" height="'+l+'"></iframe>'}var s=["ratio","rtmp","live","bufferTime","origin","analytics","key","subscribe","swf","swfHls","embed","adaptiveRatio","logo"];n.playlist&&s.push("playlist");var u=i.pick(e.conf,s);u.logo&&(u.logo=i.createElement("img",{src:u.logo}).src),n.playlist&&e.conf.playlist.length||(u.clip=a({},e.conf.clip,i.pick(e.video,["sources"])));var c='var w=window,d=document,e;w._fpes||(w._fpes=[],w.addEventListener("load",function(){var s=d.createElement("script");s.src="//embed.flowplayer.org/6.0.3/embed.min.js",d.body.appendChild(s)})),e=[].slice.call(d.getElementsByTagName("script"),-1)[0].parentNode,w._fpes.push({e:e,l:"$library",c:$conf});\n'.replace("$conf",JSON.stringify(u)).replace("$library",n.library||"");return'<a href="$href">Watch video!\n<script>$script</script></a>'.replace("$href",e.conf.origin||window.location.href).replace("$script",c)},s(t,".fp-embed","is-embedding"),o.on(t,"click",".fp-embed-code textarea",function(){u.select()}),o.on(t,"click",".fp-embed",function(){u.textContent=e.embedCode().replace(/(\r\n|\n|\r)/gm,""),u.focus(),u.select()})}});var s=function(e,t,n){function r(){a.remove(n),o.off(document,".st")}var a=l(e);o.on(e,"click",t||"a",function(e){e.preventDefault(),a.toggle(n),a.contains(n)&&(o.on(document,"keydown.st",function(e){27==e.which&&r()}),o.on(document,"click.st",function(e){i.hasParent(e.target,"."+n)||r()}))})}},{"../common":1,"../flowplayer":18,bean:20,"class-list":22,"extend-object":26,"is-object":28}],8:[function(e,t,n){"use strict";t.exports=function(e,t){t||(t=document.createElement("div"));var n={},r={},o=function(e,o,i){var a=e.split(".")[0],l=function(s){i&&(t.removeEventListener(a,l),n[e].splice(n[e].indexOf(l),1));var u=[s].concat(r[s.timeStamp+s.type]||[]);o&&o.apply(void 0,u)};t.addEventListener(a,l),n[e]||(n[e]=[]),n[e].push(l)};e.on=e.bind=function(t,n){var r=t.split(" ");return r.forEach(function(e){o(e,n)}),e},e.one=function(t,n){var r=t.split(" ");return r.forEach(function(e){o(e,n,!0)}),e};var i=function(e,t){return 0===t.filter(function(t){return-1===e.indexOf(t)}).length};e.off=e.unbind=function(r){var o=r.split(" ");return o.forEach(function(e){var r=e.split(".").slice(1),o=e.split(".")[0];Object.keys(n).filter(function(e){var t=e.split(".").slice(1);return(!o||0===e.indexOf(o))&&i(t,r)}).forEach(function(e){var r=n[e],o=e.split(".")[0];r.forEach(function(e){t.removeEventListener(o,e),r.splice(r.indexOf(e),1)})})}),e},e.trigger=function(n,o,i){if(n){o=(o||[]).length?o||[]:[o];var a,l=document.createEvent("Event");return a=n.type||n,l.initEvent(a,!1,!0),r[l.timeStamp+l.type]=o,t.dispatchEvent(l),i?l:e}}},t.exports.EVENTS=["beforeseek","disable","error","finish","fullscreen","fullscreen-exit","load","mute","pause","progress","ready","resume","seek","speed","stop","unload","volume","boot","shutdown"]},{}],9:[function(e,t,n){"use strict";var r,o=e("../flowplayer"),i=e("bean"),a=e("class-list"),l=(e("extend-object"),e("../common")),s=(o.support.browser.mozilla?"moz":"webkit","fullscreen"),u="fullscreen-exit",c=o.support.fullscreen,f=("function"==typeof document.exitFullscreen,navigator.userAgent.toLowerCase()),d=/(safari)[ \/]([\w.]+)/.exec(f)&&!/(chrome)[ \/]([\w.]+)/.exec(f);i.on(document,"fullscreenchange.ffscr webkitfullscreenchange.ffscr mozfullscreenchange.ffscr MSFullscreenChange.ffscr",function(e){var t=document.webkitCurrentFullScreenElement||document.mozFullScreenElement||document.fullscreenElement||document.msFullscreenElement||e.target;if(r||t.parentNode&&t.parentNode.getAttribute("data-flowplayer-instance-id")){var n=r||o(t.parentNode);t&&!r?r=n.trigger(s,[t]):(r.trigger(u,[r]),r=null)}}),o(function(e,t){var n=l.createElement("div",{className:"fp-player"});if(Array.prototype.map.call(t.children,l.identity).forEach(function(e){l.matches(e,".fp-ratio,script")||n.appendChild(e)}),t.appendChild(n),e.conf.fullscreen){var o,f,p=window,v=a(t);e.isFullscreen=!1,e.fullscreen=function(t){return e.disabled?void 0:(void 0===t&&(t=!e.isFullscreen),t&&(o=p.scrollY,f=p.scrollX),c?t?["requestFullScreen","webkitRequestFullScreen","mozRequestFullScreen","msRequestFullscreen"].forEach(function(e){return"function"==typeof n[e]?(n[e](Element.ALLOW_KEYBOARD_INPUT),!d||document.webkitCurrentFullScreenElement||document.mozFullScreenElement||n[e](),!1):void 0}):["exitFullscreen","webkitCancelFullScreen","mozCancelFullScreen","msExitFullscreen"].forEach(function(e){return"function"==typeof document[e]?(document[e](),!1):void 0}):e.trigger(t?s:u,[e]),e)};var m;e.on("mousedown.fs",function(){+new Date-m<150&&e.ready&&e.fullscreen(),m=+new Date}),e.on(s,function(n){v.add("is-fullscreen"),c||l.css(t,"position","fixed"),e.isFullscreen=!0}).on(u,function(n){var r;c||"html5"!==e.engine||(r=t.css("opacity")||"",l.css(t,"opacity",0)),c||l.css(t,"position",""),v.remove("is-fullscreen"),c||"html5"!==e.engine||setTimeout(function(){t.css("opacity",r)}),e.isFullscreen=!1,p.scrollTo(f,o)}).on("unload",function(){e.isFullscreen&&e.fullscreen()}),e.on("shutdown",function(){i.off(document,".ffscr"),r=null})}})},{"../common":1,"../flowplayer":18,bean:20,"class-list":22,"extend-object":26}],10:[function(e,t,n){"use strict";var r,o,i=e("../flowplayer"),a=e("bean"),l="is-help",s=e("../common"),u=e("class-list");a.on(document,"keydown.fp",function(e){var t=r,n=e.ctrlKey||e.metaKey||e.altKey,i=e.which,a=t&&t.conf,s=o&&u(o);if(t&&a.keyboard&&!t.disabled){if(-1!=[63,187,191].indexOf(i))return s.toggle(l),!1;if(27==i&&s.contains(l))return s.toggle(l),!1;if(!n&&t.ready){if(e.preventDefault(),e.shiftKey)return void(39==i?t.speed(!0):37==i&&t.speed(!1));if(58>i&&i>47)return t.seekTo(i-48);switch(i){case 38:case 75:t.volume(t.volumeLevel+.15);break;case 40:case 74:t.volume(t.volumeLevel-.15);break;case 39:case 76:t.seeking=!0,t.seek(!0);break;case 37:case 72:t.seeking=!0,t.seek(!1);break;case 190:t.seekTo();break;case 32:t.toggle();break;case 70:a.fullscreen&&t.fullscreen();break;case 77:t.mute();break;case 81:t.unload()}}}}),i(function(e,t){if(e.conf.keyboard){a.on(t,"mouseenter mouseleave",function(n){r=e.disabled||"mouseover"!=n.type?0:e,r&&(o=t)});var n=i.support.video&&"flash"!==e.conf.engine&&document.createElement("video").playbackRate?"<p><em>shift</em> + <em>&#8592;</em><em>&#8594;</em>slower / faster</p>":"";if(t.appendChild(s.createElement("div",{className:"fp-help"},'         <a class="fp-close"></a>         <div class="fp-help-section fp-help-basics">            <p><em>space</em>play / pause</p>            <p><em>q</em>unload | stop</p>            <p><em>f</em>fullscreen</p>'+n+'         </div>         <div class="fp-help-section">            <p><em>&#8593;</em><em>&#8595;</em>volume</p>            <p><em>m</em>mute</p>         </div>         <div class="fp-help-section">            <p><em>&#8592;</em><em>&#8594;</em>seek</p>            <p><em>&nbsp;. </em>seek to previous            </p><p><em>1</em><em>2</em>&hellip; <em>6</em> seek to 10%, 20% &hellip; 60% </p>         </div>   ')),
		e.conf.tooltip){var c=s.find(".fp-ui",t)[0];c.setAttribute("title","Hit ? for help"),a.one(t,"mouseout.tip",".fp-ui",function(){c.removeAttribute("title")})}a.on(t,"click",".fp-close",function(){u(t).toggle(l)}),e.bind("shutdown",function(){o==t&&(o=null)})}})},{"../common":1,"../flowplayer":18,bean:20,"class-list":22}],11:[function(e,t,n){"use strict";var r=e("../flowplayer"),o=/IEMobile/.test(window.navigator.userAgent),i=e("class-list"),a=e("../common"),l=e("bean"),s=e("./ui").format,u=window.navigator.userAgent;(r.support.touch||o)&&r(function(e,t){var n=/Android/.test(u)&&!/Firefox/.test(u)&&!/Opera/.test(u),c=/Silk/.test(u),f=n?parseFloat(/Android\ (\d\.\d)/.exec(u)[1],10):0,d=i(t);if(n&&!o){if(!/Chrome/.test(u)&&4>f){var p=e.load;e.load=function(t,n){var r=p.apply(e,arguments);return e.trigger("ready",[e,e.video]),r}}var v,m=0,h=function(e){v=setInterval(function(){e.video.time=++m,e.trigger("progress",[e,m])},1e3)};e.bind("ready pause unload",function(){v&&(clearInterval(v),v=null)}),e.bind("ready",function(){m=0}),e.bind("resume",function(t,n){return n.live?m?h(n):void e.one("progress",function(e,t,n){0===n&&h(t)}):void 0})}r.support.volume||(d.add("no-volume"),d.add("no-mute")),d.add("is-touch"),e.sliders&&e.sliders.timeline&&e.sliders.timeline.disableAnimation(),(!r.support.inlineVideo||e.conf.native_fullscreen)&&(e.conf.nativesubtitles=!0);var g=!1;l.on(t,"touchmove",function(){g=!0}),l.on(t,"touchend click",function(t){return g?void(g=!1):e.playing&&!d.contains("is-mouseover")?(d.add("is-mouseover"),d.remove("is-mouseout"),t.preventDefault(),void t.stopPropagation()):void(e.playing||e.splash||!d.contains("is-mouseout")||d.contains("is-mouseover")||setTimeout(function(){e.playing||e.splash||e.resume()},400))}),e.conf.native_fullscreen&&"function"==typeof document.createElement("video").webkitEnterFullScreen&&(e.fullscreen=function(){var e=a.find("video.fp-engine",t)[0];e.webkitEnterFullScreen(),l.one(e,"webkitendfullscreen",function(){a.prop(e,"controls",!0),a.prop(e,"controls",!1)})}),(n||c)&&e.bind("ready",function(){var n=a.find("video.fp-engine",t)[0];l.one(n,"canplay",function(){n.play()}),n.play(),e.bind("progress.dur",function(){var r=n.duration;1!==r&&(e.video.duration=r,a.find(".fp-duration",t)[0].innerHTML=s(r),e.unbind("progress.dur"))})})})},{"../common":1,"../flowplayer":18,"./ui":17,bean:20,"class-list":22}],12:[function(e,t,n){"use strict";var r=e("../flowplayer"),o=e("extend-object"),i=e("bean"),a=e("class-list"),l=e("../common"),s=e("./resolve"),u=new s,c=jQuery,f=/^#/;r(function(e,t){function n(){return l.find(v.query,r())}function r(){return f.test(v.query)?void 0:t}function d(){return l.find(v.query+"."+m,r())}function p(){var n=l.find(".fp-playlist",t)[0];if(!n){n=l.createElement("div",{className:"fp-playlist"});var r=l.find(".fp-next,.fp-prev",t);r.length?r[0].parentElement.insertBefore(n,r[0]):l.insertAfter(t,l.find("video",t)[0],n)}n.innerHTML="",e.conf.playlist[0].length&&(e.conf.playlist=e.conf.playlist.map(function(e){if("string"==typeof e){var t=e.split(s.TYPE_RE)[1];return{sources:[{type:"m3u8"===t.toLowerCase()?"application/x-mpegurl":"video/"+t,src:e}]}}return{sources:e.map(function(e){var t={};return Object.keys(e).forEach(function(n){t.type=/mpegurl/i.test(n)?"application/x-mpegurl":"video/"+n,t.src=e[n]}),t})}})),e.conf.playlist.forEach(function(e,t){var r=e.sources[0].src;n.appendChild(l.createElement("a",{href:r,"data-index":t}))})}var v=o({active:"is-active",advance:!0,query:".fp-playlist a"},e.conf),m=v.active,h=a(t);e.play=function(t){if(void 0===t)return e.resume();if("number"==typeof t&&!e.conf.playlist[t])return e;if("number"!=typeof t)return e.load.apply(null,arguments);var n=o({index:t},e.conf.playlist[t]);return t===e.video.index?e.load(n,function(){e.resume()}):(e.off("resume.fromfirst"),e.load(n,function(){e.video.index=t}),e)},e.next=function(t){t&&t.preventDefault();var n=e.video.index;return-1!=n&&(n=n===e.conf.playlist.length-1?0:n+1,e.play(n)),e},e.prev=function(t){t&&t.preventDefault();var n=e.video.index;return-1!=n&&(n=0===n?e.conf.playlist.length-1:n-1,e.play(n)),e},e.setPlaylist=function(t){return e.conf.playlist=t,delete e.video.index,p(),e},e.addPlaylistItem=function(t){return e.setPlaylist(e.conf.playlist.concat([t]))},e.removePlaylistItem=function(t){var n=e.conf.playlist;return e.setPlaylist(n.slice(0,t).concat(n.slice(t+1)))},i.on(t,"click",".fp-next",e.next),i.on(t,"click",".fp-prev",e.prev),v.advance&&e.off("finish.pl").on("finish.pl",function(e,t){if(t.video.loop)return t.seek(0,function(){t.resume()});var n=t.video.index>=0?t.video.index+1:void 0;n<t.conf.playlist.length||v.loop?(n=n===t.conf.playlist.length?0:n,h.remove("is-finished"),setTimeout(function(){t.play(n)})):t.conf.playlist.length>1&&t.one("resume.fromfirst",function(){return t.play(0),!1})});var g=!1;e.conf.playlist.length&&(g=!0,p(),e.conf.clip&&e.conf.clip.sources.length||(e.conf.clip=e.conf.playlist[0])),n().length&&!g&&(e.conf.playlist=[],n().forEach(function(t){var n=t.href;t.setAttribute("data-index",e.conf.playlist.length);var r=u.resolve(n,e.conf.clip.sources);c&&o(r,c(t).data()),e.conf.playlist.push(r)})),i.on(f.test(v.query)?document:t,"click",v.query,function(t){t.preventDefault();var n=t.currentTarget,r=Number(n.getAttribute("data-index"));-1!=r&&e.play(r)}),e.on("load",function(n,o,i){if(e.conf.playlist.length){var s=d()[0],u=s&&s.getAttribute("data-index"),c=i.index=i.index||e.video.index||0,f=l.find(v.query+'[data-index="'+c+'"]',r())[0],p=c==e.conf.playlist.length-1;s&&a(s).remove(m),f&&a(f).add(m),h.remove("video"+u),h.add("video"+c),l.toggleClass(t,"last-video",p),i.index=o.video.index=c,i.is_last=o.video.is_last=p}}).on("unload.pl",function(){e.conf.playlist.length&&(d().forEach(function(e){a(e).toggle(m)}),e.conf.playlist.forEach(function(e,t){h.remove("video"+t)}))}),e.conf.playlist.length&&(e.conf.loop=!1)})},{"../common":1,"../flowplayer":18,"./resolve":13,bean:20,"class-list":22,"extend-object":26}],13:[function(e,t,n){"use strict";function r(e){var t=e.attr("src"),n=e.attr("type")||"",r=t.split(i)[1];return n=n.toLowerCase(),a(e.data(),{src:t,suffix:r||n,type:n||r})}function o(e){return/mpegurl/i.test(e)?"application/x-mpegurl":"video/"+e}var i=/\.(\w{3,4})(\?.*)?$/i,a=e("extend-object");t.exports=function(){var e=this;e.sourcesFromVideoTag=function(e,t){var n=[];return t("source",e).each(function(){n.push(r(t(this)))}),!n.length&&e.length&&n.push(r(e)),n},e.resolve=function(e,t){return e?("string"==typeof e&&(e={src:e,sources:[]},e.sources=(t||[]).map(function(t){var n=t.src.split(i)[1];return{type:t.type,src:e.src.replace(i,"."+n+"$2")}})),e instanceof Array&&(e={sources:e.map(function(e){return e.type&&e.src?e:Object.keys(e).reduce(function(t,n){return a(t,{type:o(n),src:e[n]})},{})})}),e):{sources:t}}},t.exports.TYPE_RE=i},{"extend-object":26}],14:[function(e,t,n){"use strict";var r=e("class-list"),o=e("bean"),i=e("../common"),a=function(e,t){var n;return function(){n||(e.apply(this,arguments),n=1,setTimeout(function(){n=0},t))}},l=function(e,t){var n,l,s,u,c,f,d,p,v=(/iPad/.test(navigator.userAgent)&&!/CriOS/.test(navigator.userAgent),i.lastChild(e)),m=r(e),h=r(v),g=!1,y=function(){l=i.offset(e),s=i.width(e),u=i.height(e),f=c?u:s,p=E(d)},b=function(t){n||t==k.value||d&&!(d>t)||(o.fire(e,"slide",[t]),k.value=t)},w=function(e){var n=e.pageX||e.clientX;!n&&e.originalEvent&&e.originalEvent.touches&&e.originalEvent.touches.length&&(n=e.originalEvent.touches[0].pageX);var r=c?e.pageY-l.top:n-l.left;r=Math.max(0,Math.min(p||f,r));var o=r/f;return c&&(o=1-o),t&&(o=1-o),x(o,0,!0)},x=function(e,t){void 0===t&&(t=0),e>1&&(e=1);var n=Math.round(1e3*e)/10+"%";return(!d||d>=e)&&(h.remove("animated"),g?h.remove("animated"):(h.add("animated"),i.css(v,"transition-duration",(t||0)+"ms")),i.css(v,"width",n)),e},E=function(e){return Math.max(0,Math.min(f,c?(1-e)*u:e*s))},k={max:function(e){d=e},disable:function(e){n=e},slide:function(e,t,n){y(),n&&b(e),x(e,t)},disableAnimation:function(t,n){g=t!==!1,i.toggleClass(e,"no-animation",!!n)}};return y(),o.on(e,"mousedown.sld touchstart",function(e){if(e.preventDefault(),!n){var t=a(b,100);y(),k.dragging=!0,m.add("is-dragging"),b(w(e)),o.on(document,"mousemove.sld touchmove.sld",function(e){e.preventDefault(),t(w(e))}),o.one(document,"mouseup touchend",function(){k.dragging=!1,m.remove("is-dragging"),o.off(document,"mousemove.sld touchmove.sld")})}}),k};t.exports=l},{"../common":1,bean:20,"class-list":22}],15:[function(e,t,n){"use strict";var r=e("../flowplayer"),o=e("../common"),i=e("bean"),a=e("class-list");r.defaults.subtitleParser=function(e){function t(e){var t=e.split(":");return 2==t.length&&t.unshift(0),60*t[0]*60+60*t[1]+parseFloat(t[2].replace(",","."))}for(var n,r,o,i=/^(([0-9]{2}:){1,2}[0-9]{2}[,.][0-9]{3}) --\> (([0-9]{2}:){1,2}[0-9]{2}[,.][0-9]{3})(.*)/,a=[],l=0,s=e.split("\n"),u=s.length,c={};u>l;l++)if(r=i.exec(s[l])){for(n=s[l-1],o="<p>"+s[++l]+"</p><br/>";"string"==typeof s[++l]&&s[l].trim()&&l<s.length;)o+="<p>"+s[l]+"</p><br/>";c={title:n,startTime:t(r[1]),endTime:t(r[3]),text:o},a.push(c)}return a},r(function(e,t){var n,l,s,u,c=a(t),f=function(){u=o.createElement("a",{className:"fp-menu"});var n=o.createElement("ul",{className:"fp-dropdown fp-dropup"});return n.appendChild(o.createElement("li",{"data-subtitle-index":-1},"No subtitles")),(e.video.subtitles||[]).forEach(function(e,t){var r=e.srclang||"en",i=e.label||"Default ("+r+")",a=o.createElement("li",{"data-subtitle-index":t},i);n.appendChild(a)}),u.appendChild(n),o.find(".fp-controls",t)[0].appendChild(u),u};i.on(t,"click",".fp-menu",function(e){a(u).toggle("dropdown-open")}),i.on(t,"click",".fp-menu li[data-subtitle-index]",function(t){var n=t.target.getAttribute("data-subtitle-index");return"-1"===n?e.disableSubtitles():void e.loadSubtitles(n)});var d=function(){var e=o.find(".fp-player",t)[0];s=o.find(".fp-subtitle",t)[0],s=s||o.appendTo(o.createElement("div",{"class":"fp-subtitle"}),e),Array.prototype.forEach.call(s.children,o.removeNode),n=a(s),o.find(".fp-menu",t).forEach(o.removeNode),f()};e.on("ready",function(n,i,a){var l=i.conf;if(r.support.subtitles&&l.nativesubtitles&&"html5"==i.engine.engineName){var s=function(e){var n=o.find("video",t)[0].textTracks;n.length&&(n[0].mode=e)};if(!a.subtitles||!a.subtitles.length)return;var u=o.find("video.fp-engine",t)[0];return a.subtitles.forEach(function(e){u.appendChild(o.createElement("track",{kind:"subtitles",srclang:e.srclang||"en",label:e.label||"en",src:e.src,"default":e["default"]}))}),s("disabled"),void s("showing")}if(i.subtitles=[],d(),c.remove("has-menu"),e.disableSubtitles(),a.subtitles&&a.subtitles.length){c.add("has-menu");var f=a.subtitles.filter(function(e){return e["default"]})[0];f&&i.loadSubtitles(a.subtitles.indexOf(f))}}),e.bind("cuepoint",function(e,t,r){r.subtitle?(l=r.index,o.html(s,r.subtitle.text),n.add("fp-active")):r.subtitleEnd&&(n.remove("fp-active"),l=r.index)}),e.bind("seek",function(t,r,o){l&&e.cuepoints[l]&&e.cuepoints[l].time>o&&(n.remove("fp-active"),l=null),(e.cuepoints||[]).forEach(function(t){var n=t.subtitle;n&&l!=t.index?o>=t.time&&(!n.endTime||o<=n.endTime)&&e.trigger("cuepoint",[e,t]):t.subtitleEnd&&o>=t.time&&t.index==l+1&&e.trigger("cuepoint",[e,t])})});var p=function(e){o.toggleClass(o.find("li.active",t)[0],"active"),o.toggleClass(o.find('li[data-subtitle-index="'+e+'"]',t)[0],"active")};e.disableSubtitles=function(){return e.subtitles=[],(e.cuepoints||[]).forEach(function(t){(t.subtitle||t.subtitleEnd)&&e.removeCuepoint(t)}),s&&Array.prototype.forEach.call(s.children,o.removeNode),p(-1),e},e.loadSubtitles=function(t){e.disableSubtitles();var n=e.video.subtitles[t],r=n.src;return r?(p(t),o.xhrGet(r,function(t){var n=e.conf.subtitleParser(t);n.forEach(function(t){var n={time:t.startTime,subtitle:t,visible:!1};e.subtitles.push(t),e.addCuepoint(n),e.addCuepoint({time:t.endTime,subtitleEnd:t.title,visible:!1}),0!==t.startTime||e.video.time||e.trigger("cuepoint",[e,n])})},function(){return e.trigger("error",{code:8,url:r}),!1}),e):void 0}})},{"../common":1,"../flowplayer":18,bean:20,"class-list":22}],16:[function(e,t,n){"use strict";var r=e("../flowplayer"),o=e("extend-object");!function(){var e=function(e){var t=/Version\/(\d\.\d)/.exec(e);return t&&t.length>1?parseFloat(t[1],10):0},t=function(){var e=document.createElement("video");return e.loop=!0,e.autoplay=!0,e.preload=!0,e},n={},i=navigator.userAgent.toLowerCase(),a=/(chrome)[ \/]([\w.]+)/.exec(i)||/(safari)[ \/]([\w.]+)/.exec(i)||/(webkit)[ \/]([\w.]+)/.exec(i)||/(opera)(?:.*version|)[ \/]([\w.]+)/.exec(i)||/(msie) ([\w.]+)/.exec(i)||i.indexOf("compatible")<0&&/(mozilla)(?:.*? rv:([\w.]+)|)/.exec(i)||[];a[1]&&(n[a[1]]=!0,n.version=a[2]||"0");var l=t(),s=navigator.userAgent,u=n.msie||/Trident\/7/.test(s),c=/iPad|MeeGo/.test(s)&&!/CriOS/.test(s),f=/iPad/.test(s)&&/CriOS/.test(s),d=/iP(hone|od)/i.test(s)&&!/iPad/.test(s)&&!/IEMobile/i.test(s),p=/Android/.test(s)&&!/Firefox/.test(s),v=/Android/.test(s)&&/Firefox/.test(s),m=/Silk/.test(s),h=/IEMobile/.test(s),g=h?parseFloat(/Windows\ Phone\ (\d+\.\d+)/.exec(s)[1],10):0,y=h?parseFloat(/IEMobile\/(\d+\.\d+)/.exec(s)[1],10):0,b=(c?e(s):0,p?parseFloat(/Android\ (\d\.\d)/.exec(s)[1],10):0),w=o(r.support,{browser:n,subtitles:!!l.addTextTrack,fullscreen:"function"==typeof document.webkitCancelFullScreen&&!/Mac OS X 10_5.+Version\/5\.0\.\d Safari/.test(s)||document.mozFullScreenEnabled||"function"==typeof document.exitFullscreen||"function"==typeof document.msExitFullscreen,inlineBlock:!(u&&n.version<8),touch:"ontouchstart"in window,dataload:!c&&!d&&!h,zeropreload:!u&&!p,volume:!(c||p||d||m||f),cachedVideoTag:!(c||d||f||h),firstframe:!(d||c||p||m||f||h||v),inlineVideo:!d&&(!h||g>=8.1&&y>=11)&&(!p||b>=3),hlsDuration:!p&&(!n.safari||c||d||f),seekable:!c&&!f});try{var x=navigator.plugins["Shockwave Flash"],E=u?new ActiveXObject("ShockwaveFlash.ShockwaveFlash").GetVariable("$version"):x.description;u||x[0].enabledPlugin?(E=E.split(/\D+/),E.length&&!E[0]&&(E=E.slice(1)),w.flashVideo=E[0]>9||9==E[0]&&E[3]>=115):w.flashVideo=!1}catch(k){}try{w.video=!!l.canPlayType,w.video&&l.canPlayType("video/mp4")}catch(T){w.video=!1}w.animation=function(){for(var e=["","Webkit","Moz","O","ms","Khtml"],t=document.createElement("p"),n=0;n<e.length;n++)if("undefined"!=typeof t.style[e[n]+"AnimationName"])return!0}()}()},{"../flowplayer":18,"extend-object":26}],17:[function(e,t,n){"use strict";function r(e){return e=parseInt(e,10),e>=10?e:"0"+e}function o(e){e=e||0;var t=Math.floor(e/3600),n=Math.floor(e/60);return e-=60*n,t>=1?(n-=60*t,t+":"+r(n)+":"+r(e)):r(n)+":"+r(e)}var i=e("../flowplayer"),a=e("../common"),l=e("class-list"),s=e("bean"),u=e("./slider");i(function(e,t){function n(e){return a.find(".fp-"+e,t)[0]}function r(e){a.css(w,"padding-top",100*e+"%"),p.inlineBlock||a.height(a.find("object",t)[0],a.height(t))}function c(e){e?(v.add("is-mouseover"),v.remove("is-mouseout")):(v.add("is-mouseout"),v.remove("is-mouseover"))}var f,d=e.conf,p=i.support,v=l(t);a.find(".fp-ratio,.fp-ui",t).forEach(a.removeNode),v.add("flowplayer"),t.appendChild(a.createElement("div",{className:"fp-ratio"}));var m=a.createElement("div",{className:"fp-ui"},'         <div class="waiting"><em></em><em></em><em></em></div>         <a class="fullscreen"></a>         <a class="unload"></a>         <p class="speed"></p>         <div class="controls">            <a class="play"></a>            <div class="timeline">               <div class="buffer"></div>               <div class="progress"></div>            </div>            <div class="timeline-tooltip fp-tooltip"></div>            <div class="volume">               <a class="mute"></a>               <div class="volumeslider">                  <div class="volumelevel"></div>               </div>            </div>         </div>         <div class="time">            <em class="elapsed">00:00</em>            <em class="remaining"></em>            <em class="duration">00:00</em>         </div>         <div class="message"><h2></h2><p></p></div>'.replace(/class="/g,'class="fp-'));t.appendChild(m);var h=(n("progress"),n("buffer")),g=n("elapsed"),y=n("remaining"),b=n("waiting"),w=n("ratio"),x=n("speed"),E=l(x),k=n("duration"),T=n("controls"),S=n("timeline-tooltip"),C=a.css(w,"padding-top"),N=n("timeline"),O=u(N,e.rtl),j=(n("volume"),n("fullscreen")),P=n("volumeslider"),A=u(P,e.rtl),_=v.contains("fixed-controls")||v.contains("no-toggle");O.disableAnimation(v.contains("is-touch")),e.sliders=e.sliders||{},e.sliders.timeline=O,e.sliders.volume=A,p.animation||a.html(b,"<p>loading &hellip;</p>"),d.ratio&&r(d.ratio);try{d.fullscreen||a.removeNode(j)}catch(D){a.removeNode(j)}e.on("ready",function(e,n,i){var l=n.video.duration;O.disable(n.disabled||!l),d.adaptiveRatio&&!isNaN(i.height/i.width)&&r(i.height/i.width,!0),a.html([k,y],o(l)),a.toggleClass(t,"is-long",l>=3600),A.slide(n.volumeLevel),"flash"===n.engine.engineName?O.disableAnimation(!0,!0):O.disableAnimation(!1),a.find(".fp-title",m).forEach(a.removeNode),i.title&&a.prepend(m,a.createElement("div",{className:"fp-title"},i.title))}).on("unload",function(){C||a.css(w,"paddingTop",""),O.slide(0)}).on("buffer",function(){var t=e.video,n=t.buffer/t.duration;!t.seekable&&p.seekable&&O.max(n),1>n?a.css(h,"width",100*n+"%"):a.css(h,"width","100%")}).on("speed",function(e,t,n){a.text(x,n+"x"),E.add("fp-hilite"),setTimeout(function(){E.remove("fp-hilite")},1e3)}).on("buffered",function(){a.css(h,"width","100%"),O.max(1)}).on("progress",function(){var t=e.video.time,n=e.video.duration;O.dragging||O.slide(t/n,e.seeking?0:250),a.html(g,o(t)),a.html(y,"-"+o(n-t))}).on("finish resume seek",function(e){a.toggleClass(t,"is-finished","finish"==e.type)}).on("stop",function(){a.html(g,o(0)),O.slide(0,100)}).on("finish",function(){a.html(g,o(e.video.duration)),O.slide(1,100),v.remove("is-seeking")}).on("beforeseek",function(){}).on("volume",function(){A.slide(e.volumeLevel)}).on("disable",function(){var n=e.disabled;O.disable(n),A.disable(n),a.toggleClass(t,"is-disabled",e.disabled)}).on("mute",function(e,n,r){a.toggleClass(t,"is-muted",r)}).on("error",function(e,n,r){if(a.removeClass(t,"is-loading"),a.addClass(t,"is-error"),r){r.message=d.errors[r.code],n.error=!0;var o=a.find(".fp-message",t)[0],i=r.video||n.video;a.find("h2",o)[0].innerHTML=(n.engine&&n.engine.engineName||"html5")+": "+r.message,a.find("p",o)[0].innerHTML=r.url||i.url||i.src||d.errorUrls[r.code],n.off("mouseenter click"),v.remove("is-mouseover")}}),s.on(t,"mouseenter mouseleave",function(n){if(!_){var r,o="mouseover"==n.type;if(c(o),o){var i=function(){c(!0),r=new Date};e.on("pause.x volume.x",i),s.on(t,"mousemove.x",i),f=setInterval(function(){new Date-r>d.mouseoutTimeout&&(c(!1),r=new Date)},100)}else s.off(t,"mousemove.x"),e.off("pause.x volume.x"),clearInterval(f)}}),s.on(t,"mouseleave",function(){(O.dragging||A.dragging)&&(v.add("is-mouseover"),v.remove("is-mouseout"))}),s.on(t,"click.player",function(t){if(!e.disabled){var n=l(t.target);return n.contains("fp-ui")||n.contains("fp-engine")||t.flash?(t.preventDefault&&t.preventDefault(),e.toggle()):void 0}}),s.on(t,"mousemove",".fp-timeline",function(t){var n=t.pageX||t.clientX,r=n-a.offset(N).left,i=r/a.width(N),l=i*e.video.duration;0>i||(a.html(S,o(l)),a.css(S,"left",n-a.offset(T).left-a.width(S)/2+"px"))}),s.on(t,"contextmenu",function(e){var n=a.offset(a.find(".fp-player",t)[0]),r=window,o=e.clientX-n.left,i=e.clientY-(n.top+r.scrollY),l=a.find(".fp-context-menu",t)[0];l&&(e.preventDefault(),a.css(l,{left:o+"px",top:i+"px",display:"block"}),s.on(t,"click",".fp-context-menu",function(e){e.stopPropagation()}),s.on(document,"click.outsidemenu",function(e){a.css(l,"display","none"),s.off(document,"click.outsidemenu")}))}),e.on("flashdisabled",function(){v.add("is-flash-disabled"),e.one("ready",function(){v.remove("is-flash-disabled"),a.find(".fp-flash-disabled",t).forEach(a.removeNode)}),t.appendChild(a.createElement("div",{className:"fp-flash-disabled"},"Adobe Flash is disabled for this page, click player area to enable"))}),d.poster&&a.css(t,"background-image","url("+d.poster+")");var I=a.css(t,"background-color"),M="none"!=a.css(t,"background-image")||I&&"rgba(0, 0, 0, 0)"!=I&&"transparent"!=I;!M||d.splash||d.autoplay||e.on("ready stop",function(){v.add("is-poster"),e.one("progress",function(){v.remove("is-poster")})}),"string"==typeof d.splash&&a.css(t,"background-image","url('"+d.splash+"')"),!M&&e.forcedSplash&&a.css(t,"background-color","#555"),s.on(t,"click",".fp-toggle, .fp-play",function(){e.disabled||e.toggle()}),s.on(t,"click",".fp-mute",function(){e.mute()}),s.on(t,"click",".fp-fullscreen",function(){e.fullscreen()}),s.on(t,"click",".fp-unload",function(){e.unload()}),s.on(N,"slide",function(t){e.seeking=!0,e.seek(t*e.video.duration)}),s.on(P,"slide",function(t){e.volume(t)});var L=n("time");s.on(t,"click",".fp-time",function(){l(L).toggle("is-inverted")}),c(_),e.on("shutdown",function(){s.off(N),s.off(P)})}),t.exports.format=o},{"../common":1,"../flowplayer":18,"./slider":14,bean:20,"class-list":22}],18:[function(e,t,n){"use strict";function r(e,t,n){t&&t.embed&&(t.embed=o({},y.defaults.embed,t.embed));var r,d,v=e,m=a(v),h=o({},y.defaults,y.conf,t),g={},x=new w;m.add("is-loading");try{g=p?window.localStorage:g}catch(E){}var k=v.currentStyle&&"rtl"===v.currentStyle.direction||window.getComputedStyle&&null!==window.getComputedStyle(v,null)&&"rtl"===window.getComputedStyle(v,null).getPropertyValue("direction");k&&m.add("is-rtl");var T={conf:h,currentSpeed:1,volumeLevel:h.muted?0:"undefined"==typeof h.volume?1*g.volume:h.volume,video:{},disabled:!1,finished:!1,loading:!1,muted:"true"==g.muted||h.muted,paused:!1,playing:!1,ready:!1,splash:!1,rtl:k,load:function(e,t){if(!T.error&&!T.loading){T.video={},T.finished=!1,e=e||h.clip,e=o({},x.resolve(e,h.clip.sources)),(T.playing||T.engine)&&(e.autoplay=!0);var n=S(e);if(!n)return T.trigger("error",[T,{code:y.support.flashVideo?5:10}]);if(!n.engineName)throw new Error("engineName property of factory should be exposed");if(T.engine&&n.engineName===T.engine.engineName||(T.ready=!1,T.engine&&(T.engine.unload(),T.conf.autoplay=!0),d=T.engine=n(T,v),T.one("ready",function(){d.volume(T.volumeLevel)})),o(e,d.pick(e.sources.filter(function(e){return e.engine?e.engine===d.engineName:!0}))),e.src){e.src=s.createElement("a",{href:e.src}).href;var r=T.trigger("load",[T,e,d],!0);r.defaultPrevented?T.loading=!1:(d.load(e),i(e)&&(t=e),t&&T.one("ready",t))}return T}},pause:function(e){return!T.ready||T.seeking||T.loading||(d.pause(),T.one("pause",e)),T},resume:function(){return T.ready&&T.paused&&(d.resume(),T.finished&&(T.trigger("resume",[T]),T.finished=!1)),T},toggle:function(){return T.ready?T.paused?T.resume():T.pause():T.load()},seek:function(e,t){if(T.ready&&!T.live){if("boolean"==typeof e){var n=.1*T.video.duration;e=T.video.time+(e?n:-n)}e=r=Math.min(Math.max(e,0),T.video.duration).toFixed(1);var o=T.trigger("beforeseek",[T,e],!0);o.defaultPrevented?(T.seeking=!1,s.toggleClass(v,"is-seeking",T.seeking)):(d.seek(e),i(t)&&T.one("seek",t))}return T},seekTo:function(e,t){var n=void 0===e?r:.1*T.video.duration*e;return T.seek(n,t)},mute:function(e,t){return void 0===e&&(e=!T.muted),t||(g.muted=T.muted=e,g.volume=isNaN(g.volume)?h.volume:g.volume),T.volume(e?0:g.volume,!0),T.trigger("mute",[T,e]),T},volume:function(e,t){return T.ready&&(e=Math.min(Math.max(e,0),1),t||(g.volume=e),d.volume(e)),T},speed:function(e,t){return T.ready&&("boolean"==typeof e&&(e=h.speeds[h.speeds.indexOf(T.currentSpeed)+(e?1:-1)]||T.currentSpeed),d.speed(e),t&&v.one("speed",t)),T},stop:function(){return T.ready&&(T.pause(),T.seek(0,function(){T.trigger("stop")})),T},unload:function(){return m.contains("is-embedding")||(h.splash?(T.trigger("unload",[T]),d&&d.unload()):T.stop()),T},shutdown:function(){T.unload(),T.trigger("shutdown",[T]),l.off(v),delete c[v.getAttribute("data-flowplayer-instance-id")]},disable:function(e){return void 0===e&&(e=!T.disabled),e!=T.disabled&&(T.disabled=e,T.trigger("disable",e)),T}};T.conf=o(T.conf,h),u(T);var S=function(e){var t,n=y.engines;if(h.engine){var r=n.filter(function(e){return e.engineName===h.engine})[0];if(r&&e.sources.some(function(e){return e.engine&&e.engine!==r.engineName?!1:r.canPlay(e.type,T.conf)}))return r}return h.enginePreference&&(n=y.engines.filter(function(e){return h.enginePreference.indexOf(e.engineName)>-1}).sort(function(e,t){return h.enginePreference.indexOf(e.engineName)-h.enginePreference.indexOf(t.engineName)})),e.sources.some(function(e){var r=n.filter(function(t){return e.engine&&e.engine!==t.engineName?!1:t.canPlay(e.type,T.conf)}).shift();return r&&(t=r),!!r}),t};return v.getAttribute("data-flowplayer-instance-id")||(v.setAttribute("data-flowplayer-instance-id",b++),T.on("boot",function(){(h.splash||m.contains("is-splash")||!y.support.firstframe)&&(T.forcedSplash=!h.splash&&!m.contains("is-splash"),T.splash=h.autoplay=!0,h.splash||(h.splash=!0),m.add("is-splash")),h.splash&&s.find("video",v).forEach(s.removeNode),(h.live||m.contains("is-live"))&&(T.live=h.live=!0,m.add("is-live")),f.forEach(function(e){e(T,v)}),c.push(T),h.splash?T.unload():T.load(),h.disabled&&T.disable(),T.one("ready",n)}).on("load",function(e,t,n){h.splash&&s.find(".flowplayer.is-ready,.flowplayer.is-loading").forEach(function(e){var t=e.getAttribute("data-flowplayer-instance-id");if(t!==v.getAttribute("data-flowplayer-instance-id")){var n=c[Number(t)];n&&n.conf.splash&&n.unload()}}),m.add("is-loading"),t.loading=!0,"undefined"!=typeof n.live&&(s.toggleClass(v,"is-live",n.live),t.live=n.live)}).on("ready",function(e,t,n){n.time=0,t.video=n,m.remove("is-loading"),t.loading=!1,t.muted?t.mute(!0,!0):t.volume(t.volumeLevel);var r=t.conf.hlsFix&&/mpegurl/i.exec(n.type);s.toggleClass(v,"hls-fix",!!r)}).on("unload",function(e){m.remove("is-loading"),T.loading=!1}).on("ready unload",function(e){var t="ready"==e.type;s.toggleClass(v,"is-splash",!t),s.toggleClass(v,"is-ready",t),T.ready=t,T.splash=!t}).on("progress",function(e,t,n){t.video.time=n}).on("speed",function(e,t,n){t.currentSpeed=n}).on("volume",function(e,t,n){t.volumeLevel=Math.round(100*n)/100,t.muted?n&&t.mute(!1):g.volume=n}).on("beforeseek seek",function(e){T.seeking="beforeseek"==e.type,s.toggleClass(v,"is-seeking",T.seeking)}).on("ready pause resume unload finish stop",function(e,t,n){T.paused=/pause|finish|unload|stop/.test(e.type),T.paused=T.paused||"ready"===e.type&&!h.autoplay&&!T.playing,T.playing=!T.paused,s.toggleClass(v,"is-paused",T.paused),s.toggleClass(v,"is-playing",T.playing),T.load.ed||T.pause()}).on("finish",function(e){T.finished=!0}).on("error",function(){})),T.trigger("boot",[T,v]),T}var o=e("extend-object"),i=e("is-function"),a=e("class-list"),l=e("bean"),s=e("./common"),u=e("./ext/events"),c=[],f=[],d=(window.navigator.userAgent,window.onbeforeunload);window.onbeforeunload=function(e){return c.forEach(function(e){e.conf.splash?e.unload():e.bind("error",function(){s.find(".flowplayer.is-error .fp-message").forEach(s.removeNode)})}),d?d(e):void 0};var p=!1;try{"object"==typeof window.localStorage&&(window.localStorage.flowplayerTestStorage="test",p=!0)}catch(v){}var m=/Safari/.exec(navigator.userAgent)&&!/Chrome/.exec(navigator.userAgent),h=/(\d+\.\d+) Safari/.exec(navigator.userAgent),g=h?Number(h[1]):100,y=t.exports=function(e,t,n){if(i(e))return f.push(e);if("number"==typeof e||"undefined"==typeof e)return c[e||0];if(e.nodeType){if(null!==e.getAttribute("data-flowplayer-instance-id"))return c[e.getAttribute("data-flowplayer-instance-id")];if(!t)return;return r(e,t,n)}if(e.jquery)return y(e[0],t,n);if("string"==typeof e){var o=s.find(e)[0];return o&&y(o,t,n)}};o(y,{version:"6.0.3",engines:[],conf:{},set:function(e,t){"string"==typeof e?y.conf[e]=t:o(y.conf,e)},support:{},defaults:{debug:p?!!localStorage.flowplayerDebug:!1,disabled:!1,fullscreen:window==window.top,keyboard:!0,ratio:9/16,adaptiveRatio:!1,rtmp:0,proxy:"best",splash:!1,live:!1,swf:"//releases.flowplayer.org/6.0.3/flowplayer.swf",swfHls:"//releases.flowplayer.org/6.0.3/flowplayerhls.swf",speeds:[.25,.5,1,1.5,2],tooltip:!0,mouseoutTimeout:5e3,volume:p?"true"==localStorage.muted?0:isNaN(localStorage.volume)?1:localStorage.volume||1:1,errors:["","Video loading aborted","Network error","Video not properly encoded","Video file not found","Unsupported video","Skin not found","SWF file not found","Subtitles not found","Invalid RTMP URL","Unsupported video format. Try installing Adobe Flash."],errorUrls:["","","","","","","","","","","http://get.adobe.com/flashplayer/"],playlist:[],hlsFix:m&&8>g},bean:l,common:s,extend:o});var b=0,w=e("./ext/resolve");if("undefined"!=typeof jQuery){var x=jQuery;x(function(){"function"==typeof x.fn.flowplayer&&x('.flowplayer:has(video,script[type="application/json"])').flowplayer()});var E=function(e){if(!e.length)return{};var t=e.data()||{},n={};return x.each(["autoplay","loop","preload","poster"],function(r,o){var i=e.attr(o);void 0!==i&&-1!==["autoplay","poster"].indexOf(o)?n[o]=i?i:!0:void 0!==i&&(t[o]=i?i:!0)}),t.subtitles=e.find("track").map(function(){var e=x(this);return{src:e.attr("src"),kind:e.attr("kind"),label:e.attr("label"),srclang:e.attr("srclang"),"default":e.prop("default")}}).get(),t.sources=(new w).sourcesFromVideoTag(e,x),o(n,{clip:t})};x.fn.flowplayer=function(e,t){return this.each(function(){"string"==typeof e&&(e={swf:e}),i(e)&&(t=e,e={});var n=x(this),o=n.find('script[type="application/json"]'),a=o.length?JSON.parse(o.text()):E(n.find("video")),l=x.extend({},e||{},a,n.data()),s=r(this,l,t);u.EVENTS.forEach(function(e){s.on(e+".jquery",function(e){n.trigger.call(n,e.type,e.detail&&e.detail.args)})}),n.data("flowplayer",s)})}}},{"./common":1,"./ext/events":8,"./ext/resolve":13,bean:20,"class-list":22,"extend-object":26,"is-function":27}],19:[function(e,t,n){e("es5-shim");var r=t.exports=e("./flowplayer");e("./ext/support"),e("./engine/embed"),e("./engine/html5"),e("./engine/flash"),e("./ext/ui"),e("./ext/keyboard"),e("./ext/playlist"),e("./ext/cuepoint"),e("./ext/subtitle"),e("./ext/analytics"),e("./ext/embed"),e("./ext/fullscreen"),e("./ext/mobile"),r(function(e,t){function n(e){var t=document.createElement("a");return t.href=e,l.hostname(t.hostname)}var o=function(e,t){var n=e.className.split(" ");-1===n.indexOf(t)&&(e.className+=" "+t)},i=function(e){return"none"!==window.getComputedStyle(e).display},a=e.conf,l=r.common,s=l.createElement,u=a.swf.indexOf("flowplayer.org")&&a.e&&t.getAttribute("data-origin"),c=u?n(u):l.hostname(),f=(document,a.key);"file:"==location.protocol&&(c="localhost"),e.load.ed=1,a.hostname=c,a.origin=u||location.href,u&&o(t,"is-embedded"),"string"==typeof f&&(f=f.split(/,\s*/));var d=function(e,n){var r=s("a",{href:n,className:"fp-brand"});r.innerHTML=e,l.find(".fp-controls",t)[0].appendChild(r)};if(f&&"function"==typeof key_check&&key_check(f,c)){if(a.logo){var p=s("a",{href:u,className:"fp-logo"});a.embed&&a.embed.popup&&(p.target="_blank");var v=s("img",{src:a.logo});p.appendChild(v),t.appendChild(p)}a.brand&&u||a.brand&&a.brand.showOnOrigin?d(a.brand.text||a.brand,u||location.href):l.addClass(t,"no-brand")}else{d("flowplayer","http://flowplayer.org");var p=s("a",{href:"http://flowplayer.org"});t.appendChild(p);var m=s("div",{className:"fp-context-menu"},'<ul><li class="copyright">&copy; 2015</li><li><a href="http://flowplayer.org">About Flowplayer</a></li><li><a href="http://flowplayer.org/license">GPL based license</a></li></ul>'),h=window.location.href.indexOf("localhost"),g=l.find(".fp-player",t)[0];7!==h&&(g||t).appendChild(m),e.on("pause resume finish unload ready",function(e,n){l.removeClass(t,"no-brand");var r=-1;if(n.video.src)for(var o=[["org","flowplayer","drive"],["org","flowplayer","my"]],a=0;a<o.length&&(r=n.video.src.indexOf("://"+o[a].reverse().join(".")),-1===r);a++);if((4===r||5===r)&&l.addClass(t,"no-brand"),/pause|resume/.test(e.type)&&"flash"!=n.engine.engineName&&4!=r&&5!=r){var s={display:"block",position:"absolute",left:"16px",bottom:"46px",zIndex:99999,width:"100px",
		height:"20px",backgroundImage:"url("+[".png","logo","/",".net",".cloudfront","d32wqyuo10o653","//"].reverse().join("")+")"};for(var u in s)s.hasOwnProperty(u)&&(p.style[u]=s[u]);n.load.ed=i(p)&&(7===h||m.parentNode==t||m.parentNode==g)&&!l.hasClass(t,"no-brand"),n.load.ed||n.pause()}else p.style.display="none"})}})},{"./engine/embed":2,"./engine/flash":3,"./engine/html5":4,"./ext/analytics":5,"./ext/cuepoint":6,"./ext/embed":7,"./ext/fullscreen":9,"./ext/keyboard":10,"./ext/mobile":11,"./ext/playlist":12,"./ext/subtitle":15,"./ext/support":16,"./ext/ui":17,"./flowplayer":18,"es5-shim":25}],20:[function(t,n,r){!function(t,r,o){"undefined"!=typeof n&&n.exports?n.exports=o():"function"==typeof e&&e.amd?e(o):r[t]=o()}("bean",this,function(e,t){e=e||"bean",t=t||this;var n,r=window,o=t[e],i=/[^\.]*(?=\..*)\.|.*/,a=/\..*/,l="addEventListener",s="removeEventListener",u=document||{},c=u.documentElement||{},f=c[l],d=f?l:"attachEvent",p={},v=Array.prototype.slice,m=function(e,t){return e.split(t||" ")},h=function(e){return"string"==typeof e},g=function(e){return"function"==typeof e},y="click dblclick mouseup mousedown contextmenu mousewheel mousemultiwheel DOMMouseScroll mouseover mouseout mousemove selectstart selectend keydown keypress keyup orientationchange focus blur change reset select submit load unload beforeunload resize move DOMContentLoaded readystatechange message error abort scroll ",b="show input invalid touchstart touchmove touchend touchcancel gesturestart gesturechange gestureend textinput readystatechange pageshow pagehide popstate hashchange offline online afterprint beforeprint dragstart dragenter dragover dragleave drag drop dragend loadstart progress suspend emptied stalled loadmetadata loadeddata canplay canplaythrough playing waiting seeking seeked ended durationchange timeupdate play pause ratechange volumechange cuechange checking noupdate downloading cached updateready obsolete ",w=function(e,t,n){for(n=0;n<t.length;n++)t[n]&&(e[t[n]]=1);return e}({},m(y+(f?b:""))),x=function(){var e="compareDocumentPosition"in c?function(e,t){return t.compareDocumentPosition&&16===(16&t.compareDocumentPosition(e))}:"contains"in c?function(e,t){return t=9===t.nodeType||t===window?c:t,t!==e&&t.contains(e)}:function(e,t){for(;e=e.parentNode;)if(e===t)return 1;return 0},t=function(t){var n=t.relatedTarget;return n?n!==this&&"xul"!==n.prefix&&!/document/.test(this.toString())&&!e(n,this):null==n};return{mouseenter:{base:"mouseover",condition:t},mouseleave:{base:"mouseout",condition:t},mousewheel:{base:/Firefox/.test(navigator.userAgent)?"DOMMouseScroll":"mousewheel"}}}(),E=function(){var e=m("altKey attrChange attrName bubbles cancelable ctrlKey currentTarget detail eventPhase getModifierState isTrusted metaKey relatedNode relatedTarget shiftKey srcElement target timeStamp type view which propertyName"),t=e.concat(m("button buttons clientX clientY dataTransfer fromElement offsetX offsetY pageX pageY screenX screenY toElement")),n=t.concat(m("wheelDelta wheelDeltaX wheelDeltaY wheelDeltaZ axis")),o=e.concat(m("char charCode key keyCode keyIdentifier keyLocation location")),i=e.concat(m("data")),a=e.concat(m("touches targetTouches changedTouches scale rotation")),l=e.concat(m("data origin source")),s=e.concat(m("state")),f=/over|out/,d=[{reg:/key/i,fix:function(e,t){return t.keyCode=e.keyCode||e.which,o}},{reg:/click|mouse(?!(.*wheel|scroll))|menu|drag|drop/i,fix:function(e,n,r){return n.rightClick=3===e.which||2===e.button,n.pos={x:0,y:0},e.pageX||e.pageY?(n.clientX=e.pageX,n.clientY=e.pageY):(e.clientX||e.clientY)&&(n.clientX=e.clientX+u.body.scrollLeft+c.scrollLeft,n.clientY=e.clientY+u.body.scrollTop+c.scrollTop),f.test(r)&&(n.relatedTarget=e.relatedTarget||e[("mouseover"==r?"from":"to")+"Element"]),t}},{reg:/mouse.*(wheel|scroll)/i,fix:function(){return n}},{reg:/^text/i,fix:function(){return i}},{reg:/^touch|^gesture/i,fix:function(){return a}},{reg:/^message$/i,fix:function(){return l}},{reg:/^popstate$/i,fix:function(){return s}},{reg:/.*/,fix:function(){return e}}],p={},v=function(e,t,n){if(arguments.length&&(e=e||((t.ownerDocument||t.document||t).parentWindow||r).event,this.originalEvent=e,this.isNative=n,this.isBean=!0,e)){var o,i,a,l,s,u=e.type,c=e.target||e.srcElement;if(this.target=c&&3===c.nodeType?c.parentNode:c,n){if(s=p[u],!s)for(o=0,i=d.length;i>o;o++)if(d[o].reg.test(u)){p[u]=s=d[o].fix;break}for(l=s(e,this,u),o=l.length;o--;)!((a=l[o])in this)&&a in e&&(this[a]=e[a])}}};return v.prototype.preventDefault=function(){this.originalEvent.preventDefault?this.originalEvent.preventDefault():this.originalEvent.returnValue=!1},v.prototype.stopPropagation=function(){this.originalEvent.stopPropagation?this.originalEvent.stopPropagation():this.originalEvent.cancelBubble=!0},v.prototype.stop=function(){this.preventDefault(),this.stopPropagation(),this.stopped=!0},v.prototype.stopImmediatePropagation=function(){this.originalEvent.stopImmediatePropagation&&this.originalEvent.stopImmediatePropagation(),this.isImmediatePropagationStopped=function(){return!0}},v.prototype.isImmediatePropagationStopped=function(){return this.originalEvent.isImmediatePropagationStopped&&this.originalEvent.isImmediatePropagationStopped()},v.prototype.clone=function(e){var t=new v(this,this.element,this.isNative);return t.currentTarget=e,t},v}(),k=function(e,t){return f||t||e!==u&&e!==r?e:c},T=function(){var e=function(e,t,n,r){var o=function(n,o){return t.apply(e,r?v.call(o,n?0:1).concat(r):o)},i=function(n,r){return t.__beanDel?t.__beanDel.ft(n.target,e):r},a=n?function(e){var t=i(e,this);return n.apply(t,arguments)?(e&&(e.currentTarget=t),o(e,arguments)):void 0}:function(e){return t.__beanDel&&(e=e.clone(i(e))),o(e,arguments)};return a.__beanDel=t.__beanDel,a},t=function(t,n,r,o,i,a,l){var s,u=x[n];"unload"==n&&(r=j(P,t,n,r,o)),u&&(u.condition&&(r=e(t,r,u.condition,a)),n=u.base||n),this.isNative=s=w[n]&&!!t[d],this.customType=!f&&!s&&n,this.element=t,this.type=n,this.original=o,this.namespaces=i,this.eventType=f||s?n:"propertychange",this.target=k(t,s),this[d]=!!this.target[d],this.root=l,this.handler=e(t,r,null,a)};return t.prototype.inNamespaces=function(e){var t,n,r=0;if(!e)return!0;if(!this.namespaces)return!1;for(t=e.length;t--;)for(n=this.namespaces.length;n--;)e[t]==this.namespaces[n]&&r++;return e.length===r},t.prototype.matches=function(e,t,n){return!(this.element!==e||t&&this.original!==t||n&&this.handler!==n)},t}(),S=function(){var e={},t=function(n,r,o,i,a,l){var s=a?"r":"$";if(r&&"*"!=r){var u,c=0,f=e[s+r],d="*"==n;if(!f)return;for(u=f.length;u>c;c++)if((d||f[c].matches(n,o,i))&&!l(f[c],f,c,r))return}else for(var p in e)p.charAt(0)==s&&t(n,p.substr(1),o,i,a,l)},n=function(t,n,r,o){var i,a=e[(o?"r":"$")+n];if(a)for(i=a.length;i--;)if(!a[i].root&&a[i].matches(t,r,null))return!0;return!1},r=function(e,n,r,o){var i=[];return t(e,n,r,null,o,function(e){return i.push(e)}),i},o=function(t){var n=!t.root&&!this.has(t.element,t.type,null,!1),r=(t.root?"r":"$")+t.type;return(e[r]||(e[r]=[])).push(t),n},i=function(n){t(n.element,n.type,null,n.handler,n.root,function(t,n,r){return n.splice(r,1),t.removed=!0,0===n.length&&delete e[(t.root?"r":"$")+t.type],!1})},a=function(){var t,n=[];for(t in e)"$"==t.charAt(0)&&(n=n.concat(e[t]));return n};return{has:n,get:r,put:o,del:i,entries:a}}(),C=function(e){n=arguments.length?e:u.querySelectorAll?function(e,t){return t.querySelectorAll(e)}:function(){throw new Error("Bean: No selector engine installed")}},N=function(e,t){if(f||!t||!e||e.propertyName=="_on"+t){var n=S.get(this,t||e.type,null,!1),r=n.length,o=0;for(e=new E(e,this,!0),t&&(e.type=t);r>o&&!e.isImmediatePropagationStopped();o++)n[o].removed||n[o].handler.call(this,e)}},O=f?function(e,t,n){e[n?l:s](t,N,!1)}:function(e,t,n,r){var o;n?(S.put(o=new T(e,r||t,function(t){N.call(e,t,r)},N,null,null,!0)),r&&null==e["_on"+r]&&(e["_on"+r]=0),o.target.attachEvent("on"+o.eventType,o.handler)):(o=S.get(e,r||t,N,!0)[0],o&&(o.target.detachEvent("on"+o.eventType,o.handler),S.del(o)))},j=function(e,t,n,r,o){return function(){r.apply(this,arguments),e(t,n,o)}},P=function(e,t,n,r){var o,i,l=t&&t.replace(a,""),s=S.get(e,l,null,!1),u={};for(o=0,i=s.length;i>o;o++)n&&s[o].original!==n||!s[o].inNamespaces(r)||(S.del(s[o]),!u[s[o].eventType]&&s[o][d]&&(u[s[o].eventType]={t:s[o].eventType,c:s[o].type}));for(o in u)S.has(e,u[o].t,null,!1)||O(e,u[o].t,!1,u[o].c)},A=function(e,t){var r=function(t,r){for(var o,i=h(e)?n(e,r):e;t&&t!==r;t=t.parentNode)for(o=i.length;o--;)if(i[o]===t)return t},o=function(e){var n=r(e.target,this);n&&t.apply(n,arguments)};return o.__beanDel={ft:r,selector:e},o},_=f?function(e,t,n){var o=u.createEvent(e?"HTMLEvents":"UIEvents");o[e?"initEvent":"initUIEvent"](t,!0,!0,r,1),n.dispatchEvent(o)}:function(e,t,n){n=k(n,e),e?n.fireEvent("on"+t,u.createEventObject()):n["_on"+t]++},D=function(e,t,n){var r,o,l,s,u=h(t);if(u&&t.indexOf(" ")>0){for(t=m(t),s=t.length;s--;)D(e,t[s],n);return e}if(o=u&&t.replace(a,""),o&&x[o]&&(o=x[o].base),!t||u)(l=u&&t.replace(i,""))&&(l=m(l,".")),P(e,o,n,l);else if(g(t))P(e,null,t);else for(r in t)t.hasOwnProperty(r)&&D(e,r,t[r]);return e},I=function(e,t,r,o){var l,s,u,c,f,h,y;{if(void 0!==r||"object"!=typeof t){for(g(r)?(f=v.call(arguments,3),o=l=r):(l=o,f=v.call(arguments,4),o=A(r,l,n)),u=m(t),this===p&&(o=j(D,e,t,o,l)),c=u.length;c--;)y=S.put(h=new T(e,u[c].replace(a,""),o,l,m(u[c].replace(i,""),"."),f,!1)),h[d]&&y&&O(e,h.eventType,!0,h.customType);return e}for(s in t)t.hasOwnProperty(s)&&I.call(this,e,s,t[s])}},M=function(e,t,n,r){return I.apply(null,h(n)?[e,n,t,r].concat(arguments.length>3?v.call(arguments,5):[]):v.call(arguments))},L=function(){return I.apply(p,arguments)},F=function(e,t,n){var r,o,l,s,u,c=m(t);for(r=c.length;r--;)if(t=c[r].replace(a,""),(s=c[r].replace(i,""))&&(s=m(s,".")),s||n||!e[d])for(u=S.get(e,t,null,!1),n=[!1].concat(n),o=0,l=u.length;l>o;o++)u[o].inNamespaces(s)&&u[o].handler.apply(e,n);else _(w[t],t,e);return e},$=function(e,t,n){for(var r,o,i=S.get(t,n,null,!1),a=i.length,l=0;a>l;l++)i[l].original&&(r=[e,i[l].type],(o=i[l].handler.__beanDel)&&r.push(o.selector),r.push(i[l].original),I.apply(null,r));return e},R={on:I,add:M,one:L,off:D,remove:D,clone:$,fire:F,Event:E,setSelectorEngine:C,noConflict:function(){return t[e]=o,this}};if(r.attachEvent){var V=function(){var e,t=S.entries();for(e in t)t[e].type&&"unload"!==t[e].type&&D(t[e].element,t[e].type);r.detachEvent("onunload",V),r.CollectGarbage&&r.CollectGarbage()};r.attachEvent("onunload",V)}return C(),R})},{}],21:[function(t,n,r){(function(t){!function(o){function i(e){throw RangeError(I[e])}function a(e,t){for(var n=e.length;n--;)e[n]=t(e[n]);return e}function l(e,t){return a(e.split(D),t).join(".")}function s(e){for(var t,n,r=[],o=0,i=e.length;i>o;)t=e.charCodeAt(o++),t>=55296&&56319>=t&&i>o?(n=e.charCodeAt(o++),56320==(64512&n)?r.push(((1023&t)<<10)+(1023&n)+65536):(r.push(t),o--)):r.push(t);return r}function u(e){return a(e,function(e){var t="";return e>65535&&(e-=65536,t+=F(e>>>10&1023|55296),e=56320|1023&e),t+=F(e)}).join("")}function c(e){return 10>e-48?e-22:26>e-65?e-65:26>e-97?e-97:k}function f(e,t){return e+22+75*(26>e)-((0!=t)<<5)}function d(e,t,n){var r=0;for(e=n?L(e/N):e>>1,e+=L(e/t);e>M*S>>1;r+=k)e=L(e/M);return L(r+(M+1)*e/(e+C))}function p(e){var t,n,r,o,a,l,s,f,p,v,m=[],h=e.length,g=0,y=j,b=O;for(n=e.lastIndexOf(P),0>n&&(n=0),r=0;n>r;++r)e.charCodeAt(r)>=128&&i("not-basic"),m.push(e.charCodeAt(r));for(o=n>0?n+1:0;h>o;){for(a=g,l=1,s=k;o>=h&&i("invalid-input"),f=c(e.charCodeAt(o++)),(f>=k||f>L((E-g)/l))&&i("overflow"),g+=f*l,p=b>=s?T:s>=b+S?S:s-b,!(p>f);s+=k)v=k-p,l>L(E/v)&&i("overflow"),l*=v;t=m.length+1,b=d(g-a,t,0==a),L(g/t)>E-y&&i("overflow"),y+=L(g/t),g%=t,m.splice(g++,0,y)}return u(m)}function v(e){var t,n,r,o,a,l,u,c,p,v,m,h,g,y,b,w=[];for(e=s(e),h=e.length,t=j,n=0,a=O,l=0;h>l;++l)m=e[l],128>m&&w.push(F(m));for(r=o=w.length,o&&w.push(P);h>r;){for(u=E,l=0;h>l;++l)m=e[l],m>=t&&u>m&&(u=m);for(g=r+1,u-t>L((E-n)/g)&&i("overflow"),n+=(u-t)*g,t=u,l=0;h>l;++l)if(m=e[l],t>m&&++n>E&&i("overflow"),m==t){for(c=n,p=k;v=a>=p?T:p>=a+S?S:p-a,!(v>c);p+=k)b=c-v,y=k-v,w.push(F(f(v+b%y,0))),c=L(b/y);w.push(F(f(c,0))),a=d(n,g,r==o),n=0,++r}++n,++t}return w.join("")}function m(e){return l(e,function(e){return A.test(e)?p(e.slice(4).toLowerCase()):e})}function h(e){return l(e,function(e){return _.test(e)?"xn--"+v(e):e})}var g="object"==typeof r&&r,y="object"==typeof n&&n&&n.exports==g&&n,b="object"==typeof t&&t;(b.global===b||b.window===b)&&(o=b);var w,x,E=2147483647,k=36,T=1,S=26,C=38,N=700,O=72,j=128,P="-",A=/^xn--/,_=/[^ -~]/,D=/\x2E|\u3002|\uFF0E|\uFF61/g,I={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},M=k-T,L=Math.floor,F=String.fromCharCode;if(w={version:"1.2.4",ucs2:{decode:s,encode:u},decode:p,encode:v,toASCII:h,toUnicode:m},"function"==typeof e&&"object"==typeof e.amd&&e.amd)e("punycode",function(){return w});else if(g&&!g.nodeType)if(y)y.exports=w;else for(x in w)w.hasOwnProperty(x)&&(g[x]=w[x]);else o.punycode=w}(this)}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],22:[function(e,t,n){function r(e){function t(e){var t=c();a(t,e)>-1||(t.push(e),f(t))}function n(e){var t=c(),n=a(t,e);-1!==n&&(t.splice(n,1),f(t))}function r(e){return a(c(),e)>-1}function l(e){return r(e)?(n(e),!1):(t(e),!0)}function s(){return e.className}function u(e){var t=c();return t[e]||null}function c(){var t=e.className;return o(t.split(" "),i)}function f(t){var n=t.length;e.className=t.join(" "),p.length=n;for(var r=0;r<t.length;r++)p[r]=t[r];delete t[n]}var d=e.classList;if(d)return d;var p={add:t,remove:n,contains:r,toggle:l,toString:s,length:0,item:u};return p}function o(e,t){for(var n=[],r=0;r<e.length;r++)t(e[r])&&n.push(e[r]);return n}function i(e){return!!e}var a=e("indexof");t.exports=r},{indexof:23}],23:[function(e,t,n){var r=[].indexOf;t.exports=function(e,t){if(r)return e.indexOf(t);for(var n=0;n<e.length;++n)if(e[n]===t)return n;return-1}},{}],24:[function(e,t,n){function r(e,t,n,r){return n=window.getComputedStyle,r=n?n(e):e.currentStyle,r?r[t.replace(/-(\w)/gi,function(e,t){return t.toUpperCase()})]:void 0}t.exports=r},{}],25:[function(t,n,r){!function(t,o){"use strict";"function"==typeof e&&e.amd?e(o):"object"==typeof r?n.exports=o():t.returnExports=o()}(this,function(){var e,t=Array,n=t.prototype,r=Object,o=r.prototype,i=Function.prototype,a=String,l=a.prototype,s=Number,u=s.prototype,c=n.slice,f=n.splice,d=n.push,p=n.unshift,v=n.concat,m=i.call,h=Math.max,g=Math.min,y=o.toString,b="function"==typeof Symbol&&"symbol"==typeof Symbol.toStringTag,w=Function.prototype.toString,x=function(e){try{return w.call(e),!0}catch(t){return!1}},E="[object Function]",k="[object GeneratorFunction]";e=function(e){if("function"!=typeof e)return!1;if(b)return x(e);var t=y.call(e);return t===E||t===k};var T,S=RegExp.prototype.exec,C=function(e){try{return S.call(e),!0}catch(t){return!1}},N="[object RegExp]";T=function(e){return"object"!=typeof e?!1:b?C(e):y.call(e)===N};var O,j=String.prototype.valueOf,P=function(e){try{return j.call(e),!0}catch(t){return!1}},A="[object String]";O=function(e){return"string"==typeof e?!0:"object"!=typeof e?!1:b?P(e):y.call(e)===A};var _=function(e){var t,n=r.defineProperty&&function(){try{var e={};r.defineProperty(e,"x",{enumerable:!1,value:e});for(var t in e)return!1;return e.x===e}catch(n){return!1}}();return t=n?function(e,t,n,o){!o&&t in e||r.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:!0,value:n})}:function(e,t,n,r){!r&&t in e||(e[t]=n)},function(n,r,o){for(var i in r)e.call(r,i)&&t(n,i,r[i],o)}}(o.hasOwnProperty),D=function(e){var t=typeof e;return null===e||"object"!==t&&"function"!==t},I={ToInteger:function(e){var t=+e;return t!==t?t=0:0!==t&&t!==1/0&&t!==-(1/0)&&(t=(t>0||-1)*Math.floor(Math.abs(t))),t},ToPrimitive:function(t){var n,r,o;if(D(t))return t;if(r=t.valueOf,e(r)&&(n=r.call(t),D(n)))return n;if(o=t.toString,e(o)&&(n=o.call(t),D(n)))return n;throw new TypeError},ToObject:function(e){if(null==e)throw new TypeError("can't convert "+e+" to object");return r(e)},ToUint32:function(e){return e>>>0}},M=function(){};_(i,{bind:function(t){var n=this;if(!e(n))throw new TypeError("Function.prototype.bind called on incompatible "+n);for(var o,i=c.call(arguments,1),a=function(){if(this instanceof o){var e=n.apply(this,v.call(i,c.call(arguments)));return r(e)===e?e:this}return n.apply(t,v.call(i,c.call(arguments)))},l=h(0,n.length-i.length),s=[],u=0;l>u;u++)d.call(s,"$"+u);return o=Function("binder","return function ("+s.join(",")+"){ return binder.apply(this, arguments); }")(a),n.prototype&&(M.prototype=n.prototype,o.prototype=new M,M.prototype=null),o}});var L=m.bind(o.hasOwnProperty),F=m.bind(o.toString),$=m.bind(l.slice),R=m.bind(l.split),V=t.isArray||function(e){return"[object Array]"===F(e)},H=1!==[].unshift(0);_(n,{unshift:function(){return p.apply(this,arguments),this.length}},H),_(t,{isArray:V});var U=r("a"),q="a"!==U[0]||!(0 in U),z=function(e){var t=!0,n=!0;return e&&(e.call("foo",function(e,n,r){"object"!=typeof r&&(t=!1)}),e.call([1],function(){"use strict";n="string"==typeof this},"x")),!!e&&t&&n};_(n,{forEach:function(t){var n,r=I.ToObject(this),o=q&&O(this)?R(this,""):r,i=-1,a=o.length>>>0;if(arguments.length>1&&(n=arguments[1]),!e(t))throw new TypeError("Array.prototype.forEach callback must be a function");for(;++i<a;)i in o&&("undefined"!=typeof n?t.call(n,o[i],i,r):t(o[i],i,r))}},!z(n.forEach)),_(n,{map:function(n){var r,o=I.ToObject(this),i=q&&O(this)?R(this,""):o,a=i.length>>>0,l=t(a);if(arguments.length>1&&(r=arguments[1]),!e(n))throw new TypeError("Array.prototype.map callback must be a function");for(var s=0;a>s;s++)s in i&&("undefined"!=typeof r?l[s]=n.call(r,i[s],s,o):l[s]=n(i[s],s,o));return l}},!z(n.map)),_(n,{filter:function(t){var n,r,o=I.ToObject(this),i=q&&O(this)?R(this,""):o,a=i.length>>>0,l=[];if(arguments.length>1&&(r=arguments[1]),!e(t))throw new TypeError("Array.prototype.filter callback must be a function");for(var s=0;a>s;s++)s in i&&(n=i[s],("undefined"==typeof r?t(n,s,o):t.call(r,n,s,o))&&d.call(l,n));return l}},!z(n.filter)),_(n,{every:function(t){var n,r=I.ToObject(this),o=q&&O(this)?R(this,""):r,i=o.length>>>0;if(arguments.length>1&&(n=arguments[1]),!e(t))throw new TypeError("Array.prototype.every callback must be a function");for(var a=0;i>a;a++)if(a in o&&!("undefined"==typeof n?t(o[a],a,r):t.call(n,o[a],a,r)))return!1;return!0}},!z(n.every)),_(n,{some:function(t){var n,r=I.ToObject(this),o=q&&O(this)?R(this,""):r,i=o.length>>>0;if(arguments.length>1&&(n=arguments[1]),!e(t))throw new TypeError("Array.prototype.some callback must be a function");for(var a=0;i>a;a++)if(a in o&&("undefined"==typeof n?t(o[a],a,r):t.call(n,o[a],a,r)))return!0;return!1}},!z(n.some));var X=!1;n.reduce&&(X="object"==typeof n.reduce.call("es5",function(e,t,n,r){return r})),_(n,{reduce:function(t){var n=I.ToObject(this),r=q&&O(this)?R(this,""):n,o=r.length>>>0;if(!e(t))throw new TypeError("Array.prototype.reduce callback must be a function");if(0===o&&1===arguments.length)throw new TypeError("reduce of empty array with no initial value");var i,a=0;if(arguments.length>=2)i=arguments[1];else for(;;){if(a in r){i=r[a++];break}if(++a>=o)throw new TypeError("reduce of empty array with no initial value")}for(;o>a;a++)a in r&&(i=t(i,r[a],a,n));return i}},!X);var B=!1;n.reduceRight&&(B="object"==typeof n.reduceRight.call("es5",function(e,t,n,r){return r})),_(n,{reduceRight:function(t){var n=I.ToObject(this),r=q&&O(this)?R(this,""):n,o=r.length>>>0;if(!e(t))throw new TypeError("Array.prototype.reduceRight callback must be a function");if(0===o&&1===arguments.length)throw new TypeError("reduceRight of empty array with no initial value");var i,a=o-1;if(arguments.length>=2)i=arguments[1];else for(;;){if(a in r){i=r[a--];break}if(--a<0)throw new TypeError("reduceRight of empty array with no initial value")}if(0>a)return i;do a in r&&(i=t(i,r[a],a,n));while(a--);return i}},!B);var Y=n.indexOf&&-1!==[0,1].indexOf(1,2);_(n,{indexOf:function(e){var t=q&&O(this)?R(this,""):I.ToObject(this),n=t.length>>>0;if(0===n)return-1;var r=0;for(arguments.length>1&&(r=I.ToInteger(arguments[1])),r=r>=0?r:h(0,n+r);n>r;r++)if(r in t&&t[r]===e)return r;return-1}},Y);var W=n.lastIndexOf&&-1!==[0,1].lastIndexOf(0,-3);_(n,{lastIndexOf:function(e){var t=q&&O(this)?R(this,""):I.ToObject(this),n=t.length>>>0;if(0===n)return-1;var r=n-1;for(arguments.length>1&&(r=g(r,I.ToInteger(arguments[1]))),r=r>=0?r:n-Math.abs(r);r>=0;r--)if(r in t&&e===t[r])return r;return-1}},W);var K=function(){var e=[1,2],t=e.splice();return 2===e.length&&V(t)&&0===t.length}();_(n,{splice:function(e,t){return 0===arguments.length?[]:f.apply(this,arguments)}},!K);var Z=function(){var e={};return n.splice.call(e,0,0,1),1===e.length}();_(n,{splice:function(e,t){if(0===arguments.length)return[];var n=arguments;return this.length=h(I.ToInteger(this.length),0),arguments.length>0&&"number"!=typeof t&&(n=c.call(arguments),n.length<2?d.call(n,this.length-e):n[1]=I.ToInteger(t)),f.apply(this,n)}},!Z);var G=function(){var e=new t(1e5);return e[8]="x",e.splice(1,1),7===e.indexOf("x")}(),J=function(){var e=256,t=[];return t[e]="a",t.splice(e+1,0,"b"),"a"===t[e]}();_(n,{splice:function(e,t){for(var n,r=I.ToObject(this),o=[],i=I.ToUint32(r.length),l=I.ToInteger(e),s=0>l?h(i+l,0):g(l,i),u=g(h(I.ToInteger(t),0),i-s),f=0;u>f;)n=a(s+f),L(r,n)&&(o[f]=r[n]),f+=1;var d,p=c.call(arguments,2),v=p.length;if(u>v){for(f=s;i-u>f;)n=a(f+u),d=a(f+v),L(r,n)?r[d]=r[n]:delete r[d],f+=1;for(f=i;f>i-u+v;)delete r[f-1],f-=1}else if(v>u)for(f=i-u;f>s;)n=a(f+u-1),d=a(f+v-1),L(r,n)?r[d]=r[n]:delete r[d],f-=1;f=s;for(var m=0;m<p.length;++m)r[f]=p[m],f+=1;return r.length=i-u+v,o}},!G||!J);var Q=!{toString:null}.propertyIsEnumerable("toString"),ee=function(){}.propertyIsEnumerable("prototype"),te=!L("x","0"),ne=function(e){var t=e.constructor;return t&&t.prototype===e},re={$window:!0,$console:!0,$parent:!0,$self:!0,$frames:!0,$frameElement:!0,$webkitIndexedDB:!0,$webkitStorageInfo:!0},oe=function(){if("undefined"==typeof window)return!1;for(var e in window)if(!re["$"+e]&&L(window,e)&&null!==window[e]&&"object"==typeof window[e])try{ne(window[e])}catch(t){return!0}return!1}(),ie=function(e){if("undefined"==typeof window||!oe)return ne(e);try{return ne(e)}catch(t){return!1}},ae=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],le=ae.length,se=function(t){var n=F(t),r="[object Arguments]"===n;return r||(r=!V(t)&&null!==t&&"object"==typeof t&&"number"==typeof t.length&&t.length>=0&&e(t.callee)),r};_(r,{keys:function(t){var n=e(t),r=se(t),o=null!==t&&"object"==typeof t,i=o&&O(t);if(!o&&!n&&!r)throw new TypeError("Object.keys called on a non-object");var l=[],s=ee&&n;if(i&&te||r)for(var u=0;u<t.length;++u)d.call(l,a(u));if(!r)for(var c in t)s&&"prototype"===c||!L(t,c)||d.call(l,a(c));if(Q)for(var f=ie(t),p=0;le>p;p++){var v=ae[p];f&&"constructor"===v||!L(t,v)||d.call(l,v)}return l}});var ue=r.keys&&function(){return 2===r.keys(arguments).length}(1,2),ce=r.keys;_(r,{keys:function(e){return ce(se(e)?c.call(e):e)}},!ue);var fe=-621987552e5,de="-000001",pe=Date.prototype.toISOString&&-1===new Date(fe).toISOString().indexOf(de),ve=Date.prototype.toISOString&&"1969-12-31T23:59:59.999Z"!==new Date(-1).toISOString();_(Date.prototype,{toISOString:function(){var e,t,n,r,o;if(!isFinite(this))throw new RangeError("Date.prototype.toISOString called on non-finite value.");for(r=this.getUTCFullYear(),o=this.getUTCMonth(),r+=Math.floor(o/12),o=(o%12+12)%12,e=[o+1,this.getUTCDate(),this.getUTCHours(),this.getUTCMinutes(),this.getUTCSeconds()],r=(0>r?"-":r>9999?"+":"")+$("00000"+Math.abs(r),r>=0&&9999>=r?-4:-6),t=e.length;t--;)n=e[t],10>n&&(e[t]="0"+n);return r+"-"+c.call(e,0,2).join("-")+"T"+c.call(e,2).join(":")+"."+$("000"+this.getUTCMilliseconds(),-3)+"Z"}},pe||ve);var me=function(){try{return Date.prototype.toJSON&&null===new Date(NaN).toJSON()&&-1!==new Date(fe).toJSON().indexOf(de)&&Date.prototype.toJSON.call({toISOString:function(){return!0}})}catch(e){return!1}}();me||(Date.prototype.toJSON=function(t){var n=r(this),o=I.ToPrimitive(n);if("number"==typeof o&&!isFinite(o))return null;var i=n.toISOString;if(!e(i))throw new TypeError("toISOString property is not callable");return i.call(n)});var he=1e15===Date.parse("+033658-09-27T01:46:40.000Z"),ge=!isNaN(Date.parse("2012-04-04T24:00:00.500Z"))||!isNaN(Date.parse("2012-11-31T23:59:59.000Z"))||!isNaN(Date.parse("2012-12-31T23:59:60.000Z")),ye=isNaN(Date.parse("2000-01-01T00:00:00.000Z"));(!Date.parse||ye||ge||!he)&&(Date=function(e){var t=function(n,r,o,i,l,s,u){var c,f=arguments.length;return c=this instanceof e?1===f&&a(n)===n?new e(t.parse(n)):f>=7?new e(n,r,o,i,l,s,u):f>=6?new e(n,r,o,i,l,s):f>=5?new e(n,r,o,i,l):f>=4?new e(n,r,o,i):f>=3?new e(n,r,o):f>=2?new e(n,r):f>=1?new e(n):new e:e.apply(this,arguments),_(c,{constructor:t},!0),c},n=new RegExp("^(\\d{4}|[+-]\\d{6})(?:-(\\d{2})(?:-(\\d{2})(?:T(\\d{2}):(\\d{2})(?::(\\d{2})(?:(\\.\\d{1,}))?)?(Z|(?:([-+])(\\d{2}):(\\d{2})))?)?)?)?$"),r=[0,31,59,90,120,151,181,212,243,273,304,334,365],o=function(e,t){var n=t>1?1:0;return r[t]+Math.floor((e-1969+n)/4)-Math.floor((e-1901+n)/100)+Math.floor((e-1601+n)/400)+365*(e-1970)},i=function(t){return s(new e(1970,0,1,0,0,0,t))};for(var l in e)L(e,l)&&(t[l]=e[l]);_(t,{now:e.now,UTC:e.UTC},!0),t.prototype=e.prototype,_(t.prototype,{constructor:t},!0);var u=function(t){var r=n.exec(t);if(r){var a,l=s(r[1]),u=s(r[2]||1)-1,c=s(r[3]||1)-1,f=s(r[4]||0),d=s(r[5]||0),p=s(r[6]||0),v=Math.floor(1e3*s(r[7]||0)),m=Boolean(r[4]&&!r[8]),h="-"===r[9]?1:-1,g=s(r[10]||0),y=s(r[11]||0);return(d>0||p>0||v>0?24:25)>f&&60>d&&60>p&&1e3>v&&u>-1&&12>u&&24>g&&60>y&&c>-1&&c<o(l,u+1)-o(l,u)&&(a=60*(24*(o(l,u)+c)+f+g*h),a=1e3*(60*(a+d+y*h)+p)+v,m&&(a=i(a)),a>=-864e13&&864e13>=a)?a:NaN}return e.parse.apply(this,arguments)};return _(t,{parse:u}),t}(Date)),Date.now||(Date.now=function(){return(new Date).getTime()});var be=u.toFixed&&("0.000"!==8e-5.toFixed(3)||"1"!==.9.toFixed(0)||"1.25"!==1.255.toFixed(2)||"1000000000000000128"!==0xde0b6b3a7640080.toFixed(0)),we={base:1e7,size:6,data:[0,0,0,0,0,0],multiply:function(e,t){for(var n=-1,r=t;++n<we.size;)r+=e*we.data[n],we.data[n]=r%we.base,r=Math.floor(r/we.base)},divide:function(e){for(var t=we.size,n=0;--t>=0;)n+=we.data[t],we.data[t]=Math.floor(n/e),n=n%e*we.base},numToString:function(){for(var e=we.size,t="";--e>=0;)if(""!==t||0===e||0!==we.data[e]){var n=a(we.data[e]);""===t?t=n:t+=$("0000000",0,7-n.length)+n}return t},pow:function Ae(e,t,n){return 0===t?n:t%2===1?Ae(e,t-1,n*e):Ae(e*e,t/2,n)},log:function(e){for(var t=0,n=e;n>=4096;)t+=12,n/=4096;for(;n>=2;)t+=1,n/=2;return t}};_(u,{toFixed:function(e){var t,n,r,o,i,l,u,c;if(t=s(e),t=t!==t?0:Math.floor(t),0>t||t>20)throw new RangeError("Number.toFixed called with invalid number of decimals");if(n=s(this),n!==n)return"NaN";if(-1e21>=n||n>=1e21)return a(n);if(r="",0>n&&(r="-",n=-n),o="0",n>1e-21)if(i=we.log(n*we.pow(2,69,1))-69,l=0>i?n*we.pow(2,-i,1):n/we.pow(2,i,1),l*=4503599627370496,i=52-i,i>0){for(we.multiply(0,l),u=t;u>=7;)we.multiply(1e7,0),u-=7;for(we.multiply(we.pow(10,u,1),0),u=i-1;u>=23;)we.divide(1<<23),u-=23;we.divide(1<<u),we.multiply(1,1),we.divide(2),o=we.numToString()}else we.multiply(0,l),we.multiply(1<<-i,0),o=we.numToString()+$("0.00000000000000000000",2,2+t);return t>0?(c=o.length,o=t>=c?r+$("0.0000000000000000000",0,t-c+2)+o:r+$(o,0,c-t)+"."+$(o,c-t)):o=r+o,o}},be),2!=="ab".split(/(?:ab)*/).length||4!==".".split(/(.?)(.?)/).length||"t"==="tesst".split(/(s)*/)[1]||4!=="test".split(/(?:)/,-1).length||"".split(/.?/).length||".".split(/()()/).length>1?!function(){var e="undefined"==typeof/()??/.exec("")[1];l.split=function(t,n){var r=this;if("undefined"==typeof t&&0===n)return[];if(!T(t))return R(this,t,n);var o,i,a,l,s=[],u=(t.ignoreCase?"i":"")+(t.multiline?"m":"")+(t.unicode?"u":"")+(t.sticky?"y":""),f=0,p=new RegExp(t.source,u+"g");r+="",e||(o=new RegExp("^"+p.source+"$(?!\\s)",u));var v="undefined"==typeof n?-1>>>0:I.ToUint32(n);for(i=p.exec(r);i&&(a=i.index+i[0].length,!(a>f&&(d.call(s,$(r,f,i.index)),!e&&i.length>1&&i[0].replace(o,function(){for(var e=1;e<arguments.length-2;e++)"undefined"==typeof arguments[e]&&(i[e]=void 0)}),i.length>1&&i.index<r.length&&d.apply(s,c.call(i,1)),l=i[0].length,f=a,s.length>=v)));)p.lastIndex===i.index&&p.lastIndex++,i=p.exec(r);return f===r.length?(l||!p.test(""))&&d.call(s,""):d.call(s,$(r,f)),s.length>v?$(s,0,v):s}}():"0".split(void 0,0).length&&(l.split=function(e,t){return"undefined"==typeof e&&0===t?[]:R(this,e,t)});var xe=l.replace,Ee=function(){var e=[];return"x".replace(/x(.)?/g,function(t,n){d.call(e,n)}),1===e.length&&"undefined"==typeof e[0]}();Ee||(l.replace=function(t,n){var r=e(n),o=T(t)&&/\)[*?]/.test(t.source);if(r&&o){var i=function(e){var r=arguments.length,o=t.lastIndex;t.lastIndex=0;var i=t.exec(e)||[];return t.lastIndex=o,d.call(i,arguments[r-2],arguments[r-1]),n.apply(this,i)};return xe.call(this,t,i)}return xe.call(this,t,n)});var ke=l.substr,Te="".substr&&"b"!=="0b".substr(-1);_(l,{substr:function(e,t){var n=e;return 0>e&&(n=h(this.length+e,0)),ke.call(this,n,t)}},Te);var Se="	\n\f\r   ᠎             　\u2028\u2029\ufeff",Ce="​",Ne="["+Se+"]",Oe=new RegExp("^"+Ne+Ne+"*"),je=new RegExp(Ne+Ne+"*$"),Pe=l.trim&&(Se.trim()||!Ce.trim());_(l,{trim:function(){if("undefined"==typeof this||null===this)throw new TypeError("can't convert "+this+" to object");return a(this).replace(Oe,"").replace(je,"")}},Pe),(8!==parseInt(Se+"08")||22!==parseInt(Se+"0x16"))&&(parseInt=function(e){var t=/^0[xX]/;return function(n,r){var o=a(n).trim(),i=s(r)||(t.test(o)?16:10);return e(o,i)}}(parseInt))})},{}],26:[function(e,t,n){var r=[],o=r.forEach,i=r.slice;t.exports=function(e){return o.call(i.call(arguments,1),function(t){if(t)for(var n in t)e[n]=t[n]}),e}},{}],27:[function(e,t,n){function r(e){var t=o.call(e);return"[object Function]"===t||"function"==typeof e&&"[object RegExp]"!==t||"undefined"!=typeof window&&(e===window.setTimeout||e===window.alert||e===window.confirm||e===window.prompt)}t.exports=r;var o=Object.prototype.toString},{}],28:[function(e,t,n){"use strict";t.exports=function(e){return"object"==typeof e&&null!==e}},{}],29:[function(t,n,r){!function(t,r){"undefined"!=typeof n&&n.exports?n.exports=r():"function"==typeof e&&e.amd?e(r):this[t]=r()}("$script",function(){function e(e,t){for(var n=0,r=e.length;r>n;++n)if(!t(e[n]))return s;return 1}function t(t,n){e(t,function(e){return!n(e)})}function n(i,a,l){function s(e){return e.call?e():d[e]}function c(){if(!--y){d[g]=1,h&&h();for(var n in v)e(n.split("|"),s)&&!t(v[n],s)&&(v[n]=[])}}i=i[u]?i:[i];var f=a&&a.call,h=f?a:l,g=f?i.join(""):a,y=i.length;return setTimeout(function(){t(i,function e(t,n){return null===t?c():(t=n||-1!==t.indexOf(".js")||/^https?:\/\//.test(t)||!o?t:o+t+".js",m[t]?(g&&(p[g]=1),2==m[t]?c():setTimeout(function(){e(t,!0)},0)):(m[t]=1,g&&(p[g]=1),void r(t,c)))})},0),n}function r(e,t){var n,r=a.createElement("script");r.onload=r.onerror=r[f]=function(){r[c]&&!/^c|loade/.test(r[c])||n||(r.onload=r[f]=null,n=1,m[e]=2,t())},r.async=1,r.src=i?e+(-1===e.indexOf("?")?"?":"&")+i:e,l.insertBefore(r,l.lastChild)}var o,i,a=document,l=a.getElementsByTagName("head")[0],s=!1,u="push",c="readyState",f="onreadystatechange",d={},p={},v={},m={};return n.get=r,n.order=function(e,t,r){!function o(i){i=e.shift(),e.length?n(i,o):n(i,t,r)}()},n.path=function(e){o=e},n.urlArgs=function(e){i=e},n.ready=function(r,o,i){r=r[u]?r:[r];var a=[];return!t(r,function(e){d[e]||a[u](e)})&&e(r,function(e){return d[e]})?o():!function(e){v[e]=v[e]||[],v[e][u](o),i&&i(a)}(r.join("|")),n},n.done=function(e){n([null],e)},n})},{}]},{},[19])(19)});
	}

	if (typeof eds1_8 !== 'undefined')
		eds_flowplayer(eds1_8);
})();
;;;/*! fluidvids.js v2.4.1 | (c) 2014 @toddmotto | https://github.com/toddmotto/fluidvids */
!function(e,t){"function"==typeof define&&define.amd?define(t):"object"==typeof exports?module.exports=t:e.edn_fluidvids=t()}(this,function(){"use strict";function e(e){return new RegExp("^(https?:)?//(?:"+d.players.join("|")+").*$","i").test(e)}function t(e,t){return parseInt(e,10)/parseInt(t,10)*100+"%"}function i(i){if((e(i.src)||e(i.data))&&!i.getAttribute("edn_data-fluidvids")){var n=document.createElement("div");i.parentNode.insertBefore(n,i),i.className+=(i.className?" ":"")+"edn_fluidvids-item",i.setAttribute("edn_data-fluidvids","loaded"),n.className+="edn_fluidvids",n.style.paddingTop=t(i.height,i.width),n.appendChild(i)}}function n(){var e=document.createElement("div");e.innerHTML="<p>x</p><style>"+o+"</style>",r.appendChild(e.childNodes[1])}var d={selector:["iframe","object"],players:["www.youtube.com","player.vimeo.com"]},o=[".edn_fluidvids {","width: 100%; max-width: 100%; position: relative;","}",".edn_fluidvids-item {","position: absolute; top: 0px; left: 0px; width: 100%; height: 100%;","}"].join(""),r=document.head||document.getElementsByTagName("head")[0];return d.render=function(){for(var e=document.querySelectorAll(d.selector.join()),t=e.length;t--;)i(e[t])},d.init=function(e){for(var t in e)d[t]=e[t];d.render(),n()},d});
;;;!function(e,i,t){"use strict";var n="chameleonSlider_2_1",a=function(e,i){return-1!==e.indexOf(i,e.length-i.length)};e.fn[n]=function(o){var s=e.extend(!0,{},{content_source:"",container_dimensions:{width:750,height:400,w_as_ratio:!1,h_as_ratio:!1,height_references_width:!1},autoplay:{enable:!0,interval:4e3,pause_on_hover:!0,autostart_video_playback:!1,indicator:{display:!0,position:{vertical:"top",horizontal:"left",h_offset:0,v_offset:0,h_as_ratio:!1,v_as_ratio:!1,v_center_point:!1,h_center_point:!1},dimensions:{height:2,width:750,h_as_ratio:!1,w_as_ratio:!1},orientation:"horizontal",flip_direction:!1}},arrows:{display:!0,auto_hide:!0,hide_speed:250,prev:{position:{vertical:"top",horizontal:"left",h_offset:0,v_offset:183,h_as_ratio:!1,v_as_ratio:!1,v_center_point:!1,h_center_point:!1}},next:{position:{vertical:"top",horizontal:"right",h_offset:0,v_offset:183,h_as_ratio:!1,v_as_ratio:!1,v_center_point:!1,h_center_point:!1}}},autoplay_toggle:{display:!0,auto_hide:!0,hide_speed:250,position:{vertical:"top",horizontal:"left",h_offset:347,v_offset:130,h_as_ratio:!1,v_as_ratio:!1,v_center_point:!1,h_center_point:!1}},scrollable_boxes:{item_info:{display:!0,container:{dimensions:{height:100,width:750,h_as_ratio:!1,w_as_ratio:!1},resize_to_content:!0,show_on_hover:!1,position:{vertical:"top",horizontal:"left",h_offset:0,v_offset:2,h_as_ratio:!1,v_as_ratio:!1,v_center_point:!1,h_center_point:!1}}},gallery_info:{display:!1,container:{dimensions:{height:100,width:750,h_as_ratio:!1,w_as_ratio:!1},resize_to_content:!0,show_on_hover:!1,position:{vertical:"top",horizontal:"left",h_offset:0,v_offset:2,h_as_ratio:!1,v_as_ratio:!1,v_center_point:!1,h_center_point:!1}}}},thumbs:{display:!0,auto_hide:!1,hide_speed:250,width:100,height:46,captions:!0,display_item_types:!1,pagination:{direction:"horizontal",duration:250,easing:"swing"},tooltips:{enabled:!1,title:!0,description:!1,position:{my:"bottom center",at:"top center"},classes:""},container:{transparent:!0,dimensions:{height:20,width:679,h_as_ratio:!1,w_as_ratio:!1},position:{vertical:"bottom",horizontal:"left",h_offset:35,v_offset:0,h_as_ratio:!1,v_as_ratio:!1,v_center_point:!1,h_center_point:!1}}},categories:{display:!1,auto_hide:!1,hide_speed:250,width:100,height:46,pagination:{direction:"horizontal",duration:250,easing:"swing"},container:{dimensions:{height:20,width:679,h_as_ratio:!1,w_as_ratio:!1},position:{vertical:"bottom",horizontal:"left",h_offset:35,v_offset:0,h_as_ratio:!1,v_as_ratio:!1,v_center_point:!1,h_center_point:!1}}},pagination:{display:!0,pages_at_once:7,direction:"horizontal",position:{vertical:"bottom",horizontal:"right",h_offset:35,v_offset:58,h_as_ratio:!1,v_as_ratio:!1,v_center_point:!1,h_center_point:!1}},title_boxes:{current_item:{display:!1,height:35,position:{vertical:"bottom",horizontal:"left",h_offset:0,v_offset:200,h_as_ratio:!1,v_as_ratio:!1,v_center_point:!1,h_center_point:!1}},current_gallery:{display:!1,height:35,position:{vertical:"top",horizontal:"left",h_offset:0,v_offset:0,h_as_ratio:!1,v_as_ratio:!1,v_center_point:!1,h_center_point:!1}}},buttons:{email:{display:!1,position:{vertical:"top",horizontal:"right",h_offset:35,v_offset:58,h_as_ratio:!1,v_as_ratio:!1,v_center_point:!1,h_center_point:!1},email_subject:"Look at this link"},download:{display:!1,position:{vertical:"top",horizontal:"left",h_offset:35,v_offset:58,h_as_ratio:!1,v_as_ratio:!1,v_center_point:!1,h_center_point:!1}},fullscreen:{display:!1,position:{vertical:"top",horizontal:"left",h_offset:35,v_offset:58,h_as_ratio:!1,v_as_ratio:!1,v_center_point:!1,h_center_point:!1}},exit_fullscreen:{display:!1,position:{vertical:"bottom",horizontal:"right",h_offset:35,v_offset:58,h_as_ratio:!1,v_as_ratio:!1,v_center_point:!1,h_center_point:!1}}},social_buttons:{display:!1,direction:"horizontal",load_after_effect:!0,position:{vertical:"bottom",horizontal:"right",h_offset:35,v_offset:58,h_as_ratio:!1,v_as_ratio:!1,v_center_point:!1,h_center_point:!1},buttons:{facebook:{display:!0,html:'<iframe src="//www.facebook.com/plugins/like.php?href={location_href_encoded}&amp;layout=button_count&amp;show_faces=true&amp;action=like&amp;font&amp;colorscheme=light&amp;height=20" scrolling="no" frameborder="0" style="border:none; overflow:hidden; height:20px; width: 100px;" allowTransparency="true"></iframe>'},google:{display:!0,html:'<g:plusone size="medium" href="{location_href}" annotation="bubble"></g:plusone><script type="text/javascript">gapi.plusone.go();<\/script>'},twitter:{display:!0,html:'<a href="//twitter.com/share" class="twitter-share-button" data-url="{location_href}" data-count="horizontal">Tweet</a><script type="text/javascript" src="//platform.twitter.com/widgets.js"><\/script>'}},hideable:!1,container:{width:100,height:100}},main_panel:{display:!0,fill_panel:!1,stretch_small_image:!1,top_left_align:!1,drag_navigation:!1,immediately_preload_all_images:!1,dimensions:{width:750,height:400,h_as_ratio:!1,w_as_ratio:!1},position:{vertical:"top",horizontal:"left",h_offset:0,v_offset:0,h_as_ratio:!1,v_as_ratio:!1,v_center_point:!1,h_center_point:!1},trim:{top:0,bottom:0,left:0,right:0},transition:{duration:800,effects:[]}},lightbox_title:!1,lightbox_description:!1,key_browse:!0,redirect_on_click:!1,redirect_on_click_target:"_self",lightbox_on_click:!1,module_id:0,portal_id:0,article_id:0,filter_values:"",filter_types:"",locale:"",inhouse_player:"flowplayer",flowplayer_src:"",fullscreen_provider:"pp",pretty_photo_options:{},smb_options:{},smbLight_options:{},cycle_current_category:!0,open_at:null,modify_browser_history:!1,videoVolume:1},o),r=i.history.location||i.location;return this.each(function(){var o,l,d,c,_,p,h,g,m,u,f,y,b,v,w,x,j,k,z=e(this),T={trys:0},q=e('<div class="loading_slider_overlay" />'),M=e('<div class="indicator" />'),C=e("<p />"),E={category:{},item:{}},O=0,L={},H=e(),P={interval:"",last_started:0,pause_time:0,start_pause_delta:0,time_remaining:0,pause:!1,user_paused:!1,fade_in:!1,reset:!1,transition_in_progres:!1,video_playing:!1},I={container_dimensions:{},thumbs:{page:{vertical_space:0,horizontal_space:0,width:0,height:0,count:0},container:{},width:0,height:0,per_page:0,per_row:0,row_count:0,window_width:0,window_height:0},categories:{page:{vertical_space:0,horizontal_space:0,width:0,height:0,count:0},container:{},width:0,height:0,per_page:0,per_row:0,row_count:0,window_width:0,window_height:0,render_categories:!0},autoplay:{indicator:{}},title_boxes:{current_item:{},current_gallery:{}},scrollable_boxes:{item_info:{},gallery_info:{}},pagination:{pages_at_once:0,page:{width:0,height:0}},main_panel:{dimensions:{},initialized:!1,disable_clicking:!1,disable_clicking_interval:""},preloaded_images:{},preloading_item:!1,buttons:{email:{},download:{},fullscreen:{},exit_fullscreen:{}},html5:{video:!1},youtube_iframe_api:{called:!1,loaded:!1},youtube_player_object:void 0,mouse_entered:!1,item_details_shown:!1},S=function(e){var i=e.src;if(e.sizes)for(var t=0,n=e.sizes.length;t<n;t++){var a=e.sizes[t];if(a.width<I.main_panel.dimensions.width)break;i=a.src}return i},A=function(e){return"number"==typeof e&&(e=E.category.items[e]),"image"==e.type||("video"==e.type||"audio"==e.type)&&s.lightbox_on_click},Y={init:function(){s.container_dimensions.w_as_ratio||s.container_dimensions.h_as_ratio?(o=z.parent(),I.container_dimensions={width:s.container_dimensions.w_as_ratio?Math.round(o.width()*s.container_dimensions.width):s.container_dimensions.width,height:0},I.container_dimensions.height=s.container_dimensions.h_as_ratio?Math.round((s.container_dimensions.height_references_width?I.container_dimensions.width:o.height())*s.container_dimensions.height):s.container_dimensions.height,e(i).bind("resize.chameleonSlider",function(){clearTimeout(l),l=setTimeout(function(){I.container_dimensions={width:s.container_dimensions.w_as_ratio?Math.round(o.width()*s.container_dimensions.width):s.container_dimensions.width,height:0},I.container_dimensions.height=s.container_dimensions.h_as_ratio?Math.round((s.container_dimensions.height_references_width?I.container_dimensions.width:o.height())*s.container_dimensions.height):s.container_dimensions.height,z.trigger("resize_slider")},200)})):I.container_dimensions={width:s.container_dimensions.width,height:s.container_dimensions.height},z.width(I.container_dimensions.width).height(I.container_dimensions.height).append(q).bind("destroy",function(){clearTimeout(P.interval)}),q.width(I.container_dimensions.width).height(I.container_dimensions.height).append(M).show(0);try{I.html5.video=!!t.createElement("video").canPlayType}catch(e){}s.modify_browser_history&&e(i).on("popstate",function(e){Y.parse_slider_url_hash(r.hash),Y.show_item(E.item.index,!0,void 0,!0)}),Y.get_content_source()},get_content_source:function(){T.trys>3?C.is(":visible")?C.html("Unable to display the items (requesting the items failed)"):M.fadeOut(250,function(){(C=e("<p>Unable to display the items (requesting the items failed)</p>")).appendTo(q).css({display:"block",top:Math.floor((I.container_dimensions.height-C.outerHeight(!0))/2)})}):(T.trys+=1,e.ajax({dataType:"json",type:"get",url:s.content_source,timeout:3e5,data:"mid="+s.module_id+"&portal_id="+s.portal_id+"&locale="+s.locale+"&article_id="+s.article_id+"&html5_player="+(I.html5.video?"1":"0")+(""===s.filter_values?"":"&filter_values="+s.filter_values+"&filter_types="+s.filter_types),success:Y.load,complete:Y.ajax_callback,cache:!1}))},ajax_callback:function(e,i){"success"!==i&&Y.get_content_source()},parse_slider_url_hash:function(i){var t,n=i.substring(1),a=n.indexOf("/"),o=void 0;-1!==(a=(t=n.substring(a+1)).indexOf("/"))&&(-1!==(a=(o=t.substring(a+1)).indexOf("/"))&&(o=o.substring(0,a)),o||(o=void 0),t=t.substring(0,t.indexOf("/"))),(c={ids:t.split("-"),indexes:[]}).indexes=Y.category_indexes_from_ids(e.extend([],c.ids),d),0==c.indexes.length&&(c.indexes=[0],c.ids=[d[0].id]),E.category=Y.get_category(c.indexes),E.category.item_count=E.category.items.length,E.item={id:0,index:Y.item_index_from_id(o)},E.item.id=E.category.items[E.item.index].id},load:function(t){var n,a=r.hash.substring(1),o=a.indexOf("/"),l=-1==o?"":a.substring(0,o);0!=t.content.length?(d=t.content,null!=s.open_at?((c={ids:s.open_at.categories,indexes:[]}).indexes=Y.category_indexes_from_ids(e.extend([],c.ids),d),0==c.indexes.length&&(c.indexes=[0],c.ids=[d[0].id]),E.category=Y.get_category(c.indexes),E.category.item_count=E.category.items.length,E.item={id:0,index:Y.item_index_from_id(s.open_at.item)},E.item.id=E.category.items[E.item.index].id):l=="slider_"+s.module_id||l=="gallery_"+s.module_id?(Y.parse_slider_url_hash("#"+a),"smb"==s.fullscreen_provider&&l=="gallery_"+s.module_id&&E.category.item_count>0&&(n=[],s.smb_options.openAt=0,e.each(E.category.items,function(e,i){i.id===E.item.id&&(s.smb_options.openAt=e),n.push(i.smb_object)}),e("<div />").data("socialMediaBox",n).socialMediaBox(s.smb_options))):(c={ids:[d[0].id],indexes:[0]},E.category=d[0],E.category.item_count=E.category.items.length,E.item={id:void 0,index:Y.item_index_from_id(void 0)}),"YT"in i&&"Player"in i.YT&&(I.youtube_iframe_api.called=!0,I.youtube_iframe_api.loaded=!0),s.buttons.exit_fullscreen.display&&Y.exit_fullscreen.init(),s.autoplay.enable&&Y.autoplay.init(),s.pagination.display&&Y.pagination.init(),s.social_buttons.display&&Y.social_buttons.init(),s.buttons.email.display&&Y.email_button.init(),s.buttons.download.display&&Y.download_button.init(),s.buttons.fullscreen.display&&Y.fullscreen_button.init(),s.autoplay_toggle.display&&Y.autoplay_toggle.init(),s.arrows.display&&Y.arrows.init(),s.categories.display&&Y.categories.init(),s.thumbs.display&&Y.thumbnails.init(),s.title_boxes.current_item.display&&Y.item_title.init(),s.title_boxes.current_gallery.display&&Y.gallery_title.init(),s.scrollable_boxes.item_info.display&&Y.item_info.init(),s.scrollable_boxes.gallery_info.display&&Y.gallery_info.init(),s.main_panel.display?Y.main_panel.init():Y.triggers()):M.fadeOut(250,function(){(C=e("<p>"+(t.user_friendly_msg?t.user_friendly_msg:"There are no items to display.")+"</p>")).appendTo(q).css({display:"block",top:Math.floor((I.container_dimensions.height-C.outerHeight(!0))/2)})})},show_item:function(e,i,t,n){if(i=void 0!==i,(e=parseInt(e,10))!==E.item.index||i){"function"==typeof Y._on_pre_item_change&&(Y._on_pre_item_change(),Y._on_pre_item_change=void 0),P.video_playing=!1,e<0?e=E.category.item_count-1:e>=E.category.item_count&&(e=0),Y.autoplay.reset(),O=E.item.index;var a=E.category.items[e];if(E.item.index=e,E.item.id=a.id,Y.pagination.select(e),Y.thumbnails.select(e),I.item_details_shown=!1,(s.main_panel.immediately_preload_all_images||A(a)&&I.preloaded_images[a.src]&&I.preloaded_images[a.src].loaded)&&(I.item_details_shown=!0,Y.social_buttons.display(e),Y.item_title.select(e),Y.item_info.display(e),Y.download_button.display(e),Y.email_button.display(e)),s.modify_browser_history&&!n){var o,l=r.href.indexOf("#");o=-1==l?r.href:r.href.substring(0,l),o+="#slider_"+s.module_id+"/"+c.ids.join("-")+"/"+E.item.id,history.pushState(null,null,o)}s.main_panel.display?I.preloading_item||(void 0===t?Y.main_panel.display(e):Y.main_panel.display(e,t)):z.trigger("slider_transition_finnished")}},next:function(){var e,i=d.length;if(!s.cycle_current_category&&E.item.index==E.category.item_count-1)return e=c.indexes.pop()+1,0!=c.indexes.length&&(i=Y.get_category(c.indexes).children.length),e<i?c.indexes.push(e):c.indexes.push(0),c.ids=Y.category_ids_from_indexes(c.indexes),E.category=Y.get_category(c.indexes),E.category.item_count=E.category.items.length,E.item={id:E.category.items[0].id,index:0},I.categories.render_categories=!1,void Y.change_category();Y.show_item(E.item.index+1)},prev:function(){var e,i=d.length;if(!s.cycle_current_category&&0==E.item.index)return e=c.indexes.pop()-1,0!=c.indexes.length&&(i=Y.get_category(c.indexes).children.length),e<0?c.indexes.push(i-1):c.indexes.push(e),c.ids=Y.category_ids_from_indexes(c.indexes),E.category=Y.get_category(c.indexes),E.category.item_count=E.category.items.length,E.item={id:E.category.items[E.category.items.length-1].id,index:E.category.items.length-1},I.categories.render_categories=!1,void Y.change_category();Y.show_item(E.item.index-1)},pagination:{init:function(){var i;m=e('<div class="pagination" />'),u=e('<ul class="pages_container" />'),m.append(u),m.css("visibility","hidden"),z.prepend(m),Y.position_element(m,s.pagination.position),i=e("<li><span></span></li>"),u.append(i),I.pagination.page.width=i.outerWidth(!0),I.pagination.page.height=i.outerHeight(!0),m.css("visibility",""),Y.pagination.display_category(),Y.pagination.select(E.item.index),u.delegate("li","click",function(){return Y.show_item(e(this).index()),!1})},display_category:function(){if(s.pagination.display){var i=0,t="";for(m.css("display","none"),u.html(""),I.pagination.pages_at_once=E.category.item_count<s.pagination.pages_at_once?E.category.item_count:s.pagination.pages_at_once,"horizontal"===s.pagination.direction?(m.addClass("horizontal"),m.width(I.pagination.pages_at_once*I.pagination.page.width),m.height(I.pagination.page.height),u.width(E.category.item_count*I.pagination.page.width),u.height(I.pagination.page.height)):(m.addClass("vertical"),m.width(I.pagination.page.width),m.height(I.pagination.pages_at_once*I.pagination.page.height),u.width(I.pagination.page.width),u.height(E.category.item_count*I.pagination.page.height));i<E.category.item_count;i++)t+="<li><span></span></li>";f=e(t),u.append(f),m.css("display","")}},select:function(e){if(s.pagination.display){var i=Math.floor(I.pagination.pages_at_once/2),t=e-i,n={};t<0?t=0:e>=E.category.item_count-i&&(t=E.category.item_count-I.pagination.pages_at_once),n="horizontal"==s.pagination.direction?{left:-t*I.pagination.page.width}:{top:-t*I.pagination.page.height},u.stop().animate(n,250),f.removeClass("current"),f.eq(e).addClass("current")}}},social_buttons:{init:function(){y=e('<div class="social_buttons '+s.social_buttons.direction+'" />'),s.social_buttons.hideable?(b=e('<div class="social_buttons_toggle '+s.social_buttons.direction+'" />'),z.prepend(b),Y.position_element(b,s.social_buttons.position),y.fadeTo(200,0,function(){y.hide()}).data("visible",!1),z.prepend(y),Y.position_element(y,e.extend({},s.social_buttons.position,{h_offset:s.social_buttons.position.h_offset+b.outerWidth(!0)+5})),b.click(function(){y.data("visible")?(y.data("visible",!1).stop().fadeTo(200,0,function(){y.empty().hide()}),b.removeClass("active")):(y.data("visible",!0).stop().fadeTo(200,1),Y.social_buttons.display(E.item.index),b.addClass("active"))})):(z.prepend(y),Y.position_element(y,s.social_buttons.position)),Y.social_buttons.display(E.item.index)},display:function(e){if(s.social_buttons.display&&(!s.social_buttons.hideable||y.data("visible"))){var i,t="",n="";y.html(""),"string"==typeof E.category.items[e].social_button_url?n=E.category.items[e].social_button_url:(n=-1==r.href.indexOf("#")?r.href:r.href.substring(0,r.href.indexOf("#")),n=Y.set_url_param(Y.set_url_param(n,"edgpid",E.category.items[e].id),"edgmid",s.module_id)+"#slider_"+s.module_id+"/"+c.ids.join("-")+"/"+E.category.items[e].id+"/");for(i in s.social_buttons.buttons)s.social_buttons.buttons[i].display&&(t+='<div class="social_button">',t+=s.social_buttons.buttons[i].html.replace(/{location_href}/g,n).replace(/{location_href_encoded}/g,encodeURIComponent(n)),t+="</div>");P.transition_in_progres&&s.social_buttons.load_after_effect?(z.unbind("slider_transition_finnished.social_buttons"),z.bind("slider_transition_finnished.social_buttons",function(){y.html("").append(t)})):y.append(t)}}},_button:{init:function(i){I.buttons[i.type]=e('<a class="standalone_button'+(i.custom_class?" "+i.custom_class:"")+'" href="#">'+i.text+"</a>"),z.prepend(I.buttons[i.type]),Y.position_element(I.buttons[i.type],s.buttons[i.type].position)},display:function(e){e.target="string"==typeof e.target?e.target:"_self",I.buttons[e.type].attr({href:e.href,target:e.target})}},email_button:{init:function(){Y._button.init({type:"email",custom_class:"email",text:"Email this"}),Y.email_button.display(E.item.index)},display:function(e){var i,t=r.href.indexOf("#");s.buttons.email.display&&(i=-1==t?r.href:r.href.substring(0,t),i+="#slider_"+s.module_id+"/"+c.ids.join("-")+"/"+E.category.items[E.item.index].id,Y._button.display({type:"email",href:"mailto:?subject="+escape(s.buttons.email.email_subject)+"&body="+encodeURIComponent(i)}))}},download_button:{init:function(){Y._button.init({type:"download",custom_class:"download",text:"Download"}),Y.download_button.display(E.item.index)},display:function(e){var i=E.category.items[e].download_url;s.buttons.download.display&&(i=i||"#",Y._button.display({type:"download",href:i,target:"_blank"}),"#"==i?I.buttons.download.stop().fadeTo(200,0):I.buttons.download.stop().fadeTo(200,1))}},fullscreen_button:{init:function(){Y._button.init({type:"fullscreen",custom_class:"fullscreen",text:"Fullscreen"}),I.buttons.fullscreen.click(function(){return e(this)[n+"_fullscreen"](s.fullscreen_options),!1})}},exit_fullscreen:{init:function(){Y._button.init({type:"exit_fullscreen",custom_class:"exit_fullscreen",text:"Exit fullscreen"})}},main_panel:{init:function(){var n,a="mousedown",o="mousemove",r="mouseup";_=e('<div class="main_panel" />'),Y.main_panel.size(),p=e('<div class="items_wrapper" />'),_.append(p),z.prepend(_),(s.redirect_on_click||s.lightbox_on_click)&&(H=e('<a href="#" class="media_link" />'),s.redirect_on_click&&H.attr("target",s.redirect_on_click_target),_.append(H)),_.append('<div class="preloading_item" />'),!s.redirect_on_click&&s.lightbox_on_click&&(h=e('<div class="lightbox_links_container" style="display: none;"></div>'),p.append(h)),z.bind("slider_transition_finnished.main_panel",function(){P.transition_in_progres=!1}),Y.main_panel.display_category(!0),I.preloading_item||(Y.main_panel.display(E.item.index,""),Y.triggers()),s.main_panel.drag_navigation&&((n="ontouchstart"in i)&&(a="touchstart",o="touchmove",r="touchend"),_.delegate("a","click",function(e){I.main_panel.disable_clicking&&e.preventDefault()}).bind(a+".chameleon_"+s.module_id,function(e){n&&(e.originalEvent.touches&&e.originalEvent.touches.length?e=e.originalEvent.touches[0]:e.originalEvent.changedTouches&&e.originalEvent.changedTouches.length&&(e=e.originalEvent.changedTouches[0])),_.data("dragging",{start_position:{left:e.pageX,top:e.pageY}}),e.preventDefault()}),e(t).bind(o+".chameleon_"+s.module_id,function(e){var i,t;if("object"==typeof _.data("dragging")&&(t=_.data("dragging").start_position,I.main_panel.disable_clicking=!0,n&&(e.originalEvent.touches&&e.originalEvent.touches.length?e=e.originalEvent.touches[0]:e.originalEvent.changedTouches&&e.originalEvent.changedTouches.length&&(e=e.originalEvent.changedTouches[0])),!(Math.abs((t.top-e.pageY)/(e.pageX-t.left))>=1))){if(i=t.left-e.pageX,Math.abs(i)<50)return!1;_.data("dragging",!1),i<0?Y.prev():Y.next()}}).bind(r+".chameleon_"+s.module_id,function(e){_.data("dragging",!1),I.main_panel.disable_clicking_interval=setTimeout(function(){I.main_panel.disable_clicking=!1},10)})),I.main_panel.initialized=!0},size:function(){s.main_panel.display&&(I.main_panel.dimensions=Y.get_dimensions(s.main_panel.dimensions),I.main_panel.dimensions.height-=s.main_panel.trim.top+s.main_panel.trim.bottom,I.main_panel.dimensions.width-=s.main_panel.trim.left+s.main_panel.trim.right,Y.position_element(_,s.main_panel.position),_.width(I.main_panel.dimensions.width).height(I.main_panel.dimensions.height))},display_category:function(i){var t,n="",a=0,o=E.category.items[E.item.index],r=[];if(s.main_panel.display){if(A(o))if(I.preloading_item=!0,i)e("<img />").load(function(){I.preloading_item=!1,Y.main_panel.display(E.item.index,""),Y.triggers()}).error(function(){I.preloading_item=!1,Y.triggers()}).attr("src",o.src);else{_.addClass("loading_category");var l=function(){I.preloading_item=!1,Y.main_panel.display(E.item.index,""),_.removeClass("loading_category")};e("<img />").load(l).error(l).attr("src",o.src)}for(;a<E.category.item_count;a++){var d,c,p;if(t=E.category.items[a],s.main_panel.immediately_preload_all_images&&A(t)&&!I.preloaded_images[t.src]&&(I.preloaded_images[t.src]={loading:!0,loaded:!1},e("<img />").load({src:t.src},function(e){I.preloaded_images[e.data.src]={loading:!1,loaded:!0,width:this.width,height:this.height}}).attr("src",t.src)),!s.redirect_on_click&&s.lightbox_on_click)"image"==t.type||"video"==t.type||"audio"==t.type?(d=t.lightbox_url,c=t.download_url?t.download_url:"",p=t.src):(d="",c="",p=""),"pp"==s.fullscreen_provider?d&&(n+='<a href="'+d+'" rel="prettyPhoto_M'+s.module_id+'" edgmid="'+s.module_id+'" edgpid="'+t.id+'" downhref="'+c+(s.lightbox_description&&t.info?'" pptitle="'+t.info.replace('"',"&quot;"):"")+'"><img src="'+p+'" alt="'+(s.lightbox_title&&t.title?t.title:"")+'" /></a>'):"smb"==s.fullscreen_provider?e.isPlainObject(t.smb_object)&&!e.isEmptyObject(t.smb_object)&&r.push(t.smb_object):"smbLight"==s.fullscreen_provider&&e.isPlainObject(t.smbLight_object)&&!e.isEmptyObject(t.smbLight_object)&&r.push(t.smbLight_object)}!s.redirect_on_click&&s.lightbox_on_click&&("pp"==s.fullscreen_provider?(h.html(n),(g=h.find("> a")).prettyPhoto(s.pretty_photo_options)):"smb"==s.fullscreen_provider?h.data("socialMediaBox",r):"smbLight"==s.fullscreen_provider&&h.data("smbLightItems",r))}},display:function(i){var t,n="",a="",o=E.category.items[i];if(s.main_panel.display){P.transition_in_progres=!0,H.unbind("click"),2==arguments.length?a=n=arguments[1]:1==s.main_panel.transition.effects.length?a=n=s.main_panel.transition.effects[0]:s.main_panel.transition.effects.length>1&&(t=Math.floor(Math.random()*s.main_panel.transition.effects.length),a=n=s.main_panel.transition.effects[t]),"image"==o.type?(H.css("display","block"),s.redirect_on_click&&H.attr("href","string"==typeof o.on_click_url&&o.on_click_url?o.on_click_url:"#")):"video"==o.type||"audio"==o.type?(n="",a="",s.redirect_on_click||void 0!==o.html&&""!=o.html?H.css("display","none"):H.css("display","block")):"html"==o.type&&(a="","fade"!=n&&(n="show")),!s.redirect_on_click&&s.lightbox_on_click&&H.attr("href","#").click(function(){var i;return!I.main_panel.disable_clicking&&("pp"==s.fullscreen_provider?g.filter('a[edgpid="'+o.id+'"]').trigger("click"):"smb"==s.fullscreen_provider?(s.smb_options.openAt=0,e.each(h.data("socialMediaBox"),function(e,i){if(i.id===o.id)return s.smb_options.openAt=e,!1}),h.socialMediaBox(s.smb_options)):"smbLight"==s.fullscreen_provider&&(i=h.data("smbLightItems"),s.smbLight_options.openAt=0,e.each(i,function(e,i){if(i.id===o.id)return s.smbLight_options.openAt=e,!1}),new SmbLight_1(i,s.smbLight_options)),!1)}),"object"==typeof a?n=a.type:""==n&&(n="show"),void 0!=I.youtube_player_object&&(I.youtube_player_object.getIframe().src="",I.youtube_player_object.stopVideo(),I.youtube_player_object=void 0);var r=function(t){if(s.main_panel.immediately_preload_all_images||I.item_details_shown||(Y.social_buttons.display(E.item.index),Y.item_title.select(E.item.index),Y.item_info.display(E.item.index),Y.download_button.display(E.item.index),Y.email_button.display(E.item.index)),Y.main_panel._transitions[n]({item_index:i,effect_settings:a,item_src:t||o.src}),s.main_panel.fill_panel&&A(o)&&Y.main_panel._fit_image(p.find("> .item_container").filter(":last").find("> img")),!s.main_panel.immediately_preload_all_images){var l=E.category.items[E.item.index+1];if(l&&A(l)){var d=S(l);if(!I.preloaded_images[d]){I.preloaded_images[d]={loading:!0,loaded:!1};var c=E.category.id,_=E.item.index+1;e("<img />").load(function(e){I.preloaded_images[d]={loading:!1,loaded:!0,width:this.width,height:this.height},c==E.category.id&&_==E.item.index&&(r(d),Y.main_panel.remove_loading_effect("loading_item"))}).attr("src",d)}}}};if(A(o))if(s.main_panel.immediately_preload_all_images)r();else{var l=S(o);if(I.preloaded_images[l])I.preloaded_images[l].loaded&&(r(l),Y.main_panel.remove_loading_effect("loading_item"));else{Y.main_panel.show_loading_effect("loading_item"),I.preloaded_images[l]={loading:!0,loaded:!1};var d=E.category.id,c=E.item.index;e("<img />").load(function(e){I.preloaded_images[l]={loading:!1,loaded:!0,width:this.width,height:this.height},d==E.category.id&&c==E.item.index&&(r(l),Y.main_panel.remove_loading_effect("loading_item"))}).attr("src",l)}}else r()}},show_loading_effect:function(e){clearTimeout(_.data("loading_effect_timeout")),_.addClass(e+" loading_effect show_preload")},remove_loading_effect:function(e){_.removeClass("show_preload"),_.data("loading_effect_timeout",setTimeout(function(){_.removeClass(e+" loading_effect")},400))},_fit_image:function(i){var t=i.attr("src"),n=I.preloaded_images[t],a=function(e,i){var t,n,a,o=I.main_panel.dimensions.width,r=I.main_panel.dimensions.height;i.width==o&&i.height==r||(e.css({position:"relative"}),i.width>o||i.height>r||s.main_panel.stretch_small_image?(e.css({width:"100%",height:"auto"}),t=o/i.width,(n=Math.floor(i.height*t))<r?(t=r/i.height,a=Math.floor(i.width*t),e.css({height:"100%",width:"auto"}),s.main_panel.top_left_align||e.css({left:-Math.floor((a-o)/2)})):n>r&&!s.main_panel.top_left_align&&e.css({top:-Math.floor((n-r)/2)})):s.main_panel.top_left_align||(i.width<o&&e.css({left:Math.floor((o-i.width)/2)}),i.height<r&&e.css({top:Math.floor((r-i.height)/2)})))};n&&n.loaded?a(i,n):e("<img />").load({src:t,$img:i},function(e){I.preloaded_images[e.data.src]={loading:!1,loaded:!0,width:this.width,height:this.height},a(e.data.$img,I.preloaded_images[e.data.src])}).attr("src",t)},_transitions:{show:function(i){var t,n,a,o,r='<div class="item_container new_item">',l=E.category.items[i.item_index],d=p.find("> .item_container").eq(0),_=void 0===l.html||""==l.html?"":l.html,h="",g=!1;"html"!=l.type&&"video"!=l.type&&"audio"!=l.type||!_?r+='<img alt="'+("object"==typeof l.thumb&&l.thumb.caption?l.thumb.caption:"")+'" src="'+i.item_src+'" />':(""==(n=void 0===l.video_src||""==l.video_src?"":l.video_src)?s.autoplay.enable&&(h=Y._video.get_provider(_),a=Y._video.get_video_id(h,_)):(h=s.inhouse_player,a=n),""===h?r+=_:(g=!0,r+='<div id="'+(o="chameleon_video_container_"+s.module_id+"_"+c.indexes.join("-")+"_"+E.item.index+"_"+Math.round(1e5*Math.random()))+'"></div>')),t=e(r+="</div>"),p.find("> .item_container.new_item").removeClass("new_item"),t.css({width:I.main_panel.dimensions.width,height:I.main_panel.dimensions.height}).appendTo(p),g&&Y._video.player_setup({container:o,provider:h,id:a,dimensions:I.main_panel.dimensions}),d.hasClass("new_item")||d.remove(),g||z.trigger("slider_transition_finnished")},fade:function(i){var t,n=E.category.items[i.item_index],a="object"==typeof n.thumb&&n.thumb.caption?n.thumb.caption:"",o=void 0===n.html||""==n.html?"":n.html;"image"==n.type?t=e('<div class="item_container new_item"><img alt="'+a+'" src="'+i.item_src+'" /></div>'):o&&(t=e('<div class="item_container new_item">'+o+"</div>")),p.find("> .item_container.new_item").removeClass("new_item"),t.css({width:I.main_panel.dimensions.width,height:I.main_panel.dimensions.height,display:"none"}).appendTo(p).fadeIn(s.main_panel.transition.duration,function(){var e=p.find("> .item_container").eq(0);e.hasClass("new_item")||e.remove(),z.trigger("slider_transition_finnished")})},slide:function(i){var t=E.category.items[i.item_index],n="object"==typeof t.thumb&&t.thumb.caption?t.thumb.caption:"",a=e('<div class="item_container new_item"><img alt="'+n+'" src="'+i.item_src+'" /></div>'),o=p.find("> .item_container").filter(":last"),r="left",l=function(){var e=p.find("> .item_container").eq(0);e.hasClass("new_item")||e.remove(),z.trigger("slider_transition_finnished")};switch(i.effect_settings.force_horizontal?r=O<i.item_index?"left":"right":i.effect_settings.force_vertical?r=O<i.item_index?"up":"down":1==i.effect_settings.directions.length?r=i.effect_settings.directions[0]:i.effect_settings.directions.length>1&&(r=i.effect_settings.directions[Math.floor(Math.random()*i.effect_settings.directions.length)]),p.find("> .item_container.new_item").removeClass("new_item"),a.css({width:I.main_panel.dimensions.width,height:I.main_panel.dimensions.height}),r){case"down":a.css("top",-I.main_panel.dimensions.height).appendTo(p).animate({top:0},s.main_panel.transition.duration,"swing",l),o.animate({top:I.main_panel.dimensions.height},s.main_panel.transition.duration,"swing");break;case"up":a.css("top",I.main_panel.dimensions.height).appendTo(p).animate({top:0},s.main_panel.transition.duration,"swing",l),o.animate({top:-I.main_panel.dimensions.height},s.main_panel.transition.duration,"swing");break;case"right":a.css("left",-I.main_panel.dimensions.width).appendTo(p).animate({left:0},s.main_panel.transition.duration,"swing",l),o.animate({left:I.main_panel.dimensions.width},s.main_panel.transition.duration,"swing");break;default:a.css("left",I.main_panel.dimensions.width).appendTo(p).animate({left:0},s.main_panel.transition.duration,"swing",l),o.animate({left:-I.main_panel.dimensions.width},s.main_panel.transition.duration,"swing")}},stripes:function(i){var t,n,a,o=0,r=0,l=0,d=0,c=0,_=0,h=0,g=0,m=0,u=0,f=i.item_src,y=e.extend(!0,{orientation:"vertical",num_of_stripes:12,direction:0,start_at:0,randomize:{orientation:!1,direction:!1,start_at:!1}},i.effect_settings),b=Math.floor(s.main_panel.transition.duration/y.num_of_stripes),v=e('<div class="item_container new_item"></div>'),w=function(){var e=p.find("> .item_container").eq(0);e.hasClass("new_item")||e.remove(),z.trigger("slider_transition_finnished")},x=function(i,t){var n=o,a=r,p=function(){var e;e="horizontal"==y.orientation?{left:0,opacity:1}:{top:0,opacity:1},i.animate(e,{duration:s.main_panel.transition.duration,easing:"swing",complete:function(){0==y.start_at||2==y.start_at?t+1==y.num_of_stripes&&w():1==y.start_at?0==t&&w():t==Math.floor(y.num_of_stripes/2)&&w()}})};if("horizontal"==y.orientation?(c=t*r,_=0===y.direction?-o:1===y.direction?o:t%2==0?-o:o,h=m-c,g=u):(_=t*o,c=0===y.direction?-r:1===y.direction?r:t%2==0?-r:r,h=m,g=u-_),t+1==y.num_of_stripes&&(n=l,a=d),(i=e('<div class="fancy_effect_element" />')).css({width:n,height:a,top:c,left:_,opacity:0,background:"url('"+f+"') no-repeat "+g+"px "+h+"px "+z.css("background-color")}).appendTo(v),0===y.start_at)setTimeout(p,t*b+1);else if(1==y.start_at)setTimeout(p,(y.num_of_stripes-1-t)*b+1);else if(2==y.start_at||3==y.start_at){var x,j=0;y.num_of_stripes%2==0?(x=y.num_of_stripes/2,t<x?j=3==y.start_at?t:Math.abs(t-x+1):(j=t-x,3==y.start_at&&(j=x-1-j))):(x=Math.floor(y.num_of_stripes/2),j=t<x?x-t:t-x,3==y.start_at&&(j=x-j)),setTimeout(p,j*b+1)}};y.randomize.orientation&&(0==Math.floor(2*Math.random())?y.orientation="horizontal":y.orientation="vertical"),y.randomize.direction&&(y.direction=Math.floor(3*Math.random())),y.randomize.start_at&&(y.start_at=Math.floor(4*Math.random())),p.find("> .item_container.new_item").removeClass("new_item"),v.css({width:I.main_panel.dimensions.width,height:I.main_panel.dimensions.height}).appendTo(p),"horizontal"==y.orientation?(l=o=I.main_panel.dimensions.width,r=Math.ceil(I.main_panel.dimensions.height/y.num_of_stripes),d=0==(d=r*y.num_of_stripes-I.main_panel.dimensions.height)?r:r-d):(d=r=I.main_panel.dimensions.height,o=Math.ceil(I.main_panel.dimensions.width/y.num_of_stripes),l=0==(l=o*y.num_of_stripes-I.main_panel.dimensions.width)?o:o-l),t=I.preloaded_images[f],n=I.main_panel.dimensions.width,a=I.main_panel.dimensions.height,t.width==n&&t.height==a||(t.width<n?u=Math.floor((n-t.width)/2):t.width>n&&(u=-Math.floor((t.width-n)/2)),t.height<a?m=Math.floor((a-t.height)/2):t.height>a&&(m=-Math.floor((t.height-a)/2)));for(var j=0;j<y.num_of_stripes;j++)x(void 0,j)}}},_on_pre_item_change:void 0,_video:{get_provider:function(e){if("<iframe"==e.substring(0,7)){if(-1!==e.indexOf("youtube.com/embed/",7))return"youtube";if(-1!==e.indexOf("player.vimeo.com/video/",7))return"vimeo"}return""},get_video_id:function(i,t){var n,a;switch(i){case"youtube":case"vimeo":return-1!==(a=(n=e("<div>"+t+"</div>").find("iframe:first").attr("src")).indexOf("?"))&&(n=n.substring(0,a)),"/"==n[n.length-1]&&(n=n.substring(0,n.length-1)),n.substring(n.lastIndexOf("/")+1);default:return""}},player_setup:function(i){var t=e("#"+i.container);switch(t.css(i.dimensions),i.container=t,i.provider){case"youtube":Y._video._youtube_player(i);break;case"vimeo":Y._video._vimeo_player(i);break;case"flowplayer":Y._video._flow_player(i)}},_youtube_player:function(e){var n,a,o,l=e.container.attr("id")+"_object",d='<iframe id="'+l+'" type="text/html" width="'+e.dimensions.width+'" height="'+e.dimensions.height+'" src="//www.youtube.com/embed/'+e.id+"?enablejsapi=1&amp;wmode=transparent&amp;origin="+r.protocol+"//"+r.host+'" frameborder="0"></iframe>',c=function(){o=new YT.Player(l,{events:{onReady:function(){I.youtube_player_object=o,z.trigger("slider_transition_finnished"),s.autoplay.autostart_video_playback&&o.playVideo()},onStateChange:function(e){switch(e.data){case YT.PlayerState.PLAYING:P.video_playing=!0,Y.autoplay.reset();break;case YT.PlayerState.ENDED:setTimeout(Y.next,1e3)}}}})};e.container.append(d),I.youtube_iframe_api.called||(I.youtube_iframe_api.called=!0,(n=t.createElement("script")).src="//www.youtube.com/iframe_api",(a=t.getElementsByTagName("script")[0]).parentNode.insertBefore(n,a)),I.youtube_iframe_api.loaded?c():i.onYouTubeIframeAPIReady=function(){I.youtube_iframe_api.loaded=!0,c()}},_vimeo_player:function(t){var n=!1,a=function(e,i){var t={method:e};i&&(t.value=i),r[0].contentWindow.postMessage(JSON.stringify(t),"https://player.vimeo.com")},o=function(e){switch(JSON.parse(e.data).event){case"ready":z.trigger("slider_transition_finnished"),a("addEventListener","finish"),a("addEventListener","play"),s.autoplay.autostart_video_playback&&a("play");break;case"play":if(n)break;P.video_playing=n=!0,Y.autoplay.reset();break;case"finish":setTimeout(Y.next,1e3)}},r=e('<iframe src="//player.vimeo.com/video/'+t.id+'?api=1" width="'+t.dimensions.width+'" height="'+t.dimensions.height+'" frameborder="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen></iframe>');Y._on_pre_item_change=function(){i.addEventListener?i.removeEventListener("message",o,!1):i.detachEvent("onmessage",o)},i.addEventListener?i.addEventListener("message",o,!1):i.attachEvent("onmessage",o),t.container.append(r)},_flow_player:function(e){var i=!1,t="";a(e.id,".mp4")?t="video/mp4":a(e.id,".webm")?t="video/webm":a(e.id,".ogg")?t="video/ogg":a(e.id,".flv")&&(t="video/flash"),flowplayer(e.container[0],{swf:s.flowplayer_src,volume:s.videoVolume,clip:{sources:[{type:t,src:e.id}]}}).on("ready",function(){z.trigger("slider_transition_finnished"),s.autoplay.autostart_video_playback&&flowplayer(e.container).play()}).on("resume",function(){s.autoplay.enable&&!i&&(i=!0,P.video_playing=!0,Y.autoplay.reset())}).on("finish",function(){s.autoplay.enable&&setTimeout(Y.next,1e3)})}},key_browse:function(){e(t).keyup(function(e){return 37===e.keyCode&&Y.prev(),39===e.keyCode&&Y.next(),!1})},_scrollable_boxes:{init:function(i){var t,n=s.scrollable_boxes[i.box];(t=I.scrollable_boxes[i.box]={jq:{container:e('<div class="scrollable_box'+(i.custom_class?" "+i.custom_class:"")+'" />').data("disabled",!1),viewport:e('<div class="viewport" />'),content:e('<div class="overview" />'),scrollbar:e()}}).jq.container.append(t.jq.viewport),t.jq.viewport.append(t.jq.content),z.prepend(t.jq.container),Y._scrollable_boxes.size(i.box),n.container.resize_to_content||t.jq.container.height(t.dimensions.height),Y._scrollable_boxes.display(i),n.container.show_on_hover&&z.hover(function(){I.mouse_entered=!0,0==t.jq.container.data("disabled")&&t.jq.container.stop(!0).fadeTo(200,1,function(){t.jq.container.css("display","block")})},function(){I.mouse_entered=!1,0==t.jq.container.data("disabled")&&t.jq.container.stop(!0).fadeTo(200,0,function(){t.jq.container.css("display","none")})})},size:function(i){var t=I.scrollable_boxes[i],n=s.scrollable_boxes[i];n.display&&(t.jq.scrollbar.remove(),t.jq.scrollbar=e('<div class="scrollbar"><div class="track"><div class="thumb"><div class="end"></div></div></div></div>'),t.dimensions=Y.get_dimensions(n.container.dimensions),Y.position_element(t.jq.container,n.container.position),t.dimensions.height>I.container_dimensions.height&&(t.dimensions.height=I.container_dimensions.height),t.dimensions.width>I.container_dimensions.width&&(t.dimensions.width=I.container_dimensions.width),t.jq.container.width(t.dimensions.width).css({maxHeight:t.dimensions.height}).append(t.jq.scrollbar).eds_tinyscrollbar({size:t.dimensions.height-(t.jq.scrollbar.outerHeight(!0)-t.jq.scrollbar.height())}).hide(0),t.jq.viewport.css({maxHeight:t.dimensions.height-t.jq.viewport.outerHeight(!0)}),n.container.resize_to_content||t.jq.container.height(t.dimensions.height))},display:function(e){var i=I.scrollable_boxes[e.box],t=s.scrollable_boxes[e.box],n=function(){var e=function(){i.jq.viewport.stop(!0).fadeTo(200,1,function(){i.jq.scrollbar.css("display","block")}),i.jq.scrollbar.hasClass("disable")||i.jq.scrollbar.stop(!0).fadeTo(200,1,function(){i.jq.scrollbar.css("display","block")})};i.jq.viewport.css({visibility:"",display:"none"}),t.container.show_on_hover?I.mouse_entered?e():(i.jq.viewport.css({display:"block"}),i.jq.scrollbar.hasClass("disable")||i.jq.scrollbar.css({display:"block"})):e()};t.display&&("string"==typeof e.content&&e.content?(i.jq.container.data("disabled",!1),i.jq.container.is(":visible")?(i.jq.container.css({height:i.jq.container.height()}),i.jq.scrollbar.stop(!0).fadeTo(200,0,function(){i.jq.scrollbar.css("display","none")}),i.jq.viewport.stop(!0).fadeTo(200,0,function(){i.jq.content.html(e.content),i.jq.viewport.css({visibility:"hidden",display:"block"}).removeClass("scrollable"),i.jq.container.data("plugin_eds_tinyscrollbar").update(),i.jq.scrollbar.hasClass("disable")||(i.jq.viewport.addClass("scrollable"),i.jq.container.data("plugin_eds_tinyscrollbar").update()),!t.container.resize_to_content||t.container.show_on_hover&&!I.mouse_entered?(i.jq.container.height(i.dimensions.height),n()):i.jq.container.animate({height:i.jq.viewport.outerHeight(!0)},200,n)})):(i.jq.container.css({visibility:"hidden",display:"block"}),i.jq.viewport.removeClass("scrollable"),i.jq.content.html(e.content),i.jq.container.data("plugin_eds_tinyscrollbar").update(),i.jq.scrollbar.hasClass("disable")?i.jq.scrollbar.css({display:"none"}):(i.jq.viewport.addClass("scrollable"),i.jq.scrollbar.css({display:"block",opacity:1}),i.jq.container.data("plugin_eds_tinyscrollbar").update()),i.jq.container.css({visibility:"",display:"none",height:t.container.resize_to_content?i.jq.viewport.outerHeight(!0):i.dimensions.height}),t.container.show_on_hover&&!I.mouse_entered||i.jq.container.stop(!0).fadeTo(200,1,function(){i.jq.container.css("display","block")}))):i.jq.container.data("disabled",!0).stop(!0).fadeTo(200,0,function(){i.jq.container.css("display","none")}))}},item_info:{init:function(){Y._scrollable_boxes.init({box:"item_info",custom_class:"item_info",content:E.category.items[E.item.index].info})},display:function(e){Y._scrollable_boxes.display({box:"item_info",content:E.category.items[e].info})}},gallery_info:{init:function(){Y._scrollable_boxes.init({box:"gallery_info",custom_class:"gallery_info",content:E.category.info})},display:function(){Y._scrollable_boxes.display({box:"gallery_info",content:E.category.info})}},autoplay_toggle:{init:function(){x=e('<a href="#" class="autoplay_toggle">Play/Pause</a>'),s.autoplay.enable?x.addClass("pause"):P.user_paused=!0,x.prependTo(z).click(function(){return P.user_paused?(P.user_paused=!1,x.addClass("pause"),s.autoplay.enable||(P.fade_in=!0,s.autoplay.enable=!0,Y.autoplay.init()),s.autoplay.pause_on_hover||Y.autoplay.start()):(x.removeClass("pause"),P.user_paused=!0,P.pause||Y.autoplay.pause()),!1}),Y.position_element(x,s.autoplay_toggle.position),E.category.item_count<2&&x.css("display","none"),s.autoplay_toggle.auto_hide&&(x.css("display","none"),z.hover(function(){E.category.item_count<2||x.stop().fadeTo(s.autoplay_toggle.hide_speed,1)},function(){x.stop().fadeTo(s.autoplay_toggle.hide_speed,0)}))},display_category:function(){var e="";s.autoplay_toggle.display&&(E.category.item_count<2&&(e="none"),x.css("display",e))}},autoplay:{init:function(){s.autoplay.indicator.display&&(v=e('<div class="indicator" />'),w=e('<div class="autoplay_container" />'),Y.autoplay.size(),"vertical"!=s.autoplay.indicator.orientation||s.autoplay.indicator.flip_direction?s.autoplay.indicator.flip_direction&&v.css({left:"auto",right:0}):v.css({top:"auto",bottom:0}),w.append(v).css("display","none"),P.fade_in?(z.append(w),w.fadeIn(300)):(z.prepend(w),w.css("display",""))),z.bind("slider_transition_finnished",function(){P.user_paused||P.pause||Y.autoplay.start()})},size:function(){s.autoplay.enable&&s.autoplay.indicator.display&&(I.autoplay.indicator=Y.get_dimensions(s.autoplay.indicator.dimensions),Y.position_element(w,s.autoplay.indicator.position),"vertical"==s.autoplay.indicator.orientation?v.width(I.autoplay.indicator.width):v.height(I.autoplay.indicator.height),w.css(I.autoplay.indicator))},start:function(){var e=s.autoplay.interval,i=!0;E.category.item_count<2?s.autoplay.indicator.display&&w.css("display","none"):s.autoplay.enable&&""==P.interval&&(P.last_started=(new Date).getTime(),P.reset=!1,0!=P.time_remaining&&(i=!1,e=P.time_remaining),s.autoplay.indicator.display&&(w.css("display",""),v.stop(),"vertical"==s.autoplay.indicator.orientation?(i&&v.height(0),v.animate({height:I.autoplay.indicator.height},e,"linear")):(i&&v.width(0),v.animate({width:I.autoplay.indicator.width},e,"linear"))),P.interval=setTimeout(Y.next,e))},pause:function(){s.autoplay.enable&&!P.reset&&(P.pause_time=(new Date).getTime(),P.start_pause_delta=P.pause_time-P.last_started,s.autoplay.indicator.display&&v.stop(),P.time_remaining=(0==P.time_remaining?s.autoplay.interval:P.time_remaining)-P.start_pause_delta,clearTimeout(P.interval),P.interval="")},reset:function(){s.autoplay.enable&&(clearTimeout(P.interval),P.interval="",P.time_remaining=0,P.reset=!0,s.autoplay.indicator.display&&(v.stop(),"vertical"==s.autoplay.indicator.orientation?v.height(0):v.width(0)))},display_category:function(){s.autoplay.enable&&s.autoplay.indicator.display&&(E.category.item_count<2?w.css("display","none"):w.css("display",""))}},_items_panel:{init:function(e){e.page.append(e.item).appendTo(L[e.panel].container),I[e.panel].width=e.item.outerWidth(!0),I[e.panel].height=e.item.outerHeight(!0),I[e.panel].page.horizontal_space=e.page.outerWidth(!0)-e.page.width(),I[e.panel].page.vertical_space=e.page.outerHeight(!0)-e.page.height(),e.page.remove(),s[e.panel].container.transparent||L[e.panel].wrapper.addClass("not_transparent")},calculate_pages:function(e){var i;I[e.panel].container=Y.get_dimensions(s[e.panel].container.dimensions),I[e.panel].page.width=I[e.panel].width+I[e.panel].page.horizontal_space,I[e.panel].page.width>I[e.panel].container.width?I[e.panel].container.width=I[e.panel].page.width:I[e.panel].page.width=I[e.panel].container.width-I[e.panel].page.horizontal_space,I[e.panel].page.height=I[e.panel].height+I[e.panel].page.vertical_space,I[e.panel].page.height>I[e.panel].container.height?I[e.panel].container.height=I[e.panel].page.height:I[e.panel].page.height=I[e.panel].container.height-I[e.panel].page.vertical_space,I[e.panel].per_row=Math.floor(I[e.panel].page.width/I[e.panel].width),I[e.panel].page.width=I[e.panel].per_row*I[e.panel].width,I[e.panel].row_count=Math.floor(I[e.panel].page.height/I[e.panel].height),I[e.panel].page.height=I[e.panel].row_count*I[e.panel].height,I[e.panel].per_page=I[e.panel].per_row*I[e.panel].row_count,I[e.panel].page.count=Math.ceil(e.item_count/I[e.panel].per_page),I[e.panel].page.count>1?(L[e.panel].pagination?(L[e.panel].pagination.next.css("display","block"),L[e.panel].pagination.prev.css("display","block")):(L[e.panel].wrapper.append('<a href="#" class="navigation '+s[e.panel].pagination.direction+' prev">Previous</a><a href="#" class="navigation '+s[e.panel].pagination.direction+' next">Next</a>'),L[e.panel].pagination={prev:L[e.panel].wrapper.find("> a.navigation.prev"),next:L[e.panel].wrapper.find("> a.navigation.next")},L[e.panel].pagination.next.click(function(){var i=L[e.panel].pages.filter(".current").index();return Y._items_panel.move_to_page(e.panel,i+1),!1}),L[e.panel].pagination.prev.click(function(){var i=L[e.panel].pages.filter(".current").index();return Y._items_panel.move_to_page(e.panel,i-1),!1})),"vertical"==s[e.panel].pagination.direction?((i=I[e.panel].height+I[e.panel].page.vertical_space+2*L[e.panel].pagination.prev.outerHeight(!0))>I[e.panel].container.height&&(I[e.panel].container.height=i),L[e.panel].pagination.next.css({top:I[e.panel].container.height-L[e.panel].pagination.next.height()}),I[e.panel].row_count=Math.floor((I[e.panel].container.height-2*L[e.panel].pagination.prev.outerHeight(!0)-I[e.panel].page.vertical_space)/I[e.panel].height),I[e.panel].page.height=I[e.panel].row_count*I[e.panel].height):((i=I[e.panel].width+I[e.panel].page.horizontal_space+2*L[e.panel].pagination.prev.outerWidth(!0))>I[e.panel].container.width&&(I[e.panel].container.width=i),I[e.panel].per_row=Math.floor((I[e.panel].container.width-2*L[e.panel].pagination.prev.outerWidth(!0)-I[e.panel].page.horizontal_space)/I[e.panel].width),I[e.panel].page.width=I[e.panel].per_row*I[e.panel].width),I[e.panel].per_page=I[e.panel].per_row*I[e.panel].row_count,I[e.panel].page.count=Math.ceil(e.item_count/I[e.panel].per_page)):L[e.panel].pagination&&(L[e.panel].pagination.next.css("display","none"),L[e.panel].pagination.prev.css("display","none")),L[e.panel].wrapper.css(I[e.panel].container),I[e.panel].window_width=I[e.panel].page.width+I[e.panel].page.horizontal_space,I[e.panel].window_height=I[e.panel].page.height+I[e.panel].page.vertical_space,L[e.panel].window.width(I[e.panel].window_width).height(I[e.panel].window_height).css({top:Math.floor((I[e.panel].container.height-I[e.panel].window_height)/2)}),"vertical"==s[e.panel].pagination.direction?L[e.panel].container.width(I[e.panel].window_width).height(0):L[e.panel].container.width(0).height(I[e.panel].window_height),Y.position_element(L[e.panel].wrapper,s[e.panel].container.position)},move_to_page:function(e,i){var t,n=L[e].pages.length-1;if(!(n<0||L[e].pages.eq(i).hasClass("current"))){if(i>n)return t="vertical"==s[e].pagination.direction?{top:n*-(I[e].page.height+I[e].page.vertical_space)-10}:{left:n*-(I[e].page.width+I[e].page.horizontal_space)-10},void L[e].container.animate(t,40,"swing",function(){t="vertical"==s[e].pagination.direction?{top:n*-(I[e].page.height+I[e].page.vertical_space)}:{left:n*-(I[e].page.width+I[e].page.horizontal_space)},L[e].container.animate(t,50,"swing")});if(i<0)return t="vertical"==s[e].pagination.direction?{top:10}:{left:10},void L[e].container.animate(t,40,"swing",function(){t="vertical"==s[e].pagination.direction?{top:0}:{left:0},L[e].container.animate(t,50,"swing")});L[e].pages.removeClass("current").eq(i).addClass("current"),t="vertical"==s[e].pagination.direction?{top:i*-(I[e].page.height+I[e].page.vertical_space)}:{left:i*-(I[e].page.width+I[e].page.horizontal_space)},L[e].container.stop(!0,!1).animate(t,s[e].pagination.duration,s[e].pagination.easing)}}},thumbnails:{init:function(){L.thumbs={container:e('<div class="thumb_container" />'),window:e('<div class="thumb_window" />'),wrapper:e('<div class="thumb_wrapper" />')},L.thumbs.window.append(L.thumbs.container),L.thumbs.wrapper.append(L.thumbs.window),z.prepend(L.thumbs.wrapper),Y._items_panel.init({panel:"thumbs",page:e("<ul />"),item:e('<li><img src="'+d[0].items[0].thumb.src+'" alt="" style="width: '+s.thumbs.width+"px !important; height: "+s.thumbs.height+'px !important;" /></li>')}),s.thumbs.auto_hide&&(L.thumbs.wrapper.css({display:"none"}),z.hover(function(){L.thumbs.wrapper.stop().fadeTo(s.thumbs.hide_speed,1)},function(){L.thumbs.wrapper.stop().fadeTo(s.thumbs.hide_speed,0)})),Y.thumbnails.display_category(!1),Y.thumbnails.select(E.item.index)},display_category:function(){var i,t,n,a,o,r,l=0,d=!(arguments.length>0&&!1===arguments[0]);if(s.thumbs.display){for(Y._items_panel.calculate_pages({panel:"thumbs",item_count:E.category.item_count}),L.thumbs.container.html("");l<E.category.item_count;l++)l%I.thumbs.per_page==0&&("vertical"==s.thumbs.pagination.direction?L.thumbs.container.height(L.thumbs.container.height()+I.thumbs.window_height):L.thumbs.container.width(L.thumbs.container.width()+I.thumbs.window_width),(i=e("<ul />")).width(I.thumbs.page.width).height(I.thumbs.page.height).appendTo(L.thumbs.container)),n=s.thumbs.captions&&"string"==typeof E.category.items[l].thumb.caption&&E.category.items[l].thumb.caption?'<div class="caption_wrapper"><div class="caption">'+E.category.items[l].thumb.caption+"</div></div>":"",a=s.thumbs.display_item_types?'<span class="item_type_icon '+E.category.items[l].type+'"></span>':"",t='<li><img style="width: '+s.thumbs.width+"px !important; height: "+s.thumbs.height+'px !important;" src="'+E.category.items[l].thumb.src+'" alt="" />'+a+n,d&&(e("<img />").load({index:l},function(i){L.thumbs.pages.find(".thumb_preloading").eq(i.data.index).fadeTo(500,0,function(){e(this).remove()})}).attr("src",E.category.items[l].thumb.src),t+='<div class="thumb_preloading"></div>'),i.append(t+"</li>"),s.thumbs.tooltips.enabled&&e.fn.qtip&&(r=!0,o="",E.category.items[l].thumb.tooltip&&(s.thumbs.tooltips.title&&E.category.items[l].thumb.tooltip.title&&(o='<p class="title">'+E.category.items[l].thumb.tooltip.title+"</p>",r=!1),s.thumbs.tooltips.description&&E.category.items[l].thumb.tooltip.description&&(o+='<div class="description">'+E.category.items[l].thumb.tooltip.description+"</div>",r=!1),r||i.find("> li").filter(":last").qtip({content:{text:o},position:s.thumbs.tooltips.position,style:{classes:"chameleon_slider_tooltip "+s.thumbs.tooltips.classes,tip:{corner:!0}}})));L.thumbs.pages=L.thumbs.container.find("> ul")}},trigger:function(){L.thumbs.container.delegate("ul > li","click",function(){var i=e(this);return Y.show_item(i.parent().index()*I.thumbs.per_page+i.index()),!1})},select:function(e){if(s.thumbs.display){var i=L.thumbs.pages.find("> li").eq(e);Y._items_panel.move_to_page("thumbs",i.parent().index()),L.thumbs.pages.find("> li.on").removeClass("on"),i.addClass("on")}}},categories:{init:function(){L.categories={container:e('<div class="categories_container" />'),window:e('<div class="categories_window" />'),wrapper:e('<div class="categories_wrapper '+s.categories.pagination.direction+'" />')},L.categories.window.append(L.categories.container),L.categories.wrapper.append(L.categories.window),z.prepend(L.categories.wrapper),Y._items_panel.init({panel:"categories",page:e("<ul />"),item:e('<li style="width: '+s.categories.width+"px; height: "+s.categories.height+'px;" />')}),s.categories.auto_hide&&(L.categories.wrapper.css({display:"none"}),z.hover(function(){L.categories.wrapper.stop().fadeTo(s.categories.hide_speed,1)},function(){L.categories.wrapper.stop().fadeTo(s.categories.hide_speed,0)})),Y.categories.display_categories()},display_categories:function(){var i,t,n,a,o,r,l,_,p=[],h=0,g=c.indexes[c.indexes.length-1];if(s.categories.display){if(I.categories.render_categories){for(1==c.indexes.length?p=d:((a=e.extend([],c.indexes)).pop(),p=Y.get_category(a).children,p=[{id:-1,name:"&lt;Back",open_parent:!0}].concat(p),g++),n=p.length,Y._items_panel.calculate_pages({panel:"categories",item_count:n}),L.categories.container.empty(),h=0;h<n;h++)h%I.categories.per_page==0&&("vertical"==s.categories.pagination.direction?L.categories.container.height(L.categories.container.height()+I.categories.window_height):L.categories.container.width(L.categories.container.width()+I.categories.window_width),(i=e("<ul />")).width(I.categories.page.width).height(I.categories.page.height).appendTo(L.categories.container)),o=void 0!==p[h].children&&p[h].children.length>0,t="<li"+(p[h].open_parent?' class="open_parent"':"")+(o?' class="has_children"':"")+' style="width: '+s.categories.width+"px; height: "+s.categories.height+'px;"><a href="#" class="'+(p[h].open_parent?"back_button":"category")+'"><span>'+p[h].name+"</span></a>",o&&(t+='<a href="#" class="open_children"></a>'),t+="</li>",i.append(t);L.categories.pages=L.categories.container.find("> ul"),r=(l=L.categories.pages.find("> li > a.category")).eq(0),_=s.categories.height-(r.outerHeight(!0)-r.height()),l.height(_),l.each(function(){var i=e(this).find("span"),t=i.height();_>t?i.css({top:Math.floor((_-t)/2)}):i.css({top:0})})}else c.indexes.length>1&&g++,I.categories.render_categories=!0;Y.categories.select(g)}},trigger:function(){L.categories.container.delegate("li > a","click",function(){var i=e(this),t=i.parent(),n=t.parent().index()*I.categories.per_page+t.index();if(L.categories.pages.find("> li").eq(0).hasClass("open_parent")&&n--,i.hasClass("category")){if(t.hasClass("on"))return!1;c.indexes.pop(),c.indexes.push(n),c.ids=Y.category_ids_from_indexes(c.indexes),E.category=Y.get_category(c.indexes),E.category.item_count=E.category.items.length,E.item={id:E.category.items[0].id,index:0},I.categories.render_categories=!1,Y.change_category()}else i.hasClass("open_children")?(c.indexes.pop(),c.indexes.push(n),c.indexes.push(0),c.ids=Y.category_ids_from_indexes(c.indexes),E.category=Y.get_category(c.indexes),E.category.item_count=E.category.items.length,E.item={id:E.category.items[0].id,index:0},Y.change_category()):i.hasClass("back_button")&&(c.indexes.pop(),c.ids=Y.category_ids_from_indexes(c.indexes),E.category=Y.get_category(c.indexes),E.category.item_count=E.category.items.length,E.item={id:E.category.items[0].id,index:0},Y.change_category());return!1})},select:function(e){var i=L.categories.pages.find("> li").eq(e);Y._items_panel.move_to_page("categories",i.parent().index()),L.categories.pages.find("> li.on").removeClass("on"),i.addClass("on")}},change_category:function(){Y.main_panel.display_category(),Y.categories.display_categories(),Y.thumbnails.display_category(),Y.pagination.display_category(),Y.gallery_title.select(),Y.gallery_info.display(),Y.arrows.display_category(),Y.autoplay_toggle.display_category(),Y.autoplay.display_category(),Y.show_item(E.item.index,!0)},arrows:{init:function(){j=e('<a href="#" class="navigation_button prev">Previous</a>'),k=e('<a href="#" class="navigation_button next">Next</a>'),z.prepend(j,k),Y.position_element(j,s.arrows.prev.position),Y.position_element(k,s.arrows.next.position),Y.arrows.display_category()},trigger:function(){j.click(function(){return Y.prev(),!1}),k.click(function(){return Y.next(),!1}),s.arrows.auto_hide&&(j.fadeTo(0,0),k.fadeTo(0,0),z.hover(function(){1!=E.category.item_count&&(j.stop().fadeTo(s.arrows.hide_speed,1),k.stop().fadeTo(s.arrows.hide_speed,1))},function(){j.stop().fadeTo(s.arrows.hide_speed,0),k.stop().fadeTo(s.arrows.hide_speed,0)}))},display_category:function(){var e="";1==E.category.item_count&&(e="none"),j.css("display",e),k.css("display",e)}},_title_box:{init:function(i){var t,n;I.title_boxes[i.box]=e('<span class="title_box'+(i.custom_class?" "+i.custom_class:"")+'" style="height: '+s.title_boxes[i.box].height+'px;"><span>T</span></span>'),t=I.title_boxes[i.box].find("> span"),I.title_boxes[i.box].css("visibility","hidden"),z.prepend(I.title_boxes[i.box]),Y.position_element(I.title_boxes[i.box],s.title_boxes[i.box].position),(n=Math.floor((s.title_boxes[i.box].height-t.height())/2))<0&&(n=0),t.css({top:n}).empty(),I.title_boxes[i.box].css("visibility","")},change_text:function(e){e.text?I.title_boxes[e.box].is(":visible")?I.title_boxes[e.box].stop().fadeTo(200,0,function(){I.title_boxes[e.box].fadeTo(400,1).find("> span").html(e.text)}):I.title_boxes[e.box].stop().fadeTo(400,1).find("> span").html(e.text):I.title_boxes[e.box].stop().fadeTo(200,0)}},item_title:{init:function(){Y._title_box.init({box:"current_item",custom_class:"current_item"}),Y.item_title.select(E.item.index)},select:function(e){s.title_boxes.current_item.display&&Y._title_box.change_text({box:"current_item",text:E.category.items[e].title})},size:function(){s.title_boxes.current_item.display&&Y.position_element(I.title_boxes.current_item,s.title_boxes.current_item.position)}},gallery_title:{init:function(){Y._title_box.init({box:"current_gallery",custom_class:"current_gallery"}),Y.gallery_title.select()},select:function(){s.title_boxes.current_gallery.display&&Y._title_box.change_text({box:"current_gallery",text:E.category.name})},size:function(){s.title_boxes.current_gallery.display&&Y.position_element(I.title_boxes.current_gallery,s.title_boxes.current_gallery.position)}},triggers:function(){s.arrows.display&&Y.arrows.trigger(),s.thumbs.display&&Y.thumbnails.trigger(),s.categories.display&&Y.categories.trigger(),s.key_browse&&Y.key_browse(),s.autoplay.enable&&Y.autoplay.start(),s.autoplay.pause_on_hover&&z.hover(function(){E.category.item_count<2||P.user_paused||P.pause||(P.pause=!0,Y.autoplay.pause())},function(){E.category.item_count<2||(P.pause=!1,P.video_playing||P.user_paused||P.transition_in_progres||Y.autoplay.start())}),z.bind("resize_slider",function(){Y.autoplay.reset(),z.css(I.container_dimensions),Y.main_panel.size(),Y.autoplay.size(),Y._scrollable_boxes.size("gallery_info"),Y._scrollable_boxes.size("item_info"),Y.gallery_title.size(),Y.item_title.size(),Y.thumbnails.display_category(!1),Y.categories.display_categories(),s.pagination.display&&Y.position_element(m,s.pagination.position),s.autoplay_toggle.display&&Y.position_element(x,s.autoplay_toggle.position),s.arrows.display&&(Y.position_element(j,s.arrows.prev.position),Y.position_element(k,s.arrows.next.position)),Y.show_item(E.item.index,!0,"")}),q.fadeOut(200,function(){q.remove()}),z.trigger("slider_initialized")},get_dimensions:function(e){var i;return i=arguments.length>1&&"object"==typeof arguments[1]?arguments[1]:{width:I.container_dimensions.width,height:I.container_dimensions.height},{width:e.w_as_ratio?Math.floor(i.width*e.width):e.width,height:e.h_as_ratio?Math.floor(i.height*e.height):e.height}},position_element:function(e,i){var t=i.v_as_ratio?Math.floor(i.v_offset*I.container_dimensions.height):i.v_offset,n=i.h_as_ratio?Math.floor(i.h_offset*I.container_dimensions.width):i.h_offset;i.v_center_point&&(t-=Math.floor(e.outerHeight()/2)),i.h_center_point&&(n-=Math.floor(e.outerWidth()/2)),"top"==i.vertical?e.css("top",t):e.css({top:"auto",bottom:t}),"left"==i.horizontal?e.css("left",n):e.css({left:"auto",right:n})},category_indexes_from_ids:function(i,t){var n,a=0,o=[];if(0==i.length)return[];for(n=e.isArray(t)?t.length:0;a<n;a++)if(t[a].id==i[0])return i.shift(),0!=i.length&&0==(o=Y.category_indexes_from_ids(i,t[a].children)).length?[]:[a].concat(o);return[]},category_ids_from_indexes:function(e){var i,t=e.length,n=1,a=d[e[0]];for(i=[a.id];n<t;n++)a=a.children[e[n]],i.push(a.id);return i},get_category:function(i){var t,n=i.length,a=1;if(!e.isArray(i)||0==i.length)return d[0];for(t=d[i[0]];a<n;a++)t=t.children[i[a]];return t},item_index_from_id:function(e){var i=E.category.items,t=i.length,n=0;if(void 0==e)return 0;for(;n<t;n++)if(i[n].id==e)return n;return 0},set_url_param:function(e,i){var t,n,a="",o="",s=i+(arguments.length>2?"="+arguments[2]:""),r=!1,l=!1;if(a=1!=(e=e.split("#")).length&&e[1],1==(e=e[0].split("?")).length||""==e[1])o=e[0]+"?"+s;else{o=e[0]+"?",t=e[1].split("&");for(n in t)"string"==typeof t[n]&&((r=t[n].split("="))[0]==i?(l=!0,o+=s+"&"):1==r.length?o+=r[0]+"&":o+=r[0]+"="+r[1]+"&");l?o=o.substring(0,o.length-1):o+=s}return o+(!1===a?"":"#"+a)}};Y.init()})},e.fn[n+"_fullscreen"]=function(i){var a,o,s=function(){a.fadeTo(500,0,function(){o.trigger("destroy"),a.remove()}),e(t).unbind("keydown.chameleonslider_fullscreen_"+i.module_id)};a=e('<div id="chameleonSliderFullscreen_'+i.module_id+'" style="z-index: 15000; overflow: hidden; position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0, 0, 0, .5);"><div class="chameleon_slider '+i.theme+'" /></div>'),e("body").append(a),o=a.find("> .chameleon_slider"),e.extend(!0,i,{container_dimensions:{width:1,height:1,w_as_ratio:!0,h_as_ratio:!0},autoplay:{pause_on_hover:!1},buttons:{exit_fullscreen:{display:!0},fullscreen:{display:!1}},main_panel:{stretch_small_image:!0}}),o.bind("slider_initialized",function(){o.find("> .exit_fullscreen").click(function(){return s(),!1}),e(t).bind("keydown.chameleonslider_fullscreen_"+i.module_id,function(e){27==e.which&&s()})}),o[n](i)}}(eds2_2,window,document);
;;;(function(k,z,L){var V=function(k,b){return-1!==k.indexOf(b,k.length-b.length)};k.fn.chameleonSlider_2_1=function(t){var b=k.extend(!0,{},{content_source:"",container_dimensions:{width:750,height:400,w_as_ratio:!1,h_as_ratio:!1,height_references_width:!1},autoplay:{enable:!0,interval:4E3,pause_on_hover:!0,autostart_video_playback:!1,indicator:{display:!0,position:{vertical:"top",horizontal:"left",h_offset:0,v_offset:0,h_as_ratio:!1,v_as_ratio:!1,v_center_point:!1,h_center_point:!1},dimensions:{height:2,
width:750,h_as_ratio:!1,w_as_ratio:!1},orientation:"horizontal",flip_direction:!1}},arrows:{display:!0,auto_hide:!0,hide_speed:250,prev:{position:{vertical:"top",horizontal:"left",h_offset:0,v_offset:183,h_as_ratio:!1,v_as_ratio:!1,v_center_point:!1,h_center_point:!1}},next:{position:{vertical:"top",horizontal:"right",h_offset:0,v_offset:183,h_as_ratio:!1,v_as_ratio:!1,v_center_point:!1,h_center_point:!1}}},autoplay_toggle:{display:!0,auto_hide:!0,hide_speed:250,position:{vertical:"top",horizontal:"left",
h_offset:347,v_offset:130,h_as_ratio:!1,v_as_ratio:!1,v_center_point:!1,h_center_point:!1}},scrollable_boxes:{item_info:{display:!0,container:{dimensions:{height:100,width:750,h_as_ratio:!1,w_as_ratio:!1},resize_to_content:!0,show_on_hover:!1,position:{vertical:"top",horizontal:"left",h_offset:0,v_offset:2,h_as_ratio:!1,v_as_ratio:!1,v_center_point:!1,h_center_point:!1}}},gallery_info:{display:!1,container:{dimensions:{height:100,width:750,h_as_ratio:!1,w_as_ratio:!1},resize_to_content:!0,show_on_hover:!1,
position:{vertical:"top",horizontal:"left",h_offset:0,v_offset:2,h_as_ratio:!1,v_as_ratio:!1,v_center_point:!1,h_center_point:!1}}}},thumbs:{display:!0,auto_hide:!1,hide_speed:250,width:100,height:46,captions:!0,display_item_types:!1,pagination:{direction:"horizontal",duration:250,easing:"swing"},tooltips:{enabled:!1,title:!0,description:!1,position:{my:"bottom center",at:"top center"},classes:""},container:{transparent:!0,dimensions:{height:20,width:679,h_as_ratio:!1,w_as_ratio:!1},position:{vertical:"bottom",
horizontal:"left",h_offset:35,v_offset:0,h_as_ratio:!1,v_as_ratio:!1,v_center_point:!1,h_center_point:!1}}},categories:{display:!1,auto_hide:!1,hide_speed:250,width:100,height:46,pagination:{direction:"horizontal",duration:250,easing:"swing"},container:{dimensions:{height:20,width:679,h_as_ratio:!1,w_as_ratio:!1},position:{vertical:"bottom",horizontal:"left",h_offset:35,v_offset:0,h_as_ratio:!1,v_as_ratio:!1,v_center_point:!1,h_center_point:!1}}},pagination:{display:!0,pages_at_once:7,direction:"horizontal",
position:{vertical:"bottom",horizontal:"right",h_offset:35,v_offset:58,h_as_ratio:!1,v_as_ratio:!1,v_center_point:!1,h_center_point:!1}},title_boxes:{current_item:{display:!1,height:35,position:{vertical:"bottom",horizontal:"left",h_offset:0,v_offset:200,h_as_ratio:!1,v_as_ratio:!1,v_center_point:!1,h_center_point:!1}},current_gallery:{display:!1,height:35,position:{vertical:"top",horizontal:"left",h_offset:0,v_offset:0,h_as_ratio:!1,v_as_ratio:!1,v_center_point:!1,h_center_point:!1}}},buttons:{email:{display:!1,
position:{vertical:"top",horizontal:"right",h_offset:35,v_offset:58,h_as_ratio:!1,v_as_ratio:!1,v_center_point:!1,h_center_point:!1},email_subject:"Look at this link"},download:{display:!1,position:{vertical:"top",horizontal:"left",h_offset:35,v_offset:58,h_as_ratio:!1,v_as_ratio:!1,v_center_point:!1,h_center_point:!1}},fullscreen:{display:!1,position:{vertical:"top",horizontal:"left",h_offset:35,v_offset:58,h_as_ratio:!1,v_as_ratio:!1,v_center_point:!1,h_center_point:!1}},exit_fullscreen:{display:!1,
position:{vertical:"bottom",horizontal:"right",h_offset:35,v_offset:58,h_as_ratio:!1,v_as_ratio:!1,v_center_point:!1,h_center_point:!1}}},social_buttons:{display:!1,direction:"horizontal",load_after_effect:!0,position:{vertical:"bottom",horizontal:"right",h_offset:35,v_offset:58,h_as_ratio:!1,v_as_ratio:!1,v_center_point:!1,h_center_point:!1},buttons:{facebook:{display:!0,html:'<iframe src="//www.facebook.com/plugins/like.php?href={location_href_encoded}&amp;layout=button_count&amp;show_faces=true&amp;action=like&amp;font&amp;colorscheme=light&amp;height=20" scrolling="no" frameborder="0" style="border:none; overflow:hidden; height:20px; width: 100px;" allowTransparency="true"></iframe>'},
google:{display:!0,html:'<g:plusone size="medium" href="{location_href}" annotation="bubble"></g:plusone><script type="text/javascript">gapi.plusone.go();\x3c/script>'},twitter:{display:!0,html:'<a href="//twitter.com/share" class="twitter-share-button" data-url="{location_href}" data-count="horizontal">Tweet</a><script type="text/javascript" src="//platform.twitter.com/widgets.js">\x3c/script>'}},hideable:!1,container:{width:100,height:100}},main_panel:{display:!0,fill_panel:!1,stretch_small_image:!1,
top_left_align:!1,drag_navigation:!1,immediately_preload_all_images:!1,dimensions:{width:750,height:400,h_as_ratio:!1,w_as_ratio:!1},position:{vertical:"top",horizontal:"left",h_offset:0,v_offset:0,h_as_ratio:!1,v_as_ratio:!1,v_center_point:!1,h_center_point:!1},trim:{top:0,bottom:0,left:0,right:0},transition:{duration:800,effects:[]}},lightbox_title:!1,lightbox_description:!1,key_browse:!0,redirect_on_click:!1,redirect_on_click_target:"_self",lightbox_on_click:!1,module_id:0,portal_id:0,article_id:0,
filter_values:"",filter_types:"",locale:"",inhouse_player:"flowplayer",flowplayer_src:"",fullscreen_provider:"pp",pretty_photo_options:{},smb_options:{},smbLight_options:{},cycle_current_category:!0,open_at:null,modify_browser_history:!1,videoVolume:1},t),v=z.history.location||z.location;return this.each(function(){var x,m,p=k(this),t,da,ea=0,P=k('<div class="loading_slider_overlay" />'),Y=k('<div class="indicator" />'),K=k("<p />"),A,h={},n={},Z=0,f={},u,r,G=k(),H,aa,B,F,W,y,M,C,D,E,N="",fa=0,ga=
0,ha=0,Q=0,S=!1,O=!1,ia=!1,ba=!1,X=!1,T=!1,I,J,c={container_dimensions:{},thumbs:{page:{vertical_space:0,horizontal_space:0,width:0,height:0,count:0},container:{},width:0,height:0,per_page:0,per_row:0,row_count:0,window_width:0,window_height:0},categories:{page:{vertical_space:0,horizontal_space:0,width:0,height:0,count:0},container:{},width:0,height:0,per_page:0,per_row:0,row_count:0,window_width:0,window_height:0,render_categories:!0},autoplay:{indicator:{}},title_boxes:{current_item:{},current_gallery:{}},
scrollable_boxes:{item_info:{},gallery_info:{}},pagination:{pages_at_once:0,page:{width:0,height:0}},main_panel:{dimensions:{},initialized:!1,disable_clicking:!1,disable_clicking_interval:""},preloaded_images:{},preloading_item:!1,buttons:{email:{},download:{},fullscreen:{},exit_fullscreen:{}},html5:{video:!1},youtube_iframe_api:{called:!1,loaded:!1},youtube_player_object:void 0,mouse_entered:!1,item_details_shown:!1},ja=function(a){var b=a.src;if(a.sizes)for(var d=0,g=a.sizes.length;d<g;d++){var w=
a.sizes[d];if(w.width<c.main_panel.dimensions.width)break;b=w.src}return b},R=function(a){"number"==typeof a&&(a=h.items[a]);return"image"==a.type||("video"==a.type||"audio"==a.type)&&b.lightbox_on_click},d={init:function(){b.container_dimensions.w_as_ratio||b.container_dimensions.h_as_ratio?(t=p.parent(),c.container_dimensions={width:b.container_dimensions.w_as_ratio?Math.round(t.width()*b.container_dimensions.width):b.container_dimensions.width,height:0},c.container_dimensions.height=b.container_dimensions.h_as_ratio?
Math.round((b.container_dimensions.height_references_width?c.container_dimensions.width:t.height())*b.container_dimensions.height):b.container_dimensions.height,k(z).bind("resize.chameleonSlider",function(){clearTimeout(da);da=setTimeout(function(){c.container_dimensions={width:b.container_dimensions.w_as_ratio?Math.round(t.width()*b.container_dimensions.width):b.container_dimensions.width,height:0};c.container_dimensions.height=b.container_dimensions.h_as_ratio?Math.round((b.container_dimensions.height_references_width?
c.container_dimensions.width:t.height())*b.container_dimensions.height):b.container_dimensions.height;p.trigger("resize_slider")},200)})):c.container_dimensions={width:b.container_dimensions.width,height:b.container_dimensions.height};p.width(c.container_dimensions.width).height(c.container_dimensions.height).append(P).bind("destroy",function(){clearTimeout(N)});P.width(c.container_dimensions.width).height(c.container_dimensions.height).append(Y).show(0);try{c.html5.video=!!L.createElement("video").canPlayType}catch(a){}if(b.modify_browser_history)k(z).on("popstate",
function(a){d.parse_slider_url_hash(v.hash);d.show_item(n.index,!0,void 0,!0)});d.get_content_source()},get_content_source:function(){3<ea?K.is(":visible")?K.html("Unable to display the items (requesting the items failed)"):Y.fadeOut(250,function(){K=k("<p>Unable to display the items (requesting the items failed)</p>");K.appendTo(P).css({display:"block",top:Math.floor((c.container_dimensions.height-K.outerHeight(!0))/2)})}):(ea+=1,k.ajax({dataType:"json",type:"get",url:b.content_source,timeout:3E5,
data:"mid="+b.module_id+"&portal_id="+b.portal_id+"&locale="+b.locale+"&article_id="+b.article_id+"&html5_player="+(c.html5.video?"1":"0")+(""===b.filter_values?"":"&filter_values="+b.filter_values+"&filter_types="+b.filter_types),success:d.load,complete:d.ajax_callback,cache:!1}))},ajax_callback:function(a,b){"success"!==b&&d.get_content_source()},parse_slider_url_hash:function(a){var b=a.substring(1);a=b.indexOf("/");var c=void 0,b=b.substring(a+1);a=b.indexOf("/");-1!==a&&(c=b.substring(a+1),a=
c.indexOf("/"),-1!==a&&(c=c.substring(0,a)),c||(c=void 0),b=b.substring(0,b.indexOf("/")));x=b.split("-");m=[];m=d.category_indexes_from_ids(k.extend([],x),A);0==m.length&&(m=[0],x=[A[0].id]);h=d.get_category(m);h.item_count=h.items.length;n={id:0,index:d.item_index_from_id(c)};n.id=h.items[n.index].id},load:function(a){var e=v.hash.substring(1),l=e.indexOf("/"),l=-1==l?"":e.substring(0,l);0==a.content.length?Y.fadeOut(250,function(){K=k("<p>"+(a.user_friendly_msg?a.user_friendly_msg:"There are no items to display.")+
"</p>");K.appendTo(P).css({display:"block",top:Math.floor((c.container_dimensions.height-K.outerHeight(!0))/2)})}):(A=a.content,null!=b.open_at?(x=b.open_at.categories,m=[],m=d.category_indexes_from_ids(k.extend([],x),A),0==m.length&&(m=[0],x=[A[0].id]),h=d.get_category(m),h.item_count=h.items.length,n={id:0,index:d.item_index_from_id(b.open_at.item)},n.id=h.items[n.index].id):l=="slider_"+b.module_id||l=="gallery_"+b.module_id?(d.parse_slider_url_hash("#"+e),"smb"==b.fullscreen_provider&&l=="gallery_"+
b.module_id&&0<h.item_count&&function(){var a=[];b.smb_options.openAt=0;k.each(h.items,function(c,e){e.id===n.id&&(b.smb_options.openAt=c);a.push(e.smb_object)});k("<div />").data("socialMediaBox",a).socialMediaBox(b.smb_options)}()):(x=[A[0].id],m=[0],h=A[0],h.item_count=h.items.length,n={id:void 0,index:d.item_index_from_id(void 0)}),"YT"in z&&"Player"in z.YT&&(c.youtube_iframe_api.called=!0,c.youtube_iframe_api.loaded=!0),b.buttons.exit_fullscreen.display&&d.exit_fullscreen.init(),b.autoplay.enable&&
d.autoplay.init(),b.pagination.display&&d.pagination.init(),b.social_buttons.display&&d.social_buttons.init(),b.buttons.email.display&&d.email_button.init(),b.buttons.download.display&&d.download_button.init(),b.buttons.fullscreen.display&&d.fullscreen_button.init(),b.autoplay_toggle.display&&d.autoplay_toggle.init(),b.arrows.display&&d.arrows.init(),b.categories.display&&d.categories.init(),b.thumbs.display&&d.thumbnails.init(),b.title_boxes.current_item.display&&d.item_title.init(),b.title_boxes.current_gallery.display&&
d.gallery_title.init(),b.scrollable_boxes.item_info.display&&d.item_info.init(),b.scrollable_boxes.gallery_info.display&&d.gallery_info.init(),b.main_panel.display?d.main_panel.init():d.triggers())},show_item:function(a,e,l,g){a=parseInt(a,10);if(a!==n.index||"undefined"!=typeof e){"function"==typeof d._on_pre_item_change&&(d._on_pre_item_change(),d._on_pre_item_change=void 0);T=!1;0>a?a=h.item_count-1:a>=h.item_count&&(a=0);d.autoplay.reset();Z=n.index;e=h.items[a];n.index=a;n.id=e.id;d.pagination.select(a);
d.thumbnails.select(a);c.item_details_shown=!1;if(b.main_panel.immediately_preload_all_images||R(e)&&c.preloaded_images[e.src]&&c.preloaded_images[e.src].loaded)c.item_details_shown=!0,d.social_buttons.display(a),d.item_title.select(a),d.item_info.display(a),d.download_button.display(a),d.email_button.display(a);b.modify_browser_history&&!g&&(g=v.href.indexOf("#"),g=-1==g?v.href:v.href.substring(0,g),g+="#slider_"+b.module_id+"/"+x.join("-")+"/"+n.id,history.pushState(null,null,g));b.main_panel.display?
c.preloading_item||("undefined"==typeof l?d.main_panel.display(a):d.main_panel.display(a,l)):p.trigger("slider_transition_finnished")}},next:function(){var a,e=A.length;b.cycle_current_category||n.index!=h.item_count-1?d.show_item(n.index+1):(a=m.pop()+1,0!=m.length&&(e=d.get_category(m).children.length),a<e?m.push(a):m.push(0),x=d.category_ids_from_indexes(m),h=d.get_category(m),h.item_count=h.items.length,n={id:h.items[0].id,index:0},c.categories.render_categories=!1,d.change_category())},prev:function(){var a,
e=A.length;b.cycle_current_category||0!=n.index?d.show_item(n.index-1):(a=m.pop()-1,0!=m.length&&(e=d.get_category(m).children.length),0>a?m.push(e-1):m.push(a),x=d.category_ids_from_indexes(m),h=d.get_category(m),h.item_count=h.items.length,n={id:h.items[h.items.length-1].id,index:h.items.length-1},c.categories.render_categories=!1,d.change_category())},pagination:{init:function(){var a;B=k('<div class="pagination" />');F=k('<ul class="pages_container" />');B.append(F);B.css("visibility","hidden");
p.prepend(B);d.position_element(B,b.pagination.position);a=k("<li><span></span></li>");F.append(a);c.pagination.page.width=a.outerWidth(!0);c.pagination.page.height=a.outerHeight(!0);B.css("visibility","");d.pagination.display_category();d.pagination.select(n.index);F.delegate("li","click",function(){d.show_item(k(this).index());return!1})},display_category:function(){if(b.pagination.display){var a=0,e="";B.css("display","none");F.html("");c.pagination.pages_at_once=h.item_count<b.pagination.pages_at_once?
h.item_count:b.pagination.pages_at_once;"horizontal"===b.pagination.direction?(B.addClass("horizontal"),B.width(c.pagination.pages_at_once*c.pagination.page.width),B.height(c.pagination.page.height),F.width(h.item_count*c.pagination.page.width),F.height(c.pagination.page.height)):(B.addClass("vertical"),B.width(c.pagination.page.width),B.height(c.pagination.pages_at_once*c.pagination.page.height),F.width(c.pagination.page.width),F.height(h.item_count*c.pagination.page.height));for(;a<h.item_count;a++)e+=
"<li><span></span></li>";W=k(e);F.append(W);B.css("display","")}},select:function(a){if(b.pagination.display){var e=Math.floor(c.pagination.pages_at_once/2),d=a-e;0>d?d=0:a>=h.item_count-e&&(d=h.item_count-c.pagination.pages_at_once);e="horizontal"==b.pagination.direction?{left:-(d*c.pagination.page.width)}:{top:-(d*c.pagination.page.height)};F.stop().animate(e,250);W.removeClass("current");W.eq(a).addClass("current")}}},social_buttons:{init:function(){y=k('<div class="social_buttons '+b.social_buttons.direction+
'" />');b.social_buttons.hideable?(M=k('<div class="social_buttons_toggle '+b.social_buttons.direction+'" />'),p.prepend(M),d.position_element(M,b.social_buttons.position),y.fadeTo(200,0,function(){y.hide()}).data("visible",!1),p.prepend(y),d.position_element(y,k.extend({},b.social_buttons.position,{h_offset:b.social_buttons.position.h_offset+M.outerWidth(!0)+5})),M.click(function(){y.data("visible")?(y.data("visible",!1).stop().fadeTo(200,0,function(){y.empty().hide()}),M.removeClass("active")):
(y.data("visible",!0).stop().fadeTo(200,1),d.social_buttons.display(n.index),M.addClass("active"))})):(p.prepend(y),d.position_element(y,b.social_buttons.position));d.social_buttons.display(n.index)},display:function(a){if(b.social_buttons.display&&(!b.social_buttons.hideable||y.data("visible"))){var c="",l="";y.html("");"string"==typeof h.items[a].social_button_url?l=h.items[a].social_button_url:(l=-1==v.href.indexOf("#")?v.href:v.href.substring(0,v.href.indexOf("#")),l=d.set_url_param(d.set_url_param(l,
"edgpid",h.items[a].id),"edgmid",b.module_id)+"#slider_"+b.module_id+"/"+x.join("-")+"/"+h.items[a].id+"/");for(var g in b.social_buttons.buttons)b.social_buttons.buttons[g].display&&(c+='<div class="social_button">',c+=b.social_buttons.buttons[g].html.replace(/{location_href}/g,l).replace(/{location_href_encoded}/g,encodeURIComponent(l)),c+="</div>");X&&b.social_buttons.load_after_effect?(p.unbind("slider_transition_finnished.social_buttons"),p.bind("slider_transition_finnished.social_buttons",function(){y.html("").append(c)})):
y.append(c)}}},_button:{init:function(a){c.buttons[a.type]=k('<a class="standalone_button'+(a.custom_class?" "+a.custom_class:"")+'" href="#">'+a.text+"</a>");p.prepend(c.buttons[a.type]);d.position_element(c.buttons[a.type],b.buttons[a.type].position)},display:function(a){a.target="string"==typeof a.target?a.target:"_self";c.buttons[a.type].attr({href:a.href,target:a.target})}},email_button:{init:function(){d._button.init({type:"email",custom_class:"email",text:"Email this"});d.email_button.display(n.index)},
display:function(a){a=v.href.indexOf("#");b.buttons.email.display&&(a=-1==a?v.href:v.href.substring(0,a),a+="#slider_"+b.module_id+"/"+x.join("-")+"/"+h.items[n.index].id,d._button.display({type:"email",href:"mailto:?subject="+escape(b.buttons.email.email_subject)+"&body="+encodeURIComponent(a)}))}},download_button:{init:function(){d._button.init({type:"download",custom_class:"download",text:"Download"});d.download_button.display(n.index)},display:function(a){a=h.items[a].download_url;b.buttons.download.display&&
(a=a?a:"#",d._button.display({type:"download",href:a,target:"_blank"}),"#"==a?c.buttons.download.stop().fadeTo(200,0):c.buttons.download.stop().fadeTo(200,1))}},fullscreen_button:{init:function(){d._button.init({type:"fullscreen",custom_class:"fullscreen",text:"Fullscreen"});c.buttons.fullscreen.click(function(){k(this).chameleonSlider_2_1_fullscreen(b.fullscreen_options);return!1})}},exit_fullscreen:{init:function(){d._button.init({type:"exit_fullscreen",custom_class:"exit_fullscreen",text:"Exit fullscreen"})}},
main_panel:{init:function(){var a,e="mousedown",l="mousemove",g="mouseup";u=k('<div class="main_panel" />');d.main_panel.size();r=k('<div class="items_wrapper" />');u.append(r);p.prepend(u);if(b.redirect_on_click||b.lightbox_on_click)G=k('<a href="#" class="media_link" />'),b.redirect_on_click&&G.attr("target",b.redirect_on_click_target),u.append(G);u.append('<div class="preloading_item" />');!b.redirect_on_click&&b.lightbox_on_click&&(H=k('<div class="lightbox_links_container" style="display: none;"></div>'),
r.append(H));p.bind("slider_transition_finnished.main_panel",function(){X=!1});d.main_panel.display_category(!0);c.preloading_item||(d.main_panel.display(n.index,""),d.triggers());if(b.main_panel.drag_navigation){if(a="ontouchstart"in z)e="touchstart",l="touchmove",g="touchend";u.delegate("a","click",function(a){c.main_panel.disable_clicking&&a.preventDefault()}).bind(e+".chameleon_"+b.module_id,function(b){a&&(b.originalEvent.touches&&b.originalEvent.touches.length?b=b.originalEvent.touches[0]:b.originalEvent.changedTouches&&
b.originalEvent.changedTouches.length&&(b=b.originalEvent.changedTouches[0]));u.data("dragging",{start_position:{left:b.pageX,top:b.pageY}});b.preventDefault()});k(L).bind(l+".chameleon_"+b.module_id,function(b){var e;if("object"==typeof u.data("dragging")&&(e=u.data("dragging").start_position,c.main_panel.disable_clicking=!0,a&&(b.originalEvent.touches&&b.originalEvent.touches.length?b=b.originalEvent.touches[0]:b.originalEvent.changedTouches&&b.originalEvent.changedTouches.length&&(b=b.originalEvent.changedTouches[0])),
!(1<=Math.abs((e.top-b.pageY)/(b.pageX-e.left))))){b=e.left-b.pageX;if(50>Math.abs(b))return!1;u.data("dragging",!1);0>b?d.prev():d.next()}}).bind(g+".chameleon_"+b.module_id,function(a){u.data("dragging",!1);c.main_panel.disable_clicking_interval=setTimeout(function(){c.main_panel.disable_clicking=!1},10)})}c.main_panel.initialized=!0},size:function(){b.main_panel.display&&(c.main_panel.dimensions=d.get_dimensions(b.main_panel.dimensions),c.main_panel.dimensions.height-=b.main_panel.trim.top+b.main_panel.trim.bottom,
c.main_panel.dimensions.width-=b.main_panel.trim.left+b.main_panel.trim.right,d.position_element(u,b.main_panel.position),u.width(c.main_panel.dimensions.width).height(c.main_panel.dimensions.height))},display_category:function(a){var e="",l=0,g;g=h.items[n.index];var w=[];if(b.main_panel.display){R(g)&&(c.preloading_item=!0,a?k("<img />").load(function(){c.preloading_item=!1;d.main_panel.display(n.index,"");d.triggers()}).error(function(){c.preloading_item=!1;d.triggers()}).attr("src",g.src):(u.addClass("loading_category"),
a=function(){c.preloading_item=!1;d.main_panel.display(n.index,"");u.removeClass("loading_category")},k("<img />").load(a).error(a).attr("src",g.src)));for(;l<h.item_count;l++)if(g=h.items[l],b.main_panel.immediately_preload_all_images&&R(g)&&!c.preloaded_images[g.src]&&(c.preloaded_images[g.src]={loading:!0,loaded:!1},k("<img />").load({src:g.src},function(a){c.preloaded_images[a.data.src]={loading:!1,loaded:!0,width:this.width,height:this.height}}).attr("src",g.src)),!b.redirect_on_click&&b.lightbox_on_click){var f,
m;"image"==g.type||"video"==g.type||"audio"==g.type?(a=g.lightbox_url,f=g.download_url?g.download_url:"",m=g.src):m=f=a="";"pp"==b.fullscreen_provider?a&&(e+='<a href="'+a+'" rel="prettyPhoto_M'+b.module_id+'" edgmid="'+b.module_id+'" edgpid="'+g.id+'" downhref="'+f+(b.lightbox_description&&g.info?'" pptitle="'+g.info.replace('"',"&quot;"):"")+'"><img src="'+m+'" alt="'+(b.lightbox_title&&g.title?g.title:"")+'" /></a>'):"smb"==b.fullscreen_provider?k.isPlainObject(g.smb_object)&&!k.isEmptyObject(g.smb_object)&&
w.push(g.smb_object):"smbLight"==b.fullscreen_provider&&k.isPlainObject(g.smbLight_object)&&!k.isEmptyObject(g.smbLight_object)&&w.push(g.smbLight_object)}!b.redirect_on_click&&b.lightbox_on_click&&("pp"==b.fullscreen_provider?(H.html(e),aa=H.find("> a"),aa.prettyPhoto(b.pretty_photo_options)):"smb"==b.fullscreen_provider?H.data("socialMediaBox",w):"smbLight"==b.fullscreen_provider&&H.data("smbLightItems",w))}},display:function(a){var e="",l="",g,w=h.items[a];if(b.main_panel.display){X=!0;G.unbind("click");
2==arguments.length?l=e=arguments[1]:1==b.main_panel.transition.effects.length?l=e=b.main_panel.transition.effects[0]:1<b.main_panel.transition.effects.length&&(g=Math.floor(Math.random()*b.main_panel.transition.effects.length),l=e=b.main_panel.transition.effects[g]);"image"==w.type?(G.css("display","block"),b.redirect_on_click&&G.attr("href","string"==typeof w.on_click_url&&w.on_click_url?w.on_click_url:"#")):"video"==w.type||"audio"==w.type?(l=e="",b.redirect_on_click||"undefined"!=typeof w.html&&
""!=w.html?G.css("display","none"):G.css("display","block")):"html"==w.type&&(l="","fade"!=e&&(e="show"));!b.redirect_on_click&&b.lightbox_on_click&&G.attr("href","#").click(function(){var a;if(c.main_panel.disable_clicking)return!1;"pp"==b.fullscreen_provider?aa.filter('a[edgpid="'+w.id+'"]').trigger("click"):"smb"==b.fullscreen_provider?(b.smb_options.openAt=0,k.each(H.data("socialMediaBox"),function(a,c){if(c.id===w.id)return b.smb_options.openAt=a,!1}),H.socialMediaBox(b.smb_options)):"smbLight"==
b.fullscreen_provider&&(a=H.data("smbLightItems"),b.smbLight_options.openAt=0,k.each(a,function(a,c){if(c.id===w.id)return b.smbLight_options.openAt=a,!1}),new SmbLight_1(a,b.smbLight_options));return!1});"object"==typeof l?e=l.type:""==e&&(e="show");void 0!=c.youtube_player_object&&(c.youtube_player_object.getIframe().src="",c.youtube_player_object.stopVideo(),c.youtube_player_object=void 0);var f=function(g){b.main_panel.immediately_preload_all_images||c.item_details_shown||(d.social_buttons.display(n.index),
d.item_title.select(n.index),d.item_info.display(n.index),d.download_button.display(n.index),d.email_button.display(n.index));d.main_panel._transitions[e]({item_index:a,effect_settings:l,item_src:g?g:w.src});b.main_panel.fill_panel&&R(w)&&d.main_panel._fit_image(r.find("> .item_container").filter(":last").find("> img"));if(!b.main_panel.immediately_preload_all_images&&(g=h.items[n.index+1])&&R(g)){var m=ja(g);if(!c.preloaded_images[m]){c.preloaded_images[m]={loading:!0,loaded:!1};var p=h.id,q=n.index+
1;k("<img />").load(function(a){c.preloaded_images[m]={loading:!1,loaded:!0,width:this.width,height:this.height};p==h.id&&q==n.index&&(f(m),d.main_panel.remove_loading_effect("loading_item"))}).attr("src",m)}}};if(R(w))if(b.main_panel.immediately_preload_all_images)f();else{var m=ja(w);if(c.preloaded_images[m])c.preloaded_images[m].loaded&&(f(m),d.main_panel.remove_loading_effect("loading_item"));else{d.main_panel.show_loading_effect("loading_item");c.preloaded_images[m]={loading:!0,loaded:!1};var p=
h.id,ka=n.index;k("<img />").load(function(a){c.preloaded_images[m]={loading:!1,loaded:!0,width:this.width,height:this.height};p==h.id&&ka==n.index&&(f(m),d.main_panel.remove_loading_effect("loading_item"))}).attr("src",m)}}else f()}},show_loading_effect:function(a){clearTimeout(u.data("loading_effect_timeout"));u.addClass(a+" loading_effect show_preload")},remove_loading_effect:function(a){u.removeClass("show_preload");u.data("loading_effect_timeout",setTimeout(function(){u.removeClass(a+" loading_effect")},
400))},_fit_image:function(a){var e=a.attr("src"),d=c.preloaded_images[e],g=function(a,e){var d=c.main_panel.dimensions.width,l=c.main_panel.dimensions.height,g;if(e.width!=d||e.height!=l)a.css({position:"relative"}),e.width>d||e.height>l||b.main_panel.stretch_small_image?(a.css({width:"100%",height:"auto"}),g=d/e.width,g=Math.floor(e.height*g),g<l?(g=l/e.height,l=Math.floor(e.width*g),a.css({height:"100%",width:"auto"}),b.main_panel.top_left_align||a.css({left:-Math.floor((l-d)/2)})):g>l&&!b.main_panel.top_left_align&&
a.css({top:-Math.floor((g-l)/2)})):b.main_panel.top_left_align||(e.width<d&&a.css({left:Math.floor((d-e.width)/2)}),e.height<l&&a.css({top:Math.floor((l-e.height)/2)}))};d&&d.loaded?g(a,d):k("<img />").load({src:e,$img:a},function(a){c.preloaded_images[a.data.src]={loading:!1,loaded:!0,width:this.width,height:this.height};g(a.data.$img,c.preloaded_images[a.data.src])}).attr("src",e)},_transitions:{show:function(a){var e='<div class="item_container new_item">',l=h.items[a.item_index],g=r.find("> .item_container").eq(0),
f="undefined"==typeof l.html||""==l.html?"":l.html,U="",ca,v,u=!1;"html"!=l.type&&"video"!=l.type&&"audio"!=l.type||!f?(f="object"==typeof l.thumb&&l.thumb.caption?l.thumb.caption:"",e+='<img alt="'+f+'" src="'+a.item_src+'" />'):(a="undefined"==typeof l.video_src||""==l.video_src?"":l.video_src,""==a?b.autoplay.enable&&(U=d._video.get_provider(f),ca=d._video.get_video_id(U,f)):(U=b.inhouse_player,ca=a),""===U?e+=f:(u=!0,v="chameleon_video_container_"+b.module_id+"_"+m.join("-")+"_"+n.index+"_"+Math.round(1E5*
Math.random()),e+='<div id="'+v+'"></div>'));e=k(e+"</div>");r.find("> .item_container.new_item").removeClass("new_item");e.css({width:c.main_panel.dimensions.width,height:c.main_panel.dimensions.height}).appendTo(r);u&&d._video.player_setup({container:v,provider:U,id:ca,dimensions:c.main_panel.dimensions});g.hasClass("new_item")||g.remove();u||p.trigger("slider_transition_finnished")},fade:function(a){var e=h.items[a.item_index],d="object"==typeof e.thumb&&e.thumb.caption?e.thumb.caption:"",g="undefined"==
typeof e.html||""==e.html?"":e.html,f;"image"==e.type?f=k('<div class="item_container new_item"><img alt="'+d+'" src="'+a.item_src+'" /></div>'):g&&(f=k('<div class="item_container new_item">'+g+"</div>"));r.find("> .item_container.new_item").removeClass("new_item");f.css({width:c.main_panel.dimensions.width,height:c.main_panel.dimensions.height,display:"none"}).appendTo(r).fadeIn(b.main_panel.transition.duration,function(){var a=r.find("> .item_container").eq(0);a.hasClass("new_item")||a.remove();
p.trigger("slider_transition_finnished")})},slide:function(a){var e=h.items[a.item_index],e=k('<div class="item_container new_item"><img alt="'+("object"==typeof e.thumb&&e.thumb.caption?e.thumb.caption:"")+'" src="'+a.item_src+'" /></div>'),d=r.find("> .item_container").filter(":last"),g="left",f=function(){var a=r.find("> .item_container").eq(0);a.hasClass("new_item")||a.remove();p.trigger("slider_transition_finnished")};a.effect_settings.force_horizontal?g=Z<a.item_index?"left":"right":a.effect_settings.force_vertical?
g=Z<a.item_index?"up":"down":1==a.effect_settings.directions.length?g=a.effect_settings.directions[0]:1<a.effect_settings.directions.length&&(g=a.effect_settings.directions[Math.floor(Math.random()*a.effect_settings.directions.length)]);r.find("> .item_container.new_item").removeClass("new_item");e.css({width:c.main_panel.dimensions.width,height:c.main_panel.dimensions.height});switch(g){case "down":e.css("top",-c.main_panel.dimensions.height).appendTo(r).animate({top:0},b.main_panel.transition.duration,
"swing",f);d.animate({top:c.main_panel.dimensions.height},b.main_panel.transition.duration,"swing");break;case "up":e.css("top",c.main_panel.dimensions.height).appendTo(r).animate({top:0},b.main_panel.transition.duration,"swing",f);d.animate({top:-c.main_panel.dimensions.height},b.main_panel.transition.duration,"swing");break;case "right":e.css("left",-c.main_panel.dimensions.width).appendTo(r).animate({left:0},b.main_panel.transition.duration,"swing",f);d.animate({left:c.main_panel.dimensions.width},
b.main_panel.transition.duration,"swing");break;default:e.css("left",c.main_panel.dimensions.width).appendTo(r).animate({left:0},b.main_panel.transition.duration,"swing",f),d.animate({left:-c.main_panel.dimensions.width},b.main_panel.transition.duration,"swing")}},stripes:function(a){var e=0,d=0,g=0,f=0,h=0,m=0,n=0,v=0,u=0,x=0,B=a.item_src,q=k.extend(!0,{orientation:"vertical",num_of_stripes:12,direction:0,start_at:0,randomize:{orientation:!1,direction:!1,start_at:!1}},a.effect_settings),y=Math.floor(b.main_panel.transition.duration/
q.num_of_stripes),C=k('<div class="item_container new_item"></div>'),z=function(){var a=r.find("> .item_container").eq(0);a.hasClass("new_item")||a.remove();p.trigger("slider_transition_finnished")};a=function(a,c){var r=e,t=d,A=function(){a.animate("horizontal"==q.orientation?{left:0,opacity:1}:{top:0,opacity:1},{duration:b.main_panel.transition.duration,easing:"swing",complete:function(){0==q.start_at||2==q.start_at?c+1==q.num_of_stripes&&z():1==q.start_at?0==c&&z():c==Math.floor(q.num_of_stripes/
2)&&z()}})};"horizontal"==q.orientation?(h=c*d,m=0===q.direction?-e:1===q.direction?e:0==c%2?-e:e,n=u-h,v=x):(m=c*e,h=0===q.direction?-d:1===q.direction?d:0==c%2?-d:d,n=u,v=x-m);c+1==q.num_of_stripes&&(r=g,t=f);a=k('<div class="fancy_effect_element" />');a.css({width:r,height:t,top:h,left:m,opacity:0,background:"url('"+B+"') no-repeat "+v+"px "+n+"px "+p.css("background-color")}).appendTo(C);if(0===q.start_at)setTimeout(A,c*y+1);else if(1==q.start_at)setTimeout(A,(q.num_of_stripes-1-c)*y+1);else if(2==
q.start_at||3==q.start_at)r=0,0==q.num_of_stripes%2?(t=q.num_of_stripes/2,c<t?r=3==q.start_at?c:Math.abs(c-t+1):(r=c-t,3==q.start_at&&(r=t-1-r))):(t=Math.floor(q.num_of_stripes/2),r=c<t?t-c:c-t,3==q.start_at&&(r=t-r)),setTimeout(A,r*y+1)};q.randomize.orientation&&(q.orientation=0==Math.floor(2*Math.random())?"horizontal":"vertical");q.randomize.direction&&(q.direction=Math.floor(3*Math.random()));q.randomize.start_at&&(q.start_at=Math.floor(4*Math.random()));r.find("> .item_container.new_item").removeClass("new_item");
C.css({width:c.main_panel.dimensions.width,height:c.main_panel.dimensions.height}).appendTo(r);"horizontal"==q.orientation?(g=e=c.main_panel.dimensions.width,d=Math.ceil(c.main_panel.dimensions.height/q.num_of_stripes),f=d*q.num_of_stripes-c.main_panel.dimensions.height,f=0==f?d:d-f):(f=d=c.main_panel.dimensions.height,e=Math.ceil(c.main_panel.dimensions.width/q.num_of_stripes),g=e*q.num_of_stripes-c.main_panel.dimensions.width,g=0==g?e:e-g);(function(a){var b=c.main_panel.dimensions.width,e=c.main_panel.dimensions.height;
if(a.width!=b||a.height!=e)a.width<b?x=Math.floor((b-a.width)/2):a.width>b&&(x=-Math.floor((a.width-b)/2)),a.height<e?u=Math.floor((e-a.height)/2):a.height>e&&(u=-Math.floor((a.height-e)/2))})(c.preloaded_images[B]);for(var t=0;t<q.num_of_stripes;t++)a(void 0,t)}}},_on_pre_item_change:void 0,_video:{get_provider:function(a){if("<iframe"==a.substring(0,7)){if(-1!==a.indexOf("youtube.com/embed/",7))return"youtube";if(-1!==a.indexOf("player.vimeo.com/video/",7))return"vimeo"}return""},get_video_id:function(a,
b){var c,d;switch(a){case "youtube":case "vimeo":return c=k("<div>"+b+"</div>").find("iframe:first").attr("src"),d=c.indexOf("?"),-1!==d&&(c=c.substring(0,d)),"/"==c[c.length-1]&&(c=c.substring(0,c.length-1)),c.substring(c.lastIndexOf("/")+1);default:return""}},player_setup:function(a){var b=k("#"+a.container);b.css(a.dimensions);a.container=b;switch(a.provider){case "youtube":d._video._youtube_player(a);break;case "vimeo":d._video._vimeo_player(a);break;case "flowplayer":d._video._flow_player(a)}},
_youtube_player:function(a){var e=a.container.attr("id")+"_object",l,g,f=function(){g=new YT.Player(e,{events:{onReady:function(){c.youtube_player_object=g;p.trigger("slider_transition_finnished");b.autoplay.autostart_video_playback&&g.playVideo()},onStateChange:function(a){switch(a.data){case YT.PlayerState.PLAYING:T=!0;d.autoplay.reset();break;case YT.PlayerState.ENDED:setTimeout(d.next,1E3)}}}})};a.container.append('<iframe id="'+e+'" type="text/html" width="'+a.dimensions.width+'" height="'+a.dimensions.height+
'" src="//www.youtube.com/embed/'+a.id+"?enablejsapi=1&amp;wmode=transparent&amp;origin="+v.protocol+"//"+v.host+'" frameborder="0"></iframe>');c.youtube_iframe_api.called||(c.youtube_iframe_api.called=!0,a=L.createElement("script"),a.src="//www.youtube.com/iframe_api",l=L.getElementsByTagName("script")[0],l.parentNode.insertBefore(a,l));c.youtube_iframe_api.loaded?f():z.onYouTubeIframeAPIReady=function(){c.youtube_iframe_api.loaded=!0;f()}},_vimeo_player:function(a){var c=!1,l=function(a,b){var c=
{method:a};b&&(c.value=b);f[0].contentWindow.postMessage(JSON.stringify(c),"https://player.vimeo.com")},g=function(a){switch(JSON.parse(a.data).event){case "ready":p.trigger("slider_transition_finnished");l("addEventListener","finish");l("addEventListener","play");b.autoplay.autostart_video_playback&&l("play");break;case "play":if(c)break;T=c=!0;d.autoplay.reset();break;case "finish":setTimeout(d.next,1E3)}},f=k('<iframe src="//player.vimeo.com/video/'+a.id+'?api=1" width="'+a.dimensions.width+'" height="'+
a.dimensions.height+'" frameborder="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen></iframe>');d._on_pre_item_change=function(){z.addEventListener?z.removeEventListener("message",g,!1):z.detachEvent("onmessage",g)};z.addEventListener?z.addEventListener("message",g,!1):z.attachEvent("onmessage",g);a.container.append(f)},_flow_player:function(a){var c=!1,l="";V(a.id,".mp4")?l="video/mp4":V(a.id,".webm")?l="video/webm":V(a.id,".ogg")?l="video/ogg":V(a.id,".flv")&&(l="video/flash");flowplayer(a.container[0],
{swf:b.flowplayer_src,volume:b.videoVolume,clip:{sources:[{type:l,src:a.id}]}}).on("ready",function(){p.trigger("slider_transition_finnished");b.autoplay.autostart_video_playback&&flowplayer(a.container).play()}).on("resume",function(){b.autoplay.enable&&!c&&(T=c=!0,d.autoplay.reset())}).on("finish",function(){b.autoplay.enable&&setTimeout(d.next,1E3)})}},key_browse:function(){k(L).keyup(function(a){37===a.keyCode&&d.prev();39===a.keyCode&&d.next();return!1})},_scrollable_boxes:{init:function(a){var e,
l=b.scrollable_boxes[a.box];e=c.scrollable_boxes[a.box]={jq:{container:k('<div class="scrollable_box'+(a.custom_class?" "+a.custom_class:"")+'" />').data("disabled",!1),viewport:k('<div class="viewport" />'),content:k('<div class="overview" />'),scrollbar:k()}};e.jq.container.append(e.jq.viewport);e.jq.viewport.append(e.jq.content);p.prepend(e.jq.container);d._scrollable_boxes.size(a.box);l.container.resize_to_content||e.jq.container.height(e.dimensions.height);d._scrollable_boxes.display(a);l.container.show_on_hover&&
p.hover(function(){c.mouse_entered=!0;0==e.jq.container.data("disabled")&&e.jq.container.stop(!0).fadeTo(200,1,function(){e.jq.container.css("display","block")})},function(){c.mouse_entered=!1;0==e.jq.container.data("disabled")&&e.jq.container.stop(!0).fadeTo(200,0,function(){e.jq.container.css("display","none")})})},size:function(a){var e=c.scrollable_boxes[a];a=b.scrollable_boxes[a];a.display&&(e.jq.scrollbar.remove(),e.jq.scrollbar=k('<div class="scrollbar"><div class="track"><div class="thumb"><div class="end"></div></div></div></div>'),
e.dimensions=d.get_dimensions(a.container.dimensions),d.position_element(e.jq.container,a.container.position),e.dimensions.height>c.container_dimensions.height&&(e.dimensions.height=c.container_dimensions.height),e.dimensions.width>c.container_dimensions.width&&(e.dimensions.width=c.container_dimensions.width),e.jq.container.width(e.dimensions.width).css({maxHeight:e.dimensions.height}).append(e.jq.scrollbar).eds_tinyscrollbar({size:e.dimensions.height-(e.jq.scrollbar.outerHeight(!0)-e.jq.scrollbar.height())}).hide(0),
e.jq.viewport.css({maxHeight:e.dimensions.height-e.jq.viewport.outerHeight(!0)}),a.container.resize_to_content||e.jq.container.height(e.dimensions.height))},display:function(a){var e=c.scrollable_boxes[a.box],d=b.scrollable_boxes[a.box],g=function(){var a=function(){e.jq.viewport.stop(!0).fadeTo(200,1,function(){e.jq.scrollbar.css("display","block")});e.jq.scrollbar.hasClass("disable")||e.jq.scrollbar.stop(!0).fadeTo(200,1,function(){e.jq.scrollbar.css("display","block")})};e.jq.viewport.css({visibility:"",
display:"none"});d.container.show_on_hover?c.mouse_entered?a():(e.jq.viewport.css({display:"block"}),e.jq.scrollbar.hasClass("disable")||e.jq.scrollbar.css({display:"block"})):a()};d.display&&("string"==typeof a.content&&a.content?(e.jq.container.data("disabled",!1),e.jq.container.is(":visible")?(e.jq.container.css({height:e.jq.container.height()}),e.jq.scrollbar.stop(!0).fadeTo(200,0,function(){e.jq.scrollbar.css("display","none")}),e.jq.viewport.stop(!0).fadeTo(200,0,function(){e.jq.content.html(a.content);
e.jq.viewport.css({visibility:"hidden",display:"block"}).removeClass("scrollable");e.jq.container.eds_tinyscrollbar_update();e.jq.scrollbar.hasClass("disable")||(e.jq.viewport.addClass("scrollable"),e.jq.container.eds_tinyscrollbar_update());!d.container.resize_to_content||d.container.show_on_hover&&!c.mouse_entered?(e.jq.container.height(e.dimensions.height),g()):e.jq.container.animate({height:e.jq.viewport.outerHeight(!0)},200,g)})):(e.jq.container.css({visibility:"hidden",display:"block"}),e.jq.viewport.removeClass("scrollable"),
e.jq.content.html(a.content),e.jq.container.eds_tinyscrollbar_update(),e.jq.scrollbar.hasClass("disable")?e.jq.scrollbar.css({display:"none"}):(e.jq.viewport.addClass("scrollable"),e.jq.scrollbar.css({display:"block",opacity:1}),e.jq.container.eds_tinyscrollbar_update()),e.jq.container.css({visibility:"",display:"none",height:d.container.resize_to_content?e.jq.viewport.outerHeight(!0):e.dimensions.height}),d.container.show_on_hover&&!c.mouse_entered||e.jq.container.stop(!0).fadeTo(200,1,function(){e.jq.container.css("display",
"block")}))):e.jq.container.data("disabled",!0).stop(!0).fadeTo(200,0,function(){e.jq.container.css("display","none")}))}},item_info:{init:function(){d._scrollable_boxes.init({box:"item_info",custom_class:"item_info",content:h.items[n.index].info})},display:function(a){d._scrollable_boxes.display({box:"item_info",content:h.items[a].info})}},gallery_info:{init:function(){d._scrollable_boxes.init({box:"gallery_info",custom_class:"gallery_info",content:h.info})},display:function(){d._scrollable_boxes.display({box:"gallery_info",
content:h.info})}},autoplay_toggle:{init:function(){E=k('<a href="#" class="autoplay_toggle">Play/Pause</a>');b.autoplay.enable?E.addClass("pause"):O=!0;E.prependTo(p).click(function(){O?(O=!1,E.addClass("pause"),b.autoplay.enable||(ia=!0,b.autoplay.enable=!0,d.autoplay.init()),b.autoplay.pause_on_hover||d.autoplay.start()):(E.removeClass("pause"),O=!0,S||d.autoplay.pause());return!1});d.position_element(E,b.autoplay_toggle.position);2>h.item_count&&E.css("display","none");b.autoplay_toggle.auto_hide&&
(E.css("display","none"),p.hover(function(){2>h.item_count||E.stop().fadeTo(b.autoplay_toggle.hide_speed,1)},function(){E.stop().fadeTo(b.autoplay_toggle.hide_speed,0)}))},display_category:function(){var a="";b.autoplay_toggle.display&&(2>h.item_count&&(a="none"),E.css("display",a))}},autoplay:{init:function(){b.autoplay.indicator.display&&(C=k('<div class="indicator" />'),D=k('<div class="autoplay_container" />'),d.autoplay.size(),"vertical"!=b.autoplay.indicator.orientation||b.autoplay.indicator.flip_direction?
b.autoplay.indicator.flip_direction&&C.css({left:"auto",right:0}):C.css({top:"auto",bottom:0}),D.append(C).css("display","none"),ia?(p.append(D),D.fadeIn(300)):(p.prepend(D),D.css("display","")));p.bind("slider_transition_finnished",function(){O||S||d.autoplay.start()})},size:function(){b.autoplay.enable&&b.autoplay.indicator.display&&(c.autoplay.indicator=d.get_dimensions(b.autoplay.indicator.dimensions),d.position_element(D,b.autoplay.indicator.position),"vertical"==b.autoplay.indicator.orientation?
C.width(c.autoplay.indicator.width):C.height(c.autoplay.indicator.height),D.css(c.autoplay.indicator))},start:function(){var a=b.autoplay.interval,e=!0;2>h.item_count?b.autoplay.indicator.display&&D.css("display","none"):b.autoplay.enable&&""==N&&(fa=(new Date).getTime(),ba=!1,0!=Q&&(e=!1,a=Q),b.autoplay.indicator.display&&(D.css("display",""),C.stop(),"vertical"==b.autoplay.indicator.orientation?(e&&C.height(0),C.animate({height:c.autoplay.indicator.height},a,"linear")):(e&&C.width(0),C.animate({width:c.autoplay.indicator.width},
a,"linear"))),N=setTimeout(d.next,a))},pause:function(){b.autoplay.enable&&!ba&&(ga=(new Date).getTime(),ha=ga-fa,b.autoplay.indicator.display&&C.stop(),Q=(0==Q?b.autoplay.interval:Q)-ha,clearTimeout(N),N="")},reset:function(){b.autoplay.enable&&(clearTimeout(N),N="",Q=0,ba=!0,b.autoplay.indicator.display&&(C.stop(),"vertical"==b.autoplay.indicator.orientation?C.height(0):C.width(0)))},display_category:function(){b.autoplay.enable&&b.autoplay.indicator.display&&(2>h.item_count?D.css("display","none"):
D.css("display",""))}},_items_panel:{init:function(a){a.page.append(a.item).appendTo(f[a.panel].container);c[a.panel].width=a.item.outerWidth(!0);c[a.panel].height=a.item.outerHeight(!0);c[a.panel].page.horizontal_space=a.page.outerWidth(!0)-a.page.width();c[a.panel].page.vertical_space=a.page.outerHeight(!0)-a.page.height();a.page.remove();b[a.panel].container.transparent||f[a.panel].wrapper.addClass("not_transparent")},calculate_pages:function(a){var e;c[a.panel].container=d.get_dimensions(b[a.panel].container.dimensions);
c[a.panel].page.width=c[a.panel].width+c[a.panel].page.horizontal_space;c[a.panel].page.width>c[a.panel].container.width?c[a.panel].container.width=c[a.panel].page.width:c[a.panel].page.width=c[a.panel].container.width-c[a.panel].page.horizontal_space;c[a.panel].page.height=c[a.panel].height+c[a.panel].page.vertical_space;c[a.panel].page.height>c[a.panel].container.height?c[a.panel].container.height=c[a.panel].page.height:c[a.panel].page.height=c[a.panel].container.height-c[a.panel].page.vertical_space;
c[a.panel].per_row=Math.floor(c[a.panel].page.width/c[a.panel].width);c[a.panel].page.width=c[a.panel].per_row*c[a.panel].width;c[a.panel].row_count=Math.floor(c[a.panel].page.height/c[a.panel].height);c[a.panel].page.height=c[a.panel].row_count*c[a.panel].height;c[a.panel].per_page=c[a.panel].per_row*c[a.panel].row_count;c[a.panel].page.count=Math.ceil(a.item_count/c[a.panel].per_page);1<c[a.panel].page.count?(f[a.panel].pagination?(f[a.panel].pagination.next.css("display","block"),f[a.panel].pagination.prev.css("display",
"block")):(f[a.panel].wrapper.append('<a href="#" class="navigation '+b[a.panel].pagination.direction+' prev">Previous</a><a href="#" class="navigation '+b[a.panel].pagination.direction+' next">Next</a>'),f[a.panel].pagination={prev:f[a.panel].wrapper.find("> a.navigation.prev"),next:f[a.panel].wrapper.find("> a.navigation.next")},f[a.panel].pagination.next.click(function(){var b=f[a.panel].pages.filter(".current").index();d._items_panel.move_to_page(a.panel,b+1);return!1}),f[a.panel].pagination.prev.click(function(){var b=
f[a.panel].pages.filter(".current").index();d._items_panel.move_to_page(a.panel,b-1);return!1})),"vertical"==b[a.panel].pagination.direction?(e=c[a.panel].height+c[a.panel].page.vertical_space+2*f[a.panel].pagination.prev.outerHeight(!0),e>c[a.panel].container.height&&(c[a.panel].container.height=e),f[a.panel].pagination.next.css({top:c[a.panel].container.height-f[a.panel].pagination.next.height()}),c[a.panel].row_count=Math.floor((c[a.panel].container.height-2*f[a.panel].pagination.prev.outerHeight(!0)-
c[a.panel].page.vertical_space)/c[a.panel].height),c[a.panel].page.height=c[a.panel].row_count*c[a.panel].height):(e=c[a.panel].width+c[a.panel].page.horizontal_space+2*f[a.panel].pagination.prev.outerWidth(!0),e>c[a.panel].container.width&&(c[a.panel].container.width=e),c[a.panel].per_row=Math.floor((c[a.panel].container.width-2*f[a.panel].pagination.prev.outerWidth(!0)-c[a.panel].page.horizontal_space)/c[a.panel].width),c[a.panel].page.width=c[a.panel].per_row*c[a.panel].width),c[a.panel].per_page=
c[a.panel].per_row*c[a.panel].row_count,c[a.panel].page.count=Math.ceil(a.item_count/c[a.panel].per_page)):f[a.panel].pagination&&(f[a.panel].pagination.next.css("display","none"),f[a.panel].pagination.prev.css("display","none"));f[a.panel].wrapper.css(c[a.panel].container);c[a.panel].window_width=c[a.panel].page.width+c[a.panel].page.horizontal_space;c[a.panel].window_height=c[a.panel].page.height+c[a.panel].page.vertical_space;f[a.panel].window.width(c[a.panel].window_width).height(c[a.panel].window_height).css({top:Math.floor((c[a.panel].container.height-
c[a.panel].window_height)/2)});"vertical"==b[a.panel].pagination.direction?f[a.panel].container.width(c[a.panel].window_width).height(0):f[a.panel].container.width(0).height(c[a.panel].window_height);d.position_element(f[a.panel].wrapper,b[a.panel].container.position)},move_to_page:function(a,e){var d,g=f[a].pages.length-1;0>g||f[a].pages.eq(e).hasClass("current")||(e>g?(d="vertical"==b[a].pagination.direction?{top:g*-(c[a].page.height+c[a].page.vertical_space)-10}:{left:g*-(c[a].page.width+c[a].page.horizontal_space)-
10},f[a].container.animate(d,40,"swing",function(){d="vertical"==b[a].pagination.direction?{top:g*-(c[a].page.height+c[a].page.vertical_space)}:{left:g*-(c[a].page.width+c[a].page.horizontal_space)};f[a].container.animate(d,50,"swing")})):0>e?(d="vertical"==b[a].pagination.direction?{top:10}:{left:10},f[a].container.animate(d,40,"swing",function(){d="vertical"==b[a].pagination.direction?{top:0}:{left:0};f[a].container.animate(d,50,"swing")})):(f[a].pages.removeClass("current").eq(e).addClass("current"),
d="vertical"==b[a].pagination.direction?{top:e*-(c[a].page.height+c[a].page.vertical_space)}:{left:e*-(c[a].page.width+c[a].page.horizontal_space)},f[a].container.stop(!0,!1).animate(d,b[a].pagination.duration,b[a].pagination.easing)))}},thumbnails:{init:function(){f.thumbs={container:k('<div class="thumb_container" />'),window:k('<div class="thumb_window" />'),wrapper:k('<div class="thumb_wrapper" />')};f.thumbs.window.append(f.thumbs.container);f.thumbs.wrapper.append(f.thumbs.window);p.prepend(f.thumbs.wrapper);
d._items_panel.init({panel:"thumbs",page:k("<ul />"),item:k('<li><img src="'+A[0].items[0].thumb.src+'" alt="" style="width: '+b.thumbs.width+"px !important; height: "+b.thumbs.height+'px !important;" /></li>')});b.thumbs.auto_hide&&(f.thumbs.wrapper.css({display:"none"}),p.hover(function(){f.thumbs.wrapper.stop().fadeTo(b.thumbs.hide_speed,1)},function(){f.thumbs.wrapper.stop().fadeTo(b.thumbs.hide_speed,0)}));d.thumbnails.display_category(!1);d.thumbnails.select(n.index)},display_category:function(){var a,
e,l,g=0,m=0<arguments.length&&!1===arguments[0]?!1:!0;if(b.thumbs.display){d._items_panel.calculate_pages({panel:"thumbs",item_count:h.item_count});for(f.thumbs.container.html("");g<h.item_count;g++)0===g%c.thumbs.per_page&&("vertical"==b.thumbs.pagination.direction?f.thumbs.container.height(f.thumbs.container.height()+c.thumbs.window_height):f.thumbs.container.width(f.thumbs.container.width()+c.thumbs.window_width),a=k("<ul />"),a.width(c.thumbs.page.width).height(c.thumbs.page.height).appendTo(f.thumbs.container)),
e=b.thumbs.captions&&"string"==typeof h.items[g].thumb.caption&&h.items[g].thumb.caption?'<div class="caption_wrapper"><div class="caption">'+h.items[g].thumb.caption+"</div></div>":"",l=b.thumbs.display_item_types?'<span class="item_type_icon '+h.items[g].type+'"></span>':"",e='<li><img style="width: '+b.thumbs.width+"px !important; height: "+b.thumbs.height+'px !important;" src="'+h.items[g].thumb.src+'" alt="" />'+l+e,m&&(k("<img />").load({index:g},function(a){f.thumbs.pages.find(".thumb_preloading").eq(a.data.index).fadeTo(500,
0,function(){k(this).remove()})}).attr("src",h.items[g].thumb.src),e+='<div class="thumb_preloading"></div>'),a.append(e+"</li>"),b.thumbs.tooltips.enabled&&k.fn.qtip&&(l=!0,e="",h.items[g].thumb.tooltip&&(b.thumbs.tooltips.title&&h.items[g].thumb.tooltip.title&&(e='<p class="title">'+h.items[g].thumb.tooltip.title+"</p>",l=!1),b.thumbs.tooltips.description&&h.items[g].thumb.tooltip.description&&(e+='<div class="description">'+h.items[g].thumb.tooltip.description+"</div>",l=!1),l||a.find("> li").filter(":last").qtip({content:{text:e},
position:b.thumbs.tooltips.position,style:{classes:"chameleon_slider_tooltip "+b.thumbs.tooltips.classes,tip:{corner:!0}}})));f.thumbs.pages=f.thumbs.container.find("> ul")}},trigger:function(){f.thumbs.container.delegate("ul > li","click",function(){var a=k(this);d.show_item(a.parent().index()*c.thumbs.per_page+a.index());return!1})},select:function(a){b.thumbs.display&&(a=f.thumbs.pages.find("> li").eq(a),d._items_panel.move_to_page("thumbs",a.parent().index()),f.thumbs.pages.find("> li.on").removeClass("on"),
a.addClass("on"))}},categories:{init:function(){f.categories={container:k('<div class="categories_container" />'),window:k('<div class="categories_window" />'),wrapper:k('<div class="categories_wrapper '+b.categories.pagination.direction+'" />')};f.categories.window.append(f.categories.container);f.categories.wrapper.append(f.categories.window);p.prepend(f.categories.wrapper);d._items_panel.init({panel:"categories",page:k("<ul />"),item:k('<li style="width: '+b.categories.width+"px; height: "+b.categories.height+
'px;" />')});b.categories.auto_hide&&(f.categories.wrapper.css({display:"none"}),p.hover(function(){f.categories.wrapper.stop().fadeTo(b.categories.hide_speed,1)},function(){f.categories.wrapper.stop().fadeTo(b.categories.hide_speed,0)}));d.categories.display_categories()},display_categories:function(){var a,e,l=[],g,h=0,n=m[m.length-1],p,r;if(b.categories.display){if(c.categories.render_categories){1==m.length?l=A:(e=k.extend([],m),e.pop(),l=d.get_category(e).children,l=[{id:-1,name:"&lt;Back",open_parent:!0}].concat(l),
n++);g=l.length;d._items_panel.calculate_pages({panel:"categories",item_count:g});f.categories.container.empty();for(h=0;h<g;h++)0===h%c.categories.per_page&&("vertical"==b.categories.pagination.direction?f.categories.container.height(f.categories.container.height()+c.categories.window_height):f.categories.container.width(f.categories.container.width()+c.categories.window_width),a=k("<ul />"),a.width(c.categories.page.width).height(c.categories.page.height).appendTo(f.categories.container)),p="undefined"!=
typeof l[h].children&&0<l[h].children.length,e="<li"+(l[h].open_parent?' class="open_parent"':"")+(p?' class="has_children"':"")+' style="width: '+b.categories.width+"px; height: "+b.categories.height+'px;"><a href="#" class="'+(l[h].open_parent?"back_button":"category")+'"><span>'+l[h].name+"</span></a>",p&&(e+='<a href="#" class="open_children"></a>'),e+="</li>",a.append(e);f.categories.pages=f.categories.container.find("> ul");e=f.categories.pages.find("> li > a.category");a=e.eq(0);r=b.categories.height-
(a.outerHeight(!0)-a.height());e.height(r);e.each(function(){var a=k(this).find("span"),b=a.height();r>b?a.css({top:Math.floor((r-b)/2)}):a.css({top:0})})}else 1<m.length&&n++,c.categories.render_categories=!0;d.categories.select(n)}},trigger:function(){f.categories.container.delegate("li > a","click",function(){var a=k(this),b=a.parent(),l=b.parent().index()*c.categories.per_page+b.index();f.categories.pages.find("> li").eq(0).hasClass("open_parent")&&l--;if(a.hasClass("category")){if(b.hasClass("on"))return!1;
m.pop();m.push(l);x=d.category_ids_from_indexes(m);h=d.get_category(m);h.item_count=h.items.length;n={id:h.items[0].id,index:0};c.categories.render_categories=!1;d.change_category()}else a.hasClass("open_children")?(m.pop(),m.push(l),m.push(0),x=d.category_ids_from_indexes(m),h=d.get_category(m),h.item_count=h.items.length,n={id:h.items[0].id,index:0},d.change_category()):a.hasClass("back_button")&&(m.pop(),x=d.category_ids_from_indexes(m),h=d.get_category(m),h.item_count=h.items.length,n={id:h.items[0].id,
index:0},d.change_category());return!1})},select:function(a){a=f.categories.pages.find("> li").eq(a);d._items_panel.move_to_page("categories",a.parent().index());f.categories.pages.find("> li.on").removeClass("on");a.addClass("on")}},change_category:function(){d.main_panel.display_category();d.categories.display_categories();d.thumbnails.display_category();d.pagination.display_category();d.gallery_title.select();d.gallery_info.display();d.arrows.display_category();d.autoplay_toggle.display_category();
d.autoplay.display_category();d.show_item(n.index,!0)},arrows:{init:function(){I=k('<a href="#" class="navigation_button prev">Previous</a>');J=k('<a href="#" class="navigation_button next">Next</a>');p.prepend(I,J);d.position_element(I,b.arrows.prev.position);d.position_element(J,b.arrows.next.position);d.arrows.display_category()},trigger:function(){I.click(function(){d.prev();return!1});J.click(function(){d.next();return!1});b.arrows.auto_hide&&(I.fadeTo(0,0),J.fadeTo(0,0),p.hover(function(){1!=
h.item_count&&(I.stop().fadeTo(b.arrows.hide_speed,1),J.stop().fadeTo(b.arrows.hide_speed,1))},function(){I.stop().fadeTo(b.arrows.hide_speed,0);J.stop().fadeTo(b.arrows.hide_speed,0)}))},display_category:function(){var a="";1==h.item_count&&(a="none");I.css("display",a);J.css("display",a)}},_title_box:{init:function(a){var e,l;c.title_boxes[a.box]=k('<span class="title_box'+(a.custom_class?" "+a.custom_class:"")+'" style="height: '+b.title_boxes[a.box].height+'px;"><span>T</span></span>');e=c.title_boxes[a.box].find("> span");
c.title_boxes[a.box].css("visibility","hidden");p.prepend(c.title_boxes[a.box]);d.position_element(c.title_boxes[a.box],b.title_boxes[a.box].position);l=Math.floor((b.title_boxes[a.box].height-e.height())/2);0>l&&(l=0);e.css({top:l}).empty();c.title_boxes[a.box].css("visibility","")},change_text:function(a){a.text?c.title_boxes[a.box].is(":visible")?c.title_boxes[a.box].stop().fadeTo(200,0,function(){c.title_boxes[a.box].fadeTo(400,1).find("> span").html(a.text)}):c.title_boxes[a.box].stop().fadeTo(400,
1).find("> span").html(a.text):c.title_boxes[a.box].stop().fadeTo(200,0)}},item_title:{init:function(){d._title_box.init({box:"current_item",custom_class:"current_item"});d.item_title.select(n.index)},select:function(a){b.title_boxes.current_item.display&&d._title_box.change_text({box:"current_item",text:h.items[a].title})},size:function(){b.title_boxes.current_item.display&&d.position_element(c.title_boxes.current_item,b.title_boxes.current_item.position)}},gallery_title:{init:function(){d._title_box.init({box:"current_gallery",
custom_class:"current_gallery"});d.gallery_title.select()},select:function(){b.title_boxes.current_gallery.display&&d._title_box.change_text({box:"current_gallery",text:h.name})},size:function(){b.title_boxes.current_gallery.display&&d.position_element(c.title_boxes.current_gallery,b.title_boxes.current_gallery.position)}},triggers:function(){b.arrows.display&&d.arrows.trigger();b.thumbs.display&&d.thumbnails.trigger();b.categories.display&&d.categories.trigger();b.key_browse&&d.key_browse();b.autoplay.enable&&
d.autoplay.start();b.autoplay.pause_on_hover&&p.hover(function(){2>h.item_count||O||S||(S=!0,d.autoplay.pause())},function(){2>h.item_count||(S=!1,T||O||X||d.autoplay.start())});p.bind("resize_slider",function(){d.autoplay.reset();p.css(c.container_dimensions);d.main_panel.size();d.autoplay.size();d._scrollable_boxes.size("gallery_info");d._scrollable_boxes.size("item_info");d.gallery_title.size();d.item_title.size();d.thumbnails.display_category(!1);d.categories.display_categories();b.pagination.display&&
d.position_element(B,b.pagination.position);b.autoplay_toggle.display&&d.position_element(E,b.autoplay_toggle.position);b.arrows.display&&(d.position_element(I,b.arrows.prev.position),d.position_element(J,b.arrows.next.position));d.show_item(n.index,!0,"")});P.fadeOut(200,function(){P.remove()});p.trigger("slider_initialized")},get_dimensions:function(a){var b;b=1<arguments.length&&"object"==typeof arguments[1]?arguments[1]:{width:c.container_dimensions.width,height:c.container_dimensions.height};
return{width:a.w_as_ratio?Math.floor(b.width*a.width):a.width,height:a.h_as_ratio?Math.floor(b.height*a.height):a.height}},position_element:function(a,b){var d=b.v_as_ratio?Math.floor(b.v_offset*c.container_dimensions.height):b.v_offset,g=b.h_as_ratio?Math.floor(b.h_offset*c.container_dimensions.width):b.h_offset;b.v_center_point&&(d-=Math.floor(a.outerHeight()/2));b.h_center_point&&(g-=Math.floor(a.outerWidth()/2));"top"==b.vertical?a.css("top",d):a.css({top:"auto",bottom:d});"left"==b.horizontal?
a.css("left",g):a.css({left:"auto",right:g})},category_indexes_from_ids:function(a,b){var c=0,g,f=[];if(0==a.length)return[];for(g=k.isArray(b)?b.length:0;c<g;c++)if(b[c].id==a[0]){a.shift();if(0!=a.length&&(f=d.category_indexes_from_ids(a,b[c].children),0==f.length))break;return[c].concat(f)}return[]},category_ids_from_indexes:function(a){var b=a.length,c=1,d,f=A[a[0]];for(d=[f.id];c<b;c++)f=f.children[a[c]],d.push(f.id);return d},get_category:function(a){var b=a.length,c=1,d;if(!k.isArray(a)||0==
a.length)return A[0];for(d=A[a[0]];c<b;c++)d=d.children[a[c]];return d},item_index_from_id:function(a){var b=h.items,c=b.length,d=0;if(void 0==a)return 0;for(;d<c;d++)if(b[d].id==a)return d;return 0},set_url_param:function(a,b){var c,d,f=b+(2<arguments.length?"="+arguments[2]:""),h,k,m=!1,n;a=a.split("#");c=1==a.length?!1:a[1];a=a[0].split("?");if(1==a.length||""==a[1])d=a[0]+"?"+f;else{d=a[0]+"?";h=a[1].split("&");for(n in h)"string"==typeof h[n]&&(k=h[n].split("="),k[0]==b?(m=!0,d+=f+"&"):d=1==
k.length?d+(k[0]+"&"):d+(k[0]+"="+k[1]+"&"));d=m?d.substring(0,d.length-1):d+f}return d+(!1===c?"":"#"+c)}};d.init()})};k.fn.chameleonSlider_2_1_fullscreen=function(t){var b,v,x=function(){b.fadeTo(500,0,function(){v.trigger("destroy");b.remove()});k(L).unbind("keydown.chameleonslider_fullscreen_"+t.module_id)};b=k('<div id="chameleonSliderFullscreen_'+t.module_id+'" style="z-index: 15000; overflow: hidden; position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0, 0, 0, .5);"><div class="chameleon_slider '+
t.theme+'" /></div>');k("body").append(b);v=b.find("> .chameleon_slider");k.extend(!0,t,{container_dimensions:{width:1,height:1,w_as_ratio:!0,h_as_ratio:!0},autoplay:{pause_on_hover:!1},buttons:{exit_fullscreen:{display:!0},fullscreen:{display:!1}},main_panel:{stretch_small_image:!0}});v.bind("slider_initialized",function(){v.find("> .exit_fullscreen").click(function(){x();return!1});k(L).bind("keydown.chameleonslider_fullscreen_"+t.module_id,function(b){27==b.which&&x()})});v.chameleonSlider_2_1(t)}})(eds1_8,
window,document);
;;;/*!
 * imagesLoaded PACKAGED v3.1.4
 * JavaScript is all like "You images are done yet or what?"
 * MIT License
 */

(function(){function e(){}function t(e,t){for(var n=e.length;n--;)if(e[n].listener===t)return n;return-1}function n(e){return function(){return this[e].apply(this,arguments)}}var i=e.prototype,r=this,o=r.EventEmitter;i.getListeners=function(e){var t,n,i=this._getEvents();if("object"==typeof e){t={};for(n in i)i.hasOwnProperty(n)&&e.test(n)&&(t[n]=i[n])}else t=i[e]||(i[e]=[]);return t},i.flattenListeners=function(e){var t,n=[];for(t=0;e.length>t;t+=1)n.push(e[t].listener);return n},i.getListenersAsObject=function(e){var t,n=this.getListeners(e);return n instanceof Array&&(t={},t[e]=n),t||n},i.addListener=function(e,n){var i,r=this.getListenersAsObject(e),o="object"==typeof n;for(i in r)r.hasOwnProperty(i)&&-1===t(r[i],n)&&r[i].push(o?n:{listener:n,once:!1});return this},i.on=n("addListener"),i.addOnceListener=function(e,t){return this.addListener(e,{listener:t,once:!0})},i.once=n("addOnceListener"),i.defineEvent=function(e){return this.getListeners(e),this},i.defineEvents=function(e){for(var t=0;e.length>t;t+=1)this.defineEvent(e[t]);return this},i.removeListener=function(e,n){var i,r,o=this.getListenersAsObject(e);for(r in o)o.hasOwnProperty(r)&&(i=t(o[r],n),-1!==i&&o[r].splice(i,1));return this},i.off=n("removeListener"),i.addListeners=function(e,t){return this.manipulateListeners(!1,e,t)},i.removeListeners=function(e,t){return this.manipulateListeners(!0,e,t)},i.manipulateListeners=function(e,t,n){var i,r,o=e?this.removeListener:this.addListener,s=e?this.removeListeners:this.addListeners;if("object"!=typeof t||t instanceof RegExp)for(i=n.length;i--;)o.call(this,t,n[i]);else for(i in t)t.hasOwnProperty(i)&&(r=t[i])&&("function"==typeof r?o.call(this,i,r):s.call(this,i,r));return this},i.removeEvent=function(e){var t,n=typeof e,i=this._getEvents();if("string"===n)delete i[e];else if("object"===n)for(t in i)i.hasOwnProperty(t)&&e.test(t)&&delete i[t];else delete this._events;return this},i.removeAllListeners=n("removeEvent"),i.emitEvent=function(e,t){var n,i,r,o,s=this.getListenersAsObject(e);for(r in s)if(s.hasOwnProperty(r))for(i=s[r].length;i--;)n=s[r][i],n.once===!0&&this.removeListener(e,n.listener),o=n.listener.apply(this,t||[]),o===this._getOnceReturnValue()&&this.removeListener(e,n.listener);return this},i.trigger=n("emitEvent"),i.emit=function(e){var t=Array.prototype.slice.call(arguments,1);return this.emitEvent(e,t)},i.setOnceReturnValue=function(e){return this._onceReturnValue=e,this},i._getOnceReturnValue=function(){return this.hasOwnProperty("_onceReturnValue")?this._onceReturnValue:!0},i._getEvents=function(){return this._events||(this._events={})},e.noConflict=function(){return r.EventEmitter=o,e},"function"==typeof define&&define.amd?define("eventEmitter/EventEmitter",[],function(){return e}):"object"==typeof module&&module.exports?module.exports=e:this.EventEmitter=e}).call(this),function(e){function t(t){var n=e.event;return n.target=n.target||n.srcElement||t,n}var n=document.documentElement,i=function(){};n.addEventListener?i=function(e,t,n){e.addEventListener(t,n,!1)}:n.attachEvent&&(i=function(e,n,i){e[n+i]=i.handleEvent?function(){var n=t(e);i.handleEvent.call(i,n)}:function(){var n=t(e);i.call(e,n)},e.attachEvent("on"+n,e[n+i])});var r=function(){};n.removeEventListener?r=function(e,t,n){e.removeEventListener(t,n,!1)}:n.detachEvent&&(r=function(e,t,n){e.detachEvent("on"+t,e[t+n]);try{delete e[t+n]}catch(i){e[t+n]=void 0}});var o={bind:i,unbind:r};"function"==typeof define&&define.amd?define("eventie/eventie",o):e.eventie=o}(this),function(e,t){"function"==typeof define&&define.amd?define(["eventEmitter/EventEmitter","eventie/eventie"],function(n,i){return t(e,n,i)}):"object"==typeof exports?module.exports=t(e,require("eventEmitter"),require("eventie")):e.imagesLoaded=t(e,e.EventEmitter,e.eventie)}(this,function(e,t,n){function i(e,t){for(var n in t)e[n]=t[n];return e}function r(e){return"[object Array]"===d.call(e)}function o(e){var t=[];if(r(e))t=e;else if("number"==typeof e.length)for(var n=0,i=e.length;i>n;n++)t.push(e[n]);else t.push(e);return t}function s(e,t,n){if(!(this instanceof s))return new s(e,t);"string"==typeof e&&(e=document.querySelectorAll(e)),this.elements=o(e),this.options=i({},this.options),"function"==typeof t?n=t:i(this.options,t),n&&this.on("always",n),this.getImages(),a&&(this.jqDeferred=new a.Deferred);var r=this;setTimeout(function(){r.check()})}function c(e){this.img=e}function f(e){this.src=e,v[e]=this}var a=e.eds2_2,u=e.console,h=u!==void 0,d=Object.prototype.toString;s.prototype=new t,s.prototype.options={},s.prototype.getImages=function(){this.images=[];for(var e=0,t=this.elements.length;t>e;e++){var n=this.elements[e];"IMG"===n.nodeName&&this.addImage(n);for(var i=n.querySelectorAll("img"),r=0,o=i.length;o>r;r++){var s=i[r];this.addImage(s)}}},s.prototype.addImage=function(e){var t=new c(e);this.images.push(t)},s.prototype.check=function(){function e(e,r){return t.options.debug&&h&&u.log("confirm",e,r),t.progress(e),n++,n===i&&t.complete(),!0}var t=this,n=0,i=this.images.length;if(this.hasAnyBroken=!1,!i)return this.complete(),void 0;for(var r=0;i>r;r++){var o=this.images[r];o.on("confirm",e),o.check()}},s.prototype.progress=function(e){this.hasAnyBroken=this.hasAnyBroken||!e.isLoaded;var t=this;setTimeout(function(){t.emit("progress",t,e),t.jqDeferred&&t.jqDeferred.notify&&t.jqDeferred.notify(t,e)})},s.prototype.complete=function(){var e=this.hasAnyBroken?"fail":"done";this.isComplete=!0;var t=this;setTimeout(function(){if(t.emit(e,t),t.emit("always",t),t.jqDeferred){var n=t.hasAnyBroken?"reject":"resolve";t.jqDeferred[n](t)}})},a&&(a.fn.imagesLoaded=function(e,t){var n=new s(this,e,t);return n.jqDeferred.promise(a(this))}),c.prototype=new t,c.prototype.check=function(){var e=v[this.img.src]||new f(this.img.src);if(e.isConfirmed)return this.confirm(e.isLoaded,"cached was confirmed"),void 0;if(this.img.complete&&void 0!==this.img.naturalWidth)return this.confirm(0!==this.img.naturalWidth,"naturalWidth"),void 0;var t=this;e.on("confirm",function(e,n){return t.confirm(e.isLoaded,n),!0}),e.check()},c.prototype.confirm=function(e,t){this.isLoaded=e,this.emit("confirm",this,t)};var v={};return f.prototype=new t,f.prototype.check=function(){if(!this.isChecked){var e=new Image;n.bind(e,"load",this),n.bind(e,"error",this),e.src=this.src,this.isChecked=!0}},f.prototype.handleEvent=function(e){var t="on"+e.type;this[t]&&this[t](e)},f.prototype.onload=function(e){this.confirm(!0,"onload"),this.unbindProxyEvents(e)},f.prototype.onerror=function(e){this.confirm(!1,"onerror"),this.unbindProxyEvents(e)},f.prototype.confirm=function(e,t){this.isConfirmed=!0,this.isLoaded=e,this.emit("confirm",this,t)},f.prototype.unbindProxyEvents=function(e){n.unbind(e.target,"load",this),n.unbind(e.target,"error",this)},s});
;;;!function(e,t){"use strict";var a={portalId:0,moduleId:0,tabId:0,userLoggedIn:!1,websiteRoot:"",openAt:0,wrapperResizeDuration:200,flowplayerSwf:"",flowplayer:{key:"",logo:""},socialButtons:{facebook:!1,gplus:!1,twitter:!1,inshare:!1,pinterest:!1},cssClass:"",events:{onBeforeClose:function(){}},comments:{requireAuthorInfo:!0,permissions:{show:!1,commenting:!1}},like:{permissions:{liking:!1}},mobile:!1,i18n:{}},o=0,n=1,i=2,s="activeElement",r="imageNotLoaded",m="smbLightFixed",l="audioItem",c="videoItem",d="imageItem",p="positionAnimation",u="swipeAnimation",h="initialized",v=/^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/,g=function(t,a){var o=this,n=o.items[t];if("image"==n.type){var i=o.images[n.src];if(i)"function"==typeof a&&(i.stats.preloadFinished?a(i.stats):i.callbacks.push(a));else{i=o.images[n.src]={callbacks:[],stats:{preloadFinished:!1,isLoaded:!1,width:0,height:0}},"function"==typeof a&&i.callbacks.push(a);var s=e('<img class="smbLightImage_'+n.id+'" />');s.imagesLoaded().progress(function(e,t){if(!o.viewClosed){var a=o.images[n.src];if(a.stats.preloadFinished=!0,a.stats.isLoaded=t.isLoaded,!o.smbPlus&&t.isLoaded&&o.$imagesWrapper.append(s),a.stats.width=s.width(),a.stats.height=s.height(),o.smbPlus)s.css(C.call(o,a.stats.width,a.stats.height,!1)),s.parent().removeClass("loading");else{var i=o.items[o.currentItemIndex];"image"==i.type&&i.src==n.src&&(o.initialItemLoaded=!0,k.call(o))}s=null;for(var r=0,m=a.callbacks.length;r<m;r++)a.callbacks[r](a.stats)}}),o.smbPlus&&s.appendTo(e("> div.item_"+t,o.$contentWrapper)),s.attr("src",n.src)}}},$=function(){for(var e=0,t=this.items.length;e<t;e++)g.call(this,e)},C=function(e,t,a,o){var n,i,s=this.overlayWidth-this.main.horizontalSpace,r=this.overlayHeight-this.main.verticalSpace,m=e,l=t;return(a||e>s||t>r)&&(m=s,l=r,(i=e/t)<(n=s/r)?m=Math.round(r/t*e):i>n&&(l=Math.round(s/e*t))),o&&(l=t),{width:m,height:l,top:Math.floor((r-l)/2),left:Math.floor((s-m)/2)}},f=function(e){var t=this,a=function(){t.$loadingOverlay.stop(!0).fadeTo(200,0,function(){t.$loadingOverlay.css("display","none")}),y.call(t)},o=function(e,a){0==t.options.wrapperResizeDuration?(t.$mainWrapper.css(e),a()):t.$mainWrapper.stop(!0).animate(e,{duration:t.options.wrapperResizeDuration,complete:function(){t.$mainWrapper.css("overflow",""),a()}})},n=function(){t.$mainWrapper.height()!=e.height?o({height:e.height,top:e.top},a):a()};t.$loadingOverlay.removeClass("inProgress"),t.$mainWrapper.width()!=e.width?o({width:e.width,left:e.left},n):n()},I=function(t){var a=this,o="",n="",i=a.items[t];switch(a.smbPlus||a.$mainWrapper.addClass(c),i.source){case"youtube":o='<iframe src="//www.youtube.com/embed/'+i.videoId+'" frameborder="0" allowfullscreen></iframe>';break;case"vimeo":o='<iframe src="//player.vimeo.com/video/'+i.videoId+'" frameborder="0" webkitallowfullscreen mozallowfullscreen allowfullscreen></iframe>';break;case"wistia":o='<iframe name="wistia_embed" src="//fast.wistia.net/embed/iframe/'+i.videoId+'" frameborder="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen></iframe>';break;case"flowplayer":M(i.src,".mp4")?n="video/mp4":M(i.src,".webm")?n="video/webm":M(i.src,".ogg")?n="video/ogg":M(i.src,".flv")&&(n="video/flash"),o='<div class="flowplayerContainer"></div>'}var r=a.$audioVideo;a.smbPlus?("flowplayer"!=i.source&&(o="<div>"+o+"</div>"),r=e("> div.item_"+a.currentItemIndex,a.$contentWrapper)):r.addClass(s),r.html(o).removeClass("loading"),"flowplayer"==i.source&&e("> .flowplayerContainer",r).flowplayer({swf:a.options.flowplayerSwf,ratio:i.height/i.width,tooltip:!1,embed:!1,clip:{sources:[{type:n,src:i.src}]},key:a.options.flowplayer.key,logo:a.options.flowplayer.logo});var m=C.call(a,i.width,i.height,!0);a.smbPlus?e(">",r).css(m):f.call(a,m),a.initialItemLoaded=!0},w=function(t){var a=this;a.smbPlus||a.$mainWrapper.addClass(l);var o=a.$audioVideo,n='<audio src="'+t.src+'" />',i="> audio";a.smbPlus?(n="<div>"+n+"</div>",i="> div > audio",o=e("> div.item_"+a.currentItemIndex,a.$contentWrapper)):o.addClass(s),o.html(n).removeClass("loading"),audiojs.create(e(i,o)[0]);var r=C.call(a,460,36,!1,!0);a.smbPlus?e(">",o).css(r):f.call(a,r),a.initialItemLoaded=!0},y=function(){var e=this,t=e.items[e.currentItemIndex];"string"==typeof t.title&&""!=t.title&&e.$itemTitle.html(t.title).stop(!0).fadeTo(200,1),(e.options.socialButtons.facebook||e.options.socialButtons.twitter||e.options.socialButtons.gplus||e.options.socialButtons.inshare||e.options.socialButtons.pinterest&&"image"==t.type)&&"string"==typeof t.socialUrl&&""!=t.socialUrl?e.$socialButtonsTrigger.css("display",""):e.$socialButtonsTrigger.css("display","none")},W=function(e){var t=this.items.length;return e<0?e=t-1:e>=t&&(e=0),e},k=function(){var t=this;if(t.$itemTitle.text("").stop(!0).fadeTo(0,0),t.$socialButtonsTrigger.removeClass("show"),t.$socialButtonsWrapper.removeClass("show").html(""),t.currentItemIndex=W.call(t,t.currentItemIndex),t.$root.removeClass("firstItem lastItem"),0===t.currentItemIndex&&t.$root.addClass("firstItem"),t.currentItemIndex===t.items.length-1&&t.$root.addClass("lastItem"),t.smbPlus){var a=W.call(t,t.currentItemIndex-1),o=W.call(t,t.currentItemIndex+1);e("> div.videoItem.item_"+a+",> div.audioItem.item_"+a+",> div.videoItem.item_"+o+",> div.audioItem.item_"+o,t.$contentWrapper).html(""),y.call(t)}var n=t.items[t.currentItemIndex],i="imageActive";"video"==n.type?i="videoActive":"audio"==n.type&&(i="audioActive"),t.$root.removeClass("imageActive videoActive audioActive").addClass(i),t.showItem()},b=function(){var e=this;if(e.smbPlus){var a=e.$window.height();t.innerHeight&&(a=t.innerHeight),a+=1,e.$root.height(a),e.overlayWidth=e.$root.width(),e.overlayHeight=a}else e.overlayWidth=e.$contentWrapper.width(),e.overlayHeight=e.$contentWrapper.height();e.center()},x=function(e){var t=this;if(!(t.skipGestures||-1==e&&0==t.currentItemIndex||1==e&&t.currentItemIndex==this.items.length-1)){t.skipGestures=!0;var a=-t.currentItemIndex*t.overlayWidth;1==e?a-=t.overlayWidth:a+=t.overlayWidth,t.$contentWrapper.removeClass(p).addClass(u).css({transform:"translate3d("+a+"px, 0, 0)"}),setTimeout(function(){t.currentItemIndex+=e,k.call(t),t.skipGestures=!1},250)}},T=function(){var e=this;e.initialItemLoaded&&(e.smbPlus?x.call(e,-1):(e.currentItemIndex-=1,k.call(e)))},L=function(){var e=this;e.initialItemLoaded&&(e.smbPlus?x.call(e,1):(e.currentItemIndex+=1,k.call(e)))},B=function(){var e=this;"function"==typeof e.options.events.onBeforeClose&&!1===e.options.events.onBeforeClose({activeItem:e.currentItemIndex,displayItems:e.items})||(e.$document.off(".smbLightEvent"),e.$window.off(".smbLightEvent"),e.viewClosed=!0,e.$root.stop(!0).fadeOut(200,function(){e.$root.remove(),e.$body.removeClass(m)}),e.smbPlus&&(void 0===e.oldViewportMetaContent?e.$viewportMeta.remove():e.$viewportMeta.attr("content",e.oldViewportMetaContent),void 0===e.oldIeTapHighlight?e.$ieTapHighlight.remove():e.$ieTapHighlight.attr("content",e.oldIeTapHighlight)))},M=function(e,t){return-1!==e.indexOf(t,e.length-t.length)},A=function(){var t=this,a=t.items[t.currentItemIndex],o=t.comments[a.id],n="";if(t.$mainCommentsCount.text(o.count),t.$internalCommentsCount.text(o.count),0==o.cache.comments.length)return t.$commentList.html(""),void t.$commentsModal.addClass("noComments");t.$commentsModal.removeClass("noComments"),e.each(o.cache.comments,function(){var a=o.cache.authors[this.author],i=encodeURI(a.url),s='<li><a class="authorAvatar" href="'+i+'"><img src="'+encodeURI(a.avatar)+'" alt="" /></a><a class="author" href="'+i+'">'+e("<p />").text(a.name).html()+"</a><div>"+this.content+'</div><p class="datetime">'+this.dateHtml+"</p></li>";"asc"==t.commentSorting?n+=s:n=s+n}),t.$commentList.html(n)},O=function(o,n){var i=this;return i.$body=e("body"),!i.$body.hasClass(m)&&0!=o.length&&(i.$body.addClass(m),i.$window=e(t),i.$document=e(document),i.initialItemLoaded=!1,i.viewClosed=!1,i.items=o,i.options=e.extend(!0,{},a,n),i.currentItemIndex=i.options.openAt,(i.currentItemIndex<0||i.currentItemIndex>=o.length)&&(i.currentItemIndex=0),i.images={},!0)},P=function(){var t=this;t.$window.on("resize.smbLightEvent",function(){var e=t.items[t.currentItemIndex],a=t.comments[e.id];t.desktopVersion&&a&&a.state.open&&t.$root.width(t.$window.width()-t.$commentsModal.outerWidth(!0)),b.call(t)}),t.$document.on("keyup.smbLightEvent",function(e){switch(e.keyCode){case 37:T.call(t);break;case 39:L.call(t);break;case 27:if(t.commentsOpened)return t.closeComments(),!1;B.call(t)}return!1}),t.$root.on("click",".navigation",function(){t.$root.hasClass("initializing")||(e(this).hasClass("prev")?T.call(t):L.call(t))}).on("click",".close",function(){B.call(t)}),t.$socialButtonsTrigger.on("click",function(){if(!t.$root.hasClass("initializing")){var a=t.items[t.currentItemIndex],o=encodeURIComponent(a.socialUrl),n="",i="";"string"==typeof a.title==a.title!=""&&(n=a.title.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/'/g,"&#39;").replace(/</g,"&lt;").replace(/>/g,"&gt;"),i=encodeURIComponent(a.title));var s="";t.options.socialButtons.facebook&&(s='<div><iframe src="//www.facebook.com/plugins/like.php?href='+o+'&amp;width&amp;layout=button_count&amp;action=like&amp;show_faces=false&amp;share=false&amp;height=21" scrolling="no" frameborder="0" style="border:none; overflow:hidden; height:21px; width: 135px;" allowTransparency="true"></iframe></div>'),t.options.socialButtons.twitter&&(s+='<div><a href="//twitter.com/share" class="twitter-share-button" data-url="'+o+'" data-text="'+n+'">Tweet</a><script type="text/javascript">twttr.widgets.load();<\/script></div>'),t.options.socialButtons.gplus&&(s+='<div><div class="g-plusone" data-size="medium" data-href="'+a.socialUrl+'"></div><script type="text/javascript">gapi.plusone.go();<\/script></div>'),t.options.socialButtons.inshare&&(s+='<div><script type="IN/Share" data-url="'+a.socialUrl+'" data-counter="right"><\/script><script type="text/javascript">if (IN.parse) IN.parse();<\/script></div>'),t.options.socialButtons.pinterest&&"image"==a.type&&(s+='<div><a href="//www.pinterest.com/pin/create/button/?url='+o+"&media="+encodeURIComponent(a.src)+"&description="+i+'" data-pin-do="buttonPin" data-pin-config="beside"><img src="//assets.pinterest.com/images/pidgets/pinit_fg_en_rect_gray_20.png" /></a></div>'),""!=s&&(t.$socialButtonsWrapper.toggleClass("show").html(s),t.options.socialButtons.pinterest&&"image"==a.type&&e.ajax({url:"//assets.pinterest.com/js/pinit.js",dataType:"script",cache:!0}),e(this).toggleClass("show"))}})},S=function(e){var t=this.options.i18n[e];return t||e};function H(t,a){var o,n=this,i="";if(O.call(n,t,a))return n.$root=e('<div class="smbLightOverlayWrapper initializing"><div class="contentWrapper" /></div>'),n.$root.addClass(n.options.cssClass),n.$contentWrapper=e("> div.contentWrapper",n.$root),t.length>1&&(i='<span class="navigation prev"><span /></span><span class="navigation next"><span /></span>'),i+='<span class="close"><span /></span><div class="socialButtonsWrapper"></div><span class="actions socialButtonsTrigger"><span>'+S.call(n,"Share")+"</span></span>",n.$mainWrapper=e('<div class="mainWrapper"><div class="viewWrapper"><div class="images"><p>'+S.call(n,"This image is currently unavailable")+'</p></div><div class="audioVideo" /></div>'+i+"</div>").appendTo(n.$contentWrapper),n.$itemTitle=e('<div class="itemHeader" />').appendTo(n.$mainWrapper),n.$loadingOverlay=e('<div class="loadingOverlay inProgress" />').appendTo(n.$mainWrapper),n.$imagesWrapper=e("> .viewWrapper > .images",n.$mainWrapper),n.$audioVideo=e("> .viewWrapper > .audioVideo",n.$mainWrapper),n.$socialButtonsWrapper=e(".socialButtonsWrapper",n.$mainWrapper),n.$socialButtonsTrigger=e(".socialButtonsTrigger",n.$mainWrapper),"image"==(o=n.items[n.currentItemIndex]).type?g.call(n,n.currentItemIndex,function(){$.call(n)}):$.call(n),n.$root.appendTo(n.$body),n.main={horizontalSpace:n.$mainWrapper.outerWidth(!0)-n.$mainWrapper.width(),verticalSpace:n.$mainWrapper.outerHeight(!0)-n.$mainWrapper.height()},b.call(n),n.$root.fadeTo(200,1,function(){"image"!=o.type&&k.call(n)}),P.call(n),n}function _(t,a){var o=this,n="";if(o.smbPlus=!0,O.call(o,t,a)){if(o.options.wrapperResizeDuration=0,o.$viewportMeta=e('meta[name="viewport"]'),o.oldViewportMetaContent=void 0,o.$viewportMeta.length>0?(o.oldViewportMetaContent=o.$viewportMeta.attr("content"),o.$viewportMeta.attr("content","user-scalable=no, width=device-width, initial-scale=1, maximum-scale=1")):o.$viewportMeta=e('<meta name="viewport" content="user-scalable=no, width=device-width, initial-scale=1, maximum-scale=1" />').appendTo(e("head")),o.$ieTapHighlight=e('meta[name="msapplication-tap-highlight"]'),o.oldIeTapHighlight=void 0,o.$ieTapHighlight.length>0?(o.oldIeTapHighlight=o.$ieTapHighlight.attr("content"),o.$ieTapHighlight.attr("content","no")):o.$ieTapHighlight=e('<meta name="msapplication-tap-highlight" content="no" />').appendTo(e("head")),o.$root=e('<div class="smbLightOverlayWrapper smbPlus initializing"><div class="contentWrapper"></div></div>').addClass(o.options.cssClass),/android|webos|iphone|ipad|ipod|blackberry|iemobile|opera mini/i.test(navigator.userAgent.toLowerCase())||(o.$root.addClass("desktopUserAgent"),o.desktopVersion=!0),o.$contentWrapper=e("> div.contentWrapper",o.$root),n='<div class="mobileOverlay" /><div class="modalOverlay" />',t.length>1&&(n+='<span class="navigation prev"><span /></span><span class="navigation next"><span /></span>'),n+='<span class="close"><span /></span><div class="socialButtonsWrapper"></div><span class="actions socialButtonsTrigger"><span>'+S.call(o,"Share")+"</span></span>",o.$root.append(n),o.$itemTitle=e('<div class="itemHeader" />').appendTo(o.$root),o.$socialButtonsWrapper=e(".socialButtonsWrapper",o.$root),o.$socialButtonsTrigger=e(".socialButtonsTrigger",o.$root),o.$modalOverlay=e("> .modalOverlay",o.$root),o.options.comments.permissions.show){o.comments={},o.$root.append('<span class="actions commentsTrigger"><span>0</span></span><div class="commentsModalWrapper"><div class="main"><div class="top"><span class="comments">0</span><span class="likes">0</span><span class="sort">'+S.call(o,"Sort")+'</span></div><ul /><p class="noComments">'+S.call(o,"No comments yet")+'</p><div class="newCommentWrapper"><textarea placeholder="'+S.call(o,"Write a comment")+'"></textarea><button>'+S.call(o,"Post")+'</button></div></div><div class="anonymCommentWrapper"><p>'+S.call(o,"Add a comment")+'</p><div class="authorName"><input type="text" placeholder="'+S.call(o,"Name")+'" /></div><div class="authorEmail"><input type="text" placeholder="'+S.call(o,"Email")+'" /></div><div class="authorTextarea"><textarea placeholder="'+S.call(o,"Write a comment")+'"></textarea></div><div class="actions"><button class="cancel">'+S.call(o,"Cancel")+'</button><button class="post">'+S.call(o,"Post")+'</button></div></div><span class="closeComments">'+S.call(o,"Hide")+'</span><p class="loading">'+S.call(o,"Loading comments")+"</p></div>"),o.$commentsTrigger=e("> .actions.commentsTrigger",o.$root),o.$mainCommentsCount=e("> span",o.$commentsTrigger),o.$commentsModal=e("> .commentsModalWrapper",o.$root),o.$commentsMainWrapper=e("> .main",o.$commentsModal),o.$newCommentWrapper=e("> .newCommentWrapper",o.$commentsMainWrapper),o.$newCommentInput=e("> textarea",o.$newCommentWrapper),o.$newCommentButton=e("> button",o.$newCommentWrapper),o.$commentsTopBar=e("> .top",o.$commentsMainWrapper),o.$internalCommentsCount=e("> .comments",o.$commentsTopBar),o.$commentsLikes=e("> .likes",o.$commentsTopBar),o.$commentsSorting=e("> .sort",o.$commentsTopBar),o.$commentList=e("> ul",o.$commentsMainWrapper),o.$anonymCommentWrapper=e("> .anonymCommentWrapper",o.$commentsModal),o.$anonymCommenterNameInput=e("> .authorName > input",o.$anonymCommentWrapper),o.$anonymCommenterEmailInput=e("> .authorEmail > input",o.$anonymCommentWrapper),o.$anonymCommentInput=e("> .authorTextarea > textarea",o.$anonymCommentWrapper),o.$anonymCommentCancel=e("> .actions > .cancel",o.$anonymCommentWrapper),o.$anonymCommentPost=e("> .actions > .post",o.$anonymCommentWrapper),o.commentSorting="asc",o.addingAjaxRequest=void 0,o.commentsOpened=!1,o.commentsAnimationTimeout,o.$commentsTrigger.on("click",function(){o.desktopVersion&&1==o.commentsOpened?o.closeComments():(o.updateItemComments(),o.desktopVersion?(o.commentsOpened=!0,clearTimeout(o.commentsAnimationTimeout),o.$root.addClass("animateComments moveComments"),o.commentsAnimationTimeout=setTimeout(function(){o.$root.removeClass("animateComments moveComments"),o.$root.width(o.$root.width()-o.$commentsModal.outerWidth(!0)),b.call(o)},200)):(o.$root.addClass("modalActive"),o.$modalOverlay.stop(!0).animate({opacity:1},{duration:200})))}),o.$commentsSorting.on("click",function(){"asc"==o.commentSorting?o.commentSorting="desc":o.commentSorting="asc",o.$commentsSorting.toggleClass("desc","desc"==o.commentSorting),A.call(o)}),o.$commentsModal.on("click","> span.closeComments",function(){o.closeComments()}),o.$newCommentInput.on("change keyup",function(){var e=o.$newCommentInput.val();o.$newCommentWrapper.toggleClass("filledIn",""!==e)}).on("focus",function(){o.options.comments.requireAuthorInfo&&(o.$anonymCommenterNameInput.trigger("focus").val(""),o.$anonymCommenterEmailInput.val(""),o.$anonymCommentInput.val(""),o.$commentsModal.addClass("showAnonymWindow"))}),o.$anonymCommentCancel.on("click",function(){o.$commentsModal.removeClass("showAnonymWindow"),o.$anonymCommentWrapper.removeClass("addingAnonComment"),o.addingAjaxRequest&&(o.addingAjaxRequest.abort(),o.addingAjaxRequest=void 0)});var i=function(t,a,n,i,s){var r=o.currentItemIndex,m=o.items[r],l=o.comments[m.id],c=o.options.comments.requireAuthorInfo?i:o.$newCommentInput.val(),d={action:"add_comment"};""===c||o.$newCommentWrapper.hasClass("addingComment")||(o.$newCommentWrapper.addClass("addingComment"),o.$newCommentInput.val(""),o.$newCommentWrapper.removeClass("filledIn"),d.comment=c,o.options.comments.requireAuthorInfo&&(d.name=a,d.email=n),o.addingAjaxRequest=e.ajax({data:d,dataType:"json",type:"POST",url:m.comments.backend,timeout:15e3,cache:!1,error:function(){},success:function(e){void 0!=e.status&&"success"==e.status&&(l.cache.comments.push({author:e.author.id,content:e.comment,raw:c,id:e.id,dateHtml:e.dateHtml}),l.count+=1,void 0==l.cache.authors[e.author.id]&&(l.cache.authors[e.author.id]={avatar:e.author.avatar,name:e.author.name,url:e.author.url}))},complete:function(){o.addingAjaxRequest=void 0,l.state.open&&r==o.currentItemIndex&&("function"==typeof s&&s(),o.$newCommentWrapper.removeClass("addingComment"),A.call(o))}}))};o.$anonymCommentPost.on("click",function(){var e=o.$anonymCommenterNameInput.val(),t=o.$anonymCommenterEmailInput.val(),a=o.$anonymCommentInput.val(),n=!1;o.$anonymCommenterNameInput.attr("placeholder",S.call(o,"Name")),o.$anonymCommenterEmailInput.attr("placeholder",S.call(o,"Email")),o.$anonymCommentInput.attr("placeholder",S.call(o,"Write a comment")),o.$anonymCommenterNameInput.parent().removeClass("error"),o.$anonymCommenterEmailInput.parent().removeClass("error"),o.$anonymCommentInput.parent().removeClass("error"),e||(o.$anonymCommenterNameInput.attr("placeholder",S.call(o,"Please specify your name")).parent().addClass("error"),n=!0),t&&v.test(t)||(o.$anonymCommenterEmailInput.attr("placeholder",S.call(o,"Please specify your email")).parent().addClass("error"),n=!0),a||(o.$anonymCommentInput.attr("placeholder",S.call(o,"Please write a comment")).parent().addClass("error"),n=!0),n||(o.$anonymCommentWrapper.addClass("addingAnonComment"),o.$anonymCommentPost.text(S.call(o,"Commenting")),i(0,e,t,a,function(){o.$commentsModal.removeClass("showAnonymWindow"),o.$anonymCommentWrapper.removeClass("addingAnonComment"),o.$anonymCommentPost.text(S.call(o,"Post"))}))}),o.$newCommentButton.on("click",i)}o.options.like.permissions.liking&&(o.$root.append('<span class="actions likeTrigger"><span>0</span></span>'),o.$likeTrigger=e("> .actions.likeTrigger",o.$root),o.$mainLikeCount=e("> span",o.$likeTrigger),o.$likeTrigger.on("click",function(){if(!o.$root.hasClass("initializing")){var t=o.currentItemIndex,a=o.items[t],n=!a.likes.likedByUser,i={portalId:o.options.portalId,moduleId:o.options.moduleId,mediaId:a.id};a.likes.likedByUser=n,n?a.likes.numOfLikes+=1:a.likes.numOfLikes>0&&(a.likes.numOfLikes-=1),o.$mainLikeCount.text(a.likes.numOfLikes),o.$likeTrigger.toggleClass("liked",n),"number"==typeof a.journalId?(i.action="like",i.journalid=a.journalId,i.liked=n):(i.action="media_like",i.vote=n?1:-1),e.ajax({data:i,dataType:"json",type:"POST",url:o.options.websiteRoot+"DesktopModules/EasyDNNGallery/Services/SocialMediaBox.ashx",timeout:1e4,cache:!1,error:function(){},success:function(){},complete:function(){}})}})),o.$root.appendTo(o.$body),o.main={horizontalSpace:0,verticalSpace:0},e.each(o.items,function(t){var a=e("<div />");a.addClass("loading item_"+t).data("itemIndex",t),"image"==this.type?a.addClass("imageItem"):"video"==this.type?a.addClass("videoItem"):"audio"==this.type&&a.addClass("audioItem"),a.appendTo(o.$contentWrapper)}),b.call(o),o.$root.addClass("show"),setTimeout(function(){k.call(o)},200);var s,r=new Hammer(e("> .mobileOverlay",o.$root)[0]);return o.skipGestures=!1,r.on("swipeleft swiperight panleft panright panend tap",function(e){var a=-o.currentItemIndex*o.overlayWidth,n=e.deltaX;if("tap"==e.type)return clearTimeout(s),void(o.$root.hasClass("hideControls")?o.$root.removeClass("hideControls fadeOutControls"):(o.$root.addClass("fadeOutControls"),s=setTimeout(function(){o.$root.addClass("hideControls")},500)));if(!o.skipGestures&&o.initialItemLoaded)if(("swipeleft"==e.type||"swiperight"==e.type)&&t.length>1)"swipeleft"==e.type&&(o.currentItemIndex<o.items.length-1?L.call(o):0==o.currentItemIndex&&T.call(o));else{if("panend"==e.type){if(0==o.currentItemIndex&&n>=0||o.currentItemIndex==o.items.length-1&&n<0||Math.abs(n)<o.overlayWidth/2)return void o.$contentWrapper.removeClass(u).addClass(p).css({transform:"translate3d("+a+"px, 0, 0)"});o.skipGestures=!0;var i=-o.overlayWidth,r=1;return n>0&&(i=o.overlayWidth,r=-1),i=a+i,o.$contentWrapper.addClass(p).removeClass(u).css({transform:"translate3d("+i+"px, 0, 0)"}),void setTimeout(function(){o.skipGestures=!1,o.currentItemIndex+=r,k.call(o)},550)}(0==o.currentItemIndex&&n>=0||o.currentItemIndex==o.items.length-1&&n<0)&&((n=1-Math.abs(n)/o.overlayWidth)<.5?(n=Math.round(o.overlayWidth/4),e.deltaX<1&&(n=-n)):n=Math.round(n*e.deltaX)),o.$contentWrapper.removeClass(p).removeClass(u).css({transform:"translate3d("+(a+n)+"px, 0, 0)"})}}),P.call(o),o}}H.prototype={center:function(){var e,t,a=this,o={},n=!1,i=0,s=0,r=!1,m=!1;if(a.initialItemLoaded){switch((e=a.items[a.currentItemIndex]).type){case"image":(t=a.images[e.src].stats).isLoaded?(i=t.width,s=t.height):(i=400,s=400);break;case"video":i=e.width,s=e.height,r=!0;break;case"audio":i=460,s=36,m=!0}o=C.call(a,i,s,r,m),n=!0}n||(o.width=a.$mainWrapper.width(),o.height=a.$mainWrapper.height(),o.left=Math.floor((a.overlayWidth-(o.width+a.main.horizontalSpace))/2),o.top=Math.floor((a.overlayHeight-(o.height+a.main.verticalSpace))/2)),a.$mainWrapper.stop(!0).css(o)},showItem:function(){var t=this;t.$imagesWrapper.removeClass(r),t.$loadingOverlay.addClass("inProgress").stop(!0).fadeTo(0,1,function(){t.$loadingOverlay.css("display","")}),t.$audioVideo.html(""),e("> .viewWrapper > div",t.$mainWrapper).removeClass(s),t.$mainWrapper.removeClass(l).removeClass(c).removeClass(d);var a=t.items[t.currentItemIndex];switch(a.type){case"image":(function(t){var a,o,n=this,i=n.images[t.src].stats;i.preloadFinished&&(n.$mainWrapper.addClass(d),e("> img",n.$imagesWrapper).removeClass(s).filter(".smbLightImage_"+t.id).addClass(s),i.isLoaded?(a=i.width,o=i.height):(a=400,o=400,n.$imagesWrapper.addClass(r)),n.$imagesWrapper.addClass(s),f.call(n,C.call(n,a,o)))}).call(t,a);break;case"video":I.call(t,t.currentItemIndex);break;case"audio":w.call(t,a);break;default:t.initialItemLoaded=!0}t.initialItemLoaded&&t.$root.removeClass("initializing")}},_.prototype={center:function(){var t=this,a=0;t.options.comments.permissions.show&&((a=e(">",t.$commentsModal).height()-t.$commentsTopBar.outerHeight(!0)-t.$newCommentWrapper.outerHeight(!0))<0&&(a=0),t.$commentList.css("height",a)),t.$contentWrapper.removeClass(p).removeClass(u).css({width:t.items.length*t.overlayWidth,transform:"translate3d(-"+t.currentItemIndex*t.overlayWidth+"px, 0, 0)"}),e(">",t.$contentWrapper).width(t.overlayWidth).each(function(){var a=e(this),o=a.data("itemIndex"),n=t.items[o];if(!(a.hasClass("loading")||"image"!=n.type&&o!=t.currentItemIndex))if("image"==n.type){var i=t.images[n.src].stats;e("> img",a).css(C.call(t,i.width,i.height,!1))}else"video"==n.type?e("> div",a).css(C.call(t,n.width,n.height,!0)):"audio"==n.type&&e("> div",a).css(C.call(t,460,36,!1,!0))})},showItem:function(){var t=this,a=e("> div.item_"+t.currentItemIndex,t.$contentWrapper),n=t.currentItemIndex,i=t.items[n],s=function(){n>0&&g.call(t,W.call(t,n-1)),n<t.items.length-1&&g.call(t,W.call(t,n+1))};switch(t.$contentWrapper.removeClass(p).removeClass(u).css({transform:"translate3d(-"+n*t.overlayWidth+"px, 0, 0)"}),t.options.comments.permissions.show&&(t.$newCommentInput.val(""),t.$newCommentWrapper.removeClass("filledIn"),t.comments[i.id]||(t.comments[i.id]={state:{open:!1,commentsRequest:o},count:i.comments.count,cache:{authors:{},comments:[]}}),t.$mainCommentsCount.text(t.comments[i.id].count),t.desktopVersion&&(e.each(t.comments,function(){this.state.open=!1}),t.updateItemComments())),t.options.like.permissions.liking&&(t.$likeTrigger.toggleClass("liked",i.likes.likedByUser),t.$mainLikeCount.text(i.likes.numOfLikes)),i.type){case"image":if(a.data(h))return;g.call(t,n,function(){t.currentItemIndex==n&&(t.initialItemLoaded=!0,s())}),a.data(h,!0);break;case"video":I.call(t,t.currentItemIndex);break;case"audio":w.call(t,i);break;default:t.initialItemLoaded=!0}"image"!=i.type&&s(),t.$root.removeClass("initializing")},updateItemComments:function(){var t=this,a=t.currentItemIndex,s=t.items[a],r=t.comments[s.id];r.state.open||t.$root.hasClass("initializing")||(r.state.open=!0,r.state.commentsRequest==o?(r.state.commentsRequest=n,t.$commentsModal.addClass("loading"),e.ajax({data:{action:"list_comments"},dataType:"json",type:"GET",url:s.comments.backend,timeout:15e3,cache:!1,error:function(){r.state.commentsRequest=o},success:function(e){r.cache=e,r.count=e.comments.length,r.state.commentsRequest=i},complete:function(){r.state.open&&a==t.currentItemIndex&&(t.$commentsModal.removeClass("loading"),A.call(t))}})):(A.call(t),t.$commentsModal.removeClass("loading")),t.$internalCommentsCount.text(r.count),t.$commentsLikes.text(s.likes.numOfLikes).toggleClass("liked",s.likes.likedByUser))},closeComments:function(){var e=this,t=e.items[e.currentItemIndex];e.comments[t.id].state.open=!1,e.desktopVersion?(clearTimeout(e.commentsAnimationTimeout),e.$root.addClass("moveComments"),e.$root.css("width",""),b.call(e),e.$root.addClass("animateComments").removeClass("moveComments"),e.commentsAnimationTimeout=setTimeout(function(){e.$root.removeClass("animateComments")},300)):(e.$root.removeClass("modalActive"),e.$modalOverlay.stop(!0).animate({opacity:0},{duration:200})),e.$commentsModal.removeClass("showAnonymWindow"),e.$anonymCommentWrapper.removeClass("addingAnonComment"),e.commentsOpened=!1}},t.SmbLight_1=function(e,t){return this instanceof SmbLight_1?t.mobile?new _(e,t):new H(e,t):new SmbLight_1(e,t)}}(eds2_2,window);
;;;/*! Hammer.JS - v2.0.4 - 2014-09-28
 * http://hammerjs.github.io/
 *
 * Copyright (c) 2014 Jorik Tangelder;
 * Licensed under the MIT license */
!function(a,b,c,d){"use strict";function e(a,b,c){return setTimeout(k(a,c),b)}function f(a,b,c){return Array.isArray(a)?(g(a,c[b],c),!0):!1}function g(a,b,c){var e;if(a)if(a.forEach)a.forEach(b,c);else if(a.length!==d)for(e=0;e<a.length;)b.call(c,a[e],e,a),e++;else for(e in a)a.hasOwnProperty(e)&&b.call(c,a[e],e,a)}function h(a,b,c){for(var e=Object.keys(b),f=0;f<e.length;)(!c||c&&a[e[f]]===d)&&(a[e[f]]=b[e[f]]),f++;return a}function i(a,b){return h(a,b,!0)}function j(a,b,c){var d,e=b.prototype;d=a.prototype=Object.create(e),d.constructor=a,d._super=e,c&&h(d,c)}function k(a,b){return function(){return a.apply(b,arguments)}}function l(a,b){return typeof a==kb?a.apply(b?b[0]||d:d,b):a}function m(a,b){return a===d?b:a}function n(a,b,c){g(r(b),function(b){a.addEventListener(b,c,!1)})}function o(a,b,c){g(r(b),function(b){a.removeEventListener(b,c,!1)})}function p(a,b){for(;a;){if(a==b)return!0;a=a.parentNode}return!1}function q(a,b){return a.indexOf(b)>-1}function r(a){return a.trim().split(/\s+/g)}function s(a,b,c){if(a.indexOf&&!c)return a.indexOf(b);for(var d=0;d<a.length;){if(c&&a[d][c]==b||!c&&a[d]===b)return d;d++}return-1}function t(a){return Array.prototype.slice.call(a,0)}function u(a,b,c){for(var d=[],e=[],f=0;f<a.length;){var g=b?a[f][b]:a[f];s(e,g)<0&&d.push(a[f]),e[f]=g,f++}return c&&(d=b?d.sort(function(a,c){return a[b]>c[b]}):d.sort()),d}function v(a,b){for(var c,e,f=b[0].toUpperCase()+b.slice(1),g=0;g<ib.length;){if(c=ib[g],e=c?c+f:b,e in a)return e;g++}return d}function w(){return ob++}function x(a){var b=a.ownerDocument;return b.defaultView||b.parentWindow}function y(a,b){var c=this;this.manager=a,this.callback=b,this.element=a.element,this.target=a.options.inputTarget,this.domHandler=function(b){l(a.options.enable,[a])&&c.handler(b)},this.init()}function z(a){var b,c=a.options.inputClass;return new(b=c?c:rb?N:sb?Q:qb?S:M)(a,A)}function A(a,b,c){var d=c.pointers.length,e=c.changedPointers.length,f=b&yb&&d-e===0,g=b&(Ab|Bb)&&d-e===0;c.isFirst=!!f,c.isFinal=!!g,f&&(a.session={}),c.eventType=b,B(a,c),a.emit("hammer.input",c),a.recognize(c),a.session.prevInput=c}function B(a,b){var c=a.session,d=b.pointers,e=d.length;c.firstInput||(c.firstInput=E(b)),e>1&&!c.firstMultiple?c.firstMultiple=E(b):1===e&&(c.firstMultiple=!1);var f=c.firstInput,g=c.firstMultiple,h=g?g.center:f.center,i=b.center=F(d);b.timeStamp=nb(),b.deltaTime=b.timeStamp-f.timeStamp,b.angle=J(h,i),b.distance=I(h,i),C(c,b),b.offsetDirection=H(b.deltaX,b.deltaY),b.scale=g?L(g.pointers,d):1,b.rotation=g?K(g.pointers,d):0,D(c,b);var j=a.element;p(b.srcEvent.target,j)&&(j=b.srcEvent.target),b.target=j}function C(a,b){var c=b.center,d=a.offsetDelta||{},e=a.prevDelta||{},f=a.prevInput||{};(b.eventType===yb||f.eventType===Ab)&&(e=a.prevDelta={x:f.deltaX||0,y:f.deltaY||0},d=a.offsetDelta={x:c.x,y:c.y}),b.deltaX=e.x+(c.x-d.x),b.deltaY=e.y+(c.y-d.y)}function D(a,b){var c,e,f,g,h=a.lastInterval||b,i=b.timeStamp-h.timeStamp;if(b.eventType!=Bb&&(i>xb||h.velocity===d)){var j=h.deltaX-b.deltaX,k=h.deltaY-b.deltaY,l=G(i,j,k);e=l.x,f=l.y,c=mb(l.x)>mb(l.y)?l.x:l.y,g=H(j,k),a.lastInterval=b}else c=h.velocity,e=h.velocityX,f=h.velocityY,g=h.direction;b.velocity=c,b.velocityX=e,b.velocityY=f,b.direction=g}function E(a){for(var b=[],c=0;c<a.pointers.length;)b[c]={clientX:lb(a.pointers[c].clientX),clientY:lb(a.pointers[c].clientY)},c++;return{timeStamp:nb(),pointers:b,center:F(b),deltaX:a.deltaX,deltaY:a.deltaY}}function F(a){var b=a.length;if(1===b)return{x:lb(a[0].clientX),y:lb(a[0].clientY)};for(var c=0,d=0,e=0;b>e;)c+=a[e].clientX,d+=a[e].clientY,e++;return{x:lb(c/b),y:lb(d/b)}}function G(a,b,c){return{x:b/a||0,y:c/a||0}}function H(a,b){return a===b?Cb:mb(a)>=mb(b)?a>0?Db:Eb:b>0?Fb:Gb}function I(a,b,c){c||(c=Kb);var d=b[c[0]]-a[c[0]],e=b[c[1]]-a[c[1]];return Math.sqrt(d*d+e*e)}function J(a,b,c){c||(c=Kb);var d=b[c[0]]-a[c[0]],e=b[c[1]]-a[c[1]];return 180*Math.atan2(e,d)/Math.PI}function K(a,b){return J(b[1],b[0],Lb)-J(a[1],a[0],Lb)}function L(a,b){return I(b[0],b[1],Lb)/I(a[0],a[1],Lb)}function M(){this.evEl=Nb,this.evWin=Ob,this.allow=!0,this.pressed=!1,y.apply(this,arguments)}function N(){this.evEl=Rb,this.evWin=Sb,y.apply(this,arguments),this.store=this.manager.session.pointerEvents=[]}function O(){this.evTarget=Ub,this.evWin=Vb,this.started=!1,y.apply(this,arguments)}function P(a,b){var c=t(a.touches),d=t(a.changedTouches);return b&(Ab|Bb)&&(c=u(c.concat(d),"identifier",!0)),[c,d]}function Q(){this.evTarget=Xb,this.targetIds={},y.apply(this,arguments)}function R(a,b){var c=t(a.touches),d=this.targetIds;if(b&(yb|zb)&&1===c.length)return d[c[0].identifier]=!0,[c,c];var e,f,g=t(a.changedTouches),h=[],i=this.target;if(f=c.filter(function(a){return p(a.target,i)}),b===yb)for(e=0;e<f.length;)d[f[e].identifier]=!0,e++;for(e=0;e<g.length;)d[g[e].identifier]&&h.push(g[e]),b&(Ab|Bb)&&delete d[g[e].identifier],e++;return h.length?[u(f.concat(h),"identifier",!0),h]:void 0}function S(){y.apply(this,arguments);var a=k(this.handler,this);this.touch=new Q(this.manager,a),this.mouse=new M(this.manager,a)}function T(a,b){this.manager=a,this.set(b)}function U(a){if(q(a,bc))return bc;var b=q(a,cc),c=q(a,dc);return b&&c?cc+" "+dc:b||c?b?cc:dc:q(a,ac)?ac:_b}function V(a){this.id=w(),this.manager=null,this.options=i(a||{},this.defaults),this.options.enable=m(this.options.enable,!0),this.state=ec,this.simultaneous={},this.requireFail=[]}function W(a){return a&jc?"cancel":a&hc?"end":a&gc?"move":a&fc?"start":""}function X(a){return a==Gb?"down":a==Fb?"up":a==Db?"left":a==Eb?"right":""}function Y(a,b){var c=b.manager;return c?c.get(a):a}function Z(){V.apply(this,arguments)}function $(){Z.apply(this,arguments),this.pX=null,this.pY=null}function _(){Z.apply(this,arguments)}function ab(){V.apply(this,arguments),this._timer=null,this._input=null}function bb(){Z.apply(this,arguments)}function cb(){Z.apply(this,arguments)}function db(){V.apply(this,arguments),this.pTime=!1,this.pCenter=!1,this._timer=null,this._input=null,this.count=0}function eb(a,b){return b=b||{},b.recognizers=m(b.recognizers,eb.defaults.preset),new fb(a,b)}function fb(a,b){b=b||{},this.options=i(b,eb.defaults),this.options.inputTarget=this.options.inputTarget||a,this.handlers={},this.session={},this.recognizers=[],this.element=a,this.input=z(this),this.touchAction=new T(this,this.options.touchAction),gb(this,!0),g(b.recognizers,function(a){var b=this.add(new a[0](a[1]));a[2]&&b.recognizeWith(a[2]),a[3]&&b.requireFailure(a[3])},this)}function gb(a,b){var c=a.element;g(a.options.cssProps,function(a,d){c.style[v(c.style,d)]=b?a:""})}function hb(a,c){var d=b.createEvent("Event");d.initEvent(a,!0,!0),d.gesture=c,c.target.dispatchEvent(d)}var ib=["","webkit","moz","MS","ms","o"],jb=b.createElement("div"),kb="function",lb=Math.round,mb=Math.abs,nb=Date.now,ob=1,pb=/mobile|tablet|ip(ad|hone|od)|android/i,qb="ontouchstart"in a,rb=v(a,"PointerEvent")!==d,sb=qb&&pb.test(navigator.userAgent),tb="touch",ub="pen",vb="mouse",wb="kinect",xb=25,yb=1,zb=2,Ab=4,Bb=8,Cb=1,Db=2,Eb=4,Fb=8,Gb=16,Hb=Db|Eb,Ib=Fb|Gb,Jb=Hb|Ib,Kb=["x","y"],Lb=["clientX","clientY"];y.prototype={handler:function(){},init:function(){this.evEl&&n(this.element,this.evEl,this.domHandler),this.evTarget&&n(this.target,this.evTarget,this.domHandler),this.evWin&&n(x(this.element),this.evWin,this.domHandler)},destroy:function(){this.evEl&&o(this.element,this.evEl,this.domHandler),this.evTarget&&o(this.target,this.evTarget,this.domHandler),this.evWin&&o(x(this.element),this.evWin,this.domHandler)}};var Mb={mousedown:yb,mousemove:zb,mouseup:Ab},Nb="mousedown",Ob="mousemove mouseup";j(M,y,{handler:function(a){var b=Mb[a.type];b&yb&&0===a.button&&(this.pressed=!0),b&zb&&1!==a.which&&(b=Ab),this.pressed&&this.allow&&(b&Ab&&(this.pressed=!1),this.callback(this.manager,b,{pointers:[a],changedPointers:[a],pointerType:vb,srcEvent:a}))}});var Pb={pointerdown:yb,pointermove:zb,pointerup:Ab,pointercancel:Bb,pointerout:Bb},Qb={2:tb,3:ub,4:vb,5:wb},Rb="pointerdown",Sb="pointermove pointerup pointercancel";a.MSPointerEvent&&(Rb="MSPointerDown",Sb="MSPointerMove MSPointerUp MSPointerCancel"),j(N,y,{handler:function(a){var b=this.store,c=!1,d=a.type.toLowerCase().replace("ms",""),e=Pb[d],f=Qb[a.pointerType]||a.pointerType,g=f==tb,h=s(b,a.pointerId,"pointerId");e&yb&&(0===a.button||g)?0>h&&(b.push(a),h=b.length-1):e&(Ab|Bb)&&(c=!0),0>h||(b[h]=a,this.callback(this.manager,e,{pointers:b,changedPointers:[a],pointerType:f,srcEvent:a}),c&&b.splice(h,1))}});var Tb={touchstart:yb,touchmove:zb,touchend:Ab,touchcancel:Bb},Ub="touchstart",Vb="touchstart touchmove touchend touchcancel";j(O,y,{handler:function(a){var b=Tb[a.type];if(b===yb&&(this.started=!0),this.started){var c=P.call(this,a,b);b&(Ab|Bb)&&c[0].length-c[1].length===0&&(this.started=!1),this.callback(this.manager,b,{pointers:c[0],changedPointers:c[1],pointerType:tb,srcEvent:a})}}});var Wb={touchstart:yb,touchmove:zb,touchend:Ab,touchcancel:Bb},Xb="touchstart touchmove touchend touchcancel";j(Q,y,{handler:function(a){var b=Wb[a.type],c=R.call(this,a,b);c&&this.callback(this.manager,b,{pointers:c[0],changedPointers:c[1],pointerType:tb,srcEvent:a})}}),j(S,y,{handler:function(a,b,c){var d=c.pointerType==tb,e=c.pointerType==vb;if(d)this.mouse.allow=!1;else if(e&&!this.mouse.allow)return;b&(Ab|Bb)&&(this.mouse.allow=!0),this.callback(a,b,c)},destroy:function(){this.touch.destroy(),this.mouse.destroy()}});var Yb=v(jb.style,"touchAction"),Zb=Yb!==d,$b="compute",_b="auto",ac="manipulation",bc="none",cc="pan-x",dc="pan-y";T.prototype={set:function(a){a==$b&&(a=this.compute()),Zb&&(this.manager.element.style[Yb]=a),this.actions=a.toLowerCase().trim()},update:function(){this.set(this.manager.options.touchAction)},compute:function(){var a=[];return g(this.manager.recognizers,function(b){l(b.options.enable,[b])&&(a=a.concat(b.getTouchAction()))}),U(a.join(" "))},preventDefaults:function(a){if(!Zb){var b=a.srcEvent,c=a.offsetDirection;if(this.manager.session.prevented)return void b.preventDefault();var d=this.actions,e=q(d,bc),f=q(d,dc),g=q(d,cc);return e||f&&c&Hb||g&&c&Ib?this.preventSrc(b):void 0}},preventSrc:function(a){this.manager.session.prevented=!0,a.preventDefault()}};var ec=1,fc=2,gc=4,hc=8,ic=hc,jc=16,kc=32;V.prototype={defaults:{},set:function(a){return h(this.options,a),this.manager&&this.manager.touchAction.update(),this},recognizeWith:function(a){if(f(a,"recognizeWith",this))return this;var b=this.simultaneous;return a=Y(a,this),b[a.id]||(b[a.id]=a,a.recognizeWith(this)),this},dropRecognizeWith:function(a){return f(a,"dropRecognizeWith",this)?this:(a=Y(a,this),delete this.simultaneous[a.id],this)},requireFailure:function(a){if(f(a,"requireFailure",this))return this;var b=this.requireFail;return a=Y(a,this),-1===s(b,a)&&(b.push(a),a.requireFailure(this)),this},dropRequireFailure:function(a){if(f(a,"dropRequireFailure",this))return this;a=Y(a,this);var b=s(this.requireFail,a);return b>-1&&this.requireFail.splice(b,1),this},hasRequireFailures:function(){return this.requireFail.length>0},canRecognizeWith:function(a){return!!this.simultaneous[a.id]},emit:function(a){function b(b){c.manager.emit(c.options.event+(b?W(d):""),a)}var c=this,d=this.state;hc>d&&b(!0),b(),d>=hc&&b(!0)},tryEmit:function(a){return this.canEmit()?this.emit(a):void(this.state=kc)},canEmit:function(){for(var a=0;a<this.requireFail.length;){if(!(this.requireFail[a].state&(kc|ec)))return!1;a++}return!0},recognize:function(a){var b=h({},a);return l(this.options.enable,[this,b])?(this.state&(ic|jc|kc)&&(this.state=ec),this.state=this.process(b),void(this.state&(fc|gc|hc|jc)&&this.tryEmit(b))):(this.reset(),void(this.state=kc))},process:function(){},getTouchAction:function(){},reset:function(){}},j(Z,V,{defaults:{pointers:1},attrTest:function(a){var b=this.options.pointers;return 0===b||a.pointers.length===b},process:function(a){var b=this.state,c=a.eventType,d=b&(fc|gc),e=this.attrTest(a);return d&&(c&Bb||!e)?b|jc:d||e?c&Ab?b|hc:b&fc?b|gc:fc:kc}}),j($,Z,{defaults:{event:"pan",threshold:10,pointers:1,direction:Jb},getTouchAction:function(){var a=this.options.direction,b=[];return a&Hb&&b.push(dc),a&Ib&&b.push(cc),b},directionTest:function(a){var b=this.options,c=!0,d=a.distance,e=a.direction,f=a.deltaX,g=a.deltaY;return e&b.direction||(b.direction&Hb?(e=0===f?Cb:0>f?Db:Eb,c=f!=this.pX,d=Math.abs(a.deltaX)):(e=0===g?Cb:0>g?Fb:Gb,c=g!=this.pY,d=Math.abs(a.deltaY))),a.direction=e,c&&d>b.threshold&&e&b.direction},attrTest:function(a){return Z.prototype.attrTest.call(this,a)&&(this.state&fc||!(this.state&fc)&&this.directionTest(a))},emit:function(a){this.pX=a.deltaX,this.pY=a.deltaY;var b=X(a.direction);b&&this.manager.emit(this.options.event+b,a),this._super.emit.call(this,a)}}),j(_,Z,{defaults:{event:"pinch",threshold:0,pointers:2},getTouchAction:function(){return[bc]},attrTest:function(a){return this._super.attrTest.call(this,a)&&(Math.abs(a.scale-1)>this.options.threshold||this.state&fc)},emit:function(a){if(this._super.emit.call(this,a),1!==a.scale){var b=a.scale<1?"in":"out";this.manager.emit(this.options.event+b,a)}}}),j(ab,V,{defaults:{event:"press",pointers:1,time:500,threshold:5},getTouchAction:function(){return[_b]},process:function(a){var b=this.options,c=a.pointers.length===b.pointers,d=a.distance<b.threshold,f=a.deltaTime>b.time;if(this._input=a,!d||!c||a.eventType&(Ab|Bb)&&!f)this.reset();else if(a.eventType&yb)this.reset(),this._timer=e(function(){this.state=ic,this.tryEmit()},b.time,this);else if(a.eventType&Ab)return ic;return kc},reset:function(){clearTimeout(this._timer)},emit:function(a){this.state===ic&&(a&&a.eventType&Ab?this.manager.emit(this.options.event+"up",a):(this._input.timeStamp=nb(),this.manager.emit(this.options.event,this._input)))}}),j(bb,Z,{defaults:{event:"rotate",threshold:0,pointers:2},getTouchAction:function(){return[bc]},attrTest:function(a){return this._super.attrTest.call(this,a)&&(Math.abs(a.rotation)>this.options.threshold||this.state&fc)}}),j(cb,Z,{defaults:{event:"swipe",threshold:10,velocity:.65,direction:Hb|Ib,pointers:1},getTouchAction:function(){return $.prototype.getTouchAction.call(this)},attrTest:function(a){var b,c=this.options.direction;return c&(Hb|Ib)?b=a.velocity:c&Hb?b=a.velocityX:c&Ib&&(b=a.velocityY),this._super.attrTest.call(this,a)&&c&a.direction&&a.distance>this.options.threshold&&mb(b)>this.options.velocity&&a.eventType&Ab},emit:function(a){var b=X(a.direction);b&&this.manager.emit(this.options.event+b,a),this.manager.emit(this.options.event,a)}}),j(db,V,{defaults:{event:"tap",pointers:1,taps:1,interval:300,time:250,threshold:2,posThreshold:10},getTouchAction:function(){return[ac]},process:function(a){var b=this.options,c=a.pointers.length===b.pointers,d=a.distance<b.threshold,f=a.deltaTime<b.time;if(this.reset(),a.eventType&yb&&0===this.count)return this.failTimeout();if(d&&f&&c){if(a.eventType!=Ab)return this.failTimeout();var g=this.pTime?a.timeStamp-this.pTime<b.interval:!0,h=!this.pCenter||I(this.pCenter,a.center)<b.posThreshold;this.pTime=a.timeStamp,this.pCenter=a.center,h&&g?this.count+=1:this.count=1,this._input=a;var i=this.count%b.taps;if(0===i)return this.hasRequireFailures()?(this._timer=e(function(){this.state=ic,this.tryEmit()},b.interval,this),fc):ic}return kc},failTimeout:function(){return this._timer=e(function(){this.state=kc},this.options.interval,this),kc},reset:function(){clearTimeout(this._timer)},emit:function(){this.state==ic&&(this._input.tapCount=this.count,this.manager.emit(this.options.event,this._input))}}),eb.VERSION="2.0.4",eb.defaults={domEvents:!1,touchAction:$b,enable:!0,inputTarget:null,inputClass:null,preset:[[bb,{enable:!1}],[_,{enable:!1},["rotate"]],[cb,{direction:Hb}],[$,{direction:Hb},["swipe"]],[db],[db,{event:"doubletap",taps:2},["tap"]],[ab]],cssProps:{userSelect:"none",touchSelect:"none",touchCallout:"none",contentZooming:"none",userDrag:"none",tapHighlightColor:"rgba(0,0,0,0)"}};var lc=1,mc=2;fb.prototype={set:function(a){return h(this.options,a),a.touchAction&&this.touchAction.update(),a.inputTarget&&(this.input.destroy(),this.input.target=a.inputTarget,this.input.init()),this},stop:function(a){this.session.stopped=a?mc:lc},recognize:function(a){var b=this.session;if(!b.stopped){this.touchAction.preventDefaults(a);var c,d=this.recognizers,e=b.curRecognizer;(!e||e&&e.state&ic)&&(e=b.curRecognizer=null);for(var f=0;f<d.length;)c=d[f],b.stopped===mc||e&&c!=e&&!c.canRecognizeWith(e)?c.reset():c.recognize(a),!e&&c.state&(fc|gc|hc)&&(e=b.curRecognizer=c),f++}},get:function(a){if(a instanceof V)return a;for(var b=this.recognizers,c=0;c<b.length;c++)if(b[c].options.event==a)return b[c];return null},add:function(a){if(f(a,"add",this))return this;var b=this.get(a.options.event);return b&&this.remove(b),this.recognizers.push(a),a.manager=this,this.touchAction.update(),a},remove:function(a){if(f(a,"remove",this))return this;var b=this.recognizers;return a=this.get(a),b.splice(s(b,a),1),this.touchAction.update(),this},on:function(a,b){var c=this.handlers;return g(r(a),function(a){c[a]=c[a]||[],c[a].push(b)}),this},off:function(a,b){var c=this.handlers;return g(r(a),function(a){b?c[a].splice(s(c[a],b),1):delete c[a]}),this},emit:function(a,b){this.options.domEvents&&hb(a,b);var c=this.handlers[a]&&this.handlers[a].slice();if(c&&c.length){b.type=a,b.preventDefault=function(){b.srcEvent.preventDefault()};for(var d=0;d<c.length;)c[d](b),d++}},destroy:function(){this.element&&gb(this,!1),this.handlers={},this.session={},this.input.destroy(),this.element=null}},h(eb,{INPUT_START:yb,INPUT_MOVE:zb,INPUT_END:Ab,INPUT_CANCEL:Bb,STATE_POSSIBLE:ec,STATE_BEGAN:fc,STATE_CHANGED:gc,STATE_ENDED:hc,STATE_RECOGNIZED:ic,STATE_CANCELLED:jc,STATE_FAILED:kc,DIRECTION_NONE:Cb,DIRECTION_LEFT:Db,DIRECTION_RIGHT:Eb,DIRECTION_UP:Fb,DIRECTION_DOWN:Gb,DIRECTION_HORIZONTAL:Hb,DIRECTION_VERTICAL:Ib,DIRECTION_ALL:Jb,Manager:fb,Input:y,TouchAction:T,TouchInput:Q,MouseInput:M,PointerEventInput:N,TouchMouseInput:S,SingleTouchInput:O,Recognizer:V,AttrRecognizer:Z,Tap:db,Pan:$,Swipe:cb,Pinch:_,Rotate:bb,Press:ab,on:n,off:o,each:g,merge:i,extend:h,inherit:j,bindFn:k,prefixed:v}),typeof define==kb&&define.amd?define(function(){return eb}):"undefined"!=typeof module&&module.exports?module.exports=eb:a[c]=eb}(window,document,"Hammer");
//# sourceMappingURL=hammer.min.map
;;;