[PLUGINS] +les plugins de bases
[ptitvelo/web/www.git] / www / plugins / beespip / js / mColorPicker.min.js
1 /*
2 mColorPicker
3 Version: 1.0 r38
4
5 Copyright (c) 2010 Meta100 LLC.
6 http://www.meta100.com/
7
8 Licensed under the MIT license
9 http://www.opensource.org/licenses/mit-license.php
10 */
11
12 (function($){var b,e,g,j,i=$(document),h=$("<div>"),n=$("<div>"),o=$("<div>"),p=$("<input>"),q=/^rgb[a]?\((\d+),\s*(\d+),\s*(\d+)(,\s*(\d+\.\d+)*)?\)/,r=/([a-f0-9])([a-f0-9])([a-f0-9])/,s=/#[a-f0-9]{3}/,t=/#[a-f0-9]{6}/;$.fn.mColorPicker=function(a){var c=$.fn.mColorPicker.getCookie("swatches");b=$.extend($.fn.mColorPicker.defaults,a);$.fn.mColorPicker.defaults.swatches.concat(b.swatches).slice(-10);if(e.enhancedSwatches&&c)b.swatches=c.split("||").concat(b.swatches).slice(0,10)||b.swatches;$("div#mColorPicker").length||$.fn.mColorPicker.drawPicker();$("#css_disabled_color_picker").length||$("head").prepend('<meta data-remove-me="true"/><style id="css_disabled_color_picker" type="text/css">.mColorPicker[disabled] + span, .mColorPicker[disabled="disabled"] + span, .mColorPicker[disabled="true"] + span {filter:alpha(opacity=50);-moz-opacity:0.5;-webkit-opacity:0.5;-khtml-opacity: 0.5;opacity: 0.5;cursor:default;}</style>');$("meta[data-remove-me=true]").remove();this.each($.fn.mColorPicker.drawPickerTriggers);return this};$.fn.mColorPicker.init={replace:"[type=color]",index:0,enhancedSwatches:true,allowTransparency:true,slogan:"Meta100 - Designing Fun",showLogo:true};$.fn.mColorPicker.defaults={currentId:false,currentInput:false,currentColor:false,changeColor:false,color:false,imageFolder:"images/",swatches:"#ffffff,#ffff00,#00ff00,#00ffff,#0000ff,#ff00ff,#ff0000,#4c2b11,#3b3b3b,#000000".split(",")};$.fn.mColorPicker.start=function(){$('input[data-mcolorpicker!="true"]').filter(function(){return e.replace=="[type=color]"?this.getAttribute("type")=="color":$(this).is(e.replace)}).mColorPicker()};$.fn.mColorPicker.events=function(){$("#mColorPickerBg").live("click",$.fn.mColorPicker.closePicker);$(".mColorPicker").live("keyup",function(){try{$(this).css({"background-color":$(this).val()}).css({color:$.fn.mColorPicker.textColor($(this).css("background-color"))}).trigger("change")}catch(a){}});$(".mColorPickerTrigger").live("click",$.fn.mColorPicker.colorShow);$(".mColor, .mPastColor").live("mousemove",function(a){if(!b.changeColor)return false;var c=$(this),f=c.offset(),d=b.currentInput,d=d.attr("data-hex")||d.attr("hex");b.color=c.css("background-color");if(c.hasClass("mPastColor"))b.color=$.fn.mColorPicker.setColor(b.color,d);else if(c.hasClass("mColorTransparent"))b.color="transparent";else if(!c.hasClass("mPastColor"))b.color=$.fn.mColorPicker.whichColor(a.pageX-f.left,a.pageY-f.top,d);b.currentInput.mSetInputColor(b.color)}).live("click",$.fn.mColorPicker.colorPicked);$("#mColorPickerInput").live("keyup",function(a){try{b.color=$(this).val(),b.currentInput.mSetInputColor(b.color),a.which==13&&$.fn.mColorPicker.colorPicked()}catch(c){}}).live("blur",function(){b.currentInput.mSetInputColor(b.color)});$("#mColorPickerWrapper").live("mouseleave",function(){if(!b.changeColor)return false;b.currentInput.mSetInputColor(b.currentColor)})};$.fn.mColorPicker.drawPickerTriggers=function(){var a=$(this),c=a.attr("id")||"color_"+e.index++,f=a.attr("text")=="hidden"||a.attr("data-text")=="hidden"?true:false,d=$.fn.mColorPicker.setColor(a.val(),a.attr("data-hex")||a.attr("hex")),k=a.width(),g=a.height(),h=a.css("float"),l=$("<span>"),m=$("<span>"),i="";l.attr({id:"color_work_area","class":"mColorPickerInput"}).appendTo(j);m.attr({id:"mcp_"+c,"class":"mColorPickerTrigger"}).css({display:"inline-block",cursor:"pointer"}).insertAfter(a);$("<img>").attr({src:b.imageFolder+"color.png"}).css({border:0,margin:"0 0 0 3px","vertical-align":"text-bottom"}).appendTo(m);l.append(a);i=l.html().replace(/type="color"/gi,'type="'+(f?"hidden":"text")+'"');l.html("").remove();a=$(i).attr("id",c).addClass("mColorPicker").val(d).insertBefore(m);f&&m.css({border:"1px solid black","float":h,width:k,height:g}).addClass(a.attr("class")).html("&nbsp;");a.mSetInputColor(d);return a};$.fn.mColorPicker.drawPicker=function(){var a=$("<div>"),c=$("<a>"),f=$("<div>"),d=$("<div>");n.attr({id:"mColorPickerBg"}).css({display:"none",background:"black",opacity:0.01,position:"absolute",top:0,right:0,bottom:0,left:0}).appendTo(j);h.attr({id:"mColorPicker","data-mcolorpicker":true}).css({position:"absolute",border:"1px solid #ccc",color:"#fff",width:"194px",height:"184px","font-size":"12px","font-family":"times",display:"none"}).appendTo(j);o.attr({id:"mColorPickerTest"}).css({display:"none"}).appendTo(j);d.attr({id:"mColorPickerWrapper"}).css({position:"relative",border:"solid 1px gray"}).appendTo(h);$("<div>").attr({id:"mColorPickerImg","class":"mColor"}).css({height:"136px",width:"192px",border:0,cursor:"crosshair","background-image":"url("+b.imageFolder+"picker.png)"}).appendTo(d);a.attr({id:"mColorPickerSwatches"}).css({"border-right":"1px solid #000"}).appendTo(d);$("<div>").addClass("mClear").css({clear:"both"}).appendTo(a);for(g=9;g>-1;g--)$("<div>").attr({id:"cell"+g,"class":"mPastColor"+(g>0?" mNoLeftBorder":"")}).css({"background-color":b.swatches[g].toLowerCase(),height:"18px",width:"18px",border:"1px solid #000","float":"left"}).html("&nbsp;").prependTo(a);f.attr({id:"mColorPickerFooter"}).css({"background-image":"url("+b.imageFolder+"grid.gif)",position:"relative",height:"26px"}).appendTo(d);p.attr({id:"mColorPickerInput",type:"text"}).css({border:"solid 1px gray","font-size":"10pt",margin:"3px",width:"80px"}).appendTo(f);e.allowTransparency&&$("<span>").attr({id:"mColorPickerTransparent","class":"mColor mColorTransparent"}).css({"font-size":"16px",color:"#000","padding-right":"30px","padding-top":"3px",cursor:"pointer",overflow:"hidden","float":"right"}).text("transparent").appendTo(f);e.showLogo&&c.attr({href:"http://meta100.com/",title:e.slogan,alt:e.slogan,target:"_blank"}).css({"float":"right"}).appendTo(f);$("<img>").attr({src:b.imageFolder+"meta100.png",title:e.slogan,alt:e.slogan}).css({border:0,"border-left":"1px solid #aaa",right:0,position:"absolute"}).appendTo(c);$(".mNoLeftBorder").css({"border-left":0})};$.fn.mColorPicker.closePicker=function(){n.hide();h.fadeOut()};$.fn.mColorPicker.colorShow=function(){var a=$(this),c=a.attr("id").replace("mcp_",""),f=a.offset(),d=$("#"+c),k=f.top+a.outerHeight(),e=f.left;if(d.attr("disabled"))return false;b.currentColor=d.css("background-color");b.changeColor=true;b.currentInput=d;b.currentId=c;k+h.height()>i.height()&&(k=f.top-h.height());e+h.width()>i.width()&&(e=f.left-h.width()+a.outerWidth());h.css({top:k+"px",left:e+"px"}).fadeIn("fast");n.show();b.color=$("#"+c).attr("data-text")?a.css("background-color"):d.css("background-color");b.color=$.fn.mColorPicker.setColor(b.color,d.attr("data-hex")||d.attr("hex"));p.val(b.color)};$.fn.mColorPicker.setInputColor=function(a,c){$("#"+a).mSetInputColor(c)};$.fn.mSetInputColor=function(a){var c=$(this),f={"background-color":a,"background-image":a=="transparent"?"url('"+b.imageFolder+"grid.gif')":"",color:$.fn.mColorPicker.textColor(a)};(c.attr("data-text")||c.attr("text"))&&c.next().css(f);c.val(a).css(f).trigger("change");p.val(a)};$.fn.mColorPicker.textColor=function(a){a=$.fn.mColorPicker.RGBtoHex(a);return typeof a=="undefined"||a=="transparent"?"black":parseInt(a.substr(1,2),16)+parseInt(a.substr(3,2),16)+parseInt(a.substr(5,2),16)<400?"white":"black"};$.fn.mColorPicker.setCookie=function(a,c,b){a=a+"="+escape(c);c=new Date;c.setDate(c.getDate()+b);a+="; expires="+c.toGMTString();document.cookie=a};$.fn.mColorPicker.getCookie=function(a){return(a=document.cookie.match("(^|;) ?"+a+"=([^;]*)(;|$)"))?unescape(a[2]):null};$.fn.mColorPicker.colorPicked=function(){b.changeColor=false;$.fn.mColorPicker.closePicker();$.fn.mColorPicker.addToSwatch();b.currentInput.trigger("colorpicked")};$.fn.mColorPicker.addToSwatch=function(a){if(!e.enhancedSwatches)return false;var c=[];g=0;if(typeof a=="string")b.color=a.toLowerCase();b.color!="transparent"&&(c[0]=b.color.toLowerCase());$(".mPastColor").each(function(){var a=$(this);b.color=a.css("background-color").toLowerCase();if(b.color!=c[0]&&$.fn.mColorPicker.RGBtoHex(b.color)!=c[0]&&$.fn.mColorPicker.hexToRGB(b.color)!=c[0]&&c.length<10)c[c.length]=b.color;$(this).css("background-color",c[g++])});e.enhancedSwatches&&$.fn.mColorPicker.setCookie("swatches",c.join("||"),365)};$.fn.mColorPicker.whichColor=function(a,c,b){var d=[255,255,255];a<32?(d[1]=a*8,d[2]=0):a<64?(d[0]=256-(a-32)*8,d[2]=0):a<96?(d[0]=0,d[2]=(a-64)*8):a<128?(d[0]=0,d[1]=256-(a-96)*8):a<160?(d[0]=(a-128)*8,d[1]=0):(d[1]=0,d[2]=256-(a-160)*8);for(var e=0;e<3;e++)c<64?d[e]+=(256-d[e])*(64-c)/64:c<=128?d[e]-=d[e]*(c-64)/64:c>128&&(d[e]=256-a/192*256),d[e]=Math.round(Math.min(d[e],255)),b=="true"&&(d[e]=$.fn.mColorPicker.decToHex(d[e]));return b=="true"?"#"+d.join(""):"rgb("+d.join(", ")+")"};$.fn.mColorPicker.setColor=function(a,c){return c=="true"?$.fn.mColorPicker.RGBtoHex(a):$.fn.mColorPicker.hexToRGB(a)};$.fn.mColorPicker.colorTest=function(a){o.css("background-color",a);return o.css("background-color")};$.fn.mColorPicker.decToHex=function(a){a=parseInt(a);return String("0123456789ABCDEF".charAt(Math.floor(a/16)))+String("0123456789ABCDEF".charAt(a-Math.floor(a/16)*16))};$.fn.mColorPicker.RGBtoHex=function(a){var c="#",b,a=a?a.toLowerCase():false;if(!a)return"";if(t.test(a))return a.substr(0,7);if(s.test(a))return a.replace(r,"$1$1$2$2$3$3").substr(0,7);if(b=a.match(q)){for(a=1;a<4;a++)c+=$.fn.mColorPicker.decToHex(b[a]);return c}return $.fn.mColorPicker.colorTest(a)};$.fn.mColorPicker.hexToRGB=function(a){a=a?a.toLowerCase():false;if(!a)return"";if(q.test(a))return a;return s.test(a)?(t.test(a)||(a=a.replace(r,"$1$1$2$2$3$3")),"rgb("+parseInt(a.substr(1,2),16)+", "+parseInt(a.substr(3,2),16)+", "+parseInt(a.substr(5,2),16)+")"):$.fn.mColorPicker.colorTest(a)};e=$.fn.mColorPicker.init;i.ready(function(){j=$("body");$.fn.mColorPicker.events();e.replace&&($.fn.mColorPicker.start(),typeof $.fn.livequery=="function"?$(e.replace).livequery($.fn.mColorPicker.start):$(document).live("ajaxSuccess.mColorPicker",$.fn.mColorPicker.start))})})(jQuery);