var general = /^[\w\W]+$/i;
var spaces = /[\s]/g;
var pwallow = /[a-z0-9=\\$#@!\-_%&\\.]/ig;
var excludeChars = /["<>\\\\{\}\[\]]/g;
var eml = /(^[a-z]([a-z0-9_\.]*)@([a-z0-9_\.]*)([.][a-z]{2,})$)|(^[a-z]([a-z0-9_\.]*)@([a-z0-9_\.]*)(\.[a-z]{2,})(\.[a-z]{2})*$)/i;

function formatError(err)
{
	if (typeof err == "string") return err;
	return '*  '+err.join("\n*  ");	
}

function v_login(form)
{
	var frm = document.forms[form];
	
	err = new Array();
	if (frm['username'].value.replace(spaces, '').length == 0) {
		err[err.length] = 'Username can not be blank.';
	}
	if (frm['password'].value.replace(spaces, '').length == 0) {
		err[err.length] = 'Password can not be blank.';
	}
	if (err.length > 0) {
		alert(formatError(err));
		return false;
	} else {
		return true;
	}
}

function v_admin(form)
{
	var frm = document.forms[form];
	
	err = new Array();
	if (frm['fname'].value.replace(spaces, '').length == 0) {
		err[err.length] = 'First name can not be blank.';
	}
	if (frm['lname'].value.replace(spaces, '').length == 0) {
		err[err.length] = 'Last name can not be blank.';
	}
	if (frm['email'].value.replace(spaces, '').length == 0) {
		err[err.length] = 'Email can not be blank.';
	} else if (!eml.test(frm['email'].value)) {
		err[err.length] = 'Email address must be valid.';
	}
	if (frm['npass'].value.replace(spaces, '').length > 0 && frm['npass'].value.replace(spaces, '').length < 6) {
		err[err.length] = 'Password must be 6 to 20 characters long.';
	} else if (frm['npass'].value.replace(spaces, '').length > 0) {
			if (frm['npass'].value != frm['cpass'].value) {
				err[err.length] = 'Confirm Password must be same as new password.';
			}
	}

	if (err.length > 0) {
		alert(formatError(err));
		return false;
	} else {
		return true;
	}
	
}

function v_contact()
{
	err = new Array();
	var frm = document.forms['frm'];
	eval('eMsgs = '+frm["__oj001"].value+';');

	if (frm['name'].value.replace(spaces, '').length == 0) {
		err[err.length] = eMsgs.name_required;
	}
	if (frm['phoneno'].value.replace(spaces, '').length == 0) {
		err[err.length] = eMsgs.phone_required;
	}
	if (frm['email'].value.replace(spaces, '').length == 0) {
		err[err.length] = eMsgs.email_required;
	} else if (!eml.test(frm['email'].value)) {
		err[err.length] = eMsgs.email_must_valid;
	}
	if (frm['comm'].value.replace(spaces, '').length == 0) {
		err[err.length] = eMsgs.comments_required;
	}
	
	if (err.length > 0) {
		alert(formatError(err));
		return false;
	} else {
		return true;
	}
}


function formatPhone(e)
{
	var code;
	if (window.event) {
		e = window.event;
		code = e.keyCode;
	} else {
		code = e.charCode;
	}
	
	if(!(code == 13 || code == 32 || code == 40 || code == 41 || code == 45 || (code > 47 && code < 58))) { // Chars allowed are [space] ( ) - 0-9
		e.cancelBubble = true;
		e.returnValue = false;
		if (e.charCode) {
			e.stopPropagation();
			e.preventDefault();
		}
	}
}

function cleanText(elm) {
	elm.value = elm.value.replace(excludeChars, '');
}