// JavaScript Document
$( document ).ready( function()
{
	// Kill Current Event
	$( '.jq_initiate_login_btn' ).click(
		function()
		{
			//alert( 'hello' );
			
			// Kill Propogation
			return false;
		} );
	
	// Login Lightbox
	$( '#jq_lightbox_login' ).jqm( { trigger : '.jq_initiate_login_btn' } );//.click( function(){ return false; } );
	
	// Submit Form
	$( '#login_form' ).submit(
		function()
		{
			// Success Function
			var loginSuccess =
				function( data )
				{
					// Analyze data
					if( data.substr(0, 1) != '1' )
					{
						// Show Buttons
						$( '.btn_1', '#jq_lightbox_login' ).show();
						$( '.btn_clear', '#jq_lightbox_login' ).show();
						// Hide Loading Bar
						$( '.jq_loading_bar', '#jq_lightbox_login' ).hide();
						
						// Invalid login, please try again
						$( '' ).showAlert( 'a1', data.substr(2, data.length) );
					}
					else
					{
						// Valid Login
						if( typeof action_selected == 'undefined' || action_selected == '' )
							action_selected = 'login';
						
						// Reload Page
						if( reload_logged_in_url == "RELOAD_THIS_HREF" )
							window.location = window.location;
						else
							window.location = 'http://' + location.host + ajax_prefix + reload_logged_in_url + determineURLCode( action_selected );
					}
				}
				
			// Options
			var login_options = { success : loginSuccess, url : 'http://' + location.host + ajax_prefix + $( this ).attr( 'action' ) };
			
			try
			{
				// Hide Buttons
				$( '.btn_1', '#jq_lightbox_login' ).hide();
				$( '.btn_clear', '#jq_lightbox_login' ).hide();
				// Show Loading Bar
				$( '.jq_loading_bar', '#jq_lightbox_login' ).show();
				// Submit with new ajax url
				$( this ).ajaxSubmit( login_options );
			}
			catch( err )
			{
				// Show Loading Bar
				$( '.jq_loading_bar', '#jq_lightbox_login' ).hide();
				$( '.jqmClose' ).click();
				// Alert Error
				alert( "Error Submitting via Ajax\n" + err );	
			}
			
			// Return False
			return false;
		} );

	// Event Handler: jq_login_btn
	$( '#jq_submit_login_btn' ).click(
		function()
		{
			// Validate Form
			if( validateLoginForm() )
			{
				$( '#login_form' ).submit();
			}
			
			// Always return false
			return false;
		} );
	
	// Event Handler: jq_cancel_login_btn
	$( '#jq_cancel_login_btn' ).click(
		function()
		{
			// Clear login form
			clearLoginForm();
			
			// default return
			return false;
		} );

	// Simulate Enter for Email & Password
	$( '#login_password' ).simulateEnter( '#jq_submit_login_btn' );
	
	// Function that determines what code to attach to URL
	var determineURLCode =
		function( action )
		{
			switch( action )
			{
				case 'add_to_favorites':
					return add_favorites_code;
				case 'negotiate':
					return negotiate_code;
				case 'recommend':
					return use_contacts_code;
				case 'ask':
					return ask_question_code;
				case 'login':
					return action;
			}
		}
		
	// Validate Login Form
	var validateLoginForm =
		function()
		{
			var valid = true;
			
			// Email (Username) Validation
			// Email Validation
			if( $( '#login_username' ).val() == '' )
			{
				$( '#login_username' ).showInputError( 'requerido' );
				valid = false;
			}
			else if( !$( '#login_username' ).isValidEmail() )
			{
				$( '#login_username' ).showInputError( 'invalido' );
				valid = false;
			}
			else
				$( '#login_username' ).clearInputError();	// Remove Error
			
			// Password Validation
			if( $( '#login_password' ).val() == '' )
			{
				$( '#login_password' ).showInputError( 'requerido' );
				valid = false;
			}
			else
			{
				// Remove Error
				$( '#login_password' ).clearInputError();
			}
			
			// Return
			return valid;
		}
		
	// Clear Login Form
	var clearLoginForm = 
		function()
		{
			// Clear Form
			$( '#login_form' ).clearForm();
			
			// Remove Warnings
			$( '#login_username' ).clearInputError();
			$( '#login_password' ).clearInputError();
			
			// Hide Make Offer
			$( '#login_remember' ).get( 0 ).checked = false;
		}
} );
