/**
 * Класс авторизации
 * @author ilyabazhenov
 */
var Auth = {
    /**
     * Инициализация обработчиков событий
     * @param login_element
     * @param password_element
     * @param form_object
     * @author ilyabazhenov
     */
	init : function(login_element, password_element, form_object, logout_element, type)
    {
        if (form_object)
        {
            form_object.submit( function () 
            {
                switch (type) {
                    case 'zg':
                        Auth.loginzg(login_element.val(), password_element.val());
                        break
                    default:
                        Auth.login(login_element.val(), password_element.val());
                        break
                }
                return false;
            });
        }
        if (logout_element)
        {
            logout_element.click( function () 
			{
                Auth.logout();
                return false;
            });
        }
	},
	login: function(login, password){
        window.top.iframeAdapter.getElement("#auth-form label[for='auth-form-login']").removeClass("label-error");
        window.top.iframeAdapter.getElement("#auth-form label[for='auth-form-password']").removeClass("label-error");
        window.top.iframeAdapter.getElement("#auth-form-password").removeClass("input-error");
        window.top.iframeAdapter.getElement("#auth-form-login").removeClass("input-error");
        if (login!='Логин' && password!='Пароль')
        {
            $.ajax({
                type: "POST",
                url: "/user/login/format/ajax",
                data: "login=" + login + "&password=" + password,
                success: function(msg)
                {
                    if  (msg == 'ok')
                    {
                        $.cookie('auth', 1, {
                            path: '/'
                        });
                        window.top.location.reload();
                    }
                    else
                    {
                        window.top.iframeAdapter.getElement("#auth-form label[for='auth-form-login']").addClass("label-error");
                        window.top.iframeAdapter.getElement("#auth-form label[for='auth-form-password']").addClass("label-error");
                        window.top.iframeAdapter.getElement("#auth-form-password").addClass("input-error");
                        window.top.iframeAdapter.getElement("#auth-form-login").addClass("input-error");
                        shakeUpAuthForm();
                    }
                }
            });
        }
    },
           loginzg: function( phone, password, force){
               
        window.top.iframeAdapter.getElement("#auth-zg-form label[for='auth-zg-form-login']").removeClass("label-error");
        window.top.iframeAdapter.getElement("#auth-zg-form-login").removeClass("input-error");        
        window.top.iframeAdapter.getElement("#auth-zg-form label[for='auth-zg-form-password']").removeClass("label-error");        
        window.top.iframeAdapter.getElement("#auth-zg-form-password").removeClass("input-error");        
        var rel = new RegExp(/[-()/\\\s]/g);    
        var unmaskPhone = phone.replace(rel, "");
       force = force || 0;              
        if (unmaskPhone!='Номертелефона' && password!='Пароль')
        {            
            $.ajax({
                type: "POST",                
                url: "/user/loginzg/format/ajax",
                data: "phone=" + unmaskPhone + "&password=" + password + "&force=" + force,
                dataType: "json",
                success: function(msg)
                {
                    if  (msg.status == 'ok')
                    {
                        $.cookie('auth', 1, {
                            path: '/'
                        });
                        window.top.location.reload();
                    }
                    else
                    {
                        for (key in msg.errors) {
                            if (key == 'smscode') {
                                window.top.$.fancybox({
                                    href:"#zg-register-form", 
                                    title:"Создать новую учетную запись", 
                                    centerOnScroll:true, 
                                    overlayColor:"black", 
                                    overlayOpacity:0.65, 
                                    onComplete: function(){                                        
                                        window.top.iframeAdapter.getElement("#zg-register-form-create").click(function() {
                                           Auth.loginzg(phone, password, 1);
                                           $.fancybox.close();
                                        });
                                        window.top.iframeAdapter.getElement("#zg-register-form-close").click(function() {
                                           $.fancybox.close(); 
                                        });                                        
                                    }
                                });
                            } else if (key == 'wrongphone') {
                                window.top.iframeAdapter.getElement("#auth-zg-form label[for='auth-zg-form-login']").addClass("label-error");
                                window.top.iframeAdapter.getElement("#auth-zg-form-login").addClass("input-error");
                                window.top.iframeAdapter.getElement("#auth-zg-form-login").focus();
                                shakeUpAuthForm();
                            } else if (key == 'wrongpass') {
                                window.top.iframeAdapter.getElement("#auth-zg-form label[for='auth-zg-form-password']").addClass("label-error");
                                window.top.iframeAdapter.getElement("#auth-zg-form-password").addClass("input-error");
                                window.top.iframeAdapter.getElement("#auth-zg-form-password").focus();
                                shakeUpAuthForm();
                            } else if (key == 'nodata') {
                                window.top.iframeAdapter.getElement("#auth-zg-form label[for='auth-zg-form-login']").addClass("label-error");
                                window.top.iframeAdapter.getElement("#auth-zg-form label[for='auth-zg-form-password']").addClass("label-error");
                                window.top.iframeAdapter.getElement("#auth-zg-form-password").addClass("input-error");
                                window.top.iframeAdapter.getElement("#auth-zg-form-login").addClass("input-error");
                                shakeUpAuthForm();
                            }
                        }
                    }
                }
            });
        }
    },     
	logout: function()
    {        
        window.top.Pleer.Pause(true);
    	window.top.location = '/user/logout/';
    	return false;
        $.ajax({
            type: "POST",
            url: "/user/logout/format/ajax",
            data: "logout=still",
            success: function(msg)
            {
                if  (msg != 'no')
                {
                    $.cookie('auth', 0, {path: '/'});
                    //window.top.location = '/';
                }
            }
		});
	}
}
