var Login = {};

Login.check = function () {
	if ( ! jQuery) {
		setTimeout('Login.check()', 10);
	} else {
		Login.init();
	}
}

Login.init = function () {
	jQuery.noConflict();
	
	// Show/Hide account panels.
	jQuery('.type').show();
	jQuery('#mojologin form#login').parent().parent().toggleClass('active').children('.details').toggle();
	jQuery(".type a.selected").live('click', function() {
		jQuery(this).parent().toggleClass('active').children('.details').toggle();
		return false;
	});
		
	// Submit login form.
	jQuery('#mojologin form#login').submit(function(e) {
		e.preventDefault();
		
		jQuery('#login #response').text('');
					
		jQuery.post( 
			jQuery('#mojologin form#login').attr('action') + 'admin/addons/mojologin/mojologin_ajax', 
			jQuery('#mojologin form#login').serialize(), 
			function(response){
				if ( response.login_status == 'success' ) {
					//window.location.href = window.location.href;   // Refresh the window
					window.location.reload(true);
				} else if ( response.login_status == 'expired' ) {
					alert( 'Sorry this account has expired. Please contact us to arrange renewal.' );
				} else {
					jQuery('#login #response').removeClass('success').text( response.message );
				}
			}, 'json' 
		);
		return false;
	});
	
	// Submit forgotten password form.
	jQuery('#mojologin form#forgot').submit(function(e) {
		e.preventDefault();
		
		jQuery('#forgot #response').text('');
						
		jQuery.post( 
			jQuery('#mojologin form#forgot').attr('action') + 'admin/addons/mojologin/forgotten_password_ajax', 
			jQuery('#mojologin form#forgot').serialize(), 
			function(response){
				if ( response.login_status == 'success' ) {					
					jQuery('#forgot #response').addClass('success').text( response.message );
				} else {
					jQuery('#forgot #response').removeClass('success').text( response.message );
				}
			}, 'json' 
		);
		return false;
	});
	
	// Submit account details form.
	jQuery('#mojologin form#update').submit(function(e) {
		e.preventDefault();
		
		jQuery('#update #response').text('');
				
		jQuery.post( 
			jQuery('#mojologin form#update').attr('action') + 'admin/addons/mojologin/update_details_ajax', 
			jQuery('#mojologin form#update').serialize(), 
			function(response){
				if ( response.result == 'success' ) {					
					jQuery('#update #response').addClass('success').text( response.message );
				} else {
					jQuery('#update #response').removeClass('success').text( response.message );
				}
			}, 'json' 
		);
		return false;
	});
}

setTimeout('Login.check()', 10);


// The approach above is derived from Dan Horrigan's "Equipment" addon for MojoMotor.
// https://github.com/dhorrigan/mojo-equipment
