/*
  -------------------------------------------------------------------------
              JavaScript OnChange Form Validator
              Version 0.1
              Last updated: 02.07.2009 @DT
  -------------------------------------------------------------------------
*/
function checkInput(fieldName, fieldType) {
	fieldValue = document.getElementById(fieldName).value;

	switch (fieldType) {
	case "numeric":
		check = isValidInput(fieldValue, "[^0-9]");
		break;
	case "alpha":
		check = isValidInput(fieldValue, "[^A-Za-zА-ЯЁа-яё\\s\.]");
		break;
	case "email":
		check = isEmail(fieldValue);
		break;
	}

	if (check == true) {
		document.getElementById(fieldName).style.backgroundColor = 'rgb(144,238,144)';
	} else {
		document.getElementById(fieldName).style.backgroundColor = 'rgb(240,128,128)';
	}

	return true;
}


function isValidInput(inputValue, strRegExp) {
	if (inputValue.length == 0) {
		return false;
	}
	
	for (var i=0; i < inputValue.length; i++) {
		if ( inputValue[i].search(strRegExp) == null || inputValue[i].search(strRegExp) == 0 ) {
			return false;
		}
	}

	return true;
}


function isEmail(email) {
	if (email.length == 0) {
		return false;
	}
	
	var splitted = email.match("^(.+)@(.+)$");
	
	if (splitted == null) return false;
	if (splitted[1] != null ) {
		var regexp_user=/^\"?[\w-_\.]*\"?$/;
		if (splitted[1].match(regexp_user) == null) return false;
	}
	if (splitted[2] != null) {
		var regexp_domain=/^[\w-\.]*\.[A-Za-z]{2,4}$/;
		if (splitted[2].match(regexp_domain) == null) {
			var regexp_ip =/^\[\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\]$/;
			if(splitted[2].match(regexp_ip) == null) return false;
		}
		return true;
	}

	return false;
}

