//  August Chat System
//  Copyright (c) 2000-2009 by August
//  www:  http://www.august4u.net/
//  file: reg.js


function register () {
	if (register.Lock)
		return false
	register.Lock = 1

	function callBack ( res ) {
		$("loading").style.visibility = ""
		$("form").className = $("form").cn
		if (res === false) {
			$("form_txt").innerHTML = "Ошибка соединения."
			$("form_txt").className = "err"
		} else if (res === "ok") {
			$("form").className = "opacity50 " + $("form").cn
			$("form_txt").innerHTML = "На ваш e-mail выслано письмо для активации учетной записи, в течении 24-х часов вы должны подтвердить свою регистрацию."
			$("form_txt").className = "ok"
			form.email.disabled = true
			form.pass1.disabled = true
			form.pass2.disabled = true
			form.captcha.disabled = true
			form.agreement.disabled = true
			return false
		} else {
			res = res.split ("\n")
			if (res [0] === "err") {
				$("form_txt").innerHTML = res [2]
				$("form_txt").className = "err"
				if (res [1] == "captcha") {
					setCaptcha ()
					form.captcha.value = ""
				}
				if (form [res [1]])
					form [res [1]].focus ()
				else {
					form.email.value = ""
					form.pass1.value = ""
					form.pass2.value = ""
					form.agreement.checked = false
				}
			}
		}
		form.reg.disabled = false
		register.Lock = 0
		$("form").c = 0
		return false
	}

	var form = document.forms [0]
	form.reg.disabled = true
	$("form_txt").innerHTML = "&nbsp;"
	$("form").cn = $("form").className
	$("form").className = "opacity50 " + $("form").cn
	$("loading").style.visibility = "visible"

	if (form.email.value.length == 0)
		return callBack ("err\nemail\nВы не ввели E-mail.")
	var ok = passCheck (form.pass1.value, form.pass2.value)
	if (ok == passCheck.ERR_NONE)
		return callBack ("err\npass1\nВы не ввели пароль.")
	if (ok == passCheck.ERR_SHORT)
		return callBack ("err\npass1\nСлишком короткий пароль.")
	if (ok == passCheck.ERR_VALID)
		return callBack ("err\npass1\nНедопустимый пароль.")
	if (ok == passCheck.ERR_MATCH)
		return callBack ("err\npass2\nПароли не совпадают.")
	if (ok == passCheck.ERR_SIMPLE)
		return callBack ("err\npass1\nСлишком простой пароль.")
	var sid = form.getAttribute ("sid")
	try {
		(new xmlHTTP).send ("http.php", "a=reg&email=" + form.email.value.encode () + "&pass=" + form.pass1.value.md5 () + "&captcha=" + form.captcha.value + "&agreement=" + (form.agreement.checked ? 1 : 0) + (sid ? "&sid=" + sid : ""), callBack)
	} catch ( e ) {
		$("form_txt").innerHTML = "Системная ошибка: " + e.message
		$("form_txt").className = "err"
		$("form").className = $("form").cn
		$("loading").style.visibility = ""
		form.reg.disabled = false
	}
	return false
}

function setCaptcha () {
	var sid = document.forms [0].getAttribute ("sid")
	$("captcha").style.display = ""
	$("captcha_img").src = "include/captcha.php?" + (sid ? "sid=" + sid : "") + "&" + Math.round (Math.random () * 1000000)
}

initOnload (function () {
	function keyDown ( e ) {
		var e = e || event
		Enter = e.keyCode == 13
		if (!this.c) {
			$("form_txt").innerHTML = "&nbsp;"
			this.c = 1
		}
		return true
	}
	function submit () {
		var e = Enter
		Enter = 0
		if (e)
			register ()
		else if (FirstSubmit)
			FirstSubmit ()
		return false
	}

	var Enter = 0
	register.Lock = 0
	new Image ().src = "images2/loading.gif"
	$("form").onkeydown = keyDown
	$("form").c = 1
	var form = document.forms [0]
	var FirstSubmit = form.onsubmit
	form.onsubmit = submit
	form.reg.onclick = register
	form.email.focus ()
	if ($("captcha").getAttribute ("s") == 1)
		setCaptcha ()
})

