var JQ = jQuery.noConflict();
var changeMenuSubHover = false;

function getParam(x) {
	x = x.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
	var regexS	= "[\\?&]" + x + "=([^&#]*)";
	var regex	= new RegExp(regexS);
	var results	= regex.exec(window.location.href);
	if (results == null) return "";
	else return results[1];
}

function blogURL (x) {
	if (getParam("featuresBlog") != "") {
		return x + "&featuresBlog=" + getParam("featuresBlog");
	} else {
		return x;
	}
}

function getRegionCode () {
	return "NSWStoreJapan";
}

function getTag() {
	switch (getParam('tag')) {
		case "events":
		case "product_picks":
		case "staff":
		case "see_inside":
		case "bespoke":
			JQ("#tags-menu-link").html(JQ("#" + getParam('tag') + "-block").parent().html());
			JQ("#tags-menu-link").attr('rel', JQ('#' + getParam('tag') + '-block').parent().attr('rel'));
			break;
		default:
			if (getParam('tag') != "") {
				JQ("#tags-menu-link").html(JQ("#all-block").parent().html());
				JQ("#tags-menu-link").attr("rel", getParam('tag'));
			}
			break;
	}
}

JQ(document).ready(function() {
	getTag();
	
	// Tags Menu
	JQ("#tags-menu-link").click(function(){
		JQ("#tags-menu").css("left", JQ("#tags-menu-link").offset().left - JQ(".content").offset().left);
		JQ("#tags-menu").fadeIn("normal");
	});
	JQ("#tags-menu-list li a").click(function() {
		var temp = JQ(this).attr("rel");
		tracking.click({
			pageName:track_site+">nsw_store_japan>blog>tag>" + temp,
			prop17:"blog", prop18: "nsw_store_japan", prop19: "blog"
		});
	// Calendar changes
		JQ("#tags-menu-link").html(JQ(this).html());
		JQ("#tags-menu-link").attr("rel", JQ(this).attr("rel"));
		JQ("#tags-menu").slideUp();
		
		JQ(".bespoke, .events, .product_picks, .see_inside, .staff, .bespoke-image, .events-image, .product_picks-image, .staff-image, .see_inside-image").hide();
		switch (JQ("#tags-menu-link").attr("rel")) {
			case "Events":
				JQ(".events, .events-image").show();
			break;
			
			case "Bespoke":
				JQ(".bespoke, .bespoke-image").show();
			break;
			
			case "Product Picks":
				JQ(".product_picks, .product_picks-image").show();
			break;
				
			case "See Inside":
				JQ(".see_inside, .see_inside-image").show();
			break;
			
			case "Staff":
				JQ(".staff, .staff-image").show();
			break;
			
			default:
				JQ(".bespoke, .events, .product_picks, .see_inside, .staff, .bespoke-image, .events-image, .product_picks-image, .staff-image, .see_inside-image").show();
			break;
		}
	// Blog changes
		fillBlog();
	});
	
	//Change Menu
	JQ("#hide-change-menu").click(function(){
		JQ("#change-menu").fadeOut("normal");
	});
	
	// Replace all links to '#' with 'javascript: void(0);'
	JQ("a").attr("href", function () {
		return (JQ(this).attr("href")=="#") ? "javascript: void(0)" : JQ(this).attr("href");
	});
	
	// Populate the More Events table
	var cd = new Date();
	var feedURL = "/sportswear/global/jsp/clearspaceServiceProxy.jsp?url=" +
		// The url for the feed you want to pull in
		//nsw_data.blog_base_url + "/blogs/sportswear-" + getRegionCode() + "/feeds/posts" +
		//"&eventDateRangeMinMillis=" + Date.parse((cd.getMonth() + 1) + '/' + cd.getDate() + '/' + cd.getFullYear()) +
		//"&eventDateRangeMaxMillis=" + Date.parse((cd.getMonth() + 2) + '/' + cd.getDate() + '/' + cd.getFullYear());
		nsw_data.blog_base_url + "/blogs/sportswear-" + getRegionCode() + "/feeds/posts";
		
	JQ.ajax({
		type:		"GET",
		url:		feedURL,
		dataType:	"xml",
		success:	function (xml) {
			var events = new Array();
			var odd = true;
			var counter = 0;
			if (JQ(xml).find("item").length > 0) {
				JQ(xml).find("item").each(function () {
					JQ("#event-container, #more-events-heading, .see-all, #more-events").show();
					if (counter++ < 10) {
						JQ("#event-container").append('<a class="item" href="' + blogURL(mercer_link(JQ(this).find("guid").text())) + '"></a>');
						thisDate = (JQ(this).find("eventDate").text() == "") ? JQ(this).find("clearspace\\:eventDate").text() : JQ(this).find("eventDate").text();
						thisDate = dateToNumbers(thisDate.substring(5, 16));
						JQ("#event-container .item:last").append('<div class="left">' + thisDate + '</div>');
						JQ("#event-container .item:last").append('<div class="right">' + JQ(this).find("title").text() + '</div>');
						if (odd) JQ("#event-container .item:last").addClass("odd");
						else JQ("#event-container .item:last").addClass("even");
						odd = !odd;
					}
				});
			} else {
				JQ("#event-container, #more-events-heading, .see-all, #more-events").hide();
			}
		},
		complete:	function () {
		}
	});
	
	//fillBlog();
	initialBlog();
});

function nextPage() {
	var page;
	var pages = JQ(".page").length;
	for (page = 1; JQ("#page" + page).css("display") == "none" && page <= pages; page++);
	if (page < pages) {
		JQ("#page" + page).hide();
		page++;
		JQ("#page" + page).show();
	}
	if (page + 1 > pages) JQ("#paging .next img").attr("src", JQ("#paging .next img").attr("src").replace("button.jpg", "button-inactive.jpg"));
	if (page > 1) JQ("#paging .prev img").attr("src", JQ("#paging .prev img").attr("src").replace("button-inactive.jpg", "button.jpg"));
	
	pageListing();
	
}

function prevPage() {
	var page;
	var pages = JQ(".page").length;
	for (page = 1; JQ("#page" + page).css("display") == "none" && page <= pages; page++);
	if (page > 1) {
		JQ("#page" + page).hide();
		page--;
		JQ("#page" + page).show();
	}
	if (page == 1) JQ("#paging .prev img").attr("src", JQ("#paging .prev img").attr("src").replace("button.jpg", "button-inactive.jpg"));
	if (page < pages) JQ("#paging .next img").attr("src", JQ("#paging .next img").attr("src").replace("button-inactive.jpg", "button.jpg"));
	
	pageListing();
}

function isPast(x) {
	return true;
}

function mercer_link (url) {
	var start = url.indexOf("/sportswear-");
	if(start == -1) return url;
	url = url.substring(start+12);
	return "/nikeos/p/sportswear/ja_JP/view_nsw_store?"+nsw_data.link_suffix+"&post="+url;
}

function fillBlog() {
	//var furl = nsw_data.base_url + "/nikeos/p/sportswear/en_US/21_mercer_blog_feed_by_tag?lang_locale=en_US"&tag=";
	var furl = nsw_data.base_url + "/nikeos/p/sportswear/ja_JP/nsw_store_feed_by_tag?lang_locale=" + getRegionCode() + "&tag=";
	//switch (JQ("#tags-menu-link span").text()) {
	switch (JQ("#tags-menu-link").attr("rel")) {
		case "Events":
			furl += "tags/events";
			JQ("#rss-link").attr("href", nsw_data.view_21_mercer_feed_link(nsw_data.blog_base_url + "/blogs/sportswear-" + getRegionCode() + "/feeds/tags/events"));
			break;
		case "Product Picks":
			furl += "tags/product_picks";
			JQ("#rss-link").attr("href", nsw_data.view_21_mercer_feed_link(nsw_data.blog_base_url + "/blogs/sportswear-" + getRegionCode() + "/feeds/tags/product_picks"));
			break;
		case "Bespoke":
			furl += "tags/bespoke";
			JQ("#rss-link").attr("href", nsw_data.view_21_mercer_feed_link(nsw_data.blog_base_url + "/blogs/sportswear-" + getRegionCode() + "/feeds/tags/bespoke"));
			break;
		case "Staff":
			furl += "tags/staff";
			JQ("#rss-link").attr("href", nsw_data.view_21_mercer_feed_link(nsw_data.blog_base_url + "/blogs/sportswear-" + getRegionCode() + "/feeds/tags/staff"));
			break;
		case "See Inside":
			furl += "tags/see_inside";
			JQ("#rss-link").attr("href", nsw_data.view_21_mercer_feed_link(nsw_data.blog_base_url + "/blogs/sportswear-" + getRegionCode() + "/feeds/tags/see_inside"));
			break;
		case "Culture and Events":
			furl += "tags/culture_events";
			JQ("#rss-link").attr("href", nsw_data.view_21_mercer_feed_link(nsw_data.blog_base_url + "/blogs/sportswear-" + getRegionCode() + "/feeds/tags/see_inside"));
			break;
		case "NikeiD Studio":
			furl += "tags/id_studio";
			JQ("#rss-link").attr("href", nsw_data.view_21_mercer_feed_link(nsw_data.blog_base_url + "/blogs/sportswear-" + getRegionCode() + "/feeds/tags/see_inside"));
			break;
		case "Guest":
			furl += "tags/guest";
			JQ("#rss-link").attr("href", nsw_data.view_21_mercer_feed_link(nsw_data.blog_base_url + "/blogs/sportswear-" + getRegionCode() + "/feeds/tags/see_inside"));
			break;
		case "Store News":
			furl += "tags/store_news";
			JQ("#rss-link").attr("href", nsw_data.view_21_mercer_feed_link(nsw_data.blog_base_url + "/blogs/sportswear-" + getRegionCode() + "/feeds/tags/see_inside"));
			break;
		case "All Tags":
			furl += "posts";
			JQ("#rss-link").attr("href", nsw_data.view_21_mercer_feed_link(nsw_data.blog_base_url + "/blogs/sportswear-" + getRegionCode() + "/feeds/posts"));
			break;
		default:
			furl += "tags/" + JQ("#tags-menu-link").attr("rel");
			JQ("#rss-link").attr("href", nsw_data.view_21_mercer_feed_link(nsw_data.blog_base_url + "/blogs/sportswear-" + getRegionCode() + "/feeds/tags/" + JQ("#tags-menu-link").attr("rel")));
	}
	
	JQ.ajax({
		type:		"GET",
		url:		furl,
		dataType:	"json",
		success:	function (json) {
			var posts = 0;
			for (var i = 0; i < json.feed.length; i++) {
				if (json.feed[i].eventDate) {
					if (isPast(json.feed[i].eventDate)) posts++;
				} else {
					posts++;
				}
			}
			var pageLimit = 5;
			var pages = Math.ceil(posts / pageLimit);
			var currentPost = 0;
			var page = 0;
			JQ("div.page").remove();
			JQ("div.no-posts").remove();
			var postCount = 0;
			for (var i = 0; i < json.feed.length; i++) {
				if (isPast(json.feed[i].eventDate) || !json.feed[i].eventDate) {
					if (postCount % pageLimit == 0) {
						page++;
						JQ("#main-column").prepend('<div id="page' + page + '" class="page"></div>');
						JQ("#page" + page).append('<h1 style="height: 70px; padding: 0;">' + getMonthName(json.feed[i].date.substring(8, 11)) + ' ' + json.feed[i].date.substring(12, 16) + '</h1>');
					}
					postCount++;
					JQ("#page" + page).append(
						'<div class="article">' +
						'<div class="post-image">' +
						'<a href="'+blogURL(mercer_link(json.feed[i].guid))+'"><img class="thumbnail" src="' +
						((json.feed[i].image) ? json.feed[i].image : "/sportswear/global/images/events/event_default_orange.jpg") +
						'" alt="'+json.feed[i].title+'" title="'+json.feed[i].title+'" /></a>' +
						'</div>' +
						'<div class="article-text"><div class="date">' + ((json.feed[i].tag == "")?(''):('<span>' + getLocal(json.feed[i].tag) + '</span>')) + dateToNumbers(json.feed[i].date.substring(5, 16)) + '</div>' +
						'<h1><a href="' + blogURL(mercer_link(json.feed[i].guid)) + '">' + json.feed[i].title + '</a></h1>' +
						'<div class="post-desc">' + clean(json.feed[i].desc).substring(0, 190) + '...</div>' +
						'<a class="read-more" href="' + blogURL(mercer_link(json.feed[i].guid)) + '">'+getLocal("Read More")+'</a>' +
						'</div></div>'
					);
				}
			}
			if (JQ(".page").length == 0) {
				JQ("#main-column").prepend("<div class=\"no-posts\">"+noPosts()+"</div>");
			}
		},
		complete:	function () {
			var pages = JQ(".page").length;
			
			if (JQ("#page1").css("display") != "none")
				JQ("#paging .prev img").attr("src", JQ("#paging .prev img").attr("src").replace("button.jpg", "button-inactive.jpg"));
			else
				JQ("#paging .prev img").attr("src", JQ("#paging .prev img").attr("src").replace("button-inactive.jpg", "button.jpg"));
			
			if (JQ("#page" + pages).css("display") != "none")
				JQ("#paging .next img").attr("src", JQ("#paging .next img").attr("src").replace("button.jpg", "button-inactive.jpg"));
			else
				JQ("#paging .next img").attr("src", JQ("#paging .next img").attr("src").replace("button-inactive.jpg", "button.jpg"));
			
			pageListing();
		}
	});
}

function initialBlog() {
	var furl = nsw_data.base_url + "/nikeos/p/sportswear/ja_JP/nsw_store_feed_by_tag?lang_locale=" + getRegionCode() + "&tag=";
	switch (JQ("#tags-menu-link").attr("rel")) {
		case "Events":
			furl += "tags/events";
			JQ("#rss-link").attr("href", nsw_data.view_21_mercer_feed_link(nsw_data.blog_base_url + "/blogs/sportswear-" + getRegionCode() + "/feeds/tags/events"));
			break;
		case "Product Picks":
			furl += "tags/product_picks";
			JQ("#rss-link").attr("href", nsw_data.view_21_mercer_feed_link(nsw_data.blog_base_url + "/blogs/sportswear-" + getRegionCode() + "/feeds/tags/product_picks"));
			break;
		case "Staff":
			furl += "tags/staff";
			JQ("#rss-link").attr("href", nsw_data.view_21_mercer_feed_link(nsw_data.blog_base_url + "/blogs/sportswear-" + getRegionCode() + "/feeds/tags/staff"));
			break;
		case "Bespoke":
			furl += "tags/bespoke";
			JQ("#rss-link").attr("href", nsw_data.view_21_mercer_feed_link(nsw_data.blog_base_url + "/blogs/sportswear-" + getRegionCode() + "/feeds/tags/bespoke"));
			break;
		case "See Inside":
			furl += "tags/see_inside";
			JQ("#rss-link").attr("href", nsw_data.view_21_mercer_feed_link(nsw_data.blog_base_url + "/blogs/sportswear-" + getRegionCode() + "/feeds/tags/see_inside"));
			break;
		case "All Tags":
			furl += "posts";
			JQ("#rss-link").attr("href", nsw_data.view_21_mercer_feed_link(nsw_data.blog_base_url + "/blogs/sportswear-" + getRegionCode() + "/feeds/posts"));
			break;
		default:
			furl += "tags/" + JQ("#tags-menu-link").attr("rel");
			JQ("#rss-link").attr("href", nsw_data.view_21_mercer_feed_link(nsw_data.blog_base_url + "/blogs/sportswear-" + getRegionCode() + "/feeds/tags/" + JQ("#tags-menu-link").attr("rel")));
	}

	var posts = 0;
	for (var i = 0; i < blogContent.feed.length; i++) {
		if (blogContent.feed[i].eventDate) {
			if (isPast(blogContent.feed[i].eventDate)) posts++;
		} else {
			posts++;
		}
	}
	var pageLimit = 5;
	var pages = Math.ceil(posts / pageLimit);
	var currentPost = 0;
	var page = 0;
	JQ("div.page").remove();
	JQ("div.no-posts").remove();
	var postCount = 0;
	for (var i = 0; i < blogContent.feed.length; i++) {
		if (isPast(blogContent.feed[i].eventDate) || !blogContent.feed[i].eventDate) {
			if (postCount % pageLimit == 0) {
				page++;
				JQ("#main-column").prepend('<div id="page' + page + '" class="page"></div>');
				JQ("#page" + page).append('<h1 style="height: 70px; padding: 0;">' + getMonthName(blogContent.feed[i].date.substring(8, 11)) + ' ' + blogContent.feed[i].date.substring(12, 16) + '</h1>');
			}
			postCount++;
			JQ("#page" + page).append(
				'<div class="article">' +
				'<div class="post-image">' +
				'<a href="'+blogURL(mercer_link(blogContent.feed[i].guid))+'"><img class="thumbnail" src="' +
				((blogContent.feed[i].image) ? blogContent.feed[i].image : "/sportswear/global/images/events/event_default_orange.jpg") +
				'" alt="'+blogContent.feed[i].title+'" title="'+blogContent.feed[i].title+'" /></a>' +
				'</div>' +
				'<div class="article-text"><div class="date">' + ((blogContent.feed[i].tag == "")?(''):('<span>' + getLocal(blogContent.feed[i].tag) + '</span>')) + dateToNumbers(blogContent.feed[i].date.substring(5, 16)) + '</div>' +
				'<h1><a href="' + blogURL(mercer_link(blogContent.feed[i].guid)) + '">' + blogContent.feed[i].title + '</a></h1>' +
				'<div class="post-desc">' + clean(blogContent.feed[i].desc).substring(0, 190) + '...</div>' +
				'<a class="read-more" href="' + blogURL(mercer_link(blogContent.feed[i].guid)) + '">'+getLocal("Read More")+'</a>' +
				'</div></div>'
			);
		}
	}
	if (JQ(".page").length == 0) {
		JQ("#main-column").prepend("<div class=\"no-posts\">"+noPosts()+"</div>");
	}
	var pages = JQ(".page").length;
	
	if (JQ("#page1").css("display") != "none")
		JQ("#paging .prev img").attr("src", JQ("#paging .prev img").attr("src").replace("button.jpg", "button-inactive.jpg"));
	else
		JQ("#paging .prev img").attr("src", JQ("#paging .prev img").attr("src").replace("button-inactive.jpg", "button.jpg"));
	
	if (JQ("#page" + pages).css("display") != "none")
		JQ("#paging .next img").attr("src", JQ("#paging .next img").attr("src").replace("button.jpg", "button-inactive.jpg"));
	else
		JQ("#paging .next img").attr("src", JQ("#paging .next img").attr("src").replace("button-inactive.jpg", "button.jpg"));
	
	pageListing();
}

function dateToNumbers (x) {
	var day = x.substring(0, 2);
	var monthString = x.substring(3, 6);
	var year = x.substring(7);
	var month = "";
	switch (monthString.toLowerCase()) {
		case 'jan': month = "01"; break;
		case 'feb': month = "02"; break;
		case 'mar': month = "03"; break;
		case 'apr': month = "04"; break;
		case 'may': month = "05"; break;
		case 'jun': month = "06"; break;
		case 'jul': month = "07"; break;
		case 'aug': month = "08"; break;
		case 'sep': month = "09"; break;
		case 'oct': month = "10"; break;
		case 'nov': month = "11"; break;
		case 'dec': month = "12"; break;
		default: month = "00"; break;
	}
	return month + '.' + day + '.' + year;
}

function pageListing () {
	var page;
	var pages = JQ(".page").length;

	for (page = 1; page <= pages && JQ("#page" + page).css("display") == "none"; page++);
	JQ("#paging span").empty();
	
	// IF THERE IS ONLY ONE PAGE
	if (pages <= 1) {
		JQ("#paging").hide();
		JQ(".page").css("border-bottom", "none");
	
	// IF THERE ARE 5 OR LESS PAGES
	} else if (pages <= 5) {
		for (var i = 1; i <= pages; i++) {
			if (i == page) JQ("#paging span").append(' ' + i + ' ');
			else JQ("#paging span").append(' <a href="javascript: gotoPage('+i+');">'+i+'</a> ');
		}
		JQ("#paging").show();
	
	// IF THERE ARE MOR THAN 5 PAGES
	} else {
		// IF THE CURRENT PAGE IS LESS THAN 5
		if (page <= 4) {
			for (var i = 1; i <= 5; i++) {
				if (i == page) JQ("#paging span").append(' ' + i + ' ');
				else JQ("#paging span").append(' <a href="javascript: gotoPage('+i+');">'+i+'</a> ');
			}
			JQ("#paging span").append(' ... <a href="javascript: gotoPage('+pages+');">'+pages+'</a> ');
		} else if (page >= pages - 3) {
			JQ("#paging span").append(' <a href="javascript: gotoPage(1);">1</a> ... ');
			for (var i = pages - 4; i <= pages; i++) {
				if (i == page) JQ("#paging span").append(' ' + i + ' ');
				else JQ("#paging span").append(' <a href="javascript: gotoPage('+i+');">'+i+'</a> ');
			}
		} else {
			JQ("#paging span").append(' <a href="javascript: gotoPage(1);">1</a> ... ');			
			for (var i = page - 2; i <= page + 2; i++) {
				if (i == page) JQ("#paging span").append(' ' + i + ' ');
				else JQ("#paging span").append(' <a href="javascript: gotoPage('+i+');">'+i+'</a> ');
			}
			JQ("#paging span").append(' ... <a href="javascript: gotoPage('+pages+');">'+pages+'</a> ');
		}
		JQ("#paging").show();
		JQ(".page").css("border-bottom", "1px solid #999");
	}
}

function gotoPage(page) {
	var pages = JQ(".page").length;
	JQ(".page").hide();
	JQ("#page" + page).show();
			
	if (JQ("#page1").css("display") != "none") JQ("#paging .prev img").attr("src", JQ("#paging .prev img").attr("src").replace("button.jpg", "button-inactive.jpg"));
	else JQ("#paging .prev img").attr("src", JQ("#paging .prev img").attr("src").replace("button-inactive.jpg", "button.jpg"));
	
	if (JQ("#page" + pages).css("display") != "none") JQ("#paging .next img").attr("src", JQ("#paging .next img").attr("src").replace("button.jpg", "button-inactive.jpg"));
	else JQ("#paging .next img").attr("src", JQ("#paging .next img").attr("src").replace("button-inactive.jpg", "button.jpg"));
	
	pageListing();
}

function noPosts() {
	var ret = "";
	switch(JQ('#tags-menu-link').attr('rel')) {
		case 'Events':
		case 'Bespoke':
		case 'See Inside':
		case 'Staff':
		case 'Product Picks':
			ret = getLocal('no posts ' + JQ('#tags-menu-link').attr('rel').toLowerCase());
			break;
		default:
			ret = getLocal('no posts');
			break;
	}
	return ret;
	
}
