/* JavaScriptCompressor 0.8 [www.devpro.it], thanks to Dean Edwards for idea [dean.edwards.name] */
jQuery.fn.farbtastic=function (callback){$.farbtastic(this,callback);return this;};jQuery.farbtastic=function (container,callback){var container=$(container).get(0);return container.farbtastic||(container.farbtastic=new jQuery._farbtastic(container,callback));}
jQuery._farbtastic=function (container,callback){
var fb=this;
$(container).html(
'<div class="farbtastic"><div class="color"></div><div class="wheel"></div><div class="overlay"></div><div class="h-marker marker"></div><div class="sl-marker marker"></div></div>'
);var e=$(
'.farbtastic'
,container);fb.wheel=$(
'.wheel'
,container).get(0);
fb.radius=84;fb.square=100;fb.width=194;
if (navigator.appVersion.match(
/MSIE [0-6]\./)){$(
'*'
,e).each(function (){if (this.currentStyle.backgroundImage !=
'none'
){var image=this.currentStyle.backgroundImage;image=this.currentStyle.backgroundImage.substring(5,image.length-2);$(this).css({
'backgroundImage'
:
'none'
,
'filter'
:
"progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true, sizingMethod=crop, src='"
+image+
"')"
});}});}
fb.linkTo=function (callback){
if (typeof fb.callback==
'object'
){$(fb.callback).unbind(
'keyup'
,fb.updateValue);}
fb.color=null;
if (typeof callback==
'function'
){fb.callback=callback;}
else if (typeof callback==
'object'
||typeof callback==
'string'
){fb.callback=$(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);}}
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;}
fb.setHSL=function (hsl){fb.hsl=hsl;fb.rgb=fb.HSLToRGB(hsl);fb.color=fb.pack(fb.rgb);fb.updateDisplay();return this;}
fb.widgetCoords=function (event){var x,y;var el=event.target||event.srcElement;var reference=fb.wheel;if (typeof event.offsetX !=
'undefined'
){
var pos={x:event.offsetX,y:event.offsetY};
var e=el;while (e){e.mouseX=pos.x;e.mouseY=pos.y;pos.x+=e.offsetLeft;pos.y+=e.offsetTop;e=e.offsetParent;}
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;}
e=el;while (e){e.mouseX=undefined;e.mouseY=undefined;e=e.offsetParent;}}
else {
var pos=fb.absolutePosition(reference);x=(event.pageX||0*(event.clientX+$(
'html'
).get(0).scrollLeft))-pos.x;y=(event.pageY||0*(event.clientY+$(
'html'
).get(0).scrollTop))-pos.y;}
return {x:x-fb.width
/ 2, y: y - fb.width /2};}
fb.mousedown=function (event){
if (!document.dragging){$(document).bind(
'mousemove'
,fb.mousemove).bind(
'mouseup'
,fb.mouseup);document.dragging=true;}
var pos=fb.widgetCoords(event);fb.circleDrag=Math.max(Math.abs(pos.x),Math.abs(pos.y)) * 2>fb.square;
fb.mousemove(event);return false;}
fb.mousemove=function (event){
var pos=fb.widgetCoords(event);
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]);}
return false;}
fb.mouseup=function (){
$(document).unbind(
'mousemove'
,fb.mousemove);$(document).unbind(
'mouseup'
,fb.mouseup);document.dragging=false;}
fb.updateDisplay=function (){
var angle=fb.hsl[0] * 6.28;$(
'.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'
});$(
'.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'
});
$(
'.color'
,e).css(
'backgroundColor'
,fb.pack(fb.HSLToRGB([fb.hsl[0],1,0.5])));
if (typeof fb.callback==
'object'
){
$(fb.callback).css({backgroundColor:fb.color,color:fb.hsl[2]>0.5?
'#000'
:
'#fff'
});
$(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);}}
fb.absolutePosition=function (el){var r={x:el.offsetLeft,y:el.offsetTop};
if (el.offsetParent){var tmp=fb.absolutePosition(el.offsetParent);r.x+=tmp.x;r.y+=tmp.y;}
return r;};
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];}
$(
'*'
,e).mousedown(fb.mousedown);
fb.setColor(
'#000000'
);
if (callback){fb.linkTo(callback);}}
/* JavaScriptCompressor 0.8 [www.devpro.it], thanks to Dean Edwards for idea [dean.edwards.name] */
$(document).ready(function(){init_palette();});function init_palette(){$(
"input.palette"
).each(function(i,palette){$(palette).css(
"background-color"
,$(palette).attr(
"value"
));palette.id=palid(palette);palette.onclick=function(e){$(
".colorpicker"
).empty().remove();$(palette)
.after(
'<div class="colorpicker"><div class="colorpicker_close" title="Fermer la palette">&nbsp;x&nbsp;</div><div class="colorpicker_bar">Palette</div><div id="colorpicker"></div></div>'
);$.farbtastic(
'#colorpicker'
,palette);$(
".colorpicker_close"
)
.hover(function(){$(this).addClass(
"hover"
);},function(){$(this).removeClass(
"hover"
);})
.click(function(){$(
".colorpicker"
).empty().remove();});};});}
function palid(element){if (!$(element).attr(
"id"
)){
var newid=parseInt(10000+10000*Math.random());return newid;}
return $(element).attr(
"id"
);}
