var regionClassRegex = /region-([\w-]+)/;

function initRegionSelector() {
	
	$('#region').clickMenu({
		onClick:function(){
			var li = $(this);
			if ( li.length )
			{
				//close the menu
				var selectedItemClassName = $(li).attr('className');
				var regionClass = regionClassRegex.exec(selectedItemClassName)[1];
				setRegion(regionClass);
				$('#region').trigger('closemenu');
				window.location.reload();
			}
			return false; //stop default action
		}
	}); 
	$("#region-selector").show();
}	
function onRegionChanged(region) {
	$.cookie("region", null);	
	$.cookie("region", region, {path: '/', expires: 720});	
	
	var menuItemForRegion = $("#region .innerBox .region-" + region);
	if (menuItemForRegion.length) {
		$("#region .current-region .region-name").html(menuItemForRegion.find(".region-name").text() + " <a href='#'>(change region)</a>");			
	}
	
	//Clear all region classes from the body tag
	var allRegionClasses = [];
	$("#region .innerBox li").each(function() { allRegionClasses.push(regionClassRegex.exec($(this).attr('className'))[1]) });	
	for(var i=0; i<allRegionClasses.length; i++) {																			   
		$("body").removeClass(allRegionClasses[i]);
	}
	
	//Set new region	
	$("body").addClass(region);
	

}

function getRegion() {
	var cookieValue = $.cookie("region");	
	if (cookieValue == null) {
		cookieValue = "en-nz";
	}
	return cookieValue;	
}

function setRegion(region) {
	onRegionChanged(region);
}

(function () {
	initRegionSelector();
	setRegion(getRegion());
})();