﻿var defLang = "us";
var langs = ["pl", "us", "de", "ru"];

var MenuLocalization = null;

var Menu = {
	links: ["index.html", "{$}/dyn_biomass.html", "{$}/dyn_agriculture.html", "{$}/dyn_industry.html", "{$}/dyn_quality.html", "dyn_partners.html", "dyn_contact.html"],
	slides: [["#MainBio", 1], ["#MainAgr", 2]],
	
	LoadPage: function (str)
	{
		document.location.href = str;
	},

	LoadDynamicContent: function (str)
	{
		loc = "loc/" + str.replace("dyn_", "");
		
		$.get(loc, function (data)
		{
			$(".panelContainer").removeClass("backgroundFix");
			$(".panelContainer").addClass("backgroundFix");
			$(".panelContainer").css("minHeight", $("#menuPanel").outerHeight());
			$(".panelContainer").html(data);
			
			Menu.Localize();
		});
	},

	Localize: function()
	{
		for (var propertyName in MenuLocalization)
		{
			var propStr = propertyName.toString();
			if (propStr.indexOf("loc_") == 0)
			{
				$("#" + propStr).html(MenuLocalization[propertyName]);
			} 
			else if (propStr.indexOf("locinp_") == 0)
			{
				$("#" + propStr).attr("value", MenuLocalization[propertyName]);
			}
		}

	},
	
	DispatchLink: function (linkCollection, linkIndex)
	{
		var str = linkCollection[linkIndex];
		str = str.replace("{$}", defLang);
		if (str.indexOf("dyn_") > -1) Menu.LoadDynamicContent(str); else Menu.LoadPage(str);
	},

	FindIndexOf: function(txt)
	{
		for (var i = 0; i < MenuLocalization.CategoryItems.length; i++)
		{
			if (MenuLocalization.CategoryItems[i] == txt) return i;
		}
		return -1;
	},
	
	Init: function ()
	{
		var locPath = "loc/" + defLang + "/locale.json";

		$.getJSON(locPath, function (json)
		{
			MenuLocalization = json;
			document.title = MenuLocalization.Title;

			var ul = $("<ul>").appendTo($("#menuPanel"));
			for (var i = 0; i < MenuLocalization.CategoryItems.length; i++)
			{
				var liCtrl = $("<li></li>");
				liCtrl.text(MenuLocalization.CategoryItems[i]);
				liCtrl.attr("hrefId", i);
				liCtrl.click(function() { Requester.MakeRFQ(this); });
				ul.append(liCtrl);
			}

			ul = $("<ul>").appendTo($("#topMenu"));


			for (var i = 0; i < MenuLocalization.TopMenuItems.length; i++)
			{
				var itm = $("<li>");
				itm.text(MenuLocalization.TopMenuItems[i].toUpperCase());
				if (Menu.links.length > i)
				{
					itm.attr("hrefId", i);
//					if (i < 3 || i > 4)
					if (i != 4)
					{
						itm.click(function () { Menu.DispatchLink(Menu.links, $(this).attr("hrefId")); });
						itm.addClass("topItem");
					}
					else
					{
						itm.addClass("topItemDisabled");
					}
					
				}
				ul.append(itm);
			}
			
			for (var propertyName in json)
			{
				var propStr = propertyName.toString();
				if (propStr.indexOf("_") == 0)
				{
					$(propStr.replace("_", "#")).html(json[propertyName]);
				}
			}	
			
		});

		for (var i = 0; i < this.slides.length; i++)
		{
			var currentSlide = this.slides[i];
			var currentId = currentSlide[0];
			var targetIdx = currentSlide[1];
			$(currentId).attr("hrefId", targetIdx);
			$(currentId).click(function () { Menu.DispatchLink(Menu.links, $(this).attr("hrefId")); });
		}
		
		
		
		var flagCtn = $("#flagContainer");
	
		
		for (var i = 0; i < 4; i++)
		{
				var dv = $('<div class="flagClass"></div>').appendTo(flagCtn);
				var xOffset = (i * -60).toString() + "px";
				dv.css("backgroundPosition", xOffset + " 30px");
				dv.attr("idx", xOffset);
				dv.hover(function()
				{
					$(this).css("backgroundPosition", $(this).attr("idx") + " 0");
				}, function()
				{
					$(this).css("backgroundPosition", $(this).attr("idx") + " 30px");
				});
				
				dv.attr("langIdx", i);

				dv.click(function ()
				{
					var langCode = langs[$(this).attr("langIdx")];
					if (langCode == defLang) return;
					$.cookie("langCode", langCode, { path: '/' });
					window.location.reload();
				});
		}
/*
		for (var i = 0; i < 3; i++)
		{
			var d = $("<div>");
			d.addClass("flagClass");
			d.css("backgroundPosition", (i * -50).toString() + "px -27px");
			d.attr("xPos", (i * -50).toString());
			if (i != 2) continue;
			d.hover(function ()
			{
				$(this).css("backgroundPosition", $(this).attr("xPos") + "px 0");
			},
			function ()
			{
				$(this).css("backgroundPosition", $(this).attr("xPos") + "px -27px");
			});

			d.appendTo($("#flagContainer"));
			d.attr("langIdx", i);

			d.click(function ()
			{
				var langCode = langs[$(this).attr("langIdx")];
				if (langCode == defLang) return;
				$.cookie("langCode", langCode, { path: '/' });
				window.location.reload();
			});

		}
		*/

	}
};

$(document).ready(function ()
{
	cLang = $.cookie("langCode");
	if (cLang != null) defLang = cLang;

	Menu.Init();

	$.get('loc/' + defLang + '/about.html', function (data)
	{
		$('.panelContent').html(data);
	});
});
