/*
 GNU Lesser General Public License, http://www.gnu.org/copyleft/lesser.html
 @author  Jan Odvarko, http://odvarko.cz
 @created 2008-06-15
 @updated 2014-12-09
 @link    http://jscolor.com
*/
var jscolor={dir:"",bindClass:"color",binding:!0,preloading:!0,install:function(){jscolor.addEvent(window,"load",jscolor.init)},init:function(){jscolor.binding&&jscolor.bind();jscolor.preloading&&jscolor.preload()},getDir:function(){if(!jscolor.dir){var a=jscolor.detectDir();jscolor.dir=!1!==a?a:"jscolor/"}return jscolor.dir},detectDir:function(){for(var a=location.href,f=document.getElementsByTagName("base"),c=0;c<f.length;c+=1)f[c].href&&(a=f[c].href);f=document.getElementsByTagName("script");for(c=
0;c<f.length;c+=1)if(f[c].src&&/(^|\/)jscolor\.js([?#].*)?$/i.test(f[c].src))return a=(new jscolor.URI(f[c].src)).toAbsolute(a),a.path=a.path.replace(/[^\/]+$/,""),a.query=null,a.fragment=null,a.toString();return!1},bind:function(){for(var a=RegExp("(^|\\s)("+jscolor.bindClass+")(\\s*(\\{[^}]*\\})|\\s|$)","i"),f=document.getElementsByTagName("input"),c=0;c<f.length;c+=1)if(!jscolor.isColorAttrSupported||"color"!=f[c].type.toLowerCase()){var n;if(!f[c].color&&f[c].className&&(n=f[c].className.match(a))){var u=
{};if(n[4])try{u=(new Function("return ("+n[4]+")"))()}catch(z){}f[c].color=new jscolor.color(f[c],u)}}},preload:function(){for(var a in jscolor.imgRequire)jscolor.imgRequire.hasOwnProperty(a)&&jscolor.loadImage(a)},images:{pad:[181,101],sld:[16,101],cross:[15,15],arrow:[7,11]},imgRequire:{},imgLoaded:{},requireImage:function(a){jscolor.imgRequire[a]=!0},loadImage:function(a){jscolor.imgLoaded[a]||(jscolor.imgLoaded[a]=new Image,jscolor.imgLoaded[a].src=jscolor.getDir()+a)},fetchElement:function(a){return"string"===
typeof a?document.getElementById(a):a},addEvent:function(a,f,c){a.addEventListener?a.addEventListener(f,c,!1):a.attachEvent&&a.attachEvent("on"+f,c)},fireEvent:function(a,f){if(a)if(document.createEvent){var c=document.createEvent("HTMLEvents");c.initEvent(f,!0,!0);a.dispatchEvent(c)}else if(document.createEventObject)c=document.createEventObject(),a.fireEvent("on"+f,c);else if(a["on"+f])a["on"+f]()},getElementPos:function(a){var f=a,c=0,n=0;if(f.offsetParent){do c+=f.offsetLeft,n+=f.offsetTop;while(f=
f.offsetParent)}for(;(a=a.parentNode)&&"BODY"!==a.nodeName.toUpperCase();)c-=a.scrollLeft,n-=a.scrollTop;return[c,n]},getElementSize:function(a){return[a.offsetWidth,a.offsetHeight]},getRelMousePos:function(a){var f=0,c=0;a||(a=window.event);"number"===typeof a.offsetX?(f=a.offsetX,c=a.offsetY):"number"===typeof a.layerX&&(f=a.layerX,c=a.layerY);return{x:f,y:c}},getViewPos:function(){return"number"===typeof window.pageYOffset?[window.pageXOffset,window.pageYOffset]:document.body&&(document.body.scrollLeft||
document.body.scrollTop)?[document.body.scrollLeft,document.body.scrollTop]:document.documentElement&&(document.documentElement.scrollLeft||document.documentElement.scrollTop)?[document.documentElement.scrollLeft,document.documentElement.scrollTop]:[0,0]},getViewSize:function(){return"number"===typeof window.innerWidth?[window.innerWidth,window.innerHeight]:document.body&&(document.body.clientWidth||document.body.clientHeight)?[document.body.clientWidth,document.body.clientHeight]:document.documentElement&&
(document.documentElement.clientWidth||document.documentElement.clientHeight)?[document.documentElement.clientWidth,document.documentElement.clientHeight]:[0,0]},URI:function(a){function f(c){for(var a="";c;)if("../"===c.substr(0,3)||"./"===c.substr(0,2))c=c.replace(/^\.+/,"").substr(1);else if("/./"===c.substr(0,3)||"/."===c)c="/"+c.substr(3);else if("/../"===c.substr(0,4)||"/.."===c)c="/"+c.substr(4),a=a.replace(/\/?[^\/]*$/,"");else if("."===c||".."===c)c="";else{var f=c.match(/^\/?[^\/]*/)[0];
c=c.substr(f.length);a+=f}return a}this.authority=this.scheme=null;this.path="";this.fragment=this.query=null;this.parse=function(c){c=c.match(/^(([A-Za-z][0-9A-Za-z+.-]*)(:))?((\/\/)([^\/?#]*))?([^?#]*)((\?)([^#]*))?((#)(.*))?/);this.scheme=c[3]?c[2]:null;this.authority=c[5]?c[6]:null;this.path=c[7];this.query=c[9]?c[10]:null;this.fragment=c[12]?c[13]:null;return this};this.toString=function(){var c="";null!==this.scheme&&(c=c+this.scheme+":");null!==this.authority&&(c=c+"//"+this.authority);null!==
this.path&&(c+=this.path);null!==this.query&&(c=c+"?"+this.query);null!==this.fragment&&(c=c+"#"+this.fragment);return c};this.toAbsolute=function(c){c=new jscolor.URI(c);var a=new jscolor.URI;if(null===c.scheme)return!1;null!==this.scheme&&this.scheme.toLowerCase()===c.scheme.toLowerCase()&&(this.scheme=null);null!==this.scheme?(a.scheme=this.scheme,a.authority=this.authority,a.path=f(this.path),a.query=this.query):(null!==this.authority?(a.authority=this.authority,a.path=f(this.path),a.query=this.query):
(""===this.path?(a.path=c.path,a.query=null!==this.query?this.query:c.query):("/"===this.path.substr(0,1)?a.path=f(this.path):(a.path=null!==c.authority&&""===c.path?"/"+this.path:c.path.replace(/[^\/]+$/,"")+this.path,a.path=f(a.path)),a.query=this.query),a.authority=c.authority),a.scheme=c.scheme);a.fragment=this.fragment;return a};a&&this.parse(a)},color:function(a,f){function c(b,c,a){if(null===b)return[a,a,a];var e=Math.floor(b),d=a*(1-c);b=a*(1-c*(e%2?b-e:1-(b-e)));switch(e){case 6:case 0:return[a,
b,d];case 1:return[b,a,d];case 2:return[d,a,b];case 3:return[d,b,a];case 4:return[b,d,a];case 5:return[a,d,b]}}function n(b,c){if(!jscolor.picker){jscolor.picker={box:document.createElement("div"),boxB:document.createElement("div"),pad:document.createElement("div"),padB:document.createElement("div"),padM:document.createElement("div"),sld:document.createElement("div"),sldB:document.createElement("div"),sldM:document.createElement("div"),btn:document.createElement("div"),btnS:document.createElement("span"),
btnT:document.createTextNode(e.pickerCloseText)};for(var m=0;m<jscolor.images.sld[1];m+=4){var f=document.createElement("div");f.style.height="4px";f.style.fontSize="1px";f.style.lineHeight="0";jscolor.picker.sld.appendChild(f)}jscolor.picker.sldB.appendChild(jscolor.picker.sld);jscolor.picker.box.appendChild(jscolor.picker.sldB);jscolor.picker.box.appendChild(jscolor.picker.sldM);jscolor.picker.padB.appendChild(jscolor.picker.pad);jscolor.picker.box.appendChild(jscolor.picker.padB);jscolor.picker.box.appendChild(jscolor.picker.padM);
jscolor.picker.btnS.appendChild(jscolor.picker.btnT);jscolor.picker.btn.appendChild(jscolor.picker.btnS);jscolor.picker.box.appendChild(jscolor.picker.btn);jscolor.picker.boxB.appendChild(jscolor.picker.box)}var d=jscolor.picker;d.box.onmouseup=d.box.onmouseout=function(){a.focus()};d.box.onmousedown=function(){v=!0};d.box.onmousemove=function(b){if(q||r)q&&A(b),r&&B(b),document.selection?document.selection.empty():window.getSelection&&window.getSelection().removeAllRanges(),w()};"ontouchstart"in
window&&(m=function(b){var a={offsetX:b.touches[0].pageX-s.X,offsetY:b.touches[0].pageY-s.Y};if(q||r)q&&A(a),r&&B(a),w();b.stopPropagation();b.preventDefault()},d.box.removeEventListener("touchmove",m,!1),d.box.addEventListener("touchmove",m,!1));d.padM.onmouseup=d.padM.onmouseout=function(){q&&(q=!1,jscolor.fireEvent(k,"change"))};d.padM.onmousedown=function(b){switch(t){case 0:0===e.hsv[2]&&e.fromHSV(null,null,1);break;case 1:0===e.hsv[1]&&e.fromHSV(null,1,null)}r=!1;q=!0;A(b);w()};"ontouchstart"in
window&&d.padM.addEventListener("touchstart",function(b){s={X:b.target.offsetParent.offsetLeft,Y:b.target.offsetParent.offsetTop};this.onmousedown({offsetX:b.touches[0].pageX-s.X,offsetY:b.touches[0].pageY-s.Y})});d.sldM.onmouseup=d.sldM.onmouseout=function(){r&&(r=!1,jscolor.fireEvent(k,"change"))};d.sldM.onmousedown=function(b){q=!1;r=!0;B(b);w()};"ontouchstart"in window&&d.sldM.addEventListener("touchstart",function(b){s={X:b.target.offsetParent.offsetLeft,Y:b.target.offsetParent.offsetTop};this.onmousedown({offsetX:b.touches[0].pageX-
s.X,offsetY:b.touches[0].pageY-s.Y})});m=u(e);d.box.style.width=m[0]+"px";d.box.style.height=m[1]+"px";d.boxB.style.position="absolute";d.boxB.style.clear="both";d.boxB.style.left=b+"px";d.boxB.style.top=c+"px";d.boxB.style.zIndex=e.pickerZIndex;d.boxB.style.border=e.pickerBorder+"px solid";d.boxB.style.borderColor=e.pickerBorderColor;d.boxB.style.background=e.pickerFaceColor;d.pad.style.width=jscolor.images.pad[0]+"px";d.pad.style.height=jscolor.images.pad[1]+"px";d.padB.style.position="absolute";
d.padB.style.left=e.pickerFace+"px";d.padB.style.top=e.pickerFace+"px";d.padB.style.border=e.pickerInset+"px solid";d.padB.style.borderColor=e.pickerInsetColor;d.padM.style.position="absolute";d.padM.style.left="0";d.padM.style.top="0";d.padM.style.width=e.pickerFace+2*e.pickerInset+jscolor.images.pad[0]+jscolor.images.arrow[0]+"px";d.padM.style.height=d.box.style.height;d.padM.style.cursor="crosshair";d.sld.style.overflow="hidden";d.sld.style.width=jscolor.images.sld[0]+"px";d.sld.style.height=jscolor.images.sld[1]+
"px";d.sldB.style.display=e.slider?"block":"none";d.sldB.style.position="absolute";d.sldB.style.right=e.pickerFace+"px";d.sldB.style.top=e.pickerFace+"px";d.sldB.style.border=e.pickerInset+"px solid";d.sldB.style.borderColor=e.pickerInsetColor;d.sldM.style.display=e.slider?"block":"none";d.sldM.style.position="absolute";d.sldM.style.right="0";d.sldM.style.top="0";d.sldM.style.width=jscolor.images.sld[0]+jscolor.images.arrow[0]+e.pickerFace+2*e.pickerInset+"px";d.sldM.style.height=d.box.style.height;
try{d.sldM.style.cursor="pointer"}catch(l){d.sldM.style.cursor="hand"}d.btn.style.display=e.pickerClosable?"block":"none";d.btn.style.position="absolute";d.btn.style.left=e.pickerFace+"px";d.btn.style.bottom=e.pickerFace+"px";d.btn.style.padding="0 15px";d.btn.style.height="18px";d.btn.style.border=e.pickerInset+"px solid";(function(){var b=e.pickerInsetColor.split(/\s+/);d.btn.style.borderColor=2>b.length?b[0]:b[1]+" "+b[0]+" "+b[0]+" "+b[1]})();d.btn.style.color=e.pickerButtonColor;d.btn.style.font=
"12px sans-serif";d.btn.style.textAlign="center";try{d.btn.style.cursor="pointer"}catch(h){d.btn.style.cursor="hand"}d.btn.onmousedown=function(){e.hidePicker()};d.btnS.style.lineHeight=d.btn.style.height;switch(t){case 0:var g="hs.png";break;case 1:g="hv.png"}d.padM.style.backgroundImage="url('"+jscolor.getDir()+"cross.gif')";d.padM.style.backgroundRepeat="no-repeat";d.sldM.style.backgroundImage="url('"+jscolor.getDir()+"arrow.gif')";d.sldM.style.backgroundRepeat="no-repeat";d.pad.style.backgroundImage=
"url('"+jscolor.getDir()+g+"')";d.pad.style.backgroundRepeat="no-repeat";d.pad.style.backgroundPosition="0 0";z();F();jscolor.picker.owner=e;document.getElementsByTagName("body")[0].appendChild(d.boxB)}function u(b){return[2*b.pickerInset+2*b.pickerFace+jscolor.images.pad[0]+(b.slider?2*b.pickerInset+2*jscolor.images.arrow[0]+jscolor.images.sld[0]:0),b.pickerClosable?4*b.pickerInset+3*b.pickerFace+jscolor.images.pad[1]+b.pickerButtonHeight:2*b.pickerInset+2*b.pickerFace+jscolor.images.pad[1]]}function z(){switch(t){case 0:var b=
1;break;case 1:b=2}var a=Math.round(e.hsv[0]/6*(jscolor.images.pad[0]-1)),b=Math.round((1-e.hsv[b])*(jscolor.images.pad[1]-1));jscolor.picker.padM.style.backgroundPosition=e.pickerFace+e.pickerInset+a-Math.floor(jscolor.images.cross[0]/2)+"px "+(e.pickerFace+e.pickerInset+b-Math.floor(jscolor.images.cross[1]/2))+"px";a=jscolor.picker.sld.childNodes;switch(t){case 0:for(var m=c(e.hsv[0],e.hsv[1],1),b=0;b<a.length;b+=1)a[b].style.backgroundColor="rgb("+m[0]*(1-b/a.length)*100+"%,"+m[1]*(1-b/a.length)*
100+"%,"+m[2]*(1-b/a.length)*100+"%)";break;case 1:var f,d=[e.hsv[2],0,0],b=Math.floor(e.hsv[0]),l=b%2?e.hsv[0]-b:1-(e.hsv[0]-b);switch(b){case 6:case 0:m=[0,1,2];break;case 1:m=[1,0,2];break;case 2:m=[2,0,1];break;case 3:m=[2,1,0];break;case 4:m=[1,2,0];break;case 5:m=[0,2,1]}for(b=0;b<a.length;b+=1)f=1-1/(a.length-1)*b,d[1]=d[0]*(1-f*l),d[2]=d[0]*(1-f),a[b].style.backgroundColor="rgb("+100*d[m[0]]+"%,"+100*d[m[1]]+"%,"+100*d[m[2]]+"%)"}}function F(){switch(t){case 0:var b=2;break;case 1:b=1}b=Math.round((1-
e.hsv[b])*(jscolor.images.sld[1]-1));jscolor.picker.sldM.style.backgroundPosition="0 "+(e.pickerFace+e.pickerInset+b-Math.floor(jscolor.images.arrow[1]/2))+"px"}function y(){return jscolor.picker&&jscolor.picker.owner===e}function G(){k!==a&&e.importColor()}function A(b){var a=jscolor.getRelMousePos(b);b=a.x-e.pickerFace-e.pickerInset;a=a.y-e.pickerFace-e.pickerInset;switch(t){case 0:e.fromHSV(6/(jscolor.images.pad[0]-1)*b,1-a/(jscolor.images.pad[1]-1),null,C);break;case 1:e.fromHSV(6/(jscolor.images.pad[0]-
1)*b,null,1-a/(jscolor.images.pad[1]-1),C)}}function B(b){b=jscolor.getRelMousePos(b).y-e.pickerFace-e.pickerInset;switch(t){case 0:e.fromHSV(null,null,1-b/(jscolor.images.sld[1]-1),D);break;case 1:e.fromHSV(null,1-b/(jscolor.images.sld[1]-1),null,D)}}function w(){e.onImmediateChange&&("string"===typeof e.onImmediateChange?new Function(e.onImmediateChange):e.onImmediateChange).call(e)}this.adjust=this.required=!0;this.hash=!1;this.slider=this.caps=!0;this.styleElement=this.valueElement=a;this.onImmediateChange=
null;this.hsv=[0,0,1];this.rgb=[1,1,1];this.minH=0;this.maxH=6;this.minS=0;this.maxS=1;this.minV=0;this.maxV=1;this.pickerOnfocus=!0;this.pickerMode="HSV";this.pickerPosition="bottom";this.pickerSmartPosition=!0;this.pickerButtonHeight=20;this.pickerClosable=!1;this.pickerCloseText="Close";this.pickerButtonColor="ButtonText";this.pickerFace=10;this.pickerFaceColor="ThreeDFace";this.pickerBorder=1;this.pickerBorderColor="ThreeDHighlight ThreeDShadow ThreeDShadow ThreeDHighlight";this.pickerInset=1;
this.pickerInsetColor="ThreeDShadow ThreeDHighlight ThreeDHighlight ThreeDShadow";this.pickerZIndex=1E4;for(var p in f)f.hasOwnProperty(p)&&(this[p]=f[p]);this.hidePicker=function(){y()&&(delete jscolor.picker.owner,document.getElementsByTagName("body")[0].removeChild(jscolor.picker.boxB))};this.showPicker=function(){if(!y()){var b=jscolor.getElementPos(a),c=jscolor.getElementSize(a),e=jscolor.getViewPos(),f=jscolor.getViewSize(),d=u(this),l,h,g;switch(this.pickerPosition.toLowerCase()){case "left":l=
1;h=0;g=-1;break;case "right":l=1;h=0;g=1;break;case "top":l=0;h=1;g=-1;break;default:l=0,g=h=1}var k=(c[h]+d[h])/2,b=this.pickerSmartPosition?[-e[l]+b[l]+d[l]>f[l]?-e[l]+b[l]+c[l]/2>f[l]/2&&0<=b[l]+c[l]-d[l]?b[l]+c[l]-d[l]:b[l]:b[l],-e[h]+b[h]+c[h]+d[h]-k+k*g>f[h]?-e[h]+b[h]+c[h]/2>f[h]/2&&0<=b[h]+c[h]-k-k*g?b[h]+c[h]-k-k*g:b[h]+c[h]-k+k*g:0<=b[h]+c[h]-k+k*g?b[h]+c[h]-k+k*g:b[h]+c[h]-k-k*g]:[b[l],b[h]+c[h]-k+k*g];n(b[l],b[h])}};this.importColor=function(){k?this.adjust?!this.required&&/^\s*$/.test(k.value)?
(k.value="",g.style.backgroundImage=g.jscStyle.backgroundImage,g.style.backgroundColor=g.jscStyle.backgroundColor,g.style.color=g.jscStyle.color,this.exportColor(x|E)):this.fromString(k.value)||this.exportColor():this.fromString(k.value,x)||(g.style.backgroundImage=g.jscStyle.backgroundImage,g.style.backgroundColor=g.jscStyle.backgroundColor,g.style.color=g.jscStyle.color,this.exportColor(x|E)):this.exportColor()};this.exportColor=function(b){if(!(b&x)&&k){var a=this.toString();this.caps&&(a=a.toUpperCase());
this.hash&&(a="#"+a);k.value=a}b&E||!g||(g.style.backgroundImage="none",g.style.backgroundColor="#"+this.toString(),g.style.color=0.5>0.213*this.rgb[0]+0.715*this.rgb[1]+0.072*this.rgb[2]?"#FFF":"#000");b&D||!y()||z();b&C||!y()||F()};this.fromHSV=function(b,a,e,f){null!==b&&(b=Math.max(0,this.minH,Math.min(6,this.maxH,b)));null!==a&&(a=Math.max(0,this.minS,Math.min(1,this.maxS,a)));null!==e&&(e=Math.max(0,this.minV,Math.min(1,this.maxV,e)));this.rgb=c(null===b?this.hsv[0]:this.hsv[0]=b,null===a?this.hsv[1]:
this.hsv[1]=a,null===e?this.hsv[2]:this.hsv[2]=e);this.exportColor(f)};this.fromRGB=function(b,a,e,f){null!==b&&(b=Math.max(0,Math.min(1,b)));null!==a&&(a=Math.max(0,Math.min(1,a)));null!==e&&(e=Math.max(0,Math.min(1,e)));b=null===b?this.rgb[0]:b;a=null===a?this.rgb[1]:a;var d=null===e?this.rgb[2]:e,g=Math.min(Math.min(b,a),d);e=Math.max(Math.max(b,a),d);var h=e-g;0===h?b=[null,0,e]:(b=b===g?3+(d-a)/h:a===g?5+(b-d)/h:1+(a-b)/h,b=[6===b?0:b,h/e,e]);null!==b[0]&&(this.hsv[0]=Math.max(0,this.minH,Math.min(6,
this.maxH,b[0])));0!==b[2]&&(this.hsv[1]=null===b[1]?null:Math.max(0,this.minS,Math.min(1,this.maxS,b[1])));this.hsv[2]=null===b[2]?null:Math.max(0,this.minV,Math.min(1,this.maxV,b[2]));b=c(this.hsv[0],this.hsv[1],this.hsv[2]);this.rgb[0]=b[0];this.rgb[1]=b[1];this.rgb[2]=b[2];this.exportColor(f)};this.fromString=function(b,a){var c=b.match(/^\W*([0-9A-F]{3}([0-9A-F]{3})?)\W*$/i);return c?(6===c[1].length?this.fromRGB(parseInt(c[1].substr(0,2),16)/255,parseInt(c[1].substr(2,2),16)/255,parseInt(c[1].substr(4,
2),16)/255,a):this.fromRGB(parseInt(c[1].charAt(0)+c[1].charAt(0),16)/255,parseInt(c[1].charAt(1)+c[1].charAt(1),16)/255,parseInt(c[1].charAt(2)+c[1].charAt(2),16)/255,a),!0):!1};this.toString=function(){return(256|Math.round(255*this.rgb[0])).toString(16).substr(1)+(256|Math.round(255*this.rgb[1])).toString(16).substr(1)+(256|Math.round(255*this.rgb[2])).toString(16).substr(1)};var e=this,t="hvs"===this.pickerMode.toLowerCase()?1:0,v=!1,k=jscolor.fetchElement(this.valueElement),g=jscolor.fetchElement(this.styleElement),
q=!1,r=!1,s={},x=1,E=2,D=4,C=8;jscolor.isColorAttrSupported=!1;p=document.createElement("input");p.setAttribute&&(p.setAttribute("type","color"),"color"==p.type.toLowerCase()&&(jscolor.isColorAttrSupported=!0));jscolor.addEvent(a,"focus",function(){e.pickerOnfocus&&e.showPicker()});jscolor.addEvent(a,"blur",function(){v?v=!1:window.setTimeout(function(){v||(k===a&&e.importColor(),e.pickerOnfocus&&e.hidePicker());v=!1},0)});k&&(p=function(){e.fromString(k.value,x);w()},jscolor.addEvent(k,"keyup",p),
jscolor.addEvent(k,"input",p),jscolor.addEvent(k,"blur",G),k.setAttribute("autocomplete","off"));g&&(g.jscStyle={backgroundImage:g.style.backgroundImage,backgroundColor:g.style.backgroundColor,color:g.style.color});switch(t){case 0:jscolor.requireImage("hs.png");break;case 1:jscolor.requireImage("hv.png")}jscolor.requireImage("cross.gif");jscolor.requireImage("arrow.gif");this.importColor()}};jscolor.install();
