﻿var SwedishLaplandAgent = {};
SwedishLaplandAgent.baseUrl = "http://www.swedishlapland.com";
SwedishLaplandAgent.appPath = "/se/meetapp/";
SwedishLaplandAgent.agentId = "28e6021b6ff24f3d73c7d284fdd1b5b2";
SwedishLaplandAgent.agentName = "stureplan-se";
SwedishLaplandAgent.jQuery = jQuery.noConflict(true);
SwedishLaplandAgent.debug = false;
SwedishLaplandAgent.log = function (s) {
	if (console && console.log) console.log(s);
};

var _gaq = _gaq || [];

(function () {
	var sla_ga = document.createElement('script'); sla_ga.type = 'text/javascript'; sla_ga.async = true;
	sla_ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
	var sla_s = document.getElementsByTagName('script')[0]; sla_s.parentNode.insertBefore(sla_ga, sla_s);
})();

(function (sla) {

	var $ = sla.jQuery;

	$(document).ready(function () {
		$("<link />").attr({
			rel: "stylesheet",
			type: "text/css",
			href: sla.baseUrl + "/agent/css/" + sla.agentName + ".css"
		}).appendTo("head");
	});

	$.getScript(sla.baseUrl + "/agent/agent-1.2.js", function () {
		sla.open = function () {

			_gaq.push(['sla._setAccount', 'UA-20654024-10']);
			_gaq.push(['sla._setDomainName', 'none']);
			_gaq.push(['sla._setAllowHash', false]);
			_gaq.push(['sla._setAllowLinker', true]);
			_gaq.push(['sla._trackPageview']);

			sla.api.showOverlay();

			sla.api.getOverlayBlock()
				.css({ opacity: 0.8 })
				.click(sla.api.hideOverlay);

			sla.api.getOverlayContainer()
				.append($("<img />")
					.hide()
					.load(function () {
						$(this).show();
					})
					.attr({ alt: "Laddar", src: SwedishLaplandAgent.baseUrl + "/agent/images/" + SwedishLaplandAgent.agentName + "/loader.gif" })
				);

			sla.api.getTmpl(function (template) {
				sla.api.getAppData(function (data) {
					setTimeout(function () {

						var c = $(template).tmpl(data, {
							renderImage: function (image, caption) {
								return "<img alt=\"" + caption + "\"src=\"" + image + "\"/>";
							}
						});

						sla.api.getOverlayContainer().empty();
						c.appendTo(sla.api.getOverlayContainer());

						var d = data;
						var activeSlideIndex = -1;
						var activeSlide = null;

						sla.api.getOverlayContainer().find(".more").click(function () {

							var t = $(this);

							if (t.hasClass("subnav")) {
								t.parent().parent().parent().parent().find("li a").each(function (i, item) {
									var a = $(item);

									a.removeClass("active");

									if (a.text().substring(0, 1) == "›")
										a.text(a.html().substring(2));
										
									if (a.text() == t.text()) {
										activeSlideIndex = a.attr("rel").substring(2);
									}
										
								});

								t.addClass("active").text("› " + t.text());
								
								t = t.parent().parent().parent().find("a");
							}

							var id = t.attr("rel").substring(2);

							var data = sla.api.getObjectById(d, id);

							$("#swedishLaplandAgentMoreContent").empty();

							if (t.hasClass("push")) {
								_gaq.push(['sla._trackEvent', data.heading + ' (article)', data.heading  + ' (open)']);
								$("#swedishLaplandAgentMoreContent").html(data.body);
								$("#swedishLaplandAgentMore").show();
								return false;
							}

							var ul = $("<ul />").attr("id", "swedishLaplandAgentMoreGallery");

							$(data.slides).each(function (i, item) {
								
								if (activeSlideIndex != i)
									return;

								activeSlide = item;
								
								$(item.images).each(function(j, image) {

									var li = $("<li />");

									if (item.imageLink == null || item.imageLink.length == 0) {
										li.append($("<img />").attr("src", image).attr("width", 660));
										li.append($("<h4 />").text(item.imageCaption));
									}
									else {
										var a = $("<a />").attr("href", item.imageLink);
										a.append($("<img />").attr("src", image).attr("width", 660));
										li.append(a);
										li.append($("<h4 />").text(item.imageCaption));
									}

									if ((item.priceHeading != null && item.priceHeading.length > 0) || (item.priceField != null && item.priceField.length > 0)) {

										var div = $("<div />").addClass("price");

										if (item.priceHeading != null && item.priceHeading.length > 0) {
											div.append($("<p />").addClass("heading").text(item.priceHeading));
										}
										if (item.priceField != null && item.priceField.length > 0) {
											div.append($("<p />").text(item.priceField));
										}

										li.append(div);
									}

									li.addClass("active");

									ul.append(li);
								});
									
								_gaq.push(['sla._trackEvent', t.text().substring(2) + ' (package)', item.pageName +  ' (open)']);
							});

							$("#swedishLaplandAgentMoreContent").append(ul);
							
							if (activeSlide.images != null && activeSlide.images.length > 1) {
								ul = $("<ul />").attr("id", "swedishLaplandAgentMoreGalleryPager");

								$(activeSlide.images).each(function (i) {
									var li = $("<li />");

									if (i == 0) li.addClass("active");

									li.append($("<a />").attr("href", "#").text(i + 1).click(function () {
										$("#swedishLaplandAgentMoreGallery li:visible").fadeOut().removeClass("active");
										$("#swedishLaplandAgentMoreGalleryPager li").removeClass("active");
										$("#swedishLaplandAgentMoreGallery li").eq(i).fadeIn().addClass("active");
										$("#swedishLaplandAgentMoreGalleryPager > li").eq(i).addClass("active");
									}));

									ul.append(li);
								});

								var div = $("<div />").attr("id", "swedishLaplandAgentMoreGalleryPagerContainer").append($("<div />").append(ul));
								$("#swedishLaplandAgentMoreContent").append(div);
							}

							ul = $("<ul />").attr("id", "swedishLaplandAgentMoreGalleryContent");

							var li = $("<li />").addClass("active");

							if ((activeSlide.moreInfoLink == null || activeSlide.moreInfoLink.length == 0 || activeSlide.moreInfoLinkText == null || activeSlide.moreInfoLinkText.length == 0) && (activeSlide.facts == null || activeSlide.facts.length == 0)) {
								li.html(activeSlide.body);
							} else {
								li.append($("<div />").attr("id", "swedishLaplandAgentMoreGalleryContentLeftCol").html(activeSlide.body));

								var leftCol = $("<div />").attr("id", "swedishLaplandAgentMoreGalleryContentRightCol");
								var hasFacts = false;

								if ((activeSlide.facts != null && activeSlide.facts.length > 0)) {
									leftCol.html(activeSlide.facts);
									hasFacts = true;
								}

								if ((activeSlide.moreInfoLink != null && activeSlide.moreInfoLink.length > 0) && (activeSlide.moreInfoLinkText != null && activeSlide.moreInfoLinkText.length > 0)) {
									var a = $("<a />").addClass("more").attr("href", activeSlide.moreInfoLink).html(activeSlide.moreInfoLinkText);

									if (hasFacts) leftCol.append("<br />");

									a.click(function () {
										var pa = $("#packages li a.active").text().substring(2);
										_gaq.push(['sla._trackEvent', pa + ' (package)', data.slides[i].pageName + ' (more)']);
									});

									leftCol.append(a);
								}

								li.append(leftCol);
							}


							li.find("a").each(function (i, item) {
								var a = $(item);

								var match = /#(\d+)/i.exec(a.attr("href"));

								if (match != null) {
									a.click(function () {
										$("#swedishLaplandAgentMoreGalleryPager li a").eq(parseInt(match[1]) - 1).trigger("click");
										return false;
									});
								}
							});

							ul.append(li);

							$("#swedishLaplandAgentMoreContent").append(ul);

							$("#swedishLaplandAgentMore").show();
						});

						$("#swedishLaplandAgentMore .back").click(function () {
							$("#swedishLaplandAgentMore").hide();

							$("#packages li a").each(function (i, item) {
								var a = $(item);
								a.removeClass("active");
								if (a.text().substring(0, 1) == "›")
									a.text(a.html().substring(2));
							});
						});

						$("#swedishLaplandAgentClose").click(sla.api.hideOverlay);

						sla.startMediaInterval = function () {
							sla.mediaInterval = setInterval(function () {
								$("#swedishLaplandAgentMediaNavigation .next a").trigger("click");
							}, 5000);
						};

						sla.startMediaInterval();

						$("#swedishLaplandAgentMediaNavigation .next a").click(function () {
							clearInterval(sla.mediaInterval);
							sla.startMediaInterval();

							var items = sla.api.getToggleMediaItems("#swedishLaplandAgentMediaList li");
							items.current.fadeOut().removeClass("active");
							items.next.fadeIn().addClass("active");
							return false;
						});

						$("#swedishLaplandAgentMediaNavigation .prev a").click(function () {
							clearInterval(sla.mediaInterval);
							sla.startMediaInterval();

							var items = sla.api.getToggleMediaItems("#swedishLaplandAgentMediaList li");
							items.current.fadeOut().removeClass("active");
							items.prev.fadeIn().addClass("active");
							return false;
						});

						sla.api.windowResize(true);
					}, 200);
				});
			});
		};
	});
})(SwedishLaplandAgent);
