/* 
 * Плагин авторизации.
 * Содержит все полезные функции для входа в систему
 */

// Основной объект
Vite.login = {};


/**
 * Выход из системы
 * @param e:event Событие
 */
Vite.login.out = function(e) {

	// Очищаем куки
	$.cookie('PID', null, {expires: 14, path: '/'});
	$.cookie('ID', null, {expires: 14, path: '/'});
	$.cookie('PHPSESSID', null, {expires: 14, path: '/'});

	// Уходим на главную страницу
	window.location.href = HOME_URL;

	// Предотвращаем дефолтное действие события, если оно было
	if(e && typeof(e.preventDefault) == 'function') {
		e.preventDefault();
	}

}


/**
 * Контейнер для авторизации через фейсбук
 */
Vite.login.facebook = {};


/**
 * Процедура авторизации через Facebook
 */
Vite.login.facebook.go = function(e) {

	// Bugfix for Opera browser - do not works with flash plugin
	if($.browser.opera) {
		FB.XD._transport="postmessage";
		FB.XD.PostMessage.init();
	}

	FB.login(
		function(response) {

			// Logged in?
			if (response.session) {

				// Пытаемся зарегистрировать/авторизовать пользователя
				Vite.api.send(

					'user', 'facebook',

					{
						token: response.session.access_token,
						uid: Vite.user.id,
						sid: Vite.user.sid
					},

					function(response) {

						// Устанавливаем куки с сессией
						$.cookie('PID', response.sid, {expires: 14, path: '/'});
						$.cookie('ID', response.uid, {expires: 14, path: '/'});

						// Удаляем текущую сессию
						$.cookie('PHPSESSID', null, {expires: 14, path: '/'});

						// Уходим на главный экран
						window.location.href = window.location.href.replace(window.location.hash, '');

					}

				);

			} else {

				// User is not logged in
				return;

			}
		},
		{
			perms:'email'
		}
	);

}

