[ Index ] |
PHP Cross Reference of WordPress Trunk (Updated Daily) |
[Summary view] [Print] [Text view]
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+'> </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'> </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 }
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
Generated : Fri Nov 15 08:20:01 2024 | Cross-referenced by PHPXref |