function close_window() {
	window.close();
}

function doRedirect(path) {
	window.location.href = path;
}

function goBack() {
	history.back();
}

function toggleAllCheckboxes(root_checkbox, o_form) {
	var set_value_to = root_checkbox.checked;
	for (var i = 0; i < o_form.elements.length; i++) {
		if (o_form.elements[i].type == "checkbox") {
			o_form.elements[i].checked = set_value_to;
		}
	}
}

function openFile(file_path, ht, wd) {
	newWindow = window.open(file_path, "opener_file", "status=no,menubar=no,toolbar=no,resizable=no,scrollbar=yes,height=" + ht + ",width=" + wd);
	newWindow.focus();
}

function strTrim(sString) {
	while (sString.substring(0, 1) == ' ') {
		sString = sString.substring(1, sString.length);
	}
	while (sString.substring(sString.length - 1, sString.length) == ' ') {
		sString = sString.substring(0, sString.length - 1);
	}
	return sString;
}

function isAlphabet(str) {
	if ((str == 'a') || (str == 'b') || (str == 'c') || (str == 'd') || (str == 'e') || (str == 'f') || (str == 'g') || (str == 'h') || (str == 'i') || (str == 'j') || (str == 'k') || (str == 'l') || (str == 'm') || (str == 'n') || (str == 'o') || (str == 'p') || (str == 'q') || (str == 'r') || (str == 's') || (str == 't') || (str == 'u') || (str == 'v') || (str == 'w') || (str == 'x') || (str == 'y') || (str == 'z') || (str == 'A') || (str == 'B') || (str == 'C') || (str == 'D') || (str == 'E') || (str == 'F') || (str == 'G') || (str == 'H') || (str == 'I') || (str == 'J') || (str == 'K') || (str == 'L') || (str == 'M') || (str == 'N') || (str == 'O') || (str == 'P') || (str == 'Q') || (str == 'R') || (str == 'S') || (str == 'T') || (str == 'U') || (str == 'V') || (str == 'W') || (str == 'X') || (str == 'Y') || (str == 'Z')) return true;
	else return false;
}

function isDecimal(field) {
	var validTxt = /^[0-9.]+$/
	var msg = "Not a valid decimal.";
	if (!validTxt.test(field.value)) {
		return false;
	} else {
		return true;
	}
}

function isEmail(emailStr) {
	var emailPat = /^(.+)@(.+)$/;
	var specialChars = "\\(\\)<>@,;:\\\\\\\"\\.\\[\\]";
	var validChars = "\[^\\s" + specialChars + "\]";
	var quotedUser = "(\"[^\"]*\")";
	var ipDomainPat = /^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/;
	var atom = validChars + '+';
	var word = "(" + atom + "|" + quotedUser + ")";
	var userPat = new RegExp("^" + word + "(\\." + word + ")*$");
	var domainPat = new RegExp("^" + atom + "(\\." + atom + ")*$");
	var matchArray = emailStr.match(emailPat);
	if (matchArray == null) {
		//alert("Email address seems incorrect (check @ and .'s)");
		return false;
	}
	var user = matchArray[1];
	var domain = matchArray[2];
	if (user.match(userPat) == null) {
		//alert("The username doesn't seem to be valid.");
		return false;
	}
	var IPArray = domain.match(ipDomainPat);
	if (IPArray != null) {
		for (var i = 1; i <= 4; i++) {
			if (IPArray[i] > 255) {
				//alert("Destination IP address is invalid!");
				return false;
			}
		}
		return true;
	}
	var domainArray = domain.match(domainPat);
	if (domainArray == null) {
		//alert("The domain name doesn't seem to be valid.");
		return false;
	}
	var atomPat = new RegExp(atom, "g");
	var domArr = domain.match(atomPat);
	var len = domArr.length;
	if (domArr[domArr.length - 1].length < 2 || domArr[domArr.length - 1].length > 3) {
		//alert("The address must end in a three-letter domain, or two letter country.");
		return false;
	}
	if (len < 2) {
		//alert("This address is missing a hostname!");
		return false;
	}
	return true;
}

