PATH:
home
/
letacommog
/
letaweb
/
scripts
var Palette = function(colors, type) { this.column = 5; this.row = 5; this.more = 0; this.colors = []; this.mainColors = []; this.colors_bak = []; this.mainColors_bak = []; this.createPalette = function(colors, type) { if(!type) type = 'monochromatic2'; this.generate(colors, type); }; this.backup = function() { this.colors_bak = this.colors.slice();; this.mainColors_bak = this.mainColors.slice(); }; this.restore = function() { this.colors = this.colors_bak.slice();; this.mainColors = this.mainColors_bak.slice();; }; this.regenerate = function(i, type) { if(!type) type = 'monochromatic2'; if(Palette.generators[type]) { var c = Palette.generators[type]({ base: this.mainColors[i] }); // dojox.color.Palette this.colors[i] = c; } }; this.generate = function(/* String|dojox.color.Color */colors, /* Function|String */type) { this.colors = []; this.mainColors = []; if(Palette.generators[type]) { if($.isArray(colors)) { for(var i = 0;i < colors.length;i++) { this.mainColors.push( new Color( colors[i] ) ); var c = Palette.generators[type]({ base: colors[i] }); // dojox.color.Palette this.colors.push(c); } } } }; this.getColor = function(i) { var r = i % this.column; var c = parseInt(i / (this.row + this.more)); return this.colors[r][c]; }; this.setColor = function(color, i) { var r = i % this.column; var c = parseInt(i / (this.row + this.more)); this.colors[r][c] = new Color(color); if(c == 2) this.mainColors[r] = new Color(color); }; this.createPalette(colors, type); }; Palette.generators = new function() { this.analogous = function(/* __analogousArgs */args) { // summary: // Create a 5 color palette based on the analogous rules as implemented at // http://kuler.adobe.com. var high=args.high||60, // delta between base hue and highest hue (subtracted from base) low=args.low||18, // delta between base hue and lowest hue (added to base) base = typeof(args.base) == 'string' ?new Color(args.base):args.base, hsv=base.toHsv(); // generate our hue angle differences var h=[ (hsv.h+low+360)%360, (hsv.h+Math.round(low/2)+360)%360, hsv.h, (hsv.h-Math.round(high/2)+360)%360, (hsv.h-high+360)%360 ]; var s1=Math.max(10, (hsv.s<=95)?hsv.s+5:(100-(hsv.s-95))), s2=(hsv.s>1)?hsv.s-1:21-hsv.s, v1=(hsv.v>=92)?hsv.v-9:Math.max(hsv.v+9, 20), v2=(hsv.v<=90)?Math.max(hsv.v+5, 20):(95+Math.ceil((hsv.v-90)/2)), s=[ s1, s2, hsv.s, s1, s1 ], v=[ v1, v2, hsv.v, v1, v2 ] return new Palette(arr.map(h, function(hue, i){ return Color.fromHsv(hue, s[i], v[i]); })); // dojox.color.Palette }; this.monochromatic = function(/* __generatorArgs */args){ // summary: // Create a 5 color palette based on the monochromatic rules as implemented at // http://kuler.adobe.com. var base = typeof(args.base) == 'string' ?new Color(args.base):args.base, hsv = base.toHsv(); // figure out the saturation and value var s1 = (hsv.s-30>9)?hsv.s-30:hsv.s+30, s2 = hsv.s, v1 = rangeDiff(hsv.v, 20, 100), v2 = (hsv.v-20>20)?hsv.v-20:hsv.v+60, v3 = (hsv.v-50>20)?hsv.v-50:hsv.v+30; return [ Color.fromHsv(hsv.h, s1, v1), Color.fromHsv(hsv.h, s2, v3), base, Color.fromHsv(hsv.h, s1, v3), Color.fromHsv(hsv.h, s2, v2) ]; // dojox.color.Palette }; this.monochromatic2 = function(/* __generatorArgs */args){ var base = typeof(args.base) == 'string' ?new Color(args.base):args.base; // figure out the saturation and value var c2 = base.lighten(0.4), c1 = c2.lighten(0.7), c3 = base.darken(), c4 = c3.darken(); return [ c1, c2, base, c3, c4 ]; // dojox.color.Palette }; this.triadic = function(/* __generatorArgs */args) { // summary: // Create a 5 color palette based on the triadic rules as implemented at // http://kuler.adobe.com. var base = typeof(args.base) == 'string'?new Color(args.base):args.base, hsv = base.toHsv(); var h1 = (hsv.h+57+360)%360, h2 = (hsv.h-157+360)%360, s1 = (hsv.s>20)?hsv.s-10:hsv.s+10, s2 = (hsv.s>90)?hsv.s-10:hsv.s+10, s3 = (hsv.s>95)?hsv.s-5:hsv.s+5, v1 = (hsv.v-20>20)?hsv.v-20:hsv.v+20, v2 = (hsv.v-30>20)?hsv.v-30:hsv.v+30, v3 = (hsv.v-30>70)?hsv.v-30:hsv.v+30; return ([ Color.fromHsv(h1, s1, hsv.v), Color.fromHsv(hsv.h, s2, v2), base, Color.fromHsv(h2, s2, v1), Color.fromHsv(h2, s3, v3) ]); // dojox.color.Palette }; this.complementary = function(/* __generatorArgs */args) { // summary: // Create a 5 color palette based on the complementary rules as implemented at // http://kuler.adobe.com. var base = typeof(args.base) == 'string' ? new Color(args.base):args.base, hsv = base.toHsv(); var h1 = ((hsv.h*2)+137<360)?(hsv.h*2)+137:Math.floor(hsv.h/2)-137, s1 = Math.max(hsv.s-10, 0), s2 = rangeDiff(hsv.s, 10, 100), s3 = Math.min(100, hsv.s+20), v1 = Math.min(100, hsv.v+30), v2 = (hsv.v>20)?hsv.v-30:hsv.v+30; return ([ Color.fromHsv(hsv.h, s1, v1), Color.fromHsv(hsv.h, s2, v2), base, Color.fromHsv(h1, s3, v2), Color.fromHsv(h1, hsv.s, hsv.v) ]); // dojox.color.Palette }; this.splitComplementary = function(/* __splitComplementaryArgs */args) { // summary: // Create a 5 color palette based on the split complementary rules as implemented at // http://kuler.adobe.com. var base = typeof(args.base) == 'string' ?new Color(args.base):args.base, dangle = args.da || 30, hsv = base.toHsv(); var baseh = ((hsv.h*2)+137<360)?(hsv.h*2)+137:Math.floor(hsv.h/2)-137, h1 = (baseh-dangle+360)%360, h2 = (baseh+dangle)%360, s1 = Math.max(hsv.s-10, 0), s2 = rangeDiff(hsv.s, 10, 100), s3 = Math.min(100, hsv.s+20), v1 = Math.min(100, hsv.v+30), v2 = (hsv.v>20)?hsv.v-30:hsv.v+30; return ([ Color.fromHsv(h1, s1, v1), Color.fromHsv(h1, s2, v2), base, Color.fromHsv(h2, s3, v2), Color.fromHsv(h2, hsv.s, hsv.v) ]); // dojox.color.Palette }; this.compound = function(/* __generatorArgs */args) { // summary: // Create a 5 color palette based on the compound rules as implemented at // http://kuler.adobe.com. var base = typeof(args.base) == 'string' ?new Color(args.base):args.base, hsv = base.toHsv(); var h1 = ((hsv.h*2)+18<360)?(hsv.h*2)+18:Math.floor(hsv.h/2)-18, h2 = ((hsv.h*2)+120<360)?(hsv.h*2)+120:Math.floor(hsv.h/2)-120, h3 = ((hsv.h*2)+99<360)?(hsv.h*2)+99:Math.floor(hsv.h/2)-99, s1 = (hsv.s-40>10)?hsv.s-40:hsv.s+40, s2 = (hsv.s-10>80)?hsv.s-10:hsv.s+10, s3 = (hsv.s-25>10)?hsv.s-25:hsv.s+25, v1 = (hsv.v-40>10)?hsv.v-40:hsv.v+40, v2 = (hsv.v-20>80)?hsv.v-20:hsv.v+20, v3 = Math.max(hsv.v, 20); return ([ Color.fromHsv(h1, s1, v1), Color.fromHsv(h1, s2, v2), base, Color.fromHsv(h2, s3, v3), Color.fromHsv(h3, s2, v2) ]); // dojox.color.Palette }; this.shades = function(/* __generatorArgs */args){ // summary: // Create a 5 color palette based on the shades rules as implemented at // http://kuler.adobe.com. var base = typeof(args.base) == 'string' ?new Color(args.base):args.base, hsv = base.toHsv(); var s = (hsv.s==100 && hsv.v==0)?0:hsv.s, v1 = (hsv.v-50>20)?hsv.v-50:hsv.v+30, v2 = (hsv.v-25>=20)?hsv.v-25:hsv.v+55, v3 = (hsv.v-75>=20)?hsv.v-75:hsv.v+5, v4 = Math.max(hsv.v-10, 20); return ([ new Color.fromHsv(hsv.h, s, v1), new Color.fromHsv(hsv.h, s, v2), base, new Color.fromHsv(hsv.h, s, v3), new Color.fromHsv(hsv.h, s, v4) ]); // dojox.color.Palette } }; Palette.default = new Palette(['#818181', '#FC6000', '#666666', '#9FBCD7', '#EC9712']);
[+]
..
[+]
sample_images
[-] ssultils.js
[edit]
[-] dialog.js
[edit]
[-] colorpicker.js
[edit]
[-] script.js
[edit]
[+]
libraries
[-] ui.dbfilter-editing.js
[edit]
[-] stgrid.js
[edit]
[-] ui.category-editing.js
[edit]
[-] forms.js
[edit]
[-] player.swf
[edit]
[-] language.js
[edit]
[-] im.js
[edit]
[-] terms_en.js
[edit]
[-] skinutils.js
[edit]
[-] create_page.js
[edit]
[-] ihover.js
[edit]
[-] builder.js
[edit]
[-] ui.tab-content.js
[edit]
[-] admin.js
[edit]
[-] ui.tab-editing.js
[edit]
[-] login.js
[edit]
[-] popup.js
[edit]
[-] ecommerce.js
[edit]
[-] stEditor.js
[edit]
[-] colorutils.js
[edit]
[-] livedemo.js
[edit]
[-] palette.js
[edit]
[+]
editor