/* ALL SCRIPTS COPYRIGHT TO COLORTOOLS.NET, NETHERLANDS. (c) 2007, ALL RIGHTS RESERVED. */
/* GENERAL SCRIPTS */
function bookmark() {
	if(document.all) { window.external.AddFavorite('http://www.colortools.net/','Color Tools.net - tools, mixers, information and help about web colors!'); }
	else { alert('Press CTRL+D to bookmark this website!'); }
}
function hp_error() {
	alert('Your browser does not support this function. Please use your browser menu to make this website your default homepage.');
}
/* FREQUENTLY USED PAGE SCRIPTS */
function valid_color(c) {
	var re = new RegExp("[0-9A-F]{6}","i");
	return c.match(re);
}
function valid_percentage(p) {
	var re = new RegExp("[0-9]+");
	return (p.match(re) && p<101);
}
function valid_decimal(d) {
	var re = new RegExp("[0-9]+");
	return (d.match(re) && d<256);
}
function rounded(num) {
	return Math.round(num);
}
function set_uppercase(field) {
	field.value = field.value.toUpperCase();
}
function remove_leading_zeros(field) {
	for(i=0;i<2;i++) { if(field.value>0 && field.value.charAt(0)=='0') field.value=field.value.substring(1); }
}
function rand_num(least,most) {
	return Math.floor(Math.random()*(most+1-least)) + least;
}
function random_color(websafe,r,g,b) {//(r,g,b: whether high component of this color)
	var list = new Array('00','11','22','33','44','55','66','77','88','99','AA','BB','CC','DD','EE','FF');
	var c1,c2,c3; c1=rand_num(0,15); c2=rand_num(0,15); c3=rand_num(0,15);
	if(websafe) { c1-=(c1%3); c2-=(c2%3); c3-=(c3%3); }
	if(r){c1=15;} if(g){c2=15;} if(b){c3=15;}
	if(c1==15 && c1==c2 && c2==c3 && !(r && g && b)) { random_color(websafe,r,g,b); return false; }
	return list[c1] + list[c2] + list[c3];
}