var numOfProds;
var skuPickers = new Array();
var siteClarityItems = new Array();
function siteClarityItem(upc,name,price){this.upc=upc;this.name=name;this.price=price;}
document.observe('dom:loaded', function(){
	var productGUIs = $$('.aProduct');
	numOfProds = productGUIs.length;
	var i = 1;
	for(i=1;i<=numOfProds;i++){
		Event.observe(i+'enlargeProdImg', 'click', showProductEnlarged);
		Event.observe(i+'mainDisplay', 'click', showProductEnlarged);
		Event.observe(i+'evEnlargeCloseHandle', 'click', closeProductEnlarged);
		
		var pdImages = $(i+'imagesLookupTable').value;
		var needReplacing = pdImages.indexOf('.PD');
		
		while(needReplacing != -1){
			pdImages = pdImages.replace('.PD.','.CS.');
			needReplacing = pdImages.indexOf('.PD.');
		}
		var skuJSON = eval($(i+'lookupTable').value)[0];
		var hasSkus = false;
		for (sku in skuJSON){
			hasSkus = true;
			break;
		}
		if(hasSkus){
			Event.observe(i+'ProdSelector', 'click', toggleDisplay);
			Event.observe(i+'ProdDescSelector', 'click', toggleDisplay);
			skuPickers[i-1] = new skuPicker(skuJSON,''+i,'productDetail',eval(pdImages)[0], true);
			skuPickers[i-1].init();
		} else {
			if ($(i+'displayNameAndPrice')) {
				$$('#'+i+'displayNameAndPrice .notSale')[0].style.display = 'none';
				$$('#'+i+'displayNameAndPrice .onSale')[0].style.display = 'none';
				$$('#'+i+'displayNameAndPrice .salePrice')[0].style.display = 'none';
			}
			if ($(i+'Product')) {
				var checkHolder = $$('#'+i+'Product .checkBox')[0].parentNode;
				checkHolder.style.display = 'none';
			}
			$(i+'prodSelected').disabled = 'disabled';
			$(i+'ProdSelector').style.display = 'none';
			$(i+'ProdDescSelector').innerHTML = "So Hot It's Sold Out!";
			$(i+'ProdDescSelector').className = 'soldOut';
		}
	}
	Event.observe('outfitAddToBag','click',addOutFitToBag);
	Event.observe('outfitAddToWishlist','click',addOutFitToWishlist);
});

function showProductEnlarged(e){
	var i = 1;
	var element = Event.element(e);
	var productNumber = element.id.substring(0,1);
	var enlargeBox = $(productNumber+'enlargeImg')
	if(enlargeBox){
		for(i=1;i<=numOfProds;i++){
			if($(i+'enlargeImg')){
				$(i+'enlargeImg').style.display = 'none';
			}
		}
		enlargeBox.style.top = 50+getY()+"px";
		enlargeBox.style.display = 'block';
	}
}

function closeProductEnlarged(e){
	var i = 1;
	var element = Event.element(e);
	var productNumber = element.id.substring(0,1);
	var enlargeBox = $(productNumber+'enlargeImg')
	if(enlargeBox){
		enlargeBox.style.display = 'none';
	}
}

function toggleDisplay(e){
	var element = Event.element(e);
	var productNumber = element.id.substring(0,1);
	var selectorType = element.id.substring(1);

	var prodToToggle = null;
	if(selectorType == 'ProdSelector'){
		prodToToggle = $(productNumber + 'ProdPickerGUI');
		if(prodToToggle.style.display == 'none'){
			element.className = "selector Expand";
			prodToToggle.style.display = 'block';
			element.innerHTML = element.innerHTML.replace("Select","Hide");
		}else{
			element.className = "selector Collapse";
			prodToToggle.style.display = 'none';
			element.innerHTML = element.innerHTML.replace("Hide","Select");
		}
	}else if(selectorType == 'ProdDescSelector'){
		prodToToggle = $(productNumber + 'ProductDesc');
		if(prodToToggle.style.display == 'none'){
			element.className = "selector Expand";
			prodToToggle.style.display = 'block';
			element.innerHTML = element.innerHTML.replace("View","Hide");
		}else{
			element.className = "selector Collapse";
			prodToToggle.style.display = 'none';
			element.innerHTML = element.innerHTML.replace("Hide","View");
		}
	}else{return;}
}
function addOutFitToBag()
{
	var checkedProds = new Array();
	var selectedProds = new Array();
	var unSelectedProds = new Array();
	var doAddToBag = false;
	var url = $('multiAddURL').value+'?';

	for(i=1;i<=numOfProds;i++){
		if($(i+'prodSelected').checked){
			checkedProds.push(i);
			if($(i+'pid').value == ''){unSelectedProds.push(i);}
			else{selectedProds.push(i);}
		}
	}
	if(checkedProds.length > 0){
		if(unSelectedProds.length == 0){
			doAddToBag = true;
			$('addToCartMsg').style.display = 'none';
			$('addToCartSpinner').style.display = 'block';
		}else{
			$('addToCartMsg').innerHTML = 'Please select Color / Size for each product you have selected.';
		}
	}else{
		$('addToCartMsg').innerHTML = 'Please select at least one product before adding to bag.';
	}
	if(doAddToBag){
		for(i=0;i<selectedProds.length;i++){
			if(i==0){url += 'groups['+i+']=' + $(selectedProds[i]+'masterpid').value;}
			else{url += '&groups['+i+']=' + $(selectedProds[i]+'masterpid').value;}
			url += '&skus['+i+']=' + $(selectedProds[i]+'pid').value;
			url += '&quantities['+i+']=1';
			url += '&sources['+i+']=shopByOutfit';
			try{
				siteClarityItems[i] = new siteClarityItem($(selectedProds[i]+'pid').value,$$('#'+selectedProds[i]+'displayNameAndPrice .name')[0].innerHTML,skuPickers[selectedProds[i]-1].selectionStates.currentSKU.salesPrice.replace('$',''));
			}catch(err){}
		}
		url += '&cartType=1';
		url += '&decoParam=blank.jsp';

		var request = new Ajax.Request( url,{
			method:'get',
			onSuccess: function(transport){	      
				var success = request.transport.responseText.indexOf('successful cart add') > -1;
				if(success){
					var checkOutLink = $('shoppingBag').getElementsByTagName('a')[0];
		      	 	var checkOutLinkText = checkOutLink.innerHTML;
					var checkOutCount = checkOutLinkText.substring(checkOutLinkText.lastIndexOf('(')+1,checkOutLinkText.lastIndexOf(')'));
					var newCount = parseInt(checkOutCount) + selectedProds.length;
					checkOutLink.innerHTML = "Shopping Bag ("+newCount+")";
					$('addToCartSpinner').style.display = 'none';
					$('addToCartMsg').innerHTML = 'The items you selected were added to your bag.';
					$('addToCartMsg').style.display = 'block';
					$('shopBagCheckoutBtn').style.visibility = 'visible';
					if(siteClarityMultiAddBag)
						siteClarityMultiAddBag();
				}else{
					$('addToCartSpinner').style.display = 'none';
					$('addToCartMsg').innerHTML = "Error 24: Returned with failure.";
					$('addToCartMsg').style.display = 'block';
				}
			},
			onFailure: function(){
				$('addToCartSpinner').style.display = 'none';
				$('addToCartMsg').innerHTML = "Error 25: Returned with a 500 error.";
				$('addToCartMsg').style.display = 'block';
			}
		});
	}
}
function addOutFitToWishlist()
{
	var checkedProds = new Array();
	var selectedProds = new Array();
	var unSelectedProds = new Array();
	var doAddToWishList = false;
	var url = '?';

	var form = $('addToWishlistForm');

	for(i=1;i<=numOfProds;i++){
		if($(i+'prodSelected').checked){
			checkedProds.push(i);
			if($(i+'pid').value == ''){unSelectedProds.push(i);}
			else{selectedProds.push(i);}
		}
	}
	if(checkedProds.length > 0){
		if(unSelectedProds.length == 0){
			doAddToWishList = true;
			$('addToCartMsg').innerHTML = 'All checked items have complete selection.';
		}else{
			$('addToCartMsg').innerHTML = 'Please select Color / Size for each product you have selected.';
		}
	}else{
		$('addToCartMsg').innerHTML = 'please select at least one product before adding to closet.';
	}
	if(doAddToWishList){
		for(i=0;i<selectedProds.length;i++){
			if(i==0){url += 'groups['+i+']=' + $(selectedProds[i]+'masterpid').value;}
			else{url += '&groups['+i+']=' + $(selectedProds[i]+'masterpid').value;}
			url += '&skus['+i+']=' + $(selectedProds[i]+'pid').value;
			url += '&quantities['+i+']=1';
			url += '&sources['+i+']=shopByOutfit';
		}

		form.action = form.action + url + '&multiwishlist=true';

		form.submit();
		
	}
}
