
var neg_combo_landing={
	prefix:"ngl_",
	list:[],
	isComplex:false,
	complexPrefix:"ngl_combo",
	complexComboContent:"",
	complexOriginalPriceId:"ngl_originalPrice",
	complexFinalPriceId:"ngl_finalPrice",
	complexDiscountId:"ngl_discount",
	soldOutContent:"<dl><dt class='soldout'>Sold Out</dt></dl>",
	init:function(){
		//attach onclick event
		var e = Web.UI.Form.getElements("comboForm");
		if(e){
			neg_combo_landing.isComplex=true;
			neg_combo_landing.complexComboContent=$(neg_combo_landing.complexPrefix).innerHTML;
			Web.UI.Control.setAttribute($(neg_combo_landing.complexPrefix),{"style.display":"none"});
			for (var i=0; i<e.length; ++i){
				if(e[i].type == 'radio'){
					var nol=document.getElementsByName(e[i].name);
					if(nol&&nol.length>1){
						e[i].checked=false;
						e[i].attachEvent("onclick",neg_combo_landing._adjustGroupComboStock);
					};
				};
			};
		}else{
			if(!ng_cbo_list||ng_cbo_list.length==0){return;};
			neg_combo_landing.list=ng_cbo_list;
			for(var i=0;i<neg_combo_landing.list.length;i++){
				neg_combo_landing._adjustSingleComboStock(neg_combo_landing.list[i]);
			};
		};
	},
	adjustStock:function(){
		neg_combo_landing.init();
	},
	_adjustSingleComboStock:function(comboId){
		var isActive=true;
		//set combo entity
		var raw_Item,raw_Combo;
		try{
			raw_Combo=ComboDetail[comboId];
		}catch(e){
			raw_Combo=null;
		};
		
		//no combo info
		if(raw_Combo==null){
			isActive=false;
		}else{
			//item of combo is out of stock
			for(var i=0;i<raw_Combo.productList.length;i++){
				raw_Item=raw_Combo.productList[i];
				if(raw_Item==null||raw_Item.stock!="1"){
					isActive=false;
					break;
				};
			};
		};

		neg_combo_landing.hidden(comboId,isActive);
	},
	_adjustGroupComboStock:function(){
		var items = [];	
		var e = Web.UI.Form.getElements("comboForm");		
		for (var i=0; i<e.length; ++i){
			if(e[i].type == 'radio' && e[i].checked == true){
				items.add(e[i].value);			
			};
		};
		if(items.length > 1) {
			var id = Web.LandingPage.Combo.getComboId(items);
			neg_combo_landing._adjustSingleComboStock(id);		
		};
	},
	hidden:function(comboId,isActive){
		Web.UI.Control.setAttribute($(neg_combo_landing.complexPrefix),{"style.display":"block"});
		//hide price
		if(!neg_combo_landing.isComplex&&isActive){return;};
		var ho=neg_combo_landing.isComplex?$(neg_combo_landing.complexPrefix):$(neg_combo_landing.prefix+comboId);
		if(!ho){return;};
		var builder=[];
		if(neg_combo_landing.isComplex){
			builder.push(isActive?neg_combo_landing.complexComboContent:neg_combo_landing.soldOutContent);	
		}else{
			builder.push(neg_combo_landing.soldOutContent);
		};

		ho.innerHTML=builder.join('');
		neg_combo_landing.showPrice(comboId);
	},
	showPrice:function(comboId){
		//set combo entity
		var raw_Combo;
		try{
			raw_Combo=ComboDetail[comboId];
		}catch(e){
			raw_Combo=null;
		};
		
		//original price
		var oprice=$(neg_combo_landing.complexOriginalPriceId);
		if(oprice&&raw_Combo){
			oprice.innerHTML="$"+raw_Combo.originalPrice;
		};

		//final price
		var fprice=$(neg_combo_landing.complexFinalPriceId);
		if(fprice&&raw_Combo){
			fprice.innerHTML="$"+(raw_Combo.originalPrice-raw_Combo.totalDiscount).toFixed(2);
		};

		//discount 
		var discount=$(neg_combo_landing.complexDiscountId);
		if(discount&&raw_Combo){
			discount.innerHTML="$"+raw_Combo.totalDiscount;
		};
	},
	showComboFinalPrice:function(comboId){
		//set combo entity
		var raw_Combo;
		try{
			raw_Combo=ComboDetail[comboId];
		}catch(e){
			raw_Combo=null;
		};	
		
		if(raw_Combo){
			
			document.write("$"+(ComboDetail[comboId].originalPrice-ComboDetail[comboId].totalDiscount).toFixed(2));
		};
	}
};

window.attachEvent("onload",neg_combo_landing.adjustStock);
