vendor: 12,157 bytes, lines 1-3
1/* Dï¼ï¼³ */ 2/*! jQuery v3.6.1 | (c) OpenJS Foundation and other contributors | jquery.org/license */ 3!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=[],r=Object.getPrototypeOf,s=t.slice,g=t.flat?function(e){return t.flat.call(e)}:function(e){return t.concat.apply([],e)},u=t.push,i=t.indexOf,n={},o=n.toString,y=n.hasOwnProperty,a=y.toString,l=a.call(Object),v={},m=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType&&"function"!=typeof e.item},x=function(e){return null!=e&&e===e.window},E=C.document,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.6.1",S=function(e,t){return new S.fn.init(e,t)};function p(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<t&&t-1 in e)}S.fn=S.prototype={jquery:f,constructor:S,length:0,toArray:function(){return s.call(this)},get:function(e){return null==e?s.call(this):e<0?this[e+this.length]:this[e]},pushStack:function(e){var t=S.merge(this.constructor(),e);return t.prevObject=this,t},each:function(e){return S.each(this,e)},map:function(n){return this.pushStack(S.map(this,function(e,t){return n.call(e,t,e)}))},slice:function(){return this.pushStack(s.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},even:function(){return this.pushStack(S.grep(this,function(e,t){return(t+1)%2}))},odd:function(){return this.pushStack(S.grep(this,function(e,t){return t%2}))},eq:function(e){var t=this.length,n=+e+(e<0?t:0);return this.pushStack(0<=n&&n<t?[this[n]]:[])},end:function(){return this.prevObject||this.constructor()},push:u,sort:t.sort,splice:t.splice},S.extend=S.fn.extend=function(){var e,t,n,r,i,o,a=arguments[0]||{},s=1,u=arguments.length,l=!1;for("boolean"==typeof a&&(l=a,a=arguments[s]||{},s++),"object"==typeof a||m(a)||(a={}),s===u&&(a=this,s--);s<u;s++)if(null!=(e=arguments[s]))for(t in e)r=e[t],"__proto__"!==t&&a!==r&&(l&&r&&(S.isPlainObject(r)||(i=Array.isArray(r)))?(n=a[t],o=i&&!Array.isArray(n)?[]:i||S.isPlainObject(n)?n:{},i=!1,a[t]=S.extend(l,o,r)):void 0!==r&&(a[t]=r));return a},S.extend({expando:"jQuery"+(f+Math.random()).replace(/\D/g,""),isReady:!0,error:function(e){throw new Error(e)},noop:function(){},isPlainObject:function(e){var t,n;return!(!e||"[object Object]"!==o.call(e))&&(!(t=r(e))||"function"==typeof(n=y.call(t,"constructor")&&t.constructor)&&a.call(n)===l)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},globalEval:function(e,t,n){b(e,{nonce:t&&t.nonce},n)},each:function(e,t){var n,r=0;if(p(e)){for(n=e.length;r<n;r++)if(!1===t.call(e[r],r,e[r]))break}else for(r in e)if(!1===t.call(e[r],r,e[r]))break;return e},makeArray:function(e,t){var n=t||[];return null!=e&&(p(Object(e))?S.merge(n,"string"==typeof e?[e]:e):u.call(n,e)),n},inArray:function(e,t,n){return null==t?-1:i.call(t,e,n)},merge:function(e,t){for(var n=+t.length,r=0,i=e.length;r<n;r++)e[i++]=t[r];return e.length=i,e},grep:function(e,t,n){for(var r=[],i=0,o=e.length,a=!n;i<o;i++)!t(e[i],i)!==a&&r.push(e[i]);return r},map:function(e,t,n){var r,i,o=0,a=[];if(p(e))for(r=e.length;o<r;o++)null!=(i=t(e[o],o,n))&&a.push(i);else for(o in e)null!=(i=t(e[o],o,n))&&a.push(i);return g(a)},guid:1,support:v}),"function"==typeof Symbol&&(S.fn[Symbol.iterator]=t[Symbol.iterator]),S.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(e,t){n["[object "+t+"]"]=t.toLowerCase()});var d=function(n){var e,d,b,o,i,h,f,g,w,u,l,T,C,a,E,y,s,c,v,S="sizzle"+1*new Date,p=n.document,k=0,r=0,m=ue(),x=ue(),A=ue(),N=ue(),j=function(e,t){return e===t&&(l=!0),0},D={}.hasOwnProperty,t=[],q=t.pop,L=t.push,H=t.push,O=t.slice,P=function(e,t){for(var n=0,r=e.length;n<r;n++)if(e[n]===t)return n;return-1},R="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",M="[\\x20\\t\\r\\n\\f]",I="(?:\\\\[\\da-fA-F]{1,6}"+M+"?|\\\\[^\\r\\n\\f]|[\\w-]|[^\0-\\x7f])+",W="\\["+M+"*("+I+")(?:"+M+"*([*^$|!~]?=)"+M+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+I+"))|)"+M+"*\\]",F=":("+I+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+W+")*)|.*)\\)|)",$=new RegExp(M+"+","g"),B=new RegExp("^"+M+"+|((?:^|[^\\\\])(?:\\\\.)*)"+M+"+$","g"),_=new RegExp("^"+M+"*,"+M+"*"),z=new RegExp("^"+M+"*([>+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp(F),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+F),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-fA-F]{1,6}"+M+"?|\\\\([^\\r\\n\\f])","g"),ne=function(e,t){var n="0x"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|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(p.childNodes),p.childNodes),t[p.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&&(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))&&v(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&&!N[t+" "]&&(!y||!y.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&(U.test(t)||z.test(t))){(f=ee.test(t)&&ve(e.parentNode)||e)===e&&d.scope||((s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=S)),o=(l=h(t)).length;while(o--)l[o]=(s?"#"+s:":scope")+" "+xe(l[o]);c=l.join(",")}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){N(t,!0)}finally{s===S&&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[S]=!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 ye(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 ve(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e&&e.namespaceURI,n=e&&(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:p;return r!=C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),p!=C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.scope=ce(function(e){return a.appendChild(e).appendChild(C.createElement("div")),"undefined"!=typeof e.querySelectorAll&&!e.querySelectorAll(":scope fieldset div").length}),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=S,!C.getElementsByName||!C.getElementsByName(S).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=[],y=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){var t;a.appendChild(e).innerHTML="<a id='"+S+"'></a><select id='"+S+"-\r\\' msallowcapture=''><option selected=''></option></select>",e.querySelectorAll("[msallowcapture^='']").length&&y.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||y.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+S+"-]").length||y.push("~="),(t=C.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||y.push("\\["+M+"*name"+M+"*="+M+"*(?:''|\"\")"),e.querySelectorAll(":checked").length||y.push(":checked"),e.querySelectorAll("a#"+S+"+*").length||y.push(".#.+[+~]"),e.querySelectorAll("\\\f"),y.push("[\\r\\n\\f]")}),ce(function(e){e.innerHTML="<a href='' disabled='disabled'></a><select disabled='disabled'><option/></select>";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&y.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&y.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&y.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),y.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("!=",F)}),y=y.length&&new RegExp(y.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),v=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:
vendor: 12,219 bytes, line 3
3e,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},j=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==p&&v(p,e)?-1:t==C||t.ownerDocument==p&&v(p,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]==p?-1:s[r]==p?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if(T(e),d.matchesSelector&&E&&!N[t+" "]&&(!s||!s.test(t))&&(!y||!y.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){N(t,!0)}return 0<se(t,C,null,[e]).length},se.contains=function(e,t){return(e.ownerDocument||e)!=C&&T(e),v(e,t)},se.attr=function(e,t){(e.ownerDocument||e)!=C&&T(e);var n=b.attrHandle[t.toLowerCase()],r=n&&D.call(b.attrHandle,t.toLowerCase())?n(e,t,!E):void 0;return void 0!==r?r:d.attributes||!E?e.getAttribute(t):(r=e.getAttributeNode(t))&&r.specified?r.value:null},se.escape=function(e){return(e+"").replace(re,ie)},se.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},se.uniqueSort=function(e){var t,n=[],r=0,i=0;if(l=!d.detectDuplicates,u=!d.sortStable&&e.slice(0),e.sort(j),l){while(t=e[i++])t===e[i]&&(r=n.push(i));while(r--)e.splice(n[r],1)}return u=null,e},o=se.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i){if(1===i||9===i||11===i){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=o(e)}else if(3===i||4===i)return e.nodeValue}else while(t=e[r++])n+=o(t);return n},(b=se.selectors={cacheLength:50,createPseudo:le,match:G,attrHandle:{},find:{},relative:{">":{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=m[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&m(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<t.indexOf(i):"$="===r?i&&t.slice(-i.length)===i:"~="===r?-1<(" "+t.replace($," ")+" ").indexOf(i):"|="===r&&(t===i||t.slice(0,i.length+1)===i+"-"))}},CHILD:function(h,e,t,g,y){var v="nth"!==h.slice(0,3),m="last"!==h.slice(-4),x="of-type"===e;return 1===g&&0===y?function(e){return!!e.parentNode}:function(e,t,n){var r,i,o,a,s,u,l=v!==m?"nextSibling":"previousSibling",c=e.parentNode,f=x&&e.nodeName.toLowerCase(),p=!n&&!x,d=!1;if(c){if(v){while(l){a=e;while(a=a[l])if(x?a.nodeName.toLowerCase()===f:1===a.nodeType)return!1;u=l="only"===h&&!u&&"nextSibling"}return!0}if(u=[m?c.firstChild:c.lastChild],m&&p){d=(s=(r=(i=(o=(a=c)[S]||(a[S]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]||[])[0]===k&&r[1])&&r[2],a=s&&c.childNodes[s];while(a=++s&&a&&a[l]||(d=s=0)||u.pop())if(1===a.nodeType&&++d&&a===e){i[h]=[k,s,d];break}}else if(p&&(d=s=(r=(i=(o=(a=e)[S]||(a[S]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]||[])[0]===k&&r[1]),!1===d)while(a=++s&&a&&a[l]||(d=s=0)||u.pop())if((x?a.nodeName.toLowerCase()===f:1===a.nodeType)&&++d&&(p&&((i=(o=a[S]||(a[S]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]=[k,d]),a===e))break;return(d-=y)===g||d%g==0&&0<=d/g}}},PSEUDO:function(e,o){var t,a=b.pseudos[e]||b.setFilters[e.toLowerCase()]||se.error("unsupported pseudo: "+e);return a[S]?a(o):1<a.length?(t=[e,e,"",o],b.setFilters.hasOwnProperty(e.toLowerCase())?le(function(e,t){var n,r=a(e,o),i=r.length;while(i--)e[n=P(e,r[i])]=!(t[n]=r[i])}):function(e){return a(e,0,t)}):a}},pseudos:{not:le(function(e){var r=[],i=[],s=f(e.replace(B,"$1"));return s[S]?le(function(e,t,n,r){var i,o=s(e,null,r,[]),a=e.length;while(a--)(i=o[a])&&(e[a]=!(t[a]=i))}):function(e,t,n){return r[0]=e,s(r,null,n,i),r[0]=null,!i.pop()}}),has:le(function(t){return function(e){return 0<se(t,e).length}}),contains:le(function(t){return t=t.replace(te,ne),function(e){return-1<(e.textContent||o(e)).indexOf(t)}}),lang:le(function(n){return V.test(n||"")||se.error("unsupported lang: "+n),n=n.replace(te,ne).toLowerCase(),function(e){var t;do{if(t=E?e.lang:e.getAttribute("xml:lang")||e.getAttribute("lang"))return(t=t.toLowerCase())===n||0===t.indexOf(n+"-")}while((e=e.parentNode)&&1===e.nodeType);return!1}}),target:function(e){var t=n.location&&n.location.hash;return t&&t.slice(1)===e.id},root:function(e){return e===a},focus:function(e){return e===C.activeElement&&(!C.hasFocus||C.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:ge(!1),disabled:ge(!0),checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,!0===e.selected},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!b.pseudos.empty(e)},header:function(e){return J.test(e.nodeName)},input:function(e){return Q.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:ye(function(){return[0]}),last:ye(function(e,t){return[t-1]}),eq:ye(function(e,t,n){return[n<0?n+t:n]}),even:ye(function(e,t){for(var n=0;n<t;n+=2)e.push(n);return e}),odd:ye(function(e,t){for(var n=1;n<t;n+=2)e.push(n);return e}),lt:ye(function(e,t,n){for(var r=n<0?n+t:t<n?t:n;0<=--r;)e.push(r);return e}),gt:ye(function(e,t,n){for(var r=n<0?n+t:n;++r<t;)e.push(r);return e})}}).pseudos.nth=b.pseudos.eq,{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})b.pseudos[e]=de(e);for(e in{submit:!0,reset:!0})b.pseudos[e]=he(e);function me(){}function xe(e){for(var t=0,n=e.length,r="";t<n;t++)r+=e[t].value;return r}function be(s,e,t){var u=e.dir,l=e.next,c=l||u,f=t&&"parentNode"===c,p=r++;return e.first?function(e,t,n){while(e=e[u])if(1===e.nodeType||f)return s(e,t,n);return!1}:function(e,t,n){var r,i,o,a=[k,p];if(n){while(e=e[u])if((1===e.nodeType||f)&&s(e,t,n))return!0}else while(e=e[u])if(1===e.nodeType||f)if(i=(o=e[S]||(e[S]={}))[e.uniqueID]||(o[e.uniqueID]={}),l&&l===e.nodeName.toLowerCase())e=e[u]||e;else{if((r=i[c])&&r[0]===k&&r[1]===p)return a[2]=r[2];if((i[c]=a)[2]=s(e,t,n))return!0}return!1}}function we(i){return 1<i.length?function(e,t,n){var r=i.length;while(r--)if(!i[r](e,t,n))return!1;return!0}:i[0]}function Te(e,t,n,r,i){for(var o,a=[],s=0,u=e.length,l=null!=t;s<u;s++)(o=e[s])&&(n&&!n(o,r,i)||(a.push(o),l&&t.push(s)));return a}function Ce(d,h,g,y,v,e){return y&&!y[S]&&(y=Ce(y)),v&&!v[S]&&(v=Ce(v,e)),le(function(e,t,n,r){var i,o,a,s=[],u=[],l=t.length,c=e||function(e,t,n){for(var r=0,i=t.length;r<i;r++)se(e,t[r],n);return n}(h||"*",n.nodeType?[n]:n,[]),f=!d||!e&&h?c:Te(c,s,d,n,r),p=g?v||(e?d:l||y)?[]:t:f;if(g&&g(f,p,n,r),y){i=Te(p,u),y(i,[],n,r),o=i.length;while(o--)(a=i[o])&&(p[u[o]]=!(f[u[o]]=a))}if(e){if(v||d){if(v){i=[],o=p.length;while(o--)(a=p[o])&&i.push(f[o]=a);v(null,p=[],i,r)}o=p.length;while(o--)(a=p[o])&&-1<(i=v?P(e,a):s[o])&&(e[i]=!(t[i]=a))}}else p=Te(p===t?p.splice(l,p.length):p),v?v(null,t,p,r):H.apply(t,p)})}function Ee(e){for(var i,t,n,r=e.length,o=b.relative[e[0].type],a=o||b.relative[" "],s=o?1:0,u=be(function(e){return e===i},a,!0),l=be(function(e){return-1<P(i,e)},a,!0),c=[function(e,t,n){var r=!o&&(n||t!==w)||((i=t).nodeType?u(e,t,n):l(e,t,n));return i=null,r}];s<r;s++)if(t=b.relative[e[s].type])c=[be(we(c),t)];else{if((t=b.filter[e[s].type].apply(null,e[s].matches))[S]){for(n=++s;n<r;n++)if(b.relative[e[n].type])break;return Ce(1<s&&we(c),1<s&&xe(e.slice(0,s-1).concat({value:" "===e[s-2].type?"*":""})).replace(B,"$1"),t,s<n&&Ee(e.slice(s,n)),n<r&&Ee(e=e.slice(n)),n<r&&xe(e))}c.push(t)}return we(c)}return me.prototype=b.filters=b.pseudos,b.setFilters=new me,h=se.tokenize=function(e,t){var n,r,i,o,a,s,u,l=x[e+" "];if(l)return t?0:l.slice(0);a=e,s=[],u=b.preFilter;while(a){for(o in n&&!(r=_.exec(a))||(r&&(a=a.slice(r[0].length)||a),s.push(i=[])),n=!1,(r=z.exec(a))&&(n=r.shift(),i.push({value:n,type:r[0].replace(B," ")}),a=a.slice(n.length)),b.filter)!(r=G[o].exec(a))||u[o]&&!(r=u[o](r))||(n=r.shift(),i.push({value:n,type:o,matches:r}),a=a.slice(n.length));if(!n)break}return t?a.length:a?se.error(e):x(e,s).slice(0)},f=se.compile=function(e,t){var n,y,v,m,x,r,i=[],o=[],a=A[e+" "];if(!a){t||(t=h(e)),n=t.length;while(n--)(a=Ee(t[n]))[S]?i.push(a):o.push(a);(a=A(e,(y=o,m=0<(v=i).length,x=0<y.length,r=function(e,t,n,r,i){var o,a,s,u=0,l="0",c=e&&[],f=[],p=w,d=e||x&&b.find.TAG("*",i),h=k+=null==p?1:Math.random()||.1,g=d.length;for(i&&(w=t==C||t||i);l!==g&&null!=(o=d[l]);l++){if(x&&o){a=0,t||o.ownerDocument==C||(T(o),n=!E);while(s=y[a++])if(s(o,t||C,n)){r.push(o);break}i&&(k=h)}m&&((o=!s&&o)&&u--,e&&c.push(o))}if(u+=l,m&&l!==u){a=0;while(s=v[a++])s(c,f,t,n);if(e){if(0<u)while(l--)c[l]||f[l]||(f[l]=q.call(r));f=Te(f)}H.apply(r,f),i&&!e&&0<f.length&&1<u+v.length&&se.uniqueSort(r)}return i&&(k=h,w=p),c},m?le(r):r))).selector=e}return a},g=se.select=function(e,t,n,r){var i,o,a,s,u,l="function"==typeof e&&e,c=!r&&h(e=l.selector||e);if(n=n||[],1===c.length){if(2<(o=c[0]=c[0].slice(0)).length&&"ID"===(a=o[0]).type&&9===t.nodeType&&E&&b.relative[o[1].type]){if(!(t=(b.find.ID(a.matches[0].replace(te,ne),t)||[])[0]))return n;l&&(t=t.parentNode),e=e.slice(o.shift().value.length)}i=G.needsContext.test(e)?0:o.length;while(i--){if(a=o[i],b.relative[s=a.type])break;if((u=b.find[s])&&(r=u(a.matches[0].replace(te,ne),ee.test(o[0].type)&&ve(t.parentNode)||t))){if(o.splice(i,1),!(e=r.length&&xe(o)))return H.apply(n,r),n;break}}}return(l||f(e,c))(r,t,!E,n,!t||ee.test(e)&&ve(t.parentNode)||t),n},d.sortStable=S.split("").sort(j).join("")===S,d.detectDuplicates=!!l,T(),d.sortDetached=ce(function(e){return 1&e.compareDocumentPosition(C.createElement("fieldset"))}),ce(function(e){return e.innerHTML="<a href='#'></a>","#"===e.firstChild.getAttribute("href")})||fe("type|href|height|width",function(e,t,n){if(!n)return e.getAttribute(t,"type"===t.toLowerCase()?1:2)}),d.attributes&&ce(function(e){return e.innerHTML="<input/>",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||fe("value",function(e,t,n){if(!n&&"input"===e.nodeName.toLowerCase())return e.defaultValue}),ce(function(e){return null==e.getAttribute("disabled")})||fe(R,function(e,t,n){var r;if(!n)return!0===e[t]?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null}),se}(C);S.find=d,S.expr=d.selectors,S.expr[":"]=S.expr.pseudos,S.uniqueSort=S.unique=d.uniqueSort,S.text=d.getText,S.isXMLDoc=d.isXML,S.contains=d.contains,S.escapeSelector=d.escape;var h=function(e,t,n){var r=[],i=void 0!==n;while((e=e[t])&&9!==e.nodeType)if(1===e.nodeType){if(i&&S(e).is(n))break;r.push(e)}return r},T=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},k=S.expr.match.needsContext;
vendor: 5,189 bytes, line 3
3function A(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}var N=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function j(e,n,r){return m(n)?S.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?S.grep(e,function(e){return e===n!==r}):"string"!=typeof n?S.grep(e,function(e){return-1<i.call(n,e)!==r}):S.filter(n,e,r)}S.filter=function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?S.find.matchesSelector(r,e)?[r]:[]:S.find.matches(e,S.grep(t,function(e){return 1===e.nodeType}))},S.fn.extend({find:function(e){var t,n,r=this.length,i=this;if("string"!=typeof e)return this.pushStack(S(e).filter(function(){for(t=0;t<r;t++)if(S.contains(i[t],this))return!0}));for(n=this.pushStack([]),t=0;t<r;t++)S.find(e,i[t],n);return 1<r?S.uniqueSort(n):n},filter:function(e){return this.pushStack(j(this,e||[],!1))},not:function(e){return this.pushStack(j(this,e||[],!0))},is:function(e){return!!j(this,"string"==typeof e&&k.test(e)?S(e):e||[],!1).length}});var D,q=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;(S.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||D,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:q.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 S?t[0]:t,S.merge(this,S.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),N.test(r[1])&&S.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(S):S.makeArray(e,this)}).prototype=S.fn,D=S(E);var L=/^(?:parents|prev(?:Until|All))/,H={children:!0,contents:!0,next:!0,prev:!0};function O(e,t){while((e=e[t])&&1!==e.nodeType);return e}S.fn.extend({has:function(e){var t=S(e,this),n=t.length;return this.filter(function(){for(var e=0;e<n;e++)if(S.contains(this,t[e]))return!0})},closest:function(e,t){var n,r=0,i=this.length,o=[],a="string"!=typeof e&&S(e);if(!k.test(e))for(;r<i;r++)for(n=this[r];n&&n!==t;n=n.parentNode)if(n.nodeType<11&&(a?-1<a.index(n):1===n.nodeType&&S.find.matchesSelector(n,e))){o.push(n);break}return this.pushStack(1<o.length?S.uniqueSort(o):o)},index:function(e){return e?"string"==typeof e?i.call(S(e),this[0]):i.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(S.uniqueSort(S.merge(this.get(),S(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),S.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return h(e,"parentNode")},parentsUntil:function(e,t,n){return h(e,"parentNode",n)},next:function(e){return O(e,"nextSibling")},prev:function(e){return O(e,"previousSibling")},nextAll:function(e){return h(e,"nextSibling")},prevAll:function(e){return h(e,"previousSibling")},nextUntil:function(e,t,n){return h(e,"nextSibling",n)},prevUntil:function(e,t,n){return h(e,"previousSibling",n)},siblings:function(e){return T((e.parentNode||{}).firstChild,e)},children:function(e){return T(e.firstChild)},contents:function(e){return null!=e.contentDocument&&r(e.contentDocument)?e.contentDocument:(A(e,"template")&&(e=e.content||e),S.merge([],e.childNodes))}},function(r,i){S.fn[r]=function(e,t){var n=S.map(this,i,e);return"Until"!==r.slice(-5)&&(t=e),t&&"string"==typeof t&&(n=S.filter(t,n)),1<this.length&&(H[r]||S.uniqueSort(n),L.test(r)&&n.reverse()),this.pushStack(n)}});var P=/[^\x20\t\r\n\f]+/g;function R(e){return e}function M(e){throw e}function I(e,t,n,r){var i;try{e&&m(i=e.promise)?i.call(e).done(t).fail(n):e&&m(i=e.then)?i.call(e,t,n):t.apply(void 0,[e].slice(r))}catch(e){n.apply(void 0,[e])}}S.Callbacks=function(r){var e,n;r="string"==typeof r?(e=r,n={},S.each(e.match(P)||[],function(e,t){n[t]=!0}),n):S.extend({},r);var i,t,o,a,s=[],u=[],l=-1,c=function(){for(a=a||r.once,o=i=!0;u.length;l=-1){t=u.shift();while(++l<s.length)!1===s[l].apply(t[0],t[1])&&r.stopOnFalse&&(l=s.length,t=!1)}r.memory||(t=!1),i=!1,a&&(s=t?[]:"")},f={add:function(){return s&&(t&&!i&&(l=s.length-1,u.push(t)),function n(e){S.each(e,function(e,t){m(t)?r.unique&&f.has(t)||s.push(t):t&&t.length&&"string"!==w(t)&&n(t)})}(arguments),t&&!i&&c()),this},remove:function(){return S.each(arguments,function(e,t){var n;while(-1<(n=S.inArray(t,s,n)))s.splice(n,1),n<=l&&l--}),this},has:function(e){return e?-1<S.inArray(e,s):0<s.length},empty:function(){return s&&(s=[]),this},disable:function(){return a=u=[],s=t="",this},disabled:function(){return!s},lock:function(){return a=u=[],t||i||(s=t=""),this},locked:function(){return!!a},fireWith:function(e,t){return a||(t=[e,(t=t||[]).slice?t.slice():t],u.push(t),i||c()),this},fire:function(){return f.fireWith(this,arguments),this},fired:function(){return!!o}};return f},S.extend({Deferred:function(e){var o=[["notify","progress",S.Callbacks("memory"),S.Callbacks("memory"),2],["resolve","done",S.Callbacks("once memory"),S.Callbacks("once memory"),0,"resolved"],["reject","fail",S.Callbacks("once memory"),S.Callbacks("once memory"),1,"rejected"]],i="pe
vendor: 22,358 bytes, line 3
3nding",a={state:function(){return i},always:function(){return s.done(arguments).fail(arguments),this},"catch":function(e){return a.then(null,e)},pipe:function(){var i=arguments;return S.Deferred(function(r){S.each(o,function(e,t){var n=m(i[t[4]])&&i[t[4]];s[t[1]](function(){var e=n&&n.apply(this,arguments);e&&m(e.promise)?e.promise().progress(r.notify).done(r.resolve).fail(r.reject):r[t[0]+"With"](this,n?[e]:arguments)})}),i=null}).promise()},then:function(t,n,r){var u=0;function l(i,o,a,s){return function(){var n=this,r=arguments,e=function(){var e,t;if(!(i<u)){if((e=a.apply(n,r))===o.promise())throw new TypeError("Thenable self-resolution");t=e&&("object"==typeof e||"function"==typeof e)&&e.then,m(t)?s?t.call(e,l(u,o,R,s),l(u,o,M,s)):(u++,t.call(e,l(u,o,R,s),l(u,o,M,s),l(u,o,R,o.notifyWith))):(a!==R&&(n=void 0,r=[e]),(s||o.resolveWith)(n,r))}},t=s?e:function(){try{e()}catch(e){S.Deferred.exceptionHook&&S.Deferred.exceptionHook(e,t.stackTrace),u<=i+1&&(a!==M&&(n=void 0,r=[e]),o.rejectWith(n,r))}};i?t():(S.Deferred.getStackHook&&(t.stackTrace=S.Deferred.getStackHook()),C.setTimeout(t))}}return S.Deferred(function(e){o[0][3].add(l(0,e,m(r)?r:R,e.notifyWith)),o[1][3].add(l(0,e,m(t)?t:R)),o[2][3].add(l(0,e,m(n)?n:M))}).promise()},promise:function(e){return null!=e?S.extend(e,a):a}},s={};return S.each(o,function(e,t){var n=t[2],r=t[5];a[t[1]]=n.add,r&&n.add(function(){i=r},o[3-e][2].disable,o[3-e][3].disable,o[0][2].lock,o[0][3].lock),n.add(t[3].fire),s[t[0]]=function(){return s[t[0]+"With"](this===s?void 0:this,arguments),this},s[t[0]+"With"]=n.fireWith}),a.promise(s),e&&e.call(s,s),s},when:function(e){var n=arguments.length,t=n,r=Array(t),i=s.call(arguments),o=S.Deferred(),a=function(t){return function(e){r[t]=this,i[t]=1<arguments.length?s.call(arguments):e,--n||o.resolveWith(r,i)}};if(n<=1&&(I(e,o.done(a(t)).resolve,o.reject,!n),"pending"===o.state()||m(i[t]&&i[t].then)))return o.then();while(t--)I(i[t],a(t),o.reject);return o.promise()}});var W=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;S.Deferred.exceptionHook=function(e,t){C.console&&C.console.warn&&e&&W.test(e.name)&&C.console.warn("jQuery.Deferred exception: "+e.message,e.stack,t)},S.readyException=function(e){C.setTimeout(function(){throw e})};var F=S.Deferred();function $(){E.removeEventListener("DOMContentLoaded",$),C.removeEventListener("load",$),S.ready()}S.fn.ready=function(e){return F.then(e)["catch"](function(e){S.readyException(e)}),this},S.extend({isReady:!1,readyWait:1,ready:function(e){(!0===e?--S.readyWait:S.isReady)||(S.isReady=!0)!==e&&0<--S.readyWait||F.resolveWith(E,[S])}}),S.ready.then=F.then,"complete"===E.readyState||"loading"!==E.readyState&&!E.documentElement.doScroll?C.setTimeout(S.ready):(E.addEventListener("DOMContentLoaded",$),C.addEventListener("load",$));var B=function(e,t,n,r,i,o,a){var s=0,u=e.length,l=null==n;if("object"===w(n))for(s in i=!0,n)B(e,t,s,n[s],!0,o,a);else if(void 0!==r&&(i=!0,m(r)||(a=!0),l&&(a?(t.call(e,r),t=null):(l=t,t=function(e,t,n){return l.call(S(e),n)})),t))for(;s<u;s++)t(e[s],n,a?r:r.call(e[s],s,t(e[s],n)));return i?e:l?t.call(e):u?t(e[0],n):o},_=/^-ms-/,z=/-([a-z])/g;function U(e,t){return t.toUpperCase()}function X(e){return e.replace(_,"ms-").replace(z,U)}var V=function(e){return 1===e.nodeType||9===e.nodeType||!+e.nodeType};function G(){this.expando=S.expando+G.uid++}G.uid=1,G.prototype={cache:function(e){var t=e[this.expando];return t||(t={},V(e)&&(e.nodeType?e[this.expando]=t:Object.defineProperty(e,this.expando,{value:t,configurable:!0}))),t},set:function(e,t,n){var r,i=this.cache(e);if("string"==typeof t)i[X(t)]=n;else for(r in t)i[X(r)]=t[r];return i},get:function(e,t){return void 0===t?this.cache(e):e[this.expando]&&e[this.expando][X(t)]},access:function(e,t,n){return void 0===t||t&&"string"==typeof t&&void 0===n?this.get(e,t):(this.set(e,t,n),void 0!==n?n:t)},remove:function(e,t){var n,r=e[this.expando];if(void 0!==r){if(void 0!==t){n=(t=Array.isArray(t)?t.map(X):(t=X(t))in r?[t]:t.match(P)||[]).length;while(n--)delete r[t[n]]}(void 0===t||S.isEmptyObject(r))&&(e.nodeType?e[this.expando]=void 0:delete e[this.expando])}},hasData:function(e){var t=e[this.expando];return void 0!==t&&!S.isEmptyObject(t)}};var Y=new G,Q=new G,J=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,K=/[A-Z]/g;function Z(e,t,n){var r,i;if(void 0===n&&1===e.nodeType)if(r="data-"+t.replace(K,"-$&").toLowerCase(),"string"==typeof(n=e.getAttribute(r))){try{n="true"===(i=n)||"false"!==i&&("null"===i?null:i===+i+""?+i:J.test(i)?JSON.parse(i):i)}catch(e){}Q.set(e,t,n)}else n=void 0;return n}S.extend({hasData:function(e){return Q.hasData(e)||Y.hasData(e)},data:function(e,t,n){return Q.access(e,t,n)},removeData:function(e,t){Q.remove(e,t)},_data:function(e,t,n){return Y.access(e,t,n)},_removeData:function(e,t){Y.remove(e,t)}}),S.fn.extend({data:function(n,e){var t,r,i,o=this[0],a=o&&o.attributes;if(void 0===n){if(this.length&&(i=Q.get(o),1===o.nodeType&&!Y.get(o,"hasDataAttrs"))){t=a.length;while(t--)a[t]&&0===(r=a[t].name).indexOf("data-")&&(r=X(r.slice(5)),Z(o,r,i[r]));Y.set(o,"hasDataAttrs",!0)}return i}return"object"==typeof n?this.each(function(){Q.set(this,n)}):B(this,function(e){var t;if(o&&void 0===e)return void 0!==(t=Q.get(o,n))?t:void 0!==(t=Z(o,n))?t:void 0;this.each(function(){Q.set(this,n,e)})},null,e,1<arguments.length,null,!0)},removeData:function(e){return this.each(function(){Q.remove(this,e)})}}),S.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=Y.get(e,t),n&&(!r||Array.isArray(n)?r=Y.access(e,t,S.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=S.queue(e,t),r=n.length,i=n.shift(),o=S._queueHooks(e,t);"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,function(){S.dequeue(e,t)},o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return Y.get(e,n)||Y.access(e,n,{empty:S.Callbacks("once memory").add(function(){Y.remove(e,[t+"queue",n])})})}}),S.fn.extend({queue:function(t,n){var e=2;return"string"!=typeof t&&(n=t,t="fx",e--),arguments.length<e?S.queue(this[0],t):void 0===n?this:this.each(function(){var e=S.queue(this,t,n);S._queueHooks(this,t),"fx"===t&&"inprogress"!==e[0]&&S.dequeue(this,t)})},dequeue:function(e){return this.each(function(){S.dequeue(this,e)})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,t){var n,r=1,i=S.Deferred(),o=this,a=this.length,s=function(){--r||i.resolveWith(o,[o])};"string"!=typeof e&&(t=e,e=void 0),e=e||"fx";while(a--)(n=Y.get(o[a],e+"queueHooks"))&&n.empty&&(r++,n.empty.add(s));return s(),i.promise(t)}});var ee=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,te=new RegExp("^(?:([+-])=|)("+ee+")([a-z%]*)$","i"),ne=["Top","Right","Bottom","Left"],re=E.documentElement,ie=function(e){return S.contains(e.ownerDocument,e)},oe={composed:!0};re.getRootNode&&(ie=function(e){return S.contains(e.ownerDocument,e)||e.getRootNode(oe)===e.ownerDocument});var ae=function(e,t){return"none"===(e=t||e).style.display||""===e.style.display&&ie(e)&&"none"===S.css(e,"display")};function se(e,t,n,r){var i,o,a=20,s=r?function(){return r.cur()}:function(){return S.css(e,t,"")},u=s(),l=n&&n[3]||(S.cssNumber[t]?"":"px"),c=e.nodeType&&(S.cssNumber[t]||"px"!==l&&+u)&&te.exec(S.css(e,t));if(c&&c[3]!==l){u/=2,l=l||c[3],c=+u||1;while(a--)S.style(e,t,c+l),(1-o)*(1-(o=s()/u||.5))<=0&&(a=0),c/=o;c*=2,S.style(e,t,c+l),n=n||[]}return n&&(c=+c||+u||0,i=n[1]?c+(n[1]+1)*n[2]:+n[2],r&&(r.unit=l,r.start=c,r.end=i)),i}var ue={};function le(e,t){for(var n,r,i,o,a,s,u,l=[],c=0,f=e.length;c<f;c++)(r=e[c]).style&&(n=r.style.display,t?("none"===n&&(l[c]=Y.get(r,"display")||null,l[c]||(r.style.display="")),""===r.style.display&&ae(r)&&(l[c]=(u=a=o=void 0,a=(i=r).ownerDocument,s=i.nodeName,(u=ue[s])||(o=a.body.appendChild(a.createElement(s)),u=S.css(o,"display"),o.parentNode.removeChild(o),"none"===u&&(u="block"),ue[s]=u)))):"none"!==n&&(l[c]="none",Y.set(r,"display",n)));for(c=0;c<f;c++)null!=l[c]&&(e[c].style.display=l[c]);return e}S.fn.extend({show:function(){return le(this,!0)},hide:function(){return le(this)},toggle:function(e){return"boolean"==typeof e?e?this.show():this.hide():this.each(function(){ae(this)?S(this).show():S(this).hide()})}});var ce,fe,pe=/^(?:checkbox|radio)$/i,de=/<([a-z][^\/\0>\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i;ce=E.createDocumentFragment().appendChild(E.createElement("div")),(fe=E.createElement("input")).setAttribute("type","radio"),fe.setAttribute("checked","checked"),fe.setAttribute("name","t"),ce.appendChild(fe),v.checkClone=ce.cloneNode(!0).cloneNode(!0).lastChild.checked,ce.innerHTML="<textarea>x</textarea>",v.noCloneChecked=!!ce.cloneNode(!0).lastChild.defaultValue,ce.innerHTML="<option></option>",v.option=!!ce.lastChild;var ge={thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};function ye(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)?S.merge([e],n):n}function ve(e,t){for(var n=0,r=e.length;n<r;n++)Y.set(e[n],"globalEval",!t||Y.get(t[n],"globalEval"))}ge.tbody=ge.tfoot=ge.colgroup=ge.caption=ge.thead,ge.th=ge.td,v.option||(ge.optgroup=ge.option=[1,"<select multiple='multiple'>","</select>"]);var me=/<|&#?\w+;/;function xe(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d<h;d++)if((o=e[d])||0===o)if("object"===w(o))S.merge(p,o.nodeType?[o]:o);else if(me.test(o)){a=a||f.appendChild(t.createElement("div")),s=(de.exec(o)||["",""])[1].toLowerCase(),u=ge[s]||ge._default,a.innerHTML=u[1]+S.htmlPrefilter(o)+u[2],c=u[0];while(c--)a=a.lastChild;S.merge(p,a.childNodes),(a=f.firstChild).textContent=""}else p.push(t.createTextNode(o));f.textContent="",d=0;while(o=p[d++])if(r&&-1<S.inArray(o,r))i&&i.push(o);else if(l=ie(o),a=ye(f.appendChild(o),"script"),l&&ve(a),n){c=0;while(o=a[c++])he.test(o.type||"")&&n.push(o)}return f}var be=/^([^.]*)(?:\.(.+)|)/;function we(){return!0}function Te(){return!1}function Ce(e,t){return e===function(){try{return E.activeElement}catch(e){}}()==("focus"===t)}function Ee(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)Ee(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=Te;else if(!i)return e;return 1===o&&(a=i,(i=function(e){return S().off(e),a.apply(this,arguments)}).guid=a.guid||(a.guid=S.guid++)),e.each(function(){S.event.add(this,t,i,r,n)})}function Se(e,i,o){o?(Y.set(e,i,!1),S.event.add(e,i,{namespace:!1,handler:function(e){var t,n,r=Y.get(this,i);if(1&e.isTrigger&&this[i]){if(r.length)(S.event.special[i]||{}).delegateType&&e.stopPropagation();else if(r=s.call(arguments),Y.set(this,i,r),t=o(this,i),this[i](),r!==(n=Y.get(this,i))||t?Y.set(this,i,!1):n={},r!==n)return e.stopImmediatePropagation(),e.preventDefault(),n&&n.value}else r.length&&(Y.set(this,i,{value:S.event.trigger(S.extend(r[0],S.Event.prototype),r.slice(1),this)}),e.stopImmediatePropagation())}})):void 0===Y.get(e,i)&&S.event.add(e,i,we)}S.event={global:{},add:function(t,e,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,y=Y.get(t);if(V(t)){n.handler&&(n=(o=n).handler,i=o.selector),i&&S.find.matchesSelector(re,i),n.guid||(n.guid=S.guid++),(u=y.events)||(u=y.events=Object.create(null)),(a=y.handle)||(a=y.handle=function(e){return"undefined"!=typeof S&&S.event.triggered!==e.type?S.event.dispatch.apply(t,arguments):void 0}),l=(e=(e||"").match(P)||[""]).length;while(l--)d=g=(s=be.exec(e[l])||[])[1],h=(s[2]||"").split(".").sort(),d&&(f=S.event.special[d]||{},d=(i?f.delegateType:f.bindType)||d,f=S.event.special[d]||{},c=S.extend({type:d,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&S.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),S.event.global[d]=!0)}},remove:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,y=Y.hasData(e)&&Y.get(e);if(y&&(u=y.events)){l=(t=(t||"").match(P)||[""]).length;while(l--)if(d=g=(s=be.exec(t[l])||[])[1],h=(s[2]||"").split(".").sort(),d){f=S.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,y.handle)||S.removeEvent(e,d,y.handle),delete u[d])}else for(d in u)S.event.remove(e,d+t[l],n,r,!0);S.isEmptyObject(u)&&Y.remove(e,"handle events")}},dispatch:function(e){var t,n,r,i,o,a,s=new Array(arguments.length),u=S.event.fix(e),l=(Y.get(this,"events")||Object.create(null))[u.type]||[],c=S.event.special[u.type]||{};for(s[0]=u,t=1;t<arguments.length;t++)s[t]=arguments[t];if(u.delegateTarget=this,!c.preDispatch||!1!==c.preDispatch.call(this,u)){a=S.event.handlers.call(this,u,l),t=0;while((i=a[t++])&&!u.isPropagationStopped()){u.currentTarget=i.elem,n=0;while((o=i.handlers[n++])&&!u.isImmediatePropagationStopped())u.rnamespace&&!1!==o.namespace&&!u.rnamespace.test(o.namespace)||(u.handleObj=o,u.data=o.data,void 0!==(r=((S.event.special[o.origType]||{}).handle||o.handler).apply(i.elem,s))&&!1===(u.result=r)&&(u.preventDefault(),u.stopPropagation()))}return c.postDispatch&&c.postDispatch.call(this,u),u.result}},handlers:function(e,t){var n,r,i,o,a,s=[],u=t.delegateCount,l=e.target;if(u&&l.nodeType&&!("click"===e.type&&1<=e.button))for(;l!==this;l=l.parentNode||this)if(1===l.nodeType&&("click"!==e.type||!0!==l.disabled)){for(o=[],a={},n=0;n<u;n++)void 0===a[i=(r=t[n]).selector+" "]&&(a[i]=r.needsContext?-1<S(i,this).index(l):S.find(i,this,null,[l]).length),a[i]&&o.push(r);o.length&&s.push({elem:l,handlers:o})}return l=this,u<t.length&&s.push({elem:l,handlers:t.slice(u)}),s},addProp:function(t,e){Object.defineProperty(S.Event.prototype,t,{enumerable:!0,configurable:!0,get:m(e)?function(){if(this.originalEvent)return e(this.originalEvent)}:function(){if(this.originalEvent)return this.originalEvent[t]},set:function(e){Object.defineProperty(this,t,{enumerable:!0,configurable:!0,writable:!0,value:e})}})},fix:function(e){return e[S.expando]?e:new S.Event(e)},special:{load:{noBubble:!0},click:{setup:function(e){var t=this||e;return pe.test(t.type)&&t.click&&A(t,"input")&&Se(t,"click",we),!1},trigger:function(e){var t=this||e;return pe.test(t.type)&&t.click&&A(t,"input")&&Se(t,"click"),!0},_default:function(e){var t=e.target;return pe.test(t.type)&&t.click&&A(t,"input")&&Y.get(t,"click")||A(t,"a")}},beforeunload:{postDispatch:function(e){void 0!==e.result&&e.originalEvent&&(e.originalEvent.returnValue=e.result)}}}},S.removeEvent=function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n)},S.Event=function(e,t){if(!(this instanceof S.Event))return new S.Event(e,t);e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||void 0===e.defaultPrevented&&!1===e.returnValue?we:Te,this.target=e.target&&3===e.target.nodeType?e.target.parentNode:e.target,this.currentTarget=e.currentTarget,this.relatedTarget=e.relatedTarget):this.type=e,t&&S.extend(this,t),this.timeStamp=e&&e.timeStamp||Date.now(),this[S.expando]=!0},S.Event.prototype={constructor:S.Event,isDefaultPrevented:Te,isPropagationStopped:Te,isImmediatePropagationStopped:Te,isSimulated:!1,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=we,e&&!this.isSimulated&&e.preventDefault()},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=we,e&&!this.isSimulated&&e.stopPropagation()},stopImmediatePropagation:function(){var e=this.originalEvent;this.isImmediatePropagationStopped=we,e&&!this.isSimulated&&e.stopImmediatePropagation(),this.stopPropagation()}},S.each({altKey:!0,bubbles:!0,cancelable:!0,changedTouches:!0,ctrlKey:!0,detail:!0,eventPhase:!0,metaKey:!0,pageX:!0,pageY:!0,shiftKey:!0,view:!0,"char":!0,code:!0,charCode:!0,key:!0,keyCode:!0,button:!0,buttons:!0,clientX:!0,clientY:!0,offsetX:!0,offsetY:!0,pointerId:!0,pointerType:!0,screenX:!0,screenY:!0,targetTouches:!0,toElement:!0,touches:!0,which:!0},S.event.addProp),S.each({focus:"focusin",blur:"focusout"},function(t,e){S.event.special[t]={setup:function(){return Se(this,t,Ce),!1},trigger:function(){return Se(this,t),!0},_default:function(e){return Y.get(e.target,t)},delegateType:e}}),S.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(e,i){S.event.special[e]={delegateType:i,bindType:i,handle:function(e){var t,n=e.relatedTarget,r=e.handleObj;return n&&(n===this||S.contains(this,n))||(e.type=r.origType,t=r.handler.apply(this,arguments),e.type=i),t}}}),S.fn.extend({on:function(e,t,n,r){return Ee(this,e,t,n,r)},one:function(e,t,n,r){return Ee(this,e,t,n,r,1)},off:function(e,t,n){var r,i;if(e&&e.preventDefault&&e.handleObj)return r=e.handleObj,S(e.delegateTarget).off(r.namespace?r.origType+"."+r.namespace:r.origType,r.selector,r.handler),this;if("object"==typeof e){for(i in e)this.off(i,t,e[i]);return this}return!1!==t&&"function"!=typeof t||(n=t,t=void 0),!1===n&&(n=Te),this.each(function(){S.event.remove(this,e,n,t)})}});var ke=/<script|<style|<link/i,Ae=/checked\s*(?:[^=]|=\s*.checked.)/i,Ne=/^\s*<!\[CDATA\[|\]\]>\s*$/g;function je(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&S(e).children("tbody")[0]||e}function De(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function qe(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Le(e,t){var n,r,i,o,a,s;if(1===t.nodeType){if(Y.hasData(e)&&(s=Y.get(e).events))for(i in Y.remove(t,"handle events"),s)for(n=0,r=s[i].length;n<r;n++)S.event.add(t,i,s[i][n]);Q.hasData(e)&&(o=Q.access(e),a=S.extend({},o),Q.set(t,a))}}function He(n,r,i,o){r=g(r);var e,t,a,s,u,l,c=0,f=n.length,p=f-1,d=r[0],h=m(d);if(h||1<f&&"string"==typeof d&&!v.checkClone&&Ae.test(d))return n.each(function(e){var t=n.eq(e);h&&(r[0]=d.call(this,e,t.html())),He(t,r,i,o)});if(f&&(t=(e=xe(r,n[0].ownerDocument,!1,n,o)).firstChild,1===e.childNodes.length&&(e=t),t||o)){for(s=(a=S.map(ye(e,"script"),De)).length;c<f;c++)u=e,c!==p&&(u=S.clone(u,!0,!0),s&&S.merge(a,ye(u,"script"))),i.call(n[c],u,c);if(s)for(l=a[a.length-1].ownerDocument,S.map(a,qe),c=0;c<s;c++)u=a[c],he.test(u.type||"")&&!Y.access(u,"globalEval")&&S.contains(l,u)&&(u.src&&"module"!==(u.type||"").toLowerCase()?S._evalUrl&&!u.noModule&&S._evalUrl(u.src,{nonce:u.nonce||u.getAttribute("nonce")},l):b(u.textContent.replace(Ne,""),u,l))}return n}function Oe(e,t,n){for(var r,i=t?S.filter(t,e):e,o=0;null!=(r=i[o]);o++)n||1!==r.nodeType||S.cleanData(ye(r)),r.parentNode&&(n&&ie(r)&&ve(ye(r,"script")),r.parentNode.removeChild(r));return e}S.extend({htmlPrefilter:function(e){return e},clone:function(e,t,n){var r,i,o,a,s,u,l,c=e.cloneNode(!0),f=ie(e);if(!(v.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||S.isXMLDoc(e)))for(a=ye(c),r=0,i=(o=ye(e)).length;r<i;r++)s=o[r],u=a[r],void 0,"input"===(l=u.nodeName.toLowerCase())&&pe.test(s.type)?u.checked=s.checked:"input"!==l&&"textarea"!==l||(u.defaultValue=s.defaultValue);if(t)if(n)for(o=o||ye(e),a=a||ye(c),r=0,i=o.length;r<i;r++)Le(o[r],a[r]);else Le(e,c);return 0<(a=ye(c,"script")).length&&ve(a,!f&&ye(e,"script")),c},cleanData:function(e){for(var t,n,r,i=S.event.special,o=0;void 0!==(n=e[o]);o++)if(V(n)){if(t=n[Y.expando]){if(t.events)for(r in t.events)i[r]?S.event.remove(n,r):S.removeEvent(n,r,t.handle);n[Y.expando]=void 0}n[Q.expando]&&(n[Q.expando]=void 0)}}}),S.fn.extend({detach:function(e){return Oe(this,e,!0)},remove:function(e){return Oe(this,e)},text:function(e){return B(this,function(e){return void 0===e?S.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=e)})},null,e,arguments.length)},append:function(){return He(this,arguments,function(e){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||je(this,e).appendChild(e)})},prepend:function(){return He(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=je(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return He(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return He(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)1===e.nodeType&&(S.cleanData(ye(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map(function(){return S.clone(this,e,t)})},html:function(e){return B(this,function(e){var t=this[0]||{},n=0,r=this.length;if(void 0===e&&1===t.nodeType)return t.innerHTML;if("string"==typeof e&&!ke.test(e)&&!ge[(de.exec(e)||["",""])[1].toLowerCase()]){e=S.htmlPrefilter(e);try{for(;n<r;n++)1===(t=this[n]||{}).nodeType&&(S.cleanData(ye(t,!1)),t.innerHTML=e);t=0}catch(e){}}t&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(){var n=[];return He(this,arguments,function(e){var t=this.parentNode;S.inArray(this,n)<0&&(S.cleanData(ye(this)),t&&t.replaceChild(e,this))},n)}}),S.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,a){S.fn[e]=function(e){for(var t,n=[],r=S(e),i=r.length-1,o=0;o<=i;o++)t=o===i?this:this.clone(!0),S(r[o])[a](t),u.apply(n,t.get());return this.pushStack(n)}});var Pe=new RegExp("^("+ee+")(?!px)[a-z%]+$","i"),Re=/^--/,Me=function(e){var t=e.ownerDocument.defaultView;return t&&t.opener||(t=C),t.getComputedStyle(e)},Ie=function(e,t,n){var r,i,o={};for(i in t)o[i]=e.style[i],e.style[i]=t[i];for(i in r=n.call(e),t)e.style[i]=o[i];return r},We=new RegExp(ne.join("|"),"i"),Fe="[\\x20\\t\\r\\n\\f]",$e=new RegExp("^"+Fe+"+|((?:^|[^\\\\])(?:\\\\.)*)"+Fe+"+$","g");function Be(e,t,n){var r,i,o,a,s=Re.test(t),u=e.style;return(n=n||Me(e))&&(a=n.getPropertyValue(t)||n[t],s&&
3(a=a.replace($e,"$1")
vendor: 37,735 bytes, line 3
3),""!==a||ie(e)||(a=S.style(e,t)),!v.pixelBoxStyles()&&Pe.test(a)&&We.test(t)&&(r=u.width,i=u.minWidth,o=u.maxWidth,u.minWidth=u.maxWidth=u.width=a,a=n.width,u.width=r,u.minWidth=i,u.maxWidth=o)),void 0!==a?a+"":a}function _e(e,t){return{get:function(){if(!e())return(this.get=t).apply(this,arguments);delete this.get}}}!function(){function e(){if(l){u.style.cssText="position:absolute;left:-11111px;width:60px;margin-top:1px;padding:0;border:0",l.style.cssText="position:relative;display:block;box-sizing:border-box;overflow:scroll;margin:auto;border:1px;padding:1px;width:60%;top:1%",re.appendChild(u).appendChild(l);var e=C.getComputedStyle(l);n="1%"!==e.top,s=12===t(e.marginLeft),l.style.right="60%",o=36===t(e.right),r=36===t(e.width),l.style.position="absolute",i=12===t(l.offsetWidth/3),re.removeChild(u),l=null}}function t(e){return Math.round(parseFloat(e))}var n,r,i,o,a,s,u=E.createElement("div"),l=E.createElement("div");l.style&&(l.style.backgroundClip="content-box",l.cloneNode(!0).style.backgroundClip="",v.clearCloneStyle="content-box"===l.style.backgroundClip,S.extend(v,{boxSizingReliable:function(){return e(),r},pixelBoxStyles:function(){return e(),o},pixelPosition:function(){return e(),n},reliableMarginLeft:function(){return e(),s},scrollboxSize:function(){return e(),i},reliableTrDimensions:function(){var e,t,n,r;return null==a&&(e=E.createElement("table"),t=E.createElement("tr"),n=E.createElement("div"),e.style.cssText="position:absolute;left:-11111px;border-collapse:separate",t.style.cssText="border:1px solid",t.style.height="1px",n.style.height="9px",n.style.display="block",re.appendChild(e).appendChild(t).appendChild(n),r=C.getComputedStyle(t),a=parseInt(r.height,10)+parseInt(r.borderTopWidth,10)+parseInt(r.borderBottomWidth,10)===t.offsetHeight,re.removeChild(e)),a}}))}();var ze=["Webkit","Moz","ms"],Ue=E.createElement("div").style,Xe={};function Ve(e){var t=S.cssProps[e]||Xe[e];return t||(e in Ue?e:Xe[e]=function(e){var t=e[0].toUpperCase()+e.slice(1),n=ze.length;while(n--)if((e=ze[n]+t)in Ue)return e}(e)||e)}var Ge=/^(none|table(?!-c[ea]).+)/,Ye={position:"absolute",visibility:"hidden",display:"block"},Qe={letterSpacing:"0",fontWeight:"400"};function Je(e,t,n){var r=te.exec(t);return r?Math.max(0,r[2]-(n||0))+(r[3]||"px"):t}function Ke(e,t,n,r,i,o){var a="width"===t?1:0,s=0,u=0;if(n===(r?"border":"content"))return 0;for(;a<4;a+=2)"margin"===n&&(u+=S.css(e,n+ne[a],!0,i)),r?("content"===n&&(u-=S.css(e,"padding"+ne[a],!0,i)),"margin"!==n&&(u-=S.css(e,"border"+ne[a]+"Width",!0,i))):(u+=S.css(e,"padding"+ne[a],!0,i),"padding"!==n?u+=S.css(e,"border"+ne[a]+"Width",!0,i):s+=S.css(e,"border"+ne[a]+"Width",!0,i));return!r&&0<=o&&(u+=Math.max(0,Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-o-u-s-.5))||0),u}function Ze(e,t,n){var r=Me(e),i=(!v.boxSizingReliable()||n)&&"border-box"===S.css(e,"boxSizing",!1,r),o=i,a=Be(e,t,r),s="offset"+t[0].toUpperCase()+t.slice(1);if(Pe.test(a)){if(!n)return a;a="auto"}return(!v.boxSizingReliable()&&i||!v.reliableTrDimensions()&&A(e,"tr")||"auto"===a||!parseFloat(a)&&"inline"===S.css(e,"display",!1,r))&&e.getClientRects().length&&(i="border-box"===S.css(e,"boxSizing",!1,r),(o=s in e)&&(a=e[s])),(a=parseFloat(a)||0)+Ke(e,t,n||(i?"border":"content"),o,r,a)+"px"}function et(e,t,n,r,i){return new et.prototype.init(e,t,n,r,i)}S.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=Be(e,"opacity");return""===n?"1":n}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,gridArea:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnStart:!0,gridRow:!0,gridRowEnd:!0,gridRowStart:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{},style:function(e,t,n,r){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var i,o,a,s=X(t),u=Re.test(t),l=e.style;if(u||(t=Ve(s)),a=S.cssHooks[t]||S.cssHooks[s],void 0===n)return a&&"get"in a&&void 0!==(i=a.get(e,!1,r))?i:l[t];"string"===(o=typeof n)&&(i=te.exec(n))&&i[1]&&(n=se(e,t,i),o="number"),null!=n&&n==n&&("number"!==o||u||(n+=i&&i[3]||(S.cssNumber[s]?"":"px")),v.clearCloneStyle||""!==n||0!==t.indexOf("background")||(l[t]="inherit"),a&&"set"in a&&void 0===(n=a.set(e,n,r))||(u?l.setProperty(t,n):l[t]=n))}},css:function(e,t,n,r){var i,o,a,s=X(t);return Re.test(t)||(t=Ve(s)),(a=S.cssHooks[t]||S.cssHooks[s])&&"get"in a&&(i=a.get(e,!0,n)),void 0===i&&(i=Be(e,t,r)),"normal"===i&&t in Qe&&(i=Qe[t]),""===n||n?(o=parseFloat(i),!0===n||isFinite(o)?o||0:i):i}}),S.each(["height","width"],function(e,u){S.cssHooks[u]={get:function(e,t,n){if(t)return!Ge.test(S.css(e,"display"))||e.getClientRects().length&&e.getBoundingClientRect().width?Ze(e,u,n):Ie(e,Ye,function(){return Ze(e,u,n)})},set:function(e,t,n){var r,i=Me(e),o=!v.scrollboxSize()&&"absolute"===i.position,a=(o||n)&&"border-box"===S.css(e,"boxSizing",!1,i),s=n?Ke(e,u,n,a,i):0;return a&&o&&(s-=Math.ceil(e["offset"+u[0].toUpperCase()+u.slice(1)]-parseFloat(i[u])-Ke(e,u,"border",!1,i)-.5)),s&&(r=te.exec(t))&&"px"!==(r[3]||"px")&&(e.style[u]=t,t=S.css(e,u)),Je(0,t,s)}}}),S.cssHooks.marginLeft=_e(v.reliableMarginLeft,function(e,t){if(t)return(parseFloat(Be(e,"marginLeft"))||e.getBoundingClientRect().left-Ie(e,{marginLeft:0},function(){return e.getBoundingClientRect().left}))+"px"}),S.each({margin:"",padding:"",border:"Width"},function(i,o){S.cssHooks[i+o]={expand:function(e){for(var t=0,n={},r="string"==typeof e?e.split(" "):[e];t<4;t++)n[i+ne[t]+o]=r[t]||r[t-2]||r[0];return n}},"margin"!==i&&(S.cssHooks[i+o].set=Je)}),S.fn.extend({css:function(e,t){return B(this,function(e,t,n){var r,i,o={},a=0;if(Array.isArray(t)){for(r=Me(e),i=t.length;a<i;a++)o[t[a]]=S.css(e,t[a],!1,r);return o}return void 0!==n?S.style(e,t,n):S.css(e,t)},e,t,1<arguments.length)}}),((S.Tween=et).prototype={constructor:et,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||S.easing._default,this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(S.cssNumber[n]?"":"px")},cur:function(){var e=et.propHooks[this.prop];return e&&e.get?e.get(this):et.propHooks._default.get(this)},run:function(e){var t,n=et.propHooks[this.prop];return this.options.duration?this.pos=t=S.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):et.propHooks._default.set(this),this}}).init.prototype=et.prototype,(et.propHooks={_default:{get:function(e){var t;return 1!==e.elem.nodeType||null!=e.elem[e.prop]&&null==e.elem.style[e.prop]?e.elem[e.prop]:(t=S.css(e.elem,e.prop,""))&&"auto"!==t?t:0},set:function(e){S.fx.step[e.prop]?S.fx.step[e.prop](e):1!==e.elem.nodeType||!S.cssHooks[e.prop]&&null==e.elem.style[Ve(e.prop)]?e.elem[e.prop]=e.now:S.style(e.elem,e.prop,e.now+e.unit)}}}).scrollTop=et.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},S.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2},_default:"swing"},S.fx=et.prototype.init,S.fx.step={};var tt,nt,rt,it,ot=/^(?:toggle|show|hide)$/,at=/queueHooks$/;function st(){nt&&(!1===E.hidden&&C.requestAnimationFrame?C.requestAnimationFrame(st):C.setTimeout(st,S.fx.interval),S.fx.tick())}function ut(){return C.setTimeout(function(){tt=void 0}),tt=Date.now()}function lt(e,t){var n,r=0,i={height:e};for(t=t?1:0;r<4;r+=2-t)i["margin"+(n=ne[r])]=i["padding"+n]=e;return t&&(i.opacity=i.width=e),i}function ct(e,t,n){for(var r,i=(ft.tweeners[t]||[]).concat(ft.tweeners["*"]),o=0,a=i.length;o<a;o++)if(r=i[o].call(n,t,e))return r}function ft(o,e,t){var n,a,r=0,i=ft.prefilters.length,s=S.Deferred().always(function(){delete u.elem}),u=function(){if(a)return!1;for(var e=tt||ut(),t=Math.max(0,l.startTime+l.duration-e),n=1-(t/l.duration||0),r=0,i=l.tweens.length;r<i;r++)l.tweens[r].run(n);return s.notifyWith(o,[l,n,t]),n<1&&i?t:(i||s.notifyWith(o,[l,1,0]),s.resolveWith(o,[l]),!1)},l=s.promise({elem:o,props:S.extend({},e),opts:S.extend(!0,{specialEasing:{},easing:S.easing._default},t),originalProperties:e,originalOptions:t,startTime:tt||ut(),duration:t.duration,tweens:[],createTween:function(e,t){var n=S.Tween(o,l.opts,e,t,l.opts.specialEasing[e]||l.opts.easing);return l.tweens.push(n),n},stop:function(e){var t=0,n=e?l.tweens.length:0;if(a)return this;for(a=!0;t<n;t++)l.tweens[t].run(1);return e?(s.notifyWith(o,[l,1,0]),s.resolveWith(o,[l,e])):s.rejectWith(o,[l,e]),this}}),c=l.props;for(!function(e,t){var n,r,i,o,a;for(n in e)if(i=t[r=X(n)],o=e[n],Array.isArray(o)&&(i=o[1],o=e[n]=o[0]),n!==r&&(e[r]=o,delete e[n]),(a=S.cssHooks[r])&&"expand"in a)for(n in o=a.expand(o),delete e[r],o)n in e||(e[n]=o[n],t[n]=i);else t[r]=i}(c,l.opts.specialEasing);r<i;r++)if(n=ft.prefilters[r].call(l,o,c,l.opts))return m(n.stop)&&(S._queueHooks(l.elem,l.opts.queue).stop=n.stop.bind(n)),n;return S.map(c,ct,l),m(l.opts.start)&&l.opts.start.call(o,l),l.progress(l.opts.progress).done(l.opts.done,l.opts.complete).fail(l.opts.fail).always(l.opts.always),S.fx.timer(S.extend(u,{elem:o,anim:l,queue:l.opts.queue})),l}S.Animation=S.extend(ft,{tweeners:{"*":[function(e,t){var n=this.createTween(e,t);return se(n.elem,e,te.exec(t),n),n}]},tweener:function(e,t){m(e)?(t=e,e=["*"]):e=e.match(P);for(var n,r=0,i=e.length;r<i;r++)n=e[r],ft.tweeners[n]=ft.tweeners[n]||[],ft.tweeners[n].unshift(t)},prefilters:[function(e,t,n){var r,i,o,a,s,u,l,c,f="width"in t||"height"in t,p=this,d={},h=e.style,g=e.nodeType&&ae(e),y=Y.get(e,"fxshow");for(r in n.queue||(null==(a=S._queueHooks(e,"fx")).unqueued&&(a.unqueued=0,s=a.empty.fire,a.empty.fire=function(){a.unqueued||s()}),a.unqueued++,p.always(function(){p.always(function(){a.unqueued--,S.queue(e,"fx").length||a.empty.fire()})})),t)if(i=t[r],ot.test(i)){if(delete t[r],o=o||"toggle"===i,i===(g?"hide":"show")){if("show"!==i||!y||void 0===y[r])continue;g=!0}d[r]=y&&y[r]||S.style(e,r)}if((u=!S.isEmptyObject(t))||!S.isEmptyObject(d))for(r in f&&1===e.nodeType&&(n.overflow=[h.overflow,h.overflowX,h.overflowY],null==(l=y&&y.display)&&(l=Y.get(e,"display")),"none"===(c=S.css(e,"display"))&&(l?c=l:(le([e],!0),l=e.style.display||l,c=S.css(e,"display"),le([e]))),("inline"===c||"inline-block"===c&&null!=l)&&"none"===S.css(e,"float")&&(u||(p.done(function(){h.display=l}),null==l&&(c=h.display,l="none"===c?"":c)),h.display="inline-block")),n.overflow&&(h.overflow="hidden",p.always(function(){h.overflow=n.overflow[0],h.overflowX=n.overflow[1],h.overflowY=n.overflow[2]})),u=!1,d)u||(y?"hidden"in y&&(g=y.hidden):y=Y.access(e,"fxshow",{display:l}),o&&(y.hidden=!g),g&&le([e],!0),p.done(function(){for(r in g||le([e]),Y.remove(e,"fxshow"),d)S.style(e,r,d[r])})),u=ct(g?y[r]:0,r,p),r in y||(y[r]=u.start,g&&(u.end=u.start,u.start=0))}],prefilter:function(e,t){t?ft.prefilters.unshift(e):ft.prefilters.push(e)}}),S.speed=function(e,t,n){var r=e&&"object"==typeof e?S.extend({},e):{complete:n||!n&&t||m(e)&&e,duration:e,easing:n&&t||t&&!m(t)&&t};return S.fx.off?r.duration=0:"number"!=typeof r.duration&&(r.duration in S.fx.speeds?r.duration=S.fx.speeds[r.duration]:r.duration=S.fx.speeds._default),null!=r.queue&&!0!==r.queue||(r.queue="fx"),r.old=r.complete,r.complete=function(){m(r.old)&&r.old.call(this),r.queue&&S.dequeue(this,r.queue)},r},S.fn.extend({fadeTo:function(e,t,n,r){return this.filter(ae).css("opacity",0).show().end().animate({opacity:t},e,n,r)},animate:function(t,e,n,r){var i=S.isEmptyObject(t),o=S.speed(e,n,r),a=function(){var e=ft(this,S.extend({},t),o);(i||Y.get(this,"finish"))&&e.stop(!0)};return a.finish=a,i||!1===o.queue?this.each(a):this.queue(o.queue,a)},stop:function(i,e,o){var a=function(e){var t=e.stop;delete e.stop,t(o)};return"string"!=typeof i&&(o=e,e=i,i=void 0),e&&this.queue(i||"fx",[]),this.each(function(){var e=!0,t=null!=i&&i+"queueHooks",n=S.timers,r=Y.get(this);if(t)r[t]&&r[t].stop&&a(r[t]);else for(t in r)r[t]&&r[t].stop&&at.test(t)&&a(r[t]);for(t=n.length;t--;)n[t].elem!==this||null!=i&&n[t].queue!==i||(n[t].anim.stop(o),e=!1,n.splice(t,1));!e&&o||S.dequeue(this,i)})},finish:function(a){return!1!==a&&(a=a||"fx"),this.each(function(){var e,t=Y.get(this),n=t[a+"queue"],r=t[a+"queueHooks"],i=S.timers,o=n?n.length:0;for(t.finish=!0,S.queue(this,a,[]),r&&r.stop&&r.stop.call(this,!0),e=i.length;e--;)i[e].elem===this&&i[e].queue===a&&(i[e].anim.stop(!0),i.splice(e,1));for(e=0;e<o;e++)n[e]&&n[e].finish&&n[e].finish.call(this);delete t.finish})}}),S.each(["toggle","show","hide"],function(e,r){var i=S.fn[r];S.fn[r]=function(e,t,n){return null==e||"boolean"==typeof e?i.apply(this,arguments):this.animate(lt(r,!0),e,t,n)}}),S.each({slideDown:lt("show"),slideUp:lt("hide"),slideToggle:lt("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,r){S.fn[e]=function(e,t,n){return this.animate(r,e,t,n)}}),S.timers=[],S.fx.tick=function(){var e,t=0,n=S.timers;for(tt=Date.now();t<n.length;t++)(e=n[t])()||n[t]!==e||n.splice(t--,1);n.length||S.fx.stop(),tt=void 0},S.fx.timer=function(e){S.timers.push(e),S.fx.start()},S.fx.interval=13,S.fx.start=function(){nt||(nt=!0,st())},S.fx.stop=function(){nt=null},S.fx.speeds={slow:600,fast:200,_default:400},S.fn.delay=function(r,e){return r=S.fx&&S.fx.speeds[r]||r,e=e||"fx",this.queue(e,function(e,t){var n=C.setTimeout(e,r);t.stop=function(){C.clearTimeout(n)}})},rt=E.createElement("input"),it=E.createElement("select").appendChild(E.createElement("option")),rt.type="checkbox",v.checkOn=""!==rt.value,v.optSelected=it.selected,(rt=E.createElement("input")).value="t",rt.type="radio",v.radioValue="t"===rt.value;var pt,dt=S.expr.attrHandle;S.fn.extend({attr:function(e,t){return B(this,S.attr,e,t,1<arguments.length)},removeAttr:function(e){return this.each(function(){S.removeAttr(this,e)})}}),S.extend({attr:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return"undefined"==typeof e.getAttribute?S.prop(e,t,n):(1===o&&S.isXMLDoc(e)||(i=S.attrHooks[t.toLowerCase()]||(S.expr.match.bool.test(t)?pt:void 0)),void 0!==n?null===n?void S.removeAttr(e,t):i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:(e.setAttribute(t,n+""),n):i&&"get"in i&&null!==(r=i.get(e,t))?r:null==(r=S.find.attr(e,t))?void 0:r)},attrHooks:{type:{set:function(e,t){if(!v.radioValue&&"radio"===t&&A(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},removeAttr:function(e,t){var n,r=0,i=t&&t.match(P);if(i&&1===e.nodeType)while(n=i[r++])e.removeAttribute(n)}}),pt={set:function(e,t,n){return!1===t?S.removeAttr(e,n):e.setAttribute(n,n),n}},S.each(S.expr.match.bool.source.match(/\w+/g),function(e,t){var a=dt[t]||S.find.attr;dt[t]=function(e,t,n){var r,i,o=t.toLowerCase();return n||(i=dt[o],dt[o]=r,r=null!=a(e,t,n)?o:null,dt[o]=i),r}});var ht=/^(?:input|select|textarea|button)$/i,gt=/^(?:a|area)$/i;function yt(e){return(e.match(P)||[]).join(" ")}function vt(e){return e.getAttribute&&e.getAttribute("class")||""}function mt(e){return Array.isArray(e)?e:"string"==typeof e&&e.match(P)||[]}S.fn.extend({prop:function(e,t){return B(this,S.prop,e,t,1<arguments.length)},removeProp:function(e){return this.each(function(){delete this[S.propFix[e]||e]})}}),S.extend({prop:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return 1===o&&S.isXMLDoc(e)||(t=S.propFix[t]||t,i=S.propHooks[t]),void 0!==n?i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:e[t]=n:i&&"get"in i&&null!==(r=i.get(e,t))?r:e[t]},propHooks:{tabIndex:{get:function(e){var t=S.find.attr(e,"tabindex");return t?parseInt(t,10):ht.test(e.nodeName)||gt.test(e.nodeName)&&e.href?0:-1}}},propFix:{"for":"htmlFor","class":"className"}}),v.optSelected||(S.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null},set:function(e){var t=e.parentNode;t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex)}}),S.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){S.propFix[this.toLowerCase()]=this}),S.fn.extend({addClass:function(t){var e,n,r,i,o,a;return m(t)?this.each(function(e){S(this).addClass(t.call(this,e,vt(this)))}):(e=mt(t)).length?this.each(function(){if(r=vt(this),n=1===this.nodeType&&" "+yt(r)+" "){for(o=0;o<e.length;o++)i=e[o],n.indexOf(" "+i+" ")<0&&(n+=i+" ");a=yt(n),r!==a&&this.setAttribute("class",a)}}):this},removeClass:function(t){var e,n,r,i,o,a;return m(t)?this.each(function(e){S(this).removeClass(t.call(this,e,vt(this)))}):arguments.length?(e=mt(t)).length?this.each(function(){if(r=vt(this),n=1===this.nodeType&&" "+yt(r)+" "){for(o=0;o<e.length;o++){i=e[o];while(-1<n.indexOf(" "+i+" "))n=n.replace(" "+i+" "," ")}a=yt(n),r!==a&&this.setAttribute("class",a)}}):this:this.attr("class","")},toggleClass:function(t,n){var e,r,i,o,a=typeof t,s="string"===a||Array.isArray(t);return m(t)?this.each(function(e){S(this).toggleClass(t.call(this,e,vt(this),n),n)}):"boolean"==typeof n&&s?n?this.addClass(t):this.removeClass(t):(e=mt(t),this.each(function(){if(s)for(o=S(this),i=0;i<e.length;i++)r=e[i],o.hasClass(r)?o.removeClass(r):o.addClass(r);else void 0!==t&&"boolean"!==a||((r=vt(this))&&Y.set(this,"__className__",r),this.setAttribute&&this.setAttribute("class",r||!1===t?"":Y.get(this,"__className__")||""))}))},hasClass:function(e){var t,n,r=0;t=" "+e+" ";while(n=this[r++])if(1===n.nodeType&&-1<(" "+yt(vt(n))+" ").indexOf(t))return!0;return!1}});var xt=/\r/g;S.fn.extend({val:function(n){var r,e,i,t=this[0];return arguments.length?(i=m(n),this.each(function(e){var t;1===this.nodeType&&(null==(t=i?n.call(this,e,S(this).val()):n)?t="":"number"==typeof t?t+="":Array.isArray(t)&&(t=S.map(t,function(e){return null==e?"":e+""})),(r=S.valHooks[this.type]||S.valHooks[this.nodeName.toLowerCase()])&&"set"in r&&void 0!==r.set(this,t,"value")||(this.value=t))})):t?(r=S.valHooks[t.type]||S.valHooks[t.nodeName.toLowerCase()])&&"get"in r&&void 0!==(e=r.get(t,"value"))?e:"string"==typeof(e=t.value)?e.replace(xt,""):null==e?"":e:void 0}}),S.extend({valHooks:{option:{get:function(e){var t=S.find.attr(e,"value");return null!=t?t:yt(S.text(e))}},select:{get:function(e){var t,n,r,i=e.options,o=e.selectedIndex,a="select-one"===e.type,s=a?null:[],u=a?o+1:i.length;for(r=o<0?u:a?o:0;r<u;r++)if(((n=i[r]).selected||r===o)&&!n.disabled&&(!n.parentNode.disabled||!A(n.parentNode,"optgroup"))){if(t=S(n).val(),a)return t;s.push(t)}return s},set:function(e,t){var n,r,i=e.options,o=S.makeArray(t),a=i.length;while(a--)((r=i[a]).selected=-1<S.inArray(S.valHooks.option.get(r),o))&&(n=!0);return n||(e.selectedIndex=-1),o}}}}),S.each(["radio","checkbox"],function(){S.valHooks[this]={set:function(e,t){if(Array.isArray(t))return e.checked=-1<S.inArray(S(e).val(),t)}},v.checkOn||(S.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})}),v.focusin="onfocusin"in C;var bt=/^(?:focusinfocus|focusoutblur)$/,wt=function(e){e.stopPropagation()};S.extend(S.event,{trigger:function(e,t,n,r){var i,o,a,s,u,l,c,f,p=[n||E],d=y.call(e,"type")?e.type:e,h=y.call(e,"namespace")?e.namespace.split("."):[];if(o=f=a=n=n||E,3!==n.nodeType&&8!==n.nodeType&&!bt.test(d+S.event.triggered)&&(-1<d.indexOf(".")&&(d=(h=d.split(".")).shift(),h.sort()),u=d.indexOf(":")<0&&"on"+d,(e=e[S.expando]?e:new S.Event(d,"object"==typeof e&&e)).isTrigger=r?2:3,e.namespace=h.join("."),e.rnamespace=e.namespace?new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,e.result=void 0,e.target||(e.target=n),t=null==t?[e]:S.makeArray(t,[e]),c=S.event.special[d]||{},r||!c.trigger||!1!==c.trigger.apply(n,t))){if(!r&&!c.noBubble&&!x(n)){for(s=c.delegateType||d,bt.test(s+d)||(o=o.parentNode);o;o=o.parentNode)p.push(o),a=o;a===(n.ownerDocument||E)&&p.push(a.defaultView||a.parentWindow||C)}i=0;while((o=p[i++])&&!e.isPropagationStopped())f=o,e.type=1<i?s:c.bindType||d,(l=(Y.get(o,"events")||Object.create(null))[e.type]&&Y.get(o,"handle"))&&l.apply(o,t),(l=u&&o[u])&&l.apply&&V(o)&&(e.result=l.apply(o,t),!1===e.result&&e.preventDefault());return e.type=d,r||e.isDefaultPrevented()||c._default&&!1!==c._default.apply(p.pop(),t)||!V(n)||u&&m(n[d])&&!x(n)&&((a=n[u])&&(n[u]=null),S.event.triggered=d,e.isPropagationStopped()&&f.addEventListener(d,wt),n[d](),e.isPropagationStopped()&&f.removeEventListener(d,wt),S.event.triggered=void 0,a&&(n[u]=a)),e.result}},simulate:function(e,t,n){var r=S.extend(new S.Event,n,{type:e,isSimulated:!0});S.event.trigger(r,null,t)}}),S.fn.extend({trigger:function(e,t){return this.each(function(){S.event.trigger(e,t,this)})},triggerHandler:function(e,t){var n=this[0];if(n)return S.event.trigger(e,t,n,!0)}}),v.focusin||S.each({focus:"focusin",blur:"focusout"},function(n,r){var i=function(e){S.event.simulate(r,e.target,S.event.fix(e))};S.event.special[r]={setup:function(){var e=this.ownerDocument||this.document||this,t=Y.access(e,r);t||e.addEventListener(n,i,!0),Y.access(e,r,(t||0)+1)},teardown:function(){var e=this.ownerDocument||this.document||this,t=Y.access(e,r)-1;t?Y.access(e,r,t):(e.removeEventListener(n,i,!0),Y.remove(e,r))}}});var Tt=C.location,Ct={guid:Date.now()},Et=/\?/;S.parseXML=function(e){var t,n;if(!e||"string"!=typeof e)return null;try{t=(new C.DOMParser).parseFromString(e,"text/xml")}catch(e){}return n=t&&t.getElementsByTagName("parsererror")[0],t&&!n||S.error("Invalid XML: "+(n?S.map(n.childNodes,function(e){return e.textContent}).join("\n"):e)),t};var St=/\[\]$/,kt=/\r?\n/g,At=/^(?:submit|button|image|reset|file)$/i,Nt=/^(?:input|select|textarea|keygen)/i;function jt(n,e,r,i){var t;if(Array.isArray(e))S.each(e,function(e,t){r||St.test(n)?i(n,t):jt(n+"["+("object"==typeof t&&null!=t?e:"")+"]",t,r,i)});else if(r||"object"!==w(e))i(n,e);else for(t in e)jt(n+"["+t+"]",e[t],r,i)}S.param=function(e,t){var n,r=[],i=function(e,t){var n=m(t)?t():t;r[r.length]=encodeURIComponent(e)+"="+encodeURIComponent(null==n?"":n)};if(null==e)return"";if(Array.isArray(e)||e.jquery&&!S.isPlainObject(e))S.each(e,function(){i(this.name,this.value)});else for(n in e)jt(n,e[n],t,i);return r.join("&")},S.fn.extend({serialize:function(){return S.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=S.prop(this,"elements");return e?S.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!S(this).is(":disabled")&&Nt.test(this.nodeName)&&!At.test(e)&&(this.checked||!pe.test(e))}).map(function(e,t){var n=S(this).val();return null==n?null:Array.isArray(n)?S.map(n,function(e){return{name:t.name,value:e.replace(kt,"\r\n")}}):{name:t.name,value:n.replace(kt,"\r\n")}}).get()}});var Dt=/%20/g,qt=/#.*$/,Lt=/([?&])_=[^&]*/,Ht=/^(.*?):[ \t]*([^\r\n]*)$/gm,Ot=/^(?:GET|HEAD)$/,Pt=/^\/\//,Rt={},Mt={},It="*/".concat("*"),Wt=E.createElement("a");function Ft(o){return function(e,t){"string"!=typeof e&&(t=e,e="*");var n,r=0,i=e.toLowerCase().match(P)||[];if(m(t))while(n=i[r++])"+"===n[0]?(n=n.slice(1)||"*",(o[n]=o[n]||[]).unshift(t)):(o[n]=o[n]||[]).push(t)}}function $t(t,i,o,a){var s={},u=t===Mt;function l(e){var r;return s[e]=!0,S.each(t[e]||[],function(e,t){var n=t(i,o,a);return"string"!=typeof n||u||s[n]?u?!(r=n):void 0:(i.dataTypes.unshift(n),l(n),!1)}),r}return l(i.dataTypes[0])||!s["*"]&&l("*")}function Bt(e,t){var n,r,i=S.ajaxSettings.flatOptions||{};for(n in t)void 0!==t[n]&&((i[n]?e:r||(r={}))[n]=t[n]);return r&&S.extend(!0,e,r),e}Wt.href=Tt.href,S.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:Tt.href,type:"GET",isLocal:/^(?:about|app|app-storage|.+-extension|file|res|widget):$/.test(Tt.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":It,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":S.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?Bt(Bt(e,S.ajaxSettings),t):Bt(S.ajaxSettings,e)},ajaxPrefilter:Ft(Rt),ajaxTransport:Ft(Mt),ajax:function(e,t){"object"==typeof e&&(t=e,e=void 0),t=t||{};var c,f,p,n,d,r,h,g,i,o,y=S.ajaxSetup({},t),v=y.context||y,m=y.context&&(v.nodeType||v.jquery)?S(v):S.event,x=S.Deferred(),b=S.Callbacks("once memory"),w=y.statusCode||{},a={},s={},u="canceled",T={readyState:0,getResponseHeader:function(e){var t;if(h){if(!n){n={};while(t=Ht.exec(p))n[t[1].toLowerCase()+" "]=(n[t[1].toLowerCase()+" "]||[]).concat(t[2])}t=n[e.toLowerCase()+" "]}return null==t?null:t.join(", ")},getAllResponseHeaders:function(){return h?p:null},setRequestHeader:function(e,t){return null==h&&(e=s[e.toLowerCase()]=s[e.toLowerCase()]||e,a[e]=t),this},overrideMimeType:function(e){return null==h&&(y.mimeType=e),this},statusCode:function(e){var t;if(e)if(h)T.always(e[T.status]);else for(t in e)w[t]=[w[t],e[t]];return this},abort:function(e){var t=e||u;return c&&c.abort(t),l(0,t),this}};if(x.promise(T),y.url=((e||y.url||Tt.href)+"").replace(Pt,Tt.protocol+"//"),y.type=t.method||t.type||y.method||y.type,y.dataTypes=(y.dataType||"*").toLowerCase().match(P)||[""],null==y.crossDomain){r=E.createElement("a");try{r.href=y.url,r.href=r.href,y.crossDomain=Wt.protocol+"//"+Wt.host!=r.protocol+"//"+r.host}catch(e){y.crossDomain=!0}}if(y.data&&y.processData&&"string"!=typeof y.data&&(y.data=S.param(y.data,y.traditional)),$t(Rt,y,t,T),h)return T;for(i in(g=S.event&&y.global)&&0==S.active++&&S.event.trigger("ajaxStart"),y.type=y.type.toUpperCase(),y.hasContent=!Ot.test(y.type),f=y.url.replace(qt,""),y.hasContent?y.data&&y.processData&&0===(y.contentType||"").indexOf("application/x-www-form-urlencoded")&&(y.data=y.data.replace(Dt,"+")):(o=y.url.slice(f.length),y.data&&(y.processData||"string"==typeof y.data)&&(f+=(Et.test(f)?"&":"?")+y.data,delete y.data),!1===y.cache&&(f=f.replace(Lt,"$1"),o=(Et.test(f)?"&":"?")+"_="+Ct.guid+++o),y.url=f+o),y.ifModified&&(S.lastModified[f]&&T.setRequestHeader("If-Modified-Since",S.lastModified[f]),S.etag[f]&&T.setRequestHeader("If-None-Match",S.etag[f])),(y.data&&y.hasContent&&!1!==y.contentType||t.contentType)&&T.setRequestHeader("Content-Type",y.contentType),T.setRequestHeader("Accept",y.dataTypes[0]&&y.accepts[y.dataTypes[0]]?y.accepts[y.dataTypes[0]]+("*"!==y.dataTypes[0]?", "+It+"; q=0.01":""):y.accepts["*"]),y.headers)T.setRequestHeader(i,y.headers[i]);if(y.beforeSend&&(!1===y.beforeSend.call(v,T,y)||h))return T.abort();if(u="abort",b.add(y.complete),T.done(y.success),T.fail(y.error),c=$t(Mt,y,t,T)){if(T.readyState=1,g&&m.trigger("ajaxSend",[T,y]),h)return T;y.async&&0<y.timeout&&(d=C.setTimeout(function(){T.abort("timeout")},y.timeout));try{h=!1,c.send(a,l)}catch(e){if(h)throw e;l(-1,e)}}else l(-1,"No Transport");function l(e,t,n,r){var i,o,a,s,u,l=t;h||(h=!0,d&&C.clearTimeout(d),c=void 0,p=r||"",T.readyState=0<e?4:0,i=200<=e&&e<300||304===e,n&&(s=function(e,t,n){var r,i,o,a,s=e.contents,u=e.dataTypes;while("*"===u[0])u.shift(),void 0===r&&(r=e.mimeType||t.getResponseHeader("Content-Type"));if(r)for(i in s)if(s[i]&&s[i].test(r)){u.unshift(i);break}if(u[0]in n)o=u[0];else{for(i in n){if(!u[0]||e.converters[i+" "+u[0]]){o=i;break}a||(a=i)}o=o||a}if(o)return o!==u[0]&&u.unshift(o),n[o]}(y,T,n)),!i&&-1<S.inArray("script",y.dataTypes)&&S.inArray("json",y.dataTypes)<0&&(y.converters["text script"]=function(){}),s=function(e,t,n,r){var i,o,a,s,u,l={},c=e.dataTypes.slice();if(c[1])for(a in e.converters)l[a.toLowerCase()]=e.converters[a];o=c.shift();while(o)if(e.responseFields[o]&&(n[e.responseFields[o]]=t),!u&&r&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),u=o,o=c.shift())if("*"===o)o=u;else if("*"!==u&&u!==o){if(!(a=l[u+" "+o]||l["* "+o]))for(i in l)if((s=i.split(" "))[1]===o&&(a=l[u+" "+s[0]]||l["* "+s[0]])){!0===a?a=l[i]:!0!==l[i]&&(o=s[0],c.unshift(s[1]));break}if(!0!==a)if(a&&e["throws"])t=a(t);else try{t=a(t)}catch(e){return{state:"parsererror",error:a?e:"No conversion from "+u+" to "+o}}}return{state:"success",data:t}}(y,s,T,i),i?(y.ifModified&&((u=T.getResponseHeader("Last-Modified"))&&(S.lastModified[f]=u),(u=T.getResponseHeader("etag"))&&(S.etag[f]=u)),204===e||"HEAD"===y.type?l="nocontent":304===e?l="notmodified":(l=s.state,o=s.data,i=!(a=s.error))):(a=l,!e&&l||(l="error",e<0&&(e=0))),T.status=e,T.statusText=(t||l)+"",i?x.resolveWith(v,[o,l,T]):x.rejectWith(v,[T,l,a]),T.statusCode(w),w=void 0,g&&m.trigger(i?"ajaxSuccess":"ajaxError",[T,y,i?o:a]),b.fireWith(v,[T,l]),g&&(m.trigger("ajaxComplete",[T,y]),--S.active||S.event.trigger("ajaxStop")))}return T},getJSON:function(e,t,n){return S.get(e,t,n,"json")},getScript:function(e,t){return S.get(e,void 0,t,"script")}}),S.each(["get","post"],function(e,i){S[i]=function(e,t,n,r){return m(t)&&(r=r||n,n=t,t=void 0),S.ajax(S.extend({url:e,type:i,dataType:r,data:t,success:n},S.isPlainObject(e)&&e))}}),S.ajaxPrefilter(function(e){var t;for(t in e.headers)"content-type"===t.toLowerCase()&&(e.contentType=e.headers[t]||"")}),S._evalUrl=function(e,t,n){return S.ajax({url:e,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,converters:{"text script":function(){}},dataFilter:function(e){S.globalEval(e,t,n)}})},S.fn.extend({wrapAll:function(e){var t;return this[0]&&(m(e)&&(e=e.call(this[0])),t=S(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){var e=this;while(e.firstElementChild)e=e.firstElementChild;return e}).append(this)),this},wrapInner:function(n){return m(n)?this.each(function(e){S(this).wrapInner(n.call(this,e))}):this.each(function(){var e=S(this),t=e.contents();t.length?t.wrapAll(n):e.append(n)})},wrap:function(t){var n=m(t);return this.each(function(e){S(this).wrapAll(n?t.call(this,e):t)})},unwrap:function(e){return this.parent(e).not("body").each(function(){S(this).replaceWith(this.childNodes)}),this}}),S.expr.pseudos.hidden=function(e){return!S.expr.pseudos.visible(e)},S.expr.pseudos.visible=function(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)},S.ajaxSettings.xhr=function(){try{return new C.XMLHttpRequest}catch(e){}};var _t={0:200,1223:204},zt=S.ajaxSettings.xhr();v.cors=!!zt&&"withCredentials"in zt,v.ajax=zt=!!zt,S.ajaxTransport(function(i){var o,a;if(v.cors||zt&&!i.crossDomain)return{send:function(e,t){var n,r=i.xhr();if(r.open(i.type,i.url,i.async,i.username,i.password),i.xhrFields)for(n in i.xhrFields)r[n]=i.xhrFields[n];for(n in i.mimeType&&r.overrideMimeType&&r.overrideMimeType(i.mimeType),i.crossDomain||e["X-Requested-With"]||(e["X-Requested-With"]="XMLHttpRequest"),e)r.setRequestHeader(n,e[n]);o=function(e){return function(){o&&(o=a=r.onload=r.onerror=r.onabort=r.ontimeout=r.onreadystatechange=null,"abort"===e?r.abort():"error"===e?"number"!=typeof r.status?t(0,"error"):t(r.status,r.statusText):t(_t[r.status]||r.status,r.statusText,"text"!==(r.responseType||"text")||"string"!=typeof r.responseText?{binary:r.response}:{text:r.responseText},r.getAllResponseHeaders()))}},r.onload=o(),a=r.onerror=r.ontimeout=o("error"),void 0!==r.onabort?r.onabort=a:r.onreadystatechange=function(){4===r.readyState&&C.setTimeout(function(){o&&a()})},o=o("abort");try{r.send(i.hasContent&&i.data||null)}catch(e){if(o)throw e}},abort:function(){o&&o()}}}),S.ajaxPrefilter(function(e){e.crossDomain&&(e.contents.script=!1)}),S.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(e){return S.globalEval(e),e}}}),S.ajaxPrefilter("script",function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type="GET")}),S.ajaxTransport("script",function(n){var r,i;if(n.crossDomain||n.scriptAttrs)return{send:function(e,t){r=S("<script>").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 Ut,Xt=[],Vt=/(=)\?(?=&|$)|\?\?/;S.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Xt.pop()||S.expando+"_"+Ct.guid++;return this[e]=!0,e}}),S.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Vt.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Vt.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(Vt,"$1"+r):!1!==e.jsonp&&(e.url+=(Et.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||S.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?S(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,Xt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),v.createHTMLDocument=((Ut=E.implementation.createHTMLDocument("").body).innerHTML="<form></form><form></form>",2===Ut.childNodes.length),S.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(v.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument("")).createElement("base")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i=N.exec(e))?[t.createElement(i[1])]:(i=xe([e],t,o),o&&o.length&&S(o).remove(),S.merge([],i.childNodes)));var r,i,o},S.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1<s&&(r=yt(e.slice(s)),e=e.slice(0,s)),m(t)?(n=t,t=void 0):t&&"object"==typeof t&&(i="POST"),0<a.length&&S.ajax({url:e,type:i||"GET",dataType:"html",data:t}).done(function(e){o=arguments,a.html(r?S("<div>").append(S.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},S.expr.pseudos.animated=function(t){return S.grep(S.timers,function(e){return t===e.elem}).length},S.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=S.css(e,"position"),c=S(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=S.css(e,"top"),u=S.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,S.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)}},S.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){S.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"===S.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"===S.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=S(e).offset()).top+=S.css(e,"borderTopWidth",!0),i.left+=S.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-S.css(r,"marginTop",!0),left:t.left-i.left-S.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===S.css(e,"position"))e=e.offsetParent;return e||re})}}),S.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;S.fn[t]=function(e){return B(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)}}),S.each(["top","left"],function(e,n){S.cssHooks[n]=_e(v.pixelPosition,function(e,t){if(t)return t=Be(e,n),Pe.test(t)?S(e).position()[n]+"px":t})}),S.each({Height:"height",Width:"width"},function(a,s){S.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){S.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return B(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?S.css(e,t,i):S.style(e,t,n,i)},s,n?e:void 0,n)}})}),S.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){S.fn[t]=function(e){return this.on(t,e)}}),S.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),S.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){S.fn[n]=function(e,t){return 0<arguments.length?this.on(n,null,e,t):this.trigger(n)}});var Gt=/^[\s\uFEFF\xA0]+|([^\s\uFEFF\xA0])[\s\uFEFF\xA0]+$/g;S.proxy=function(e,t){var n,r,i;if("string"==typeof t&&(n=e[t],t=e,e=n),m(e))return r=s.call(arguments,2),(i=function(){return e.apply(t||this,r.concat(s.call(arguments)))}).guid=e.guid=e.guid||S.guid++,i},S.holdReady=function(e){e?S.readyWait++:S.ready(!0)},S.isArray=Array.isArray,S.parseJSON=JSON.parse,S.nodeName=A,S.isFunction=m,S.isWindow=x,S.camelCase=X,S.type=w,S.now=Date.now,S.isNumeric=function(e){var t=S.type(e);return("number"===t||"string"===t)&&!isNaN(e-parseFloat(e))},S.trim=function(e){return null==e?"":(e+"").replace(Gt,"$1")},"function"==typeof define&&define.amd&&define("jquery",[],function(){return S});var Yt=C.jQuery,Qt=C.$;return S.noConflict=function(e){return C.$===S&&(C.$=Qt),e&&C.jQuery===S&&(C.jQuery=Yt),S},"undefined"==typeof e&&(C.jQuery=C.$=S),S});
3/** 4 * BxSlider v4.1.2 - Fully loaded, responsive content slider 5 * http://bxslider.com 6 * 7 * Copyright 2014, Steven Wanderski - http://stevenwanderski.com - http://bxcreative.com 8 * Written while drinking Belgian ales and listening to jazz 9 * 10 * Released under the MIT license - http://opensource.org/licenses/MIT 11 */ 12 13;(function($){ 14 15 var plugin = {}; 16 17 var defaults = { 18 19 // GENERAL 20 mode: 'horizontal', 21 slideSelector: '', 22 infiniteLoop: true, 23 hideControlOnEnd: false, 24 speed: 500, 25 easing: null, 26 slideMargin: 0, 27 startSlide: 0, 28 randomStart: false, 29 captions: false, 30 ticker: false, 31 tickerHover: false, 32 adaptiveHeight: false, 33 adaptiveHeightSpeed: 500, 34 video: false, 35 useCSS: true, 36 preloadImages: 'visible', 37 responsive: true, 38 slideZIndex: 50, 39 wrapperClass: 'bx-wrapper', 40 41 // TOUCH 42 touchEnabled: true, 43 swipeThreshold: 50, 44 oneToOneTouch: true, 45 preventDefaultSwipeX: true, 46 preventDefaultSwipeY: false, 47 48 // PAGER 49 pager: true, 50 pagerType: 'full', 51 pagerShortSeparator: ' / ', 52 pagerSelector: null, 53 buildPager: null, 54 pagerCustom: null, 55 56 // CONTROLS 57 controls: true, 58 nextText: 'Next', 59 prevText: 'Prev', 60 nextSelector: null, 61 prevSelector: null, 62 autoControls: false, 63 startText: 'Start', 64 stopText: 'Stop', 65 autoControlsCombine: false, 66 autoControlsSelector: null, 67 68 // AUTO 69 auto: false, 70 pause: 4000, 71 autoStart: true, 72 autoDirection: 'next', 73 autoHover: false, 74 autoDelay: 0, 75 autoSlideForOnePage: false, 76 77 // CAROUSEL 78 minSlides: 1, 79 maxSlides: 1, 80 moveSlides: 0, 81 slideWidth: 0, 82 83 // CALLBACKS 84 onSliderLoad: function() {}, 85 onSlideBefore: function() {}, 86 onSlideAfter: function() {}, 87 onSlideNext: function() {}, 88 onSlidePrev: function() {}, 89 onSliderResize: function() {} 90 } 91 92 $.fn.bxSlider = function(options){ 93 94 if(this.length == 0) return this; 95 96 // support mutltiple elements 97 if(this.length > 1){ 98 this.each(function(){$(this).bxSlider(options)}); 99 return this; 100 } 101 102 // create a namespace to be used throughout the plugin 103 var slider = {}; 104 // set a reference to our slider element 105 var el = this; 106 plugin.el = this; 107 108 /** 109 * Makes slideshow responsive 110 */ 111 // first get the original window dimens (thanks alot IE) 112 var windowWidth = $(window).width(); 113 var windowHeight = $(window).height(); 114 115 116 117 /** 118 * =================================================================================== 119 * = PRIVATE FUNCTIONS 120 * =================================================================================== 121 */ 122 123 /** 124 * Initializes namespace settings to be used throughout plugin 125 */ 126 var init = function(){ 127 // merge user-supplied options with the defaults 128 slider.settings = $.extend({}, defaults, options); 129 // parse slideWidth setting 130 slider.settings.slideWidth = parseInt(slider.settings.slideWidth); 131 // store the original children 132 slider.children = el.children(slider.settings.slideSelector); 133 // check if actual number of slides is less than minSlides / maxSlides 134 if(slider.children.length < slider.settings.minSlides) slider.settings.minSlides = slider.children.length; 135 if(slider.children.length < slider.settings.maxSlides) slider.settings.maxSlides = slider.children.length; 136 // if random start, set the startSlide setting to random number 137 if(slider.settings.randomStart) slider.settings.startSlide = Math.floor(Math.random() * slider.children.length); 138 // store active slide information 139 slider.active = { index: slider.settings.startSlide } 140 // store if the slider is in carousel mode (displaying / moving multiple slides) 141 slider.carousel = slider.settings.minSlides > 1 || slider.settings.maxSlides > 1; 142 // if carousel, force preloadImages = 'all' 143 if(slider.carousel) slider.settings.preloadImages = 'all'; 144 // calculate the min / max width thresholds based on min / max number of slides 145 // used to setup and update carousel slides dimensions 146 slider.minThreshold = (slider.settings.minSlides * slider.settings.slideWidth) + ((slider.settings.minSlides - 1) * slider.settings.slideMargin); 147 slider.maxThreshold = (slider.settings.maxSlides * slider.settings.slideWidth) + ((slider.settings.maxSlides - 1) * slider.settings.slideMargin); 148 // store the current state of the slider (if currently animating, working is true) 149 slider.working = false;
150 // initialize the controls object 151 slider.controls = {}; 152 // initialize an auto interval 153 slider.interval = null; 154 // determine which property to use for transitions 155 slider.animProp = slider.settings.mode == 'vertical' ? 'top' : 'left'; 156 // determine if hardware acceleration can be used 157 slider.usingCSS = slider.settings.useCSS && slider.settings.mode != 'fade' && (function(){ 158 // create our test div element 159 var div = document.createElement('div'); 160 // css transition properties 161 var props = ['WebkitPerspective', 'MozPerspective', 'OPerspective', 'msPerspective']; 162 // test for each property 163 for(var i in props){ 164 if(div.style[props[i]] !== undefined){ 165 slider.cssPrefix = props[i].replace('Perspective', '').toLowerCase(); 166 slider.animProp = '-' + slider.cssPrefix + '-transform'; 167 return true; 168 } 169 } 170 return false; 171 }()); 172 // if vertical mode always make maxSlides and minSlides equal 173 if(slider.settings.mode == 'vertical') slider.settings.maxSlides = slider.settings.minSlides; 174 // save original style data 175 el.data("origStyle", el.attr("style")); 176 el.children(slider.settings.slideSelector).each(function() { 177 $(this).data("origStyle", $(this).attr("style")); 178 }); 179 // perform all DOM / CSS modifications 180 setup(); 181 } 182 183 /** 184 * Performs all DOM and CSS modifications 185 */ 186 var setup = function(){ 187 // wrap el in a wrapper 188 el.wrap('<div class="' + slider.settings.wrapperClass + '"><div class="bx-viewport"></div></div>'); 189 // store a namspace reference to .bx-viewport 190 slider.viewport = el.parent(); 191 // add a loading div to display while images are loading 192 slider.loader = $('<div class="bx-loading" />'); 193 slider.viewport.prepend(slider.loader); 194 // set el to a massive width, to hold any needed slides 195 // also strip any margin and padding from el 196 el.css({ 197 width: slider.settings.mode == 'horizontal' ? (slider.children.length * 100 + 215) + '%' : 'auto', 198 position: 'relative' 199 }); 200 // if using CSS, add the easing property 201 if(slider.usingCSS && slider.settings.easing){ 202 el.css('-' + slider.cssPrefix + '-transition-timing-function', slider.settings.easing); 203 // if not using CSS and no easing value was supplied, use the default JS animation easing (swing) 204 }else if(!slider.settings.easing){ 205 slider.settings.easing = 'swing'; 206 } 207 var slidesShowing = getNumberSlidesShowing(); 208 // make modifications to the viewport (.bx-viewport) 209 slider.viewport.css({ 210 width: '100%', 211 overflow: 'hidden', 212 position: 'relative' 213 }); 214 slider.viewport.parent().css({ 215 maxWidth: getViewportMaxWidth() 216 }); 217 // make modification to the wrapper (.bx-wrapper) 218 if(!slider.settings.pager) { 219 slider.viewport.parent().css({ 220 margin: '0 auto 0px' 221 }); 222 } 223 // apply css to all slider children 224 slider.children.css({ 225 'float': slider.settings.mode == 'horizontal' ? 'left' : 'none', 226 listStyle: 'none', 227 position: 'relative' 228 }); 229 // apply the calculated width after the float is applied to prevent scrollbar interference 230 slider.children.css('width', getSlideWidth()); 231 // if slideMargin is supplied, add the css 232 if(slider.settings.mode == 'horizontal' && slider.settings.slideMargin > 0) slider.children.css('marginRight', slider.settings.slideMargin); 233 if(slider.settings.mode == 'vertical' && slider.settings.slideMargin > 0) slider.children.css('marginBottom', slider.settings.slideMargin); 234 // if "fade" mode, add positioning and z-index CSS 235 if(slider.settings.mode == 'fade'){ 236 slider.children.css({ 237 position: 'absolute', 238 zIndex: 0, 239 display: 'none' 240 }); 241 // prepare the z-index on the showing element 242 slider.children.eq(slider.settings.startSlide).css({zIndex: slider.settings.slideZIndex, display: 'block'}); 243 } 244 // create an element to contain all slider controls (pager, start / stop, etc) 245 slider.controls.el = $('<div class="bx-controls" />'); 246 // if captions are requested, add them 247 if(slider.settings.captions) appendCaptions(); 248 // check if startSlide is last slide 249 slider.active.last = slider.settings.startSlide == getPagerQty() - 1; 250 // if video is true, set up the fitVids plugin 251 if(slider.settings.video) el.fitVids(); 252 // set the default preload selector (visible) 253 var preloadSelector = slider.children.eq(slider.settings.startSlide); 254 if (slider.settings.preloadImages == "all") preloadSelector = slider.children;
255 // only check for control addition if not in "ticker" mode 256 if(!slider.settings.ticker){ 257 // if pager is requested, add it 258 if(slider.settings.pager) appendPager(); 259 // if controls are requested, add them 260 if(slider.settings.controls) appendControls(); 261 // if auto is true, and auto controls are requested, add them 262 if(slider.settings.auto && slider.settings.autoControls) appendControlsAuto(); 263 // if any control option is requested, add the controls wrapper 264 if(slider.settings.controls || slider.settings.autoControls || slider.settings.pager) slider.viewport.after(slider.controls.el); 265 // if ticker mode, do not allow a pager 266 }else{ 267 slider.settings.pager = false; 268 } 269 // preload all images, then perform final DOM / CSS modifications that depend on images being loaded 270 loadElements(preloadSelector, start); 271 } 272 273 var loadElements = function(selector, callback){ 274 var total = selector.find('img, iframe').length; 275 if (total == 0){ 276 callback(); 277 return; 278 } 279 var count = 0; 280 selector.find('img, iframe').each(function(){ 281 $(this).one('load', function() { 282 if(++count == total) callback(); 283 }).each(function () { 284 if(this.complete) $(this).trigger("load"); 285 // if(this.complete) $(this).load(); 286 }); 287 }); 288 } 289 290 /** 291 * Start the slider 292 */ 293 var start = function(){ 294 // if infinite loop, prepare additional slides 295 if(slider.settings.infiniteLoop && slider.settings.mode != 'fade' && !slider.settings.ticker){ 296 var slice = slider.settings.mode == 'vertical' ? slider.settings.minSlides : slider.settings.maxSlides; 297 var sliceAppend = slider.children.slice(0, slice).clone().addClass('bx-clone'); 298 var slicePrepend = slider.children.slice(-slice).clone().addClass('bx-clone'); 299 el.append(sliceAppend).prepend(slicePrepend); 300 } 301 // remove the loading DOM element 302 slider.loader.remove(); 303 // set the left / top position of "el" 304 setSlidePosition(); 305 // if "vertical" mode, always use adaptiveHeight to prevent odd behavior 306 if (slider.settings.mode == 'vertical') slider.settings.adaptiveHeight = true; 307 // set the viewport height 308 slider.viewport.height(getViewportHeight()); 309 // make sure everything is positioned just right (same as a window resize) 310 el.redrawSlider(); 311 // onSliderLoad callback 312 slider.settings.onSliderLoad(slider.active.index); 313 // slider has been fully initialized 314 slider.initialized = true;
315 // bind the resize call to the window 316 if (slider.settings.responsive) $(window).bind('resize', resizeWindow); 317 // if auto is true and has more than 1 page, start the show 318 if (slider.settings.auto && slider.settings.autoStart && (getPagerQty() > 1 || slider.settings.autoSlideForOnePage)) initAuto(); 319 // if ticker is true, start the ticker 320 if (slider.settings.ticker) initTicker(); 321 // if pager is requested, make the appropriate pager link active 322 if (slider.settings.pager) updatePagerActive(slider.settings.startSlide); 323 // check for any updates to the controls (like hideControlOnEnd updates) 324 if (slider.settings.controls) updateDirectionControls(); 325 // if touchEnabled is true, setup the touch events 326 if (slider.settings.touchEnabled && !slider.settings.ticker) initTouch(); 327 } 328 329 /** 330 * Returns the calculated height of the viewport, used to determine either adaptiveHeight or the maxHeight value 331 */ 332 var getViewportHeight = function(){ 333 var height = 0; 334 // first determine which children (slides) should be used in our height calculation 335 var children = $(); 336 // if mode is not "vertical" and adaptiveHeight is false, include all children 337 if(slider.settings.mode != 'vertical' && !slider.settings.adaptiveHeight){ 338 children = slider.children; 339 }else{ 340 // if not carousel, return the single active child 341 if(!slider.carousel){ 342 children = slider.children.eq(slider.active.index); 343 // if carousel, return a slice of children 344 }else{ 345 // get the individual slide index 346 var currentIndex = slider.settings.moveSlides == 1 ? slider.active.index : slider.active.index * getMoveBy(); 347 // add the current slide to the children 348 children = slider.children.eq(currentIndex); 349 // cycle through the remaining "showing" slides 350 for (i = 1; i <= slider.settings.maxSlides - 1; i++){ 351 // if looped back to the start 352 if(currentIndex + i >= slider.children.length){ 353 children = children.add(slider.children.eq(i - 1)); 354 }else{ 355 children = children.add(slider.children.eq(currentIndex + i)); 356 } 357 } 358 } 359 } 360 // if "vertical" mode, calculate the sum of the heights of the children 361 if(slider.settings.mode == 'vertical'){ 362 children.each(function(index) { 363 height += $(this).outerHeight(); 364 }); 365 // add user-supplied margins 366 if(slider.settings.slideMargin > 0){ 367 height += slider.settings.slideMargin * (slider.settings.minSlides - 1); 368 } 369 // if not "vertical" mode, calculate the max height of the children 370 }else{ 371 height = Math.max.apply(Math, children.map(function(){ 372 return $(this).outerHeight(false); 373 }).get()); 374 } 375 376 if(slider.viewport.css('box-sizing') == 'border-box'){ 377 height += parseFloat(slider.viewport.css('padding-top')) + parseFloat(slider.viewport.css('padding-bottom')) + 378 parseFloat(slider.viewport.css('border-top-width')) + parseFloat(slider.viewport.css('border-bottom-width')); 379 }else if(slider.viewport.css('box-sizing') == 'padding-box'){ 380 height += parseFloat(slider.viewport.css('padding-top')) + parseFloat(slider.viewport.css('padding-bottom')); 381 } 382 383 return height; 384 } 385 386 /** 387 * Returns the calculated width to be used for the outer wrapper / viewport 388 */ 389 var getViewportMaxWidth = function(){ 390 var width = '100%'; 391 if(slider.settings.slideWidth > 0){ 392 if(slider.settings.mode == 'horizontal'){ 393 width = (slider.settings.maxSlides * slider.settings.slideWidth) + ((slider.settings.maxSlides - 1) * slider.settings.slideMargin); 394 }else{ 395 width = slider.settings.slideWidth; 396 } 397 } 398 return width; 399 } 400 401 /** 402 * Returns the calculated width to be applied to each slide 403 */ 404 var getSlideWidth = function(){ 405 // start with any user-supplied slide width 406 var newElWidth = slider.settings.slideWidth; 407 // get the current viewport width 408 var wrapWidth = slider.viewport.width(); 409 // if slide width was not supplied, or is larger than the viewport use the viewport width 410 if(slider.settings.slideWidth == 0 || 411 (slider.settings.slideWidth > wrapWidth && !slider.carousel) || 412 slider.settings.mode == 'vertical'){ 413 newElWidth = wrapWidth; 414 // if carousel, use the thresholds to determine the width 415 }else if(slider.settings.maxSlides > 1 && slider.settings.mode == 'horizontal'){ 416 if(wrapWidth > slider.maxThreshold){ 417 // newElWidth = (wrapWidth - (slider.settings.slideMargin * (slider.settings.maxSlides - 1))) / slider.settings.maxSlides; 418 }else if(wrapWidth < slider.minThreshold){ 419 newElWidth = (wrapWidth - (slider.settings.slideMargin * (slider.settings.minSlides - 1))) / slider.settings.minSlides; 420 } 421 } 422 return newElWidth; 423 } 424 425 /** 426 * Returns the number of slides currently visible in the viewport (includes partially visible slides) 427 */ 428 var getNumberSlidesShowing = function(){ 429 var slidesShowing = 1; 430 if(slider.settings.mode == 'horizontal' && slider.settings.slideWidth > 0){ 431 // if viewport is smaller than minThreshold, return minSlides 432 if(slider.viewport.width() < slider.minThreshold){ 433 slidesShowing = slider.settings.minSlides; 434 // if viewport is larger than minThreshold, return maxSlides 435 }else if(slider.viewport.width() > slider.maxThreshold){ 436 slidesShowing = slider.settings.maxSlides; 437 // if viewport is between min / max thresholds, divide viewport width by first child width 438 }else{ 439 var childWidth = slider.children.first().width() + slider.settings.slideMargin; 440 slidesShowing = Math.floor((slider.viewport.width() + 441 slider.settings.slideMargin) / childWidth); 442 } 443 // if "vertical" mode, slides showing will always be minSlides 444 }else if(slider.settings.mode == 'vertical'){ 445 slidesShowing = slider.settings.minSlides; 446 } 447 return slidesShowing; 448 } 449 450 /** 451 * Returns the number of pages (one full viewport of slides is one "page") 452 */ 453 var getPagerQty = function(){ 454 var pagerQty = 0; 455 // if moveSlides is specified by the user 456 if(slider.settings.moveSlides > 0){ 457 if(slider.settings.infiniteLoop){ 458 pagerQty = Math.ceil(slider.children.length / getMoveBy()); 459 }else{ 460 // use a while loop to determine pages 461 var breakPoint = 0; 462 var counter = 0 463 // when breakpoint goes above children length, counter is the number of pages 464 while (breakPoint < slider.children.length){ 465 ++pagerQty; 466 breakPoint = counter + getNumberSlidesShowing(); 467 counter += slider.settings.moveSlides <= getNumberSlidesShowing() ? slider.settings.moveSlides : getNumberSlidesShowing(); 468 } 469 }
470 // if moveSlides is 0 (auto) divide children length by sides showing, then round up 471 }else{ 472 pagerQty = Math.ceil(slider.children.length / getNumberSlidesShowing()); 473 } 474 return pagerQty; 475 } 476 477 /** 478 * Returns the number of indivual slides by which to shift the slider 479 */ 480 var getMoveBy = function(){ 481 // if moveSlides was set by the user and moveSlides is less than number of slides showing 482 if(slider.settings.moveSlides > 0 && slider.settings.moveSlides <= getNumberSlidesShowing()){ 483 return slider.settings.moveSlides; 484 } 485 // if moveSlides is 0 (auto) 486 return getNumberSlidesShowing(); 487 } 488 489 /** 490 * Sets the slider's (el) left or top position 491 */ 492 var setSlidePosition = function(){ 493 // if last slide, not infinite loop, and number of children is larger than specified maxSlides 494 if(slider.children.length > slider.settings.maxSlides && slider.active.last && !slider.settings.infiniteLoop){ 495 if (slider.settings.mode == 'horizontal'){ 496 // get the last child's position 497 var lastChild = slider.children.last(); 498 var position = lastChild.position(); 499 // set the left position 500 setPositionProperty(-(position.left - (slider.viewport.width() - lastChild.outerWidth())), 'reset', 0); 501 }else if(slider.settings.mode == 'vertical'){ 502 // get the last showing index's position 503 var lastShowingIndex = slider.children.length - slider.settings.minSlides; 504 var position = slider.children.eq(lastShowingIndex).position(); 505 // set the top position 506 setPositionProperty(-position.top, 'reset', 0); 507 } 508 // if not last slide 509 }else{ 510 // get the position of the first showing slide 511 var position = slider.children.eq(slider.active.index * getMoveBy()).position(); 512 // check for last slide 513 if (slider.active.index == getPagerQty() - 1) slider.active.last = true; 514 // set the repective position 515 if (position != undefined){ 516 if (slider.settings.mode == 'horizontal') setPositionProperty(-position.left, 'reset', 0); 517 else if (slider.settings.mode == 'vertical') setPositionProperty(-position.top, 'reset', 0); 518 } 519 } 520 } 521 522 /** 523 * Sets the el's animating property position (which in turn will sometimes animate el). 524 * If using CSS, sets the transform property. If not using CSS, sets the top / left property. 525 * 526 * @param value (int) 527 * - the animating property's value 528 * 529 * @param type (string) 'slider', 'reset', 'ticker' 530 * - the type of instance for which the function is being 531 * 532 * @param duration (int) 533 * - the amount of time (in ms) the transition should occupy 534 * 535 * @param params (array) optional 536 * - an optional parameter containing any variables that need to be passed in 537 */ 538 var setPositionProperty = function(value, type, duration, params){ 539 // use CSS transform 540 if(slider.usingCSS){ 541 // determine the translate3d value 542 var propValue = slider.settings.mode == 'vertical' ? 'translate3d(0, ' + value + 'px, 0)' : 'translate3d(' + value + 'px, 0, 0)'; 543 // add the CSS transition-duration 544 el.css('-' + slider.cssPrefix + '-transition-duration', duration / 1000 + 's'); 545 if(type == 'slide'){ 546 // set the property value 547 el.css(slider.animProp, propValue); 548 // bind a callback method - executes when CSS transition completes 549 el.bind('transitionend webkitTransitionEnd oTransitionEnd MSTransitionEnd', function(){ 550 // unbind the callback 551 el.unbind('transitionend webkitTransitionEnd oTransitionEnd MSTransitionEnd'); 552 updateAfterSlideTransition(); 553 }); 554 }else if(type == 'reset'){ 555 el.css(slider.animProp, propValue); 556 }else if(type == 'ticker'){ 557 // make the transition use 'linear' 558 el.css('-' + slider.cssPrefix + '-transition-timing-function', 'linear'); 559 el.css(slider.animProp, propValue); 560 // bind a callback method - executes when CSS transition completes 561 el.bind('transitionend webkitTransitionEnd oTransitionEnd MSTransitionEnd', function(){ 562 // unbind the callback 563 el.unbind('transitionend webkitTransitionEnd oTransitionEnd MSTransitionEnd'); 564 // reset the position 565 setPositionProperty(params['resetValue'], 'reset', 0); 566 // start the loop again 567 tickerLoop(); 568 }); 569 } 570 // use JS animate 571 }else{ 572 var animateObj = {}; 573 animateObj[slider.animProp] = value; 574 if(type == 'slide'){ 575 el.animate(animateObj, duration, slider.settings.easing, function(){ 576 updateAfterSlideTransition(); 577 }); 578 }else if(type == 'reset'){ 579 el.css(slider.animProp, value) 580 }else if(type == 'ticker'){ 581 el.animate(animateObj, speed, 'linear', function(){ 582 setPositionProperty(params['resetValue'], 'reset', 0); 583 // run the recursive loop after animation 584 tickerLoop(); 585 }); 586 } 587 } 588 } 589 590 /** 591 * Populates the pager with proper amount of pages 592 */ 593 var populatePager = function(){ 594 var pagerHtml = ''; 595 var pagerQty = getPagerQty(); 596 // loop through each pager item 597 for(var i=0; i < pagerQty; i++){ 598 var linkContent = ''; 599 // if a buildPager function is supplied, use it to get pager link value, else use index + 1 600 if(slider.settings.buildPager && $.isFunction(slider.settings.buildPager)){ 601 linkContent = slider.settings.buildPager(i); 602 slider.pagerEl.addClass('bx-custom-pager'); 603 }else{ 604 linkContent = i + 1; 605 slider.pagerEl.addClass('bx-default-pager'); 606 } 607 // var linkContent = slider.settings.buildPager && $.isFunction(slider.settings.buildPager) ? slider.settings.buildPager(i) : i + 1; 608 // add the markup to the string 609 pagerHtml += '<div class="bx-pager-item">
609<a href="" data-slide-index="' + i + '" class="bx-pager-link">' + linkContent + '</a></div>'; 610 }; 611 // populate the pager element with pager links 612 slider.pagerEl.html(pagerHtml); 613 } 614 615 /** 616 * Appends the pager to the controls element 617 */ 618 var appendPager = function(){ 619 if(!slider.settings.pagerCustom){ 620 // create the pager DOM element 621 slider.pagerEl = $('<div class="bx-pager" />'); 622 // if a pager selector was supplied, populate it with the pager 623 if(slider.settings.pagerSelector){ 624 $(slider.settings.pagerSelector).html(slider.pagerEl); 625 // if no pager selector was supplied, add it after the wrapper 626 }else{ 627 slider.controls.el.addClass('bx-has-pager').append(slider.pagerEl); 628 } 629 // populate the pager 630 populatePager(); 631 }else{ 632 slider.pagerEl = $(slider.settings.pagerCustom); 633 } 634 // assign the pager click binding 635 slider.pagerEl.on('click', 'a', clickPagerBind); 636 } 637 638 /** 639 * Appends prev / next controls to the controls element 640 */ 641 var appendControls = function(){ 642 slider.controls.next = $('<a class="bx-next" href="">' + slider.settings.nextText + '</a>'); 643 slider.controls.prev = $('<a class="bx-prev" href="">' + slider.settings.prevText + '</a>'); 644 // bind click actions to the controls 645 slider.controls.next.bind('click', clickNextBind); 646 slider.controls.prev.bind('click', clickPrevBind); 647 // if nextSlector was supplied, populate it 648 if(slider.settings.nextSelector){ 649 $(slider.settings.nextSelector).append(slider.controls.next); 650 } 651 // if prevSlector was supplied, populate it 652 if(slider.settings.prevSelector){ 653 $(slider.settings.prevSelector).append(slider.controls.prev); 654 } 655 // if no custom selectors were supplied 656 if(!slider.settings.nextSelector && !slider.settings.prevSelector){ 657 // add the controls to the DOM 658 slider.controls.directionEl = $('<div class="bx-controls-direction" />'); 659 // add the control elements to the directionEl 660 slider.controls.directionEl.append(slider.controls.prev).append(slider.controls.next); 661 // slider.viewport.append(slider.controls.directionEl); 662 slider.controls.el.addClass('bx-has-controls-direction').append(slider.controls.directionEl); 663 } 664 } 665 666 /** 667 * Appends start / stop auto controls to the controls element 668 */ 669 var appendControlsAuto = function(){ 670 slider.controls.start = $('<div class="bx-controls-auto-item"><a class="bx-start" href="">' + slider.settings.startText + '</a></div>'); 671 slider.controls.stop = $('<div class="bx-controls-auto-item"><a class="bx-stop" href="">' + slider.settings.stopText + '</a></div>'); 672 // add the controls to the DOM 673 slider.controls.autoEl = $('<div class="bx-controls-auto" />'); 674 // bind click actions to the controls 675 slider.controls.autoEl.on('click', '.bx-start', clickStartBind); 676 slider.controls.autoEl.on('click', '.bx-stop', clickStopBind); 677 // if autoControlsCombine, insert only the "start" control 678 if(slider.settings.autoControlsCombine){ 679 slider.controls.autoEl.append(slider.controls.start); 680 // if autoControlsCombine is false, insert both controls 681 }else{ 682 slider.controls.autoEl.append(slider.controls.start).append(slider.controls.stop); 683 } 684 // if auto controls selector was supplied, populate it with the controls 685 if(slider.settings.autoControlsSelector){ 686 $(slider.settings.autoControlsSelector).html(slider.controls.autoEl); 687 // if auto controls selector was not supplied, add it after the wrapper 688 }else{ 689 slider.controls.el.addClass('bx-has-controls-auto').append(slider.controls.autoEl); 690 } 691 // update the auto controls
692 updateAutoControls(slider.settings.autoStart ? 'stop' : 'start'); 693 } 694 695 /** 696 * Appends image captions to the DOM 697 */ 698 var appendCaptions = function(){ 699 // cycle through each child 700 slider.children.each(function(index){ 701 // get the image title attribute 702 var title = $(this).find('img:first').attr('title'); 703 // append the caption 704 if (title != undefined && ('' + title).length) { 705 $(this).append('<div class="bx-caption"><span>' + title + '</span></div>'); 706 } 707 }); 708 } 709 710 /** 711 * Click next binding 712 * 713 * @param e (event) 714 * - DOM event object 715 */ 716 var clickNextBind = function(e){ 717 // if auto show is running, stop it 718 // if (slider.settings.auto) el.stopAuto(); 719 el.goToNextSlide(); 720 e.preventDefault(); 721 } 722 723 /** 724 * Click prev binding 725 * 726 * @param e (event) 727 * - DOM event object 728 */ 729 var clickPrevBind = function(e){ 730 // if auto show is running, stop it 731 // if (slider.settings.auto) el.stopAuto(); 732 el.goToPrevSlide(); 733 e.preventDefault(); 734 } 735 736 /** 737 * Click start binding 738 * 739 * @param e (event) 740 * - DOM event object 741 */ 742 var clickStartBind = function(e){ 743 el.startAuto(); 744 e.preventDefault(); 745 } 746 747 /** 748 * Click stop binding 749 * 750 * @param e (event) 751 * - DOM event object 752 */ 753 var clickStopBind = function(e){ 754 el.stopAuto(); 755 e.preventDefault(); 756 } 757 758 /** 759 * Click pager binding 760 * 761 * @param e (event) 762 * - DOM event object 763 */ 764 var clickPagerBind = function(e){ 765 // if auto show is running, stop it 766 // if (slider.settings.auto) el.stopAuto(); 767 var pagerLink = $(e.currentTarget); 768 if(pagerLink.attr('data-slide-index') !== undefined){ 769 var pagerIndex = parseInt(pagerLink.attr('data-slide-index')); 770 // if clicked pager link is not active, continue with the goToSlide call 771 if(pagerIndex != slider.active.index) el.goToSlide(pagerIndex); 772 e.preventDefault(); 773 } 774 } 775 776 /** 777 * Updates the pager links with an active class 778 * 779 * @param slideIndex (int) 780 * - index of slide to make active 781 */ 782 var updatePagerActive = function(slideIndex){ 783 // if "short" pager type 784 var len = slider.children.length; // nb of children 785 if(slider.settings.pagerType == 'short'){ 786 if(slider.settings.maxSlides > 1) { 787 len = Math.ceil(slider.children.length/slider.settings.maxSlides); 788 } 789 slider.pagerEl.html( (slideIndex + 1) + slider.settings.pagerShortSeparator + len); 790 return; 791 } 792 // remove all pager active classes 793 slider.pagerEl.find('a').removeClass('active'); 794 // apply the active class for all pagers 795 slider.pagerEl.each(function(i, el) { $(el).find('a').eq(slideIndex).addClass('active'); }); 796 } 797 798 /** 799 * Performs needed actions after a slide transition 800 */ 801 var updateAfterSlideTransition = function(){ 802 // if infinte loop is true 803 if(slider.settings.infiniteLoop){ 804 var position = ''; 805 // first slide 806 if(slider.active.index == 0){ 807 // set the new position 808 position = slider.children.eq(0).position(); 809 // carousel, last slide 810 }else if(slider.active.index == getPagerQty() - 1 && slider.carousel){ 811 position = slider.children.eq((getPagerQty() - 1) * getMoveBy()).position(); 812 // last slide 813 }else if(slider.active.index == slider.children.length - 1){ 814 position = slider.children.eq(slider.children.length - 1).position(); 815 } 816 if(position){ 817 if (slider.settings.mode == 'horizontal') { setPositionProperty(-position.left, 'reset', 0); } 818 else if (slider.settings.mode == 'vertical') { setPositionProperty(-position.top, 'reset', 0); } 819 } 820 } 821 // declare that the transition is complete 822 slider.working = false; 823 // onSlideAfter callback 824 slider.settings.onSlideAfter(slider.children.eq(slider.active.index), slider.oldIndex, slider.active.index); 825 } 826 827 /** 828 * Updates the auto controls state (either active, or combined switch) 829 * 830 * @param state (string) "start", "stop" 831 * - the new state of the auto show 832 */ 833 var updateAutoControls = function(state){ 834 // if autoControlsCombine is true, replace the current control with the new state 835 if(slider.settings.autoControlsCombine){ 836 slider.controls.autoEl.html(slider.controls[state]); 837 // if autoControlsCombine is false, apply the "active" class to the appropriate control 838 }else{ 839 slider.controls.autoEl.find('a').removeClass('active');
840 slider.controls.autoEl.find('a:not(.bx-' + state + ')').addClass('active'); 841 } 842 } 843 844 /** 845 * Updates the direction controls (checks if either should be hidden) 846 */ 847 var updateDirectionControls = function(){ 848 if(getPagerQty() == 1){ 849 slider.controls.prev.addClass('disabled'); 850 slider.controls.next.addClass('disabled'); 851 }else if(!slider.settings.infiniteLoop && slider.settings.hideControlOnEnd){ 852 // if first slide 853 if (slider.active.index == 0){ 854 slider.controls.prev.addClass('disabled'); 855 slider.controls.next.removeClass('disabled'); 856 // if last slide 857 }else if(slider.active.index == getPagerQty() - 1){ 858 slider.controls.next.addClass('disabled'); 859 slider.controls.prev.removeClass('disabled'); 860 // if any slide in the middle 861 }else{ 862 slider.controls.prev.removeClass('disabled'); 863 slider.controls.next.removeClass('disabled'); 864 } 865 } 866 } 867 868 /** 869 * Initialzes the auto process 870 */ 871 var initAuto = function(){ 872 // if autoDelay was supplied, launch the auto show using a setTimeout() call 873 if(slider.settings.autoDelay > 0){ 874 var timeout = setTimeout(el.startAuto, slider.settings.autoDelay); 875 // if autoDelay was not supplied, start the auto show normally 876 }else{ 877 el.startAuto(); 878 } 879 // if autoHover is requested 880 if(slider.settings.autoHover){ 881 // on el hover 882 el.hover(function(){ 883 // if the auto show is currently playing (has an active interval) 884 if(slider.interval){ 885 // stop the auto show and pass true agument which will prevent control update 886 el.stopAuto(true); 887 // create a new autoPaused value which will be used by the relative "mouseout" event 888 slider.autoPaused = true; 889 } 890 }, function(){ 891 // if the autoPaused value was created be the prior "mouseover" event 892 if(slider.autoPaused){ 893 // start the auto show and pass true agument which will prevent control update 894 el.startAuto(true); 895 // reset the autoPaused value 896 slider.autoPaused = null; 897 } 898 }); 899 } 900 } 901 902 /** 903 * Initialzes the ticker process 904 */ 905 var initTicker = function(){ 906 var startPosition = 0; 907 // if autoDirection is "next", append a clone of the entire slider 908 if(slider.settings.autoDirection == 'next'){ 909 el.append(slider.children.clone().addClass('bx-clone')); 910 // if autoDirection is "prev", prepend a clone of the entire slider, and set the left position 911 }else{ 912 el.prepend(slider.children.clone().addClass('bx-clone')); 913 var position = slider.children.first().position(); 914 startPosition = slider.settings.mode == 'horizontal' ? -position.left : -position.top; 915 } 916 setPositionProperty(startPosition, 'reset', 0); 917 // do not allow controls in ticker mode 918 slider.settings.pager = false; 919 slider.settings.controls = false; 920 slider.settings.autoControls = false; 921 // if autoHover is requested 922 if(slider.settings.tickerHover && !slider.usingCSS){ 923 // on el hover 924 slider.viewport.hover(function(){ 925 el.stop(); 926 }, function(){ 927 // calculate the total width of children (used to calculate the speed ratio) 928 var totalDimens = 0; 929 slider.children.each(function(index){ 930 totalDimens += slider.settings.mode == 'horizontal' ? $(this).outerWidth(true) : $(this).outerHeight(true); 931 }); 932 // calculate the speed ratio (used to determine the new speed to finish the paused animation) 933 var ratio = slider.settings.speed / totalDimens; 934 // determine which property to use 935 var property = slider.settings.mode == 'horizontal' ? 'left' : 'top'; 936 // calculate the new speed 937 var newSpeed = ratio * (totalDimens - (Math.abs(parseInt(el.css(property))))); 938 tickerLoop(newSpeed); 939 }); 940 } 941 // start the ticker loop 942 tickerLoop(); 943 } 944 945 /** 946 * Runs a continuous loop, news ticker-style 947 */ 948 var tickerLoop = function(resumeSpeed){ 949 speed = resumeSpeed ? resumeSpeed : slider.settings.speed; 950 var position = {left: 0, top: 0}; 951 var reset = {left: 0, top: 0}; 952 // if "next" animate left position to last child, then reset left to 0 953 if(slider.settings.autoDirection == 'next'){ 954 position = el.find('.bx-clone').first().position(); 955 // if "prev" animate left position to 0, then reset left to first non-clone child 956 }else{ 957 reset = slider.children.first().position(); 958 } 959 var animateProperty = slider.settings.mode == 'horizontal' ? -position.left : -position.top; 960 var resetValue = slider.settings.mode == 'horizontal' ? -reset.left : -reset.top; 961 var params = {resetValue: resetValue}; 962 setPositionProperty(animateProperty, 'ticker', speed, params); 963 } 964 965 /** 966 * Initializes touch events 967 */ 968 var initTouch = function(){ 969 // initialize object to contain all touch values 970 slider.touch = { 971 start: {x: 0, y: 0}, 972 end: {x: 0, y: 0} 973 } 974 slider.viewport.bind('touchstart', onTouchStart); 975 } 976 977 /** 978 * Event handler for "touchstart" 979 * 980 * @param e (event) 981 * - DOM event object 982 */ 983 var onTouchStart = function(e){ 984 if(slider.working){ 985 e.preventDefault(); 986 }else{ 987 // record the original position when touch starts 988 slider.touch.originalPos = el.position(); 989 var orig = e.originalEvent; 990 // record the starting touch x, y coordinates
991 slider.touch.start.x = orig.changedTouches[0].pageX; 992 slider.touch.start.y = orig.changedTouches[0].pageY; 993 // bind a "touchmove" event to the viewport 994 slider.viewport.bind('touchmove', onTouchMove); 995 // bind a "touchend" event to the viewport 996 slider.viewport.bind('touchend', onTouchEnd); 997 } 998 } 999 1000 /** 1001 * Event handler for "touchmove" 1002 * 1003 * @param e (event) 1004 * - DOM event object 1005 */ 1006 var onTouchMove = function(e){ 1007 var orig = e.originalEvent; 1008 // if scrolling on y axis, do not prevent default 1009 var xMovement = Math.abs(orig.changedTouches[0].pageX - slider.touch.start.x); 1010 var yMovement = Math.abs(orig.changedTouches[0].pageY - slider.touch.start.y); 1011 // x axis swipe 1012 if((xMovement * 3) > yMovement && slider.settings.preventDefaultSwipeX){ 1013 e.preventDefault(); 1014 // y axis swipe 1015 }else if((yMovement * 3) > xMovement && slider.settings.preventDefaultSwipeY){ 1016 e.preventDefault(); 1017 } 1018 if(slider.settings.mode != 'fade' && slider.settings.oneToOneTouch){ 1019 var value = 0; 1020 // if horizontal, drag along x axis 1021 if(slider.settings.mode == 'horizontal'){ 1022 var change = orig.changedTouches[0].pageX - slider.touch.start.x; 1023 value = slider.touch.originalPos.left + change; 1024 // if vertical, drag along y axis 1025 }else{ 1026 var change = orig.changedTouches[0].pageY - slider.touch.start.y; 1027 value = slider.touch.originalPos.top + change; 1028 } 1029 setPositionProperty(value, 'reset', 0); 1030 } 1031 } 1032 1033 /** 1034 * Event handler for "touchend" 1035 * 1036 * @param e (event) 1037 * - DOM event object 1038 */ 1039 var onTouchEnd = function(e){ 1040 slider.viewport.unbind('touchmove', onTouchMove); 1041 var orig = e.originalEvent; 1042 var value = 0; 1043 // record end x, y positions 1044 slider.touch.end.x = orig.changedTouches[0].pageX; 1045 slider.touch.end.y = orig.changedTouches[0].pageY; 1046 // if fade mode, check if absolute x distance clears the threshold 1047 if(slider.settings.mode == 'fade'){ 1048 var distance = Math.abs(slider.touch.start.x - slider.touch.end.x); 1049 if(distance >= slider.settings.swipeThreshold){ 1050 slider.touch.start.x > slider.touch.end.x ? el.goToNextSlide() : el.goToPrevSlide(); 1051 el.stopAuto(); 1052 } 1053 // not fade mode 1054 }else{ 1055 var distance = 0; 1056 // calculate distance and el's animate property 1057 if(slider.settings.mode == 'horizontal'){ 1058 distance = slider.touch.end.x - slider.touch.start.x; 1059 value = slider.touch.originalPos.left; 1060 }else{ 1061 distance = slider.touch.end.y - slider.touch.start.y; 1062 value = slider.touch.originalPos.top; 1063 } 1064 // if not infinite loop and first / last slide, do not attempt a slide transition 1065 if(!slider.settings.infiniteLoop && ((slider.active.index == 0 && distance > 0) || (slider.active.last && distance < 0))){ 1066 setPositionProperty(value, 'reset', 200); 1067 }else{ 1068 // check if distance clears threshold 1069 if(Math.abs(distance) >= slider.settings.swipeThreshold){ 1070 distance < 0 ? el.goToNextSlide() : el.goToPrevSlide(); 1071 el.stopAuto(); 1072 }else{ 1073 // el.animate(property, 200); 1074 setPositionProperty(value, 'reset', 200); 1075 } 1076 } 1077 } 1078 slider.viewport.unbind('touchend', onTouchEnd); 1079 } 1080 1081 /** 1082 * Window resize event callback 1083 */ 1084 var resizeWindow = function(e){ 1085 // don't do anything if slider isn't initialized. 1086 if(!slider.initialized) return; 1087 // get the new window dimens (again, thank you IE) 1088 var windowWidthNew = $(window).width(); 1089 var windowHeightNew = $(window).height(); 1090 // make sure that it is a true window resize 1091 // *we must check this because our dinosaur friend IE fires a window resize event when certain DOM elements 1092 // are resized. Can you just die already?* 1093 if(windowWidth != windowWidthNew || windowHeight != windowHeightNew){ 1094 // set the new window dimens 1095 windowWidth = windowWidthNew; 1096 windowHeight = windowHeightNew; 1097 // update all dynamic elements 1098 el.redrawSlider(); 1099 // Call user resize handler 1100 slider.settings.onSliderResize.call(el, slider.active.index); 1101 } 1102 } 1103 1104 /** 1105 * =================================================================================== 1106 * = PUBLIC FUNCTIONS 1107 * =================================================================================== 1108 */ 1109 1110 /** 1111 * Performs slide transition to the specified slide 1112 * 1113 * @param slideIndex (int) 1114 * - the destination slide's index (zero-based) 1115 * 1116 * @param direction (string) 1117 * - INTERNAL USE ONLY - the direction of travel ("prev" / "next") 1118 */ 1119 el.goToSlide = function(slideIndex, direction){ 1120 // if plugin is currently in motion, ignore request 1121 if(slider.working || slider.active.index == slideIndex) return; 1122 // declare that plugin is in motion 1123 slider.working = true; 1124 // store the old index 1125 slider.oldIndex = slider.active.index; 1126 // if slideIndex is less than zero, set active index to last child (this happens during infinite loop) 1127 if(slideIndex < 0){ 1128 slider.active.index = getPagerQty() - 1; 1129 // if slideIndex is greater than children length, set active index to 0 (this happens during infinite loop) 1130 }else if(slideIndex >= getPagerQty()){ 1131 slider.active.index = 0; 1132 // set active index to requested slide 1133 }else{ 1134 slider.active.index = slideIndex; 1135 } 1136 // onSlideBefore, onSlideNext, onSlidePrev callbacks 1137 slider.settings.onSlideBefore(slider.children.eq(slider.active.index), slider.oldIndex, slider.active.index); 1138 if(direction == 'next'){ 1139 slider.settings.onSlideNext(slider.children.eq(slider.active.index), slider.oldIndex, slider.active.index); 1140 }else if(direction == 'prev'){ 1141 slider.settings.onSlidePrev(slider.children.eq(slider.active.index), slider.oldIndex, slider.active.index); 1142 } 1143 // check if last slide 1144 slider.active.last = slider.active.index >= getPagerQty() - 1; 1145 // update the pager with active class 1146 if(slider.settings.pager) updatePagerActive(slider.active.index); 1147 // // check for direction control update 1148 if(slider.settings.controls) updateDirectionControls(); 1149 // if slider is set to mode: "fade" 1150 if(slider.settings.mode == 'fade'){ 1151 // if adaptiveHeight is true and next height is different from current height, animate to the new height 1152 if(slider.settings.adaptiveHeight && slider.viewport.height() != getViewportHe
1152ight()){ 1153 slider.viewport.animate({height: getViewportHeight()}, slider.settings.adaptiveHeightSpeed); 1154 } 1155 // fade out the visible child and reset its z-index value 1156 slider.children.filter(':visible').fadeOut(slider.settings.speed).css({zIndex: 0}); 1157 // fade in the newly requested slide 1158 slider.children.eq(slider.active.index).css('zIndex', slider.settings.slideZIndex+1).fadeIn(slider.settings.speed, function(){ 1159 $(this).css('zIndex', slider.settings.slideZIndex); 1160 updateAfterSlideTransition(); 1161 }); 1162 // slider mode is not "fade" 1163 }else{ 1164 // if adaptiveHeight is true and next height is different from current height, animate to the new height 1165 if(slider.settings.adaptiveHeight && slider.viewport.height() != getViewportHeight()){ 1166 slider.viewport.animate({height: getViewportHeight()}, slider.settings.adaptiveHeightSpeed); 1167 } 1168 var moveBy = 0; 1169 var position = {left: 0, top: 0}; 1170 // if carousel and not infinite loop 1171 if(!slider.settings.infiniteLoop && slider.carousel && slider.active.last){ 1172 if(slider.settings.mode == 'horizontal'){ 1173 // get the last child position 1174 var lastChild = slider.children.eq(slider.children.length - 1); 1175 position = lastChild.position(); 1176 // calculate the position of the last slide 1177 moveBy = slider.viewport.width() - lastChild.outerWidth(); 1178 }else{ 1179 // get last showing index position 1180 var lastShowingIndex = slider.children.length - slider.settings.minSlides; 1181 position = slider.children.eq(lastShowingIndex).position(); 1182 } 1183 // horizontal carousel, going previous while on first slide (infiniteLoop mode) 1184 }else if(slider.carousel && slider.active.last && direction == 'prev'){ 1185 // get the last child position 1186 var eq = slider.settings.moveSlides == 1 ? slider.settings.maxSlides - getMoveBy() : ((getPagerQty() - 1) * getMoveBy()) - (slider.children.length - slider.settings.maxSlides); 1187 var lastChild = el.children('.bx-clone').eq(eq); 1188 position = lastChild.position(); 1189 // if infinite loop and "Next" is clicked on the last slide 1190 }else if(direction == 'next' && slider.active.index == 0){ 1191 // get the last clone position 1192 position = el.find('> .bx-clone').eq(slider.settings.maxSlides).position(); 1193 slider.active.last = false; 1194 // normal non-zero requests 1195 }else if(slideIndex >= 0){ 1196 var requestEl = slideIndex * getMoveBy(); 1197 position = slider.children.eq(requestEl).position(); 1198 } 1199 1200 /* If the position doesn't exist 1201 * (e.g. if you destroy the slider on a next click), 1202 * it doesn't throw an error. 1203 */ 1204 if ("undefined" !== typeof(position)) { 1205 var value = slider.settings.mode == 'horizontal' ? -(position.left - moveBy) : -position.top; 1206 // plugin values to be animated 1207 setPositionProperty(value, 'slide', slider.settings.speed); 1208 } 1209 } 1210 } 1211 1212 /** 1213 * Transitions to the next slide in the show 1214 */ 1215 el.goToNextSlide = function(){ 1216 // if infiniteLoop is false and last page is showing, disregard call 1217 if (!slider.settings.infiniteLoop && slider.active.last) return; 1218 var pagerIndex = parseInt(slider.active.index) + 1; 1219 el.goToSlide(pagerIndex, 'next'); 1220 } 1221 1222 /** 1223 * Transitions to the prev slide in the show 1224 */ 1225 el.goToPrevSlide = function(){ 1226 // if infiniteLoop is false and last page is showing, disregard call 1227 if (!slider.settings.infiniteLoop && slider.active.index == 0) return; 1228 var pagerIndex = parseInt(slider.active.index) - 1; 1229 el.goToSlide(pagerIndex, 'prev'); 1230 } 1231 1232 /** 1233 * Starts the auto show 1234 * 1235 * @param preventControlUpdate (boolean) 1236 * - if true, auto controls state will not be updated 1237 */ 1238 el.startAuto = function(preventControlUpdate){ 1239 // if an interval already exists, disregard call 1240 if(slider.interval) return; 1241 // create an interval 1242 slider.interval = setInterval(function(){ 1243 slider.settings.autoDirection == 'next' ? el.goToNextSlide() : el.goToPrevSlide(); 1244 }, slider.settings.pause); 1245 // if auto controls are displayed and preventControlUpdate is not true 1246 if (slider.settings.autoControls && preventControlUpdate != true) updateAutoControls('stop'); 1247 } 1248 1249 /** 1250 * Stops the auto show 1251 * 1252 * @param preventControlUpdate (boolean) 1253 * - if true, auto controls state will not be updated 1254 */ 1255 el.stopAuto = function(preventControlUpdate){ 1256 // if no interval exists, disregard call
1257 if(!slider.interval) return; 1258 // clear the interval 1259 clearInterval(slider.interval); 1260 slider.interval = null; 1261 // if auto controls are displayed and preventControlUpdate is not true 1262 if (slider.settings.autoControls && preventControlUpdate != true) updateAutoControls('start'); 1263 } 1264 1265 /** 1266 * Returns current slide index (zero-based) 1267 */ 1268 el.getCurrentSlide = function(){ 1269 return slider.active.index; 1270 } 1271 1272 /** 1273 * Returns current slide element 1274 */ 1275 el.getCurrentSlideElement = function(){ 1276 return slider.children.eq(slider.active.index); 1277 } 1278 1279 /** 1280 * Returns number of slides in show 1281 */ 1282 el.getSlideCount = function(){ 1283 return slider.children.length; 1284 } 1285 1286 /** 1287 * Update all dynamic slider elements 1288 */ 1289 el.redrawSlider = function(){ 1290 // resize all children in ratio to new screen size 1291 slider.children.add(el.find('.bx-clone')).width(getSlideWidth()); 1292 // adjust the height 1293 slider.viewport.css('height', getViewportHeight()); 1294 // update the slide position 1295 if(!slider.settings.ticker) setSlidePosition(); 1296 // if active.last was true before the screen resize, we want 1297 // to keep it last no matter what screen size we end on 1298 if (slider.active.last) slider.active.index = getPagerQty() - 1; 1299 // if the active index (page) no longer exists due to the resize, simply set the index as last 1300 if (slider.active.index >= getPagerQty()) slider.active.last = true; 1301 // if a pager is being displayed and a custom pager is not being used, update it 1302 if(slider.settings.pager && !slider.settings.pagerCustom){ 1303 populatePager(); 1304 updatePagerActive(slider.active.index); 1305 } 1306 } 1307 1308 /** 1309 * Destroy the current instance of the slider (revert everything back to original state) 1310 */ 1311 el.destroySlider = function(){ 1312 // don't do anything if slider has already been destroyed 1313 if(!slider.initialized) return; 1314 slider.initialized = false; 1315 $('.bx-clone', this).remove(); 1316 slider.children.each(function() { 1317 $(this).data("origStyle") != undefined ? $(this).attr("style", $(this).data("origStyle")) : $(this).removeAttr('style'); 1318 }); 1319 $(this).data("origStyle") != undefined ? this.attr("style", $(this).data("origStyle")) : $(this).removeAttr('style'); 1320 $(this).unwrap().unwrap(); 1321 if(slider.controls.el) slider.controls.el.remove(); 1322 if(slider.controls.next) slider.controls.next.remove(); 1323 if(slider.controls.prev) slider.controls.prev.remove(); 1324 if(slider.pagerEl && slider.settings.controls) slider.pagerEl.remove(); 1325 $('.bx-caption', this).remove(); 1326 if(slider.controls.autoEl) slider.controls.autoEl.remove(); 1327 clearInterval(slider.interval); 1328 if(slider.settings.responsive) $(window).unbind('resize', resizeWindow); 1329 } 1330 1331 /** 1332 * Reload the slider (revert all DOM changes, and re-initialize) 1333 */ 1334 el.reloadSlider = function(settings){ 1335 if (settings != undefined) options = settings; 1336 el.destroySlider(); 1337 init(); 1338 } 1339 1340 init(); 1341 1342 // returns the current jQuery object 1343 return this; 1344 } 1345 1346})(jQuery); 1347/*! jQuery Validation Plugin - v1.16.0 - 12/2/2016 1348 * http://jqueryvalidation.org/ 1349 * Copyright (c) 2016 Jörn Zaefferer; Licensed MIT */ 1350!function(a){"function"==typeof define&&define.amd?define(["jquery"],a):"object"==typeof module&&module.exports?module.exports=a(require("jquery")):a(jQuery)}(function(a){a.extend(a.fn,{validate:function(b){if(!this.length)return void(b&&b.debug&&window.console&&console.warn("Nothing selected, can't validate, returning nothing."));var c=a.data(this[0],"validator");return c?c:(this.attr("novalidate","novalidate"),c=new a.validator(b,this[0]),a.data(this[0],"validator",c),c.settings.onsubmit&&(this.on("click.validate",":submit",function(b){c.settings.submitHandler&&(c.submitButton=b.target),a(this).hasClass("cancel")&&(c.cancelSubmit=!0),void 0!==a(this).attr("formnovalidate")&&(c.cancelSubmit=!0)}),this.on("submit.validate",function(b){function d(){var d,e;return!c.settings.submitHandler||(c.submitButton&&(d=a("<input type='hidden'/>").attr("name",c.submitButton.name).val(a(c.submitButton).val()).appendTo(c.currentForm)),e=c.settings.submitHandler.call(c,c.currentForm,b),c.submitButton&&d.remove(),void 0!==e&&e)}return c.settings.debug&&b.preventDefault(),c.cancelSubmit?(c.cancelSubmit=!1,d()):c.form()?c.pendingRequest?(c.formSubmitted=!0,!1):d():(c.focusInvalid(),!1)})),c)},valid:function(){var b,c,d;return a(this[0]).is("form")?b=this.validate().form():(d=[],b=!0,c=a(this[0].form).validate(),this.each(function(){b=c.element
vendor: 12,786 bytes, line 1350
1350(this)&&b,b||(d=d.concat(c.errorList))}),c.errorList=d),b},rules:function(b,c){var d,e,f,g,h,i,j=this[0];if(null!=j&&null!=j.form){if(b)switch(d=a.data(j.form,"validator").settings,e=d.rules,f=a.validator.staticRules(j),b){case"add":a.extend(f,a.validator.normalizeRule(c)),delete f.messages,e[j.name]=f,c.messages&&(d.messages[j.name]=a.extend(d.messages[j.name],c.messages));break;case"remove":return c?(i={},a.each(c.split(/\s/),function(b,c){i[c]=f[c],delete f[c],"required"===c&&a(j).removeAttr("aria-required")}),i):(delete e[j.name],f)}return g=a.validator.normalizeRules(a.extend({},a.validator.classRules(j),a.validator.attributeRules(j),a.validator.dataRules(j),a.validator.staticRules(j)),j),g.required&&(h=g.required,delete g.required,g=a.extend({required:h},g),a(j).attr("aria-required","true")),g.remote&&(h=g.remote,delete g.remote,g=a.extend(g,{remote:h})),g}}}),a.extend(a.expr.pseudos||a.expr[":"],{blank:function(b){return!a.trim(""+a(b).val())},filled:function(b){var c=a(b).val();return null!==c&&!!a.trim(""+c)},unchecked:function(b){return!a(b).prop("checked")}}),a.validator=function(b,c){this.settings=a.extend(!0,{},a.validator.defaults,b),this.currentForm=c,this.init()},a.validator.format=function(b,c){return 1===arguments.length?function(){var c=a.makeArray(arguments);return c.unshift(b),a.validator.format.apply(this,c)}:void 0===c?b:(arguments.length>2&&c.constructor!==Array&&(c=a.makeArray(arguments).slice(1)),c.constructor!==Array&&(c=[c]),a.each(c,function(a,c){b=b.replace(new RegExp("\\{"+a+"\\}","g"),function(){return c})}),b)},a.extend(a.validator,{defaults:{messages:{},groups:{},rules:{},errorClass:"error",pendingClass:"pending",validClass:"valid",errorElement:"label",focusCleanup:!1,focusInvalid:!0,errorContainer:a([]),errorLabelContainer:a([]),onsubmit:!0,ignore:":hidden",ignoreTitle:!1,onfocusin:function(a){this.lastActive=a,this.settings.focusCleanup&&(this.settings.unhighlight&&this.settings.unhighlight.call(this,a,this.settings.errorClass,this.settings.validClass),this.hideThese(this.errorsFor(a)))},onfocusout:function(a){this.checkable(a)||!(a.name in this.submitted)&&this.optional(a)||this.element(a)},onkeyup:function(b,c){var d=[16,17,18,20,35,36,37,38,39,40,45,144,225];9===c.which&&""===this.elementValue(b)||a.inArray(c.keyCode,d)!==-1||(b.name in this.submitted||b.name in this.invalid)&&this.element(b)},onclick:function(a){a.name in this.submitted?this.element(a):a.parentNode.name in this.submitted&&this.element(a.parentNode)},highlight:function(b,c,d){"radio"===b.type?this.findByName(b.name).addClass(c).removeClass(d):a(b).addClass(c).removeClass(d)},unhighlight:function(b,c,d){"radio"===b.type?this.findByName(b.name).removeClass(c).addClass(d):a(b).removeClass(c).addClass(d)}},setDefaults:function(b){a.extend(a.validator.defaults,b)},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:"Please enter a valid date.",dateISO:"Please enter a valid date (ISO).",number:"Please enter a valid number.",digits:"Please enter only digits.",equalTo:"Please enter the same value again.",maxlength:a.validator.format("Please enter no more than {0} characters."),minlength:a.validator.format("Please enter at least {0} characters."),rangelength:a.validator.format("Please enter a value between {0} and {1} characters long."),range:a.validator.format("Please enter a value between {0} and {1}."),max:a.validator.format("Please enter a value less than or equal to {0}."),min:a.validator.format("Please enter a value greater than or equal to {0}."),step:a.validator.format("Please enter a multiple of {0}.")},autoCreateRanges:!1,prototype:{init:function(){function b(b){!this.form&&this.hasAttribute("contenteditable")&&(this.form=a(this).closest("form")[0]);var c=a.data(this.form,"validator"),d="on"+b.type.replace(/^validate/,""),e=c.settings;e[d]&&!a(this).is(e.ignore)&&e[d].call(c,this,b)}this.labelContainer=a(this.settings.errorLabelContainer),this.errorContext=this.labelContainer.length&&this.labelContainer||a(this.currentForm),this.containers=a(this.settings.errorContainer).add(this.settings.errorLabelContainer),this.submitted={},this.valueCache={},this.pendingRequest=0,this.pending={},this.invalid={},this.reset();var c,d=this.groups={};a.each(this.settings.groups,function(b,c){"string"==typeof c&&(c=c.split(/\s/)),a.each(c,function(a,c){d[c]=b})}),c=this.settings.rules,a.each(c,function(b,d){c[b]=a.validator.normalizeRule(d)}),a(this.currentForm).on("focusin.validate focusout.validate keyup.validate",":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'], [type='radio'], [type='checkbox'], [contenteditable], [type='button']",b).on("click.validate","select, option, [type='radio'], [type='checkbox']",b),this.settings.invalidHandler&&a(this.currentForm).on("invalid-form.validate",this.settings.invalidHandler),a(this.currentForm).find("[required], [data-rule-required], .required").attr("aria-required","true")},form:function(){return this.checkForm(),a.extend(this.submitted,this.errorMap),this.invalid=a.extend({},this.errorMap),this.valid()||a(this.currentForm).triggerHandler("invalid-form",[this]),this.showErrors(),this.valid()},checkForm:function(){this.prepareForm();for(var a=0,b=this.currentElements=this.elements();b[a];a++)this.check(b[a]);return this.valid()},element:function(b){var c,d,e=this.clean(b),f=this.validationTargetFor(e),g=this,h=!0;return void 0===f?delete this.invalid[e.name]:(this.prepareElement(f),this.currentElements=a(f),d=this.groups[f.name],d&&a.each(this.groups,function(a,b){b===d&&a!==f.name&&(e=g.validationTargetFor(g.clean(g.findByName(a))),e&&e.name in g.invalid&&(g.currentElements.push(e),h=g.check(e)&&h))}),c=this.check(f)!==!1,h=h&&c,c?this.invalid[f.name]=!1:this.invalid[f.name]=!0,this.numberOfInvalids()||(this.toHide=this.toHide.add(this.containers)),this.showErrors(),a(b).attr("aria-invalid",!c)),h},showErrors:function(b){if(b){var c=this;a.extend(this.errorMap,b),this.errorList=a.map(this.errorMap,function(a,b){return{message:a,element:c.findByName(b)[0]}}),this.successList=a.grep(this.successList,function(a){return!(a.name in b)})}this.settings.showErrors?this.settings.showErrors.call(this,this.errorMap,this.errorList):this.defaultShowErrors()},resetForm:function(){a.fn.resetForm&&a(this.currentForm).resetForm(),this.invalid={},this.submitted={},this.prepareForm(),this.hideErrors();var b=this.elements().removeData("previousValue").removeAttr("aria-invalid");this.resetElements(b)},resetElements:function(a){var b;if(this.settings.unhighlight)for(b=0;a[b];b++)this.settings.unhighlight.call(this,a[b],this.settings.errorClass,""),this.findByName(a[b].name).removeClass(this.settings.validClass);else a.removeClass(this.settings.errorClass).removeClass(this.settings.validClass)},numberOfInvalids:function(){return this.objectLength(this.invalid)},objectLength:function(a){var b,c=0;for(b in a)a[b]&&c++;return c},hideErrors:function(){this.hideThese(this.toHide)},hideThese:function(a){a.not(this.containers).text(""),this.addWrapper(a).hide()},valid:function(){return 0===this.size()},size:function(){return this.errorList.length},focusInvalid:function(){if(this.settings.focusInvalid)try{a(this.findLastActive()||this.errorList.length&&this.errorList[0].element||[]).filter(":visible").focus().trigger("focusin")}catch(b){}},findLastActive:function(){var b=this.lastActive;return b&&1===a.grep(this.errorList,function(a){return a.element.name===b.name}).length&&b},elements:function(){var b=this,c={};return a(this.currentForm).find("input, select, textarea, [contenteditable]").not(":submit, :reset, :image, :disabled").not(this.settings.ignore).filter(function(){var d=this.name||a(this).attr("name");return!d&&b.settings.debug&&window.console&&console.error("%o has no name assigned",this),this.hasAttribute("contenteditable")&&(this.form=a(this).closest("form")[0]),!(d in c||!b.objectLength(a(this).rules()))&&(c[d]=!0,!0)})},clean:function(b){return a(b)[0]},errors:function(){var b=this.settings.errorClass.split(" ").join(".");return a(this.settings.errorElement+"."+b,this.errorContext)},resetInternals:function(){this.successList=[],this.errorList=[],this.errorMap={},this.toShow=a([]),this.toHide=a([])},reset:function(){this.resetInternals(),this.currentElements=a([])},prepareForm:function(){this.reset(),this.toHide=this.errors().add(this.containers)},prepareElement:function(a){this.reset(),this.toHide=this.errorsFor(a)},elementValue:function(b){var c,d,e=a(b),f=b.type;return"radio"===f||"checkbox"===f?this.findByName(b.name).filter(":checked").val():"number"===f&&"undefined"!=typeof b.validity?b.validity.badInput?"NaN":e.val():(c=b.hasAttribute("contenteditable")?e.text():e.val(),"file"===f?"C:\\fakepath\\"===c.substr(0,12)?c.substr(12):(d=c.lastIndexOf("/"),d>=0?c.substr(d+1):(d=c.lastIndexOf("\\"),d>=0?c.substr(d+1):c)):"string"==typeof c?c.replace(/\r/g,""):c)},check:function(b){b=this.validationTargetFor(this.clean(b));var c,d,e,f=a(b).rules(),g=a.map(f,function(a,b){return b}).length,h=!1,i=this.elementValue(b);if("function"==typeof f.normalizer){if(i=f.normalizer.call(b,i),"string"!=typeof i)throw new TypeError("The normalizer should return a string value.");delete f.normalizer}for(d in f){e={method:d,parameters:f[d]};try{if(c=a.validator.methods[d].call(this,i,b,e.parameters),"dependency-mismatch"===c&&1===g){h=!0;continue}if(h=!1,"pending"===c)return void(this.toHide=this.toHide.not(this.errorsFor(b)));if(!c)return this.formatAndAdd(b,e),!1}catch(j){throw this.settings.debug&&window.console&&console.log("Exception occurred when checking element "+b.id+", check the '"+e.method+"' method.",j),j instanceof TypeError&&(j.message+=". Exception occurred when checking element "+b.id+", check the '"+e.method+"' method."),j}}if(!h)return this.objectLength(f)&&this.successList.push(b),!0},customDataMessage:function(b,c){return a(b).data("msg"+c.charAt(0).toUpperCase()+c.substring(1).toLowerCase())||a(b).data("msg")},customMessage:function(a,b){var c=this.settings.messages[a];return c&&(c.constructor===String?c:c[b])},findDefined:function(){for(var a=0;a<arguments.length;a++)if(void 0!==arguments[a])return arguments[a]},defaultMessage:function(b,c){"string"==typeof c&&(c={method:c});var d=this.findDefined(this.customMessage(b.name,c.method),this.customDataMessage(b,c.method),!this.settings.ignoreTitle&&b.title||void 0,a.validator.messages[c.method],"<strong>Warning: No message defined for "+b.name+"</strong>"),e=/\$?\{(\d+)\}/g;return"function"==typeof d?d=d.call(this,c.parameters,b):e.test(d)&&(d=a.validator.format(d.replace(e,"{$1}"),c.parameters)),d},formatAndAdd:function(a,b){var c=this.defaultMessage(a,b);this.errorList.push({message:c,element:a,method:b.method}),this.errorMap[a.name]=c,this.submitted[a.name]=c},addWrapper:function(a){return this.settings.wrapper&&(a=a.add(a.parent(this.settings.wrapper))),a},defaultShowErrors:function(){var a,b,c;for(a=0;this.errorList[a];a++)c=this.errorList[a],this.settings.highlight&&this.settings.highlight.call(this,c.element,this.settings.errorClass,this.settings.validClass),this.showLabel(c.element,c.message);if(this.errorList.length&&(this.toShow=this.toShow.add(this.containers)),this.settings.success)for(a=0;this.successList[a];a++)this.showLabel(this.successList[a]);if(this.settings.unhighlight)for(a=0,b=this.validElements();b[a];a++)this.settings.unhighlight.call(this,b[a],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 a(this.errorList).map(function(){return this.element})},showLabel:function(b,c){var d,e,f,g,h=this.errorsFor(b),i=this.idOrName(b),j=a(b).attr("aria-describedby");h.length?(h.removeClass(this.settings.validClass).addClass(this.settings.errorClass),h.html(c)):(h=a("<"+this.settings.errorElement+">").attr("id",i+"-error").addClass(this.settings.errorClass).html(c||""),d=h,this.settings.wrapper&&(d=h.hide().show().wrap("<"+this.settings.wrapper+"/>").parent()),this.labelContainer.length?this.labelContainer.append(d):this.settings.errorPlacement?this.settings.errorPlacement.call(this,d,a(b)):d.insertAfter(b),h.is("label")?h.attr("for",i):0===h.parents("label[for='"+this.escapeCssMeta(i)+"']").length&&(f=h.attr("id"),j?j.match(new RegExp("\\b"+this.escapeCssMeta(f)+"\\b"))||(j+=" "+f):j=f,a(b).attr("aria-describedby",j),e=this.groups[b.n
1350ame],e&&(g=this,a.each(g.groups,function(b,c){c===e&&a("[name='"+g.escapeCssMeta(b)+"']",g.currentForm).attr("aria-describedby",h.attr("id"))})))),!c&&this.settings.success&&(h.text(""),"string"==typeof this.settings.success?h.addClass(this.settings.success):this.settings.success(h,b)),this.toShow=this.toShow.add(h)},errorsFor:function(b){var c=this.escapeCssMeta(this.idOrName(b)),d=a(b).attr("aria-describedby"),e="label[for='"+c+"'], label[for='"+c+"'] *";return d&&(e=e+", #"+this.escapeCssMeta(d).replace(/\s+/g,", #")),this.errors().filter(e)},escapeCssMeta:function(a){return a.replace(/([\\!"#$%&'()*+,./:;<=>?@\[\]^`{|}~])/g,"\\$1")},idOrName:function(a){return this.groups[a.name]||(this.checkable(a)?a.name:a.id||a.name)},validationTargetFor:function(b){return this.checkable(b)&&(b=this.findByName(b.name)),a(b).not(this.settings.ignore)[0]},checkable:function(a){return/radio|checkbox/i.test(a.type)},findByName:function(b){return a(this.currentForm).find("[name='"+this.escapeCssMeta(b)+"']")},getLength:function(b,c){switch(c.nodeName.toLowerCase()){case"select":return a("option:selected",c).length;case"input":if(this.checkable(c))return this.findByName(c.name).filter(":checked").length}return b.length},depend:function(a,b){return!this.dependTypes[typeof a]||this.dependTypes[typeof a](a,b)},dependTypes:{"boolean":function(a){return a},string:function(b,c){return!!a(b,c.form).length},"function":function(a,b){return a(b)}},optional:function(b){var c=this.elementValue(b);
vendor: 5,900 bytes, line 1350
1350return!a.validator.methods.required.call(this,c,b)&&"dependency-mismatch"},startRequest:function(b){this.pending[b.name]||(this.pendingRequest++,a(b).addClass(this.settings.pendingClass),this.pending[b.name]=!0)},stopRequest:function(b,c){this.pendingRequest--,this.pendingRequest<0&&(this.pendingRequest=0),delete this.pending[b.name],a(b).removeClass(this.settings.pendingClass),c&&0===this.pendingRequest&&this.formSubmitted&&this.form()?(a(this.currentForm).submit(),this.formSubmitted=!1):!c&&0===this.pendingRequest&&this.formSubmitted&&(a(this.currentForm).triggerHandler("invalid-form",[this]),this.formSubmitted=!1)},previousValue:function(b,c){return c="string"==typeof c&&c||"remote",a.data(b,"previousValue")||a.data(b,"previousValue",{old:null,valid:!0,message:this.defaultMessage(b,{method:c})})},destroy:function(){this.resetForm(),a(this.currentForm).off(".validate").removeData("validator").find(".validate-equalTo-blur").off(".validate-equalTo").removeClass("validate-equalTo-blur")}},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(b,c){b.constructor===String?this.classRuleSettings[b]=c:a.extend(this.classRuleSettings,b)},classRules:function(b){var c={},d=a(b).attr("class");return d&&a.each(d.split(" "),function(){this in a.validator.classRuleSettings&&a.extend(c,a.validator.classRuleSettings[this])}),c},normalizeAttributeRule:function(a,b,c,d){/min|max|step/.test(c)&&(null===b||/number|range|text/.test(b))&&(d=Number(d),isNaN(d)&&(d=void 0)),d||0===d?a[c]=d:b===c&&"range"!==b&&(a[c]=!0)},attributeRules:function(b){var c,d,e={},f=a(b),g=b.getAttribute("type");for(c in a.validator.methods)"required"===c?(d=b.getAttribute(c),""===d&&(d=!0),d=!!d):d=f.attr(c),this.normalizeAttributeRule(e,g,c,d);return e.maxlength&&/-1|2147483647|524288/.test(e.maxlength)&&delete e.maxlength,e},dataRules:function(b){var c,d,e={},f=a(b),g=b.getAttribute("type");for(c in a.validator.methods)d=f.data("rule"+c.charAt(0).toUpperCase()+c.substring(1).toLowerCase()),this.normalizeAttributeRule(e,g,c,d);return e},staticRules:function(b){var c={},d=a.data(b.form,"validator");return d.settings.rules&&(c=a.validator.normalizeRule(d.settings.rules[b.name])||{}),c},normalizeRules:function(b,c){return a.each(b,function(d,e){if(e===!1)return void delete b[d];if(e.param||e.depends){var f=!0;switch(typeof e.depends){case"string":f=!!a(e.depends,c.form).length;break;case"function":f=e.depends.call(c,c)}f?b[d]=void 0===e.param||e.param:(a.data(c.form,"validator").resetElements(a(c)),delete b[d])}}),a.each(b,function(d,e){b[d]=a.isFunction(e)&&"normalizer"!==d?e(c):e}),a.each(["minlength","maxlength"],function(){b[this]&&(b[this]=Number(b[this]))}),a.each(["rangelength","range"],function(){var c;b[this]&&(a.isArray(b[this])?b[this]=[Number(b[this][0]),Number(b[this][1])]:"string"==typeof b[this]&&(c=b[this].replace(/[\[\]]/g,"").split(/[\s,]+/),b[this]=[Number(c[0]),Number(c[1])]))}),a.validator.autoCreateRanges&&(null!=b.min&&null!=b.max&&(b.range=[b.min,b.max],delete b.min,delete b.max),null!=b.minlength&&null!=b.maxlength&&(b.rangelength=[b.minlength,b.maxlength],delete b.minlength,delete b.maxlength)),b},normalizeRule:function(b){if("string"==typeof b){var c={};a.each(b.split(/\s/),function(){c[this]=!0}),b=c}return b},addMethod:function(b,c,d){a.validator.methods[b]=c,a.validator.messages[b]=void 0!==d?d:a.validator.messages[b],c.length<3&&a.validator.addClassRules(b,a.validator.normalizeRule(b))},methods:{required:function(b,c,d){if(!this.depend(d,c))return"dependency-mismatch";if("select"===c.nodeName.toLowerCase()){var e=a(c).val();return e&&e.length>0}return this.checkable(c)?this.getLength(b,c)>0:b.length>0},email:function(a,b){return this.optional(b)||/^[a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/.test(a)},url:function(a,b){return this.optional(b)||/^(?:(?:(?:https?|ftp):)?\/\/)(?:\S+(?::\S*)?@)?(?:(?!(?:10|127)(?:\.\d{1,3}){3})(?!(?:169\.254|192\.168)(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z\u00a1-\uffff0-9]-*)*[a-z\u00a1-\uffff0-9]+)(?:\.(?:[a-z\u00a1-\uffff0-9]-*)*[a-z\u00a1-\uffff0-9]+)*(?:\.(?:[a-z\u00a1-\uffff]{2,})).?)(?::\d{2,5})?(?:[/?#]\S*)?$/i.test(a)},date:function(a,b){return this.optional(b)||!/Invalid|NaN/.test(new Date(a).toString())},dateISO:function(a,b){return this.optional(b)||/^\d{4}[\/\-](0?[1-9]|1[012])[\/\-](0?[1-9]|[12][0-9]|3[01])$/.test(a)},number:function(a,b){return this.optional(b)||/^(?:-?\d+|-?\d{1,3}(?:,\d{3})+)?(?:\.\d+)?$/.test(a)},digits:function(a,b){return this.optional(b)||/^\d+$/.test(a)},minlength:function(b,c,d){var e=a.isArray(b)?b.length:this.getLength(b,c);return this.optional(c)||e>=d},maxlength:function(b,c,d){var e=a.isArray(b)?b.length:this.getLength(b,c);return this.optional(c)||e<=d},rangelength:function(b,c,d){var e=a.isArray(b)?b.length:this.getLength(b,c);return this.optional(c)||e>=d[0]&&e<=d[1]},min:function(a,b,c){return this.optional(b)||a>=c},max:function(a,b,c){return this.optional(b)||a<=c},range:function(a,b,c){return this.optional(b)||a>=c[0]&&a<=c[1]},step:function(b,c,d){var e,f=a(c).attr("type"),g="Step attribute on input type "+f+" is not supported.",h=["text","number","range"],i=new RegExp("\\b"+f+"\\b"),j=f&&!i.test(h.join()),k=function(a){var b=(""+a).match(/(?:\.(\d+))?$/);return b&&b[1]?b[1].length:0},l=function(a){return Math.round(a*Math.pow(10,e))},m=!0;if(j)throw new Error(g);return e=k(d),(k(b)>e||l(b)%l(d)!==0)&&(m=!1),this.optional(c)||m},equalTo:function(b,c,d){var e=a(d);return this.settings.onfocusout&&e.not(".validate-equalTo-blur").length&&e.addClass("val
1350idate-equalTo-blur").on("blur.validate-equalTo",function(){a(c).valid()}),b===e.val()},remote:function(b,c,d,e){if(this.optional(c))return"dependency-mismatch";e="string"==typeof e&&e||"remote";var f,g,h,i=this.previousValue(c,e);return this.settings.messages[c.name]||(this.settings.messages[c.name]={}),i.originalMessage=i.originalMessage||this.settings.messages[c.name][e],this.settings.messages[c.name][e]=i.message,d="string"==typeof d&&{url:d}||d,h=a.param(a.extend({data:b},d.data)),i.old===h?i.valid:(i.old=h,f=this,this.startRequest(c),g={},g[c.name]=b,a.ajax(a.extend(!0,{mode:"abort",port:"validate"+c.name,dataType:"json",data:g,context:f.currentForm,success:function(a){var d,g,h,j=a===!0||"true"===a;f.settings.messages[c.name][e]=i.originalMessage,j?(h=f.formSubmitted,f.resetInternals(),f.toHide=f.errorsFor(c),f.formSubmitted=h,f.successList.push(c),f.invalid[c.name]=!1,f.showErrors()):(d={},g=a||f.defaultMessage(c,{method:e,parameters:b}),d[c.name]=i.message=g,f.invalid[c.name]=!0,f.showErrors(d)),i.valid=j,f.stopRequest(c,j)}},d)),"pending")}}});var b,c={};return a.ajaxPrefilter?a.ajaxPrefilter(function(a,b,d){var e=a.port;"abort"===a.mode&&(c[e]&&c[e].abort(),c[e]=d)}):(b=a.ajax,a.ajax=function(d){var e=("mode"in d?d:a.ajaxSettings).mode,f=("port"in d?d:a.ajaxSettings).port;return"abort"===e?(c[f]&&c[f].abort(),c[f]=b.apply(this,arguments),c[f]):b.apply(this,arguments)}),a});/** 1351 * UAParser.js v0.7.14 1352 * Lightweight JavaScript-based User-Agent string parser 1353 * https://github.com/faisalman/ua-parser-js 1354 * 1355 * Copyright © 2012-2016 Faisal Salman <[email protected]> 1356 * Dual licensed under GPLv2 & MIT 1357 */ 1358(function(window,undefined){"use strict";var LIBVERSION="0.7.14",EMPTY="",UNKNOWN="?",FUNC_TYPE="function",UNDEF_TYPE="undefined",OBJ_TYPE="object",STR_TYPE="string",MAJOR="major",MODEL="model",NAME="name",TYPE="type",VENDOR="vendor",VERSION="version",ARCHITECTURE="architecture",CONSOLE="console",MOBILE="mobile",TABLET="tablet",SMARTTV="smarttv",WEARABLE="wearable",EMBEDDED="embedded";var util={extend:function(regexes,extensions){var margedRegexes={};for(var i in regexes){if(extensions[i]&&extensions[i].length%2===0){margedRegexes[i]=extensions[i].concat(regexes[i])}else{margedRegexes[i]=regexes[i]}}return margedRegexes},has:function(str1,str2){if(typeof str1==="string"){return str2.toLowerCase().indexOf(str1.toLowerCase())!==-1}else{return false}},lowerize:function(str){return str.toLowerCase()},major:function(version){return typeof version===STR_TYPE?version.replace(/[^\d\.]/g,"").split(".")[0]:undefined},trim:function(str){return str.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"")}};var mapper={rgx:function(ua,arrays){var i=0,j,k,p,q,matches,match;while(i<arrays.length&&!matches){var regex=arrays[i],props=arrays[i+1];j=k=0;while(j<regex.length&&!matches){matches=regex[j++].exec(ua);if(!!matches){for(p=0;p<props.length;p++){match=matches[++k];q=props[p];if(typeof q===OBJ_TYPE&&q.length>0){if(q.length==2){if(typeof q[1]==FUNC_TYPE){this[q[0]]=q[1].call(this,match)}else{this[q[0]]=q[1]}}else if(q.length==3){if(typeof q[1]===FUNC_TYPE&&!(q[1].exec&&q[1].test)){this[q[0]]=match?q[1].call(this,match,q[2]):undefined}else{this[q[0]]=match?match.replace(q[1],q[2]):undefined}}else if(q.length==4){this[q[0]]=match?q[3].call(this,match.replace(q[1],q[2])):undefined}}else{this[q]=match?match:undefined}}}}i+=2}},str:function(str,map){for(var i in map){if(typeof map[i]===OBJ_TYPE&&map[i].length>0){for(var j=0;j<map[i].length;j++){if(util.has(map[i][j],str)){return i===UNKNOWN?undefined:i}}}else if(util.has(map[i],str)){return i===UNKNOWN?undefined:i}}return str}};var maps={browser:{oldsafari:{version:{"1.0":"/8",1.2:"/1",1.3:"/3","2.0":"/412","2.0.2":"/416","2.0.3":"/417","2.0.4":"/419","?":"/"}}},device:{amazon:{model:{"Fire Phone":["SD","KF"]}},sprint:{model:{"Evo Shift 4G":"7373KT"},vendor:{HTC:"APA",Sprint:"Sprint"}}},os:{windows:{version:{ME:"4.90","NT 3.11":"NT3.51","NT 4.0":"NT4.0",2000:"NT 5.0",XP:["NT 5.1","NT 5.2"],Vista:"NT 6.0",7:"NT 6.1",8:"NT 6.2",8.1:"NT 6.3",10:["NT 6.4","NT 10.0"],RT:"ARM"}}}};var regexes={browser:[[/(opera\smini)\/([\w\.-]+)/i,/(opera\s[mobiletab]+).+version\/([\w\.-]+)/i,/(opera).+version\/([\w\.]+)/i,/(opera)[\/\s]+([\w\.]+)/i],[NAME,VERSION],[/(opios)[\/\s]+([\w\.]+)/i],[[NAME,"Opera Mini"],VERSION],[/\s(opr)\/([\w\.]+)/i],[[NAME,"Opera"],VERSION],[/(kindle)\/([\w\.]+)/i,/(lunascape|maxthon|netfront|jasmine|blazer)[\/\s]?([\w\.]+)*/i,/(avant\s|iemobile|slim|baidu)(?:browser)?[\/\s]?([\w\.]*)/i,/(?:ms|\()(ie)\s([\w\.]+)/i,/(rekonq)\/([\w\.]+)*/i,/(chromium|flock|rockmelt|midori|epiphany|silk|skyfire|ovibrowser|bolt|iron|vivaldi|iridium|phantomjs|bowser)\/([\w\.-]+)/i],[NAME,VERSION],[/(trident).+rv[:\s]([\w\.]+).+like\sgecko/i],[[NAME,"IE"],VERSION],[/(edge)\/((\d+)?[\w\.]+)/i],[NAME,VERSION],[/(yabrowser)\/([\w\.]+)/i],[[NAME,"Yandex"],VERSION],[/(puffin)\/([\w\.]+)/i],[[NAME,"Puffin"],VERSION],[/((?:[\s\/]
1358)uc?\s?browser|(?:juc.+)ucweb)[\/\s]?([\w\.]+)/i],[[NAME,"UCBrowser"],VERSION],[/(comodo_dragon)\/([\w\.]+)/i],[[NAME,/_/g," "],VERSION],[/(micromessenger)\/([\w\.]+)/i],[[NAME,"WeChat"],VERSION],[/(QQ)\/([\d\.]+)/i],[NAME,VERSION],[/m?(qqbrowser)[\/\s]?([\w\.]+)/i],[NAME,VERSION],[/xiaomi\/miuibrowser\/([\w\.]+)/i],[VERSION,[NAME,"MIUI Browser"]],[/;fbav\/([\w\.]+);/i],[VERSION,[NAME,"Facebook"]],[/(headlesschrome) ([\w\.]+)/i],[VERSION,[NAME,"Chrome Headless"]],[/\swv\).+(chrome)\/([\w\.]+)/i],[[NAME,/(.+)/,"$1 WebView"],VERSION],[/((?:oculus|samsung)browser)\/([\w\.]+)/i],[[NAME,/(.+(?:g|us))(.+)/,"$1 $2"],VERSION],[/android.+version\/([\w\.]+)\s+(?:mobile\s?safari|safari)*/i],[VERSION,[NAME,"Android Browser"]],[/(chrome|omniweb|arora|[tizenoka]{5}\s?browser)\/v?([\w\.]+)/i],[NAME,VERSION],[/(dolfin)\/([\w\.]+)/i],[[NAME,"Dolphin"],VERSION],[/((?:android.+)crmo|crios)\/([\w\.]+)/i],[[NAME,"Chrome"],VERSION],[/(coast)\/([\w\.]+)/i],[[NAME,"Opera Coast"],VERSION],[/fxios\/([\w\.-]+)/i],[VERSION,[NAME,"Firefox"]],[/version\/([\w\.]+).+?mobile\/\w+\s(safari)/i],[VERSION,[NAME,"Mobile Safari"]],[/version\/([\w\.]+).+?(mobile\s?safari|safari)/i],[VERSION,NAME],[/webkit.+?(mobile\s?safari|safari)(\/[\w\.]+)/i],[NAME,[VERSION,mapper.str,maps.browser.oldsafari.version]],[/(konqueror)\/([\w\.]+)/i,/(webkit|khtml)\/([\w\.]+)/i],[NAME,VERSION],[/(navigator|netscape)\/([\w\.-]+)/i],[[NAME,"Netscape"],VERSION],[/(swiftfox)/i,/(icedragon|iceweasel|camino|chimera|fennec|maemo\sbrowser|minimo|conkeror)[\/\s]?([\w\.\+]+)/i,/(firefox|seamonkey|k-meleon|icecat|iceape|firebird|phoenix)\/([\w\.-]+)/i,/(mozilla)\/([\w\.]+).+rv\:.
vendor: 4,348 bytes, line 1358
1358+gecko\/\d+/i,/(polaris|lynx|dillo|icab|doris|amaya|w3m|netsurf|sleipnir)[\/\s]?([\w\.]+)/i,/(links)\s\(([\w\.]+)/i,/(gobrowser)\/?([\w\.]+)*/i,/(ice\s?browser)\/v?([\w\._]+)/i,/(mosaic)[\/\s]([\w\.]+)/i],[NAME,VERSION]],cpu:[[/(?:(amd|x(?:(?:86|64)[_-])?|wow|win)64)[;\)]/i],[[ARCHITECTURE,"amd64"]],[/(ia32(?=;))/i],[[ARCHITECTURE,util.lowerize]],[/((?:i[346]|x)86)[;\)]/i],[[ARCHITECTURE,"ia32"]],[/windows\s(ce|mobile);\sppc;/i],[[ARCHITECTURE,"arm"]],[/((?:ppc|powerpc)(?:64)?)(?:\smac|;|\))/i],[[ARCHITECTURE,/ower/,"",util.lowerize]],[/(sun4\w)[;\)]/i],[[ARCHITECTURE,"sparc"]],[/((?:avr32|ia64(?=;))|68k(?=\))|arm(?:64|(?=v\d+;))|(?=atmel\s)avr|(?:irix|mips|sparc)(?:64)?(?=;)|pa-risc)/i],[[ARCHITECTURE,util.lowerize]]],device:[[/\((ipad|playbook);[\w\s\);-]+(rim|apple)/i],[MODEL,VENDOR,[TYPE,TABLET]],[/applecoremedia\/[\w\.]+ \((ipad)/],[MODEL,[VENDOR,"Apple"],[TYPE,TABLET]],[/(apple\s{0,1}tv)/i],[[MODEL,"Apple TV"],[VENDOR,"Apple"]],[/(archos)\s(gamepad2?)/i,/(hp).+(touchpad)/i,/(hp).+(tablet)/i,/(kindle)\/([\w\.]+)/i,/\s(nook)[\w\s]+build\/(\w+)/i,/(dell)\s(strea[kpr\s\d]*[\dko])/i],[VENDOR,MODEL,[TYPE,TABLET]],[/(kf[A-z]+)\sbuild\/[\w\.]+.*silk\//i],[MODEL,[VENDOR,"Amazon"],[TYPE,TABLET]],[/(sd|kf)[0349hijorstuw]+\sbuild\/[\w\.]+.*silk\//i],[[MODEL,mapper.str,maps.device.amazon.model],[VENDOR,"Amazon"],[TYPE,MOBILE]],[/\((ip[honed|\s\w*]+);.+(apple)/i],[MODEL,VENDOR,[TYPE,MOBILE]],[/\((ip[honed|\s\w*]+);/i],[MODEL,[VENDOR,"Apple"],[TYPE,MOBILE]],[/(blackberry)[\s-]?(\w+)/i,/(blackberry|benq|palm(?=\-)|sonyericsson|acer|asus|dell|meizu|motorola|polytron)[\s_-]?([\w-]+)*/i,/(hp)\s([\w\s]+\w)/i,/(asus)-?(\w+)/i],[VENDOR,MODEL,[TYPE,MOBILE]],[/\(bb10;\s(\w+)/i],[MODEL,[VENDOR,"BlackBerry"],[TYPE,MOBILE]],[/android.+(transfo[prime\s]{4,10}\s\w+|eeepc|slider\s\w+|nexus 7|padfone)/i],[MODEL,[VENDOR,"Asus"],[TYPE,TABLET]],[/(sony)\s(tablet\s[ps])\sbuild\//i,/(sony)?(?:sgp.+)\sbuild\//i],[[VENDOR,"Sony"],[MODEL,"Xperia Tablet"],[TYPE,TABLET]],[/android.+\s([c-g]\d{4}|so[-l]\w+)\sbuild\//i],[MODEL,[VENDOR,"Sony"],[TYPE,MOBILE]],[/\s(ouya)\s/i,/(nintendo)\s([wids3u]+)/i],[VENDOR,MODEL,[TYPE,CONSOLE]],[/android.+;\s(shield)\sbuild/i],[MODEL,[VENDOR,"Nvidia"],[TYPE,CONSOLE]],[/(playstation\s[34portablevi]+)/i],[MODEL,[VENDOR,"Sony"],[TYPE,CONSOLE]],[/(sprint\s(\w+))/i],[[VENDOR,mapper.str,maps.device.sprint.vendor],[MODEL,mapper.str,maps.device.sprint.model],[TYPE,MOBILE]],[/(lenovo)\s?(S(?:5000|6000)+(?:[-][\w+]))/i],[VENDOR,MODEL,[TYPE,TABLET]],[/(htc)[;_\s-]+([\w\s]+(?=\))|\w+)*/i,/(zte)-(\w+)*/i,/(alcatel|geeksphone|lenovo|nexian|panasonic|(?=;\s)sony)[_\s-]?([\w-]+)*/i],[VENDOR,[MODEL,/_/g," "],[TYPE,MOBILE]],[/(nexus\s9)/i],[MODEL,[VENDOR,"HTC"],[TYPE,TABLET]],[/d\/huawei([\w\s-]+)[;\)]/i,/(nexus\s6p)/i],[MODEL,[VENDOR,"Huawei"],[TYPE,MOBILE]],[/(microsoft);\s(lumia[\s\w]+)/i],[VENDOR,MODEL,[TYPE,MOBILE]],[/[\s\(;](xbox(?:\sone)?)[\s\);]/i],[MODEL,[VENDOR,"Microsoft"],[TYPE,CONSOLE]],[/(kin\.[onetw]{3})/i],[[MODEL,/\./g," "],[VENDOR,"Microsoft"],[TYPE,MOBILE]],[/\s(milestone|droid(?:[2-4x]|\s(?:bionic|x2|pro|razr))?(:?\s4g)?)[\w\s]+build\//i,/mot[\s-]?(\w+)*/i,/(XT\d{3,4}) build\//i,/(nexus\s6)/i],[MODEL,[VENDOR,"Motorola"],[TYPE,MOBILE]],[/android.+\s(mz60\d|xoom[\s2]{0,2})\sbuild\//i],[MODEL,[VENDOR,"Motorola"],[TYPE,TABLET]],[/hbbtv\/\d+\.\d+\.\d+\s+\([\w\s]*;\s*(\w[^;]*);([^;]*)/i],[[VENDOR,util.trim],[MODEL,util.trim],[TYPE,SMARTTV]],[/hbbtv.+maple;(\d+)/i],[[MODEL,/^/,"SmartTV"],[VENDOR,"Samsung"],[TYPE,SMARTTV]],[/\(dtv[\);].+(aquos)/i],[MODEL,[VENDOR,"Sharp"],[TYPE,SMARTTV]],[/android.+((sch-i[89]0\d|shw-m380s|gt-p\d{4}|gt-n\d+|sgh-t8[56]9|nexus 10))/i,/((SM-T\w+))/i],[[VENDOR,"Samsung"],MODEL,[TYPE,TABLET]],[/smart-tv.+(samsung)/i],[VENDOR,[TYPE,SMARTTV],MODEL],[/((s[cgp]h-\w+|gt-\w+|galaxy\snexus|sm-\w[\w\d]+))/i,/(sam[sung]*)[\s-]*(\w+-?[\w-]*)*/i,/sec-((sgh\w+))/i],[[VENDOR,"Samsung"],MODEL,[TYPE,MOBILE]],[/sie-(\w+)*/i],[MODEL,[VENDOR,"Siemens"],[TYPE,MOBILE]],[/(maemo|nokia).*(n900|lumia\s\d+)/i,/(nokia)[\s_-]?([\w-]+)*/i],[[VENDOR,"Nokia"],MODEL,[TYPE,MOBILE]],[/android\s3\.[\s\w;-]{10}(a\d{3})/i],[MODEL,[VENDOR,"Acer"],[TYPE,TABLET]],[/android.+([vl]k\-?\d{3})\s+build/i],[MODEL,[VENDOR,"LG"],[TYPE,TABLET]],[/android\s3\.[\s\w;-]{10}(lg?)-([06cv9]{3,4})/i],[[VENDOR,"LG"],MODEL,[TYPE,TABLET]],[/(lg) netcast\.tv/i],[VENDOR,MODEL,[TYPE,SMARTTV]],[/(nexus\s[45]
vendor: 3,692 bytes, line 1358
1358)/i,/lg[e;\s\/-]+(\w+)*/i,/android.+lg(\-?[\d\w]+)\s+build/i],[MODEL,[VENDOR,"LG"],[TYPE,MOBILE]],[/android.+(ideatab[a-z0-9\-\s]+)/i],[MODEL,[VENDOR,"Lenovo"],[TYPE,TABLET]],[/linux;.+((jolla));/i],[VENDOR,MODEL,[TYPE,MOBILE]],[/((pebble))app\/[\d\.]+\s/i],[VENDOR,MODEL,[TYPE,WEARABLE]],[/android.+;\s(oppo)\s?([\w\s]+)\sbuild/i],[VENDOR,MODEL,[TYPE,MOBILE]],[/crkey/i],[[MODEL,"Chromecast"],[VENDOR,"Google"]],[/android.+;\s(glass)\s\d/i],[MODEL,[VENDOR,"Google"],[TYPE,WEARABLE]],[/android.+;\s(pixel c)\s/i],[MODEL,[VENDOR,"Google"],[TYPE,TABLET]],[/android.+;\s(pixel xl|pixel)\s/i],[MODEL,[VENDOR,"Google"],[TYPE,MOBILE]],[/android.+(\w+)\s+build\/hm\1/i,/android.+(hm[\s\-_]*note?[\s_]*(?:\d\w)?)\s+build/i,/android.+(mi[\s\-_]*(?:one|one[\s_]plus|note lte)?[\s_]*(?:\d\w)?)\s+build/i],[[MODEL,/_/g," "],[VENDOR,"Xiaomi"],[TYPE,MOBILE]],[/android.+;\s(m[1-5]\snote)\sbuild/i],[MODEL,[VENDOR,"Meizu"],[TYPE,TABLET]],[/android.+a000(1)\s+build/i],[MODEL,[VENDOR,"OnePlus"],[TYPE,MOBILE]],[/android.+[;\/]\s*(RCT[\d\w]+)\s+build/i],[MODEL,[VENDOR,"RCA"],[TYPE,TABLET]],[/android.+[;\/]\s*(Venue[\d\s]*)\s+build/i],[MODEL,[VENDOR,"Dell"],[TYPE,TABLET]],[/android.+[;\/]\s*(Q[T|M][\d\w]+)\s+build/i],[MODEL,[VENDOR,"Verizon"],[TYPE,TABLET]],[/android.+[;\/]\s+(Barnes[&\s]+Noble\s+|BN[RT])(V?.*)\s+build/i],[[VENDOR,"Barnes & Noble"],MODEL,[TYPE,TABLET]],[/android.+[;\/]\s+(TM\d{3}.*\b)\s+build/i],[MODEL,[VENDOR,"NuVision"],[TYPE,TABLET]],[/android.+[;\/]\s*(zte)?.+(k\d{2})\s+build/i],[[VENDOR,"ZTE"],MODEL,[TYPE,TABLET]],[/android.+[;\/]\s*(gen\d{3})\s+build.*49h/i],[MODEL,[VENDOR,"Swiss"],[TYPE,MOBILE]],[/android.+[;\/]\s*(zur\d{3})\s+build/i],[MODEL,[VENDOR,"Swiss"],[TYPE,TABLET]],[/android.+[;\/]\s*((Zeki)?TB.*\b)\s+build/i],[MODEL,[VENDOR,"Zeki"],[TYPE,TABLET]],[/(android).+[;\/]\s+([YR]\d{2}x?.*)\s+build/i,/android.+[;\/]\s+(Dragon[\-\s]+Touch\s+|DT)(.+)\s+build/i],[[VENDOR,"Dragon Touch"],MODEL,[TYPE,TABLET]],[/android.+[;\/]\s*(NS-?.+)\s+build/i],[MODEL,[VENDOR,"Insignia"],[TYPE,TABLET]],[/android.+[;\/]\s*((NX|Next)-?.+)\s+build/i],[MODEL,[VENDOR,"NextBook"],[TYPE,TABLET]],[/android.+[;\/]\s*(Xtreme\_?)?(V(1[045]|2[015]|30|40|60|7[05]|90))\s+build/i],[[VENDOR,"Voice"],MODEL,[TYPE,MOBILE]],[/android.+[;\/]\s*(LVTEL\-?)?(V1[12])\s+build/i],[[VENDOR,"LvTel"],MODEL,[TYPE,MOBILE]],[/android.+[;\/]\s*(V(100MD|700NA|7011|917G).*\b)\s+build/i],[MODEL,[VENDOR,"Envizen"],[TYPE,TABLET]],[/android.+[;\/]\s*(Le[\s\-]+Pan)[\s\-]+(.*\b)\s+build/i],[VENDOR,MODEL,[TYPE,TABLET]],[/android.+[;\/]\s*(Trio[\s\-]*.*)\s+build/i],[MODEL,[VENDOR,"MachSpeed"],[TYPE,TABLET]],[/android.+[;\/]\s*(Trinity)[\-\s]*(T\d{3})\s+build/i],[VENDOR,MODEL,[TYPE,TABLET]],[/android.+[;\/]\s*TU_(1491)\s+build/i],[MODEL,[VENDOR,"Rotor"],[TYPE,TABLET]],[/android.+(KS(.+))\s+build/i],[MODEL,[VENDOR,"Amazon"],[TYPE,TABLET]],[/android.+(Gigaset)[\s\-]+(Q.+)\s+build/i],[VENDOR,MODEL,[TYPE,TABLET]],[/\s(tablet|tab)[;\/]/i,/\s(mobile)(?:[;\/]|\ssafari)/i],[[TYPE,util.lowerize],VENDOR,MODEL],[/(android.+)[;\/].+build/i],[MODEL,[VENDOR,"Generic"]]],engine:[[/windows.+\sedge\/([\w\.]+)/i],[VERSION,[NAME,"EdgeHTML"]],[/(presto)\/([\w\.]+)/i,/(webkit|trident|netfront|netsurf|amaya|lynx|w3m)\/([\w\.]+)/i,/(khtml|tasman|links)[\/\s]\(?([\w\.]+)/i,/(icab)[\/\s]([23]\.[\d\.]+)/i],[NAME,VERSION],[/rv\:([\w\.]+).*(gecko)/i],[VERSION,NAME]],os:[[/microsoft\s(windows)\s(vista|xp)/i],[NAME,VERSION],[/(windows)\snt\s6\.2;\s(arm)/i,/(windows\sphone(?:\sos)*)[\s\/]?([\d\.\s]+\w)*/i,/(windows\smobile|windows)[\s\/]?([ntce\d\.\s]+\w)/i],[NAME,[VERSION,mapper.str,maps.os.windows.version]],[/(win(?=3|9|n)|win\s9x\s)([nt\d\.]+)/i],[[NAME,"Windows"],[VERSION,mapper.str,maps.os.windows.version]],[/\((bb)(10);
1358/i],[[NAME,"BlackBerry"],VERSION],[/(blackberry)\w*\/?([\w\.]+)*/i,/(tizen)[\/\s]([\w\.]+)/i,/(android|webos|palm\sos|qnx|bada|rim\stablet\sos|meego|contiki)[\/\s-]?([\w\.]+)*/i,/linux;.+(sailfish);/i],[NAME,VERSION],[/(symbian\s?os|symbos|s60(?=;))[\/\s-]?([\w\.]+)*/i],[[NAME,"Symbian"],VERSION],[/\((series40);/i],[NAME],[/mozilla.+\(mobile;.+gecko.+firefox/i],[[NAME,"Firefox OS"],VERSION],[/(nintendo|playstation)\s([wids34portablevu]+)/i,/(mint)[\/\s\(]?(\w+)*/i,/(mageia|vectorlinux)[;\s]/i,/(joli|[kxln]?ubuntu|debian|[open]*suse|gentoo|(?=\s)arch|slackware|fedora|mandriva|centos|pclinuxos|redhat|zenwalk|linpus)[\/\s-]?(?!chrom)([\w\.-]+)*/i,/(hurd|linux)\s?([\w\.]+)*/i,/(gnu)\s?([\w\.]+)*/i],[NAME,VERSION],[/(cros)\s[\w]+\s([\w\.]+\w)/i],[[NAME,"Chromium OS"],VERSION],[/(sunos)\s?([\w\.]+\d)*/i],[[NAME,"Solaris"],VERSION],[/\s([frentopc-]{0,4}bsd|dragonfly)\s?([\w\.]+)*/i],[NAME,VERSION],[/(haiku)\s(\w+)/i],[NAME,VERSION],[/cfnetwork\/.+darwin/i,/ip[honead]+(?:.*os\s([\w]+)*\slike\smac|;\sopera)/i],[[VERSION,/_/g,"."],[NAME,"iOS"]],[/(mac\sos\sx)\s?([\w\s\.]+\w)*/i,/(macintosh|mac(?=_powerpc)\s)/i],[[NAME,"Mac OS"],[VERSION,/_/g,"."]],[/((?:open)?solaris)[\/\s-]?([\w\.]+)*/i,/(aix)\s((\d)(?=\.|\)|\s)[\w\.]*)*/i,/(plan\s9|minix|beos|os\/2|amigaos|morphos|risc\sos|openvms)/i,/(unix)\s?([\w\.]+)*/i],[NAME,VERSION]]};var Browser=function(name,version){this[NAME]=name;this[VERSION]=version};var CPU=function(arch){this[ARCHITECTURE]=arch};var Device=function(vendor,model,type){this[VENDOR]=vendor;this[MODEL]=model;this[TYPE]=type};var Engine=Browser;var OS=Browser;var UAParser=function(uastring,extensions){if(typeof uastring==="object"){extensions=uastring;uastring=undefined}if(!(this instanceof UAParser)){return new UAParser(uastring,extensions).getResult()}var ua=uastring||(window&&window.navigator&&window.navigator.userAgent?window.navigator.userAgent:EMPTY);var rgxmap=extensions?util.extend(regexes,extensions):regexes;var browser=new Browser;var cpu=new CPU;var device=new Device;var engine=new Engine;var os=new OS;this.getBrowser=function(){mapper.rgx.call(browser,ua,rgxmap.browser);browser.major=util.major(browser.version);return browser};this.getCPU=function(){mapper.rgx.call(cpu,ua,rgxmap.cpu);return cpu};this.getDevice=function(){mapper.rgx.call(device,ua,rgxmap.device);return device};this.getEngine=function(){mapper.rgx.call(engine,ua,rgxmap.engine);return engine};this.getOS=function(){mapper.rgx.call(os,ua,rgxmap.os);return os};this.getResult=function(){return{ua:this.getUA(),browser:this.getBrowser(),engine:this.getEngine(),os:this.getOS(),device:this.getDevice(),cpu:this.getCPU()}};this.getUA=function(){return ua};this.setUA=function(uastring){ua=uastring;browser=new Browser;cpu=new CPU;device=new Device;engine=new Engine;os=new OS;return this};return this};UAParser.VERSION=LIBVERSION;UAParser.BROWSER={NAME:NAME,MAJOR:MAJOR,VERSION:VERSION};UAParser.CPU={ARCHITECTURE:ARCHITECTURE};UAParser.DEVICE={MODEL:MODEL,VENDOR:VENDOR,TYPE:TYPE,CONSOLE:CONSOLE,MOBILE:MOBILE,SMARTTV:SMARTTV,TABLET:TABLET,WEARABLE:WEARABLE,EMBEDDED:EMBEDDED};UAParser.ENGINE={NAME:NAME,VERSION:VERSION};UAParser.OS={NAME:NAME,VERSION:VERSION};if(typeof exports!==UNDEF_TYPE){if(typeof module!==UNDEF_TYPE&&module.exports){exports=module.exports=UAParser}exports.UAParser=UAParser}else{if(typeof define===FUNC_TYPE&&define.amd){define(function(){return UAParser})}else if(window){window.UAParser=UAParser}}var $=window&&(window.jQuery||window.Zepto);if(typeof $!==UNDEF_TYPE){var parser=new UAParser;$.ua=parser.getResult();$.ua.get=function(){return parser.getUA()};$.ua.set=function(uastring){parser.setUA(uastring);var result=parser.getResult();for(var prop in result){$.ua[prop]=result[prop]}}}})(typeof window==="object"?window:this);/*! jQuery Super Text Converter 2014-03-03 1359 * Vertion : 1.0.3 1360 * Dependencies : jQuery * 1361 * Author : MegazalRock (Otto Kamiya) 1362 * Copyright (c) 2014 MegazalRock (Otto Kamiya); 1363 * License : */ 1364(function(a,n){var t=function(a){var t=this;a=a||{},t.options=n.extend(!0,{widthMode:"toHankaku",kanaMode:!1,hankakuKatakanaMustDie:!0,convert:{punctuation:!0,tilda:!0,exclamation:!0,question:!0,space:!0,hyphen:!0},zenkakuHyphen:"ã¼",zenkakuChilda:"ã"},a),t.regexp={hankaku:/[A-Za-z0-9#$%&\\()*+,.\/<>\[\]{}=@;:_\^`]/g,zenkaku:/[A-Zï½-ï½ï¼-ï¼ï¼ï¼ï¼ ï¼ï¼¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼»ï¼½ï½ï½ï¼ï¼ ï¼ï¼ï¼¿ï¼¾ï½]/g,katakana:/[ã¡-ã³]/g,hiragana:/[ã-ã]/g},t.fnc={toHankaku:function(a){return String.fromCharCode(a.charCo
1364deAt(0)-65248)},toZenkaku:function(a){return String.fromCharCode(a.charCodeAt(0)+65248)},toKatakana:function(a){return String.fromCharCode(a.charCodeAt(0)+96)},toHiragana:function(a){return String.fromCharCode(a.charCodeAt(0)-96)}},t.list={toHankaku:[{zenkaku:/â/g,hankaku:'"'},{zenkaku:/â/g,hankaku:"'"},{zenkaku:/ã/g,hankaku:" ",type:"space"},{zenkaku:/ï¿¥/g,hankaku:"Â¥"},{zenkaku:/[ã¼âââ]/g,hankaku:"-",type:"hyphen"},{zenkaku:/ï½/g,hankaku:"|"},{zenkaku:/[ï½ã]/g,hankaku:"~",type:"tilda"},{zenkaku:/[ã]/g,hankaku:",",type:"punctuation"},{zenkaku:/[ã]/g,hankaku:".",type:"punctuation"},{zenkaku:/ï¼/g,hankaku:"!",type:"exclamation"},{zenkaku:/ï¼/g,hankaku:"?",type:"question"}],toZenkaku:[{hankaku:/"/g,zenkaku:"â"},{hankaku:/'/g,zenkaku:"â"},{hankaku:/ /g,zenkaku:"ã",type:"space"},{hankaku:/[Â¥\\]/g,zenkaku:"ï¿¥"},{hankaku:/[\-ï½°]/g,zenkaku:t.options.zenkakuHyphen,type:"hyphen"},{hankaku:/\|/g,zenkaku:"ï½"},{hankaku:/~/g,zenkaku:t.options.zenkakuChilda,type:"tilda"},{hankaku:/!/g,zenkaku:"ï¼",type:"exclamation"},{hankaku:/\?/g,zenkaku:"ï¼",type:"question"}]},this.hankakuKanaList=[/ï½¶ï¾/g,/ï½·ï¾/g,/クï¾/g,/ï½¹ï¾/g,/コï¾/g,/ï½»ï¾/g,/ï½¼ï¾/g,/ï½½ï¾/g,/ï½¾ï¾/g,/ソï¾/g,/ï¾ï¾/g,/ï¾ï¾/g,/ï¾ï¾/g,/ï¾ï¾/g,/ï¾ï¾/g,/ï¾ï¾/g,/ï¾ï¾/g,/ï¾ï¾/g,/ï¾ï¾/g,/ï¾ï¾/g,/ï¾ï¾/g,/ï¾ï¾/g,/ï¾ï¾/g,/ï¾ï¾/g,/ï¾ï¾/g,/ï½±/g,/ï½²/g,/ï½³/g,/ï½´/g,/ï½µ/g,/ï½¶/g,/ï½·/g,/ク/g,/ï½¹/g,/コ/g,/ï½»/g,/ï½¼/g,/ï½½/g,/ï½¾/g,/ソ/g,/ï¾/g,/ï¾/g,/ï¾/g,/ï¾/g,/ï¾/g,/ï¾ /g,/ï¾/g,/ï¾/g,/ï¾/g,/ï¾/g,/ï¾/g,/ï¾/g,/ï¾/g,/ï¾/g,/ï¾/g,/ï¾/g,/ï¾/g,/ï¾/g,/ï¾/g,/ï¾/g,/ï¾/g,/ï¾/g,/ï¾/g,/ï¾/g,/ï¾/g,/ï¾/g,/ï¾/g,/ï¾/g,/ï¾/g,/ヲ/g,/ï¾/g,/ï½§/g,/ィ/g,/ゥ/g,/ェ/g,/ォ/g,/ャ/g,/ï½/g,/ï½®/g,/ï¾/g,/ï¾/g,/。/g,/、/g],this.zenkakuKanaList=["ã¬","ã®","ã°","ã²","ã´","ã¶","ã¸","ãº","ã¼","ã¾","ã","ã","ã ","ã","ã","ã","ã","ã","ã","ã","ã","ã","ã","ã","ã","ã¢","ã¤","ã¦","ã¨","ãª","ã«","ã","ã¯","ã±","ã³","ãµ","ã·","ã¹","ã»","ã½","ã¿","ã","ã","ã","ã","ã","ã","ã","ã","ã","ã","ã","ã","ã","ã","ã","ã","ã ","ã¡","ã¢","ã¤","ã¦","ã¨","ã©","ãª","ã«","ã¬","ã","ã¯","ã²","ã³","ã¡","ã£","ã¥","ã§","ã©","ã£","ã¥","ã§","ã","ã","ã","ã"]};t.prototype.toHankaku=function(a,t){var k,e,g=this,u=0;for(t=n.extend(!0,g.options,t||{}),a=a.replace(g.regexp.zenkaku,g.fnc.toHankaku),k=g.list.toHankaku,e=k.length;e>u;u+=1)"string"==typeof k[u].type?t.convert[k[u].type]&&(a=a.replace(k[u].zenkaku,k[u].hankaku)):a=a.replace(k[u].zenkaku,k[u].hankaku);return a},t.prototype.toZenkaku=function(a,t){var k,e,g=this,u=0;for(t=n.extend(!0,g.options,t||{}),a=a.replace(g.regexp.hankaku,g.fnc.toZenkaku),k=g.list.toZenkaku,e=k.length;e>u;u+=1)"string"==typeof k[u].type?t.convert[k[u].type]&&(a=a.replace(k[u].hankaku,k[u].zenkaku)):a=a.replace(k[u].hankaku,k[u].zenkaku);return a},t.prototype.killHankakuKatakana=function(a){var n=this,t=0,k=n.hankakuKanaList.length;if(/[ヲ-ï¾]/.test(a))for(;k>t;t+=1)a=a.replace(n.hankakuKanaList[t],n.zenkakuKanaList[t]);return a},t.prototype.toHiragana=function(a){var n=this;return a.replace(n.regexp.katakana,n.fnc.toHiragana)},t.prototype.toKatakana=function(a){var n=this;return a.replace(n.regexp.hiragana,n.fnc.toKatakana)},t.prototype.autoConvert=function(a,t){var k,e=this;return t=n.extend(!0,e.options,t),t.widthMode&&"toHankaku"===t.widthMode?k=e.toHankaku(a,t.convert):"toZenkaku"===t.widthMode&&(k=e.toZenkaku(a,t.convert)),t.widthMode&&t.hankakuKatakanaMustDie&&(k=e.killHankakuKatakana(k)),t.kanaMode&&"toHiragana"===t.kanaMode?k=e.toHiragana(k):t.kanaMode&&"toKatakana"===t.kanaMode&&(k=e.toKatakana(k)),k},n.SuperTextConverter=function(a){return new t(a)},n.fn.superTextConverter=function(a,k){return n(this).each(function(){n(this).on("blur",function(){var e=new t,g="TEXTAREA"===this.tagName?n(this).text():n(this).val(),u=e.autoConvert(g,a,k);g!==u&&(n(this).val(u),n(this).trigger("superTextConverted",e.options))})}),this}})(this,jQuery);// Escape Codec Library: ecl.js arranged for DMS with ECL_array 1365// æåã³ã¼ã夿ã©ã¤ãã©ãª ecl.js ã®æ¹é ç ecl_array.js ã«ãDMSç¨ã®ã¡ã½ãããå ããã©ã¤ãã©ãª 1366// (ver. 2018.01.16) 1367// 1368// (åè) 1369// https://www.junoe.jp/downloads/itoh/enc_js.shtml 1370// https://qiita.com/weal/items/3b3ddfb8157047119554 1371// 1372"use strict"; 1373 1374var ECL = {}; 1375(function () { 1376 // 1377 // Escape Codec Library: ecl.js (Ver.041208) 1378 // 1379 // Copyright (C) http://nurucom-archives.hp.infoseek.co.jp/digital/ 1380 // 1381
1382 var EscapeSJIS = function EscapeSJIS(str) { 1383 return str.replace(/[^*+.-9A-Z_a-z-]/g, function (s) { 1384 var c = s.charCodeAt(0), 1385 m; 1386 return c < 128 ? (c < 16 ? "%0" : "%") + c.toString(16).toUpperCase() : 65376 < c && c < 65440 ? "%" + (c - 65216).toString(16).toUpperCase() : (c = JCT11280.indexOf(s)) < 0 ? "%81E" : "%" + ((m = ((c < 8272 ? c : c = JCT11280.lastIndexOf(s)) - (c %= 188)) / 188) < 31 ? m + 129 : m + 193).toString(16).toUpperCase() + (64 < (c += c < 63 ? 64 : 65) && c < 91 || 95 == c || 96 < c && c < 123 ? String.fromCharCode(c) : "%" + c.toString(16).toUpperCase()); 1387 }); 1388 }; 1389 1390 var UnescapeSJIS = function UnescapeSJIS(str) { 1391 return str.replace(/%(8[1-9A-F]|[9E][0-9A-F]|F[0-9A-C])(%[4-689A-F][0-9A-F]|%7[0-9A-E]|[@-~])|%([0-7][0-9A-F]|A[1-9A-F]|[B-D][0-9A-F])/ig, function (s) { 1392 var c = parseInt(s.substring(1, 3), 16), 1393 l = s.length; 1394 return 3 == l ? String.fromCharCode(c < 160 ? c : c + 65216) : JCT11280.charAt((c < 160 ? c - 129 : c - 193) * 188 + (4 == l ? s.charCodeAt(3) - 64 : (c = parseInt(s.substring(4), 16)) < 127 ? c - 64 : c - 65)); 1395 }); 1396 }; 1397 1398 var EscapeEUCJP = function EscapeEUCJP(str) { 1399 return str.replace(/[^*+.-9A-Z_a-z-]/g, function (s) { 1400 var c = s.charCodeAt(0); 1401 return (c < 128 ? (c < 16 ? "%0" : "%") + c.toString(16) : 65376 < c && c < 65440 ? "%8E%" + (c - 65216).toString(16) : (c = JCT8836.indexOf(s)) < 0 ? "%A1%A6" : "%" + ((c - (c %= 94)) / 94 + 161).toString(16) + "%" + (c + 161).toString(16)).toUpperCase(); 1402 }); 1403 }; 1404 1405 var UnescapeEUCJP = function UnescapeEUCJP(str) { 1406 return str.replace(/(%A[1-9A-F]|%[B-E][0-9A-F]|%F[0-9A-E]){2}|%8E%(A[1-9A-F]|[B-D][0-9A-F])|%[0-7][0-9A-F]/ig, function (s) { 1407 var c = parseInt(s.substring(1), 16); 1408 return c < 161 ? String.fromCharCode(c < 128 ? c : parseInt(s.substring(4), 16) + 65216) : JCT8836.charAt((c - 161) * 94 + parseInt(s.substring(4), 16) - 161); 1409 }); 1410 }; 1411 1412 var EscapeJIS7 = function EscapeJIS7(str) { 1413 var u = String.fromCharCode, 1414 ri = u(92, 120, 48, 48, 45, 92, 120, 55, 70), 1415 rj = u(65377, 45, 65439, 93, 43), 1416 H = function H(c) { 1417 return 41 < c && c < 58 && 44 != c || 64 < c && c < 91 || 95 == c || 96 < c && c < 123 ? u(c) : "%" + c.toString(16).toUpperCase(); 1418 }, 1419 I = function I(s) { 1420 var c = s.charCodeAt(0); 1421 return (c < 16 ? "%0" : "%") + c.toString(16).toUpperCase(); 1422 }, 1423 rI = new RegExp();rI.compile("[^*+.-9A-Z_a-z-]", "g"); 1424 return ("g" + str + "g").replace(RegExp("[" + ri + "]+", "g"), function (s) { 1425 return "%1B%28B" + s.replace(rI, I); 1426 }).replace(RegExp("[" + rj, "g"), function (s) { 1427 var c, 1428 i = 0, 1429 t = "%1B%28I";while (c = s.charCodeAt(i++)) { 1430 t += H(c - 65344); 1431 }return t; 1432 }).replace(RegExp("[^" + ri + rj, "g"), function (s) { 1433 var a, 1434 c, 1435 i = 0, 1436 t = "%1B%24B";while (a = s.charAt(i++)) { 1437 t += (c = JCT8836.indexOf(a)) < 0 ? "%21%26" : H((c - (c %= 94)) / 94 + 33) + H(c + 33); 1438 }return t; 1439 }).slice(8, -1); 1440 }; 1441 1442 var UnescapeJIS7 = function UnescapeJIS7(str) { 1443 var i = 0, 1444 p, 1445 q, 1446 s = "", 1447 u = String.fromCharCode, 1448 P = ("%28B" + str.replace(/%49/g, "I").replace(/%1B%24%4[02]|%1B%24@/ig, "%1B%24B")).split(/%1B/i), 1449 I = function I(s) { 1450 return u(parseInt(s.substring(1), 16)); 1451 }, 1452 J = function J(s) { 1453 return u((3 == s.length ? parseInt(s.substring(1), 16) : s.charCodeAt(0)) + 65344); 1454 }, 1455 K = function K(s) { 1456 var l = s.length; 1457 return JCT8836.charAt(4 < l ? (parseInt(s.substring(1), 16) - 33) * 94 + parseInt(s.substring(4), 16) - 33 : 2 < l ? (37 == (l = s.charCodeAt(0)) ? (parseInt(s.substring(1, 3), 16) - 33) * 94 + s.charCodeAt(3) : (l - 33) * 94 + parseInt(s.substring(2), 16)) - 33 : (s.charCodeAt(0) - 33) * 94 + s.charCodeAt(1) - 33); 1458 }, 1459 rI = new RegExp(), 1460 rJ = new RegExp(), 1461 rK = new RegExp(); 1462 rI.compile("%[0-7][0-9A-F]", "ig");rJ.compile("(%2[1-9A-F]|%[3-5][0-9A-F])|[!-_]", "ig"); 1463 rK.compile("(%2[1-9A-F]|%[3-6][0-9A-F]|%7[0-9A-E]){2}|(%2[1-9A-F]|%[3-6][0-9A-F]|%7[0-9A-E])[!-~]|[!-~](%2[1-9A-F]|%[3-6][0-9A-F]|%7[0-9A-E])|[!-~]{2}", "ig"); 1464 while (p = P[i++]) { 1465 s += "%24B" == (q = p.substring(0, 4)) ? p.substring(4).replace(rK, K) : "%28I" == q ? p.substring(4).replace(rJ, J) : p.replace(rI, I).substring(2); 1466 }return s; 1467 }; 1468 1469 var EscapeJIS8 = function EscapeJIS8(str) { 1470 var u = String.fromCharCode, 1471 r = u(92, 120, 48, 48, 45, 92, 120, 55, 70, 65377, 45, 65439, 93, 43), 1472 H = function H(c) { 1473 return 41 < c && c < 58 && 44 != c || 64 < c && c < 91 || 95 == c || 96 < c && c < 123 ? u(c) : "%" + c.toString(16).toUpperCase(); 1474 }, 1475 I = function I(s) {
1476 var c = s.charCodeAt(0); 1477 return (c < 16 ? "%0" : "%") + (c < 128 ? c : c - 65216).toString(16).toUpperCase(); 1478 }, 1479 rI = new RegExp();rI.compile("[^*+.-9A-Z_a-z-]", "g"); 1480 return ("g" + str + "g").replace(RegExp("[" + r, "g"), function (s) { 1481 return "%1B%28B" + s.replace(rI, I); 1482 }).replace(RegExp("[^" + r, "g"), function (s) { 1483 var a, 1484 c, 1485 i = 0, 1486 t = "%1B%24B";while (a = s.charAt(i++)) { 1487 t += (c = JCT8836.indexOf(a)) < 0 ? "%21%26" : H((c - (c %= 94)) / 94 + 33) + H(c + 33); 1488 }return t; 1489 }).slice(8, -1); 1490 }; 1491 1492 var UnescapeJIS8 = function UnescapeJIS8(str) { 1493 var i = 0, 1494 p, 1495 s = "", 1496 P = ("%28B" + str.replace(/%1B%24%4[02]|%1B%24@/ig, "%1B%24B")).split(/%1B/i), 1497 I = function I(s) { 1498 var c = parseInt(s.substring(1), 16); 1499 return String.fromCharCode(c < 128 ? c : c + 65216); 1500 }, 1501 K = function K(s) { 1502 var l = s.length; 1503 return JCT8836.charAt(4 < l ? (parseInt(s.substring(1), 16) - 33) * 94 + parseInt(s.substring(4), 16) - 33 : 2 < l ? (37 == (l = s.charCodeAt(0)) ? (parseInt(s.substring(1, 3), 16) - 33) * 94 + s.charCodeAt(3) : (l - 33) * 94 + parseInt(s.substring(2), 16)) - 33 : (s.charCodeAt(0) - 33) * 94 + s.charCodeAt(1) - 33); 1504 }, 1505 rI = new RegExp(), 1506 rK = new RegExp(); 1507 rI.compile("%([0-7][0-9A-F]|A[1-9A-F]|[B-D][0-9A-F])", "ig"); 1508 rK.compile("(%2[1-9A-F]|%[3-6][0-9A-F]|%7[0-9A-E]){2}|(%2[1-9A-F]|%[3-6][0-9A-F]|%7[0-9A-E])[!-~]|[!-~](%2[1-9A-F]|%[3-6][0-9A-F]|%7[0-9A-E])|[!-~]{2}", "ig"); 1509 while (p = P[i++]) { 1510 s += "%24B" == p.substring(0, 4) ? p.substring(4).replace(rK, K) : p.replace(rI, I).substring(2); 1511 }return s; 1512 }; 1513 1514 var EscapeUnicode = function EscapeUnicode(str) { 1515 return str.replace(/[^*+.-9A-Z_a-z-]/g, function (s) { 1516 var c = s.charCodeAt(0); 1517 return (c < 16 ? "%0" : c < 256 ? "%" : c < 4096 ? "%u0" : "%u") + c.toString(16).toUpperCase(); 1518 }); 1519 }; 1520 1521 var UnescapeUnicode = function UnescapeUnicode(str) { 1522 return str.replace(/%u[0-9A-F]{4}|%[0-9A-F]{2}/ig, function (s) { 1523 return String.fromCharCode("0x" + s.substring(s.length / 3)); 1524 }); 1525 }; 1526 1527 var EscapeUTF7 = function EscapeUTF7(str) { 1528 var B = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split(""), 1529 E = function E(s) { 1530 var c = s.charCodeAt(0); 1531 return B[c >> 10] + B[c >> 4 & 63] + B[(c & 15) << 2 | (c = s.charCodeAt(1)) >> 14] + (0 <= c ? B[c >> 8 & 63] + B[c >> 2 & 63] + B[(c & 3) << 4 | (c = s.charCodeAt(2)) >> 12] + (0 <= c ? B[c >> 6 & 63] + B[c & 63] : "") : ""); 1532 }, 1533 re = new RegExp();re.compile("[^+]{1,3}", "g"); 1534 return (str + "g").replace(/[^*+.-9A-Z_a-z-]+[*+.-9A-Z_a-z-]|[+]/g, function (s) { 1535 if ("+" == s) return "+-"; 1536 var l = s.length - 1, 1537 w = s.charAt(l); 1538 return "+" + s.substring(0, l).replace(re, E) + ("+" == w ? "-+-" : "*" == w || "." == w || "_" == w ? w : "-" + w); 1539 }).slice(0, -1); 1540 }; 1541 1542 var UnescapeUTF7 = function UnescapeUTF7(str) { 1543 var i = 0, 1544 B = {}; 1545 while (i < 64) { 1546 B["ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(i)] = i++; 1547 }return str.replace(RegExp("[+][+/-9A-Za-z]*-?", "g"), function (s) { 1548 if ("+-" == s) return "+"; 1549 var b = B[s.charAt(1)], 1550 c, 1551 i = 1, 1552 t = ""; 1553 while (0 <= b) { 1554 if ((c = i & 7) < 6) c = c < 3 ? b << 10 | B[s.charAt(++i)] << 4 | (b = B[s.charAt(++i)]) >> 2 : (b & 3) << 14 | B[s.charAt(++i)] << 8 | B[s.charAt(++i)] << 2 | (b = B[s.charAt(++i)]) >> 4;else { 1555 c = (b & 15) << 12 | B[s.charAt(++i)] << 6 | B[s.charAt(++i)];b = B[s.charAt(++i)]; 1556 } 1557 if (c) t += String.fromCharCode(c); 1558 } 1559 return t; 1560 }); 1561 }; 1562 1563 var EscapeUTF8 = function EscapeUTF8(str) { 1564 return str.replace(/[^*+.-9A-Z_a-z-]/g, function (s) { 1565 var c = s.charCodeAt(0); 1566 return (c < 16 ? "%0" + c.toString(16) : c < 128 ? "%" + c.toString(16) : c < 2048 ? "%" + (c >> 6 | 192).toString(16) + "%" + (c & 63 | 128).toString(16) : "%" + (c >> 12 | 224).toString(16) + "%" + (c >> 6 & 63 | 128).toString(16) + "%" + (c & 63 | 128).toString(16)).toUpperCase(); 1567 }); 1568 }; 1569 1570 var UnescapeUTF8 = function UnescapeUTF8(str) { 1571 return str.replace(/%(E(0%[AB]|[1-CEF]%[89AB]|D%[89])[0-9A-F]|C[2-9A-F]|D[0-9A-F])%[89AB][0-9A-F]|%[0-7][0-9A-F]/ig, function (s) { 1572 var c = parseInt(s.substring(1), 16); 1573 return String.fromCharCode(c < 128 ? c : c < 224 ? (c & 31) << 6 | parseInt(s.substring(4), 16) & 63 : ((c & 15) << 6 | parseInt(s.substring(4), 16) & 63) << 6 | parseInt(s.substring(7), 16) & 63); 1574 }); 1575 }; 1576 1577 var EscapeUTF16LE = function EscapeUTF16LE(str) { 1578 var H = function H(c) { 1579 return 41 < c && c < 58 && 44 != c || 64 < c && c < 91 || 95 == c || 96 < c && c < 123 ? String.fromCharCode(c) : (c < 16 ? "%0" : "%") + c.toString(16).toUpperCase(); 1580 }; 1581 return str.replace(/[^ ]| /g, function (s) {
1582 var c = s.charCodeAt(0);return H(c & 255) + H(c >> 8); 1583 }); 1584 }; 1585 1586 var UnescapeUTF16LE = function UnescapeUTF16LE(str) { 1587 var u = String.fromCharCode, 1588 b = u(92, 120, 48, 48, 45, 92, 120, 70, 70); 1589 return str.replace(/^%FF%FE/i, "").replace(RegExp("%[0-9A-F]{2}%[0-9A-F]{2}|%[0-9A-F]{2}[" + b + "]|[" + b + "]%[0-9A-F]{2}|[" + b + "]{2}", "ig"), function (s) { 1590 var l = s.length; 1591 return u(4 < l ? "0x" + s.substring(4, 6) + s.substring(1, 3) : 2 < l ? 37 == (l = s.charCodeAt(0)) ? parseInt(s.substring(1, 3), 16) | s.charCodeAt(3) << 8 : l | parseInt(s.substring(2), 16) << 8 : s.charCodeAt(0) | s.charCodeAt(1) << 8); 1592 }); 1593 }; 1594 1595 var GetEscapeCodeType = function GetEscapeCodeType(str) { 1596 if (/%u[0-9A-F]{4}/i.test(str)) return "Unicode"; 1597 if (/%([0-9A-DF][0-9A-F]%[8A]0%|E0%80|[0-7][0-9A-F]|C[01])%[8A]0|%00|%[7F]F/i.test(str)) return "UTF16LE"; 1598 if (/%E[0-9A-F]%[8A]0%[8A]0|%[CD][0-9A-F]%[8A]0/i.test(str)) return "UTF8"; 1599 if (/%F[DE]/i.test(str)) return (/%8[0-9A-D]|%9[0-9A-F]|%A0/i.test(str) ? "UTF16LE" : "EUCJP" 1600 ); 1601 if (/%1B/i.test(str)) return (/%[A-D][0-9A-F]/i.test(str) ? "JIS8" : "JIS7" 1602 ); 1603 var S = str.substring(0, 6143).replace(/%[0-9A-F]{2}|[^ ]| /ig, function (s) { 1604 return s.length < 3 ? "40" : s.substring(1); 1605 }), 1606 c, 1607 C, 1608 i = 0, 1609 T; 1610 while (0 <= (c = parseInt(S.substring(i, i += 2), 16)) && i < 4092) { 1611 if (128 <= c) { 1612 if ((C = parseInt(S.substring(i, i + 2), 16)) < 128) i += 2;else if (194 <= c && c < 240 && C < 192) { 1613 if (c < 224) { 1614 T = "UTF8";i += 2;continue; 1615 } 1616 if (2 == parseInt(S.charAt(i + 2), 16) >> 2) { 1617 T = "UTF8";i += 4;continue; 1618 } 1619 } 1620 if (142 == c && 161 <= C && C < 224) { 1621 if (!T) T = "EUCJP";if ("EUCJP" == T) continue; 1622 } 1623 if (c < 161) return "SJIS"; 1624 if (c < 224 && !T) { 1625 if ((164 == c && C < 244 || 165 == c && C < 247) && 161 <= C) i += 2;else T = 224 <= C ? "EUCJP" : "SJIS"; 1626 } else T = "EUCJP"; 1627 } 1628 }return T ? T : "EUCJP"; 1629 }; 1630 1631 var JISX0208 = Function('var a="zKV33~jZ4zN=~ji36XazM93y!{~k2y!o~k0ZlW6zN?3Wz3W?{EKzK[33[`y|;-~j^YOTz$!~kNy|L1$353~jV3zKk3~k-4P4zK_2+~jY4y!xYHR~jlz$_~jk4z$e3X5He<0y!wy|X3[:~l|VU[F3VZ056Hy!nz/m1XD61+1XY1E1=1y|bzKiz!H034zKj~mEz#c5ZA3-3X$1~mBz$$3~lyz#,4YN5~mEz#{ZKZ3V%7Y}!J3X-YEX_J(3~mAz =V;kE0/y|F3y!}~m>z/U~mI~j_2+~mA~jp2;~m@~k32;~m>V}2u~mEX#2x~mBy+x2242(~mBy,;2242(~may->2&XkG2;~mIy-_2&NXd2;~mGz,{4<6:.:B*B:XC4>6:.>B*BBXSA+A:X]E&E<~r#z+625z s2+zN=`HXI@YMXIAXZYUM8X4K/:Q!Z&33 3YWX[~mB`{zKt4z (zV/z 3zRw2%Wd39]S11z$PAXH5Xb;ZQWU1ZgWP%3~o@{Dgl#gd}T){Uo{y5_d{e@}C(} WU9|cB{w}bzvV|)[} H|zT}d||0~{]Q|(l{|x{iv{dw}(5}[Z|kuZ }cq{{y|ij}.I{idbof%cu^d}Rj^y|-M{ESYGYfYsZslS`?ZdYO__gLYRZ&fvb4oKfhSf^d<Yeasc1f&a=hnYG{QY{D`Bsa|u,}Dl|_Q{C%xK|Aq}C>|c#ryW=}eY{L+`)][YF_Ub^h4}[X|?r|u_ex}TL@YR]j{SrXgo*|Gv|rK}B#mu{R1}hs|dP{C7|^Qt3|@P{YVV |8&}#D}ef{e/{Rl|>Hni}R1{Z#{D[}CQlQ||E}[s{SG_+i8eplY[=[|ec[$YXn#`hcm}YR|{Ci(_[ql|?8p3]-}^t{wy}4la&pc|3e{Rp{LqiJ],] `kc(]@chYnrM`O^,ZLYhZB]ywyfGY~aex!_Qww{a!|)*lHrM{N+n&YYj~Z b c#e_[hZSon|rOt`}hBXa^i{lh|<0||r{KJ{kni)|x,|0auY{D!^Sce{w;|@S|cA}Xn{C1h${E]Z-XgZ*XPbp]^_qbH^e[`YM|a||+=]!Lc}]vdBc=j-YSZD]YmyYLYKZ9Z>Xcczc2{Yh}9Fc#Z.l{}(D{G{{mRhC|L3b#|xK[Bepj#ut`H[,{E9Yr}1b{[e]{ZFk7[ZYbZ0XL]}Ye[(`d}c!|*y`Dg=b;gR]Hm=hJho}R-[n}9;{N![7k_{UbmN]rf#pTe[x8}!Qcs_rs[m`|>N}^V})7{^r|/E}),}HH{OYe2{Skx)e<_.cj.cjoMhc^d}0uYZd!^J_@g,[[[?{i@][|3S}Yl3|!1|eZ|5IYw|1D}e7|Cv{OHbnx-`wvb[6[4} =g+k:{C:}ed{S]|2M]-}WZ|/q{LF|dYu^}Gs^c{Z=}h>|/i|{W]:|ip{N:|zt|S<{DH[p_tvD{N<[8Axo{X4a.^o^X>Yfa59`#ZBYgY~_t^9`jZHZn`>G[oajZ;X,i)Z.^~YJe ZiZF^{][[#Zt^|]Fjx]&_5dddW]P0C[-]}]d|y {C_jUql] |OpaA[Z{lp|rz}:Mu#]_Yf6{Ep?f5`$[6^D][^u[$[6^.Z8]]ePc2U/=]K^_+^M{q*|9tYuZ,s(dS{i=|bNbB{uG}0jZOa:[-]dYtu3]:]<{DJ_SZIqr_`l=Yt`gkTnXb3d@kiq0a`Z{|!B|}e}Ww{Sp,^Z|0>_Z}36|]A|-t}lt{R6pi|v8hPu#{C>YOZHYmg/Z4nicK[}hF_Bg|YRZ7c|crkzYZY}_iXcZ.|)U|L5{R~qi^Uga@Y[xb}&qdbd6h5|Btw[}c<{Ds53[Y7]?Z<|e0{L[ZK]mXKZ#Z2^tavf0`PE[OSOaP`4gi`qjdYMgys/?[nc,}EEb,eL]g[n{E_b/vcvgb.{kcwi`~v%|0:|iK{Jh_vf5lb}KL|(oi=LrzhhY_^@`zgf[~g)[J_0fk_V{T)}I_{D&_/d9W/|MU[)f$xW}?$xr4<{Lb{y4}&u{XJ|cm{Iu{jQ}CMkD{CX|7A}G~{kt)nB|d5|<-}WJ}@||d@|Iy}Ts|iL|/^|no|0;}L6{Pm]7}$zf:|r2}?C_k{R(}-w|`G{Gy[g]bVje=_0|PT{^Y^yjtT[[[l!Ye_`ZN]@[n_)j3nEgMa]YtYpZy].d-Y_cjb~Y~[nc~sCi3|zg}B0}do{O^{|$`_|D{}U&|0+{J3|8*]iayx{a{xJ_9|,c{Ee]QXlYb]$[%YMc*]w[aafe]aVYi[fZEii[xq2YQZHg]Y~h#|Y:thre^@^|_F^CbTbG_1^qf7{L-`VFx Zr|@EZ;gkZ@slgko`[e}T:{Cu^pddZ_`yav^Ea+[#ZBbSbO`elQfLui}.F|txYcbQ`XehcGe~fc^RlV{D_0ZAej[l&jShxG[ipB_=u:eU}3e8[=j|{D(}dO{Do[BYUZ0/]AYE]ALYhZcYlYP/^-^{Yt_1_-;YT`P4BZG=IOZ&]H[e]YYd[9^F[1YdZxZ?Z{Z<]Ba2[5Yb[0Z4l?]d_;_)a?YGEYiYv`_XmZs4ZjY^Zb]6gqGaX^9Y}dXZr[g|]Y}K aFZp^k^F]M`^{O1Ys]ZCgCv4|E>}8eb7}l`{L5[Z_faQ|c2}Fj}hw^#|Ng|B||w2|Sh{v+[G}aB|MY}A{|8o}
1631X~{E8paZ:]i^Njq]new)`-Z>haounWhN}c#{DfZ|fK]KqGZ=:u|fqoqcv}2ssm}.r{]{nIfV{JW)[K|,Z{Uxc|]l_KdCb%]cfobya3`p}G^|LZiSC]U|(X|kBlVg[kNo({O:g:|-N|qT}9?{MBiL}Sq{`P|3a|u.{Uaq:{_o|^S}jX{Fob0`;|#y_@[V[K|cw[<_ }KU|0F}d3|et{Q7{LuZttsmf^kYZ`Af`}$x}U`|Ww}d]| >}K,r&|XI|*e{C/a-bmr1fId4[;b>tQ_:]hk{b-pMge]gfpo.|(w[jgV{EC1Z,YhaY^q,_G[c_g[J0YX]`[h^hYK^_Yib,` {i6vf@YM^hdOKZZn(jgZ>bzSDc^Z%[[o9[2=/YHZ(_/Gu_`*|8z{DUZxYt^vuvZjhi^lc&gUd4|<UiA`z]$b/Z?l}YI^jaHxe|;F}l${sQ}5g}hA|e4}?o{ih}Uz{C)jPe4]H^J[Eg[|AMZMlc}:,{iz}#*|gc{Iq|/:|zK{l&}#u|myd{{M&v~nV};L|(g|I]ogddb0xsd7^V})$uQ{HzazsgxtsO^l}F>ZB]r|{7{j@cU^{{CbiYoHlng]f+nQ[bkTn/}<-d9q {KXadZYo+n|l[|lc}V2{[a{S4Zam~Za^`{HH{xx_SvF|ak=c^[v^7_rYT`ld@]:_ub%[$[m](Shu}G2{E.ZU_L_R{tz`vj(f?^}hswz}GdZ}{S:h`aD|?W|`dgG|if{a8|J1{N,}-Ao3{H#{mfsP|[ bzn+}_Q{MT{u4kHcj_q`eZj[8o0jy{p7}C|[}l){MuYY{|Ff!Ykn3{rT|m,^R|,R}$~Ykgx{P!]>iXh6[l[/}Jgcg{JYZ.^qYfYIZl[gZ#Xj[Pc7YyZD^+Yt;4;`e8YyZVbQ7YzZxXja.7SYl[s]2^/Ha$[6ZGYrb%XiYdf2]H]kZkZ*ZQ[ZYS^HZXcCc%Z|[(bVZ]]:OJQ_DZCg<[,]%Zaa [g{C00HY[c%[ChyZ,Z_`PbXa+eh`^&jPi0a[ggvhlekL]w{Yp^v}[e{~;k%a&k^|nR_z_Qng}[E}*Wq:{k^{FJZpXRhmh3^p>de^=_7`|ZbaAZtdhZ?n4ZL]u`9ZNc3g%[6b=e.ZVfC[ZZ^^^hD{E(9c(kyZ=bb|Sq{k`|vmr>izlH[u|e`}49}Y%}FT{[z{Rk}Bz{TCc/lMiAqkf(m$hDc;qooi[}^o:c^|Qm}a_{mrZ(pA`,}<2sY| adf_%|}`}Y5U;}/4|D>|$X{jw{C<|F.hK|*A{MRZ8Zsm?imZm_?brYWZrYx`yVZc3a@f?aK^ojEd {bN}/3ZH]/$YZhm^&j 9|(S|b]mF}UI{q&aM]LcrZ5^.|[j`T_V_Gak}9J[ ZCZD|^h{N9{~&[6Zd{}B}2O|cv]K}3s}Uy|l,fihW{EG`j_QOp~Z$F^zexS`dcISfhZBXP|.vn|_HYQ|)9|cr]<`&Z6]m_(ZhPcSg>`Z]5`~1`0Xcb4k1{O!bz|CN_T{LR|a/gFcD|j<{Z._[f)mPc:1`WtIaT1cgYkZOaVZOYFrEe[}T$}Ch}mk{K-^@]fH{Hdi`c*Z&|Kt{if[C{Q;{xYB`dYIX:ZB[}]*[{{p9|4GYRh2ao{DS|V+[zd$`F[ZXKadb*A] Ys]Maif~a/Z2bmclb8{Jro_rz|x9cHojbZ{GzZx_)]:{wAayeDlx}<=`g{H1{l#}9i|)=|lP{Qq}.({La|!Y{i2EZfp=c*}Cc{EDvVB|;g}2t{W4av^Bn=]ri,|y?|3+}T*ckZ*{Ffr5e%|sB{lx^0]eZb]9[SgAjS_D|uHZx]dive[c.YPkcq/}db{EQh&hQ|eg}G!ljil|BO]X{Qr_GkGl~YiYWu=c3eb}29v3|D|}4i||.{Mv})V{SP1{FX}CZW6{cm|vO{pS|e#}A~|1i}81|Mw}es|5[}3w{C`h9aL]o{}p[G`>i%a1Z@`Ln2bD[$_h`}ZOjhdTrH{[j_:k~kv[Sdu]CtL}41{I |[[{]Zp$]XjxjHt_eThoa#h>sSt8|gK|TVi[Y{t=}Bs|b7Zpr%{gt|Yo{CS[/{iteva|cf^hgn}($_c^wmb^Wm+|55jrbF|{9^ q6{C&c+ZKdJkq_xOYqZYSYXYl`8]-cxZAq/b%b*_Vsa[/Ybjac/OaGZ4fza|a)gY{P?| I|Y |,pi1n7}9bm9ad|=d{aV|2@[(}B`d&|Uz}B}{`q|/H|!JkM{FU|CB|.{}Az}#P|lk}K{|2rk7{^8^?`/|k>|Ka{Sq}Gz}io{DxZh[yK_#}9<{TRdgc]`~Z>JYmYJ]|`!ZKZ]gUcx|^E[rZCd`f9oQ[NcD_$ZlZ;Zr}mX|=!|$6ZPZYtIo%fj}CpcN|B,{VDw~gb}@hZg`Q{LcmA[(bo`<|@$|o1|Ss}9Z_}tC|G`{F/|9nd}i=}V-{L8aaeST]daRbujh^xlpq8|}zs4bj[S`J|]?G{P#{rD{]I`OlH{Hm]VYuSYUbRc*6[j`8]pZ[bt_/^Jc*[<Z?YE|Xb|?_Z^Vcas]h{t9|Uwd)_(=0^6Zb{Nc} E[qZAeX[a]P^|_J>e8`W^j_Y}R{{Jp__]Ee#e:iWb9q_wKbujrbR}CY`,{mJ}gz{Q^{t~N|? gSga`V_||:#mi}3t|/I`X{N*|ct|2g{km}gi|{={jC}F;|E}{ZZjYf*frmu}8Tdroi{T[|+~}HG{cJ}DM{Lp{Ctd&}$hi3|FZ| m}Kr|38}^c|m_|Tr{Qv|36}?Up>|;S{DV{k_as}BK{P}}9p|t`jR{sAm4{D=b4pWa[}Xi{EjwEkI}3S|E?u=X0{jf} S|NM|JC{qo^3cm]-|JUx/{Cj{s>{Crt[UXuv|D~|j|d{YXZR}Aq}0r}(_{pJfi_z}0b|-vi)Z mFe,{f4|q`b{}^Z{HM{rbeHZ|^x_o|XM|L%|uFXm}@C_{{Hhp%a7|0p[Xp+^K}9U{bP}: tT}B|}+$|b2|[^|~h{FAby[`{}xgygrt~h1[li`c4vz|,7p~b(|mviN}^pg[{N/|g3|^0c,gE|f%|7N{q[|tc|TKA{LU}I@|AZp(}G-sz{F |qZ{}F|f-}RGn6{Z]_5})B}UJ{FFb2]4ZI@v=k,]t_Dg5Bj]Z-]L]vrpdvdGlk|gF}G]|IW}Y0[G| /bo|Te^,_B}#n^^{QHYI[?hxg{[`]D^IYRYTb&kJ[cri[g_9]Ud~^_]<p@_e_XdNm-^/|5)|h_{J;{kacVopf!q;asqd}n)|.m|bf{QW|U)}b+{tL|w``N|to{t ZO|T]jF}CB|0Q{e5Zw|k |We}5:{HO{tPwf_uajjBfX}-V_C_{{r~gg|Ude;s+}KNXH}! `K}eW{Upwbk%ogaW}9EYN}YY|&v|SL{C3[5s.]Y]I]u{M6{pYZ`^,`ZbCYR[1mNg>rsk0Ym[jrE]RYiZTr*YJ{Ge|%-lf|y(`=[t}E6{k!|3)}Zk} ][G{E~cF{u3U.rJ|a9p#o#ZE|?|{sYc#vv{E=|LC}cu{N8`/`3`9rt[4|He{cq|iSYxY`}V |(Q|t4{C?]k_Vlvk)BZ^r<{CL}#h}R+[<|i=}X|{KAo]|W<`K{NW|Zx}#;|fe{IMr<|K~tJ_x}AyLZ?{GvbLnRgN}X&{H7|x~}Jm{]-| GpNu0}.ok>|c4{PYisrDZ|fwh9|hfo@{H~XSbO]Odv]%`N]b1Y]]|eIZ}_-ZA]aj,>eFn+j[aQ_+]h[J_m_g]%_wf.`%k1e#Z?{CvYu_B^|gk`Xfh^M3`afGZ-Z|[m{L}|k3cp[it ^>YUi~d>{T*}YJ{Q5{Jxa$hg|%4`}|LAgvb }G}{P=|<;Ux{_skR{cV|-*|s-{Mp|XP|$G|_J}c6cM{_=_D|*9^$ec{V;|4S{qO|w_|.7}d0|/D}e}|0G{Dq]Kdp{}dfDi>}B%{Gd|nl}lf{C-{y}|ANZr}#={T~|-(}c&{pI|ft{lsVP}){|@u}!W|bcmB{d?|iW|:dxj{PSkO|Hl]Li:}VYk@|2={fnWt{M3`cZ6|)}|Xj}BYa?vo{e4|L7|B7{L7|1W|lvYO}W8nJ|$Vih|{T{d*_1|:-n2dblk``fT{Ky|-%}m!|Xy|-a{Pz}[l{kFjz|iH}9N{WE{x,|jz}R {P|{D)c=nX|Kq|si}Ge{sh|[X{RF{t`|jsr*fYf,rK|/9}$}}Nf{y!1|<Std}4Wez{W${Fd_/^O[ooqaw_z[L`Nbv[;l7V[ii3_PeM}.h^viqYjZ*j1}+3{bt{DR[;UG}3Og,rS{JO{qw{d<_zbAh<R[1_r`iZTbv^^a}c{iEgQZ<exZFg.^Rb+`Uj{a+{z<[~r!]`[[|rZYR|?F|qppp]L|-d|}K}YZUM|=Y|ktm*}F]{D;g{uI|7kg^}%?Z%ca{N[_<q4xC]i|PqZC]n}.bDrnh0Wq{tr|OMn6tM|!6|T`{O`|>!]ji+]_bTeU}Tq|ds}n|{Gm{z,f)}&s{DPYJ`%{CGd5v4tvb*hUh~bf]z`jajiFqAii]bfy^U{Or|m+{I)cS|.9k:e3`^|xN}@Dnlis`B|Qo{`W|>||kA}Y}{ERYuYx`%[exd`]|OyiHtb}HofUYbFo![5|+]gD{NIZR|Go}.T{rh^4]S|C9_}xO^i`vfQ}C)bK{TL}cQ|79iu}9a];sj{P.o!f[Y]pM``Jda^Wc9ZarteBZClxtM{LW}l9|a.mU}KX}4@{I+f1}37|8u}9c|v${xGlz}jP{Dd1}e:}31}%3X$|22i<v+r@~mf{sN{C67G97855F4YL5}8f{DT|xy{sO{DXB334@55J1)4.G9A#JDYtXTYM4, YQD9;XbXm9SX]IB^4UN=Xn<5(;
1631(F3YW@XkH-X_VM[DYM:5XP!T&Y`6|,^{IS-*D.H>:LXjYQ0I3XhAF:9:(==.F*3F1189K/7163D,:@|e2{LS36D4hq{Lw/[email protected]:0307::6D7}&l{Mx657;89;,K5678H&93D(H<&<>0B90X^I;}Ag1{P%3A+>><975}[S{PZE453?4|T2{Q+5187;>447:81{C=hL6{Me^:=7ii{R=.=F<81;48?|h8}Uh{SE|,VxL{ST,7?9Y_5Xk3A#:$%YSYdXeKXOD8+TXh7(@>(YdXYHXl9J6X_5IXaL0N?3YK7Xh!1?XgYz9YEXhXaYPXhC3X`-YLY_XfVf[EGXZ5L8BXL9YHX]SYTXjLXdJ: YcXbQXg1PX]Yx4|Jr{Ys4.8YU+XIY`0N,<H%-H;:0@,74/:8546I=9177154870UC]d<C3HXl7ALYzXFXWP<<?E!88E5@03YYXJ?YJ@6YxX-YdXhYG|9o{`iXjY_>YVXe>AYFX[/(I@0841?):-B=14337:8=|14{c&93788|di{cW-0>0<097/A;N{FqYpugAFT%X/Yo3Yn,#=XlCYHYNX[Xk3YN:YRT4?)-YH%A5XlYF3C1=NWyY}>:74-C673<69545v {iT85YED=64=.F4..9878/D4378?48B3:7:7/1VX[f4{D,{l<5E75{dAbRB-8-@+;DBF/$ZfW8S<4YhXA.(5@*11YV8./S95C/0R-A4AXQYI7?68167B95HA1*<M3?1/@;/=54XbYP36}lc{qzSS38:19?,/39193574/66878Yw1X-87E6=;964X`T734:>86>1/=0;(I-1::7ALYGXhF+Xk[@W%TYbX7)KXdYEXi,H-XhYMRXfYK?XgXj.9HX_SX]YL1XmYJ>Y}WwIXiI-3-GXcYyXUYJ$X`Vs[7;XnYEZ;XF! 3;%8;PXX(N3Y[)Xi1YE&/ :;74YQ6X`33C;-(>Xm0(TYF/!YGXg8 9L5P01YPXO-5%C|qd{{/K/E6,=0144:361:955;6443@?B7*7:F89&F35YaX-CYf,XiFYRXE_e{}sF 0*7XRYPYfXa5YXXY8Xf8Y~XmA[9VjYj*#YMXIYOXk,HHX40YxYMXU8OXe;YFXLYuPXP?EB[QV0CXfY{:9XV[FWE0D6X^YVP*$4%OXiYQ(|xp|%c3{}V`1>Y`XH00:8/M6XhQ1:;3414|TE|&o@1*=81G8<3}6<|(f6>>>5-5:8;093B^3U*+*^*UT30XgYU&7*O1953)5@E78--F7YF*B&0:%P68W9Zn5974J9::3}Vk|-,C)=)1AJ4+<3YGXfY[XQXmT1M-XcYTYZXCYZXEYXXMYN,17>XIG*SaS|/eYJXbI?XdNZ+WRYP<F:R PXf;0Xg`$|1GX9YdXjLYxWX!ZIXGYaXNYm6X9YMX?9EXmZ&XZ#XQ>YeXRXfAY[4 ;0X!Zz0XdN$XhYL XIY^XGNXUYS/1YFXhYk.TXn4DXjB{jg|4DEX]:XcZMW=A.+QYL<LKXc[vV$+&PX*Z3XMYIXUQ:ZvW< YSXFZ,XBYeXMM)?Xa XiZ4/EXcP3%}&-|6~:1(-+YT$@XIYRBC<}&,|7aJ6}bp|8)K1|Xg|8C}[T|8Q.89;-964I38361<=/;883651467<7:>?1:.}le|:Z=39;1Y^)?:J=?XfLXbXi=Q0YVYOXaXiLXmJXO5?.SFXiCYW}-;|=u&D-X`N0X^,YzYRXO(QX_YW9`I|>hZ:N&X)DQXP@YH#XmNXi$YWX^=!G6YbYdX>XjY|XlX^XdYkX>YnXUXPYF)FXT[EVTMYmYJXmYSXmNXi#GXmT3X8HOX[ZiXN]IU2>8YdX1YbX<YfWuZ8XSXcZU%0;1XnXkZ_WTG,XZYX5YSX Yp 05G?XcYW(IXg6K/XlYP4XnI @XnO1W4Zp-9C@%QDYX+OYeX9>--YSXkD.YR%Q/Yo YUX].Xi<HYEZ2WdCE6YMXa7F)=,D>-@9/8@5=?7164;35387?N<618=6>7D+C50<6B03J0{Hj|N9$D,9I-,.KB3}m |NzE0::/81YqXjMXl7YG; [.W=Z0X4XQY]:MXiR,XgM?9$9>:?E;YE77VS[Y564760391?14941:0=:8B:;/1DXjFA-564=0B3XlH1+D85:0Q!B#:-6&N/:9<-R3/7Xn<*3J4.H:+334B.=>30H.;3833/76464665755:/83H6633:=;.>5645}&E|Y)?1/YG-,93&N3AE@5 <L1-G/8A0D858/30>8<549=@B8] V0[uVQYlXeD(P#ID&7T&7;Xi0;7T-$YE)E=1:E1GR):--0YI7=E<}n9|aT6783A>D7&4YG7=391W;Zx<5+>F#J39}o/|cc;6=A050EQXg8A1-}D-|d^5548083563695D?-.YOXd37I$@LYLWeYlX<Yd+YR A$;3-4YQ-9XmA0!9/XLY_YT(=5XdDI>YJ5XP1ZAW{9>X_6R(XhYO65&J%DA)C-!B:97#A9;@?F;&;(9=11/=657/H,<8}bz|j^5446>.L+&Y^8Xb6?(CYOXb*YF(8X`FYR(XPYVXmPQ%&DD(XmZXW??YOXZXfCYJ79,O)XnYF7K0!QXmXi4IYFRXS,6<%-:YO(+:-3Q!1E1:W,Zo}Am|n~;3580534*?3Zc4=9334361693:30C<6/717:<1/;>59&:4}6!|rS36=1?75<8}[B|s809983579I.A.>84758=108564741H*9E{L{|u%YQ<%6XfH.YUXe4YL@,>N}Tv|ve*G0X)Z;/)3@A74(4P&A1X:YVH97;,754*A66:1 D739E3553545558E4?-?K17/770843XAYf838A7K%N!YW4.$T19Z`WJ*0XdYJXTYOXNZ 1XaN1A+I&Xi.Xk3Z3GB&5%WhZ1+5#Y[X<4YMXhQYoQXVXbYQ8XSYUX4YXBXWDMG0WxZA[8V+Z8X;D],Va$%YeX?FXfX[XeYf<X:Z[WsYz8X_Y]%XmQ(!7BXIZFX]&YE3F$(1XgYgYE& +[+W!<YMYFXc;+PXCYI9YrWxGXY9DY[!GXiI7::)OC;*$.>N*HA@{C|}&k=:<TB83X`3YL+G4XiK]i}(fYK<=5$.FYE%4*5*H*6XkCYL=*6Xi6!Yi1KXR4YHXbC8Xj,B9ZbWx/XbYON#5B}Ue}+QKXnF1&YV5XmYQ0!*3IXBYb71?1B75XmF;0B976;H/RXU:YZX;BG-NXj;XjI>A#D3B636N;,*%<D:0;YRXY973H5)-4FXOYf0:0;/7759774;7;:/855:543L43<?6=E,.A4:C=L)%4YV!1(YE/4YF+ F3%;S;&JC:%/?YEXJ4GXf/YS-EXEYW,9;E}X$}547EXiK=51-?71C%?57;5>463553Zg90;6447?<>4:9.7538XgN{|!}9K/E&3-:D+YE1)YE/3;37/:05}n<}:[email protected]=.(A Q3%6K>3(P3#AYE$-6H/456*C=.XHY[#S.<780191;057C)=6HXj?955B:K1 E>-B/9,;5.!L?:0>/.@//:;7833YZ56<4:YE=/:7Z_WGC%3I6>XkC*&NA16X=Yz2$X:Y^&J48<99k8}CyB-61<18K946YO4{|N}E)YIB9K0L>4=46<1K0+R;6-=1883:478;4,S+3YJX`GJXh.Yp+Xm6MXcYpX(>7Yo,/:X=Z;Xi0YTYHXjYmXiXj;*;I-8S6N#XgY}.3XfYGO3C/$XjL$*NYX,1 6;YH&<XkK9C#I74.>}Hd`A748X[T450[n75<4439:18A107>|ET}Rf<1;14876/Yb983E<5.YNXd4149>,S=/4E/<306443G/06}0&}UkYSXFYF=44=-5095=88;63844,9E6644{PL}WA8:>)7+>763>>0/B3A545CCnT}Xm|dv}Xq1L/YNXk/H8;;.R63351YY747@15YE4J8;46;.38.>4A369.=-83,;Ye3?:[email protected]+N353;/;@(X[YYD>@/05-I*@.:551741Yf5>6A443<3535;.58/86=D4753442$635D1>0359NQ @73:3:>><Xn?;43C14 ?Y|X611YG1&<+,4<*,YLXl<1/AIXjF*N89A4Z576K1XbJ5YF.ZOWN.YGXO/YQ01:4G38Xl1;KI0YFXB=R<7;D/,/4>;$I,YGXm94@O35Yz66695385.>:6A#5}W7n^4336:4157597434433<3|XA}m`>=D>:4A.337370?-6Q96{`E|4A}C`|Qs{Mk|J+~r>|o,wHv>Vw}!c{H!|Gb|*Ca5}J||,U{t+{CN[!M65YXOY_*B,Y[Z9XaX[QYJYLXPYuZ%XcZ8LY[SYPYKZM<LMYG9OYqSQYM~[e{UJXmQYyZM_)>YjN1~[f3{aXFY|Yk:48YdH^NZ0|T){jVFYTZNFY^YTYN~[h{nPYMYn3I]`EYUYsYIZEYJ7Yw)YnXPQYH+Z.ZAZY]^Z1Y`YSZFZyGYHXLYG 8Yd#4~[i|+)YH9D?Y^F~Y7|-eYxZ^WHYdYfZQ~[j|3>~[k|3oYmYqY^XYYO=Z*4[]Z/OYLXhZ1YLZIXgYIHYEYK,<Y`YEXIGZI[3YOYcB4SZ!YHZ*&Y{Xi3~[l|JSY`Zz?Z,~[m|O=Yi>??XnYWXmYS617YVYIHZ(Z4[~L4/=~[n|Yu{P)|];YOHHZ}~[o33|a>~[r|aE]DH~[s|e$Zz~[t|kZFY~XhYXZB[`Y}
1631~[u|{SZ&OYkYQYuZ2Zf8D~[v}% ~[w3},Q[X]+YGYeYPIS~[y}4aZ!YN^!6PZ*~[z}?E~[{3}CnZ=~[}}EdDZz/9A3(3S<,YR8.D=*XgYPYcXN3Z5 4)~[~}JW=$Yu.XX~] }KDX`PXdZ4XfYpTJLY[F5]X~[2Yp}U+DZJ::<446[m@~]#3}]1~]%}^LZwZQ5Z`/OT<Yh^ -~]&}jx[ ~m<z!%2+~ly4VY-~o>}p62yz!%2+Xf2+~ly4VY-zQ`z (=] 2z~o2",C={" ":0,"!":1},c=34,i=2,p,s="",u=String.fromCharCode,t=u(12539),m=[];while(++c<127)C[u(c)]=c^39&&c^92?i++:0;i=0;while(0<=(c=C[a.charAt(i++)]))if(16==c)if((c=C[a.charAt(i++)])<87){if(86==c)c=1879;while(c--){/*s+=u(*/++p/*)*/;m.push(p)}}else{/*s+=s.substr(8272,360);*/m=m.concat(m.slice(8272,8632))}else if(c<86){/*s+=u(*/p+=c<51?c-16:(c-55)*92+C[a.charAt(i++)]/*)*/;m.push(p)}else if((c=((c-86)*92+C[a.charAt(i++)])*92+C[a.charAt(i++)])<49152){/*s+=u(*/p=c<40960?c:c|57344/*)*/;m.push(p)}else{c&=511;while(c--){/*s+=t*/;m.push(12539)}p=12539}return {"array":m}')(); 1632 1633 var JCT11280 = Function('var a="zKV33~jZ4zN=~ji36XazM93y!{~k2y!o~k0ZlW6zN?3Wz3W?{EKzK[33[`y|;-~j^YOTz$!~kNy|L1$353~jV3zKk3~k-4P4zK_2+~jY4y!xYHR~jlz$_~jk4z$e3X5He<0y!wy|X3[:~l|VU[F3VZ056Hy!nz/m1XD61+1XY1E1=1y|bzKiz!H034zKj~mEz#c5ZA3-3X$1~mBz$$3~lyz#,4YN5~mEz#{ZKZ3V%7Y}!J3X-YEX_J(3~mAz =V;kE0/y|F3y!}~m>z/U~mI~j_2+~mA~jp2;~m@~k32;~m>V}2u~mEX#2x~mBy+x2242(~mBy,;2242(~may->2&XkG2;~mIy-_2&NXd2;~mGz,{4<6:.:B*B:XC4>6:.>B*BBXSA+A:X]E&E<~r#z+625z s2+zN=`HXI@YMXIAXZYUM8X4K/:Q!Z&33 3YWX[~mB`{zKt4z (zV/z 3zRw2%Wd39]S11z$PAXH5Xb;ZQWU1ZgWP%3~o@{Dgl#gd}T){Uo{y5_d{e@}C(} WU9|cB{w}bzvV|)[} H|zT}d||0~{]Q|(l{|x{iv{dw}(5}[Z|kuZ }cq{{y|ij}.I{idbof%cu^d}Rj^y|-M{ESYGYfYsZslS`?ZdYO__gLYRZ&fvb4oKfhSf^d<Yeasc1f&a=hnYG{QY{D`Bsa|u,}Dl|_Q{C%xK|Aq}C>|c#ryW=}eY{L+`)][YF_Ub^h4}[X|?r|u_ex}TL@YR]j{SrXgo*|Gv|rK}B#mu{R1}hs|dP{C7|^Qt3|@P{YVV |8&}#D}ef{e/{Rl|>Hni}R1{Z#{D[}CQlQ||E}[s{SG_+i8eplY[=[|ec[$YXn#`hcm}YR|{Ci(_[ql|?8p3]-}^t{wy}4la&pc|3e{Rp{LqiJ],] `kc(]@chYnrM`O^,ZLYhZB]ywyfGY~aex!_Qww{a!|)*lHrM{N+n&YYj~Z b c#e_[hZSon|rOt`}hBXa^i{lh|<0||r{KJ{kni)|x,|0auY{D!^Sce{w;|@S|cA}Xn{C1h${E]Z-XgZ*XPbp]^_qbH^e[`YM|a||+=]!Lc}]vdBc=j-YSZD]YmyYLYKZ9Z>Xcczc2{Yh}9Fc#Z.l{}(D{G{{mRhC|L3b#|xK[Bepj#ut`H[,{E9Yr}1b{[e]{ZFk7[ZYbZ0XL]}Ye[(`d}c!|*y`Dg=b;gR]Hm=hJho}R-[n}9;{N![7k_{UbmN]rf#pTe[x8}!Qcs_rs[m`|>N}^V})7{^r|/E}),}HH{OYe2{Skx)e<_.cj.cjoMhc^d}0uYZd!^J_@g,[[[?{i@][|3S}Yl3|!1|eZ|5IYw|1D}e7|Cv{OHbnx-`wvb[6[4} =g+k:{C:}ed{S]|2M]-}WZ|/q{LF|dYu^}Gs^c{Z=}h>|/i|{W]:|ip{N:|zt|S<{DH[p_tvD{N<[8Axo{X4a.^o^X>Yfa59`#ZBYgY~_t^9`jZHZn`>G[oajZ;X,i)Z.^~YJe ZiZF^{][[#Zt^|]Fjx]&_5dddW]P0C[-]}]d|y {C_jUql] |OpaA[Z{lp|rz}:Mu#]_Yf6{Ep?f5`$[6^D][^u[$[6^.Z8]]ePc2U/=]K^_+^M{q*|9tYuZ,s(dS{i=|bNbB{uG}0jZOa:[-]dYtu3]:]<{DJ_SZIqr_`l=Yt`gkTnXb3d@kiq0a`Z{|!B|}e}Ww{Sp,^Z|0>_Z}36|]A|-t}lt{R6pi|v8hPu#{C>YOZHYmg/Z4nicK[}hF_Bg|YRZ7c|crkzYZY}_iXcZ.|)U|L5{R~qi^Uga@Y[xb}&qdbd6h5|Btw[}c<{Ds53[Y7]?Z<|e0{L[ZK]mXKZ#Z2^tavf0`PE[OSOaP`4gi`qjdYMgys/?[nc,}EEb,eL]g[n{E_b/vcvgb.{kcwi`~v%|0:|iK{Jh_vf5lb}KL|(oi=LrzhhY_^@`zgf[~g)[J_0fk_V{T)}I_{D&_/d9W/|MU[)f$xW}?$xr4<{Lb{y4}&u{XJ|cm{Iu{jQ}CMkD{CX|7A}G~{kt)nB|d5|<-}WJ}@||d@|Iy}Ts|iL|/^|no|0;}L6{Pm]7}$zf:|r2}?C_k{R(}-w|`G{Gy[g]bVje=_0|PT{^Y^yjtT[[[l!Ye_`ZN]@[n_)j3nEgMa]YtYpZy].d-Y_cjb~Y~[nc~sCi3|zg}B0}do{O^{|$`_|D{}U&|0+{J3|8*]iayx{a{xJ_9|,c{Ee]QXlYb]$[%YMc*]w[aafe]aVYi[fZEii[xq2YQZHg]Y~h#|Y:thre^@^|_F^CbTbG_1^qf7{L-`VFx Zr|@EZ;gkZ@slgko`[e}T:{Cu^pddZ_`yav^Ea+[#ZBbSbO`elQfLui}.F|txYcbQ`XehcGe~fc^RlV{D_0ZAej[l&jShxG[ipB_=u:eU}3e8[=j|{D(}dO{Do[BYUZ0/]AYE]ALYhZcYlYP/^-^{Yt_1_-;YT`P4BZG=IOZ&]H[e]YYd[9^F[1YdZxZ?Z{Z<]Ba2[5Yb[0Z4l?]d_;_)a?YGEYiYv`_XmZs4ZjY^Zb]6gqGaX^9Y}dXZr[g|]Y}K aFZp^k^F]M`^{O1Ys]ZCgCv4|E>}8eb7}l`{L5[Z_faQ|c2}Fj}hw^#|Ng|B||w2|Sh{v+[G}aB|MY}A{|8o}X~{E8paZ:]i^Njq]new)`-Z>haounWhN}c#{DfZ|fK]KqGZ=:u|fqoqcv}2ssm}.r{]{nIfV{JW)[K|,Z{Uxc|]l_KdCb%]cfobya3`p}G^|LZiSC]U|(X|kBlVg[kNo({O:g:|-N|qT}9?{MBiL}Sq{`P|3a|u.{Uaq:{_o|^S}jX{Fob0`;|#y_@[V[K|cw[<_ }KU|0F}d3|et{Q7{LuZttsmf^kYZ`Af`}$x}U`|Ww}d]| >}K,r&|XI|*e{C/a-bmr1fId4[;b>tQ_:]hk{b-pMge]gfpo.|(w[jgV{EC1Z,YhaY^q,_G[c_g[J0YX]`[h^hYK^_Yib,` {i6vf@YM^hdOKZZn(jgZ>bzSDc^Z%[[o9[2=/YHZ(_/Gu_`*|8z{DUZxYt^vuvZjhi^lc&gUd4|<UiA`z]$b/Z?l}YI^jaHxe|;F}l${sQ}5g}hA|e4}?o{ih}Uz{C)jPe4]H^J[Eg[|AMZMlc}:,{iz}#*|gc{Iq|/:|zK{l&}#u|myd{{M&v~nV};L|(g|I]ogddb0xsd7^V})$uQ{HzazsgxtsO^l}F>ZB]r|{7{j@cU^{{CbiYoHlng]f+nQ[bkTn/}<-d9q {KXadZYo+n|l[|lc}V2{[a{S4Zam~Za^`{HH{xx_SvF|ak=c^[v^7_rYT`ld@]:_ub%[$[m](Shu}G2{E.ZU_L_R{tz`vj(f?^}hswz}GdZ}{S:h`aD|?W|`dgG|if{a8|J1{N,}-Ao3{H#{mfsP|[ bzn+}_Q{MT{u4kHcj_q`eZj[8o0jy{p7}C|[}l){MuYY{|Ff!Ykn3{rT|m,^R|,R}$~Ykgx{P!]>iXh6[l[/}Jgcg{JYZ.^qYfYIZl[gZ#Xj[Pc7YyZD^+Yt;4;`e8YyZVbQ7YzZxXja.7SYl[s]2^/Ha$[6ZGYrb%XiYdf2]H]kZkZ*ZQ[ZYS^HZXcCc%Z|[(bVZ]]:OJQ_DZCg<[,]%Zaa [g{C00HY[c%[ChyZ,Z_`PbXa+eh`^&jPi0a[ggvhlekL]w{Yp^v}[e{~;k%a&k^|nR_z_Qng}[E}*Wq:{k^{FJZpXRhmh3^p>de^=_7`|ZbaAZtdhZ?n4ZL]u`9ZNc3g%[6b=e.ZVfC[ZZ^^^hD{E(9c(kyZ=bb|Sq{k`|vmr>izlH[u|e`}49}Y%}FT{[z{Rk}Bz{TCc/lMiAqkf(m$hDc;qooi[}^o:c^|Qm}a_{mrZ(pA`,}<2sY| adf_%|}`}Y5U;}/4|D>|$X{jw{C<|F.hK|*A{MRZ8Zsm?imZm_?brYWZrYx`yVZc3a@f?aK^ojEd {bN}/3ZH]/$YZhm^&j 9|(S|b]mF}UI{q&aM]LcrZ5^.|[j`T_V_Gak}9J[ ZCZD|^h{N9{~&[6Zd{}B}2O|cv]K}3s}Uy|l,fihW{EG`j_QOp~Z$F^zexS`dcISfhZBXP|.vn|_HYQ|)9|cr]<`&Z6]m_(ZhPcSg>`Z]5`~1`0Xcb4k1{O!bz|CN_T{LR|a/gFcD|j<{Z._[f)mPc:1`WtIaT1cgYkZOaVZOYFrEe[}T$}Ch}mk{K-^@]fH{Hdi`c*Z&|Kt{if[C{Q;{xYB`dYIX:ZB[}]*[{{p9|4GYRh2ao{DS|V+[zd$`F[ZXKadb*A] Ys]Maif~a/Z2bmclb8{Jro_rz|x9cHojbZ{GzZx_)]:{wAayeDlx}<=`g{H1{l#}9i|)=|lP{Qq}.({La|!Y{i2EZfp=c*}Cc{EDvVB|;g}2t{W4av^Bn=]ri,|y?|3+}T*ckZ*{Ffr5e%|sB{lx^0]eZb]9[SgAjS_D|uHZx]dive[c.YPkcq/}db{EQh&hQ|eg}G!ljil|BO]X{Qr_GkGl~YiYWu=c3eb}29v3|D|}4i||.{Mv})V{SP1{FX}CZW6{cm|vO{pS|e#}A~|1i}81|Mw}es|5[}3w{C`h9aL]o{}p[G`>i%a1Z@`Ln2bD[$_h`}ZOjhdTrH{[j_:k~kv[Sdu]CtL}41{I |[[{]Zp$]XjxjHt_eThoa#h>sSt8|gK|TVi[Y{t=}Bs|b7Zpr%{gt|Yo{CS[/{iteva|cf^hgn}($_c^wmb^Wm+|55jrbF|{9^ q6{C&c+ZKdJkq_xOYqZYSYXYl`8]-cxZAq/b%b*_Vsa[/Ybjac/OaGZ4fza|a)gY{P?| I|Y |,pi1n7}9bm9ad|=d{aV|2@[(}B`d&|Uz}B}{`q|/H|!JkM{FU|CB|.{}Az}#P|lk}K{|2rk7{^8^?`/|k>|Ka{Sq}Gz}io{DxZh[yK_#}9<{TRdgc]`~Z>JYmYJ]|`!ZKZ]gUcx|^E[rZCd`f9oQ[NcD_$ZlZ;Zr}mX|=!|$6ZPZYtIo%fj}
1633CpcN|B,{VDw~gb}@hZg`Q{LcmA[(bo`<|@$|o1|Ss}9Z_}tC|G`{F/|9nd}i=}V-{L8aaeST]daRbujh^xlpq8|}zs4bj[S`J|]?G{P#{rD{]I`OlH{Hm]VYuSYUbRc*6[j`8]pZ[bt_/^Jc*[<Z?YE|Xb|?_Z^Vcas]h{t9|Uwd)_(=0^6Zb{Nc} E[qZAeX[a]P^|_J>e8`W^j_Y}R{{Jp__]Ee#e:iWb9q_wKbujrbR}CY`,{mJ}gz{Q^{t~N|? gSga`V_||:#mi}3t|/I`X{N*|ct|2g{km}gi|{={jC}F;|E}{ZZjYf*frmu}8Tdroi{T[|+~}HG{cJ}DM{Lp{Ctd&}$hi3|FZ| m}Kr|38}^c|m_|Tr{Qv|36}?Up>|;S{DV{k_as}BK{P}}9p|t`jR{sAm4{D=b4pWa[}Xi{EjwEkI}3S|E?u=X0{jf} S|NM|JC{qo^3cm]-|JUx/{Cj{s>{Crt[UXuv|D~|j|d{YXZR}Aq}0r}(_{pJfi_z}0b|-vi)Z mFe,{f4|q`b{}^Z{HM{rbeHZ|^x_o|XM|L%|uFXm}@C_{{Hhp%a7|0p[Xp+^K}9U{bP}: tT}B|}+$|b2|[^|~h{FAby[`{}xgygrt~h1[li`c4vz|,7p~b(|mviN}^pg[{N/|g3|^0c,gE|f%|7N{q[|tc|TKA{LU}I@|AZp(}G-sz{F |qZ{}F|f-}RGn6{Z]_5})B}UJ{FFb2]4ZI@v=k,]t_Dg5Bj]Z-]L]vrpdvdGlk|gF}G]|IW}Y0[G| /bo|Te^,_B}#n^^{QHYI[?hxg{[`]D^IYRYTb&kJ[cri[g_9]Ud~^_]<p@_e_XdNm-^/|5)|h_{J;{kacVopf!q;asqd}n)|.m|bf{QW|U)}b+{tL|w``N|to{t ZO|T]jF}CB|0Q{e5Zw|k |We}5:{HO{tPwf_uajjBfX}-V_C_{{r~gg|Ude;s+}KNXH}! `K}eW{Upwbk%ogaW}9EYN}YY|&v|SL{C3[5s.]Y]I]u{M6{pYZ`^,`ZbCYR[1mNg>rsk0Ym[jrE]RYiZTr*YJ{Ge|%-lf|y(`=[t}E6{k!|3)}Zk} ][G{E~cF{u3U.rJ|a9p#o#ZE|?|{sYc#vv{E=|LC}cu{N8`/`3`9rt[4|He{cq|iSYxY`}V |(Q|t4{C?]k_Vlvk)BZ^r<{CL}#h}R+[<|i=}X|{KAo]|W<`K{NW|Zx}#;|fe{IMr<|K~tJ_x}AyLZ?{GvbLnRgN}X&{H7|x~}Jm{]-| GpNu0}.ok>|c4{PYisrDZ|fwh9|hfo@{H~XSbO]Odv]%`N]b1Y]]|eIZ}_-ZA]aj,>eFn+j[aQ_+]h[J_m_g]%_wf.`%k1e#Z?{CvYu_B^|gk`Xfh^M3`afGZ-Z|[m{L}|k3cp[it ^>YUi~d>{T*}YJ{Q5{Jxa$hg|%4`}|LAgvb }G}{P=|<;Ux{_skR{cV|-*|s-{Mp|XP|$G|_J}c6cM{_=_D|*9^$ec{V;|4S{qO|w_|.7}d0|/D}e}|0G{Dq]Kdp{}dfDi>}B%{Gd|nl}lf{C-{y}|ANZr}#={T~|-(}c&{pI|ft{lsVP}){|@u}!W|bcmB{d?|iW|:dxj{PSkO|Hl]Li:}VYk@|2={fnWt{M3`cZ6|)}|Xj}BYa?vo{e4|L7|B7{L7|1W|lvYO}W8nJ|$Vih|{T{d*_1|:-n2dblk``fT{Ky|-%}m!|Xy|-a{Pz}[l{kFjz|iH}9N{WE{x,|jz}R {P|{D)c=nX|Kq|si}Ge{sh|[X{RF{t`|jsr*fYf,rK|/9}$}}Nf{y!1|<Std}4Wez{W${Fd_/^O[ooqaw_z[L`Nbv[;l7V[ii3_PeM}.h^viqYjZ*j1}+3{bt{DR[;UG}3Og,rS{JO{qw{d<_zbAh<R[1_r`iZTbv^^a}c{iEgQZ<exZFg.^Rb+`Uj{a+{z<[~r!]`[[|rZYR|?F|qppp]L|-d|}K}YZUM|=Y|ktm*}F]{D;g{uI|7kg^}%?Z%ca{N[_<q4xC]i|PqZC]n}.bDrnh0Wq{tr|OMn6tM|!6|T`{O`|>!]ji+]_bTeU}Tq|ds}n|{Gm{z,f)}&s{DPYJ`%{CGd5v4tvb*hUh~bf]z`jajiFqAii]bfy^U{Or|m+{I)cS|.9k:e3`^|xN}@Dnlis`B|Qo{`W|>||kA}Y}{ERYuYx`%[exd`]|OyiHtb}HofUYbFo![5|+]gD{NIZR|Go}.T{rh^4]S|C9_}xO^i`vfQ}C)bK{TL}cQ|79iu}9a];sj{P.o!f[Y]pM``Jda^Wc9ZarteBZClxtM{LW}l9|a.mU}KX}4@{I+f1}37|8u}9c|v${xGlz}jP{Dd1}e:}31}%3X$|22i<v+r@~mf{sN{C67G97855F4YL5}8f{DT|xy{sO{DXB334@55J1)4.G9A#JDYtXTYM4, YQD9;XbXm9SX]IB^4UN=Xn<5(;(F3YW@XkH-X_VM[DYM:5XP!T&Y`6|,^{IS-*D.H>:LXjYQ0I3XhAF:9:(==.F*3F1189K/7163D,:@|e2{LS36D4hq{Lw/[email protected]:0307::6D7}&l{Mx657;89;,K5678H&93D(H<&<>0B90X^I;}Ag1{P%3A+>><975}[S{PZE453?4|T2{Q+5187;>447:81{C=hL6{Me^:=7ii{R=.=F<81;48?|h8}Uh{SE|,VxL{ST,7?9Y_5Xk3A#:$%YSYdXeKXOD8+TXh7(@>(YdXYHXl9J6X_5IXaL0N?3YK7Xh!1?XgYz9YEXhXaYPXhC3X`-YLY_XfVf[EGXZ5L8BXL9YHX]SYTXjLXdJ: YcXbQXg1PX]Yx4|Jr{Ys4.8YU+XIY`0N,<H%-H;:0@,74/:8546I=9177154870UC]d<C3HXl7ALYzXFXWP<<?E!88E5@03YYXJ?YJ@6YxX-YdXhYG|9o{`iXjY_>YVXe>AYFX[/(I@0841?):-B=14337:8=|14{c&93788|di{cW-0>0<097/A;N{FqYpugAFT%X/Yo3Yn,#=XlCYHYNX[Xk3YN:YRT4?)-YH%A5XlYF3C1=NWyY}>:74-C673<69545v {iT85YED=64=.F4..9878/D4378?48B3:7:7/1VX[f4{D,{l<5E75{dAbRB-8-@+;DBF/$ZfW8S<4YhXA.(5@*11YV8./S95C/0R-A4AXQYI7?68167B95HA1*<M3?1/@;/=54XbYP36}lc{qzSS38:19?,/39193574/66878Yw1X-87E6=;964X`T734:>86>1/=0;(I-1::7ALYGXhF+Xk[@W%TYbX7)KXdYEXi,H-XhYMRXfYK?XgXj.9HX_SX]YL1XmYJ>Y}WwIXiI-3-GXcYyXUYJ$X`Vs[7;XnYEZ;XF! 3;%8;PXX(N3Y[)Xi1YE&/ :;74YQ6X`33C;-(>Xm0(TYF/!YGXg8 9L5P01YPXO-5%C|qd{{/K/E6,=0144:361:955;6443@?B7*7:F89&F35YaX-CYf,XiFYRXE_e{}sF 0*7XRYPYfXa5YXXY8Xf8Y~XmA[9VjYj*#YMXIYOXk,HHX40YxYMXU8OXe;YFXLYuPXP?EB[QV0CXfY{:9XV[FWE0D6X^YVP*$4%OXiYQ(|xp|%c3{}V`1>Y`XH00:8/M6XhQ1:;3414|TE|&o@1*=81G8<3}6<|(f6>>>5-5:8;093B^3U*+*^*UT30XgYU&7*O1953)5@E78--F7YF*B&0:%P68W9Zn5974J9::3}Vk|-,C)=)1AJ4+<3YGXfY[XQXmT1M-XcYTYZXCYZXEYXXMYN,17>XIG*SaS|/eYJXbI?XdNZ+WRYP<F:R PXf;0Xg`$|1GX9YdXjLYxWX!ZIXGYaXNYm6X9YMX?9EXmZ&XZ#XQ>YeXRXfAY[4 ;0X!Zz0XdN$XhYL XIY^XGNXUYS/1YFXhYk.TXn4DXjB{jg|4DEX]:XcZMW=A.+QYL<LKXc[vV$+&PX*Z3XMYIXUQ:ZvW< YSXFZ,XBYeXMM)?Xa XiZ4/EXcP3%}&-|6~:1(-+YT$@XIYRBC<}&,|7aJ6}bp|8)K1|Xg|8C}[T|8Q.89;-964I38361<=/;883651467<7:>?1:.}le|:Z=39;1Y^)?:J=?XfLXbXi=Q0YVYOXaXiLXmJXO5?.SFXiCYW}-;|=u&D-X`N0X^,YzYRXO(QX_YW9`I|>hZ:N&X)DQXP@YH#XmNXi$YWX^=!G6YbYdX>XjY|XlX^XdYkX>YnXUXPYF)FXT[EVTMYmYJXmYSXmNXi#GXmT3X8HOX[ZiXN]IU2>8YdX1YbX<YfWuZ8XSXcZU%0;1XnXkZ_WTG,XZYX5YSX Yp 05G?XcYW(IXg6K/XlYP4XnI @XnO1W4Zp-9C@%QDYX+OYeX9>--YSXkD.YR%Q/Yo YUX].Xi<HYEZ2WdCE6YMXa7F)=,D>-@9/8@5=?7164;35387?N<618=6>7D+C50<6B03J0{Hj|N9$D,9I-,.KB3}m |NzE0::/81YqXjMXl7YG; [.W=Z0X4XQY]:MXiR,XgM?9$9>:?E;YE77VS[Y564760391?14941:0=:8B:;/1DXjFA-564=0B3XlH1+D85:0Q!B#:-6&N/:9<-R3/7Xn<*3J4.H:+334B.=>30H.;3833/76464665755:/83H6633:=;.>5645}&E|Y)?1/YG-,93&N3AE@5 <L1-G/8A0D858/30>8<549=@B8] V0[uVQYlXeD(P#ID&7T&7;Xi0;7T-$YE)E=1:E1GR):--0YI7=E<}n9|aT6783A>D7&4YG7=391W;Zx<5+>F#J39}o/|cc;6=A050EQXg8A1-}D-|d^5548083563695D?-.YOXd37I$@LYLWeYlX<Yd+YR A$;3-4YQ-9XmA0!9/XLY_YT(=5XdDI>YJ5XP1ZAW{9>X_6R(XhYO65&J%DA)C-!B:97#A9;@?F;&;(9=11/=657/H,<8}bz|j^5446>.L+&Y^8Xb6?(CYOXb*YF(8X`FYR(XPYVXmPQ%&DD(XmZXW??YOXZXfCYJ79,O)XnYF7K0!QXmXi4IYFRXS,6<%-:YO(+:-3Q!1E1:W,Zo}Am|n~;3580534*?3Zc4=9334361693:30C<6/717:<1/;>59&:4}6!|rS36=1?75<8}[B|s809983579I.A.>84758=108564741H*9E{L{|u%YQ<%6XfH.YUXe4YL@,>N}Tv|ve*G0X)Z;/)3@A74(4P&A1X:YVH97;,754*A66:1 D739E3553545558E4?-?K17/770843XAYf838A7K%N!YW4.$T19Z`WJ*0XdYJXTYOXNZ 1XaN1A+I&Xi.Xk3Z3GB&5%WhZ1+5#Y[X<4YMXhQYoQXVXbYQ8XSYUX4YXBXWDMG0WxZA[8V+Z8X;D],Va$%YeX?FXfX[XeYf<X:Z[WsYz8X_Y]%XmQ(!7BXIZFX]&YE3F$(1XgYgYE& +[+W!<YMYFXc;+PXCYI9YrWxGXY9DY[!GXiI7::)OC;*$.>N*HA@{C|}&k=:<TB83X`3YL+G4XiK]i}
1633(fYK<=5$.FYE%4*5*H*6XkCYL=*6Xi6!Yi1KXR4YHXbC8Xj,B9ZbWx/XbYON#5B}Ue}+QKXnF1&YV5XmYQ0!*3IXBYb71?1B75XmF;0B976;H/RXU:YZX;BG-NXj;XjI>A#D3B636N;,*%<D:0;YRXY973H5)-4FXOYf0:0;/7759774;7;:/855:543L43<?6=E,.A4:C=L)%4YV!1(YE/4YF+ F3%;S;&JC:%/?YEXJ4GXf/YS-EXEYW,9;E}X$}547EXiK=51-?71C%?57;5>463553Zg90;6447?<>4:9.7538XgN{|!}9K/E&3-:D+YE1)YE/3;37/:05}n<}:[email protected]=.(A Q3%6K>3(P3#AYE$-6H/456*C=.XHY[#S.<780191;057C)=6HXj?955B:K1 E>-B/9,;5.!L?:0>/.@//:;7833YZ56<4:YE=/:7Z_WGC%3I6>XkC*&NA16X=Yz2$X:Y^&J48<99k8}CyB-61<18K946YO4{|N}E)YIB9K0L>4=46<1K0+R;6-=1883:478;4,S+3YJX`GJXh.Yp+Xm6MXcYpX(>7Yo,/:X=Z;Xi0YTYHXjYmXiXj;*;I-8S6N#XgY}.3XfYGO3C/$XjL$*NYX,1 6;YH&<XkK9C#I74.>}Hd`A748X[T450[n75<4439:18A107>|ET}Rf<1;14876/Yb983E<5.YNXd4149>,S=/4E/<306443G/06}0&}UkYSXFYF=44=-5095=88;63844,9E6644{PL}WA8:>)7+>763>>0/B3A545CCnT}Xm|dv}Xq1L/YNXk/H8;;.R63351YY747@15YE4J8;46;.38.>4A369.=-83,;Ye3?:[email protected]+N353;/;@(X[YYD>@/05-I*@.:551741Yf5>6A443<3535;.58/86=D4753442$635D1>0359NQ @73:3:>><Xn?;43C14 ?Y|X611YG1&<+,4<*,YLXl<1/AIXjF*N89A4Z576K1XbJ5YF.ZOWN.YGXO/YQ01:4G38Xl1;KI0YFXB=R<7;D/,/4>;$I,YGXm94@O35Yz66695385.>:6A#5}W7n^4336:4157597434433<3|XA}m`>=D>:4A.337370?-6Q96{`E|4A}C`|Qs{Mk|J+~r>|o,wHv>Vw}!c{H!|Gb|*Ca5}J||,U{t+{CN[!M65YXOY_*B,Y[Z9XaX[QYJYLXPYuZ%XcZ8LY[SYPYKZM<LMYG9OYqSQYM~[e{UJXmQYyZM_)>YjN1~[f3{aXFY|Yk:48YdH^NZ0|T){jVFYTZNFY^YTYN~[h{nPYMYn3I]`EYUYsYIZEYJ7Yw)YnXPQYH+Z.ZAZY]^Z1Y`YSZFZyGYHXLYG 8Yd#4~[i|+)YH9D?Y^F~Y7|-eYxZ^WHYdYfZQ~[j|3>~[k|3oYmYqY^XYYO=Z*4[]Z/OYLXhZ1YLZIXgYIHYEYK,<Y`YEXIGZI[3YOYcB4SZ!YHZ*&Y{Xi3~[l|JSY`Zz?Z,~[m|O=Yi>??XnYWXmYS617YVYIHZ(Z4[~L4/=~[n|Yu{P)|];YOHHZ}~[o33|a>~[r|aE]DH~[s|e$Zz~[t|kZFY~XhYXZB[`Y}~[u|{SZ&OYkYQYuZ2Zf8D~[v}% ~[w3},Q[X]+YGYeYPIS~[y}4aZ!YN^!6PZ*~[z}?E~[{3}CnZ=~[}}EdDZz/9A3(3S<,YR8.D=*XgYPYcXN3Z5 4)~[~}JW=$Yu.XX~] }KDX`PXdZ4XfYpTJLY[F5]X~[2Yp}U+DZJ::<446[m@~]#3}]1~]%}^LZwZQ5Z`/OT<Yh^ -~]&}jx[ ~m<z!%2+~ly4VY-~o>}p62yz!%2+Xf2+~ly4VY-zQ`z (=] 2z~o2",C={" ":0,"!":1},c=34,i=2,p,s="",u=String.fromCharCode,t=u(12539);while(++c<127)C[u(c)]=c^39&&c^92?i++:0;i=0;while(0<=(c=C[a.charAt(i++)]))if(16==c)if((c=C[a.charAt(i++)])<87){if(86==c)c=1879;while(c--)s+=u(++p)}else s+=s.substr(8272,360);else if(c<86)s+=u(p+=c<51?c-16:(c-55)*92+C[a.charAt(i++)]);else if((c=((c-86)*92+C[a.charAt(i++)])*92+C[a.charAt(i++)])<49152)s+=u(p=c<40960?c:c|57344);else{c&=511;while(c--)s+=t;p=12539}return s')(); 1634 1635 var JCT8836 = JCT11280.substring(0, 8836); 1636 // var JCT8836=(JCT11280=JISX0208.s).substring(0,8836); 1637 1638 /** 1639 * U2CP,CP2U Unicodeçªå·ã¨JISçªå·ã®å¯¾å¿ãã¼ãã« 1640 * Unicodeçªå·ã¯ã¹ã«ã©å¤ãJISçªå·ã¯åºç¹ä½ç½®(1é¢ã1ï½119åºã1ï½94ç¹)ã1+7+7bitã®15bitæ´æ°ã«ãããã®ãç¨ããã 1641 * 1642 * JCT11280ã¯Windows-31Jã®ãã¼ãã«ã§ãéè¤ç»é²ãããæ¼¢åãããã 1643 * éè¤ç»é²ãããæ¼¢åã®åºç¹ä½ç½®ãæ±ããå ´åã¯Windows APIã®ä»æ§ã«å¾ã 1644 * (1)JIS X 0208-1990ã®ç»é²æåã§ããå ´åã¯ãããã«çµ±ä¸ 1645 * (2)ãNECç¹æ®æåããIBMæ¡å¼µæåããéè¤ããå ´åã¯ããNECç¹æ®æåãã«çµ±ä¸ 1646 * (3)ãNECé¸å®IBMæ¡å¼µæåããIBMæ¡å¼µæåããéè¤ããå ´åã¯ããIBMæ¡å¼µæåãã«çµ±ä¸ 1647 * ã®ã«ã¼ã«ã§ã³ã¼ããã¤ã³ãã«å¤æããã 1648 * è¨ãæããã¨,1ï½88åºã¾ã§ã¯å ã«ç¾ããã³ã¼ããã¤ã³ããåªå ãã89ï½92åºã®NECé¸å®IBMæ¡å¼µæåã¯å©ç¨ãã 1649 * 代ããã«115ï½119åºã«ç¾ããIBMæ¡å¼µæåã®ã³ã¼ããã¤ã³ããå©ç¨ãã 1650 * 1651 * @see http://ja.wikipedia.org/wiki/Microsoft%E3%82%B3%E3%83%BC%E3%83%89%E3%83%9A%E3%83%BC%E3%82%B8932#Windows-31J_.E3.81.AB.E9.87.8D.E8.A4.87.E7.99.BB.E9.8C.B2.E3.81.95.E3.82.8C.E3.81.9F.E3.82.B3.E3.83.BC.E3.83.89 1652 */ 1653 var U2CP = {}, 1654 CP2U = {}, 1655 P1 = 1 << 14; 1656 (function (array) { 1657 var sc, 1658 cp, 1659 i, 1660 il = array.length; 1661 for (i = 0; i < il; i++) { 1662 sc = array[i]; 1663 if (sc === 12539 && i > 5) { 1664 continue; 1665 } 1666 cp = P1 | (i / 94 | 0) << 7 | i % 94; 1667 CP2U[cp] = sc; 1668 if ((i < 8272 || 10715 < i) && U2CP[sc] === undefined) { 1669 U2CP[sc] = cp; 1670 } 1671 } 1672 })(JISX0208.array); 1673 1674 var charset = { Unicode: {}, SJIS: {}, EUCJP: {}, JIS7: {}, JIS8: {}, UTF7: {}, UTF8: {}, UTF16LE: {}, UTF16BE: {}, MUTF7: {} }, 1675 enc = { Text: {}, Unicode: {}, URI: {}, Base64: {} }; 1676 1677 /** 1678 * æååã16bitæ´æ°ã®é åã«å¤æãã 1679 */ 1680 enc.Text.parse = function (str) { 1681 var a = [], 1682 i, 1683 il = str.length; 1684 for (i = 0; i < il; i++) { 1685 a.push(str.charCodeAt(i)); 1686 } 1687 return a; 1688 }; 1689 /** 1690 * 16bitæ´æ°ã®é åãæååã«å¤æãã 1691 */ 1692 enc.Text.stringify = function (array) { 1693 var s = "", 1694 i, 1695 il = array.length, 1696 c; 1697 for (i = 0; i < il; i++) { 1698 s += String.fromCharCode(array[i]); 1699 } 1700 return s; 1701 }; 1702 /** 1703 * æååã24bit(0..0x10FFFF)æ´æ°ã®é åã«å¤æãã 1704 */ 1705 charset.Unicode.parse = function (str) { 1706 var a = [], 1707 i, 1708 il = str.length, 1709 c; 1710 for (i = 0; i < il; i++) { 1711 //scalar UTF-16 1712 //000uuuuuxxxxxxyyyyyyyyyy 110110wwwwxxxxxx 110111yyyyyyyyyy wwww = uuuuu - 1 1713 55295 < (c = str.charCodeAt(i)) && c < 56320 && (c = ((c & 1023) + 64 << 10) + (str.charCodeAt(++i) & 1023)); 1714 a.push(c); 1715 } 1716 return a; 1717 }; 1718 /** 1719 * 24bitæ´æ°ã®é åãæååã«å¤æãã 1720 */ 1721 charset.Unicode.stringify = function (array) { 1722 var s = "", 1723 i, 1724 il = array.length, 1725 c; 1726 for (i = 0; i < il; i++) { 1727 s += (c = array[i]) > 65535 ? String.fromCharCode((c >>> 10) - 64 | 55296, c & 1023 | 56320) : String.fromCharCode(c); 1728 } 1729 return s; 1730 }; 1731 charset.Unicode.fromU = charset.Unicode.toU = function (a) { 1732 return a; 1733 }; 1734 //http://charset.7jp.net/sjis.html 1735 //http://ja.wikipedia.org/wiki/Microsoft%E3%82%B3%E3%83%BC%E3%83%89%E3%83%9A%E3%83%BC%E3%82%B8932 1736 /** 1737 * UTF-16ã®é åããSJISã®8bité åã«å¤æãã 1738 * @param {Array} array Unicodeã®24ité å 1739 * @return {Array} SJISã®8bité å 1740 */ 1741 charset.SJIS.fromU = function (array) { 1742 var a = [], 1743 i, 1744 il = array.length, 1745 c, 1746 s, 1747 m; 1748 for (i = 0; i < il; i++) { 1749 c = array[i]; 1750 c < 128 ? a.push(c) : 65376 < c && c < 65440 ? a.push(c - 65216) : 1751 /* 1752 (c=JCT11280.indexOf((s=String.fromCharCode(c))))<0 ? a.push(129,69) : a.push( 1753 (m=((c<8272?c:(c=JCT11280.lastIndexOf(s)))-(c%=188))/188)<31 ? m+129 : m+193, //mã¯(åº-1)/2
1754 c+=c<63?64:65 1755 ) 1756 */ 1757 (c = U2CP[c] || -1) < 0 || c > 31499 ? a.push(129, 69) : a.push((m = c >>> 7 & 127, c = (c & 127) + (m & 1) * 94, m = m >>> 1) < 31 ? m + 129 : m + 193, c += c < 63 ? 64 : 65); 1758 } 1759 return a; 1760 }; 1761 /** 1762 * SJISã®8bité åãUnicodeã®é åã«å¤æãã 1763 * @param {Array} array SJISã®8bité å 1764 * @return {Array} Unicodeã®24bité å 1765 */ 1766 charset.SJIS.toU = function (array) { 1767 var a = [], 1768 i, 1769 il = array.length, 1770 c; 1771 for (i = 0; i < il; i++) { 1772 c = array[i]; 1773 c < 128 || 160 < c && c < 224 ? a.push(160 < c ? c + 65216 : c) //ASCII+ï½¶ï¾ 1774 // : a.push( JCT11280.charAt((c<160?c-129:c-193)*188+(c=array[++i],c<127?c-64:c-65)).charCodeAt(0) ) 1775 : a.push(CP2U[P1 | (c < 160 ? c - 129 : c - 193) << 8 | (c = array[++i], c < 127 ? c - 64 : c < 159 ? c - 65 : c - 31)]); 1776 } 1777 return a; 1778 }; 1779 //http://www.unixuser.org/~euske/doc/kanjicode/ 1780 // JISåºç¹ä½ç½®ããSJISã«å¤æ 1781 charset.SJIS.fromJ = function (array) { 1782 var a = [], 1783 i, 1784 il = array.length, 1785 c, 1786 m; 1787 for (i = 0; i < il; i++) { 1788 c = array[i]; 1789 c < 224 ? a.push(c) : c > 31499 ? a.push(129, 69) : a.push((m = c >>> 7 & 127, c = (c & 127) + (m & 1) * 94, m = m >>> 1) < 31 ? m + 129 : m + 193, c += c < 63 ? 64 : 65); 1790 } 1791 return a; 1792 }; 1793 charset.SJIS.toJ = function (array) { 1794 var a = [], 1795 i, 1796 il = array.length, 1797 c, 1798 k; 1799 for (i = 0; i < il; i++) { 1800 c = array[i]; 1801 c < 128 || 160 < c && c < 224 ? a.push(c) //ASCII+ï½¶ï¾ 1802 : a.push(P1 | (c < 160 ? c - 129 : c - 193) << 8 | (c = array[++i], c < 127 ? c - 64 : c < 159 ? c - 65 : c - 31)); 1803 } 1804 return a; 1805 }; 1806 //http://ja.wikipedia.org/wiki/EUC-JP, http://charset.7jp.net/euc.html 1807 charset.EUCJP.fromU = function (array) { 1808 var a = [], 1809 i, 1810 il = array.length, 1811 c; 1812 for (i = 0; i < il; i++) { 1813 (c = array[i]) < 128 ? a.push(c) : 65376 < c && c < 65440 ? a.push(142, c - 65216) : 1814 /* 1815 (c=JCT8836.indexOf(String.fromCharCode(c)))<0 ? a.push(161,166) : ( 1816 a.push((c-(c%=94))/94+161, c+161) 1817 */ 1818 (c = U2CP[c] || -1) < 0 || c > 31499 ? a.push(161, 166) : a.push((c >>> 7 & 127) + 161, (c & 127) + 161); 1819 } 1820 return a; 1821 }; 1822 charset.EUCJP.toU = function (array) { 1823 var a = [], 1824 i, 1825 il = array.length, 1826 c; 1827 for (i = 0; i < il; i++) { 1828 c = array[i]; 1829 c < 161 ? a.push(c < 128 ? c : array[++i] + 65216) //ASCII+ï½¶ï¾ 1830 // : a.push(JCT8836.charAt((c-161)*94 + array[++i]-161).charCodeAt(0)) 1831 : a.push(CP2U[P1 | c - 161 << 7 | array[++i] - 161]); 1832 } 1833 return a; 1834 }; 1835 charset.EUCJP.fromJ = function (array) { 1836 var a = [], 1837 i, 1838 il = array.length, 1839 c; 1840 for (i = 0; i < il; i++) { 1841 (c = array[i]) < 224 ? a.push(c < 128 ? c : c + 65216) : c > 31499 ? a.push(161, 166) : a.push((c >>> 7 & 127) + 161, (c & 127) + 161); 1842 } 1843 return a; 1844 }; 1845 charset.EUCJP.toJ = function (array) { 1846 var a = [], 1847 i, 1848 il = array.length, 1849 c; 1850 for (i = 0; i < il; i++) { 1851 c = array[i]; 1852 c < 161 ? a.push(c < 128 ? c : array[++i]) //ASCII+ï½¶ï¾ 1853 : a.push(P1 | c - 161 << 7 | array[++i] - 161); 1854 } 1855 return a; 1856 }; 1857 //http://charset.7jp.net/jis.html, http://yasu.asuka.net/translations/RFC1468.html 1858 charset.JIS7.fromU = function (array) { 1859 var a = [], 1860 i, 1861 il = array.length, 1862 c, 1863 es = [0, 1, 2], 1864 e = es[0]; //"\e(B":ASCIIã®éå§,"\e(I":åè§ã«ã¿ã«ãã®éå§,"\e$B":æ¼¢åã®éå§ 1865 for (i = 0; i < il; i++) { 1866 (c = array[i]) < 128 ? (e != es[0] && (e = es[0], a.push(27, 40, 66)), a.push(c)) : 65376 < c && c < 65440 ? (e != es[1] && (e = es[1], a.push(27, 40, 73)), a.push(c - 65344)) : (e != es[2] && (e = es[2], a.push(27, 36, 66)), 1867 // (c=JCT8836.indexOf(String.fromCharCode(c)))<0 ? a.push(33,38) : a.push((c-(c%=94))/94+33,c+33)) 1868 (c = U2CP[c] || -1) < 0 || c > 31499 ? a.push(33, 38) : a.push((c >>> 7 & 127) + 33, (c & 127) + 33)); 1869 } 1870 e !== es[0] && a.push(27, 40, 66); //ASCIIã§çµãã£ã¦ããå¿ è¦ããã 1871 return a; 1872 }; 1873 charset.JIS7.toU = function (array) { 1874 // "\e(B":ASCIIã®éå§,"\e(I":åè§ã«ã¿ã«ãã®éå§,"\e$B":æ¼¢åã®éå§, "\e(J":ãã¼ãåã»ãã(âASCII)éå§, "\e$@":æ¼¢åã®éå§(æ§) 1875 // 0x1b2842(27,40,66), 0x1b2849(27,40,73), 0x1b2442(27,36,66), 0x1b284a(27,40,74), 0x1b2440(27,36,64) 1876 // [27,40,66]or[27,40,74]ãªãASCIIã[27,40,73]ãªãåè§ã«ãã[27,36,66]or[27,36,64]ãªãæ¼¢åã¨ãã¦ãã³ã¼ããã 1877 var a = [], 1878 i, 1879 il = array.length, 1880 c, 1881 es = [0, 1, 2], 1882 e = es[0]; 1883 for (i = 0; i < il; i++) { 1884 array[i] === 27 && (array[++i] === 36 ? (e = es[2], i += 2) : (e = array[++i] === 73 ? es[1] : es[0], i++)); 1885 i < il && (c = array[i]) && ( 1886 // e===es[2] ? a.push(JCT8836.charAt((c-33)*94+array[++i]-33).charCodeAt(0)) 1887 e === es[2] ? a.push(CP2U[P1 | c - 33 << 7 | array[++i] - 33]) : e === es[1] ? a.push(c + 65344) : a.push(c < 128 ? c : c + 65216)); 1888 } 1889 return a; 1890 }; 1891 charset.JIS7.fromJ = function (array) { 1892 var a = [], 1893 i, 1894 il = array.length, 1895 c, 1896 es = [0, 1, 2], 1897 e = es[0]; 1898 for (i = 0; i < il; i++) { 1899 (c = array[i]) < 128 ? (e != es[0] && (e = es[0], a.push(27, 40, 66)), a.push(c)) : 160 < c && c < 224 ? (e != es[1] && (e = es[1], a.push(27, 40, 73)), a.push(c)) : (e != es[2] && (e = es[2], a.push(27, 36, 66)), c < P1 || c > 31499 ? a.push(33, 38) : a.push((c >>> 7 & 127) + 33, (array[++i] & 127) + 33)); 1900 } 1901 e !== es[0] && a.push(27, 40, 66); //ASCIIã§çµãã£ã¦ããå¿ è¦ããã 1902 return a; 1903 }; 1904 charset.JIS7.toJ = function (array) { 1905 var a = [], 1906 i, 1907 il = array.length, 1908 c, 1909 es = [0, 1, 2], 1910 e = es[0]; 1911 for (i = 0; i < il; i++) { 1912 array[i] === 27 && (array[++i] === 36 ? (e = es[2], i += 2) : (e = array[++i] === 73 ? es[1] : es[0], i++));
1913 i < il && (c = array[i]) && (e === es[2] ? a.push(P1 | c - 33 << 7 | array[++i] - 33) : e === es[1] ? a.push(c + 128) : a.push(c)); 1914 } 1915 return a; 1916 }; 1917 charset.JIS = charset.JIS7; 1918 // JIS7ã¨éãåè§ã«ã㯠ASCIIã·ã¼ã±ã³ã¹[\e(B]ã®A1-DFã«å ¥ã 1919 charset.JIS8.fromU = function (array) { 1920 var a = [], 1921 i, 1922 il = array.length, 1923 c, 1924 es = [0, 1, 2], 1925 e = es[0]; 1926 for (i = 0; i < il; i++) { 1927 (c = array[i]) < 128 || 65376 < c && c < 65440 ? (e != es[0] && (e = es[0], a.push(27, 40, 66)), a.push(c < 128 ? c : c - 65216)) : (e !== es[2] && (e = es[2], a.push(27, 36, 66)), 1928 // (c=JCT8836.indexOf(String.fromCharCode(c)))<0 ? a.push(33,38) : a.push((c-(c%=94))/94+33,c+33)) 1929 (c = U2CP[c] || -1) < 0 || c > 31499 ? a.push(33, 38) : a.push((c >>> 7 & 127) + 33, (c & 127) + 33)); 1930 } 1931 e !== es[0] && a.push(27, 40, 66); 1932 return a; 1933 }; 1934 // åè§ã«ãã·ã¼ã±ã³ã¹ã念ã®ããèæ ®ãã 1935 charset.JIS8.toU = function (array) { 1936 var a = [], 1937 i, 1938 il = array.length, 1939 c, 1940 es = [0, 1, 2], 1941 e = es[0]; 1942 for (i = 0; i < il; i++) { 1943 array[i] === 27 && (array[++i] === 36 ? (e = es[2], i += 2) : (e = array[++i] === 73 ? es[1] : es[0], i++)); 1944 i < il && (c = array[i]) && ( 1945 // e===es[2] ? a.push(JCT8836.charAt((c-33)*94+array[++i]-33).charCodeAt(0)) 1946 e === es[2] ? a.push(CP2U[P1 | c - 33 << 7 | array[++i] - 33]) : e === es[1] ? a.push(c + 65344) : a.push(c < 128 ? c : c + 65216)); 1947 } 1948 return a; 1949 }; 1950 charset.JIS8.fromJ = function (array) { 1951 var a = [], 1952 i, 1953 il = array.length, 1954 c, 1955 es = [0, 1, 2], 1956 e = es[0]; 1957 for (i = 0; i < il; i++) { 1958 (c = array[i]) < 128 || 160 < c && c < 224 ? (e != es[0] && (e = es[0], a.push(27, 40, 66)), a.push(c)) : (e !== es[2] && (e = es[2], a.push(27, 36, 66)), c < P1 || c > 31499 ? a.push(33, 38) : a.push((c >>> 7 & 127) + 33, (array[++i] & 127) + 33)); 1959 } 1960 e !== es[0] && a.push(27, 40, 66); 1961 return a; 1962 }; 1963 charset.JIS8.toJ = charset.JIS7.toJ; 1964 //http://ja.wikipedia.org/wiki/UTF-7 http://suika.fam.cx/~wakaba/wiki/sw/n/UTF-7 1965 //62ã®ã¢ã«ãã¡ãããã¨9ã®è¨å· ['(),-./:?] ã¯ãã®ã¾ã¾è¡¨è¨ããã 1966 // [\t\n\r !"#$%&*;<=>@[]^_`{|}]ã¯è¡¨è¨ãã¦ãããã符å·åãã¦ããã(fromUã§ã¯ç¬¦å·åãã) 1967 charset.UTF7.fromU = function (array) { 1968 var a = [], 1969 i, 1970 il = array.length, 1971 c, 1972 tmp = []; 1973 for (i = 0; i < il; i++) { 1974 c = array[i]; 1975 38 < c && c < 59 && c != 42 || c === 63 || 64 < c && c < 91 || 96 < c && c < 123 ? (a.push(c), c === 43 && a.push(45)) : (a.push(43), tmp.push(c)); 1976 if (tmp.length > 0) { 1977 while ((c = array[i + 1]) && !(38 < c && c < 59 && c != 42 || c === 63 || 64 < c && c < 91 || 96 < c && c < 123)) { 1978 tmp.push(c);i++; 1979 } 1980 a = a.concat(enc.Base64.fromU(tmp, charset.UTF16BE)); 1981 a.push(45); 1982 tmp = []; 1983 } 1984 } 1985 return a; 1986 }; 1987 charset.UTF7.toU = function (array) { 1988 var a = [], 1989 i, 1990 il = array.length, 1991 c, 1992 tmp = []; 1993 for (i = 0; i < il; i++) { 1994 c = array[i]; 1995 8 < c && c < 11 || c === 13 || 31 < c && c < 126 && c !== 43 && c !== 92 ? a.push(c) // (?![^+\\~])[ !-}] 1996 : c === 43 // "+" 1997 ? (c = array[++i]) === 45 // "-" 1998 ? a.push(c) // "+-" => "+" 1999 : tmp.push(c) // Base64 2000 : a.push(63); //䏿£ãªæåã¯?ã« 2001 if (tmp.length > 0) { 2002 while ((c = array[i + 1]) && (c === 43 || 46 < c && c < 58 || 64 < c && c < 91 || 96 < c && c < 123)) { 2003 tmp.push(c);i++; 2004 } 2005 array[i + 1] === 45 && i++; // ç´å¾ãBase64以å¤ã®æåãªã-ãçç¥å¯è½(ç´å¾ã-ã ã£ãã-ã¯ã¹ãããããã以å¤ã ã£ããæ¬¡ã«èªã) 2006 a = a.concat(enc.Base64.toU(tmp, charset.UTF16BE)); 2007 tmp = []; 2008 } 2009 } 2010 return a; 2011 }; 2012 // Modified UTF-7 ã®å®è£ http://tools.ietf.org/rfc/rfc3501.txt 2013 /* 2014 5.1.3. Mailbox International Naming Convention 2015 2016 By convention, international mailbox names in IMAP4rev1 are specified 2017 using a modified version of the UTF-7 encoding described in [UTF-7]. 2018 Modified UTF-7 may also be usable in servers that implement an 2019 earlier version of this protocol. 2020 2021 In modified UTF-7, printable US-ASCII characters, except for "&", 2022 represent themselves; that is, characters with octet values 0x20-0x25 2023 and 0x27-0x7e. The character "&" (0x26) is represented by the 2024 two-octet sequence "&-". 2025 2026 All other characters (octet values 0x00-0x1f and 0x7f-0xff) are 2027 represented in modified BASE64, with a further modification from 2028 [UTF-7] that "," is used instead of "/". Modified BASE64 MUST NOT be 2029 used to represent any printing US-ASCII character which can represent 2030 itself. 2031 2032 "&" is used to shift to modified BASE64 and "-" to shift back to 2033 US-ASCII. There is no implicit shift from BASE64 to US-ASCII, and 2034 null shifts ("-&" while in BASE64; note that "&-" while in US-ASCII 2035 means "&") are not permitted. However, all names start in US-ASCII, 2036 and MUST end in US-ASCII; that is, a name that ends with a non-ASCII 2037 ISO-10646 character MUST end with a "-"). 2038 */ 2039 charset.MUTF7.fromU = function (array) { 2040 var a = [], 2041 i, 2042 il = array.length, 2043 c, 2044 tmp = []; 2045 for (i = 0; i < il; i++) { 2046 c = array[i]; 2047 31 < c && c < 127 ? (a.push(c), c === 38 && a.push(45)) : (a.push(38), tmp.push(c)); 2048 if (tmp.length > 0) { 2049 while ((c = array[i + 1]) && (c < 32 || 126 < c)) { 2050 tmp.push(c);i++; 2051 } 2052 tmp = enc.Base64.fromU(tmp, charset.UTF16BE); 2053 for (j = 0; j < tmp.length; j++) { 2054 tmp[j] === 47 && (tmp[j] = 44); 2055 }; // "/" => "," 2056 a = a.concat(tmp); 2057 a.push(45); 2058 tmp = []; 2059 } 2060 } 2061 return a; 2062 }; 2063 charset.MUTF7.toU = function (array) { 2064 var a = [], 2065 i, 2066 il = array.length, 2067 c, 2068 tmp = []; 2069 for (i = 0; i < il; i++) { 2070 c = array[i]; 2071 31 < c && c < 127 && c !== 38 ? a.push(c) // &ä»¥å¤ 2072 : c === 38 // "&" 2073 ? (c = array[++i]) === 45 // "-" 2074 ? a.push(38) // "&-" => "&" 2075 : tmp.push(c) // Base64 2076 : a.push(65533); //䏿£ãªæåã¯\ufffdã« 2077 if (tmp.length > 0) { 2078 while ((c = array[i + 1]) && (42 < c && c < 45 || 47 < c && c < 58 || 64 < c && c < 91 || 96 < c && c < 123)) { 2079 tmp.push(c === 44 ? 47 : c);i++; 2080 } 2081 array[i + 1] === 45 && i++; 2082 a = a.concat(enc.Base64.toU(tmp, charset.UTF16BE)); 2083 tmp = []; 2084 } 2085 } 2086 return a; 2087 }; 2088 charset.UTF8.fromU = function (array) { 2089 var a = [], 2090 i, 2091 il = array.length, 2092 c; 2093 for (i = 0; i < il; i++) { 2094 (c = array[i]) < 128 ? a.push(c) : c < 2048 ? a.push(c >>>
2094 6 | 192, c & 63 | 128) : c < 65536 ? a.push(c >>> 12 | 224, c >>> 6 & 63 | 128, c & 63 | 128) : a.push(c >>> 18 | 240, c >>> 12 & 63 | 128, c >>> 6 & 63 | 128, c & 63 | 128); 2095 } 2096 return a; 2097 }; 2098 charset.UTF8.toU = function (array) { 2099 var a = [], 2100 i = 0, 2101 il = array.length, 2102 c; 2103 array[0] === 239 && array[1] === 187 && array[2] === 191 && (i = 3); //BOM 2104 for (; i < il; i++) { 2105 a.push((c = array[i]) < 128 ? c : c < 224 ? (c & 31) << 6 | array[++i] & 63 : c < 240 ? ((c & 15) << 6 | array[++i] & 63) << 6 | array[++i] & 63 : (((c & 7) << 6 | array[++i] & 63) << 6 | array[++i] & 63) << 6 | array[++i] & 63); 2106 }return a; 2107 }; 2108 charset.UTF16LE.fromU = function (array) { 2109 var a = [], 2110 i, 2111 il = array.length, 2112 c, 2113 m; 2114 for (i = 0; i < il; i++) { 2115 //scalar UTF-16 2116 //000uuuuuxxxxxxyyyyyyyyyy 110110wwwwxxxxxx 110111yyyyyyyyyy wwww = uuuuu - 1 2117 (c = array[i]) > 65535 && (m = (c >>> 10) - 64 | 55296, a.push(m & 255, m >>> 8), c = c & 1023 | 56320); 2118 a.push(c & 255, c >>> 8); 2119 } 2120 return a; 2121 }; 2122 charset.UTF16LE.toU = function (array) { 2123 var a = [], 2124 i = 0, 2125 il = array.length, 2126 c; 2127 array[0] === 255 && array[1] === 254 && (i = 2); 2128 for (; i < il; i++) { 2129 c = array[i] | array[++i] << 8; 2130 55295 < c && c < 56320 && (c = ((c & 1023) + 64 << 10) + ((array[++i] | array[++i] << 8) & 1023)); 2131 a.push(c); 2132 } 2133 return a; 2134 }; 2135 charset.UTF16BE.fromU = function (array) { 2136 var a = [], 2137 i, 2138 il = array.length, 2139 c, 2140 m; 2141 for (i = 0; i < il; i++) { 2142 (c = array[i]) > 65535 && (m = (c >>> 10) - 64 | 55296, a.push(m >>> 8, m & 255), c = c & 1023 | 56320); 2143 a.push(c >>> 8, c & 255); 2144 } 2145 return a; 2146 }; 2147 charset.UTF16BE.toU = function (array) { 2148 var a = [], 2149 i = 0, 2150 il = array.length, 2151 c; 2152 array[0] === 254 && array[1] === 255 && (i = 2); 2153 for (; i < il; i++) { 2154 c = array[i] << 8 | array[++i]; 2155 55295 < c && c < 56320 && (c = ((c & 1023) + 64 << 10) + ((array[++i] << 8 | array[++i]) & 1023)); 2156 a.push(c); 2157 } 2158 return a; 2159 }; 2160 charset.UTF16 = charset.UTF16BE; 2161 /** 2162 * convert_array 2163 * ä»ã®æåã³ã¼ãé åã«å¤æãã 2164 * @param {Array} array 夿åé å 2165 * @param {String or Object} to 夿å ã®æåã³ã¼ã('SJIS','UTF8',ECL.charset.SJIS,ãªã©) 2166 * @param {String or Object} from 夿å ã®æåã³ã¼ã('SJIS','UTF8',ECL.charset.SJIS,ãªã©) 2167 * @return {Array} 夿å¾é å 2168 */ 2169 charset.convert_array = function (array, to, from) { 2170 from = from || charset.Unicode; 2171 !from.hasOwnProperty("toU") && (from = charset[from]); 2172 !to.hasOwnProperty("fromU") && (to = charset[to]); 2173 if (to == from) { 2174 return array; 2175 } 2176 if (from.hasOwnProperty("toJ") && to.hasOwnProperty("fromJ")) return to.fromJ(from.toJ(array)); 2177 return to.fromU(from.toU(array)); 2178 }; 2179 /** 2180 * convert 2181 * ä»ã®æåã³ã¼ãã«å¤æãã 2182 * @param {String} str 夿åæåå 2183 * @param {String or Object} to 夿å ã®æåã³ã¼ã('SJIS','UTF8',ECL.charset.SJIS,ãªã©) 2184 * @param {String or Object} from 夿å ã®æåã³ã¼ã('SJIS','UTF8',ECL.charset.SJIS,ãªã©) 2185 * @return {String} 夿徿åå 2186 */ 2187 charset.convert = function (str, to, from) { 2188 var array, parser; 2189 from = from || charset.Unicode; 2190 !from.hasOwnProperty("toU") && (from = charset[from]); 2191 !to.hasOwnProperty("fromU") && (to = charset[to]); 2192 if (to == from) { 2193 return str; 2194 } 2195 parser = from === charset.Unicode ? from : enc.Text; 2196 array = parser.parse(str); 2197 return charset.Unicode.stringify(charset.convert_array(array, to, from)); 2198 }; 2199 /** 2200 * Unicodeé åãBase64符å·åãã 2201 * @param {Array} array 24bité å 2202 * @param {String|Object} to 夿ããæåã³ã¼ã(default:UTF8) 2203 * @return {Array} Base64符å·åããã6bité å 2204 */ 2205 enc.Base64.fromU = function (array, to) { 2206 !(to = to || 'UTF8').hasOwnProperty("fromU") && (to = charset[to]); 2207 return enc.Base64.fromB(to.fromU(array)); 2208 }; 2209 /** 2210 * Base64符å·åããã6bité åãUnicodeé åã«ãã 2211 * @param {Array}
2211 array Base64符å·åããã6bité å 2212 * @param {String|Object} from 夿ããæåã³ã¼ã(default:UTF8) 2213 * @return {Array} 24bité å 2214 */ 2215 enc.Base64.toU = function (array, from) { 2216 !(from = from || 'UTF8').hasOwnProperty("toU") && (from = charset[from]); 2217 return from.toU(enc.Base64.toB(array)); 2218 }; 2219 /** 2220 * 8bité åãBase64符å·åãã 2221 * @param {Array} 8bité å 2222 * @return {Array} Base64符å·åããã6bité å 2223 */ 2224 enc.Base64.fromB = function (array) { 2225 var a = [], 2226 i = 0, 2227 il = array.length, 2228 b = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/", 2229 B = [], 2230 c; 2231 for (i = 0; i < 64; i++) { 2232 B.push(b.charCodeAt(i)); 2233 }for (i = 0; i < il; i++) { 2234 a.push(B[(c = array[i]) >>> 2], B[(c & 3) << 4 | (c = array[++i]) >>> 4], B[(c & 15) << 2 | (c = array[++i]) >>> 6], B[63 & c]); 2235 }(i = il % 3) !== 0 && (a.pop(), i === 1 && a.pop()); 2236 return a; 2237 }; 2238 /** 2239 * Base64符å·åããã6bité åã8bité åã«ãã 2240 * @param {Array} Base64符å·åããã6bité å 2241 * @return {Array} 8bité å 2242 */ 2243 enc.Base64.toB = function (array) { 2244 var i = 0, 2245 a = [], 2246 il = array.length, 2247 B = {}, 2248 b, 2249 c; 2250 while (i < 64) { 2251 B["ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charCodeAt(i)] = i++; 2252 }for (i = 0; i < il; i++) { 2253 a.push((c = B[array[i]]) << 2 | (c = B[array[++i]]) >>> 4, (c & 15) << 4 | (c = B[array[++i]]) >>> 2, (c & 3) << 6 | B[array[++i]]); 2254 }(i = il % 4) !== 0 && (a.pop(), i < 3 && a.pop()); 2255 return a; 2256 }; 2257 enc.Base64.parse = function (str) { 2258 str = str.replace(/=+$/, ''); 2259 return enc.Base64.toB(enc.Text.parse(str)); 2260 }; 2261 enc.Base64.stringify = function (array) { 2262 return enc.Text.stringify(enc.Base64.fromB(array)); 2263 }; 2264 /** 2265 * æååãBase64ã¨ã³ã³ã¼ããã 2266 * ãã®é¢æ°ã¯paddingã®=ã追å ãã 2267 * @param {String} str 夿ããæåå 2268 * @param {String|Object} cs1 strã®æåã»ãã default:Unicode 2269 * @param {String|Object} cs2 cs1ãUnicodeã ã£ãå ´åã®å¤æå æåã»ãã default:UTF8 2270 * @return {String} Base64符å·åãããæåå 2271 * 2272 * @example 2273 * // JSæååãUTF8ã¨ãã¦Base64符å·å 2274 * ECL.encodeBase64("æåå"); //=> "5paH5a2X5YiX===" 2275 * ECL.encodeBase64("æåå", "Unicode", "UTF8"); // ä¸è¨ã¨åã 2276 * 2277 * // SJISæååãã¨ã³ã³ã¼ã(弿°ã¯çç¥ä¸å¯) 2278 * ECL.encodeBase64(ECL.convert("æåå", "SJIS"), "SJIS"); //=> "lbaOmpfx===" 2279 * 2280 */ 2281 enc.Base64.encode = function (str, cs1, cs2) { 2282 var array, parser, b; 2283 !(cs1 = cs1 || 'Unicode').hasOwnProperty("parse") && (cs1 = charset[cs1]); 2284 !(cs2 = cs2 || 'UTF8').hasOwnProperty("fromU") && (cs2 = charset[cs2]); 2285 parser = cs1 === charset.Unicode ? cs1 : enc.Text; 2286 array = parser.parse(str); 2287 b = enc.Base64.stringify(cs1 === charset.Unicode ? cs2.fromU(array) : array); 2288 b += "===".substring(0, 4 - b.length % 4); 2289 return b; 2290 }; 2291 /** 2292 * Base64æååããã³ã¼ããã 2293 * ãã®é¢æ°ã¯paddingã®=ãåé¤ãã 2294 * @param {String} str Base64æåå 2295 * @param {String|Object} from å ã®æåã»ããæå®ããã°JSæååã«å¤æãã default:UTF8 2296 * @return {String} ãã³ã¼ããããæåå 2297 * 2298 * @example 2299 * // Base64符å·åãããUTF8æååãJSæååã« 2300 * ECL.decodeBase64("5paH5a2X5YiX==="); //=> "æåå" 2301 * ECL.decodeBase64("5paH5a2X5YiX===", "UTF8"); //=> "æåå" 2302 * 2303 * // ã¨ã³ã³ã¼ããããSJISæåå 2304 * ECL.decodeBase64("lbaOmpfx===", ""); //=> "\x95\xb6\x8e\x9a\x97\xf1" 2305 * ECL.decodeBase64("lbaOmpfx===", "SJIS"); //=> "æåå" 2306 * 2307 */ 2308 enc.Base64.decode = function (str, from) { 2309 str = str.replace(/=+$/, ''); 2310 var array = enc.Base64.parse(str); 2311 if (from === "") { 2312 return enc.Text.stringify(array); 2313 } 2314 !(from = from || 'UTF8').hasOwnProperty("toU") && (from = charset[from]); 2315 return charset.Unicode.stringify(from.toU(array)); 2316 }; 2317 /** 2318 * enc.URI.escape 2319 * RFC3986ã«æºã㦠[A-Za-z0-9_.~-] 以å¤ã%ã¨ã¹ã±ã¼ããã 2320 * RFC2396æºæ ã®encodeURIComponent()ã¨éã [!*'()] ãã¨ã¹ã±ã¼ããã 2321 * arrayã¯8bitãæ³å®ãã¦ããã®ã§Unicode(24bit)é åãæ¸¡ãã¨æ£ããçµæã«ãªããªã 2322 * @param {Array} array 8bité å 2323 * @param {Boolean} asRFC2396 [!*'()]ãã¨ã¹ã±ã¼ãããªã (default:false) 2324 * @return {String} encoded ã¨ã¹ã±ã¼ããããæåå 2325 * 2326 * @see https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/encodeURIComponent 2327 * encodeURIComponent ã¯ã次ãé¤ãå ¨ã¦ã®æåãã¨ã¹ã±ã¼ããã¾ãã: ã¢ã«ãã¡ããããæ°åã- _ . ! ~ * ' ( ) 2328 * ... ãã峿 ¼ã« RFC 3986ã«å¾ãå ´åã«ã¯ãã!ãã»ã'ãã»ã(ãã»ã)ãã»ã*ãã®åæåãäºç´ããã¦ãã¾ã 2329 * @see http://www.ipa.go.jp/security/fy21/reports/tech1-tg/b_09.html 2330 * ãªããä¸è¨ã® "!", "'", "(", ")", "*" ã sub-delims ã®æåã§ããããããã㯠RFC 2396 ã§ã
2330¯ unreserved ã«å±ãã¦ããã 2331 */ 2332 enc.URI.escape = function (array, asRFC2396) { 2333 var s = "", 2334 i, 2335 il = array.length, 2336 c; 2337 if (asRFC2396) { 2338 for (i = 0; i < il; i++) { 2339 s += (c = array[i]) < 58 && c > 38 || 64 < c && c < 91 || 96 < c && c < 123 && c != 43 && c != 44 && c != 47 || c === 33 || c === 95 || c === 126 ? String.fromCharCode(c) : (c < 16 ? "%0" : "%") + c.toString(16).toUpperCase(); 2340 } 2341 } else { 2342 for (i = 0; i < il; i++) { 2343 s += (c = array[i]) < 58 && c > 47 || 64 < c && c < 91 || 96 < c && c < 123 || c === 45 || c === 46 || c === 95 || c === 126 ? String.fromCharCode(c) : (c < 16 ? "%0" : "%") + c.toString(16).toUpperCase(); 2344 } 2345 } 2346 return s; 2347 }; 2348 enc.URI.unescape = function (str) { 2349 var a = [], 2350 i, 2351 il = str.length, 2352 c; 2353 for (i = 0; i < il; i++) { 2354 a.push((c = str.charCodeAt(i)) === 37 ? parseInt(str.substring(++i, ++i + 1), 16) : c === 43 ? 20 : c); 2355 }return a; 2356 }; 2357 /** 2358 * encodeURIComponent äºæã®é¢æ° 2359 * @param {String} str JSæåå 2360 * @param {String or Object} å¤æå æåã³ã¼ã(default:'UTF8') 2361 * @return {String} encoded 2362 */ 2363 enc.URI.encodeURIComponent = function (str, to) { 2364 !(to || "UTF8").hasOwnProperty("fromU") && (to = charset[to]); 2365 return enc.URI.escape(to.fromU(charset.Unicode.parse(str))); 2366 }; 2367 enc.URI.decodeURIComponent = function (str, from) { 2368 !(from || "UTF8").hasOwnProperty("toU") && (from = charset[from]); 2369 return charset.Unicode.stringify(from.toU(enc.URI.unescape(str))); 2370 }; 2371 /** 2372 * enc.Unicode.escape 2373 * Unicode(24bitæ´æ°)é åã%ã¨ã¹ã±ã¼ããã(0xff以ä¸ã¯%uXXXXã«ãªã) 2374 * [*+\-\.\/@_0-9A-Za-z] 以å¤ã¯ã¨ã¹ã±ã¼ãããã 2375 * 2376 * @param {Array} u24array 24bitæ´æ°ã®é å(String#charCodeAt() ã§åå¾ããæ´æ°ãªã©) 2377 * @return {String} escaped %ã¨ã¹ã±ã¼ããããæåå 2378 */ 2379 enc.Unicode.escape = function (u24array) { 2380 var s = "", 2381 i, 2382 il = u24array.length, 2383 c; 2384 for (i = 0; i < il; i++) { 2385 c = u24array[i]; 2386 s += 41 < c && c < 58 && c != 44 || 63 < c && c < 91 || 94 < c && c < 123 && c != 96 ? String.fromCharCode(c) : (c < 16 ? "%0" : c < 256 ? "%" : c < 4096 ? "%u0" : "%u") + c.toString(16).toUpperCase(); 2387 } 2388 return s; 2389 }; 2390 /** 2391 * enc.Unicode.unescape 2392 * %ã¨ã¹ã±ã¼ããããæååãUnicode(24bitæ´æ°)é åã«ãã 2393 * 2394 * @return {String} escaped %ã¨ã¹ã±ã¼ããããæåå 2395 * @param {Array} u24array 24bitæ´æ°ã®é å 2396 */ 2397 enc.Unicode.unescape = function (str) { 2398 var a = [], 2399 i, 2400 il = str.length, 2401 c; 2402 for (i = 0; i < il; i++) { 2403 a.push((c = str.charCodeAt(i)) === 37 //% 2404 ? (c = str.charCodeAt(++i)) === 117 //%u 2405 ? parseInt(str.charAt(++i) + str.charAt(++i) + str.charAt(++i) + str.charAt(++i) + ((c = str.charAt(i + 1)) !== "%" ? (++i, c) : ''), 16) : parseInt(str.charAt(i) + str.charAt(++i), 16) : c); 2406 } 2407 return a; 2408 }; 2409 /** 2410 * enc.TextEncoder class 2411 * Encoding Standardã®TextEncoderã®ããã«æ¯ãèãã¯ã©ã¹ 2412 * @see https://encoding.spec.whatwg.org/ 2413 * @see https://developer.mozilla.org/ja/docs/Web/API/TextEncoder 2414 */ 2415 enc.TextEncoder = function (encoding) { 2416 var en, 2417 map = { 'UTF8': [], 'UTF16LE': ['UTF16'], 'UTF16BE': [], 'SJIS': ['SHIFTJIS', 'WINDOWS31J', 'XSJIS'], 'EUCJP': ['XEUCJP'], 'JIS7': ['iso2022jp'] }, 2418 m = {}, 2419 x, 2420 i; 2421 if (!encoding) { 2422 encoding = 'UTF-8'; 2423 } 2424 for (x in map) { 2425 m[x] = x; 2426 for (i = 0; i < map[x].length; i++) { 2427 m[map[x][i]] = x; 2428 } 2429 } 2430 en = m[encoding.toUpperCase().replace(/[^A-Z0-9]/g, '')]; 2431 if (!en) { 2432 throw new TypeError(encoding + " is not supported encoding"); 2433 } 2434 this.encoding = encoding; 2435 this.encode = function (text) { 2436 return new Uint8Array(charset[en].fromU(enc.Text.parse(text))); 2437 }; 2438 }; 2439 /** 2440 * enc.TextDecoder class 2441 * Encoding Standardã®TextDecoderã®ããã«æ¯ãèãã¯ã©ã¹ 2442 * @see https://encoding.spec.whatwg.org/ 2443 * @see https://developer.mozilla.org/ja/docs/Web/API/TextEncoder 2444 */ 2445 enc.TextDecoder = function (encoding) { 2446 var en, 2447 map = { 'UTF8': [], 'UTF16LE': ['UTF16'], 'UTF16BE': [], 'SJIS': ['SHIFTJIS', 'WINDOWS31J', 'XSJIS'], 'EUCJP': ['XEUCJP'], 'JIS7': ['iso2022jp'] }, 2448 m = {}, 2449 x, 2450 i; 2451 if (!encoding) { 2452 encoding = 'UTF-8'; 2453 } 2454 for (x in map) { 2455 m[x] = x; 2456 for (i = 0; i < map[x].length; i++) { 2457 m[map[x][i]] = x; 2458 } 2459 } 2460 en = m[encoding.toUpperCase().replace(/[^A-Z0-9]/g, '')]; 2461 if (!en) { 2462 throw new TypeError(encoding + " is not supported encoding"); 2463 } 2464 this.encoding = encoding; 2465 this.decode = function (u8array) { 2466 return enc.Text.stringify(charset[en].toU(u8array)); 2467 }; 2468 }; 2469 /** 2470 * é åããæåã³ã¼ããæ¨æ¸¬ãã 2471 * ecl.jsã®GetEscapeCodeType(str)ã«ä¸¸æããã¦ãã 2472 */ 2473 charset.guess_array = function (array) { 2474 var i, 2475 il = array.length, 2476 c = array[0], 2477 cs = null, 2478 p, 2479 a, 2480 m, 2481 u7, 2482 mu7, 2483 pm, 2484 am, 2485 b64, 2486 mb64; 2487 //BOM 0xEFBBBF:UTF8, 0xFEFF:UTF16BE, 0xFFFE:UTF16LE 2488 cs = c === 239 && array[1] === 187 && array[2] === 191 ? "UTF8" : c === 255 && array[1] === 254 ? "UTF16LE" : c === 254 && array[1] === 255 ? "UTF16BE" : null; 2489 if (cs != null) return cs; 2490 //Unicode or ASCII(maybe UTF7,MUTF7) or ...?
2491 cs = "ASCII", p = a = m = -1, u7 = mu7 = true, pm = am = b64 = mb64 = 0; 2492 for (i = 0; i < il; i++) { 2493 c = array[i]; 2494 if (255 < c) { 2495 cs = "Unicode";break; 2496 } 2497 if (c < 32 && c !== 9 && c !== 10 && c !== 13 || 126 < c) { 2498 cs = null;break; 2499 } //æªå® 2500 if (!u7 && !mu7) continue; //UTF-7ã§ãModified UTF-7ã§ããªããªããã®å ãçç¥ 2501 c === 126 && (u7 = false); //UTF-7ã¯~ã符å·åãããModifiedUTF-7ã¯~ããã®ã¾ã¾å°åãã 2502 8 < c && c < 11 || c === 13 && (mu7 = false); //Modified UTF-7ã¯\t\n\rã符å·åãã 2503 //"+-" or "\+[A-Za-z0-9\+\/]+-" ãããã°UTF7 "&" ãªãMUTF7 2504 if (c === 45) { 2505 // [+&]- ã®åºç¾æ°ãã«ã¦ã³ã 2506 p >= 0 && u7 ? (i === p + 1 && pm++, p = -1) : a >= 0 && mu7 && (i === a + 1 && am++, a = -1); 2507 p = a = -1; 2508 } else { 2509 if (u7 && p >= 0) { 2510 //Base64 [A-Za-z0-9+/] ãã©ãã 2511 (u7 = c === 43 || 46 < c && c < 58 || 64 < c && c < 91 || 96 < c && c < 123) ? b64++ : p = -1; 2512 } 2513 if (mu7 && a >= 0) { 2514 //Modified Base64 [A-Za-z0-9+,] ãã©ãã 2515 (mu7 = 42 < c && c < 45 || 47 < c && c < 58 || 64 < c && c < 91 || 96 < c && c < 123) ? mb64++ : a = -1; 2516 } 2517 } 2518 c === 43 && p < 0 ? p = i : c === 38 && a < 0 ? a = i : c === 45 && (m = i); 2519 } 2520 if (cs === "ASCII") { 2521 cs = u7 && (b64 > 0 || pm > 0) ? "UTF7" : mu7 && (mb64 > 0 || am > 0) ? "MUTF7" : "ASCII"; 2522 } 2523 //TODO: GetEscapeCodeTypeã®ä»£æ¿å¦çãæªå®è£ 2524 return cs ? cs : GetEscapeCodeType(enc.URI.escape(array)); 2525 }; 2526 charset.guess = function (str) { 2527 return charset.guess_array(enc.Text.parse(str)); 2528 }; 2529 var names = ["SJIS", "EUCJP", "JIS7", "JIS8", "Unicode", "UTF7", "UTF8", "UTF16LE", "UTF16BE", "MUTF7"], 2530 i, 2531 il = names.length; 2532 ECL.charset = charset; 2533 for (i = 0; i < il; i++) { 2534 if (names[i] === 'Unicode') { 2535 ECL["escapeUnicode"] = function (str) { 2536 return enc.Unicode.escape(charset.Unicode.parse(str)); 2537 }; 2538 ECL["unescapeUnicode"] = function (str) { 2539 return charset.Unicode.stringify(enc.Unicode.unescape(str)); 2540 }; 2541 } else { 2542 ECL["escape" + names[i]] = function (fnc, cs) { 2543 return function (str) { 2544 return fnc(str, cs); 2545 }; 2546 }(enc.URI.encodeURIComponent, charset[names[i]]); 2547 ECL["unescape" + names[i]] = function (fnc, cs) { 2548 return function (str) { 2549 return fnc(str, cs); 2550 }; 2551 }(enc.URI.decodeURIComponent, charset[names[i]]); 2552 ECL.charset[names[i]].parse = function (fnc) { 2553 return function (str) { 2554 return fnc(enc.Text.parse(str)); 2555 }; 2556 }(charset[names[i]].toU); 2557 ECL.charset[names[i]].stringify = function (fnc) { 2558 return function (array) { 2559 return enc.Text.stringify(fnc(array)); 2560 }; 2561 }(charset[names[i]].fromU); 2562 } 2563 } 2564 ECL.convert = charset.convert; 2565 ECL.convert_array = charset.convert_array; 2566 ECL.enc = enc; 2567 ECL.escape = ECL.escapeUnicode; 2568 ECL.unescape = ECL.unescapeUnicode; 2569 ECL.encodeURIComponent = enc.URI.encodeURIComponent; 2570 ECL.decodeURIComponent = enc.URI.decodeURIComponent; 2571 ECL.encodeBase64 = enc.Base64.encode; 2572 ECL.decodeBase64 = enc.Base64.decode; 2573 ECL.TextEncoder = enc.TextEncoder; 2574 ECL.TextDecoder = enc.TextDecoder; 2575 //ECL.getEscapeCodeType = GetEscapeCodeType; 2576 ECL.JCT11280 = JCT11280; 2577 ECL.JCT8836 = JCT8836; 2578 2579 ECL.JISX0208 = { "U2CP": U2CP, "CP2U": CP2U }; 2580 2581 // ----- for DMS ----- // 2582 2583 // 2584 // ç¡å¹ãªæåã®SJISã³ã¼ãã®ç¯å²å®ç¾©: SJISæåã³ã¼ãã®ä¸ã§ãä¸é©åãªæåã¨å®ç¾©ããæåãããã°ãããã«SJISã³ã¼ãçªå·ã®ç¯å²ãè¨è¼ãã 2585 // 2586 var tableOfInvalidSjisChars = [{ begin: 0x80, end: 0xa0 }, { begin: 0xe0, end: 0xff }]; 2587 2588 // 2589 // æååãï¼æåãã¤æ½åºã»å¤å®ããSJISã«ç¡ãæåãæ½åºãã 2590 // @param {string} 対象æååï¼UTF-8ï¼ 2591 // @return {array} SJISã«å¤æã§ããªãæåã®é åï¼è¦ç´ æ°0ã®å ´åããã¹ã¦ãSJISã«é©åï¼ 2592 // 2593 ECL.pickupNotSJIS = function (str) { 2594 // çµææ ¼ç´å 2595 var ret = []; 2596 2597 // 対象æå 2598 var iChar = ''; 2599 2600 // 2601 var le = str.length; 2602 // console.log('le', le) 2603 for (var _i = 0; _i < le; _i++) { 2604 // 2605 // içªç®ã®æåãåå¾ 2606 // 2607 var code = str.charCodeAt(_i); 2608 if (Number.isNaN(code)) { 2609 continue; // Position not found 2610 } 2611 if (code < 0xD800 || code > 0xDFFF) { 2612 iChar = str.charAt(_i); 2613 } 2614 // High surrogate (could change last hex to 0xDB7F to treat high private surrogates as single characters) 2615 if (0xD800 <= code && code <= 0xDBFF) { 2616 if (str.length <= _i + 1) { 2617 throw 'High surrogate without following low surrogate'; 2618 } 2619 var next = str.charCodeAt(_i + 1); 2620 if (0xDC00 > next || next > 0xDFFF) { 2621 throw 'High surrogate without following low surrogate'; 2622 } 2623 iChar = str.charAt(_i) + str.charAt(_i + 1); 2624 _i++; 2625 } 2626 // console.log('iChar', iChar) 2627 2628 // 2629 // içªç®ãSJISããã§ã㯠2630 // 2631 if (!isSjisChar(iChar)) {
2632 ret.push(iChar); 2633 } 2634 } 2635 2636 return ret; 2637 }; 2638 2639 // 2640 // æå®æåãSJISã«å¤æå¯è½ï¼å¯é夿ï¼ãå¤å®ãã 2641 // true : sjisã§ãã 2642 // false: sjisã§ã¯ãªã 2643 // 2644 var isSjisChar = function isSjisChar(iChar) { 2645 // console.log('iChar', iChar) 2646 2647 // æå => Unicode16bitæ°å¤å 2648 var iCharCode = ECL.charset.Unicode.parse(iChar); 2649 // console.log('iCharCode', iCharCode) 2650 // iCharCode.forEach((x) => { 2651 // console.log('.', x.toString(16)) 2652 // }) 2653 2654 // Unicode16bitæ°å¤å => SJISã³ã¼ã 2655 var sjisCodeArray = ECL.convert_array(iCharCode, "SJIS"); 2656 // console.log('sjisCodeArray', sjisCodeArray) 2657 // sjisCodeArray.forEach((x) => { 2658 // console.log('.', x.toString(16)) 2659 // }) 2660 // SJISã³ã¼ããï¼ã¤ã®å¤ã«ãã 2661 var sjisCode = 0; 2662 sjisCodeArray.forEach(function (x) { 2663 sjisCode *= 256; 2664 sjisCode += x - 0; 2665 }); 2666 2667 // SJISã³ã¼ããæå®ç¯å²å ã®å ´åãç¡å¹ãªæåã¨å¤å® 2668 var bHit = false; 2669 tableOfInvalidSjisChars.forEach(function (range) { 2670 if (range.begin <= sjisCode && sjisCode <= range.end) { 2671 bHit = true; 2672 return; 2673 } 2674 }); 2675 if (bHit) { 2676 return false; 2677 } 2678 2679 // æååãUnicode 16bitæ°å¤ã®åã«å¤æ 2680 var unicodeCode = ECL.charset.SJIS.toU(sjisCodeArray); 2681 // console.log('unicodeCode', unicodeCode) 2682 // unicodeCode.forEach((x) => { 2683 // console.log('.', x.toString(16)) 2684 // }) 2685 2686 // Unicode 16bitæ°å¤å => æå 2687 var charUnicode = ECL.charset.Unicode.stringify(unicodeCode); 2688 // console.log('charUnicode', charUnicode) 2689 2690 // å ¥åæå => Unicode => SJIS => Unicode => æåãé©åã«è¡ãããã°ãSJISé©åæåã¨ãã 2691 return iChar === charUnicode; 2692 }; 2693 2694 // 2695 // èªç±é ç®ãµã¤ãºå®ç¾©: ãã©ã¼ã ã®èªç±é ç®ã®ãã¼ã¿ãµã¤ãº 2696 // 2697 ECL.defOfFormFreeItemCounting = ['free_item1', 'free_item2', 'free_item3', 'free_check1', 'free_check2', 'free_check3', 'free_radio1', 'free_radio2', 'free_radio3']; 2698 2699 // 2700 // Shift_JISã«å¤æãã¦ããµã¤ãºãè¨ç®ããï¼Shift_JIS åè§1ãã¤ã, å ¨è§2ãã¤ãï¼ 2701 // @return {Number} è¨ç®çµæ(bytes) 2702 // 2703 String.prototype.getSjisBytes = function () { 2704 2705 // æå => Unicode16bitæ°å¤å 2706 var iCharCode = ECL.charset.Unicode.parse(this); 2707 // console.log('iCharCode', iCharCode) 2708 // iCharCode.forEach((x) => { 2709 // console.log('.', x.toString(16)) 2710 // }) 2711 2712 // Unicode16bitæ°å¤å => SJISã³ã¼ã 2713 var sjisCodeArray = ECL.convert_array(iCharCode, "SJIS"); 2714 // console.log('sjisCodeArray', sjisCodeArray) 2715 // sjisCodeArray.forEach((x) => { 2716 // console.log('.', x.toString(16)) 2717 // }) 2718 var arySjises = []; 2719 var tmp = null; 2720 var val = null; 2721 sjisCodeArray.forEach(function (x, idx) { 2722 // console.log('x', x) 2723 // console.log('idx', idx) 2724 if (tmp !== null) { 2725 tmp = tmp * 256 + x; 2726 // console.log('tmp:', tmp.toString(16)); 2727 arySjises.push(tmp); 2728 tmp = null; 2729 } else { 2730 if (x > 0x80) { 2731 tmp = x; 2732 } else { 2733 arySjises.push(x); 2734 } 2735 } 2736 }); 2737 // console.log('--- arySjises', arySjises) 2738 // arySjises.forEach((x) => { 2739 // console.log('.', x.toString(16)) 2740 // }) 2741 2742 var length = 0; 2743 for (var i = 0; i < arySjises.length; i++) { 2744 var c = arySjises[i]; 2745 if (c >= 0x0 && c < 0x81 || c === 0xf8f0 || c >= 0xff61 && c < 0xffa0 || c >= 0xf8f1 && c < 0xf8f4) { 2746 length += 1; 2747 } else { 2748 length += 2; 2749 } 2750 } 2751 // console.log('length', length) 2752 return length; 2753 }; 2754 2755 // 2756 // èªç±é ç®ãµã¤ãºå®ç¾©ã«ãããã£ã¦ããã¼ã¿ãµã¤ãºãè¨ç®ãããµã¤ãºãè¿ã 2757 // @param {object} formData 対象ãã¼ã¿ 2758 // @return {object} è¨ç®çµæ 2759 // 2760 ECL.countDataSize = function (formData) { 2761 // ç£åºãããã¼ã¿å ¨ä½ã®ãµã¤ãº 2762 var size = 0; 2763 // åºåãæåããããèªç¹ã¨å®ç¾©ããã®ãµã¤ãº 2764 var separatedCharSize = 'ã'.getSjisBytes(); 2765 // console.log('separatedCharSize', separatedCharSize) 2766 2767 // 2768 ECL.defOfFormFreeItemCounting.forEach(function (def) { 2769 // console.log('def', def) 2770 // 2771 var itemSize = 0; 2772 // 2773 var type = def.match(/free_(item|check|radio)\d$/)[1]; 2774 // console.log('type', type) 2775 switch (type) { 2776 case 'item': 2777 // _label 2778 // console.log('key', def + '_label'); 2779 // console.log('formData[' + def + '_label]', formData[def + '_label']); 2780 // console.log('formData[' + def + '_label]', formData[def + '_label'].getSjisBytes()); 2781 itemSize += formData[def + '_label'].getSjisBytes(); 2782 break; 2783
2784 case 'check': 2785 // _label 2786 // console.log('key', def + '_label'); 2787 // console.log('formData[' + def + '_label]', formData[def + '_label']); 2788 // console.log('formData[' + def + '_label]', formData[def + '_label'].getSjisBytes()); 2789 itemSize += formData[def + '_label'].getSjisBytes(); 2790 2791 // _data 2792 // console.log('key', def + '_data'); 2793 // console.log('formData[' + def + '_data]', formData[def + '_data']); 2794 formData[def + '_data'].forEach(function (val, idx) { 2795 // console.log('val', val) 2796 // console.log('val.display_flg', val.display_flg.getSjisBytes() + 1) 2797 // console.log('val.label', val.label.getSjisBytes() + 1) 2798 if (val.display_flg === 1) { 2799 itemSize += val.label.getSjisBytes() + separatedCharSize; 2800 } 2801 }); 2802 break; 2803 2804 case 'radio': 2805 // _label 2806 // console.log('key', def + '_label'); 2807 // console.log('formData[' + def + '_label]', formData[def + '_label']); 2808 // console.log('formData[' + def + '_label]', formData[def + '_label'].getSjisBytes()); 2809 itemSize += formData[def + '_label'].getSjisBytes(); 2810 2811 // _data 2812 // console.log('key', def + '_data'); 2813 // console.log('formData[' + def + '_data]', formData[def + '_data']); 2814 var maxSizeOfRadioItems = 0; 2815 formData[def + '_data'].forEach(function (val, idx) { 2816 // console.log('val.label', val.label) 2817 // console.log('val.label', val.label.getSjisBytes() + 1) 2818 var radioItemSize = val.label.getSjisBytes() + separatedCharSize; 2819 if (val.display_flg === 1 && radioItemSize > maxSizeOfRadioItems) { 2820 maxSizeOfRadioItems = radioItemSize; 2821 } 2822 }); 2823 itemSize += maxSizeOfRadioItems; 2824 break; 2825 } 2826 // console.log('itemSize', itemSize) 2827 size += itemSize; 2828 // console.log(':size', size) 2829 }); 2830 // console.log('::: total size', size) 2831 2832 return size; 2833 }; 2834})();/*! fancyBox v2.1.7 fancyapps.com | fancyapps.com/fancybox/#license */ 2835(function(t,J,f,x){var L=f("html"),q=f(t),p=f(J),b=f.fancybox=function(){b.open.apply(this,arguments)},K=navigator.userAgent.match(/msie/i),D=null,u=J.createTouch!==x,v=function(a){return a&&a.hasOwnProperty&&a instanceof f},r=function(a){return a&&"string"===f.type(a)},G=function(a){return r(a)&&0<a.indexOf("%")},m=function(a,c){var d=parseInt(a,10)||0;c&&G(a)&&(d*=b.getViewport()[c]/100);return Math.ceil(d)},y=function(a,b){return m(a,b)+"px"};f.extend(b,{version:"2.1.7",defaults:{padding:15,margin:20, 2836width:800,height:600,minWidth:100,minHeight:100,maxWidth:9999,maxHeight:9999,pixelRatio:1,autoSize:!0,autoHeight:!1,autoWidth:!1,autoResize:!0,autoCenter:!u,fitToView:!0,aspectRatio:!1,topRatio:.5,leftRatio:.5,scrolling:"auto",wrapCSS:"",arrows:!0,closeBtn:!0,closeClick:!1,nextClick:!1,mouseWheel:!0,autoPlay:!1,playSpeed:3E3,preload:3,modal:!1,loop:!0,ajax:{dataType:"html",headers:{"X-fancyBox":!0}},iframe:{scrolling:"auto",preload:!0},swf:{wmode:"transparent",allowfullscreen:"true",allowscriptaccess:"always"}, 2837keys:{next:{13:"left",34:"up",39:"left",40:"up"},prev:{8:"right",33:"down",37:"right",38:"down"},close:[27],play:[32],toggle:[70]},direction:{next:"left",prev:"right"},scrollOutside:!0,index:0,type:null,href:null,content:null,title:null,tpl:{wrap:'<div class="fancybox-wrap" tabIndex="-1"><div class="fancybox-skin"><div class="fancybox-outer"><div class="fancybox-inner"></div></div></div></div>',image:'<img class="fancybox-image" src="{href}" alt="" />',iframe:'<iframe id="fancybox-frame{rnd}" name="fancybox-frame{rnd}" class="fancybox-iframe" frameborder="0" vspace="0" hspace="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen'+ 2838(K?' allowtransparency="true"':"")+"></iframe>",error:'<p class="fancybox-error">The requested content cannot be loaded.<br/>Please try again later.</p>',closeBtn:'<a title="Close" class="fancybox-item fancybox-close" href="javascript:;"></a>',next:'<a title="Next" class="fancybox-nav fancybox-next" href="javascript:;"><span></span></a>',prev:'<a title="Previous" class="fancybox-nav fancybox-prev" href="javascript:;"><span></span></a>',loading:'<div id="fancybox-loading"><div></div></div>'},openEffect:"fade", 2839openSpeed:250,openEasing:"swing",openOpacity:!0,openMethod:"zoomIn",closeEffect:"fade",closeSpeed:250,closeEasing:"swing",closeOpacity:!0,closeMethod:"zoomOut",nextEffect:"elastic",nextSpeed:250,nextEasing:"swing",nextMethod:"changeIn",prevEffect:"elastic",prevSpeed:250,prevEasing:"swing",prevMethod:"changeOut",helpers:{overlay:!0,title:!0},onCancel:f.noop,beforeLoad:f.noop,afterLoad:f.noop,beforeShow:f.noop,afterShow:f.noop,beforeChange:f.noop,beforeClose:f.noop,afterClose:f.noop},group:{},opts:{}, 2840previous:null,coming:null,current:null,isActive:!1,isOpen:!1,isOpened:!1,wrap:null,
vendor: 17,958 bytes, lines 2840-2875
2840skin:null,outer:null,inner:null,player:{timer:null,isActive:!1},ajaxLoad:null,imgPreload:null,transitions:{},helpers:{},open:function(a,c){if(a&&(f.isPlainObject(c)||(c={}),!1!==b.close(!0)))return f.isArray(a)||(a=v(a)?f(a).get():[a]),f.each(a,function(d,e){var k={},g,l,h,n,m;"object"===f.type(e)&&(e.nodeType&&(e=f(e)),v(e)?(k={href:e.data("fancybox-href")||e.attr("href"),title:f("<div/>").text(e.data("fancybox-title")|| 2841e.attr("title")||"").html(),isDom:!0,element:e},f.metadata&&f.extend(!0,k,e.metadata())):k=e);g=c.href||k.href||(r(e)?e:null);l=c.title!==x?c.title:k.title||"";n=(h=c.content||k.content)?"html":c.type||k.type;!n&&k.isDom&&(n=e.data("fancybox-type"),n||(n=(n=e.prop("class").match(/fancybox\.(\w+)/))?n[1]:null));r(g)&&(n||(b.isImage(g)?n="image":b.isSWF(g)?n="swf":"#"===g.charAt(0)?n="inline":r(e)&&(n="html",h=e)),"ajax"===n&&(m=g.split(/\s+/,2),g=m.shift(),m=m.shift()));h||("inline"===n?g?h=f(r(g)? 2842g.replace(/.*(?=#[^\s]+$)/,""):g):k.isDom&&(h=e):"html"===n?h=g:n||g||!k.isDom||(n="inline",h=e));f.extend(k,{href:g,type:n,content:h,title:l,selector:m});a[d]=k}),b.opts=f.extend(!0,{},b.defaults,c),c.keys!==x&&(b.opts.keys=c.keys?f.extend({},b.defaults.keys,c.keys):!1),b.group=a,b._start(b.opts.index)},cancel:function(){var a=b.coming;a&&!1===b.trigger("onCancel")||(b.hideLoading(),a&&(b.ajaxLoad&&b.ajaxLoad.abort(),b.ajaxLoad=null,b.imgPreload&&(b.imgPreload.onload=b.imgPreload.onerror=null),a.wrap&& 2843a.wrap.stop(!0,!0).trigger("onReset").remove(),b.coming=null,b.current||b._afterZoomOut(a)))},close:function(a){b.cancel();!1!==b.trigger("beforeClose")&&(b.unbindEvents(),b.isActive&&(b.isOpen&&!0!==a?(b.isOpen=b.isOpened=!1,b.isClosing=!0,f(".fancybox-item, .fancybox-nav").remove(),b.wrap.stop(!0,!0).removeClass("fancybox-opened"),b.transitions[b.current.closeMethod]()):(f(".fancybox-wrap").stop(!0).trigger("onReset").remove(),b._afterZoomOut())))},play:function(a){var c=function(){clearTimeout(b.player.timer)}, 2844d=function(){c();b.current&&b.player.isActive&&(b.player.timer=setTimeout(b.next,b.current.playSpeed))},e=function(){c();p.unbind(".player");b.player.isActive=!1;b.trigger("onPlayEnd")};!0===a||!b.player.isActive&&!1!==a?b.current&&(b.current.loop||b.current.index<b.group.length-1)&&(b.player.isActive=!0,p.bind({"onCancel.player beforeClose.player":e,"onUpdate.player":d,"beforeLoad.player":c}),d(),b.trigger("onPlayStart")):e()},next:function(a){var c=b.current;c&&(r(a)||(a=c.direction.next),b.jumpto(c.index+ 28451,a,"next"))},prev:function(a){var c=b.current;c&&(r(a)||(a=c.direction.prev),b.jumpto(c.index-1,a,"prev"))},jumpto:function(a,c,d){var e=b.current;e&&(a=m(a),b.direction=c||e.direction[a>=e.index?"next":"prev"],b.router=d||"jumpto",e.loop&&(0>a&&(a=e.group.length+a%e.group.length),a%=e.group.length),e.group[a]!==x&&(b.cancel(),b._start(a)))},reposition:function(a,c){var d=b.current,e=d?d.wrap:null,k;e&&(k=b._getPosition(c),a&&"scroll"===a.type?(delete k.position,e.stop(!0,!0).animate(k,200)):(e.css(k), 2846d.pos=f.extend({},d.dim,k)))},update:function(a){var c=a&&a.originalEvent&&a.originalEvent.type,d=!c||"orientationchange"===c;d&&(clearTimeout(D),D=null);b.isOpen&&!D&&(D=setTimeout(function(){var e=b.current;e&&!b.isClosing&&(b.wrap.removeClass("fancybox-tmp"),(d||"load"===c||"resize"===c&&e.autoResize)&&b._setDimension(),"scroll"===c&&e.canShrink||b.reposition(a),b.trigger("onUpdate"),D=null)},d&&!u?0:300))},toggle:function(a){b.isOpen&&(b.current.fitToView="boolean"===f.type(a)?a:!b.current.fitToView, 2847u&&(b.wrap.removeAttr("style").addClass("fancybox-tmp"),b.trigger("onUpdate")),b.update())},hideLoading:function(){p.unbind(".loading");f("#fancybox-loading").remove()},showLoading:function(){var a,c;b.hideLoading();a=f(b.opts.tpl.loading).click(b.cancel).appendTo("body");p.bind("keydown.loading",function(a){27===(a.which||a.keyCode)&&(a.preventDefault(),b.cancel())});b.defaults.fixed||(c=b.getViewport(),a.css({position:"absolute",top:.5*c.h+c.y,left:.5*c.w+c.x}));b.trigger("onLoading")},getViewport:function(){var a= 2848b.current&&b.current.locked||!1,c={x:q.scrollLeft(),y:q.scrollTop()};a&&a.length?(c.w=a[0].clientWidth,c.h=a[0].clientHeight):(c.w=u&&t.innerWidth?t.innerWidth:q.width(),c.h=u&&t.innerHeight?t.innerHeight:q.height());return c},unbindEvents:function(){b.wrap&&v(b.wrap)&&b.wrap.unbind(".fb");p.unbind(".fb");q.unbind(".fb")},bindEvents:function(){var a=b.current,c;a&&(q.bind("orientationchange.fb"+(u?"":" resize.fb")+(a.autoCenter&&!a.locked?" scroll.fb":""),b.update),(c=a.keys)&&p.bind("keydown.fb", 2849function(d){var e=d.which||d.keyCode,k=d.target||d.srcElement;if(27===e&&b.coming)return!1;d.ctrlKey||d.altKey||d.shiftKey||d.metaKey||k&&(k.type||f(k).is("[contenteditable]"))||f.each(c,function(c,k){if(1<a.group.length&&k[e]!==x)return b[c](k[e]),d.preventDefault(),!1;if(-1<f.inArray(e,k))return b[c](),d.preventDefault(),!1})}),f.fn.mousewheel&&a.mouseWheel&&b.wrap.bind("mousewheel.fb",function(c,e,k,g){for(var d=f(c.target||null),h=!1;d.length&&!(h||d.is(".fancybox-skin")||d.is(".fancybox-wrap"));)h= 2850(h=d[0])&&!(h.style.overflow&&"hidden"===h.style.overflow)&&(h.clientWidth&&h.scrollWidth>h.clientWidth||h.clientHeight&&h.scrollHeight>h.clientHeight),d=f(d).parent();0!==e&&!h&&1<b.group.length&&!a.canShrink&&(0<g||0<k?b.prev(0<g?"down":"left"):(0>g||0>k)&&b.next(0>g?"up":"right"),c.preventDefault())}))},trigger:function(a,c){var d,e=c||b.coming||b.current;if(e){f.isFunction(e[a])&&(d=e[a].apply(e,Array.prototype.slice.call(arguments,1)));if(!1===d)return!1;e.helpers&&f.each(e.helpers,function(c, 2851d){if(d&&b.helpers[c]&&f.isFunction(b.helpers[c][a]))b.helpers[c][a](f.extend(!0,{},b.helpers[c].defaults,d),e)})}p.trigger(a)},isImage:function(a){return r(a)&&a.match(/(^data:image\/.*,)|(\.(jp(e|g|eg)|gif|png|bmp|webp|svg)((\?|#).*)?$)/i)},isSWF:function(a){return r(a)&&a.match(/\.(swf)((\?|#).*)?$/i)},_start:function(a){var c={},d,e;a=m(a);d=b.group[a]||null;if(!d)return!1;c=f.extend(!0,{},b.opts,d);d=c.margin;e=c.padding;"number"===f.type(d)&&(c.margin=[d,d,d,d]);"number"===f.type(e)&&(c.padding= 2852[e,e,e,e]);c.modal&&f.extend(!0,c,{closeBtn:!1,closeClick:!1,nextClick:!1,arrows:!1,mouseWheel:!1,keys:null,helpers:{overlay:{closeClick:!1}}});c.autoSize&&(c.autoWidth=c.autoHeight=!0);"auto"===c.width&&(c.autoWidth=!0);"auto"===c.height&&(c.autoHeight=!0);c.group=b.group;c.index=a;b.coming=c;if(!1===b.trigger("beforeLoad"))b.coming=null;else{e=c.type;d=c.href;if(!e)return b.coming=null,b.current&&b.router&&"jumpto"!==b.router?(b.current.index=a,b[b.router](b.direction)):!1;b.isActive=!0;if("image"=== 2853e||"swf"===e)c.autoHeight=c.autoWidth=!1,c.scrolling="visible";"image"===e&&(c.aspectRatio=!0);"iframe"===e&&u&&(c.scrolling="scroll");c.wrap=f(c.tpl.wrap).addClass("fancybox-"+(u?"mobile":"desktop")+" fancybox-type-"+e+" fancybox-tmp "+c.wrapCSS).appendTo(c.parent||"body");f.extend(c,{skin:f(".fancybox-skin",c.wrap),outer:f(".fancybox-outer",c.wrap),inner:f(".fancybox-inner",c.wrap)});f.each(["Top","Right","Bottom","Left"],function(a,b){c.skin.css("padding"+b,y(c.padding[a]))});b.trigger("onReady"); 2854if("inline"===e||"html"===e){if(!c.content||!c.content.length)return b._error("content")}else if(!d)return b._error("href");"image"===e?b._loadImage():"ajax"===e?b._loadAjax():"iframe"===e?b._loadIframe():b._afterLoad()}},_error:function(a){f.extend(b.coming,{type:"html",autoWidth:!0,autoHeight:!0,minWidth:0,minHeight:0,scrolling:"no",hasError:a,content:b.coming.tpl.error});b._afterLoad()},_loadImage:function(){var a=b.imgPreload=new Image;a.onload=function(){this.onload=this.onerror=null;b.coming.width= 2855this.width/b.opts.pixelRatio;b.coming.height=this.height/b.opts.pixelRatio;b._afterLoad()};a.onerror=function(){this.onload=this.onerror=null;b._error("image")};a.src=b.coming.href;!0!==a.complete&&b.showLoading()},_loadAjax:function(){var a=b.coming;b.showLoading();b.ajaxLoad=f.ajax(f.extend({},a.ajax,{url:a.href,error:function(a,d){b.coming&&"abort"!==d?b._error("ajax",a):b.hideLoading()},success:function(c,d){"success"===d&&(a.content=c,b._afterLoad())}}))},_loadIframe:function(){var a=b.coming, 2856c=f(a.tpl.iframe.replace(/\{rnd\}/g,(new Date).getTime())).attr("scrolling",u?"auto":a.iframe.scrolling).attr("src",a.href);f(a.wrap).bind("onReset",function(){try{f(this).find("iframe").hide().attr("src","//about:blank").end().empty()}catch(d){}});a.iframe.preload&&(b.showLoading(),c.one("load",function(){f(this).data("ready",1);u||f(this).bind("load.fb",b.update);f(this).parents(".fancybox-wrap").width("100%").removeClass("fancybox-tmp").show();b._afterLoad()}));a.content=c.appendTo(a.inner);a.iframe.preload|| 2857b._afterLoad()},_preloadImages:function(){var a=b.group,c=b.current,d=a.length,e=c.preload?Math.min(c.preload,d-1):0,f,g;for(g=1;g<=e;g+=1)f=a[(c.index+g)%d],"image"===f.type&&f.href&&((new Image).src=f.href)},_afterLoad:function(){var a=b.coming,c=b.current,d,e,k,g,l;b.hideLoading();if(a&&!1!==b.isActive)if(!1===b.trigger("afterLoad",a,c))a.wrap.stop(!0).trigger("onReset").remove(),b.coming=null;else{c&&(b.trigger("beforeChange",c),c.wrap.stop(!0).removeClass("fancybox-opened").find(".fancybox-item, .fancybox-nav").remove()); 2858b.unbindEvents();d=a.content;e=a.type;k=a.scrolling;f.extend(b,{wrap:a.wrap,skin:a.skin,outer:a.outer,inner:a.inner,current:a,previous:c});g=a.href;switch(e){case "inline":case "ajax":case "html":a.selector?d=f("<div>").html(d).find(a.selector):v(d)&&(d.data("fancybox-placeholder")||d.data("fancybox-placeholder",f('<div class="fancybox-placeholder"></div>').insertAfter(d).hide()),d=d.show().detach(),a.wrap.bind("onReset",function(){f(this).find(d).length&&d.hide().replaceAll(d.data("fancybox-placeholder")).data("fancybox-placeholder", 2859!1)}));break;case "image":d=a.tpl.image.replace(/\{href\}/g,g);break;case "swf":d='<object id="fancybox-swf" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="100%" height="100%"><param name="movie" value="'+g+'"></param>',l="",f.each(a.swf,function(a,b){d+='<param name="'+a+'" value="'+b+'"></param>';l+=" "+a+'="'+b+'"'}),d+='<embed src="'+g+'" type="application/x-shockwave-flash" width="100%" height="100%"'+l+"></embed></object>"}v(d)&&d.parent().is(a.inner)||a.inner.append(d);b.trigger("beforeShow"); 2860a.inner.css("overflow","yes"===k?"scroll":"no"===k?"hidden":k);b._setDimension();b.reposition();b.isOpen=!1;b.coming=null;b.bindEvents();if(!b.isOpened)f(".fancybox-wrap").not(a.wrap).stop(!0).trigger("onReset").remove();else if(c.prevMethod)b.transitions[c.prevMethod]();b.transitions[b.isOpened?a.nextMethod:a.openMethod]();b._preloadImages()}},_setDimension:function(){var a=b.getViewport(),c=0,d,e=b.wrap,k=b.skin,g=b.inner,l=b.current;d=l.width;var h=l.height,n=l.minWidth,w=l.minHeight,p=l.maxWidth, 2861q=l.maxHeight,u=l.scrolling,r=l.scrollOutside?l.scrollbarWidth:0,z=l.margin,A=m(z[1]+z[3]),t=m(z[0]+z[2]),x,B,v,E,C,H,D,F,I;e.add(k).add(g).width("auto").height("auto").removeClass("fancybox-tmp");z=m(k.outerWidth(!0)-k.width());x=m(k.outerHeight(!0)-k.height());B=A+z;v=t+x;E=G(d)?(a.w-B)*m(d)/100:d;C=G(h)?(a.h-v)*m(h)/100:h;if("iframe"===l.type){if(I=l.content,l.autoHeight&&I&&1===I.data("ready"))try{I[0].contentWindow.document.location&&(g.width(E).height(9999),H=I.contents().find("body"),r&&H.css("overflow-x", 2862"hidden"),C=H.outerHeight(!0))}catch(M){}}else if(l.autoWidth||l.autoHeight)g.addClass("fancybox-tmp"),l.autoWidth||g.width(E),l.autoHeight||g.height(C),l.autoWidth&&(E=g.width()),l.autoHeight&&(C=g.height()),g.removeClass("fancybox-tmp");d=m(E);h=m(C);F=E/C;n=m(G(n)?m(n,"w")-B:n);p=m(G(p)?m(p,"w")-B:p);w=m(G(w)?m(w,"h")-v:w);q=m(G(q)?m(q,"h")-v:q);H=p;D=q;l.fitToView&&(p=Math.min(a.w-B,p),q=Math.min(a.h-v,q));B=a.w-A;t=a.h-t;l.aspectRatio?(d>p&&(d=p,h=m(d/F)),h>q&&(h=q,d=m(h*F)),d<n&&(d=n,h=m(d/ 2863F)),h<w&&(h=w,d=m(h*F))):(d=Math.max(n,Math.min(d,p)),l.autoHeight&&"iframe"!==l.type&&(g.width(d),h=g.height()),h=Math.max(w,Math.min(h,q)));if(l.fitToView)if(g.width(d).height(h),e.width(d+z),a=e.width(),A=e.height(),l.aspectRatio)for(;(a>B||A>t)&&d>n&&h>w&&!(19<c++);)h=Math.max(w,Math.min(q,h-10)),d=m(h*F),d<n&&(d=n,h=m(d/F)),d>p&&(d=p,h=m(d/F)),g.width(d).height(h),e.width(d+z),a=e.width(),A=e.height();else d=Math.max(n,Math.min(d,d-(a-B))),h=Math.max(w,Math.min(h,h-(A-t)));r&&"auto"===u&&h<C&& 2864d+z+r<B&&(d+=r);g.width(d).height(h);e.width(d+z);a=e.width();A=e.height();c=(a>B||A>t)&&d>n&&h>w;d=l.aspectRatio?d<H&&h<D&&d<E&&h<C:(d<H||h<D)&&(d<E||h<C);f.extend(l,{dim:{width:y(a),height:y(A)},origWidth:E,origHeight:C,canShrink:c,canExpand:d,wPadding:z,hPadding:x,wrapSpace:A-k.outerHeight(!0),skinSpace:k.height()-h});!I&&l.autoHeight&&h>w&&h<q&&!d&&g.height("auto")},_getPosition:function(a){var c=b.current,d=b.getViewport(),e=c.margin,f=b.wrap.width()+e[1]+e[3],g=b.wrap.height()+e[0]+e[2],e={position:"absolute", 2865top:e[0],left:e[3]};c.autoCenter&&c.fixed&&!a&&g<=d.h&&f<=d.w?e.position="fixed":c.locked||(e.top+=d.y,e.left+=d.x);e.top=y(Math.max(e.top,e.top+(d.h-g)*c.topRatio));e.left=y(Math.max(e.left,e.left+(d.w-f)*c.leftRatio));return e},_afterZoomIn:function(){var a=b.current;a&&((b.isOpen=b.isOpened=!0,b.wrap.css("overflow","visible").addClass("fancybox-opened").hide().show(0),b.update(),(a.closeClick||a.nextClick&&1<b.group.length)&&b.inner.css("cursor","pointer").bind("click.fb",function(c){f(c.target).is("a")|| 2866f(c.target).parent().is("a")||(c.preventDefault(),b[a.closeClick?"close":"next"]())}),a.closeBtn&&f(a.tpl.closeBtn).appendTo(b.skin).bind("click.fb",function(a){a.preventDefault();b.close()}),a.arrows&&1<b.group.length&&((a.loop||0<a.index)&&f(a.tpl.prev).appendTo(b.outer).bind("click.fb",b.prev),(a.loop||a.index<b.group.length-1)&&f(a.tpl.next).appendTo(b.outer).bind("click.fb",b.next)),b.trigger("afterShow"),a.loop||a.index!==a.group.length-1)?b.opts.autoPlay&&!b.player.isActive&&(b.opts.autoPlay= 2867!1,b.play(!0)):b.play(!1))},_afterZoomOut:function(a){a=a||b.current;f(".fancybox-wrap").trigger("onReset").remove();f.extend(b,{group:{},opts:{},router:!1,current:null,isActive:!1,isOpened:!1,isOpen:!1,isClosing:!1,wrap:null,skin:null,outer:null,inner:null});b.trigger("afterClose",a)}});b.transitions={getOrigPosition:function(){var a=b.current,c=a.element,d=a.orig,e={},f=50,g=50,l=a.hPadding,h=a.wPadding,n=b.getViewport();!d&&a.isDom&&c.is(":visible")&&(d=c.find("img:first"),d.length||(d=c));v(d)? 2868(e=d.offset(),d.is("img")&&(f=d.outerWidth(),g=d.outerHeight())):(e.top=n.y+(n.h-g)*a.topRatio,e.left=n.x+(n.w-f)*a.leftRatio);if("fixed"===b.wrap.css("position")||a.locked)e.top-=n.y,e.left-=n.x;return e={top:y(e.top-l*a.topRatio),left:y(e.left-h*a.leftRatio),width:y(f+h),height:y(g+l)}},step:function(a,c){var d,e,f=c.prop;e=b.current;var g=e.wrapSpace,l=e.skinSpace;if("width"===f||"height"===f)d=c.end===c.start?1:(a-c.start)/(c.end-c.start),b.isClosing&&(d=1-d),e="width"===f?e.wPadding:e.hPadding, 2869e=a-e,b.skin[f](m("width"===f?e:e-g*d)),b.inner[f](m("width"===f?e:e-g*d-l*d))},zoomIn:function(){var a=b.current,c=a.pos,d=a.openEffect,e="elastic"===d,k=f.extend({opacity:1},c);delete k.position;e?(c=this.getOrigPosition(),a.openOpacity&&(c.opacity=.1)):"fade"===d&&(c.opacity=.1);b.wrap.css(c).animate(k,{duration:"none"===d?0:a.openSpeed,easing:a.openEasing,step:e?this.step:null,complete:b._afterZoomIn})},zoomOut:function(){var a=b.current,c=a.closeEffect,d="elastic"===c,e={opacity:.1};d&&(e=this.getOrigPosition(), 2870a.closeOpacity&&(e.opacity=.1));b.wrap.animate(e,{duration:"none"===c?0:a.closeSpeed,easing:a.closeEasing,step:d?this.step:null,complete:b._afterZoomOut})},changeIn:function(){var a=b.current,c=a.nextEffect,d=a.pos,e={opacity:1},f=b.direction,g;d.opacity=.1;"elastic"===c&&(g="down"===f||"up"===f?"top":"left","down"===f||"right"===f?(d[g]=y(m(d[g])-200),e[g]="+=200px"):(d[g]=y(m(d[g])+200),e[g]="-=200px"));"none"===c?b._afterZoomIn():b.wrap.css(d).animate(e,{duration:a.nextSpeed,easing:a.nextEasing, 2871complete:b._afterZoomIn})},changeOut:function(){var a=b.previous,c=a.prevEffect,d={opacity:.1},e=b.direction;"elastic"===c&&(d["down"===e||"up"===e?"top":"left"]=("up"===e||"left"===e?"-":"+")+"=200px");a.wrap.animate(d,{duration:"none"===c?0:a.prevSpeed,easing:a.prevEasing,complete:function(){f(this).trigger("onReset").remove()}})}};b.helpers.overlay={defaults:{closeClick:!0,speedOut:200,showEarly:!0,css:{},locked:!u,fixed:!0},overlay:null,fixed:!1,el:f("html"),create:function(a){var c;a=f.extend({}, 2872this.defaults,a);this.overlay&&this.close();c=b.coming?b.coming.parent:a.parent;this.overlay=f('<div class="fancybox-overlay"></div>').appendTo(c&&c.length?c:"body");this.fixed=!1;a.fixed&&b.defaults.fixed&&(this.overlay.addClass("fancybox-overlay-fixed"),this.fixed=!0)},open:function(a){var c=this;a=f.extend({},this.defaults,a);this.overlay?this.overlay.unbind(".overlay").width("auto").height("auto"):this.create(a);this.fixed||(q.bind("resize.overlay",f.proxy(this.update,this)),this.update());a.closeClick&& 2873this.overlay.bind("click.overlay",function(a){if(f(a.target).hasClass("fancybox-overlay"))return b.isActive?b.close():c.close(),!1});this.overlay.css(a.css).show()},close:function(){q.unbind("resize.overlay");this.el.hasClass("fancybox-lock")&&(f(".fancybox-margin").removeClass("fancybox-margin"),this.el.removeClass("fancybox-lock"),q.scrollTop(this.scrollV).scrollLeft(this.scrollH));f(".fancybox-overlay").remove().hide();f.extend(this,{overlay:null,fixed:!1})},update:function(){var a="100%",b;this.overlay.width(a).height("100%"); 2874K?(b=Math.max(J.documentElement.offsetWidth,J.body.offsetWidth),p.width()>b&&(a=p.width())):p.width()>q.width()&&(a=p.width());this.overlay.width(a).height(p.height())},onReady:function(a,b){var d=this.overlay;f(".fancybox-overlay").stop(!0,!0);d||this.create(a);a.locked&&this.fixed&&b.fixed&&(b.locked=this.overlay.append(b.wrap),b.fixed=!1);!0===a.showEarly&&this.beforeShow.apply(this,arguments)},beforeShow:function(a,b){b.locked&&!this.el.hasClass("fancybox-lock")&&(!1!==this.fixPosition&&f("*:not(object)").filter(function(){return"fixed"=== 2875f(this).css("position")&&!f(this).hasClass("fancybox-overlay")&&!f
2875(this).hasClass("fancybox-wrap")}).addClass("fancybox-margin"),this.el.addClass("fancybox-margin"),this.scrollV=q.scrollTop(),this.scrollH=q.scrollLeft(),this.el.addClass("fancybox-lock"),q.scrollTop(this.scrollV).scrollLeft(this.scrollH));this.open(a)},onUpdate:function(){this.fixed||this.update()},afterClose:function(a){this.overlay&&!b.coming&&this.overlay.fadeOut(a.speedOut,f.proxy(this.close,this))}};b.helpers.title={defaults:{type:"float", 2876position:"bottom"},beforeShow:function(a){var c=b.current,d=c.title,e=a.type;f.isFunction(d)&&(d=d.call(c.element,c));if(r(d)&&""!==f.trim(d)){c=f('<div class="fancybox-title fancybox-title-'+e+'-wrap">'+d+"</div>");switch(e){case "inside":e=b.skin;break;case "outside":e=b.wrap;break;case "over":e=b.inner;break;default:e=b.skin,c.appendTo("body"),K&&c.width(c.width()),c.wrapInner('<span class="child"></span>'),b.current.margin[2]+=Math.abs(m(c.css("margin-bottom")))}c["top"===a.position?"prependTo": 2877"appendTo"](e)}}};f.fn.fancybox=function(a){var c,d=f(this),e=this.selector||"",k=function(g){var l=f(this).blur(),h=c,k,m;g.ctrlKey||g.altKey||g.shiftKey||g.metaKey||l.is(".fancybox-wrap")||(k=a.groupAttr||"data-fancybox-group",m=l.attr(k),m||(k="rel",m=l.get(0)[k]),m&&""!==m&&"nofollow"!==m&&(l=e.length?f(e):d,l=l.filter("["+k+'="'+m+'"]'),h=l.index(this)),a.index=h,!1!==b.open(l,a)&&g.preventDefault())};a=a||{};c=a.index||0;e&&!1!==a.live?p.undelegate(e,"click.fb-start").delegate(e+":not('.fancybox-item, .fancybox-nav')", 2878"click.fb-start",k):d.unbind("click.fb-start").bind("click.fb-start",k);this.filter("[data-fancybox-start=1]").trigger("click");return this};p.ready(function(){var a,c;f.scrollbarWidth===x&&(f.scrollbarWidth=function(){var a=f('<div style="width:50px;height:50px;overflow:auto"><div/></div>').appendTo("body"),b=a.children(),b=b.innerWidth()-b.height(99).innerWidth();a.remove();return b});f.support.fixedPosition===x&&(f.support.fixedPosition=function(){var a=f('<div style="position:fixed;top:20px;"></div>').appendTo("body"), 2879b=20===a[0].offsetTop||15===a[0].offsetTop;a.remove();return b}());f.extend(b.defaults,{scrollbarWidth:f.scrollbarWidth(),fixed:f.support.fixedPosition,parent:f("body")});a=f(t).width();L.addClass("fancybox-lock-test");c=f(t).width();L.removeClass("fancybox-lock-test");f("<style type='text/css'>.fancybox-margin{margin-right:"+(c-a)+"px;}</style>").appendTo("head")})})(window,document,jQuery); 2880/* 2881* jquery-match-height 0.7.2 by @liabru 2882* http://brm.io/jquery-match-height/ 2883* License MIT 2884*/ 2885!function(t){"use strict";"function"==typeof define&&define.amd?define(["jquery"],t):"undefined"!=typeof module&&module.exports?module.exports=t(require("jquery")):t(jQuery)}(function(t){var e=-1,o=-1,n=function(t){return parseFloat(t)||0},a=function(e){var o=1,a=t(e),i=null,r=[];return a.each(function(){var e=t(this),a=e.offset().top-n(e.css("margin-top")),s=r.length>0?r[r.length-1]:null;null===s?r.push(e):Math.floor(Math.abs(i-a))<=o?r[r.length-1]=s.add(e):r.push(e),i=a}),r},i=function(e){var o={ 2886byRow:!0,property:"height",target:null,remove:!1};return"object"==typeof e?t.extend(o,e):("boolean"==typeof e?o.byRow=e:"remove"===e&&(o.remove=!0),o)},r=t.fn.matchHeight=function(e){var o=i(e);if(o.remove){var n=this;return this.css(o.property,""),t.each(r._groups,function(t,e){e.elements=e.elements.not(n)}),this}return this.length<=1&&!o.target?this:(r._groups.push({elements:this,options:o}),r._apply(this,o),this)};r.version="0.7.2",r._groups=[],r._throttle=80,r._maintainScroll=!1,r._beforeUpdate=null, 2887r._afterUpdate=null,r._rows=a,r._parse=n,r._parseOptions=i,r._apply=function(e,o){var s=i(o),h=t(e),l=[h],c=t(window).scrollTop(),p=t("html").outerHeight(!0),u=h.parents().filter(":hidden");return u.each(function(){var e=t(this);e.data("style-cache",e.attr("style"))}),u.css("display","block"),s.byRow&&!s.target&&(h.each(function(){var e=t(this),o=e.css("display");"inline-block"!==o&&"flex"!==o&&"inline-flex"!==o&&(o="block"),e.data("style-cache",e.attr("style")),e.css({display:o,"padding-top":"0", 2888"padding-bottom":"0","margin-top":"0","margin-bottom":"0","border-top-width":"0","border-bottom-width":"0",height:"100px",overflow:"hidden"})}),l=a(h),h.each(function(){var e=t(this);e.attr("style",e.data("style-cache")||"")})),t.each(l,function(e,o){var a=t(o),i=0;if(s.target)i=s.target.outerHeight(!1);else{if(s.byRow&&a.length<=1)return void a.css(s.property,"");a.each(function(){var e=t(this),o=e.attr("style"),n=e.css("display");"inline-block"!==n&&"flex"!==n&&"inline-flex"!==n&&(n="block");var a={ 2889display:n};a[s.property]="",e.css(a),e.outerHeight(!1)>i&&(i=e.outerHeight(!1)),o?e.attr("style",o):e.css("display","")})}a.each(function(){var e=t(this),o=0;s.target&&e.is(s.target)||("border-box"!==e.css("box-sizing")&&(o+=n(e.css("border-top-width"))+n(e.css("border-bottom-width")),o+=n(e.css("padding-top"))+n(e.css("padding-bottom"))),e.css(s.property,i-o+"px"))})}),u.each(function(){var e=t(this);e.attr("style",e.data("style-cache")||null)}),r._maintainScroll&&t(window).scrollTop(c/p*t("html").outerHeight(!0)), 2890this},r._applyDataApi=function(){var e={};t("[data-match-height], [data-mh]").each(function(){var o=t(this),n=o.attr("data-mh")||o.attr("data-match-height");n in e?e[n]=e[n].add(o):e[n]=o}),t.each(e,function(){this.matchHeight(!0)})};var s=function(e){r._beforeUpdate&&r._beforeUpdate(e,r._groups),t.each(r._groups,function(){r._apply(this.elements,this.options)}),r._afterUpdate&&r._afterUpdate(e,r._groups)};r._update=function(n,a){if(a&&"resize"===a.type){var i=t(window).width();if(i===e)return;e=i; 2891}n?o===-1&&(o=setTimeout(function(){s(a),o=-1},r._throttle)):s(a)},t(r._applyDataApi);var h=t.fn.on?"on":"bind";t(window)[h]("load",function(t){r._update(!1,t)}),t(window)[h]("resize orientationchange",function(t){r._update(!0,t)})});/*! 2892 * # Semantic UI 2.4.1 - Dropdown 2893 * http://github.com/semantic-org/semantic-ui/ 2894 * 2895 * 2896 * Released under the MIT license 2897 * http://opensource.org/licenses/MIT 2898 * 2899 */ 2900 2901;(function ($, window, document, undefined) { 2902 2903 'use strict'; 2904 2905 window = (typeof window != 'undefined' && window.Math == Math) 2906 ? window 2907 : (typeof self != 'undefined' && self.Math == Math) 2908 ? self 2909 : Function('return this')() 2910 ; 2911 2912 $.fn.dropdown = function(parameters) { 2913 var 2914 $allModules = $(this), 2915 $document = $(document), 2916 2917 moduleSelector = $allModules.selector || '', 2918 2919 hasTouch = ('ontouchstart' in document.documentElement), 2920 time = new Date().getTime(), 2921 performance = [], 2922 2923 query = arguments[0], 2924 methodInvoked = (typeof query == 'string'), 2925 queryArguments = [].slice.call(arguments, 1), 2926 returnedValue 2927 ; 2928 2929 $allModules 2930 .each(function(elementIndex) { 2931 var 2932 settings = ( $.isPlainObject(parameters) ) 2933 ? $.extend(true, {}, $.fn.dropdown.settings, parameters) 2934 : $.extend({}, $.fn.dropdown.settings), 2935 2936 className = settings.className, 2937 message = settings.message, 2938 fields = settings.fields, 2939 keys = settings.keys, 2940 metadata = settings.metadata, 2941 namespace = settings.namespace, 2942 regExp = settings.regExp, 2943 selector = settings.selector, 2944 error = settings.error, 2945 templates = settings.templates, 2946 2947 eventNamespace = '.' + namespace, 2948 moduleNamespace = 'module-' + namespace, 2949 2950 $module = $(this), 2951 $context = $(settings.context), 2952 $text = $module.find(selector.text), 2953 $search = $module.find(selector.search), 2954 $sizer = $module.find(selector.sizer), 2955 $input = $module.find(selector.input), 2956 $icon = $module.find(selector.icon), 2957 2958 $combo = ($module.prev().find(selector.text).length > 0) 2959 ? $module.prev().find(selector.text) 2960 : $module.prev(), 2961 2962 $menu = $module.children(selector.menu), 2963 $item = $menu.find(selector.item), 2964 2965 activated = false, 2966 itemActivated = false, 2967 internalChange = false, 2968 element = this, 2969 instance = $module.data(moduleNamespace), 2970 2971 initialLoad, 2972 pageLostFocus, 2973 willRefocus, 2974 elementNamespace, 2975 id, 2976 selectObserver, 2977 menuObserver, 2978 module 2979 ; 2980 2981 module = { 2982 2983 initialize: function() { 2984 module.debug('Initializing dropdown', settings); 2985 2986 if( module.is.alreadySetup() ) { 2987 module.setup.reference(); 2988 } 2989 else { 2990 2991 module.setup.layout(); 2992 2993 if(settings.values) { 2994 module.change.values(settings.values); 2995 } 2996 2997 module.refreshData(); 2998 2999 module.save.defaults(); 3000 module.restore.selected(); 3001 3002 module.create.id(); 3003 module.bind.events(); 3004 3005 module.observeChanges(); 3006 module.instantiate(); 3007 } 3008 3009 }, 3010 3011 instantiate: function() { 3012 module.verbose('Storing instance of dropdown', module); 3013 instance = module; 3014 $module 3015 .data(moduleNamespace, module) 3016 ; 3017 }, 3018 3019 destroy: function() { 3020 module.verbose('Destroying previous dropdown', $module); 3021 module.remove.tabbable(); 3022 $module 3023 .off(eventNamespace) 3024 .removeData(moduleNamespace) 3025 ; 3026 $menu 3027 .off(eventNamespace) 3028 ; 3029 $document 3030 .off(elementNamespace) 3031 ; 3032 module.disconnect.menuObserver(); 3033 module.disconnect.selectObserver(); 3034 }, 3035 3036 observeChanges: function() { 3037 if('MutationObserver' in window) { 3038 selectObserver = new MutationObserver(module.event.select.mutation); 3039 menuObserver = new MutationObserver(module.event.menu.mutation); 3040 module.debug('Setting up mutation observer', selectObserver, menuObserver); 3041 module.observe.select(); 3042 module.observe.menu(); 3043 } 3044 }, 3045 3046 disconnect: { 3047 menuObserver: function() { 3048 if(menuObserver) { 3049 menuObserver.disconnect(); 3050 } 3051 }, 3052 selectObserver: function() { 3053 if(selectObserver) { 3054 selectObserver.disconnect(); 3055 } 3056 } 3057 }, 3058 observe: { 3059 select: function() { 3060 if(module.has.input()) { 3061 selectObserver.observe($module[0], { 3062 childList : true, 3063 subtree : true 3064 }); 3065 } 3066 }, 3067 menu: function() { 3068 if(module.has.menu()) { 3069 menuObserver.observe($menu[0], { 3070 childList : true, 3071 subtree : true 3072 }); 3073 } 3074 } 3075 }, 3076 3077 create: { 3078 id: function() { 3079 id = (Math.random().toString(16) + '000000000').substr(2, 8); 3080 elementNamespace = '.' + id; 3081 module.verbose('Creating unique id for element', id); 3082 }, 3083 userChoice: function(values) { 3084 var 3085 $userChoices, 3086 $userChoice, 3087 isUserValue, 3088 html 3089 ; 3090 values = values || module.get.userValues(); 3091 if(!values) { 3092 return false;
vendor: 107,155 bytes, lines 3093-6828
3093 } 3094 values = $.isArray(values) 3095 ? values 3096 : [values] 3097 ; 3098 $.each(values, function(index, value) { 3099 if(module.get.item(value) === false) { 3100 html = settings.templates.addition( module.add.variables(message.addResult, value) ); 3101 $userChoice = $('<div />') 3102 .html(html) 3103 .attr('data-' + metadata.value, value) 3104 .attr('data-' + metadata.text, value) 3105 .addClass(className.addition) 3106 .addClass(className.item) 3107 ; 3108 if(settings.hideAdditions) { 3109 $userChoice.addClass(className.hidden); 3110 } 3111 $userChoices = ($userChoices === undefined) 3112 ? $userChoice 3113 : $userChoices.add($userChoice) 3114 ; 3115 module.verbose('Creating user choices for value', value, $userChoice); 3116 } 3117 }); 3118 return $userChoices; 3119 }, 3120 userLabels: function(value) { 3121 var 3122 userValues = module.get.userValues() 3123 ; 3124 if(userValues) { 3125 module.debug('Adding user labels', userValues); 3126 $.each(userValues, function(index, value) { 3127 module.verbose('Adding custom user value'); 3128 module.add.label(value, value); 3129 }); 3130 } 3131 }, 3132 menu: function() { 3133 $menu = $('<div />') 3134 .addClass(className.menu) 3135 .appendTo($module) 3136 ; 3137 }, 3138 sizer: function() { 3139 $sizer = $('<span />') 3140 .addClass(className.sizer) 3141 .insertAfter($search) 3142 ; 3143 } 3144 }, 3145 3146 search: function(query) { 3147 query = (query !== undefined) 3148 ? query 3149 : module.get.query() 3150 ; 3151 module.verbose('Searching for query', query); 3152 if(module.has.minCharacters(query)) { 3153 module.filter(query); 3154 } 3155 else { 3156 module.hide(); 3157 } 3158 }, 3159 3160 select: { 3161 firstUnfiltered: function() { 3162 module.verbose('Selecting first non-filtered element'); 3163 module.remove.selectedItem(); 3164 $item 3165 .not(selector.unselectable) 3166 .not(selector.addition + selector.hidden) 3167 .eq(0) 3168 .addClass(className.selected) 3169 ; 3170 }, 3171 nextAvailable: function($selected) { 3172 $selected = $selected.eq(0); 3173 var 3174 $nextAvailable = $selected.nextAll(selector.item).not(selector.unselectable).eq(0), 3175 $prevAvailable = $selected.prevAll(selector.item).not(selector.unselectable).eq(0), 3176 hasNext = ($nextAvailable.length > 0) 3177 ; 3178 if(hasNext) { 3179 module.verbose('Moving selection to', $nextAvailable); 3180 $nextAvailable.addClass(className.selected); 3181 } 3182 else { 3183 module.verbose('Moving selection to', $prevAvailable); 3184 $prevAvailable.addClass(className.selected); 3185 } 3186 } 3187 }, 3188 3189 setup: { 3190 api: function() { 3191 var 3192 apiSettings = { 3193 debug : settings.debug, 3194 urlData : { 3195 value : module.get.value(), 3196 query : module.get.query() 3197 }, 3198 on : false 3199 } 3200 ; 3201 module.verbose('First request, initializing API'); 3202 $module 3203 .api(apiSettings) 3204 ; 3205 }, 3206 layout: function() { 3207 if( $module.is('select') ) { 3208 module.setup.select(); 3209 module.setup.returnedObject(); 3210 } 3211 if( !module.has.menu() ) { 3212 module.create.menu(); 3213 } 3214 if( module.is.search() && !module.has.search() ) { 3215 module.verbose('Adding search input'); 3216 $search = $('<input />') 3217 .addClass(className.search) 3218 .prop('autocomplete', 'off') 3219 .insertBefore($text) 3220 ; 3221 } 3222 if( module.is.multiple() && module.is.searchSelection() && !module.has.sizer()) { 3223 module.create.sizer(); 3224 } 3225 if(settings.allowTab) { 3226 module.set.tabbable(); 3227 } 3228 }, 3229 select: function() { 3230 var 3231 selectValues = module.get.selectValues() 3232 ; 3233 module.debug('Dropdown initialized on a select', selectValues); 3234 if( $module.is('select') ) { 3235 $input = $module; 3236 } 3237 // see if select is placed correctly already 3238 if($input.parent(selector.dropdown).length > 0) { 3239 module.debug('UI dropdown already exists. Creating dropdown menu only'); 3240 $module = $input.closest(selector.dropdown); 3241 if( !module.has.menu() ) { 3242 module.create.menu(); 3243 } 3244 $menu = $module.children(selector.menu); 3245 module.setup.menu(selectValues); 3246 } 3247 else { 3248 module.debug('Creating entire dropdown from select'); 3249 $module = $('<div />') 3250 .attr('class', $input.attr('class') ) 3251 .addClass(className.selection) 3252 .addClass(className.dropdown) 3253 .html( templates.dropdown(selectValues) ) 3254 .insertBefore($input) 3255 ; 3256 if($input.hasClass(className.multiple) && $input.prop('multiple') === false) { 3257 module.error(error.missingMultiple); 3258 $input.prop('multiple', true); 3259 } 3260 if($input.is('[multiple]')) { 3261 module.set.multiple(); 3262 } 3263 if ($input.prop('disabled')) { 3264 module.debug('Disabling dropdown'); 3265 $module.addClass(className.disabled); 3266 } 3267 $input 3268 .removeAttr('class') 3269 .detach() 3270 .prependTo($module) 3271 ; 3272 } 3273 module.refresh(); 3274 }, 3275 menu: function(values) { 3276 $menu.html( templates.menu(values, fields)); 3277 $item = $menu.find(selector.item); 3278 }, 3279 reference: function() { 3280 module.debug('Dropdown behavior was called on select, replacing with closest dropdown'); 3281 // replace module reference 3282 $module = $module.parent(selector.dropdown); 3283 instance = $module.data(moduleNamespace); 3284 element = $module.get(0); 3285 module.refresh(); 3286 module.setup.returnedObject(); 3287 }, 3288 returnedObject: function() { 3289 var 3290 $firstModules = $allModules.slice(0, elementIndex), 3291 $lastModules = $allModules.slice(elementIndex + 1) 3292 ; 3293 // adjust all modules to use correct reference 3294 $allModules = $firstModules.add($module).add($lastModules); 3295 } 3296 }, 3297 3298 refresh: function() { 3299 module.refreshSelectors(); 3300 module.refreshData(); 3301 }, 3302 3303 refreshItems: function() { 3304 $item = $menu.find(selector.item); 3305 }, 3306 3307 refreshSelectors: function() { 3308 module.verbose('Refreshing selector cache'); 3309 $text = $module.find(selector.text); 3310 $search = $module.find(selector.search); 3311 $input = $module.find(selector.input); 3312 $icon = $module.find(selector.icon); 3313 $combo = ($module.prev().find(selector.text).length > 0) 3314 ? $module.prev().find(selector.text) 3315 : $module.prev() 3316 ; 3317 $menu = $module.children(selector.menu); 3318 $item = $menu.find(selector.item); 3319 }, 3320 3321 refreshData: function() { 3322 module.verbose('Refreshing cached metadata'); 3323 $item 3324 .removeData(metadata.text) 3325 .removeData(metadata.value) 3326 ; 3327 }, 3328 3329 clearData: function() { 3330 module.verbose('Clearing metadata'); 3331 $item 3332 .removeData(metadata.text) 3333 .removeData(metadata.value) 3334 ; 3335 $module 3336 .removeData(metadata.defaultText) 3337 .removeData(metadata.defaultValue) 3338 .removeData(metadata.placeholderText) 3339 ; 3340 }, 3341 3342 toggle: function() { 3343 module.verbose('Toggling menu visibility'); 3344 if( !module.is.active() ) { 3345 module.show(); 3346 } 3347 else { 3348 module.hide(); 3349 } 3350 }, 3351 3352 show: function(callback) { 3353 callback = $.isFunction(callback) 3354 ? callback 3355 : function(){} 3356 ; 3357 if(!module.can.show() && module.is.remote()) { 3358 module.debug('No API results retrieved, searching before show'); 3359 module.queryRemote(module.get.query(), module.show); 3360 } 3361 if( module.can.show() && !module.is.active() ) { 3362 module.debug('Showing dropdown'); 3363 if(module.has.message() && !(module.has.maxSelections() || module.has.allResultsFiltered()) ) { 3364 module.remove.message(); 3365 } 3366 if(module.is.allFiltered()) { 3367 return true; 3368 } 3369 if(settings.onShow.call(element) !== false) { 3370 module.animate.show(function() { 3371 if( module.can.click() ) { 3372 module.bind.intent(); 3373 } 3374 if(module.has.menuSearch()) { 3375 module.focusSearch(); 3376 } 3377 module.set.visible(); 3378 callback.call(element); 3379 }); 3380 } 3381 } 3382 }, 3383 3384 hide: function(callback) { 3385 callback = $.isFunction(callback) 3386 ? callback 3387 : function(){} 3388 ; 3389 if( module.is.active() && !module.is.animatingOutward() ) { 3390 module.debug('Hiding dropdown'); 3391 if(settings.onHide.call(element) !== false) { 3392 module.animate.hide(function() { 3393 module.remove.visible(); 3394 callback.call(element); 3395 }); 3396 } 3397 } 3398 }, 3399 3400 hideOthers: function() { 3401 module.verbose('Finding other dropdowns to hide'); 3402 $allModules 3403 .not($module) 3404 .has(selector.menu + '.' + className.visible) 3405 .dropdown('hide') 3406 ; 3407 }, 3408 3409 hideMenu: function() { 3410 module.verbose('Hiding menu instantaneously'); 3411 module.remove.active(); 3412 module.remove.visible(); 3413 $menu.transition('hide'); 3414 }, 3415 3416 hideSubMenus: function() { 3417 var 3418 $subMenus = $menu.children(selector.item).find(selector.menu) 3419 ; 3420 module.verbose('Hiding sub menus', $subMenus); 3421 $subMenus.transition('hide'); 3422 }, 3423 3424 bind: { 3425 events: function() { 3426 if(hasTouch) { 3427 module.bind.touchEvents(); 3428 } 3429 module.bind.keyboardEvents(); 3430 module.bind.inputEvents(); 3431 module.bind.mouseEvents(); 3432 }, 3433 touchEvents: function() { 3434 module.debug('Touch device detected binding additional touch events'); 3435 if( module.is.searchSelection() ) { 3436 // do nothing special yet 3437 } 3438 else if( module.is.single() ) { 3439 $module 3440 .on('touchstart' + eventNamespace, module.event.test.toggle) 3441 ; 3442 } 3443 $menu 3444 .on('touchstart' + eventNamespace, selector.item, module.event.item.mouseenter) 3445 ; 3446 }, 3447 keyboardEvents: function() { 3448 module.verbose('Binding keyboard events'); 3449 $module 3450 .on('keydown' + eventNamespace, module.event.keydown) 3451 ; 3452 if( module.has.search() ) { 3453 $module 3454 .on(module.get.inputEvent() + eventNamespace, selector.search, module.event.input) 3455 ; 3456 } 3457 if( module.is.multiple() ) { 3458 $document 3459 .on('keydown' + elementNamespace, module.event.document.keydown) 3460 ; 3461 } 3462 }, 3463 inputEvents: function() { 3464 module.verbose('Binding input change events'); 3465 $module 3466 .on('change' + eventNamespace, selector.input, module.event.change) 3467 ; 3468 }, 3469 mouseEvents: function() { 3470 module.verbose('Binding mouse events'); 3471 if(module.is.multiple()) { 3472 $module 3473 .on('click' + eventNamespace, selector.label, module.event.label.click) 3474 .on('click' + eventNamespace, selector.remove, module.event.remove.click) 3475 ; 3476 } 3477 if( module.is.searchSelection() ) { 3478 $module 3479 .on('mousedown' + eventNamespace, module.event.mousedown) 3480 .on('mouseup' + eventNamespace, module.event.mouseup) 3481 .on('mousedown' + eventNamespace, selector.menu, module.event.menu.mousedown) 3482 .on('mouseup' + eventNamespace, selector.menu, module.event.menu.mouseup) 3483 .on('click' + eventNamespace, selector.icon, module.event.icon.click) 3484 .on('focus' + eventNamespace, selector.search, module.event.search.focus) 3485 .on('click' + eventNamespace, selector.search, module.event.search.focus) 3486 .on('blur' + eventNamespace, selector.search, module.event.search.blur) 3487 .on('click' + eventNamespace, selector.text, module.event.text.focus) 3488 ; 3489 if(module.is.multiple()) { 3490 $module 3491 .on('click' + eventNamespace, module.event.click) 3492 ; 3493 } 3494 } 3495 else { 3496 if(settings.on == 'click') { 3497 $module 3498 .on('click' + eventNamespace, module.event.test.toggle) 3499 ; 3500 } 3501 else if(settings.on == 'hover') { 3502 $module 3503 .on('mouseenter' + eventNamespace, module.delay.show) 3504 .on('mouseleave' + eventNamespace, module.delay.hide) 3505 ; 3506 } 3507 else { 3508 $module 3509 .on(settings.on + eventNamespace, module.toggle) 3510 ; 3511 } 3512 $module 3513 .on('click' + eventNamespace, selector.icon, module.event.icon.click) 3514 .on('mousedown' + eventNamespace, module.event.mousedown) 3515 .on('mouseup' + eventNamespace, module.event.mouseup) 3516 .on('focus' + eventNamespace, module.event.focus) 3517 ; 3518 if(module.has.menuSearch() ) { 3519 $module 3520 .on('blur' + eventNamespace, selector.search, module.event.search.blur) 3521 ; 3522 } 3523 else { 3524 $module 3525 .on('blur' + eventNamespace, module.event.blur) 3526 ; 3527 } 3528 } 3529 $menu 3530 .on('mouseenter' + eventNamespace, selector.item, module.event.item.mouseenter) 3531 .on('mouseleave' + eventNamespace, selector.item, module.event.item.mouseleave) 3532 .on('click' + eventNamespace, selector.item, module.event.item.click) 3533 ; 3534 }, 3535 intent: function() { 3536 module.verbose('Binding hide intent event to document'); 3537 if(hasTouch) { 3538 $document 3539 .on('touchstart' + elementNamespace, module.event.test.touch) 3540 .on('touchmove' + elementNamespace, module.event.test.touch) 3541 ; 3542 } 3543 $document 3544 .on('click' + elementNamespace, module.event.test.hide) 3545 ; 3546 } 3547 }, 3548 3549 unbind: { 3550 intent: function() { 3551 module.verbose('Removing hide intent event from document'); 3552 if(hasTouch) { 3553 $document 3554 .off('touchstart' + elementNamespace) 3555 .off('touchmove' + elementNamespace) 3556 ; 3557 } 3558 $document 3559 .off('click' + elementNamespace) 3560 ; 3561 } 3562 }, 3563 3564 filter: function(query) { 3565 var 3566 searchTerm = (query !== undefined) 3567 ? query 3568 : module.get.query(), 3569 afterFiltered = function() { 3570 if(module.is.multiple()) { 3571 module.filterActive(); 3572 } 3573 if(query || (!query && module.get.activeItem().length == 0)) { 3574 module.select.firstUnfiltered(); 3575 } 3576 if( module.has.allResultsFiltered() ) { 3577 if( settings.onNoResults.call(element, searchTerm) ) { 3578 if(settings.allowAdditions) { 3579 if(settings.hideAdditions) { 3580 module.verbose('User addition with no menu, setting empty style'); 3581 module.set.empty(); 3582 module.hideMenu(); 3583 } 3584 } 3585 else { 3586 module.verbose('All items filtered, showing message', searchTerm); 3587 module.add.message(message.noResults); 3588 } 3589 } 3590 else { 3591 module.verbose('All items filtered, hiding dropdown', searchTerm); 3592 module.hideMenu(); 3593 } 3594 } 3595 else { 3596 module.remove.empty(); 3597 module.remove.message(); 3598 } 3599 if(settings.allowAdditions) { 3600 module.add.userSuggestion(query); 3601 } 3602 if(module.is.searchSelection() && module.can.show() && module.is.focusedOnSearch() ) { 3603 module.show(); 3604 } 3605 } 3606 ; 3607 if(settings.useLabels && module.has.maxSelections()) { 3608 return; 3609 } 3610 if(settings.apiSettings) { 3611 if( module.can.useAPI() ) { 3612 module.queryRemote(searchTerm, function() { 3613 if(settings.filterRemoteData) { 3614 module.filterItems(searchTerm); 3615 } 3616 afterFiltered(); 3617 }); 3618 } 3619 else { 3620 module.error(error.noAPI); 3621 } 3622 } 3623 else { 3624 module.filterItems(searchTerm); 3625 afterFiltered(); 3626 } 3627 }, 3628 3629 queryRemote: function(query, callback) { 3630 var 3631 apiSettings = { 3632 errorDuration : false, 3633 cache : 'local', 3634 throttle : settings.throttle, 3635 urlData : { 3636 query: query 3637 }, 3638 onError: function() { 3639 module.add.message(message.serverError); 3640 callback(); 3641 }, 3642 onFailure: function() { 3643 module.add.message(message.serverError); 3644 callback(); 3645 }, 3646 onSuccess : function(response) { 3647 var 3648 values = response[fields.remoteValues], 3649 hasRemoteValues = ($.isArray(values) && values.length > 0) 3650 ; 3651 if(hasRemoteValues) { 3652 module.remove.message(); 3653 module.setup.menu({ 3654 values: response[fields.remoteValues] 3655 }); 3656 } 3657 else { 3658 module.add.message(message.noResults); 3659 } 3660 callback(); 3661 } 3662 } 3663 ; 3664 if( !$module.api('get request') ) { 3665 module.setup.api(); 3666 } 3667 apiSettings = $.extend(true, {}, apiSettings, settings.apiSettings); 3668 $module 3669 .api('setting', apiSettings) 3670 .api('query') 3671 ; 3672 }, 3673 3674 filterItems: function(query) { 3675 var 3676 searchTerm = (query !== undefined) 3677 ? query 3678 : module.get.query(), 3679 results = null, 3680 escapedTerm = module.escape.string(searchTerm), 3681 beginsWithRegExp = new RegExp('^' + escapedTerm, 'igm') 3682 ; 3683 // avoid loop if we're matching nothing 3684 if( module.has.query() ) { 3685 results = []; 3686 3687 module.verbose('Searching for matching values', searchTerm); 3688 $item 3689 .each(function(){ 3690 var 3691 $choice = $(this), 3692 text, 3693 value 3694 ; 3695 if(settings.match == 'both' || settings.match == 'text') { 3696 text = String(module.get.choiceText($choice, false)); 3697 if(text.search(beginsWithRegExp) !== -1) { 3698 results.push(this); 3699 return true; 3700 } 3701 else if (settings.fullTextSearch === 'exact' && module.exactSearch(searchTerm, text)) { 3702 results.push(this); 3703 return true; 3704 } 3705 else if (settings.fullTextSearch === true && module.fuzzySearch(searchTerm, text)) { 3706 results.push(this); 3707 return true; 3708 } 3709 } 3710 if(settings.match == 'both' || settings.match == 'value') { 3711 value = String(module.get.choiceValue($choice, text)); 3712 if(value.search(beginsWithRegExp) !== -1) { 3713 results.push(this); 3714 return true; 3715 } 3716 else if (settings.fullTextSearch === 'exact' && module.exactSearch(searchTerm, value)) { 3717 results.push(this); 3718 return true; 3719 } 3720 else if (settings.fullTextSearch === true && module.fuzzySearch(searchTerm, value)) { 3721 results.push(this); 3722 return true; 3723 } 3724 } 3725 }) 3726 ; 3727 } 3728 module.debug('Showing only matched items', searchTerm); 3729 module.remove.filteredItem(); 3730 if(results) { 3731 $item 3732 .not(results) 3733 .addClass(className.filtered) 3734 ; 3735 } 3736 }, 3737 3738 fuzzySearch: function(query, term) { 3739 var 3740 termLength = term.length, 3741 queryLength = query.length 3742 ; 3743 query = query.toLowerCase(); 3744 term = term.toLowerCase(); 3745 if(queryLength > termLength) { 3746 return false; 3747 } 3748 if(queryLength === termLength) { 3749 return (query === term); 3750 } 3751 search: for (var characterIndex = 0, nextCharacterIndex = 0; characterIndex < queryLength; characterIndex++) { 3752 var 3753 queryCharacter = query.charCodeAt(characterIndex) 3754 ; 3755 while(nextCharacterIndex < termLength) { 3756 if(term.charCodeAt(nextCharacterIndex++) === queryCharacter) { 3757 continue search; 3758 } 3759 } 3760 return false; 3761 } 3762 return true; 3763 }, 3764 exactSearch: function (query, term) { 3765 query = query.toLowerCase(); 3766 term = term.toLowerCase(); 3767 if(term.indexOf(query) > -1) { 3768 return true; 3769 } 3770 return false; 3771 }, 3772 filterActive: function() { 3773 if(settings.useLabels) { 3774 $item.filter('.' + className.active) 3775 .addClass(className.filtered) 3776 ; 3777 } 3778 }, 3779 3780 focusSearch: function(skipHandler) { 3781 if( module.has.search() && !module.is.focusedOnSearch() ) { 3782 if(skipHandler) { 3783 $module.off('focus' + eventNamespace, selector.search); 3784 $search.focus(); 3785 $module.on('focus' + eventNamespace, selector.search, module.event.search.focus); 3786 } 3787 else { 3788 $search.focus(); 3789 } 3790 } 3791 }, 3792 3793 forceSelection: function() { 3794 var 3795 $currentlySelected = $item.not(className.filtered).filter('.' + className.selected).eq(0), 3796 $activeItem = $item.not(className.filtered).filter('.' + className.active).eq(0), 3797 $selectedItem = ($currentlySelected.length > 0) 3798 ? $currentlySelected 3799 : $activeItem, 3800 hasSelected = ($selectedItem.length > 0) 3801 ; 3802 if(hasSelected && !module.is.multiple()) { 3803 module.debug('Forcing partial selection to selected item', $selectedItem); 3804 module.event.item.click.call($selectedItem, {}, true); 3805 return; 3806 } 3807 else { 3808 if(settings.allowAdditions) { 3809 module.set.selected(module.get.query()); 3810 module.remove.searchTerm(); 3811 } 3812 else { 3813 module.remove.searchTerm(); 3814 } 3815 } 3816 }, 3817 3818 change: { 3819 values: function(values) { 3820 if(!settings.allowAdditions) { 3821 module.clear(); 3822 } 3823 module.debug('Creating dropdown with specified values', values); 3824 module.setup.menu({values: values}); 3825 $.each(values, function(index, item) { 3826 if(item.selected == true) { 3827 module.debug('Setting initial selection to', item.value); 3828 module.set.selected(item.value); 3829 return true; 3830 } 3831 }); 3832 } 3833 }, 3834 3835 event: { 3836 change: function() { 3837 if(!internalChange) { 3838 module.debug('Input changed, updating selection'); 3839 module.set.selected(); 3840 } 3841 }, 3842 focus: function() { 3843 if(settings.showOnFocus && !activated && module.is.hidden() && !pageLostFocus) { 3844 module.show(); 3845 } 3846 }, 3847 blur: function(event) { 3848 pageLostFocus = (document.activeElement === this); 3849 if(!activated && !pageLostFocus) { 3850 module.remove.activeLabel(); 3851 module.hide(); 3852 } 3853 }, 3854 mousedown: function() { 3855 if(module.is.searchSelection()) { 3856 // prevent menu hiding on immediate re-focus 3857 willRefocus = true; 3858 } 3859 else { 3860 // prevents focus callback from occurring on mousedown 3861 activated = true; 3862 } 3863 }, 3864 mouseup: function() { 3865 if(module.is.searchSelection()) { 3866 // prevent menu hiding on immediate re-focus 3867 willRefocus = false; 3868 } 3869 else { 3870 activated = false; 3871 } 3872 }, 3873 click: function(event) { 3874 var 3875 $target = $(event.target) 3876 ; 3877 // focus search 3878 if($target.is($module)) { 3879 if(!module.is.focusedOnSearch()) { 3880 module.focusSearch(); 3881 } 3882 else { 3883 module.show(); 3884 } 3885 } 3886 }, 3887 search: { 3888 focus: function() { 3889 activated = true; 3890 if(module.is.multiple()) { 3891 module.remove.activeLabel(); 3892 } 3893 if(settings.showOnFocus) { 3894 module.search(); 3895 } 3896 }, 3897 blur: function(event) { 3898 pageLostFocus = (document.activeElement === this); 3899 if(module.is.searchSelection() && !willRefocus) { 3900 if(!itemActivated && !pageLostFocus) { 3901 if(settings.forceSelection) { 3902 module.forceSelection(); 3903 } 3904 module.hide(); 3905 } 3906 } 3907 willRefocus = false; 3908 } 3909 }, 3910 icon: { 3911 click: function(event) { 3912 if($icon.hasClass(className.clear)) { 3913 module.clear(); 3914 } 3915 else if (module.can.click()) { 3916 module.toggle(); 3917 } 3918 } 3919 }, 3920 text: { 3921 focus: function(event) { 3922 activated = true; 3923 module.focusSearch(); 3924 } 3925 }, 3926 input: function(event) { 3927 if(module.is.multiple() || module.is.searchSelection()) { 3928 module.set.filtered(); 3929 } 3930 clearTimeout(module.timer); 3931 module.timer = setTimeout(module.search, settings.delay.search); 3932 }, 3933 label: { 3934 click: function(event) { 3935 var 3936 $label = $(this), 3937 $labels = $module.find(selector.label), 3938 $activeLabels = $labels.filter('.' + className.active), 3939 $nextActive = $label.nextAll('.' + className.active), 3940 $prevActive = $label.prevAll('.' + className.active), 3941 $range = ($nextActive.length > 0) 3942 ? $label.nextUntil($nextActive).add($activeLabels).add($label) 3943 : $label.prevUntil($prevActive).add($activeLabels).add($label) 3944 ; 3945 if(event.shiftKey) { 3946 $activeLabels.removeClass(className.active); 3947 $range.addClass(className.active); 3948 } 3949 else if(event.ctrlKey) { 3950 $label.toggleClass(className.active); 3951 } 3952 else { 3953 $activeLabels.removeClass(className.active); 3954 $label.addClass(className.active); 3955 } 3956 settings.onLabelSelect.apply(this, $labels.filter('.' + className.active)); 3957 } 3958 }, 3959 remove: { 3960 click: function() { 3961 var 3962 $label = $(this).parent() 3963 ; 3964 if( $label.hasClass(className.active) ) { 3965 // remove all selected labels 3966 module.remove.activeLabels(); 3967 } 3968 else { 3969 // remove this label only 3970 module.remove.activeLabels( $label ); 3971 } 3972 } 3973 }, 3974 test: { 3975 toggle: function(event) { 3976 var 3977 toggleBehavior = (module.is.multiple()) 3978 ? module.show 3979 : module.toggle 3980 ; 3981 if(module.is.bubbledLabelClick(event) || module.is.bubbledIconClick(event)) { 3982 return; 3983 } 3984 if( module.determine.eventOnElement(event, toggleBehavior) ) { 3985 event.preventDefault(); 3986 } 3987 }, 3988 touch: function(event) { 3989 module.determine.eventOnElement(event, function() { 3990 if(event.type == 'touchstart') { 3991 module.timer = setTimeout(function() { 3992 module.hide(); 3993 }, settings.delay.touch); 3994 } 3995 else if(event.type == 'touchmove') { 3996 clearTimeout(module.timer); 3997 } 3998 }); 3999 event.stopPropagation(); 4000 }, 4001 hide: function(event) { 4002 module.determine.eventInModule(event, module.hide); 4003 } 4004 }, 4005 select: { 4006 mutation: function(mutations) { 4007 module.debug('<select> modified, recreating menu'); 4008 var 4009 isSelectMutation = false 4010 ; 4011 $.each(mutations, function(index, mutation) { 4012 if($(mutation.target).is('select') || $(mutation.addedNodes).is('select')) { 4013 isSelectMutation = true; 4014 return true; 4015 } 4016 }); 4017 if(isSelectMutation) { 4018 module.disconnect.selectObserver(); 4019 module.refresh(); 4020 module.setup.select(); 4021 module.set.selected(); 4022 module.observe.select(); 4023 } 4024 } 4025 }, 4026 menu: { 4027 mutation: function(mutations) { 4028 var 4029 mutation = mutations[0], 4030 $addedNode = mutation.addedNodes 4031 ? $(mutation.addedNodes[0]) 4032 : $(false), 4033 $removedNode = mutation.removedNodes 4034 ? $(mutation.removedNodes[0]) 4035 : $(false), 4036 $changedNodes = $addedNode.add($removedNode), 4037 isUserAddition = $changedNodes.is(selector.addition) || $changedNodes.closest(selector.addition).length > 0, 4038 isMessage = $changedNodes.is(selector.message) || $changedNodes.closest(selector.message).length > 0 4039 ; 4040 if(isUserAddition || isMessage) { 4041 module.debug('Updating item selector cache'); 4042 module.refreshItems(); 4043 } 4044 else { 4045 module.debug('Menu modified, updating selector cache'); 4046 module.refresh(); 4047 } 4048 }, 4049 mousedown: function() { 4050 itemActivated = true; 4051 }, 4052 mouseup: function() { 4053 itemActivated = false; 4054 } 4055 }, 4056 item: { 4057 mouseenter: function(event) { 4058 var 4059 $target = $(event.target), 4060 $item = $(this), 4061 $subMenu = $item.children(selector.menu), 4062 $otherMenus = $item.siblings(selector.item).children(selector.menu), 4063 hasSubMenu = ($subMenu.length > 0), 4064 isBubbledEvent = ($subMenu.find($target).length > 0) 4065 ; 4066 if( !isBubbledEvent && hasSubMenu ) { 4067 clearTimeout(module.itemTimer); 4068 module.itemTimer = setTimeout(function() { 4069 module.verbose('Showing sub-menu', $subMenu); 4070 $.each($otherMenus, function() { 4071 module.animate.hide(false, $(this)); 4072 }); 4073 module.animate.show(false, $subMenu); 4074 }, settings.delay.show); 4075 event.preventDefault(); 4076 } 4077 }, 4078 mouseleave: function(event) { 4079 var 4080 $subMenu = $(this).children(selector.menu) 4081 ; 4082 if($subMenu.length > 0) { 4083 clearTimeout(module.itemTimer); 4084 module.itemTimer = setTimeout(function() { 4085 module.verbose('Hiding sub-menu', $subMenu); 4086 module.animate.hide(false, $subMenu); 4087 }, settings.delay.hide); 4088 } 4089 }, 4090 click: function (event, skipRefocus) { 4091 var 4092 $choice = $(this), 4093 $target = (event) 4094 ? $(event.target) 4095 : $(''), 4096 $subMenu = $choice.find(selector.menu), 4097 text = module.get.choiceText($choice), 4098 value = module.get.choiceValue($choice, text), 4099 hasSubMenu = ($subMenu.length > 0), 4100 isBubbledEvent = ($subMenu.find($target).length > 0) 4101 ; 4102 // prevents IE11 bug where menu receives focus even though `tabindex=-1` 4103 if(module.has.menuSearch()) { 4104 $(document.activeElement).blur(); 4105 } 4106 if(!isBubbledEvent && (!hasSubMenu || settings.allowCategorySelection)) { 4107 if(module.is.searchSelection()) { 4108 if(settings.allowAdditions) { 4109 module.remove.userAddition(); 4110 } 4111 module.remove.searchTerm(); 4112 if(!module.is.focusedOnSearch() && !(skipRefocus == true)) { 4113 module.focusSearch(true); 4114 } 4115 } 4116 if(!settings.useLabels) { 4117 module.remove.filteredItem(); 4118 module.set.scrollPosition($choice); 4119 } 4120 module.determine.selectAction.call(this, text, value); 4121 } 4122 } 4123 }, 4124 4125 document: { 4126 // label selection should occur even when element has no focus 4127 keydown: function(event) { 4128 var 4129 pressedKey = event.which, 4130 isShortcutKey = module.is.inObject(pressedKey, keys) 4131 ; 4132 if(isShortcutKey) { 4133 var 4134 $label = $module.find(selector.label), 4135 $activeLabel = $label.filter('.' + className.active), 4136 activeValue = $activeLabel.data(metadata.value), 4137 labelIndex = $label.index($activeLabel), 4138 labelCount = $label.length, 4139 hasActiveLabel = ($activeLabel.length > 0), 4140 hasMultipleActive = ($activeLabel.length > 1), 4141 isFirstLabel = (labelIndex === 0), 4142 isLastLabel = (labelIndex + 1 == labelCount), 4143 isSearch = module.is.searchSelection(), 4144 isFocusedOnSearch = module.is.focusedOnSearch(), 4145 isFocused = module.is.focused(), 4146 caretAtStart = (isFocusedOnSearch && module.get.caretPosition() === 0), 4147 $nextLabel 4148 ; 4149 if(isSearch && !hasActiveLabel && !isFocusedOnSearch) { 4150 return; 4151 } 4152 4153 if(pressedKey == keys.leftArrow) { 4154 // activate previous label 4155 if((isFocused || caretAtStart) && !hasActiveLabel) { 4156 module.verbose('Selecting previous label'); 4157 $label.last().addClass(className.active); 4158 } 4159 else if(hasActiveLabel) { 4160 if(!event.shiftKey) { 4161 module.verbose('Selecting previous label'); 4162 $label.removeClass(className.active); 4163 } 4164 else { 4165 module.verbose('Adding previous label to selection'); 4166 } 4167 if(isFirstLabel && !hasMultipleActive) { 4168 $activeLabel.addClass(className.active); 4169 } 4170 else { 4171 $activeLabel.prev(selector.siblingLabel) 4172 .addClass(className.active) 4173 .end() 4174 ; 4175 } 4176 event.preventDefault(); 4177 } 4178 } 4179 else if(pressedKey == keys.rightArrow) { 4180 // activate first label 4181 if(isFocused && !hasActiveLabel) { 4182 $label.first().addClass(className.active); 4183 } 4184 // activate next label 4185 if(hasActiveLabel) { 4186 if(!event.shiftKey) { 4187 module.verbose('Selecting next label'); 4188 $label.removeClass(className.active); 4189 } 4190 else { 4191 module.verbose('Adding next label to selection'); 4192 } 4193 if(isLastLabel) { 4194 if(isSearch) { 4195 if(!isFocusedOnSearch) { 4196 module.focusSearch(); 4197 } 4198 else { 4199 $label.removeClass(className.active); 4200 } 4201 } 4202 else if(hasMultipleActive) { 4203 $activeLabel.next(selector.siblingLabel).addClass(className.active); 4204 } 4205 else { 4206 $activeLabel.addClass(className.active); 4207 } 4208 } 4209 else { 4210 $activeLabel.next(selector.siblingLabel).addClass(className.active); 4211 } 4212 event.preventDefault(); 4213 } 4214 } 4215 else if(pressedKey == keys.deleteKey || pressedKey == keys.backspace) { 4216 if(hasActiveLabel) { 4217 module.verbose('Removing active labels'); 4218 if(isLastLabel) { 4219 if(isSearch && !isFocusedOnSearch) { 4220 module.focusSearch(); 4221 } 4222 } 4223 $activeLabel.last().next(selector.siblingLabel).addClass(className.active); 4224 module.remove.activeLabels($activeLabel); 4225 event.preventDefault(); 4226 } 4227 else if(caretAtStart && !hasActiveLabel && pressedKey == keys.backspace) { 4228 module.verbose('Removing last label on input backspace'); 4229 $activeLabel = $label.last().addClass(className.active); 4230 module.remove.activeLabels($activeLabel); 4231 } 4232 } 4233 else { 4234 $activeLabel.removeClass(className.active); 4235 } 4236 } 4237 } 4238 }, 4239 4240 keydown: function(event) { 4241 var 4242 pressedKey = event.which, 4243 isShortcutKey = module.is.inObject(pressedKey, keys) 4244 ; 4245 if(isShortcutKey) { 4246 var 4247 $currentlySelected = $item.not(selector.unselectable).filter('.' + className.selected).eq(0), 4248 $activeItem = $menu.children('.' + className.active).eq(0), 4249 $selectedItem = ($currentlySelected.length > 0) 4250 ? $currentlySelected 4251 : $activeItem, 4252 $visibleItems = ($selectedItem.length > 0) 4253 ? $selectedItem.siblings(':not(.' + className.filtered +')').addBack() 4254 : $menu.children(':not(.' + className.filtered +')'), 4255 $subMenu = $selectedItem.children(selector.menu), 4256 $parentMenu = $selectedItem.closest(selector.menu), 4257 inVisibleMenu = ($parentMenu.hasClass(className.visible) || $parentMenu.hasClass(className.animating) || $parentMenu.parent(selector.menu).length > 0), 4258 hasSubMenu = ($subMenu.length> 0), 4259 hasSelectedItem = ($selectedItem.length > 0), 4260 selectedIsSelectable = ($selectedItem.not(selector.unselectable).length > 0), 4261 delimiterPressed = (pressedKey == keys.delimiter && settings.allowAdditions && module.is.multiple()), 4262 isAdditionWithoutMenu = (settings.allowAdditions && settings.hideAdditions && (pressedKey == keys.enter || delimiterPressed) && selectedIsSelectable), 4263 $nextItem, 4264 isSubMenuItem, 4265 newIndex 4266 ; 4267 // allow selection with menu closed 4268 if(isAdditionWithoutMenu) { 4269 module.verbose('Selecting item from keyboard shortcut', $selectedItem); 4270 module.event.item.click.call($selectedItem, event); 4271 if(module.is.searchSelection()) { 4272 module.remove.searchTerm(); 4273 } 4274 } 4275 4276 // visible menu keyboard shortcuts 4277 if( module.is.visible() ) { 4278 4279 // enter (select or open sub-menu) 4280 if(pressedKey == keys.enter || delimiterPressed) { 4281 if(pressedKey == keys.enter && hasSelectedItem && hasSubMenu && !settings.allowCategorySelection) { 4282 module.verbose('Pressed enter on unselectable category, opening sub menu'); 4283 pressedKey = keys.rightArrow; 4284 } 4285 else if(selectedIsSelectable) { 4286 module.verbose('Selecting item from keyboard shortcut', $selectedItem); 4287 module.event.item.click.call($selectedItem, event); 4288 if(module.is.searchSelection()) { 4289 module.remove.searchTerm(); 4290 } 4291 } 4292 event.preventDefault(); 4293 } 4294 4295 // sub-menu actions 4296 if(hasSelectedItem) { 4297 4298 if(pressedKey == keys.leftArrow) { 4299 4300 isSubMenuItem = ($parentMenu[0] !== $menu[0]); 4301 4302 if(isSubMenuItem) { 4303 module.verbose('Left key pressed, closing sub-menu'); 4304 module.animate.hide(false, $parentMenu); 4305 $selectedItem 4306 .removeClass(className.selected) 4307 ; 4308 $parentMenu 4309 .closest(selector.item) 4310 .addClass(className.selected) 4311 ; 4312 event.preventDefault(); 4313 } 4314 } 4315 4316 // right arrow (show sub-menu) 4317 if(pressedKey == keys.rightArrow) { 4318 if(hasSubMenu) { 4319 module.verbose('Right key pressed, opening sub-menu'); 4320 module.animate.show(false, $subMenu); 4321 $selectedItem 4322 .removeClass(className.selected) 4323 ; 4324 $subMenu 4325 .find(selector.item).eq(0) 4326 .addClass(className.selected) 4327 ; 4328 event.preventDefault(); 4329 } 4330 } 4331 } 4332 4333 // up arrow (traverse menu up) 4334 if(pressedKey == keys.upArrow) { 4335 $nextItem = (hasSelectedItem && inVisibleMenu) 4336 ? $selectedItem.prevAll(selector.item + ':not(' + selector.unselectable + ')').eq(0) 4337 : $item.eq(0) 4338 ; 4339 if($visibleItems.index( $nextItem ) < 0) { 4340 module.verbose('Up key pressed but reached top of current menu'); 4341 event.preventDefault(); 4342 return; 4343 } 4344 else { 4345 module.verbose('Up key pressed, changing active item'); 4346 $selectedItem 4347 .removeClass(className.selected) 4348 ; 4349 $nextItem 4350 .addClass(className.selected) 4351 ; 4352 module.set.scrollPosition($nextItem); 4353 if(settings.selectOnKeydown && module.is.single()) { 4354 module.set.selectedItem($nextItem); 4355 } 4356 } 4357 event.preventDefault(); 4358 } 4359 4360 // down arrow (traverse menu down) 4361 if(pressedKey == keys.downArrow) { 4362 $nextItem = (hasSelectedItem && inVisibleMenu) 4363 ? $nextItem = $selectedItem.nextAll(selector.item + ':not(' + selector.unselectable + ')').eq(0) 4364 : $item.eq(0) 4365 ; 4366 if($nextItem.length === 0) { 4367 module.verbose('Down key pressed but reached bottom of current menu'); 4368 event.preventDefault(); 4369 return; 4370 } 4371 else { 4372 module.verbose('Down key pressed, changing active item'); 4373 $item 4374 .removeClass(className.selected) 4375 ; 4376 $nextItem 4377 .addClass(className.selected) 4378 ; 4379 module.set.scrollPosition($nextItem); 4380 if(settings.selectOnKeydown && module.is.single()) { 4381 module.set.selectedItem($nextItem); 4382 } 4383 } 4384 event.preventDefault(); 4385 } 4386 4387 // page down (show next page) 4388 if(pressedKey == keys.pageUp) { 4389 module.scrollPage('up'); 4390 event.preventDefault(); 4391 } 4392 if(pressedKey == keys.pageDown) { 4393 module.scrollPage('down'); 4394 event.preventDefault(); 4395 } 4396 4397 // escape (close menu) 4398 if(pressedKey == keys.escape) { 4399 module.verbose('Escape key pressed, closing dropdown'); 4400 module.hide(); 4401 } 4402 4403 } 4404 else { 4405 // delimiter key 4406 if(delimiterPressed) { 4407 event.preventDefault(); 4408 } 4409 // down arrow (open menu) 4410 if(pressedKey == keys.downArrow && !module.is.visible()) { 4411 module.verbose('Down key pressed, showing dropdown'); 4412 module.show(); 4413 event.preventDefault(); 4414 } 4415 } 4416 } 4417 else { 4418 if( !module.has.search() ) { 4419 module.set.selectedLetter( String.fromCharCode(pressedKey) ); 4420 } 4421 } 4422 } 4423 }, 4424 4425 trigger: { 4426 change: function() { 4427 var 4428 events = document.createEvent('HTMLEvents'), 4429 inputElement = $input[0] 4430 ; 4431 if(inputElement) { 4432 module.verbose('Triggering native change event'); 4433 events.initEvent('change', true, false); 4434 inputElement.dispatchEvent(events); 4435 } 4436 } 4437 }, 4438 4439 determine: { 4440 selectAction: function(text, value) { 4441 module.verbose('Determining action', settings.action); 4442 if( $.isFunction( module.action[settings.action] ) ) { 4443 module.verbose('Triggering preset action', settings.action, text, value); 4444 module.action[ settings.action ].call(element, text, value, this); 4445 } 4446 else if( $.isFunction(settings.action) ) { 4447 module.verbose('Triggering user action', settings.action, text, value); 4448 settings.action.call(element, text, value, this); 4449 } 4450 else { 4451 module.error(error.action, settings.action); 4452 } 4453 }, 4454 eventInModule: function(event, callback) { 4455 var 4456 $target = $(event.target), 4457 inDocument = ($target.closest(document.documentElement).length > 0), 4458 inModule = ($target.closest($module).length > 0) 4459 ; 4460 callback = $.isFunction(callback) 4461 ? callback 4462 : function(){} 4463 ; 4464 if(inDocument && !inModule) { 4465 module.verbose('Triggering event', callback); 4466 callback(); 4467 return true; 4468 } 4469 else { 4470 module.verbose('Event occurred in dropdown, canceling callback'); 4471 return false; 4472 } 4473 }, 4474 eventOnElement: function(event, callback) { 4475 var 4476 $target = $(event.target), 4477 $label = $target.closest(selector.siblingLabel), 4478 inVisibleDOM = document.body.contains(event.target), 4479 notOnLabel = ($module.find($label).length === 0), 4480 notInMenu = ($target.closest($menu).length === 0) 4481 ; 4482 callback = $.isFunction(callback) 4483 ? callback 4484 : function(){} 4485 ; 4486 if(inVisibleDOM && notOnLabel && notInMenu) { 4487 module.verbose('Triggering event', callback); 4488 callback(); 4489 return true; 4490 } 4491 else { 4492 module.verbose('Event occurred in dropdown menu, canceling callback'); 4493 return false; 4494 } 4495 } 4496 }, 4497 4498 action: { 4499 4500 nothing: function() {}, 4501 4502 activate: function(text, value, element) { 4503 value = (value !== undefined) 4504 ? value 4505 : text 4506 ; 4507 if( module.can.activate( $(element) ) ) { 4508 module.set.selected(value, $(element)); 4509 if(module.is.multiple() && !module.is.allFiltered()) { 4510 return; 4511 } 4512 else { 4513 module.hideAndClear(); 4514 } 4515 } 4516 }, 4517 4518 select: function(text, value, element) { 4519 value = (value !== undefined) 4520 ? value 4521 : text 4522 ; 4523 if( module.can.activate( $(element) ) ) { 4524 module.set.value(value, text, $(element)); 4525 if(module.is.multiple() && !module.is.allFiltered()) { 4526 return; 4527 } 4528 else { 4529 module.hideAndClear(); 4530 } 4531 } 4532 }, 4533 4534 combo: function(text, value, element) { 4535 value = (value !== undefined) 4536 ? value 4537 : text 4538 ; 4539 module.set.selected(value, $(element)); 4540 module.hideAndClear(); 4541 }, 4542 4543 hide: function(text, value, element) { 4544 module.set.value(value, text, $(element)); 4545 module.hideAndClear(); 4546 } 4547 4548 }, 4549 4550 get: { 4551 id: function() { 4552 return id; 4553 }, 4554 defaultText: function() { 4555 return $module.data(metadata.defaultText); 4556 }, 4557 defaultValue: function() { 4558 return $module.data(metadata.defaultValue); 4559 }, 4560 placeholderText: function() { 4561 if(settings.placeholder != 'auto' && typeof settings.placeholder == 'string') { 4562 return settings.placeholder; 4563 } 4564 return $module.data(metadata.placeholderText) || ''; 4565 }, 4566 text: function() { 4567 return $text.text(); 4568 }, 4569 query: function() { 4570 return $.trim($search.val()); 4571 }, 4572 searchWidth: function(value) { 4573 value = (value !== undefined) 4574 ? value 4575 : $search.val() 4576 ; 4577 $sizer.text(value); 4578 // prevent rounding issues 4579 return Math.ceil( $sizer.width() + 1); 4580 }, 4581 selectionCount: function() { 4582 var 4583 values = module.get.values(), 4584 count 4585 ; 4586 count = ( module.is.multiple() ) 4587 ? $.isArray(values) 4588 ? values.length 4589 : 0 4590 : (module.get.value() !== '') 4591 ? 1 4592 : 0 4593 ; 4594 return count; 4595 }, 4596 transition: function($subMenu) { 4597 return (settings.transition == 'auto') 4598 ? module.is.upward($subMenu) 4599 ? 'slide up' 4600 : 'slide down' 4601 : settings.transition 4602 ; 4603 }, 4604 userValues: function() { 4605 var 4606 values = module.get.values() 4607 ; 4608 if(!values) { 4609 return false; 4610 } 4611 values = $.isArray(values) 4612 ? values 4613 : [values] 4614 ; 4615 return $.grep(values, function(value) { 4616 return (module.get.item(value) === false); 4617 }); 4618 }, 4619 uniqueArray: function(array) { 4620 return $.grep(array, function (value, index) { 4621 return $.inArray(value, array) === index; 4622 }); 4623 }, 4624 caretPosition: function() { 4625 var 4626 input = $search.get(0), 4627 range, 4628 rangeLength 4629 ; 4630 if('selectionStart' in input) { 4631 return input.selectionStart; 4632 } 4633 else if (document.selection) { 4634 input.focus(); 4635 range = document.selection.createRange(); 4636 rangeLength = range.text.length; 4637 range.moveStart('character', -input.value.length); 4638 return range.text.length - rangeLength; 4639 } 4640 }, 4641 value: function() { 4642 var 4643 value = ($input.length > 0) 4644 ? $input.val() 4645 : $module.data(metadata.value), 4646 isEmptyMultiselect = ($.isArray(value) && value.length === 1 && value[0] === '') 4647 ; 4648 // prevents placeholder element from being selected when multiple 4649 return (value === undefined || isEmptyMultiselect) 4650 ? '' 4651 : value 4652 ; 4653 }, 4654 values: function() { 4655 var 4656 value = module.get.value() 4657 ; 4658 if(value === '') { 4659 return ''; 4660 } 4661 return ( !module.has.selectInput() && module.is.multiple() ) 4662 ? (typeof value == 'string') // delimited string 4663 ? value.split(settings.delimiter) 4664 : '' 4665 : value 4666 ; 4667 }, 4668 remoteValues: function() { 4669 var 4670 values = module.get.values(), 4671 remoteValues = false 4672 ; 4673 if(values) { 4674 if(typeof values == 'string') { 4675 values = [values]; 4676 } 4677 $.each(values, function(index, value) { 4678 var 4679 name = module.read.remoteData(value) 4680 ; 4681 module.verbose('Restoring value from session data', name, value); 4682 if(name) { 4683 if(!remoteValues) { 4684 remoteValues = {}; 4685 } 4686 remoteValues[value] = name; 4687 } 4688 }); 4689 } 4690 return remoteValues; 4691 }, 4692 choiceText: function($choice, preserveHTML) { 4693 preserveHTML = (preserveHTML !== undefined) 4694 ? preserveHTML 4695 : settings.preserveHTML 4696 ; 4697 if($choice) { 4698 if($choice.find(selector.menu).length > 0) { 4699 module.verbose('Retrieving text of element with sub-menu'); 4700 $choice = $choice.clone(); 4701 $choice.find(selector.menu).remove(); 4702 $choice.find(selector.menuIcon).remove(); 4703 } 4704 return ($choice.data(metadata.text) !== undefined) 4705 ? $choice.data(metadata.text) 4706 : (preserveHTML) 4707 ? $.trim($choice.html()) 4708 : $.trim($choice.text()) 4709 ; 4710 } 4711 }, 4712 choiceValue: function($choice, choiceText) { 4713 choiceText = choiceText || module.get.choiceText($choice); 4714 if(!$choice) { 4715 return false; 4716 } 4717 return ($choice.data(metadata.value) !== undefined) 4718 ? String( $choice.data(metadata.value) ) 4719 : (typeof choiceText === 'string') 4720 ? $.trim(choiceText.toLowerCase()) 4721 : String(choiceText) 4722 ; 4723 }, 4724 inputEvent: function() { 4725 var 4726 input = $search[0] 4727 ; 4728 if(input) { 4729 return (input.oninput !== undefined) 4730 ? 'input' 4731 : (input.onpropertychange !== undefined) 4732 ? 'propertychange' 4733 : 'keyup' 4734 ; 4735 } 4736 return false; 4737 }, 4738 selectValues: function() { 4739 var 4740 select = {} 4741 ; 4742 select.values = []; 4743 $module 4744 .find('option') 4745 .each(function() { 4746 var 4747 $option = $(this), 4748 name = $option.html(), 4749 disabled = $option.attr('disabled'), 4750 value = ( $option.attr('value') !== undefined ) 4751 ? $option.attr('value') 4752 : name 4753 ; 4754 if(settings.placeholder === 'auto' && value === '') { 4755 select.placeholder = name; 4756 } 4757 else { 4758 select.values.push({ 4759 name : name, 4760 value : value, 4761 disabled : disabled 4762 }); 4763 } 4764 }) 4765 ; 4766 if(settings.placeholder && settings.placeholder !== 'auto') { 4767 module.debug('Setting placeholder value to', settings.placeholder); 4768 select.placeholder = settings.placeholder; 4769 } 4770 if(settings.sortSelect) { 4771 select.values.sort(function(a, b) { 4772 return (a.name > b.name) 4773 ? 1 4774 : -1 4775 ; 4776 }); 4777 module.debug('Retrieved and sorted values from select', select); 4778 } 4779 else { 4780 module.debug('Retrieved values from select', select); 4781 } 4782 return select; 4783 }, 4784 activeItem: function() { 4785 return $item.filter('.' + className.active); 4786 }, 4787 selectedItem: function() { 4788 var 4789 $selectedItem = $item.not(selector.unselectable).filter('.' + className.selected) 4790 ; 4791 return ($selectedItem.length > 0) 4792 ? $selectedItem 4793 : $item.eq(0) 4794 ; 4795 }, 4796 itemWithAdditions: function(value) { 4797 var 4798 $items = module.get.item(value), 4799 $userItems = module.create.userChoice(value), 4800 hasUserItems = ($userItems && $userItems.length > 0) 4801 ; 4802 if(hasUserItems) { 4803 $items = ($items.length > 0) 4804 ? $items.add($userItems) 4805 : $userItems 4806 ; 4807 } 4808 return $items; 4809 }, 4810 item: function(value, strict) { 4811 var 4812 $selectedItem = false, 4813 shouldSearch, 4814 isMultiple 4815 ; 4816 value = (value !== undefined) 4817 ? value 4818 : ( module.get.values() !== undefined) 4819 ? module.get.values() 4820 : module.get.text() 4821 ; 4822 shouldSearch = (isMultiple) 4823 ? (value.length > 0) 4824 : (value !== undefined && value !== null) 4825 ; 4826 isMultiple = (module.is.multiple() && $.isArray(value)); 4827 strict = (value === '' || value === 0) 4828 ? true 4829 : strict || false 4830 ; 4831 if(shouldSearch) { 4832 $item 4833 .each(function() { 4834 var 4835 $choice = $(this), 4836 optionText = module.get.choiceText($choice), 4837 optionValue = module.get.choiceValue($choice, optionText) 4838 ; 4839 // safe early exit 4840 if(optionValue === null || optionValue === undefined) { 4841 return; 4842 } 4843 if(isMultiple) { 4844 if($.inArray( String(optionValue), value) !== -1 || $.inArray(optionText, value) !== -1) { 4845 $selectedItem = ($selectedItem) 4846 ? $selectedItem.add($choice) 4847 : $choice 4848 ; 4849 } 4850 } 4851 else if(strict) { 4852 module.verbose('Ambiguous dropdown value using strict type check', $choice, value); 4853 if( optionValue === value || optionText === value) { 4854 $selectedItem = $choice; 4855 return true; 4856 } 4857 } 4858 else { 4859 if( String(optionValue) == String(value) || optionText == value) { 4860 module.verbose('Found select item by value', optionValue, value); 4861 $selectedItem = $choice; 4862 return true; 4863 } 4864 } 4865 }) 4866 ; 4867 } 4868 return $selectedItem; 4869 } 4870 }, 4871 4872 check: { 4873 maxSelections: function(selectionCount) { 4874 if(settings.maxSelections) { 4875 selectionCount = (selectionCount !== undefined) 4876 ? selectionCount 4877 : module.get.selectionCount() 4878 ; 4879 if(selectionCount >= settings.maxSelections) { 4880 module.debug('Maximum selection count reached'); 4881 if(settings.useLabels) { 4882 $item.addClass(className.filtered); 4883 module.add.message(message.maxSelections); 4884 } 4885 return true; 4886 } 4887 else { 4888 module.verbose('No longer at maximum selection count'); 4889 module.remove.message(); 4890 module.remove.filteredItem(); 4891 if(module.is.searchSelection()) { 4892 module.filterItems(); 4893 } 4894 return false; 4895 } 4896 } 4897 return true; 4898 } 4899 }, 4900 4901 restore: { 4902 defaults: function() { 4903 module.clear(); 4904 module.restore.defaultText(); 4905 module.restore.defaultValue(); 4906 }, 4907 defaultText: function() { 4908 var 4909 defaultText = module.get.defaultText(), 4910 placeholderText = module.get.placeholderText 4911 ; 4912 if(defaultText === placeholderText) { 4913 module.debug('Restoring default placeholder text', defaultText); 4914 module.set.placeholderText(defaultText); 4915 } 4916 else { 4917 module.debug('Restoring default text', defaultText); 4918 module.set.text(defaultText); 4919 } 4920 }, 4921 placeholderText: function() { 4922 module.set.placeholderText(); 4923 }, 4924 defaultValue: function() { 4925 var 4926 defaultValue = module.get.defaultValue() 4927 ; 4928 if(defaultValue !== undefined) { 4929 module.debug('Restoring default value', defaultValue); 4930 if(defaultValue !== '') { 4931 module.set.value(defaultValue); 4932 module.set.selected(); 4933 } 4934 else { 4935 module.remove.activeItem(); 4936 module.remove.selectedItem(); 4937 } 4938 } 4939 }, 4940 labels: function() { 4941 if(settings.allowAdditions) { 4942 if(!settings.useLabels) { 4943 module.error(error.labels); 4944 settings.useLabels = true; 4945 } 4946 module.debug('Restoring selected values'); 4947 module.create.userLabels(); 4948 } 4949 module.check.maxSelections(); 4950 }, 4951 selected: function() { 4952 module.restore.values(); 4953 if(module.is.multiple()) { 4954 module.debug('Restoring previously selected values and labels'); 4955 module.restore.labels(); 4956 } 4957 else { 4958 module.debug('Restoring previously selected values'); 4959 } 4960 }, 4961 values: function() { 4962 // prevents callbacks from occurring on initial load 4963 module.set.initialLoad(); 4964 if(settings.apiSettings && settings.saveRemoteData && module.get.remoteValues()) { 4965 module.restore.remoteValues(); 4966 } 4967 else { 4968 module.set.selected(); 4969 } 4970 module.remove.initialLoad(); 4971 }, 4972 remoteValues: function() { 4973 var 4974 values = module.get.remoteValues() 4975 ; 4976 module.debug('Recreating selected from session data', values); 4977 if(values) { 4978 if( module.is.single() ) { 4979 $.each(values, function(value, name) { 4980 module.set.text(name); 4981 }); 4982 } 4983 else { 4984 $.each(values, function(value, name) { 4985 module.add.label(value, name); 4986 }); 4987 } 4988 } 4989 } 4990 }, 4991 4992 read: { 4993 remoteData: function(value) { 4994 var 4995 name 4996 ; 4997 if(window.Storage === undefined) { 4998 module.error(error.noStorage); 4999 return; 5000 } 5001 name = sessionStorage.getItem(value); 5002 return (name !== undefined) 5003 ? name 5004 : false 5005 ; 5006 } 5007 }, 5008 5009 save: { 5010 defaults: function() { 5011 module.save.defaultText(); 5012 module.save.placeholderText(); 5013 module.save.defaultValue(); 5014 }, 5015 defaultValue: function() { 5016 var 5017 value = module.get.value() 5018 ; 5019 module.verbose('Saving default value as', value); 5020 $module.data(metadata.defaultValue, value); 5021 }, 5022 defaultText: function() { 5023 var 5024 text = module.get.text() 5025 ; 5026 module.verbose('Saving default text as', text); 5027 $module.data(metadata.defaultText, text); 5028 }, 5029 placeholderText: function() { 5030 var 5031 text 5032 ; 5033 if(settings.placeholder !== false && $text.hasClass(className.placeholder)) { 5034 text = module.get.text(); 5035 module.verbose('Saving placeholder text as', text); 5036 $module.data(metadata.placeholderText, text); 5037 } 5038 }, 5039 remoteData: function(name, value) { 5040 if(window.Storage === undefined) { 5041 module.error(error.noStorage); 5042 return; 5043 } 5044 module.verbose('Saving remote data to session storage', value, name); 5045 sessionStorage.setItem(value, name); 5046 } 5047 }, 5048 5049 clear: function() { 5050 if(module.is.multiple() && settings.useLabels) { 5051 module.remove.labels(); 5052 } 5053 else { 5054 module.remove.activeItem(); 5055 module.remove.selectedItem(); 5056 } 5057 module.set.placeholderText(); 5058 module.clearValue(); 5059 }, 5060 5061 clearValue: function() { 5062 module.set.value(''); 5063 }, 5064 5065 scrollPage: function(direction, $selectedItem) { 5066 var 5067 $currentItem = $selectedItem || module.get.selectedItem(), 5068 $menu = $currentItem.closest(selector.menu), 5069 menuHeight = $menu.outerHeight(), 5070 currentScroll = $menu.scrollTop(), 5071 itemHeight = $item.eq(0).outerHeight(), 5072 itemsPerPage = Math.floor(menuHeight / itemHeight), 5073 maxScroll = $menu.prop('scrollHeight'), 5074 newScroll = (direction == 'up') 5075 ? currentScroll - (itemHeight * itemsPerPage) 5076 : currentScroll + (itemHeight * itemsPerPage), 5077 $selectableItem = $item.not(selector.unselectable), 5078 isWithinRange, 5079 $nextSelectedItem, 5080 elementIndex 5081 ; 5082 elementIndex = (direction == 'up') 5083 ? $selectableItem.index($currentItem) - itemsPerPage 5084 : $selectableItem.index($currentItem) + itemsPerPage 5085 ; 5086 isWithinRange = (direction == 'up') 5087 ? (elementIndex >= 0) 5088 : (elementIndex < $selectableItem.length) 5089 ; 5090 $nextSelectedItem = (isWithinRange) 5091 ? $selectableItem.eq(elementIndex) 5092 : (direction == 'up') 5093 ? $selectableItem.first() 5094 : $selectableItem.last() 5095 ; 5096 if($nextSelectedItem.length > 0) { 5097 module.debug('Scrolling page', direction, $nextSelectedItem); 5098 $currentItem 5099 .removeClass(className.selected) 5100 ; 5101 $nextSelectedItem 5102 .addClass(className.selected) 5103 ; 5104 if(settings.selectOnKeydown && module.is.single()) { 5105 module.set.selectedItem($nextSelectedItem); 5106 } 5107 $menu 5108 .scrollTop(newScroll) 5109 ; 5110 } 5111 }, 5112 5113 set: { 5114 filtered: function() { 5115 var 5116 isMultiple = module.is.multiple(), 5117 isSearch = module.is.searchSelection(), 5118 isSearchMultiple = (isMultiple && isSearch), 5119 searchValue = (isSearch) 5120 ? module.get.query() 5121 : '', 5122 hasSearchValue = (typeof searchValue === 'string' && searchValue.length > 0), 5123 searchWidth = module.get.searchWidth(), 5124 valueIsSet = searchValue !== '' 5125 ; 5126 if(isMultiple && hasSearchValue) { 5127 module.verbose('Adjusting input width', searchWidth, settings.glyphWidth); 5128 $search.css('width', searchWidth); 5129 } 5130 if(hasSearchValue || (isSearchMultiple && valueIsSet)) { 5131 module.verbose('Hiding placeholder text'); 5132 $text.addClass(className.filtered); 5133 } 5134 else if(!isMultiple || (isSearchMultiple && !valueIsSet)) { 5135 module.verbose('Showing placeholder text'); 5136 $text.removeClass(className.filtered); 5137 } 5138 }, 5139 empty: function() { 5140 $module.addClass(className.empty); 5141 }, 5142 loading: function() { 5143 $module.addClass(className.loading); 5144 }, 5145 placeholderText: function(text) { 5146 text = text || module.get.placeholderText(); 5147 module.debug('Setting placeholder text', text); 5148 module.set.text(text); 5149 $text.addClass(className.placeholder); 5150 }, 5151 tabbable: function() { 5152 if( module.is.searchSelection() ) { 5153 module.debug('Added tabindex to searchable dropdown'); 5154 $search 5155 .val('') 5156 .attr('tabindex', 0) 5157 ; 5158 $menu 5159 .attr('tabindex', -1) 5160 ; 5161 } 5162 else { 5163 module.debug('Added tabindex to dropdown'); 5164 if( $module.attr('tabindex') === undefined) { 5165 $module 5166 .attr('tabindex', 0) 5167 ; 5168 $menu 5169 .attr('tabindex', -1) 5170 ; 5171 } 5172 } 5173 }, 5174 initialLoad: function() { 5175 module.verbose('Setting initial load'); 5176 initialLoad = true; 5177 }, 5178 activeItem: function($item) { 5179 if( settings.allowAdditions && $item.filter(selector.addition).length > 0 ) { 5180 $item.addClass(className.filtered); 5181 } 5182 else { 5183 $item.addClass(className.active); 5184 } 5185 }, 5186 partialSearch: function(text) { 5187 var 5188 length = module.get.query().length 5189 ; 5190 $search.val( text.substr(0, length)); 5191 }, 5192 scrollPosition: function($item, forceScroll) { 5193 var 5194 edgeTolerance = 5, 5195 $menu, 5196 hasActive, 5197 offset, 5198 itemHeight, 5199 itemOffset, 5200 menuOffset, 5201 menuScroll, 5202 menuHeight, 5203 abovePage, 5204 belowPage 5205 ; 5206 5207 $item = $item || module.get.selectedItem(); 5208 $menu = $item.closest(selector.menu); 5209 hasActive = ($item && $item.length > 0); 5210 forceScroll = (forceScroll !== undefined) 5211 ? forceScroll 5212 : false 5213 ; 5214 if($item && $menu.length > 0 && hasActive) { 5215 itemOffset = $item.position().top; 5216 5217 $menu.addClass(className.loading); 5218 menuScroll = $menu.scrollTop(); 5219 menuOffset = $menu.offset().top; 5220 itemOffset = $item.offset().top; 5221 offset = menuScroll - menuOffset + itemOffset; 5222 if(!forceScroll) { 5223 menuHeight = $menu.height(); 5224 belowPage = menuScroll + menuHeight < (offset + edgeTolerance); 5225 abovePage = ((offset - edgeTolerance) < menuScroll); 5226 } 5227 module.debug('Scrolling to active item', offset); 5228 if(forceScroll || abovePage || belowPage) { 5229 $menu.scrollTop(offset); 5230 } 5231 $menu.removeClass(className.loading); 5232 } 5233 }, 5234 text: function(text) { 5235 if(settings.action !== 'select') { 5236 if(settings.action == 'combo') { 5237 module.debug('Changing combo button text', text, $combo); 5238 if(settings.preserveHTML) { 5239 $combo.html(text); 5240 } 5241 else { 5242 $combo.text(text); 5243 } 5244 } 5245 else { 5246 if(text !== module.get.placeholderText()) { 5247 $text.removeClass(className.placeholder); 5248 } 5249 module.debug('Changing text', text, $text); 5250 $text 5251 .removeClass(className.filtered) 5252 ; 5253 if(settings.preserveHTML) { 5254 $text.html(text); 5255 } 5256 else { 5257 $text.text(text); 5258 } 5259 } 5260 } 5261 }, 5262 selectedItem: function($item) { 5263 var 5264 value = module.get.choiceValue($item), 5265 searchText = module.get.choiceText($item, false), 5266 text = module.get.choiceText($item, true) 5267 ; 5268 module.debug('Setting user selection to item', $item); 5269 module.remove.activeItem(); 5270 module.set.partialSearch(searchText); 5271 module.set.activeItem($item); 5272 module.set.selected(value, $item); 5273 module.set.text(text); 5274 }, 5275 selectedLetter: function(letter) { 5276 var 5277 $selectedItem = $item.filter('.' + className.selected), 5278 alreadySelectedLetter = $selectedItem.length > 0 && module.has.firstLetter($selectedItem, letter), 5279 $nextValue = false, 5280 $nextItem 5281 ; 5282 // check next of same letter 5283 if(alreadySelectedLetter) { 5284 $nextItem = $selectedItem.nextAll($item).eq(0); 5285 if( module.has.firstLetter($nextItem, letter) ) { 5286 $nextValue = $nextItem; 5287 } 5288 } 5289 // check all values 5290 if(!$nextValue) { 5291 $item 5292 .each(function(){ 5293 if(module.has.firstLetter($(this), letter)) { 5294 $nextValue = $(this); 5295 return false; 5296 } 5297 }) 5298 ; 5299 } 5300 // set next value 5301 if($nextValue) { 5302 module.verbose('Scrolling to next value with letter', letter); 5303 module.set.scrollPosition($nextValue); 5304 $selectedItem.removeClass(className.selected); 5305 $nextValue.addClass(className.selected); 5306 if(settings.selectOnKeydown && module.is.single()) { 5307 module.set.selectedItem($nextValue); 5308 } 5309 } 5310 }, 5311 direction: function($menu) { 5312 if(settings.direction == 'auto') { 5313 // reset position 5314 module.remove.upward(); 5315 5316 if(module.can.openDownward($menu)) { 5317 module.remove.upward($menu); 5318 } 5319 else { 5320 module.set.upward($menu); 5321 } 5322 if(!module.is.leftward($menu) && !module.can.openRightward($menu)) { 5323 module.set.leftward($menu); 5324 } 5325 } 5326 else if(settings.direction == 'upward') { 5327 module.set.upward($menu); 5328 } 5329 }, 5330 upward: function($currentMenu) { 5331 var $element = $currentMenu || $module; 5332 $element.addClass(className.upward); 5333 }, 5334 leftward: function($currentMenu) { 5335 var $element = $currentMenu || $menu; 5336 $element.addClass(className.leftward); 5337 }, 5338 value: function(value, text, $selected) { 5339 var 5340 escapedValue = module.escape.value(value), 5341 hasInput = ($input.length > 0), 5342 currentValue = module.get.values(), 5343 stringValue = (value !== undefined) 5344 ? String(value) 5345 : value, 5346 newValue 5347 ; 5348 if(hasInput) { 5349 if(!settings.allowReselection && stringValue == currentValue) { 5350 module.verbose('Skipping value update already same value', value, currentValue); 5351 if(!module.is.initialLoad()) { 5352 return; 5353 } 5354 } 5355 5356 if( module.is.single() && module.has.selectInput() && module.can.extendSelect() ) { 5357 module.debug('Adding user option', value); 5358 module.add.optionValue(value); 5359 } 5360 module.debug('Updating input value', escapedValue, currentValue); 5361 internalChange = true; 5362 $input 5363 .val(escapedValue) 5364 ; 5365 if(settings.fireOnInit === false && module.is.initialLoad()) { 5366 module.debug('Input native change event ignored on initial load'); 5367 } 5368 else { 5369 module.trigger.change(); 5370 } 5371 internalChange = false; 5372 } 5373 else { 5374 module.verbose('Storing value in metadata', escapedValue, $input); 5375 if(escapedValue !== currentValue) { 5376 $module.data(metadata.value, stringValue); 5377 } 5378 } 5379 if(module.is.single() && settings.clearable) { 5380 // treat undefined or '' as empty 5381 if(!escapedValue) { 5382 module.remove.clearable(); 5383 } 5384 else { 5385 module.set.clearable(); 5386 } 5387 } 5388 if(settings.fireOnInit === false && module.is.initialLoad()) { 5389 module.verbose('No callback on initial load', settings.onChange); 5390 } 5391 else { 5392 settings.onChange.call(element, value, text, $selected); 5393 } 5394 }, 5395 active: function() { 5396 $module 5397 .addClass(className.active) 5398 ; 5399 }, 5400 multiple: function() { 5401 $module.addClass(className.multiple); 5402 }, 5403 visible: function() { 5404 $module.addClass(className.visible); 5405 }, 5406 exactly: function(value, $selectedItem) { 5407 module.debug('Setting selected to exact values'); 5408 module.clear(); 5409 module.set.selected(value, $selectedItem); 5410 }, 5411 selected: function(value, $selectedItem) { 5412 var 5413 isMultiple = module.is.multiple(), 5414 $userSelectedItem 5415 ; 5416 $selectedItem = (settings.allowAdditions) 5417 ? $selectedItem || module.get.itemWithAdditions(value) 5418 : $selectedItem || module.get.item(value) 5419 ; 5420 if(!$selectedItem) { 5421 return; 5422 } 5423 module.debug('Setting selected menu item to', $selectedItem); 5424 if(module.is.multiple()) { 5425 module.remove.searchWidth(); 5426 } 5427 if(module.is.single()) { 5428 module.remove.activeItem(); 5429 module.remove.selectedItem(); 5430 } 5431 else if(settings.useLabels) { 5432 module.remove.selectedItem(); 5433 } 5434 // select each item 5435 $selectedItem 5436 .each(function() { 5437 var 5438 $selected = $(this), 5439 selectedText = module.get.choiceText($selected), 5440 selectedValue = module.get.choiceValue($selected, selectedText), 5441 5442 isFiltered = $selected.hasClass(className.filtered), 5443 isActive = $selected.hasClass(className.active), 5444 isUserValue = $selected.hasClass(className.addition), 5445 shouldAnimate = (isMultiple && $selectedItem.length == 1) 5446 ; 5447 if(isMultiple) { 5448 if(!isActive || isUserValue) { 5449 if(settings.apiSettings && settings.saveRemoteData) { 5450 module.save.remoteData(selectedText, selectedValue); 5451 } 5452 if(settings.useLabels) { 5453 module.add.label(selectedValue, selectedText, shouldAnimate); 5454 module.add.value(selectedValue, selectedText, $selected); 5455 module.set.activeItem($selected); 5456 module.filterActive(); 5457 module.select.nextAvailable($selectedItem); 5458 } 5459 else { 5460 module.add.value(selectedValue, selectedText, $selected); 5461 module.set.text(module.add.variables(message.count)); 5462 module.set.activeItem($selected); 5463 } 5464 } 5465 else if(!isFiltered) { 5466 module.debug('Selected active value, removing label'); 5467 module.remove.selected(selectedValue); 5468 } 5469 } 5470 else { 5471 if(settings.apiSettings && settings.saveRemoteData) { 5472 module.save.remoteData(selectedText, selectedValue); 5473 } 5474 module.set.text(selectedText); 5475 module.set.value(selectedValue, selectedText, $selected); 5476 $selected 5477 .addClass(className.active) 5478 .addClass(className.selected) 5479 ; 5480 } 5481 }) 5482 ; 5483 }, 5484 clearable: function() { 5485 $icon.addClass(className.clear); 5486 }, 5487 }, 5488 5489 add: { 5490 label: function(value, text, shouldAnimate) { 5491 var 5492 $next = module.is.searchSelection() 5493 ? $search 5494 : $text, 5495 escapedValue = module.escape.value(value), 5496 $label 5497 ; 5498 if(settings.ignoreCase) { 5499 escapedValue = escapedValue.toLowerCase(); 5500 } 5501 $label = $('<a />') 5502 .addClass(className.label) 5503 .attr('data-' + metadata.value, escapedValue) 5504 .html(templates.label(escapedValue, text)) 5505 ; 5506 $label = settings.onLabelCreate.call($label, escapedValue, text); 5507 5508 if(module.has.label(value)) { 5509 module.debug('User selection already exists, skipping', escapedValue); 5510 return; 5511 } 5512 if(settings.label.variation) { 5513 $label.addClass(settings.label.variation); 5514 } 5515 if(shouldAnimate === true) { 5516 module.debug('Animating in label', $label); 5517 $label 5518 .addClass(className.hidden) 5519 .insertBefore($next) 5520 .transition(settings.label.transition, settings.label.duration) 5521 ; 5522 } 5523 else { 5524 module.debug('Adding selection label', $label); 5525 $label 5526 .insertBefore($next) 5527 ; 5528 } 5529 }, 5530 message: function(message) { 5531 var 5532 $message = $menu.children(selector.message), 5533 html = settings.templates.message(module.add.variables(message)) 5534 ; 5535 if($message.length > 0) { 5536 $message 5537 .html(html) 5538 ; 5539 } 5540 else { 5541 $message = $('<div/>') 5542 .html(html) 5543 .addClass(className.message) 5544 .appendTo($menu) 5545 ; 5546 } 5547 }, 5548 optionValue: function(value) { 5549 var 5550 escapedValue = module.escape.value(value), 5551 $option = $input.find('option[value="' + module.escape.string(escapedValue) + '"]'), 5552 hasOption = ($option.length > 0) 5553 ; 5554 if(hasOption) { 5555 return; 5556 } 5557 // temporarily disconnect observer 5558 module.disconnect.selectObserver(); 5559 if( module.is.single() ) { 5560 module.verbose('Removing previous user addition'); 5561 $input.find('option.' + className.addition).remove(); 5562 } 5563 $('<option/>') 5564 .prop('value', escapedValue) 5565 .addClass(className.addition) 5566 .html(value) 5567 .appendTo($input) 5568 ; 5569 module.verbose('Adding user addition as an <option>', value); 5570 module.observe.select(); 5571 }, 5572 userSuggestion: function(value) { 5573 var 5574 $addition = $menu.children(selector.addition), 5575 $existingItem = module.get.item(value), 5576 alreadyHasValue = $existingItem && $existingItem.not(selector.addition).length, 5577 hasUserSuggestion = $addition.length > 0, 5578 html 5579 ; 5580 if(settings.useLabels && module.has.maxSelections()) { 5581 return; 5582 } 5583 if(value === '' || alreadyHasValue) { 5584 $addition.remove(); 5585 return; 5586 } 5587 if(hasUserSuggestion) { 5588 $addition 5589 .data(metadata.value, value) 5590 .data(metadata.text, value) 5591 .attr('data-' + metadata.value, value) 5592 .attr('data-' + metadata.text, value) 5593 .removeClass(className.filtered) 5594 ; 5595 if(!settings.hideAdditions) { 5596 html = settings.templates.addition( module.add.variables(message.addResult, value) ); 5597 $addition 5598 .html(html) 5599 ; 5600 } 5601 module.verbose('Replacing user suggestion with new value', $addition); 5602 } 5603 else { 5604 $addition = module.create.userChoice(value); 5605 $addition 5606 .prependTo($menu) 5607 ; 5608 module.verbose('Adding item choice to menu corresponding with user choice addition', $addition); 5609 } 5610 if(!settings.hideAdditions || module.is.allFiltered()) { 5611 $addition 5612 .addClass(className.selected) 5613 .siblings() 5614 .removeClass(className.selected) 5615 ; 5616 } 5617 module.refreshItems(); 5618 }, 5619 variables: function(message, term) { 5620 var 5621 hasCount = (message.search('{count}') !== -1), 5622 hasMaxCount = (message.search('{maxCount}') !== -1), 5623 hasTerm = (message.search('{term}') !== -1), 5624 values, 5625 count, 5626 query 5627 ; 5628 module.verbose('Adding templated variables to message', message); 5629 if(hasCount) { 5630 count = module.get.selectionCount(); 5631 message = message.replace('{count}', count); 5632 } 5633 if(hasMaxCount) { 5634 count = module.get.selectionCount(); 5635 message = message.replace('{maxCount}', settings.maxSelections); 5636 } 5637 if(hasTerm) { 5638 query = term || module.get.query(); 5639 message = message.replace('{term}', query); 5640 } 5641 return message; 5642 }, 5643 value: function(addedValue, addedText, $selectedItem) { 5644 var 5645 currentValue = module.get.values(), 5646 newValue 5647 ; 5648 if(module.has.value(addedValue)) { 5649 module.debug('Value already selected'); 5650 return; 5651 } 5652 if(addedValue === '') { 5653 module.debug('Cannot select blank values from multiselect'); 5654 return; 5655 } 5656 // extend current array 5657 if($.isArray(currentValue)) { 5658 newValue = currentValue.concat([addedValue]); 5659 newValue = module.get.uniqueArray(newValue); 5660 } 5661 else { 5662 newValue = [addedValue]; 5663 } 5664 // add values 5665 if( module.has.selectInput() ) { 5666 if(module.can.extendSelect()) { 5667 module.debug('Adding value to select', addedValue, newValue, $input); 5668 module.add.optionValue(addedValue); 5669 } 5670 } 5671 else { 5672 newValue = newValue.join(settings.delimiter); 5673 module.debug('Setting hidden input to delimited value', newValue, $input); 5674 } 5675 5676 if(settings.fireOnInit === false && module.is.initialLoad()) { 5677 module.verbose('Skipping onadd callback on initial load', settings.onAdd); 5678 } 5679 else { 5680 settings.onAdd.call(element, addedValue, addedText, $selectedItem); 5681 } 5682 module.set.value(newValue, addedValue, addedText, $selectedItem); 5683 module.check.maxSelections(); 5684 }, 5685 }, 5686 5687 remove: { 5688 active: function() { 5689 $module.removeClass(className.active); 5690 }, 5691 activeLabel: function() { 5692 $module.find(selector.label).removeClass(className.active); 5693 }, 5694 empty: function() { 5695 $module.removeClass(className.empty); 5696 }, 5697 loading: function() { 5698 $module.removeClass(className.loading); 5699 }, 5700 initialLoad: function() { 5701 initialLoad = false; 5702 }, 5703 upward: function($currentMenu) { 5704 var $element = $currentMenu || $module; 5705 $element.removeClass(className.upward); 5706 }, 5707 leftward: function($currentMenu) { 5708 var $element = $currentMenu || $menu; 5709 $element.removeClass(className.leftward); 5710 }, 5711 visible: function() { 5712 $module.removeClass(className.visible); 5713 }, 5714 activeItem: function() { 5715 $item.removeClass(className.active); 5716 }, 5717 filteredItem: function() { 5718 if(settings.useLabels && module.has.maxSelections() ) { 5719 return; 5720 } 5721 if(settings.useLabels && module.is.multiple()) { 5722 $item.not('.' + className.active).removeClass(className.filtered); 5723 } 5724 else { 5725 $item.removeClass(className.filtered); 5726 } 5727 module.remove.empty(); 5728 }, 5729 optionValue: function(value) { 5730 var 5731 escapedValue = module.escape.value(value), 5732 $option = $input.find('option[value="' + module.escape.string(escapedValue) + '"]'), 5733 hasOption = ($option.length > 0) 5734 ; 5735 if(!hasOption || !$option.hasClass(className.addition)) { 5736 return; 5737 } 5738 // temporarily disconnect observer 5739 if(selectObserver) { 5740 selectObserver.disconnect(); 5741 module.verbose('Temporarily disconnecting mutation observer'); 5742 } 5743 $option.remove(); 5744 module.verbose('Removing user addition as an <option>', escapedValue); 5745 if(selectObserver) { 5746 selectObserver.observe($input[0], { 5747 childList : true, 5748 subtree : true 5749 }); 5750 } 5751 }, 5752 message: function() { 5753 $menu.children(selector.message).remove(); 5754 }, 5755 searchWidth: function() { 5756 $search.css('width', ''); 5757 }, 5758 searchTerm: function() { 5759 module.verbose('Cleared search term'); 5760 $search.val(''); 5761 module.set.filtered(); 5762 }, 5763 userAddition: function() { 5764 $item.filter(selector.addition).remove(); 5765 }, 5766 selected: function(value, $selectedItem) { 5767 $selectedItem = (settings.allowAdditions) 5768 ? $selectedItem || module.get.itemWithAdditions(value) 5769 : $selectedItem || module.get.item(value) 5770 ; 5771 5772 if(!$selectedItem) { 5773 return false; 5774 } 5775 5776 $selectedItem 5777 .each(function() { 5778 var 5779 $selected = $(this), 5780 selectedText = module.get.choiceText($selected), 5781 selectedValue = module.get.choiceValue($selected, selectedText) 5782 ; 5783 if(module.is.multiple()) { 5784 if(settings.useLabels) { 5785 module.remove.value(selectedValue, selectedText, $selected); 5786 module.remove.label(selectedValue); 5787 } 5788 else { 5789 module.remove.value(selectedValue, selectedText, $selected); 5790 if(module.get.selectionCount() === 0) { 5791 module.set.placeholderText(); 5792 } 5793 else { 5794 module.set.text(module.add.variables(message.count)); 5795 } 5796 } 5797 } 5798 else { 5799 module.remove.value(selectedValue, selectedText, $selected); 5800 } 5801 $selected 5802 .removeClass(className.filtered) 5803 .removeClass(className.active) 5804 ; 5805 if(settings.useLabels) { 5806 $selected.removeClass(className.selected); 5807 } 5808 }) 5809 ; 5810 }, 5811 selectedItem: function() { 5812 $item.removeClass(className.selected); 5813 }, 5814 value: function(removedValue, removedText, $removedItem) { 5815 var 5816 values = module.get.values(), 5817 newValue 5818 ; 5819 if( module.has.selectInput() ) { 5820 module.verbose('Input is <select> removing selected option', removedValue); 5821 newValue = module.remove.arrayValue(removedValue, values); 5822 module.remove.optionValue(removedValue); 5823 } 5824 else { 5825 module.verbose('Removing from delimited values', removedValue); 5826 newValue = module.remove.arrayValue(removedValue, values); 5827 newValue = newValue.join(settings.delimiter); 5828 } 5829 if(settings.fireOnInit === false && module.is.initialLoad()) { 5830 module.verbose('No callback on initial load', settings.onRemove); 5831 } 5832 else { 5833 settings.onRemove.call(element, removedValue, removedText, $removedItem); 5834 } 5835 module.set.value(newValue, removedText, $removedItem); 5836 module.check.maxSelections(); 5837 }, 5838 arrayValue: function(removedValue, values) { 5839 if( !$.isArray(values) ) { 5840 values = [values]; 5841 } 5842 values = $.grep(values, function(value){ 5843 return (removedValue != value); 5844 }); 5845 module.verbose('Removed value from delimited string', removedValue, values); 5846 return values; 5847 }, 5848 label: function(value, shouldAnimate) { 5849 var 5850 $labels = $module.find(selector.label), 5851 $removedLabel = $labels.filter('[data-' + metadata.value + '="' + module.escape.string(value) +'"]') 5852 ; 5853 module.verbose('Removing label', $removedLabel); 5854 $removedLabel.remove(); 5855 }, 5856 activeLabels: function($activeLabels) { 5857 $activeLabels = $activeLabels || $module.find(selector.label).filter('.' + className.active); 5858 module.verbose('Removing active label selections', $activeLabels); 5859 module.remove.labels($activeLabels); 5860 }, 5861 labels: function($labels) { 5862 $labels = $labels || $module.find(selector.label); 5863 module.verbose('Removing labels', $labels); 5864 $labels 5865 .each(function(){ 5866 var 5867 $label = $(this), 5868 value = $label.data(metadata.value), 5869 stringValue = (value !== undefined) 5870 ? String(value) 5871 : value, 5872 isUserValue = module.is.userValue(stringValue) 5873 ; 5874 if(settings.onLabelRemove.call($label, value) === false) { 5875 module.debug('Label remove callback cancelled removal'); 5876 return; 5877 } 5878 module.remove.message(); 5879 if(isUserValue) { 5880 module.remove.value(stringValue); 5881 module.remove.label(stringValue); 5882 } 5883 else { 5884 // selected will also remove label 5885 module.remove.selected(stringValue); 5886 } 5887 }) 5888 ; 5889 }, 5890 tabbable: function() { 5891 if( module.is.searchSelection() ) { 5892 module.debug('Searchable dropdown initialized'); 5893 $search 5894 .removeAttr('tabindex') 5895 ; 5896 $menu 5897 .removeAttr('tabindex') 5898 ; 5899 } 5900 else { 5901 module.debug('Simple selection dropdown initialized'); 5902 $module 5903 .removeAttr('tabindex') 5904 ; 5905 $menu 5906 .removeAttr('tabindex') 5907 ; 5908 } 5909 }, 5910 clearable: function() { 5911 $icon.removeClass(className.clear); 5912 } 5913 }, 5914 5915 has: { 5916 menuSearch: function() { 5917 return (module.has.search() && $search.closest($menu).length > 0); 5918 }, 5919 search: function() { 5920 return ($search.length > 0); 5921 }, 5922 sizer: function() { 5923 return ($sizer.length > 0); 5924 }, 5925 selectInput: function() { 5926 return ( $input.is('select') ); 5927 }, 5928 minCharacters: function(searchTerm) { 5929 if(settings.minCharacters) { 5930 searchTerm = (searchTerm !== undefined) 5931 ? String(searchTerm) 5932 : String(module.get.query()) 5933 ; 5934 return (searchTerm.length >= settings.minCharacters); 5935 } 5936 return true; 5937 }, 5938 firstLetter: function($item, letter) { 5939 var 5940 text, 5941 firstLetter 5942 ; 5943 if(!$item || $item.length === 0 || typeof letter !== 'string') { 5944 return false; 5945 } 5946 text = module.get.choiceText($item, false); 5947 letter = letter.toLowerCase(); 5948 firstLetter = String(text).charAt(0).toLowerCase(); 5949 return (letter == firstLetter); 5950 }, 5951 input: function() { 5952 return ($input.length > 0); 5953 }, 5954 items: function() { 5955 return ($item.length > 0); 5956 }, 5957 menu: function() { 5958 return ($menu.length > 0); 5959 }, 5960 message: function() { 5961 return ($menu.children(selector.message).length !== 0); 5962 }, 5963 label: function(value) { 5964 var 5965 escapedValue = module.escape.value(value), 5966 $labels = $module.find(selector.label) 5967 ; 5968 if(settings.ignoreCase) { 5969 escapedValue = escapedValue.toLowerCase(); 5970 } 5971 return ($labels.filter('[data-' + metadata.value + '="' + module.escape.string(escapedValue) +'"]').length > 0); 5972 }, 5973 maxSelections: function() { 5974 return (settings.maxSelections && module.get.selectionCount() >= settings.maxSelections); 5975 }, 5976 allResultsFiltered: function() { 5977 var 5978 $normalResults = $item.not(selector.addition) 5979 ; 5980 return ($normalResults.filter(selector.unselectable).length === $normalResults.length); 5981 }, 5982 userSuggestion: function() { 5983 return ($menu.children(selector.addition).length > 0); 5984 }, 5985 query: function() { 5986 return (module.get.query() !== ''); 5987 }, 5988 value: function(value) { 5989 return (settings.ignoreCase) 5990 ? module.has.valueIgnoringCase(value) 5991 : module.has.valueMatchingCase(value) 5992 ; 5993 }, 5994 valueMatchingCase: function(value) { 5995 var 5996 values = module.get.values(), 5997 hasValue = $.isArray(values) 5998 ? values && ($.inArray(value, values) !== -1) 5999 : (values == value) 6000 ; 6001 return (hasValue) 6002 ? true 6003 : false 6004 ; 6005 }, 6006 valueIgnoringCase: function(value) { 6007 var 6008 values = module.get.values(), 6009 hasValue = false 6010 ; 6011 if(!$.isArray(values)) { 6012 values = [values]; 6013 } 6014 $.each(values, function(index, existingValue) { 6015 if(String(value).toLowerCase() == String(existingValue).toLowerCase()) { 6016 hasValue = true; 6017 return false; 6018 } 6019 }); 6020 return hasValue; 6021 } 6022 }, 6023 6024 is: { 6025 active: function() { 6026 return $module.hasClass(className.active); 6027 }, 6028 animatingInward: function() { 6029 return $menu.transition('is inward'); 6030 }, 6031 animatingOutward: function() { 6032 return $menu.transition('is outward'); 6033 }, 6034 bubbledLabelClick: function(event) { 6035 return $(event.target).is('select, input') && $module.closest('label').length > 0; 6036 }, 6037 bubbledIconClick: function(event) { 6038 return $(event.target).closest($icon).length > 0; 6039 }, 6040 alreadySetup: function() { 6041 return ($module.is('select') && $module.parent(selector.dropdown).data(moduleNamespace) !== undefined && $module.prev().length === 0); 6042 }, 6043 animating: function($subMenu) { 6044 return ($subMenu) 6045 ? $subMenu.transition && $subMenu.transition('is animating') 6046 : $menu.transition && $menu.transition('is animating') 6047 ; 6048 }, 6049 leftward: function($subMenu) { 6050 var $selectedMenu = $subMenu || $menu; 6051 return $selectedMenu.hasClass(className.leftward); 6052 }, 6053 disabled: function() { 6054 return $module.hasClass(className.disabled); 6055 }, 6056 focused: function() { 6057 return (document.activeElement === $module[0]); 6058 }, 6059 focusedOnSearch: function() { 6060 return (document.activeElement === $search[0]); 6061 }, 6062 allFiltered: function() { 6063 return( (module.is.multiple() || module.has.search()) && !(settings.hideAdditions == false && module.has.userSuggestion()) && !module.has.message() && module.has.allResultsFiltered() ); 6064 }, 6065 hidden: function($subMenu) { 6066 return !module.is.visible($subMenu); 6067 }, 6068 initialLoad: function() { 6069 return initialLoad; 6070 }, 6071 inObject: function(needle, object) { 6072 var 6073 found = false 6074 ; 6075 $.each(object, function(index, property) { 6076 if(property == needle) { 6077 found = true; 6078 return true; 6079 } 6080 }); 6081 return found; 6082 }, 6083 multiple: function() { 6084 return $module.hasClass(className.multiple); 6085 }, 6086 remote: function() { 6087 return settings.apiSettings && module.can.useAPI(); 6088 }, 6089 single: function() { 6090 return !module.is.multiple(); 6091 }, 6092 selectMutation: function(mutations) { 6093 var 6094 selectChanged = false 6095 ; 6096 $.each(mutations, function(index, mutation) { 6097 if(mutation.target && $(mutation.target).is('select')) { 6098 selectChanged = true; 6099 return true; 6100 } 6101 }); 6102 return selectChanged; 6103 }, 6104 search: function() { 6105 return $module.hasClass(className.search); 6106 }, 6107 searchSelection: function() { 6108 return ( module.has.search() && $search.parent(selector.dropdown).length === 1 ); 6109 }, 6110 selection: function() { 6111 return $module.hasClass(className.selection); 6112 }, 6113 userValue: function(value) { 6114 return ($.inArray(value, module.get.userValues()) !== -1); 6115 }, 6116 upward: function($menu) { 6117 var $element = $menu || $module; 6118 return $element.hasClass(className.upward); 6119 }, 6120 visible: function($subMenu) { 6121 return ($subMenu) 6122 ? $subMenu.hasClass(className.visible) 6123 : $menu.hasClass(className.visible) 6124 ; 6125 }, 6126 verticallyScrollableContext: function() { 6127 var 6128 overflowY = ($context.get(0) !== window) 6129 ? $context.css('overflow-y') 6130 : false 6131 ; 6132 return (overflowY == 'auto' || overflowY == 'scroll'); 6133 }, 6134 horizontallyScrollableContext: function() { 6135 var 6136 overflowX = ($context.get(0) !== window) 6137 ? $context.css('overflow-X') 6138 : false 6139 ; 6140 return (overflowX == 'auto' || overflowX == 'scroll'); 6141 } 6142 }, 6143 6144 can: { 6145 activate: function($item) { 6146 if(settings.useLabels) { 6147 return true; 6148 } 6149 if(!module.has.maxSelections()) { 6150 return true; 6151 } 6152 if(module.has.maxSelections() && $item.hasClass(className.active)) { 6153 return true; 6154 } 6155 return false; 6156 }, 6157 openDownward: function($subMenu) { 6158 var 6159 $currentMenu = $subMenu || $menu, 6160 canOpenDownward = true, 6161 onScreen = {}, 6162 calculations 6163 ; 6164 $currentMenu 6165 .addClass(className.loading) 6166 ; 6167 calculations = { 6168 context: { 6169 offset : ($context.get(0) === window) 6170 ? { top: 0, left: 0} 6171 : $context.offset(), 6172 scrollTop : $context.scrollTop(), 6173 height : $context.outerHeight() 6174 }, 6175 menu : { 6176 offset: $currentMenu.offset(), 6177 height: $currentMenu.outerHeight() 6178 } 6179 }; 6180 if(module.is.verticallyScrollableContext()) { 6181 calculations.menu.offset.top += calculations.context.scrollTop; 6182 } 6183 onScreen = { 6184 above : (calculations.context.scrollTop) <= calculations.menu.offset.top - calculations.context.offset.top - calculations.menu.height, 6185 below : (calculations.context.scrollTop + calculations.context.height) >= calculations.menu.offset.top - calculations.context.offset.top + calculations.menu.height 6186 }; 6187 if(onScreen.below) { 6188 module.verbose('Dropdown can fit in context downward', onScreen); 6189 canOpenDownward = true; 6190 } 6191 else if(!onScreen.below && !onScreen.above) { 6192 module.verbose('Dropdown cannot fit in either direction, favoring downward', onScreen); 6193 canOpenDownward = true; 6194 } 6195 else { 6196 module.verbose('Dropdown cannot fit below, opening upward', onScreen); 6197 canOpenDownward = false; 6198 } 6199 $currentMenu.removeClass(className.loading); 6200 return canOpenDownward; 6201 }, 6202 openRightward: function($subMenu) { 6203 var 6204 $currentMenu = $subMenu || $menu, 6205 canOpenRightward = true, 6206 isOffscreenRight = false, 6207 calculations 6208 ; 6209 $currentMenu 6210 .addClass(className.loading) 6211 ; 6212 calculations = { 6213 context: { 6214 offset : ($context.get(0) === window) 6215 ? { top: 0, left: 0} 6216 : $context.offset(), 6217 scrollLeft : $context.scrollLeft(), 6218 width : $context.outerWidth() 6219 }, 6220 menu: { 6221 offset : $currentMenu.offset(), 6222 width : $currentMenu.outerWidth() 6223 } 6224 }; 6225 if(module.is.horizontallyScrollableContext()) { 6226 calculations.menu.offset.left += calculations.context.scrollLeft; 6227 } 6228 isOffscreenRight = (calculations.menu.offset.left - calculations.context.offset.left + calculations.menu.width >= calculations.context.scrollLeft + calculations.context.width); 6229 if(isOffscreenRight) { 6230 module.verbose('Dropdown cannot fit in context rightward', isOffscreenRight); 6231 canOpenRightward = false; 6232 } 6233 $currentMenu.removeClass(className.loading); 6234 return canOpenRightward; 6235 }, 6236 click: function() { 6237 return (hasTouch || settings.on == 'click'); 6238 }, 6239 extendSelect: function() { 6240 return settings.allowAdditions || settings.apiSettings; 6241 }, 6242 show: function() { 6243 return !module.is.disabled() && (module.has.items() || module.has.message()); 6244 }, 6245 useAPI: function() { 6246 return $.fn.api !== undefined; 6247 } 6248 }, 6249 6250 animate: { 6251 show: function(callback, $subMenu) { 6252 var 6253 $currentMenu = $subMenu || $menu, 6254 start = ($subMenu) 6255 ? function() {} 6256 : function() { 6257 module.hideSubMenus(); 6258 module.hideOthers(); 6259 module.set.active(); 6260 }, 6261 transition 6262 ; 6263 callback = $.isFunction(callback) 6264 ? callback 6265 : function(){} 6266 ; 6267 module.verbose('Doing menu show animation', $currentMenu); 6268 module.set.direction($subMenu); 6269 transition = module.get.transition($subMenu); 6270 if( module.is.selection() ) { 6271 module.set.scrollPosition(module.get.selectedItem(), true); 6272 } 6273 if( module.is.hidden($currentMenu) || module.is.animating($currentMenu) ) { 6274 if(transition == 'none') { 6275 start(); 6276 $currentMenu.transition('show'); 6277 callback.call(element); 6278 } 6279 else if($.fn.transition !== undefined && $module.transition('is supported')) { 6280 $currentMenu 6281 .transition({ 6282 animation : transition + ' in', 6283 debug : settings.debug, 6284 verbose : settings.verbose, 6285 duration : settings.duration, 6286 queue : true, 6287 onStart : start, 6288 onComplete : function() { 6289 callback.call(element); 6290 } 6291 }) 6292 ; 6293 } 6294 else { 6295 module.error(error.noTransition, transition); 6296 } 6297 } 6298 }, 6299 hide: function(callback, $subMenu) { 6300 var 6301 $currentMenu = $subMenu || $menu, 6302 duration = ($subMenu) 6303 ? (settings.duration * 0.9) 6304 : settings.duration, 6305 start = ($subMenu) 6306 ? function() {} 6307 : function() { 6308 if( module.can.click() ) { 6309 module.unbind.intent(); 6310 } 6311 module.remove.active(); 6312 }, 6313 transition = module.get.transition($subMenu) 6314 ; 6315 callback = $.isFunction(callback) 6316 ? callback 6317 : function(){} 6318 ; 6319 if( module.is.visible($currentMenu) || module.is.animating($currentMenu) ) { 6320 module.verbose('Doing menu hide animation', $currentMenu); 6321 6322 if(transition == 'none') { 6323 start(); 6324 $currentMenu.transition('hide'); 6325 callback.call(element); 6326 } 6327 else if($.fn.transition !== undefined && $module.transition('is supported')) { 6328 $currentMenu 6329 .transition({ 6330 animation : transition + ' out', 6331 duration : settings.duration, 6332 debug : settings.debug, 6333 verbose : settings.verbose, 6334 queue : false, 6335 onStart : start, 6336 onComplete : function() { 6337 callback.call(element); 6338 } 6339 }) 6340 ; 6341 } 6342 else { 6343 module.error(error.transition); 6344 } 6345 } 6346 } 6347 }, 6348 6349 hideAndClear: function() { 6350 module.remove.searchTerm(); 6351 if( module.has.maxSelections() ) { 6352 return; 6353 } 6354 if(module.has.search()) { 6355 module.hide(function() { 6356 module.remove.filteredItem(); 6357 }); 6358 } 6359 else { 6360 module.hide(); 6361 } 6362 }, 6363 6364 delay: { 6365 show: function() { 6366 module.verbose('Delaying show event to ensure user intent'); 6367 clearTimeout(module.timer); 6368 module.timer = setTimeout(module.show, settings.delay.show); 6369 }, 6370 hide: function() { 6371 module.verbose('Delaying hide event to ensure user intent'); 6372 clearTimeout(module.timer); 6373 module.timer = setTimeout(module.hide, settings.delay.hide); 6374 } 6375 }, 6376 6377 escape: { 6378 value: function(value) { 6379 var 6380 multipleValues = $.isArray(value), 6381 stringValue = (typeof value === 'string'), 6382 isUnparsable = (!stringValue && !multipleValues), 6383 hasQuotes = (stringValue && value.search(regExp.quote) !== -1), 6384 values = [] 6385 ; 6386 if(isUnparsable || !hasQuotes) { 6387 return value; 6388 } 6389 module.debug('Encoding quote values for use in select', value); 6390 if(multipleValues) { 6391 $.each(value, function(index, value){ 6392 values.push(value.replace(regExp.quote, '"')); 6393 }); 6394 return values; 6395 } 6396 return value.replace(regExp.quote, '"'); 6397 }, 6398 string: function(text) { 6399 text = String(text); 6400 return text.replace(regExp.escape, '\\$&'); 6401 } 6402 }, 6403 6404 setting: function(name, value) { 6405 module.debug('Changing setting', name, value); 6406 if( $.isPlainObject(name) ) { 6407 $.extend(true, settings, name); 6408 } 6409 else if(value !== undefined) { 6410 if($.isPlainObject(settings[name])) { 6411 $.extend(true, settings[name], value); 6412 } 6413 else { 6414 settings[name] = value; 6415 } 6416 } 6417 else { 6418 return settings[name]; 6419 } 6420 }, 6421 internal: function(name, value) { 6422 if( $.isPlainObject(name) ) { 6423 $.extend(true, module, name); 6424 } 6425 else if(value !== undefined) { 6426 module[name] = value; 6427 } 6428 else { 6429 return module[name]; 6430 } 6431 }, 6432 debug: function() { 6433 if(!settings.silent && settings.debug) { 6434 if(settings.performance) { 6435 module.performance.log(arguments); 6436 } 6437 else { 6438 module.debug = Function.prototype.bind.call(console.info, console, settings.name + ':'); 6439 module.debug.apply(console, arguments); 6440 } 6441 } 6442 }, 6443 verbose: function() { 6444 if(!settings.silent && settings.verbose && settings.debug) { 6445 if(settings.performance) { 6446 module.performance.log(arguments); 6447 } 6448 else { 6449 module.verbose = Function.prototype.bind.call(console.info, console, settings.name + ':'); 6450 module.verbose.apply(console, arguments); 6451 } 6452 } 6453 }, 6454 error: function() { 6455 if(!settings.silent) { 6456 module.error = Function.prototype.bind.call(console.error, console, settings.name + ':'); 6457 module.error.apply(console, arguments); 6458 } 6459 }, 6460 performance: { 6461 log: function(message) { 6462 var 6463 currentTime, 6464 executionTime, 6465 previousTime 6466 ; 6467 if(settings.performance) { 6468 currentTime = new Date().getTime(); 6469 previousTime = time || currentTime; 6470 executionTime = currentTime - previousTime; 6471 time = currentTime; 6472 performance.push({ 6473 'Name' : message[0], 6474 'Arguments' : [].slice.call(message, 1) || '', 6475 'Element' : element, 6476 'Execution Time' : executionTime 6477 }); 6478 } 6479 clearTimeout(module.performance.timer); 6480 module.performance.timer = setTimeout(module.performance.display, 500); 6481 }, 6482 display: function() { 6483 var 6484 title = settings.name + ':', 6485 totalTime = 0 6486 ; 6487 time = false; 6488 clearTimeout(module.performance.timer); 6489 $.each(performance, function(index, data) { 6490 totalTime += data['Execution Time']; 6491 }); 6492 title += ' ' + totalTime + 'ms'; 6493 if(moduleSelector) { 6494 title += ' \'' + moduleSelector + '\''; 6495 } 6496 if( (console.group !== undefined || console.table !== undefined) && performance.length > 0) { 6497 console.groupCollapsed(title); 6498 if(console.table) { 6499 console.table(performance); 6500 } 6501 else { 6502 $.each(performance, function(index, data) { 6503 console.log(data['Name'] + ': ' + data['Execution Time']+'ms'); 6504 }); 6505 } 6506 console.groupEnd(); 6507 } 6508 performance = []; 6509 } 6510 }, 6511 invoke: function(query, passedArguments, context) { 6512 var 6513 object = instance, 6514 maxDepth, 6515 found, 6516 response 6517 ; 6518 passedArguments = passedArguments || queryArguments; 6519 context = element || context; 6520 if(typeof query == 'string' && object !== undefined) { 6521 query = query.split(/[\. ]/); 6522 maxDepth = query.length - 1; 6523 $.each(query, function(depth, value) { 6524 var camelCaseValue = (depth != maxDepth) 6525 ? value + query[depth + 1].charAt(0).toUpperCase() + query[depth + 1].slice(1) 6526 : query 6527 ; 6528 if( $.isPlainObject( object[camelCaseValue] ) && (depth != maxDepth) ) { 6529 object = object[camelCaseValue]; 6530 } 6531 else if( object[camelCaseValue] !== undefined ) { 6532 found = object[camelCaseValue]; 6533 return false; 6534 } 6535 else if( $.isPlainObject( object[value] ) && (depth != maxDepth) ) { 6536 object = object[value]; 6537 } 6538 else if( object[value] !== undefined ) { 6539 found = object[value]; 6540 return false; 6541 } 6542 else { 6543 module.error(error.method, query); 6544 return false; 6545 } 6546 }); 6547 } 6548 if ( $.isFunction( found ) ) { 6549 response = found.apply(context, passedArguments); 6550 } 6551 else if(found !== undefined) { 6552 response = found; 6553 } 6554 if($.isArray(returnedValue)) { 6555 returnedValue.push(response); 6556 } 6557 else if(returnedValue !== undefined) { 6558 returnedValue = [returnedValue, response]; 6559 } 6560 else if(response !== undefined) { 6561 returnedValue = response; 6562 } 6563 return found; 6564 } 6565 }; 6566 6567 if(methodInvoked) { 6568 if(instance === undefined) { 6569 module.initialize(); 6570 } 6571 module.invoke(query); 6572 } 6573 else { 6574 if(instance !== undefined) { 6575 instance.invoke('destroy'); 6576 } 6577 module.initialize(); 6578 } 6579 }) 6580 ; 6581 return (returnedValue !== undefined) 6582 ? returnedValue 6583 : $allModules 6584 ; 6585 }; 6586 6587 $.fn.dropdown.settings = { 6588 6589 silent : false, 6590 debug : false, 6591 verbose : false, 6592 performance : true, 6593 6594 on : 'click', // what event should show menu action on item selection 6595 action : 'activate', // action on item selection (nothing, activate, select, combo, hide, function(){}) 6596 6597 values : false, // specify values to use for dropdown 6598 6599 clearable : false, // whether the value of the dropdown can be cleared 6600 6601 apiSettings : false, 6602 selectOnKeydown : true, // Whether selection should occur automatically when keyboard shortcuts used 6603 minCharacters : 0, // Minimum characters required to trigger API call 6604 6605 filterRemoteData : false, // Whether API results should be filtered after being returned for query term 6606 saveRemoteData : true, // Whether remote name/value pairs should be stored in sessionStorage to allow remote data to be restored on page refresh 6607 6608 throttle : 200, // How long to wait after last user input to search remotely 6609 6610 context : window, // Context to use when determining if on screen 6611 direction : 'auto', // Whether dropdown should always open in one direction 6612 keepOnScreen : true, // Whether dropdown should check whether it is on screen before showing 6613 6614 match : 'both', // what to match against with search selection (both, text, or label) 6615 fullTextSearch : false, // search anywhere in value (set to 'exact' to require exact matches) 6616 6617 placeholder : 'auto', // whether to convert blank <select> values to placeholder text 6618 preserveHTML : true, // preserve html when selecting value 6619 sortSelect : false, // sort selection on init 6620 6621 forceSelection : true, // force a choice on blur with search selection 6622 6623 allowAdditions : false, // whether multiple select should allow user added values 6624 ignoreCase : false, // whether to consider values not matching in case to be the same 6625 hideAdditions : true, // whether or not to hide special message prompting a user they can enter a value 6626 6627 maxSelections : false, // When set to a number limits the number of selections to this count 6628 useLabels : true, // whether multiple select should filter currently active selections from choices 6629 delimiter : ',', // when multiselect uses normal <input> the values will be delimited with this character 6630 6631 showOnFocus : true, // show menu on focus 6632 allowReselection : false, // whether current value should trigger callbacks when reselected 6633 allowTab : true, // add tabindex to element 6634 allowCategorySelection : false, // allow elements with sub-menus to be selected 6635 6636 fireOnInit : false, // Whether callbacks should fire when initializing dropdown values 6637 6638 transition : 'auto', // auto transition will slide down or up based on direction 6639 duration : 200, // duration of transition 6640 6641 glyphWidth : 1.037, // widest glyph width in em (W is 1.037 em) used to calculate multiselect input width 6642 6643 // label settings on multi-select 6644 label: { 6645 transition : 'scale', 6646 duration : 200, 6647 variation : false 6648 }, 6649 6650 // delay before event 6651 delay : { 6652 hide : 300, 6653 show : 200, 6654 search : 20, 6655 touch : 50 6656 }, 6657 6658 /* Callbacks */ 6659 onChange : function(value, text, $selected){}, 6660 onAdd : function(value, text, $selected){}, 6661 onRemove : function(value, text, $selected){}, 6662 6663 onLabelSelect : function($selectedLabels){}, 6664 onLabelCreate : function(value, text) { return $(this); }, 6665 onLabelRemove : function(value) { return true; }, 6666 onNoResults : function(searchTerm) { return true; }, 6667 onShow : function(){}, 6668 onHide : function(){}, 6669 6670 /* Component */ 6671 name : 'Dropdown', 6672 namespace : 'dropdown', 6673 6674 message: { 6675 addResult : 'Add <b>{term}</b>', 6676 count : '{count} selected', 6677 maxSelections : 'Max {maxCount} selections', 6678 noResults : 'No results found.', 6679 serverError : 'There was an error contacting the server' 6680 }, 6681 6682 error : { 6683 action : 'You called a dropdown action that was not defined', 6684 alreadySetup : 'Once a select has been initialized behaviors must be called on the created ui dropdown', 6685 labels : 'Allowing user additions currently requires the use of labels.', 6686 missingMultiple : '<select> requires multiple property to be set to correctly preserve multiple values', 6687 method : 'The method you called is not defined.', 6688 noAPI : 'The API module is required to load resources remotely', 6689 noStorage : 'Saving remote data requires session storage', 6690 noTransition : 'This module requires ui transitions <https://github.com/Semantic-Org/UI-Transition>' 6691 }, 6692 6693 regExp : { 6694 escape : /[-[\]{}()*+?.,\\^$|#\s]/g, 6695 quote : /"/g 6696 }, 6697 6698 metadata : { 6699 defaultText : 'defaultText', 6700 defaultValue : 'defaultValue', 6701 placeholderText : 'placeholder', 6702 text : 'text', 6703 value : 'value' 6704 }, 6705 6706 // property names for remote query 6707 fields: { 6708 remoteValues : 'results', // grouping for api results 6709 values : 'values', // grouping for all dropdown values 6710 disabled : 'disabled', // whether value should be disabled 6711 name : 'name', // displayed dropdown text 6712 value : 'value', // actual dropdown value 6713 text : 'text' // displayed text when selected 6714 }, 6715 6716 keys : { 6717 backspace : 8, 6718 delimiter : 188, // comma 6719 deleteKey : 46, 6720 enter : 13, 6721 escape : 27, 6722 pageUp : 33, 6723 pageDown : 34, 6724 leftArrow : 37, 6725 upArrow : 38, 6726 rightArrow : 39, 6727 downArrow : 40 6728 }, 6729 6730 selector : { 6731 addition : '.addition', 6732 dropdown : '.ui.dropdown', 6733 hidden : '.hidden', 6734 icon : '> .dropdown.icon', 6735 input : '> input[type="hidden"], > select', 6736 item : '.item', 6737 label : '> .label', 6738 remove : '> .label > .delete.icon', 6739 siblingLabel : '.label', 6740 menu : '.menu', 6741 message : '.message', 6742 menuIcon : '.dropdown.icon', 6743 search : 'input.search, .menu > .search > input, .menu input.search', 6744 sizer : '> input.sizer', 6745 text : '> .text:not(.icon)', 6746 unselectable : '.disabled, .filtered' 6747 }, 6748 6749 className : { 6750 active : 'active', 6751 addition : 'addition', 6752 animating : 'animating', 6753 clear : 'clear', 6754 disabled : 'disabled', 6755 empty : 'empty', 6756 dropdown : 'ui dropdown', 6757 filtered : 'filtered', 6758 hidden : 'hidden transition', 6759 item : 'item', 6760 label : 'ui label', 6761 loading : 'loading', 6762 menu : 'menu', 6763 message : 'message', 6764 multiple : 'multiple', 6765 placeholder : 'default', 6766 sizer : 'sizer', 6767 search : 'search', 6768 selected : 'selected', 6769 selection : 'selection', 6770 upward : 'upward', 6771 leftward : 'left', 6772 visible : 'visible' 6773 } 6774 6775 }; 6776 6777 /* Templates */ 6778 $.fn.dropdown.settings.templates = { 6779 6780 // generates dropdown from select values 6781 dropdown: function(select) { 6782 var 6783 placeholder = select.placeholder || false, 6784 values = select.values || {}, 6785 html = '' 6786 ; 6787 html += '<i class="dropdown icon"></i>'; 6788 if(select.placeholder) { 6789 html += '<div class="default text">' + placeholder + '</div>'; 6790 } 6791 else { 6792 html += '<div class="text"></div>'; 6793 } 6794 html += '<div class="menu">'; 6795 $.each(select.values, function(index, option) { 6796 html += (option.disabled) 6797 ? '<div class="disabled item" data-value="' + option.value + '">' + option.name + '</div>' 6798 : '<div class="item" data-value="' + option.value + '">' + option.name + '</div>' 6799 ; 6800 }); 6801 html += '</div>'; 6802 return html; 6803 }, 6804 6805 // generates just menu from select 6806 menu: function(response, fields) { 6807 var 6808 values = response[fields.values] || {}, 6809 html = '' 6810 ; 6811 $.each(values, function(index, option) { 6812 var 6813 maybeText = (option[fields.text]) 6814 ? 'data-text="' + option[fields.text] + '"' 6815 : '', 6816 maybeDisabled = (option[fields.disabled]) 6817 ? 'disabled ' 6818 : '' 6819 ; 6820 html += '<div class="'+ maybeDisabled +'item" data-value="' + option[fields.value] + '"' + maybeText + '>'; 6821 html += option[fields.name]; 6822 html += '</div>'; 6823 }); 6824 return html; 6825 }, 6826 6827 // generates label for multiselect 6828 label: function(value, text) {
vendor: 4,352 bytes, lines 6829-7017
6829 return text + '<i class="delete icon"></i>'; 6830 }, 6831 6832 6833 // generates messages like "No results" 6834 message: function(message) { 6835 return message; 6836 }, 6837 6838 // generates user addition to selection menu 6839 addition: function(choice) { 6840 return choice; 6841 } 6842 6843 }; 6844 6845 })( jQuery, window, document ); 6846 /*! 6847 * # Semantic UI 2.4.1 - Transition 6848 * http://github.com/semantic-org/semantic-ui/ 6849 * 6850 * 6851 * Released under the MIT license 6852 * http://opensource.org/licenses/MIT 6853 * 6854 */ 6855 6856;(function ($, window, document, undefined) { 6857 6858 'use strict'; 6859 6860 window = (typeof window != 'undefined' && window.Math == Math) 6861 ? window 6862 : (typeof self != 'undefined' && self.Math == Math) 6863 ? self 6864 : Function('return this')() 6865 ; 6866 6867 $.fn.transition = function() { 6868 var 6869 $allModules = $(this), 6870 moduleSelector = $allModules.selector || '', 6871 6872 time = new Date().getTime(), 6873 performance = [], 6874 6875 moduleArguments = arguments, 6876 query = moduleArguments[0], 6877 queryArguments = [].slice.call(arguments, 1), 6878 methodInvoked = (typeof query === 'string'), 6879 6880 requestAnimationFrame = window.requestAnimationFrame 6881 || window.mozRequestAnimationFrame 6882 || window.webkitRequestAnimationFrame 6883 || window.msRequestAnimationFrame 6884 || function(callback) { setTimeout(callback, 0); }, 6885 6886 returnedValue 6887 ; 6888 $allModules 6889 .each(function(index) { 6890 var 6891 $module = $(this), 6892 element = this, 6893 6894 // set at run time 6895 settings, 6896 instance, 6897 6898 error, 6899 className, 6900 metadata, 6901 animationEnd, 6902 animationName, 6903 6904 namespace, 6905 moduleNamespace, 6906 eventNamespace, 6907 module 6908 ; 6909 6910 module = { 6911 6912 initialize: function() { 6913 6914 // get full settings 6915 settings = module.get.settings.apply(element, moduleArguments); 6916 6917 // shorthand 6918 className = settings.className; 6919 error = settings.error; 6920 metadata = settings.metadata; 6921 6922 // define namespace 6923 eventNamespace = '.' + settings.namespace; 6924 moduleNamespace = 'module-' + settings.namespace; 6925 instance = $module.data(moduleNamespace) || module; 6926 6927 // get vendor specific events 6928 animationEnd = module.get.animationEndEvent(); 6929 6930 if(methodInvoked) { 6931 methodInvoked = module.invoke(query); 6932 } 6933 6934 // method not invoked, lets run an animation 6935 if(methodInvoked === false) { 6936 module.verbose('Converted arguments into settings object', settings); 6937 if(settings.interval) { 6938 module.delay(settings.animate); 6939 } 6940 else { 6941 module.animate(); 6942 } 6943 module.instantiate(); 6944 } 6945 }, 6946 6947 instantiate: function() { 6948 module.verbose('Storing instance of module', module); 6949 instance = module; 6950 $module 6951 .data(moduleNamespace, instance) 6952 ; 6953 }, 6954 6955 destroy: function() { 6956 module.verbose('Destroying previous module for', element); 6957 $module 6958 .removeData(moduleNamespace) 6959 ; 6960 }, 6961 6962 refresh: function() { 6963 module.verbose('Refreshing display type on next animation'); 6964 delete module.displayType; 6965 }, 6966 6967 forceRepaint: function() { 6968 module.verbose('Forcing element repaint'); 6969 var 6970 $parentElement = $module.parent(), 6971 $nextElement = $module.next() 6972 ; 6973 if($nextElement.length === 0) { 6974 $module.detach().appendTo($parentElement); 6975 } 6976 else { 6977 $module.detach().insertBefore($nextElement); 6978 } 6979 }, 6980 6981 repaint: function() { 6982 module.verbose('Repainting element'); 6983 var 6984 fakeAssignment = element.offsetWidth 6985 ; 6986 }, 6987 6988 delay: function(interval) { 6989 var 6990 direction = module.get.animationDirection(), 6991 shouldReverse, 6992 delay 6993 ; 6994 if(!direction) { 6995 direction = module.can.transition() 6996 ? module.get.direction() 6997 : 'static' 6998 ; 6999 } 7000 interval = (interval !== undefined) 7001 ? interval 7002 : settings.interval 7003 ; 7004 shouldReverse = (settings.reverse == 'auto' && direction == className.outward); 7005 delay = (shouldReverse || settings.reverse == true) 7006 ? ($allModules.length - index) * settings.interval 7007 : index * settings.interval 7008 ; 7009 module.debug('Delaying animation by', delay); 7010 setTimeout(module.animate, delay); 7011 }, 7012 7013 animate: function(overrideSettings) { 7014 settings = overrideSettings || settings; 7015 if(!module.is.supported()) { 7016 module.error(error.support); 7017 return false;
vendor: 19,967 bytes, lines 7018-7764
7018 } 7019 module.debug('Preparing animation', settings.animation); 7020 if(module.is.animating()) { 7021 if(settings.queue) { 7022 if(!settings.allowRepeats && module.has.direction() && module.is.occurring() && module.queuing !== true) { 7023 module.debug('Animation is currently occurring, preventing queueing same animation', settings.animation); 7024 } 7025 else { 7026 module.queue(settings.animation); 7027 } 7028 return false; 7029 } 7030 else if(!settings.allowRepeats && module.is.occurring()) { 7031 module.debug('Animation is already occurring, will not execute repeated animation', settings.animation); 7032 return false; 7033 } 7034 else { 7035 module.debug('New animation started, completing previous early', settings.animation); 7036 instance.complete(); 7037 } 7038 } 7039 if( module.can.animate() ) { 7040 module.set.animating(settings.animation); 7041 } 7042 else { 7043 module.error(error.noAnimation, settings.animation, element); 7044 } 7045 }, 7046 7047 reset: function() { 7048 module.debug('Resetting animation to beginning conditions'); 7049 module.remove.animationCallbacks(); 7050 module.restore.conditions(); 7051 module.remove.animating(); 7052 }, 7053 7054 queue: function(animation) { 7055 module.debug('Queueing animation of', animation); 7056 module.queuing = true; 7057 $module 7058 .one(animationEnd + '.queue' + eventNamespace, function() { 7059 module.queuing = false; 7060 module.repaint(); 7061 module.animate.apply(this, settings); 7062 }) 7063 ; 7064 }, 7065 7066 complete: function (event) { 7067 module.debug('Animation complete', settings.animation); 7068 module.remove.completeCallback(); 7069 module.remove.failSafe(); 7070 if(!module.is.looping()) { 7071 if( module.is.outward() ) { 7072 module.verbose('Animation is outward, hiding element'); 7073 module.restore.conditions(); 7074 module.hide(); 7075 } 7076 else if( module.is.inward() ) { 7077 module.verbose('Animation is outward, showing element'); 7078 module.restore.conditions(); 7079 module.show(); 7080 } 7081 else { 7082 module.verbose('Static animation completed'); 7083 module.restore.conditions(); 7084 settings.onComplete.call(element); 7085 } 7086 } 7087 }, 7088 7089 force: { 7090 visible: function() { 7091 var 7092 style = $module.attr('style'), 7093 userStyle = module.get.userStyle(), 7094 displayType = module.get.displayType(), 7095 overrideStyle = userStyle + 'display: ' + displayType + ' !important;', 7096 currentDisplay = $module.css('display'), 7097 emptyStyle = (style === undefined || style === '') 7098 ; 7099 if(currentDisplay !== displayType) { 7100 module.verbose('Overriding default display to show element', displayType); 7101 $module 7102 .attr('style', overrideStyle) 7103 ; 7104 } 7105 else if(emptyStyle) { 7106 $module.removeAttr('style'); 7107 } 7108 }, 7109 hidden: function() { 7110 var 7111 style = $module.attr('style'), 7112 currentDisplay = $module.css('display'), 7113 emptyStyle = (style === undefined || style === '') 7114 ; 7115 if(currentDisplay !== 'none' && !module.is.hidden()) { 7116 module.verbose('Overriding default display to hide element'); 7117 $module 7118 .css('display', 'none') 7119 ; 7120 } 7121 else if(emptyStyle) { 7122 $module 7123 .removeAttr('style') 7124 ; 7125 } 7126 } 7127 }, 7128 7129 has: { 7130 direction: function(animation) { 7131 var 7132 hasDirection = false 7133 ; 7134 animation = animation || settings.animation; 7135 if(typeof animation === 'string') { 7136 animation = animation.split(' '); 7137 $.each(animation, function(index, word){ 7138 if(word === className.inward || word === className.outward) { 7139 hasDirection = true; 7140 } 7141 }); 7142 } 7143 return hasDirection; 7144 }, 7145 inlineDisplay: function() { 7146 var 7147 style = $module.attr('style') || '' 7148 ; 7149 return $.isArray(style.match(/display.*?;/, '')); 7150 } 7151 }, 7152 7153 set: { 7154 animating: function(animation) { 7155 var 7156 animationClass, 7157 direction 7158 ; 7159 // remove previous callbacks 7160 module.remove.completeCallback(); 7161 7162 // determine exact animation 7163 animation = animation || settings.animation; 7164 animationClass = module.get.animationClass(animation); 7165 7166 // save animation class in cache to restore class names 7167 module.save.animation(animationClass); 7168 7169 // override display if necessary so animation appears visibly 7170 module.force.visible(); 7171 7172 module.remove.hidden(); 7173 module.remove.direction(); 7174 7175 module.start.animation(animationClass); 7176 7177 }, 7178 duration: function(animationName, duration) { 7179 duration = duration || settings.duration; 7180 duration = (typeof duration == 'number') 7181 ? duration + 'ms' 7182 : duration 7183 ; 7184 if(duration || duration === 0) { 7185 module.verbose('Setting animation duration', duration); 7186 $module 7187 .css({ 7188 'animation-duration': duration 7189 }) 7190 ; 7191 } 7192 }, 7193 direction: function(direction) { 7194 direction = direction || module.get.direction(); 7195 if(direction == className.inward) { 7196 module.set.inward(); 7197 } 7198 else { 7199 module.set.outward(); 7200 } 7201 }, 7202 looping: function() { 7203 module.debug('Transition set to loop'); 7204 $module 7205 .addClass(className.looping) 7206 ; 7207 }, 7208 hidden: function() { 7209 $module 7210 .addClass(className.transition) 7211 .addClass(className.hidden) 7212 ; 7213 }, 7214 inward: function() { 7215 module.debug('Setting direction to inward'); 7216 $module 7217 .removeClass(className.outward) 7218 .addClass(className.inward) 7219 ; 7220 }, 7221 outward: function() { 7222 module.debug('Setting direction to outward'); 7223 $module 7224 .removeClass(className.inward) 7225 .addClass(className.outward) 7226 ; 7227 }, 7228 visible: function() { 7229 $module 7230 .addClass(className.transition) 7231 .addClass(className.visible) 7232 ; 7233 } 7234 }, 7235 7236 start: { 7237 animation: function(animationClass) { 7238 animationClass = animationClass || module.get.animationClass(); 7239 module.debug('Starting tween', animationClass); 7240 $module 7241 .addClass(animationClass) 7242 .one(animationEnd + '.complete' + eventNamespace, module.complete) 7243 ; 7244 if(settings.useFailSafe) { 7245 module.add.failSafe(); 7246 } 7247 module.set.duration(settings.duration); 7248 settings.onStart.call(element); 7249 } 7250 }, 7251 7252 save: { 7253 animation: function(animation) { 7254 if(!module.cache) { 7255 module.cache = {}; 7256 } 7257 module.cache.animation = animation; 7258 }, 7259 displayType: function(displayType) { 7260 if(displayType !== 'none') { 7261 $module.data(metadata.displayType, displayType); 7262 } 7263 }, 7264 transitionExists: function(animation, exists) { 7265 $.fn.transition.exists[animation] = exists; 7266 module.verbose('Saving existence of transition', animation, exists); 7267 } 7268 }, 7269 7270 restore: { 7271 conditions: function() { 7272 var 7273 animation = module.get.currentAnimation() 7274 ; 7275 if(animation) { 7276 $module 7277 .removeClass(animation) 7278 ; 7279 module.verbose('Removing animation class', module.cache); 7280 } 7281 module.remove.duration(); 7282 } 7283 }, 7284 7285 add: { 7286 failSafe: function() { 7287 var 7288 duration = module.get.duration() 7289 ; 7290 module.timer = setTimeout(function() { 7291 $module.triggerHandler(animationEnd); 7292 }, duration + settings.failSafeDelay); 7293 module.verbose('Adding fail safe timer', module.timer); 7294 } 7295 }, 7296 7297 remove: { 7298 animating: function() { 7299 $module.removeClass(className.animating); 7300 }, 7301 animationCallbacks: function() { 7302 module.remove.queueCallback(); 7303 module.remove.completeCallback(); 7304 }, 7305 queueCallback: function() { 7306 $module.off('.queue' + eventNamespace); 7307 }, 7308 completeCallback: function() { 7309 $module.off('.complete' + eventNamespace); 7310 }, 7311 display: function() { 7312 $module.css('display', ''); 7313 }, 7314 direction: function() { 7315 $module 7316 .removeClass(className.inward) 7317 .removeClass(className.outward) 7318 ; 7319 }, 7320 duration: function() { 7321 $module 7322 .css('animation-duration', '') 7323 ; 7324 }, 7325 failSafe: function() { 7326 module.verbose('Removing fail safe timer', module.timer); 7327 if(module.timer) { 7328 clearTimeout(module.timer); 7329 } 7330 }, 7331 hidden: function() { 7332 $module.removeClass(className.hidden); 7333 }, 7334 visible: function() { 7335 $module.removeClass(className.visible); 7336 }, 7337 looping: function() { 7338 module.debug('Transitions are no longer looping'); 7339 if( module.is.looping() ) { 7340 module.reset(); 7341 $module 7342 .removeClass(className.looping) 7343 ; 7344 } 7345 }, 7346 transition: function() { 7347 $module 7348 .removeClass(className.visible) 7349 .removeClass(className.hidden) 7350 ; 7351 } 7352 }, 7353 get: { 7354 settings: function(animation, duration, onComplete) { 7355 // single settings object 7356 if(typeof animation == 'object') { 7357 return $.extend(true, {}, $.fn.transition.settings, animation); 7358 } 7359 // all arguments provided 7360 else if(typeof onComplete == 'function') { 7361 return $.extend({}, $.fn.transition.settings, { 7362 animation : animation, 7363 onComplete : onComplete, 7364 duration : duration 7365 }); 7366 } 7367 // only duration provided 7368 else if(typeof duration == 'string' || typeof duration == 'number') { 7369 return $.extend({}, $.fn.transition.settings, { 7370 animation : animation, 7371 duration : duration 7372 }); 7373 } 7374 // duration is actually settings object 7375 else if(typeof duration == 'object') { 7376 return $.extend({}, $.fn.transition.settings, duration, { 7377 animation : animation 7378 }); 7379 } 7380 // duration is actually callback 7381 else if(typeof duration == 'function') { 7382 return $.extend({}, $.fn.transition.settings, { 7383 animation : animation, 7384 onComplete : duration 7385 }); 7386 } 7387 // only animation provided 7388 else { 7389 return $.extend({}, $.fn.transition.settings, { 7390 animation : animation 7391 }); 7392 } 7393 }, 7394 animationClass: function(animation) { 7395 var 7396 animationClass = animation || settings.animation, 7397 directionClass = (module.can.transition() && !module.has.direction()) 7398 ? module.get.direction() + ' ' 7399 : '' 7400 ; 7401 return className.animating + ' ' 7402 + className.transition + ' ' 7403 + directionClass 7404 + animationClass 7405 ; 7406 }, 7407 currentAnimation: function() { 7408 return (module.cache && module.cache.animation !== undefined) 7409 ? module.cache.animation 7410 : false 7411 ; 7412 }, 7413 currentDirection: function() { 7414 return module.is.inward() 7415 ? className.inward 7416 : className.outward 7417 ; 7418 }, 7419 direction: function() { 7420 return module.is.hidden() || !module.is.visible() 7421 ? className.inward 7422 : className.outward 7423 ; 7424 }, 7425 animationDirection: function(animation) { 7426 var 7427 direction 7428 ; 7429 animation = animation || settings.animation; 7430 if(typeof animation === 'string') { 7431 animation = animation.split(' '); 7432 // search animation name for out/in class 7433 $.each(animation, function(index, word){ 7434 if(word === className.inward) { 7435 direction = className.inward; 7436 } 7437 else if(word === className.outward) { 7438 direction = className.outward; 7439 } 7440 }); 7441 } 7442 // return found direction 7443 if(direction) { 7444 return direction; 7445 } 7446 return false; 7447 }, 7448 duration: function(duration) { 7449 duration = duration || settings.duration; 7450 if(duration === false) { 7451 duration = $module.css('animation-duration') || 0; 7452 } 7453 return (typeof duration === 'string') 7454 ? (duration.indexOf('ms') > -1) 7455 ? parseFloat(duration) 7456 : parseFloat(duration) * 1000 7457 : duration 7458 ; 7459 }, 7460 displayType: function(shouldDetermine) { 7461 shouldDetermine = (shouldDetermine !== undefined) 7462 ? shouldDetermine 7463 : true 7464 ; 7465 if(settings.displayType) { 7466 return settings.displayType; 7467 } 7468 if(shouldDetermine && $module.data(metadata.displayType) === undefined) { 7469 // create fake element to determine display state 7470 module.can.transition(true); 7471 } 7472 return $module.data(metadata.displayType); 7473 }, 7474 userStyle: function(style) { 7475 style = style || $module.attr('style') || ''; 7476 return style.replace(/display.*?;/, ''); 7477 }, 7478 transitionExists: function(animation) { 7479 return $.fn.transition.exists[animation]; 7480 }, 7481 animationStartEvent: function() { 7482 var 7483 element = document.createElement('div'), 7484 animations = { 7485 'animation' :'animationstart', 7486 'OAnimation' :'oAnimationStart', 7487 'MozAnimation' :'mozAnimationStart', 7488 'WebkitAnimation' :'webkitAnimationStart' 7489 }, 7490 animation 7491 ; 7492 for(animation in animations){ 7493 if( element.style[animation] !== undefined ){ 7494 return animations[animation]; 7495 } 7496 } 7497 return false; 7498 }, 7499 animationEndEvent: function() { 7500 var 7501 element = document.createElement('div'), 7502 animations = { 7503 'animation' :'animationend', 7504 'OAnimation' :'oAnimationEnd', 7505 'MozAnimation' :'mozAnimationEnd', 7506 'WebkitAnimation' :'webkitAnimationEnd' 7507 }, 7508 animation 7509 ; 7510 for(animation in animations){ 7511 if( element.style[animation] !== undefined ){ 7512 return animations[animation]; 7513 } 7514 } 7515 return false; 7516 } 7517 7518 }, 7519 7520 can: { 7521 transition: function(forced) { 7522 var 7523 animation = settings.animation, 7524 transitionExists = module.get.transitionExists(animation), 7525 displayType = module.get.displayType(false), 7526 elementClass, 7527 tagName, 7528 $clone, 7529 currentAnimation, 7530 inAnimation, 7531 directionExists 7532 ; 7533 if( transitionExists === undefined || forced) { 7534 module.verbose('Determining whether animation exists'); 7535 elementClass = $module.attr('class'); 7536 tagName = $module.prop('tagName'); 7537 7538 $clone = $('<' + tagName + ' />').addClass( elementClass ).insertAfter($module); 7539 currentAnimation = $clone 7540 .addClass(animation) 7541 .removeClass(className.inward) 7542 .removeClass(className.outward) 7543 .addClass(className.animating) 7544 .addClass(className.transition) 7545 .css('animationName') 7546 ; 7547 inAnimation = $clone 7548 .addClass(className.inward) 7549 .css('animationName') 7550 ; 7551 if(!displayType) { 7552 displayType = $clone 7553 .attr('class', elementClass) 7554 .removeAttr('style') 7555 .removeClass(className.hidden) 7556 .removeClass(className.visible) 7557 .show() 7558 .css('display') 7559 ; 7560 module.verbose('Determining final display state', displayType); 7561 module.save.displayType(displayType); 7562 } 7563 7564 $clone.remove(); 7565 if(currentAnimation != inAnimation) { 7566 module.debug('Direction exists for animation', animation); 7567 directionExists = true; 7568 } 7569 else if(currentAnimation == 'none' || !currentAnimation) { 7570 module.debug('No animation defined in css', animation); 7571 return; 7572 } 7573 else { 7574 module.debug('Static animation found', animation, displayType); 7575 directionExists = false; 7576 } 7577 module.save.transitionExists(animation, directionExists); 7578 } 7579 return (transitionExists !== undefined) 7580 ? transitionExists 7581 : directionExists 7582 ; 7583 }, 7584 animate: function() { 7585 // can transition does not return a value if animation does not exist 7586 return (module.can.transition() !== undefined); 7587 } 7588 }, 7589 7590 is: { 7591 animating: function() { 7592 return $module.hasClass(className.animating); 7593 }, 7594 inward: function() { 7595 return $module.hasClass(className.inward); 7596 }, 7597 outward: function() { 7598 return $module.hasClass(className.outward); 7599 }, 7600 looping: function() { 7601 return $module.hasClass(className.looping); 7602 }, 7603 occurring: function(animation) { 7604 animation = animation || settings.animation; 7605 animation = '.' + animation.replace(' ', '.'); 7606 return ( $module.filter(animation).length > 0 ); 7607 }, 7608 visible: function() { 7609 return $module.is(':visible'); 7610 }, 7611 hidden: function() { 7612 return $module.css('visibility') === 'hidden'; 7613 }, 7614 supported: function() { 7615 return(animationEnd !== false); 7616 } 7617 }, 7618 7619 hide: function() { 7620 module.verbose('Hiding element'); 7621 if( module.is.animating() ) { 7622 module.reset(); 7623 } 7624 element.blur(); // IE will trigger focus change if element is not blurred before hiding 7625 module.remove.display(); 7626 module.remove.visible(); 7627 module.set.hidden(); 7628 module.force.hidden(); 7629 settings.onHide.call(element); 7630 settings.onComplete.call(element); 7631 // module.repaint(); 7632 }, 7633 7634 show: function(display) { 7635 module.verbose('Showing element', display); 7636 module.remove.hidden(); 7637 module.set.visible(); 7638 module.force.visible(); 7639 settings.onShow.call(element); 7640 settings.onComplete.call(element); 7641 // module.repaint(); 7642 }, 7643 7644 toggle: function() { 7645 if( module.is.visible() ) { 7646 module.hide(); 7647 } 7648 else { 7649 module.show(); 7650 } 7651 }, 7652 7653 stop: function() { 7654 module.debug('Stopping current animation'); 7655 $module.triggerHandler(animationEnd); 7656 }, 7657 7658 stopAll: function() { 7659 module.debug('Stopping all animation'); 7660 module.remove.queueCallback(); 7661 $module.triggerHandler(animationEnd); 7662 }, 7663 7664 clear: { 7665 queue: function() { 7666 module.debug('Clearing animation queue'); 7667 module.remove.queueCallback(); 7668 } 7669 }, 7670 7671 enable: function() { 7672 module.verbose('Starting animation'); 7673 $module.removeClass(className.disabled); 7674 }, 7675 7676 disable: function() { 7677 module.debug('Stopping animation'); 7678 $module.addClass(className.disabled); 7679 }, 7680 7681 setting: function(name, value) { 7682 module.debug('Changing setting', name, value); 7683 if( $.isPlainObject(name) ) { 7684 $.extend(true, settings, name); 7685 } 7686 else if(value !== undefined) { 7687 if($.isPlainObject(settings[name])) { 7688 $.extend(true, settings[name], value); 7689 } 7690 else { 7691 settings[name] = value; 7692 } 7693 } 7694 else { 7695 return settings[name]; 7696 } 7697 }, 7698 internal: function(name, value) { 7699 if( $.isPlainObject(name) ) { 7700 $.extend(true, module, name); 7701 } 7702 else if(value !== undefined) { 7703 module[name] = value; 7704 } 7705 else { 7706 return module[name]; 7707 } 7708 }, 7709 debug: function() { 7710 if(!settings.silent && settings.debug) { 7711 if(settings.performance) { 7712 module.performance.log(arguments); 7713 } 7714 else { 7715 module.debug = Function.prototype.bind.call(console.info, console, settings.name + ':'); 7716 module.debug.apply(console, arguments); 7717 } 7718 } 7719 }, 7720 verbose: function() { 7721 if(!settings.silent && settings.verbose && settings.debug) { 7722 if(settings.performance) { 7723 module.performance.log(arguments); 7724 } 7725 else { 7726 module.verbose = Function.prototype.bind.call(console.info, console, settings.name + ':'); 7727 module.verbose.apply(console, arguments); 7728 } 7729 } 7730 }, 7731 error: function() { 7732 if(!settings.silent) { 7733 module.error = Function.prototype.bind.call(console.error, console, settings.name + ':'); 7734 module.error.apply(console, arguments); 7735 } 7736 }, 7737 performance: { 7738 log: function(message) { 7739 var 7740 currentTime, 7741 executionTime, 7742 previousTime 7743 ; 7744 if(settings.performance) { 7745 currentTime = new Date().getTime(); 7746 previousTime = time || currentTime; 7747 executionTime = currentTime - previousTime; 7748 time = currentTime; 7749 performance.push({ 7750 'Name' : message[0], 7751 'Arguments' : [].slice.call(message, 1) || '', 7752 'Element' : element, 7753 'Execution Time' : executionTime 7754 }); 7755 } 7756 clearTimeout(module.performance.timer); 7757 module.performance.timer = setTimeout(module.performance.display, 500); 7758 }, 7759 display: function() { 7760 var 7761 title = settings.name + ':', 7762 totalTime = 0 7763 ; 7764 time = false;
7765 clearTimeout(module.performance.timer); 7766 $.each(performance, function(index, data) { 7767 totalTime += data['Execution Time']; 7768 }); 7769 title += ' ' + totalTime + 'ms'; 7770 if(moduleSelector) { 7771 title += ' \'' + moduleSelector + '\''; 7772 } 7773 if($allModules.length > 1) { 7774 title += ' ' + '(' + $allModules.length + ')'; 7775 } 7776 if( (console.group !== undefined || console.table !== undefined) && performance.length > 0) { 7777 console.groupCollapsed(title); 7778 if(console.table) { 7779 console.table(performance); 7780 } 7781 else { 7782 $.each(performance, function(index, data) { 7783 console.log(data['Name'] + ': ' + data['Execution Time']+'ms'); 7784 }); 7785 } 7786 console.groupEnd(); 7787 } 7788 performance = []; 7789 } 7790 }, 7791 // modified for transition to return invoke success 7792 invoke: function(query, passedArguments, context) { 7793 var 7794 object = instance, 7795 maxDepth, 7796 found, 7797 response 7798 ; 7799 passedArguments = passedArguments || queryArguments; 7800 context = element || context; 7801 if(typeof query == 'string' && object !== undefined) { 7802 query = query.split(/[\. ]/); 7803 maxDepth = query.length - 1; 7804 $.each(query, function(depth, value) { 7805 var camelCaseValue = (depth != maxDepth) 7806 ? value + query[depth + 1].charAt(0).toUpperCase() + query[depth + 1].slice(1) 7807 : query 7808 ; 7809 if( $.isPlainObject( object[camelCaseValue] ) && (depth != maxDepth) ) { 7810 object = object[camelCaseValue]; 7811 } 7812 else if( object[camelCaseValue] !== undefined ) { 7813 found = object[camelCaseValue]; 7814 return false; 7815 } 7816 else if( $.isPlainObject( object[value] ) && (depth != maxDepth) ) { 7817 object = object[value]; 7818 } 7819 else if( object[value] !== undefined ) { 7820 found = object[value]; 7821 return false; 7822 } 7823 else { 7824 return false; 7825 } 7826 }); 7827 } 7828 if ( $.isFunction( found ) ) { 7829 response = found.apply(context, passedArguments); 7830 } 7831 else if(found !== undefined) { 7832 response = found; 7833 } 7834 7835 if($.isArray(returnedValue)) { 7836 returnedValue.push(response); 7837 } 7838 else if(returnedValue !== undefined) { 7839 returnedValue = [returnedValue, response]; 7840 } 7841 else if(response !== undefined) { 7842 returnedValue = response; 7843 } 7844 return (found !== undefined) 7845 ? found 7846 : false 7847 ; 7848 } 7849 }; 7850 module.initialize(); 7851 }) 7852 ; 7853 return (returnedValue !== undefined) 7854 ? returnedValue 7855 : this 7856 ; 7857 }; 7858 7859 // Records if CSS transition is available 7860 $.fn.transition.exists = {}; 7861 7862 $.fn.transition.settings = { 7863 7864 // module info 7865 name : 'Transition', 7866 7867 // hide all output from this component regardless of other settings 7868 silent : false, 7869 7870 // debug content outputted to console 7871 debug : false, 7872 7873 // verbose debug output 7874 verbose : false, 7875 7876 // performance data output 7877 performance : true, 7878 7879 // event namespace 7880 namespace : 'transition', 7881 7882 // delay between animations in group 7883 interval : 0, 7884 7885 // whether group animations should be reversed 7886 reverse : 'auto', 7887 7888 // animation callback event 7889 onStart : function() {}, 7890 onComplete : function() {}, 7891 onShow : function() {}, 7892 onHide : function() {}, 7893 7894 // whether timeout should be used to ensure callback fires in cases animationend does not 7895 useFailSafe : true, 7896 7897 // delay in ms for fail safe 7898 failSafeDelay : 100, 7899 7900 // whether EXACT animation can occur twice in a row 7901 allowRepeats : false, 7902 7903 // Override final display type on visible 7904 displayType : false, 7905 7906 // animation duration 7907 animation : 'fade', 7908 duration : false, 7909 7910 // new animations will occur after previous ones 7911 queue : true, 7912 7913 metadata : { 7914 displayType: 'display' 7915 }, 7916 7917 className : { 7918 animating : 'animating', 7919 disabled : 'disabled', 7920 hidden : 'hidden', 7921 inward : 'in', 7922 loading : 'loading', 7923 looping : 'looping', 7924 outward : 'out', 7925 transition : 'transition', 7926 visible : 'visible' 7927 }, 7928 7929 // possible errors 7930 error: { 7931 noAnimation : 'Element is no longer attached to DOM. Unable to animate. Use silent setting to surpress this warning in production.', 7932 repeated : 'That animation is already occurring, cancelling repeated animation', 7933 method : 'The method you called is not defined', 7934 support : 'This browser does not support CSS animations' 7935 } 7936 7937 }; 7938 7939 7940 })( jQuery, window, document ); 7941 var DMS = DMS || {}; 7942 7943(function(global) { 7944 7945 /* ========================================================= 7946 7947 BoxHeightAlign 7948 heightãæ±ºããããªãããã©æ¨ªä¸¦ã³ã®ã¨ãã«ç¾ããé ç½®ããããã®å¦ç 7949 7950 ========================================================= */ 7951 var BoxHeightAlign = (function() { 7952 BoxHeightAlign.LAYOUT_CHANGE = "boxHeightLayoutChange"; 7953 BoxHeightAlign.LAYOUT_INIT = "boxHeightLayoutInit"; 7954 7955 function BoxHeightAlign(dom,options) { 7956 var that = this; 7957 this.dom = dom; 7958 this.alignItems = this.dom.find(".boxheight-align-item"); 7959 that._boxItems = []; 7960 this.dom.find(".boxheight-align-item").each(function(index, el) { 7961 that._boxItems.push(new BoxItem($(el),that)); 7962 }); 7963 this.prevAlignNum = undefined; 7964 var defaultOptions = { 7965 isAll:false 7966 } 7967 this.options = $.extend(defaultOptions, options); 7968 } 7969 7970 BoxHeightAlign.prototype.init = function() { 7971 var that = this; 7972 this.update(); 7973 this._checkImgLoad(this.update.bind(this)); 7974 }; 7975 7976 BoxHeightAlign.prototype._checkImgLoad = function(callback){ 7977 var that = this; 7978 var numImage = this.dom.find(".boxheight-align-item img").length; 7979 var count = 0; 7980 7981 if(numImage == 0){ 7982 $(that).trigger(BoxHeightAlign.LAYOUT_INIT); 7983 } 7984 7985 this.dom.find(".boxheight-align-item img").each(function(index, el) { 7986 var src = $(el).attr("src"); 7987 var image = new Image(); 7988 image.onload = function(){ 7989 checkComplete(); 7990 } 7991 image.onerror = function(){ 7992 checkComplete(); 7993 } 7994 image.src = src; 7995 }); 7996 7997 function checkComplete(){ 7998 count++; 7999 if(count == numImage){ 8000 $(that).trigger(BoxHeightAlign.LAYOUT_INIT); 8001 callback(); 8002 } 8003 } 8004 } 8005 8006 BoxHeightAlign.prototype.update = function() { 8007 var alignNum = this._getAlignNum(); 8008 if(this.prevAlignNum != alignNum){ 8009 $(this).trigger(BoxHeightAlign.LAYOUT_CHANGE,[alignNum]); 8010 8011 8012 } 8013 this.prevAlignNum = alignNum; 8014 8015 if(this.options.isAll){ 8016 alignNum = this.alignItems.length; 8017 } 8018 var boxSet = []; 8019 for (var i = 0; i < this._boxItems.length; i++) { 8020 var boxIndex = Math.floor(i/(alignNum)); 8021 if(!boxSet[boxIndex]){ 8022 boxSet[boxIndex] = []; 8023 } 8024 boxSet[boxIndex].push(this._boxItems[i]); 8025 } 8026 8027 for (var i = 0; i < boxSet.length; i++) { 8028 this._alignHeight(boxSet[i]); 8029 }; 8030 8031 } 8032 8033 BoxHeightAlign.prototype._getMaxHeight = function(heights){ 8034 var maxHeights = []; 8035 for (var i = 0; i < heights.length; i++) { 8036 maxHeights[i] = 0; 8037 } 8038 8039 for (var i = 0; i < heights.length; i++) { 8040 for (var j = 0; j < heights[i].length; j++) { 8041 maxHeights[j] = heights[i][j] > maxHeights[j] ? heights[i][j] : maxHeights[j]; 8042 } 8043 } 8044 return maxHeights; 8045 } 8046 8047 BoxHeightAlign.prototype._alignHeight = function(boxSet){ 8048 var heights = []; 8049 for (var i = 0; i < boxSet.length; i++) { 8050 var boxItem = boxSet[i]; 8051 boxItem.boxInit(); 8052 heights.push(boxItem.elementsHeight); 8053 } 8054 var maxHeights = this._getMaxHeight(heights); 8055 8056 for (var i = 0; i < boxSet.length; i++) { 8057 var boxItem = boxSet[i]; 8058 boxItem.update(maxHeights); 8059 8060 } 8061 } 8062 8063 BoxHeightAlign.prototype._resetHeight = function(boxSet){ 8064 var heights = []; 8065 for (var i = 0; i < boxSet.length; i++) { 8066 var boxItem = boxSet[i]; 8067 boxItem.update(undefined); 8068 } 8069 8070 } 8071 8072 BoxHeightAlign.prototype._getAlignNum = function() { 8073 var count = 0; 8074 var prevElementPos = undefined; 8075 this.alignItems.each(function(index, el) { 8076 if($(el).css("display").indexOf("none") <0){ 8077 if(prevElementPos !== undefined){ 8078 if($(el).offset().top != prevElementPos){ 8079 return false;
8080 } 8081 } 8082 count++; 8083 prevElementPos = $(el).offset().top; 8084 } 8085 }); 8086 return count; 8087 } 8088 8089 global.BoxHeightAlign = BoxHeightAlign; 8090 return BoxHeightAlign; 8091 }()); 8092 8093 8094 var BoxItem = (function() { 8095 8096 function BoxItem(dom,delegate) { 8097 var that = this; 8098 this.dom = dom; 8099 this.elements = []; 8100 this.elementsHeight = []; 8101 this.dom.find(".boxheight-align-item-element").each(function(index, el) { 8102 that.elements.push($(el)); 8103 }); 8104 8105 $(delegate).on(BoxHeightAlign.LAYOUT_CHANGE,function(e,numAlign){ 8106 8107 if(numAlign == 1){ 8108 that.isAlign = false; 8109 }else{ 8110 that.isAlign = true; 8111 } 8112 }); 8113 8114 8115 } 8116 8117 BoxItem.prototype.init = function() { 8118 var that = this; 8119 }; 8120 BoxItem.prototype.boxInit = function() { 8121 this._boxInit(); 8122 } 8123 BoxItem.prototype.update = function(maxHeights) { 8124 8125 if(this.elements.length == 0){ 8126 if(!this.isAlign){ 8127 this.dom.css('height','auto'); 8128 }else{ 8129 this.elementsHeight[0] = this.dom.height(maxHeights[0]); 8130 } 8131 8132 8133 return; 8134 } 8135 8136 for (var i = 0; i < this.elements.length; i++) { 8137 if(!this.isAlign){ 8138 this.elements[i].css('height','auto'); 8139 }else{ 8140 this.elements[i].height(maxHeights[i]); 8141 } 8142 8143 } 8144 } 8145 BoxItem.prototype._boxInit = function(){ 8146 this.elementsHeight = []; 8147 if(this.elements.length == 0){ 8148 this.dom.css('height','auto'); 8149 this.elementsHeight[0] = this.dom.height(); 8150 return; 8151 } 8152 for (var i = 0; i < this.elements.length; i++) { 8153 this.elements[i].css('height','auto'); 8154 this.elementsHeight[i] = this.elements[i].height(); 8155 } 8156 8157 }; 8158 8159 8160 global.BoxItem = BoxItem; 8161 8162 return BoxItem; 8163 }()); 8164 8165 8166 var boxAligns = []; 8167 8168 BoxHeightAlign.init = function(options){ 8169 var defaultOptions = { 8170 isAll:false 8171 } 8172 var initOption = $.extend(defaultOptions, options); 8173 8174 if($('.boxheight-align-item-container').length == 0) return; 8175 8176 $('.boxheight-align-item-container').each(function(index, el) { 8177 var boxalignItem = new BoxHeightAlign($(el),initOption); 8178 boxalignItem.init(); 8179 boxAligns.push(boxalignItem); 8180 }); 8181 } 8182 8183 BoxHeightAlign.update = function(){ 8184 if(boxAligns.length == 0) return; 8185 for (var i = 0; i < boxAligns.length; i++) { 8186 boxAligns[i].update(); 8187 } 8188 } 8189 8190}(DMS)); 8191 8192$(function () { 8193 $(".hover-button").hover(function(){ 8194 if($(this)[0].tagName == 'A' && $(this).attr('href') == undefined) return 8195 8196 $(this).addClass("hover-effect-on"); 8197 }, function(){ 8198 $(this).removeClass("hover-effect-on"); 8199 }); 8200}); 8201 8202var _mark_noimage_ary = []; 8203var _mark_noimage_flg = true; 8204function markNoimage(_this) { 8205 if (_mark_noimage_flg) { 8206 _mark_noimage_ary.push(_this); 8207 } 8208} 8209 8210var DMS = DMS || {}; 8211$(function (global) { 8212 8213 function setNoImage(_target, _img) { 8214 var sizeDetect = $("#size-detect").css("font-family").replace('"', "").replace("'", ""); 8215 var _size = "pc"; 8216 if (sizeDetect.indexOf("sp") >= 0) { 8217 _size = "sp"; 8218 } 8219 _target.attr({ 8220 src: _img, 8221 alt: 'no image' 8222 }).addClass("set-noimage-" + _size); 8223 } 8224 8225 function setNoImageEvent(_target_3_2, _target_1_1, _target_16_9, _target_4_1, _target_8_3,_target_2_3,_target_3_1) { 8226 var _dir_base = "/assets/a/"; 8227 if (!$("html").hasClass("theme-all")) { 8228 _dir_base = "assets/"; 8229 } 8230 8231 _target_3_2.on("error", () => { 8232 setNoImage($(this), _dir_base + 'images/common/noimage-3-2.png'); 8233 }); 8234 _target_1_1.on("error", () => { 8235 setNoImage($(this), _dir_base + 'images/common/noimage-1-1.png'); 8236 }); 8237 _target_16_9.on("error", () => { 8238 setNoImage($(this), _dir_base + 'images/common/noimage-16-9.png'); 8239 }); 8240 _target_4_1.on("error", () => { 8241 setNoImage($(this), _dir_base + 'images/common/noimage-4-1.png'); 8242 }); 8243 _target_8_3.on("error", () => { 8244 setNoImage($(this), _dir_base + 'images/common/noimage-8-3.png'); 8245 }); 8246 _target_2_3.on("error", () => { 8247 setNoImage($(this), _dir_base + 'images/common/noimage-8-3.png'); 8248 }); 8249 _target_3_1.on("error", () => { 8250 setNoImage($(this), _dir_base + 'images/common/noimage-8-3.png'); 8251 }); 8252 8253 8254 } 8255 8256 function checkAndSetNoImage(_target) { 8257 var _dir_base = "/assets/a/"; 8258 if (!$("html").hasClass("theme-all")) { 8259 _dir_base = "assets/"; 8260 } 8261 8262 if (_target.hasClass("auto-noimage-3-2")) { 8263 setNoImage(_target, _dir_base + 'images/common/noimage-3-2.png'); 8264 } else if (_target.hasClass("auto-noimage-1-1")) { 8265 setNoImage(_target, _dir_base + 'mages/common/noimage-1-1.png'); 8266 } else if (_target.hasClass("auto-noimage-16-9")) { 8267 setNoImage(_target, _dir_base + 'images/common/noimage-16-9.png'); 8268 } else if (_target.hasClass("auto-noimage-4-1")) { 8269 setNoImage(_target, _dir_base + 'images/common/noimage-4-1.png'); 8270 } else if (_target.hasClass("auto-noimage-8-3")) { 8271 setNoImage(_target, _dir_base + 'images/common/noimage-8-3.png'); 8272 } else if (_target.hasClass("auto-noimage-2-3")) { 8273 setNoImage(_target, _dir_base + 'images/common/noimage-8-3.png'); 8274 } else if (_target.hasClass("auto-noimage-3-1")) { 8275 setNoImage(_target, _dir_base + 'images/common/noimage-8-3.png'); 8276 } 8277 } 8278 8279 function checkImage(_target) { 8280 setNoImageEvent( 8281 $(_target).find('.auto-noimage-3-2'), 8282 $(_target).find('.auto-noimage-1-1'), 8283 $(_target).find('.auto-noimage-16-9'), 8284 $(_target).find('.auto-noimage-4-1'), 8285 $(_target).find('.auto-noimage-8-3'), 8286 $(_target).find('.auto-noimage-2-3'), 8287 $(_target).find('.auto-noimage-3-1') 8288 ); 8289 } 8290 8291 function replaceSrc(_o) { 8292 var _target = _o.target; 8293 var _dataname; 8294 var _dataaltname; 8295 if (_o.dataname) { 8296 _dataname = _o.dataname; 8297 _dataaltname = _o.dataname + "-alt"; 8298 } 8299 var _datasrc; 8300 var _dataalt; 8301 if (_o.datasrc) { 8302 _datasrc = _o.datasrc; 8303 _dataalt = ""; 8304 } 8305 8306 var _html = $(_target.prop('outerHTML')); 8307 var _dummy_png_flag = false;
8308 if (_dataname) { 8309 _html.attr("src", _html.data(_dataname)); 8310 _html.attr("alt", _html.data(_dataaltname)); 8311 if (_html.data(_dataname).indexOf("/dummy.png") >= 0) _dummy_png_flag = true; 8312 } else if (_datasrc) { 8313 _html.attr("src", _datasrc); 8314 _html.attr("alt", _dataalt); 8315 if (_datasrc.indexOf("/dummy.png") >= 0) _dummy_png_flag = true; 8316 } 8317 _target.replaceWith(_html); 8318 if (_html.hasClass("delayload")) { 8319 _html.fadeTo(0, 0).delay(200).fadeTo(300, 1); 8320 } 8321 if (_html.hasClass("none-dummy")) { 8322 if (_html.hasClass("none-dummy-parent")) { 8323 if (_dummy_png_flag) { 8324 _html.parent().hide(); 8325 } else { 8326 _html.parent().show(); 8327 } 8328 } else { 8329 if (_dummy_png_flag) { 8330 _html.hide(); 8331 } else { 8332 _html.show(); 8333 } 8334 } 8335 } 8336 _html.data("loaded", "true"); 8337 if (_html.hasClass("auto-noimage-3-2") || _html.hasClass("auto-noimage-1-1") || _html.hasClass("auto-noimage-16-9") || _html.hasClass("auto-noimage-4-1") || _html.hasClass("auto-noimage-8-3") || _html.hasClass("auto-noimage-2-3") || _html.hasClass("auto-noimage-3-1")) { 8338 DMS.checkImage(_html.parent()); 8339 } 8340 8341 } 8342 8343 8344 8345 (function (global) { 8346 global.checkImage = checkImage; 8347 }(DMS)); 8348 8349 $(function () { 8350 _mark_noimage_flg = false; 8351 for (var i = 0; i < _mark_noimage_ary.length; i++) { 8352 checkAndSetNoImage($(_mark_noimage_ary[i])); 8353 } 8354 setNoImageEvent( 8355 $('.auto-noimage-3-2'), 8356 $('.auto-noimage-1-1'), 8357 $('.auto-noimage-16-9'), 8358 $('.auto-noimage-4-1'), 8359 $('.auto-noimage-8-3'), 8360 $('.auto-noimage-2-3'), 8361 $('.auto-noimage-3-1') 8362 ); 8363 }); 8364 8365 8366 $(function () { 8367 8368 var sizeDetect; 8369 var breakSize; 8370 var _last_breakSize = "none"; 8371 var setSizeDetect = function () { 8372 8373 sizeDetect = $("#size-detect").css("font-family").replace('"', "").replace("'", ""); 8374 breakSize = "pc"; 8375 if (sizeDetect.indexOf("sp") >= 0) { 8376 breakSize = "sp"; 8377 } 8378 } 8379 var checkAndShow = function () { 8380 var _top = $(window).scrollTop(); 8381 var _height = $(window).height(); 8382 var _img_list = $("img.delayload"); 8383 for (var i = 0; i < _img_list.length; i++) { 8384 var _target = $(_img_list[i]); 8385 if (_target && _target.data("loaded") != "true") { 8386 var _my_top = _target.offset().top; 8387 var _my_height = _target.height(); 8388 8389 if (!_target.is(':hidden') && _top <= _my_top + _my_height && _my_top < _top + _height) { 8390 if (breakSize != "sp") { 8391 // pc , tab 8392 if (_target.data("pc")) { 8393 replaceSrc({ target: _target, dataname: "pc" }); 8394 _last_breakSize = breakSize; 8395 8396 } else { 8397 if (_target.data("delayload")) { 8398 replaceSrc({ target: _target, dataname: "delayload" }); 8399 _last_breakSize = breakSize; 8400 } else { 8401 // none 8402 if (_target.hasClass("check-empty-data")) { 8403 checkAndSetNoImage(_target); 8404 } else { 8405 if ($("html").hasClass("theme-all")) { 8406 replaceSrc({ target: _target, datasrc: "/assets/a/images/image-0001/dummy.png" }); 8407 } else { 8408 replaceSrc({ target: _target, datasrc: "assets/images/dummy.png" }); 8409 } 8410 } 8411 } 8412 } 8413 } else { 8414 // sp 8415 if (_target.data("sp")) { 8416 replaceSrc({ target: _target, dataname: "sp" }); 8417 _last_breakSize = breakSize; 8418 } else { 8419 if (_target.data("delayload")) { 8420 replaceSrc({ target: _target, dataname: "delayload" }); 8421 _last_breakSize = breakSize; 8422 } else { 8423 // none 8424 if (_target.data("pc")) { 8425 replaceSrc({ target: _target, dataname: "pc" }); 8426 } else { 8427 // none 8428 if (_target.hasClass("check-empty-data")) { 8429 checkAndSetNoImage(_target); 8430 } else { 8431 if ($("html").hasClass("theme-all")) { 8432 replaceSrc({ target: _target, datasrc: "/assets/a/images/image-0001/dummy.png" }); 8433 } else { 8434 replaceSrc({ target: _target, datasrc: "assets/images/dummy.png" }); 8435 } 8436 } 8437 } 8438 } 8439 } 8440 } 8441 } 8442 8443 } 8444 } 8445 } 8446 8447 setSizeDetect(); 8448 8449 8450 $(window).scroll(function () { 8451 checkAndShow(); 8452 }); 8453 $(window).resize(function () { 8454 setSizeDetect(); 8455 checkAndShow(); 8456 });
8457 $("#content").mouseup(function () { 8458 checkAndShow(); 8459 setTimeout(function () { 8460 checkAndShow(); 8461 }, 100); 8462 }); 8463 checkAndShow(); 8464 8465 global.checkDelayLoad = function (_target) { 8466 setSizeDetect(); 8467 checkAndShow(); 8468 } 8469 8470 8471 8472 var _last_breakSize2; 8473 var checkAndChangeImage = function (_target) { 8474 var _top = $(window).scrollTop(); 8475 var _height = $(window).height(); 8476 _target.data("loaded", "false"); 8477 if (_target) { 8478 if (breakSize != "sp") { 8479 // pc , tab 8480 if (_target.hasClass("delayload")) { 8481 // delayload function 8482 checkAndShow(); 8483 } else { 8484 // non delayload 8485 if (_target.data("pc")) { 8486 replaceSrc({ target: _target, dataname: "pc" }); 8487 } else { 8488 // none 8489 if (_target.hasClass("check-empty-data")) { 8490 checkAndSetNoImage(_target); 8491 } else { 8492 if ($("html").hasClass("theme-all")) { 8493 replaceSrc({ target: _target, datasrc: "/assets/a/images/image-0001/dummy.png" }); 8494 } else { 8495 replaceSrc({ target: _target, datasrc: "/assets/images/dummy.png" }); 8496 } 8497 } 8498 } 8499 } 8500 } else { 8501 // sp 8502 if (_target.hasClass("delayload")) { 8503 // delayload function 8504 checkAndShow(); 8505 } else { 8506 // non delayload 8507 if (_target.data("sp")) { 8508 replaceSrc({ target: _target, dataname: "sp" }); 8509 } else { 8510 // none 8511 if (_target.data("pc")) { 8512 replaceSrc({ target: _target, dataname: "pc" }); 8513 } else { 8514 // none 8515 if (_target.hasClass("check-empty-data")) { 8516 checkAndSetNoImage(_target); 8517 } else { 8518 if ($("html").hasClass("theme-all")) { 8519 replaceSrc({ target: _target, datasrc: "/assets/a/images/image-0001/dummy.png" }); 8520 } else { 8521 replaceSrc({ target: _target, datasrc: "/assets/images/dummy.png" }); 8522 } 8523 } 8524 } 8525 } 8526 } 8527 } 8528 } 8529 } 8530 8531 var _image_array = $("img.device-image"); 8532 var checkAllImage = function () { 8533 setSizeDetect(); 8534 if (_last_breakSize2 != breakSize) { 8535 _image_array = $("img.device-image"); 8536 for (var i = 0; i < _image_array.length; i++) { 8537 checkAndChangeImage($(_image_array[i])); 8538 } 8539 } 8540 _last_breakSize2 = breakSize; 8541 } 8542 if (_image_array.length > 0) { 8543 var _timeout_id; 8544 $(window).resize(function () { 8545 clearTimeout(_timeout_id); 8546 _timeout_id = setTimeout(function () { 8547 checkAllImage(); 8548 }, 50); 8549 }); 8550 } 8551 checkAllImage(); 8552 8553 }); 8554 8555 8556}(DMS)); 8557 8558 8559 8560var DMS = DMS || {}; 8561(function(global){ 8562 8563 var getQueryList = function(){ 8564 var _url = window.location.search.split("?"); 8565 if(_url.length > 1){ 8566 var _paras = _url[1].split("&"); 8567 var _ret = {}; 8568 for(var i=0;i<_paras.length;i++){ 8569 var _obj = _paras[i].split("="); 8570 if(_obj[0] && _obj[0].length >= 1){ 8571 _ret[_obj[0]] = _obj[1]; 8572 } 8573 } 8574 }else{ 8575 _ret = {}; 8576 } 8577 return _ret; 8578 } 8579 var getQuery = function(_key){ 8580 var _kv = getQueryList(); 8581 return _kv[_key]; 8582 } 8583 var getRegExpQuery = function(_regexp){ 8584 var _myregex = new RegExp(_regexp); 8585 var _kv = getQueryList(); 8586 var _obj_ary = []; 8587 for(var i in _kv){ 8588 if(i.match(_myregex)){ 8589 _obj_ary.push( {key:i, value:decodeURI(_kv[i])} ); 8590 } 8591 } 8592 return _obj_ary; 8593 } 8594 var setQuery = function(_key, _value){ 8595 var _kv = getQueryList(); 8596 _kv[_key] = _value; 8597 replaceURL(_kv); 8598 } 8599 var openQuery = function(_url , _key , _value, _target){ 8600 8601 } 8602 var removeQuery = function(_key){ 8603 var _kv = getQueryList(); 8604 delete _kv[_key]; 8605 replaceURL(_kv); 8606 } 8607 8608 var replaceURL = function(_kv){ 8609 var _url = "?"; 8610 if(_kv){ 8611 for(var i in _kv){ 8612 if(_url.length > 1) _url +="&"; 8613 _url += i+"="+_kv[i]; 8614 } 8615 history.replaceState(null,null,window.location.origin+window.location.pathname+_url); 8616 } 8617 } 8618 8619 8620 global.getQueryList = getQueryList; 8621 global.getQuery = getQuery; 8622 global.setQuery = setQuery; 8623 global.openQuery = openQuery; 8624 global.removeQuery = removeQuery; 8625 global.getRegExpQuery = getRegExpQuery; 8626 8627})(DMS); 8628var DMS = DMS || {}; 8629(function(global){ 8630 8631 var initModalImage = function(){ 8632 $(".modal-image").click(function(){ 8633 var _href = $(this).attr("src"); 8634 if(!_href){ 8635 var _href = $(this).find("img").attr("src"); 8636 } 8637 $.fancybox.open({ 8638 width:"100%", 8639 height:"100%", 8640 padding:1, 8641 margin:20, 8642 closeBtn:false, 8643 closeClick:true, 8644 wrapCSS:"fancybox-radius", 8645 href:_href 8646 }); 8647 $(".fancybox-radius").append("<div class='fancybox-radius-close'><img src='/assets/a/images/modalImage/icon-close.png'></div>"); 8648 $(".fancybox-radius .fancybox-radius-close").click(function(){ 8649 $.fancybox.close(); 8650 }); 8651 }); 8652 } 8653 initModalImage(); 8654 global.initModalImage = initModalImage 8655})(DMS); 8656 8657$(function () { 8658 $('.fancybox').fancybox(); 8659 DMS.initModalImage(); 8660}); 8661var DMS = DMS || {}; 8662$(function () { 8663 function setClick(_target) { 8664 _target.click(function () { 8665 var _element = $(this); 8666 var _para; 8667 var _myunit = _element.parents(".unit-wrapper"); 8668 var _para1 = _myunit.data("unitname"); 8669 var _para2; 8670 var _para_event_category; 8671 var _myid = _myunit.attr("id"); 8672 var _sep = ""; 8673 var _category = "dms"; 8674 if (_para1 == undefined) { 8675 _para1 = ""; 8676 _sep = ""; 8677 } else { 8678 _sep = ":"; 8679 _category = _para1; 8680 } 8681 _para1 = "id" + _para1; 8682 var _preview_flag = false;
8683 if (!_myid) { 8684 _myid = ""; 8685 } else { 8686 _category = _myid + "_" + _para1; 8687 _para1 = _myid + "_" + _para1; 8688 } 8689 /* ONETAG AA */ 8690 if (_element.hasClass("clicktag")) { 8691 _para = _element.data("clicktag"); 8692 if (!_para) _para = ""; 8693 if ((typeof sc).indexOf("undefined") < 0) { 8694 if ((typeof s_sc_cd).indexOf("undefined") < 0) { 8695 sc(_para1 + _sep + _para); 8696 } else { 8697 _preview_flag = true; 8698 console.log("preview click tag(sc -> s_sc_cd) " + _para1 + _sep + _para); 8699 } 8700 } else { 8701 _preview_flag = true; 8702 console.log("preview click tag(sc) " + _para1 + _sep + _para); 8703 } 8704 } 8705 if (_element.hasClass("asynctag")) { 8706 _para = _element.data("asynctag"); 8707 if (!_para) _para = ""; 8708 if ((typeof SCoutput_bc_aj).indexOf("undefined") < 0) { 8709 SCoutput_bc_aj(_para1 + _sep + _para); 8710 } else { 8711 _preview_flag = true; 8712 console.log("preview click tag(SCoutput_bc_aj) " + _para1 + _sep + _para); 8713 } 8714 } 8715 if (!_para) { 8716 _para = ""; 8717 } 8718 8719 /* GA */ 8720 if (_element.hasClass("clicktag")) { 8721 _para2 = _element.data("clicktagaction"); 8722 _para_event_category = _element.data("clicktagcategory"); 8723 } 8724 if (!_para2) { 8725 _para2 = "click"; 8726 } 8727 8728 if ((typeof gtag).indexOf("undefined") < 0) { 8729 if (_para) { 8730 gtag("event", _para2, { event_category: _para_event_category, event_label: _para }); 8731 } else { 8732 gtag("event", _para2, { event_category: _para_event_category }); 8733 } 8734 } 8735 8736 if($("body").hasClass("sim-content")){ 8737 if(_para){ 8738 console.log("preview click ga action="+_para2+" event_label="+_para+" event_category="+_para_event_category); 8739 }else{ 8740 console.log("preview click ga action="+_para2+" event_category="+_para_event_category); 8741 } 8742 } 8743 8744 }); 8745 } 8746 function gaSending() { 8747 if ((typeof gtag).indexOf("undefined") < 0) { 8748 var $ga_send = $("a[href^='tel:']"); 8749 $ga_send.on("click", function () { 8750 var $this = $(this); 8751 var $label = $this.attr("data-galabel"); 8752 if ($label) { 8753 gtag("event", "click", { event_category: "tel", event_label: $label, non_interaction: true }); 8754 } 8755 }); 8756 } 8757 } 8758 8759 function setGaLabel() { 8760 var _title = $("title").html(); 8761 $('a[href^="tel:"]').each(function () { 8762 if ($(this).hasClass("ga-page-title")) { 8763 var _galabel = $(this).data("galabel"); 8764 if (_galabel) { 8765 $(this).attr("data-galabel", _galabel + "(" + _title + ")"); 8766 $(this).removeClass("ga-page-title").addClass("ga-fin-page-title"); 8767 } 8768 } 8769 }); 8770 } 8771 8772 $(".clicktag,.asynctag").each(function () { 8773 setClick($(this)); 8774 }); 8775 setGaLabel(); 8776 gaSending(); 8777 8778 (function (global) { 8779 function setClickTagListener(_target) { 8780 $(_target).off("click"); 8781 setClick($(_target)); 8782 } 8783 global.setClickTagListener = setClickTagListener; 8784 })(DMS); 8785}); 8786var DMS = DMS || {}; 8787 8788(function(global) { 8789 8790 $(function(){ 8791 8792 function panelHeightAlign(_obj){ 8793 var _panels = $(_obj["base_class"]); 8794 var _target_panels = []; 8795 8796 // check column 8797 var _top = undefined; 8798 var _column = 0; 8799 var _column_check_flag = true; 8800 for(var i=0;i<_panels.length;i++){ 8801 var _panel = $(_panels[i]); 8802 if(_panel.css("display").indexOf("none") >= 0) continue; 8803 _target_panels.push(_panel); 8804 if(_column_check_flag){ 8805 if(_panel.position().top == _top){ 8806 _column++; 8807 }else if(_top == undefined){ 8808 _top = _panel.position().top; 8809 _column++; 8810 }else{ 8811 _column_check_flag = false; 8812 } 8813 } 8814 } 8815 // set height 8816 for(var i=0;i<_target_panels.length;i+=_column){ 8817 for(var k=0;k<_obj["sub_class"].length;k++){ 8818 var _max_height =0; 8819 for(var j=i;j<i+_column;j++){ 8820 var _panel = $(_target_panels[j]).find(_obj["sub_class"][k]); 8821 _panel.css("height","auto"); 8822 if(_max_height < _panel.height()) _max_height = _panel.height(); 8823 } 8824 for(var j=i;j<i+_column;j++){ 8825 var _panel = $(_target_panels[j]).find(_obj["sub_class"][k]); 8826 _panel.css("height",_max_height+1); // ("+1" is for IE) 8827 } 8828 } 8829 } 8830 } 8831 8832 global.panelHeightAlign = panelHeightAlign; 8833 }); 8834 8835 8836}(DMS)); 8837 8838$(function(){ 8839 8840 $("a.set-anchor-id").each(function(){ 8841 var _target_a = $(this); 8842 var _href = $(this).attr("href"); 8843 if(_href.substr(0,1) == "#"){ 8844 var _target_id = _href.substr(1); 8845 var _myunit = $(this).parents(".unit-wrapper"); 8846 var _myid = _myunit.attr("id"); 8847 _myunit.find(_href).each(function(){ 8848 $(this).attr("id" , _target_id+"_"+_myid); 8849 _target_a.attr("href", _href+"_"+_myid); 8850 }); 8851 } 8852 }); 8853 8854 function scrollAjust() { 8855 var _pathname = $(location).attr('pathname'); 8856 8857 $("a[href]").each(function(){ 8858 var $this = $(this); 8859 var _href = $this.attr("href"); 8860 8861 function getPathFromUrl(_url) { 8862 return _url.split(/[?#]/)[0]; 8863 } 8864 var _removeParmPathname = getPathFromUrl(_href); 8865 8866 //ãã¡ã¤ã³ä»¥ä¸ã®ãã¹ãã¼ã ãhrefã®ãã¹ãã¼ã ã¨åãã㤠8867 //hrefã«ï¼ãå«ã¾ãã¦ããå ´åãhrefã#以ä¸ã®æååã«ç½®æ 8868 if (_pathname === _removeParmPathname && _href.indexOf("#") != -1) { 8869 var _pathArry = _href.split("#"); 8870 var _ancId = "#" + _pathArry.slice(-1)[0]; 8871 $this.attr("href", _ancId); 8872 } 8873 }); 8874 8875 $('.conversion-0001 .conversion-0001-snav-item a[href^="#"] , a[href^="#"]').click(function() { 8876 var _sizeDetect = $('#size-detect').css('font-family'); 8877 var $head_pc = $(".conversion-0001 .conversion-0001-head"); 8878 var $head_sp = $(".conversion-0001 .conversion-0001-sp-head-menu"); 8879 var headHeight; 8880 8881 if (_sizeDetect != "sp") { 8882 headHeight = $head_pc.height(); 8883 } else { 8884 headHeight = $head_sp.height(); 8885 } 8886 var href = $(this).attr("href").split("?")[0]; 8887 var target = $(href == "#" || href == "" ? "html" : href); 8888 var position = target.offset().top; 8889 $("body,html").animate({ scrollTop: position - headHeight }, 200); 8890 return false;
8891 }); 8892} 8893 8894if ($(".conversion-0001").length > 0) { 8895 scrollAjust(); 8896}else{ 8897 $('a[href^="#"]').click(function(){ 8898 var href= $(this).attr("href").split("?")[0]; 8899 var target = $(href == "#" || href == "" ? "html" : href); 8900 var position = target.offset().top; 8901 $("body,html").animate({scrollTop:position}, 300, "swing"); 8902 return false; 8903 }); 8904} 8905 8906}); 8907 8908 8909var DMS = DMS || {}; 8910 8911(function(global) { 8912 8913 $(function(){ 8914 function setTabColor(_target){ 8915 var _tabdata = $(_target["target_color"]).data("tabcolor").split(" "); 8916 var _tabcolor = []; 8917 for(var i=0;i<_tabdata.length;i++){ 8918 if(_tabdata[i].length > 1){ 8919 _tabcolor.push(_tabdata[i]); 8920 } 8921 } 8922 var _bg_data = _tabcolor[0].split("-"); 8923 var _txt_data = _tabcolor[1].split("-"); 8924 var _bg_color = parseInt(_bg_data[_bg_data.length-1],10); 8925 var _txt_color = parseInt(_txt_data[_txt_data.length-1],10); 8926 8927 function setActive(_clicktarget){ 8928 var _ret; 8929 $(_target["target_tab"]).each(function(i){ 8930 if($(this).is(_clicktarget)){ 8931 $(this).removeClass("bg-color-"+_txt_color+" txt-color-"+_bg_color); 8932 $(this).addClass("bg-color-"+_bg_color+" txt-color-"+_txt_color); 8933 _ret = i; 8934 }else{ 8935 $(this).removeClass("bg-color-"+_bg_color+" txt-color-"+_txt_color); 8936 $(this).addClass("bg-color-"+_txt_color+" txt-color-"+_bg_color); 8937 } 8938 8939 }); 8940 if(_target["call"]){ 8941 _target["call"].call(window,_ret); 8942 } 8943 } 8944 $(_target["target_tab"]).click(function(){ 8945 setActive($(this)); 8946 }); 8947 setActive($(_target["target_tab"])[0]); 8948 } 8949 8950 global.setTabColor = setTabColor; 8951 }); 8952 8953 8954}(DMS)); 8955 8956 8957var DMS = DMS || {}; 8958 8959(function(global) { 8960 8961 $(function(){ 8962 8963 function overFlowText() { 8964 var overFlowTexts = $(document).find(".overflow--txt"); 8965 8966 if(overFlowTexts) { 8967 $(overFlowTexts).each(function(index, element) { 8968 var orgText = $(element).attr("data-orgtext"); 8969 8970 if(typeof(orgText) == "string") { 8971 var textNum = orgText.length; 8972 8973 if(textNum >= 50) { 8974 //ããã¹ãã50æåãè¶ ããã¨ãã®å¦ç 8975 orgText = orgText.substr(0, 47); 8976 $(element).text(orgText + "â¦"); 8977 $(element).css("visibility", "visible"); 8978 DMS.checkDelayLoad(); 8979 } 8980 } 8981 8982 }); 8983 } 8984 } 8985 8986 global.overFlowText = overFlowText; 8987 overFlowText(); 8988 }); 8989 8990}(DMS)); 8991 8992var DMS = DMS || {}; 8993 8994(function(global) { 8995 8996 global.customEvent = new Object(); 8997 global.customEvent.eventlist = {}; 8998 global.customEvent.INIT_UNIT = "init_unit"; 8999 global.customEvent.INIT_YOUTUBE = "init_youtube"; 9000 global.customEvent.INIT_TAB = "init_tab"; 9001 global.customEvent.addEventListner = function(_event, _function){ 9002 var _eventlist = global.customEvent.eventlist; 9003 if(!_eventlist[_event]){ 9004 _eventlist[_event] = []; 9005 } 9006 var _flag = false; 9007 for(var i=0;i<_eventlist[_event].length;i++){ 9008 if(_eventlist[_event][i] === _function){ 9009 _flag = true; 9010 break; 9011 } 9012 } 9013 if(!_flag){ 9014 _eventlist[_event].push(_function); 9015 } 9016 } 9017 global.customEvent.dispatchEvent = function(_event){ 9018console.log("dispatchEvent "+_event); 9019 var _eventlist = global.customEvent.eventlist; 9020 if(_eventlist[_event]){ 9021 for(var i=0;i<_eventlist[_event].length;i++){ 9022 _eventlist[_event][i].call(); 9023 } 9024 } 9025 } 9026 9027}(DMS)); 9028 9029$(function() { 9030 var removeLinks = $("a"); 9031 9032 removeLinks.each(function(index, element) { 9033 removeLink($(element)); 9034 }); 9035 function removeLink(elm) { 9036 if(elm.attr('href') == '') { 9037 elm.removeAttr('href'); 9038 } 9039 } 9040});var DMS = DMS || {}; 9041DMS.youtube_ready_flg = false; 9042function onYouTubeIframeAPIReady() { 9043 if(!DMS.youtube_ready_flg ){ 9044 clearInterval(DMS.youtube_check_id); 9045 DMS.youtube_ready_flg = true; 9046console.log("youtube init (normal event type)"); 9047 DMS.customEvent.dispatchEvent(DMS.customEvent.INIT_YOUTUBE); 9048 } 9049} 9050 9051DMS.youtube_check_count = 0; 9052DMS.youtube_check_id = setInterval(function(){ 9053 if(DMS.youtube_ready_flg == true){ 9054 clearInterval(DMS.youtube_check_id); 9055 }else{ 9056 if(DMS.youtube_check_count > 10){ 9057 if(window.YT && window.YT.loaded == 1){ 9058console.log("youtube init (time check type)"); 9059 DMS.youtube_ready_flg = true; 9060 DMS.customEvent.dispatchEvent(DMS.customEvent.INIT_YOUTUBE); 9061 clearInterval(DMS.youtube_check_id); 9062 } 9063 } 9064 DMS.youtube_check_count++; 9065 } 9066},100); 9067 9068$( function() { 9069 var tag = document.createElement('script'); 9070 tag.src = "https://www.youtube.com/iframe_api"; 9071 var firstScriptTag = document.getElementsByTagName('script')[0]; 9072 firstScriptTag.parentNode.insertBefore(tag, firstScriptTag); 9073 9074}); 9075$( function() { 9076 var _default_arrow_file = "/assets/a/images/solo-button/returnTopButton.png"; 9077 var _arrow_file = _default_arrow_file; 9078 9079 var display_flg = true; 9080 if($("body").data("backtotop") && $("body").data("backtotopfile")){ 9081 var _bt_data = $("body").data("backtotop").split(":"); 9082 var _bt_file = $("body").data("backtotopfile").split(":"); 9083 9084 if(!_bt_data[0]){ /* ãã¼ã¸æªè¨å® */ 9085 if(!_bt_data[1]){ /* ãµã¤ãæªè¨å® */ 9086 // é表示 9087 display_flg = true; 9088 }else{ 9089 if(_bt_data[1] == 1){ 9090 // ããã©ã«ãç»å 9091 9092 }else if(_bt_data[1] == 2){ /* ãµã¤ãæå®ãªãªã¸ãã«ç»åè¨å® */ 9093 if(_bt_file[1]){ /* ãã¡ã¤ã«ãã */ 9094 // ãµã¤ãæå®ãªãªã¸ãã«ç»å 9095 _arrow_file = _bt_file[1]; 9096 }else{ 9097 // é表示 9098 display_flg = false;
9099 } 9100 }else { 9101 // é表示 9102 display_flg = false; 9103 } 9104 } 9105 }else{ 9106 /* ãã¼ã¸è¨å® */ 9107 if(_bt_data[0] == 1){ /* ããã©ã«ãç»å */ 9108 // ããã©ã«ãç»å 9109 }else if(_bt_data[0] == 2){ /* ãã¼ã¸æå®ãªãªã¸ãã«ç»åè¨å® */ 9110 if(_bt_file[0]){ /* ãã¡ã¤ã«ãã */ 9111 // ãã¼ã¸æå®ãªãªã¸ãã«ç»å 9112 _arrow_file = _bt_file[0] 9113 }else{ 9114 // é表示 9115 display_flg = false; 9116 } 9117 }else if(_bt_data[0] == 3){ /* ãµã¤ãåºæ¬æ å ±ã«åããã */ 9118 if(_bt_data[1] == 1){ 9119 // ããã©ã«ãç»å 9120 }else if(_bt_data[1] == 2){ /* ãµã¤ãæå®ãªãªã¸ãã«ç»åè¨å® */ 9121 if(_bt_file[1]){ /* ãã¡ã¤ã«ãã */ 9122 // ãµã¤ãæå®ãªãªã¸ãã«ç»å 9123 _arrow_file = _bt_file[1]; 9124 }else{ 9125 // é表示 9126 display_flg = false; 9127 } 9128 }else { 9129 // é表示 9130 display_flg = false; 9131 } 9132 }else{ 9133 // é表示 9134 display_flg = false; 9135 } 9136 } 9137 } 9138 9139 9140 function checkAndAnimation(){ 9141 var _st = $(window).scrollTop(); 9142 if(_st <= 0){ 9143 if($(".return-top-button").hasClass("show-button")){ 9144 $(".return-top-button").removeClass("show-button").stop(false,true).fadeTo(300,0, function(){ 9145 $(this).hide(); 9146 }); 9147 }else{ 9148 $(".return-top-button").hide(); 9149 } 9150 }else{ 9151 if(!$(".return-top-button").hasClass("show-button")){ 9152 $(".return-top-button").addClass("show-button").stop(false,true).fadeTo(0,0).show().fadeTo(300,1); 9153 } 9154 } 9155 9156 } 9157 9158 function checkPosition(){ 9159 var _p = $("footer").position(); 9160 if(!_p){ 9161 var _content_obj = $("#content").position(); 9162 var _content_h = $("#content").height(); 9163 _p = {top:_content_obj.top + _content_h, left:0}; 9164 } 9165 9166 var _wh = window.innerHeight; //$(window).height(); 9167 var _st = $(window).scrollTop(); 9168 9169 /* 9170 console.log(_p); 9171 console.log(_wh) 9172 console.log(_st); 9173 */ 9174 9175 var _cvo = $(".conversion-wrapper").offset(); 9176 var _cvp = $(".conversion-wrapper").position(); 9177 var _cvo2 = $(".conversion-wrapper .conversion-0002").offset(); 9178 var _cvp2 = $(".conversion-wrapper .conversion-0002").position(); 9179 var _cvw = $(".conversion-wrapper .button-list").width(); 9180 var _cvh = $(".conversion-wrapper .button-list").height(); 9181 var _cvbo = $(".conversion-wrapper .button-list .button-wrapper").offset(); 9182 $(".conversion-wrapper .button-list .button-wrapper").each(function(n,_el){ 9183 if($(_el).is(":visible")){ 9184 _cvbo = $(_el).offset(); 9185 return false; 9186 } 9187 }); 9188 var _cvbp = $(".conversion-wrapper .button-list .button-wrapper").position(); 9189 9190 9191 _cvp = _cvp2; 9192 if($(".conversion-wrapper").hasClass("conversion-pos-side")){ 9193 $(".return-top-button img").css("bottom","0px"); 9194 if(_wh+_st > _p.top){ 9195 $(".return-top-button").removeClass("return-top-button-fixed"); 9196 $(".return-top-button img").css("left","auto").css("right","10px"); 9197 if($(".conversion-0002").length > 0){ 9198 var limit_margin = ($(window).height() - (_cvp2.top + _cvh)); 9199 var _footer_h2 = _st + _wh - ($("#content").position().top+ $("#content").height()); 9200 if(limit_margin - _footer_h2 < 49){ 9201 $(".return-top-button img").css("right",($(".conversion-wrapper .button-list").width() + 2) +"px"); 9202 }else{ 9203 $(".return-top-button img").css("right","10px"); 9204 } 9205 } 9206 }else{ 9207 $(".return-top-button").addClass("return-top-button-fixed"); 9208 if($(".conversion-0002").length > 0){ 9209 var limit_margin = ($(window).height() - (_cvp2.top + _cvh)); 9210 if(limit_margin < (10+49)){ 9211 $(".return-top-button img").css("right",($(".conversion-wrapper .button-list").width() + 2) +"px"); 9212 }else{ 9213 $(".return-top-button img").css("right","10px"); 9214 } 9215 } 9216 } 9217 }else{ 9218 if(_wh+_st > _p.top){ 9219 $(".return-top-button").removeClass("return-top-button-fixed"); 9220 $(".return-top-button img").css("left","auto").css("right","10px"); 9221 if($(".conversion-0002").length > 0){ 9222 var limit_margin = $(window).width() - _cvbo.left - _cvw; 9223 if(limit_margin < (10+49)){ 9224 $(".return-top-button img").css("bottom",($(".conversion-wrapper .button-list").height() + 2) +"px"); 9225 }else{ 9226 $(".return-top-button img").css("bottom","0px"); 9227 } 9228 } 9229 }else{ 9230 $(".return-top-button").addClass("return-top-button-fixed"); 9231 if($(".conversion-0002").length > 0){ 9232 var limit_margin = $(window).width() - _cvbo.left - _cvw; 9233 if(limit_margin < (10+49)){ 9234 $(".return-top-button img").css("bottom",($(".conversion-wrapper .button-list").height() + 2) +"px"); 9235 }else{ 9236 $(".return-top-button img").css("bottom","0px"); 9237 } 9238 } 9239 } 9240 } 9241 } 9242 9243 9244 if($(".unit-base[data-mode='iframe']").length){ 9245 display_flg = false;
9246 } 9247 9248 if(display_flg){ 9249 $(".return-top-button").click(function(){ 9250 $('body, html').animate({ scrollTop: 0 }, 300); 9251 }); 9252 9253 $(".return-top-button img").attr("src", _arrow_file); 9254 9255 9256 $(window).scroll(function(){ 9257 checkAndAnimation(); 9258 checkPosition(); 9259 }); 9260 $(window).resize(function(){ 9261 checkAndAnimation(); 9262 checkPosition(); 9263 }); 9264 9265 var _check_id = setInterval(function(){ 9266 9267 if($(".conversion-wrapper").width() > 0){ 9268 $(".return-top-button").show(); 9269 clearInterval(_check_id); 9270 checkAndAnimation(); 9271 checkPosition(); 9272 } 9273 },30); 9274 }else{ 9275 $(".return-top-button").hide(); 9276 } 9277 9278 9279 9280}); 9281var DMS = DMS || {}; 9282$(function(global){ 9283 9284 var onlineRsvUi = function(_data, _el, _obj){ 9285 /* 9286 _data - ãã³ãã¬ã¼ã颿°getReservedCarList()ã®æ»ããå ¨ã¦JSONåãããã¼ã¿ 9287 _el - ã«ã¬ã³ãã¼UIãæ¿å ¥ãã¦ã»ããã¨ã¬ã¡ã³ã 9288 _obj - ã«ã¬ã³ãã¼UIã«ãã£ã¦æ¥æã¨æéãè¨å®ãããå ´åã«ããã®ãªãã¸ã§ã¯ãå 颿°ã使ã£ã¦ãå¹´æã¨æåãè¨å®ããã 9289 9290 _obj.setDate(dateString) 9291 æ¥æã6æ¡ã§è¨å®ããã 9292 ä¾ï¼setDate("20200103") 2003å¹´1æ3æ¥ã®å ´å 9293 9294 _obj.setTime(timeString) 9295 æéãï¼æ¡ã§è¨å®ããã 9296 ä¾ï¼setTime("1030") ï¼ï¼æï¼ï¼åã®å ´å 9297 9298 _obj.defaultData.date 9299 確èªç»é¢ããå ¥åç»é¢ã«æ»ã£ã¦ããå ´åãªã©ã®ä»¥åã®è¨å®å¤ãæ ¼ç´ã 9300 å¤ãå ¥ã£ã¦ããå ´åã¯ãããåæé¸æç¶æ ã¨ããã 9301 9302 _obj.defaultData.time 9303 確èªç»é¢ããå ¥åç»é¢ã«æ»ã£ã¦ããå ´åãªã©ã®ä»¥åã®è¨å®å¤ãæ ¼ç´ã 9304 å¤ãå ¥ã£ã¦ããå ´åã¯ãããåæé¸æç¶æ ã¨ããã 9305 9306 _obj.image_path 9307 è»ç¨®ç»åã®ãã¹ãæ ¼ç´ã試ä¹è»å±ç¤ºè»ã¦ããããããã©ã¡ã¼ã¿ã§æ¸¡ãããç©ããã®ã¾ã¾å ¥ã£ã¦ããã 9308 */ 9309 9310 9311 function init() { 9312 generateWrapperHtml(); 9313 loadOnlineRsv(_data,_obj); 9314 } 9315 init(); 9316 9317 9318 function generateWrapperHtml(){ 9319 var wrapperHtml = ''; 9320 wrapperHtml += '<div id="reserved-car-list" class="reserved-car-list clearfix">'; 9321 wrapperHtml += '<div id="l-wrapper" class="l-wrapper clearfix"></div>'; 9322 wrapperHtml += '<div id="r-wrapper" class="r-wrapper"><div id="reservation" class="reservation"></div></div>'; 9323 wrapperHtml += '</div>'; 9324 _el.append(wrapperHtml) 9325 } 9326 9327 9328 //////////////////// 9329 //htmlçæç¨jsonãã¼ã¿ 9330 //////////////////// 9331 9332 function loadOnlineRsv(_data,_obj) { 9333 // åãããã¯ã«å¿ è¦ãªæ å ± 9334 9335 9336 // var carInfo = _data["car_info"]; 9337 // noraå¤å®ã渡ãè»ç¨®æ å ±ãåãæ¿ãã 9338 var carInfo; 9339 if(document.URL.match("outmst=1")){ 9340 carInfo = _data["outmst"]; 9341 }else { 9342 carInfo = _data["car_info"]; 9343 } 9344 9345 9346 var shopInfo = _data["shop_info"]; 9347 var reserve_list = _data["reserve_list"]; 9348 9349 9350 9351 9352 l_wrap_innerHtml(carInfo, shopInfo); 9353 r_wrap_innerHtml(reserve_list); 9354 checkAvailableDates(); 9355 9356 setDefaultData(_obj); 9357 9358 displayPeriodSwitching(); 9359 calendarSetDisable(); 9360 switchCalendar(); 9361 getCalendarCurrentDay(); 9362 periodCalendarDisplay(); 9363 addCurrentClass(); 9364 switchPcReserveList(); 9365 switchSpReserveList(); 9366 spCalendarModal(); 9367 selectReserveTime(); 9368 addHolidayClass(); 9369 9370 } 9371 9372 function l_wrap_innerHtml(carInfo, shopInfo) { 9373 9374 var c2bg_num = $(".form-0001 .form-cmn-process .form-cmn-process__container").data("active"); 9375 var c2bgClass="key-color-2-bg-" + c2bg_num; 9376 var c2txtClass = $(".form-0001 .form-cmn-process .form-cmn-process__container").data("active-text"); 9377 9378 var infoWrapHtml = ''; 9379 // var car_pic_path = _obj.image_path; 9380 var car_pic_path = _obj.image_path; 9381 9382 9383 // var CAR_NAME = carInfo["CAR_NAME"] ? carInfo["CAR_NAME"] : "-"; 9384 // var CAR_GRADE_NAME = carInfo["CAR_GRADE_NAME"] ? carInfo["CAR_GRADE_NAME"] : "-"; 9385 // noraå¤å®ã渡ãè»ç¨®æ å ±ãåãæ¿ãã 9386 var CAR_NAME; 9387 var CAR_GRADE_NAME; 9388 var backToSelectCarUrlPath; 9389 if (document.URL.match("outmst=1")) { 9390 CAR_NAME = carInfo["car_name"] ? carInfo["car_name"] : "-";
9391 CAR_GRADE_NAME = carInfo["grade_name"] ? carInfo["grade_name"] : "-"; 9392 backToSelectCarUrlPath = "onlinersvoutmstlist" 9393 } else { 9394 CAR_NAME = carInfo["CAR_NAME"] ? carInfo["CAR_NAME"] : "-"; 9395 CAR_GRADE_NAME = carInfo["CAR_GRADE_NAME"] ? carInfo["CAR_GRADE_NAME"] : "-"; 9396 backToSelectCarUrlPath = "onlinersvlist" 9397 } 9398 var shopName = shopInfo["shop_name"] ? shopInfo["shop_name"] : "-"; 9399 var shopTel = shopInfo["shop_tel"] && shopInfo["shop_tel"][0]["tel_num"] != null ? shopInfo["shop_tel"][0]["tel_num"] : "-"; 9400 9401 //info_wrap 9402 infoWrapHtml += '<div class="info_wrap clearfix">'; 9403 infoWrapHtml += '<div class="car_info clearfix">'; 9404 infoWrapHtml += '<div class="car_info__pic">'; 9405 infoWrapHtml += '<img src="' + car_pic_path + '" alt=""></div>'; 9406 infoWrapHtml += '<div class="car_info_txt">'; 9407 infoWrapHtml += '<div class="car_info_txt__name">' + CAR_NAME + '</div>'; 9408 infoWrapHtml += '<div class="car_info_txt__detail">' + CAR_GRADE_NAME + '</div>'; 9409 infoWrapHtml += '<div class="car_info_txt__btn '+c2txtClass+' '+c2bgClass+'"><a href="/form/'+backToSelectCarUrlPath+'">è»ç¨®é¸æã«æ»ã</a></div></div></div>'; 9410 infoWrapHtml += '<div class="shop_info clearfix">'; 9411 infoWrapHtml += '<p class="shop_info__name">' + shopName + '</p>'; 9412 infoWrapHtml += '<p class="shop_info__tel"><a href="tel:' + shopTel + '">' + shopTel + '</a></p>'; 9413 infoWrapHtml += '</div></div></div><!-- /.info_wrap -->'; 9414 9415 // calendar_wrap 9416 infoWrapHtml += '<div id="calendar-modal-overlay"></div>'; 9417 infoWrapHtml += '<div id="calendar_wrap" class="calendar_wrap">'; 9418 infoWrapHtml += '<div id="sp_modal_close" class="sp_modal_close"><img src="/assets/a/images/form-online-rsv/modal_close.png" alt=""></div>'; 9419 infoWrapHtml += '<div class="calender_inner">'; 9420 infoWrapHtml += '<div id="calendar" class="calendar"><!-- ã«ã¬ã³ãã¼æ¿å ¥ä½ç½® --></div>'; 9421 infoWrapHtml += '<div class="btn_wrap">'; 9422 infoWrapHtml += '<div class="btn btn_prev_month"><a href="#"></a></div>'; 9423 infoWrapHtml += '<div class="btn btn_next_month"><a href="#"></a></div>'; 9424 infoWrapHtml += '</div></div><!-- /.calender_inner -->'; 9425 infoWrapHtml += '</div><!-- /.calendar_wrap -->'; 9426 9427 $("#l-wrapper").append(infoWrapHtml); 9428 9429 setCalendar(); 9430 9431 } 9432 9433 9434 function r_wrap_innerHtml(reserve_list) { 9435 //è²è¨å®ç¨æ å ±åå¾ 9436 var c2bg_num = $(".form-0001 .form-cmn-process .form-cmn-process__container").data("active"); 9437 var c2bgClass="key-color-2-bg-" + c2bg_num; 9438 9439 //////////////////////////////// 9440 // reservation_title_wrapç¨HTML 9441 var titleWrapHtml = ''; 9442 9443 titleWrapHtml += '<div class="reservation_title_wrap">'; 9444 titleWrapHtml += '<div class="reservation_title_inner clearfix">'; 9445 titleWrapHtml += '<div class="reservation_title_inner__text clearfix">'; 9446 titleWrapHtml += '<div class="copy">äºç´ãããæéãã¯ãªãã¯ãã¦ãã ãã</div><div class="copy_sp"><span>äºç´ãããæéãã¿ãããã¦ãã ãã</span></div>'; 9447 titleWrapHtml += '<div class="period_display_sp"><span class="first_year"></span>å¹´<span class="first_month"></span>æ<span class="first_day"></span>æ¥ã<span class="last_year"></span>å¹´<span class="last_month"></span>æ<span class="last_day"></span>æ¥<a href="#" class="icon_calendar"><img src="/assets/a/images/form-online-rsv/icon_calendar.png" alt=""></a></div>'; 9448 titleWrapHtml += '<div class="description"><span class="tip ' + c2bgClass + '"></span>äºç´å¯è½ãªè©¦ä¹éå§æé</div></div>'; 9449 9450 // 2404 æ³¨ææ¸ãã®è¿½å 9451 titleWrapHtml += '<p class="note">â»ç´è¿ã®WEBäºç´å¯è½ãªæ¥ãã表示ãã¦ãã¾ã</p>'; 9452 9453 //period_display_wrap 9454 titleWrapHtml += '<div class="period_display_wrap clearfix">'; 9455 titleWrapHtml += '<div class="prev"><a href="#"></a></div>'; 9456 titleWrapHtml += '<div class="day">'; 9457 titleWrapHtml += '<span class="first_year"></span>å¹´<span class="first_month"></span>æ<span class="first_day"></span>æ¥ã<span class="last_year"></span>å¹´<span class="last_month"></span>æ<span class="last_day"></span>æ¥</div>'; 9458 titleWrapHtml += '<div class="next"><a href="#"></a></div></div>'; 9459 titleWrapHtml += '</div></div>'; 9460 9461 $("#reservation").append(titleWrapHtml); 9462 9463
9464 //////////////////////////////// 9465 // reserve_wrapç¨HTML 9466 var reserveWrapHtml = ''; 9467 9468 reserveWrapHtml += '<div class="reserve_wrap">'; 9469 reserveWrapHtml += '<div class="reserve_inner clearfix">'; 9470 9471 ///////////////// 9472 // æé軸ã®çæ // 9473 ///////////////// 9474 9475 //äºç´æéã®ãããã¯æå¤§æ°åå¾ 9476 var day_arr = Object.keys(reserve_list); 9477 var len = day_arr.length; 9478 var time_array = []; 9479 for (var i = 0; i < len; i++) { 9480 var _day_time = Object.keys(reserve_list[day_arr[i]]); 9481 time_array.push(_day_time); 9482 } 9483 var time_axis_array = []; 9484 var _pushFlg = true; 9485 for (var j = 0; j < time_array.length; j++) { 9486 if (_pushFlg && time_array[j].length >= 1) { 9487 time_axis_array = time_array[j]; 9488 _pushFlg = false; 9489 } 9490 } 9491 9492 reserveWrapHtml += '<div class="time_axis">'; 9493 reserveWrapHtml += '<div class="time_block blank prev_btn"><a href="#"></a></div>'; 9494 9495 for (var k = 0; k < time_axis_array.length; k++) { 9496 if (k % 2 === 0) { 9497 reserveWrapHtml += '<div class="time_block"><span class="time">' + time_axis_array[k] + '</span></div>'; 9498 } else { 9499 // html_1 += '<div class="time_block"><span class="time"></span></div>'; 9500 } 9501 } 9502 reserveWrapHtml += '</div>'; 9503 9504 9505 ///////////////////// 9506 // äºç´ãªã¹ãã®çæ // 9507 ///////////////////// 9508 9509 // reserve-day_wrap 9510 reserveWrapHtml += '<div class="reserve-day_wrap clearfix">'; 9511 9512 Object.keys(reserve_list).forEach(function (date, idx) { 9513 9514 var list_num = idx + 1; 9515 // console.log(list_num) 9516 var time_length = Object.keys(reserve_list[date]).length; 9517 // console.log(time_length) 9518 9519 var _day_array = date.split("-"); //ä¾ï¼['2025','01','31'] 9520 var _day = _day_array[_day_array.length - 1]; 9521 var display_day = Number(_day); 9522 // ææ¥åå¾ 9523 var _date = new Date(date); 9524 var weekday_list = ['æ¥', 'æ', 'ç«', 'æ°´', 'æ¨', 'é', 'å']; 9525 var weekday_list_en = ['sun', 'mon', 'tue', 'wed', 'thu', 'fri', 'sat']; 9526 var weekday = weekday_list[_date.getDay()]; 9527 var weekday_en = weekday_list_en[_date.getDay()]; 9528 var holiday_class = time_length == 0 ? "is-holiday" : ""; 9529 9530 9531 9532 //////////////////////////////////////// 9533 // ãªã¹ãã彿å«ã4ãæå表示ããçºã®å¦ç 9534 //////////////////////////////////////// 9535 var _today = new Date(); //仿¥ 9536 // var _today = new Date(2025, 9, 31); //ä¸å ·åçºçæã®æ¥ä»ãè¨å® 9537 9538 var _thisMonth = _today.getMonth() + 1; //彿¥ã®æ 9539 var _thisYear = _today.getFullYear(); //彿¥ã®å¹´ 9540 9541 var _list_year = _day_array[0]; //åå¾ãããªã¹ãã®å¹´ãåå¾ 9542 var _list_month = _day_array[1]; //åå¾ãããªã¹ãã®æãåå¾ 9543 var _list_yearMonth = Number(_list_year + _list_month); //åå¾ãããªã¹ãã®å¹´ã¨æãé£çµ ä¾ï¼202501 9544 9545 var _list_last_year = _thisYear; //彿å«ã4ã«æç®ã®å¹´ã¯å½æ¥ã®å¹´ã¨ããå¹´ãã¾ããå ´åã¯ãã©ã¹ï¼ããå¦çã«æµãã 9546 var _list_last_month = _thisMonth + 3; //彿å«ã4ã«æç®ã®æï¼æå¾ã«è¡¨ç¤ºããæï¼ æ°å¤ 9547 9548 if(_list_last_month > 12){ //ä¸è¨å¦çã§æã12以ä¸ã ã£ãã1æï½ã¸æ¯ããªãããå¹´ãã¾ããã®ã§å¹´ã«ãã©ã¹ï¼ 9549 _list_last_month = _list_last_month - 12; 9550 _list_last_year = _thisYear + 1; 9551 } 9552 9553 /* 9554 å¹´ãæã®æ°å¤ãæååã¸å¤æãã¦æãã¼ãããã£ã³ã°ãã¦æååãé£çµå¾ã«æ°å¤ã¸å¤æãã 9555 2025 + 01 â 202501ã¸é£çµãparseIntã§æ°å¤ã¸å¤æ 9556 */ 9557 var _list_last_yearMonth = parseInt(_list_last_year.toString() + String(_list_last_month).padStart(2, '0')); 9558 9559 if(_list_last_yearMonth >= _list_yearMonth){ 9560 //reserve-day__title 9561 reserveWrapHtml += '<div class="reserve-day__list ' + holiday_class + ' " data-reserve-date="' + date + '">'; 9562 9563 reserveWrapHtml += '<div class="reserve-day__title">'; 9564 reserveWrapHtml += '<div class="day '+weekday_en+'">' + display_day + '(' + weekday + ')</div>'; 9565 if (time_length == 0) { 9566 reserveWrapHtml += '<div class="txt_holiday">
9566å®ä¼æ¥</div>'; 9567 } 9568 reserveWrapHtml += '</div>'; 9569 9570 9571 9572 //////////////////////////////////////////////// 9573 //////æ¥ä»ã®æéãªã¹ãçæ 9574 //////////////////////////////////////////////// 9575 9576 //ä¼ã¿ã®æ¥ã«ç©ºã®ãããã¯ãå ¥ãã 9577 if (time_length == 0) { 9578 for (var j = 0; j < time_axis_array.length; j++) { 9579 // console.log(j) 9580 if (j % 2 === 0) { 9581 reserveWrapHtml += '<div class="reserve-time__block">'; 9582 } 9583 reserveWrapHtml += '<div class="reserve-time__item" data-time=""></div>'; 9584 if (j % 2 === 1 || j === time_axis_array.length - 1) { 9585 reserveWrapHtml += '</div>'; 9586 } 9587 } 9588 } 9589 9590 9591 var n = 0; 9592 var hopedate = date.replace(/-/g, ""); 9593 // console.log(hopedate) 9594 Object.keys(reserve_list[date]).forEach(function (time, index) { 9595 var data_time = time.replace(":", "") + "00"; 9596 var time_len = index + 1; 9597 9598 var _status = "full"; 9599 var _bgClass = ""; 9600 if (reserve_list[date][time] == 1) { 9601 _status = "empty"; 9602 _bgClass = c2bgClass; 9603 } 9604 if (n % 2 === 0) { 9605 reserveWrapHtml += '<div class="reserve-time__block">'; 9606 } 9607 9608 reserveWrapHtml += '<div class="reserve-time__item ' + _status + ' '+_bgClass+' key-color-2-text-'+c2bg_num+' icon-color-'+c2bg_num+'" data-hopedate="' + hopedate + '" data-hopetime="' + data_time + '"></div>'; 9609 if (n % 2 === 1 || time_len == time_axis_array.length) { 9610 reserveWrapHtml += '</div>'; 9611 } 9612 n++; 9613 // console.log(n) 9614 }); 9615 reserveWrapHtml += '</div>'; 9616 }ã//5ã«æç®ã®ãªã¹ãã¯htmlçæããªãå¦çã®çµäº 9617 }); 9618 9619 reserveWrapHtml += '</div>'; 9620 9621 9622 //SPç¨ç©ºã®æé軸 9623 reserveWrapHtml += '<div class="time_axis sp">'; 9624 reserveWrapHtml += '<div class="time_block blank next_btn"><a href="#"></a></div>'; 9625 9626 for (var k = 0; k < time_axis_array.length; k++) { 9627 if (k % 2 === 0) { 9628 reserveWrapHtml += '<div class="time_block"><span class="time"></span></div>'; 9629 } else { 9630 // html_1 += '<div class="time_block"><span class="time"></span></div>'; 9631 } 9632 } 9633 reserveWrapHtml += '</div>'; 9634 9635 9636 $("#reservation").append(reserveWrapHtml); 9637 } 9638 // END-r_wrap_innerHtml 9639 9640 9641 9642 9643 /** 9644 * äºç´å¯è½ãªæåã®æ¥ä»ãåå¾ãã颿° 9645 * @return {string} - [yyyy-mm-dd]ã¨ããå½¢å¼ã§æ»ãã 9646 */ 9647 9648 function checkAvailableDates() { 9649 let _reserveDayItem = $(".reserve-time__item"); 9650 let _reserveDayList = $(".reserve-day__list"); 9651 let _firstDayIndex; 9652 const _emptyFlg = $(".reserve-time__item.empty").length ? false : true; 9653 9654 9655 if (_emptyFlg) { 9656 showUnavailableText(); 9657 _firstDayIndex = 0; 9658 } else { 9659 for (var i = 0; i < _reserveDayItem.length; i++){ 9660 var _item = $(_reserveDayItem)[i]; 9661 if ($(_item).hasClass("empty")) { 9662 _firstDayIndex = $(_item).parents(".reserve-day__list").index(); 9663 break; 9664 } 9665 } 9666 } 9667 9668 for (var k = _firstDayIndex; k < _firstDayIndex+7; k++){ 9669 let _addClassElm = $(_reserveDayList)[k]; 9670 $(_addClassElm).addClass("show-7days") 9671 } 9672 for (var l = _firstDayIndex; l < _firstDayIndex+3; l++){ 9673 let _addClassElm = $(_reserveDayList)[l]; 9674 $(_addClassElm).addClass("show-3days") 9675 } 9676 } 9677 9678 /** 9679 * äºç´æ¥ãç¡ãã£ãæã®ç¬èªããã¹ãã表示ããå¦ç 9680 */ 9681 function showUnavailableText() { 9682 const _unavailableText = "WEBäºç´å¯è½ãªæ¥ãããã¾ãã"; 9683 $(".reservation_title_wrap").addClass("is-unavailable") 9684 $(".reservation_title_inner__text .copy").remove(); 9685 $(".reservation_title_inner__text .description").remove(); 9686 $(".reservation_title_inner__text .copy_sp").html(""); 9687 $(".reservation_title_inner .note").text(_unavailableText); 9688 } 9689 9690 9691 ///////////////////////////////////////////////// 9692 // ã«ã¬ã³ãã¼çæ 9693 ///////////////////////////////////////////////// 9694 function setCalendar() { 9695 const weeks = ['æ', 'ç«', 'æ°´', 'æ¨', 'é', 'å', 'æ¥']; 9696 const date = new Date(); 9697 // const date = new Date(2019, 6, 1); //testç¨ 9698 let year = date.getFullYear(); 9699 let month = date.getMonth() + 1; 9700 const today = date.getDate(); 9701 // const showNum = today === 1 ? 5 : 6; //è¡¨ç¤ºææ° 9702 const showNum = 4; //è¡¨ç¤ºææ° 9703 9704
9705 ///////////////////////////////////////////////// 9706 // ã«ã¬ã³ãã¼çæ 9707 ///////////////////////////////////////////////// 9708 function showCalendar(year, month, date) { 9709 for (i = 0; i < showNum; i++) { 9710 9711 const calendarHtml = createCalendar(year, month, date); 9712 const sec = document.createElement('div'); 9713 sec.className = 'month_wrap'; 9714 if (i === 0) { 9715 sec.className = 'month_wrap is-show'; 9716 } 9717 9718 sec.innerHTML = calendarHtml; 9719 document.querySelector('#calendar').appendChild(sec); 9720 9721 month++; 9722 if (month > 12) { 9723 year++; 9724 month = 1; 9725 } 9726 } 9727 } 9728 9729 function createCalendar(year, month, date) { 9730 const todayYMFlag = date.getFullYear() === year && date.getMonth() + 1 === month ? true : false; 9731 const startDate = new Date(year, month - 1, 1); // æã®æåã®æ¥ãåå¾ 9732 const endDate = new Date(year, month, 0); // æã®æå¾ã®æ¥ãåå¾ 9733 const endDayCount = endDate.getDate(); // æã®æ«æ¥ 9734 const lastMonthEndDate = new Date(year, month - 1, 0); // åæã®æå¾ã®æ¥ã®æ å ± 9735 const lastMonthendDayCount = lastMonthEndDate.getDate(); // åæã®æ«æ¥ 9736 9737 //ææå§ã¾ãã®å¯¾å¿ 9738 let startDay = startDate.getDay() // æã®æåã®æ¥ã®ææ¥ãåå¾ 9739 if (startDay == 0) { 9740 startDay = 6; 9741 } else { 9742 startDay = startDay - 1; 9743 } 9744 9745 let dayCount = 1 // æ¥ã«ã¡ã®ã«ã¦ã³ã 9746 let calendarHtml = '' // html 9747 9748 calendarHtml += '<div class="month_inner_wrap"><div class="month_inner">' 9749 calendarHtml += '<div class="monthly-day-title-wrap">' 9750 9751 // ææ¥ã®è¡ã使 9752 for (let i = 0; i < weeks.length; i++) { 9753 calendarHtml += '<div class="week">' + weeks[i] + '</div>' 9754 } 9755 calendarHtml += '</div>' 9756 9757 9758 for (let w = 0; w < 6; w++) { 9759 calendarHtml += '<div class="monthly-day-wrap">' 9760 9761 for (let d = 0; d < 7; d++) { 9762 if (w == 0 && d < startDay) { 9763 // 1è¡ç®ã§1æ¥ã®ææ¥ã®å 9764 let num = lastMonthendDayCount - startDay + d + 1 9765 calendarHtml += '<div class="monthly-day is-disabled"><span class="day">' + num + '</span></div>' 9766 } else if (dayCount > endDayCount) { 9767 // æ«å°¾ã®æ¥æ°ãè¶ ãã 9768 let num = dayCount - endDayCount; 9769 calendarHtml += '<div class="monthly-day is-disabled"><span class="day">' + num + '</span></div>' 9770 dayCount++ 9771 } else { 9772 var add_class = todayYMFlag && dayCount === today ? "is-current" : ""; 9773 var data_year = year; 9774 var data_month = ('00' + month).slice(-2); 9775 var data_dayCount = ('00' + dayCount).slice(-2); 9776 9777 calendarHtml += '<div class="monthly-day ' + add_class + '" data-date="' + data_year + "-" + data_month + "-" + data_dayCount + '"><span class="day">' + dayCount + '</span>' 9778 calendarHtml += '<span class="cover"></span></div>' 9779 9780 dayCount++ 9781 9782 } 9783 } 9784 calendarHtml += '</div>' 9785 } 9786 calendarHtml += '</div></div>' 9787 calendarHtml += '<p class="year-month">' + year + 'å¹´' + month + 'æ</p>' 9788 9789 return calendarHtml 9790 } 9791 showCalendar(year, month, date); 9792 } 9793 9794 9795 ///////////////////////////////////////////////// 9796 // ã«ã¬ã³ãã¼æ¥ä»ã¸ä¼æ¥æ¥ç¨ã¯ã©ã¹ä»ä¸ 9797 ///////////////////////////////////////////////// 9798 function addHolidayClass() { 9799 var _listItem = $(".reserve_wrap .reserve-day__list"); 9800 var _calendarDayItem = $(".calendar .month_inner_wrap .monthly-day:not(.is-disabled)"); 9801 9802 // äºç´ãªã¹ãæ¥æ°ã¨ã«ã¬ã³ãã¼ã®ã¢ã¯ãã£ãæ¥æ°ããã§ã㯠9803 var _list_len = _listItem.length; 9804 var _day_len = _calendarDayItem.length; 9805 9806 if (_list_len == _day_len) { 9807 _listItem.each(function (index) { 9808 var $this = $(this); 9809 if ($this.hasClass("is-holiday")) { 9810 $(_calendarDayItem[index]).addClass("is-holiday"); 9811 } 9812 }); 9813 } 9814 } 9815 9816 9817 ///////////////////////////////////////////////// 9818 // ã«ã¬ã³ãã¼è¡¨ç¤ºåãæ¿ã 9819 ///////////////////////////////////////////////// 9820 function switchCalendar() { 9821 9822 function toggleChangeBtn() { 9823 var monthIndex = $('.calendar_wrap .month_wrap').index($('.is-show')); 9824 $('.calendar_wrap .btn').show(); 9825 if (monthIndex == 0) { 9826 $('.calendar_wrap .btn_prev_month').hide(); 9827 } else if (monthIndex == $('.month_wrap').length - 1) { 9828 $('.calendar_wrap .btn_next_month').hide(); 9829 } 9830 } 9831 toggleChangeBtn(); 9832 9833 $('.calendar_wrap .btn_next_month').click(function (e) { 9834 e.preventDefault(); 9835 var $displaySlide = $('.is-show');
9836 $displaySlide.removeClass('is-show'); 9837 $displaySlide.next().addClass('is-show'); 9838 toggleChangeBtn(); 9839 }); 9840 9841 $('.calendar_wrap .btn_prev_month').click(function (e) { 9842 e.preventDefault(); 9843 var $displaySlide = $('.is-show'); 9844 $displaySlide.removeClass('is-show'); 9845 $displaySlide.prev().addClass('is-show'); 9846 toggleChangeBtn(); 9847 }); 9848 9849 } 9850 // switchCalendar(); 9851 9852 9853 ///////////////////////////////////////////////// 9854 // ã«ã¬ã³ãã¼æ¥ä»ã¯ãªãã¯æã®ãªã¹ã表示å¶å¾¡ 9855 ///////////////////////////////////////////////// 9856 function getCalendarCurrentDay() { 9857 $(".monthly-day-wrap .monthly-day:not(.is-disabled)").click(function (e) { 9858 // console.log("click") 9859 var current_day = $(this).data("date"); 9860 var curent_index = $(this).index('.month_inner .monthly-day:not(.is-disabled)'); 9861 listShoeControl(current_day); 9862 calendarCurrentWeek(curent_index); 9863 displayPeriodSwitching(); 9864 addCurrentClass(); 9865 }); 9866 } 9867 // getCalendarCurrentDay(); 9868 9869 function listShoeControl(current_day) { 9870 var _index; 9871 var _pc_show_range = 7; 9872 var _sp_show_range = 3; 9873 var reserve_day_list = $(".reserve-day_wrap .reserve-day__list"); 9874 9875 reserve_day_list.each(function () { 9876 var data_reserve_date = $(this).data("reserve-date"); 9877 if (current_day === data_reserve_date) { 9878 return _index = $(this).index(); 9879 } 9880 }); 9881 9882 var _pc_current_index = _index / _pc_show_range; 9883 var _sp_current_index = _index / _sp_show_range; 9884 if (_index >= 0) { 9885 reserve_day_list.removeClass('show-7days'); 9886 reserve_day_list.removeClass('show-3days'); 9887 reserve_day_list.filter(':eq(' + (Math.round(_pc_current_index * _pc_show_range)) + '),:gt(' + (Math.round(_pc_current_index * _pc_show_range)) + '):lt(' + (_pc_show_range - 1) + ')').addClass('show-7days'); 9888 reserve_day_list.filter(':eq(' + (_sp_current_index * _sp_show_range) + '),:gt(' + (_sp_current_index * _sp_show_range) + '):lt(' + (_sp_show_range - 1) + ')').addClass('show-3days'); 9889 } 9890 } 9891 9892 ///////////////////////////////////////////////// 9893 // ã«ã¬ã³ãã¼æ¥ä»ã¯ãªãã¯æã®current表示å¶å¾¡ 9894 ///////////////////////////////////////////////// 9895 function calendarCurrentWeek(curent_index) { 9896 var pc_range = 7; 9897 var sp_range = 3; 9898 var _index = curent_index; 9899 if (_index != -1) { 9900 $(".monthly-day").removeClass("is-pc_current"); 9901 $(".monthly-day").removeClass("is-sp_current"); 9902 $(".monthly-day:not(.is-disabled)").filter(':eq(' + (_index) + '),:gt(' + (_index) + '):lt(' + (pc_range - 1) + ')').addClass('is-pc_current'); 9903 $(".monthly-day:not(.is-disabled)").filter(':eq(' + (_index) + '),:gt(' + (_index) + '):lt(' + (sp_range - 1) + ')').addClass('is-sp_current'); 9904 } 9905 } 9906 // calendarCurrentWeek(); 9907 9908 9909 ///////////////////////////////////////////////// 9910 // äºç´ã®ãªã¹ããç¡ãæ¥ä»ãis-disabledã¸è¨å® 9911 ///////////////////////////////////////////////// 9912 function calendarSetDisable() { 9913 9914 var reserve_list = $(".reserve-day__list"); 9915 var _a = reserve_list.length; 9916 var first_index = 0; 9917 var last_index = _a - 1; 9918 var _b = reserve_list[first_index]; 9919 var _c = reserve_list[last_index]; 9920 var reserve_first_day = $(_b).data("reserve-date"); 9921 var reserve_last_day = $(_c).data("reserve-date"); 9922 var calendar_day = $(".calendar .month_wrap .monthly-day:not(.is-disabled)"); 9923 9924 //äºç´ãªã¹ãã®æåã¨æå¾ãã«ã¬ã³ãã¼ã®ä½çªç®ãåå¾ï¼indexçªå·ï¼ 9925 var calendar_first_index; 9926 var calendar_last_index; 9927 9928 calendar_day.each(function (index) { 9929 var calendar_day_date = $(this).data("date"); 9930 9931 if (calendar_day_date == reserve_first_day) { 9932 calendar_first_index = index; 9933 } 9934 if (calendar_day_date == reserve_last_day) { 9935 calendar_last_index = index; 9936 } 9937 }); 9938 9939 calendar_day.each(function (index) { 9940 if (index < calendar_first_index || index > calendar_last_index) { 9941 $(this).addClass("is-disabled"); 9942 } 9943 }); 9944 } 9945 // calendarSetDisable(); 9946 9947 9948 ///////////////////////////////////////////////// 9949 // äºç´ãªã¹ãã表示ããã¦ããæéãã«ã¬ã³ãã¼ã¸åæ 9950 ///////////////////////////////////////////////// 9951 function periodCalendarDisplay() { 9952 var reserve_list = $(".reserve-day__list"); 9953 var calendar_day = $(".calendar .month_wrap .monthly-day:not(.is-disabled)"); 9954 var _pc_show_reserve_first_index = reserve_list.index($('.reserve-day__list.show-7days:first')); 9955 var _pc_show_reserve_last_index = reserve_list.index($('.reserve-day__list.show-7days:last')); 9956 var _sp_show_reserve_first_index = reserve_list.index($('.reserve-day__list.show-3days:first')); 9957 var _sp_show_reserve_last_index = reserve_list.index($('.reserve-day__list.show-3days:last')); 9958 calendar_day.removeClass("is-pc_current"); 9959 calendar_day.removeClass("is-sp_current"); 9960 9961 calendar_day.each(function (index) { 9962 if (index >= _pc_show_reserve_first_index && index <= _pc_show_reserve_last_index) { 9963 $(this).addClass("is-pc_current"); 9964 } 9965 if (index >= _sp_show_reserve_first_index && index <= _sp_show_reserve_last_index) { 9966 $(this).addClass("is-sp_current"); 9967 } 9968 }); 9969 } 9970 // periodCalendarDisplay(); 9971 9972 ///////////////////////////////////////// 9973 // 表示æéprev,nextã®ãªã¹ã表示å¶å¾¡ 9974 ///////////////////////////////////////// 9975 function switchPcReserveList() { 9976 var pc_range = 7; 9977 var reserve_day_list = $(".reserve-day__list"); 9978 var reserve_day_list_length = reserve_day_list.length; 9979
9980 $(".period_display_wrap .next a").on('click', function (e) { 9981 e.preventDefault(); 9982 var pc_current_last_index = reserve_day_list.index($('.reserve-day__list.show-7days:last')); 9983 var pc_next_first_index = pc_current_last_index + 1; 9984 var pc_next_last_index = pc_next_first_index + pc_range - 1; 9985 9986 if (pc_next_first_index <= reserve_day_list_length && pc_next_last_index < reserve_day_list_length + 6) { 9987 reserve_day_list.removeClass('show-7days'); 9988 reserve_day_list.filter(':eq(' + (pc_next_first_index) + '),:gt(' + pc_next_first_index + '):lt(' + (pc_range - 1) + ')').addClass('show-7days'); 9989 } 9990 displayPeriodSwitching(); 9991 periodCalendarDisplay(); 9992 addCurrentClass(); 9993 }); 9994 9995 $(".period_display_wrap .prev a").on('click', function (e) { 9996 e.preventDefault(); 9997 var pc_current_first_index = reserve_day_list.index($('.reserve-day__list.show-7days:first')); 9998 var pc_prev_first_index = pc_current_first_index - pc_range; 9999 10000 if (pc_prev_first_index >= 1) { 10001 reserve_day_list.removeClass('show-7days'); 10002 reserve_day_list.filter(':eq(' + pc_prev_first_index + '),:gt(' + pc_prev_first_index + '):lt(' + (pc_range - 1) + ')').addClass('show-7days'); 10003 } else if (pc_prev_first_index < 1) { 10004 reserve_day_list.removeClass('show-7days'); 10005 reserve_day_list.filter(':eq(0),:gt(0):lt(' + (pc_range - 1) + ')').addClass('show-7days'); 10006 } 10007 displayPeriodSwitching(); 10008 periodCalendarDisplay(); 10009 addCurrentClass(); 10010 }); 10011 } 10012 // switchPcReserveList(); 10013 10014 10015 function switchSpReserveList() { 10016 var sp_range = 3; 10017 var reserve_day_list = $(".reserve-day__list"); 10018 var reserve_day_list_length = reserve_day_list.length; 10019 10020 $(".time_block.next_btn a").on('click', function (e) { 10021 e.preventDefault(); 10022 var sp_current_last_index = reserve_day_list.index($('.reserve-day__list.show-3days:last')); 10023 var sp_next_first_index = sp_current_last_index + 1; 10024 var sp_next_last_index = sp_next_first_index + sp_range - 1; 10025 10026 if (sp_next_first_index <= reserve_day_list_length && sp_next_last_index < reserve_day_list_length + 2) { 10027 reserve_day_list.removeClass('show-3days'); 10028 reserve_day_list.filter(':eq(' + (sp_next_first_index) + '),:gt(' + sp_next_first_index + '):lt(' + (sp_range - 1) + ')').addClass('show-3days'); 10029 } 10030 displayPeriodSwitching(); 10031 periodCalendarDisplay(); 10032 addCurrentClass(); 10033 }); 10034 10035 $(".time_block.prev_btn a").on('click', function (e) { 10036 e.preventDefault(); 10037 var sp_current_first_index = reserve_day_list.index($('.reserve-day__list.show-3days:first')); 10038 var sp_prev_first_index = sp_current_first_index - sp_range; 10039 10040 if (sp_prev_first_index >= 1) { 10041 reserve_day_list.removeClass('show-3days'); 10042 reserve_day_list.filter(':eq(' + sp_prev_first_index + '),:gt(' + sp_prev_first_index + '):lt(' + (sp_range - 1) + ')').addClass('show-3days'); 10043 } else if (sp_prev_first_index < 1) { 10044 reserve_day_list.removeClass('show-3days'); 10045 reserve_day_list.filter(':eq(0),:gt(0):lt(' + (sp_range - 1) + ')').addClass('show-3days'); 10046 } 10047 displayPeriodSwitching(); 10048 periodCalendarDisplay(); 10049 addCurrentClass(); 10050 }); 10051 10052 } 10053 // switchSpReserveList(); 10054 10055 10056 ///////////////////////////////////////// 10057 // 表示æéã®æ¥ä»åãæ¿ã¨arrowèª¿æ´ 10058 ///////////////////////////////////////// 10059 10060 function displayPeriodSwitching() { 10061 var reserve_day_list = $(".reserve-day__list"); 10062 10063 //表示ãããæéã®æåã¨æå¾ã®ãã¼ã¿å±æ§ï¼æ¥ä»ï¼ãåå¾ 10064 var index = { 10065 pc_first: reserve_day_list.index($('.reserve-day__list.show-7days:first')), 10066 pc_last: reserve_day_list.index($('.reserve-day__list.show-7days:last')), 10067 sp_first: reserve_day_list.index($('.reserve-day__list.show-3days:first')), 10068 sp_last: reserve_day_list.index($('.reserve-day__list.show-3days:last')) 10069 } 10070 10071 var current_date = { 10072 pc_first: $(reserve_day_list[index.pc_first]).data("reserve-date"), 10073 pc_last: $(reserve_day_list[index.pc_last]).data("reserve-date"), 10074 sp_first: $(reserve_day_list[index.sp_first]).data("reserve-date"), 10075 sp_last: $(reserve_day_list[index.sp_last]).data("reserve-date") 10076 } 10077 //å¹´ææ¥ã®åå² 10078 var first_reserve_date = { 10079 pc_year: current_date.pc_first.split("-")[0], 10080 pc_month: current_date.pc_first.split("-")[1], 10081 pc_day: current_date.pc_first.split("-")[2], 10082 sp_year: current_date.sp_first.split("-")[0], 10083 sp_month: current_date.sp_first.split("-")[1], 10084 sp_day: current_date.sp_first.split("-")[2] 10085 } 10086 var last_reserve_date = { 10087 pc_year: current_date.pc_last.split("-")[0], 10088 pc_month: current_date.pc_last.split("-")[1], 10089 pc_day: current_date.pc_last.split("-")[2], 10090 sp_year: current_date.sp_last.split("-")[0], 10091 sp_month: current_date.sp_last.split("-")[1], 10092 sp_day: current_date.sp_last.split("-")[2] 10093 } 10094 10095 //pc表示åãæ¿ã
10096 $(".period_display_wrap .day .first_year").text(first_reserve_date.pc_year); 10097 $(".period_display_wrap .day .first_month").text(first_reserve_date.pc_month); 10098 $(".period_display_wrap .day .first_day").text(first_reserve_date.pc_day); 10099 $(".period_display_wrap .day .last_year").text(last_reserve_date.pc_year); 10100 $(".period_display_wrap .day .last_month").text(last_reserve_date.pc_month); 10101 $(".period_display_wrap .day .last_day").text(last_reserve_date.pc_day); 10102 10103 //sp表示åãæ¿ã 10104 $(".period_display_sp .first_year").text(first_reserve_date.sp_year); 10105 $(".period_display_sp .first_month").text(first_reserve_date.sp_month); 10106 $(".period_display_sp .first_day").text(first_reserve_date.sp_day); 10107 $(".period_display_sp .last_year").text(last_reserve_date.sp_year); 10108 $(".period_display_sp .last_month").text(last_reserve_date.sp_month); 10109 $(".period_display_sp .last_day").text(last_reserve_date.sp_day); 10110 10111 10112 //prev,nextã«ãªã¹ãããªãå ´åãarrowãdisabled 10113 var list_length = reserve_day_list.length - 1; 10114 10115 if (index.pc_first == 0) { 10116 $(".period_display_wrap .prev").addClass("disabled"); 10117 } else { 10118 $(".period_display_wrap .prev").removeClass("disabled"); 10119 } 10120 if (index.pc_last == list_length) { 10121 $(".period_display_wrap .next").addClass("disabled"); 10122 } else { 10123 $(".period_display_wrap .next").removeClass("disabled"); 10124 } 10125 10126 if (index.sp_first == 0) { 10127 $(".reserve_wrap .time_block.prev_btn").addClass("disabled"); 10128 } else { 10129 $(".reserve_wrap .time_block.prev_btn").removeClass("disabled"); 10130 } 10131 if (index.sp_last == list_length) { 10132 $(".reserve_wrap .time_block.next_btn").addClass("disabled"); 10133 } else { 10134 $(".reserve_wrap .time_block.next_btn").removeClass("disabled"); 10135 } 10136 10137 } 10138 // displayPeriodSwitching(); 10139 10140 10141 ////////////////////////////////////////////////////////////////////// 10142 // ã«ã¬ã³ãã¼currentæ¥ã®æåãæå¾ã¸ã¯ã©ã¹ãä»ä¸ããã¶ã¤ã³è¨å®ã§å¿ è¦ãªãã 10143 ////////////////////////////////////////////////////////////////////// 10144 function addCurrentClass() { 10145 $(".calendar .monthly-day").removeClass("pc_current_first"); 10146 $(".calendar .monthly-day").removeClass("pc_current_last"); 10147 $(".calendar .monthly-day").removeClass("sp_current_first"); 10148 $(".calendar .monthly-day").removeClass("sp_current_last"); 10149 var _tar_1 = $(".calendar .monthly-day.is-pc_current"); 10150 var _len_1 = _tar_1.length; 10151 10152 _tar_1.each(function (index) { 10153 var $this = $(this); 10154 // var last_index = index - 1; 10155 if (index == 0) { 10156 $this.addClass("pc_current_first"); 10157 } else if (index == _len_1-1) { 10158 $this.addClass("pc_current_last"); 10159 } 10160 }); 10161 10162 var _tar_2 = $(".calendar .monthly-day.is-sp_current"); 10163 var _len_2 = _tar_2.length; 10164 _tar_2.each(function (index) { 10165 var $this = $(this); 10166 // var last_index = index - 1; 10167 if (index == 0) { 10168 $this.addClass("sp_current_first"); 10169 } else if (index == _len_2-1) { 10170 $this.addClass("sp_current_last"); 10171 } 10172 }); 10173 10174 10175 } 10176 // addCurrentClass(); 10177 10178 10179 10180 10181 function spCalendarModal() { 10182 10183 var modalOpen = $(".period_display_sp .icon_calendar"); 10184 modalOpen.on('click', function (e) { 10185 e.preventDefault(); 10186 sizeDetect = $("#size-detect").css("font-family"); 10187 $('#calendar-modal-overlay, #calendar_wrap').fadeIn(); 10188 }); 10189 10190 // ãCloseããã¿ã³ãã¯ãªãã¯æã«ãfadeOutã¡ã½ããã§HTMLè¦ç´ ãé表示ã«ãã 10191 $('#sp_modal_close,.monthly-day:not(.is-disabled)').on('click', function () { 10192 $('#calendar-modal-overlay, #calendar_wrap').fadeOut(); 10193 sizeDetect = $("#size-detect").css("font-family"); 10194 }); 10195 10196 locateCenter(); // => ã¢ã¼ãã«ã¦ã£ã³ãã¦ãä¸å¤®é ç½®ããããã®åæå¤ãè¨å®ãã 10197 $(window).resize(locateCenter); // => ã¦ã£ã³ãã¦ã®ãªãµã¤ãºã«åããã¦ãã¢ã¼ãã«ã¦ã£ã³ãã¦ã®é ç½®ãå¤ãã 10198 10199 // ã¢ã¼ãã«ã¦ã£ã³ãã¦ãä¸å¤®é ç½®ããããã®é ç½®å ´æãè¨ç®ãã颿° 10200 function locateCenter() { 10201 var w = $(window).width(); 10202 var h = $(window).height(); 10203 10204 var cw = $('#calendar_wrap').outerWidth(); 10205 var ch = $('#calendar_wrap').outerHeight(); 10206 10207 $('#calendar_wrap').css({ 10208 'left': ((w - cw) / 2) + 'px', 10209 'top': ((h - ch) / 2) + 'px' 10210 }); 10211 } 10212 10213 } 10214 // spCalendarModal(); 10215 10216 //äºç´ãªã¹ãã¯ãªãã¯æã®æå 10217 function selectReserveTime() { 10218 var reserve_time_empty_itme = $(".reserve-day__list .reserve-time__item.empty"); 10219 reserve_time_empty_itme.on("click", function () { 10220 $(".reserve-day__list .reserve-time__item").removeClass("is-select"); 10221 $(this).addClass("is-select"); 10222 var hopedate = String($(this).data("hopedate")); 10223 var hopetime = String($(this).data("hopetime")); 10224 10225 _obj.setDate(hopedate); 10226 _obj.setTime(hopetime); 10227 10228 }); 10229 } 10230 // selectReserveTime(); 10231 10232 10233 10234 10235 10236 function setDefaultData(_obj) { 10237 var _obj_defaultData_date = _obj.defaultData.date; 10238 var _obj_defaultData_time = _obj.defaultData.time; 10239 // var _obj_defaultData_date = "20200115" 10240 // var _obj_defaultData_time = "120000" 10241 // console.log(_obj_defaultData_date) 10242 // console.log(_obj_defaultData_time) 10243 10244 var _obj_defaultData_date_year = _obj_defaultData_date.substr(0, 4);
10245 var _obj_defaultData_date_month = _obj_defaultData_date.substr(4, 2); 10246 var _obj_defaultData_date_day = _obj_defaultData_date.substr(6, 2); 10247 var defaultData_date = _obj_defaultData_date_year + '-' + _obj_defaultData_date_month + '-' + _obj_defaultData_date_day; 10248 // var _obj_defaultData_time_hour = _obj_defaultData_time.substr(0, 2); 10249 // var _obj_defaultData_time_minute = _obj_defaultData_time.substr(2, 2); 10250 10251 // ãªã¹ãã鏿æ¸ã¿ã«ãã 10252 $(".reserve-time__item").each(function () { 10253 var $this = $(this); 10254 var data_hopedate = String($this.data("hopedate")); 10255 var data_hopetime = String($this.data("hopetime")); 10256 // console.log(data_hopetime) 10257 if (_obj_defaultData_date === data_hopedate && _obj_defaultData_time === data_hopetime) { 10258 console.log($($this)) 10259 if($($this).hasClass("empty")){ 10260 setShowReserveList(); 10261 // console.log("PASS1PASS1PASS1") 10262 $(this).addClass("is-select"); 10263 //äºç´æ¥æãã»ãã 10264 _obj.setDate(_obj_defaultData_date); 10265 _obj.setTime(_obj_defaultData_time); 10266 } else { 10267 // console.log("PASS2PASS2PASS2") 10268 //äºç´æ¥æãã»ãã 10269 _obj.setDate(""); 10270 _obj.setTime(""); 10271 } 10272 10273 } 10274 }); 10275 10276 function setShowReserveList(){ 10277 var _index; 10278 var _pc_show_range = 7; 10279 var _sp_show_range = 3; 10280 var reserve_day_list = $(".reserve-day_wrap .reserve-day__list"); 10281 10282 reserve_day_list.each(function () { 10283 var data_reserve_date = $(this).data("reserve-date"); 10284 if (defaultData_date === data_reserve_date) { 10285 return _index = $(this).index(); 10286 } 10287 }); 10288 10289 var _pc_current_index = _index / _pc_show_range; 10290 var _sp_current_index = _index / _sp_show_range; 10291 if (_index >= 0) { 10292 reserve_day_list.removeClass('show-7days'); 10293 reserve_day_list.removeClass('show-3days'); 10294 reserve_day_list.filter(':eq(' + (Math.round(_pc_current_index * _pc_show_range)) + '),:gt(' + (Math.round(_pc_current_index * _pc_show_range)) + '):lt(' + (_pc_show_range - 1) + ')').addClass('show-7days'); 10295 reserve_day_list.filter(':eq(' + (_sp_current_index * _sp_show_range) + '),:gt(' + (_sp_current_index * _sp_show_range) + '):lt(' + (_sp_show_range - 1) + ')').addClass('show-3days'); 10296 } 10297 10298 } 10299 } 10300 10301 //æéæªé¸ææã®ã¨ã©ã¼ã¯ã©ã¹å¶å¾¡ 10302 _obj.errorListener(function(){ 10303 var _addErrorClassElm = $("#reservation .reservation_title_inner__text"); 10304 _addErrorClassElm.addClass("unselected_error"); 10305 $("#reservation .reserve-day__list .reserve-time__block .reserve-time__item.empty").on("click",function(){ 10306 _addErrorClassElm.removeClass("unselected_error"); 10307 }); 10308 }); 10309 10310 10311//////////////////////////////////////////////////////////////////////////////////// 10312//////////////////////////////////////////////////////////////////////////////////// 10313 10314 } 10315 10316 global.onlineRsvUi = onlineRsvUi; 10317 10318 10319 10320}(DMS)); 10321 10322// qrcode.min.js 10323(function(r){r.fn.qrcode=function(h){var s;function u(a){this.mode=s;this.data=a}function o(a,c){this.typeNumber=a;this.errorCorrectLevel=c;this.modules=null;this.moduleCount=0;this.dataCache=null;this.dataList=[]}function q(a,c){if(void 0==a.length)throw Error(a.length+"/"+c);for(var d=0;d<a.length&&0==a[d];)d++;this.num=Array(a.length-d+c);for(var b=0;b<a.length-d;b++)this.num[b]=a[b+d]}function p(a,c){this.totalCount=a;this.dataCount=c}function t(){this.buffer=[];this.length=0}u.prototype={getLength:function(){return this.data.length}, 10324write:function(a){for(var c=0;c<this.data.length;c++)a.put(this.data.charCodeAt(c),8)}};o.prototype={addData:function(a){this.dataList.push(new u(a));this.dataCache=null},isDark:function(a,c){if(0>a||this.moduleCount<=a||0>c||this.moduleCount<=c)throw Error(a+","+c);return this.modules[a][c]},getModuleCount:function(){return this.moduleCount},make:function(){if(1>this.typeNumber){for(var a=1,a=1;40>a;a++){for(var c=p.getRSBlocks(a,this.errorCorrectLevel),d=new t,b=0,e=0;e<c.length;e++)b+=c[e].dataCount; 10325for(e=0;e<this.dataList.length;e++)c=this.dataList[e],d.put(c.mode,4),d.put(c.getLength(),j.getLengthInBits(c.mode,a)),c.write(d);if(d.getLengthInBits()<=8*b)break}
vendor: 15,759 bytes, lines 10325-10458
10325this.typeNumber=a}this.makeImpl(!1,this.getBestMaskPattern())},makeImpl:function(a,c){this.moduleCount=4*this.typeNumber+17;this.modules=Array(this.moduleCount);for(var d=0;d<this.moduleCount;d++){this.modules[d]=Array(this.moduleCount);for(var b=0;b<this.moduleCount;b++)this.modules[d][b]=null}this.setupPositionProbePattern(0,0);this.setupPositionProbePattern(this.moduleCount- 103267,0);this.setupPositionProbePattern(0,this.moduleCount-7);this.setupPositionAdjustPattern();this.setupTimingPattern();this.setupTypeInfo(a,c);7<=this.typeNumber&&this.setupTypeNumber(a);null==this.dataCache&&(this.dataCache=o.createData(this.typeNumber,this.errorCorrectLevel,this.dataList));this.mapData(this.dataCache,c)},setupPositionProbePattern:function(a,c){for(var d=-1;7>=d;d++)if(!(-1>=a+d||this.moduleCount<=a+d))for(var b=-1;7>=b;b++)-1>=c+b||this.moduleCount<=c+b||(this.modules[a+d][c+b]= 103270<=d&&6>=d&&(0==b||6==b)||0<=b&&6>=b&&(0==d||6==d)||2<=d&&4>=d&&2<=b&&4>=b?!0:!1)},getBestMaskPattern:function(){for(var a=0,c=0,d=0;8>d;d++){this.makeImpl(!0,d);var b=j.getLostPoint(this);if(0==d||a>b)a=b,c=d}return c},createMovieClip:function(a,c,d){a=a.createEmptyMovieClip(c,d);this.make();for(c=0;c<this.modules.length;c++)for(var d=1*c,b=0;b<this.modules[c].length;b++){var e=1*b;this.modules[c][b]&&(a.beginFill(0,100),a.moveTo(e,d),a.lineTo(e+1,d),a.lineTo(e+1,d+1),a.lineTo(e,d+1),a.endFill())}return a}, 10328setupTimingPattern:function(){for(var a=8;a<this.moduleCount-8;a++)null==this.modules[a][6]&&(this.modules[a][6]=0==a%2);for(a=8;a<this.moduleCount-8;a++)null==this.modules[6][a]&&(this.modules[6][a]=0==a%2)},setupPositionAdjustPattern:function(){for(var a=j.getPatternPosition(this.typeNumber),c=0;c<a.length;c++)for(var d=0;d<a.length;d++){var b=a[c],e=a[d];if(null==this.modules[b][e])for(var f=-2;2>=f;f++)for(var i=-2;2>=i;i++)this.modules[b+f][e+i]=-2==f||2==f||-2==i||2==i||0==f&&0==i?!0:!1}},setupTypeNumber:function(a){for(var c= 10329j.getBCHTypeNumber(this.typeNumber),d=0;18>d;d++){var b=!a&&1==(c>>d&1);this.modules[Math.floor(d/3)][d%3+this.moduleCount-8-3]=b}for(d=0;18>d;d++)b=!a&&1==(c>>d&1),this.modules[d%3+this.moduleCount-8-3][Math.floor(d/3)]=b},setupTypeInfo:function(a,c){for(var d=j.getBCHTypeInfo(this.errorCorrectLevel<<3|c),b=0;15>b;b++){var e=!a&&1==(d>>b&1);6>b?this.modules[b][8]=e:8>b?this.modules[b+1][8]=e:this.modules[this.moduleCount-15+b][8]=e}for(b=0;15>b;b++)e=!a&&1==(d>>b&1),8>b?this.modules[8][this.moduleCount- 10330b-1]=e:9>b?this.modules[8][15-b-1+1]=e:this.modules[8][15-b-1]=e;this.modules[this.moduleCount-8][8]=!a},mapData:function(a,c){for(var d=-1,b=this.moduleCount-1,e=7,f=0,i=this.moduleCount-1;0<i;i-=2)for(6==i&&i--;;){for(var g=0;2>g;g++)if(null==this.modules[b][i-g]){var n=!1;f<a.length&&(n=1==(a[f]>>>e&1));j.getMask(c,b,i-g)&&(n=!n);this.modules[b][i-g]=n;e--; -1==e&&(f++,e=7)}b+=d;if(0>b||this.moduleCount<=b){b-=d;d=-d;break}}}};o.PAD0=236;o.PAD1=17;o.createData=function(a,c,d){for(var c=p.getRSBlocks(a, 10331c),b=new t,e=0;e<d.length;e++){var f=d[e];b.put(f.mode,4);b.put(f.getLength(),j.getLengthInBits(f.mode,a));f.write(b)}for(e=a=0;e<c.length;e++)a+=c[e].dataCount;if(b.getLengthInBits()>8*a)throw Error("code length overflow. ("+b.getLengthInBits()+">"+8*a+")");for(b.getLengthInBits()+4<=8*a&&b.put(0,4);0!=b.getLengthInBits()%8;)b.putBit(!1);for(;!(b.getLengthInBits()>=8*a);){b.put(o.PAD0,8);if(b.getLengthInBits()>=8*a)break;b.put(o.PAD1,8)}return o.createBytes(b,c)};o.createBytes=function(a,c){for(var d= 103320,b=0,e=0,f=Array(c.length),i=Array(c.length),g=0;g<c.length;g++){var n=c[g].dataCount,h=c[g].totalCount-n,b=Math.max(b,n),e=Math.max(e,h);f[g]=Array(n);for(var k=0;k<f[g].length;k++)f[g][k]=255&a.buffer[k+d];d+=n;k=j.getErrorCorrectPolynomial(h);n=(new q(f[g],k.getLength()-1)).mod(k);i[g]=Array(k.getLength()-1);for(k=0;k<i[g].length;k++)h=k+n.getLength()-i[g].length,i[g][k]=0<=h?n.get(h):0}for(k=g=0;k<c.length;k++)g+=c[k].totalCount;d=Array(g);for(k=n=0;k<b;k++)for(g=0;g<c.length;g++)k<f[g].length&& 10333(d[n++]=f[g][k]);for(k=0;k<e;k++)for(g=0;g<c.length;g++)k<i[g].length&&(d[n++]=i[g][k]);return d};s=4;for(var j={PATTERN_POSITION_TABLE:[[],[6,18],[6,22],[6,26],[6,30],[6,34],[6,22,38],[6,24,42],[6,26,46],[6,28,50],[6,30,54],[6,32,58],[6,34,62],[6,26,46,66],[6,26,48,70],[6,26,50,74],[6,30,54,78],[6,30,56,82],[6,30,58,86],[6,34,62,90],[6,28,50,72,94],[6,26,50,74,98],[6,30,54,78,102],[6,28,54,80,106],[6,32,58,84,110],[6,30,58,86,114],[6,34,62,90,118],[6,26,50,74,98,122],[6,30,54,78,102,126],[6,26,52, 1033478,104,130],[6,30,56,82,108,134],[6,34,60,86,112,138],[6,30,58,86,114,142],[6,34,62,90,118,146],[6,30,54,78,102,126,150],[6,24,50,76,102,128,154],[6,28,54,80,106,132,158],[6,32,58,84,110,136,162],[6,26,54,82,110,138,166],[6,30,58,86,114,142,170]],G15:1335,G18:7973,G15_MASK:21522,getBCHTypeInfo:function(a){for(var c=a<<10;0<=j.getBCHDigit(c)-j.getBCHDigit(j.G15);)c^=j.G15<<j.getBCHDigit(c)-j.getBCHDigit(j.G15);return(a<<10|c)^j.G15_MASK},getBCHTypeNumber:function(a){for(var c=a<<12;0<=j.getBCHDigit(c)- 10335j.getBCHDigit(j.G18);)c^=j.G18<<j.getBCHDigit(c)-j.getBCHDigit(j.G18);return a<<12|c},getBCHDigit:function(a){for(var c=0;0!=a;)c++,a>>>=1;return c},getPatternPosition:function(a){return j.PATTERN_POSITION_TABLE[a-1]},getMask:function(a,c,d){switch(a){case 0:return 0==(c+d)%2;case 1:return 0==c%2;case 2:return 0==d%3;case 3:return 0==(c+d)%3;case 4:return 0==(Math.floor(c/2)+Math.floor(d/3))%2;case 5:return 0==c*d%2+c*d%3;case 6:return 0==(c*d%2+c*d%3)%2;case 7:return 0==(c*d%3+(c+d)%2)%2;default:throw Error("bad maskPattern:"+ 10336a);}},getErrorCorrectPolynomial:function(a){for(var c=new q([1],0),d=0;d<a;d++)c=c.multiply(new q([1,l.gexp(d)],0));return c},getLengthInBits:function(a,c){if(1<=c&&10>c)switch(a){case 1:return 10;case 2:return 9;case s:return 8;case 8:return 8;default:throw Error("mode:"+a);}else if(27>c)switch(a){case 1:return 12;case 2:return 11;case s:return 16;case 8:return 10;default:throw Error("mode:"+a);}else if(41>c)switch(a){case 1:return 14;case 2:return 13;case s:return 16;case 8:return 12;default:throw Error("mode:"+ 10337a);}else throw Error("type:"+c);},getLostPoint:function(a){for(var c=a.getModuleCount(),d=0,b=0;b<c;b++)for(var e=0;e<c;e++){for(var f=0,i=a.isDark(b,e),g=-1;1>=g;g++)if(!(0>b+g||c<=b+g))for(var h=-1;1>=h;h++)0>e+h||c<=e+h||0==g&&0==h||i==a.isDark(b+g,e+h)&&f++;5<f&&(d+=3+f-5)}for(b=0;b<c-1;b++)for(e=0;e<c-1;e++)if(f=0,a.isDark(b,e)&&f++,a.isDark(b+1,e)&&f++,a.isDark(b,e+1)&&f++,a.isDark(b+1,e+1)&&f++,0==f||4==f)d+=3;for(b=0;b<c;b++)for(e=0;e<c-6;e++)a.isDark(b,e)&&!a.isDark(b,e+1)&&a.isDark(b,e+ 103382)&&a.isDark(b,e+3)&&a.isDark(b,e+4)&&!a.isDark(b,e+5)&&a.isDark(b,e+6)&&(d+=40);for(e=0;e<c;e++)for(b=0;b<c-6;b++)a.isDark(b,e)&&!a.isDark(b+1,e)&&a.isDark(b+2,e)&&a.isDark(b+3,e)&&a.isDark(b+4,e)&&!a.isDark(b+5,e)&&a.isDark(b+6,e)&&(d+=40);for(e=f=0;e<c;e++)for(b=0;b<c;b++)a.isDark(b,e)&&f++;a=Math.abs(100*f/c/c-50)/5;return d+10*a}},l={glog:function(a){if(1>a)throw Error("glog("+a+")");return l.LOG_TABLE[a]},gexp:function(a){for(;0>a;)a+=255;for(;256<=a;)a-=255;return l.EXP_TABLE[a]},EXP_TABLE:Array(256), 10339LOG_TABLE:Array(256)},m=0;8>m;m++)l.EXP_TABLE[m]=1<<m;for(m=8;256>m;m++)l.EXP_TABLE[m]=l.EXP_TABLE[m-4]^l.EXP_TABLE[m-5]^l.EXP_TABLE[m-6]^l.EXP_TABLE[m-8];for(m=0;255>m;m++)l.LOG_TABLE[l.EXP_TABLE[m]]=m;q.prototype={get:function(a){return this.num[a]},getLength:function(){return this.num.length},multiply:function(a){for(var c=Array(this.getLength()+a.getLength()-1),d=0;d<this.getLength();d++)for(var b=0;b<a.getLength();b++)c[d+b]^=l.gexp(l.glog(this.get(d))+l.glog(a.get(b)));return new q(c,0)},mod:function(a){if(0> 10340this.getLength()-a.getLength())return this;for(var c=l.glog(this.get(0))-l.glog(a.get(0)),d=Array(this.getLength()),b=0;b<this.getLength();b++)d[b]=this.get(b);for(b=0;b<a.getLength();b++)d[b]^=l.gexp(l.glog(a.get(b))+c);return(new q(d,0)).mod(a)}};p.RS_BLOCK_TABLE=[[1,26,19],[1,26,16],[1,26,13],[1,26,9],[1,44,34],[1,44,28],[1,44,22],[1,44,16],[1,70,55],[1,70,44],[2,35,17],[2,35,13],[1,100,80],[2,50,32],[2,50,24],[4,25,9],[1,134,108],[2,67,43],[2,33,15,2,34,16],[2,33,11,2,34,12],[2,86,68],[4,43,27], 10341[4,43,19],[4,43,15],[2,98,78],[4,49,31],[2,32,14,4,33,15],[4,39,13,1,40,14],[2,121,97],[2,60,38,2,61,39],[4,40,18,2,41,19],[4,40,14,2,41,15],[2,146,116],[3,58,36,2,59,37],[4,36,16,4,37,17],[4,36,12,4,37,13],[2,86,68,2,87,69],[4,69,43,1,70,44],[6,43,19,2,44,20],[6,43,15,2,44,16],[4,101,81],[1,80,50,4,81,51],[4,50,22,4,51,23],[3,36,12,8,37,13],[2,116,92,2,117,93],[6,58,36,2,59,37],[4,46,20,6,47,21],[7,42,14,4,43,15],[4,133,107],[8,59,37,1,60,38],[8,44,20,4,45,21],[12,33,11,4,34,12],[3,145,115,1,146, 10342116],[4,64,40,5,65,41],[11,36,16,5,37,17],[11,36,12,5,37,13],[5,109,87,1,110,88],[5,65,41,5,66,42],[5,54,24,7,55,25],[11,36,12],[5,122,98,1,123,99],[7,73,45,3,74,46],[15,43,19,2,44,20],[3,45,15,13,46,16],[1,135,107,5,136,108],[10,74,46,1,75,47],[1,50,22,15,51,23],[2,42,14,17,43,15],[5,150,120,1,151,121],[9,69,43,4,70,44],[17,50,22,1,51,23],[2,42,14,19,43,15],[3,141,113,4,142,114],[3,70,44,11,71,45],[17,47,21,4,48,22],[9,39,13,16,40,14],[3,135,107,5,136,108],[3,67,41,13,68,42],[15,54,24,5,55,25],[15, 1034343,15,10,44,16],[4,144,116,4,145,117],[17,68,42],[17,50,22,6,51,23],[19,46,16,6,47,17],[2,139,111,7,140,112],[17,74,46],[7,54,24,16,55,25],[34,37,13],[4,151,121,5,152,122],[4,75,47,14,76,48],[11,54,24,14,55,25],[16,45,15,14,46,16],[6,147,117,4,148,118],[6,73,45,14,74,46],[11,54,24,16,55,25],[30,46,16,2,47,17],[8,132,106,4,133,107],[8,75,47,13,76,48],[7,54,24,22,55,25],[22,45,15,13,46,16],[10,142,114,2,143,115],[19,74,46,4,75,47],[28,50,22,6,51,23],[33,46,16,4,47,17],[8,152,122,4,153,123],[22,73,45, 103443,74,46],[8,53,23,26,54,24],[12,45,15,28,46,16],[3,147,117,10,148,118],[3,73,45,23,74,46],[4,54,24,31,55,25],[11,45,15,31,46,16],[7,146,116,7,147,117],[21,73,45,7,74,46],[1,53,23,37,54,24],[19,45,15,26,46,16],[5,145,115,10,146,116],[19,75,47,10,76,48],[15,54,24,25,55,25],[23,45,15,25,46,16],[13,145,115,3,146,116],[2,74,46,29,75,47],[42,54,24,1,55,25],[23,45,15,28,46,16],[17,145,115],[10,74,46,23,75,47],[10,54,24,35,55,25],[19,45,15,35,46,16],[17,145,115,1,146,116],[14,74,46,21,75,47],[29,54,24,19, 1034555,25],[11,45,15,46,46,16],[13,145,115,6,146,116],[14,74,46,23,75,47],[44,54,24,7,55,25],[59,46,16,1,47,17],[12,151,121,7,152,122],[12,75,47,26,76,48],[39,54,24,14,55,25],[22,45,15,41,46,16],[6,151,121,14,152,122],[6,75,47,34,76,48],[46,54,24,10,55,25],[2,45,15,64,46,16],[17,152,122,4,153,123],[29,74,46,14,75,47],[49,54,24,10,55,25],[24,45,15,46,46,16],[4,152,122,18,153,123],[13,74,46,32,75,47],[48,54,24,14,55,25],[42,45,15,32,46,16],[20,147,117,4,148,118],[40,75,47,7,76,48],[43,54,24,22,55,25],[10, 1034645,15,67,46,16],[19,148,118,6,149,119],[18,75,47,31,76,48],[34,54,24,34,55,25],[20,45,15,61,46,16]];p.getRSBlocks=function(a,c){var d=p.getRsBlockTable(a,c);if(void 0==d)throw Error("bad rs block @ typeNumber:"+a+"/errorCorrectLevel:"+c);for(var b=d.length/3,e=[],f=0;f<b;f++)for(var h=d[3*f+0],g=d[3*f+1],j=d[3*f+2],l=0;l<h;l++)e.push(new p(g,j));return e};p.getRsBlockTable=function(a,c){switch(c){case 1:return p.RS_BLOCK_TABLE[4*(a-1)+0];case 0:return p.RS_BLOCK_TABLE[4*(a-1)+1];case 3:return p.RS_BLOCK_TABLE[4* 10347(a-1)+2];case 2:return p.RS_BLOCK_TABLE[4*(a-1)+3]}};t.prototype={get:function(a){return 1==(this.buffer[Math.floor(a/8)]>>>7-a%8&1)},put:function(a,c){for(var d=0;d<c;d++)this.putBit(1==(a>>>c-d-1&1))},getLengthInBits:function(){return this.length},putBit:function(a){var c=Math.floor(this.length/8);this.buffer.length<=c&&this.buffer.push(0);a&&(this.buffer[c]|=128>>>this.length%8);this.length++}};"string"===typeof h&&(h={text:h});h=r.extend({},{render:"canvas",width:256,height:256,typeNumber:-1, 10348correctLevel:2,background:"#ffffff",foreground:"#000000"},h);return this.each(function(){var a;if("canvas"==h.render){a=new o(h.typeNumber,h.correctLevel);a.addData(h.text);a.make();var c=document.createElement("canvas");c.width=h.width;c.height=h.height;for(var d=c.getContext("2d"),b=h.width/a.getModuleCount(),e=h.height/a.getModuleCount(),f=0;f<a.getModuleCount();f++)for(var i=0;i<a.getModuleCount();i++){d.fillStyle=a.isDark(f,i)?h.foreground:h.background;var g=Math.ceil((i+1)*b)-Math.floor(i*b), 10349j=Math.ceil((f+1)*b)-Math.floor(f*b);d.fillRect(Math.round(i*b),Math.round(f*e),g,j)}}else{a=new o(h.typeNumber,h.correctLevel);a.addData(h.text);a.make();c=r("<table></table>").css("width",h.width+"px").css("height",h.height+"px").css("border","0px").css("border-collapse","collapse").css("background-color",h.background);d=h.width/a.getModuleCount();b=h.height/a.getModuleCount();for(e=0;e<a.getModuleCount();e++){f=r("<tr></tr>").css("height",b+"px").appendTo(c);for(i=0;i<a.getModuleCount();i++)r("<td></td>").css("width", 10350d+"px").css("background-color",a.isDark(e,i)?h.foreground:h.background).appendTo(f)}}a=c;jQuery(a).appendTo(this)})}})(jQuery); 10351/*! 10352 * jQuery Cookie Plugin v1.4.1 10353 * https://github.com/carhartl/jquery-cookie 10354 * 10355 * Copyright 2006, 2014 Klaus Hartl 10356 * Released under the MIT license 10357 */ 10358(function (factory) { 10359 if (typeof define === 'function' && define.amd) { 10360 // AMD (Register as an anonymous module) 10361 define(['jquery'], factory); 10362 } else if (typeof exports === 'object') { 10363 // Node/CommonJS 10364 module.exports = factory(require('jquery')); 10365 } else { 10366 // Browser globals 10367 factory(jQuery); 10368 } 10369}(function ($) { 10370 10371 var pluses = /\+/g; 10372 10373 function encode(s) { 10374 return config.raw ? s : encodeURIComponent(s); 10375 } 10376 10377 function decode(s) { 10378 return config.raw ? s : decodeURIComponent(s); 10379 } 10380 10381 function stringifyCookieValue(value) { 10382 return encode(config.json ? JSON.stringify(value) : String(value)); 10383 } 10384 10385 function parseCookieValue(s) { 10386 if (s.indexOf('"') === 0) { 10387 // This is a quoted cookie as according to RFC2068, unescape... 10388 s = s.slice(1, -1).replace(/\\"/g, '"').replace(/\\\\/g, '\\'); 10389 } 10390 10391 try { 10392 // Replace server-side written pluses with spaces. 10393 // If we can't decode the cookie, ignore it, it's unusable. 10394 // If we can't parse the cookie, ignore it, it's unusable. 10395 s = decodeURIComponent(s.replace(pluses, ' ')); 10396 return config.json ? JSON.parse(s) : s; 10397 } catch(e) {} 10398 } 10399 10400 function read(s, converter) { 10401 var value = config.raw ? s : parseCookieValue(s); 10402 return $.isFunction(converter) ? converter(value) : value; 10403 } 10404 10405 var config = $.cookie = function (key, value, options) { 10406 10407 // Write 10408 10409 if (arguments.length > 1 && !$.isFunction(value)) { 10410 options = $.extend({}, config.defaults, options); 10411 10412 if (typeof options.expires === 'number') { 10413 var days = options.expires, t = options.expires = new Date(); 10414 t.setMilliseconds(t.getMilliseconds() + days * 864e+5); 10415 } 10416 10417 return (document.cookie = [ 10418 encode(key), '=', stringifyCookieValue(value), 10419 options.expires ? '; expires=' + options.expires.toUTCString() : '', // use expires attribute, max-age is not supported by IE 10420 options.path ? '; path=' + options.path : '', 10421 options.domain ? '; domain=' + options.domain : '', 10422 options.secure ? '; secure' : '' 10423 ].join('')); 10424 } 10425 10426 // Read 10427 10428 var result = key ? undefined : {}, 10429 // To prevent the for loop in the first place assign an empty array 10430 // in case there are no cookies at all. Also prevents odd result when 10431 // calling $.cookie(). 10432 cookies = document.cookie ? document.cookie.split('; ') : [], 10433 i = 0, 10434 l = cookies.length; 10435 10436 for (; i < l; i++) { 10437 var parts = cookies[i].split('='), 10438 name = decode(parts.shift()), 10439 cookie = parts.join('='); 10440 10441 if (key === name) { 10442 // If second argument (value) is a function it's a converter... 10443 result = read(cookie, value); 10444 break; 10445 } 10446 10447 // Prevent storing a cookie that we couldn't decode. 10448 if (!key && (cookie = read(cookie)) !== undefined) { 10449 result[name] = cookie; 10450 } 10451 } 10452 10453 return result; 10454 }; 10455 10456 config.defaults = {}; 10457 10458 $.removeCookie = function (key, options) {
10459 // Must not alter options, thus extending a fresh object... 10460 $.cookie(key, '', $.extend({}, options, { expires: -1 })); 10461 return !$.cookie(key); 10462 }; 10463 10464}));
vendor: 29,142 bytes, lines 10465-11205
10465(function() { 10466 10467 var debug = false; 10468 10469 var root = this; 10470 10471 var EXIF = function(obj) { 10472 if (obj instanceof EXIF) return obj; 10473 if (!(this instanceof EXIF)) return new EXIF(obj); 10474 this.EXIFwrapped = obj; 10475 }; 10476 10477 if (typeof exports !== 'undefined') { 10478 if (typeof module !== 'undefined' && module.exports) { 10479 exports = module.exports = EXIF; 10480 } 10481 exports.EXIF = EXIF; 10482 } else { 10483 root.EXIF = EXIF; 10484 } 10485 10486 var ExifTags = EXIF.Tags = { 10487 10488 // version tags 10489 0x9000 : "ExifVersion", // EXIF version 10490 0xA000 : "FlashpixVersion", // Flashpix format version 10491 10492 // colorspace tags 10493 0xA001 : "ColorSpace", // Color space information tag 10494 10495 // image configuration 10496 0xA002 : "PixelXDimension", // Valid width of meaningful image 10497 0xA003 : "PixelYDimension", // Valid height of meaningful image 10498 0x9101 : "ComponentsConfiguration", // Information about channels 10499 0x9102 : "CompressedBitsPerPixel", // Compressed bits per pixel 10500 10501 // user information 10502 0x927C : "MakerNote", // Any desired information written by the manufacturer 10503 0x9286 : "UserComment", // Comments by user 10504 10505 // related file 10506 0xA004 : "RelatedSoundFile", // Name of related sound file 10507 10508 // date and time 10509 0x9003 : "DateTimeOriginal", // Date and time when the original image was generated 10510 0x9004 : "DateTimeDigitized", // Date and time when the image was stored digitally 10511 0x9290 : "SubsecTime", // Fractions of seconds for DateTime 10512 0x9291 : "SubsecTimeOriginal", // Fractions of seconds for DateTimeOriginal 10513 0x9292 : "SubsecTimeDigitized", // Fractions of seconds for DateTimeDigitized 10514 10515 // picture-taking conditions 10516 0x829A : "ExposureTime", // Exposure time (in seconds) 10517 0x829D : "FNumber", // F number 10518 0x8822 : "ExposureProgram", // Exposure program 10519 0x8824 : "SpectralSensitivity", // Spectral sensitivity 10520 0x8827 : "ISOSpeedRatings", // ISO speed rating 10521 0x8828 : "OECF", // Optoelectric conversion factor 10522 0x9201 : "ShutterSpeedValue", // Shutter speed 10523 0x9202 : "ApertureValue", // Lens aperture 10524 0x9203 : "BrightnessValue", // Value of brightness 10525 0x9204 : "ExposureBias", // Exposure bias 10526 0x9205 : "MaxApertureValue", // Smallest F number of lens 10527 0x9206 : "SubjectDistance", // Distance to subject in meters 10528 0x9207 : "MeteringMode", // Metering mode 10529 0x9208 : "LightSource", // Kind of light source 10530 0x9209 : "Flash", // Flash status 10531 0x9214 : "SubjectArea", // Location and area of main subject 10532 0x920A : "FocalLength", // Focal length of the lens in mm 10533 0xA20B : "FlashEnergy", // Strobe energy in BCPS 10534 0xA20C : "SpatialFrequencyResponse", // 10535 0xA20E : "FocalPlaneXResolution", // Number of pixels in width direction per FocalPlaneResolutionUnit 10536 0xA20F : "FocalPlaneYResolution", // Number of pixels in height direction per FocalPlaneResolutionUnit 10537 0xA210 : "FocalPlaneResolutionUnit", // Unit for measuring FocalPlaneXResolution and FocalPlaneYResolution 10538 0xA214 : "SubjectLocation", // Location of subject in image 10539 0xA215 : "ExposureIndex", // Exposure index selected on camera 10540 0xA217 : "SensingMethod", // Image sensor type 10541 0xA300 : "FileSource", // Image source (3 == DSC) 10542 0xA301 : "SceneType", // Scene type (1 == directly photographed) 10543 0xA302 : "CFAPattern", // Color filter array geometric pattern 10544 0xA401 : "CustomRendered", // Special processing 10545 0xA402 : "ExposureMode", // Exposure mode 10546 0xA403 : "WhiteBalance", // 1 = auto white balance, 2 = manual 10547 0xA404 : "DigitalZoomRation", // Digital zoom ratio 10548 0xA405 : "FocalLengthIn35mmFilm", // Equivalent foacl length assuming 35mm film camera (in mm) 10549 0xA406 : "SceneCaptureType", // Type of scene 10550 0xA407 : "GainControl", // Degree of overall image gain adjustment 10551 0xA408 : "Contrast", // Direction of contrast processing applied by camera 10552 0xA409 : "Saturation", // Direction of saturation processing applied by camera 10553 0xA40A : "Sharpness", // Direction of sharpness processing applied by camera 10554 0xA40B : "DeviceSettingDescription", // 10555 0xA40C : "SubjectDistanceRange", // Distance to subject 10556 10557 // other tags 10558 0xA005 : "InteroperabilityIFDPointer", 10559 0xA420 : "ImageUniqueID" // Identifier assigned uniquely to each image 10560 }; 10561 10562 var TiffTags = EXIF.TiffTags = { 10563 0x0100 : "ImageWidth", 10564 0x0101 : "ImageHeight", 10565 0x8769 : "ExifIFDPointer", 10566 0x8825 : "GPSInfoIFDPointer", 10567 0xA005 : "InteroperabilityIFDPointer", 10568 0x0102 : "BitsPerSample", 10569 0x0103 : "Compression", 10570 0x0106 : "PhotometricInterpretation", 10571 0x0112 : "Orientation", 10572 0x0115 : "SamplesPerPixel", 10573 0x011C : "PlanarConfiguration", 10574 0x0212 : "YCbCrSubSampling", 10575 0x0213 : "YCbCrPositioning", 10576 0x011A : "XResolution", 10577 0x011B : "YResolution", 10578 0x0128 : "ResolutionUnit", 10579 0x0111 : "StripOffsets", 10580 0x0116 : "RowsPerStrip", 10581 0x0117 : "StripByteCounts", 10582 0x0201 : "JPEGInterchangeFormat", 10583 0x0202 : "JPEGInterchangeFormatLength", 10584 0x012D : "TransferFunction", 10585 0x013E : "WhitePoint", 10586 0x013F : "PrimaryChromaticities", 10587 0x0211 : "YCbCrCoefficients", 10588 0x0214 : "ReferenceBlackWhite", 10589 0x0132 : "DateTime", 10590 0x010E : "ImageDescription", 10591 0x010F : "Make", 10592 0x0110 : "Model", 10593 0x0131 : "Software", 10594 0x013B : "Artist", 10595 0x8298 : "Copyright" 10596 }; 10597 10598 var GPSTags = EXIF.GPSTags = { 10599 0x0000 : "GPSVersionID", 10600 0x0001 : "GPSLatitudeRef", 10601 0x0002 : "GPSLatitude", 10602 0x0003 : "GPSLongitudeRef", 10603 0x0004 : "GPSLongitude", 10604 0x0005 : "GPSAltitudeRef", 10605 0x0006 : "GPSAltitude", 10606 0x0007 : "GPSTimeStamp", 10607 0x0008 : "GPSSatellites", 10608 0x0009 : "GPSStatus", 10609 0x000A : "GPSMeasureMode", 10610 0x000B : "GPSDOP", 10611 0x000C : "GPSSpeedRef", 10612 0x000D : "GPSSpeed", 10613 0x000E : "GPSTrackRef", 10614 0x000F : "GPSTrack", 10615 0x0010 : "GPSImgDirectionRef", 10616 0x0011 : "GPSImgDirection", 10617 0x0012 : "GPSMapDatum", 10618 0x0013 : "GPSDestLatitudeRef", 10619 0x0014 : "GPSDestLatitude", 10620 0x0015 : "GPSDestLongitudeRef", 10621 0x0016 : "GPSDestLongitude", 10622 0x0017 : "GPSDestBearingRef", 10623 0x0018 : "GPSDestBearing", 10624 0x0019 : "GPSDestDistanceRef", 10625 0x001A : "GPSDestDistance", 10626 0x001B : "GPSProcessingMethod", 10627 0x001C : "GPSAreaInformation", 10628 0x001D : "GPSDateStamp", 10629 0x001E : "GPSDifferential" 10630 }; 10631 10632 // EXIF 2.3 Spec 10633 var IFD1Tags = EXIF.IFD1Tags = { 10634 0x0100: "ImageWidth", 10635 0x0101: "ImageHeight", 10636 0x0102: "BitsPerSample", 10637 0x0103: "Compression", 10638 0x0106: "PhotometricInterpretation", 10639 0x0111: "StripOffsets", 10640 0x0112: "Orientation", 10641 0x0115: "SamplesPerPixel", 10642 0x0116: "RowsPerStrip", 10643 0x0117: "StripByteCounts", 10644 0x011A: "XResolution", 10645 0x011B: "YResolution", 10646 0x011C: "PlanarConfiguration", 10647 0x0128: "ResolutionUnit", 10648 0x0201: "JpegIFOffset", // When image format is JPEG, this value show offset to JPEG data stored.(aka "ThumbnailOffset" or "JPEGInterchangeFormat") 10649 0x0202: "JpegIFByteCount", // When image format is JPEG, this value shows data size of JPEG image (aka "ThumbnailLength" or "JPEGInterchangeFormatLength") 10650 0x0211: "YCbCrCoefficients", 10651 0x0212: "YCbCrSubSampling", 10652 0x0213: "YCbCrPositioning", 10653 0x0214: "ReferenceBlackWhite" 10654 }; 10655 10656 var StringValues = EXIF.StringValues = { 10657 ExposureProgram : { 10658 0 : "Not defined", 10659 1 : "Manual", 10660 2 : "Normal program", 10661 3 : "Aperture priority", 10662 4 : "Shutter priority", 10663 5 : "Creative program", 10664 6 : "Action program", 10665 7 : "Portrait mode", 10666 8 : "Landscape mode" 10667 }, 10668 MeteringMode : { 10669 0 : "Unknown", 10670 1 : "Average", 10671 2 : "CenterWeightedAverage", 10672 3 : "Spot", 10673 4 : "MultiSpot", 10674 5 : "Pattern", 10675 6 : "Partial", 10676 255 : "Other" 10677 }, 10678 LightSource : { 10679 0 : "Unknown", 10680 1 : "Daylight", 10681 2 : "Fluorescent", 10682 3 : "Tungsten (incandescent light)", 10683 4 : "Flash", 10684 9 : "Fine weather", 10685 10 : "Cloudy weather", 10686 11 : "Shade", 10687 12 : "Daylight fluorescent (D 5700 - 7100K)", 10688 13 : "Day white fluorescent (N 4600 - 5400K)", 10689 14 : "Cool white fluorescent (W 3900 - 4500K)", 10690 15 : "White fluorescent (WW 3200 - 3700K)", 10691 17 : "Standard light A", 10692 18 : "Standard light B", 10693 19 : "Standard light C", 10694 20 : "D55", 10695 21 : "D65", 10696 22 : "D75", 10697 23 : "D50", 10698 24 : "ISO studio tungsten", 10699 255 : "Other" 10700 }, 10701 Flash : { 10702 0x0000 : "Flash did not fire", 10703 0x0001 : "Flash fired", 10704 0x0005 : "Strobe return light not detected", 10705 0x0007 : "Strobe return light detected", 10706 0x0009 : "Flash fired, compulsory flash mode", 10707 0x000D : "Flash fired, compulsory flash mode, return light not detected", 10708 0x000F : "Flash fired, compulsory flash mode, return light detected", 10709 0x0010 : "Flash did not fire, compulsory flash mode", 10710 0x0018 : "Flash did not fire, auto mode", 10711 0x0019 : "Flash fired, auto mode", 10712 0x001D : "Flash fired, auto mode, return light not detected", 10713 0x001F : "Flash fired, auto mode, return light detected", 10714 0x0020 : "No flash function", 10715 0x0041 : "Flash fired, red-eye reduction mode", 10716 0x0045 : "Flash fired, red-eye reduction mode, return light not detected", 10717 0x0047 : "Flash fired, red-eye reduction mode, return light detected", 10718 0x0049 : "Flash fired, compulsory flash mode, red-eye reduction mode", 10719 0x004D : "Flash fired, compulsory flash mode, red-eye reduction mode, return light not detected", 10720 0x004F : "Flash fired, compulsory flash mode, red-eye reduction mode, return light detected", 10721 0x0059 : "Flash fired, auto mode, red-eye reduction mode", 10722 0x005D : "Flash fired, auto mode, return light not detected, red-eye reduction mode", 10723 0x005F : "Flash fired, auto mode, return light detected, red-eye reduction mode" 10724 }, 10725 SensingMethod : { 10726 1 : "Not defined", 10727 2 : "One-chip color area sensor", 10728 3 : "Two-chip color area sensor", 10729 4 : "Three-chip color area sensor", 10730 5 : "Color sequential area sensor", 10731 7 : "Trilinear sensor", 10732 8 : "Color sequential linear sensor" 10733 }, 10734 SceneCaptureType : { 10735 0 : "Standard", 10736 1 : "Landscape", 10737 2 : "Portrait", 10738 3 : "Night scene" 10739 }, 10740 SceneType : { 10741 1 : "Directly photographed" 10742 }, 10743 CustomRendered : { 10744 0 : "Normal process", 10745 1 : "Custom process" 10746 }, 10747 WhiteBalance : { 10748 0 : "Auto white balance", 10749 1 : "Manual white balance" 10750 }, 10751 GainControl : { 10752 0 : "None", 10753 1 : "Low gain up", 10754 2 : "High gain up", 10755 3 : "Low gain down", 10756 4 : "High gain down" 10757 }, 10758 Contrast : { 10759 0 : "Normal", 10760 1 : "Soft", 10761 2 : "Hard" 10762 }, 10763 Saturation : { 10764 0 : "Normal", 10765 1 : "Low saturation", 10766 2 : "High saturation" 10767 }, 10768 Sharpness : { 10769 0 : "Normal", 10770 1 : "Soft", 10771 2 : "Hard" 10772 }, 10773 SubjectDistanceRange : { 10774 0 : "Unknown", 10775 1 : "Macro", 10776 2 : "Close view", 10777 3 : "Distant view" 10778 }, 10779 FileSource : { 10780 3 : "DSC" 10781 }, 10782 10783 Components : { 10784 0 : "", 10785 1 : "Y", 10786 2 : "Cb", 10787 3 : "Cr", 10788 4 : "R", 10789 5 : "G", 10790 6 : "B" 10791 } 10792 }; 10793 10794 function addEvent(element, event, handler) { 10795 if (element.addEventListener) { 10796 element.addEventListener(event, handler, false); 10797 } else if (element.attachEvent) { 10798 element.attachEvent("on" + event, handler); 10799 } 10800 } 10801 10802 function imageHasData(img) { 10803 return !!(img.exifdata); 10804 } 10805 10806 10807 function base64ToArrayBuffer(base64, contentType) { 10808 contentType = contentType || base64.match(/^data\:([^\;]+)\;base64,/mi)[1] || ''; // e.g. 'data:image/jpeg;base64,...' => 'image/jpeg' 10809 base64 = base64.replace(/^data\:([^\;]+)\;base64,/gmi, ''); 10810 var binary = atob(base64); 10811 var len = binary.length; 10812 var buffer = new ArrayBuffer(len); 10813 var view = new Uint8Array(buffer); 10814 for (var i = 0; i < len; i++) { 10815 view[i] = binary.charCodeAt(i); 10816 } 10817 return buffer; 10818 } 10819 10820 function objectURLToBlob(url, callback) { 10821 var http = new XMLHttpRequest(); 10822 http.open("GET", url, true); 10823 http.responseType = "blob"; 10824 http.onload = function(e) { 10825 if (this.status == 200 || this.status === 0) { 10826 callback(this.response); 10827 } 10828 }; 10829 http.send(); 10830 } 10831 10832 function getImageData(img, callback) { 10833 function handleBinaryFile(binFile) { 10834 var data = findEXIFinJPEG(binFile); 10835 img.exifdata = data || {}; 10836 var iptcdata = findIPTCinJPEG(binFile); 10837 img.iptcdata = iptcdata || {}; 10838 if (EXIF.isXmpEnabled) { 10839 var xmpdata= findXMPinJPEG(binFile); 10840 img.xmpdata = xmpdata || {}; 10841 } 10842 if (callback) { 10843 callback.call(img); 10844 } 10845 } 10846 10847 if (img.src) { 10848 if (/^data\:/i.test(img.src)) { // Data URI 10849 var arrayBuffer = base64ToArrayBuffer(img.src); 10850 handleBinaryFile(arrayBuffer); 10851 10852 } else if (/^blob\:/i.test(img.src)) { // Object URL 10853 var fileReader = new FileReader(); 10854 fileReader.onload = function(e) { 10855 handleBinaryFile(e.target.result); 10856 }; 10857 objectURLToBlob(img.src, function (blob) { 10858 fileReader.readAsArrayBuffer(blob); 10859 }); 10860 } else { 10861 var http = new XMLHttpRequest(); 10862 http.onload = function() { 10863 if (this.status == 200 || this.status === 0) { 10864 handleBinaryFile(http.response); 10865 } else { 10866 throw "Could not load image"; 10867 } 10868 http = null; 10869 }; 10870 http.open("GET", img.src, true); 10871 http.responseType = "arraybuffer"; 10872 http.send(null); 10873 } 10874 } else if (self.FileReader && (img instanceof self.Blob || img instanceof self.File)) { 10875 var fileReader = new FileReader(); 10876 fileReader.onload = function(e) { 10877 if (debug) console.log("Got file of length " + e.target.result.byteLength); 10878 handleBinaryFile(e.target.result); 10879 }; 10880 10881 fileReader.readAsArrayBuffer(img); 10882 } 10883 } 10884 10885 function findEXIFinJPEG(file) { 10886 var dataView = new DataView(file); 10887 10888 if (debug) console.log("Got file of length " + file.byteLength); 10889 if ((dataView.getUint8(0) != 0xFF) || (dataView.getUint8(1) != 0xD8)) { 10890 if (debug) console.log("Not a valid JPEG"); 10891 return false; // not a valid jpeg 10892 } 10893 10894 var offset = 2, 10895 length = file.byteLength, 10896 marker; 10897 10898 while (offset < length) { 10899 if (dataView.getUint8(offset) != 0xFF) { 10900 if (debug) console.log("Not a valid marker at offset " + offset + ", found: " + dataView.getUint8(offset)); 10901 return false; // not a valid marker, something is wrong 10902 } 10903 10904 marker = dataView.getUint8(offset + 1); 10905 if (debug) console.log(marker); 10906 10907 // we could implement handling for other markers here, 10908 // but we're only looking for 0xFFE1 for EXIF data 10909 10910 if (marker == 225) { 10911 if (debug) console.log("Found 0xFFE1 marker"); 10912 10913 return readEXIFData(dataView, offset + 4, dataView.getUint16(offset + 2) - 2); 10914 10915 // offset += 2 + file.getShortAt(offset+2, true); 10916 10917 } else { 10918 offset += 2 + dataView.getUint16(offset+2); 10919 } 10920 10921 } 10922 10923 } 10924 10925 function findIPTCinJPEG(file) { 10926 var dataView = new DataView(file); 10927 10928 if (debug) console.log("Got file of length " + file.byteLength); 10929 if ((dataView.getUint8(0) != 0xFF) || (dataView.getUint8(1) != 0xD8)) { 10930 if (debug) console.log("Not a valid JPEG"); 10931 return false; // not a valid jpeg 10932 } 10933 10934 var offset = 2, 10935 length = file.byteLength; 10936 10937 10938 var isFieldSegmentStart = function(dataView, offset){ 10939 return ( 10940 dataView.getUint8(offset) === 0x38 && 10941 dataView.getUint8(offset+1) === 0x42 && 10942 dataView.getUint8(offset+2) === 0x49 && 10943 dataView.getUint8(offset+3) === 0x4D && 10944 dataView.getUint8(offset+4) === 0x04 && 10945 dataView.getUint8(offset+5) === 0x04 10946 ); 10947 }; 10948 10949 while (offset < length) { 10950 10951 if ( isFieldSegmentStart(dataView, offset )){ 10952 10953 // Get the length of the name header (which is padded to an even number of bytes) 10954 var nameHeaderLength = dataView.getUint8(offset+7); 10955 if(nameHeaderLength % 2 !== 0) nameHeaderLength += 1; 10956 // Check for pre photoshop 6 format 10957 if(nameHeaderLength === 0) { 10958 // Always 4 10959 nameHeaderLength = 4; 10960 } 10961 10962 var startOffset = offset + 8 + nameHeaderLength; 10963 var sectionLength = dataView.getUint16(offset + 6 + nameHeaderLength); 10964 10965 return readIPTCData(file, startOffset, sectionLength); 10966 10967 break; 10968 10969 } 10970 10971 10972 // Not the marker, continue searching 10973 offset++; 10974 10975 } 10976 10977 } 10978 var IptcFieldMap = { 10979 0x78 : 'caption', 10980 0x6E : 'credit', 10981 0x19 : 'keywords', 10982 0x37 : 'dateCreated', 10983 0x50 : 'byline', 10984 0x55 : 'bylineTitle', 10985 0x7A : 'captionWriter', 10986 0x69 : 'headline', 10987 0x74 : 'copyright', 10988 0x0F : 'category' 10989 }; 10990 function readIPTCData(file, startOffset, sectionLength){ 10991 var dataView = new DataView(file); 10992 var data = {}; 10993 var fieldValue, fieldName, dataSize, segmentType, segmentSize; 10994 var segmentStartPos = startOffset; 10995 while(segmentStartPos < startOffset+sectionLength) { 10996 if(dataView.getUint8(segmentStartPos) === 0x1C && dataView.getUint8(segmentStartPos+1) === 0x02){ 10997 segmentType = dataView.getUint8(segmentStartPos+2); 10998 if(segmentType in IptcFieldMap) { 10999 dataSize = dataView.getInt16(segmentStartPos+3); 11000 segmentSize = dataSize + 5; 11001 fieldName = IptcFieldMap[segmentType]; 11002 fieldValue = getStringFromDB(dataView, segmentStartPos+5, dataSize); 11003 // Check if we already stored a value with this name 11004 if(data.hasOwnProperty(fieldName)) { 11005 // Value already stored with this name, create multivalue field 11006 if(data[fieldName] instanceof Array) { 11007 data[fieldName].push(fieldValue); 11008 } 11009 else { 11010 data[fieldName] = [data[fieldName], fieldValue]; 11011 } 11012 } 11013 else { 11014 data[fieldName] = fieldValue; 11015 } 11016 } 11017 11018 } 11019 segmentStartPos++; 11020 } 11021 return data; 11022 } 11023 11024 11025 11026 function readTags(file, tiffStart, dirStart, strings, bigEnd) { 11027 var entries = file.getUint16(dirStart, !bigEnd), 11028 tags = {}, 11029 entryOffset, tag, 11030 i; 11031 11032 for (i=0;i<entries;i++) { 11033 entryOffset = dirStart + i*12 + 2; 11034 tag = strings[file.getUint16(entryOffset, !bigEnd)]; 11035 if (!tag && debug) console.log("Unknown tag: " + file.getUint16(entryOffset, !bigEnd)); 11036 tags[tag] = readTagValue(file, entryOffset, tiffStart, dirStart, bigEnd); 11037 } 11038 return tags; 11039 } 11040 11041 11042 function readTagValue(file, entryOffset, tiffStart, dirStart, bigEnd) { 11043 var type = file.getUint16(entryOffset+2, !bigEnd), 11044 numValues = file.getUint32(entryOffset+4, !bigEnd), 11045 valueOffset = file.getUint32(entryOffset+8, !bigEnd) + tiffStart, 11046 offset, 11047 vals, val, n, 11048 numerator, denominator; 11049 11050 switch (type) { 11051 case 1: // byte, 8-bit unsigned int 11052 case 7: // undefined, 8-bit byte, value depending on field 11053 if (numValues == 1) { 11054 return file.getUint8(entryOffset + 8, !bigEnd); 11055 } else { 11056 offset = numValues > 4 ? valueOffset : (entryOffset + 8); 11057 vals = []; 11058 for (n=0;n<numValues;n++) { 11059 vals[n] = file.getUint8(offset + n); 11060 } 11061 return vals; 11062 } 11063 11064 case 2: // ascii, 8-bit byte 11065 offset = numValues > 4 ? valueOffset : (entryOffset + 8); 11066 return getStringFromDB(file, offset, numValues-1); 11067 11068 case 3: // short, 16 bit int 11069 if (numValues == 1) { 11070 return file.getUint16(entryOffset + 8, !bigEnd); 11071 } else { 11072 offset = numValues > 2 ? valueOffset : (entryOffset + 8); 11073 vals = []; 11074 for (n=0;n<numValues;n++) { 11075 vals[n] = file.getUint16(offset + 2*n, !bigEnd); 11076 } 11077 return vals; 11078 } 11079 11080 case 4: // long, 32 bit int 11081 if (numValues == 1) { 11082 return file.getUint32(entryOffset + 8, !bigEnd); 11083 } else { 11084 vals = []; 11085 for (n=0;n<numValues;n++) { 11086 vals[n] = file.getUint32(valueOffset + 4*n, !bigEnd); 11087 } 11088 return vals; 11089 } 11090 11091 case 5: // rational = two long values, first is numerator, second is denominator 11092 if (numValues == 1) { 11093 numerator = file.getUint32(valueOffset, !bigEnd); 11094 denominator = file.getUint32(valueOffset+4, !bigEnd); 11095 val = new Number(numerator / denominator); 11096 val.numerator = numerator; 11097 val.denominator = denominator; 11098 return val; 11099 } else { 11100 vals = []; 11101 for (n=0;n<numValues;n++) { 11102 numerator = file.getUint32(valueOffset + 8*n, !bigEnd); 11103 denominator = file.getUint32(valueOffset+4 + 8*n, !bigEnd); 11104 vals[n] = new Number(numerator / denominator); 11105 vals[n].numerator = numerator; 11106 vals[n].denominator = denominator; 11107 } 11108 return vals; 11109 } 11110 11111 case 9: // slong, 32 bit signed int 11112 if (numValues == 1) { 11113 return file.getInt32(entryOffset + 8, !bigEnd); 11114 } else { 11115 vals = []; 11116 for (n=0;n<numValues;n++) { 11117 vals[n] = file.getInt32(valueOffset + 4*n, !bigEnd); 11118 } 11119 return vals; 11120 } 11121 11122 case 10: // signed rational, two slongs, first is numerator, second is denominator 11123 if (numValues == 1) { 11124 return file.getInt32(valueOffset, !bigEnd) / file.getInt32(valueOffset+4, !bigEnd); 11125 } else { 11126 vals = []; 11127 for (n=0;n<numValues;n++) { 11128 vals[n] = file.getInt32(valueOffset + 8*n, !bigEnd) / file.getInt32(valueOffset+4 + 8*n, !bigEnd); 11129 } 11130 return vals; 11131 } 11132 } 11133 } 11134 11135 /** 11136 * Given an IFD (Image File Directory) start offset 11137 * returns an offset to next IFD or 0 if it's the last IFD. 11138 */ 11139 function getNextIFDOffset(dataView, dirStart, bigEnd){ 11140 //the first 2bytes means the number of directory entries contains in this IFD 11141 var entries = dataView.getUint16(dirStart, !bigEnd); 11142 11143 // After last directory entry, there is a 4bytes of data, 11144 // it means an offset to next IFD. 11145 // If its value is '0x00000000', it means this is the last IFD and there is no linked IFD. 11146 11147 return dataView.getUint32(dirStart + 2 + entries * 12, !bigEnd); // each entry is 12 bytes long 11148 } 11149 11150 function readThumbnailImage(dataView, tiffStart, firstIFDOffset, bigEnd){ 11151 // get the IFD1 offset 11152 var IFD1OffsetPointer = getNextIFDOffset(dataView, tiffStart+firstIFDOffset, bigEnd); 11153 11154 if (!IFD1OffsetPointer) { 11155 // console.log('******** IFD1Offset is empty, image thumb not found ********'); 11156 return {}; 11157 } 11158 else if (IFD1OffsetPointer > dataView.byteLength) { // this should not happen 11159 // console.log('******** IFD1Offset is outside the bounds of the DataView ********'); 11160 return {}; 11161 } 11162 // console.log('******* thumbnail IFD offset (IFD1) is: %s', IFD1OffsetPointer); 11163 11164 var thumbTags = readTags(dataView, tiffStart, tiffStart + IFD1OffsetPointer, IFD1Tags, bigEnd) 11165 11166 // EXIF 2.3 specification for JPEG format thumbnail 11167 11168 // If the value of Compression(0x0103) Tag in IFD1 is '6', thumbnail image format is JPEG. 11169 // Most of Exif image uses JPEG format for thumbnail. In that case, you can get offset of thumbnail 11170 // by JpegIFOffset(0x0201) Tag in IFD1, size of thumbnail by JpegIFByteCount(0x0202) Tag. 11171 // Data format is ordinary JPEG format, starts from 0xFFD8 and ends by 0xFFD9. It seems that 11172 // JPEG format and 160x120pixels of size are recommended thumbnail format for Exif2.1 or later. 11173 11174 if (thumbTags['Compression']) { 11175 // console.log('Thumbnail image found!'); 11176 11177 switch (thumbTags['Compression']) { 11178 case 6: 11179 // console.log('Thumbnail image format is JPEG'); 11180 if (thumbTags.JpegIFOffset && thumbTags.JpegIFByteCount) { 11181 // extract the thumbnail 11182 var tOffset = tiffStart + thumbTags.JpegIFOffset; 11183 var tLength = thumbTags.JpegIFByteCount; 11184 thumbTags['blob'] = new Blob([new Uint8Array(dataView.buffer, tOffset, tLength)], { 11185 type: 'image/jpeg' 11186 }); 11187 } 11188 break; 11189 11190 case 1: 11191 console.log("Thumbnail image format is TIFF, which is not implemented."); 11192 break; 11193 default: 11194 console.log("Unknown thumbnail image format '%s'", thumbTags['Compression']); 11195 } 11196 } 11197 else if (thumbTags['PhotometricInterpretation'] == 2) { 11198 console.log("Thumbnail image format is RGB, which is not implemented."); 11199 } 11200 return thumbTags; 11201 } 11202 11203 function getStringFromDB(buffer, start, length) { 11204 var outstr = ""; 11205 for (
11205var
vendor: 11,312 bytes, lines 11205-11523
11205n = start; n < start+length; n++) { 11206 outstr += String.fromCharCode(buffer.getUint8(n)); 11207 } 11208 return outstr; 11209 } 11210 11211 function readEXIFData(file, start) { 11212 if (getStringFromDB(file, start, 4) != "Exif") { 11213 if (debug) console.log("Not valid EXIF data! " + getStringFromDB(file, start, 4)); 11214 return false; 11215 } 11216 11217 var bigEnd, 11218 tags, tag, 11219 exifData, gpsData, 11220 tiffOffset = start + 6; 11221 11222 // test for TIFF validity and endianness 11223 if (file.getUint16(tiffOffset) == 0x4949) { 11224 bigEnd = false; 11225 } else if (file.getUint16(tiffOffset) == 0x4D4D) { 11226 bigEnd = true; 11227 } else { 11228 if (debug) console.log("Not valid TIFF data! (no 0x4949 or 0x4D4D)"); 11229 return false; 11230 } 11231 11232 if (file.getUint16(tiffOffset+2, !bigEnd) != 0x002A) { 11233 if (debug) console.log("Not valid TIFF data! (no 0x002A)"); 11234 return false; 11235 } 11236 11237 var firstIFDOffset = file.getUint32(tiffOffset+4, !bigEnd); 11238 11239 if (firstIFDOffset < 0x00000008) { 11240 if (debug) console.log("Not valid TIFF data! (First offset less than 8)", file.getUint32(tiffOffset+4, !bigEnd)); 11241 return false; 11242 } 11243 11244 tags = readTags(file, tiffOffset, tiffOffset + firstIFDOffset, TiffTags, bigEnd); 11245 11246 if (tags.ExifIFDPointer) { 11247 exifData = readTags(file, tiffOffset, tiffOffset + tags.ExifIFDPointer, ExifTags, bigEnd); 11248 for (tag in exifData) { 11249 switch (tag) { 11250 case "LightSource" : 11251 case "Flash" : 11252 case "MeteringMode" : 11253 case "ExposureProgram" : 11254 case "SensingMethod" : 11255 case "SceneCaptureType" : 11256 case "SceneType" : 11257 case "CustomRendered" : 11258 case "WhiteBalance" : 11259 case "GainControl" : 11260 case "Contrast" : 11261 case "Saturation" : 11262 case "Sharpness" : 11263 case "SubjectDistanceRange" : 11264 case "FileSource" : 11265 exifData[tag] = StringValues[tag][exifData[tag]]; 11266 break; 11267 11268 case "ExifVersion" : 11269 case "FlashpixVersion" : 11270 exifData[tag] = String.fromCharCode(exifData[tag][0], exifData[tag][1], exifData[tag][2], exifData[tag][3]); 11271 break; 11272 11273 case "ComponentsConfiguration" : 11274 exifData[tag] = 11275 StringValues.Components[exifData[tag][0]] + 11276 StringValues.Components[exifData[tag][1]] + 11277 StringValues.Components[exifData[tag][2]] + 11278 StringValues.Components[exifData[tag][3]]; 11279 break; 11280 } 11281 tags[tag] = exifData[tag]; 11282 } 11283 } 11284 11285 if (tags.GPSInfoIFDPointer) { 11286 gpsData = readTags(file, tiffOffset, tiffOffset + tags.GPSInfoIFDPointer, GPSTags, bigEnd); 11287 for (tag in gpsData) { 11288 switch (tag) { 11289 case "GPSVersionID" : 11290 gpsData[tag] = gpsData[tag][0] + 11291 "." + gpsData[tag][1] + 11292 "." + gpsData[tag][2] + 11293 "." + gpsData[tag][3]; 11294 break; 11295 } 11296 tags[tag] = gpsData[tag]; 11297 } 11298 } 11299 11300 // extract thumbnail 11301 tags['thumbnail'] = readThumbnailImage(file, tiffOffset, firstIFDOffset, bigEnd); 11302 11303 return tags; 11304 } 11305 11306 function findXMPinJPEG(file) { 11307 11308 if (!('DOMParser' in self)) { 11309 // console.warn('XML parsing not supported without DOMParser'); 11310 return; 11311 } 11312 var dataView = new DataView(file); 11313 11314 if (debug) console.log("Got file of length " + file.byteLength); 11315 if ((dataView.getUint8(0) != 0xFF) || (dataView.getUint8(1) != 0xD8)) { 11316 if (debug) console.log("Not a valid JPEG"); 11317 return false; // not a valid jpeg 11318 } 11319 11320 var offset = 2, 11321 length = file.byteLength, 11322 dom = new DOMParser(); 11323 11324 while (offset < (length-4)) { 11325 if (getStringFromDB(dataView, offset, 4) == "http") { 11326 var startOffset = offset - 1; 11327 var sectionLength = dataView.getUint16(offset - 2) - 1; 11328 var xmpString = getStringFromDB(dataView, startOffset, sectionLength) 11329 var xmpEndIndex = xmpString.indexOf('xmpmeta>') + 8; 11330 xmpString = xmpString.substring( xmpString.indexOf( '<x:xmpmeta' ), xmpEndIndex ); 11331 11332 var indexOfXmp = xmpString.indexOf('x:xmpmeta') + 10 11333 //Many custom written programs embed xmp/xml without any namespace. Following are some of them. 11334 //Without these namespaces, XML is thought to be invalid by parsers 11335 xmpString = xmpString.slice(0, indexOfXmp) 11336 + 'xmlns:Iptc4xmpCore="http://iptc.org/std/Iptc4xmpCore/1.0/xmlns/" ' 11337 + 'xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ' 11338 + 'xmlns:tiff="http://ns.adobe.com/tiff/1.0/" ' 11339 + 'xmlns:plus="http://schemas.android.com/apk/lib/com.google.android.gms.plus" ' 11340 + 'xmlns:ext="http://www.gettyimages.com/xsltExtension/1.0" ' 11341 + 'xmlns:exif="http://ns.adobe.com/exif/1.0/" ' 11342 + 'xmlns:stEvt="http://ns.adobe.com/xap/1.0/sType/ResourceEvent#" ' 11343 + 'xmlns:stRef="http://ns.adobe.com/xap/1.0/sType/ResourceRef#" ' 11344 + 'xmlns:crs="http://ns.adobe.com/camera-raw-settings/1.0/" ' 11345 + 'xmlns:xapGImg="http://ns.adobe.com/xap/1.0/g/img/" ' 11346 + 'xmlns:Iptc4xmpExt="http://iptc.org/std/Iptc4xmpExt/2008-02-29/" ' 11347 + xmpString.slice(indexOfXmp) 11348 11349 var domDocument = dom.parseFromString( xmpString, 'text/xml' ); 11350 return xml2Object(domDocument); 11351 } else{ 11352 offset++; 11353 } 11354 } 11355 } 11356 11357 function xml2json(xml) { 11358 var json = {}; 11359 11360 if (xml.nodeType == 1) { // element node 11361 if (xml.attributes.length > 0) { 11362 json['@attributes'] = {}; 11363 for (var j = 0; j < xml.attributes.length; j++) { 11364 var attribute = xml.attributes.item(j); 11365 json['@attributes'][attribute.nodeName] = attribute.nodeValue; 11366 } 11367 } 11368 } else if (xml.nodeType == 3) { // text node 11369 return xml.nodeValue; 11370 } 11371 11372 // deal with children 11373 if (xml.hasChildNodes()) { 11374 for(var i = 0; i < xml.childNodes.length; i++) { 11375 var child = xml.childNodes.item(i); 11376 var nodeName = child.nodeName; 11377 if (json[nodeName] == null) { 11378 json[nodeName] = xml2json(child); 11379 } else { 11380 if (json[nodeName].push == null) { 11381 var old = json[nodeName]; 11382 json[nodeName] = []; 11383 json[nodeName].push(old); 11384 } 11385 json[nodeName].push(xml2json(child)); 11386 } 11387 } 11388 } 11389 11390 return json; 11391 } 11392 11393 function xml2Object(xml) { 11394 try { 11395 var obj = {}; 11396 if (xml.children.length > 0) { 11397 for (var i = 0; i < xml.children.length; i++) { 11398 var item = xml.children.item(i); 11399 var attributes = item.attributes; 11400 for(var idx in attributes) { 11401 var itemAtt = attributes[idx]; 11402 var dataKey = itemAtt.nodeName; 11403 var dataValue = itemAtt.nodeValue; 11404 11405 if(dataKey !== undefined) { 11406 obj[dataKey] = dataValue; 11407 } 11408 } 11409 var nodeName = item.nodeName; 11410 11411 if (typeof (obj[nodeName]) == "undefined") { 11412 obj[nodeName] = xml2json(item); 11413 } else { 11414 if (typeof (obj[nodeName].push) == "undefined") { 11415 var old = obj[nodeName]; 11416 11417 obj[nodeName] = []; 11418 obj[nodeName].push(old); 11419 } 11420 obj[nodeName].push(xml2json(item)); 11421 } 11422 } 11423 } else { 11424 obj = xml.textContent; 11425 } 11426 return obj; 11427 } catch (e) { 11428 console.log(e.message); 11429 } 11430 } 11431 11432 EXIF.enableXmp = function() { 11433 EXIF.isXmpEnabled = true; 11434 } 11435 11436 EXIF.disableXmp = function() { 11437 EXIF.isXmpEnabled = false; 11438 } 11439 11440 EXIF.getData = function(img, callback) { 11441 if (((self.Image && img instanceof self.Image) 11442 || (self.HTMLImageElement && img instanceof self.HTMLImageElement)) 11443 && !img.complete) 11444 return false; 11445 11446 if (!imageHasData(img)) { 11447 getImageData(img, callback); 11448 } else { 11449 if (callback) { 11450 callback.call(img); 11451 } 11452 } 11453 return true; 11454 } 11455 11456 EXIF.getTag = function(img, tag) { 11457 if (!imageHasData(img)) return; 11458 return img.exifdata[tag]; 11459 } 11460 11461 EXIF.getIptcTag = function(img, tag) { 11462 if (!imageHasData(img)) return; 11463 return img.iptcdata[tag]; 11464 } 11465 11466 EXIF.getAllTags = function(img) { 11467 if (!imageHasData(img)) return {}; 11468 var a, 11469 data = img.exifdata, 11470 tags = {}; 11471 for (a in data) { 11472 if (data.hasOwnProperty(a)) { 11473 tags[a] = data[a]; 11474 } 11475 } 11476 return tags; 11477 } 11478 11479 EXIF.getAllIptcTags = function(img) { 11480 if (!imageHasData(img)) return {}; 11481 var a, 11482 data = img.iptcdata, 11483 tags = {}; 11484 for (a in data) { 11485 if (data.hasOwnProperty(a)) { 11486 tags[a] = data[a]; 11487 } 11488 } 11489 return tags; 11490 } 11491 11492 EXIF.pretty = function(img) { 11493 if (!imageHasData(img)) return ""; 11494 var a, 11495 data = img.exifdata, 11496 strPretty = ""; 11497 for (a in data) { 11498 if (data.hasOwnProperty(a)) { 11499 if (typeof data[a] == "object") { 11500 if (data[a] instanceof Number) { 11501 strPretty += a + " : " + data[a] + " [" + data[a].numerator + "/" + data[a].denominator + "]\r\n"; 11502 } else { 11503 strPretty += a + " : [" + data[a].length + " values]\r\n"; 11504 } 11505 } else { 11506 strPretty += a + " : " + data[a] + "\r\n"; 11507 } 11508 } 11509 } 11510 return strPretty; 11511 } 11512 11513 EXIF.readFromBinaryFile = function(file) { 11514 return findEXIFinJPEG(file); 11515 } 11516 11517 if (typeof define === 'function' && define.amd) { 11518 define('exif-js', [], function() { 11519 return EXIF; 11520 }); 11521 } 11522}.call(this)); 11523
11524;(function(factory) { 11525 'use strict'; 11526 if (typeof define === 'function' && define.amd) { 11527 define(['jquery'], factory); 11528 } else if (typeof exports !== 'undefined') { 11529 module.exports = factory(require('jquery')); 11530 } else { 11531 factory(jQuery); 11532 } 11533 11534}(function($) { 11535 'use strict'; 11536 var Slick = window.Slick || {}; 11537 11538 Slick = (function() { 11539 11540 var instanceUid = 0; 11541 11542 function Slick(element, settings) { 11543 11544 var _ = this, dataSettings; 11545 11546 _.defaults = { 11547 accessibility: true, 11548 adaptiveHeight: false, 11549 appendArrows: $(element), 11550 appendDots: $(element), 11551 arrows: true, 11552 asNavFor: null, 11553 prevArrow: '<button class="slick-prev" aria-label="Previous" type="button">Previous</button>', 11554 nextArrow: '<button class="slick-next" aria-label="Next" type="button">Next</button>', 11555 autoplay: false, 11556 autoplaySpeed: 3000, 11557 centerMode: false, 11558 centerPadding: '50px', 11559 cssEase: 'ease', 11560 customPaging: function(slider, i) { 11561 return $('<button type="button" />').text(i + 1); 11562 }, 11563 dots: false, 11564 dotsClass: 'slick-dots', 11565 draggable: true, 11566 easing: 'linear', 11567 edgeFriction: 0.35, 11568 fade: false, 11569 focusOnSelect: false, 11570 focusOnChange: false, 11571 infinite: true, 11572 initialSlide: 0, 11573 lazyLoad: 'ondemand', 11574 mobileFirst: false, 11575 pauseOnHover: true, 11576 pauseOnFocus: true, 11577 pauseOnDotsHover: false, 11578 respondTo: 'window', 11579 responsive: null, 11580 rows: 1, 11581 rtl: false, 11582 slide: '', 11583 slidesPerRow: 1, 11584 slidesToShow: 1, 11585 slidesToScroll: 1, 11586 speed: 500, 11587 swipe: true, 11588 swipeToSlide: false, 11589 touchMove: true, 11590 touchThreshold: 5, 11591 useCSS: true, 11592 useTransform: true, 11593 variableWidth: false, 11594 vertical: false, 11595 verticalSwiping: false, 11596 waitForAnimate: true, 11597 zIndex: 1000 11598 }; 11599 11600 _.initials = { 11601 animating: false, 11602 dragging: false, 11603 autoPlayTimer: null, 11604 currentDirection: 0, 11605 currentLeft: null, 11606 currentSlide: 0, 11607 direction: 1, 11608 $dots: null, 11609 listWidth: null, 11610 listHeight: null, 11611 loadIndex: 0, 11612 $nextArrow: null, 11613 $prevArrow: null, 11614 scrolling: false, 11615 slideCount: null, 11616 slideWidth: null, 11617 $slideTrack: null, 11618 $slides: null, 11619 sliding: false, 11620 slideOffset: 0, 11621 swipeLeft: null, 11622 swiping: false, 11623 $list: null, 11624 touchObject: {}, 11625 transformsEnabled: false,
vendor: 28,764 bytes, lines 11626-12598
11626 unslicked: false 11627 }; 11628 11629 $.extend(_, _.initials); 11630 11631 _.activeBreakpoint = null; 11632 _.animType = null; 11633 _.animProp = null; 11634 _.breakpoints = []; 11635 _.breakpointSettings = []; 11636 _.cssTransitions = false; 11637 _.focussed = false; 11638 _.interrupted = false; 11639 _.hidden = 'hidden'; 11640 _.paused = true; 11641 _.positionProp = null; 11642 _.respondTo = null; 11643 _.rowCount = 1; 11644 _.shouldClick = true; 11645 _.$slider = $(element); 11646 _.$slidesCache = null; 11647 _.transformType = null; 11648 _.transitionType = null; 11649 _.visibilityChange = 'visibilitychange'; 11650 _.windowWidth = 0; 11651 _.windowTimer = null; 11652 11653 dataSettings = $(element).data('slick') || {}; 11654 11655 _.options = $.extend({}, _.defaults, settings, dataSettings); 11656 11657 _.currentSlide = _.options.initialSlide; 11658 11659 _.originalSettings = _.options; 11660 11661 if (typeof document.mozHidden !== 'undefined') { 11662 _.hidden = 'mozHidden'; 11663 _.visibilityChange = 'mozvisibilitychange'; 11664 } else if (typeof document.webkitHidden !== 'undefined') { 11665 _.hidden = 'webkitHidden'; 11666 _.visibilityChange = 'webkitvisibilitychange'; 11667 } 11668 11669 _.autoPlay = $.proxy(_.autoPlay, _); 11670 _.autoPlayClear = $.proxy(_.autoPlayClear, _); 11671 _.autoPlayIterator = $.proxy(_.autoPlayIterator, _); 11672 _.changeSlide = $.proxy(_.changeSlide, _); 11673 _.clickHandler = $.proxy(_.clickHandler, _); 11674 _.selectHandler = $.proxy(_.selectHandler, _); 11675 _.setPosition = $.proxy(_.setPosition, _); 11676 _.swipeHandler = $.proxy(_.swipeHandler, _); 11677 _.dragHandler = $.proxy(_.dragHandler, _); 11678 _.keyHandler = $.proxy(_.keyHandler, _); 11679 11680 _.instanceUid = instanceUid++; 11681 11682 _.htmlExpr = /^(?:\s*(<[\w\W]+>)[^>]*)$/; 11683 11684 11685 _.registerBreakpoints(); 11686 _.init(true); 11687 11688 } 11689 11690 return Slick; 11691 11692 }()); 11693 11694 Slick.prototype.activateADA = function() { 11695 var _ = this; 11696 11697 _.$slideTrack.find('.slick-active').attr({ 11698 'aria-hidden': 'false' 11699 }).find('a, input, button, select').attr({ 11700 'tabindex': '0' 11701 }); 11702 11703 }; 11704 11705 Slick.prototype.addSlide = Slick.prototype.slickAdd = function(markup, index, addBefore) { 11706 11707 var _ = this; 11708 11709 if (typeof(index) === 'boolean') { 11710 addBefore = index; 11711 index = null; 11712 } else if (index < 0 || (index >= _.slideCount)) { 11713 return false; 11714 } 11715 11716 _.unload(); 11717 11718 if (typeof(index) === 'number') { 11719 if (index === 0 && _.$slides.length === 0) { 11720 $(markup).appendTo(_.$slideTrack); 11721 } else if (addBefore) { 11722 $(markup).insertBefore(_.$slides.eq(index)); 11723 } else { 11724 $(markup).insertAfter(_.$slides.eq(index)); 11725 } 11726 } else { 11727 if (addBefore === true) { 11728 $(markup).prependTo(_.$slideTrack); 11729 } else { 11730 $(markup).appendTo(_.$slideTrack); 11731 } 11732 } 11733 11734 _.$slides = _.$slideTrack.children(this.options.slide); 11735 11736 _.$slideTrack.children(this.options.slide).detach(); 11737 11738 _.$slideTrack.append(_.$slides); 11739 11740 _.$slides.each(function(index, element) { 11741 $(element).attr('data-slick-index', index); 11742 }); 11743 11744 _.$slidesCache = _.$slides; 11745 11746 _.reinit(); 11747 11748 }; 11749 11750 Slick.prototype.animateHeight = function() { 11751 var _ = this; 11752 if (_.options.slidesToShow === 1 && _.options.adaptiveHeight === true && _.options.vertical === false) { 11753 var targetHeight = _.$slides.eq(_.currentSlide).outerHeight(true); 11754 _.$list.animate({ 11755 height: targetHeight 11756 }, _.options.speed); 11757 } 11758 }; 11759 11760 Slick.prototype.animateSlide = function(targetLeft, callback) { 11761 11762 var animProps = {}, 11763 _ = this; 11764 11765 _.animateHeight(); 11766 11767 if (_.options.rtl === true && _.options.vertical === false) { 11768 targetLeft = -targetLeft; 11769 } 11770 if (_.transformsEnabled === false) { 11771 if (_.options.vertical === false) { 11772 _.$slideTrack.animate({ 11773 left: targetLeft 11774 }, _.options.speed, _.options.easing, callback); 11775 } else { 11776 _.$slideTrack.animate({ 11777 top: targetLeft 11778 }, _.options.speed, _.options.easing, callback); 11779 } 11780 11781 } else { 11782 11783 if (_.cssTransitions === false) { 11784 if (_.options.rtl === true) { 11785 _.currentLeft = -(_.currentLeft); 11786 } 11787 $({ 11788 animStart: _.currentLeft 11789 }).animate({ 11790 animStart: targetLeft 11791 }, { 11792 duration: _.options.speed, 11793 easing: _.options.easing, 11794 step: function(now) { 11795 now = Math.ceil(now); 11796 if (_.options.vertical === false) { 11797 animProps[_.animType] = 'translate(' + 11798 now + 'px, 0px)'; 11799 _.$slideTrack.css(animProps); 11800 } else { 11801 animProps[_.animType] = 'translate(0px,' + 11802 now + 'px)'; 11803 _.$slideTrack.css(animProps); 11804 } 11805 }, 11806 complete: function() { 11807 if (callback) { 11808 callback.call(); 11809 } 11810 } 11811 }); 11812 11813 } else { 11814 11815 _.applyTransition(); 11816 targetLeft = Math.ceil(targetLeft); 11817 11818 if (_.options.vertical === false) { 11819 animProps[_.animType] = 'translate3d(' + targetLeft + 'px, 0px, 0px)'; 11820 } else { 11821 animProps[_.animType] = 'translate3d(0px,' + targetLeft + 'px, 0px)'; 11822 } 11823 _.$slideTrack.css(animProps); 11824 11825 if (callback) { 11826 setTimeout(function() { 11827 11828 _.disableTransition(); 11829 11830 callback.call(); 11831 }, _.options.speed); 11832 } 11833 11834 } 11835 11836 } 11837 11838 }; 11839 11840 Slick.prototype.getNavTarget = function() { 11841 11842 var _ = this, 11843 asNavFor = _.options.asNavFor; 11844 11845 if ( asNavFor && asNavFor !== null ) { 11846 asNavFor = $(asNavFor).not(_.$slider); 11847 } 11848 11849 return asNavFor; 11850 11851 }; 11852 11853 Slick.prototype.asNavFor = function(index) { 11854 11855 var _ = this, 11856 asNavFor = _.getNavTarget(); 11857 11858 if ( asNavFor !== null && typeof asNavFor === 'object' ) { 11859 asNavFor.each(function() { 11860 var target = $(this).slick('getSlick'); 11861 if(!target.unslicked) { 11862 target.slideHandler(index, true); 11863 } 11864 }); 11865 } 11866 11867 }; 11868 11869 Slick.prototype.applyTransition = function(slide) { 11870 11871 var _ = this, 11872 transition = {}; 11873 11874 if (_.options.fade === false) { 11875 transition[_.transitionType] = _.transformType + ' ' + _.options.speed + 'ms ' + _.options.cssEase; 11876 } else { 11877 transition[_.transitionType] = 'opacity ' + _.options.speed + 'ms ' + _.options.cssEase; 11878 } 11879 11880 if (_.options.fade === false) { 11881 _.$slideTrack.css(transition); 11882 } else { 11883 _.$slides.eq(slide).css(transition); 11884 } 11885 11886 }; 11887 11888 Slick.prototype.autoPlay = function() { 11889 11890 var _ = this; 11891 11892 _.autoPlayClear(); 11893 11894 if ( _.slideCount > _.options.slidesToShow ) { 11895 _.autoPlayTimer = setInterval( _.autoPlayIterator, _.options.autoplaySpeed ); 11896 } 11897 11898 }; 11899 11900 Slick.prototype.autoPlayClear = function() { 11901 11902 var _ = this; 11903 11904 if (_.autoPlayTimer) { 11905 clearInterval(_.autoPlayTimer); 11906 } 11907 11908 }; 11909 11910 Slick.prototype.autoPlayIterator = function() { 11911 11912 var _ = this, 11913 slideTo = _.currentSlide + _.options.slidesToScroll; 11914 11915 if ( !_.paused && !_.interrupted && !_.focussed ) { 11916 11917 if ( _.options.infinite === false ) { 11918 11919 if ( _.direction === 1 && ( _.currentSlide + 1 ) === ( _.slideCount - 1 )) { 11920 _.direction = 0; 11921 } 11922 11923 else if ( _.direction === 0 ) { 11924 11925 slideTo = _.currentSlide - _.options.slidesToScroll; 11926 11927 if ( _.currentSlide - 1 === 0 ) { 11928 _.direction = 1; 11929 } 11930 11931 } 11932 11933 } 11934 11935 _.slideHandler( slideTo ); 11936 11937 } 11938 11939 }; 11940 11941 Slick.prototype.buildArrows = function() { 11942 11943 var _ = this; 11944 11945 if (_.options.arrows === true ) { 11946 11947 _.$prevArrow = $(_.options.prevArrow).addClass('slick-arrow'); 11948 _.$nextArrow = $(_.options.nextArrow).addClass('slick-arrow'); 11949 11950 if( _.slideCount > _.options.slidesToShow ) { 11951 11952 _.$prevArrow.removeClass('slick-hidden').removeAttr('aria-hidden tabindex'); 11953 _.$nextArrow.removeClass('slick-hidden').removeAttr('aria-hidden tabindex'); 11954 11955 if (_.htmlExpr.test(_.options.prevArrow)) { 11956 _.$prevArrow.prependTo(_.options.appendArrows); 11957 } 11958 11959 if (_.htmlExpr.test(_.options.nextArrow)) { 11960 _.$nextArrow.appendTo(_.options.appendArrows); 11961 } 11962 11963 if (_.options.infinite !== true) { 11964 _.$prevArrow 11965 .addClass('slick-disabled') 11966 .attr('aria-disabled', 'true'); 11967 } 11968 11969 } else { 11970 11971 _.$prevArrow.add( _.$nextArrow ) 11972 11973 .addClass('slick-hidden') 11974 .attr({ 11975 'aria-disabled': 'true', 11976 'tabindex': '-1' 11977 }); 11978 11979 } 11980 11981 } 11982 11983 }; 11984 11985 Slick.prototype.buildDots = function() { 11986 11987 var _ = this, 11988 i, dot; 11989 11990 if (_.options.dots === true) { 11991 11992 _.$slider.addClass('slick-dotted'); 11993 11994 dot = $('<ul />').addClass(_.options.dotsClass); 11995 11996 for (i = 0; i <= _.getDotCount(); i += 1) { 11997 dot.append($('<li />').append(_.options.customPaging.call(this, _, i))); 11998 } 11999 12000 _.$dots = dot.appendTo(_.options.appendDots); 12001 12002 _.$dots.find('li').first().addClass('slick-active'); 12003 12004 } 12005 12006 }; 12007 12008 Slick.prototype.buildOut = function() { 12009 12010 var _ = this; 12011 12012 _.$slides = 12013 _.$slider 12014 .children( _.options.slide + ':not(.slick-cloned)') 12015 .addClass('slick-slide'); 12016 12017 _.slideCount = _.$slides.length; 12018 12019 _.$slides.each(function(index, element) { 12020 $(element) 12021 .attr('data-slick-index', index) 12022 .data('originalStyling', $(element).attr('style') || ''); 12023 }); 12024 12025 _.$slider.addClass('slick-slider'); 12026 12027 _.$slideTrack = (_.slideCount === 0) ? 12028 $('<div class="slick-track"/>').appendTo(_.$slider) : 12029 _.$slides.wrapAll('<div class="slick-track"/>').parent(); 12030 12031 _.$list = _.$slideTrack.wrap( 12032 '<div class="slick-list"/>').parent(); 12033 _.$slideTrack.css('opacity', 0); 12034 12035 if (_.options.centerMode === true || _.options.swipeToSlide === true) { 12036 _.options.slidesToScroll = 1; 12037 } 12038 12039 $('img[data-lazy]', _.$slider).not('[src]').addClass('slick-loading'); 12040 12041 _.setupInfinite(); 12042 12043 _.buildArrows(); 12044 12045 _.buildDots(); 12046 12047 _.updateDots(); 12048 12049 12050 _.setSlideClasses(typeof _.currentSlide === 'number' ? _.currentSlide : 0); 12051 12052 if (_.options.draggable === true) { 12053 _.$list.addClass('draggable'); 12054 } 12055 12056 }; 12057 12058 Slick.prototype.buildRows = function() { 12059 12060 var _ = this, a, b, c, newSlides, numOfSlides, originalSlides,slidesPerSection; 12061 12062 newSlides = document.createDocumentFragment(); 12063 originalSlides = _.$slider.children(); 12064 12065 if(_.options.rows > 1) { 12066 12067 slidesPerSection = _.options.slidesPerRow * _.options.rows; 12068 numOfSlides = Math.ceil( 12069 originalSlides.length / slidesPerSection 12070 ); 12071 12072 for(a = 0; a < numOfSlides; a++){ 12073 var slide = document.createElement('div'); 12074 for(b = 0; b < _.options.rows; b++) { 12075 var row = document.createElement('div'); 12076 for(c = 0; c < _.options.slidesPerRow; c++) { 12077 var target = (a * slidesPerSection + ((b * _.options.slidesPerRow) + c)); 12078 if (originalSlides.get(target)) { 12079 row.appendChild(originalSlides.get(target)); 12080 } 12081 } 12082 slide.appendChild(row); 12083 } 12084 newSlides.appendChild(slide); 12085 } 12086 12087 _.$slider.empty().append(newSlides); 12088 _.$slider.children().children().children() 12089 .css({ 12090 'width':(100 / _.options.slidesPerRow) + '%', 12091 'display': 'inline-block' 12092 }); 12093 12094 } 12095 12096 }; 12097 12098 Slick.prototype.checkResponsive = function(initial, forceUpdate) { 12099 12100 var _ = this, 12101 breakpoint, targetBreakpoint, respondToWidth, triggerBreakpoint = false; 12102 var sliderWidth = _.$slider.width(); 12103 var windowWidth = window.innerWidth || $(window).width(); 12104 12105 if (_.respondTo === 'window') { 12106 respondToWidth = windowWidth; 12107 } else if (_.respondTo === 'slider') { 12108 respondToWidth = sliderWidth; 12109 } else if (_.respondTo === 'min') { 12110 respondToWidth = Math.min(windowWidth, sliderWidth); 12111 } 12112 12113 if ( _.options.responsive && 12114 _.options.responsive.length && 12115 _.options.responsive !== null) { 12116 12117 targetBreakpoint = null; 12118 12119 for (breakpoint in _.breakpoints) { 12120 if (_.breakpoints.hasOwnProperty(breakpoint)) { 12121 if (_.originalSettings.mobileFirst === false) { 12122 if (respondToWidth < _.breakpoints[breakpoint]) { 12123 targetBreakpoint = _.breakpoints[breakpoint]; 12124 } 12125 } else { 12126 if (respondToWidth > _.breakpoints[breakpoint]) { 12127 targetBreakpoint = _.breakpoints[breakpoint]; 12128 } 12129 } 12130 } 12131 } 12132 12133 if (targetBreakpoint !== null) { 12134 if (_.activeBreakpoint !== null) { 12135 if (targetBreakpoint !== _.activeBreakpoint || forceUpdate) { 12136 _.activeBreakpoint = 12137 targetBreakpoint; 12138 if (_.breakpointSettings[targetBreakpoint] === 'unslick') { 12139 _.unslick(targetBreakpoint); 12140 } else { 12141 _.options = $.extend({}, _.originalSettings, 12142 _.breakpointSettings[ 12143 targetBreakpoint]); 12144 if (initial === true) { 12145 _.currentSlide = _.options.initialSlide; 12146 } 12147 _.refresh(initial); 12148 } 12149 triggerBreakpoint = targetBreakpoint; 12150 } 12151 } else { 12152 _.activeBreakpoint = targetBreakpoint; 12153 if (_.breakpointSettings[targetBreakpoint] === 'unslick') { 12154 _.unslick(targetBreakpoint); 12155 } else { 12156 _.options = $.extend({}, _.originalSettings, 12157 _.breakpointSettings[ 12158 targetBreakpoint]); 12159 if (initial === true) { 12160 _.currentSlide = _.options.initialSlide; 12161 } 12162 _.refresh(initial); 12163 } 12164 triggerBreakpoint = targetBreakpoint; 12165 } 12166 } else { 12167 if (_.activeBreakpoint !== null) { 12168 _.activeBreakpoint = null; 12169 _.options = _.originalSettings; 12170 if (initial === true) { 12171 _.currentSlide = _.options.initialSlide; 12172 } 12173 _.refresh(initial); 12174 triggerBreakpoint = targetBreakpoint; 12175 } 12176 } 12177 12178 if( !initial && triggerBreakpoint !== false ) { 12179 _.$slider.trigger('breakpoint', [_, triggerBreakpoint]); 12180 } 12181 } 12182 12183 }; 12184 12185 Slick.prototype.changeSlide = function(event, dontAnimate) { 12186 12187 var _ = this, 12188 $target = $(event.currentTarget), 12189 indexOffset, slideOffset, unevenOffset; 12190 12191 if($target.is('a')) { 12192 event.preventDefault(); 12193 } 12194 12195 if(!$target.is('li')) { 12196 $target = $target.closest('li'); 12197 } 12198 12199 unevenOffset = (_.slideCount % _.options.slidesToScroll !== 0); 12200 indexOffset = unevenOffset ? 0 : (_.slideCount - _.currentSlide) % _.options.slidesToScroll; 12201 12202 switch (event.data.message) { 12203 12204 case 'previous': 12205 slideOffset = indexOffset === 0 ? _.options.slidesToScroll : _.options.slidesToShow - indexOffset; 12206 if (_.slideCount > _.options.slidesToShow) { 12207 _.slideHandler(_.currentSlide - slideOffset, false, dontAnimate); 12208 } 12209 break; 12210 12211 case 'next': 12212 slideOffset = indexOffset === 0 ? _.options.slidesToScroll : indexOffset; 12213 if (_.slideCount > _.options.slidesToShow) { 12214 _.slideHandler(_.currentSlide + slideOffset, false, dontAnimate); 12215 } 12216 break; 12217 12218 case 'index': 12219 var index = event.data.index === 0 ? 0 : 12220 event.data.index || $target.index() * _.options.slidesToScroll; 12221 12222 _.slideHandler(_.checkNavigable(index), false, dontAnimate); 12223 $target.children().trigger('focus'); 12224 break; 12225 12226 default: 12227 return; 12228 } 12229 12230 }; 12231 12232 Slick.prototype.checkNavigable = function(index) { 12233 12234 var _ = this, 12235 navigables, prevNavigable; 12236 12237 navigables = _.getNavigableIndexes(); 12238 prevNavigable = 0; 12239 if (index > navigables[navigables.length - 1]) { 12240 index = navigables[navigables.length - 1]; 12241 } else { 12242 for (var n in navigables) { 12243 if (index < navigables[n]) { 12244 index = prevNavigable; 12245 break; 12246 } 12247 prevNavigable = navigables[n]; 12248 } 12249 } 12250 12251 return index; 12252 }; 12253 12254 Slick.prototype.cleanUpEvents = function() { 12255 12256 var _ = this; 12257 12258 if (_.options.dots && _.$dots !== null) { 12259 12260 $('li', _.$dots) 12261 .off('click.slick', _.changeSlide) 12262 .off('mouseenter.slick', $.proxy(_.interrupt, _, true)) 12263 .off('mouseleave.slick', $.proxy(_.interrupt, _, false)); 12264 12265 if (_.options.accessibility === true) { 12266 _.$dots.off('keydown.slick', _.keyHandler); 12267 } 12268 } 12269 12270 _.$slider.off('focus.slick blur.slick'); 12271 12272 if (_.options.arrows === true && _.slideCount > _.options.slidesToShow) { 12273 _.$prevArrow && _.$prevArrow.off('click.slick', _.changeSlide); 12274 _.$nextArrow && _.$nextArrow.off('click.slick', _.changeSlide); 12275 12276 if (_.options.accessibility === true) { 12277 _.$prevArrow && _.$prevArrow.off('keydown.slick', _.keyHandler); 12278 _.$nextArrow && _.$nextArrow.off('keydown.slick', _.keyHandler); 12279 } 12280 } 12281 12282 _.$list.off('touchstart.slick mousedown.slick', _.swipeHandler); 12283 _.$list.off('touchmove.slick mousemove.slick', _.swipeHandler); 12284 _.$list.off('touchend.slick mouseup.slick', _.swipeHandler); 12285 _.$list.off('touchcancel.slick mouseleave.slick', _.swipeHandler); 12286 12287 _.$list.off('click.slick', _.clickHandler); 12288 12289 $(document).off(_.visibilityChange, _.visibility); 12290 12291 _.cleanUpSlideEvents(); 12292 12293 if (_.options.accessibility === true) { 12294 _.$list.off('keydown.slick', _.keyHandler); 12295 } 12296 12297 if (_.options.focusOnSelect === true) { 12298 $(_.$slideTrack).children().off('click.slick', _.selectHandler); 12299 } 12300 12301 $(window).off('orientationchange.slick.slick-' + _.instanceUid, _.orientationChange); 12302 12303 $(window).off('resize.slick.slick-' + _.instanceUid, _.resize); 12304 12305 $('[draggable!=true]', _.$slideTrack).off('dragstart', _.preventDefault); 12306 12307 $(window).off('load.slick.slick-' + _.instanceUid, _.setPosition); 12308 12309 }; 12310 12311 Slick.prototype.cleanUpSlideEvents = function() { 12312 12313 var _ = this; 12314 12315 _.$list.off('mouseenter.slick', $.proxy(_.interrupt, _, true)); 12316 _.$list.off('mouseleave.slick', $.proxy(_.interrupt, _, false)); 12317 12318 }; 12319 12320 Slick.prototype.cleanUpRows = function() { 12321 12322 var _ = this, originalSlides; 12323 12324 if(_.options.rows > 1) { 12325 originalSlides = _.$slides.children().children(); 12326 originalSlides.removeAttr('style'); 12327 _.$slider.empty().append(originalSlides); 12328 } 12329 12330 }; 12331 12332 Slick.prototype.clickHandler = function(event) { 12333 12334 var _ = this; 12335 12336 if (_.shouldClick === false) { 12337 event.stopImmediatePropagation(); 12338 event.stopPropagation(); 12339 event.preventDefault(); 12340 } 12341 12342 }; 12343 12344 Slick.prototype.destroy = function(refresh) { 12345 12346 var _ = this; 12347 12348 _.autoPlayClear(); 12349 12350 _.touchObject = {}; 12351 12352 _.cleanUpEvents(); 12353 12354 $('.slick-cloned', _.$slider).detach(); 12355 12356 if (_.$dots) { 12357 _.$dots.remove(); 12358 } 12359 12360 if ( _.$prevArrow && _.$prevArrow.length ) { 12361 12362 _.$prevArrow 12363 .removeClass('slick-disabled slick-arrow slick-hidden') 12364 .removeAttr('aria-hidden aria-disabled tabindex') 12365 .css('display',''); 12366 12367 if ( _.htmlExpr.test( _.options.prevArrow )) { 12368 _.$prevArrow.remove(); 12369 } 12370 } 12371 12372 if ( _.$nextArrow && _.$nextArrow.length ) { 12373 12374 _.$nextArrow 12375 .removeClass('slick-disabled slick-arrow slick-hidden') 12376 .removeAttr('aria-hidden aria-disabled tabindex') 12377 .css('display',''); 12378 12379 if ( _.htmlExpr.test( _.options.nextArrow )) { 12380 _.$nextArrow.remove(); 12381 } 12382 } 12383 12384 12385 if (_.$slides) { 12386 12387 _.$slides 12388 .removeClass('slick-slide slick-active slick-center slick-visible slick-current') 12389 .removeAttr('aria-hidden') 12390 .removeAttr('data-slick-index') 12391 .each(function(){ 12392 $(this).attr('style', $(this).data('originalStyling')); 12393 }); 12394 12395 _.$slideTrack.children(this.options.slide).detach(); 12396 12397 _.$slideTrack.detach(); 12398 12399 _.$list.detach(); 12400 12401 _.$slider.append(_.$slides); 12402 } 12403 12404 _.cleanUpRows(); 12405 12406 _.$slider.removeClass('slick-slider'); 12407 _.$slider.removeClass('slick-initialized'); 12408 _.$slider.removeClass('slick-dotted'); 12409 12410 _.unslicked = true; 12411 12412 if(!refresh) { 12413 _.$slider.trigger('destroy', [_]); 12414 } 12415 12416 }; 12417 12418 Slick.prototype.disableTransition = function(slide) { 12419 12420 var _ = this, 12421 transition = {}; 12422 12423 transition[_.transitionType] = ''; 12424 12425 if (_.options.fade === false) { 12426 _.$slideTrack.css(transition); 12427 } else { 12428 _.$slides.eq(slide).css(transition); 12429 } 12430 12431 }; 12432 12433 Slick.prototype.fadeSlide = function(slideIndex, callback) { 12434 12435 var _ = this; 12436 12437 if (_.cssTransitions === false) { 12438 12439 _.$slides.eq(slideIndex).css({ 12440 zIndex: _.options.zIndex 12441 }); 12442 12443 _.$slides.eq(slideIndex).animate({ 12444 opacity: 1 12445 }, _.options.speed, _.options.easing, callback); 12446 12447 } else { 12448 12449 _.applyTransition(slideIndex); 12450 12451 _.$slides.eq(slideIndex).css({ 12452 opacity: 1, 12453 zIndex: _.options.zIndex 12454 }); 12455 12456 if (callback) { 12457 setTimeout(function() { 12458 12459 _.disableTransition(slideIndex); 12460 12461 callback.call(); 12462 }, _.options.speed); 12463 } 12464 12465 } 12466 12467 }; 12468 12469 Slick.prototype.fadeSlideOut = function(slideIndex) { 12470 12471 var _ = this; 12472 12473 if (_.cssTransitions === false) { 12474 12475 _.$slides.eq(slideIndex).animate({ 12476 opacity: 0, 12477 zIndex: _.options.zIndex - 2 12478 }, _.options.speed, _.options.easing); 12479 12480 } else { 12481 12482 _.applyTransition(slideIndex); 12483 12484 _.$slides.eq(slideIndex).css({ 12485 opacity: 0, 12486 zIndex: _.options.zIndex - 2 12487 }); 12488 12489 } 12490 12491 }; 12492 12493 Slick.prototype.filterSlides = Slick.prototype.slickFilter = function(filter) { 12494 12495 var _ = this; 12496 12497 if (filter !== null) { 12498 12499 _.$slidesCache = _.$slides; 12500 12501 _.unload(); 12502 12503 _.$slideTrack.children(this.options.slide).detach(); 12504 12505 _.$slidesCache.filter(filter).appendTo(_.$slideTrack); 12506 12507 _.reinit(); 12508 12509 } 12510 12511 }; 12512 12513 Slick.prototype.focusHandler = function() { 12514 12515 var _ = this; 12516 12517 _.$slider 12518 .off('focus.slick blur.slick') 12519 .on('focus.slick blur.slick', '*', function(event) { 12520 12521 event.stopImmediatePropagation(); 12522 var $sf = $(this); 12523 12524 setTimeout(function() { 12525 12526 if( _.options.pauseOnFocus ) { 12527 _.focussed = $sf.is(':focus'); 12528 _.autoPlay(); 12529 } 12530 12531 }, 0); 12532 12533 }); 12534 }; 12535 12536 Slick.prototype.getCurrent = Slick.prototype.slickCurrentSlide = function() { 12537 12538 var _ = this; 12539 return _.currentSlide; 12540 12541 }; 12542 12543 Slick.prototype.getDotCount = function() { 12544 12545 var _ = this; 12546 12547 var breakPoint = 0; 12548 var counter = 0; 12549 var pagerQty = 0; 12550 12551 if (_.options.infinite === true) { 12552 if (_.slideCount <= _.options.slidesToShow) { 12553 ++pagerQty; 12554 } else { 12555 while (breakPoint < _.slideCount) { 12556 ++pagerQty; 12557 breakPoint = counter + _.options.slidesToScroll; 12558 counter += _.options.slidesToScroll <= _.options.slidesToShow ? _.options.slidesToScroll : _.options.slidesToShow; 12559 } 12560 } 12561 } else if (_.options.centerMode === true) { 12562 pagerQty = _.slideCount; 12563 } else if(!_.options.asNavFor) { 12564 pagerQty = 1 + Math.ceil((_.slideCount - _.options.slidesToShow) / _.options.slidesToScroll); 12565 }else { 12566 while (breakPoint < _.slideCount) { 12567 ++pagerQty; 12568 breakPoint = counter + _.options.slidesToScroll; 12569 counter += _.options.slidesToScroll <= _.options.slidesToShow ? _.options.slidesToScroll : _.options.slidesToShow; 12570 } 12571 } 12572 12573 return pagerQty - 1; 12574 12575 }; 12576 12577 Slick.prototype.getLeft = function(slideIndex) { 12578 12579 var _ = this, 12580 targetLeft, 12581 verticalHeight, 12582 verticalOffset = 0, 12583 targetSlide, 12584 coef; 12585 12586 _.slideOffset = 0; 12587 verticalHeight = _.$slides.first().outerHeight(true); 12588 12589 if (_.options.infinite === true) { 12590 if (_.slideCount > _.options.slidesToShow) { 12591 _.slideOffset = (_.slideWidth * _.options.slidesToShow) * -1; 12592 coef = -1 12593 12594 if (_.options.vertical === true && _.options.centerMode === true) { 12595 if (_.options.slidesToShow === 2) { 12596 coef = -1.5; 12597 } else if (_.options.slidesToShow === 1) { 12598 coef = -2
vendor: 7,663 bytes, lines 12598-12825
12598 12599 } 12600 } 12601 verticalOffset = (verticalHeight * _.options.slidesToShow) * coef; 12602 } 12603 if (_.slideCount % _.options.slidesToScroll !== 0) { 12604 if (slideIndex + _.options.slidesToScroll > _.slideCount && _.slideCount > _.options.slidesToShow) { 12605 if (slideIndex > _.slideCount) { 12606 _.slideOffset = ((_.options.slidesToShow - (slideIndex - _.slideCount)) * _.slideWidth) * -1; 12607 verticalOffset = ((_.options.slidesToShow - (slideIndex - _.slideCount)) * verticalHeight) * -1; 12608 } else { 12609 _.slideOffset = ((_.slideCount % _.options.slidesToScroll) * _.slideWidth) * -1; 12610 verticalOffset = ((_.slideCount % _.options.slidesToScroll) * verticalHeight) * -1; 12611 } 12612 } 12613 } 12614 } else { 12615 if (slideIndex + _.options.slidesToShow > _.slideCount) { 12616 _.slideOffset = ((slideIndex + _.options.slidesToShow) - _.slideCount) * _.slideWidth; 12617 verticalOffset = ((slideIndex + _.options.slidesToShow) - _.slideCount) * verticalHeight; 12618 } 12619 } 12620 12621 if (_.slideCount <= _.options.slidesToShow) { 12622 _.slideOffset = 0; 12623 verticalOffset = 0; 12624 } 12625 12626 if (_.options.centerMode === true && _.slideCount <= _.options.slidesToShow) { 12627 _.slideOffset = ((_.slideWidth * Math.floor(_.options.slidesToShow)) / 2) - ((_.slideWidth * _.slideCount) / 2); 12628 } else if (_.options.centerMode === true && _.options.infinite === true) { 12629 _.slideOffset += _.slideWidth * Math.floor(_.options.slidesToShow / 2) - _.slideWidth; 12630 } else if (_.options.centerMode === true) { 12631 _.slideOffset = 0; 12632 _.slideOffset += _.slideWidth * Math.floor(_.options.slidesToShow / 2); 12633 } 12634 12635 if (_.options.vertical === false) { 12636 targetLeft = ((slideIndex * _.slideWidth) * -1) + _.slideOffset; 12637 } else { 12638 targetLeft = ((slideIndex * verticalHeight) * -1) + verticalOffset; 12639 } 12640 12641 if (_.options.variableWidth === true) { 12642 12643 if (_.slideCount <= _.options.slidesToShow || _.options.infinite === false) { 12644 targetSlide = _.$slideTrack.children('.slick-slide').eq(slideIndex); 12645 } else { 12646 targetSlide = _.$slideTrack.children('.slick-slide').eq(slideIndex + _.options.slidesToShow); 12647 } 12648 12649 if (_.options.rtl === true) { 12650 if (targetSlide[0]) { 12651 targetLeft = (_.$slideTrack.width() - targetSlide[0].offsetLeft - targetSlide.width()) * -1; 12652 } else { 12653 targetLeft = 0; 12654 } 12655 } else { 12656 targetLeft = targetSlide[0] ? targetSlide[0].offsetLeft * -1 : 0; 12657 } 12658 12659 if (_.options.centerMode === true) { 12660 if (_.slideCount <= _.options.slidesToShow || _.options.infinite === false) { 12661 targetSlide = _.$slideTrack.children('.slick-slide').eq(slideIndex); 12662 } else { 12663 targetSlide = _.$slideTrack.children('.slick-slide').eq(slideIndex + _.options.slidesToShow + 1); 12664 } 12665 12666 if (_.options.rtl === true) { 12667 if (targetSlide[0]) { 12668 targetLeft = (_.$slideTrack.width() - targetSlide[0].offsetLeft - targetSlide.width()) * -1; 12669 } else { 12670 targetLeft = 0; 12671 } 12672 } else { 12673 targetLeft = targetSlide[0] ? targetSlide[0].offsetLeft * -1 : 0; 12674 } 12675 12676 targetLeft += (_.$list.width() - targetSlide.outerWidth()) / 2; 12677 } 12678 } 12679 12680 return targetLeft; 12681 12682 }; 12683 12684 Slick.prototype.getOption = Slick.prototype.slickGetOption = function(option) { 12685 12686 var _ = this; 12687 12688 return _.options[option]; 12689 12690 }; 12691 12692 Slick.prototype.getNavigableIndexes = function() { 12693 12694 var _ = this, 12695 breakPoint = 0, 12696 counter = 0, 12697 indexes = [], 12698 max; 12699 12700 if (_.options.infinite === false) { 12701 max = _.slideCount; 12702 } else { 12703 breakPoint = _.options.slidesToScroll * -1; 12704 counter = _.options.slidesToScroll * -1; 12705 max = _.slideCount * 2; 12706 } 12707 12708 while (breakPoint < max) { 12709 indexes.push(breakPoint); 12710 breakPoint = counter + _.options.slidesToScroll; 12711 counter += _.options.slidesToScroll <= _.options.slidesToShow ? _.options.slidesToScroll : _.options.slidesToShow; 12712 } 12713 12714 return indexes; 12715 12716 }; 12717 12718 Slick.prototype.getSlick = function() { 12719 12720 return this; 12721 12722 }; 12723 12724 Slick.prototype.getSlideCount = function() { 12725 12726 var _ = this, 12727 slidesTraversed, swipedSlide, centerOffset; 12728 12729 centerOffset = _.options.centerMode === true ? _.slideWidth * Math.floor(_.options.slidesToShow / 2) : 0; 12730 12731 if (_.options.swipeToSlide === true) { 12732 _.$slideTrack.find('.slick-slide').each(function(index, slide) { 12733 if (slide.offsetLeft - centerOffset + ($(slide).outerWidth() / 2) > (_.swipeLeft * -1)) { 12734 swipedSlide = slide; 12735 return false; 12736 } 12737 }); 12738 12739 slidesTraversed = Math.abs($(swipedSlide).attr('data-slick-index') - _.currentSlide) || 1; 12740 12741 return slidesTraversed; 12742 12743 } else { 12744 return _.options.slidesToScroll; 12745 } 12746 12747 }; 12748 12749 Slick.prototype.goTo = Slick.prototype.slickGoTo = function(slide, dontAnimate) { 12750 12751 var _ = this; 12752 12753 _.changeSlide({ 12754 data: { 12755 message: 'index', 12756 index: parseInt(slide) 12757 } 12758 }, dontAnimate); 12759 12760 }; 12761 12762 Slick.prototype.init = function(creation) { 12763 12764 var _ = this; 12765 12766 if (!$(_.$slider).hasClass('slick-initialized')) { 12767 12768 $(_.$slider).addClass('slick-initialized'); 12769 12770 _.buildRows(); 12771 _.buildOut(); 12772 _.setProps(); 12773 _.startLoad(); 12774 _.loadSlider(); 12775 _.initializeEvents(); 12776 _.updateArrows(); 12777 _.updateDots(); 12778 _.checkResponsive(true); 12779 _.focusHandler(); 12780 12781 } 12782 12783 if (creation) { 12784 _.$slider.trigger('init', [_]); 12785 } 12786 12787 if (_.options.accessibility === true) { 12788 _.initADA(); 12789 } 12790 12791 if ( _.options.autoplay ) { 12792 12793 _.paused = false; 12794 _.autoPlay(); 12795 12796 } 12797 12798 }; 12799 12800 Slick.prototype.initADA = function() { 12801 var _ = this, 12802 numDotGroups = Math.ceil(_.slideCount / _.options.slidesToShow), 12803 tabControlIndexes = _.getNavigableIndexes().filter(function(val) { 12804 return (val >= 0) && (val < _.slideCount); 12805 }); 12806 12807 _.$slides.add(_.$slideTrack.find('.slick-cloned')).attr({ 12808 'aria-hidden': 'true', 12809 'tabindex': '-1' 12810 }).find('a, input, button, select').attr({ 12811 'tabindex': '-1' 12812 }); 12813 12814 if (_.$dots !== null) { 12815 _.$slides.not(_.$slideTrack.find('.slick-cloned')).each(function(i) { 12816 var slideControlIndex = tabControlIndexes.indexOf(i); 12817 12818 $(this).attr({ 12819 'role': 'tabpanel', 12820 'id': 'slick-slide' + _.instanceUid + i, 12821 'tabindex': -1 12822 }); 12823 12824 if (slideControlIndex !== -1) { 12825
vendor: 10,948 bytes, lines 12825-13200
12825 $(this).attr({ 12826 'aria-describedby': 'slick-slide-control' + _.instanceUid + slideControlIndex 12827 }); 12828 } 12829 }); 12830 12831 _.$dots.attr('role', 'tablist').find('li').each(function(i) { 12832 var mappedSlideIndex = tabControlIndexes[i]; 12833 12834 $(this).attr({ 12835 'role': 'presentation' 12836 }); 12837 12838 $(this).find('button').first().attr({ 12839 'role': 'tab', 12840 'id': 'slick-slide-control' + _.instanceUid + i, 12841 'aria-controls': 'slick-slide' + _.instanceUid + mappedSlideIndex, 12842 'aria-label': (i + 1) + ' of ' + numDotGroups, 12843 'aria-selected': null, 12844 'tabindex': '-1' 12845 }); 12846 12847 }).eq(_.currentSlide).find('button').attr({ 12848 'aria-selected': 'true', 12849 'tabindex': '0' 12850 }).end(); 12851 } 12852 12853 for (var i=_.currentSlide, max=i+_.options.slidesToShow; i < max; i++) { 12854 _.$slides.eq(i).attr('tabindex', 0); 12855 } 12856 12857 _.activateADA(); 12858 12859 }; 12860 12861 Slick.prototype.initArrowEvents = function() { 12862 12863 var _ = this; 12864 12865 if (_.options.arrows === true && _.slideCount > _.options.slidesToShow) { 12866 _.$prevArrow 12867 .off('click.slick') 12868 .on('click.slick', { 12869 message: 'previous' 12870 }, _.changeSlide); 12871 _.$nextArrow 12872 .off('click.slick') 12873 .on('click.slick', { 12874 message: 'next' 12875 }, _.changeSlide); 12876 12877 if (_.options.accessibility === true) { 12878 _.$prevArrow.on('keydown.slick', _.keyHandler); 12879 _.$nextArrow.on('keydown.slick', _.keyHandler); 12880 } 12881 } 12882 12883 }; 12884 12885 Slick.prototype.initDotEvents = function() { 12886 12887 var _ = this; 12888 12889 if (_.options.dots === true) { 12890 $('li', _.$dots).on('click.slick', { 12891 message: 'index' 12892 }, _.changeSlide); 12893 12894 if (_.options.accessibility === true) { 12895 _.$dots.on('keydown.slick', _.keyHandler); 12896 } 12897 } 12898 12899 if ( _.options.dots === true && _.options.pauseOnDotsHover === true ) { 12900 12901 $('li', _.$dots) 12902 .on('mouseenter.slick', $.proxy(_.interrupt, _, true)) 12903 .on('mouseleave.slick', $.proxy(_.interrupt, _, false)); 12904 12905 } 12906 12907 }; 12908 12909 Slick.prototype.initSlideEvents = function() { 12910 12911 var _ = this; 12912 12913 if ( _.options.pauseOnHover ) { 12914 12915 _.$list.on('mouseenter.slick', $.proxy(_.interrupt, _, true)); 12916 _.$list.on('mouseleave.slick', $.proxy(_.interrupt, _, false)); 12917 12918 } 12919 12920 }; 12921 12922 Slick.prototype.initializeEvents = function() { 12923 12924 var _ = this; 12925 12926 _.initArrowEvents(); 12927 12928 _.initDotEvents(); 12929 _.initSlideEvents(); 12930 12931 _.$list.on('touchstart.slick mousedown.slick', { 12932 action: 'start' 12933 }, _.swipeHandler); 12934 _.$list.on('touchmove.slick mousemove.slick', { 12935 action: 'move' 12936 }, _.swipeHandler); 12937 _.$list.on('touchend.slick mouseup.slick', { 12938 action: 'end' 12939 }, _.swipeHandler); 12940 _.$list.on('touchcancel.slick mouseleave.slick', { 12941 action: 'end' 12942 }, _.swipeHandler); 12943 12944 _.$list.on('click.slick', _.clickHandler); 12945 12946 $(document).on(_.visibilityChange, $.proxy(_.visibility, _)); 12947 12948 if (_.options.accessibility === true) { 12949 _.$list.on('keydown.slick', _.keyHandler); 12950 } 12951 12952 if (_.options.focusOnSelect === true) { 12953 $(_.$slideTrack).children().on('click.slick', _.selectHandler); 12954 } 12955 12956 $(window).on('orientationchange.slick.slick-' + _.instanceUid, $.proxy(_.orientationChange, _)); 12957 12958 $(window).on('resize.slick.slick-' + _.instanceUid, $.proxy(_.resize, _)); 12959 12960 $('[draggable!=true]', _.$slideTrack).on('dragstart', _.preventDefault); 12961 12962 $(window).on('load.slick.slick-' + _.instanceUid, _.setPosition); 12963 $(_.setPosition); 12964 12965 }; 12966 12967 Slick.prototype.initUI = function() { 12968 12969 var _ = this; 12970 12971 if (_.options.arrows === true && _.slideCount > _.options.slidesToShow) { 12972 12973 _.$prevArrow.show(); 12974 _.$nextArrow.show(); 12975 12976 } 12977 12978 if (_.options.dots === true && _.slideCount > _.options.slidesToShow) { 12979 12980 _.$dots.show(); 12981 12982 } 12983 12984 }; 12985 12986 Slick.prototype.keyHandler = function(event) { 12987 12988 var _ = this; 12989 //Dont slide if the cursor is inside the form fields and arrow keys are pressed 12990 if(!event.target.tagName.match('TEXTAREA|INPUT|SELECT')) { 12991 if (event.keyCode === 37 && _.options.accessibility === true) { 12992 _.changeSlide({ 12993 data: { 12994 message: _.options.rtl === true ? 'next' : 'previous' 12995 } 12996 }); 12997 } else if (event.keyCode === 39 && _.options.accessibility === true) { 12998 _.changeSlide({ 12999 data: { 13000 message: _.options.rtl === true ? 'previous' : 'next' 13001 } 13002 }); 13003 } 13004 } 13005 13006 }; 13007 13008 Slick.prototype.lazyLoad = function() { 13009 13010 var _ = this, 13011 loadRange, cloneRange, rangeStart, rangeEnd; 13012 13013 function loadImages(imagesScope) { 13014 13015 $('img[data-lazy]', imagesScope).each(function() { 13016 13017 var image = $(this), 13018 imageSource = $(this).attr('data-lazy'), 13019 imageSrcSet = $(this).attr('data-srcset'), 13020 imageSizes = $(this).attr('data-sizes') || _.$slider.attr('data-sizes'), 13021 imageToLoad = document.createElement('img'); 13022 13023 imageToLoad.onload = function() { 13024 13025 image 13026 .animate({ opacity: 0 }, 100, function() { 13027 13028 if (imageSrcSet) { 13029 image 13030 .attr('srcset', imageSrcSet ); 13031 13032 if (imageSizes) { 13033 image 13034 .attr('sizes', imageSizes ); 13035 } 13036 } 13037 13038 image 13039 .attr('src', imageSource) 13040 .animate({ opacity: 1 }, 200, function() { 13041 image 13042 .removeAttr('data-lazy data-srcset data-sizes') 13043 .removeClass('slick-loading'); 13044 }); 13045 _.$slider.trigger('lazyLoaded', [_, image, imageSource]); 13046 }); 13047 13048 }; 13049 13050 imageToLoad.onerror = function() { 13051 13052 image 13053 .removeAttr( 'data-lazy' ) 13054 .removeClass( 'slick-loading' ) 13055 .addClass( 'slick-lazyload-error' ); 13056 13057 _.$slider.trigger('lazyLoadError', [ _, image, imageSource ]); 13058 13059 }; 13060 13061 imageToLoad.src = imageSource; 13062 13063 }); 13064 13065 } 13066 13067 if (_.options.centerMode === true) { 13068 if (_.options.infinite === true) { 13069 rangeStart = _.currentSlide + (_.options.slidesToShow / 2 + 1); 13070 rangeEnd = rangeStart + _.options.slidesToShow + 2; 13071 } else { 13072 rangeStart = Math.max(0, _.currentSlide - (_.options.slidesToShow / 2 + 1)); 13073 rangeEnd = 2 + (_.options.slidesToShow / 2 + 1) + _.currentSlide; 13074 } 13075 } else { 13076 rangeStart = _.options.infinite ? _.options.slidesToShow + _.currentSlide : _.currentSlide; 13077 rangeEnd = Math.ceil(rangeStart + _.options.slidesToShow); 13078 if (_.options.fade === true) { 13079 if (rangeStart > 0) rangeStart--; 13080 if (rangeEnd <= _.slideCount) rangeEnd++; 13081 } 13082 } 13083 13084 loadRange = _.$slider.find('.slick-slide').slice(rangeStart, rangeEnd); 13085 13086 if (_.options.lazyLoad === 'anticipated') { 13087 var prevSlide = rangeStart - 1, 13088 nextSlide = rangeEnd, 13089 $slides = _.$slider.find('.slick-slide'); 13090 13091 for (var i = 0; i < _.options.slidesToScroll; i++) { 13092 if (prevSlide < 0) prevSlide = _.slideCount - 1; 13093 loadRange = loadRange.add($slides.eq(prevSlide)); 13094 loadRange = loadRange.add($slides.eq(nextSlide)); 13095 prevSlide--; 13096 nextSlide++; 13097 } 13098 } 13099 13100 loadImages(loadRange); 13101 13102 if (_.slideCount <= _.options.slidesToShow) { 13103 cloneRange = _.$slider.find('.slick-slide'); 13104 loadImages(cloneRange); 13105 } else 13106 if (_.currentSlide >= _.slideCount - _.options.slidesToShow) { 13107 cloneRange = _.$slider.find('.slick-cloned').slice(0, _.options.slidesToShow); 13108 loadImages(cloneRange); 13109 } else if (_.currentSlide === 0) { 13110 cloneRange = _.$slider.find('.slick-cloned').slice(_.options.slidesToShow * -1); 13111 loadImages(cloneRange); 13112 } 13113 13114 }; 13115 13116 Slick.prototype.loadSlider = function() { 13117 13118 var _ = this; 13119 13120 _.setPosition(); 13121 13122 _.$slideTrack.css({ 13123 opacity: 1 13124 }); 13125 13126 _.$slider.removeClass('slick-loading'); 13127 13128 _.initUI(); 13129 13130 if (_.options.lazyLoad === 'progressive') { 13131 _.progressiveLazyLoad(); 13132 } 13133 13134 }; 13135 13136 Slick.prototype.next = Slick.prototype.slickNext = function() { 13137 13138 var _ = this; 13139 13140 _.changeSlide({ 13141 data: { 13142 message: 'next' 13143 } 13144 }); 13145 13146 }; 13147 13148 Slick.prototype.orientationChange = function() { 13149 13150 var _ = this; 13151 13152 _.checkResponsive(); 13153 _.setPosition(); 13154 13155 }; 13156 13157 Slick.prototype.pause = Slick.prototype.slickPause = function() { 13158 13159 var _ = this; 13160 13161 _.autoPlayClear(); 13162 _.paused = true; 13163 13164 }; 13165 13166 Slick.prototype.play = Slick.prototype.slickPlay = function() { 13167 13168 var _ = this; 13169 13170 _.autoPlay(); 13171 _.options.autoplay = true; 13172 _.paused = false; 13173 _.focussed = false; 13174 _.interrupted = false; 13175 13176 }; 13177 13178 Slick.prototype.postSlide = function(index) { 13179 13180 var _ = this; 13181 13182 if( !_.unslicked ) { 13183 13184 _.$slider.trigger('afterChange', [_, index]); 13185 13186 _.animating = false; 13187 13188 if (_.slideCount > _.options.slidesToShow) { 13189 _.setPosition(); 13190 } 13191 13192 _.swipeLeft = null; 13193 13194 if ( _.options.autoplay ) { 13195 _.autoPlay(); 13196 } 13197 13198 if (_.options.accessibility === true) { 13199 _.initADA(); 13200
vendor: 22,879 bytes, lines 13200-13993
13200 13201 if (_.options.focusOnChange) { 13202 var $currentSlide = $(_.$slides.get(_.currentSlide)); 13203 $currentSlide.attr('tabindex', 0).focus(); 13204 } 13205 } 13206 13207 } 13208 13209 }; 13210 13211 Slick.prototype.prev = Slick.prototype.slickPrev = function() { 13212 13213 var _ = this; 13214 13215 _.changeSlide({ 13216 data: { 13217 message: 'previous' 13218 } 13219 }); 13220 13221 }; 13222 13223 Slick.prototype.preventDefault = function(event) { 13224 13225 event.preventDefault(); 13226 13227 }; 13228 13229 Slick.prototype.progressiveLazyLoad = function( tryCount ) { 13230 13231 tryCount = tryCount || 1; 13232 13233 var _ = this, 13234 $imgsToLoad = $( 'img[data-lazy]', _.$slider ), 13235 image, 13236 imageSource, 13237 imageSrcSet, 13238 imageSizes, 13239 imageToLoad; 13240 13241 if ( $imgsToLoad.length ) { 13242 13243 image = $imgsToLoad.first(); 13244 imageSource = image.attr('data-lazy'); 13245 imageSrcSet = image.attr('data-srcset'); 13246 imageSizes = image.attr('data-sizes') || _.$slider.attr('data-sizes'); 13247 imageToLoad = document.createElement('img'); 13248 13249 imageToLoad.onload = function() { 13250 13251 if (imageSrcSet) { 13252 image 13253 .attr('srcset', imageSrcSet ); 13254 13255 if (imageSizes) { 13256 image 13257 .attr('sizes', imageSizes ); 13258 } 13259 } 13260 13261 image 13262 .attr( 'src', imageSource ) 13263 .removeAttr('data-lazy data-srcset data-sizes') 13264 .removeClass('slick-loading'); 13265 13266 if ( _.options.adaptiveHeight === true ) { 13267 _.setPosition(); 13268 } 13269 13270 _.$slider.trigger('lazyLoaded', [ _, image, imageSource ]); 13271 _.progressiveLazyLoad(); 13272 13273 }; 13274 13275 imageToLoad.onerror = function() { 13276 13277 if ( tryCount < 3 ) { 13278 13279 /** 13280 * try to load the image 3 times, 13281 * leave a slight delay so we don't get 13282 * servers blocking the request. 13283 */ 13284 setTimeout( function() { 13285 _.progressiveLazyLoad( tryCount + 1 ); 13286 }, 500 ); 13287 13288 } else { 13289 13290 image 13291 .removeAttr( 'data-lazy' ) 13292 .removeClass( 'slick-loading' ) 13293 .addClass( 'slick-lazyload-error' ); 13294 13295 _.$slider.trigger('lazyLoadError', [ _, image, imageSource ]); 13296 13297 _.progressiveLazyLoad(); 13298 13299 } 13300 13301 }; 13302 13303 imageToLoad.src = imageSource; 13304 13305 } else { 13306 13307 _.$slider.trigger('allImagesLoaded', [ _ ]); 13308 13309 } 13310 13311 }; 13312 13313 Slick.prototype.refresh = function( initializing ) { 13314 13315 var _ = this, currentSlide, lastVisibleIndex; 13316 13317 lastVisibleIndex = _.slideCount - _.options.slidesToShow; 13318 13319 // in non-infinite sliders, we don't want to go past the 13320 // last visible index. 13321 if( !_.options.infinite && ( _.currentSlide > lastVisibleIndex )) { 13322 _.currentSlide = lastVisibleIndex; 13323 } 13324 13325 // if less slides than to show, go to start. 13326 if ( _.slideCount <= _.options.slidesToShow ) { 13327 _.currentSlide = 0; 13328 13329 } 13330 13331 currentSlide = _.currentSlide; 13332 13333 _.destroy(true); 13334 13335 $.extend(_, _.initials, { currentSlide: currentSlide }); 13336 13337 _.init(); 13338 13339 if( !initializing ) { 13340 13341 _.changeSlide({ 13342 data: { 13343 message: 'index', 13344 index: currentSlide 13345 } 13346 }, false); 13347 13348 } 13349 13350 }; 13351 13352 Slick.prototype.registerBreakpoints = function() { 13353 13354 var _ = this, breakpoint, currentBreakpoint, l, 13355 responsiveSettings = _.options.responsive || null; 13356 13357 if ( $.type(responsiveSettings) === 'array' && responsiveSettings.length ) { 13358 13359 _.respondTo = _.options.respondTo || 'window'; 13360 13361 for ( breakpoint in responsiveSettings ) { 13362 13363 l = _.breakpoints.length-1; 13364 13365 if (responsiveSettings.hasOwnProperty(breakpoint)) { 13366 currentBreakpoint = responsiveSettings[breakpoint].breakpoint; 13367 13368 // loop through the breakpoints and cut out any existing 13369 // ones with the same breakpoint number, we don't want dupes. 13370 while( l >= 0 ) { 13371 if( _.breakpoints[l] && _.breakpoints[l] === currentBreakpoint ) { 13372 _.breakpoints.splice(l,1); 13373 } 13374 l--; 13375 } 13376 13377 _.breakpoints.push(currentBreakpoint); 13378 _.breakpointSettings[currentBreakpoint] = responsiveSettings[breakpoint].settings; 13379 13380 } 13381 13382 } 13383 13384 _.breakpoints.sort(function(a, b) { 13385 return ( _.options.mobileFirst ) ? a-b : b-a; 13386 }); 13387 13388 } 13389 13390 }; 13391 13392 Slick.prototype.reinit = function() { 13393 13394 var _ = this; 13395 13396 _.$slides = 13397 _.$slideTrack 13398 .children(_.options.slide) 13399 .addClass('slick-slide'); 13400 13401 _.slideCount = _.$slides.length; 13402 13403 if (_.currentSlide >= _.slideCount && _.currentSlide !== 0) { 13404 _.currentSlide = _.currentSlide - _.options.slidesToScroll; 13405 } 13406 13407 if (_.slideCount <= _.options.slidesToShow) { 13408 _.currentSlide = 0; 13409 } 13410 13411 _.registerBreakpoints(); 13412 13413 _.setProps(); 13414 _.setupInfinite(); 13415 _.buildArrows(); 13416 _.updateArrows(); 13417 _.initArrowEvents(); 13418 _.buildDots(); 13419 _.updateDots(); 13420 _.initDotEvents(); 13421 _.cleanUpSlideEvents(); 13422 _.initSlideEvents(); 13423 13424 _.checkResponsive(false, true); 13425 13426 if (_.options.focusOnSelect === true) { 13427 $(_.$slideTrack).children().on('click.slick', _.selectHandler); 13428 } 13429 13430 _.setSlideClasses(typeof _.currentSlide === 'number' ? _.currentSlide : 0); 13431 13432 _.setPosition(); 13433 _.focusHandler(); 13434 13435 _.paused = !_.options.autoplay; 13436 _.autoPlay(); 13437 13438 _.$slider.trigger('reInit', [_]); 13439 13440 }; 13441 13442 Slick.prototype.resize = function() { 13443 13444 var _ = this; 13445 13446 if ($(window).width() !== _.windowWidth) { 13447 clearTimeout(_.windowDelay); 13448 _.windowDelay = window.setTimeout(function() { 13449 _.windowWidth = $(window).width(); 13450 _.checkResponsive(); 13451 if( !_.unslicked ) { _.setPosition(); } 13452 }, 50); 13453 } 13454 }; 13455 13456 Slick.prototype.removeSlide = Slick.prototype.slickRemove = function(index, removeBefore, removeAll) { 13457 13458 var _ = this; 13459 13460 if (typeof(index) === 'boolean') { 13461 removeBefore = index; 13462 index = removeBefore === true ? 0 : _.slideCount - 1; 13463 } else { 13464 index = removeBefore === true ? --index : index; 13465 } 13466 13467 if (_.slideCount < 1 || index < 0 || index > _.slideCount - 1) { 13468 return false; 13469 } 13470 13471 _.unload(); 13472 13473 if (removeAll === true) { 13474 _.$slideTrack.children().remove(); 13475 } else { 13476 _.$slideTrack.children(this.options.slide).eq(index).remove(); 13477 } 13478 13479 _.$slides = _.$slideTrack.children(this.options.slide); 13480 13481 _.$slideTrack.children(this.options.slide).detach(); 13482 13483 _.$slideTrack.append(_.$slides); 13484 13485 _.$slidesCache = _.$slides; 13486 13487 _.reinit(); 13488 13489 }; 13490 13491 Slick.prototype.setCSS = function(position) { 13492 13493 var _ = this, 13494 positionProps = {}, 13495 x, y; 13496 13497 if (_.options.rtl === true) { 13498 position = -position; 13499 } 13500 x = _.positionProp == 'left' ? Math.ceil(position) + 'px' : '0px'; 13501 y = _.positionProp == 'top' ? Math.ceil(position) + 'px' : '0px'; 13502 13503 positionProps[_.positionProp] = position; 13504 13505 if (_.transformsEnabled === false) { 13506 _.$slideTrack.css(positionProps); 13507 } else { 13508 positionProps = {}; 13509 if (_.cssTransitions === false) { 13510 positionProps[_.animType] = 'translate(' + x + ', ' + y + ')'; 13511 _.$slideTrack.css(positionProps); 13512 } else { 13513 positionProps[_.animType] = 'translate3d(' + x + ', ' + y + ', 0px)'; 13514 _.$slideTrack.css(positionProps); 13515 } 13516 } 13517 13518 }; 13519 13520 Slick.prototype.setDimensions = function() { 13521 13522 var _ = this; 13523 13524 if (_.options.vertical === false) { 13525 if (_.options.centerMode === true) { 13526 _.$list.css({ 13527 padding: ('0px ' + _.options.centerPadding) 13528 }); 13529 } 13530 } else { 13531 _.$list.height(_.$slides.first().outerHeight(true) * _.options.slidesToShow); 13532 if (_.options.centerMode === true) { 13533 _.$list.css({ 13534 padding: (_.options.centerPadding + ' 0px') 13535 }); 13536 } 13537 } 13538 13539 _.listWidth = _.$list.width(); 13540 _.listHeight = _.$list.height(); 13541 13542 13543 if (_.options.vertical === false && _.options.variableWidth === false) { 13544 _.slideWidth = Math.ceil(_.listWidth / _.options.slidesToShow); 13545 _.$slideTrack.width(Math.ceil((_.slideWidth * _.$slideTrack.children('.slick-slide').length))); 13546 13547 } else if (_.options.variableWidth === true) { 13548 _.$slideTrack.width(5000 * _.slideCount); 13549 } else { 13550 _.slideWidth = Math.ceil(_.listWidth); 13551 _.$slideTrack.height(Math.ceil((_.$slides.first().outerHeight(true) * _.$slideTrack.children('.slick-slide').length))); 13552 } 13553 13554 var offset = _.$slides.first().outerWidth(true) - _.$slides.first().width(); 13555 if (_.options.variableWidth === false) _.$slideTrack.children('.slick-slide').width(_.slideWidth - offset); 13556 13557 }; 13558 13559 Slick.prototype.setFade = function() { 13560 13561 var _ = this, 13562 targetLeft; 13563 13564 _.$slides.each(function(index, element) { 13565 targetLeft = (_.slideWidth * index) * -1; 13566 if (_.options.rtl === true) { 13567 $(element).css({ 13568 position: 'relative', 13569 right: targetLeft, 13570 top: 0, 13571 zIndex: _.options.zIndex - 2, 13572 opacity: 0 13573 }); 13574 } else { 13575 $(element).css({ 13576 position: 'relative', 13577 left: targetLeft, 13578 top: 0, 13579 zIndex: _.options.zIndex - 2, 13580 opacity: 0 13581 }); 13582 } 13583 }); 13584 13585 _.$slides.eq(_.currentSlide).css({ 13586 zIndex: _.options.zIndex - 1, 13587 opacity: 1 13588 }); 13589 13590 }; 13591 13592 Slick.prototype.setHeight = function() { 13593 13594 var _ = this; 13595 13596 if (_.options.slidesToShow === 1 && _.options.adaptiveHeight === true && _.options.vertical === false) { 13597 var targetHeight = _.$slides.eq(_.currentSlide).outerHeight(true); 13598 _.$list.css('height', targetHeight); 13599 } 13600 13601 }; 13602 13603 Slick.prototype.setOption = 13604 Slick.prototype.slickSetOption = function() { 13605 13606 /** 13607 * accepts arguments in format of: 13608 * 13609 * - for changing a single option's value: 13610 * .slick("setOption", option, value, refresh ) 13611 * 13612 * - for changing a set of responsive options: 13613 * .slick("setOption", 'responsive', [{}, ...], refresh ) 13614 * 13615 * - for updating multiple values at once (not responsive) 13616 * .slick("setOption", { 'option': value, ... }, refresh ) 13617 */ 13618 13619 var _ = this, l, item, option, value, refresh = false, type; 13620 13621 if( $.type( arguments[0] ) === 'object' ) { 13622 13623 option = arguments[0]; 13624 refresh = arguments[1]; 13625 type = 'multiple'; 13626 13627 } else if ( $.type( arguments[0] ) === 'string' ) { 13628 13629 option = arguments[0]; 13630 value = arguments[1]; 13631 refresh = arguments[2]; 13632 13633 if ( arguments[0] === 'responsive' && $.type( arguments[1] ) === 'array' ) { 13634 13635 type = 'responsive'; 13636 13637 } else if ( typeof arguments[1] !== 'undefined' ) { 13638 13639 type = 'single'; 13640 13641 } 13642 13643 } 13644 13645 if ( type === 'single' ) { 13646 13647 _.options[option] = value; 13648 13649 13650 } else if ( type === 'multiple' ) { 13651 13652 $.each( option , function( opt, val ) { 13653 13654 _.options[opt] = val; 13655 13656 }); 13657 13658 13659 } else if ( type === 'responsive' ) { 13660 13661 for ( item in value ) { 13662 13663 if( $.type( _.options.responsive ) !== 'array' ) { 13664 13665 _.options.responsive = [ value[item] ]; 13666 13667 } else { 13668 13669 l = _.options.responsive.length-1; 13670 13671 // loop through the responsive object and splice out duplicates. 13672 while( l >= 0 ) { 13673 13674 if( _.options.responsive[l].breakpoint === value[item].breakpoint ) { 13675 13676 _.options.responsive.splice(l,1); 13677 13678 } 13679 13680 l--; 13681 13682 } 13683 13684 _.options.responsive.push( value[item] ); 13685 13686 } 13687 13688 } 13689 13690 } 13691 13692 if ( refresh ) { 13693 13694 _.unload(); 13695 _.reinit(); 13696 13697 } 13698 13699 }; 13700 13701 Slick.prototype.setPosition = function() { 13702 13703 var _ = this; 13704 13705 _.setDimensions(); 13706 13707 _.setHeight(); 13708 13709 if (_.options.fade === false) { 13710 _.setCSS(_.getLeft(_.currentSlide)); 13711 } else { 13712 _.setFade(); 13713 } 13714 13715 _.$slider.trigger('setPosition', [_]); 13716 13717 }; 13718 13719 Slick.prototype.setProps = function() { 13720 13721 var _ = this, 13722 bodyStyle = document.body.style; 13723 13724 _.positionProp = _.options.vertical === true ? 'top' : 'left'; 13725 13726 if (_.positionProp === 'top') { 13727 _.$slider.addClass('slick-vertical'); 13728 } else { 13729 _.$slider.removeClass('slick-vertical'); 13730 } 13731 13732 if (bodyStyle.WebkitTransition !== undefined || 13733 bodyStyle.MozTransition !== undefined || 13734 bodyStyle.msTransition !== undefined) { 13735 if (_.options.useCSS === true) { 13736 _.cssTransitions = true; 13737 } 13738 } 13739 13740 if ( _.options.fade ) { 13741 if ( typeof _.options.zIndex === 'number' ) { 13742 if( _.options.zIndex < 3 ) { 13743 _.options.zIndex = 3; 13744 } 13745 } else { 13746 _.options.zIndex = _.defaults.zIndex; 13747 } 13748 } 13749 13750 if (bodyStyle.OTransform !== undefined) { 13751 _.animType = 'OTransform'; 13752 _.transformType = '-o-transform'; 13753 _.transitionType = 'OTransition'; 13754 if (bodyStyle.perspectiveProperty === undefined && bodyStyle.webkitPerspective === undefined) _.animType = false; 13755 } 13756 if (bodyStyle.MozTransform !== undefined) { 13757 _.animType = 'MozTransform'; 13758 _.transformType = '-moz-transform'; 13759 _.transitionType = 'MozTransition'; 13760 if (bodyStyle.perspectiveProperty === undefined && bodyStyle.MozPerspective === undefined) _.animType = false; 13761 } 13762 if (bodyStyle.webkitTransform !== undefined) { 13763 _.animType = 'webkitTransform'; 13764 _.transformType = '-webkit-transform'; 13765 _.transitionType = 'webkitTransition'; 13766 if (bodyStyle.perspectiveProperty === undefined && bodyStyle.webkitPerspective === undefined) _.animType = false; 13767 } 13768 if (bodyStyle.msTransform !== undefined) { 13769 _.animType = 'msTransform'; 13770 _.transformType = '-ms-transform'; 13771 _.transitionType = 'msTransition'; 13772 if (bodyStyle.msTransform === undefined) _.animType = false; 13773 } 13774 if (bodyStyle.transform !== undefined && _.animType !== false) { 13775 _.animType = 'transform'; 13776 _.transformType = 'transform'; 13777 _.transitionType = 'transition'; 13778 } 13779 _.transformsEnabled = _.options.useTransform && (_.animType !== null && _.animType !== false); 13780 }; 13781 13782 13783 Slick.prototype.setSlideClasses = function(index) { 13784 13785 var _ = this, 13786 centerOffset, allSlides, indexOffset, remainder; 13787 13788 allSlides = _.$slider 13789 .find('.slick-slide') 13790 .removeClass('slick-active slick-center slick-current') 13791 .attr('aria-hidden', 'true'); 13792 13793 _.$slides 13794 .eq(index) 13795 .addClass('slick-current'); 13796 13797 if (_.options.centerMode === true) { 13798 13799 var evenCoef = _.options.slidesToShow % 2 === 0 ? 1 : 0; 13800 13801 centerOffset = Math.floor(_.options.slidesToShow / 2); 13802 13803 if (_.options.infinite === true) { 13804 13805 if (index >= centerOffset && index <= (_.slideCount - 1) - centerOffset) { 13806 _.$slides 13807 .slice(index - centerOffset + evenCoef, index + centerOffset + 1) 13808 .addClass('slick-active') 13809 .attr('aria-hidden', 'false'); 13810 13811 } else { 13812 13813 indexOffset = _.options.slidesToShow + index; 13814 allSlides 13815 .slice(indexOffset - centerOffset + 1 + evenCoef, indexOffset + centerOffset + 2) 13816 .addClass('slick-active') 13817 .attr('aria-hidden', 'false'); 13818 13819 } 13820 13821 if (index === 0) { 13822 13823 allSlides 13824 .eq(allSlides.length - 1 - _.options.slidesToShow) 13825 .addClass('slick-center'); 13826 13827 } else if (index === _.slideCount - 1) { 13828 13829 allSlides 13830 .eq(_.options.slidesToShow) 13831 .addClass('slick-center'); 13832 13833 } 13834 13835 } 13836 13837 _.$slides 13838 .eq(index) 13839 .addClass('slick-center'); 13840 13841 } else { 13842 13843 if (index >= 0 && index <= (_.slideCount - _.options.slidesToShow)) { 13844 13845 _.$slides 13846 .slice(index, index + _.options.slidesToShow) 13847 .addClass('slick-active') 13848 .attr('aria-hidden', 'false'); 13849 13850 } else if (allSlides.length <= _.options.slidesToShow) { 13851 13852 allSlides 13853 .addClass('slick-active') 13854 .attr('aria-hidden', 'false'); 13855 13856 } else { 13857 13858 remainder = _.slideCount % _.options.slidesToShow; 13859 indexOffset = _.options.infinite === true ? _.options.slidesToShow + index : index; 13860 13861 if (_.options.slidesToShow == _.options.slidesToScroll && (_.slideCount - index) < _.options.slidesToShow) { 13862 13863 allSlides 13864 .slice(indexOffset - (_.options.slidesToShow - remainder), indexOffset + remainder) 13865 .addClass('slick-active') 13866 .attr('aria-hidden', 'false'); 13867 13868 } else { 13869 13870 allSlides 13871 .slice(indexOffset, indexOffset + _.options.slidesToShow) 13872 .addClass('slick-active') 13873 .attr('aria-hidden', 'false'); 13874 13875 } 13876 13877 } 13878 13879 } 13880 13881 if (_.options.lazyLoad === 'ondemand' || _.options.lazyLoad === 'anticipated') { 13882 _.lazyLoad(); 13883 } 13884 }; 13885 13886 Slick.prototype.setupInfinite = function() { 13887 13888 var _ = this, 13889 i, slideIndex, infiniteCount; 13890 13891 if (_.options.fade === true) { 13892 _.options.centerMode = false; 13893 } 13894 13895 if (_.options.infinite === true && _.options.fade === false) { 13896 13897 slideIndex = null; 13898 13899 if (_.slideCount > _.options.slidesToShow) { 13900 13901 if (_.options.centerMode === true) { 13902 infiniteCount = _.options.slidesToShow + 1; 13903 } else { 13904 infiniteCount = _.options.slidesToShow; 13905 } 13906 13907 for (i = _.slideCount; i > (_.slideCount - 13908 infiniteCount); i -= 1) { 13909 slideIndex = i - 1; 13910 $(_.$slides[slideIndex]).clone(true).attr('id', '') 13911 .attr('data-slick-index', slideIndex - _.slideCount) 13912 .prependTo(_.$slideTrack).addClass('slick-cloned'); 13913 } 13914 for (i = 0; i < infiniteCount + _.slideCount; i += 1) { 13915 slideIndex = i; 13916 $(_.$slides[slideIndex]).clone(true).attr('id', '') 13917 .attr('data-slick-index', slideIndex + _.slideCount) 13918 .appendTo(_.$slideTrack).addClass('slick-cloned'); 13919 } 13920 _.$slideTrack.find('.slick-cloned').find('[id]').each(function() { 13921 $(this).attr('id', ''); 13922 }); 13923 13924 } 13925 13926 } 13927 13928 }; 13929 13930 Slick.prototype.interrupt = function( toggle ) { 13931 13932 var _ = this; 13933 13934 if( !toggle ) { 13935 _.autoPlay(); 13936 } 13937 _.interrupted = toggle; 13938 13939 }; 13940 13941 Slick.prototype.selectHandler = function(event) { 13942 13943 var _ = this; 13944 13945 var targetElement = 13946 $(event.target).is('.slick-slide') ? 13947 $(event.target) : 13948 $(event.target).parents('.slick-slide'); 13949 13950 var index = parseInt(targetElement.attr('data-slick-index')); 13951 13952 if (!index) index = 0; 13953 13954 if (_.slideCount <= _.options.slidesToShow) { 13955 13956 _.slideHandler(index, false, true); 13957 return; 13958 13959 } 13960 13961 _.slideHandler(index); 13962 13963 }; 13964 13965 Slick.prototype.slideHandler = function(index, sync, dontAnimate) { 13966 13967 var targetSlide, animSlide, oldSlide, slideLeft, targetLeft = null, 13968 _ = this, navTarget; 13969 13970 sync = sync || false; 13971 13972 if (_.animating === true && _.options.waitForAnimate === true) { 13973 return; 13974 } 13975 13976 if (_.options.fade === true && _.currentSlide === index) { 13977 return; 13978 } 13979 13980 if (sync === false) { 13981 _.asNavFor(index); 13982 } 13983 13984 targetSlide = index; 13985 targetLeft = _.getLeft(targetSlide); 13986 slideLeft = _.getLeft(_.currentSlide); 13987 13988 _.currentLeft = _.swipeLeft === null ? slideLeft : _.swipeLeft; 13989 13990 if (_.options.infinite === false && _.options.centerMode === false && (index < 0 || index > _.getDotCount() * _.options.slidesToScroll)) { 13991 if (_.options.fade === false) { 13992 targetSlide = _.currentSlide; 13993 if (dontAnimate !== true
vendor: 15,371 bytes, lines 13993-14532
13993) { 13994 _.animateSlide(slideLeft, function() { 13995 _.postSlide(targetSlide); 13996 }); 13997 } else { 13998 _.postSlide(targetSlide); 13999 } 14000 } 14001 return; 14002 } else if (_.options.infinite === false && _.options.centerMode === true && (index < 0 || index > (_.slideCount - _.options.slidesToScroll))) { 14003 if (_.options.fade === false) { 14004 targetSlide = _.currentSlide; 14005 if (dontAnimate !== true) { 14006 _.animateSlide(slideLeft, function() { 14007 _.postSlide(targetSlide); 14008 }); 14009 } else { 14010 _.postSlide(targetSlide); 14011 } 14012 } 14013 return; 14014 } 14015 14016 if ( _.options.autoplay ) { 14017 clearInterval(_.autoPlayTimer); 14018 } 14019 14020 if (targetSlide < 0) { 14021 if (_.slideCount % _.options.slidesToScroll !== 0) { 14022 animSlide = _.slideCount - (_.slideCount % _.options.slidesToScroll); 14023 } else { 14024 animSlide = _.slideCount + targetSlide; 14025 } 14026 } else if (targetSlide >= _.slideCount) { 14027 if (_.slideCount % _.options.slidesToScroll !== 0) { 14028 animSlide = 0; 14029 } else { 14030 animSlide = targetSlide - _.slideCount; 14031 } 14032 } else { 14033 animSlide = targetSlide; 14034 } 14035 14036 _.animating = true; 14037 14038 _.$slider.trigger('beforeChange', [_, _.currentSlide, animSlide]); 14039 14040 oldSlide = _.currentSlide; 14041 _.currentSlide = animSlide; 14042 14043 _.setSlideClasses(_.currentSlide); 14044 14045 if ( _.options.asNavFor ) { 14046 14047 navTarget = _.getNavTarget(); 14048 navTarget = navTarget.slick('getSlick'); 14049 14050 if ( navTarget.slideCount <= navTarget.options.slidesToShow ) { 14051 navTarget.setSlideClasses(_.currentSlide); 14052 } 14053 14054 } 14055 14056 _.updateDots(); 14057 _.updateArrows(); 14058 14059 if (_.options.fade === true) { 14060 if (dontAnimate !== true) { 14061 14062 _.fadeSlideOut(oldSlide); 14063 14064 _.fadeSlide(animSlide, function() { 14065 _.postSlide(animSlide); 14066 }); 14067 14068 } else { 14069 _.postSlide(animSlide); 14070 } 14071 _.animateHeight(); 14072 return; 14073 } 14074 14075 if (dontAnimate !== true) { 14076 _.animateSlide(targetLeft, function() { 14077 _.postSlide(animSlide); 14078 }); 14079 } else { 14080 _.postSlide(animSlide); 14081 } 14082 14083 }; 14084 14085 Slick.prototype.startLoad = function() { 14086 14087 var _ = this; 14088 14089 if (_.options.arrows === true && _.slideCount > _.options.slidesToShow) { 14090 14091 _.$prevArrow.hide(); 14092 _.$nextArrow.hide(); 14093 14094 } 14095 14096 if (_.options.dots === true && _.slideCount > _.options.slidesToShow) { 14097 14098 _.$dots.hide(); 14099 14100 } 14101 14102 _.$slider.addClass('slick-loading'); 14103 14104 }; 14105 14106 Slick.prototype.swipeDirection = function() { 14107 14108 var xDist, yDist, r, swipeAngle, _ = this; 14109 14110 xDist = _.touchObject.startX - _.touchObject.curX; 14111 yDist = _.touchObject.startY - _.touchObject.curY; 14112 r = Math.atan2(yDist, xDist); 14113 14114 swipeAngle = Math.round(r * 180 / Math.PI); 14115 if (swipeAngle < 0) { 14116 swipeAngle = 360 - Math.abs(swipeAngle); 14117 } 14118 14119 if ((swipeAngle <= 45) && (swipeAngle >= 0)) { 14120 return (_.options.rtl === false ? 'left' : 'right'); 14121 } 14122 if ((swipeAngle <= 360) && (swipeAngle >= 315)) { 14123 return (_.options.rtl === false ? 'left' : 'right'); 14124 } 14125 if ((swipeAngle >= 135) && (swipeAngle <= 225)) { 14126 return (_.options.rtl === false ? 'right' : 'left'); 14127 } 14128 if (_.options.verticalSwiping === true) { 14129 if ((swipeAngle >= 35) && (swipeAngle <= 135)) { 14130 return 'down'; 14131 } else { 14132 return 'up'; 14133 } 14134 } 14135 14136 return 'vertical'; 14137 14138 }; 14139 14140 Slick.prototype.swipeEnd = function(event) { 14141 14142 var _ = this, 14143 slideCount, 14144 direction; 14145 14146 _.dragging = false; 14147 _.swiping = false; 14148 14149 if (_.scrolling) { 14150 _.scrolling = false; 14151 return false; 14152 } 14153 14154 _.interrupted = false; 14155 _.shouldClick = ( _.touchObject.swipeLength > 10 ) ? false : true; 14156 14157 if ( _.touchObject.curX === undefined ) { 14158 return false; 14159 } 14160 14161 if ( _.touchObject.edgeHit === true ) { 14162 _.$slider.trigger('edge', [_, _.swipeDirection() ]); 14163 } 14164 14165 if ( _.touchObject.swipeLength >= _.touchObject.minSwipe ) { 14166 14167 direction = _.swipeDirection(); 14168 14169 switch ( direction ) { 14170 14171 case 'left': 14172 case 'down': 14173 14174 slideCount = 14175 _.options.swipeToSlide ? 14176 _.checkNavigable( _.currentSlide + _.getSlideCount() ) : 14177 _.currentSlide + _.getSlideCount(); 14178 14179 _.currentDirection = 0; 14180 14181 break; 14182 14183 case 'right': 14184 case 'up': 14185 14186 slideCount = 14187 _.options.swipeToSlide ? 14188 _.checkNavigable( _.currentSlide - _.getSlideCount() ) : 14189 _.currentSlide - _.getSlideCount(); 14190 14191 _.currentDirection = 1; 14192 14193 break; 14194 14195 default: 14196 14197 14198 } 14199 14200 if( direction != 'vertical' ) { 14201 14202 _.slideHandler( slideCount ); 14203 _.touchObject = {}; 14204 _.$slider.trigger('swipe', [_, direction ]); 14205 14206 } 14207 14208 } else { 14209 14210 if ( _.touchObject.startX !== _.touchObject.curX ) { 14211 14212 _.slideHandler( _.currentSlide ); 14213 _.touchObject = {}; 14214 14215 } 14216 14217 } 14218 14219 }; 14220 14221 Slick.prototype.swipeHandler = function(event) { 14222 14223 var _ = this; 14224 14225 if ((_.options.swipe === false) || ('ontouchend' in document && _.options.swipe === false)) { 14226 return; 14227 } else if (_.options.draggable === false && event.type.indexOf('mouse') !== -1) { 14228 return; 14229 } 14230 14231 _.touchObject.fingerCount = event.originalEvent && event.originalEvent.touches !== undefined ? 14232 event.originalEvent.touches.length : 1; 14233 14234 _.touchObject.minSwipe = _.listWidth / _.options 14235 .touchThreshold; 14236 14237 if (_.options.verticalSwiping === true) { 14238 _.touchObject.minSwipe = _.listHeight / _.options 14239 .touchThreshold; 14240 } 14241 14242 switch (event.data.action) { 14243 14244 case 'start': 14245 _.swipeStart(event); 14246 break; 14247 14248 case 'move': 14249 _.swipeMove(event); 14250 break; 14251 14252 case 'end': 14253 _.swipeEnd(event); 14254 break; 14255 14256 } 14257 14258 }; 14259 14260 Slick.prototype.swipeMove = function(event) { 14261 14262 var _ = this, 14263 edgeWasHit = false, 14264 curLeft, swipeDirection, swipeLength, positionOffset, touches, verticalSwipeLength; 14265 14266 touches = event.originalEvent !== undefined ? event.originalEvent.touches : null; 14267 14268 if (!_.dragging || _.scrolling || touches && touches.length !== 1) { 14269 return false; 14270 } 14271 14272 curLeft = _.getLeft(_.currentSlide); 14273 14274 _.touchObject.curX = touches !== undefined ? touches[0].pageX : event.clientX; 14275 _.touchObject.curY = touches !== undefined ? touches[0].pageY : event.clientY; 14276 14277 _.touchObject.swipeLength = Math.round(Math.sqrt( 14278 Math.pow(_.touchObject.curX - _.touchObject.startX, 2))); 14279 14280 verticalSwipeLength = Math.round(Math.sqrt( 14281 Math.pow(_.touchObject.curY - _.touchObject.startY, 2))); 14282 14283 if (!_.options.verticalSwiping && !_.swiping && verticalSwipeLength > 4) { 14284 _.scrolling = true; 14285 return false; 14286 } 14287 14288 if (_.options.verticalSwiping === true) { 14289 _.touchObject.swipeLength = verticalSwipeLength; 14290 } 14291 14292 swipeDirection = _.swipeDirection(); 14293 14294 if (event.originalEvent !== undefined && _.touchObject.swipeLength > 4) { 14295 _.swiping = true; 14296 event.preventDefault(); 14297 } 14298 14299 positionOffset = (_.options.rtl === false ? 1 : -1) * (_.touchObject.curX > _.touchObject.startX ? 1 : -1); 14300 if (_.options.verticalSwiping === true) { 14301 positionOffset = _.touchObject.curY > _.touchObject.startY ? 1 : -1; 14302 } 14303 14304 14305 swipeLength = _.touchObject.swipeLength; 14306 14307 _.touchObject.edgeHit = false; 14308 14309 if (_.options.infinite === false) { 14310 if ((_.currentSlide === 0 && swipeDirection === 'right') || (_.currentSlide >= _.getDotCount() && swipeDirection === 'left')) { 14311 swipeLength = _.touchObject.swipeLength * _.options.edgeFriction; 14312 _.touchObject.edgeHit = true; 14313 } 14314 } 14315 14316 if (_.options.vertical === false) { 14317 _.swipeLeft = curLeft + swipeLength * positionOffset; 14318 } else { 14319 _.swipeLeft = curLeft + (swipeLength * (_.$list.height() / _.listWidth)) * positionOffset; 14320 } 14321 if (_.options.verticalSwiping === true) { 14322 _.swipeLeft = curLeft + swipeLength * positionOffset; 14323 } 14324 14325 if (_.options.fade === true || _.options.touchMove === false) { 14326 return false; 14327 } 14328 14329 if (_.animating === true) { 14330 _.swipeLeft = null; 14331 return false; 14332 } 14333 14334 _.setCSS(_.swipeLeft); 14335 14336 }; 14337 14338 Slick.prototype.swipeStart = function(event) { 14339 14340 var _ = this, 14341 touches; 14342 14343 _.interrupted = true; 14344 14345 if (_.touchObject.fingerCount !== 1 || _.slideCount <= _.options.slidesToShow) { 14346 _.touchObject = {}; 14347 return false; 14348 } 14349 14350 if (event.originalEvent !== undefined && event.originalEvent.touches !== undefined) { 14351 touches = event.originalEvent.touches[0]; 14352 } 14353 14354 _.touchObject.startX = _.touchObject.curX = touches !== undefined ? touches.pageX : event.clientX; 14355 _.touchObject.startY = _.touchObject.curY = touches !== undefined ? touches.pageY : event.clientY; 14356 14357 _.dragging = true; 14358 14359 }; 14360 14361 Slick.prototype.unfilterSlides = Slick.prototype.slickUnfilter = function() { 14362 14363 var _ = this; 14364 14365 if (_.$slidesCache !== null) { 14366 14367 _.unload(); 14368 14369 _.$slideTrack.children(this.options.slide).detach(); 14370 14371 _.$slidesCache.appendTo(_.$slideTrack); 14372 14373 _.reinit(); 14374 14375 } 14376 14377 }; 14378 14379 Slick.prototype.unload = function() { 14380 14381 var _ = this; 14382 14383 $('.slick-cloned', _.$slider).remove(); 14384 14385 if (_.$dots) { 14386 _.$dots.remove(); 14387 } 14388 14389 if (_.$prevArrow && _.htmlExpr.test(_.options.prevArrow)) { 14390 _.$prevArrow.remove(); 14391 } 14392 14393 if (_.$nextArrow && _.htmlExpr.test(_.options.nextArrow)) { 14394 _.$nextArrow.remove(); 14395 } 14396 14397 _.$slides 14398 .removeClass('slick-slide slick-active slick-visible slick-current') 14399 .attr('aria-hidden', 'true') 14400 .css('width', ''); 14401 14402 }; 14403 14404 Slick.prototype.unslick = function(fromBreakpoint) { 14405 14406 var _ = this; 14407 _.$slider.trigger('unslick', [_, fromBreakpoint]); 14408 _.destroy(); 14409 14410 }; 14411 14412 Slick.prototype.updateArrows = function() { 14413 14414 var _ = this, 14415 centerOffset; 14416 14417 centerOffset = Math.floor(_.options.slidesToShow / 2); 14418 14419 if ( _.options.arrows === true && 14420 _.slideCount > _.options.slidesToShow && 14421 !_.options.infinite ) { 14422 14423 _.$prevArrow.removeClass('slick-disabled').attr('aria-disabled', 'false'); 14424 _.$nextArrow.removeClass('slick-disabled').attr('aria-disabled', 'false'); 14425 14426 if (_.currentSlide === 0) { 14427 14428 _.$prevArrow.addClass('slick-disabled').attr('aria-disabled', 'true'); 14429 _.$nextArrow.removeClass('slick-disabled').attr('aria-disabled', 'false'); 14430 14431 } else if (_.currentSlide >= _.slideCount - _.options.slidesToShow && _.options.centerMode === false) { 14432 14433 _.$nextArrow.addClass('slick-disabled').attr('aria-disabled', 'true'); 14434 _.$prevArrow.removeClass('slick-disabled').attr('aria-disabled', 'false'); 14435 14436 } else if (_.currentSlide >= _.slideCount - 1 && _.options.centerMode === true) { 14437 14438 _.$nextArrow.addClass('slick-disabled').attr('aria-disabled', 'true'); 14439 _.$prevArrow.removeClass('slick-disabled').attr('aria-disabled', 'false'); 14440 14441 } 14442 14443 } 14444 14445 }; 14446 14447 Slick.prototype.updateDots = function() { 14448 14449 var _ = this; 14450 14451 if (_.$dots !== null) { 14452 14453 _.$dots 14454 .find('li') 14455 .removeClass('slick-active') 14456 .end(); 14457 14458 _.$dots 14459 .find('li') 14460 .eq(Math.floor(_.currentSlide / _.options.slidesToScroll)) 14461 .addClass('slick-active'); 14462 14463 } 14464 14465 }; 14466 14467 Slick.prototype.visibility = function() { 14468 14469 var _ = this; 14470 14471 if ( _.options.autoplay ) { 14472 14473 if ( document[_.hidden] ) { 14474 14475 _.interrupted = true; 14476 14477 } else { 14478 14479 _.interrupted = false; 14480 14481 } 14482 14483 } 14484 14485 }; 14486 14487 $.fn.slick = function() { 14488 var _ = this, 14489 opt = arguments[0], 14490 args = Array.prototype.slice.call(arguments, 1), 14491 l = _.length, 14492 i, 14493 ret; 14494 for (i = 0; i < l; i++) { 14495 if (typeof opt == 'object' || typeof opt == 'undefined') 14496 _[i].slick = new Slick(_[i], opt); 14497 else 14498 ret = _[i].slick[opt].apply(_[i].slick, args); 14499 if (typeof ret != 'undefined') return ret; 14500 } 14501 return _; 14502 }; 14503 14504})); 14505var DMS = DMS || {}; 14506 14507(function(global){ 14508 14509 var header = { 14510 14511 }; 14512 14513 var sizeDetectSelector = "#size-detect", 14514 containerSelector = "#header-container", 14515 headerTopSelector = ".header-top", 14516 headerBottomSelector = ".header-bottom", 14517 navContainerSelector = ".header-global-nav", 14518 navItemSelector = ".header-global-nav-item", 14519 navHoverItemSelector = ".header-global-nav-item-child-item.progeny-arrow", 14520 navItemChildContainerSelector = ".header-global-nav-item-child", 14521 navItemChildItemSelector = ".header-global-nav-item-child-item", 14522 navItemProgenyItemSelector = ".header-global-nav-item-progeny-item", 14523 navItemProgenyItemPcSmallSelector = ".header-global-nav-item-progeny-pc-small", 14524 navToggleBtnSelector = ".header-nav-button", 14525 childArrowSelector = ".header-global-nav-item-arrow", 14526 progenyArrowSelector = ".header-global-nav-item-child-arrow", 14527 cloneSelector = "*[data-clone]", 14528 headerTelBtnSelector = ".header-tel span.header-tel-inner", 14529 itemOpenClassName = "header-global-nav-item-open", 14530 itemProgenyOpenClassName = "header-global-nav-item-child-item-open", 14531 wrapperIdSelector = "#wrapper", 14532 isVersion2 = $(".header-bottom").hasClass("version-2") ? true : false;
14533 14534 14535 header.events = { 14536 breakpointChange : "breakpointChange" 14537 }; 14538 14539 header.init = function(){ 14540 this.handleResize = this.handleResize.bind(this); 14541 this.handleClickItem = this.handleClickItem.bind(this); 14542 this.handleClickChildItem = this.handleClickChildItem.bind(this); 14543 this.handleMouseOverItemChild = this.handleMouseOverItemChild.bind(this); 14544 this.handleMouseOverItemChildLeave = this.handleMouseOverItemChildLeave.bind(this); 14545 this.handleMouseOverItemProgeny = this.handleMouseOverItemProgeny.bind(this); 14546 this.handleMouseOverItemProgenyLeave = this.handleMouseOverItemProgenyLeave.bind(this); 14547 this.handleMouseOverItemProgenyPcSmallLeave = this.handleMouseOverItemProgenyPcSmallLeave.bind(this); 14548 this.handleHoverItem = this.handleHoverItem.bind(this); 14549 this.handleBreakpointChange = this.handleBreakpointChange.bind(this); 14550 this.splitChildItems = this.splitChildItems.bind(this); 14551 this.splitChildItem = this.splitChildItem.bind(this); 14552 this.addChildPcLarge = this.addChildPcLarge.bind(this); 14553 this.$sizeDetect = $(sizeDetectSelector); 14554 this.$container = $(containerSelector); 14555 this.$wrapper = $(wrapperIdSelector); 14556 this.$headerTop = $(headerTopSelector); 14557 this.$headerBottom = $(headerBottomSelector); 14558 this.$navContainer = $(navContainerSelector); 14559 this.$navItem = $(navItemSelector); 14560 this.$navHoverItem = $(navHoverItemSelector); 14561 this.$navItemChildContainer = $(navItemChildContainerSelector); 14562 this.$navChildArrow = $(childArrowSelector); 14563 this.$navProgenyArrow = $(progenyArrowSelector); 14564 this.$navChildItem = $(navItemChildItemSelector); 14565 this.$navProgenyItem = $(navItemProgenyItemSelector); 14566 this.$navProgenyItemPcSmall = $(navItemProgenyItemPcSmallSelector); 14567 this.$hamberger = $(navToggleBtnSelector); 14568 this.$headerTelBtn = $(headerTelBtnSelector); 14569 this.$cloneItem = $(cloneSelector); 14570 this.breakpoint = ""; 14571 this.prevBreakpoint = ""; 14572 this.scrollTop = 0; 14573 this.mouseOverItemProgeny = null; 14574 this.isVersion2 = $(".header-bottom").hasClass("version-2") ? true : false; 14575 this.isProgeny = false; 14576 14577 this.mouseLeaveClass = this.$navItem.find("> a").attr("class"); 14578 14579 if(this.$navItem.find("> a").attr("data-mouseenter") != ""){ 14580 this.mouseEnterClass = this.$navItem.find("> a").attr("data-mouseenter"); 14581 } else { 14582 this.mouseEnterClass = this.mouseLeaveClass; 14583 } 14584 14585 this.prevV = { 14586 x: 0, 14587 y: 0 14588 }; 14589 14590 this.tmpClass = ""; 14591 this.cloneItems(); 14592 this.splitChildItems(); 14593 this.setBreakpoint(); 14594 this.handleBreakpointChange(); 14595 this.addEvents(); 14596 // this.applyBackgroundToBorderColor(); 14597 }; 14598 14599 // header.applyBackgroundToBorderColor = function(){ 14600 // $(".header-global-nav-item-current-arrow").css("color",$(".header-global-nav-item-current-arrow").css("backgroundColor")); 14601 // } 14602 14603 header.addEvents = function(){ 14604 $(window).on("resize",this.handleResize); 14605 $(document).on(this.events.breakpointChange,this.handleBreakpointChange); 14606 this.$navChildArrow.off("click",this.handleClickItem); 14607 this.$navChildArrow.on("click",this.handleClickItem); 14608 // ".header-global-nav-item" 14609 this.$navItem.hover(this.handleHoverItem); 14610 14611 this.$hamberger.on("click",this.toggleNavi.bind(this)); 14612 // ".header-global-nav" 14613 this.$navContainer.on("mousemove",this.handleMouseMove.bind(this)); 14614 this.$navContainer.on("mouseleave",this.handleMouseOutContainer.bind(this)); 14615 14616 // ".header-global-nav-item" 14617 this.$navItem.on("mouseover",this.handleMouseOver.bind(this)); 14618 14619 this.$headerTelBtn.on("click",this.handleTelBtnClick.bind(this)) 14620 14621 if(this.isVersion2){ 14622 this.$navProgenyArrow.off("click",this.handleClickChildItem); 14623 this.$navProgenyArrow.on("click",this.handleClickChildItem); 14624 14625 // ".header-global-nav-item-child-item" 14626 this.$navChildItem.on("mouseenter",this.handleMouseOverItemChild); 14627 this.$navChildItem.on("mouseleave",this.handleMouseOverItemChildLeave); 14628 14629 // ".header-global-nav-item-progeny-item" 14630 this.$navProgenyItem.on("mouseenter",this.handleMouseOverItemProgeny); 14631 this.$navProgenyItem.on("mouseleave",this.handleMouseOverItemProgenyLeave); 14632 14633 // "".header-global-nav-item-progeny-pc-small" 14634 this.$navProgenyItemPcSmall.on("mouseleave",this.handleMouseOverItemProgenyPcSmallLeave); 14635 } 14636 } 14637 14638 header.handleResize = function(){ 14639 if(this.isVersion2){ 14640 this.resetProgenyOpen(); 14641 } 14642 this.setBreakpoint(); 14643 } 14644 14645 header.handleClickItem = function(e){ 14646 if(this.breakpoint.indexOf("sp") != -1 || 14647 this.breakpoint.indexOf("tab") != -1){ 14648 this.toggleChildSp(e.currentTarget); 14649 return false;
14650 } 14651 } 14652 header.handleClickChildItem = function(e){ 14653 if(this.breakpoint.indexOf("sp") != -1 || 14654 this.breakpoint.indexOf("tab") != -1){ 14655 this.toggleProgenySp(e.currentTarget); 14656 return false; 14657 } 14658 } 14659 header.handleMouseOverItemChild = function(e){ 14660 if($(e.currentTarget).hasClass("progeny-arrow")){ 14661 this.isProgeny = true; 14662 } 14663 if(this.breakpoint.indexOf("pc-small") != -1){ 14664 this.toggleProgenyPcSmall(e.currentTarget); 14665 } 14666 if(this.breakpoint.indexOf("pc") != -1){ 14667 if(!$("header").hasClass("theme-4")){ 14668 $(e.currentTarget).find(".header-global-nav-item-child-item-inner").addClass("hover-bg-effect-on"); 14669 // var item_inner = $(e.currentTarget).find(".header-global-nav-item-child-item-inner") 14670 // item_inner.addClass(item_inner.data("spbgcolor")); 14671 } else { 14672 var item_inner = $(e.currentTarget).find(".header-global-nav-item-child-item-inner") 14673 var txtcolorhover = item_inner.data("txtcolorhover") 14674 item_inner.addClass(txtcolorhover); 14675 } 14676 if($(e.currentTarget).children(".header-global-nav-item-progeny").length > 0){ 14677 $(e.currentTarget).addClass("header-global-nav-item-child-item-open"); 14678 } 14679 } 14680 return false; 14681 } 14682 header.handleMouseOverItemChildLeave = function(e){ 14683 if(this.breakpoint.indexOf("pc-small") != -1){ 14684 this.isProgeny = false; 14685 // var etarget1 = $(e.target).hasClass("header-global-nav-item-child-item-inner") 14686 // var etarget2 = $(e.target).hasClass("arrow-down-child") 14687 // if(etarget1 || etarget2){ 14688 // return; 14689 // } 14690 var $this = this 14691 setTimeout(function(){ 14692 if (!$this.isProgeny){ 14693 console.log('ver2 funcion') 14694 if($(e.currentTarget).parent().parent().parent().find(".header-global-nav-item-progeny-pc-small:hover").length == 0){ 14695 $(e.currentTarget).parent().parent().next().find(".header-global-nav-item-progeny").remove() 14696 $(e.currentTarget).parent().parent().next().hide() 14697 } 14698 } 14699 },100); 14700 if(this.isVersion2){ 14701 // 第äºé層 è¦ç´ ä¿æãã¦ã¯ã©ã¹ãåé¤ 14702 this.mouseOverItemProgeny = $(e.currentTarget).find(".header-global-nav-item-child-item-inner") 14703 this.mouseOverItemProgeny.removeClass(this.mouseOverItemProgeny.data("txtcolorhover")); 14704 this.mouseOverItemProgeny.removeClass("hover-bg-effect-on"); 14705 } 14706 } 14707 if(this.breakpoint.indexOf("pc") != -1){ 14708 if(!$("header").hasClass("theme-4")){ 14709 $(e.currentTarget).find(".header-global-nav-item-child-item-inner").removeClass("hover-bg-effect-on"); 14710 } else { 14711 var item_inner = $(e.currentTarget).find(".header-global-nav-item-child-item-inner") 14712 var txtcolorhover = item_inner.data("txtcolorhover") 14713 item_inner.removeClass(txtcolorhover); 14714 } 14715 if($(e.currentTarget).children(".header-global-nav-item-progeny").length > 0){ 14716 $(e.currentTarget).removeClass("header-global-nav-item-child-item-open"); 14717 } 14718 } 14719 } 14720 header.handleMouseOverItemProgeny = function(e){ 14721 if(this.breakpoint.indexOf("pc-small") != -1){ 14722 if(this.isVersion2){ 14723 // 第äºé層 ã¯ã©ã¹æå® 14724 if(this.mouseOverItemProgeny){ 14725 this.mouseOverItemProgeny.addClass(this.mouseOverItemProgeny.data("txtcolorhover")); 14726 this.mouseOverItemProgeny.addClass(this.mouseOverItemProgeny.data("spbgcolor")).addClass("hover-bg-effect-on"); 14727 } 14728 } 14729 } 14730 if(this.breakpoint.indexOf("pc") != -1){ 14731 if(!$("header").hasClass("theme-4")){ 14732 $(e.currentTarget).find(".header-global-nav-item-progeny-item-inner").addClass("hover-bg-effect-on"); 14733 } else { 14734 var item_inner = $(e.currentTarget).find(".header-global-nav-item-progeny-item-inner") 14735 var txtcolorhover = item_inner.data("txtcolorhover") 14736 item_inner.addClass(txtcolorhover); 14737 } 14738 } 14739 return false; 14740 } 14741 header.handleMouseOverItemProgenyLeave = function(e){ 14742 if(this.breakpoint.indexOf("pc") != -1){ 14743 if(!$("header").hasClass("theme-4")){ 14744 $(e.currentTarget).find(".header-global-nav-item-progeny-item-inner").removeClass("hover-bg-effect-on"); 14745 } else { 14746 var item_inner = $(e.currentTarget).find(".header-global-nav-item-progeny-item-inner") 14747 var txtcolorhover = item_inner.data("txtcolorhover") 14748 item_inner.removeClass(txtcolorhover); 14749 } 14750 } 14751 } 14752 header.handleMouseOverItemProgenyPcSmallLeave = function(e){ 14753 if(this.breakpoint.indexOf("pc-small") != -1){ 14754 if(this.isVersion2){ 14755 // 第äºé層 ã¯ã©ã¹åé¤ 14756 if(this.mouseOverItemProgeny){ 14757 this.mouseOverItemProgeny.removeClass(this.mouseOverItemProgeny.data("txtcolorhover")); 14758 this.mouseOverItemProgeny.removeClass("hover-bg-effect-on"); 14759 this.mouseOverItemProgeny = null 14760 } 14761 $(e.currentTarget).children(".header-global-nav-item-progeny").remove() 14762 $(e.currentTarget).hide() 14763 } 14764 } 14765 } 14766 14767 header.handleTelBtnClick = function(){ 14768 if(this.$headerTelBtn.find(".icon-phone-square").length > 1){ 14769 $("body").toggleClass("header-modal-open"); 14770 } 14771 }; 14772 14773 header.handleHoverItem = function(e){ 14774 if(this.breakpoint.indexOf("pc") != -1 && this.breakpoint.indexOf("pc-large") == -1){ 14775 // console.log("hover"); 14776 // this.toggleChildPc(e.currentTarget); 14777 } 14778 } 14779 14780 header.handleBreakpointChange = function(){ 14781 if(this.breakpoint.indexOf("pc-small") != -1){ 14782 this.fitItem(); 14783 // this.closeNavi();//T_DMS-115474 14784 } else { 14785 this.removeFitItem(); 14786 $(".header-global-nav-item-child-block").each(function(n, item){ 14787 $(item).removeAttr('style'); 14788 }); 14789 } 14790 if(this.isVersion2){ 14791 // ãã¼ãã1ã§ãthis.breakpointã"pc"ãå«ã¾ãªãæã«ç¬¬3é層ç®ã®èæ¯ã«ã©ã¼ã夿´ 14792 if($("header").hasClass("theme-1")){ 14793 this.toggleSpBgColorNavi(); 14794 } 14795 // ãã¼ãã4ã§ãthis.breakpointã"pc"ãå«ã¾ãªãæã«ç¬¬3é層ç®ã®èæ¯ã«ã©ã¼ã夿´ 14796 if($("header").hasClass("theme-4")){ 14797 this.toggleSpBgColorNaviD(); 14798 } 14799 // ãã¼ãã3,4ã§ãthis.breakpointã"pc-small"以ä¸ã®æã«ç¬¬ä¸é層ç®ã®ããã¹ãã«ã©ã¼ã夿´ 14800 if($("header").hasClass("theme-3") || $("header").hasClass("theme-4")){ 14801 this.toggleTextColorNavi(); 14802 } 14803 // ãã¼ãã3ã§ãthis.breakpointã"pc-small"ã®æã«ç¢å°ã«ã©ã¼ã第ï¼é層ç®ã®èæ¯ã«ã©ã¼ã第1é層ç®ã®èæ¯ã«ã©ã¼ã夿´ã横ãã縦ããã«ãã£ã¦ããã¼ã«ã©ã¼ã夿´ 14804 if($("header").hasClass("theme-3")){ 14805 this.toggleTextArrowColorNavi(); 14806 this.toggleSpBgArrowColorNavi(); 14807 this.togglePcBgColorNavi(); 14808 this.toggleBgHoverColorNavi(); 14809 } 14810 // ãã¼ãã2ã§ãthis.breakpointã"pc-small"以ä¸ã®æã«ãã¼ãã¼ç¨ã«ã©ã¼ã夿´ 14811 if($("header").hasClass("theme-2")){ 14812 this.toggleBorderColorNaviB(); 14813 } 14814 // ãã¼ãã4ã§ãthis.breakpointã"pc-large"ã"pc-normal"ã®æã«éå±¤èæ¯ã«ã©ã¼ã夿´ 14815 if($("header").hasClass("theme-4")){ 14816 this.toggleTextBgColorNavi(); 14817 } 14818 } 14819 } 14820 14821 header.handleMouseMove = function(e){ 14822 var v = { 14823 x: e.clientX, 14824 y: e.clientY - this.$headerTop.outerHeight() 14825 }; 14826 this.r = getRadian(this.prevV,v); 14827 this.deg = toDegress(this.r); 14828 if(this.breakpoint.indexOf("pc") != -1){ 14829 if(this.deg < 90 && this.deg > 0 || this.deg > -90 && this.deg < 0){ 14830 // this.addChildPcLarge(elm); 14831 } else { 14832 this.addChildPcLarge(this.largeCurrentItem); 14833 } 14834 } 14835 this.prevV = { 14836 x : e.clientX, 14837 y : e.clientY - this.$headerTop.outerHeight() 14838 }; 14839 } 14840 14841 header.handleMouseOver = function(e){ 14842 var v = { 14843 x: e.clientX, 14844 y: e.clientY - this.$headerTop.outerHeight() 14845 }; 14846 var elm = e.currentTarget; 14847 14848 this.largeCurrentItem = elm; 14849 } 14850 14851 header.handleMouseOutContainer = function(){ 14852 if(this.breakpoint.indexOf("pc-small") != -1){ 14853 if($(".header-global-nav-item-progeny-pc-small > .header-global-nav-item-progeny").length > 0){ 14854 $(".header-global-nav-item-progeny-pc-small > .header-global-nav-item-progeny").remove() 14855 $(".header-global-nav-item-progeny-pc-small").hide() 14856 } 14857 if(this.isVersion2){ 14858 // 第äºé層 ã¯ã©ã¹åé¤ 14859 if(this.mouseOverItemProgeny){ 14860 this.mouseOverItemProgeny.removeClass(this.mouseOverItemProgeny.data("txtcolorhover")); 14861 // this.mouseOverItemProgeny.removeClass(this.mouseOverItemProgeny.data("spbgcolor")); 14862 this.mouseOverItemProgeny = null; 14863 } 14864 } 14865 } 14866 this.$navItem.removeClass(itemOpenClassName); 14867 14868 if(this.isVersion2){ 14869 $(".header-global-nav-item-child-item-open").removeClass("header-global-nav-item-child-item-open"); 14870 $('.header-global-nav-item-progeny').removeAttr('style'); 14871 } 14872 } 14873 14874 header.toggleChildPc = function(elm){ 14875 $(elm).toggleClass(itemOpenClassName) 14876 } 14877 14878 header.addChildPcLarge = function(elm){ 14879 var _fit_block_flag = false;
14880 if(!$(elm).hasClass(itemOpenClassName) && this.breakpoint.indexOf("pc-small") != -1 ){ 14881 _fit_block_flag = true; 14882 } 14883 14884 var getItemChildItemHeight = function(_element){ 14885 var _h = 0; 14886 var _ary = $(_element).find(".header-global-nav-item-child-item"); 14887 for(var i=0;i<_ary.length;i++){ 14888 _h += $(_ary[i]).outerHeight(); 14889 } 14890 return _h; 14891 } 14892//console.log("fit_blocK_flag="+_fit_block_flag); 14893 14894 this.$navItem 14895 .removeClass(itemOpenClassName); 14896 this.$navItem.find("> a") 14897 .removeClass(this.mouseEnterClass) 14898 .addClass(this.mouseLeaveClass) 14899 14900 14901 $(elm).addClass(itemOpenClassName) 14902 $(elm) 14903 .find("> a") 14904 .removeClass(this.mouseLeaveClass) 14905 .addClass(this.mouseEnterClass) 14906 14907 14908 if(_fit_block_flag){ 14909 for(var i=0;i<2;i++){ 14910 $(".header-global-nav-item").each(function(n , _item ){ 14911 var _item_ary = $(_item).find(".header-global-nav-item-child-block"); 14912 var _item_length = _item_ary.length; 14913 var _last_line = Math.floor(_item_length / 3)*3; 14914 if(_last_line == _item_length) _last_line -= 3; 14915 if($(_item).find(".header-global-nav-item-child").is(':visible')){ 14916//console.log(">>>>> "+n+" "+_item_length+" "+$(_item).find(".header-global-nav-item-child").is(':visible')); 14917 for(var i=0;i<_item_length;i++){ 14918 if(i < 3){ 14919 $(_item_ary[i]).css("padding-top",0); 14920 } 14921 if(i % 3 != 0 || i >= _last_line) continue; 14922 14923 var _h1 = getItemChildItemHeight($(_item_ary[i]) ) ; 14924 var _h2 = getItemChildItemHeight($(_item_ary[i+1]) ); 14925 var _h3 = getItemChildItemHeight($(_item_ary[i+2]) ); 14926 14927 var _max_height = Math.max(_h1, _h2 , _h3); 14928 14929 // console.log(n+" "+i+" "+_max_height); 14930 $(_item_ary[i]).css("height", _max_height).addClass("header-global-nav-item-child-block-line"); 14931 $(_item_ary[i+1]).css("height", _max_height).addClass("header-global-nav-item-child-block-line"); 14932 $(_item_ary[i+2]).css("height", _max_height).addClass("header-global-nav-item-child-block-line"); 14933 } 14934 } 14935 }); 14936 } 14937 } 14938 } 14939 14940 header.toggleChildSp = function(elm){ 14941 var $this = $(elm).parent().parent().parent(); 14942 if($this.hasClass(itemOpenClassName)){ 14943 $this.find("> a").removeClass(this.mouseEnterClass); 14944 $this.find("> a").addClass(this.mouseLeaveClass); 14945 if($("header").hasClass("theme-2")){ 14946 var itemArrow = $this.find(".header-global-nav-item-arrow"); 14947 itemArrow.removeClass(itemArrow.data("headerarrowon")); 14948 itemArrow.addClass(itemArrow.data("headerarrowoff")); 14949 } 14950 if(this.isVersion2){ 14951 if($("header").hasClass("theme-1")){ 14952 $this.children("a").removeClass($this.children("a").attr("data-sptextcolor")); 14953 }else{ 14954 $this.find("a").removeClass($this.find("a").attr("data-sptextcolor")); 14955 } 14956 $this.find(".header-global-nav-item-inner .header-global-nav-item-hover-item").removeClass($this.find(".header-global-nav-item-inner .header-global-nav-item-hover-item").attr("data-spbgcolor")); 14957 $this.find(".header-global-nav-item-inner .header-global-nav-item-hover-item").removeClass("spbgcolor"); 14958 $this.find(".header-global-nav-item-inner .header-global-nav-item-hover-item").addClass($this.find(".header-global-nav-item-inner .header-global-nav-item-hover-item").attr("data-spbgcoloroff")); 14959 } 14960 $this.removeClass(itemOpenClassName); 14961 } else { 14962 this.$navItem.removeClass(itemOpenClassName); 14963 $this.find("> a").addClass(this.mouseEnterClass); 14964 $this.find("> a").removeClass(this.mouseLeaveClass); 14965 if($("header").hasClass("theme-2")){ 14966 var itemArrow = $this.find(".header-global-nav-item-arrow"); 14967 itemArrow.addClass(itemArrow.data("headerarrowon")); 14968 itemArrow.removeClass(itemArrow.data("headerarrowoff")); 14969 } 14970 14971 if(this.isVersion2){ 14972 if($("header").hasClass("theme-1")){ 14973 $this.children("a").addClass($this.children("a").attr("data-sptextcolor")); 14974 }else{ 14975 $this.find("a").addClass($this.find("a").attr("data-sptextcolor")); 14976 } 14977 $this.find(".header-global-nav-item-inner .header-global-nav-item-hover-item").addClass($this.find(".header-global-nav-item-inner .header-global-nav-item-hover-item").attr("data-spbgcolor")); 14978 $this.find(".header-global-nav-item-inner .header-global-nav-item-hover-item").addClass("spbgcolor"); 14979 $this.find(".header-global-nav-item-inner .header-global-nav-item-hover-item").removeClass($this.find(".header-global-nav-item-inner .header-global-nav-item-hover-item").attr("data-spbgcoloroff")); 14980 } 14981 $this.addClass(itemOpenClassName); 14982 } 14983 } 14984 header.toggleProgenySp = function(elm){ 14985 var $this = $(elm).parent().parent().parent(); 14986 if($this.hasClass(itemProgenyOpenClassName)){ 14987 $this.removeClass(itemProgenyOpenClassName); 14988 } else { 14989 this.$navItem.removeClass(itemProgenyOpenClassName); 14990 $this.addClass(itemProgenyOpenClassName); 14991 } 14992 } 14993 // 第äºé層 表示ãã°ã« 14994 header.toggleProgenyPcSmall = function(elm){ 14995 $(elm).parent().parent().next().find(".header-global-nav-item-progeny").remove() 14996 $(elm).parent().parent().next().hide() 14997 if($(elm).children('.header-global-nav-item-progeny').length > 0){ 14998 $(elm).parent().parent().next().append($(elm).children('.header-global-nav-item-progeny').clone(true)) 14999 $(elm).parent().parent().next().children('.header-global-nav-item-progeny').show() 15000 $(elm).parent().parent().next().show() 15001 if($("header").hasClass("theme-4")){ 15002 var position_h = $(elm).position().top 15003 var item_h = $(elm).find(".header-global-nav-item-child-item-inner").outerHeight()/2 15004 $(elm).parent().parent().next().children('.header-global-nav-item-progeny-left-arrow').css('top', position_h + item_h) 15005 } 15006 } 15007 } 15008 15009 header.togglePcLarge = function(){ 15010 15011 } 15012 15013 header.removePcClass = function(){ 15014 15015 } 15016 15017 header.cloneItems = function(){ 15018 this.$cloneItem.each(this.clone) 15019 } 15020 15021 header.clone = function(item){ 15022 var selector = $(this).attr("data-clone").split(","); 15023 for(var i = 0; i < selector.length; i++){ 15024 var $target = $(selector[i]); 15025 $target.html($(this).html()); 15026 } 15027 15028 } 15029 15030 header.clearProperties = function(){ 15031 15032 } 15033 15034 header.splitChildItem = function(i,item){ 15035 var $this = $(item); 15036 var $childs = $this.find(navItemChildItemSelector); 15037 var count = 0; 15038 var $container; 15039 $childs.each(function(j,item){ 15040 var $this = $(item); 15041 15042 if(count == 0 || count == 6){
15043 $container = $('<div class="header-global-nav-item-child-block" />') 15044 this.$navItemChildContainer.eq(i).find(".header-global-nav-item-child-list").append($container); 15045 count = 0; 15046 } 15047 if(count < 6){ 15048 $container.append($this); 15049 } 15050 15051 count += 1; 15052 15053 }.bind(this)); 15054 } 15055 15056 header.splitChildItems = function(){ 15057 // æ¢åãã¶ã¤ã³ã®ã¿å®è¡ 15058 if(!this.isVersion2){ 15059 this.$navItemChildContainer.each(this.splitChildItem); 15060 } 15061 } 15062 15063 header.setBreakpoint = function(){ 15064 var breakpoint = this.getBreakpoint(); 15065 if(breakpoint != this.breakpoint){ 15066 this.prevBreakpoint = this.breakpoint; 15067 this.breakpoint = breakpoint; 15068 $(document).trigger(this.events.breakpointChange); 15069 } 15070 } 15071 15072 header.resetProgenyOpen = function(){ 15073 var _breakpoint = this.getBreakpoint(); 15074 if(_breakpoint != this.breakpoint){ 15075 if(_breakpoint == "pc-small"){ 15076 $('.header-global-nav-item-progeny').hide(); 15077 } else if(_breakpoint.indexOf("sp") == -1 || _breakpoint.indexOf("tab") == -1) { 15078 $(".header-global-nav-item-child-item-open").removeClass("header-global-nav-item-child-item-open"); 15079 $('.header-global-nav-item-progeny').removeAttr('style'); 15080 }else{ 15081 $('.header-global-nav-item-progeny').removeAttr('style'); 15082 } 15083 } 15084 } 15085 header.getBreakpoint = function(){ 15086 var breakPoint = ""; 15087 if(window.matchMedia){ 15088 if(window.matchMedia('screen and (max-width: 767px)').matches) breakPoint = "sp"; 15089 if(window.matchMedia('screen and (min-width: 768px) and (max-width: 1023px)').matches) breakPoint = "tab-normal"; 15090 if(window.matchMedia('screen and (min-width: 1024px) and (max-width: 1279px)').matches) breakPoint = "tab-large"; 15091 if(window.matchMedia('screen and (min-width: 1280px) and (max-width: 1519px)').matches) breakPoint = "pc-small"; 15092 if(window.matchMedia('screen and (max-width: 1759px) and (min-width: 1520px)').matches) breakPoint = "pc-normal"; 15093 if(window.matchMedia('screen and (min-width: 1760px)').matches) breakPoint = "pc-large"; 15094 } else { 15095 15096 if( window.innerWidth <= 767) breakPoint = "sp"; 15097 if( window.innerWidth >= 768 && window.innerWidth <= 1023) breakPoint = "tab-normal"; 15098 if( window.innerWidth >= 1024 && window.innerWidth <= 1279) breakPoint = "tab-large"; 15099 if( window.innerWidth >= 1280 && window.innerWidth <= 1519) breakPoint = "pc-small"; 15100 if( window.innerWidth >= 1520 && window.innerWidth <= 1759) breakPoint = "pc-normal"; 15101 if( window.innerWidth >= 1760) breakPoint = "pc-large"; 15102 } 15103 15104 return breakPoint; 15105 } 15106 15107 header.fitItem = function(){ 15108 var containerWidth = this.$container.width(); 15109 var itemCount = this.$navItem.length; 15110 var itemWidth = containerWidth/itemCount/containerWidth*100; 15111 this.$navItem.css({ 15112 width: itemWidth+"%" 15113 }) 15114 15115 15116 } 15117 15118 header.removeFitItem = function(){ 15119 this.$navItem.css({ 15120 width: "" 15121 }); 15122 } 15123 15124 header.toggleNavi = function(){ 15125 if(this.$container.hasClass("open")){ 15126 this.closeNavi(); 15127 } else { 15128 this.openNavi(); 15129 } 15130 15131 } 15132 15133 header.openNavi = function(){ 15134 this.scrollTop = $(window).scrollTop(); 15135 this.$container.addClass("open"); 15136 this.$wrapper.addClass("headerOpen"); 15137 this.$headerBottom.css({ 15138 "transform": "translate3d(0,"+this.scrollTop+"px,0)", 15139 "-ms-transform": "translate(0,"+this.scrollTop+"px)" 15140 }); 15141 this.$wrapper.css({ 15142 "transform": "translate3d(0,-"+this.scrollTop+"px,0)", 15143 "-ms-transform": "translate(0,-"+this.scrollTop+"px)" 15144 }); 15145 } 15146 15147 header.closeNavi = function(){ 15148 this.$container.removeClass("open"); 15149 this.$wrapper.removeClass("headerOpen"); 15150 15151 this.$headerBottom.css({ 15152 "transform": "", 15153 "-ms-transform": "" 15154 }); 15155 15156 this.$wrapper.css({ 15157 transform: "", 15158 "-ms-transform": "" 15159 }); 15160 15161 $(window).scrollTop(this.scrollTop); 15162 } 15163 header.toggleSpBgColorNavi = function(){ 15164 if($(".header-global-nav-item-child-item > a, .header-global-nav-item-child-item-inner, .header-global-nav-item-child, .header-global-nav-item-progeny, .header-global-nav-item-progeny-item > a, .header-global-nav-item-progeny-item-inner").length > 0){ 15165 if(this.breakpoint.indexOf("pc") != -1){ 15166 $(".header-global-nav-item-child-item > a, .header-global-nav-item-child-item-inner, .header-global-nav-item-child, .header-global-nav-item-progeny, .header-global-nav-item-progeny-item > a, .header-global-nav-item-progeny-item-inner").each(function() { 15167 $(this).addClass($(this).attr("data-spbgcolor")); 15168 }); 15169 $(".header-global-nav-item > a").each(function() { 15170 $(this).removeClass($(this).attr("data-sptextcolor")); 15171 }); 15172 } else { 15173 $(".header-global-nav-item-child-item > a, .header-global-nav-item-child-item-inner, .header-global-nav-item-child, .header-global-nav-item-progeny, .header-global-nav-item-progeny-item > a, .header-global-nav-item-progeny-item-inner").each(function() { 15174 $(this).removeClass($(this).attr("data-spbgcolor")); 15175 }); 15176 } 15177 } 15178 } 15179 header.toggleSpBgColorNaviD = function(){ 15180 if($(".header-global-nav-item-child-container, .header-global-nav-item-child-inner").length > 0){ 15181 if(this.breakpoint.indexOf("pc") != -1){ 15182 $(".header-global-nav-item-child-container, .header-global-nav-item-child-inner").each(function() { 15183 $(this).addClass($(this).attr("data-spbgcolor")); 15184 }); 15185 } else { 15186 $(".header-global-nav-item-child-container, .header-global-nav-item-child-inner").each(function() { 15187 $(this).removeClass($(this).attr("data-spbgcolor")); 15188 }); 15189 } 15190 } 15191 } 15192 header.toggleTextColorNavi = function(){ 15193 if($(".header-global-nav-item-inner").length > 0){ 15194 if(this.breakpoint.indexOf("pc") != -1){ 15195 $(".header-global-nav-item-inner").each(function() { 15196 $(this).addClass($(this).attr("data-pctextcolor")); 15197 }); 15198 } else { 15199 $(".header-global-nav-item-inner").each(function() { 15200 $(this).removeClass($(this).attr("data-pctextcolor")); 15201 }); 15202 } 15203 } 15204 } 15205 header.toggleSpBgArrowColorNavi = function(){ 15206 if($(".header-global-nav-item-child-inner").length > 0){ 15207 if(this.breakpoint.indexOf("pc") != -1){ 15208 $(".header-global-nav-item-child-inner").each(function() { 15209 $(this).addClass($(this).attr("data-spbgcolor")); 15210 }); 15211 } else { 15212 $(".header-global-nav-item-child-inner").each(function() { 15213 $(this).removeClass($(this).attr("data-spbgcolor")); 15214 }); 15215 } 15216 } 15217 } 15218 header.togglePcBgColorNavi = function(){ 15219 if(this.breakpoint.indexOf("pc-small") != -1){ 15220 $(".header-container").addClass($(".header-container").attr("data-headergradientcolor")) 15221 }else{ 15222 $(".header-container").removeClass($(".header-container").attr("data-headergradientcolor")) 15223 } 15224 } 15225 header.toggleBgHoverColorNavi = function(){ 15226 if($(".header-global-nav-item-child-item .header-global-nav-item-progeny-item").length > 0){ 15227 if(this.breakpoint.indexOf("pc-normal") != -1 || this.breakpoint.indexOf("pc-large") != -1){ 15228 $(".header-global-nav-item-child-item, .header-global-nav-item-progeny-item").each(function() { 15229 if($(this).children("a").length > 0){ 15230 $(this).children("a").addClass($(this).children("a").attr("data-pclbghovercolor")); 15231 $(this).children("a").removeClass($(this).children("a").attr("data-pcbghovercolor")); 15232 } 15233 }); 15234 }else{ 15235 $(".header-global-nav-item-child-item, .header-global-nav-item-progeny-item").each(function() { 15236 if($(this).children("a").length > 0){ 15237 $(this).children("a").removeClass($(this).children("a").attr("data-pclbghovercolor")); 15238 $(this).children("a").addClass($(this).children("a").attr("data-pcbghovercolor")); 15239 } 15240 }); 15241 } 15242 } 15243 } 15244 header.toggleTextArrowColorNavi = function(){ 15245 if($(".header-global-nav-item-child-arrow").length > 0){ 15246 if(this.breakpoint.indexOf("pc-small") != -1){ 15247 $(".header-global-nav-item-child-arrow .arrow-down-child").each(function() { 15248 $(this).addClass($(this).attr("data-pcsmalltextcolor")); 15249 }); 15250 }else{ 15251 $(".header-global-nav-item-child-arrow .arrow-down-child").each(function() { 15252 $(this).removeClass($(this).attr("data-pcsmalltextcolor")); 15253 }); 15254 } 15255 } 15256 } 15257 header.toggleBorderColorNaviB = function(){ 15258 if(this.breakpoint.indexOf("pc") != -1){ 15259 $(".header-global-nav-item-child-list").each(function() { 15260 $(this).addClass($(this).attr("data-bordercolr")); 15261 }); 15262 }else{ 15263 $(".header-global-nav-item-child-list").each(function() { 15264 $(this).removeClass($(this).attr("data-bordercolr")); 15265 }); 15266 } 15267 } 15268 header.toggleTextBgColorNavi = function(){ 15269 if($(".header-global-nav-item-child-arrow").length > 0){ 15270 if(this.breakpoint.indexOf("pc-normal") != -1 || this.breakpoint.indexOf("pc-large") != -1){ 15271 $(".header-global-nav-item-progeny-inner, .header-global-nav-item-progeny-container").each(function() { 15272 $(this).addClass($(this).attr("data-pcbgadd")); 15273 }); 15274 }else{ 15275 $(".header-global-nav-item-progeny-inner, .header-global-nav-item-progeny-container").each(function() { 15276 $(this).removeClass($(this).attr("data-pcbgadd")); 15277 }); 15278 } 15279 } 15280 } 15281 15282 function getRadian(v1,v2){ 15283 return Math.atan2(v2.y - v1.y,v2.x - v1.x); 15284 } 15285 15286 function toDegress(r){ 15287 return r * 180 / Math.PI; 15288 } 15289 15290 global.header = header; 15291 15292 15293 var headerModal = { 15294 15295 }; 15296 15297 headerModal.init = function(){ 15298 this.addEvents(); 15299 } 15300 15301 headerModal.addEvents = function(){ 15302 $(".header-tel-modal-bg,.header-tel-modal-close").on("click",this.handleCloseClick); 15303 } 15304 15305 headerModal.handleCloseClick = function(){ 15306 $("body").toggleClass("header-modal-open"); 15307 } 15308 15309 global.headerModal = headerModal; 15310})(DMS); 15311 15312$(function(){ 15313 DMS.header.init(); 15314 DMS.headerModal.init(); 15315}); 15316 15317$(function () { 15318 15319 //ã¢ã¤ã³ã³ã¯ãªãã¯æã®å¦ç 15320 var spAccordionMenuIcon = $(".accordion-0001-wrap").find(".accordion-0001__menu__icon-area__icon-sp"); 15321 spAccordionMenuIcon.on("click", spAccordion); 15322 15323 var pcAccordionMenuIcon = $(".accordion-0001-wrap").find(".accordion-0001__menu__icon-area-pc"); 15324 pcAccordionMenuIcon.on("click", pcAccordion); 15325 15326 function spAccordion () { 15327 var slidePanel = $(this).parent().siblings(".accordion-0001__main"); 15328 if($(this).hasClass("accordion-0001__menu__icon-area__icon--is-open")) { 15329 //ã¹ã©ã¤ãããã«è¡¨ç¤ºã®å¦ç 15330 slidePanel.slideDown(); 15331 $(this).removeClass("accordion-0001__menu__icon-area__icon--is-open"); 15332 $(this).addClass("accordion-0001__menu__icon-area__icon--is-close"); 15333 } else { 15334 //ã¹ã©ã¤ãããã«é表示ã®å¦ç 15335 slidePanel.slideUp(); 15336 $(this).removeClass("accordion-0001__menu__icon-area__icon--is-close"); 15337 $(this).addClass("accordion-0001__menu__icon-area__icon--is-open"); 15338 } 15339 15340 } 15341 15342 function pcAccordion () { 15343 var icon = $(this).children(); 15344 var slidePanel = $(this).parent().siblings(".accordion-0001__main"); 15345 if(icon.hasClass("accordion-0001__menu__icon-area__icon--is-open")) { 15346 //ã¹ã©ã¤ãããã«è¡¨ç¤ºã®å¦ç 15347 slidePanel.slideDown(); 15348 icon.removeClass("accordion-0001__menu__icon-area__icon--is-open"); 15349 icon.addClass("accordion-0001__menu__icon-area__icon--is-close"); 15350 } else { 15351 //ã¹ã©ã¤ãããã«é表示ã®å¦ç 15352 slidePanel.slideUp(); 15353 icon.removeClass("accordion-0001__menu__icon-area__icon--is-close"); 15354 icon.addClass("accordion-0001__menu__icon-area__icon--is-open"); 15355 } 15356 } 15357 15358 //ã¦ã¤ã³ãã¦ãªãµã¤ãºæã®å¦ç 15359 var accordionTimer = false;
15360 $(window).on("resize", function() { 15361 var sizeDetect = $("#size-detect").css("font-family"); 15362 if(accordionTimer !== false) { 15363 clearTimeout(accordionTimer); 15364 } 15365 15366 accordionTimer = setTimeout(function () { 15367 if(sizeDetect == "sp") { 15368 spResize(); 15369 } else { 15370 pcResize(); 15371 } 15372 }, 200); 15373 }) 15374 15375 function spResize () { 15376 for(var i = 0; i < spAccordionMenuIcon.length; i++) { 15377 15378 var icon = $(spAccordionMenuIcon[i]); 15379 var slidePanel = icon.parent().siblings(".accordion-0001__main"); 15380 if(slidePanel.css("display") == "block") { 15381 //ã¹ã©ã¤ãããã«ã表示ãããç¶æ ã§ã¹ããã«ãªãµã¤ãºãããã¨ãã®ã¢ã¤ã³ã³ã®å¦ç 15382 icon.removeClass("accordion-0001__menu__icon-area__icon--is-open"); 15383 icon.addClass("accordion-0001__menu__icon-area__icon--is-close"); 15384 } else { 15385 //ã¹ã©ã¤ãããã«ãé表示ã®ã¨ãã®å¦ç 15386 icon.removeClass("accordion-0001__menu__icon-area__icon--is-close"); 15387 icon.addClass("accordion-0001__menu__icon-area__icon--is-open"); 15388 } 15389 15390 } 15391 15392 } 15393 15394 function pcResize () { 15395 for(var i = 0; i < pcAccordionMenuIcon.length; i++) { 15396 var icon = $(pcAccordionMenuIcon[i]); 15397 var slidePanel = icon.parent().siblings(".accordion-0001__main"); 15398 if(slidePanel.css("display") == "block") { 15399 //ã¹ã©ã¤ãããã«ã表示ãããç¶æ ã§ã¹ãã以å¤ã«ãªãµã¤ãºãããã¨ãã®å¦ç 15400 icon.children().removeClass("accordion-0001__menu__icon-area__icon--is-open"); 15401 icon.children().addClass("accordion-0001__menu__icon-area__icon--is-close"); 15402 } else { 15403 //ã¹ã©ã¤ãããã«ãé表示ã®ã¨ãã®å¦ç 15404 icon.children().removeClass("accordion-0001__menu__icon-area__icon--is-close"); 15405 icon.children().addClass("accordion-0001__menu__icon-area__icon--is-open"); 15406 } 15407 15408 } 15409 15410 } 15411 15412});$( function() { 15413 15414 15415 function bgimage0002Main(){ 15416 this._element; 15417 this._16_7_flag; 15418 this._target_top; 15419 this._target_bottom; 15420 this._unit_sync_flag; 15421 this._overlap; 15422 this._limitbehavior; 15423 this._unit_sync_idlist; 15424 this._ytPlayer; 15425 this._bottom_n; 15426 this._all_unit; 15427 this.ytPlayerAry; 15428 this._my_num; 15429 this._image; 15430 this._timeout_id ; 15431 this._last_check_height; 15432 15433 } 15434 bgimage0002Main.prototype.init = function(_element, _my_num){ 15435 this._element = _element; 15436 this._my_num = _my_num; 15437 this._image = $(_element).find("img"); 15438 this._target_top = _element.parents(".unit-wrapper").attr("id"); 15439 this._target_bottom = ""; 15440 this._overlap = _element.data("overlap"); 15441 this._unit_sync_idlist = [ 15442 ] 15443 this._ytPlayer; 15444 this._bottom_n = _element.data("bottomunit"); 15445 this._limitbehavior = _element.data("limitbehavior"); 15446 this._all_unit = $(".unit-wrapper"); 15447 15448 if(this._bottom_n){ 15449 for(var i=0;i<this._all_unit.length;i++){ 15450 if($(this._all_unit[i]).attr("id") == this._target_top){ 15451 this._target_bottom = $(this._all_unit[i+this._bottom_n]).attr("id"); 15452 break; 15453 } 15454 } 15455 } 15456 15457 this._target_top = "#"+this._target_top; 15458 this._target_bottom = "#"+this._target_bottom; 15459 15460 this.ytPlayerAry = []; 15461 15462 var that = this; 15463 15464 15465 this.setFixedElement(); 15466 var that = this; 15467 $(window).resize(function(){ 15468 that.setFixedElement(); 15469 }); 15470 $(window).scroll(function(){ 15471 that.setFixedElement(); 15472 }); 15473 15474 if(navigator.userAgent.match(/MSIE 10/i) || navigator.userAgent.match(/Trident\/7\./) || navigator.userAgent.match(/Edge\/12\./)) { 15475 $('body').on("mousewheel", function () { 15476 event.preventDefault(); 15477 var wd = event.wheelDelta; 15478 var csp = window.pageYOffset; 15479 window.scrollTo(0, csp - wd); 15480 }); 15481 } 15482 var _id = setInterval(function(){ 15483 var _yt_h = that._element.find(".bg-imagemain-container img").innerHeight(); 15484 if(_yt_h && _yt_h > 1){ 15485 clearInterval(_id); 15486 that.setFixedElement(); 15487 } 15488 }, 100); 15489 15490 } 15491 15492 15493 15494 bgimage0002Main.prototype.setFixedElement= function(){ 15495 var _t = $("#container").position().top; 15496 var _target_element; 15497 var _t_bottom; 15498 var _target_bottom_element; 15499 var _sc_top = $(window).scrollTop(); 15500 15501 var _conversion1_h = 0; 15502 if($(".conversion-0001-head").length>0 && $(".conversion-0001-head").is(':visible') ){ 15503 _conversion1_h = $(".conversion-0001-head").height(); 15504 } 15505 if($(".conversion-0001-sp-head-menu").length>0 && $(".conversion-0001-sp-head-menu").is(':visible') ){ 15506 _conversion1_h = $(".conversion-0001-sp-head-menu").height(); 15507 } 15508 15509 var _header_h = _t - _sc_top; 15510 if(_header_h < 0) _header_h = 0; 15511 15512 if($(this._target_top).length){ 15513 _target_element = $(this._target_top); 15514 _t = _target_element.position().top; 15515 } 15516 15517 if($(this._target_bottom).length){ 15518 _target_bottom_element = $(this._target_bottom); 15519 _t_bottom = _target_bottom_element.position().top; 15520 } 15521 var _my_top2 = _t - _sc_top + $("#container").position().top; 15522 var _my_top = _t - _sc_top + $("#container").position().top; // + _conversion1_h; 15523 if(_my_top < _header_h) _my_top = _header_h; 15524 var _t_height = 0; 15525 if(_sc_top < _t){ 15526 _t_height = _t - _sc_top; 15527 } 15528 var _my_bottom = _t_bottom - _sc_top + $("#container").position().top; 15529 15530 if(_my_top < _conversion1_h) _my_top = _conversion1_h; 15531 var _w = $(".content").width(); 15532 var _yt_h = this._element.find(".bg-imagemain-container img").innerHeight(); 15533 15534 var _my_height = _yt_h; 15535 var _unit_height = _yt_h * (1 - this._overlap / 100); 15536 15537 if(_target_element.offset().top < _sc_top){ 15538 if(this._limitbehavior == 1){ 15539 if(_my_bottom < _yt_h){ 15540 var _my_top_2 = -(_yt_h - _my_bottom); 15541 if(_my_top_2 < _target_element.offset().top-_sc_top){ 15542 _my_top = (_target_element.offset().top-_sc_top); 15543 }else{ 15544 _my_top = _my_top_2; 15545 } 15546 }else{ 15547 } 15548 }else{ 15549 _my_height = _my_bottom; 15550 } 15551 } 15552 $(this._element).css("height", _unit_height); 15553 15554 if(_my_height < 0) _my_height = 0; 15555 15556 this._element.find(".bg-image-0002-scroller").css("width", _w); 15557 var ua = navigator.userAgent 15558 if(ua.indexOf("iPhone") >= 0){ 15559 this._element.find(".bg-image-0002-scroller").css("top", _my_top); 15560 }else{ 15561 this._element.find(".bg-image-0002-scroller").css("transform","translateY("+_my_top+"px)"); 15562 } 15563 this._element.find(".bg-image-0002-scroller").css("height",_my_height); 15564 15565 } 15566 15567 15568 var _bgimage0002Main_ary = []; 15569 if($(".bg-image-0002").length>0){ 15570 $(".bg-image-0002").each(function(_n){
15571 var _bgimage0002Main_obj = new bgimage0002Main(); 15572 _bgimage0002Main_ary.push(_bgimage0002Main_obj); 15573 _bgimage0002Main_obj.init($(this), _n); 15574 }); 15575 } 15576 15577 function resetFixedElement(){ 15578 for(var i=0;i<_bgimage0002Main_ary.length;i++){ 15579 _bgimage0002Main_ary[i].setFixedElement(); 15580 } 15581 } 15582 $(document).click(function(){ 15583 resetFixedElement(); 15584 checkBodyAndReset(); 15585 }); 15586 15587 var _last_header_height; 15588 var _id_cnt = 0; 15589 var _id = setInterval(function(){ 15590 var _h = $("header").height(); 15591 if(_h != _last_header_height){ 15592 _last_header_height = _h; 15593 _id_cnt = 0; 15594 }else{ 15595 _id_cnt++; 15596 if(_id_cnt > 3){ 15597 resetFixedElement(); 15598 clearInterval(_id); 15599 } 15600 } 15601 },10); 15602 $(document).ready(function(){ 15603 resetFixedElement(); 15604 }); 15605 15606 15607 var _last_body_height2; 15608 var _last_window_top; 15609 var _id3_cnt; 15610 var _id3; 15611 function checkBodyAndReset(){ 15612 _id3_cnt = 0; 15613 _last_body_height2 = $("body").height(); 15614 _last_window_top = $(window).scrollTop(); 15615 15616 clearInterval(_id3); 15617 _id3 = setInterval(function(){ 15618 var _h = $("body").height(); 15619 var _top = $(window).scrollTop(); 15620 if(_h != _last_body_height2 || _top != _last_window_top){ 15621 _last_body_height2 = _h; 15622 _last_window_top = _top; 15623 _id3_cnt = 0; 15624 resetFixedElement(); 15625 }else{ 15626 _id3_cnt++; 15627 if(_id3_cnt > 3){ 15628 clearInterval(_id3); 15629 } 15630 } 15631 },10); 15632 } 15633 checkBodyAndReset(); 15634 15635}); 15636$(function () { 15637 15638 if($(".bgimage").length > 0){ 15639 $(".bgimage").each(function(){ 15640 setBgImage($(this)); 15641 }); 15642 } 15643 15644 function setBgImage(_target){ 15645 var _speed = (parseInt(_target.data("speed"),10)-7)/10; 15646 var _mode = 2; 15647 var _image_width; 15648 var _target_top; 15649 var checkAndSet = function(){ 15650 var sizeDetect = $("#size-detect").css("font-family"); 15651 if(sizeDetect.indexOf("pc") >= 0){ 15652 var _img = _target.find(".bg-image-wrapper img"); 15653 var _src = _img.data("src"); 15654 if(_src){ 15655 _img.attr("src", _src); 15656 _img.data("src", ""); 15657 } 15658 if(_image_width){ 15659 _target.find(".bg-image-wrapper").show(); 15660 } 15661 if(_mode == 1){ 15662 _target.find(".bg-image-wrapper").css({ 15663 "width":$("#container").width(), 15664 "left":$("#content").position().left 15665 }); 15666 }else{ 15667 if(_image_width){ 15668 _target.find(".bg-image-wrapper").css({ 15669 "width":_image_width, 15670 "left":$("#content").position().left + $("#content").width()/2 - _image_width/2 15671 }); 15672 } 15673 } 15674 }else{ 15675 _target.find(".bg-image-wrapper").hide(); 15676 } 15677 } 15678 15679 15680 function setPosition(){ 15681 sizeDetect = $("#size-detect").css("font-family"); 15682 if(sizeDetect.indexOf("pc") >= 0){ 15683 _target.css("margin-top", $(window).scrollTop() * _speed); 15684 } 15685 15686 } 15687 15688 $(window).resize(function() { 15689 checkAndSet(); 15690 setPosition(); 15691 }); 15692 checkAndSet(); 15693 15694 $(window).scroll(function(a,b) { 15695 setPosition(); 15696 }); 15697 setPosition(); 15698 15699 15700 clearInterval(_id); 15701 var _id = setInterval(function(){ 15702 if(_target.find(".bg-image-wrapper").width() > 0){ 15703 _image_width = _target.find(".bg-image-wrapper").width(); 15704 clearInterval(_id); 15705 _target.find(".bg-image-wrapper").show(); 15706 checkAndSet(); 15707 } 15708 },100); 15709 15710 } 15711}); 15712 15713$( function() { 15714 15715 function PlaylistPlayer(){ 15716 this.ytplayer; 15717 this.onReadyFlg; 15718 this.onStateChangeFlg; 15719 this.unit_sync_flag; 15720 15721 this.playerId; 15722 15723 this.playlist_number = 0; 15724 this.playlist; 15725 15726 this.pauseRequestFlg; 15727 } 15728 PlaylistPlayer.prototype.init = function(_playerid) { 15729 this.onReadyFlg = false; 15730 this.onStateChangeFlg = false; 15731 this.playerId = _playerid; 15732 15733 } 15734 PlaylistPlayer.prototype.initPlayer = function(_area, _playlist) { 15735 var that = this; 15736 this.playlist = _playlist.split(","); 15737 this.ytplayer = new YT.Player(_area, { 15738 videoId:this.playlist[this.playlist_number], 15739 playerVars:{ 15740 rel:0, 15741 iv_load_policy:3, 15742 showinfo:0, 15743 autoplay:1, 15744 modestbranding:1, 15745 playsinline:1, 15746 controls:0, 15747 loop:1 15748 }, 15749 events: { 15750 'onReady': function(event){ 15751 that.onReadyFlg = true; 15752 15753 event.target.mute(); 15754 event.target.playVideo(); 15755//console.log("onReady "+that.playerId); 15756 if(that.pauseRequestFlg){ 15757 that.pauseVideo(); 15758 } 15759 }, 15760 'onStateChange':function(event) { 15761 that.onStateChangeFlg = true; 15762 15763 if(event.data == 0){ 15764 if(!this.unit_sync_flag){ 15765 that.playlist_number++; 15766 if(that.playlist.length <= that.playlist_number){ 15767 that.playlist_number = 0; 15768 } 15769 } 15770 event.target.loadVideoById(that.playlist[that.playlist_number]); 15771 } 15772 } 15773 } 15774 }); 15775 }; 15776 PlaylistPlayer.prototype.pauseVideo = function() { 15777 if(this.ytplayer && this.ytplayer.pauseVideo && this.ytplayer.getPlayerState() != 2){ 15778//console.log("pauseVideo *** "+this.ytplayer.getPlayerState() ); 15779 this.ytplayer.pauseVideo(); 15780 this.pauseRequestFlg = false;
15781 }else{ 15782 this.pauseRequestFlg = true; 15783 } 15784 } 15785 PlaylistPlayer.prototype.playVideo = function() { 15786 if(this.ytplayer && this.ytplayer.getPlayerState && (this.ytplayer.getPlayerState() == 2 || this.ytplayer.getPlayerState() == -1)){ 15787//console.log("playVideo *** "); 15788 this.pauseRequestFlg = false; 15789 this.ytplayer.playVideo(); 15790 } 15791 } 15792 PlaylistPlayer.prototype.loadVideoById = function() { 15793 if(this.ytplayer && this.ytplayer.loadVideoById){ 15794 this.ytplayer.loadVideoById(this.playlist[this.playlist_number]); 15795 } 15796 } 15797 15798 function bgvideoMain(){ 15799 this._element; 15800 this._16_7_flag; 15801 this._target_top; 15802 this._target_bottom; 15803 this._unit_sync_flag; 15804 this._overlap; 15805 this._unit_sync_idlist; 15806 this._ytPlayer; 15807 this._bottom_n; 15808 this._all_unit; 15809 this.ytPlayerAry; 15810 this._my_num; 15811 this.playerId; 15812 15813 this._timeout_id ; 15814 this._last_check_height; 15815 15816 } 15817 bgvideoMain.prototype.init = function(_element, _my_num){ 15818 this._element = _element; 15819 this._my_num = _my_num; 15820 this._16_7_flag = (_element.data("ratio") == 2) ? true : false; 15821 this._target_top = _element.parents(".unit-wrapper").attr("id"); 15822 this._target_bottom = ""; 15823 this._unit_sync_flag = false; 15824 this._overlap = _element.data("overlap"); 15825 this._unit_sync_idlist = [ 15826 ] 15827 this._ytPlayer; 15828//console.log("target_top="+this._target_top); 15829 this._bottom_n = _element.data("bottomunit"); 15830 this._all_unit = $(".unit-wrapper"); 15831 15832 if(this._bottom_n){ 15833 for(var i=0;i<this._all_unit.length;i++){ 15834 if($(this._all_unit[i]).attr("id") == this._target_top){ 15835 this._target_bottom = $(this._all_unit[i+this._bottom_n]).attr("id"); 15836 break; 15837 } 15838 } 15839 } 15840 15841 this._target_top = "#"+this._target_top; 15842 this._target_bottom = "#"+this._target_bottom; 15843//console.log("_target_top="+this._target_top); 15844//console.log("_target_bottom="+this._target_bottom); 15845 15846 this.ytPlayerAry = []; 15847 15848 var that = this; 15849 15850 DMS.customEvent.addEventListner(DMS.customEvent.INIT_YOUTUBE, function(){ 15851 that.setYouTube(); 15852 that.pollingWindow(); 15853 }); 15854 15855 15856 this.setFixedElement(); 15857 var that = this; 15858 $(window).resize(function(){ 15859 that.pollingWindow(); 15860 }); 15861 $(window).scroll(function(){ 15862 that.setFixedElement(); 15863 }); 15864 } 15865 bgvideoMain.prototype.pollingWindow = function(){ 15866 var that = this; 15867 this.setFixedElement(); 15868 clearInterval(this._timeout_id); 15869 this._timeout_id = setInterval(function(){ 15870 var _check_height = that.setFixedElement(); 15871 if(that._last_check_height == _check_height){ 15872 clearInterval(that._timeout_id); 15873 } 15874 that._last_check_height = _check_height; 15875 }, 300); 15876 } 15877 bgvideoMain.prototype.setYouTube = function(){ 15878 var _target = this._element.find(".bg-video-wrapper"); 15879 15880 var id = _target.find('.bg-youtube')[0]; 15881 var player = $(id).children()[0]; 15882 this.playerId = $(player).attr("id")+"_"+this._my_num; 15883 $(player).attr("id", this.playerId); 15884//console.log("this.playerId="+this.playerId); 15885 var dataYoutubeUrl = $(id).data("bg-youtube-url").join(","); 15886 this._ytPlayer = new PlaylistPlayer(); 15887 this._ytPlayer.unit_sync_flag = this._unit_sync_flag; 15888 this._ytPlayer.init(this.playerId); 15889 this._ytPlayer.initPlayer(this.playerId, dataYoutubeUrl); 15890 this.ytPlayerAry.push(this._ytPlayer); 15891 15892 this.setFixedElement(); 15893 } 15894 15895 15896 bgvideoMain.prototype.setFixedElement= function(){ 15897 var _t = $("#container").position().top; 15898 var _target_element; 15899 var _t_bottom; 15900 var _target_bottom_element; 15901 var _sc_top = $(window).scrollTop(); 15902 15903 var _conversion1_h = 0; 15904 if($(".conversion-0001-head").length>0 && $(".conversion-0001-head").is(':visible') ){ 15905 _conversion1_h = $(".conversion-0001-head").height(); 15906 } 15907 if($(".conversion-0001-sp-head-menu").length>0 && $(".conversion-0001-sp-head-menu").is(':visible') ){ 15908 _conversion1_h = $(".conversion-0001-sp-head-menu").height(); 15909 } 15910 15911 var _header_h = _t - _sc_top; 15912 if(_header_h < 0) _header_h = 0; 15913 15914 if($(this._target_top).length){ 15915 _target_element = $(this._target_top); 15916 _t = _target_element.position().top; 15917 } 15918 15919 if($(this._target_bottom).length){ 15920 _target_bottom_element = $(this._target_bottom); 15921 _t_bottom = _target_bottom_element.position().top; 15922 } 15923 var _my_top = _t - _sc_top + $("#container").position().top; // + _conversion1_h; 15924 if(_my_top < _header_h) _my_top = _header_h; 15925 var _t_height = 0; 15926 if(_sc_top < _t){ 15927 _t_height = _t - _sc_top; 15928 } 15929 var _my_bottom = _t_bottom - _sc_top - _t_height + $("#container").position().top; 15930 15931 if(_my_top < _conversion1_h) _my_top = _conversion1_h; 15932 var _w = $(".content").width(); 15933 var _yt_h = this._element.find(".bg-video-wrapper").innerHeight(); 15934 if(this._16_7_flag) _yt_h = _yt_h/9*7; 15935 var _my_height = _yt_h; 15936 if(_my_bottom < _yt_h){ 15937 _my_height = _my_bottom; 15938 } 15939 15940 var _unit_height = _yt_h * (1 - this._overlap / 100); 15941 $(this._element).css("height", _unit_height); 15942 15943 if(_my_height < 0) _my_height = 0; 15944 15945 15946 this._element.find(".bg-video-scroller").css("width", _w).css("top", _my_top).css("height",_my_height); 15947 15948 if(this._unit_sync_flag){ 15949 var _id_num; 15950 for(var i=0;i<this._unit_sync_idlist.length;i++){ 15951 var _chk_target = $(this._unit_sync_idlist[i]); 15952 if(_chk_target.width() > 0){ 15953 var _chk_y = _chk_target.position().top - _sc_top; 15954 if(_chk_y < _yt_h){ 15955 _id_num = i; 15956 } 15957 } 15958 } 15959 if(this._ytPlayer && this._ytPlayer.playlist_number != _id_num){ 15960 this._ytPlayer.playlist_number = _id_num; 15961 this._ytPlayer.loadVideoById(); 15962 } 15963 } 15964//console.log(_my_top+" "+_sc_top+" "+$(window).height()+" "+(_sc_top - $(window).height())+" "+_my_height); 15965 if(this._ytPlayer){ 15966 if( (_my_top < 0 && _my_top+_my_height < 0) || (_my_top > $(window).height() && _my_top+_my_height > $(window).height()) || _my_height == 0){ 15967// console.log("call pause request"); 15968 this._ytPlayer.pauseVideo(); 15969 }else{ 15970// console.log("call play request"); 15971 this._ytPlayer.playVideo(); 15972 } 15973 } 15974 return this._element.find(".bg-video-wrapper").innerHeight(); 15975 15976 } 15977 15978 15979 var _bgvideoMain_ary = []; 15980 if($(".bgvideo-0001").length>0){ 15981 $(".bgvideo-0001").each(function(_n){ 15982 var _bgvideoMain_obj = new bgvideoMain(); 15983 _bgvideoMain_ary.push(_bgvideoMain_obj); 15984 _bgvideoMain_obj.init($(this), _n); 15985 }); 15986 } 15987 15988}); 15989 15990jQuery(document).ready(function($) { 15991 if ($(".body-color-0001").length > 0) { 15992 15993 15994 var thisUnit = $(".body-color-0001"); 15995 var countupThreshold = 120; //ã«ã¦ã³ãã¢ããã«å¿ è¦ãªãã¦ã¹ã®ç§»åé 15996 var moveOrigin = 0; //è·é¢ç®åºã®åºæºç¹ 15997 var currentIndex = 0; 15998 var numIndex = 3; 15999 16000 16001 16002
16003 function picAngleChange(target2) { 16004 16005 var ua = navigator.userAgent; 16006 // console.log(ua); 16007 var start; 16008 var move; 16009 var end; 16010 if (ua.indexOf('iPhone') > -1 || ua.indexOf('iPad') > -1 || ua.indexOf('iPod') > -1) { 16011 start = "touchstart"; 16012 move = "touchmove"; 16013 end = "touchend"; 16014 countupThreshold = 50; 16015 } else { 16016 start = "mousedown"; 16017 move = "mousemove"; 16018 end = "mouseup"; 16019 countupThreshold = 120; 16020 } 16021 16022 var target = target2.find(".mousemove-area"); 16023 $(target).on(start, function(e) { 16024 if (!e.pageX) e = event.touches[0]; 16025 moveOrigin = e.pageX; 16026 16027 // console.log(target2) 16028 16029 $(target).on(move, function(e) { 16030 if (!e.pageX) e = event.touches[0]; 16031 var diff = e.pageX - moveOrigin; 16032 var absDiff = Math.abs(diff); 16033 16034 //ãã¦ã¹ç§»åéã®é¾å¤ãè¶ ããã¨ãã ãã³ã¹ãã®é«ãè¨ç®ããã 16035 if (absDiff > countupThreshold) { 16036 if (!e.pageX) e = event.touches[0]; 16037 moveOrigin = e.pageX; //䏿¦diffããªã»ãããã 16038 var count = diff / absDiff; //å¤ã 1 or -1 ã«ããããã®å¦ç 16039 currentIndex += count; //ç»åã®ã¤ã³ããã¯ã¹ã¯1ãã¤å¢æ¸ããã 16040 currentIndex %= numIndex; //numIndexã®æ°ã§ä¸¸ãã 16041 16042 //å¤ããã¤ãã¹ã«ãªããªãããã«èª¿æ´ 16043 if (currentIndex < 0) { 16044 currentIndex = currentIndex + numIndex; 16045 } 16046 updateView(); 16047 } 16048 }); 16049 }); 16050 16051 16052 var changeBtn = target2.find(".carview-direction-change-btn a"); 16053 changeBtn.on('click', function(e) { 16054 var idx = $(this).data('index'); 16055 changeIndex(idx); 16056 }); 16057 16058 //indexã夿´ 16059 function changeIndex(index) { 16060 currentIndex = index; 16061 updateView(); 16062 } 16063 16064 16065 //viewã®æ´æ° 16066 function updateView() { 16067 var pic_item = target2.find(".carview-item__pic-item"); 16068 var show_pic_item = target2.find(".pic-item-" + currentIndex); 16069 var navBtn = target2.find('.carview-direction-change-btn li'); 16070 16071 pic_item.removeClass('show'); 16072 show_pic_item.addClass('show'); 16073 navBtn.removeClass('active'); 16074 navBtn.eq(currentIndex).addClass('active'); 16075 } 16076 16077 $(document).on(end, function(e) { 16078 $(target).off(move); 16079 }); 16080 } 16081 16082 thisUnit.each(function() { 16083 if (thisUnit.hasClass('car-pic-3')) { 16084 picAngleChange($(this)); 16085 } 16086 }); 16087 16088 // bxslider 16089 var activeClass = 'active-slide'; 16090 16091 function slider(_target) { 16092 16093 var targetSlide = _target.find(".carview-list"); 16094 var targetNav = _target.find(".carview-nav-wrap"); 16095 var prev = _target.find(".carview-pn-btn .prev"); 16096 var next = _target.find(".carview-pn-btn .next"); 16097 var carview_list_wrap = _target.find(".slider.carview-list-wrap"); 16098 const $slide = targetSlide.find(".carview-item__pic .carview-item__pic-item.show"); 16099 16100 16101 targetSlide.bxSlider({ 16102 pagerCustom: targetNav, 16103 speed: "100", 16104 mode: "fade", 16105 touchEnabled: false, 16106 prevSelector: prev, 16107 nextSelector: next, 16108 onSliderLoad: function() { 16109 targetSlide.children('li').eq(0).addClass(activeClass); 16110 const intervalId = setInterval(() => { 16111 // ãã¼ãå¾ã«ã¹ã©ã¤ãã¼ãã¾ã ã表示ãããªããããã¹ã©ã¤ãã¼ã表示ãããå¾ã«å®è¡ 16112 if ($slide.is(":visible")) { 16113 clearInterval(intervalId);
16114 setSlideHeight(targetSlide); 16115 } 16116 }, 50); 16117 }, 16118 onSliderResize: function(){ 16119 // ãªãµã¤ãºæã«è¡¨ç¤º(.showãè¨å®)ããã¦ãããã®ãåå¾ãã 16120 const $slide = targetSlide.find(".carview-item__pic .carview-item__pic-item.show"); 16121 const intervalId = setInterval(() => { 16122 // ã¹ã©ã¤ãã¼ã表示ãããå¾ã«å®è¡ 16123 if ($slide.is(":visible")) { 16124 clearInterval(intervalId); 16125 setSlideHeight(targetSlide); 16126 } 16127 }, 50); 16128 }, 16129 onSlideAfter: function($slideElement, oldIndex, newIndex) { 16130 targetSlide.children('li').removeClass(activeClass).eq(newIndex).addClass(activeClass); 16131 } 16132 }); 16133 16134 $(".carview-pn-btn .bx-prev").text(""); 16135 $(".carview-pn-btn .bx-next").text(""); 16136 16137 16138 //tabã¦ãããå¯¾å¿ 16139 DMS.customEvent.addEventListner(DMS.customEvent.INIT_UNIT, function() { 16140 targetSlide.destroySlider(); 16141 carview_list_wrap.after(targetNav); 16142 targetSlide.reloadSlider(); 16143 $(".carview-pn-btn .bx-prev").text(""); 16144 $(".carview-pn-btn .bx-next").text(""); 16145 16146 var timer = false; 16147 if (timer !== false) { 16148 clearTimeout(timer); 16149 } 16150 timer = setTimeout(function() { 16151 var picHeight = $(".active-slide .carview-item__pic .carview-item__pic-item.show img").height(); 16152 $(".carview-direction-change-btn").css({ "top": picHeight }); 16153 }, 10); 16154 }); 16155 16156 16157 const ua = navigator.userAgent; 16158 if (ua.indexOf('Trident') !== -1) { 16159 //IE 11ã®ã¨ãã®æå 16160 targetSlide.destroySlider(); 16161 carview_list_wrap.after(targetNav); 16162 targetSlide.reloadSlider(); 16163 $(".carview-pn-btn .bx-prev").text(""); 16164 $(".carview-pn-btn .bx-next").text(""); 16165 } 16166 16167 16168 16169 thisUnit.delay(300).animate({ 16170 "opacity": 1 16171 }, 300 ); 16172 16173 16174 } 16175 16176 16177 16178 16179 const ua = navigator.userAgent; 16180 if (ua.indexOf('Trident') !== -1) { 16181 $(window).load(function () { 16182 thisUnit.each(function() { 16183 slider($(this)); 16184 }); 16185 }); 16186 }else{ 16187 thisUnit.each(function() { 16188 slider($(this)); 16189 }); 16190 } 16191 16192 16193 16194 // SPã¢ã³ã°ã«åæ¿ãã¿ã³ãä½ç½®å¶å¾¡(ãã¬ãã¥ã¼ç»é¢ã§ã¯ä½åããªã) 16195 function changeBtnPosControl() { 16196 var timer = false; 16197 $(window).on('load orientationchange resize', function() { 16198 if (timer !== false) { 16199 clearTimeout(timer); 16200 } 16201 timer = setTimeout(function() { 16202 var picHeight = $(".active-slide .carview-item__pic .carview-item__pic-item.show img").height(); 16203 16204 $(".carview-direction-change-btn").css({ "top": picHeight }); 16205 }, 10); 16206 16207 }); 16208 } 16209 16210 thisUnit.each(function() { 16211 if (thisUnit.hasClass('car-pic-3')) { 16212 changeBtnPosControl($(this)); 16213 } 16214 }); 16215 16216 // ã¹ã©ã¤ãã¼ã®é«ããåè¨å® 16217 function setSlideHeight(targetSlide) { 16218 const $img = targetSlide.find(".active-slide .carview-item__pic .carview-item__pic-item.show img"); 16219 if ($img[0].complete) { 16220 // ç»åããã§ã«èªã¿è¾¼ã¾ãã¦ããå ´å 16221 applySlideHeight($img, targetSlide); 16222 } else { 16223 // ç»åãèªã¿è¾¼ã¾ãã¦ããªãå ´åã¯ãã¼ãå¾ã«é«ãè¨å® 16224 $img.on('load', function() { 16225 applySlideHeight($img, targetSlide); 16226 }); 16227 } 16228 } 16229 16230 // ç»åã®é«ããåå¾ããã¹ã©ã¤ãã¼ã«é«ããè¨å®ãã 16231 function applySlideHeight($img, targetSlide) { 16232 var picOuterHeight = $img.outerHeight(true); 16233 var textHeight = targetSlide.find(".active-slide .carview-item__text").outerHeight(true); 16234 var slideHeight = picOuterHeight + textHeight; 16235 $img.closest(".bx-viewport").css({"height": slideHeight}); 16236 16237 // ã¢ã³ã°ã«ãã¿ã³ã®ä½ç½®èª¿æ´ 16238 var picHeight = $(".active-slide .carview-item__pic .carview-item__pic-item.show img").height(); 16239 $(".carview-direction-change-btn").css({ "top": picHeight }); 16240 } 16241 16242 16243 16244 } 16245 16246});$(function () { 16247 16248});$(function () { 16249 if($(".calendar-0001").length>0){ 16250 $(".calendar-0001").each(function(){ 16251 setCalendarMain($(this)); 16252 }); 16253 16254 16255 function setCalendarMain(_target){ 16256 16257 var _li_list= _target.find(".calendar-list li"); 16258 var _low_date = $(_li_list[0]).data("date"); 16259 var _high_date = $(_li_list[_li_list.length-1]).data("date"); 16260 var _dt = new Date(); 16261 var _c_month = _dt.getMonth()+1; 16262 var _c_year = _dt.getFullYear(); 16263 16264 var _now = getYearMonth(_c_year, _c_month , 0);
16265 var _next = getYearMonth(_c_year, _c_month , 1); 16266 16267 16268 function getColumn(){ 16269 var _ret = 3; 16270 16271 var _ff = $("#size-detect").css("font-family"); 16272 if(_ff.indexOf("tab") >= 0){ 16273 _ret = 2; 16274 }else if(_ff.indexOf("sp") >= 0){ 16275 _ret = 1; 16276 } 16277 16278 return _ret; 16279 } 16280 16281 function moveYearMonth(_i){ 16282 _c_month+=_i; 16283 if(_c_month > 12){ 16284 _c_year++; 16285 _c_month -= 12; 16286 } 16287 if(_c_month < 1){ 16288 _c_year--; 16289 _c_month += 12; 16290 } 16291 } 16292 16293 function getYearMonth(_y, _m, _i){ 16294 _m+=_i; 16295 if(_m > 12){ 16296 _y++; 16297 _m -= 12; 16298 } 16299 if(_m < 1){ 16300 _y--; 16301 _m += 12; 16302 } 16303 return _y * 100 + _m; 16304 } 16305 16306 function setCalendarList(){ 16307 _target.find(".calendar-list li").each(function(){ 16308 var _check_date = parseInt($(this).data("date"),10); 16309 var _column = getColumn()-1; 16310 var _date1 = getYearMonth(_c_year, _c_month , 0); 16311 var _date2 = getYearMonth(_c_year, _c_month , _column); 16312 //console.log(_date1+" "+_check_date+" "+_date2+" "+_column); 16313 if(_date1 <= _check_date && _check_date <= _date2){ 16314 $(this).addClass("show").removeClass("hide"); 16315 var _img = $(this).find("img"); 16316 _img.attr("src" , _img.data("src")); 16317 }else{ 16318 $(this).addClass("hide").removeClass("show"); 16319 } 16320 }); 16321 } 16322 function checkSp(){ 16323 16324 var _ff = $("#size-detect").css("font-family"); 16325 if(_ff.indexOf("sp") >= 0){ 16326 return true; 16327 }else{ 16328 return false; 16329 } 16330 } 16331 function setDisplayCalendar(){ 16332 var _l = _target.find(".calendar-list li.show"); 16333 if(checkSp()){ 16334 $(_l[1]).removeClass("show").addClass("hide"); 16335 if(_l.length > 2){ 16336 $(_l[2]).removeClass("show").addClass("hide"); 16337 } 16338 var _img = $(_l[1]).find("img"); 16339 _img.attr("src" , _img.data("src")); 16340 }else{ 16341 setCalendarList(); 16342 } 16343 } 16344 16345 16346 _target.find(".calendar-nav-prev a").click(function(){ 16347 if(getYearMonth(_c_year, _c_month, 0) > _low_date){ 16348 moveYearMonth(-1); 16349 setCalendarList(); 16350 setDisplayCalendar(); 16351 } 16352 return false; 16353 }); 16354 _target.find(".calendar-nav-next a").click(function(){ 16355 if(getYearMonth(_c_year, _c_month, 1) < _high_date || 16356 (checkSp() && getYearMonth(_c_year, _c_month, 1) <= _high_date) ){ 16357 moveYearMonth(1); 16358 setCalendarList(); 16359 setDisplayCalendar(); 16360 } 16361 return false; 16362 }); 16363 16364 $(window).resize(function(){ 16365 setDisplayCalendar(); 16366 16367 }); 16368 setCalendarList(); 16369 } 16370 16371 } 16372}); 16373jQuery(document).ready(function($) { 16374 16375 if ($(".car-list-0001").length > 0) { 16376 16377 16378 $(".car-list-0001").each(function() { 16379 tabSwitchContents($(this)); 16380 }); 16381 // stateSave(); 16382 16383 DMS.BoxHeightAlign.init({ 16384 isAll: false 16385 }); 16386 16387 $(window).on("load resize", function(event) { 16388 DMS.BoxHeightAlign.update(); 16389 }); 16390 16391 DMS.customEvent.addEventListner(DMS.customEvent.INIT_UNIT, function () { 16392 DMS.BoxHeightAlign.update(); 16393 }); 16394 16395 16396 16397 } 16398 16399}); 16400 16401 16402/** 16403 * tab-area 16404 */ 16405function tabSwitchContents(_target) { 16406 _target.find(".tab-area .tab-item").on("click", function() { 16407 var $this = $(this); 16408 var index = _target.find("#tab-area .tab-item").index(this); 16409 var type = $this.attr("data-type"); 16410 selectTab(type); 16411 16412 function selectTab(type) { 16413 _target.find(".lineup-contents .carlist-name").css("display", "none"); 16414 _target.find(".lineup-contents .carlist-body").css("display", "none"); 16415 _target.find(".lineup-contents .carlist-engine").css("display", "none"); 16416 _target.find(".lineup-contents .carlist-" + type).css("display", "block"); 16417 _target.find(".tab-area .tab-item").removeClass('active'); 16418 _target.find(".tab-area .tab-item-" + type).addClass('active'); 16419 DMS.BoxHeightAlign.update(); 16420 } 16421 16422 }); 16423 16424} 16425 16426 16427 16428// function stateSave() { 16429// var index = 0; 16430 16431// // ã¯ããã¼ã®indexãåå¾ãèªã¿è¾¼ã¿æã«ãªã¼ãã³ãã 16432// if ($.cookie('index')) { 16433// var index = $.cookie('index'); 16434// var index_type; 16435// console.log(index); 16436 16437// if (index == 0) { 16438// index_type = "body"; 16439// } else { 16440// index_type = "name"; 16441// } 16442// console.log(index_type) 16443 16444// $('#tab-area li.tab-item').removeClass('active').eq(index).addClass('active'); 16445// $("#lineup-contents .carlist-name").css("display", "none"); 16446// $("#lineup-contents .carlist-body").css("display", "none");
16447// $("#lineup-contents #carlist-" + index_type).css("display", "block"); 16448// } 16449// $.cookie('index', index, { expires: 1 }); 16450 16451// $('#tab-area li.tab-item').click(function() { 16452// if (index != $('#tab-area li.tab-item').index(this)) { 16453// index = $('#tab-area li.tab-item').index(this); 16454// $('#tab-area li.tab-item').removeClass('active').eq(index).addClass('active'); 16455 16456// // æå¹æéã¯1æ¥ï¼ã¯ããã¼ã«ã¯ãã¡ã¤ã³ãã»ããããªãããã©ã¦ã¶ãéãããåæåï¼ 16457// $.cookie('index', index, { expires: 1 }); 16458// } 16459// }); 16460// } 16461 16462jQuery(document).ready(function($) { 16463 16464 if ($(".car-list-0002").length > 0) { 16465 16466 16467 $(".car-list-0002").each(function() { 16468 tabSwitchContents($(this)); 16469 }); 16470 16471 16472 // tabSwitchContents(); 16473 16474 DMS.BoxHeightAlign.init({ 16475 isAll: false 16476 }); 16477 16478 $(window).on("load resize", function(event) { 16479 DMS.BoxHeightAlign.update(); 16480 }); 16481 DMS.customEvent.addEventListner(DMS.customEvent.INIT_UNIT, function () { 16482 DMS.BoxHeightAlign.update(); 16483 }); 16484 } 16485 16486}); 16487 16488 16489/** 16490 * tab-area 16491 */ 16492function tabSwitchContents(_target) { 16493 _target.find(".tab-area .tab-item").on("click", function() { 16494 var $this = $(this); 16495 var index = _target.find("#tab-area .tab-item").index(this); 16496 var type = $this.attr("data-type"); 16497 selectTab(type); 16498 16499 function selectTab(type) { 16500 _target.find(".lineup-contents .carlist-name").css("display", "none"); 16501 _target.find(".lineup-contents .carlist-body").css("display", "none"); 16502 _target.find(".lineup-contents .carlist-engine").css("display", "none"); 16503 _target.find(".lineup-contents .carlist-" + type).css("display", "block"); 16504 _target.find(".tab-area .tab-item").removeClass('active'); 16505 _target.find(".tab-area .tab-item-" + type).addClass('active'); 16506 DMS.BoxHeightAlign.update(); 16507 } 16508 16509 }); 16510 16511}var DMS = DMS || {}; 16512jQuery(document).ready(function ($) { 16513 var pNolimit = 'nolimit'; 16514 if ($(".car-list-0003").length > 0) { 16515 16516 $(".car-list-0003").each(function () { 16517 setUrlData(this); 16518 initCarList0003(false); 16519 }); 16520 16521 DMS.BoxHeightAlign.init({ 16522 isAll: false 16523 }); 16524 var accordionTimer = false; 16525 $(window).on("load resize", function (event) { 16526 DMS.BoxHeightAlign.update(); 16527 if (event.type == 'resize') { 16528 var sizeDetect = $('#size-detect').css('font-family'); 16529 if (accordionTimer !== false) { 16530 clearTimeout(accordionTimer); 16531 } 16532 accordionTimer = setTimeout(function () { 16533 if (sizeDetect !== 'sp' && sizeDetect !== 'tab-normal') { 16534 pcResizeCarList(); 16535 } 16536 }, 200); 16537 } 16538 }); 16539 DMS.customEvent.addEventListner(DMS.customEvent.INIT_UNIT, function () { 16540 DMS.BoxHeightAlign.update(); 16541 }); 16542 16543 $('.car-list-0003 .filter__content').delegate('input,select', 'change', function () { 16544 initCarList0003($(this)); 16545 }); 16546 16547 $(document).on('click', '.car-list-0003 .search-criteria-list-item', function (e) { 16548 removeSearchCriterialist(e); 16549 }) 16550 $(document).on('click', '.car-list-0003 .filter__bt_clear', function (e) { 16551 clearSearchCriteria(e); 16552 }) 16553 $(document).on('click', '.car-list-0003__accordion-button', function (e) { 16554 spCarListAccordion(e); 16555 }) 16556 16557 16558 /** 16559 * Get data from API, using curElement=false for the first loading 16560 */ 16561 function initCarList0003(curElement) { 16562 // ç°å¢å¥ãã¡ã¤ã³è¨å® 16563 var client_id = $(".unit-wrapper .unit-base .car-list-0003").data("client_id"); 16564 var envId = $(".unit-wrapper .unit-base .car-list-0003").data("env_id"); 16565 var envIdDomain = ''; 16566 if (envId == "development") { 16567 envIdDomain = "https://api.eohp.bfp.co.jp"; 16568 } else if (envId == "staging") { 16569 envIdDomain = "https://stg.api.t-dms.jp"; 16570 } else if (envId == "checking") { 16571 envIdDomain = "https://api-chk.eohp.bfp.co.jp"; 16572 } else if (envId == "production") { 16573 envIdDomain = "https://api.t-dms.jp"; 16574 } else if (envId == "democar") { 16575 envIdDomain = "https://api-dem.eohp.bfp.co.jp"; 16576 } else if (envId == "holding") { 16577 envIdDomain = "https://api-tmt.eohp.bfp.co.jp"; 16578 } else if (envId == "bfp_dev") { 16579 envIdDomain = "https://api-tmt.eohp.bfp.co.jp"; 16580 } else if (envId == "staging2") { 16581 envIdDomain = "https://stg2.api.t-dms.jp"; 16582 } else if (envId == "recheck") { 16583 envIdDomain = "https://api-rec.eohp.bfp.co.jp"; 16584 } 16585
16586 // ä»®ãä¹è»å®å¡ 2~4äººã§æ±ºãæã¡ 16587 var param = getSearchForm(curElement); 16588 $.ajax({ 16589 type: 'GET', 16590 url: envIdDomain + '/car/' + client_id + '/search?' + param, 16591 // url: '../../unit/5000_car-list-0003/sample_carlist.json', 16592 xhrFields: { 16593 withCredentials: true 16594 }, 16595 dataType: 'json', 16596 timeout: 10000, 16597 success: function (data) { 16598 initCarList0003Html(data, curElement); 16599 }, 16600 error: function (json) { 16601 // console.log('error initcarlist0003_sample', json) 16602 } 16603 }); 16604 16605 } 16606 16607 function filterbyDisplayFlag(carList) { 16608 var _carList = [] 16609 $(carList).each(function (e) { 16610 var _this = this 16611 if (car_list_0003_car_id_list.length > 0) { 16612 $(car_list_0003_car_id_list).each(function (i) { 16613 if (this.car_id == Number(_this.car_id) && this.display_flg === 1) { 16614 _carList.push(_this) 16615 } 16616 }); 16617 } 16618 }); 16619 return _carList 16620 } 16621 16622 16623 function initCarList0003Html(carListData, curElement) { 16624 16625 // bodytypeã®ãã§ãã¯ããã¯ã¹ç¶æ 16626 var checkedCenturyBodytype = $('input[name=body_type_cd]:checked').map(function () { 16627 return $(this).val(); 16628 }).get(); 16629 // console.log(checkedCenturyBodytype); 16630 16631 var checkedSDN_flg = false; 16632 var checkedSUV_flg = false; 16633 var checkedCENTURY_flg = false; 16634 16635 if (checkedCenturyBodytype.includes("SDN")) { 16636 checkedSDN_flg = true; 16637 } 16638 if (checkedCenturyBodytype.includes("SUV")) { 16639 checkedSUV_flg = true; 16640 } 16641 if (checkedCenturyBodytype.includes("bodyCentury")) { 16642 checkedCENTURY_flg = true; 16643 } 16644 16645 16646 var _diplay_pattern = ""; 16647 if (checkedSDN_flg && checkedSUV_flg) { 16648 if (checkedCENTURY_flg) { 16649 _diplay_pattern = "CENTURY_SDN_SUV"; 16650 } else { 16651 _diplay_pattern = "SDN_SUV"; 16652 } 16653 } else if (checkedSDN_flg && !checkedSUV_flg) { 16654 if (checkedCENTURY_flg) { 16655 _diplay_pattern = "CENTURY_SDN"; 16656 } else { 16657 _diplay_pattern = "SDN"; 16658 } 16659 } else if (checkedSUV_flg && !checkedSDN_flg) { 16660 if (checkedCENTURY_flg) { 16661 _diplay_pattern = "CENTURY_SUV"; 16662 } else { 16663 _diplay_pattern = "SUV"; 16664 } 16665 } else { 16666 if (checkedCENTURY_flg) { 16667 _diplay_pattern = "CENTURY"; 16668 } 16669 16670 } 16671 16672 carListData = filterbyDisplayFlag(carListData); 16673 DMS.carlist0003 = carListData; 16674 carListData = sortByType(DMS.carlist0003); 16675 16676 var isFirstLoad = false; 16677 var delayload = ""; 16678 if (curElement === false) { 16679 DMS.carlist0003Count = DMS.carlist0003.length; 16680 delayload = "delayload " 16681 isFirstLoad = true; 16682 } 16683 16684 // console.log('initCarList0003 in the fisrt time: ', isFirstLoad); 16685 16686 16687 if (Object.keys(carListData) < 1) { 16688 $('.car-list-0003 #carlist-body').empty(); 16689 $('.car-list-0003 .search-count-info .result').html("0"); 16690 $('.car-list-0003 #carlist-message').show(); 16691 return true; 16692 } else { 16693 $('.car-list-0003 #carlist-message').hide(); 16694 } 16695 16696 var imgLink = location.origin == 'http://sim.dms.jp' ? 'https://sim-tmt.eohp.bfp.co.jp' : ''; 16697 var labelColor = $('.car-list-0003').data('label_color'); 16698 var retHTML = ''; 16699 16700 $.each(carListData, function (catId, carList) { 16701 if (carList.length < 1) { 16702 return ''; 16703 } 16704 var catInfo = carList[0].body_type; 16705 if (_diplay_pattern === "CENTURY") { 16706 if (catInfo.BODY_TYPE_CD !== "SDN" && catInfo.BODY_TYPE_CD !== "SUV") { 16707 retHTML += '<div class="carlist-block clearfix boxheight-align-item-container" id="carlist-body-item-' + catInfo.BODY_TYPE_CD + '">'; 16708 retHTML += '<p class="carlist-label ' + labelColor + '"><span class="square"></span>' + catInfo.BODY_TYPE_NAME + ' </p>'; 16709 retHTML += '<ul class="carlist clearfix">'; 16710 16711 $.each(carList, function (key, carInfo) { 16712 if (carInfo.series.CAR_NAME !== "ã»ã³ãã¥ãªã¼ï¼ã»ãã³ï¼" && carInfo.series.CAR_NAME !== "ã»ã³ãã¥ãªã¼") { 16713 var carLinkData = DMS.carlist0003carLinkData[carInfo.car_id] || { href: '', click_tag_data: '',
16713click_tag_class: '', target: '', delayload: '' }; 16714 var carLinkHref = carLinkData.href == '' ? '' : ' href="' + carLinkData.href + '"' 16715 var lImgUrl = ((typeof carInfo.main_pic_cms_file.url !== 'undefined' && carInfo.main_pic_cms_file.url !== '') ? (imgLink + carInfo.main_pic_cms_file.url) : ''); 16716 var lImgAlt = ((typeof carInfo.main_pic_cms_file.alt !== 'undefined') ? carInfo.main_pic_cms_file.alt : ''); 16717 retHTML += '<li class="carlist-item boxheight-align-item">'; 16718 retHTML += '<a ' + carLinkData.click_tag_data + ' class="' + carLinkData.click_tag_class + '"' + carLinkHref + ' target="' + carLinkData.target + '">'; 16719 if (lImgUrl !== '') { 16720 retHTML += '<span class="car-thumb">'; 16721 retHTML += '<img class="' + delayload + 'auto-noimage-3-2" src="' + lImgUrl + '" data-pc="" data-sp="" ' + carLinkData.delayload + 'alt="' + lImgAlt + '" style="opacity: 1;">'; 16722 retHTML += '</span>'; 16723 } 16724 retHTML += '<span class="car-name boxheight-align-item-element" style="height: 35px;">' + carInfo.series.CAR_NAME + ' </span>'; 16725 retHTML += '</a>'; 16726 retHTML += '</li>'; 16727 } 16728 }); 16729 16730 retHTML += '</ul>'; 16731 retHTML += '</div>'; // end of carlist-block 16732 } 16733 } else if (_diplay_pattern === "CENTURY_SUV") { 16734 if (catInfo.BODY_TYPE_CD !== "SDN") { 16735 retHTML += '<div class="carlist-block clearfix boxheight-align-item-container" id="carlist-body-item-' + catInfo.BODY_TYPE_CD + '">'; 16736 retHTML += '<p class="carlist-label ' + labelColor + '"><span class="square"></span>' + catInfo.BODY_TYPE_NAME + ' </p>'; 16737 retHTML += '<ul class="carlist clearfix">'; 16738 16739 $.each(carList, function (key, carInfo) { 16740 if (carInfo.series.CAR_NAME !== "ã»ã³ãã¥ãªã¼ï¼ã»ãã³ï¼" && carInfo.series.CAR_NAME !== "ã»ã³ãã¥ãªã¼") { 16741 var carLinkData = DMS.carlist0003carLinkData[carInfo.car_id] || { href: '', click_tag_data: '', click_tag_class: '', target: '', delayload: '' }; 16742 var carLinkHref = carLinkData.href == '' ? '' : ' href="' + carLinkData.href + '"' 16743 var lImgUrl = ((typeof carInfo.main_pic_cms_file.url !== 'undefined' && carInfo.main_pic_cms_file.url !== '') ? (imgLink + carInfo.main_pic_cms_file.url) : ''); 16744 var lImgAlt = ((typeof carInfo.main_pic_cms_file.alt !== 'undefined') ? carInfo.main_pic_cms_file.alt : ''); 16745 retHTML += '<li class="carlist-item boxheight-align-item">'; 16746 retHTML += '<a ' + carLinkData.click_tag_data + ' class="' + carLinkData.click_tag_class + '"' + carLinkHref + ' target="' + carLinkData.target + '">'; 16747 if (lImgUrl !== '') { 16748 retHTML += '<span class="car-thumb">'; 16749 retHTML += '<img class="' + delayload + 'auto-noimage-3-2" src="' + lImgUrl + '" data-pc="" data-sp="" ' + carLinkData.delayload + 'alt="' + lImgAlt + '" style="opacity: 1;">'; 16750 retHTML += '</span>'; 16751 } 16752 retHTML += '<span class="car-name boxheight-align-item-element" style="height: 35px;">' + carInfo.series.CAR_NAME + ' </span>'; 16753 retHTML += '</a>'; 16754 retHTML += '</li>'; 16755 } 16756 }); 16757 16758 retHTML += '</ul>'; 16759 retHTML += '</div>'; // end of carlist-block 16760 } 16761 } else if (_diplay_pattern === "CENTURY_SDN") { 16762 if (catInfo.BODY_TYPE_CD !== "SUV") { 16763 retHTML += '<div class="carlist-block clearfix boxheight-align-item-container" id="carlist-body-item-' + catInfo.BODY_TYPE_CD + '">'; 16764 retHTML += '<p class="carlist-label ' + labelColor + '"><span class="square"></span>' + catInfo.BODY_TYPE_NAME + ' </p>'; 16765 retHTML += '<ul class="carlist clearfix">'; 16766 16767 $.each(carList, function (key, carInfo) { 16768 if (carInfo.series.CAR_NAME !== "ã»ã³ãã¥ãªã¼ï¼ã»ãã³ï¼" && carInfo.series.CAR_NAME !== "ã»ã³ãã¥ãªã¼") { 16769 var carLinkData = DMS.carlist0003carLinkData[carInfo.car_id] || { href: '', click_tag_data: '',
16769click_tag_class: '', target: '', delayload: '' }; 16770 var carLinkHref = carLinkData.href == '' ? '' : ' href="' + carLinkData.href + '"' 16771 var lImgUrl = ((typeof carInfo.main_pic_cms_file.url !== 'undefined' && carInfo.main_pic_cms_file.url !== '') ? (imgLink + carInfo.main_pic_cms_file.url) : ''); 16772 var lImgAlt = ((typeof carInfo.main_pic_cms_file.alt !== 'undefined') ? carInfo.main_pic_cms_file.alt : ''); 16773 retHTML += '<li class="carlist-item boxheight-align-item">'; 16774 retHTML += '<a ' + carLinkData.click_tag_data + ' class="' + carLinkData.click_tag_class + '"' + carLinkHref + ' target="' + carLinkData.target + '">'; 16775 if (lImgUrl !== '') { 16776 retHTML += '<span class="car-thumb">'; 16777 retHTML += '<img class="' + delayload + 'auto-noimage-3-2" src="' + lImgUrl + '" data-pc="" data-sp="" ' + carLinkData.delayload + 'alt="' + lImgAlt + '" style="opacity: 1;">'; 16778 retHTML += '</span>'; 16779 } 16780 retHTML += '<span class="car-name boxheight-align-item-element" style="height: 35px;">' + carInfo.series.CAR_NAME + ' </span>'; 16781 retHTML += '</a>'; 16782 retHTML += '</li>'; 16783 } 16784 }); 16785 16786 retHTML += '</ul>'; 16787 retHTML += '</div>'; // end of carlist-block 16788 } 16789 } else { 16790 retHTML += '<div class="carlist-block clearfix boxheight-align-item-container" id="carlist-body-item-' + catInfo.BODY_TYPE_CD + '">'; 16791 retHTML += '<p class="carlist-label ' + labelColor + '"><span class="square"></span>' + catInfo.BODY_TYPE_NAME + ' </p>'; 16792 retHTML += '<ul class="carlist clearfix">'; 16793 16794 16795 $.each(carList, function (key, carInfo) { 16796 if (carInfo.series.CAR_NAME !== "ã»ã³ãã¥ãªã¼ï¼ã»ãã³ï¼" && carInfo.series.CAR_NAME !== "ã»ã³ãã¥ãªã¼") { 16797 var carLinkData = DMS.carlist0003carLinkData[carInfo.car_id] || { href: '', click_tag_data: '', click_tag_class: '', target: '', delayload: '' }; 16798 var carLinkHref = carLinkData.href == '' ? '' : ' href="' + carLinkData.href + '"' 16799 var lImgUrl = ((typeof carInfo.main_pic_cms_file.url !== 'undefined' && carInfo.main_pic_cms_file.url !== '') ? (imgLink + carInfo.main_pic_cms_file.url) : ''); 16800 var lImgAlt = ((typeof carInfo.main_pic_cms_file.alt !== 'undefined') ? carInfo.main_pic_cms_file.alt : ''); 16801 retHTML += '<li class="carlist-item boxheight-align-item">'; 16802 retHTML += '<a ' + carLinkData.click_tag_data + ' class="' + carLinkData.click_tag_class + '"' + carLinkHref + ' target="' + carLinkData.target + '">'; 16803 if (lImgUrl !== '') { 16804 retHTML += '<span class="car-thumb">'; 16805 retHTML += '<img class="' + delayload + 'auto-noimage-3-2" src="' + lImgUrl + '" data-pc="" data-sp="" ' + carLinkData.delayload + 'alt="' + lImgAlt + '" style="opacity: 1;">'; 16806 retHTML += '</span>'; 16807 } 16808 retHTML += '<span class="car-name boxheight-align-item-element" style="height: 35px;">' + carInfo.series.CAR_NAME + ' </span>'; 16809 retHTML += '</a>'; 16810 retHTML += '</li>'; 16811 } 16812 }); 16813 16814 retHTML += '</ul>'; 16815 retHTML += '</div>'; // end of carlist-block 16816 } 16817 }); 16818 16819 16820 /************************* 16821 * 202311 ã»ã³ãã¥ãªã¼å¯¾å¿ 16822 *************************/ 16823 var centurySedan_flg = false; 16824 var centurySedan_HTML = ''; 16825 var centurySUV_flg = false; 16826 var centurySUV_HTML = ''; 16827 if (_diplay_pattern === "CENTURY_SDN_SUV" || _diplay_pattern === "CENTURY_SDN" || _diplay_pattern === "CENTURY_SUV" || _diplay_pattern === "CENTURY" || _diplay_pattern === "") { 16828 $.each(carListData, function (catId, carList) { 16829 16830 var carBodyTypeName = carList[0].body_type.BODY_TYPE_NAME; 16831 if (carBodyTypeName === "ã»ãã³") { 16832 16833 $.each(carList, function (carId, car) {
16834 if (car.series.CAR_NAME === "ã»ã³ãã¥ãªã¼ï¼ã»ãã³ï¼") { 16835 centurySedan_flg = true; 16836 16837 var carLinkData = DMS.carlist0003carLinkData[car.car_id] || { href: '', click_tag_data: '', click_tag_class: '', target: '', delayload: '' }; 16838 var carLinkHref = carLinkData.href == '' ? '' : ' href="' + carLinkData.href + '"' 16839 var lImgUrl = ((typeof car.main_pic_cms_file.url !== 'undefined' && car.main_pic_cms_file.url !== '') ? (imgLink + car.main_pic_cms_file.url) : ''); 16840 var lImgAlt = ((typeof car.main_pic_cms_file.alt !== 'undefined') ? car.main_pic_cms_file.alt : ''); 16841 16842 // htmlçæ 16843 centurySedan_HTML += '<li class="carlist-item boxheight-align-item">'; 16844 centurySedan_HTML += '<a ' + carLinkData.click_tag_data + ' class="' + carLinkData.click_tag_class + '"' + carLinkHref + ' target="' + carLinkData.target + '">'; 16845 if (lImgUrl !== '') { 16846 centurySedan_HTML += '<span class="car-thumb">'; 16847 centurySedan_HTML += '<img class="' + delayload + 'auto-noimage-3-2" src="' + lImgUrl + '" data-pc="" data-sp="" ' + carLinkData.delayload + 'alt="' + lImgAlt + '" style="opacity: 1;">'; 16848 centurySedan_HTML += '</span>'; 16849 } 16850 centurySedan_HTML += '<span class="car-name boxheight-align-item-element" style="height: 35px;">' + car.series.CAR_NAME + ' </span>'; 16851 centurySedan_HTML += '</a>'; 16852 centurySedan_HTML += '</li>'; 16853 16854 } 16855 }); 16856 16857 } else if (carBodyTypeName === "SUV") { 16858 $.each(carList, function (carId, car) { 16859 if (car.series.CAR_NAME === "ã»ã³ãã¥ãªã¼") { 16860 centurySUV_flg = true 16861 16862 var carLinkData = DMS.carlist0003carLinkData[car.car_id] || { href: '', click_tag_data: '', click_tag_class: '', target: '', delayload: '' }; 16863 var carLinkHref = carLinkData.href == '' ? '' : ' href="' + carLinkData.href + '"' 16864 var lImgUrl = ((typeof car.main_pic_cms_file.url !== 'undefined' && car.main_pic_cms_file.url !== '') ? (imgLink + car.main_pic_cms_file.url) : ''); 16865 var lImgAlt = ((typeof car.main_pic_cms_file.alt !== 'undefined') ? car.main_pic_cms_file.alt : ''); 16866 16867 // htmlçæ 16868 centurySUV_HTML += '<li class="carlist-item boxheight-align-item">'; 16869 centurySUV_HTML += '<a ' + carLinkData.click_tag_data + ' class="' + carLinkData.click_tag_class + '"' + carLinkHref + ' target="' + carLinkData.target + '">'; 16870 if (lImgUrl !== '') { 16871 centurySUV_HTML += '<span class="car-thumb">'; 16872 centurySUV_HTML += '<img class="' + delayload + 'auto-noimage-3-2" src="' + lImgUrl + '" data-pc="" data-sp="" ' + carLinkData.delayload + 'alt="' + lImgAlt + '" style="opacity: 1;">'; 16873 centurySUV_HTML += '</span>'; 16874 } 16875 centurySUV_HTML += '<span class="car-name boxheight-align-item-element" style="height: 35px;">' + car.series.CAR_NAME + ' </span>'; 16876 centurySUV_HTML += '</a>'; 16877 centurySUV_HTML += '</li>'; 16878 } 16879 }); 16880 } 16881 16882 16883 }); 16884 } 16885 16886 16887 var centuryHTML = ''; 16888 centuryHTML += '<div class="carlist-block clearfix boxheight-align-item-container" id="carlist-body-item-CENTURY">'; 16889 centuryHTML += '<p class="carlist-label ' + labelColor + '"><span class="square"></span>ã»ã³ãã¥ãªã¼</p>'; 16890 centuryHTML += '<ul class="carlist clearfix">'; 16891 centuryHTML += centurySedan_HTML; 16892 centuryHTML += centurySUV_HTML; 16893 centuryHTML += '</ul>'; 16894 centuryHTML += '</div>'; 16895 16896 16897 16898 16899 16900 $('.car-list-0003 #carlist-body').empty(); 16901 $('.car-list-0003 #carlist-body').append(retHTML); 16902 16903 16904 16905 if (centurySedan_flg || centurySUV_flg) { 16906 $('.car-list-0003 #carlist-body').append(centuryHTML); 16907 } 16908 DMS.setClickTagListener($(".car-list-0003 .clicktag")); 16909 16910 // console.log($(".car-list-0003 .carlist-item").length); 16911 bindSearchResult(); 16912 var _suvCar_length = $("#carlist-body-item-SUV li.carlist-item").length; 16913 if (_suvCar_length < 1) { 16914 $("#carlist-body-item-SUV").remove(); 16915 } 16916 16917 var _sdnCar_length = $("#carlist-body-item-SDN li.carlist-item").length; 16918 if (_sdnCar_length < 1) { 16919 $("#carlist-body-item-SDN").remove(); 16920 } 16921 16922 return retHTML; 16923 } 16924 16925 function getSearchForm(curElement) { 16926 16927 var params = {}; 16928 var apiParams = {}; 16929 var textParams = {}; 16930 var arrByKey = []; 16931 16932 // reset conditions navigate
16933 $('.car-list-0003 .search-criteria-wrap').empty(); 16934 $('.car-list-0003 .filter__content').find('input,select').each(function (e) { 16935 if ($(this).is('[type=checkbox]')) { 16936 if ($.inArray($(this).attr('name'), arrByKey) === -1) { 16937 arrByKey.push($(this).attr('name')); 16938 params[$(this).attr('name')] = []; 16939 apiParams[$(this).attr('name')] = []; 16940 textParams[$(this).attr('name')] = []; 16941 } 16942 16943 if ($(this).is(":checked")) { 16944 if ($(this).val() === "bodyCentury") { 16945 params[$(this).attr('name')].push($(this).val()); 16946 apiParams[$(this).attr('name')].push("bodyCentury", "SDN", "SUV"); 16947 textParams[$(this).attr('name')].push($(this).parent().find('span').text()); 16948 } else { 16949 params[$(this).attr('name')].push($(this).val()); 16950 apiParams[$(this).attr('name')].push($(this).val()); 16951 textParams[$(this).attr('name')].push($(this).parent().find('span').text()); 16952 } 16953 } 16954 } else if ($(this).is('select')) { 16955 var selVal = $(this).val(); 16956 var node = $(this).data(); 16957 if ($.inArray(node.name, arrByKey) === -1) { 16958 arrByKey.push(node.name); 16959 params[node.name] = []; 16960 apiParams[node.name] = []; 16961 textParams[node.name] = []; 16962 } 16963 16964 if (selVal != node.skip) { 16965 params[node.name].push(node.limit + ':' + selVal); 16966 16967 apiParams[node.name][0] = 'from:' + $($('select[data-name=' + node.name + '] option:selected')[0]).val(); 16968 apiParams[node.name][1] = 'to:' + $($('select[data-name=' + node.name + '] option:selected')[1]).val(); 16969 16970 textParams[node.name].push(node.txt); 16971 } 16972 16973 setDisableOptions(curElement); 16974 } 16975 }); 16976 params['keyword'] = []; 16977 apiParams['keyword'] = []; 16978 if ($.trim($('input[name=keyword]').val()) != '') { 16979 var myKeyword = $.trim($('input[name=keyword]').val()); 16980 params['keyword'].push(myKeyword); 16981 apiParams['keyword'].push(convertHira2Kana(myKeyword, false)); 16982 } 16983 16984 DMS.carlist0003Params = params; 16985 DMS.carlist0003ApiParams = apiParams; 16986 DMS.carlist0003TextParams = textParams; 16987 16988 //console.log('params for search condition text: ', DMS.carlist0003Params); 16989 setSearchCondition(DMS.carlist0003Params); 16990 16991 // console.log(apiParams); 16992 //console.log('params for api: ', DMS.carlist0003ApiParams); 16993 params = parseApiParams(DMS.carlist0003ApiParams); 16994 // console.log(params); 16995 16996 return params; 16997 } 16998 16999 function sortByType(carListData) { 17000 if (carListData.length < 1) { 17001 return {}; 17002 } 17003 var arrByType = {}; 17004 var arrByKey = []; 17005 $.each(carListData, function (iIndex, carInfo) { 17006 if ($.inArray(carInfo.body_type.BODY_TYPE_CD, arrByKey) === -1) { 17007 arrByKey.push(carInfo.body_type.BODY_TYPE_CD); 17008 arrByType[carInfo.body_type.BODY_TYPE_CD] = []; 17009 } 17010 arrByType[carInfo.body_type.BODY_TYPE_CD].push(carInfo); 17011 }); 17012 17013 return arrByType; 17014 } 17015 17016 function setDisableOptions(selElement) { 17017 if (!selElement || typeof selElement === 'undefined') return true; 17018 if ($('select[data-name=' + selElement.data('name') + ']').length == 2) { 17019 var minItem = $($('select[data-name=' + selElement.data('name') + ']')[0]); 17020 var maxItem = $($('select[data-name=' + selElement.data('name') + ']')[1]); 17021 if (maxItem.val() != pNolimit) { 17022 minItem.find('option').each(function (e) { 17023 $(this).attr('disabled', false); 17024 if ($(this).val() >= maxItem.val() && $(this).val() != pNolimit) { 17025 $(this).attr('disabled', true); 17026 } 17027 }); 17028 } else { 17029 minItem.find('option').each(function (e) { 17030 $(this).attr('disabled', false); 17031 }); 17032 } 17033 if (minItem.val() != pNolimit) { 17034 maxItem.find('option').each(function (e) { 17035 $(this).attr('disabled', false); 17036 if ($(this).val() <= minItem.val() && $(this).val() != pNolimit) { 17037 $(this).attr('disabled', true); 17038 } 17039 }); 17040 } else { 17041 maxItem.find('option').each(function (e) { 17042 $(this).attr('disabled', false); 17043 }); 17044 } 17045 } 17046 } 17047 17048 function setSearchCondition(params) { 17049 $.each(params, function (key, param) { 17050 if (param.length > 0) { 17051 setSearchConditionText(key, param); 17052 } 17053 }); 17054 } 17055 17056 function parseApiParams(params) {
17057 // CENTURY鏿æã®bodytypeéè¤åé¤ 17058 params.body_type_cd = Array.from(new Set(params.body_type_cd)) 17059 var arrParams = []; 17060 $.each(params, function (key, param) { 17061 if (param.length > 0) { 17062 arrParams.push(key + '=' + encodeURIComponent(param.join())); 17063 } 17064 }); 17065 return arrParams.join('&'); 17066 } 17067 17068 function bindSearchResult() { 17069 $('.car-list-0003 .search-count-info .all').html(DMS.carlist0003Count); 17070 // $('.car-list-0003 .search-count-info .result').html(DMS.carlist0003.length); 17071 $('.car-list-0003 .search-count-info .result').html($(".car-list-0003 .carlist-item").length); 17072 } 17073 17074 function setSearchConditionText(pKey, pArrConditions) { 17075 var strConditions = ''; 17076 strConditions += '<ul class="search-criteria-list" data-search_list="' + pKey + '">'; 17077 $.each(pArrConditions, function (index, iVal) { 17078 if (iVal.search('from:') != -1) { 17079 var nodeCbobox = $($('[data-name=' + pKey + ']')[0]); 17080 strConditions += '<li class="search-criteria-list-item" data-search_criteria="from" data-select_name="' + nodeCbobox.attr("name") + '">'; 17081 strConditions += '<span>' + nodeCbobox.val() + nodeCbobox.data('txt') + '~</span>'; 17082 } else if (iVal.search('to:') != -1) { 17083 var nodeCbobox = $($('[data-name=' + pKey + ']')[1]); 17084 strConditions += '<li class="search-criteria-list-item" data-search_criteria="to" data-select_name="' + nodeCbobox.attr("name") + '">'; 17085 strConditions += '<span>~' + nodeCbobox.val() + nodeCbobox.data('txt') + '</span>'; 17086 } else { 17087 if (pKey == 'keyword') { 17088 strConditions += '<li class="search-criteria-list-item" data-search_criteria="' + $('#' + pKey).val() + '">'; 17089 strConditions += '<span>' + $('#' + pKey).val() + '</span>'; 17090 } else { 17091 var nodeText = $('#' + pKey + '_' + iVal).parent().find('span'); 17092 strConditions += '<li class="search-criteria-list-item" data-search_criteria="' + iVal + '">'; 17093 strConditions += '<span>' + nodeText.text() + '</span>'; 17094 } 17095 } 17096 strConditions += '</li>'; 17097 }); 17098 strConditions += '</ul>'; 17099 17100 $('.car-list-0003 .search-criteria-wrap').append(strConditions); 17101 } 17102 function removeSearchCriterialist(e) { 17103 var inputname = $(e.currentTarget).parent().data("search_list") 17104 var inputvalue = $(e.currentTarget).data("search_criteria") 17105 if ($(e.currentTarget).closest(".carlist0003-body").find('input[name=' + inputname + ']').length > 0) { 17106 var target = $(e.currentTarget).closest(".carlist0003-body").find('input[name=' + inputname + ']'); 17107 if (target.is('[type=text]')) { 17108 target.val('').change(); 17109 } else if ($(e.currentTarget).closest(".carlist0003-body").find('input[name=' + inputname + '][value=' + inputvalue + ']').length > 0) { 17110 target = $(e.currentTarget).closest(".carlist0003-body").find('input[name=' + inputname + '][value=' + inputvalue + ']'); 17111 target.removeAttr('checked').prop('checked', false).change(); 17112 } 17113 } else { 17114 var target = $(e.currentTarget).closest(".carlist0003-body").find('select[name="' + $(e.currentTarget).data("select_name") + '"]') 17115 target.attr('selected', true).prop("selectedIndex", 0).change(); 17116 setDisableOptions(target) 17117 } 17118 17119 $(e.currentTarget).remove(); 17120 } 17121 function setUrlData(elm) { 17122 // htmlå ã«urlç¨ãã¼ã¿ãä¿å 17123 var carLinkData = {}; 17124 $(elm).find('#carlist-body .carlist-item > a').each(function (e) { 17125 carLinkData[$(this).data('car_id')] = { 17126 'click_tag_data': $(this).data('click_tag_data') || '', 17127 'click_tag_class': $(this).data('click_tag_class') || '', 17128 'href': $(this).data('href') || '', 17129 'target': $(this).data('target') || '', 17130 'delayload': "data-delayload='" + $(this).data('delayload') + "' " || '' 17131 } 17132 }) 17133 DMS.carlist0003carLinkData = carLinkData; 17134 } 17135 function clearSearchCriteria(e) { 17136 var sizeDetect = $('#size-detect').css('font-family'); 17137 var clearItems = (sizeDetect !== 'sp' && sizeDetect !== 'tab-normal') ? $(e.currentTarget).closest('.filter__content').find('input, select') : $(e.currentTarget).closest('.search-count-info').next().find('input, select'); 17138 var lastItem = null; 17139 $.each(clearItems, function (key, item) { 17140 if ($(item).is('[type=checkbox]')) { 17141 if ($(item).is(":checked")) { 17142 $(item).removeAttr('checked').prop('checked', false); 17143 } 17144 } else if ($(item).is('[type=text]')) { 17145 $(item).val(''); 17146 } else if ($(item)[0].selectedIndex !== 0) { 17147 $(item).attr('selected', true).prop("selectedIndex", 0); 17148 setDisableOptions($(item)) 17149 } 17150 17151 lastItem = $(item); 17152 }); 17153 if (lastItem != null) { 17154 lastItem.change(); 17155 } 17156 17157 // reset navigation area
17158 $('.car-list-0003 .search-criteria-wrap').empty(); 17159 } 17160 var convertHira2Kana = function (str, opt) { 17161 str = str 17162 .replace(/[ã-ã]/g, function (s) { 17163 return String.fromCharCode(s.charCodeAt(0) + 0x60); 17164 }) 17165 .replace(/ï¾/g, 'ã') 17166 .replace(/ï¾/g, 'ã') 17167 .replace(/(ã¦ã)/g, 'ã´') 17168 .replace(/(ã¯ã)/g, 'ã·') 17169 .replace(/(ã°ã)/g, 'ã¸') 17170 .replace(/(ã±ã)/g, 'ã¹') 17171 .replace(/(ã²ã)/g, 'ãº') 17172 .replace(/(ãã)/g, 'ã¾') 17173 .replace(/ã/g, 'ã½') 17174 .replace(/ã/g, 'ã¾'); 17175 if (opt !== false) { 17176 str = str.replace(/ã/g, 'ãµ').replace(/ã/g, 'ã¶'); 17177 } 17178 return str; 17179 }; 17180 function pcResizeCarList() { 17181 var accordionButton = $('.car-list-0003__accordion-button') 17182 $('.car-list-0003 .side_section_wrapper').removeAttr('style'); 17183 if (accordionButton.hasClass("car-list-0003__filter__content--is-open")) { 17184 //ã¹ã©ã¤ã表示ã®å¦ç 17185 accordionButton.removeClass("car-list-0003__filter__content--is-open"); 17186 accordionButton.addClass("car-list-0003__filter__content--is-close"); 17187 accordionButton.closest(".columns_left").removeClass("car-list-0003__columns_left--is-open").addClass("car-list-0003__columns_left--is-close"); 17188 } 17189 } 17190 17191 function spCarListAccordion(e) { 17192 var slideArea = $(e.currentTarget).closest(".filter__headline__wrapper").next(); 17193 if ($(e.currentTarget).hasClass("car-list-0003__filter__content--is-open")) { 17194 //ã¹ã©ã¤ã表示ã®å¦ç 17195 slideArea.slideUp(); 17196 $(e.currentTarget).removeClass("car-list-0003__filter__content--is-open"); 17197 $(e.currentTarget).addClass("car-list-0003__filter__content--is-close"); 17198 $(e.currentTarget).closest(".columns_left").removeClass("car-list-0003__columns_left--is-open").addClass("car-list-0003__columns_left--is-close"); 17199 } else { 17200 //ã¹ã©ã¤ãé表示ã®å¦ç 17201 slideArea.slideDown(); 17202 $(e.currentTarget).removeClass("car-list-0003__filter__content--is-close"); 17203 $(e.currentTarget).addClass("car-list-0003__filter__content--is-open"); 17204 $(e.currentTarget).closest(".columns_left").removeClass("car-list-0003__columns_left--is-close").addClass("car-list-0003__columns_left--is-open"); 17205 } 17206 } 17207 } 17208}); 17209 17210$(function() { 17211 if ($(".conversion-0001").length > 0) { 17212 var sizeDetect; 17213 var _unit = $(".conversion-0001"); 17214 var targetNavWrap = $(".conversion-0001-head-wrap"); 17215 var targetNav = $(".conversion-0001-head"); 17216 var targetNavPos; 17217 var targetNavHeight; 17218 var spMenuHeight; 17219 var spMenuBtn = $(".conversion-0001-head__sp-menu-btn"); 17220 var imageWrap = $(".conversion-0001-image-wrap"); 17221 var _thisUnitWrapper = $(".conversion-0001").parent().parent(); 17222 var _nextUnitWrapper = _thisUnitWrapper.next(".unit-wrapper"); 17223 17224 17225 function scrollFixedNav() { 17226 17227 //ie11 17228 const ua = navigator.userAgent; 17229 if (ua.indexOf('Trident') !== -1) { 17230 $(window).on('load',function(){ 17231 setTimeout(function(){ 17232 sizeDetect = $('#size-detect').css('font-family'); 17233 targetNavWith = _unit.width(); 17234 targetNavHeight = targetNav.height(); 17235 targetNav.css({ "width": targetNavWith }); 17236 targetNavPos = _unit.offset().top; 17237 spMenuHeight = $(".conversion-0001-sp-head-menu").height(); 17238 // alert(targetNavPos); 17239 },100); 17240 }); 17241 } 17242 17243 17244 $(window).on("load resize", function() { 17245 sizeDetect = $('#size-detect').css('font-family'); 17246 var targetNavWith = _unit.width(); 17247 targetNavHeight = targetNav.height(); 17248 targetNav.css({ "width": targetNavWith }); 17249 targetNavPos = _unit.offset().top; 17250 spMenuHeight = $(".conversion-0001-sp-head-menu").height(); 17251 17252 // console.log(spMenuHeight); 17253 17254 }); 17255 17256 17257 $(window).on("load scroll", function() { 17258 17259 if ($(window).scrollTop() > targetNavPos) { 17260 17261 targetNavWrap.addClass('fixed'); 17262 17263 if ($(imageWrap).length) { 17264 if (sizeDetect != "sp") { 17265 imageWrap.css({ "padding-top": targetNavHeight }); 17266 targetNav.css({ "top": 0 }); 17267 } else { 17268 imageWrap.css({ "padding-top": spMenuHeight }); 17269 targetNav.css({ "top": spMenuHeight }); 17270 } 17271 } else { 17272 if (sizeDetect != "sp") { 17273 _nextUnitWrapper.css({ "padding-top": targetNavHeight }); 17274 targetNav.css({ "top": 0 }); 17275 } else { 17276 _nextUnitWrapper.css({ "padding-top": spMenuHeight }); 17277 targetNav.css({ "top": spMenuHeight }); 17278 } 17279 } 17280 } else { 17281 17282 targetNavWrap.removeClass('fixed'); 17283 imageWrap.css({ "padding-top": 0 }); 17284 _nextUnitWrapper.css({ "padding-top": 0 }); 17285 } 17286 }); 17287 } 17288 scrollFixedNav(); 17289 17290 17291 function spToggleMenu() { 17292 spMenuBtn.on("click", function() { 17293 17294 if (targetNavWrap.hasClass('sp--close')) { 17295 targetNavWrap.removeClass('sp--close'); 17296 targetNavWrap.addClass('sp--open'); 17297 } else { 17298 targetNavWrap.removeClass('sp--open'); 17299 targetNavWrap.addClass('sp--close'); 17300 } 17301 }); 17302 17303 $(".conversion-0001-head-wrap .conversion-0001-snav-item a").on("click", function() { 17304 targetNavWrap.removeClass('sp--open'); 17305 targetNavWrap.addClass('sp--close'); 17306 }); 17307 17308 } 17309 spToggleMenu(); 17310 17311 17312 function pageTransitionScrollAdujust() { 17313 17314 var _sizeDetect = $('#size-detect').css('font-family'); 17315 var $head_pc = $(".conversion-0001 .conversion-0001-head"); 17316 var $head_sp = $(".conversion-0001 .conversion-0001-sp-head-menu"); 17317 var headHeight; 17318 17319 if (_sizeDetect != "sp") { 17320 headHeight = $head_pc.height(); 17321 } else { 17322 headHeight = $head_sp.height(); 17323 } 17324 17325 var urlHash = location.hash.replace("#", ""); 17326 var unit = $(".unit-wrapper"); 17327 17328 unit.each(function() { 17329 var id = $(this).attr("id"); 17330 if (id == urlHash) { 17331 var offsettop = $(this).offset().top; 17332 setTimeout(function() { 17333 $("html,body").animate({ 17334 scrollTop: offsettop - headHeight 17335 }, 0); 17336 }, 300); 17337 } 17338 }); 17339 } 17340 17341 $(window).load(function() { 17342 if ($(".conversion-0001-head-wrap").hasClass('fixed')) { 17343 pageTransitionScrollAdujust(); 17344 } 17345 }); 17346 17347 17348 17349 } 17350 17351});$(function () { 17352
17353 if($(".conversion-0002").length>0){ 17354 var show_table= { 17355 "side":{ 17356 "sp":"table-cell", 17357 "tab-normal":"table", 17358 "tab-large":"table", 17359 "pc-small":"table", 17360 "pc-normal":"table", 17361 "pc-large":"table" 17362 }, 17363 "bottom":{ 17364 "sp":"table-cell", 17365 "tab-normal":"block", 17366 "tab-large":"block", 17367 "pc-small":"block", 17368 "pc-normal":"block", 17369 "pc-large":"block" 17370 } 17371 }; 17372 var _dev_data = { 17373 "pc":$(".conversion-wrapper").data("pc"), 17374 "tab":$(".conversion-wrapper").data("tab"), 17375 "sp":$(".conversion-wrapper").data("sp") 17376 }; 17377 var getClassName = [ 17378 ["none","none"], 17379 ["bottom","bottom-left"], 17380 ["bottom","bottom-center"], 17381 ["bottom","bottom-right"], 17382 ["side","side-top"], 17383 ["side","side-middle"], 17384 ["side","side-bottom"] 17385 ]; 17386 var deviceButton = function(){ 17387 var sizeDetect = $("#size-detect").css("font-family"); 17388 var _pc_sp_flag = false; 17389 if(sizeDetect.indexOf("pc") >= 0){ 17390 var classname = getClassName[_dev_data["pc"]]; 17391 _pc_sp_flag = true; 17392 }else if(sizeDetect.indexOf("tab") >= 0){ 17393 var classname = getClassName[_dev_data["tab"]]; 17394 }else if(sizeDetect.indexOf("sp") >= 0){ 17395 var classname = getClassName[_dev_data["sp"]]; 17396 } 17397 if(!classname){ 17398 classname = getClassName[0]; 17399 } 17400 $(".conversion-wrapper").removeClass().addClass("conversion-wrapper").addClass("conversion-pos-"+classname[0]+" conversion-pos-"+classname[1]); 17401 17402 var table_name = "side"; 17403 if($(".conversion-wrapper").has("conversion-pos-bottom")){ 17404 table_name = "bottom"; 17405 } 17406 $(".conversion-0002 .button-wrapper").each(function(){ 17407 var _devices = $(this).data("device"); 17408 if(_devices){ 17409 var _devlist = _devices.split(";"); 17410 var _flag = false; 17411 for(var i=0;i<_devlist.length;i++){ 17412 if(_devlist[i] && sizeDetect.indexOf(_devlist[i]) >= 0){ 17413 _flag = true; 17414 break; 17415 } 17416 } 17417 if(_flag){ 17418 var _para_sizedetect = getSizeDetect(sizeDetect); 17419 $(this).css("display",show_table[table_name][_para_sizedetect]).addClass("button-show"); 17420 }else{ 17421 $(this).hide().removeClass("button-show"); 17422 } 17423 }else{ 17424 $(this).hide().removeClass("button-show"); 17425 } 17426 17427 switch($(this).data("itemtype")){ 17428 case 1: 17429 if(_pc_sp_flag){ 17430 var _tel_ary = $(this).find("a").attr("href").split("tel:"); 17431 var _tel = (_tel_ary.length >= 2) ? _tel_ary[1] : ""; 17432 $(this).find(".button-label").text(_tel); 17433 }else{ 17434 $(this).find(".button-label").text("é»è©±ãããã"); 17435 } 17436 break; 17437 17438 case 2: 17439 if(_pc_sp_flag){ 17440 $(this).find(".button-label").text("å°å³ãè¦ã"); 17441 }else{ 17442 $(this).find(".button-label").text("å°å³ã¢ããªã§è¦ã"); 17443 } 17444 break; 17445 17446 case 3: 17447 break; 17448 } 17449 17450 }); 17451 } 17452 var getSizeDetect = function(_str){ 17453 return _str.replace('"','').replace('"',''); 17454 } 17455 deviceButton(); 17456 17457 var checkFooterTop = function(){ 17458 var sizeDetect = $("#size-detect").css("font-family"); 17459 var _cvh = $(".conversion-0002 .button-list").height(); 17460 $(".conversion-wrapper").css("height", _cvh); 17461 if($(".conversion-wrapper").hasClass("conversion-pos-bottom")){ 17462 if($("footer").length){ 17463 var _top = $("footer").offset().top; 17464 }else{ 17465 var _top = $("body").outerHeight(true); 17466 } 17467 if($(window).scrollTop()+$(window).height() > _top){ 17468 $(".conversion-0002").removeClass("conversion-fixed").addClass("conversion-relative"); 17469 $(".conversion-0002").css("padding-right", ""); 17470 }else{ 17471 $(".conversion-0002").removeClass("conversion-relative").addClass("conversion-fixed"); 17472 $(".conversion-0002").css("padding-right", $("#container").css("margin-left")); 17473 } 17474 $(".conversion-0002").css("top", "auto"); 17475 }else if($(".conversion-wrapper").hasClass("conversion-pos-side")){ 17476 $(".conversion-wrapper").css("height","0px"); 17477 17478 var _conversion001_flag = false; 17479 var _convertion_h = 0; 17480 var _convertion_top = 0; 17481 if($("div.conversion-0001-head-wrap").width() > 0){ 17482 _conversion001_flag = true; 17483 _convertion_h = $(".conversion-0001-head").height(); 17484 _convertion_top = $(".conversion-0001").offset().top; 17485 } 17486 var _wh = $(window).height(); 17487 var _sabun = 0; 17488 if($(".conversion-wrapper").hasClass("conversion-pos-side-middle")){ 17489 if(sizeDetect.indexOf("sp") >= 0){ 17490 $(".conversion-0002").css("top", "auto"); 17491 }else{ 17492 var _cvtop = (_wh - _cvh) / 2; 17493 _sabun = (_wh - _cvh)/2; 17494 $(".conversion-0002").css("top", _cvtop); 17495 } 17496 } 17497 if($(".conversion-wrapper").hasClass("conversion-pos-side-bottom")){ 17498 $(".conversion-0002").css("top", "auto"); 17499 $(".conversion-0002").css("bottom", "0"); 17500 } 17501 if($(".conversion-wrapper").hasClass("conversion-pos-side-top")){ 17502 if(sizeDetect.indexOf("pc") < 0 || _convertion_h <= 0){ 17503 $(".conversion-0002").css("top", 0); 17504 }else{
17505 if(_convertion_top > $(window).scrollTop()){ 17506 $(".conversion-0002").css("top", _convertion_h+_convertion_top - $(window).scrollTop()); 17507 }else{ 17508 $(".conversion-0002").css("top", _convertion_h); 17509 } 17510 } 17511 _sabun = (_wh - _cvh); 17512 } 17513 17514 if(_convertion_h <= 0){ 17515 $(".conversion-0002").removeClass("conversion-relative").addClass("conversion-fixed"); 17516 }else{ 17517 $(".conversion-0002").removeClass("conversion-fixed"); 17518 $(".conversion-0002").removeClass("conversion-relative"); 17519 } 17520 }else{ 17521 } 17522 17523 $(".button-list li.button-show").removeClass("border-first").removeClass("border-last").removeClass("border-first-last"); 17524 $(".button-list li.button-show").first().addClass("border-first"); 17525 if($(".button-list li.button-show").last().hasClass("border-first")){ 17526 $(".button-list li.button-show").last().removeClass("border-first").addClass("border-first-last"); 17527 }else{ 17528 $(".button-list li.button-show").last().addClass("border-last"); 17529 } 17530 } 17531 17532 checkFooterTop(); 17533 if(!$(".conversion-wrapper").hasClass("conversion-pos-none")){ 17534 $(".conversion-wrapper").show(); /* default is hide */ 17535 } 17536 checkFooterTop(); 17537 17538 17539 $(window).scroll(function() { 17540 checkFooterTop(); 17541 }); 17542 $(window).resize(function() { 17543 deviceButton(); 17544 checkFooterTop(); 17545 if(!$(".conversion-wrapper").hasClass("conversion-pos-none")){ 17546 $(".conversion-wrapper").show(); /* default is hide */ 17547 } 17548 }); 17549 } 17550}); 17551// coupon.js 17552var tDMS = tDMS || {}; 17553 17554(function(namespace){ 17555 17556 var QRCODE = function(){ 17557 17558 } 17559 17560 QRCODE.prototype.init = function(){ 17561 this.getURL(); 17562 } 17563 17564 QRCODE.prototype.getURL = function(){ 17565 var href = window.location.href ; 17566 // ç¾å¨è¡¨ç¤ºä¸ã®ãã¼ã¸ã®URLã§èªåçæãã 17567 this.makeQRcode(href); 17568 17569 } 17570 17571 QRCODE.prototype.makeQRcode = function(url){ 17572 var img = $(".coupon__qr__code__inner__img"); 17573 17574 img.qrcode({ 17575 width : 124, 17576 height: 124, 17577 text : url 17578 }); 17579 17580 } 17581 17582 namespace.QRCODE = QRCODE; 17583 17584})(tDMS); 17585 17586$(function(){ 17587 17588 var makeQR = new tDMS.QRCODE(); 17589 17590 makeQR.init(); 17591 17592}); 17593 17594/*dekirukoto-0001*/ 17595$(function () { 17596 17597 $(".dekirukoto-0001").each(function(){ 17598 boxHeight( $(this) ); 17599 }); 17600 17601 function boxHeight(_target){ 17602 17603 var boxheightAlign_1 = new DMS.BoxHeightAlign($(".dekirukoto-block.buy"),{ isAll:false }); 17604 var boxheightAlign_2 = new DMS.BoxHeightAlign($(".dekirukoto-block.maintenance"),{ isAll:false }); 17605 var boxheightAlign_3 = new DMS.BoxHeightAlign($(".dekirukoto-block.other"),{ isAll:false }); 17606 17607 17608 17609 boxheightAlign_1.init(); 17610 boxheightAlign_2.init(); 17611 boxheightAlign_3.init(); 17612 17613 17614 17615 17616 $(window).on('resize', function() { 17617 boxheightAlign_1.update(); 17618 boxheightAlign_2.update(); 17619 boxheightAlign_3.update(); 17620 }); 17621 17622 17623 DMS.customEvent.addEventListner(DMS.customEvent.INIT_UNIT, function () { 17624 boxheightAlign_1.update(); 17625 boxheightAlign_2.update(); 17626 boxheightAlign_3.update(); 17627 }); 17628 17629} 17630 17631});$(function () { 17632 17633 if ($(".unit-wrapper .unit-base .democar-exhibitioncar-0001").length > 0) { 17634 17635 17636 // åææé表示 17637 var window_height = $(window).height(); 17638 var democar_init_height = window_height * .5; 17639 var iframe_flg = false; 17640 17641 $(".unit-wrapper .unit-base .democar-exhibitioncar-0001").parent(".unit-base").css({ "position": "relative" }); 17642 $(".unit-wrapper .unit-base .democar-exhibitioncar-0001").before('<div class="loading_democar"><img src="/assets/a/images/democar-exhibitioncar-0001/loading.png"></div>'); 17643 17644 $(".unit-wrapper .unit-base .democar-exhibitioncar-0001").css({ 17645 "opacity": 0, 17646 "height": democar_init_height 17647 }); 17648 17649 17650 if ($('.democar-exhibitioncar-0001').parent(".unit-base").data("mode") == "iframe") { 17651 17652 /** 17653 * iframeæã«showorderãURLãã©ã¡ã¼ã¿ããåå¾ 17654 * */ 17655 iframe_flg = true; 17656 var queryString = document.location.search; 17657 var params = new URLSearchParams(queryString); 17658 var paramValue = params.get('showorder'); 17659 17660 17661 var defWindowInfo = { 17662 width: 0, 17663 height: 0, 17664 isSizeUpdate: false, 17665 isContentsReady: false, 17666 dmsIframeFormMessage: true, 17667 isContentsLoad: false,//iframeå ã§ãã¼ã¸é·ç§»ãçºçããã¨ãã«æãã 17668 } 17669 17670 var windowInfo = $.extend({}, defWindowInfo); 17671 windowInfo = $.extend({}, defWindowInfo); 17672 windowInfo.isContentsReady = true; 17673 17674 $(window).resize(function () { 17675 windowInfo = $.extend({}, defWindowInfo); 17676 windowInfo.width = $("body").width(); 17677 windowInfo.height = $("body").height(); 17678 windowInfo.isSizeUpdate = true; 17679 parent.postMessage(windowInfo, '*'); 17680 }) 17681 17682 $(document).on('democarFrameUpdate', function () { 17683 windowInfo = $.extend({}, defWindowInfo); 17684 windowInfo.width = $("body").width(); 17685 windowInfo.height = $("body").height(); 17686 windowInfo.isSizeUpdate = true; 17687 parent.postMessage(windowInfo, '*'); 17688 }) 17689 17690 17691 17692 window.onload = function () { 17693 windowInfo = $.extend({}, defWindowInfo); 17694 windowInfo.width = $("body").width(); 17695 windowInfo.height = $("body").height(); 17696 windowInfo.isSizeUpdate = true; 17697 windowInfo.isContentsLoad = true; 17698 parent.postMessage(windowInfo, '*'); 17699 } 17700 } 17701 17702 17703 // 試ä¹è»2æå¤å®æ¯ãåã 17704 var app_version = $(".unit-wrapper .unit-base .democar-exhibitioncar-0001").data("app_version"); 17705 17706 // ãã§ãã¯ããã¯ã¹ 17707 function changeCheckBtn() { 17708 var checkBtn = $(".unit-wrapper .unit-base .democar-exhibitioncar-0001 .sort-check-block .item-check"); 17709 checkBtn.on("click", function () { 17710 var $this = $(this); 17711 if ($this.hasClass('active')) { 17712 $this.removeClass('active'); 17713 $this.removeClass($(".unit-wrapper .unit-base .democar-exhibitioncar-0001 .item-check").data("activeclass")); 17714 } else { 17715 $this.addClass('active'); 17716 $this.addClass($(".unit-wrapper .unit-base .democar-exhibitioncar-0001 .item-check").data("activeclass")); 17717 } 17718 }); 17719 } 17720 changeCheckBtn(); 17721 17722 17723 // domçæ 17724 var car_list; 17725 var client_id = $(".unit-wrapper .unit-base .democar-exhibitioncar-0001").data("client_id"); 17726 17727 17728 // ç°å¢ãã¡ã¤ã³ 17729 var envId = $(".unit-wrapper .unit-base .democar-exhibitioncar-0001").data("env_id"); 17730 var envIdDomain; 17731 if (envId == "development") { 17732 envIdDomain = "https://api.eohp.bfp.co.jp"; 17733 } else if (envId == "staging") { 17734 envIdDomain = "https://stg.api.t-dms.jp"; 17735 } else if (envId == "checking") { 17736 envIdDomain = "https://api-chk.eohp.bfp.co.jp"; 17737 } else if (envId == "production") { 17738 envIdDomain = "https://api.t-dms.jp"; 17739 } else if (envId == "democar") { 17740 envIdDomain = "https://api-dem.eohp.bfp.co.jp"; 17741 } else if (envId == "holding") { 17742 envIdDomain = "https://api-tmt.eohp.bfp.co.jp"; 17743 } else if (envId == "staging2") { 17744 envIdDomain = "https://stg2.api.t-dms.jp"; 17745 } else if (envId == "recheck") { 17746 envIdDomain = "https://api-rec.eohp.bfp.co.jp"; 17747 } 17748 17749 17750 function changeDataUrlParam() { 17751 var $wrap = $(".unit-wrapper .unit-base .democar-exhibitioncar-0001"); 17752 $(".unit-wrapper .unit-base .democar-exhibitioncar-0001 .sort-btn .btn-search").on("click", function () { 17753 17754 var series_seq = $(".unit-wrapper .unit-base .democar-exhibitioncar-0001 [name=carname]").val(); 17755 var area = $(".unit-wrapper .unit-base .democar-exhibitioncar-0001 [name=area]").val(); 17756 var shop_id = $(".unit-wrapper .unit-base .democar-exhibitioncar-0001 [name=store]").val(); 17757 var show_welcab_type = $(".unit-wrapper .unit-base .democar-exhibitioncar-0001 [name=welcab]").val(); 17758 17759 $wrap.attr("data-series_seq", series_seq); 17760 $wrap.attr("data-area", area); 17761 $wrap.attr("data-shop_id", shop_id);
17762 $wrap.attr("data-show_welcab_type", show_welcab_type); 17763 }); 17764 17765 $(".unit-wrapper .unit-base .democar-exhibitioncar-0001 .sort-btn .btn-reset").on("click", function () { 17766 $(".unit-wrapper .unit-base .democar-exhibitioncar-0001 [name=carname]").val(""); 17767 $(".unit-wrapper .unit-base .democar-exhibitioncar-0001 [name=area]").val(""); 17768 $(".unit-wrapper .unit-base .democar-exhibitioncar-0001 [name=store]").val(""); 17769 $(".unit-wrapper .unit-base .democar-exhibitioncar-0001 [name=welcab]").val("2"); 17770 17771 $wrap.attr("data-series_seq", ""); 17772 $wrap.attr("data-area", ""); 17773 $wrap.attr("data-shop_id", ""); 17774 $wrap.attr("data-show_welcab_type", "2"); 17775 $(".sort-check-block .item-check").removeClass("active"); 17776 $(".sort-check-block .item-check").removeClass($(".unit-wrapper .unit-base .democar-exhibitioncar-0001 .item-check").data("activeclass")); 17777 }); 17778 } 17779 changeDataUrlParam(); 17780 17781 17782 function loadRequestUrl() { 17783 var $wrap = $(".unit-wrapper .unit-base .democar-exhibitioncar-0001"); 17784 var series_seq = $wrap.data("series_seq"); 17785 var area = $wrap.data("area"); 17786 var shop_id = $wrap.data("shop_id"); 17787 var show_welcab_type = $wrap.data("show_welcab_type"); 17788 var limit = $wrap.data("limit"); 17789 var page = $wrap.attr("data-page"); 17790 17791 var area_uri = encodeURIComponent(area); 17792 var showorder = iframe_flg ? paramValue : $wrap.data("showorder"); 17793 17794 var requestUrl = envIdDomain + "/democar/" + client_id + "/list2?democar_showorder_id="+showorder+"&meta_shop_flg=1&SERIES_SEQ=" + series_seq + "&area=" + area_uri + "&shop_id=" + shop_id + "&welcab_search_type=" + show_welcab_type + "&limit=" + limit + "&page=" + page; 17795 loadDemoCar(requestUrl); 17796 } 17797 loadRequestUrl(); 17798 17799 17800 function setRequestUrl() { 17801 var $wrap = $(".unit-wrapper .unit-base .democar-exhibitioncar-0001"); 17802 var $list_wrap = $(".unit-wrapper .unit-base .democar-exhibitioncar-0001 .democar-exhibitioncar-0001-wrap"); 17803 $(".unit-wrapper .unit-base .democar-exhibitioncar-0001 .sort-btn .btn-search").on("click", function () { 17804 $wrap.attr("data-page", "1"); 17805 var $more_btn = $(".unit-wrapper .unit-base .democar-exhibitioncar-0001 .more-btn"); 17806 $more_btn.css({ "opacity": "0", "display": "block" }); 17807 $list_wrap.css({ "opacity": "0", "display": "block" }); 17808 setTimeout(function () { 17809 $more_btn.animate({ "opacity": "1" }, 300); 17810 $list_wrap.animate({ "opacity": "1" }, 300); 17811 17812 }, 200); 17813 17814 var car_list_dom = $(".unit-wrapper .unit-base .democar-exhibitioncar-0001 .democar-exhibitioncar-0001-wrap"); 17815 car_list_dom.empty(); 17816 17817 var series_seq = $(".unit-wrapper .unit-base .democar-exhibitioncar-0001 [name=carname]").val(); 17818 var area = $(".unit-wrapper .unit-base .democar-exhibitioncar-0001 [name=area]").val(); 17819 var shop_id = $(".unit-wrapper .unit-base .democar-exhibitioncar-0001 [name=store]").val(); 17820 var show_welcab_type = $(".unit-wrapper .unit-base .democar-exhibitioncar-0001 [name=welcab]").val(); 17821 var limit = $wrap.data("limit"); 17822 var page = $wrap.attr("data-page"); 17823 var democar_flg = ""; 17824 if ($(".unit-wrapper .unit-base .democar-exhibitioncar-0001 .sort-check-block .item-check").hasClass("active")) { 17825 democar_flg = 1; 17826 } 17827 var area_uri = encodeURIComponent(area); 17828 17829 var showorder = iframe_flg ? paramValue : $wrap.data("showorder"); 17830 17831 var requestUrl = envIdDomain + "/democar/" + client_id + "/list2?democar_showorder_id="+showorder+"&meta_shop_flg=1&SERIES_SEQ=" + series_seq + "&area=" + area_uri + "&shop_id=" + shop_id + "&welcab_search_type=" + show_welcab_type + "&democar_flg=" + democar_flg + "&limit=" + limit + "&page=" + page; 17832 loadDemoCar(requestUrl); 17833 }); 17834 } 17835 setRequestUrl(); 17836 17837 function resetRequestUrl() { 17838 var $wrap = $(".unit-wrapper .unit-base .democar-exhibitioncar-0001"); 17839 var $list_wrap = $(".unit-wrapper .unit-base .democar-exhibitioncar-0001 .democar-exhibitioncar-0001-wrap"); 17840 $(".unit-wrapper .unit-base .democar-exhibitioncar-0001 .sort-btn .btn-reset").on("click", function () { 17841 $wrap.attr("data-page", "1"); 17842 var $more_btn = $(".unit-wrapper .unit-base .democar-exhibitioncar-0001 .more-btn"); 17843 // $more_btn.show(); 17844 $more_btn.css({ "opacity": "0", "display": "block" });
17845 $list_wrap.css({ "opacity": "0", "display": "block" }); 17846 setTimeout(function () { 17847 $more_btn.animate({ "opacity": "1" }, 300); 17848 $list_wrap.animate({ "opacity": "1" }, 300); 17849 }, 200); 17850 17851 var limit = $wrap.data("limit"); 17852 var page = $wrap.attr("data-page"); 17853 var show_welcab_type = $wrap.attr("data-show_welcab_type"); 17854 var car_list_dom = $(".unit-wrapper .unit-base .democar-exhibitioncar-0001 .democar-exhibitioncar-0001-wrap"); 17855 car_list_dom.empty(); 17856 17857 var showorder = iframe_flg ? paramValue : $wrap.data("showorder"); 17858 17859 var requestUrl = envIdDomain + "/democar/" + client_id + "/list2?democar_showorder_id="+showorder+"&meta_shop_flg=1&welcab_search_type=" + show_welcab_type + "&limit=" + limit + "&page=" + page; 17860 loadDemoCar(requestUrl); 17861 }); 17862 } 17863 resetRequestUrl(); 17864 17865 17866 function loadMoreCaritem() { 17867 var $wrap = $(".unit-wrapper .unit-base .democar-exhibitioncar-0001"); 17868 var $more_btn = $(".unit-wrapper .unit-base .democar-exhibitioncar-0001 .more-btn"); 17869 $(".unit-wrapper .unit-base .democar-exhibitioncar-0001 .more-btn a").on("click", function () { 17870 var _page = $wrap.attr("data-page"); 17871 _page++; 17872 $wrap.attr("data-page", _page); 17873 17874 var democar_flg = ""; 17875 if ($(".sort-check-block .item-check").hasClass("active")) { 17876 democar_flg = 1; 17877 } 17878 17879 var total_car_num = $(".unit-wrapper .unit-base .democar-exhibitioncar-0001").attr("data-total_car_num"); 17880 var series_seq = $(".unit-wrapper .unit-base .democar-exhibitioncar-0001").attr("data-series_seq"); 17881 var area = $(".unit-wrapper .unit-base .democar-exhibitioncar-0001").attr("data-area"); 17882 var shop_id = $(".unit-wrapper .unit-base .democar-exhibitioncar-0001").attr("data-shop_id"); 17883 var show_welcab_type = $(".unit-wrapper .unit-base .democar-exhibitioncar-0001").attr("data-show_welcab_type"); 17884 var limit = $(".unit-wrapper .unit-base .democar-exhibitioncar-0001").data("limit"); 17885 var page_total = Math.ceil(total_car_num / limit); 17886 17887 var area_uri = encodeURIComponent(area); 17888 17889 var showorder = iframe_flg ? paramValue : $wrap.data("showorder"); 17890 17891 var requestUrl = envIdDomain + "/democar/" + client_id + "/list2?democar_showorder_id="+showorder+"&meta_shop_flg=1&SERIES_SEQ=" + series_seq + "&area=" + area_uri + "&shop_id=" + shop_id + "&welcab_search_type=" + show_welcab_type + "&democar_flg=" + democar_flg + "&limit=" + limit + "&page=" + _page; 17892 17893 var load_completed_flg = false; 17894 if (page_total >= _page) { 17895 // $more_btn.show(); 17896 loadDemoCar(requestUrl); 17897 if (page_total == _page) { 17898 load_completed_flg = true; 17899 } 17900 } 17901 if (load_completed_flg) { 17902 $more_btn.hide(); 17903 } 17904 17905 }); 17906 } 17907 loadMoreCaritem(); 17908 17909 17910 var cnt = 0; 17911 var max = 1; 17912 17913 function loadDemoCar(_url) { 17914 $.ajax({
17915 type: 'GET', 17916 url: _url, 17917 xhrFields: { 17918 withCredentials: true 17919 }, 17920 dataType: 'json', 17921 timeout: 10000, 17922 success: function (json) { 17923 jsonLoaded(json); 17924 17925 if (initial_load()) { 17926 setCarnamePullDown(json); 17927 keyInputDropDown(); 17928 } 17929 }, 17930 error: function (json) { 17931 $(".unit-wrapper .unit-base .loading_democar").remove(); 17932 $(".unit-wrapper .unit-base .democar-exhibitioncar-0001").before('<p class="error_text">æ å ±åå¾ã«å¤±æãã¾ãã</p>'); 17933 $(".unit-wrapper .unit-base .democar-exhibitioncar-0001").remove(); 17934 $(document).trigger("democarFrameUpdate"); 17935 } 17936 }); 17937 } 17938 17939 function initial_load() { 17940 cnt++; 17941 if (cnt == max) { 17942 return true; 17943 } 17944 return false; 17945 } 17946 17947 17948 function setCarnamePullDown(data) { 17949 var carSeq = $(".unit-wrapper .unit-base .democar-exhibitioncar-0001").data("series_seq"); 17950 var car_name_list = []; 17951 var car_name_list_origin = data["car_name_list"]; 17952 // éè¤ãåé¤ãããªã¹ã 17953 car_name_list = car_name_list_origin.filter(function (x, i, self) { 17954 return self.indexOf(x) === i; 17955 }); 17956 17957 var carNamePullDownWrap = $(".unit-wrapper .unit-base .democar-exhibitioncar-0001 .sort-list .sort-carname"); 17958 for (var i = 0; i < car_name_list.length; i++) { 17959 var carPullDown = ""; 17960 if (carSeq == car_name_list[i]["SERIES_SEQ"]) { 17961 carPullDown += '<option selected value="' + car_name_list[i]["SERIES_SEQ"] + '">' + car_name_list[i]["CAR_NAME"] + "</option>"; 17962 } else { 17963 carPullDown += '<option value="' + car_name_list[i]["SERIES_SEQ"] + '">' + car_name_list[i]["CAR_NAME"] + "</option>"; 17964 } 17965 carNamePullDownWrap.append(carPullDown); 17966 } 17967 } 17968 17969 17970 function jsonLoaded(data) { 17971 car_num = data.total; 17972 car_list = data.democar_list; 17973 var limit = $(".unit-wrapper .unit-base .democar-exhibitioncar-0001").data("limit"); 17974 // addIframeClass(); 17975 // car_name_list = data.car_name_list; 17976 // setDemocarListHtml(car_list); 17977 17978 var $more_btn = $(".unit-wrapper .unit-base .democar-exhibitioncar-0001 .more-btn"); 17979 17980 var cnt_flg = true; 17981 if (car_num <= limit) { 17982 $more_btn.hide(); 17983 cnt_flg = false; 17984 } 17985 17986 var $label = $(".unit-wrapper .unit-base .democar-exhibitioncar-0001 .headline--democar-list-view"); 17987 var $list_wrapper = $(".unit-wrapper .unit-base .democar-exhibitioncar-0001 .democar-exhibitioncar-0001-wrap"); 17988 var no_data_text = '<p class="error_text">鏿ãããæ¡ä»¶ã§æ²è¼ã§ããæ å ±ã¯ãããã¾ããã</p>' 17989 $(".error_text").remove(); 17990 17991 if (car_num === "0") { 17992 $label.hide(); 17993 $list_wrapper.hide(); 17994 $(".unit-wrapper .unit-base .democar-exhibitioncar-0001 .sort-area-wrapper").append(no_data_text) 17995 } else { 17996 $label.show(); 17997 $list_wrapper.show(); 17998 $(".unit-wrapper .unit-base .democar-exhibitioncar-0001 .error_text").remove(); 17999 setDemocarListHtml(car_list); 18000 addIframeClass(); 18001 } 18002 18003 18004 $(".unit-wrapper .unit-base .democar-exhibitioncar-0001").attr('data-total_car_num', car_num); 18005 $(".unit-wrapper .unit-base .democar-exhibitioncar-0001 .sort-count-info .sort-count .result").html(car_num); 18006 $(".unit-wrapper .unit-base .democar-exhibitioncar-0001").parent(".unit-base").css({ "position": "static" }); 18007 $(".unit-wrapper .unit-base .loading_democar").remove(); 18008 $(".unit-wrapper .unit-base .democar-exhibitioncar-0001").css({ 18009 "height": "auto" 18010 }).animate({ 18011 "opacity": 1 18012 }); 18013 $(document).trigger("democarFrameUpdate"); 18014 } 18015 18016 function setDemocarListHtml(_list) { 18017 var insertTarget = $(".unit-wrapper .unit-base .democar-exhibitioncar-0001-wrap"); 18018 var c1txt = insertTarget.data("c1txt"); 18019 var c1bg = insertTarget.data("c1bg"); 18020 var c2bg = insertTarget.data("c2bg"); 18021 var c2txt = insertTarget.data("c2txt"); 18022 var c3bg = insertTarget.data("c3bg"); 18023 var c3txt = insertTarget.data("c3txt"); 18024 var c6txt = insertTarget.data("c6txt"); 18025 var pageDesignId = insertTarget.data("designid"); 18026 var unit_id = insertTarget.data("unitid"); 18027 var pageTitle = $("title").html(); 18028 var mode = $(".democar-exhibitioncar-0001").parent().data("mode"); 18029 18030 18031 for (var i = 0; i < $(_list).length; i++) { 18032 var list = $(_list)[i]; 18033 18034 var engine_id_list = { 18035 "1": "ã¬ã½ãªã³", 18036 "2": "ãã£ã¼ã¼ã«", 18037 "3": "ãã¤ããªãã", 18038 "4": "FCEV", 18039 "5": "PHEV", 18040 "6": "BEV", 18041 "9": "ãã®ä»" 18042 }; 18043 18044 var democar_flg = { 18045 "1": "試ä¹è»", 18046 "2": "å±ç¤ºè»" 18047 }; 18048 18049 var democar_flg_class = { 18050 "1": "is-democar", 18051 "2": "no-democar" 18052 }; 18053 18054 18055 //image_url=nullæã®å¯¾å¿ 18056 var carname_en_origin = list.CAR_NAME_EN; 18057 carname_en_origin = String(carname_en_origin); 18058 var carname_en = carname_en_origin.toLowerCase(); 18059 carname_en = carname_en.replace(/\s+/g, ""); 18060 18061 18062 18063 var democarListHtml = ""; 18064 18065 democarListHtml += '<div class="democar-list-wrap ' + democar_flg_class[list.DEMOCAR_DIV] + ' boxheight-align-item" data-car="' + list.CAR_NAME + '" data-area="' + list.area + '" data-store="' + list.shop_name + '" data-democar-flg="' + democar_flg[list.DEMOCAR_DIV] + '">'; 18066 democarListHtml += '<div class="democar-list clearfix"><div class="democar-name clearfix boxheight-align-item-element"><div class="democar-name__text">'; 18067 18068 if (list.CAR_NAME) { 18069 democarListHtml += '<div class="democar-name__text-main">' + list.CAR_NAME + '</div>'; 18070 } else { 18071 democarListHtml += '<div class="democar-name__text-main">-</div>'; 18072 } 18073 18074
18075 //ç·ææ°é 18076 if (list.TOTAL_DISPLACEMENT) { 18077 // T_DMS-96238 ã©ã³ã¯ã«ææ°æ¸ãæãå¯¾å¿ 18078 // 対象ã®è»ä¸¡åå¼(CAR_STYLE) 18079 var targetCarStyleList = ["3BA-VJA300W-GNUZZ", "3BA-VJA300W-GNUVZ", "3BA-VJA300W-GNUAZ", "3BA-VJA300W-GMUGZ", "3BA-VJA300W-GNUSZ"]; 18080 var _carStyle = list.CAR_STYLE; 18081 var _changeFlg = false; 18082 18083 for (var num = 0; num < targetCarStyleList.length; num++) { 18084 var targetCarStyleItem = targetCarStyleList[num]; 18085 if (targetCarStyleItem === _carStyle) { 18086 _changeFlg = true; 18087 } 18088 } 18089 18090 var total_displacement; 18091 if (_changeFlg) { 18092 total_displacement = "3.5";//åºå®å¤ 18093 } else { 18094 var threshold = 660; //é¾å¤ 18095 var total_displacement_org = list.TOTAL_DISPLACEMENT / 1000; 18096 if (list.TOTAL_DISPLACEMENT > threshold) { 18097 var n = 1; // å°æ°ç¹ç¬¬nä½ã¾ã§æ®ã 18098 total_displacement = (Math.round(total_displacement_org * Math.pow(10, n)) / Math.pow(10, n)).toFixed(1); 18099 } else { 18100 var n = 2; // å°æ°ç¹ç¬¬nä½ã¾ã§æ®ã 18101 total_displacement = (Math.round(total_displacement_org * Math.pow(10, n)) / Math.pow(10, n)).toFixed(2); 18102 } 18103 } 18104 } 18105 18106 18107 //ããã«ã¬ã¤ã¢ã¦ãæ 18108 if (list.DRIVE_SYSTEM) { 18109 democarListHtml += '<div class="democar-name__text-sub">' + list.DRIVE_SYSTEM + ' / '; 18110 } else { 18111 democarListHtml += '<div class="democar-name__text-sub">- / '; 18112 } 18113 18114 if (list.TOTAL_DISPLACEMENT !== '0.0' && list.TOTAL_DISPLACEMENT) { 18115 democarListHtml += total_displacement + 'L / '; 18116 } else { 18117 democarListHtml += '- / '; 18118 } 18119 18120 if (list.RIDE_MEMBER_ADULT) { 18121 democarListHtml += + list.RIDE_MEMBER_ADULT + '人ä¹ã</div></div>'; 18122 } else { 18123 democarListHtml += '-</div></div>'; 18124 } 18125 18126 18127 18128 // è»ç¨®ç»å 18129 18130 if (list.list_image_url) { 18131 18132 democarListHtml += '<div class="democar-name__pic"><img class="" src="' + list.list_file.url + '" alt="' + list.list_file.alt + '"></div>'; 18133 18134 } else { 18135 18136 if (list.image_url === null || !list.image_url) { 18137 democarListHtml += '<div class="democar-name__pic"><img class="" src="https://toyota.jp/pages/contents/car_image/model/' + carname_en + '/car.png" alt=""><span class="notes">â»ä»£è¡¨ã°ã¬ã¼ãï¼ã«ã©ã¼</span></div>'; 18138 } else { 18139 18140 $img_url = list.image_url; 18141 18142 if (list.image_url.indexOf('welcab/car_image') !== -1) { 18143 var catalog_cd = list.CATALOG_CD; 18144 var generation_no = ("000" + list.GENERATION_NO).slice(-3);; 18145 18146 democarListHtml += '<div class="democar-name__pic" data-image_check_type="2" data-generation_no="' + generation_no + '" data-catalog_cd="' + catalog_cd + '"><img class="sp-flg-w" src="' + list.image_url + '" alt=""></div>'; 18147 } else { 18148 democarListHtml += '<div class="democar-name__pic" data-image_check_type="1"><img class="" src="' + list.image_url + '" alt=""></div>'; 18149 } 18150 } 18151 18152 } 18153 18154 18155 if (list.free_comment || list.detail1_image_url || list.detail2_image_url || list.detail3_image_url) { 18156 democarListHtml += '<div class="democar-name__btnWrap">'; 18157 democarListHtml += '<div class="democar-name__moreinfoBtn key-color-2-text-' + c2txt + ' key-color-2-bg-' + c2bg + '">è»ä¸¡è©³ç´°<img src="/assets/a/images/democar-exhibitioncar-0001/arrow/' + pageDesignId + '/' + c2txt + '.png" alt=""></div>'; 18158 democarListHtml += '</div>'; 18159 } 18160 18161 18162 18163 18164 democarListHtml += '</div>'; // /.democar-name 18165 18166 18167 18168 18169 18170 democarListHtml += '<div class="democar-panel-wrap boxheight-align-item-element clearfix"><div class="democar-grade democar-panel">'; 18171 democarListHtml += '<p class="democar-item-name key-color-6-text-' + c6txt + '">ã°ã¬ã¼ã</p>'; 18172 18173 // ã°ã¬ã¼ãå
18174 if (!list.GRADE_NAME || list.GRADE_NAME === " ") { 18175 democarListHtml += '<p class="democar-item-text">-</p></div>'; 18176 } else { 18177 democarListHtml += '<p class="democar-item-text">' + list.GRADE_NAME + '</p></div>'; 18178 } 18179 18180 18181 democarListHtml += '<div class="democar-engin democar-panel sp">'; 18182 democarListHtml += '<p class="democar-item-name key-color-6-text-' + c6txt + '">ã¨ã³ã¸ã³ã¿ã¤ã<span>/é§åæ¹å¼/</span><span>ãã©ã³ã¹ããã·ã§ã³</span><span class="show-panelLayout">/ææ°é</span></p>'; 18183 18184 18185 // ã¨ã³ã¸ã³ã¿ã¤ã/é§åæ¹å¼/ããã·ã§ã³ã¿ã¤ã/ææ°é 18186 //EG_TYPEãå®ç¾©å¤ã®æ°å¤ã ã£ãå ´å 18187 if (!engine_id_list[list.EG_TYPE]) { 18188 engine_id_list[list.EG_TYPE] = "- "; 18189 } 18190 18191 var transmissionName; 18192 if (list.transmission_type_name == null || !list.transmission_type_name) { 18193 transmissionName = " -"; 18194 } else { 18195 transmissionName = list.transmission_type_name; 18196 } 18197 18198 18199 var list_total_displacement = (list.TOTAL_DISPLACEMENT !== '0.0' && list.TOTAL_DISPLACEMENT) ? total_displacement + 'L' : "-"; 18200 18201 //é§åæ¹å¼ã空ãããã¯null 18202 if (list.EG_TYPE && list.DRIVE_SYSTEM == null || !list.DRIVE_SYSTEM) { 18203 democarListHtml += '<p class="democar-item-text">' + engine_id_list[list.EG_TYPE] + '<span> -</span><span>' + transmissionName + '</span><span class="show-listLayout">' + list_total_displacement + '</span></p></div>'; 18204 //ã¨ã³ã¸ã³ã¿ã¤ãã空ãããã¯null 18205 } else if (list.EG_TYPE == null || !list.EG_TYPE && list.DRIVE_SYSTEM) { 18206 democarListHtml += '<p class="democar-item-text">- <span>' + list.DRIVE_SYSTEM + '</span><span>' + transmissionName + '</span><span class="show-listLayout">' + list_total_displacement + '</span></p></div>'; 18207 //ã¨ã³ã¸ã³ã¿ã¤ããé§åæ¹å¼ä¸¡æ¹ã空ãããã¯null 18208 } else if (list.EG_TYPE && list.DRIVE_SYSTEM) { 18209 democarListHtml += '<p class="democar-item-text">' + engine_id_list[list.EG_TYPE] + '<span>' + list.DRIVE_SYSTEM + '</span><span>' + transmissionName + '</span><span class="show-listLayout">' + list_total_displacement + '</span></p></div>'; 18210 } else { 18211 democarListHtml += '<p class="democar-item-text">-</p></div>'; 18212 } 18213 18214 18215 18216 democarListHtml += '<div class="democar-color democar-panel sp">'; 18217 18218 18219 democarListHtml += '<p class="democar-item-name key-color-6-text-' + c6txt + '">ã«ã©ã¼</p>'; 18220 18221 18222 // ã«ã©ã¼ 18223 if (list.COLOR_NAME) { 18224 democarListHtml += '<p class="democar-item-text">' + list.COLOR_NAME + '</p></div></div>'; 18225 } else { 18226 democarListHtml += '<p class="democar-item-text">-</p></div></div>'; 18227 } 18228 18229 18230 18231 democarListHtml += '<div class="democar-store clearfix boxheight-align-item-element"><div class="democar-store__info">'; 18232 18233 18234 //shop_nameç©ºå¯¾å¿ 18235 if (!list.shop_name) { list.shop_name = "-"; } 18236 if (mode == "iframe") { 18237 if (list.jp_shop_url) { 18238 democarListHtml += '<p class="democar-item-name2 key-color-6-text-' + c6txt + '">é ååºè</p>'; 18239 democarListHtml += '<p class="democar-store__info-name"><a href="' + list.jp_shop_url + 'index.html">' + list.shop_name + '</a></p>'; 18240 } else { 18241 democarListHtml += '<p class="democar-store__info-name">' + list.shop_name + '</p>'; 18242 } 18243 } else { 18244 if (list.shop_url != null && list.shop_url) { 18245 democarListHtml += '<p class="democar-item-name2 key-color-6-text-' + c6txt + '">é ååºè</p>'; 18246 democarListHtml += '<p class="democar-store__info-name"><a href="' + list.shop_url + '">' + list.shop_name + '</a></p>'; 18247 } else { 18248 democarListHtml += '<p class="democar-store__info-name">' + list.shop_name + '</p>'; 18249 } 18250 } 18251 18252 18253 if (list.shop_tel != "" && list.shop_tel[0].tel_num != null) { 18254 18255 democarListHtml += '<p class="democar-store__info-tel"><img src="/assets/a/images/democar-exhibitioncar-0001/icon/democar-store__info-tel-icon.png" alt=""><a href="tel:' + list.shop_tel[0].tel_num + '" data-galabel="' + list.shop_name + ' : ' + list.shop_tel[0].tel_num + ' ï¼' + pageTitle + '_試ä¹è»ã»å±ç¤ºè»ï¼ãã¼ã¿åç §ï¼ï¼">' + list.shop_tel[0].tel_num + '</a></p>'; 18256 } else { 18257 democarListHtml += '<p class="democar-store__info-tel"> </p>'; 18258 } 18259 18260 if (list.address) { 18261 democarListHtml += '<p class="democar-store__info-add">'; 18262 democarListHtml += '<img src="/assets/a/images/democar-exhibitioncar-0001/icon/democar-store__info-add-icon.png" alt="">' + list.address + '</p>'; 18263 } 18264 18265 if (mode == "iframe") { 18266 if (list.jp_shop_url) { 18267 democarListHtml += '<p class="democar-store__info-link key-color-1-text-' + c1txt + ' key-color-1-bg-' + c1bg + '"><a href="' + list.jp_shop_url + 'index.html">åºè詳細<img src="/assets/a/images/democar-exhibitioncar-0001/arrow/' + pageDesignId + '/' + c1txt + '.png" alt=""></a></p></div>'; 18268 } else { 18269 democarListHtml += '</div>'; 18270 } 18271 } else { 18272 if (list.shop_url != null) { 18273 democarListHtml += '<p class="democar-store__info-link key-color-1-text-' + c1txt + ' key-color-1-bg-' + c1bg + '"><a href="' + list.shop_url + '">åºè詳細<img src="/assets/a/images/democar-exhibitioncar-0001/arrow/' + pageDesignId + '/' + c1txt + '.png" alt=""></a></p></div>'; 18274 } else { 18275 democarListHtml += '</div>'; 18276 } 18277 } 18278 18279 18280 if (list.shoplist_cms_file.url) { 18281 democarListHtml += '<div class="democar-store__pic"><img src="' + list.shoplist_cms_file.url + '" alt=""></div></div>'; 18282 } else { 18283 democarListHtml += '<div class="democar-store__pic"></div></div>'; 18284 } 18285 18286 18287 //試ä¹è»ã»å±ç¤ºè»ãã©ã° 18288 if (list.DEMOCAR_DIV === "1") { 18289 18290 //峿äºç´ãã¿ã³è¡¨ç¤ºå¶å¾¡ 18291 if (list.online_reserve_flg === "1" && app_version >= 2) { 18292 democarListHtml += '<div class="online-reserve key-color-3-bg-' + c3bg + '">'; 18293 if (document.URL.match("/form_load/")) { 18294 democarListHtml += '<a href="/form_load/' + list.SALE_OFFICE_CD + '/onlinersv/?CAR_NUMBER=' + list.CAR_NUMBER + '&IMAGE_PATH="'; 18295 } else if (document.URL.match("/form/democarlist")) {
18296 democarListHtml += '<a href="/form/onlinersv?CAR_NUMBER=' + list.CAR_NUMBER + '&IMAGE_PATH="'; 18297 } else { 18298 democarListHtml += '<a href="/form/onlinersv?CAR_NUMBER=' + list.CAR_NUMBER + '&UNIT_ID=' + unit_id + '&IMAGE_PATH="'; 18299 } 18300 democarListHtml += ' class="key-color-3-text-' + c3txt + '">峿äºç´<img src="/assets/a/images/democar-exhibitioncar-0001/arrow/' + pageDesignId + '/' + c3txt + '.png" alt=""></a></div>'; 18301 } else { 18302 var _btnText = "ãªã¯ã¨ã¹ãäºç´"; 18303 if (app_version < 2) { 18304 _btnText = "試ä¹äºç´ãã" 18305 } 18306 democarListHtml += '<div class="democar-reserve key-color-3-bg-' + c3bg + '">'; 18307 if (document.URL.match("/form_load/")) { 18308 democarListHtml += '<a href="/form_load/' + list.SALE_OFFICE_CD + '/democar/?CAR_NUMBER=' + list.CAR_NUMBER + '"'; 18309 } else if (document.URL.match("/form/democarlist")) { 18310 democarListHtml += '<a href="/form/democar?CAR_NUMBER=' + list.CAR_NUMBER + '"'; 18311 } else { 18312 democarListHtml += '<a href="/form/democar?CAR_NUMBER=' + list.CAR_NUMBER + '&UNIT_ID=' + unit_id + '"'; 18313 } 18314 democarListHtml += ' class="key-color-3-text-' + c3txt + '">' + _btnText + '<img src="/assets/a/images/democar-exhibitioncar-0001/arrow/' + pageDesignId + '/' + c3txt + '.png" alt=""></a></div>'; 18315 } 18316 } else { 18317 democarListHtml += '<div class="democar-exhibition">å±ç¤ºè»ã®ã¿</div>'; 18318 } 18319 18320 18321 democarListHtml += '</div>'; // ./democar-list 18322 18323 18324 18325 18326 // ããã«è»ä¸¡è©³ç´°ç¨ã®ã¢ã¼ãã«ããã¹ãï¼free_commentï¼ãå ¥ã 18327 if (list.free_comment) { 18328 var freeComment = list.free_comment.replace(/\r?\n/g, '<br>') 18329 democarListHtml += '<div class="free_comment modal_text">' + freeComment + '</div>'; 18330 } 18331 18332 18333 if (list.detail1_image_url || list.detail2_image_url || list.detail3_image_url) { //ç»åURLã®ã¿è¿å´ãã夿°ã§æç¡ãã§ã㯠18334 // ããã«è»ä¸¡è©³ç´°ç¨ã®ã¢ã¼ãã«ã¹ã©ã¤ãç»åï¼detail[1~3]_fileï¼ãå ¥ã 18335 democarListHtml += '<div class="modal_slide"><ul class="modal_slide__list">'; 18336 //url,altãè¿å´ããobjãåç § 18337 if(list.detail1_file.url) democarListHtml += `<li class="modal_slide__item"><img alt="${list.detail1_file.alt}" src="${list.detail1_file.url}" /></li>`; 18338 if(list.detail2_file.url) democarListHtml += `<li class="modal_slide__item"><img alt="${list.detail2_file.alt}" src="${list.detail2_file.url}" /></li>`; 18339 if(list.detail3_file.url) democarListHtml += `<li class="modal_slide__item"><img alt="${list.detail3_file.alt}" src="${list.detail3_file.url}" /></li>`; 18340 democarListHtml += '</ul></div>'; 18341 } 18342 18343 democarListHtml += '</div>'; // ./democar-list-wrap 18344 18345 18346 insertTarget.append(democarListHtml); 18347 18348 var j = $(".democar-exhibitioncar-0001 .democar-name__pic img").length; 18349 var k = j - 1; //é åã®index 18350 // console.log(k); 18351 18352 18353 var image_check_type = $($(".democar-exhibitioncar-0001 .democar-name__pic")[k]).attr("data-image_check_type"); 18354 var $img_path_1 = $($(".democar-exhibitioncar-0001 .democar-name__pic img")[k]).attr("src"); 18355 // console.log($img_path_1); 18356 18357 18358 var $img_path_2; 18359 if ($($(".democar-exhibitioncar-0001 .democar-name__pic img")[k]).hasClass("sp-flg-w")) { 18360 18361 //ã¦ã§ã«ãã£ãã®åæãã¹ã«ç»åãç¡ãã£ãæã®ãã¹çæ 18362 var img_wrap = $($(".democar-exhibitioncar-0001 .democar-name__pic")[k]); 18363 generatePath(img_wrap); 18364 18365 18366 //å¦çãç¡ãããåæãã¹ãè¨å®ãã¦ãã 18367 $img_path_2 = $img_path_1; 18368 18369 } else { 18370 $img_path_2 = $img_path_1.substring(0, $img_path_1.lastIndexOf("_")) + ".png"; 18371 } 18372 // console.log($img_path_2); 18373 18374 18375 18376 // welcabæã®ç»åãã¹çæ 18377 var path_parts_array; 18378 var image_path_array; 18379 function generatePath(_obj) { 18380 18381 // var origin_image_path = $(".democar-name__pic img").attr("src"); 18382 // var generation_no = $(".democar-name__pic").attr("data-generation_no"); //ä¸ä»£ 18383 // var catalog_cd = $(".democar-name__pic").attr("data-catalog_cd"); //ã«ã¿ãã°ã³ã¼ã 18384 // var initial_catalog_cd_count = Number(catalog_cd); 18385 var origin_image_path = _obj.find("img").attr("src"); 18386 var generation_no = _obj.attr("data-generation_no"); //ä¸ä»£ 18387 var catalog_cd = _obj.attr("data-catalog_cd"); //ã«ã¿ãã°ã³ã¼ã 18388 var initial_catalog_cd_count = Number(catalog_cd); 18389 var remaining_generation_no_count = generation_no - 1;//åæã®ä¸ä»£çªå·ã®1ã¤å 18390 var max_catalog_cd = 40; 18391 18392 var count_num; //ãã¹ãã¿ã¼ã³ç·æ° 18393 if (remaining_generation_no_count >= 1) { 18394 count_num = max_catalog_cd + initial_catalog_cd_count; 18395 } else { 18396 count_num = initial_catalog_cd_count; 18397 } 18398 18399 18400 path_parts_array = []; 18401 image_path_array = []; 18402 18403 for (var i = 0; i < count_num; i++) { 18404 if (catalog_cd >= 1) { 18405 catalog_cd--; 18406 var parts_catalog_cd = catalog_cd + 1; 18407 18408 parts_catalog_cd = ("000" + parts_catalog_cd).slice(-3); 18409 path_parts_array.push(generation_no + "_" + parts_catalog_cd); 18410 18411 if (catalog_cd === 0) { 18412 catalog_cd = 40; 18413 generation_no--; 18414 generation_no = ("000" + generation_no).slice(-3); 18415 } 18416 } 18417 } 18418 18419 for (var j = 0; j < path_parts_array.length; j++) { 18420 var origin_path_split = origin_image_path.split("/"); 18421 var origin_path_split_length = origin_path_split.length; 18422 var change_target_path = origin_path_split[origin_path_split_length - 2]; 18423 var img_path = origin_image_path.replace(change_target_path, path_parts_array[j]); 18424 image_path_array.push(img_path); 18425 } 18426 18427 } 18428 18429 18430 // console.log(path_parts_array); 18431 // console.log(image_path_array); 18432 18433 18434 18435 18436 18437 18438 var $img_path_3; 18439 if ($($(".democar-exhibitioncar-0001 .democar-name__pic img")[k]).hasClass("sp-flg-w")) { 18440 // var src_split2 = $img_path_2.split("/"); 18441 // var _path_carname = src_split2[4]; 18442 var $img_path_3 = "https://toyota.jp/pages/contents/car_image/model/" + carname_en + "/car.png"; 18443 } else { 18444 var $img_path_parts = $img_path_1.substring(0, $img_path_1.lastIndexOf("/")); 18445 $img_path_3 = $img_path_parts.substring(0, $img_path_parts.lastIndexOf("/")) + "/car.png"; 18446 } 18447 // console.log($img_path_3); 18448 18449 18450 18451 18452 var $img_path_4 = "https://toyota.jp/pages/contents/include/common/image/tjp2016/parts/history_summary/no-result.png"; 18453 // console.log($img_path_4); 18454 18455 18456 18457 var imgobj; 18458 if (!$($(".democar-exhibitioncar-0001 .democar-name__pic img")[k]).hasClass("sp-flg-w")) { 18459 imgobj = [$img_path_1, $img_path_2, $img_path_3, $img_path_4]; 18460 } else { 18461 imgobj = [$img_path_1, image_path_array, $img_path_3, $img_path_4]; 18462 } 18463 18464 SetPromiseImage(imgobj, k, image_check_type); 18465 18466 18467 } 18468 18469 DMS.checkImage($(".unit-wrapper .unit-base .democar-exhibitioncar-0001")); 18470 18471 18472 $(".unit-wrapper .unit-base .democar-exhibitioncar-0001 .online-reserve a").click(function () { 18473 if ($("form").length > 0) { 18474 console.log($(this).attr("href")); 18475 $("form").attr("action", $(this).attr("href")); 18476 $("form").submit(); 18477 return false; 18478 } else { 18479 } 18480 18481 }); 18482 18483 18484 showModal(); 18485 18486 18487 } 18488 18489 18490 function SetPromiseImage(imgobj, index, check_type) { 18491 var d1 = new $.Deferred(); 18492 d1.resolve(); 18493 d1.promise() 18494 .then(function () { 18495 var d2 = new $.Deferred(); 18496 var image = new Image(); 18497 image.originSrc = imgobj[0]; 18498 $(image).on('load', function () { 18499 resultPath = $(this)[0]["originSrc"]; 18500 // resultPath = $(this).context.originSrc; 18501 if (check_type != 2) { 18502 $($(".democar-exhibitioncar-0001 .democar-name__pic img")[index]).attr("src", resultPath); 18503 18504 var addRsvParamHrefElm = $($(".democar-exhibitioncar-0001 .democar-name__pic")[index]).parent().parent().find(".online-reserve a"); 18505 $(addRsvParamHrefElm).attr('href', $(addRsvParamHrefElm).attr('href') + resultPath); 18506 } else { 18507 $($(".democar-exhibitioncar-0001 .democar-name__pic img")[index]).attr("src", resultPath).after('<span class="notes">â»åçã®ã¢ãã«ãã«ã©ã¼ã¯ãå®éã®è»ä¸¡ã¨ç°ãªãã¾ãã</span>'); 18508 18509 var addRsvParamHrefElm = $($(".democar-exhibitioncar-0001 .democar-name__pic")[index]).parent().parent().find(".online-reserve a"); 18510 $(addRsvParamHrefElm).attr('href', $(addRsvParamHrefElm).attr('href') + resultPath); 18511 } 18512 $(document).trigger("democarFrameUpdate"); 18513 }); 18514 18515 $(image).on('error', function () { 18516 d2.resolve(); 18517 }); 18518 image.src = imgobj[0]; 18519 18520 return d2; 18521 }) 18522 .then(function () { 18523 18524 if (check_type == 2) {//ã¦ã§ã«ãã£ãè»ã ã£ãæã®ç»åãã¼ã 18525 var d3 = new $.Deferred(); 18526 18527 var image_arry = imgobj[1]; 18528 var image_length = image_arry.length; 18529 var count = 0; 18530 18531 load(); 18532 18533 function load() { 18534 18535 var image2 = new Image(); 18536 var loadImageName = image_arry[count]; 18537 18538 image2.onload = function () { 18539 resultPath = $(this).context.src; 18540 $($(".democar-exhibitioncar-0001 .democar-name__pic img")[index]).attr("src", resultPath).after('<span class="notes">â»åçã®ã¢ãã«ãã«ã©ã¼ã¯ãå®éã®è»ä¸¡ã¨ç°ãªãã¾ãã</span>'); 18541 18542 var addRsvParamHrefElm = $($(".democar-exhibitioncar-0001 .democar-name__pic")[index]).parent().parent().find(".online-reserve a"); 18543 $(addRsvParamHrefElm).attr('href', $(addRsvParamHrefElm).attr('href') + resultPath); 18544 18545 $(document).trigger("democarFrameUpdate"); 18546 }; 18547 18548 image2.onerror = function () { 18549 count++; 18550 if (count >= image_length) {
18551 //é åã«èªã¿è¾¼ããç»åããªãã£ãã®ã§å¦çãæãã 18552 load_failure(); 18553 } else { 18554 load(); 18555 } 18556 }; 18557 image2.src = loadImageName; 18558 } 18559 18560 function load_failure() { 18561 d3.resolve(); 18562 } 18563 return d3; 18564 18565 18566 } else {//welcabè»ãããªãã£ãå ´åã®ç»åãã¼ã 18567 var d3 = new $.Deferred(); 18568 var image2 = new Image(); 18569 image2.originSrc = imgobj[1]; 18570 18571 $(image2).on('load', function () { 18572 resultPath = $(this)[0]["originSrc"]; 18573 // resultPath = $(this).context.originSrc; 18574 $($(".democar-exhibitioncar-0001 .democar-name__pic img")[index]).attr("src", resultPath); 18575 18576 var addRsvParamHrefElm = $($(".democar-exhibitioncar-0001 .democar-name__pic")[index]).parent().parent().find(".online-reserve a"); 18577 $(addRsvParamHrefElm).attr('href', $(addRsvParamHrefElm).attr('href') + resultPath); 18578 18579 $(document).trigger("democarFrameUpdate"); 18580 }); 18581 18582 $(image2).on('error', function () { 18583 // console.log('error'); 18584 d3.resolve(); 18585 }); 18586 18587 image2.src = imgobj[1]; 18588 18589 return d3; 18590 } 18591 }) 18592 .then(function () { 18593 var image3 = new Image(); 18594 image3.originSrc = imgobj[2]; 18595 18596 $(image3).on('load', function () { 18597 resultPath = $(this)[0]["originSrc"]; 18598 // resultPath = $(this).context.originSrc; 18599 18600 if (check_type != 2) { 18601 $($(".democar-exhibitioncar-0001 .democar-name__pic img")[index]).attr("src", resultPath).after('<span class="notes">â»ä»£è¡¨ã°ã¬ã¼ãï¼ã«ã©ã¼</span>'); 18602 18603 var addRsvParamHrefElm = $($(".democar-exhibitioncar-0001 .democar-name__pic")[index]).parent().parent().find(".online-reserve a"); 18604 $(addRsvParamHrefElm).attr('href', $(addRsvParamHrefElm).attr('href') + resultPath); 18605 18606 } else { 18607 $($(".democar-exhibitioncar-0001 .democar-name__pic img")[index]).attr("src", resultPath).after('<span class="notes">â»åçã®ã¢ãã«ãã«ã©ã¼ã¯ãå®éã®è»ä¸¡ã¨ç°ãªãã¾ãã</span>'); 18608 18609 var addRsvParamHrefElm = $($(".democar-exhibitioncar-0001 .democar-name__pic")[index]).parent().parent().find(".online-reserve a"); 18610 $(addRsvParamHrefElm).attr('href', $(addRsvParamHrefElm).attr('href') + resultPath); 18611 18612 } 18613 $(document).trigger("democarFrameUpdate"); 18614 }); 18615 18616 $(image3).on('error', function () { 18617 $($(".democar-exhibitioncar-0001 .democar-name__pic img")[index]).attr("src", imgobj[3]); 18618 18619 var addRsvParamHrefElm = $($(".democar-exhibitioncar-0001 .democar-name__pic")[index]).parent().parent().find(".online-reserve a"); 18620 $(addRsvParamHrefElm).attr('href', $(addRsvParamHrefElm).attr('href') + imgobj[3]); 18621 18622 18623 }); 18624 18625 image3.src = imgobj[2]; 18626 }) 18627 18628 } 18629 18630 18631 18632 18633 //ãªã¹ãã»ããã«é¸ææã®currentè¨å® 18634 function changeBntInitSetClass() { 18635 if ($(".unit-wrapper .unit-base .democar-exhibitioncar-0001").hasClass('democar-list-view')) { 18636 $(".unit-wrapper .unit-base .democar-exhibitioncar-0001 .view-change-btn.view-list").addClass('current'); 18637 } else { 18638 $(".unit-wrapper .unit-base .democar-exhibitioncar-0001 .view-change-btn.view-panel").addClass('current'); 18639 } 18640 } 18641 changeBntInitSetClass(); 18642 18643 //èªã¿è¾¼ã¿æã®ãã§ã¼ã 18644 function panelDelayDisplay() { 18645 var _target = $(".unit-wrapper .unit-base .democar-exhibitioncar-0001-wrap"); 18646 var $more_btn = $(".unit-wrapper .unit-base .democar-exhibitioncar-0001 .more-btn"); 18647 $more_btn.css({ "opacity": "0" }); 18648 setTimeout(function () { 18649 _target.animate({ 18650 opacity: "1" 18651 }); 18652 $more_btn.animate({ 18653 opacity: "1" 18654 }); 18655 }, 800); 18656 } 18657 panelDelayDisplay(); 18658 18659 18660 //è¡¨ç¤ºåæ¿ 18661 function viewChange() { 18662 var list_btn = $(".unit-wrapper .unit-base .democar-exhibitioncar-0001 .view-list"); 18663 var pabel_btn = $(".unit-wrapper .unit-base .democar-exhibitioncar-0001 .view-panel"); 18664 var _thisUnit = $(".unit-wrapper .unit-base .democar-exhibitioncar-0001"); 18665 list_btn.on("click", function () { 18666 if (!_thisUnit.hasClass('.democar-exhibitioncar-0001 democar-list-view')) { 18667 _thisUnit.removeClass('.democar-exhibitioncar-0001 democar-panel-view'); 18668 _thisUnit.addClass('.democar-exhibitioncar-0001 democar-list-view'); 18669 $(document).trigger("democarFrameUpdate"); 18670 } 18671 }); 18672 pabel_btn.on("click", function () { 18673 if (!_thisUnit.hasClass('.democar-exhibitioncar-0001 democar-panel-view')) { 18674 _thisUnit.removeClass('.democar-exhibitioncar-0001 democar-list-view'); 18675 _thisUnit.addClass('.democar-exhibitioncar-0001 democar-panel-view'); 18676 $(document).trigger("democarFrameUpdate"); 18677 } 18678 }); 18679 18680 } 18681 viewChange(); 18682 18683 18684 //è¡¨ç¤ºé¸æãã¿ã³ç»ååæ¿ 18685 function viewBtnChange() { 18686 if ($(".unit-wrapper .unit-base .democar-exhibitioncar-0001 .view-list").hasClass('current')) { 18687 $(".unit-wrapper .unit-base .democar-exhibitioncar-0001 .view-list img.bt_l_bg").attr('src', $(".unit-wrapper .unit-base .democar-exhibitioncar-0001 .view-list img.bt_l_bg").attr('src').replace(/--off/g, '--on')); 18688 } else { 18689 $(".unit-wrapper .unit-base .democar-exhibitioncar-0001 .view-list img.bt_l_bg").attr('src', $(".unit-wrapper .unit-base .democar-exhibitioncar-0001 .view-list img.bt_l_bg").attr('src').replace(/--on/g, '--off')); 18690 } 18691 18692 if ($(".unit-wrapper .unit-base .democar-exhibitioncar-0001 .view-panel").hasClass('current')) { 18693 $(".unit-wrapper .unit-base .democar-exhibitioncar-0001 .view-panel img.bt_r_bg").attr('src', $(".unit-wrapper .unit-base .democar-exhibitioncar-0001 .view-panel img.bt_r_bg").attr('src').replace(/--off/g, '--on')); 18694 } else { 18695 $(".unit-wrapper .unit-base .democar-exhibitioncar-0001 .view-panel img.bt_r_bg").attr('src', $(".unit-wrapper .unit-base .democar-exhibitioncar-0001 .view-panel img.bt_r_bg").attr('src').replace(/--on/g, '--off')); 18696 } 18697 18698 var _targetBtn = $(".unit-wrapper .unit-base .democar-exhibitioncar-0001 .view-change-box .view-change-btn"); 18699 _targetBtn.on("click", function () { 18700 18701 18702 var $this = $(this); 18703 if (!$this.hasClass('current')) { 18704 _targetBtn.removeClass('current'); 18705 $this.addClass('current'); 18706 } 18707 if ($(".unit-wrapper .unit-base .democar-exhibitioncar-0001 .view-list").hasClass('current')) { 18708 $(".unit-wrapper .unit-base .democar-exhibitioncar-0001 .view-list img.bt_l_bg").attr('src', $(".unit-wrapper .unit-base .democar-exhibitioncar-0001 .view-list img.bt_l_bg").attr('src').replace(/--off/g, '--on')); 18709 } else { 18710 $(".unit-wrapper .unit-base .democar-exhibitioncar-0001 .view-list img.bt_l_bg").attr('src', $(".unit-wrapper .unit-base .democar-exhibitioncar-0001 .view-list img.bt_l_bg").attr('src').replace(/--on/g, '--off')); 18711 } 18712 if ($(".unit-wrapper .unit-base .democar-exhibitioncar-0001 .view-panel").hasClass('current')) { 18713 $(".unit-wrapper .unit-base .democar-exhibitioncar-0001 .view-panel img.bt_r_bg").attr('src', $(".unit-wrapper .unit-base .democar-exhibitioncar-0001 .view-panel img.bt_r_bg").attr('src').replace(/--off/g, '--on')); 18714 } else { 18715 $(".unit-wrapper .unit-base .democar-exhibitioncar-0001 .view-panel img.bt_r_bg").attr('src', $(".unit-wrapper .unit-base .democar-exhibitioncar-0001 .view-panel img.bt_r_bg").attr('src').replace(/--on/g, '--off')); 18716 } 18717 }); 18718 } 18719 viewBtnChange(); 18720 18721 18722 18723 18724 //試ä¹äºç´ã¸ID追å 18725 // $(".unit-wrapper .unit-base .democar-exhibitioncar-0001").each(function (index, el) { 18726 // getUnitId($(this)); 18727 // }); 18728 18729 // function getUnitId(target) { 18730 // var unit_unique_id = target.parent().parent().attr("id"); 18731 18732 // var insertTarget = target.find(".democar-reserve a"); 18733 18734 // insertTarget.each(function () { 18735 // var initUrl = $(this).attr("href"); 18736 // var parmId = "&unit-wrapper_id=" + unit_unique_id;
18737 // var valid_url = initUrl + parmId; 18738 // $(this).attr("href", valid_url); 18739 // }); 18740 18741 // } 18742 18743 function addIframeClass() { 18744 18745 if ($('.democar-exhibitioncar-0001').parent(".unit-base").data("mode") == "iframe") { 18746 $(".democar-exhibitioncar-0001 .democar-store__info-name").addClass('iframe_link'); 18747 $(".democar-exhibitioncar-0001 .democar-store__info-name a").attr('target', '_blank'); 18748 $(".democar-exhibitioncar-0001 .democar-store__info-link").addClass('iframe_link'); 18749 $(".democar-exhibitioncar-0001 .democar-store__info-link a").attr('target', '_blank'); 18750 } 18751 } 18752 18753 18754 function keyInputDropDown() { 18755 var sizeDetect = $("#size-detect").css("font-family"); 18756 //loadæSPã ã£ãå ´åãkeyå ¥åã«ãããã«ãã¦ã³ãå®è¡ããªã 18757 if (sizeDetect != "sp") { 18758 $('.democar-exhibitioncar-0001 .sort-list-form .ui.dropdown').dropdown( 18759 { 18760 clearable: true, 18761 match: 'text', 18762 fullTextSearch: true, 18763 forceSelection: false, 18764 message: { 18765 noResults: '該å½è»ç¨®ã¯ããã¾ãã' 18766 } 18767 } 18768 ); 18769 18770 //resetãã¿ã³ãæ¼ããã¨ãã«è¡¨ç¤ºããã¦ããå¤ãclearãã 18771 $(".democar-exhibitioncar-0001 .sort-btn .btn-reset").on("click", function () { 18772 $(".democar-exhibitioncar-0001 .sort-list-form .ui.dropdown").dropdown("clear"); 18773 $(".democar-exhibitioncar-0001 .sort-list-form .dropdown.icon").removeClass("clear"); 18774 }); 18775 } else { 18776 $(".democar-exhibitioncar-0001 .sort-list-form .ui.dropdown .spHide").remove(); 18777 } 18778 18779 } 18780 18781 18782 18783 18784 18785 18786 18787 18788 18789 function showModal() { 18790 var _modalOpenBtn = $(".democar-exhibitioncar-0001 .democar-name__moreinfoBtn"); 18791 var close = $('.democar-exhibitioncar-0001 .modal-close'); 18792 var container = $('.democar-exhibitioncar-0001 .modal-container'); 18793 18794 _modalOpenBtn.off('click'); 18795 _modalOpenBtn.on("click", (e) => { 18796 var _target = e.currentTarget; 18797 //ã¯ãªãã¯ããè¦ç´ ã®ã¢ã¼ãã«ããã¹ããåå¾ 18798 var _modalText = $(_target).parents(".democar-list-wrap").find(".free_comment").html(); 18799 var _modalSlide = $(_target).parents(".democar-list-wrap").find(".modal_slide__list").html(); 18800 var _thisUnit = $(_target).parents(".democar-exhibitioncar-0001"); 18801 18802 18803 // ã³ã¡ã³ããç»é²ããã¦ããæ 18804 if (_modalText) { 18805 // ã¢ã¼ãã«ã«ããã¹ããçªã£è¾¼ã 18806 _thisUnit.find(".modal-content p").html(_modalText); 18807 _thisUnit.find(".modal-body").addClass("js-comment") 18808 } 18809 18810 18811 // 詳細ç»åãç»é²ããã¦ããæ 18812 if (_modalSlide) { 18813 _thisUnit.find(".modal-body").addClass("js-slide") 18814 _thisUnit.find(".modal-content .modal .slide").html(_modalSlide); 18815 } 18816 // container.addClass('active'); 18817 18818 //slickãã»ãã 18819 $('.slick').slick({ 18820 arrows: true, 18821 prevArrow: '<div class="slide-arrow prev-arrow"></div>', 18822 nextArrow: '<div class="slide-arrow next-arrow"></div>' 18823 }); 18824 18825 18826 container.fadeIn(200) 18827 $('html, body').css('overflow', 'hidden').addClass("showed-modal"); 18828 return false; 18829 }) 18830 //éãããã¿ã³ãã¯ãªãã¯ãããã¢ã¼ãã«ãéãã 18831 close.on('click', () => { 18832 18833 if (!$('html, body').hasClass("showed-modal")) return; 18834 18835 container.removeClass('active'); 18836 container.fadeOut(200, () => { 18837 _reset(); 18838 }) 18839 }); 18840 18841 //ã¢ã¼ãã«ã®å¤å´ãã¯ãªãã¯ãããã¢ã¼ãã«ãéãã 18842 $(document).on('click', function (e) { 18843 18844 if (!$('html, body').hasClass("showed-modal")) return; 18845 18846 if (!$(e.target).closest('.modal-body').length) { 18847 container.removeClass('active'); 18848 container.fadeOut(200, () => { 18849 _reset(); 18850 }) 18851 } 18852 }); 18853 18854 function _reset() { 18855 $(".democar-exhibitioncar-0001 .slick").slick('unslick'); 18856 $('html, body').css('overflow', 'visible'); 18857 $(".democar-exhibitioncar-0001 .modal-body").removeClass("js-comment"); 18858 $(".democar-exhibitioncar-0001 .modal-body").removeClass("js-slide"); 18859 $(".democar-exhibitioncar-0001 .modal-content p").html(""); 18860 $(".democar-exhibitioncar-0001 .modal-content .modal .slide").html(""); 18861 } 18862 18863 } 18864 18865 18866 // } 18867 } 18868 18869});$(function () { 18870 if ($(".unit-wrapper .unit-base .democar-exhibitioncar-0002").length > 0) { 18871 // åææé表示 18872 var window_height = $(window).height(); 18873 var democar_init_height = window_height * 0.5; 18874 var iframe_flg = false;
18875 18876 $(".unit-wrapper .unit-base .democar-exhibitioncar-0002").parent(".unit-base").css({ position: "relative" }); 18877 $(".unit-wrapper .unit-base .democar-exhibitioncar-0002").before('<div class="loading_democar"><img src="/assets/a/images/democar-exhibitioncar-0002/loading.png"></div>'); 18878 18879 $(".unit-wrapper .unit-base .democar-exhibitioncar-0002").css({ 18880 opacity: 0, 18881 height: democar_init_height, 18882 }); 18883 18884 if ($(".democar-exhibitioncar-0002").parent(".unit-base").data("mode") == "iframe") { 18885 18886 /** 18887 * iframeæã«showorderãURLãã©ã¡ã¼ã¿ããåå¾ 18888 * */ 18889 iframe_flg = true; 18890 var queryString = document.location.search; 18891 var params = new URLSearchParams(queryString); 18892 var paramValue = params.get('showorder'); 18893 18894 18895 var defWindowInfo = { 18896 width: 0, 18897 height: 0, 18898 isSizeUpdate: false, 18899 isContentsReady: false, 18900 dmsIframeFormMessage: true, 18901 isContentsLoad: false, //iframeå ã§ãã¼ã¸é·ç§»ãçºçããã¨ãã«æãã 18902 }; 18903 18904 var windowInfo = $.extend({}, defWindowInfo); 18905 windowInfo = $.extend({}, defWindowInfo); 18906 windowInfo.isContentsReady = true; 18907 18908 $(window).resize(function () { 18909 windowInfo = $.extend({}, defWindowInfo); 18910 windowInfo.width = $("body").width(); 18911 windowInfo.height = $("body").height(); 18912 windowInfo.isSizeUpdate = true; 18913 parent.postMessage(windowInfo, "*"); 18914 }); 18915 18916 $(document).on("democarFrameUpdate", function () { 18917 windowInfo = $.extend({}, defWindowInfo); 18918 windowInfo.width = $("body").width(); 18919 windowInfo.height = $("body").height(); 18920 windowInfo.isSizeUpdate = true; 18921 parent.postMessage(windowInfo, "*"); 18922 }); 18923 18924 window.onload = function () { 18925 windowInfo = $.extend({}, defWindowInfo); 18926 windowInfo.width = $("body").width(); 18927 windowInfo.height = $("body").height(); 18928 windowInfo.isSizeUpdate = true; 18929 windowInfo.isContentsLoad = true; 18930 parent.postMessage(windowInfo, "*"); 18931 }; 18932 } 18933 18934 // 試ä¹è»2æå¤å®æ¯ãåã 18935 var app_version = $(".unit-wrapper .unit-base .democar-exhibitioncar-0002").data("app_version"); 18936 18937 // ãã§ãã¯ããã¯ã¹ 18938 // function changeCheckBtn() { 18939 // var checkBtn = $(".unit-wrapper .unit-base .democar-exhibitioncar-0002 .sort-check-block .item-check"); 18940 // checkBtn.on("click", function () { 18941 // var $this = $(this); 18942 // if ($this.hasClass("active")) { 18943 // $this.removeClass("active"); 18944 // $this.removeClass($(".unit-wrapper .unit-base .democar-exhibitioncar-0002 .item-check").data("activeclass")); 18945 // } else { 18946 // $this.addClass("active"); 18947 // $this.addClass($(".unit-wrapper .unit-base .democar-exhibitioncar-0002 .item-check").data("activeclass")); 18948 // } 18949 // }); 18950 // } 18951 // changeCheckBtn(); 18952 18953 // domçæ 18954 var noracar_list; 18955 var client_id = $(".unit-wrapper .unit-base .democar-exhibitioncar-0002").data("client_id"); 18956 18957 // ç°å¢ãã¡ã¤ã³ 18958 var envId = $(".unit-wrapper .unit-base .democar-exhibitioncar-0002").data("env_id"); 18959 var envIdDomain; 18960 if (envId == "development") { 18961 envIdDomain = "https://api.eohp.bfp.co.jp"; 18962 } else if (envId == "staging") { 18963 envIdDomain = "https://stg.api.t-dms.jp"; 18964 } else if (envId == "checking") { 18965 envIdDomain = "https://api-chk.eohp.bfp.co.jp"; 18966 } else if (envId == "production") { 18967 envIdDomain = "https://api.t-dms.jp"; 18968 } else if (envId == "democar") { 18969 envIdDomain = "https://api-dem.eohp.bfp.co.jp"; 18970 } else if (envId == "holding") { 18971 envIdDomain = "https://api-tmt.eohp.bfp.co.jp"; 18972 } else if (envId == "staging2") { 18973 envIdDomain = "https://stg2.api.t-dms.jp"; 18974 } else if (envId == "recheck") { 18975 envIdDomain = "https://api-rec.eohp.bfp.co.jp"; 18976 } 18977 18978 function changeDataUrlParam() { 18979 var $wrap = $(".unit-wrapper .unit-base .democar-exhibitioncar-0002"); 18980 $(".unit-wrapper .unit-base .democar-exhibitioncar-0002 .sort-btn .btn-search").on("click", function () { 18981 // var series_seq = $(".unit-wrapper .unit-base .democar-exhibitioncar-0002 [name=carname]").val(); 18982 var input_car_name = $(".unit-wrapper .unit-base .democar-exhibitioncar-0002 [name=carname]").val(); 18983 var area = $(".unit-wrapper .unit-base .democar-exhibitioncar-0002 [name=area]").val(); 18984 var shop_id = $(".unit-wrapper .unit-base .democar-exhibitioncar-0002 [name=store]").val(); 18985 var show_welcab_type = $(".unit-wrapper .unit-base .democar-exhibitioncar-0002 [name=welcab]").val(); 18986 var demoFlg = $(".unit-wrapper .unit-base .democar-exhibitioncar-0002 [name=demoFlg]").val(); 18987 18988 $wrap.attr("data-input_car_name", input_car_name); 18989 $wrap.attr("data-area", area); 18990 $wrap.attr("data-shop_id", shop_id);
18991 $wrap.attr("data-show_welcab_type", show_welcab_type); 18992 $wrap.attr("data-demo_flg", demoFlg); 18993 }); 18994 18995 $(".unit-wrapper .unit-base .democar-exhibitioncar-0002 .sort-btn .btn-reset").on("click", function () { 18996 $(".unit-wrapper .unit-base .democar-exhibitioncar-0002 [name=carname]").val(""); 18997 $(".unit-wrapper .unit-base .democar-exhibitioncar-0002 [name=area]").val(""); 18998 $(".unit-wrapper .unit-base .democar-exhibitioncar-0002 [name=store]").val(""); 18999 $(".unit-wrapper .unit-base .democar-exhibitioncar-0002 [name=welcab]").val("2"); 19000 $(".unit-wrapper .unit-base .democar-exhibitioncar-0002 [name=demoFlg]").val("3"); 19001 19002 19003 $wrap.attr("data-input_car_name", ""); 19004 $wrap.attr("data-area", ""); 19005 $wrap.attr("data-shop_id", ""); 19006 $wrap.attr("data-show_welcab_type", "2"); 19007 $wrap.attr("data-demo_flg", "1"); 19008 // $(".sort-check-block .item-check").removeClass("active"); 19009 // $(".sort-check-block .item-check").removeClass($(".unit-wrapper .unit-base .democar-exhibitioncar-0002 .item-check").data("activeclass")); 19010 }); 19011 } 19012 changeDataUrlParam(); 19013 19014 function loadRequestUrl() { 19015 var $wrap = $(".unit-wrapper .unit-base .democar-exhibitioncar-0002"); 19016 var input_car_name = $wrap.data("input_car_name"); 19017 var area = $wrap.data("area"); 19018 var shop_id = $wrap.data("shop_id"); 19019 var show_welcab_type = $wrap.data("show_welcab_type"); 19020 var demoFlg = $wrap.data("demo_flg"); 19021 var limit = $wrap.data("limit"); 19022 var page = $wrap.attr("data-page"); 19023 var area_uri = encodeURIComponent(area); 19024 var showorder = iframe_flg ? paramValue : $wrap.data("showorder"); 19025 19026 var requestUrl = envIdDomain + "/democar/" + client_id + "/outmst?democar_showorder_id="+showorder+"&meta_shop_flg=1&car_name=" + input_car_name + "&area=" + area_uri + "&shop_id=" + shop_id + "&welcab_flg=" + show_welcab_type + "&democar_flg=" + demoFlg + "&limit=" + limit + "&page=" + page; 19027 loadDemoCar(requestUrl); 19028 } 19029 loadRequestUrl(); 19030 19031 function setRequestUrl() { 19032 var $wrap = $(".unit-wrapper .unit-base .democar-exhibitioncar-0002"); 19033 var $list_wrap = $(".unit-wrapper .unit-base .democar-exhibitioncar-0002 .democar-exhibitioncar-0002-wrap"); 19034 $(".unit-wrapper .unit-base .democar-exhibitioncar-0002 .sort-btn .btn-search").on("click", function () { 19035 $wrap.attr("data-page", "1"); 19036 var $more_btn = $(".unit-wrapper .unit-base .democar-exhibitioncar-0002 .more-btn"); 19037 $more_btn.css({ opacity: "0", display: "block" }); 19038 $list_wrap.css({ opacity: "0", display: "block" }); 19039 setTimeout(function () { 19040 $more_btn.animate({ opacity: "1" }, 300); 19041 $list_wrap.animate({ opacity: "1" }, 300); 19042 }, 200); 19043 19044 var car_list_dom = $(".unit-wrapper .unit-base .democar-exhibitioncar-0002 .democar-exhibitioncar-0002-wrap"); 19045 car_list_dom.empty(); 19046 19047 // var series_seq = $(".unit-wrapper .unit-base .democar-exhibitioncar-0002 [name=carname]").val(); 19048 var input_car_name = $(".unit-wrapper .unit-base .democar-exhibitioncar-0002 [name=carname]").val(); 19049 var area = $(".unit-wrapper .unit-base .democar-exhibitioncar-0002 [name=area]").val(); 19050 var shop_id = $(".unit-wrapper .unit-base .democar-exhibitioncar-0002 [name=store]").val(); 19051 var show_welcab_type = $(".unit-wrapper .unit-base .democar-exhibitioncar-0002 [name=welcab]").val(); 19052 var demoFlg = $(".unit-wrapper .unit-base .democar-exhibitioncar-0002 [name=demoFlg]").val(); 19053 var limit = $wrap.data("limit"); 19054 var page = $wrap.attr("data-page"); 19055 // var democar_flg = ""; 19056 // if ($(".unit-wrapper .unit-base .democar-exhibitioncar-0002 .sort-check-block .item-check").hasClass("active")) { 19057 // democar_flg = 1; 19058 // } 19059 var area_uri = encodeURIComponent(area); 19060 19061 var showorder = iframe_flg ? paramValue : $wrap.data("showorder"); 19062 19063 var requestUrl = envIdDomain + "/democar/" + client_id + "/outmst?democar_showorder_id="+showorder+"&meta_shop_flg=1&car_name=" + input_car_name + "&area=" + area_uri + "&shop_id=" + shop_id + "&welcab_flg=" + show_welcab_type + "&democar_flg=" + demoFlg + "&limit=" + limit + "&page=" + page; 19064 loadDemoCar(requestUrl); 19065 }); 19066 } 19067 setRequestUrl(); 19068 19069 function resetRequestUrl() { 19070 var $wrap = $(".unit-wrapper .unit-base .democar-exhibitioncar-0002"); 19071 var $list_wrap = $(".unit-wrapper .unit-base .democar-exhibitioncar-0002 .democar-exhibitioncar-0002-wrap"); 19072 $(".unit-wrapper .unit-base .democar-exhibitioncar-0002 .sort-btn .btn-reset").on("click", function () { 19073 $wrap.attr("data-page", "1"); 19074 var $more_btn = $(".unit-wrapper .unit-base .democar-exhibitioncar-0002 .more-btn"); 19075 // $more_btn.show(); 19076 $more_btn.css({ opacity: "0", display: "block" }); 19077 $list_wrap.css({ opacity: "0", display: "block" }); 19078 setTimeout(function () { 19079 $more_btn.animate({ opacity: "1" }, 300); 19080 $list_wrap.animate({ opacity: "1" }, 300); 19081 }, 200); 19082 19083 var limit = $wrap.data("limit"); 19084 var page = $wrap.attr("data-page");
19085 var show_welcab_type = $wrap.attr("data-show_welcab_type"); 19086 var car_list_dom = $(".unit-wrapper .unit-base .democar-exhibitioncar-0002 .democar-exhibitioncar-0002-wrap"); 19087 car_list_dom.empty(); 19088 19089 var showorder = iframe_flg ? paramValue : $wrap.data("showorder"); 19090 19091 var requestUrl = envIdDomain + "/democar/" + client_id + "/outmst?democar_showorder_id="+showorder+"&meta_shop_flg=1&welcab_flg=" + show_welcab_type + "&limit=" + limit + "&page=" + page; 19092 loadDemoCar(requestUrl); 19093 }); 19094 } 19095 resetRequestUrl(); 19096 19097 function loadMoreCaritem() { 19098 var $wrap = $(".unit-wrapper .unit-base .democar-exhibitioncar-0002"); 19099 var $more_btn = $(".unit-wrapper .unit-base .democar-exhibitioncar-0002 .more-btn"); 19100 $(".unit-wrapper .unit-base .democar-exhibitioncar-0002 .more-btn a").on("click", function () { 19101 var _page = $wrap.attr("data-page"); 19102 _page++; 19103 $wrap.attr("data-page", _page); 19104 19105 // var democar_flg = ""; 19106 // if ($(".sort-check-block .item-check").hasClass("active")) { 19107 // democar_flg = 1; 19108 // } 19109 19110 var total_car_num = $(".unit-wrapper .unit-base .democar-exhibitioncar-0002").attr("data-total_car_num"); 19111 // var series_seq = $(".unit-wrapper .unit-base .democar-exhibitioncar-0002").attr("data-series_seq"); 19112 var input_car_name = $(".unit-wrapper .unit-base .democar-exhibitioncar-0002 [name=carname]").val(); 19113 var area = $(".unit-wrapper .unit-base .democar-exhibitioncar-0002").attr("data-area"); 19114 var shop_id = $(".unit-wrapper .unit-base .democar-exhibitioncar-0002").attr("data-shop_id"); 19115 var show_welcab_type = $(".unit-wrapper .unit-base .democar-exhibitioncar-0002").attr("data-show_welcab_type"); 19116 var demoFlg = $(".unit-wrapper .unit-base .democar-exhibitioncar-0002 [name=demoFlg]").val(); 19117 var limit = $(".unit-wrapper .unit-base .democar-exhibitioncar-0002").data("limit"); 19118 var page_total = Math.ceil(total_car_num / limit); 19119 19120 var area_uri = encodeURIComponent(area); 19121 19122 var showorder = iframe_flg ? paramValue : $wrap.data("showorder"); 19123 19124 var requestUrl = envIdDomain + "/democar/" + client_id + "/outmst?democar_showorder_id="+showorder+"&meta_shop_flg=1&car_name=" + input_car_name + "&area=" + area_uri + "&shop_id=" + shop_id + "&welcab_flg=" + show_welcab_type + "&democar_flg=" + demoFlg + "&limit=" + limit + "&page=" + _page; 19125 19126 var load_completed_flg = false; 19127 if (page_total >= _page) { 19128 // $more_btn.show(); 19129 loadDemoCar(requestUrl); 19130 if (page_total == _page) { 19131 load_completed_flg = true; 19132 } 19133 } 19134 if (load_completed_flg) { 19135 $more_btn.hide(); 19136 } 19137 }); 19138 } 19139 loadMoreCaritem(); 19140 19141 var cnt = 0; 19142 var max = 1; 19143 19144 function loadDemoCar(_url) { 19145 $.ajax({ 19146 type: "GET", 19147 url: _url, 19148 xhrFields: { 19149 withCredentials: true, 19150 }, 19151 dataType: "json", 19152 timeout: 10000, 19153 success: function (noradata) { 19154 jsonLoaded(noradata); 19155 19156 if (initial_load()) { 19157 // setCarnamePullDown(json); 19158 keyInputDropDown(); 19159 } 19160 }, 19161 error: function (json) { 19162 $(".unit-wrapper .unit-base .loading_democar").remove(); 19163 $(".unit-wrapper .unit-base .democar-exhibitioncar-0002").before('<p class="error_text">æ å ±åå¾ã«å¤±æãã¾ãã</p>'); 19164 $(".unit-wrapper .unit-base .democar-exhibitioncar-0002").remove(); 19165 $(document).trigger("democarFrameUpdate"); 19166 }, 19167 }); 19168 } 19169 19170 function initial_load() { 19171 cnt++; 19172 if (cnt == max) { 19173 return true; 19174 } 19175 return false; 19176 } 19177 19178 // function setCarnamePullDown(data) { 19179 // console.log(data); 19180 // // var carSeq = $(".unit-wrapper .unit-base .democar-exhibitioncar-0002").data("series_seq"); 19181 // var car_name_list = []; 19182 // var car_name_list_origin = []; 19183 // for (var i = 0; i < data.democar_list.length; i++){ 19184 // var _carName = data.democar_list[i]["car_name"]; 19185 // car_name_list_origin.push(_carName); 19186 // } 19187 19188 // // console.log(car_name_list_origin); 19189 // // éè¤ãåé¤ãããªã¹ã 19190 // car_name_list = car_name_list_origin.filter(function (x, i, self) { 19191 // return self.indexOf(x) === i; 19192 // }); 19193 // // console.log(car_name_list); 19194 19195 // var carNamePullDownWrap = $(".unit-wrapper .unit-base .democar-exhibitioncar-0002 .sort-list .sort-carname"); 19196 // for (var i = 0; i < car_name_list.length; i++) { 19197 // var carPullDown = ""; 19198 // carPullDown += '<option value="' + car_name_list[i] + '">' + car_name_list[i] + '</option>'; 19199 19200 // // if (carSeq == car_name_list[i]["SERIES_SEQ"]) { 19201 // // carPullDown += '<option selected value="' + car_name_list[i]["SERIES_SEQ"] + '">' + car_name_list[i]["CAR_NAME"] + "</option>"; 19202 // // } else { 19203 // // carPullDown += '<option value="' + car_name_list[i]["SERIES_SEQ"] + '">' + car_name_list[i]["CAR_NAME"] + "</option>"; 19204 // // } 19205 // carNamePullDownWrap.append(carPullDown); 19206 // } 19207 // } 19208 19209 function jsonLoaded(noradata) { 19210 car_num = noradata.total; 19211 noracar_list = noradata.democar_list; 19212 var limit = $(".unit-wrapper .unit-base .democar-exhibitioncar-0002").data("limit"); 19213 // addIframeClass(); 19214 // car_name_list = data.car_name_list; 19215 // setDemocarListHtml(noracar_list); 19216 19217 var $more_btn = $(".unit-wrapper .unit-base .democar-exhibitioncar-0002 .more-btn"); 19218 19219 var cnt_flg = true; 19220 if (car_num <= limit) { 19221 $more_btn.hide(); 19222 cnt_flg = false;
19223 } 19224 19225 var $label = $(".unit-wrapper .unit-base .democar-exhibitioncar-0002 .headline--democar-list-view"); 19226 var $list_wrapper = $(".unit-wrapper .unit-base .democar-exhibitioncar-0002 .democar-exhibitioncar-0002-wrap"); 19227 var no_data_text = '<p class="error_text">鏿ãããæ¡ä»¶ã§æ²è¼ã§ããæ å ±ã¯ãããã¾ããã</p>'; 19228 $(".error_text").remove(); 19229 19230 if (car_num == "0") { 19231 $label.hide(); 19232 $list_wrapper.hide(); 19233 $(".unit-wrapper .unit-base .democar-exhibitioncar-0002 .sort-area-wrapper").append(no_data_text); 19234 } else { 19235 $label.show(); 19236 $list_wrapper.show(); 19237 $(".unit-wrapper .unit-base .democar-exhibitioncar-0002 .error_text").remove(); 19238 setDemocarListHtml(noracar_list); 19239 addIframeClass(); 19240 } 19241 19242 $(".unit-wrapper .unit-base .democar-exhibitioncar-0002").attr("data-total_car_num", car_num); 19243 $(".unit-wrapper .unit-base .democar-exhibitioncar-0002 .sort-count-info .sort-count .result").html(car_num); 19244 $(".unit-wrapper .unit-base .democar-exhibitioncar-0002").parent(".unit-base").css({ position: "static" }); 19245 $(".unit-wrapper .unit-base .loading_democar").remove(); 19246 $(".unit-wrapper .unit-base .democar-exhibitioncar-0002") 19247 .css({ 19248 height: "auto", 19249 }) 19250 .animate({ 19251 opacity: 1, 19252 }); 19253 $(document).trigger("democarFrameUpdate"); 19254 } 19255 19256 function setDemocarListHtml(noracar_list) { 19257 var insertTarget = $(".unit-wrapper .unit-base .democar-exhibitioncar-0002-wrap"); 19258 var c1txt = insertTarget.data("c1txt"); 19259 var c1bg = insertTarget.data("c1bg"); 19260 var c2bg = insertTarget.data("c2bg"); 19261 var c2txt = insertTarget.data("c2txt"); 19262 var c3bg = insertTarget.data("c3bg"); 19263 var c3txt = insertTarget.data("c3txt"); 19264 var c6txt = insertTarget.data("c6txt"); 19265 var pageDesignId = insertTarget.data("designid"); 19266 var unit_id = insertTarget.data("unitid"); 19267 var pageTitle = $("title").html(); 19268 var mode = $(".democar-exhibitioncar-0002").parent().data("mode"); 19269 19270 for (var i = 0; i < $(noracar_list).length; i++) { 19271 var _noralist = $(noracar_list)[i]; 19272 19273 // console.log(_noralist); 19274 19275 var engine_id_list = { 19276 1: "ã¬ã½ãªã³", 19277 2: "ãã£ã¼ã¼ã«", 19278 3: "ãã¤ããªãã", 19279 4: "FCEV", 19280 5: "PHEV", 19281 6: "BEV", 19282 9: "ãã®ä»", 19283 }; 19284 19285 var democar_flg = { 19286 1: "試ä¹è»", 19287 2: "å±ç¤ºè»", 19288 }; 19289 19290 var democar_flg_class = { 19291 1: "is-democar", 19292 2: "no-democar", 19293 }; 19294 19295 //image_url=nullæã®å¯¾å¿ 19296 var carname_en_origin = _noralist.CAR_NAME_EN; 19297 carname_en_origin = String(carname_en_origin); 19298 var carname_en = carname_en_origin.toLowerCase(); 19299 carname_en = carname_en.replace(/\s+/g, ""); 19300 19301 var democarListHtml = ""; 19302 19303 democarListHtml += '<div class="democar-list-wrap ' + democar_flg_class[_noralist.democar_flg] + ' boxheight-align-item" data-car="' + _noralist.car_name + '" data-area="' + _noralist.area + '" data-store="' + _noralist.shop_name + '" data-democar-flg="' + democar_flg[_noralist.democar_flg] + '">'; 19304 democarListHtml += '<div class="democar-list clearfix"><div class="democar-name clearfix boxheight-align-item-element"><div class="democar-name__text">'; 19305 19306 if (_noralist.car_name) { 19307 democarListHtml += '<div class="democar-name__text-main">' + _noralist.car_name + "</div>"; 19308 } else { 19309 democarListHtml += '<div class="democar-name__text-main">-</div>'; 19310 } 19311 19312 //ç·ææ°é 19313 if (_noralist.total_displacement) { 19314 var threshold = 660; //é¾å¤ 19315 var total_displacement_org = _noralist.total_displacement / 1000; 19316 if (_noralist.total_displacement > threshold) { 19317 var n = 1; // å°æ°ç¹ç¬¬nä½ã¾ã§æ®ã 19318 _total_displacement = (Math.round(total_displacement_org * Math.pow(10, n)) / Math.pow(10, n)).toFixed(1); 19319 } else { 19320 var n = 2; // å°æ°ç¹ç¬¬nä½ã¾ã§æ®ã 19321 _total_displacement = (Math.round(total_displacement_org * Math.pow(10, n)) / Math.pow(10, n)).toFixed(2); 19322 } 19323 } 19324 19325 //ããã«ã¬ã¤ã¢ã¦ãæ 19326 if (_noralist.drive_system_name) { 19327 democarListHtml += '<div class="democar-name__text-sub">' + _noralist.drive_system_name + " / "; 19328 } else { 19329 democarListHtml += '<div class="democar-name__text-sub">- / '; 19330 } 19331 19332 if (_noralist.total_displacement !== "0" && _noralist.total_displacement) { 19333 democarListHtml += _total_displacement + "L / "; 19334 } else { 19335 democarListHtml += '- / '; 19336 } 19337 19338 if (_noralist.ride_member) { 19339 democarListHtml += +_noralist.ride_member + "人ä¹ã</div></div>"; 19340 } else { 19341 democarListHtml += "-</div></div>"; 19342 } 19343 19344 // è»ç¨®ç»å 19345 // console.log(_noralist.car_file.url); 19346 if (_noralist.car_file.url === null || !_noralist.car_file.url) { 19347 democarListHtml += '<div class="democar-name__pic"><img class="" src="https://toyota.jp/pages/contents/include/common/image/tjp2016/parts/history_summary/no-result.png" alt="NO IMAGE"></div>'; 19348 } else { 19349 $img_url = _noralist.car_file.url; 19350 democarListHtml += '<div class="democar-name__pic" data-image_check_type="1"><img class="" src="' + _noralist.car_file.url + '" alt="' + _noralist.car_file.alt + '"></div>'; 19351 } 19352 19353 if (_noralist.free_comment) { 19354 democarListHtml += '<div class="democar-name__btnWrap">'; 19355 democarListHtml += '<div class="democar-name__moreinfoBtn key-color-2-text-' + c2txt + ' key-color-2-bg-' + c2bg + '">è»ä¸¡è©³ç´°<img src="/assets/a/images/democar-exhibitioncar-0001/arrow/' + pageDesignId + '/' + c2txt + '.png" alt=""></div>'; 19356 democarListHtml += '</div>'; 19357 } 19358 19359 19360 democarListHtml += '</div>'; // /.democar-name 19361 19362 19363 19364 19365 19366 19367 19368 democarListHtml += '<div class="democar-panel-wrap boxheight-align-item-element clearfix"><div class="democar-grade democar-panel">'; 19369 democarListHtml += '<p class="democar-item-name key-color-6-text-' + c6txt + '">ã°ã¬ã¼ã</p>'; 19370 19371 // ã°ã¬ã¼ãå 19372 if (!_noralist.grade_name || _noralist.grade_name === " ") { 19373 democarListHtml += '<p class="democar-item-text">-</p></div>'; 19374 } else { 19375 democarListHtml += '<p class="democar-item-text">' + _noralist.grade_name + "</p></div>"; 19376 } 19377 19378 democarListHtml += '<div class="democar-engin democar-panel sp">'; 19379 democarListHtml += '<p class="democar-item-name key-color-6-text-' + c6txt + '">ã¨ã³ã¸ã³ã¿ã¤ã<span>/é§åæ¹å¼</span></span><span class="show-panelLayout">
19379/ææ°é</span></p>'; 19380 19381 // ã¨ã³ã¸ã³ã¿ã¤ã/é§åæ¹å¼/ææ°é 19382 //EG_TYPEãå®ç¾©å¤ã®æ°å¤ã ã£ãå ´å 19383 if (!engine_id_list[_noralist.eg_type]) { 19384 engine_id_list[_noralist.eg_type] = "- "; 19385 } 19386 19387 /* ææ°éã0以å¤ã§å¤æç¡ãã§ã㯠*/ 19388 var list_total_displacement = (_noralist.total_displacement !== '0' && _noralist.total_displacement) ? _total_displacement + 'L' : "-"; 19389 19390 if (list_total_displacement) { 19391 //é§åæ¹å¼ã空ãããã¯null 19392 if ((_noralist.eg_type && _noralist.drive_system_name == null) || !_noralist.drive_system_name) { 19393 democarListHtml += '<p class="democar-item-text">' + engine_id_list[_noralist.eg_type] + '/<span> -</span><span class="show-listLayout">/' + list_total_displacement + '</span></p></div>'; 19394 //ã¨ã³ã¸ã³ã¿ã¤ãã空ãããã¯null 19395 } else if (_noralist.eg_type == null || (!_noralist.eg_type && _noralist.drive_system_name)) { 19396 democarListHtml += '<p class="democar-item-text">- /<span>' + _noralist.drive_system_name + '</span><span class="show-listLayout">/' + list_total_displacement + '</span></p></div>'; 19397 //ã¨ã³ã¸ã³ã¿ã¤ããé§åæ¹å¼ä¸¡æ¹ã空ãããã¯null 19398 } else if (_noralist.eg_type && _noralist.drive_system_name) { 19399 democarListHtml += '<p class="democar-item-text">' + engine_id_list[_noralist.eg_type] + '/<span>' + _noralist.drive_system_name + '</span><span class="show-listLayout">/' + list_total_displacement + '</span></p></div>'; 19400 } else { 19401 democarListHtml += '<p class="democar-item-text">-</p></div>'; 19402 } 19403 } else { 19404 //é§åæ¹å¼ã空ãããã¯null 19405 if ((_noralist.eg_type && _noralist.drive_system_name == null) || !_noralist.drive_system_name) { 19406 democarListHtml += '<p class="democar-item-text">' + engine_id_list[_noralist.eg_type] + '/<span> -</span></p></div>'; 19407 //ã¨ã³ã¸ã³ã¿ã¤ãã空ãããã¯null 19408 } else if (_noralist.eg_type == null || (!_noralist.eg_type && _noralist.drive_system_name)) { 19409 democarListHtml += '<p class="democar-item-text">- /<span>' + _noralist.drive_system_name + '</span></p></div>'; 19410 //ã¨ã³ã¸ã³ã¿ã¤ããé§åæ¹å¼ä¸¡æ¹ã空ãããã¯null 19411 } else if (_noralist.eg_type && _noralist.drive_system_name) { 19412 democarListHtml += '<p class="democar-item-text">' + engine_id_list[_noralist.eg_type] + '/<span>' + _noralist.drive_system_name + '</span></p></div>'; 19413 } else { 19414 democarListHtml += '<p class="democar-item-text">-</p></div>'; 19415 } 19416 } 19417 19418 democarListHtml += '<div class="democar-color democar-panel sp">'; 19419 19420 democarListHtml += '<p class="democar-item-name key-color-6-text-' + c6txt + '">ã«ã©ã¼</p>'; 19421 19422 // ã«ã©ã¼ 19423 if (_noralist.body_color) { 19424 democarListHtml += '<p class="democar-item-text">' + _noralist.body_color + "</p></div></div>"; 19425 } else { 19426 democarListHtml += '<p class="democar-item-text">-</p></div></div>'; 19427 } 19428 19429 democarListHtml += '<div class="democar-store clearfix boxheight-align-item-element"><div class="democar-store__info">'; 19430 19431 //shop_nameç©ºå¯¾å¿ 19432 if (!_noralist.shop_name) { 19433 _noralist.shop_name = "-"; 19434 } 19435 if (mode == "iframe") { 19436 if (_noralist.jp_shop_url) { 19437 democarListHtml += '<p class="democar-item-name2 key-color-6-text-' + c6txt + '">é ååºè</p>'; 19438 democarListHtml += '<p class="democar-store__info-name"><a href="' + _noralist.jp_shop_url + 'index.html">' + _noralist.shop_name + "</a></p>"; 19439 } else { 19440 democarListHtml += '<p class="democar-store__info-name">' + _noralist.shop_name + "</p>"; 19441 } 19442 } else { 19443 if (_noralist.shop_url != null && _noralist.shop_url) { 19444 democarListHtml += '<p class="democar-item-name2 key-color-6-text-' + c6txt + '">é ååºè</p>'; 19445 democarListHtml += '<p class="democar-store__info-name"><a href="' + _noralist.shop_url + '">' + _noralist.shop_name + "</a></p>"; 19446 } else { 19447 democarListHtml += '<p class="democar-store__info-name">' + _noralist.shop_name + "</p>"; 19448 } 19449 } 19450 19451 if (_noralist.shop_tel != "" && _noralist.shop_tel[0].tel_num != null) { 19452 democarListHtml += '<p class="democar-store__info-tel"><img src="/assets/a/images/democar-exhibitioncar-0002/icon/democar-store__info-tel-icon.png" alt=""><a href="tel:' + _noralist.shop_tel[0].tel_num + '" data-galabel="' + _noralist.shop_name + " : " + _noralist.shop_tel[0].tel_num + " ï¼" + pageTitle + '_試ä¹è»ã»å±ç¤ºè»ï¼ãã¼ã¿åç §ï¼ï¼">' + _noralist.shop_tel[0].tel_num + "</a></p>"; 19453 } else { 19454 democarListHtml += '<p class="democar-store__info-tel"> </p>'; 19455 } 19456 19457 if (_noralist.address) { 19458 democarListHtml += '<p class="democar-store__info-add">'; 19459 democarListHtml += '<img src="/assets/a/images/democar-exhibitioncar-0002/icon/democar-store__info-add-icon.png" alt="">' + _noralist.address + "</p>"; 19460 } 19461 19462 if (mode == "iframe") { 19463 if (_noralist.jp_shop_url) { 19464 democarListHtml += '<p class="democar-store__info-link key-color-1-text-' + c1txt + " key-color-1-bg-" + c1bg + '"><a href="' + _noralist.jp_shop_url + 'index.html">åºè詳細<img src="/assets/a/images/democar-exhibitioncar-0002/arrow/' + pageDesignId + "/" + c1txt + '.png" alt=""></a></p></div>'; 19465 } else { 19466 democarListHtml += "</div>"; 19467 } 19468 } else { 19469 if (_noralist.shop_url != null) { 19470 democarListHtml += '<p class="democar-store__info-link key-color-1-text-' + c1txt + " key-color-1-bg-" + c1bg + '"><a href="' + _noralist.shop_url + '">åºè詳細<img src="/assets/a/images/democar-exhibitioncar-0002/arrow/' + pageDesignId + "/" + c1txt + '.png" alt=""></a></p></div>'; 19471 } else { 19472 democarListHtml += "</div>"; 19473 } 19474 } 19475 19476 if (_noralist.shoplist_cms_file.url) { 19477 democarListHtml += '<div class="democar-store__pic"><img src="' + _noralist.shoplist_cms_file.url + '" alt=""></div></div>'; 19478 } else { 19479 democarListHtml += '<div class="democar-store__pic"></div></div>'; 19480 } 19481 19482 //試ä¹è»ã»å±ç¤ºè»ãã©ã° 19483 if (_noralist.democar_flg === "1") { 19484 //峿äºç´ãã¿ã³è¡¨ç¤ºå¶å¾¡ 19485 if (_noralist.online_reserve_flg === "1" && app_version >= 2) { 19486 democarListHtml += '<div class="online-reserve key-color-3-bg-' + c3bg + '">'; 19487 if (document.URL.match("/form_load/")) { 19488 democarListHtml += '<a href="/form_load/' + _noralist.client_id + '/onlinersv/?outmst=1&CAR_NUMBER=' + _noralist.car_number + '&IMAGE_PATH=' + _noralist.image_url + '"'; 19489 } else if (document.URL.match("/form/democarlist")) {
19490 democarListHtml += '<a href="/form/onlinersv?outmst=1&CAR_NUMBER=' + _noralist.car_number + '&IMAGE_PATH=' + _noralist.image_url + '"'; 19491 } else { 19492 democarListHtml += '<a href="/form/onlinersv?outmst=1&CAR_NUMBER=' + _noralist.car_number + "&UNIT_ID=" + unit_id + '&IMAGE_PATH=' + _noralist.image_url + '"'; 19493 } 19494 democarListHtml += ' class="key-color-3-text-' + c3txt + '">峿äºç´<img src="/assets/a/images/democar-exhibitioncar-0002/arrow/' + pageDesignId + "/" + c3txt + '.png" alt=""></a></div>'; 19495 } else { 19496 var _btnText = "ãªã¯ã¨ã¹ãäºç´"; 19497 if (app_version < 2) { 19498 _btnText = "試ä¹äºç´ãã"; 19499 } 19500 democarListHtml += '<div class="democar-reserve key-color-3-bg-' + c3bg + '">'; 19501 if (document.URL.match("/form_load/")) { 19502 democarListHtml += '<a href="/form_load/' + _noralist.client_id + "/democar/?outmst=1&CAR_NUMBER=" + _noralist.car_number + '"'; 19503 } else if (document.URL.match("/form/democarlist")) { 19504 democarListHtml += '<a href="/form/democar?outmst=1&CAR_NUMBER=' + _noralist.car_number + '"'; 19505 } else { 19506 democarListHtml += '<a href="/form/democar?outmst=1&CAR_NUMBER=' + _noralist.car_number + "&UNIT_ID=" + unit_id + '"'; 19507 } 19508 democarListHtml += ' class="key-color-3-text-' + c3txt + '">' + _btnText + '<img src="/assets/a/images/democar-exhibitioncar-0002/arrow/' + pageDesignId + "/" + c3txt + '.png" alt=""></a></div>'; 19509 } 19510 } else { 19511 democarListHtml += '<div class="democar-exhibition">å±ç¤ºè»ã®ã¿</div>'; 19512 } 19513 19514 democarListHtml += '</div>'; // ./democar-list 19515 19516 // ããã«è»ä¸¡è©³ç´°ç¨ã®ã¢ã¼ãã«ããã¹ãï¼free_commentï¼ãå ¥ã 19517 if (_noralist.free_comment) { 19518 var freeComment = _noralist.free_comment.replace(/\r?\n/g, '<br>') 19519 democarListHtml += '<div class="free_comment modal_text">' + freeComment + '</div>'; 19520 } 19521 19522 democarListHtml += '</div>'; // ./democar-list-wrap 19523 19524 19525 insertTarget.append(democarListHtml); 19526 19527 19528 19529 } 19530 19531 DMS.checkImage($(".unit-wrapper .unit-base .democar-exhibitioncar-0002")); 19532 19533 $(".unit-wrapper .unit-base .democar-exhibitioncar-0002 .online-reserve a").click(function () { 19534 if ($("form").length > 0) { 19535 console.log($(this).attr("href")); 19536 $("form").attr("action", $(this).attr("href")); 19537 $("form").submit(); 19538 return false; 19539 } else { 19540 } 19541 }); 19542 19543 19544 showModal(); 19545 19546 19547 } 19548 19549 19550 //ãªã¹ãã»ããã«é¸ææã®currentè¨å® 19551 function changeBntInitSetClass() { 19552 if ($(".unit-wrapper .unit-base .democar-exhibitioncar-0002").hasClass("democar-list-view")) { 19553 $(".unit-wrapper .unit-base .democar-exhibitioncar-0002 .view-change-btn.view-list").addClass("current"); 19554 } else { 19555 $(".unit-wrapper .unit-base .democar-exhibitioncar-0002 .view-change-btn.view-panel").addClass("current"); 19556 } 19557 } 19558 changeBntInitSetClass(); 19559 19560 //èªã¿è¾¼ã¿æã®ãã§ã¼ã 19561 function panelDelayDisplay() { 19562 var _target = $(".unit-wrapper .unit-base .democar-exhibitioncar-0002-wrap"); 19563 var $more_btn = $(".unit-wrapper .unit-base .democar-exhibitioncar-0002 .more-btn"); 19564 $more_btn.css({ opacity: "0" }); 19565 setTimeout(function () { 19566 _target.animate({ 19567 opacity: "1", 19568 }); 19569 $more_btn.animate({ 19570 opacity: "1", 19571 }); 19572 }, 800); 19573 } 19574 panelDelayDisplay(); 19575 19576 //è¡¨ç¤ºåæ¿ 19577 function viewChange() { 19578 var list_btn = $(".unit-wrapper .unit-base .democar-exhibitioncar-0002 .view-list"); 19579 var pabel_btn = $(".unit-wrapper .unit-base .democar-exhibitioncar-0002 .view-panel"); 19580 var _thisUnit = $(".unit-wrapper .unit-base .democar-exhibitioncar-0002"); 19581 list_btn.on("click", function () { 19582 if (!_thisUnit.hasClass(".democar-exhibitioncar-0002 democar-list-view")) { 19583 _thisUnit.removeClass(".democar-exhibitioncar-0002 democar-panel-view"); 19584 _thisUnit.addClass(".democar-exhibitioncar-0002 democar-list-view"); 19585 $(document).trigger(".democar-exhibitioncar-0002 democarFrameUpdate"); 19586 } 19587 }); 19588 pabel_btn.on("click", function () { 19589 if (!_thisUnit.hasClass(".democar-exhibitioncar-0002 democar-panel-view")) { 19590 _thisUnit.removeClass(".democar-exhibitioncar-0002 democar-list-view"); 19591 _thisUnit.addClass(".democar-exhibitioncar-0002 democar-panel-view"); 19592 $(document).trigger(".democar-exhibitioncar-0002 democarFrameUpdate"); 19593 } 19594 }); 19595 } 19596 viewChange(); 19597 19598 //è¡¨ç¤ºé¸æãã¿ã³ç»ååæ¿ 19599 function viewBtnChange() { 19600 if ($(".unit-wrapper .unit-base .democar-exhibitioncar-0002 .view-list").hasClass("current")) { 19601 $(".unit-wrapper .unit-base .democar-exhibitioncar-0002 .view-list img.bt_l_bg").attr("src", $(".unit-wrapper .unit-base .democar-exhibitioncar-0002 .view-list img.bt_l_bg").attr("src").replace(/--off/g, "--on")); 19602 } else { 19603 $(".unit-wrapper .unit-base .democar-exhibitioncar-0002 .view-list img.bt_l_bg").attr("src", $(".unit-wrapper .unit-base .democar-exhibitioncar-0002 .view-list img.bt_l_bg").attr("src").replace(/--on/g, "--off")); 19604 } 19605 19606 if ($(".unit-wrapper .unit-base .democar-exhibitioncar-0002 .view-panel").hasClass("current")) { 19607 $(".unit-wrapper .unit-base .democar-exhibitioncar-0002 .view-panel img.bt_r_bg").attr("src", $(".unit-wrapper .unit-base .democar-exhibitioncar-0002 .view-panel img.bt_r_bg").attr("src").replace(/--off/g, "--on")); 19608 } else { 19609 $(".unit-wrapper .unit-base .democar-exhibitioncar-0002 .view-panel img.bt_r_bg").attr("src", $(".unit-wrapper .unit-base .democar-exhibitioncar-0002 .view-panel img.bt_r_bg").attr("src").replace(/--on/g, "--off")); 19610 } 19611 19612 var _targetBtn = $(".unit-wrapper .unit-base .democar-exhibitioncar-0002 .view-change-box .view-change-btn"); 19613 _targetBtn.on("click", function () { 19614 var $this = $(this); 19615 if (!$this.hasClass("current")) { 19616 _targetBtn.removeClass("current"); 19617 $this.addClass("current"); 19618 } 19619 if ($(".unit-wrapper .unit-base .democar-exhibitioncar-0002 .view-list").hasClass("current")) { 19620 $(".unit-wrapper .unit-base .democar-exhibitioncar-0002 .view-list img.bt_l_bg").attr("src", $(".unit-wrapper .unit-base .democar-exhibitioncar-0002 .view-list img.bt_l_bg").attr("src").replace(/--off/g, "--on")); 19621 } else { 19622 $(".unit-wrapper .unit-base .democar-exhibitioncar-0002 .view-list img.bt_l_bg").attr("src", $(".unit-wrapper .unit-base .democar-exhibitioncar-0002 .view-list img.bt_l_bg").attr("src").replace(/--on/g, "--off")); 19623 } 19624 if ($(".unit-wrapper .unit-base .democar-exhibitioncar-0002 .view-panel").hasClass("current")) { 19625 $(".unit-wrapper .unit-base .democar-exhibitioncar-0002 .view-panel img.bt_r_bg").attr("src", $(".unit-wrapper .unit-base .democar-exhibitioncar-0002 .view-panel img.bt_r_bg").attr("src").replace(/--off/g, "--on")); 19626 } else { 19627 $(".unit-wrapper .unit-base .democar-exhibitioncar-0002 .view-panel img.bt_r_bg").attr("src", $(".unit-wrapper .unit-base .democar-exhibitioncar-0002 .view-panel img.bt_r_bg").attr("src").replace(/--on/g, "--off")); 19628 } 19629 }); 19630 } 19631 viewBtnChange(); 19632 19633 //試ä¹äºç´ã¸ID追å 19634 // $(".unit-wrapper .unit-base .democar-exhibitioncar-0002").each(function (index, el) { 19635 // getUnitId($(this)); 19636 // }); 19637 19638 // function getUnitId(target) { 19639 // var unit_unique_id = target.parent().parent().attr("id"); 19640 19641 // var insertTarget = target.find(".democar-reserve a"); 19642 19643 // insertTarget.each(function () { 19644 // var initUrl = $(this).attr("href"); 19645 // var parmId = "&unit-wrapper_id=" + unit_unique_id;
19646 // var valid_url = initUrl + parmId; 19647 // $(this).attr("href", valid_url); 19648 // }); 19649 19650 // } 19651 19652 function addIframeClass() { 19653 if ($(".democar-exhibitioncar-0002").parent(".unit-base").data("mode") == "iframe") { 19654 $(".democar-exhibitioncar-0002 .democar-store__info-name").addClass("iframe_link"); 19655 $(".democar-exhibitioncar-0002 .democar-store__info-name a").attr("target", "_blank"); 19656 $(".democar-exhibitioncar-0002 .democar-store__info-link").addClass("iframe_link"); 19657 $(".democar-exhibitioncar-0002 .democar-store__info-link a").attr("target", "_blank"); 19658 } 19659 } 19660 19661 function keyInputDropDown() { 19662 var sizeDetect = $("#size-detect").css("font-family"); 19663 //loadæSPã ã£ãå ´åãkeyå ¥åã«ãããã«ãã¦ã³ãå®è¡ããªã 19664 if (sizeDetect != "sp") { 19665 $(".democar-exhibitioncar-0002 .sort-list-form .ui.dropdown").dropdown({ 19666 clearable: true, 19667 match: "text", 19668 fullTextSearch: true, 19669 forceSelection: false, 19670 message: { 19671 noResults: "該å½è»ç¨®ã¯ããã¾ãã", 19672 }, 19673 }); 19674 19675 //resetãã¿ã³ãæ¼ããã¨ãã«è¡¨ç¤ºããã¦ããå¤ãclearãã 19676 $(".democar-exhibitioncar-0002 .sort-btn .btn-reset").on("click", function () { 19677 $(".democar-exhibitioncar-0002 .sort-list-form .ui.dropdown").dropdown("clear"); 19678 $(".democar-exhibitioncar-0002 .sort-list-form .dropdown.icon").removeClass("clear"); 19679 }); 19680 } else { 19681 $(".democar-exhibitioncar-0002 .sort-list-form .ui.dropdown .spHide").remove(); 19682 } 19683 } 19684 19685 function showModal() { 19686 var _modalOpenBtn = $(".democar-exhibitioncar-0002 .democar-name__moreinfoBtn");
19687 var close = $('.democar-exhibitioncar-0002 .modal-close'); 19688 var container = $('.democar-exhibitioncar-0002 .modal-container'); 19689 19690 _modalOpenBtn.off('click'); 19691 _modalOpenBtn.on("click", (e) => { 19692 var _target = e.currentTarget; 19693 //ã¯ãªãã¯ããè¦ç´ ã®ã¢ã¼ãã«ããã¹ããåå¾ 19694 var _modalText = $(_target).parents(".democar-list-wrap").find(".free_comment").html(); 19695 // ã¢ã¼ãã«ã«ããã¹ããçªã£è¾¼ã 19696 $(".democar-exhibitioncar-0002 .modal-content p").html(_modalText); 19697 // container.addClass('active'); 19698 container.fadeIn(200) 19699 $('html, body').css('overflow', 'hidden'); 19700 return false; 19701 }) 19702 //éãããã¿ã³ãã¯ãªãã¯ãããã¢ã¼ãã«ãéãã 19703 close.on('click', () => { 19704 container.removeClass('active'); 19705 container.fadeOut(200, () => { 19706 _reset(); 19707 }) 19708 }); 19709 19710 //ã¢ã¼ãã«ã®å¤å´ãã¯ãªãã¯ãããã¢ã¼ãã«ãéãã 19711 $(document).on('click', function (e) { 19712 if (!$(e.target).closest('.modal-body').length) { 19713 container.removeClass('active'); 19714 container.fadeOut(200, () => { 19715 _reset(); 19716 }) 19717 } 19718 }); 19719 19720 function _reset() { 19721 $('html, body').css('overflow', 'visible');
19722 $(".democar-exhibitioncar-0002 .modal-content p").html(""); 19723 } 19724 19725 } 19726 19727 19728 19729 19730 } 19731});$(function() { 19732 19733 var siteMapAvarage = function() { 19734 19735 this.block = $(".occ-footer-block"); 19736 this.blockLength = this.block.length; 19737 this.blockHeightAve = 0; 19738 19739 } 19740 19741 //ã«ã©ã æ¯ãåã 19742 siteMapAvarage.prototype.makeCol = function(column) { 19743 $(".occ-footer-block").hide(); 19744 $(".occ-footer-col").empty(); 19745 19746//console.log("makeCol "+column); 19747 var footerWrap = $(".occ-footer-sitemap-wrap"); 19748 19749 this.block.css("margin-bottom", 0); 19750 19751 footerWrap.append(this.block); 19752 19753 this.heightAve(column); 19754 19755 var _block_num = 0; 19756 var _target_block_num = 0; 19757 var _li_num = 0; 19758 var _append_mode = 0; // 0 - ul tag , 1- li tag 19759 var _blocks = $(".occ-footer-sitemap-wrap .occ-footer-block"); 19760 var _li_list; 19761 var footerCol = $(".occ-footer-col").eq(_target_block_num); 19762 var footerColUl; 19763 var _check_mode = true; 19764 var _check_count = 0; 19765 var _last_type; 19766 19767 var _appendFooterBlock = function() { 19768 var _element = _li_list[_li_num++]; 19769 //console.log($(_element).prop("outerHTML")); 19770 // footerColUl.append(_element); 19771 var _target_element = $($(_element).prop("outerHTML")); 19772 footerColUl.append(_target_element); 19773 _last_type = 1; // li tag 19774 _check_count++; 19775 if ($(_target_element).hasClass("occ-footer-title")) { 19776 _last_type = 2; // ul tag 19777 if (_block_num > 0) { 19778 if (column === 4) { 19779 _target_element.css("margin-top", 20); 19780 } else if (column === 3) { 19781 _target_element.css("margin-top", 20); 19782 } 19783 19784 if (_check_mode) { 19785 if (_check_count <= 6) { 19786 19787 var prevFooterCol = $(".occ-footer-col").eq(_target_block_num - 1); 19788 var prevFooterColUl = prevFooterCol.find(".occ-footer-block"); 19789 var _li_temp_list = $(footerColUl).find("li"); 19790 for (var i = 0; i < _li_temp_list.length - 1; i++) { 19791 prevFooterColUl.append(_li_temp_list[i]); 19792 } 19793 $(_li_temp_list[_li_temp_list.length - 1]).css("margin-top", ""); 19794 19795 } 19796 } 19797 19798 } 19799 _check_mode = false;
19800 19801 } 19802 19803 } 19804 19805 var _loop_flag = true; 19806 _li_list = $(_blocks[0]).find("li"); 19807 footerCol.append('<ul class="occ-footer-block" ></ul>'); 19808 footerColUl = footerCol.find(".occ-footer-block"); 19809 _check_mode = true; 19810 _check_count = 0; 19811 do { 19812 _appendFooterBlock(); 19813 //console.log("_block_num="+_block_num+" _li_num="+_li_num+" _h="+_h+" blockHeightAve="+this.blockHeightAve); 19814 var _h = $(footerCol).height(); 19815// console.log("_h="+_h+" "+this.blockHeightAve+" "+_target_block_num); 19816 if (_h > this.blockHeightAve && _target_block_num < column - 1) { 19817 if (_last_type == 2) { 19818 var _last_block_list = $(footerColUl).find("li"); 19819 var _last_block = _last_block_list[_last_block_list.length - 1]; 19820 // $(_last_block).css("margin-top", ""); 19821 } 19822//console.log("target next "+_last_type); 19823 _target_block_num++; 19824 var footerCol = $(".occ-footer-col").eq(_target_block_num); 19825 footerCol.append('<ul class="occ-footer-block" ></ul>'); 19826 footerColUl = footerCol.find(".occ-footer-block"); 19827 if (_last_type == 2) { 19828 $(footerColUl).append(_last_block); 19829 } 19830 _check_mode = true; 19831 _check_count = 0; 19832 } 19833 19834 if (_li_num > _li_list.length) { 19835 _block_num++; 19836 _li_list = $(_blocks[_block_num]).find("li"); 19837 _li_num = 0; 19838 if (_block_num > _blocks.length) { 19839 _loop_flag = false; 19840 } 19841 } 19842 } while (_loop_flag); 19843 19844 var footerCol = $(".occ-footer-col").eq(0); 19845 var footerColUl = footerCol.find(".occ-footer-block"); 19846 var _li_temp_list = $(footerColUl).find("li"); 19847 var _check_flag = false; 19848 var _title_count = 0; 19849 for (var i = 0; i < _li_temp_list.length; i++) { 19850 if ($(_li_temp_list[i]).hasClass("occ-footer-title")) { 19851 _title_count++; 19852 } 19853 } 19854 if (_title_count <= 1) { 19855 _check_flag = true; 19856 } 19857 19858 if (_check_flag && $(".occ-footer-col").eq(0).height() < $(".occ-footer-col").eq(1).height()) { 19859 var _target0_ul = $(".occ-footer-col").eq(0).find("ul"); 19860 var _target1_ul = $(".occ-footer-col").eq(1).find("ul"); 19861 var _target0 = $(".occ-footer-col").eq(0).find("li"); 19862 var _target1 = $(".occ-footer-col").eq(1).find("li"); 19863 var _count = 0; 19864 do { 19865 if ($(_target1[_count]).hasClass("occ-footer-title")) break; 19866 _target0_ul.append(_target1[_count++]); 19867 } while ($(".occ-footer-col").eq(0).height() < $(".occ-footer-col").eq(1).height()); 19868 } 19869 19870 for (var i = 0; i < column; i++) { 19871 var footerCol = $(".occ-footer-col").eq(i); 19872 var footerColUl = footerCol.find(".occ-footer-block"); 19873 var _li_temp_list = $(footerColUl).find("li"); 19874 if ($(_li_temp_list[0]).hasClass("occ-footer-title")) { 19875 $(_li_temp_list[0]).css("margin-top", ""); 19876 //console.log("margin none"); 19877 } 19878 } 19879 19880 } 19881 19882 19883 //ä¸ã¤ã®ã«ã©ã ã®é«ãã®å¹³å 19884 siteMapAvarage.prototype.heightAve = function(column) { 19885 19886 var _blocks = $(".occ-footer-sitemap-wrap .occ-footer-block"); 19887 var _total = 0; 19888 for (var i = 0; i < _blocks.length; i++) { 19889 var _h = $(_blocks[i]).height(); 19890//console.log(i+" _h="+_h) 19891 _total += _h; 19892 } 19893 var _mt = 48; 19894 if (column === 4) { 19895 _mt = 48; 19896 } else if (column === 3) { 19897 _mt = 20; 19898 } 19899 this.blockHeightAve = _total / column + _blocks.length * _mt / column; 19900//console.log("blockHeightAve="+_total+" "+this.blockHeightAve +" "+_blocks.length+" "+column); 19901 19902 return this.blockHeightAve; 19903 } 19904 19905 19906 siteMapAvarage.prototype.onResize = function() { 19907 19908 var that = this; 19909 19910 var pcFlag; 19911 var tabFlag; 19912 var spFlag; 19913 19914 var resizeMain = function() { 19915//console.log("flag "+pcFlag+" "+tabFlag+" "+spFlag); 19916//console.log("is "+that.isPC()+" "+that.isTAB()+" "+that.isSP()); 19917 if (that.isPC() && pcFlag != false) { 19918//console.log("resizeMain1"); 19919 pcFlag = false; 19920 //PCã®å¦ç 19921 19922 that.makeCol(4); 19923 $(".occ-footer-sitemap-list").removeClass("column-3").removeClass("column-1").addClass("column-4"); 19924 19925 tabFlag = true; 19926 spFlag = true; 19927 DMS.setClickTagListener($("footer .clicktag")); 19928 19929 } else if (that.isTAB() && tabFlag != false) { 19930//console.log("resizeMain2"); 19931 tabFlag = false; 19932 //tabã®å¦ç 19933 19934 that.makeCol(3); 19935 $(".occ-footer-sitemap-list").removeClass("column-4").removeClass("column-1").addClass("column-3"); 19936 19937 pcFlag = true; 19938 spFlag = true; 19939 DMS.setClickTagListener($("footer .clicktag")); 19940 19941 }
19941 else if (that.isSP() && spFlag != false) { 19942//console.log("resizeMain3"); 19943 spFlag = false; 19944 //spã®å¦ç 19945 $(".occ-footer-sitemap-list").removeClass("column-4").removeClass("column-3").addClass("column-1"); 19946 19947 pcFlag = true; 19948 tabFlag = true; 19949 DMS.setClickTagListener($("footer .clicktag")); 19950 } 19951//console.log("resizeMain"); 19952 } 19953 19954 $(window).on("load", resizeMain); 19955 $(window).resize(function() { 19956 resizeMain(); 19957 }); 19958 resizeMain(); 19959 19960 } 19961 19962 19963 //sizeå¤å¥ 19964 siteMapAvarage.prototype.isPC = function() { 19965 return $("#size-detect").css("fontFamily").indexOf("pc") != -1; 19966 } 19967 19968 siteMapAvarage.prototype.isTAB = function() { 19969 return $("#size-detect").css("fontFamily").indexOf("tab") != -1; 19970 } 19971 19972 siteMapAvarage.prototype.isSP = function() { 19973 return $("#size-detect").css("fontFamily").indexOf("sp") != -1; 19974 } 19975 19976 sitemap = new siteMapAvarage(); 19977 sitemap.onResize(); 19978 19979 19980 var closeFooterSiteMap = function(){ 19981 $(".occ-footer-sitemap-list").addClass("occ-footer-sitemap-close"); 19982 $(".occ-footer-sitemap-list").css("height","0px"); 19983 } 19984 var _last_device=""; 19985 var checkDevice = function(){ 19986 var _device = $("#size-detect").css("fontFamily"); 19987 if(_device.indexOf("sp") != -1){ 19988 if(_last_device != _device){ 19989 closeFooterSiteMap(); 19990 } 19991 }else{ 19992 $(".occ-footer-sitemap-list").css("height","auto"); 19993 } 19994 _last_device = _device; 19995 } 19996 $(".sp-button").click(function(){ 19997 if($(".occ-footer-sitemap-list").hasClass("occ-footer-sitemap-close")){ 19998 $(".occ-footer-sitemap-list").removeClass("occ-footer-sitemap-close"); 19999 $(".occ-footer-sitemap-list").css("height",$(".occ-footer-sitemap-wrap").outerHeight()+"px"); 20000 }else{ 20001 closeFooterSiteMap(); 20002 } 20003 }); 20004 20005 $(window).resize(function() { 20006 checkDevice(); 20007 }); 20008 checkDevice(); 20009 20010}); 20011 var DMS = DMS || {}; 20012$(function(){ 20013 Number.isNaN = Number.isNaN || function(value) { 20014 return typeof value === "number" && value !== value; 20015 } 20016 20017 DMS.isFormInputScene = function(el){return $(el).find('.form-scene--input').length > 0}; 20018 DMS.isFormConfirmScene = function(el){return $(el).find('.form-scene--confirm').length > 0}; 20019 DMS.isFormCompleteScene = function(el){return $(el).find('.form-scene--complete').length > 0}; 20020 DMS.isFormPreview = function(el){return $(el).data("form-p-mode")}; 20021 20022 function detectIOS(){ 20023 var ua = navigator.userAgent 20024 var isIOS = ua.indexOf("iPhone") >= 0 20025 || ua.indexOf("iPad") >= 0 20026 || navigator.userAgent.indexOf("iPod") >= 0; 20027 20028 return isIOS; 20029 } 20030 20031 DMS.parentWindowInfo = {}; 20032 20033 $('.form-0001').each(function(index, el) { 20034 if(detectIOS()){ 20035 $(el).addClass('form-ua-ios'); 20036 } 20037 if($(el).hasClass('form-mode-iframe')){ 20038 $('html').addClass('form-iframe'); 20039 } 20040 //è»ç¨®é¸æã®ã¨ããã ããã¼ã¸é·ç§»ããªãã®ã§jsã§ããã»ã¹ãåãæ¿ãã 20041 window.addEventListener("message", receiveMessage, false); 20042 function receiveMessage(e) 20043 { 20044 DMS.parentWindowInfo = e.data; 20045 $(document).trigger("parentWindowUpdate"); 20046 } 20047 20048 var container = $(el); 20049 var $processItem = container.find('.form-cmn-process__item'); 20050 var $processItemAfter = container.find('.form-cmn-process__arrow-after'); 20051 var activeId = container.find(".form-cmn-process__container").data('active'); 20052 var inactiveId = container.find(".form-cmn-process__container").data('inactive'); 20053 var inactiveTextColor = container.find('.form-cmn-process__container').data("inactive-text"); 20054 var activeColor = 'process-color-'+activeId; 20055 var inactiveColor = 'process-color-'+inactiveId; 20056 var activeText = container.find(".form-cmn-process__container").data('active-text'); 20057 20058 function resetProcessView(){ 20059 $processItem.addClass(inactiveTextColor); 20060 $processItem.addClass(inactiveColor); 20061 20062 $processItem.removeClass(activeColor); 20063 $processItem.removeClass(activeText); 20064 $processItemAfter.removeClass(activeColor); 20065 $processItemAfter.addClass(inactiveColor); 20066 } 20067 20068 DMS.formProcessUpdate = function(){ 20069 var type = container.find(".form-scene.current-scene").data("scene"); 20070 resetProcessView(); 20071 var $activeTarget = container.find(".form-cmn-process__item--"+type); 20072 $activeTarget.addClass(activeColor); 20073 $activeTarget.addClass(activeText); 20074 $activeTarget.removeClass(inactiveTextColor); 20075 $activeTarget.removeClass(inactiveColor); 20076 $activeTarget.find(".form-cmn-process__arrow-after").removeClass(inactiveColor); 20077 $activeTarget.find(".form-cmn-process__arrow-after").addClass(activeColor); 20078 } 20079 20080 if(container.find('.car-list-0001').length == 0){ 20081 container.find(".form-scene").addClass('current-scene'); 20082 } 20083 20084 DMS.formProcessUpdate(); 20085 20086 20087 if(isInlineframe()){ 20088 //iframeã§åãè¾¼ã¾ããæã«ã¯iframeå ã®ã¢ã³ã«ã¼å¦çããã¾ããããªãã±ã¼ã¹ãããã®ã§è¦ªã¨ã®ããã¨ãã§è§£æ±ºãã 20089 //ã¾ãã§ããéãã¹ã¯ãã¼ã«ãã¼ãè¦ããããªãããiframeã®é«ããã³ã³ãã³ãã®é«ãã«å¿ãã¦åçã«å¤æ´ãã 20090 20091 var defWindowInfo = { 20092 width:0, 20093 height:0, 20094 form_unitid:container.data("form_unitid"), 20095 isSizeUpdate:false, 20096 isContentsReady:false, 20097 isContentsLoad:false,//iframeå ã§ãã¼ã¸é·ç§»ãçºçããã¨ãã«æãã 20098 isAnchor:false,//ã¢ã³ã«ã¼ãªã³ã¯ãçºçããããã¨ãã«æãã 20099 anchorOffset:0,//ã¢ã³ã«ã¼ãªã³ã¯ã®iframeå ã§ã®ä½ç½® 20100 isIOS:detectIOS(), 20101 dmsIframeFormMessage:true 20102 } 20103 20104 var windowInfo = $.extend({},defWindowInfo); 20105 windowInfo = $.extend({},defWindowInfo); 20106 windowInfo.isContentsReady = true; 20107 20108 $(window).resize(function(){ 20109 windowInfo = $.extend({},defWindowInfo); 20110 windowInfo.width = $("body").width(); 20111 windowInfo.height = $("body").height(); 20112 windowInfo.isSizeUpdate = true; 20113 parent.postMessage(windowInfo,'*'); 20114 }) 20115 20116 $(document).on('formFrameUpdate',function(){ 20117 windowInfo = $.extend({},defWindowInfo); 20118 windowInfo.width = $("body").width(); 20119 windowInfo.height = $("body").height(); 20120 windowInfo.isSizeUpdate = true; 20121 parent.postMessage(windowInfo,'*'); 20122 }) 20123 20124 DMS.formScroll = function(offset){ 20125 windowInfo = $.extend({},defWindowInfo);
20126 windowInfo.anchorOffset = offset; 20127 windowInfo.isAnchor = true; 20128 windowInfo.width = $("body").width(); 20129 windowInfo.height = $("body").height(); 20130 parent.postMessage(windowInfo,'*'); 20131 20132 $(window).scrollTop(offset); 20133 } 20134 20135 window.onload = function(){ 20136 windowInfo = $.extend({},defWindowInfo); 20137 windowInfo.width = $("body").width(); 20138 windowInfo.height = $("body").height(); 20139 windowInfo.isSizeUpdate = true; 20140 windowInfo.isContentsLoad = true; 20141 parent.postMessage(windowInfo,'*'); 20142 } 20143 20144 20145 }else{ 20146 //iframeã§ã¯ãªãã¨ãã«ã¯é常ã®ã¹ã¯ãã¼ã«ããã 20147 DMS.formScroll = function(offset,isSkip){ 20148 var duration = 0; 20149 if(!isSkip){ 20150 duration = 300; 20151 } 20152 $('html,body').animate({ 20153 scrollTop:offset 20154 },duration); 20155 } 20156 } 20157 20158 function isInlineframe(){ 20159 //api.ã«ç´æ¥ã¢ã¯ã»ã¹ããå ´åã¯è¦ªãããªãç¶æ ã«ãªã 20160 return container.data("mode") != "normal" && window!=parent; 20161 } 20162 20163 DMS.isInlineframe = isInlineframe; 20164 20165 function getAPIUrl(mode){ 20166 var api; 20167 var _type = $(el).data("type"); 20168 if(_type == "onlinersv") { 20169 _type = "democar"; 20170 } 20171 if(mode == "normal"){ 20172 api = "//"+location.host+"/api/form/"+_type+"/save"; 20173 }else{ 20174 api = "//"+location.host+"/form_save/"+$(el).data("client")+"/"+_type; 20175 } 20176 return api; 20177 } 20178 DMS.getAPIUrl = getAPIUrl; 20179 20180 20181 }); 20182 20183 20184 var _form_scene_type = $('.form-scene').data("scene"); 20185 console.log("form_scene_type="+_form_scene_type); 20186 if(_form_scene_type && _form_scene_type == "complete"){ 20187 var _ga_action = window["ga_action"] ? window["ga_action"] : ""; 20188 var _ga_label = window["ga_label"] ? window["ga_label"] : ""; 20189 var _ga_category = window["ga_category"] ? window["ga_category"] : "link"; 20190 20191 if((typeof gtag).indexOf("undefined") < 0){ 20192 gtag("event", _ga_action, { event_category: _ga_category, event_label: _ga_label, non_interaction: true }); 20193 console.log("ga_action="+_ga_action); 20194 console.log("ga_label="+_ga_label); 20195 console.log("ga_category=" + _ga_category); 20196 20197 // ga('send', 'event', 'link', _ga_action, _ga_label, 1, { 'nonInteraction': 1 }); //æ§è¨è¿° 20198 20199 20200 } 20201 } 20202 20203}); jQuery(document).ready(function($) { 20204 var excludeOnetagList = [ 20205 "recruit" 20206 ]; 20207 20208 $('.form-0001').each(function(index, el) { 20209 if (!DMS.isFormConfirmScene(el)) return; 20210 20211 var container = $(el); 20212 var complete = container.find("form").data("complete"); 20213 var DMS_API = ""; 20214 var reportAgree = 0; 20215 var isShowReportModal = false; 20216 var fancyboxOption; 20217 var normalFancyboxOption = { 20218 helpers : { 20219 overlay : { 20220 closeClick: false 20221 } 20222 }, 20223 keys : { 20224 close: null 20225 } 20226 }; 20227 20228 var iframeFancyboxOptions = { 20229 autoCenter:false, 20230 topRatio: 0, 20231 margin: [200,0,0,0], 20232 helpers : { 20233 overlay : { 20234 closeClick: false 20235 } 20236 }, 20237 keys : { 20238 close: null 20239 } 20240 } 20241 20242 DMS_API = DMS.getAPIUrl($(el).data("mode")); 20243 20244 //ãããã販社ã®è¨å®ã§ã¬ãã¼ããåãå ¥ãããã©ãã 20245 var isCallOneTag = container.find(".form-scene--confirm").data('use_onetag'); 20246 20247 //é¤å¤ãªã¹ãã«å«ã¾ãã¦ãããã©ãã 20248 isCallOneTag = isCallOnetagFormType() ? isCallOneTag : 0; 20249/* 20250 if(DMS.isInlineframe()){ 20251 20252 $(document).on('parentWindowUpdate',function(e){ 20253 20254 fancyboxOption = iframeFancyboxOptions; 20255 showReportModal(); 20256 }) 20257 }else{ 20258 fancyboxOption = normalFancyboxOption; 20259 showReportModal(); 20260 } 20261*/ 20262 if(container.find('form').find("input[name=REPORT_AGREE]").length == 0){ 20263 $(el).find("form").append('<input name="REPORT_AGREE" type="hidden" value="
202630">'); 20264 } 20265 20266 function showReportModal(){ 20267 if(isShowReportModal) return; 20268 isShowReportModal = true; 20269 if(isCallOneTag == 1){ 20270 20271 //ãããã§ã«é¸æããã¦ããã表示ããªãã 20272 if(container.find('form').find("input[name=REPORT_AGREE]").length == 0){ 20273 20274 $.fancybox("#select-onetag",fancyboxOption); 20275 20276 $('.btn-select-onetag__ok a').on('click',function(){ 20277 reportAgree = 1; 20278 setReportAgreeValue(reportAgree); 20279 $.fancybox.close(); 20280 return false; 20281 }); 20282 20283 $('.btn-select-onetag__no a').on('click',function(){ 20284 reportAgree = 0; 20285 setReportAgreeValue(reportAgree); 20286 $.fancybox.close(); 20287 return false; 20288 }); 20289 } 20290 } 20291 } 20292 20293 20294 20295 $(document).on('click','.btn-select-error-ok a',function(e){ 20296 $.fancybox.close(); 20297 return false; 20298 }) 20299 20300 function isCallOnetagFormType(){ 20301 for (var i = 0; i < excludeOnetagList.length; i++) { 20302 if($(el).data("type") == excludeOnetagList[i]){ 20303 return false; 20304 } 20305 } 20306 return true; 20307 } 20308 20309 function setReportAgreeValue(value){ 20310 $(el).find("form").append('<input name="REPORT_AGREE" type="hidden" value="'+value+'">'); 20311 } 20312 20313 20314 function nextScene(){ 20315 container.find('form').attr("action",complete); 20316 container.find('form').submit(); 20317 } 20318 20319 20320 function errorShow(errorCode,errorMessage){ 20321 var message = ""; 20322 if(errorCode == 9999){ 20323 message = "äºæãã¬ã¨ã©ã¼ãçºçãã¾ããããã°ãããã¦ããããä¸åº¦ã試ããã ããã"; 20324 var _type = $(".form-0001").data("type"); 20325 if(_type == "onlinersv" || _type == "democar"){ 20326 message = "äºæãã¬ã¨ã©ã¼ãçºçãã¾ãããè»ç¨®é¸æã«æ»ãã¾ãã"; 20327 } 20328 20329 $(document).off('click','.btn-select-error-ok a'); 20330 $(document).on('click','.btn-select-error-ok a',function(e){ 20331 var _type = $(".form-0001").data("type"); 20332 if(_type == "onlinersv"){
20333 container.find('form').attr("action","/form/onlinersvlist");; 20334 container.find('form').submit(); 20335 }else if(_type == "democar"){ 20336 location.href="/form/democarlist/"; 20337 }else{ 20338 $.fancybox.close(); 20339 } 20340 return false; 20341 }); 20342 }else if(String(errorCode).substr(0,3) == "404"){ 20343 var btntype = 1; 20344 switch(errorCode){ 20345 case 401001: 20346 message = "ã»ãã·ã§ã³ã®æå¹æéãåãã¦ãã¾ããååº¦å ¥åãã¦ãã ããã"; 20347 break; 20348 case 404005: 20349 case 404010: 20350 message = "鏿ããã ããè»ä¸¡ã®æ å ±ã夿´ãããããäºç´ãã§ããªããªãã¾ããã大å¤ç³ã訳ãããã¾ãããè»ä¸¡ã®å鏿ããé¡ããããã¾ãã"; 20351 btntype = 2; 20352 break; 20353 case 404006: 20354 message = "è»ä¸¡ã®äºç´ã«å¤±æãã¾ããã"; 20355 btntype = 2; 20356 break; 20357 case 404007: 20358 message = "è»ä¸¡ãæå±ããåºèã®æ å ±ãããã¾ããã"; 20359 btntype = 2; 20360 break; 20361 case 404008: 20362 message = "å¸æã®æ¥æã®äºç´ã¯æ¢ã«åå¾ããã¦ãã¾ãã"; 20363 btntype = 3; 20364 break; 20365 case 404009: 20366 message = "å¸æã®æ¥æã®äºç´ã¯äºç´å¯è½æ°ãè¶ ãã¦ãã¾ãã"; 20367 btntype = 3; 20368 break; 20369 } 20370 $(document).off('click','.btn-select-error-ok a'); 20371 if(btntype == 3 || btntype == 2){ 20372 $(document).on('click','.btn-select-error-ok a',function(e){ 20373 if($(".form-0001").data("type") == "onlinersv"){ 20374 if(btntype == 2){ 20375 $('input[name="HOPE_DATE"]').remove(); 20376 $('input[name="HOPE_TIME"]').remove(); 20377 20378 20379 $('input[name="HOPE_STORE_ID"]').remove(); 20380 $('input[name="HOPE_STORE"]').remove(); 20381 $('input[name="HOPE_STORE_CD_DMS"]').remove(); 20382 20383 $('input[name="RESERVE_CAR"]').remove(); 20384 $('input[name="RESERVE_CAR_COLOR"]').remove(); 20385 $('input[name="RESERVE_CAR_GRADE"]').remove(); 20386 $('input[name="RESERVE_CAR_GRADE_NAME"]').remove(); 20387 $('input[name="RESERVE_CAR_DISPLACEMENT"]').remove(); 20388 $('input[name="RESERVE_CAR_SYSTEM"]').remove(); 20389 $('input[name="RESERVE_TRANSMISSION_TYPE_NAME"]').remove(); 20390 $('input[name="RESERVE_CAR_NUMBER"]').remove(); 20391 $('input[name="IMAGE_PATH"]').remove(); 20392 $('input[name="SEX"]').remove(); 20393 $('input[name="TOKEN"]').remove(); 20394 $('input[name="form_agreement"]').remove(); 20395 $('input[name="STORE_CD"]').remove(); 20396 $('input[name="CHANNEL_CD"]').remove(); 20397 $('input[name="democarlist_url"]').remove(); 20398 $('input[name="IS_ONLINE_RSV"]').remove(); 20399 $('input[name="IS_MOBILE"]').remove(); 20400 20401 if(location.pathname.indexOf("/form_load/") >= 0){ 20402 if($('input[name="outmst"]').val() == 1){ 20403 container.find('form').attr("action","/form_load/"+$(".form-0001").data("client")+"/onlinersvoutmst/list"+window.location.search); 20404 }else{ 20405 container.find('form').attr("action","/form_load/"+$(".form-0001").data("client")+"/onlinersv/list"+window.location.search); 20406 } 20407 }else{ 20408 if($('input[name="outmst"]').val() == 1){
20409 container.find('form').attr("action","/form/onlinersvoutmstlist");; 20410 }else{ 20411 container.find('form').attr("action","/form/onlinersvlist");; 20412 } 20413 } 20414 $('input[name="outmst"]').remove(); 20415 container.find('form').submit(); 20416 }else{ 20417 container.find('form').submit(); 20418 } 20419 }else{ 20420 if(location.pathname.indexOf("/form_load/") >= 0){ 20421 if($('input[name="outmst"]').val() == 1){ 20422 location.href="/form_load/"+$(".form-0001").data("client")+"/democaroutmst/list"+window.location.search; 20423 }else{ 20424 location.href="/form_load/"+$(".form-0001").data("client")+"/democar/list"+window.location.search; 20425 } 20426 }else{ 20427 if($('input[name="outmst"]').val() == 1){ 20428 location.href="/form/democaroutmstlist/"; 20429 }else{ 20430 location.href="/form/democarlist/"; 20431 } 20432 } 20433 } 20434 return false; 20435 }); 20436 }else{ 20437 $(document).on('click','.btn-select-error-ok a',function(e){ 20438 container.find('form').submit(); 20439 return false; 20440 }); 20441 } 20442 20443 }else{ 20444 switch(errorCode){ 20445 case 500001: 20446 message = "æ¥ç¶ã¨ã©ã¼ãçºçãã¾ããããã°ãããã¦ããããä¸åº¦ã試ããã ããã"; 20447 break; 20448 case 500002: 20449 message = "æ¥ç¶ã¨ã©ã¼ãçºçãã¾ããããã°ãããã¦ããããä¸åº¦ã試ããã ããã"; 20450 break; 20451 case 599999: 20452 message = "äºæãã¬ã¨ã©ã¼ãçºçãã¾ããããã°ãããã¦ããããä¸åº¦ã試ããã ããã"; 20453 break; 20454 default: 20455 message = "ã¨ã©ã¼ãçºçãã¾ããã"; 20456 console.log(errorCode,errorMessage); 20457 break; 20458 } 20459 } 20460 $('#error-message').text(message,{ 20461 helpers : { 20462 overlay : { 20463 closeClick: false 20464 } 20465 }, 20466 keys : { 20467 close: null 20468 } 20469 }); 20470 $.fancybox("#form-send-error"); 20471 } 20472 20473 setNextEvent(); 20474 20475 function setNextEvent(){ 20476 container.find('.form-btn-next').on('click',function(){ 20477 //é£æå¯¾å¿ 20478 container.find('.form-btn-next').off('click'); 20479 20480 if(DMS.isFormPreview(el) == 1){ 20481 nextScene(); 20482 return; 20483 } 20484 setStockService(); 20485 trimSendValue(); 20486 $("*[name=IMG_DATA_TMP_1]").prop('disabled', true); 20487 $("*[name=IMG_DATA_TMP_2]").prop('disabled', true); 20488 $("*[name=IMG_DATA_TMP_3]").prop('disabled', true); 20489 $.fancybox("#form-0001-loading",{ 20490 helpers : { 20491 overlay : { 20492 closeClick: false 20493 } 20494 }, 20495 keys : { 20496 close: null 20497 } 20498 }); 20499 20500 20501 var _serialize_obj = container.find("form").serialize().replace(/\+/g,'%20').split("&"); 20502 var _send_obj = []; 20503 for(var i=0;i<_serialize_obj.length;i++){ 20504 var _key_value_obj = _serialize_obj[i].split("="); 20505 _send_obj.push(_key_value_obj[0]+"="+encodeURIComponent(escapeHtml(decodeURIComponent(_key_value_obj[1]))) ); 20506 } 20507 20508 20509 var _type = $(".form-0001").data("type"); 20510 if(_type == "stock" && window["stock_service_setting_json"]){ 20511 if(stock_service_setting_json["service_select_type"]){ 20512 var _send_obj2 = []; 20513 var _service_short_label_ary = []; 20514 var _service_full_label_ary = []; 20515 if(stock_service_setting_json["service_select_type"] == 1 || true){ 20516 for(var i=0;i<_send_obj.length;i++){ 20517 var _flag = false; 20518 for(var j=0;j<50;j++){ 20519 var _chk_label = "SERVICE_NAME"+j; 20520 if(_send_obj[i].indexOf(_chk_label+"=") >= 0){ 20521 _flag = true; 20522 var _num = parseInt(_send_obj[i].split("=")[0].split("SERVICE_NAME")[1], 10); 20523 var _n1 = Math.floor(_num / 10)+1; 20524 var _n2 = (_num % 10)+1; 20525 if(_n1 == 5) _n1 = ""; 20526 _service_short_label_ary.push(stock_service_setting_json["service_any"+_n1+"_item"+_n2+"_short_label"]); 20527 _service_full_label_ary.push(stock_service_setting_json["service_any"+_n1+"_item"+_n2+"_label"]); 20528 break; 20529 } 20530 } 20531 if(!_flag){ 20532 _send_obj2.push(_send_obj[i]); 20533 } 20534 } 20535 if(_service_short_label_ary.length > 0){ 20536 _service_key_value = _service_short_label_ary.join("ã"); 20537 _service_full_key_value = _service_full_label_ary.join("ã"); 20538 _send_obj2.push("SERVICE_NAME="+encodeURIComponent(escapeHtml(_service_key_value)) ); 20539 _send_obj2.push("SERVICE_NAME_ORG="+encodeURIComponent(escapeHtml(_service_full_key_value)) ); 20540 }else{ 20541 _send_obj2.push("SERVICE_NAME=" ); 20542 _send_obj2.push("SERVICE_NAME_ORG=" ); 20543 } 20544 _send_obj = _send_obj2; 20545 20546 } 20547 } 20548 } 20549 20550 $.ajax({ 20551 url: DMS_API, 20552 type: 'POST', 20553 dataType: 'json', 20554 data:_send_obj.join("&") 20555 }) 20556 .done(function(data) { 20557 container.find("form").append('<input type="hidden" name="RESERVE_ID" value="'+data["RESERVE_ID"]+'">'); 20558 if(data["HOPE_STORE_CD_G"]){ 20559 container.find("form").append('<input type="hidden" name="HOPE_STORE_CD_G" value="'+data["HOPE_STORE_CD_G"]+'">'); 20560 } 20561 if(data["HOPE_STORE_CD"]){ 20562 container.find("form").append('<input type="hidden" name="HOPE_STORE_CD" value="'+data["HOPE_STORE_CD"]+'">'); 20563 } 20564 if(data["CLIENT_ID"]){
20565 $('input[name="STORE_CD"]').val(data["CLIENT_ID"]); 20566 } 20567 nextScene(); 20568 }) 20569 .fail(function(data, textStatus, errorThrown) { 20570 $.fancybox.close(); 20571 $("*[name=IMG_DATA_TMP_1]").prop('disabled', false); 20572 $("*[name=IMG_DATA_TMP_2]").prop('disabled', false); 20573 $("*[name=IMG_DATA_TMP_3]").prop('disabled', false); 20574 if(data["responseJSON"]){ 20575 errorShow(data["responseJSON"]["ERROR_CD"],data["responseJSON"]["ERROR_MSG"]); 20576 }else{ 20577 errorShow(9999,""); 20578 } 20579 setNextEvent(); 20580 console.log(data); 20581 console.log(textStatus); 20582 console.log(errorThrown); 20583 }) 20584 .always(function() { 20585 20586 }); 20587 20588 20589 return false; 20590 }); 20591 } 20592 20593 function escapeHtml(str) { 20594 str = str.replace(/&/g, '&'); 20595 str = str.replace(/</g, '<'); 20596 str = str.replace(/>/g, '>'); 20597 str = str.replace(/"/g, '"'); 20598 str = str.replace(/'/g, '''); 20599 return str; 20600 } 20601 20602 function setStockService(){ 20603 //ä¸è¨ä»¥å¤ã®ãµã¼ãã¹ã鏿ããã¦ããã service_name_otherã®ååãå¤ã¨ãã¦ä½¿ã 20604 if(DMS.service_other_label){ 20605 if($('input[name=SERVICE_NAME]').val() == DMS.service_other_label){ 20606 $('input[name=SERVICE_NAME]').val($('input[name=SERVICE_NAME_OTHER]').val()); 20607 } 20608 } 20609 } 20610 20611 //ãã¼ã¿é£åã®ãã®ãªã©ãã¡ãã§ããªãã¼ã·ã§ã³ã§ããªããã®ãæå¤§æåæ°ã§çç¥ãã 20612 //æ»ããã¿ã³ãããã¦ãã©ã£ãã¨ãã«å½±é¿ããªãããã«éä¿¡ããç´åã§å¦çããããªã 20613 function trimSendValue(){ 20614 if($('input[name=PAGE_URL]').length > 0){ 20615 $('input[name=PAGE_URL]').val(trimString($('input[name=PAGE_URL]').val(),100)); 20616 } 20617 20618 if($('input[name=PAGE_NAME]').length > 0){ 20619 $('input[name=PAGE_NAME]').val(trimString($('input[name=PAGE_NAME]').val(),100)); 20620 } 20621 20622 if($('input[name=UNIT_NAME]').length > 0){ 20623 $('input[name=UNIT_NAME]').val(trimString($('input[name=UNIT_NAME]').val(),100)); 20624 } 20625 20626 if($('input[name=RESERVE_CAR]').length > 0){ 20627 $('input[name=RESERVE_CAR]').val(trimString($('input[name=RESERVE_CAR]').val(),30)); 20628 } 20629 20630 if($('input[name=RESERVE_CAR_GRADE]').length > 0){ 20631 $('input[name=RESERVE_CAR_GRADE]').val(trimString($('input[name=RESERVE_CAR_GRADE]').val(),50)); 20632 } 20633 20634 if($('input[name=RESERVE_CAR_GRADE_NAME]').length > 0){ 20635 $('input[name=RESERVE_CAR_GRADE_NAME]').val(trimString($('input[name=RESERVE_CAR_GRADE_NAME]').val(),50)); 20636 } 20637 20638 if($('input[name=RESERVE_CAR_COLOR]').length > 0){ 20639 $('input[name=RESERVE_CAR_COLOR]').val(trimString($('input[name=RESERVE_CAR_COLOR]').val(),50)); 20640 } 20641 20642 if($('input[name=RESERVE_CAR_DISPLACEMENT]').length > 0){ 20643 $('input[name=RESERVE_CAR_DISPLACEMENT]').val(trimString($('input[name=RESERVE_CAR_DISPLACEMENT]').val(),20)); 20644 } 20645 20646 if($('input[name=RESERVE_CAR_SYSTEM]').length > 0){ 20647 $('input[name=RESERVE_CAR_SYSTEM]').val(trimString($('input[name=RESERVE_CAR_SYSTEM]').val(),20)); 20648 } 20649 20650 if($('input[name=RESERVE_TRANSMISSION_TYPE_NAME]').length > 0){ 20651 $('input[name=RESERVE_TRANSMISSION_TYPE_NAME]').val(trimString($('input[name=RESERVE_TRANSMISSION_TYPE_NAME]').val(),20)); 20652 } 20653 20654 if($('input[name=RESERVE_CAR_NUMBER]').length > 0){ 20655 $('input[name=RESERVE_CAR_NUMBER]').val(trimString($('input[name=RESERVE_CAR_NUMBER]').val(),20)); 20656 } 20657 20658 if($('input[name=SERVICE_NAME]').length > 0){ 20659 $('input[name=SERVICE_NAME]').val(trimString($('input[name=SERVICE_NAME]').val(),20)); 20660 } 20661 20662 } 20663 function trimString(str,max){ 20664 return String(str).substring(0,max); 20665 } 20666 }); 20667});var DMS = DMS || {}; 20668DMS.HOLIDAY = [101,102]; //å®ä¼æ¥ã³ã¼ã 20669DMS.RECRUIT_INFORM_KEY = "åã";//ãªã¯ã«ã¼ãã®é£çµ¡å ã®å ¥åå¨ããã§ãã¯ç¨ã®ãã¼ 20670$(function() { 20671 $('.form-0001').each(function(index, el) { 20672 20673 var fancyboxOption; 20674 var normalFancyboxOption = { 20675 helpers : { 20676 overlay : { 20677 closeClick: false 20678 } 20679 }, 20680 keys : { 20681 close: null 20682 } 20683 }; 20684 20685 var iframeFancyboxOptions = { 20686 autoCenter:false, 20687 topRatio: 0, 20688 margin: [200,0,0,0], 20689 helpers : { 20690 overlay : { 20691 closeClick: false 20692 } 20693 }, 20694 keys : { 20695 close: null 20696 } 20697 } 20698 20699 var form; 20700 20701 20702 20703 20704 if (!DMS.isFormInputScene(el)) return; 20705 20706 if(DMS.isFormPreview(el) != 1){ 20707 checkMaintainance(); 20708 } 20709 20710 //è»ç¨®é¸æã·ã¼ã³ãããå ´åã¯å¦çãåãã 20711 if ($(el).find('.car-list-0001').length > 0) { 20712 DMS.customEvent.addEventListner(DMS.customEvent.INIT_UNIT, function(){ 20713 DMS.BoxHeightAlign.update(); 20714 }); 20715 form = new DMS.FormHasCarselect($(el)); 20716 }else{ 20717 form = new DMS.Form($(el)); 20718 } 20719
20720 form.init(); 20721 form.initValidater(); 20722 form.initReplaceText(); 20723 20724 20725 var _shopname = decodeURI(DMS.getQuery("shop-name")); 20726 20727 //url query 20728 $('.form-input-container select[name="HOPE_STORE_ID"] option').each(function(a , b){ 20729 if(_shopname == $(b).text()){ 20730 _shopcode = $(b).attr("value"); 20731 $('.form-input-container select[name="HOPE_STORE_ID"]').val(_shopcode); 20732 return false; 20733 } 20734 }); 20735 20736 20737 form.initCheckDate(); 20738 form.initArea(); 20739 form.initCheckDateFirst(); 20740 form.initServiceCheckBox(); 20741 DMS.formProcessUpdate(); 20742 20743 //å ¨è§ã«ã¿ã«ããã§ã㯠20744 jQuery.validator.addMethod("katakana", function(value, element) { 20745 20746 return this.optional(element) || /^[ã¡-ã¾]+$/.test(value); 20747 }, "ã«ãã¯å ¨è§ã«ã¿ã«ãæåã§å ¥åãã¦ãã ããã"); 20748 20749 jQuery.validator.addMethod("requiredName1", function(value, element) { 20750 if($(element).parents(".form-cmn-name-container").find("input[name=NAME1_SEI]").val() != "" && $(element).val() == ""){ 20751 return false; 20752 } 20753 return true; 20754 }, "å§ãå ¥åãã¦ãã ããã"); 20755 20756 jQuery.validator.addMethod("requiredName2", function(value, element) { 20757 if($(element).parents(".form-cmn-name-container").find("input[name=NAME1_MEI]").val() != "" && $(element).val() == ""){ 20758 return false; 20759 } 20760 return true; 20761 }, "åãå ¥åãã¦ãã ãã1ã"); 20762 20763 jQuery.validator.addMethod("requiredName4", function(value, element) { 20764 if($(element).parents(".form-cmn-name-container").find("input[name=C_NAME_MEI]").val() != "" && $(element).val() == ""){ 20765 return false; 20766 } 20767 return true; 20768 }, "åãå ¥åãã¦ãã ããã"); 20769 jQuery.validator.addMethod("requiredName5", function(value, element) { 20770 var _viewnumber = $(element).parents(".form-cmn-section-wrapper").find(".form-cmn-section-button-remove").data("viewnumber"); 20771 var _num_str=""; 20772 if(_viewnumber){ 20773 _num_str = "_"+("00"+_viewnumber).substr(-2); 20774 } 20775 20776 if($(element).parents(".form-cmn-name-container").find("input[name=F_NAME_MEI"+_num_str+"]").val() != "" && $(element).val() == ""){ 20777 return false; 20778 } 20779 return true; 20780 }, "åãå ¥åãã¦ãã ããã"); 20781 20782 jQuery.validator.addMethod("requiredName6", function(value, element) { 20783 if($(element).parents(".form-cmn-name-container").find("input[name=C_NAME_SEI]").val() != "" && $(element).val() == ""){ 20784 return false; 20785 } 20786 return true; 20787 }, "å§ãå ¥åãã¦ãã ããã"); 20788 jQuery.validator.addMethod("requiredName7", function(value, element) { 20789 var _viewnumber = $(element).parents(".form-cmn-section-wrapper").find(".form-cmn-section-button-remove").data("viewnumber"); 20790 var _num_str=""; 20791 if(_viewnumber){ 20792 _num_str = "_"+("00"+_viewnumber).substr(-2); 20793 } 20794 if($(element).parents(".form-cmn-name-container").find("input[name=F_NAME_SEI"+_num_str+"]").val() != "" && $(element).val() == ""){ 20795 return false; 20796 } 20797 return true; 20798 }, "å§ãå ¥åãã¦ãã ããã"); 20799 20800 jQuery.validator.addMethod("requiredKana3", function(value, element) { 20801 if($(element).parents(".form-cmn-name-container").find("input[name=C_NAME_MEI_KANA]").val() != "" && $(element).val() == ""){ 20802 return false; 20803 } 20804 return true; 20805 }, "ã¡ã¤ãã«ã¿ã«ãã§å ¥åãã¦ãã ããã"); 20806 20807 jQuery.validator.addMethod("requiredKana4", function(value, element) { 20808 if($(element).parents(".form-cmn-name-container").find("input[name=C_NAME_SEI_KANA]").val() != "" && $(element).val() == ""){ 20809 return false; 20810 } 20811 return true; 20812 }, "ã»ã¤ãã«ã¿ã«ãã§å ¥åãã¦ãã ããã"); 20813 jQuery.validator.addMethod("requiredKana5", function(value, element) { 20814 var _viewnumber = $(element).parents(".form-cmn-section-wrapper").find(".form-cmn-section-button-remove").data("viewnumber"); 20815 var _num_str=""; 20816 if(_viewnumber){ 20817 _num_str = "_"+("00"+_viewnumber).substr(-2); 20818 } 20819 if($(element).parents(".form-cmn-name-container").find("input[name=F_NAME_MEI_KANA"+_num_str+"]").val() != "" && $(element).val() == ""){ 20820 return false;
20821 } 20822 return true; 20823 }, "ã¡ã¤ãã«ã¿ã«ãã§å ¥åãã¦ãã ããã"); 20824 20825 jQuery.validator.addMethod("requiredKana6", function(value, element) { 20826 var _viewnumber = $(element).parents(".form-cmn-section-wrapper").find(".form-cmn-section-button-remove").data("viewnumber"); 20827 var _num_str=""; 20828 if(_viewnumber){ 20829 _num_str = "_"+("00"+_viewnumber).substr(-2); 20830 } 20831 if($(element).parents(".form-cmn-name-container").find("input[name=F_NAME_SEI_KANA"+_num_str+"]").val() != "" && $(element).val() == ""){ 20832 return false; 20833 } 20834 return true; 20835 }, "ã»ã¤ãã«ã¿ã«ãã§å ¥åãã¦ãã ããã"); 20836 20837 20838 20839 20840 20841 20842 jQuery.validator.addMethod("requiredKana1", function(value, element) { 20843 if($(element).parents(".form-cmn-name-container").find("input[name=NAME2_SEI]").val() != "" && $(element).val() == ""){ 20844 return false; 20845 } 20846 return true; 20847 }, "ã¡ã¤ãã«ã¿ã«ãã§å ¥åãã¦ãã ããã"); 20848 20849 jQuery.validator.addMethod("requiredKana2", function(value, element) { 20850 if($(element).parents(".form-cmn-name-container").find("input[name=NAME2_MEI]").val() != "" && $(element).val() == ""){ 20851 return false; 20852 } 20853 return true; 20854 }, "ã»ã¤ãã«ã¿ã«ãã§å ¥åãã¦ãã ããã"); 20855 20856 20857 jQuery.validator.addMethod("prohibited", function(value, element) { 20858 if(/^$/.test(value)) return true; 20859 return /^[^â\"\'\,\?\t]+$/.test(value); 20860 }, "ãâãã\"ãã'ãã,ãã?ã TABã¯ã·ã¹ãã ç¦æ¢æåã§ãã"); 20861 20862 //utf-8ã«åå¨ãã¦sjisã«ãªãè¨èªãé¤å¤ãã 20863 jQuery.validator.addMethod("checkSjis", function(value, element) { 20864 if(ECL.pickupNotSJIS(String(value)).length == 0) return true; 20865 return false; 20866 }, function(params, element) { 20867 var notSjis = ECL.pickupNotSJIS(String($(element).val())); 20868 var notSjis = notSjis.filter(function (x, i, self) { 20869 return self.indexOf(x) === i; 20870 }); 20871 var str = ""; 20872 for (var i = 0; i < notSjis.length; i++) { 20873 str += "ã"+notSjis[i]+"ã"; 20874 } 20875 return str+'ã¯ã·ã¹ãã ç¦æ¢æåã§ãã'; 20876 }); 20877 20878 jQuery.validator.addMethod("recruit_tel", function(value, element) { 20879 20880 if(form.dom.find("input[name=RECRUIT_INFORM]").val().indexOf(DMS.RECRUIT_INFORM_KEY) > -1 ){ 20881 if(!isInputRecruitTel()){ 20882 if(!$(element).val()){ 20883 return false 20884 } 20885 } 20886 20887 //recruitContactValidate(); 20888 } 20889 return true; 20890 }, "é£çµ¡å ãå ¥åãã¦ãã ãã"); 20891 20892 jQuery.validator.addMethod("recruit_address", function(value, element) { 20893 20894 if(form.dom.find("input[name=RECRUIT_INFORM]").val().indexOf(DMS.RECRUIT_INFORM_KEY) > -1 ){ 20895 if(!isInputRecruitAddress()){ 20896 if(!$(element).val()){ 20897 return false 20898 } 20899 } 20900 20901 20902 //recruitContactValidate(); 20903 } 20904 return true; 20905 }, "é£çµ¡å ãå ¥åãã¦ãã ãã"); 20906 20907 jQuery.validator.addMethod("recruit_address", function(value, element) { 20908 20909 if(form.dom.find("input[name=RECRUIT_INFORM]").val().indexOf(DMS.RECRUIT_INFORM_KEY) > -1 ){ 20910 if(!isInputRecruitAddress()){ 20911 if(!$(element).val()){ 20912 return false 20913 } 20914 } 20915 20916 20917 //recruitContactValidate(); 20918 } 20919 return true; 20920 }, "é£çµ¡å ãå ¥åãã¦ãã ãã"); 20921 jQuery.validator.addMethod("service_name_all", function(value, element) { 20922 20923 var _result = $('input[name^="SERVICE_NAME"]:checked'); 20924 if(_result.length == 0){ 20925 return false;
20926 }else{ 20927 return true; 20928 } 20929 }, "ã叿ã®ãµã¼ãã¹ã鏿ãã¦ãã ããã"); 20930 20931 jQuery.validator.addClassRules("service_name_all", { 20932 "service_name_all": true 20933 }); 20934 20935 20936 20937 function recruitAddressValidate(){ 20938 form.dom.find('input[name=RECURUIT_ZIP]').valid(); 20939 form.dom.find('input[name=RECURUIT_PREF]').valid(); 20940 form.dom.find('input[name=RECURUIT_STREET]').valid(); 20941 20942 20943 } 20944 20945 function checkMaintainance(){ 20946 var api = DMS.getAPIUrl($(el).data("mode")); 20947 $.ajax({ 20948 url: api, 20949 type: 'POST', 20950 dataType: 'json', 20951 data:"" 20952 }) 20953 .done(function(data) { 20954 }) 20955 .fail(function(data, textStatus, errorThrown) { 20956 if(data){ 20957 if(data.status == 503){ 20958 showMaintainView(); 20959 } 20960 } 20961 20962 20963 }) 20964 .always(function() { 20965 20966 }); 20967 } 20968 20969 function showMaintainView(){ 20970 $('.form-0001-maintain').show(); 20971 $('.form-cmn-process').hide(); 20972 $('.form-scene').hide(); 20973 } 20974 20975 function recruitTelValidate(){ 20976 20977 form.dom.find('input[name=RECURUIT_TEL]').valid(); 20978 20979 } 20980 function isInputRecruitAddress(){ 20981 if(!form.dom.find('input[name=RECURUIT_ZIP]').val() && !form.dom.find('select[name=RECURUIT_PREF]').val() && !form.dom.find('select[name=RECURUIT_STREET]').val()){ 20982 return false; 20983 }else{ 20984 return true; 20985 } 20986 } 20987 20988 function isInputRecruitTel(){ 20989 if(!form.dom.find('input[name=RECURUIT_TEL]').val()){ 20990 return false; 20991 }else{ 20992 return true; 20993 } 20994 } 20995 20996 jQuery.validator.addMethod("email", function(value, element) { 20997 return this.optional( element ) || /^([a-z0-9_\-]+)(\.[a-z0-9_\-]+)*@([a-z0-9_\-]+\.)+[a-z]+$/.test( value ); 20998 }, "ã¡ã¼ã«ã¢ãã¬ã¹ã®å½¢å¼ã§å ¥åãã¦ãã ããã"); 20999 21000 jQuery.validator.addMethod("birthday", function(value, element) { 21001 if(form.dom.find("select[name=BIRTH_DATE_Y]").val() || form.dom.find("select[name=BIRTH_DATE_M]").val() || form.dom.find("select[name=BIRTH_DATE_D]").val()){ 21002 if(!$(element).val()){ 21003 return false 21004 } 21005 } 21006 return true; 21007 }, "çå¹´ææ¥ãå ¥åãã¦ãã ãã"); 21008 21009 jQuery.validator.addMethod("f_birthday", function(value, element) { 21010 var _number = $(element).parents(".form-cmn-section-wrapper").data("viewnumber"); 21011 var _suf = ""; 21012 if(_number){ 21013 _suf = "_"+("00"+_number).substr(-2); 21014 } 21015 21016 if(form.dom.find("select[name=F_BIRTH_DATE_Y"+_suf+"]").val() || form.dom.find("select[name=F_BIRTH_DATE_M"+_suf+"]").val() || form.dom.find("select[name=F_BIRTH_DATE_D"+_suf+"]").val()){ 21017 if(!$(element).val()){ 21018 return false 21019 } 21020 } 21021 return true; 21022 }, "çå¹´ææ¥ãå ¥åãã¦ãã ãã"); 21023 21024 jQuery.validator.addMethod("c_check_date", function(value, element) { 21025 if(form.dom.find("select[name=C_CHECK_DATE_Y]").val() || form.dom.find("select[name=C_CHECK_DATE_M]").val() || form.dom.find("select[name=C_CHECK_DATE_D]").val()){ 21026 if(!$(element).val()){ 21027 return false 21028 } 21029 } 21030 return true; 21031 }, "次åè»æ¤æ¥ã鏿ãã¦ãã ãã"); 21032 21033 jQuery.validator.addMethod("f_check_date", function(value, element) { 21034 var _number = $(element).parents(".form-cmn-section-wrapper").data("viewnumber"); 21035 var _suf = ""; 21036 if(_number){ 21037 _suf = "_"+("00"+_number).substr(-2); 21038 } 21039 21040 if(form.dom.find("select[name=F_CHECK_DATE_Y"+_suf+"]").val() || form.dom.find("select[name=F_CHECK_DATE_M"+_suf+"]").val() || form.dom.find("select[name=F_CHECK_DATE_D"+_suf+"]").val()){ 21041 if(!$(element).val()){ 21042 return false 21043 } 21044 } 21045 return true; 21046 }, "次åè»æ¤æ¥ã鏿ãã¦ãã ãã"); 21047 21048 jQuery.validator.addMethod("telseparate", function(value, element) { 21049 var container = $(element).parents(".form-input-container"); 21050 if(container.find(".tel-input:nth-child(1)").val() || container.find(".tel-input:nth-child(2)").val() || container.find(".tel-input:nth-child(3)").val()){ 21051 if(!$(element).val()){ 21052 return false 21053 } 21054 } 21055 return true; 21056 }, "é»è©±çªå·ãå ¥åãã¦ãã ãã"); 21057 21058 jQuery.validator.addMethod("tel2separate", function(value, element) { 21059 var container = $(element).parents(".form-input-container"); 21060 if(container.find(".tel-input:nth-child(1)").val() || container.find(".tel-input:nth-child(2)").val() || container.find(".tel-input:nth-child(3)").val()){ 21061 if(!$(element).val()){ 21062 return false 21063 } 21064 } 21065 return true; 21066 }, "é»è©±çªå·ï¼æºå¸¯ï¼ãå ¥åãã¦ãã ãã"); 21067 21068 21069 jQuery.validator.addMethod("telmax", function(value, element) { 21070 var container = $(element).parents(".form-input-container"); 21071 var len1 = $(container.find(".tel-input")[0]).val() ? String($(container.find(".tel-input")[0]).val()).length : 0; 21072 var len2 = $(container.find(".tel-input")[1]).val() ? String($(container.find(".tel-input")[1]).val()).length : 0; 21073 var len3 = $(container.find(".tel-input")[2]).val() ? String($(container.find(".tel-input")[2]).val()).length : 0; 21074 21075 if(len1+len2+len3 > 13){ 21076 if($(element).is($(container.find(".tel-input")[0]))){ 21077 return false 21078 } 21079 } 21080 return true; 21081 }, "é»è©±çªå·ã13æ¡ä»¥å ã§å ¥åãã¦ãã ãã"); 21082 jQuery.validator.addMethod("tel2max", function(value, element) { 21083 var container = $(element).parents(".form-input-container"); 21084 var len1 = $(container.find(".tel-input")[0]).val() ? String($(container.find(".tel-input")[0]).val()).length : 0; 21085 var len2 = $(container.find(".tel-input")[1]).val() ? String($(container.find(".tel-input")[1]).val()).length : 0; 21086 var len3 = $(container.find(".tel-input")[2]).val() ? String($(container.find(".tel-input")[2]).val()).length : 0; 21087 21088 if(len1+len2+len3 > 13){ 21089 if($(element).is($(container.find(".tel-input")[0]))){ 21090 return false 21091 } 21092 } 21093 return true; 21094 }, "é»è©±çªå·ï¼æºå¸¯ï¼ã13æ¡ä»¥å ã§å ¥åãã¦ãã ãã"); 21095 21096 //éµä¾¿çªå·ãã§ã㯠21097 jQuery.validator.addMethod("zipcode", function(value, element) { 21098 $(element).parents(".form-zip").find(".error-view .error").remove(); 21099 if (form.isSearchAdressFromZip) { 21100 //if (value == "") return false;
21101 } 21102 return this.optional(element) || /^[0-9]{3}[\-]?[0-9]{4}$/.test(value); 21103 }, "éµä¾¿çªå·ãæ£ããå ¥åãã¦ãã ããã"); 21104 21105 if($(".form-0001").data("type") == "onlinersv"){ 21106 var _obj = { 21107 "setDate": function( _val){ 21108 var _el = $('select[name="HOPE_DATE"]'); 21109 _el.find("option").remove(); 21110 if(_val != ""){ 21111 _el.append($('<option>').html(_val.substr(0,4)+"å¹´"+_val.substr(4,2)+"æ"+_val.substr(6,2)+"æ¥").val(_val)); 21112 } 21113 }, 21114 "setTime": function( _val){ 21115 var _el = $('select[name="HOPE_TIME"]'); 21116 _el.find("option").remove(); 21117 if(_val != ""){ 21118 _el.append($('<option>').html(_val.substr(0,2)+"æ"+_val.substr(2,2)+"å").val(_val)); 21119 } 21120 }, 21121 "defaultData":{ 21122 date:$("select[name='HOPE_DATE']").val(), 21123 time:$("select[name='HOPE_TIME']").val() 21124 }, 21125 "image_path":$('input[name="IMAGE_PATH"]').val(), 21126 "errorListener":function(_func){ 21127 DMS.onlineRsvUiErrorListener = _func; 21128 } 21129 21130 }; 21131 21132 DMS.onlineRsvUi(online_rsv_data, $(".online_rsv_ui"), _obj); 21133 } 21134 21135 21136 $(el).find(".form-cmn-button-add").click(function(){ 21137 21138 for(var i=9;i>=0;i--){ 21139 var _suffix_i = ""; 21140 if(i > 0){ 21141 _suffix_i = "-"+i; 21142 } 21143 var _familyset = $(".form-0001 .form-cmn-familyset"+_suffix_i); 21144 if(_familyset.length > 0){ 21145 if(_familyset.is(":visible")){ 21146 var _familyset = $(".form-0001 .form-cmn-familyset-"+(i+1)); 21147 _familyset.show(); 21148 21149 DMS.FormCommon.addFamilySetRule(_familyset); 21150 21151 21152 21153 if(i+1 >= 9){ 21154 $(this).hide(); 21155 } 21156 break; 21157 } 21158 } 21159 } 21160 }); 21161 21162 21163 21164 $(el).find(".form-cmn-section-button-remove").click(function(){ 21165 var _num = parseInt($(this).data("viewnumber"), 10); 21166 if(DMS.isInlineframe()){ 21167 $(document).on('parentWindowUpdate',function(e){ 21168 fancyboxOption = iframeFancyboxOptions; 21169 _last_num = _num 21170 showRemoveModal(); 21171 }) 21172 }else{ 21173 fancyboxOption = normalFancyboxOption; 21174 _last_num = _num 21175 showRemoveModal(); 21176 } 21177 }); 21178 21179 21180 var _type = $(el).data("type"); 21181 if(_type == "stock"){ 21182 $(el).find(".form-service input").change(function(){ 21183 var _count = 0; 21184 $(el).find(".form-service input").each(function(_index, _element){ 21185 var _v = $(_element).prop('checked'); 21186 if(_v) _count++; 21187 }); 21188 if(_count > 0){ 21189 $(".form-service .error-view label").addClass("valid").text(""); 21190 } 21191 }); 21192 } 21193 21194 function sortFamilySet(_num){ 21195 for(var i=9;i>=_num;i--){ 21196 var _lastset = $(".form-0001 .form-cmn-familyset-"+i); 21197 if(_lastset.is(":visible")){ 21198 _lastset.hide(); 21199 21200 DMS.FormCommon.removeFamilySetRule(_lastset); 21201 21202 21203 for(var j=_num;j<=9;j++){ 21204 var _el1 = $(".form-0001 .form-cmn-familyset-"+(j+1)); 21205 var _el2 = $(".form-0001 .form-cmn-familyset-"+j); 21206 DMS.FormCommon.copyAndClearFamilySet(_el1, _el2); 21207 } 21208 break; 21209 } 21210 } 21211 21212 for(var i=0;i<=9;i++){ 21213 var _suffix_i = ""; 21214 if(i > 0){ 21215 _suffix_i = "-"+i; 21216 } 21217 var _familyset = $(".form-0001 .form-cmn-familyset"+_suffix_i); 21218 var _el1_input = $(_familyset).find("input"); 21219 for(var j=0;j<_el1_input.length;j++){ 21220 var _type = $(_el1_input[j]).attr("type") ; 21221 if(_type == "text"){ 21222 if( $(_el1_input[j]).val() || $(_el1_input[j]).hasClass("error") ){ 21223 $(_el1_input[j]).valid(); 21224 } 21225 }else if(_type == "radio"){ 21226 if($(_el1_input[j]).prop('checked') || $(_el1_input[j]).hasClass("error") ){ 21227 $(_el1_input[j]).valid(); 21228 } 21229 } 21230 } 21231 var _el1_select = $(_familyset).find("select"); 21232 for(var j=0;j<_el1_select.length;j++){ 21233 if($(_el1_select[j]).val() || $(_el1_select[j]).hasClass("error") ){ 21234 $(_el1_select[j]).valid(); 21235 } 21236 } 21237 } 21238 21239 21240 $(".form-0001 .form-cmn-button-add").show(); 21241 } 21242 21243 21244 21245 function showRemoveModal(){ 21246 $.fancybox("#select-remove",fancyboxOption); 21247 } 21248 21249 if($(".form-0001").data("type") == "enquete"){ 21250 //modal button 21251 var _last_num = undefined; 21252 $('.btn-select-remove__yes div').on('click',function(){ 21253 sortFamilySet(_last_num); 21254 $.fancybox.close(); 21255 return false;
21256 }); 21257 21258 $('.btn-select-remove__cancel div').on('click',function(){ 21259 $.fancybox.close(); 21260 return false; 21261 }); 21262 21263 // 10人ç®ã¾ã§åæè¡¨ç¤ºãã¦ããå ´åã¯è¿½å ãã¿ã³ or å®¶ææ å ±ã»ããããªãå ´åãã¯è¡¨ç¤ºããªã 21264 if($(".form-cmn-familyset-9").is(":visible") || !$(".form-cmn-familyset").is(":visible")){ 21265 $(".form-0001 .form-cmn-button-add").hide(); 21266 } 21267 21268 var _el = $(".form-cmn-familyset"); 21269 for(var j=0;j<_el.length;j++){ 21270 var _target = $(_el[j]).find(".form-cmn-table__title"); 21271 for(var k=0;k<_target.length;k++){ 21272 $(_target[k]).append("<div class='form-cmn-table__number'>1人ç®</div>"); 21273 } 21274 } 21275 for(var i=1;i<=9;i++){ 21276 var _el = $(".form-cmn-familyset-"+i); 21277 //åæè¡¨ç¤ºç¶æ ã§å¤ãå ¥ã£ã¦ããå ´åã¯è¡¨ç¤ºï¼ç¢ºèªç»é¢ããæ»ãå ´åï¼ 21278 if(DMS.FormCommon.checkEmptyInFamilySet(_el)){ 21279 _el.show(); 21280 21281 DMS.FormCommon.addFamilySetRule(_el); 21282 21283 }else{ 21284 } 21285 for(var j=0;j<_el.length;j++){ 21286 var _target = $(_el[j]).find(".form-cmn-table__title"); 21287 //console.log("title "+i+" "+j+" "+_target.length); 21288 for(var k=0;k<_target.length;k++){ 21289 $(_target[k]).append("<div class='form-cmn-table__number'>"+($(_el[j]).data("viewnumber")+1)+"人ç®</div>"); 21290 } 21291 } 21292 } 21293 } 21294 21295 if(window["FORM_REST_DATA"] && typeof window["FORM_REST_DATA"] == "object"){ 21296 var _start_time = parseInt(window["FORM_REST_DATA"].START.replaceAll(":",""),10); 21297 var _end_time = parseInt(window["FORM_REST_DATA"].END.replaceAll(":",""),10); 21298 21299 function checkOptionTimeAndDisable(_name){ 21300 var _el = $("select[name="+_name+"]"); 21301 if(_el && $(_el).length){ 21302 var _option = $(_el).find("option"); 21303 // console.log(_option.length); 21304 for(var i=0;i<_option.length;i++){ 21305 var _value = $(_option[i]).attr("value"); 21306 // console.log(_value); 21307 if(_start_time <= _value && _value < _end_time){ 21308 // console.log("disabled"); 21309 $(_option[i]).attr("disabled", "disabled").attr("selected", false); 21310 } 21311 } 21312 } 21313 } 21314 21315 checkOptionTimeAndDisable("HOPE_TIME"); 21316 checkOptionTimeAndDisable("HOPE_TIME2"); 21317 checkOptionTimeAndDisable("HOPE_TIME3"); 21318 } 21319 }); 21320}); 21321 21322(function(global) { 21323 21324 function inherit(p) { 21325 if (p == null) throw TypeError(); 21326 if (Object.create) return Object.create(p); 21327 21328 var t = typeof p; 21329 if (t !== "object" && t !== "function") throw TypeError(); 21330 21331 function f() {}; 21332 f.prototype = p; 21333 return new f(); 21334 } 21335 21336 global.inherit = inherit; 21337 21338 21339 /* ========================================================= 21340 21341 Form 21342 21343 ========================================================= */ 21344 var Form = (function() { 21345 function Form(dom) { 21346 this.dom = dom; 21347 this.formObject = this.dom.find('.form'); 21348 this.isAgreement = false; 21349 this.isSearchAdressFromZip = false; 21350 this.nextButton = this.dom.find(".form-btn-next"); 21351 this.checkAgreement = this.dom.find("input[name=form_agreement]"); 21352 this.isSubmitActive = this.checkAgreement.prop("checked"); 21353 } 21354 21355 Form.prototype.init = function() { 21356 var that = this; 21357 21358 //次ã¸ãæ¼ããæ 21359 this.dom.find('.form-btn-next').on('click',function(){ 21360 if(!that.isSubmitActive) return false; 21361 if(that.formObject.valid()){ 21362 if($(".form-0001").data("type") == "enquete"){ 21363 DMS.FormCommon.removeAndSortFamilySet(); 21364 } 21365 that.formObject[0].submit(); 21366 } 21367 return false; 21368 }); 21369 21370 if(this.dom.find('input[name=RECRUIT_INFORM]').length > 0){ 21371 that.checkRecruitContact(this.dom.find('input[name=RECRUIT_INFORM]:checked').val()); 21372 21373 this.dom.find('input[name=RECRUIT_INFORM]').on('change',function(e){ 21374 that.checkRecruitContact($(this).val()); 21375 }); 21376 } 21377 21378 if(this.dom.find('input[name=img_placeholder]').length > 0){ 21379 this.dom.find('input[name=img_placeholder]').on('change',function(e){ 21380 var previewArea = $(this).parents(".form-cmn-img-upload").find(".form-cmn-img-preview"); 21381 var hidden = $(this).parents(".form-cmn-img-upload").find(".form-cmn-img-value"); 21382 var file = this.files[0]; 21383 var img = new Image(); 21384 var preview = new Image(); 21385 var reader = new FileReader(); 21386 var labelButton = $(this).parents(".form-cmn-img-upload").find("label.select-image"); 21387 var deleteButton = $(this).parents(".form-cmn-img-upload").find("div.delete-button"); 21388 $(this).parents(".form-cmn-img-upload").find(".error-view").empty(); 21389 var _file_prop = $(this).prop('files')[0]; 21390 21391 21392 if(_file_prop["size"] > 10485760){ 21393 // size check 21394 $(this).val(''); 21395 deleteButton.hide(); 21396 $(this).parents(".form-cmn-img-upload").find(".error-view").append('<label class="error" >容éã10MB以å ã®ç»åã鏿ãã¦ãã ããã</label>'); 21397 return; 21398 } 21399 if (! file.type.match('image.*') ) { 21400 // image check 21401 $(this).val(''); 21402 deleteButton.hide(); 21403 $(this).parents(".form-cmn-img-upload").find(".error-view").append('<label class="error" >jpg,png,gifã®ããããã鏿ãã¦ãã ããã</label>'); 21404 return; 21405 }else if(file.type != "image/jpeg" && file.type != "image/gif" && file.type != "image/png" ) { 21406 $(this).val(''); 21407 deleteButton.hide(); 21408 $(this).parents(".form-cmn-img-upload").find(".error-view").append('<label class="error" >jpg,png,gifã®ããããã鏿ãã¦ãã ããã</label>'); 21409 return; 21410 } 21411 reader.addEventListener("load", function () { 21412 21413 var target_size = 2560; 21414 var image = new Image(); 21415 image.onload = function(){ 21416 21417 var _ret = EXIF.getData(image, function() { 21418 var _tags = EXIF.getAllTags(this); 21419 var _orientation = 1; 21420 21421 if(_tags["Orientation"]){ 21422 _orientation = _tags["Orientation"]; 21423 }else{ 21424 } 21425 21426 21427 var m_canvas = document.createElement('canvas'); 21428 var _w; 21429 var _h; 21430 if(image.width < target_size && image.height < target_size){ 21431 _w = image.width; 21432 _h = image.height; 21433 }else{ 21434 if(image.width > image.height){ 21435 var _w = target_size; 21436 var _h = image.height / image.width * target_size; 21437 }else{ 21438 var _w = image.width / image.height * target_size; 21439 var _h = target_size; 21440 } 21441 } 21442 21443 var ctx = m_canvas.getContext("2d"); 21444 ctx.save(); 21445 switch(_orientation){ 21446 case 2: 21447 m_canvas.width = _w; 21448 m_canvas.height = _h; 21449 ctx.transform(-1,0,0,1,_w,0); // æ°´å¹³å転 21450 ctx.drawImage(image, 0,0, _w, _h); 21451 break; 21452 case 3: 21453 m_canvas.width = _w; 21454 m_canvas.height = _h; 21455 ctx.transform(-1,0,0,-1,_w,_h); // æ°´å¹³åç´å転 21456 ctx.drawImage(image, 0,0, _w, _h); 21457 break; 21458 case 4: 21459 m_canvas.width = _w; 21460 m_canvas.height = _h; 21461 ctx.transform(1,0,0,-1,0,_h); // åç´å転 21462 ctx.drawImage(image, 0,0, _w, _h); 21463 break; 21464 case 5: 21465 // å転270度å転 21466 m_canvas.width = _h; 21467 m_canvas.height = _w; 21468 ctx.rotate(270 * Math.PI/180); 21469 ctx.transform(-1,0,0,1,_w,0); // æ°´å¹³å転 21470 ctx.drawImage(image, _w, 0, _w, _h); 21471 break; 21472 case 8: 21473 // 270度å転 21474 m_canvas.width = _h; 21475 m_canvas.height = _w; 21476 ctx.rotate(270 * Math.PI/180); 21477 ctx.drawImage(image, -_w, 0, _w, _h); 21478 break; 21479 case 7: 21480 // å転90度å転 21481 m_canvas.width = _h; 21482 m_canvas.height = _w; 21483 ctx.transform(-1,0,0,1,_h,0); // æ°´å¹³å転 21484 ctx.rotate(-90 * Math.PI/180); 21485 ctx.drawImage(image,-_w, 0, _w, _h); 21486 break; 21487 case 6: 21488 // 90度å転 21489 m_canvas.width = _h; 21490 m_canvas.height = _w; 21491 ctx.rotate(90 * Math.PI/180); 21492 ctx.drawImage(image, 0, -Math.floor(_h), _w, _h); 21493 break; 21494 default: 21495 case 1: 21496 m_canvas.width = _w; 21497 m_canvas.height = _h; 21498 ctx.drawImage(image, 0,0, _w, _h); 21499 break; 21500 } 21501 21502 21503 var originalBinary = m_canvas.toDataURL("image/jpeg", 0.8); 21504 21505 if(_file_prop["size"] > originalBinary.length || _orientation != 1){ 21506 preview.src = originalBinary; 21507 previewArea.html(preview); 21508 hidden.val(originalBinary); 21509 }else{ 21510 preview.src = reader.result; 21511 previewArea.html(preview); 21512 hidden.val(reader.result); 21513 } 21514 $(document).trigger("formFrameUpdate"); 21515 21516 21517 }); 21518 } 21519 image.src = reader.result; 21520 21521 21522 21523 labelButton.hide(); 21524 deleteButton.show(); 21525 }, false); 21526 if (file) {
21527 reader.readAsDataURL(file); 21528 } 21529 }); 21530 } 21531 this.dom.find("div.delete-button").click(function(){ 21532 $(this).parent().find('input[name=img_placeholder]').val(null); 21533 $(this).parent().find(".form-cmn-img-preview").empty(); 21534 $(this).parent().find("label.select-image").show(); 21535 $(this).parent().find(".form-cmn-img-value").val(''); 21536 $(this).hide(); 21537 }); 21538 this.dom.find("div.form-cmn-img-preview img").each(function(){ 21539 var labelButton = $(this).parents(".form-cmn-img-upload").find("label.select-image"); 21540 var deleteButton = $(this).parents(".form-cmn-img-upload").find("div.delete-button"); 21541 labelButton.hide(); 21542 deleteButton.show(); 21543 }); 21544 21545 this.checkUnitWrapperId(); 21546 21547 //è¦ç´ã«åæãããã§ãã¯ããã¯ã¹ 21548 this.checkAgreement.on('change', function() { 21549 that.isSubmitActive = that.checkAgreement.prop("checked"); 21550 that.checkNextBtn(); 21551 }); 21552 21553 this.checkNextBtn(); 21554 this.dom.find('.js-get-address-from-zip').on('click',function(e){ 21555 that.getAddressByZipcode(this); 21556 return false; 21557 }); 21558 }; 21559 Form.prototype.checkUnitWrapperId = function() { 21560 var id = this.dom.parents(".unit-wrapper").attr('id'); 21561 if(id){ 21562 var hidden = '<input type="hidden" name="unit-wrapper_id" value="'+id+'" />'; 21563 this.dom.find('form').append(hidden); 21564 } 21565 } 21566 21567 Form.prototype.checkRecruitContact = function(value) { 21568 var that = this; 21569 if(value.indexOf(DMS.RECRUIT_INFORM_KEY) > -1){ 21570 that.dom.find('input[name=RECURUIT_ZIP]').prop('disabled',true); 21571 that.dom.find('select[name=RECURUIT_PREF]').prop('disabled',true); 21572 that.dom.find('input[name=RECURUIT_CITY]').prop('disabled',true); 21573 that.dom.find('input[name=RECURUIT_STREET]').prop('disabled',true); 21574 that.dom.find('input[name=RECURUIT_BUILDING]').prop('disabled',true); 21575 that.dom.find('input[name=RECURUIT_TEL]').prop('disabled',true); 21576 }else{ 21577 that.dom.find('input[name=RECURUIT_ZIP]').prop('disabled',false); 21578 that.dom.find('select[name=RECURUIT_PREF]').prop('disabled',false); 21579 that.dom.find('input[name=RECURUIT_CITY]').prop('disabled',false); 21580 that.dom.find('input[name=RECURUIT_STREET]').prop('disabled',false); 21581 that.dom.find('input[name=RECURUIT_BUILDING]').prop('disabled',false); 21582 that.dom.find('input[name=RECURUIT_TEL]').prop('disabled',false); 21583 } 21584 }; 21585 21586 //次ã¸ãã¿ã³ã®ã¢ã¯ãã£ãéã¢ã¯ãã£ãã®è¨å® 21587 Form.prototype.checkNextBtn = function() { 21588 if (this.isSubmitActive) { 21589 this.nextButton.removeClass('is-disable'); 21590 } else { 21591 this.nextButton.addClass('is-disable'); 21592 } 21593 }; 21594 21595 //iframeã®å ´åã¨é常ã®å ´åã§å¦çãåããããæ½è±¡å 21596 Form.prototype.scrollTo = function(offset,isSkip) { 21597 DMS.formScroll(offset,isSkip); 21598 }; 21599 21600 //åºèã®ã¨ãªã¢çµã込㿠21601 Form.prototype.initArea = function() { 21602 var that = this; 21603 21604 // event check 21605 this.dom.find('select[name=HOPE_AREA_ID]').on('change',function(e){ 21606 that.initAreaMain($(this)); 21607 }) 21608 // first check 21609 this.dom.find('select[name=HOPE_AREA_ID]').each(function(){ 21610 21611 var optionsArray = $('select[name=HOPE_STORE_ID]').children().map(function() { 21612 return { 21613 value: $(this).val(), 21614 text: $(this).text() 21615 }; 21616 }).get(); 21617 21618 var jsonResult = JSON.stringify(optionsArray); 21619 21620 $(this).data("json", jsonResult); 21621 var target_value = that.dom.find('select[name=HOPE_STORE_ID] option:selected').val(); 21622 that.initAreaMain($(this), target_value); 21623 }); 21624 21625 }; 21626 Form.prototype.initAreaMain = function(_target, _target_value) { 21627 var that = this; 21628 var _all_flag = false;
21629 if(!_target.val()){ 21630 _all_flag = true; 21631 } 21632 var _shop_id_set = _target.val().split("ï¼"); 21633 if(_shop_id_set.length > 1){ 21634 var _shop_id_ary = _shop_id_set[1].split("ï¼"); 21635 }else{ 21636 var _shop_id_ary = ""; 21637 } 21638 21639 var _this_dom = this.dom.find('select[name=HOPE_STORE_ID]') 21640 $(_this_dom).empty(); 21641 var jsonData = JSON.parse(this.dom.find('select[name=HOPE_AREA_ID]').data('json')); 21642 21643 jsonData.forEach(function(_obj){ 21644 21645 var _flag = false; 21646 if(_obj.value){ 21647 for(var i=0;i<_shop_id_ary.length;i++){ 21648 if(_shop_id_ary[i] == _obj.value){ 21649 _flag = true; 21650 } 21651 } 21652 } 21653 if(!_flag && !_all_flag){ 21654 21655 }else{ 21656 var _tag = '<option value="'+_obj.value+'">'+_obj.text+'</option>'; 21657 $(_this_dom).append(_tag) 21658 } 21659 }); 21660 this.dom.find('select[name=HOPE_STORE_ID]').each(function(){ 21661 if(_target_value){ 21662 $(this).find("option[value='"+_target_value+"']").prop('selected',true); 21663 }else{ 21664 $(this).val(""); 21665 } 21666 }); 21667 } 21668 21669 //åºè鏿æã®å¶æ¥æ¥ãã§ã㯠21670 Form.prototype.initCheckDate = function() { 21671 var that = this; 21672 21673 this.dom.find('select[name=HOPE_STORE_ID]').on('change',function(e){ 21674 that.setDateOption(); 21675 that.checkDate($(this).val()); 21676 }) 21677 21678 if(this.dom.find('select[name=HOPE_STORE_ID]').length <= 0 || this.dom.find('select[name=HOPE_STORE_ID]').val()){ 21679 that.setDateOption(); 21680 this.dom.find('select[name=HOPE_STORE_ID]').each(function(){ 21681 that.checkDate($(this).val()); 21682 }); 21683 } 21684 21685 }; 21686 21687 // 21688 Form.prototype.initCheckDateFirst = function() { 21689 var that = this; 21690 21691 if(this.dom.find('select[name=HOPE_STORE_ID]').length > 0){ 21692 if(!window.formShopList) return; 21693 var val = this.dom.find('select[name=HOPE_STORE_ID]').val(); 21694 21695 this.checkDate(val); 21696 } 21697 if(this.dom.find('input[type=hidden][name=HOPE_STORE_ID]').length > 0){ 21698 if(!window.formShopList) return; 21699 var val = this.dom.find('input[type=hidden][name=HOPE_STORE_ID]').val(); 21700 21701 this.checkDate(val); 21702 } 21703 21704 if(window["hope_date_json"]){ 21705 if(hope_date_json["hope_date_1"]){ 21706 this.dom.find('select[name=HOPE_DATE]').val(hope_date_json["hope_date_1"]); 21707 } 21708 if(hope_date_json["hope_date_2"]){ 21709 this.dom.find('select[name=HOPE_DATE2]').val(hope_date_json["hope_date_2"]); 21710 } 21711 if(hope_date_json["hope_date_3"]){ 21712 this.dom.find('select[name=HOPE_DATE3]').val(hope_date_json["hope_date_3"]); 21713 } 21714 } 21715 } 21716 Form.prototype.initServiceCheckBox = function() { 21717 21718 var that = this; 21719 $('input[name^="SERVICE_NAME"]').change(function(){ 21720 that.checkServiceCheckBox(); 21721 }); 21722 21723 this.checkServiceCheckBox(); 21724 21725 } 21726 21727 Form.prototype.checkServiceCheckBox = function() { 21728 var _result = $('input[name^="SERVICE_NAME"]:checked'); 21729 if(_result.length < 4){ 21730 $('input[name^="SERVICE_NAME"]').each(function(index, element){ 21731 $(element).parents(".form-cmn-radio-box").removeClass("no-select-checkbox"); 21732 $(element).attr("tabindex", 0); 21733 }); 21734 }else{ 21735 $('input[name^="SERVICE_NAME"]').each(function(index, element){ 21736 var _r = $(element).prop('checked'); 21737 if(_r){ 21738 $(element).parents(".form-cmn-radio-box").removeClass("no-select-checkbox"); 21739 $(element).attr("tabindex", 0); 21740 }else{ 21741 $(element).parents(".form-cmn-radio-box").addClass("no-select-checkbox"); 21742 $(element).attr("tabindex", -1); 21743 } 21744 }); 21745 } 21746 21747 } 21748 21749 Form.prototype.setDateOption = function(){ // henkou 21750 var _youbi = ["æ¥", "æ", "ç«", "æ°´", "æ¨", "é", "å"]; 21751 if($(".form-0001").data("visit-after-day")){ 21752 var _afterday = parseInt($(".form-0001").data("visit-after-day"),10); 21753 }else{ 21754 var _afterday = 0; 21755 } 21756 if($(".form-0001").data("visit-after-day-kind")){ 21757 var _afterdaykind = parseInt($(".form-0001").data("visit-after-day-kind"),10); 21758 }else{ 21759 var _afterdaykind = 1; 21760 } 21761 var _html = '<option value="" selected=""></option>\n' 21762 var _sd = new Date(); 21763 var _store_id = this.dom.find('select[name=HOPE_STORE_ID]').val(); 21764 if(!_store_id){ 21765 _store_id = this.dom.find('input[name=HOPE_STORE_ID]').val(); 21766 } 21767 var _option_cnt = 0; 21768 var _option_first_skip_cnt = 0; 21769 if($(".form-0001").data("visit-select-num")){ 21770 var _select_num = parseInt($(".form-0001").data("visit-select-num"),10); 21771 }else{ 21772 var _select_num = 50; 21773 } 21774 for(var i=0;i<200 && _option_cnt < _select_num;i++){ 21775 var _d_y = _sd.getFullYear(); 21776 var _d_m = _sd.getMonth() + 1; 21777 var _d_d = _sd.getDate(); 21778 var _dt_str = _d_y+String(_d_m).padStart(2,"0")+String(_d_d).padStart(2,"0"); 21779// console.log(_dt_str); 21780 if(_option_first_skip_cnt < _afterday){ 21781 if(_afterdaykind != 2){ 21782 _option_first_skip_cnt++; 21783 }else{ 21784 var _chk_ret = this.checkHolidayInOption(_store_id, _dt_str) 21785 if(!_chk_ret) { 21786 // å®ä¼æ¥ã§ã¯ãªã 21787 _option_first_skip_cnt++; 21788 } 21789 } 21790 }else{ 21791 _html += '<option value="'+_dt_str+'" >'+_d_y+'å¹´'+String(_d_m).padStart(2,"0")+'æ'+String(_d_d).padStart(2,"0")+'('+_youbi[_sd.getDay()] +')</option>\n'; 21792 _option_cnt++; 21793 } 21794 _sd.setDate(_sd.getDate() + 1); 21795 } 21796 21797 var val = this.dom.find('select[name=HOPE_DATE]').val(); 21798 var val2 = this.dom.find('select[name=HOPE_DATE2]').val(); 21799 var val3 = this.dom.find('select[name=HOPE_DATE3]').val(); 21800 this.dom.find('select[name=HOPE_DATE]').empty(); 21801 this.dom.find('select[name=HOPE_DATE2]').empty(); 21802 this.dom.find('select[name=HOPE_DATE3]').empty(); 21803 this.dom.find('select[name=HOPE_DATE]').append(_html); 21804 this.dom.find('select[name=HOPE_DATE2]').append(_html); 21805 this.dom.find('select[name=HOPE_DATE3]').append(_html); 21806 this.dom.find('select[name=HOPE_DATE]').val(val); 21807 this.dom.find('select[name=HOPE_DATE2]').val(val2); 21808 this.dom.find('select[name=HOPE_DATE3]').val(val3); 21809 } 21810 Form.prototype.checkHolidayInOption = function(_shop_id, _dt_str) { 21811 selectStore = formShopList["shop_id_"+_shop_id]; 21812 if(selectStore && selectStore["shop_event"]){ 21813 for (var key in selectStore.shop_event){ 21814 if(key == 300001) continue; 21815 var shopEventList = selectStore.shop_event[key]; 21816 21817 for (var i = 0; i < shopEventList.length; i++) { 21818 var eventItem = shopEventList[i]; 21819 21820 if(this.isHoliday(eventItem.info)){ 21821 // console.log(eventItem); 21822 var _holiday_date = eventItem.event_date.replace(/-/g,""); 21823// console.log(_holiday_date+" "+_dt_str); 21824 if(_holiday_date == _dt_str){ 21825 return true; 21826 } 21827 } 21828 }; 21829 } 21830 return false;
21831 }else{ 21832 return false; 21833 } 21834 } 21835 21836 Form.prototype.checkDate = function(val) { 21837 var that = this; 21838 var selectStore; 21839 var holidayList = []; 21840 21841 holidayList = []; 21842 selectStore = formShopList["shop_id_"+val]; 21843 if(selectStore && selectStore["shop_event"]){ 21844 for (var key in selectStore.shop_event){ 21845 if(key == 300001) continue; 21846 var shopEventList = selectStore.shop_event[key]; 21847 21848 for (var i = 0; i < shopEventList.length; i++) { 21849 var eventItem = shopEventList[i]; 21850 if(that.isHoliday(eventItem.info)){ 21851 var date = eventItem.event_date.replace(/-/g,""); 21852 holidayList.push(date); 21853 } 21854 }; 21855 } 21856 } 21857 21858 that.checkDisable(holidayList); 21859 that.checkDisableHopeTimeSelect(holidayList); 21860 } 21861 21862 //å¶æ¥æ¥ãå ã«é¸æããã¦ãã¦åºèãé¸ãã æã«ãããå®ä¼æ¥ã ã£ãæ 21863 Form.prototype.checkDisable = function(holidayList) { 21864 for (var i = 0; i < holidayList.length; i++) { 21865 21866 if(this.dom.find('select[name=HOPE_DATE]').val() == holidayList[i]){ 21867 this.dom.find('select[name=HOPE_DATE]').val(""); 21868 } 21869 if(this.dom.find('select[name=HOPE_DATE2]').val() == holidayList[i]){ 21870 this.dom.find('select[name=HOPE_DATE2]').val(""); 21871 } 21872 if(this.dom.find('select[name=HOPE_DATE3]').val() == holidayList[i]){ 21873 this.dom.find('select[name=HOPE_DATE3]').val(""); 21874 } 21875 }; 21876 21877 } 21878 //åå¸ææ¥æã®ãã§ã㯠21879 Form.prototype.checkDisableHopeTimeSelect = function(holidayList) { 21880 this.disableOption(this.dom.find('select[name=HOPE_DATE] option'),holidayList); 21881 this.disableOption(this.dom.find('select[name=HOPE_DATE2] option'),holidayList); 21882 this.disableOption(this.dom.find('select[name=HOPE_DATE3] option'),holidayList); 21883 21884 }; 21885 21886 //holidaylistãã該å½ã®é¸æè¢ãéã¢ã¯ãã£ãã«ãããå¤å® 21887 Form.prototype.disableOption = function(optionObject,holidayList){ 21888 optionObject.each(function(index, el) { 21889 $(el).removeAttr('disabled'); 21890 for (var i = 0; i < holidayList.length; i++) { 21891 if($(el).attr('value') == holidayList[i]){ 21892 $(el).attr('disabled','disabled'); 21893 } 21894 }; 21895 }); 21896 } 21897 21898 //event infoãã¿ã¦ä¼æ¥ãæå³ããã®ãå¤å® 21899 Form.prototype.isHoliday = function(info) { 21900 for (var i = 0; i < DMS.HOLIDAY.length; i++) { 21901 if(info["type_id"] == DMS.HOLIDAY[i]){ 21902 return true; 21903 } 21904 } 21905 return false; 21906 21907 }; 21908 21909 function setCommonRule(ruleName,value,exclude){ 21910 if(!exclude) exclude = []; 21911 for(var formName in DMS["form_validation_rules"].rules){ 21912 var isExclude = false; 21913 for (var i = 0; i < exclude.length; i++) { 21914 if(exclude[i] == formName){ 21915 isExclude = true; 21916 } 21917 } 21918 if(isExclude) continue; 21919 DMS["form_validation_rules"].rules[formName][ruleName] = value; 21920 } 21921 } 21922 21923 21924 Form.prototype.checkObjectAndValid = function(_element){ 21925 if(_element.length){ 21926 _element.valid(); 21927 } 21928 } 21929 21930 //ãªã¢ã«ã¿ã¤ã ããªãã¼ã·ã§ã³ã®åæå 21931 Form.prototype.initValidater = function() { 21932 var that = this; 21933 $.validator.setDefaults({ ignore: [] }); 21934 setCommonRule("prohibited",true,[ 21935 "IMG_DATA_TMP_1","IMG_DATA_TMP_2","IMG_DATA_TMP_3" 21936 ]); 21937 setCommonRule("checkSjis",true); 21938 21939 if($(".form-policy-toyota-terms input[name=JP_AGREEMENT_FLG]").val()){ 21940 DMS["form_validation_rules"].rules["JP_AGREEMENT_FLG"] = {required:true}; 21941 DMS["form_validation_rules"].messages ["JP_AGREEMENT_FLG"] = {required:"ã叿ã鏿ãã¦ãã ããã"}; 21942 } 21943 21944 21945 var _tel_target=["TEL1_1","TEL1_2","TEL1_3","TEL2_1","TEL2_2","TEL2_3"]; 21946 for(var i=0;i<_tel_target.length;i++){ 21947 this.dom.find("input[name="+_tel_target[i]+"]").on('blur',function(){ 21948 that.checkObjectAndValid($(this)); 21949 }); 21950 } 21951 21952 var _kanji_target=[ "NAME1_SEI","NAME1_MEI","C_NAME_SEI","C_NAME_MEI","C_FAMILY_NAME","F_NAME_SEI","F_NAME_MEI","F_FAMILY_NAME"]; 21953 for(var i=0;i<_kanji_target.length;i++){ 21954 this.dom.find(".form-name-kanji input[name="+_kanji_target[i]+"]").on('blur',function(){ 21955 that.checkObjectAndValid($(this)); 21956 }); 21957 } 21958 21959 var _katakana_target=["NAME2_SEI","NAME2_MEI","C_NAME_SEI_KANA","C_NAME_MEI_KANA","F_NAME_SEI_KANA","F_NAME_MEI_KANA"]; 21960 for(var i=0;i<_katakana_target.length;i++){ 21961 this.dom.find(".form-name-katakana input[name="+_katakana_target[i]+"]").on('blur',function(){ 21962 that.checkObjectAndValid($(this)); 21963 }); 21964 } 21965 21966var _validate_obj = { 21967 //ã«ã¼ã«ã¨ã¡ãã»ã¼ã¸ã¯PHPã®å¤ããã¨ã«htmlã«åºåããã¦ãããã®ãä½¿ç¨ 21968 rules: DMS["form_validation_rules"].rules, 21969 messages: DMS["form_validation_rules"].messages, 21970 // groups:{ 21971 // telset:"TEL1_1 TEL1_2 TEL1_3" 21972 // }, 21973 errorPlacement: function(error, element) { 21974 error.appendTo(element.parents('.form-input-container').find(".error-view")); 21975 }, 21976 success: "valid", 21977 focusInvalid: false, 21978 onfocusout: function( element ) { 21979 if ( !this.checkable( element ) && ( element.name in this.submitted || !this.optional( element ) ) ) {
21980 this.element( element ); 21981 } 21982 $(document).trigger("formFrameUpdate"); 21983 }, 21984 invalidHandler: function(form, validator) { 21985 21986 if (!validator.numberOfInvalids()) 21987 return; 21988 21989 var _min_scroll_target ; 21990 var _min_scroll_top = 99999999; 21991 var _targeterrortype; 21992 for(var i=0;i<validator.errorList.length;i++){ 21993 var _tagname = $(validator.errorList[i].element).prop("tagName") ; 21994 var _tag_type = $(validator.errorList[i].element).attr("type"); 21995 var _target; 21996 if(_tagname.toLowerCase() == "input" && _tag_type == "hidden"){ 21997 _target= $(validator.errorList[i].element).parent(); 21998 }else{ 21999 _target= validator.errorList[i].element; 22000 } 22001 var _scroll_top = 99999999; 22002 if($(_target).is(":hidden")){ 22003 var _scrolltarget = $(_target).parents(".form-cmn-table").data("scrolltarget"); 22004 if(_scrolltarget){ 22005 _scroll_top = $("."+_scrolltarget).offset().top; 22006 _targeterrortype = $(_target).parents(".form-cmn-table").data("targeterrortype"); 22007 } 22008 }else{ 22009 _scroll_top = $(_target).offset().top; 22010 } 22011 22012 if(_scroll_top < _min_scroll_top){ 22013 _min_scroll_top = _scroll_top; 22014 _min_scroll_target = _scrolltarget; 22015 } 22016 22017 } 22018 22019 setTimeout(function(){ 22020 that.scrollTo(_min_scroll_top); 22021 if(_targeterrortype){ 22022 switch(_targeterrortype){ 22023 case 1://峿äºç´ã«ã¬ã³ãã¼UI 22024 if(DMS.onlineRsvUiErrorListener){ 22025 DMS.onlineRsvUiErrorListener.call(); 22026 } 22027 break; 22028 } 22029 } 22030 },10); 22031 } 22032 }; 22033 22034 this.dom.find('.form').validate(_validate_obj); 22035 global.FormCommon.validate_obj = _validate_obj; 22036 22037 if($(".form-0001").data("type") == "enquete"){ 22038 for(var i=1;i<=9;i++){ 22039 var _familyset = $(".form-0001 .form-cmn-familyset-"+i); 22040 22041 DMS.FormCommon.removeFamilySetRule(_familyset); 22042 } 22043 } 22044 22045 22046 }; 22047 22048 22049 //åè§å ¨è§å¤æãªã©ã®å¦çç³»åæå 22050 Form.prototype.initReplaceText = function() { 22051 var that = this; 22052 var stc = $.SuperTextConverter({ 22053 zenkakuHyphen: 'ï¼' 22054 }); 22055 this.dom.find('.form input').on('blur',function(){ 22056 if($(this).hasClass('zenkaku') || $(this).hasClass('hankaku') ){ 22057 var originalString = $(this).val(); 22058 var afterString = ""; 22059 var converterOptions = { 22060 convert: { 22061 punctuation: true, 22062 tilda: true, 22063 exclamation: true, 22064 question: true, 22065 space: true, 22066 hyphen: true 22067 }, 22068 hyphen:"-", 22069 zenkakuHyphen: 'ï¼', 22070 zenkakuChilda: 'ã' 22071 }; 22072 22073 if($(this).hasClass('zenkaku')){ 22074 afterString = stc.toZenkaku(originalString, converterOptions); 22075 } 22076 22077 if($(this).hasClass('hankaku')){ 22078 afterString = stc.toHankaku(originalString, converterOptions); 22079 } 22080 22081 if($(this).hasClass('no-hyphen')){ 22082 afterString = afterString.replace(/\-/g, ""); 22083 } 22084 22085 //伸ã°ãæ£é¢é£ã®å¤æ 22086 if($(this).attr('id')=="address_2"){ 22087 afterString.replace(/ã¼/g, "ï¼"); 22088 } 22089 if($(this).attr("name")=="NAME2_SEI" || $(this).attr("name")=="NAME2_MEI" || $(this).attr("name")=="NAME1_SEI" || $(this).attr("name")=="NAME1_MEI"){ 22090 afterString = afterString.replace(/ï¼/g, "ã¼"); 22091 } 22092 if($(this).attr('id')=="name2_1" || $(this).attr('id')=="name2_2" ){ 22093 afterString = afterString.replace(/ï¼/g, "ã¼"); 22094 } 22095 $(this).val(afterString); 22096 }
22097 $(this).valid(); 22098 }) 22099 }; 22100 22101 //mapmasterã®APIã使ç¨ãã¦éµä¾¿çªå·ãã使ãè¨å®ãã 22102 Form.prototype.getAddressByZipcode = function(clicked) { 22103 var mapmasterApi = DMS.searchAddressApi; 22104 this.isSearchAdressFromZip = true; 22105 var sectonContainer = $(clicked).parents(".form-cmn-table-cotainer"); 22106 sectonContainer.find('.zipcode-error').remove(); 22107 var zipContainer = sectonContainer.find(".form-zip"); 22108 22109 if(sectonContainer.find('.form-zip__code input').val() == "") return false; 22110 if (!sectonContainer.find('.form-zip__code input').valid()) return false; 22111 var zip = sectonContainer.find('.form-zip__code input').val(); 22112 22113 $.ajax({ 22114 url: mapmasterApi, 22115 type: 'GET', 22116 dataType: 'json', 22117 data: { 22118 zip:zip, 22119 zl:1, 22120 ndBase:1 22121 }, 22122 }) 22123 .done(function(data) { 22124 setAddress(data); 22125 }) 22126 .fail(function() { 22127 console.log("error"); 22128 }) 22129 .always(function() { 22130 console.log("complete"); 22131 }); 22132 22133 22134 function setAddress(data){ 22135 22136 if (data["ServerResult"]["Result"]) { 22137 if (data["ServerResult"]["Result"]["Items"]) { 22138 var info = data["ServerResult"]["Result"]["Items"][0]["Names"]; 22139 sectonContainer.find(".form-address__pref select option").filter(function(index) { 22140 return $(this).text() === info.Pref; 22141 }).prop("selected", true); 22142 sectonContainer.find(".form-address__city input").val(info.City + info.Oaza + info.Koaza + info.Gaiku); 22143 return; 22144 } 22145 } 22146 22147 //éµä¾¿çªå·ã«èª¤ãããã 22148 if (zipContainer.find(".error").not(".valid").length == 0) { 22149 zipContainer.find(".error-view").append('<label class="error zipcode-error" for="zip">éµä¾¿çªå·ã確èªãã¦ãã ããã</label>') 22150 } 22151 } 22152 this.isSearchAdressFromZip = false; 22153 return false; 22154 }; 22155 22156 22157 global.Form = Form; 22158 return Form; 22159 }()); 22160 22161 22162 22163 /* ========================================================= 22164 22165 FormHasCarselect 22166 22167 ========================================================= */ 22168 var FormHasCarselect = (function(_super) { 22169 22170 function FormHasCarselect(dom) { 22171 _super.apply(this, arguments); 22172 this.selectedCarId = null; 22173 this.carScene = this.dom.find(".form-scene--car"); 22174 this.inputScene = this.dom.find(".form-scene--input"); 22175 } 22176 22177 FormHasCarselect.prototype = inherit(_super.prototype); 22178 FormHasCarselect.prototype.constructor = FormHasCarselect; 22179 22180 FormHasCarselect.prototype.init = function(){ 22181 _super.prototype.init.apply(this); 22182 this.initCarScene(); 22183 } 22184 22185 22186 FormHasCarselect.prototype.initCarScene = function(){ 22187 var that = this; 22188 that.addCarItemSelectEvent(); 22189 setBackButton(); 22190 22191 //åæå¤ã§CAR_NUMBERãå ¥ã£ã¦ããå ´åã¯phpã§ä»®ã«hiddenã¿ã°ãåºåãã¦ãã 22192 if (that.dom.find('input[name=TMP_RESERVE_CAR]').length > 0 && this.checkCarExist(that.dom.find('input[name=TMP_RESERVE_CAR]').val())) { 22193 //ãããããè»ç¨®ã®ãã¼ã¸ã«ããã¨ãã«ã¯è»ã鏿ããç¶æ ã«ãã 22194 that.carScene.addClass('is-hide'); 22195 that.inputScene.addClass('current-scene'); 22196 that.selectedCarID = $('input[name=TMP_RESERVE_CAR]').val(); 22197 that.addCarArea(); 22198 DMS.formProcessUpdate(); 22199 } else { 22200 //è»ç¨®ã鏿ããã¦ããªãã¨ã 22201 that.inputScene.addClass('is-hide'); 22202 that.carScene.addClass('current-scene'); 22203 } 22204 22205 function setBackButton(){ 22206 $('.form-btn-back').on('click', function() { 22207 that.dom.find(".current-scene").removeClass('current-scene'); 22208 selectedCarID = null; 22209 that.inputScene.addClass('is-hide'); 22210 that.carScene.removeClass('is-hide').addClass('current-scene'); 22211 DMS.formProcessUpdate(); 22212 that.removeCarArea(); 22213 that.scrollTo(that.dom.offset().top,true); 22214 DMS.BoxHeightAlign.update(); //é«ãã®åèª¿æ´ 22215 }); 22216 } 22217 that.dom.find('.carlist-body-anchor-item a,.carlist-engine-anchor-item a,.carlist-name-anchor-item a').off('click'); 22218 that.dom.find('.carlist-body-anchor-item a,.carlist-engine-anchor-item a,.carlist-name-anchor-item a').on('click',function(e){ 22219 var target = $(this).attr('href'); 22220 that.scrollTo(that.dom.find(target).offset().top); 22221 return false;
22222 }) 22223 } 22224 22225 22226 //è»ç¨®ã鏿ããã¨ãã®æå 22227 FormHasCarselect.prototype.addCarItemSelectEvent = function(){ 22228 var that = this; 22229 that.dom.find('.carlist-item a').on('click', function() { 22230 that.dom.find(".current-scene").removeClass('current-scene'); 22231 that.inputScene.addClass('current-scene'); 22232 DMS.formProcessUpdate(); 22233 that.selectedCarID = $(this).data('car_id'); 22234 that.carScene.addClass('is-hide'); 22235 that.inputScene.removeClass('is-hide'); 22236 that.addCarArea(); 22237 that.scrollTo(that.dom.offset().top,true); 22238 22239 }) 22240 } 22241 22242 //getCarListã®å 容ãscriptã¿ã°å ã«åºåãã¦ããã®ã§ãã®å¤ããã¨ã«idããè»ç¨®åãç¹å® 22243 FormHasCarselect.prototype.getCarInfo = function(id){ 22244 for (var i = 0; i < DMS["form_car_list"].length; i++) { 22245 if (DMS["form_car_list"][i]["car_id"] == id) { 22246 return DMS["form_car_list"][i]; 22247 } 22248 } 22249 } 22250 22251 FormHasCarselect.prototype.checkCarExist = function(car_id){ 22252 var isExist = false; 22253 this.dom.find('.carlist-item').each(function(index, el) { 22254 22255 if($(el).find("a").data("car_id") == car_id){ 22256 isExist = true; 22257 } 22258 }); 22259 22260 return isExist; 22261 } 22262 22263 //ã叿ã®è»ç¨®æ¬ã«ååã表示ãã¾ããpostã§éã£ã¦ãããããã«hiddenã¿ã°ã«å¤ãè¨å® 22264 FormHasCarselect.prototype.addCarArea = function(){ 22265 var info = this.getCarInfo(this.selectedCarID); 22266 this.selectedCarName = info["series"]["CAR_NAME"]; 22267 this.dom.find("input[name=RESERVE_CAR]").val(this.selectedCarName); 22268 this.dom.find("input[name=RESERVE_CAR_ID]").val(this.selectedCarID); 22269 this.dom.find(".form-table-select_car .form-cmn-table__body").append('<p>'+this.selectedCarName+'</p>'); 22270 } 22271 22272 //ã叿ã®è»ç¨®æ¬ã®æ å ±ãåæå 22273 FormHasCarselect.prototype.removeCarArea = function(){ 22274 this.dom.find('input[name=RESERVE_CAR]').val(""); 22275 this.dom.find('input[name=RESERVE_CAR_ID]').val(""); 22276 this.dom.find(".form-table-select_car .form-cmn-table__body p").remove(); 22277 } 22278 22279 global.FormHasCarselect = FormHasCarselect; 22280 return FormHasCarselect; 22281 }(Form)); 22282 22283 global.FormCommon = {}; 22284 global.FormCommon.copyAndClearFamilySet = function(_el1, _el2){ 22285 // input (text / radio) 22286 var _el1_input = $(_el1).find("input"); 22287 var _el2_input = $(_el2).find("input"); 22288 for(var i=0;i<_el2_input.length;i++){ 22289 var _type = $(_el2_input[i]).attr("type") ; 22290 if(_type == "text"){ 22291 var _val = $(_el1_input[i]).val(); 22292 if(!_val) _val = ""; 22293 $(_el2_input[i]).val( _val); 22294 $(_el1_input[i]).val(""); 22295 }else if(_type == "radio"){ 22296 var _val = $(_el1_input[i]).prop('checked'); 22297 if(!_val) _val = false; 22298 $(_el2_input[i]).prop('checked', _val); 22299 $(_el1_input[i]).prop('checked', false); 22300 } 22301 } 22302 22303 // select 22304 var _el1_select = $(_el1).find("select"); 22305 var _el2_select = $(_el2).find("select"); 22306 for(var i=0;i<_el2_select.length;i++){ 22307 var _type = $(_el2_select[i]).attr("type") ; 22308 var _val = $(_el1_select[i]).val(); 22309 if(!_val) _val = ""; 22310 $(_el2_select[i]).val( _val); 22311 $(_el1_select[i]).val(""); 22312 } 22313 22314 22315 } 22316 22317 global.FormCommon.checkEmptyInFamilySet = function(_el1){ 22318 // input (text / radio) 22319 var _el1_input = $(_el1).find("input"); 22320 for(var i=0;i<_el1_input.length;i++){ 22321 var _type = $(_el1_input[i]).attr("type") ; 22322 if(_type == "text"){ 22323 if( $(_el1_input[i]).val() ){ 22324 return true; 22325 } 22326 }else if(_type == "radio"){ 22327 if($(_el1_input[i]).prop('checked')){ 22328 return true; 22329 } 22330 } 22331 } 22332 22333 // select 22334 var _el1_select = $(_el1).find("select"); 22335 for(var i=0;i<_el1_select.length;i++){ 22336 if($(_el1_select[i]).val()){ 22337 return true; 22338 } 22339 } 22340 22341 return false; 22342 } 22343 global.FormCommon.removeAndSortFamilySet = function(){ 22344 for(var i=0;i<=9;i++){ 22345 var _suffix_i = ""; 22346 if(i > 0){ 22347 _suffix_i = "-"+i; 22348 } 22349 var _familyset = $(".form-0001 .form-cmn-familyset"+_suffix_i); 22350 if(_familyset.length > 0){ 22351 22352 if(!DMS.FormCommon.checkEmptyInFamilySet(_familyset)){ 22353 for(var k=i+1;k<=10;k++){ 22354 var _familyset = $(".form-0001 .form-cmn-familyset-"+k); 22355 if(DMS.FormCommon.checkEmptyInFamilySet(_familyset)){ 22356 break; 22357 } 22358 } 22359 if(k > 10) k = 10; 22360 22361 for(var j=i;j<=10;j++){ 22362 var _suffix_j = ""; 22363 if(j > 0){ 22364 _suffix_j = "-"+j; 22365 } 22366 var _el1 = $(".form-0001 .form-cmn-familyset-"+(k+(j-i))); 22367 var _el2 = $(".form-0001 .form-cmn-familyset"+_suffix_j); 22368 DMS.FormCommon.copyAndClearFamilySet(_el1, _el2); 22369 } 22370 } 22371 } 22372 } 22373 }
22374 global.FormCommon.removeFamilySetRule = function(_familyset){ 22375 var _el1_input = $(_familyset).find("input"); 22376 for(var j=0;j<_el1_input.length;j++){ 22377 $(_el1_input[j]).rules("remove"); 22378 } 22379 var _el1_select = $(_familyset).find("select"); 22380 for(var j=0;j<_el1_select.length;j++){ 22381 $(_el1_select[j]).rules("remove"); 22382 } 22383 } 22384 global.FormCommon.addFamilySetRule = function(_familyset){ 22385 var _el1_input = $(_familyset).find("input"); 22386 for(var j=0;j<_el1_input.length;j++){ 22387 var _el_name = $(_el1_input[j]).attr("name"); 22388 $(_el1_input[j]).rules("add", DMS.FormCommon.validate_obj["rules"][_el_name] ); 22389 } 22390 var _el1_select = $(_familyset).find("select"); 22391 for(var j=0;j<_el1_select.length;j++){ 22392 var _el_name = $(_el1_select[j]).attr("name"); 22393 $(_el1_select[j]).rules("add", DMS.FormCommon.validate_obj["rules"][_el_name] ); 22394 22395 } 22396 22397 } 22398 22399 22400}(DMS)); 22401$(function() { 22402 var storeBlogListWrap = $(".hansya-blog-list-0001-wrap"); 22403 var articleFlg; 22404 var uri; 22405 22406 if(storeBlogListWrap) { 22407 articleFlg = storeBlogListWrap.data("flg"); 22408 uri = storeBlogListWrap.data("url-flg"); 22409 if(articleFlg == true && uri != 1) { 22410 window.location.href = "/blog/company/list?page=1"; 22411 } 22412 } 22413 22414 22415 var BoxHeightAlign = DMS.BoxHeightAlign; 22416 var boxHeightAlign = new BoxHeightAlign($('.hansya-blog-list-0001-wrap-inner'), {isAll: false}); 22417 22418 boxHeightAlign.init(); 22419 22420 var resizeTimer = false; 22421 $(window).resize(function() { 22422 22423 if(resizeTimer !== false) { 22424 clearTimeout(resizeTimer); 22425 } 22426 22427 resizeTimer = setTimeout(function() { 22428 boxHeightAlign.update(); 22429 }, 200); 22430 }); 22431 22432 DMS.customEvent.addEventListner(DMS.customEvent.INIT_UNIT, function() { 22433 boxHeightAlign.init(); 22434 }); 22435 22436});/*headline-0001, headline-0002, headline-0003*/ 22437$(function () { 22438 var windowWidth = $(window).width(); 22439 function getMaskAnimation(_el){ 22440 return { 22441 _element:_el, 22442 _element_width:0, 22443 _element_base_width:undefined, 22444 _xscale:0, 22445 _anim_flag:true, 22446 initElement:function(_el){ 22447 this._element_base_width = $(this._element).width(); // ã¦ãããã®æ¨ªå¹ ï¼ã¦ã£ã³ãã¦ï¼ï¼ï¼ï¼ ï¼paddingãµã¤ãºï¼ 22448 if(this._element_base_width > 0){ // ã¿ãããã£ã¨è¦ãã«é¢é£ä»ãã¦é表示ã®å ´åã¯ï¼ã«ãªãã®ã§å¦çããªã 22449 $(this._element).wrapInner("<div class='anim_wrapper'>"); 22450 $(this._element).wrapInner("<div class='anim_outer_wrapper'>"); 22451 $(this._element).find(".anim_outer_wrapper").css("overflow","hidden"); 22452 this._element_width = this.getWidth(); 22453 $(this._element).find(".anim_wrapper").css("width",this._element_base_width); //èªç±ããã¹ãã¨ãªã¢ã®ãµã¤ãºãåºå®åãã¦ãã 22454 this.setMask(); 22455 } 22456 }, 22457 resize: function () { 22458 var _w = this.getWidth(); 22459 if (_w > 0) { 22460 this.setWidth(); 22461 } 22462 }, 22463 setWidth:function(){ 22464 if(this._anim_flag){ 22465 this._element_width = this.getWidth(); 22466 $(this._element).find(".anim_wrapper").css("width",this._element_base_width); 22467 } 22468 }, 22469 get xScale(){ 22470 return this._xscale; 22471 }, 22472 set xScale(v){ 22473 this._xscale = v; 22474 this.setMask(); 22475 }, 22476 setMask:function(){ 22477 this._element.find(".anim_outer_wrapper").css("width", this._xscale+"%"); 22478 }, 22479 getWidth:function(){ 22480 if(this._anim_flag){ 22481 var _w = this._element.find(".anim_outer_wrapper").css("width"); 22482 _ret = $(this._element).find(".anim_outer_wrapper").css("width","auto").css("float","left").width(); 22483 $(this._element).find(".anim_outer_wrapper").css("float","none").css("width",_w); 22484 return Math.ceil(_ret); 22485 } 22486 }, 22487 get AnimationSpeed(){ 22488 return this._element.data('animation-speed') 22489 }, 22490 startAnime:function(speed){ 22491 if(this._anim_flag){ // ã¢ãã¡ã¼ã·ã§ã³ã¯ä¸åããããªãããã« 22492 if(!this._element_base_width){ //æ¨ªå¹ ã確å®ãã¦ãªãå ´åã¯åæå¦çããã£ã¦ãã 22493 this.initElement(this._element); 22494 } 22495 this._anim_flag = false; 22496 this.xScale = 0; 22497 var that = this; 22498 var _rate = this._element_width / this._element_base_width; 22499 $(this).delay(100).animate({xScale:100}, speed/_rate ,"linear", function(){ 22500 $(that._element).removeAttr('style'); 22501 $(that._element).find(".anim_outer_wrapper").removeAttr('style'); 22502 $(that._element).find(".anim_outer_wrapper .anim_wrapper").removeAttr('style'); 22503 }); 22504 } 22505 } 22506 } 22507 } 22508 22509 function checkAndStart(_obj){ 22510 if(_obj._anim_flag){ //ã¢ãã¡ã¼ã·ã§ã³ãã¹ã¿ã¼ããã¦ãªãå ´åã®ã
22510¿å¦ç 22511 var _display = $(_obj._element).parents(".unit-wrapper").css("display"); 22512 if(_display == "block"){ // è¡¨ç¤ºç¶æ ã®å ´åã®ã¿å¦ç 22513 var scrollTop = $(window).scrollTop(); 22514 var wh = $(window).height(); 22515 var elemOffset = _obj._element.offset().top; 22516 if (scrollTop > elemOffset - wh * 0.9) { //ã¦ã£ã³ãã¦å ã®é«ãä¸ããï¼ï¼ï¼ 以å ã§è¦ãã¦ããå ´åã®ã¿å¦ç 22517 if(_obj.AnimationSpeed == 0){ 22518 _obj.startAnime(1000); 22519 } else if(_obj.AnimationSpeed == 1) { 22520 _obj.startAnime(600); 22521 } else { 22522 _obj.startAnime(300); 22523 } 22524 }else{ 22525 if(!_obj._element_base_width){ //æ¨ªå¹ ã確å®ãã¦ãªãå ´åã¯åæå¦çããã£ã¦ãã 22526 _obj.initElement(_obj._element); 22527 } 22528 } 22529 } 22530 } 22531 } 22532 22533 $(function () { 22534 $(".headline-0001, .headline-0002, .headline-0003").each(function () { 22535 var animationMask = $(this).data('animation-mask') 22536 if (animationMask == 1) { 22537 var _obj = getMaskAnimation($(this)) 22538 // åæé表示 22539 _obj.initElement(); 22540 checkAndStart(_obj); 22541 // ã¹ã¯ãã¼ã«å¦ç 22542 $(window).scroll(function(){ 22543 checkAndStart(_obj); 22544 }); 22545 // ãªãµã¤ãºå¦ç 22546 $(window).resize(function(){ 22547 // iOS, Androidã¹ã¯ãã¼ã«å¯¾ç 22548 if($(window).width() != windowWidth){ 22549 _obj.resize(); 22550 } 22551 }); 22552 DMS.customEvent.addEventListner(DMS.customEvent.INIT_UNIT, function () { 22553 checkAndStart(_obj); 22554 }); 22555 } 22556 }); 22557 }); 22558});jQuery(document).ready(function($) { 22559 22560 var BoxHeightAlign = window.DMS.BoxHeightAlign; 22561 22562 var boxheightAlign = new BoxHeightAlign($(".image-0003"),{ 22563 isAll:false 22564 }); 22565 22566 22567 boxheightAlign.init(); 22568 22569console.log(window); 22570 $(window).on("resize", function(event) { 22571 boxheightAlign.update(); 22572 }); 22573 22574 DMS.customEvent.addEventListner(DMS.customEvent.INIT_UNIT, function() { 22575 boxheightAlign.update(); 22576 }); 22577 22578});$(function() { 22579 if ($(".interior-color-0001").length > 0) { 22580 var thisUnit = $(".interior-color-0001"); 22581 22582 22583 // bxslider 22584 var activeClass = 'active-slide'; 22585 22586 function slider(_target) { 22587 22588 var targetSlide = _target.find(".interior-list"); 22589 var targetNav = _target.find(".interior-nav-wrap"); 22590 var prev = _target.find(".interior-pn-btn .prev"); 22591 var next = _target.find(".interior-pn-btn .next"); 22592 var listWrap = _target.find(".slider.interior-list-wrap"); 22593 22594 targetSlide.bxSlider({ 22595 pagerCustom: targetNav, 22596 speed: "100", 22597 mode: "fade", 22598 touchEnabled: false, 22599 prevSelector: prev, 22600 nextSelector: next, 22601 onSliderLoad: function() { 22602 targetSlide.children('li').eq(0).addClass(activeClass); 22603 }, 22604 onSlideAfter: function($slideElement, oldIndex, newIndex) { 22605 targetSlide.children('li').removeClass(activeClass).eq(newIndex).addClass(activeClass); 22606 } 22607 }); 22608 22609 $(".interior-pn-btn .bx-prev").text(""); 22610 $(".interior-pn-btn .bx-next").text(""); 22611 22612 22613 22614 DMS.customEvent.addEventListner(DMS.customEvent.INIT_UNIT, function() { 22615 targetSlide.destroySlider(); 22616 listWrap.after(targetNav); 22617 targetSlide.reloadSlider(); 22618 $(".interior-pn-btn .bx-prev").text(""); 22619 $(".interior-pn-btn .bx-next").text(""); 22620 }); 22621 22622 22623 const ua = navigator.userAgent; 22624 if (ua.indexOf('Trident') !== -1) { 22625 //IE 11ã®ã¨ãã®æå 22626 targetSlide.destroySlider(); 22627 listWrap.after(targetNav); 22628 targetSlide.reloadSlider(); 22629 $(".interior-pn-btn .bx-prev").text(""); 22630 $(".interior-pn-btn .bx-next").text(""); 22631 } 22632 22633 22634 22635 thisUnit.delay(200).animate({ 22636 "opacity": 1, 22637 "height":"auto" 22638 }, 300 ); 22639 22640 22641 22642 22643 } 22644 22645 22646 const ua = navigator.userAgent; 22647 if (ua.indexOf('Trident') !== -1) { 22648 $(window).load(function () { 22649 thisUnit.each(function() { 22650 slider($(this)); 22651 }); 22652 }); 22653 }else{ 22654 thisUnit.each(function() { 22655 slider($(this)); 22656 }); 22657 } 22658 22659 22660 22661 22662 22663 22664 } 22665 22666 22667 22668});$(function () { 22669 var kizutori = $('.kizutori__0001'); 22670 var ua = navigator.userAgent; 22671 kizutori.each(function () { 22672 var that = this; 22673 if($(window).width() < 768){ 22674 var width_scale = parseInt($(this).data('width-scale'),10); 22675 var item_title_scale = $(this).data('item-title-scale'); 22676 $(this).find('table').css('width', width_scale + '%'); 22677 var _table_ary = $(this).find('table'); 22678 var _th_ary0 = $(_table_ary[0]).find('th'); 22679 var _th_ary1 = $(_table_ary[1]).find('th'); 22680 $(_th_ary0[0]).css('width', item_title_scale + '%'); 22681 $(_th_ary0[1]).css('width', (100-item_title_scale) + '%'); 22682 $(_th_ary1[0]).css('width', item_title_scale + '%'); 22683 $(_th_ary1[1]).css('width', (100-item_title_scale) + '%'); 22684 if (ua.indexOf('iPhone') > 0 && width_scale > 100) { 22685 $(".kizutori__table-panel-wrap").addClass("scroll-wrap"); 22686 } 22687 } 22688 $(window).resize(function(){ 22689 if($(window).width() < 768){ 22690 var width_scale = parseInt($(that).data('width-scale'),10); 22691 var item_title_scale = $(that).data('item-title-scale'); 22692 $(that).find('table').css('width', width_scale + '%'); 22693 var _table_ary = $(this).find('table'); 22694 var _th_ary0 = $(_table_ary[0]).find('th'); 22695 var _th_ary1 = $(_table_ary[1]).find('th'); 22696 $(_th_ary0[0]).css('width', item_title_scale + '%'); 22697 $(_th_ary0[1]).css('width', (100-item_title_scale) + '%'); 22698 $(_th_ary1[0]).css('width', item_title_scale + '%'); 22699 $(_th_ary1[1]).css('width', (100-item_title_scale) + '%'); 22700 if (ua.indexOf('iPhone') > 0 && width_scale > 100) { 22701 $(".kizutori__table-panel-wrap").addClass("scroll-wrap"); 22702 } 22703 }else{ 22704 $(that).find('table').css('width', 'inherit'); 22705 var _table_ary = $(this).find('table'); 22706 var _th_ary0 = $(_table_ary[0]).find('th'); 22707 var _th_ary1 = $(_table_ary[1]).find('th'); 22708 $(_th_ary0[0]).css('width', 'inherit'); 22709 $(_th_ary0[1]).css('width', 'inherit'); 22710 $(_th_ary1[0]).css('width', 'inherit'); 22711 $(_th_ary1[1]).css('width', 'inherit'); 22712 22713 if (ua.indexOf('iPhone') > 0) { 22714 $(".kizutori__table-panel-wrap").removeClass("scroll-wrap"); 22715 } 22716 } 22717 }) 22718 }); 22719}); 22720$(function () { 22721 if($(".map-0001").length>0){ 22722 22723 $(".map-0001").each(function(){ 22724 var markerlist = []; 22725 var map; 22726 var latlons = []; 22727 var _last_sizeDetect; 22728 var _last_latlon; 22729 var _last_fit_level; 22730 var _last_fit_lat; 22731 var _last_fit_lon; 22732 var _dev = {}; 22733 var _dev_pinsize = {}; 22734 var _target_map = $(this); 22735 var _timer_id; 22736 22737 var imgAry = []; 22738 var pinImageNum; 22739 var nowPinSize; 22740 22741 var map_id = "map"+_target_map.parent().parent().attr("id"); 22742 _target_map.find(".map-list").append("<div class='map-main' id='"+map_id+"'></div>"); 22743 22744 function loadPinImage(_num , _marker, _file){ 22745 $('<img src="'+_file+'">').on('load', function(){ 22746 var _target=$(this); 22747 if(_target[0].naturalHeight != 0){
22748 imgAry[_num] = {width:_target[0].naturalWidth, height:_target[0].naturalHeight}; 22749 _marker.setImage(_file , new TMIData.Size(Math.round(_target[0].naturalWidth * nowPinSize) , Math.round(_target[0].naturalHeight * nowPinSize)) ); 22750 22751 } 22752 }); 22753 } 22754 22755 22756 function addMarker(_num , _element){ 22757 if(checkMap()){ 22758 var _latlng = _element.data("latlng").split(","); 22759 if(_latlng[0] && _latlng[1]){ 22760 var _lat = parseFloat(_latlng[0]); 22761 var _lng = parseFloat(_latlng[1]); 22762 var latlon = new TMIData.LatLon(_lat, _lng); 22763 var _error_flag = false; 22764 var _file = getPinFileName(_element.data("pin")); 22765 try { 22766 var marker = new TMIMapapi.Marker(latlon); 22767 }catch(e){ 22768 _error_flag = true; 22769 } 22770 if(!_error_flag){ 22771 marker.setUserData({ 22772 "name":_element.find(".pin-title").text(), 22773 "address":_element.find(".pin-address").text(), 22774 "tel":$(_element.find(".pin-tel")[0]).text(), 22775 "url":_element.find(".pin-url").text() 22776 }); 22777 marker.addEvent( 22778 TMIMapapi.EVENT_CLICK, 22779 openInfoWindow, 22780 "MarkerClick"); 22781 latlons.push(new TMIData.LatLon(_lat, _lng)); 22782 markerlist[_num] = {marker:marker, latlon:latlon, file:_file}; 22783 map.addOverlay(marker); 22784 loadPinImage(_num,marker,_file); 22785 22786 return marker; 22787 }else{ 22788 return {}; 22789 } 22790 }else{ 22791 return {}; 22792 } 22793 }else{ 22794 return {}; 22795 } 22796 22797 } 22798 22799 function getPinFileName(_pinfile){ 22800 var _suffix = _target_map.data("channel"); 22801 var _pintype = _target_map.data("pintype"); 22802 if(_pintype == 1 || !_pinfile){ 22803 // non text 22804 return "/assets/a/images/shop-list-0001/icon-pin.png"; 22805 }else{ 22806 // text 22807 return _pinfile; 22808 } 22809 22810 } 22811 22812 function checkMap(){ /* mapmaster access check */ 22813 var _check_map = typeof TMIMapapi; 22814 if(_check_map === "object") 22815 return true; 22816 else 22817 return false; 22818 } 22819 function setMap(){ 22820 if(checkMap()){ 22821 map = new TMIMapapi.Map(map_id); 22822 22823 map.setMapSettings({ 22824 zoomReverse:true, 22825 wheelZoom:false, 22826 dragMove_sp: false 22827 }); 22828 zoomControl = new TMIMapapi.ZoomControl({ 22829 position: TMIMapapi.ControlPosition.TOP_RIGHT 22830 }); 22831 map.addControl(zoomControl); 22832 22833 var sizeDetect = $("#size-detect").css("font-family").replace(/"/g,"").replace(/'/g,""); 22834 if(sizeDetect.indexOf("pc") < 0){ 22835 var controlDiv = document.createElement('div'); 22836 controlDiv.style.backgroundColor = '#FFF'; 22837 controlDiv.style.border = '1px solid #000'; 22838 var controlButton = document.createElement('input'); 22839 controlButton.type = 'button'; 22840 controlButton.value = 'å°å³ã®ç§»åæ¹æ³ã«ã¤ãã¦'; 22841 controlButton.onclick = function () { 22842 var _html = '<div class="control-message "><span>ä¸å¿ã«ç§»åãããç®æã<br>ããã«ã¿ãããã¦ãã ãã</span></div>'; 22843 _target_map.find(".map-list").append(_html); 22844 _target_map.find(".map-list .control-message").click(function(){ 22845 $(this).remove(); 22846 }); 22847 }; 22848 controlDiv.appendChild(controlButton); 22849 var customControl = new TMIMapapi.CustomControl(controlDiv,{ 22850 position: TMIMapapi.ControlPosition.TOP_LEFT, 22851 offset: new TMIData.Pixel(10, 10) 22852 }); 22853 map.addControl(customControl); 22854 } 22855 22856 22857 var _panel = _target_map.find(".pin-data"); 22858 var _element = $(_panel[0]); 22859 nowPinSize = parseFloat(_dev_pinsize[sizeDetect]); 22860 22861 var _marker = addMarker(0, _element); 22862 _last_latlon = _marker.latlon; 22863 22864 map.addEvent(TMIMapapi.EVENT_NO_CITYPLAN,function(){ 22865 var mapInfo = map.getMapInfo(); 22866 map.changeLevel(mapInfo.level+1); 22867 _last_fit_level = mapInfo.level+1; 22868 22869 }); 22870 22871 22872 22873 22874 var _level_data = _target_map.data("level"); 22875 if(_level_data){ 22876 22877 _dev["sp"] = _level_data["sp"]; 22878 _dev["tab-normal"] = _dev["tab-large"] = _level_data["tab"]; 22879 _dev["pc-small"] = _dev["pc-normal"] = _dev["pc-large"] = _level_data["pc"]; 22880 22881 22882 if(_dev[sizeDetect] != 9999 && isFinite(DMS.mapListLevel[_dev[sizeDetect]])){ 22883 drawFitMap(DMS.mapListLevel[_dev[sizeDetect]] , _last_latlon.lat, _last_latlon.lon); 22884 22885 }else{ 22886 if(latlons.length > 0){ 22887 var _fittingLevel = map.getFittingLevelByArray(latlons, 44); 22888 drawFitMap(_fittingLevel.level, _fittingLevel.center.lat,_fittingLevel.center.lon); 22889 22890 } 22891 } 22892 }else{ 22893 if(latlons.length > 0){ 22894 var _fittingLevel = map.getFittingLevelByArray(latlons); 22895 drawFitMap(_fittingLevel.level, _fittingLevel.center.lat,_fittingLevel.center.lon); 22896 22897 }else{ 22898 22899 map.draw(); 22900 } 22901 } 22902 }else{ 22903 _target_map.find(".map-list #map").html("ãã®ç°å¢ã§ã¯mapmasterã«ããå°å³ã¯è¡¨ç¤ºã§ãã¾ããã").css({"text-align":"center", "font-size":"22px"}); 22904 } 22905 } 22906 22907 function drawFitMap(_level, _lat, _lon){ 22908 if(!_level || _level == null){ 22909 _level = 19; 22910 } 22911 if(_lat && _lon){ 22912 if(_level != _last_fit_level || _lat != _last_fit_lat || _lon != _last_fit_lon){ 22913 map.draw({ 22914 level:_level, 22915 lat:_lat, 22916 lon:_lon 22917 }); 22918 _last_fit_level = _level; 22919 _last_fit_lat = _lat; 22920 _last_fit_lon = _lon; 22921 } 22922 } 22923 22924 } 22925 22926 function fittingLevel(){ 22927 if(latlons.length > 0){ 22928 var fittingLevel = map.getFittingLevelByArray(latlons, 44); 22929 22930 if(_last_fit_level != fittingLevel.level){ 22931 map.changeLevel(fittingLevel.level); 22932 _last_fit_level = fittingLevel.level; 22933 } 22934 if(_last_fit_lat != fittingLevel.center.lat || _last_fit_lon != fittingLevel.center.lon){ 22935 map.changeCenter(fittingLevel.center); 22936 _last_fit_lat = fittingLevel.center.lat; 22937 _last_fit_lon = fittingLevel.center.lon; 22938 } 22939 } 22940 } 22941 22942 function openInfoWindow(marker, latlon, pixel) { 22943 var _obj = marker.getUserData(); 22944 var html = '<div class="marker-box">'; 22945 html += '<div><a href="'+_obj.url+'">'+_obj.name+'</a></div>'; 22946 html += '<div>'+_obj.address+'</div>'; 22947 html += '<div>'+marker.getUserData().tel+'</div>'; 22948 html += '<div>'; 22949 marker.openInfoWindow(html); 22950 } 22951 22952 22953 var _pinsize_data = _target_map.data("pinsize"); 22954 if(_pinsize_data){ 22955 _dev_pinsize["sp"] = _pinsize_data["sp"]; 22956 _dev_pinsize["tab-normal"] = _dev_pinsize["tab-large"] = _pinsize_data["tab"]; 22957 _dev_pinsize["pc-small"] = _dev_pinsize["pc-normal"] = _dev_pinsize["pc-large"] = _pinsize_data["pc"]; 22958 }else{ 22959 _dev_pinsize["sp"] = 1; 22960 _dev_pinsize["tab-normal"] = _dev_pinsize["tab-large"] = 1; 22961 _dev_pinsize["pc-small"] = _dev_pinsize["pc-normal"] = _dev_pinsize["pc-large"] = 1; 22962 } 22963 22964 setMap(); 22965 22966 22967 $(window).resize(function(){ 22968 if(map){ 22969 clearTimeout(_timer_id); 22970 _timer_id = setTimeout(function(){ 22971 22972 map.draw(); 22973 var sizeDetect = $("#size-detect").css("font-family").replace(/"/g,"").replace(/'/g,""); 22974 if(_last_sizeDetect != sizeDetect){ 22975 if(_dev && _dev[sizeDetect] != 9999 && isFinite(DMS.mapListLevel[_dev[sizeDetect]])){ 22976 map.changeLevel(DMS.mapListLevel[_dev[sizeDetect]]); 22977 _last_fit_level = DMS.mapListLevel[_dev[sizeDetect]]; 22978 map.changeCenter(_last_latlon); 22979 _last_fit_lat = _last_latlon._lat; 22980 _last_fit_lon = _last_latlon._lon; 22981 }else{ 22982 _last_fit_lat = undefined; 22983 _last_fit_lon = undefined; 22984 fittingLevel(); 22985 } 22986 _last_sizeDetect = sizeDetect; 22987 22988 if(sizeDetect.indexOf("pc") >= 0){ 22989 _target_map.find(".map-list .control-message").remove(); 22990 } 22991 22992 nowPinSize = parseFloat(_dev_pinsize[sizeDetect]); 22993 for(var i=0;i<markerlist.length;i++){ 22994 var _o = markerlist[i]; 22995 if(imgAry[i]){ 22996 _o.marker.setImage(_o.file,new TMIData.Size(Math.round(imgAry[i].width * nowPinSize) , Math.round(imgAry[i].height * nowPinSize)) ); 22997 } 22998 } 22999 } 23000 },300); 23001 23002 } 23003 }); 23004 function changeDisplay(){ 23005 if(map){ 23006 if(latlons.length > 0){ 23007 var _fittingLevel = map.getFittingLevelByArray(latlons); 23008 drawFitMap(_fittingLevel.level, _fittingLevel.center.lat,_fittingLevel.center.lon); 23009 }else{ 23010 map.draw(); 23011 fittingLevel(); 23012 } 23013 } 23014 } 23015 23016 DMS.customEvent.addEventListner(DMS.customEvent.INIT_UNIT, function(){ 23017 changeDisplay(); 23018 }); 23019 /*TMICommon.Event.removeEventType(map.mapContainer , TMIMapapi.EVENT_MOUSE_WHEEL);*/ 23020 }); 23021 23022 } 23023});var DMS = DMS || {}; 23024DMS.mapListLevel = [ 2302520,19,18,17,16,15,14,13,12,11,10,9,8,7,6 23026]; 23027 23028 23029$(function () { 23030
23031 function init() { 23032 if ($(".model-grade-0006").length > 0) { 23033 $(".model-grade-0006").each(function () { 23034 getGradeData($(this)); 23035 }) 23036 } 23037 } 23038 init(); 23039 23040 function getGradeData(_target) { 23041 var clientId = _target.data("client_id") 23042 var carNameEn = _target.data("car_name_en") 23043 console.log(clientId,carNameEn) 23044 var d = new Date(); 23045 var yy = d.getFullYear(); 23046 var mm = d.getMonth() + 1; 23047 var dd = d.getDate(); 23048 mm = ('0' + mm).slice(-2); 23049 dd = ('0' + dd).slice(-2); 23050 var date = "" + yy + mm + dd; 23051 23052 var _url = `https://api.toyota.jp/estimate/v1/saleoffice/${clientId}/cars/${carNameEn}/grades?registrationExpectedDate=${date}` 23053 // var _url = "./data/data.json" 23054 23055 $.ajax({ 23056 type: 'GET', 23057 url: _url, 23058 xhrFields: { 23059 withCredentials: true 23060 }, 23061 dataType: 'json', 23062 timeout: 10000 23063 }) 23064 .done(function (data) { 23065 var gradeList = data.gradeList; 23066 if (gradeList.length > 0) { 23067 replaceOkinawaPrice(data.gradeList, _target) 23068 } else { 23069 setDefaultDom(_target); 23070 } 23071 }) 23072 .fail(function (jqXHR, textStatus, errorThrown) { 23073 console.error("ãã¼ã¿ãæ£å¸¸ã«åå¾åºæ¥ã¾ããã§ããã"); 23074 setDefaultDom(_target); 23075 }); 23076 } 23077 23078 function setDefaultDom(_target) { 23079 var _items = _target.find(".carPrice"); 23080 _items.each(function (index, _el) { 23081 if (!$(_el).hasClass("is-entered")) { 23082 $(_el).css("display","none") 23083 $(_el).find(".model-grade-0006__table--tbody--content").empty(); 23084 // var _errorhtml = ` - å <br class="br_sp"><span class="model-grade-0006__table--tbody--span--price">ï¼ç¨æ - åï¼</span>`; 23085 var _errorhtml = ""; 23086 $(_el).find(".model-grade-0006__table--tbody--content").append(_errorhtml) 23087 // $(_el).find(".model-grade-0006__table--tbody--content").animate({ opacity: 1 }, 200) 23088 } 23089 }); 23090 } 23091 23092 function replaceOkinawaPrice(gradeList, _target) { 23093 var _items = _target.find(".model-grade-0006__table--tbody"); 23094 _items.each(function (index, elm) { 23095 var factoryCarStyle = $(elm).data("factory_car_style"); 23096 23097 for (var i = 0; i < gradeList.length; i++) { 23098 var gradeItem = gradeList[i] 23099 var _tax = 1.1; 23100 23101 if (!$(elm).find(".carPrice").hasClass("is-entered")) { 23102 if (factoryCarStyle === gradeItem["makerCarStyle"]) { 23103 $(elm).find(".carPrice .model-grade-0006__table--tbody--content").empty(); 23104 $(elm).find(".carPrice .model-grade-0006__table--tbody--content").parent().addClass("change-price"); 23105 var MAKER_PRICE = "-"; 23106 var NON_TAXED_PRICE = "-"; 23107 if (gradeItem["price"]) { 23108 MAKER_PRICE = gradeItem["price"].toLocaleString(); 23109 NON_TAXED_PRICE = Math.round(gradeItem["price"] / _tax).toLocaleString(); 23110 } 23111 var _price = $(elm).find(".carPrice .model-grade-0006__table--tbody--content"); 23112 var _html = ""; 23113 if (!$(elm).find(".carPrice").hasClass("is-notax")) { 23114 _html = `${MAKER_PRICE}å <br class="br_sp"><span class="model-grade-0006__table--tbody--span--price">ï¼ç¨æ${NON_TAXED_PRICE}åï¼</span>`; 23115 } else { 23116 _html = `${NON_TAXED_PRICE}å`; 23117 } 23118 $(_price).append(_html); 23119 } 23120 } 23121 } 23122 }); 23123 checkChangeFailed(_target); 23124 // _target.find(".carPrice .model-grade-0006__table--tbody--content").animate({ opacity: 1 }, 400) 23125 } 23126 23127 function checkChangeFailed(_target) { 23128 console.log("pass"); 23129 var _items = _target.find(".model-grade-0006__table--tbody .carPrice"); 23130 for (var j = 0; j < _items.length; j++) { 23131 var _el = _items[j]; 23132 console.log(_el); 23133 if (!$(_el).hasClass("change-price") && !$(_el).hasClass("is-entered")) { 23134 $(_el).find(".carPrice .model-grade-0006__table--tbody--content").empty(); 23135 // var _errorhtml = ` - å <br class="br_sp"><span class="model-grade-0006__table--tbody--span--price">ï¼ç¨æ - åï¼</span>`; 23136 var _errorhtml = ""; 23137 $(_el).find(".carPrice .model-grade-0006__table--tbody--content").append(_errorhtml) 23138 23139 } 23140 } 23141 } 23142});$(function () { 23143 23144 var BoxHeightAlign = DMS.BoxHeightAlign; 23145 var boxHeightAlign = new BoxHeightAlign($(".new-blog-list-0001-wrap-inner"), {isALL: false}); 23146 23147 boxHeightAlign.init(); 23148 23149 var resizeTimer = false;
23150 23151 $(window).resize(function() { 23152 23153 if(resizeTimer !== false) { 23154 clearTimeout(resizeTimer); 23155 } 23156 23157 resizeTimer = setTimeout(function() { 23158 boxHeightAlign.update(); 23159 }, 200); 23160 }); 23161 23162 DMS.customEvent.addEventListner(DMS.customEvent.INIT_UNIT, function() { 23163 boxHeightAlign.init(); 23164 }); 23165 23166});/*news-set-0001*/ 23167 23168$(function () { 23169 23170 // var BoxHeightAlign = DMS.BoxHeightAlign; 23171 // var boxHeightAlign = new BoxHeightAlign($('.news-set-wrapper'), {isAll: false}); 23172 23173 // boxHeightAlign.init(); 23174 23175 // var resizeTimer = false; 23176 // $(window).resize(function() { 23177 23178 // if(resizeTimer !== false) { 23179 // clearTimeout(resizeTimer); 23180 // } 23181 23182 // resizeTimer = setTimeout(function() { 23183 // boxHeightAlign.update(); 23184 // }, 200); 23185 // }); 23186 23187 // DMS.customEvent.addEventListner(DMS.customEvent.INIT_UNIT, function() { 23188 // boxHeightAlign.init(); 23189 // }); 23190 23191 $(".news-set-0001").each(function(){ 23192 boxHeight($(this)); 23193 }); 23194 23195 function boxHeight(_target) { 23196 23197 var boxheightAlign = new DMS.BoxHeightAlign($(_target),{ 23198 isAll:false 23199 }); 23200 23201 boxheightAlign.init(); 23202 23203 $(window).on('resize', function() { 23204 boxheightAlign.update(); 23205 }); 23206 23207 DMS.customEvent.addEventListner(DMS.customEvent.INIT_UNIT, function () { 23208 boxheightAlign.update(); 23209 }); 23210 23211 } 23212 23213 23214 23215 23216 setTimeout(function(){ 23217 setSNS(); 23218 },100); 23219 23220 function setSNS(){ 23221 23222 //twitterã®JSèªã¿è¾¼ã¿ 23223 $(function () { 23224 if (typeof twttr ==='undefined' || !twttr.widgets) { 23225 var twitterjs = document.createElement("script"); 23226 twitterjs.async = true; 23227 twitterjs.src = '//platform.twitter.com/widgets.js'; 23228 document.getElementsByTagName('body')[0].appendChild(twitterjs); 23229 } 23230 else { 23231 twttr.widgets.load(); 23232 } 23233 }); 23234 23235 //facebookã®JSèªã¿è¾¼ã¿ 23236 $(function(d, s, id) { 23237 var js, fjs = d.getElementsByTagName(s)[0]; 23238 if (d.getElementById(id)) return; 23239 js = d.createElement(s); js.id = id; 23240 js.src = "//connect.facebook.net/ja_JP/sdk.js#xfbml=1&version=v2.4&appId="; 23241 fjs.parentNode.insertBefore(js, fjs); 23242 }(document, 'script', 'facebook-jssdk')); 23243 23244 var _cnt = 0; 23245 var _check_tw_flag; 23246 var _check_fb_flag; 23247 var _myid = setInterval(function(){ 23248 if(window.twttr && window.twttr.widgets && window.twttr.widgets.load && !_check_tw_flag){ 23249 _check_tw_flag = true; 23250 } 23251 if(window.FB && window.FB.XFBML && window.FB.XFBML.parse && !_check_fb_flag){ 23252 _check_fb_flag = true; 23253 } 23254 if(_check_fb_flag && _check_tw_flag){ 23255 _cnt++; 23256 if(_cnt >= 100){ 23257 window.twttr.widgets.load(); 23258 window.FB.XFBML.parse(); 23259 clearInterval(_myid); 23260 } 23261 } 23262 },10); 23263 23264 $(function () { 23265 var timer = false; 23266 var w = $(window).width(); 23267 var w_resize; 23268 $(window).on("orientationchange resize",function() { 23269 if (timer !== false) { 23270 clearTimeout(timer); 23271 } 23272 timer = setTimeout(function() { 23273 boxWidth=$('.pagePlugin').width(); 23274 currentWidth=$('.pagePlugin .fb-page').attr('data-width'); 23275 if(boxWidth != currentWidth){ 23276 $('.pagePlugin .fb-page').attr('data-width', boxWidth); 23277 FB.XFBML.parse(document.getElementById('pagePlugin')); 23278 } 23279 if (w != w_resize){ 23280 w = $(window).width(); 23281 } 23282 }, 200); 23283 }); 23284 }); 23285 23286 } 23287});/*panel-0007*/ 23288$(function () { 23289 23290 $(".panel-0007").each(function(){ 23291 boxHeight( $(this) ); 23292 }); 23293 23294 function boxHeight(_target){ 23295 23296 var boxheightAlign = new DMS.BoxHeightAlign($(".panel-0007"),{ 23297 isAll:false 23298 }); 23299 23300 boxheightAlign.init(); 23301 23302 $(window).on('resize', function() { 23303 boxheightAlign.update(); 23304 }); 23305 23306 DMS.customEvent.addEventListner(DMS.customEvent.INIT_UNIT, function () { 23307 boxheightAlign.update(); 23308 }); 23309 23310 } 23311 23312});// recommended_package_payment_plan 23313 23314$(function() { 23315 $(".recommended-package-payment-plan-0001").each(function() { 23316 var _tab_block = $(this).find(".tabcontent"); 23317 var _tab_block_count = _tab_block.length; 23318 if (_tab_block_count > 1) { 23319 DMS.setTabColor({ 23320 "target_color": $(this).find(".recommended-package-payment-plan__tab"), 23321 "target_tab": $(this).find(".recommended-package-payment-plan__tab .recommended-package-payment-plan__tab__list"), 23322 "call": function(_num) { 23323 for (var i = 0; i < _tab_block.length; i++) { 23324 if ($(_tab_block[_num]).is($(_tab_block[i]))) { 23325 $(_tab_block[i]).show(); 23326 } else { 23327 $(_tab_block[i]).hide(); 23328 } 23329 } 23330 } 23331 }); 23332 } 23333 }); 23334});// recommended_package_payment_plan 23335 23336$(function() { 23337 $(".recommended-package-payment-plan-0002").each(function() { 23338 var _tab_block = $(this).find(".tabcontent_0002"); 23339 var _tab_block_count = _tab_block.length; 23340 if (_tab_block_count > 1) { 23341 DMS.setTabColor({ 23342 "target_color": $(this).find(".recommended-package-payment-plan__tab_0002"), 23343 "target_tab": $(this).find(".recommended-package-payment-plan__tab_0002 .recommended-package-payment-plan__tab__list_0002"), 23344 "call": function(_num) { 23345 for (var i = 0; i < _tab_block.length; i++) { 23346 if ($(_tab_block[_num]).is($(_tab_block[i]))) { 23347 $(_tab_block[i]).show(); 23348 } else { 23349 $(_tab_block[i]).hide(); 23350 } 23351 } 23352 } 23353 }); 23354 } 23355 }); 23356});$(function () { 23357 if($(".service-information").length>0){ 23358 $(".service-information").each(function(){ 23359 var _target = $(this); 23360 var markerlist = []; 23361 var map; 23362 var latlons = []; 23363 var _last_sizeDetect; 23364 var _last_latlon; 23365 var _last_fit_level; 23366 var _last_fit_lat; 23367 var _last_fit_lon; 23368 var _dev = {}; 23369 var _dev_pinsize = {}; 23370 var _target_map = $(this); 23371 var _timer_id; 23372 23373 var _last_sizedetect=""; 23374 23375 var imgAry = []; 23376 var pinImageNum; 23377 var nowPinSize; 23378 23379 var map_id = "map"+_target.parent().attr("id"); 23380 _target.find(".map-list").append("<div class='map-main' id='"+map_id+"'></div>"); 23381 23382 23383 function loadPinImage(_num , _marker, _file){ 23384 $('<img src="'+_file+'">').on('load', function(){ 23385 var _target=$(this); 23386 if(_target[0].naturalHeight != 0){
23387 imgAry[_num] = {width:_target[0].naturalWidth, height:_target[0].naturalHeight}; 23388 _marker.setImage(_file , new TMIData.Size(Math.round(_target[0].naturalWidth * nowPinSize) , Math.round(_target[0].naturalHeight * nowPinSize)) ); 23389 23390 } 23391 }); 23392 } 23393 23394 function addMarker(_num , _element){ 23395 if(checkMap()){ 23396//console.log("pinfile ="+_element.data("pin")); 23397 var _latlng = _element.data("latlng").split(","); 23398 if(_latlng[0] && _latlng[1]){ 23399 var _lat = parseFloat(_latlng[0]); 23400 var _lng = parseFloat(_latlng[1]); 23401 var latlon = new TMIData.LatLon(_lat, _lng); 23402 var _error_flag = false; 23403 var _file = getPinFileName(_element.data("pin")); 23404 try { 23405 var marker = new TMIMapapi.Marker(latlon); 23406 }catch(e){ 23407 _error_flag = true; 23408 } 23409 if(!_error_flag){ 23410 marker.setUserData({ 23411 "name":_element.data("title"), 23412 "address":_element.data("address"), 23413 "tel":_element.data("tel") 23414 }); 23415 marker.addEvent( 23416 TMIMapapi.EVENT_CLICK, 23417 openInfoWindow, 23418 "MarkerClick"); 23419 latlons.push(new TMIData.LatLon(_lat, _lng)); 23420 markerlist[_num] = {marker:marker, latlon:latlon, file:_file}; 23421 map.addOverlay(marker); 23422 loadPinImage(_num,marker,_file); 23423 23424 return marker; 23425 }else{ 23426 return {}; 23427 } 23428 }else{ 23429 return {}; 23430 } 23431 }else{ 23432 return {}; 23433 } 23434 23435 } 23436 23437 function getPinFileName(_pinfile){ 23438 var _pintype = _target.data("pintype"); 23439 if(_pintype == 1 || !_pinfile){ 23440 // non text 23441 return "/assets/a/images/shop-list-0001/icon-pin.png"; 23442 }else{ 23443 // text 23444 return _pinfile; 23445 } 23446 23447 } 23448 23449 function checkMap(){ /* mapmaster access check */ 23450 var _check_map = typeof TMIMapapi; 23451 if(_check_map === "object") 23452 { 23453 return true; 23454 }else{ 23455 return false; 23456 } 23457 } 23458 function setMap(){ 23459 if(checkMap()){ 23460 if($("#"+map_id).width() > 0){ 23461 map = new TMIMapapi.Map(map_id); 23462 map.addEvent(TMIMapapi.EVENT_NO_CITYPLAN,function(){ 23463 var mapInfo = map.getMapInfo(); 23464 map.changeLevel(mapInfo.level+1); 23465 _last_fit_level = mapInfo.level+1; 23466 }); 23467 map.setMapSettings({ 23468 zoomReverse:true, 23469 wheelZoom:false, 23470 dragMove_sp: false 23471 }); 23472 zoomControl = new TMIMapapi.ZoomControl({ 23473 position: TMIMapapi.ControlPosition.TOP_RIGHT 23474 }); 23475 map.addControl(zoomControl); 23476 23477 var sizeDetect = $("#size-detect").css("font-family").replace(/"/g,"").replace(/'/g,""); 23478 if(sizeDetect.indexOf("pc") < 0){ 23479 var controlDiv = document.createElement('div'); 23480 controlDiv.style.backgroundColor = '#FFF'; 23481 controlDiv.style.border = '1px solid #000'; 23482 var controlButton = document.createElement('input'); 23483 controlButton.type = 'button'; 23484 controlButton.value = 'å°å³ã®ç§»åæ¹æ³ã«ã¤ãã¦'; 23485 controlButton.onclick = function () { 23486 var _html = '<div class="control-message "><span>ä¸å¿ã«ç§»åãããç®æã<br>ããã«ã¿ãããã¦ãã ãã</span></div>'; 23487 _target_map.find(".map-list").append(_html); 23488 _target_map.find(".map-list .control-message").click(function(){ 23489 $(this).remove(); 23490 }); 23491 }; 23492 controlDiv.appendChild(controlButton); 23493 var customControl = new TMIMapapi.CustomControl(controlDiv,{ 23494 position: TMIMapapi.ControlPosition.TOP_LEFT, 23495 offset: new TMIData.Pixel(10, 10) 23496 }); 23497 map.addControl(customControl); 23498 } 23499 var _panel = _target_map.find(".pin-data"); 23500 var _element = $(_panel[0]); 23501 nowPinSize = parseFloat(_dev_pinsize[sizeDetect]); 23502 23503 var _marker = addMarker(0, _target.find(".map-list-wrapper")); 23504 _last_latlon = _marker.latlon; 23505 var _level_data = _target_map.data("level"); 23506 if(_level_data){ 23507 23508 _dev["sp"] = _level_data["sp"]; 23509 _dev["tab-normal"] = _dev["tab-large"] = _level_data["tab"]; 23510 _dev["pc-small"] = _dev["pc-normal"] = _dev["pc-large"] = _level_data["pc"]; 23511 if(_dev[sizeDetect] != 9999 && isFinite(DMS.mapListLevel[_dev[sizeDetect]])){ 23512 drawFitMap(DMS.mapListLevel[_dev[sizeDetect]] , _last_latlon.lat, _last_latlon.lon); 23513 }else{ 23514 if(latlons.length > 0){ 23515 var _fittingLevel = map.getFittingLevelByArray(latlons, 44); 23516 drawFitMap(_fittingLevel.level, _fittingLevel.center.lat,_fittingLevel.center.lon); 23517 23518 } 23519 } 23520 }else{ 23521 if(latlons.length > 0){ 23522 var _fittingLevel = map.getFittingLevelByArray(latlons); 23523 drawFitMap(_fittingLevel.level, _fittingLevel.center.lat,_fittingLevel.center.lon); 23524 23525 }else{ 23526 23527 map.draw(); 23528 } 23529 } 23530 } 23531 }else{ 23532 _target.find("#"+map_id).html("ãã®ç°å¢ã§ã¯mapmasterã«ããå°å³ã¯è¡¨ç¤ºã§ãã¾ããã").css({"text-align":"center", "font-size":"22px"}); 23533 } 23534 } 23535 function drawFitMap(_level, _lat, _lon){ 23536 if(!_level || _level == null){ 23537 _level = 19; 23538 } 23539 if(_lat && _lon){ 23540 if(_level != _last_fit_level || _lat != _last_fit_lat || _lon != _last_fit_lon){ 23541 map.draw({ 23542 level:_level, 23543 lat:_lat, 23544 lon:_lon 23545 }); 23546 _last_fit_level = _level; 23547 _last_fit_lat = _lat; 23548 _last_fit_lon = _lon; 23549 } 23550 } 23551 23552 } 23553 function fittingLevel(){ 23554 if(latlons.length > 0){ 23555 var fittingLevel = map.getFittingLevelByArray(latlons, 44); 23556 23557 if(_last_fit_level != fittingLevel.level){ 23558 map.changeLevel(fittingLevel.level); 23559 _last_fit_level = fittingLevel.level; 23560 } 23561 if(_last_fit_lat != fittingLevel.center.lat || _last_fit_lon != fittingLevel.center.lon){ 23562 map.changeCenter(fittingLevel.center); 23563 _last_fit_lat = fittingLevel.center.lat; 23564 _last_fit_lon = fittingLevel.center.lon; 23565 } 23566 } 23567 } 23568 23569 function openInfoWindow(marker, latlon, pixel) { 23570 var _obj = marker.getUserData(); 23571 var html = '<div class="marker-box">'; 23572 html += '<div class="name">'+_obj.name+'</div>'; 23573 html += '<div>'+_obj.address+'</div>'; 23574 html += '<div>'+marker.getUserData().tel+'</div>'; 23575 html += '<div>'; 23576 marker.openInfoWindow(html); 23577 } 23578 23579 var _pinsize_data = _target_map.data("pinsize"); 23580 if(_pinsize_data){ 23581 _dev_pinsize["sp"] = _pinsize_data["sp"]; 23582 _dev_pinsize["tab-normal"] = _dev_pinsize["tab-large"] = _pinsize_data["tab"]; 23583 _dev_pinsize["pc-small"] = _dev_pinsize["pc-normal"] = _dev_pinsize["pc-large"] = _pinsize_data["pc"]; 23584 }else{ 23585 _dev_pinsize["sp"] = 1; 23586 _dev_pinsize["tab-normal"] = _dev_pinsize["tab-large"] = 1; 23587 _dev_pinsize["pc-small"] = _dev_pinsize["pc-normal"] = _dev_pinsize["pc-large"] = 1; 23588 } 23589 23590 setMap(); 23591 23592 $(window).resize(function(){ 23593 if(map){ 23594 clearTimeout(_timer_id); 23595 _timer_id = setTimeout(function(){ 23596 23597 map.draw(); 23598 var sizeDetect = $("#size-detect").css("font-family").replace(/"/g,"").replace(/'/g,""); 23599 if(_last_sizeDetect != sizeDetect){ 23600 if(_dev && _dev[sizeDetect] != 9999 && isFinite(DMS.mapListLevel[_dev[sizeDetect]])){ 23601 map.changeLevel(DMS.mapListLevel[_dev[sizeDetect]]); 23602 _last_fit_level = DMS.mapListLevel[_dev[sizeDetect]]; 23603 map.changeCenter(_last_latlon); 23604 _last_fit_lat = _last_latlon._lat; 23605 _last_fit_lon = _last_latlon._lon; 23606 }else{ 23607 _last_fit_lat = undefined; 23608 _last_fit_lon = undefined; 23609 fittingLevel(); 23610 } 23611 _last_sizeDetect = sizeDetect; 23612 23613 if(sizeDetect.indexOf("pc") >= 0){ 23614 _target_map.find(".map-list .control-message").remove(); 23615 } 23616 23617 nowPinSize = parseFloat(_dev_pinsize[sizeDetect]); 23618 for(var i=0;i<markerlist.length;i++){ 23619 var _o = markerlist[i]; 23620 if(imgAry[i]){ 23621 _o.marker.setImage(_o.file,new TMIData.Size(Math.round(imgAry[i].width * nowPinSize) , Math.round(imgAry[i].height * nowPinSize)) ); 23622 } 23623 } 23624 } 23625 },300); 23626 23627 } 23628 23629 }); 23630 23631 function changeDisplay(){ 23632 if(map){ 23633 if(latlons.length > 0){ 23634 var _fittingLevel = map.getFittingLevelByArray(latlons); 23635 drawFitMap(_fittingLevel.level, _fittingLevel.center.lat,_fittingLevel.center.lon); 23636 }else{ 23637 map.draw(); 23638 fittingLevel(); 23639 } 23640 } 23641 } 23642 DMS.customEvent.addEventListner(DMS.customEvent.INIT_UNIT, function(){ 23643 changeDisplay(); 23644 }); 23645 /*TMICommon.Event.removeEventType(map.mapContainer , TMIMapapi.EVENT_MOUSE_WHEEL);*/ 23646 23647 }); 23648 } 23649}); 23650$(function () { 23651 if($(".shop-list-0001").length>0){ 23652 var _target = $(".shop-list-0001"); 23653 var markerlist = []; 23654 var map; 23655 var latlons = []; 23656 var _active = $(".shop-list-0001 .tab-selector").data("active").split(","); 23657 var _dev = {}; 23658 var _dev_pinsize = {}; 23659 var imgAry = []; 23660 var pinImageNum; 23661 var nowPinSize; 23662 var queryCheckFlag = true; 23663 var _last_latlon; 23664 var _last_fit_level; 23665 var _last_fit_lat; 23666 var _last_fit_lon; 23667 var _timer_id; 23668 var _last_sizeDetect ; 23669 23670 var _panelHeightAlignObj = { 23671 "base_class":".shop-list-0001 .panel-list .store-panel", 23672 "sub_class":[ 23673 ".store-panel-wrapper" 23674 ] 23675 } 23676 var _sortpanelHeightAlignPcObj = { 23677 "base_class":".shop-list-0001 .service-list li", 23678 "sub_class":[ 23679 ".service-item" 23680 ] 23681 } 23682 var _sortpanelHeightAlignMobileObj = { 23683 "base_class":".shop-list-0001 .service-list li", 23684 "sub_class":[ 23685 "span" 23686 ] 23687 } 23688 var _democars = []; 23689 var _democars_store_list = []; 23690 DMS.panelHeightAlign(_panelHeightAlignObj); 23691 setAlignSortServiceList(); 23692 23693 var _last_tab = $(".shop-list-0001 .tab-selector li").first(); 23694 var _last_sizedetect=""; 23695 23696 var map_id = "map"+$(".shop-list-0001").parent().attr("id"); 23697 $(".shop-list-0001").find(".map-list").append("<div class='map-main' id='"+map_id+"'></div>"); 23698 23699 23700 $(".shop-list-0001 .tab-selector li").click(function(){ 23701 if(!_last_tab.is($(this))){ 23702 _last_tab.removeClass("active-tab"); 23703 $(this).addClass("active-tab");
23704 setActiveTab($(this)); 23705 setUnActiveTab(_last_tab); 23706 _last_tab = $(this); 23707 23708 /* map or panel */ 23709 if($(this).is( $(".shop-list-0001 .tab-selector li").first())){ 23710 _target.find(".panel-container").hide(); 23711 _target.find(".map-list").show(); 23712 setMap(); 23713 }else{ 23714 _target.find(".panel-container").show(); 23715 DMS.panelHeightAlign(_panelHeightAlignObj); 23716 _target.find(".map-list").hide(); 23717 setSortArea(); 23718 sortMain(false); 23719 23720 } 23721 map.draw(); 23722 23723 return false; 23724 } 23725 }); 23726 23727 23728 /* sort UI */ 23729 function toggleServiceItem(_element){ 23730 var _item = _element.find(".item-check"); 23731 if(_item.hasClass("active")){ 23732 _element.find(".item-check").removeClass($(".shop-list-0001 .service-list").data("activeclass")); 23733 }else{ 23734 _element.find(".item-check").addClass($(".shop-list-0001 .service-list").data("activeclass")); 23735 } 23736 _element.find(".item-check").toggleClass("active"); 23737 23738 } 23739 function activeServiceItem(_element){ 23740 _element.find(".item-check").addClass($(".shop-list-0001 .service-list").data("activeclass")); 23741 _element.find(".item-check").addClass("active"); 23742 23743 } 23744 $(".shop-list-0001 .search-box-container .service-list li .service-item").click(function(){ 23745 toggleServiceItem($(this)); 23746 sortMain(true); 23747 }); 23748 $(".shop-list-0001 .search-box-container .search-button").click(function(){ 23749 sortMain(true); 23750 }); 23751 $(".shop-list-0001 .search-box-container .sort-list select").change(function(){ 23752 sortMain(true); 23753 }); 23754 $(".shop-list-0001 .search-box-container .sort-list .keyword-text").keypress(function(e){ 23755 if(e.which == 13){ 23756 $(this).blur(); 23757 sortMain(true); 23758 } 23759 }); 23760 $(".shop-list-0001 .search-box-container .sort-box .button-reset").click(function(){ 23761 $(".shop-list-0001 .search-box-container .sort-list .sort-area").val("ãã¹ã¦ã®ã¨ãªã¢"); 23762 $(".shop-list-0001 .search-box-container .sort-list .sort-carname").val("æªé¸æ"); 23763 $(".shop-list-0001 .search-box-container .sort-list .keyword-text").val(""); 23764 $(".shop-list-0001 .search-box-container .service-list li").each(function(){ 23765 $(this).find(".item-check").removeClass("active").removeClass($(".shop-list-0001 .service-list").data("activeclass")); 23766 }); 23767 sortMain(true); 23768 }); 23769 23770 function setDemocarData(json){ 23771 var _data = json[i]; 23772 for(var i=0;i<json.length;i++){ 23773 var _data = json[i]; 23774 _democars[_data["CAR_NAME"]] = true; 23775 if(!_democars_store_list[_data["shop_id"]]){ 23776 _democars_store_list[_data["shop_id"]] = []; 23777 } 23778 _democars_store_list[_data["shop_id"]].push(_data["CAR_NAME"]); 23779 } 23780 addDemocarToDOM(); 23781 } 23782 function addDemocarToDOM(){ 23783 for(var i in _democars){ 23784 if(i){ 23785 var _html = '<option value="'+i+'">'+i+'</option>'; 23786 $(".shop-list-0001 .sort-list-car .sort-carname").append(_html); 23787 } 23788 } 23789 var _list = $(".shop-list-0001 li.store-panel"); 23790 for(var i=0;i<_list.length;i++){ 23791 var _shopid = $(_list[i]).data("shopid"); 23792 if(_democars_store_list[_shopid]){ 23793 $(_list[i]).data("democar" , _democars_store_list[_shopid].join(",")) 23794 } 23795 } 23796 $(".shop-list-0001 .sort-list-car .loading").hide(); 23797 $(".shop-list-0001 .sort-list-car .sort-list-form").show(); 23798 } 23799 23800 function setUnActiveTab(_element){ 23801 _element.removeClass("init-background bg-color-"+_active[2]+" txt-color-"+_active[1]); 23802 _element.addClass("init-background bg-color-"+_active[0]+" txt-color-"+_active[2]); 23803 23804 } 23805 function setActiveTab(_element){ 23806 _element.removeClass("init-background bg-color-"+_active[0]+" txt-color-"+_active[2]); 23807 _element.addClass("init-background bg-color-"+_active[2]+" txt-color-"+_active[1]); 23808 } 23809 23810 function sortMain(_writeCookieFlag){ 23811 var _area = $(".shop-list-0001 .search-box-container .sort-list .sort-area").val(); 23812 var _democar = $(".shop-list-0001 .search-box-container .sort-list .sort-carname").val(); 23813 var _keyword = $(".shop-list-0001 .search-box-container .sort-list .keyword-text").val(); 23814 var _democar_shopid = $(".shop-list-0001 .search-box-container .sort-list .sort-carname option[value='"+_democar+"']").data("shopid"); 23815 if(typeof _democar_shopid == "number"){ 23816 _democar_shopid = String(_democar_shopid); 23817 } 23818 23819 // console.log(_area+" "+_democar+" "+_keyword); 23820 var _service = $(".shop-list-0001 .search-box-container .service-list li"); 23821 var _service_id = []; 23822 var _service_names=[]; 23823 for(var i=0;i<_service.length;i++){ 23824 if($(_service[i]).find(".active").length > 0){ 23825 _service_id.push($(_service[i]).find(".service-item").data("id")); 23826 _service_names.push($(_service[i]).find("span").html() ); 23827 } 23828 } 23829 // save cookie 23830 if(_writeCookieFlag){ 23831 23832 $.cookie("shl-01-area", _area, { expires: 2000}); 23833// $.cookie("shl-01-service", _service_names, { expires: 2000}); 23834 } 23835 // console.log(_service_id); 23836 23837 /* search */ 23838 var _total = 0; 23839 var _panel = $(".shop-list-0001 .search-box-container .panel-list .store-panel"); 23840 for(var i=0;i<_panel.length;i++){ 23841 var _element = $(_panel[i]); 23842 23843 /* area */ 23844 var _area_flag = false;
23845 if(_area.indexOf("ãã¹ã¦ã®ã¨ãªã¢") < 0){ 23846 var _p_area = _element.data("area").split(","); 23847 for(var j=0;j<_p_area.length;j++){ 23848 if(_area === _p_area[j]){ 23849 _area_flag = true; 23850 break; 23851 } 23852 } 23853 }else{ 23854 _area_flag = true; 23855 } 23856 23857 /* democar */ 23858 var _democar_flag = false; 23859 23860 if(_democar_shopid){ 23861 var _p_democar = _democar_shopid.split(","); 23862 for(var j=0;j<_p_democar.length;j++){ 23863 if(_element.data("shopid") == _p_democar[j]){ 23864 _democar_flag = true; 23865 break; 23866 } 23867 } 23868 }else{ 23869 _democar_flag = true; 23870 } 23871 23872 /* keyword */ 23873 var _keyword_flag = false; 23874 if(_keyword != "" && _keyword != null && _keyword != undefined && _keyword.length > 0){ 23875 if(_element.find(".panel-info").text().indexOf(_keyword) >= 0){ 23876 _keyword_flag = true; 23877 } 23878 }else{ 23879 _keyword_flag = true; 23880 } 23881 23882 /* service */ 23883 var _service_flag = false; 23884 var _service_count = 0; 23885 if(_service_id.length > 0){ 23886 var _p_service = _element.data("service").split(","); 23887 for(j=0;j<_service_id.length;j++){ 23888 for(k=0;k<_p_service.length;k++){ 23889 if(parseInt(_service_id[j],10) == parseInt(_p_service[k],10)){ 23890 _service_count++; 23891 break; 23892 } 23893 } 23894 } 23895 if(_service_count == _service_id.length){ 23896 _service_flag = true; 23897 } 23898 }else{ 23899 _service_flag = true; 23900 } 23901 23902 //console.log(i+" "+_area_flag +" "+ _democar_flag +" "+ _keyword_flag +" "+ _service_flag); 23903 if(_area_flag && _democar_flag && _keyword_flag && _service_flag){ 23904 _element.show(); 23905 23906// addMarker(i, _element); 23907 if(checkMap()){ 23908 if(markerlist[i]){ 23909 markerlist[i].marker.show(); 23910 } 23911 } 23912 _total++; 23913 }else{ 23914 _element.hide(); 23915 23916 if(checkMap()){ 23917 if(markerlist[i]){ 23918 markerlist[i].marker.hide(); 23919 } 23920 } 23921 } 23922 } 23923 $(".shop-list-0001 .search-box-container .search-count-box .result").html(_total); 23924 DMS.panelHeightAlign(_panelHeightAlignObj); 23925 if(_total == 0){ 23926 $(".shop-list-0001 .panel-message").show(); 23927 }else{ 23928 $(".shop-list-0001 .panel-message").hide(); 23929 } 23930 23931 } 23932 23933 function loadPinImage(_num , _marker, _file){ 23934 $('<img src="'+_file+'">').on('load', function(){ 23935 var _target=$(this); 23936 if(_target[0].naturalHeight != 0){ 23937 imgAry[_num] = {width:_target[0].naturalWidth, height:_target[0].naturalHeight}; 23938 _marker.setImage(_file , new TMIData.Size(Math.round(_target[0].naturalWidth * nowPinSize) , Math.round(_target[0].naturalHeight * nowPinSize)) ); 23939 23940 } 23941 }); 23942 } 23943 23944 23945 function addMarker(_num , _element){ 23946 if(map && checkMap()){ 23947 var _latlng = _element.data("latlng").split(","); 23948 if(_latlng[0] && _latlng[1]){ 23949 var _lat = parseFloat(_latlng[0]); 23950 var _lng = parseFloat(_latlng[1]); 23951 if( _element.data("pin")){ 23952 var latlon = new TMIData.LatLon(_lat, _lng); 23953 var _error_flag = false; 23954 var _file = getPinFileName(_element.data("pin")); 23955 try { 23956 var marker = new TMIMapapi.Marker(latlon); 23957 }catch(e){ 23958 _error_flag = true; 23959 } 23960 if(!_error_flag){ 23961 marker.setUserData({ 23962 "name":_element.find(".store-panel-title").text(), 23963 "address":_element.find(".store-panel-address").text(), 23964 "tel":$(_element.find(".store-panel-tel")[0]).text(), 23965 "url":_element.find(".button-info a").attr("href") 23966 }); 23967 marker.addEvent( 23968 TMIMapapi.EVENT_CLICK, 23969 openInfoWindow, 23970 "MarkerClick"); 23971 latlons.push(new TMIData.LatLon(_lat, _lng)); 23972 markerlist[_num] = {marker:marker, latlon:latlon, file:_file}; 23973 loadPinImage(_num,marker,_file); 23974 23975 map.addOverlay(marker); 23976 }else{ 23977 return {}; 23978 } 23979 }else{ 23980 markerlist[_num] = null; 23981 } 23982 return marker; 23983 }else{ 23984 return {}; 23985 } 23986 }else{ 23987 return {}; 23988 } 23989 23990 } 23991 23992 function getPinFileName(_pinfile){ 23993 var _suffix = $(".shop-list-0001").data("channel"); 23994 var _pintype = $(".shop-list-0001").data("pintype"); 23995 if(_pintype == 1 || !_pinfile){ 23996 // non text 23997 return "/assets/a/images/shop-list-0001/icon-pin.png"; 23998 }else{ 23999 // text 24000 return _pinfile; 24001 } 24002 24003 } 24004 24005 function checkMap(){ /* mapmaster access check */ 24006 var _check_map = typeof TMIMapapi; 24007 if(_check_map === "object") 24008 return true; 24009 else 24010 return false;
24011 } 24012 function setMap(){ 24013 if(!map){ 24014 24015 if(checkMap()){ 24016 map = new TMIMapapi.Map(map_id); 24017 map.addEvent(TMIMapapi.EVENT_NO_CITYPLAN,function(){ 24018 var mapInfo = map.getMapInfo(); 24019 map.changeLevel(mapInfo.level+1); 24020 }); 24021 24022 map.setMapSettings({ 24023 zoomReverse:true, 24024 wheelZoom:false, 24025 dragMove_sp: false 24026 }); 24027 zoomControl = new TMIMapapi.ZoomControl({ 24028 position: TMIMapapi.ControlPosition.TOP_RIGHT 24029 }); 24030 map.addControl(zoomControl); 24031 24032 var sizeDetect = $("#size-detect").css("font-family").replace(/"/g,"").replace(/'/g,""); 24033 if(sizeDetect.indexOf("pc") < 0){ 24034 var controlDiv = document.createElement('div'); 24035 controlDiv.style.backgroundColor = '#FFF'; 24036 controlDiv.style.border = '1px solid #000'; 24037 var controlButton = document.createElement('input'); 24038 controlButton.type = 'button'; 24039 controlButton.value = 'å°å³ã®ç§»åæ¹æ³ã«ã¤ãã¦'; 24040 controlButton.onclick = function () { 24041 var _html = '<div class="control-message "><span>ä¸å¿ã«ç§»åãããç®æã<br>ããã«ã¿ãããã¦ãã ãã</span></div>'; 24042 _target.find(".map-list").append(_html); 24043 _target.find(".map-list .control-message").click(function(){ 24044 $(this).remove(); 24045 }); 24046 }; 24047 controlDiv.appendChild(controlButton); 24048 var customControl = new TMIMapapi.CustomControl(controlDiv,{ 24049 position: TMIMapapi.ControlPosition.TOP_LEFT, 24050 offset: new TMIData.Pixel(10, 10) 24051 }); 24052 map.addControl(customControl); 24053 } 24054 24055 24056 var _panel = $(".shop-list-0001 .search-box-container .panel-list .store-panel"); 24057 24058 var sizeDetect = $("#size-detect").css("font-family").replace(/"/g,"").replace(/'/g,""); 24059 nowPinSize = parseFloat(_dev_pinsize[sizeDetect]); 24060 24061 for(var i=0;i<_panel.length;i++){ 24062 var _element = $(_panel[i]); 24063 24064 addMarker(i, _element); 24065 24066 } 24067 24068/* TMICommon.Event.removeEventType(map.mapContainer , TMIMapapi.EVENT_MOUSE_WHEEL); */ 24069 24070 var _fittingLevel = map.getFittingLevelByArray(latlons, 44); 24071 drawFitMap(_fittingLevel.level, _fittingLevel.center.lat,_fittingLevel.center.lon); 24072 var _fittingLevel = map.getFittingLevelByArray(latlons, 44); 24073 drawFitMap(_fittingLevel.level, _fittingLevel.center.lat,_fittingLevel.center.lon); 24074 24075 setSortArea(); 24076 sortMain(false); 24077 }else{ 24078 /* dummy function */ 24079 map = { 24080 "draw":function(){}, 24081 "removeOverlay":function(){}, 24082 "addOverlay":function(){}, 24083 "getFittingLevelByArray":function(){}, 24084 "changeLevel":function(){}, 24085 "changeCenter":function(){} 24086 }; 24087 $(".shop-list-0001 .map-list #map").html("ãã®ç°å¢ã§ã¯mapmasterã«ããå°å³ã¯è¡¨ç¤ºã§ãã¾ããã").css({"text-align":"center", "font-size":"22px"}); 24088 24089 setSortArea(); 24090 sortMain(false); 24091 } 24092 }else{ 24093 setSortArea(); 24094 sortMain(false); 24095 } 24096 } 24097 24098 function setSortArea(){ 24099 var _areaname = ""; 24100 var _areaquery = ""; 24101 if(queryCheckFlag){ 24102 _areaquery = decodeURI(DMS.getQuery("shl-01-area")); 24103 } 24104 24105 24106 var _areaflag = false; 24107 24108 // unit setting 24109 if(_target.data("defaultarea") ){ 24110 $(".shop-list-0001 .search-box-container .sort-list-form select option").each(function(a , b){ 24111 if(_target.data("defaultarea") == $(b).attr("value")){ 24112 _areaname = $(b).attr("value"); 24113 } 24114 }); 24115 } 24116 24117 24118 //cookie 24119 $(".shop-list-0001 .search-box-container .sort-list-form select option").each(function(a , b){ 24120 if($.cookie("shl-01-area") == $(b).attr("value")){ 24121 _areaname = $(b).attr("value"); 24122 _areaflag = true; 24123 } 24124 }); 24125 24126 //url query 24127 $(".shop-list-0001 .search-box-container .sort-list-form select option").each(function(a , b){ 24128 if(_areaquery == $(b).attr("value")){ 24129 _areaname = $(b).attr("value"); 24130 _areaflag = true; 24131 } 24132 }); 24133 24134 24135 //area 24136 if(_areaname){ 24137 $(".shop-list-0001 .search-box-container .sort-list .sort-area").val(_areaname); 24138 } 24139 24140 //service 24141 var _url_service_list = ""; 24142 if(queryCheckFlag){ 24143 _url_service_list = DMS.getRegExpQuery(/shl-01-service[0-9]+/); 24144 } 24145 var _servicename = [] 24146 for(var i=0;i<_url_service_list.length;i++){ 24147 _servicename.push(_url_service_list[i].value); 24148 } 24149 24150 var _ui_service_name_list = $(".shop-list-0001 .search-box-container .service-list li span"); 24151 for(var i=0;i<_ui_service_name_list.length;i++){ 24152 for(var j=0;j<_servicename.length;j++){ 24153 if($(_ui_service_name_list[i]).text() == _servicename[j]){ 24154 activeServiceItem($(_ui_service_name_list[i]).parents(".service-item")); 24155 } 24156 } 24157 } 24158 24159 queryCheckFlag = false; // first access only 24160 24161 } 24162 24163 24164 function drawFitMap(_level, _lat, _lon){ 24165 if(!_level || _level == null){ 24166 _level = 4; 24167 } 24168 if(_lat && _lon){ 24169 if(_level != _last_fit_level || _lat != _last_fit_lat || _lon != _last_fit_lon){ 24170 map.draw({ 24171 level:_level, 24172 lat:_lat, 24173 lon:_lon 24174 }); 24175 _last_fit_level = _level; 24176 _last_fit_lat = _lat; 24177 _last_fit_lon = _lon; 24178 } 24179 } 24180 24181 } 24182 function fittingLevel(){ 24183 if(latlons.length > 0){ 24184 var fittingLevel = map.getFittingLevelByArray(latlons, 44); 24185 24186 if(_last_fit_level != fittingLevel.level){ 24187 map.changeLevel(fittingLevel.level); 24188 _last_fit_level = fittingLevel.level; 24189 } 24190 if(_last_fit_lat != fittingLevel.center.lat || _last_fit_lon != fittingLevel.center.lon){ 24191 map.changeCenter(fittingLevel.center); 24192 _last_fit_lat = fittingLevel.center.lat; 24193 _last_fit_lon = fittingLevel.center.lon; 24194 } 24195 } 24196 } 24197 24198 function openInfoWindow(marker, latlon, pixel) { 24199 var _obj = marker.getUserData(); 24200 var html = '<div class="marker-box">'; 24201 html += '<div><a href="'+_obj.url+'">'+_obj.name+'</a></div>'; 24202 html += '<div>'+_obj.address+'</div>'; 24203 html += '<div>'+marker.getUserData().tel+'</div>'; 24204 html += '<div>'; 24205 marker.openInfoWindow(html); 24206 } 24207 24208 function setSearchboxOpener(){ 24209 $(".shop-list-0001 .search-box-opener").click(function(){ 24210 if($(this).css("display").indexOf("none") < 0){ 24211 $(".shop-list-0001 .sort-box-wrapper").addClass("opener-aniamtion"); // set transition time 24212 $(".shop-list-0001 .sort-box-wrapper").toggleClass("close-search"); 24213 var _arrow_color = $(".shop-list-0001 .search-box-opener-content").data("arrowcolor"); 24214 if($(".shop-list-0001 .sort-box-wrapper").hasClass("close-search")){ 24215 // close 24216 $(".shop-list-0001 .sort-box-wrapper").css("margin-top", -$(".shop-list-0001 .sort-box").outerHeight()); 24217 $(".shop-list-0001 .search-box-opener-content").html("æ¡ä»¶ã§çµãè¾¼ã").css("background-image","url('/assets/a/images/shop-list-0001/arrow/"+_arrow_color+".png')"); 24218 24219 }else{ 24220 // open 24221 $(".shop-list-0001 .sort-box-wrapper").css("margin-top", "0%"); 24222 $(".shop-list-0001 .search-box-opener-content").html("éãã").css("background-image","url('/assets/a/images/shop-list-0001/arrow_down/"+_arrow_color+".png')"); 24223 } 24224 } 24225 }); 24226 } 24227 24228 function initializeSearcBoxOpener(){ 24229 var sizedetect = $("#size-detect").css("font-family").replace(/"/g,"").replace(/'/g,""); 24230 if((_last_sizedetect.indexOf("pc") >=0 || _last_sizedetect == "") 24231 && (sizedetect.indexOf("sp") >= 0 || sizedetect.indexOf("tab") >= 0) ){ 24232 // close sort menu 24233 $(".shop-list-0001 .sort-box-wrapper").css("margin-top", -$(".shop-list-0001 .sort-box").outerHeight()); 24234 $(".shop-list-0001 .sort-box-wrapper").addClass("close-search"); 24235 } 24236 if(sizedetect.indexOf("pc") >= 0){ 24237 // remove transition time 24238 $(".shop-list-0001 .sort-box-wrapper").removeClass("opener-aniamtion"); 24239 $(".shop-list-0001 .sort-box-wrapper").removeAttr("style").removeClass("close-search"); 24240 } 24241 if($(".shop-list-0001 .sort-box-wrapper").hasClass("close-search")){ 24242 $(".shop-list-0001 .sort-box-wrapper").css("margin-top", -$(".shop-list-0001 .sort-box").outerHeight()); 24243 } 24244 24245 } 24246 function setAlignSortServiceList(){ 24247 var sizeDetect = $("#size-detect").css("font-family").replace(/"/g,"").replace(/'/g,""); 24248 if(sizeDetect.indexOf("pc") >= 0){ 24249 DMS.panelHeightAlign(_sortpanelHeightAlignPcObj); 24250 }else{ 24251 DMS.panelHeightAlign(_sortpanelHeightAlignMobileObj); 24252 } 24253 } 24254 24255 function resizeMain(){ 24256 DMS.panelHeightAlign(_panelHeightAlignObj); 24257 setAlignSortServiceList(); 24258 initializeSearcBoxOpener(); 24259 24260 24261 if(map){ 24262 clearTimeout(_timer_id); 24263 _timer_id = setTimeout(function(){ 24264 var sizeDetect = $("#size-detect").css("font-family").replace(/"/g,"").replace(/'/g,""); 24265 24266 nowPinSize = parseFloat(_dev_pinsize[sizeDetect]); 24267 for(var i=0;i<markerlist.length;i++){ 24268 var _o = markerlist[i]; 24269 if(imgAry[i]){ 24270 _o.marker.setImage(_o.file,new TMIData.Size(Math.round(imgAry[i].width * nowPinSize) , Math.round(imgAry[i].height * nowPinSize)) ); 24271 } 24272 } 24273 24274 if(sizeDetect.indexOf("pc") >= 0){ 24275 $(".map-list .control-message").remove(); 24276 } 24277 24278 24279 map.draw(); 24280 if(_last_sizeDetect != sizeDetect){ 24281 if(_dev && _dev[sizeDetect] != 9999 && isFinite(DMS.mapListLevel[_dev[sizeDetect]])){ 24282 map.changeLevel(DMS.mapListLevel[_dev[sizeDetect]]); 24283 _last_fit_level = DMS.mapListLevel[_dev[sizeDetect]]; 24284 map.changeCenter(_last_latlon); 24285 _last_fit_lat = _last_latlon._lat; 24286 _last_fit_lon = _last_latlon._lon; 24287 }else{ 24288 _last_fit_lat = undefined; 24289 _last_fit_lon = undefined; 24290 fittingLevel(); 24291 } 24292 _last_sizeDetect = sizeDetect; 24293 24294 } 24295 },300); 24296 24297 } 24298 24299 } 24300 24301 var _pinsize_data = _target.data("pinsize"); 24302 if(_pinsize_data){ 24303 _dev_pinsize["sp"] = _pinsize_data["sp"]; 24304 _dev_pinsize["tab-normal"] = _dev_pinsize["tab-large"] = _pinsize_data["tab"]; 24305 _dev_pinsize["pc-small"] = _dev_pinsize["pc-normal"] = _dev_pinsize["pc-large"] = _pinsize_data["pc"]; 24306 }else{ 24307 _dev_pinsize["sp"] = 1; 24308 _dev_pinsize["tab-normal"] = _dev_pinsize["tab-large"] = 1; 24309 _dev_pinsize["pc-small"] = _dev_pinsize["pc-normal"] = _dev_pinsize["pc-large"] = 1; 24310 } 24311 24312 if(_target.data("defaultview") == 0){ 24313 setMap(); 24314 setActiveTab($($(".shop-list-0001 .tab-selector li")[0])); 24315 setUnActiveTab($($(".shop-list-0001 .tab-selector li")[1])); 24316 _last_tab = $($(".shop-list-0001 .tab-selector li")[0]); 24317 }else{ 24318 setUnActiveTab($($(".shop-list-0001 .tab-selector li")[0])); 24319 setActiveTab($($(".shop-list-0001 .tab-selector li")[1])); 24320 _last_tab = $($(".shop-list-0001 .tab-selector li")[1]); 24321 24322 setSortArea(); 24323 sortMain(false); 24324 24325 } 24326 setSearchboxOpener(); 24327 initializeSearcBoxOpener(); 24328 24329 24330 24331 $(window).resize(function(){ 24332 resizeMain(); 24333 }); 24334 24335 function changeDisplay(){ 24336 resizeMain(); 24337 if(map){ 24338 if(latlons.length > 0){ 24339 var _fittingLevel = map.getFittingLevelByArray(latlons); 24340 drawFitMap(_fittingLevel.level, _fittingLevel.center.lat,_fittingLevel.center.lon); 24341 }else{ 24342 map.draw(); 24343 fittingLevel(); 24344 } 24345 } 24346 } 24347 DMS.customEvent.addEventListner(DMS.customEvent.INIT_UNIT, function(){ 24348 changeDisplay(); 24349 }); 24350 24351 } 24352}); 24353/*slider-0001*/ 24354$(function() { 24355 24356 $('.slide_type01').on('init', function(){ 24357 $('.slider-0001').addClass('initialized'); 24358 }); 24359 24360 24361setTimeout(function(){ 24362 24363 $(".slider-0001").each(function() { 24364 var isfadeval = $(this).data("sliderAnimType"); 24365 var speedval = $(this).data("sliderSpeed"); 24366 var isfade = false, 24367 speed = 300 24368 if(isfadeval == '1'){ 24369 isfade = true 24370 console.log('slider-0001ãfade true') 24371 if(speedval == '2'){ 24372 console.log('slider-0001ãspeed 300') 24373 speed = 300 24374 }else if(speedval == '1'){ 24375 console.log('slider-0001ãspeed 800') 24376 speed = 800 24377 }else{ 24378 console.log('slider-0001ãspeed 1300') 24379 speed = 1300 24380 } 24381 }else{ 24382 isfade = false 24383 console.log('slider-0001ãfade false') 24384 if(speedval == '2'){ 24385 console.log('slider-0001ãspeed 200') 24386 speed = 100 24387 }else if(speedval == '1'){ 24388 console.log('slider-0001ãspeed 400') 24389 speed = 300 24390 }else{ 24391 console.log('slider-0001ãspeed 600') 24392 speed = 600 24393 } 24394 } 24395 mainSlick($(this), isfade, speed); 24396 }); 24397 24398 function mainSlick(_target, _isfade, _speed) { 24399 var slider = _target.find('.slide_type01'); 24400 var slider0001 = slider.slick({ 24401 infinite: true, 24402 slidesToShow: 1, 24403 slidesToScroll: 1, 24404 autoplay: true, 24405 speed: _speed, 24406 dots: true, 24407 autoplaySpeed: 5000, 24408 fade: _isfade, 24409 dotsClass: 'slider-0001-slick-dots-01', 24410 }); 24411 } 24412 24413}, 0.01); 24414 24415}); 24416 24417/*slider-0003*/ 24418$(function() { 24419 $(".slider-0003").each(function() { 24420 mainSlick($(this)); 24421 }); 24422 24423 function mainSlick(_target) { 24424 var _slider = _target.find('.slide_type03'); 24425 var _next_arrow = _target.find('.slick-next0003-03'); 24426 var _prev_arrow = _target.find('.slick-prev0003-03'); 24427 var slider0003 = _slider.slick({ 24428 infinite: true, 24429 autoplay: false, 24430 speed: 400, 24431 autoplaySpeed: 5000, 24432 slidesToShow: 3, 24433 slidesToScroll: 1,
24434 arrows: false, 24435 dots: false, 24436 initialSlide: 0, 24437 responsive: [{ 24438 breakpoint: 1280, 24439 settings: { 24440 slidesToShow: 3, 24441 slidesToScroll: 1 24442 } 24443 }, 24444 { 24445 breakpoint: 768, 24446 settings: { 24447 slidesToShow: 1, 24448 slidesToScroll: 1 24449 } 24450 } 24451 ] 24452 }); 24453 _next_arrow.on('click', function() { 24454 _slider.slick("slickNext"); 24455 }); 24456 _prev_arrow.on('click', function() { 24457 _slider.slick("slickPrev"); 24458 }); 24459 24460 //tab-0001ç¨ none â block åã»ããå¦ç 24461 var thisSliderWrap = _target.parent(".unit-wrapper"); 24462 $(".tab-0001").click(function() { 24463 if(thisSliderWrap.is(':visible')){ 24464 slider0003.slick("setPosition"); 24465 } 24466 }); 24467 24468 24469 } 24470});/*staff-recommendation-0001*/ 24471$(function() { 24472 24473 // function setSpDom() { 24474 // var dom = $(".staff-recommendation-slider.slick-slider").html(); 24475 // var insertTarget = $(".staff-recommendation-slider.sp-wrap"); 24476 // insertTarget.append(dom); 24477 // } 24478 // setSpDom(); 24479 24480 $(".staff-recommendation-0001").each(function() { 24481 var list_item = $(this).find(".staff-recommendation-slider.slick-slider .staff-recommendation-list"); 24482 var list_item_count = list_item.length; 24483 var _thisSlider = $(this).find(".staff-recommendation-slider"); 24484 24485 if (list_item_count > 1) { 24486 mainSlick($(this)); 24487 } else { 24488 _thisSlider.addClass('panel--one'); 24489 } 24490 }); 24491 24492 function mainSlick(_target) { 24493 var _slider = _target.find('.slick-slider'); 24494 var _next_arrow = _target.find('.staff-recommendation__slick-next'); 24495 var _next_arrow__2 = _target.find('.staff-recommendation__slick-next-2'); 24496 var _prev_arrow = _target.find('.staff-recommendation__slick-prev'); 24497 24498 24499 var slide_item = _target.find(".staff-recommendation-slider.slick-slider .staff-recommendation-list"); 24500 var slide_item_count = slide_item.length; 24501 // console.log(slide_item_count) 24502 24503 var initialSlide; 24504 24505 if (slide_item_count > 2) { 24506 initialSlide = 1; 24507 } else { 24508 initialSlide = 0; 24509 } 24510 24511 _slider.slick({ 24512 infinite: true, 24513 autoplay: false, 24514 centerMode: true, 24515 centerPadding: '20%', 24516 dots: false, 24517 initialSlide: initialSlide, 24518 draggable: true, 24519 slidesToShow: 2, 24520 responsive: [ 24521 { 24522 breakpoint: 4060,//pc-small-nomal (min-width: 1280px) and (max-width: 1759px) 24523 settings: { 24524 slidesToShow: 2, 24525 centerPadding: '30%' 24526 } 24527 }, 24528 { 24529 breakpoint: 3960,//pc-small-nomal (min-width: 1280px) and (max-width: 1759px) 24530 settings: { 24531 slidesToShow: 2, 24532 centerPadding: '29%' 24533 } 24534 }, 24535 { 24536 breakpoint: 3860,//pc-small-nomal (min-width: 1280px) and (max-width: 1759px) 24537 settings: { 24538 slidesToShow: 2, 24539 centerPadding: '28%' 24540 } 24541 }, 24542 { 24543 breakpoint: 3760,//pc-small-nomal (min-width: 1280px) and (max-width: 1759px) 24544 settings: { 24545 slidesToShow: 2, 24546 centerPadding: '28%' 24547 } 24548 }, 24549 { 24550 breakpoint: 3660,//pc-small-nomal (min-width: 1280px) and (max-width: 1759px) 24551 settings: { 24552 slidesToShow: 2, 24553 centerPadding: '27%' 24554 } 24555 }, 24556 { 24557 breakpoint: 3560,//pc-small-nomal (min-width: 1280px) and (max-width: 1759px) 24558 settings: { 24559 slidesToShow: 2, 24560 centerPadding: '26.5%' 24561 } 24562 }, 24563 { 24564 breakpoint: 3460,//pc-small-nomal (min-width: 1280px) and (max-width: 1759px) 24565 settings: { 24566 slidesToShow: 2, 24567 centerPadding: '26%' 24568 } 24569 }, 24570 { 24571 breakpoint: 3360,//pc-small-nomal (min-width: 1280px) and (max-width: 1759px) 24572 settings: { 24573 slidesToShow: 2, 24574 centerPadding: '25%' 24575 } 24576 }, 24577 { 24578 breakpoint: 3260,//pc-small-nomal (min-width: 1280px) and (max-width: 1759px) 24579 settings: { 24580 slidesToShow: 2, 24581 centerPadding: '24%' 24582 } 24583 }, 24584 { 24585 breakpoint: 3160,//pc-small-nomal (min-width: 1280px) and (max-width: 1759px) 24586 settings: { 24587 slidesToShow: 2, 24588 centerPadding: '23%' 24589 } 24590 }, 24591 { 24592 breakpoint: 3060,//pc-small-nomal (min-width: 1280px) and (max-width: 1759px) 24593 settings: { 24594 slidesToShow: 2, 24595 centerPadding: '22%' 24596 } 24597 }, 24598 { 24599 breakpoint: 2960,//pc-small-nomal (min-width: 1280px) and (max-width: 1759px) 24600 settings: { 24601 slidesToShow: 2, 24602 centerPadding: '21%' 24603 } 24604 }, 24605 { 24606 breakpoint: 2860,//pc-small-nomal (min-width: 1280px) and (max-width: 1759px) 24607 settings: { 24608 slidesToShow: 2, 24609 centerPadding: '20%' 24610 } 24611 }, 24612 { 24613 breakpoint: 2760,//pc-small-nomal (min-width: 1280px) and (max-width: 1759px) 24614 settings: { 24615 slidesToShow: 2, 24616 centerPadding: '19%' 24617 } 24618 }, 24619 { 24620 breakpoint: 2660,//pc-small-nomal (min-width: 1280px) and (max-width: 1759px) 24621 settings: { 24622 slidesToShow: 2, 24623 centerPadding: '18%' 24624 } 24625 }, 24626 { 24627 breakpoint: 2560,//pc-small-nomal (min-width: 1280px) and (max-width: 1759px) 24628 settings: { 24629 slidesToShow: 2, 24630 centerPadding: '16%' 24631 } 24632 }, 24633 { 24634 breakpoint: 2460,//pc-small-nomal (min-width: 1280px) and (max-width: 1759px) 24635 settings: { 24636 slidesToShow: 2, 24637 centerPadding: '15%' 24638 } 24639 }, 24640 { 24641 breakpoint: 2360,//pc-small-nomal (min-width: 1280px) and (max-width: 1759px) 24642 settings: { 24643 slidesToShow: 2, 24644 centerPadding: '13%' 24645 } 24646 }, 24647 { 24648 breakpoint: 2260,//pc-small-nomal (min-width: 1280px) and (max-width: 1759px) 24649 settings: { 24650 slidesToShow: 2, 24651 centerPadding: '11%' 24652 } 24653 }, 24654 { 24655 breakpoint: 2160,//pc-small-nomal (min-width: 1280px) and (max-width: 1759px) 24656 settings: { 24657 slidesToShow: 2, 24658 centerPadding: '9%' 24659 } 24660 }, 24661 { 24662 breakpoint: 2060,//pc-small-nomal (min-width: 1280px) and (max-width: 1759px) 24663 settings: { 24664 slidesToShow: 2, 24665 centerPadding: '8%' 24666 } 24667 }, 24668 { 24669 breakpoint: 1960,//pc-small-nomal (min-width: 1280px) and (max-width: 1759px) 24670 settings: { 24671 slidesToShow: 2, 24672 centerPadding: '7.5%' 24673 } 24674 }, 24675 { 24676 breakpoint: 1860,//pc-small-nomal (min-width: 1280px) and (max-width: 1759px) 24677 settings: { 24678 slidesToShow: 2, 24679 centerPadding: '7%' 24680 } 24681 }, 24682 { 24683 breakpoint: 1760,//pc-small-nomal (min-width: 1280px) and (max-width: 1759px) 24684 settings: { 24685 slidesToShow: 2, 24686 centerPadding: '112px' 24687 } 24688 }, 24689 { 24690 breakpoint: 1280,//tab-large(min-width: 1024px) and (max-width: 1279px) 24691 settings: { 24692 slidesToShow: 1, 24693 centerPadding: '65px' 24694 } 24695 }, 24696 { 24697 breakpoint: 1024, //tab-normal(min-width: 768px) and (max-width: 1023px) 24698 settings: { 24699 slidesToShow: 1, 24700 centerPadding: '30px' 24701 } 24702 } 24703 ] 24704 }); 24705 24706 // slickã®ã¬ã¹ãã³ã·ãå¦çæã®ã¤ãã³ã 24707 _slider.on({ 24708 'breakpoint': function(event, slick, breakpoint) { 24709 var recommendationMain = _target.find('.staff-recommendation-sli
24709der.slick-slider .staff-recommendation__main'); 24710 var recommendationComent = _target.find('.staff-recommendation-slider.slick-slider .staff-recommendation__coment'); 24711 24712 height_adjust(recommendationMain); 24713 height_adjust(recommendationComent); 24714 } 24715 24716 }); 24717 24718 _next_arrow.on('click', function() { 24719 _slider.slick("slickNext"); 24720 }); 24721 _next_arrow__2.on('click', function() { 24722 _slider.slick("slickNext"); 24723 }); 24724 _prev_arrow.on('click', function() { 24725 _slider.slick("slickPrev"); 24726 }); 24727 24728 _target.find(".staff-recommendation__slick-prev").on("click", function() { 24729 $(this).addClass('active'); 24730 }); 24731 } 24732 24733 function height_adjust(element) { 24734 24735 var set_ele = element; 24736 $(set_ele).css('height', 'auto'); 24737 var count = set_ele.length; 24738 var ele_height = []; 24739 24740 for (i = 0; i < count; i++) { 24741 ele_height[i] = set_ele.eq(i).height(); 24742 } 24743 24744 var max_height = Math.max.apply(null, ele_height); 24745 set_ele.height(max_height); 24746 } 24747 24748 24749 $(".staff-recommendation-0001").each(function() { 24750 set_height_adjust($(this)); 24751 // slideWidthAdjust($(this)); 24752 }); 24753 24754 24755 function set_height_adjust(_tar) { 24756 $(window).on("load resize", function() { 24757 // var sizedetect = $("#size-detect").css("font-family"); 24758 var recommendationMain = _tar.find('.staff-recommendation-slider.slick-slider .staff-recommendation__main'); 24759 var recommendationComent = _tar.find('.staff-recommendation-slider.slick-slider .staff-recommendation__coment'); 24760 height_adjust(recommendationMain); 24761 height_adjust(recommendationComent); 24762 }); 24763 } 24764 24765});$(function() { 24766 24767 var slider = $('.store-basic-information-0002__image'); 24768 slider.slick({ 24769 slidesToShow: 1, 24770 slidesToScroll: 1, 24771 autoplay: true, 24772 speed: 1000, 24773 dots: true, 24774 dotsClass: 'store-basic-information-dots-01' 24775 }); 24776 24777 $(".store-basic-information-0002__slider__prev-sp").on('click', function() { 24778 slider.slick("slickPrev"); 24779 }); 24780 24781 $(".store-basic-information-0002__slider__next-sp").on('click', function() { 24782 slider.slick("slickNext"); 24783 }); 24784 24785 $(".store-basic-information-0002__slider__prev-pc").on("click", function() { 24786 slider.slick("slickPrev"); 24787 }); 24788 24789 $(".store-basic-information-0002__slider__next-pc").on("click", function() { 24790 slider.slick("slickNext"); 24791 }); 24792 24793 DMS.customEvent.addEventListner(DMS.customEvent.INIT_UNIT, function() { 24794 slider.slick("setPosition"); 24795 }); 24796 24797});$(function() { 24798 var storeBlogListWrap = $(".store-blog-list-0001-wrap"); 24799 var articleFlg; 24800 var uri; 24801 var shopId; 24802 24803 if(storeBlogListWrap) { 24804 articleFlg = storeBlogListWrap.data("flg"); 24805 uri = storeBlogListWrap.data("url-flg"); 24806 shopId = storeBlogListWrap.data("shop-id"); 24807 if(articleFlg == true && uri != 1) { 24808 window.location.href = "/blog/store/list?shop_id="+shopId+"&page=1"; 24809 } 24810 24811 } 24812 24813 var BoxHeightAlign = DMS.BoxHeightAlign; 24814 var boxHeightAlign = new BoxHeightAlign($('.store-blog-list-0001-wrap-inner'), {isAll: false}); 24815 24816 boxHeightAlign.init(); 24817 24818 var resizeTimer = false; 24819 $(window).resize(function() { 24820 24821 if(resizeTimer !== false) { 24822 clearTimeout(resizeTimer); 24823 } 24824 24825 resizeTimer = setTimeout(function() { 24826 boxHeightAlign.update(); 24827 }, 200); 24828 }); 24829 24830 DMS.customEvent.addEventListner(DMS.customEvent.INIT_UNIT, function() { 24831 boxHeightAlign.init(); 24832 }); 24833 24834});$(function () { 24835 24836 //store-blog-post-notification-list 24837 var BoxHeightAlign = DMS.BoxHeightAlign; 24838 var boxHeightAlign = new BoxHeightAlign($('.store-blog-post-notification-list-0001-wrap-inner'), {isAll: false}); 24839 24840 boxHeightAlign.init(); 24841 24842 var resizeTimer = false; 24843 $(window).resize(function() { 24844 24845 if(resizeTimer !== false) { 24846 clearTimeout(resizeTimer); 24847 } 24848 24849 resizeTimer = setTimeout(function() { 24850 boxHeightAlign.update(); 24851 }, 200); 24852 }); 24853 24854 DMS.customEvent.addEventListner(DMS.customEvent.INIT_UNIT, function() { 24855 boxHeightAlign.init(); 24856 }); 24857 24858});$(function() {
24859 // var outPut = $(".store-blog-detail__content__main"); 24860 // var outPutImage = outPut.find("img"); 24861 // var outPutArray = outPut.data("output"); 24862 24863 // function init() { 24864 24865 // for(var i = 0; i < outPutImage.length; i++) { 24866 // $(outPutImage[i]).attr("src", outPutArray[i].url); 24867 // $(outPutImage[i]).attr("alt", outPutArray[i].alt); 24868 // } 24869 // } 24870 24871 // if(outPutImage) { 24872 // init(); 24873 // } 24874 24875});$(function () { 24876 if($(".store-info-set-calendar").length>0){ 24877 $(".store-info-set-calendar").each(function(){ 24878 setCalendarMain($(this)); 24879 }); 24880 24881 24882 function setCalendarMain(_target){ 24883 24884 var _li_list= _target.find(".store-info-set-calendar-list li"); 24885 var _low_date = $(_li_list[0]).data("date"); 24886 var _high_date = $(_li_list[_li_list.length-1]).data("date"); 24887 var _dt = new Date(); 24888 var _c_month = _dt.getMonth()+1; 24889 var _c_year = _dt.getFullYear(); 24890 24891 var _now = getYearMonth(_c_year, _c_month , 0); 24892 var _next = getYearMonth(_c_year, _c_month , 1); 24893 24894 24895 function getColumn(){ 24896 var _ret = 2; 24897 24898 var _ff = $("#size-detect").css("font-family"); 24899 if(_ff.indexOf("tab") >= 0){ 24900 _ret = 2; 24901 }else if(_ff.indexOf("sp") >= 0){ 24902 _ret = 1; 24903 } 24904 24905 return _ret; 24906 } 24907 24908 function moveYearMonth(_i){ 24909 _c_month+=_i; 24910 if(_c_month > 12){ 24911 _c_year++; 24912 _c_month -= 12; 24913 } 24914 if(_c_month < 1){ 24915 _c_year--; 24916 _c_month += 12; 24917 } 24918 } 24919 24920 function getYearMonth(_y, _m, _i){ 24921 _m+=_i; 24922 if(_m > 12){ 24923 _y++; 24924 _m -= 12; 24925 } 24926 if(_m < 1){ 24927 _y--; 24928 _m += 12; 24929 } 24930 return _y * 100 + _m; 24931 } 24932 24933 function setCalendarList(){ 24934 _target.find(".store-info-set-calendar-list li").each(function(){ 24935 var _check_date = parseInt($(this).data("date"),10); 24936 var _column = getColumn()-1; 24937 console.log(_column); 24938 var _date1 = getYearMonth(_c_year, _c_month , 0); 24939 var _date2 = getYearMonth(_c_year, _c_month , _column); 24940 //console.log(_date1+" "+_check_date+" "+_date2+" "+_column); 24941 if(_date1 <= _check_date && _check_date <= _date2){ 24942 $(this).addClass("show").removeClass("hide"); 24943 var _img = $(this).find("img"); 24944 _img.attr("src" , _img.data("src")); 24945 }else{ 24946 $(this).addClass("hide").removeClass("show"); 24947 } 24948 }); 24949 } 24950 function checkSp(){ 24951 24952 var _ff = $("#size-detect").css("font-family"); 24953 if(_ff.indexOf("sp") >= 0){ 24954 return true; 24955 }else{ 24956 return false; 24957 } 24958 } 24959 function setDisplayCalendar(){ 24960 var _l = _target.find(".store-info-set-calendar-list li.show"); 24961 if(checkSp()){ 24962 $(_l[1]).removeClass("show").addClass("hide"); 24963 var _img = $(_l[1]).find("img"); 24964 _img.attr("src" , _img.data("src")); 24965 }else{ 24966 setCalendarList(); 24967 } 24968 } 24969 24970 24971 _target.find(".store-info-set-calendar-nav-prev a").click(function(){ 24972 if(getYearMonth(_c_year, _c_month, 0) > _low_date){ 24973 moveYearMonth(-1); 24974 setCalendarList(); 24975 setDisplayCalendar(); 24976 } 24977 return false; 24978 }); 24979 _target.find(".store-info-set-calendar-nav-next a").click(function(){ 24980 if(getYearMonth(_c_year, _c_month, 1) < _high_date || 24981 (checkSp() && getYearMonth(_c_year, _c_month, 1) <= _high_date) ){ 24982 moveYearMonth(1); 24983 setCalendarList();
24984 setDisplayCalendar(); 24985 } 24986 return false; 24987 }); 24988 24989 $(window).resize(function(){ 24990 setDisplayCalendar(); 24991 24992 }); 24993 setCalendarList(); 24994 } 24995 24996 } 24997}); 24998$(function () { 24999 25000 var BoxHeightAlign = DMS.BoxHeightAlign; 25001 var boxHeightAlign = new BoxHeightAlign($('.store-new-blog-list-0001-wrap-inner'), {isAll: false}); 25002 25003 boxHeightAlign.init(); 25004 25005 var resizeTimer = false; 25006 $(window).resize(function() { 25007 25008 if(resizeTimer !== false) { 25009 clearTimeout(resizeTimer); 25010 } 25011 25012 resizeTimer = setTimeout(function() { 25013 boxHeightAlign.update(); 25014 }, 200); 25015 }); 25016 25017 DMS.customEvent.addEventListner(DMS.customEvent.INIT_UNIT, function() { 25018 boxHeightAlign.init(); 25019 }); 25020 25021});$(function () { 25022 //switch-button 25023 function toggleUnits(elms, is_show, inactiveUnitsInTabs = []) { 25024 for (var i = 0; i < elms.length; i++) { 25025 if (elms[i] !== null) { 25026 var unitId = "#u" + elms[i].replace(/[^0-9]/g, ""); 25027 if (inactiveUnitsInTabs.includes(unitId) || !is_show) { 25028 $(unitId).hide(); 25029 } else { 25030 $(unitId).show(); 25031 } 25032 } 25033 } 25034 } 25035 25036 function getHiddenUnitIds() { 25037 var hiddenUnitIds = []; 25038 25039 $("[data-parent-hidden]").each(function () { 25040 var unitId = $(this).attr("id"); 25041 if (unitId && unitId.startsWith("u")) { 25042 hiddenUnitIds.push("#" + unitId); 25043 } 25044 }); 25045 25046 return hiddenUnitIds; 25047 } 25048 25049 function handle(buttonContainer) { 25050 var inactives = getHiddenUnitIds(); 25051 25052 buttonContainer.each(function (index, element) { 25053 var hideElements = $(element).data("targetUnit"); 25054 var buttonText2 = JSON.parse($(element).data("buttonText2")); 25055 var $button = $(element).children(); 25056 25057 if ($button.text() === buttonText2) { 25058 $(element).addClass("is_show"); 25059 } else { 25060 $(element).removeClass("is_show"); 25061 } 25062 25063 toggleUnits(hideElements, $button.text() === buttonText2, inactives); 25064 }); 25065 } 25066 25067 var buttonContainer = $(".switch-button"); 25068 25069 DMS.customEvent.addEventListner(DMS.customEvent.INIT_TAB, function () { 25070 handle(buttonContainer); 25071 }); 25072 25073 DMS.customEvent.addEventListner(DMS.customEvent.INIT_UNIT, function () { 25074 handle(buttonContainer); 25075 }); 25076 25077 buttonContainer.each(function (index, element) { 25078 var hideElements = $(element).data("targetUnit"); 25079 var buttonText1 = JSON.parse($(element).data("buttonText1")); 25080 var buttonText2 = JSON.parse($(element).data("buttonText2")); 25081 25082 var $button = $(element).children(); 25083 if ($button.text() === buttonText2) { 25084 toggleUnits(hideElements, true); 25085 $(element).addClass("is_show"); 25086 } else if ($button.text() === buttonText1) { 25087 toggleUnits(hideElements, false); 25088 $(element).removeClass("is_show"); 25089 } 25090 25091 $(element.children).on("click", function (event) { 25092 if (!$(event.currentTarget.parentElement).hasClass("is_show")) { 25093 event.currentTarget.innerHTML = buttonText2; 25094 $(event.currentTarget.parentElement).addClass("is_show"); 25095 toggleUnits(hideElements, true); 25096 } else { 25097 event.currentTarget.innerHTML = buttonText1; 25098 $(event.currentTarget.parentElement).removeClass("is_show"); 25099 toggleUnits(hideElements, false); 25100 } 25101 DMS.customEvent.dispatchEvent(DMS.customEvent.INIT_UNIT); 25102 }) 25103 }) 25104});$(function () { 25105 //tab-0001 25106 25107 var tabContainer = $('.tab-0001'); 25108 var tab = $(".tab-0001").find(".tab-0001__list"); 25109 var tabData; 25110 var activeColor; 25111 var textColor; 25112 var hiddenElements; 25113 var showElements; 25114 var unitNumber; 25115 25116 function tabInit() { 25117 tabContainer.each(function(index, element) { 25118 //data屿§ã®æååã«å ¥ã£ã¦ããã¹ãã¼ã¹ãåãé¤ãã¦åå¾ 25119 activeColor = $(tabContainer[index]).data("keycolor").replace(/^\s+|\s+$/g,''); 25120 textColor = $(tabContainer[index]).data("textcolor").replace(/^\s+|\s+$/g,''); 25121 tabData = $($(element).find(".tab-0001__list")); 25122 $(tabData[0]).addClass(activeColor); 25123 $(tabData[0]).addClass(textColor); 25124 for(var i = 0; i < tabData.length; i++) { 25125 hiddenElements = $(tabData[i]).data("tab"); 25126 for(var ii = 0; ii < hiddenElements.length; ii++) { 25127 if(hiddenElements[ii] !== null) { 25128 unitNumber = hiddenElements[ii].replace(/[^0-9]/g, ''); 25129 $("#u"+ unitNumber).hide().attr('data-parent-hidden', 'true'); 25130 } 25131 } 25132 } 25133 }); 25134 tabContainer.each(function(index,element) { 25135 tabData = $($(element).find(".tab-0001__list")[0]); 25136 showElements = $(tabData).data("tab"); 25137 for(var i = 0; i < showElements.length; i++) { 25138 if(showElements[i] !== null) { 25139 unitNumber = showElements[i].replace(/[^0-9]/g, ''); 25140 $("#u"+ unitNumber).show().removeAttr('data-parent-hidden'); 25141 } 25142 } 25143 }); 25144 25145 DMS.customEvent.dispatchEvent(DMS.customEvent.INIT_TAB); 25146 } 25147 25148 function tabActive (target) { 25149 target.on('click', function() { 25150 activeColor = target.parent(".tab-0001").data("keycolor"); 25151 if(!target.hasClass(activeColor)) { 25152 target.siblings().removeClass(activeColor).removeClass(textColor); 25153 target.addClass(activeColor).addClass(textColor); 25154 } 25155 25156 var inactiveTab = $(this).siblings(".tab-0001__list"); 25157 inactiveTab.each(function(index, element) { 25158 hiddenElements = $(element).data('tab'); 25159 for(var i = 0; i < hiddenElements.length; i++) { 25160 if(hiddenElements[i] !== null) { 25161 unitNumber = hiddenElements[i].replace(/[^0-9]/g, ''); 25162 $("#u"+ unitNumber).hide().attr('data-parent-hidden', 'true'); 25163 } 25164 } 25165 }); 25166 25167 showElements = $(this).data("tab"); 25168 for(var i = 0; i < showElements.length; i++) { 25169 if(showElements[i] !== null) { 25170 unitNumber = showElements[i].replace(/[^0-9]/g, ''); 25171 $("#u"+ unitNumber).show().removeAttr('data-parent-hidden'); 25172 } 25173 } 25174 }); 25175 } 25176 25177 function initUnit(target) { 25178 target.on("click", function() { 25179 DMS.customEvent.dispatchEvent(DMS.customEvent.INIT_UNIT); 25180 }); 25181 } 25182 25183 if(tabContainer) { 25184 tabInit(); 25185 } 25186 25187 tab.each(function() { 25188 tabActive($(this)); 25189 initUnit($(this)); 25190 }); 25191 25192});$(function () { 25193 25194// table-0002 25195 var modalMain = $(".table-0002__modal-main"); 25196 var modalDetail = $(".table-0002__modal-detail"); 25197 var tableButton = $(".table-0002__modal-content"); 25198 var modalClose = $(".table-0002__modal-close"); 25199 25200 25201var insertTarget = $(".unit-wrapper .unit-base .table-0002"); 25202 25203var cbg = insertTarget.data("cbg"); 25204 25205 25206// var num = $('.table-0002').parents().find("body"); 25207// var num_unit = $('.table-0002').parent().parent().parent().find("div"); 25208// var classVal = num.attr('class'); 25209// var classVal_unit = num_unit.attr('class'); 25210// var bg_color = classVal.match(/bg-color-[0-9]+/); 25211// var bg_color_unit = classVal_unit.match(/bg-color-[0-9]+/); 25212// var num_mach = bg_color[0].match(/[0-9]+/) 25213// var num_mach_unit = bg_color_unit[0].match(/[0-9]+/) 25214 25215 25216// if (num_mach!="" || num_mach!=null){ 25217// var bg_color_num = num_mach_unit; 25218// } 25219 25220 25221console.log( cbg ); 25222// console.log( num_unit ); 25223// console.log( classVal ); 25224// console.log( classVal_unit ); 25225// console.log( bg_color ); 25226// console.log( bg_color_unit ); 25227// console.log( num_mach ); 25228// console.log( num_mach_unit ); 25229// console.log( bg_color_num ); 25230 25231 25232 25233 25234 25235 modalMain.each(function(index, element) { 25236 $(element).attr({id: "table-0002__modal-main-" + index}); 25237 }); 25238 25239 tableButton.each(function(index, element) { 25240 $(element).attr({href: "#table-0002__modal-main-" + index}); 25241 }); 25242 25243 modalClose.on("click", function() { 25244 parent.$.fancybox.close(); 25245 }); 25246 25247 $(".table-0002__modal-fancybox-button").fancybox({ 25248 "overlayColor" : '#000', 25249 "overlayOpacity" : 0.7, 25250 "cyclic" : true, 25251 "padding" : 0, 25252 "autoSize" : false, 25253 "width" : "470", 25254 "height" : "auto", 25255 "maxWidth" : "470", 25256 "minWidth": "250", 25257 "transitionIn" : 'none', 25258 "transitionOut" : 'none', 25259 "type": "inline", 25260 wrapCSS:"table-0002__fancybox-radius", 25261 "closeBtn": false, 25262 afterLoad:function(){ 25263 jQuery('.fancybox-skin').addClass('bg-color-' + cbg ); 25264} 25265}); 25266 25267}
25267); 25268 25269 25270/*youtube-0004*/ 25271$( function() { 25272 25273 function PlaylistPlayer(){ 25274 this.ytplayer; 25275 this.onReadyFlg; 25276 this.onStateChangeFlg; 25277 25278 this.onStateChangeWait3Flg; 25279 this.onStateChangeWait1Flg; 25280 25281 this.playlist_number = 0; 25282 this.playlist; 25283 this.target; 25284 this.targetAtag; 25285 25286 } 25287 PlaylistPlayer.prototype.init = function() { 25288 this.onReadyFlg = false; 25289 this.onStateChangeFlg = false; 25290 25291 this.onStateChangeWait5Flg = false; 25292 this.onStateChangeWait3Flg = false; 25293 this.onStateChangeWait1Flg = false; 25294 } 25295 PlaylistPlayer.prototype.initPlayer = function(_area, _playlist) { 25296 var that = this; 25297 this.playlist = _playlist.split(","); 25298 this.urlArr = new Array(this.playlist.length); 25299 for (var i = 0; i < this.playlist.length; i++) { 25300 this.urlArr[i] = i; 25301 } 25302 for(i = this.urlArr.length - 1; i > 0; i--) { 25303 var j = Math.floor(Math.random() * (i + 1)); 25304 var tmp = this.urlArr[i]; 25305 this.urlArr[i] = this.urlArr[j]; 25306 this.urlArr[j] = tmp; 25307 } 25308 this.ytplayer = new YT.Player(_area, { 25309 videoId:this.playlist[this.urlArr[this.playlist_number]], 25310 playerVars:{ 25311 rel:0, 25312 iv_load_policy:3, 25313 showinfo:0, 25314 autoplay:1, 25315 modestbranding:1, 25316 playsinline:1 25317 }, 25318 events: { 25319 'onReady': function(event){ 25320 that.onReadyFlg = true; 25321 25322 event.target.mute(); 25323 event.target.playVideo(); 25324 updateLinkTag(that.target, that.urlArr[that.playlist_number]); 25325 }, 25326 'onStateChange':function(event) { 25327 that.onStateChangeFlg = true; 25328 25329 if(event.data == 0){ 25330 that.playlist_number++; 25331 if(that.playlist.length <= that.playlist_number){ 25332 that.playlist_number = 0; 25333 } 25334 event.target.loadVideoById(that.playlist[that.urlArr[that.playlist_number]]); 25335 updateLinkTag(that.target, that.urlArr[that.playlist_number]); 25336 } 25337 } 25338 } 25339 }); 25340 25341 25342 }; 25343 25344 25345 25346 var ytPlayerAry = []; 25347 function setYouTube(){ 25348 $(".youtube-0004").each(function(n){ 25349 youTube( $(this) , n); 25350 }); 25351 } 25352 25353 25354 function updateLinkTag(_target , _n){ 25355 var _atags = $(_target).find("a"); 25356 for(var i=0;i<_atags.length;i++){ 25357 $(_atags[i]).hide(); 25358 } 25359 var _atag = $(_target).find("a.atag"+_n); 25360 if(_atag.attr("href")){ 25361 _atag.show(); 25362 } 25363 } 25364 25365 function youTube(_target, _n){ 25366 var id = _target.find('.youtube04')[0]; 25367 var player = $(id).children()[0]; 25368 var playerId = $(player).attr("id")+"_"+_n; 25369 $(player).attr("id", playerId); 25370 25371 var dataYoutubeUrl = $(id).data("youtube-url").join(","); 25372 25373 var _ytPlayer = new PlaylistPlayer(); 25374 _ytPlayer.init(); 25375 _ytPlayer.initPlayer(playerId, dataYoutubeUrl); 25376 _ytPlayer.target = _target; 25377 ytPlayerAry.push(_ytPlayer); 25378 } 25379 25380 DMS.customEvent.addEventListner(DMS.customEvent.INIT_YOUTUBE, function(){ 25381 setYouTube(); 25382 25383 }); 25384}); 25385function sc(contentsID){ 25386 25387 var check; 25388 check = new Function('return !!(window.s_sc_cd)'); 25389 if (check()) { 25390 s_sc_cd.tl(this,'o','ex-' + contentsID); 25391 } 25392 25393}
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.