var magazineSpecial = {
	name: "Teacher's Special",
	coupons: {
		"Math Games" :     ["BumpEnglish", "GooseEgg", "GooseEggDiv"],
		"Word Games" :     ["PickTwo1stEd", "PickTwoEnglish", "GottaBeQuick", "GottaBeQuickAccents", "ForeignLanguage?"],
		"Thinking Games" : ["AnswersUP", "GottaBeQuick","PickTwoEnglish"],
		"Best Sellers" :   ["PickTwoEnglish", "GooseEgg", "BumpEnglish"]
	},
	description : "Mix and match any 2 special games below and get <em>10% off!</em><br />"
				+ "Mix and match any 3 special games below and get <em>15% off!!</em><br />"
				+ "Mix and match any 4 or more special games below and get <em>20% off!!!</em>",
	disclaimer : "Discount applies to special items only.",
	discount_quantity : 0,
	discount_value: 0.0,
	items_affected : [],
	applyCoupon : function(coupon)
	{
		var applied = false;
		if (magazineSpecial.coupons[coupon])
		{
			var productNames = magazineSpecial.coupons[coupon];
			for (var i in productNames)
			{
				magazineSpecial.items_affected[productNames[i]] = _order.products[productNames[i]];
				_order.products[productNames[i]].specials[magazineSpecial.name] = magazineSpecial;
				attachCustomEvent(_order.products[productNames[i]], "onQtyUpdate", magazineSpecial.updateItemQuantity);
				makeSpecial(document.TahDahOrderForm[productNames[i]+"_qty"]);
			}
			
			document.getElementById("discount_name").innerHTML = magazineSpecial.name;
			var content = document.getElementById("discount_content");
			content.innerHTML = magazineSpecial.description;
			content.style.display = "block";

			var disclaimer = document.getElementById("discount_disclaimer");
			disclaimer.innerHTML = magazineSpecial.disclaimer;
			disclaimer.style.display = "block";
			
			try
			{
				document.getElementById("special_message").style.display = "table-row";
			}
			catch (e)
			{
				document.getElementById("special_message").style.display = "block";
			}
			
		}
	},
	
	updateItemQuantity : function(productName)
	{
		magazineSpecial.discount_quantity = 0;
		for (var i in magazineSpecial.items_affected)
		{
			magazineSpecial.discount_quantity += magazineSpecial.items_affected[i].qty;
		}

		//figure out discount
		magazineSpecial.discount_value = 0.0;
		switch (magazineSpecial.discount_quantity)
		{
			 case 0 : magazineSpecial.discount_value = 0.0; break;
			 case 1 : magazineSpecial.discount_value = 0.10; break;
			 case 2 : magazineSpecial.discount_value = 0.15; break;
			default : magazineSpecial.discount_value = 0.20;
		}
	},
	
	getItemDiscount : function(productName)
	{
		return parseFloat(fix(parseFloat(magazineSpecial.discount_value) * parseFloat(magazineSpecial.items_affected[productName].price)));
	}
};

attachCustomEvent(_order, "applyCoupon", magazineSpecial.applyCoupon);


var mailingList = {
	name: "Mailing List",
	coupons: {
		"Mailing List" : ["GooseEggDiv"]
	},
	description : "<br/>Receive an additional {desc} game FREE!! (with purchase)",
	disclaimer : " Price adjustment for free game is reflected in discount.",
	items_affected : [],
	applyCoupon: function(coupon)
	{
		if (mailingList.coupons[coupon])
		{
			var productNames = mailingList.coupons[coupon];
			for (var i in productNames)
			{
				mailingList.items_affected[productNames[i]] = _order.products[productNames[i]];
				_order.products[productNames[i]].specials[mailingList.name] = mailingList;
				var productPriceEl = document.getElementById(productNames[i]+"_title");
				if (!document.getElementById('free_special_' + productNames[i]))
				{
					var free_special = document.createElement('SPAN');
					free_special.className = "free_special";
					free_special.id = "free_special_" + productNames[i];
					free_special.innerHTML = "&nbsp;&nbsp;** 1st Game is FREE (with purchase) **";
					productPriceEl.appendChild(free_special);

				}

				var content = document.getElementById("discount_content");
				content.innerHTML += mailingList.description.replace("{desc}",mailingList.items_affected[productNames[i]].desc);
				content.style.display = "block";

			}
			

			var disclaimer = document.getElementById("discount_disclaimer");
			disclaimer.innerHTML += mailingList.disclaimer;
			disclaimer.style.display = "block";
			
			try
			{
				document.getElementById("special_message").style.display = "table-row";
			}
			catch (e)
			{
				document.getElementById("special_message").style.display = "block";
			}
		}
	},
	
	getOrderDiscount : function(productName)
	{
		var retVal = 0.00;
		for (var i in mailingList.items_affected)
		{
			if (mailingList.items_affected[i].qty > 0)
			{
				retVal += parseFloat(mailingList.items_affected[i].price);
			}
		}
		return retVal;
	}
};

attachCustomEvent(_order, "applyCoupon", mailingList.applyCoupon);
