/* @license Copyright (C) Exontrol. All rights reserved. */ function logEvent(e){var n,t,a=document.getElementById("logEvents");if(a){for(n="
",t=a.innerHTML,a.oC=a.oC||{t:0,l:0},a.oC.t++||(t=""),a.oC.l++,t&&(t+=n),t+=""+a.oC.t+""+e;a.oC.l>64;)a.oC.l--,t=t.substr(t.indexOf(n)+n.length);a.innerHTML=t,a.scrollTop=a.scrollHeight}}!function(){"use strict";function e(){return window.devicePixelRatio}function n(){return document.fullscreenElement||document.fullscreen}function t(e){return e instanceof HTMLCanvasElement}function a(e){return!~e.parentElement.className.toLowerCase().indexOf("no-fullscreen")}function r(e){return~e.indexOf(ve)}function s(e){if(ne++,e&&se&&ne<4){se.forEach(function(n){delete e[n]});for(var n in e)s(e[n])}--ne}function i(e,n){for(var t=n.split("."),a=t.length-1;e&&a>=0&&t[a]==e.className.split(" ")[0].trim();a--)a&&(e=e.parentElement);return a<0?e:null}function o(e,n,t,a){a=a||this;var r=0;e.children.forEach(function(e){i(e,n)?(t.call(a,e,r,this),r++):o(e,n,t,a)},this)}function l(e){return e&&(e=e.parentElement)&&(e=e.previousElementSibling)&&e.className.indexOf("property")<0&&(e=null),e}function c(){return function(e,n){try{return e.call(n||this)}catch(e){}}(function(){return window.localStorage})}function u(e){var n=c();return n&&n.getItem(e)||null}function f(e,n){var t=c();t&&t.setItem(e,n)}function m(e){e.preventDefault();var n=(e.originalEvent||e).clipboardData.getData("text/plain");n=n.repAll("\n","").repAll("\r","").repAll("
",""),document.execCommand("insertText",!1,n)}function d(e){switch(e.keyCode){case 13:return e.preventDefault(),!1;case 27:var n=e.target.parentElement;return n&&(n.parentElement.parentElement.parentElement.focus(),e.preventDefault()),!1}}function p(e){var n=e.target,t=l(n);if(t){var a=t.getAttribute("user-option"),r=D(a);if(r){var s=z(r.name);if(s instanceof Object){var i=n.innerText,o=i;n.className=n.className.replace("invalid","").trim(),void 0===(i=z(i))&&(n.className+=" invalid",i=null),ye.set(a,o.repAll("\n","\\n")),G(s,r.options,i),X(t)}}t.className.indexOf("checked")<0&&Y(t)}}function h(e){var n="",t=e.indexOf(Ee);return t>=0&&(n=e.substr(t+1)),{name:n,object:t<0?"":e.substr(0,t)}}function v(e,n){return e.replace(n,""+n+"")}function g(e){function n(e){for(var n="";e0)if(1==a.length)t=a[0];else{var s,i=z(r.object);if(i&&(s=i.GetOptions instanceof Function?i.GetOptions():i)){for(var o,l=[],c=0,u=a.length;!t&&c1)switch(s[0]){case"normal":case"hover":case"click":case"disabled":s[0]="shape"}for(;i":return t;default:t+=r}}return t}function s(e,n,t){for(var a=null,r=(t=t||g).length,s=0;null==a&&s=0)&&(a=i)}}return a}function i(e,n){var t=null;return e.sWith("@",n)&&null!=(t=s(e,n+1,E))&&(t="@"+t),t}function o(){var e=w.length;if(e)return"script"==w[e-1]}function l(e,n){n&&(n=n.trim())&&N.push(n),e&&N.push(e)}function c(e){function n(e){return e==Ee||e==we}switch(e){case")":e="(";break;case"}":e="{"}for(;N.length&&N.pop()!=e;);var t=n(e);n(N[N.length-1])&&(N.pop(),t=!0),t&&N.pop()}function u(e,n){if(N.length){var t=e.substr(n).trim(),a=t.indexOf(Ee);if(~a){var r,s=t.substr(0,a).trim();if(/^[_a-zA-Z][_a-zA-Z0-9]*$/.test(s)&&(r=function(e){function n(){a<0&&(r||s||(a=i))}for(var t,a=-1,r=0,s=0,i=0,o=(e=e.trim()).length;a<0&&i"+C),L||(C+=""),p||(C+="")))}var t,f,d,h,v,g,E,x,C="",L=r(e);b&&(w.push(b),b=""),L&&(e=e.replace(ve,""));for(var O=0,j=e.length,T=0,k=0,A=0;OO&&(O++,C+=I,C+="",C+=e.substr(O,H-O),C+="",C+=M,O=H,I=0)}else switch(I){case"<":if(T)I="<";else if(!o()||"/"==B){C+="<",C+="",k=I;if("/"==(B=e[O+1])){var W=w.length;W&&w.splice(W-1)}else b=a(e,O+1);I=0}break;case" ":case"\t":k&&(C+="",A=k,k=0,C+="");break;case">":T?I=">":o()||(A&&(C+="",A=0),k&&(C+="",k=0),C+=">",I=0);break;case"'":case'"':y||(T?T==I&&(T=0,C+=I,C+="",I=0):(T=I,C+="",C+=I,I=0));break;case";":T||y||(N=[])}if(I){if(o()&&!T)if(y)e.sWith("*/",O)&&(C+="*/",y=0,O++,I=0);else if(e.sWith("/*",O))y=I,C+="",I+="*",O++;else if(e.sWith("//",O)){var R=u(e,O+2);null!=R?(f=R,I=0,O++):(I="",I+=e.substr(O),I+="",O=j+1)}if(I){if(o()&&!T)if(y){var F=i(e,O);null!=F&&(C+="",C+=F,C+="",I=0,O+=F.length-1,p&&(d="@description"==F))}else{var q=s(e,O);switch(q&&(C+="",C+=q,C+="",I=0,O+=q.length-1),I){case we:null==h&&l(I,e.substr(0,O).trim());break;case"(":case"{":null==h&&l(I);break;case")":case"}":null==h&&c(I);break;case Ee:e.substr(O+1).trim()?null==h&&(l(I,null!=f?f.name:e.substr(0,O).trim()),m()&&(h=I,t=u(e,0))):l(I,e.substr(0,O).trim())}}I&&(C+=I)}}}return n(!1),h&&(E=m(),c(h)),x={html:C,option:E},p&&(x.desc=d),t&&(x.comment=!1,x.value=t.value),f&&(x.comment=!0,x.value=f.value),x}function m(){var e="",n=N.length;if(n>1){var t=N[0],a=t,r=s(t,0);if("var"==r&&(a=t.substr(r.length).trim()),a&&a.match(/^[$A-Z_][0-9A-Z_.$]*$/i)){for(var i="",o=1;o0&&!e[0].trim();)e.splice(0,1);for(;e.length>0&&!e[e.length-1].trim();)e.splice(e.length-1,1);for(var n=null,a=0,r=e.length;a")){e.splice(n+1);break}}(C),n.before&&((d=n.before.split(x)).splice(0,0,0,0),C.splice.apply(C,d)),n.after&&C.push.apply(C,n.after.split(x)),function(e){function n(e,n){if(n.length>1){var t=[],a=[],r=new Map;n.forEach(function(e){r.set(e.i,e.c),a.push(e.i)}),a.sort(function(e,n){return r.get(e) ",t.push(i),p){var N=h(u.option),C=N.name;if(C&&a>=0&&a=0&&(L=C.substr(O+1)),L&&(s[a]=v(s[a],L),d=v(d,L)),s[a=Math.max(0,a-1)]="
"+s[a],g+="
"}}}m=(m+=d+g).replace(/\s+$/g,""),p||(n="line",u.option&&(n="opt-"+n,c&&(n+=" opt-readonly"),","!=m[m.length-1]&&(e[i].match(/.*:.*function\(.*\)/)||(m+=",")),","==m[m.length-1]&&(m=m.substr(0,m.length-1)+",")),m=""+m+""),s.push(m)}return{c:s.join(x),l:e.length,o:t}}(C)}function A(e){return R(e).replace("#","")}function I(){return A(window.parent.location.hash)}function B(){return document.getElementsByClassName("jssamples")[0]}function H(){var e=B();return e&&"inline"==getComputedStyle(e).display}function M(e){var n,t,a,r=I();return o(e,"jssamples.header.sample",function(e){if(null==n&&(n=e.innerText),null==t){e.className.indexOf(oe)>=0&&(t=e.innerText)}r&&null==a&&R(e.innerText)==r&&(a=e.innerText)}),a||t||n}function S(e){function n(e){var n,t=M(e);if(t){var a=document.getElementById(R(t));a&&(n=function(e){var n=e.getElementsByTagName("canvas");return null!=n?n[0]:null}(a))}return n}var t=document.activeElement;return null!=t&&"CANVAS"!=t.tagName&&(t=null),null==t&&(null!=e?t=n(e):document.getElementsByClassName("jssamples").forEach(function(e){t=t||n(e)},this)),t}function W(){var t=S();if(t){var r=function(){var e=t.parentElement,a=getComputedStyle(e),r=exontrol.Ert(e),s=0;if(!n())for(var i=0,o=e.children,l=o.length;!s&&i8&&(a-=8,r.style.height=a+"px",W())}}),function(e,n,t){var a=n&&n.innerHTML||"";a||(n=document.getElementById(R(M(e))))&&(a=n&&n.innerHTML||"");o(e,"jssamples.code.source",function(e){var n="";if(a){for(var r=k(a,t),s="",i=0;i=0?" class='line-number-option'":" class='line-number-nonoption'",s+=">"+(i+1)+"";n=(s+="")+r.c}q(e,n),e.parentElement.scrollTop=0})}(e,r)}}function q(e,n){e.innerHTML=n,e.getElementsByClassName("value").forEach(function(e){e.addEventListener("keydown",d),e.addEventListener("paste",m),e.addEventListener("input",p),e.addEventListener("focus",T)})}function z(e){var n;try{n=Function('"use strict"; return ('+e+")")()}catch(e){}return n}function D(e){var n=[],t=e?e.indexOf(Ee):-1;if(t>=0){var a=e.substr(0,t),n=e.substr(t+1).split(ge);if(a.eWith(".Options")&&(a=a.substr(0,a.length-8)),n.length>0){return{name:a,options:n}}}return null}function _(e,n){if(e instanceof Object){var t=e.GetOptions instanceof Function?e.GetOptions():e;if(null!=t){for(var a=n.length,r=0;t instanceof Object&&r=0,s=r?null:z(ye.get(n));void 0!==s&&G(a,t.options,s),e.className=(r?e.className.replace(/checked/g,""):e.className+" checked").trim(),X(e)}}w(n)}}function X(e){if(exontrol){var n,t=function(e){for(var n=e;n&&n.className.indexOf("jssamples")<0;)n=n.parentElement;return n}(e);t&&(n=M(t))&&(n=document.getElementById(R(n)))&&n.children.forEach(function(e){"CANVAS"==e.tagName&&exontrol.CC.Refresh(e)})}}function V(e){function n(){var e=function(){var e,n="";return document.head.getElementsByTagName("script").forEach(function(t){(e=t.outerHTML).indexOf("exontrol.help.def")<0&&e.indexOf("exontrol.jscode")<0&&(n+=(n?"\n":"")+"\t"+e.repAll("")<0&&q(n,k("\n\n"+e+"\n\n").c+"\n"+n.innerHTML+"\n"+k("\n").c)})})}var t=window.getSelection();t&&(t.removeAllRanges(),n(),te=function(e){var n;return e&&e.getElementsByClassName("value").forEach(function(e){"true"==e.contentEditable&&(e.contentEditable=!1,(n=n||[]).push(e))}),n}(e),function(){var n,a=document.createRange(),r=e.firstChild,s=e.firstChild;if(s){n="line-number"==s.className;try{n&&(r=s.nextSibling),a.setStartBefore(r),a.setEndAfter(e.lastChild)}catch(t){n&&(s.style.display="none"),a.selectNodeContents(e)}t.addRange(a)}}())}function Z(e){return e&&(t(e)?e.height:parseInt(window.getComputedStyle(e).height)||e.clientHeight)||0}function $(n,r,s){function i(e,n,a){n&&function(e,n){if(n=Math.max(0,n),r&&H()){n=window.parent.innerWidth-24;var a,s=e;(~e.className.indexOf(ie)||~(s=e.parentElement).className.indexOf(ie))&&(a=getComputedStyle(s),n-=parseInt(a.paddingLeft)+parseInt(a.paddingRight))}t(e)?e.parentElement.className.indexOf(oe)>=0&&W():e.style[E]=n+"px"}(e,Math.max(a||0,(e.original=e.original||g(e))+n))}function o(){l(),window.removeEventListener("mousemove",w),window.removeEventListener("mouseup",o);var e=C();e&&function(e){f(he,e)}(O(e))}function l(){v.forEach(function(e){e.original=null})}function c(e){v.push(e),e.children.forEach(function(e){"CANVAS"==e.tagName&&v.push(e)})}var u=n&&n.screenX,m=n&&n.screenY,d=n?n.target:function(){var e;return document.getElementsByClassName("jssamples").forEach(function(n){e=e||document.getElementById(R(M(n)))}),e}(),p=0,h=0,v=[],g=r?function(e){return e&&(t(e)?e.width:parseInt(window.getComputedStyle(e).width)||e.clientWidth)||0}:Z,E=r?"width":"height",w=r?function(n){(n=n||window.event)&&(p=(n.screenX-u)/e())&&v.forEach(function(e){i(e,p)})}:function(n){(n=n||window.event)&&(h=(n.screenY-m)/e())&&(v.forEach(function(e){i(e,h)}),J())},b=128;d&&(r?d.parentElement.children.forEach(function(e){e.className.indexOf(ie)>=0&&c(e)}):(c(d),v.push(d.parentElement.parentElement)),l(),n?(window.addEventListener("mouseup",o),window.addEventListener("mousemove",w)):(s=function(e){return!r&&e&&v.forEach(function(n){(r||a(n))&&(e=Math.max(e,b-g(n)))}),e}(s))&&(v.forEach(function(e){i(e,s,b)}),!r&&J()))}function P(){if(ae){var e=k(Ne,{doc:!0});e&&(ae.innerHTML=e.c)}}function J(){window.frameElement&&(window.frameElement.height=window.parent.innerHeight-98)}function K(){var e,n=B(),t=0,a=0,r=!L();n&&(n.children.forEach(function(e){r&=!(r&&e.className.indexOf(ce)>=0&&!e.offsetWidth),a+=e.offsetWidth,e.className.indexOf(le)<0&&(t+=e.offsetWidth)}),r&&$(null,!0,window.parent.innerWidth-(40+a)),(e=y())&&(e.style.width=t+"px"))}function Q(){var e,n=window.getComputedStyle(window.document.body),t=window.innerHeight-(window.document.body.offsetHeight+parseInt(n.marginTop)+parseInt(n.marginBottom));H()&&(t+=18),b()&&(e=y())&&(t-=e.firstChild.offsetHeight-e.offsetHeight),$(null,!1,t)}function U(e){if(e=e||window.event){var t=e.target;if(t)if(t.id==fe)N(b());else if(t.id==me)j(L());else switch(t.tagName){case"PRE":e.offsetY-t.parentElement.scrollTop<8&&V(t);break;case"SPAN":(~t.className.indexOf("property")||(t=t.previousElementSibling)&&~t.className.indexOf("property"))&&Y(t);break;case"DIV":switch(t.className){case"sample":var a=i(t,"jssamples.header.sample");a&&F(a,t.innerText);break;case"sample active":if("content"==e.target.parentElement.className&&e.offsetX>e.target.clientWidth-16&&e.offsetY>e.target.clientHeight-16){var r=e.target,s=S(i(t,"jssamples.header.sample"));s&&(r=s.parentElement),function(e){function t(){var e=n();this.style.background=e?"white":"",W(),!e&&this.removeEventListener("fullscreenchange",t)}if(e)try{e.addEventListener("fullscreenchange",t),e.requestFullscreen?e.requestFullscreen():e.mozRequestFullScreen?e.mozRequestFullScreen():e.webkitRequestFullscreen?e.webkitRequestFullscreen():e.msRequestFullscreen&&e.msRequestFullscreen()}catch(e){}}(r)}}}}}function ee(e){return!n()&&e&&e.target&&"DIV"==e.target.tagName&&e.target||null}var ne=0;HTMLCollection.prototype.forEach||(HTMLCollection.prototype.forEach=function(e,n){n=n||this;for(var t=0,a=this.length;t=t)for(var r=0;a&&r"+e+"")}),n+="",e.innerHTML=n}),document.getElementsByClassName("jssamples").forEach(function(e){F(e,M(e)),"jssamples"==e.className&&e.getElementsByClassName("code").forEach(function(e){e.tabIndex=0})}),ae=null,document.getElementsByClassName("doc").forEach(function(e){ae||(ae=e.firstElementChild.firstElementChild,Ne=ae.innerText,document.getElementsByTagName("script").forEach(function(e){if(exontrol.Like.Match(e.src,"*.def.js")){var n=new XMLHttpRequest;n.onreadystatechange=function(){if(4==this.readyState&&0==this.status||200==this.status){var e=this.responseText;e?(e=e.repAll("&","&").repAll("<","<").repAll(">",">"),Ne+="\n"+e,P(),!re&&(re=document.getElementsByClassName("property"))&&(re=re[0])&&(re=re.getAttribute("user-option"))&&(E(re)?(w(re),Q()):re=null)):Q()}},n.open("GET",e.src,!0),n.send()}}),P(),x())}),function(){if(!document.getElementById(me)){var e=C();if(e){if(!H()){var n=document.createElement("div");n.id=me,n.className=ue,e.parentElement.insertBefore(n,e)}j(!L())}}}(),function(){var e;window.parent&&(e=window.parent.document.getElementById("WAIT"))&&e.remove()}(),J()),--xe}),window.parent.addEventListener("resize",function(e){document.fullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement||document.msFullscreenElement||(J(),K(),Q(),b()&&K())}),window.parent.addEventListener("hashchange",function(e){var n,t=I();if(t)for(var a=0,r=(n=0==this.frames.length?[window]:this.frames).length;an.clientWidth?L()&&$(e,!0):e.offsetY>n.clientHeight&&b()&&$(e,!1))}),window.addEventListener("mouseout",function(e){var n=ee(e=e||window.event);n&&(n.style.cursor="")}),window.addEventListener("mousemove",function(e){var n=ee(e=e||window.event);n&&(n.style.cursor="",null!=i(n,"jssamples.content.sample")&&(e.offsetX>n.clientWidth?L()&&(n.style.cursor="col-resize"):e.offsetY>n.clientHeight&&b()&&(n.style.cursor="row-resize")))}),window.addEventListener("wheel",function(e){var n,t,a=-1,r=[];(n=B())&&(e=e||window.event)&&~e.target.className.indexOf(ie)&&e.target.parentElement&&~e.target.parentElement.className.indexOf(le)&&(t=-Math.sign(Math.round(e.wheelDelta?e.wheelDelta/120:-e.deltaY/3)))&&(document.getElementsByClassName(ie).forEach(function(e){a<0&&~(a=e.className.indexOf(oe))&&(a=r.length),e.parentElement.className==le&&r.push(e.innerText)}),~a&&F(n,r[((a+t)%r.length+r.length)%r.length]))})}();