function update_field(id,text) { if (document.getElementById) { document.getElementById(id).value = text; } else if (document.all) { document.all[id].value = text; } } function get_field(id) { if (document.getElementById) { var value = document.getElementById(id).value; } else if (document.all) { var value = document.all[id].value; } return value; } function update_input(num) { var myform = document.ChmodForm; var myfield = 'chmod'; var regexp = /list\[([0-9]+)\]\[(owner|group|other)_(read|write|execute)\]/i; var myArray = new Array(); var maxfields = 0; for (var i = 0; i < myform.elements.length; i++) { if (regexp.test(myform.elements[i].name)) { var ar = regexp.exec(myform.elements[i].name); var checked = myform.elements[i].checked; if (maxfields0 && (num==0 || num==id)) { var field = get_field(myfield+id); var o = field.substr(0,1); var g = field.substr(1,1); var e = field.substr(2,1); if (field.length==3 && o>=0 && o<=7 && g>=0 && g<=7 && e>=0 && e<=7) { for (var j = 0; j < myform.elements.length; j++) { if (regexp.test(myform.elements[j].name)) { var ar = regexp.exec(myform.elements[j].name); if (ar[1]==id) { var check = false; if (ar[2]=='owner') { if (ar[3]=='read' && (o==4 || o==5 || o==6 || o==7)) check = true; if (ar[3]=='write' && (o==2 || o==3 || o==6 || o==7)) check = true; if (ar[3]=='execute' && (o==1 || o==3 || o==5 || o==7)) check = true; } else if (ar[2]=='group') { if (ar[3]=='read' && (g==4 || g==5 || g==6 || g==7)) check = true; if (ar[3]=='write' && (g==2 || g==3 || g==6 || g==7)) check = true; if (ar[3]=='execute' && (g==1 || g==3 || g==5 || g==7)) check = true; } else if (ar[2]=='other') { if (ar[3]=='read' && (e==4 || e==5 || e==6 || e==7)) check = true; if (ar[3]=='write' && (e==2 || e==3 || e==6 || e==7)) check = true; if (ar[3]=='execute' && (e==1 || e==3 || e==5 || e==7)) check = true; } if (check==true) myform.elements[j].checked = 1; else myform.elements[j].checked = 0; } } } } else { update_input(id); } } } } } function CopyCheckboxToAll(myform, mysourcefieldname, mytargetfieldname) { for (var i = 0; i < myform.elements.length; i++) { if (myform.elements[i].name.indexOf(mysourcefieldname) >= 0) { for (var j = 0; j < myform.elements.length; j++) { if (myform.elements[j].name.indexOf(mytargetfieldname) >= 0) { myform.elements[j].checked = myform.elements[i].checked; } } } } }