WebFontConfig = {custom: { families: ['GillSansLightRegular']}
};
(function() {
    var wf = document.createElement('script');
    wf.src = ('https:' == document.location.protocol ? 'https' : 'http') +
    '://ajax.googleapis.com/ajax/libs/webfont/1/webfont.js';
    wf.type = 'text/javascript';
    wf.async = 'true';
    var s = document.getElementsByTagName('script')[0];
    s.parentNode.insertBefore(wf, s);
})();

$(document).ready(function(){
	initGalleryCarousel();
	initImageZoom();
	
	if($('#heard_from').size() > 0)
	{
		$('#heard_from_other').hide();
		$('#heard_from select').change(function(){onHeardFromDropdownChanged($(this));});
	}
	
	if($('#search input[type=text]').size() > 0)
	{
		$('#search input[type=text]').focus(function(){$(this).val('');})
	}
	
	if($(gallerySelector+' li').size() > 1)
	{
		initGallery();
	}
	
	if($('.productlist').size() > 0)
	{
		$('.productlist li a.first').toggleClass('selected', true);
		$('.productlist li a').mouseover(function(){$('.productlist li a').toggleClass('selected', false); $(this).toggleClass('selected', true);});
	}
	
});

function onHeardFromDropdownChanged(dd)
{
	$('#heard_from_other').hide();
	if($('#heard_from select option:selected').index() == 6)
	{
		$('#heard_from_other').show();
	}
}

///////////////////
//GALLERY
//////////////////

var gallery = {index:0, size:0, uri:'', append:''};
var gallerySelector = '.gallery_nav';
var galleryFocus = '#focus_img';

function initGallery()
{
	var uri = false;
	var append = false;
	if($(gallerySelector+' li:eq(0) a').size() > 0)
	{
		var h1 = $(gallerySelector+' li:eq(0) a').attr('href');
		var h2 = $(gallerySelector+' li:eq(1) a').attr('href');
		uri = returnMatchingStringParts(h1, h2);
	}
	else
	{
		var h1 = $('#press_nav .next').attr('href');
		uri = popSegs(h1, 1)+"/";
	}
	
	currentIndex = 0;
	var tmp = window.location+"";
	tmp = lastSeg(tmp);
	if(tmp != "" && !isNaN(tmp))
	{
		currentIndex = (tmp*1)-1;
	}

	var s1 = false;
	var s2 = false;
	if($(gallerySelector+' li:eq(0) a').size() > 0)
	{
		s1 = $(gallerySelector+' li:eq('+currentIndex+') a img').attr('src');
		s2 = $(galleryFocus+' img').attr('src');
	}
	else
	{
		s1 = $(gallerySelector+' li:eq('+currentIndex+')').html();
		s2 = $(galleryFocus+' img').attr('src');
	}
	
	if(s1 && s2)
	{
		append = returnMatchingStringParts(s1, s2);
		append = "/"+s2.replace(append, '');
	}

	//init gallery
	gallery = {index:0, size:$(gallerySelector+' li').size(), uri:uri, append:append};
	
	//set gallery nav listeners
	setGalleryNavigationListners();
}

function setGalleryNavigationListners()
{
	$("a[href^='"+gallery.uri+"']").click(function(){onGalleryNavigationLinkClicked($(this)); return false;});
}

function onGalleryNavigationLinkClicked(atag)
{
	gallery.index = (atag.attr('href')).replace(gallery.uri, '');

	var image_src	= false;
	var image_link 	= $(gallerySelector+' li:nth-child('+gallery.index+')');
	if(image_link.find('a img').size() > 0)
	{
		image_src = popSegs(image_link.find('a img').attr('src'), 3);
	}
	else
	{
		image_src = image_link.html();
	}
	
	if(image_src)
	{
		updateFocusImage(image_src);
	}
}

function updateFocusImage(src)
{
	$(galleryFocus+' img').attr('src', src+gallery.append);
	if($('a#zoomBtn').size() > 0)
	{
		$('a#zoomBtn').attr('href', src);
	}
	else
	{
		//update nav links
		$('#press_nav a.prev').attr('href', gallery.uri+increment(gallery.index, -1, 1, gallery.size));
		$('#press_nav a.next').attr('href', gallery.uri+increment(gallery.index, +1, 1, gallery.size));
	}
}

///////////////////
// MISC
//////////////////

function returnMatchingStringParts(str1, str2, sep)
{
	if(sep == null)
	{
		sep = '/';
	}
	if(str1 == str2)
	{
		return str1+'/';
	}
	else
	{
		var str1a = str1.split(sep);
		var str2a = str2.split(sep);
		
		if(str1a.length == str2a.length)
		{
			str1 = (str1a.slice(0, -1)).join(sep);
			str2 = (str2a.slice(0, -1)).join(sep);
		}
		else if(str1a.length > str2a.length)
		{
			str1 = (str1a.slice(0, -1)).join(sep);
		}
		else if(str1a.length < str2a.length)
		{
			str2 = (str2a.slice(0, -1)).join(sep);
		}
		
		return returnMatchingStringParts(str1, str2, sep);
	}
}

function popSegs(str, popNum, delimiter)
{
	if(delimiter == null)
	{
		delimiter = '/';
	}
	if(str != null)
	{
		var pa = str.split(delimiter);
		if(pa.length > 1)
		{
			pa = pa.slice(0, (0-popNum));
			return pa.join(delimiter);
		}
	}
	return str;
}

function lastSeg(str, delimiter)
{
	if(delimiter == null)
	{
		delimiter = '/';
	}
	if(str != null)
	{
		var pa = str.split(delimiter);
		if(pa.length > 1)
		{
			return pa.pop();
		}
	}
	return str;
}

function increment(current, increment, start, count)
{
	count = count-(1-start);
	current = current*1;
	current = current+increment;
	if(current < start)
	{
		return count;
	}
	else if(current > count)
	{
		return start;
	}
	return current;
}


