var origBorder = "1px solid #7F9DB9";
var ErrorBorder = "1px solid red";

/* Checks that given string is valid as email address */
function checkEmail(email){
  var filter=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i
  if (filter.test(email)) return true;
  else return false;
}


function submitUnsubscribeForm() {
	var emailBox = document.getElementById("email");
	var boolError = false;
	var strError = "";

	emailBox.style.border = origBorder;
	
	if(emailBox.value.length < 1) {
		strError += "Please fill in your email address\n";		
		emailBox.style.border = strErrorBorder;
		boolError = true;
	}
	if(emailBox.value.length > 0 && !checkEmail(emailBox.value)) {
		strError += "Please fill in a VALID email address\n";		
		emailBox.style.border = strErrorBorder;
		boolError = true;
	}

	if(boolError) alert ( strError );
	return ! boolError;
}

function validateSeminarBooking() {
	
	var titleBox = document.getElementById("title");
	var firstNameBox = document.getElementById("first_name");
	var surNameBox = document.getElementById("second_name");
	var companyBox = document.getElementById("company_name");
	var fsaRegBox = document.getElementById("fsa_registration_number");
	var telephoneBox = document.getElementById("telephone");
	var emailBox = document.getElementById("email");
	
	var boolError = false;
	var strError = "";
	
	firstNameBox.style.border = origBorder;
	surNameBox.style.border = origBorder;
	companyBox.style.border = origBorder;
	fsaRegBox.style.border = origBorder;
	telephoneBox.style.border = origBorder;
	emailBox.style.border = origBorder;

	if(firstNameBox.value.length < 3) {
		strError += "Please fill in your first name\n";		
		firstNameBox.style.border = strErrorBorder;
		boolError = true;
	}
	if(surNameBox.value.length < 3) {
		strError += "Please fill in your second name\n";		
		surNameBox.style.border = strErrorBorder;
		boolError = true;
	}
	if(companyBox.value.length < 3) {
		strError += "Please fill in your company name\n";		
		companyBox.style.border = strErrorBorder;
		boolError = true;
	}
	if(fsaRegBox.value.length < 3) {
		strError += "Please fill in your FSA registration number\n";		
		fsaRegBox.style.border = strErrorBorder;
		boolError = true;
	}
	if(isNaN (fsaRegBox.value)) {
		strError += "FSA registration number must be a numeric value\n";		
		fsaRegBox.style.border = strErrorBorder;
		boolError = true;
	}
	if(emailBox.value.length > 0 && !checkEmail(emailBox.value)) {
		strError += "Please fill in a VALID email address\n";		
		emailBox.style.border = strErrorBorder;
		boolError = true;
	}
	if(emailBox.value.length == 0 && telephoneBox.value.length == 0) {
		strError += "Please fill in email or telephone number\n";		
		emailBox.style.border = strErrorBorder;
		telephoneBox.style.border = strErrorBorder;
		boolError = true;
	}
	if(telephoneBox.value.length < 3) {
		strError += "Please fill in your telephone number\n";		
		telephoneBox.style.border = strErrorBorder;
		boolError = true;
	}
	
		
	if( boolError ) alert ( strError );
	return ! boolError;
}

var people = new Array();
function signUpColleague(display) {
	
	var ret = validateSeminarBooking();
	if(!ret) return false;
	
	var securityBox = document.getElementById("security_code");
	securityBox.style.border = origBorder;
	if(securityBox.value.length < 6) {
		alert("Please fill in the security code\n");		
		securityBox.style.border = strErrorBorder;
		return false;
	}
	return true;
}

function js_array_to_php_array (Arr) {
	jsStr = '';
	for(var i in Arr) {
		jsStr += Arr[i]['title']+';';
		jsStr += Arr[i]['name']+';';
		jsStr += Arr[i]['second_name']+';';
		jsStr += Arr[i]['company_name']+';';
		jsStr += Arr[i]['fsa_registration_number']+';';
		jsStr += Arr[i]['telephone']+';';
		jsStr += Arr[i]['email']+';';
		jsStr += Arr[i]['postcode']+';';
		jsStr += '#';
	}
	return jsStr;
}

function submitForm() {
	var ret = signUpColleague(false);
	if(!ret) return false;
	my_js_string = js_array_to_php_array(people);
	document.getElementById("details").value = my_js_string;
}

function clearForm() {
	document.getElementById("title").value = '';
	document.getElementById("first_name").value = '';
	document.getElementById("second_name").value = '';
	document.getElementById("company_name").value = '';
	document.getElementById("fsa_registration_number").value = '';
	document.getElementById("telephone").value = '';
	document.getElementById("email").value = '';
	if(document.getElementById("postcode")) document.getElementById("postcode").value = '';
}

function insertNameToForm(name) {
	var table = document.getElementById("colleagues");
	var newTBODY = document.createElement("tbody");
	var newTR = document.createElement("tr");
	var newTD1 = document.createElement("td");
	var newTD2 = document.createElement("td");
	var tdText = document.createTextNode(name);
	var rowCount = table.rows.length;
	var label = '';
	if(rowCount == 0) newTD1.innerHTML = 'Attendees:';
	newTD2.innerHTML = name;
	
	newTR.appendChild(newTD1);
	newTR.appendChild(newTD2);
	
	newTBODY.appendChild(newTR);
	table.appendChild(newTBODY);
}

function validateRecColleague() {
	var titleBox = document.getElementById("title");
	var firstNameBox = document.getElementById("first_name");
	var surNameBox = document.getElementById("second_name");
	var emailBox = document.getElementById("email");
	var nameBox = document.getElementById("name");
	var securityBox = document.getElementById("security_code");
	
	var boolError = false;
	var strError = "";
	
	firstNameBox.style.border = origBorder;
	surNameBox.style.border = origBorder;
	nameBox.style.border = origBorder;
	securityBox.style.border = origBorder;

	if(firstNameBox.value.length < 3) {
		strError += "Please fill in your colleague's first name\n";		
		firstNameBox.style.border = strErrorBorder;
		boolError = true;
	}
	if(surNameBox.value.length < 3) {
		strError += "Please fill in your colleague's second name\n";		
		surNameBox.style.border = strErrorBorder;
		boolError = true;
	}
	if(emailBox.value.length > 0 && !checkEmail(emailBox.value)) {
		strError += "Please fill in a VALID email address\n";		
		emailBox.style.border = strErrorBorder;
		boolError = true;
	}
	if(emailBox.value.length == 0) {
		strError += "Please fill in your colleague's email address\n";		
		emailBox.style.border = strErrorBorder;
		boolError = true;
	}
	if(nameBox.value.length < 3) {
		strError += "Please fill in your name\n";		
		nameBox.style.border = strErrorBorder;
		boolError = true;
	}
	if(securityBox.value.length < 6) {
		strError += "Please fill in the security code\n";		
		securityBox.style.border = strErrorBorder;
		boolError = true;
	}
	
	if( boolError ) alert ( strError );
	return ! boolError;
}