//************************************************
// проверим форму

function testField(o, oErr, rule){
	if(!(rule.test(o.value))){
		oErr.className = "err";
		o.style.background = "#ffe6e6";
		iErr = 1;
	} else {
		oErr.className = "hidden";
		o.style.background = "white";
		iErr = 0;
	}
	return iErr;
}

function validate(){
	oMsg.className = "hidden";
	var iErr = 0;
	
	iErr = testField(oLogin, document.getElementById('err_reg_login'), /^[a-z0-9_]+$/i);
	if(!oPass1.value || !oPass2.value){
		oPass1Err.className = "err";
		oPass1.style.background = "#ffe6e6";
		oPass2.style.background = "#ffe6e6";
		if(!iErr) iErr = 1;
	} else {
		oPass1Err.className = "hidden";
		oPass1.style.background = "white";
		iErr = 0;
	}
	if(oPass1.value != oPass2.value){
		oPass2Err.className = "err";
		oPass1.style.background = "#ffe6e6";
		oPass2.style.background = "#ffe6e6";
		if(!iErr) iErr = 1;
	} else {
		oPass2Err.className = "hidden";
		oPass2.style.background = "white";
		iErr = 0;
	}
	
	err = testField(oEmail, document.getElementById('err_reg_email'), /^[a-z0-9\-\._]+@([a-z0-9\-]+\.)+[a-z]{2,4}$/i);
	if(!iErr) iErr = err;
	err = testField(oCaptcha, document.getElementById('err_captcha'), /^[a-z0-9]{6}$/i);
	if(!iErr) iErr = err;

	if(iErr)
		oSubmit.disabled = 'disabled';
	else 
		oSubmit.disabled = '';
}

oForm = document.getElementById('regform');
oDebug = document.getElementById('debug');
oMsg = document.getElementById('msg');
oSubmit = document.getElementById('submit');
oEmail = document.getElementById('reg_email');
oLogin = document.getElementById('reg_login');
oPass1 = document.getElementById('reg_pass1');
oPass1Err = document.getElementById('err_reg_pass1');
oPass2 = document.getElementById('reg_pass2');
oPass2Err = document.getElementById('err_reg_pass2');

oCaptcha = document.getElementById('captcha');
oCaptchaImg = document.getElementById('img_' + oCaptcha.id);

validate();

//************************************************
// отошлем на сервак

function sendForm(){
	oSubmit.value = 'Пожалуйста, подождите...';
	oSubmit.disabled = true;
	//oEmail.disabled = oLogin.disabled = oPass1.disabled = oPass2.disabled = 'disabled';

	var request = httpRequest();
	var func = function(){
		var xmldoc = request.responseText;
		//oDebug.innerHTML = xmldoc;
		var vars = Ext.decode(xmldoc);
		if(vars.err){
			oSubmit.disabled = '';
			oSubmit.value = 'Зарегистрироваться';
			oMsg.innerHTML = vars.msg;
			oMsg.className = "err";
			if(vars.captcha_reload){
				var tmp_src = oCaptchaImg.getAttribute('tmp_src');
				if(tmp_src){
					oCaptchaImg.setAttribute('src', tmp_src + '?ts=' + Date.now());
				} else {
					oCaptchaImg.setAttribute('tmp_src', oCaptchaImg.getAttribute('src'));
				}
			}
		} else {
			oForm.style.display = 'none';
			/*var inputs = oForm.elements;
			alert(inputs+' '+inputs.length);
			var i;
			for(i in inputs){
				alert('i='+i+' inputs[i] = '+inputs[i] + ' type - '+typeof(inputs[i]));
				if(typeof(inputs[i]) == 'object'){
					alert('ok');
					inputs[i].style.display = 'none';
				}
			}*/
			oMsg.className = "succ";
			oMsg.innerHTML = vars.msg;
		}
	}
	makeRequest(request, func, '/register/do_register/', 'POST', 'JsHttpRequest={"login":"' + oLogin.value + '", "pass":"' + oPass1.value + '", "email":"' + oEmail.value + '", "captcha":"' + oCaptcha.value + '"}');
	return false;
}

