AAAAPK5>\ index.htmlnuW+APK5>\A5>V'V' farbtastic.jsnuW+A/** * Farbtastic Color Picker 1.2 * © 2008 Steven Wittens * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ jQuery.fn.farbtastic = function (callback) { jQuery.farbtastic(this, callback); return this; }; jQuery.farbtastic = function (container, callback) { var container = jQuery(container).get(0); return container.farbtastic || (container.farbtastic = new jQuery._farbtastic(container, callback)); } jQuery._farbtastic = function (container, callback) { // Store farbtastic object var fb = this; // Insert markup jQuery(container).html('
'); var e = jQuery('.farbtastic', container); fb.wheel = jQuery('.wheel', container).get(0); // Dimensions fb.radius = 84; fb.square = 100; fb.width = 194; // Fix background PNGs in IE6 if (navigator.appVersion.match(/MSIE [0-6]\./)) { jQuery('*', e).each(function () { if (this.currentStyle.backgroundImage != 'none') { var image = this.currentStyle.backgroundImage; image = this.currentStyle.backgroundImage.substring(5, image.length - 2); jQuery(this).css({ 'backgroundImage': 'none', 'filter': "progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true, sizingMethod=crop, src='" + image + "')" }); } }); } /** * Link to the given element(s) or callback. */ fb.linkTo = function (callback) { // Unbind previous nodes if (typeof fb.callback == 'object') { jQuery(fb.callback).unbind('keyup', fb.updateValue); } // Reset color fb.color = null; // Bind callback or elements if (typeof callback == 'function') { fb.callback = callback; } else if (typeof callback == 'object' || typeof callback == 'string') { fb.callback = jQuery(callback); fb.callback.bind('keyup', fb.updateValue); if (fb.callback.get(0).value) { fb.setColor(fb.callback.get(0).value); } } return this; } fb.updateValue = function (event) { if (this.value && this.value != fb.color) { fb.setColor(this.value); } } /** * Change color with HTML syntax #123456 */ fb.setColor = function (color) { var unpack = fb.unpack(color); if (fb.color != color && unpack) { fb.color = color; fb.rgb = unpack; fb.hsl = fb.RGBToHSL(fb.rgb); fb.updateDisplay(); } return this; } /** * Change color with HSL triplet [0..1, 0..1, 0..1] */ fb.setHSL = function (hsl) { fb.hsl = hsl; fb.rgb = fb.HSLToRGB(hsl); fb.color = fb.pack(fb.rgb); fb.updateDisplay(); return this; } ///////////////////////////////////////////////////// /** * Retrieve the coordinates of the given event relative to the center * of the widget. */ fb.widgetCoords = function (event) { var x, y; var el = event.target || event.srcElement; var reference = fb.wheel; if (typeof event.offsetX != 'undefined') { // Use offset coordinates and find common offsetParent var pos = { x: event.offsetX, y: event.offsetY }; // Send the coordinates upwards through the offsetParent chain. var e = el; while (e) { e.mouseX = pos.x; e.mouseY = pos.y; pos.x += e.offsetLeft; pos.y += e.offsetTop; e = e.offsetParent; } // Look for the coordinates starting from the wheel widget. var e = reference; var offset = { x: 0, y: 0 } while (e) { if (typeof e.mouseX != 'undefined') { x = e.mouseX - offset.x; y = e.mouseY - offset.y; break; } offset.x += e.offsetLeft; offset.y += e.offsetTop; e = e.offsetParent; } // Reset stored coordinates e = el; while (e) { e.mouseX = undefined; e.mouseY = undefined; e = e.offsetParent; } } else { // Use absolute coordinates var pos = fb.absolutePosition(reference); x = (event.pageX || 0*(event.clientX + jQuery('html').get(0).scrollLeft)) - pos.x; y = (event.pageY || 0*(event.clientY + jQuery('html').get(0).scrollTop)) - pos.y; } // Subtract distance to middle return { x: x - fb.width / 2, y: y - fb.width / 2 }; } /** * Mousedown handler */ fb.mousedown = function (event) { // Capture mouse if (!document.dragging) { jQuery(document).bind('mousemove', fb.mousemove).bind('mouseup', fb.mouseup); document.dragging = true; } // Check which area is being dragged var pos = fb.widgetCoords(event); fb.circleDrag = Math.max(Math.abs(pos.x), Math.abs(pos.y)) * 2 > fb.square; // Process fb.mousemove(event); return false; } /** * Mousemove handler */ fb.mousemove = function (event) { // Get coordinates relative to color picker center var pos = fb.widgetCoords(event); // Set new HSL parameters if (fb.circleDrag) { var hue = Math.atan2(pos.x, -pos.y) / 6.28; if (hue < 0) hue += 1; fb.setHSL([hue, fb.hsl[1], fb.hsl[2]]); } else { var sat = Math.max(0, Math.min(1, -(pos.x / fb.square) + .5)); var lum = Math.max(0, Math.min(1, -(pos.y / fb.square) + .5)); fb.setHSL([fb.hsl[0], sat, lum]); } UniteAdmin.onColorPickerMoveEvent(); return false; } /** * Mouseup handler */ fb.mouseup = function () { // Uncapture mouse jQuery(document).unbind('mousemove', fb.mousemove); jQuery(document).unbind('mouseup', fb.mouseup); document.dragging = false; } /** * Update the markers and styles */ fb.updateDisplay = function () { // Markers var angle = fb.hsl[0] * 6.28; jQuery('.h-marker', e).css({ left: Math.round(Math.sin(angle) * fb.radius + fb.width / 2) + 'px', top: Math.round(-Math.cos(angle) * fb.radius + fb.width / 2) + 'px' }); jQuery('.sl-marker', e).css({ left: Math.round(fb.square * (.5 - fb.hsl[1]) + fb.width / 2) + 'px', top: Math.round(fb.square * (.5 - fb.hsl[2]) + fb.width / 2) + 'px' }); // Saturation/Luminance gradient jQuery('.color', e).css('backgroundColor', fb.pack(fb.HSLToRGB([fb.hsl[0], 1, 0.5]))); // Linked elements or callback if (typeof fb.callback == 'object') { // Set background/foreground color jQuery(fb.callback).css({ backgroundColor: fb.color, color: fb.hsl[2] > 0.5 ? '#000' : '#fff' }); // Change linked value jQuery(fb.callback).each(function() { if (this.value && this.value != fb.color) { this.value = fb.color; } }); } else if (typeof fb.callback == 'function') { fb.callback.call(fb, fb.color); } } /** * Get absolute position of element */ fb.absolutePosition = function (el) { var r = { x: el.offsetLeft, y: el.offsetTop }; // Resolve relative to offsetParent if (el.offsetParent) { var tmp = fb.absolutePosition(el.offsetParent); r.x += tmp.x; r.y += tmp.y; } return r; }; /* Various color utility functions */ fb.pack = function (rgb) { var r = Math.round(rgb[0] * 255); var g = Math.round(rgb[1] * 255); var b = Math.round(rgb[2] * 255); return '#' + (r < 16 ? '0' : '') + r.toString(16) + (g < 16 ? '0' : '') + g.toString(16) + (b < 16 ? '0' : '') + b.toString(16); } fb.unpack = function (color) { if (color.length == 7) { return [parseInt('0x' + color.substring(1, 3)) / 255, parseInt('0x' + color.substring(3, 5)) / 255, parseInt('0x' + color.substring(5, 7)) / 255]; } else if (color.length == 4) { return [parseInt('0x' + color.substring(1, 2)) / 15, parseInt('0x' + color.substring(2, 3)) / 15, parseInt('0x' + color.substring(3, 4)) / 15]; } } fb.HSLToRGB = function (hsl) { var m1, m2, r, g, b; var h = hsl[0], s = hsl[1], l = hsl[2]; m2 = (l <= 0.5) ? l * (s + 1) : l + s - l*s; m1 = l * 2 - m2; return [this.hueToRGB(m1, m2, h+0.33333), this.hueToRGB(m1, m2, h), this.hueToRGB(m1, m2, h-0.33333)]; } fb.hueToRGB = function (m1, m2, h) { h = (h < 0) ? h + 1 : ((h > 1) ? h - 1 : h); if (h * 6 < 1) return m1 + (m2 - m1) * h * 6; if (h * 2 < 1) return m2; if (h * 3 < 2) return m1 + (m2 - m1) * (0.66666 - h) * 6; return m1; } fb.RGBToHSL = function (rgb) { var min, max, delta, h, s, l; var r = rgb[0], g = rgb[1], b = rgb[2]; min = Math.min(r, Math.min(g, b)); max = Math.max(r, Math.max(g, b)); delta = max - min; l = (min + max) / 2; s = 0; if (l > 0 && l < 1) { s = delta / (l < 0.5 ? (2 * l) : (2 - 2 * l)); } h = 0; if (delta > 0) { if (max == r && max != g) h += (g - b) / delta; if (max == g && max != b) h += (2 + (b - r) / delta); if (max == b && max != r) h += (4 + (r - g) / delta); h /= 6; } return [h, s, l]; } // Install mousedown handler (the others are set on the document on-demand) jQuery('*', e).mousedown(fb.mousedown); // Init color fb.setColor('#000000'); // Set linked elements/callback if (callback) { fb.linkTo(callback); } }PK5>\@mfarbtastic.cssnuW+A/** * Farbtastic Color Picker 1.2 * © 2008 Steven Wittens * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ .farbtastic_wrapper{ position:absolute; left:1200px; top:300px; } .farbtastic { position: relative; } .farbtastic * { position: absolute; cursor: crosshair; } .farbtastic, .farbtastic .wheel { width: 195px; height: 195px; } .farbtastic .color, .farbtastic .overlay { top: 47px; left: 47px; width: 101px; height: 101px; } .farbtastic .wheel { background: url(wheel.png) no-repeat; width: 195px; height: 195px; } .farbtastic .overlay { background: url(mask.png) no-repeat; } .farbtastic .marker { width: 17px; height: 17px; margin: -8px 0 0 -8px; overflow: hidden; background: url(marker.png) no-repeat; } PK5>\~-- wheel.pngnuW+APNG  IHDR?tIME2(S-IDATxyEUgf2CBأI ʢ n'Eԋ܋"Ԉʢ,FA+BD@EP@eK@$tW}33gzLӧޥު,e)KYR,eqQނ Be:AOhruӓAh D V0&BҁĠXj$+Q@:W,E`ʻ]0^6m0~0;A3! z1E߯ lHC>/6<` " ̑Y mg TK Y>p}Vs)Y[Bp gJ ð`h'0g>rE}Z}CT Id1"L׾sbk^,d.Gr[S@ ou$sm`n94oI  [(x ،[9mG0 Id\ȱґtpI0.=oksCp/=m(a4sm.y=Ag"y = (_=7 h+aho@~r t]0Yy6H15lOͅl[~ L tV AU^[$^)#TB ?w(Hn E59H v nI3[9\@* j{֔·}o6@7 mokj뀮ZuEIAJ3Swn/3_5 nb!DGW(@ܱ/_D!\z-D z—!' z꬞zB@+ d Q'`SF hCN@ؿBcNdP&[`/apͮ/h7.@'Yuh5DO@ 'yKbx*ld:fxwJX*;$%2%7kPOg ;Z$a VŸG3I ~wAL!oL;(GJ 4@P_\tqK`}o@@өѴl:^пܳjؚPTMHޅb˄J˂$Ip3ϊR C/7>UM|$((D@tnX\f8\vG1M3|{??@a05:}buq#dFAn;7ac؉VD2L-=b GM<0?g3R^!A†W=/X1CQj)W/&1}C5N N#̢,f@?eulḅdӱIwmr$g/~;@.` { E2Es&~$'"RAP0G=g`8:P^+d zy{,I2CiHvG[X̣ts //v 7a0i< ׂķgg53"9[{{> !+C#j?BM09)f] 3R3(@6T§G:vsaN̘d f U-og,g+ZǠϐ=TJ3O-; n-hDR[ OX:|$MF } 8e.4oX\ ~ zWgD5߀ wg{97CVK|mFA`;]>!+_|RT L g8E[bR-]4zds@0&~ l 0`9>γ A_ ";1k8\P~ 0Sj$[[p9ҵW#K+T ol>0ۅ?vjuG6Ƭk#߼{GŸUEb*\{ՠ5*r`0]}[ش  Hn14aCJ?S6DLgERpbo.-S5amZ^gZH F[2>̆vNa.Y8E<#g fOmPa,& _W+XӸ@'8/4ps|gEYI0I+QlA $8Bs܊ZwJػ'ݼeN;$F1K2O Qf (. RZ$c\~BANNBs&k䂡s$S3K`3^H<7*"'|E ^s,; Epr-b,P, g"VX wVeQ)2ilKb#9A `"u}֧Izb-܂b gVkv浶ބ0u TE]ғAQ bq9\LKh*y+51)uo'ڬd$F1XL()`*]%e|J '=1澌 k^3<%2gMsw3-n gi8ՀjK]V^ui:!D?Yyg¬ނqMJOi,C4{4~`10,H'jXe:ھ;ˀ\ -76.i VAd~{O:nxL !Xi8FL&~ fOj&-d!-Y vdHfgޘ[q/*+2$R7~Hn V@8RW[ǁ &8Pq.ML}Z!! }V!08Ƭ,=4_!Ό` +c0\cDyB6y=\bUg,!'U5ш!m އu[c߶u'.s@]Y3CZZL:׆3h>O,MYwq\`e=fɺ}r6ZޛgYO(9;MxCfғq0L_'V ,󼬷^F Ï+ITBぁg4d&E0WC2:A}V{םcK3w”RLrE97)R̥ ?V4S$IZgq6zʭ F< βpk#)ef Ki}[Ў:um]@Pb!cNh<Bǒ @G40]sE4 1^O o եNңB{ـ0ySL#O5hr@pTn"8L@7 ԿlMatuy/Nlҹ!i6p0 L. !~Sv s4T f}Nqg$`0l{ZE Y[""/2C/L:0tAM #1M!l`Z%l`=t&Q&Ȭ{"7xú3>u2#x~+.s84{Τu$,-/k"80kΐ1a肽qq-zFw@Q= c]-˘#hv˘0qN*<7jQ#ZɁ`}8IX0% _]$INڰv@%@%KfKiof 8&f.Rxh+xpi~ Xf \B<3z%P:Y4}kqq^uB'+#-O2f|eia vGLukxg/~vI·}xwaHhԹ_[+ _ Ǿ6sf2:ڻlr~e:@v{hhsk2G4фƣFZ~{bZ}mڡlBobNntN' d-poPC=X!W:޾] 5 lU[-")%#KEZFRjHr-XZt5ا)ڠ!s3n^,mkRGg#^"͐}:$ұsM Z}c zm h (fӧ;5{9ѐ\ <vEqU,pI(#3!KZ/-cR)'%fƿk7a$F]RaX c9I>m?5,pF &x sd ˁ&]7 =( 3Z}P~DaG]wӴHA@䨂`䊔۷yu-Ȕ$pU55i$(ҾiPp_$׎?VWs&2R̩ $i,ZT?".9t,IOV`H`K+:MMB̷v10^7b uu%CCE]~͜GA IEeqS0bੰakɡf.03릟 ,tH,8V1$;3)I̤F5D^]PޙN?iF¬Z۶0hn<ht5ft9W!Y"Ci$E:"ېL,I$iK?UP]W=鄛 az" LOZ i~A9X W}̟F⤥K}ֱkW6t.yIZqH:%bz5LdXlOu[a)fq"!@ְ@ x(${0g5lPhKIIAEIxTtxQUѝoc<=I%Ӂ͕G'oNsZ?C-i7ÐlF!* z/' 6s5!Q]`RM|% PǕE;sp9Ǘ6ڤ{( qG7KaInwfJx0t'1|:MYu>fI >؄PUvܚ!)Y@ ``c efR4s89q2Dk^-ܤ|ڟI0%x 6ߌ3Ȍ§Ny r\YwU7YqK6{GA JzjeLfh~B  ]BIiyG;_ 2B` a郈wz[dRv' Qm1םzV#3)gZ4m,c# Ii X,346;1 1FC#@hQYĴ\2R}VuPDuu[|ƽAցiD&voѤEhX; `h4()Z:չ 1KX"Li,QaVam72g(i*1ʺ& 76p& g\69tҖ)!Si"jw}[RKˠ-4*k̤P e)G]}U3\;BR`]̟YU;l I03~BzNmT>- kfhcR}Fy% e)0QUc!cd, D2&Du0$arV8a0":# % e)hH,$܂c6H^ϒ1n(b c>kQYl.LOa,i! f[V8ab7}N[ +cY r~{S_Q"x>go ,xϢg4 @9@ 0|ei|a:Ccaj?X>ʲ4ZBEZ5A̐@,x9NH F4qղlV4Ag3fk Cl2Z#I{ ,c->C6n$SH-=hzes{ڴ@,qm!r 4հFR_-j(E-K޲/ a3=4jFcnbqjǼGZ%w hX;ppԙtRZMy',axZ^Y6Yսv;,8]{ZB|z3 ݋ja-Eq)MtJ ~ _`?_iX`(sYØ$5-00& :=D)0|eI*px[eq=ٿQ3nЭ=BXv\Bb^hڴI?cY|e f1 "Sr3d08}OR_p$6+|I,u|!,ea9bu6Q\T _,Š,vֱNq̞}`+>AW+MEi?}OcYJ& 4V Ʀ޳?C0.NNj5SCBu KrAW#8d׫t!9x\tR1sӓsK{6دobzDO4w J}!pSb2E Sh2uca]3Pou2vi O"Ņހ9ehH+oP-5pwA P0\ڢnXq(LV~cN7T @$? X_Jp  ?TGhQv%̲ sn5e7K|EG)C~ z[# :3|Q#& ueX$$= ?32BRAr-\~1,/fc9zw$87HhJ05|[ųdY 4'կo]>NwD,{Kib"igs~#~l@& w:X =Y-yf(Q2VBxq9 LEkf `7^C Rn(#MS臠H0l)xꚢͣ`KQL+1ى* `@]5ty / D#uio' O%6$bXrLu T~BӪ٧ykrV3APsHu)-%n:AUbR)͍h1s!:AK<>4P>\+}8T7QDa`F1#e(e"^)!dD>"q{ DC7Ďfc*zCxe~˛ Z`_/DcYY}  PTgOʦ$Xωk\ɉ≑A 9"$J3:\m20 nwnKl$'ֆx҆Tw\NX3ws$Aπow[wŴ,fm[t3l,a!:̦o49e(>=A i[ F'Tx]]9 hqX`4Nَl2q׍M=B;A0 "~&nE?!Щ+ˌ ; W/ ,7' ޺gA΃NE\j3j"O#4WSDŽ-MȐFd Lj3XDsތ{H߸F]!: A襩iZ$ 'Ȭ,m>7<X}n8 N{7ᙓh7激ٵlQ(aX~{2X q([ ǾϐdZdV1>I~y|.KPZGqWϲWg*.(ژ>(NBrPm tiIZ OZD$ga KaݕŒd14`"`sv§yLM\WZrIBIM2 ݀]zA]5:~&ŦCo18#(ajKZ 4|H&`D?q%<q&7& C](d#Q Cd)dV`G+ uP=u(0ԗLJfQߐ\\T<M:l}{"w֎t_aKHnb A1 <`)0xO`n`c0{(%*aIl$Q(Z " Aѽ`aسlK9KiePDHvD2AdDj {,2Dρ~ (+Gj?@ jb-c*0Vb2B2BІ `ym Z Q'D^ ЯC -ClW],e)KYR(!jIENDB`PK5>\) .htaccessnuW+A Order allow,deny Deny from all PK5>\'mask.pngnuW+APNG  IHDReeT|-tIME3 7IDATx]R: l d8TQ7[7;}^c)qRj/4_Dw+\F]hztG;J:\F>vp cnd`±sVsɵǁD$h'=]as'BfOWdLeds(L׊GWHBרVFa ]W6Ev&xM,8O1};Bc JvY_#eTW ʴd>*Q<ZL̛q)'5Y|=iWOYXѵ؋I0G QW5ذD8F֊c(X%KIFu]ڲxZ&[Qp&NxCꚲyI%&JH#YtŖ˪'@zU%zI V%9 :'_2˂*%C',"# /a×gYVh˴d*,ߐ: YD}A8H#zr1*kwѰ%% ~T ) C cUҰJaq|#~!{hi~gxLdt#+{| ~#:̣)-QUU8VVː&A#;U=Pz241:9N\* AB#Q1q'Ò'y!'Q0_5S{NvGgWyH!'c.'Sq s2MsclV + a0N&?)o Z6`9Y٨9x*@ʎ "0~‰aPO,)(ZƮ̔ r1˛ՒC?&š#坨l9QuꬬkRS*+p)7g&P;3GH vVy htT(vme0w.xRp)V}iin S-1{'w<}m!`q| U#SS VhxA}˺Ҝ&N d7Q碝+Rޓ!k  ?=H¡URnDqq $cPAdbqP,(4"T?&;H@P(0{^^Gtg/O^1FR P%.c|B=0&7F!^6viBҚT%);QX*']OA;V|MKBN)yS)/i&—\ThBHơi4En Jݣ\^DF A، 'D wYjS!?sQJwM1} _K\~$bVr7zJjۊ3|zJb(2`J DW]ǀȮ#|]Dkg #h $X!lkgR" fWUUy?#z a!' Xi0}vegTkc>Q /2Rd^yJE<zJe+O<"|Tڲh ~LfA `w8*|])a@߱ڧn0;>K}9se5[IENDB`PK5>\tl marker.pngnuW+APNG  IHDR;mG+tEXtCreation Timevr 14 jul 2006 13:31:23 +0100CgtIME % pHYs."."ݒgAMA aIDATxڭK*Qd*`H !t!E-t-6 ڴ*p*B yQA"-ȍ$6*9{ C: сs{ cҰ$,X@W\HU,? T ^AlqÛ`3>RE*ˬ^3YY(b>{`kVQX`0_LCzvt&=(A+ rN `V0d2IN =^d{jJ>eXr ")nbT")7cccbQj݈eZg"fꖅF1p8kE/Rj8fN^.DWzOdp*R)BHOXxQb#O^LjIENDB`PK5>\ index.htmlnuW+APK5>\A5>V'V' :farbtastic.jsnuW+APK5>\@m'farbtastic.cssnuW+APK5>\~-- -wheel.pngnuW+APK5>\) [.htaccessnuW+APK5>\'m\mask.pngnuW+APK5>\tl dmarker.pngnuW+APK Og