
/*
 * Copyright 2001 Peter Crouch. All rights reserved
 * http://wwww.rivergum.net
 */
var d = document;
letters = new Array("O","G","P");

function calcText(box) {
	var name = box.name;
	var value = box.value;
	if (value.search(/^[0-7]{1}$/) == -1) { alert("Sorry, chmod values can only consist of numeric values from 0-7."); return; }
	for (var i = 1; i < 4; i++) {
		d.fm[name+i].checked = false;
		if (value == 1) { d.fm[name+"3"].checked = true; }
		if (value == 2) { d.fm[name+"2"].checked = true; }
		if (value == 3) { d.fm[name+"2"].checked = true; d.fm[name+"3"].checked = true; }
		if (value == 4) { d.fm[name+"1"].checked = true; }
		if (value == 5) { d.fm[name+"1"].checked = true; d.fm[name+"3"].checked = true; }
		if (value == 6) { d.fm[name+"1"].checked = true; d.fm[name+"2"].checked = true; }
		if (value == 7) { d.fm[name+i].checked = true; }
	}
	total();
}

function checkAll(button) {
	var name = button.name;
	var value = button.value;
	for (var i = 0; i < letters.length; i++) {
		var box = d.fm[letters[i]].value;
		if (value == "Check all") { d.fm[letters[i]+name].checked = true; button.value = "Uncheck all"; }
		else { d.fm[letters[i]+name].checked = false; button.value = "Check all"; }
	}
	total();
}

function total() {
	var total_rwx = "";
	var total_123 = 0;
	for (var i = 0; i < letters.length; i++) {
	for (var j = 1; j < 4; j++) {
			var box = letters[i]+j;
			if (d.fm[box].checked && j == 1) { total_rwx += "r"; total_123 += (total_123=='')?"4":"+4"; }
			else if (d.fm[box].checked && j == 2) { total_rwx += "w"; total_123 += (total_123=='')?"2":"+2"; }
			else if (d.fm[box].checked && j == 3) { total_rwx += "x"; total_123 += (total_123=='')?"1":"+1"; }
			else { total_rwx += "-"; }
		}
		d.fm[letters[i]].value = eval(total_123);
		total_123 = 0;
	}
	d.fm["letters"].value = total_rwx;
	d.fm["result"].value = d.fm["O"].value + d.fm["G"].value + d.fm["P"].value;
}

