/*
 * Call this javascript file from the head of any documents in which you place the
 * eNews Signup widget.
 *
 * DATE			AUTHOR					ACTION
 * 2007-11		Kevin Price-Ward, CaB	Created
 * 2007-11-30	Geoff Beaumont, CaB		Modified for use in eNews Signup widget
 */

// If cab-common-functions.js isn't already included, we need to load it
function ftnWidgetEnewsSignupFormLoadJs(){
	if(typeof(ftnGetObject) == 'undefined') ftnWidgetEnewsSignupFormAddJs('/site/js/cab-common-functions.js');
	if(typeof(Prototype) == 'undefined') ftnWidgetEnewsSignupFormAddJs('/site/js/prototype_1.5.js');
}

function ftnWidgetEnewsSignupFormAddJs(source){
	var head = document.getElementsByTagName('head').item(0);
	var script = document.createElement('script');
	script.setAttribute('type','text/javascript');
	script.setAttribute('src',source);
	head.appendChild(script);
}

ftnWidgetEnewsSignupFormLoadJs();

function ftnWidgetEnewsSignupFormSubmit(form){
	var emailAddr = form.pmbf_Email.value;
	form.pmbf_Email.disabled = true;
	form.widgetEnewsSignupFormSubmit.disabled = true;
	new Ajax.Request('/includes/widgets/enews-signup/ajax-handler.php',{
		method:'post',
		parameters:{
			pmbf_Email:emailAddr,
			pmdf_1_3:1
		},
		onSuccess:function(transport){
			var success = transport.responseText;
			form.pmbf_Email.disabled = false;
			form.widgetEnewsSignupFormSubmit.disabled = false;
			ftnWidgetEnewsSignupFormResponse(success);
		}
	});
}

function ftnWidgetEnewsSignupFormResponse(response){
	var formDiv = document.getElementById('widgetEnewsSignup');
	var form = document.getElementById('widgetEnewsSignupForm');
	if(response=='true'){
		ftnCabRemoveChildElements(formDiv);
		var successNode = document.createElement('p');
		successNode.className = 'widget-enews-message';
		formDiv.appendChild(successNode);
		var txt = document.createTextNode('Thank you! Your details have been successfully received.');
		successNode.appendChild(txt);
	}else if(response=='email_err'){
		form.pmbf_Email.value = 'Invalid email address';
	}else if(response=='false'){
		form.pmbf_Email.value = 'Database error - try again';
	}
}
