$( document ).ready( function() {
	$( '#landlord_form' ).ajaxForm( {
		url: $( '#landlord_form' ).attr('action'),
		type: 'post',
		dataType: 'json',
		beforeSend: function( request )
		{
			_hideMessages( 'landlord' );
			_showLoader();
			return true;
		},
		success: function( response, textStatus )
		{
			_hideLoader();
			_showMessages( 'landlord', response, true );
		},
		error: function( request, textStatus, errorThrown )
		{
			_hideLoader();
			alert( "Sorry, an error occurred while sending the AJAX request. Please try again later." );
		}
	} );
	$( '#tenant_form' ).ajaxForm( {
		url: $( '#tenant_form' ).attr('action'),
		type: 'post',
		dataType: 'json',
		beforeSend: function( request )
		{
			_hideMessages( 'tenant' );
			_showLoader();
			return true;
		},
		success: function( response, textStatus )
		{
			_showMessages( 'tenant', response, true );
			_hideLoader();
		},
		error: function( request, textStatus, errorThrown )
		{
			_hideLoader();
			alert( "Sorry, an error occurred while sending the AJAX request. Please try again later." );
		}
	} );
	
	$( '#login1' ).popup( 'landlord' );
	$( '#login2' ).popup( 'tenant' );
	
	$( '#landlord_forgot_form' ).ajaxForm( {
		url: $( '#landlord_forgot_form' ).attr('action'),
		type: 'post',
		dataType: 'json',
		beforeSend: function( request )
		{
			_hideMessages( 'landlord_forgot' );
			_showLoader();
			return true;
		},
		success: function( response, textStatus )
		{
			_hideLoader();
			_showMessages( 'landlord_forgot', response, false );
		},
		error: function( request, textStatus, errorThrown )
		{
			_hideLoader();
			alert( "Sorry, an error occurred while sending the AJAX request. Please try again later." );
		}
	} );
	$( '#tenant_forgot_form' ).ajaxForm( {
		url: $( '#tenant_forgot_form' ).attr('action'),
		type: 'post',
		dataType: 'json',
		beforeSend: function( request )
		{
			_hideMessages( 'tenant_forgot' );
			_showLoader();
			return true;
		},
		success: function( response, textStatus )
		{
			_showMessages( 'tenant_forgot', response, false );
			_hideLoader();
		},
		error: function( request, textStatus, errorThrown )
		{
			_hideLoader();
			alert( "Sorry, an error occurred while sending the AJAX request. Please try again later." );
		}
	} );
	
	$.popup( 'landlord_forgot' );
	$( '#forgot1' ).click( function() {
		$.popuphide( 'landlord' );
		$.popupdisplay( 'landlord_forgot' );
	});
	$.popup( 'tenant_forgot' );
	$( '#forgot2' ).click( function() {
		$.popuphide( 'tenant' );
		$.popupdisplay( 'tenant_forgot' );
	});
	
	$.popup( 'alert' );
} );

function _showMessages( id, data, redirect )
{
	if ( data.success && redirect )
	{
		window.location = data.message;
	}
	else if ( data.success )
	{
		$.popuphide( id );
		$( '#' + id + '_form' ).resetForm();
		$( '#alert_content' ).text( data.message );
		$.popupdisplay( 'alert' );
	}
	else
	{
		$( '.' + id + '_error' ).html( data.message );
		$( '#' + id + '_form' ).resetForm();
	}
}

function _hideMessages( id )
{
	$( '.' + id + '_error' ).empty();
}

function _showLoader()
{
	$( '#ajax-loader' ).css( {
		'top': $( document ).scrollTop(),
		'padding-top': Math.round( ( $( window ).height() - 100 ) / 2 ) + 'px',
		'display': 'block'
	} );
}

function _hideLoader()
{
	$( '#ajax-loader' ).css( 'display', 'none' );
}