/**
 * Plugin for region selection popup
 *
 * @author Elena Levadnaya
 * @since sprint11
 */

(function($){

	/**
	 * Region popup
	 */
	var popupRegion;

	/**
	 * Show popup
	 */
	var showPopap = function(){
		if(popupRegion.css('display') == 'none') {
			var parentOffset = $(this).offset();
			popupRegion.show();
			popupRegion.offset({ top: parentOffset.top + 19, left: parentOffset.left });
			toggleMask();
		}
		return false;
	};

	/**
	 * Close region popup
	 */
	var closePopup = function(){
		popupRegion.hide();
		toggleMask(false);
		return false;
	};

	/**
	 * Select region in region popup (not submit region selection)
	 */
	var selectRegion = function(){
		popupRegion.find('li.act').removeClass('act');
		$(this).parent('li').addClass('act');
		var title = $(this).attr('attr_title');
		popupRegion.find('#selectedPopupRegion').text(title);
		return false;
	};

	/**
	 * Set user region cookie and change current location
	 */
	var setUserRegion = function(){
			var path = $(this).attr('attr_path');
			var selected_region = popupRegion.find('li.act');
			var region_label = selected_region.attr('id').split('_');
			region_label = region_label[1];
			setCookie('user_region_uid', region_label, 365);
			if(region_label == 'minsk') {
				region_label = '';
			} else {
				region_label += '.';
			}
			document.location = 'http://' + region_label + path;
	};

	/**
	 * Plugin creator
	 */
	$.fn.region = function(popupSelector) {
		popupRegion = $(popupSelector);
		return this.each(function() {
			$(this).click(showPopap);
			popupRegion.find('li>a').click(selectRegion);
			popupRegion.find('#setUserRegion').click(setUserRegion);
			popupRegion.find('#closeRegionPopup').click(closePopup);
		});
	};
})(jQuery);
