//=====================================================================||
//               NOP Design JavaScript Shopping Cart                   ||
//                                                                     ||
// For more information on SmartSystems, or how NOPDesign can help you ||
// Please visit us on the WWW at http://www.nopdesign.com              ||
//                                                                     ||
// Javascript portions of this shopping cart software are available as ||
// freeware from NOP Design.  You must keep this comment unchanged in  ||
// your code.  For more information contact FreeCart@NopDesign.com.    ||
//                                                                     ||
// JavaScript Shop Module, V.5.0.draft   Feb 4, 2004                   ||
// Drop in replacement for V.4.4.0                                     ||
//=====================================================================||
//         CART MANAGEMENT MODULE Priceless 						   ||
//		   (i.e., no price, shipping, tax or payment processor)		   ||
//---------------------------------------------------------------------||
// FUNCTION:    ManageCart                                             ||
// PARAMETERS:  Null                                                   ||
// RETURNS:     Product Table Written to Document                      ||
// PURPOSE:     Draws current cart product table on HTML page          ||
//---------------------------------------------------------------------||
function ManageCart() {

   var strOutput      = "";   //String to be written to page
   var strSkip        = "";   //wc String to NOT be written to page
   var bDisplay       = true; //Whether to write string to the page (here for programmers)
   var strProductId   = "";		//used for non-taxable item identification
       strAddInfo     =	" "; 

	ReadCookie();

// ------------------- Cart Table Header -----------------------------------||
   if ( bDisplay )
//wc	  strOutput = "<TABLE CELLSPACING=0 CELLPADDING=0 WIDTH=100% BORDER=0 CLASS=\"nopcart\">"
	  strOutput = '<table border="0" cellspacing="4" cellpadding="0">'

	  strSkip +=			
"<TR><TD WIDTH=55 CLASS=\"nopheader\"><strong>"+strILabel+"</strong></TD>" +			
"<TD ALIGN=\"CENTER\" CLASS=\"nopheader\"><strong>"+strDLabel+"</strong></TD>" +			
"<TD WIDTH=30 ALIGN=\"center\" CLASS=\"nopheader\"><strong>"+strQLabel+"</strong></TD>" +			
"<TD  WIDTH=90 ALIGN=\"CENTER\" CLASS=\"nopheader\"><strong>"+strRLabel+"</strong></TD></TR>";

   if ( iNumberOrdered == 0 ) {
//wc      strOutput += "<TR><TD COLSPAN=6 CLASS=\"nopentry\" ALIGN=\"center\"><BR><B>Your shopping cart is empty</B><BR><BR></TD></TR>";
      strOutput += "<TR><td class='inline-h4'>Your request cart is empty</TD></TR>";
   }else {

   for ( i = 1; i <= iNumberOrdered; i++ ) {
			even = (i & 1);

      strAddInfo  =	"";
// ------------------- Cart Table Body -----------------------------------||
			
if ( false && bDisplay ){ //wc
     if (even ^ 1 ) {
		strOutput += "<TR VALIGN=TOP CLASS=\"tblpadding5\"><TD CLASS=\"nopeven\">" + ItemId[i] + "</TD>";
    strOutput += "<TD CLASS=\"nopeven\">"  + ItemName[i] + " - <I>";
         if ( ItemAddtlInfo[i]  != "" ) strAddInfo  =  ItemAddtlInfo[i];
				 if ( ItemAddtlInfo2[i] != "" ) strAddInfo +=  ItemAddtlInfo2[i];
				 if ( ItemAddtlInfo3[i] != "" ) strAddInfo +=  ItemAddtlInfo3[i];
				 if ( ItemUserEntry[i]  != "" ) strAddInfo +=  ItemUserEntry[i];
				 if ( ItemUserEntry2[i] != "" ) strAddInfo +=  ItemUserEntry2[i];
    strOutput += strAddInfo + "</I></TD>";

    strOutput += "<TD CLASS=\"nopeven\"><INPUT TYPE=TEXT NAME=Q SIZE=2 VALUE=\"" + ItemQuantity[i] + "\" onChange=\"this.value=ChangeQuantity("+i+",this.value);\"></TD>";

    strOutput += "<TD CLASS=\"nopeven\" ALIGN=CENTER><input type=button class=\"butform\" onmousedown=\"this.className='butformy'\" onmouseup=\"this.className='butform'\" onmouseover=\"this.className='butformx'\" onmouseout=\"this.className='butform'\" value=\" "+strRButton+" \" onClick=\"RemoveFromCart("+i+")\"></TD></TR>";
      }
else {
// repeat for odd

		strOutput += "<TR VALIGN=TOP CLASS=\"tblpadding5\"><TD CLASS=\"nopentry\">" + ItemId[i] + "</TD>";
    strOutput += "<TD CLASS=\"nopentry\">"  + ItemName[i] + " - <I>";
         if ( ItemAddtlInfo[i]  != "" ) strAddInfo  =  ItemAddtlInfo[i];
				 if ( ItemAddtlInfo2[i] != "" ) strAddInfo +=  ItemAddtlInfo2[i];
				 if ( ItemAddtlInfo3[i] != "" ) strAddInfo +=  ItemAddtlInfo3[i];
				 if ( ItemUserEntry[i]  != "" ) strAddInfo +=  ItemUserEntry[i];
				 if ( ItemUserEntry2[i] != "" ) strAddInfo +=  ItemUserEntry2[i];
    strOutput += strAddInfo + "</I></TD>";

    strOutput += "<TD CLASS=\"nopentry\"><INPUT TYPE=TEXT NAME=Q SIZE=2 VALUE=\"" + ItemQuantity[i] + "\" onChange=\"this.value=ChangeQuantity("+i+",this.value);\"></TD>";

    strOutput += "<TD CLASS=\"nopentry\" ALIGN=CENTER><input type=button class=\"butform\" onmousedown=\"this.className='butformy'\" onmouseup=\"this.className='butform'\" onmouseover=\"this.className='butformx'\" onmouseout=\"this.className='butform'\" value=\" "+strRButton+" \" onClick=\"RemoveFromCart("+i+")\"></TD></TR>";
      }
}

if ( bDisplay ) {
	strOutput += '<tr><td class="inline-h4" colspan="2">' + ItemAddtlInfo2[i] + ' <a href="' + WebSiteBaseURL + ItemAddtlInfo[i] + '">'   + ItemName[i] +  '</a></td>'
	strOutput += '<td></td><td><img src="../images/remove.gif" alt="" width="58" height="16" border="0" onClick="RemoveFromCart(' + i + ')"></td></tr>'
	strOutput += '<tr><td><img src="../images/spacer.gif" alt="" width="20" height="1" border="0"></td>'
	strOutput += '<td class="note">' + ItemAddtlInfo3[i] + '</td>'
	strOutput += '<td colspan="2"></td></tr>'
}

// ------------------- End of Cart Table Body -----------------------------------||

      if ( AppendItemNumToOutput ) {
         strFooter = i;
      } else {
         strFooter = "";
      }
      if ( HiddenFieldsToCheckout ) {
         strOutput += "<input type=hidden name=\"" + OutputItemId        + strFooter + "\" value=\"" + ItemAddtlInfo2[i] + " " + ItemId[i] + "\">";
//wc         strOutput += "<input type=hidden name=\"" + OutputItemQuantity  + strFooter + "\" value=\"" + ItemQuantity[i] + "\">";
         strOutput += "<input type=hidden name=\"" + OutputItemName      + strFooter + "\" value=\"" + ItemName[i].replace(/"/g,"&#34;") + "\">";
         strOutput += "<input type=hidden name=\"" + OutputItemAddtlInfo + strFooter + "\" value=\"" + ItemAddtlInfo3[i].replace(/"/g,"&#34;") + "\">";
      }

   }
}
	 // ------------------- Cart Table Footer -----------------------------------||

   if ( bDisplay ) {
      strOutput += "</TABLE>";
   }

	 // ------------------- End of Cart Table  -----------------------------------||

   document.write(strOutput);
   document.close();
}

//---------------------------------------------------------------------||
// FUNCTION:    ValidateCart                                           ||
// PARAMETERS:  Form to validate                                       ||
// RETURNS:     true/false                                             ||
// PURPOSE:     Validates the managecart form                          ||
//---------------------------------------------------------------------||
function ValidateCart( theForm ) {
   if ( TaxByRegion ) {
      if ( !RadioChecked(eval("theForm."+OutputOrderTax)) ) {
         alert( TaxPrompt );
         return false;
      }
   }

      if ( g_TotalCost < MinimumOrder ) {
         alert( MinimumOrderPrompt );
         return false;
      }

   return true;
}

//---------------------------------------------------------------------||
// FUNCTION:    CheckoutCart                                           ||
// PARAMETERS:  Null                                                   ||
// RETURNS:     Product Table Written to Document                      ||
// PURPOSE:     Draws current cart product table on HTML page for      ||
//              checkout.                                              ||
//---------------------------------------------------------------------||
function CheckoutCart() {
   var strOutput      = "";   //String to be written to page
   var bDisplay       = true; //Whether to write string to the page (here for programmers)
   var strProductId   = "";		//Used or non-taxable item identification
	   strAddInfo     = "";   // used to concatanate AdditionalInfo strings
	 
	ReadCookie();

// ------------------- Cart Table Header -----------------------------------||
   if ( bDisplay )
   strOutput = 	"<TABLE CELLSPACING=0 CELLPADDING=2 WIDTH=610 BORDER=5 CLASS=\"nopcart\"><TR><TD>" +
	"<TABLE CELLSPACING=0 CELLPADDING=0 WIDTH=100% BORDER=0 CLASS=\"nopcart\"><TR>" +			
"<TD WIDTH=55 CLASS=\"nopheader\"><strong>"+strILabel+"</strong></TD>" +			
"<TD ALIGN=\"center\" CLASS=\"nopheader\"><strong>"+strDLabel+"</strong></TD>" +			
"<TD WIDTH=30 ALIGN=\"center\" CLASS=\"nopheader\"><strong>"+strQLabel+"</strong></TD>";
   strOutput += "</TR>";

   for ( i = 1; i <= iNumberOrdered; i++ ) {
      even = (i & 1);

// ------------------- Cart Table Body -----------------------------------||

      if ( bDisplay ) {
			   if (even ^ 1 ) {
    strOutput += "<TR><TD CLASS=\"nopeven\">"  + ItemId[i] + "</TD>";

    strOutput += "<TD CLASS=\"nopeven\">"  + ItemName[i] + " - <I>";
         if ( ItemAddtlInfo[i]  != "" ) strAddInfo  =  ItemAddtlInfo[i];
				 if ( ItemAddtlInfo2[i] != "" ) strAddInfo +=  ItemAddtlInfo2[i];
				 if ( ItemAddtlInfo3[i] != "" ) strAddInfo +=  ItemAddtlInfo3[i];
				 if ( ItemUserEntry[i]  != "" ) strAddInfo +=  ItemUserEntry[i];
				 if ( ItemUserEntry2[i] != "" ) strAddInfo +=  ItemUserEntry2[i];
    strOutput += strAddInfo + "</I></TD>";

    strOutput += "<TD CLASS=\"nopeven\">" + ItemQuantity[i] + "</TD>";
    strOutput += "</TR>";
      
// repeat odd
} else {			
      if ( bDisplay ) {
         strOutput += "<TR><TD CLASS=\"nopentry\">"  + ItemId[i] + "</TD>";

    strOutput += "<TD CLASS=\"nopentry\">"  + ItemName[i] + " - <I>";
         if ( ItemAddtlInfo[i]  != "" ) strAddInfo  =  ItemAddtlInfo[i];
				 if ( ItemAddtlInfo2[i] != "" ) strAddInfo +=  ItemAddtlInfo2[i];
				 if ( ItemAddtlInfo3[i] != "" ) strAddInfo +=  ItemAddtlInfo3[i];
				 if ( ItemUserEntry[i]  != "" ) strAddInfo +=  ItemUserEntry[i];
				 if ( ItemUserEntry2[i] != "" ) strAddInfo +=  ItemUserEntry2[i];
    strOutput += strAddInfo + "</I></TD>";

    strOutput += "<TD CLASS=\"nopentry\">" + ItemQuantity[i] + "</TD>";
    strOutput += "</TR>";
     }
  }		
}			

// ------------------- End of Cart Table Body -----------------------------------||

      if ( AppendItemNumToOutput ) {
         strFooter = i;
      } else {
         strFooter = "";
      }
// ----------Concatanate items for PPs or format email using Mailto form action--|| 

       	 strOutput += "<input type=hidden name=\""  + OutputItemId +  strFooter + '  PLU=' + ItemId[i] + strSpace + OutputItemQuantity  + '=' + ItemQuantity[i] + strSpace + ItemName[i] + strSpace + strAddInfo + "\n" + "\n" + "\">";
   }

	 // ------------------- Cart Table Footer -----------------------------------||

			
	if (bDisplay ) {
      strOutput += "</TABLE> </TD></TR></TABLE>";

// -----------------------End of Cart Table --------------------------------||
      
   }

   document.write(strOutput);
   document.close();
}

//=====================================================================||
//               END NOP Design SmartPost Shopping Cart                ||
//=====================================================================||


