$(document).ready(function(){
	$('#baseRSS').click(function(){
		$('#rssTip').toggle();
		if($('#rssTip').css('display') == 'block'){
			$('#baseRSS').css('background-position', '-130px -70px');
		}
		else{
			$('#baseRSS').css('background-position', '-130px -40px')
		}
	});
	
	$('.scrollTop').click(function(){
		$('html, body').animate({
        	scrollTop: '0px'
		}, 1000);
		return false;
	});
	
	$('a.share').click(function(){
		var entryid = $(this).attr('rel');
		$(this).parent().append(
		'<div class="shareBox">'+
		'<ul class="clearfix">'+
		'	<li><a href="http://twitter.com/home?status=http://www.nomadshop.net/index.php/main/entry/'+entryid+'">Twitter</a></li>'+
		'	<li><a href="http://www.facebook.com/share.php?u=http://www.nomadshop.net/index.php/main/entry/'+entryid+'" target="_blank">Facebook</a></li>'+
		'	<li><a href="http://www.google.com/buzz/post?url=http://www.nomadshop.net/index.php/main/entry/'+entryid+'" target="_blank">Google Buzz</a></li>'+
		'	<li><a class="closeShare" href="#">&times;</a></li>'+	
		'</ul>'+
		'</div>'
		);
		$(this).hide();
		$(this).parent().find('a.closeShare').click(function(){
			var parentElement = $(this).parent().parent().parent().parent();
			$(parentElement).find('a.share').show();
			$(parentElement).find('div.shareBox').remove();
			return false;
		});
		return false;
	});
	
	if ($('form').length) {
		$('form').jqTransform();
	}
	
	$('.jqTransformSelectWrapper ul li a').click(function(){
		var index = parseInt($('div.jqTransformSelectWrapper ul li a.selected').attr('index'));
		var vval = $('#variantselect option:eq('+index+')').attr('value');
		$('#variantid').val(vval);
	});
	
	if($('#homeShop').length){			// home page
		$(window).load(function(){
			$('#homeShop img.spinner').hide();
			$('#homeShop img.w_alpha').hide();
			$('#homeFeature img.spinner').hide();
			$('#homeFeature img.w_alpha').hide();
		});
	}
	else if($('#editorialGallery').length){
		$(window).load(function(){
			$('#editorialGallery img.spinner').hide();
			$('#editorialGallery img.w_alpha').hide();
		});
	}
	
	
	if ($('.fwCollectionScroller').length) {
		$('.fwCollectionScroller').serialScroll({
			items: 'li',
			prev: '.fwCollectionWrapper a.prev',
			next: '.fwCollectionWrapper a.next',
			start: 0, //as we are centering it, start at the 2nd
			duration: 1000,
			interval: 6000,
			constant: false,
			force: true,
			stop: true,
			lock: false,
			cycle: true //don't pull back once you reach the end
		});
	}	
	
	$('a[rel="scroller"]').click(function(){
		var scrollerIndex = $('.fwCollectionScroller ul li').index($('li.'+$(this).attr('class')));	//index of the associated image in the scroller
		if (scrollerIndex >= 0) {
			$('.fwCollectionScroller').trigger('goto', scrollerIndex);
		}
	});
	
	
});


//Ransom-specific

var city = '';
var firstStockist = null;

$(document).ready(function(){
	
	/*
	 * Highlight stockist listing clicked through from map
	 */
	if($('#stockistCountry').length){		//on stockist listing page
		window.city = decodeURI(window.location.hash.substring(1));
		window.city = window.city.split('|');
		$('.stockCity').each(function(){
			for(var i=0;i<window.city.length;i++){
				if(jQuery.trim($(this).text().toLowerCase()) == jQuery.trim(window.city[i].toLowerCase())){
					if(window.firstStockist == null){
						window.firstStockist = $(this).parent();	
					}
					$(this).parent().addClass('highlight');
				}
			}
		});
		if(window.firstStockist != null){
			var position = $(window.firstStockist).offset();
			$('html, body').animate({
        		scrollTop: position.top-160+"px"
			}, 2500, 'swing');
		}
	}
	
	
	/*
	 * Collection title filtering
	 */
	if($('#shopGrid').length){
		$('li.gridItem').each(function(index){
			var itemTitle = $(this).find('p.gridTitle a').text();
			if(itemTitle.indexOf(' - ') > 0){
				$(this).find('p.gridTitle a').text(itemTitle.substring(0,itemTitle.indexOf(' - ')));
				$(this).find('p.gridSub').text(itemTitle.substring((itemTitle.indexOf(' - ')+3), itemTitle.length) + ", "+$(this).find('p.gridSub').text());
			}
		});
	}
	
	
	/*
	 * Cart text modifications
	 */
	if($('#cartform').length){
		$('.itemTitle').each(function(index){
			var titlestring = $.trim($(this).find('a.itemTitleA').text());
			var sections = titlestring.split(' - ');
			if (sections.length == 3) {
				$(this).find('a.itemTitleA').text(sections[0] + " " + sections[1]);
				$(this).find('span.cartVariant').text(sections[2]);
			}
			else if(sections.length == 2){
				$(this).find('a.itemTitleA').text(sections[0]);
				$(this).find('span.cartVariant').text(sections[1]);
			}
		});
	}
});


/*
** Collections pagination 
*/
var perpage = 0;
var offset = 0;
var currentpage = 1;
var numitems = 0;
var numpages = 0;
var scrollUp = true;
var firstLoad = true;
$(document).ready(function(){
	if($('#collection_all').length){		//on the collections/all page
		window.perpage = $('#collection_all').text();
		window.scrollUp = $('#scrollUp').length?($('#scrollUp').text()=='true'?true:false):true;
		$('#pagPrev').hide();
		var height = $('#ulshell').height();
		/*
		** Browser detection to determine whether to animate
		*/
		var os = BrowserDetect.OS;
		var bro = BrowserDetect.browser;
		if((os == 'Mac' && bro != 'Firefox') || (bro == 'Chrome')){
			var animateme = true;
		}
		else{
			var animateme = false;
		}
		window.numitems = $('.gridItem').length;
		window.numpages = Math.ceil(window.numitems/window.perpage);
		
		goToPage(1, false);
		
		$('.pagChange').live('click',function(){
			goToPage($(this).attr('id').substring(4), animateme);
			return false;
		});
		$('#pagNext').click(function(){
			goToPage(parseInt(window.currentpage) + 1, animateme);
			return false;
		});
		$('#pagPrev').click(function(){
			goToPage(parseInt(window.currentpage) - 1, animateme);
			return false;
		});
	}
});

function goToPage(newpage, animate){
	currentpage = newpage;
	$('#pagPrev').show();
	$('#pagNext').show();
	if(currentpage == 1) $('#pagPrev').hide();
	if(currentpage == numpages) $('#pagNext').hide();
	offset = (currentpage-1) * perpage;
	$('#pagNums').html(generatePagKeys(currentpage));
	var animatedOffset = (currentpage-1) * 694;
	if(animate){
		if (window.scrollUp) {
			$('html, body').animate({
				scrollTop: '0px'
			}, 1000);
		}
		$('#shopGrid #ulShell').animate({
			'left': '-'+animatedOffset+'px'
		}, 1000);
	}
	else{
		if (window.scrollUp && !window.firstLoad) {
			$('html, body').animate({
				scrollTop: '0px'
			}, 1000);
		}
		$('#shopGrid #ulShell').css({
			'left': '-'+animatedOffset+'px'
		});
	}
	window.firstLoad = false;
}

function generatePagKeys(newpage){
	var temptoc = '';
	for(var i=1;i<=window.numpages;i++){
		if(i==window.currentpage){
			temptoc += i + ' ';
		}
		else{
			temptoc += '<a href="#" class="pagChange" id="pag_'+i+'">'+i+'</a> ';
		}
	}
	return temptoc;
}


/* 
 * Browser detection for non-critical animation decisions 
 */
var BrowserDetect = {
	init: function () {
		this.browser = this.searchString(this.dataBrowser) || "An unknown browser";
		this.version = this.searchVersion(navigator.userAgent)
			|| this.searchVersion(navigator.appVersion)
			|| "an unknown version";
		this.OS = this.searchString(this.dataOS) || "an unknown OS";
	},
	searchString: function (data) {
		for (var i=0;i<data.length;i++)	{
			var dataString = data[i].string;
			var dataProp = data[i].prop;
			this.versionSearchString = data[i].versionSearch || data[i].identity;
			if (dataString) {
				if (dataString.indexOf(data[i].subString) != -1)
					return data[i].identity;
			}
			else if (dataProp)
				return data[i].identity;
		}
	},
	searchVersion: function (dataString) {
		var index = dataString.indexOf(this.versionSearchString);
		if (index == -1) return;
		return parseFloat(dataString.substring(index+this.versionSearchString.length+1));
	},
	dataBrowser: [
		{
			string: navigator.userAgent,
			subString: "Chrome",
			identity: "Chrome"
		},
		{ 	string: navigator.userAgent,
			subString: "OmniWeb",
			versionSearch: "OmniWeb/",
			identity: "OmniWeb"
		},
		{
			string: navigator.vendor,
			subString: "Apple",
			identity: "Safari",
			versionSearch: "Version"
		},
		{
			prop: window.opera,
			identity: "Opera"
		},
		{
			string: navigator.vendor,
			subString: "iCab",
			identity: "iCab"
		},
		{
			string: navigator.vendor,
			subString: "KDE",
			identity: "Konqueror"
		},
		{
			string: navigator.userAgent,
			subString: "Firefox",
			identity: "Firefox"
		},
		{
			string: navigator.vendor,
			subString: "Camino",
			identity: "Camino"
		},
		{		// for newer Netscapes (6+)
			string: navigator.userAgent,
			subString: "Netscape",
			identity: "Netscape"
		},
		{
			string: navigator.userAgent,
			subString: "MSIE",
			identity: "Explorer",
			versionSearch: "MSIE"
		},
		{
			string: navigator.userAgent,
			subString: "Gecko",
			identity: "Mozilla",
			versionSearch: "rv"
		},
		{ 		// for older Netscapes (4-)
			string: navigator.userAgent,
			subString: "Mozilla",
			identity: "Netscape",
			versionSearch: "Mozilla"
		}
	],
	dataOS : [
		{
			string: navigator.platform,
			subString: "Win",
			identity: "Windows"
		},
		{
			string: navigator.platform,
			subString: "Mac",
			identity: "Mac"
		},
		{
			   string: navigator.userAgent,
			   subString: "iPhone",
			   identity: "iPhone/iPod"
	    },
		{
			string: navigator.platform,
			subString: "Linux",
			identity: "Linux"
		}
	]

};
BrowserDetect.init();















