function validateSignupForm(form){
	if(isNotEmpty(form.fnameTxt, "First Name")){
	if(isNotEmpty(form.lnameTxt, "Last Name")){
	if(isEmailAddr(form.emailTxt, "Email")){
	if(isEmailAddr(form.confirmedEmailTxt, "Confirmed Email")){
	if(isValidPhoneNumberOrBlank(form.phoneTxt, "Phone Number")){
	if(isNotEmpty(form.domainTxt, "Domain Name")){
	if(fieldsNotMatch(form.emailTxt, form.confirmedEmailTxt, "Email")){
	return true;
	}
	}
	}
	}
	}
	}
	}
	return false;
}

function validateTemplateSignupForm(form){
	if(isNotEmpty(form.fnameTxt, "First Name")){
	if(isNotEmpty(form.lnameTxt, "Last Name")){
	if(isEmailAddr(form.emailTxt, "Email")){
	if(isEmailAddr(form.confirmedEmailTxt, "Confirmed Email")){
	if(isValidPhoneNumberOrBlank(form.phoneTxt, "Phone Number")){
	if(isNotEmpty(form.domainTxt, "Domain Name")){
	if(fieldsNotMatch(form.emailTxt, form.confirmedEmailTxt, "Email")){
	if(termsAgreed(form.AgreementBox.checked)){
	return true;
	}
	}
	}
	}
	}
	}
	}
	}
	return false;
}
/*
function validateTemplateSignupForm(form){
	if(isNotEmpty(form.fnameTxt, "First Name")){
	if(isNotEmpty(form.lnameTxt, "Last Name")){
	if(isEmailAddr(form.emailTxt, "Email")){
	if(isEmailAddr(form.confirmedEmailTxt, "Confirmed Email")){
	if(isValidPhoneNumberOrBlank(form.phoneTxt, "Phone Number")){
	if(isNotEmpty(form.domainTxt, "Domain Name")){
	if(fieldsNotMatch(form.emailTxt, form.confirmedEmailTxt, "Email")){
	if(termsAgreed(form.AgreementBox))(
	return true;
	}
	}
	}
	}
	}
	}
	}
	}
	return false;
}
*/

function isNotLongEnough(elem, fieldName, length){
	var str = elem.value;
	var fName = fieldName;
	
	if(str.length < length){
		alert("The" + fName + " field must be at least "+ length +" characters long");
		setTimeout("focusElement('" + elem.form.name + "', '" + elem.name + "')", 0);
		return false;
}else
	return true;

}


function isNotEmpty(elem, fieldName){
	var str = elem.value;
	var fName = fieldName;
	if(str == null || str.length == 0){
		alert("You may not leave the " + fName + " field empty");
		setTimeout("focusElement('" + elem.form.name + "', '" + elem.name + "')", 0);
		return false;
}else
	return true;

}


function isEmailAddr(elem, fieldName){
	var str = elem.value;
	var re = /^.+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,3}|[0-9]{1,3})(\]?)$/; 
	if(!str.match(re)){
		alert("Verify the email address format.");
		setTimeout("focusElement('" + elem.form.name + "', '" + elem.name + "')", 0);
		return false;
}else
	return true;

}

function isEmailAddrOrBlank(elem, fieldName){
	var str = elem.value;
	var re = /^.+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,3}|[0-9]{1,3})(\]?)$/; 
	if(!str.match(re)){
	if(str != ""){
		alert("Verify the email address format.");
		setTimeout("focusElement('" + elem.form.name + "', '" + elem.name + "')", 0);
		return false;
		}
		return true;
}else
	return true;

}


function isImageFile(elem, fieldName){
	var str = elem.value;
	str = str + "x";	// this line is needed as the slice method below won't take 0 as a paramater
	var len = str.length;
	var sub = str.slice(len - 5 , -1); 	//e.g. xyz/abc/image.gif - sub = .gif
//	if(str == null || str.length == 0){
//	sub = ".gif";				// if the field is left blank, make sure this function returns true
//	}
	if(sub != ".gif" && sub != ".jpg" && sub != ".GIF" && sub != ".JPG" && str != "x"){
		alert("The image must be a gif or jpg");
		setTimeout("focusElement('" + elem.form.name + "', '" + elem.name + "')", 0);
		return false;
}else
	return true;

}

function focusElement(formName, elemName) {
	var elem = document.forms[formName].elements[elemName];
	elem.focus();
	elem.select();
}




function containsBlanks(elem, fieldName){
	var str = elem.value;
	var fName = fieldName;
	if (str.indexOf(" ") != -1){
		alert(fName + " cannot contain blanks");
		setTimeout("focusElement('" + elem.form.name + "', '" + elem.name + "')", 0);
		return false;
	}
	return true;
}


function fieldsNotMatch(elem1, elem2, fieldName){
	var str1 = elem1.value;
	var str2 = elem2.value;	
	var fName = fieldName;
	if (str1 != str2){
		alert("The "+ fName +" fields must match up");
		setTimeout("focusElement('" + elem2.form.name + "', '" + elem2.name + "')", 0);
		return false;
	}
	return true;
}



function isValidPhoneNumberOrBlank(elem, fieldName){
	var str = elem.value;
	var pNum = parseInt(str);	
 	if(isNaN(pNum) || (str.length < 5 && str.length != 0 )|| str.length > 20){
 		alert("The "+ fieldName +" must be between 5 and 20 digits long and must be numeric");
		setTimeout("focusElement('" + elem.form.name + "', '" + elem.name + "')", 0);
		return false;
}else
	return true;

}


function termsAgreed(elem){
//alert (elem);
 	if(elem == false){
 		alert("You must agree to the terms and conditions to place your order");
		return false;
}else
	return true;

}
