// globals
var selected = 0; 
var first_time = 1;

function proofSelect(check, id) {
	// if this is the first time here then get the previous value
	if ( first_time == 1 ) {
		selected = document.proofs.init_selected.value;
		first_time = 0;	
	}
	var obj = document.getElementById(id);
	// set background color for image
	if ( ! check.checked ) {
		obj.style.backgroundColor="black";
		selected--;
	} else {
		obj.style.backgroundColor="gold";
		selected++;
	}
	// write out how many images user has selected
	var el = document.getElementById("images_selected");
	replaceText(el, "Images selected: "+selected);
	// check to see if user has too many images
	if ( selected > 12 ) {
		el.style.color="red";	
	} else {
		el.style.color="";	
	}
	return;
}

function proofHide(check, id) {
	// if this is the first time here then get the previous value
	if ( first_time == 1 ) {
		selected = document.proofs.init_selected.value;
		first_time = 0;	
	}
	var obj = document.getElementById(id);
	var showHidden = document.proofs.show_hidden.checked;
	if ( ! check.checked || showHidden) {
		obj.style.display="block";
		obj.style.backgroundColor="grey";
	} else {
		obj.style.display="none";
	}
	return;
}


function showHidden(obj) {
	// default is to show hidden objects
	var d = "block";
	// if not going to show then set to hide
	if ( ! obj.checked ) {
		d = "none";
	}
	// set styles
	for (var i=0; document.proofs.elements.length; i++) {
		//alert(document.proofs.elements[i].name.substring(0, 5));
		var ename = document.proofs.elements[i].name;
		if ( ename.substring(0, 5) == "hide[" ) {
			// get index of ']' (end index)
			var ei = ename.indexOf("]");
			var ii = ename.slice(5, ei);	// integer 
			if ( document.proofs.elements[i].checked ) {
				var els = ("box_"+ii).toString();
				var el = document.getElementById(els);
				el.style.display = d;
				el.style.backgroundColor = "grey";
			}
		}
	}
	return;
}


function replaceText(el, text) {
	if (el != null) {
		clearText(el);
		var newNode = document.createTextNode(text);
		el.appendChild(newNode);
	}
	return;
}
 
function clearText(el) {
	if (el != null) {
		if (el.childNodes) {
			for (var i = 0; i < el.childNodes.length; i++) {
				var childNode = el.childNodes[i];
				el.removeChild(childNode);
			}
		}
	}
	return;
}
 
function getText(el) {
	var text = "";
	if (el != null) {
		if (el.childNodes) {
			for (var i = 0; i < el.childNodes.length; i++) {
				var childNode = el.childNodes[i];
				if (childNode.nodeValue != null) {
					text = text + childNode.nodeValue;
				}
			}
		}
	}
	return text;
}                                  
