
var thumbnailPerspective = "default";

var stockAvailabilityMap = new Array();
var stockMsgMap = new Array();
var colorStockAvailMap = new Array();
var sizeArray = new populateSizeMap();

var productSizeArrayPerColor = new Array();


   var productSize = new Object();
   productSize.id = 4;
   productSize.name = 'Small';
   productSize.isDefault = 'False'.toLowerCase();
   productSizeArrayPerColor[0] = productSize;
   
   

   var productSize = new Object();
   productSize.id = 5;
   productSize.name = 'Medium';
   productSize.isDefault = 'False'.toLowerCase();
   productSizeArrayPerColor[1] = productSize;
   
   

   var productSize = new Object();
   productSize.id = 6;
   productSize.name = 'Large';
   productSize.isDefault = 'True'.toLowerCase();
   productSizeArrayPerColor[2] = productSize;
   
   

   var productSize = new Object();
   productSize.id = 7;
   productSize.name = 'X-Large';
   productSize.isDefault = 'False'.toLowerCase();
   productSizeArrayPerColor[3] = productSize;
   
   

   var productSize = new Object();
   productSize.id = 8;
   productSize.name = '2X-Large (+$3.00)';
   productSize.isDefault = 'False'.toLowerCase();
   productSizeArrayPerColor[4] = productSize;
   
   

   var productSize = new Object();
   productSize.id = 9;
   productSize.name = '3X-Large (+$3.00)';
   productSize.isDefault = 'False'.toLowerCase();
   productSizeArrayPerColor[5] = productSize;
   
   
   stockAvailabilityMap[6] = productSizeArrayPerColor;


var productSizeArrayPerColor = new Array();


   var productSize = new Object();
   productSize.id = 4;
   productSize.name = 'Small';
   productSize.isDefault = 'False'.toLowerCase();
   productSizeArrayPerColor[0] = productSize;
   
   

   var productSize = new Object();
   productSize.id = 5;
   productSize.name = 'Medium';
   productSize.isDefault = 'False'.toLowerCase();
   productSizeArrayPerColor[1] = productSize;
   
   

   var productSize = new Object();
   productSize.id = 6;
   productSize.name = 'Large';
   productSize.isDefault = 'True'.toLowerCase();
   productSizeArrayPerColor[2] = productSize;
   
   

   var productSize = new Object();
   productSize.id = 7;
   productSize.name = 'X-Large';
   productSize.isDefault = 'False'.toLowerCase();
   productSizeArrayPerColor[3] = productSize;
   
   

   var productSize = new Object();
   productSize.id = 8;
   productSize.name = '2X-Large (+$3.00)';
   productSize.isDefault = 'False'.toLowerCase();
   productSizeArrayPerColor[4] = productSize;
   
   

   var productSize = new Object();
   productSize.id = 9;
   productSize.name = '3X-Large (+$3.00)';
   productSize.isDefault = 'False'.toLowerCase();
   productSizeArrayPerColor[5] = productSize;
   
   
   stockAvailabilityMap[22] = productSizeArrayPerColor;


var productSizeArrayPerColor = new Array();


   var productSize = new Object();
   productSize.id = 4;
   productSize.name = 'Small';
   productSize.isDefault = 'False'.toLowerCase();
   productSizeArrayPerColor[0] = productSize;
   
   

   var productSize = new Object();
   productSize.id = 5;
   productSize.name = 'Medium';
   productSize.isDefault = 'False'.toLowerCase();
   productSizeArrayPerColor[1] = productSize;
   
   

   var productSize = new Object();
   productSize.id = 6;
   productSize.name = 'Large';
   productSize.isDefault = 'True'.toLowerCase();
   productSizeArrayPerColor[2] = productSize;
   
   

   var productSize = new Object();
   productSize.id = 7;
   productSize.name = 'X-Large';
   productSize.isDefault = 'False'.toLowerCase();
   productSizeArrayPerColor[3] = productSize;
   
   

   var productSize = new Object();
   productSize.id = 8;
   productSize.name = '2X-Large (+$3.00)';
   productSize.isDefault = 'False'.toLowerCase();
   productSizeArrayPerColor[4] = productSize;
   
   

   var productSize = new Object();
   productSize.id = 9;
   productSize.name = '3X-Large (+$3.00)';
   productSize.isDefault = 'False'.toLowerCase();
   productSizeArrayPerColor[5] = productSize;
   
   
   stockAvailabilityMap[26] = productSizeArrayPerColor;


var productSizeArrayPerColor = new Array();


   var productSize = new Object();
   productSize.id = 4;
   productSize.name = 'Small';
   productSize.isDefault = 'False'.toLowerCase();
   productSizeArrayPerColor[0] = productSize;
   
   

   var productSize = new Object();
   productSize.id = 5;
   productSize.name = 'Medium';
   productSize.isDefault = 'False'.toLowerCase();
   productSizeArrayPerColor[1] = productSize;
   
   

   var productSize = new Object();
   productSize.id = 6;
   productSize.name = 'Large';
   productSize.isDefault = 'True'.toLowerCase();
   productSizeArrayPerColor[2] = productSize;
   
   

   var productSize = new Object();
   productSize.id = 7;
   productSize.name = 'X-Large';
   productSize.isDefault = 'False'.toLowerCase();
   productSizeArrayPerColor[3] = productSize;
   
   

   var productSize = new Object();
   productSize.id = 8;
   productSize.name = '2X-Large (+$3.00)';
   productSize.isDefault = 'False'.toLowerCase();
   productSizeArrayPerColor[4] = productSize;
   
   
   stockAvailabilityMap[27] = productSizeArrayPerColor;


var productSizeArrayPerColor = new Array();


   var productSize = new Object();
   productSize.id = 4;
   productSize.name = 'Small';
   productSize.isDefault = 'False'.toLowerCase();
   productSizeArrayPerColor[0] = productSize;
   
   

   var productSize = new Object();
   productSize.id = 5;
   productSize.name = 'Medium';
   productSize.isDefault = 'False'.toLowerCase();
   productSizeArrayPerColor[1] = productSize;
   
   

   var productSize = new Object();
   productSize.id = 6;
   productSize.name = 'Large';
   productSize.isDefault = 'True'.toLowerCase();
   productSizeArrayPerColor[2] = productSize;
   
   

   var productSize = new Object();
   productSize.id = 7;
   productSize.name = 'X-Large';
   productSize.isDefault = 'False'.toLowerCase();
   productSizeArrayPerColor[3] = productSize;
   
   

   var productSize = new Object();
   productSize.id = 8;
   productSize.name = '2X-Large (+$3.00)';
   productSize.isDefault = 'False'.toLowerCase();
   productSizeArrayPerColor[4] = productSize;
   
   

   var productSize = new Object();
   productSize.id = 9;
   productSize.name = '3X-Large (+$3.00)';
   productSize.isDefault = 'False'.toLowerCase();
   productSizeArrayPerColor[5] = productSize;
   
   
   stockAvailabilityMap[9] = productSizeArrayPerColor;


var productSizeArrayPerColor = new Array();


   var productSize = new Object();
   productSize.id = 4;
   productSize.name = 'Small';
   productSize.isDefault = 'False'.toLowerCase();
   productSizeArrayPerColor[0] = productSize;
   
   
	
   var mapKey = createMessageMapKey(29, 4);
   stockMsgMap[mapKey] = new Object();
   stockMsgMap[mapKey].message = 'In Stock.';
   stockMsgMap[mapKey].isAddToCartable = 'True'.toLowerCase();
   


   var productSize = new Object();
   productSize.id = 5;
   productSize.name = 'Medium';
   productSize.isDefault = 'False'.toLowerCase();
   productSizeArrayPerColor[1] = productSize;
   
   

   var productSize = new Object();
   productSize.id = 6;
   productSize.name = 'Large';
   productSize.isDefault = 'True'.toLowerCase();
   productSizeArrayPerColor[2] = productSize;
   
   

   var productSize = new Object();
   productSize.id = 7;
   productSize.name = 'X-Large';
   productSize.isDefault = 'False'.toLowerCase();
   productSizeArrayPerColor[3] = productSize;
   
   

   var productSize = new Object();
   productSize.id = 8;
   productSize.name = '2X-Large (+$3.00)';
   productSize.isDefault = 'False'.toLowerCase();
   productSizeArrayPerColor[4] = productSize;
   
   

   var productSize = new Object();
   productSize.id = 9;
   productSize.name = '3X-Large (+$3.00)';
   productSize.isDefault = 'False'.toLowerCase();
   productSizeArrayPerColor[5] = productSize;
   
   
   stockAvailabilityMap[29] = productSizeArrayPerColor;


var productSizeArrayPerColor = new Array();


   var productSize = new Object();
   productSize.id = 4;
   productSize.name = 'Small';
   productSize.isDefault = 'False'.toLowerCase();
   productSizeArrayPerColor[0] = productSize;
   
   

   var productSize = new Object();
   productSize.id = 5;
   productSize.name = 'Medium';
   productSize.isDefault = 'False'.toLowerCase();
   productSizeArrayPerColor[1] = productSize;
   
   

   var productSize = new Object();
   productSize.id = 6;
   productSize.name = 'Large';
   productSize.isDefault = 'True'.toLowerCase();
   productSizeArrayPerColor[2] = productSize;
   
   

   var productSize = new Object();
   productSize.id = 7;
   productSize.name = 'X-Large';
   productSize.isDefault = 'False'.toLowerCase();
   productSizeArrayPerColor[3] = productSize;
   
   

   var productSize = new Object();
   productSize.id = 8;
   productSize.name = '2X-Large (+$3.00)';
   productSize.isDefault = 'False'.toLowerCase();
   productSizeArrayPerColor[4] = productSize;
   
   

   var productSize = new Object();
   productSize.id = 9;
   productSize.name = '3X-Large (+$3.00)';
   productSize.isDefault = 'False'.toLowerCase();
   productSizeArrayPerColor[5] = productSize;
   
   
   stockAvailabilityMap[28] = productSizeArrayPerColor;


var productSizeArrayPerColor = new Array();


   var productSize = new Object();
   productSize.id = 4;
   productSize.name = 'Small';
   productSize.isDefault = 'False'.toLowerCase();
   productSizeArrayPerColor[0] = productSize;
   
   

   var productSize = new Object();
   productSize.id = 5;
   productSize.name = 'Medium';
   productSize.isDefault = 'False'.toLowerCase();
   productSizeArrayPerColor[1] = productSize;
   
   

   var productSize = new Object();
   productSize.id = 6;
   productSize.name = 'Large';
   productSize.isDefault = 'True'.toLowerCase();
   productSizeArrayPerColor[2] = productSize;
   
   

   var productSize = new Object();
   productSize.id = 7;
   productSize.name = 'X-Large';
   productSize.isDefault = 'False'.toLowerCase();
   productSizeArrayPerColor[3] = productSize;
   
   

   var productSize = new Object();
   productSize.id = 8;
   productSize.name = '2X-Large (+$3.00)';
   productSize.isDefault = 'False'.toLowerCase();
   productSizeArrayPerColor[4] = productSize;
   
   

   var productSize = new Object();
   productSize.id = 9;
   productSize.name = '3X-Large (+$3.00)';
   productSize.isDefault = 'False'.toLowerCase();
   productSizeArrayPerColor[5] = productSize;
   
   
   stockAvailabilityMap[30] = productSizeArrayPerColor;



function populateSizeMap() {
	var myMap = new Array();
	
	
	var productSize = new Object();
	productSize.id = 4;
	productSize.priceDiff = 0;
	myMap[0] = productSize;
	
	var productSize = new Object();
	productSize.id = 5;
	productSize.priceDiff = 0;
	myMap[1] = productSize;
	
	var productSize = new Object();
	productSize.id = 6;
	productSize.priceDiff = 0;
	myMap[2] = productSize;
	
	var productSize = new Object();
	productSize.id = 7;
	productSize.priceDiff = 0;
	myMap[3] = productSize;
	
	var productSize = new Object();
	productSize.id = 8;
	productSize.priceDiff = 3;
	myMap[4] = productSize;
	
	var productSize = new Object();
	productSize.id = 9;
	productSize.priceDiff = 3;
	myMap[5] = productSize;
	
	return myMap;
}

function refreshPrice(sizeId) {
	// blat default sellprice and if product on sale, saleprice, into priceDiv div
	var priceStr = '<span id="sellPriceId">$26.99</span>';
	var priceDiv = document.getElementById('priceDiv');
	if (priceDiv != undefined) {
		priceDiv.innerHTML = '<span class="customize_price" >' + priceStr + '</span>';
	}

	var sellPrice = parseFloat('26.99');
	var sizeDiffPrice = 0.00;
	
	//add price diff according to size chosen
	for (var x in sizeArray) {
		if (sizeArray[x].id == sizeId) {
			sizeDiffPrice = parseFloat(sizeArray[x].priceDiff);
			sellPrice += sizeDiffPrice;
			break;
		}
	}
	
	// replace sellprice and also saleprice (if applicable)
	var curRate = 1;
	var curSign = '$';
	var curCode = "";
	if ('USD' != 'USD')
		curCode = ' ('+'USD'+')';
	var sellPriceId = document.getElementById('sellPriceId');
	if (sellPriceId != undefined) {
		var sellPriceConverted = sellPrice * curRate;
		sellPriceId.innerHTML = curSign + sellPriceConverted.toFixed(2) + curCode;
		var salePriceId = document.getElementById('salePriceId');
		if (salePriceId != undefined) {
			var markdown = parseFloat('0');
			var salePrice = sellPrice - markdown;
			var salePriceConverted = salePrice * curRate;
			salePriceId.innerHTML = curSign + salePriceConverted.toFixed(2) + curCode;
		}
	}
}

function refreshSizeDropDown(sizeDropDownId, colorDropDownId) {
	var sizeDropDown = document.getElementById(sizeDropDownId);
	var colorDropDown = document.getElementById(colorDropDownId);
	var colorVal = colorDropDown != null ? colorDropDown.options[colorDropDown.options.selectedIndex].value : '0';
	
	var productSizeArray = stockAvailabilityMap[colorVal];
	
	if (sizeDropDown) {
		if(sizeDropDown.options.length > 0)
		{
			var defaultValue = sizeDropDown.options[sizeDropDown.options.selectedIndex].value;
		}else
		{
			var defaultValue=0;
		}
		sizeDropDown.options.length=0;
		var x;
		for (x in productSizeArray) {
			sizeDropDown.options[x] = new Option(productSizeArray[x].name, productSizeArray[x].id, productSizeArray[x].isDefault=='true', productSizeArray[x].id==defaultValue);
		}
	}
}

function createMessageMapKey(colorVal, sizeVal) {
	return colorVal + "_" + sizeVal;
}

function refreshAvailabilityMessage() {
	var sizeDropDown = document.getElementById('size_330725070');
	var colorDropDown = document.getElementById('color_330725070');
	var colorVal = colorDropDown != null ? colorDropDown.options[colorDropDown.options.selectedIndex].value : '0';
	var sizeVal = 0;

	if(sizeDropDown != null && sizeDropDown.options.length > 0)
	{
		sizeVal = sizeDropDown.options[sizeDropDown.options.selectedIndex].value;
	}

	var key = createMessageMapKey(colorVal, sizeVal);
	//look it up
	if (stockMsgMap) {
		var stockOverride = stockMsgMap[key];
		var availabilityMsg = document.getElementById("availabilityMessage");
		if (availabilityMsg != null) {
			if (stockOverride != null) {
				availabilityMsg.innerHTML = "Availability: " + stockOverride.message;
			} else {
				availabilityMsg.innerHTML = "Availability: " + "In Stock.";
			}
			if (stockOverride != undefined && stockOverride != null && stockOverride.isAddToCartable == 'false') {
				availabilityMsg.style.color = "red";
				if (sizeDropDown)
				{
					sizeDropDown.disabled = true;
				}
			} else {
				availabilityMsg.style.color = "black";
				if (sizeDropDown)
				{
					sizeDropDown.disabled = false;
				}
			}
		}
		var addToCartSection = document.getElementById("addToCartSection");
		if (addToCartSection != undefined) {
			if (stockOverride != undefined && stockOverride != null && stockOverride.isAddToCartable == 'false') {
				addToCartSection.style.visibility = "hidden";
			} else {
				addToCartSection.style.visibility = "visible";
			}
		}
	}
}

function changeDefaultColor(newColor) {
	var colorLabel = document.getElementById('defaultColor');
	if (colorLabel != undefined) {
		colorLabel.innerHTML = newColor;
	}
}

function removeNonNumbers(mytextbox) {
	var myNumbers = "0123456789";
	var w = "";
	for (i=0; i < mytextbox.value.length; i++) {
		x = mytextbox.value.charAt(i);
		if (myNumbers.indexOf(x,0) != -1) {
			w += x;
		}
	}
	mytextbox.value = w;
}

function validateQty(qty){
	if (qty.value > 255)
	{
		alert("Quantity cannot exceed 255!");
		qty.value = 255;
		qty.focus();
		return false;
	}
	return true;		
}
