var GC = new function(){
	function validateSku(NewForm){
		if(!NewForm.partNumber.options[0].selected) return true;
		else{
	        $('errorMSG').innerHTML = gcErrorMsgs.invalidAmount;
			return false;
		}
	}
	function addToBag(){
		var NewForm = document.forms.AddTo;
		var qty = NewForm.quantity.value;
		var prc = NewForm.partNumber.value - 88888000;
		var sku = NewForm.partNumber.value;
		if(validateQuantity(NewForm) && validateSku(NewForm)){
			var cb = {
				success:function(o){
					YUD.setStyle($("viewBag"), "display", "inline");
					HOL.miniCart.getCart('add');
					
					YUD.replaceClass($('addToBag'), "processingBtn","itemAddedBtn");
						
					setTimeout(function(){
							YUE.on($('addToBag'),'click',addToBag);
							YUD.setStyle($('addToBag'), "cursor", "pointer");
							YUD.replaceClass($('addToBag'), "itemAddedBtn","addToBagBtn");
							document.forms.AddTo.reset();
						}, 2500);
					
				},
				failure:function(o){
					//...failed to add gc to bag.
					YUE.on($('addToBag'),'click', addToBag);
					YUD.setStyle($('addToBag'), "cursor", "pointer");
					YUD.replaceClass($('addToBag'), "processingBtn","addToBagBtn");
					document.forms.AddTo.reset();
				}
			};
			
			YUE.removeListener($("addToBag"), "click");
			YUD.setStyle($("addToBag"), "cursor", "default");
			YUD.replaceClass($('addToBag'), "addToBagBtn","processingBtn");
			
			YUC.setForm(NewForm);
			YUC.asyncRequest("GET", NewForm.action, cb);
		}
	}
	
	function validateQuantity(NewForm){
		var localQuantity = NewForm.quantity.value
		if (localQuantity == 0) {
		  $('errorMSG').innerHTML = gcErrorMsgs.zeroQty;
		  NewForm.quantity.value=NewForm.quantity.defaultValue;
		  NewForm.quantity.focus();
		  NewForm.quantity.select();
		  return false;
		} else {
		  for (var i=0; i<localQuantity.length; i++)
		  {
		    var checkCharacter=localQuantity.substring(i, i+1);
		    if (checkCharacter<"0" || checkCharacter>"9" || checkCharacter=="-")
		    {
		      $('errorMSG').innerHTML = gcErrorMsgs.illegalChar;
		      NewForm.quantity.value=NewForm.quantity.defaultValue;
		      NewForm.quantity.focus();
		      NewForm.quantity.select();
		      return false;
		    }
		    $("errorMSG").innerHTML = "";
			return true;
		   }
		}
	}
	
	function editItem(Style){
		var index;
		for (var y=0; y < document.forms.AddTo.in_2_Style.options.length; y++){
			if(document.forms.AddTo.in_2_Style.options[y].value == Style){
			document.forms.AddTo.in_2_Style.options[y].selected=true;
			}
		}
	}
	function getVBImg(){
		var cartNum = HTB.readCookie('myCart');
		var cartParts = cartNum ? cartNum.split(",") : null;
		var num = cartParts ? cartParts[0] : null;
		if(num != '0' && cartNum != null){
			YUD.setStyle($("viewBag"), "display", "inline");
			HTB.fixPngs();
		}else{
			return;
		}
	}
	
	function init(){
		getVBImg();
		YUE.on($("addToBag"), "click", addToBag);
	}
	YUE.on(window, "load", init);
}

