	function showSignUpPage(nextPageNum, pushState)
	{	
		prevPageNum = nextPageNum -1;
		
		// hide all steps, show the next step
		$('.steps').hide();
		$('#step-' + nextPageNum).show();
		
		//complete all steps before the next
		for(i = 1; i < nextPageNum; i++)
			$('#progress #progress-' + i).removeClass('current').addClass('complete');
		
		// set current stage
		$('#progress #progress-' + nextPageNum).addClass('current');

		if(nextPageNum == 1 && $('body').attr('data-loggedin-userid') != '' && $('#signup').length > 0)
		{
			$('.signup').hide();
			$('.login-mobypicture').hide();
			$('#loggedIn').show();
		}
		else if(nextPageNum == 3 && $('body').attr('data-loggedin-userid') != '' && $('#signup').length > 0)
		{
			$('img.siteuserAvatar').attr('src', data.user.avatar);
			$('input[type="text"]#signup-locatione').val($('body').attr('data-loggedin-location'));
			$('textarea#signup-bio').val($('body').attr('data-loggedin-biography'));
			$('input[type="text"]#signup-website').val($('body').attr('data-loggedin-website'));
		}
		
		//push history, so back and reload works on HTML% History compatible browsers
		//if(pushState && history)
			//history.pushState({ page: nextPageNum}, "Signup - step " + nextPageNum, "/signup/step-" + nextPageNum);
	}

	$(document).ready(function()
	{
		$('#main-navigation .button-signup').bind('click', function() 
		{
			if (getCookie('signup-process-step') != undefined && getCookie('signup-process-step').length > 0)
			{
				dialogManager.show('signup');
				$("#dialogs-signup form").keypress(function(e)
				{
				    if (e.which == 13) 
				    {
				    	return false;
				   }
				});
				

				showSignUpPage(getCookie('signup-process-step'), true);
			}
			else
			{
				dialogManager.show('signup');
				$("#dialogs-signup form").keypress(function(e)
				{
				    if (e.which == 13) 
				    {
				    	return false;
				   }
				});

				showSignUpPage(1, true);
			}

			return false;
		});
		
		$('#dialogs-signup.overlay-content #button-close').live('click', function() 
		{
			setCookie('signup-process-step', '');
		});
		
		if (getCookie('signup-process-step') != undefined && getCookie('signup-process-step').length > 0)
		{
			dialogManager.show('signup');
			$("#dialogs-signup form").keypress(function(e)
			{
			    if (e.which == 13) 
			    {
			    	return false;
			   }
			});
			showSignUpPage(getCookie('signup-process-step'), true);
		}
	
		if($('body').attr('data-loggedin-userid') != '' && $('#signup').length > 0)
		{
			if (getCookie('signup-process-step') != undefined && getCookie('signup-process-step').length > 0)
			{
				dialogManager.show('signup');
				$("#dialogs-signup form").keypress(function(e)
				{
				    if (e.which == 13) 
				    {
				    	return false;
				   }
				});
				showSignUpPage(getCookie('signup-process-step'), true);
			}
			
			/*$('#doSignup').hide();
			$('#loggedinIn').show();*/
		}
		
		$('#meetUitleg').bind('click', function() 
		{
			window.open('/opmeten','opmeten', 'width=500,height=300,scrollbars=no,toolbar=no,location=no');
			
			return false;
		});

		$('#dialogs-signup a.login').live('click', function() 
		{
			if($('body').attr('data-loggedin-userid') == '')
			{
				$('.signup').hide();
				$('#loggedIn').hide();
				$('.login-mobypicture').show();
			}

			return false;
		
		});

		$('#dialogs-signup a.signupButton').live('click', function() 
		{
			if($('body').attr('data-loggedin-userid') == '')
			{
				$('.login-mobypicture').hide();
				$('#loggedIn').hide();
				$('.signup').show();
			}

			return false;
		
		});

		$('#dialogs-signup .login.ajax-button').live('click', function() 
		{
			if($('body').attr('data-loggedin-userid') == '')
			{
				$.ajax(
				{
					url: '/ajax',
					dataType: 'json',
					type: 'POST',
					data: {
						'action': 'login',
						'username': $(".overlay-content .loginForm #login-username").val(), 
						'password': $(".overlay-content .loginForm #login-password").val()
					},
					success : function(data)
					{
						if (data.status == 'ok')
						{
							$('body').attr('data-loggedin-userid', data.user.id);
							$('body').attr('data-loggedin-username', data.user.username);
							$('body').attr('data-loggedin-location', data.user.location);
							$('body').attr('data-loggedin-biography', data.user.biography);
							$('body').attr('data-loggedin-website', data.user.website);
							$('body').attr('data-loggedin-avatar', data.user.avatar);
							
							$('img.siteuserAvatar').attr('src', data.user.avatar);
							$('input[type="text"]#signup-locatione').val(data.user.location);
							$('textarea#signup-bio').val(data.user.biography);
							$('input[type="text"]#signup-website').val(data.user.website);
							
							$('#step-1 .login-mobypicture').hide();
							$('#step-1 .signup').hide();
							$('#step-1 #loggedIn').show();
							
							/*
							$('#step-1').hide();
							
							if( $('#signup-elite:checked').val() == '1')
							{
								setCookie('signup-process-step', '2');
								$('#step-2').show();
							}
							else
							{
								setCookie('signup-process-step', '3');
								$('#step-3').show();
								$('#progress-1').removeClass('current');
								$('#progress-3').addClass('current');
							}

							$('#progress-1').addClass('complete');*/
							
							/*if( $('#signup-elite:checked').val() == '1')
								showSignUpPage(2, true);
							else
								showSignUpPage(3, true);*/
						}
						else
						{
							$.each(data.errors, function (index, value)
							{
								//$(".overlay-content #error-input-"+index).html(value);
							});
						}
						
						dialogLoginBusy = false;
					}
				});
			}
			else
			{
				if( $('#signup-elite:checked').val() == '1')
				{
					$('#step-1').hide();
					setCookie('signup-process-step', '2');
					$('#step-2').show();
				}
				else
				{
					$('#step-1').hide();
					$('#step-2').hide();
					setCookie('signup-process-step', '3');
					$('#step-3').show();
					$('#progress-1').removeClass('current');
					$('#progress-3').addClass('current');
				}
			}
		});
		
		$('#dialogs-signup .next-step').live('click', function() 
		{
			pageNum = parseInt($(this).parents('.steps').attr('data-page-num'));
			
			// Handle step 1
			if(pageNum == 1)
			{
				$('#dialogs-signup p.error').remove();
				$('#dialogs-signup .error').removeClass('error');

				//do signup
				if($('body').attr('data-loggedin-userid') == '')
				{
					$.ajax(
					{
						url     : '/ajax',
						dataType: 'json',
						type: 'POST',
						data: {
							'action': 'register',
							'username': $("#dialogs-signup #signup-username").val(),
							'password': $("#dialogs-signup #signup-password").val(),
							'fullname': $("#dialogs-signup #signup-fullname").val(),
							'email': $("#dialogs-signup #signup-email").val(),
							'agree-terms': $("#dialogs-signup #signup-agree-terms").val(),
							'newsletter': $("#dialogs-signup #signup-newsletter").val()
						},
						success : function(data)
						{
							if (data.status == 'ok')
							{
								$('body').attr('data-loggedin-userid', data.user.id);
								$('body').attr('data-loggedin-username', data.user.username);
								$('body').attr('data-loggedin-location', data.user.location);
								$('body').attr('data-loggedin-biography', data.user.biography);
								$('body').attr('data-loggedin-avatar', data.user.avatar);
								
								$('#step-1 .login-mobypicture').hide();
								$('#step-1 .signup').hide();
								$('#step-1 #loggedIn').show();
								
								//$('#step-1').hide();
								
								//if( $('#signup-elite:checked').val() == '1')
								//{
									//setCookie('signup-process-step', '2');
									//$('#step-2').show();
								//}
								//else
								//{

									//setCookie('signup-process-step', '3');
									//$('#step-3').show();
									///$('#progress-1').removeClass('current');
									//$('#progress-3').addClass('current');
								//}

								//$('#progress-1').addClass('complete');
								
								/*
								$('#step-1').hide();
	
								if( $('#signup-elite:checked').val() == '1')
								{
									setCookie('signup-process-step', '2');
									$('#step-2').show();
									$('#step-elite').show();
								}
								else
								{
									setCookie('signup-process-step', '3');
									$('#step-3').show();
									$('#progress-1').removeClass('current');
									$('#progress-3').addClass('current');
								}
								
								$('#progress-1').addClass('complete');*/
							}
							else
							{
								if (data.errors != undefined)
								{
									/*$('#step-1').hide();
									
									if( $('#signup-elite:checked').val() == '1')
									{
										setCookie('signup-process-step', '2');
										$('#step-2').show();
									}
									else
									{
										setCookie('signup-process-step', '3');
										$('#step-3').show();
										$('#progress-1').removeClass('current');
										$('#progress-3').addClass('current');
									}

									$('#progress-1').addClass('complete');*/
											
									$.each(data.errors, function(k, v)
									{
										$("#dialogs-signup #signup-" + k).addClass('error').after('<p class="error">' + v + '</p>');
									});
								}
								else
								{
									//alert('oh noes, I got ze errros: '+data.message);
								}
							}
						}
					});
				}
				// Already loggedin, so proceed with step 2 or step elite
				else 
				{
					$('#step-1').hide();
					
					if( $('#signup-elite:checked').val() == '1')
						showSignUpPage(2, true);
					else
						showSignUpPage(3, true);
				}
			}
			else if(pageNum == 2)
			{
				setCookie('signup-process-step', '2');
				showSignUpPage(3, true);
			}
			else if(pageNum == 3)
			{
				setCookie('signup-process-step', '4');
				$(this).parents('form').submit();
			}
			// Handle step 3
			else if(pageNum == 4) 
			{
				setCookie('signup-process-step', '4');
				showSignUpPage(5, true);
			}
			
			return false;
		});
	});
