summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorpepperpepperpepper <pepper@scannerjammer.com>2015-11-18 11:57:32 -0800
committerpepperpepperpepper <pepper@scannerjammer.com>2015-11-18 11:57:32 -0800
commit893c31e004891701c88ddeb585a925cec32a8f0e (patch)
treea7b69bbf032b732842cdca26c47c2017a14af887
parent87f6c2a5b777bd8b676d03a86606adba3c5af416 (diff)
the great cleanup, the legend continues
-rwxr-xr-xshare/frontend/gallery/gallery_style.css (renamed from share/frontend/im/gallery_style.css)0
-rw-r--r--share/frontend/im/colors/iframe.js25
-rw-r--r--share/frontend/im/colors/images/Thumbs.dbbin7680 -> 0 bytes
-rw-r--r--share/frontend/im/colors/js/ancient.js528
-rw-r--r--share/frontend/im/css/style.css170
-rwxr-xr-xshare/frontend/im/img/arrow_pointing_left.png (renamed from share/frontend/im/arrow_pointing_left.png)bin336 -> 336 bytes
-rwxr-xr-xshare/frontend/im/img/imcupbg.jpg (renamed from share/frontend/im/imcupbg.jpg)bin18738 -> 18738 bytes
-rwxr-xr-xshare/frontend/im/img/new.gif (renamed from share/frontend/im/new.gif)bin144 -> 144 bytes
-rwxr-xr-xshare/frontend/im/index.html322
-rwxr-xr-xshare/frontend/im/js/jquery-ui-1.8.16.custom.min.js (renamed from share/frontend/im/jquery-ui-1.8.16.custom.min.js)0
-rw-r--r--share/frontend/im/js/main.js138
-rwxr-xr-xshare/frontend/imbreak/img/ivy.gif (renamed from share/frontend/imbreak/ivy.gif)bin196165 -> 196165 bytes
-rwxr-xr-xshare/frontend/imbreak/img/logo-variant.gif (renamed from share/frontend/imbreak/on9TF_1322970909_1322970984_1323325278.gif)bin53535 -> 53535 bytes
-rwxr-xr-xshare/frontend/imbreak/img/logo.gif (renamed from share/frontend/imbreak/firstlogo.gif)bin71127 -> 71127 bytes
-rwxr-xr-xshare/frontend/imbreak/img/main.gif (renamed from share/frontend/imbreak/newmain.gif)bin248285 -> 248285 bytes
-rwxr-xr-xshare/frontend/imbreak/index.html10
-rwxr-xr-xshare/frontend/imbreak/jcookie.js95
-rwxr-xr-xshare/frontend/imbreak/js/jquery-ui.min.js (renamed from share/frontend/imbreak/jquery-ui.min.js)0
-rw-r--r--share/frontend/imgradient/css/style.css156
-rw-r--r--share/frontend/imgradient/js/colors_iframe.js82
-rwxr-xr-xshare/frontend/imgradient/js/jquery-ui-1.8.16.custom.min.js84
-rw-r--r--share/frontend/imgradient/js/main.js151
-rwxr-xr-xshare/frontend/imgrid/athena-2.gifbin0 -> 1007360 bytes
-rwxr-xr-xshare/frontend/imgrid/athena.gifbin0 -> 5831355 bytes
-rwxr-xr-xshare/frontend/imgrid/blackplant-flashing.gifbin0 -> 138525 bytes
-rw-r--r--share/frontend/impattern/img/patterns/1.png (renamed from share/frontend/impattern/patterns/1.png)bin250 -> 250 bytes
-rw-r--r--share/frontend/impattern/img/patterns/10.png (renamed from share/frontend/impattern/patterns/10.png)bin249 -> 249 bytes
-rw-r--r--share/frontend/impattern/img/patterns/11.png (renamed from share/frontend/impattern/patterns/11.png)bin249 -> 249 bytes
-rw-r--r--share/frontend/impattern/img/patterns/12.png (renamed from share/frontend/impattern/patterns/12.png)bin249 -> 249 bytes
-rw-r--r--share/frontend/impattern/img/patterns/13.png (renamed from share/frontend/impattern/patterns/13.png)bin243 -> 243 bytes
-rw-r--r--share/frontend/impattern/img/patterns/14.png (renamed from share/frontend/impattern/patterns/14.png)bin246 -> 246 bytes
-rw-r--r--share/frontend/impattern/img/patterns/15.png (renamed from share/frontend/impattern/patterns/15.png)bin249 -> 249 bytes
-rw-r--r--share/frontend/impattern/img/patterns/16.png (renamed from share/frontend/impattern/patterns/16.png)bin245 -> 245 bytes
-rw-r--r--share/frontend/impattern/img/patterns/17.png (renamed from share/frontend/impattern/patterns/17.png)bin244 -> 244 bytes
-rw-r--r--share/frontend/impattern/img/patterns/18.png (renamed from share/frontend/impattern/patterns/18.png)bin246 -> 246 bytes
-rw-r--r--share/frontend/impattern/img/patterns/19.png (renamed from share/frontend/impattern/patterns/19.png)bin249 -> 249 bytes
-rw-r--r--share/frontend/impattern/img/patterns/2.png (renamed from share/frontend/impattern/patterns/2.png)bin243 -> 243 bytes
-rw-r--r--share/frontend/impattern/img/patterns/20.png (renamed from share/frontend/impattern/patterns/20.png)bin243 -> 243 bytes
-rw-r--r--share/frontend/impattern/img/patterns/21.png (renamed from share/frontend/impattern/patterns/21.png)bin248 -> 248 bytes
-rw-r--r--share/frontend/impattern/img/patterns/22.png (renamed from share/frontend/impattern/patterns/22.png)bin248 -> 248 bytes
-rw-r--r--share/frontend/impattern/img/patterns/23.png (renamed from share/frontend/impattern/patterns/23.png)bin248 -> 248 bytes
-rw-r--r--share/frontend/impattern/img/patterns/24.png (renamed from share/frontend/impattern/patterns/24.png)bin243 -> 243 bytes
-rw-r--r--share/frontend/impattern/img/patterns/25.png (renamed from share/frontend/impattern/patterns/25.png)bin248 -> 248 bytes
-rw-r--r--share/frontend/impattern/img/patterns/26.png (renamed from share/frontend/impattern/patterns/26.png)bin248 -> 248 bytes
-rw-r--r--share/frontend/impattern/img/patterns/27.png (renamed from share/frontend/impattern/patterns/27.png)bin248 -> 248 bytes
-rw-r--r--share/frontend/impattern/img/patterns/28.png (renamed from share/frontend/impattern/patterns/28.png)bin243 -> 243 bytes
-rw-r--r--share/frontend/impattern/img/patterns/29.png (renamed from share/frontend/impattern/patterns/29.png)bin249 -> 249 bytes
-rw-r--r--share/frontend/impattern/img/patterns/3.png (renamed from share/frontend/impattern/patterns/3.png)bin246 -> 246 bytes
-rw-r--r--share/frontend/impattern/img/patterns/30.png (renamed from share/frontend/impattern/patterns/30.png)bin246 -> 246 bytes
-rw-r--r--share/frontend/impattern/img/patterns/31.png (renamed from share/frontend/impattern/patterns/31.png)bin246 -> 246 bytes
-rw-r--r--share/frontend/impattern/img/patterns/32.png (renamed from share/frontend/impattern/patterns/32.png)bin241 -> 241 bytes
-rw-r--r--share/frontend/impattern/img/patterns/33.png (renamed from share/frontend/impattern/patterns/33.png)bin246 -> 246 bytes
-rw-r--r--share/frontend/impattern/img/patterns/34.png (renamed from share/frontend/impattern/patterns/34.png)bin248 -> 248 bytes
-rw-r--r--share/frontend/impattern/img/patterns/35.png (renamed from share/frontend/impattern/patterns/35.png)bin244 -> 244 bytes
-rw-r--r--share/frontend/impattern/img/patterns/36.png (renamed from share/frontend/impattern/patterns/36.png)bin251 -> 251 bytes
-rw-r--r--share/frontend/impattern/img/patterns/37.png (renamed from share/frontend/impattern/patterns/37.png)bin253 -> 253 bytes
-rw-r--r--share/frontend/impattern/img/patterns/38.png (renamed from share/frontend/impattern/patterns/38.png)bin253 -> 253 bytes
-rw-r--r--share/frontend/impattern/img/patterns/39.png (renamed from share/frontend/impattern/patterns/39.png)bin247 -> 247 bytes
-rw-r--r--share/frontend/impattern/img/patterns/4.png (renamed from share/frontend/impattern/patterns/4.png)bin243 -> 243 bytes
-rw-r--r--share/frontend/impattern/img/patterns/40.png (renamed from share/frontend/impattern/patterns/40.png)bin254 -> 254 bytes
-rw-r--r--share/frontend/impattern/img/patterns/41.png (renamed from share/frontend/impattern/patterns/41.png)bin253 -> 253 bytes
-rw-r--r--share/frontend/impattern/img/patterns/42.png (renamed from share/frontend/impattern/patterns/42.png)bin252 -> 252 bytes
-rw-r--r--share/frontend/impattern/img/patterns/43.png (renamed from share/frontend/impattern/patterns/43.png)bin252 -> 252 bytes
-rw-r--r--share/frontend/impattern/img/patterns/44.png (renamed from share/frontend/impattern/patterns/44.png)bin251 -> 251 bytes
-rw-r--r--share/frontend/impattern/img/patterns/45.png (renamed from share/frontend/impattern/patterns/45.png)bin247 -> 247 bytes
-rw-r--r--share/frontend/impattern/img/patterns/46.png (renamed from share/frontend/impattern/patterns/46.png)bin252 -> 252 bytes
-rw-r--r--share/frontend/impattern/img/patterns/47.png (renamed from share/frontend/impattern/patterns/47.png)bin251 -> 251 bytes
-rw-r--r--share/frontend/impattern/img/patterns/48.png (renamed from share/frontend/impattern/patterns/48.png)bin249 -> 249 bytes
-rw-r--r--share/frontend/impattern/img/patterns/49.png (renamed from share/frontend/impattern/patterns/49.png)bin245 -> 245 bytes
-rw-r--r--share/frontend/impattern/img/patterns/5.png (renamed from share/frontend/impattern/patterns/5.png)bin249 -> 249 bytes
-rw-r--r--share/frontend/impattern/img/patterns/50.png (renamed from share/frontend/impattern/patterns/50.png)bin248 -> 248 bytes
-rw-r--r--share/frontend/impattern/img/patterns/51.png (renamed from share/frontend/impattern/patterns/51.png)bin246 -> 246 bytes
-rw-r--r--share/frontend/impattern/img/patterns/52.png (renamed from share/frontend/impattern/patterns/52.png)bin252 -> 252 bytes
-rw-r--r--share/frontend/impattern/img/patterns/53.png (renamed from share/frontend/impattern/patterns/53.png)bin254 -> 254 bytes
-rw-r--r--share/frontend/impattern/img/patterns/54.png (renamed from share/frontend/impattern/patterns/54.png)bin253 -> 253 bytes
-rw-r--r--share/frontend/impattern/img/patterns/55.png (renamed from share/frontend/impattern/patterns/55.png)bin247 -> 247 bytes
-rw-r--r--share/frontend/impattern/img/patterns/56.png (renamed from share/frontend/impattern/patterns/56.png)bin250 -> 250 bytes
-rw-r--r--share/frontend/impattern/img/patterns/57.png (renamed from share/frontend/impattern/patterns/57.png)bin253 -> 253 bytes
-rw-r--r--share/frontend/impattern/img/patterns/58.png (renamed from share/frontend/impattern/patterns/58.png)bin250 -> 250 bytes
-rw-r--r--share/frontend/impattern/img/patterns/59.png (renamed from share/frontend/impattern/patterns/59.png)bin252 -> 252 bytes
-rw-r--r--share/frontend/impattern/img/patterns/6.png (renamed from share/frontend/impattern/patterns/6.png)bin249 -> 249 bytes
-rw-r--r--share/frontend/impattern/img/patterns/60.png (renamed from share/frontend/impattern/patterns/60.png)bin248 -> 248 bytes
-rw-r--r--share/frontend/impattern/img/patterns/61.png (renamed from share/frontend/impattern/patterns/61.png)bin252 -> 252 bytes
-rw-r--r--share/frontend/impattern/img/patterns/62.png (renamed from share/frontend/impattern/patterns/62.png)bin248 -> 248 bytes
-rw-r--r--share/frontend/impattern/img/patterns/63.png (renamed from share/frontend/impattern/patterns/63.png)bin252 -> 252 bytes
-rw-r--r--share/frontend/impattern/img/patterns/64.png (renamed from share/frontend/impattern/patterns/64.png)bin247 -> 247 bytes
-rw-r--r--share/frontend/impattern/img/patterns/65.png (renamed from share/frontend/impattern/patterns/65.png)bin241 -> 241 bytes
-rw-r--r--share/frontend/impattern/img/patterns/66.png (renamed from share/frontend/impattern/patterns/66.png)bin241 -> 241 bytes
-rw-r--r--share/frontend/impattern/img/patterns/67.png (renamed from share/frontend/impattern/patterns/67.png)bin244 -> 244 bytes
-rw-r--r--share/frontend/impattern/img/patterns/68.png (renamed from share/frontend/impattern/patterns/68.png)bin241 -> 241 bytes
-rw-r--r--share/frontend/impattern/img/patterns/69.png (renamed from share/frontend/impattern/patterns/69.png)bin244 -> 244 bytes
-rw-r--r--share/frontend/impattern/img/patterns/7.png (renamed from share/frontend/impattern/patterns/7.png)bin249 -> 249 bytes
-rw-r--r--share/frontend/impattern/img/patterns/70.png (renamed from share/frontend/impattern/patterns/70.png)bin241 -> 241 bytes
-rw-r--r--share/frontend/impattern/img/patterns/71.png (renamed from share/frontend/impattern/patterns/71.png)bin244 -> 244 bytes
-rw-r--r--share/frontend/impattern/img/patterns/72.png (renamed from share/frontend/impattern/patterns/72.png)bin244 -> 244 bytes
-rw-r--r--share/frontend/impattern/img/patterns/73.png (renamed from share/frontend/impattern/patterns/73.png)bin248 -> 248 bytes
-rw-r--r--share/frontend/impattern/img/patterns/74.png (renamed from share/frontend/impattern/patterns/74.png)bin248 -> 248 bytes
-rw-r--r--share/frontend/impattern/img/patterns/75.png (renamed from share/frontend/impattern/patterns/75.png)bin254 -> 254 bytes
-rw-r--r--share/frontend/impattern/img/patterns/76.png (renamed from share/frontend/impattern/patterns/76.png)bin254 -> 254 bytes
-rw-r--r--share/frontend/impattern/img/patterns/77.png (renamed from share/frontend/impattern/patterns/77.png)bin253 -> 253 bytes
-rw-r--r--share/frontend/impattern/img/patterns/78.png (renamed from share/frontend/impattern/patterns/78.png)bin253 -> 253 bytes
-rw-r--r--share/frontend/impattern/img/patterns/79.png (renamed from share/frontend/impattern/patterns/79.png)bin251 -> 251 bytes
-rw-r--r--share/frontend/impattern/img/patterns/8.png (renamed from share/frontend/impattern/patterns/8.png)bin249 -> 249 bytes
-rw-r--r--share/frontend/impattern/img/patterns/80.png (renamed from share/frontend/impattern/patterns/80.png)bin252 -> 252 bytes
-rw-r--r--share/frontend/impattern/img/patterns/81.png (renamed from share/frontend/impattern/patterns/81.png)bin243 -> 243 bytes
-rw-r--r--share/frontend/impattern/img/patterns/82.png (renamed from share/frontend/impattern/patterns/82.png)bin241 -> 241 bytes
-rw-r--r--share/frontend/impattern/img/patterns/83.png (renamed from share/frontend/impattern/patterns/83.png)bin243 -> 243 bytes
-rw-r--r--share/frontend/impattern/img/patterns/84.png (renamed from share/frontend/impattern/patterns/84.png)bin241 -> 241 bytes
-rw-r--r--share/frontend/impattern/img/patterns/85.png (renamed from share/frontend/impattern/patterns/85.png)bin243 -> 243 bytes
-rw-r--r--share/frontend/impattern/img/patterns/86.png (renamed from share/frontend/impattern/patterns/86.png)bin244 -> 244 bytes
-rw-r--r--share/frontend/impattern/img/patterns/87.png (renamed from share/frontend/impattern/patterns/87.png)bin244 -> 244 bytes
-rw-r--r--share/frontend/impattern/img/patterns/88.png (renamed from share/frontend/impattern/patterns/88.png)bin244 -> 244 bytes
-rw-r--r--share/frontend/impattern/img/patterns/89.png (renamed from share/frontend/impattern/patterns/89.png)bin247 -> 247 bytes
-rw-r--r--share/frontend/impattern/img/patterns/9.png (renamed from share/frontend/impattern/patterns/9.png)bin249 -> 249 bytes
-rw-r--r--share/frontend/impattern/img/patterns/90.png (renamed from share/frontend/impattern/patterns/90.png)bin247 -> 247 bytes
-rw-r--r--share/frontend/impattern/img/patterns/91.png (renamed from share/frontend/impattern/patterns/91.png)bin253 -> 253 bytes
-rw-r--r--share/frontend/impattern/img/patterns/92.png (renamed from share/frontend/impattern/patterns/92.png)bin253 -> 253 bytes
-rw-r--r--share/frontend/impattern/img/patterns/93.png (renamed from share/frontend/impattern/patterns/93.png)bin248 -> 248 bytes
-rw-r--r--share/frontend/impattern/img/patterns/94.png (renamed from share/frontend/impattern/patterns/94.png)bin248 -> 248 bytes
-rw-r--r--share/frontend/impattern/img/patterns/95.png (renamed from share/frontend/impattern/patterns/95.png)bin250 -> 250 bytes
-rw-r--r--share/frontend/impattern/img/patterns/96.png (renamed from share/frontend/impattern/patterns/96.png)bin251 -> 251 bytes
-rw-r--r--share/frontend/impattern/img/patterns/a0.png (renamed from share/frontend/impattern/patterns/a0.png)bin266 -> 266 bytes
-rw-r--r--share/frontend/impattern/img/patterns/a1.png (renamed from share/frontend/impattern/patterns/a1.png)bin266 -> 266 bytes
-rw-r--r--share/frontend/impattern/img/patterns/a10.png (renamed from share/frontend/impattern/patterns/a10.png)bin264 -> 264 bytes
-rw-r--r--share/frontend/impattern/img/patterns/a11.png (renamed from share/frontend/impattern/patterns/a11.png)bin268 -> 268 bytes
-rw-r--r--share/frontend/impattern/img/patterns/a12.png (renamed from share/frontend/impattern/patterns/a12.png)bin265 -> 265 bytes
-rw-r--r--share/frontend/impattern/img/patterns/a13.png (renamed from share/frontend/impattern/patterns/a13.png)bin267 -> 267 bytes
-rw-r--r--share/frontend/impattern/img/patterns/a14.png (renamed from share/frontend/impattern/patterns/a14.png)bin246 -> 246 bytes
-rw-r--r--share/frontend/impattern/img/patterns/a15.png (renamed from share/frontend/impattern/patterns/a15.png)bin267 -> 267 bytes
-rw-r--r--share/frontend/impattern/img/patterns/a16.png (renamed from share/frontend/impattern/patterns/a16.png)bin245 -> 245 bytes
-rw-r--r--share/frontend/impattern/img/patterns/a17.png (renamed from share/frontend/impattern/patterns/a17.png)bin247 -> 247 bytes
-rw-r--r--share/frontend/impattern/img/patterns/a18.png (renamed from share/frontend/impattern/patterns/a18.png)bin275 -> 275 bytes
-rw-r--r--share/frontend/impattern/img/patterns/a19.png (renamed from share/frontend/impattern/patterns/a19.png)bin261 -> 261 bytes
-rw-r--r--share/frontend/impattern/img/patterns/a2.png (renamed from share/frontend/impattern/patterns/a2.png)bin264 -> 264 bytes
-rw-r--r--share/frontend/impattern/img/patterns/a20.png (renamed from share/frontend/impattern/patterns/a20.png)bin245 -> 245 bytes
-rw-r--r--share/frontend/impattern/img/patterns/a21.png (renamed from share/frontend/impattern/patterns/a21.png)bin260 -> 260 bytes
-rw-r--r--share/frontend/impattern/img/patterns/a22.png (renamed from share/frontend/impattern/patterns/a22.png)bin272 -> 272 bytes
-rw-r--r--share/frontend/impattern/img/patterns/a23.png (renamed from share/frontend/impattern/patterns/a23.png)bin256 -> 256 bytes
-rw-r--r--share/frontend/impattern/img/patterns/a24.png (renamed from share/frontend/impattern/patterns/a24.png)bin249 -> 249 bytes
-rw-r--r--share/frontend/impattern/img/patterns/a25.png (renamed from share/frontend/impattern/patterns/a25.png)bin254 -> 254 bytes
-rw-r--r--share/frontend/impattern/img/patterns/a26.png (renamed from share/frontend/impattern/patterns/a26.png)bin266 -> 266 bytes
-rw-r--r--share/frontend/impattern/img/patterns/a27.png (renamed from share/frontend/impattern/patterns/a27.png)bin253 -> 253 bytes
-rw-r--r--share/frontend/impattern/img/patterns/a28.png (renamed from share/frontend/impattern/patterns/a28.png)bin256 -> 256 bytes
-rw-r--r--share/frontend/impattern/img/patterns/a29.png (renamed from share/frontend/impattern/patterns/a29.png)bin247 -> 247 bytes
-rw-r--r--share/frontend/impattern/img/patterns/a3.png (renamed from share/frontend/impattern/patterns/a3.png)bin263 -> 263 bytes
-rw-r--r--share/frontend/impattern/img/patterns/a30.png (renamed from share/frontend/impattern/patterns/a30.png)bin247 -> 247 bytes
-rw-r--r--share/frontend/impattern/img/patterns/a31.png (renamed from share/frontend/impattern/patterns/a31.png)bin265 -> 265 bytes
-rw-r--r--share/frontend/impattern/img/patterns/a32.png (renamed from share/frontend/impattern/patterns/a32.png)bin265 -> 265 bytes
-rw-r--r--share/frontend/impattern/img/patterns/a33.png (renamed from share/frontend/impattern/patterns/a33.png)bin264 -> 264 bytes
-rw-r--r--share/frontend/impattern/img/patterns/a34.png (renamed from share/frontend/impattern/patterns/a34.png)bin245 -> 245 bytes
-rw-r--r--share/frontend/impattern/img/patterns/a35.png (renamed from share/frontend/impattern/patterns/a35.png)bin248 -> 248 bytes
-rw-r--r--share/frontend/impattern/img/patterns/a36.png (renamed from share/frontend/impattern/patterns/a36.png)bin246 -> 246 bytes
-rw-r--r--share/frontend/impattern/img/patterns/a37.png (renamed from share/frontend/impattern/patterns/a37.png)bin246 -> 246 bytes
-rw-r--r--share/frontend/impattern/img/patterns/a38.png (renamed from share/frontend/impattern/patterns/a38.png)bin243 -> 243 bytes
-rw-r--r--share/frontend/impattern/img/patterns/a39.png (renamed from share/frontend/impattern/patterns/a39.png)bin268 -> 268 bytes
-rw-r--r--share/frontend/impattern/img/patterns/a4.png (renamed from share/frontend/impattern/patterns/a4.png)bin247 -> 247 bytes
-rw-r--r--share/frontend/impattern/img/patterns/a40.png (renamed from share/frontend/impattern/patterns/a40.png)bin267 -> 267 bytes
-rw-r--r--share/frontend/impattern/img/patterns/a41.png (renamed from share/frontend/impattern/patterns/a41.png)bin258 -> 258 bytes
-rw-r--r--share/frontend/impattern/img/patterns/a5.png (renamed from share/frontend/impattern/patterns/a5.png)bin262 -> 262 bytes
-rw-r--r--share/frontend/impattern/img/patterns/a6.png (renamed from share/frontend/impattern/patterns/a6.png)bin257 -> 257 bytes
-rw-r--r--share/frontend/impattern/img/patterns/a7.png (renamed from share/frontend/impattern/patterns/a7.png)bin258 -> 258 bytes
-rw-r--r--share/frontend/impattern/img/patterns/a8.png (renamed from share/frontend/impattern/patterns/a8.png)bin256 -> 256 bytes
-rw-r--r--share/frontend/impattern/img/patterns/a9.png (renamed from share/frontend/impattern/patterns/a9.png)bin255 -> 255 bytes
-rwxr-xr-xshare/frontend/impattern/index.html276
-rw-r--r--share/frontend/impattern/sketch.html231
165 files changed, 929 insertions, 1339 deletions
diff --git a/share/frontend/im/gallery_style.css b/share/frontend/gallery/gallery_style.css
index 2d78a0e..2d78a0e 100755
--- a/share/frontend/im/gallery_style.css
+++ b/share/frontend/gallery/gallery_style.css
diff --git a/share/frontend/im/colors/iframe.js b/share/frontend/im/colors/iframe.js
deleted file mode 100644
index 4b7d2ac..0000000
--- a/share/frontend/im/colors/iframe.js
+++ /dev/null
@@ -1,25 +0,0 @@
-$("#lnkcolorbox").click(function() {
- $.fancybox.open({
- href : 'colors.htm',
- width : 700, // set the width
- height : 610,
- fitToView : true,
- autoDimensions:false,
- autoSize:false,
- type : 'iframe',
- closeBtn : false,
- padding : 5,
- beforeShow : function(){
- $('.fancybox-iframe').contents().find('#submitvalue').click(function(){
- $('.fancybox-iframe').contents().find('form').submit();
- $.fancybox.close();
- });
- },
- beforeClose : function(){
- x = $('.fancybox-iframe').contents().find('#namespace').val();
- },
- afterClose: function(){
- $('#img-hue').val(x);
- }
- });
-});
diff --git a/share/frontend/im/colors/images/Thumbs.db b/share/frontend/im/colors/images/Thumbs.db
deleted file mode 100644
index ec01f6a..0000000
--- a/share/frontend/im/colors/images/Thumbs.db
+++ /dev/null
Binary files differ
diff --git a/share/frontend/im/colors/js/ancient.js b/share/frontend/im/colors/js/ancient.js
deleted file mode 100644
index 5bf15c0..0000000
--- a/share/frontend/im/colors/js/ancient.js
+++ /dev/null
@@ -1,528 +0,0 @@
-var old = {};
-var colorsheight;
-var colorswidth;
-var widthratio = 7;
-var numberacross = 10;
-var backgroundstate = 2;
-var infostate = 0;
-var names = true;
-var hexes = false;
-var rgbs = false;
-var favshow = false;
-var selectedname = "";
-var selectedrgb;
-var curfavcolor = "";
-var curfavcolorId = "";
-var separate = ';';
-//---------element objects----------
-var transbutton = $('#transbutton');
-var submitvalue = $('#submitvalue');
-var addfav = $('#addfavlist');
-var openfav = $('#openfavlist');
-var preview = $('#preview');
-var colornames = $('#colornames');
-var namespace = $('#namespace');
-var extra = $('#extra');
-var container = $('#container');
-var switches = $('#switches');
-var transparent = $('#transparent');
-var infospace = $('#infospace');
-var infoswitch = $('#infoswitch');
-var backgroundswitch = $('#backgroundswitch');
-var bg_menu = $('#bg_menu');
-var vasebackground = $('#vasebackground');
-var hexswitch = $('#hexswitch');
-var favpanel = $('#favpanel');
-var orgheight = 0;
-var bscroll = false;
-//----------------------------------
-$(function(){
- ColorPicker.show();
-});
-
-function selectfavColor(selcolor, id)
-{
- addfav.html('Remove from Favorites');
- curfavcolor = selcolor;
- curfavcolorId = id;
- var rgbregex = /rgb\((\d{1,3}), (\d{1,3}), (\d{1,3})\)/;
- var hexregex = /^#(?:[0-9a-f]{3}){1,2}$/i;
- hexes = false;
- names = false;
- rgbs = false;
- var match = rgbregex.exec(selcolor);
- if (match != null) {
- selectedname = rgbtoname[selcolor];
- selectedrgb = selcolor;
- hexes = true;
- hexswitch.html('CLICK TO SWITCH TO HEX VALUES');
- } else if((match = hexregex.exec(selcolor))!= null) {
- names = true;
- selectedrgb = hextorgb[selcolor];
- selectedname = rgbtoname[selectedrgb];
- hexswitch.html('CLICK TO SWITCH TO COLOR NAMES');
- } else {
- selectedname = selcolor;
- selectedrgb = hextorgb[nametohex[selectedname]];
- hexswitch.html('CLICK TO SWITCH TO RGB VALUES');
- rgbs = true;
- }
- colornames.html(selcolor);
- namespace.val(selcolor);
- preview.css({'background-color':selectedrgb,'border-style':'none'});
- vasebackground.css('background-color',selectedrgb);
-}
-
-var ColorPicker = {
- GoldenFuncs: {
- regolden: function(num) {
- ratio = (1+Math.sqrt(5))/2;
- newnum = Math.round(num/ratio);
- return newnum;
- },
- goldenize: function(num) {
- ratio = (1+Math.sqrt(5))/2;
- newnum = Math.round(num*ratio);
- return newnum;
- },
- getproperty: function(idandselectr, propertystr) {
- //turns css property width or height into an integer value
- grab = $(idandselectr).css(propertystr);
- grab = grab.slice(0,-2);
- numval = parseInt(grab);
- return numval;
- },
- makegolden: function(idandselectr, propertystr) {
- result = ColorPicker.GoldenFuncs.getproperty(idandselectr, propertystr);
- newval = ColorPicker.GoldenFuncs.goldenize(result) + 60;
- propval = newval.toString()+'px';
- if(propertystr == 'height') {
- $(idandselectr).css('width', propval);
- }else if(propertystr == 'width') {
- $(idandselectr).css('height', propval);
- }
- }
- },
- Events: {
- addEventListener: function(){
- //--------event handler of transparent button-------
- transbutton.click(function() {
- namespace.val('transparent');
- preview.css({'background-color':'transparent','border-style':'dashed','border-width':'2px'});
- colornames.html('transparent');
- colornames.fadeOut(100);
- colornames.fadeIn(500);
- extra.html('<br><br><span style="color:red;background-color:black;border-color:red; border-width:1px; border-style:solid; font-size:14px;">note: the .jpg image format does not support transparency</span>');
- });
- transbutton.hover(function(){ transbutton.addClass('hovertrans')},
- function(){ transbutton.attr('class','defaulttrans')});
- submitvalue.hover(function(){ submitvalue.addClass('hovertrans')},
- function(){ submitvalue.attr('class','defaulttrans')});
- addfav.hover(function(){ addfav.addClass('hovertrans')},
- function(){ addfav.attr('class','defaulttrans')});
- $('.bgOptions').click(function(){
- if (this.id == "bg1")
- {
- $('#colorpicker').css({'background-image':'url("./images/bg.dither.gif")','background-color':'gray','background-color':'black'});
- }else if(this.id == "bg5"){
- $('#' + this.id).bind('keypress', function(event){
- var key = event.which || event.keyCode;
- if(key === 13) {
- $('#colorpicker').css({'background-image':"url('" + $('#bgURI').val() + "')"});
- $('#opt_bgURI').val($('#bgURI').val());
- $('#bgURI').val('');
- }
- });
- }else{
- $('#colorpicker').css({'background-image':'none','background-color':$('#' + this.id).html().toLowerCase()});
- }
- $('#opt_bgColor').val(this.id);
- });
- //--------event handler over colorpanel-------
- var firstwidth;
- $('.colors').mouseover(function() {
- extra.html("");
- if(this.id != 'd0') {
- $(this).css({'height':ColorPicker.GoldenFuncs.goldenize(colorsheight),
- 'width':ColorPicker.GoldenFuncs.goldenize(colorswidth)});
- firstwidth = container.css('width');
- newwidth = firstwidth+ColorPicker.GoldenFuncs.goldenize(colorswidth)-colorswidth;
- container.css('width',newwidth);
- }
- });
- $('.colors').mouseout(function() {
- $(this).css('height',colorsheight)
- $(this).css('width', colorswidth)
- container.css('width',firstwidth)
- });
- $('.colors').hover(function() {
- var stringvalue = 'CLICK TO CHOOSE THE COLOR';
- colornames.fadeOut(100);
- colornames.fadeIn(500);
- stringvalue = ColorPicker.showcolorname(this.id);
- colornames.html(stringvalue);
- });
- $('.colors').click(function() {
- selectednameid = $(this).attr('id')
- selectedname = divtoname['#'+selectednameid];
- selectedrgb = $(this).css('background-color');
- ColorPicker.putitin();
- });
- //-------------others handler-------------------------------
- infoswitch.hover(function(){infospace.show()}, function(){infospace.hide('slow')} );
- infoswitch.click(function(){ColorPicker.switchcolorinfo()});
- backgroundswitch.clicked = false;
- backgroundswitch.click(function(){
- if (! backgroundswitch.clicked){
- bg_menu.slideDown("fast", function(){
- backgroundswitch.clicked = true;
- backgroundswitch.addClass("switches_depressed");
- });
- }else{
- bg_menu.slideUp("fast", function(){
- backgroundswitch.clicked = false;
- backgroundswitch.removeClass("switches_depressed");
- })
- }
- });
- addfav.click(function(){ColorPicker.addfavourites()});
- openfav.click(function(){ColorPicker.openfavourites()});
- hexswitch.click(function(){ColorPicker.hexcolorswitch()});
- $('.theswitches').hover(function(){ ColorPicker.switchhovercss(this.id, 'over') },
- function(){ ColorPicker.switchhovercss(this.id, 'out') });
- //-------handler for window resive----
- $(window).resize(function()
- {
- ColorPicker.setupdimensions();
- });
- }
- },
- getcolorfromfavorite: function(fvalue){
- var rgbregex = /rgb\((\d{1,3}), (\d{1,3}), (\d{1,3})\)/;
- var hexregex = /^#(?:[0-9a-f]{3}){1,2}$/i;
- var retcolor = '';
- var match = rgbregex.exec(fvalue);
- if (match != null) {
- retcolor = fvalue;
- } else if((match = hexregex.exec(fvalue))!= null) {
- retcolor = hextorgb[fvalue];
- } else {
- retcolor = hextorgb[nametohex[fvalue]];
- }
- return retcolor;
- },
- initfavpanel: function(){
- var fcolors = $('#favcolors').val();
- var clist=fcolors.split(separate);
- for(var i=0; i < clist.length; i++) {
- if (clist[i] != '')
- {
- var colname = clist[i];
- favpanel.append('<span class="favcolor" id="favcol' + i + '" ><input name="favcolor" type="radio" onclick="selectfavColor(\'' + clist[i]
- + '\',\'favcol' + i +'\');"><label>' + colname + '</label><span class="favcolorbox" style="background-color:' + ColorPicker.getcolorfromfavorite(clist[i]) + '">&nbsp;</span></span>');
- }
- }
- },
- existsfavcolor: function(fcolor) {
- var fcolors = $('#favcolors').val();
- var clist=fcolors.split(separate);
- for(var i=0; i < clist.length; i++) {
- if (clist[i] == fcolor)
- {
- return i;
- }
- }
- return -1;
- },
- setpaneldimension: function(){
- var fcolors = $('#favcolors').val();
- var clist=fcolors.split(separate);
- },
- addfavourites: function() {
- var fcolors = $('#favcolors').val();
-
- if (curfavcolor != '') {
- var clist=fcolors.split(separate);
- var index = ColorPicker.existsfavcolor(curfavcolor);
- if(index != 0 && index == clist.length - 1)
- {
- fcolors = fcolors.replace(separate + curfavcolor, '');
- }else if(clist.length == 1) {
- fcolors = fcolors.replace(curfavcolor, '');
- }else{
- fcolors = fcolors.replace(curfavcolor+ separate, '');
- }
- $('#' + curfavcolorId).remove();
- addfav.html('Add to Favorites');
- curfavcolor = "";
- curfavcolorId = "";
- $('#favnone').attr('checked','checked');
- if (fcolors == '')
- {
- favpanel.hide();
- favshow = false;
- openfav.attr('class','defaulttrans');
- }
- }else {
- if (ColorPicker.existsfavcolor(namespace.val()) == -1)
- {
- if (fcolors.length > 0) {
- fcolors = fcolors + separate + namespace.val();
- }else {
- fcolors = namespace.val();
- }
- var colname = namespace.val();
- var clist=fcolors.split(separate);
- var id = clist.length - 1;
- $('#favmsg').remove();
- favpanel.append('<span class="favcolor" id="favcol' + id + '" ><input name="favcolor" type="radio" onclick="selectfavColor(\'' + namespace.val()
- + '\',\'favcol' + id +'\');"><label>' + colname + '</label><span class="favcolorbox" style="background-color:' + ColorPicker.getcolorfromfavorite(namespace.val()) + '">&nbsp;</span></span>');
- }
- }
- $('#favcolors').val(fcolors);
- ColorPicker.setpaneldimension();
- },
- openfavourites: function() {
- if (favshow) {
- favpanel.hide();
- openfav.attr('class','defaulttrans');
- favshow = false;
- $('#favmsg').remove();
- bscroll = false;
- }else {
- favpanel.show();
- openfav.addClass('hovertrans');
- favshow = true;
- var fcolors = $('#favcolors').val();
- if(fcolors == '') {
- favpanel.append('<span class="favmsg" id="favmsg">No favourite colors.</span>');
- }
- bscroll = true;
- ColorPicker.setpaneldimension();
- }
- addfav.html('Add to Favorites');
- curfavcolor = "";
- curfavcolorId = "";
- $('.favcolor input[type=radio]').attr('checked',false);
- },
- loadColorStorage: function() {
- var opts = $('#opt_hexswitch').val();
- names = false;
- rgbs = false;
- hexes = false;
- if(opts == 'names') {
- selectedname = namespace.val();
- selectedrgb = hextorgb[nametohex[selectedname]];
- hexswitch.html('CLICK TO SWITCH TO RGB VALUES');
- rgbs = true;
- }else if(opts == 'rgbs') {
- selectedname = rgbtoname[namespace.val()];
- selectedrgb = namespace.val();
- hexes = true;
- hexswitch.html('CLICK TO SWITCH TO HEX VALUES')
- }else if(opts == 'hexes') {
- names = true;
- selectedrgb = hextorgb[namespace.val()];
- selectedname = rgbtoname[selectedrgb];
- hexswitch.html('CLICK TO SWITCH TO COLOR NAMES');
- }
- colornames.html(selectedname);
- preview.css({'background-color':selectedrgb,'border-style':'none'});
- vasebackground.css('background-color',selectedrgb);
- infostate = parseInt($('#opt_infoswitch').val());
- ColorPicker.switchcolorinfo();
- var bgOpt = $('#opt_bgColor').val();
- if (bgOpt == "bg1")
- {
- $('#colorpicker').css({'background-image':'url("./images/bg.dither.gif")','background-color':'gray','background-color':'black'});
- }else if(bgOpt == "bg5"){
- $('#colorpicker').css({'background-image':"url('" + $('#opt_bgURI').val() + "')"});
- }else{
- $('#colorpicker').css({'background-image':'none','background-color':$('#' + bgOpt).html()});
- }
- $('#bgURI').val($('#opt_bgURI').val());
- ColorPicker.initfavpanel();
- },
- switchhovercss: function(sel, uno) {
- var chng = {};
- chng['color'] = 'white';
- chng['text-shadow'] = 'black 1px 2px';
- chng['background-image'] = "url('./images/hoverbackground.jpg')";
- if(uno == 'over') {
- for(var key in chng) {
- old[key] = $('#'+sel).css(key);
- }
- for(var key in chng){
- $('#'+sel).css(key, chng[key]);
- }
- }else if(uno == 'out') {
- for(var key in old){
- $('#'+sel).css(key, old[key]);
- }
- }
- },
- showcolorname: function(divstr) {
- var rgb = $('#'+divstr).css('background-color');
- var colorname = divtoname['#'+divstr];
- var imname = colorname;
- if (hexes === true) {
- imname = rgb;
- }else if(rgbs === true) {
- imname = colorname;
- }else if (names === true) {
- imname = rgbtohex[rgb];
- }
- return imname;
- },
- hexcolorswitch: function() {
- if(names == true) {
- hexes = false;
- rgbs = false;
- hexswitch.html('CLICK TO SWITCH TO RGB VALUES');
- namespace.val(selectedname);
- names = false;
- rgbs = true;
- $('#opt_hexswitch').val('names');
- }else if(hexes == true) {
- rgbs = false;
- names = false;
- hexswitch.html('CLICK TO SWITCH TO COLOR NAMES');
- namespace.val(rgbtohex[selectedrgb]);
- hexes = false;
- names = true;
- $('#opt_hexswitch').val('hexes');
- }else if(rgbs == true) {
- names = false;
- hexes = false;
- hexswitch.html('CLICK TO SWITCH TO HEX VALUES')
- namespace.val(selectedrgb)
- rgbs = false;
- hexes = true;
- $('#opt_hexswitch').val('rgbs');
- }
- },
- putitin: function() {
- if (rgbs === true) { thecolor = selectedname; }
- if (hexes === true) { thecolor = selectedrgb; }
- if (names === true) { thecolor = rgbtohex[selectedrgb]; }
- namespace.val(thecolor);
- preview.css({'background-color':selectedrgb,'border-style':'none'});
- vasebackground.css('background-color',selectedrgb);
- },
- getcontainerwidth: function () {
- basis = $('.colors').css('width');
- basis = parseInt(basis.slice(0,-2));
- secondbasis = '2px';
- secondbasis = parseInt(secondbasis.slice(0,-2));
- widthval = (secondbasis*(numberacross*2))+(basis*numberacross)+(basis*.44);//(goldenize(basis)-basis)
- if (widthval < 406){
- widthval = 406;
- }
- widthval = widthval.toString()+'px';
- return widthval;
- },
- shrinkwidth: function(arg, ratio) {
- for(var i=0; i < ratio; i++) {
- arg = ColorPicker.GoldenFuncs.regolden(arg);
- }
- division = Math.round(arg);
- return division;
- },
- setupfonts: function () {
- fontratioone = ColorPicker.shrinkwidth(windowWidth, 9);
- $('.theswitches').css('font-size',fontratioone);
- fontratiotwo = ColorPicker.shrinkwidth(windowWidth, 8);
- $('.subtitle').css('font-size',fontratiotwo);
- colornames.css('font-size', ColorPicker.GoldenFuncs.goldenize(fontratiotwo)+'px');
- colornames.css('text-shadow', 'black 1px 2px');
- var transfont = ColorPicker.GoldenFuncs.regolden(fontratioone);
- $('.smalltitle').css({'width':'100%','font-size':fontratioone});
- },
- setupsides: function() {
- container.css({'position':'relative','z-index':'1'});
- switches.css('z-index','10');
- var basis = container.css('width');
- basis = parseInt(basis.slice(0,-2));
- remainder = (100-basis)/2;
- widths = ColorPicker.GoldenFuncs.regolden(basis);
- widths = widths.toString()+'px';
- lateralbasis = ColorPicker.GoldenFuncs.regolden(remainder);
- leftside = toString(lateralbasis)+'%';
- rightside = toString(100-lateralbasis)+'%';
- colornames.css('left', leftside);
- switches.css({'width': widths, 'left': rightside});
- },
- previewdimensions: function() {
- first = switches.css('width');
- first = parseInt(first.slice(0,-2));
- width = ColorPicker.GoldenFuncs.regolden(first);
- height = ColorPicker.GoldenFuncs.regolden(width);
- width = width.toString()+'px';
- height = height.toString()+'px';
- preview.css({'width':width, 'height':height});
- },
- setupdimensions: function() {
- if(window.innerWidth > 933) {
- windowWidth = window.innerWidth
- }else{ windowWidth = 933 }
- colorswidth = ColorPicker.shrinkwidth(windowWidth, widthratio);
- $('.colors').css('width', colorswidth.toString()+'px');
- colorsheight = ColorPicker.GoldenFuncs.regolden(colorswidth);
- propval = colorsheight.toString()+'px';
- $('.colors').css('height', propval);
- var containerwidth = ColorPicker.getcontainerwidth();
- container.css('width',containerwidth);
-
- ColorPicker.setupfonts();
- ColorPicker.setupsides();
- ColorPicker.GoldenFuncs.makegolden('#' + switches.attr('id'),'width');
- ColorPicker.previewdimensions();
- transparent.css({'float':'bottom','width':'inherit'});
- orgheight = switches.height();
- },
- switchcolorinfo: function() {
- if(infostate == 1) {
- for(var i=0; i < color_values.length; i++) {
- $('#d' + i).html(divtoname['#d' + i]);
- }
- infostate = 2;
- infospace.html('(NAMES)');
- $('#opt_infoswitch').val('1');
- }else if(infostate == 0) {
- $('.colors').html("");
- infostate = 1;
- infospace.html('(NONE)');
- $('#opt_infoswitch').val('0');
- }else if(infostate == 2) {
- for(var i=0; i < color_values.length; i++) {
- $('#d' + i).html(nametohex[divtoname['#d' + i]]);
- }
- infostate = 3;
- infospace.html('(HEXES)');
- $('#opt_infoswitch').val('2');
- }else if(infostate == 3) {
- for(var i=0; i < color_values.length; i++) {
- $('#d' + i).html(hextorgb[nametohex[divtoname['#d' + i]]]);
- }
- infostate = 0;
- infospace.html('(RGBS)');
- $('#opt_infoswitch').val('3');
- }
- },
- show: function() {
- //-------create color panel--------
- for (i=1; i < color_values.length ; i++)
- {
- $('#d0').attr('style','background-color:' + color_values[0]);
- var colorbox = $('#d0').clone();
- colorbox.attr('id','d' + i);
- colorbox.attr('style','background-color:' + color_values[i]);
- container.append(colorbox);
- }
- //--------initialize------------
- ColorPicker.setupdimensions();
- ColorPicker.switchcolorinfo();
- ColorPicker.hexcolorswitch();
- ColorPicker.Events.addEventListener();
- },
-}
diff --git a/share/frontend/im/css/style.css b/share/frontend/im/css/style.css
new file mode 100644
index 0000000..3f0e597
--- /dev/null
+++ b/share/frontend/im/css/style.css
@@ -0,0 +1,170 @@
+*
+ {
+ padding: 0;
+ margin: 0;
+ font-family: sans-serif;
+ }
+body
+ {
+ background-color: #efedee;
+ // background-color: #838388;
+ color: #555;
+ }
+#down_for_maintenance{
+ position: absolute;
+ background: url("http://asdf.us/impattern/patterns/38.png");
+ z-index:2000;
+ height: 100%;
+ width: 100%;
+ top: 0;
+ left:0;
+ display: none;
+}
+#down_for_maintenance > span{
+ background: white;
+}
+#controls,#result
+ {
+ display: inline-block;
+ margin: 10px;
+ width: 430px;
+ float: left;
+ }
+#controls
+ {
+ font-size: 14px;
+ top: 0; left: 0;
+ z-index: 5;
+ }
+#result
+ {
+ background-color: #d6d0d0;
+// background-color: #131412;
+ margin-left: 20px;
+ padding: 10px;
+ display: none;
+ z-index: 5;
+ }
+#sendtoinput
+ {
+ font-size: 10px;
+ }
+#instructions
+ {
+ position: absolute;
+ bottom: 10px;
+ left: 10px;
+ line-height: 18px;
+ z-index: 1;
+ }
+p,form
+ {
+// background-color: #010101;
+ background-color: #fff;
+ background-position: center center;
+ padding: 10px;
+ font-size: 14px;
+ width: 430px;
+ display: block;
+ }
+#gallery-link
+ {
+ background-color: #fff;
+// background-image: url(imcupbg.jpg);
+ background-position: center center;
+ position: absolute;
+ top: 10px;
+ right: 10px;
+ padding: 10px;
+ z-index: 10;
+ }
+.error
+ {
+ color: red;
+ font-size: 20px;
+ }
+a
+ {
+// color: #b4d;
+ color: #a39;
+ font-weight: bold;
+ }
+label
+ {
+ display: inline-block;
+ width: 190px;
+ padding-right: 10px;
+ text-align: right;
+ }
+small
+ {
+ color: #777;
+ }
+input[type=text]
+ {
+ width: 100px;
+ }
+#img-url,#output-url,#img-background
+ {
+ width: 200px;
+ }
+#bgswitcheroo, #colorswitcheroo
+ {
+ width: 19px;
+ height:38px;
+ display: inline-block;
+ position: absolute;
+ background-image: url(http://i.asdf.us/im/7e/user_convo_1353562627_1355449919.png);
+ //background-image: url( http://i.asdf.us/im/7b/user_convo_1353562627.png);
+ background-repeat:no-repeat;
+ background-position: 3px 10px;
+ cursor: pointer;
+ }
+#img-fuzz,#img-width,#img-height,#img-brightness,#img-saturation,#img-contrast,#img-hue,#img-rotate
+ {
+ width: 50px;
+ text-align: right;
+ }
+button
+ {
+ padding: 2px 5px;
+ font-size: 16px;
+ }
+#result img
+ {
+ max-width: 400px;
+ max-height: 400px;
+ }
+#output-cmd
+ {
+ font-size: 12px;
+ white-space: pre;
+ }
+.shim
+ {
+ height: 10px;
+ clear: both;
+ display: block;
+ }
+#output-url
+ {
+ width: 320px;
+ }
+#likebutton
+ {
+ display: none;
+ position: absolute;
+ bottom: 10px;
+ right: 10px;
+ width: 350px;
+ background-color: #fff;
+// background-image: url(imcupbg.jpg);
+ padding: 10px;
+ color: #ddd;
+ font-family: trebuchet ms, sans-serif;
+ }
+div#controls, span#userlink {
+ display: none;
+} span#userlink a {
+ text-transform: capitalize;
+}
diff --git a/share/frontend/im/arrow_pointing_left.png b/share/frontend/im/img/arrow_pointing_left.png
index ba1fb53..ba1fb53 100755
--- a/share/frontend/im/arrow_pointing_left.png
+++ b/share/frontend/im/img/arrow_pointing_left.png
Binary files differ
diff --git a/share/frontend/im/imcupbg.jpg b/share/frontend/im/img/imcupbg.jpg
index b3cf3f5..b3cf3f5 100755
--- a/share/frontend/im/imcupbg.jpg
+++ b/share/frontend/im/img/imcupbg.jpg
Binary files differ
diff --git a/share/frontend/im/new.gif b/share/frontend/im/img/new.gif
index 37c39d2..37c39d2 100755
--- a/share/frontend/im/new.gif
+++ b/share/frontend/im/img/new.gif
Binary files differ
diff --git a/share/frontend/im/index.html b/share/frontend/im/index.html
index c19770f..313fe04 100755
--- a/share/frontend/im/index.html
+++ b/share/frontend/im/index.html
@@ -1,4 +1,4 @@
-<!doctype html>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<title>PHOTOBLASTER</title>
@@ -13,179 +13,7 @@
<!--FOR THE COLORS IFRAME-->
<link rel="stylesheet" type="text/css" href="/im/colors/css/jquery.fancybox.css?v=2.1.5" media="screen" />
-<style type="text/css">
-*
- {
- padding: 0;
- margin: 0;
- font-family: sans-serif;
- }
-body
- {
- background-color: #efedee;
- // background-color: #838388;
- color: #555;
- }
-#down_for_maintenance{
- position: absolute;
- background: url("http://asdf.us/impattern/patterns/38.png");
- z-index:2000;
- height: 100%;
- width: 100%;
- top: 0;
- left:0;
- display: none;
-}
-#down_for_maintenance > span{
- background: white;
-}
-#controls,#result
- {
- display: inline-block;
- margin: 10px;
- width: 430px;
- float: left;
- }
-#controls
- {
- font-size: 14px;
- top: 0; left: 0;
- z-index: 5;
- }
-#result
- {
- background-color: #d6d0d0;
-// background-color: #131412;
- margin-left: 20px;
- padding: 10px;
- display: none;
- z-index: 5;
- }
-#sendtoinput
- {
- font-size: 10px;
- }
-#instructions
- {
- position: absolute;
- bottom: 10px;
- left: 10px;
- line-height: 18px;
- z-index: 1;
- }
-p,form
- {
-// background-color: #010101;
- background-color: #fff;
-// background-image: url(imcupbg.jpg);
- background-position: center center;
- padding: 10px;
- font-size: 14px;
- width: 430px;
- display: block;
- }
-#gallery-link
- {
- background-color: #fff;
-// background-image: url(imcupbg.jpg);
- background-position: center center;
- position: absolute;
- top: 10px;
- right: 10px;
- padding: 10px;
- z-index: 10;
- }
-.error
- {
- color: red;
- font-size: 20px;
- }
-a
- {
-// color: #b4d;
- color: #a39;
- font-weight: bold;
- }
-label
- {
- display: inline-block;
- width: 190px;
- padding-right: 10px;
- text-align: right;
- }
-small
- {
- color: #777;
- }
-input[type=text]
- {
- width: 100px;
- }
-#img-url,#output-url,#img-background
- {
- width: 200px;
- }
-#bgswitcheroo, #colorswitcheroo
- {
- width: 19px;
- height:38px;
- display: inline-block;
- position: absolute;
- background-image: url(http://i.asdf.us/im/7e/user_convo_1353562627_1355449919.png);
- //background-image: url( http://i.asdf.us/im/7b/user_convo_1353562627.png);
- background-repeat:no-repeat;
- background-position: 3px 10px;
- cursor: pointer;
- }
-#img-fuzz,#img-width,#img-height,#img-brightness,#img-saturation,#img-contrast,#img-hue,#img-rotate
- {
- width: 50px;
- text-align: right;
- }
-button
- {
- padding: 2px 5px;
- font-size: 16px;
- }
-#result img
- {
- max-width: 400px;
- max-height: 400px;
- }
-#output-cmd
- {
- font-size: 12px;
- white-space: pre;
- }
-.shim
- {
- height: 10px;
- clear: both;
- display: block;
- }
-#output-url
- {
- width: 320px;
- }
-#likebutton
- {
- display: none;
- position: absolute;
- bottom: 10px;
- right: 10px;
- width: 350px;
- background-color: #fff;
-// background-image: url(imcupbg.jpg);
- padding: 10px;
- color: #ddd;
- font-family: trebuchet ms, sans-serif;
- }
-div#controls, span#userlink {
- display: none;
-} span#userlink a {
- text-transform: capitalize;
-}
-</style>
+<link rel="stylesheet" type="text/css" href="css/style.css" />
</head>
<body>
@@ -372,7 +200,7 @@ div#controls, span#userlink {
<span class="shim"></span>
<p>
- <img src="new.gif" width="32" height="16" />
+ <img src="img/new.gif" width="32" height="16" />
Draw color codes &rarr; <a href="/ascii/">Ascii</a>
<span class="shim"></span>
Mess around with heightmaps and textures &rarr; <a href="/imlandscape">ImLandscape</a>
@@ -383,7 +211,6 @@ div#controls, span#userlink {
<span class="shim"></span>
Oh now it's on....payback time &rarr; <a href="/imbreak/">FOTO FUCKER</a>
<span class="shim"></span>
- <!--<img src="new.gif" width="32" height="16" />-->
Transform images in 3D &rarr; <a href="/imgrid/">Grid Generator</a>
<span class="shim"></span>
Gradients make everything better &rarr; <a href="/imgradient/">Gradient Generator</a>
@@ -417,149 +244,10 @@ div#controls, span#userlink {
-->
<script type="text/javascript" src="/js/jquery.js"></script>
-<script type="text/javascript">
-var Main =
- {
- API_HEADER: "#@im",
- generating: false,
- enter: function (e)
- {
- if (Main.generating)
- return
- if (e.keyCode === 13)
- Main.go()
- },
- go: function ()
- {
- if (Main.generating)
- return
- Main.generating = true
- $("#output-cmd").html('generating...').show()
- $("#result").show()
- var data =
- {
- url: $("#img-url").val(),
- transparent: $('#img-transparent:checked').val() !== undefined ? "true" : "false",
- flip: $('#img-flip:checked').val() !== undefined ? "true" : "false",
- flop: $('#img-flop:checked').val() !== undefined ? "true" : "false",
- nearest: $('#img-nearest:checked').val() !== undefined ? "true" : "false",
- rotate: $("#img-rotate").val(),
- subtract: $("#img-subtract").val(),
- fuzz: $("#img-fuzz").val(),
- width: $("#img-width").val(),
- height: $("#img-height").val(),
- black: $("#img-black").val(),
- white: $("#img-white").val(),
- //brightness: $("#img-brightness").val(),
- //saturation: $("#img-saturation").val(),
- hue: $("#img-hue").val(),
- contrast: $("#img-contrast").val(),
- background: $("#img-background").val(),
- // merge_early: $('#img-merge_early:checked').val() !== undefined ? "true" : "false",
- compose: $('#img-compose :selected').text(),
- gravity: $('#img-gravity :selected').text(),
- // tile: $('#img-tile:checked').val() !== undefined ? "true" : "false",
- format: $('#img-format :selected').text(),
- dispose: $('#dispose').val(),
- username: $("#img-name").val(),
- }
- if (data.rotate.match(/-/)){ data.rotate=360-parseInt(data.rotate.replace("-","")); };
- $("#img-rotate").val("");
- if (data.username.length > 0)
- document.cookie = "imname="+data.username+";path=/;domain=.asdf.us;max-age=1086400"
- $.post("/im/api/generate", data, Main.callback)
- },
- error: function (s)
- {
- $("#output-cmd").html("<span class='error'>ERROR: " + s + "</span>").show()
- $("#output-url").hide()
- $("#output-img").hide()
- },
- callback: function (data)
- {
- Main.generating = false
- $("#output-cmd").html("size: "+Main.filesize(data.size)+"<br/>"
- + data.width + " x " + data.height);
-
- $("#output-url").val(data.url);
- $("#output-img").hide().attr("src", data.url).fadeIn(700)
- $("#sendtoinput").html("&nbsp;send to input <img src=\"arrow_pointing_left.png\"/>&nbsp;").css({"border": "1px solid gray", "cursor" : "pointer"}).click(function(){
- $("#img-url").val(data.url);
- });
-
- },
- filesize: function (size)
- {
- if (size < 1024)
- return size + " bytes"
- if (size < 1024 * 1024)
- return Math.floor (size/1024) + " KB"
- else
- return Math.floor (size/(1024*1024)) + " MB"
- },
- cookie: function ()
- {
- if (document.cookie)
- {
- var cookies = document.cookie.split(";")
- for (i in cookies)
- {
- var cookie = cookies[i].split("=")
- if (cookie[0].indexOf("imname") !== -1)
- {
- if (cookie[1] !== 'false' && cookie[1] !== 'undefined' && cookie[1].length)
- {
- return cookie[1]
- }
- }
- }
- }
- return ""
- },
- preloadSize: function(url,label,tag){
- console.log(url)
- var img = new Image()
- img.onload = function(){ $(label).html( tag + ": " + img.naturalWidth + " x " + img.naturalHeight ) }
- img.src = url
- },
- init: function ()
- {
- var name = Main.cookie ()
- $("#img-name").val(name)
- if (name)
- {
- $("#userlink").show()
- $("#userlink a").attr("href", "/im/gallery/?name="+name).html(name+"'s photoblasts")
- }
- $("#likebutton,#controls").fadeIn(0)
- $("#img-generate").bind("click", Main.go)
- $("div input[type=text]").bind("keydown", Main.enter)
- $("#img-url").change(function(){Main.preloadSize(this.value,"#img-url-label","image")})
- $("#img-background").change(function(){Main.preloadSize(this.value,"#background-url-label","bg")})
- $("#bgswitcheroo").click(function() {
- a = $("#img-url").val();
- b = $("#img-background").val();
- $("#img-url").val(b);
- $("#img-background").val(a);
- });
- $("#colorswitcheroo").click(function() {
- a = $("#img-white").val();
- b = $("#img-black").val();
- $("#img-white").val(b);
- $("#img-black").val(a);
- });
- $("#img-format").change(function(){
- $("#gif-options").css( "visibility", $("#img-format").val() === "gif" ? "visible" : "hidden")
- })
-
- },
- }
-document.getElementById('imform').reset();
-Main.init ()
-</script>
+<script type="text/javascript" src="js/main.js"></script>
<script type="text/javascript" src="http://asdf.us/js/pbembed.js"></script>
<!--for the colors iframe-->
-<script type="text/javascript" src="jquery-ui-1.8.16.custom.min.js"></script>
+<script type="text/javascript" src="js/jquery-ui-1.8.16.custom.min.js"></script>
<script type="text/javascript" src="/im/colors/js/jquery.remember-state.js"></script>
<script type="text/javascript" src="/im/colors/js/jquery.fancybox.js?v=2.1.5"></script>
<script type="text/javascript" src="colors_iframe.js"></script>
diff --git a/share/frontend/im/jquery-ui-1.8.16.custom.min.js b/share/frontend/im/js/jquery-ui-1.8.16.custom.min.js
index 3042d0b..3042d0b 100755
--- a/share/frontend/im/jquery-ui-1.8.16.custom.min.js
+++ b/share/frontend/im/js/jquery-ui-1.8.16.custom.min.js
diff --git a/share/frontend/im/js/main.js b/share/frontend/im/js/main.js
new file mode 100644
index 0000000..8f8b01a
--- /dev/null
+++ b/share/frontend/im/js/main.js
@@ -0,0 +1,138 @@
+var Main =
+ {
+ API_HEADER: "#@im",
+ generating: false,
+ enter: function (e)
+ {
+ if (Main.generating)
+ return
+ if (e.keyCode === 13)
+ Main.go()
+ },
+ go: function ()
+ {
+ if (Main.generating)
+ return
+ Main.generating = true
+ $("#output-cmd").html('generating...').show()
+ $("#result").show()
+ var data =
+ {
+ url: $("#img-url").val(),
+ transparent: $('#img-transparent:checked').val() !== undefined ? "true" : "false",
+ flip: $('#img-flip:checked').val() !== undefined ? "true" : "false",
+ flop: $('#img-flop:checked').val() !== undefined ? "true" : "false",
+ nearest: $('#img-nearest:checked').val() !== undefined ? "true" : "false",
+ rotate: $("#img-rotate").val(),
+ subtract: $("#img-subtract").val(),
+ fuzz: $("#img-fuzz").val(),
+ width: $("#img-width").val(),
+ height: $("#img-height").val(),
+ black: $("#img-black").val(),
+ white: $("#img-white").val(),
+ //brightness: $("#img-brightness").val(),
+ //saturation: $("#img-saturation").val(),
+ hue: $("#img-hue").val(),
+ contrast: $("#img-contrast").val(),
+ background: $("#img-background").val(),
+ // merge_early: $('#img-merge_early:checked').val() !== undefined ? "true" : "false",
+ compose: $('#img-compose :selected').text(),
+ gravity: $('#img-gravity :selected').text(),
+ // tile: $('#img-tile:checked').val() !== undefined ? "true" : "false",
+ format: $('#img-format :selected').text(),
+ dispose: $('#dispose').val(),
+ username: $("#img-name").val(),
+ }
+ if (data.rotate.match(/-/)){ data.rotate=360-parseInt(data.rotate.replace("-","")); };
+ $("#img-rotate").val("");
+ if (data.username.length > 0)
+ document.cookie = "imname="+data.username+";path=/;domain=.asdf.us;max-age=1086400"
+ $.post("/im/api/generate", data, Main.callback)
+ },
+ error: function (s)
+ {
+ $("#output-cmd").html("<span class='error'>ERROR: " + s + "</span>").show()
+ $("#output-url").hide()
+ $("#output-img").hide()
+ },
+ callback: function (data)
+ {
+ Main.generating = false
+ $("#output-cmd").html("size: "+Main.filesize(data.size)+"<br/>"
+ + data.width + " x " + data.height);
+
+ $("#output-url").val(data.url);
+ $("#output-img").hide().attr("src", data.url).fadeIn(700)
+ $("#sendtoinput").html("&nbsp;send to input <img src=\"img/arrow_pointing_left.png\"/>&nbsp;").css({"border": "1px solid gray", "cursor" : "pointer"}).click(function(){
+ $("#img-url").val(data.url);
+ });
+
+ },
+ filesize: function (size)
+ {
+ if (size < 1024)
+ return size + " bytes"
+ if (size < 1024 * 1024)
+ return Math.floor (size/1024) + " KB"
+ else
+ return Math.floor (size/(1024*1024)) + " MB"
+ },
+ cookie: function ()
+ {
+ if (document.cookie)
+ {
+ var cookies = document.cookie.split(";")
+ for (i in cookies)
+ {
+ var cookie = cookies[i].split("=")
+ if (cookie[0].indexOf("imname") !== -1)
+ {
+ if (cookie[1] !== 'false' && cookie[1] !== 'undefined' && cookie[1].length)
+ {
+ return cookie[1]
+ }
+ }
+ }
+ }
+ return ""
+ },
+ preloadSize: function(url,label,tag){
+ console.log(url)
+ var img = new Image()
+ img.onload = function(){ $(label).html( tag + ": " + img.naturalWidth + " x " + img.naturalHeight ) }
+ img.src = url
+ },
+ init: function ()
+ {
+ var name = Main.cookie ()
+ $("#img-name").val(name)
+ if (name)
+ {
+ $("#userlink").show()
+ $("#userlink a").attr("href", "/im/gallery/?name="+name).html(name+"'s photoblasts")
+ }
+ $("#likebutton,#controls").fadeIn(0)
+ $("#img-generate").bind("click", Main.go)
+ $("div input[type=text]").bind("keydown", Main.enter)
+ $("#img-url").change(function(){Main.preloadSize(this.value,"#img-url-label","image")})
+ $("#img-background").change(function(){Main.preloadSize(this.value,"#background-url-label","bg")})
+ $("#bgswitcheroo").click(function() {
+ a = $("#img-url").val();
+ b = $("#img-background").val();
+ $("#img-url").val(b);
+ $("#img-background").val(a);
+ });
+ $("#colorswitcheroo").click(function() {
+ a = $("#img-white").val();
+ b = $("#img-black").val();
+ $("#img-white").val(b);
+ $("#img-black").val(a);
+ });
+ $("#img-format").change(function(){
+ $("#gif-options").css( "visibility", $("#img-format").val() === "gif" ? "visible" : "hidden")
+ })
+
+ },
+ }
+document.getElementById('imform').reset();
+Main.init ()
diff --git a/share/frontend/imbreak/ivy.gif b/share/frontend/imbreak/img/ivy.gif
index b51faca..b51faca 100755
--- a/share/frontend/imbreak/ivy.gif
+++ b/share/frontend/imbreak/img/ivy.gif
Binary files differ
diff --git a/share/frontend/imbreak/on9TF_1322970909_1322970984_1323325278.gif b/share/frontend/imbreak/img/logo-variant.gif
index 8e19e59..8e19e59 100755
--- a/share/frontend/imbreak/on9TF_1322970909_1322970984_1323325278.gif
+++ b/share/frontend/imbreak/img/logo-variant.gif
Binary files differ
diff --git a/share/frontend/imbreak/firstlogo.gif b/share/frontend/imbreak/img/logo.gif
index 5762688..5762688 100755
--- a/share/frontend/imbreak/firstlogo.gif
+++ b/share/frontend/imbreak/img/logo.gif
Binary files differ
diff --git a/share/frontend/imbreak/newmain.gif b/share/frontend/imbreak/img/main.gif
index 8eb7e73..8eb7e73 100755
--- a/share/frontend/imbreak/newmain.gif
+++ b/share/frontend/imbreak/img/main.gif
Binary files differ
diff --git a/share/frontend/imbreak/index.html b/share/frontend/imbreak/index.html
index 88d0c6b..7bab966 100755
--- a/share/frontend/imbreak/index.html
+++ b/share/frontend/imbreak/index.html
@@ -172,10 +172,10 @@ body
<span style="background-color:rgba(245,245,245,0.7)">An image breaking utility from PHOTOBLASTER, this program breaks images
<br>and then restores them to an unbroken state so that they can be used for further editing.<br></span>
<p>
- <li id="ivy" style="background-image:url(ivy.gif);">
- <img id="firstlogo" src="firstlogo.gif"></img>
- <img id="mainlogo" src="newmain.gif"></img>
- <img id="secondlogo" src="on9TF_1322970909_1322970984_1323325278.gif"></img>
+ <li id="ivy" style="background-image:url(img/ivy.gif);">
+ <img id="firstlogo" src="img/logo.gif"></img>
+ <img id="mainlogo" src="img/main.gif"></img>
+ <img id="secondlogo" src="img/logo-variant.gif"></img>
</li>
<li style="display:inline; background-image:url(http://i.asdf.us/im/63/imgrid_1328137237_ivy_pepper.gif)"></li>
</p>
@@ -243,7 +243,7 @@ BREAK ANGLE:&nbsp;<input id='breakangle' type='text' value='0'></input>
<div id="output-info" class='results'></div>
</div>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
-<script type="text/javascript" src="jquery-ui.min.js"></script>
+<script type="text/javascript" src="js/jquery-ui.min.js"></script>
<script type="text/javascript">
function clearcopyright(){
$('#copyright').html("");
diff --git a/share/frontend/imbreak/jcookie.js b/share/frontend/imbreak/jcookie.js
deleted file mode 100755
index ee84737..0000000
--- a/share/frontend/imbreak/jcookie.js
+++ /dev/null
@@ -1,95 +0,0 @@
-cookie plugin
- *
- * Copyright (c) 2006 Klaus Hartl (stilbuero.de)
- * Dual licensed under the MIT and GPL licenses:
- * http://www.opensource.org/licenses/mit-license.php
- * http://www.gnu.org/licenses/gpl.html
- *
- */
-
-/**
- * Create a cookie with the given name and value and other optional parameters.
- *
- * @example $.cookie('the_cookie', 'the_value');
- * @desc Set the value of a cookie.
- * @example $.cookie('the_cookie', 'the_value', { expires: 7, path: '/', domain: 'jquery.com', secure: true });
- * @desc Create a cookie with all available options.
- * @example $.cookie('the_cookie', 'the_value');
- * @desc Create a session cookie.
- * @example $.cookie('the_cookie', null);
- * @desc Delete a cookie by passing null as value. Keep in mind that you have to use the same path and domain
- * used when the cookie was set.
- *
- * @param String name The name of the cookie.
- * @param String value The value of the cookie.
- * @param Object options An object literal containing key/value pairs to provide optional cookie attributes.
- * @option Number|Date expires Either an integer specifying the expiration date from now on in days or a Date object.
- * If a negative value is specified (e.g. a date in the past), the cookie will be deleted.
- * If set to null or omitted, the cookie will be a session cookie and will not be retained
- * when the the browser exits.
- * @option String path The value of the path atribute of the cookie (default: path of page that created the cookie).
- * @option String domain The value of the domain attribute of the cookie (default: domain of page that created the cookie).
- * @option Boolean secure If true, the secure attribute of the cookie will be set and the cookie transmission will
- * require a secure protocol (like HTTPS).
- * @type undefined
- *
- * @name $.cookie
- * @cat Plugins/Cookie
- * @author Klaus Hartl/klaus.hartl@stilbuero.de
- */
-
-/**
- * Get the value of a cookie with the given name.
- *
- * @example $.cookie('the_cookie');
- * @desc Get the value of a cookie.
- *
- * @param String name The name of the cookie.
- * @return The value of the cookie.
- * @type String
- *
- * @name $.cookie
- * @cat Plugins/Cookie
- * @author Klaus Hartl/klaus.hartl@stilbuero.de
- */
-jQuery.cookie = function(name, value, options) {
- if (typeof value != 'undefined') { // name and value given, set cookie
- options = options || {};
- if (value === null) {
- value = '';
- options.expires = -1;
- }
- var expires = '';
- if (options.expires && (typeof options.expires == 'number' || options.expires.toUTCString)) {
- var date;
- if (typeof options.expires == 'number') {
- date = new Date();
- date.setTime(date.getTime() + (options.expires * 24 * 60 * 60 * 1000));
- } else {
- date = options.expires;
- }
- expires = '; expires=' + date.toUTCString(); // use expires attribute, max-age is not supported by IE
- }
- // CAUTION: Needed to parenthesize options.path and options.domain
- // in the following expressions, otherwise they evaluate to undefined
- // in the packed version for some reason...
- var path = options.path ? '; path=' + (options.path) : '';
- var domain = options.domain ? '; domain=' + (options.domain) : '';
- var secure = options.secure ? '; secure' : '';
- document.cookie = [name, '=', encodeURIComponent(value), expires, path, domain, secure].join('');
- } else { // only name given, get cookie
- var cookieValue = null;
- if (document.cookie && document.cookie != '') {
- var cookies = document.cookie.split(';');
- for (var i = 0; i < cookies.length; i++) {
- var cookie = jQuery.trim(cookies[i]);
- // Does this cookie string begin with the name we want?
- if (cookie.substring(0, name.length + 1) == (name + '=')) {
- cookieValue = decodeURIComponent(cookie.substring(name.length + 1));
- break;
- }
- }
- }
- return cookieValue;
- }
-};
diff --git a/share/frontend/imbreak/jquery-ui.min.js b/share/frontend/imbreak/js/jquery-ui.min.js
index 0202506..0202506 100755
--- a/share/frontend/imbreak/jquery-ui.min.js
+++ b/share/frontend/imbreak/js/jquery-ui.min.js
diff --git a/share/frontend/imgradient/css/style.css b/share/frontend/imgradient/css/style.css
new file mode 100644
index 0000000..9012be3
--- /dev/null
+++ b/share/frontend/imgradient/css/style.css
@@ -0,0 +1,156 @@
+*
+ {
+ padding: 0;
+ margin: 0;
+ font-family: times;
+ }
+body
+ {
+ background-color: #e6e0e0;
+ color: #696969;
+ overflow-x:hidden;
+ }
+h1
+ {
+ font-size: 40px;
+ }
+#brightness-slider,#hue-slider,#saturation-slider,#blur-slider
+ {
+ margin-top:10px;
+ margin-bottom:10px;
+ background-color:#B3B3B3;
+ }
+#stripenumber,#stripeintensity,#percentbeveled
+ {
+ height:10px;
+ width :25px;
+ font-size:9;
+ }
+#controls,#result
+ {
+ padding: 10px;
+ width: 460px;
+ }
+#controls
+ {
+ display:block;
+ font-size: 14px;
+ top: 10px; left: 10px;
+ z-index: 5;
+ background-color: #fff;
+ -moz-box-shadow: 0px 0px 9px 3px mediumseagreen;
+ -webkit-box-shadow: 0px 0px 9px 3px mediumseagreen;
+ box-shadow: 0px 0px 9px 3px mediumseagreen;
+ border: 60px outset #777;
+ }
+#result
+ {
+ background-color: #d6d0d0;
+ top: 10px; left: 580px;
+ z-index: 5;
+ display: none;
+ position: fixed;
+ }
+#instructions
+ {
+ position: absolute;
+ bottom: 10px;
+ left: 10px;
+ line-height: 18px;
+ z-index: 1;
+ }
+p
+ {
+ background-color: #fff;
+ padding: 10px;
+ font-size: 14px;
+ width: 430px;
+ display: block;
+ }
+#gallery-link
+ {
+ background-color: #fff;
+ position: absolute;
+ top: 10px;
+ right: 10px;
+ padding: 10px;
+ z-index: 10;
+ }
+.error
+ {
+ color: red;
+ font-size: 20px;
+ }
+a
+ {
+ color: #b4d;
+ font-weight: bold;
+ }
+label
+
+ {
+ display: inline-block;
+ width: 300px;
+ padding-right: 10px;
+ text-align: center;
+ }
+input[type=text]
+ {
+ width: 50px;
+ }
+#img-url,#output-url,#img-background
+ {
+ width: 200px;
+ }
+#img-width,#img-height,#img-brightness,#img-saturation,#img-contrast,#img-hue,#img-rotate,#img-blur,#img-tilt
+ {
+ width: 50px;
+ text-align: right;
+ }
+button
+ {
+ padding: 2px 5px;
+ font-size: 16px;
+ width:200px;
+ float:right;
+ font-weight:bold;
+ color:#222222;
+ }
+#result img
+ {
+ max-width: 400px;
+ max-height: 400px;
+ }
+#output-cmd
+ {
+ font-size: 12px;
+ white-space: pre;
+ }
+.shim
+ {
+ height: 10px;
+ clear: both;
+ display: block;
+ }
+#output-url
+ {
+ width: 320px;
+ }
+#likebutton
+ {
+ position: fixed;
+ bottom: 10px;
+ right: 10px;
+ width: 350px;
+ background-color: #fff;
+ padding: 10px;
+ color: #ddd;
+ font-family: times;
+ text-transform: uppercase;
+ }
+.arrow
+ {
+ float:right;
+ white-space:inherit;
+ display:inline;
+ }
diff --git a/share/frontend/imgradient/js/colors_iframe.js b/share/frontend/imgradient/js/colors_iframe.js
new file mode 100644
index 0000000..0a1e728
--- /dev/null
+++ b/share/frontend/imgradient/js/colors_iframe.js
@@ -0,0 +1,82 @@
+//but I tool a procedural approach, and I wanted to make something more like OOP. just didn't know
+//how do deal with the fact that $.fancybox is a class...a singleton class is totally fine.
+//like colorpicker_iframe. just need to know what it would look like
+//well in this case you might not need oop approach, as it doesn't solve any issues here. its fine to use procedural code then you
+//don't need oop. also js is sort of using procedural way then asking to provide onclick code and other methods like .click() in jquery,
+//so it's kind of callback\procedural oriented, and oop doesn't fit in very well. you can wrap it in oop if really want, it will look like:
+//
+//function ColorPicker(){
+// this.element = $(".something");
+// this.init = function(){
+// this.options = options
+// this.element.click(this.onclick);
+// this.myfancybox = $.fancybox;
+// this.myfancybox_iframe = ".fancybox-iframe";
+// }
+// this.onclick = function(){
+// this.myfancybox.open(
+// do I do something like this
+// _.extend({ autoDimensions: false,
+// autoDimensions: false,
+// beforeShow: this.fancybox_cb_1, //something like this? yes ok I think that it's the right thing for methods
+// to reach for these classes for trivial things for a while, so that I can used to thinking this way.
+// I understand that there are no real benefits performance/readability-wise here, but it's a different paradigm,
+// right? yes ok cool. Well
+// }, options) //? yep
+//
+// this.options
+// ...
+// callback: funciton(){ this.color_picked = ...from fancybox .. }
+// callback: this.callback,
+// );
+// }
+// this.color_picked = function()
+// this.color_picked_as_hex = function()
+// this.color_picked_as_rgb = function()
+// this.callback = function(){
+// $(this.myfancybox_iframe). ....
+// }
+//}
+//and so on yeah good
+//
+function launch_iframe(input_target){
+ $.fancybox.open({
+ href : '/im/colors/index.html',
+ width : 1100, // set the width
+ height : 710,
+ fitToView : true,
+ autoDimensions:false,
+ autoSize:false,
+ type : 'iframe',
+ closeBtn : false,
+ padding : 5,
+ beforeShow : function(){
+ $('.fancybox-iframe').contents().find('#submitvalue').click(function(){
+ $('.fancybox-iframe').contents().find('form').submit();
+ $.fancybox.close();
+ });
+ },
+ beforeClose : function(){
+ x = $('.fancybox-iframe').contents().find('#namespace').val();
+ },
+ afterClose: function(){
+ $(input_target).val(x);
+ }
+ });
+}
+$(document).ready(function(){
+ if(/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent) ) {
+ return;
+ }
+ var element_list = [".color1", ".color2"]
+ element_list.forEach(
+ function(l){
+ console.log("a"+l)
+ $("a"+l).click(function(event){
+ event.preventDefault();
+ launch_iframe("input"+l)
+ });
+ }
+ )
+
+})
diff --git a/share/frontend/imgradient/js/jquery-ui-1.8.16.custom.min.js b/share/frontend/imgradient/js/jquery-ui-1.8.16.custom.min.js
new file mode 100755
index 0000000..3042d0b
--- /dev/null
+++ b/share/frontend/imgradient/js/jquery-ui-1.8.16.custom.min.js
@@ -0,0 +1,84 @@
+/*!
+ * jQuery UI 1.8.16
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI
+ */
+(function(c,j){function k(a,b){var d=a.nodeName.toLowerCase();if("area"===d){b=a.parentNode;d=b.name;if(!a.href||!d||b.nodeName.toLowerCase()!=="map")return false;a=c("img[usemap=#"+d+"]")[0];return!!a&&l(a)}return(/input|select|textarea|button|object/.test(d)?!a.disabled:"a"==d?a.href||b:b)&&l(a)}function l(a){return!c(a).parents().andSelf().filter(function(){return c.curCSS(this,"visibility")==="hidden"||c.expr.filters.hidden(this)}).length}c.ui=c.ui||{};if(!c.ui.version){c.extend(c.ui,{version:"1.8.16",
+keyCode:{ALT:18,BACKSPACE:8,CAPS_LOCK:20,COMMA:188,COMMAND:91,COMMAND_LEFT:91,COMMAND_RIGHT:93,CONTROL:17,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,INSERT:45,LEFT:37,MENU:93,NUMPAD_ADD:107,NUMPAD_DECIMAL:110,NUMPAD_DIVIDE:111,NUMPAD_ENTER:108,NUMPAD_MULTIPLY:106,NUMPAD_SUBTRACT:109,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SHIFT:16,SPACE:32,TAB:9,UP:38,WINDOWS:91}});c.fn.extend({propAttr:c.fn.prop||c.fn.attr,_focus:c.fn.focus,focus:function(a,b){return typeof a==="number"?this.each(function(){var d=
+this;setTimeout(function(){c(d).focus();b&&b.call(d)},a)}):this._focus.apply(this,arguments)},scrollParent:function(){var a;a=c.browser.msie&&/(static|relative)/.test(this.css("position"))||/absolute/.test(this.css("position"))?this.parents().filter(function(){return/(relative|absolute|fixed)/.test(c.curCSS(this,"position",1))&&/(auto|scroll)/.test(c.curCSS(this,"overflow",1)+c.curCSS(this,"overflow-y",1)+c.curCSS(this,"overflow-x",1))}).eq(0):this.parents().filter(function(){return/(auto|scroll)/.test(c.curCSS(this,
+"overflow",1)+c.curCSS(this,"overflow-y",1)+c.curCSS(this,"overflow-x",1))}).eq(0);return/fixed/.test(this.css("position"))||!a.length?c(document):a},zIndex:function(a){if(a!==j)return this.css("zIndex",a);if(this.length){a=c(this[0]);for(var b;a.length&&a[0]!==document;){b=a.css("position");if(b==="absolute"||b==="relative"||b==="fixed"){b=parseInt(a.css("zIndex"),10);if(!isNaN(b)&&b!==0)return b}a=a.parent()}}return 0},disableSelection:function(){return this.bind((c.support.selectstart?"selectstart":
+"mousedown")+".ui-disableSelection",function(a){a.preventDefault()})},enableSelection:function(){return this.unbind(".ui-disableSelection")}});c.each(["Width","Height"],function(a,b){function d(f,g,m,n){c.each(e,function(){g-=parseFloat(c.curCSS(f,"padding"+this,true))||0;if(m)g-=parseFloat(c.curCSS(f,"border"+this+"Width",true))||0;if(n)g-=parseFloat(c.curCSS(f,"margin"+this,true))||0});return g}var e=b==="Width"?["Left","Right"]:["Top","Bottom"],h=b.toLowerCase(),i={innerWidth:c.fn.innerWidth,innerHeight:c.fn.innerHeight,
+outerWidth:c.fn.outerWidth,outerHeight:c.fn.outerHeight};c.fn["inner"+b]=function(f){if(f===j)return i["inner"+b].call(this);return this.each(function(){c(this).css(h,d(this,f)+"px")})};c.fn["outer"+b]=function(f,g){if(typeof f!=="number")return i["outer"+b].call(this,f);return this.each(function(){c(this).css(h,d(this,f,true,g)+"px")})}});c.extend(c.expr[":"],{data:function(a,b,d){return!!c.data(a,d[3])},focusable:function(a){return k(a,!isNaN(c.attr(a,"tabindex")))},tabbable:function(a){var b=c.attr(a,
+"tabindex"),d=isNaN(b);return(d||b>=0)&&k(a,!d)}});c(function(){var a=document.body,b=a.appendChild(b=document.createElement("div"));c.extend(b.style,{minHeight:"100px",height:"auto",padding:0,borderWidth:0});c.support.minHeight=b.offsetHeight===100;c.support.selectstart="onselectstart"in b;a.removeChild(b).style.display="none"});c.extend(c.ui,{plugin:{add:function(a,b,d){a=c.ui[a].prototype;for(var e in d){a.plugins[e]=a.plugins[e]||[];a.plugins[e].push([b,d[e]])}},call:function(a,b,d){if((b=a.plugins[b])&&
+a.element[0].parentNode)for(var e=0;e<b.length;e++)a.options[b[e][0]]&&b[e][1].apply(a.element,d)}},contains:function(a,b){return document.compareDocumentPosition?a.compareDocumentPosition(b)&16:a!==b&&a.contains(b)},hasScroll:function(a,b){if(c(a).css("overflow")==="hidden")return false;b=b&&b==="left"?"scrollLeft":"scrollTop";var d=false;if(a[b]>0)return true;a[b]=1;d=a[b]>0;a[b]=0;return d},isOverAxis:function(a,b,d){return a>b&&a<b+d},isOver:function(a,b,d,e,h,i){return c.ui.isOverAxis(a,d,h)&&
+c.ui.isOverAxis(b,e,i)}})}})(jQuery);
+;/*!
+ * jQuery UI Widget 1.8.16
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Widget
+ */
+(function(b,j){if(b.cleanData){var k=b.cleanData;b.cleanData=function(a){for(var c=0,d;(d=a[c])!=null;c++)try{b(d).triggerHandler("remove")}catch(e){}k(a)}}else{var l=b.fn.remove;b.fn.remove=function(a,c){return this.each(function(){if(!c)if(!a||b.filter(a,[this]).length)b("*",this).add([this]).each(function(){try{b(this).triggerHandler("remove")}catch(d){}});return l.call(b(this),a,c)})}}b.widget=function(a,c,d){var e=a.split(".")[0],f;a=a.split(".")[1];f=e+"-"+a;if(!d){d=c;c=b.Widget}b.expr[":"][f]=
+function(h){return!!b.data(h,a)};b[e]=b[e]||{};b[e][a]=function(h,g){arguments.length&&this._createWidget(h,g)};c=new c;c.options=b.extend(true,{},c.options);b[e][a].prototype=b.extend(true,c,{namespace:e,widgetName:a,widgetEventPrefix:b[e][a].prototype.widgetEventPrefix||a,widgetBaseClass:f},d);b.widget.bridge(a,b[e][a])};b.widget.bridge=function(a,c){b.fn[a]=function(d){var e=typeof d==="string",f=Array.prototype.slice.call(arguments,1),h=this;d=!e&&f.length?b.extend.apply(null,[true,d].concat(f)):
+d;if(e&&d.charAt(0)==="_")return h;e?this.each(function(){var g=b.data(this,a),i=g&&b.isFunction(g[d])?g[d].apply(g,f):g;if(i!==g&&i!==j){h=i;return false}}):this.each(function(){var g=b.data(this,a);g?g.option(d||{})._init():b.data(this,a,new c(d,this))});return h}};b.Widget=function(a,c){arguments.length&&this._createWidget(a,c)};b.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",options:{disabled:false},_createWidget:function(a,c){b.data(c,this.widgetName,this);this.element=b(c);this.options=
+b.extend(true,{},this.options,this._getCreateOptions(),a);var d=this;this.element.bind("remove."+this.widgetName,function(){d.destroy()});this._create();this._trigger("create");this._init()},_getCreateOptions:function(){return b.metadata&&b.metadata.get(this.element[0])[this.widgetName]},_create:function(){},_init:function(){},destroy:function(){this.element.unbind("."+this.widgetName).removeData(this.widgetName);this.widget().unbind("."+this.widgetName).removeAttr("aria-disabled").removeClass(this.widgetBaseClass+
+"-disabled ui-state-disabled")},widget:function(){return this.element},option:function(a,c){var d=a;if(arguments.length===0)return b.extend({},this.options);if(typeof a==="string"){if(c===j)return this.options[a];d={};d[a]=c}this._setOptions(d);return this},_setOptions:function(a){var c=this;b.each(a,function(d,e){c._setOption(d,e)});return this},_setOption:function(a,c){this.options[a]=c;if(a==="disabled")this.widget()[c?"addClass":"removeClass"](this.widgetBaseClass+"-disabled ui-state-disabled").attr("aria-disabled",
+c);return this},enable:function(){return this._setOption("disabled",false)},disable:function(){return this._setOption("disabled",true)},_trigger:function(a,c,d){var e=this.options[a];c=b.Event(c);c.type=(a===this.widgetEventPrefix?a:this.widgetEventPrefix+a).toLowerCase();d=d||{};if(c.originalEvent){a=b.event.props.length;for(var f;a;){f=b.event.props[--a];c[f]=c.originalEvent[f]}}this.element.trigger(c,d);return!(b.isFunction(e)&&e.call(this.element[0],c,d)===false||c.isDefaultPrevented())}}})(jQuery);
+;/*!
+ * jQuery UI Mouse 1.8.16
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Mouse
+ *
+ * Depends:
+ * jquery.ui.widget.js
+ */
+(function(b){var d=false;b(document).mouseup(function(){d=false});b.widget("ui.mouse",{options:{cancel:":input,option",distance:1,delay:0},_mouseInit:function(){var a=this;this.element.bind("mousedown."+this.widgetName,function(c){return a._mouseDown(c)}).bind("click."+this.widgetName,function(c){if(true===b.data(c.target,a.widgetName+".preventClickEvent")){b.removeData(c.target,a.widgetName+".preventClickEvent");c.stopImmediatePropagation();return false}});this.started=false},_mouseDestroy:function(){this.element.unbind("."+
+this.widgetName)},_mouseDown:function(a){if(!d){this._mouseStarted&&this._mouseUp(a);this._mouseDownEvent=a;var c=this,f=a.which==1,g=typeof this.options.cancel=="string"&&a.target.nodeName?b(a.target).closest(this.options.cancel).length:false;if(!f||g||!this._mouseCapture(a))return true;this.mouseDelayMet=!this.options.delay;if(!this.mouseDelayMet)this._mouseDelayTimer=setTimeout(function(){c.mouseDelayMet=true},this.options.delay);if(this._mouseDistanceMet(a)&&this._mouseDelayMet(a)){this._mouseStarted=
+this._mouseStart(a)!==false;if(!this._mouseStarted){a.preventDefault();return true}}true===b.data(a.target,this.widgetName+".preventClickEvent")&&b.removeData(a.target,this.widgetName+".preventClickEvent");this._mouseMoveDelegate=function(e){return c._mouseMove(e)};this._mouseUpDelegate=function(e){return c._mouseUp(e)};b(document).bind("mousemove."+this.widgetName,this._mouseMoveDelegate).bind("mouseup."+this.widgetName,this._mouseUpDelegate);a.preventDefault();return d=true}},_mouseMove:function(a){if(b.browser.msie&&
+!(document.documentMode>=9)&&!a.button)return this._mouseUp(a);if(this._mouseStarted){this._mouseDrag(a);return a.preventDefault()}if(this._mouseDistanceMet(a)&&this._mouseDelayMet(a))(this._mouseStarted=this._mouseStart(this._mouseDownEvent,a)!==false)?this._mouseDrag(a):this._mouseUp(a);return!this._mouseStarted},_mouseUp:function(a){b(document).unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate);if(this._mouseStarted){this._mouseStarted=
+false;a.target==this._mouseDownEvent.target&&b.data(a.target,this.widgetName+".preventClickEvent",true);this._mouseStop(a)}return false},_mouseDistanceMet:function(a){return Math.max(Math.abs(this._mouseDownEvent.pageX-a.pageX),Math.abs(this._mouseDownEvent.pageY-a.pageY))>=this.options.distance},_mouseDelayMet:function(){return this.mouseDelayMet},_mouseStart:function(){},_mouseDrag:function(){},_mouseStop:function(){},_mouseCapture:function(){return true}})})(jQuery);
+;/*
+ * jQuery UI Slider 1.8.16
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Slider
+ *
+ * Depends:
+ * jquery.ui.core.js
+ * jquery.ui.mouse.js
+ * jquery.ui.widget.js
+ */
+(function(d){d.widget("ui.slider",d.ui.mouse,{widgetEventPrefix:"slide",options:{animate:false,distance:0,max:100,min:0,orientation:"horizontal",range:false,step:1,value:0,values:null},_create:function(){var a=this,b=this.options,c=this.element.find(".ui-slider-handle").addClass("ui-state-default ui-corner-all"),f=b.values&&b.values.length||1,e=[];this._mouseSliding=this._keySliding=false;this._animateOff=true;this._handleIndex=null;this._detectOrientation();this._mouseInit();this.element.addClass("ui-slider ui-slider-"+
+this.orientation+" ui-widget ui-widget-content ui-corner-all"+(b.disabled?" ui-slider-disabled ui-disabled":""));this.range=d([]);if(b.range){if(b.range===true){if(!b.values)b.values=[this._valueMin(),this._valueMin()];if(b.values.length&&b.values.length!==2)b.values=[b.values[0],b.values[0]]}this.range=d("<div></div>").appendTo(this.element).addClass("ui-slider-range ui-widget-header"+(b.range==="min"||b.range==="max"?" ui-slider-range-"+b.range:""))}for(var j=c.length;j<f;j+=1)e.push("<a class='ui-slider-handle ui-state-default ui-corner-all' href='#'></a>");
+this.handles=c.add(d(e.join("")).appendTo(a.element));this.handle=this.handles.eq(0);this.handles.add(this.range).filter("a").click(function(g){g.preventDefault()}).hover(function(){b.disabled||d(this).addClass("ui-state-hover")},function(){d(this).removeClass("ui-state-hover")}).focus(function(){if(b.disabled)d(this).blur();else{d(".ui-slider .ui-state-focus").removeClass("ui-state-focus");d(this).addClass("ui-state-focus")}}).blur(function(){d(this).removeClass("ui-state-focus")});this.handles.each(function(g){d(this).data("index.ui-slider-handle",
+g)});this.handles.keydown(function(g){var k=true,l=d(this).data("index.ui-slider-handle"),i,h,m;if(!a.options.disabled){switch(g.keyCode){case d.ui.keyCode.HOME:case d.ui.keyCode.END:case d.ui.keyCode.PAGE_UP:case d.ui.keyCode.PAGE_DOWN:case d.ui.keyCode.UP:case d.ui.keyCode.RIGHT:case d.ui.keyCode.DOWN:case d.ui.keyCode.LEFT:k=false;if(!a._keySliding){a._keySliding=true;d(this).addClass("ui-state-active");i=a._start(g,l);if(i===false)return}break}m=a.options.step;i=a.options.values&&a.options.values.length?
+(h=a.values(l)):(h=a.value());switch(g.keyCode){case d.ui.keyCode.HOME:h=a._valueMin();break;case d.ui.keyCode.END:h=a._valueMax();break;case d.ui.keyCode.PAGE_UP:h=a._trimAlignValue(i+(a._valueMax()-a._valueMin())/5);break;case d.ui.keyCode.PAGE_DOWN:h=a._trimAlignValue(i-(a._valueMax()-a._valueMin())/5);break;case d.ui.keyCode.UP:case d.ui.keyCode.RIGHT:if(i===a._valueMax())return;h=a._trimAlignValue(i+m);break;case d.ui.keyCode.DOWN:case d.ui.keyCode.LEFT:if(i===a._valueMin())return;h=a._trimAlignValue(i-
+m);break}a._slide(g,l,h);return k}}).keyup(function(g){var k=d(this).data("index.ui-slider-handle");if(a._keySliding){a._keySliding=false;a._stop(g,k);a._change(g,k);d(this).removeClass("ui-state-active")}});this._refreshValue();this._animateOff=false},destroy:function(){this.handles.remove();this.range.remove();this.element.removeClass("ui-slider ui-slider-horizontal ui-slider-vertical ui-slider-disabled ui-widget ui-widget-content ui-corner-all").removeData("slider").unbind(".slider");this._mouseDestroy();
+return this},_mouseCapture:function(a){var b=this.options,c,f,e,j,g;if(b.disabled)return false;this.elementSize={width:this.element.outerWidth(),height:this.element.outerHeight()};this.elementOffset=this.element.offset();c=this._normValueFromMouse({x:a.pageX,y:a.pageY});f=this._valueMax()-this._valueMin()+1;j=this;this.handles.each(function(k){var l=Math.abs(c-j.values(k));if(f>l){f=l;e=d(this);g=k}});if(b.range===true&&this.values(1)===b.min){g+=1;e=d(this.handles[g])}if(this._start(a,g)===false)return false;
+this._mouseSliding=true;j._handleIndex=g;e.addClass("ui-state-active").focus();b=e.offset();this._clickOffset=!d(a.target).parents().andSelf().is(".ui-slider-handle")?{left:0,top:0}:{left:a.pageX-b.left-e.width()/2,top:a.pageY-b.top-e.height()/2-(parseInt(e.css("borderTopWidth"),10)||0)-(parseInt(e.css("borderBottomWidth"),10)||0)+(parseInt(e.css("marginTop"),10)||0)};this.handles.hasClass("ui-state-hover")||this._slide(a,g,c);return this._animateOff=true},_mouseStart:function(){return true},_mouseDrag:function(a){var b=
+this._normValueFromMouse({x:a.pageX,y:a.pageY});this._slide(a,this._handleIndex,b);return false},_mouseStop:function(a){this.handles.removeClass("ui-state-active");this._mouseSliding=false;this._stop(a,this._handleIndex);this._change(a,this._handleIndex);this._clickOffset=this._handleIndex=null;return this._animateOff=false},_detectOrientation:function(){this.orientation=this.options.orientation==="vertical"?"vertical":"horizontal"},_normValueFromMouse:function(a){var b;if(this.orientation==="horizontal"){b=
+this.elementSize.width;a=a.x-this.elementOffset.left-(this._clickOffset?this._clickOffset.left:0)}else{b=this.elementSize.height;a=a.y-this.elementOffset.top-(this._clickOffset?this._clickOffset.top:0)}b=a/b;if(b>1)b=1;if(b<0)b=0;if(this.orientation==="vertical")b=1-b;a=this._valueMax()-this._valueMin();return this._trimAlignValue(this._valueMin()+b*a)},_start:function(a,b){var c={handle:this.handles[b],value:this.value()};if(this.options.values&&this.options.values.length){c.value=this.values(b);
+c.values=this.values()}return this._trigger("start",a,c)},_slide:function(a,b,c){var f;if(this.options.values&&this.options.values.length){f=this.values(b?0:1);if(this.options.values.length===2&&this.options.range===true&&(b===0&&c>f||b===1&&c<f))c=f;if(c!==this.values(b)){f=this.values();f[b]=c;a=this._trigger("slide",a,{handle:this.handles[b],value:c,values:f});this.values(b?0:1);a!==false&&this.values(b,c,true)}}else if(c!==this.value()){a=this._trigger("slide",a,{handle:this.handles[b],value:c});
+a!==false&&this.value(c)}},_stop:function(a,b){var c={handle:this.handles[b],value:this.value()};if(this.options.values&&this.options.values.length){c.value=this.values(b);c.values=this.values()}this._trigger("stop",a,c)},_change:function(a,b){if(!this._keySliding&&!this._mouseSliding){var c={handle:this.handles[b],value:this.value()};if(this.options.values&&this.options.values.length){c.value=this.values(b);c.values=this.values()}this._trigger("change",a,c)}},value:function(a){if(arguments.length){this.options.value=
+this._trimAlignValue(a);this._refreshValue();this._change(null,0)}else return this._value()},values:function(a,b){var c,f,e;if(arguments.length>1){this.options.values[a]=this._trimAlignValue(b);this._refreshValue();this._change(null,a)}else if(arguments.length)if(d.isArray(arguments[0])){c=this.options.values;f=arguments[0];for(e=0;e<c.length;e+=1){c[e]=this._trimAlignValue(f[e]);this._change(null,e)}this._refreshValue()}else return this.options.values&&this.options.values.length?this._values(a):
+this.value();else return this._values()},_setOption:function(a,b){var c,f=0;if(d.isArray(this.options.values))f=this.options.values.length;d.Widget.prototype._setOption.apply(this,arguments);switch(a){case "disabled":if(b){this.handles.filter(".ui-state-focus").blur();this.handles.removeClass("ui-state-hover");this.handles.propAttr("disabled",true);this.element.addClass("ui-disabled")}else{this.handles.propAttr("disabled",false);this.element.removeClass("ui-disabled")}break;case "orientation":this._detectOrientation();
+this.element.removeClass("ui-slider-horizontal ui-slider-vertical").addClass("ui-slider-"+this.orientation);this._refreshValue();break;case "value":this._animateOff=true;this._refreshValue();this._change(null,0);this._animateOff=false;break;case "values":this._animateOff=true;this._refreshValue();for(c=0;c<f;c+=1)this._change(null,c);this._animateOff=false;break}},_value:function(){var a=this.options.value;return a=this._trimAlignValue(a)},_values:function(a){var b,c;if(arguments.length){b=this.options.values[a];
+return b=this._trimAlignValue(b)}else{b=this.options.values.slice();for(c=0;c<b.length;c+=1)b[c]=this._trimAlignValue(b[c]);return b}},_trimAlignValue:function(a){if(a<=this._valueMin())return this._valueMin();if(a>=this._valueMax())return this._valueMax();var b=this.options.step>0?this.options.step:1,c=(a-this._valueMin())%b;a=a-c;if(Math.abs(c)*2>=b)a+=c>0?b:-b;return parseFloat(a.toFixed(5))},_valueMin:function(){return this.options.min},_valueMax:function(){return this.options.max},_refreshValue:function(){var a=
+this.options.range,b=this.options,c=this,f=!this._animateOff?b.animate:false,e,j={},g,k,l,i;if(this.options.values&&this.options.values.length)this.handles.each(function(h){e=(c.values(h)-c._valueMin())/(c._valueMax()-c._valueMin())*100;j[c.orientation==="horizontal"?"left":"bottom"]=e+"%";d(this).stop(1,1)[f?"animate":"css"](j,b.animate);if(c.options.range===true)if(c.orientation==="horizontal"){if(h===0)c.range.stop(1,1)[f?"animate":"css"]({left:e+"%"},b.animate);if(h===1)c.range[f?"animate":"css"]({width:e-
+g+"%"},{queue:false,duration:b.animate})}else{if(h===0)c.range.stop(1,1)[f?"animate":"css"]({bottom:e+"%"},b.animate);if(h===1)c.range[f?"animate":"css"]({height:e-g+"%"},{queue:false,duration:b.animate})}g=e});else{k=this.value();l=this._valueMin();i=this._valueMax();e=i!==l?(k-l)/(i-l)*100:0;j[c.orientation==="horizontal"?"left":"bottom"]=e+"%";this.handle.stop(1,1)[f?"animate":"css"](j,b.animate);if(a==="min"&&this.orientation==="horizontal")this.range.stop(1,1)[f?"animate":"css"]({width:e+"%"},
+b.animate);if(a==="max"&&this.orientation==="horizontal")this.range[f?"animate":"css"]({width:100-e+"%"},{queue:false,duration:b.animate});if(a==="min"&&this.orientation==="vertical")this.range.stop(1,1)[f?"animate":"css"]({height:e+"%"},b.animate);if(a==="max"&&this.orientation==="vertical")this.range[f?"animate":"css"]({height:100-e+"%"},{queue:false,duration:b.animate})}}});d.extend(d.ui.slider,{version:"1.8.16"})})(jQuery);
+; \ No newline at end of file
diff --git a/share/frontend/imgradient/js/main.js b/share/frontend/imgradient/js/main.js
new file mode 100644
index 0000000..1862de3
--- /dev/null
+++ b/share/frontend/imgradient/js/main.js
@@ -0,0 +1,151 @@
+ $(function() {
+ $( "#blur-slider" ).slider({
+ value:0,
+ min: 0,
+ max: 20,
+ step: 1,
+ slide: function( event, ui ) {
+ $( "#img-blur" ).val(ui.value);
+ }
+ });
+ $( "#img-blur" ).val( $( "#blur-slider" ).slider( "value" ) );
+
+ $( "#brightness-slider" ).slider({
+ value:100,
+ min: 0,
+ max: 200,
+ step: 1,
+ slide: function( event, ui ) {
+ $( "#img-brightness" ).val(ui.value);
+ }
+ });
+ $( "#img-brightness" ).val( $( "#brightness-slider" ).slider( "value" ) );
+
+ $( "#hue-slider" ).slider({
+ value:100,
+ min: 0,
+ max: 200,
+ step: 1,
+ slide: function( event, ui ) {
+ $( "#img-hue" ).val(ui.value);
+ }
+ });
+ $( "#img-hue" ).val($( "#hue-slider" ).slider( "value" ) );
+
+ $( "#saturation-slider" ).slider({
+ value:100,
+ min: 0,
+ max: 200,
+ step: 1,
+ slide: function( event, ui ) {
+ $( "#img-saturation" ).val(ui.value);
+ }
+ });
+ $( "#img-saturation" ).val($( "#saturation-slider" ).slider( "value" ) );
+ });
+
+var Main =
+ {
+ API_HEADER: "#@imgradient",
+ enter: function (e)
+ {
+// console.log("calling enter")
+ if (e.keyCode === 13){
+ Main.go()
+ }
+ },
+ go: function ()
+ {
+ $("#output-cmd").html('generating...').show()
+ $("#result").show()
+ var data =
+ {
+ flip: $('#img-flip:checked').val() !== undefined ? "true" : "false",
+ flop: $('#img-flop:checked').val() !== undefined ? "true" : "false",
+ tilt: $('#img-tilt').val(),
+ rotate: $("#img-rotate").val(),
+ subtract: $("#img-subtract").val(),
+ width: $("#img-width").val(),
+ height: $("#img-height").val(),
+ color2: $("#img-color2").val(),
+ color1: $("#img-color1").val(),
+ brightness: $("#img-brightness").val(),
+ saturation: $("#img-saturation").val(),
+ blurriness: $("#img-blur").val(),
+ hue: $("#img-hue").val(),
+ contrast: $("#img-contrast").val(),
+ gradienttype: $('#gradient-type :selected').val(),
+ bevel: $('#bevel-type :selected').val(),
+ percentbeveled: $('#percentbeveled').val(),
+ halftone: $('#halftone-type :selected').val(),
+ stripes: $('#stripes:checked').val() !== undefined ? "true" : "false",
+ stripenumber: $('#stripenumber').val(),
+ stripeintensity: $('#stripeintensity').val(),
+ format: $('#img-format :selected').text(),
+ name: $("#img-name").val(),
+ }
+ if (data.name.length > 0){
+ document.cookie = "imname="+data.name+";path=/;domain=.asdf.us;max-age=1086400"
+ }
+ $.post("/im/api/imgradient", data, Main.callback)
+ $("#controls").css('margin',"")
+ },
+ error: function (s)
+ {
+ $("#output-cmd").html("<span class='error'>ERROR: " + s + "</span>").show()
+ $("#output-url").hide()
+ $("#output-img").hide()
+ },
+ callback: function (data)
+ {
+ if (data.error){
+ return Main.error(data.error)
+ }
+ $("#output-cmd").html("size: "+Main.filesize(data.size)+"<br/>"+data.height + "&nbsp;x&nbsp;" + data.width)
+ $("#output-url").val(data.url)
+ $("#output-img").hide().attr("src", data.url).fadeIn(700)
+ },
+ filesize: function (size)
+ {
+ if (size < 1024)
+ return size + " bytes"
+ if (size < 1024 * 1024)
+ return Math.floor (size/1024) + " KB"
+ else
+ return Math.floor (size/(1024*1024)) + " MB"
+ },
+ cookie: function ()
+ {
+ if (document.cookie)
+ {
+ var cookies = document.cookie.split(";")
+ for (i in cookies)
+ {
+ var cookie = cookies[i].split("=")
+ if (cookie[0].indexOf("imname") !== -1)
+ {
+ if (cookie[1] !== 'false' && cookie[1] !== 'undefined' && cookie[1].length)
+ {
+ return cookie[1]
+ }
+ }
+ }
+ }
+ return ""
+ },
+ init: function ()
+ {
+ var name = Main.cookie ()
+ $("#img-name").val(name)
+ },
+}
+
+$(document).ready(function(){
+ Main.init ()
+ $('form').submit(function() {
+ return false;
+ });
+ $(document).keydown(Main.enter)
+ $("#img-generate").click(Main.go)
+ document.getElementById("reset").reset()
+})
diff --git a/share/frontend/imgrid/athena-2.gif b/share/frontend/imgrid/athena-2.gif
new file mode 100755
index 0000000..b05605c
--- /dev/null
+++ b/share/frontend/imgrid/athena-2.gif
Binary files differ
diff --git a/share/frontend/imgrid/athena.gif b/share/frontend/imgrid/athena.gif
new file mode 100755
index 0000000..19e0d58
--- /dev/null
+++ b/share/frontend/imgrid/athena.gif
Binary files differ
diff --git a/share/frontend/imgrid/blackplant-flashing.gif b/share/frontend/imgrid/blackplant-flashing.gif
new file mode 100755
index 0000000..ebfbdeb
--- /dev/null
+++ b/share/frontend/imgrid/blackplant-flashing.gif
Binary files differ
diff --git a/share/frontend/impattern/patterns/1.png b/share/frontend/impattern/img/patterns/1.png
index 0ff9c9b..0ff9c9b 100644
--- a/share/frontend/impattern/patterns/1.png
+++ b/share/frontend/impattern/img/patterns/1.png
Binary files differ
diff --git a/share/frontend/impattern/patterns/10.png b/share/frontend/impattern/img/patterns/10.png
index 8b7c149..8b7c149 100644
--- a/share/frontend/impattern/patterns/10.png
+++ b/share/frontend/impattern/img/patterns/10.png
Binary files differ
diff --git a/share/frontend/impattern/patterns/11.png b/share/frontend/impattern/img/patterns/11.png
index d83822f..d83822f 100644
--- a/share/frontend/impattern/patterns/11.png
+++ b/share/frontend/impattern/img/patterns/11.png
Binary files differ
diff --git a/share/frontend/impattern/patterns/12.png b/share/frontend/impattern/img/patterns/12.png
index 1a0fbae..1a0fbae 100644
--- a/share/frontend/impattern/patterns/12.png
+++ b/share/frontend/impattern/img/patterns/12.png
Binary files differ
diff --git a/share/frontend/impattern/patterns/13.png b/share/frontend/impattern/img/patterns/13.png
index 162d259..162d259 100644
--- a/share/frontend/impattern/patterns/13.png
+++ b/share/frontend/impattern/img/patterns/13.png
Binary files differ
diff --git a/share/frontend/impattern/patterns/14.png b/share/frontend/impattern/img/patterns/14.png
index 888f852..888f852 100644
--- a/share/frontend/impattern/patterns/14.png
+++ b/share/frontend/impattern/img/patterns/14.png
Binary files differ
diff --git a/share/frontend/impattern/patterns/15.png b/share/frontend/impattern/img/patterns/15.png
index c118abd..c118abd 100644
--- a/share/frontend/impattern/patterns/15.png
+++ b/share/frontend/impattern/img/patterns/15.png
Binary files differ
diff --git a/share/frontend/impattern/patterns/16.png b/share/frontend/impattern/img/patterns/16.png
index 99a8498..99a8498 100644
--- a/share/frontend/impattern/patterns/16.png
+++ b/share/frontend/impattern/img/patterns/16.png
Binary files differ
diff --git a/share/frontend/impattern/patterns/17.png b/share/frontend/impattern/img/patterns/17.png
index 3b2dc1a..3b2dc1a 100644
--- a/share/frontend/impattern/patterns/17.png
+++ b/share/frontend/impattern/img/patterns/17.png
Binary files differ
diff --git a/share/frontend/impattern/patterns/18.png b/share/frontend/impattern/img/patterns/18.png
index 6c88fcc..6c88fcc 100644
--- a/share/frontend/impattern/patterns/18.png
+++ b/share/frontend/impattern/img/patterns/18.png
Binary files differ
diff --git a/share/frontend/impattern/patterns/19.png b/share/frontend/impattern/img/patterns/19.png
index 343d10c..343d10c 100644
--- a/share/frontend/impattern/patterns/19.png
+++ b/share/frontend/impattern/img/patterns/19.png
Binary files differ
diff --git a/share/frontend/impattern/patterns/2.png b/share/frontend/impattern/img/patterns/2.png
index db8b278..db8b278 100644
--- a/share/frontend/impattern/patterns/2.png
+++ b/share/frontend/impattern/img/patterns/2.png
Binary files differ
diff --git a/share/frontend/impattern/patterns/20.png b/share/frontend/impattern/img/patterns/20.png
index b151802..b151802 100644
--- a/share/frontend/impattern/patterns/20.png
+++ b/share/frontend/impattern/img/patterns/20.png
Binary files differ
diff --git a/share/frontend/impattern/patterns/21.png b/share/frontend/impattern/img/patterns/21.png
index a4dd846..a4dd846 100644
--- a/share/frontend/impattern/patterns/21.png
+++ b/share/frontend/impattern/img/patterns/21.png
Binary files differ
diff --git a/share/frontend/impattern/patterns/22.png b/share/frontend/impattern/img/patterns/22.png
index 549a7f3..549a7f3 100644
--- a/share/frontend/impattern/patterns/22.png
+++ b/share/frontend/impattern/img/patterns/22.png
Binary files differ
diff --git a/share/frontend/impattern/patterns/23.png b/share/frontend/impattern/img/patterns/23.png
index 5a3e921..5a3e921 100644
--- a/share/frontend/impattern/patterns/23.png
+++ b/share/frontend/impattern/img/patterns/23.png
Binary files differ
diff --git a/share/frontend/impattern/patterns/24.png b/share/frontend/impattern/img/patterns/24.png
index d1786f4..d1786f4 100644
--- a/share/frontend/impattern/patterns/24.png
+++ b/share/frontend/impattern/img/patterns/24.png
Binary files differ
diff --git a/share/frontend/impattern/patterns/25.png b/share/frontend/impattern/img/patterns/25.png
index 9916934..9916934 100644
--- a/share/frontend/impattern/patterns/25.png
+++ b/share/frontend/impattern/img/patterns/25.png
Binary files differ
diff --git a/share/frontend/impattern/patterns/26.png b/share/frontend/impattern/img/patterns/26.png
index b24b4ad..b24b4ad 100644
--- a/share/frontend/impattern/patterns/26.png
+++ b/share/frontend/impattern/img/patterns/26.png
Binary files differ
diff --git a/share/frontend/impattern/patterns/27.png b/share/frontend/impattern/img/patterns/27.png
index b06d0ff..b06d0ff 100644
--- a/share/frontend/impattern/patterns/27.png
+++ b/share/frontend/impattern/img/patterns/27.png
Binary files differ
diff --git a/share/frontend/impattern/patterns/28.png b/share/frontend/impattern/img/patterns/28.png
index e3cdf2c..e3cdf2c 100644
--- a/share/frontend/impattern/patterns/28.png
+++ b/share/frontend/impattern/img/patterns/28.png
Binary files differ
diff --git a/share/frontend/impattern/patterns/29.png b/share/frontend/impattern/img/patterns/29.png
index 04adbdb..04adbdb 100644
--- a/share/frontend/impattern/patterns/29.png
+++ b/share/frontend/impattern/img/patterns/29.png
Binary files differ
diff --git a/share/frontend/impattern/patterns/3.png b/share/frontend/impattern/img/patterns/3.png
index e5a8bfc..e5a8bfc 100644
--- a/share/frontend/impattern/patterns/3.png
+++ b/share/frontend/impattern/img/patterns/3.png
Binary files differ
diff --git a/share/frontend/impattern/patterns/30.png b/share/frontend/impattern/img/patterns/30.png
index 963dec8..963dec8 100644
--- a/share/frontend/impattern/patterns/30.png
+++ b/share/frontend/impattern/img/patterns/30.png
Binary files differ
diff --git a/share/frontend/impattern/patterns/31.png b/share/frontend/impattern/img/patterns/31.png
index ca882f1..ca882f1 100644
--- a/share/frontend/impattern/patterns/31.png
+++ b/share/frontend/impattern/img/patterns/31.png
Binary files differ
diff --git a/share/frontend/impattern/patterns/32.png b/share/frontend/impattern/img/patterns/32.png
index 16613b9..16613b9 100644
--- a/share/frontend/impattern/patterns/32.png
+++ b/share/frontend/impattern/img/patterns/32.png
Binary files differ
diff --git a/share/frontend/impattern/patterns/33.png b/share/frontend/impattern/img/patterns/33.png
index 0f9407e..0f9407e 100644
--- a/share/frontend/impattern/patterns/33.png
+++ b/share/frontend/impattern/img/patterns/33.png
Binary files differ
diff --git a/share/frontend/impattern/patterns/34.png b/share/frontend/impattern/img/patterns/34.png
index f74cfde..f74cfde 100644
--- a/share/frontend/impattern/patterns/34.png
+++ b/share/frontend/impattern/img/patterns/34.png
Binary files differ
diff --git a/share/frontend/impattern/patterns/35.png b/share/frontend/impattern/img/patterns/35.png
index 863e55e..863e55e 100644
--- a/share/frontend/impattern/patterns/35.png
+++ b/share/frontend/impattern/img/patterns/35.png
Binary files differ
diff --git a/share/frontend/impattern/patterns/36.png b/share/frontend/impattern/img/patterns/36.png
index 90ae4fd..90ae4fd 100644
--- a/share/frontend/impattern/patterns/36.png
+++ b/share/frontend/impattern/img/patterns/36.png
Binary files differ
diff --git a/share/frontend/impattern/patterns/37.png b/share/frontend/impattern/img/patterns/37.png
index b89436a..b89436a 100644
--- a/share/frontend/impattern/patterns/37.png
+++ b/share/frontend/impattern/img/patterns/37.png
Binary files differ
diff --git a/share/frontend/impattern/patterns/38.png b/share/frontend/impattern/img/patterns/38.png
index 4ac8558..4ac8558 100644
--- a/share/frontend/impattern/patterns/38.png
+++ b/share/frontend/impattern/img/patterns/38.png
Binary files differ
diff --git a/share/frontend/impattern/patterns/39.png b/share/frontend/impattern/img/patterns/39.png
index d05f50d..d05f50d 100644
--- a/share/frontend/impattern/patterns/39.png
+++ b/share/frontend/impattern/img/patterns/39.png
Binary files differ
diff --git a/share/frontend/impattern/patterns/4.png b/share/frontend/impattern/img/patterns/4.png
index a89724c..a89724c 100644
--- a/share/frontend/impattern/patterns/4.png
+++ b/share/frontend/impattern/img/patterns/4.png
Binary files differ
diff --git a/share/frontend/impattern/patterns/40.png b/share/frontend/impattern/img/patterns/40.png
index 58d9757..58d9757 100644
--- a/share/frontend/impattern/patterns/40.png
+++ b/share/frontend/impattern/img/patterns/40.png
Binary files differ
diff --git a/share/frontend/impattern/patterns/41.png b/share/frontend/impattern/img/patterns/41.png
index 84c5723..84c5723 100644
--- a/share/frontend/impattern/patterns/41.png
+++ b/share/frontend/impattern/img/patterns/41.png
Binary files differ
diff --git a/share/frontend/impattern/patterns/42.png b/share/frontend/impattern/img/patterns/42.png
index d633b3f..d633b3f 100644
--- a/share/frontend/impattern/patterns/42.png
+++ b/share/frontend/impattern/img/patterns/42.png
Binary files differ
diff --git a/share/frontend/impattern/patterns/43.png b/share/frontend/impattern/img/patterns/43.png
index a515475..a515475 100644
--- a/share/frontend/impattern/patterns/43.png
+++ b/share/frontend/impattern/img/patterns/43.png
Binary files differ
diff --git a/share/frontend/impattern/patterns/44.png b/share/frontend/impattern/img/patterns/44.png
index de7cb2b..de7cb2b 100644
--- a/share/frontend/impattern/patterns/44.png
+++ b/share/frontend/impattern/img/patterns/44.png
Binary files differ
diff --git a/share/frontend/impattern/patterns/45.png b/share/frontend/impattern/img/patterns/45.png
index 794c466..794c466 100644
--- a/share/frontend/impattern/patterns/45.png
+++ b/share/frontend/impattern/img/patterns/45.png
Binary files differ
diff --git a/share/frontend/impattern/patterns/46.png b/share/frontend/impattern/img/patterns/46.png
index 79e6720..79e6720 100644
--- a/share/frontend/impattern/patterns/46.png
+++ b/share/frontend/impattern/img/patterns/46.png
Binary files differ
diff --git a/share/frontend/impattern/patterns/47.png b/share/frontend/impattern/img/patterns/47.png
index 553201d..553201d 100644
--- a/share/frontend/impattern/patterns/47.png
+++ b/share/frontend/impattern/img/patterns/47.png
Binary files differ
diff --git a/share/frontend/impattern/patterns/48.png b/share/frontend/impattern/img/patterns/48.png
index 36e284e..36e284e 100644
--- a/share/frontend/impattern/patterns/48.png
+++ b/share/frontend/impattern/img/patterns/48.png
Binary files differ
diff --git a/share/frontend/impattern/patterns/49.png b/share/frontend/impattern/img/patterns/49.png
index fd30432..fd30432 100644
--- a/share/frontend/impattern/patterns/49.png
+++ b/share/frontend/impattern/img/patterns/49.png
Binary files differ
diff --git a/share/frontend/impattern/patterns/5.png b/share/frontend/impattern/img/patterns/5.png
index cebb2e1..cebb2e1 100644
--- a/share/frontend/impattern/patterns/5.png
+++ b/share/frontend/impattern/img/patterns/5.png
Binary files differ
diff --git a/share/frontend/impattern/patterns/50.png b/share/frontend/impattern/img/patterns/50.png
index bc884e8..bc884e8 100644
--- a/share/frontend/impattern/patterns/50.png
+++ b/share/frontend/impattern/img/patterns/50.png
Binary files differ
diff --git a/share/frontend/impattern/patterns/51.png b/share/frontend/impattern/img/patterns/51.png
index 6a2c0fa..6a2c0fa 100644
--- a/share/frontend/impattern/patterns/51.png
+++ b/share/frontend/impattern/img/patterns/51.png
Binary files differ
diff --git a/share/frontend/impattern/patterns/52.png b/share/frontend/impattern/img/patterns/52.png
index 3af3ed9..3af3ed9 100644
--- a/share/frontend/impattern/patterns/52.png
+++ b/share/frontend/impattern/img/patterns/52.png
Binary files differ
diff --git a/share/frontend/impattern/patterns/53.png b/share/frontend/impattern/img/patterns/53.png
index bf84248..bf84248 100644
--- a/share/frontend/impattern/patterns/53.png
+++ b/share/frontend/impattern/img/patterns/53.png
Binary files differ
diff --git a/share/frontend/impattern/patterns/54.png b/share/frontend/impattern/img/patterns/54.png
index 8a2229f..8a2229f 100644
--- a/share/frontend/impattern/patterns/54.png
+++ b/share/frontend/impattern/img/patterns/54.png
Binary files differ
diff --git a/share/frontend/impattern/patterns/55.png b/share/frontend/impattern/img/patterns/55.png
index 3d88454..3d88454 100644
--- a/share/frontend/impattern/patterns/55.png
+++ b/share/frontend/impattern/img/patterns/55.png
Binary files differ
diff --git a/share/frontend/impattern/patterns/56.png b/share/frontend/impattern/img/patterns/56.png
index fefbe1e..fefbe1e 100644
--- a/share/frontend/impattern/patterns/56.png
+++ b/share/frontend/impattern/img/patterns/56.png
Binary files differ
diff --git a/share/frontend/impattern/patterns/57.png b/share/frontend/impattern/img/patterns/57.png
index f6f5dd8..f6f5dd8 100644
--- a/share/frontend/impattern/patterns/57.png
+++ b/share/frontend/impattern/img/patterns/57.png
Binary files differ
diff --git a/share/frontend/impattern/patterns/58.png b/share/frontend/impattern/img/patterns/58.png
index 9816629..9816629 100644
--- a/share/frontend/impattern/patterns/58.png
+++ b/share/frontend/impattern/img/patterns/58.png
Binary files differ
diff --git a/share/frontend/impattern/patterns/59.png b/share/frontend/impattern/img/patterns/59.png
index ea4be4a..ea4be4a 100644
--- a/share/frontend/impattern/patterns/59.png
+++ b/share/frontend/impattern/img/patterns/59.png
Binary files differ
diff --git a/share/frontend/impattern/patterns/6.png b/share/frontend/impattern/img/patterns/6.png
index fe8bbdf..fe8bbdf 100644
--- a/share/frontend/impattern/patterns/6.png
+++ b/share/frontend/impattern/img/patterns/6.png
Binary files differ
diff --git a/share/frontend/impattern/patterns/60.png b/share/frontend/impattern/img/patterns/60.png
index 0144486..0144486 100644
--- a/share/frontend/impattern/patterns/60.png
+++ b/share/frontend/impattern/img/patterns/60.png
Binary files differ
diff --git a/share/frontend/impattern/patterns/61.png b/share/frontend/impattern/img/patterns/61.png
index 49795ba..49795ba 100644
--- a/share/frontend/impattern/patterns/61.png
+++ b/share/frontend/impattern/img/patterns/61.png
Binary files differ
diff --git a/share/frontend/impattern/patterns/62.png b/share/frontend/impattern/img/patterns/62.png
index bdee3df..bdee3df 100644
--- a/share/frontend/impattern/patterns/62.png
+++ b/share/frontend/impattern/img/patterns/62.png
Binary files differ
diff --git a/share/frontend/impattern/patterns/63.png b/share/frontend/impattern/img/patterns/63.png
index 27b42bd..27b42bd 100644
--- a/share/frontend/impattern/patterns/63.png
+++ b/share/frontend/impattern/img/patterns/63.png
Binary files differ
diff --git a/share/frontend/impattern/patterns/64.png b/share/frontend/impattern/img/patterns/64.png
index 8424055..8424055 100644
--- a/share/frontend/impattern/patterns/64.png
+++ b/share/frontend/impattern/img/patterns/64.png
Binary files differ
diff --git a/share/frontend/impattern/patterns/65.png b/share/frontend/impattern/img/patterns/65.png
index fec3e1a..fec3e1a 100644
--- a/share/frontend/impattern/patterns/65.png
+++ b/share/frontend/impattern/img/patterns/65.png
Binary files differ
diff --git a/share/frontend/impattern/patterns/66.png b/share/frontend/impattern/img/patterns/66.png
index 612e95d..612e95d 100644
--- a/share/frontend/impattern/patterns/66.png
+++ b/share/frontend/impattern/img/patterns/66.png
Binary files differ
diff --git a/share/frontend/impattern/patterns/67.png b/share/frontend/impattern/img/patterns/67.png
index f419c07..f419c07 100644
--- a/share/frontend/impattern/patterns/67.png
+++ b/share/frontend/impattern/img/patterns/67.png
Binary files differ
diff --git a/share/frontend/impattern/patterns/68.png b/share/frontend/impattern/img/patterns/68.png
index 7341240..7341240 100644
--- a/share/frontend/impattern/patterns/68.png
+++ b/share/frontend/impattern/img/patterns/68.png
Binary files differ
diff --git a/share/frontend/impattern/patterns/69.png b/share/frontend/impattern/img/patterns/69.png
index 0a45292..0a45292 100644
--- a/share/frontend/impattern/patterns/69.png
+++ b/share/frontend/impattern/img/patterns/69.png
Binary files differ
diff --git a/share/frontend/impattern/patterns/7.png b/share/frontend/impattern/img/patterns/7.png
index f841ca6..f841ca6 100644
--- a/share/frontend/impattern/patterns/7.png
+++ b/share/frontend/impattern/img/patterns/7.png
Binary files differ
diff --git a/share/frontend/impattern/patterns/70.png b/share/frontend/impattern/img/patterns/70.png
index 8480de3..8480de3 100644
--- a/share/frontend/impattern/patterns/70.png
+++ b/share/frontend/impattern/img/patterns/70.png
Binary files differ
diff --git a/share/frontend/impattern/patterns/71.png b/share/frontend/impattern/img/patterns/71.png
index 7ca4d72..7ca4d72 100644
--- a/share/frontend/impattern/patterns/71.png
+++ b/share/frontend/impattern/img/patterns/71.png
Binary files differ
diff --git a/share/frontend/impattern/patterns/72.png b/share/frontend/impattern/img/patterns/72.png
index 1a3da86..1a3da86 100644
--- a/share/frontend/impattern/patterns/72.png
+++ b/share/frontend/impattern/img/patterns/72.png
Binary files differ
diff --git a/share/frontend/impattern/patterns/73.png b/share/frontend/impattern/img/patterns/73.png
index 52c5334..52c5334 100644
--- a/share/frontend/impattern/patterns/73.png
+++ b/share/frontend/impattern/img/patterns/73.png
Binary files differ
diff --git a/share/frontend/impattern/patterns/74.png b/share/frontend/impattern/img/patterns/74.png
index 4e3c915..4e3c915 100644
--- a/share/frontend/impattern/patterns/74.png
+++ b/share/frontend/impattern/img/patterns/74.png
Binary files differ
diff --git a/share/frontend/impattern/patterns/75.png b/share/frontend/impattern/img/patterns/75.png
index 094dd47..094dd47 100644
--- a/share/frontend/impattern/patterns/75.png
+++ b/share/frontend/impattern/img/patterns/75.png
Binary files differ
diff --git a/share/frontend/impattern/patterns/76.png b/share/frontend/impattern/img/patterns/76.png
index dd10449..dd10449 100644
--- a/share/frontend/impattern/patterns/76.png
+++ b/share/frontend/impattern/img/patterns/76.png
Binary files differ
diff --git a/share/frontend/impattern/patterns/77.png b/share/frontend/impattern/img/patterns/77.png
index 73c8b00..73c8b00 100644
--- a/share/frontend/impattern/patterns/77.png
+++ b/share/frontend/impattern/img/patterns/77.png
Binary files differ
diff --git a/share/frontend/impattern/patterns/78.png b/share/frontend/impattern/img/patterns/78.png
index ba1d28a..ba1d28a 100644
--- a/share/frontend/impattern/patterns/78.png
+++ b/share/frontend/impattern/img/patterns/78.png
Binary files differ
diff --git a/share/frontend/impattern/patterns/79.png b/share/frontend/impattern/img/patterns/79.png
index 22de399..22de399 100644
--- a/share/frontend/impattern/patterns/79.png
+++ b/share/frontend/impattern/img/patterns/79.png
Binary files differ
diff --git a/share/frontend/impattern/patterns/8.png b/share/frontend/impattern/img/patterns/8.png
index 4941c17..4941c17 100644
--- a/share/frontend/impattern/patterns/8.png
+++ b/share/frontend/impattern/img/patterns/8.png
Binary files differ
diff --git a/share/frontend/impattern/patterns/80.png b/share/frontend/impattern/img/patterns/80.png
index 5b6c87a..5b6c87a 100644
--- a/share/frontend/impattern/patterns/80.png
+++ b/share/frontend/impattern/img/patterns/80.png
Binary files differ
diff --git a/share/frontend/impattern/patterns/81.png b/share/frontend/impattern/img/patterns/81.png
index 26fa933..26fa933 100644
--- a/share/frontend/impattern/patterns/81.png
+++ b/share/frontend/impattern/img/patterns/81.png
Binary files differ
diff --git a/share/frontend/impattern/patterns/82.png b/share/frontend/impattern/img/patterns/82.png
index 2bfcc05..2bfcc05 100644
--- a/share/frontend/impattern/patterns/82.png
+++ b/share/frontend/impattern/img/patterns/82.png
Binary files differ
diff --git a/share/frontend/impattern/patterns/83.png b/share/frontend/impattern/img/patterns/83.png
index 7cf3918..7cf3918 100644
--- a/share/frontend/impattern/patterns/83.png
+++ b/share/frontend/impattern/img/patterns/83.png
Binary files differ
diff --git a/share/frontend/impattern/patterns/84.png b/share/frontend/impattern/img/patterns/84.png
index 5d8e74d..5d8e74d 100644
--- a/share/frontend/impattern/patterns/84.png
+++ b/share/frontend/impattern/img/patterns/84.png
Binary files differ
diff --git a/share/frontend/impattern/patterns/85.png b/share/frontend/impattern/img/patterns/85.png
index be68806..be68806 100644
--- a/share/frontend/impattern/patterns/85.png
+++ b/share/frontend/impattern/img/patterns/85.png
Binary files differ
diff --git a/share/frontend/impattern/patterns/86.png b/share/frontend/impattern/img/patterns/86.png
index d039020..d039020 100644
--- a/share/frontend/impattern/patterns/86.png
+++ b/share/frontend/impattern/img/patterns/86.png
Binary files differ
diff --git a/share/frontend/impattern/patterns/87.png b/share/frontend/impattern/img/patterns/87.png
index ddc2689..ddc2689 100644
--- a/share/frontend/impattern/patterns/87.png
+++ b/share/frontend/impattern/img/patterns/87.png
Binary files differ
diff --git a/share/frontend/impattern/patterns/88.png b/share/frontend/impattern/img/patterns/88.png
index 929c103..929c103 100644
--- a/share/frontend/impattern/patterns/88.png
+++ b/share/frontend/impattern/img/patterns/88.png
Binary files differ
diff --git a/share/frontend/impattern/patterns/89.png b/share/frontend/impattern/img/patterns/89.png
index 4ff3225..4ff3225 100644
--- a/share/frontend/impattern/patterns/89.png
+++ b/share/frontend/impattern/img/patterns/89.png
Binary files differ
diff --git a/share/frontend/impattern/patterns/9.png b/share/frontend/impattern/img/patterns/9.png
index 7910721..7910721 100644
--- a/share/frontend/impattern/patterns/9.png
+++ b/share/frontend/impattern/img/patterns/9.png
Binary files differ
diff --git a/share/frontend/impattern/patterns/90.png b/share/frontend/impattern/img/patterns/90.png
index 04259e9..04259e9 100644
--- a/share/frontend/impattern/patterns/90.png
+++ b/share/frontend/impattern/img/patterns/90.png
Binary files differ
diff --git a/share/frontend/impattern/patterns/91.png b/share/frontend/impattern/img/patterns/91.png
index 039af04..039af04 100644
--- a/share/frontend/impattern/patterns/91.png
+++ b/share/frontend/impattern/img/patterns/91.png
Binary files differ
diff --git a/share/frontend/impattern/patterns/92.png b/share/frontend/impattern/img/patterns/92.png
index 7a4d348..7a4d348 100644
--- a/share/frontend/impattern/patterns/92.png
+++ b/share/frontend/impattern/img/patterns/92.png
Binary files differ
diff --git a/share/frontend/impattern/patterns/93.png b/share/frontend/impattern/img/patterns/93.png
index 511fee3..511fee3 100644
--- a/share/frontend/impattern/patterns/93.png
+++ b/share/frontend/impattern/img/patterns/93.png
Binary files differ
diff --git a/share/frontend/impattern/patterns/94.png b/share/frontend/impattern/img/patterns/94.png
index 449c73a..449c73a 100644
--- a/share/frontend/impattern/patterns/94.png
+++ b/share/frontend/impattern/img/patterns/94.png
Binary files differ
diff --git a/share/frontend/impattern/patterns/95.png b/share/frontend/impattern/img/patterns/95.png
index 70548f8..70548f8 100644
--- a/share/frontend/impattern/patterns/95.png
+++ b/share/frontend/impattern/img/patterns/95.png
Binary files differ
diff --git a/share/frontend/impattern/patterns/96.png b/share/frontend/impattern/img/patterns/96.png
index 0de8efe..0de8efe 100644
--- a/share/frontend/impattern/patterns/96.png
+++ b/share/frontend/impattern/img/patterns/96.png
Binary files differ
diff --git a/share/frontend/impattern/patterns/a0.png b/share/frontend/impattern/img/patterns/a0.png
index 9606e48..9606e48 100644
--- a/share/frontend/impattern/patterns/a0.png
+++ b/share/frontend/impattern/img/patterns/a0.png
Binary files differ
diff --git a/share/frontend/impattern/patterns/a1.png b/share/frontend/impattern/img/patterns/a1.png
index 2dd534d..2dd534d 100644
--- a/share/frontend/impattern/patterns/a1.png
+++ b/share/frontend/impattern/img/patterns/a1.png
Binary files differ
diff --git a/share/frontend/impattern/patterns/a10.png b/share/frontend/impattern/img/patterns/a10.png
index e950ad0..e950ad0 100644
--- a/share/frontend/impattern/patterns/a10.png
+++ b/share/frontend/impattern/img/patterns/a10.png
Binary files differ
diff --git a/share/frontend/impattern/patterns/a11.png b/share/frontend/impattern/img/patterns/a11.png
index 9c52699..9c52699 100644
--- a/share/frontend/impattern/patterns/a11.png
+++ b/share/frontend/impattern/img/patterns/a11.png
Binary files differ
diff --git a/share/frontend/impattern/patterns/a12.png b/share/frontend/impattern/img/patterns/a12.png
index 3b80e68..3b80e68 100644
--- a/share/frontend/impattern/patterns/a12.png
+++ b/share/frontend/impattern/img/patterns/a12.png
Binary files differ
diff --git a/share/frontend/impattern/patterns/a13.png b/share/frontend/impattern/img/patterns/a13.png
index 094cb6f..094cb6f 100644
--- a/share/frontend/impattern/patterns/a13.png
+++ b/share/frontend/impattern/img/patterns/a13.png
Binary files differ
diff --git a/share/frontend/impattern/patterns/a14.png b/share/frontend/impattern/img/patterns/a14.png
index d3046c5..d3046c5 100644
--- a/share/frontend/impattern/patterns/a14.png
+++ b/share/frontend/impattern/img/patterns/a14.png
Binary files differ
diff --git a/share/frontend/impattern/patterns/a15.png b/share/frontend/impattern/img/patterns/a15.png
index 3096a81..3096a81 100644
--- a/share/frontend/impattern/patterns/a15.png
+++ b/share/frontend/impattern/img/patterns/a15.png
Binary files differ
diff --git a/share/frontend/impattern/patterns/a16.png b/share/frontend/impattern/img/patterns/a16.png
index bb6affb..bb6affb 100644
--- a/share/frontend/impattern/patterns/a16.png
+++ b/share/frontend/impattern/img/patterns/a16.png
Binary files differ
diff --git a/share/frontend/impattern/patterns/a17.png b/share/frontend/impattern/img/patterns/a17.png
index 2c259e6..2c259e6 100644
--- a/share/frontend/impattern/patterns/a17.png
+++ b/share/frontend/impattern/img/patterns/a17.png
Binary files differ
diff --git a/share/frontend/impattern/patterns/a18.png b/share/frontend/impattern/img/patterns/a18.png
index 301d419..301d419 100644
--- a/share/frontend/impattern/patterns/a18.png
+++ b/share/frontend/impattern/img/patterns/a18.png
Binary files differ
diff --git a/share/frontend/impattern/patterns/a19.png b/share/frontend/impattern/img/patterns/a19.png
index 431345f..431345f 100644
--- a/share/frontend/impattern/patterns/a19.png
+++ b/share/frontend/impattern/img/patterns/a19.png
Binary files differ
diff --git a/share/frontend/impattern/patterns/a2.png b/share/frontend/impattern/img/patterns/a2.png
index 5c26a6e..5c26a6e 100644
--- a/share/frontend/impattern/patterns/a2.png
+++ b/share/frontend/impattern/img/patterns/a2.png
Binary files differ
diff --git a/share/frontend/impattern/patterns/a20.png b/share/frontend/impattern/img/patterns/a20.png
index 5cc7f26..5cc7f26 100644
--- a/share/frontend/impattern/patterns/a20.png
+++ b/share/frontend/impattern/img/patterns/a20.png
Binary files differ
diff --git a/share/frontend/impattern/patterns/a21.png b/share/frontend/impattern/img/patterns/a21.png
index 8980947..8980947 100644
--- a/share/frontend/impattern/patterns/a21.png
+++ b/share/frontend/impattern/img/patterns/a21.png
Binary files differ
diff --git a/share/frontend/impattern/patterns/a22.png b/share/frontend/impattern/img/patterns/a22.png
index cafcace..cafcace 100644
--- a/share/frontend/impattern/patterns/a22.png
+++ b/share/frontend/impattern/img/patterns/a22.png
Binary files differ
diff --git a/share/frontend/impattern/patterns/a23.png b/share/frontend/impattern/img/patterns/a23.png
index 5fdf851..5fdf851 100644
--- a/share/frontend/impattern/patterns/a23.png
+++ b/share/frontend/impattern/img/patterns/a23.png
Binary files differ
diff --git a/share/frontend/impattern/patterns/a24.png b/share/frontend/impattern/img/patterns/a24.png
index 64c9e02..64c9e02 100644
--- a/share/frontend/impattern/patterns/a24.png
+++ b/share/frontend/impattern/img/patterns/a24.png
Binary files differ
diff --git a/share/frontend/impattern/patterns/a25.png b/share/frontend/impattern/img/patterns/a25.png
index bab6cd6..bab6cd6 100644
--- a/share/frontend/impattern/patterns/a25.png
+++ b/share/frontend/impattern/img/patterns/a25.png
Binary files differ
diff --git a/share/frontend/impattern/patterns/a26.png b/share/frontend/impattern/img/patterns/a26.png
index fb32ff0..fb32ff0 100644
--- a/share/frontend/impattern/patterns/a26.png
+++ b/share/frontend/impattern/img/patterns/a26.png
Binary files differ
diff --git a/share/frontend/impattern/patterns/a27.png b/share/frontend/impattern/img/patterns/a27.png
index d0a8821..d0a8821 100644
--- a/share/frontend/impattern/patterns/a27.png
+++ b/share/frontend/impattern/img/patterns/a27.png
Binary files differ
diff --git a/share/frontend/impattern/patterns/a28.png b/share/frontend/impattern/img/patterns/a28.png
index 220a847..220a847 100644
--- a/share/frontend/impattern/patterns/a28.png
+++ b/share/frontend/impattern/img/patterns/a28.png
Binary files differ
diff --git a/share/frontend/impattern/patterns/a29.png b/share/frontend/impattern/img/patterns/a29.png
index dc36d31..dc36d31 100644
--- a/share/frontend/impattern/patterns/a29.png
+++ b/share/frontend/impattern/img/patterns/a29.png
Binary files differ
diff --git a/share/frontend/impattern/patterns/a3.png b/share/frontend/impattern/img/patterns/a3.png
index dd045ec..dd045ec 100644
--- a/share/frontend/impattern/patterns/a3.png
+++ b/share/frontend/impattern/img/patterns/a3.png
Binary files differ
diff --git a/share/frontend/impattern/patterns/a30.png b/share/frontend/impattern/img/patterns/a30.png
index f7ea372..f7ea372 100644
--- a/share/frontend/impattern/patterns/a30.png
+++ b/share/frontend/impattern/img/patterns/a30.png
Binary files differ
diff --git a/share/frontend/impattern/patterns/a31.png b/share/frontend/impattern/img/patterns/a31.png
index e04391a..e04391a 100644
--- a/share/frontend/impattern/patterns/a31.png
+++ b/share/frontend/impattern/img/patterns/a31.png
Binary files differ
diff --git a/share/frontend/impattern/patterns/a32.png b/share/frontend/impattern/img/patterns/a32.png
index 022b3fc..022b3fc 100644
--- a/share/frontend/impattern/patterns/a32.png
+++ b/share/frontend/impattern/img/patterns/a32.png
Binary files differ
diff --git a/share/frontend/impattern/patterns/a33.png b/share/frontend/impattern/img/patterns/a33.png
index 200c2d6..200c2d6 100644
--- a/share/frontend/impattern/patterns/a33.png
+++ b/share/frontend/impattern/img/patterns/a33.png
Binary files differ
diff --git a/share/frontend/impattern/patterns/a34.png b/share/frontend/impattern/img/patterns/a34.png
index e5d0ddb..e5d0ddb 100644
--- a/share/frontend/impattern/patterns/a34.png
+++ b/share/frontend/impattern/img/patterns/a34.png
Binary files differ
diff --git a/share/frontend/impattern/patterns/a35.png b/share/frontend/impattern/img/patterns/a35.png
index e334627..e334627 100644
--- a/share/frontend/impattern/patterns/a35.png
+++ b/share/frontend/impattern/img/patterns/a35.png
Binary files differ
diff --git a/share/frontend/impattern/patterns/a36.png b/share/frontend/impattern/img/patterns/a36.png
index b7e8233..b7e8233 100644
--- a/share/frontend/impattern/patterns/a36.png
+++ b/share/frontend/impattern/img/patterns/a36.png
Binary files differ
diff --git a/share/frontend/impattern/patterns/a37.png b/share/frontend/impattern/img/patterns/a37.png
index da715d2..da715d2 100644
--- a/share/frontend/impattern/patterns/a37.png
+++ b/share/frontend/impattern/img/patterns/a37.png
Binary files differ
diff --git a/share/frontend/impattern/patterns/a38.png b/share/frontend/impattern/img/patterns/a38.png
index da1ca80..da1ca80 100644
--- a/share/frontend/impattern/patterns/a38.png
+++ b/share/frontend/impattern/img/patterns/a38.png
Binary files differ
diff --git a/share/frontend/impattern/patterns/a39.png b/share/frontend/impattern/img/patterns/a39.png
index efb59a3..efb59a3 100644
--- a/share/frontend/impattern/patterns/a39.png
+++ b/share/frontend/impattern/img/patterns/a39.png
Binary files differ
diff --git a/share/frontend/impattern/patterns/a4.png b/share/frontend/impattern/img/patterns/a4.png
index f9b0f25..f9b0f25 100644
--- a/share/frontend/impattern/patterns/a4.png
+++ b/share/frontend/impattern/img/patterns/a4.png
Binary files differ
diff --git a/share/frontend/impattern/patterns/a40.png b/share/frontend/impattern/img/patterns/a40.png
index 8923c32..8923c32 100644
--- a/share/frontend/impattern/patterns/a40.png
+++ b/share/frontend/impattern/img/patterns/a40.png
Binary files differ
diff --git a/share/frontend/impattern/patterns/a41.png b/share/frontend/impattern/img/patterns/a41.png
index 953e5ca..953e5ca 100644
--- a/share/frontend/impattern/patterns/a41.png
+++ b/share/frontend/impattern/img/patterns/a41.png
Binary files differ
diff --git a/share/frontend/impattern/patterns/a5.png b/share/frontend/impattern/img/patterns/a5.png
index 293f3c0..293f3c0 100644
--- a/share/frontend/impattern/patterns/a5.png
+++ b/share/frontend/impattern/img/patterns/a5.png
Binary files differ
diff --git a/share/frontend/impattern/patterns/a6.png b/share/frontend/impattern/img/patterns/a6.png
index 7cd9ec7..7cd9ec7 100644
--- a/share/frontend/impattern/patterns/a6.png
+++ b/share/frontend/impattern/img/patterns/a6.png
Binary files differ
diff --git a/share/frontend/impattern/patterns/a7.png b/share/frontend/impattern/img/patterns/a7.png
index c3d9c40..c3d9c40 100644
--- a/share/frontend/impattern/patterns/a7.png
+++ b/share/frontend/impattern/img/patterns/a7.png
Binary files differ
diff --git a/share/frontend/impattern/patterns/a8.png b/share/frontend/impattern/img/patterns/a8.png
index 7c65020..7c65020 100644
--- a/share/frontend/impattern/patterns/a8.png
+++ b/share/frontend/impattern/img/patterns/a8.png
Binary files differ
diff --git a/share/frontend/impattern/patterns/a9.png b/share/frontend/impattern/img/patterns/a9.png
index 699b370..699b370 100644
--- a/share/frontend/impattern/patterns/a9.png
+++ b/share/frontend/impattern/img/patterns/a9.png
Binary files differ
diff --git a/share/frontend/impattern/index.html b/share/frontend/impattern/index.html
index 417ddd9..61f12b7 100755
--- a/share/frontend/impattern/index.html
+++ b/share/frontend/impattern/index.html
@@ -27,158 +27,158 @@
<table class="dithertable" id="dithertable">
<tr>
<!--{{{-->
-<td class='patterns' style='background-image:url(patterns/1.png)' id='dither_1'>&nbsp;</td>
-<td class='patterns' style='background-image:url(patterns/10.png)' id='dither_10'>&nbsp;</td>
-<td class='patterns' style='background-image:url(patterns/11.png)' id='dither_11'></td>
-<td class='patterns' style='background-image:url(patterns/12.png)' id='dither_12'></td>
-<td class='patterns' style='background-image:url(patterns/13.png)' id='dither_13'></td>
-<td class='patterns' style='background-image:url(patterns/14.png)' id='dither_14'></td>
-<td class='patterns' style='background-image:url(patterns/15.png)' id='dither_15'></td>
-<td class='patterns' style='background-image:url(patterns/16.png)' id='dither_16'></td>
-<td class='patterns' style='background-image:url(patterns/17.png)' id='dither_17'></td>
-<td class='patterns' style='background-image:url(patterns/18.png)' id='dither_18'></td>
-<td class='patterns' style='background-image:url(patterns/19.png)' id='dither_19'></td>
-<td class='patterns' style='background-image:url(patterns/2.png)' id='dither_2'></td>
-<td class='patterns' style='background-image:url(patterns/20.png)' id='dither_20'></td>
-<td class='patterns' style='background-image:url(patterns/21.png)' id='dither_21'></td>
-<td class='patterns' style='background-image:url(patterns/22.png)' id='dither_22'></td>
-<td class='patterns' style='background-image:url(patterns/23.png)' id='dither_23'></td>
-<td class='patterns' style='background-image:url(patterns/24.png)' id='dither_24'></td>
-<td class='patterns' style='background-image:url(patterns/25.png)' id='dither_25'></td>
-<td class='patterns' style='background-image:url(patterns/26.png)' id='dither_26'></td>
-<td class='patterns' style='background-image:url(patterns/27.png)' id='dither_27'></td>
-<td class='patterns' style='background-image:url(patterns/28.png)' id='dither_28'></td>
-<td class='patterns' style='background-image:url(patterns/29.png)' id='dither_29'></td>
-<td class='patterns' style='background-image:url(patterns/3.png)' id='dither_3'></td>
-<td class='patterns' style='background-image:url(patterns/30.png)' id='dither_30'></td>
+<td class='patterns' style='background-image:url(img/patterns/1.png)' id='dither_1'>&nbsp;</td>
+<td class='patterns' style='background-image:url(img/patterns/10.png)' id='dither_10'>&nbsp;</td>
+<td class='patterns' style='background-image:url(img/patterns/11.png)' id='dither_11'></td>
+<td class='patterns' style='background-image:url(img/patterns/12.png)' id='dither_12'></td>
+<td class='patterns' style='background-image:url(img/patterns/13.png)' id='dither_13'></td>
+<td class='patterns' style='background-image:url(img/patterns/14.png)' id='dither_14'></td>
+<td class='patterns' style='background-image:url(img/patterns/15.png)' id='dither_15'></td>
+<td class='patterns' style='background-image:url(img/patterns/16.png)' id='dither_16'></td>
+<td class='patterns' style='background-image:url(img/patterns/17.png)' id='dither_17'></td>
+<td class='patterns' style='background-image:url(img/patterns/18.png)' id='dither_18'></td>
+<td class='patterns' style='background-image:url(img/patterns/19.png)' id='dither_19'></td>
+<td class='patterns' style='background-image:url(img/patterns/2.png)' id='dither_2'></td>
+<td class='patterns' style='background-image:url(img/patterns/20.png)' id='dither_20'></td>
+<td class='patterns' style='background-image:url(img/patterns/21.png)' id='dither_21'></td>
+<td class='patterns' style='background-image:url(img/patterns/22.png)' id='dither_22'></td>
+<td class='patterns' style='background-image:url(img/patterns/23.png)' id='dither_23'></td>
+<td class='patterns' style='background-image:url(img/patterns/24.png)' id='dither_24'></td>
+<td class='patterns' style='background-image:url(img/patterns/25.png)' id='dither_25'></td>
+<td class='patterns' style='background-image:url(img/patterns/26.png)' id='dither_26'></td>
+<td class='patterns' style='background-image:url(img/patterns/27.png)' id='dither_27'></td>
+<td class='patterns' style='background-image:url(img/patterns/28.png)' id='dither_28'></td>
+<td class='patterns' style='background-image:url(img/patterns/29.png)' id='dither_29'></td>
+<td class='patterns' style='background-image:url(img/patterns/3.png)' id='dither_3'></td>
+<td class='patterns' style='background-image:url(img/patterns/30.png)' id='dither_30'></td>
</tr>
<tr>
-<td class='patterns' style='background-image:url(patterns/31.png)' id='dither_31'></td>
-<td class='patterns' style='background-image:url(patterns/32.png)' id='dither_32'></td>
-<td class='patterns' style='background-image:url(patterns/33.png)' id='dither_33'></td>
-<td class='patterns' style='background-image:url(patterns/34.png)' id='dither_34'></td>
-<td class='patterns' style='background-image:url(patterns/35.png)' id='dither_35'></td>
-<td class='patterns' style='background-image:url(patterns/36.png)' id='dither_36'></td>
-<td class='patterns' style='background-image:url(patterns/37.png)' id='dither_37'></td>
-<td class='patterns' style='background-image:url(patterns/38.png)' id='dither_38'></td>
-<td class='patterns' style='background-image:url(patterns/39.png)' id='dither_39'></td>
-<td class='patterns' style='background-image:url(patterns/4.png)' id='dither_4'></td>
-<td class='patterns' style='background-image:url(patterns/40.png)' id='dither_40'></td>
-<td class='patterns' style='background-image:url(patterns/41.png)' id='dither_41'></td>
-<td class='patterns' style='background-image:url(patterns/42.png)' id='dither_42'></td>
-<td class='patterns' style='background-image:url(patterns/43.png)' id='dither_43'></td>
-<td class='patterns' style='background-image:url(patterns/44.png)' id='dither_44'></td>
-<td class='patterns' style='background-image:url(patterns/45.png)' id='dither_45'></td>
-<td class='patterns' style='background-image:url(patterns/46.png)' id='dither_46'></td>
-<td class='patterns' style='background-image:url(patterns/47.png)' id='dither_47'></td>
-<td class='patterns' style='background-image:url(patterns/48.png)' id='dither_48'></td>
-<td class='patterns' style='background-image:url(patterns/49.png)' id='dither_49'></td>
-<td class='patterns' style='background-image:url(patterns/5.png)' id='dither_5'></td>
-<td class='patterns' style='background-image:url(patterns/50.png)' id='dither_50'></td>
-<td class='patterns' style='background-image:url(patterns/51.png)' id='dither_51'></td>
-<td class='patterns' style='background-image:url(patterns/52.png)' id='dither_52'></td>
+<td class='patterns' style='background-image:url(img/patterns/31.png)' id='dither_31'></td>
+<td class='patterns' style='background-image:url(img/patterns/32.png)' id='dither_32'></td>
+<td class='patterns' style='background-image:url(img/patterns/33.png)' id='dither_33'></td>
+<td class='patterns' style='background-image:url(img/patterns/34.png)' id='dither_34'></td>
+<td class='patterns' style='background-image:url(img/patterns/35.png)' id='dither_35'></td>
+<td class='patterns' style='background-image:url(img/patterns/36.png)' id='dither_36'></td>
+<td class='patterns' style='background-image:url(img/patterns/37.png)' id='dither_37'></td>
+<td class='patterns' style='background-image:url(img/patterns/38.png)' id='dither_38'></td>
+<td class='patterns' style='background-image:url(img/patterns/39.png)' id='dither_39'></td>
+<td class='patterns' style='background-image:url(img/patterns/4.png)' id='dither_4'></td>
+<td class='patterns' style='background-image:url(img/patterns/40.png)' id='dither_40'></td>
+<td class='patterns' style='background-image:url(img/patterns/41.png)' id='dither_41'></td>
+<td class='patterns' style='background-image:url(img/patterns/42.png)' id='dither_42'></td>
+<td class='patterns' style='background-image:url(img/patterns/43.png)' id='dither_43'></td>
+<td class='patterns' style='background-image:url(img/patterns/44.png)' id='dither_44'></td>
+<td class='patterns' style='background-image:url(img/patterns/45.png)' id='dither_45'></td>
+<td class='patterns' style='background-image:url(img/patterns/46.png)' id='dither_46'></td>
+<td class='patterns' style='background-image:url(img/patterns/47.png)' id='dither_47'></td>
+<td class='patterns' style='background-image:url(img/patterns/48.png)' id='dither_48'></td>
+<td class='patterns' style='background-image:url(img/patterns/49.png)' id='dither_49'></td>
+<td class='patterns' style='background-image:url(img/patterns/5.png)' id='dither_5'></td>
+<td class='patterns' style='background-image:url(img/patterns/50.png)' id='dither_50'></td>
+<td class='patterns' style='background-image:url(img/patterns/51.png)' id='dither_51'></td>
+<td class='patterns' style='background-image:url(img/patterns/52.png)' id='dither_52'></td>
</tr>
<tr>
-<td class='patterns' style='background-image:url(patterns/53.png)' id='dither_53'></td>
-<td class='patterns' style='background-image:url(patterns/54.png)' id='dither_54'></td>
-<td class='patterns' style='background-image:url(patterns/55.png)' id='dither_55'></td>
-<td class='patterns' style='background-image:url(patterns/56.png)' id='dither_56'></td>
-<td class='patterns' style='background-image:url(patterns/57.png)' id='dither_57'></td>
-<td class='patterns' style='background-image:url(patterns/58.png)' id='dither_58'></td>
-<td class='patterns' style='background-image:url(patterns/59.png)' id='dither_59'></td>
-<td class='patterns' style='background-image:url(patterns/6.png)' id='dither_6'></td>
-<td class='patterns' style='background-image:url(patterns/60.png)' id='dither_60'></td>
+<td class='patterns' style='background-image:url(img/patterns/53.png)' id='dither_53'></td>
+<td class='patterns' style='background-image:url(img/patterns/54.png)' id='dither_54'></td>
+<td class='patterns' style='background-image:url(img/patterns/55.png)' id='dither_55'></td>
+<td class='patterns' style='background-image:url(img/patterns/56.png)' id='dither_56'></td>
+<td class='patterns' style='background-image:url(img/patterns/57.png)' id='dither_57'></td>
+<td class='patterns' style='background-image:url(img/patterns/58.png)' id='dither_58'></td>
+<td class='patterns' style='background-image:url(img/patterns/59.png)' id='dither_59'></td>
+<td class='patterns' style='background-image:url(img/patterns/6.png)' id='dither_6'></td>
+<td class='patterns' style='background-image:url(img/patterns/60.png)' id='dither_60'></td>
-<td class='patterns' style='background-image:url(patterns/61.png)' id='dither_61'></td>
-<td class='patterns' style='background-image:url(patterns/62.png)' id='dither_62'></td>
-<td class='patterns' style='background-image:url(patterns/63.png)' id='dither_63'></td>
-<td class='patterns' style='background-image:url(patterns/64.png)' id='dither_64'></td>
-<td class='patterns' style='background-image:url(patterns/65.png)' id='dither_65'></td>
-<td class='patterns' style='background-image:url(patterns/66.png)' id='dither_66'></td>
-<td class='patterns' style='background-image:url(patterns/67.png)' id='dither_67'></td>
-<td class='patterns' style='background-image:url(patterns/68.png)' id='dither_68'></td>
-<td class='patterns' style='background-image:url(patterns/69.png)' id='dither_69'></td>
-<td class='patterns' style='background-image:url(patterns/7.png)' id='dither_7'></td>
-<td class='patterns' style='background-image:url(patterns/70.png)' id='dither_70'></td>
-<td class='patterns' style='background-image:url(patterns/71.png)' id='dither_71'></td>
-<td class='patterns' style='background-image:url(patterns/72.png)' id='dither_72'></td>
-<td class='patterns' style='background-image:url(patterns/73.png)' id='dither_73'></td>
-<td class='patterns' style='background-image:url(patterns/74.png)' id='dither_74'></td>
+<td class='patterns' style='background-image:url(img/patterns/61.png)' id='dither_61'></td>
+<td class='patterns' style='background-image:url(img/patterns/62.png)' id='dither_62'></td>
+<td class='patterns' style='background-image:url(img/patterns/63.png)' id='dither_63'></td>
+<td class='patterns' style='background-image:url(img/patterns/64.png)' id='dither_64'></td>
+<td class='patterns' style='background-image:url(img/patterns/65.png)' id='dither_65'></td>
+<td class='patterns' style='background-image:url(img/patterns/66.png)' id='dither_66'></td>
+<td class='patterns' style='background-image:url(img/patterns/67.png)' id='dither_67'></td>
+<td class='patterns' style='background-image:url(img/patterns/68.png)' id='dither_68'></td>
+<td class='patterns' style='background-image:url(img/patterns/69.png)' id='dither_69'></td>
+<td class='patterns' style='background-image:url(img/patterns/7.png)' id='dither_7'></td>
+<td class='patterns' style='background-image:url(img/patterns/70.png)' id='dither_70'></td>
+<td class='patterns' style='background-image:url(img/patterns/71.png)' id='dither_71'></td>
+<td class='patterns' style='background-image:url(img/patterns/72.png)' id='dither_72'></td>
+<td class='patterns' style='background-image:url(img/patterns/73.png)' id='dither_73'></td>
+<td class='patterns' style='background-image:url(img/patterns/74.png)' id='dither_74'></td>
</tr>
<tr>
-<td class='patterns' style='background-image:url(patterns/75.png)' id='dither_75'></td>
-<td class='patterns' style='background-image:url(patterns/76.png)' id='dither_76'></td>
-<td class='patterns' style='background-image:url(patterns/77.png)' id='dither_77'></td>
-<td class='patterns' style='background-image:url(patterns/78.png)' id='dither_78'></td>
-<td class='patterns' style='background-image:url(patterns/79.png)' id='dither_79'></td>
-<td class='patterns' style='background-image:url(patterns/8.png)' id='dither_8'></td>
-<td class='patterns' style='background-image:url(patterns/80.png)' id='dither_80'></td>
-<td class='patterns' style='background-image:url(patterns/81.png)' id='dither_81'></td>
-<td class='patterns' style='background-image:url(patterns/82.png)' id='dither_82'></td>
-<td class='patterns' style='background-image:url(patterns/83.png)' id='dither_83'></td>
-<td class='patterns' style='background-image:url(patterns/84.png)' id='dither_84'></td>
-<td class='patterns' style='background-image:url(patterns/85.png)' id='dither_85'></td>
-<td class='patterns' style='background-image:url(patterns/86.png)' id='dither_86'></td>
-<td class='patterns' style='background-image:url(patterns/87.png)' id='dither_87'></td>
-<td class='patterns' style='background-image:url(patterns/88.png)' id='dither_88'></td>
-<td class='patterns' style='background-image:url(patterns/89.png)' id='dither_89'></td>
-<td class='patterns' style='background-image:url(patterns/9.png)' id='dither_9'></td>
-<td class='patterns' style='background-image:url(patterns/90.png)' id='dither_90'></td>
-<td class='patterns' style='background-image:url(patterns/91.png)' id='dither_91'></td>
-<td class='patterns' style='background-image:url(patterns/92.png)' id='dither_92'></td>
-<td class='patterns' style='background-image:url(patterns/93.png)' id='dither_93'></td>
-<td class='patterns' style='background-image:url(patterns/94.png)' id='dither_94'></td>
-<td class='patterns' style='background-image:url(patterns/95.png)' id='dither_95'></td>
-<td class='patterns' style='background-image:url(patterns/96.png)' id='dither_96'></td>
+<td class='patterns' style='background-image:url(img/patterns/75.png)' id='dither_75'></td>
+<td class='patterns' style='background-image:url(img/patterns/76.png)' id='dither_76'></td>
+<td class='patterns' style='background-image:url(img/patterns/77.png)' id='dither_77'></td>
+<td class='patterns' style='background-image:url(img/patterns/78.png)' id='dither_78'></td>
+<td class='patterns' style='background-image:url(img/patterns/79.png)' id='dither_79'></td>
+<td class='patterns' style='background-image:url(img/patterns/8.png)' id='dither_8'></td>
+<td class='patterns' style='background-image:url(img/patterns/80.png)' id='dither_80'></td>
+<td class='patterns' style='background-image:url(img/patterns/81.png)' id='dither_81'></td>
+<td class='patterns' style='background-image:url(img/patterns/82.png)' id='dither_82'></td>
+<td class='patterns' style='background-image:url(img/patterns/83.png)' id='dither_83'></td>
+<td class='patterns' style='background-image:url(img/patterns/84.png)' id='dither_84'></td>
+<td class='patterns' style='background-image:url(img/patterns/85.png)' id='dither_85'></td>
+<td class='patterns' style='background-image:url(img/patterns/86.png)' id='dither_86'></td>
+<td class='patterns' style='background-image:url(img/patterns/87.png)' id='dither_87'></td>
+<td class='patterns' style='background-image:url(img/patterns/88.png)' id='dither_88'></td>
+<td class='patterns' style='background-image:url(img/patterns/89.png)' id='dither_89'></td>
+<td class='patterns' style='background-image:url(img/patterns/9.png)' id='dither_9'></td>
+<td class='patterns' style='background-image:url(img/patterns/90.png)' id='dither_90'></td>
+<td class='patterns' style='background-image:url(img/patterns/91.png)' id='dither_91'></td>
+<td class='patterns' style='background-image:url(img/patterns/92.png)' id='dither_92'></td>
+<td class='patterns' style='background-image:url(img/patterns/93.png)' id='dither_93'></td>
+<td class='patterns' style='background-image:url(img/patterns/94.png)' id='dither_94'></td>
+<td class='patterns' style='background-image:url(img/patterns/95.png)' id='dither_95'></td>
+<td class='patterns' style='background-image:url(img/patterns/96.png)' id='dither_96'></td>
</tr>
<tr>
-<td class='patterns' style='background-image:url(patterns/a0.png)' id='dither_a0'></td>
-<td class='patterns' style='background-image:url(patterns/a1.png)' id='dither_a1'></td>
-<td class='patterns' style='background-image:url(patterns/a10.png)' id='dither_a10'></td>
-<td class='patterns' style='background-image:url(patterns/a11.png)' id='dither_a11'></td>
-<td class='patterns' style='background-image:url(patterns/a12.png)' id='dither_a12'></td>
-<td class='patterns' style='background-image:url(patterns/a13.png)' id='dither_a13'></td>
-<td class='patterns' style='background-image:url(patterns/a14.png)' id='dither_a14'></td>
-<td class='patterns' style='background-image:url(patterns/a15.png)' id='dither_a15'></td>
-<td class='patterns' style='background-image:url(patterns/a16.png)' id='dither_a16'></td>
-<td class='patterns' style='background-image:url(patterns/a17.png)' id='dither_a17'></td>
-<td class='patterns' style='background-image:url(patterns/a18.png)' id='dither_a18'></td>
-<td class='patterns' style='background-image:url(patterns/a19.png)' id='dither_a19'></td>
-<td class='patterns' style='background-image:url(patterns/a2.png)' id='dither_a2'></td>
-<td class='patterns' style='background-image:url(patterns/a20.png)' id='dither_a20'></td>
-<td class='patterns' style='background-image:url(patterns/a21.png)' id='dither_a21'></td>
-<td class='patterns' style='background-image:url(patterns/a22.png)' id='dither_a22'></td>
-<td class='patterns' style='background-image:url(patterns/a23.png)' id='dither_a23'></td>
-<td class='patterns' style='background-image:url(patterns/a24.png)' id='dither_a24'></td>
-<td class='patterns' style='background-image:url(patterns/a25.png)' id='dither_a25'></td>
-<td class='patterns' style='background-image:url(patterns/a26.png)' id='dither_a26'></td>
-<td class='patterns' style='background-image:url(patterns/a27.png)' id='dither_a27'></td>
-<td class='patterns' style='background-image:url(patterns/a28.png)' id='dither_a28'></td>
-<td class='patterns' style='background-image:url(patterns/a29.png)' id='dither_a29'></td>
-<td class='patterns' style='background-image:url(patterns/a3.png)' id='dither_a3'></td>
+<td class='patterns' style='background-image:url(img/patterns/a0.png)' id='dither_a0'></td>
+<td class='patterns' style='background-image:url(img/patterns/a1.png)' id='dither_a1'></td>
+<td class='patterns' style='background-image:url(img/patterns/a10.png)' id='dither_a10'></td>
+<td class='patterns' style='background-image:url(img/patterns/a11.png)' id='dither_a11'></td>
+<td class='patterns' style='background-image:url(img/patterns/a12.png)' id='dither_a12'></td>
+<td class='patterns' style='background-image:url(img/patterns/a13.png)' id='dither_a13'></td>
+<td class='patterns' style='background-image:url(img/patterns/a14.png)' id='dither_a14'></td>
+<td class='patterns' style='background-image:url(img/patterns/a15.png)' id='dither_a15'></td>
+<td class='patterns' style='background-image:url(img/patterns/a16.png)' id='dither_a16'></td>
+<td class='patterns' style='background-image:url(img/patterns/a17.png)' id='dither_a17'></td>
+<td class='patterns' style='background-image:url(img/patterns/a18.png)' id='dither_a18'></td>
+<td class='patterns' style='background-image:url(img/patterns/a19.png)' id='dither_a19'></td>
+<td class='patterns' style='background-image:url(img/patterns/a2.png)' id='dither_a2'></td>
+<td class='patterns' style='background-image:url(img/patterns/a20.png)' id='dither_a20'></td>
+<td class='patterns' style='background-image:url(img/patterns/a21.png)' id='dither_a21'></td>
+<td class='patterns' style='background-image:url(img/patterns/a22.png)' id='dither_a22'></td>
+<td class='patterns' style='background-image:url(img/patterns/a23.png)' id='dither_a23'></td>
+<td class='patterns' style='background-image:url(img/patterns/a24.png)' id='dither_a24'></td>
+<td class='patterns' style='background-image:url(img/patterns/a25.png)' id='dither_a25'></td>
+<td class='patterns' style='background-image:url(img/patterns/a26.png)' id='dither_a26'></td>
+<td class='patterns' style='background-image:url(img/patterns/a27.png)' id='dither_a27'></td>
+<td class='patterns' style='background-image:url(img/patterns/a28.png)' id='dither_a28'></td>
+<td class='patterns' style='background-image:url(img/patterns/a29.png)' id='dither_a29'></td>
+<td class='patterns' style='background-image:url(img/patterns/a3.png)' id='dither_a3'></td>
</tr>
<tr>
-<td class='patterns' style='background-image:url(patterns/a30.png)' id='dither_a30'></td>
-<td class='patterns' style='background-image:url(patterns/a31.png)' id='dither_a31'></td>
-<td class='patterns' style='background-image:url(patterns/a32.png)' id='dither_a32'></td>
-<td class='patterns' style='background-image:url(patterns/a33.png)' id='dither_a33'></td>
-<td class='patterns' style='background-image:url(patterns/a34.png)' id='dither_a34'></td>
-<td class='patterns' style='background-image:url(patterns/a35.png)' id='dither_a35'></td>
-<td class='patterns' style='background-image:url(patterns/a36.png)' id='dither_a36'></td>
-<td class='patterns' style='background-image:url(patterns/a37.png)' id='dither_a37'></td>
-<td class='patterns' style='background-image:url(patterns/a38.png)' id='dither_a38'></td>
-<td class='patterns' style='background-image:url(patterns/a39.png)' id='dither_a39'></td>
-<td class='patterns' style='background-image:url(patterns/a4.png)' id='dither_a4'></td>
-<td class='patterns' style='background-image:url(patterns/a40.png)' id='dither_a40'></td>
-<td class='patterns' style='background-image:url(patterns/a41.png)' id='dither_a41'></td>
-<td class='patterns' style='background-image:url(patterns/a5.png)' id='dither_a5'></td>
-<td class='patterns' style='background-image:url(patterns/a6.png)' id='dither_a6'></td>
-<td class='patterns' style='background-image:url(patterns/a7.png)' id='dither_a7'></td>
-<td class='patterns' style='background-image:url(patterns/a8.png)' id='dither_a8'></td>
-<td class='patterns' style='background-image:url(patterns/a9.png)' id='dither_a9'></td>
+<td class='patterns' style='background-image:url(img/patterns/a30.png)' id='dither_a30'></td>
+<td class='patterns' style='background-image:url(img/patterns/a31.png)' id='dither_a31'></td>
+<td class='patterns' style='background-image:url(img/patterns/a32.png)' id='dither_a32'></td>
+<td class='patterns' style='background-image:url(img/patterns/a33.png)' id='dither_a33'></td>
+<td class='patterns' style='background-image:url(img/patterns/a34.png)' id='dither_a34'></td>
+<td class='patterns' style='background-image:url(img/patterns/a35.png)' id='dither_a35'></td>
+<td class='patterns' style='background-image:url(img/patterns/a36.png)' id='dither_a36'></td>
+<td class='patterns' style='background-image:url(img/patterns/a37.png)' id='dither_a37'></td>
+<td class='patterns' style='background-image:url(img/patterns/a38.png)' id='dither_a38'></td>
+<td class='patterns' style='background-image:url(img/patterns/a39.png)' id='dither_a39'></td>
+<td class='patterns' style='background-image:url(img/patterns/a4.png)' id='dither_a4'></td>
+<td class='patterns' style='background-image:url(img/patterns/a40.png)' id='dither_a40'></td>
+<td class='patterns' style='background-image:url(img/patterns/a41.png)' id='dither_a41'></td>
+<td class='patterns' style='background-image:url(img/patterns/a5.png)' id='dither_a5'></td>
+<td class='patterns' style='background-image:url(img/patterns/a6.png)' id='dither_a6'></td>
+<td class='patterns' style='background-image:url(img/patterns/a7.png)' id='dither_a7'></td>
+<td class='patterns' style='background-image:url(img/patterns/a8.png)' id='dither_a8'></td>
+<td class='patterns' style='background-image:url(img/patterns/a9.png)' id='dither_a9'></td>
<!--}}}-->
</tr>
</table>
diff --git a/share/frontend/impattern/sketch.html b/share/frontend/impattern/sketch.html
deleted file mode 100644
index c519820..0000000
--- a/share/frontend/impattern/sketch.html
+++ /dev/null
@@ -1,231 +0,0 @@
-<html>
-<head>
-<link href='css/normalize.css' rel='stylesheet' type='text/css'>
-<style type="text/css">
-#canvas_wrapper{
-// position:absolute;
- display: inline-block;
-white-space: pre-wrap;
-word-wrap: break-word;
--webkit-user-select: none;
--moz-user-select: none;
-user-select: none;
-// pointer-events: none;
-}
-.canvas_cell{
- border: 1px solid black;
- display: inline-block;
- width: 1em;
- height: 1em;
-}
-.canvas_row{
-// position: absolute;
-}
-
-.brush_tools{
- padding:5px;
- display: inline-block;
- background: whitesmoke;
- border: 1px solid gray;
- cursor: pointer;
-}
-#brush{
- background:gray;
- color: white;
- border: 1px solid black;
-}
-</style>
-
-</head>
-<body>
-
-<div id="canvas_wrapper">
-</div>
-<table>
-<tr>
- <td>
- <input size="2" type="text" id="rows" value="10">ROWS</input>
- </td>
-</tr>
-<tr>
- <td>
- <input size="2" type="text" id="cols" value="10">COLS</input>
- </td>
-</tr>
-</table>
-
-<div id="tools">
- <div id="brush" class="brush_tools">Brush</div>
- <div id="eraser" class="brush_tools">Eraser</div>
-</div>
-<input type="checkbox" id="show_grid" checked>Show grid?</input>
-<button id="drawing_finished">DONE</button>
-</body>
-<script src="js/jquery.min.js" type="text/javascript"></script>
-<script type="text/javascript">
-//dragging event
-var isDragging = false;
-$("body").mousedown(function() {
- $(window).mousemove(function() {
- isDragging = true;
- $(window).unbind("mousemove");
- });
-}).mouseup(function() {
- var wasDragging = isDragging;
- isDragging = false;
- $(window).unbind("mousemove");
- if (!wasDragging) { //was clicking
- }
-});
-
-var c;
-
-window.active_tool = "brush";
-var brush_tools;
-
-
-
-function BrushTools(){
- var brushtools = this;
- this.brush = $("#brush");
- this.eraser = $("#eraser");
- this.brush_tools = $(".brush_tools");
- this.active_css = {
- "border" : "1px solid black",
- "background" : "gray",
- "color" : "white",
- },
- this.inactive_css = {
- "border" : "1px solid gray",
- "background" : "whitesmoke",
- "color" : "black",
- };
- this.activate = function(elem){
- $(elem).css(this.active_css);
- window.active_tool = $(elem).attr("id");
- };
- this.deactivate = function(elem){
- $(elem).css(this.inactive_css);
- };
-// this.cursors = {
-// "brush" : "img/brush.png",
-// "eraser" : "img/eraser.png",
-// };
- this.brush_tools.click(function(){
- var that = this;
- window.active_tool = $(this).attr("id");
- brushtools.activate(that);
- brushtools.brush_tools.each(function(){
- if(this != that){
- brushtools.deactivate(this);
- }
- });
-// $("#canvas_wrapper").css(
-// "cursor" , "url("+brushtools.cursors[window.active_tool]+")"
-// )
- });
-}
-
-
-
-
-function GridCanvas(){
- var gridcanvas = this;
- this.rows = 10;
- this.cols = 10;
- this.current_rows = [];
- this.container = $("#canvas_wrapper");
- this.paint = function(elem){
- $(elem).attr("painted", "1");
- $(elem).css("background", "black");
- };
- this.erase = function(elem){
- $(elem).attr("painted", "0");
- $(elem).css("background", "white");
- };
- this.initialize = function(cols, rows){
- this.container.html("");
- this.rows = rows;
- this.cols = cols;
- for (var i = 0; i< this.rows; i++){
- var row = document.createElement("div");
- $(row).attr("id", "row_"+i)
- $(row).addClass("canvas_row")
- for (var j = 0; j< this.cols; j++){
- var cell = document.createElement("span");
- $(cell).addClass("canvas_cell")
- $(cell).attr("painted", "0")
- $(cell).addClass("column_"+j)
- $(cell).html("&nbsp;")
- $(cell).click(function(){
- if (window.active_tool == 'brush'){
- gridcanvas.paint(this);
- }else if(window.active_tool == 'eraser'){
- gridcanvas.erase(this);
- }
- });
- $(cell).mouseover(function(){
- if (isDragging){
- if (window.active_tool == 'brush'){
- gridcanvas.paint(this);
- }else if(window.active_tool == 'eraser'){
- gridcanvas.erase(this);
- }
- }
- });
- $(row).append(cell)
- }
- this.container.append(row)
- }
- }
- this.toggleGrid = function(){
- if ($("#show_grid").prop("checked")){
- $(".canvas_cell").css("border","1px solid black");
- }else{
- $(".canvas_cell").css("border","none");
- }
- }
- this.serialize = function(){
- var matrix = [];
- for (var i = 0; i < this.rows; i++){
- var row_storage = [];
- $("#row_"+i+"> span").each(function(){
- row_storage.push($(this).attr("painted"));
- });
- matrix.push(row_storage);
- }
- return JSON.stringify({
- "matrix" : matrix,
- "width" : this.cols,
- "height" : this.rows,
- })
- }
-}
-$("#cols").change(function(){
- var cols = $(this).val()
- c.initialize(cols, c.rows);
-});
-$("#rows").change(function(){
- var rows = $(this).val()
- c.initialize(c.cols, rows);
-});
-
-
-
-$(document).ready(function(){
-
- c = new GridCanvas();
- brush_tools = new BrushTools();
- c.initialize($("#cols").val(), $("#rows").val());
- $("#show_grid").change(function(){
- c.toggleGrid();
- });
- $("#drawing_finished").click(function(){
-
- console.log(c.serialize());
- });
-
-});
-
-</script>
-</html>