/*! jQuery v3.4.1 | (c) JS Foundation and other contributors | jquery.org/license */ !function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(C,e){"use strict";var t=[],E=C.document,r=Object.getPrototypeOf,s=t.slice,g=t.concat,u=t.push,i=t.indexOf,n={},o=n.toString,v=n.hasOwnProperty,a=v.toString,l=a.call(Object),y={},m=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType},x=function(e){return null!=e&&e===e.window},c={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||E).createElement("script");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function w(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}var f="3.4.1",k=function(e,t){return new k.fn.init(e,t)},p=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;function d(e){var t=!!e&&"length"in e&&e.length,n=w(e);return!m(e)&&!x(e)&&("array"===n||0===t||"number"==typeof t&&0+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp($),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+$),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\([\\da-f]{1,6}"+M+"?|("+M+")|.)","ig"),ne=function(e,t,n){var r="0x"+t-65536;return r!=r||n?t:r<0?String.fromCharCode(r+65536):String.fromCharCode(r>>10|55296,1023&r|56320)},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){T()},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(m.childNodes),m.childNodes),t[m.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&((e?e.ownerDocument||e:m)!==C&&T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&y(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!A[t+" "]&&(!v||!v.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&U.test(t)){(s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=k),o=(l=h(t)).length;while(o--)l[o]="#"+s+" "+xe(l[o]);c=l.join(","),f=ee.test(t)&&ye(e.parentNode)||e}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){A(t,!0)}finally{s===k&&e.removeAttribute("id")}}}return g(t.replace(B,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[k]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split("|"),r=n.length;while(r--)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ve(a){return le(function(o){return o=+o,le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ye(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e.namespaceURI,n=(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:m;return r!==C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),m!==C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=k,!C.getElementsByName||!C.getElementsByName(k).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},b.find.CLASS=d.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],v=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){a.appendChild(e).innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+k+"-]").length||v.push("~="),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+k+"+*").length||v.push(".#.+[+~]")}),ce(function(e){e.innerHTML="";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",$)}),v=v.length&&new RegExp(v.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),y=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},D=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e===C||e.ownerDocument===m&&y(m,e)?-1:t===C||t.ownerDocument===m&&y(m,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e===C?-1:t===C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?pe(a[r],s[r]):a[r]===m?-1:s[r]===m?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if((e.ownerDocument||e)!==C&&T(e),d.matchesSelector&&E&&!A[t+" "]&&(!s||!s.test(t))&&(!v||!v.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){A(t,!0)}return 0":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=p[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&p(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function j(e,n,r){return m(n)?k.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?k.grep(e,function(e){return e===n!==r}):"string"!=typeof n?k.grep(e,function(e){return-1)[^>]*|#([\w-]+))$/;(k.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||q,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:L.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof k?t[0]:t,k.merge(this,k.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),D.test(r[1])&&k.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(k):k.makeArray(e,this)}).prototype=k.fn,q=k(E);var H=/^(?:parents|prev(?:Until|All))/,O={children:!0,contents:!0,next:!0,prev:!0};function P(e,t){while((e=e[t])&&1!==e.nodeType);return e}k.fn.extend({has:function(e){var t=k(e,this),n=t.length;return this.filter(function(){for(var e=0;e\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i,ge={option:[1,""],thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};function ve(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?k.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;nx",y.noCloneChecked=!!me.cloneNode(!0).lastChild.defaultValue;var Te=/^key/,Ce=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Ee=/^([^.]*)(?:\.(.+)|)/;function ke(){return!0}function Se(){return!1}function Ne(e,t){return e===function(){try{return E.activeElement}catch(e){}}()==("focus"===t)}function Ae(e,t,n,r,i,o){var a,s;if("object"==typeof t){for(s in"string"!=typeof n&&(r=r||n,n=void 0),t)Ae(e,s,n,r,t[s],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=Se;else if(!i)return e;return 1===o&&(a=i,(i=function(e){return k().off(e),a.apply(this,arguments)}).guid=a.guid||(a.guid=k.guid++)),e.each(function(){k.event.add(this,t,i,r,n)})}function De(e,i,o){o?(Q.set(e,i,!1),k.event.add(e,i,{namespace:!1,handler:function(e){var t,n,r=Q.get(this,i);if(1&e.isTrigger&&this[i]){if(r.length)(k.event.special[i]||{}).delegateType&&e.stopPropagation();else if(r=s.call(arguments),Q.set(this,i,r),t=o(this,i),this[i](),r!==(n=Q.get(this,i))||t?Q.set(this,i,!1):n={},r!==n)return e.stopImmediatePropagation(),e.preventDefault(),n.value}else r.length&&(Q.set(this,i,{value:k.event.trigger(k.extend(r[0],k.Event.prototype),r.slice(1),this)}),e.stopImmediatePropagation())}})):void 0===Q.get(e,i)&&k.event.add(e,i,ke)}k.event={global:{},add:function(t,e,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Q.get(t);if(v){n.handler&&(n=(o=n).handler,i=o.selector),i&&k.find.matchesSelector(ie,i),n.guid||(n.guid=k.guid++),(u=v.events)||(u=v.events={}),(a=v.handle)||(a=v.handle=function(e){return"undefined"!=typeof k&&k.event.triggered!==e.type?k.event.dispatch.apply(t,arguments):void 0}),l=(e=(e||"").match(R)||[""]).length;while(l--)d=g=(s=Ee.exec(e[l])||[])[1],h=(s[2]||"").split(".").sort(),d&&(f=k.event.special[d]||{},d=(i?f.delegateType:f.bindType)||d,f=k.event.special[d]||{},c=k.extend({type:d,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&k.expr.match.needsContext.test(i),namespace:h.join(".")},o),(p=u[d])||((p=u[d]=[]).delegateCount=0,f.setup&&!1!==f.setup.call(t,r,h,a)||t.addEventListener&&t.addEventListener(d,a)),f.add&&(f.add.call(t,c),c.handler.guid||(c.handler.guid=n.guid)),i?p.splice(p.delegateCount++,0,c):p.push(c),k.event.global[d]=!0)}},remove:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Q.hasData(e)&&Q.get(e);if(v&&(u=v.events)){l=(t=(t||"").match(R)||[""]).length;while(l--)if(d=g=(s=Ee.exec(t[l])||[])[1],h=(s[2]||"").split(".").sort(),d){f=k.event.special[d]||{},p=u[d=(r?f.delegateType:f.bindType)||d]||[],s=s[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=o=p.length;while(o--)c=p[o],!i&&g!==c.origType||n&&n.guid!==c.guid||s&&!s.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(p.splice(o,1),c.selector&&p.delegateCount--,f.remove&&f.remove.call(e,c));a&&!p.length&&(f.teardown&&!1!==f.teardown.call(e,h,v.handle)||k.removeEvent(e,d,v.handle),delete u[d])}else for(d in u)k.event.remove(e,d+t[l],n,r,!0);k.isEmptyObject(u)&&Q.remove(e,"handle events")}},dispatch:function(e){var t,n,r,i,o,a,s=k.event.fix(e),u=new Array(arguments.length),l=(Q.get(this,"events")||{})[s.type]||[],c=k.event.special[s.type]||{};for(u[0]=s,t=1;t\x20\t\r\n\f]*)[^>]*)\/>/gi,qe=/\s*$/g;function Oe(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&k(e).children("tbody")[0]||e}function Pe(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function Re(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Me(e,t){var n,r,i,o,a,s,u,l;if(1===t.nodeType){if(Q.hasData(e)&&(o=Q.access(e),a=Q.set(t,o),l=o.events))for(i in delete a.handle,a.events={},l)for(n=0,r=l[i].length;n")},clone:function(e,t,n){var r,i,o,a,s,u,l,c=e.cloneNode(!0),f=oe(e);if(!(y.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||k.isXMLDoc(e)))for(a=ve(c),r=0,i=(o=ve(e)).length;r").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var Vt,Gt=[],Yt=/(=)\?(?=&|$)|\?\?/;k.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Gt.pop()||k.expando+"_"+kt++;return this[e]=!0,e}}),k.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Yt.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Yt.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Yt,"$1"+r):!1!==e.jsonp&&(e.url+=(St.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||k.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?k(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,Gt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),y.createHTMLDocument=((Vt=E.implementation.createHTMLDocument("").body).innerHTML="
",2===Vt.childNodes.length),k.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(y.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument("")).createElement("base")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i=D.exec(e))?[t.createElement(i[1])]:(i=we([e],t,o),o&&o.length&&k(o).remove(),k.merge([],i.childNodes)));var r,i,o},k.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1").append(k.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},k.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){k.fn[t]=function(e){return this.on(t,e)}}),k.expr.pseudos.animated=function(t){return k.grep(k.timers,function(e){return t===e.elem}).length},k.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=k.css(e,"position"),c=k(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=k.css(e,"top"),u=k.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),m(t)&&(t=t.call(e,n,k.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):c.css(f)}},k.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){k.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===k.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===k.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=k(e).offset()).top+=k.css(e,"borderTopWidth",!0),i.left+=k.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-k.css(r,"marginTop",!0),left:t.left-i.left-k.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===k.css(e,"position"))e=e.offsetParent;return e||ie})}}),k.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;k.fn[t]=function(e){return _(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),k.each(["top","left"],function(e,n){k.cssHooks[n]=ze(y.pixelPosition,function(e,t){if(t)return t=_e(e,n),$e.test(t)?k(e).position()[n]+"px":t})}),k.each({Height:"height",Width:"width"},function(a,s){k.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){k.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return _(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?k.css(e,t,i):k.style(e,t,n,i)},s,n?e:void 0,n)}})}),k.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){k.fn[n]=function(e,t){return 0",{size:1}).attr("size")&&a.attrFn,h=a.attr,i=a.attrHooks.value&&a.attrHooks.value.get||function(){return null},j=a.attrHooks.value&&a.attrHooks.value.set||function(){return c},k=/^(?:input|button)$/i,l=/^[238]$/,m=/^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i,n=/^(?:checked|selected)$/i;e(a,"attrFn",g||{},"jQuery.attrFn is deprecated"),a.attr=function(b,e,f,i){var j=e.toLowerCase(),o=b&&b.nodeType;return i&&(h.length<4&&d("jQuery.fn.attr( props, pass ) is deprecated"),b&&!l.test(o)&&(g?e in g:a.isFunction(a.fn[e])))?a(b)[e](f):("type"===e&&f!==c&&k.test(b.nodeName)&&b.parentNode&&d("Can't change the 'type' of an input or button in IE 6/7/8"),!a.attrHooks[j]&&m.test(j)&&(a.attrHooks[j]={get:function(b,d){var e,f=a.prop(b,d);return f===!0||"boolean"!=typeof f&&(e=b.getAttributeNode(d))&&e.nodeValue!==!1?d.toLowerCase():c},set:function(b,c,d){var e;return c===!1?a.removeAttr(b,d):(e=a.propFix[d]||d,e in b&&(b[e]=!0),b.setAttribute(d,d.toLowerCase())),d}},n.test(j)&&d("jQuery.fn.attr('"+j+"') might use property instead of attribute")),h.call(a,b,e,f))},a.attrHooks.value={get:function(a,b){var c=(a.nodeName||"").toLowerCase();return"button"===c?i.apply(this,arguments):("input"!==c&&"option"!==c&&d("jQuery.fn.attr('value') no longer gets properties"),b in a?a.value:null)},set:function(a,b){var c=(a.nodeName||"").toLowerCase();return"button"===c?j.apply(this,arguments):("input"!==c&&"option"!==c&&d("jQuery.fn.attr('value', val) no longer sets properties"),void(a.value=b))}};var o,p,q=a.fn.init,r=a.find,s=a.parseJSON,t=/^\s*)([^>]*)$/;a.fn.init=function(b,e,f){var g,h;return b&&"string"==typeof b&&!a.isPlainObject(e)&&(g=w.exec(a.trim(b)))&&g[0]&&(t.test(b)||d("$(html) HTML strings must start with '<' character"),g[3]&&d("$(html) HTML text after last tag is ignored"),"#"===g[0].charAt(0)&&(d("HTML string cannot start with a '#' character"),a.error("JQMIGRATE: Invalid selector string (XSS)")),e&&e.context&&e.context.nodeType&&(e=e.context),a.parseHTML)?q.call(this,a.parseHTML(g[2],e&&e.ownerDocument||e||document,!0),e,f):(h=q.apply(this,arguments),b&&b.selector!==c?(h.selector=b.selector,h.context=b.context):(h.selector="string"==typeof b?b:"",b&&(h.context=b.nodeType?b:e||document)),h)},a.fn.init.prototype=a.fn,a.find=function(a){var b=Array.prototype.slice.call(arguments);if("string"==typeof a&&u.test(a))try{document.querySelector(a)}catch(c){a=a.replace(v,function(a,b,c,d){return"["+b+c+'"'+d+'"]'});try{document.querySelector(a),d("Attribute selector with '#' must be quoted: "+b[0]),b[0]=a}catch(e){d("Attribute selector with '#' was not fixed: "+b[0])}}return r.apply(this,b)};var x;for(x in r)Object.prototype.hasOwnProperty.call(r,x)&&(a.find[x]=r[x]);a.parseJSON=function(a){return a?s.apply(this,arguments):(d("jQuery.parseJSON requires a valid JSON string"),null)},a.uaMatch=function(a){a=a.toLowerCase();var b=/(chrome)[ \/]([\w.]+)/.exec(a)||/(webkit)[ \/]([\w.]+)/.exec(a)||/(opera)(?:.*version|)[ \/]([\w.]+)/.exec(a)||/(msie) ([\w.]+)/.exec(a)||a.indexOf("compatible")<0&&/(mozilla)(?:.*? rv:([\w.]+)|)/.exec(a)||[];return{browser:b[1]||"",version:b[2]||"0"}},a.browser||(o=a.uaMatch(navigator.userAgent),p={},o.browser&&(p[o.browser]=!0,p.version=o.version),p.chrome?p.webkit=!0:p.webkit&&(p.safari=!0),a.browser=p),e(a,"browser",a.browser,"jQuery.browser is deprecated"),a.boxModel=a.support.boxModel="CSS1Compat"===document.compatMode,e(a,"boxModel",a.boxModel,"jQuery.boxModel is deprecated"),e(a.support,"boxModel",a.support.boxModel,"jQuery.support.boxModel is deprecated"),a.sub=function(){function b(a,c){return new b.fn.init(a,c)}a.extend(!0,b,this),b.superclass=this,b.fn=b.prototype=this(),b.fn.constructor=b,b.sub=this.sub,b.fn.init=function(d,e){var f=a.fn.init.call(this,d,e,c);return f instanceof b?f:b(f)},b.fn.init.prototype=b.fn;var c=b(document);return d("jQuery.sub() is deprecated"),b},a.fn.size=function(){return d("jQuery.fn.size() is deprecated; use the .length property"),this.length};var y=!1;a.swap&&a.each(["height","width","reliableMarginRight"],function(b,c){var d=a.cssHooks[c]&&a.cssHooks[c].get;d&&(a.cssHooks[c].get=function(){var a;return y=!0,a=d.apply(this,arguments),y=!1,a})}),a.swap=function(a,b,c,e){var f,g,h={};y||d("jQuery.swap() is undocumented and deprecated");for(g in b)h[g]=a.style[g],a.style[g]=b[g];f=c.apply(a,e||[]);for(g in b)a.style[g]=h[g];return f},a.ajaxSetup({converters:{"text json":a.parseJSON}});var z=a.fn.data;a.fn.data=function(b){var e,f,g=this[0];return!g||"events"!==b||1!==arguments.length||(e=a.data(g,b),f=a._data(g,b),e!==c&&e!==f||f===c)?z.apply(this,arguments):(d("Use of jQuery.fn.data('events') is deprecated"),f)};var A=/\/(java|ecma)script/i;a.clean||(a.clean=function(b,c,e,f){c=c||document,c=!c.nodeType&&c[0]||c,c=c.ownerDocument||c,d("jQuery.clean() is deprecated");var g,h,i,j,k=[];if(a.merge(k,a.buildFragment(b,c).childNodes),e)for(i=function(a){return!a.type||A.test(a.type)?f?f.push(a.parentNode?a.parentNode.removeChild(a):a):e.appendChild(a):void 0},g=0;null!=(h=k[g]);g++)a.nodeName(h,"script")&&i(h)||(e.appendChild(h),"undefined"!=typeof h.getElementsByTagName&&(j=a.grep(a.merge([],h.getElementsByTagName("script")),i),k.splice.apply(k,[g+1,0].concat(j)),g+=j.length));return k});var B=a.event.add,C=a.event.remove,D=a.event.trigger,E=a.fn.toggle,F=a.fn.live,G=a.fn.die,H=a.fn.load,I="ajaxStart|ajaxStop|ajaxSend|ajaxComplete|ajaxError|ajaxSuccess",J=new RegExp("\\b(?:"+I+")\\b"),K=/(?:^|\s)hover(\.\S+|)\b/,L=function(b){return"string"!=typeof b||a.event.special.hover?b:(K.test(b)&&d("'hover' pseudo-event is deprecated, use 'mouseenter mouseleave'"),b&&b.replace(K,"mouseenter$1 mouseleave$1"))};a.event.props&&"attrChange"!==a.event.props[0]&&a.event.props.unshift("attrChange","attrName","relatedNode","srcElement"),a.event.dispatch&&e(a.event,"handle",a.event.dispatch,"jQuery.event.handle is undocumented and deprecated"),a.event.add=function(a,b,c,e,f){a!==document&&J.test(b)&&d("AJAX events should be attached to document: "+b),B.call(this,a,L(b||""),c,e,f)},a.event.remove=function(a,b,c,d,e){C.call(this,a,L(b)||"",c,d,e)},a.each(["load","unload","error"],function(b,c){a.fn[c]=function(){var a=Array.prototype.slice.call(arguments,0);return"load"===c&&"string"==typeof a[0]?H.apply(this,a):(d("jQuery.fn."+c+"() is deprecated"),a.splice(0,0,c),arguments.length?this.bind.apply(this,a):(this.triggerHandler.apply(this,a),this))}}),a.fn.toggle=function(b,c){if(!a.isFunction(b)||!a.isFunction(c))return E.apply(this,arguments);d("jQuery.fn.toggle(handler, handler...) is deprecated");var e=arguments,f=b.guid||a.guid++,g=0,h=function(c){var d=(a._data(this,"lastToggle"+b.guid)||0)%g;return a._data(this,"lastToggle"+b.guid,d+1),c.preventDefault(),e[d].apply(this,arguments)||!1};for(h.guid=f;gn)&&(f=n,d(g,n)&&(f/=40)),d(g,n)&&(j/=40,l/=40,m/=40),j=Math[j>=1?"floor":"ceil"](j/f),l=Math[l>=1?"floor":"ceil"](l/f),m=Math[m>=1?"floor":"ceil"](m/f),k.settings.normalizeOffset&&this.getBoundingClientRect){var s=this.getBoundingClientRect();o=b.clientX-s.left,p=b.clientY-s.top}return b.deltaX=l,b.deltaY=m,b.deltaFactor=f,b.offsetX=o,b.offsetY=p,b.deltaMode=0,h.unshift(b,j,l,m),e&&clearTimeout(e),e=setTimeout(c,200),(a.event.dispatch||a.event.handle).apply(this,h)}}function c(){f=null}function d(a,b){return k.settings.adjustOldDeltas&&"mousewheel"===a.type&&b%120===0}var e,f,g=["wheel","mousewheel","DOMMouseScroll","MozMousePixelScroll"],h="onwheel"in document||document.documentMode>=9?["wheel"]:["mousewheel","DomMouseScroll","MozMousePixelScroll"],i=Array.prototype.slice;if(a.event.fixHooks)for(var j=g.length;j;)a.event.fixHooks[g[--j]]=a.event.mouseHooks;var k=a.event.special.mousewheel={version:"3.1.12",setup:function(){if(this.addEventListener)for(var c=h.length;c;)this.addEventListener(h[--c],b,!1);else this.onmousewheel=b;a.data(this,"mousewheel-line-height",k.getLineHeight(this)),a.data(this,"mousewheel-page-height",k.getPageHeight(this))},teardown:function(){if(this.removeEventListener)for(var c=h.length;c;)this.removeEventListener(h[--c],b,!1);else this.onmousewheel=null;a.removeData(this,"mousewheel-line-height"),a.removeData(this,"mousewheel-page-height")},getLineHeight:function(b){var c=a(b),d=c["offsetParent"in a.fn?"offsetParent":"parent"]();return d.length||(d=a("body")),parseInt(d.css("fontSize"),10)||parseInt(c.css("fontSize"),10)||16},getPageHeight:function(b){return a(b).height()},settings:{adjustOldDeltas:!0,normalizeOffset:!0}};a.fn.extend({mousewheel:function(a){return a?this.bind("mousewheel",a):this.trigger("mousewheel")},unmousewheel:function(a){return this.unbind("mousewheel",a)}})});!function(a){"function"==typeof define&&define.amd?define(["jquery"],a):"object"==typeof exports?module.exports=a:a(jQuery)}(function(a){function b(b){var g=b||window.event,h=i.call(arguments,1),j=0,l=0,m=0,n=0,o=0,p=0;if(b=a.event.fix(g),b.type="mousewheel","detail"in g&&(m=-1*g.detail),"wheelDelta"in g&&(m=g.wheelDelta),"wheelDeltaY"in g&&(m=g.wheelDeltaY),"wheelDeltaX"in g&&(l=-1*g.wheelDeltaX),"axis"in g&&g.axis===g.HORIZONTAL_AXIS&&(l=-1*m,m=0),j=0===m?l:m,"deltaY"in g&&(m=-1*g.deltaY,j=m),"deltaX"in g&&(l=g.deltaX,0===m&&(j=-1*l)),0!==m||0!==l){if(1===g.deltaMode){var q=a.data(this,"mousewheel-line-height");j*=q,m*=q,l*=q}else if(2===g.deltaMode){var r=a.data(this,"mousewheel-page-height");j*=r,m*=r,l*=r}if(n=Math.max(Math.abs(m),Math.abs(l)),(!f||f>n)&&(f=n,d(g,n)&&(f/=40)),d(g,n)&&(j/=40,l/=40,m/=40),j=Math[j>=1?"floor":"ceil"](j/f),l=Math[l>=1?"floor":"ceil"](l/f),m=Math[m>=1?"floor":"ceil"](m/f),k.settings.normalizeOffset&&this.getBoundingClientRect){var s=this.getBoundingClientRect();o=b.clientX-s.left,p=b.clientY-s.top}return b.deltaX=l,b.deltaY=m,b.deltaFactor=f,b.offsetX=o,b.offsetY=p,b.deltaMode=0,h.unshift(b,j,l,m),e&&clearTimeout(e),e=setTimeout(c,200),(a.event.dispatch||a.event.handle).apply(this,h)}}function c(){f=null}function d(a,b){return k.settings.adjustOldDeltas&&"mousewheel"===a.type&&b%120===0}var e,f,g=["wheel","mousewheel","DOMMouseScroll","MozMousePixelScroll"],h="onwheel"in document||document.documentMode>=9?["wheel"]:["mousewheel","DomMouseScroll","MozMousePixelScroll"],i=Array.prototype.slice;if(a.event.fixHooks)for(var j=g.length;j;)a.event.fixHooks[g[--j]]=a.event.mouseHooks;var k=a.event.special.mousewheel={version:"3.1.12",setup:function(){if(this.addEventListener)for(var c=h.length;c;)this.addEventListener(h[--c],b,!1);else this.onmousewheel=b;a.data(this,"mousewheel-line-height",k.getLineHeight(this)),a.data(this,"mousewheel-page-height",k.getPageHeight(this))},teardown:function(){if(this.removeEventListener)for(var c=h.length;c;)this.removeEventListener(h[--c],b,!1);else this.onmousewheel=null;a.removeData(this,"mousewheel-line-height"),a.removeData(this,"mousewheel-page-height")},getLineHeight:function(b){var c=a(b),d=c["offsetParent"in a.fn?"offsetParent":"parent"]();return d.length||(d=a("body")),parseInt(d.css("fontSize"),10)||parseInt(c.css("fontSize"),10)||16},getPageHeight:function(b){return a(b).height()},settings:{adjustOldDeltas:!0,normalizeOffset:!0}};a.fn.extend({mousewheel:function(a){return a?this.bind("mousewheel",a):this.trigger("mousewheel")},unmousewheel:function(a){return this.unbind("mousewheel",a)}})}); /* == malihu jquery custom scrollbar plugin == Version: 3.1.5, License: MIT License (MIT) */ !function(e){"function"==typeof define&&define.amd?define(["jquery"],e):"undefined"!=typeof module&&module.exports?module.exports=e:e(jQuery,window,document)}(function(e){!function(t){var o="function"==typeof define&&define.amd,a="undefined"!=typeof module&&module.exports,n="https:"==document.location.protocol?"https:":"http:",i="cdnjs.cloudflare.com/ajax/libs/jquery-mousewheel/3.1.13/jquery.mousewheel.min.js";o||(a?require("jquery-mousewheel")(e):e.event.special.mousewheel||e("head").append(decodeURI("%3Cscript src="+n+"//"+i+"%3E%3C/script%3E"))),t()}(function(){var t,o="mCustomScrollbar",a="mCS",n=".mCustomScrollbar",i={setTop:0,setLeft:0,axis:"y",scrollbarPosition:"inside",scrollInertia:950,autoDraggerLength:!0,alwaysShowScrollbar:0,snapOffset:0,mouseWheel:{enable:!0,scrollAmount:"auto",axis:"y",deltaFactor:"auto",disableOver:["select","option","keygen","datalist","textarea"]},scrollButtons:{scrollType:"stepless",scrollAmount:"auto"},keyboard:{enable:!0,scrollType:"stepless",scrollAmount:"auto"},contentTouchScroll:25,documentTouchScroll:!0,advanced:{autoScrollOnFocus:"input,textarea,select,button,datalist,keygen,a[tabindex],area,object,[contenteditable='true']",updateOnContentResize:!0,updateOnImageLoad:"auto",autoUpdateTimeout:60},theme:"light",callbacks:{onTotalScrollOffset:0,onTotalScrollBackOffset:0,alwaysTriggerOffsets:!0}},r=0,l={},s=window.attachEvent&&!window.addEventListener?1:0,c=!1,d=["mCSB_dragger_onDrag","mCSB_scrollTools_onDrag","mCS_img_loaded","mCS_disabled","mCS_destroyed","mCS_no_scrollbar","mCS-autoHide","mCS-dir-rtl","mCS_no_scrollbar_y","mCS_no_scrollbar_x","mCS_y_hidden","mCS_x_hidden","mCSB_draggerContainer","mCSB_buttonUp","mCSB_buttonDown","mCSB_buttonLeft","mCSB_buttonRight"],u={init:function(t){var t=e.extend(!0,{},i,t),o=f.call(this);if(t.live){var s=t.liveSelector||this.selector||n,c=e(s);if("off"===t.live)return void m(s);l[s]=setTimeout(function(){c.mCustomScrollbar(t),"once"===t.live&&c.length&&m(s)},500)}else m(s);return t.setWidth=t.set_width?t.set_width:t.setWidth,t.setHeight=t.set_height?t.set_height:t.setHeight,t.axis=t.horizontalScroll?"x":p(t.axis),t.scrollInertia=t.scrollInertia>0&&t.scrollInertia<17?17:t.scrollInertia,"object"!=typeof t.mouseWheel&&1==t.mouseWheel&&(t.mouseWheel={enable:!0,scrollAmount:"auto",axis:"y",preventDefault:!1,deltaFactor:"auto",normalizeDelta:!1,invert:!1}),t.mouseWheel.scrollAmount=t.mouseWheelPixels?t.mouseWheelPixels:t.mouseWheel.scrollAmount,t.mouseWheel.normalizeDelta=t.advanced.normalizeMouseWheelDelta?t.advanced.normalizeMouseWheelDelta:t.mouseWheel.normalizeDelta,t.scrollButtons.scrollType=g(t.scrollButtons.scrollType),h(t),e(o).each(function(){var o=e(this);if(!o.data(a)){o.data(a,{idx:++r,opt:t,scrollRatio:{y:null,x:null},overflowed:null,contentReset:{y:null,x:null},bindEvents:!1,tweenRunning:!1,sequential:{},langDir:o.css("direction"),cbOffsets:null,trigger:null,poll:{size:{o:0,n:0},img:{o:0,n:0},change:{o:0,n:0}}});var n=o.data(a),i=n.opt,l=o.data("mcs-axis"),s=o.data("mcs-scrollbar-position"),c=o.data("mcs-theme");l&&(i.axis=l),s&&(i.scrollbarPosition=s),c&&(i.theme=c,h(i)),v.call(this),n&&i.callbacks.onCreate&&"function"==typeof i.callbacks.onCreate&&i.callbacks.onCreate.call(this),e("#mCSB_"+n.idx+"_container img:not(."+d[2]+")").addClass(d[2]),u.update.call(null,o)}})},update:function(t,o){var n=t||f.call(this);return e(n).each(function(){var t=e(this);if(t.data(a)){var n=t.data(a),i=n.opt,r=e("#mCSB_"+n.idx+"_container"),l=e("#mCSB_"+n.idx),s=[e("#mCSB_"+n.idx+"_dragger_vertical"),e("#mCSB_"+n.idx+"_dragger_horizontal")];if(!r.length)return;n.tweenRunning&&Q(t),o&&n&&i.callbacks.onBeforeUpdate&&"function"==typeof i.callbacks.onBeforeUpdate&&i.callbacks.onBeforeUpdate.call(this),t.hasClass(d[3])&&t.removeClass(d[3]),t.hasClass(d[4])&&t.removeClass(d[4]),l.css("max-height","none"),l.height()!==t.height()&&l.css("max-height",t.height()),_.call(this),"y"===i.axis||i.advanced.autoExpandHorizontalScroll||r.css("width",x(r)),n.overflowed=y.call(this),M.call(this),i.autoDraggerLength&&S.call(this),b.call(this),T.call(this);var c=[Math.abs(r[0].offsetTop),Math.abs(r[0].offsetLeft)];"x"!==i.axis&&(n.overflowed[0]?s[0].height()>s[0].parent().height()?B.call(this):(G(t,c[0].toString(),{dir:"y",dur:0,overwrite:"none"}),n.contentReset.y=null):(B.call(this),"y"===i.axis?k.call(this):"yx"===i.axis&&n.overflowed[1]&&G(t,c[1].toString(),{dir:"x",dur:0,overwrite:"none"}))),"y"!==i.axis&&(n.overflowed[1]?s[1].width()>s[1].parent().width()?B.call(this):(G(t,c[1].toString(),{dir:"x",dur:0,overwrite:"none"}),n.contentReset.x=null):(B.call(this),"x"===i.axis?k.call(this):"yx"===i.axis&&n.overflowed[0]&&G(t,c[0].toString(),{dir:"y",dur:0,overwrite:"none"}))),o&&n&&(2===o&&i.callbacks.onImageLoad&&"function"==typeof i.callbacks.onImageLoad?i.callbacks.onImageLoad.call(this):3===o&&i.callbacks.onSelectorChange&&"function"==typeof i.callbacks.onSelectorChange?i.callbacks.onSelectorChange.call(this):i.callbacks.onUpdate&&"function"==typeof i.callbacks.onUpdate&&i.callbacks.onUpdate.call(this)),N.call(this)}})},scrollTo:function(t,o){if("undefined"!=typeof t&&null!=t){var n=f.call(this);return e(n).each(function(){var n=e(this);if(n.data(a)){var i=n.data(a),r=i.opt,l={trigger:"external",scrollInertia:r.scrollInertia,scrollEasing:"mcsEaseInOut",moveDragger:!1,timeout:60,callbacks:!0,onStart:!0,onUpdate:!0,onComplete:!0},s=e.extend(!0,{},l,o),c=Y.call(this,t),d=s.scrollInertia>0&&s.scrollInertia<17?17:s.scrollInertia;c[0]=X.call(this,c[0],"y"),c[1]=X.call(this,c[1],"x"),s.moveDragger&&(c[0]*=i.scrollRatio.y,c[1]*=i.scrollRatio.x),s.dur=ne()?0:d,setTimeout(function(){null!==c[0]&&"undefined"!=typeof c[0]&&"x"!==r.axis&&i.overflowed[0]&&(s.dir="y",s.overwrite="all",G(n,c[0].toString(),s)),null!==c[1]&&"undefined"!=typeof c[1]&&"y"!==r.axis&&i.overflowed[1]&&(s.dir="x",s.overwrite="none",G(n,c[1].toString(),s))},s.timeout)}})}},stop:function(){var t=f.call(this);return e(t).each(function(){var t=e(this);t.data(a)&&Q(t)})},disable:function(t){var o=f.call(this);return e(o).each(function(){var o=e(this);if(o.data(a)){o.data(a);N.call(this,"remove"),k.call(this),t&&B.call(this),M.call(this,!0),o.addClass(d[3])}})},destroy:function(){var t=f.call(this);return e(t).each(function(){var n=e(this);if(n.data(a)){var i=n.data(a),r=i.opt,l=e("#mCSB_"+i.idx),s=e("#mCSB_"+i.idx+"_container"),c=e(".mCSB_"+i.idx+"_scrollbar");r.live&&m(r.liveSelector||e(t).selector),N.call(this,"remove"),k.call(this),B.call(this),n.removeData(a),$(this,"mcs"),c.remove(),s.find("img."+d[2]).removeClass(d[2]),l.replaceWith(s.contents()),n.removeClass(o+" _"+a+"_"+i.idx+" "+d[6]+" "+d[7]+" "+d[5]+" "+d[3]).addClass(d[4])}})}},f=function(){return"object"!=typeof e(this)||e(this).length<1?n:this},h=function(t){var o=["rounded","rounded-dark","rounded-dots","rounded-dots-dark"],a=["rounded-dots","rounded-dots-dark","3d","3d-dark","3d-thick","3d-thick-dark","inset","inset-dark","inset-2","inset-2-dark","inset-3","inset-3-dark"],n=["minimal","minimal-dark"],i=["minimal","minimal-dark"],r=["minimal","minimal-dark"];t.autoDraggerLength=e.inArray(t.theme,o)>-1?!1:t.autoDraggerLength,t.autoExpandScrollbar=e.inArray(t.theme,a)>-1?!1:t.autoExpandScrollbar,t.scrollButtons.enable=e.inArray(t.theme,n)>-1?!1:t.scrollButtons.enable,t.autoHideScrollbar=e.inArray(t.theme,i)>-1?!0:t.autoHideScrollbar,t.scrollbarPosition=e.inArray(t.theme,r)>-1?"outside":t.scrollbarPosition},m=function(e){l[e]&&(clearTimeout(l[e]),$(l,e))},p=function(e){return"yx"===e||"xy"===e||"auto"===e?"yx":"x"===e||"horizontal"===e?"x":"y"},g=function(e){return"stepped"===e||"pixels"===e||"step"===e||"click"===e?"stepped":"stepless"},v=function(){var t=e(this),n=t.data(a),i=n.opt,r=i.autoExpandScrollbar?" "+d[1]+"_expand":"",l=["
","
"],s="yx"===i.axis?"mCSB_vertical_horizontal":"x"===i.axis?"mCSB_horizontal":"mCSB_vertical",c="yx"===i.axis?l[0]+l[1]:"x"===i.axis?l[1]:l[0],u="yx"===i.axis?"
":"",f=i.autoHideScrollbar?" "+d[6]:"",h="x"!==i.axis&&"rtl"===n.langDir?" "+d[7]:"";i.setWidth&&t.css("width",i.setWidth),i.setHeight&&t.css("height",i.setHeight),i.setLeft="y"!==i.axis&&"rtl"===n.langDir?"989999px":i.setLeft,t.addClass(o+" _"+a+"_"+n.idx+f+h).wrapInner("
");var m=e("#mCSB_"+n.idx),p=e("#mCSB_"+n.idx+"_container");"y"===i.axis||i.advanced.autoExpandHorizontalScroll||p.css("width",x(p)),"outside"===i.scrollbarPosition?("static"===t.css("position")&&t.css("position","relative"),t.css("overflow","visible"),m.addClass("mCSB_outside").after(c)):(m.addClass("mCSB_inside").append(c),p.wrap(u)),w.call(this);var g=[e("#mCSB_"+n.idx+"_dragger_vertical"),e("#mCSB_"+n.idx+"_dragger_horizontal")];g[0].css("min-height",g[0].height()),g[1].css("min-width",g[1].width())},x=function(t){var o=[t[0].scrollWidth,Math.max.apply(Math,t.children().map(function(){return e(this).outerWidth(!0)}).get())],a=t.parent().width();return o[0]>a?o[0]:o[1]>a?o[1]:"100%"},_=function(){var t=e(this),o=t.data(a),n=o.opt,i=e("#mCSB_"+o.idx+"_container");if(n.advanced.autoExpandHorizontalScroll&&"y"!==n.axis){i.css({width:"auto","min-width":0,"overflow-x":"scroll"});var r=Math.ceil(i[0].scrollWidth);3===n.advanced.autoExpandHorizontalScroll||2!==n.advanced.autoExpandHorizontalScroll&&r>i.parent().width()?i.css({width:r,"min-width":"100%","overflow-x":"inherit"}):i.css({"overflow-x":"inherit",position:"absolute"}).wrap("
").css({width:Math.ceil(i[0].getBoundingClientRect().right+.4)-Math.floor(i[0].getBoundingClientRect().left),"min-width":"100%",position:"relative"}).unwrap()}},w=function(){var t=e(this),o=t.data(a),n=o.opt,i=e(".mCSB_"+o.idx+"_scrollbar:first"),r=oe(n.scrollButtons.tabindex)?"tabindex='"+n.scrollButtons.tabindex+"'":"",l=["","","",""],s=["x"===n.axis?l[2]:l[0],"x"===n.axis?l[3]:l[1],l[2],l[3]];n.scrollButtons.enable&&i.prepend(s[0]).append(s[1]).next(".mCSB_scrollTools").prepend(s[2]).append(s[3])},S=function(){var t=e(this),o=t.data(a),n=e("#mCSB_"+o.idx),i=e("#mCSB_"+o.idx+"_container"),r=[e("#mCSB_"+o.idx+"_dragger_vertical"),e("#mCSB_"+o.idx+"_dragger_horizontal")],l=[n.height()/i.outerHeight(!1),n.width()/i.outerWidth(!1)],c=[parseInt(r[0].css("min-height")),Math.round(l[0]*r[0].parent().height()),parseInt(r[1].css("min-width")),Math.round(l[1]*r[1].parent().width())],d=s&&c[1]r&&(r=s),c>l&&(l=c),[r>n.height(),l>n.width()]},B=function(){var t=e(this),o=t.data(a),n=o.opt,i=e("#mCSB_"+o.idx),r=e("#mCSB_"+o.idx+"_container"),l=[e("#mCSB_"+o.idx+"_dragger_vertical"),e("#mCSB_"+o.idx+"_dragger_horizontal")];if(Q(t),("x"!==n.axis&&!o.overflowed[0]||"y"===n.axis&&o.overflowed[0])&&(l[0].add(r).css("top",0),G(t,"_resetY")),"y"!==n.axis&&!o.overflowed[1]||"x"===n.axis&&o.overflowed[1]){var s=dx=0;"rtl"===o.langDir&&(s=i.width()-r.outerWidth(!1),dx=Math.abs(s/o.scrollRatio.x)),r.css("left",s),l[1].css("left",dx),G(t,"_resetX")}},T=function(){function t(){r=setTimeout(function(){e.event.special.mousewheel?(clearTimeout(r),W.call(o[0])):t()},100)}var o=e(this),n=o.data(a),i=n.opt;if(!n.bindEvents){if(I.call(this),i.contentTouchScroll&&D.call(this),E.call(this),i.mouseWheel.enable){var r;t()}P.call(this),U.call(this),i.advanced.autoScrollOnFocus&&H.call(this),i.scrollButtons.enable&&F.call(this),i.keyboard.enable&&q.call(this),n.bindEvents=!0}},k=function(){var t=e(this),o=t.data(a),n=o.opt,i=a+"_"+o.idx,r=".mCSB_"+o.idx+"_scrollbar",l=e("#mCSB_"+o.idx+",#mCSB_"+o.idx+"_container,#mCSB_"+o.idx+"_container_wrapper,"+r+" ."+d[12]+",#mCSB_"+o.idx+"_dragger_vertical,#mCSB_"+o.idx+"_dragger_horizontal,"+r+">a"),s=e("#mCSB_"+o.idx+"_container");n.advanced.releaseDraggableSelectors&&l.add(e(n.advanced.releaseDraggableSelectors)),n.advanced.extraDraggableSelectors&&l.add(e(n.advanced.extraDraggableSelectors)),o.bindEvents&&(e(document).add(e(!A()||top.document)).unbind("."+i),l.each(function(){e(this).unbind("."+i)}),clearTimeout(t[0]._focusTimeout),$(t[0],"_focusTimeout"),clearTimeout(o.sequential.step),$(o.sequential,"step"),clearTimeout(s[0].onCompleteTimeout),$(s[0],"onCompleteTimeout"),o.bindEvents=!1)},M=function(t){var o=e(this),n=o.data(a),i=n.opt,r=e("#mCSB_"+n.idx+"_container_wrapper"),l=r.length?r:e("#mCSB_"+n.idx+"_container"),s=[e("#mCSB_"+n.idx+"_scrollbar_vertical"),e("#mCSB_"+n.idx+"_scrollbar_horizontal")],c=[s[0].find(".mCSB_dragger"),s[1].find(".mCSB_dragger")];"x"!==i.axis&&(n.overflowed[0]&&!t?(s[0].add(c[0]).add(s[0].children("a")).css("display","block"),l.removeClass(d[8]+" "+d[10])):(i.alwaysShowScrollbar?(2!==i.alwaysShowScrollbar&&c[0].css("display","none"),l.removeClass(d[10])):(s[0].css("display","none"),l.addClass(d[10])),l.addClass(d[8]))),"y"!==i.axis&&(n.overflowed[1]&&!t?(s[1].add(c[1]).add(s[1].children("a")).css("display","block"),l.removeClass(d[9]+" "+d[11])):(i.alwaysShowScrollbar?(2!==i.alwaysShowScrollbar&&c[1].css("display","none"),l.removeClass(d[11])):(s[1].css("display","none"),l.addClass(d[11])),l.addClass(d[9]))),n.overflowed[0]||n.overflowed[1]?o.removeClass(d[5]):o.addClass(d[5])},O=function(t){var o=t.type,a=t.target.ownerDocument!==document&&null!==frameElement?[e(frameElement).offset().top,e(frameElement).offset().left]:null,n=A()&&t.target.ownerDocument!==top.document&&null!==frameElement?[e(t.view.frameElement).offset().top,e(t.view.frameElement).offset().left]:[0,0];switch(o){case"pointerdown":case"MSPointerDown":case"pointermove":case"MSPointerMove":case"pointerup":case"MSPointerUp":return a?[t.originalEvent.pageY-a[0]+n[0],t.originalEvent.pageX-a[1]+n[1],!1]:[t.originalEvent.pageY,t.originalEvent.pageX,!1];case"touchstart":case"touchmove":case"touchend":var i=t.originalEvent.touches[0]||t.originalEvent.changedTouches[0],r=t.originalEvent.touches.length||t.originalEvent.changedTouches.length;return t.target.ownerDocument!==document?[i.screenY,i.screenX,r>1]:[i.pageY,i.pageX,r>1];default:return a?[t.pageY-a[0]+n[0],t.pageX-a[1]+n[1],!1]:[t.pageY,t.pageX,!1]}},I=function(){function t(e,t,a,n){if(h[0].idleTimer=d.scrollInertia<233?250:0,o.attr("id")===f[1])var i="x",s=(o[0].offsetLeft-t+n)*l.scrollRatio.x;else var i="y",s=(o[0].offsetTop-e+a)*l.scrollRatio.y;G(r,s.toString(),{dir:i,drag:!0})}var o,n,i,r=e(this),l=r.data(a),d=l.opt,u=a+"_"+l.idx,f=["mCSB_"+l.idx+"_dragger_vertical","mCSB_"+l.idx+"_dragger_horizontal"],h=e("#mCSB_"+l.idx+"_container"),m=e("#"+f[0]+",#"+f[1]),p=d.advanced.releaseDraggableSelectors?m.add(e(d.advanced.releaseDraggableSelectors)):m,g=d.advanced.extraDraggableSelectors?e(!A()||top.document).add(e(d.advanced.extraDraggableSelectors)):e(!A()||top.document);m.bind("contextmenu."+u,function(e){e.preventDefault()}).bind("mousedown."+u+" touchstart."+u+" pointerdown."+u+" MSPointerDown."+u,function(t){if(t.stopImmediatePropagation(),t.preventDefault(),ee(t)){c=!0,s&&(document.onselectstart=function(){return!1}),L.call(h,!1),Q(r),o=e(this);var a=o.offset(),l=O(t)[0]-a.top,u=O(t)[1]-a.left,f=o.height()+a.top,m=o.width()+a.left;f>l&&l>0&&m>u&&u>0&&(n=l,i=u),C(o,"active",d.autoExpandScrollbar)}}).bind("touchmove."+u,function(e){e.stopImmediatePropagation(),e.preventDefault();var a=o.offset(),r=O(e)[0]-a.top,l=O(e)[1]-a.left;t(n,i,r,l)}),e(document).add(g).bind("mousemove."+u+" pointermove."+u+" MSPointerMove."+u,function(e){if(o){var a=o.offset(),r=O(e)[0]-a.top,l=O(e)[1]-a.left;if(n===r&&i===l)return;t(n,i,r,l)}}).add(p).bind("mouseup."+u+" touchend."+u+" pointerup."+u+" MSPointerUp."+u,function(){o&&(C(o,"active",d.autoExpandScrollbar),o=null),c=!1,s&&(document.onselectstart=null),L.call(h,!0)})},D=function(){function o(e){if(!te(e)||c||O(e)[2])return void(t=0);t=1,b=0,C=0,d=1,y.removeClass("mCS_touch_action");var o=I.offset();u=O(e)[0]-o.top,f=O(e)[1]-o.left,z=[O(e)[0],O(e)[1]]}function n(e){if(te(e)&&!c&&!O(e)[2]&&(T.documentTouchScroll||e.preventDefault(),e.stopImmediatePropagation(),(!C||b)&&d)){g=K();var t=M.offset(),o=O(e)[0]-t.top,a=O(e)[1]-t.left,n="mcsLinearOut";if(E.push(o),W.push(a),z[2]=Math.abs(O(e)[0]-z[0]),z[3]=Math.abs(O(e)[1]-z[1]),B.overflowed[0])var i=D[0].parent().height()-D[0].height(),r=u-o>0&&o-u>-(i*B.scrollRatio.y)&&(2*z[3]0&&a-f>-(l*B.scrollRatio.x)&&(2*z[2]30)){_=1e3/(v-p);var n="mcsEaseOut",i=2.5>_,r=i?[E[E.length-2],W[W.length-2]]:[0,0];x=i?[o-r[0],a-r[1]]:[o-h,a-m];var u=[Math.abs(x[0]),Math.abs(x[1])];_=i?[Math.abs(x[0]/4),Math.abs(x[1]/4)]:[_,_];var f=[Math.abs(I[0].offsetTop)-x[0]*l(u[0]/_[0],_[0]),Math.abs(I[0].offsetLeft)-x[1]*l(u[1]/_[1],_[1])];w="yx"===T.axis?[f[0],f[1]]:"x"===T.axis?[null,f[1]]:[f[0],null],S=[4*u[0]+T.scrollInertia,4*u[1]+T.scrollInertia];var y=parseInt(T.contentTouchScroll)||0;w[0]=u[0]>y?w[0]:0,w[1]=u[1]>y?w[1]:0,B.overflowed[0]&&s(w[0],S[0],n,"y",L,!1),B.overflowed[1]&&s(w[1],S[1],n,"x",L,!1)}}}function l(e,t){var o=[1.5*t,2*t,t/1.5,t/2];return e>90?t>4?o[0]:o[3]:e>60?t>3?o[3]:o[2]:e>30?t>8?o[1]:t>6?o[0]:t>4?t:o[2]:t>8?t:o[3]}function s(e,t,o,a,n,i){e&&G(y,e.toString(),{dur:t,scrollEasing:o,dir:a,overwrite:n,drag:i})}var d,u,f,h,m,p,g,v,x,_,w,S,b,C,y=e(this),B=y.data(a),T=B.opt,k=a+"_"+B.idx,M=e("#mCSB_"+B.idx),I=e("#mCSB_"+B.idx+"_container"),D=[e("#mCSB_"+B.idx+"_dragger_vertical"),e("#mCSB_"+B.idx+"_dragger_horizontal")],E=[],W=[],R=0,L="yx"===T.axis?"none":"all",z=[],P=I.find("iframe"),H=["touchstart."+k+" pointerdown."+k+" MSPointerDown."+k,"touchmove."+k+" pointermove."+k+" MSPointerMove."+k,"touchend."+k+" pointerup."+k+" MSPointerUp."+k],U=void 0!==document.body.style.touchAction&&""!==document.body.style.touchAction;I.bind(H[0],function(e){o(e)}).bind(H[1],function(e){n(e)}),M.bind(H[0],function(e){i(e)}).bind(H[2],function(e){r(e)}),P.length&&P.each(function(){e(this).bind("load",function(){A(this)&&e(this.contentDocument||this.contentWindow.document).bind(H[0],function(e){o(e),i(e)}).bind(H[1],function(e){n(e)}).bind(H[2],function(e){r(e)})})})},E=function(){function o(){return window.getSelection?window.getSelection().toString():document.selection&&"Control"!=document.selection.type?document.selection.createRange().text:0}function n(e,t,o){d.type=o&&i?"stepped":"stepless",d.scrollAmount=10,j(r,e,t,"mcsLinearOut",o?60:null)}var i,r=e(this),l=r.data(a),s=l.opt,d=l.sequential,u=a+"_"+l.idx,f=e("#mCSB_"+l.idx+"_container"),h=f.parent();f.bind("mousedown."+u,function(){t||i||(i=1,c=!0)}).add(document).bind("mousemove."+u,function(e){if(!t&&i&&o()){var a=f.offset(),r=O(e)[0]-a.top+f[0].offsetTop,c=O(e)[1]-a.left+f[0].offsetLeft;r>0&&r0&&cr?n("on",38):r>h.height()&&n("on",40)),"y"!==s.axis&&l.overflowed[1]&&(0>c?n("on",37):c>h.width()&&n("on",39)))}}).bind("mouseup."+u+" dragend."+u,function(){t||(i&&(i=0,n("off",null)),c=!1)})},W=function(){function t(t,a){if(Q(o),!z(o,t.target)){var r="auto"!==i.mouseWheel.deltaFactor?parseInt(i.mouseWheel.deltaFactor):s&&t.deltaFactor<100?100:t.deltaFactor||100,d=i.scrollInertia;if("x"===i.axis||"x"===i.mouseWheel.axis)var u="x",f=[Math.round(r*n.scrollRatio.x),parseInt(i.mouseWheel.scrollAmount)],h="auto"!==i.mouseWheel.scrollAmount?f[1]:f[0]>=l.width()?.9*l.width():f[0],m=Math.abs(e("#mCSB_"+n.idx+"_container")[0].offsetLeft),p=c[1][0].offsetLeft,g=c[1].parent().width()-c[1].width(),v="y"===i.mouseWheel.axis?t.deltaY||a:t.deltaX;else var u="y",f=[Math.round(r*n.scrollRatio.y),parseInt(i.mouseWheel.scrollAmount)],h="auto"!==i.mouseWheel.scrollAmount?f[1]:f[0]>=l.height()?.9*l.height():f[0],m=Math.abs(e("#mCSB_"+n.idx+"_container")[0].offsetTop),p=c[0][0].offsetTop,g=c[0].parent().height()-c[0].height(),v=t.deltaY||a;"y"===u&&!n.overflowed[0]||"x"===u&&!n.overflowed[1]||((i.mouseWheel.invert||t.webkitDirectionInvertedFromDevice)&&(v=-v),i.mouseWheel.normalizeDelta&&(v=0>v?-1:1),(v>0&&0!==p||0>v&&p!==g||i.mouseWheel.preventDefault)&&(t.stopImmediatePropagation(),t.preventDefault()),t.deltaFactor<5&&!i.mouseWheel.normalizeDelta&&(h=t.deltaFactor,d=17),G(o,(m-v*h).toString(),{dir:u,dur:d}))}}if(e(this).data(a)){var o=e(this),n=o.data(a),i=n.opt,r=a+"_"+n.idx,l=e("#mCSB_"+n.idx),c=[e("#mCSB_"+n.idx+"_dragger_vertical"),e("#mCSB_"+n.idx+"_dragger_horizontal")],d=e("#mCSB_"+n.idx+"_container").find("iframe");d.length&&d.each(function(){e(this).bind("load",function(){A(this)&&e(this.contentDocument||this.contentWindow.document).bind("mousewheel."+r,function(e,o){t(e,o)})})}),l.bind("mousewheel."+r,function(e,o){t(e,o)})}},R=new Object,A=function(t){var o=!1,a=!1,n=null;if(void 0===t?a="#empty":void 0!==e(t).attr("id")&&(a=e(t).attr("id")),a!==!1&&void 0!==R[a])return R[a];if(t){try{var i=t.contentDocument||t.contentWindow.document;n=i.body.innerHTML}catch(r){}o=null!==n}else{try{var i=top.document;n=i.body.innerHTML}catch(r){}o=null!==n}return a!==!1&&(R[a]=o),o},L=function(e){var t=this.find("iframe");if(t.length){var o=e?"auto":"none";t.css("pointer-events",o)}},z=function(t,o){var n=o.nodeName.toLowerCase(),i=t.data(a).opt.mouseWheel.disableOver,r=["select","textarea"];return e.inArray(n,i)>-1&&!(e.inArray(n,r)>-1&&!e(o).is(":focus"))},P=function(){var t,o=e(this),n=o.data(a),i=a+"_"+n.idx,r=e("#mCSB_"+n.idx+"_container"),l=r.parent(),s=e(".mCSB_"+n.idx+"_scrollbar ."+d[12]);s.bind("mousedown."+i+" touchstart."+i+" pointerdown."+i+" MSPointerDown."+i,function(o){c=!0,e(o.target).hasClass("mCSB_dragger")||(t=1)}).bind("touchend."+i+" pointerup."+i+" MSPointerUp."+i,function(){c=!1}).bind("click."+i,function(a){if(t&&(t=0,e(a.target).hasClass(d[12])||e(a.target).hasClass("mCSB_draggerRail"))){Q(o);var i=e(this),s=i.find(".mCSB_dragger");if(i.parent(".mCSB_scrollTools_horizontal").length>0){if(!n.overflowed[1])return;var c="x",u=a.pageX>s.offset().left?-1:1,f=Math.abs(r[0].offsetLeft)-u*(.9*l.width())}else{if(!n.overflowed[0])return;var c="y",u=a.pageY>s.offset().top?-1:1,f=Math.abs(r[0].offsetTop)-u*(.9*l.height())}G(o,f.toString(),{dir:c,scrollEasing:"mcsEaseInOut"})}})},H=function(){var t=e(this),o=t.data(a),n=o.opt,i=a+"_"+o.idx,r=e("#mCSB_"+o.idx+"_container"),l=r.parent();r.bind("focusin."+i,function(){var o=e(document.activeElement),a=r.find(".mCustomScrollBox").length,i=0;o.is(n.advanced.autoScrollOnFocus)&&(Q(t),clearTimeout(t[0]._focusTimeout),t[0]._focusTimer=a?(i+17)*a:0,t[0]._focusTimeout=setTimeout(function(){var e=[ae(o)[0],ae(o)[1]],a=[r[0].offsetTop,r[0].offsetLeft],s=[a[0]+e[0]>=0&&a[0]+e[0]=0&&a[0]+e[1]a");s.bind("contextmenu."+r,function(e){e.preventDefault()}).bind("mousedown."+r+" touchstart."+r+" pointerdown."+r+" MSPointerDown."+r+" mouseup."+r+" touchend."+r+" pointerup."+r+" MSPointerUp."+r+" mouseout."+r+" pointerout."+r+" MSPointerOut."+r+" click."+r,function(a){function r(e,o){i.scrollAmount=n.scrollButtons.scrollAmount,j(t,e,o)}if(a.preventDefault(),ee(a)){var l=e(this).attr("class");switch(i.type=n.scrollButtons.scrollType,a.type){case"mousedown":case"touchstart":case"pointerdown":case"MSPointerDown":if("stepped"===i.type)return;c=!0,o.tweenRunning=!1,r("on",l);break;case"mouseup":case"touchend":case"pointerup":case"MSPointerUp":case"mouseout":case"pointerout":case"MSPointerOut":if("stepped"===i.type)return;c=!1,i.dir&&r("off",l);break;case"click":if("stepped"!==i.type||o.tweenRunning)return;r("on",l)}}})},q=function(){function t(t){function a(e,t){r.type=i.keyboard.scrollType,r.scrollAmount=i.keyboard.scrollAmount,"stepped"===r.type&&n.tweenRunning||j(o,e,t)}switch(t.type){case"blur":n.tweenRunning&&r.dir&&a("off",null);break;case"keydown":case"keyup":var l=t.keyCode?t.keyCode:t.which,s="on";if("x"!==i.axis&&(38===l||40===l)||"y"!==i.axis&&(37===l||39===l)){if((38===l||40===l)&&!n.overflowed[0]||(37===l||39===l)&&!n.overflowed[1])return;"keyup"===t.type&&(s="off"),e(document.activeElement).is(u)||(t.preventDefault(),t.stopImmediatePropagation(),a(s,l))}else if(33===l||34===l){if((n.overflowed[0]||n.overflowed[1])&&(t.preventDefault(),t.stopImmediatePropagation()),"keyup"===t.type){Q(o);var f=34===l?-1:1;if("x"===i.axis||"yx"===i.axis&&n.overflowed[1]&&!n.overflowed[0])var h="x",m=Math.abs(c[0].offsetLeft)-f*(.9*d.width());else var h="y",m=Math.abs(c[0].offsetTop)-f*(.9*d.height());G(o,m.toString(),{dir:h,scrollEasing:"mcsEaseInOut"})}}else if((35===l||36===l)&&!e(document.activeElement).is(u)&&((n.overflowed[0]||n.overflowed[1])&&(t.preventDefault(),t.stopImmediatePropagation()),"keyup"===t.type)){if("x"===i.axis||"yx"===i.axis&&n.overflowed[1]&&!n.overflowed[0])var h="x",m=35===l?Math.abs(d.width()-c.outerWidth(!1)):0;else var h="y",m=35===l?Math.abs(d.height()-c.outerHeight(!1)):0;G(o,m.toString(),{dir:h,scrollEasing:"mcsEaseInOut"})}}}var o=e(this),n=o.data(a),i=n.opt,r=n.sequential,l=a+"_"+n.idx,s=e("#mCSB_"+n.idx),c=e("#mCSB_"+n.idx+"_container"),d=c.parent(),u="input,textarea,select,datalist,keygen,[contenteditable='true']",f=c.find("iframe"),h=["blur."+l+" keydown."+l+" keyup."+l];f.length&&f.each(function(){e(this).bind("load",function(){A(this)&&e(this.contentDocument||this.contentWindow.document).bind(h[0],function(e){t(e)})})}),s.attr("tabindex","0").bind(h[0],function(e){t(e)})},j=function(t,o,n,i,r){function l(e){u.snapAmount&&(f.scrollAmount=u.snapAmount instanceof Array?"x"===f.dir[0]?u.snapAmount[1]:u.snapAmount[0]:u.snapAmount);var o="stepped"!==f.type,a=r?r:e?o?p/1.5:g:1e3/60,n=e?o?7.5:40:2.5,s=[Math.abs(h[0].offsetTop),Math.abs(h[0].offsetLeft)],d=[c.scrollRatio.y>10?10:c.scrollRatio.y,c.scrollRatio.x>10?10:c.scrollRatio.x],m="x"===f.dir[0]?s[1]+f.dir[1]*(d[1]*n):s[0]+f.dir[1]*(d[0]*n),v="x"===f.dir[0]?s[1]+f.dir[1]*parseInt(f.scrollAmount):s[0]+f.dir[1]*parseInt(f.scrollAmount),x="auto"!==f.scrollAmount?v:m,_=i?i:e?o?"mcsLinearOut":"mcsEaseInOut":"mcsLinear",w=!!e;return e&&17>a&&(x="x"===f.dir[0]?s[1]:s[0]),G(t,x.toString(),{dir:f.dir[0],scrollEasing:_,dur:a,onComplete:w}),e?void(f.dir=!1):(clearTimeout(f.step),void(f.step=setTimeout(function(){l()},a)))}function s(){clearTimeout(f.step),$(f,"step"),Q(t)}var c=t.data(a),u=c.opt,f=c.sequential,h=e("#mCSB_"+c.idx+"_container"),m="stepped"===f.type,p=u.scrollInertia<26?26:u.scrollInertia,g=u.scrollInertia<1?17:u.scrollInertia;switch(o){case"on":if(f.dir=[n===d[16]||n===d[15]||39===n||37===n?"x":"y",n===d[13]||n===d[15]||38===n||37===n?-1:1],Q(t),oe(n)&&"stepped"===f.type)return;l(m);break;case"off":s(),(m||c.tweenRunning&&f.dir)&&l(!0)}},Y=function(t){var o=e(this).data(a).opt,n=[];return"function"==typeof t&&(t=t()),t instanceof Array?n=t.length>1?[t[0],t[1]]:"x"===o.axis?[null,t[0]]:[t[0],null]:(n[0]=t.y?t.y:t.x||"x"===o.axis?null:t,n[1]=t.x?t.x:t.y||"y"===o.axis?null:t),"function"==typeof n[0]&&(n[0]=n[0]()),"function"==typeof n[1]&&(n[1]=n[1]()),n},X=function(t,o){if(null!=t&&"undefined"!=typeof t){var n=e(this),i=n.data(a),r=i.opt,l=e("#mCSB_"+i.idx+"_container"),s=l.parent(),c=typeof t;o||(o="x"===r.axis?"x":"y");var d="x"===o?l.outerWidth(!1)-s.width():l.outerHeight(!1)-s.height(),f="x"===o?l[0].offsetLeft:l[0].offsetTop,h="x"===o?"left":"top";switch(c){case"function":return t();case"object":var m=t.jquery?t:e(t);if(!m.length)return;return"x"===o?ae(m)[1]:ae(m)[0];case"string":case"number":if(oe(t))return Math.abs(t);if(-1!==t.indexOf("%"))return Math.abs(d*parseInt(t)/100);if(-1!==t.indexOf("-="))return Math.abs(f-parseInt(t.split("-=")[1]));if(-1!==t.indexOf("+=")){var p=f+parseInt(t.split("+=")[1]);return p>=0?0:Math.abs(p)}if(-1!==t.indexOf("px")&&oe(t.split("px")[0]))return Math.abs(t.split("px")[0]);if("top"===t||"left"===t)return 0;if("bottom"===t)return Math.abs(s.height()-l.outerHeight(!1));if("right"===t)return Math.abs(s.width()-l.outerWidth(!1));if("first"===t||"last"===t){var m=l.find(":"+t);return"x"===o?ae(m)[1]:ae(m)[0]}return e(t).length?"x"===o?ae(e(t))[1]:ae(e(t))[0]:(l.css(h,t),void u.update.call(null,n[0]))}}},N=function(t){function o(){return clearTimeout(f[0].autoUpdate),0===l.parents("html").length?void(l=null):void(f[0].autoUpdate=setTimeout(function(){return c.advanced.updateOnSelectorChange&&(s.poll.change.n=i(),s.poll.change.n!==s.poll.change.o)?(s.poll.change.o=s.poll.change.n,void r(3)):c.advanced.updateOnContentResize&&(s.poll.size.n=l[0].scrollHeight+l[0].scrollWidth+f[0].offsetHeight+l[0].offsetHeight+l[0].offsetWidth,s.poll.size.n!==s.poll.size.o)?(s.poll.size.o=s.poll.size.n,void r(1)):!c.advanced.updateOnImageLoad||"auto"===c.advanced.updateOnImageLoad&&"y"===c.axis||(s.poll.img.n=f.find("img").length,s.poll.img.n===s.poll.img.o)?void((c.advanced.updateOnSelectorChange||c.advanced.updateOnContentResize||c.advanced.updateOnImageLoad)&&o()):(s.poll.img.o=s.poll.img.n,void f.find("img").each(function(){n(this)}))},c.advanced.autoUpdateTimeout))}function n(t){function o(e,t){return function(){ return t.apply(e,arguments)}}function a(){this.onload=null,e(t).addClass(d[2]),r(2)}if(e(t).hasClass(d[2]))return void r();var n=new Image;n.onload=o(n,a),n.src=t.src}function i(){c.advanced.updateOnSelectorChange===!0&&(c.advanced.updateOnSelectorChange="*");var e=0,t=f.find(c.advanced.updateOnSelectorChange);return c.advanced.updateOnSelectorChange&&t.length>0&&t.each(function(){e+=this.offsetHeight+this.offsetWidth}),e}function r(e){clearTimeout(f[0].autoUpdate),u.update.call(null,l[0],e)}var l=e(this),s=l.data(a),c=s.opt,f=e("#mCSB_"+s.idx+"_container");return t?(clearTimeout(f[0].autoUpdate),void $(f[0],"autoUpdate")):void o()},V=function(e,t,o){return Math.round(e/t)*t-o},Q=function(t){var o=t.data(a),n=e("#mCSB_"+o.idx+"_container,#mCSB_"+o.idx+"_container_wrapper,#mCSB_"+o.idx+"_dragger_vertical,#mCSB_"+o.idx+"_dragger_horizontal");n.each(function(){Z.call(this)})},G=function(t,o,n){function i(e){return s&&c.callbacks[e]&&"function"==typeof c.callbacks[e]}function r(){return[c.callbacks.alwaysTriggerOffsets||w>=S[0]+y,c.callbacks.alwaysTriggerOffsets||-B>=w]}function l(){var e=[h[0].offsetTop,h[0].offsetLeft],o=[x[0].offsetTop,x[0].offsetLeft],a=[h.outerHeight(!1),h.outerWidth(!1)],i=[f.height(),f.width()];t[0].mcs={content:h,top:e[0],left:e[1],draggerTop:o[0],draggerLeft:o[1],topPct:Math.round(100*Math.abs(e[0])/(Math.abs(a[0])-i[0])),leftPct:Math.round(100*Math.abs(e[1])/(Math.abs(a[1])-i[1])),direction:n.dir}}var s=t.data(a),c=s.opt,d={trigger:"internal",dir:"y",scrollEasing:"mcsEaseOut",drag:!1,dur:c.scrollInertia,overwrite:"all",callbacks:!0,onStart:!0,onUpdate:!0,onComplete:!0},n=e.extend(d,n),u=[n.dur,n.drag?0:n.dur],f=e("#mCSB_"+s.idx),h=e("#mCSB_"+s.idx+"_container"),m=h.parent(),p=c.callbacks.onTotalScrollOffset?Y.call(t,c.callbacks.onTotalScrollOffset):[0,0],g=c.callbacks.onTotalScrollBackOffset?Y.call(t,c.callbacks.onTotalScrollBackOffset):[0,0];if(s.trigger=n.trigger,0===m.scrollTop()&&0===m.scrollLeft()||(e(".mCSB_"+s.idx+"_scrollbar").css("visibility","visible"),m.scrollTop(0).scrollLeft(0)),"_resetY"!==o||s.contentReset.y||(i("onOverflowYNone")&&c.callbacks.onOverflowYNone.call(t[0]),s.contentReset.y=1),"_resetX"!==o||s.contentReset.x||(i("onOverflowXNone")&&c.callbacks.onOverflowXNone.call(t[0]),s.contentReset.x=1),"_resetY"!==o&&"_resetX"!==o){if(!s.contentReset.y&&t[0].mcs||!s.overflowed[0]||(i("onOverflowY")&&c.callbacks.onOverflowY.call(t[0]),s.contentReset.x=null),!s.contentReset.x&&t[0].mcs||!s.overflowed[1]||(i("onOverflowX")&&c.callbacks.onOverflowX.call(t[0]),s.contentReset.x=null),c.snapAmount){var v=c.snapAmount instanceof Array?"x"===n.dir?c.snapAmount[1]:c.snapAmount[0]:c.snapAmount;o=V(o,v,c.snapOffset)}switch(n.dir){case"x":var x=e("#mCSB_"+s.idx+"_dragger_horizontal"),_="left",w=h[0].offsetLeft,S=[f.width()-h.outerWidth(!1),x.parent().width()-x.width()],b=[o,0===o?0:o/s.scrollRatio.x],y=p[1],B=g[1],T=y>0?y/s.scrollRatio.x:0,k=B>0?B/s.scrollRatio.x:0;break;case"y":var x=e("#mCSB_"+s.idx+"_dragger_vertical"),_="top",w=h[0].offsetTop,S=[f.height()-h.outerHeight(!1),x.parent().height()-x.height()],b=[o,0===o?0:o/s.scrollRatio.y],y=p[0],B=g[0],T=y>0?y/s.scrollRatio.y:0,k=B>0?B/s.scrollRatio.y:0}b[1]<0||0===b[0]&&0===b[1]?b=[0,0]:b[1]>=S[1]?b=[S[0],S[1]]:b[0]=-b[0],t[0].mcs||(l(),i("onInit")&&c.callbacks.onInit.call(t[0])),clearTimeout(h[0].onCompleteTimeout),J(x[0],_,Math.round(b[1]),u[1],n.scrollEasing),!s.tweenRunning&&(0===w&&b[0]>=0||w===S[0]&&b[0]<=S[0])||J(h[0],_,Math.round(b[0]),u[0],n.scrollEasing,n.overwrite,{onStart:function(){n.callbacks&&n.onStart&&!s.tweenRunning&&(i("onScrollStart")&&(l(),c.callbacks.onScrollStart.call(t[0])),s.tweenRunning=!0,C(x),s.cbOffsets=r())},onUpdate:function(){n.callbacks&&n.onUpdate&&i("whileScrolling")&&(l(),c.callbacks.whileScrolling.call(t[0]))},onComplete:function(){if(n.callbacks&&n.onComplete){"yx"===c.axis&&clearTimeout(h[0].onCompleteTimeout);var e=h[0].idleTimer||0;h[0].onCompleteTimeout=setTimeout(function(){i("onScroll")&&(l(),c.callbacks.onScroll.call(t[0])),i("onTotalScroll")&&b[1]>=S[1]-T&&s.cbOffsets[0]&&(l(),c.callbacks.onTotalScroll.call(t[0])),i("onTotalScrollBack")&&b[1]<=k&&s.cbOffsets[1]&&(l(),c.callbacks.onTotalScrollBack.call(t[0])),s.tweenRunning=!1,h[0].idleTimer=0,C(x,"hide")},e)}}})}},J=function(e,t,o,a,n,i,r){function l(){S.stop||(x||m.call(),x=K()-v,s(),x>=S.time&&(S.time=x>S.time?x+f-(x-S.time):x+f-1,S.time0?(S.currVal=u(S.time,_,b,a,n),w[t]=Math.round(S.currVal)+"px"):w[t]=o+"px",p.call()}function c(){f=1e3/60,S.time=x+f,h=window.requestAnimationFrame?window.requestAnimationFrame:function(e){return s(),setTimeout(e,.01)},S.id=h(l)}function d(){null!=S.id&&(window.requestAnimationFrame?window.cancelAnimationFrame(S.id):clearTimeout(S.id),S.id=null)}function u(e,t,o,a,n){switch(n){case"linear":case"mcsLinear":return o*e/a+t;case"mcsLinearOut":return e/=a,e--,o*Math.sqrt(1-e*e)+t;case"easeInOutSmooth":return e/=a/2,1>e?o/2*e*e+t:(e--,-o/2*(e*(e-2)-1)+t);case"easeInOutStrong":return e/=a/2,1>e?o/2*Math.pow(2,10*(e-1))+t:(e--,o/2*(-Math.pow(2,-10*e)+2)+t);case"easeInOut":case"mcsEaseInOut":return e/=a/2,1>e?o/2*e*e*e+t:(e-=2,o/2*(e*e*e+2)+t);case"easeOutSmooth":return e/=a,e--,-o*(e*e*e*e-1)+t;case"easeOutStrong":return o*(-Math.pow(2,-10*e/a)+1)+t;case"easeOut":case"mcsEaseOut":default:var i=(e/=a)*e,r=i*e;return t+o*(.499999999999997*r*i+-2.5*i*i+5.5*r+-6.5*i+4*e)}}e._mTween||(e._mTween={top:{},left:{}});var f,h,r=r||{},m=r.onStart||function(){},p=r.onUpdate||function(){},g=r.onComplete||function(){},v=K(),x=0,_=e.offsetTop,w=e.style,S=e._mTween[t];"left"===t&&(_=e.offsetLeft);var b=o-_;S.stop=0,"none"!==i&&d(),c()},K=function(){return window.performance&&window.performance.now?window.performance.now():window.performance&&window.performance.webkitNow?window.performance.webkitNow():Date.now?Date.now():(new Date).getTime()},Z=function(){var e=this;e._mTween||(e._mTween={top:{},left:{}});for(var t=["top","left"],o=0;o=0&&a[0]+ae(n)[0]=0&&a[1]+ae(n)[1]=0&&r[1]-i[1]*l[1][0]<0&&r[1]+n[1]-i[1]*l[1][1]>=0},mcsOverflow:e.expr[":"].mcsOverflow||function(t){var o=e(t).data(a);if(o)return o.overflowed[0]||o.overflowed[1]}})})})}); /*! * Bootstrap v3.3.5 (http://getbootstrap.com) * Copyright 2011-2015 Twitter, Inc. * Licensed under the MIT license */ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap\'s JavaScript requires jQuery') } +function ($) { 'use strict'; var version = $.fn.jquery.split(' ')[0].split('.') if ((version[0] < 2 && version[1] < 9) || (version[0] == 1 && version[1] == 9 && version[2] < 1)) { throw new Error('Bootstrap\'s JavaScript requires jQuery version 1.9.1 or higher') } }(jQuery); /* ======================================================================== * Bootstrap: transition.js v3.3.5 * http://getbootstrap.com/javascript/#transitions * ======================================================================== * Copyright 2011-2015 Twitter, Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * ======================================================================== */ +function ($) { 'use strict'; // CSS TRANSITION SUPPORT (Shoutout: http://www.modernizr.com/) // ============================================================ function transitionEnd() { var el = document.createElement('bootstrap') var transEndEventNames = { WebkitTransition : 'webkitTransitionEnd', MozTransition : 'transitionend', OTransition : 'oTransitionEnd otransitionend', transition : 'transitionend' } for (var name in transEndEventNames) { if (el.style[name] !== undefined) { return { end: transEndEventNames[name] } } } return false // explicit for ie8 ( ._.) } // http://blog.alexmaccaw.com/css-transitions $.fn.emulateTransitionEnd = function (duration) { var called = false var $el = this $(this).one('bsTransitionEnd', function () { called = true }) var callback = function () { if (!called) $($el).trigger($.support.transition.end) } setTimeout(callback, duration) return this } $(function () { $.support.transition = transitionEnd() if (!$.support.transition) return $.event.special.bsTransitionEnd = { bindType: $.support.transition.end, delegateType: $.support.transition.end, handle: function (e) { if ($(e.target).is(this)) return e.handleObj.handler.apply(this, arguments) } } }) }(jQuery); /* ======================================================================== * Bootstrap: alert.js v3.3.5 * http://getbootstrap.com/javascript/#alerts * ======================================================================== * Copyright 2011-2015 Twitter, Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * ======================================================================== */ +function ($) { 'use strict'; // ALERT CLASS DEFINITION // ====================== var dismiss = '[data-dismiss="alert"]' var Alert = function (el) { $(el).on('click', dismiss, this.close) } Alert.VERSION = '3.3.5' Alert.TRANSITION_DURATION = 150 Alert.prototype.close = function (e) { var $this = $(this) var selector = $this.attr('data-target') if (!selector) { selector = $this.attr('href') selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') // strip for ie7 } var $parent = $(selector) if (e) e.preventDefault() if (!$parent.length) { $parent = $this.closest('.alert') } $parent.trigger(e = $.Event('close.bs.alert')) if (e.isDefaultPrevented()) return $parent.removeClass('in') function removeElement() { // detach from parent, fire event then clean up data $parent.detach().trigger('closed.bs.alert').remove() } $.support.transition && $parent.hasClass('fade') ? $parent .one('bsTransitionEnd', removeElement) .emulateTransitionEnd(Alert.TRANSITION_DURATION) : removeElement() } // ALERT PLUGIN DEFINITION // ======================= function Plugin(option) { return this.each(function () { var $this = $(this) var data = $this.data('bs.alert') if (!data) $this.data('bs.alert', (data = new Alert(this))) if (typeof option == 'string') data[option].call($this) }) } var old = $.fn.alert $.fn.alert = Plugin $.fn.alert.Constructor = Alert // ALERT NO CONFLICT // ================= $.fn.alert.noConflict = function () { $.fn.alert = old return this } // ALERT DATA-API // ============== $(document).on('click.bs.alert.data-api', dismiss, Alert.prototype.close) }(jQuery); /* ======================================================================== * Bootstrap: button.js v3.3.5 * http://getbootstrap.com/javascript/#buttons * ======================================================================== * Copyright 2011-2015 Twitter, Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * ======================================================================== */ +function ($) { 'use strict'; // BUTTON PUBLIC CLASS DEFINITION // ============================== var Button = function (element, options) { this.$element = $(element) this.options = $.extend({}, Button.DEFAULTS, options) this.isLoading = false } Button.VERSION = '3.3.5' Button.DEFAULTS = { loadingText: 'loading...' } Button.prototype.setState = function (state) { var d = 'disabled' var $el = this.$element var val = $el.is('input') ? 'val' : 'html' var data = $el.data() state += 'Text' if (data.resetText == null) $el.data('resetText', $el[val]()) // push to event loop to allow forms to submit setTimeout($.proxy(function () { $el[val](data[state] == null ? this.options[state] : data[state]) if (state == 'loadingText') { this.isLoading = true $el.addClass(d).attr(d, d) } else if (this.isLoading) { this.isLoading = false $el.removeClass(d).removeAttr(d) } }, this), 0) } Button.prototype.toggle = function () { var changed = true var $parent = this.$element.closest('[data-toggle="buttons"]') if ($parent.length) { var $input = this.$element.find('input') if ($input.prop('type') == 'radio') { if ($input.prop('checked')) changed = false $parent.find('.active').removeClass('active') this.$element.addClass('active') } else if ($input.prop('type') == 'checkbox') { if (($input.prop('checked')) !== this.$element.hasClass('active')) changed = false this.$element.toggleClass('active') } $input.prop('checked', this.$element.hasClass('active')) if (changed) $input.trigger('change') } else { this.$element.attr('aria-pressed', !this.$element.hasClass('active')) this.$element.toggleClass('active') } } // BUTTON PLUGIN DEFINITION // ======================== function Plugin(option) { return this.each(function () { var $this = $(this) var data = $this.data('bs.button') var options = typeof option == 'object' && option if (!data) $this.data('bs.button', (data = new Button(this, options))) if (option == 'toggle') data.toggle() else if (option) data.setState(option) }) } var old = $.fn.button $.fn.button = Plugin $.fn.button.Constructor = Button // BUTTON NO CONFLICT // ================== $.fn.button.noConflict = function () { $.fn.button = old return this } // BUTTON DATA-API // =============== $(document) .on('click.bs.button.data-api', '[data-toggle^="button"]', function (e) { var $btn = $(e.target) if (!$btn.hasClass('btn')) $btn = $btn.closest('.btn') Plugin.call($btn, 'toggle') if (!($(e.target).is('input[type="radio"]') || $(e.target).is('input[type="checkbox"]'))) e.preventDefault() }) .on('focus.bs.button.data-api blur.bs.button.data-api', '[data-toggle^="button"]', function (e) { $(e.target).closest('.btn').toggleClass('focus', /^focus(in)?$/.test(e.type)) }) }(jQuery); /* ======================================================================== * Bootstrap: carousel.js v3.3.5 * http://getbootstrap.com/javascript/#carousel * ======================================================================== * Copyright 2011-2015 Twitter, Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * ======================================================================== */ +function ($) { 'use strict'; // CAROUSEL CLASS DEFINITION // ========================= var Carousel = function (element, options) { this.$element = $(element) this.$indicators = this.$element.find('.carousel-indicators') this.options = options this.paused = null this.sliding = null this.interval = null this.$active = null this.$items = null this.options.keyboard && this.$element.on('keydown.bs.carousel', $.proxy(this.keydown, this)) this.options.pause == 'hover' && !('ontouchstart' in document.documentElement) && this.$element .on('mouseenter.bs.carousel', $.proxy(this.pause, this)) .on('mouseleave.bs.carousel', $.proxy(this.cycle, this)) } Carousel.VERSION = '3.3.5' Carousel.TRANSITION_DURATION = 600 Carousel.DEFAULTS = { interval: 5000, pause: 'hover', wrap: true, keyboard: true } Carousel.prototype.keydown = function (e) { if (/input|textarea/i.test(e.target.tagName)) return switch (e.which) { case 37: this.prev(); break case 39: this.next(); break default: return } e.preventDefault() } Carousel.prototype.cycle = function (e) { e || (this.paused = false) this.interval && clearInterval(this.interval) this.options.interval && !this.paused && (this.interval = setInterval($.proxy(this.next, this), this.options.interval)) return this } Carousel.prototype.getItemIndex = function (item) { this.$items = item.parent().children('.item') return this.$items.index(item || this.$active) } Carousel.prototype.getItemForDirection = function (direction, active) { var activeIndex = this.getItemIndex(active) var willWrap = (direction == 'prev' && activeIndex === 0) || (direction == 'next' && activeIndex == (this.$items.length - 1)) if (willWrap && !this.options.wrap) return active var delta = direction == 'prev' ? -1 : 1 var itemIndex = (activeIndex + delta) % this.$items.length return this.$items.eq(itemIndex) } Carousel.prototype.to = function (pos) { var that = this var activeIndex = this.getItemIndex(this.$active = this.$element.find('.item.active')) if (pos > (this.$items.length - 1) || pos < 0) return if (this.sliding) return this.$element.one('slid.bs.carousel', function () { that.to(pos) }) // yes, "slid" if (activeIndex == pos) return this.pause().cycle() return this.slide(pos > activeIndex ? 'next' : 'prev', this.$items.eq(pos)) } Carousel.prototype.pause = function (e) { e || (this.paused = true) if (this.$element.find('.next, .prev').length && $.support.transition) { this.$element.trigger($.support.transition.end) this.cycle(true) } this.interval = clearInterval(this.interval) return this } Carousel.prototype.next = function () { if (this.sliding) return return this.slide('next') } Carousel.prototype.prev = function () { if (this.sliding) return return this.slide('prev') } Carousel.prototype.slide = function (type, next) { var $active = this.$element.find('.item.active') var $next = next || this.getItemForDirection(type, $active) var isCycling = this.interval var direction = type == 'next' ? 'left' : 'right' var that = this if ($next.hasClass('active')) return (this.sliding = false) var relatedTarget = $next[0] var slideEvent = $.Event('slide.bs.carousel', { relatedTarget: relatedTarget, direction: direction }) this.$element.trigger(slideEvent) if (slideEvent.isDefaultPrevented()) return this.sliding = true isCycling && this.pause() if (this.$indicators.length) { this.$indicators.find('.active').removeClass('active') var $nextIndicator = $(this.$indicators.children()[this.getItemIndex($next)]) $nextIndicator && $nextIndicator.addClass('active') } var slidEvent = $.Event('slid.bs.carousel', { relatedTarget: relatedTarget, direction: direction }) // yes, "slid" if ($.support.transition && this.$element.hasClass('slide')) { $next.addClass(type) $next[0].offsetWidth // force reflow $active.addClass(direction) $next.addClass(direction) $active .one('bsTransitionEnd', function () { $next.removeClass([type, direction].join(' ')).addClass('active') $active.removeClass(['active', direction].join(' ')) that.sliding = false setTimeout(function () { that.$element.trigger(slidEvent) }, 0) }) .emulateTransitionEnd(Carousel.TRANSITION_DURATION) } else { $active.removeClass('active') $next.addClass('active') this.sliding = false this.$element.trigger(slidEvent) } isCycling && this.cycle() return this } // CAROUSEL PLUGIN DEFINITION // ========================== function Plugin(option) { return this.each(function () { var $this = $(this) var data = $this.data('bs.carousel') var options = $.extend({}, Carousel.DEFAULTS, $this.data(), typeof option == 'object' && option) var action = typeof option == 'string' ? option : options.slide if (!data) $this.data('bs.carousel', (data = new Carousel(this, options))) if (typeof option == 'number') data.to(option) else if (action) data[action]() else if (options.interval) data.pause().cycle() }) } var old = $.fn.carousel $.fn.carousel = Plugin $.fn.carousel.Constructor = Carousel // CAROUSEL NO CONFLICT // ==================== $.fn.carousel.noConflict = function () { $.fn.carousel = old return this } // CAROUSEL DATA-API // ================= var clickHandler = function (e) { var href var $this = $(this) var $target = $($this.attr('data-target') || (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '')) // strip for ie7 if (!$target.hasClass('carousel')) return var options = $.extend({}, $target.data(), $this.data()) var slideIndex = $this.attr('data-slide-to') if (slideIndex) options.interval = false Plugin.call($target, options) if (slideIndex) { $target.data('bs.carousel').to(slideIndex) } e.preventDefault() } $(document) .on('click.bs.carousel.data-api', '[data-slide]', clickHandler) .on('click.bs.carousel.data-api', '[data-slide-to]', clickHandler) $(window).on('load', function () { $('[data-ride="carousel"]').each(function () { var $carousel = $(this) Plugin.call($carousel, $carousel.data()) }) }) }(jQuery); /* ======================================================================== * Bootstrap: collapse.js v3.3.5 * http://getbootstrap.com/javascript/#collapse * ======================================================================== * Copyright 2011-2015 Twitter, Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * ======================================================================== */ +function ($) { 'use strict'; // COLLAPSE PUBLIC CLASS DEFINITION // ================================ var Collapse = function (element, options) { this.$element = $(element) this.options = $.extend({}, Collapse.DEFAULTS, options) this.$trigger = $('[data-toggle="collapse"][href="#' + element.id + '"],' + '[data-toggle="collapse"][data-target="#' + element.id + '"]') this.transitioning = null if (this.options.parent) { this.$parent = this.getParent() } else { this.addAriaAndCollapsedClass(this.$element, this.$trigger) } if (this.options.toggle) this.toggle() } Collapse.VERSION = '3.3.5' Collapse.TRANSITION_DURATION = 350 Collapse.DEFAULTS = { toggle: true } Collapse.prototype.dimension = function () { var hasWidth = this.$element.hasClass('width') return hasWidth ? 'width' : 'height' } Collapse.prototype.show = function () { if (this.transitioning || this.$element.hasClass('in')) return var activesData var actives = this.$parent && this.$parent.children('.panel').children('.in, .collapsing') if (actives && actives.length) { activesData = actives.data('bs.collapse') if (activesData && activesData.transitioning) return } var startEvent = $.Event('show.bs.collapse') this.$element.trigger(startEvent) if (startEvent.isDefaultPrevented()) return if (actives && actives.length) { Plugin.call(actives, 'hide') activesData || actives.data('bs.collapse', null) } var dimension = this.dimension() this.$element .removeClass('collapse') .addClass('collapsing')[dimension](0) .attr('aria-expanded', true) this.$trigger .removeClass('collapsed') .attr('aria-expanded', true) this.transitioning = 1 var complete = function () { this.$element .removeClass('collapsing') .addClass('collapse in')[dimension]('') this.transitioning = 0 this.$element .trigger('shown.bs.collapse') } if (!$.support.transition) return complete.call(this) var scrollSize = $.camelCase(['scroll', dimension].join('-')) this.$element .one('bsTransitionEnd', $.proxy(complete, this)) .emulateTransitionEnd(Collapse.TRANSITION_DURATION)[dimension](this.$element[0][scrollSize]) } Collapse.prototype.hide = function () { if (this.transitioning || !this.$element.hasClass('in')) return var startEvent = $.Event('hide.bs.collapse') this.$element.trigger(startEvent) if (startEvent.isDefaultPrevented()) return var dimension = this.dimension() this.$element[dimension](this.$element[dimension]())[0].offsetHeight this.$element .addClass('collapsing') .removeClass('collapse in') .attr('aria-expanded', false) this.$trigger .addClass('collapsed') .attr('aria-expanded', false) this.transitioning = 1 var complete = function () { this.transitioning = 0 this.$element .removeClass('collapsing') .addClass('collapse') .trigger('hidden.bs.collapse') } if (!$.support.transition) return complete.call(this) this.$element [dimension](0) .one('bsTransitionEnd', $.proxy(complete, this)) .emulateTransitionEnd(Collapse.TRANSITION_DURATION) } Collapse.prototype.toggle = function () { this[this.$element.hasClass('in') ? 'hide' : 'show']() } Collapse.prototype.getParent = function () { return $(this.options.parent) .find('[data-toggle="collapse"][data-parent="' + this.options.parent + '"]') .each($.proxy(function (i, element) { var $element = $(element) this.addAriaAndCollapsedClass(getTargetFromTrigger($element), $element) }, this)) .end() } Collapse.prototype.addAriaAndCollapsedClass = function ($element, $trigger) { var isOpen = $element.hasClass('in') $element.attr('aria-expanded', isOpen) $trigger .toggleClass('collapsed', !isOpen) .attr('aria-expanded', isOpen) } function getTargetFromTrigger($trigger) { var href var target = $trigger.attr('data-target') || (href = $trigger.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '') // strip for ie7 return $(target) } // COLLAPSE PLUGIN DEFINITION // ========================== function Plugin(option) { return this.each(function () { var $this = $(this) var data = $this.data('bs.collapse') var options = $.extend({}, Collapse.DEFAULTS, $this.data(), typeof option == 'object' && option) if (!data && options.toggle && /show|hide/.test(option)) options.toggle = false if (!data) $this.data('bs.collapse', (data = new Collapse(this, options))) if (typeof option == 'string') data[option]() }) } var old = $.fn.collapse $.fn.collapse = Plugin $.fn.collapse.Constructor = Collapse // COLLAPSE NO CONFLICT // ==================== $.fn.collapse.noConflict = function () { $.fn.collapse = old return this } // COLLAPSE DATA-API // ================= $(document).on('click.bs.collapse.data-api', '[data-toggle="collapse"]', function (e) { var $this = $(this) if (!$this.attr('data-target')) e.preventDefault() var $target = getTargetFromTrigger($this) var data = $target.data('bs.collapse') var option = data ? 'toggle' : $this.data() Plugin.call($target, option) }) }(jQuery); /* ======================================================================== * Bootstrap: dropdown.js v3.3.5 * http://getbootstrap.com/javascript/#dropdowns * ======================================================================== * Copyright 2011-2015 Twitter, Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * ======================================================================== */ +function ($) { 'use strict'; // DROPDOWN CLASS DEFINITION // ========================= var backdrop = '.dropdown-backdrop' var toggle = '[data-toggle="dropdown"]' var Dropdown = function (element) { $(element).on('click.bs.dropdown', this.toggle) } Dropdown.VERSION = '3.3.5' function getParent($this) { var selector = $this.attr('data-target') if (!selector) { selector = $this.attr('href') selector = selector && /#[A-Za-z]/.test(selector) && selector.replace(/.*(?=#[^\s]*$)/, '') // strip for ie7 } var $parent = selector && $(selector) return $parent && $parent.length ? $parent : $this.parent() } function clearMenus(e) { if (e && e.which === 3) return $(backdrop).remove() $(toggle).each(function () { var $this = $(this) var $parent = getParent($this) var relatedTarget = { relatedTarget: this } if (!$parent.hasClass('open')) return if (e && e.type == 'click' && /input|textarea/i.test(e.target.tagName) && $.contains($parent[0], e.target)) return $parent.trigger(e = $.Event('hide.bs.dropdown', relatedTarget)) if (e.isDefaultPrevented()) return $this.attr('aria-expanded', 'false') $parent.removeClass('open').trigger('hidden.bs.dropdown', relatedTarget) }) } Dropdown.prototype.toggle = function (e) { var $this = $(this) if ($this.is('.disabled, :disabled')) return var $parent = getParent($this) var isActive = $parent.hasClass('open') clearMenus() if (!isActive) { if ('ontouchstart' in document.documentElement && !$parent.closest('.navbar-nav').length) { // if mobile we use a backdrop because click events don't delegate $(document.createElement('div')) .addClass('dropdown-backdrop') .insertAfter($(this)) .on('click', clearMenus) } var relatedTarget = { relatedTarget: this } $parent.trigger(e = $.Event('show.bs.dropdown', relatedTarget)) if (e.isDefaultPrevented()) return $this .trigger('focus') .attr('aria-expanded', 'true') $parent .toggleClass('open') .trigger('shown.bs.dropdown', relatedTarget) } return false } Dropdown.prototype.keydown = function (e) { if (!/(38|40|27|32)/.test(e.which) || /input|textarea/i.test(e.target.tagName)) return var $this = $(this) e.preventDefault() e.stopPropagation() if ($this.is('.disabled, :disabled')) return var $parent = getParent($this) var isActive = $parent.hasClass('open') if (!isActive && e.which != 27 || isActive && e.which == 27) { if (e.which == 27) $parent.find(toggle).trigger('focus') return $this.trigger('click') } var desc = ' li:not(.disabled):visible a' var $items = $parent.find('.dropdown-menu' + desc) if (!$items.length) return var index = $items.index(e.target) if (e.which == 38 && index > 0) index-- // up if (e.which == 40 && index < $items.length - 1) index++ // down if (!~index) index = 0 $items.eq(index).trigger('focus') } // DROPDOWN PLUGIN DEFINITION // ========================== function Plugin(option) { return this.each(function () { var $this = $(this) var data = $this.data('bs.dropdown') if (!data) $this.data('bs.dropdown', (data = new Dropdown(this))) if (typeof option == 'string') data[option].call($this) }) } var old = $.fn.dropdown $.fn.dropdown = Plugin $.fn.dropdown.Constructor = Dropdown // DROPDOWN NO CONFLICT // ==================== $.fn.dropdown.noConflict = function () { $.fn.dropdown = old return this } // APPLY TO STANDARD DROPDOWN ELEMENTS // =================================== $(document) .on('click.bs.dropdown.data-api', clearMenus) .on('click.bs.dropdown.data-api', '.dropdown form', function (e) { e.stopPropagation() }) .on('click.bs.dropdown.data-api', toggle, Dropdown.prototype.toggle) .on('keydown.bs.dropdown.data-api', toggle, Dropdown.prototype.keydown) .on('keydown.bs.dropdown.data-api', '.dropdown-menu', Dropdown.prototype.keydown) }(jQuery); /* ======================================================================== * Bootstrap: modal.js v3.3.5 * http://getbootstrap.com/javascript/#modals * ======================================================================== * Copyright 2011-2015 Twitter, Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * ======================================================================== */ +function ($) { 'use strict'; // MODAL CLASS DEFINITION // ====================== var Modal = function (element, options) { this.options = options this.$body = $(document.body) this.$element = $(element) this.$dialog = this.$element.find('.modal-dialog') this.$backdrop = null this.isShown = null this.originalBodyPad = null this.scrollbarWidth = 0 this.ignoreBackdropClick = false if (this.options.remote) { this.$element .find('.modal-content') .load(this.options.remote, $.proxy(function () { this.$element.trigger('loaded.bs.modal') }, this)) } } Modal.VERSION = '3.3.5' Modal.TRANSITION_DURATION = 300 Modal.BACKDROP_TRANSITION_DURATION = 150 Modal.DEFAULTS = { backdrop: true, keyboard: true, show: true } Modal.prototype.toggle = function (_relatedTarget) { return this.isShown ? this.hide() : this.show(_relatedTarget) } Modal.prototype.show = function (_relatedTarget) { var that = this var e = $.Event('show.bs.modal', { relatedTarget: _relatedTarget }) this.$element.trigger(e) if (this.isShown || e.isDefaultPrevented()) return this.isShown = true this.checkScrollbar() this.setScrollbar() this.$body.addClass('modal-open') this.escape() this.resize() this.$element.on('click.dismiss.bs.modal', '[data-dismiss="modal"]', $.proxy(this.hide, this)) this.$dialog.on('mousedown.dismiss.bs.modal', function () { that.$element.one('mouseup.dismiss.bs.modal', function (e) { if ($(e.target).is(that.$element)) that.ignoreBackdropClick = true }) }) this.backdrop(function () { var transition = $.support.transition && that.$element.hasClass('fade') if (!that.$element.parent().length) { that.$element.appendTo(that.$body) // don't move modals dom position } that.$element .show() .scrollTop(0) that.adjustDialog() if (transition) { that.$element[0].offsetWidth // force reflow } that.$element.addClass('in') that.enforceFocus() var e = $.Event('shown.bs.modal', { relatedTarget: _relatedTarget }) transition ? that.$dialog // wait for modal to slide in .one('bsTransitionEnd', function () { that.$element.trigger('focus').trigger(e) }) .emulateTransitionEnd(Modal.TRANSITION_DURATION) : that.$element.trigger('focus').trigger(e) }) } Modal.prototype.hide = function (e) { if (e) e.preventDefault() e = $.Event('hide.bs.modal') this.$element.trigger(e) if (!this.isShown || e.isDefaultPrevented()) return this.isShown = false this.escape() this.resize() $(document).off('focusin.bs.modal') this.$element .removeClass('in') .off('click.dismiss.bs.modal') .off('mouseup.dismiss.bs.modal') this.$dialog.off('mousedown.dismiss.bs.modal') $.support.transition && this.$element.hasClass('fade') ? this.$element .one('bsTransitionEnd', $.proxy(this.hideModal, this)) .emulateTransitionEnd(Modal.TRANSITION_DURATION) : this.hideModal() } Modal.prototype.enforceFocus = function () { $(document) .off('focusin.bs.modal') // guard against infinite focus loop .on('focusin.bs.modal', $.proxy(function (e) { if (this.$element[0] !== e.target && !this.$element.has(e.target).length) { this.$element.trigger('focus') } }, this)) } Modal.prototype.escape = function () { if (this.isShown && this.options.keyboard) { this.$element.on('keydown.dismiss.bs.modal', $.proxy(function (e) { e.which == 27 && this.hide() }, this)) } else if (!this.isShown) { this.$element.off('keydown.dismiss.bs.modal') } } Modal.prototype.resize = function () { if (this.isShown) { $(window).on('resize.bs.modal', $.proxy(this.handleUpdate, this)) } else { $(window).off('resize.bs.modal') } } Modal.prototype.hideModal = function () { var that = this this.$element.hide() this.backdrop(function () { that.$body.removeClass('modal-open') that.resetAdjustments() that.resetScrollbar() that.$element.trigger('hidden.bs.modal') }) } Modal.prototype.removeBackdrop = function () { this.$backdrop && this.$backdrop.remove() this.$backdrop = null } Modal.prototype.backdrop = function (callback) { var that = this var animate = this.$element.hasClass('fade') ? 'fade' : '' if (this.isShown && this.options.backdrop) { var doAnimate = $.support.transition && animate this.$backdrop = $(document.createElement('div')) .addClass('modal-backdrop ' + animate) .appendTo(this.$body) this.$element.on('click.dismiss.bs.modal', $.proxy(function (e) { if (this.ignoreBackdropClick) { this.ignoreBackdropClick = false return } if (e.target !== e.currentTarget) return this.options.backdrop == 'static' ? this.$element[0].focus() : this.hide() }, this)) if (doAnimate) this.$backdrop[0].offsetWidth // force reflow this.$backdrop.addClass('in') if (!callback) return doAnimate ? this.$backdrop .one('bsTransitionEnd', callback) .emulateTransitionEnd(Modal.BACKDROP_TRANSITION_DURATION) : callback() } else if (!this.isShown && this.$backdrop) { this.$backdrop.removeClass('in') var callbackRemove = function () { that.removeBackdrop() callback && callback() } $.support.transition && this.$element.hasClass('fade') ? this.$backdrop .one('bsTransitionEnd', callbackRemove) .emulateTransitionEnd(Modal.BACKDROP_TRANSITION_DURATION) : callbackRemove() } else if (callback) { callback() } } // these following methods are used to handle overflowing modals Modal.prototype.handleUpdate = function () { this.adjustDialog() } Modal.prototype.adjustDialog = function () { var modalIsOverflowing = this.$element[0].scrollHeight > document.documentElement.clientHeight this.$element.css({ paddingLeft: !this.bodyIsOverflowing && modalIsOverflowing ? this.scrollbarWidth : '', paddingRight: this.bodyIsOverflowing && !modalIsOverflowing ? this.scrollbarWidth : '' }) } Modal.prototype.resetAdjustments = function () { this.$element.css({ paddingLeft: '', paddingRight: '' }) } Modal.prototype.checkScrollbar = function () { var fullWindowWidth = window.innerWidth if (!fullWindowWidth) { // workaround for missing window.innerWidth in IE8 var documentElementRect = document.documentElement.getBoundingClientRect() fullWindowWidth = documentElementRect.right - Math.abs(documentElementRect.left) } this.bodyIsOverflowing = document.body.clientWidth < fullWindowWidth this.scrollbarWidth = this.measureScrollbar() } Modal.prototype.setScrollbar = function () { var bodyPad = parseInt((this.$body.css('padding-right') || 0), 10) this.originalBodyPad = document.body.style.paddingRight || '' if (this.bodyIsOverflowing) this.$body.css('padding-right', bodyPad + this.scrollbarWidth) } Modal.prototype.resetScrollbar = function () { this.$body.css('padding-right', this.originalBodyPad) } Modal.prototype.measureScrollbar = function () { // thx walsh var scrollDiv = document.createElement('div') scrollDiv.className = 'modal-scrollbar-measure' this.$body.append(scrollDiv) var scrollbarWidth = scrollDiv.offsetWidth - scrollDiv.clientWidth this.$body[0].removeChild(scrollDiv) return scrollbarWidth } // MODAL PLUGIN DEFINITION // ======================= function Plugin(option, _relatedTarget) { return this.each(function () { var $this = $(this) var data = $this.data('bs.modal') var options = $.extend({}, Modal.DEFAULTS, $this.data(), typeof option == 'object' && option) if (!data) $this.data('bs.modal', (data = new Modal(this, options))) if (typeof option == 'string') data[option](_relatedTarget) else if (options.show) data.show(_relatedTarget) }) } var old = $.fn.modal $.fn.modal = Plugin $.fn.modal.Constructor = Modal // MODAL NO CONFLICT // ================= $.fn.modal.noConflict = function () { $.fn.modal = old return this } // MODAL DATA-API // ============== $(document).on('click.bs.modal.data-api', '[data-toggle="modal"]', function (e) { var $this = $(this) var href = $this.attr('href') var $target = $($this.attr('data-target') || (href && href.replace(/.*(?=#[^\s]+$)/, ''))) // strip for ie7 var option = $target.data('bs.modal') ? 'toggle' : $.extend({ remote: !/#/.test(href) && href }, $target.data(), $this.data()) if ($this.is('a')) e.preventDefault() $target.one('show.bs.modal', function (showEvent) { if (showEvent.isDefaultPrevented()) return // only register focus restorer if modal will actually get shown $target.one('hidden.bs.modal', function () { $this.is(':visible') && $this.trigger('focus') }) }) Plugin.call($target, option, this) }) }(jQuery); /* ======================================================================== * Bootstrap: tooltip.js v3.3.5 * http://getbootstrap.com/javascript/#tooltip * Inspired by the original jQuery.tipsy by Jason Frame * ======================================================================== * Copyright 2011-2015 Twitter, Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * ======================================================================== */ +function ($) { 'use strict'; // TOOLTIP PUBLIC CLASS DEFINITION // =============================== var Tooltip = function (element, options) { this.type = null this.options = null this.enabled = null this.timeout = null this.hoverState = null this.$element = null this.inState = null this.init('tooltip', element, options) } Tooltip.VERSION = '3.3.5' Tooltip.TRANSITION_DURATION = 150 Tooltip.DEFAULTS = { animation: true, placement: 'top', selector: false, template: '', trigger: 'hover focus', title: '', delay: 0, html: false, container: false, viewport: { selector: 'body', padding: 0 } } Tooltip.prototype.init = function (type, element, options) { this.enabled = true this.type = type this.$element = $(element) this.options = this.getOptions(options) this.$viewport = this.options.viewport && $($.isFunction(this.options.viewport) ? this.options.viewport.call(this, this.$element) : (this.options.viewport.selector || this.options.viewport)) this.inState = { click: false, hover: false, focus: false } if (this.$element[0] instanceof document.constructor && !this.options.selector) { throw new Error('`selector` option must be specified when initializing ' + this.type + ' on the window.document object!') } var triggers = this.options.trigger.split(' ') for (var i = triggers.length; i--;) { var trigger = triggers[i] if (trigger == 'click') { this.$element.on('click.' + this.type, this.options.selector, $.proxy(this.toggle, this)) } else if (trigger != 'manual') { var eventIn = trigger == 'hover' ? 'mouseenter' : 'focusin' var eventOut = trigger == 'hover' ? 'mouseleave' : 'focusout' this.$element.on(eventIn + '.' + this.type, this.options.selector, $.proxy(this.enter, this)) this.$element.on(eventOut + '.' + this.type, this.options.selector, $.proxy(this.leave, this)) } } this.options.selector ? (this._options = $.extend({}, this.options, { trigger: 'manual', selector: '' })) : this.fixTitle() } Tooltip.prototype.getDefaults = function () { return Tooltip.DEFAULTS } Tooltip.prototype.getOptions = function (options) { options = $.extend({}, this.getDefaults(), this.$element.data(), options) if (options.delay && typeof options.delay == 'number') { options.delay = { show: options.delay, hide: options.delay } } return options } Tooltip.prototype.getDelegateOptions = function () { var options = {} var defaults = this.getDefaults() this._options && $.each(this._options, function (key, value) { if (defaults[key] != value) options[key] = value }) return options } Tooltip.prototype.enter = function (obj) { var self = obj instanceof this.constructor ? obj : $(obj.currentTarget).data('bs.' + this.type) if (!self) { self = new this.constructor(obj.currentTarget, this.getDelegateOptions()) $(obj.currentTarget).data('bs.' + this.type, self) } if (obj instanceof $.Event) { self.inState[obj.type == 'focusin' ? 'focus' : 'hover'] = true } if (self.tip().hasClass('in') || self.hoverState == 'in') { self.hoverState = 'in' return } clearTimeout(self.timeout) self.hoverState = 'in' if (!self.options.delay || !self.options.delay.show) return self.show() self.timeout = setTimeout(function () { if (self.hoverState == 'in') self.show() }, self.options.delay.show) } Tooltip.prototype.isInStateTrue = function () { for (var key in this.inState) { if (this.inState[key]) return true } return false } Tooltip.prototype.leave = function (obj) { var self = obj instanceof this.constructor ? obj : $(obj.currentTarget).data('bs.' + this.type) if (!self) { self = new this.constructor(obj.currentTarget, this.getDelegateOptions()) $(obj.currentTarget).data('bs.' + this.type, self) } if (obj instanceof $.Event) { self.inState[obj.type == 'focusout' ? 'focus' : 'hover'] = false } if (self.isInStateTrue()) return clearTimeout(self.timeout) self.hoverState = 'out' if (!self.options.delay || !self.options.delay.hide) return self.hide() self.timeout = setTimeout(function () { if (self.hoverState == 'out') self.hide() }, self.options.delay.hide) } Tooltip.prototype.show = function () { var e = $.Event('show.bs.' + this.type) if (this.hasContent() && this.enabled) { this.$element.trigger(e) var inDom = $.contains(this.$element[0].ownerDocument.documentElement, this.$element[0]) if (e.isDefaultPrevented() || !inDom) return var that = this var $tip = this.tip() var tipId = this.getUID(this.type) this.setContent() $tip.attr('id', tipId) this.$element.attr('aria-describedby', tipId) if (this.options.animation) $tip.addClass('fade') var placement = typeof this.options.placement == 'function' ? this.options.placement.call(this, $tip[0], this.$element[0]) : this.options.placement var autoToken = /\s?auto?\s?/i var autoPlace = autoToken.test(placement) if (autoPlace) placement = placement.replace(autoToken, '') || 'top' $tip .detach() .css({ top: 0, left: 0, display: 'block' }) .addClass(placement) .data('bs.' + this.type, this) this.options.container ? $tip.appendTo(this.options.container) : $tip.insertAfter(this.$element) this.$element.trigger('inserted.bs.' + this.type) var pos = this.getPosition() var actualWidth = $tip[0].offsetWidth var actualHeight = $tip[0].offsetHeight if (autoPlace) { var orgPlacement = placement var viewportDim = this.getPosition(this.$viewport) placement = placement == 'bottom' && pos.bottom + actualHeight > viewportDim.bottom ? 'top' : placement == 'top' && pos.top - actualHeight < viewportDim.top ? 'bottom' : placement == 'right' && pos.right + actualWidth > viewportDim.width ? 'left' : placement == 'left' && pos.left - actualWidth < viewportDim.left ? 'right' : placement $tip .removeClass(orgPlacement) .addClass(placement) } var calculatedOffset = this.getCalculatedOffset(placement, pos, actualWidth, actualHeight) this.applyPlacement(calculatedOffset, placement) var complete = function () { var prevHoverState = that.hoverState that.$element.trigger('shown.bs.' + that.type) that.hoverState = null if (prevHoverState == 'out') that.leave(that) } $.support.transition && this.$tip.hasClass('fade') ? $tip .one('bsTransitionEnd', complete) .emulateTransitionEnd(Tooltip.TRANSITION_DURATION) : complete() } } Tooltip.prototype.applyPlacement = function (offset, placement) { var $tip = this.tip() var width = $tip[0].offsetWidth var height = $tip[0].offsetHeight // manually read margins because getBoundingClientRect includes difference var marginTop = parseInt($tip.css('margin-top'), 10) var marginLeft = parseInt($tip.css('margin-left'), 10) // we must check for NaN for ie 8/9 if (isNaN(marginTop)) marginTop = 0 if (isNaN(marginLeft)) marginLeft = 0 offset.top += marginTop offset.left += marginLeft // $.fn.offset doesn't round pixel values // so we use setOffset directly with our own function B-0 $.offset.setOffset($tip[0], $.extend({ using: function (props) { $tip.css({ top: Math.round(props.top), left: Math.round(props.left) }) } }, offset), 0) $tip.addClass('in') // check to see if placing tip in new offset caused the tip to resize itself var actualWidth = $tip[0].offsetWidth var actualHeight = $tip[0].offsetHeight if (placement == 'top' && actualHeight != height) { offset.top = offset.top + height - actualHeight } var delta = this.getViewportAdjustedDelta(placement, offset, actualWidth, actualHeight) if (delta.left) offset.left += delta.left else offset.top += delta.top var isVertical = /top|bottom/.test(placement) var arrowDelta = isVertical ? delta.left * 2 - width + actualWidth : delta.top * 2 - height + actualHeight var arrowOffsetPosition = isVertical ? 'offsetWidth' : 'offsetHeight' $tip.offset(offset) this.replaceArrow(arrowDelta, $tip[0][arrowOffsetPosition], isVertical) } Tooltip.prototype.replaceArrow = function (delta, dimension, isVertical) { this.arrow() .css(isVertical ? 'left' : 'top', 50 * (1 - delta / dimension) + '%') .css(isVertical ? 'top' : 'left', '') } Tooltip.prototype.setContent = function () { var $tip = this.tip() var title = this.getTitle() $tip.find('.tooltip-inner')[this.options.html ? 'html' : 'text'](title) $tip.removeClass('fade in top bottom left right') } Tooltip.prototype.hide = function (callback) { var that = this var $tip = $(this.$tip) var e = $.Event('hide.bs.' + this.type) function complete() { if (that.hoverState != 'in') $tip.detach() that.$element .removeAttr('aria-describedby') .trigger('hidden.bs.' + that.type) callback && callback() } this.$element.trigger(e) if (e.isDefaultPrevented()) return $tip.removeClass('in') $.support.transition && $tip.hasClass('fade') ? $tip .one('bsTransitionEnd', complete) .emulateTransitionEnd(Tooltip.TRANSITION_DURATION) : complete() this.hoverState = null return this } Tooltip.prototype.fixTitle = function () { var $e = this.$element if ($e.attr('title') || typeof $e.attr('data-original-title') != 'string') { $e.attr('data-original-title', $e.attr('title') || '').attr('title', '') } } Tooltip.prototype.hasContent = function () { return this.getTitle() } Tooltip.prototype.getPosition = function ($element) { $element = $element || this.$element var el = $element[0] var isBody = el.tagName == 'BODY' var elRect = el.getBoundingClientRect() if (elRect.width == null) { // width and height are missing in IE8, so compute them manually; see https://github.com/twbs/bootstrap/issues/14093 elRect = $.extend({}, elRect, { width: elRect.right - elRect.left, height: elRect.bottom - elRect.top }) } var elOffset = isBody ? { top: 0, left: 0 } : $element.offset() var scroll = { scroll: isBody ? document.documentElement.scrollTop || document.body.scrollTop : $element.scrollTop() } var outerDims = isBody ? { width: $(window).width(), height: $(window).height() } : null return $.extend({}, elRect, scroll, outerDims, elOffset) } Tooltip.prototype.getCalculatedOffset = function (placement, pos, actualWidth, actualHeight) { return placement == 'bottom' ? { top: pos.top + pos.height, left: pos.left + pos.width / 2 - actualWidth / 2 } : placement == 'top' ? { top: pos.top - actualHeight, left: pos.left + pos.width / 2 - actualWidth / 2 } : placement == 'left' ? { top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left - actualWidth } : /* placement == 'right' */ { top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left + pos.width } } Tooltip.prototype.getViewportAdjustedDelta = function (placement, pos, actualWidth, actualHeight) { var delta = { top: 0, left: 0 } if (!this.$viewport) return delta var viewportPadding = this.options.viewport && this.options.viewport.padding || 0 var viewportDimensions = this.getPosition(this.$viewport) if (/right|left/.test(placement)) { var topEdgeOffset = pos.top - viewportPadding - viewportDimensions.scroll var bottomEdgeOffset = pos.top + viewportPadding - viewportDimensions.scroll + actualHeight if (topEdgeOffset < viewportDimensions.top) { // top overflow delta.top = viewportDimensions.top - topEdgeOffset } else if (bottomEdgeOffset > viewportDimensions.top + viewportDimensions.height) { // bottom overflow delta.top = viewportDimensions.top + viewportDimensions.height - bottomEdgeOffset } } else { var leftEdgeOffset = pos.left - viewportPadding var rightEdgeOffset = pos.left + viewportPadding + actualWidth if (leftEdgeOffset < viewportDimensions.left) { // left overflow delta.left = viewportDimensions.left - leftEdgeOffset } else if (rightEdgeOffset > viewportDimensions.right) { // right overflow delta.left = viewportDimensions.left + viewportDimensions.width - rightEdgeOffset } } return delta } Tooltip.prototype.getTitle = function () { var title var $e = this.$element var o = this.options title = $e.attr('data-original-title') || (typeof o.title == 'function' ? o.title.call($e[0]) : o.title) return title } Tooltip.prototype.getUID = function (prefix) { do prefix += ~~(Math.random() * 1000000) while (document.getElementById(prefix)) return prefix } Tooltip.prototype.tip = function () { if (!this.$tip) { this.$tip = $(this.options.template) if (this.$tip.length != 1) { throw new Error(this.type + ' `template` option must consist of exactly 1 top-level element!') } } return this.$tip } Tooltip.prototype.arrow = function () { return (this.$arrow = this.$arrow || this.tip().find('.tooltip-arrow')) } Tooltip.prototype.enable = function () { this.enabled = true } Tooltip.prototype.disable = function () { this.enabled = false } Tooltip.prototype.toggleEnabled = function () { this.enabled = !this.enabled } Tooltip.prototype.toggle = function (e) { var self = this if (e) { self = $(e.currentTarget).data('bs.' + this.type) if (!self) { self = new this.constructor(e.currentTarget, this.getDelegateOptions()) $(e.currentTarget).data('bs.' + this.type, self) } } if (e) { self.inState.click = !self.inState.click if (self.isInStateTrue()) self.enter(self) else self.leave(self) } else { self.tip().hasClass('in') ? self.leave(self) : self.enter(self) } } Tooltip.prototype.destroy = function () { var that = this clearTimeout(this.timeout) this.hide(function () { that.$element.off('.' + that.type).removeData('bs.' + that.type) if (that.$tip) { that.$tip.detach() } that.$tip = null that.$arrow = null that.$viewport = null }) } // TOOLTIP PLUGIN DEFINITION // ========================= function Plugin(option) { return this.each(function () { var $this = $(this) var data = $this.data('bs.tooltip') var options = typeof option == 'object' && option if (!data && /destroy|hide/.test(option)) return if (!data) $this.data('bs.tooltip', (data = new Tooltip(this, options))) if (typeof option == 'string') data[option]() }) } var old = $.fn.tooltip $.fn.tooltip = Plugin $.fn.tooltip.Constructor = Tooltip // TOOLTIP NO CONFLICT // =================== $.fn.tooltip.noConflict = function () { $.fn.tooltip = old return this } }(jQuery); /* ======================================================================== * Bootstrap: popover.js v3.3.5 * http://getbootstrap.com/javascript/#popovers * ======================================================================== * Copyright 2011-2015 Twitter, Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * ======================================================================== */ +function ($) { 'use strict'; // POPOVER PUBLIC CLASS DEFINITION // =============================== var Popover = function (element, options) { this.init('popover', element, options) } if (!$.fn.tooltip) throw new Error('Popover requires tooltip.js') Popover.VERSION = '3.3.5' Popover.DEFAULTS = $.extend({}, $.fn.tooltip.Constructor.DEFAULTS, { placement: 'right', trigger: 'click', content: '', template: '' }) // NOTE: POPOVER EXTENDS tooltip.js // ================================ Popover.prototype = $.extend({}, $.fn.tooltip.Constructor.prototype) Popover.prototype.constructor = Popover Popover.prototype.getDefaults = function () { return Popover.DEFAULTS } Popover.prototype.setContent = function () { var $tip = this.tip() var title = this.getTitle() var content = this.getContent() $tip.find('.popover-title')[this.options.html ? 'html' : 'text'](title) $tip.find('.popover-content').children().detach().end()[ // we use append for html objects to maintain js events this.options.html ? (typeof content == 'string' ? 'html' : 'append') : 'text' ](content) $tip.removeClass('fade top bottom left right in') // IE8 doesn't accept hiding via the `:empty` pseudo selector, we have to do // this manually by checking the contents. if (!$tip.find('.popover-title').html()) $tip.find('.popover-title').hide() } Popover.prototype.hasContent = function () { return this.getTitle() || this.getContent() } Popover.prototype.getContent = function () { var $e = this.$element var o = this.options return $e.attr('data-content') || (typeof o.content == 'function' ? o.content.call($e[0]) : o.content) } Popover.prototype.arrow = function () { return (this.$arrow = this.$arrow || this.tip().find('.arrow')) } // POPOVER PLUGIN DEFINITION // ========================= function Plugin(option) { return this.each(function () { var $this = $(this) var data = $this.data('bs.popover') var options = typeof option == 'object' && option if (!data && /destroy|hide/.test(option)) return if (!data) $this.data('bs.popover', (data = new Popover(this, options))) if (typeof option == 'string') data[option]() }) } var old = $.fn.popover $.fn.popover = Plugin $.fn.popover.Constructor = Popover // POPOVER NO CONFLICT // =================== $.fn.popover.noConflict = function () { $.fn.popover = old return this } }(jQuery); /* ======================================================================== * Bootstrap: scrollspy.js v3.3.5 * http://getbootstrap.com/javascript/#scrollspy * ======================================================================== * Copyright 2011-2015 Twitter, Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * ======================================================================== */ +function ($) { 'use strict'; // SCROLLSPY CLASS DEFINITION // ========================== function ScrollSpy(element, options) { this.$body = $(document.body) this.$scrollElement = $(element).is(document.body) ? $(window) : $(element) this.options = $.extend({}, ScrollSpy.DEFAULTS, options) this.selector = (this.options.target || '') + ' .nav li > a' this.offsets = [] this.targets = [] this.activeTarget = null this.scrollHeight = 0 this.$scrollElement.on('scroll.bs.scrollspy', $.proxy(this.process, this)) this.refresh() this.process() } ScrollSpy.VERSION = '3.3.5' ScrollSpy.DEFAULTS = { offset: 10 } ScrollSpy.prototype.getScrollHeight = function () { return this.$scrollElement[0].scrollHeight || Math.max(this.$body[0].scrollHeight, document.documentElement.scrollHeight) } ScrollSpy.prototype.refresh = function () { var that = this var offsetMethod = 'offset' var offsetBase = 0 this.offsets = [] this.targets = [] this.scrollHeight = this.getScrollHeight() if (!$.isWindow(this.$scrollElement[0])) { offsetMethod = 'position' offsetBase = this.$scrollElement.scrollTop() } this.$body .find(this.selector) .map(function () { var $el = $(this) var href = $el.data('target') || $el.attr('href') var $href = /^#./.test(href) && $(href) return ($href && $href.length && $href.is(':visible') && [[$href[offsetMethod]().top + offsetBase, href]]) || null }) .sort(function (a, b) { return a[0] - b[0] }) .each(function () { that.offsets.push(this[0]) that.targets.push(this[1]) }) } ScrollSpy.prototype.process = function () { var scrollTop = this.$scrollElement.scrollTop() + this.options.offset var scrollHeight = this.getScrollHeight() var maxScroll = this.options.offset + scrollHeight - this.$scrollElement.height() var offsets = this.offsets var targets = this.targets var activeTarget = this.activeTarget var i if (this.scrollHeight != scrollHeight) { this.refresh() } if (scrollTop >= maxScroll) { return activeTarget != (i = targets[targets.length - 1]) && this.activate(i) } if (activeTarget && scrollTop < offsets[0]) { this.activeTarget = null return this.clear() } for (i = offsets.length; i--;) { activeTarget != targets[i] && scrollTop >= offsets[i] && (offsets[i + 1] === undefined || scrollTop < offsets[i + 1]) && this.activate(targets[i]) } } ScrollSpy.prototype.activate = function (target) { this.activeTarget = target this.clear() var selector = this.selector + '[data-target="' + target + '"],' + this.selector + '[href="' + target + '"]' var active = $(selector) .parents('li') .addClass('active') if (active.parent('.dropdown-menu').length) { active = active .closest('li.dropdown') .addClass('active') } active.trigger('activate.bs.scrollspy') } ScrollSpy.prototype.clear = function () { $(this.selector) .parentsUntil(this.options.target, '.active') .removeClass('active') } // SCROLLSPY PLUGIN DEFINITION // =========================== function Plugin(option) { return this.each(function () { var $this = $(this) var data = $this.data('bs.scrollspy') var options = typeof option == 'object' && option if (!data) $this.data('bs.scrollspy', (data = new ScrollSpy(this, options))) if (typeof option == 'string') data[option]() }) } var old = $.fn.scrollspy $.fn.scrollspy = Plugin $.fn.scrollspy.Constructor = ScrollSpy // SCROLLSPY NO CONFLICT // ===================== $.fn.scrollspy.noConflict = function () { $.fn.scrollspy = old return this } // SCROLLSPY DATA-API // ================== $(window).on('load.bs.scrollspy.data-api', function () { $('[data-spy="scroll"]').each(function () { var $spy = $(this) Plugin.call($spy, $spy.data()) }) }) }(jQuery); /* ======================================================================== * Bootstrap: tab.js v3.3.5 * http://getbootstrap.com/javascript/#tabs * ======================================================================== * Copyright 2011-2015 Twitter, Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * ======================================================================== */ +function ($) { 'use strict'; // TAB CLASS DEFINITION // ==================== var Tab = function (element) { // jscs:disable requireDollarBeforejQueryAssignment this.element = $(element) // jscs:enable requireDollarBeforejQueryAssignment } Tab.VERSION = '3.3.5' Tab.TRANSITION_DURATION = 150 Tab.prototype.show = function () { var $this = this.element var $ul = $this.closest('ul:not(.dropdown-menu)') var selector = $this.data('target') if (!selector) { selector = $this.attr('href') selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') // strip for ie7 } if ($this.parent('li').hasClass('active')) return var $previous = $ul.find('.active:last a') var hideEvent = $.Event('hide.bs.tab', { relatedTarget: $this[0] }) var showEvent = $.Event('show.bs.tab', { relatedTarget: $previous[0] }) $previous.trigger(hideEvent) $this.trigger(showEvent) if (showEvent.isDefaultPrevented() || hideEvent.isDefaultPrevented()) return var $target = $(selector) this.activate($this.closest('li'), $ul) this.activate($target, $target.parent(), function () { $previous.trigger({ type: 'hidden.bs.tab', relatedTarget: $this[0] }) $this.trigger({ type: 'shown.bs.tab', relatedTarget: $previous[0] }) }) } Tab.prototype.activate = function (element, container, callback) { var $active = container.find('> .active') var transition = callback && $.support.transition && ($active.length && $active.hasClass('fade') || !!container.find('> .fade').length) function next() { $active .removeClass('active') .find('> .dropdown-menu > .active') .removeClass('active') .end() .find('[data-toggle="tab"]') .attr('aria-expanded', false) element .addClass('active') .find('[data-toggle="tab"]') .attr('aria-expanded', true) if (transition) { element[0].offsetWidth // reflow for transition element.addClass('in') } else { element.removeClass('fade') } if (element.parent('.dropdown-menu').length) { element .closest('li.dropdown') .addClass('active') .end() .find('[data-toggle="tab"]') .attr('aria-expanded', true) } callback && callback() } $active.length && transition ? $active .one('bsTransitionEnd', next) .emulateTransitionEnd(Tab.TRANSITION_DURATION) : next() $active.removeClass('in') } // TAB PLUGIN DEFINITION // ===================== function Plugin(option) { return this.each(function () { var $this = $(this) var data = $this.data('bs.tab') if (!data) $this.data('bs.tab', (data = new Tab(this))) if (typeof option == 'string') data[option]() }) } var old = $.fn.tab $.fn.tab = Plugin $.fn.tab.Constructor = Tab // TAB NO CONFLICT // =============== $.fn.tab.noConflict = function () { $.fn.tab = old return this } // TAB DATA-API // ============ var clickHandler = function (e) { e.preventDefault() Plugin.call($(this), 'show') } $(document) .on('click.bs.tab.data-api', '[data-toggle="tab"]', clickHandler) .on('click.bs.tab.data-api', '[data-toggle="pill"]', clickHandler) }(jQuery); /* ======================================================================== * Bootstrap: affix.js v3.3.5 * http://getbootstrap.com/javascript/#affix * ======================================================================== * Copyright 2011-2015 Twitter, Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * ======================================================================== */ +function ($) { 'use strict'; // AFFIX CLASS DEFINITION // ====================== var Affix = function (element, options) { this.options = $.extend({}, Affix.DEFAULTS, options) this.$target = $(this.options.target) .on('scroll.bs.affix.data-api', $.proxy(this.checkPosition, this)) .on('click.bs.affix.data-api', $.proxy(this.checkPositionWithEventLoop, this)) this.$element = $(element) this.affixed = null this.unpin = null this.pinnedOffset = null this.checkPosition() } Affix.VERSION = '3.3.5' Affix.RESET = 'affix affix-top affix-bottom' Affix.DEFAULTS = { offset: 0, target: window } Affix.prototype.getState = function (scrollHeight, height, offsetTop, offsetBottom) { var scrollTop = this.$target.scrollTop() var position = this.$element.offset() var targetHeight = this.$target.height() if (offsetTop != null && this.affixed == 'top') return scrollTop < offsetTop ? 'top' : false if (this.affixed == 'bottom') { if (offsetTop != null) return (scrollTop + this.unpin <= position.top) ? false : 'bottom' return (scrollTop + targetHeight <= scrollHeight - offsetBottom) ? false : 'bottom' } var initializing = this.affixed == null var colliderTop = initializing ? scrollTop : position.top var colliderHeight = initializing ? targetHeight : height if (offsetTop != null && scrollTop <= offsetTop) return 'top' if (offsetBottom != null && (colliderTop + colliderHeight >= scrollHeight - offsetBottom)) return 'bottom' return false } Affix.prototype.getPinnedOffset = function () { if (this.pinnedOffset) return this.pinnedOffset this.$element.removeClass(Affix.RESET).addClass('affix') var scrollTop = this.$target.scrollTop() var position = this.$element.offset() return (this.pinnedOffset = position.top - scrollTop) } Affix.prototype.checkPositionWithEventLoop = function () { setTimeout($.proxy(this.checkPosition, this), 1) } Affix.prototype.checkPosition = function () { if (!this.$element.is(':visible')) return var height = this.$element.height() var offset = this.options.offset var offsetTop = offset.top var offsetBottom = offset.bottom var scrollHeight = Math.max($(document).height(), $(document.body).height()) if (typeof offset != 'object') offsetBottom = offsetTop = offset if (typeof offsetTop == 'function') offsetTop = offset.top(this.$element) if (typeof offsetBottom == 'function') offsetBottom = offset.bottom(this.$element) var affix = this.getState(scrollHeight, height, offsetTop, offsetBottom) if (this.affixed != affix) { if (this.unpin != null) this.$element.css('top', '') var affixType = 'affix' + (affix ? '-' + affix : '') var e = $.Event(affixType + '.bs.affix') this.$element.trigger(e) if (e.isDefaultPrevented()) return this.affixed = affix this.unpin = affix == 'bottom' ? this.getPinnedOffset() : null this.$element .removeClass(Affix.RESET) .addClass(affixType) .trigger(affixType.replace('affix', 'affixed') + '.bs.affix') } if (affix == 'bottom') { this.$element.offset({ top: scrollHeight - height - offsetBottom }) } } // AFFIX PLUGIN DEFINITION // ======================= function Plugin(option) { return this.each(function () { var $this = $(this) var data = $this.data('bs.affix') var options = typeof option == 'object' && option if (!data) $this.data('bs.affix', (data = new Affix(this, options))) if (typeof option == 'string') data[option]() }) } var old = $.fn.affix $.fn.affix = Plugin $.fn.affix.Constructor = Affix // AFFIX NO CONFLICT // ================= $.fn.affix.noConflict = function () { $.fn.affix = old return this } // AFFIX DATA-API // ============== $(window).on('load', function () { $('[data-spy="affix"]').each(function () { var $spy = $(this) var data = $spy.data() data.offset = data.offset || {} if (data.offsetBottom != null) data.offset.bottom = data.offsetBottom if (data.offsetTop != null) data.offset.top = data.offsetTop Plugin.call($spy, data) }) }) }(jQuery); (function($){'use strict';if(!String.prototype.includes){(function(){'use strict';var toString={}.toString;var defineProperty=(function(){try{var object={};var $defineProperty=Object.defineProperty;var result=$defineProperty(object,object,object)&&$defineProperty;}catch(error){} return result;}());var indexOf=''.indexOf;var includes=function(search){if(this==null){throw TypeError();} var string=String(this);if(search&&toString.call(search)=='[object RegExp]'){throw TypeError();} var stringLength=string.length;var searchString=String(search);var searchLength=searchString.length;var position=arguments.length>1?arguments[1]:undefined;var pos=position?Number(position):0;if(pos!=pos){pos=0;} var start=Math.min(Math.max(pos,0),stringLength);if(searchLength+start>stringLength){return false;} return indexOf.call(string,searchString,pos)!=-1;};if(defineProperty){defineProperty(String.prototype,'includes',{'value':includes,'configurable':true,'writable':true});}else{String.prototype.includes=includes;}}());} if(!String.prototype.startsWith){(function(){'use strict';var defineProperty=(function(){try{var object={};var $defineProperty=Object.defineProperty;var result=$defineProperty(object,object,object)&&$defineProperty;}catch(error){} return result;}());var toString={}.toString;var startsWith=function(search){if(this==null){throw TypeError();} var string=String(this);if(search&&toString.call(search)=='[object RegExp]'){throw TypeError();} var stringLength=string.length;var searchString=String(search);var searchLength=searchString.length;var position=arguments.length>1?arguments[1]:undefined;var pos=position?Number(position):0;if(pos!=pos){pos=0;} var start=Math.min(Math.max(pos,0),stringLength);if(searchLength+start>stringLength){return false;} var index=-1;while(++index':'>','"':'"',"'":''','`':'`'};var source='(?:'+Object.keys(escapeMap).join('|')+')',testRegexp=new RegExp(source),replaceRegexp=new RegExp(source,'g'),string=html==null?'':''+html;return testRegexp.test(string)?string.replace(replaceRegexp,function(match){return escapeMap[match];}):string;} var Selectpicker=function(element,options,e){if(e){e.stopPropagation();e.preventDefault();} this.$element=$(element);this.$newElement=null;this.$button=null;this.$menu=null;this.$lis=null;this.options=options;if(this.options.title===null){this.options.title=this.$element.attr('title');} this.val=Selectpicker.prototype.val;this.render=Selectpicker.prototype.render;this.refresh=Selectpicker.prototype.refresh;this.setStyle=Selectpicker.prototype.setStyle;this.selectAll=Selectpicker.prototype.selectAll;this.deselectAll=Selectpicker.prototype.deselectAll;this.destroy=Selectpicker.prototype.remove;this.remove=Selectpicker.prototype.remove;this.show=Selectpicker.prototype.show;this.hide=Selectpicker.prototype.hide;this.init();};Selectpicker.VERSION='1.7.2';Selectpicker.DEFAULTS={noneSelectedText:'Nothing selected',noneResultsText:'No results matched {0}',countSelectedText:function(numSelected,numTotal){return(numSelected==1)?"{0} critère sélectionné":"{0} critères sélectionnés";},maxOptionsText:function(numAll,numGroup){return[(numAll==1)?'Limit reached ({n} item max)':'Limit reached ({n} items max)',(numGroup==1)?'Group limit reached ({n} item max)':'Group limit reached ({n} items max)'];},selectAllText:'Select All',deselectAllText:'Deselect All',doneButton:false,doneButtonText:'Close',multipleSeparator:', ',styleBase:'btn',style:'btn-default',size:'auto',title:null,selectedTextFormat:'values',width:false,container:false,hideDisabled:false,showSubtext:false,showIcon:true,showContent:true,dropupAuto:true,header:false,liveSearch:false,liveSearchPlaceholder:null,liveSearchNormalize:false,liveSearchStyle:'contains',actionsBox:false,iconBase:'glyphicon',tickIcon:'glyphicon-ok',maxOptions:false,mobile:false,selectOnTab:false,dropdownAlignRight:false};Selectpicker.prototype={constructor:Selectpicker,init:function(){var that=this,id=this.$element.attr('id');this.$element.addClass('bs-select-hidden');this.liObj={};this.multiple=this.$element.prop('multiple');this.autofocus=this.$element.prop('autofocus');this.$newElement=this.createView();this.$element.after(this.$newElement);this.$button=this.$newElement.children('button');this.$menu=this.$newElement.children('.dropdown-menu');this.$menuInner=this.$menu.children('.inner');this.$searchbox=this.$menu.find('input');if(this.options.dropdownAlignRight) this.$menu.addClass('dropdown-menu-right');if(typeof id!=='undefined'){this.$button.attr('data-id',id);$('label[for="'+id+'"]').click(function(e){e.preventDefault();that.$button.focus();});} this.checkDisabled();this.clickListener();if(this.options.liveSearch)this.liveSearchListener();this.render();this.setStyle();this.setWidth();if(this.options.container)this.selectPosition();this.$menu.data('this',this);this.$newElement.data('this',this);if(this.options.mobile)this.mobile();this.$newElement.on('hide.bs.dropdown',function(e){that.$element.trigger('hide.bs.select',e);});this.$newElement.on('hidden.bs.dropdown',function(e){that.$element.trigger('hidden.bs.select',e);});this.$newElement.on('show.bs.dropdown',function(e){that.$element.trigger('show.bs.select',e);});this.$newElement.on('shown.bs.dropdown',function(e){that.$element.trigger('shown.bs.select',e);});setTimeout(function(){that.$element.trigger('loaded.bs.select');});},createDropdown:function(){var multiple=this.multiple?' show-tick':'',inputGroup=this.$element.parent().hasClass('input-group')?' input-group-btn':'',autofocus=this.autofocus?' autofocus':'';var header=this.options.header?'
'+this.options.header+'
':'';var searchbox=this.options.liveSearch?'':'';var actionsbox=this.multiple&&this.options.actionsBox?'
'+'
'+''+''+'
'+'
':'';var donebutton=this.multiple&&this.options.doneButton?'
'+'
'+''+'
'+'
':'';var drop='
'+''+''+'
';return $(drop);},createView:function(){var $drop=this.createDropdown(),li=this.createLi();$drop.find('ul')[0].innerHTML=li;return $drop;},reloadLi:function(){this.destroyLi();var li=this.createLi();this.$menuInner[0].innerHTML=li;},destroyLi:function(){this.$menu.find('li').remove();},createLi:function(){var that=this,_li=[],optID=0,titleOption=document.createElement('option'),liIndex=-1;var generateLI=function(content,index,classes,optgroup){return''+content+'';};var generateA=function(text,classes,inline,tokens){return'
'+text+''+'';};if(this.options.title&&!this.multiple){liIndex--;if(!this.$element.find('.bs-title-option').length){var element=this.$element[0];titleOption.className='bs-title-option';titleOption.appendChild(document.createTextNode(this.options.title));titleOption.value='';element.insertBefore(titleOption,element.firstChild);if(element.options[element.selectedIndex].getAttribute('selected')===null)titleOption.selected=true;}} this.$element.find('option').each(function(index){var $this=$(this);liIndex++;if($this.hasClass('bs-title-option'))return;var optionClass=this.className||'',inline=this.style.cssText,text=$this.data('content')?$this.data('content'):$this.html(),tokens=$this.data('tokens')?$this.data('tokens'):null,subtext=typeof $this.data('subtext')!=='undefined'?''+$this.data('subtext')+'':'',icon=typeof $this.data('icon')!=='undefined'?' ':'',isDisabled=this.disabled||this.parentElement.tagName==='OPTGROUP'&&this.parentElement.disabled;if(icon!==''&&isDisabled){icon=''+icon+'';} if(that.options.hideDisabled&&isDisabled){liIndex--;return;} if(!$this.data('content')){text=icon+''+text+subtext+'';} if(this.parentElement.tagName==='OPTGROUP'&&$this.data('divider')!==true){if($this.index()===0){optID+=1;var label=this.parentElement.label,labelSubtext=typeof $this.parent().data('subtext')!=='undefined'?''+$this.parent().data('subtext')+'':'',labelIcon=$this.parent().data('icon')?' ':'',optGroupClass=' '+this.parentElement.className||'';label=labelIcon+''+label+labelSubtext+'';if(index!==0&&_li.length>0){liIndex++;_li.push(generateLI('',null,'divider',optID+'div'));} liIndex++;_li.push(generateLI(label,null,'dropdown-header'+optGroupClass,optID));} _li.push(generateLI(generateA(text,'opt '+optionClass+optGroupClass,inline,tokens),index,'',optID));}else if($this.data('divider')===true){_li.push(generateLI('',index,'divider'));}else if($this.data('hidden')===true){_li.push(generateLI(generateA(text,optionClass,inline,tokens),index,'hidden is-hidden'));}else{if(this.previousElementSibling&&this.previousElementSibling.tagName==='OPTGROUP'){liIndex++;_li.push(generateLI('',null,'divider',optID+'div'));} _li.push(generateLI(generateA(text,optionClass,inline,tokens),index));} that.liObj[index]=liIndex;});if(!this.multiple&&this.$element.find('option:selected').length===0&&!this.options.title){this.$element.find('option').eq(0).prop('selected',true).attr('selected','selected');} return _li.join('');},findLis:function(){if(this.$lis==null)this.$lis=this.$menu.find('li');return this.$lis;},render:function(updateLi){var that=this,notDisabled;if(updateLi!==false){this.$element.find('option').each(function(index){var $lis=that.findLis().eq(that.liObj[index]);that.setDisabled(index,this.disabled||this.parentElement.tagName==='OPTGROUP'&&this.parentElement.disabled,$lis);that.setSelected(index,this.selected,$lis);});} this.tabIndex();var selectedItems=this.$element.find('option').map(function(){if(this.selected){if(that.options.hideDisabled&&(this.disabled||this.parentElement.tagName==='OPTGROUP'&&this.parentElement.disabled))return false;var $this=$(this),icon=$this.data('icon')&&that.options.showIcon?' ':'',subtext;if(that.options.showSubtext&&$this.data('subtext')&&!that.multiple){subtext=' '+$this.data('subtext')+'';}else{subtext='';} if(typeof $this.attr('title')!=='undefined'){return $this.attr('title');}else if($this.data('content')&&that.options.showContent){return $this.data('content');}else{return icon+$this.html()+subtext;}}}).toArray();var title=!this.multiple?selectedItems[0]:selectedItems.join(this.options.multipleSeparator);if(this.multiple&&this.options.selectedTextFormat.indexOf('count')>-1){var max=this.options.selectedTextFormat.split('>');if((max.length>1&&selectedItems.length>max[1])||(max.length==1&&selectedItems.length>=2)){notDisabled=this.options.hideDisabled?', [disabled]':'';var totalCount=this.$element.find('option').not('[data-divider="true"], [data-hidden="true"]'+notDisabled).length,tr8nText=(typeof this.options.countSelectedText==='function')?this.options.countSelectedText(selectedItems.length,totalCount):this.options.countSelectedText;title=tr8nText.replace('{0}',selectedItems.length.toString()).replace('{1}',totalCount.toString());}} if(this.options.title==undefined){this.options.title=this.$element.attr('title');} if(this.options.selectedTextFormat=='static'){title=this.options.title;} if(!title){title=typeof this.options.title!=='undefined'?this.options.title:this.options.noneSelectedText;} this.$button.attr('title',$.trim(title.replace(/<[^>]*>?/g,'')));this.$button.children('.filter-option').html(title);this.$element.trigger('rendered.bs.select');},setStyle:function(style,status){if(this.$element.attr('class')){this.$newElement.addClass(this.$element.attr('class').replace(/selectpicker|mobile-device|bs-select-hidden|validate\[.*\]/gi,''));} var buttonClass=style?style:this.options.style;if(status=='add'){this.$button.addClass(buttonClass);}else if(status=='remove'){this.$button.removeClass(buttonClass);}else{this.$button.removeClass(this.options.style);this.$button.addClass(buttonClass);}},liHeight:function(refresh){if(!refresh&&(this.options.size===false||this.sizeInfo))return;var newElement=document.createElement('div'),menu=document.createElement('div'),menuInner=document.createElement('ul'),divider=document.createElement('li'),li=document.createElement('li'),a=document.createElement('a'),text=document.createElement('span'),header=this.options.header?this.$menu.find('.popover-title')[0].cloneNode(true):null,search=this.options.liveSearch?document.createElement('div'):null,actions=this.options.actionsBox&&this.multiple?this.$menu.find('.bs-actionsbox')[0].cloneNode(true):null,doneButton=this.options.doneButton&&this.multiple?this.$menu.find('.bs-donebutton')[0].cloneNode(true):null;text.className='text';newElement.className=this.$menu[0].parentNode.className+' open';menu.className='dropdown-menu open';menuInner.className='dropdown-menu inner';divider.className='divider';text.appendChild(document.createTextNode('Inner text'));a.appendChild(text);li.appendChild(a);menuInner.appendChild(li);menuInner.appendChild(divider);if(header)menu.appendChild(header);if(search){var input=document.createElement('span');search.className='bs-searchbox';input.className='form-control';search.appendChild(input);menu.appendChild(search);} if(actions)menu.appendChild(actions);menu.appendChild(menuInner);if(doneButton)menu.appendChild(doneButton);newElement.appendChild(menu);document.body.appendChild(newElement);var liHeight=a.offsetHeight,headerHeight=header?header.offsetHeight:0,searchHeight=search?search.offsetHeight:0,actionsHeight=actions?actions.offsetHeight:0,doneButtonHeight=doneButton?doneButton.offsetHeight:0,dividerHeight=$(divider).outerHeight(true),menuStyle=getComputedStyle?getComputedStyle(menu):false,$menu=menuStyle?$(menu):null,menuPadding=parseInt(menuStyle?menuStyle.paddingTop:$menu.css('paddingTop'))+ parseInt(menuStyle?menuStyle.paddingBottom:$menu.css('paddingBottom'))+ parseInt(menuStyle?menuStyle.borderTopWidth:$menu.css('borderTopWidth'))+ parseInt(menuStyle?menuStyle.borderBottomWidth:$menu.css('borderBottomWidth')),menuExtras=menuPadding+ parseInt(menuStyle?menuStyle.marginTop:$menu.css('marginTop'))+ parseInt(menuStyle?menuStyle.marginBottom:$menu.css('marginBottom'))+2;document.body.removeChild(newElement);this.sizeInfo={liHeight:liHeight,headerHeight:headerHeight,searchHeight:searchHeight,actionsHeight:actionsHeight,doneButtonHeight:doneButtonHeight,dividerHeight:dividerHeight,menuPadding:menuPadding,menuExtras:menuExtras};},setSize:function(){this.findLis();this.liHeight();var that=this,$menu=this.$menu,$menuInner=this.$menuInner,$window=$(window),selectHeight=this.$newElement[0].offsetHeight,liHeight=this.sizeInfo['liHeight'],headerHeight=this.sizeInfo['headerHeight'],searchHeight=this.sizeInfo['searchHeight'],actionsHeight=this.sizeInfo['actionsHeight'],doneButtonHeight=this.sizeInfo['doneButtonHeight'],divHeight=this.sizeInfo['dividerHeight'],menuPadding=this.sizeInfo['menuPadding'],menuExtras=this.sizeInfo['menuExtras'],notDisabled=this.options.hideDisabled?'.disabled':'',menuHeight,getHeight,selectOffsetTop,selectOffsetBot,posVert=function(){selectOffsetTop=that.$newElement.offset().top-$window.scrollTop();selectOffsetBot=$window.height()-selectOffsetTop-selectHeight;};posVert();if(this.options.header)$menu.css('padding-top',0);if(this.options.size==='auto'){var getSize=function(){var minHeight,hasClass=function(className,include){return function(element){if(include){return(element.classList?element.classList.contains(className):$(element).hasClass(className));}else{return!(element.classList?element.classList.contains(className):$(element).hasClass(className));}};},lis=that.$menuInner[0].getElementsByTagName('li'),lisVisible=Array.prototype.filter?Array.prototype.filter.call(lis,hasClass('hidden',false)):that.$lis.not('.hidden'),optGroup=Array.prototype.filter?Array.prototype.filter.call(lisVisible,hasClass('dropdown-header',true)):lisVisible.filter('.dropdown-header');posVert();menuHeight=selectOffsetBot-menuExtras;if(that.options.container){if(!$menu.data('height'))$menu.data('height',$menu.height());getHeight=$menu.data('height');}else{getHeight=$menu.height();} if(that.options.dropupAuto){that.$newElement.toggleClass('dropup',selectOffsetTop>selectOffsetBot&&(menuHeight-menuExtras)3){minHeight=liHeight*3+menuExtras-2;}else{minHeight=0;} $menu.css({'max-height':menuHeight+'px','overflow':'hidden','min-height':minHeight+headerHeight+searchHeight+actionsHeight+doneButtonHeight+'px'});$menuInner.css({'max-height':menuHeight-headerHeight-searchHeight-actionsHeight-doneButtonHeight-menuPadding+'px','overflow-y':'auto','min-height':Math.max(minHeight-menuPadding,0)+'px'});};getSize();this.$searchbox.off('input.getSize propertychange.getSize').on('input.getSize propertychange.getSize',getSize);$window.off('resize.getSize scroll.getSize').on('resize.getSize scroll.getSize',getSize);}else if(this.options.size&&this.options.size!='auto'&&this.$lis.not(notDisabled).length>this.options.size){var optIndex=this.$lis.not('.divider').not(notDisabled).children().slice(0,this.options.size).last().parent().index(),divLength=this.$lis.slice(0,optIndex+1).filter('.divider').length;menuHeight=liHeight*this.options.size+divLength*divHeight+menuPadding;if(that.options.container){if(!$menu.data('height'))$menu.data('height',$menu.height());getHeight=$menu.data('height');}else{getHeight=$menu.height();} if(that.options.dropupAuto){this.$newElement.toggleClass('dropup',selectOffsetTop>selectOffsetBot&&(menuHeight-menuExtras)',$drop=$(drop),pos,actualHeight,getPlacement=function($element){$drop.addClass($element.attr('class').replace(/form-control|fit-width/gi,'')).toggleClass('dropup',$element.hasClass('dropup'));pos=$element.offset();actualHeight=$element.hasClass('dropup')?0:$element[0].offsetHeight;$drop.css({'top':pos.top+actualHeight,'left':pos.left,'width':$element[0].offsetWidth,'position':'absolute'});};this.$newElement.on('click',function(){if(that.isDisabled()){return;} getPlacement($(this));$drop.appendTo(that.options.container);$drop.toggleClass('open',!$(this).hasClass('open'));$drop.append(that.$menu);});$(window).on('resize scroll',function(){getPlacement(that.$newElement);});this.$element.on('hide.bs.select',function(){that.$menu.data('height',that.$menu.height());$drop.detach();});},setSelected:function(index,selected,$lis){if(!$lis){var $lis=this.findLis().eq(this.liObj[index]);} $lis.toggleClass('selected',selected);},setDisabled:function(index,disabled,$lis){if(!$lis){var $lis=this.findLis().eq(this.liObj[index]);} if(disabled){$lis.addClass('disabled').children('a').attr('href','#').attr('tabindex',-1);}else{$lis.removeClass('disabled').children('a').removeAttr('href').attr('tabindex',0);}},isDisabled:function(){return this.$element[0].disabled;},checkDisabled:function(){var that=this;if(this.isDisabled()){this.$newElement.addClass('disabled');this.$button.addClass('disabled').attr('tabindex',-1);}else{if(this.$button.hasClass('disabled')){this.$newElement.removeClass('disabled');this.$button.removeClass('disabled');} if(this.$button.attr('tabindex')==-1&&!this.$element.data('tabindex')){this.$button.removeAttr('tabindex');}} this.$button.click(function(){return!that.isDisabled();});},tabIndex:function(){if(this.$element.is('[tabindex]')){this.$element.data('tabindex',this.$element.attr('tabindex'));this.$button.attr('tabindex',this.$element.data('tabindex'));}},clickListener:function(){var that=this,$document=$(document);this.$newElement.on('touchstart.dropdown','.dropdown-menu',function(e){e.stopPropagation();});$document.data('spaceSelect',false);this.$button.on('keyup',function(e){if(/(32)/.test(e.keyCode.toString(10))&&$document.data('spaceSelect')){e.preventDefault();$document.data('spaceSelect',false);}});this.$newElement.on('click',function(){that.setSize();that.$element.on('shown.bs.select',function(){if(!that.options.liveSearch&&!that.multiple){that.$menu.find('.selected a').focus();}else if(!that.multiple){var selectedIndex=that.liObj[that.$element[0].selectedIndex];if(typeof selectedIndex!=='number')return;var offset=that.$lis.eq(selectedIndex)[0].offsetTop-that.$menuInner[0].offsetTop;offset=offset-that.$menuInner[0].offsetHeight/2+that.sizeInfo.liHeight/2;that.$menuInner[0].scrollTop=offset;}});});this.$menu.on('click','li a',function(e){var $this=$(this),clickedIndex=$this.parent().data('originalIndex'),prevValue=that.$element.val(),prevIndex=that.$element.prop('selectedIndex');if(that.multiple){e.stopPropagation();} e.preventDefault();if(!that.isDisabled()&&!$this.parent().hasClass('disabled')){var $options=that.$element.find('option'),$option=$options.eq(clickedIndex),state=$option.prop('selected'),$optgroup=$option.parent('optgroup'),maxOptions=that.options.maxOptions,maxOptionsGrp=$optgroup.data('maxOptions')||false;if(!that.multiple){$options.prop('selected',false);$option.prop('selected',true);that.$menu.find('.selected').removeClass('selected');that.setSelected(clickedIndex,true);}else{$option.prop('selected',!state);that.setSelected(clickedIndex,!state);$this.blur();if(maxOptions!==false||maxOptionsGrp!==false){var maxReached=maxOptions<$options.filter(':selected').length,maxReachedGrp=maxOptionsGrp<$optgroup.find('option:selected').length;if((maxOptions&&maxReached)||(maxOptionsGrp&&maxReachedGrp)){if(maxOptions&&maxOptions==1){$options.prop('selected',false);$option.prop('selected',true);that.$menu.find('.selected').removeClass('selected');that.setSelected(clickedIndex,true);}else if(maxOptionsGrp&&maxOptionsGrp==1){$optgroup.find('option:selected').prop('selected',false);$option.prop('selected',true);var optgroupID=$this.parent().data('optgroup');that.$menu.find('[data-optgroup="'+optgroupID+'"]').removeClass('selected');that.setSelected(clickedIndex,true);}else{var maxOptionsArr=(typeof that.options.maxOptionsText==='function')?that.options.maxOptionsText(maxOptions,maxOptionsGrp):that.options.maxOptionsText,maxTxt=maxOptionsArr[0].replace('{n}',maxOptions),maxTxtGrp=maxOptionsArr[1].replace('{n}',maxOptionsGrp),$notify=$('
');if(maxOptionsArr[2]){maxTxt=maxTxt.replace('{var}',maxOptionsArr[2][maxOptions>1?0:1]);maxTxtGrp=maxTxtGrp.replace('{var}',maxOptionsArr[2][maxOptionsGrp>1?0:1]);} $option.prop('selected',false);that.$menu.append($notify);if(maxOptions&&maxReached){$notify.append($('
'+maxTxt+'
'));that.$element.trigger('maxReached.bs.select');} if(maxOptionsGrp&&maxReachedGrp){$notify.append($('
'+maxTxtGrp+'
'));that.$element.trigger('maxReachedGrp.bs.select');} setTimeout(function(){that.setSelected(clickedIndex,false);},10);$notify.delay(750).fadeOut(300,function(){$(this).remove();});}}}} if(!that.multiple){that.$button.focus();}else if(that.options.liveSearch){that.$searchbox.focus();} if((prevValue!=that.$element.val()&&that.multiple)||(prevIndex!=that.$element.prop('selectedIndex')&&!that.multiple)){that.$element.change();that.$element.trigger('changed.bs.select',[clickedIndex,$option.prop('selected'),state]);}}});this.$menu.on('click','li.disabled a, .popover-title, .popover-title :not(.close)',function(e){if(e.currentTarget==this){e.preventDefault();e.stopPropagation();if(that.options.liveSearch&&!$(e.target).hasClass('close')){that.$searchbox.focus();}else{that.$button.focus();}}});this.$menu.on('click','li.divider, li.dropdown-header',function(e){e.preventDefault();e.stopPropagation();if(that.options.liveSearch){that.$searchbox.focus();}else{that.$button.focus();}});this.$menu.on('click','.popover-title .close',function(){that.$button.click();});this.$searchbox.on('click',function(e){e.stopPropagation();});this.$menu.on('click','.actions-btn',function(e){if(that.options.liveSearch){that.$searchbox.focus();}else{that.$button.focus();} e.preventDefault();e.stopPropagation();if($(this).hasClass('bs-select-all')){that.selectAll();}else{that.deselectAll();} that.$element.change();});this.$element.change(function(){that.render(false);});},liveSearchListener:function(){var that=this,$no_results=$('
  • ');this.$newElement.on('click.dropdown.data-api touchstart.dropdown.data-api',function(){that.$menuInner.find('.active').removeClass('active');if(!!that.$searchbox.val()){that.$searchbox.val('');that.$lis.not('.is-hidden').removeClass('hidden');if(!!$no_results.parent().length)$no_results.remove();} if(!that.multiple)that.$menuInner.find('.selected').addClass('active');setTimeout(function(){that.$searchbox.focus();},10);});this.$searchbox.on('click.dropdown.data-api focus.dropdown.data-api touchend.dropdown.data-api',function(e){e.stopPropagation();});this.$searchbox.on('input propertychange',function(){if(that.$searchbox.val()){var $searchBase=that.$lis.not('.is-hidden').removeClass('hidden').children('a');if(that.options.liveSearchNormalize){$searchBase=$searchBase.not(':a'+that._searchStyle()+'('+normalizeToBase(that.$searchbox.val())+')');}else{$searchBase=$searchBase.not(':'+that._searchStyle()+'('+that.$searchbox.val()+')');} $searchBase.parent().addClass('hidden');that.$lis.filter('.dropdown-header').each(function(){var $this=$(this),optgroup=$this.data('optgroup');if(that.$lis.filter('[data-optgroup='+optgroup+']').not($this).not('.hidden').length===0){$this.addClass('hidden');that.$lis.filter('[data-optgroup='+optgroup+'div]').addClass('hidden');}});var $lisVisible=that.$lis.not('.hidden');$lisVisible.each(function(index){var $this=$(this);if($this.hasClass('divider')&&($this.index()===$lisVisible.eq(0).index()||$this.index()===$lisVisible.last().index()||$lisVisible.eq(index+1).hasClass('divider'))){$this.addClass('hidden');}});if(!that.$lis.not('.hidden, .no-results').length){if(!!$no_results.parent().length){$no_results.remove();} $no_results.html(that.options.noneResultsText.replace('{0}','"'+htmlEscape(that.$searchbox.val())+'"')).show();that.$menuInner.append($no_results);}else if(!!$no_results.parent().length){$no_results.remove();}}else{that.$lis.not('.is-hidden').removeClass('hidden');if(!!$no_results.parent().length){$no_results.remove();}} that.$lis.filter('.active').removeClass('active');that.$lis.not('.hidden, .divider, .dropdown-header').eq(0).addClass('active').children('a').focus();$(this).focus();});},_searchStyle:function(){var style='icontains';switch(this.options.liveSearchStyle){case'begins':case'startsWith':style='ibegins';break;case'contains':default:break;} return style;},val:function(value){if(typeof value!=='undefined'){this.$element.val(value);this.render();return this.$element;}else{return this.$element.val();}},selectAll:function(){this.findLis();this.$element.find('option:enabled').not('[data-divider], [data-hidden]').prop('selected',true);this.$lis.not('.divider, .dropdown-header, .disabled, .hidden').addClass('selected');this.render(false);},deselectAll:function(){this.findLis();this.$element.find('option:enabled').not('[data-divider], [data-hidden]').prop('selected',false);this.$lis.not('.divider, .dropdown-header, .disabled, .hidden').removeClass('selected');this.render(false);},keydown:function(e){var $this=$(this),$parent=$this.is('input')?$this.parent().parent():$this.parent(),$items,that=$parent.data('this'),index,next,first,last,prev,nextPrev,prevIndex,isActive,selector=':not(.disabled, .hidden, .dropdown-header, .divider)',keyCodeMap={32:' ',48:'0',49:'1',50:'2',51:'3',52:'4',53:'5',54:'6',55:'7',56:'8',57:'9',59:';',65:'a',66:'b',67:'c',68:'d',69:'e',70:'f',71:'g',72:'h',73:'i',74:'j',75:'k',76:'l',77:'m',78:'n',79:'o',80:'p',81:'q',82:'r',83:'s',84:'t',85:'u',86:'v',87:'w',88:'x',89:'y',90:'z',96:'0',97:'1',98:'2',99:'3',100:'4',101:'5',102:'6',103:'7',104:'8',105:'9'};if(that.options.liveSearch)$parent=$this.parent().parent();if(that.options.container)$parent=that.$menu;$items=$('[role=menu] li a',$parent);isActive=that.$menu.parent().hasClass('open');if(!isActive&&(e.keyCode>=48&&e.keyCode<=57||event.keyCode>=65&&event.keyCode<=90)){if(!that.options.container){that.setSize();that.$menu.parent().addClass('open');isActive=true;}else{that.$newElement.trigger('click');} that.$searchbox.focus();} if(that.options.liveSearch){if(/(^9$|27)/.test(e.keyCode.toString(10))&&isActive&&that.$menu.find('.active').length===0){e.preventDefault();that.$menu.parent().removeClass('open');if(that.options.container)that.$newElement.removeClass('open');that.$button.focus();} $items=$('[role=menu] li:not(.disabled, .hidden, .dropdown-header, .divider)',$parent);if(!$this.val()&&!/(38|40)/.test(e.keyCode.toString(10))){if($items.filter('.active').length===0){$items=that.$newElement.find('li');if(that.options.liveSearchNormalize){$items=$items.filter(':a'+that._searchStyle()+'('+normalizeToBase(keyCodeMap[e.keyCode])+')');}else{$items=$items.filter(':'+that._searchStyle()+'('+keyCodeMap[e.keyCode]+')');}}}} if(!$items.length)return;if(/(38|40)/.test(e.keyCode.toString(10))){index=$items.index($items.filter(':focus'));first=$items.parent(selector).first().data('originalIndex');last=$items.parent(selector).last().data('originalIndex');next=$items.eq(index).parent().nextAll(selector).eq(0).data('originalIndex');prev=$items.eq(index).parent().prevAll(selector).eq(0).data('originalIndex');nextPrev=$items.eq(next).parent().prevAll(selector).eq(0).data('originalIndex');if(that.options.liveSearch){$items.each(function(i){if(!$(this).hasClass('disabled')){$(this).data('index',i);}});index=$items.index($items.filter('.active'));first=$items.first().data('index');last=$items.last().data('index');next=$items.eq(index).nextAll().eq(0).data('index');prev=$items.eq(index).prevAll().eq(0).data('index');nextPrev=$items.eq(next).prevAll().eq(0).data('index');} prevIndex=$this.data('prevIndex');if(e.keyCode==38){if(that.options.liveSearch)index-=1;if(index!=nextPrev&&index>prev)index=prev;if(indexlast)index=last;if(index==prevIndex)index=first;} $this.data('prevIndex',index);if(!that.options.liveSearch){$items.eq(index).focus();}else{e.preventDefault();if(!$this.hasClass('dropdown-toggle')){$items.removeClass('active').eq(index).addClass('active').children('a').focus();$this.focus();}}}else if(!$this.is('input')){var keyIndex=[],count,prevKey;$items.each(function(){if(!$(this).parent().hasClass('disabled')){if($.trim($(this).text().toLowerCase()).substring(0,1)==keyCodeMap[e.keyCode]){keyIndex.push($(this).parent().index());}}});count=$(document).data('keycount');count++;$(document).data('keycount',count);prevKey=$.trim($(':focus').text().toLowerCase()).substring(0,1);if(prevKey!=keyCodeMap[e.keyCode]){count=1;$(document).data('keycount',count);}else if(count>=keyIndex.length){$(document).data('keycount',0);if(count>keyIndex.length)count=1;} $items.eq(keyIndex[count-1]).focus();} if((/(13|32)/.test(e.keyCode.toString(10))||(/(^9$)/.test(e.keyCode.toString(10))&&that.options.selectOnTab))&&isActive){if(!/(32)/.test(e.keyCode.toString(10)))e.preventDefault();if(!that.options.liveSearch){var elem=$(':focus');elem.click();elem.focus();e.preventDefault();$(document).data('spaceSelect',true);}else if(!/(32)/.test(e.keyCode.toString(10))){that.$menu.find('.active a').click();$this.focus();} $(document).data('keycount',0);} if((/(^9$|27)/.test(e.keyCode.toString(10))&&isActive&&(that.multiple||that.options.liveSearch))||(/(27)/.test(e.keyCode.toString(10))&&!isActive)){that.$menu.parent().removeClass('open');if(that.options.container)that.$newElement.removeClass('open');that.$button.focus();}},mobile:function(){this.$element.addClass('mobile-device').appendTo(this.$newElement);if(this.options.container)this.$menu.hide();},refresh:function(){this.$lis=null;this.reloadLi();this.render();this.checkDisabled();this.liHeight(true);this.setStyle();this.setWidth();if(this.$lis)this.$searchbox.trigger('propertychange');this.$element.trigger('refreshed.bs.select');},hide:function(){this.$newElement.hide();},show:function(){this.$newElement.show();},remove:function(){this.$newElement.remove();this.$element.remove();}};function Plugin(option,event){var args=arguments;var _option=option,_event=event;[].shift.apply(args);var value;var chain=this.each(function(){var $this=$(this);if($this.is('select')){var data=$this.data('selectpicker'),options=typeof _option=='object'&&_option;if(!data){var config=$.extend({},Selectpicker.DEFAULTS,$.fn.selectpicker.defaults||{},$this.data(),options);$this.data('selectpicker',(data=new Selectpicker(this,config,_event)));}else if(options){for(var i in options){if(options.hasOwnProperty(i)){data.options[i]=options[i];}}} if(typeof _option=='string'){if(data[_option]instanceof Function){value=data[_option].apply(data,args);}else{value=data.options[_option];}}}});if(typeof value!=='undefined'){return value;}else{return chain;}} var old=$.fn.selectpicker;$.fn.selectpicker=Plugin;$.fn.selectpicker.Constructor=Selectpicker;$.fn.selectpicker.noConflict=function(){$.fn.selectpicker=old;return this;};$(document).data('keycount',0).on('keydown','.bootstrap-select [data-toggle=dropdown], .bootstrap-select [role="menu"], .bs-searchbox input',Selectpicker.prototype.keydown).on('focusin.modal','.bootstrap-select [data-toggle=dropdown], .bootstrap-select [role="menu"], .bs-searchbox input',function(e){e.stopPropagation();});$(window).on('load.bs.select.data-api',function(){$('.selectpicker').each(function(){var $selectpicker=$(this);Plugin.call($selectpicker,$selectpicker.data());})});})(jQuery); ;(function($){var plugin={};var defaults={mode:'horizontal',slideSelector:'',infiniteLoop:true,hideControlOnEnd:false,speed:500,easing:null,slideMargin:0,startSlide:0,randomStart:false,captions:false,ticker:false,tickerHover:false,adaptiveHeight:false,adaptiveHeightSpeed:500,video:false,useCSS:true,preloadImages:'visible',responsive:true,slideZIndex:50,wrapperClass:'bx-wrapper',touchEnabled:true,swipeThreshold:50,oneToOneTouch:true,preventDefaultSwipeX:true,preventDefaultSwipeY:false,pager:true,pagerType:'full',pagerShortSeparator:' / ',pagerSelector:null,buildPager:null,pagerCustom:null,controls:true,nextText:'
  • ',prevText:'
  • ',nextSelector:null,prevSelector:null,autoControls:false,startText:'Start',stopText:'Stop',autoControlsCombine:false,autoControlsSelector:null,auto:false,pause:4000,autoStart:true,autoDirection:'next',autoHover:false,autoDelay:0,autoSlideForOnePage:false,minSlides:1,maxSlides:1,moveSlides:0,slideWidth:0,onSliderLoad:function(){},onSlideBefore:function(){},onSlideAfter:function(){},onSlideNext:function(){},onSlidePrev:function(){},onSliderResize:function(){}} $.fn.bxSlider=function(options){if(this.length==0)return this;if(this.length>1){this.each(function(){$(this).bxSlider(options)});return this;} var slider={};var el=this;plugin.el=this;var windowWidth=$(window).width();var windowHeight=$(window).height();var init=function(){slider.settings=$.extend({},defaults,options);slider.settings.slideWidth=parseInt(slider.settings.slideWidth);slider.children=el.children(slider.settings.slideSelector);if(slider.children.length1||slider.settings.maxSlides>1;if(slider.carousel)slider.settings.preloadImages='all';slider.minThreshold=(slider.settings.minSlides*slider.settings.slideWidth)+((slider.settings.minSlides-1)*slider.settings.slideMargin);slider.maxThreshold=(slider.settings.maxSlides*slider.settings.slideWidth)+((slider.settings.maxSlides-1)*slider.settings.slideMargin);slider.working=false;slider.controls={};slider.interval=null;slider.animProp=slider.settings.mode=='vertical'?'top':'left';slider.usingCSS=slider.settings.useCSS&&slider.settings.mode!='fade'&&(function(){var div=document.createElement('div');var props=['WebkitPerspective','MozPerspective','OPerspective','msPerspective'];for(var i in props){if(div.style[props[i]]!==undefined){slider.cssPrefix=props[i].replace('Perspective','').toLowerCase();slider.animProp='-'+slider.cssPrefix+'-transform';return true;}} return false;}());if(slider.settings.mode=='vertical')slider.settings.maxSlides=slider.settings.minSlides;el.data("origStyle",el.attr("style"));el.children(slider.settings.slideSelector).each(function(){$(this).data("origStyle",$(this).attr("style"));});setup();} var setup=function(){el.wrap('
    ');slider.viewport=el.parent();slider.loader=$('
    ');slider.viewport.prepend(slider.loader);el.css({width:slider.settings.mode=='horizontal'?(slider.children.length*100+215)+'%':'auto',position:'relative'});if(slider.usingCSS&&slider.settings.easing){el.css('-'+slider.cssPrefix+'-transition-timing-function',slider.settings.easing);}else if(!slider.settings.easing){slider.settings.easing='swing';} var slidesShowing=getNumberSlidesShowing();slider.viewport.css({width:'100%',overflow:'hidden',position:'relative'});slider.viewport.parent().css({maxWidth:getViewportMaxWidth()});if(!slider.settings.pager){slider.viewport.parent().css({margin:'0 auto 0px'});} slider.children.css({'float':slider.settings.mode=='horizontal'?'left':'none',listStyle:'none',position:'relative'});slider.children.css('width',getSlideWidth());if(slider.settings.mode=='horizontal'&&slider.settings.slideMargin>0)slider.children.css('marginRight',slider.settings.slideMargin);if(slider.settings.mode=='vertical'&&slider.settings.slideMargin>0)slider.children.css('marginBottom',slider.settings.slideMargin);if(slider.settings.mode=='fade'){slider.children.css({position:'absolute',zIndex:0,display:'none'});slider.children.eq(slider.settings.startSlide).css({zIndex:slider.settings.slideZIndex,display:'block'});} slider.controls.el=$('
    ');if(slider.settings.captions)appendCaptions();slider.active.last=slider.settings.startSlide==getPagerQty()-1;if(slider.settings.video)el.fitVids();var preloadSelector=slider.children.eq(slider.settings.startSlide);if(slider.settings.preloadImages=="all")preloadSelector=slider.children;if(!slider.settings.ticker){if(slider.settings.pager)appendPager();if(slider.settings.controls)appendControls();if(slider.settings.auto&&slider.settings.autoControls)appendControlsAuto();if(slider.settings.controls||slider.settings.autoControls||slider.settings.pager)slider.viewport.after(slider.controls.el);}else{slider.settings.pager=false;} loadElements(preloadSelector,start);} var loadElements=function(selector,callback){var total=selector.find('img, iframe').length;if(total==0){callback();return;} var count=0;selector.find('img, iframe').each(function(){$(this).one('load',function(){if(++count==total)callback();}).each(function(){if(this.complete)$(this).load();});});} var start=function(){if(slider.settings.infiniteLoop&&slider.settings.mode!='fade'&&!slider.settings.ticker){var slice=slider.settings.mode=='vertical'?slider.settings.minSlides:slider.settings.maxSlides;var sliceAppend=slider.children.slice(0,slice).clone().addClass('bx-clone');var slicePrepend=slider.children.slice(-slice).clone().addClass('bx-clone');el.append(sliceAppend).prepend(slicePrepend);} slider.loader.remove();setSlidePosition();if(slider.settings.mode=='vertical')slider.settings.adaptiveHeight=true;slider.viewport.height(getViewportHeight());el.redrawSlider();slider.settings.onSliderLoad(slider.active.index);slider.initialized=true;if(slider.settings.responsive)$(window).bind('resize',resizeWindow);if(slider.settings.auto&&slider.settings.autoStart&&(getPagerQty()>1||slider.settings.autoSlideForOnePage))initAuto();if(slider.settings.ticker)initTicker();if(slider.settings.pager)updatePagerActive(slider.settings.startSlide);if(slider.settings.controls)updateDirectionControls();if(slider.settings.touchEnabled&&!slider.settings.ticker)initTouch();} var getViewportHeight=function(){var height=0;var children=$();if(slider.settings.mode!='vertical'&&!slider.settings.adaptiveHeight){children=slider.children;}else{if(!slider.carousel){children=slider.children.eq(slider.active.index);}else{var currentIndex=slider.settings.moveSlides==1?slider.active.index:slider.active.index*getMoveBy();children=slider.children.eq(currentIndex);for(i=1;i<=slider.settings.maxSlides-1;i++){if(currentIndex+i>=slider.children.length){children=children.add(slider.children.eq(i-1));}else{children=children.add(slider.children.eq(currentIndex+i));}}}} if(slider.settings.mode=='vertical'){children.each(function(index){height+=$(this).outerHeight();});if(slider.settings.slideMargin>0){height+=slider.settings.slideMargin*(slider.settings.minSlides-1);}}else{height=Math.max.apply(Math,children.map(function(){return $(this).outerHeight(false);}).get());} if(slider.viewport.css('box-sizing')=='border-box'){height+=parseFloat(slider.viewport.css('padding-top'))+parseFloat(slider.viewport.css('padding-bottom'))+ parseFloat(slider.viewport.css('border-top-width'))+parseFloat(slider.viewport.css('border-bottom-width'));}else if(slider.viewport.css('box-sizing')=='padding-box'){height+=parseFloat(slider.viewport.css('padding-top'))+parseFloat(slider.viewport.css('padding-bottom'));} return height;} var getViewportMaxWidth=function(){var width='100%';if(slider.settings.slideWidth>0){if(slider.settings.mode=='horizontal'){width=(slider.settings.maxSlides*slider.settings.slideWidth)+((slider.settings.maxSlides-1)*slider.settings.slideMargin);}else{width=slider.settings.slideWidth;}} return width;} var getSlideWidth=function(){var newElWidth=slider.settings.slideWidth;var wrapWidth=slider.viewport.width();if(slider.settings.slideWidth==0||(slider.settings.slideWidth>wrapWidth&&!slider.carousel)||slider.settings.mode=='vertical'){newElWidth=wrapWidth;}else if(slider.settings.maxSlides>1&&slider.settings.mode=='horizontal'){if(wrapWidth>slider.maxThreshold){}else if(wrapWidth0){if(slider.viewport.width()slider.maxThreshold){slidesShowing=slider.settings.maxSlides;}else{var childWidth=slider.children.first().width()+slider.settings.slideMargin;slidesShowing=Math.floor((slider.viewport.width()+ slider.settings.slideMargin)/childWidth);}}else if(slider.settings.mode=='vertical'){slidesShowing=slider.settings.minSlides;} return slidesShowing;} var getPagerQty=function(){var pagerQty=0;if(slider.settings.moveSlides>0){if(slider.settings.infiniteLoop){pagerQty=Math.ceil(slider.children.length/getMoveBy());}else{var breakPoint=0;var counter=0 while(breakPoint0&&slider.settings.moveSlides<=getNumberSlidesShowing()){return slider.settings.moveSlides;} return getNumberSlidesShowing();} var setSlidePosition=function(){if(slider.children.length>slider.settings.maxSlides&&slider.active.last&&!slider.settings.infiniteLoop){if(slider.settings.mode=='horizontal'){var lastChild=slider.children.last();var position=lastChild.position();setPositionProperty(-(position.left-(slider.viewport.width()-lastChild.outerWidth())),'reset',0);}else if(slider.settings.mode=='vertical'){var lastShowingIndex=slider.children.length-slider.settings.minSlides;var position=slider.children.eq(lastShowingIndex).position();setPositionProperty(-position.top,'reset',0);}}else{var position=slider.children.eq(slider.active.index*getMoveBy()).position();if(slider.active.index==getPagerQty()-1)slider.active.last=true;if(position!=undefined){if(slider.settings.mode=='horizontal')setPositionProperty(-position.left,'reset',0);else if(slider.settings.mode=='vertical')setPositionProperty(-position.top,'reset',0);}}} var setPositionProperty=function(value,type,duration,params){if(slider.usingCSS){var propValue=slider.settings.mode=='vertical'?'translate3d(0, '+value+'px, 0)':'translate3d('+value+'px, 0, 0)';el.css('-'+slider.cssPrefix+'-transition-duration',duration/1000+'s');if(type=='slide'){el.css(slider.animProp,propValue);el.bind('transitionend webkitTransitionEnd oTransitionEnd MSTransitionEnd',function(){el.unbind('transitionend webkitTransitionEnd oTransitionEnd MSTransitionEnd');updateAfterSlideTransition();});}else if(type=='reset'){el.css(slider.animProp,propValue);}else if(type=='ticker'){el.css('-'+slider.cssPrefix+'-transition-timing-function','linear');el.css(slider.animProp,propValue);el.bind('transitionend webkitTransitionEnd oTransitionEnd MSTransitionEnd',function(){el.unbind('transitionend webkitTransitionEnd oTransitionEnd MSTransitionEnd');setPositionProperty(params['resetValue'],'reset',0);tickerLoop();});}}else{var animateObj={};animateObj[slider.animProp]=value;if(type=='slide'){el.animate(animateObj,duration,slider.settings.easing,function(){updateAfterSlideTransition();});}else if(type=='reset'){el.css(slider.animProp,value)}else if(type=='ticker'){el.animate(animateObj,speed,'linear',function(){setPositionProperty(params['resetValue'],'reset',0);tickerLoop();});}}} var populatePager=function(){var pagerHtml='';var pagerQty=getPagerQty();for(var i=0;i'+linkContent+'
    ';};slider.pagerEl.html(pagerHtml);} var appendPager=function(){if(!slider.settings.pagerCustom){slider.pagerEl=$('
    ');if(slider.settings.pagerSelector){$(slider.settings.pagerSelector).html(slider.pagerEl);}else{slider.controls.el.addClass('bx-has-pager').append(slider.pagerEl);} populatePager();}else{slider.pagerEl=$(slider.settings.pagerCustom);} slider.pagerEl.on('click','a',clickPagerBind);} var appendControls=function(){slider.controls.next=$(''+slider.settings.nextText+'');slider.controls.prev=$(''+slider.settings.prevText+'');slider.controls.next.bind('click',clickNextBind);slider.controls.prev.bind('click',clickPrevBind);if(slider.settings.nextSelector){$(slider.settings.nextSelector).append(slider.controls.next);} if(slider.settings.prevSelector){$(slider.settings.prevSelector).append(slider.controls.prev);} if(!slider.settings.nextSelector&&!slider.settings.prevSelector){slider.controls.directionEl=$('
    ');slider.controls.directionEl.append(slider.controls.prev).append(slider.controls.next);slider.controls.el.addClass('bx-has-controls-direction').append(slider.controls.directionEl);}} var appendControlsAuto=function(){slider.controls.start=$('');slider.controls.stop=$('');slider.controls.autoEl=$('
    ');slider.controls.autoEl.on('click','.bx-start',clickStartBind);slider.controls.autoEl.on('click','.bx-stop',clickStopBind);if(slider.settings.autoControlsCombine){slider.controls.autoEl.append(slider.controls.start);}else{slider.controls.autoEl.append(slider.controls.start).append(slider.controls.stop);} if(slider.settings.autoControlsSelector){$(slider.settings.autoControlsSelector).html(slider.controls.autoEl);}else{slider.controls.el.addClass('bx-has-controls-auto').append(slider.controls.autoEl);} updateAutoControls(slider.settings.autoStart?'stop':'start');} var appendCaptions=function(){slider.children.each(function(index){var title=$(this).find('img:first').attr('title');if(title!=undefined&&(''+title).length){$(this).append('
    '+title+'
    ');}});} var clickNextBind=function(e){if(slider.settings.auto)el.stopAuto();el.goToNextSlide();e.preventDefault();} var clickPrevBind=function(e){if(slider.settings.auto)el.stopAuto();el.goToPrevSlide();e.preventDefault();} var clickStartBind=function(e){el.startAuto();e.preventDefault();} var clickStopBind=function(e){el.stopAuto();e.preventDefault();} var clickPagerBind=function(e){if(slider.settings.auto)el.stopAuto();var pagerLink=$(e.currentTarget);if(pagerLink.attr('data-slide-index')!==undefined){var pagerIndex=parseInt(pagerLink.attr('data-slide-index'));if(pagerIndex!=slider.active.index)el.goToSlide(pagerIndex);e.preventDefault();}} var updatePagerActive=function(slideIndex){var len=slider.children.length;if(slider.settings.pagerType=='short'){if(slider.settings.maxSlides>1){len=Math.ceil(slider.children.length/slider.settings.maxSlides);} slider.pagerEl.html((slideIndex+1)+slider.settings.pagerShortSeparator+len);return;} slider.pagerEl.find('a').removeClass('active');slider.pagerEl.each(function(i,el){$(el).find('a').eq(slideIndex).addClass('active');});} var updateAfterSlideTransition=function(){if(slider.settings.infiniteLoop){var position='';if(slider.active.index==0){position=slider.children.eq(0).position();}else if(slider.active.index==getPagerQty()-1&&slider.carousel){position=slider.children.eq((getPagerQty()-1)*getMoveBy()).position();}else if(slider.active.index==slider.children.length-1){position=slider.children.eq(slider.children.length-1).position();} if(position){if(slider.settings.mode=='horizontal'){setPositionProperty(-position.left,'reset',0);} else if(slider.settings.mode=='vertical'){setPositionProperty(-position.top,'reset',0);}}} slider.working=false;slider.settings.onSlideAfter(slider.children.eq(slider.active.index),slider.oldIndex,slider.active.index);} var updateAutoControls=function(state){if(slider.settings.autoControlsCombine){slider.controls.autoEl.html(slider.controls[state]);}else{slider.controls.autoEl.find('a').removeClass('active');slider.controls.autoEl.find('a:not(.bx-'+state+')').addClass('active');}} var updateDirectionControls=function(){if(getPagerQty()==1){slider.controls.prev.addClass('disabled');slider.controls.next.addClass('disabled');}else if(!slider.settings.infiniteLoop&&slider.settings.hideControlOnEnd){if(slider.active.index==0){slider.controls.prev.addClass('disabled');slider.controls.next.removeClass('disabled');}else if(slider.active.index==getPagerQty()-1){slider.controls.next.addClass('disabled');slider.controls.prev.removeClass('disabled');}else{slider.controls.prev.removeClass('disabled');slider.controls.next.removeClass('disabled');}}} var initAuto=function(){if(slider.settings.autoDelay>0){var timeout=setTimeout(el.startAuto,slider.settings.autoDelay);}else{el.startAuto();} if(slider.settings.autoHover){el.hover(function(){if(slider.interval){el.stopAuto(true);slider.autoPaused=true;}},function(){if(slider.autoPaused){el.startAuto(true);slider.autoPaused=null;}});}} var initTicker=function(){var startPosition=0;if(slider.settings.autoDirection=='next'){el.append(slider.children.clone().addClass('bx-clone'));}else{el.prepend(slider.children.clone().addClass('bx-clone'));var position=slider.children.first().position();startPosition=slider.settings.mode=='horizontal'?-position.left:-position.top;} setPositionProperty(startPosition,'reset',0);slider.settings.pager=false;slider.settings.controls=false;slider.settings.autoControls=false;if(slider.settings.tickerHover&&!slider.usingCSS){slider.viewport.hover(function(){el.stop();},function(){var totalDimens=0;slider.children.each(function(index){totalDimens+=slider.settings.mode=='horizontal'?$(this).outerWidth(true):$(this).outerHeight(true);});var ratio=slider.settings.speed/totalDimens;var property=slider.settings.mode=='horizontal'?'left':'top';var newSpeed=ratio*(totalDimens-(Math.abs(parseInt(el.css(property)))));tickerLoop(newSpeed);});} tickerLoop();} var tickerLoop=function(resumeSpeed){speed=resumeSpeed?resumeSpeed:slider.settings.speed;var position={left:0,top:0};var reset={left:0,top:0};if(slider.settings.autoDirection=='next'){position=el.find('.bx-clone').first().position();}else{reset=slider.children.first().position();} var animateProperty=slider.settings.mode=='horizontal'?-position.left:-position.top;var resetValue=slider.settings.mode=='horizontal'?-reset.left:-reset.top;var params={resetValue:resetValue};setPositionProperty(animateProperty,'ticker',speed,params);} var initTouch=function(){slider.touch={start:{x:0,y:0},end:{x:0,y:0}} slider.viewport.bind('touchstart',onTouchStart);} var onTouchStart=function(e){if(slider.working){e.preventDefault();}else{slider.touch.originalPos=el.position();var orig=e.originalEvent;slider.touch.start.x=orig.changedTouches[0].pageX;slider.touch.start.y=orig.changedTouches[0].pageY;slider.viewport.bind('touchmove',onTouchMove);slider.viewport.bind('touchend',onTouchEnd);}} var onTouchMove=function(e){var orig=e.originalEvent;var xMovement=Math.abs(orig.changedTouches[0].pageX-slider.touch.start.x);var yMovement=Math.abs(orig.changedTouches[0].pageY-slider.touch.start.y);if((xMovement*3)>yMovement&&slider.settings.preventDefaultSwipeX){e.preventDefault();}else if((yMovement*3)>xMovement&&slider.settings.preventDefaultSwipeY){e.preventDefault();} if(slider.settings.mode!='fade'&&slider.settings.oneToOneTouch){var value=0;if(slider.settings.mode=='horizontal'){var change=orig.changedTouches[0].pageX-slider.touch.start.x;value=slider.touch.originalPos.left+change;}else{var change=orig.changedTouches[0].pageY-slider.touch.start.y;value=slider.touch.originalPos.top+change;} setPositionProperty(value,'reset',0);}} var onTouchEnd=function(e){slider.viewport.unbind('touchmove',onTouchMove);var orig=e.originalEvent;var value=0;slider.touch.end.x=orig.changedTouches[0].pageX;slider.touch.end.y=orig.changedTouches[0].pageY;if(slider.settings.mode=='fade'){var distance=Math.abs(slider.touch.start.x-slider.touch.end.x);if(distance>=slider.settings.swipeThreshold){slider.touch.start.x>slider.touch.end.x?el.goToNextSlide():el.goToPrevSlide();el.stopAuto();}}else{var distance=0;if(slider.settings.mode=='horizontal'){distance=slider.touch.end.x-slider.touch.start.x;value=slider.touch.originalPos.left;}else{distance=slider.touch.end.y-slider.touch.start.y;value=slider.touch.originalPos.top;} if(!slider.settings.infiniteLoop&&((slider.active.index==0&&distance>0)||(slider.active.last&&distance<0))){setPositionProperty(value,'reset',200);}else{if(Math.abs(distance)>=slider.settings.swipeThreshold){distance<0?el.goToNextSlide():el.goToPrevSlide();el.stopAuto();}else{setPositionProperty(value,'reset',200);}}} slider.viewport.unbind('touchend',onTouchEnd);} var resizeWindow=function(e){if(!slider.initialized)return;var windowWidthNew=$(window).width();var windowHeightNew=$(window).height();if(windowWidth!=windowWidthNew||windowHeight!=windowHeightNew){windowWidth=windowWidthNew;windowHeight=windowHeightNew;el.redrawSlider();slider.settings.onSliderResize.call(el,slider.active.index);}} el.goToSlide=function(slideIndex,direction){if(slider.working||slider.active.index==slideIndex)return;slider.working=true;slider.oldIndex=slider.active.index;if(slideIndex<0){slider.active.index=getPagerQty()-1;}else if(slideIndex>=getPagerQty()){slider.active.index=0;}else{slider.active.index=slideIndex;} slider.settings.onSlideBefore(slider.children.eq(slider.active.index),slider.oldIndex,slider.active.index);if(direction=='next'){slider.settings.onSlideNext(slider.children.eq(slider.active.index),slider.oldIndex,slider.active.index);}else if(direction=='prev'){slider.settings.onSlidePrev(slider.children.eq(slider.active.index),slider.oldIndex,slider.active.index);} slider.active.last=slider.active.index>=getPagerQty()-1;if(slider.settings.pager)updatePagerActive(slider.active.index);if(slider.settings.controls)updateDirectionControls();if(slider.settings.mode=='fade'){if(slider.settings.adaptiveHeight&&slider.viewport.height()!=getViewportHeight()){slider.viewport.animate({height:getViewportHeight()},slider.settings.adaptiveHeightSpeed);} slider.children.filter(':visible').fadeOut(slider.settings.speed).css({zIndex:0});slider.children.eq(slider.active.index).css('zIndex',slider.settings.slideZIndex+1).fadeIn(slider.settings.speed,function(){$(this).css('zIndex',slider.settings.slideZIndex);updateAfterSlideTransition();});}else{if(slider.settings.adaptiveHeight&&slider.viewport.height()!=getViewportHeight()){slider.viewport.animate({height:getViewportHeight()},slider.settings.adaptiveHeightSpeed);} var moveBy=0;var position={left:0,top:0};if(!slider.settings.infiniteLoop&&slider.carousel&&slider.active.last){if(slider.settings.mode=='horizontal'){var lastChild=slider.children.eq(slider.children.length-1);position=lastChild.position();moveBy=slider.viewport.width()-lastChild.outerWidth();}else{var lastShowingIndex=slider.children.length-slider.settings.minSlides;position=slider.children.eq(lastShowingIndex).position();}}else if(slider.carousel&&slider.active.last&&direction=='prev'){var eq=slider.settings.moveSlides==1?slider.settings.maxSlides-getMoveBy():((getPagerQty()-1)*getMoveBy())-(slider.children.length-slider.settings.maxSlides);var lastChild=el.children('.bx-clone').eq(eq);position=lastChild.position();}else if(direction=='next'&&slider.active.index==0){position=el.find('> .bx-clone').eq(slider.settings.maxSlides).position();slider.active.last=false;}else if(slideIndex>=0){var requestEl=slideIndex*getMoveBy();position=slider.children.eq(requestEl).position();} if("undefined"!==typeof(position)){var value=slider.settings.mode=='horizontal'?-(position.left-moveBy):-position.top;setPositionProperty(value,'slide',slider.settings.speed);}}} el.goToNextSlide=function(){if(!slider.settings.infiniteLoop&&slider.active.last)return;var pagerIndex=parseInt(slider.active.index)+1;el.goToSlide(pagerIndex,'next');} el.goToPrevSlide=function(){if(!slider.settings.infiniteLoop&&slider.active.index==0)return;var pagerIndex=parseInt(slider.active.index)-1;el.goToSlide(pagerIndex,'prev');} el.startAuto=function(preventControlUpdate){if(slider.interval)return;slider.interval=setInterval(function(){slider.settings.autoDirection=='next'?el.goToNextSlide():el.goToPrevSlide();},slider.settings.pause);if(slider.settings.autoControls&&preventControlUpdate!=true)updateAutoControls('stop');} el.stopAuto=function(preventControlUpdate){if(!slider.interval)return;clearInterval(slider.interval);slider.interval=null;if(slider.settings.autoControls&&preventControlUpdate!=true)updateAutoControls('start');} el.getCurrentSlide=function(){return slider.active.index;} el.getCurrentSlideElement=function(){return slider.children.eq(slider.active.index);} el.getSlideCount=function(){return slider.children.length;} el.redrawSlider=function(){slider.children.add(el.find('.bx-clone')).width(getSlideWidth());slider.viewport.css('height',getViewportHeight());if(!slider.settings.ticker)setSlidePosition();if(slider.active.last)slider.active.index=getPagerQty()-1;if(slider.active.index>=getPagerQty())slider.active.last=true;if(slider.settings.pager&&!slider.settings.pagerCustom){populatePager();updatePagerActive(slider.active.index);}} el.destroySlider=function(){if(!slider.initialized)return;slider.initialized=false;$('.bx-clone',this).remove();slider.children.each(function(){$(this).data("origStyle")!=undefined?$(this).attr("style",$(this).data("origStyle")):$(this).removeAttr('style');});$(this).data("origStyle")!=undefined?this.attr("style",$(this).data("origStyle")):$(this).removeAttr('style');$(this).unwrap().unwrap();if(slider.controls.el)slider.controls.el.remove();if(slider.controls.next)slider.controls.next.remove();if(slider.controls.prev)slider.controls.prev.remove();if(slider.pagerEl&&slider.settings.controls)slider.pagerEl.remove();$('.bx-caption',this).remove();if(slider.controls.autoEl)slider.controls.autoEl.remove();clearInterval(slider.interval);if(slider.settings.responsive)$(window).unbind('resize',resizeWindow);} el.reloadSlider=function(settings){if(settings!=undefined)options=settings;el.destroySlider();init();} init();return this;}})(jQuery); /*! * Jasny Bootstrap v3.1.3 (http://jasny.github.io/bootstrap) * Copyright 2012-2014 Arnold Daniels * Licensed under Apache-2.0 (https://github.com/jasny/bootstrap/blob/master/LICENSE) */ if("undefined"==typeof jQuery)throw new Error("Jasny Bootstrap's JavaScript requires jQuery");+function(a){"use strict";function b(){var a=document.createElement("bootstrap"),b={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(var c in b)if(void 0!==a.style[c])return{end:b[c]};return!1}void 0===a.support.transition&&(a.fn.emulateTransitionEnd=function(b){var c=!1,d=this;a(this).one(a.support.transition.end,function(){c=!0});var e=function(){c||a(d).trigger(a.support.transition.end)};return setTimeout(e,b),this},a(function(){a.support.transition=b()}))}(window.jQuery),+function(a){"use strict";var b=function(c,d){this.$element=a(c),this.options=a.extend({},b.DEFAULTS,d),this.state=null,this.placement=null,this.options.recalc&&(this.calcClone(),a(window).on("resize",a.proxy(this.recalc,this))),this.options.autohide&&a(document).on("click",a.proxy(this.autohide,this)),this.options.toggle&&this.toggle(),this.options.disablescrolling&&(this.options.disableScrolling=this.options.disablescrolling,delete this.options.disablescrolling)};b.DEFAULTS={toggle:!0,placement:"auto",autohide:!0,recalc:!0,disableScrolling:!0},b.prototype.offset=function(){switch(this.placement){case"left":case"right":return this.$element.outerWidth();case"top":case"bottom":return this.$element.outerHeight()}},b.prototype.calcPlacement=function(){function b(a,b){if("auto"===e.css(b))return a;if("auto"===e.css(a))return b;var c=parseInt(e.css(a),10),d=parseInt(e.css(b),10);return c>d?b:a}if("auto"!==this.options.placement)return void(this.placement=this.options.placement);this.$element.hasClass("in")||this.$element.css("visiblity","hidden !important").addClass("in");var c=a(window).width()/this.$element.width(),d=a(window).height()/this.$element.height(),e=this.$element;this.placement=c>=d?b("left","right"):b("top","bottom"),"hidden !important"===this.$element.css("visibility")&&this.$element.removeClass("in").css("visiblity","")},b.prototype.opposite=function(a){switch(a){case"top":return"bottom";case"left":return"right";case"bottom":return"top";case"right":return"left"}},b.prototype.getCanvasElements=function(){var b=this.options.canvas?a(this.options.canvas):this.$element,c=b.find("*").filter(function(){return"fixed"===a(this).css("position")}).not(this.options.exclude);return b.add(c)},b.prototype.slide=function(b,c,d){if(!a.support.transition){var e={};return e[this.placement]="+="+c,b.animate(e,350,d)}var f=this.placement,g=this.opposite(f);b.each(function(){"auto"!==a(this).css(f)&&a(this).css(f,(parseInt(a(this).css(f),10)||0)+c),"auto"!==a(this).css(g)&&a(this).css(g,(parseInt(a(this).css(g),10)||0)-c)}),this.$element.one(a.support.transition.end,d).emulateTransitionEnd(350)},b.prototype.disableScrolling=function(){var b=a("body").width(),c="padding-"+this.opposite(this.placement);if(void 0===a("body").data("offcanvas-style")&&a("body").data("offcanvas-style",a("body").attr("style")||""),a("body").css("overflow","hidden"),a("body").width()>b){var d=parseInt(a("body").css(c),10)+a("body").width()-b;setTimeout(function(){a("body").css(c,d)},1)}},b.prototype.show=function(){if(!this.state){var b=a.Event("show.bs.offcanvas");if(this.$element.trigger(b),!b.isDefaultPrevented()){this.state="slide-in",this.calcPlacement();var c=this.getCanvasElements(),d=this.placement,e=this.opposite(d),f=this.offset();-1!==c.index(this.$element)&&(a(this.$element).data("offcanvas-style",a(this.$element).attr("style")||""),this.$element.css(d,-1*f),this.$element.css(d)),c.addClass("canvas-sliding").each(function(){void 0===a(this).data("offcanvas-style")&&a(this).data("offcanvas-style",a(this).attr("style")||""),"static"===a(this).css("position")&&a(this).css("position","relative"),"auto"!==a(this).css(d)&&"0px"!==a(this).css(d)||"auto"!==a(this).css(e)&&"0px"!==a(this).css(e)||a(this).css(d,0)}),this.options.disableScrolling&&this.disableScrolling();var g=function(){"slide-in"==this.state&&(this.state="slid",c.removeClass("canvas-sliding").addClass("canvas-slid"),this.$element.trigger("shown.bs.offcanvas"))};setTimeout(a.proxy(function(){this.$element.addClass("in"),this.slide(c,f,a.proxy(g,this))},this),1)}}},b.prototype.hide=function(){if("slid"===this.state){var b=a.Event("hide.bs.offcanvas");if(this.$element.trigger(b),!b.isDefaultPrevented()){this.state="slide-out";var c=a(".canvas-slid"),d=(this.placement,-1*this.offset()),e=function(){"slide-out"==this.state&&(this.state=null,this.placement=null,this.$element.removeClass("in"),c.removeClass("canvas-sliding"),c.add(this.$element).add("body").each(function(){a(this).attr("style",a(this).data("offcanvas-style")).removeData("offcanvas-style")}),this.$element.trigger("hidden.bs.offcanvas"))};c.removeClass("canvas-slid").addClass("canvas-sliding"),setTimeout(a.proxy(function(){this.slide(c,d,a.proxy(e,this))},this),1)}}},b.prototype.toggle=function(){"slide-in"!==this.state&&"slide-out"!==this.state&&this["slid"===this.state?"hide":"show"]()},b.prototype.calcClone=function(){this.$calcClone=this.$element.clone().html("").addClass("offcanvas-clone").removeClass("in").appendTo(a("body"))},b.prototype.recalc=function(){if("none"!==this.$calcClone.css("display")&&("slid"===this.state||"slide-in"===this.state)){this.state=null,this.placement=null;var b=this.getCanvasElements();this.$element.removeClass("in"),b.removeClass("canvas-slid"),b.add(this.$element).add("body").each(function(){a(this).attr("style",a(this).data("offcanvas-style")).removeData("offcanvas-style")})}},b.prototype.autohide=function(b){0===a(b.target).closest(this.$element).length&&this.hide()};var c=a.fn.offcanvas;a.fn.offcanvas=function(c){return this.each(function(){var d=a(this),e=d.data("bs.offcanvas"),f=a.extend({},b.DEFAULTS,d.data(),"object"==typeof c&&c);e||d.data("bs.offcanvas",e=new b(this,f)),"string"==typeof c&&e[c]()})},a.fn.offcanvas.Constructor=b,a.fn.offcanvas.noConflict=function(){return a.fn.offcanvas=c,this},a(document).on("click.bs.offcanvas.data-api","[data-toggle=offcanvas]",function(b){var c,d=a(this),e=d.attr("data-target")||b.preventDefault()||(c=d.attr("href"))&&c.replace(/.*(?=#[^\s]+$)/,""),f=a(e),g=f.data("bs.offcanvas"),h=g?"toggle":d.data();b.stopPropagation(),g?g.toggle():f.offcanvas(h)})}(window.jQuery),+function(a){"use strict";var b=function(c,d){this.$element=a(c),this.options=a.extend({},b.DEFAULTS,d),this.$element.on("click.bs.rowlink","td:not(.rowlink-skip)",a.proxy(this.click,this))};b.DEFAULTS={target:"a"},b.prototype.click=function(b){var c=a(b.currentTarget).closest("tr").find(this.options.target)[0];if(a(b.target)[0]!==c)if(b.preventDefault(),c.click)c.click();else if(document.createEvent){var d=document.createEvent("MouseEvents");d.initMouseEvent("click",!0,!0,window,0,0,0,0,0,!1,!1,!1,!1,0,null),c.dispatchEvent(d)}};var c=a.fn.rowlink;a.fn.rowlink=function(c){return this.each(function(){var d=a(this),e=d.data("bs.rowlink");e||d.data("bs.rowlink",e=new b(this,c))})},a.fn.rowlink.Constructor=b,a.fn.rowlink.noConflict=function(){return a.fn.rowlink=c,this},a(document).on("click.bs.rowlink.data-api",'[data-link="row"]',function(b){if(0===a(b.target).closest(".rowlink-skip").length){var c=a(this);c.data("bs.rowlink")||(c.rowlink(c.data()),a(b.target).trigger("click.bs.rowlink"))}})}(window.jQuery),+function(a){"use strict";var b=void 0!==window.orientation,c=navigator.userAgent.toLowerCase().indexOf("android")>-1,d="Microsoft Internet Explorer"==window.navigator.appName,e=function(b,d){c||(this.$element=a(b),this.options=a.extend({},e.DEFAULTS,d),this.mask=String(this.options.mask),this.init(),this.listen(),this.checkVal())};e.DEFAULTS={mask:"",placeholder:"_",definitions:{9:"[0-9]",a:"[A-Za-z]",w:"[A-Za-z0-9]","*":"."}},e.prototype.init=function(){var b=this.options.definitions,c=this.mask.length;this.tests=[],this.partialPosition=this.mask.length,this.firstNonMaskPos=null,a.each(this.mask.split(""),a.proxy(function(a,d){"?"==d?(c--,this.partialPosition=a):b[d]?(this.tests.push(new RegExp(b[d])),null===this.firstNonMaskPos&&(this.firstNonMaskPos=this.tests.length-1)):this.tests.push(null)},this)),this.buffer=a.map(this.mask.split(""),a.proxy(function(a){return"?"!=a?b[a]?this.options.placeholder:a:void 0},this)),this.focusText=this.$element.val(),this.$element.data("rawMaskFn",a.proxy(function(){return a.map(this.buffer,function(a,b){return this.tests[b]&&a!=this.options.placeholder?a:null}).join("")},this))},e.prototype.listen=function(){if(!this.$element.attr("readonly")){var b=(d?"paste":"input")+".mask";this.$element.on("unmask.bs.inputmask",a.proxy(this.unmask,this)).on("focus.bs.inputmask",a.proxy(this.focusEvent,this)).on("blur.bs.inputmask",a.proxy(this.blurEvent,this)).on("keydown.bs.inputmask",a.proxy(this.keydownEvent,this)).on("keypress.bs.inputmask",a.proxy(this.keypressEvent,this)).on(b,a.proxy(this.pasteEvent,this))}},e.prototype.caret=function(a,b){if(0!==this.$element.length){if("number"==typeof a)return b="number"==typeof b?b:a,this.$element.each(function(){if(this.setSelectionRange)this.setSelectionRange(a,b);else if(this.createTextRange){var c=this.createTextRange();c.collapse(!0),c.moveEnd("character",b),c.moveStart("character",a),c.select()}});if(this.$element[0].setSelectionRange)a=this.$element[0].selectionStart,b=this.$element[0].selectionEnd;else if(document.selection&&document.selection.createRange){var c=document.selection.createRange();a=0-c.duplicate().moveStart("character",-1e5),b=a+c.text.length}return{begin:a,end:b}}},e.prototype.seekNext=function(a){for(var b=this.mask.length;++a<=b&&!this.tests[a];);return a},e.prototype.seekPrev=function(a){for(;--a>=0&&!this.tests[a];);return a},e.prototype.shiftL=function(a,b){var c=this.mask.length;if(!(0>a)){for(var d=a,e=this.seekNext(b);c>d;d++)if(this.tests[d]){if(!(c>e&&this.tests[d].test(this.buffer[e])))break;this.buffer[d]=this.buffer[e],this.buffer[e]=this.options.placeholder,e=this.seekNext(e)}this.writeBuffer(),this.caret(Math.max(this.firstNonMaskPos,a))}},e.prototype.shiftR=function(a){for(var b=this.mask.length,c=a,d=this.options.placeholder;b>c;c++)if(this.tests[c]){var e=this.seekNext(c),f=this.buffer[c];if(this.buffer[c]=d,!(b>e&&this.tests[e].test(f)))break;d=f}},e.prototype.unmask=function(){this.$element.unbind(".mask").removeData("inputmask")},e.prototype.focusEvent=function(){this.focusText=this.$element.val();var a=this.mask.length,b=this.checkVal();this.writeBuffer();var c=this,d=function(){b==a?c.caret(0,b):c.caret(b)};d(),setTimeout(d,50)},e.prototype.blurEvent=function(){this.checkVal(),this.$element.val()!==this.focusText&&this.$element.trigger("change")},e.prototype.keydownEvent=function(a){var c=a.which;if(8==c||46==c||b&&127==c){var d=this.caret(),e=d.begin,f=d.end;return f-e===0&&(e=46!=c?this.seekPrev(e):f=this.seekNext(e-1),f=46==c?this.seekNext(f):f),this.clearBuffer(e,f),this.shiftL(e,f-1),!1}return 27==c?(this.$element.val(this.focusText),this.caret(0,this.checkVal()),!1):void 0},e.prototype.keypressEvent=function(a){var b=this.mask.length,c=a.which,d=this.caret();if(a.ctrlKey||a.altKey||a.metaKey||32>c)return!0;if(c){d.end-d.begin!==0&&(this.clearBuffer(d.begin,d.end),this.shiftL(d.begin,d.end-1));var e=this.seekNext(d.begin-1);if(b>e){var f=String.fromCharCode(c);if(this.tests[e].test(f)){this.shiftR(e),this.buffer[e]=f,this.writeBuffer();var g=this.seekNext(e);this.caret(g)}}return!1}},e.prototype.pasteEvent=function(){var a=this;setTimeout(function(){a.caret(a.checkVal(!0))},0)},e.prototype.clearBuffer=function(a,b){for(var c=this.mask.length,d=a;b>d&&c>d;d++)this.tests[d]&&(this.buffer[d]=this.options.placeholder)},e.prototype.writeBuffer=function(){return this.$element.val(this.buffer.join("")).val()},e.prototype.checkVal=function(a){for(var b=this.mask.length,c=this.$element.val(),d=-1,e=0,f=0;b>e;e++)if(this.tests[e]){for(this.buffer[e]=this.options.placeholder;f++c.length)break}else this.buffer[e]==c.charAt(f)&&e!=this.partialPosition&&(f++,d=e);return!a&&d+1=this.partialPosition)&&(this.writeBuffer(),a||this.$element.val(this.$element.val().substring(0,d+1))),this.partialPosition?e:this.firstNonMaskPos};var f=a.fn.inputmask;a.fn.inputmask=function(b){return this.each(function(){var c=a(this),d=c.data("bs.inputmask");d||c.data("bs.inputmask",d=new e(this,b))})},a.fn.inputmask.Constructor=e,a.fn.inputmask.noConflict=function(){return a.fn.inputmask=f,this},a(document).on("focus.bs.inputmask.data-api","[data-mask]",function(){var b=a(this);b.data("bs.inputmask")||b.inputmask(b.data())})}(window.jQuery),+function(a){"use strict";var b="Microsoft Internet Explorer"==window.navigator.appName,c=function(b,c){if(this.$element=a(b),this.$input=this.$element.find(":file"),0!==this.$input.length){this.name=this.$input.attr("name")||c.name,this.$hidden=this.$element.find('input[type=hidden][name="'+this.name+'"]'),0===this.$hidden.length&&(this.$hidden=a('').insertBefore(this.$input)),this.$preview=this.$element.find(".fileinput-preview");var d=this.$preview.css("height");"inline"!==this.$preview.css("display")&&"0px"!==d&&"none"!==d&&this.$preview.css("line-height",d),this.original={exists:this.$element.hasClass("fileinput-exists"),preview:this.$preview.html(),hiddenVal:this.$hidden.val()},this.listen()}};c.prototype.listen=function(){this.$input.on("change.bs.fileinput",a.proxy(this.change,this)),a(this.$input[0].form).on("reset.bs.fileinput",a.proxy(this.reset,this)),this.$element.find('[data-trigger="fileinput"]').on("click.bs.fileinput",a.proxy(this.trigger,this)),this.$element.find('[data-dismiss="fileinput"]').on("click.bs.fileinput",a.proxy(this.clear,this))},c.prototype.change=function(b){var c=void 0===b.target.files?b.target&&b.target.value?[{name:b.target.value.replace(/^.+\\/,"")}]:[]:b.target.files;if(b.stopPropagation(),0===c.length)return void this.clear();this.$hidden.val(""),this.$hidden.attr("name",""),this.$input.attr("name",this.name);var d=c[0];if(this.$preview.length>0&&("undefined"!=typeof d.type?d.type.match(/^image\/(gif|png|jpeg)$/):d.name.match(/\.(gif|png|jpe?g)$/i))&&"undefined"!=typeof FileReader){var e=new FileReader,f=this.$preview,g=this.$element;e.onload=function(b){var e=a("");e[0].src=b.target.result,c[0].result=b.target.result,g.find(".fileinput-filename").text(d.name),"none"!=f.css("max-height")&&e.css("max-height",parseInt(f.css("max-height"),10)-parseInt(f.css("padding-top"),10)-parseInt(f.css("padding-bottom"),10)-parseInt(f.css("border-top"),10)-parseInt(f.css("border-bottom"),10)),f.html(e),g.addClass("fileinput-exists").removeClass("fileinput-new"),g.trigger("change.bs.fileinput",c)},e.readAsDataURL(d)}else this.$element.find(".fileinput-filename").text(d.name),this.$preview.text(d.name),this.$element.addClass("fileinput-exists").removeClass("fileinput-new"),this.$element.trigger("change.bs.fileinput")},c.prototype.clear=function(a){if(a&&a.preventDefault(),this.$hidden.val(""),this.$hidden.attr("name",this.name),this.$input.attr("name",""),b){var c=this.$input.clone(!0);this.$input.after(c),this.$input.remove(),this.$input=c}else this.$input.val("");this.$preview.html(""),this.$element.find(".fileinput-filename").text(""),this.$element.addClass("fileinput-new").removeClass("fileinput-exists"),void 0!==a&&(this.$input.trigger("change"),this.$element.trigger("clear.bs.fileinput"))},c.prototype.reset=function(){this.clear(),this.$hidden.val(this.original.hiddenVal),this.$preview.html(this.original.preview),this.$element.find(".fileinput-filename").text(""),this.original.exists?this.$element.addClass("fileinput-exists").removeClass("fileinput-new"):this.$element.addClass("fileinput-new").removeClass("fileinput-exists"),this.$element.trigger("reset.bs.fileinput")},c.prototype.trigger=function(a){this.$input.trigger("click"),a.preventDefault()};var d=a.fn.fileinput;a.fn.fileinput=function(b){return this.each(function(){var d=a(this),e=d.data("bs.fileinput");e||d.data("bs.fileinput",e=new c(this,b)),"string"==typeof b&&e[b]()})},a.fn.fileinput.Constructor=c,a.fn.fileinput.noConflict=function(){return a.fn.fileinput=d,this},a(document).on("click.fileinput.data-api",'[data-provides="fileinput"]',function(b){var c=a(this);if(!c.data("bs.fileinput")){c.fileinput(c.data());var d=a(b.target).closest('[data-dismiss="fileinput"],[data-trigger="fileinput"]');d.length>0&&(b.preventDefault(),d.trigger("click.bs.fileinput"))}})}(window.jQuery); !function ($) { "use strict"; // TABCOLLAPSE CLASS DEFINITION // ====================== var TabCollapse = function (el, options) { this.options = options; this.$tabs = $(el); this._accordionVisible = false; //content is attached to tabs at first this._initAccordion(); this._checkStateOnResize(); // checkState() has gone to setTimeout for making it possible to attach listeners to // shown-accordion.bs.tabcollapse event on page load. // See https://github.com/flatlogic/bootstrap-tabcollapse/issues/23 var that = this; setTimeout(function() { that.checkState(); }, 0); }; TabCollapse.DEFAULTS = { accordionClass: 'visible-xs', tabsClass: 'hidden-xs', accordionTemplate: function(heading, groupId, parentId, active) { return '
    ' + '
    ' + '

    ' + '

    ' + '
    ' + '
    ' + '
    ' + '
    ' + '
    ' + '
    ' } }; TabCollapse.prototype.checkState = function(){ if (this.$tabs.is(':visible') && this._accordionVisible){ this.showTabs(); this._accordionVisible = false; } else if (this.$accordion.is(':visible') && !this._accordionVisible){ this.showAccordion(); this._accordionVisible = true; } }; TabCollapse.prototype.showTabs = function(){ var view = this; this.$tabs.trigger($.Event('show-tabs.bs.tabcollapse')); var $panelHeadings = this.$accordion.find('.js-tabcollapse-panel-heading').detach(); $panelHeadings.each(function() { var $panelHeading = $(this), $parentLi = $panelHeading.data('bs.tabcollapse.parentLi'); view._panelHeadingToTabHeading($panelHeading); $parentLi.append($panelHeading); }); var $panelBodies = this.$accordion.find('.js-tabcollapse-panel-body'); $panelBodies.each(function(){ var $panelBody = $(this), $tabPane = $panelBody.data('bs.tabcollapse.tabpane'); $tabPane.append($panelBody.children('*').detach()); }); this.$accordion.html(''); this.$tabs.trigger($.Event('shown-tabs.bs.tabcollapse')); }; TabCollapse.prototype.showAccordion = function(){ this.$tabs.trigger($.Event('show-accordion.bs.tabcollapse')); var $headings = this.$tabs.find('li:not(.dropdown) [data-toggle="tab"], li:not(.dropdown) [data-toggle="pill"]'), view = this; $headings.each(function(){ var $heading = $(this), $parentLi = $heading.parent(); $heading.data('bs.tabcollapse.parentLi', $parentLi); view.$accordion.append(view._createAccordionGroup(view.$accordion.attr('id'), $heading.detach())); }); this.$tabs.trigger($.Event('shown-accordion.bs.tabcollapse')); }; TabCollapse.prototype._panelHeadingToTabHeading = function($heading) { var href = $heading.attr('href').replace(/-collapse$/g, ''); $heading.attr({ 'data-toggle': 'tab', 'href': href, 'data-parent': '' }); return $heading; }; TabCollapse.prototype._tabHeadingToPanelHeading = function($heading, groupId, parentId, active) { $heading.addClass('js-tabcollapse-panel-heading ' + (active ? '' : 'collapsed')); $heading.attr({ 'data-toggle': 'collapse', 'data-parent': '#' + parentId, 'href': '#' + groupId }); return $heading; }; TabCollapse.prototype._checkStateOnResize = function(){ var view = this; $(window).resize(function(){ clearTimeout(view._resizeTimeout); view._resizeTimeout = setTimeout(function(){ view.checkState(); }, 100); }); }; TabCollapse.prototype._initAccordion = function(){ this.$accordion = $('
    '); this.$tabs.after(this.$accordion); this.$tabs.addClass(this.options.tabsClass); this.$tabs.siblings('.tab-content').addClass(this.options.tabsClass); }; TabCollapse.prototype._createAccordionGroup = function(parentId, $heading){ var tabSelector = $heading.attr('data-target'), /* Pour ouvrir le premier accordion active = $heading.data('bs.tabcollapse.parentLi').is('.active'); */ active = false; if (!tabSelector) { tabSelector = $heading.attr('href'); tabSelector = tabSelector && tabSelector.replace(/.*(?=#[^\s]*$)/, ''); //strip for ie7 } var $tabPane = $(tabSelector), groupId = $tabPane.attr('id') + '-collapse', $panel = $(this.options.accordionTemplate($heading, groupId, parentId, active)); $panel.find('.panel-heading > .panel-title').append(this._tabHeadingToPanelHeading($heading, groupId, parentId, active)); $panel.find('.panel-body').append($tabPane.children('*').detach()) .data('bs.tabcollapse.tabpane', $tabPane); return $panel; }; // TABCOLLAPSE PLUGIN DEFINITION // ======================= $.fn.tabCollapse = function (option) { return this.each(function () { var $this = $(this); var data = $this.data('bs.tabcollapse'); var options = $.extend({}, TabCollapse.DEFAULTS, $this.data(), typeof option === 'object' && option); if (!data) $this.data('bs.tabcollapse', new TabCollapse(this, options)); }); }; $.fn.tabCollapse.Constructor = TabCollapse; }(window.jQuery); /*! Lazy Load 1.9.5 - MIT license - Copyright 2010-2015 Mika Tuupola */ !function(a,b,c,d){var e=a(b);a.fn.lazyload=function(f){function g(){var b=0;i.each(function(){var c=a(this);if(!j.skip_invisible||c.is(":visible"))if(a.abovethetop(this,j)||a.leftofbegin(this,j));else if(a.belowthefold(this,j)||a.rightoffold(this,j)){if(++b>j.failure_limit)return!1}else c.trigger("appear"),b=0})}var h,i=this,j={threshold:0,failure_limit:0,event:"scroll",effect:"show",container:b,data_attribute:"original",skip_invisible:!1,appear:null,load:null,placeholder:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB/AAffA0nNPuCLAAAAAElFTkSuQmCC"};return f&&(d!==f.failurelimit&&(f.failure_limit=f.failurelimit,delete f.failurelimit),d!==f.effectspeed&&(f.effect_speed=f.effectspeed,delete f.effectspeed),a.extend(j,f)),h=j.container===d||j.container===b?e:a(j.container),0===j.event.indexOf("scroll")&&h.bind(j.event,function(){return g()}),this.each(function(){var b=this,c=a(b);b.loaded=!1,(c.attr("src")===d||c.attr("src")===!1)&&c.is("img")&&c.attr("src",j.placeholder),c.one("appear",function(){if(!this.loaded){if(j.appear){var d=i.length;j.appear.call(b,d,j)}a("").bind("load",function(){var d=c.attr("data-"+j.data_attribute);c.hide(),c.is("img")?c.attr("src",d):c.css("background-image","url('"+d+"')"),c[j.effect](j.effect_speed),b.loaded=!0;var e=a.grep(i,function(a){return!a.loaded});if(i=a(e),j.load){var f=i.length;j.load.call(b,f,j)}}).attr("src",c.attr("data-"+j.data_attribute))}}),0!==j.event.indexOf("scroll")&&c.bind(j.event,function(){b.loaded||c.trigger("appear")})}),e.bind("resize",function(){g()}),/(?:iphone|ipod|ipad).*os 5/gi.test(navigator.appVersion)&&e.bind("pageshow",function(b){b.originalEvent&&b.originalEvent.persisted&&i.each(function(){a(this).trigger("appear")})}),a(c).ready(function(){g()}),this},a.belowthefold=function(c,f){var g;return g=f.container===d||f.container===b?(b.innerHeight?b.innerHeight:e.height())+e.scrollTop():a(f.container).offset().top+a(f.container).height(),g<=a(c).offset().top-f.threshold},a.rightoffold=function(c,f){var g;return g=f.container===d||f.container===b?e.width()+e.scrollLeft():a(f.container).offset().left+a(f.container).width(),g<=a(c).offset().left-f.threshold},a.abovethetop=function(c,f){var g;return g=f.container===d||f.container===b?e.scrollTop():a(f.container).offset().top,g>=a(c).offset().top+f.threshold+a(c).height()},a.leftofbegin=function(c,f){var g;return g=f.container===d||f.container===b?e.scrollLeft():a(f.container).offset().left,g>=a(c).offset().left+f.threshold+a(c).width()},a.inviewport=function(b,c){return!(a.rightoffold(b,c)||a.leftofbegin(b,c)||a.belowthefold(b,c)||a.abovethetop(b,c))},a.extend(a.expr[":"],{"below-the-fold":function(b){return a.belowthefold(b,{threshold:0})},"above-the-top":function(b){return!a.belowthefold(b,{threshold:0})},"right-of-screen":function(b){return a.rightoffold(b,{threshold:0})},"left-of-screen":function(b){return!a.rightoffold(b,{threshold:0})},"in-viewport":function(b){return a.inviewport(b,{threshold:0})},"above-the-fold":function(b){return!a.belowthefold(b,{threshold:0})},"right-of-fold":function(b){return a.rightoffold(b,{threshold:0})},"left-of-fold":function(b){return!a.rightoffold(b,{threshold:0})}})}(jQuery,window,document); /*! jQuery Validation Plugin - v1.11.1 - 3/22/2013\n* https://github.com/jzaefferer/jquery-validation * Copyright (c) 2013 Jörn Zaefferer; Licensed MIT */(function(t){t.extend(t.fn,{validate:function(e){if(!this.length)return e&&e.debug&&window.console&&console.warn("Nothing selected, can't validate, returning nothing."),void 0;var i=t.data(this[0],"validator");return i?i:(this.attr("novalidate","novalidate"),i=new t.validator(e,this[0]),t.data(this[0],"validator",i),i.settings.onsubmit&&(this.validateDelegate(":submit","click",function(e){i.settings.submitHandler&&(i.submitButton=e.target),t(e.target).hasClass("cancel")&&(i.cancelSubmit=!0),void 0!==t(e.target).attr("formnovalidate")&&(i.cancelSubmit=!0)}),this.submit(function(e){function s(){var s;return i.settings.submitHandler?(i.submitButton&&(s=t("").attr("name",i.submitButton.name).val(t(i.submitButton).val()).appendTo(i.currentForm)),i.settings.submitHandler.call(i,i.currentForm,e),i.submitButton&&s.remove(),!1):!0}return i.settings.debug&&e.preventDefault(),i.cancelSubmit?(i.cancelSubmit=!1,s()):i.form()?i.pendingRequest?(i.formSubmitted=!0,!1):s():(i.focusInvalid(),!1)})),i)},valid:function(){if(t(this[0]).is("form"))return this.validate().form();var e=!0,i=t(this[0].form).validate();return this.each(function(){e=e&&i.element(this)}),e},removeAttrs:function(e){var i={},s=this;return t.each(e.split(/\s/),function(t,e){i[e]=s.attr(e),s.removeAttr(e)}),i},rules:function(e,i){var s=this[0];if(e){var r=t.data(s.form,"validator").settings,n=r.rules,a=t.validator.staticRules(s);switch(e){case"add":t.extend(a,t.validator.normalizeRule(i)),delete a.messages,n[s.name]=a,i.messages&&(r.messages[s.name]=t.extend(r.messages[s.name],i.messages));break;case"remove":if(!i)return delete n[s.name],a;var u={};return t.each(i.split(/\s/),function(t,e){u[e]=a[e],delete a[e]}),u}}var o=t.validator.normalizeRules(t.extend({},t.validator.classRules(s),t.validator.attributeRules(s),t.validator.dataRules(s),t.validator.staticRules(s)),s);if(o.required){var l=o.required;delete o.required,o=t.extend({required:l},o)}return o}}),t.extend(t.expr[":"],{blank:function(e){return!t.trim(""+t(e).val())},filled:function(e){return!!t.trim(""+t(e).val())},unchecked:function(e){return!t(e).prop("checked")}}),t.validator=function(e,i){this.settings=t.extend(!0,{},t.validator.defaults,e),this.currentForm=i,this.init()},t.validator.format=function(e,i){return 1===arguments.length?function(){var i=t.makeArray(arguments);return i.unshift(e),t.validator.format.apply(this,i)}:(arguments.length>2&&i.constructor!==Array&&(i=t.makeArray(arguments).slice(1)),i.constructor!==Array&&(i=[i]),t.each(i,function(t,i){e=e.replace(RegExp("\\{"+t+"\\}","g"),function(){return i})}),e)},t.extend(t.validator,{defaults:{messages:{},groups:{},rules:{},errorClass:"error",validClass:"valid",errorElement:"label",focusInvalid:!0,errorContainer:t([]),errorLabelContainer:t([]),onsubmit:!0,ignore:":hidden",ignoreTitle:!1,onfocusin:function(t){this.lastActive=t,this.settings.focusCleanup&&!this.blockFocusCleanup&&(this.settings.unhighlight&&this.settings.unhighlight.call(this,t,this.settings.errorClass,this.settings.validClass),this.addWrapper(this.errorsFor(t)).hide())},onfocusout:function(t){this.checkable(t)||!(t.name in this.submitted)&&this.optional(t)||this.element(t)},onkeyup:function(t,e){(9!==e.which||""!==this.elementValue(t))&&(t.name in this.submitted||t===this.lastElement)&&this.element(t)},onclick:function(t){t.name in this.submitted?this.element(t):t.parentNode.name in this.submitted&&this.element(t.parentNode)},highlight:function(e,i,s){"radio"===e.type?this.findByName(e.name).addClass(i).removeClass(s):t(e).addClass(i).removeClass(s)},unhighlight:function(e,i,s){"radio"===e.type?this.findByName(e.name).removeClass(i).addClass(s):t(e).removeClass(i).addClass(s)}},setDefaults:function(e){t.extend(t.validator.defaults,e)},messages:{required:"This field is required.",remote:"Please fix this field.",email:"Please enter a valid email address.",url:"Please enter a valid URL.",date:"Date invalide.",dateISO:"Please enter a valid date (ISO).",number:"Please enter a valid number.",digits:"Please enter only digits.",creditcard:"Please enter a valid credit card number.",equalTo:"Please enter the same value again.",maxlength:t.validator.format("Please enter no more than {0} characters."),minlength:t.validator.format("Please enter at least {0} characters."),rangelength:t.validator.format("Please enter a value between {0} and {1} characters long."),range:t.validator.format("Please enter a value between {0} and {1}."),max:t.validator.format("Please enter a value less than or equal to {0}."),min:t.validator.format("Please enter a value greater than or equal to {0}.")},autoCreateRanges:!1,prototype:{init:function(){function e(e){var i=t.data(this[0].form,"validator"),s="on"+e.type.replace(/^validate/,"");i.settings[s]&&i.settings[s].call(i,this[0],e)}this.labelContainer=t(this.settings.errorLabelContainer),this.errorContext=this.labelContainer.length&&this.labelContainer||t(this.currentForm),this.containers=t(this.settings.errorContainer).add(this.settings.errorLabelContainer),this.submitted={},this.valueCache={},this.pendingRequest=0,this.pending={},this.invalid={},this.reset();var i=this.groups={};t.each(this.settings.groups,function(e,s){"string"==typeof s&&(s=s.split(/\s/)),t.each(s,function(t,s){i[s]=e})});var s=this.settings.rules;t.each(s,function(e,i){s[e]=t.validator.normalizeRule(i)}),t(this.currentForm).validateDelegate(":text, [type='password'], [type='file'], select, textarea, [type='number'], [type='search'] ,[type='tel'], [type='url'], [type='email'], [type='datetime'], [type='date'], [type='month'], [type='week'], [type='time'], [type='datetime-local'], [type='range'], [type='color'] ","focusin focusout keyup",e).validateDelegate("[type='radio'], [type='checkbox'], select, option","click",e),this.settings.invalidHandler&&t(this.currentForm).bind("invalid-form.validate",this.settings.invalidHandler)},form:function(){return this.checkForm(),t.extend(this.submitted,this.errorMap),this.invalid=t.extend({},this.errorMap),this.valid()||t(this.currentForm).triggerHandler("invalid-form",[this]),this.showErrors(),this.valid()},checkForm:function(){this.prepareForm();for(var t=0,e=this.currentElements=this.elements();e[t];t++)this.check(e[t]);return this.valid()},element:function(e){e=this.validationTargetFor(this.clean(e)),this.lastElement=e,this.prepareElement(e),this.currentElements=t(e);var i=this.check(e)!==!1;return i?delete this.invalid[e.name]:this.invalid[e.name]=!0,this.numberOfInvalids()||(this.toHide=this.toHide.add(this.containers)),this.showErrors(),i},showErrors:function(e){if(e){t.extend(this.errorMap,e),this.errorList=[];for(var i in e)this.errorList.push({message:e[i],element:this.findByName(i)[0]});this.successList=t.grep(this.successList,function(t){return!(t.name in e)})}this.settings.showErrors?this.settings.showErrors.call(this,this.errorMap,this.errorList):this.defaultShowErrors()},resetForm:function(){t.fn.resetForm&&t(this.currentForm).resetForm(),this.submitted={},this.lastElement=null,this.prepareForm(),this.hideErrors(),this.elements().removeClass(this.settings.errorClass).removeData("previousValue")},numberOfInvalids:function(){return this.objectLength(this.invalid)},objectLength:function(t){var e=0;for(var i in t)e++;return e},hideErrors:function(){this.addWrapper(this.toHide).hide()},valid:function(){return 0===this.size()},size:function(){return this.errorList.length},focusInvalid:function(){if(this.settings.focusInvalid)try{t(this.findLastActive()||this.errorList.length&&this.errorList[0].element||[]).filter(":visible").focus().trigger("focusin")}catch(e){}},findLastActive:function(){var e=this.lastActive;return e&&1===t.grep(this.errorList,function(t){return t.element.name===e.name}).length&&e},elements:function(){var e=this,i={};return t(this.currentForm).find("input, select, textarea").not(":submit, :reset, :image, [disabled]").not(this.settings.ignore).filter(function(){return!this.name&&e.settings.debug&&window.console&&console.error("%o has no name assigned",this),this.name in i||!e.objectLength(t(this).rules())?!1:(i[this.name]=!0,!0)})},clean:function(e){return t(e)[0]},errors:function(){var e=this.settings.errorClass.replace(" ",".");return t(this.settings.errorElement+"."+e,this.errorContext)},reset:function(){this.successList=[],this.errorList=[],this.errorMap={},this.toShow=t([]),this.toHide=t([]),this.currentElements=t([])},prepareForm:function(){this.reset(),this.toHide=this.errors().add(this.containers)},prepareElement:function(t){this.reset(),this.toHide=this.errorsFor(t)},elementValue:function(e){var i=t(e).attr("type"),s=t(e).val();return"radio"===i||"checkbox"===i?t("input[name='"+t(e).attr("name")+"']:checked").val():"string"==typeof s?s.replace(/\r/g,""):s},check:function(e){e=this.validationTargetFor(this.clean(e));var i,s=t(e).rules(),r=!1,n=this.elementValue(e);for(var a in s){var u={method:a,parameters:s[a]};try{if(i=t.validator.methods[a].call(this,n,e,u.parameters),"dependency-mismatch"===i){r=!0;continue}if(r=!1,"pending"===i)return this.toHide=this.toHide.not(this.errorsFor(e)),void 0;if(!i)return this.formatAndAdd(e,u),!1}catch(o){throw this.settings.debug&&window.console&&console.log("Exception occurred when checking element "+e.id+", check the '"+u.method+"' method.",o),o}}return r?void 0:(this.objectLength(s)&&this.successList.push(e),!0)},customDataMessage:function(e,i){return t(e).data("msg-"+i.toLowerCase())||e.attributes&&t(e).attr("data-msg-"+i.toLowerCase())},customMessage:function(t,e){var i=this.settings.messages[t];return i&&(i.constructor===String?i:i[e])},findDefined:function(){for(var t=0;arguments.length>t;t++)if(void 0!==arguments[t])return arguments[t];return void 0},defaultMessage:function(e,i){return this.findDefined(this.customMessage(e.name,i),this.customDataMessage(e,i),!this.settings.ignoreTitle&&e.title||void 0,t.validator.messages[i],"Warning: No message defined for "+e.name+"")},formatAndAdd:function(e,i){var s=this.defaultMessage(e,i.method),r=/\$?\{(\d+)\}/g;"function"==typeof s?s=s.call(this,i.parameters,e):r.test(s)&&(s=t.validator.format(s.replace(r,"{$1}"),i.parameters)),this.errorList.push({message:s,element:e}),this.errorMap[e.name]=s,this.submitted[e.name]=s},addWrapper:function(t){return this.settings.wrapper&&(t=t.add(t.parent(this.settings.wrapper))),t},defaultShowErrors:function(){var t,e;for(t=0;this.errorList[t];t++){var i=this.errorList[t];this.settings.highlight&&this.settings.highlight.call(this,i.element,this.settings.errorClass,this.settings.validClass),this.showLabel(i.element,i.message)}if(this.errorList.length&&(this.toShow=this.toShow.add(this.containers)),this.settings.success)for(t=0;this.successList[t];t++)this.showLabel(this.successList[t]);if(this.settings.unhighlight)for(t=0,e=this.validElements();e[t];t++)this.settings.unhighlight.call(this,e[t],this.settings.errorClass,this.settings.validClass);this.toHide=this.toHide.not(this.toShow),this.hideErrors(),this.addWrapper(this.toShow).show()},validElements:function(){return this.currentElements.not(this.invalidElements())},invalidElements:function(){return t(this.errorList).map(function(){return this.element})},showLabel:function(e,i){var s=this.errorsFor(e);s.length?(s.removeClass(this.settings.validClass).addClass(this.settings.errorClass),s.html(i)):(s=t("<"+this.settings.errorElement+">").attr("for",this.idOrName(e)).addClass(this.settings.errorClass).html(i||""),this.settings.wrapper&&(s=s.hide().show().wrap("<"+this.settings.wrapper+"/>").parent()),this.labelContainer.append(s).length||(this.settings.errorPlacement?this.settings.errorPlacement(s,t(e)):s.insertAfter(e))),!i&&this.settings.success&&(s.text(""),"string"==typeof this.settings.success?s.addClass(this.settings.success):this.settings.success(s,e)),this.toShow=this.toShow.add(s)},errorsFor:function(e){var i=this.idOrName(e);return this.errors().filter(function(){return t(this).attr("for")===i})},idOrName:function(t){return this.groups[t.name]||(this.checkable(t)?t.name:t.id||t.name)},validationTargetFor:function(t){return this.checkable(t)&&(t=this.findByName(t.name).not(this.settings.ignore)[0]),t},checkable:function(t){return/radio|checkbox/i.test(t.type)},findByName:function(e){return t(this.currentForm).find("[name='"+e+"']")},getLength:function(e,i){switch(i.nodeName.toLowerCase()){case"select":return t("option:selected",i).length;case"input":if(this.checkable(i))return this.findByName(i.name).filter(":checked").length}return e.length},depend:function(t,e){return this.dependTypes[typeof t]?this.dependTypes[typeof t](t,e):!0},dependTypes:{"boolean":function(t){return t},string:function(e,i){return!!t(e,i.form).length},"function":function(t,e){return t(e)}},optional:function(e){var i=this.elementValue(e);return!t.validator.methods.required.call(this,i,e)&&"dependency-mismatch"},startRequest:function(t){this.pending[t.name]||(this.pendingRequest++,this.pending[t.name]=!0)},stopRequest:function(e,i){this.pendingRequest--,0>this.pendingRequest&&(this.pendingRequest=0),delete this.pending[e.name],i&&0===this.pendingRequest&&this.formSubmitted&&this.form()?(t(this.currentForm).submit(),this.formSubmitted=!1):!i&&0===this.pendingRequest&&this.formSubmitted&&(t(this.currentForm).triggerHandler("invalid-form",[this]),this.formSubmitted=!1)},previousValue:function(e){return t.data(e,"previousValue")||t.data(e,"previousValue",{old:null,valid:!0,message:this.defaultMessage(e,"remote")})}},classRuleSettings:{required:{required:!0},email:{email:!0},url:{url:!0},date:{date:!0},dateISO:{dateISO:!0},number:{number:!0},digits:{digits:!0},creditcard:{creditcard:!0}},addClassRules:function(e,i){e.constructor===String?this.classRuleSettings[e]=i:t.extend(this.classRuleSettings,e)},classRules:function(e){var i={},s=t(e).attr("class");return s&&t.each(s.split(" "),function(){this in t.validator.classRuleSettings&&t.extend(i,t.validator.classRuleSettings[this])}),i},attributeRules:function(e){var i={},s=t(e),r=s[0].getAttribute("type");for(var n in t.validator.methods){var a;"required"===n?(a=s.get(0).getAttribute(n),""===a&&(a=!0),a=!!a):a=s.attr(n),/min|max/.test(n)&&(null===r||/number|range|text/.test(r))&&(a=Number(a)),a?i[n]=a:r===n&&"range"!==r&&(i[n]=!0)}return i.maxlength&&/-1|2147483647|524288/.test(i.maxlength)&&delete i.maxlength,i},dataRules:function(e){var i,s,r={},n=t(e);for(i in t.validator.methods)s=n.data("rule-"+i.toLowerCase()),void 0!==s&&(r[i]=s);return r},staticRules:function(e){var i={},s=t.data(e.form,"validator");return s.settings.rules&&(i=t.validator.normalizeRule(s.settings.rules[e.name])||{}),i},normalizeRules:function(e,i){return t.each(e,function(s,r){if(r===!1)return delete e[s],void 0;if(r.param||r.depends){var n=!0;switch(typeof r.depends){case"string":n=!!t(r.depends,i.form).length;break;case"function":n=r.depends.call(i,i)}n?e[s]=void 0!==r.param?r.param:!0:delete e[s]}}),t.each(e,function(s,r){e[s]=t.isFunction(r)?r(i):r}),t.each(["minlength","maxlength"],function(){e[this]&&(e[this]=Number(e[this]))}),t.each(["rangelength","range"],function(){var i;e[this]&&(t.isArray(e[this])?e[this]=[Number(e[this][0]),Number(e[this][1])]:"string"==typeof e[this]&&(i=e[this].split(/[\s,]+/),e[this]=[Number(i[0]),Number(i[1])]))}),t.validator.autoCreateRanges&&(e.min&&e.max&&(e.range=[e.min,e.max],delete e.min,delete e.max),e.minlength&&e.maxlength&&(e.rangelength=[e.minlength,e.maxlength],delete e.minlength,delete e.maxlength)),e},normalizeRule:function(e){if("string"==typeof e){var i={};t.each(e.split(/\s/),function(){i[this]=!0}),e=i}return e},addMethod:function(e,i,s){t.validator.methods[e]=i,t.validator.messages[e]=void 0!==s?s:t.validator.messages[e],3>i.length&&t.validator.addClassRules(e,t.validator.normalizeRule(e))},methods:{required:function(e,i,s){if(!this.depend(s,i))return"dependency-mismatch";if("select"===i.nodeName.toLowerCase()){var r=t(i).val();return r&&r.length>0}return this.checkable(i)?this.getLength(e,i)>0:t.trim(e).length>0},email:function(t,e){return this.optional(e)||/^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))$/i.test(t)},url:function(t,e){return this.optional(e)||/^(https?|s?ftp):\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i.test(t)},date:function(t,e){return this.optional(e)||!/Invalid|NaN/.test(""+new Date(t))},dateISO:function(t,e){return this.optional(e)||/^\d{4}[\/\-]\d{1,2}[\/\-]\d{1,2}$/.test(t)},number:function(t,e){return this.optional(e)||/^-?(?:\d+|\d{1,3}(?:,\d{3})+)?(?:\.\d+)?$/.test(t)},digits:function(t,e){return this.optional(e)||/^\d+$/.test(t)},creditcard:function(t,e){if(this.optional(e))return"dependency-mismatch";if(/[^0-9 \-]+/.test(t))return!1;var i=0,s=0,r=!1;t=t.replace(/\D/g,"");for(var n=t.length-1;n>=0;n--){var a=t.charAt(n);s=parseInt(a,10),r&&(s*=2)>9&&(s-=9),i+=s,r=!r}return 0===i%10},minlength:function(e,i,s){var r=t.isArray(e)?e.length:this.getLength(t.trim(e),i);return this.optional(i)||r>=s},maxlength:function(e,i,s){var r=t.isArray(e)?e.length:this.getLength(t.trim(e),i);return this.optional(i)||s>=r},rangelength:function(e,i,s){var r=t.isArray(e)?e.length:this.getLength(t.trim(e),i);return this.optional(i)||r>=s[0]&&s[1]>=r},min:function(t,e,i){return this.optional(e)||t>=i},max:function(t,e,i){return this.optional(e)||i>=t},range:function(t,e,i){return this.optional(e)||t>=i[0]&&i[1]>=t},equalTo:function(e,i,s){var r=t(s);return this.settings.onfocusout&&r.unbind(".validate-equalTo").bind("blur.validate-equalTo",function(){t(i).valid()}),e===r.val()},remote:function(e,i,s){if(this.optional(i))return"dependency-mismatch";var r=this.previousValue(i);if(this.settings.messages[i.name]||(this.settings.messages[i.name]={}),r.originalMessage=this.settings.messages[i.name].remote,this.settings.messages[i.name].remote=r.message,s="string"==typeof s&&{url:s}||s,r.old===e)return r.valid;r.old=e;var n=this;this.startRequest(i);var a={};return a[i.name]=e,t.ajax(t.extend(!0,{url:s,mode:"abort",port:"validate"+i.name,dataType:"json",data:a,success:function(s){n.settings.messages[i.name].remote=r.originalMessage;var a=s===!0||"true"===s;if(a){var u=n.formSubmitted;n.prepareElement(i),n.formSubmitted=u,n.successList.push(i),delete n.invalid[i.name],n.showErrors()}else{var o={},l=s||n.defaultMessage(i,"remote");o[i.name]=r.message=t.isFunction(l)?l(e):l,n.invalid[i.name]=!0,n.showErrors(o)}r.valid=a,n.stopRequest(i,a)}},s)),"pending"}}}),t.format=t.validator.format})(jQuery),function(t){var e={};if(t.ajaxPrefilter)t.ajaxPrefilter(function(t,i,s){var r=t.port;"abort"===t.mode&&(e[r]&&e[r].abort(),e[r]=s)});else{var i=t.ajax;t.ajax=function(s){var r=("mode"in s?s:t.ajaxSettings).mode,n=("port"in s?s:t.ajaxSettings).port;return"abort"===r?(e[n]&&e[n].abort(),e[n]=i.apply(this,arguments),e[n]):i.apply(this,arguments)}}}(jQuery),function(t){t.extend(t.fn,{validateDelegate:function(e,i,s){return this.bind(i,function(i){var r=t(i.target);return r.is(e)?s.apply(r,arguments):void 0})}})}(jQuery); // Common JavaScript Document // Ne pas affichder les videos dans inc/bloc-slide-show.cfm si Mobile var isMobile = false; //initiate as false // device detection if(/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|ipad|iris|kindle|Android|Silk|lge |maemo|midp|mmp|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i.test(navigator.userAgent) || /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(navigator.userAgent.substr(0,4))) { isMobile = true; } if (isMobile == true) { $('.bgdVid, .PlayBtn').hide; $('.VideoOffOnMobile').empty(); $('.VideoOffOnMobile iframe').remove(); var srcImgVideo=$('#MobilePictureToVideo').val(); $('.VideoOffOnMobile').html('
      1/6
    '); } else { $('.bgdVid, .PlayBtn').show; } // Ne pas affichder les videos dans inc/bloc-slide-show.cfm si Mobile //Lazy-load $('.lazy').lazyload({ effect : 'fadeIn', skip_invisible : true, threshold : 200 }); if( /Android|webOS|iPhone|iPad|iPod|BlackBerry/i.test(navigator.userAgent) ) { $('.selectBox').selectpicker('mobile'); $('.selectBoxBig').selectpicker('mobile'); } else { $('.selectBox').selectpicker({size: 10}); $('.selectBoxBig').selectpicker({size: 10}); } var hauteur_fenetre = $(window).height(); //console.log(hauteur_fenetre); /*gestion de la flèche back-top*/ $('#back-top').fadeOut(0); var offset = 200; var duration = 500; $(window).scroll(function() { if ($(this).scrollTop() > offset) { $('#back-top').fadeIn(duration); } else { $('#back-top').fadeOut(duration); } }); $(".closeMenu").click(function () { $('.menu .dropdown').removeClass('open'); }); $('#back-top').click(function(event) { event.preventDefault(); $('html, body').animate({scrollTop: 0}, duration); return false; }) $( ".ScrolOnTop" ).click(function() { $('.btnEnvie').css('padding-top','10px'); if ( !$('.fixTopMargin').hasClass('in') ) { $('html, body').animate( { scrollTop: $('.offre').offset().top-60 }, {duration: 10 } ); } }); /*FIN gestion de la flèche back-top*/ if ($(window).width() <= 960) { $('.footer .collapse').removeClass('in'); } $(window).resize(function () { if ($(window).width() >= 960) { $('.footer .collapse').addClass('in'); } if ($(window).width() <= 960) { $('.footer .collapse').removeClass('in'); } }); //gestion du roll-over sur menu voyages $("a[id^='link_voyage_']").mouseover(function (e) { e.preventDefault(); /* var id = $(this).attr('id').split('_')[2]; $("a[id^='link_voyage_'] > li").removeClass('active'); $(this).find('li').addClass('active'); $("#div-titre").text($(this).find('li').text()); $("div[id^='div_voyage_details_']").css('display', 'none'); $("#div_voyage_details_" + id).show(); //$("#img_voyage").attr("src", "images/voyages-im" + id + ".jpg"); $("#img_voyage").attr("src", $("#src-image-voyage-"+id).val() ); */ $('a[id^="link_voyage_"] > li').removeClass('active'); $(this).find('li').addClass('active'); image_data_original = $('#img_voyage_'+$(this).data('id')).attr('data-original'); //console.log(image_data_original); $('#img_voyage_'+$(this).data('id')).attr('src',image_data_original); $('.voyage-image a').addClass('hidden').filter('.voyage_'+$(this).data('id')).removeClass('hidden'); $("div.destination2 ul").addClass("hidden").filter(".liste_pays_" + $(this).data("id")).removeClass("hidden") }); //FIN gestion du roll-over sur menu voyages //permet de scroller +1px afin de charger les images du menu inspiration $("#navbar > ul > li.dropdown.inspirations > a").click(function(e) { $('html, body').animate({scrollTop: '+=1px'}, 10); $('html, body').animate({scrollTop: '-=1px'}, 10); }); //Newsletter $('#frm_newsletter').validate({ rules: { newsletter_field: { email: true, required: true } }, messages: { newsletter_field: { required: "", email: "" } }, highlight: function(element) { $('#newsletter_field').attr('placeholder','Votre email est obligatoire'); $('#newsletter_field').addClass('newsletter-border'); }, unhighlight: function(element) { $('#newsletter_field').attr('placeholder','Votre adresse mail'); $('#newsletter_field').removeClass('newsletter-border'); }, submitHandler: function (form) { $.ajax({ url:'inc/contact_newseletter_action.cfm', data: $('#frm_newsletter').serializeArray(), type: 'POST', success: function (response) { $('#div_msg_newsletter').html('Vous êtes maintenant inscrit à la newsletter Asia.'); return false; } }); return false; // blocks normal form submit } }); //newsletterForm form validator //cookie - T17388 / T18279 /*$("#tc_privacy_close").click(function(){ console.log('tc_privacy_close click...'); $.ajax({ type: "POST", url: "ajax/cookie.cfm" }); $('#tc_privacy_container_text').fadeOut('show'); });*/ $(".navbar-toggle").click(function () { if ($('#menuInterneMobile').hasClass('in')) { $('.fixMenuMobile').css("position", "fixed"); $('html, body').animate({ scrollTop: '+=30px' }, 500); $('.btn_filtre').show(); } else { $('.fixMenuMobile').css("position", "absolute"); $('.btn_filtre').hide(); } }); /******************* menu fixe : change texte envie en mode mobile *************************************/ if (isMobile == true) { EnvieMobileText = $('.envieBtnTexte').html(); var idEnvie=$('.envieBtnTexte').attr('id_envie'); switch (idEnvie) { case '37': var EnvieMobileText = "Partir à deux"; break; case '36': var EnvieMobileText = "En famille"; break; case '41': var EnvieMobileText = "Grands voyages"; break; case '38': var EnvieMobileText = "Autrement"; break; case '44': var EnvieMobileText = "BONS PLANS"; break; case '47': var EnvieMobileText = "Combinés plage"; break; case '43': var EnvieMobileText = "Créations"; break; case '40': var EnvieMobileText = "Cinéma"; break; case '45': var EnvieMobileText = "Déconnecter"; break; case '46': var EnvieMobileText = "À la plage"; break; case '39': var EnvieMobileText = "Aventure"; break; case '42': var EnvieMobileText = "Combinés pays"; break; } $('.envieBtnTexte').html(EnvieMobileText); } /******************* menu fixe : change texte envie en mode mobile *************************************/ (function( $ ){ function calculateResults(startX, startY, endX, endY, tresholdX, tresholdY){ var swipeDirection = {up:false, right:false, down: false, left:false}; if(startX > endX && startX - endX >= tresholdX) swipeDirection.left = true; else if(startX < endX && endX - startX >= tresholdX) swipeDirection.right = true; if(startY < endY && endY - startY >= tresholdY) swipeDirection.down = true else if(startY > endY && startY - endY >=tresholdY) swipeDirection.up = true; return swipeDirection; } $.fn.onSwipe = function(f, timeTreshold, tresholdX, tresholdY){ if(jQuery.isFunction(f)){ //We are only going to do our thing if the user passed a function if(typeof timeTreshold === 'undefined' || timeTreshold === null) timeTreshold = 100;//ms if(typeof tresholdX === 'undefined' || tresholdX === null) tresholdX = 30;//px if(typeof tresholdY === 'undefined' || tresholdY === null) tresholdY = 30;//px var startX, startY; //Position when touch begins var endX, endY; //Position when touch ends var time; //Our timer variable var totalTime = 0; //Total time that the swipe took //When a touch starts on this element. //We can start a timer, and start getting coordinates. $(this).on("touchstart", function(e){ //Let's get our touch coordinates startX = e.touches[0].clientX; //This is where touchstart coordinates are stored startY = e.touches[0].clientY; time = setInterval(function(){ //Let's see how long the swipe lasts. totalTime += 10; }, 10); }); $(this).on("touchend", function(e){ endX = e.changedTouches[0].clientX; //This is where touchend coordinates are stored. endY = e.changedTouches[0].clientY; clearInterval(time); //Let's stop calculating time and free up resources. if(totalTime >= timeTreshold) //If swipe time is less than our treshold we won't do anything. Useful for preventing spam and accidental swipes. f(calculateResults(startX, startY, endX, endY, 30, 30)); //Send results to user's function totalTime = 0; }); } else console.error("You need to pass a function in order to process swipe data."); return $(this); } })( jQuery ); /*! * @preserve * * Readmore.js jQuery plugin * Author: @jed_foster * Project home: http://jedfoster.github.io/Readmore.js * Licensed under the MIT license * * Debounce function from http://davidwalsh.name/javascript-debounce-function */ /* global jQuery */ (function(factory) { if (typeof define === 'function' && define.amd) { // AMD define(['jquery'], factory); } else if (typeof exports === 'object') { // CommonJS module.exports = factory(require('jquery')); } else { // Browser globals factory(jQuery); } }(function($) { 'use strict'; var readmore = 'readmore', defaults = { speed: 100, collapsedHeight: 200, heightMargin: 16, moreLink: 'Read More', lessLink: 'Close', embedCSS: true, blockCSS: 'display: block; width: 100%;', startOpen: false, // callbacks blockProcessed: function() {}, beforeToggle: function() {}, afterToggle: function() {} }, cssEmbedded = {}, uniqueIdCounter = 0; function debounce(func, wait, immediate) { var timeout; return function() { var context = this, args = arguments; var later = function() { timeout = null; if (! immediate) { func.apply(context, args); } }; var callNow = immediate && !timeout; clearTimeout(timeout); timeout = setTimeout(later, wait); if (callNow) { func.apply(context, args); } }; } function uniqueId(prefix) { var id = ++uniqueIdCounter; return String(prefix === null ? 'rmjs-' : prefix) + id; } function setBoxHeights(element) { var el = element.clone().css({ height: 'auto', width: element.width(), maxHeight: 'none', overflow: 'hidden' }).insertAfter(element), expandedHeight = el.outerHeight(), cssMaxHeight = parseInt(el.css({maxHeight: ''}).css('max-height').replace(/[^-\d\.]/g, ''), 10), defaultHeight = element.data('defaultHeight'); el.remove(); var collapsedHeight = cssMaxHeight || element.data('collapsedHeight') || defaultHeight; // Store our measurements. element.data({ expandedHeight: expandedHeight, maxHeight: cssMaxHeight, collapsedHeight: collapsedHeight }) // and disable any `max-height` property set in CSS .css({ maxHeight: 'none' }); } var resizeBoxes = debounce(function() { $('[data-readmore]').each(function() { var current = $(this), isExpanded = (current.attr('aria-expanded') === 'true'); setBoxHeights(current); current.css({ height: current.data( (isExpanded ? 'expandedHeight' : 'collapsedHeight') ) }); }); }, 100); function embedCSS(options) { if (! cssEmbedded[options.selector]) { var styles = ' '; if (options.embedCSS && options.blockCSS !== '') { styles += options.selector + ' + [data-readmore-toggle], ' + options.selector + '[data-readmore]{' + options.blockCSS + '}'; } // Include the transition CSS even if embedCSS is false styles += options.selector + '[data-readmore]{' + 'transition: height ' + options.speed + 'ms;' + 'overflow: hidden;' + '}'; (function(d, u) { var css = d.createElement('style'); css.type = 'text/css'; if (css.styleSheet) { css.styleSheet.cssText = u; } else { css.appendChild(d.createTextNode(u)); } d.getElementsByTagName('head')[0].appendChild(css); }(document, styles)); cssEmbedded[options.selector] = true; } } function Readmore(element, options) { this.element = element; this.options = $.extend({}, defaults, options); embedCSS(this.options); this._defaults = defaults; this._name = readmore; this.init(); // IE8 chokes on `window.addEventListener`, so need to test for support. if (window.addEventListener) { // Need to resize boxes when the page has fully loaded. window.addEventListener('load', resizeBoxes); window.addEventListener('resize', resizeBoxes); } else { window.attachEvent('load', resizeBoxes); window.attachEvent('resize', resizeBoxes); } } Readmore.prototype = { init: function() { var current = $(this.element); current.data({ defaultHeight: this.options.collapsedHeight, heightMargin: this.options.heightMargin }); setBoxHeights(current); var collapsedHeight = current.data('collapsedHeight'), heightMargin = current.data('heightMargin'); if (current.outerHeight(true) <= collapsedHeight + heightMargin) { // The block is shorter than the limit, so there's no need to truncate it. if (this.options.blockProcessed && typeof this.options.blockProcessed === 'function') { this.options.blockProcessed(current, false); } return true; } else { var id = current.attr('id') || uniqueId(), useLink = this.options.startOpen ? this.options.lessLink : this.options.moreLink; current.attr({ 'data-readmore': '', 'aria-expanded': this.options.startOpen, 'id': id }); current.after($(useLink) .on('click', (function(_this) { return function(event) { _this.toggle(this, current[0], event); }; })(this)) .attr({ 'data-readmore-toggle': id, 'aria-controls': id })); if (! this.options.startOpen) { current.css({ height: collapsedHeight }); } if (this.options.blockProcessed && typeof this.options.blockProcessed === 'function') { this.options.blockProcessed(current, true); } } }, toggle: function(trigger, element, event) { if (event) { event.preventDefault(); } if (! trigger) { trigger = $('[aria-controls="' + this.element.id + '"]')[0]; } if (! element) { element = this.element; } var $element = $(element), newHeight = '', newLink = '', expanded = false, collapsedHeight = $element.data('collapsedHeight'); if ($element.height() <= collapsedHeight) { newHeight = $element.data('expandedHeight') + 'px'; newLink = 'lessLink'; expanded = true; } else { newHeight = collapsedHeight; newLink = 'moreLink'; } // Fire beforeToggle callback // Since we determined the new "expanded" state above we're now out of sync // with our true current state, so we need to flip the value of `expanded` if (this.options.beforeToggle && typeof this.options.beforeToggle === 'function') { this.options.beforeToggle(trigger, $element, ! expanded); } $element.css({'height': newHeight}); // Fire afterToggle callback $element.on('transitionend', (function(_this) { return function() { if (_this.options.afterToggle && typeof _this.options.afterToggle === 'function') { _this.options.afterToggle(trigger, $element, expanded); } $(this).attr({ 'aria-expanded': expanded }).off('transitionend'); }; })(this)); $(trigger).replaceWith($(this.options[newLink]) .on('click', (function(_this) { return function(event) { _this.toggle(this, element, event); }; })(this)) .attr({ 'data-readmore-toggle': $element.attr('id'), 'aria-controls': $element.attr('id') })); }, destroy: function() { $(this.element).each(function() { var current = $(this); current.attr({ 'data-readmore': null, 'aria-expanded': null }) .css({ maxHeight: '', height: '' }) .next('[data-readmore-toggle]') .remove(); current.removeData(); }); } }; $.fn.readmore = function(options) { var args = arguments, selector = this.selector; options = options || {}; if (typeof options === 'object') { return this.each(function() { if ($.data(this, 'plugin_' + readmore)) { var instance = $.data(this, 'plugin_' + readmore); instance.destroy.apply(instance); } options.selector = selector; $.data(this, 'plugin_' + readmore, new Readmore(this, options)); }); } else if (typeof options === 'string' && options[0] !== '_' && options !== 'init') { return this.each(function () { var instance = $.data(this, 'plugin_' + readmore); if (instance instanceof Readmore && typeof instance[options] === 'function') { instance[options].apply(instance, Array.prototype.slice.call(args, 1)); } }); } }; })); // JavaScript page-produit.cfm $('#myTabCol').tabCollapse({ tabsClass : 'hidden-sm hidden-xs', accordionClass : 'visible-sm visible-xs' }); var width = $(window).width(); if( $(window).width() <= 991 ) { $("#li_descriptif").removeClass('active'); $("#Descriptif").removeClass('in active');} else {$("#li_descriptif").addClass('active'); $("#Descriptif").addClass('in active')} /* bloc mis en commentaire car bloque l'affichage de la vidéo en plein écran - 2017/02/01 $(window).resize(function () { if ($(this).width() != width) { width = $(this).width(); console.log(width); window.location.reload(); var myUrl = window.location; window.location.replace(myUrl) } });*/ $("[type=button]").button(); $("#plus").click(function () { $(this).button('toggle'); if ($(this).text() === "Plus de critères") { $(this).button('open'); } else { $(this).button('reset'); } }); //quand on clique sur les onglets, il faut remonter le contenu $("#myTabCol > li > a").click(function(e) { e.preventDefault(); $('html, body').delay(500).animate({ scrollTop : $("div.barre-produit").offset().top - 50 }, 1000); }); if ($(window).width() <= 960) { $('.produit-right .collapse').removeClass('in'); //$('#Descriptif').removeClass('fade in active'); //$('#Descriptif-collapse').removeClass('in'); //$('#Descriptif-collapse').attr('aria-expanded', 'false'); } $(window).resize(function () { if ($(window).width() >= 960) { $('.produit-right .collapse').addClass('in'); $('#Descriptif').addClass('fade in active'); $('#Descriptif-collapse').addClass('in'); $('#Descriptif-collapse').attr('aria-expanded', 'true'); } if ($(window).width() <= 960) { $('.produit-right .collapse').removeClass('in'); //$('#Descriptif').removeClass('fade in active'); //$('#Descriptif-collapse').removeClass('in'); //$('#Descriptif-collapse').attr('aria-expanded', 'false'); } }); $(document).ready(function () { /*-------- UX : pages 16----------*/ $(".moree").readmore({ previewHeight: 111, collapsedHeight: 111, heightMargin: 0, embedCSS: true, blockCSS: 'display: block; width: 100%;', speed: 400, moreLink:'[Voir plus]', lessLink: '', beforeToggle: function(trigger, element, expanded) { }, afterToggle: function(trigger, element, expanded) { //console.log(trigger); if(expanded){ $( element ).closest( "div.moree" ).mCustomScrollbar({ setHeight: 124, theme: "dark-3" }); } } }); /*-------- UX : pages 16----------*/ /*-------- UX : pages 16----------*/ $(".more2").readmore({ previewHeight: 108, collapsedHeight: 108, heightMargin: 10, embedCSS: true, blockCSS: 'display: block; width: 100%;', speed: 400, moreLink:'[Voir plus]', lessLink: '', beforeToggle: function(trigger, element, expanded) { }, afterToggle: function(trigger, element, expanded) { //console.log(trigger); if(expanded){ $( element ).closest( "div.more2" ).mCustomScrollbar({ setHeight: 109, theme: "dark-3" }); } } }); /*-------- UX : pages 16----------*/ //UX-32-P18 ******************************* $("#myCarousel").onSwipe(function(results){ if(results.right == true){ $('#myCarousel > a.left.carousel-control').click();} if(results.left == true){ $('#myCarousel > a.right.carousel-control').click();} },0); /*-------- UX : pages 28----------*/ var lastScrollTop = 50; $(window).scroll(function(event){ var footerPosition=$('.footer-bas').offset().top; var footerPosition=(footerPosition*1)-380; var st = $(this).scrollTop(); if (st > lastScrollTop){ $('.btnTarifs').addClass('FixBtn'); } else { //$('.btnTarifs').removeClass('FixBtn'); } if (st <= footerPosition) { $('.btnTarifs').addClass('FixBtn'); $('#back-top').css("bottom","65px"); $('.btnTarifs').removeClass('FixBtnfooter'); $('#btnFix_avis').addClass('FixBtnOnClickOther'); $('#btnFix_services').addClass('FixBtnOnClickOther'); $('#btnFix_descriptif').addClass('FixBtnOnClickDescriptif'); } if (st >= footerPosition) { $('.btnTarifs').addClass('FixBtnfooter'); $('#btnFix_avis').removeClass('FixBtnOnClickOther'); $('#btnFix_services').removeClass('FixBtnOnClickOther') $('#btnFix_descriptif').removeClass('FixBtnOnClickDescriptif'); $('#back-top').css("bottom","116px"); } lastScrollTop = st; }); /*-------- UX : pages 28----------*/ //Lazy-load $('.lazy').lazyload({ effect : 'fadeIn', skip_invisible : true }); /*$('a[href="#Dispostarifs"]').one('shown.bs.tab', function (e) { $('.slider-tarifs').bxSlider({ slideWidth : 400, minSlides : 2, maxSlides : 2, moveSlides : 2, slideMargin : 20, }); });*/ $(".btn-infos").popover({ placement : 'top', trigger : 'hover', html : true }); /*$('.slider-offre').bxSlider({ slideWidth : 320, minSlides : 1, maxSlides : 3, moveSlides : 1, slideMargin : 0 });*/ $('.slider-circuit-privee').bxSlider({ slideWidth : 480, minSlides : 1, maxSlides : 3, moveSlides : 1, slideMargin : 0, }); $('.slider-carnets-route').bxSlider({ slideWidth : 240, minSlides : 1, maxSlides : 4, moveSlides : 1, slideMargin : 0 }); //afficher les avis cachés (si plus de 8) $("#btn-voir-plus-davis").click(function(e) { $("div[id^='bloc-avis-']").show("slow"); $(this).hide(); }); //activer l'onglet DISPOS & TARIFS et faire remonter la page $("button.btn-reserver-produit").click(function(e) { e.preventDefault(); $("a.Dispostarifs").click(); jQuery('html, body').animate({scrollTop: 600}, 500); return false; }); //social share $("#share").jsSocials({ shares: ["email", "facebook", "twitter", "instagram"], shareIn: "popup", showLabel: false, showCount: false, }); //Occurs when the carousel has finished sliding from one item to another ==> Preload next image $('.carousel').on('slid.bs.carousel', function () { //preload next image next_img = $( "#myCarousel > div.carousel-inner > div.item.active" ).next().children('img'); next_img.attr("src", next_img.attr("lazy-src")); //preload previous image - T17479 prev_img = $( "#myCarousel > div.carousel-inner > div.item.active" ).prev().children('img'); prev_img.attr("src", prev_img.attr("lazy-src")); }) }); if ($(window).width() <= 960) { $('.slider-expert').bxSlider({ slideWidth: 300, minSlides: 1, maxSlides: 1, moveSlides: 1, slideMargin: 0 }); $('.slider-raisons').bxSlider({ slideWidth: 300, minSlides: 1, maxSlides: 1, moveSlides: 1, slideMargin: 0 }); $('.slider-presse').bxSlider({ slideWidth: 320, minSlides: 1, maxSlides: 1, moveSlides: 1, slideMargin: 0 }); $('.slider-suggestion').bxSlider({ slideWidth: 320, minSlides: 1, maxSlides: 1, moveSlides: 1, slideMargin: 0 }); $('.slider-avis').bxSlider({ slideWidth: 320, minSlides: 1, maxSlides: 3, moveSlides: 1, slideMargin: 0 }); $('.slider-offre').bxSlider({ slideWidth: 320, minSlides: 1, maxSlides: 1, moveSlides: 1, slideMargin: 0, infiniteLoop: true }); $('.slider-destination').bxSlider({ slideWidth: 960, minSlides: 1, maxSlides: 4, moveSlides: 1, slideMargin: 0, infiniteLoop: false, hideControlOnEnd: true }); $('.slider-produit-x').bxSlider({ slideWidth: 640, minSlides: 1, maxSlides: 2, moveSlides: 1, slideMargin: 0 }); }else{ $('.slider-expert').bxSlider({ slideWidth: 160, minSlides: 1, maxSlides: 6, moveSlides: 1, slideMargin: 0, infiniteLoop: false, hideControlOnEnd: true }); $('.slider-raisons').bxSlider({ slideWidth: 192, minSlides: 1, maxSlides: 5, moveSlides: 1, slideMargin: 0, infiniteLoop: false, hideControlOnEnd: true }); $('.slider-presse').bxSlider({ slideWidth: 240, minSlides: 1, maxSlides: 4, moveSlides: 1, slideMargin: 0, infiniteLoop: false, hideControlOnEnd: true }); $('.slider-avis').bxSlider({ slideWidth : 960, minSlides : 1, maxSlides : 1, moveSlides : 1, slideMargin : 0, infiniteLoop : true, randomStart : true }); $('.slider-offre').bxSlider({ slideWidth : 320, minSlides : 1, maxSlides : 3, moveSlides : 1, slideMargin : 0, infiniteLoop: true }); $('.slider-produit-x').bxSlider({ slideWidth: 320, minSlides: 1, maxSlides: 2, moveSlides: 1, slideMargin: 0, infiniteLoop: false, hideControlOnEnd: true }); } $(window).on("load",function(){ /*$(".produit-bas .content").mCustomScrollbar({ setHeight:90, theme:"dark-3" });*/ //if ($(window).width() > 991) { $('#myTabCol-accordion > div:nth-child(1) > div.panel-heading > h4 > a > div').click(); } }); // JS process de résa Packages (tableau de prix ==> Confirmation résa) $(document).ready(function(){ //Fonctions génériques mises par Selim if ($(window).width() <= 768){ $('.footer .collapse').removeClass('in'); } $(window).resize(function(){ if ($(window).width() >= 768){ $('.footer .collapse').addClass('in'); } if ($(window).width() <= 768){ $('.footer .collapse').removeClass('in'); } }); $(function() { $('.dropdown').on({ "click": function(event) { if ($(event.target).closest('.dropdown-toggle').length) { $(this).data('closable', true); } else { $(this).data('closable', false); } }, "hide.bs.dropdown": function(event) { hide = $(this).data('closable'); $(this).data('closable', true); return hide; } }); }); //$('.selectBox').selectpicker(); $('.selectBox').selectpicker({ size: 10 }); $("[type=button]").button(); var isMobile = 0; if ($(window).width() <= 768) { isMobile = 1; } // Les toolTip $(".btn-infos").popover({ //placement : 'auto', trigger : 'hover', html : true }); var is_firefox = navigator.userAgent.toLowerCase().indexOf('firefox') > -1; //Fonction shake jQuery.fn.shake = function(long) { //Ancien param intShakes, intDistance, intDuration var intShakes = 4; var intDistance = 3; var intDuration = 300; if(long) { intDuration = 600; intShakes = 8; } this.each(function() { $(this).css("position","relative"); for (var x=1; x<=intShakes; x++) { $(this).animate({left:(intDistance*-1)}, (((intDuration/intShakes)/4))) .animate({left:intDistance}, ((intDuration/intShakes)/2)) .animate({left:0}, (((intDuration/intShakes)/4))); } }); return this; }; // Extended disable function jQuery.fn.extend({ disable: function(state) { return this.each(function() { var $this = $(this); if($this.is('input, button')) this.disabled = state; else $this.toggleClass('disabled', state); }); } }); scrollPlusProcess=51; scrollPlusProduit = scrollPlusProcess; if(!isMobile) scrollPlusProduit = 111 jQuery.scrollTo = function( target, duree,scrollPlus ){ /*var scrollPlus = 0 if(!isMobile) scrollPlus = 111 if(isMobile) scrollPlus = 51*/ $('html, body').animate({scrollTop: Number($(target).offset().top)-Number(scrollPlus)}, duree); } // Verifier le n° de la carte de crédit jQuery.isCreditCard = function( CC ) { if (CC.length > 19) return (false); sum = 0; mul = 1; l = CC.length; for (i = 0; i < l; i++) { digit = CC.substring(l-i-1,l-i); tproduct = parseInt(digit ,10)*mul; if (tproduct >= 10) sum += (tproduct % 10) + 1; else sum += tproduct; if (mul == 1) mul++; else mul--; } if ((sum % 10) == 0) return (true); else return (false); } //$.age() Fonction qui renvoi l'age (format dd/mm/yyyy) $.age = function(dateNaissance,dateTest) { var age = 0 dateDepart = dateTest.split('/') var curr_date = dateDepart[0]; var curr_month = dateDepart[1]; var curr_year = dateDepart[2]; now = new Date(curr_year, curr_month * 1 , curr_date) var pieces = dateNaissance.split('/'); var birth_date = pieces[0]; var birth_month = pieces[1]; var birth_year = pieces[2]; born = new Date(birth_year, birth_month * 1 , birth_date); age = (now.getTime() - born.getTime()) / (365.25 * 24 * 60 * 60 * 1000)//Math.floor(); return Math.abs(age) } /*********************************************************************************************************************************/ /********************************************************** Page produit *********************************************************/ /*********************************************************************************************************************************/ /*+++++++++++++++++++ afficher les combo ages des enfauts (Tableau de prix + Dates tarifs +++++++++++++++++++*/ $("#enfantsTP").change(function(){ nbEnfant = $("#enfantsTP").val(); if(nbEnfant >0) { $("div[id^='divAgeEnfantTP']").hide() for(i=1;i<=nbEnfant;i++) $("#divAgeEnfantTP" + i).show(); $("#divAgesEnfantTP").fadeIn(500) } else { $("#divAgesEnfantTP").fadeOut(300) //$("div[id^='divAgeEnfant']").hide() } }); $("#enfantsDT").change(function(){ nbEnfant = $("#enfantsDT").val(); if(nbEnfant >0) { $("div[id^='divAgeEnfantDT']").hide() for(i=1;i<=nbEnfant;i++) $("#divAgeEnfantDT" + i).show(); $("#divAgesEnfantDT").fadeIn(500) } else { $("#divAgesEnfantDT").fadeOut(300) //$("div[id^='divAgeEnfant']").hide() } }); /*+++++++++++++++++++ Initialiser le tableau de prix +++++++++++++++++++*/ jQuery.initSlider = function(typeAffichage) { if($(".slider-tarifs").attr('id') !== undefined)// Verifier si le slider tableau de prix est affiché (masquer quand aucune date dispo) { //typeAffichage ==> 1 : PC, 2 : Mobile if(typeAffichage == 1) { pSlideWidth = 400 pMin = 1 pMax = 2 pSlideMargin = 20 } else { pSlideWidth = 320 pMin = 1 pMax = 1 pSlideMargin = 0 } var sliderTarif = $('.slider-tarifs').bxSlider({ slideWidth: pSlideWidth, minSlides: pMin, maxSlides: pMax, moveSlides: 1, slideMargin: pSlideMargin, randomStart: false, infiniteLoop: false, hideControlOnEnd: true, onSlideBefore: function($slideElement, oldIndex, newIndex){ // Selectioner le mois $('#selectMoisTarif').prop('selectedIndex',newIndex) // Selectioner le mois d'avant // rafraichir le select HTML après la modification du selected index $('#selectMoisTarif').selectpicker('refresh'); indexMoisSuivant = Number(newIndex)+1; if(isMobile==0) $('#divMoisSuivant').html($('#selectMoisTarif option:eq('+indexMoisSuivant+')').text()) $.majPrixMin(typeAffichage); } }); $.majPrixMin(typeAffichage); //$('html, body').animate({scrollTop: '+=1px'}, 10); // Aller au slide du mois en cours nbSlider = sliderTarif.getSlideCount(); //$('.slider-tarifs').attr('nbSlid',sliderTarif.getCurrentSlide()); if(isMobile==1) { premierSlid = $('#premierSlidMobile').val(); if(nbSlider <= 1 ) { $('#selectMoisTarif').hide(); $('#selectMoisTarif').next().hide(); //$('#spanMoisTarif').show(); $('#moisTarifTableau').addClass('mois'); $('#moisTarifTableau').prepend($('#selectMoisTarif option:selected').text()); } } else { premierSlid = $('#premierSlid').val(); if(nbSlider <= 2 ) { $('#selectMoisTarif').hide(); $('#selectMoisTarif').next().hide(); //$('#spanMoisTarif').show(); $('#moisTarifTableau').addClass('mois'); $('#moisTarifTableau').prepend($('#selectMoisTarif option:selected').text()); } //alert(nbSlider) } sliderTarif.goToSlide(premierSlid); /*+++++++++++++++++++ Combo Mois : aller au slide +++++++++++++++++++*/ $("#selectMoisTarif").change(function(){ selectedMois = $('#selectMoisTarif').prop('selectedIndex') nbMois = $('#selectMoisTarif option').length; moisEnCours = $("#selectMoisTarif").val(); // le mois en cours indexSlideToGo = moisEnCours.split(',')[1] // l'index du slide to go if(isMobile==0) if(selectedMois == nbMois-1) indexSlideToGo--; sliderTarif.goToSlide(indexSlideToGo); // aller au slide // verifier si c'est le dernier mois alors sellectioner le mois d'avant si existe if(isMobile == 0) if(selectedMois == nbMois-1) { if( nbMois-2 >= 0) { $('#selectMoisTarif').prop('selectedIndex',nbMois-2) // Selectioner le mois d'avant // rafraichir le select HTML après la modification du selected index //$('#selectMoisTarif').selectpicker(); $('#selectMoisTarif').selectpicker('refresh'); } } }); } } jQuery.majPrixMin = function(typeAffichage) { try { $('.tdprice').removeClass('minPrice') prixMin = 999999999; elementprixMin = ''; moisCour = $('#selectMoisTarif').val().split(',')[0]; laDateDepartDefaut = '01/' + moisCour.slice(-2) + '/' + moisCour.substr(0,4); if ( !$( "#dateDepartDefaut" ).length ) { $( "#messageErreurTP" ).after(''); } else { $( "#dateDepartDefaut" ).val(laDateDepartDefaut); } $( 'div.'+moisCour ).find( "div.prix" ).each(function(){ prixIci = $(this).html(); prixIci = prixIci.replace("€", ""); if(!isNaN(parseFloat(prixIci))) if(parseFloat(prixIci) < prixMin) { prixMin = parseFloat(prixIci); elementprixMin = $(this); } }); if(typeAffichage == 1) { idxSle = Number($('#selectMoisTarif')[0].selectedIndex)+1 nbSel = $('#selectMoisTarif option').size(); if(idxSle <= nbSel) { moisCour = $('#selectMoisTarif option').eq(idxSle).val().split(',')[0]; $( 'div.'+moisCour ).find( "div.prix" ).each(function(){ prixIci = $(this).html(); prixIci = prixIci.replace("€", ""); if(!isNaN(parseFloat(prixIci))) if(parseFloat(prixIci) < prixMin) { prixMin = parseFloat(prixIci); elementprixMin = $(this); } }); } } $('.price_' + prixMin).addClass('minPrice') /*$('.' + moisCour).each(function(){ console.log('slide'); });*/ /*console.log(moisCour); console.log(typeAffichage);*/ } catch(err) { error=1 } /*$('.slide:in-viewport').each(function(){ console.log('slide'); });*/ } /*+++++++++++++++++++ Fonction pour le Load en ajax du tableau de prix +++++++++++++++++++*/ jQuery.loadTableauPrix = function() { $.ajax({ type: "POST", url: "https://www.asia.fr/ajax/produitTableauPrix.cfm", data: $("#frmTableauPrix").serializeArray(), contentType: "application/x-www-form-urlencoded", dataType: "html", cache: false, beforeSend : function(){ var heightDivLoading = 460; var paddingTopDivLoading = 180; if(isMobile == 1) { var heightDivLoading = 381; var paddingTopDivLoading = 140; } $("#divTableauPrix").html('
    '); }, /*error : function(){ alert(unescape('Donn%E9e non fournie dans la base!')); return false; },*/ success : function(contenu){ $('#divTableauPrix').html(contenu); $('#selectMoisTarif').selectpicker({size: 10}); if (isMobile == 0) setTimeout(function (){ $.initSlider(1); }, 100); else setTimeout(function (){ $.initSlider(2); }, 100); } }); } $('.Dispostarifs').click(function(){ $.loadTableauPrix(); }); /*$('a[href="#Dispostarifs"]').one('shown.bs.tab', function (e) { //$.loadTableauPrix(); }); $('#myTabCol-accordion').one('shown.bs.collapse', function (e) { //$.loadTableauPrix(); }); $('#myTabCol-accordion').each('shown.bs.collapse', function (e) { //$.loadTableauPrix(); });*/ $("#VilleDepartTP").change(function(){$.loadTableauPrix();}); $("#dureeTP").change(function(){$.loadTableauPrix();}); $("#adultesTP").change(function(){$.loadTableauPrix();}); $("#enfantsTP").change(function(){$.loadTableauPrix();}); /*+++++++++++++++++++ fonction sellection d'une date from tableau prix +++++++++++++++++++*/ jQuery.selectionnerFromTableau = function(LaDate,LaDateFr,lePrix,laDateLong,couleurDispo) { var alertAgeEnfant = 0; nbEnfant = $("#enfantsTP").val(); $("div[id^='divAgeEnfantTP']").removeClass('inputError'); for(i=1;i<=nbEnfant;i++) { if( $('#ageEnfantTP'+i).val() == '') { $('#divAgeEnfantTP'+i).addClass('inputError'); alertAgeEnfant = 1; } } if(alertAgeEnfant) { $.scrollTo('#frmTableauPrix',100,scrollPlusProduit) $('#divMessageErreurDateTarifAgesTP').fadeIn(500); $('#divComboDatesTarifsTP').shake(0); $("#messageErreurTP").val('1') return false; } else $('#divMessageErreurDateTarifAgesTP').hide(); $("#frmTableauPrix input[name=date_depart]").val(LaDateFr); $("#frmTableauPrix input[name=prixVoyage]").val(lePrix); $("#frmTableauPrix input[name=couleurDispo]").val(couleurDispo); $("#modalLoadingPageTP").modal(); $("#frmTableauPrix").submit(); } // Au chngement des ages enfants $("select[id^='ageEnfantTP']").change(function(){ $('#divA'+$(this).attr('id').substring(1, 99)).removeClass('inputError'); if($(this).val() == '') $('#divA'+$(this).attr('id').substring(1, 99)).addClass('inputError'); // Tester les autres combo age pour masquer le message si tout est OK if($("#messageErreurTP").val()==1) { nbEnfant = $("#enfantsTP").val(); if(nbEnfant >0) { var afficherMessage = 0; for(i=1;i<=nbEnfant;i++) if($("#ageEnfantTP" + i).val() == '') afficherMessage = 1 if(afficherMessage) $('#divMessageErreurDateTarifAgesTP').fadeIn(500); else $('#divMessageErreurDateTarifAgesTP').hide(); } else $('#divMessageErreurDateTarifAgesTP').hide(); } }); /*+++++++++++++++++++ Fonction pour le Load de la liste deroulantes des date et trifs +++++++++++++++++++*/ jQuery.loadComboDatesTarifs = function(){ $.ajax({ type: "POST", url: "https://www.asia.fr/ajax/produitComboDatesTarifs.cfm", data: $("#frmDatesTarifs").serializeArray(), contentType: "application/x-www-form-urlencoded", dataType: "html", cache: false, beforeSend : function(){ $('#divMessageErreurDateTarifDate').hide(); $('#reserverDateTarif').removeClass('rouge').addClass('gris'); $('#reserverDateTarif').disable(true); //$('#reserverDateTarif').attr('disable',true); /* $(@).prop('disabled', state).disable(true);*/ $('#divComboDatesTarifs').removeClass('inputError'); $("#divComboDatesTarifs").html('
    '); }, /*error : function(){ alert(unescape('Donn%E9e non fournie dans la base!')); return false; },*/ success : function(contenu){ $('#divComboDatesTarifs').html(contenu); $('#comboDatesTarifs').selectpicker({ size: 10}); $.majPrixMinList(); $('#reserverDateTarif').removeClass('gris').addClass('rouge'); $('#reserverDateTarif').disable(false); // Ajouter le trigger sur le changment de la valeur //var axel = Math.random() + ""; //var a = axel * 10000000000000; //$('.selectPrix ul li').prepend(''); //$('.selectPrix ul li').prepend(''); $("#comboDatesTarifs").change(function(){ $('#divComboDatesTarifs').removeClass('inputError'); if($("#messageErreurDT").val()==1) $('#divMessageErreurDateTarifDate').hide(); if($('#comboDatesTarifs').val() == '') { $('#divComboDatesTarifs').addClass('inputError'); if($("#messageErreurDT").val()==1) $('#divMessageErreurDateTarifDate').fadeIn(500); } // Sauvegarder la valeur du select pour le reload $('#sauvDateSelectionnee').val($("#comboDatesTarifs").val().split('|')[0]) }); } }); } $("#VilleDepartDT").change(function(){$.loadComboDatesTarifs();}); $("#dureeDT").change(function(){$.loadComboDatesTarifs();}); $("#adultesDT").change(function(){$.loadComboDatesTarifs();}); $("#enfantsDT").change(function(){$.loadComboDatesTarifs();}); jQuery.majPrixMinList = function() { try { var arrIndex = $("#listIndexPrixMin").val().split(',') var arrayLength = arrIndex.length; for (var i = 0; i < arrayLength; i++) { /*$( '#divComboDatesTarifs' ).find( "li" ).each(function(){ console.log($(this).attr('data-original-index')); });*/ //.addClass('minPrice'); $("#divComboDatesTarifs ul li[data-original-index='"+(Number(arrIndex[i])+1)+"']").addClass('minPriceList'); //console.log(arrIndex[i]); //Do something } /*$('.tdprice').removeClass('minPrice') prixMin = 999999999; elementprixMin = ''; moisCour = $('#selectMoisTarif').val().split(',')[0]; $( 'div.'+moisCour ).find( "div.prix" ).each(function(){ prixIci = $(this).html(); prixIci = prixIci.replace("€", ""); if(!isNaN(parseFloat(prixIci))) if(prixIci < prixMin) { prixMin = prixIci; elementprixMin = $(this); } }); if(typeAffichage == 1) { idxSle = Number($('#selectMoisTarif')[0].selectedIndex)+1 nbSel = $('#selectMoisTarif option').size(); if(idxSle <= nbSel) { moisCour = $('#selectMoisTarif option').eq(idxSle).val().split(',')[0]; $( 'div.'+moisCour ).find( "div.prix" ).each(function(){ prixIci = $(this).html(); prixIci = prixIci.replace("€", ""); if(!isNaN(parseFloat(prixIci))) if(prixIci < prixMin) { prixMin = prixIci; elementprixMin = $(this); } }); } } $('.price_' + prixMin).addClass('minPrice') */ /*$('.' + moisCour).each(function(){ console.log('slide'); });*/ /* console.log(typeAffichage);*/ } catch(err) { error=1 } /*$('.slide:in-viewport').each(function(){ console.log('slide'); });*/ } /*+++++++++++++++++++ Au clic sur le bouton reserver +++++++++++++++++++*/ $("#reserverDateTarif").click(function(){ var formOK = 1; var alertAgeEnfant = 0; nbEnfant = $("#enfantsDT").val(); $("div[id^='divAgeEnfantDT']").removeClass('inputError'); for(i=1;i<=nbEnfant;i++) { if( $('#ageEnfantDT'+i).val() == '') { $('#divAgeEnfantDT'+i).addClass('inputError'); //$('#divAgeEnfantDT'+i).effect("shake", { times:3 }, 300); $('#divAgeEnfantDT'+i).shake(5,5,500); alertAgeEnfant = 1; } } if(alertAgeEnfant) { $('#divAgesEnfantSelectDT').shake(0); $('#divMessageErreurDateTarifAges').fadeIn(500); //messageAlerte = messageAlerte + 'Vous devez sélectionner les âges des enfants'+String.fromCharCode(13); formOK = 0 } else $('#divMessageErreurDateTarifAges').hide(); var selectedDate = $('#comboDatesTarifs').val(); $('#divComboDatesTarifs').removeClass('inputError'); if(selectedDate == '') { $('#divComboDatesTarifs').addClass('inputError'); $('#divMessageErreurDateTarifDate').fadeIn(500); //$('#divMessageErreurDateTarifDate').fadeToggle(500); $('#divComboDatesTarifs').shake(0); formOK = 0 //messageAlerte = messageAlere + 'Vous devez sélectionner une date de départ'; } else $('#divMessageErreurDateTarifDate').hide(); if(!formOK) { $("#messageErreurDT").val('1') $.scrollTo('#produit',200,scrollPlusProduit) return false; } /*if(!is_firefox) { $("#reserverDateTarif").hide(); $("#reserverDateTarifLoading").show(); }*/ $("#frmDatesTarifs input[name=date_depart]").val(selectedDate.split('|')[0]); $("#frmDatesTarifs input[name=prixVoyage]").val(selectedDate.split('|')[1]); $("#frmDatesTarifs input[name=couleurDispo]").val(selectedDate.split('|')[2]); $("#modalLoadingPage").modal(); $("#frmDatesTarifs").submit(); //return false; }); // Ajouter un trgger sur le changement de la valeur de l'age $("select[id^='ageEnfantDT']").change(function(){ $('#divA'+$(this).attr('id').substring(1, 99)).removeClass('inputError'); if($(this).val() == '') $('#divA'+$(this).attr('id').substring(1, 99)).addClass('inputError'); // Tester les autres combo age pour masquer le message si tout est OK if($("#messageErreurDT").val()==1) { nbEnfant = $("#enfantsDT").val(); if(nbEnfant >0) { var afficherMessage = 0; for(i=1;i<=nbEnfant;i++) if($("#ageEnfantDT" + i).val() == '') afficherMessage = 1 if(afficherMessage) $('#divMessageErreurDateTarifAges').fadeIn(500); else $('#divMessageErreurDateTarifAges').hide(); } else $('#divMessageErreurDateTarifAges').hide(); } }); //XXX$.loadComboDatesTarifs(); // Traiter les cas des retour arrière navigateur //$("#enfantsTP").trigger( "change" ); nbEnfant = $("#enfantsTP").val(); if(nbEnfant >0) { $("div[id^='divAgeEnfantTP']").hide() for(i=1;i<=nbEnfant;i++) $("#divAgeEnfantTP" + i).show(); $("#divAgesEnfantTP").fadeIn(500) } else { $("#divAgesEnfantTP").fadeOut(300) //$("div[id^='divAgeEnfant']").hide() } //$("#enfantsDT").trigger( "change" ); $("#reserverDateTarifLoading").hide(); nbEnfant = $("#enfantsDT").val(); if(nbEnfant >0) { $("div[id^='divAgeEnfantDT']").hide() for(i=1;i<=nbEnfant;i++) $("#divAgeEnfantDT" + i).show(); $("#divAgesEnfantDT").fadeIn(500) } else { $("#divAgesEnfantDT").fadeOut(300) //$("div[id^='divAgeEnfant']").hide() } //window.location.reload(true); $("#reserverDateTarifLoading").hide(); $("#reserverDateTarif").show(); /*********************************************************************************************************************************/ /********************************************************** Les étapes ***********************************************************/ /*********************************************************************************************************************************/ $("div[id^='plusInfo_']").click(function(){ idAssurance = $(this).attr('id').split('_')[1] window.open('packageResaInfosAssurances.cfm?assurance='+idAssurance,'','height=700,width=600,scrollbars=yes') }); /*********************************************************************************************************************************/ /************************************************************ Etape 1 ************************************************************/ /*********************************************************************************************************************************/ // Clic sur le bouton étape precedente $("#btnEtapePrecedente").click(function(){ history.go(-1); }); // Clic sur le revoir le descriptif $(".revoirDescriptifEtape1, .revoirDescriptifEtape2, .revoirDescriptifEtape3").click(function(){ window.open( $(this).attr('link'), '_blank' ); //history.go(-1); return false; }); // Clic sur le revoir le descriptif $(".revoirDescriptifEtape2xxx").click(function(){ history.go(-2); return false; }); // Clic sur le revoir le descriptif $(".revoirDescriptifEtape3xxx").click(function(){ history.go(-3); return false; }); // Clic sur le lien voir formalites $(".lienFormalites").click(function(){ $.scrollTo('#sectionFormalites',400,180) $('#formalites').collapse("show") return false; }); // fonction pour afficher le nombre de chambre jQuery.afficherChambre = function(nbChambre){ for(var i=1;i<=nbChambre;i++) { $("#trChambre_" + i).css("display", '') $("#trChambreMessage_" + i).css("display", '') //$("#divSeparateurChambre_" + i).css("display", '') } for(var i=$('#nbChambreToShow').val();i>nbChambre;i--) { $("#trChambre_" + i).css("display", 'none'); $("#trChambreMessage_" + i).css("display", 'none'); //$("#divSeparateurChambre_" + i).css("display", 'none'); $("#chambre_" + i).val(0); $("#adulte_" + i).val(0); $("#enfant_" + i).val(0); } } /* Afficher et masquer les chambres selon le nombre choisi */ $('#chambreNombre').change(function () { $.afficherChambre($(this).val()); }); /* Mettre a jour les capacités suite a une modification de la chambre */ $("select[id^='chambre_']").change(function(){ idLigne = $(this).attr('id').split('_')[1] idCh = $(this).val(); $("#tdCapacite_" + idLigne).html('Min ' + $("#chambreCapacitePersonMin_" + idCh).val() + ' pers.
    Max ' + $("#chambreCapacitePersonMax_" + idCh).val() + ' pers.'); $("#chambreAdulte_" + idLigne).empty() $("#chambreEnfant_" + idLigne).empty() for(var i=0;i<=$("#chambreCapaciteAdulteLoop_" + idCh).val();i++) $("#chambreAdulte_" + idLigne).append('') for(var i=0;i<=$("#chambreCapaciteEnfantLoop_" + idCh).val();i++) $("#chambreEnfant_" + idLigne).append('') }); //Preremplire le nombre de chambre et d'adulte et enfant des chambre selon la répartition par défaut if ($('#repartitionParDefaut').attr('id') !== undefined) { var laRepart = $('#repartitionParDefaut').val() if( laRepart != '') { nbChambre = laRepart.split(';')[3] $.afficherChambre(nbChambre); var lesChambres = laRepart.split(';')[4] for(i=1;i<=nbChambre;i++) { repartIci = lesChambres.split('@')[i-1] $('#chambreAdulte_' + i).prop('selectedIndex',repartIci.split(',')[0]) $('#chambreEnfant_' + i).prop('selectedIndex',repartIci.split(',')[1]) $("#chambreAdulte_" + i).selectpicker('refresh'); $("#chambreEnfant_" + i).selectpicker('refresh'); } $('#chambreNombre').prop('selectedIndex',nbChambre-1) $("#chambreNombre").selectpicker('refresh'); } } //Assurance : activer ou desactiver l'option baguage + $("input[name='codeAssurance']").change(function(){ //$("#codeAssurance").change(function(){ valeur = $(this).val(); codeAssur = valeur.split('|')[1]; if (codeAssur =='DNOASSU_') { $("#codeAssuranceOption").prop("checked", false); $("#codeAssuranceOption").prop('disabled', true); } else { $("#codeAssuranceOption").prop('disabled', false); } }); // click sur le bouton Etape 1 $("#btnSubmitEtape1").click(function(){ var i = 0; /* Tester la répartition */ /* Initialiser les background */ //$("select[id^='chambreAdulte_']").each(function(){ $(this).css("backgroundColor","white"); }); //$("select[id^='chambreEnfant_']").each(function(){ $(this).css("backgroundColor","white"); }); erreurRepartition = false; nbAdulteAffecte = 0; nbEnfantAffecte = 0; nbCh = $("#chambreNombre").val() var isReturnFalse = 0 /* bourcle sur le nombre de chambres choisies */ for (i=1;i<= nbCh;i++) { idCh = $("#chambre_" + i ).val() chambreNom = $("#chambreNom_" + idCh ).val(); chambreCapacitePersonMin = $("#chambreCapacitePersonMin_" + idCh ).val(); chambreCapacitePersonMax = $("#chambreCapacitePersonMax_" + idCh ).val(); chambreCapaciteAdulteMax = $("#chambreCapaciteAdulteMax_" + idCh ).val(); chambreCapaciteEnfantMax = $("#chambreCapaciteEnfantMax_" + idCh ).val(); chambreCapaciteBebeMax = $("#chambreCapaciteBebeMax_" + idCh ).val(); chambreNbAdulte = $("#chambreAdulte_" + i ).val(); chambreNbEnfant = $("#chambreEnfant_" + i ).val(); chambreNbPassager = Number(chambreNbAdulte) + Number(chambreNbEnfant) /* si les capacités ne sont pas résepéctées */ afficherDivMEssage = 0; if(chambreNbPassager > chambreCapacitePersonMax || chambreNbPassager < chambreCapacitePersonMin ) { //$("#chambreAdulte_" + i).css("backgroundColor","red"); //$("#chambreEnfant_" + i).css("backgroundColor","red"); Message = 'Les capacit'+String.fromCharCode(233)+'s min et max de la chambre ne sont pas r'+String.fromCharCode(233)+'spect'+String.fromCharCode(233)+'es.
    '; Submiter = false erreurRepartition = true; //$('#trChambre_' + i).shake(0); $('#categorieChambre_' + i).shake(0); $('#capaciteChambre_' + i).shake(0); $('#adulteChambre_' + i).shake(0); $('#enfantChambre_' + i).shake(0); $('#divMessageErreurChambreText_' + i).html(Message) afficherDivMEssage = 1; isReturnFalse = 1; } /* si enfant seule dans la chambre */ if(chambreNbAdulte == 0 && chambreNbEnfant > 0) { Message = 'Les enfants seuls ne sont pas autoris'+String.fromCharCode(233)+'s dans une chambre
    '; Submiter = false erreurRepartition = true; $('#enfantChambre_'+i).addClass('inputError'); $('#enfantChambre_' + i).shake(0); $('#divMessageErreurChambreText_' + i).html(Message) afficherDivMEssage = 1; isReturnFalse = 1; } else $('#enfantChambre_'+i).removeClass('inputError'); if(afficherDivMEssage) $('#divMessageErreurChambre_' + i).fadeIn(500); else $('#divMessageErreurChambre_' + i).hide(); nbAdulteAffecte = Number(nbAdulteAffecte) + Number(chambreNbAdulte); nbEnfantAffecte = Number(nbEnfantAffecte) + Number(chambreNbEnfant); } if (isReturnFalse) { $.scrollTo('.titreChambre',200,scrollPlusProcess) return false; } /* verifier le nombre de passager affectés par rapport au nombre de passager de la résa */ if(!erreurRepartition) { if( nbAdulteAffecte > $("#adultes").val()) { //$.AfficherAnno('Le nombre d\'adulte affect'+String.fromCharCode(233)+' est sup'+String.fromCharCode(233)+'rieur au nombre d\'adulte s'+String.fromCharCode(233)+'lectionn'+String.fromCharCode(233)+'. \n','#annoMessageHebergement'); $('#divMessageErreurChambreText_' + nbCh).html('Le nombre d\'adulte(s) affect'+String.fromCharCode(233)+' est sup'+String.fromCharCode(233)+'rieur au nombre d\'adulte(s) s'+String.fromCharCode(233)+'lectionn'+String.fromCharCode(233)+ ' (' + $("#adultes").val() + ').') $.scrollTo('.titreChambre',200,scrollPlusProcess) $('#divMessageErreurChambre_' + nbCh).fadeIn(500); $("div[id^='adulteChambre_']").addClass('inputError'); $("div[id^='adulteChambre_']").shake(1); return false; } else $("div[id^='adulteChambre_']").removeClass('inputError'); if( nbAdulteAffecte < $("#adultes").val()) { //$.AfficherAnno('Le nombre d\'adulte affect'+String.fromCharCode(233)+' est inf'+String.fromCharCode(233)+'rieur au nombre d\'adulte s'+String.fromCharCode(233)+'lectionn'+String.fromCharCode(233)+'. \n','#annoMessageHebergement'); $('#divMessageErreurChambreText_' + nbCh).html('Le nombre d\'adulte(s) affect'+String.fromCharCode(233)+' est inf'+String.fromCharCode(233)+'rieur au nombre d\'adulte(s) s'+String.fromCharCode(233)+'lectionn'+String.fromCharCode(233)+ ' (' + $("#adultes").val() + ').') $.scrollTo('.titreChambre',200,scrollPlusProcess) $('#divMessageErreurChambre_' + nbCh).fadeIn(500); $("div[id^='adulteChambre_']").addClass('inputError'); $("div[id^='adulteChambre_']").shake(1); return false; } else $("div[id^='adulteChambre_']").removeClass('inputError'); if( nbEnfantAffecte > $("#enfants").val()) { //$.AfficherAnno('Le nombre d\'enfant affect'+String.fromCharCode(233)+' est sup'+String.fromCharCode(233)+'rieur au nombre d\'enfant s'+String.fromCharCode(233)+'lectionn'+String.fromCharCode(233)+'. \n','#annoMessageHebergement'); $('#divMessageErreurChambreText_' + nbCh).html('Le nombre d\'enfant(s) affect'+String.fromCharCode(233)+' est sup'+String.fromCharCode(233)+'rieur au nombre d\'enfant(s) s'+String.fromCharCode(233)+'lectionn'+String.fromCharCode(233)+ ' (' + $("#enfants").val() + ').') $.scrollTo('.titreChambre',200,scrollPlusProcess) $('#divMessageErreurChambre_' + nbCh).fadeIn(500); $("div[id^='enfantChambre_']").addClass('inputError'); $("div[id^='enfantChambre_']").shake(1); return false; } else $("div[id^='enfantChambre_']").removeClass('inputError'); if( nbEnfantAffecte < $("#enfants").val()) { //$.AfficherAnno('Le nombre d\'enfant affect'+String.fromCharCode(233)+' est inf'+String.fromCharCode(233)+'rieur au nombre d\'enfant s'+String.fromCharCode(233)+'lectionn'+String.fromCharCode(233)+'. \n','#annoMessageHebergement'); $('#divMessageErreurChambreText_' + nbCh).html('Le nombre d\'enfant(s) affect'+String.fromCharCode(233)+' est inf'+String.fromCharCode(233)+'rieur au nombre d\'enfant(s) s'+String.fromCharCode(233)+'lectionn'+String.fromCharCode(233)+ ' (' + $("#enfants").val() + ').') $.scrollTo('.titreChambre',200,scrollPlusProcess) $('#divMessageErreurChambre_' + nbCh).fadeIn(500); $("div[id^='enfantChambre_']").addClass('inputError'); $("div[id^='enfantChambre_']").shake(1); return false; } else $("div[id^='enfantChambre_']").removeClass('inputError'); } $('#divMessageErreurChambre_' + nbCh).hide(); // vérifier si les capacités min et max des options sont résepéctées if($("#listeCodeOptionMisc").val() != undefined) { var arrayOption = $("#listeCodeOptionMisc").val().split(',') for (var i = 0; i < arrayOption.length; i++) { uneOption = arrayOption[i]; // verifier si l'option est cochée if($("#checkOption_"+uneOption+":checked").length != 0) { nbTotalOption = Number($("#addonAdulte" + uneOption).val()) + Number($("#addonEnfant" + uneOption).val()) if (nbTotalOption > 0) { if(nbTotalOption > $("#addonMaxTotal" + uneOption).val()) { Message = 'Le nombre de passager maximum de la prestation n\'est pas r'+String.fromCharCode(233)+'spect'+String.fromCharCode(233)+'. \n'; $('#divMessageErreurPrestationText_' + uneOption).html(Message) $.scrollTo('.titrePrestation',200,scrollPlusProcess) $('#divMessageErreurPrestation_' + uneOption).fadeIn(500); $("#adulteOption_" + uneOption).addClass('inputError'); $("#enfantOption_" + uneOption).addClass('inputError'); $("#adulteOption_" + uneOption).shake(1); $("#enfantOption_" + uneOption).shake(1); return false; } else { $("#adulteOption_" + uneOption).removeClass('inputError'); $("#enfantOption_" + uneOption).removeClass('inputError'); } if(nbTotalOption < $("#addonMinTotal" + uneOption).val()) { Message = 'Le nombre de passager minumum de la prestation n\'est pas r'+String.fromCharCode(233)+'spect'+String.fromCharCode(233)+'. \n'; $('#divMessageErreurPrestationText_' + uneOption).html(Message) $.scrollTo('.titrePrestation',200,scrollPlusProcess) $('#divMessageErreurPrestation_' + uneOption).fadeIn(500); $("#adulteOption_" + uneOption).addClass('inputError'); $("#enfantOption_" + uneOption).addClass('inputError'); $("#adulteOption_" + uneOption).shake(1); $("#enfantOption_" + uneOption).shake(1); return false; } else { $("#adulteOption_" + uneOption).removeClass('inputError'); $("#enfantOption_" + uneOption).removeClass('inputError'); } } } else { $("#adulteOption_" + uneOption).removeClass('inputError'); $("#enfantOption_" + uneOption).removeClass('inputError'); } } } // Tester si une assurance est choisie if($( "input[name='codeAssurance']:checked" ).length == 0) { $.scrollTo('.titreAssurance',100,scrollPlusProcess) $('#divMessageErreurAssurance').fadeIn(500); $(".radioAssurance").addClass('radio-error'); $(".radioAssurance").shake(0); //divMessageErreurAssurance //$.AfficherAnno("Veuillez choisir votre assurance.",'#divResaAssurancesContenu'); return false; } else { $('#divMessageErreurAssurance').hide(); $(".radioAssurance").removeClass('radio-error'); } // Verifier si l'option est chochée sinon mettre nbAdulte et nbEnfant = 0 $("input[id^='checkOption']:not(:checked)").each(function() { $('#addonAdulte' + $(this).attr('id').split('_')[1]).prop('selectedIndex', 0); $('#addonEnfant' + $(this).attr('id').split('_')[1]).prop('selectedIndex', 0); }); $("#modalLoadingPage").modal(); $("#packageResa1").submit(); //alert('Submit') //return false; }); //+++++++ Les contre propostitions $(".uneContreProposition").click(function(){ data= $(this).attr('data'); data=data.split('@'); if(data[0] == 1) { idProduit = data[1]; nomProduit = data[2]; $("#dateDepartAlt").val(data[3]); $("#dateDepartSQLAlt").val(data[4]); $("#villeDepartAlt").val(data[5]); $("#adultesAlt").val(data[6]); $("#enfantsAlt").val(data[7]); $("#jourDepartAlt").val(data[8]); $("#prixAlt").val(data[9]); $("#couleurDispoAlt").val(data[10]); //$("#frmContrePropositionAutreProtuit").attr('action','page-produit.cfm?nocache&idProduit='+idProduit); $("#frmContrePropositionAutreProtuit").attr('action',nomProduit); $("#frmContrePropositionAutreProtuit").submit(); } else { $("#date_depart").val(data[1]); $("#couleurDispo").val(data[2]); $("#frmContrePropositionMemeProtuit").submit(); } }); /*********************************************************************************************************************************/ /************************************************************ Etape 2 ************************************************************/ /*********************************************************************************************************************************/ // click sur le bouton Valider Etape 2 $("#btnSubmitEtape2").click(function(){ $("#modalLoadingPage").modal(); $("#packageResa2").submit(); }); /*********************************************************************************************************************************/ /************************************************************ Etape 3 ************************************************************/ /*********************************************************************************************************************************/ $("div[id^='divDateNaissance_']").each(function() { $(this).birthdayPicker({ "maxYear": $("#maxAnneeAge_"+$(this).attr('id').split('_')[1]).val(), "minYear": $("#minAnneeAge_"+$(this).attr('id').split('_')[1]).val(), "defaultDate": $("#dateNaissanceDefaut_"+$(this).attr('id').split('_')[1]).val(), //"maxAge": $("#maxAge_"+$(this).attr('id').split('_')[1]).val(), //"minAge": $("#minAge_"+$(this).attr('id').split('_')[1]).val(), "dateFormat": "littleEndian" }); }); // click sur le bouton Valider Etape 3 $("#btnSubmitEtape3").click(function(){ var elementToShake = "" var elementToShakeDateBirth = "" var shakeCarteValidite = 0 var elementToScroll = "" var elementToShow = "" var formError = 0 var regexAplha = /^[a-zA-Z\s]+$/; // ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ // +++++++++++++++++++++++ verifier les données des passagers // ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ nbPassagers = Number($("#adultes").val()) + Number($("#enfants").val()) for(var i=1;i<= nbPassagers;i++) { if($( "input[name='civilitePassager_"+i+"']:checked" ).length == 0) { elementToShake += ".radioCivilite_" + i + ","; $("#divMessageErreurCivilite_" + i).fadeIn(500); $(".radioCivilitePassager_" + i).addClass('radio-error'); elementToScroll = "passagers" elementToShow += "passagers,"; formError = 1 } else { $("#divMessageErreurCivilite_" + i).hide() $(".radioCivilitePassager_" + i).removeClass('radio-error'); } // Nom if($("#nomPassager_" + i).val() == '' || !regexAplha.test ($("#nomPassager_" + i).val())) { elementToShake += "#nomPassager_" + i + ","; $('#nomPassager_'+i).addClass('inputError'); $("#divMessageErreurNomPassager_" + i).fadeIn(500); elementToScroll = "passagers" elementToShow += "passagers,"; formError = 1 } else { $('#nomPassager_'+i).removeClass('inputError'); $("#divMessageErreurNomPassager_" + i).hide() } //Prenom if($("#prenomPassager_" + i).val() == '' || !regexAplha.test ($("#prenomPassager_" + i).val())) { elementToShake += "#prenomPassager_" + i + ","; $('#prenomPassager_'+i).addClass('inputError'); $("#divMessageErreurPrenomPassager_" + i).fadeIn(500); elementToScroll = "passagers" elementToShow += "passagers,"; formError = 1 } else { $('#prenomPassager_'+i).removeClass('inputError'); $("#divMessageErreurPrenomPassager_" + i).hide() } //Date de naissance if($("#dateDeNaissancePassagerJour_" + i).val() == '' || $("#dateDeNaissancePassagerMois_" + i).val() == '' || $("#dateDeNaissancePassagerAnnee_" + i).val() == '') { elementToShakeDateBirth += i + ',' $("#dateDeNaissancePassagerJour_" + i).next().addClass('inputError'); $("#dateDeNaissancePassagerMois_" + i).next().addClass('inputError'); $("#dateDeNaissancePassagerAnnee_" + i).next().addClass('inputError'); $("#texteMessageDateNaissance_" + i).html('La date de naissance est obligatoire') $("#divMessageErreurDateNaissance_" + i).fadeIn(500); elementToScroll = "passagers" elementToShow += "passagers,"; formError = 1 } else { var maquerMessage = 1 // Verifier l'age dateNaissancePassager = $("#dateDeNaissancePassagerJour_" + i).val() + '/' + $("#dateDeNaissancePassagerMois_" + i).val() + '/' + $("#dateDeNaissancePassagerAnnee_" + i).val() agePassager = $.age(dateNaissancePassager,$('#dateTestDateNaiss').val()) //Les adultes if(i<=$("#adultes").val()) { if(agePassager < 12) { $("#texteMessageDateNaissance_" + i).html('L\'adulte doit avoir plus de 11 ans') elementToShakeDateBirth += i + ',' $("#dateDeNaissancePassagerJour_" + i).next().addClass('inputError'); $("#dateDeNaissancePassagerMois_" + i).next().addClass('inputError'); $("#dateDeNaissancePassagerAnnee_" + i).next().addClass('inputError'); $("#divMessageErreurDateNaissance_" + i).fadeIn(500); elementToScroll = "passagers" elementToShow += "passagers,"; formError = 1 maquerMessage = 0 } } else { indiceAgeEnfant = i-$("#adultes").val() if(agePassager < $("#ageenfant" + indiceAgeEnfant).val() || agePassager >= Number($("#ageenfant" + indiceAgeEnfant).val())+1) { $("#texteMessageDateNaissance_" + i).html('L\'enfant doit avoir ' + $("#ageenfant" + indiceAgeEnfant).val() +' ans') elementToShakeDateBirth += i + ',' $("#dateDeNaissancePassagerJour_" + i).next().addClass('inputError'); $("#dateDeNaissancePassagerMois_" + i).next().addClass('inputError'); $("#dateDeNaissancePassagerAnnee_" + i).next().addClass('inputError'); $("#divMessageErreurDateNaissance_" + i).fadeIn(500); elementToScroll = "passagers" elementToShow += "passagers,"; formError = 1 maquerMessage = 0 } } //alert(agePassager) if(maquerMessage) { $("#dateDeNaissancePassagerJour_" + i).next().removeClass('inputError'); $("#dateDeNaissancePassagerMois_" + i).next().removeClass('inputError'); $("#dateDeNaissancePassagerAnnee_" + i).next().removeClass('inputError'); $("#divMessageErreurDateNaissance_" + i).hide() } } //$("#trChambre_" + i).css("display", '') //$("#trChambreMessage_" + i).css("display", '') } // ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ // +++++++++++++++++++++++++++ verifier les données du client // ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ // Civilite if($( "input[name='clientCivilite']:checked" ).length == 0) { elementToShake += ".radioCiviliteClient" + ","; $("#divMessageErreurclientCivilite").fadeIn(500); $(".radioClientCivilite").addClass('radio-error'); if(elementToScroll == '') elementToScroll = "coordonnees" elementToShow += "coordonnees,"; formError = 1 } else { $("#divMessageErreurclientCivilite").hide(); $(".radioClientCivilite").removeClass('radio-error'); } emailClientOK = 1; var lesChmapsClientObligatoires = "clientNom,clientPrenom,clientAdresse,clientCp,clientVille,clientPays,clientEmail,clientConfirmationEmail,clientTel,clientMobile" for(var i=0;i< lesChmapsClientObligatoires.split(',').length ;i++) { unChamp = lesChmapsClientObligatoires.split(',')[i] if($("#"+unChamp).val() == '') { elementToShake += "#" + unChamp + ","; $('#' + unChamp).addClass('inputError'); $("#divMessageErreur"+unChamp).fadeIn(500); if(elementToScroll == '') elementToScroll = "coordonnees" elementToShow += "coordonnees,"; formError = 1 if(unChamp == 'clientEmail') { $("#texteMessageClientEmail").html('Votre e-mail est obligatoire') emailClientOK = 0 } if(unChamp == 'clientConfirmationEmail') $("#texteMessageClienConfirmationtEmail").html('Veuillez confirmer votre e-mail') if(unChamp == 'clientCp') $("#texteMessageclientCp").html('Votre code postal est obligatoire') } else { var allOK = 1 // Verifier l'email if(unChamp == 'clientEmail') { var pattern = new RegExp(/^[+a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/i); if( ! pattern.test($("#"+unChamp).val())) { $("#texteMessageClientEmail").html('Votre e-mail est invalide') elementToShake += "#" + unChamp + ","; $('#' + unChamp).addClass('inputError'); $("#divMessageErreur"+unChamp).fadeIn(500); if(elementToScroll == '') elementToScroll = "coordonnees" elementToShow += "coordonnees,"; formError = 1 allOK = 0 emailClientOK = 0; } } // Vérifier l'email de confirmation if(unChamp == 'clientConfirmationEmail') { var pattern = new RegExp(/^[+a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/i); if( ! pattern.test($("#"+unChamp).val())) { $("#texteMessageClienConfirmationtEmail").html('L\'e-mail de confirmation est invalide') elementToShake += "#" + unChamp + ","; $('#' + unChamp).addClass('inputError'); $("#divMessageErreur"+unChamp).fadeIn(500); if(elementToScroll == '') elementToScroll = "coordonnees" elementToShow += "coordonnees,"; formError = 1 allOK = 0 } else { if(emailClientOK == 1 && $("#"+unChamp).val() != $("#clientEmail").val()) { $("#texteMessageClienConfirmationtEmail").html('L\'e-mail de confirmation ne correspond pas') elementToShake += "#" + unChamp + ","; $('#' + unChamp).addClass('inputError'); $("#divMessageErreur"+unChamp).fadeIn(500); if(elementToScroll == '') elementToScroll = "coordonnees" elementToShow += "coordonnees,"; formError = 1 allOK = 0 } } } // Vérifier le code postal (numeric) if(unChamp == 'clientCp') { if( ! $.isNumeric($("#"+unChamp).val())) { $("#texteMessageclientCp").html('Votre code postal est invalide') elementToShake += "#" + unChamp + ","; $('#' + unChamp).addClass('inputError'); $("#divMessageErreur"+unChamp).fadeIn(500); if(elementToScroll == '') elementToScroll = "coordonnees" elementToShow += "coordonnees,"; formError = 1 allOK = 0 } } if(allOK) { $('#' + unChamp).removeClass('inputError'); $("#divMessageErreur"+unChamp).hide(); } } } // Newsletter if($( "input[name='clientNewsLetter']:checked" ).length == 0) { elementToShake += ".radioClientNewsLetter" + ","; $("#divMessageErreurclientNewsletter").fadeIn(500); $(".radioClientNewsLetter").addClass('radio-error'); if(elementToScroll == '') elementToScroll = "coordonnees" elementToShow += "coordonnees,"; formError = 1 } else { $("#divMessageErreurclientNewsletter").hide(); $(".radioClientNewsLetter").removeClass('radio-error'); } // ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ // +++++++++++++++++++++ verifier l'acceptation des condition // ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ if($("#conditions").is(':checked')) { $("#divMessageErreurconditions").hide(); $(".checkboxCondition").removeClass('checkbox-error'); } else { elementToShake += ".checkboxCondition" + ","; $("#divMessageErreurconditions").fadeIn(500); $(".checkboxCondition").addClass('checkbox-error'); if(elementToScroll == '') elementToScroll = "formalites" elementToShow += "formalites,"; formError = 1 } // ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ // +++++++++++++++++++++++++ verifier les données du paiement // ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ // Type Carte if($( "input[name='carteType']:checked" ).length == 0) { elementToShake += ".radioCarteType" + ","; $("#divMessageErreurcarteType").fadeIn(500); if(elementToScroll == '') elementToScroll = "paiement" elementToShow += "paiement,"; formError = 1 } else $("#divMessageErreurcarteType").hide(); var lesChmapsPaiementObligatoires = "carteNumero,carteMois,carteAnnee,carteTitulaire,carteCryptogramme" for(var i=0;i< lesChmapsPaiementObligatoires.split(',').length ;i++) { unChamp = lesChmapsPaiementObligatoires.split(',')[i] if($("#"+unChamp).val() == '') { elementToShake += "#" + unChamp + ","; // Traiter le cas select date validité if(unChamp == 'carteMois' || unChamp == 'carteAnnee') { $("#divMessageErreurcarteValidite").fadeIn(500); $("#"+unChamp).next().addClass('inputError'); shakeCarteValidite = 1 } else { $("#divMessageErreur" + unChamp).fadeIn(500); $('#' + unChamp).addClass('inputError'); } if(elementToScroll == '') elementToScroll = "paiement" elementToShow += "paiement,"; formError = 1 if(unChamp == 'carteNumero') $("#texteMessagecarteNumero").html('Le numéro est obligatoire') if(unChamp == 'carteCryptogramme') $("#texteMessagecarteCryptogramme").html('Le cryptogramme visuel est obligatoire') if(unChamp == 'carteMois' || unChamp == 'carteAnnee') $("#texteMessagecarteValidite").html('La date de validité est obligatoire') } else { var allOK = 1 // Verifier le n° de carte if(unChamp == 'carteNumero') { if( ! $.isCreditCard($("#"+unChamp).val())) { $("#texteMessagecarteNumero").html('Le numéro est invalide') elementToShake += "#" + unChamp + ","; $('#' + unChamp).addClass('inputError'); $("#divMessageErreur"+unChamp).fadeIn(500); if(elementToScroll == '') elementToScroll = "paiement" elementToShow += "paiement,"; formError = 1 allOK = 0 } } // Vérifier le Cryptogramme (numeric) if(unChamp == 'carteCryptogramme') { if( ! $.isNumeric($("#"+unChamp).val())) { $("#texteMessagecarteCryptogramme").html('Votre cryptogramme visuel est invalide') elementToShake += "#" + unChamp + ","; $('#' + unChamp).addClass('inputError'); $("#divMessageErreur"+unChamp).fadeIn(500); if(elementToScroll == '') elementToScroll = "paiement" elementToShow += "paiement,"; formError = 1 allOK = 0 } } if(allOK) { if(unChamp == 'carteMois' || unChamp == 'carteAnnee') { $("#"+unChamp).next().removeClass('inputError'); if($("#carteMois").val() != '' && $("#carteAnnee").val() != '') $("#divMessageErreurcarteValidite").hide(); } else { $('#' + unChamp).removeClass('inputError'); $("#divMessageErreur" + unChamp).hide(); } } } } // Traiter le cas ou la date de validité est < ce mois if($("#carteMois").val() != '' && $("#carteAnnee").val() != '') { var myDate=new Date(); var anneeEnCours=Number(myDate.getFullYear()); var moisEnCours=Number(myDate.getMonth())+1; if(Number($("#carteAnnee").val()) == anneeEnCours) { if(Number($("#carteMois").val()) < moisEnCours) { $("#texteMessagecarteValidite").html('La date de validité est invalide')//La date de validité est obligatoire shakeCarteValidite = 1 $('#carteAnnee').next().addClass('inputError'); $('#carteMois').next().addClass('inputError'); $("#divMessageErreurcarteValidite").fadeIn(500); if(elementToScroll == '') elementToScroll = "paiement" elementToShow += "paiement,"; formError = 1 } } } if(elementToScroll != '') { $.scrollTo('.'+elementToScroll,400,scrollPlusProcess) } for(var i=0;i< elementToShow.split(',').length-1 ;i++) { $('#'+elementToShow.split(',')[i]).collapse("show") //alert() } for(var i=0;i< elementToShake.split(',').length-1 ;i++) { $(elementToShake.split(',')[i]).shake(1); //alert() } for(var i=0;i< elementToShakeDateBirth.split(',').length-1 ;i++) { //$(elementToShake.split(',')[i]).shake(1); $("#dateDeNaissancePassagerJour_" + elementToShakeDateBirth.split(',')[i]).next().shake(1); $("#dateDeNaissancePassagerMois_" + elementToShakeDateBirth.split(',')[i]).next().shake(1); $("#dateDeNaissancePassagerAnnee_" + elementToShakeDateBirth.split(',')[i]).next().shake(1); //alert() } if(shakeCarteValidite) $("#carteAnnee, #carteMois").next().shake(1); //alert(nbPassagers) if(!formError) $.insertCommande(1) }); $("#btnSubmitEtape3_3D").click(function(){ var elementToShake = "" var elementToShakeDateBirth = "" var shakeCarteValidite = 0 var elementToScroll = "" var elementToShow = "" var formError = 0 var regexAplha = /^[a-zA-Z\s]+$/; // ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ // +++++++++++++++++++++++ verifier les données des passagers // ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ nbPassagers = Number($("#adultes").val()) + Number($("#enfants").val()) for(var i=1;i<= nbPassagers;i++) { if($( "input[name='civilitePassager_"+i+"']:checked" ).length == 0) { elementToShake += ".radioCivilite_" + i + ","; $("#divMessageErreurCivilite_" + i).fadeIn(500); $(".radioCivilitePassager_" + i).addClass('radio-error'); elementToScroll = "passagers" elementToShow += "passagers,"; formError = 1 } else { $("#divMessageErreurCivilite_" + i).hide() $(".radioCivilitePassager_" + i).removeClass('radio-error'); } // Nom if($("#nomPassager_" + i).val() == '' || !regexAplha.test ($("#nomPassager_" + i).val())) { elementToShake += "#nomPassager_" + i + ","; $('#nomPassager_'+i).addClass('inputError'); $("#divMessageErreurNomPassager_" + i).fadeIn(500); elementToScroll = "passagers" elementToShow += "passagers,"; formError = 1 } else { $('#nomPassager_'+i).removeClass('inputError'); $("#divMessageErreurNomPassager_" + i).hide() } //Prenom if($("#prenomPassager_" + i).val() == '' || !regexAplha.test ($("#prenomPassager_" + i).val())) { elementToShake += "#prenomPassager_" + i + ","; $('#prenomPassager_'+i).addClass('inputError'); $("#divMessageErreurPrenomPassager_" + i).fadeIn(500); elementToScroll = "passagers" elementToShow += "passagers,"; formError = 1 } else { $('#prenomPassager_'+i).removeClass('inputError'); $("#divMessageErreurPrenomPassager_" + i).hide() } //Date de naissance if($("#dateDeNaissancePassagerJour_" + i).val() == '' || $("#dateDeNaissancePassagerMois_" + i).val() == '' || $("#dateDeNaissancePassagerAnnee_" + i).val() == '') { elementToShakeDateBirth += i + ',' $("#dateDeNaissancePassagerJour_" + i).next().addClass('inputError'); $("#dateDeNaissancePassagerMois_" + i).next().addClass('inputError'); $("#dateDeNaissancePassagerAnnee_" + i).next().addClass('inputError'); $("#texteMessageDateNaissance_" + i).html('La date de naissance est obligatoire') $("#divMessageErreurDateNaissance_" + i).fadeIn(500); elementToScroll = "passagers" elementToShow += "passagers,"; formError = 1 } else { var maquerMessage = 1 // Verifier l'age dateNaissancePassager = $("#dateDeNaissancePassagerJour_" + i).val() + '/' + $("#dateDeNaissancePassagerMois_" + i).val() + '/' + $("#dateDeNaissancePassagerAnnee_" + i).val() agePassager = $.age(dateNaissancePassager,$('#dateTestDateNaiss').val()) //Les adultes if(i<=$("#adultes").val()) { if(agePassager < 12) { $("#texteMessageDateNaissance_" + i).html('L\'adulte doit avoir plus de 11 ans') elementToShakeDateBirth += i + ',' $("#dateDeNaissancePassagerJour_" + i).next().addClass('inputError'); $("#dateDeNaissancePassagerMois_" + i).next().addClass('inputError'); $("#dateDeNaissancePassagerAnnee_" + i).next().addClass('inputError'); $("#divMessageErreurDateNaissance_" + i).fadeIn(500); elementToScroll = "passagers" elementToShow += "passagers,"; formError = 1 maquerMessage = 0 } } else { indiceAgeEnfant = i-$("#adultes").val() if(agePassager < $("#ageenfant" + indiceAgeEnfant).val() || agePassager >= Number($("#ageenfant" + indiceAgeEnfant).val())+1) { $("#texteMessageDateNaissance_" + i).html('L\'enfant doit avoir ' + $("#ageenfant" + indiceAgeEnfant).val() +' ans') elementToShakeDateBirth += i + ',' $("#dateDeNaissancePassagerJour_" + i).next().addClass('inputError'); $("#dateDeNaissancePassagerMois_" + i).next().addClass('inputError'); $("#dateDeNaissancePassagerAnnee_" + i).next().addClass('inputError'); $("#divMessageErreurDateNaissance_" + i).fadeIn(500); elementToScroll = "passagers" elementToShow += "passagers,"; formError = 1 maquerMessage = 0 } } //alert(agePassager) if(maquerMessage) { $("#dateDeNaissancePassagerJour_" + i).next().removeClass('inputError'); $("#dateDeNaissancePassagerMois_" + i).next().removeClass('inputError'); $("#dateDeNaissancePassagerAnnee_" + i).next().removeClass('inputError'); $("#divMessageErreurDateNaissance_" + i).hide() } } //$("#trChambre_" + i).css("display", '') //$("#trChambreMessage_" + i).css("display", '') } // ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ // +++++++++++++++++++++++++++ verifier les données du client // ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ // Civilite if($( "input[name='clientCivilite']:checked" ).length == 0) { elementToShake += ".radioCiviliteClient" + ","; $("#divMessageErreurclientCivilite").fadeIn(500); $(".radioClientCivilite").addClass('radio-error'); if(elementToScroll == '') elementToScroll = "coordonnees" elementToShow += "coordonnees,"; formError = 1 } else { $("#divMessageErreurclientCivilite").hide(); $(".radioClientCivilite").removeClass('radio-error'); } emailClientOK = 1; var lesChmapsClientObligatoires = "clientNom,clientPrenom,clientAdresse,clientCp,clientVille,clientPays,clientEmail,clientConfirmationEmail,clientTel,clientMobile" for(var i=0;i< lesChmapsClientObligatoires.split(',').length ;i++) { unChamp = lesChmapsClientObligatoires.split(',')[i] if($("#"+unChamp).val() == '') { elementToShake += "#" + unChamp + ","; $('#' + unChamp).addClass('inputError'); $("#divMessageErreur"+unChamp).fadeIn(500); if(elementToScroll == '') elementToScroll = "coordonnees" elementToShow += "coordonnees,"; formError = 1 if(unChamp == 'clientEmail') { $("#texteMessageClientEmail").html('Votre e-mail est obligatoire') emailClientOK = 0 } if(unChamp == 'clientConfirmationEmail') $("#texteMessageClienConfirmationtEmail").html('Veuillez confirmer votre e-mail') if(unChamp == 'clientCp') $("#texteMessageclientCp").html('Votre code postal est obligatoire') } else { var allOK = 1 // Verifier l'email if(unChamp == 'clientEmail') { var pattern = new RegExp(/^[+a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/i); if( ! pattern.test($("#"+unChamp).val())) { $("#texteMessageClientEmail").html('Votre e-mail est invalide') elementToShake += "#" + unChamp + ","; $('#' + unChamp).addClass('inputError'); $("#divMessageErreur"+unChamp).fadeIn(500); if(elementToScroll == '') elementToScroll = "coordonnees" elementToShow += "coordonnees,"; formError = 1 allOK = 0 emailClientOK = 0; } } // Vérifier l'email de confirmation if(unChamp == 'clientConfirmationEmail') { var pattern = new RegExp(/^[+a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/i); if( ! pattern.test($("#"+unChamp).val())) { $("#texteMessageClienConfirmationtEmail").html('L\'e-mail de confirmation est invalide') elementToShake += "#" + unChamp + ","; $('#' + unChamp).addClass('inputError'); $("#divMessageErreur"+unChamp).fadeIn(500); if(elementToScroll == '') elementToScroll = "coordonnees" elementToShow += "coordonnees,"; formError = 1 allOK = 0 } else { if(emailClientOK == 1 && $("#"+unChamp).val() != $("#clientEmail").val()) { $("#texteMessageClienConfirmationtEmail").html('L\'e-mail de confirmation ne correspond pas') elementToShake += "#" + unChamp + ","; $('#' + unChamp).addClass('inputError'); $("#divMessageErreur"+unChamp).fadeIn(500); if(elementToScroll == '') elementToScroll = "coordonnees" elementToShow += "coordonnees,"; formError = 1 allOK = 0 } } } // Vérifier le code postal (numeric) if(unChamp == 'clientCp') { if( ! $.isNumeric($("#"+unChamp).val())) { $("#texteMessageclientCp").html('Votre code postal est invalide') elementToShake += "#" + unChamp + ","; $('#' + unChamp).addClass('inputError'); $("#divMessageErreur"+unChamp).fadeIn(500); if(elementToScroll == '') elementToScroll = "coordonnees" elementToShow += "coordonnees,"; formError = 1 allOK = 0 } } if(allOK) { $('#' + unChamp).removeClass('inputError'); $("#divMessageErreur"+unChamp).hide(); } } } // Newsletter if($( "input[name='clientNewsLetter']:checked" ).length == 0) { elementToShake += ".radioClientNewsLetter" + ","; $("#divMessageErreurclientNewsletter").fadeIn(500); $(".radioClientNewsLetter").addClass('radio-error'); if(elementToScroll == '') elementToScroll = "coordonnees" elementToShow += "coordonnees,"; formError = 1 } else { $("#divMessageErreurclientNewsletter").hide(); $(".radioClientNewsLetter").removeClass('radio-error'); } // ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ // +++++++++++++++++++++ verifier l'acceptation des condition // ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ if($("#conditions").is(':checked')) { $("#divMessageErreurconditions").hide(); $(".checkboxCondition").removeClass('checkbox-error'); } else { elementToShake += ".checkboxCondition" + ","; $("#divMessageErreurconditions").fadeIn(500); $(".checkboxCondition").addClass('checkbox-error'); if(elementToScroll == '') elementToScroll = "formalites" elementToShow += "formalites,"; formError = 1 } // ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ // +++++++++++++++++++++++++ verifier les données du paiement // ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ // Type Carte if($( "input[name='carteType']:checked" ).length == 0) { elementToShake += ".radioCarteType" + ","; $("#divMessageErreurcarteType").fadeIn(500); if(elementToScroll == '') elementToScroll = "paiement" elementToShow += "paiement,"; formError = 1 } else $("#divMessageErreurcarteType").hide(); var lesChmapsPaiementObligatoires = "carteNumero,carteMois,carteAnnee,carteTitulaire,carteCryptogramme" for(var i=0;i< lesChmapsPaiementObligatoires.split(',').length ;i++) { unChamp = lesChmapsPaiementObligatoires.split(',')[i] if($("#"+unChamp).val() == '') { elementToShake += "#" + unChamp + ","; // Traiter le cas select date validité if(unChamp == 'carteMois' || unChamp == 'carteAnnee') { $("#divMessageErreurcarteValidite").fadeIn(500); $("#"+unChamp).next().addClass('inputError'); shakeCarteValidite = 1 } else { $("#divMessageErreur" + unChamp).fadeIn(500); $('#' + unChamp).addClass('inputError'); } if(elementToScroll == '') elementToScroll = "paiement" elementToShow += "paiement,"; formError = 1 if(unChamp == 'carteNumero') $("#texteMessagecarteNumero").html('Le numéro est obligatoire') if(unChamp == 'carteCryptogramme') $("#texteMessagecarteCryptogramme").html('Le cryptogramme visuel est obligatoire') if(unChamp == 'carteMois' || unChamp == 'carteAnnee') $("#texteMessagecarteValidite").html('La date de validité est obligatoire') } else { var allOK = 1 // Verifier le n° de carte if(unChamp == 'carteNumero') { if( ! $.isCreditCard($("#"+unChamp).val())) { $("#texteMessagecarteNumero").html('Le numéro est invalide') elementToShake += "#" + unChamp + ","; $('#' + unChamp).addClass('inputError'); $("#divMessageErreur"+unChamp).fadeIn(500); if(elementToScroll == '') elementToScroll = "paiement" elementToShow += "paiement,"; formError = 1 allOK = 0 } } // Vérifier le Cryptogramme (numeric) if(unChamp == 'carteCryptogramme') { if( ! $.isNumeric($("#"+unChamp).val())) { $("#texteMessagecarteCryptogramme").html('Votre cryptogramme visuel est invalide') elementToShake += "#" + unChamp + ","; $('#' + unChamp).addClass('inputError'); $("#divMessageErreur"+unChamp).fadeIn(500); if(elementToScroll == '') elementToScroll = "paiement" elementToShow += "paiement,"; formError = 1 allOK = 0 } } if(allOK) { if(unChamp == 'carteMois' || unChamp == 'carteAnnee') { $("#"+unChamp).next().removeClass('inputError'); if($("#carteMois").val() != '' && $("#carteAnnee").val() != '') $("#divMessageErreurcarteValidite").hide(); } else { $('#' + unChamp).removeClass('inputError'); $("#divMessageErreur" + unChamp).hide(); } } } } // Traiter le cas ou la date de validité est < ce mois if($("#carteMois").val() != '' && $("#carteAnnee").val() != '') { var myDate=new Date(); var anneeEnCours=Number(myDate.getFullYear()); var moisEnCours=Number(myDate.getMonth())+1; if(Number($("#carteAnnee").val()) == anneeEnCours) { if(Number($("#carteMois").val()) < moisEnCours) { $("#texteMessagecarteValidite").html('La date de validité est invalide')//La date de validité est obligatoire shakeCarteValidite = 1 $('#carteAnnee').next().addClass('inputError'); $('#carteMois').next().addClass('inputError'); $("#divMessageErreurcarteValidite").fadeIn(500); if(elementToScroll == '') elementToScroll = "paiement" elementToShow += "paiement,"; formError = 1 } } } if(elementToScroll != '') { $.scrollTo('.'+elementToScroll,400,scrollPlusProcess) } for(var i=0;i< elementToShow.split(',').length-1 ;i++) { $('#'+elementToShow.split(',')[i]).collapse("show") //alert() } for(var i=0;i< elementToShake.split(',').length-1 ;i++) { $(elementToShake.split(',')[i]).shake(1); //alert() } for(var i=0;i< elementToShakeDateBirth.split(',').length-1 ;i++) { //$(elementToShake.split(',')[i]).shake(1); $("#dateDeNaissancePassagerJour_" + elementToShakeDateBirth.split(',')[i]).next().shake(1); $("#dateDeNaissancePassagerMois_" + elementToShakeDateBirth.split(',')[i]).next().shake(1); $("#dateDeNaissancePassagerAnnee_" + elementToShakeDateBirth.split(',')[i]).next().shake(1); //alert() } if(shakeCarteValidite) $("#carteAnnee, #carteMois").next().shake(1); //alert(nbPassagers) if(!formError) $.submit3DSecur()//alert('sub')//$.insertCommande(1) }); jQuery.submit3DSecur = function() { $("#CCNumber").val($("#carteNumero").val()); $("#CVVCode").val($("#carteCryptogramme").val()); $("#CCExpDate").val($("#carteMois").val() + $("#carteAnnee").val().substring(2,4)); $.scrollTo('.paiement',200,scrollPlusProcess) $(".divFormsPaiement").hide(); $("#iframePayBox3DS").fadeIn('slow'); $("#btnSubmitEtapeReservation").fadeOut('slow'); $("#frm_pbx_3DS").submit(); }; if (typeof is3dSecure !== 'undefined') { parent.$('#ID3D').val($('#is3dSecure').val()); try {} catch(err) { erreur = 1 } parent.$.insertCommande(1) } // ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ // +++++++++++++++++++++++++ Insertion de la commande Package // ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ $.insertCommande = function(etape) { // ***************************************************************************************************** // *************** 1ère étape d'insertion : Insertion dans SI + Demande d'autoristation **************** // ***************************************************************************************************** if(etape == 1) { $("#modalText").html('Test complémentaire de votre carte bleue en cours ') $("#modalText").css('text-align','center'); $("#modalLoading").fadeIn(400); $("#modalClose").hide(); $("#modalLoadingPage").modal(); $.ajax({ type: "POST", url: "ajax/packageResaInsertEtape1.cfm", data: $("#packageResa3").serializeArray(), contentType: "application/x-www-form-urlencoded", dataType: "html", cache: false, beforeSend : function(){ // rien pour le moment }, error : function(){ $.initModalError(); }, success : function(contenu, textStatus, xhr){ if(xhr.status == 226) // Autorisation KO { $("#modalText").html('Le centre de gestion de votre carte bancaire a refusé la transaction.
    En conséquence votre voyage n\'a pas été réservé.
    Ce refus peut provenir d\'une mauvaise saisie ou de diverses autres raisons comme par exemple un plafond insuffisant.
    Si vous pensez être dans ce dernier cas nous vous conseillons de contacter votre banque pour le cas échéant faire modifier le plafond pour cette transaction.
    C\'est une opération courante et en général rapide.

    Que souhaitez vous faire ?

    Abandonner la réservation') $("#modalText").css('text-align','justify'); $(".modal-body").css('cursor','auto'); $("#modalLoading").hide(); $("#modalClose").hide(); $("#lienCloseModal").click(function(){ $("#modalLoadingPage").modal("hide"); $('#paiement').collapse("show") $.scrollTo('.paiement',400,scrollPlusProcess) }); } else if(xhr.status == 204) // Nb tentaive >3 { // Modifier le message nb tentative dépassé $("#modalText").html('Le centre de gestion de votre carte bancaire a refusé la transaction pour la troisième fois consécutive.
    Veuillez prendre contact avec votre banque ou avec notre service réservation.

    Veuillez cliquer ici pour abandonner la réservation.') $("#modalText").css('text-align','justify'); $(".modal-body").css('cursor','auto'); $("#modalLoading").hide(); $("#modalClose").show(); } else if(xhr.status == 205) // Nb tentaive >3 { // Modifier le message nb tentative dépassé $("#modalText").html('Vous avez déjà demandé la création du dossier ') $("#modalText").css('text-align','center'); $(".modal-body").css('cursor','auto'); $("#modalLoading").hide(); $("#modalClose").show(); } else { // Traitement Autorisation OK strContenu = contenu.split('|'); $("#idCommandeAdvences").val(strContenu[1].trim()); $("#ReferenceAdvences").val(strContenu[2].trim()); $("#resultPaybox").val(strContenu[3].trim()); $("#autorisation").val(strContenu[4].trim()); $("#transaction").val(strContenu[5].trim()); $("#appel").val(strContenu[6].trim()); $("#idClient").val(strContenu[7].trim()); $("#modalText").html('Création de votre dossier de réservation en cours.') $("#modalText").css('text-align','center'); $(".modal-body").css('cursor','wait'); $("#modalLoading").show(); $("#modalClose").hide(); // Appel de l'étape 2 $.insertCommande(2) } } }); } // ***************************************************************************************************** // *************** 2ème étape d'insertion : Create Booking + Add Paiement ****************************** // ***************************************************************************************************** if(etape == 2) { $.ajax({ type: "POST", url: "ajax/packageResaInsertEtape2.cfm", data: $("#packageResa3").serializeArray(), contentType: "application/x-www-form-urlencoded", dataType: "html", cache: false, beforeSend : function(){ // rien pour le moment }, error : function(){ $.initModalError(); }, success : function(contenu, textStatus, xhr){ if(xhr.status == 204) // Create booking KO { $("#modalText").html('Une anomalie s\'est produite lors de la création de votre dossier de réservation.
    En conséquence le débit de votre carte n\'a pas été effectué.
    Merci de prendre contact avec un de nos agents et de ne pas faire de nouvel essai de réservation car des essais successifs pourraient amener à l\'épuisement de votre plafond hebdomadaire autorisé sur votre CB même si aucun débit n\'est effectivement réalisé.
    Fermez cette fenêtre pour terminer.') $("#modalText").css('text-align','justify'); $(".modal-body").css('cursor','auto'); $("#modalLoading").hide(); $("#modalClose").show(); } else // Create booking OK { // Traitement Autorisation OK strContenu = contenu.split('|'); $("#ReferenceAsia").val(strContenu[1].trim()); $("#modalText").html('Votre dossier de réservation est créé.
    Lancement de la transaction de paiement avec votre banque.
    ') $("#modalText").css('text-align','center'); $(".modal-body").css('cursor','wait'); $("#modalLoading").show(); $("#modalClose").hide(); // Appel de l'étape 3 $.insertCommande(3) } } }); } // ***************************************************************************************************** // *************** 3ème étape d'insertion : demande de debit + envoi de mail *************************** // ***************************************************************************************************** if(etape == 3) { $.ajax({ type: "POST", url: "ajax/packageResaInsertEtape3.cfm", data: $("#packageResa3").serializeArray(), contentType: "application/x-www-form-urlencoded", dataType: "html", cache: false, beforeSend : function(){ // rien pour le moment }, error : function(){ $.initModalError(); }, success : function(contenu, textStatus, xhr){ if(xhr.status == 204) // Create booking KO { $("#modalText").html('La demande de paiement a échouée mais votre dossier de réservation a été créé.
    Merci de nous contacter au plus vite.

    Fermez cette fenêtre pour terminer.') $("#modalText").css('text-align','justify'); $(".modal-body").css('cursor','auto'); $("#modalLoading").hide(); $("#modalClose").show(); } else // demande de debit OK { $("#packageResa3").submit(); } } }); } } $.initModalError = function() { $("#modalText").html('Une anomalie s\'est produite lors de la création de votre dossier de réservation. En conséquence le débit de votre carte n\'a pas été effectué.
    Merci de prendre contact avec un de nos agents et de ne pas faire de nouvel essai de réservation car des essais successifs pourraient amener à l\'épuisement de votre plafond hebdomadaire autorisé sur votre CB même si aucun débit n\'est effectivement réalisé.
    Fermez cette fenêtre pour terminer.') $("#modalText").css('text-align','justify'); $(".modal-body").css('cursor','auto'); $("#modalLoading").hide(); $("#modalClose").show(); } }); $(window).on("load",function(){ $.loadComboDatesTarifs(); }); /*! jssocials - v1.2.1 - 2016-04-10 * http://js-socials.com * Copyright (c) 2016 Artem Tabalin; Licensed MIT */ (function(window, $, undefined) { var JSSOCIALS = "JSSocials", JSSOCIALS_DATA_KEY = JSSOCIALS; var getOrApply = function(value, context) { if($.isFunction(value)) { return value.apply(context, $.makeArray(arguments).slice(2)); } return value; }; var IMG_SRC_REGEX = /(\.(jpeg|png|gif|bmp)$|^data:image\/(jpeg|png|gif|bmp);base64)/i; var URL_PARAMS_REGEX = /(&?[a-zA-Z0-9]+=)?\{([a-zA-Z0-9]+)\}/g; var MEASURES = { "G": 1000000000, "M": 1000000, "K": 1000 }; var shares = {}; function Socials(element, config) { var $element = $(element); $element.data(JSSOCIALS_DATA_KEY, this); this._$element = $element; this.shares = []; this._init(config); this._render(); } Socials.prototype = { url: "", text: "", shareIn: "blank", showLabel: function(screenWidth) { return (this.showCount === false) ? (screenWidth > this.smallScreenWidth) : (screenWidth >= this.largeScreenWidth); }, showCount: function(screenWidth) { return (screenWidth <= this.smallScreenWidth) ? "inside" : true; }, smallScreenWidth: 640, largeScreenWidth: 1024, resizeTimeout: 200, elementClass: "jssocials", sharesClass: "jssocials-shares", shareClass: "jssocials-share", shareButtonClass: "jssocials-share-button", shareLinkClass: "jssocials-share-link", shareLogoClass: "jssocials-share-logo", shareLabelClass: "jssocials-share-label", shareLinkCountClass: "jssocials-share-link-count", shareCountBoxClass: "jssocials-share-count-box", shareCountClass: "jssocials-share-count", shareZeroCountClass: "jssocials-share-no-count", _init: function(config) { this._initDefaults(); $.extend(this, config); this._initShares(); this._attachWindowResizeCallback(); }, _initDefaults: function() { this.url = window.location.href; this.text = $.trim($("meta[name=description]").attr("content") || $("title").text()); }, _initShares: function() { this.shares = $.map(this.shares, $.proxy(function(shareConfig) { if(typeof shareConfig === "string") { shareConfig = { share: shareConfig }; } var share = (shareConfig.share && shares[shareConfig.share]); if(!share && !shareConfig.renderer) { throw Error("Share '" + shareConfig.share + "' is not found"); } return $.extend({ url: this.url, text: this.text }, share, shareConfig); }, this)); }, _attachWindowResizeCallback: function() { $(window).on("resize", $.proxy(this._windowResizeHandler, this)); }, _detachWindowResizeCallback: function() { $(window).off("resize", this._windowResizeHandler); }, _windowResizeHandler: function() { if($.isFunction(this.showLabel) || $.isFunction(this.showCount)) { window.clearTimeout(this._resizeTimer); this._resizeTimer = setTimeout($.proxy(this.refresh, this), this.resizeTimeout); } }, _render: function() { this._clear(); this._defineOptionsByScreen(); this._$element.addClass(this.elementClass); this._$shares = $("
    ").addClass(this.sharesClass) .appendTo(this._$element); this._renderShares(); }, _defineOptionsByScreen: function() { this._screenWidth = $(window).width(); this._showLabel = getOrApply(this.showLabel, this, this._screenWidth); this._showCount = getOrApply(this.showCount, this, this._screenWidth); }, _renderShares: function() { $.each(this.shares, $.proxy(function(_, share) { this._renderShare(share); }, this)); }, _renderShare: function(share) { var $share; if($.isFunction(share.renderer)) { $share = $(share.renderer()); } else { $share = this._createShare(share); } $share.addClass(this.shareClass) .addClass(share.share ? "jssocials-share-" + share.share : "") .addClass(share.css) .appendTo(this._$shares); }, _createShare: function(share) { var $result = $("
    "); var $shareLink = this._createShareLink(share).appendTo($result); if(this._showCount) { var isInsideCount = (this._showCount === "inside"); var $countContainer = isInsideCount ? $shareLink : $("
    ").addClass(this.shareCountBoxClass).appendTo($result); $countContainer.addClass(isInsideCount ? this.shareLinkCountClass : this.shareCountBoxClass); this._renderShareCount(share, $countContainer); } return $result; }, _createShareLink: function(share) { var shareStrategy = this._getShareStrategy(share); var $result = shareStrategy.call(share, { shareUrl: this._getShareUrl(share) }); $result.addClass(this.shareLinkClass) .append(this._createShareLogo(share)); if(this._showLabel) { $result.append(this._createShareLabel(share)); } $.each(this.on || {}, function(event, handler) { if($.isFunction(handler)) { $result.on(event, $.proxy(handler, share)); } }); return $result; }, _getShareStrategy: function(share) { var result = shareStrategies[share.shareIn || this.shareIn]; if(!result) throw Error("Share strategy '" + this.shareIn + "' not found"); return result; }, _getShareUrl: function(share) { var shareUrl = getOrApply(share.shareUrl, share); return this._formatShareUrl(shareUrl, share); }, _createShareLogo: function(share) { var logo = share.logo; var $result = IMG_SRC_REGEX.test(logo) ? $("").attr("src", share.logo) : $("").addClass(logo); $result.addClass(this.shareLogoClass); return $result; }, _createShareLabel: function(share) { return $("").addClass(this.shareLabelClass) .text(share.label); }, _renderShareCount: function(share, $container) { var $count = $("").addClass(this.shareCountClass); $container.addClass(this.shareZeroCountClass) .append($count); this._loadCount(share).done($.proxy(function(count) { if(count) { $container.removeClass(this.shareZeroCountClass); $count.text(count); } }, this)); }, _loadCount: function(share) { var deferred = $.Deferred(); var countUrl = this._getCountUrl(share); if(!countUrl) { return deferred.resolve(0).promise(); } var handleSuccess = $.proxy(function(response) { deferred.resolve(this._getCountValue(response, share)); }, this); $.getJSON(countUrl).done(handleSuccess) .fail(function() { $.get(countUrl).done(handleSuccess) .fail(function() { deferred.resolve(0); }); }); return deferred.promise(); }, _getCountUrl: function(share) { var countUrl = getOrApply(share.countUrl, share); return this._formatShareUrl(countUrl, share); }, _getCountValue: function(response, share) { var count = ($.isFunction(share.getCount) ? share.getCount(response) : response) || 0; return (typeof count === "string") ? count : this._formatNumber(count); }, _formatNumber: function(number) { $.each(MEASURES, function(letter, value) { if(number >= value) { number = parseFloat((number / value).toFixed(2)) + letter; return false; } }); return number; }, _formatShareUrl: function(url, share) { return url.replace(URL_PARAMS_REGEX, function(match, key, field) { var value = share[field] || ""; return value ? (key || "") + window.encodeURIComponent(value) : ""; }); }, _clear: function() { window.clearTimeout(this._resizeTimer); this._$element.empty(); }, _passOptionToShares: function(key, value) { var shares = this.shares; $.each(["url", "text"], function(_, optionName) { if(optionName !== key) return; $.each(shares, function(_, share) { share[key] = value; }); }); }, _normalizeShare: function(share) { if($.isNumeric(share)) { return this.shares[share]; } if(typeof share === "string") { return $.grep(this.shares, function(s) { return s.share === share; })[0]; } return share; }, refresh: function() { this._render(); }, destroy: function() { this._clear(); this._detachWindowResizeCallback(); this._$element .removeClass(this.elementClass) .removeData(JSSOCIALS_DATA_KEY); }, option: function(key, value) { if(arguments.length === 1) { return this[key]; } this[key] = value; this._passOptionToShares(key, value); this.refresh(); }, shareOption: function(share, key, value) { share = this._normalizeShare(share); if(arguments.length === 2) { return share[key]; } share[key] = value; this.refresh(); } }; $.fn.jsSocials = function(config) { var args = $.makeArray(arguments), methodArgs = args.slice(1), result = this; this.each(function() { var $element = $(this), instance = $element.data(JSSOCIALS_DATA_KEY), methodResult; if(instance) { if(typeof config === "string") { methodResult = instance[config].apply(instance, methodArgs); if(methodResult !== undefined && methodResult !== instance) { result = methodResult; return false; } } else { instance._detachWindowResizeCallback(); instance._init(config); instance._render(); } } else { new Socials($element, config); } }); return result; }; var setDefaults = function(config) { var component; if($.isPlainObject(config)) { component = Socials.prototype; } else { component = shares[config]; config = arguments[1] || {}; } $.extend(component, config); }; var shareStrategies = { popup: function(args) { return $("").attr("href", "#") .on("click", function() { window.open(args.shareUrl, null, "width=600, height=400, location=0, menubar=0, resizeable=0, scrollbars=0, status=0, titlebar=0, toolbar=0"); return false; }); }, blank: function(args) { return $("").attr({ target: "_blank", href: args.shareUrl }); }, self: function(args) { return $("").attr({ target: "_self", href: args.shareUrl }); } }; window.jsSocials = { Socials: Socials, shares: shares, shareStrategies: shareStrategies, setDefaults: setDefaults }; }(window, jQuery)); (function(window, $, jsSocials, undefined) { $.extend(jsSocials.shares, { email: { label: "E-mail", logo: "fa fa-at", shareUrl: "mailto:{to}?subject={text}&body={url}", countUrl: "", shareIn: "self" }, twitter: { label: "Tweet", logo: "fa fa-twitter", shareUrl: "https://twitter.com/share?url={url}&text={text}&via={via}&hashtags={hashtags}", countUrl: "" }, facebook: { label: "Like", logo: "fa fa-facebook", shareUrl: "https://facebook.com/sharer/sharer.php?u={url}", countUrl: function() { return "https://graph.facebook.com/fql?q=SELECT total_count FROM link_stat WHERE url='" + window.encodeURIComponent(this.url) + "'"; }, getCount: function(data) { return (data.data.length && data.data[0].total_count) || 0; } }, googleplus: { label: "+1", logo: "fa fa-google", shareUrl: "https://plus.google.com/share?url={url}", countUrl: function() { return "https://cors-anywhere.herokuapp.com/https://plusone.google.com/_/+1/fastbutton?url="+ window.encodeURIComponent(this.url); }, getCount: function(data) { return parseFloat((data.match(/\{c: ([.0-9E]+)/) || [])[1]); } }, linkedin: { label: "Share", logo: "fa fa-linkedin", shareUrl: "https://www.linkedin.com/shareArticle?mini=true&url={url}", countUrl: "https://www.linkedin.com/countserv/count/share?format=jsonp&url={url}&callback=?", getCount: function(data) { return data.count; } }, pinterest: { label: "Pin it", logo: "fa fa-pinterest", shareUrl: "https://pinterest.com/pin/create/bookmarklet/?media={media}&url={url}&description={text}", countUrl: "https://api.pinterest.com/v1/urls/count.json?&url={url}&callback=?", getCount: function(data) { return data.count; } }, stumbleupon: { label: "Share", logo: "fa fa-stumbleupon", shareUrl: "http://www.stumbleupon.com/submit?url={url}&title={title}", countUrl: "https://cors-anywhere.herokuapp.com/https://www.stumbleupon.com/services/1.01/badge.getinfo?url={url}", getCount: function(data) { return data.result.views; } }, whatsapp: { label: "WhatsApp", logo: "fa fa-whatsapp", shareUrl: "whatsapp://send?text={url} {text}", countUrl: "", shareIn: "self" }, line: { label: "LINE", logo: "fa fa-comment", shareUrl: "http://line.me/R/msg/text/?{text} {url}", countUrl: "" }, instagram: { label: "Instagram", logo: "fa fa-instagram", shareUrl: "https://www.instagram.com/asia_voyages?url={url}&title={title}", countUrl: "" }, youtube: { label: "Youtube", logo: "fa fa-youtube", shareUrl: "https://www.youtube.com/submit?url={url}&title={title}", countUrl: "" } }); }(window, jQuery, window.jsSocials)); /*jshint browser:true */ /*! * FitVids 1.1 * * Copyright 2013, Chris Coyier - http://css-tricks.com + Dave Rupert - http://daverupert.com * Credit to Thierry Koblentz - http://www.alistapart.com/articles/creating-intrinsic-ratios-for-video/ * Released under the WTFPL license - http://sam.zoy.org/wtfpl/ * */ (function ( $ ) { 'use strict'; $.fn.fitVids = function( options ) { var settings = { customSelector: null, ignore: null }; if(!document.getElementById('fit-vids-style')) { // appendStyles: https://github.com/toddmotto/fluidvids/blob/master/dist/fluidvids.js var head = document.head || document.getElementsByTagName('head')[0]; var css = '.fluid-width-video-wrapper{width:100%;position:relative;padding:0;}.fluid-width-video-wrapper iframe,.fluid-width-video-wrapper object,.fluid-width-video-wrapper embed {position:absolute;top:0;left:0;width:100%;height:100%;}'; var div = document.createElement("div"); div.innerHTML = '

    x

    '; head.appendChild(div.childNodes[1]); } if ( options ) { $.extend( settings, options ); } return this.each(function(){ var selectors = [ 'iframe[src*="player.vimeo.com"]', 'iframe[src*="youtube.com"]', 'iframe[src*="youtube-nocookie.com"]', 'iframe[src*="kickstarter.com"][src*="video.html"]', 'object', 'embed' ]; if (settings.customSelector) { selectors.push(settings.customSelector); } var ignoreList = '.fitvidsignore'; if(settings.ignore) { ignoreList = ignoreList + ', ' + settings.ignore; } var $allVideos = $(this).find(selectors.join(',')); $allVideos = $allVideos.not('object object'); // SwfObj conflict patch $allVideos = $allVideos.not(ignoreList); // Disable FitVids on this video. $allVideos.each(function(){ var $this = $(this); if($this.parents(ignoreList).length > 0) { return; // Disable FitVids on this video. } if (this.tagName.toLowerCase() === 'embed' && $this.parent('object').length || $this.parent('.fluid-width-video-wrapper').length) { return; } if ((!$this.css('height') && !$this.css('width')) && (isNaN($this.attr('height')) || isNaN($this.attr('width')))) { $this.attr('height', 9); $this.attr('width', 16); } var height = ( this.tagName.toLowerCase() === 'object' || ($this.attr('height') && !isNaN(parseInt($this.attr('height'), 10))) ) ? parseInt($this.attr('height'), 10) : $this.height(), width = !isNaN(parseInt($this.attr('width'), 10)) ? parseInt($this.attr('width'), 10) : $this.width(), aspectRatio = height / width; if(!$this.attr('name')){ var videoName = 'fitvid' + $.fn.fitVids._count; $this.attr('name', videoName); $.fn.fitVids._count++; } $this.wrap('
    ').parent('.fluid-width-video-wrapper').css('padding-top', (aspectRatio * 100)+'%'); $this.removeAttr('height').removeAttr('width'); }); }); }; // Internal counter for unique video names. $.fn.fitVids._count = 0; // Works with either jQuery or Zepto }( jQuery )); //diporama video (ticket n° 17749) $('#IframeContainer').hide(); $('.carousel').on('slid.bs.carousel', function () { if ($("#myCarousel > div.carousel-inner > div.item.active").hasClass("imgs")) { $('#YoutubeVidoFrame').attr('src', ''); $('.PlayBtn, .bgdVid').show(); $('#IframeContainer').hide(); } }); $( ".carousel" ).fitVids(); $('#videoContainer').click(function() { $('#IframeContainer').show(); var src_video=$('#YoutubeVidoFrame').attr("src2"); var newsrc=src_video+'&autoplay=1'; $('#YoutubeVidoFrame').attr("src", newsrc); $('.PlayBtn, .bgdVid').hide(); $('.carousel').carousel("pause"); }); //diporama video (ticket n° 17749)