var COLOR_PICKER_Z_LAYER=1001;var no_color_value="a very unlikey string";var is_no_color=function(A){return(A===null)||(A==no_color_value)||(A==="")};function is_rgba_string(A){return($type(A)=="string")&&(A.length==8)&&!isNaN(parseInt(A,16))}function is_rgb_string(C){var A="0123456789abcdef";if($type(C)!="string"){return false}if(C.charAt(0)=="#"){C=C.substring(1)}if(C.length!=6){return false}for(var B=0;B<6;B++){if(A.indexOf(C.charAt(B))==-1){return false}}return true}function popMagic(A,D){var C=A.getTop();var B=A.getLeft();D.setStyle("display","block");D.setStyle("left",B-50);D.setStyle("top",C);D.getFirst().addEvent("click",function(){D.setStyle("display","none")})}function showAttach2(N,K,M,L){var E=0;if($chk(M)){$("radius").value=M-1;E=M-1}else{$("radius").value=""}var J=$E("div",N);var C=$(K);var F=$(N);F.setStyle("display","block");var I=C.getCoordinates([$("scroller")]);var A=F.getCoordinates([$("scroller")]);var B=J.getCoordinates([$("scroller")]);F.setStyle("left",I.right);F.setStyle("top",I.top-B.height+40);var D=$("radiuspopupHolder").getElement("[id=cancel]");var H=$("radiuspopupHolder").getElement("[id=ok]");D.removeEvents("click");H.removeEvents("click");var G=new Slider($("radius-slider"),$("radius-handle"),{steps:7,onChange:function(O){$("radius").setHTML(parseInt(O,10)+1)}}).set(E);D.addEvent("click",function(O){O.setStyle("display","none")}.pass(F));H.addEvent("click",function(Q,O,P){Q.setStyle("display","none");if(P&&($type(P)=="function")){P(O.innerHTML)}}.pass([N,$("radius"),L]))}function hexToPct(C){var B=parseInt(C,16);var A=B/255;return A}function pctToHex(A){var C=(A*255).toInt();var B=C.toString(16);if(B.length==1){return"0"+B}else{return B}}var SVGHelper=new Class({create:function(B,D,A){var C;if(window.gecko){C=new Element("embed")}else{if(window.webkit){C=new Element("img")}}console.assert(C,"el not set");C.setProperties({"height":D,"width":A,"src":B});return C}});var normalizeColor=function(A){if(A===null||A===""){return no_color_value}return A};var sliders={"linewidth":null,"opacity":null,"radius":null};var initialize_sliders=function(M,O){var K=$("opacity-slider");var F=$("opacity-handle");var N=$("opPercent");if((sliders.opacity===null)&&K){var L=new Slider(K,F,{steps:100,onChange:function(P){N.setHTML(P)}});sliders.opacity=L}if($type(M.opacity)=="number"){sliders.opacity.set(M.opacity)}var A=dollar("radius-slider");var E=dollar("radius-handle");var I=dollar("radius-size-pixel");var C=dollar("radius-size");if(typeof console!="undefined"){console.log("radius display:",A.getStyle("display"));console.log("radius wrapper display:",C.getStyle("display"))}if((sliders.radius===null)&&A&&(C.getStyle("display")!=="none")){var J=new Slider(A,E,{"steps":39,"onChange":function(Q){if(isNaN(Q)){if(typeof console!="undefined"){console.log("step was NaN")}}var R;if((O.max_radius-O.min_radius)==39){R=Q+O.min_radius;I.setHTML(R)}else{if(typeof console!="undefined"){console.log("step:",Q)}var P=O.max_radius-O.min_radius;R=(O.min_radius+(P*(Q/40))).toInt();if(isNaN(R)){if(typeof console!="undefined"){console.log("NaN! step: "+Q+" span: "+P)}}else{I.setHTML(R)}}}});sliders.radius=J}if(($type(M.radius)=="number")&&(sliders.radius!==null)){sliders.radius.set(M.radius)}var H=dollar("linewidth-slider");var B=dollar("linewidth-handle");var G=dollar("linewidth-pixel");if((sliders.linewidth===null)&&H){var D=new Slider(H,B,{"steps":5,"onChange":function(Q){var P=4;var R=(1+(P*(Q/5))).toInt();G.setHTML(R)}});sliders.linewidth=D}if($type(M.linewidth)=="number"){sliders.linewidth.set(M.linewidth)}};var ColorPickerMgr=new Class({options:{overflown:[$("scroller")],polyline:true,polygon:true,point:true,min_radius:1,max_radius:40},initialize:function(A){if(typeof console!="undefined"){console.log("color picker options:",A)}this.setOptions(A);this.atchElt=$(A.atchElt);this.toElt=$(A.toElt);this.fill=normalizeColor(A.fill);this.stroke=normalizeColor(A.stroke);if(typeof console!="undefined"){console.log(this.fill,this.stroke,this.opacity);console.assert(is_rgba_string(this.fill)||is_no_color(this.fill)||(is_rgb_string(this.fill)&&(this.options.opacity!==null)),"invalid fill: "+this.fill+" opacity: "+this.options.opacity);console.assert(is_rgba_string(this.stroke)||is_no_color(this.stroke)||(is_rgb_string(this.stroke)&&(this.options.opacity!==null)),"invalid stroke")}this.callbackfunc=A.callbackfunc;this.suffix=A.suffix;this.customPicker=get_custom_picker();this.visible=false;this.configure()},configure:function(){if(this.options.point||this.options.polygon){$("fill").setStyle("display","block")}else{$("fill").setStyle("display","none")}var C=dollar("pattern-palette");var B=dollar("pattern-line");var E=$("symbol-palette");var A=$("symbol-line");var D=$("radius-size");if(this.options.point){if(E){E.setStyle("display","block")}if(A){A.setStyle("display","block")}if(D){D.setStyle("display","block")}if(C){C.setStyle("display","block")}if(B){B.setStyle("display","block")}if(C){C.setStyle("display","none")}if(B){B.setStyle("display","none")}}else{if(this.options.polyline){if(E){E.setStyle("display","none")}if(A){A.setStyle("display","none")}if(D){D.setStyle("display","none")}if(C){C.setStyle("display","none")}if(B){B.setStyle("display","none")}}else{if(this.options.polygon){if(E){E.setStyle("display","none")}if(A){A.setStyle("display","none")}if(D){D.setStyle("display","none")}if(C){C.setStyle("display","block")}if(B){B.setStyle("display","block")}}}}},hide:function(){this.atchElt.setStyles({"display":"none","visibility":"hidden"});this.visible=false;if(typeof console!="undefined"){console.log("clearing custom color handler")}this.customPicker.removeEvent("onChange",this.customColorHandler);this.customColorHandler=null},show:function(){var X=this.suffix||"";var c,O;if(!is_no_color(this.fill)){c=this.fill.substr(0,6);O=this.fill.substr(6,2)||"ff"}else{O="ff"}var L,T;if(!is_no_color(this.stroke)){L=this.stroke.substr(0,6);T=this.stroke.substr(6,2)||"ff"}else{T="ff"}var D=T;var N=(hexToPct(O)*100).toInt();var K=$E("div",this.atchElt);var Z;if(is_no_color(this.fillcolor)){Z=""}else{Z=c}if(is_no_color(this.fill)){dollar("fill-color").setStyle("background-color","");dollar("fill-color").addClass("no-color")}else{$("fill-color").setStyle("background-color","#"+c);dollar("fill-color").removeClass("no-color")}var V;if($defined($("line-color"))){if(is_no_color(this.strokecolor)){V=""}else{V=L}if(is_no_color(this.stroke)){$("line-color").setStyle("background-color","");dollar("line-color").addClass("no-color")}else{$("line-color").setStyle("background-color","#"+L);dollar("line-color").removeClass("no-color")}}var a=0;$("picker-fill").addEvent("click",function(){a=0;$("picker-fill").setStyle("border","2px solid #000");$("picker-border").setStyle("border","1px solid #e5e5e5")}.bind(this));$("picker-fill").setStyle("border","1px solid #e5e5e5");if($defined($("picker-border"))){$("picker-border").addEvent("click",function(){a=1;$("picker-border").setStyle("border","2px solid #000");$("picker-fill").setStyle("border","1px solid #e5e5e5")}.bind(this))}if(this.options.polygon||this.options.point){$("picker-fill").fireEvent("click")}else{$("picker-border").fireEvent("click")}if(this.options.symbol){set_preview_symbol(this.options.symbol)}if(this.options.pattern){set_preview_pattern(this.options.pattern)}function F(){var f=dollar("fill-color");var d=dollar("line-color");if(this.hasClass("no-color")){if(a===0){f.setStyle("background","");f.addClass("no-color")}else{d.setStyle("background","");d.addClass("no-color")}}else{var e=this.getStyle("background-color");if(a===0){f.removeClass("no-color");f.setStyle("background-color",e)}else{d.removeClass("no-color");d.setStyle("background-color",e)}}b()}function A(e){var f=dollar("fill-color");var d=dollar("line-color");if(a===0){f.removeClass("no-color");f.setStyle("background-color",e.hex)}else{d.removeClass("no-color");d.setStyle("background-color",e.hex)}b()}this.customPicker.addEvent("onChange",A);this.customColorHandler=A;function C(d){var f=$ES("td","picker-palette");for(i=0;i<f.length;i++){var g=f[i];if(d[i]===null||d[i]===""){g.addClass("no-color");g.setStyle("background-color","")}else{g.removeClass("no-color");var e="#"+d[i];g.setStyle("background-color",e)}g.onclick=F.bindAsEventListener(g)}}var H=null;var Y=function(){var e=$("select-palette").value;if(H===null){H=e}else{if(H!=e){var h=dollar("popupHolder").getCoordinates();var g=dollar("popupHolder").effect("top",{"duration":500});var k=53;var f=function(){g.start(h.top,h.top-k)};var j=function(){g.start(h.top,h.top+k)};if(H=="custom"){if(e!="custom"){j()}}else{if(e=="custom"){f()}}H=e}}if(e=="custom"){console.log("show custom picker");dollar("simple-color-palette").setStyle("display","none");this.customPicker.layout.getParent().setStyle("display","block");this.customPicker.show()}else{this.customPicker.layout.getParent().setStyle("display","none");this.customPicker.hide();dollar("simple-color-palette").setStyle("display","");var d=this.options.palettes[e];C(d)}}.bindAsEventListener(this);$("select-palette").onchange=Y;if(this.options.selectedColorPalette!==null){var J=$("select-palette").options;for(var W=0,S=J.length;W<S;W++){if(J[W].value==this.options.selectedColorPalette){J[W].selected="selected";break}}}Y();var E=26;var Q=16;function b(){lineWeight=1;var g=dollar("fill-color");var d=dollar("line-color");if(g){if(g.hasClass("no-color")){Z=""}else{Z=$("fill-color").getStyle("background-color")}}if(d){if(d.hasClass("no-color")){V=""}else{V=$("line-color").getStyle("background-color")}}var e=lineWeight*2;var f={background:Z,borderStyle:"solid",borderWidth:lineWeight+"px",borderColor:V,width:(E-e)+"px",height:(Q-e)+"px"};$("palette-final").setStyles(f)}b();$("btn-ok").onclick=function(){var k={};var g=$("opPercent").innerHTML.toInt()/100;if(g<0.1){g=0.1}T=pctToHex(g);var e=$("opPercent").innerHTML.toInt()/100;O=pctToHex(e);if(V===""){k["stroke"+X]=no_color_value}else{k["stroke"+X]=V.substr(1)+T}if(Z===""){k["fill"+X]=no_color_value}else{k["fill"+X]=Z.substr(1)+O}if(this.options.point){var d=dollar("radius-size-pixel").innerHTML.toInt();var j=dollar("selected-symbol").getProperty("value");k["radius"+X]=d;k["symbol"]=j}if(this.options.point||this.options.polygon){var h=dollar("selected-pattern").getProperty("value");k["pattern"]=h}var f=dollar("linewidth-pixel").innerHTML.toInt();k["linewidth"+X]=f;this.hide();this.callbackfunc(k)}.bindAsEventListener(this);$("btn-cancel").onclick=function(){this.hide()}.bindAsEventListener(this);var R=this.toElt;var I=R.getCoordinates(this.options.overflown);var U=this.atchElt;var B=K;U.setStyles({"display":"block","visbility":"hidden"});initialize_sliders({"linewidth":this.options.linewidth,"radius":this.options.radius,"opacity":N},this.options);var M=U.getCoordinates(this.options.overflown);var G=B.getCoordinates(this.options.overflown);var P={position:"absolute",left:I.right,top:I.top-G.height+43+$("scroller").getSize().scroll.y,"zIndex":COLOR_PICKER_Z_LAYER,"visibility":"visible"};if(typeof console!="undefined"){console.log("positioning @",P);console.log("picker coords:",G.height)}U.setStyles(P);this.visible=true}});ColorPickerMgr.implement(new Options());function showColorPicker(F,B,I,J,E,H,D){$("scroller").adopt($(F));var A={"atchElt":F,"toElt":B,"fill":I,"stroke":J,"callbackfunc":E,"suffix":H,"overflown":[$("scroller")],"polyline":false,"polygon":false,"point":true,"linewidth":1,"radius":10,"symbol":null,"pattern":"solid","opacity":null,"palettes":{},"selectedColorPalette":null};var C=$merge(A,D);var G=new ColorPickerMgr(C);G.show()}function showAttributeInfo(C,G,F){C.setStyle("display","block");var E=$E(".attrinfo_interior",C);var B=$E(".attrinfo_close",C);B.onclick=function(){C.setStyle("display","none")};E.innerHTML=""+F;var A=C.getCoordinates([$("scroller")]);var D=$(G).getCoordinates([$("scroller")]);C.setStyle("left",D.right);C.setStyle("top",D.top-A.height);return }function showAttachment(A,F,E,D,B,C){showColorPicker(A,F,E,D,B,C)}patchExplorerStyles=function(B){if(window.ie){var A;[".greeni1",".greeni2",".greeni3",".whitei1",".whitei2",".whitei3",".gTabHead",".encoder"].each(function(C){A=$ES(C,B);console.log(C,A.length,A);A.setStyle("width","auto")})}};var setOpacity=function(A,B){$(A).setOpacity(B)};var getOpacity=function(A){if(window.ie){throw"unimplement_method_exception"}return A.getStyle("opacity")}