/* general javascript for mailing list submission */

// to store the last submitted email
var lastEmailValue;

// email validation
function validateEmail(field) {
	apos=field.indexOf("@");
	dotpos=field.lastIndexOf(".");
	if (apos<1||dotpos-apos<2) {
		return false;
	} else {
		return true;
	}
}

// disable the submit button
function disableSubmit() {
	var e = document.getElementById('submit_button');
	e.disabled = true;
}

// disable the submit button
function enableSubmit() {
	var e = document.getElementById('submit_button');
	e.disabled = false;
}

// whenever user clicks into the email input textbox
function onInputEmailFocus(){
	var e = document.getElementById('email_input'); 
	e.value = "";
}

function whenLoading(){
	var e = document.getElementById('status'); 
	//e.innerHTML = "<i>Sending, please wait...</i>";
}

function whenLoaded(){
	var e = document.getElementById('status'); 
	e.innerHTML = "<i>Loading...</i>";
}

function whenInteractive(){
	var e = document.getElementById('status'); 
	//e.innerHTML = "<i>Loading...</i>";
}

function whenCompletion(){
	var e = document.getElementById('status'); 
	// successful subscribe
	e.innerHTML = "<p>Please check your email and click on the link to get your mp3.<br/><br/> You will be subscribed as:</p>";
	//
	var e = document.getElementById('submission'); 
	// successful subscribe
	e.innerHTML = "<p>"+lastEmailValue+"</p>";
	
}

function whenError(){
	var e = document.getElementById('status'); 
	// successful subscribe
	e.innerHTML = "Error. Please try again.";
	// enable the submit button
	enableSubmit();	
}

function doit(){
	
	var form = document.getElementById('form');
	var emailValue = form.email_input.value;
	
	// first validate the email
	if (validateEmail(emailValue)) {
		submitData();
	} else {
		var e = document.getElementById('status');	
		e.innerHTML = "Error: Please enter a valid email."
		// clear the input box
		var e = document.getElementById('email_input'); 
		e.value = "";		
	}
}

function submitData(){
	
	// disable the submit button
	disableSubmit();
	
	// value of email
	var form = document.getElementById('form');
	var emailValue = form.email_input.value;
	// status text
	var e = document.getElementById('status');	
	e.innerHTML = "<i>Sending, please wait...</i>";
	// store the submitted email value 
	lastEmailValue = emailValue;
	
	ajax.setVar("email", emailValue);
	ajax.setVar("f", "subscribe");
	ajax.setVar("list", "chopchop");
	ajax.requestFile = "/list/dada/mail.cgi";
	ajax.method = 'GET';
	ajax.onLoading = whenLoading;
	ajax.onLoaded = whenLoaded; 
	ajax.onInteractive = whenInteractive;
	ajax.onCompletion = whenCompletion;
	ajax.onError = whenError;
	ajax.runAJAX();
}
