
$('.sb-login-form').validate(
{
	onfocusout: false,
	onkeyup: false,
	errorPlacement: function(error, form) 
	{
		alert(error.text());
	},
	submitHandler: function(form)
	{
		var sbPwData = $('input[name|=sb-login-password]').val();
		var sbEmailData = $('input[name|=sb-login-email]').val();
		var sbHashData = $.sha1(sbEmailData + $.md5(sbPwData));
		var sbLoginData = 'email=' + sbEmailData + '&hash=' + sbHashData;
		sbLoginFormSubmit(sbHashData, sbLoginData);
		return false;
		sbTSe4mPost(action, params, source);
	}
});

function sbLoginFormSubmit(sbHashData, sbLoginData) 
{
	// Process form data
	$.ajax({  
		url: 'http://songsofjonathanwilson.com/assets/plugins/login/process.php',
		data: sbLoginData,  
		success: function(xml, status, obj) 
		{
			var sbError = $(xml).find('response').find('error').find('message').text();
			if(sbError) 
			{
				alert(sbError);
			}
			else
			{
				// Prepare cookies
				var sbCookieHash = 'sb-auth-' + $.md5('Jonathan Wilson');
				var sbCookieValue = sbHashData;
				// Get values
				$(xml).find('user').children().each(function()
				{
					sbCookieValue += ',' + unescape($(this).text());
				});
				// Set cookies
				if($.cookie(sbCookieHash)) $.cookie(sbCookieHash, null, { path: '/' });
				$.cookie(sbCookieHash, sbCookieValue, { path: '/' });
				window.location.reload();
			}
		}
	});
};

var sbLoginTriggers = $("span.sb-login-trigger").overlay({
	mask: {
		color: '#000000',
		loadSpeed: 100,
		opacity: 0.7	},
	closeOnClick: false
});

function sbLogout()
{
	$.cookie('sb-auth-' + $.md5('Jonathan Wilson'), null, { path: '/' });
	window.location.reload();
}

// Load on document ready since we're dealing with forms
$(document).ready(function() {
	// If Email input is empty, make it say "Email"
	if(!($('input.sb-login-input-em').val())) 
	{
		$('input.sb-login-input-em').val('Email');
	}
	
	// When clicked on, if Email input says "Email", clear it
	$('input.sb-login-input-em').click(function()
		{
			if($(this).val() === 'Email') $(this).val('');
		}
	)
	
	// Bind a change event to the email field
	$('input.sb-login-input-em').change(function()
		{
			// Show Password input if email field changes and password is auto-filled
			if($(this).siblings('input.sb-login-input-pw').val()) 
			{
				$(this).siblings('input.sb-login-input-pw').show();
				$(this).siblings('input.sb-login-input-pwtext').hide();
			}
		}
	)
	
	// If user leaves active Email input area and it's blank, make it say "Email"
	$('input.sb-login-input-em').blur(function()
		{
			if($(this).val() === '') $(this).val('Email');
		}
	)
	
	// If Password input is empty, show text Password input
	if(!$('input.sb-login-input-pw').val()) 
	{
		$('input.sb-login-input-pw').hide();
		$('input.sb-login-input-pwtext').show();
	}
	
	// When leaving password Password input, if it's empty, hide it, show text Password input
	$('input.sb-login-input-pw').blur(function()
		{
			if (!($(this).val()))
			{
				$(this).hide();
				$(this).siblings('input.sb-login-input-pwtext').show();
			}
		}
	)
	
	// When user focuses on text Password input, hide it, show password Password input
	$('input.sb-login-input-pwtext').focus(function()
		{
	            $(this).hide();
	            $(this).siblings('input.sb-login-input-pw').show();
	            $(this).siblings('input.sb-login-input-pw').focus();
		}
	)
});
