var tmpImageObj1 = new Image();
var tmpImageObj2 = new Image();

AddSafeLoaderCallback(OrderPage_Init);

function OrderPage_Init()
{
	// *** connect events to textboxes
	dojo.connect(dojo.byId('email'), 'onkeyup', OrderPage_EmailKeyPressed);
	dojo.connect(dojo.byId('email_retype'), 'onkeyup', OrderPage_EmailRetypeKeyPressed);
	dojo.connect(dojo.byId('password'), 'onkeyup', OrderPage_PasswordKeyPressed);
	dojo.connect(dojo.byId('password_retype'), 'onkeyup', OrderPage_PasswordRetypeKeyPressed);
	
	dojo.byId('email').value = server_export_data_obj.initial_email_value;
	dojo.byId('email_retype').value = server_export_data_obj.initial_retype_email_value;
	dojo.byId('password').value = server_export_data_obj.initial_password_value;
	dojo.byId('password_retype').value = server_export_data_obj.initial_retype_passowrd_value;
	
	// *** preload images
	tmpImageObj1.src = server_export_data_obj.returning_customer_image_button_src;
	tmpImageObj2.src = server_export_data_obj.new_customer_image_button_src;
	
	// *** make sure the page is displayed as needed
	if(server_export_data_obj.is_current_page_state_returning)
	{
		OrderPage_ShowAsReturningCustomer();
	}
	else
	{
		OrderPage_ShowAsNewCustomer();
	}
}

function OrderPage_ShowAsReturningCustomer()
{
	server_export_data_obj.is_current_page_state_returning = 1;
	
	dojo.byId('order_retype_email_wrapper').style.display = 'none';
	dojo.byId('order_retype_password_wrapper').style.display = 'none';
	dojo.byId('order_login_box').style.backgroundColor = server_export_data_obj.returning_customer_bgcolor;
	dojo.byId('order_login_button_image').src = tmpImageObj1.src;
	dojo.byId('email_status_wrapper').style.display = 'none';
	dojo.byId('password_status_wrapper').style.display = 'none';
	dojo.byId('order_page_toggle_button').innerHTML = server_export_data_obj.returning_customer_sign_up_link;
	dojo.byId('order_page_instructions').innerHTML = server_export_data_obj.returning_customer_order_page_instructions;
	dojo.byId('template_login_email').value = dojo.byId('email').value;
	dojo.byId('template_login_password').value = dojo.byId('password').value;
	dojo.byId('forgot_password_body_link_wrapper').style.display = '';
}

function OrderPage_ShowAsNewCustomer()
{
	server_export_data_obj.is_current_page_state_returning = 0;

	dojo.byId('order_retype_email_wrapper').style.display = '';
	dojo.byId('order_retype_password_wrapper').style.display = '';
	dojo.byId('order_login_box').style.backgroundColor = server_export_data_obj.new_customer_bgcolor;
	dojo.byId('order_login_button_image').src = tmpImageObj2.src;
	dojo.byId('email_status_wrapper').style.display = 'none';
	dojo.byId('password_status_wrapper').style.display = 'none';
	OrderPage_SetInputStatus();
	dojo.byId('order_page_toggle_button').innerHTML = server_export_data_obj.new_customer_already_member_link;
	dojo.byId('order_page_instructions').innerHTML = server_export_data_obj.new_customer_order_page_instructions;
	dojo.byId('forgot_password_body_link_wrapper').style.display = 'none';
}

function OrderPage_ToggleInput()
{
	OrderPage_HideErrorBox();
	if(server_export_data_obj.is_current_page_state_returning)
	{
		OrderPage_ShowAsNewCustomer();
	}
	else
	{
		OrderPage_ShowAsReturningCustomer();
	}
}

function OrderPage_EmailKeyPressed(evt)
{
	OrderPage_SetInputStatus(evt);
	if(server_export_data_obj.is_current_page_state_returning)
		dojo.byId('template_login_email').value = dojo.byId('email').value;
	
	if(evt.keyCode == 13)
		OrderPage_OnFormSubmit();
}
function OrderPage_EmailRetypeKeyPressed(evt)
{
	OrderPage_SetInputStatus(evt);
	if(evt.keyCode == 13)
		OrderPage_OnFormSubmit();

}

function OrderPage_PasswordKeyPressed(evt)
{
	OrderPage_SetInputStatus(evt);
	if(server_export_data_obj.is_current_page_state_returning)
		dojo.byId('template_login_password').value = dojo.byId('password').value;
	if(evt.keyCode == 13)
		OrderPage_OnFormSubmit();

}
function OrderPage_PasswordRetypeKeyPressed(evt)
{
	OrderPage_SetInputStatus(evt);
	if(evt.keyCode == 13)
		OrderPage_OnFormSubmit();

}

function OrderPage_SetInputStatus(evt)
{
	if(dojo.byId('email').value != dojo.byId('email_retype').value)
	{
		dojo.byId('email_status_wrapper').style.visibility = 'visible';
	}
	else
	{
		dojo.byId('email_status_wrapper').style.visibility = 'hidden';
	}

	if(dojo.byId('password').value != dojo.byId('password_retype').value)
	{
		dojo.byId('password_status_wrapper').style.visibility = 'visible';
	}
	else
	{
		dojo.byId('password_status_wrapper').style.visibility = 'hidden';
	}
}

function OrderPage_SubmitReturningUserInput()
{
	try {lb_data_obj.ShowUpperLeft();} catch(e){}
	dojo.xhrPost({
		url: "order.php?ajax=1&login_pgirl=1&",
		form: 'user_input_form',
		handleAs: "json",
		handle: function(data,args)
		{
			console.log(data);
			if(!data.result)
			{
				OrderPage_SetErrorText(server_export_data_obj.main_login_error_string);
				OrderPage_ShowErrorBox();
				try {lb_data_obj.HideUpperLeft();} catch(e){}
			}
			else
			{
				try {lb_data_obj.ShowCenterModal();} catch(e){}
				OrderPage_HideErrorBox();
				
				if(server_export_data_obj.preferred_language_key)
					window.location = 'order_shipping_address.php?set_language_key='+server_export_data_obj.preferred_language_key;
				else
					window.location = 'order_shipping_address.php';
			}
			
		}
	});
}

function OrderPage_SubmitNewUserInput()
{
	try {lb_data_obj.ShowUpperLeft();} catch(e){}
	dojo.xhrPost({
		url: "order.php?ajax=1&new_pgirl=1&",
		form: 'user_input_form',
		handleAs: "json",
		handle: function(data,args)
		{
			var error_message_array = new Array();
			var error_text = '';
			var i = 0;
			console.log(data);
			if(!data.result)
			{
				console.log(data);
				for(i=0; i<data.error_code_array.length; i++)
				{
					if(data.error_code_array[i] == 'email_mismatch')
					{
						 error_message_array.push(server_export_data_obj.email_mismatch_error_string);
					}
					if(data.error_code_array[i] == 'password_mismatch')
					{
						 error_message_array.push(server_export_data_obj.password_mismatch_error_string);
					}
					if(data.error_code_array[i] == 'email_registered' || data.error_code_array[i] == 'email_pw_registered')
					{
						 error_message_array.push(server_export_data_obj.email_exists_error_string);
					}
					if(data.error_code_array[i] == 'invalid_email_format')
					{
						error_message_array.push(server_export_data_obj.email_format_error_string);
					}
					if(data.error_code_array[i] == 'invalid_password_format')
					{
						error_message_array.push(server_export_data_obj.password_format_error_string);
					}
				}
				
				for(i=0; i<error_message_array.length; i++)
				{
					error_text += (i>0?'<br>':'')+error_message_array[i];
				}
				OrderPage_SetErrorText(error_text);
				OrderPage_ShowErrorBox();
				try {lb_data_obj.HideUpperLeft();} catch(e){}
			}
			else
			{
				OrderPage_HideErrorBox();
				try {lb_data_obj.ShowCenterModal();} catch(e){}
				
				if(server_export_data_obj.preferred_language_key)
					window.location = 'order_shipping_address.php?set_language_key='+server_export_data_obj.preferred_language_key;
				else
					window.location = 'order_shipping_address.php';
			}
		}
	});
}

function OrderPage_OnFormSubmit()
{
	OrderPage_HideErrorBox();
	if(server_export_data_obj.is_current_page_state_returning)
		OrderPage_SubmitReturningUserInput();
	else
		OrderPage_SubmitNewUserInput();
}

function OrderPage_ShowErrorBox()
{
	dojo.byId('main_error_box').style.display = '';
}
function OrderPage_HideErrorBox()
{
	dojo.byId('main_error_box').style.display = 'none';
}
function OrderPage_SetErrorText(text)
{
	dojo.byId('main_error_message_wrapper').innerHTML = text;
}
