function ajaxFormSubmit(form, response_container_id)
{	
	form.ajaxSubmit({
		target: '#' + response_container_id,
		error: function(XMLHttpRequest, textStatus, errorThrown){ 
			alert('There was an error submitting the information.')
		},
		
		success: function(response){			
			//dcout(response.replace(/</g, '&lt;').replace(/>/g, '&gt;')); 
		}
	});
	
	return false;
}

function ajaxRequest(url, response_container_id, data)
{
	$.post(url, data, function(response)
		{
			$('#' + response_container_id).html(response); 
		});
}

function show_login_form()
{
	$('#lightbox_background').fadeIn(500);
	$('#login_container').fadeIn(500, function(){$('#login_form_username').focus();});	
}

function hide_login_form()
{	
	$('#lightbox_background').fadeOut(250);
	$('#login_container').fadeOut(250);
}

function show_forgot_password_form()
{
	hide_login_form();
	$('#lightbox_background').fadeIn(500);
	$('#forgot_password_container').fadeIn(500, function(){$('#forgot_password_email').focus();});	
}

function hide_forgot_password_form()
{
	$('#lightbox_background').fadeOut(250);
	$('#forgot_password_container').fadeOut(250);
}

function show_registration_form()
{
	get_captcha();
	$('#lightbox_background').fadeIn(500);
	$('#registration_container').fadeIn(500, function(){$('#registration_form_first_name').focus();});	
}

function hide_registration_form()
{	
	$('#lightbox_background').fadeOut(250);
	$('#registration_container').fadeOut(250);
}

function registration_connect_to_facebook()
{
	facebook_uid = FB.Connect.get_loggedInUser();
	$('#registration_facebook_uid').val(facebook_uid);	
	    
    facebook.users_getInfo([facebook.get_session().uid], ['first_name', 'last_name'], function(result, exception) {    	    	
    	$('#registration_facebook_button').html(result[0]['first_name'] + ' ' + result[0]['last_name']);
    });
}

function login_via_facebook()
{
	$('#login_via_facebook_feedback').html('Please wait...');
	facebook_uid = FB.Connect.get_loggedInUser();
	
	ajaxRequest('/users/login_via_facebook/' + facebook_uid, 'login_via_facebook_feedback');
	
	if(!$('#login_container').visible)
	{
		show_login_form();
	}
}

function get_captcha()
{
	ajaxRequest('/users/get_captcha', 'captcha');
}

$(document).ready(function()
{
	$('#subpage_container').css('minHeight', $(window).height());

	// enable ratings
	$('.rating_star').rating({
		callback: function(value, link)
		{				
			this.form.onsubmit();
		}
	});
	
	// preload the user form backgrounds
	new Image().src = "/images/layout/login_background.png";
	new Image().src = "/images/layout/registration_background.png";
	new Image().src = "/images/layout/forgot_password_background.png";
	
	// keep the user forms correctly positioned
	$(window).scroll(function() 
	{
		$('#lightbox_background').css('top', $(window).scrollTop() + "px");	
		$('#login_container').css('top', (25 + $(window).scrollTop()) + "px");
		$('#registration_container').css('top', (25 + $(window).scrollTop()) + "px");
		$('#forgot_password_container').css('top', (25 + $(window).scrollTop()) + "px");
	});
	
    FB_RequireFeatures(['Api', 'Integration'], function() {        
        FB.Facebook.init("4b11de16a18c4ee5054cde4489892d32", "xd_receiver.htm");
        window.facebook = FB.Facebook.apiClient;
    });	
});

