[interchange-cvs] interchange - heins modified 11 files

interchange-core@icdevgroup.org interchange-core@icdevgroup.org
Wed Aug 14 10:16:01 2002


User:      heins
Date:      2002-08-14 14:15:32 GMT
Modified:  dist/foundation/pages/ord checkout.html
Added:     dist/foundation/include/checkout billing_address
Added:              initialization login_form mailing_status
Added:              new_browser_payment old_browser_payment
Added:              payment_select shipping_address shopping_cart
Added:              tax_popup
Log:
* New checkout page which uses multiple includes to break out
  the form into manageable chuncks.

Revision  Changes    Path
1.1                  interchange/dist/foundation/include/checkout/billing_a=
ddress


rev 1.1, prev_rev 1.0
Index: billing_address
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
<table cellspacing=3D0 cellpadding=3D0 width=3D"100%">
  <tr>
	<td>
	  <table border=3D0 cellspacing=3D0 cellpadding=3D0 width=3D"100%">
		<tr class=3Dcontentbar2>
		  <td colspan=3D4 class=3Dcontentbar2>
		  	<b>&nbsp;Billing Address</b> - <i>If different than above</i>
		  </td>
		</tr>
		<tr>
		  <td align=3Dright class=3Dcontentbar1>
			<b>First Name</b>
		  </td>
		  <td align=3Dleft class=3Dcontentbar1>
			<INPUT TYPE=3Dtext NAME=3Db_fname VALUE=3D"[value b_fname]" size=3D"20" =
maxlength=3D"20">
		  </td>
		  <td class=3Dcontentbar1><b>Last Name</b></td>
		  <td align=3Dleft class=3Dcontentbar1>
			<INPUT TYPE=3Dtext NAME=3Db_lname VALUE=3D"[value b_lname]" size=3D"20">
		  </td>
		</tr>
		<tr>
		  <td align=3Dright class=3Dcontentbar1>
			<b>Company</b>
		  </td>
		  <td align=3Dleft class=3Dcontentbar1 colspan=3D3>
			<INPUT TYPE=3Dtext NAME=3Db_company VALUE=3D"[value b_company]" size=3D"=
20" maxlength=3D"44">
		  </td>
		</tr>
		<tr>
		  <td align=3Dright class=3Dcontentbar1>
			<b>Address</b>
		  </td>
		  <td align=3Dleft colspan=3D3 class=3Dcontentbar1>
			<INPUT TYPE=3Dtext NAME=3Db_address1 VALUE=3D"[value b_address1]" size=
=3D40 maxlength=3D"64">
		  </td>
		</tr>
		<tr>
		  <td class=3Dcontentbar1>&nbsp;</td>
		  <td align=3Dleft colspan=3D3 class=3Dcontentbar1>
			<INPUT TYPE=3Dtext NAME=3Db_address2 VALUE=3D"[value b_address2]" size=
=3D40 maxlength=3D"64">
		  </td>
		</tr>
		<tr>
		  <td align=3Dright class=3Dcontentbar1>
			<b>City</b>
		  </td>
		  <td class=3Dcontentbar1>
			<INPUT TYPE=3Dtext NAME=3Db_city VALUE=3D"[value b_city]" size=3D"20">
		  </td>
		  <td align=3Dright class=3Dcontentbar1><b>State/Province</b></td>
		  <td class=3Dcontentbar1>
			<INPUT TYPE=3Dtext NAME=3Db_state VALUE=3D"[value b_state]" size=3D"5" m=
axlength=3D"5">
		  </td>
		</tr>
		<tr>
		  <td align=3Dright class=3Dcontentbar1>
			<b>Zip/Postal Code </b>
		  </td>
		  <td class=3Dcontentbar1 colspan=3D3>
			<INPUT TYPE=3Dtext NAME=3Db_zip VALUE=3D"[value b_zip]" size=3D"10" maxl=
ength=3D"10">
		  </td>
		</tr>
		<tr>
		  <td align=3Dright class=3Dcontentbar1>
			<b>Country</b>
		  </td>
		  <td class=3Dcontentbar1 colspan=3D3>
			<INPUT TYPE=3Dtext NAME=3Db_country VALUE=3D"[value b_country]" size=3D"=
10" maxlength=3D"10">
		  </td>
		</tr>
		<tr>
		  <td class=3Dcontentbar1 colspan=3D4>&nbsp;</td>
		</tr>
	  </table>
	</td>
  </tr>
</table>=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20



1.1                  interchange/dist/foundation/include/checkout/initializ=
ation


rev 1.1, prev_rev 1.0
Index: initialization
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
<!-- [set old_browser]1[/set][calc]
	## Browser check, standalone so syntax error will not
	## kill init code
	my $regex =3D $Variable->{MV_DHTML_BROWSER};
	$regex ||=3D 'MSIE [5-9].*Windows|Mozilla.*Gecko';

	$regex =3D qr/$regex/;
	if($Session->{browser} =3D~ $regex) {
		delete $Scratch->{old_browser};
	}
	return $Scratch->{old_browser} ? 'Not a DHTML browser' : 'DHTML browser';
[/calc] -->

[perl tables=3D"country products"]

	## This section sets the shipping, handling, taxing, and payment
	## initializations, as well as browser check

	## Start with payment mode if none there
	$Values->{mv_order_profile} ||=3D $Variable->{DEFAULT_PAYMENT_MODE}
								||'credit_card';

	## Check for COD order

	my @handling;

	if($Values->{mv_handling}) {
			@handling =3D split /[\s,\0]+/, $Values->{mv_handling};
			@handling =3D grep /\S/ && $_ ne 'cod', @handling;
			$Values->{mv_handling} =3D join " ", @handling;
	}

	if($Values->{mv_order_profile} eq 'cod') {
			push @handling, 'cod';
	}

	if(@handling) {
			$Values->{mv_handling} =3D join " ", @handling;
	}
Debug("mv_handling=3D$Values->{mv_handling}");
    my $db =3D $Db{country} or return;
=20
    my $domestic =3D $Variable->{DOMESTIC_SHIPPING} || 'US CA';
    $domestic =3D~ s/\W+/ /g;
    my @dom =3D grep /\S/, split /\s+/, $domestic;
    my %dom;
    @dom{@dom} =3D @dom;
    my $modes;
    if($Values->{country}) {
        $modes =3D tag_data('country', 'shipmodes', $Values->{country});
        @modes =3D grep /\S/, split /[\s,\0]+/, $modes;
    }
=20=20=20=20
    delete $Scratch->{only_download};
    my $hardgoods;
    for(@$Items) {
        next if tag_data('__ProductFiles_0__', 'download', $_->{code});
        $hardgoods =3D 1;
    }

    ! $hardgoods and $Scratch->{only_download} =3D 1;

    return unless @modes;
    my %modes;
    @modes{@modes} =3D @modes;

    if(! $modes{$Values->{mv_shipmode}}) {
        $Values->{mv_shipmode} =3D shift @modes;
    }
    return;
[/perl]



1.1                  interchange/dist/foundation/include/checkout/login_form


rev 1.1, prev_rev 1.0
Index: login_form
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
    <br>
    <p>If you have an account with us, please login using the fields below.=
 It
    is not required, but you can also <a href=3D"[area new_account]">create=
 an
    account</a> with us.</p>
=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20
    [if session failure]
      <P>
      <b>[calc]delete $Session->{failure}[/calc]</b>
      <P>
    [/if]

    <FORM ACTION=3D"[process secure=3D1]" METHOD=3DPOST>
    <INPUT TYPE=3Dhidden NAME=3Dmv_click VALUE=3DLogin>
    <INPUT TYPE=3Dhidden NAME=3Dmv_todo  VALUE=3Dreturn>
    <INPUT TYPE=3Dhidden NAME=3Dmv_nextpage VALUE=3D"ord/checkout">

    [set Log In]
      mv_nextpage=3D@@MV_PAGE@@
    [/set]

    <table align=3D"center">
    <tr>
      <td class=3D"contentbar2">
        <table>
        <tr>
          <td align=3D"right" class=3D"contentbar1">
            Username:
          </td>
          <td align=3D"left" class=3D"contentbar1">
            <INPUT NAME=3Dmv_username VALUE=3D"[read-cookie MV_USERNAME]">
          </td>
        </tr>
        <tr>
          <td align=3D"right" class=3D"contentbar1">
            Password:
          </td>
          <td class=3D"contentbar1" align=3D"left">
            <INPUT TYPE=3Dpassword NAME=3Dmv_password VALUE=3D"">
            <input type=3D"hidden" NAME=3D"mv_check" value=3D"Log In">
          </td>
        </tr>
        <tr>
          <td>&nbsp;</td>
          <td>
            <input type=3D"submit" value=3D"Log In">
          </td>
        </tr>
                [if config CookieLogin]
        <tr>
          <td align=3D"right">
            <INPUT TYPE=3Dhidden NAME=3Dmv_cookie_password VALUE=3D0><INPUT=
 TYPE=3Dcheckbox NAME=3Dmv_cookie_password VALUE=3D1>
          </td>
          <td>Log me in automatically (sets cookie)</td>
        </tr>
                [/if]
        </table>
      </td>
    </tr>
    </table>
=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20
    </form>




1.1                  interchange/dist/foundation/include/checkout/mailing_s=
tatus


rev 1.1, prev_rev 1.0
Index: mailing_status
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D

<table cellspacing=3D"0" cellpadding=3D"0" width=3D"100%">
  <tr>
	<td>
	  <table border=3D"0" align=3D"center" cellspacing=3D"0" width=3D"100%">
		<tr class=3D"contentbar2">
		  <td class=3D"contentbar2" colspan=3D4><b>Mailing Status</b></td>
		</tr>
		<tr>
		  <td align=3D"center" valign=3D"middle" class=3D"contentbar1">
			<SELECT NAME=3Demail_copy>
			<OPTION VALUE=3D"1">Yes
			<OPTION [selected name=3Demail_copy value=3D0] VALUE=3D"0">No
			</SELECT>
		  </td>
		  <td class=3D"contentbar1"><B>Send an email copy of my receipt</B></td>
		  <td class=3D"contentbar1">&nbsp;</td>
		  <td class=3D"contentbar1">&nbsp;</td>
		</tr>
	  [if variable CHECKOUT_MAIL_LIST]
		<tr>
		  <td align=3D"center" valign=3D"middle" class=3D"contentbar1">
			&nbsp;
			[perl tables=3D"__UI_META_TABLE__ mv_metadata"]
			return;
			[/perl]
			[input-filter name=3Dmail_list op=3Dnull_to_space][/input-filter]
			[display table=3Duserdb type=3Dmultiple column=3Dmail_list key=3D"[data =
session username]"]
		  </td>
		  <td class=3D"contentbar1"><B>Mail lists (if any)</B></td>
		  <td class=3D"contentbar1">&nbsp;</td>
		  <td class=3D"contentbar1">&nbsp;</td>
		</tr>
	  [/if]
	  </table>
	</td>
  </tr>
</table>



1.1                  interchange/dist/foundation/include/checkout/new_brows=
er_payment


rev 1.1, prev_rev 1.0
Index: new_browser_payment
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
<div
    style=3D"
            Position:Relative;
            Left:0; Top:0;
            Visibility:Visible;
            z-index:1;
	">
	<div=20
		id=3Dcredit_card
		style=3D"
				Position:Absolute;
				Left:0; Top:0;
				Visibility:Hidden;
				z-index:0;
		">
      <!--- credit card information --->
      <table cellspacing=3D0 cellpadding=3D"0" width=3D"100%">
      <tr>
        <td>
          <table border=3D0 cellspacing=3D0 cellpadding=3D4 width=3D"100%">
          <tr>
            <td colspan=3D"2" class=3D"contentbar2" width=3D"30%">
              <b>
              [error std_label=3D"Credit Card Information" name=3Dmv_credit=
_card_valid]
              </b>
            </td>
            <td class=3D"contentbar2">
              [calc]
                my $accepted =3D $Variable->{CREDIT_CARDS_ACCEPTED};
                my (@out);
                my (@cc);
                my $out;
                push @cc, 'visa' if $accepted =3D~ /visa/;
                push @cc, 'mc' if $accepted =3D~ /mc/;
                push @cc, 'disc' if $accepted =3D~ /discover/;
                push @cc, 'amex' if $accepted =3D~ /amex/;
                for (@cc) {
                  push @out, qq{<IMG SRC=3D"small$_.png">};
                }
                return join '&nbsp;&nbsp;', @out;
              [/calc]
            </td>
          </tr>
          <tr>
            <td align=3Dright class=3D"contentbar1" width=3D"30%">
              <b>Card Number: </b>
            </td>
            <td colspan=3D2 class=3D"contentbar1">
              <b><INPUT TYPE=3Dtext NAME=3Dmv_credit_card_number SIZE=3D22>=
</b>
            </td>
          </tr>
		  [if variable MV_DEMO_MODE]
		  <tr>
		  	<td class=3Dcontentbar1>
			</td>
		  	<td colspan=3D2 class=3Dcontentbar1>
              (test number <A HREF=3D"javascript:void 0" onclick=3D"checkou=
t.mv_credit_card_number.value=3D'4111 1111 1111 1111'; return false;">4111 =
1111 1111 1111</A>)
			</td>
		  </tr>
		  [/if]
          <tr>
            <td align=3Dright class=3D"contentbar1">
              <b>Expiration: </b>
            </td>
            <td colspan=3D2 class=3D"contentbar1">

                <SELECT NAME=3Dmv_credit_card_exp_month>
                [loop
                        option=3Dmv_credit_card_exp_month
						acclist=3D1
                        list=3D|
1=3D01 - January,
2=3D02 - February,
3=3D03 - March,
4=3D04 - April,
5=3D05 - May,
6=3D06 - June,
7=3D07 - July,
8=3D08 - August,
9=3D09 - September,
10=3D10 - October,
11=3D11 - November,
12=3D12 - December|]
                <OPTION VALUE=3D"[loop-code]"> [loop-param label]
                [/loop]
                </SELECT>
=20=20=20=20=20=20=20=20
                <SELECT NAME=3Dmv_credit_card_exp_year>
                [comment]
                This should always return the current year as the first, th=
en
                7 more years.
                [/comment]
                [loop option=3Dmv_credit_card_exp_year lr=3D1 list=3D`
                my $year =3D $Tag->time( '', { format =3D> '%Y' }, '%Y' );
                my $out =3D '';
                for ($year .. $year + 7) {
                        /\d\d(\d\d)/;
                        $last_two =3D $1;
                        $out .=3D "$last_two\t$_\n";
                }
                return $out;
                `]

                <OPTION VALUE=3D"[loop-code]"> [loop-pos 1]
                [/loop]
                </SELECT>
              </td>
            </tr>
            </table>
=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20
          </td>
        </tr>
        </table>
	</div>
	<div=20
		id=3Dpostal
		style=3D"
				Position:Absolute;
				Left:0; Top:0;
				Visibility:Hidden;
				z-index:0;
		">
		We will wait for a check sent to us referencing the order number you rece=
ive on your receipt.
        </div>
	<div=20
		id=3Dcod
		style=3D"
				Position:Absolute;
				Left:0; Top:0;
				Visibility:Hidden;
				z-index:0;
		">
		There will be a [handling cod] charge added for COD.
        </div>
=20=20=20=20=20=20=20=20
	<div=20
		id=3Donline_check
		style=3D"
				Position:Absolute;
				Left:0; Top:0;
				Visibility:Hidden;
				z-index:0;
		">
        <table border=3D"0" cellspacing=3D"0" cellpadding=3D"0" width=3D"10=
0%">
        <tr>
          <td>
            <table border=3D"0" cellspacing=3D"0" cellpadding=3D"0"  width=
=3D"100%">
            <tr>
              <td class=3D"contentbar2" colspan=3D"2" width=3D"30%">
                <b>&nbsp;&nbsp;Check Information</b>
              </td>
              <td class=3D"contentbar2">&nbsp;</td>
              <td class=3D"contentbar2">&nbsp;</td>
            </tr>
            <tr>
              <td align=3D"right" class=3D"contentbar1">
                [error name=3Dcheck_acct std_label=3D"Account Number" requi=
red=3D1]
              </td>
              <td colspan=3D"3 align=3D"left" class=3D"contentbar1">
                <b>
                <INPUT TYPE=3Dtext NAME=3Dcheck_acct SIZE=3D22 value=3D"[va=
lue check_acct]">
                </b>
              </td>
            </tr>
            <tr>
              <td align=3D"right" class=3D"contentbar1">
                [error name=3Dcheck_route std_label=3D"Routing Number" requ=
ired=3D1]
=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20
              </td>
              <td align=3D"left" colspan=3D"3" class=3D"contentbar1">
                <b><INPUT TYPE=3Dtext NAME=3Dcheck_route SIZE=3D22 value=3D=
"[value check_route]"></b>
              </td>
            </tr>
            <tr>
              <td align=3D"right" class=3D"contentbar1">
                [error name=3Dcheck_num std_label=3D"Check Number" required=
=3D1]
              </td>
              <td align=3D"left" colspan=3D"3" class=3D"contentbar1">
                <b>
                <INPUT TYPE=3Dtext NAME=3Dcheck_num SIZE=3D22 value=3D"[val=
ue check_num]">
                </b>
              </td>
                </tr>
            <tr>
              <td align=3D"right" class=3D"contentbar1">
                [error name=3Dcheck_bank_phone std_label=3D"Bank Phone" req=
uired=3D1]
=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20
              </td>
              <td align=3D"left" colspan=3D"3" class=3D"contentbar1">
                <b>
                <INPUT TYPE=3Dtext NAME=3Dcheck_bank_phone SIZE=3D22 value=
=3D"[value check_bank_phone]">
                </b>
              </td>
                </tr>
			<tr>
				<td colspan=3D4 class=3Dcontentbar1>&nbsp;</td>
			</tr>
		  </table>
		</td>
	  </tr>
	</table>
	</div>
	<div=20
		id=3Dpurchase_order
		style=3D"
				Position:Absolute;
				Left:0; Top:0;
				Visibility:Visible;
				z-index:0;
		">
=20
        <table cellspacing=3D"0" cellpadding=3D"0" width=3D"100%">
        <tr>
          <td>
            <table border=3D"0" cellspacing=3D"0" cellpadding=3D"0" width=
=3D"100%">
            <tr class=3D"contentbar2">
              <td class=3D"contentbar2" colspan=3D"2">
                <b> P.O. Information </b>
              </td>
              <td colspan=3D2 class=3D"contentbar2">&nbsp;</td>
            </tr>
            <tr>
              <td align=3Dright class=3D"contentbar1" width=3D"30%">
                [error name=3Dcredit_limit_ok std_label=3D"PO Number" requi=
red=3D1] &nbsp; &nbsp;
              </td>
              <td align=3Dleft colspan=3D3 class=3D"contentbar1">
                <b>
                <INPUT NAME=3Dproject_id VALUE=3D"[value project_id]" SIZE=
=3D14>
                </b>
              </td>
            </tr>
			<tr>
				<td colspan=3D4 class=3Dcontentbar1>&nbsp;</td>
			</tr>
=20=20=20=20=20=20=20=20
            [if type=3Ddata
                term=3D"userdb::credit_limit::[data session username]"
                op=3D">"
                compare=3D0.01]
=20=20=20=20=20=20=20=20
            <tr>
              <td align=3Dright valign=3Dtop class=3Dcontentbar1>
                <b> Available credit </b>&nbsp;&nbsp;&nbsp;
              </td>
              <td align=3Dleft colspan=3D3 class=3Dcontentbar1>
                [currency]
                [data table=3Duserdb col=3Dcredit_limit key=3D"[data sessio=
n username]"]
                [/currency]
=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20
                [if type=3Ddata
                        term=3D"userdb::credit_limit::[data session usernam=
e]"
                        op=3D<
                        compare=3D"[total-cost noformat=3D1]"
                ]
                <BR>
                Order total [total-cost] exceeds credit limit, please call.
                [/if]
                <BR>
              </td>
            </tr>
=20=20=20=20=20=20=20=20
            [/if]
			<tr>
				<td colspan=3D4 class=3Dcontentbar1>&nbsp;</td>
			</tr>
            </table>
=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20
          </td>
        </tr>
        </table>
	</div>
</div>

<script>
	visible('[either][value mv_order_profile][or]credit_card[/either]');
</script>



1.1                  interchange/dist/foundation/include/checkout/old_brows=
er_payment


rev 1.1, prev_rev 1.0
Index: old_browser_payment
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
[if value mv_order_profile eq credit_card]
[then]
<!--- credit card information --->
<table cellspacing=3D0 cellpadding=3D"0" width=3D"100%">
<tr>
  <td>
	<table border=3D0 cellspacing=3D0 cellpadding=3D4 width=3D"100%">
	<tr>
	  <td colspan=3D"2" class=3D"contentbar2" width=3D"30%">
		<b>
		[error std_label=3D"Credit Card Information" name=3Dmv_credit_card_valid]
		</b>
	  </td>
	  <td class=3D"contentbar2">
		[calc]
		  my $accepted =3D $Variable->{CREDIT_CARDS_ACCEPTED};
		  my (@out);
		  my (@cc);
		  my $out;
		  push @cc, 'visa' if $accepted =3D~ /visa/;
		  push @cc, 'mc' if $accepted =3D~ /mc/;
		  push @cc, 'disc' if $accepted =3D~ /discover/;
		  push @cc, 'amex' if $accepted =3D~ /amex/;
		  for (@cc) {
			push @out, qq{<IMG SRC=3D"small$_.png">};
		  }
		  return join '&nbsp;&nbsp;', @out;
		[/calc]
	  </td>
	</tr>
	<tr>
	  <td align=3Dright class=3D"contentbar1" width=3D"30%">
		<b>Card Number: </b>
	  </td>
	  <td colspan=3D2 class=3D"contentbar1">
		<b><INPUT TYPE=3Dtext NAME=3Dmv_credit_card_number SIZE=3D22></b>
	  </td>
	</tr>
	[if variable MV_DEMO_MODE]
	<tr>
	  <td class=3Dcontentbar1>
	  &nbsp;
	  </td>
	  <td colspan=3D2 class=3Dcontentbar1>
		(test number <A HREF=3D"javascript:void 0" onclick=3D"checkout.mv_credit_=
card_number.value=3D'4111 1111 1111 1111'; return false;">4111 1111 1111 11=
11</A>)
	  </td>
	</tr>
	[/if]
	<tr>
	  <td align=3Dright class=3D"contentbar1">
		<b>Expiration: </b>
	  </td>
	  <td colspan=3D2 class=3D"contentbar1">

		  <SELECT NAME=3Dmv_credit_card_exp_month>
		  [loop
				  option=3Dmv_credit_card_exp_month
				  acclist=3D1
				  list=3D|
1=3D01 - January,
2=3D02 - February,
3=3D03 - March,
4=3D04 - April,
5=3D05 - May,
6=3D06 - June,
7=3D07 - July,
8=3D08 - August,
9=3D09 - September,
10=3D10 - October,
11=3D11 - November,
12=3D12 - December|]
		  <OPTION VALUE=3D"[loop-code]"> [loop-param label]
		  [/loop]
		  </SELECT>
=20=20
		  <SELECT NAME=3Dmv_credit_card_exp_year>
		  [comment]
		  This should always return the current year as the first, then
		  7 more years.
		  [/comment]
		  [loop option=3Dmv_credit_card_exp_year lr=3D1 list=3D`
		  my $year =3D $Tag->time( '', { format =3D> '%Y' }, '%Y' );
		  my $out =3D '';
		  for ($year .. $year + 7) {
				  /\d\d(\d\d)/;
				  $last_two =3D $1;
				  $out .=3D "$last_two\t$_\n";
		  }
		  return $out;
		  `]

		  <OPTION VALUE=3D"[loop-code]"> [loop-pos 1]
		  [/loop]
		  </SELECT>
		</td>
	  </tr>
	  </table>
=09=09=09=09=09=09=09=09=09=09=20=20
	</td>
  </tr>
  </table>

[/then]
[elsif value mv_order_profile eq postal]
	  We will wait for a check sent to us referencing the order
	  number you receive on your receipt.
[/elsif]
[elsif value mv_order_profile eq cod]
	  There will be a [handling cod] charge added for COD.
[/elsif]
[elsif value mv_order_profile eq online_check]
	<table border=3D"0" cellspacing=3D"0" cellpadding=3D"0" width=3D"100%">
	<tr>
	  <td>
		<table border=3D"0" cellspacing=3D"0" cellpadding=3D"0"  width=3D"100%">
		<tr>
		  <td class=3D"contentbar2" colspan=3D"2" width=3D"30%">
			<b>&nbsp;&nbsp;Check Information</b>
		  </td>
		  <td class=3D"contentbar2">&nbsp;</td>
		  <td class=3D"contentbar2">&nbsp;</td>
		</tr>
		<tr>
		  <td align=3D"right" class=3D"contentbar1">
			[error name=3Dcheck_acct std_label=3D"Account Number" required=3D1]
		  </td>
		  <td colspan=3D"3 align=3D"left" class=3D"contentbar1">
			<b>
			<INPUT TYPE=3Dtext NAME=3Dcheck_acct SIZE=3D22 value=3D"[value check_acc=
t]">
			</b>
		  </td>
		</tr>
		<tr>
		  <td align=3D"right" class=3D"contentbar1">
			[error name=3Dcheck_route std_label=3D"Routing Number" required=3D1]
=09=09=09
		  </td>
		  <td align=3D"left" colspan=3D"3" class=3D"contentbar1">
			<b><INPUT TYPE=3Dtext NAME=3Dcheck_route SIZE=3D22 value=3D"[value check=
_route]"></b>
		  </td>
		</tr>
		<tr>
		  <td align=3D"right" class=3D"contentbar1">
			[error name=3Dcheck_num std_label=3D"Check Number" required=3D1]
		  </td>
		  <td align=3D"left" colspan=3D"3" class=3D"contentbar1">
			<b>
			<INPUT TYPE=3Dtext NAME=3Dcheck_num SIZE=3D22 value=3D"[value check_num]=
">
			</b>
		  </td>
			</tr>
		<tr>
		  <td align=3D"right" class=3D"contentbar1">
			[error name=3Dcheck_bank_phone std_label=3D"Bank Phone" required=3D1]
=09=09=09
		  </td>
		  <td align=3D"left" colspan=3D"3" class=3D"contentbar1">
			<b>
			<INPUT TYPE=3Dtext NAME=3Dcheck_bank_phone SIZE=3D22 value=3D"[value che=
ck_bank_phone]">
			</b>
		  </td>
			</tr>
		<tr>
			<td colspan=3D4 class=3Dcontentbar1>&nbsp;</td>
		</tr>
	  </table>
	</td>
  </tr>
</table>

[/elsif]
[elsif value mv_order_profile eq purchase_order]

<table cellspacing=3D"0" cellpadding=3D"0" width=3D"100%">
<tr>
  <td>
	<table border=3D"0" cellspacing=3D"0" cellpadding=3D"0" width=3D"100%">
	<tr class=3D"contentbar2">
	  <td class=3D"contentbar2" colspan=3D"2">
		<b> P.O. Information </b>
	  </td>
	  <td colspan=3D2 class=3D"contentbar2">&nbsp;</td>
	</tr>
	<tr>
	  <td align=3Dright class=3D"contentbar1" width=3D"30%">
		[error name=3Dcredit_limit_ok std_label=3D"PO Number" required=3D1] &nbsp=
; &nbsp;
	  </td>
	  <td align=3Dleft colspan=3D3 class=3D"contentbar1">
		<b>
		<INPUT NAME=3Dproject_id VALUE=3D"[value project_id]" SIZE=3D14>
		</b>
	  </td>
	</tr>
	<tr>
		<td colspan=3D4 class=3Dcontentbar1>&nbsp;</td>
	</tr>

	[if type=3Ddata
		term=3D"userdb::credit_limit::[data session username]"
		op=3D">"
		compare=3D0.01]

	<tr>
	  <td align=3Dright valign=3Dtop class=3Dcontentbar1>
		<b> Available credit </b>&nbsp;&nbsp;&nbsp;
	  </td>
	  <td align=3Dleft colspan=3D3 class=3Dcontentbar1>
		[currency]
		[data table=3Duserdb col=3Dcredit_limit key=3D"[data session username]"]
		[/currency]
=09=09
		[if type=3Ddata
				term=3D"userdb::credit_limit::[data session username]"
				op=3D<
				compare=3D"[total-cost noformat=3D1]"
		]
		<BR>
		Order total [total-cost] exceeds credit limit, please call.
		[/if]
		<BR>
	  </td>
	</tr>

	[/if]
	<tr>
		<td colspan=3D4 class=3Dcontentbar1>&nbsp;</td>
	</tr>
	</table>
=09=09=09=09=09=09=09=09=09=09
  </td>
</tr>
</table>

[/elsif]
[else]
	No payment method selected.
[/else]
[/if]



1.1                  interchange/dist/foundation/include/checkout/payment_s=
elect


rev 1.1, prev_rev 1.0
Index: payment_select
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
<table cellspacing=3D"0" cellpadding=3D"0" width=3D"100%">
  <tr>
    <td>
       <table border=3D"0" cellspacing=3D"0" cellpadding=3D"0" width=3D"100=
%">
          <tr class=3D"contentbar2">
            <td colspan=3D4 class=3D"contentbar2"><b>Payment Method</b></td>
          </tr>
          <tr>
            <td colspan=3D4 class=3D"contentbar1">&nbsp;</td>
          </tr>=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20
          <tr>
            <td class=3D"contentbar1">&nbsp;</td>
            <td class=3D"contentbar1">

[if !scratch old_browser]
<script>
var possible =3D ['credit_card', 'cod', 'postal', 'online_check', 'purchase=
_order'];

function visible (selnam) {

	if(selnam =3D=3D undefined) {
		var form =3D document.checkout;
		if(form =3D=3D undefined)=20
			return;
		var selec =3D form.mv_order_profile;
		if(selec.selectedIndex =3D=3D undefined)
			selec.selectedIndex =3D 0;
		selnam =3D selec.options[selec.selectedIndex].value;
	}

	// alert("selnam=3D" + selnam);

	var sel =3D document.getElementById(selnam);
	// alert("sel=3D" + sel);
	if(sel =3D=3D undefined)=20
		return;
=09
	for(var i =3D 0; i < possible.length; i++) {
		var xel =3D document.getElementById(possible[i]);
		if(xel !=3D undefined) {
			xel.style.zIndex =3D 0;
			xel.style.visibility =3D 'Hidden';
		}
	}

	sel.style.visibility =3D 'Visible';
	sel.style.zIndex =3D 2;

	return;
}
</script>
[/if]

              <SELECT NAME=3D"mv_order_profile"
			  	onChange=3D"[if scratch old_browser]
								this.form.submit()
							[else]
								visible()
							[/else]
							[/if]">
              [if variable CREDIT_CARDS_ACCEPTED]
              <option [selected mv_order_profile credit_card] value=3D"cred=
it_card">Credit Card
              [/if]
              [if variable CHECK_ACCEPTED]
              <option [selected mv_order_profile online_check] value=3D"onl=
ine_check">Online Check
              [/if]
              [if variable PO_ACCEPTED]
              <option [selected mv_order_profile purchase_order] value=3D"p=
urchase_order">Company P.O.
              [/if]
              [if variable POSTAL_ACCEPTED]
              <option [selected mv_order_profile postal] value=3D"postal">P=
ostal Billing
              [/if]
              [if variable COD_ACCEPTED]
              <option [selected mv_order_profile cod] value=3D"cod">C.O.D.
              [/if]
              </SELECT>
            </td>
            <td colspan=3D"2" class=3D"contentbar1">=20
			  [if scratch old_browser]
              (will update display)
			  [/if]
            </td>=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20
          </tr>
          <tr>
            <td class=3D"contentbar1" colspan=3D"4">&nbsp;</td>
          </tr>
          </table>
=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20
        </td>
      </tr>
      </table>=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20




1.1                  interchange/dist/foundation/include/checkout/shipping_=
address


rev 1.1, prev_rev 1.0
Index: shipping_address
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
<table cellspacing=3D0 cellpadding=3D0 width=3D"100%">
  <tr>
	<td>
	  <table border=3D0 align=3D"center" cellspacing=3D0 width=3D"100%">
		<tr>
		  <td colspan=3D"4">&nbsp;</td>
		</tr>
		<tr class=3D"contentbar2">
		  <td class=3D"contentbar2" colspan=3D4>
			<b>&nbsp;Shipping Address<b> <i>(primary)</i>
		  </td>
		</tr>
		<tr>
		  <td colspan=3D"4" class=3D"contentbar1">&nbsp;</td>
		</tr>
		<tr>
		  <td align=3Dright class=3D"contentbar1">
			[error name=3Dfname std_label=3D"First Name" required=3D1]
		  </td>
		  <td align=3Dleft class=3D"contentbar1">
			<INPUT TYPE=3Dtext NAME=3Dfname VALUE=3D"[value fname]" size=3D"20" maxl=
ength=3D"20">
		  </td>
		  <td align=3D"right" class=3D"contentbar1">[error name=3Dlname std_label=
=3D"Last Name" required=3D1]</td>
		  <td align=3D"left" class=3D"contentbar1"><INPUT TYPE=3Dtext NAME=3Dlnam=
e VALUE=3D"[value lname]" size=3D"20"></td>
		</tr>
		<tr>
		  <td align=3D"right" class=3D"contentbar1">
			[error name=3Dcompany std_label=3DCompany required=3D"[scratch dealer]"]
		  </td>
		  <td align=3D"left" class=3D"contentbar1" colspan=3D3>
			<INPUT TYPE=3Dtext NAME=3Dcompany VALUE=3D"[value company]" size=3D"20" =
maxlength=3D"40">
		  </td>
		</tr>
		<tr>
		  <td align=3D"right" class=3D"contentbar1">[error name=3Daddress1 std_la=
bel=3DAddress required=3D1]
		</td>
		<td align=3D"left" colspan=3D3 class=3D"contentbar1">
		  <INPUT TYPE=3Dtext NAME=3Daddress1 VALUE=3D"[value address1]" size=3D"4=
0" maxlength=3D"64">
		</td>
	  </tr>
	  <tr>
		<td class=3D"contentbar1">&nbsp;</td>
		<td class=3D"contentbar1" align=3D"left" colspan=3D3>
		  <INPUT TYPE=3Dtext NAME=3Daddress2 VALUE=3D"[value address2]" size=3D"4=
0" maxlength=3D"64">
		</td>
	  </tr>
	  <tr class=3D"contentbar1">
		<td align=3D"right" class=3D"contentbar1">
		  [error name=3Dcity std_label=3D"City" required=3D1]
		</td>
		<td class=3D"contentbar1" colspan=3D3>
		  <INPUT TYPE=3Dtext NAME=3Dcity VALUE=3D"[value city]" size=3D"20" maxle=
ngth=3D"20">
		</td>
	  </tr>
	  <tr>
		<td class=3D"contentbar1" align=3Dright>
			[error name=3Dstate std_label=3D"State/Province" required=3D1]
		</td>
		<td align=3D"left" class=3D"contentbar1" colspan=3D3>
		  [loop search=3D"
			fi=3Dstate.txt
			sf=3Dcountry
			se=3D[default country US]
			rf=3Dstate,name,country
			un=3Dyes
			tf=3Dsorder,name
			ml=3D100
		  "
		  option=3Dstate]
		  [on-match]<SELECT onChange=3D"check_tax(this.form)" NAME=3Dstate>[/on-m=
atch]
		  [list]
		  [loop-change 1][condition][loop-param country][/condition]
		  <OPTGROUP LABEL=3D"[data table=3Dcountry col=3Dname key=3D'[loop-param =
country]']">
		  [/loop-change 1]
		  <OPTION VALUE=3D"[loop-code]">[loop-pos 1]
		  [/list]
		  [on-match]</SELECT>[/on-match]
		  [no-match]<INPUT NAME=3Dstate VALUE=3D"[value state]" SIZE=3D20>[/no-ma=
tch]
		  [/loop]
		</td>
	  </tr>
	  <tr>
		<td align=3D"right" class=3D"contentbar1">
		  [error name=3Dzip std_label=3D"Zip/Postal Code" required=3D1]=20
		</td>
		<td class=3D"contentbar1" colspan=3D3>
		  <INPUT TYPE=3Dtext NAME=3Dzip VALUE=3D"[value name=3Dzip filter=3Dword]=
" size=3D"10" maxlength=3D"10">
		</td>
	  </tr>
	  <tr>
		<td align=3D"right" class=3D"contentbar1">
		  [error name=3Demail std_label=3D"Email Address" required=3D1]
		</td>
		<td class=3D"contentbar1" colspan=3D3>
		  <INPUT TYPE=3Dtext NAME=3Demail VALUE=3D"[value email]" size=3D"30">
		</td>
	  </tr>
	  <tr>
		<td align=3D"right" class=3D"contentbar1">
		  Country
		</td>
		<td colspan=3D"3" class=3D"contentbar1">
		  <SELECT NAME=3Dcountry onChange=3D"this.form.submit()">
		  [if value country =3D~ /(^$|US|CA)/]
		  <OPTION VALUE=3D"US"> United States
		  <OPTION [selected country CA] VALUE=3D"CA"> Canada
		  <OPTION VALUE=3D"JP"> Other
		  [else]
		  [loop option=3Dcountry search=3D"
			ra=3Dyes
			fi=3Dcountry
			st=3Ddb
			rf=3Dcode,name
			ml=3D1000
			tf=3Dname
		  "]
		  <OPTION VALUE=3D"[loop-code]"> [loop-data country name]=20
		  [/loop]
		  [/else]
		  [/if]
		  </SELECT>
		  <small>(will update display)</small>
		</td>
	  </tr>
	  <tr>
		<td align=3D"right" class=3D"contentbar1">
		  [error name=3Dphone_day std_label=3D"Daytime Phone" required=3D1]
		</td>
		<td class=3D"contentbar1">
		  <INPUT TYPE=3Dtext NAME=3Dphone_day VALUE=3D"[value phone_day]" size=3D=
"12" maxlength=3D"20">
		</td>
		<td align=3D"right" class=3D"contentbar1">
		  [error name=3Dphone_night std_label=3D"Evening Phone"]
		</td>
		<td align=3D"left" class=3D"contentbar1">
		  <INPUT TYPE=3Dtext NAME=3Dphone_night VALUE=3D"[value phone_night]" siz=
e=3D"12" maxlength=3D"20">
		</td>
	  </tr>
	  [if session ship_message]=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20
	  <tr>
		<td class=3D"contentbar1">&nbsp;</td>
		<td colspan=3D"3" class=3D"contentbar1">
		  <B>Note:</B> [data session ship_message]
		</td>
	  </tr>
	  [/if]=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20
	  <tr>
		<td align=3D"right" class=3D"contentbar1">
		  <b>Shipping method</b>
		</td>
		<td colspan=3D"3" class=3D"contentbar1">
		  <SELECT NAME=3Dmv_shipmode>
		  [shipping
			label=3D1
			mode=3D|[data table=3Dcountry key=3D'[default country US]' col=3Dshipmod=
es]|
		  ]
		  </SELECT>
		</td>
	  </tr>
	  <tr>
		<td class=3D"contentbar1">&nbsp;</td>
		<td colspan=3D"3" class=3D"contentbar1">
		  <i>We need the <b>bold fields</b> to process your order</i>
		</td>
	  </tr>
	  <tr>
		<td class=3D"contentbar1" colspan=3D4>&nbsp;</td>
	  </tr>
	  </table>
	</td>
  </tr>
</table>





1.1                  interchange/dist/foundation/include/checkout/shopping_=
cart


rev 1.1, prev_rev 1.0
Index: shopping_cart
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
        <table cellspacing=3D"0" cellpadding=3D"5" border=3D"0" width=3D"10=
0%">
        <TR class=3D"contentbar2">
          <td class=3D"contentbar2">&nbsp;<b>Remove</b></td>
          <td class=3D"contentbar2" align=3D"center"><b>SKU</b></td>
          <td class=3D"contentbar2"><b>Description</b></td>
          <td class=3D"contentbar2"><b>Quantity</b></td>
          <td class=3D"contentbar2" align=3D"center"><b>Price</b></td>
          <td class=3D"contentbar2"><b>Extension&nbsp;</b></td>
        </TR>
        <TBODY>

        [if items]
        [then]
        [item-list modular=3D1]

        <TR class=3D"[item-alternate 2]maincontent[else]contentbar1[/else][=
/item-alternate]">
          <TD align=3Dcenter valign=3Dtop>
            <INPUT TYPE=3Dcheckbox NAME=3D"[quantity-name]" onClick=3D"this=
form.action=3D'[process]', this.form.submit()" VALUE=3D0>
          </TD>
          <TD><b>[item-sku]</b></TD>
          <TD>[page [item-sku]]<b>[item-description]</b></a>

            [if scratch dealer]
            [if-item-data pricing sku]
              <BR>[page quantity [item-code]]
              QUANTITY PRICING</A>
            [/if-item-data]
            [/if]

        [if-item-data options o_enable]
            [if-item-data !options o_modular]
                [table-organize cols=3D4 table=3D' ' font=3D"size=3D1" pret=
ty=3D1]
                    [item-options td=3D1 label=3D1 bold=3D1 price=3D1]
                [/table-organize]
            [/if-item-data]
        [/if-item-data]

            [if-item-field weight]
            [seti weight][summary amount=3D`[item-quantity] * [item-field w=
eight]`][/seti]
            [/if-item-field]
          </TD>
          <TD ALIGN=3DCENTER valign=3Dtop>
            <INPUT TYPE=3Dtext NAME=3D"[quantity-name]" VALUE=3D"[item-quan=
tity]" SIZE=3D3>
          </TD>
          <TD ALIGN=3DRIGHT>
            [discount-price]
            [if discount [item-code]]<BR>Item is discounted [item-discount]=
[/if]
          </TD>
          <TD ALIGN=3DRIGHT>[item-subtotal]</TD>
        </TR>

        [if session logged_in]
        <TR class=3D"[item-alternate 2]maincontent[else]contentbar1[/else][=
/item-alternate]">
          <TD ALIGN=3DCENTER COLSPAN=3D2 VALIGN=3DTOP>
            [if value separate_addresses]
            [page href=3D"@@MV_PAGE@@" form=3D"
                separate_addresses=3D0
                mv_action=3Dreturn
            "]Same shipping address</A><br>
            [page href=3D"ord/basket" form=3D"edit_addresses=3D1"]Edit addr=
ess</A><br>
            [page href=3D"ship_addresses" form=3D"ui_return_to=3D@@MV_PAGE@=
@"]Add address</A>
            [else]
            [page href=3D"@@MV_PAGE@@" form=3D"
                separate_addresses=3D1
                mv_action=3Dreturn
            "]Separate shipping</A>
            [/else]
            [/if]
          </td>
          <TD COLSPAN=3D4 VALIGN=3DTOP>
            [if value separate_addresses]
            <PRE>[item-modifier mv_ad]</pre>
            [/if]&nbsp;
          </td>
        </TR>
        [/if]

        [/item-list]
        [/then]
        [else]
        <TR>
          <TD ALIGN=3DCENTER COLSPAN=3D6 class=3D"contentbar2">
            No items at the moment.
          </TD>
        </TR>

        [/else]
        [/if]
        </table>

        <br>

        <table border=3D"0" cellspacing=3D"0" cellpadding=3D"0" width=3D"50=
%">
        <TR>
          <td align=3D"left">
                        [if items]
            <INPUT TYPE=3Dimage VALUE=3D"Refresh" src=3D"__THEME_IMG_DIR__r=
ecalculate_button.gif" border=3D0>
                        [/if]
          </td>
          <td align=3D"right">
            <table align=3D"center" cellspacing=3D"0" border=3D"0">
            <tr>
              <TD ALIGN=3Dleft class=3D"contentbar1">Subtotal: </TD>
              <TD ALIGN=3DRIGHT class=3D"contentbar1">[subtotal]</TD>
            </TR>
		[if config Levies]
			[levies recalculate=3D1 hide=3D1]
                        [levy-list]
            <TR>
              <TD ALIGN=3Dleft class=3D"contentbar1">[levy-param label]:</T=
D>
              <TD ALIGN=3DRIGHT class=3D"contentbar1">[levy-param cost]</TD>
            </TR>
                        [/levy-list]
		[else]
            <TR>
              <TD ALIGN=3Dleft class=3D"contentbar1">Sales Tax:</TD>
              <TD ALIGN=3DRIGHT class=3D"contentbar1">[salestax]</TD>
            </TR>
            <TR>
              <TD ALIGN=3Dleft class=3D"contentbar1">Shipping:</TD>
              <TD ALIGN=3DRIGHT class=3D"contentbar1">[shipping]</TD>
            </TR>
			[if value mv_handling]
            <TR>
              <TD ALIGN=3Dleft class=3D"contentbar1">Handling:</TD>
              <TD ALIGN=3DRIGHT class=3D"contentbar1">[handling]</TD>
            </TR>
			[/if]
		[/else]
		[/if]
            <TR>
              <TD ALIGN=3Dleft class=3D"contentbar2">TOTAL:</TD>
              <TD ALIGN=3DRIGHT class=3D"contentbar2">[total-cost]</TD>
            </tr>
            </table>
          </td>
        </tr>
        </table>



1.1                  interchange/dist/foundation/include/checkout/tax_popup


rev 1.1, prev_rev 1.0
Index: tax_popup
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
[if config SalesTax ne multi]
    <SCRIPT>    // JavaScript Form Validation Demo    // by Paul Colton
    function check_tax(form) {
        // Make sure the email field is not blank
        var foundState =3D false;
		[calc]
			if($Variable->{TAXCOUNTRY}) {
				return q{var ch =3D 'NEVAIRBE';}
					unless $Variable->{TAXCOUNTRY} =3D~ /\b$Values->{country}\b/;
			}
			return q{var ch =3D form.state.value;}
		[/calc]
        ch =3D ch.toUpperCase();
                [loop list=3D"__TAXAREA__"]
        if(ch =3D=3D "[loop-code]") {
            alert("You will be charged [currency][fly-tax [loop-code]][/cur=
rency] sales tax\nsince you are shipping to [loop-code]. Click Recalculate =
to see the amount in your total.");
            foundState =3D true;
        }
                [/loop]
        return foundState;
    }
    </SCRIPT>
[/if]



2.10      +124 -892  interchange/dist/foundation/pages/ord/checkout.html


rev 2.10, prev_rev 2.9
Index: checkout.html
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /var/cvs/interchange/dist/foundation/pages/ord/checkout.html,v
retrieving revision 2.9
retrieving revision 2.10
diff -u -r2.9 -r2.10
--- checkout.html	3 Aug 2002 06:03:43 -0000	2.9
+++ checkout.html	14 Aug 2002 14:15:32 -0000	2.10
@@ -7,935 +7,167 @@
=20
 @_NOLEFT_TOP_@
=20
+[include include/checkout/initialization]
+
 <!-- BEGIN CONTENT -->
-[perl tables=3D"country products"]
-    my $db =3D $Db{country} or return;
-=20
-    my $domestic =3D $Variable->{DOMESTIC_SHIPPING} || 'US CA';
-    $domestic =3D~ s/\W+/ /g;
-    my @dom =3D grep /\S/, split /\s+/, $domestic;
-    my %dom;
-    @dom{@dom} =3D @dom;
-    my $modes;
-    if($Values->{country}) {
-	$modes =3D tag_data('country', 'shipmodes', $Values->{country});
-	@modes =3D grep /\S/, split /[\s,\0]+/, $modes;
-    }
-=20=20=20=20
-    delete $Scratch->{only_download};
-    my $hardgoods;
-    for(@$Items) {
-	next if tag_data('__ProductFiles_0__', 'download', $_->{code});
-	$hardgoods =3D 1;
-    }
-
-    ! $hardgoods and $Scratch->{only_download} =3D 1;
-
-    return unless @modes;
-    my %modes;
-    @modes{@modes} =3D @modes;
-
-    if(! $modes{$Values->{mv_shipmode}}) {
-    	$Values->{mv_shipmode} =3D shift @modes;
-    }
-    return;
-[/perl]
=20
 <table width=3D"95%">
 <tr>
   <td align=3D"left" width=3D"100%">
=20
-    [if !session logged_in]
-    <br>
-    <p>If you have an account with us, please login using the fields below=
 It
-    is not required, but you can also <a href=3D"[area new_account]">creat=
e an
-    account</a> with us.</p>
-=09=09=09=09=20=20
-    [if session failure]
-      <P>
-      <b>[calc]delete $Session->{failure}[/calc]</b>
-      <P>
-    [/if]
-
-    <FORM ACTION=3D"[process secure=3D1]" METHOD=3DPOST>
-    <INPUT TYPE=3Dhidden NAME=3Dmv_click VALUE=3DLogin>
-    <INPUT TYPE=3Dhidden NAME=3Dmv_todo  VALUE=3Dreturn>
-    <INPUT TYPE=3Dhidden NAME=3Dmv_nextpage VALUE=3D"ord/checkout">
-
-    [set Log In]
-      mv_nextpage=3D@@MV_PAGE@@
-    [/set]
-
-    <table align=3D"center">
-    <tr>
-      <td class=3D"contentbar2">
-        <table>
-        <tr>
-          <td align=3D"right" class=3D"contentbar1">
-            Username:
-          </td>
-          <td align=3D"left" class=3D"contentbar1">
-	    <INPUT NAME=3Dmv_username VALUE=3D"[read-cookie MV_USERNAME]">
-          </td>
-        </tr>
-        <tr>
-          <td align=3D"right" class=3D"contentbar1">
-	    Password:
-          </td>
-          <td class=3D"contentbar1" align=3D"left">
-	    <INPUT TYPE=3Dpassword NAME=3Dmv_password VALUE=3D"">
-	    <input type=3D"hidden" NAME=3D"mv_check" value=3D"Log In">
-          </td>
-        </tr>
-        <tr>
-          <td>&nbsp;</td>
-          <td>
-	    <input type=3D"submit" value=3D"Log In">
-          </td>
-        </tr>
-		[if config CookieLogin]
-        <tr>
-          <td align=3D"right">
-	    <INPUT TYPE=3Dhidden NAME=3Dmv_cookie_password VALUE=3D0><INPUT TYPE=
=3Dcheckbox NAME=3Dmv_cookie_password VALUE=3D1>
-          </td>
-          <td>Log me in automatically (sets cookie)</td>
-        </tr>
-		[/if]
-        </table>
-      </td>
-    </tr>
-    </table>
-=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20
-    </form>
-
-    <p>&nbsp;</p>
-=09=09=09=09=09=20=20
-[/if]
-
-    <SCRIPT>    // JavaScript Form Validation Demo    // by Paul Colton
-    function check_tax(form) {
-        // Make sure the email field is not blank
-        var foundState =3D false;
-        var ch =3D form.state.value;
-        ch =3D ch.toUpperCase();
-		[loop list=3D"__TAXAREA__"]
-        if(ch =3D=3D "[loop-code]") {
-            alert("You will be charged [currency][fly-tax [loop-code]][/cu=
rrency] sales tax\nsince you are shipping to [loop-code]. Click Recalculate=
 to see the amount in your total.");
-            foundState =3D true;
-        }
-		[/loop]
-        return foundState;
-    }
-    </SCRIPT>
+    [if session logged_in]
+      [set Save_database]
+		  [if cgi mv_todo ne submit]
+	  	  [comment]
+			  <!-- uncomment this to record save of userdb data -->
+			  [calc] Log("Saving userdb in mv_check.")[/calc]
+		  [/comment]
+          [userdb save]
+          [/if]
+      [/set]
+	[else]
+		[include include/checkout/login_form]
+		<p>&nbsp;</p>
+	[/else]
+	[/if]
=20
-    <FORM ACTION=3D"[process secure=3D1]" METHOD=3D"POST" name=3Dcheckout>
-    <INPUT TYPE=3Dhidden NAME=3Dmv_session_id VALUE=3D"[data session id]">
+	[if !variable NO_TAX_POPUP]
+		[comment]
+			This is JavaScript that pops up a tax message
+			when in simple tax mode
+		[/comment]
+		[include include/checkout/tax_popup]
+	[/if]
=20
     [if type=3Dexplicit compare=3D"[error all=3D1 show_var=3D1 keep=3D1]"]
     <P>
-	<B>There were errors in your last submission:<br>
-	<blockquote>
-	<FONT color=3D"__CONTRAST__">
-		[error all=3D1 keep=3D1 show_error=3D1 show_label=3D1 joiner=3D"<br>"]
-	</font>
-	</blockquote>
-	</p>
-	<p>
+        <B>There were errors in your last submission:<br>
+        <blockquote>
+        <FONT color=3D"__CONTRAST__">
+                [error all=3D1 keep=3D1 show_error=3D1 show_label=3D1 join=
er=3D"<br>"]
+        </font>
+        </blockquote>
+        </p>
+        <p>
     The areas you need to correct are shown in=20
     <FONT color=3D"__CONTRAST__">this color</FONT> below.</B>
     </p>
     [/if]
=20
-    <INPUT TYPE=3Dhidden NAME=3Dmv_doit VALUE=3Drefresh>
-    <INPUT TYPE=3Dhidden NAME=3Dmv_nextpage VALUE=3D"ord/checkout">
-
-    [comment] Order routes in catalog.cfg [/comment]
-
-    <INPUT TYPE=3Dhidden NAME=3Dmv_order_route   VALUE=3D"[either]__ORDER_=
ROUTES__[or]log main copy_user[/either]">
-    <INPUT TYPE=3DHIDDEN NAME=3Dmv_check    VALUE=3D"Save_database">
-
-    [if session logged_in]
-      [set Save_database]
-      [if cgi mv_todo ne submit]
-	  [calc] Log("Saving userdb in mv_check.")[/calc]
-	  [userdb save]
-	  [/if]
-      [/set]
-    [/if]
-=09
-    <table align=3D"center">
-    <tr>
-      <td align=3D"center">
-	Please verify the information below and click the <b>"Place
-    	Order"</b> button to process your order.
-      </td>
-    </tr>
-    <tr>
-      <td align=3D"center" width=3D"100%">
-        <br>
-        <table cellspacing=3D"0" cellpadding=3D"5" border=3D"0" width=3D"1=
00%">
-        <TR class=3D"contentbar2">
-          <td class=3D"contentbar2">&nbsp;<b>Remove</b></td>
-          <td class=3D"contentbar2" align=3D"center"><b>SKU</b></td>
-          <td class=3D"contentbar2"><b>Description</b></td>
-          <td class=3D"contentbar2"><b>Quantity</b></td>
-          <td class=3D"contentbar2" align=3D"center"><b>Price</b></td>
-          <td class=3D"contentbar2"><b>Extension&nbsp;</b></td>
-        </TR>
-        <TBODY>
-
-        [if items]
-        [then]
-        [item-list modular=3D1]
-
-	<TR class=3D"[item-alternate 2]maincontent[else]contentbar1[/else][/item-=
alternate]">
-	  <TD align=3Dcenter valign=3Dtop>
-	    <INPUT TYPE=3Dcheckbox NAME=3D"[quantity-name]" onClick=3D"this.form.=
action=3D'[process]', this.form.submit()" VALUE=3D0>
- 	  </TD>
-	  <TD><b>[item-sku]</b></TD>
-	  <TD>[page [item-sku]]<b>[item-description]</b></a>
-
-	    [if scratch dealer]
-	    [if-item-data pricing sku]
-	      <BR>[page quantity [item-code]]
-	      QUANTITY PRICING</A>
- 	    [/if-item-data]
-	    [/if]
-
-        [if-item-data options o_enable]
-            [if-item-data !options o_modular]
-                [table-organize cols=3D4 table=3D' ' font=3D"size=3D1" pre=
tty=3D1]
-                    [item-options td=3D1 label=3D1 bold=3D1 price=3D1]
-                [/table-organize]
-            [/if-item-data]
-        [/if-item-data]
-
-	    [if-item-field weight]
-	    [seti weight][summary amount=3D`[item-quantity] * [item-field weight]=
`][/seti]
-	    [/if-item-field]
-	  </TD>
-	  <TD ALIGN=3DCENTER valign=3Dtop>
-	    <INPUT TYPE=3Dtext NAME=3D"[quantity-name]" VALUE=3D"[item-quantity]"=
 SIZE=3D3>
- 	  </TD>
-	  <TD ALIGN=3DRIGHT>
-	    [discount-price]
-	    [if discount [item-code]]<BR>Item is discounted [item-discount][/if]
-	  </TD>
-	  <TD ALIGN=3DRIGHT>[item-subtotal]</TD>
-        </TR>
-
-	[if session logged_in]
-        <TR class=3D"[item-alternate 2]maincontent[else]contentbar1[/else]=
[/item-alternate]">
-          <TD ALIGN=3DCENTER COLSPAN=3D2 VALIGN=3DTOP>
-	    [if value separate_addresses]
-	    [page href=3D"@@MV_PAGE@@" form=3D"
-	    	separate_addresses=3D0
-		mv_action=3Dreturn
-	    "]Same shipping address</A><br>
-	    [page href=3D"ord/basket" form=3D"edit_addresses=3D1"]Edit address</A=
><br>
-	    [page href=3D"ship_addresses" form=3D"ui_return_to=3D@@MV_PAGE@@"]Add=
 address</A>
-	    [else]
-	    [page href=3D"@@MV_PAGE@@" form=3D"
-		separate_addresses=3D1
-		mv_action=3Dreturn
-	    "]Separate shipping</A>
-	    [/else]
-	    [/if]
-          </td>
-          <TD COLSPAN=3D4 VALIGN=3DTOP>
-	    [if value separate_addresses]
-	    <PRE>[item-modifier mv_ad]</pre>
-	    [/if]&nbsp;
-          </td>
-        </TR>
-        [/if]
-
-        [/item-list]
-        [/then]
-        [else]
-        <TR>
-	  <TD ALIGN=3DCENTER COLSPAN=3D6 class=3D"contentbar2">
-            No items at the moment.
-          </TD>
-        </TR>
-
-	[/else]
-	[/if]
-        </table>
+	[comment]
+		Form intro -- the input elements are largely in the
+		individual tables in include/checkout/*
+	[/comment]
+    <form action=3D"[process secure=3D1]" method=3D"POST" name=3Dcheckout>
+    <input type=3Dhidden NAME=3Dmv_session_id value=3D"[data session id]">
+    <input type=3Dhidden NAME=3Dmv_doit       value=3Drefresh>
+    <input type=3Dhidden NAME=3Dmv_nextpage   value=3D"ord/checkout">
+    <input type=3Dhidden name=3Dmv_check      value=3D"Save_database">
=20
-        <br>
=20
-        <table border=3D"0" cellspacing=3D"0" cellpadding=3D"0" width=3D"5=
0%">
-        <TR>
-          <td align=3D"left">
-			[if items]
-            <INPUT TYPE=3Dimage VALUE=3D"Refresh" src=3D"__THEME_IMG_DIR__=
recalculate_button.gif" border=3D0>
-			[/if]
-          </td>
-          <td align=3D"right">
-            <table align=3D"center" cellspacing=3D"0" border=3D"0">
-            <tr>
-              <TD ALIGN=3Dleft class=3D"contentbar1">Subtotal: </TD>
-              <TD ALIGN=3DRIGHT class=3D"contentbar1">[subtotal]</TD>
-            </TR>
-            <TR>
-              <TD ALIGN=3Dleft class=3D"contentbar1">Sales Tax:</TD>
-              <TD ALIGN=3DRIGHT class=3D"contentbar1">[salestax]</TD>
-            </TR>
-            <TR>
-              <TD ALIGN=3Dleft class=3D"contentbar1">Shipping:</TD>
-              <TD ALIGN=3DRIGHT class=3D"contentbar1">[shipping]</TD>
-            </TR>
-			[if value mv_handling]
-            <TR>
-              <TD ALIGN=3Dleft class=3D"contentbar1">Handling:</TD>
-              <TD ALIGN=3DRIGHT class=3D"contentbar1">[handling]</TD>
-            </TR>
-			[/if]
-            <TR>
-              <TD ALIGN=3Dleft class=3D"contentbar2">TOTAL:</TD>
-              <TD ALIGN=3DRIGHT class=3D"contentbar2">[total-cost]</TD>
-            </tr>
-            </table>
-          </td>
-        </tr>
-        </table>
-
-      </td>
-    </tr>
-
-    <tr>
-      <td>
-	<br>
-        <table cellspacing=3D"0" cellpadding=3D"0">
-	<tr>
-	  <td>
-	    <table border=3D"0" align=3D"center" cellspacing=3D"0">
-	    <tr><td colspan=3D"4">&nbsp;</td></tr>
-	    <tr class=3D"contentbar2">
-	      <td class=3D"contentbar2">
-	        <b>&nbsp;Shipping Address<b>
-	      </td>
-	      <td class=3D"contentbar2"><i>(primary)</i></td>
-	      <td class=3D"contentbar2">&nbsp;</td>
-	      <td class=3D"contentbar2">&nbsp;</td>
-	    </tr>
-	    <tr><td colspan=3D"4" class=3D"contentbar1">&nbsp;</td></tr>
-	    <tr>
-	      <td align=3Dright class=3D"contentbar1">
-		[error name=3Dfname std_label=3D"First Name" required=3D1]
-	      </td>
-	      <td align=3Dleft class=3D"contentbar1">
-		<INPUT TYPE=3Dtext NAME=3Dfname VALUE=3D"[value fname]" size=3D"20" maxl=
ength=3D"20">
-	      </td>
-	      <td align=3D"right" class=3D"contentbar1">[error name=3Dlname std_l=
abel=3D"Last Name" required=3D1]</td>
-	      <td align=3D"left" class=3D"contentbar1"><INPUT TYPE=3Dtext NAME=3D=
lname VALUE=3D"[value lname]" size=3D"20"></td>
-	    </tr>
-	    <tr>
-	      [if scratch dealer]
-	      <td align=3D"right" class=3D"contentbar1">[error name=3Dcompany std=
_label=3DCompany required=3D1]
-	      [else]
-	      <td align=3D"right" class=3D"contentbar1">Company
-	      [/else]
-	      [/if]
-	      </td>
-	      <td align=3D"left" class=3D"contentbar1">
-		<INPUT TYPE=3Dtext NAME=3Dcompany VALUE=3D"[value company]" size=3D"20" =
maxlength=3D"40">
-	      </td>
-	      <td class=3D"contentbar1">&nbsp;</td>
-	      <td class=3D"contentbar1">&nbsp;</td>
-	    </tr>
-	    <tr>
-	      <td align=3D"right" class=3D"contentbar1">[error name=3Daddress1 st=
d_label=3DAddress required=3D1]
-	    </td>
-	    <td align=3D"left" colspan=3D3 class=3D"contentbar1">
-	      <INPUT TYPE=3Dtext NAME=3Daddress1 VALUE=3D"[value address1]" size=
=3D"40" maxlength=3D"64">
-   	    </td>
-	  </tr>
-	  <tr>
-	    <td class=3D"contentbar1">&nbsp;</td>
-	    <td class=3D"contentbar1" align=3D"left" colspan=3D3>
-	      <INPUT TYPE=3Dtext NAME=3Daddress2 VALUE=3D"[value address2]" size=
=3D"40" maxlength=3D"64">
-	    </td>
-	  </tr>
-	  <tr class=3D"contentbar1">
-	    <td align=3D"right" class=3D"contentbar1">
-	      [error name=3Dcity std_label=3D"City" required=3D1]
-	    </td>
-	    <td class=3D"contentbar1">
-	      <INPUT TYPE=3Dtext NAME=3Dcity VALUE=3D"[value city]" size=3D"20" m=
axlength=3D"20">
-	    </td>
-	    <td class=3D"contentbar1">&nbsp;</td>
-	    <td class=3D"contentbar1">&nbsp;</td>
-	  </tr>
-	  <tr>
-	    <td class=3D"contentbar1" align=3Dright>[error name=3Dstate std_label=
=3D"State/Province" required=3D1]</td>
-	    <td align=3D"left" class=3D"contentbar1">
-	      [loop search=3D"
-		fi=3Dstate.txt
-		sf=3Dcountry
-		se=3D[default country US]
-		rf=3Dstate,name,country
-		tf=3Dsorder,name
-		ml=3D100
-	      "
-	      option=3Dstate]
-	      [on-match]<SELECT onChange=3D"check_tax(this.form)" NAME=3Dstate>[/=
on-match]
-	      [list]
-	      [loop-change 1][condition][loop-param country][/condition]
-	      <OPTGROUP LABEL=3D"[data table=3Dcountry col=3Dname key=3D'[loop-pa=
ram country]']">
-	      [/loop-change 1]
-	      <OPTION VALUE=3D"[loop-code]">[loop-pos 1]
-	      [/list]
-	      [on-match]</SELECT>[/on-match]
-	      [no-match]<INPUT NAME=3Dstate VALUE=3D"[value state]" SIZE=3D20>[/n=
o-match]
-	      [/loop]
-	    </td>
-	    <td class=3D"contentbar1">&nbsp;</td>
-	    <td class=3D"contentbar1">&nbsp;</td>
-	  </tr>
-	  <tr>
-	    <td align=3D"right" class=3D"contentbar1">
-	      [error name=3Dzip std_label=3D"Zip/Postal Code" required=3D1]=20
-	    </td>
-	    <td class=3D"contentbar1">
-	      <INPUT TYPE=3Dtext NAME=3Dzip VALUE=3D"[value name=3Dzip filter=3Dw=
ord]" size=3D"10" maxlength=3D"10">
-	    </td>
-	    <td class=3D"contentbar1">&nbsp;</td>
-	    <td class=3D"contentbar1">&nbsp;</td>
-	  </tr>
-	  <tr>
-	    <td align=3D"right" class=3D"contentbar1">
-	      [error name=3Demail std_label=3D"Email Address" required=3D1]
-	    </td>
-	    <td class=3D"contentbar1">
-	      <INPUT TYPE=3Dtext NAME=3Demail VALUE=3D"[value email]" size=3D"30">
-	    </td>
-	    <td class=3D"contentbar1">&nbsp;</td>
-	    <td class=3D"contentbar1">&nbsp;</td>
-	  </tr>
-	  <tr>
-	    <td align=3D"right" class=3D"contentbar1">
-	      Country
-	    </td>
-	    <td colspan=3D"3" class=3D"contentbar1">
-	      <SELECT NAME=3Dcountry onChange=3D"this.form.submit()">
-	      [if value country =3D~ /(^$|US|CA)/]
-	      <OPTION VALUE=3D"US"> United States
-	      <OPTION [selected country CA] VALUE=3D"CA"> Canada
-	      <OPTION VALUE=3D"JP"> Other
-	      [else]
-	      [loop option=3Dcountry search=3D"
-		ra=3Dyes
-		fi=3Dcountry
-		st=3Ddb
-		rf=3Dcode,name
-		ml=3D1000
-		tf=3Dname
-	      "]
-	      <OPTION VALUE=3D"[loop-code]"> [loop-data country name]=20
-	      [/loop]
-	      [/else]
-	      [/if]
-	      </SELECT>
-	      <small>(will update display)</small>
-	    </td>
-	  </tr>
-	  <tr>
-	    <td align=3D"right" class=3D"contentbar1">
-	      [error name=3Dphone_day std_label=3D"Daytime Phone" required=3D1]
-	    </td>
-	    <td class=3D"contentbar1">
-	      <INPUT TYPE=3Dtext NAME=3Dphone_day VALUE=3D"[value phone_day]" siz=
e=3D"12" maxlength=3D"20">
-	    </td>
-	    <td align=3D"right" class=3D"contentbar1">
-	      [error name=3Dphone_night std_label=3D"Evening Phone"]
-	    </td>
-	    <td align=3D"left" class=3D"contentbar1">
-	      <INPUT TYPE=3Dtext NAME=3Dphone_night VALUE=3D"[value phone_night]"=
 size=3D"12" maxlength=3D"20">
-	    </td>
-	  </tr>
-	  [if session ship_message]=09=09=09=09=09=09=09=20=20
-	  <tr>
-	    <td class=3D"contentbar1">&nbsp;</td>
-	    <td colspan=3D"3" class=3D"contentbar1">
-	      <B>Note:</B> [data session ship_message]
-	    </td>
-	  </tr>
-	  [/if]=09=09=09=09=09=09=09=20=20
-	  <tr>
-	    <td align=3D"right" class=3D"contentbar1">
-	      <b>Shipping method</b>
-	    </td>
-	    <td colspan=3D"3" class=3D"contentbar1">
-	      <SELECT NAME=3Dmv_shipmode>
-	      [shipping
-	        label=3D1
-        	mode=3D|[data table=3Dcountry key=3D'[default country US]' col=3D=
shipmodes]|
-              ]
-	      </SELECT>
-	    </td>
-	  </tr>
-	  <tr>
-	    <td class=3D"contentbar1">&nbsp;</td>
-	    <td colspan=3D"3" class=3D"contentbar1">
-	      <i>We need the <b>bold fields</b> to process your order</i>
-	    </td>
-	  </tr>
-	  <tr>
-  	    <td class=3D"contentbar1">&nbsp;</td>
-	    <td class=3D"contentbar1">&nbsp;</td>
-	    <td class=3D"contentbar1">&nbsp;</td>
-	    <td class=3D"contentbar1">&nbsp;</td>
-	  </tr>
-  	  <tr class=3D"contentbar2">
-	    <td class=3D"contentbar2">Mailing Status</td>
-	    <td colspan=3D3 class=3D"contentbar2">&nbsp;</td>
-  	  </tr>
-  	  <tr>
-	    <td align=3D"center" valign=3D"middle" class=3D"contentbar1">
-	      <SELECT NAME=3Demail_copy>
-	      <OPTION VALUE=3D"1">Yes
-	      <OPTION [selected name=3Demail_copy value=3D0] VALUE=3D"0">No
-	      </SELECT>
-	    </td>
-	    <td class=3D"contentbar1"><B>Send an email copy of my receipt</B></td>
-	    <td class=3D"contentbar1">&nbsp;</td>
-	    <td class=3D"contentbar1">&nbsp;</td>
-          </tr>
-          <tr>
-	    <td align=3D"center" valign=3D"middle" class=3D"contentbar1">
-	      &nbsp;
-	      [perl tables=3D"__UI_META_TABLE__ mv_metadata"]
-	      return;
-              [/perl]
-	      [value name=3Dmail_list filter=3Dnull_to_space hide=3D1]
-	      [display table=3Duserdb type=3Dmultiple column=3Dmail_list key=3D"[=
data session username]"]
-	    </td>
-	    <td class=3D"contentbar1"><B>Mail lists (if any)</B></td>
-	    <td class=3D"contentbar1">&nbsp;</td>
-	    <td class=3D"contentbar1">&nbsp;</td>
-	  </tr>
-	  </table>
 	</td>
-      </tr>
-      </table>
+  </tr>
+  <tr>
+	<td>
=20
-      <p>&nbsp;</p>
-
-      <table cellspacing=3D"0" cellpadding=3D"0">
-      <tr>
-        <td>
-  	  <table border=3D"0" cellspacing=3D"0" cellpadding=3D"0" align=3D"cent=
er">
-	  <tr class=3D"contentbar2">
-	    <td colspan=3D"2" class=3D"contentbar2"><b>&nbsp;Billing Address</b> =
- <i>If different than above</i></td>
-	    <td class=3D"contentbar2">&nbsp;</td>
-	    <td class=3D"contentbar2">&nbsp;</td>
-	  </tr>
+	<table align=3D"center">
 	  <tr>
-	    <td align=3D"right" class=3D"contentbar1">
-	      <b>First Name</b>
-	    </td>
-	    <td align=3D"left" class=3D"contentbar1">
-	      <INPUT TYPE=3Dtext NAME=3Db_fname VALUE=3D"[value b_fname]" size=3D=
"20" maxlength=3D"20">
-	    </td>
-	    <td class=3D"contentbar1"><b>Last Name</b></td>
-	    <td align=3D"left" class=3D"contentbar1">
-	      <INPUT TYPE=3Dtext NAME=3Db_lname VALUE=3D"[value b_lname]" size=3D=
"20">
-	    </td>
+		<td align=3D"center">
+		  Please verify the information below and click the <b>"Place
+		  Order"</b> button to process your order.
+		</td>
 	  </tr>
 	  <tr>
-	    <td align=3D"right" class=3D"contentbar1">
-	      <b>Company</b>
-	    </td>
-	    <td align=3D"left" class=3D"contentbar1">
-	      <INPUT TYPE=3Dtext NAME=3Db_company VALUE=3D"[value b_company]" siz=
e=3D"20" maxlength=3D"44">
-	    </td>
-	    <td class=3D"contentbar1">&nbsp;</td>
-	    <td class=3D"contentbar1">&nbsp;</td>
-	  </tr>
-	  <tr>
-	    <td align=3D"right" class=3D"contentbar1">
-	      <b>Address</b>
-	    </td>
-	    <td align=3D"left" colspan=3D3 class=3D"contentbar1">
-	      <b>
-	      <INPUT TYPE=3Dtext NAME=3Db_address1 VALUE=3D"[value b_address1]" s=
ize=3D"64" maxlength=3D"64">
-	      </b>
-	    </td>
-	  </tr>
-	  <tr>
-	    <td class=3D"contentbar1">&nbsp;</td>
-	    <td align=3D"left" colspan=3D3 class=3D"contentbar1">
-	      <b>
-	      <INPUT TYPE=3Dtext NAME=3Db_address2 VALUE=3D"[value b_address2]" s=
ize=3D"64" maxlength=3D"64">
-	      </b>
-	    </td>
+		<td align=3D"center" width=3D"100%">
+			  <br>
+			  [include include/checkout/shopping_cart]
+
+		</td>
 	  </tr>
+
 	  <tr>
-	    <td align=3D"right" class=3D"contentbar1">
-	      <b>City</b>
-	    </td>
-	    <td class=3D"contentbar1">
-	      <b>
-	      <INPUT TYPE=3Dtext NAME=3Db_city VALUE=3D"[value b_city]" size=3D"2=
0">
-	      </b>
-	    </td>
-	    <td align=3D"right" class=3D"contentbar1"><b>State/Province</b></td>
-	    <td class=3D"contentbar1">
-	      <b>
-	      <INPUT TYPE=3Dtext NAME=3Db_state VALUE=3D"[value b_state]" size=3D=
"5" maxlength=3D"5">
-	      </b>
-	    </td>
+		<td>
+				<br>
+				[include include/checkout/shipping_address]
+		</td>
 	  </tr>
 	  <tr>
-	    <td align=3D"right" class=3D"contentbar1">
-	      <b>Zip/Postal Code </b>
-	    </td>
-	    <td class=3D"contentbar1">
-	      <b>
-	      <INPUT TYPE=3Dtext NAME=3Db_zip VALUE=3D"[value b_zip]" size=3D"10"=
 maxlength=3D"10">
-	      </b>
-	    </td>
-	    <td class=3D"contentbar1">&nbsp;</td>
-	    <td class=3D"contentbar1">&nbsp;</td>
+		<td>
+				<br>
+				[include include/checkout/mailing_status]
+		</td>
 	  </tr>
 	  <tr>
-	    <td align=3D"right" class=3D"contentbar1">
-	      <b>Country</b>
-	    </td>
-	    <td class=3D"contentbar1">
-	      <INPUT TYPE=3Dtext NAME=3Db_country VALUE=3D"[value b_country]" siz=
e=3D"10" maxlength=3D"10">
-	    </td>
-	    <td class=3D"contentbar1">&nbsp; </td>
-	    <td class=3D"contentbar1">&nbsp;</td>
+		<td>
+				<br>
+				[include include/checkout/billing_address]
+		</td>
 	  </tr>
 	  <tr>
-	    <td class=3D"contentbar1">&nbsp;</td>
-	    <td class=3D"contentbar1">&nbsp;</td>
-	    <td class=3D"contentbar1">&nbsp;</td>
-	    <td class=3D"contentbar1">&nbsp;</td>
-	  </tr>
-	  <tr class=3D"contentbar2">
-	    <td class=3D"contentbar2">Payment Method</td>
-	    <td colspan=3D3 class=3D"contentbar2">&nbsp;</td>
+		<td>
+				<br>
+				[include include/checkout/payment_select]
+		</td>
 	  </tr>
 	  <tr>
-	    <td colspan=3D4 class=3D"contentbar1">&nbsp;</td>
-	  </tr>=09=09=09=09=09=09=09=20=20
-	  <tr>
-	    <td class=3D"contentbar1">&nbsp;</td>
-	    <td class=3D"contentbar1">
-	      <SELECT NAME=3D"payment_method" onChange=3D"this.form.submit()">
-	      [if variable CREDIT_CARDS_ACCEPTED]
-	      <option [selected payment_method credit] value=3D"credit">Credit Ca=
rd
-	      [/if]
-	      [if variable CHECK_ACCEPTED]
-	      <option [selected payment_method check] value=3D"check">Online Check
-	      [/if]
-	      [if variable PO_ACCEPTED]
-	      <option [selected payment_method po] value=3D"po">Company P.O.
-	      [/if]
-	      [if variable POSTAL_ACCEPTED]
-	      <option [selected payment_method postal] value=3D"postal">Postal Bi=
lling
-	      [/if]
-	      [if variable COD_ACCEPTED]
-	      <option [selected payment_method cod] value=3D"cod">C.O.D.
-	      [/if]
-	      </SELECT>
-            </td>
-	    <td colspan=3D"2" class=3D"contentbar1">=20
-	      (will update display)
-	    </td>=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20
-          </tr>
-          <tr>
-            <td class=3D"contentbar1" colspan=3D"4">&nbsp;</td>
-          </tr>
-          </table>
-=09=09=09=09=09=09=09
-        </td>
-      </tr>
-      </table>=09=09=09=09=09=09
-
-      [if !value payment_method]
-      [or value payment_method eq credit]
-      [then]
-
-      <input type=3Dhidden name=3Dmv_order_profile value=3Dcredit_card>
-=09=09=09=09=09=09=09
-      <p>&nbsp;</p>
-
-      <!--- credit card information --->
-      <table cellspacing=3D0 cellpadding=3D"0">
-      <tr>
-        <td>
-	  <table border=3D0 cellspacing=3D0 cellpadding=3D4 align=3Dcenter>
-	  <tr>
-	    <td colspan=3D"2" class=3D"contentbar2">
-	      <b>
-              [error std_label=3D"Credit Card Information" name=3Dmv_credi=
t_card_valid]
-	      [if variable MV_DEMO_MODE]
-	      <BR>
-	      (test number <A HREF=3D"javascript:void 0" onclick=3D"checkout.mv_c=
redit_card_number.value=3D'4111 1111 1111 1111'; return false;">4111 1111 1=
111 1111</A>)[/if]
-	      </b>
-	    </td>
-	    <td class=3D"contentbar2">
-	      [calc]
-		my $accepted =3D $Variable->{CREDIT_CARDS_ACCEPTED};
-		my (@out);
-		my (@cc);
-		my $out;
-		push @cc, 'visa' if $accepted =3D~ /visa/;
-		push @cc, 'mc' if $accepted =3D~ /mc/;
-		push @cc, 'disc' if $accepted =3D~ /discover/;
-		push @cc, 'amex' if $accepted =3D~ /amex/;
-		for (@cc) {
-		  push @out, qq{<IMG SRC=3D"small$_.png">};
-		}
-		return join '&nbsp;&nbsp;', @out;
-	      [/calc]
-	    </td>
-          </tr>
-          <tr>
-            <td align=3Dright class=3D"contentbar1">
-              <b>Card Number: </b>
-            </td>
-            <td align=3Dright colspan=3D2 class=3D"contentbar1">
-              <b><INPUT TYPE=3Dtext NAME=3Dmv_credit_card_number SIZE=3D22=
></b>
-            </td>
+		<td>
+				<br>
+				[if scratch old_browser]
+				[include include/checkout/old_browser_payment]
+				[else]
+				[include include/checkout/new_browser_payment]
+				[/else]
+				[/if]
+		</td>
 	  </tr>
 	  <tr>
-            <td align=3Dright class=3D"contentbar1">
-	      <b>Expiration: </b>
-	    </td>
-            <td align=3D"right" colspan=3D2 class=3D"contentbar1">
-
-		<SELECT NAME=3Dmv_credit_card_exp_month>
-		[loop
-			lr=3D1
-		  	option=3Dmv_credit_card_exp_month
-			list=3D"
-1	01 - January
-2	02 - February
-3	03 - March
-4	04 - April
-5	05 - May
-6	06 - June
-7	07 - July
-8	08 - August
-9	09 - September
-10	10 - October
-11	11 - November
-12	12 - December"]
-		<OPTION VALUE=3D"[loop-code]"> [loop-pos 1]
-		[/loop]
-		</SELECT>
-=09
-		<SELECT NAME=3Dmv_credit_card_exp_year>
-		[comment]
-		This should always return the current year as the first, then
-		7 more years.
-		[/comment]
-		[loop option=3Dmv_credit_card_exp_year lr=3D1 list=3D`
-		my $year =3D $Tag->time( '', { format =3D> '%Y' }, '%Y' );
-		my $out =3D '';
-		for ($year .. $year + 7) {
-			/\d\d(\d\d)/;
-			$last_two =3D $1;
-			$out .=3D "$last_two\t$_\n";
-		}
-		return $out;
-		`]
-
-		<OPTION VALUE=3D"[loop-code]"> [loop-pos 1]
-		[/loop]
-		</SELECT>
-	      </td>
-            </tr>
-            </table>
-=09=09=09=09=09=09
-	  </td>
-	</tr>
-	</table>
-
-	[/then]
-	[elsif value payment_method eq postal]
-=09
-      <input type=3Dhidden name=3Dmv_order_profile value=3Dmail_order>
-
-	[/elsif]
-	[elsif value payment_method eq cod]
-=09
-      <input type=3Dhidden name=3Dmv_order_profile value=3Dcod>
-
-	[/elsif]
-	[elsif value payment_method eq check]
-=09=09=09=09=09=20=20
-	<input type=3Dhidden name=3Dmv_order_profile value=3Dmail_order>
-=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20
-	<p>&nbsp;</p>
-=20=20=20=20=20=20=20
-	<table border=3D"0" cellspacing=3D"0" cellpadding=3D"0">
-        <tr>
-          <td>
-            <table border=3D"0" cellspacing=3D"0" cellpadding=3D"0" align=
=3D"center">
-            <tr>
-              <td class=3D"contentbar2" colspan=3D"2">
-		<b>Check Information</b>
-	      </td>
-              <td class=3D"contentbar2">&nbsp;</td>
-              <td class=3D"contentbar2">&nbsp;</td>
-            </tr>
-            <tr>
-              <td align=3D"right" class=3D"contentbar1">
-	 	<b> Account Number </b>
-              </td>
-              <td colspan=3D"3 align=3D"left" class=3D"contentbar1">
-		<b>
-                <INPUT TYPE=3Dtext NAME=3Dcheck_acct SIZE=3D22>
-                </b>
-              </td>
-	    </tr>
-	    <tr>
-              <td align=3D"right" class=3D"contentbar1">
-		<b>Routing Number</b>
-	      </td>
-              <td align=3D"left" colspan=3D"3" class=3D"contentbar1">
-                <b><INPUT TYPE=3Dtext NAME=3Dcheck_route SIZE=3D22></b>
-              </td>
-            </tr>
-	    <tr>
-              <td align=3D"right" class=3D"contentbar1">
-		<b>
-		Check Number
-		</b>
-	      </td>
-              <td align=3D"left" colspan=3D"3" class=3D"contentbar1">
-                <b>
-                <INPUT TYPE=3Dtext NAME=3Dcheck_num SIZE=3D22>
-                </b>
-              </td>
-            </tr>
-            </table>
-	  </td>
-	</tr>
-	</table>
-=09
-	[/elsif]
-	[elsif value payment_method eq po]
-=09=09=09=09=09=20=20
-	<input type=3Dhidden name=3Dmv_order_profile value=3Dpurchase_order>
-        <p>&nbsp;</p>
-=20=20=20=20=20=20=20=20
-        <table cellspacing=3D"0" cellpadding=3D"0">
-        <tr>
-          <td>
-            <table border=3D"0" cellspacing=3D"0" cellpadding=3D"0" align=
=3D"center">
-            <tr class=3D"contentbar2">
-              <td class=3D"contentbar2" colspan=3D"2">
-		<b> P.O. Information </b>
-	      </td>
-              <td colspan=3D2 class=3D"contentbar2">&nbsp;</td>
-            </tr>
-	    <tr>
-              <td align=3Dright class=3D"contentbar1">
-	        <b>
-	        [error name=3Dcredit_limit_ok std_label=3D"PO Number" required=3D=
1]
-	        </b>
-	      </td>
-              <td align=3Dleft colspan=3D3 class=3D"contentbar1">
-                <b>
-		<INPUT NAME=3Dproject_id VALUE=3D"[value project_id]" SIZE=3D14>
-                </b>
-              </td>
-            </tr>
-=09
-  	    [if type=3Ddata
-		term=3D"userdb::credit_limit::[data session username]"
-		op=3D">"
-		compare=3D0.01]
-=09
-  	    <tr>
-	      <td align=3Dright valign=3Dtop>
-	        <b> Available credit </b>
-	      </td>
-	      <td align=3Dleft colspan=3D3>
-		<b>
-		[currency]
-		[data table=3Duserdb col=3Dcredit_limit key=3D"[data session username]"]
-		[/currency]
-=09=09
-		[if type=3Ddata
-			term=3D"userdb::credit_limit::[data session username]"
-			op=3D<
-			compare=3D"[total-cost noformat=3D1]"
-		]
-		<BR>
-		Order total [total-cost] exceeds credit limit, please call.
-		[/if]
-		<BR>
-		</b>
-	      </td>
-	    </tr>
-=09
-  	    [/if]
-            </table>
-=09=09=09=09=09=09
-	  </td>
-	</tr>
-	</table>
-
-	[/elsif]
-	[else]
-	[/else]
-	[/if]
+		<td>
+		  <br>
+		  <table align=3D"center" cellpadding=3D"10" cellspacing=3D"10">
+			[if items]
+			<tr>
+			  <td>=20
+			  [button=20
+					  name=3D"mv_click"=20
+					  src=3D"__THEME__/placeorder.gif"=20
+					  text=3D"Place Order"
+					  hidetext=3D1
+					  form=3Dcheckout
+			  ]
+					  mv_todo=3Dsubmit
+			  [/button]
+			  </td>
+			  <td>
+			  [button
+					  name=3D"mv_click"
+					  src=3D"__THEME_IMG_DIR__recalculate_button.gif"
+					  text=3D"Recalculate"
+					  hidetext=3D1
+					  form=3Dcheckout
+			  ]
+							mv_todo=3Drefresh
+			  [/button]
+			  </td>
+			</tr>
+			[else]
+			<tr>
+			  <td>
+			  <b>No items in your shopping cart!</b>
+			  </td>
+			</tr>
+			[/else]
+			[/if]
+		  </table>
=20=09=09=09
-      </td>
-    </tr>
-    <tr><td>
-      <br>
-      <table align=3D"center" cellpadding=3D"10" cellspacing=3D"10"><tr>
-	[if items]
-      <td>=20
-	[button=20
-		name=3D"mv_click"=20
-		src=3D"__THEME__/placeorder.gif"=20
-		text=3D"Place Order"
-		hidetext=3D1
-		form=3Dcheckout
-	]
-		mv_todo=3Dsubmit
-	[/button]
-      </td>
-      <td>
-	    [button
-			name=3D"mv_click"
-			src=3D"__THEME_IMG_DIR__recalculate_button.gif"
-			text=3D"Recalculate"
-			hidetext=3D1
-			form=3Dcheckout
-		]
-			mv_todo=3Drefresh
-		[/button]
-      </td>
-	[else]
-		<td><b>No items in your shopping cart!</b></td>
-	[/else]
-	[/if]
-      </tr></table>
-=20=20=20=20=20=20=20=20
-      </form>
-      [seti clear_errors][error all=3D1 hide=3D1 comment=3D"Clear errors"]=
[/seti]
-
-    </td></tr>
-    </table>
+	  </form>
+	  [seti clear_errors][error all=3D1 hide=3D1 comment=3D"Clear errors"][/s=
eti]
=20
-    <p>=09=09=09
-=09=09=09
-    [include templates/components/specials]
+		</td>
+	  </tr>
+	</table>
=20
-  </td>
-</tr>
+	</td>
+  </tr>
 </table>
=20
 <!-- END CONTENT -->