	
	var changedEmailSettings = new Array();
	var receiveBanditEmailFlag = undefined;
	
	function loginBeforeUnsubscribe()
	{
		var loginCallbackJs = 'document.location.reload()';
		setLoginCallback(loginCallbackJs);
		login();
	}

	function submitUnsubscribeForm(form, mode) {
		if (mode == 'find') 
		{
			form.action = '/dashboard/account/unsubscribe';
			document.getElementById("unsubscribeSubmitState").value = '1';
		} 
		else if (mode == 'requestViaEmail') 
		{
			prepareSubmissionData();
			form.action = '/dashboard/account/unsubscribeRequest';
		} 
		else if (mode == 'requestLoggedIn')
		{
			prepareSubmissionData();
			form.action = '/dashboard/account/unsubscribeConfirm';
		}
		form.submit();
	}	
	
	/**
		Save a new email setting
	**/
	function setSubscriptionChanges(checkboxObj)
	{
		if (checkboxObj.checked == true) 
		{
			changedEmailSettings[checkboxObj.value] = 'add';
			
			// Deselect the 'unsubscribe all' checkbox
			//document.getElementById('unsubscribeAllId').checked = false;
		}
		else
		{
			changedEmailSettings[checkboxObj.value] = 'remove';
		}
	}
	/*
	function setBanditEmailChange(checkboxObj)
	{
		if (checkboxObj.checked == true)
			receiveBanditEmailFlag = 'add';
		else
			receiveBanditEmailFlag = 'remove'
	}*/
	
	/**
		Loops through all settings changed by the user and dynamically creates HTML form elements
		to submit the values
	**/
	function prepareSubmissionData()
	{
		if (document.getElementById('valuesToSubmit'))
		{
			document.getElementById('valuesToSubmit').innerHTML = '';
		
			if (changedEmailSettings && changedEmailSettings.length > 0)
			{
				for (key in changedEmailSettings)
				{
					if (key && (changedEmailSettings[key] == 'add' || changedEmailSettings[key] == 'remove'))
					{
						var objEmailSetting = document.createElement("input");
						objEmailSetting.setAttribute('type','hidden');
						objEmailSetting.setAttribute('name',changedEmailSettings[key]);
						objEmailSetting.setAttribute('value',key);
						
						document.getElementById('valuesToSubmit').appendChild(objEmailSetting); 
					}
				}
			}
		}
		else
			alert('unsubscribe error')
	}
	
	function removeAllEmailSubscriptions()
	{
		var inputFields = document.getElementsByTagName('input');
		if (inputFields != null && inputFields.length > 0)
		{
			for(var i=0; i<inputFields.length; i++)
			{
				if (inputFields[i].getAttribute('type') == 'checkbox' 
					&& inputFields[i].className.indexOf('subscriptionData') >= 0)
				{
					if (inputFields[i].checked == true) {
						inputFields[i].checked = false;
						setSubscriptionChanges(inputFields[i]);
					}
				}
			}
		}
	}
