var	userID		=	null;
var	userName	=	null;
var onLogin		=	null;
var onLogout	=	null;


// Log da user out
function logoutUser() {
	var oldUser = userID;

	// Reset the user data
	userID		=	null;
	userName	=	null;
	
	// Deliver the event
	if (onLogout != null) onLogout(oldUser);		
	
	// Do the old switcheroo
	$('#yourProfile').html('No user');
	$('#loggedInTopPanel').hide('fast',function() { $('#loginTopPanel').show('fast') });
}

// The error text comes here
function error(text) {
	$('#messageText').html(text);
	$('#messageDialog').overlay().load();
}

// The following functions are used in the progress
function beginProgress(text) {
	$('#progressText').html(text);
	$('#progressDialog').overlay().load();
}

function setProgress(progress) {
}

function endProgress() {
	$('#progressDialog').overlay().close();
}

// Da document is ready (add the button hover state)
$(document).ready(function() {

	// Ajaxify the login form	
	$('#loginForm').ajaxForm({
		dataType: 'json',
		beforeSubmit: function(formData, jqForm, options) {
			$('#loginDialog').overlay().close();
			beginProgress('Logging in');
			return true;
		},
		success: function(response) {
			endProgress();
			if (response.error != null) {
				error(response.error);
			} else {
			    window.location.reload();
			}
		}
	});

    // Create the overlay options
	var overlayOptions = { 
        expose: { 
            color: '#000', 
            loadSpeed: 0, 
            closeSpeed: 0,
            opacity: 0.5 
        },  
        closeOnClick: true, 
        speed: 0,
        fadeInSpeed: 0
    };
    
    
	// Create the overlay
	$('#loginDialog').overlay(overlayOptions);
	$('#messageDialog').overlay(overlayOptions);
				  
	overlayOptions.closeOnClick	=	false;
	$('#progressDialog').overlay(overlayOptions);

	$('.loginButton').click(function() {
		$('#loginDialog').overlay().load();
		return false;
	});
	
	$('#loginSubmit').click(function() {
		$('#loginDialog').overlay().close();
	    $('#loginForm').submit();
		return false;
	});
	
	$('.logoutButton').click(function() {
		beginProgress('Logging out');

		// Load the views
		$.post('/api/postLogout.html', {
			expect: 'json'
		}, function(response) {
			endProgress();
			if (response.success != null) logoutUser();
			else error(response.error);
		}, 'json');
		return false;
	});

	// Handle the download button
    /*
	$('.downloadButton').click(function() {
		if (navigator.appVersion.indexOf("Win") != -1) {
			try {
				pageTracker._trackEvent('Software','Download','Windows');
			} catch(err) {}
			window.location = '/download/files/Animeeple.exe';
		} else if (navigator.appVersion.indexOf("Mac") != -1) {
			try {
				pageTracker._trackEvent('Software', 'Download', 'Mac');
			} catch(err) {}
			window.location = '/download/files/Animeeple.dmg';
		} else {
			error("We're sorry, Animeeple is only available for Windows and OSX");
		}
		return false;
	});
     */

	$('.panel').addClass('dropshadow');
    $('.button').addClass('corner-all');
    $('.panel .header').addClass('corner-top');
	$('form input').addClass('inshadow');
	$('form textarea').addClass('inshadow');				  
});

