/**
* jscolor, JavaScript Color Picker
*
* @version 1.4.4
* @license 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 hashSign="",jscolor={dir:en4.core.baseUrl+"externals/jscolor/",bindClass:"SEcolor",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 d=location.href,b=document.getElementsByTagName("base"),a=0;a<b.length;a+=1)b[a].href&&(d=b[a].href);for(var b=document.getElementsByTagName("script"),a=0;a<b.length;a+=1)if(b[a].src&&/(^|\/)jscolor\.js([?#].*)?$/i.test(b[a].src)){var c=new jscolor.URI(b[a].src).toAbsolute(d);return c.path=c.path.replace(/[^\/]+$/,""),c.query=null,c.fragment=null,console.log(c.toString()),c.toString()}return!1},bind:function(){for(var e=new RegExp("(^|\\s)("+jscolor.bindClass+")(\\s*(\\{[^}]*\\})|\\s|$)","i"),b=document.getElementsByTagName("input"),a=0;a<b.length;a+=1)if((!jscolor.isColorAttrSupported||"color"!=b[a].type.toLowerCase())&& !b[a].color&&b[a].className&&(c=b[a].className.match(e))){var c,d={};if(c[4])try{d=new Function("return ("+c[4]+")")()}catch(f){}b[a].color=new jscolor.color(b[a],d)}},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,b,c){a.addEventListener?a.addEventListener(b,c,!1):a.attachEvent&&a.attachEvent("on"+b,c)},fireEvent:function(a,b){if(a){if(document.createEvent){var c=document.createEvent("HTMLEvents");c.initEvent(b,!0,!0),a.dispatchEvent(c)}else if(document.createEventObject){var c=document.createEventObject();a.fireEvent("on"+b,c)}else a["on"+b]&&a["on"+b]()}},getElementPos:function(e){var a=e,b=e,c=0,d=0;if(a.offsetParent)do c+=a.offsetLeft,d+=a.offsetTop;while(a=a.offsetParent)for(;(b=b.parentNode)&&"BODY"!==b.nodeName.toUpperCase();)c-=b.scrollLeft,d-=b.scrollTop;return[c,d]},getElementSize:function(a){return[a.offsetWidth,a.offsetHeight]},getRelMousePos:function(a){var b=0,c=0;return a||(a=window.event),"number"==typeof a.offsetX?(b=a.offsetX,c=a.offsetY):"number"==typeof a.layerX&&(b=a.layerX,c=a.layerY),{x:b,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 b(a){for(var b="";a;)if("../"===a.substr(0,3)||"./"===a.substr(0,2))a=a.replace(/^\.+/,"").substr(1);else if("/./"===a.substr(0,3)||"/."===a)a="/"+a.substr(3);else if("/../"===a.substr(0,4)||"/.."===a)a="/"+a.substr(4),b=b.replace(/\/?[^\/]*$/,"");else if("."===a||".."===a)a="";else{var c=a.match(/^\/?[^\/]*/)[0];a=a.substr(c.length),b+=c}return b}this.scheme=null,this.authority=null,this.path="",this.query=null,this.fragment=null,this.parse=function(b){var a=b.match(/^(([A-Za-z][0-9A-Za-z+.-]*)(:))?((\/\/)([^\/?#]*))?([^?#]*)((\?)([^#]*))?((#)(.*))?/);return this.scheme=a[3]?a[2]:null,this.authority=a[5]?a[6]:null,this.path=a[7],this.query=a[9]?a[10]:null,this.fragment=a[12]?a[13]:null,this},this.toString=function(){var a="";return null!==this.scheme&&(a=a+this.scheme+":"),null!==this.authority&&(a=a+"//"+this.authority),null!==this.path&&(a+=this.path),null!==this.query&&(a=a+"?"+this.query),null!==this.fragment&&(a=a+"#"+this.fragment),a},this.toAbsolute=function(d){var d=new jscolor.URI(d),a=this,c=new jscolor.URI;return null!==d.scheme&&(null!==a.scheme&&a.scheme.toLowerCase()===d.scheme.toLowerCase()&&(a.scheme=null),null!==a.scheme?(c.scheme=a.scheme,c.authority=a.authority,c.path=b(a.path),c.query=a.query):(null!==a.authority?(c.authority=a.authority,c.path=b(a.path),c.query=a.query):(""===a.path?(c.path=d.path,null!==a.query?c.query=a.query:c.query=d.query):("/"===a.path.substr(0,1)?c.path=b(a.path):(null!==d.authority&&""===d.path?c.path="/"+a.path:c.path=d.path.replace(/[^\/]+$/,"")+a.path,c.path=b(c.path)),c.query=a.query),c.authority=d.authority),c.scheme=d.scheme),c.fragment=a.fragment,c)},a&&this.parse(a)},color:function(c,d){for(var e in"undefined"!=typeof isColorFieldRequired?this.required=isColorFieldRequired:this.required=!0,this.adjust=!0,this.hash=!1,this.caps=!0,this.slider=!0,this.valueElement=c,this.styleElement=c,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,d)d.hasOwnProperty(e)&&(this[e]=d[e]);function i(d,f,a){if(null===d)return[a,a,a];var e=Math.floor(d),b=a*(1-f),c=a*(1-f*(e%2?d-e:1-(d-e)));switch(e){case 6:case 0:return[a,c,b];case 1:return[c,a,b];case 2:return[b,a,c];case 3:return[b,c,a];case 4:return[c,b,a];case 5:return[a,b,c]}}function j(a){return[2*a.pickerInset+2*a.pickerFace+jscolor.images.pad[0]+(a.slider?2*a.pickerInset+2*jscolor.images.arrow[0]+jscolor.images.sld[0]:0),a.pickerClosable?4*a.pickerInset+3*a.pickerFace+jscolor.images.pad[1]+a.pickerButtonHeight:2*a.pickerInset+2*a.pickerFace+jscolor.images.pad[1]]}function k(){switch(h){case 0:var f=1;break;case 1:var f=2}var g=Math.round(q.hsv[0]/6*(jscolor.images.pad[0]-1)),j=Math.round((1-q.hsv[f])*(jscolor.images.pad[1]-1));jscolor.picker.padM.style.backgroundPosition=q.pickerFace+q.pickerInset+g-Math.floor(jscolor.images.cross[0]/2)+"px "+(q.pickerFace+q.pickerInset+j-Math.floor(jscolor.images.cross[1]/2))+"px";var c=jscolor.picker.sld.childNodes;switch(h){case 0:for(var b=i(q.hsv[0],q.hsv[1],1),a=0;a<c.length;a+=1)c[a].style.backgroundColor="rgb("+b[0]*(1-a/c.length)*100+"%,"+b[1]*(1-a/c.length)*100+"%,"+b[2]*(1-a/c.length)*100+"%)";break;case 1:var b,e,d=[q.hsv[2],0,0],a=Math.floor(q.hsv[0]),k=a%2?q.hsv[0]-a:1-(q.hsv[0]-a);switch(a){case 6:case 0:b=[0,1,2];break;case 1:b=[1,0,2];break;case 2:b=[2,0,1];break;case 3:b=[2,1,0];break;case 4:b=[1,2,0];break;case 5:b=[0,2,1]}for(var a=0;a<c.length;a+=1)e=1-1/(c.length-1)*a,d[1]=d[0]*(1-e*k),d[2]=d[0]*(1-e),c[a].style.backgroundColor="rgb("+100*d[b[0]]+"%,"+100*d[b[1]]+"%,"+100*d[b[2]]+"%)"}}function l(){switch(h){case 0:var a=2;break;case 1:var a=1}var b=Math.round((1-q.hsv[a])*(jscolor.images.sld[1]-1));jscolor.picker.sldM.style.backgroundPosition="0 "+(q.pickerFace+q.pickerInset+b-Math.floor(jscolor.images.arrow[1]/2))+"px"}function m(){return jscolor.picker&&jscolor.picker.owner===q}function n(d){var a=jscolor.getRelMousePos(d),b=a.x-q.pickerFace-q.pickerInset,c=a.y-q.pickerFace-q.pickerInset;switch(h){case 0:q.fromHSV(b*(6/(jscolor.images.pad[0]-1)),1-c/(jscolor.images.pad[1]-1),null,y);break;case 1:q.fromHSV(b*(6/(jscolor.images.pad[0]-1)),null,1-c/(jscolor.images.pad[1]-1),y)}}function o(b){var a=jscolor.getRelMousePos(b).y-q.pickerFace-q.pickerInset;switch(h){case 0:q.fromHSV(null,null,1-a/(jscolor.images.sld[1]-1),x);break;case 1:q.fromHSV(null,1-a/(jscolor.images.sld[1]-1),null,x)}}function p(){q.onImmediateChange&&("string"==typeof q.onImmediateChange?new Function(q.onImmediateChange):q.onImmediateChange).call(q)}this.hidePicker=function(){m()&&(delete jscolor.picker.owner,document.getElementsByTagName("body")[0].removeChild(jscolor.picker.boxB))},this.showPicker=function(){if(!m()){var d,b,i,f=jscolor.getElementPos(c),g=jscolor.getElementSize(c),w=jscolor.getViewPos(),x=jscolor.getViewSize(),v=j(this);switch(this.pickerPosition.toLowerCase()){case"left":d=1,b=0,i=-1;break;case"right":d=1,b=0,i=1;break;case"top":d=0,b=1,i=-1;break;default:d=0,b=1,i=1}var e=(g[b]+v[b])/2;if(this.pickerSmartPosition)var y=[-w[d]+f[d]+v[d]>x[d]&& -w[d]+f[d]+g[d]/2>x[d]/2&&f[d]+g[d]-v[d]>=0?f[d]+g[d]-v[d]:f[d],-w[b]+f[b]+g[b]+v[b]-e+e*i>x[b]?-w[b]+f[b]+g[b]/2>x[b]/2&&f[b]+g[b]-e-e*i>=0?f[b]+g[b]-e-e*i:f[b]+g[b]-e+e*i:f[b]+g[b]-e+e*i>=0?f[b]+g[b]-e+e*i:f[b]+g[b]-e-e*i];else var y=[f[d],f[b]+g[b]-e+e*i];(function(x,y){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(q.pickerCloseText)};for(var d,f,g=0,i=4;g<jscolor.images.sld[1];g+=i){var e=document.createElement("div");e.style.height=i+"px",e.style.fontSize="1px",e.style.lineHeight="0",jscolor.picker.sld.appendChild(e)}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 b=jscolor.picker;if(b.box.onmouseup=b.box.onmouseout=function(){c.focus()},b.box.onmousedown=function(){r=!0},b.box.onmousemove=function(a){(s||t)&&(s&&n(a),t&&o(a),document.selection?document.selection.empty():window.getSelection&&window.getSelection().removeAllRanges(),p())},"ontouchstart"in window){var m=function(a){var b={offsetX:a.touches[0].pageX-u.X,offsetY:a.touches[0].pageY-u.Y};(s||t)&&(s&&n(b),t&&o(b),p()),a.stopPropagation(),a.preventDefault()};b.box.removeEventListener("touchmove",m,!1),b.box.addEventListener("touchmove",m,!1)}b.padM.onmouseup=b.padM.onmouseout=function(){s&&(s=!1,jscolor.fireEvent(a,"change"))},b.padM.onmousedown=function(a){switch(h){case 0:0===q.hsv[2]&&q.fromHSV(null,null,1);break;case 1:0===q.hsv[1]&&q.fromHSV(null,1,null)}t=!1,s=!0,n(a),p()},"ontouchstart"in window&&b.padM.addEventListener("touchstart",function(a){u={X:a.target.offsetParent.offsetLeft,Y:a.target.offsetParent.offsetTop},this.onmousedown({offsetX:a.touches[0].pageX-u.X,offsetY:a.touches[0].pageY-u.Y})}),b.sldM.onmouseup=b.sldM.onmouseout=function(){t&&(t=!1,jscolor.fireEvent(a,"change"))},b.sldM.onmousedown=function(a){s=!1,t=!0,o(a),p()},"ontouchstart"in window&&b.sldM.addEventListener("touchstart",function(a){u={X:a.target.offsetParent.offsetLeft,Y:a.target.offsetParent.offsetTop},this.onmousedown({offsetX:a.touches[0].pageX-u.X,offsetY:a.touches[0].pageY-u.Y})});var v=j(q);b.box.style.width=v[0]+"px",b.box.style.height=v[1]+"px",b.boxB.style.position="absolute",b.boxB.style.clear="both",b.boxB.style.left=x+"px",b.boxB.style.top=y+"px",b.boxB.style.zIndex=q.pickerZIndex,b.boxB.style.border=q.pickerBorder+"px solid",b.boxB.style.borderColor=q.pickerBorderColor,b.boxB.style.background=q.pickerFaceColor,b.pad.style.width=jscolor.images.pad[0]+"px",b.pad.style.height=jscolor.images.pad[1]+"px",b.padB.style.position="absolute",b.padB.style.left=q.pickerFace+"px",b.padB.style.top=q.pickerFace+"px",b.padB.style.border=q.pickerInset+"px solid",b.padB.style.borderColor=q.pickerInsetColor,b.padM.style.position="absolute",b.padM.style.left="0",b.padM.style.top="0",b.padM.style.width=q.pickerFace+2*q.pickerInset+jscolor.images.pad[0]+jscolor.images.arrow[0]+"px",b.padM.style.height=b.box.style.height,b.padM.style.cursor="crosshair",b.sld.style.overflow="hidden",b.sld.style.width=jscolor.images.sld[0]+"px",b.sld.style.height=jscolor.images.sld[1]+"px",b.sldB.style.display=q.slider?"block":"none",b.sldB.style.position="absolute",b.sldB.style.right=q.pickerFace+"px",b.sldB.style.top=q.pickerFace+"px",b.sldB.style.border=q.pickerInset+"px solid",b.sldB.style.borderColor=q.pickerInsetColor,b.sldM.style.display=q.slider?"block":"none",b.sldM.style.position="absolute",b.sldM.style.right="0",b.sldM.style.top="0",b.sldM.style.width=jscolor.images.sld[0]+jscolor.images.arrow[0]+q.pickerFace+2*q.pickerInset+"px",b.sldM.style.height=b.box.style.height;try{b.sldM.style.cursor="pointer"}catch(z){b.sldM.style.cursor="hand"}b.btn.style.display=q.pickerClosable?"block":"none",b.btn.style.position="absolute",b.btn.style.left=q.pickerFace+"px",b.btn.style.bottom=q.pickerFace+"px",b.btn.style.padding="0 15px",b.btn.style.height="18px",b.btn.style.border=q.pickerInset+"px solid",f=(d=q.pickerInsetColor.split(/\s+/)).length<2?d[0]:d[1]+" "+d[0]+" "+d[0]+" "+d[1],b.btn.style.borderColor=f,b.btn.style.color=q.pickerButtonColor,b.btn.style.font="12px sans-serif",b.btn.style.textAlign="center";try{b.btn.style.cursor="pointer"}catch(A){b.btn.style.cursor="hand"}switch(b.btn.onmousedown=function(){q.hidePicker()},b.btnS.style.lineHeight=b.btn.style.height,h){case 0:var w="hs.png";break;case 1:var w="hv.png"}b.padM.style.backgroundImage="url('"+jscolor.getDir()+"cross.gif')",b.padM.style.backgroundRepeat="no-repeat",b.sldM.style.backgroundImage="url('"+jscolor.getDir()+"arrow.gif')",b.sldM.style.backgroundRepeat="no-repeat",b.pad.style.backgroundImage="url('"+jscolor.getDir()+w+"')",b.pad.style.backgroundRepeat="no-repeat",b.pad.style.backgroundPosition="0 0",k(),l(),jscolor.picker.owner=q,document.getElementsByTagName("body")[0].appendChild(b.boxB)})(y[d],y[b])}},this.importColor=function(){a?this.adjust?!this.required&&/^\s*$/.test(a.value)?(a.value="",b.style.backgroundImage=b.jscStyle.backgroundImage,b.style.backgroundColor=b.jscStyle.backgroundColor,b.style.color=b.jscStyle.color,this.exportColor(v|w)):this.fromString(a.value)||this.exportColor():this.fromString(a.value,v)||(b.style.backgroundImage=b.jscStyle.backgroundImage,b.style.backgroundColor=b.jscStyle.backgroundColor,b.style.color=b.jscStyle.color,this.exportColor(v|w)):this.exportColor()},this.exportColor=function(d){if(!(d&v)&&a){var c=this.toString();this.caps&&(c=c.toUpperCase()),this.hash&&(c="#"+c),a.value=hashSign+c}!(d&w)&&b&&(b.style.backgroundImage="none",b.style.backgroundColor="#"+this.toString(),b.style.color=.213*this.rgb[0]+.715*this.rgb[1]+.072*this.rgb[2]<.5?"#FFF":"#000"),!(d&x)&&m()&&k(),!(d&y)&&m()&&l()},this.fromHSV=function(a,b,c,d){null!==a&&(a=Math.max(0,this.minH,Math.min(6,this.maxH,a))),null!==b&&(b=Math.max(0,this.minS,Math.min(1,this.maxS,b))),null!==c&&(c=Math.max(0,this.minV,Math.min(1,this.maxV,c))),this.rgb=i(null===a?this.hsv[0]:this.hsv[0]=a,null===b?this.hsv[1]:this.hsv[1]=b,null===c?this.hsv[2]:this.hsv[2]=c),this.exportColor(d)},this.fromRGB=function(b,c,d,f){null!==b&&(b=Math.max(0,Math.min(1,b))),null!==c&&(c=Math.max(0,Math.min(1,c))),null!==d&&(d=Math.max(0,Math.min(1,d)));var a=function(a,b,d){var f=Math.min(Math.min(a,b),d),e=Math.max(Math.max(a,b),d),c=e-f;if(0===c)return[null,0,e];var g=a===f?3+(d-b)/c:b===f?5+(a-d)/c:1+(b-a)/c;return[6===g?0:g,c/e,e]}(null===b?this.rgb[0]:b,null===c?this.rgb[1]:c,null===d?this.rgb[2]:d);null!==a[0]&&(this.hsv[0]=Math.max(0,this.minH,Math.min(6,this.maxH,a[0]))),0!==a[2]&&(this.hsv[1]=null===a[1]?null:Math.max(0,this.minS,Math.min(1,this.maxS,a[1]))),this.hsv[2]=null===a[2]?null:Math.max(0,this.minV,Math.min(1,this.maxV,a[2]));var e=i(this.hsv[0],this.hsv[1],this.hsv[2]);this.rgb[0]=e[0],this.rgb[1]=e[1],this.rgb[2]=e[2],this.exportColor(f)},this.fromString=function(c,b){var a=c.match(/^\W*([0-9A-F]{3}([0-9A-F]{3})?)\W*$/i);return!!a&&(6===a[1].length?this.fromRGB(parseInt(a[1].substr(0,2),16)/255,parseInt(a[1].substr(2,2),16)/255,parseInt(a[1].substr(4,2),16)/255,b):this.fromRGB(parseInt(a[1].charAt(0)+a[1].charAt(0),16)/255,parseInt(a[1].charAt(1)+a[1].charAt(1),16)/255,parseInt(a[1].charAt(2)+a[1].charAt(2),16)/255,b),!0)},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 q=this,h="hvs"===this.pickerMode.toLowerCase()?1:0,r=!1,a=jscolor.fetchElement(this.valueElement),b=jscolor.fetchElement(this.styleElement),s=!1,t=!1,u={},v=1,w=2,x=4,y=8;jscolor.isColorAttrSupported=!1;var f=document.createElement("input");if(f.setAttribute&&(f.setAttribute("type","color"),"color"==f.type.toLowerCase()&&(jscolor.isColorAttrSupported=!0)),jscolor.addEvent(c,"focus",function(){q.pickerOnfocus&&q.showPicker()}),jscolor.addEvent(c,"blur",function(){r?r=!1:window.setTimeout(function(){r||(a===c&&q.importColor(),q.pickerOnfocus&&q.hidePicker()),r=!1},0)}),a){var g=function(){q.fromString(a.value,v),p()};jscolor.addEvent(a,"keyup",g),jscolor.addEvent(a,"input",g),jscolor.addEvent(a,"blur",function(){a!==c&&q.importColor()}),a.setAttribute("autocomplete","off")}switch(b&&(b.jscStyle={backgroundImage:b.style.backgroundImage,backgroundColor:b.style.backgroundColor,color:b.style.color}),h){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()