var maxChipColors = 10;

var countBreakDowns = new Array(6);
countBreakDowns['200'] = new Array(50,50,50,50);
countBreakDowns['240'] = new Array(90,60,60,30);
countBreakDowns['300'] = new Array(100,100,50,50);
countBreakDowns['350'] = new Array(125,125,50,50);
countBreakDowns['500'] = new Array(150,150,100,50,50);
countBreakDowns['550'] = new Array(175,175,100,50,50);
countBreakDowns['600'] = new Array(175,175,150,100,0);
countBreakDowns['650'] = new Array(175,175,150,100,50);
countBreakDowns['1000'] = new Array(250,250,200,200,100);

function switchSubCat(type,indexId){
	var oldId = type+'cat_'+curSubCats[type];
	var newId = type+'cat_'+indexId;
	var oldRadio = 'radio_'+curSubCats[type];
	var newRadio = 'radio_'+indexId;
	document.getElementById(oldRadio).className='radio';
	document.getElementById(newRadio).className='radio curRadio';
	var oldCat = document.getElementById(oldId);
	var newCat = document.getElementById(newId);
	addClass(oldCat,'hidden');
	remClass(newCat,'hidden');
	curSubCats[type] = indexId;
}


function switchDetail(type,indexId){
	var oldId = curDetails[type];
	var newId = type+'_'+indexId;
	var oldCat = document.getElementById(oldId);
	var newCat = document.getElementById(newId);
	addClass(oldCat,'hidden');
	remClass(newCat,'hidden');
	
	var effect_2 = new Effect.Highlight(newId,{duration:1.2});

	var oldLinkId = 'link_' + oldId;
	var newLinkId = 'link_' + newId;
	var oldLink = document.getElementById(oldLinkId);
	var newLink = document.getElementById(newLinkId);
	remClass(oldLink,'curPart');
	addClass(newLink,'curPart');
	
	curDetails[type] = newId;

	chooseItem(type,indexId);
}

function switchCC(styleId,colorId){
	var oldId = 'cc_'+styleId+'_'+document.getElementById('cur_cc_'+styleId).value;
	var newId = 'cc_'+styleId+'_'+colorId;
	var oldPic = document.getElementById(oldId);
	var newPic = document.getElementById(newId);
	addClass(oldPic,'hidden');
	remClass(newPic,'hidden');

	var oldLId = 'ccl_'+styleId+'_'+document.getElementById('cur_cc_'+styleId).value;
	var newLId = 'ccl_'+styleId+'_'+colorId;
	var oldLink = document.getElementById(oldLId);
	var newLink = document.getElementById(newLId);
	remClass(oldLink,'curColor');	
	addClass(newLink,'curColor');	
	document.getElementById('cur_cc_'+styleId).value=colorId;
}

function chooseItem(type,indexId){
	if(type=='case'){
	    chooseCase(indexId);
	}else{
	    chooseChip(indexId);
	}
	redistribute();
}

function chooseChip(indexId){
	selectedChipId = indexId;
	var thumbString = document.getElementById('chip_'+indexId+'_thumb').innerHTML;
	document.getElementById('chipStyleThumb').innerHTML = thumbString;
	
	var title = document.getElementById('chip_'+indexId+'_title').value;
	document.getElementById('chipStyleTitle').innerHTML = title;

	var effect_2 = new Effect.Highlight('chipStyleTitle',{duration:1.2});
	var effect_3 = new Effect.Highlight('chipStyleThumb',{duration:1.2});

	var numColors = document.getElementById('chip_'+indexId+'_colors').value;
	for(i=1;i<=numColors;i++){
		thumbString = document.getElementById('chip_'+indexId+'_'+i+'_thumb').innerHTML;
		document.getElementById('colorThumb'+i).innerHTML = thumbString;
		title = document.getElementById('chip_'+indexId+'_'+i+'_title').value;
	        document.getElementById('colorTitle'+i).innerHTML = title;

		var effect_4 = new Effect.Highlight('colorTitle'+i,{duration:1.2});		

		price = document.getElementById('chip_'+indexId+'_'+i+'_price').value;
	        document.getElementById('colorPrice'+i).innerHTML = price;

	        colorId = document.getElementById('chip_'+indexId+'_'+i+'_indexId').value;
		document.getElementById('colorId'+i).value = colorId;
		document.getElementById('colorAdd'+i).name = 'cart_0_subItem';
		var rowGroup = 	document.getElementById('chipColor'+i);	
		remClass(rowGroup,'hidden');
		recalcChip(i);
	}	
	
	var numColorsInt = numColors-0;
	curChipColors = numColorsInt;
	//alert(numColorsInt+1);	
	for(i=numColorsInt+1;i<=maxChipColors;i++){
		//alert('clearing for ' + i);
		document.getElementById('colorThumb'+i).innerHTML = 'N/A';
	        document.getElementById('colorTitle'+i).innerHTML = 'N/A';
		document.getElementById('colorNum'+i).value = '0';	
		document.getElementById('colorId'+i).value = '';
		document.getElementById('colorAdd'+i).name = '';
		var rowGroup = 	document.getElementById('chipColor'+i);	
		addClass(rowGroup,'hidden');
	}
	
	
}	

function chooseCase(indexId){
	var thumbString = document.getElementById('case_'+indexId+'_thumb').innerHTML;
	document.getElementById('caseThumb').innerHTML = thumbString;
	
	var title = document.getElementById('case_'+indexId+'_title').value;
	var price = document.getElementById('case_'+indexId+'_price').value;
	var count = document.getElementById('case_'+indexId+'_count').value;
	curCaseCount = count - 0;
	document.getElementById('caseTitle').innerHTML = title;
	document.getElementById('casePrice').innerHTML = price;
	document.getElementById('caseTotal').innerHTML = price;	
	document.getElementById('caseId').value = indexId;	

	var effect_2 = new Effect.Highlight('caseTitle',{duration:1.2});
	var effect_3 = new Effect.Highlight('caseThumb',{duration:1.2});	

}


function recalculate(){
	var totalPrice = 0 - 0;
	totalPrice += document.getElementById('caseTotal').innerHTML - 0;
	var totalChipCount = 0 - 0;
	var totalChipPrice = 0 - 0;
	for(i=1; i<=maxChipColors;i++){
		totalChipCount += document.getElementById('colorNum'+i).value - 0;
		totalChipPrice += document.getElementById('colorTotal'+i).innerHTML - 0;
	}	
	totalPrice += totalChipPrice;
	totalPrice += 	document.getElementById('chipTotal').innerHTML - 0;
	document.getElementById('setTotal').innerHTML = totalPrice.toFixed(2);	
	document.getElementById('setTotal2').innerHTML = totalPrice.toFixed(2);	
	
	var effect_2 = new Effect.Highlight('setTotal',{duration:1.2});
	var effect_2 = new Effect.Highlight('setTotal2',{duration:1.2});

	if(totalChipCount < curCaseCount){
		var leftOver = curCaseCount - totalChipCount;
		document.getElementById('chipAlert').innerHTML = 'You should add ' + leftOver + ' chips to fill this case.';
		document.getElementById('chipAlert').className = '';
		var button = document.getElementById('cartButton');
		addClass(button,'hidden');
	}else if(totalChipCount > curCaseCount){
		var leftOver = totalChipCount - curCaseCount;
		document.getElementById('chipAlert').innerHTML = 'You have ' + leftOver + ' more chips than this case will hold.';
		document.getElementById('chipAlert').className = '';
		var button = document.getElementById('cartButton');
		addClass(button,'hidden');
	}else{
		document.getElementById('chipAlert').innerHTML = '&nbsp;';
		var button = document.getElementById('cartButton');
		document.getElementById('chipAlert').className = 'hidden';	
		remClass(button,'hidden');
	}
}

function updateQuant(colorNum){
	recalcChip(colorNum)
	recalculate();
}

function recalcChip(colorNum){
	var myNum = document.getElementById('colorNum'+colorNum).value - 0;
	var myPrice = document.getElementById('colorPrice'+colorNum).innerHTML - 0;
	var myTot = myNum * myPrice;
	document.getElementById('colorTotal'+colorNum).innerHTML = myTot.toFixed(2);
}

function redistribute(){
	//alert(curCaseCount + ' '  + curChipColors);
	var myBreakDown = countBreakDowns[curCaseCount];
	//alert(myBreakDown);
	
	var indexId = selectedChipId;
	
	var numPrices = document.getElementById('chip_'+indexId+'_prices').value;
	var prevLimit = 0;
	for(i=1;i<=numPrices;i++){
	     var limit = document.getElementById('pchip_'+indexId+'_'+i+'_limit').value;	
	     if( prevLimit <= curCaseCount && curCaseCount < limit ){
	       	var qId = document.getElementById('pchip_'+indexId+'_'+i+'_indexId').value;
	        var qPrice = document.getElementById('pchip_'+indexId+'_'+i+'_price').value - 0;
		//alert(qPrice);
	        var qTitle = document.getElementById('pchip_'+indexId+'_'+i+'_title').value;

		//alert(document.getElementById('cpTitle').innerHTML);
		document.getElementById('csId').value = indexId;
		document.getElementById('cpId').value = qId;
		document.getElementById('chipPrice').innerHTML = qPrice.toFixed(2);
		document.getElementById('cpQuant').value = curCaseCount;
		document.getElementById('cpTitle').innerHTML = qTitle;
		var qTotal = qPrice * curCaseCount;
		document.getElementById('chipTotal').innerHTML = qTotal.toFixed(2);
		//alert(document.getElementById('cpTitle').innerHTML);
		
	     }
	     prevLimit = limit;
	}

	for(i=1; i<=myBreakDown.length;i++){
		if(document.getElementById('colorId'+i).value!=''){
			document.getElementById('colorNum'+i).value = myBreakDown[i-1];
		}
		recalcChip(i);
	}
	
	for(i=myBreakDown.length+1;i<=maxChipColors;i++){
		document.getElementById('colorNum'+i).value = 0;
		recalcChip(i);
	}		
	
	recalculate();
}

function log(str){
    $('logDiv').innerText = $('logDiv').innerText + str + '<br/>';
}
