// @TODO - CAPTURE - this function is made global so that capture module can open on scroll
// this feature will be restored after making login modular to be included directly in the capture
// module
function openSignIn () {
	$('#newsletter').parent().removeClass("selected");
	$('#news_popup').slideUp(400);
	$('#register').parent().removeClass("selected");
	$('#register_popup').slideUp(800);
	setTimeout(function(){resetRegister()}, 800);
	
	$('#sign_in').parent().toggleClass("selected");						 
	$('#sign_in_popup').slideToggle(600);
	setTimeout(function(){$("#login_form input[name='username']").focus()}, 700);	
	
	l_sSignInOriginal =  '<div id="login_errors" class="form_text"></div>';
	l_sSignInOriginal += '<form id="login_form" action="" name="login_form" onsubmit="return false;">';
	l_sSignInOriginal += '<input type="text" name="username" maxlength="150" class="right" /><span class="field_name right">USER ID:</span>';
	l_sSignInOriginal += '<div class="clear"></div>';
	l_sSignInOriginal += '<input type="password" name="password" maxlength="25" class="right" /><span class="field_name right">PASSWORD:</span>';
	l_sSignInOriginal += '<div class="clear"></div>';
	l_sSignInOriginal += '<p class="forgot">Forgot your <span class="red" id="header_forgot_id">User ID</span> or <span class="red" id="header_forgot_pw">Password</span>?</p>';
	l_sSignInOriginal += '<input type="image" src="/image/sign_in_button.gif" id="login_submit" name="login_submit" />';
	l_sSignInOriginal += '</form>';
	
	setTimeout(function(){$('#sign_in_holder').html(l_sSignInOriginal);}, 500);
	setTimeout(function(){assignForgotUserAndPw();}, 600);
	setTimeout(function(){assignLoginSubmit();}, 600);
}



$(document).ready(function(){ 
	//user menus buttons 	
	
	
	/* SIGN IN MENU */
	$('#sign_in').click(function(){
		openSignIn();// @TODO - CAPTURE - see global function notes above
		return false;
	});
	
	$('#sign_in_popup .close').click(function(){
		$('#sign_in_popup').slideUp(400);
		$('#sign_in').parent().removeClass("selected");
		
		g_bOpenLoginFlag = false;
		g_bArchiveOpenLoginFlag = false;
		
		l_sSignInOriginal =  '<div id="login_errors" class="form_text"></div>';
		l_sSignInOriginal += '<form id="login_form" action="" name="login_form" onsubmit="return false;">';
		l_sSignInOriginal += '<input type="text" name="username" maxlength="150" class="right" /><span class="field_name right">USER ID:</span>';
		l_sSignInOriginal += '<div class="clear"></div>';
		l_sSignInOriginal += '<input type="password" name="password" maxlength="25" class="right" /><span class="field_name right">PASSWORD:</span>';
		l_sSignInOriginal += '<div class="clear"></div>';
		l_sSignInOriginal += '<p class="forgot">Forgot your <span class="red" id="header_forgot_id">User ID</span> or <span class="red" id="header_forgot_pw">Password</span>?</p>';
		l_sSignInOriginal += '<input type="image" src="/image/sign_in_button.gif" id="login_submit" name="login_submit" />';
		l_sSignInOriginal += '</form>';
		
		setTimeout(function(){$('#sign_in_holder').html(l_sSignInOriginal);}, 500);
		setTimeout(function(){assignForgotUserAndPw();}, 600);
		setTimeout(function(){assignLoginSubmit();}, 600);
		return false;
	});
	
	
	/* REGISTER MENU */
	$('#register').click(function(){
		$('#newsletter').parent().removeClass("selected");
		$('#news_popup').slideUp(400);
		$('#sign_in').parent().removeClass("selected");	
		$('#sign_in_popup').slideUp(400);
		//TODO reset sign_in_popup values after it closes
		
		$(this).parent().toggleClass("selected");						  
		$('#register_popup').slideToggle(800);
		setTimeout(function(){resetRegister()}, 800);
		return false;
	});
	
	$('#register_submit').click(function (){
		//alert('registering...');
		l_aRegForm = document.getElementById('register_form');
		errors = validate(l_aRegForm);
		if(errors.length > 0)	{  
			$('#register_errors').html(_xGlobal.printErrors(errors));			
			return;
		}
		$('#register_errors').html('');								  
										  
		disableRegisterForm();	
		BaseAjax.register();
		return false;
    });
	
	$('#register_popup .close, .success_close').click(function(){
		$('#register_popup').slideUp(800);
		$('#register').parent().removeClass("selected");
		setTimeout(function(){$('#register_success').hide();}, 800);
		setTimeout(function(){$('#register_holder').show();}, 800);
		setTimeout(function(){resetRegister()}, 800);
		return false;
	});
	
	
	/* NEWSLETTER MENU */
	$('#newsletter').click(function(){
		$('#register').parent().removeClass("selected");
		$('#register_popup').slideUp(800);
		setTimeout(function(){resetRegister()}, 800);
		
		$('#sign_in').parent().removeClass("selected");	
		$('#sign_in_popup').slideUp(400);
		$(this).parent().toggleClass("selected");						  
		$('#news_popup').slideToggle(600);
		return false;	
	});
	
	$('#news_submit').click(function (){
		
		$('#newsletter_errors').html('');
		errors = new Array();
		errors = validateEmail('newsletter_form');
		
		if(errors.length > 0)	{
			$('#newsletter_errors').html(_xGlobal.printErrors(errors));					
			return;
		}
		$('#newsletter_errors').html('');							  
									  
		disableNewsletterForm();	
		BaseAjax.newsletterSignup();
		return false;
    });
	
	$('#news_popup .close').click(function(){
		$('#news_popup').slideUp(600);
		$('#newsletter').parent().removeClass("selected");
		setTimeout(function(){resetNewsletterForm()}, 600);
		setTimeout(function(){$('#newsletter_errors').html('')}, 600);
		return false;
	});
	
	
	/* NEWSLETTER MODULE */
	$('#newsletter_module_submit').attr("disabled", "disabled");
	
	$('#newsletter_module_go').click(function(){
		
		$('#newsletter_module_errors').html('');
		errors = new Array();
		errors = validateEmail('newsletter_module_form');
		
		if(errors.length > 0)	{
			$('#newsletter_module_errors').html(_xGlobal.printErrors(errors));					
			return;
		}
		
		$('#newsletter_state1').hide();
		$('#newsletter_state2').show();
		$('#newsletter_module_submit').removeAttr("disabled");
		return false;
	});
	
	
	$('#newsletter_module_submit').click(function (){
		
		$('#newsletter_module_errors').html('');							  
									  
		disableNewsletterModuleForm();	
		BaseAjax.newsletterModuleSignup();
		return false;
    });
	
	
	/* ACCOUNT MENU */
	$('#account').click(function(){
		$('#library').parent().removeClass("selected");
		$('#lib_popup').slideUp(400);
		$(this).parent().toggleClass("selected");						  
		$('#account_popup').slideToggle(1000);
		
		resetAccount();										  
		BaseAjax.getUser();
		return false;
	});
	
	$('#account_submit').click(function (){		
		disableUpdateForm();
		BaseAjax.update();
		return false;
    });
	
	
	/* LIBRARY MENU */
	$('#library').parent().click(function(){
		$(this).toggleClass("selected");
		$('#lib_popup').slideToggle(600); 

		if ($(this).hasClass("selected")) {
			//$('#library_list_container').hide();
			setTimeout(function(){$('#lib_url, #lib_email').hide()}, 400);
			//setTimeout(function(){$('#library_list').show()}, 400);
			setTimeout(function(){getMyLibraryItems(1)}, 400);
		}
		
		$('#account').parent().removeClass("selected");
		$('#account_popup').slideUp(400);
		
		// $('#lib_popup').slideToggle(600, 
		// 	function() {
		// 		// if ($('#library').parent().hasClass("selected")) {
		// 		// 	getMyLibraryItems(1); //always default to getting first page of library items when opening dropdown
		// 		// } 
		// 	});
		
		return false;		

	});
	
	$('.view_url').click(function(){
		$('#lib_null').hide();
		$('#library_list').hide();
		$('#lib_email').hide();
		$('#lib_url').show();
		return false;		
	});
	
	$('.view_email').click(function(){
		$('#lib_null').hide();
		$('#library_list').hide();
		$('#lib_url').hide();
		$('#lib_email').show();
		return false;		
	});
	
	$('.lib_close').click(function(){
		$('#lib_popup').slideUp(400);
		$('#library').parent().removeClass("selected");
		setTimeout(function(){$('#lib_url, #lib_email').hide()}, 500);
		setTimeout(function(){$('#library_list').show()}, 500);
		return false;
	});
	
	$('.lib_null_close').click(function(){
		$('#lib_popup').slideUp(400);
		$('#library').parent().removeClass("selected");
		return false;
	});
	
	$('#copy_url').click(function(){
		$.copy($('#mylibrary_url').val());
		$(this).find('span').fadeOut('fast',
			function() {
		 		$('#copy_url').html('Copied');
				$('#copy_url').css("cursor", "default")
		    });
		return false;
	});

	
	/* SIGN OUT MENU */
	$('#sign_out').click(function(){ 
		$('#account_popup').slideUp(800);
		$('#account').parent().removeClass("selected");
		
		$('#lib_popup').slideUp(400);
		$('#library').parent().removeClass("selected");//needs to erase fields, now
		
		$('.comment_box_wrapper').slideUp(400);
		resetCommentForm();
		
		resetAccount();		
		BaseAjax.logout();
		return false;
	});	
	

	
	/* LEFTOVERS FROM TDB?? 
	$('#cancel_submit').click(function (){
		disableUpdateForm();
		BaseAjax.update();
		return false;
    });
	
	//account specific
	$('#changepw_link').click(function (){
		$('#no_changepw_area').hide(); 									 
		$('#changepw_area').show();
	 });
	
	$('#cancelpw_link').click(function (){
		$('#no_changepw_area').show(); 									 
		$('#changepw_area').hide();
		f.elements['password'].value = "";
		f.elements['password2'].value = "";
		f.elements['password_old'].value = "";			
	 });
	
	$('#cancel').click(function (){
		if(this.checked == true){
			$('#account_btm2').hide(); 
			$('#account_btm3').hide(); 
			$('#save_btn').hide();
			$('#cancel_area').show();
			f.elements['subscribe'].checked = false;
			f.elements['unshareInfo'].checked = false;
		} else {
			$('#account_btm2').show(); 			
			$('#account_btm3').show(); 
			$('#save_btn').show();
			$('#cancel_area').hide();			
		}
	 });	  */
	
	
});

//Click function assigned for elements appearing after document.ready
function assignForgotPwSubmit() {
	$('#forgot_pw_submit').click(function (){
										  
	f = document.getElementById('forgot_pw_form');
	
	errors = new Array();
	errors = validateEmail('forgot_pw_form');
			
	if(errors.length > 0)	{
		$('#forgot_errors').html(_xGlobal.printErrors(errors));
		return;
	}
	$('#forgot_errors').html('');
	
	disableForgotPwForm();
	BaseAjax.forgot_pass();
	return false;
    });
}

function assignForgotUserAndPw() {
	$('#header_forgot_id, #header_forgot_pw').click(function(){
		l_sForgotHtml =  '<div class="forgot_password">';
		l_sForgotHtml += '<p class="form_text center" id="forgot_errors">Enter the email address you signed up with,<br /> and a message will be sent to reset your password.</p>';
		l_sForgotHtml += '<form id="forgot_pw_form" action="" name="forgot_pw_form" onsubmit="return false;">';
		l_sForgotHtml += '<input type="text" id="email" name="email" class="right" /><span class="field_name right">EMAIL:</span>';
		l_sForgotHtml += '<div class="clear"></div>';
		l_sForgotHtml += '<input type="image" src="/image/submit_button.gif" name="forgot_pw_submit" id="forgot_pw_submit" />';
		l_sForgotHtml += '</form>';
		l_sForgotHtml += '<p class="form_text center">Not registered yet? It&acute;s quick and easy. Click <br />REGISTER at the top of the page to get started.</p>';
		l_sForgotHtml += '</div>';
		
		$('#sign_in_holder').html(l_sForgotHtml);
		
		assignForgotPwSubmit();
		
	});	
}


function assignLoginSubmit() {
	$('#login_submit').click(function (){
		f = document.getElementById('login_form');
		
		$('#login_errors').html('');
		errors = new Array();
		errors = validateLogination();
		
		if(errors.length > 0)	{
			$('#login_errors').html(_xGlobal.printErrors(errors));					
			return;
		}
		$('#login_errors').html('');

		disableLoginForm();
		BaseAjax.login();
		return false;
	});
}


// ---------------------- Validation Functions -----------------------------------

function validateLogination(){
	p_aValues = document.getElementById('login_form');
	r_asErrors = new Array();				
	if(/[a-zA-Z]{1}[-a-zA-Z0-9]{4}[-a-zA-Z0-9]*/.test(p_aValues.elements['username'].value) == false || 
		(/[a-zA-Z0-9]{6,16}/.test(p_aValues.elements['password'].value) == false))
		r_asErrors.push("Sorry, your user ID or password was not recognized.<br />Please enter a valid user ID and password.");					

	return  r_asErrors;
}

function validateCreation(){	
	p_aValues = document.getElementById('register_form'); //not actually being used by register_form
	r_asErrors = new Array();		
	if(/[a-zA-Z0-9]{6,16}/.test(p_aValues.elements['password'].value) == false)
		r_asErrors.push("Password must be between 6 and 16 alphanumeric characters.");			
	if(p_aValues.elements['password'].value != p_aValues.elements['password2'].value)
		r_asErrors.push("Password and Confirmation must match.");	
	return  r_asErrors.concat(validate(p_aValues));
}

function validateEmail(p_sFormName){
	
	p_aValues = document.getElementById(p_sFormName);
	r_asErrors = new Array();
	
	if(/[_a-zaA-Z0-9-]+([.+_a-zA-Z0-9-]+)*@[a-zA-Z0-9-]+([.a-zA-Z0-9-]+)*(\.[a-zA-Z]{2,4})/.test(p_aValues.elements['email'].value) == false)
		r_asErrors.push("Email Address is in an invalid format.");
	return  r_asErrors;
}

function validate(p_aValues){	
	r_asErrors = new Array();			
	if(/[a-zA-Z]{1}[-a-zA-Z0-9]{3}[-a-zA-Z0-9]*/.test(p_aValues.elements['username'].value) == false)
		r_asErrors.push("Username must be at least 4 characters a-z, 0-9, or - and begin with a letter.");			
	if(/[a-zA-Z]{1}[-\'a-zA-Z ]{0,28}[a-zA-Z]{1}/.test(p_aValues.elements['firstName'].value) == false)
		r_asErrors.push("First Name must be between 2 and 30 characters a-z.");			
	if(/[a-zA-Z]{1}[-\'a-zA-Z ]{0,27}[a-zA-Z]{1}/.test(p_aValues.elements['lastName'].value) == false)
		r_asErrors.push("Last Name must be between 2 and 30 characters a-z.");
	if( p_aValues.elements['year'].value == "0" || 
		p_aValues.elements['day'].value == "0" || 
		p_aValues.elements['month'].value == "0" || 
		p_aValues.elements['year'].value == "" || 
		p_aValues.elements['day'].value == "" || 
		p_aValues.elements['month'].value == "")
		r_asErrors.push("Please choose a birth Month, Day, and Year.");
	//if we choose the usa, we need a zipcode 
	if(p_aValues.elements['country'].value=='USA' && (/[0-9]{5}/.test(p_aValues.elements['zip'].value) == false))
		r_asErrors.push("US Zip Code must be 5 numbers.");				
	if(/[_a-zaA-Z0-9-]+([.+_a-zA-Z0-9-]+)*@[a-zA-Z0-9-]+([.a-zA-Z0-9-]+)*(\.[a-zA-Z]{2,4})/.test(p_aValues.elements['email'].value) == false)
		r_asErrors.push("Email Address is in an invalid format.");

	return r_asErrors;
}


// ---------------------- Reset Functions -------------------------------------

function resetAccount(){
	enableUpdateForm();
	f = document.getElementById('account_form');
	
	f.elements['firstName'].value = "";
	f.elements['lastName'].value = "";	
	f.elements['email'].value = "";
	f.elements['female'].checked = false;
	f.elements['male'].checked = false;
	f.elements['userid'].value = "";
	f.elements['password'].value = "";
	f.elements['year'].selectedIndex = 0;
	f.elements['month'].selectedIndex = 0;
	f.elements['day'].selectedIndex = 0;
	f.elements['zip'].value = "";
	f.elements['country'].selectedIndex = 0;	
	f.elements['newsletter1'].checked = false;
	f.elements['newsletter2'].checked = false;
	f.elements['declined_info'].checked = false;
	
	$('#account_errors').html('');
}

function disableUpdateForm(){
	f = document.getElementById('account_form');
	
	f.elements['firstName'].disabled = true;
	f.elements['lastName'].disabled = true;	
	f.elements['email'].disabled = true;
	f.elements['female'].disabled = true;
	f.elements['male'].disabled = true;
	f.elements['userid'].disabled = true;
	f.elements['password'].disabled = true;
	f.elements['year'].disabled = true;
	f.elements['month'].disabled = true;
	f.elements['day'].disabled = true;
	f.elements['zip'].disabled = true;	
	f.elements['country'].disabled = true;	
	f.elements['newsletter1'].disabled = true;
	f.elements['newsletter2'].disabled = true;
	f.elements['declined_info'].disabled = true;
	document.getElementById('account_submit').disabled = true;
}

function enableUpdateForm(){
	f = document.getElementById('account_form');
	
	f.elements['firstName'].disabled = false;
	f.elements['lastName'].disabled = false;	
	f.elements['email'].disabled = false;
	f.elements['female'].disabled = false;
	f.elements['male'].disabled = false;
	f.elements['userid'].disabled = false;	
	f.elements['password'].disabled = false;	
	f.elements['year'].disabled = false;
	f.elements['month'].disabled = false;
	f.elements['day'].disabled = false;
	f.elements['zip'].disabled = false;	
	f.elements['country'].disabled = false;	
	f.elements['newsletter1'].disabled = false;
	f.elements['newsletter2'].disabled = false;
	f.elements['declined_info'].disabled = false;
	document.getElementById('account_submit').disabled = false;
}


function resetLogin(){
	enableLoginForm();
	f = document.getElementById('login_form');
		
	f.elements['username'].value = "";		
	f.elements['password'].value = "";	
	$('#login_errors').html('');
}

function disableLoginForm(){
	f = document.getElementById('login_form');
		
	f.elements['username'].disabled = true;		
	f.elements['password'].disabled = true;	
	document.getElementById('login_submit').disabled = true;
}

function enableLoginForm(){
	f = document.getElementById('login_form');
	f.elements['username'].disabled = false;		
	f.elements['password'].disabled = false;	
	document.getElementById('login_submit').disabled = false;
}

function disableForgotPwForm(){
	f = document.getElementById('forgot_pw_form');
		
	f.elements['email'].disabled = true;		
	document.getElementById('forgot_pw_submit').disabled = true;
}

function resetRegister(){
	enableRegisterForm();
	f = document.getElementById('register_form');
	
	f.elements['firstName'].value = "";	
	f.elements['lastName'].value = "";	
	f.elements['email'].value = "";	
	f.elements['username'].value = "";
	f.elements['password'].value = "";
	f.elements['password2'].value = "";
	f.elements['year'].selectedIndex = 0;
	f.elements['month'].selectedIndex = 0;
	f.elements['day'].selectedIndex = 0;		
	f.elements['zip'].value = "";		
	f.elements['country'].selectedIndex = 0;
	f.elements['newsletter1'].checked = false;
	f.elements['newsletter2'].checked = false;
	f.elements['declined_info'].checked = false;
	$('#register_errors').html(''); 
}

function disableRegisterForm(){
	f = document.getElementById('register_form');
	
	f.elements['firstName'].disabled = true;
	f.elements['lastName'].disabled = true;
	f.elements['email'].disabled = true;
	f.elements['zip'].disabled = true;
	f.elements['country'].disabled = true;
	f.elements['username'].disabled = true;
	f.elements['password'].disabled = true;
	f.elements['password2'].disabled = true;
	f.elements['year'].disabled = true;
	f.elements['month'].disabled = true;
	f.elements['day'].disabled = true;	
	f.elements['newsletter1'].disabled = true;
	f.elements['newsletter2'].disabled = true;
	f.elements['declined_info'].disabled = true;
	document.getElementById('register_submit').disabled = true;
}


function enableRegisterForm(){
	f = document.getElementById('register_form');
	
	f.elements['firstName'].disabled = false;
	f.elements['lastName'].disabled = false;
	f.elements['email'].disabled = false;
	f.elements['username'].disabled = false;
	f.elements['password'].disabled = false;
	f.elements['password2'].disabled = false;
	f.elements['year'].disabled = false;
	f.elements['month'].disabled = false;
	f.elements['day'].disabled = false;	
	f.elements['zip'].disabled = false;	
	f.elements['country'].disabled = false;
	f.elements['newsletter1'].disabled = false;
	f.elements['newsletter2'].disabled = false;
	f.elements['declined_info'].disabled = false;
	document.getElementById('register_submit').disabled = false;
}


function resetNewsletterForm(){
	enableNewsletterForm();
	f = document.getElementById('newsletter_form');
		
	f.elements['newsletter1'].checked = false;
	f.elements['newsletter2'].checked = false;
	f.elements['email'].value = "";	
}

function disableNewsletterForm(){
	f = document.getElementById('newsletter_form');
	
	f.elements['newsletter1'].disabled = true;
	f.elements['newsletter2'].disabled = true;
	f.elements['email'].disabled = true;
	document.getElementById('news_submit').disabled = true;
}

function enableNewsletterForm(){
	f = document.getElementById('newsletter_form');
	
	f.elements['newsletter1'].disabled = false;
	f.elements['newsletter2'].disabled = false;
	f.elements['email'].disabled = false;
	document.getElementById('news_submit').disabled = false;
}


function resetNewsletterModuleForm(){
	enableNewsletterModuleForm();
	f = document.getElementById('newsletter_module_form');
		
	f.elements['newsletter_module1'].checked = false;
	f.elements['newsletter_module2'].checked = false;
	f.elements['email'].value = "";	
}

function disableNewsletterModuleForm(){
	f = document.getElementById('newsletter_module_form');
	
	f.elements['newsletter_module1'].disabled = true;
	f.elements['newsletter_module2'].disabled = true;
	f.elements['email'].disabled = true;
	document.getElementById('newsletter_module_submit').disabled = true;
}

function enableNewsletterModuleForm(){
	f = document.getElementById('newsletter_module_form');
	
	f.elements['newsletter_module1'].disabled = false;
	f.elements['newsletter_module2'].disabled = false;
	f.elements['email'].disabled = false;
	document.getElementById('newsletter_module_submit').disabled = false;
}




// ---------------------- Ajax Functions --------------------------------------

BaseAjax.getUser = function(){
	BaseAjax._xArgs.data = 'a=getUserAccount';
	BaseAjax._xArgs.returnDiv = '#return_div';
	BaseAjax.makeAjaxCall('/include/lib/user/action.php');	
}

BaseAjax.logout = function(){
	BaseAjax._xArgs.data = 'a=logoutUser';
	BaseAjax._xArgs.returnDiv = '#return_div';
	BaseAjax.makeAjaxCall('/include/lib/user/action.php');	
}

BaseAjax.register = function(){	
	f = document.getElementById('register_form');
    BaseAjax._xArgs.data = 'a=createUser';
	BaseAjax._xArgs.data += '&username='+escape(f.elements['username'].value);
    BaseAjax._xArgs.data += '&firstName='+escape(f.elements['firstName'].value);
    BaseAjax._xArgs.data += '&lastName='+escape(f.elements['lastName'].value);	
    BaseAjax._xArgs.data += '&email='+escape(f.elements['email'].value);	
    BaseAjax._xArgs.data += '&password='+escape(f.elements['password'].value);
    BaseAjax._xArgs.data += '&password2='+escape(f.elements['password2'].value);
    BaseAjax._xArgs.data += '&year='+escape(f.elements['year'].value);
	BaseAjax._xArgs.data += '&month='+escape(f.elements['month'].value);
	BaseAjax._xArgs.data += '&day='+escape(f.elements['day'].value);	
    BaseAjax._xArgs.data += '&zip='+escape(f.elements['zip'].value);	
    BaseAjax._xArgs.data += '&country='+escape(f.elements['country'].value);	
	if(f.elements['newsletter1'].checked)
		BaseAjax._xArgs.data += '&newsletter1=y';
	else
		BaseAjax._xArgs.data += '&newsletter1=n';
	if(f.elements['newsletter2'].checked)
		BaseAjax._xArgs.data += '&newsletter2=y';
	else
		BaseAjax._xArgs.data += '&newsletter2=n';
		
	if(f.elements['declined_info'].checked)
		BaseAjax._xArgs.data += '&declined_info=y';
	else
		BaseAjax._xArgs.data += '&declined_info=n';	
	
	
    BaseAjax._xArgs.returnDiv = '';
	BaseAjax._xArgs.callBack = BaseAjax.register_callback;
	BaseAjax.makeAjaxCall('/include/lib/user/action.php');	
}

BaseAjax.register_callback = function(){	
	enableRegisterForm();	
	$('#return_div').html(BaseAjax.returnVar);
}


BaseAjax.update = function(){
	f = document.getElementById('account_form');
	
		BaseAjax._xArgs.data = 'a=updateUser';
		BaseAjax._xArgs.data += '&firstName='+escape(f.elements['firstName'].value);
		BaseAjax._xArgs.data += '&lastName='+escape(f.elements['lastName'].value);	
		BaseAjax._xArgs.data += '&email='+escape(f.elements['email'].value);
		BaseAjax._xArgs.data += '&userid='+escape(f.elements['userid'].value);			
		BaseAjax._xArgs.data += '&password='+escape(f.elements['password'].value);
		BaseAjax._xArgs.data += '&year='+escape(f.elements['year'].value);
		BaseAjax._xArgs.data += '&month='+escape(f.elements['month'].value);
		BaseAjax._xArgs.data += '&day='+escape(f.elements['day'].value);	
		BaseAjax._xArgs.data += '&zip='+escape(f.elements['zip'].value);	
		BaseAjax._xArgs.data += '&country='+escape(f.elements['country'].value);
		if(f.elements['male'].checked)
			BaseAjax._xArgs.data += '&gender=m';
		else if(f.elements['female'].checked)
			BaseAjax._xArgs.data += '&gender=f';	
		if(f.elements['newsletter1'].checked)
			BaseAjax._xArgs.data += '&newsletter1=y';
		else
			BaseAjax._xArgs.data += '&newsletter1=n';
		if(f.elements['newsletter2'].checked)
			BaseAjax._xArgs.data += '&newsletter2=y';
		else
			BaseAjax._xArgs.data += '&newsletter2=n';
			
		if(f.elements['declined_info'].checked)
			BaseAjax._xArgs.data += '&declined_info=y';
		else
			BaseAjax._xArgs.data += '&declined_info=n';		

	
	BaseAjax._xArgs.returnDiv = '#return_div';
	
    BaseAjax.makeAjaxCall('/include/lib/user/action.php');
	BaseAjax._xArgs.callBack = BaseAjax.update_callback;
}

BaseAjax.update_callback = function(){	
	enableUpdateForm();	
}

BaseAjax.login = function(){
	f = document.getElementById('login_form');
	
	BaseAjax._xArgs.data = 'a=loginUser';
	BaseAjax._xArgs.data += '&username='+escape(f.elements['username'].value);	
	BaseAjax._xArgs.data += '&password='+escape(f.elements['password'].value);
	BaseAjax._xArgs.returnDiv = '#return_div';
	
	BaseAjax._xArgs.callBack = BaseAjax.login_callback;
	BaseAjax.makeAjaxCall('/include/lib/user/action.php');
}

BaseAjax.login_callback = function(){
	enableLoginForm();

	if (typeof(_xCaptureModuleJS) != "undefined") {// @TODO - CAPTURE - remove this check once login functionality is built into the capture module directly
		if (_xCaptureModuleJS.openLoginFlag) {
			_xCaptureModuleJS.openLoginFlag = false;
			$.scrollTo("#just_captured", 0, { duration:500, onAfter:function () { _xCaptureModuleJS.swapContent("upload"); } });
		}
	}
	
	else if (g_bOpenLoginFlag) {
			g_bOpenLoginFlag = false;
			$.scrollTo("#comments_module", 0, { duration:500, onAfter:function () { $('.comment_box_wrapper').slideDown(400); } });
	}
	else if (g_bArchiveOpenLoginFlag) {
			g_bArchiveOpenLoginFlag = false;
			$.scrollTo("#archive_tabs", 0, { duration:500, onAfter:function () { archiveIssueRedirect(g_nArchiveIssue); } });
			g_nArchiveIssue="";
	}
	
}

BaseAjax.forgot_pass = function(){
	
	f = document.getElementById('forgot_pw_form');

	BaseAjax._xArgs.data = 'a=forgotPassword';
	BaseAjax._xArgs.data += '&email='+escape(f.elements['email'].value);
	
	BaseAjax._xArgs.returnDiv = '#return_div';
	BaseAjax.makeAjaxCall('/include/lib/user/action.php');
}

BaseAjax.newsletterSignup = function(){
	
	f = document.getElementById('newsletter_form');
	
	BaseAjax._xArgs.data = 'a=newsletterSignup';
	BaseAjax._xArgs.data += '&email='+escape(f.elements['email'].value);
	
	if(f.elements['newsletter1'].checked)
		BaseAjax._xArgs.data += '&newsletter1=y';
	else
		BaseAjax._xArgs.data += '&newsletter1=n';
	if(f.elements['newsletter2'].checked)
		BaseAjax._xArgs.data += '&newsletter2=y';
	else
		BaseAjax._xArgs.data += '&newsletter2=n';
	
	BaseAjax._xArgs.returnDiv = '#return_div';
	BaseAjax.makeAjaxCall('/include/lib/user/action.php');
}

BaseAjax.newsletterModuleSignup = function(){
	
	f = document.getElementById('newsletter_module_form');
	
	BaseAjax._xArgs.data = 'a=newsletterModuleSignup';
	BaseAjax._xArgs.data += '&email='+escape(f.elements['email'].value);
	
	if(f.elements['newsletter_module1'].checked)
		BaseAjax._xArgs.data += '&newsletter1=y';
	else
		BaseAjax._xArgs.data += '&newsletter1=n';
	if(f.elements['newsletter_module2'].checked)
		BaseAjax._xArgs.data += '&newsletter2=y';
	else
		BaseAjax._xArgs.data += '&newsletter2=n';
	
	BaseAjax._xArgs.returnDiv = '#return_div';
	BaseAjax.makeAjaxCall('/include/lib/user/action.php');
}