function processLiveChatForm(actionUrl,frmName)
{
	// validate input
	var vMsg = "";
	var vErr = false;
	var val_firstName = document.getElementById("c_fname").value;
	var val_lastName = document.getElementById("c_lname").value;
	var val_email = document.getElementById("c_email").value;
	if (val_firstName == "") {vErr = true; vMsg = vMsg + " - Please supply your Firstname\n";}
	if (val_lastName == "") {vErr = true; vMsg = vMsg + " - Please supply your Surname\n";}
	if (val_email == "") {vErr = true; vMsg = vMsg + " - Please supply your Email Address\n";}
	else {
		val_email = validateEmail(document.getElementById("c_email").value);
		if (val_email == "") {vErr = true; vMsg = vMsg + " - Please supply a valid Email Address\n";}
	}
	
	if (vErr) {
		alert("Please correct the following problems:\n" + vMsg);
		return false;
	}
	// submit to live chat - this can be either via a form or a constructed href
	if (frmName) {
		frmName.submit();
	} else {
		var url = actionUrl;
		url += "&c_fname="+escape(val_firstName);
		url += "&c_lname="+escape(val_lastName);
		url += "&c_email="+escape(val_email);
		url += "&p_cgi_url=" + escape("http://telstrabusinessonline.custhelp.com/cgi-bin/telstrabusinessonline.cfg/php");
		url += "&p_domain_url=" + escape("http://telstrabusinessonline.custhelp.com");
		url += "&p_site_name=telstrabusinessonline";
		url += "&p_stylesheet=" + escape("http://telstrabusinessonline.custhelp.com/rnt/rnw/css/live_tc.css");
		url += "&c_id=";
		url += "&c_sid=";
		url += "&c_orgid=";
		url += "&p_source=2";
		url += "&p_source=2&p_technical_difficulties_msg=" + escape("This site is currently experiencing technical difficulties. Please try again later.");
		window.open(url, 'rnl_chat_window', 'resizable=yes,scrollbars=no,width=625,height=300');
	}
}

function validateEmail(email){

    //RFC 2822 3.2.4 Atom:
    var ATEXT = "[a-zA-Z0-9\\!\\#\\$\\%\\&\\'\\*\\+\\-\\/\\=\\?\\^\\_\\`\\{\\|\\}\\~]";
    var DOTATOMTEXT = ATEXT + "+" + "(" + "\\." + ATEXT + "+)*";
    var DOTATOM = "(" + DOTATOMTEXT + ")"; //White space allowance removed

    //RFC 1035 tokens for domain names:
    var LETTER = "[a-zA-Z]";
    var LETDIG = "[a-zA-Z0-9]";
    var LETDIGHYP = "[a-zA-Z0-9-]";
    var RFCLABEL = LETDIG + "(" + LETDIGHYP + "{0,61}" + LETDIG + ")?";
    var RFC1035DOMAINNAME = RFCLABEL + "(\\." + RFCLABEL + ")*\\." + LETTER + "{2,6}";

    var DOMAIN = RFC1035DOMAINNAME;
    //RFC2822 domain not allowed

    var LOCALPART = "(" + DOTATOM + ")";
    var ADDRSPEC = "^" + LOCALPART + "@" + DOMAIN + "$";
    
    if(email.search(ADDRSPEC)==-1){
		return "";
	} else {
		return email;
	}
}	