$(function(){
	var texts = {
		ru: {
			slogan: 'Бизнес, открытый миру<sup class="reg">&nbsp;&copy;</sup>',
			description: '<span>NL<sup class="reg">&reg;</sup>&nbsp;International</span>Международная торговая марка, под которой в разных странах<br />осуществляют деятельность предприятия прямых продаж,<br />продвигая инновационные и безопасные для человека продукты,<br />призванные улучшать качество жизни',
			choose_lang: 'Выберите страну и язык',
			country: 'Страна',
			lang: 'Язык',
			na: 'Северная<br />Америка',
			eu: 'Европа',
			as: 'Азия',
			copy: 'Copyright &copy;&nbsp;<nobr>2000-2011 NL<sup class="reg">&reg;</sup></nobr> International. Все права защищены.'
		},
		fr: {
			slogan: 'Business ouvert au monde',
			description: '<span>NL<sup class="reg">&reg;</sup>&nbsp;International</span>est une société de vente directe par réseau, présente dans de nombreux pays.<br />Elle commercialise en exclusivité des produits de forme et de bien-être novateurs<br />et performants.',
			choose_lang: 'Choisir pays et&nbsp;langue',
			country: 'Pays',
			lang: 'Langue',
			na: 'Amérique<br />du&nbsp;Nord',
			eu: 'Europe',
			as: 'Asie',
			copy: 'Copyright &copy;&nbsp;<nobr>2000-2011 NL<sup class="reg">&reg;</sup></nobr> International. All rights reserved.'
		},
		en: {
			slogan: 'Open to the world business',
			description: '<span>NL<sup class="reg">&reg;</sup>&nbsp;International</span>International trade mark used by direct selling companies<br />in different countries to promote innovative and safe products,<br />which are intended to improve human life quality.',
			choose_lang: 'Choose country & language',
			country: 'Country',
			lang: 'Language',
			na: 'North<br />America',
			eu: 'Europe',
			as: 'Asia',
			copy: 'Copyright &copy;&nbsp;<nobr>2000-2011 NL<sup class="reg">&reg;</sup></nobr> International. All rights reserved.'
		}
	}
	
    var parselang = function(lang) {
        var s = lang.indexOf('-')
        if ( s > 0 ) {
            lang = lang.substring(0, s);
        }
        return lang
    }
    
    var setlang = function(lang) {
        lang = parselang(lang);
        var t = texts[lang];
        for (var key in t) {
            $(".text-" + key).html(t[key]);
        }
        $('li.sl').removeClass("language-active");
		$('li.sl > a.' + lang).parent().addClass("language-active");
        return false;
    }
    var language = parselang(window.navigator.userLanguage || window.navigator.language);
    setlang(language);
    
    $.ajax({ 
        url: detect_lang_url, 
        dataType: 'jsonp', 
        success: function(data) {
            if ( data['language'] != language ) setlang(data['language']);
        },
        timeout: 3000
    });
        
	$('li.sl a').click(function() {
		return setlang(this.className);
	});

	$(".hov").each(function(){
		var time = 250;
		var hideDelay = 250;
		var hideDelayTimer = null;
		var beingShown = false;
		var shown = false;
		var hov = $(this);
		var lists = hov.find(".lists");
		var zind = hov.css('z-index');
		
		$(hov).mouseover(function(){
			if (hideDelayTimer) clearTimeout(hideDelayTimer);
			if (beingShown || shown) {
				return;
			} else {
				beingShown = true;
				lists.css('display', 'block');
				hov.css('z-index', '10').animate({opacity:1}, time, 'swing', function(){
					beingShown = false;
					shown = true;
				});
			}
			return false;
		}).mouseout(function(){
			if (hideDelayTimer) clearTimeout(hideDelayTimer);
			hideDelayTimer = setTimeout(function(){
				hideDelayTimer = null;
				hov.css('z-index', zind).animate({opacity:0}, time, 'swing', function(){
					shown = false;
					lists.css('display', 'none');
				});
			}, hideDelay);
			return false;
		});
	});
	
	var hidetimer = null;
	$(".hov").hover(function(){
		if (hidetimer) clearTimeout(hidetimer);
		$(".nl-description").animate({opacity:0}, 250, 'swing');
	},
	function(){
		if (hidetimer) clearTimeout(hidetimer);
		hidetimer = setTimeout(function(){
			hidetimer = null;
			$(".nl-description").animate({opacity:1}, 250, 'swing');
		}, 250);
	});
	
	
	$(".seltable dd").each(function(){
		var time = 250;
		var hideDelay = 250;
		var hideDelayTimer = null;
		var beingShown = false;
		var shown = false;
		var hov = $(this);
		var lists = hov.find(".lists");
		var listid = hov.attr("id");
		var mapid = $(".map-" + listid + "-hover");
		var zind = hov.css('z-index');
		
		$(hov).mouseover(function(){
			if (hideDelayTimer) clearTimeout(hideDelayTimer);
			if (beingShown || shown) {
				return;
			} else {
				beingShown = true;
				lists.css('display', 'block');
				lists.css('z-index', '10').animate({opacity:1}, time, 'swing', function(){
					beingShown = false;
					shown = true;
				});
				mapid.animate({opacity:1}, time, 'swing');
			}
			return false;
		}).mouseout(function(){
			if (hideDelayTimer) clearTimeout(hideDelayTimer);
			hideDelayTimer = setTimeout(function(){
				hideDelayTimer = null;
				lists.css('z-index', zind).animate({opacity:0}, time, 'swing', function(){
					shown = false;
					lists.css('display', 'none');
				});
				mapid.animate({opacity:0}, time, 'swing');
			}, hideDelay);
			return false;
		});
	});
});
