//
//-------------------------------------------------------------------
// Licensed Materials - Property of IBM
//
// WebSphere Commerce
//
// (c) Copyright IBM Corp. 2006
//
// US Government Users Restricted Rights - Use, duplication or
// disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
//-------------------------------------------------------------------
//

var busy = false;
//
// ***
// * This javascript function is used by the 'Add to Shopcart' button.  Since the HTML form is shared by both 'Add to Shopcart' and 'Add to Wish List' button,
// * appropriate values are set using this javascript before the form is submitted.
// * The variable 'busy' is used to avoid submitting the same forms multiple times when users click the button more than once.
// ***
//

function Add2ShopCart(form)
{
       if (!busy) {
              busy = true;
              form.action="OrderItemAdd";
              form.URL.value='OrderCalculate?URL=OrderItemDisplay';
              if( form.catEntryId.options[form.catEntryId.selectedIndex].value == '' )
              {	
              	alert("Please choose an item");
              	busy = false;
              }
              else
              {
              	form.submit();
       	      }
       }
}

function AddGiftCard2ShopCart(form)
{

	if (!busy) {
           busy = true;
          	form.action="OrderItemAdd";
            form.URL.value='OrderCalculate?URL=OrderItemDisplay';

			var result;
			result = true;
			
			// determine the gift card value validation
			var gcamountresult = giftCardAmountCheck();
			if( !gcamountresult )
			{
				result = false;
			}
				
          if(result)
          {
          	form.submit();
   	      }
   	      else
   	      {
   	      	 busy = false;
   	      }
	}

}

function AddEGiftCard2ShopCart(form)
{
       var sendToEmailtable = document.getElementById('sendToEmail_warn');
       var sendToEmailConftable = document.getElementById('sendToEmailConf_warn');
       var giftTotable = document.getElementById('giftTo_warn');
       var giftFromtable = document.getElementById('giftFrom_warn');
       var egc_datetable = document.getElementById('egc_date_warn');
	   var info;
	   var error;
	   	
       if (!busy) {
              busy = true;
              form.action="ProcessEGiftCardCmd";
              form.URL.value='OrderCalculate?URL=ProductDisplay';

				var result;
				result = true;
				 
				if( form.sendToEmail.value.length <= 0 )
				{
					info = "Email Required Field";
					error = "<table width=\"100%\"><tr><td align=\"left\" ><span class=\"pricered\">" + info + "</span><br></td></tr></table>";
					 
					// display table
				    sendToEmailtable.innerHTML = error;
				    sendToEmailtable.style.display = 'block';
					result = false;
				}
				else
				{
					sendToEmailtable.style.display = 'none';
				}
				
				// Make sure they enter a confirmation email
				if( form.sendToEmailConf.value.length <= 0 )
				{
					 
					info = "Enter Confirm Email";
					error = "<table width=\"100%\"><tr><td align=\"left\" ><span class=\"pricered\">" + info + "</span><br></td></tr></table>";
					 
					// display table
				    sendToEmailConftable.innerHTML = error;
				    sendToEmailConftable.style.display = 'block';
					 
					result = false;
				}
				else
				{
					sendToEmailConftable.style.display = 'none';
				}
				
				// Make sure they enter a to value
				if( form.giftTo.value.length <= 0 )
				{
					info = "To: Required Field";
					error = "<table width=\"100%\"><tr><td align=\"left\" ><span class=\"pricered\">" + info + "</span><br></td></tr></table>";
					 
					// display table
				    giftTotable.innerHTML = error;
				    giftTotable.style.display = 'block';
					 
					result = false;
				}
				else
				{
					giftTotable.style.display = 'none';
				}
				
				// Make sure they enter a from value
				if( form.giftFrom.value.length <= 0 )
				{
					info = "From: Required Field";
					error = "<table width=\"100%\"><tr><td align=\"left\" ><span class=\"pricered\">" + info + "</span><br></td></tr></table>";
					 
					// display table
				    giftFromtable.innerHTML = error;
				    giftFromtable.style.display = 'block';
					
					result = false;
				}
				else
				{
					giftFromtable.style.display = 'none';
				}
				
				// Make sure email and confirmation email are the same
				if(  form.sendToEmail.value.length > 0 &&  form.sendToEmailConf.value.length > 0 && form.sendToEmail.value != form.sendToEmailConf.value )
				{
					info = "Emails do not match";
					error = "<table width=\"100%\"><tr><td align=\"left\" ><span class=\"pricered\">" + info + "</span><br></td></tr></table>";
					 
					// display table
				    sendToEmailConftable.innerHTML = error;
				    sendToEmailConftable.style.display = 'block';
					 
					result = false;
				}
				// Check for valid email format.
				else if( !isValidEmail(form.sendToEmail.value) )
				{
					info = "Invalid email format";
					error = "<table width=\"100%\"><tr><td align=\"left\" ><span class=\"pricered\">" + info + "</span><br></td></tr></table>";
					 
					// display table
				    sendToEmailtable.innerHTML = error;
				    sendToEmailtable.style.display = 'block';
					 
					result = false;
				}

				 
				// If the date is not empty, ensure it's a valid date.  Then check to ensure the
				// date is not in the past and that the date is not further than 60 days out.
				if ((form.egc_date.value.length > 0))
				{
					var datecheck;
					datecheck = isDate(form.egc_date.value);
					 
					if(datecheck != 'true'){
					 	 
						error = "<table width=\"100%\"><tr><td align=\"left\" ><span class=\"pricered\">" + datecheck + "</span><br></td></tr></table>";
							 
						// display table
						egc_datetable.innerHTML = error;
						egc_datetable.style.display = 'block';
						result = false;
					}
					else
					{
						 
						var now = Date.parse(getCurrentDate());;
						var generatedDate = Date.parse(form.egc_date.value); // assuming a valid date format mm/dd/yyyy
						 
						if (now>generatedDate) {
							info = "Delayed Delivery Date must be in the future";
							error = "<table width=\"100%\"><tr><td align=\"left\" ><span class=\"pricered\">" + info + "</span><br></td></tr></table>";
							 
							// display table
						    egc_datetable.innerHTML = error;
						    egc_datetable.style.display = 'block';
						    
						    result = false;
						}
						else
						{
							egc_datetable.style.display = 'none';
							
							if( getDayDifference(form.egc_date.value) > 60 )
							{
								 info = "Delayed Delivery Date must be within 60 days";
								error = "<table width=\"100%\"><tr><td align=\"left\" ><span class=\"pricered\">" + info + "</span><br></td></tr></table>";
								 
								// display table
							    egc_datetable.innerHTML = error;
							    egc_datetable.style.display = 'block';
								
						    	result = false;
							}
							else
							{
								egc_datetable.style.display = 'none';
							}
						}
					 	
						 
						
					}
				}
				
				// Date is empty so set to current date
				if ((form.egc_date.value.length <= 0))
				{
					 
					form.egc_date.value = getCurrentDate();
				}
				
				// determine the gift card value validation
				var gcamountresult = egcmessage();
				if( !gcamountresult )
				{
					result = false;
				}
				
              if(result)
              {
              	form.submit();
       	      }
       	      else
       	      {
       	      	 busy = false;
       	      }
       }
}

// This javascript function is used by the 'Add to Wish List' button to set appropriate values before the form is submitted
function Add2WishList(form)
{
       if (!busy) {
              busy = true;
              form.action="InterestItemAdd"
              form.URL.value='InterestItemDisplay'
              if( form.catEntryId.options[form.catEntryId.selectedIndex].value == '' )
              {	
              	alert("Please choose an item");
              	busy = false;
              }
              else
              {
              	form.submit();
              }
       }
}

function AddGiftCard2WishList(form)
{
       if (!busy) {
              busy = true;
              form.action="InterestItemAdd"
              form.URL.value='InterestItemDisplay'
              var result;
			result = true;
		


			document.OrderItemAddForm.field2.value = document.OrderItemAddForm.sellPrice.value;
			// determine the gift card value validation
			var gcamountresult = giftCardAmountCheck();
			if( !gcamountresult )
			{
				result = false;
			}
				
	          if(result)
	          {
	          	form.submit();
	   	      }
	   	      else
	   	      {
	   	      	 busy = false;
	   	      }
       }
}

function AddEGiftCard2WishList(form)
{
       if (!busy) {
              busy = true;
              form.action="InterestItemAdd"
              form.URL.value='InterestItemDisplay'
              var result;
			result = true;
		
			// set field2 so that we set IITEM.field2 for special display purposes on wish list page.
			document.OrderItemAddForm.field2.value = document.OrderItemAddForm.sellPrice.value;
			
			// determine the gift card value validation
			if( form.sendToEmail.value.length <= 0 )
				{
					info = "Email Required Field";
					error = "<table width=\"100%\"><tr><td align=\"left\" ><span class=\"pricered\">" + info + "</span><br></td></tr></table>";
					 
					// display table
				    sendToEmailtable.innerHTML = error;
				    sendToEmailtable.style.display = 'block';
					result = false;
				}
				else
				{
					sendToEmailtable.style.display = 'none';
				}
				
				// Make sure they enter a confirmation email
				if( form.sendToEmailConf.value.length <= 0 )
				{
					 
					info = "Enter Confirm Email";
					error = "<table width=\"100%\"><tr><td align=\"left\" ><span class=\"pricered\">" + info + "</span><br></td></tr></table>";
					 
					// display table
				    sendToEmailConftable.innerHTML = error;
				    sendToEmailConftable.style.display = 'block';
					 
					result = false;
				}
				else
				{
					sendToEmailConftable.style.display = 'none';
				}
				
				// Make sure they enter a to value
				if( form.giftTo.value.length <= 0 )
				{
					info = "To: Required Field";
					error = "<table width=\"100%\"><tr><td align=\"left\" ><span class=\"pricered\">" + info + "</span><br></td></tr></table>";
					 
					// display table
				    giftTotable.innerHTML = error;
				    giftTotable.style.display = 'block';
					 
					result = false;
				}
				else
				{
					giftTotable.style.display = 'none';
				}
				
				// Make sure they enter a from value
				if( form.giftFrom.value.length <= 0 )
				{
					info = "From: Required Field";
					error = "<table width=\"100%\"><tr><td align=\"left\" ><span class=\"pricered\">" + info + "</span><br></td></tr></table>";
					 
					// display table
				    giftFromtable.innerHTML = error;
				    giftFromtable.style.display = 'block';
					
					result = false;
				}
				else
				{
					giftFromtable.style.display = 'none';
				}
				
				// Make sure email and confirmation email are the same
				if(  form.sendToEmail.value.length > 0 &&  form.sendToEmailConf.value.length > 0 && form.sendToEmail.value != form.sendToEmailConf.value )
				{
					info = "Emails do not match";
					error = "<table width=\"100%\"><tr><td align=\"left\" ><span class=\"pricered\">" + info + "</span><br></td></tr></table>";
					 
					// display table
				    sendToEmailConftable.innerHTML = error;
				    sendToEmailConftable.style.display = 'block';
					 
					result = false;
				}
				// Check for valid email format.
				else if( !isValidEmail(form.sendToEmail.value) )
				{
					info = "Invalid email format";
					error = "<table width=\"100%\"><tr><td align=\"left\" ><span class=\"pricered\">" + info + "</span><br></td></tr></table>";
					 
					// display table
				    sendToEmailtable.innerHTML = error;
				    sendToEmailtable.style.display = 'block';
					 
					result = false;
				}

				 
				// If the date is not empty, ensure it's a valid date.  Then check to ensure the
				// date is not in the past and that the date is not further than 60 days out.
				if ((form.egc_date.value.length > 0))
				{
					var datecheck;
					datecheck = isDate(form.egc_date.value);
					 
					if(datecheck != 'true'){
					 	 
						error = "<table width=\"100%\"><tr><td align=\"left\" ><span class=\"pricered\">" + datecheck + "</span><br></td></tr></table>";
							 
						// display table
						egc_datetable.innerHTML = error;
						egc_datetable.style.display = 'block';
						result = false;
					}
					else
					{
						 
						var now = Date.parse(getCurrentDate());;
						var generatedDate = Date.parse(form.egc_date.value); // assuming a valid date format mm/dd/yyyy
						 
						if (now>generatedDate) {
						    info = "Delayed Delivery Date must be in the future";
							error = "<table width=\"100%\"><tr><td align=\"left\" ><span class=\"pricered\">" + info + "</span><br></td></tr></table>";
							 
							// display table
						    egc_datetable.innerHTML = error;
						    egc_datetable.style.display = 'block';
						    
						    result = false;
						}
						else
						{
							egc_datetable.style.display = 'none';
						}
					 	if( getDayDifference(form.egc_date.value) > 60 )
						{
							 info = "Delayed Delivery Date must be within 60 days";
							error = "<table width=\"100%\"><tr><td align=\"left\" ><span class=\"pricered\">" + info + "</span><br></td></tr></table>";
							 
							// display table
						    egc_datetable.innerHTML = error;
						    egc_datetable.style.display = 'block';
							
					    	result = false;
						}
						else
						{
							egc_datetable.style.display = 'none';
						}
						 
						
					}
				}
				
				// Date is empty so set to current date
				if ((form.egc_date.value.length <= 0))
				{
					 
					form.egc_date.value = getCurrentDate();
				}
				
				// determine the gift card value validation
				var gcamountresult = egcmessage();
				if( !gcamountresult )
				{
					result = false;
				}
				
	          if(result)
	          {
	          	form.submit();
	   	      }
	   	      else
	   	      {
	   	      	 busy = false;
	   	      }
       }
}


