
// scripts (c) CopySense 2004-2005 (M.S. Latter)

var ih=(document.getElementById)?((window.opera&&!document.createComment)?0:1):0;
var highfld=0;
var base='dec';
var basebutid;

if (!ih) document.write('<p class="nstext">Your browser does not support this utility.<br />Please view this web page in a more recent browser.<\/p>');

function initcb()
{
	if (!ih) return;
	cbtxt('title');
	fldlight(0);
	basebutid=document.getElementById('rgbbut');
	fwsc();
}

window.onload=initcb;

function colorParse(colcode)
{
	var ccArr=new Array(3);
	var i=0,j=0,k=0;

	if (colcode.indexOf('%')>-1)
	{
		colcode=colcode.replace(/[%()rgb]/g,'');
		ccArr=colcode.split(',');
		for (;i<3;i++) ccArr[i]=Math.ceil(parseInt(ccArr[i])*2.55);
	}

	else if (colcode.indexOf(',')>-1)
	{
		colcode=colcode.replace(/[()rgb]/g,'');
		ccArr=colcode.split(',');
		for (;i<3;i++) ccArr[i]=parseInt(ccArr[i]);
	}

	else
	{
		colcode=colcode.replace('#','');
		if (colcode.length==3) colcode=colcode.charAt(0)+colcode.charAt(0)+colcode.charAt(1)+colcode.charAt(1)+colcode.charAt(2)+colcode.charAt(2);
		for (i=0,j=0,k=2;i<3;i++,j+=2,k+=2) ccArr[i]=parseInt(colcode.slice(j,k),16);
	}

	this.valid=verifycolour(ccArr);
	this.r=ccArr[0];
	this.g=ccArr[1];
	this.b=ccArr[2];
}

function verifycolour(colArr) 
{
	var valid=true;
	for (var i=0;i<3;i++) if (isNaN(colArr[i])) valid=false;
	return valid;
}

function hexify(n)
{
	var hs='0123456789abcdef';
	var hnum=hs.charAt((n>>4)&0xf)+hs.charAt(n&0xf);
	return hnum;
}

function pcify(n)
{
	var pcnum=Math.round(n/2.55);
	pcnum=pcnum+'%';
	return pcnum;
}

function createColorObj()
{
	this.r=this.g=this.b=0;
	this.rgb=this.hex=this.pc='';
}

function basechg(n)
{
	if (!ih) return;
	var bid='';

	switch (n)
	{
		case 1:
			base='hex';
			bid='hexbut';
			break;
		case 2:
			base='dec%';
			bid='rgbpbut';
			break;
		case 3:
			base='dec';
			bid='rgbbut';
	}

	basebutid.className='basebut';
	basebutid=document.getElementById(bid);
	basebutid.className='basebutsel';
	colourise();
}

function fldlight(n)
{
	highfld=n;
	var scolfld=document.getElementById('scol');
	var fcolfld=document.getElementById('fcol');
	scolfld.style.backgroundColor='';
	fcolfld.style.backgroundColor='';
	(!highfld)?scolfld.style.backgroundColor='#ff9':fcolfld.style.backgroundColor='#ff9';
}

function fwsc()
{
	var pArr=[];
	var i=0;
	var wsc=['fff','ccc','999','666','333','000','fc0','f90','f60','f30','9c0','c90','fc3','fc6','f96','f63','c30','c03','cf0','cf3','330','660','990','cc0','ff0','c93','c63','300','600','900','c00','f00','f36','f03','9f0','cf6','9c3','663','993','cc3',
'ff3','960','930','633','933','c33','f33','c36','f69','f06','6f0','9f6','6c3','690','996','cc6','ff6','963','630','966','c66','f66','903','c39','f6c','f09','3f0','6f3','390','6c0','9f3','cc9','ff9','c96','c60','c99','f99','f39','c06','906','f3c',
'f0c','0c0','3c0','360','693','9c6','cf9','ffc','fc9','f93','fcc','f9c','c69','936','603','c09','303','3c3','6c6','0f0','3f3','6f6','9f9','cfc','c9c','969','939','909','636','606','060','363','090','393','696','9c9','fcf','f9f','f6f','f3f','f0f',
'c6c','c3c','030','0c3','063','396','6c9','9fc','cff','39f','9cf','ccf','c9f','96c','639','306','90c','c0c','0f3','3f6','093','0c6','3f9','9ff','9cc','06c','69c','99f','99c','93f','60c','609','c3f','c0f','0f6','6f9','3c6','096','6ff','6cc','699',
'036','369','66f','66c','669','309','93c','c6f','90f','0f9','6fc','3c9','3ff','3cc','399','366','069','039','33f','33c','339','336','63c','96f','60f','0fc','3fc','0ff','0cc','099','066','033','39c','36c','00f','00c','009','006','003','63f','30f',
'0c9','09c','3cf','6cf','69f','36f','03c','30c','0cf','09f','06f','03f'];

	pArr.push('<table cellspacing="1" id="wsct"><tr>');

	for (i=0;i<216;i++)
	{
		pArr.push('<td style="background:#'+wsc[i]+'"><a href="javascript://" onclick="impwsc(\''+wsc[i]+'\')\" onmouseover="window.status=\'\';return true;"></a></td>');
		if (i==9) pArr.push('<td colspan="6"></td></tr><tr>');
		if (i==10||i==16||i==204||i==210) pArr.push('<td colspan="4"></td>');
		if (i==17||i==33||i==49||i==65||i==81||i==97||i==110||i==123||i==139||i==155||i==171|| i==187||i==203) pArr.push('</tr><tr>');
		if (i==104||i==116) pArr.push('<td colspan="3"></td>');
		if (i==211) pArr.push('</tr><tr><td colspan="6"></td>');
	}

	pArr.push('<td colspan="6"></td></tr></table>');
	document.getElementById('wscdiv').innerHTML=pArr.join('');
}

function impwsc(hc)
{
	if (!ih) return;
	var d1=hc.charAt(0)+hc.charAt(0);
	var d2=hc.charAt(1)+hc.charAt(1);
	var d3=hc.charAt(2)+hc.charAt(2);
	var d4=parseInt(d1,16);
	var d5=parseInt(d2,16);
	var d6=parseInt(d3,16);
	var field=(!highfld)?document.getElementById('scol'):document.getElementById('fcol');
	var bkg=(!highfld)?document.getElementById('scolbox'):document.getElementById('fcolbox');
	var outCol=d4+','+d5+','+d6;
	var fldval='';

	switch(base)
	{
		case 'dec':
			fldval=outCol;
			break;
		case 'hex':
			fldval=d1+d2+d3;
			break;
		case 'dec%':
			fldval=pcify(d4)+','+pcify(d5)+','+pcify(d6);
	}

	field.value=fldval;
	bkg.style.background='rgb('+outCol+')';
}

function res()
{
	if (!ih) return;
	fldlight(0);
	basechg(3);
	document.getElementById('output').value='';
	document.getElementById('scolbox').style.background='rgb(128,0,128)';
	document.getElementById('fcolbox').style.background='rgb(255,140,255)';

	if (cb) document.getElementById('band').innerHTML='';
	else
	{
		document.getElementById('title').innerHTML='Colourband Text';
		cbtxt('title');
	}
}
