//-- ovewrite function from goodwrench_common.js
function loadArticlesVideo() {
	var scope = null;
}

var SeasonalOffers = {};
SeasonalOffers = {
	hash		: "",
	selector	: "",

	getHash		: function () {
		this.hash = (location.hash === "") ? "#western" : location.hash;
	},

	setSelector : function () {
		var io = this.hash.indexOf("-"); 
		if (io === -1) this.selector = this.hash.substring(1, this.hash.length);
			else this.selector = this.hash.substring(1, io);
	},

	updateRegion: function () {
		this.setSelector();
		this.showRegion();
		this.showProducts();
		this.showGMOffers();
		this.showLegal();
	},

	hideRegion	: function () {
		var li = $('ul.region-list li.' + this.selector);
		li.find("a").removeClass("active");

		var details = $('ul.region-details li.' + this.selector);
		details.hide();
	},

	showRegion	: function () {
		var li = $('ul.region-list li.' + this.selector);
		li.find("a").addClass("active");

		var details = $('ul.region-details li.' + this.selector);
		details.show();
	},

	addHandlers	: function () {
		//-- Select Your Region
		$('ul.region-list li a').each(function (idx) {
			var node = $(this);
			node.bind('click', function (evt) {
			//Western Canada Exceptional
			$('#hero').show();
			$('.region-header').next().show();
	
				SeasonalOffers.hideRegion();

				var hash = $(this).attr("href");
				SeasonalOffers.hash = hash;
				SeasonalOffers.setSelector();
				SeasonalOffers.updateRegion();
			});
		});
	},

	showProducts : function () {
		var target = $("div#Offers");
		target.html("");

		var obj = SeasonalOffersData[this.selector].products;
		var count = 0;
		var region = null;
		for (region in obj) {
			count++;
			var data = obj[region];
			var html = [];

			//-- ensure there's actual data
			if (data.title !== "") {
				var last_column = (count%3) ? "" : " last-column";

                var num_lines = "";
				if (data.title_lines === "2") num_lines = " class='twolines'"; 
				if (data.title_lines === "3") num_lines = " class='threelines'"; 

				var target_window = (data.url.indexOf('http') === -1) ? "_self" : "_blank";
				var html = [
					['<div class="bx' + last_column + '">'],
					['<h3' + num_lines + '>' + unescape(data.title) + '</h3>'],
					['<img src="/images/maintenance/goodwrench/seasonal_offers/' + data.image + '" />'],
					['<div class="desc">'],
						['<span class="install">' + data.price_header + '</span>'],
						['<span class="price">'],
							['<span class="currency">$</span>' + data.price + '<span class="note">' + unescape(data.price_note) + '</span>'],
						['</span>'],
						['<span class="more">' + data.more + '</span>'],
					['</div>'],
					['<a class="cta" href="' + data.url + '" target="' +  target_window  + '">' + data.cta + '</a>'],
					['</div>']
				];
			}
			else
			{
				//-- check if we're only displaying an image
				if (data.title === "" && data.image !== "") {
					var last_column = (count%3) ? "" : " last-column";
					var target_window = (data.url.indexOf('http') === -1) ? "_self" : "_blank";
					var html = [
						['<div class="bx' + last_column + '">'],
						['<a href="' + data.url + '"><img src="/images/maintenance/goodwrench/seasonal_offers/' + data.image + '" /></a>'],
						['</div>']
					];
				}
			}

			//-- dont output anything if there's no data
			if (html.length !== 0) {
				var html_str = html.join("");
				target.append(html_str);
			}
		}
	},

	showGMOffers : function () {
		var target = $("div#GMOffers");
		target.html("");

		var obj = SeasonalOffersData[this.selector].offers;
		var count = 0;
		var region = null;
		for (region in obj) {
			count++;
			var data = obj[region];
			var html = [];

			//-- ensure there's actual data
			if (data.title !== "") {
				var last_column = (count%3) ? "" : " last-column";

                var num_lines = "";
				if (data.title_lines === "2") num_lines = " class='twolines'"; 
				if (data.title_lines === "3") num_lines = " class='threelines'"; 

				var target_window = (data.url.indexOf('http') === -1) ? "_self" : "_blank";
				var html = [
					['<div class="bx' + last_column + '">'],
					['<h3' + num_lines + '>' + unescape(data.title) + '</h3>'],
					['<a href="' + data.url + '"><img src="/images/maintenance/goodwrench/seasonal_offers/' + data.image + '" /></a>'],
					['<a class="cta" href="' + data.url + '" target="' + target_window + '">' + data.cta + '</a>'],
					['</div>']
				];
			}
			else
			{
				//-- check if we're only displaying an image
				if (data.title === "" && data.image !== "") {
					var last_column = (count%3) ? "" : " last-column";
					var target_window = (data.url.indexOf('http') === -1) ? "_self" : "_blank";
					var html = [
						['<div class="bx' + last_column + '">'],
						['<a href="' + data.url + '"><img src="/images/maintenance/goodwrench/seasonal_offers/' + data.image + '" /></a>'],
						['</div>']
					];
				}
			}
			
			//-- dont output anything if there's no data
			if (html.length !== 0) {
				var html_str = html.join("");
				target.append(html_str);
			}
		}
	},

	showLegal : function () {
		var target = $("div#offers-legal");
		target.html("");

		var obj = SeasonalOffersData[this.selector].legal;
		var region = null;
		for (region in obj) {
			target.append("<p>" + obj[region] + "</p>");
		}
	},

	init : function () {
		this.getHash();
		this.updateRegion();
		this.addHandlers();
	}
}

$(function () {
	SeasonalOffers.init();
});

