function ReloadCaptcha() {
	var randomNumber = Math.floor(Math.random( ) * 1000) + 1;
	var image = new Image();
	image.src = projectURL+"captcha/captcha.php?r="+randomNumber+"";
	document.images.captcha.src = image.src;
	return false;
}
var profileChecked = false;
var captchaChecked = false;
var currentForm = 1;
function SignUp(form)
{
	if (currentForm == 1)
	{
		CheckProfile(form);
	}
	if (currentForm == 2)
	{
		CheckCaptcha(form);
	}
}

function CheckProfile(form)
{
	var BDate = form.BYear.value + "-" + form.BMonth.value + "-" + form.BDay.value;
	form.BDate.value = BDate;
	SendRequest({ Action: 'CheckProfile', Nickname: form.Nickname.value, Email: form.Email.value, Password1: form.Password1.value, Password2: form.Password2.value, BDate: BDate});
}

function CheckCaptcha(form)
{
	SendRequest({ Action: 'CheckCaptcha', CaptchaCode: form.CaptchaCode.value});
}

function SendRequest(params)
{
	var form = document.forms.SignUpForm;
	var req = new JsHttpRequest();
	req.onreadystatechange = function()
	{
		if (req.readyState == 4)
		{
			if (req.responseJS)
			{				
				if (req.responseJS['Success'])
				{
					if (params['Action'] == 'CheckProfile')
						profileChecked = true;
					if (params['Action'] == 'CheckCaptcha')
						captchaChecked = true;
					if (profileChecked)
					{
						if (!captchaChecked)
						{
							HideErrors("SignUp");
							if (isIndexPage)
							{
								HideForm1();
								ShowForm2(2);
								form.CaptchaCode.focus();
							}
							else
							{
								CheckCaptcha(form);
							}
						}
						else
							form.submit();
					}
				}
				else
				{
					ShowSignUpErrors(req.responseJS['Errors']);
					if (params['Action'] == 'CheckProfile')
					{
						profileChecked = false;
						captchaChecked = false;
					}
					if (params['Action'] == 'CheckCaptcha')
						captchaChecked = false;
				}
			}
		}
	}
	req.caching = false;
	req.open('POST', projectURL+'ajax/signup.php', true);
	req.send(params);
}

function ShowSignUpErrors(errors)
{
	if (!ShowErrors(errors, "SignUp", true))
	{
		if (profileChecked && !captchaChecked)
		{
			HideForm1();
			ShowForm2();
		}
		HideErrors("SignUp");
	}
}

function ShowForm1(num)
{
	currentForm = num;
	Show('Form1Container');
}

function ShowForm2(num)
{
	currentForm = num;
	Show('Form2Container');
}

function HideForm1()
{
	Hide('Form1Container');
}

function HideForm2()
{
	Hide('Form2Container');
}
