	var pdpOtherProducts = new Array();
	var productImageToUrlMapping = {};

	function addProductImage(product, perspective, color, size, url) {
		var productToPerspectiveMap = productImageToUrlMapping;
		
		if (! productToPerspectiveMap[product]) productToPerspectiveMap[product] = {};
		var perspectiveToSizeMap = productToPerspectiveMap[product];
		
		if (! perspectiveToSizeMap[perspective]) perspectiveToSizeMap[perspective] = {};
		var sizeToColorMap = perspectiveToSizeMap[perspective];
		
		if (! sizeToColorMap[size]) sizeToColorMap[size] = {};
		var colorToUrlMap = sizeToColorMap[size];
		
		var imageObj = {
			url: url
		};
		
		colorToUrlMap[color] = imageObj;
	}
	function setProductImageUrl(product, perspective)
	{
		var pdpAreaWidth = jQuery('#productAreaWidth').width();
		var size = (pdpAreaWidth >= 635) ? 350 : 240;
		var color = jQuery('#color_' + product + ' option:selected').attr("value");
		if (!color) color = 0;
		if (! perspective) perspective = getFirstKeyFromMap(productImageToUrlMapping[product]);
		if (! size) size = getFirstKeyFromMap(productImageToUrlMapping[product][perspective]);
		if (! color) color = getFirstKeyFromMap(productImageToUrlMapping[product][perspective][size]);
		
		jQuery('#mainimg').attr('src', productImageToUrlMapping[product][perspective][size][color].url);
	}
	
	function populateOtherProducts(productId, caption, productimageurl)
	{
		var otherProductObj = {
			id: productId,
			caption: caption,
			imageurl: productimageurl
		};
		pdpOtherProducts.push(otherProductObj);
	}
	function carouselItemLoadCallback(carousel, state)
	{
		var items = pdpOtherProducts;
	    for (var i = carousel.first; i <= carousel.last; i++) {
	        if (carousel.has(i)) {
	            continue;
	        }
	
	        if (i > items.length) {
	            break;
	        }
	        
	        carousel.add(i, carouselGetItemHTML(items[i-1]));
	    }
	};
	function carouselGetItemHTML(item)
	{
	    return '<div class="carouselitem"><a href="' + getUrl(item.id) + '"><img src="' + item.imageurl + '" alt="' + item.caption + '" /></a><br/><a href="' + getUrl(item.id) + '">' + item.caption + '</a></div>';
	};
	function getUrl(productId)
	{
		var url = document.URL;
		var dotIndex = url.lastIndexOf('.');
		var url2 = url.substring(0, dotIndex+1);
		return url2 + productId;
	};
	function getFirstKeyFromMap(map) {
		for (key in map) {
			return key;
		}
	}	
	addProductImage(330725070,'Front',6, 350, 'http://images0.cafepress.com/product/330725070v4_350x350_Front_Color-Black.jpg')
addProductImage(330725070,'Front',22, 350, 'http://images0.cafepress.com/product/330725070v4_350x350_Front_Color-Cardinal.jpg')
addProductImage(330725070,'Front',26, 350, 'http://images0.cafepress.com/product/330725070v4_350x350_Front_Color-Navy.jpg')
addProductImage(330725070,'Front',27, 350, 'http://images0.cafepress.com/product/330725070v4_350x350_Front_Color-MilitaryGreen.jpg')
addProductImage(330725070,'Front',9, 350, 'http://images0.cafepress.com/product/330725070v4_350x350_Front_Color-Red.jpg')
addProductImage(330725070,'Front',29, 350, 'http://images0.cafepress.com/product/330725070v4_350x350_Front_Color-Royal.jpg')
addProductImage(330725070,'Front',28, 350, 'http://images0.cafepress.com/product/330725070v4_350x350_Front_Color-Brown.jpg')
addProductImage(330725070,'Front',30, 350, 'http://images0.cafepress.com/product/330725070v4_350x350_Front_Color-Charcoal.jpg')
addProductImage(330725070,'Front',6, 240, 'http://images0.cafepress.com/product/330725070v4_240x240_Front_Color-Black.jpg')
addProductImage(330725070,'Front',22, 240, 'http://images0.cafepress.com/product/330725070v4_240x240_Front_Color-Cardinal.jpg')
addProductImage(330725070,'Front',26, 240, 'http://images0.cafepress.com/product/330725070v4_240x240_Front_Color-Navy.jpg')
addProductImage(330725070,'Front',27, 240, 'http://images0.cafepress.com/product/330725070v4_240x240_Front_Color-MilitaryGreen.jpg')
addProductImage(330725070,'Front',9, 240, 'http://images0.cafepress.com/product/330725070v4_240x240_Front_Color-Red.jpg')
addProductImage(330725070,'Front',29, 240, 'http://images0.cafepress.com/product/330725070v4_240x240_Front_Color-Royal.jpg')
addProductImage(330725070,'Front',28, 240, 'http://images0.cafepress.com/product/330725070v4_240x240_Front_Color-Brown.jpg')
addProductImage(330725070,'Front',30, 240, 'http://images0.cafepress.com/product/330725070v4_240x240_Front_Color-Charcoal.jpg')
addProductImage(330725070,'Front',6, 48, 'http://images0.cafepress.com/product/330725070v4_48x48_Front_Color-Black.jpg')
addProductImage(330725070,'Front',22, 48, 'http://images0.cafepress.com/product/330725070v4_48x48_Front_Color-Cardinal.jpg')
addProductImage(330725070,'Front',26, 48, 'http://images0.cafepress.com/product/330725070v4_48x48_Front_Color-Navy.jpg')
addProductImage(330725070,'Front',27, 48, 'http://images0.cafepress.com/product/330725070v4_48x48_Front_Color-MilitaryGreen.jpg')
addProductImage(330725070,'Front',9, 48, 'http://images0.cafepress.com/product/330725070v4_48x48_Front_Color-Red.jpg')
addProductImage(330725070,'Front',29, 48, 'http://images0.cafepress.com/product/330725070v4_48x48_Front_Color-Royal.jpg')
addProductImage(330725070,'Front',28, 48, 'http://images0.cafepress.com/product/330725070v4_48x48_Front_Color-Brown.jpg')
addProductImage(330725070,'Front',30, 48, 'http://images0.cafepress.com/product/330725070v4_48x48_Front_Color-Charcoal.jpg')

	jQuery(document).ready(function() {
		var pdpAreaWidth = jQuery('#productAreaWidth').width();
		if (pdpAreaWidth >= 635){
			jQuery('#mainimg').attr('src','http://images0.cafepress.com/product/330725070v4_350x350_Front_Color-Navy.jpg');
			jQuery('#mainimg').css('height', 350);
		}
		if ("0" != "0" && "" != "")
		{
			jQuery('#mainimg').css("border", "0");
			jQuery('#mainimg').css("color", "");
		}else
		{
			jQuery('#mainimg').addClass("defaultimageborder");
			jQuery('#mainimg').removeClass("imageborder");
		}		

/*		if (pdpOtherProducts.length == 0)
			jQuery('#carouselcontainer').hide();		
		jQuery('#otherproductscarousel').jcarousel({
			size: pdpOtherProducts.length,
			itemLoadCallback: {
				onBeforeAnimation: carouselItemLoadCallback
			}
		});
*/
	});