var chose5xl = false;

if ($("bundle-option-color-white")) {
	$("bundle-option-color-white").setAttribute("selected", "selected");
}

function removeColor(color) {
	if($("bundle-option-color-" + color)) {
		$("bundle-option-color-" + color).remove();
	}
}

function modifyShirtSelection(elem) {
	var type = "style";
	var text = elem.options[1].text;
	if(text.match(/ash|black|blue|brown|green|light blue|orange|pink|red|tan|white|yellow/i)) {
		type = "color";
	} else if(text.match(/small|medium|large|xl|2xl|3xl|4xl|5xl/i)) {
		type = "size";
		text = elem.options[elem.selectedIndex].text;
	}
	
	var style = getCurrentStyle();
	if(type == "style") {
		setShirtColors(style);
		setShirtSizes(style);
		setShirtImage();
	} else if(type == "color") {
		setShirtImage();
	} else if(type == "style" && style == "womens_spaghetti_tank") {
		// Remove yellow from womens spaghetti tank
		removeColor("pink");
	} else if(type == "size" && style == "mens_regular" && text.match(/5xl|4xl/i)) {
		resetShirtColors();
		// Remove all except ash, black, blue, red, white
		removeColor("brown");
		removeColor("green");
		removeColor("light blue");
		removeColor("orange");
		removeColor("pink");
		removeColor("tan");
		removeColor("yellow");
		chose5xl = true;
	} else if(type == "size" && "mens_regular" == getCurrentStyle() && chose5xl) {
		chose5xl = false;
		resetShirtColors();
		removeColor("pink");
	}
}

function getShirtStyle(text) {
	var retval = "mens_regular";
	text = text.replace(/[^A-Za-z]/g, "");
	switch(text) {
		case "MensTall":
			retval = "mens_tall";
			break;
		case "MensRinger":
			retval = "mens_ringer";
			break;
		case "MensSleeveless":
			retval = "mens_sleeveless";
			break;
		case "MensLongSleeve":
			retval = "mens_long_sleeve";
			break;
		case "Hoodie":
			retval = "hoodies";
			break;
		case "WomensRegular":
			retval = "womens_regular";
			break;
		case "WomensRegularTank":
			retval = "womens_regular_tank";
			break;
		case "WomensRinger":
			retval = "womens_ringer";
			break;
		case "WomensBabydoll":
			retval = "womens_babydoll";
			break;
		case "WomensSpaghettiTank":
			retval = "womens_spaghetti_tank";
			break;
		case "BabyTee":
			retval = "baby_tee";
			break;
		case "MensRegular":
		default:
			break;
	}
	return retval;
}

function getStyleSelect() {
	return document.getElementsByTagName('select').item(0);
}

function getColorSelect() {
	return document.getElementsByTagName('select').item(2);
}

function getSizeSelect() {
	return document.getElementsByTagName('select').item(1);
}

var originalShirtColors = "";
var originalShirtSizes = "";
function loadShirtSelectData() {
	if(document.getElementsByTagName("select").length > 0) {
		originalShirtColors = Object.clone(getColorSelect().options);
		originalShirtSizes = Object.clone(getSizeSelect().options);
		$("bundle-option-color-pink").remove();
	}
}

function resetShirtColors() {
	for(var i = 1; i < getColorSelect().size; i++) {
		getColorSelect().options[i] = null;
	}
	for(var i = 1; i < originalShirtColors.length; i++) {
		getColorSelect().appendChild(originalShirtColors[i]);
	}
}

function resetShirtSizes() {
	for(var i = 1; i < getSizeSelect().size; i++) {
		getSizeSelect().options[i] = null;
	}
	for(var i = 1; i < originalShirtSizes.length; i++) {
		getSizeSelect().appendChild(originalShirtSizes[i]);
	}
}

function setShirtColors(style) {
	resetShirtColors();
	getColorSelect().selectedIndex = 0;
	switch(style) {
		case "mens_tall":
			// Remove all except black & white
			removeColor("ash");
			removeColor("blue");
			removeColor("brown");
			removeColor("green");
			removeColor("light blue");
			removeColor("orange");
			removeColor("pink");
			removeColor("red");
			removeColor("tan");
			removeColor("yellow");
			break;
		case "mens_ringer":
			// Remove all except black, blue, red
			removeColor("ash");
			removeColor("brown");
			removeColor("green");
			removeColor("light blue");
			removeColor("orange");
			removeColor("pink");
			removeColor("tan");
			removeColor("white");
			removeColor("yellow");
			break;
		case "mens_sleeveless":
			// Remove all except ash, black, blue, red, white
			removeColor("brown");
			removeColor("green");
			removeColor("light blue");
			removeColor("orange");
			removeColor("pink");
			removeColor("tan");
			removeColor("yellow");
			break;
		case "mens_long_sleeve":
			// Remove all except ash, black, white
			removeColor("blue");
			removeColor("brown");
			removeColor("green");
			removeColor("light blue");
			removeColor("orange");
			removeColor("pink");
			removeColor("red");
			removeColor("tan");
			removeColor("yellow");
			break;
		case "hoodies":
			// Remove all except ash, black, blue, brown, pink, tan, white
			removeColor("green");
			removeColor("light blue");
			removeColor("orange");
			removeColor("red");
			removeColor("yellow");
			break;
		case "womens_regular":
			// Remove all except black, light blue, pink, red, white, yellow
			removeColor("ash");
			removeColor("blue");
			removeColor("brown");
			removeColor("green");
			removeColor("orange");
			removeColor("tan");
			break;
		case "womens_regular_tank":
			// Remove all except pink, white
			removeColor("ash");
			removeColor("black");
			removeColor("blue");
			removeColor("brown");
			removeColor("green");
			removeColor("light blue");
			removeColor("orange");
			removeColor("red");
			removeColor("tan");
			removeColor("yellow");
			break;
		case "womens_ringer":
			// Remove all except black, red
			removeColor("ash");
			removeColor("blue");
			removeColor("brown");
			removeColor("green");
			removeColor("light blue");
			removeColor("orange");
			removeColor("pink");
			removeColor("tan");
			removeColor("white");
			removeColor("yellow");
			break;
		case "womens_babydoll":
			// Remove all except black, light blue, pink, red, white
			removeColor("ash");
			removeColor("blue");
			removeColor("brown");
			removeColor("green");
			removeColor("orange");
			removeColor("tan");
			removeColor("yellow");
			break;
		case "womens_spaghetti_tank":
			// Remove all except pink, white, yellow
			removeColor("ash");
			removeColor("black");
			removeColor("blue");
			removeColor("brown");
			removeColor("green");
			removeColor("light blue");
			removeColor("orange");
			removeColor("red");
			removeColor("tan");
			break;
		case "baby_tee":
			// Remove all except white
			removeColor("ash");
			removeColor("black");
			removeColor("blue");
			removeColor("brown");
			removeColor("green");
			removeColor("light blue");
			removeColor("orange");
			removeColor("red");
			removeColor("tan");
			removeColor("pink");
			removeColor("yellow");
		case "mens_regular":
		default:
			// Remove all except ash, black, blue, brown, green, light blue, orange
			// red, tan, white, yellow
			removeColor("pink");
			break;
	}
}

function removeSize(size) {
	if($("bundle-option-size-" + size)) {
		$("bundle-option-size-" + size).remove();
	}
}

function setShirtSizes(style) {
	resetShirtSizes();
	getSizeSelect().selectedIndex = 0;
	switch(style) {
		case "mens_tall":
			removeSize("3xl");
			removeSize("4xl");
			removeSize("5xl");
			break;
		case "mens_ringer":
			removeSize("4xl");
			removeSize("5xl");
			break;
		case "mens_sleeveless":
			removeSize("3xl");
			removeSize("4xl");
			removeSize("5xl");
			break;
		case "mens_long_sleeve":
			removeSize("4xl");
			removeSize("5xl");
			break;
		case "hoodies":
			removeSize("3xl");
			removeSize("4xl");
			removeSize("5xl");
			break;
		case "womens_regular":
			removeSize("3xl");
			removeSize("4xl");
			removeSize("5xl");
			break;
		case "womens_regular_tank":
			removeSize("3xl");
			removeSize("4xl");
			removeSize("5xl");
			break;
		case "womens_ringer":
			removeSize("3xl");
			removeSize("4xl");
			removeSize("5xl");
			break;
		case "womens_babydoll":
			removeSize("3xl");
			removeSize("4xl");
			removeSize("5xl");
			break;
		case "womens_spaghetti_tank":
			removeSize("3xl");
			removeSize("4xl");
			removeSize("5xl");
			break;
		case "mens_regular":
		default:
			break;
	}
}

function getCurrentStyle() {
	var retval = "";
	var elem = document.getElementsByClassName("bundle-option-style")[0];
	for(i = 0; i < elem.options.length; i++) {
		if(elem.options[i].value == elem.getValue()) {
			retval = getShirtStyle(elem.options[i].text);
			break;
		}
	}
	return retval;
}

function getCurrentColor() {
	var retval = "";
	var elem = document.getElementsByClassName("bundle-option-color")[0];
	for(i = 0; i < elem.options.length; i++) {
		if(elem.options[i].value == elem.getValue()) {
			retval = getShirtColor(elem.options[i].text);
			break;
		}
	}
	return retval;
}

function getShirtColor(text) {
	var retval = "white";
	text = text.replace(/[^A-Za-z]/g, "");
	switch(text) {
		case "Ash":
			retval = "ash";
			break;
		case "Black":
			retval = "black";
			break;
		case "Blue":
			retval = "blue";
			break;
		case "Brown":
			retval = "brown";
			break;
		case "Green":
			retval = "green";
			break;
		case "LightBlue":
			retval = "light_blue";
			break;
		case "Orange":
			retval = "orange";
			break;
		case "Pink":
			retval = "pink";
			break;
		case "Red":
			retval = "red";
			break;
		case "Tan":
			retval = "tan";
			break;
		case "Yellow":
			retval = "yellow";
			break;
		case "White":
		default:
			break;
	}
	return retval;
}

function setShirtImage() {
	var style = getCurrentStyle();
	var color = getCurrentColor();
	if((style == "mens_ringer" || style == "womens_ringer") && color == "white") {
		color = "black";
	}
	var path = style + "/" + color + ".png";
	var backgroundStyle = "transparent url(/skin/frontend/default/btp_dark/images/shirts/" + path + ")";
	$("product-img-box").setStyle({background: backgroundStyle});
}

function setupShirt() {}
