diff -x .svn -aruN 5.2.000.src/admin_files/mgrinvoiceTemplate.html 5.2.002.src/admin_files/mgrinvoiceTemplate.html
--- 5.2.000.src/admin_files/mgrinvoiceTemplate.html	2008-01-29 12:28:58.000000000 -0600
+++ 5.2.002.src/admin_files/mgrinvoiceTemplate.html	2008-02-21 01:33:57.000000000 -0600
@@ -7,61 +7,6 @@
 <meta name="publisher" content="K-Factor Technologies,Inc.">
 </head>
 <BODY bgcolor="#FFFFFF" text="#000000" alink="#FF0000" vlink="#FF00FF" link="#0000FF">
-<!--
-Available Tokens:
-%%year%%
-%%day%%
-%%month%%
-%%invoiceNumber%%
-%%customerNumber%%
-%%orderStatus%%
-%%shiptrackingID%%
-%%firstName%%
-%%lastName%%
-%%fullName%%
-%%companyName%%
-%%customerPhone%%
-%%faxNumber%%
-%%emailAddress%%
-%%orderFromAddress%%
-%%customerAddress2%%
-%%customerAddress3%%
-%%orderFromCity%%
-%%orderFromState%%
-%%orderFromPostal%%
-%%orderFromCountry%%
-%%shipToName%%
-%%shipToAddress%%
-%%shipToAddress2%%
-%%shipToAddress3%%
-%%shipToCity%%
-%%shipToState%%
-%%shipToPostal%%
-%%shipToCountry%%
-%%shipMethod%%
-%%shippingTotal%%
-%%shipToInsured%%
-%%shipToResidential%%
-%%salesTax%%
-%%tax1%%
-%%tax2%%
-%%tax3%%
-%%discounts%%
-%%subTotal%%
-%%orderTotal%%
-%%user1%%
-%%user2%%
-%%user3%%
-%%user4%%
-%%user5%%
-%%adminMessages%%
-%%GatewayUsed%%
-%%cartContents%%
-%%money_symbol%%
-%%shippingMessages%%
-%%xcomments%%
-%%termsOfService%%
--->
 <table width=100% border=0 cellpadding=0 cellspacing=0><tr><td>
 <center><font face=arial size=+3 color=red><b>Invoice&nbsp;&nbsp;&nbsp;</b> </font></center>
 <font face=arial size=+2 color=red>AgoraCart.com</font><br>
diff -x .svn -aruN 5.2.000.src/admin_files/mgrpackingslipTemplate.html 5.2.002.src/admin_files/mgrpackingslipTemplate.html
--- 5.2.000.src/admin_files/mgrpackingslipTemplate.html	2008-01-29 12:28:58.000000000 -0600
+++ 5.2.002.src/admin_files/mgrpackingslipTemplate.html	2008-02-21 01:33:57.000000000 -0600
@@ -7,61 +7,6 @@
 <meta name="publisher" content="K-Factor Technologies,Inc.">
 </head>
 <BODY bgcolor="#FFFFFF" text="#000000" alink="#FF0000" vlink="#FF00FF" link="#0000FF">
-<!--
-Available Tokens:
-%%year%%
-%%day%%
-%%month%%
-%%invoiceNumber%%
-%%customerNumber%%
-%%orderStatus%%
-%%shiptrackingID%%
-%%firstName%%
-%%lastName%%
-%%fullName%%
-%%companyName%%
-%%customerPhone%%
-%%faxNumber%%
-%%emailAddress%%
-%%orderFromAddress%%
-%%customerAddress2%%
-%%customerAddress3%%
-%%orderFromCity%%
-%%orderFromState%%
-%%orderFromPostal%%
-%%orderFromCountry%%
-%%shipToName%%
-%%shipToAddress%%
-%%shipToAddress2%%
-%%shipToAddress3%%
-%%shipToCity%%
-%%shipToState%%
-%%shipToPostal%%
-%%shipToCountry%%
-%%shipMethod%%
-%%shippingTotal%%
-%%shipToInsured%%
-%%shipToResidential%%
-%%salesTax%%
-%%tax1%%
-%%tax2%%
-%%tax3%%
-%%discounts%%
-%%subTotal%%
-%%orderTotal%%
-%%user1%%
-%%user2%%
-%%user3%%
-%%user4%%
-%%user5%%
-%%adminMessages%%
-%%GatewayUsed%%
-%%cartContents%%
-%%money_symbol%%
-%%shippingMessages%%
-%%xcomments%%
-%%termsOfService%%
--->
 <table width=100% border=0 cellpadding=0 cellspacing=0><tr><td>
 <center><font face=arial size=+3 color=red><b>Packing Slip&nbsp;&nbsp;&nbsp;</b> </font></center>
 <font face=arial size=+2 color=red>AgoraCart.com</font><br>
diff -x .svn -aruN 5.2.000.src/library/AgoraPay-mgr_lib.pl 5.2.002.src/library/AgoraPay-mgr_lib.pl
--- 5.2.000.src/library/AgoraPay-mgr_lib.pl	2008-01-29 12:28:56.000000000 -0600
+++ 5.2.002.src/library/AgoraPay-mgr_lib.pl	2008-02-14 18:23:26.000000000 -0600
@@ -8,7 +8,7 @@
 # All Rights Reserved.
 # November 10, 2001 to Present
 
-$versions{'AgoraPay-mgr_lib.pl'} = "5.0.001";
+$versions{'AgoraPay-mgr_lib.pl'} = "5.2.000";
 &add_codehook("gateway_admin_screen","AgoraPay_mgr_check");
 &add_codehook("gateway_admin_settings","AgoraPay_settings");
 $mc_gateways .= "|AgoraPay";
@@ -53,6 +53,7 @@
    print (GW "\$AgoraPay_disable_cards = \"$in{'AgoraPay_disable_cards'}\";\n");
    print (GW "\$AgoraPay_disable_checks = \"$in{'AgoraPay_disable_checks'}\";\n");
    print (GW "\$AgoraPay_disable_paypal = \"$in{'AgoraPay_disable_paypal'}\";\n");
+   print (GW "\$acceptcards = \"$in{'acceptcards'}\";\n");
    print (GW "\$acceptchecks = \"$in{'acceptchecks'}\";\n");
    print (GW "\$accepteft = \"$in{'accepteft'}\";\n");
    print (GW "\$altaddr = \"$in{'altaddr'}\";\n");
diff -x .svn -aruN 5.2.000.src/library/AgoraPay-order_lib.pl 5.2.002.src/library/AgoraPay-order_lib.pl
--- 5.2.000.src/library/AgoraPay-order_lib.pl	2008-01-29 12:28:56.000000000 -0600
+++ 5.2.002.src/library/AgoraPay-order_lib.pl	2008-02-14 18:23:27.000000000 -0600
@@ -2,7 +2,7 @@
 #                    Order Form Definition Variables                  #
 #######################################################################
 
-$versions{'AgoraPay-order_lib.pl'} = "5.2.000";
+$versions{'AgoraPay-order_lib.pl'} = "5.2.001";
 $sc_use_secure_header_at_checkout = 'yes';
 $sc_use_secure_footer_for_order_form = 'yes';
 
@@ -395,6 +395,7 @@
   foreach $key (sort(keys(%form_data))) {
    $itrans{$key} = "$form_data{$key}";
  }
+}
 
 if ($sc_pgp_or_gpg =~ /GPG/i) { # verify with GPG
   $command =  "$sc_pgp_or_gpg_path ";
diff -x .svn -aruN 5.2.000.src/library/AuthorizeNet-order_lib.pl 5.2.002.src/library/AuthorizeNet-order_lib.pl
--- 5.2.000.src/library/AuthorizeNet-order_lib.pl	2008-01-29 12:28:56.000000000 -0600
+++ 5.2.002.src/library/AuthorizeNet-order_lib.pl	2008-02-15 11:56:39.000000000 -0600
@@ -2,7 +2,10 @@
 #                    Order Form Definition Variables                  #
 #######################################################################
 
-$versions{'AuthorizeNet-order_lib.pl'} = "5.2.000";
+$versions{'AuthorizeNet-order_lib.pl'} = "5.2.001";
+
+$sc_use_secure_header_at_checkout = 'yes';
+$sc_use_secure_footer_for_order_form = 'yes';
 
 # Copyright 2000-2001 Steve Kneizys.
 # Copyright 2002 to Present K-Factor Technologies, Inc.  All Rights Reserved.
diff -x .svn -aruN 5.2.000.src/library/NiftyPay-mgr_lib.pl 5.2.002.src/library/NiftyPay-mgr_lib.pl
--- 5.2.000.src/library/NiftyPay-mgr_lib.pl	2008-01-29 12:28:56.000000000 -0600
+++ 5.2.002.src/library/NiftyPay-mgr_lib.pl	2008-02-14 18:23:27.000000000 -0600
@@ -7,7 +7,7 @@
 # Copyright May 7, 2005 to Present K-Factor Technologies, Inc.  & AgoraScript
 # All Rights Reserved.
 
-$versions{'NiftyPay-mgr_lib.pl'} = "5.0.001";
+$versions{'NiftyPay-mgr_lib.pl'} = "5.2.000";
 &add_codehook("gateway_admin_screen","NiftyPay_mgr_check");
 &add_codehook("gateway_admin_settings","NiftyPay_settings");
 $mc_gateways .= "|NiftyPay";
@@ -52,6 +52,7 @@
    print (GW "\$NiftyPay_disable_cards = \"$in{'NiftyPay_disable_cards'}\";\n");
    print (GW "\$NiftyPay_disable_checks = \"$in{'NiftyPay_disable_checks'}\";\n");
    print (GW "\$NiftyPay_disable_paypal = \"$in{'NiftyPay_disable_paypal'}\";\n");
+   print (GW "\$acceptcards = \"$in{'acceptcards'}\";\n");
    print (GW "\$acceptchecks = \"$in{'acceptchecks'}\";\n");
    print (GW "\$accepteft = \"$in{'accepteft'}\";\n");
    print (GW "\$altaddr = \"$in{'altaddr'}\";\n");
diff -x .svn -aruN 5.2.000.src/library/NiftyPay-order_lib.pl 5.2.002.src/library/NiftyPay-order_lib.pl
--- 5.2.000.src/library/NiftyPay-order_lib.pl	2008-01-29 12:28:56.000000000 -0600
+++ 5.2.002.src/library/NiftyPay-order_lib.pl	2008-02-14 18:23:28.000000000 -0600
@@ -2,7 +2,7 @@
 #                    Order Form Definition Variables                  #
 #######################################################################
 
-$versions{'NiftyPay-order_lib.pl'} = "5.2.000";
+$versions{'NiftyPay-order_lib.pl'} = "5.2.001";
 $sc_use_secure_header_at_checkout = 'yes';
 $sc_use_secure_footer_for_order_form = 'yes';
 
@@ -399,6 +399,7 @@
   foreach $key (sort(keys(%form_data))) {
    $itrans{$key} = "$form_data{$key}";
  }
+}
 
 if ($sc_pgp_or_gpg =~ /GPG/i) { # verify with GPG
   $command =  "$sc_pgp_or_gpg_path ";
diff -x .svn -aruN 5.2.000.src/library/PayPal-order_lib.pl 5.2.002.src/library/PayPal-order_lib.pl
--- 5.2.000.src/library/PayPal-order_lib.pl	2008-01-29 12:28:56.000000000 -0600
+++ 5.2.002.src/library/PayPal-order_lib.pl	2008-02-14 01:14:06.000000000 -0600
@@ -37,7 +37,7 @@
 #                    Order Form Definition Variables                  #
 #######################################################################
 
-$versions{'PayPal-order_lib.pl'} = "5.0.005";
+$versions{'PayPal-order_lib.pl'} = "5.2.000";
 
 #best to leave this option as it is, as PayPal return is NOT guaranteed!
 $sc_paypal_email_before = "yes"; # set to "no" if email upon return
@@ -317,7 +317,7 @@
 
 $verification_table
 
-<TABLE WIDTH="500" BGCOLOR="#FFFFFF" CELLPADDING="2" CELLSPACING="0" BORDER=0>
+<TABLE WIDTH="500" CELLPADDING="2" CELLSPACING="0" BORDER=0>
 <TR>
 <TD COLSPAN=2>
 <CENTER>
diff -x .svn -aruN 5.2.000.src/library/agora_order_lib.pl 5.2.002.src/library/agora_order_lib.pl
--- 5.2.000.src/library/agora_order_lib.pl	2008-01-29 12:28:56.000000000 -0600
+++ 5.2.002.src/library/agora_order_lib.pl	2008-02-07 16:28:05.000000000 -0600
@@ -1,6 +1,6 @@
 ############################################################
 
-$versions{'agora_order_lib.pl'} = "5.0.007";
+$versions{'agora_order_lib.pl'} = "5.2.000";
 # last modified by Mister Ed from K-Factor Technologies, Inc /  AgoraCart.com
 # August 17, 2006
 #
@@ -1928,7 +1928,7 @@
 
 &codehook("display_cart_heading_item");
 
-   if (!(($sc_col_name[$temp_index] eq "web_options")||($sc_col_name[$temp_index] eq "options")||($sc_col_name[$temp_index] eq "email_options"))) { 
+   if (($sc_col_name[$temp_index] ne "web_options")||($sc_col_name[$temp_index] ne "options")||($sc_col_name[$temp_index] ne "email_options")) { 
       $cart_heading_item = "<th>$field</th>\n";
       print $cart_heading_item;
    }
@@ -2139,6 +2139,7 @@
 $sc_cart_display_fields[$display_counter]) .
 "= $lineTotal\n";
 }
+elsif (($field_name eq "web_options")||($field_name eq "options")||($field_name eq "email_options")) { }
 elsif ($display_index < 0) 
 {
 $display_me = $db_row[(0-$display_index)];
diff -x .svn -aruN 5.2.000.src/library/cgi-lib.pl 5.2.002.src/library/cgi-lib.pl
--- 5.2.000.src/library/cgi-lib.pl	2008-01-29 12:28:56.000000000 -0600
+++ 5.2.002.src/library/cgi-lib.pl	2008-02-15 19:48:02.000000000 -0600
@@ -21,7 +21,7 @@
 #     http://cgi-lib.stanford.edu/cgi-lib/
 
 $cgi_lib'version = sprintf("%d.%02d", q$Revision: 2.18 $ =~ /(\d+)\.(\d+)/);
-$versions{'cgi-lib'}= "5.0.001";
+$versions{'cgi-lib'}= "5.2.001";
 
 # Parameters affecting cgi-lib behavior
 # User-configurable parameters affecting file upload.
diff -x .svn -aruN 5.2.000.src/library/iTransact-mgr_lib.pl 5.2.002.src/library/iTransact-mgr_lib.pl
--- 5.2.000.src/library/iTransact-mgr_lib.pl	2008-01-29 12:28:56.000000000 -0600
+++ 5.2.002.src/library/iTransact-mgr_lib.pl	2008-02-14 18:23:27.000000000 -0600
@@ -8,7 +8,7 @@
 # All Rights Reserved.
 # November 10, 2001 to Present
 
-$versions{'iTransact-mgr_lib.pl'} = "5.0.001";
+$versions{'iTransact-mgr_lib.pl'} = "5.2.000";
 &add_codehook("gateway_admin_screen","iTransact_mgr_check");
 &add_codehook("gateway_admin_settings","iTransact_settings");
 $mc_gateways .= "|iTransact";
@@ -53,6 +53,7 @@
    print (GW "\$iTransact_disable_cards = \"$in{'iTransact_disable_cards'}\";\n");
    print (GW "\$iTransact_disable_checks = \"$in{'iTransact_disable_checks'}\";\n");
    print (GW "\$iTransact_disable_paypal = \"$in{'iTransact_disable_paypal'}\";\n");
+   print (GW "\$acceptcards = \"$in{'acceptcards'}\";\n");
    print (GW "\$acceptchecks = \"$in{'acceptchecks'}\";\n");
    print (GW "\$accepteft = \"$in{'accepteft'}\";\n");
    print (GW "\$altaddr = \"$in{'altaddr'}\";\n");
diff -x .svn -aruN 5.2.000.src/library/iTransact-order_lib.pl 5.2.002.src/library/iTransact-order_lib.pl
--- 5.2.000.src/library/iTransact-order_lib.pl	2008-01-29 12:28:56.000000000 -0600
+++ 5.2.002.src/library/iTransact-order_lib.pl	2008-02-14 18:23:27.000000000 -0600
@@ -2,7 +2,7 @@
 #                    Order Form Definition Variables                  #
 #######################################################################
 
-$versions{'iTransact-order_lib.pl'} = "5.2.000";
+$versions{'iTransact-order_lib.pl'} = "5.2.001";
 $sc_use_secure_header_at_checkout = 'yes';
 $sc_use_secure_footer_for_order_form = 'yes';
 
@@ -399,6 +399,7 @@
   foreach $key (sort(keys(%form_data))) {
    $itrans{$key} = "$form_data{$key}";
  }
+}
 
 if ($sc_pgp_or_gpg =~ /GPG/i) { # verify with GPG
   $command =  "$sc_pgp_or_gpg_path ";
diff -x .svn -aruN 5.2.000.src/library/shipping_lib.pl 5.2.002.src/library/shipping_lib.pl
--- 5.2.000.src/library/shipping_lib.pl	2008-01-29 12:28:56.000000000 -0600
+++ 5.2.002.src/library/shipping_lib.pl	2008-02-14 18:35:24.000000000 -0600
@@ -46,7 +46,7 @@
 #   user4 in cart fields filled with dimensional info for individual items, appended to stevo_shipping_thing for use in 
 #   shipping instructions and courtesy rate quotes from real-time providers.
 
-$versions{'shipping_lib.pl'} = "5.0.004";
+$versions{'shipping_lib.pl'} = "5.2.001";
 if (($sc_use_SBW =~ /yes/i) || ($sc_need_sockets =~ /yes/i)) { 
  if ($sc_use_socket eq "") { 
    $sc_use_socket = "http-lib";   
@@ -124,24 +124,27 @@
       for ($inx2=$item_qty; $inx2 > 0; $inx2--) {
         ($packageType,$separatePackage,$length,$width,$height,$girth) = '';
 		($packageType,$separatePackage,$length,$width,$height,$girth) = split(/\,/,$ownbox);
-	if($separatePackage =~ /yes/){
-		$single_item_box_list = "1*$item_wt*$item_val*$alt_origin*$alt_stateprov*$length*$width*$height*$girth*$packageType";
-                $items_in_box = 1;
-                $weight_of_box = $item_wt;
-                $value_of_box = $item_val;
+	        if($separatePackage =~ /yes/){
+	            if ($single_item_box_list ne "") {
+	               $single_item_box_list .= '|';
+	            }
+		        $single_item_box_list .= "1*$item_wt*$item_val*$alt_origin*$alt_stateprov*$length*$width*$height*$girth*$packageType";
+              #  $items_in_box = 1;
+              #  $weight_of_box = $item_wt;
+              #  $value_of_box = $item_val;
                 $items_this_round++;
-	} else {
+	       } else {
               if ($items_in_box == 0) {
-                $items_in_box = 1;
-                $weight_of_box = $item_wt;
-                $value_of_box = $item_val;
-                $items_this_round++;
+                 $items_in_box = 1;
+                 $weight_of_box = $item_wt;
+                 $value_of_box = $item_val;
+                 $items_this_round++;
 	          } else { # add to or close/start box
 	             if (($weight_of_box + $item_wt) < $max_per_box) { #add
-	              $items_in_box++;
-	              $weight_of_box = $weight_of_box + $item_wt;
-	              $value_of_box = $value_of_box + $item_val;
-	              $items_this_round++;
+	               $items_in_box++;
+	               $weight_of_box = $weight_of_box + $item_wt;
+	               $value_of_box = $value_of_box + $item_val;
+	               $items_this_round++;
 	             } else { # close, then start a new box
 	                if ($items_this_round > 0) {
 	                  $instructions .="  $items_this_round $ztitle [$item_wt]\n";
@@ -149,17 +152,17 @@
 	                $instructions .= " Total Weight: $weight_of_box\n\n";
 	                if ($new_wt_data ne "") {
 	              	  $new_wt_data .= '|';
-	                 }
-	                $new_wt_data .= "1*${weight_of_box}*${value_of_box}*$alt_origin*$alt_stateprov*****";
+	                }
+    	            $new_wt_data .= "1*${weight_of_box}*${value_of_box}*$alt_origin*$alt_stateprov*****";
 	                $instructions .= "Next Box:\n";
 	                $items_in_box = 1;
 	                $weight_of_box = $item_wt;
 	                $value_of_box = $item_val;
 	               $items_this_round = 1;
-	             } 
-	          } 
-	       } 
-    	} 
+	             } # end of: close, then start a new box
+	          } # end of: else on add to or close/start box
+	       } # end of: else on ... if $separatePackage
+    	} # end of for statement: ($inx2=$item_qty; $inx2 > 0; $inx2--)
 
         if ($items_this_round > 0) {
             $instructions .="  $items_this_round $ztitle [$item_wt]\n";
@@ -173,9 +176,14 @@
     if ($single_item_box_list ne "") {
     	$new_wt_data .= "$single_item_box_list";
         $single_item_box_list = '';
-    } else {
-    	$new_wt_data .= "1*${weight_of_box}*${value_of_box}*$alt_origin*$alt_stateprov*****";
     }
+
+    if ($new_wt_data ne "") {
+    	$new_wt_data .= '|';
+    }
+
+    $new_wt_data .= "1*${weight_of_box}*${value_of_box}*$alt_origin*$alt_stateprov*****";
+
     
  if ($max_per_box == 0) {
    $instructions = "Put one item in each box.";
@@ -183,6 +191,8 @@
 
  $final_instructions =  $special_instructions . $instructions;
  &codehook("shippinglib-put-in-boxes-bot");
+ # debug
+ # print "<br><br> \$new_wt_data = $new_wt_data <br><br> $final_instructions = $final_instructions";
  return ($new_wt_data,$final_instructions);
 }
 ######################################################################
diff -x .svn -aruN 5.2.000.src/protected/cart_display-ext_lib.pl 5.2.002.src/protected/cart_display-ext_lib.pl
--- 5.2.000.src/protected/cart_display-ext_lib.pl	2008-01-29 12:28:56.000000000 -0600
+++ 5.2.002.src/protected/cart_display-ext_lib.pl	2008-02-07 16:51:53.000000000 -0600
@@ -1,6 +1,6 @@
 # file ./store/protected/cart_display-ext_lib.pl
 
-$versions{'cart_display-ext_lib.pl'} = "5.2.000";
+$versions{'cart_display-ext_lib.pl'} = "5.2.001";
 
 {
  local ($modname) = 'cart_display';
@@ -288,6 +288,7 @@
 
 <tr><td colspan=2>
 Define the Screen Displays of Cart Contents:<br>
+<small>any "options" selection in this section can be used to display an item's options in the cart contents display. NO HEADERING TITLE NEEDED</small><br>
 <center>
 <TABLE BORDER=2 CELLPADDING=2 CELLSPACING=0 width=560>
 
diff -x .svn -aruN 5.2.000.src/protected/database-ext_lib.pl 5.2.002.src/protected/database-ext_lib.pl
--- 5.2.000.src/protected/database-ext_lib.pl	2008-01-29 12:28:56.000000000 -0600
+++ 5.2.002.src/protected/database-ext_lib.pl	2008-02-07 18:53:35.000000000 -0600
@@ -21,7 +21,7 @@
 # on process time for web tasks can be overcome -- it autmatically
 # reloads itself for the next group of records.  -- July 19, 2001
 
-$versions{'database-ext_lib.pl'} = "5.0.001";
+$versions{'database-ext_lib.pl'} = "5.2.000";
 
 {
  local ($modname) = 'database';
@@ -486,6 +486,7 @@
 
 if($in{'system_edit_success'} ne "")
 {
+&category_list_builder_for_store;
 print <<ENDOFTEXT;
 <CENTER>
 <TABLE>
diff -x .svn -aruN 5.2.000.src/protected/index.html 5.2.002.src/protected/index.html
--- 5.2.000.src/protected/index.html	2008-01-29 12:28:56.000000000 -0600
+++ 5.2.002.src/protected/index.html	2003-09-25 03:12:58.000000000 -0500
@@ -1,8 +1 @@
-<html>
-<head>
-<meta http-equiv="refresh" content="1;url=manager.cgi">
-</head>
-<body onload="window.location = 'manager.cgi';">
-If you do not get redirected to the manager interface, please click <a href='manager.cgi'>here</a>.
-</body>
-</html>
+Restricted Area
\ No newline at end of file
diff -x .svn -aruN 5.2.000.src/protected/main_settings-ext_lib.pl 5.2.002.src/protected/main_settings-ext_lib.pl
--- 5.2.000.src/protected/main_settings-ext_lib.pl	2008-01-29 12:28:56.000000000 -0600
+++ 5.2.002.src/protected/main_settings-ext_lib.pl	2008-02-07 18:53:35.000000000 -0600
@@ -1,6 +1,6 @@
 # file ./store/protected/main_settings-ext_lib.pl
 
-$versions{'main_settings-ext_lib.pl'} = "5.2.001";
+$versions{'main_settings-ext_lib.pl'} = "5.2.002";
 #######################################################################################
 # Misc Variables
       use File::Copy;
@@ -215,6 +215,11 @@
 $myset .= "\$sc_need_short_cart_id = \"$in{'sc_need_short_cart_id'}\";\n";
 $myset .= "\$sc_use_international_latin_characters = \"$in{'sc_use_international_latin_characters'}\";\n";
 
+if ($sc_use_database_subcats ne $in{'sc_use_database_subcats'}) {
+    $sc_use_database_subcats = $in{'sc_use_database_subcats'};
+    &category_list_builder_for_store;
+}
+
 $myset .= "\$sc_use_database_subcats = \"$in{'sc_use_database_subcats'}\";\n";
 $myset .= "\$sc_subcat_index_field = \"$in{'sc_subcat_index_field'}\";\n";
 $myset .= "\$sc_count_database_cats = \"$in{'sc_count_database_cats'}\";\n";
diff -x .svn -aruN 5.2.000.src/protected/manager.cgi 5.2.002.src/protected/manager.cgi
--- 5.2.000.src/protected/manager.cgi	2008-01-29 12:28:56.000000000 -0600
+++ 5.2.002.src/protected/manager.cgi	2008-02-11 20:19:16.000000000 -0600
@@ -13,7 +13,7 @@
   print `./wrap_mgr.o`;
   &call_exit;
  }
-$versions{'manager.cgi'}="5.2.000";
+$versions{'manager.cgi'}="5.2.002";
 $manager_program_running = "yes";
 chdir(".."); 
 &setup_manager;
@@ -561,7 +561,7 @@
     $category = $db_ele{$sku};
     %subcatarray = %{$db_ele{$category}};
     $category2 = $category;
-    $category2=~s/ /_/g;
+    #$category2=~s/ /_/g;
     if ($sc_count_database_cats =~ /yes/i) {
       $catnumber = "(" . $db_ele2{$category} . ")";
     }
@@ -570,7 +570,7 @@
     $sc_categories_bots_with_subcats .= qq|\n$custom_sc_main_category_indent<a href="agora.cgi?product=$category2&amp;xm=on" class="$custom_sc_main_category_css_class" title="$category">$category</a> $catnumber$custom_sc_main_category_end_html|;
     foreach $subcategoryarray (sort(keys %subcatarray)) {
       $category3 = $subcategoryarray;
-      $category3=~s/ /_/g;
+     # $category3=~s/ /_/g;
       if ($sc_count_database_cats =~ /yes/i) {
         $catnumber2 = "(" . $db_ele{$category}->{$subcategoryarray} . ")";
       }
diff -x .svn -aruN 5.2.000.src/protected/product_edit-ext_lib.pl 5.2.002.src/protected/product_edit-ext_lib.pl
--- 5.2.000.src/protected/product_edit-ext_lib.pl	2008-01-29 12:28:56.000000000 -0600
+++ 5.2.002.src/protected/product_edit-ext_lib.pl	2008-02-14 18:35:47.000000000 -0600
@@ -1,6 +1,6 @@
 # file ./store/protected/product_edit-ext_lib.pl
 
-$versions{'product_edit-ext_lib.pl'} = "5.2.000";
+$versions{'product_edit-ext_lib.pl'} = "5.2.001";
 $sc_userfieldsfile="$mgrdir/misc/userfields.pl";
 $mc_shipfilename = "$sc_data_file_dir/shipping_dimensions.file";
 &require_supporting_libraries(__FILE__,__LINE__,
@@ -376,6 +376,26 @@
            </td></tr>\n~;
  }
 
+if ($sc_dimensional_shipping_enabled =~ /yes/) { # allow dimensions per box
+  $dimension_row = qq~<tr><td colspan=4><font FACE="ARIAL" SIZE="2">Shipping Dimensions are enabled.  Enter the length, width, height of the box. If using a non-rectangular package and not using a shipper supplied container, enter in the girth of the widest point perpendicular to the length of the package.  Select the packaging type as well.  If you use more than one shipping company for real-time quotes, do not select anything other than "your packaging".  <b>If this product is to be boxed with other items, leave these fields blank </b>(it will use defaults from the real-time shipping settings instead).<br>
+Box Type: <select name="boxtype">
+<option>$boxtype</option>
+<option value="02">02 - UPS Your Packaging</option>
+<option value="03">03 - UPS Tube (38" Long, posters &amp; prints)</option>
+<option value="RECTANGULAR">USPS Your Packaging - Rectangular</option>
+<option value="NONRECTANGULAR">USPS Your Packaging - Non-Rectangular</option>
+<option value="FLAT RATE BOX">USPS Flat Rate Box - Priority Mail Only</option>
+<option value="FLAT RATE ENVELOPE">USPS Flat Rate Envelope</option>
+      <option value='RECTANGULARPACKAGING'>Your Packaging (rectagular for any shipper)</option>
+<option value="">None</option>
+</select> &nbsp;&nbsp;
+           Length: <input type=text name=length size=3 value=$length> &nbsp;&nbsp; 
+           Width: <input type=text name=width size=3 value=$width> &nbsp;&nbsp; 
+           Height: <input type=text name=height size=3 value=$height> &nbsp;&nbsp;
+           Girth: <input type=text name=girth size=3 value=$girth><br>
+           </td></tr>\n~;
+ }
+
 if($add_product_success eq "yes"){
 $msg .= qq~<br><FONT FACE=ARIAL SIZE=2 COLOR=RED>Product number <a 
 target="_BLANK"
@@ -435,6 +455,8 @@
 $options_file_list
       </select> </td>
     </tr>
+$alternate_origin_row
+$dimension_row
     <tr>
       <td colspan=1><font FACE="ARIAL" SIZE="2"><b>Category</b><br><small>spaces & dashes okay. 50 characters max.</small></font><br><input NAME="category" TYPE="TEXT" SIZE="25"
         MAXLENGTH="50"></td>
@@ -1377,6 +1399,7 @@
 open(NEWFILE,">$mc_shipfilename") || &my_die("Can't Open $mc_shipfilename");
 
 foreach $line (@lines){
+  chomp $line;
   ($ProductEditSku, $junk) = split(/\|/,$line,2);
 
   if ($ProductEditSku eq $product_id) {
diff -x .svn -aruN 5.2.000.src/protected/ship_settings-ext_lib.pl 5.2.002.src/protected/ship_settings-ext_lib.pl
--- 5.2.000.src/protected/ship_settings-ext_lib.pl	2008-01-29 12:28:56.000000000 -0600
+++ 5.2.002.src/protected/ship_settings-ext_lib.pl	2008-02-11 21:35:59.000000000 -0600
@@ -35,7 +35,7 @@
 #
 ##########################################################################
 
-$versions{'ship_settings-ext_lib.pl'} = "5.0.002";
+$versions{'ship_settings-ext_lib.pl'} = "5.2.001";
 $sc_custom_shipping_methodname_string = '';
 $sc_shipadminfile="$mgrdir/misc/ship_admin.pl";
 
@@ -391,6 +391,34 @@
 <TD COLSPAN=2><br></TD>
 </TR>
 
+<tr>
+<td colspan=2><hr/></td>
+</tr>
+
+<tr>
+<td colspan="2" bgcolor=#99CC99>
+<b>Dimensional Shipping Measurements:</b>
+</td>
+</tr>
+<tr>
+<td colspan=2 bgcolor=#99CC99><hr/></td>
+</tr>
+<tr>
+<td><br><b>Enable Dimensions in Product Database?</b>  This allows you to enter individual product dimensions for items that ship in their own box or separately from other items via a real-time shipping method (USPS). If unsure, leave blank. </td>
+<td>
+<select name=sc_dimensional_shipping_enabled>
+<option>$sc_dimensional_shipping_enabled</option>
+<option>yes</option> 
+<option>no</option> 
+</select>
+</td>
+</td>
+</tr>
+
+<tr>
+<td colspan=2><br></td>
+</tr>
+
 <TR>
 <TD COLSPAN=2><HR></TD>
 </TR>
@@ -780,7 +808,7 @@
 
 <TR>
 <TD COLSPAN=2><HR></TD>
-</TR>-->
+</TR>
 
 <TR>
 <TD COLSPAN=2>
diff -x .svn -aruN 5.2.000.src/protected/store_admin_html.pl 5.2.002.src/protected/store_admin_html.pl
--- 5.2.000.src/protected/store_admin_html.pl	2008-01-29 12:28:56.000000000 -0600
+++ 5.2.002.src/protected/store_admin_html.pl	2008-02-15 19:53:35.000000000 -0600
@@ -1,7 +1,7 @@
 ######################################################################################
 # This file contains the HTML for the store admin screens
 ######################################################################################
-$versions{'store_admin_html.pl'} = "5.2.000";
+$versions{'store_admin_html.pl'} = "5.2.001";
 &require_supporting_libraries(__FILE__,__LINE__,
   "$mgrdir/misc/mgr_miscmain.pl");
 if ($mc_max_top_menu_items eq '') { 
@@ -618,11 +618,10 @@
 <TR>
 <TD COLSPAN=2 class=main_text2>
 <center><a href="http://www.agoracart.com/agorawiki/index.php?title=The_AgoraCart_Project:User_Manual" target="_blank">User Manual</a>  | 
-<a href="http://www.agoracart.com/agorawiki/index.php?title=The_AgoraCart_Project:FAQ" target="_blank">FAQ</a>  | 
 <a href="http://www.agoracart.com/agorawiki/index.php?title=3rd_Party_Reference_%26_Tutorials" target="_blank">Misc Reference \& Tutorials</a>  | 
-<a href="DOCS/" target="_blank">Your Store's DOCS directory</a><br/>
+<a href="DOCS/" target="_blank">Your Store's DOCS directory</a>  | 
 <a href="http://www.AgoraCart.com/blog" target="_blank">Blog: News & Updates</a>  | 
-<a href="http://www.agoracart.com/paymentgateways.htm" target="_blank">Payment Processing Gateways Supported</a></center><hr/>
+<a href="http://www.agoracart.com/paymentgateways.htm" target="_blank">Payment Gateways Supported</a></center><hr/>
 ENDOFTEXT
 #read files for updates added by Mister Ed Jan 2006
 $target_file = "http://www.agoracart.com/news.txt";
diff -x .svn -aruN 5.2.000.src/protected/store_layout_display-ext_lib.pl 5.2.002.src/protected/store_layout_display-ext_lib.pl
--- 5.2.000.src/protected/store_layout_display-ext_lib.pl	2008-01-29 12:28:56.000000000 -0600
+++ 5.2.002.src/protected/store_layout_display-ext_lib.pl	2008-02-07 18:53:36.000000000 -0600
@@ -25,7 +25,7 @@
 # written permission.
 #
 ##########################################################################
-$versions{'store_layout_display-ext_lib.pl'} = "5.2.000";
+$versions{'store_layout_display-ext_lib.pl'} = "5.2.001";
 
 {
  local ($modname) = 'misc_store_layout_display';
@@ -85,7 +85,43 @@
 my $temp_footer_text = &my_escape($in{'sc_footer_copyright_text'});
 $myset .= "\$sc_footer_copyright_text = \"$temp_footer_text\";\n";
 
+
+
   &update_store_settings('layout',$myset); # layout settings
+
+$in{'custom_sc_main_category_indent'} =~ s/\s/&nbsp;/g; #'&bull;';
+$in{'custom_sc_sub_category_indent'}  =~ s/\s/&nbsp;/g;
+$in{'custom_sc_main_category_end_html'}  =~ s/\s/&nbsp;/g;
+$in{'custom_sc_sub_category_end_html'} =~ s/\s/&nbsp;/g;
+$custom_sc_main_category_indent = "$in{'custom_sc_main_category_indent'}";
+$custom_sc_sub_category_indent = "$in{'custom_sc_sub_category_indent'}";
+$custom_sc_main_category_css_class = "$in{'custom_sc_main_category_css_class'}";
+$custom_sc_sub_category_css_class = "$in{'custom_sc_sub_category_css_class'}";
+$custom_sc_main_category_end_html = "$in{'custom_sc_main_category_end_html'}";
+$custom_sc_sub_category_end_html = "$in{'custom_sc_sub_category_end_html'}";
+
+my $file = qq| # file ./store/protected/custom/customizeable_category_builder_routines.pl
+#######################################################################################
+#
+# Use this file to customize your category and sub category links that are displayed in the headers
+# or footers of the store when a customer visits your store.
+#
+# change only the values for the variables (they start with a \$) between the single quote marks (')
+# If you are not familiar with editing of programming variables, just use the defaults.
+# 
+#######################################################################################
+\$custom_sc_main_category_indent = "$in{'custom_sc_main_category_indent'}"; #'&bull;';
+\$custom_sc_sub_category_indent = "$in{'custom_sc_sub_category_indent'}";
+\$custom_sc_main_category_css_class = "$in{'custom_sc_main_category_css_class'}";
+\$custom_sc_sub_category_css_class = "$in{'custom_sc_sub_category_css_class'}";
+\$custom_sc_main_category_end_html = "$in{'custom_sc_main_category_end_html'}";
+\$custom_sc_sub_category_end_html = "$in{'custom_sc_sub_category_end_html'}";
+1;
+|;
+ open(UPDATEFILE,">$mgrdir/custom/customizeable_category_builder_routines.pl") || &my_die("Can't Open $mgrdir/custom/customizeable_category_builder_routines.pl");
+     print (UPDATEFILE $file);
+  close(UPDATEFILE);
+
   &display_store_layout_screen;
  }
 ################################################################################
@@ -345,6 +381,42 @@
 <TR>
 <TD><br></TD>
 </TR>
+
+<TR>
+<TD COLSPAN=4 bgcolor=#99CC99 align=center><font face="Arial, Helvetica, sans-serif" size=+2><b>Product Category Layout / Formatting Section</b></font></TD>
+</TR>
+<TR>
+<TD><br></TD>
+</TR>
+
+<TR>
+<TD colspan=2><font size="2" face="Arial, Helvetica, sans-serif">
+This section allows you to update basic formatting used in the display of your category and sub-category links, which are used used in agorascript enabled headers or footers<br><br>
+<b>Indent/HTML at Beginning of each Main Product Category:</b> <INPUT NAME="custom_sc_main_category_indent" TYPE="TEXT" SIZE=25 
+MAXLENGTH="25" VALUE="$custom_sc_main_category_indent"><br><br>
+
+<b>Indent/HTML at Beginning of each Product Sub-Category:</b> <INPUT NAME="custom_sc_sub_category_indent" TYPE="TEXT" SIZE=25 
+MAXLENGTH="25" VALUE="$custom_sc_sub_category_indent"><br><br>
+
+<b>CSS "Class Tag Name" for Main Product Categories:</b> <INPUT NAME="custom_sc_main_category_css_class" TYPE="TEXT" SIZE=25 
+MAXLENGTH="25" VALUE="$custom_sc_main_category_css_class"><br><br>
+
+<b>CSS "Class Tag Name" for Product Sub-Categories:</b> <INPUT NAME="custom_sc_sub_category_css_class" TYPE="TEXT" SIZE=25 
+MAXLENGTH="25" VALUE="$custom_sc_sub_category_css_class"><br><br>
+
+<b>HTML used at the end of each Main Product Category:</b> <INPUT NAME="custom_sc_main_category_end_html" TYPE="TEXT" SIZE=25 
+MAXLENGTH="25" VALUE="$custom_sc_main_category_end_html"><br><br>
+
+<b>HTML used at the end of each Product Sub-Category:</b> <INPUT NAME="custom_sc_sub_category_end_html" TYPE="TEXT" SIZE=25 
+MAXLENGTH="25" VALUE="$custom_sc_sub_category_end_html"><br><br>
+
+</font>
+</TD>
+</TR>
+<TR>
+<TD><br></TD>
+</TR>
+
 <TR>
 <TD COLSPAN=4 bgcolor=#99CC99 align=center><font face="Arial, Helvetica, sans-serif" size=+2><b>Misc Cart Messages</b></font></TD>
 </TR>
