function validEmail(src) {
	var emailReg = "^[\\w-_\.]*[\\w-_\.]\@[\\w]\.+[\\w]+[\\w]$";
	var regex = new RegExp(emailReg);
	return regex.test(src);
}

function validPhoneNumber(src) {
	phoneRe = /^((\+\d{1,3}(-| )?\(?\d\)?(-| )?\d{1,5})|(\(?\d{2,6}\)?))(-| )?(\d{3,4})(-| )?(\d{4})(( x| ext)\d{1,5}){0,1}$/;
	return phoneRe.test(src);
}

function imposeMaxLength(object, lencount, maxlen) {
	if (object.value.length > maxlen) {
		object.value = object.value.substring(0, maxlen);
		return false;
	}
	else {
		objlen = document.getElementById(lencount);
		objlen.innerHTML = (maxlen - object.value.length);
	}
}

function setLength(object, maxlen) {
    ary = object.value.split('\n');
    if ((object.value.length + (ary.length - 1)) > maxlen) {
    	object.value = object.value.substring(0, maxlen);
    	return false;
    }
}

function checkCommentFormFields() {

	var undefined;
	var focus;
	var mess;
	var objSubject;
	var objContent;
	
	mess = "";
	
	objSubject = document.getElementById("comment_subject");
	objContent = document.getElementById("comment_content");

	if (objSubject.value == "") {
		mess = mess + "Please specify a subject before continuing\n";
		focus = objSubject;
	}

	if (objContent.value == "") {
		mess = mess + "Please specify a comment before continuing\n";
		if (focus == undefined) {
			focus = objContent;
		}
	}

	if (mess != "") {
		alert("Please correct the following errors before continuing: \n\n" + mess);
		focus.focus();
		return false;
	}
}

function checkBlogFormFields() {

	var undefined;
	var focus;
	var mess;
	var objTitle;
	var objContent;
	
	mess = "";
	
	objTitle = document.getElementById("create_blog_title");
	objContent = document.getElementById("create_blog_entry");

	if (objTitle.value == "") {
		mess = mess + "Please enter a title before continuing\n";
		focus = objTitle;
	}

	if (objContent.value == "") {
		mess = mess + "Please enter text for this blog before continuing\n";
		if (focus == undefined) {
			focus = objContent;
		}
	}

	if (mess != "") {
		alert("Please correct the following errors before continuing: \n\n" + mess);
		focus.focus();
		return false;
	}
}

function checkRecommendFormFields() {

	var undefined;
	var focus;
	var mess;
	var objTitle;
	var objContent;
	var objButton;
	
	mess = "";

	objTitle = document.getElementById("title");
	objContent = document.getElementById("text");

	if (objTitle.value == "") {
		mess = mess + "Please enter a title before continuing\n";
		focus = objTitle;
	}

	if (objContent.value == "") {
		mess = mess + "Please enter note text for this recommendation before continuing\n";
		if (focus == undefined) {
			focus = objContent;
		}
	}

	if (mess != "") {
		alert("Please correct the following errors before continuing: \n\n" + mess);
		focus.focus();
		return false;
	}
	else {
		objButton = document.getElementById('send_recommend');
		objButton.disabled = true;
		return true;
	}
}

function checkEmailFormFields() {

	var undefined;
	var focus;
	var mess;
	var objEmail;
	var objTitle;
	var objContent;
	var objButton;
	
	mess = "";

	objEmail = document.getElementById("email_to_address");
	objTitle = document.getElementById("email_to_title");
	objContent = document.getElementById("email_to_text");

	if (objEmail.value == "") {
		mess = mess + "Please enter an email address before continuing\n";
		focus = objEmail;
	}
	else {
		if (validEmail(objEmail.value) == false) {
			mess = mess + "Please enter a valid email address before continuing\n";
			focus = objEmail;
		}
	}

	if (objTitle.value == "") {
		mess = mess + "Please enter a title before continuing\n";
		if (focus == undefined) {
			focus = objContent;
		}
	}

	if (objContent.value == "") {
		mess = mess + "Please enter note text for this email recommendation before continuing\n";
		if (focus == undefined) {
			focus = objContent;
		}
	}

	if (mess != "") {
		alert("Please correct the following errors before continuing: \n\n" + mess);
		focus.focus();
		return false;
	}
	else {
		objButton = document.getElementById('send_email');
		objButton.disabled = true;
		return true;		
	}
}

function checkMobileFormFields(mode) {

	var undefined;
	var focus;
	var mess;
	var objPhone;
	
	mess = "";

	if (mode==2) {
		objPhone = document.getElementById("sms_mobile_number");
	}
	else {
		objPhone = document.getElementById("mobile_number");
	}
	
	if (objPhone.value == "") {
		mess = mess + "Please enter a mobile number before continuing\n";
		focus = objPhone;
	}
	else {
		if (validPhoneNumber(objPhone.value) == false) {
			mess = mess + "Please enter a valid mobile number before continuing\n";
			focus = objPhone;
		}		
	}

	if (mess != "") {
		alert("Please correct the following errors before continuing: \n\n" + mess);
		focus.focus();
		return false;
	}
	else {
		objButton = document.getElementById('send_sms');
		objButton.disabled = true;
		return true;
	}

}

function checkEmailToolFormFields() {
	var undefined;
	var mess;
	var obj_title;
	var obj_message;
	
	mess = "";
	
	obj_title = document.getElementById("message_title");
	obj_message = document.getElementById("message_body");
	
	if (obj_title.value == "") {
		mess = mess + "Please enter a title for this message\n";
		focus = obj_title;
	}

	if (obj_message.value == "") {
		mess = mess + "Please enter text for the body of this message\n";
		if (focus == undefined) {
			focus = obj_message;
		}
	}

	if (mess != "") {
		alert("Please correct the following errors before continuing: \n\n" + mess);
		focus.focus();
		return false;
	}

}
