/*
// added quantity check 7/27/06 - george.niece@eglobal-sol.com
var quantityOK = false;
function checkQuantity(theForm) {
	for (var i = 0 ; i < theForm.length; i++) {
		if ((theForm.elements[i].name.search("quantity") || theForm.elements[i].name.search("qty")) > -1) { 
			if (theForm.elements[i].value != "" && !isNaN(theForm.elements[i].value) && theForm.elements[i].value >= 1) quantityOK=true; 
		 }

	}
 }
function submitToCart(theForm)  {

  theForm.action = 'http://'+document.domain+'/webapp/wcs/stores/servlet/OrderItemAdd';
  theForm.URL.value = 'OrderItemDisplay';
  checkQuantity(theForm);
  if ( upsellSelected( theForm ) ) {
	  if (quantityOK) theForm.submit();
        else alert("Quantity must be greater than 0 for at least 1 item");
  }

}

function submitToFavorites(theForm)  {

  theForm.action = 'http://'+document.domain+'/webapp/wcs/stores/servlet/InterestItemAdd';
  theForm.URL.value = 'InterestItemSuccessView';
  checkQuantity(theForm);
  if (quantityOK) theForm.submit();
  else alert("Quantity must be greater than 0 for at least 1 item");

}
*/

//adora.h.pham - validation for item_body.jsp , app_product_body.jsp & product_body.jsp for 'Add To Cart' 
var quantityOK = false;

function checkEnter(event) {
	
	if(event.keyCode == 13){ //if character code is equal to ascii 13 (if enter key)
		return false; //return false to the event handler
	}
} 

function submitToCart(theForm)  {

  theForm.action = 'http://'+document.domain+'/webapp/wcs/stores/servlet/OrderItemAdd';
  theForm.URL.value = 'OrderItemDisplay';
  var err_msg = checkQty(theForm);
  if (upsellSelected( theForm ) ) 
  {
	  if (err_msg != "")
	  {
	  	alert(err_msg);
	  }else
	  {
		theForm.submit();
	  }	  
  }
}

function submitToFavorites(theForm)  {

  theForm.action = 'http://'+document.domain+'/webapp/wcs/stores/servlet/InterestItemAdd';
  theForm.URL.value = 'InterestItemSuccessView';
  var err_msg = checkQty(theForm);
  if (err_msg != "")
  {
  	alert(err_msg);
  }else
  {
	theForm.submit();
  }	  
}

function checkQty(theForm)
{   
	var numOfQuantityFields = 0;
	var numOfBlankOrZeroFields = 0;
	var err_msg ="";
	for (var i = 0 ; i < theForm.length; i++) {
		if ((theForm.elements[i].name.search("quantity") > -1) || (theForm.elements[i].name.search("qty") > -1)) 
		{ 
			numOfQuantityFields++;
			if (theForm.elements[i].value != "" && theForm.elements[i].value != 0 )
			{
				if ( isNaN(theForm.elements[i].value))
				{					
					err_msg = "Only numeric values allowed for quantity.";
					//theForm.elements[i].focus();					
					break;
				}
				else if (theForm.elements[i].value < 0 )
				{
					err_msg = "Please enter a number greater than 0.";
					//theForm.elements[i].focus();
					break;
				}
			}
			else
			{
				numOfBlankOrZeroFields++;
			}	
		}
	}
	if(numOfBlankOrZeroFields == numOfQuantityFields){
		err_msg = "Quantity must be greater than 0 for at least 1 item.";
	}
	return err_msg;
 }

// rewrite product_scripts.js to take care more validation cases 03/13/06 - adora.h.pham
var countnotEmpty = 0; //field contains any value
 
//adora.h.pham - use to check the quantity field value 
function checkQuantityField(theField,isZeroNotAllowed){
	var err_msg ="";
	if (theField.value != "" && theField.value != 0 )
	{
		if ( isNaN(theField.value))
		{					
			err_msg = "Only numeric values allowed for quantity.";
		}
		else if (theField.value < 0 )
		{
			err_msg = "Please enter a number greater than 0.";
		}
	}else {
		if(isZeroNotAllowed) {
			err_msg = "Quantity must be greater than 0 for at least 1 item.";
		}
	}
	if(err_msg == ""){
		quantityOK = true; 
	} 
	return err_msg;
}

//adora.h.pham - use the check model number
function checkTextField(theField,theFieldName){
   
   var msg_err     ="";
   if(theField!=null && theField.value=="")  msg_err = "Please enter the " + theFieldName + " for the item you wish to add to the shopping cart.";
   return msg_err;
}



// adora.h.pham - validation for ShoppingCartBody.jsp used for update the selected item quantity 
function submitToCartWithActionURL(theForm, actionURL,fieldName,minQuantity)
{
   	var quantityField  	= theForm.elements[fieldName];
   	var err_msg       	= checkQuantityField(quantityField,false);
   
   	if(err_msg == ""){
		theForm.action = actionURL;
		theForm.submit();
   	} else{
    	oldVal = theForm.elements[fieldName+"_value"].value;
   		alert('Entered quantity "'+quantityField.value + '" is invalid. ' + err_msg +  ' The previous quantity ' + oldVal + ' will be restored.');
    	quantityField.value = oldVal;
    	quantityField.focus();
   	}
}

// adora.h.pham - validation for ShoppingCartBody.jsp used for updating the favoriate selected item
function interestItemAddWithActionURL(theForm,qtyFieldName,minQuantity,argCatentryId,theInterestForm,catEntryFieldName){

   	var quantityField  = theForm.elements[qtyFieldName];
	var catEntryChkBox = theForm.elements[catEntryFieldName];
	var err_msg = checkQuantityField(quantityField,true);
	if(catEntryChkBox.checked){
		if(err_msg==""){
	    	theInterestForm.catEntryId.value = argCatentryId;
		 	theInterestForm.quantity.value   = quantityField.value;	
		 	theInterestForm.submit();
		}else {
			oldVal = theForm.elements[qtyFieldName+"_value"].value;
	   		alert('Entered quantity "'+quantityField.value + '" is invalid. ' + err_msg +  ' The previous quantity ' + oldVal + ' will be restored.');
	    	quantityField.value = oldVal;
	    	quantityField.focus();
		}
	}else{
		alert("Please populate the check box for the item you wish to add to favorite items list.");
	}
}

// adora.h.pham - validation for InterestItemBody.jsp
function submitToCartWithFavoriteItems(theForm,action,actionURL,numItems,minQuantity)
{   
	theForm.action = action ; 
	theForm.URL.value = actionURL;
	var fieldName = "quantity_";
	var msg_errs = new Array(numItems);
	var numOfBlankOrZeroQtyFields = 0;
	if(action=='GiftRegistryProductAdd'){
		fieldName = "qtyDesired_"; 
	}
	
	var count_err=0;
	
	
	for(var i=0; i< numItems; i++){
		fieldSearch = theForm.elements[fieldName+i];
		if(fieldSearch.value != "" && fieldSearch.value != 0){     
			err_msg = checkQuantityField(fieldSearch, true);
			if(err_msg!=""){
				msg_errs[count_err++]  = "Model # " + theForm.elements['modelNumber_'+i].value + " : " + err_msg;
			}
		}else{
			numOfBlankOrZeroQtyFields++;
		}		
	}
	
	if(count_err > 0){
		displayMsg(msg_errs,count_err);
	} else if(numOfBlankOrZeroQtyFields == numItems){
		alert("Quantity must be greater than 0 for at least 1 model number.");
	} else {
		theForm.submit();
	}
}

//adora.h.pham - validation for emptyshopcart.jsp

function submitToCartEmptyShoppingCart(formName,partNumberFieldName,quantityFieldName){
 
   	var err_msg = "";
   	var partNumber = formName.elements[partNumberFieldName];
    var quantity = formName.elements[quantityFieldName];
    
    if(partNumber.value != ""){
    	err_msg = checkQuantityField(quantity,true);
    }else {
    	err_msg = "Please enter a WM Model Number.";
    }
    if(err_msg == ""){
    	formName.submit();
    }else{
    	alert(err_msg);
    }
}
//adora.h.pham - validation for QuickOrderBody.jsp.

function submitToCartUseQuickOrder(formName,numFields)  {
  
	var err_msgs = new Array(numFields);

   	var line_number  = 1;
   	var count_err    = 0;
   	var itemNum      = 0;
   	var isReadyForSubmit = false;
   	for (var curLine=numFields; curLine>0; curLine--){
      	quantity 		= formName.elements['quantity_'+curLine];
      	partNum  		= formName.elements['partNumber_'+curLine];
      	qty_err_msg  	= "";
      	prtNum_err_msg	= "";
      
      	//only check if there is at least one value/per line
      	//partNum: just check for empty
     	if(partNum.value != ""){
     		qty_err_msg = checkQuantityField(quantity,true);
     		if(qty_err_msg!=""){
     			err_msgs[count_err]= 'Line ' +  line_number +  ' : ' + qty_err_msg;
				count_err++;
				isReadyForSubmit = false;
     		}else{
     			isReadyForSubmit = true;
     		}
     	}else {
     		if(quantity.value != ""){
     			err_msgs[count_err]= 'Line ' +  line_number +  ' : ' + 'Please enter a model number.';
				count_err++;
				isReadyForSubmit = false;
			}
     	} 
		line_number++;
   	}
   	if(count_err!=0){
     	displayMsg(err_msgs,count_err);
   	}else{
   		if(isReadyForSubmit){
   			formName.submit();
   		}else{
     		alert('Please enter atleast one <quantity, model number>.');
     	}
    }
}

//adora.h.pham - No validation for elect_item_body.jsp

function submitForm(theForm, theAction, theURL)  {

  theForm.action = theAction;
  theForm.URL.value = theURL;
  
  if ( upsellSelected( theForm ) ) {
	  theForm.submit();
  }

}


//adora.h.pham - Display a list of error message
function displayMsg(msg_errs,numMsg){
	var display_msg="";
	for(var x = 0; x<numMsg; x++){
		if(display_msg==""){
			display_msg=msg_errs[x];
		}
		else{
			display_msg = display_msg + '\n' + msg_errs[x];       
		}
	}
	alert(display_msg);  
}
//adora.h.pham - check if checkbox for favorite item marked at least one before clicking on remove button.
function removeFavoriteItems(theForm)
{
    var checked=false;

    for (var i = 0 ; i < theForm.length; i++){ 
	   if (theForm.elements[i].name.search("catEntryId") > -1 && theForm.elements[i].checked==true){
         checked = true;  
         break;
	   } 
    }
    if(checked){
      theForm.action       = "InterestItemDelete";
      theForm.URL.value    = "InterestItemDisplay";
      theForm.submit();
    }else{
      alert("Please populate check box for the items you wish to delete from favorite items list.");
    }  
}