// библиотека мудальной авторизации
// автор - Женя, in bad mood!
var dogAuth = {
   login_url : '/auth.php?ajax_login=1',
   login_url_params : {}, // дополнительные параметры инициализации формы
   formContainer : '',
   loggedIn : false,
   user : {uid: 0},
   // колбэки на успешный вход пользователя - вида function(result)
   loginOkTriggers : [
      // выставляем левую колонку
      function(result) {
         $('#da_userblock_notauthorized').hide()
         $('#da_userblock_nickname').text(result.nickname)
         $('#da_userblock_authorized').show()
      }
   ],

   // показать форму
   init : function(form_container, predefined_login) {
      // уже вошёл - до свидания
      if (dogAuth.loggedIn==true) {
         return false
      }
      // заполнен логин
      if ('undefined'!=typeof(predefined_login)) {
         dogAuth.login_url_params.login=predefined_login
      }
      dogAuth.formContainer = $(form_container)
      // сохраняем позицию скроллбара
      dogAuth.wScrollTopPos = $(window).scrollTop()
      dogAuth.dScrollTopPos = $(document).scrollTop()
      // загружаем форму, устанавливаем обработчики
      $.get(dogAuth.login_url, dogAuth.login_url_params, function(result){
         dogAuth.formContainer.html(result);
         dogAuth._setHandlers();
         $(window).scrollTop(dogAuth.wScrollTopPos);
         $(document).scrollTop(dogAuth.dScrollTopPos);
      })
      return true
   },

init_m : function(form_container, predefined_login) {
      // уже вошёл - до свидания
      if (dogAuth.loggedIn==true) {
         return false
      }
      // заполнен логин
      if ('undefined'!=typeof(predefined_login)) {
         dogAuth.login_url_params.login=predefined_login
      }
      dogAuth.formContainer = $(form_container)
      // сохраняем позицию скроллбара
      dogAuth.wScrollTopPos = $(window).scrollTop()
      dogAuth.dScrollTopPos = $(document).scrollTop()
      // загружаем форму, устанавливаем обработчики
      $.get(dogAuth.login_url, dogAuth.login_url_params, function(result){
         dogAuth.formContainer.html(result);
         dogAuth._setHandlers_m();
         $(window).scrollTop(dogAuth.wScrollTopPos);
         $(document).scrollTop(dogAuth.dScrollTopPos);
      })
      return true
   },

   // устанавливаем обработчики
   _setHandlers : function() {
      // убрать форму
      $("#da_cancel_login").bind('click', function(event){
         event.preventDefault()
         dogAuth.closeForm();
      })

      // показать текст про регистрацию
      $("#da_no_login_link").bind('click', function(event){
         $("#da_no_login_block").slideToggle()
         event.preventDefault()
      })

      // подсказка по логину
      $("#da_login_help").bind('click', function(event) {
         event.preventDefault()
         alert(this.title)
      })

      // позиционирование и фокус
      dogAuth.placeForm()
      $(window).bind('scroll resize', dogAuth.placeForm)
      if ('undefined'==typeof(dogAuth.login_url_params.login)) {
         $('#da_login').focus()
      } else {
         $('#da_pass').focus()
      }

      // собственно главный сабж
      $("#da_login_form").submit(function(event){
         event.preventDefault()
         dogAuth.doLogin()
      })
   },

   // позиционирование диалога по центру
   placeForm: function() {
      if (dogAuth.formContainer.html()!='') {
          dogAuth.formContainer.offset({top: $(window).scrollTop() + Math.round(($(window).height() -dogAuth.formContainer.height())/2), left: Math.round(($(document).width() - dogAuth.formContainer.width())/2)})
      }

   },
	 
	 _setHandlers_m : function() {
      // убрать форму
      $("#da_cancel_login").bind('click', function(event){
         event.preventDefault()
         dogAuth.closeForm();
      })

      // показать текст про регистрацию
      $("#da_no_login_link").bind('click', function(event){
         $("#da_no_login_block").slideToggle()
         event.preventDefault()
      })

      // подсказка по логину
      $("#da_login_help").bind('click', function(event) {
         event.preventDefault()
         alert(this.title)
      })

      // позиционирование и фокус

      // собственно главный сабж
      $("#da_login_form").submit(function(event){
         event.preventDefault()
         dogAuth.doLogin()
      })
   },


   // попытка входа
   doLogin : function() {
      var data = {
         login: $('#da_login').val(),
         pass: $('#da_pass').val(),
         enter: 1
      }
      $.post(dogAuth.login_url, data, dogAuth._parseLoginResult, "json");
   },

   // обработчик ответа сервера на попытку входа
   _parseLoginResult : function(result) {
      //alert ('Ok, uid: ' + result.uid)
      if (result.uid>0) {
         //alert('burning triggers: ' + dogAuth.loginOkTriggers)
         for (i in dogAuth.loginOkTriggers) {
            dogAuth.loginOkTriggers[i](result)
         }
         dogAuth.loggedIn = true
         dogAuth.user = result
         dogAuth.closeForm()
      }
      else {
         $('#da_login_error').show()
      }
   },

   // выход
   loguot : function() {
      alert('not implemented')
   },

   // закрываем форму авторизации нах
   closeForm : function () {
      dogAuth.formContainer.html('')
   }
}

var dogAuth_m = {
   login_url : '/auth_m.php?ajax_login=1',
   login_url_params : {}, // дополнительные параметры инициализации формы
   formContainer : '',
   loggedIn : false,
   user : {uid: 0},
   // колбэки на успешный вход пользователя - вида function(result)
   loginOkTriggers : [
      // выставляем левую колонку
      function(result) {
         $('#da_userblock_notauthorized').hide()
         $('#da_userblock_nickname').text(result.nickname)
         $('#da_userblock_authorized').show()
      }
   ],

   // показать форму
   

	init : function(form_container, predefined_login) {
      // уже вошёл - до свидания
      if (dogAuth_m.loggedIn==true) {
         return false
      }
      // заполнен логин
      if ('undefined'!=typeof(predefined_login)) {
         dogAuth_m.login_url_params.login=predefined_login
      }
      dogAuth_m.formContainer = $(form_container)
      // сохраняем позицию скроллбара
      dogAuth_m.wScrollTopPos = $(window).scrollTop()
      dogAuth_m.dScrollTopPos = $(document).scrollTop()
      // загружаем форму, устанавливаем обработчики
      $.get(dogAuth_m.login_url, dogAuth_m.login_url_params, function(result){
         dogAuth_m.formContainer.html(result);
         dogAuth_m._setHandlers_m();
         $(window).scrollTop(dogAuth_m.wScrollTopPos);
         $(document).scrollTop(dogAuth_m.dScrollTopPos);
      })
      return true
   },

   // устанавливаем обработчики
	 
	 _setHandlers : function() {
      // убрать форму
      $("#da_cancel_login").bind('click', function(event){
         event.preventDefault()
         dogAuth_m.closeForm();
      })

      // показать текст про регистрацию
      $("#da_no_login_link").bind('click', function(event){
         $("#da_no_login_block").slideToggle()
         event.preventDefault()
      })

      // подсказка по логину
      $("#da_login_help").bind('click', function(event) {
         event.preventDefault()
         alert(this.title)
      })

      // позиционирование и фокус

      // собственно главный сабж
      $("#da_login_form").submit(function(event){
         event.preventDefault()
         dogAuth_m.doLogin()
      })
   },


   // попытка входа
   doLogin : function() {
      var data = {
         login: $('#da_login').val(),
         pass: $('#da_pass').val(),
         enter: 1
      }
      $.post(dogAuth_m.login_url, data, dogAuth_m._parseLoginResult, "json");
   },

   // обработчик ответа сервера на попытку входа
   _parseLoginResult : function(result) {
      //alert ('Ok, uid: ' + result.uid)
      if (result.uid>0) {
         //alert('burning triggers: ' + dogAuth.loginOkTriggers)
         for (i in dogAuth_m.loginOkTriggers) {
            dogAuth_m.loginOkTriggers[i](result)
         }
         dogAuth_m.loggedIn = true
         dogAuth_m.user = result
         dogAuth_m.closeForm()
      }
      else {
         $('#da_login_error').show()
      }
   },

   // выход
   loguot : function() {
      alert('not implemented')
   },

   // закрываем форму авторизации нах
   closeForm : function () {
      dogAuth_m.formContainer.html('')
   }
}


