~ubuntu-branches/ubuntu/lucid/wordpress/lucid-security

« back to all changes in this revision

Viewing changes to wp-includes/js/colorpicker.js

  • Committer: Bazaar Package Importer
  • Author(s): Michael Bienia
  • Date: 2009-08-14 13:32:33 UTC
  • mfrom: (11.1.7 sid)
  • Revision ID: james.westby@ubuntu.com-20090814133233-n1qy24xncscu6yvj
Tags: 2.8.3-2ubuntu1
* Merge from debian unstable, remaining changes:
  - debian/apache.conf:
    + Changed to use /var/www instead of /srv/www for virtual webroot.
  - debian/setup-mysql:
    + Changed to use /var/www instead of /srv/www.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
// ===================================================================
2
 
// Author: Matt Kruse <matt@mattkruse.com>
3
 
// WWW: http://www.mattkruse.com/
4
 
//
5
 
// NOTICE: You may use this code for any purpose, commercial or
6
 
// private, without any further permission from the author. You may
7
 
// remove this notice from your final code if you wish, however it is
8
 
// appreciated by the author if at least my web site address is kept.
9
 
//
10
 
// You may *NOT* re-distribute this code in any way except through its
11
 
// use. That means, you can include it in your product, or your web
12
 
// site, or any other form where the code is actually being used. You
13
 
// may not put the plain javascript up on your site for download or
14
 
// include it in your javascript libraries for download. 
15
 
// If you wish to share this code with others, please just point them
16
 
// to the URL instead.
17
 
// Please DO NOT link directly to my .js files from your site. Copy
18
 
// the files to your server and use them there. Thank you.
19
 
// ===================================================================
20
 
 
21
 
 
22
 
/* SOURCE FILE: AnchorPosition.js */
23
 
 
24
 
/* 
25
 
AnchorPosition.js
26
 
Author: Matt Kruse
27
 
Last modified: 10/11/02
28
 
 
29
 
DESCRIPTION: These functions find the position of an <A> tag in a document,
30
 
so other elements can be positioned relative to it.
31
 
 
32
 
COMPATABILITY: Netscape 4.x,6.x,Mozilla, IE 5.x,6.x on Windows. Some small
33
 
positioning errors - usually with Window positioning - occur on the 
34
 
Macintosh platform.
35
 
 
36
 
FUNCTIONS:
37
 
getAnchorPosition(anchorname)
38
 
  Returns an Object() having .x and .y properties of the pixel coordinates
39
 
  of the upper-left corner of the anchor. Position is relative to the PAGE.
40
 
 
41
 
getAnchorWindowPosition(anchorname)
42
 
  Returns an Object() having .x and .y properties of the pixel coordinates
43
 
  of the upper-left corner of the anchor, relative to the WHOLE SCREEN.
44
 
 
45
 
NOTES:
46
 
 
47
 
1) For popping up separate browser windows, use getAnchorWindowPosition. 
48
 
   Otherwise, use getAnchorPosition
49
 
 
50
 
2) Your anchor tag MUST contain both NAME and ID attributes which are the 
51
 
   same. For example:
52
 
   <A NAME="test" ID="test"> </A>
53
 
 
54
 
3) There must be at least a space between <A> </A> for IE5.5 to see the 
55
 
   anchor tag correctly. Do not do <A></A> with no space.
56
 
*/ 
57
 
 
58
 
// getAnchorPosition(anchorname)
59
 
//   This function returns an object having .x and .y properties which are the coordinates
60
 
//   of the named anchor, relative to the page.
61
 
function getAnchorPosition(anchorname) {
62
 
        // This function will return an Object with x and y properties
63
 
        var useWindow=false;
64
 
        var coordinates=new Object();
65
 
        var x=0,y=0;
66
 
        // Browser capability sniffing
67
 
        var use_gebi=false, use_css=false, use_layers=false;
68
 
        if (document.getElementById) { use_gebi=true; }
69
 
        else if (document.all) { use_css=true; }
70
 
        else if (document.layers) { use_layers=true; }
71
 
        // Logic to find position
72
 
        if (use_gebi && document.all) {
73
 
                x=AnchorPosition_getPageOffsetLeft(document.all[anchorname]);
74
 
                y=AnchorPosition_getPageOffsetTop(document.all[anchorname]);
75
 
                }
76
 
        else if (use_gebi) {
77
 
                var o=document.getElementById(anchorname);
78
 
                x=AnchorPosition_getPageOffsetLeft(o);
79
 
                y=AnchorPosition_getPageOffsetTop(o);
80
 
                }
81
 
        else if (use_css) {
82
 
                x=AnchorPosition_getPageOffsetLeft(document.all[anchorname]);
83
 
                y=AnchorPosition_getPageOffsetTop(document.all[anchorname]);
84
 
                }
85
 
        else if (use_layers) {
86
 
                var found=0;
87
 
                for (var i=0; i<document.anchors.length; i++) {
88
 
                        if (document.anchors[i].name==anchorname) { found=1; break; }
89
 
                        }
90
 
                if (found==0) {
91
 
                        coordinates.x=0; coordinates.y=0; return coordinates;
92
 
                        }
93
 
                x=document.anchors[i].x;
94
 
                y=document.anchors[i].y;
95
 
                }
96
 
        else {
97
 
                coordinates.x=0; coordinates.y=0; return coordinates;
98
 
                }
99
 
        coordinates.x=x;
100
 
        coordinates.y=y;
101
 
        return coordinates;
102
 
        }
103
 
 
104
 
// getAnchorWindowPosition(anchorname)
105
 
//   This function returns an object having .x and .y properties which are the coordinates
106
 
//   of the named anchor, relative to the window
107
 
function getAnchorWindowPosition(anchorname) {
108
 
        var coordinates=getAnchorPosition(anchorname);
109
 
        var x=0;
110
 
        var y=0;
111
 
        if (document.getElementById) {
112
 
                if (isNaN(window.screenX)) {
113
 
                        x=coordinates.x-document.body.scrollLeft+window.screenLeft;
114
 
                        y=coordinates.y-document.body.scrollTop+window.screenTop;
115
 
                        }
116
 
                else {
117
 
                        x=coordinates.x+window.screenX+(window.outerWidth-window.innerWidth)-window.pageXOffset;
118
 
                        y=coordinates.y+window.screenY+(window.outerHeight-24-window.innerHeight)-window.pageYOffset;
119
 
                        }
120
 
                }
121
 
        else if (document.all) {
122
 
                x=coordinates.x-document.body.scrollLeft+window.screenLeft;
123
 
                y=coordinates.y-document.body.scrollTop+window.screenTop;
124
 
                }
125
 
        else if (document.layers) {
126
 
                x=coordinates.x+window.screenX+(window.outerWidth-window.innerWidth)-window.pageXOffset;
127
 
                y=coordinates.y+window.screenY+(window.outerHeight-24-window.innerHeight)-window.pageYOffset;
128
 
                }
129
 
        coordinates.x=x;
130
 
        coordinates.y=y;
131
 
        return coordinates;
132
 
        }
133
 
 
134
 
// Functions for IE to get position of an object
135
 
function AnchorPosition_getPageOffsetLeft (el) {
136
 
        var ol=el.offsetLeft;
137
 
        while ((el=el.offsetParent) != null) { ol += el.offsetLeft; }
138
 
        return ol;
139
 
        }
140
 
function AnchorPosition_getWindowOffsetLeft (el) {
141
 
        return AnchorPosition_getPageOffsetLeft(el)-document.body.scrollLeft;
142
 
        }
143
 
function AnchorPosition_getPageOffsetTop (el) {
144
 
        var ot=el.offsetTop;
145
 
        while((el=el.offsetParent) != null) { ot += el.offsetTop; }
146
 
        return ot;
147
 
        }
148
 
function AnchorPosition_getWindowOffsetTop (el) {
149
 
        return AnchorPosition_getPageOffsetTop(el)-document.body.scrollTop;
150
 
        }
151
 
 
152
 
/* SOURCE FILE: PopupWindow.js */
153
 
 
154
 
/* 
155
 
PopupWindow.js
156
 
Author: Matt Kruse
157
 
Last modified: 02/16/04
158
 
 
159
 
DESCRIPTION: This object allows you to easily and quickly popup a window
160
 
in a certain place. The window can either be a DIV or a separate browser
161
 
window.
162
 
 
163
 
COMPATABILITY: Works with Netscape 4.x, 6.x, IE 5.x on Windows. Some small
164
 
positioning errors - usually with Window positioning - occur on the 
165
 
Macintosh platform. Due to bugs in Netscape 4.x, populating the popup 
166
 
window with <STYLE> tags may cause errors.
167
 
 
168
 
USAGE:
169
 
// Create an object for a WINDOW popup
170
 
var win = new PopupWindow(); 
171
 
 
172
 
// Create an object for a DIV window using the DIV named 'mydiv'
173
 
var win = new PopupWindow('mydiv'); 
174
 
 
175
 
// Set the window to automatically hide itself when the user clicks 
176
 
// anywhere else on the page except the popup
177
 
win.autoHide(); 
178
 
 
179
 
// Show the window relative to the anchor name passed in
180
 
win.showPopup(anchorname);
181
 
 
182
 
// Hide the popup
183
 
win.hidePopup();
184
 
 
185
 
// Set the size of the popup window (only applies to WINDOW popups
186
 
win.setSize(width,height);
187
 
 
188
 
// Populate the contents of the popup window that will be shown. If you 
189
 
// change the contents while it is displayed, you will need to refresh()
190
 
win.populate(string);
191
 
 
192
 
// set the URL of the window, rather than populating its contents
193
 
// manually
194
 
win.setUrl("http://www.site.com/");
195
 
 
196
 
// Refresh the contents of the popup
197
 
win.refresh();
198
 
 
199
 
// Specify how many pixels to the right of the anchor the popup will appear
200
 
win.offsetX = 50;
201
 
 
202
 
// Specify how many pixels below the anchor the popup will appear
203
 
win.offsetY = 100;
204
 
 
205
 
NOTES:
206
 
1) Requires the functions in AnchorPosition.js
207
 
 
208
 
2) Your anchor tag MUST contain both NAME and ID attributes which are the 
209
 
   same. For example:
210
 
   <A NAME="test" ID="test"> </A>
211
 
 
212
 
3) There must be at least a space between <A> </A> for IE5.5 to see the 
213
 
   anchor tag correctly. Do not do <A></A> with no space.
214
 
 
215
 
4) When a PopupWindow object is created, a handler for 'onmouseup' is
216
 
   attached to any event handler you may have already defined. Do NOT define
217
 
   an event handler for 'onmouseup' after you define a PopupWindow object or
218
 
   the autoHide() will not work correctly.
219
 
*/ 
220
 
 
221
 
// Set the position of the popup window based on the anchor
222
 
function PopupWindow_getXYPosition(anchorname) {
223
 
        var coordinates;
224
 
        if (this.type == "WINDOW") {
225
 
                coordinates = getAnchorWindowPosition(anchorname);
226
 
                }
227
 
        else {
228
 
                coordinates = getAnchorPosition(anchorname);
229
 
                }
230
 
        this.x = coordinates.x;
231
 
        this.y = coordinates.y;
232
 
        }
233
 
// Set width/height of DIV/popup window
234
 
function PopupWindow_setSize(width,height) {
235
 
        this.width = width;
236
 
        this.height = height;
237
 
        }
238
 
// Fill the window with contents
239
 
function PopupWindow_populate(contents) {
240
 
        this.contents = contents;
241
 
        this.populated = false;
242
 
        }
243
 
// Set the URL to go to
244
 
function PopupWindow_setUrl(url) {
245
 
        this.url = url;
246
 
        }
247
 
// Set the window popup properties
248
 
function PopupWindow_setWindowProperties(props) {
249
 
        this.windowProperties = props;
250
 
        }
251
 
// Refresh the displayed contents of the popup
252
 
function PopupWindow_refresh() {
253
 
        if (this.divName != null) {
254
 
                // refresh the DIV object
255
 
                if (this.use_gebi) {
256
 
                        document.getElementById(this.divName).innerHTML = this.contents;
257
 
                        }
258
 
                else if (this.use_css) { 
259
 
                        document.all[this.divName].innerHTML = this.contents;
260
 
                        }
261
 
                else if (this.use_layers) { 
262
 
                        var d = document.layers[this.divName]; 
263
 
                        d.document.open();
264
 
                        d.document.writeln(this.contents);
265
 
                        d.document.close();
266
 
                        }
267
 
                }
268
 
        else {
269
 
                if (this.popupWindow != null && !this.popupWindow.closed) {
270
 
                        if (this.url!="") {
271
 
                                this.popupWindow.location.href=this.url;
272
 
                                }
273
 
                        else {
274
 
                                this.popupWindow.document.open();
275
 
                                this.popupWindow.document.writeln(this.contents);
276
 
                                this.popupWindow.document.close();
277
 
                        }
278
 
                        this.popupWindow.focus();
279
 
                        }
280
 
                }
281
 
        }
282
 
// Position and show the popup, relative to an anchor object
283
 
function PopupWindow_showPopup(anchorname) {
284
 
        this.getXYPosition(anchorname);
285
 
        this.x += this.offsetX;
286
 
        this.y += this.offsetY;
287
 
        if (!this.populated && (this.contents != "")) {
288
 
                this.populated = true;
289
 
                this.refresh();
290
 
                }
291
 
        if (this.divName != null) {
292
 
                // Show the DIV object
293
 
                if (this.use_gebi) {
294
 
                        document.getElementById(this.divName).style.left = this.x + "px";
295
 
                        document.getElementById(this.divName).style.top = this.y;
296
 
                        document.getElementById(this.divName).style.visibility = "visible";
297
 
                        }
298
 
                else if (this.use_css) {
299
 
                        document.all[this.divName].style.left = this.x;
300
 
                        document.all[this.divName].style.top = this.y;
301
 
                        document.all[this.divName].style.visibility = "visible";
302
 
                        }
303
 
                else if (this.use_layers) {
304
 
                        document.layers[this.divName].left = this.x;
305
 
                        document.layers[this.divName].top = this.y;
306
 
                        document.layers[this.divName].visibility = "visible";
307
 
                        }
308
 
                }
309
 
        else {
310
 
                if (this.popupWindow == null || this.popupWindow.closed) {
311
 
                        // If the popup window will go off-screen, move it so it doesn't
312
 
                        if (this.x<0) { this.x=0; }
313
 
                        if (this.y<0) { this.y=0; }
314
 
                        if (screen && screen.availHeight) {
315
 
                                if ((this.y + this.height) > screen.availHeight) {
316
 
                                        this.y = screen.availHeight - this.height;
317
 
                                        }
318
 
                                }
319
 
                        if (screen && screen.availWidth) {
320
 
                                if ((this.x + this.width) > screen.availWidth) {
321
 
                                        this.x = screen.availWidth - this.width;
322
 
                                        }
323
 
                                }
324
 
                        var avoidAboutBlank = window.opera || ( document.layers && !navigator.mimeTypes['*'] ) || navigator.vendor == 'KDE' || ( document.childNodes && !document.all && !navigator.taintEnabled );
325
 
                        this.popupWindow = window.open(avoidAboutBlank?"":"about:blank","window_"+anchorname,this.windowProperties+",width="+this.width+",height="+this.height+",screenX="+this.x+",left="+this.x+",screenY="+this.y+",top="+this.y+"");
326
 
                        }
327
 
                this.refresh();
328
 
                }
329
 
        }
330
 
// Hide the popup
331
 
function PopupWindow_hidePopup() {
332
 
        if (this.divName != null) {
333
 
                if (this.use_gebi) {
334
 
                        document.getElementById(this.divName).style.visibility = "hidden";
335
 
                        }
336
 
                else if (this.use_css) {
337
 
                        document.all[this.divName].style.visibility = "hidden";
338
 
                        }
339
 
                else if (this.use_layers) {
340
 
                        document.layers[this.divName].visibility = "hidden";
341
 
                        }
342
 
                }
343
 
        else {
344
 
                if (this.popupWindow && !this.popupWindow.closed) {
345
 
                        this.popupWindow.close();
346
 
                        this.popupWindow = null;
347
 
                        }
348
 
                }
349
 
        }
350
 
// Pass an event and return whether or not it was the popup DIV that was clicked
351
 
function PopupWindow_isClicked(e) {
352
 
        if (this.divName != null) {
353
 
                if (this.use_layers) {
354
 
                        var clickX = e.pageX;
355
 
                        var clickY = e.pageY;
356
 
                        var t = document.layers[this.divName];
357
 
                        if ((clickX > t.left) && (clickX < t.left+t.clip.width) && (clickY > t.top) && (clickY < t.top+t.clip.height)) {
358
 
                                return true;
359
 
                                }
360
 
                        else { return false; }
361
 
                        }
362
 
                else if (document.all) { // Need to hard-code this to trap IE for error-handling
363
 
                        var t = window.event.srcElement;
364
 
                        while (t.parentElement != null) {
365
 
                                if (t.id==this.divName) {
366
 
                                        return true;
367
 
                                        }
368
 
                                t = t.parentElement;
369
 
                                }
370
 
                        return false;
371
 
                        }
372
 
                else if (this.use_gebi && e) {
373
 
                        var t = e.originalTarget;
374
 
                        while (t.parentNode != null) {
375
 
                                if (t.id==this.divName) {
376
 
                                        return true;
377
 
                                        }
378
 
                                t = t.parentNode;
379
 
                                }
380
 
                        return false;
381
 
                        }
382
 
                return false;
383
 
                }
384
 
        return false;
385
 
        }
386
 
 
387
 
// Check an onMouseDown event to see if we should hide
388
 
function PopupWindow_hideIfNotClicked(e) {
389
 
        if (this.autoHideEnabled && !this.isClicked(e)) {
390
 
                this.hidePopup();
391
 
                }
392
 
        }
393
 
// Call this to make the DIV disable automatically when mouse is clicked outside it
394
 
function PopupWindow_autoHide() {
395
 
        this.autoHideEnabled = true;
396
 
        }
397
 
// This global function checks all PopupWindow objects onmouseup to see if they should be hidden
398
 
function PopupWindow_hidePopupWindows(e) {
399
 
        for (var i=0; i<popupWindowObjects.length; i++) {
400
 
                if (popupWindowObjects[i] != null) {
401
 
                        var p = popupWindowObjects[i];
402
 
                        p.hideIfNotClicked(e);
403
 
                        }
404
 
                }
405
 
        }
406
 
// Run this immediately to attach the event listener
407
 
function PopupWindow_attachListener() {
408
 
        if (document.layers) {
409
 
                document.captureEvents(Event.MOUSEUP);
410
 
                }
411
 
        window.popupWindowOldEventListener = document.onmouseup;
412
 
        if (window.popupWindowOldEventListener != null) {
413
 
                document.onmouseup = new Function("window.popupWindowOldEventListener(); PopupWindow_hidePopupWindows();");
414
 
                }
415
 
        else {
416
 
                document.onmouseup = PopupWindow_hidePopupWindows;
417
 
                }
418
 
        }
419
 
// CONSTRUCTOR for the PopupWindow object
420
 
// Pass it a DIV name to use a DHTML popup, otherwise will default to window popup
421
 
function PopupWindow() {
422
 
        if (!window.popupWindowIndex) { window.popupWindowIndex = 0; }
423
 
        if (!window.popupWindowObjects) { window.popupWindowObjects = new Array(); }
424
 
        if (!window.listenerAttached) {
425
 
                window.listenerAttached = true;
426
 
                PopupWindow_attachListener();
427
 
                }
428
 
        this.index = popupWindowIndex++;
429
 
        popupWindowObjects[this.index] = this;
430
 
        this.divName = null;
431
 
        this.popupWindow = null;
432
 
        this.width=0;
433
 
        this.height=0;
434
 
        this.populated = false;
435
 
        this.visible = false;
436
 
        this.autoHideEnabled = false;
437
 
 
438
 
        this.contents = "";
439
 
        this.url="";
440
 
        this.windowProperties="toolbar=no,location=no,status=no,menubar=no,scrollbars=auto,resizable,alwaysRaised,dependent,titlebar=no";
441
 
        if (arguments.length>0) {
442
 
                this.type="DIV";
443
 
                this.divName = arguments[0];
444
 
                }
445
 
        else {
446
 
                this.type="WINDOW";
447
 
                }
448
 
        this.use_gebi = false;
449
 
        this.use_css = false;
450
 
        this.use_layers = false;
451
 
        if (document.getElementById) { this.use_gebi = true; }
452
 
        else if (document.all) { this.use_css = true; }
453
 
        else if (document.layers) { this.use_layers = true; }
454
 
        else { this.type = "WINDOW"; }
455
 
        this.offsetX = 0;
456
 
        this.offsetY = 0;
457
 
        // Method mappings
458
 
        this.getXYPosition = PopupWindow_getXYPosition;
459
 
        this.populate = PopupWindow_populate;
460
 
        this.setUrl = PopupWindow_setUrl;
461
 
        this.setWindowProperties = PopupWindow_setWindowProperties;
462
 
        this.refresh = PopupWindow_refresh;
463
 
        this.showPopup = PopupWindow_showPopup;
464
 
        this.hidePopup = PopupWindow_hidePopup;
465
 
        this.setSize = PopupWindow_setSize;
466
 
        this.isClicked = PopupWindow_isClicked;
467
 
        this.autoHide = PopupWindow_autoHide;
468
 
        this.hideIfNotClicked = PopupWindow_hideIfNotClicked;
469
 
        }
470
 
 
471
 
/* SOURCE FILE: ColorPicker2.js */
472
 
 
473
 
/* 
474
 
Last modified: 02/24/2003
475
 
 
476
 
DESCRIPTION: This widget is used to select a color, in hexadecimal #RRGGBB 
477
 
form. It uses a color "swatch" to display the standard 216-color web-safe 
478
 
palette. The user can then click on a color to select it.
479
 
 
480
 
COMPATABILITY: See notes in AnchorPosition.js and PopupWindow.js.
481
 
Only the latest DHTML-capable browsers will show the color and hex values
482
 
at the bottom as your mouse goes over them.
483
 
 
484
 
USAGE:
485
 
// Create a new ColorPicker object using DHTML popup
486
 
var cp = new ColorPicker();
487
 
 
488
 
// Create a new ColorPicker object using Window Popup
489
 
var cp = new ColorPicker('window');
490
 
 
491
 
// Add a link in your page to trigger the popup. For example:
492
 
<A HREF="#" onClick="cp.show('pick');return false;" NAME="pick" ID="pick">Pick</A>
493
 
 
494
 
// Or use the built-in "select" function to do the dirty work for you:
495
 
<A HREF="#" onClick="cp.select(document.forms[0].color,'pick');return false;" NAME="pick" ID="pick">Pick</A>
496
 
 
497
 
// If using DHTML popup, write out the required DIV tag near the bottom
498
 
// of your page.
499
 
<SCRIPT LANGUAGE="JavaScript">cp.writeDiv()</SCRIPT>
500
 
 
501
 
// Write the 'pickColor' function that will be called when the user clicks
502
 
// a color and do something with the value. This is only required if you
503
 
// want to do something other than simply populate a form field, which is 
504
 
// what the 'select' function will give you.
505
 
function pickColor(color) {
506
 
        field.value = color;
507
 
        }
508
 
 
509
 
NOTES:
510
 
1) Requires the functions in AnchorPosition.js and PopupWindow.js
511
 
 
512
 
2) Your anchor tag MUST contain both NAME and ID attributes which are the 
513
 
   same. For example:
514
 
   <A NAME="test" ID="test"> </A>
515
 
 
516
 
3) There must be at least a space between <A> </A> for IE5.5 to see the 
517
 
   anchor tag correctly. Do not do <A></A> with no space.
518
 
 
519
 
4) When a ColorPicker object is created, a handler for 'onmouseup' is
520
 
   attached to any event handler you may have already defined. Do NOT define
521
 
   an event handler for 'onmouseup' after you define a ColorPicker object or
522
 
   the color picker will not hide itself correctly.
523
 
*/ 
524
 
ColorPicker_targetInput = null;
525
 
function ColorPicker_writeDiv() {
526
 
        document.writeln("<DIV ID=\"colorPickerDiv\" STYLE=\"position:absolute;visibility:hidden;\"> </DIV>");
527
 
        }
528
 
 
529
 
function ColorPicker_show(anchorname) {
530
 
        this.showPopup(anchorname);
531
 
        }
532
 
 
533
 
function ColorPicker_pickColor(color,obj) {
534
 
        obj.hidePopup();
535
 
        pickColor(color);
536
 
        }
537
 
 
538
 
// A Default "pickColor" function to accept the color passed back from popup.
539
 
// User can over-ride this with their own function.
540
 
function pickColor(color) {
541
 
        if (ColorPicker_targetInput==null) {
542
 
                alert("Target Input is null, which means you either didn't use the 'select' function or you have no defined your own 'pickColor' function to handle the picked color!");
543
 
                return;
544
 
                }
545
 
        ColorPicker_targetInput.value = color;
546
 
        }
547
 
 
548
 
// This function is the easiest way to popup the window, select a color, and
549
 
// have the value populate a form field, which is what most people want to do.
550
 
function ColorPicker_select(inputobj,linkname) {
551
 
        if (inputobj.type!="text" && inputobj.type!="hidden" && inputobj.type!="textarea") { 
552
 
                alert("colorpicker.select: Input object passed is not a valid form input object"); 
553
 
                window.ColorPicker_targetInput=null;
554
 
                return;
555
 
                }
556
 
        window.ColorPicker_targetInput = inputobj;
557
 
        this.show(linkname);
558
 
        }
559
 
 
560
 
// This function runs when you move your mouse over a color block, if you have a newer browser
561
 
function ColorPicker_highlightColor(c) {
562
 
        var thedoc = (arguments.length>1)?arguments[1]:window.document;
563
 
        var d = thedoc.getElementById("colorPickerSelectedColor");
564
 
        d.style.backgroundColor = c;
565
 
        d = thedoc.getElementById("colorPickerSelectedColorValue");
566
 
        d.innerHTML = c;
567
 
        }
568
 
 
569
 
function ColorPicker() {
570
 
        var windowMode = false;
571
 
        // Create a new PopupWindow object
572
 
        if (arguments.length==0) {
573
 
                var divname = "colorPickerDiv";
574
 
                }
575
 
        else if (arguments[0] == "window") {
576
 
                var divname = '';
577
 
                windowMode = true;
578
 
                }
579
 
        else {
580
 
                var divname = arguments[0];
581
 
                }
582
 
 
583
 
        if (divname != "") {
584
 
                var cp = new PopupWindow(divname);
585
 
                }
586
 
        else {
587
 
                var cp = new PopupWindow();
588
 
                cp.setSize(225,250);
589
 
                }
590
 
 
591
 
        // Object variables
592
 
        cp.currentValue = "#FFFFFF";
593
 
 
594
 
        // Method Mappings
595
 
        cp.writeDiv = ColorPicker_writeDiv;
596
 
        cp.highlightColor = ColorPicker_highlightColor;
597
 
        cp.show = ColorPicker_show;
598
 
        cp.select = ColorPicker_select;
599
 
 
600
 
        // Code to populate color picker window
601
 
        var colors = new Array( "#4180B6","#69AEE7","#000000","#000033","#000066","#000099","#0000CC","#0000FF","#330000","#330033","#330066","#330099",
602
 
                                                        "#3300CC","#3300FF","#660000","#660033","#660066","#660099","#6600CC","#6600FF","#990000","#990033","#990066","#990099",
603
 
                                                        "#9900CC","#9900FF","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#FF0000","#FF0033","#FF0066","#FF0099",
604
 
                                                        "#FF00CC","#FF00FF","#7FFFFF","#7FFFFF","#7FF7F7","#7FEFEF","#7FE7E7","#7FDFDF","#7FD7D7","#7FCFCF","#7FC7C7","#7FBFBF",
605
 
                                                        "#7FB7B7","#7FAFAF","#7FA7A7","#7F9F9F","#7F9797","#7F8F8F","#7F8787","#7F7F7F","#7F7777","#7F6F6F","#7F6767","#7F5F5F",
606
 
                                                        "#7F5757","#7F4F4F","#7F4747","#7F3F3F","#7F3737","#7F2F2F","#7F2727","#7F1F1F","#7F1717","#7F0F0F","#7F0707","#7F0000",
607
 
 
608
 
                                                        "#4180B6","#69AEE7","#003300","#003333","#003366","#003399","#0033CC","#0033FF","#333300","#333333","#333366","#333399",
609
 
                                                        "#3333CC","#3333FF","#663300","#663333","#663366","#663399","#6633CC","#6633FF","#993300","#993333","#993366","#993399",
610
 
                                                        "#9933CC","#9933FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#FF3300","#FF3333","#FF3366","#FF3399",
611
 
                                                        "#FF33CC","#FF33FF","#FF7FFF","#FF7FFF","#F77FF7","#EF7FEF","#E77FE7","#DF7FDF","#D77FD7","#CF7FCF","#C77FC7","#BF7FBF",
612
 
                                                        "#B77FB7","#AF7FAF","#A77FA7","#9F7F9F","#977F97","#8F7F8F","#877F87","#7F7F7F","#777F77","#6F7F6F","#677F67","#5F7F5F",
613
 
                                                        "#577F57","#4F7F4F","#477F47","#3F7F3F","#377F37","#2F7F2F","#277F27","#1F7F1F","#177F17","#0F7F0F","#077F07","#007F00",
614
 
 
615
 
                                                        "#4180B6","#69AEE7","#006600","#006633","#006666","#006699","#0066CC","#0066FF","#336600","#336633","#336666","#336699",
616
 
                                                        "#3366CC","#3366FF","#666600","#666633","#666666","#666699","#6666CC","#6666FF","#996600","#996633","#996666","#996699",
617
 
                                                        "#9966CC","#9966FF","#CC6600","#CC6633","#CC6666","#CC6699","#CC66CC","#CC66FF","#FF6600","#FF6633","#FF6666","#FF6699",
618
 
                                                        "#FF66CC","#FF66FF","#FFFF7F","#FFFF7F","#F7F77F","#EFEF7F","#E7E77F","#DFDF7F","#D7D77F","#CFCF7F","#C7C77F","#BFBF7F",
619
 
                                                        "#B7B77F","#AFAF7F","#A7A77F","#9F9F7F","#97977F","#8F8F7F","#87877F","#7F7F7F","#77777F","#6F6F7F","#67677F","#5F5F7F",
620
 
                                                        "#57577F","#4F4F7F","#47477F","#3F3F7F","#37377F","#2F2F7F","#27277F","#1F1F7F","#17177F","#0F0F7F","#07077F","#00007F",
621
 
 
622
 
                                                        "#4180B6","#69AEE7","#009900","#009933","#009966","#009999","#0099CC","#0099FF","#339900","#339933","#339966","#339999",
623
 
                                                        "#3399CC","#3399FF","#669900","#669933","#669966","#669999","#6699CC","#6699FF","#999900","#999933","#999966","#999999",
624
 
                                                        "#9999CC","#9999FF","#CC9900","#CC9933","#CC9966","#CC9999","#CC99CC","#CC99FF","#FF9900","#FF9933","#FF9966","#FF9999",
625
 
                                                        "#FF99CC","#FF99FF","#3FFFFF","#3FFFFF","#3FF7F7","#3FEFEF","#3FE7E7","#3FDFDF","#3FD7D7","#3FCFCF","#3FC7C7","#3FBFBF",
626
 
                                                        "#3FB7B7","#3FAFAF","#3FA7A7","#3F9F9F","#3F9797","#3F8F8F","#3F8787","#3F7F7F","#3F7777","#3F6F6F","#3F6767","#3F5F5F",
627
 
                                                        "#3F5757","#3F4F4F","#3F4747","#3F3F3F","#3F3737","#3F2F2F","#3F2727","#3F1F1F","#3F1717","#3F0F0F","#3F0707","#3F0000",
628
 
 
629
 
                                                        "#4180B6","#69AEE7","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#33CC00","#33CC33","#33CC66","#33CC99",
630
 
                                                        "#33CCCC","#33CCFF","#66CC00","#66CC33","#66CC66","#66CC99","#66CCCC","#66CCFF","#99CC00","#99CC33","#99CC66","#99CC99",
631
 
                                                        "#99CCCC","#99CCFF","#CCCC00","#CCCC33","#CCCC66","#CCCC99","#CCCCCC","#CCCCFF","#FFCC00","#FFCC33","#FFCC66","#FFCC99",
632
 
                                                        "#FFCCCC","#FFCCFF","#FF3FFF","#FF3FFF","#F73FF7","#EF3FEF","#E73FE7","#DF3FDF","#D73FD7","#CF3FCF","#C73FC7","#BF3FBF",
633
 
                                                        "#B73FB7","#AF3FAF","#A73FA7","#9F3F9F","#973F97","#8F3F8F","#873F87","#7F3F7F","#773F77","#6F3F6F","#673F67","#5F3F5F",
634
 
                                                        "#573F57","#4F3F4F","#473F47","#3F3F3F","#373F37","#2F3F2F","#273F27","#1F3F1F","#173F17","#0F3F0F","#073F07","#003F00",
635
 
 
636
 
                                                        "#4180B6","#69AEE7","#00FF00","#00FF33","#00FF66","#00FF99","#00FFCC","#00FFFF","#33FF00","#33FF33","#33FF66","#33FF99",
637
 
                                                        "#33FFCC","#33FFFF","#66FF00","#66FF33","#66FF66","#66FF99","#66FFCC","#66FFFF","#99FF00","#99FF33","#99FF66","#99FF99",
638
 
                                                        "#99FFCC","#99FFFF","#CCFF00","#CCFF33","#CCFF66","#CCFF99","#CCFFCC","#CCFFFF","#FFFF00","#FFFF33","#FFFF66","#FFFF99",
639
 
                                                        "#FFFFCC","#FFFFFF","#FFFF3F","#FFFF3F","#F7F73F","#EFEF3F","#E7E73F","#DFDF3F","#D7D73F","#CFCF3F","#C7C73F","#BFBF3F",
640
 
                                                        "#B7B73F","#AFAF3F","#A7A73F","#9F9F3F","#97973F","#8F8F3F","#87873F","#7F7F3F","#77773F","#6F6F3F","#67673F","#5F5F3F",
641
 
                                                        "#57573F","#4F4F3F","#47473F","#3F3F3F","#37373F","#2F2F3F","#27273F","#1F1F3F","#17173F","#0F0F3F","#07073F","#00003F",
642
 
 
643
 
                                                        "#4180B6","#69AEE7","#FFFFFF","#FFEEEE","#FFDDDD","#FFCCCC","#FFBBBB","#FFAAAA","#FF9999","#FF8888","#FF7777","#FF6666",
644
 
                                                        "#FF5555","#FF4444","#FF3333","#FF2222","#FF1111","#FF0000","#FF0000","#FF0000","#FF0000","#EE0000","#DD0000","#CC0000",
645
 
                                                        "#BB0000","#AA0000","#990000","#880000","#770000","#660000","#550000","#440000","#330000","#220000","#110000","#000000",
646
 
                                                        "#000000","#000000","#000000","#001111","#002222","#003333","#004444","#005555","#006666","#007777","#008888","#009999",
647
 
                                                        "#00AAAA","#00BBBB","#00CCCC","#00DDDD","#00EEEE","#00FFFF","#00FFFF","#00FFFF","#00FFFF","#11FFFF","#22FFFF","#33FFFF",
648
 
                                                        "#44FFFF","#55FFFF","#66FFFF","#77FFFF","#88FFFF","#99FFFF","#AAFFFF","#BBFFFF","#CCFFFF","#DDFFFF","#EEFFFF","#FFFFFF",
649
 
 
650
 
                                                        "#4180B6","#69AEE7","#FFFFFF","#EEFFEE","#DDFFDD","#CCFFCC","#BBFFBB","#AAFFAA","#99FF99","#88FF88","#77FF77","#66FF66",
651
 
                                                        "#55FF55","#44FF44","#33FF33","#22FF22","#11FF11","#00FF00","#00FF00","#00FF00","#00FF00","#00EE00","#00DD00","#00CC00",
652
 
                                                        "#00BB00","#00AA00","#009900","#008800","#007700","#006600","#005500","#004400","#003300","#002200","#001100","#000000",
653
 
                                                        "#000000","#000000","#000000","#110011","#220022","#330033","#440044","#550055","#660066","#770077","#880088","#990099",
654
 
                                                        "#AA00AA","#BB00BB","#CC00CC","#DD00DD","#EE00EE","#FF00FF","#FF00FF","#FF00FF","#FF00FF","#FF11FF","#FF22FF","#FF33FF",
655
 
                                                        "#FF44FF","#FF55FF","#FF66FF","#FF77FF","#FF88FF","#FF99FF","#FFAAFF","#FFBBFF","#FFCCFF","#FFDDFF","#FFEEFF","#FFFFFF",
656
 
 
657
 
                                                        "#4180B6","#69AEE7","#FFFFFF","#EEEEFF","#DDDDFF","#CCCCFF","#BBBBFF","#AAAAFF","#9999FF","#8888FF","#7777FF","#6666FF",
658
 
                                                        "#5555FF","#4444FF","#3333FF","#2222FF","#1111FF","#0000FF","#0000FF","#0000FF","#0000FF","#0000EE","#0000DD","#0000CC",
659
 
                                                        "#0000BB","#0000AA","#000099","#000088","#000077","#000066","#000055","#000044","#000033","#000022","#000011","#000000",
660
 
                                                        "#000000","#000000","#000000","#111100","#222200","#333300","#444400","#555500","#666600","#777700","#888800","#999900",
661
 
                                                        "#AAAA00","#BBBB00","#CCCC00","#DDDD00","#EEEE00","#FFFF00","#FFFF00","#FFFF00","#FFFF00","#FFFF11","#FFFF22","#FFFF33",
662
 
                                                        "#FFFF44","#FFFF55","#FFFF66","#FFFF77","#FFFF88","#FFFF99","#FFFFAA","#FFFFBB","#FFFFCC","#FFFFDD","#FFFFEE","#FFFFFF",
663
 
 
664
 
                                                        "#4180B6","#69AEE7","#FFFFFF","#FFFFFF","#FBFBFB","#F7F7F7","#F3F3F3","#EFEFEF","#EBEBEB","#E7E7E7","#E3E3E3","#DFDFDF",
665
 
                                                        "#DBDBDB","#D7D7D7","#D3D3D3","#CFCFCF","#CBCBCB","#C7C7C7","#C3C3C3","#BFBFBF","#BBBBBB","#B7B7B7","#B3B3B3","#AFAFAF",
666
 
                                                        "#ABABAB","#A7A7A7","#A3A3A3","#9F9F9F","#9B9B9B","#979797","#939393","#8F8F8F","#8B8B8B","#878787","#838383","#7F7F7F",
667
 
                                                        "#7B7B7B","#777777","#737373","#6F6F6F","#6B6B6B","#676767","#636363","#5F5F5F","#5B5B5B","#575757","#535353","#4F4F4F",
668
 
                                                        "#4B4B4B","#474747","#434343","#3F3F3F","#3B3B3B","#373737","#333333","#2F2F2F","#2B2B2B","#272727","#232323","#1F1F1F",
669
 
                                                        "#1B1B1B","#171717","#131313","#0F0F0F","#0B0B0B","#070707","#030303","#000000","#000000","#000000","#000000","#000000");
670
 
        var total = colors.length;
671
 
        var width = 72;
672
 
        var cp_contents = "";
673
 
        var windowRef = (windowMode)?"window.opener.":"";
674
 
        if (windowMode) {
675
 
                cp_contents += "<html><head><title>Select Color</title></head>";
676
 
                cp_contents += "<body marginwidth=0 marginheight=0 leftmargin=0 topmargin=0><span style='text-align: center;'>";
677
 
                }
678
 
        cp_contents += "<table style='border: none;' cellspacing=0 cellpadding=0>";
679
 
        var use_highlight = (document.getElementById || document.all)?true:false;
680
 
        for (var i=0; i<total; i++) {
681
 
                if ((i % width) == 0) { cp_contents += "<tr>"; }
682
 
                if (use_highlight) { var mo = 'onMouseOver="'+windowRef+'ColorPicker_highlightColor(\''+colors[i]+'\',window.document)"'; }
683
 
                else { mo = ""; }
684
 
                cp_contents += '<td style="background-color: '+colors[i]+';"><a href="javascript:void()" onclick="'+windowRef+'ColorPicker_pickColor(\''+colors[i]+'\','+windowRef+'window.popupWindowObjects['+cp.index+']);return false;" '+mo+'>&nbsp;</a></td>';
685
 
                if ( ((i+1)>=total) || (((i+1) % width) == 0)) { 
686
 
                        cp_contents += "</tr>";
687
 
                        }
688
 
                }
689
 
        // If the browser supports dynamically changing TD cells, add the fancy stuff
690
 
        if (document.getElementById) {
691
 
                var width1 = Math.floor(width/2);
692
 
                var width2 = width = width1;
693
 
                cp_contents += "<tr><td colspan='"+width1+"' style='background-color: #FFF;' ID='colorPickerSelectedColor'>&nbsp;</td><td colspan='"+width2+"' style='text-align: center;' id='colorPickerSelectedColorValue'>#FFFFFF</td></tr>";
694
 
                }
695
 
        cp_contents += "</table>";
696
 
        if (windowMode) {
697
 
                cp_contents += "</span></body></html>";
698
 
                }
699
 
        // end populate code
700
 
 
701
 
        // Write the contents to the popup object
702
 
        cp.populate(cp_contents+"\n");
703
 
        // Move the table down a bit so you can see it
704
 
        cp.offsetY = 25;
705
 
        cp.autoHide();
706
 
        return cp;
707
 
        }
 
1
function getAnchorPosition(b){var e=false;var k=new Object();var j=0,g=0;var d=false,f=false,h=false;if(document.getElementById){d=true}else{if(document.all){f=true}else{if(document.layers){h=true}}}if(d&&document.all){j=AnchorPosition_getPageOffsetLeft(document.all[b]);g=AnchorPosition_getPageOffsetTop(document.all[b])}else{if(d){var a=document.getElementById(b);j=AnchorPosition_getPageOffsetLeft(a);g=AnchorPosition_getPageOffsetTop(a)}else{if(f){j=AnchorPosition_getPageOffsetLeft(document.all[b]);g=AnchorPosition_getPageOffsetTop(document.all[b])}else{if(h){var l=0;for(var c=0;c<document.anchors.length;c++){if(document.anchors[c].name==b){l=1;break}}if(l==0){k.x=0;k.y=0;return k}j=document.anchors[c].x;g=document.anchors[c].y}else{k.x=0;k.y=0;return k}}}}k.x=j;k.y=g;return k}function getAnchorWindowPosition(b){var c=getAnchorPosition(b);var a=0;var d=0;if(document.getElementById){if(isNaN(window.screenX)){a=c.x-document.body.scrollLeft+window.screenLeft;d=c.y-document.body.scrollTop+window.screenTop}else{a=c.x+window.screenX+(window.outerWidth-window.innerWidth)-window.pageXOffset;d=c.y+window.screenY+(window.outerHeight-24-window.innerHeight)-window.pageYOffset}}else{if(document.all){a=c.x-document.body.scrollLeft+window.screenLeft;d=c.y-document.body.scrollTop+window.screenTop}else{if(document.layers){a=c.x+window.screenX+(window.outerWidth-window.innerWidth)-window.pageXOffset;d=c.y+window.screenY+(window.outerHeight-24-window.innerHeight)-window.pageYOffset}}}c.x=a;c.y=d;return c}function AnchorPosition_getPageOffsetLeft(b){var a=b.offsetLeft;while((b=b.offsetParent)!=null){a+=b.offsetLeft}return a}function AnchorPosition_getWindowOffsetLeft(a){return AnchorPosition_getPageOffsetLeft(a)-document.body.scrollLeft}function AnchorPosition_getPageOffsetTop(a){var b=a.offsetTop;while((a=a.offsetParent)!=null){b+=a.offsetTop}return b}function AnchorPosition_getWindowOffsetTop(a){return AnchorPosition_getPageOffsetTop(a)-document.body.scrollTop}function PopupWindow_getXYPosition(a){var b;if(this.type=="WINDOW"){b=getAnchorWindowPosition(a)}else{b=getAnchorPosition(a)}this.x=b.x;this.y=b.y}function PopupWindow_setSize(b,a){this.width=b;this.height=a}function PopupWindow_populate(a){this.contents=a;this.populated=false}function PopupWindow_setUrl(a){this.url=a}function PopupWindow_setWindowProperties(a){this.windowProperties=a}function PopupWindow_refresh(){if(this.divName!=null){if(this.use_gebi){document.getElementById(this.divName).innerHTML=this.contents}else{if(this.use_css){document.all[this.divName].innerHTML=this.contents}else{if(this.use_layers){var a=document.layers[this.divName];a.document.open();a.document.writeln(this.contents);a.document.close()}}}}else{if(this.popupWindow!=null&&!this.popupWindow.closed){if(this.url!=""){this.popupWindow.location.href=this.url}else{this.popupWindow.document.open();this.popupWindow.document.writeln(this.contents);this.popupWindow.document.close()}this.popupWindow.focus()}}}function PopupWindow_showPopup(a){this.getXYPosition(a);this.x+=this.offsetX;this.y+=this.offsetY;if(!this.populated&&(this.contents!="")){this.populated=true;this.refresh()}if(this.divName!=null){if(this.use_gebi){document.getElementById(this.divName).style.left=this.x+"px";document.getElementById(this.divName).style.top=this.y;document.getElementById(this.divName).style.visibility="visible"}else{if(this.use_css){document.all[this.divName].style.left=this.x;document.all[this.divName].style.top=this.y;document.all[this.divName].style.visibility="visible"}else{if(this.use_layers){document.layers[this.divName].left=this.x;document.layers[this.divName].top=this.y;document.layers[this.divName].visibility="visible"}}}}else{if(this.popupWindow==null||this.popupWindow.closed){if(this.x<0){this.x=0}if(this.y<0){this.y=0}if(screen&&screen.availHeight){if((this.y+this.height)>screen.availHeight){this.y=screen.availHeight-this.height}}if(screen&&screen.availWidth){if((this.x+this.width)>screen.availWidth){this.x=screen.availWidth-this.width}}var b=window.opera||(document.layers&&!navigator.mimeTypes["*"])||navigator.vendor=="KDE"||(document.childNodes&&!document.all&&!navigator.taintEnabled);this.popupWindow=window.open(b?"":"about:blank","window_"+a,this.windowProperties+",width="+this.width+",height="+this.height+",screenX="+this.x+",left="+this.x+",screenY="+this.y+",top="+this.y+"")}this.refresh()}}function PopupWindow_hidePopup(){if(this.divName!=null){if(this.use_gebi){document.getElementById(this.divName).style.visibility="hidden"}else{if(this.use_css){document.all[this.divName].style.visibility="hidden"}else{if(this.use_layers){document.layers[this.divName].visibility="hidden"}}}}else{if(this.popupWindow&&!this.popupWindow.closed){this.popupWindow.close();this.popupWindow=null}}}function PopupWindow_isClicked(c){if(this.divName!=null){if(this.use_layers){var d=c.pageX;var b=c.pageY;var a=document.layers[this.divName];if((d>a.left)&&(d<a.left+a.clip.width)&&(b>a.top)&&(b<a.top+a.clip.height)){return true}else{return false}}else{if(document.all){var a=window.event.srcElement;while(a.parentElement!=null){if(a.id==this.divName){return true}a=a.parentElement}return false}else{if(this.use_gebi&&c){var a=c.originalTarget;while(a.parentNode!=null){if(a.id==this.divName){return true}a=a.parentNode}return false}}}return false}return false}function PopupWindow_hideIfNotClicked(a){if(this.autoHideEnabled&&!this.isClicked(a)){this.hidePopup()}}function PopupWindow_autoHide(){this.autoHideEnabled=true}function PopupWindow_hidePopupWindows(c){for(var a=0;a<popupWindowObjects.length;a++){if(popupWindowObjects[a]!=null){var b=popupWindowObjects[a];b.hideIfNotClicked(c)}}}function PopupWindow_attachListener(){if(document.layers){document.captureEvents(Event.MOUSEUP)}window.popupWindowOldEventListener=document.onmouseup;if(window.popupWindowOldEventListener!=null){document.onmouseup=new Function("window.popupWindowOldEventListener(); PopupWindow_hidePopupWindows();")}else{document.onmouseup=PopupWindow_hidePopupWindows}}function PopupWindow(){if(!window.popupWindowIndex){window.popupWindowIndex=0}if(!window.popupWindowObjects){window.popupWindowObjects=new Array()}if(!window.listenerAttached){window.listenerAttached=true;PopupWindow_attachListener()}this.index=popupWindowIndex++;popupWindowObjects[this.index]=this;this.divName=null;this.popupWindow=null;this.width=0;this.height=0;this.populated=false;this.visible=false;this.autoHideEnabled=false;this.contents="";this.url="";this.windowProperties="toolbar=no,location=no,status=no,menubar=no,scrollbars=auto,resizable,alwaysRaised,dependent,titlebar=no";if(arguments.length>0){this.type="DIV";this.divName=arguments[0]}else{this.type="WINDOW"}this.use_gebi=false;this.use_css=false;this.use_layers=false;if(document.getElementById){this.use_gebi=true}else{if(document.all){this.use_css=true}else{if(document.layers){this.use_layers=true}else{this.type="WINDOW"}}}this.offsetX=0;this.offsetY=0;this.getXYPosition=PopupWindow_getXYPosition;this.populate=PopupWindow_populate;this.setUrl=PopupWindow_setUrl;this.setWindowProperties=PopupWindow_setWindowProperties;this.refresh=PopupWindow_refresh;this.showPopup=PopupWindow_showPopup;this.hidePopup=PopupWindow_hidePopup;this.setSize=PopupWindow_setSize;this.isClicked=PopupWindow_isClicked;this.autoHide=PopupWindow_autoHide;this.hideIfNotClicked=PopupWindow_hideIfNotClicked}ColorPicker_targetInput=null;function ColorPicker_writeDiv(){document.writeln('<DIV ID="colorPickerDiv" STYLE="position:absolute;visibility:hidden;"> </DIV>')}function ColorPicker_show(a){this.showPopup(a)}function ColorPicker_pickColor(a,b){b.hidePopup();pickColor(a)}function pickColor(a){if(ColorPicker_targetInput==null){alert("Target Input is null, which means you either didn't use the 'select' function or you have no defined your own 'pickColor' function to handle the picked color!");return}ColorPicker_targetInput.value=a}function ColorPicker_select(b,a){if(b.type!="text"&&b.type!="hidden"&&b.type!="textarea"){alert("colorpicker.select: Input object passed is not a valid form input object");window.ColorPicker_targetInput=null;return}window.ColorPicker_targetInput=b;this.show(a)}function ColorPicker_highlightColor(e){var a=(arguments.length>1)?arguments[1]:window.document;var b=a.getElementById("colorPickerSelectedColor");b.style.backgroundColor=e;b=a.getElementById("colorPickerSelectedColorValue");b.innerHTML=e}function ColorPicker(){var g=false;if(arguments.length==0){var e="colorPickerDiv"}else{if(arguments[0]=="window"){var e="";g=true}else{var e=arguments[0]}}if(e!=""){var m=new PopupWindow(e)}else{var m=new PopupWindow();m.setSize(225,250)}m.currentValue="#FFFFFF";m.writeDiv=ColorPicker_writeDiv;m.highlightColor=ColorPicker_highlightColor;m.show=ColorPicker_show;m.select=ColorPicker_select;var a=new Array("#4180B6","#69AEE7","#000000","#000033","#000066","#000099","#0000CC","#0000FF","#330000","#330033","#330066","#330099","#3300CC","#3300FF","#660000","#660033","#660066","#660099","#6600CC","#6600FF","#990000","#990033","#990066","#990099","#9900CC","#9900FF","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#7FFFFF","#7FFFFF","#7FF7F7","#7FEFEF","#7FE7E7","#7FDFDF","#7FD7D7","#7FCFCF","#7FC7C7","#7FBFBF","#7FB7B7","#7FAFAF","#7FA7A7","#7F9F9F","#7F9797","#7F8F8F","#7F8787","#7F7F7F","#7F7777","#7F6F6F","#7F6767","#7F5F5F","#7F5757","#7F4F4F","#7F4747","#7F3F3F","#7F3737","#7F2F2F","#7F2727","#7F1F1F","#7F1717","#7F0F0F","#7F0707","#7F0000","#4180B6","#69AEE7","#003300","#003333","#003366","#003399","#0033CC","#0033FF","#333300","#333333","#333366","#333399","#3333CC","#3333FF","#663300","#663333","#663366","#663399","#6633CC","#6633FF","#993300","#993333","#993366","#993399","#9933CC","#9933FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF7FFF","#FF7FFF","#F77FF7","#EF7FEF","#E77FE7","#DF7FDF","#D77FD7","#CF7FCF","#C77FC7","#BF7FBF","#B77FB7","#AF7FAF","#A77FA7","#9F7F9F","#977F97","#8F7F8F","#877F87","#7F7F7F","#777F77","#6F7F6F","#677F67","#5F7F5F","#577F57","#4F7F4F","#477F47","#3F7F3F","#377F37","#2F7F2F","#277F27","#1F7F1F","#177F17","#0F7F0F","#077F07","#007F00","#4180B6","#69AEE7","#006600","#006633","#006666","#006699","#0066CC","#0066FF","#336600","#336633","#336666","#336699","#3366CC","#3366FF","#666600","#666633","#666666","#666699","#6666CC","#6666FF","#996600","#996633","#996666","#996699","#9966CC","#9966FF","#CC6600","#CC6633","#CC6666","#CC6699","#CC66CC","#CC66FF","#FF6600","#FF6633","#FF6666","#FF6699","#FF66CC","#FF66FF","#FFFF7F","#FFFF7F","#F7F77F","#EFEF7F","#E7E77F","#DFDF7F","#D7D77F","#CFCF7F","#C7C77F","#BFBF7F","#B7B77F","#AFAF7F","#A7A77F","#9F9F7F","#97977F","#8F8F7F","#87877F","#7F7F7F","#77777F","#6F6F7F","#67677F","#5F5F7F","#57577F","#4F4F7F","#47477F","#3F3F7F","#37377F","#2F2F7F","#27277F","#1F1F7F","#17177F","#0F0F7F","#07077F","#00007F","#4180B6","#69AEE7","#009900","#009933","#009966","#009999","#0099CC","#0099FF","#339900","#339933","#339966","#339999","#3399CC","#3399FF","#669900","#669933","#669966","#669999","#6699CC","#6699FF","#999900","#999933","#999966","#999999","#9999CC","#9999FF","#CC9900","#CC9933","#CC9966","#CC9999","#CC99CC","#CC99FF","#FF9900","#FF9933","#FF9966","#FF9999","#FF99CC","#FF99FF","#3FFFFF","#3FFFFF","#3FF7F7","#3FEFEF","#3FE7E7","#3FDFDF","#3FD7D7","#3FCFCF","#3FC7C7","#3FBFBF","#3FB7B7","#3FAFAF","#3FA7A7","#3F9F9F","#3F9797","#3F8F8F","#3F8787","#3F7F7F","#3F7777","#3F6F6F","#3F6767","#3F5F5F","#3F5757","#3F4F4F","#3F4747","#3F3F3F","#3F3737","#3F2F2F","#3F2727","#3F1F1F","#3F1717","#3F0F0F","#3F0707","#3F0000","#4180B6","#69AEE7","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#66CC00","#66CC33","#66CC66","#66CC99","#66CCCC","#66CCFF","#99CC00","#99CC33","#99CC66","#99CC99","#99CCCC","#99CCFF","#CCCC00","#CCCC33","#CCCC66","#CCCC99","#CCCCCC","#CCCCFF","#FFCC00","#FFCC33","#FFCC66","#FFCC99","#FFCCCC","#FFCCFF","#FF3FFF","#FF3FFF","#F73FF7","#EF3FEF","#E73FE7","#DF3FDF","#D73FD7","#CF3FCF","#C73FC7","#BF3FBF","#B73FB7","#AF3FAF","#A73FA7","#9F3F9F","#973F97","#8F3F8F","#873F87","#7F3F7F","#773F77","#6F3F6F","#673F67","#5F3F5F","#573F57","#4F3F4F","#473F47","#3F3F3F","#373F37","#2F3F2F","#273F27","#1F3F1F","#173F17","#0F3F0F","#073F07","#003F00","#4180B6","#69AEE7","#00FF00","#00FF33","#00FF66","#00FF99","#00FFCC","#00FFFF","#33FF00","#33FF33","#33FF66","#33FF99","#33FFCC","#33FFFF","#66FF00","#66FF33","#66FF66","#66FF99","#66FFCC","#66FFFF","#99FF00","#99FF33","#99FF66","#99FF99","#99FFCC","#99FFFF","#CCFF00","#CCFF33","#CCFF66","#CCFF99","#CCFFCC","#CCFFFF","#FFFF00","#FFFF33","#FFFF66","#FFFF99","#FFFFCC","#FFFFFF","#FFFF3F","#FFFF3F","#F7F73F","#EFEF3F","#E7E73F","#DFDF3F","#D7D73F","#CFCF3F","#C7C73F","#BFBF3F","#B7B73F","#AFAF3F","#A7A73F","#9F9F3F","#97973F","#8F8F3F","#87873F","#7F7F3F","#77773F","#6F6F3F","#67673F","#5F5F3F","#57573F","#4F4F3F","#47473F","#3F3F3F","#37373F","#2F2F3F","#27273F","#1F1F3F","#17173F","#0F0F3F","#07073F","#00003F","#4180B6","#69AEE7","#FFFFFF","#FFEEEE","#FFDDDD","#FFCCCC","#FFBBBB","#FFAAAA","#FF9999","#FF8888","#FF7777","#FF6666","#FF5555","#FF4444","#FF3333","#FF2222","#FF1111","#FF0000","#FF0000","#FF0000","#FF0000","#EE0000","#DD0000","#CC0000","#BB0000","#AA0000","#990000","#880000","#770000","#660000","#550000","#440000","#330000","#220000","#110000","#000000","#000000","#000000","#000000","#001111","#002222","#003333","#004444","#005555","#006666","#007777","#008888","#009999","#00AAAA","#00BBBB","#00CCCC","#00DDDD","#00EEEE","#00FFFF","#00FFFF","#00FFFF","#00FFFF","#11FFFF","#22FFFF","#33FFFF","#44FFFF","#55FFFF","#66FFFF","#77FFFF","#88FFFF","#99FFFF","#AAFFFF","#BBFFFF","#CCFFFF","#DDFFFF","#EEFFFF","#FFFFFF","#4180B6","#69AEE7","#FFFFFF","#EEFFEE","#DDFFDD","#CCFFCC","#BBFFBB","#AAFFAA","#99FF99","#88FF88","#77FF77","#66FF66","#55FF55","#44FF44","#33FF33","#22FF22","#11FF11","#00FF00","#00FF00","#00FF00","#00FF00","#00EE00","#00DD00","#00CC00","#00BB00","#00AA00","#009900","#008800","#007700","#006600","#005500","#004400","#003300","#002200","#001100","#000000","#000000","#000000","#000000","#110011","#220022","#330033","#440044","#550055","#660066","#770077","#880088","#990099","#AA00AA","#BB00BB","#CC00CC","#DD00DD","#EE00EE","#FF00FF","#FF00FF","#FF00FF","#FF00FF","#FF11FF","#FF22FF","#FF33FF","#FF44FF","#FF55FF","#FF66FF","#FF77FF","#FF88FF","#FF99FF","#FFAAFF","#FFBBFF","#FFCCFF","#FFDDFF","#FFEEFF","#FFFFFF","#4180B6","#69AEE7","#FFFFFF","#EEEEFF","#DDDDFF","#CCCCFF","#BBBBFF","#AAAAFF","#9999FF","#8888FF","#7777FF","#6666FF","#5555FF","#4444FF","#3333FF","#2222FF","#1111FF","#0000FF","#0000FF","#0000FF","#0000FF","#0000EE","#0000DD","#0000CC","#0000BB","#0000AA","#000099","#000088","#000077","#000066","#000055","#000044","#000033","#000022","#000011","#000000","#000000","#000000","#000000","#111100","#222200","#333300","#444400","#555500","#666600","#777700","#888800","#999900","#AAAA00","#BBBB00","#CCCC00","#DDDD00","#EEEE00","#FFFF00","#FFFF00","#FFFF00","#FFFF00","#FFFF11","#FFFF22","#FFFF33","#FFFF44","#FFFF55","#FFFF66","#FFFF77","#FFFF88","#FFFF99","#FFFFAA","#FFFFBB","#FFFFCC","#FFFFDD","#FFFFEE","#FFFFFF","#4180B6","#69AEE7","#FFFFFF","#FFFFFF","#FBFBFB","#F7F7F7","#F3F3F3","#EFEFEF","#EBEBEB","#E7E7E7","#E3E3E3","#DFDFDF","#DBDBDB","#D7D7D7","#D3D3D3","#CFCFCF","#CBCBCB","#C7C7C7","#C3C3C3","#BFBFBF","#BBBBBB","#B7B7B7","#B3B3B3","#AFAFAF","#ABABAB","#A7A7A7","#A3A3A3","#9F9F9F","#9B9B9B","#979797","#939393","#8F8F8F","#8B8B8B","#878787","#838383","#7F7F7F","#7B7B7B","#777777","#737373","#6F6F6F","#6B6B6B","#676767","#636363","#5F5F5F","#5B5B5B","#575757","#535353","#4F4F4F","#4B4B4B","#474747","#434343","#3F3F3F","#3B3B3B","#373737","#333333","#2F2F2F","#2B2B2B","#272727","#232323","#1F1F1F","#1B1B1B","#171717","#131313","#0F0F0F","#0B0B0B","#070707","#030303","#000000","#000000","#000000","#000000","#000000");var n=a.length;var c=72;var k="";var j=(g)?"window.opener.":"";if(g){k+="<html><head><title>Select Color</title></head>";k+="<body marginwidth=0 marginheight=0 leftmargin=0 topmargin=0><span style='text-align: center;'>"}k+="<table style='border: none;' cellspacing=0 cellpadding=0>";var l=(document.getElementById||document.all)?true:false;for(var h=0;h<n;h++){if((h%c)==0){k+="<tr>"}if(l){var f='onMouseOver="'+j+"ColorPicker_highlightColor('"+a[h]+"',window.document)\""}else{f=""}k+='<td style="background-color: '+a[h]+';"><a href="javascript:void()" onclick="'+j+"ColorPicker_pickColor('"+a[h]+"',"+j+"window.popupWindowObjects["+m.index+']);return false;" '+f+">&nbsp;</a></td>";if(((h+1)>=n)||(((h+1)%c)==0)){k+="</tr>"}}if(document.getElementById){var d=Math.floor(c/2);var b=c=d;k+="<tr><td colspan='"+d+"' style='background-color: #FFF;' ID='colorPickerSelectedColor'>&nbsp;</td><td colspan='"+b+"' style='text-align: center;' id='colorPickerSelectedColorValue'>#FFFFFF</td></tr>"}k+="</table>";if(g){k+="</span></body></html>"}m.populate(k+"\n");m.offsetY=25;m.autoHide();return m};
 
 
b'\\ No newline at end of file'