// INITIALIZE
function init() {
	enter_color(document.mixer.enter1,document.mixer.sample1);
}
// UPDATE DISPLAY:
function update_sample(sample, color) {
	sample.style.backgroundColor = '#'+color;
}
function update_box(box, fg, bg) {
	box.style.backgroundColor = '#'+bg;
	box.style.color = '#'+fg;
}
function update_field(set) {
	var mixer = document.mixer;
	var field,color;
	if(set==1) { field=mixer.enter1; color = mixer.c1_1.value + mixer.c1_2.value + mixer.c1_3.value; }
	else { field=mixer.enter2; color = mixer.c2_1.value + mixer.c2_2.value + mixer.c2_3.value; }
	field.value = color;
	enter_color(field,color);
}
// UPDATE SELECT BOXES:
function set_selectbox(box, first_char) {
	for(var i=0; i<box.options.length; i++) {
		if(box.options[i].value.substring(0,1)==first_char) { box.options[i].selected=true; break; }
	}
}
function update_selectboxes() {
	var mixer = document.mixer;
	var enter1 = mixer.enter1.value; var enter2 = mixer.enter2.value;
	var e1_1 = enter1.substring(0,1); var e1_2 = enter1.substring(2,3); var e1_3 = enter1.substring(4,5);
	var e2_1 = enter2.substring(0,1); var e2_2 = enter2.substring(2,3); var e2_3 = enter2.substring(4,5);
	set_selectbox(mixer.c1_1,e1_1); set_selectbox(mixer.c1_2,e1_2); set_selectbox(mixer.c1_3,e1_3);
	set_selectbox(mixer.c2_1,e2_1); set_selectbox(mixer.c2_2,e2_2); set_selectbox(mixer.c2_3,e2_3);
}
// PROCESS INPUT:
function submit_action() {
	var mixer = document.mixer; var field1 = mixer.enter1; var field2 = mixer.enter2;
	if(!valid_color(field1.value) || field1.value.length<6) field1.value='000000';
	if(!valid_color(field2.value) || field2.value.length<6) field2.value='000000';
	enter_color(field1,mixer.box1);//(initiate once!)
}
function enter_color(source,sample) {
	if(valid_color(source.value)) { set_uppercase(source); update_selectboxes(); text_on_background(); }
	else if(source.value.length==6) { source.value=sample.style.backgroundColor.substring(1); }
}
// CALCULATE OUTPUT:
function text_on_background() {
	var mixer = document.mixer;
	update_sample(mixer.sample1,mixer.enter1.value);
	update_sample(mixer.sample2,mixer.enter2.value);
	var c1=mixer.enter1.value; var c2=mixer.enter2.value;
	update_box(mixer.box1,c1,c2);
	update_box(mixer.box2,c2,c1);
}