//store current onload function
var curonload = window.onload;

//global vars needed for validation
var name = false;
var email = false;
var form = false;
var nameErrorMessage = "Please enter your name<br />";
var emailErrorMessage = "Please enter a valid Email address";
var errorDiv = false;

window.onload = function() {
	form = document.getElementById('icpsignup3417');
	var inputs = form.getElementsByTagName('input');

	
	//get the name and email address inputs
	for(i in inputs) {
		if(inputs[i].getAttribute('name') == "fields_fname") {
			name = inputs[i];	
		} else if(inputs[i].getAttribute('name') == "fields_email") {
			email = inputs[i];
		}
		
		if(name && email) {
			break;
		}
	}
	
	console.log(name);
	console.log(email);
	
	//not needed, free up the memory
	inputs = false;
	
	/*
		These functions handle the focus and blur events for the mailing list signup form
	*/
	name.onfocus = function() {
		if(this.value == "Name") {
			this.value = "";
		}
	};
	
	name.onblur = function() {
		if(this.value == "") {
			this.value = "Name";
		}
	}
	
	email.onfocus = function() {
		if(this.value == "Email Address") {
			this.value = "";
		}
	}
	
	email.onblur = function() {
		if(this.value == "") {
			this.value = "Email Address";
		}
	}
	
	form.onsubmit = function() {
		if(!name || !email) {
			//something is wrong, let the backend handle it
			return true;
		}
		
		var errorMessage = "";
		
		if(name.value == "Name" || name.value == "") {
			//invalid name
			errorMessage += nameErrorMessage;
		}
		
		if(!(/^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,6}$/i.test(email.value))) {
			//invalid email
			errorMessage += emailErrorMessage;
		}
		
		if(errorMessage != "") {
			//display errors
			if(!errorDiv) {
				//init error container
				errorDiv = document.createElement('div');
				errorDiv.className = "error_message";
				errorDiv.id = "error_message";
				form.appendChild(errorDiv);
			}
			
			errorDiv.innerHTML = errorMessage;
			
		} else {
			if(errorDiv) {
				errorDiv.innerHTML = "";
			}
		}
		
		return false;
	}
};
