var Login = {};
Login.shownErrors = [];

window.clearInterval(Browser.pingTimeout);
Browser.pingTimeout = window.setInterval("Browser.ping()", 15*1000);

$(function(){
	var cnt = document.getElementById("recaptcha_container");
	if (cnt){
		Recaptcha.create(document.getElementById("recaptcha_key").value,
			"recaptcha_container", {
   				theme: "clean",
   				lang: 'ru'   				
   			}
   		);
   	}
});

$(function(){
	try {
		$("#accordion").accordion();
	} catch(e){};
});

Login.register = function(form){
	if ($('#rules').val() == 'on'){
		Login.hideError('rules', 'Вы должны согласиться с правилами');
		Ajax.ajaxCall("login", "register", Browser.serializeForm(form), Login._register);
	}
	else
		Login.showError('rules', 'Вы должны согласиться с правилами');
};

Login.showError = function(name, error, isOk){
	var node = $('#'+name+'_error');
	node.html(error);
	if (isOk)
		node.attr("class", "ok");
	else
		node.attr("class", "error");
	Login.shownErrors[Login.shownErrors.length] = name;
};

Login.hideError = function(name){
	$('#'+name+'_error').html("");
};

Login._register = function(req, form){
    var xml = req.responseXML;
    var errors = Ajax.selectNodes(xml, null, '/response/error');
    for (var i=0; i<Login.shownErrors.length; i++)
    	Login.hideError(Login.shownErrors[i]);
    Login.shownErrors = [];
	for (var i=0; i<errors.length; i++){
		var error = errors[i];
		var name = error.getAttribute("name");
		Login.showError(name, error.getAttribute("value"));
	}
};

Login.login = function(form){
	Ajax.ajaxCall("login", "login", Browser.serializeForm(form), Login._login);
};

Login._login = function(req){
	var xml = req.responseXML;
    var success = Ajax.selectNodes(xml, null, '/response/successful')[0].firstChild.nodeValue;
    if (success = 'false')
    	alert('неправильно!');
};

Login.remember = function(form, type){
	Ajax.ajaxCall("remember", "remember" + type, Browser.serializeForm(form), Assistance.checkSuccess, 
		function(){ alert('Письмо с указаниями для восстановления пароля отправлено.'); },
		function(){ alert('Указаны неверные данные.'); });
};

Login.changePass = function(form){
	Ajax.ajaxCall("change_pass", "change_pass", Browser.serializeForm(form), Assistance._submitForm,
		function(){ $("form").hide(); $("#success_message").show(); });
};