var errorText;
var loadingMsg;
function init_submit_form(formName, bgcolor, cssPrefix, setErrorText, setLoadingMsg){
	attach_submit(formName, bgcolor, cssPrefix);
	
	var loader_container = document.getElementById(formName + '_subscribe_loader');
	var message_container = document.getElementById(formName + '_subscribe_message');
	var form_container = document.getElementById(formName + '_subscribe_container');
	
	errorText = setErrorText;
	loadingMsg = setLoadingMsg;
	message_container.className = cssPrefix + 'subscribe_message';
	loader_container.className = cssPrefix + 'subscribe_loader_hidden';
	form_container.className = cssPrefix + 'subscribe_container';
}

function submitForm(formName, bgcolor, cssPrefix){
	if (validate_ajax_subscribe_email(formName, "")){
		var loader_container = document.getElementById(formName + '_subscribe_loader');
		var message_container = document.getElementById(formName + '_subscribe_message');
		var form_container = document.getElementById(formName + '_subscribe_container');
		//var button = document.getElementById(formName + '_button');
		var frm = document.forms[formName];

		if (frm[formName+ '_p'].value != "" && frm[formName+ '_p'].value !=null){
			var p_value = frm[formName+ '_p'].value;
		}else{
			var p_value = "";
		}
	
		var args={uri:'/tools/subscribe/AjaxSubmitter.asp',func:responseSubmitForm, params:[formName, cssPrefix], email:frm[formName+ '_email'].value, p:p_value, subid:frm[formName+ '_subid'].value};
			if (!ajax.request(args)) return false;
			frm[formName+ '_email'].blur();
		//let user know what we are doing
		if (loader_container!=null){
			loader_container.className = cssPrefix+ 'subscribe_loader';
		}
		
		if (loadingMsg == '' || loadingMsg == null) { loadingMsg = 'Loading...'; }
		
		if (message_container!=null){
			message_container.className = cssPrefix + 'subscribe_message';
			var img = '<img src="http://chabad.org/images/global/loading.gif" align="absmiddle">'
			if (bgcolor != '' && bgcolor != null)
			{
				var img = '<img src="http://chabad.org/images/global/loaders/ajax_loader_' + bgcolor + '.gif" align="absmiddle" hspace="4">'
			}
			message_container.innerHTML = img + '&nbsp;' + loadingMsg ;
		}
		form_container.className = 'subscribe_container_hidden';	
	}
	return true;
}

function SubmitEvent(form, input, bgcolor, cssPrefix) {
    input.onkeydown = function(e) {
        e = e || window.event;
        if (e.keyCode == 13) {
			return !submitForm(form.name, bgcolor, cssPrefix);
        }
    };
}
function attach_submit(formName, bgcolor, cssPrefix){
	var frm = document.forms[formName];
	if(typeof(frm)=="undefined")return false;
	var inputs = frm.getElementsByTagName('input');
	for (var j=0;j < inputs.length;j++){
		SubmitEvent(frm, inputs[j], bgcolor, cssPrefix);
	}
};

function responseSubmitForm(response_obj, formName, cssPrefix){

	var http_status = response_obj.status;
	var data = response_obj.responseText.substr(2);
	var result = data.split("|&|*|");
	var frm = document.forms[formName];
	
	var loader_container = document.getElementById(formName + '_subscribe_loader');
	var message_container = document.getElementById(formName + '_subscribe_message');
	var form_container = document.getElementById(formName + '_subscribe_container');
	
	if (loader_container!=null)
	{
		loader_container.className = 'subscribe_loader_hidden';
	}
	
	if (result[0] == 0)
	{
		message_container.className = cssPrefix + 'subscribe_message';
		message_container.innerHTML = result[1];
		form_container.className = 'subscribe_container_hidden';
	}
	else if(result[0] == 1)
	{
		form_container.className = cssPrefix + 'subscribe_container';
		message_container.className = cssPrefix + 'subscribe_message_error';
		message_container.innerHTML = result[1];
		frm[formName+ '_email'].focus();
	}
	else if (http_status == 500)
	{
		form_container.className = cssPrefix + 'subscribe_container';
		message_container.className = cssPrefix + 'subscribe_message_error';
		message_container.innerHTML = "A an error occured on the server.";
		frm[formName+ '_email'].focus();
	}
	
}

function validate_ajax_subscribe_email(formName, errorText) {
	var frm = document.forms[formName];
	if (errorText == '' || errorText == null) {errorText = 'Please enter a valid email email address';}
	if (frm[formName+ '_email'].value.indexOf('@',0)==-1 || frm[formName+ '_email'].value.indexOf('@',0)== 0 || frm[formName+ '_email'].value.indexOf('.',0)==-1) {
		alert(errorText);
		frm[formName+ '_email'].focus();
		frm[formName+ '_email'].select();
		return false;
	}
	return true;
}
