	dojo.require("dojox.validate._base");
	dojo.require("dojox.validate.check");
	dojo.require("dojox.validate.web");

	function isEmail (id, required) {
		if(dojox.validate.isEmailAddress(dojo.byId(id).value) == true) {
			return true;
		}
		if(required == false && dojo.byId(id).value.length == 0)
			return true;
		return false;
	}

	function isInt (id, min, max, required) {
		var val = dojo.byId(id).value;
		if(dojox.validate.isInteger(val) == true && parseInt(val) >= min && parseInt(val) <= max) {
				return true;
		}
		if(required == false && dojo.byId(id).value.length == 0)
			return true;
		return false;
	}

	function isString(id, min_length, max_length, required) {
		if(dojo.byId(id).value.length >= min_length && dojo.byId(id).value.length <= max_length)
			return true;
		if(required == false && dojo.byId(id).value.length == 0)
			return true;
		return false;
	}

	function isChecked(id) {
		return dojo.byId(id).checked;
	}

	function hasSelections(id, minimum) {
		var sel = dojo.byId(id);
		var cnt = 0;
		for(var i=0; i < sel.options.length; i++) {
			if(sel.options[i].selected == true)
				cnt++;
		}
		return (cnt >= minimum);
	}

	function setErrorMsg(id, msg) {
		var div_err = dojo.byId(id);
		if(div_err) {
			div_err.style.height = null;
			var err_msg = document.createElement('div');
			if(err_msg) {
				err_msg.style.color = 'red';
				err_msg.innerHTML = msg;
				div_err.appendChild(err_msg);
			}
		}
	}

	function resetErrorMsg(id) {
		var div_err = dojo.byId(id);
		if(div_err) {
			div_err.innerHTML = '';
			div_err.style.height = '1px';
		}
	}
