<!--
function ss(o) {
	if (o) o.select();
}

function se(o) {
	if (o) {
		o.value = o.value + ' ';
		o.value = o.value.substr(0, o.value.length - 1);
	}
}

function trim(str) {
	return str.replace(/^\s*/, '').replace(/\s*$/, '');
}

function checkExp(value, regExp) {
	var arr = regExp.exec(value);
	if (arr) {
		for (var i = 0; i < arr.length; i++) if (arr[i] == value) return true;
	}
	return false;
}

function renameAttribute(o, from, to) {
	if (o) {
		var s = o.getAttribute(from);
		if (s) {
			o.removeAttribute(from);
			o.setAttribute(to,s);
		}
	}
}

function parseEMail(value) {
	var re = new RegExp('^[\\w.\\-\\+]+@([a-z0-9\\-]+\\.)+[a-z]{2,6}$', 'i');
	return checkExp(value, re);
}

function parsePhone(value) {
	var re = new RegExp('[\\d\\+\\-\\(\\)\\.,; ]{5,}');
	return checkExp(value, re);
}

function checkText(e, isRequired) {
	e.value = trim(e.value);

	if (isRequired) {
		if (e.value.length < 1) {
			renameAttribute(e, 'vtw', '_vtw');
			return false;
		}
	}

	var ret = true;
	if (e.value.length) {
		var type = e.getAttribute('vt');
		if (type) {
			switch(type) {
				case 'EMail':
					ret = parseEMail(e.value);
				break;
				case 'Phone':
					ret = parsePhone(e.value);
				break;
			}
			ret ? renameAttribute(e, 'vtw', '_vtw') : renameAttribute(e, '_vtw', 'vtw');
		}
	}
	return ret;
}

function checkRadio(e, isRequired) {
	var f = e.form;
	if (f && f.elements[e.name]) {
		for (var i = 0; i < f.elements[e.name].length; i++) if (f.elements[e.name][i].checked) return true;
	}
	return false;
}

function checkSelect(e, isRequired) {
	var si = e.selectedIndex;
	return (si >= 0 && e[si] && (trim(e[si].value).length > 0));
}

function checkE(e) {
	var isRequired = (e.getAttribute('vr') == 1) ? true : false;

	if ((isRequired || (e.getAttribute('vv') == 1)) && (e.getAttribute('skip') != 1)) {
		var valid = true;

		var tagName = e.tagName.toString().toLowerCase();
		switch(tagName) {
			case 'input':
				switch (e.type.toString().toLowerCase()) {
					case 'hidden':
					case 'text':
						valid = checkText(e, isRequired);
					break;

					case 'radio':
						valid = checkRadio(e, isRequired);
					break;
				}
			break;

			case 'select':
				valid = checkSelect(e, isRequired);
			break;

			case 'textarea':
				valid = checkText(e, isRequired);
			break;
		}

		if (valid) return true;
		else {
			try {
				e.focus();
				if (tagName != 'select') e.select();
			} catch (e) {}

			var tmsg = e.getAttribute('vtw');
			if (!tmsg) {
				var msg = e.getAttribute('vw');
				if (!msg) msg = 'Some fields are left empty or are in invalid format.';
			}
			alert(tmsg || v_msg || msg);
		}
		return false;
	}
	return true;
}

function validate(f) {
	if (f && f.elements) {
		for (var i = 0; i < f.elements.length; i++) if (!checkE(f.elements[i])) return false;
		return true;
	}
	return false;
}

var v_msg = '';

// -->