function ArgusIo(oName){
	this.Frame = '';
	this.NameRef = oName;
	this.GetColor = f_argusGetColor;
	this.SetColor = f_argusSetColor;

	this.GetObjColor = 'sColorValue_' + this.NameRef;
	this.GetObjColorText = 'sColorText_' + this.NameRef;
	this.DrawColorInit = f_argusDrawColorInit;

	var sContent = this.DrawColorInit();
	this.Draw = sContent;
}

function f_argusGetColor(){
	if(this.Frame != ''){
		sFrameRef = this.Frame + '.';
	}else{
		sFrameRef = 'document.all.';
	}
	return eval(sFrameRef + this.GetObjColorText).value;
}

function f_argusSetColor(sColor){
	if(this.Frame != ''){
		sFrameRef = this.Frame + '.';
	}else{
		sFrameRef = 'document.all.';
	}
	eval(sFrameRef + this.GetObjColor).style.background = sColor;
	eval(sFrameRef + this.GetObjColorText).innerText = sColor;
}

function f_argusDrawColorInit(){

	var sContent = '';
	var sRow = new String('');
	var aRed = new Array('0', '3', '6', '9', 'C', 'F');
	var aGreen = new Array('0', '3', '6', '9', 'C', 'F');
	var aBlue1 = new Array('0', '3', '6');
	var aBlue2 = new Array('9', 'C', 'F');
	var aOffset = new Array('000000', '333333', '666666', '999999', 'CCCCCC', 'FFFFFF', '0000FF', 'FF0000', '00FF00', 'FF00FF', '00FFFF', 'FFFF00')
	
	for(var a = 0; a < aRed.length; a++){
		sRow += 'var aColRow' + a + ' = new Array(';
		for(var b = 0; b < aBlue1.length; b++){
			for(var c = 0; c < aGreen.length; c++){
				sRow += '\'' + aRed[a] + aRed[a] + aGreen[c] + aGreen[c] + aBlue1[b] + aBlue1[b] + '\', ';
			}
		}
		sRow += '\'' + aOffset[a] + '\');\n';
	}
	
	for(var a = 0; a < aRed.length; a++){
		sRow += 'var aColRow' + (a + 6) +' = new Array(';
		for(var b = 0; b < aBlue2.length; b++){
			for(var c = 0; c < aGreen.length; c++){
				sRow += '\'' + aRed[a] + aRed[a] + aGreen[c] + aGreen[c] + aBlue2[b] + aBlue2[b] + '\', ';
			}
		}
		sRow += '\'' + aOffset[a + 6] + '\');\n';
	}
	
	eval(sRow);

	sContent += '<table dir="ltr" border="0" cellpadding="0" cellspacing="0">' +
		'<tr><td width="45" align="center"><table bgcolor="#EEEEEE" cellpadding="0" cellspacing="0" width="30" height="30" style="BORDER: 1px solid #666666;"><tr><td id="' + this.GetObjColor + '">&nbsp;</td></tr></table></td>' +
		'<td>&nbsp;</td><td>';

	sContent += '<table cellpadding="0" cellspacing="1" bgcolor="black">';
	for(var a = 0; a <= 11; a++){
		sContent += '<tr>';
		for(var b = 0; b < eval('aColRow' + a).length; b++){
			var sCurColor = eval('aColRow' + a + '[b]');
			sContent += '<td style="CURSOR:hand; BACKGROUND-COLOR:' + sCurColor + ';" onclick="' + this.GetObjColor + '.style.background=\'#' + sCurColor + '\'; eval(\'' + this.GetObjColorText + '\').innerText=\'#' + sCurColor + '\';"><img src="/siteImg/argus/mnemosyne/s.gif" width="7" /></td>';
		}
		sContent += '</tr>';
	}
	sContent += '</table>';

	sContent += '</td></tr>';
	sContent += '<tr><td colspan="3" height="3"></td></tr>';
	sContent += '<tr><td colspan="3" align="right">';
	sContent += '<input type="text" id="' + this.GetObjColorText + '" contentEditable="true" style="WIDTH:65px; HEIGHT:20px; FONT: 10px Verdana" onchange="' + this.GetObjColor + '.style.background=this.value;">';
	sContent += '</td></tr>';
	sContent += '</table>';
	
	return sContent;
}
