
function validateEmail (str) {
	var tfld = str;
	var email = /^[^@]+@[^@.]+\.[^@]*\w\w$/
	if (!email.test(tfld)) {
	    return false;
		}
	return true;
	}
	
	
function isRequired() {
	r = arguments[0].getAttribute("required");
	//alert(arguments[0].name + ":" + r)
	if (r && !arguments[0].disabled) {
		if (!r.length) {
			return false;
			}
		if (r.toLowerCase() == "yes" || r.toLowerCase() == "true") {
			return true;
			}
		else {
			return false
			}
		}
	else {
		return false;
		}		
	}
	
function getErrMessage() {
	var m = arguments[0].getAttribute("message");
	
	if (m) {
		if (!m.length) {
			err = "The field '" + arguments[0].name + "' is a required field.      ";
			}
		else {
			err = m + "      ";
			}
		}	
	else {
		err = "The field '" + arguments[0].name + "' is a required field.      ";
		}	
	return err;	
	}		

function isValidated() {
	
	var formObj = arguments[0].form;
	var elementName = arguments[0].name;
	var validationType = arguments[0].getAttribute("datatype");
	
	switch (arguments[0].type.toLowerCase()) {
		
		case "text" : {
			
			if (validationType != null) {
				
				switch(validationType) {
					case "email" : {
						return validateEmail(arguments[0].value);
						break;
						}
					}
				}
				
			return arguments[0].value.replace(/[ ]/g, "").length
			break;
			
			
			}
		case "checkbox" : {
			if (formObj[elementName].length) {
				for (var i = 0; i < formObj[elementName].length; ++i) {
					if (formObj[elementName][i].checked) {
						return true;
						}
					}
				}
			else {
				return formObj[elementName].checked;
				}
				
			return false;
			break;
			}
		
		case "radio" : {
			
			for (var i = 0; i < formObj[elementName].length; ++i) {
				if (formObj[elementName][i].checked) {
					return true;
					}
				}
				
			return false;
			break;
			}
		
		
		
		default : {
			return arguments[0].value.replace(/[ ]/g, "").length
			break;
			}
		}
	}

function validateForm() {
	var formObj = arguments[0];
	var err = "";

	for (var e = 0; e < formObj.elements.length; ++e) {
		if (isRequired(formObj[e])) {
			formObj[e].className = formObj[e].className.replace(" field-error", "");
			if (!isValidated(formObj[e])) {
				err += "- " + getErrMessage(formObj[e]) + "\n"
				formObj[e].className = formObj[e].className + " field-error";
				//alert(formObj[e].outerHTML);
				//return false;
				}
			}
		}
	if (err != "") {
		alert("Please correct the following error before submitting:-\n" + err);
		return false;
		}
	return true;
	}	

function limtTextarea(textObj,counterObj,limit)	{
	var textarea 	= document.getElementById(textObj);
	var counter 	= document.getElementById(counterObj);
	var wordLength 	= textarea.value.split(" ").length;
	var data 		= textarea.value.split(" ");
	var str = "";
	if (wordLength > limit) {
		
		for (i=0; i < limit; ++i) {
			str += (data[i] + " ");
			}
		textarea.value = str;
		}
	counter.value = "Word Count : " + Math.min(limit, wordLength);
	}
	
	
function submitForm(formObj) {
	if (validateForm(formObj)) {
		formObj.submit();
		}
	}
	

function setRequired() {
	var formObj = arguments[0].form;
	var list = arguments[1].split(",");
	var i;
	//alert(list)
	for (i = 0; i < list.length; ++i) {
		formObj[list[i]].setAttribute("required","yes");
		}
	}

function setNotRequired() {
	var formObj = arguments[0].form;
	var list = arguments[1].split(",");
	var i;
	
	for (i = 0; i < list.length; ++i) {
		formObj[list[i]].setAttribute("required","no");
		}
	}
