/**
 * Plugin for checking user authorization
 * and getting user authorization info
 *
 * @author Elena Levadnaya
 * @since sprint11
 */

(function($){

	/**
	 * Top block
	 */
	var topBlock;

	/**
	 *Check user auth and get user auth info
	 */
	var check = function(){
		var auth_cookie = $.cookie('una');
		if(auth_cookie) {
			showUserAuthBlock('');
			return false;
		}
		$.ajax({
			url: '/irr/ajax/check_auth.php?' + Math.random(),
			type: "POST",
			data: ({op:'getinfo'}),
			dataType: 'json',
			success: function(response) {
				if(response.success) {
					if(response.data){
						// User authorized
						var username = response.data;
						showUserAuthBlock(username);
					}
				}else{
					// User not authorized
					showUserAuthBlock('');
				}
			},
			failure: function() {
				showUserAuthBlock('');
			}
		});
		return true;
	};


	/**
	 * Show/hide user auth info
	 */
	function showUserAuthBlock(username){
		var logout = topBlock.find('#userLogout');
		var login = topBlock.find('#userLogin');
		var userareaLink = topBlock.find('#userareaLink');
		var userName = topBlock.find('#userName');

		if(username != ''){
			if(userName) {
				// Show username
				userName.text(username);
			}
			if(logout) {
				// Show logout link
				logout.show();
			}
			if(userareaLink) {
				// Show userarea link
				userareaLink.show();
			}
			if(login) {
				// Hide login link
				login.hide();
			}
		} else {
			if(userName) {
				// Clear username
				userName.text('');
			}
			if(logout) {
				// Hide logout link
				logout.hide();
			}
			if(userareaLink) {
				// Hide userarea link
				userareaLink.hide();
			}
			if(login) {
				// Show login link
				login.show();
			}
		}
	}

	/**
	 * Plugin creator
	 */
	$.fn.checkUserAuth = function() {
		topBlock = $(this);
		return this.each(function() {
			check();
		});
	};
})(jQuery);
