[Cluster-devel] conga/luci homebase/form-macros homebase/homeb ...

rmccabe at sourceware.org rmccabe at sourceware.org
Wed Jul 11 22:47:10 UTC 2007


CVSROOT:	/cvs/cluster
Module name:	conga
Changes by:	rmccabe at sourceware.org	2007-07-11 22:47:08

Modified files:
	luci/homebase  : form-macros homebase_common.js 
	                 validate_cluster_add.js 
	                 validate_cluster_add_initial.js 
	                 validate_perm.js validate_sys_add.js 
	                 validate_sys_remove.js validate_user_add.js 
	                 validate_user_del.js 
	luci/cluster   : fence_device.js form-macros 
	                 resource-form-macros resource_form_handlers.js 
	                 validate_fence.js 

Log message:
	Fixes for MSIE support

Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/luci/homebase/form-macros.diff?cvsroot=cluster&r1=1.57&r2=1.58
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/luci/homebase/homebase_common.js.diff?cvsroot=cluster&r1=1.17&r2=1.18
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/luci/homebase/validate_cluster_add.js.diff?cvsroot=cluster&r1=1.9&r2=1.10
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/luci/homebase/validate_cluster_add_initial.js.diff?cvsroot=cluster&r1=1.1&r2=1.2
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/luci/homebase/validate_perm.js.diff?cvsroot=cluster&r1=1.2&r2=1.3
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/luci/homebase/validate_sys_add.js.diff?cvsroot=cluster&r1=1.1&r2=1.2
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/luci/homebase/validate_sys_remove.js.diff?cvsroot=cluster&r1=1.3&r2=1.4
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/luci/homebase/validate_user_add.js.diff?cvsroot=cluster&r1=1.3&r2=1.4
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/luci/homebase/validate_user_del.js.diff?cvsroot=cluster&r1=1.2&r2=1.3
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/luci/cluster/fence_device.js.diff?cvsroot=cluster&r1=1.11&r2=1.12
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/luci/cluster/form-macros.diff?cvsroot=cluster&r1=1.200&r2=1.201
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/luci/cluster/resource-form-macros.diff?cvsroot=cluster&r1=1.38&r2=1.39
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/luci/cluster/resource_form_handlers.js.diff?cvsroot=cluster&r1=1.36&r2=1.37
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/luci/cluster/validate_fence.js.diff?cvsroot=cluster&r1=1.7&r2=1.8

--- conga/luci/homebase/form-macros	2007/06/25 16:03:38	1.57
+++ conga/luci/homebase/form-macros	2007/07/11 22:47:07	1.58
@@ -69,7 +69,7 @@
 
 		<div class="hbSubmit" tal:condition="python:userList" id="hbSubmit">
 			<input name="Submit" type="button" value="Delete This User"
-				onClick="validateForm(this.form)" />
+				onclick="validateForm(this.form)" />
 		</div>
 	</form>
 
@@ -136,7 +136,7 @@
 
 		<div class="hbSubmit" id="hbSubmit">
 			<input name="Submit" type="button" value="Submit"
-				onClick="validateForm(this.form)" />
+				onclick="validateForm(this.form)" />
 		</div>
 	</form>
 </div>
@@ -189,7 +189,7 @@
 		<span tal:content="string:Select a User" /><br/>
 		
 		<select class="homebase" name="userList"
-			onChange="document.location = '/luci/homebase/?pagetype=3&user=' + this.form.userList.options[this.form.userList.selectedIndex].text">
+			onchange="document.location = '/luci/homebase/?pagetype=3&user=' + this.form.userList.options[this.form.userList.selectedIndex].text">
 			<tal:block tal:define="userlist python: perms">
 				<tal:block tal:repeat="user userlist">
 					<option class="homebase"
@@ -247,7 +247,7 @@
 		<div class="hbSubmit" id="hbSubmit">
 			<input type="button" name="Update Permissions"
 				value="Update Permissions"
-				onClick="validateForm(this.form)" />
+				onclick="validateForm(this.form)" />
 		</div>
 
 		</tal:block>
@@ -308,7 +308,7 @@
 					</tr>
 				</thead>
 			
-				<tbody class="systemsTable">
+				<tbody class="systemsTable" id="sys_tbody">
 					<tr class="systemsTable" id="__SYSTEM_ROW_0">
 						<td class="systemsTable">
 							<input class="hbInputSys" type="text"
@@ -320,7 +320,7 @@
 								id="__SYSTEM0:Passwd"
 								name="__SYSTEM0:Passwd"
 								class="hbInputPass"
-								onChange="pwd0Change(this.form)" />
+								onchange="pwd0Change(this.form)" />
 						</td>
 						<td class="systemsTable">
 							<img src="/luci/delete-row.png" class="deleteRow"
@@ -343,7 +343,7 @@
 				</thead>
 				<tal:block tal:define="global cur_sysnum python: 0" />
 
-				<tbody class="systemsTable">
+				<tbody class="systemsTable" id="sys_tbody">
 				<tal:block tal:repeat="cur_sys new_systems">
 					<tr class="systemsTable"
 						tal:attributes="
@@ -363,7 +363,7 @@
 							<input type="password"
 								autocomplete="off"
 								class="hbInputPass"
-								onChange="pwd0Change(this.form)"
+								onchange="pwd0Change(this.form)"
 								tal:attributes="
 									id python: '__SYSTEM%d:Passwd' % cur_sysnum;
 									name python: '__SYSTEM%d:Passwd' % cur_sysnum;
@@ -414,7 +414,7 @@
 						<li class="vanilla"
 							tal:attributes="id python: cur_sysnum < 2 and 'allSameDiv' or ''">
 							<input type="checkbox" name="allSameCheckBox"
-								id="allSameCheckBox" onClick="allPasswdsSame(this.form)" />
+								id="allSameCheckBox" onclick="allPasswdsSame(this.form)" />
 							Check if system passwords are identical.
 						</li>
 					</ul>
@@ -423,7 +423,7 @@
 				<tr class="systemsTable"><td class="systemsTable" colspan="2">
 					<div class="systemsTableEnd">
 						<input type="button" value="Add another entry"
-							onClick="addSystem(this.form)" />
+							onclick="addSystem(this.form)" />
 					</div>
 				</td></tr>
 			</tfoot>
@@ -436,7 +436,7 @@
 
 		<div class="hbSubmit" id="hbSubmit">
 			<input type="button" name="Submit" value="Submit"
-				onClick="validateAuth(this.form)" />
+				onclick="validateAuth(this.form)" />
 		</div>
 
 		<tal:block tal:condition="exists: request/SESSION/auth_status">
@@ -542,7 +542,7 @@
 
 		<div class="hbSubmit">
 			<input type="button" name="Submit" value="Remove selected entries"
-				onClick="validateForm(this.form)" />
+				onclick="validateForm(this.form)" />
 		</div>
 	</fieldset>
 	</form>
@@ -601,7 +601,7 @@
 					</tr>
 				</thead>
 			
-				<tbody class="systemsTable">
+				<tbody class="systemsTable" id="sys_tbody">
 					<tr class="systemsTable" id="__SYSTEM_ROW_0">
 						<td class="systemsTable">
 							<input class="hbInputSys" type="text"
@@ -613,7 +613,7 @@
 								id="__SYSTEM0:Passwd"
 								name="__SYSTEM0:Passwd"
 								class="hbInputPass"
-								onChange="pwd0Change(this.form)" />
+								onchange="pwd0Change(this.form)" />
 						</td>
 						<td class="systemsTable">
 							<img src="/luci/delete-row.png" class="deleteRow"
@@ -636,7 +636,7 @@
 				</thead>
 				<tal:block tal:define="global cur_sysnum python: 0" />
 
-				<tbody class="systemsTable">
+				<tbody class="systemsTable" id="sys_tbody">
 				<tal:block tal:repeat="cur_sys new_systems">
 					<tr class="systemsTable"
 						tal:attributes="
@@ -656,7 +656,7 @@
 							<input type="password"
 								autocomplete="off"
 								class="hbInputPass"
-								onChange="pwd0Change(this.form)"
+								onchange="pwd0Change(this.form)"
 								tal:attributes="
 									id python: '__SYSTEM%d:Passwd' % cur_sysnum;
 									name python: '__SYSTEM%d:Passwd' % cur_sysnum;
@@ -706,14 +706,14 @@
 								onchange="view_certs_only(this.form, this.checked)"
 								type="checkbox">View system certificates before sending any passwords.</li>
 						<li class="vanilla"
-							tal:attributes="id python: cur_sysnum < 2 and 'allSameDiv' or ''"><input type="checkbox" name="allSameCheckBox" id="allSameCheckBox" onClick="allPasswdsSame(this.form);"/>Check if storage system passwords are identical.</li>
+							tal:attributes="id python: cur_sysnum < 2 and 'allSameDiv' or ''"><input type="checkbox" name="allSameCheckBox" id="allSameCheckBox" onclick="allPasswdsSame(this.form);"/>Check if storage system passwords are identical.</li>
 					</ul>
 				</td></tr>
 
 				<tr class="systemsTable"><td class="systemsTable" colspan="2">
 					<div class="systemsTableEnd">
 						<input type="button" value="Add another entry"
-							onClick="addSystem(this.form)" />
+							onclick="addSystem(this.form)" />
 					</div>
 				</td></tr>
 			</tfoot>
@@ -724,7 +724,7 @@
 
 		<div class="hbSubmit" id="hbSubmit">
 			<input type="button" name="Submit" value="Submit"
-				onClick="validateForm(this.form)" />
+				onclick="validateForm(this.form)" />
 		</div>
 	</form>
 </div>
@@ -805,7 +805,7 @@
 						<li class="vanilla" id="allSameDiv">
 						<li class="vanilla" tal:condition="not: exists: add_cluster/complete">
 							<input type="checkbox" name="allSameCheckBox"
-								id="allSameCheckBox" onClick="allPasswdsSame(this.form)"
+								id="allSameCheckBox" onclick="allPasswdsSame(this.form)"
 								tal:attributes="checked python: add_cluster['identical_passwds'] and 'checked'"
 							/>
 							
@@ -823,7 +823,8 @@
 
 			<tal:block tal:define="global cur_sysnum python:0" />
 
-			<tbody class="systemsTable" tal:condition="add_cluster/nodes">
+			<tbody class="systemsTable" id="sys_tbody"
+				tal:condition="add_cluster/nodes">
 			 <tal:block tal:repeat="cur_sys add_cluster/nodes">
 				<tr class="systemsTable"
 					tal:define="sys python: add_cluster['nodes'][cur_sys]">
@@ -841,7 +842,7 @@
 						<tal:block tal:condition="not: exists: sys/auth">
 							<input type="password"
 								autocomplete="off"
-								onChange="pwd0Change(this.form)"
+								onchange="pwd0Change(this.form)"
 								tal:attributes="
 									value nothing;
 									class python: 'hbInputPass' + ('errors' in sys and ' error' or '');
@@ -850,7 +851,7 @@
 						</tal:block>
 
 						<tal:block tal:condition="exists: sys/auth">
-							<input type="text" onChange="pwd0Change(this.form)"
+							<input type="text" onchange="pwd0Change(this.form)"
 								disabled="disabled" value="[authenticated]"
 								tal:attributes="
 									class python: 'hbInputPass' + ('errors' in sys and ' error' or '');
@@ -889,7 +890,7 @@
 
 		<div class="hbSubmit" id="hbSubmit">
 			<input type="button" name="Submit" value="Add This Cluster"
-				onClick="validateForm(this.form)" />
+				onclick="validateForm(this.form)" />
 		</div>
 	</form>
 
@@ -958,7 +959,7 @@
 				</td></tr>
 			</tfoot>
 
-			<tbody class="systemsTable">
+			<tbody class="systemsTable" id="sys_tbody">
 				<tr class="systemsTable">
 					<td class="systemsTable">
 						<input class="hbInputSys" type="text"
@@ -968,7 +969,7 @@
 					</td>
 					<td class="systemsTable">
 						<input class="hbInputPass" type="password"
-							onChange="pwd0Change(this.form)"
+							onchange="pwd0Change(this.form)"
 							autocomplete="off"
 							id="__SYSTEM0:Passwd" name="__SYSTEM0:Passwd"
 							tal:attributes="
@@ -997,7 +998,7 @@
 
 		<div class="hbSubmit" id="hbSubmit">
 			<input type="button" name="Submit" value="Submit"
-				onClick="validateForm(this.form)" />
+				onclick="validateForm(this.form)" />
 		</div>
 	</form>
 </div>
--- conga/luci/homebase/homebase_common.js	2007/02/09 18:30:44	1.17
+++ conga/luci/homebase/homebase_common.js	2007/07/11 22:47:07	1.18
@@ -1,28 +1,34 @@
 function set_form_err(ielem) {
-	if (ielem)
+	if (ielem) {
 		ielem.className += ' formerror';
+	}
 }
 
 function clr_form_err(ielem) {
-	if (ielem)
+	if (ielem) {
 		ielem.className = ielem.className.replace(/( )?formerror/, '');
+	}
 }
 
 function toggle_visible(img_obj, elem_id, label_id) {
-	var elem = document.getElementById(elem_id)
-	if (!elem)
+	var elem = document.getElementById(elem_id);
+	if (!elem) {
 		return (-1);
+	}
 
 	var old_state = !!!elem.className.match(/invisible/i);
 
 	if (label_id) {
-		var label = document.getElementById(label_id);
-		if (!label)
+		var label_obj = document.getElementById(label_id);
+		if (!label_obj) {
 			return (-1);
-		if (old_state)
-			label.innerHTML = 'Show';
-		else
-			label.innerHTML = 'Hide';
+		}
+
+		if (old_state) {
+			label_obj.innerHTML = 'Show';
+		} else {
+			label_obj.innerHTML = 'Hide';
+		}
 	}
 
 	if (old_state) {
@@ -38,21 +44,26 @@
 }
 
 function is_valid_int(str, min, max) {
-	if (str.match(/[^0-9 -]/))
+	if (str.match(/[^0-9 -]/)) {
 		return (0);
+	}
 	var val = parseInt(str, 10);
-	if (isNaN(val))
+	if (isNaN(val)) {
 		return (0);
-	if (min !== null && val < min)
+	}
+	if (min !== null && val < min) {
 		return (0);
-	if (max !== null && val > max)
+	}
+	if (max !== null && val > max) {
 		return (0);
+	}
 	return (1);
 }
 
 function error_dialog(errors) {
-	if (!errors || errors.length < 1)
+	if (!errors || errors.length < 1) {
 		return (null);
+	}
 	alert('The following errors were found:\n\n' + errors.join('\n'));
 	return (-1);
 }
@@ -62,32 +73,38 @@
 }
 
 function str_is_valid(str, valid_regex_str) {
-	if (!str || !valid_regex_str)
+	if (!str || !valid_regex_str) {
 		return (null);
+	}
 	var re = eval(valid_regex_str);
 	var invalid = str.replace(re, '');
-	if (!invalid)
+	if (!invalid) {
 		return (null);
+	}
 	return (invalid);
 }
 
 function checkAllBoxes(str, val) {
 	var i = 0;
 	var element;
-	while ((element = document.getElementById(str + i++)))
+	while ((element = document.getElementById(str + i++))) {
 		element.checked = val;
+	}
 }
 
 function checkChildren(parent_cont, parent_input) {
-	if (!parent_cont || !parent_input)
+	if (!parent_cont || !parent_input) {
 		return;
+	}
 	var parent = document.getElementById(parent_cont);
 	var children = parent.getElementsByTagName('input');
 	for (var i = 0 ; i < children.length ; i++) {
-		if (children[i] == parent_input)
+		if (children[i] === parent_input) {
 			continue;
-		if (children[i].type == 'checkbox')
+		}
+		if (children[i].type === 'checkbox') {
 			children[i].checked = parent_input.checked;
+		}
 	}
 }
 
@@ -102,20 +119,21 @@
 function isValidHost(str) {
 	var i = str.split('.');
 
-	if (i.length == 1)
+	if (i.length === 1) {
 		return ('Hostnames must be fully qualified.');
+	}
 
-	if (i.length == 4 && !isNaN(parseInt(i[3]))) {
+	if (i.length === 4 && !isNaN(parseInt(i[3]))) {
 		var o1 = parseInt(i[0]);
 		var o2 = parseInt(i[1]);
 		var o3 = parseInt(i[2]);
 		var o4 = parseInt(i[3]);
 
 		if (isNaN(o1) || isNaN(o2) || isNaN(o3) ||
-			((o1 & 0xff) != o1) ||
-			((o2 & 0xff) != o2) ||
-			((o3 & 0xff) != o3) ||
-			((o4 & 0xff) != o4))
+			((o1 & 0xff) !== o1) ||
+			((o2 & 0xff) !== o2) ||
+			((o3 & 0xff) !== o3) ||
+			((o4 & 0xff) !== o4))
 		{
 			return ('Invalid IP Address.');
 		}
@@ -123,24 +141,28 @@
 		return (null);
 	}
 
-	if (!isNaN(parseInt(i[i.length - 1])))
+	if (!isNaN(parseInt(i[i.length - 1]))) {
 		return ('Invalid IP Address.');
+	}
 
-	if (!str.match(/^[0-9A-Za-z][0-9A-Za-z.-]*$/))
+	if (!str.match(/^[0-9A-Za-z][0-9A-Za-z.-]*$/)) {
 		return ('Hostnames can contain only alphanumeric characters and hyphens.');
+	}
 
 	return (null);
 }
 
 function view_certs_only(form, state) {
 	var num_systems = form.numStorage.value;
-	if (!form.numStorage)
+	if (!form.numStorage) {
 		return (-1);
+	}
 
 	if (state) {
 		var cb = document.getElementById('allSameCheckBox');
-		if (cb && cb.checked)
+		if (cb && cb.checked) {
 			cb.checked = false;
+		}
 	}
 
 	for (var i = 0 ; i < num_systems ; i++) {
@@ -154,8 +176,9 @@
 
 function allPasswdsSame(form) {
 	var cb = document.getElementById('allSameCheckBox');
-	if (!cb)
+	if (!cb) {
 		return (-1);
+	}
 	var num_systems = form.numStorage.value;
 
 	var state = cb.checked;
@@ -164,22 +187,25 @@
 	var first_system = 0;
 	for (var i = 0 ; i < num_systems ; i++) {
 		var passwd = document.getElementById('__SYSTEM' + i + ':Passwd');
-		if (!passwd || passwd.type != 'password')
-			continue
+		if (!passwd || passwd.type !== 'password') {
+			continue;
+		}
 		first_passwd = passwd.value;
 		first_system = i;
 		break;
 	}
 
-	if (first_passwd === null)
+	if (first_passwd === null) {
 		return (-1);
+	}
 
-	if (!first_passwd || !state)
+	if (!first_passwd || !state) {
 		first_passwd = '';
+	}
 
 	for (var i = first_system + 1 ; i < num_systems ; i++) {
 		var element = document.getElementById('__SYSTEM' + i + ':Passwd');
-		if (element && element.type == 'password') {
+		if (element && element.type === 'password') {
 			element.value = first_passwd;
 			element.disabled = state;
 		}
@@ -188,21 +214,24 @@
 
 function delete_element_id(id_str) {
 	var elem = document.getElementById(id_str);
-	if (!elem || !elem.parentNode)
+	if (!elem || !elem.parentNode) {
 		return (-1);
+	}
 	elem.parentNode.removeChild(elem);
 }
 
 function pwd0Change(form) {
 	var element = document.getElementById('allSameCheckBox');
-	if (element && element.checked)
+	if (element && element.checked) {
 		allPasswdsSame(form);
+	}
 }
 
 function addSystem(form) {
-	var sltab = document.getElementById('systemsTable');
-	if (!sltab)
+	var sltab = document.getElementById('sys_tbody');
+	if (!sltab) {
 		return;
+	}
 	var num_systems = form.numStorage.value;
 
 	var newsys = document.createElement('input');
@@ -223,8 +252,9 @@
 	var first_passwd = '';
 	for (var i = 0 ; i < num_systems - 1 ; i++) {
 		var pwd = document.getElementById('__SYSTEM' + i + ':Passwd');
-		if (!pwd || pwd.type != 'password')
+		if (!pwd || pwd.type !== 'password') {
 			continue;
+		}
 		first_passwd = pwd.value;
 		break;
 	}
@@ -247,20 +277,20 @@
 	dcol.className = 'systemsTable';
 	var del_img = document.createElement('img');
 	del_img.src = '/luci/delete-row.png';
-	del_img.title = 'delete this row'
-	del_img.className = 'deleteRow'
-	del_img.setAttribute('onClick', 'delete_element_id(\'' + newrow.id + '\')');
-	dcol.appendChild(del_img);
+	del_img.title = 'delete this row';
+	del_img.className = 'deleteRow';
+	del_img.onclick = new Function('delete_element_id(\'' + newrow.id + '\')');
 
+	sltab.appendChild(newrow);
+	dcol.appendChild(del_img);
 	hcol.appendChild(newsys);
 	pcol.appendChild(newsysp);
 	newrow.appendChild(hcol);
 	newrow.appendChild(pcol);
 	newrow.appendChild(dcol);
-	sltab.appendChild(newrow);
 
 	form.numStorage.value = ++num_systems;
-	if (num_systems == 2) {
+	if (num_systems === 2) {
 		var temp = document.getElementById('allSameDiv');
 		temp.style.visibility = 'visible';
 		temp.style.display = 'block';
@@ -269,20 +299,22 @@
 
 function validate_systems(form, errors) {
 	var allSameCB = document.getElementById('allSameCheckBox');
-	var added_storage = new Array();
+	var added_storage = [];
 	var num_systems = form.numStorage.value;
 
 	var view_certs = document.getElementById('view_certs');
-	if (view_certs)
+	if (view_certs) {
 		view_certs = view_certs.checked;
-	else
+	} else {
 		view_certs = false;
+	}
 
 	for (var i = 0 ; i < num_systems ; i++) {
 		var element = document.getElementById('__SYSTEM' + i + ':Addr');
 
-		if (!element)
+		if (!element) {
 			continue;
+		}
 		element.disabled = false;
 
 		var pwdElem = document.getElementById('__SYSTEM' + i + ':Passwd');
@@ -292,11 +324,13 @@
 				if (!allSameCB || !allSameCB.checked) {
 					errors.push('You entered a password, but no hostname for system ' + (i + 1));
 					clr_form_err(pwdElem);
-				} else
+				} else {
 					pwdElem.value = '';
+				}
 			}
-			if (pwdElem)
+			if (pwdElem) {
 				clr_form_err(pwdElem);
+			}
 			continue;
 		}
 
@@ -316,8 +350,9 @@
 		} else if (str_is_blank(pwdElem.value)) {
 			errors.push('The password entered for \"' + element.value + '\" is blank.');
 			set_form_err(pwdElem);
-		} else
+		} else {
 			clr_form_err(pwdElem);
+		}
 
 		if (str_is_blank(element.value)) {
 			errors.push('You entered a blank hostname for system ' + (i + 1));
--- conga/luci/homebase/validate_cluster_add.js	2007/06/25 16:03:38	1.9
+++ conga/luci/homebase/validate_cluster_add.js	2007/07/11 22:47:07	1.10
@@ -1,8 +1,9 @@
 function validateForm(form) {
-	var errors = new Array();
+	var errors = [];
 
-	if (!form)
+	if (!form) {
 		return (-1);
+	}
 
 	var clustername = form.clustername;
 	if (!clustername || str_is_blank(clustername.value)) {
@@ -18,34 +19,41 @@
 			if (invalid_chars) {
 				errors.push('The cluster name you gave contains the following invalid characters: "' + invalid_chars + '".');
 				set_form_err(form.clustername);
-			} else
+			} else {
 				clr_form_err(form.clustername);
+			}
 		}
 	}
 
 	var added_storage = validate_systems(form, errors);
 
-	if (error_dialog(errors))
+	if (error_dialog(errors)) {
 		return (-1);
+	}
 
-	if (!added_storage || added_storage.length < 1)
+	if (!added_storage || added_storage.length < 1) {
 		errors.push('You have not added any cluster nodes.');
+	}
 
-	if (error_dialog(errors))
+	if (error_dialog(errors)) {
 		return (-1);
+	}
 
 	var view_certs = document.getElementById('view_certs');
 	if (!view_certs || !view_certs.checked) {
 		var confirm_str = '';
-		if (form.addnode)
+		if (form.addnode) {
 			confirm_str = 'Add ' + (added_storage.length > 1 ? 'these nodes' : 'this node') + ' to the \"' + clustername + '\" cluster?';
-		else
+		} else {
 			confirm_str = 'Add the cluster \"' + clustername + '\" to the Luci management interface?';
+		}
 
-		if (confirm(confirm_str))
+		if (confirm(confirm_str)) {
 			form.submit();
-	} else
+		}
+	} else {
 		form.submit();
+	}
 
 	return (0);
 }
--- conga/luci/homebase/validate_cluster_add_initial.js	2006/07/18 19:25:20	1.1
+++ conga/luci/homebase/validate_cluster_add_initial.js	2007/07/11 22:47:07	1.2
@@ -1,22 +1,28 @@
 function validateForm(form) {
-	var errors = new Array();
+	var errors = [];
 
-	if (!form)
+	if (!form) {
 		return (-1);
+	}
 
 	var added_storage = validate_systems(form, errors);
 
-	if (error_dialog(errors))
+	if (error_dialog(errors)) {
 		return (-1);
+	}
 
-	if (!added_storage || added_storage.length < 1)
+	if (!added_storage || added_storage.length < 1) {
 		errors.push('You have not added any cluster nodes.');
+	}
 
-	if (error_dialog(errors))
+	if (error_dialog(errors)) {
 		return (-1);
+	}
 
 	if (confirm('Retrieve cluster information from ' + added_storage[0] + '?'))
+	{
 		form.submit();
+	}
 
 	return (0);
 }
--- conga/luci/homebase/validate_perm.js	2006/06/30 23:07:32	1.2
+++ conga/luci/homebase/validate_perm.js	2007/07/11 22:47:07	1.3
@@ -1,48 +1,58 @@
 function validateForm(form) {
-	var errors = new Array();
+	var errors = [];
 
-	if (!form || !form.userList)
+	if (!form || !form.userList) {
 		return (-1);
+	}
 
 	var userIdx = form.userList.selectedIndex;
-	if (userIdx < 0 || !form.userList.options[userIdx].value)
+	if (userIdx < 0 || !form.userList.options[userIdx].value) {
 		errors.push('You have not selected a valid user.');
+	}
 
-	if (error_dialog(errors))
+	if (error_dialog(errors)) {
 		return (-1);
+	}
 
 	var username = form.userList.options[userIdx].value;
-	var selected_clusters = new Array();
-	var selected_storage = new Array();
+	var selected_clusters = [];
+	var selected_storage = [];
 
-	if (!form)
+	if (!form) {
 		return (-1);
+	}
 
 	var num_clusters = document.getElementById('numClusters').value;
 	for (var i = 0 ; i < num_clusters ; i++) {
 		var element = document.getElementById('__CLUSTER' + i);
-		if (!element || !element.value || !element.checked)
+		if (!element || !element.value || !element.checked) {
 			continue;
+		}
 		selected_clusters.push(element.value);
 	}
 
 	var num_storage = document.getElementById('numStorage').value;
 	for (var i = 0 ; i < num_storage ; i++) {
 		var element = document.getElementById('__SYSTEM' + i);
-		if (!element || !element.value || !element.checked)
+		if (!element || !element.value || !element.checked) {
 			continue;
+		}
 		selected_storage.push(element.value);
 	}
 
-	if (error_dialog(errors))
+	if (error_dialog(errors)) {
 		return (-1);
+	}
 
-	if (selected_clusters.length + selected_storage.length < 1)
+	var confirm_str = '';
+	if (selected_clusters.length + selected_storage.length < 1) {
 		confirm_str = 'Remove all permissions for ' + username + '?';
-	else
+	} else {
 		confirm_str = 'Modify permissions for ' + username + '?';
+	}
 
-	if (confirm(confirm_str))
+	if (confirm(confirm_str)) {
 		form.submit();
+	}
 	return (0);
 }
--- conga/luci/homebase/validate_sys_add.js	2006/06/30 18:06:10	1.1
+++ conga/luci/homebase/validate_sys_add.js	2007/07/11 22:47:07	1.2
@@ -1,12 +1,14 @@
 function validateForm(form) {
-	var errors = new Array();
+	var errors = [];
 
-	if (!form)
+	if (!form) {
 		return (-1);
+	}
 
 	var added_storage = validate_systems(form, errors);
-	if (error_dialog(errors))
+	if (error_dialog(errors)) {
 		return (-1);
+	}
 
 	if (added_storage.length > 0 &&
 		confirm("Do you really want to add the following Storage Systems:\n" + added_storage.join('\n')))
--- conga/luci/homebase/validate_sys_remove.js	2006/12/21 05:08:48	1.3
+++ conga/luci/homebase/validate_sys_remove.js	2007/07/11 22:47:07	1.4
@@ -1,65 +1,77 @@
 function validateForm(form) {
-	var errors = new Array();
-	var selected_clusters = new Array();
-	var selected_storage = new Array();
+	var errors = [];
+	var selected_clusters = [];
+	var selected_storage = [];
 
-	if (!form)
+	if (!form) {
 		return (-1);
+	}
 
 	var num_clusters = document.getElementById('num_clusters').value;
 	for (var i = 0 ; i < num_clusters ; i++) {
 		var element = document.getElementById('__CLUSTER' + i);
-		if (!element || !element.value || !element.checked)
+		if (!element || !element.value || !element.checked) {
 			continue;
+		}
 		selected_clusters.push(element.value);
 	}
 
 	var num_storage = document.getElementById('num_storage').value;
 	for (var i = 0 ; i < num_storage ; i++) {
 		var element = document.getElementById('__SYSTEM' + i);
-		if (!element || !element.value || !element.checked)
+		if (!element || !element.value || !element.checked) {
 			continue;
+		}
 		selected_storage.push(element.value);
 	}
 
-	if (selected_clusters.length + selected_storage.length < 1)
+	if (selected_clusters.length + selected_storage.length < 1) {
 		return (0);
+	}
 
-	if (error_dialog(errors))
+	if (error_dialog(errors)) {
 		return (-1);
+	}
 
 	var confirm_str = 'Do you really want to remove the following managed systems:';
-	if (selected_clusters.length > 0)
+	if (selected_clusters.length > 0) {
 		confirm_str += '\nClusters:\n-' + selected_clusters.join('\n-');
+	}
 
 	if (selected_storage.length > 0) {
-		if (selected_clusters.length > 0)
+		if (selected_clusters.length > 0) {
 			confirm_str += '\n';
+		}
 
 		confirm_str += '\nStorage Systems:\n-' + selected_storage.join('\n-');
 	}
 
-	if (confirm(confirm_str))
+	if (confirm(confirm_str)) {
 		form.submit();
+	}
 	return (0);
 }
 
 function validateAuth(form) {
-	var errors = new Array();
+	var errors = [];
 
-	if (!form)
+	if (!form) {
 		return (-1);
+	}
 
 	var added_storage = validate_systems(form, errors);
 
-	if (error_dialog(errors))
+	if (error_dialog(errors)) {
 		return (-1);
+	}
 
-	if (!added_storage || added_storage.length < 1)
+	if (!added_storage || added_storage.length < 1) {
 		errors.push('You have not specified any hosts.');
+	}
 
-	if (error_dialog(errors))
+	if (error_dialog(errors)) {
 		return (-1);
+	}
 
 	form.submit();
 	return (0);
--- conga/luci/homebase/validate_user_add.js	2006/10/04 16:39:07	1.3
+++ conga/luci/homebase/validate_user_add.js	2007/07/11 22:47:07	1.4
@@ -1,8 +1,9 @@
 function validateForm(form) {
-	var errors = new Array()
+	var errors = [];
 
-	if (!form)
+	if (!form) {
 		return (-1);
+	}
 
 	if (!form.newUserName || !form.newUserName.value) {
 		errors.push('You did not enter a user name.');
@@ -12,8 +13,9 @@
 		if (invalid) {
 			errors.push('The user name you specified contains the following invalid characters: "' + invalid + '"');
 			set_form_err(form.newUserName);
-		} else
+		} else {
 			clr_form_err(form.newUserName);
+		}
 	}
 
 	if (!form.newPassword || !form.newPassword.value) {
@@ -43,9 +45,13 @@
 		}
 	}
 
-	if (error_dialog(errors))
+	if (error_dialog(errors)) {
 		return (-1);
+	}
+
 	if (confirm('Do you really want to add the user \"' + form.newUserName.value + '\"?'))
+	{
 		form.submit();
+	}
 	return (0);
 }
--- conga/luci/homebase/validate_user_del.js	2006/09/27 22:49:09	1.2
+++ conga/luci/homebase/validate_user_del.js	2007/07/11 22:47:07	1.3
@@ -1,8 +1,9 @@
 function validateForm(form) {
-	var errors = new Array();
+	var errors = [];
 
-	if (!form || !form.deluserId)
+	if (!form || !form.deluserId) {
 		return (-1);
+	}
 
 	var userIdx = form.deluserId.selectedIndex;
 	if (userIdx <= 0 ||
@@ -13,8 +14,10 @@
 		return (-1);
 	}
 
-	if (error_dialog(errors))
+	if (error_dialog(errors)) {
 		return (-1);
+	}
+
 	if (confirm('Do you really want to remove the user \"' +
 		form.deluserId.options[userIdx].value + '\"?'))
 	{
--- conga/luci/cluster/fence_device.js	2007/01/25 21:03:46	1.11
+++ conga/luci/cluster/fence_device.js	2007/07/11 22:47:07	1.12
@@ -1,5 +1,5 @@
-var num_fences_level = Array(0, 0)
-var num_fence_instances = new Array()
+var num_fences_level = [ 0, 0 ];
+var num_fence_instances = [];
 
 function del_fence_instance(fi_div_id) {
 	delete_element_id(fi_div_id);
@@ -11,8 +11,9 @@
 
 function add_fence_instance(fi_cont_id, fence_type) {
 	var instance_div = document.getElementById(fi_cont_id + '_instances');
-	if (!instance_div)
+	if (!instance_div) {
 		return (-1);
+	}
 
 	var fi_form = document.getElementById(fence_type + '_instance');
 	if (fi_form) {
@@ -49,13 +50,16 @@
 
 	var child_element = document.getElementById(element_id);
 	if (!child_element) {
-		if (container_element.firstChild)
+		if (container_element.firstChild) {
 			container_element.removeChild(container_element.firstChild);
+		}
 		return (-1);
 	}
 
-	if (container_element.firstChild)
+	if (container_element.firstChild) {
 		container_element.removeChild(container_element.firstChild);
+	}
+
 	var target = child_element.cloneNode(1);
 	target.id = null;
 	container_element.appendChild(target);
@@ -63,15 +67,21 @@
 
 function swap_node_fence_div(container_id, fence_opt) {
 	var container_element = document.getElementById(container_id);
-	if (!container_element || !fence_opt || !fence_opt.value)
+	if (!container_element) {
 		return (-1);
+	}
+	if (!container_element || !fence_opt || !fence_opt.value) {
+		return (-1);
+	}
 
 	var fence_id = fence_opt.value;
 	var child_element = document.getElementById(fence_id);
-	if (!child_element)
+	if (!child_element) {
 		return (-1);
-	if (container_element.firstChild)
+	}
+	if (container_element.firstChild) {
 		container_element.removeChild(container_element.firstChild);
+	}
 
 	var target = child_element.cloneNode(1);
 	target.id = '';
@@ -82,8 +92,9 @@
 		for (var i = 0 ; i < input_tags.length ; i++) {
 			if (input_tags[i].type != 'button') {
 				input_tags[i].disabled = true;
-				if (input_tags[i].name == 'fence_type')
+				if (input_tags[i].name == 'fence_type') {
 					fence_type = input_tags[i].value;
+				}
 			}
 		}	
 	}
@@ -144,8 +155,9 @@
 
 	var remove_form = document.createElement('form');
 	remove_form.appendChild(remove_button);
-	if (sharable)
+	if (sharable) {
 		remove_form.appendChild(add_instance_button);
+	}
 	remove_div.appendChild(remove_form);
 	container_element.appendChild(remove_div);
 }
@@ -153,38 +165,45 @@
 function add_node_fence_device(fence_level) {
 	var cont_name = 'fence_list_level' + fence_level;
 	var container = document.getElementById(cont_name);
-	if (!container)
+	if (!container) {
 		return (-1);
+	}
 
-	var chooser_elem = document.getElementById('fence_selection_block');
-	if (!chooser_elem)
+	var chooser_elem_orig = document.getElementById('fence_selection_block');
+	if (!chooser_elem_orig) {
 		return (-1);
+	}
 
 	var div_elem = document.createElement('div');
-	if (!div_elem)
+	if (!div_elem) {
 		return (-1);
+	}
 	var level_num_fences = num_fences_level[fence_level - 1];
 
 	div_elem.id = 'fence' + fence_level + '_' + level_num_fences;
 	div_elem.className = 'fence_level';
-	chooser_elem = chooser_elem.cloneNode(1);
+
+	var chooser_elem = chooser_elem_orig.cloneNode(1);
 	chooser_elem.id = null;
 	chooser_elem.className = null;
 
 	var input_elems = chooser_elem.getElementsByTagName('input');
-	if (!input_elems || input_elems.length < 2)
+	if (!input_elems || input_elems.length < 2) {
 		return (-1);
+	}
 	for (var i = 0 ; i < input_elems.length ; i++) {
-		if (input_elems[i].name == 'fence_level')
+		if (input_elems[i].name == 'fence_level') {
 			input_elems[i].value = fence_level;
-		else if (input_elems[i].name == 'fence_num')
+		} else if (input_elems[i].name == 'fence_num') {
 			input_elems[i].value = level_num_fences++;
+		}
 	}
-
 	var select_elem = chooser_elem.getElementsByTagName('select');
-	if (!select_elem || select_elem.length != 1)
+	if (!select_elem || select_elem.length !== 1) {
 		return (-1);
-	select_elem[0].setAttribute('onChange', "swap_node_fence_div('" + div_elem.id + "', this.options[this.selectedIndex])");
+	}
+	select_elem = select_elem[0];
+	select_elem.onchange = new Function("swap_node_fence_div('" + div_elem.id + "', this.options[this.selectedIndex])");
 
 	div_elem.appendChild(chooser_elem);
 	container.appendChild(div_elem);
--- conga/luci/cluster/form-macros	2007/06/25 16:11:30	1.200
+++ conga/luci/cluster/form-macros	2007/07/11 22:47:07	1.201
@@ -384,7 +384,7 @@
 
 			<tal:block tal:define="global cur_sysnum python:0" />
 
-			<tbody class="systemsTable">
+			<tbody class="systemsTable" id="sys_tbody">
 			 <tal:block
 				tal:condition="exists: add_cluster/nodes"
 				tal:repeat="cur_sys add_cluster/nodes">
@@ -404,7 +404,7 @@
 					<td class="systemsTable">
 						<tal:block tal:condition="not: exists: sys/auth">
 							<input type="password"
-								onChange="pwd0Change(this.form)"
+								onchange="pwd0Change(this.form)"
 								autocomplete="off"
 								tal:attributes="
 									value nothing;
@@ -414,7 +414,7 @@
 						</tal:block>
 
 						<tal:block tal:condition="exists: sys/auth">
-							<input type="text" onChange="pwd0Change(this.form)"
+							<input type="text" onchange="pwd0Change(this.form)"
 								disabled="disabled" value="[authenticated]"
 								tal:attributes="
 									class python: 'hbInputPass' + ('errors' in sys and ' error' or '');
@@ -461,9 +461,8 @@
 					</td>
 					<td class="systemsTable">
 						<input type="password"
-							onChange="pwd0Change(this.form)"
+							onchange="pwd0Change(this.form)"
 							class="hbInputPass" autocomplete="off"
-							onChange="pwd0Change(this.form)"
 							id="__SYSTEM0:Passwd" name="__SYSTEM0:Passwd" />
 					</td>
 					<td class="systemsTable">
@@ -480,7 +479,7 @@
 					</td>
 					<td class="systemsTable">
 						<input type="password"
-							onChange="pwd0Change(this.form)"
+							onchange="pwd0Change(this.form)"
 							class="hbInputPass" autocomplete="off"
 							id="__SYSTEM1:Passwd" name="__SYSTEM1:Passwd" />
 					</td>
@@ -498,7 +497,7 @@
 					</td>
 					<td class="systemsTable">
 						<input type="password"
-							onChange="pwd0Change(this.form)"
+							onchange="pwd0Change(this.form)"
 							class="hbInputPass" autocomplete="off"
 							id="__SYSTEM2:Passwd" name="__SYSTEM2:Passwd" />
 					</td>
@@ -609,7 +608,7 @@
 				</td></tr>
 			</thead>
 
-			<tbody class="systemsTable">
+			<tbody class="systemsTable" id="sys_tbody">
 				<tr class="systemsTable">
 					<td class="systemsTable">Cluster Name</td>
 					<td class="systemsTable">
@@ -943,7 +942,7 @@
 				</td></tr>
 			</thead>
 
-			<tbody class="systemsTable">
+			<tbody class="systemsTable" id="sys_tbody">
 				<tr class="systemsTable">
 					<td class="systemsTable">Post Fail <span tal:attributes="onclick python:'window.location.assign(\'./?pagetype=80&clustername=' + request['clustername'] + '\')'">Delay</span>
 					</td>
@@ -1009,7 +1008,7 @@
 				</td></tr>
 			</thead>
 
-			<tbody class="systemsTable">
+			<tbody class="systemsTable" id="sys_tbody">
 				<tr class="systemsTable">
 					<td class="systemsTable">
 						<input type="radio" name="mcast" value="False"
@@ -1093,7 +1092,7 @@
 				</td></tr>
 			</thead>
 
-			<tbody class="systemsTable">
+			<tbody class="systemsTable" id="sys_tbody">
 				<tr class="systemsTable" id="st_row"><td class="systemsTable" id="st_col">
 					<input type="radio" name="quorumd" value="False"
 						onClick="disableChildrenInput('quorumdisk');"
@@ -1314,7 +1313,7 @@
 					<th class="systemsTable">Lock Server</th>
 				</tr>
 			</thead>
-			<tbody>
+			<tbody id="sys_tbody">
 				<tal:block tal:repeat="c clusterinfo/gulm_lockservers">
 					<tr class="systemsTable">
 						<td class="systemsTable">
@@ -3274,7 +3273,7 @@
 
 	<div id="fence_selection_block" class="invisible">
 		<form name="main_fence_form">
-			<select name="select_div">
+			<select name="select_div" onchange="alert('ALERT')">
 				<option value="fence-form-new-device">------ Use an existing Fence Device ------</option>
 				<tal:block tal:repeat="f fencedevinfo/fencedevs">
 					<option class="shared_fencedev"
@@ -3731,7 +3730,7 @@
 
 			<tal:block tal:define="global cur_sysnum python:0" />
 
-			<tbody class="systemsTable">
+			<tbody class="systemsTable" id="sys_tbody">
 			 <tal:block
 				tal:condition="exists: add_cluster/nodes"
 				tal:repeat="cur_sys add_cluster/nodes">
@@ -3752,7 +3751,7 @@
 						<tal:block tal:condition="not: exists: sys/auth">
 							<input type="password"
 								autocomplete="off"
-								onChange="pwd0Change(this.form)"
+								onchange="pwd0Change(this.form)"
 								tal:attributes="
 									value nothing;
 									class python: 'hbInputPass' + ('errors' in sys and ' error' or '');
@@ -3761,7 +3760,7 @@
 						</tal:block>
 
 						<tal:block tal:condition="exists: sys/auth">
-							<input type="text" onChange="pwd0Change(this.form)"
+							<input type="text" onchange="pwd0Change(this.form)"
 								disabled="disabled" value="[authenticated]"
 								tal:attributes="
 									class python: 'hbInputPass' + ('errors' in sys and ' error' or '');
@@ -3808,9 +3807,8 @@
 					</td>
 					<td class="systemsTable">
 						<input type="password"
-							onChange="pwd0Change(this.form)"
+							onchange="pwd0Change(this.form)"
 							class="hbInputPass" autocomplete="off"
-							onChange="pwd0Change(this.form)"
 							id="__SYSTEM0:Passwd" name="__SYSTEM0:Passwd" />
 					</td>
 					<td class="systemsTable">
@@ -4976,7 +4974,7 @@
 			<td class="cluster node fence_main fence">
 				<form name="main_fence_form">
 					<select name="select_div"
-						onChange="swap_fence_div('fence_container',
+						onchange="swap_fence_div('fence_container',
 									this.options[this.selectedIndex].value)">
 						<tal:block metal:use-macro="here/form-macros/macros/shared-fence-option-list" />
 					</select>
--- conga/luci/cluster/resource-form-macros	2007/06/25 16:03:37	1.38
+++ conga/luci/cluster/resource-form-macros	2007/07/11 22:47:07	1.39
@@ -102,8 +102,7 @@
 		<strong class="reshdr">Select a Resource Type</strong>
 	</p>
 
-	<p class="reshdr">
-		<form>
+	<form>
 		<select onChange="swap_div_elem(this.form.parentNode,
 									this.options[this.selectedIndex].value);">
 			<option name="blank" value="blank" checked>
@@ -128,8 +127,7 @@
 			<option name="SAPDatabase" value="SAPDatabase">SAP Database</option>
 			<option name="SAPInstance" value="SAPInstance">SAP Instance</option>
 		</select>
-		</form>
-	</p>
+	</form>
 
 	<div name="invisible" class="invisible">
 		<div name="blank"> </div>
@@ -155,9 +153,10 @@
 <div metal:define-macro="service-compose-macro">
 	<p class="reshdr">
 		<strong class="reshdr">Add a new local resource</strong>
-		<form>
+	</p>
+	<form>
 		<select onChange="swap_div_elem(this.form.parentNode,
-							this.options[this.selectedIndex].value);">
+							this.options[this.selectedIndex].value)">
 			<option checked="checked">Select a resource type</option>
 			<option name="IP" value="IP">IP address</option>
 			<option name="FS" value="FS">File system</option>
@@ -177,20 +176,21 @@
 			<option name="SAPDatabase" value="SAPDatabase">SAP Database</option>
 			<option name="SAPInstance" value="SAPInstance">SAP Instance</option>
 		</select>
-		</form>
-	</p>
+	</form>
 
 	<p style="margin-left: +5em;margin-top:1em;"><strong>or</strong></p>
 	<p class="reshdr">
 		<strong class="reshdr">Use an existing global resource</strong>
 		<br/>
-		<form>
+	</p>
+
+	<form>
 		<input type="hidden" name="parent_uuid" value="" />
 		<input type="hidden" name="uuid" value="" />
 		<input type="hidden" name="tree_level" value="" />
 		<select id="gres_chooser"
 			onChange="swap_in_global_res('global_resources_block', this,
-						this.form.parentNode, this.form);">
+						this.form.parentNode, this.form)">
 			<option checked="checked">Select a resource name</option>
 			<tal:block
 				tal:repeat="gres global_resources">
@@ -200,8 +200,7 @@
 					tal:content="python: gres['name'] + ' (' + gres['type'].split(':')[0] + ')'" />
 			</tal:block>
 		</select>
-		</form>
-	</p>
+	</form>
 
 	<div name="invisible" class="invisible">
 		<div name=""> </div>
--- conga/luci/cluster/resource_form_handlers.js	2007/06/25 16:11:30	1.36
+++ conga/luci/cluster/resource_form_handlers.js	2007/07/11 22:47:07	1.37
@@ -69,14 +69,14 @@
 	var divs = container.getElementsByTagName('div');
 
 	for (var i = 0 ; i < divs.length ; i++) {
-		if (!swap_in_elem && divs[i].getAttribute('name') == swap_in_name) {
+		if (divs[i].getAttribute('name') == swap_in_name) {
 			swap_in_elem = divs[i];
 			break;
 		}
 	}
-	if (!swap_in_elem)
+	if (!swap_in_elem) {
 		return (-1);
-
+	}
 	container.parentNode.replaceChild(swap_in_elem, container);
 }
 
--- conga/luci/cluster/validate_fence.js	2007/06/25 16:11:30	1.7
+++ conga/luci/cluster/validate_fence.js	2007/07/11 22:47:07	1.8
@@ -1,4 +1,4 @@
-var fence_inst_validator = new Array();
+var fence_inst_validator = [];
 fence_inst_validator['apc'] = [ 'port', 'switch' ];
 fence_inst_validator['bladecenter'] = [ 'blade' ];
 fence_inst_validator['brocade'] = [ 'port' ];
@@ -12,7 +12,7 @@
 fence_inst_validator['wti'] = [ 'port' ];
 fence_inst_validator['xvm'] = [ 'domain' ];
 
-var fence_validator = new Array();
+var fence_validator = [];
 fence_validator['apc'] = [ 'ipaddr', 'login', 'passwd', 'passwd_script' ];
 fence_validator['bladecenter'] = [ 'ipaddr', 'login', 'passwd', 'passwd_script' ];
 fence_validator['brocade'] = [ 'ipaddr', 'login', 'passwd', 'passwd_script' ];
@@ -34,12 +34,12 @@
 fence_validator['xvm'] = [];
 
 function validate_field_str(form, form_elem) {
-	var errors = new Array();
+	var errors = [];
 
 	if (!form_elem || str_is_blank(form_elem.value)) {
-		if (!form_elem)
+		if (!form_elem) {
 			errors.push('No value was given for this field.');
-		else {
+		} else {
 			set_form_err(form_elem);
 			errors.push(form_elem.name + ' values must not be blank.');
 		}
@@ -71,16 +71,18 @@
 }
 
 function validate_field_noop(form, form_elem) {
-	if (form_elem)
+	if (form_elem) {
 		clr_form_err(form_elem);
+	}
 	return (null);
 }
 
 function validate_field_ipmilan_auth(form, form_elem) {
-	var errors = new Array();
+	var errors = [];
 
-	if (!form_elem || str_is_blank(form_elem.value))
+	if (!form_elem || str_is_blank(form_elem.value)) {
 		return (null);
+	}
 
 	var auth_type = form_elem.value;
 	if (auth_type != 'none' && auth_type != 'password' && auth_type != 'md5') {
@@ -93,7 +95,7 @@
 	return (null);
 }
 
-var field_validator = new Array();
+var field_validator = [];
 field_validator['ipaddr'] = validate_field_host;
 field_validator['hostname'] = validate_field_host;
 field_validator['login'] = validate_field_str;
@@ -119,37 +121,44 @@
 field_validator['domain'] = validate_field_str;
 
 function validate_fence(form) {
-	var errors = new Array();
+	var errors = [];
 
-	if (!form.fence_type || str_is_blank(form.fence_type.value))
+	if (!form.fence_type || str_is_blank(form.fence_type.value)) {
 		errors.push('No fence device was selected.');
+	}
 
-	if (errors.length > 0)
+	if (errors.length > 0) {
 		return (errors);
+	}
 
 	if (!form.name || str_is_blank(form.name.value)) {
 		errors.push('A unique name must be given for all fence devices.');
 		set_form_err(form.name);
-	} else
+	} else {
 		clr_form_err(form.name);
+	}
 
-	if (errors.length > 0)
+	if (errors.length > 0) {
 		return (errors);
+	}
 
 	var fence_type = form.fence_type.value.replace(/^fence_/, '');
 	var fields = fence_validator[fence_type];
-	if (!fields)
+	if (!fields) {
 		errors.push('An unknown fence device type was given: \"' + fence_type + '.\"');
+	}
 
-	if (errors.length > 0)
+	if (errors.length > 0) {
 		return (errors);
+	}
 
 	for (var i = 0 ; i < fields.length ; i++) {
 		var field_name = fields[i];
 		if (form[field_name]) {
 			var err = field_validator[field_name](form, form[field_name]);
-			if (err)
+			if (err) {
 				errors = errors.concat(err);
+			}
 		}
 	}
 
@@ -159,36 +168,43 @@
 function validate_fence_form(form) {
 	var errors = validate_fence(form);
 
-	if (error_dialog(errors))
+	if (error_dialog(errors)) {
 		return (-1);
+	}
 
-	if (confirm('Update fence device properties?'))
+	if (confirm('Update fence device properties?')) {
 		form.submit();
+	}
 }
 
 function validate_fence_instance(form) {
-	var errors = new Array();
+	var errors = [];
 
-	if (!form.fence_type || str_is_blank(form.fence_type.value))
+	if (!form.fence_type || str_is_blank(form.fence_type.value)) {
 		errors.push('The fence device associated with this instance could not be determined.');
+	}
 
-	if (errors.length > 0)
+	if (errors.length > 0) {
 		return (errors);
+	}
 
 	var fence_type = form.fence_type.value.replace(/^fence_/, '');
 	var fields = fence_inst_validator[fence_type];
-	if (!fields)
+	if (!fields) {
 		errors.push('An unknown fence device type was given: \"' + fence_type + '.\"');
+	}
 
-	if (errors.length > 0)
+	if (errors.length > 0) {
 		return (errors);
+	}
 
 	for (var i = 0 ; i < fields.length ; i++) {
 		var field_name = fields[i];
 		if (form[field_name]) {
 			var err = field_validator[field_name](form, form[field_name]);
-			if (err)
+			if (err) {
 				errors = errors.concat(err);
+			}
 		}
 	}
 
@@ -196,21 +212,25 @@
 }
 
 function validate_node_fence_form(master_form, container_id) {
-	var errors = new Array();
+	var errors = [];
 	var div_elem = document.getElementById(container_id);
-	if (!div_elem)
+	if (!div_elem) {
 		return (-1);
+	}
 	var form_xml = '';
 
 	var form = div_elem.getElementsByTagName('form');
 	for (var i = 0 ; i < form.length ; i++) {
 		var err = null;
-		if (form[i].fence_instance)
+		if (form[i].fence_instance) {
 			err = validate_fence_instance(form[i]);
-		else if (form[i].fence_type)
+		} else if (form[i].fence_type) {
 			err = validate_fence(form[i]);
-		if (err)
+		}
+
+		if (err) {
 			errors = errors.concat(err);
+		}
 		var input_elem = form[i].getElementsByTagName('input');
 		var temp = '';
 		for (var j = 0 ; j < input_elem.length ; j++) {
@@ -222,10 +242,11 @@
 			} else if (res_type == 'checkbox' || res_type == 'radio') {
 				if (input_elem[j].checked) {
 					temp += '<input type="' + res_type + '" name="' + escapeXML(input_elem[j].name) + '"';
-					if (res_type == 'checkbox')
+					if (res_type == 'checkbox') {
 						temp += ' value="1"';
-					else if (res_type == 'radio')
+					} else if (res_type == 'radio') {
 						temp += ' value="' + escapeXML(input_elem[j].value) + '"';
+					}
 					temp += ' />';
 				} else if (res_type == 'checkbox') {
 					temp += '<input type="' + res_type + '" name="' + escapeXML(input_elem[j].name) + '" value="0" />';
@@ -243,9 +264,11 @@
 
 	master_form.fence_xml.value = '<formlist>' + form_xml + '</formlist>';
 
-	if (error_dialog(errors))
+	if (error_dialog(errors)) {
 		return (-1);
+	}
 
-	if (confirm('Update this node\'s fence configuration?'))
+	if (confirm('Update this node\'s fence configuration?')) {
 		master_form.submit();
+	}
 }




More information about the Cluster-devel mailing list