/* Выпадающий блок
 ---------------------------------------- */

$(function($) {
    $.fn.dropDown = function(options) {

        var settings = {
            close:'.close'
        };

		var langs = {
			"ru": "Русский",
			"us": "English",
			"en": "English",
			"pl": "Polski",
			"hu": "Magyar",
			"id": "Bahasa Indonesia",
			"pt": "Português",
			"es": "Español",
			"ua": "Українською",
			"tr": "Türkçe"
		}

		var getFromGet = function(name) {
			var getStr = location.search;
			if (getStr.indexOf(name) != -1) {
				var i1 = getStr.indexOf(name + "=") + (name + "=").length;
				var i2 = getStr.indexOf("&", i1);
				if (i2 == -1) i2 = getStr.length;
				return getStr.substring(i1,i2);
			} else {
				return null;
			}
		}

		var getCookie = function(name) {
			var cookies = document.cookie.split(";"),
				nameEQ = name + "=",
				c, i, l;
			for(i = 0, l = cookies.length; i < l; i++) {
				c = cookies[i];
				while (c.charAt(0) === ' ') c = c.substring(1, c.length);
				if (c.indexOf(nameEQ) === 0) return c.substring(nameEQ.length,c.length);
			}
			return null;
		};

		var setCookie = function(c_name,value,exdays) {
			var exdate=new Date();
			exdate.setDate(exdate.getDate() + exdays);
			var c_value=escape(value) + ((exdays==null) ? "" : "; expires="+exdate.toUTCString());
			document.cookie=c_name + "=" + c_value;
		}

		var checkLangs = function(val) {
			if (langs.hasOwnProperty(val)) return val;
			else return null;
		}

        return this.each(function() {
            if (options) $.extend(settings, options);

            // elements
            var self = $(this),
            	container = self.parents(".b-drdown:first"),
            	dropdown = self.parents(".b-drdown:first").find(".b-drdown__options"),
				domainArr = document.domain.split("."),
				pageLanguage = domainArr[domainArr.length - 1];

			pageLanguage = checkLangs(getFromGet("lang")) || checkLangs(getCookie("ALAWAR_PARTNER_LANG")) ||
					checkLangs(pageLanguage) || "us";

			if (pageLanguage === "en" || pageLanguage === "com") pageLanguage = "us";

			setCookie("ALAWAR_PARTNER_LANG", pageLanguage);
			
            // init
            dropdown.hide();

			// select current language in list, assign cookie set on element click
			dropdown.find("a").each(function() {
				var iconClass = $(this).find("span")[0].className,
					langCode = iconClass.substr(iconClass.length - 2);

				if (pageLanguage === langCode) {
					$(this).addClass('b-drdown__options__item_active');
					this.removeAttribute("href");
					this.onclick = function() { return false; };
					var flag = self.find('span').addClass("b-icon_flag_" + langCode);
					self.text(langs[langCode]).prepend(flag);
				}
			});
			

            // events
            container.add(dropdown.find(settings.close)).click(function() {
                if (dropdown.is(':visible')) {
                    close();
                } else {
                    dropdown.fadeIn('fast');
                    container.addClass('b-drdown_open');
                    $(".b-drdown").css('z-index', '');
                    container.css('z-index', '999');
                }
                return false;
            });

            dropdown.click(function(e) {
                e.stopPropagation();
            });

            $(document).click(
                function(e) {
                    close();
                }).keydown(function(e) {
                    if (e.keyCode == 27) close();
                });

            function close() {
                if (dropdown.is(':visible')) dropdown.hide();
                container.removeClass('b-drdown_open');
            }
        });

    };
    $('.b-drdown__trigger').dropDown({});
});

