// ===================================================================
// Author: Matt Kruse <matt@mattkruse.com>
// WWW: http://www.mattkruse.com/
//
// NOTICE: You may use this code for any purpose, commercial or
// private, without any further permission from the author. You may
// remove this notice from your final code if you wish, however it is
// appreciated by the author if at least my web site address is kept.
//
// You may *NOT* re-distribute this code in any way except through its
// use. That means, you can include it in your product, or your web
// site, or any other form where the code is actually being used. You
// may not put the plain javascript up on your site for download or
// include it in your javascript libraries for download. 
// If you wish to share this code with others, please just point them
// to the URL instead.
// Please DO NOT link directly to my .js files from your site. Copy
// the files to your server and use them there. Thank you.
// ===================================================================

/* 
Last modified: 02/24/2003

DESCRIPTION: This widget is used to select a color, in hexadecimal #RRGGBB 
form. It uses a color "swatch" to display the standard 216-color web-safe 
palette. The user can then click on a color to select it.

COMPATABILITY: See notes in AnchorPosition.js and PopupWindow.js.
Only the latest DHTML-capable browsers will show the color and hex values
at the bottom as your mouse goes over them.

USAGE:
// Create a new ColorPicker object using DHTML popup
var cp = new ColorPicker();

// Create a new ColorPicker object using Window Popup
var cp = new ColorPicker('window');

// Add a link in your page to trigger the popup. For example:
<A HREF="#" onClick="cp.show('pick');return false;" NAME="pick" ID="pick">Pick</A>

// Or use the built-in "select" function to do the dirty work for you:
<A HREF="#" onClick="cp.select(document.forms[0].color,'pick');return false;" NAME="pick" ID="pick">Pick</A>

// If using DHTML popup, write out the required DIV tag near the bottom
// of your page.
<SCRIPT LANGUAGE="JavaScript">cp.writeDiv()</SCRIPT>

// Write the 'pickColor' function that will be called when the user clicks
// a color and do something with the value. This is only required if you
// want to do something other than simply populate a form field, which is 
// what the 'select' function will give you.
function pickColor(color) {
	field.value = color;
	}

NOTES:
1) Requires the functions in AnchorPosition.js and PopupWindow.js

2) Your anchor tag MUST contain both NAME and ID attributes which are the 
   same. For example:
   <A NAME="test" ID="test"> </A>

3) There must be at least a space between <A> </A> for IE5.5 to see the 
   anchor tag correctly. Do not do <A></A> with no space.

4) When a ColorPicker object is created, a handler for 'onmouseup' is
   attached to any event handler you may have already defined. Do NOT define
   an event handler for 'onmouseup' after you define a ColorPicker object or
   the color picker will not hide itself correctly.
*/ 
var ColorPicker_targetInput = null;
function ColorPicker_writeDiv() {
	document.writeln("<DIV ID=\"colorPickerDiv\" STYLE=\"position:absolute;visibility:hidden;\"> </DIV>");
	}

function ColorPicker_writeDiv1() {
	document.writeln("<DIV ID=\"colorPickerDiv\" STYLE=\"position:absolute;visibility:hidden;\"> </DIV>");
	}

function ColorPicker_show(anchorname) {
	this.showPopup(anchorname);
	}

function ColorPicker_pickColor(color,obj) {
	obj.hidePopup();
	pickColor(color);
	
	}

function ColorPicker_pickColor1(color,obj) {
	obj.hidePopup();
	
	pickColor1(color);
	}

// A Default "pickColor" function to accept the color passed back from popup.
// User can over-ride this with their own function.
function pickColor(color) {
	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 = color;
	}

// This function is the easiest way to popup the window, select a color, and
// have the value populate a form field, which is what most people want to do.
function ColorPicker_select(inputobj,linkname) {
	if (inputobj.type!="text" && inputobj.type!="hidden" && inputobj.type!="textarea") { 
		alert("colorpicker.select: Input object passed is not a valid form input object"); 
		window.ColorPicker_targetInput=null;
		return;
		}
	window.ColorPicker_targetInput = inputobj;
	this.show(linkname);
	}
	
// This function runs when you move your mouse over a color block, if you have a newer browser
function ColorPicker_highlightColor(c) {
	var thedoc = (arguments.length>1)?arguments[1]:window.document;
	var d = thedoc.getElementById("colorPickerSelectedColor");
	d.style.backgroundColor = c;
	d = thedoc.getElementById("colorPickerSelectedColorValue");
	d.innerHTML = c;
	}

function ColorPicker() {
	//alert("SDFsdf");
	var windowMode = false;
	// Create a new PopupWindow object
	if (arguments.length==0) {
		var divname = "colorPickerDiv";
		}
	else if (arguments[0] == "window") {
		var divname = '';
		windowMode = true;
		}
	else {
		var divname = arguments[0];
		}
	
	if (divname != "") {
		var cp = new PopupWindow(divname);
		}
	else {
		var cp = new PopupWindow();
		cp.setSize(225,250);
		}

	// Object variables
	cp.currentValue = "#FFFFFF";
	
	// Method Mappings
	cp.writeDiv = ColorPicker_writeDiv;
	cp.highlightColor = ColorPicker_highlightColor;
	cp.show = ColorPicker_show;
	cp.select = ColorPicker_select;
/*	
var colors = new Array("#000000", "#000030", "#000060", "#000090", "#0000bb", "#0000dd", "#0000ee", "#0000ff", "#003000", "#003030", "#003060", "#003090", "#0030bb", "#0030dd", "#0030ee", "#0030ff", "#006000", "#006030", "#006060", "#006090", "#0060bb", "#0060dd", "#0060ee", "#0060ff", "#009000", "#009030", "#009060", "#009090", "#0090bb", "#0090dd", "#0090ee", "#0090ff", "#00bb00", "#00bb30", "#00bb60", "#00bb90", "#00bbbb", "#00bbdd", "#00bbee", "#00bbff", "#00dd00", "#00dd30", "#00dd60", "#00dd90", "#00ddbb", "#00dddd", "#00ddee", "#00ddff", "#00ee00", "#00ee30", "#00ee60", "#00ee90", "#00eebb", "#00eedd", "#00eeee", "#00eeff", "#00ff00", "#00ff30", "#00ff60", "#00ff90", "#00ffbb", "#00ffdd", "#00ffee", "#00ffff", "#300000", "#300030", "#300060", "#300090", "#3000bb", "#3000dd", "#3000ee", "#3000ff", "#303000", "#303030", "#303060", "#303090", "#3030bb", "#3030dd", "#3030ee", "#3030ff", "#306000", "#306030", "#306060", "#306090", "#3060bb", "#3060dd", "#3060ee", "#3060ff", "#309000", "#309030", "#309060", "#309090", "#3090bb", "#3090dd", "#3090ee", "#3090ff", "#30bb00", "#30bb30", "#30bb60", "#30bb90", "#30bbbb", "#30bbdd", "#30bbee", "#30bbff", "#30dd00", "#30dd30", "#30dd60", "#30dd90", "#30ddbb", "#30dddd", "#30ddee", "#30ddff", "#30ee00", "#30ee30", "#30ee60", "#30ee90", "#30eebb", "#30eedd", "#30eeee", "#30eeff", "#30ff00", "#30ff30", "#30ff60", "#30ff90", "#30ffbb", "#30ffdd", "#30ffee", "#30ffff", "#600000", "#600030", "#600060", "#600090", "#6000bb", "#6000dd", "#6000ee", "#6000ff", "#603000", "#603030", "#603060", "#603090", "#6030bb", "#6030dd", "#6030ee", "#6030ff", "#606000", "#606030", "#606060", "#606090", "#6060bb", "#6060dd", "#6060ee", "#6060ff", "#609000", "#609030", "#609060", "#609090", "#6090bb", "#6090dd", "#6090ee", "#6090ff", "#60bb00", "#60bb30", "#60bb60", "#60bb90", "#60bbbb", "#60bbdd", "#60bbee", "#60bbff", "#60dd00", "#60dd30", "#60dd60", "#60dd90", "#60ddbb", "#60dddd", "#60ddee", "#60ddff", "#60ee00", "#60ee30", "#60ee60", "#60ee90", "#60eebb", "#60eedd", "#60eeee", "#60eeff", "#60ff00", "#60ff30", "#60ff60", "#60ff90", "#60ffbb", "#60ffdd", "#60ffee", "#60ffff", "#900000", "#900030", "#900060", "#900090", "#9000bb", "#9000dd", "#9000ee", "#9000ff", "#903000", "#903030", "#903060", "#903090", "#9030bb", "#9030dd", "#9030ee", "#9030ff", "#906000", "#906030", "#906060", "#906090", "#9060bb", "#9060dd", "#9060ee", "#9060ff", "#909000", "#909030", "#909060", "#909090", "#9090bb", "#9090dd", "#9090ee", "#9090ff", "#90bb00", "#90bb30", "#90bb60", "#90bb90", "#90bbbb", "#90bbdd", "#90bbee", "#90bbff", "#90dd00", "#90dd30", "#90dd60", "#90dd90", "#90ddbb", "#90dddd", "#90ddee", "#90ddff", "#90ee00", "#90ee30", "#90ee60", "#90ee90", "#90eebb", "#90eedd", "#90eeee", "#90eeff", "#90ff00", "#90ff30", "#90ff60", "#90ff90", "#90ffbb", "#90ffdd", "#90ffee", "#90ffff", "#bb0000", "#bb0030", "#bb0060", "#bb0090", "#bb00bb", "#bb00dd", "#bb00ee", "#bb00ff", "#bb3000", "#bb3030", "#bb3060", "#bb3090", "#bb30bb", "#bb30dd", "#bb30ee", "#bb30ff", "#bb6000", "#bb6030", "#bb6060", "#bb6090", "#bb60bb", "#bb60dd", "#bb60ee", "#bb60ff", "#bb9000", "#bb9030", "#bb9060", "#bb9090", "#bb90bb", "#bb90dd", "#bb90ee", "#bb90ff", "#bbbb00", "#bbbb30", "#bbbb60", "#bbbb90", "#bbbbbb", "#bbbbdd", "#bbbbee", "#bbbbff", "#bbdd00", "#bbdd30", "#bbdd60", "#bbdd90", "#bbddbb", "#bbdddd", "#bbddee", "#bbddff", "#bbee00", "#bbee30", "#bbee60", "#bbee90", "#bbeebb", "#bbeedd", "#bbeeee", "#bbeeff", "#bbff00", "#bbff30", "#bbff60", "#bbff90", "#bbffbb", "#bbffdd", "#bbffee", "#bbffff", "#cc0000", "#cc0090","#cc00ee", "#cc00ff", "#cc9000", "#ccaa00", "#cc90aa", "#ccccff", "#ccddaa", "#ccddff","#dd0000", "#dd0030", "#dd0060", "#dd0090", "#dd00bb", "#dd00dd", "#dd00ee", "#dd00ff", "#dd3000", "#dd3030", "#dd3060", "#dd3090", "#dd30bb", "#dd30dd", "#dd30ee", "#dd30ff", "#dd6000", "#dd6030", "#dd6060", "#dd6090", "#dd60bb", "#dd60dd", "#dd60ee", "#dd60ff", "#dd9000", "#dd9030", "#dd9060", "#dd9090", "#dd90bb", "#dd90dd", "#dd90ee", "#dd90ff", "#ddbb00", "#ddbb30", "#ddbb60", "#ddbb90", "#ddbbbb", "#ddbbdd", "#ddbbee", "#ddbbff", "#dddd00", "#dddd30", "#dddd60", "#dddd90", "#ddddbb", "#dddddd", "#ddddee", "#ddddff", "#ddee00", "#ddee30", "#ddee60", "#ddee90", "#ddeebb", "#ddeedd", "#ddeeee", "#ddeeff", "#ddff00", "#ddff30", "#ddff60", "#ddff90", "#ddffbb", "#ddffdd", "#ddffee", "#ddffff", "#ee0000", "#ee0030", "#ee0060", "#ee0090", "#ee00bb", "#ee00dd", "#ee00ee", "#ee00ff", "#ee3000", "#ee3030", "#ee3060", "#ee3090", "#ee30bb", "#ee30dd", "#ee30ee", "#ee30ff", "#ee6000", "#ee6030", "#ee6060", "#ee6090", "#ee60bb", "#ee60dd", "#ee60ee", "#ee60ff", "#ee9000", "#ee9030", "#ee9060", "#ee9090", "#ee90bb", "#ee90dd", "#ee90ee", "#ee90ff", "#eebb00", "#eebb30", "#eebb60", "#eebb90", "#eebbbb", "#eebbdd", "#eebbee", "#eebbff", "#eedd00", "#eedd30", "#eedd60", "#eedd90", "#eeddbb", "#eedddd", "#eeddee", "#eeddff", "#eeee00", "#eeee30", "#eeee60", "#eeee90", "#eeeebb", "#eeeedd", "#eeeeee", "#eeeeff", "#eeff00", "#eeff30", "#eeff60", "#eeff90", "#eeffbb", "#eeffdd", "#eeffee", "#eeffff", "#ff0000", "#ff0030", "#ff0060", "#ff0090", "#ff00bb", "#ff00dd", "#ff00ee", "#ff00ff", "#ff3000", "#ff3030", "#ff3060", "#ff3090", "#ff30bb", "#ff30dd", "#ff30ee", "#ff30ff", "#ff6000", "#ff6030", "#ff6060", "#ff6090", "#ff60bb", "#ff60dd", "#ff60ee", "#ff60ff", "#ff9000", "#ff9030", "#ff9060", "#ff9090", "#ff90bb", "#ff90dd", "#ff90ee", "#ff90ff", "#ffbb00", "#ffbb30", "#ffbb60", "#ffbb90", "#ffbbbb", "#ffbbdd", "#ffbbee", "#ffbbff", "#ffdd00", "#ffdd30", "#ffdd60", "#ffdd90", "#ffddbb", "#ffdddd", "#ffddee", "#ffddff", "#ffee00", "#ffee30", "#ffee60", "#ffee90", "#ffeebb", "#ffeedd", "#ffeeee", "#ffeeff", "#ffff00", "#ffff30", "#ffff60", "#ffff90", "#ffffbb", "#ffffdd", "#ffffee", "#ffffff"); */
	// Code to populate color picker window
var colors = new Array("#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","#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","#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","#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","#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","#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"); 

	var total = colors.length;
	var width = 18;
	var cp_contents = "";
	var windowRef = (windowMode)?"window.opener.":"";
	if (windowMode) {
		cp_contents += "<HTML><HEAD><TITLE>Select Color</TITLE></HEAD>";
		cp_contents += "<BODY MARGINWIDTH=0 MARGINHEIGHT=0 LEFTMARGIN=0 TOPMARGIN=0><CENTER>";
		}
	cp_contents += "<TABLE BORDER=1 CELLSPACING=1 CELLPADDING=0>";
	var use_highlight = (document.getElementById || document.all)?true:false;
	for (var i=0; i<total; i++) {
		if ((i % width) == 0) { cp_contents += "<TR>"; }
		if (use_highlight) { var mo = 'onMouseOver="'+windowRef+'ColorPicker_highlightColor(\''+colors[i]+'\',window.document)"'; }
		else { mo = ""; }
		cp_contents += '<TD BGCOLOR="'+colors[i]+'"><FONT SIZE="-3"><A HREF="#" onClick="'+windowRef+'ColorPicker_pickColor(\''+colors[i]+'\','+windowRef+'window.popupWindowObjects['+cp.index+']);return false;" '+mo+' STYLE="text-decoration:none;">&nbsp;&nbsp;&nbsp;</A></FONT></TD>';
		if ( ((i+1)>=total) || (((i+1) % width) == 0)) { 
			cp_contents += "</TR>";
			}
		}
	// If the browser supports dynamically changing TD cells, add the fancy stuff
	if (document.getElementById) {
		var width1 = Math.floor(width/2);
		var width2 = width = width1;
		cp_contents += "<TR><TD COLSPAN='"+width1+"' BGCOLOR='#ffffff' ID='colorPickerSelectedColor'>&nbsp;</TD><TD COLSPAN='"+width2+"' ALIGN='CENTER' ID='colorPickerSelectedColorValue'>#FFFFFF</TD></TR>";
		}
	cp_contents += "</TABLE>";
	if (windowMode) {
		cp_contents += "</CENTER></BODY></HTML>";
		}
	// end populate code

	// Write the contents to the popup object
	cp.populate(cp_contents+"\n");
	// Move the table down a bit so you can see it
	cp.offsetY = 25;
	cp.autoHide();
	return cp;
	}


	function ColorPicker1() {
	//alert("SDFsdsdfgdff");
	var windowMode = false;
	// Create a new PopupWindow object
	if (arguments.length==0) {
		var divname = "colorPickerDiv";
		}
	else if (arguments[0] == "window") {
		var divname = '';
		windowMode = true;
		}
	else {
		var divname = arguments[0];
		}
	
	if (divname != "") {
		var cp = new PopupWindow(divname);
		}
	else {
		var cp = new PopupWindow();
		cp.setSize(225,250);
		}

	// Object variables
	cp.currentValue = "#FFFFFF";
	
	// Method Mappings
	cp.writeDiv1 = ColorPicker_writeDiv1;
	cp.highlightColor = ColorPicker_highlightColor;
	cp.show = ColorPicker_show;
	cp.select = ColorPicker_select;
/*	
var colors = new Array("#000000", "#000030", "#000060", "#000090", "#0000bb", "#0000dd", "#0000ee", "#0000ff", "#003000", "#003030", "#003060", "#003090", "#0030bb", "#0030dd", "#0030ee", "#0030ff", "#006000", "#006030", "#006060", "#006090", "#0060bb", "#0060dd", "#0060ee", "#0060ff", "#009000", "#009030", "#009060", "#009090", "#0090bb", "#0090dd", "#0090ee", "#0090ff", "#00bb00", "#00bb30", "#00bb60", "#00bb90", "#00bbbb", "#00bbdd", "#00bbee", "#00bbff", "#00dd00", "#00dd30", "#00dd60", "#00dd90", "#00ddbb", "#00dddd", "#00ddee", "#00ddff", "#00ee00", "#00ee30", "#00ee60", "#00ee90", "#00eebb", "#00eedd", "#00eeee", "#00eeff", "#00ff00", "#00ff30", "#00ff60", "#00ff90", "#00ffbb", "#00ffdd", "#00ffee", "#00ffff", "#300000", "#300030", "#300060", "#300090", "#3000bb", "#3000dd", "#3000ee", "#3000ff", "#303000", "#303030", "#303060", "#303090", "#3030bb", "#3030dd", "#3030ee", "#3030ff", "#306000", "#306030", "#306060", "#306090", "#3060bb", "#3060dd", "#3060ee", "#3060ff", "#309000", "#309030", "#309060", "#309090", "#3090bb", "#3090dd", "#3090ee", "#3090ff", "#30bb00", "#30bb30", "#30bb60", "#30bb90", "#30bbbb", "#30bbdd", "#30bbee", "#30bbff", "#30dd00", "#30dd30", "#30dd60", "#30dd90", "#30ddbb", "#30dddd", "#30ddee", "#30ddff", "#30ee00", "#30ee30", "#30ee60", "#30ee90", "#30eebb", "#30eedd", "#30eeee", "#30eeff", "#30ff00", "#30ff30", "#30ff60", "#30ff90", "#30ffbb", "#30ffdd", "#30ffee", "#30ffff", "#600000", "#600030", "#600060", "#600090", "#6000bb", "#6000dd", "#6000ee", "#6000ff", "#603000", "#603030", "#603060", "#603090", "#6030bb", "#6030dd", "#6030ee", "#6030ff", "#606000", "#606030", "#606060", "#606090", "#6060bb", "#6060dd", "#6060ee", "#6060ff", "#609000", "#609030", "#609060", "#609090", "#6090bb", "#6090dd", "#6090ee", "#6090ff", "#60bb00", "#60bb30", "#60bb60", "#60bb90", "#60bbbb", "#60bbdd", "#60bbee", "#60bbff", "#60dd00", "#60dd30", "#60dd60", "#60dd90", "#60ddbb", "#60dddd", "#60ddee", "#60ddff", "#60ee00", "#60ee30", "#60ee60", "#60ee90", "#60eebb", "#60eedd", "#60eeee", "#60eeff", "#60ff00", "#60ff30", "#60ff60", "#60ff90", "#60ffbb", "#60ffdd", "#60ffee", "#60ffff", "#900000", "#900030", "#900060", "#900090", "#9000bb", "#9000dd", "#9000ee", "#9000ff", "#903000", "#903030", "#903060", "#903090", "#9030bb", "#9030dd", "#9030ee", "#9030ff", "#906000", "#906030", "#906060", "#906090", "#9060bb", "#9060dd", "#9060ee", "#9060ff", "#909000", "#909030", "#909060", "#909090", "#9090bb", "#9090dd", "#9090ee", "#9090ff", "#90bb00", "#90bb30", "#90bb60", "#90bb90", "#90bbbb", "#90bbdd", "#90bbee", "#90bbff", "#90dd00", "#90dd30", "#90dd60", "#90dd90", "#90ddbb", "#90dddd", "#90ddee", "#90ddff", "#90ee00", "#90ee30", "#90ee60", "#90ee90", "#90eebb", "#90eedd", "#90eeee", "#90eeff", "#90ff00", "#90ff30", "#90ff60", "#90ff90", "#90ffbb", "#90ffdd", "#90ffee", "#90ffff", "#bb0000", "#bb0030", "#bb0060", "#bb0090", "#bb00bb", "#bb00dd", "#bb00ee", "#bb00ff", "#bb3000", "#bb3030", "#bb3060", "#bb3090", "#bb30bb", "#bb30dd", "#bb30ee", "#bb30ff", "#bb6000", "#bb6030", "#bb6060", "#bb6090", "#bb60bb", "#bb60dd", "#bb60ee", "#bb60ff", "#bb9000", "#bb9030", "#bb9060", "#bb9090", "#bb90bb", "#bb90dd", "#bb90ee", "#bb90ff", "#bbbb00", "#bbbb30", "#bbbb60", "#bbbb90", "#bbbbbb", "#bbbbdd", "#bbbbee", "#bbbbff", "#bbdd00", "#bbdd30", "#bbdd60", "#bbdd90", "#bbddbb", "#bbdddd", "#bbddee", "#bbddff", "#bbee00", "#bbee30", "#bbee60", "#bbee90", "#bbeebb", "#bbeedd", "#bbeeee", "#bbeeff", "#bbff00", "#bbff30", "#bbff60", "#bbff90", "#bbffbb", "#bbffdd", "#bbffee", "#bbffff", "#cc0000", "#cc0090","#cc00ee", "#cc00ff", "#cc9000", "#ccaa00", "#cc90aa", "#ccccff", "#ccddaa", "#ccddff","#dd0000", "#dd0030", "#dd0060", "#dd0090", "#dd00bb", "#dd00dd", "#dd00ee", "#dd00ff", "#dd3000", "#dd3030", "#dd3060", "#dd3090", "#dd30bb", "#dd30dd", "#dd30ee", "#dd30ff", "#dd6000", "#dd6030", "#dd6060", "#dd6090", "#dd60bb", "#dd60dd", "#dd60ee", "#dd60ff", "#dd9000", "#dd9030", "#dd9060", "#dd9090", "#dd90bb", "#dd90dd", "#dd90ee", "#dd90ff", "#ddbb00", "#ddbb30", "#ddbb60", "#ddbb90", "#ddbbbb", "#ddbbdd", "#ddbbee", "#ddbbff", "#dddd00", "#dddd30", "#dddd60", "#dddd90", "#ddddbb", "#dddddd", "#ddddee", "#ddddff", "#ddee00", "#ddee30", "#ddee60", "#ddee90", "#ddeebb", "#ddeedd", "#ddeeee", "#ddeeff", "#ddff00", "#ddff30", "#ddff60", "#ddff90", "#ddffbb", "#ddffdd", "#ddffee", "#ddffff", "#ee0000", "#ee0030", "#ee0060", "#ee0090", "#ee00bb", "#ee00dd", "#ee00ee", "#ee00ff", "#ee3000", "#ee3030", "#ee3060", "#ee3090", "#ee30bb", "#ee30dd", "#ee30ee", "#ee30ff", "#ee6000", "#ee6030", "#ee6060", "#ee6090", "#ee60bb", "#ee60dd", "#ee60ee", "#ee60ff", "#ee9000", "#ee9030", "#ee9060", "#ee9090", "#ee90bb", "#ee90dd", "#ee90ee", "#ee90ff", "#eebb00", "#eebb30", "#eebb60", "#eebb90", "#eebbbb", "#eebbdd", "#eebbee", "#eebbff", "#eedd00", "#eedd30", "#eedd60", "#eedd90", "#eeddbb", "#eedddd", "#eeddee", "#eeddff", "#eeee00", "#eeee30", "#eeee60", "#eeee90", "#eeeebb", "#eeeedd", "#eeeeee", "#eeeeff", "#eeff00", "#eeff30", "#eeff60", "#eeff90", "#eeffbb", "#eeffdd", "#eeffee", "#eeffff", "#ff0000", "#ff0030", "#ff0060", "#ff0090", "#ff00bb", "#ff00dd", "#ff00ee", "#ff00ff", "#ff3000", "#ff3030", "#ff3060", "#ff3090", "#ff30bb", "#ff30dd", "#ff30ee", "#ff30ff", "#ff6000", "#ff6030", "#ff6060", "#ff6090", "#ff60bb", "#ff60dd", "#ff60ee", "#ff60ff", "#ff9000", "#ff9030", "#ff9060", "#ff9090", "#ff90bb", "#ff90dd", "#ff90ee", "#ff90ff", "#ffbb00", "#ffbb30", "#ffbb60", "#ffbb90", "#ffbbbb", "#ffbbdd", "#ffbbee", "#ffbbff", "#ffdd00", "#ffdd30", "#ffdd60", "#ffdd90", "#ffddbb", "#ffdddd", "#ffddee", "#ffddff", "#ffee00", "#ffee30", "#ffee60", "#ffee90", "#ffeebb", "#ffeedd", "#ffeeee", "#ffeeff", "#ffff00", "#ffff30", "#ffff60", "#ffff90", "#ffffbb", "#ffffdd", "#ffffee", "#ffffff"); */
	// Code to populate color picker window
var colors = new Array("#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","#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","#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","#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","#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","#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"); 

	var total = colors.length;
	var width = 18;
	var cp_contents = "";
	var windowRef = (windowMode)?"window.opener.":"";
	if (windowMode) {
		cp_contents += "<HTML><HEAD><TITLE>Select Color</TITLE></HEAD>";
		cp_contents += "<BODY MARGINWIDTH=0 MARGINHEIGHT=0 LEFTMARGIN=0 TOPMARGIN=0><CENTER>";
		}
	cp_contents += "<TABLE BORDER=1 CELLSPACING=1 CELLPADDING=0>";
	var use_highlight = (document.getElementById || document.all)?true:false;
	for (var i=0; i<total; i++) {
		if ((i % width) == 0) { cp_contents += "<TR>"; }
		if (use_highlight) { var mo = 'onMouseOver="'+windowRef+'ColorPicker_highlightColor(\''+colors[i]+'\',window.document)"'; }
		else { mo = ""; }
		cp_contents += '<TD BGCOLOR="'+colors[i]+'"><FONT SIZE="-3"><A HREF="#" onClick="'+windowRef+'ColorPicker_pickColor1(\''+colors[i]+'\','+windowRef+'window.popupWindowObjects['+cp.index+']);return false;" '+mo+' STYLE="text-decoration:none;">&nbsp;&nbsp;&nbsp;</A></FONT></TD>';
		if ( ((i+1)>=total) || (((i+1) % width) == 0)) { 
			cp_contents += "</TR>";
			}
		}
	// If the browser supports dynamically changing TD cells, add the fancy stuff
	if (document.getElementById) {
		var width1 = Math.floor(width/2);
		var width2 = width = width1;
		cp_contents += "<TR><TD COLSPAN='"+width1+"' BGCOLOR='#ffffff' ID='colorPickerSelectedColor'>&nbsp;</TD><TD COLSPAN='"+width2+"' ALIGN='CENTER' ID='colorPickerSelectedColorValue'>#FFFFFF</TD></TR>";
		}
	cp_contents += "</TABLE>";
	if (windowMode) {
		cp_contents += "</CENTER></BODY></HTML>";
		}
	// end populate code

	// Write the contents to the popup object
	cp.populate(cp_contents+"\n");
	// Move the table down a bit so you can see it
	cp.offsetY = 25;
	cp.autoHide();
	return cp;
	}

