function removeCartElementFromShoppingCart(cartElementId, sku)
{
	if (controls.checkAndLock)
	{
		var form = document.forms["RemoveCardElementFromShoppingCartForm"];
		form.cartElementId.value = cartElementId;
		form.WT_pn_sku.value = sku;
		form.submit();
	}
} 

function activateApplyButton()
{
	if (getElementById('applied_promo').style.display!='none')
	{
		getElementById('applied_promo').style.display='none';
		getElementById('apply_promo').style.display='';
	}
}

function submitPromoCode()
{
	if (validatePromoCode(document.forms['PromoCodeShoppingCartForm'].promoCode.value, false) && controls.checkAndLock())
	{
		getElementById('apply_promo').style.display='none';
		getElementById('applying_promo').style.display='';
		document.forms['PromoCodeShoppingCartForm'].submit();
	}
}

function validateOnSubmit()
{
	if (document.forms['PromoCodeShoppingCartForm'])
    {
		var promoCodeValue = document.forms['PromoCodeShoppingCartForm'].promoCode.value;
    	return (promoCodeValue == null) || (promoCodeValue.length == 0) || validatePromoCode(promoCodeValue, true);
    }
	return true;
}

function submitShoppingCart()
{
    if (document.forms['PromoCodeShoppingCartForm'])
    {
    	document.forms['PromoCodeCheckOutForm'].promoCode.value = document.forms['PromoCodeShoppingCartForm'].promoCode.value;
    }
    else
    {
    	document.forms['PromoCodeCheckOutForm'].promoCode.value = '';
    }
    document.forms['PromoCodeCheckOutForm'].submit();
}

function validatePromoCode(promoCode, isEmptyAllowed)
{
	var promoCodeElement = Ext.get('promo_code');

	if (promoCodeElement.dom.className.indexOf('glbErrorHilight') != -1)
	{
		promoCodeElement.dom.className = 'promoField';
	}
	var msgs = promoCodeElement.query('.glbErrorText');
	for(var i=0; i<msgs.length; i++)
	{
    	Ext.get(msgs[i]).remove();
  	}

	if (!isEmptyAllowed)
	{
		if (promoCode == null || promoCode.length == 0)
		{
			if (promoCodeElement.dom.className.indexOf('glbErrorHilight') == -1)
			{
				promoCodeElement.dom.className = promoCodeElement.dom.className + " glbErrorHilight";
			}
			promoCodeElement.insertHtml('afterBegin','<p class="glbErrorText">' + invalidMessages['promo_code.required'] + '</p>');
			return false;
		}
	}

	var promoCodeRegexp = new RegExp("^[A-Za-z0-9_]{1,25}$");
	var matched = promoCodeRegexp.exec(promoCode);
	if (matched == null)
	{
		if (promoCodeElement.dom.className.indexOf('glbErrorHilight') == -1)
		{
			promoCodeElement.dom.className = promoCodeElement.dom.className + " glbErrorHilight";
		}
		promoCodeElement.insertHtml('afterBegin','<p class="glbErrorText">' + invalidMessages['promo_code.invalid'] + '</p>');

		return false;
	}
	return true;
}