--- /dev/null
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML>
+ <HEAD>
+ <TITLE>
+ Edit Customer: Olson Inc (Towne, Samara)
+ </TITLE>
+ <!-- per RT, to prevent IE compatibility mode -->
+ <meta http-equiv="X-UA-Compatible" content="IE=edge" />
+ <!-- The X-UA-Compatible <meta> tag above must be very early in <head> -->
+ <META HTTP-Equiv="Cache-Control" Content="no-cache">
+ <META HTTP-Equiv="Pragma" Content="no-cache">
+ <META HTTP-Equiv="Expires" Content="0">
+
+ <script type="text/javascript" src="http://localhost/freeside/elements/cssexpr.js"></script>
+
+
+ <script type="text/javascript" src="http://localhost/freeside/elements/xmenu.top.js"></script>
+ <link href="http://localhost/freeside/elements/xmenu.top.css" type="text/css" rel="stylesheet">
+
+
+ <link href="http://localhost/freeside/elements/freeside.css" type="text/css" rel="stylesheet">
+ <link href="http://localhost/freeside/elements/freeside-print.css" type="text/css" rel="stylesheet" media="print">
+<link href="http://localhost/freeside/elements/freeside-menu.css" type="text/css" rel="stylesheet">
+
+<SCRIPT TYPE="text/javascript">
+
+ function about_freeside() {
+ overlib( OLiframeContent('http://localhost/freeside/docs/about.html', 300, 375, 'popup-0000000000-0000-000000000.000000', 0, 'auto' ), CAPTION, 'About', STICKY, AUTOSTATUSCAP, MIDX, 0, MIDY, 0, DRAGGABLE, CLOSECLICK, BGCOLOR, '#7e0079', CGCOLOR, '#7e0079', CLOSETEXT, 'Close');
+ }
+
+ webfxMenuImagePath = "http://localhost/freeside/images/";
+ webfxMenuUseHover = 1;
+ webfxMenuShowTime = 300;
+ webfxMenuHideTime = 500;
+
+ var myBar = new WebFXMenuBar;
+
+
+ myBar.add(new WebFXMenuButton('Billing Main', "http://localhost/freeside/", 'Billing start page' ));
+
+
+ myBar.add(new WebFXMenuButton('Ticketing Main', "http://localhost/freeside/rt/", 'Ticketing start page' ));
+
+
+ myBar.add(new WebFXMenuButton('New prospect', "http://localhost/freeside/edit/prospect_main.html", 'Add a new prospect' ));
+
+
+ myBar.add(new WebFXMenuButton('New customer', "http://localhost/freeside/edit/cust_main.cgi", 'Add a new customer' ));
+
+
+ var myMenu0 = new WebFXMenu;
+myMenu0.emptyText = '';
+var myMenu1 = new WebFXMenu;
+myMenu1.emptyText = '';
+myMenu1.add(new WebFXMenuItem("List prospects", "http://localhost/freeside/search/prospect_main.html", "" ));
+myMenu1.add(new WebFXMenuItem("Advanced prospect reports", "http://localhost/freeside/search/report_prospect_main.html", "" ));
+myMenu1.add(new WebFXMenuSeparator());
+myMenu1.add(new WebFXMenuItem("Prospect contacts", "http://localhost/freeside/search/report_contact.html?link=prospect_main", "" ));
+myMenu1.width = 256;
+
+myMenu0.add(new WebFXMenuItem("Prospects", null, "Prospect reports", myMenu1 ));
+var myMenu2 = new WebFXMenu;
+myMenu2.emptyText = '';
+myMenu2.add(new WebFXMenuItem("List quotations", "http://localhost/freeside/search/quotation.html", "" ));
+myMenu2.add(new WebFXMenuItem("Advanced quotation reports", "http://localhost/freeside/search/report_quotation.html", "" ));
+myMenu2.width = 256;
+
+myMenu0.add(new WebFXMenuItem("Quotations", null, "Quotation reports", myMenu2 ));
+var myMenu3 = new WebFXMenu;
+myMenu3.emptyText = '';
+var myMenu4 = new WebFXMenu;
+myMenu4.emptyText = '';
+myMenu4.add(new WebFXMenuItem("by customer number", "http://localhost/freeside/search/cust_main.cgi?browse=custnum", "" ));
+myMenu4.add(new WebFXMenuItem("by last name", "http://localhost/freeside/search/cust_main.cgi?browse=last", "" ));
+myMenu4.add(new WebFXMenuItem("by company name", "http://localhost/freeside/search/cust_main.cgi?browse=company", "" ));
+myMenu4.add(new WebFXMenuItem("by active trouble tickets", "http://localhost/freeside/search/cust_main.cgi?browse=tickets", "" ));
+myMenu4.width = 256;
+
+myMenu3.add(new WebFXMenuItem("List customers", null, "List customers", myMenu4 ));
+myMenu3.add(new WebFXMenuItem("Zip code distribution", "http://localhost/freeside/search/report_cust_main-zip.html", "Zip codes by number of customers" ));
+myMenu3.add(new WebFXMenuItem("Customer signup report", "http://localhost/freeside/graph/report_cust_signup.html", "New customer signups by date" ));
+myMenu3.add(new WebFXMenuItem("Customer churn report", "http://localhost/freeside/graph/report_cust_churn.html", "New customers, suspensions, and cancellations summary" ));
+myMenu3.add(new WebFXMenuItem("Signup date report", "http://localhost/freeside/graph/report_signupdate.html", "Signup date report (by date of signup)" ));
+myMenu3.add(new WebFXMenuItem("Advanced customer reports", "http://localhost/freeside/search/report_cust_main.html", "by status, signup date, agent, etc." ));
+myMenu3.add(new WebFXMenuSeparator());
+myMenu3.add(new WebFXMenuItem("Customer contacts", "http://localhost/freeside/search/report_contact.html?link=cust_main", "" ));
+myMenu3.width = 256;
+
+myMenu0.add(new WebFXMenuItem("Customers", null, "Customer reports", myMenu3 ));
+var myMenu5 = new WebFXMenu;
+myMenu5.emptyText = '';
+var myMenu6 = new WebFXMenu;
+myMenu6.emptyText = '';
+myMenu6.add(new WebFXMenuItem("All open invoices", "http://localhost/freeside/search/cust_bill.html?OPEN_date", "All invoices with an unpaid balance" ));
+myMenu6.add(new WebFXMenuItem("15 day open invoices", "http://localhost/freeside/search/cust_bill.html?OPEN15_date", "Invoices 15 days or older with an unpaid balance" ));
+myMenu6.add(new WebFXMenuItem("30 day open invoices", "http://localhost/freeside/search/cust_bill.html?OPEN30_date", "Invoices 30 days or older with an unpaid balance" ));
+myMenu6.add(new WebFXMenuItem("60 day open invoices", "http://localhost/freeside/search/cust_bill.html?OPEN60_date", "Invoices 60 days or older with an unpaid balance" ));
+myMenu6.add(new WebFXMenuItem("90 day open invoices", "http://localhost/freeside/search/cust_bill.html?OPEN90_date", "Invoices 90 days or older with an unpaid balance" ));
+myMenu6.add(new WebFXMenuItem("120 day open invoices", "http://localhost/freeside/search/cust_bill.html?OPEN120_date", "Invoices 120 days or older with an unpaid balance" ));
+myMenu6.width = 256;
+
+myMenu5.add(new WebFXMenuItem("Open invoices", null, "Open invoices", myMenu6 ));
+myMenu5.add(new WebFXMenuItem("All invoices", "http://localhost/freeside/search/cust_bill.html?date", "List all invoices" ));
+myMenu5.add(new WebFXMenuItem("Advanced invoice reports", "http://localhost/freeside/search/report_cust_bill.html", "by agent, date range, etc." ));
+myMenu5.add(new WebFXMenuSeparator());
+myMenu5.add(new WebFXMenuItem("Line items", "http://localhost/freeside/search/report_cust_bill_pkg.html", "Individual line item detail" ));
+myMenu5.add(new WebFXMenuItem("Voided invoices", "http://localhost/freeside/search/report_cust_bill_void.html", "Search for voided invoices" ));
+myMenu5.width = 256;
+
+myMenu0.add(new WebFXMenuItem("Invoices", null, "Invoice reports", myMenu5 ));
+var myMenu7 = new WebFXMenu;
+myMenu7.emptyText = '';
+myMenu7.add(new WebFXMenuItem("Discount graph", "http://localhost/freeside/graph/report_cust_bill_pkg_discount.html", "Discount overview per month" ));
+myMenu7.add(new WebFXMenuItem("Discount detail", "http://localhost/freeside/search/report_cust_bill_pkg_discount.html", "Discount report (by employee and/or date range)" ));
+myMenu7.add(new WebFXMenuItem("Package discounts", "http://localhost/freeside/search/report_cust_pkg_discount.html", "Active/inactive discounts by package" ));
+myMenu7.width = 256;
+
+myMenu0.add(new WebFXMenuItem("Discounts", null, "Discount reports", myMenu7 ));
+var myMenu8 = new WebFXMenu;
+myMenu8.emptyText = '';
+myMenu8.add(new WebFXMenuItem("Payments", "http://localhost/freeside/search/report_cust_pay.html", "Payment report (by type and/or date range)" ));
+myMenu8.add(new WebFXMenuItem("Payment application detail", "http://localhost/freeside/search/report_cust_bill_pay_pkg.html", "Line item application detail" ));
+myMenu8.add(new WebFXMenuItem("Pending Payments", "http://localhost/freeside/search/cust_pay_pending.html?magic=_date;statusNOT=done", "Pending real-time payments" ));
+myMenu8.add(new WebFXMenuItem("Unapplied Payments", "http://localhost/freeside/search/report_cust_pay.html?unapplied=1", "Unapplied payment report (by type and/or date range)" ));
+myMenu8.add(new WebFXMenuItem("Voided Payments", "http://localhost/freeside/search/report_cust_pay.html?void=1", "Voided payment report (by type and/or date range)" ));
+myMenu8.add(new WebFXMenuItem("Unapplied Payment Aging", "http://localhost/freeside/search/report_unapplied_cust_pay.html", "Unapplied payment aging report" ));
+myMenu8.width = 256;
+
+myMenu0.add(new WebFXMenuItem("Payments", null, "Payment reports", myMenu8 ));
+var myMenu9 = new WebFXMenu;
+myMenu9.emptyText = '';
+myMenu9.add(new WebFXMenuItem("Package definitions (by # active)", "http://localhost/freeside/browse/part_pkg.cgi?active=1", "Package definitions by number of active packages" ));
+myMenu9.add(new WebFXMenuItem("Package costs", "http://localhost/freeside/graph/report_cust_pkg_cost.html", "Package setup and recurring costs graph" ));
+myMenu9.add(new WebFXMenuSeparator());
+myMenu9.add(new WebFXMenuItem("Package churn", "http://localhost/freeside/graph/report_cust_pkg.html", "Orders, suspensions and cancellations summary graph" ));
+myMenu9.add(new WebFXMenuSeparator());
+myMenu9.add(new WebFXMenuItem("All customer packages", "http://localhost/freeside/search/cust_pkg.cgi?pkgnum", "List all customer packages" ));
+myMenu9.add(new WebFXMenuItem("Package summary", "http://localhost/freeside/search/cust_pkg_summary.html", "Show package sales summary" ));
+myMenu9.add(new WebFXMenuItem("Suspended customer packages", "http://localhost/freeside/search/cust_pkg.cgi?magic=suspended", "List suspended packages" ));
+myMenu9.add(new WebFXMenuItem("Suspension summary", "http://localhost/freeside/search/cust_pkg_susp.html", "Show suspension activity" ));
+myMenu9.add(new WebFXMenuItem("Customer packages with unconfigured services", "http://localhost/freeside/search/cust_pkg.cgi?APKG_pkgnum", "List packages which have provisionable services" ));
+myMenu9.add(new WebFXMenuItem("Advanced package reports", "http://localhost/freeside/search/report_cust_pkg.html", "by agent, date range, status, package definition" ));
+myMenu9.width = 256;
+
+myMenu0.add(new WebFXMenuItem("Packages", null, "Package reports", myMenu9 ));
+var myMenu10 = new WebFXMenu;
+myMenu10.emptyText = '';
+myMenu10.add(new WebFXMenuItem("Service definitions", "http://localhost/freeside/browse/part_svc.cgi?orderby=active", "Service definitions by number of active packages" ));
+myMenu10.add(new WebFXMenuSeparator());
+myMenu10.add(new WebFXMenuItem("Unprovisioned services", "http://localhost/freeside/search/report_unprovisioned_services.html", "Unprovisioned services" ));
+myMenu10.add(new WebFXMenuSeparator());
+var myMenu11 = new WebFXMenu;
+myMenu11.emptyText = '';
+myMenu11.add(new WebFXMenuItem("All accounts by Username", "http://localhost/freeside/search/svc_acct.cgi?magic=all;sortby=username", "" ));
+myMenu11.add(new WebFXMenuItem("All accounts by UID", "http://localhost/freeside/search/svc_acct.cgi?magic=all;sortby=uid", "" ));
+myMenu11.add(new WebFXMenuItem("All accounts with Time Remaining", "http://localhost/freeside/search/svc_acct.cgi?magic=all;sortby=seconds", "" ));
+myMenu11.add(new WebFXMenuItem("All accounts by Last login", "http://localhost/freeside/search/svc_acct.cgi?magic=all;sortby=last_login", "" ));
+myMenu11.add(new WebFXMenuItem("All accounts never logged in", "http://localhost/freeside/search/svc_acct.cgi?magic=nologin;sortby=svcnum", "" ));
+myMenu11.add(new WebFXMenuItem("Advanced account reports", "http://localhost/freeside/search/report_svc_acct.html", "" ));
+myMenu11.width = 256;
+
+myMenu10.add(new WebFXMenuItem("Accounts", null, "Access accounts and mailboxes", myMenu11 ));
+var myMenu12 = new WebFXMenu;
+myMenu12.emptyText = '';
+myMenu12.add(new WebFXMenuItem("All domains", "http://localhost/freeside/search/svc_domain.cgi?magic=all;sortby=domain", "" ));
+myMenu12.width = 256;
+
+myMenu10.add(new WebFXMenuItem("Domains", null, "Domains", myMenu12 ));
+var myMenu13 = new WebFXMenu;
+myMenu13.emptyText = '';
+myMenu13.add(new WebFXMenuItem("All certificates", "http://localhost/freeside/search/cust_svc.html?svcdb=svc_cert;magic=all;sortby=svcnum", "" ));
+myMenu13.width = 256;
+
+myMenu10.add(new WebFXMenuItem("Certificates", null, "Example services", myMenu13 ));
+var myMenu14 = new WebFXMenu;
+myMenu14.emptyText = '';
+myMenu14.add(new WebFXMenuItem("All mail forwards", "http://localhost/freeside/search/svc_forward.cgi?magic=all;sortby=svcnum", "" ));
+myMenu14.width = 256;
+
+myMenu10.add(new WebFXMenuItem("Mail forwards", null, "Mail forwards", myMenu14 ));
+var myMenu15 = new WebFXMenu;
+myMenu15.emptyText = '';
+myMenu15.add(new WebFXMenuItem("All mailing lists", "http://localhost/freeside/search/cust_svc.html?svcdb=svc_mailinglist;magic=all;sortby=svcnum", "" ));
+myMenu15.width = 256;
+
+myMenu10.add(new WebFXMenuItem("Mailing lists", null, "Mailing lists", myMenu15 ));
+var myMenu16 = new WebFXMenu;
+myMenu16.emptyText = '';
+myMenu16.add(new WebFXMenuItem("All virtual hosting services", "http://localhost/freeside/search/svc_www.cgi?magic=all;sortby=svcnum", "" ));
+myMenu16.width = 256;
+
+myMenu10.add(new WebFXMenuItem("Virtual hosting services", null, "Virtual hosting services", myMenu16 ));
+var myMenu17 = new WebFXMenu;
+myMenu17.emptyText = '';
+myMenu17.add(new WebFXMenuItem("All wireless broadband services", "http://localhost/freeside/search/svc_broadband.cgi?magic=all;sortby=svcnum", "" ));
+myMenu17.add(new WebFXMenuItem("Advanced wireless broadband reports", "http://localhost/freeside/search/report_svc_broadband.html", "" ));
+myMenu17.width = 256;
+
+myMenu10.add(new WebFXMenuItem("Wireless broadband services", null, "Fixed wireless broadband services", myMenu17 ));
+var myMenu18 = new WebFXMenu;
+myMenu18.emptyText = '';
+myMenu18.add(new WebFXMenuItem("All cable subscribers by Service", "http://localhost/freeside/search/cust_svc.html?svcdb=svc_cable;magic=all;sortby=svcnum", "" ));
+myMenu18.add(new WebFXMenuItem("All cable subscribers by Serial number", "http://localhost/freeside/search/cust_svc.html?svcdb=svc_cable;magic=all;sortby=serialnum", "" ));
+myMenu18.add(new WebFXMenuItem("All cable subscribers by MAC address", "http://localhost/freeside/search/cust_svc.html?svcdb=svc_cable;magic=all;sortby=mac_addr", "" ));
+myMenu18.width = 256;
+
+myMenu10.add(new WebFXMenuItem("Cable Subscribers", null, "Cable Subscribers", myMenu18 ));
+var myMenu19 = new WebFXMenu;
+myMenu19.emptyText = '';
+myMenu19.add(new WebFXMenuItem("All DSLs", "http://localhost/freeside/search/cust_svc.html?svcdb=svc_dsl;magic=all;sortby=phonenum", "" ));
+myMenu19.add(new WebFXMenuItem("Qualifications", "http://localhost/freeside/search/qual.cgi", "" ));
+myMenu19.width = 256;
+
+myMenu10.add(new WebFXMenuItem("DSLs", null, "DSLs", myMenu19 ));
+var myMenu20 = new WebFXMenu;
+myMenu20.emptyText = '';
+myMenu20.add(new WebFXMenuItem("All dish services", "http://localhost/freeside/search/svc_dish.cgi?magic=all;sortby=svcnum", "" ));
+myMenu20.width = 256;
+
+myMenu10.add(new WebFXMenuItem("Dish services", null, "Dish services", myMenu20 ));
+var myMenu21 = new WebFXMenu;
+myMenu21.emptyText = '';
+myMenu21.add(new WebFXMenuItem("All hardware", "http://localhost/freeside/search/svc_hardware.cgi?magic=all;sortby=svcnum", "" ));
+myMenu21.add(new WebFXMenuItem("Advanced hardware reports", "http://localhost/freeside/search/report_svc_hardware.html", "" ));
+myMenu21.width = 256;
+
+myMenu10.add(new WebFXMenuItem("Hardware", null, "Hardware", myMenu21 ));
+var myMenu22 = new WebFXMenu;
+myMenu22.emptyText = '';
+myMenu22.add(new WebFXMenuItem("All phone numbers", "http://localhost/freeside/search/svc_phone.cgi?magic=all;sortby=phonenum", "" ));
+myMenu22.add(new WebFXMenuItem("Phone numbers' total usage by time period", "http://localhost/freeside/search/report_svc_phone_usage.html", "Total usage (minutes, and amount billed) for the specified time period, per phone number." ));
+myMenu22.add(new WebFXMenuItem("Phone numbers by state", "http://localhost/freeside/search/phone_state.html", "Current or historical phone services broken down by state." ));
+myMenu22.add(new WebFXMenuItem("Advanced phone number reports", "http://localhost/freeside/search/report_svc_phone.html", "" ));
+myMenu22.add(new WebFXMenuItem("Phone number (DID) availability", "http://localhost/freeside/search/report_phone_avail.html", "" ));
+myMenu22.add(new WebFXMenuItem("Inventory/Provisioning Status", "http://localhost/freeside/search/phone_inventory_provisioned.html", "" ));
+myMenu22.width = 256;
+
+myMenu10.add(new WebFXMenuItem("Phone numbers", null, "Phone numbers", myMenu22 ));
+var myMenu23 = new WebFXMenu;
+myMenu23.emptyText = '';
+myMenu23.add(new WebFXMenuItem("All PBXs", "http://localhost/freeside/search/cust_svc.html?svcdb=svc_pbx;magic=all;sortby=svcnum", "" ));
+myMenu23.width = 256;
+
+myMenu10.add(new WebFXMenuItem("PBXs", null, "PBXs", myMenu23 ));
+var myMenu24 = new WebFXMenu;
+myMenu24.emptyText = '';
+myMenu24.add(new WebFXMenuItem("All circuits", "http://localhost/freeside/search/svc_circuit.cgi?magic=all;sortby=svcnum", "" ));
+myMenu24.width = 256;
+
+myMenu10.add(new WebFXMenuItem("Circuits", null, "Voice and data circuit services", myMenu24 ));
+var myMenu25 = new WebFXMenu;
+myMenu25.emptyText = '';
+myMenu25.add(new WebFXMenuItem("All ports", "http://localhost/freeside/search/cust_svc.html?svcdb=svc_port;magic=all;sortby=serviceid", "" ));
+myMenu25.width = 256;
+
+myMenu10.add(new WebFXMenuItem("Ports", null, "Ports", myMenu25 ));
+var myMenu26 = new WebFXMenu;
+myMenu26.emptyText = '';
+myMenu26.add(new WebFXMenuItem("All alarm services", "http://localhost/freeside/search/cust_svc.html?svcdb=svc_alarm;magic=all;sortby=acctnum", "" ));
+myMenu26.width = 256;
+
+myMenu10.add(new WebFXMenuItem("Alarm services", null, "Alarm services", myMenu26 ));
+var myMenu27 = new WebFXMenu;
+myMenu27.emptyText = '';
+myMenu27.add(new WebFXMenuItem("All external services", "http://localhost/freeside/search/svc_external.cgi?magic=all;sortby=id", "" ));
+myMenu27.width = 256;
+
+myMenu10.add(new WebFXMenuItem("External services", null, "External services", myMenu27 ));
+myMenu10.width = 256;
+
+myMenu0.add(new WebFXMenuItem("Services", null, "Services reports", myMenu10 ));
+var myMenu28 = new WebFXMenu;
+myMenu28.emptyText = '';
+myMenu28.add(new WebFXMenuItem("Inventory by agent", "http://localhost/freeside/search/report_agent_inventory.html", "" ));
+myMenu28.add(new WebFXMenuItem("Inventory activity", "http://localhost/freeside/search/report_h_inventory_item.html", "" ));
+myMenu28.width = 256;
+
+myMenu0.add(new WebFXMenuItem("Inventory", null, "Inventory reports", myMenu28 ));
+var myMenu29 = new WebFXMenu;
+myMenu29.emptyText = '';
+myMenu29.add(new WebFXMenuItem("RADIUS sessions", "http://localhost/freeside/search/sqlradius.html", "" ));
+myMenu29.add(new WebFXMenuItem("RADIUS data usage", "http://localhost/freeside/search/report_sqlradius_usage.html", "" ));
+myMenu29.add(new WebFXMenuItem("Call Detail Records (CDRs)", "http://localhost/freeside/search/report_cdr.html", "" ));
+myMenu29.add(new WebFXMenuItem("Unrateable CDRs", "http://localhost/freeside/search/cdr.html?freesidestatus=failed;cdrbatchnum=_ALL_", "" ));
+myMenu29.width = 256;
+
+myMenu0.add(new WebFXMenuItem("Usage", null, "Usage reports", myMenu29 ));
+var myMenu30 = new WebFXMenu;
+myMenu30.emptyText = '';
+var myMenu31 = new WebFXMenu;
+myMenu31.emptyText = '';
+myMenu31.add(new WebFXMenuItem("Tickets per day per Queue", "http://localhost/freeside/rt/RTx/Statistics/CallsQueueDay", "View the number of tickets created, resolved or deleted in a specific Queue, over the requested period of days" ));
+myMenu31.add(new WebFXMenuItem("Ticket status by Queue", "http://localhost/freeside/rt/RTx/Statistics/OpenStalled", "View numbers of new, open and stalled tickets in a selected Queue" ));
+myMenu31.add(new WebFXMenuItem("Tickets per day (multiple Queues)", "http://localhost/freeside/rt/RTx/Statistics/CallsMultiQueue", "View tickets created, resolved or deleted on in one or more Queues over a specified time period" ));
+myMenu31.add(new WebFXMenuItem("Tickets per Day of Week", "http://localhost/freeside/rt/RTx/Statistics/DayOfWeek", "View trends showing when tickets are created, resolved or deleted" ));
+myMenu31.add(new WebFXMenuItem("Time to resolve", "http://localhost/freeside/rt/RTx/Statistics/Resolution", "View how long tickets take to be resolved by Queue" ));
+myMenu31.add(new WebFXMenuItem("Time to resolve (scatter graph)", "http://localhost/freeside/rt/RTx/Statistics/TimeToResolve", "View a detailed scatter graph of time to resolve tickets by Queue" ));
+myMenu31.width = 256;
+
+myMenu30.add(new WebFXMenuItem("Statistics", null, "", myMenu31 ));
+myMenu30.add(new WebFXMenuSeparator());
+myMenu30.add(new WebFXMenuItem("Advanced ticket reports", "http://localhost/freeside/rt/Search/Build.html?NewQuery=1", "List tickets by any criteria" ));
+myMenu30.width = 256;
+
+myMenu0.add(new WebFXMenuItem("Tickets", null, "Ticket reports", myMenu30 ));
+var myMenu32 = new WebFXMenu;
+myMenu32.emptyText = '';
+myMenu32.add(new WebFXMenuItem("Employee Commission Report", "http://localhost/freeside/search/report_employee_commission.html", "" ));
+myMenu32.add(new WebFXMenuItem("Employee Audit Report", "http://localhost/freeside/search/report_employee_audit.html", "Employee audit report" ));
+myMenu32.width = 256;
+
+myMenu0.add(new WebFXMenuItem("Employees", null, "Employee reports", myMenu32 ));
+var myMenu33 = new WebFXMenu;
+myMenu33.emptyText = '';
+myMenu33.add(new WebFXMenuItem("All billing events", "http://localhost/freeside/search/report_cust_event.html", "All billing events for a date range" ));
+myMenu33.add(new WebFXMenuItem("Billing event errors", "http://localhost/freeside/search/report_cust_event.html?failed=1", "Failed credit cards, processor or printer problems, etc." ));
+myMenu33.width = 256;
+
+myMenu0.add(new WebFXMenuItem("Billing events", null, "Billing events", myMenu33 ));
+var myMenu34 = new WebFXMenu;
+myMenu34.emptyText = '';
+var myMenu35 = new WebFXMenu;
+myMenu35.emptyText = '';
+myMenu35.add(new WebFXMenuItem("Sales, Credits and Receipts", "http://localhost/freeside/graph/report_money_time.html", "Sales, credits and receipts summary graph" ));
+myMenu35.add(new WebFXMenuItem("Daily Sales, Credits and Receipts", "http://localhost/freeside/graph/report_money_time_daily.html", "Sales, credits and receipts (broken down by day) summary graph" ));
+myMenu35.add(new WebFXMenuItem("Sales Report", "http://localhost/freeside/graph/report_cust_bill_pkg.html", "Sales report and graph (by agent, package class and/or date range)" ));
+myMenu35.add(new WebFXMenuItem("Rated Call Sales Report", "http://localhost/freeside/graph/report_cust_bill_pkg_detail.html", "Sales report and graph (by agent, package class, usage class and/or date range)" ));
+myMenu35.add(new WebFXMenuItem("Sales with Advertising Source", "http://localhost/freeside/search/report_cust_bill_pkg_referral.html", "" ));
+myMenu35.width = 256;
+
+myMenu34.add(new WebFXMenuItem("Sales", null, "Sales reports", myMenu35 ));
+var myMenu36 = new WebFXMenu;
+myMenu36.emptyText = '';
+myMenu36.add(new WebFXMenuItem("Credit Report", "http://localhost/freeside/search/report_cust_credit.html", "Credit report (by employee and/or date range)" ));
+myMenu36.add(new WebFXMenuItem("Credit application detail", "http://localhost/freeside/search/report_cust_credit_bill_pkg.html", "Line item application detail" ));
+myMenu36.add(new WebFXMenuItem("Unapplied Credits", "http://localhost/freeside/search/report_cust_credit.html?unapplied=1", "Unapplied credit report (by type and/or date range)" ));
+myMenu36.add(new WebFXMenuItem("Voided Credits", "http://localhost/freeside/search/report_cust_credit_void.html", "Voided credit report (by employee and/or date range)" ));
+myMenu36.width = 256;
+
+myMenu34.add(new WebFXMenuItem("Credits", null, "Credit reports", myMenu36 ));
+var myMenu37 = new WebFXMenu;
+myMenu37.emptyText = '';
+myMenu37.add(new WebFXMenuItem("Refund Report", "http://localhost/freeside/search/report_cust_refund.html", "Refund report (by type and/or date range)" ));
+myMenu37.add(new WebFXMenuItem("Unapplied Refunds", "http://localhost/freeside/search/report_cust_refund.html?unapplied=1", "Unapplied refund report (by type and/or date range)" ));
+myMenu37.width = 256;
+
+myMenu34.add(new WebFXMenuItem("Refunds", null, "Refund reports", myMenu37 ));
+var myMenu38 = new WebFXMenu;
+myMenu38.emptyText = '';
+myMenu38.add(new WebFXMenuItem("Agent Commissions", "http://localhost/freeside/search/report_agent_commission.html", "" ));
+myMenu38.add(new WebFXMenuItem("Agent Commissions Per Package", "http://localhost/freeside/search/report_agent_commission_pkg.html", "" ));
+myMenu38.add(new WebFXMenuItem("Sales Person Commissions", "http://localhost/freeside/search/report_sales_commission.html", "" ));
+myMenu38.add(new WebFXMenuItem("Sales Person Commissions Per Package", "http://localhost/freeside/search/report_sales_commission_pkg.html", "" ));
+myMenu38.add(new WebFXMenuItem("Employee Commissions", "http://localhost/freeside/search/report_employee_commission.html", "" ));
+myMenu38.width = 256;
+
+myMenu34.add(new WebFXMenuItem("Commissions", null, "Commission reports", myMenu38 ));
+myMenu34.add(new WebFXMenuItem("A/R Aging", "http://localhost/freeside/search/report_receivables.html", "Accounts Receivable Aging report" ));
+myMenu34.add(new WebFXMenuItem("Prepaid Income", "http://localhost/freeside/search/report_prepaid_income.html", "Prepaid income (unearned revenue) report" ));
+myMenu34.add(new WebFXMenuItem("Tax Liability", "http://localhost/freeside/search/report_tax.html", "Tax liability report (internal tax data)" ));
+myMenu34.add(new WebFXMenuItem("E911 Fee Summary", "http://localhost/freeside/search/report_e911.html", "E911 fee summary" ));
+myMenu34.add(new WebFXMenuItem("Customer Accounting Summary", "http://localhost/freeside/search/report_customer_accounting_summary.html", "Customer accounting summary report" ));
+myMenu34.width = 256;
+
+myMenu0.add(new WebFXMenuItem("Financial", null, "Financial reports", myMenu34 ));
+var myMenu39 = new WebFXMenu;
+myMenu39.emptyText = '';
+myMenu39.add(new WebFXMenuItem("Credit limit incidents", "http://localhost/freeside/search/report_cust_main_credit_limit.html", "" ));
+myMenu39.add(new WebFXMenuItem("System log", "http://localhost/freeside/search/log.html", "View system events and debugging information." ));
+myMenu39.add(new WebFXMenuItem("Outgoing messages", "http://localhost/freeside/search/cust_msg.html", "View outgoing message log" ));
+myMenu39.width = 256;
+
+myMenu0.add(new WebFXMenuItem("Logs", null, "System and email logs", myMenu39 ));
+myMenu0.width = 256;
+
+ myBar.add(new WebFXMenuButton('Reports', null, 'Lists, reporting and graphing', myMenu0 ));
+
+
+ var myMenu40 = new WebFXMenu;
+myMenu40.emptyText = '';
+myMenu40.add(new WebFXMenuItem("Quick payment entry", "http://localhost/freeside/misc/batch-cust_pay.html", "Enter multiple payments in a batch" ));
+myMenu40.add(new WebFXMenuItem("Download invoice batches", "http://localhost/freeside/search/bill_batch.cgi", "" ));
+myMenu40.add(new WebFXMenuItem("Bulk DID Orders", "http://localhost/freeside/browse/did_order.html", "View/manage bulk DID orders" ));
+myMenu40.add(new WebFXMenuItem("Job Queue", "http://localhost/freeside/search/queue.html", "View pending job queue" ));
+var myMenu41 = new WebFXMenu;
+myMenu41.emptyText = '';
+var myMenu42 = new WebFXMenu;
+myMenu42.emptyText = '';
+myMenu42.add(new WebFXMenuItem("Overview", "http://localhost/freeside/rt/Articles/index.html", "" ));
+myMenu42.add(new WebFXMenuItem("Search", "http://localhost/freeside/rt/Articles/Article/Search.html", "" ));
+myMenu42.add(new WebFXMenuItem("Topics", "http://localhost/freeside/rt/Articles/Topics.html", "" ));
+myMenu42.width = 256;
+
+myMenu41.add(new WebFXMenuItem("Articles", null, "", myMenu42 ));
+myMenu41.add(new WebFXMenuItem("My Day", "http://localhost/freeside/rt/Tools/MyDay.html", "" ));
+myMenu41.add(new WebFXMenuItem("My Reminders", "http://localhost/freeside/rt/Tools/MyReminders.html", "" ));
+myMenu41.add(new WebFXMenuItem("Offline", "http://localhost/freeside/rt/Tools/Offline.html", "" ));
+myMenu41.add(new WebFXMenuItem("Approval", "http://localhost/freeside/rt/Approvals/", "" ));
+myMenu41.width = 256;
+
+myMenu40.add(new WebFXMenuItem("Ticketing", null, "Ticketing tools", myMenu41 ));
+myMenu40.add(new WebFXMenuItem("Customer email settings", "http://localhost/freeside/misc/manage_cust_email.html", "" ));
+myMenu40.add(new WebFXMenuItem("Business card scan", "http://localhost/freeside/edit/prospect_main-upload.html", "" ));
+myMenu40.add(new WebFXMenuItem("Attachments", "http://localhost/freeside/browse/cust_attachment.html", "View customer attachments" ));
+var myMenu43 = new WebFXMenu;
+myMenu43.emptyText = '';
+myMenu43.add(new WebFXMenuItem("Customers", "http://localhost/freeside/misc/cust_main-import.cgi", "" ));
+myMenu43.add(new WebFXMenuItem("Package definitions", "http://localhost/freeside/misc/part_pkg-import.html", "" ));
+myMenu43.add(new WebFXMenuItem("Customer packages", "http://localhost/freeside/misc/cust_pkg-import.html", "" ));
+myMenu43.add(new WebFXMenuItem("Customer comments", "http://localhost/freeside/misc/cust_main_note-import.html", "" ));
+myMenu43.add(new WebFXMenuItem("One-time charges", "http://localhost/freeside/misc/cust_main-import_charges.cgi", "" ));
+myMenu43.add(new WebFXMenuItem("Payments", "http://localhost/freeside/misc/cust_pay-import.cgi", "" ));
+myMenu43.add(new WebFXMenuItem("Credits", "http://localhost/freeside/misc/cust_credit-import.html", "" ));
+myMenu43.add(new WebFXMenuItem("Phone numbers (DIDs)", "http://localhost/freeside/misc/phone_avail-import.html", "" ));
+myMenu43.add(new WebFXMenuItem("Call Detail Records (CDRs)", "http://localhost/freeside/misc/cdr-import.html", "" ));
+myMenu43.width = 256;
+
+myMenu40.add(new WebFXMenuItem("Importing", null, "Import tools", myMenu43 ));
+var myMenu44 = new WebFXMenu;
+myMenu44.emptyText = '';
+myMenu44.add(new WebFXMenuItem("Download database dump", "http://localhost/freeside/misc/dump.cgi", "" ));
+myMenu44.width = 256;
+
+myMenu40.add(new WebFXMenuItem("Exporting", null, "Export tools", myMenu44 ));
+myMenu40.add(new WebFXMenuItem("Status", "http://localhost/freeside/view/Status.html", "System status" ));
+myMenu40.width = 256;
+
+ myBar.add(new WebFXMenuButton('Tools', null, 'Tools', myMenu40 ));
+
+
+ var myMenu45 = new WebFXMenu;
+myMenu45.emptyText = '';
+myMenu45.add(new WebFXMenuItem("Settings", "http://localhost/freeside/config/config-view.cgi", "" ));
+myMenu45.add(new WebFXMenuSeparator());
+var myMenu46 = new WebFXMenu;
+myMenu46.emptyText = '';
+myMenu46.add(new WebFXMenuItem("Agent types", "http://localhost/freeside/browse/agent_type.cgi", "Agent types define groups of package definitions that you can then assign to particular agents" ));
+myMenu46.add(new WebFXMenuItem("Agents", "http://localhost/freeside/browse/agent.cgi", "Agents are resellers of your service. Agents may be limited to a subset of your full offerings (via their type)" ));
+myMenu46.add(new WebFXMenuItem("Agent payment gateways", "http://localhost/freeside/browse/payment_gateway.html", "Credit card and electronic check processors for agent overrides" ));
+myMenu46.width = 256;
+
+myMenu45.add(new WebFXMenuItem("Companies", null, "", myMenu46 ));
+var myMenu47 = new WebFXMenu;
+myMenu47.emptyText = '';
+myMenu47.add(new WebFXMenuItem("Sales People", "http://localhost/freeside/browse/sales.html", "Sales people bring in new business." ));
+myMenu47.width = 256;
+
+myMenu45.add(new WebFXMenuItem("Sales People", null, "", myMenu47 ));
+var myMenu48 = new WebFXMenu;
+myMenu48.emptyText = '';
+myMenu48.add(new WebFXMenuItem("Employees", "http://localhost/freeside/browse/access_user.html", "Setup internal users" ));
+myMenu48.add(new WebFXMenuItem("Employee groups", "http://localhost/freeside/browse/access_group.html", "Employee groups allow you to control access to the backend" ));
+myMenu48.add(new WebFXMenuItem("Installer availability", "http://localhost/freeside/browse/sched_item.html", "Installer availability" ));
+myMenu48.width = 256;
+
+myMenu45.add(new WebFXMenuItem("Employees", null, "", myMenu48 ));
+myMenu45.add(new WebFXMenuSeparator());
+var myMenu49 = new WebFXMenu;
+myMenu49.emptyText = '';
+myMenu49.add(new WebFXMenuItem("Customer tags", "http://localhost/freeside/browse/part_tag.html", "" ));
+myMenu49.add(new WebFXMenuItem("Customer classes", "http://localhost/freeside/browse/cust_class.html", "Customer classes define groups of customers for reporting." ));
+myMenu49.add(new WebFXMenuItem("Customer categories", "http://localhost/freeside/browse/cust_category.html", "Customer categories define groups of customer classes." ));
+myMenu49.add(new WebFXMenuSeparator());
+myMenu49.add(new WebFXMenuItem("Contact types", "http://localhost/freeside/browse/contact_class.html", "" ));
+myMenu49.width = 256;
+
+myMenu45.add(new WebFXMenuItem("Customers", null, "", myMenu49 ));
+var myMenu50 = new WebFXMenu;
+myMenu50.emptyText = '';
+myMenu50.add(new WebFXMenuItem("Package definitions", "http://localhost/freeside/browse/part_pkg.cgi", "One or more services are grouped together into a package and given pricing information. Customers purchase packages, not services" ));
+myMenu50.add(new WebFXMenuItem("Package classes", "http://localhost/freeside/browse/pkg_class.html", "Package classes define groups of packages, for taxation, ordering convenience and reporting." ));
+myMenu50.add(new WebFXMenuItem("Package categories", "http://localhost/freeside/browse/pkg_category.html", "Package categories define groups of package classes, for invoice sections." ));
+myMenu50.add(new WebFXMenuItem("Package report classes", "http://localhost/freeside/browse/part_pkg_report_option.html", "Package classes define optional groups of packages for reporting only." ));
+myMenu50.add(new WebFXMenuItem("Fees", "http://localhost/freeside/browse/part_fee.html", "" ));
+myMenu50.add(new WebFXMenuItem("Discounts", "http://localhost/freeside/browse/discount.html", "" ));
+myMenu50.add(new WebFXMenuItem("Discount classes", "http://localhost/freeside/browse/discount_class.html", "" ));
+var myMenu51 = new WebFXMenu;
+myMenu51.emptyText = '';
+myMenu51.add(new WebFXMenuItem("Cancel reasons", "http://localhost/freeside/browse/reason.html?class=C", "Cancel reasons explain why a service was cancelled." ));
+myMenu51.add(new WebFXMenuItem("Cancel reason types", "http://localhost/freeside/browse/reason_type.html?class=C", "Cancel reason types define groups of reasons." ));
+myMenu51.add(new WebFXMenuItem("Suspend reasons", "http://localhost/freeside/browse/reason.html?class=S", "Suspend reasons explain why a service was suspended." ));
+myMenu51.add(new WebFXMenuItem("Suspend reason types", "http://localhost/freeside/browse/reason_type.html?class=S", "Suspend reason types define groups of reasons." ));
+myMenu51.width = 256;
+
+myMenu50.add(new WebFXMenuItem("Cancel/Suspend Reasons", null, "", myMenu51 ));
+myMenu50.width = 256;
+
+myMenu45.add(new WebFXMenuItem("Packages", null, "", myMenu50 ));
+var myMenu52 = new WebFXMenu;
+myMenu52.emptyText = '';
+myMenu52.add(new WebFXMenuItem("Service definitions", "http://localhost/freeside/browse/part_svc.cgi", "Services are items you offer to your customers" ));
+myMenu52.add(new WebFXMenuItem("Service classes", "http://localhost/freeside/browse/part_svc_class.html", "Services classes are user-defined, informational types for services" ));
+myMenu52.add(new WebFXMenuItem("Provisioning exports", "http://localhost/freeside/browse/part_export.cgi", "Provisioning services to external machines, databases and APIs" ));
+var myMenu53 = new WebFXMenu;
+myMenu53.emptyText = '';
+myMenu53.add(new WebFXMenuItem("Access numbers", "http://localhost/freeside/browse/svc_acct_pop.cgi", "Points of Presence" ));
+myMenu53.width = 256;
+
+myMenu52.add(new WebFXMenuItem("Dialup", null, "", myMenu53 ));
+var myMenu54 = new WebFXMenu;
+myMenu54.emptyText = '';
+myMenu54.add(new WebFXMenuItem("Towers", "http://localhost/freeside/browse/tower.html", "Towers and sectors" ));
+myMenu54.add(new WebFXMenuItem("Routers", "http://localhost/freeside/browse/router.cgi", "Broadband access routers" ));
+myMenu54.add(new WebFXMenuItem("Address blocks", "http://localhost/freeside/browse/addr_block.cgi", "Manage address blocks and block assignments to broadband routers" ));
+myMenu54.add(new WebFXMenuItem("Address ranges", "http://localhost/freeside/browse/addr_range.html", "Designate special address ranges" ));
+myMenu54.width = 256;
+
+myMenu52.add(new WebFXMenuItem("Wireless broadband", null, "", myMenu54 ));
+var myMenu55 = new WebFXMenu;
+myMenu55.emptyText = '';
+myMenu55.add(new WebFXMenuItem("View/Edit phone device types", "http://localhost/freeside/browse/part_device.html", "Phone device types" ));
+myMenu55.add(new WebFXMenuItem("View/Edit bulk DID vendors", "http://localhost/freeside/browse/did_vendor.html", "Bulk DID vendors" ));
+myMenu55.add(new WebFXMenuItem("View/Edit Carriers", "http://localhost/freeside/browse/cdr_carrier.html", "Carriers" ));
+myMenu55.width = 256;
+
+myMenu52.add(new WebFXMenuItem("Phone", null, "", myMenu55 ));
+var myMenu56 = new WebFXMenu;
+myMenu56.emptyText = '';
+myMenu56.add(new WebFXMenuItem("RADIUS Groups", "http://localhost/freeside/browse/radius_group.html", "Manage RADIUS groups" ));
+myMenu56.add(new WebFXMenuItem("RADIUS Clients", "http://localhost/freeside/browse/nas.html", "Manage RADIUS clients" ));
+myMenu56.width = 256;
+
+myMenu52.add(new WebFXMenuItem("RADIUS", null, "", myMenu56 ));
+var myMenu57 = new WebFXMenu;
+myMenu57.emptyText = '';
+myMenu57.add(new WebFXMenuItem("Cable providers", "http://localhost/freeside/browse/cable_provider.html", "" ));
+myMenu57.add(new WebFXMenuItem("Cable modem models", "http://localhost/freeside/browse/cable_model.html", "" ));
+myMenu57.width = 256;
+
+myMenu52.add(new WebFXMenuItem("Cable", null, "", myMenu57 ));
+var myMenu58 = new WebFXMenu;
+myMenu58.emptyText = '';
+myMenu58.add(new WebFXMenuItem("Alarm system vendors", "http://localhost/freeside/browse/alarm_system.html", "" ));
+myMenu58.add(new WebFXMenuItem("Alarm system types", "http://localhost/freeside/browse/alarm_type.html", "" ));
+myMenu58.add(new WebFXMenuItem("Alarm central stations", "http://localhost/freeside/browse/alarm_station.html", "" ));
+myMenu58.width = 256;
+
+myMenu52.add(new WebFXMenuItem("Alarm", null, "", myMenu58 ));
+var myMenu59 = new WebFXMenu;
+myMenu59.emptyText = '';
+myMenu59.add(new WebFXMenuItem("Circuit types", "http://localhost/freeside/browse/circuit_type.html", "" ));
+myMenu59.add(new WebFXMenuItem("Circuit providers", "http://localhost/freeside/browse/circuit_provider.html", "" ));
+myMenu59.add(new WebFXMenuItem("Termination types", "http://localhost/freeside/browse/circuit_termination.html", "" ));
+myMenu59.width = 256;
+
+myMenu52.add(new WebFXMenuItem("Circuits", null, "", myMenu59 ));
+myMenu52.add(new WebFXMenuItem("Hardware types", "http://localhost/freeside/browse/hardware_class.html", "Set up hardware type catalog" ));
+myMenu52.width = 256;
+
+myMenu45.add(new WebFXMenuItem("Services", null, "", myMenu52 ));
+myMenu45.add(new WebFXMenuSeparator());
+var myMenu60 = new WebFXMenu;
+myMenu60.emptyText = '';
+myMenu60.add(new WebFXMenuItem("Billing events", "http://localhost/freeside/browse/part_event.html", "Billing actions for customers, invoices and packages" ));
+myMenu60.add(new WebFXMenuItem("Invoice configurations", "http://localhost/freeside/browse/invoice_conf.html", "Adjust invoice settings for special-purpose notices" ));
+myMenu60.add(new WebFXMenuItem("Invoice templates", "http://localhost/freeside/browse/invoice_template.html", "Edit templates for HTML, plaintext and typeset invoices" ));
+myMenu60.add(new WebFXMenuItem("Prepaid cards", "http://localhost/freeside/search/prepay_credit.html", "View outstanding cards, generate new cards" ));
+var myMenu61 = new WebFXMenu;
+myMenu61.emptyText = '';
+myMenu61.add(new WebFXMenuItem("Rate plans", "http://localhost/freeside/browse/rate.cgi", "Manage rate plans" ));
+myMenu61.add(new WebFXMenuItem("Regions and prefixes", "http://localhost/freeside/browse/rate_region.html", "Manage regions and prefixes" ));
+myMenu61.add(new WebFXMenuItem("Usage classes", "http://localhost/freeside/browse/usage_class.html", "Usage classes define groups of usage for taxation." ));
+myMenu61.add(new WebFXMenuItem("Time periods", "http://localhost/freeside/browse/rate_time.html", "Time periods define days and hours for rate plans" ));
+myMenu61.add(new WebFXMenuItem("Edit rates with Excel", "http://localhost/freeside/misc/rate_edit_excel.html", "Download and edit rates with Excel, then upload changes." ));
+myMenu61.add(new WebFXMenuSeparator());
+myMenu61.add(new WebFXMenuItem("Tiering plans", "http://localhost/freeside/browse/rate_tier.html", "Rating tiers" ));
+myMenu61.width = 256;
+
+myMenu60.add(new WebFXMenuItem("Call rates and regions", null, "Manage rate plans, regions and prefixes for VoIP and call billing", myMenu61 ));
+myMenu60.add(new WebFXMenuItem("Locales and tax rates", "http://localhost/freeside/browse/cust_main_county.cgi", "Change tax rates, or break down a country into states, or a state into counties and assign different tax rates to each" ));
+myMenu60.add(new WebFXMenuItem("Tax classes", "http://localhost/freeside/browse/part_pkg_taxclass.html", "Tax classes" ));
+myMenu60.add(new WebFXMenuItem("Credit reasons", "http://localhost/freeside/browse/reason.html?class=R", "Credit reasons explain why a credit was issued." ));
+myMenu60.add(new WebFXMenuItem("Credit reason types", "http://localhost/freeside/browse/reason_type.html?class=R", "Credit reason types define groups of reasons." ));
+myMenu60.width = 256;
+
+myMenu45.add(new WebFXMenuItem("Billing", null, "", myMenu60 ));
+myMenu45.add(new WebFXMenuSeparator());
+var myMenu62 = new WebFXMenu;
+myMenu62.emptyText = '';
+myMenu62.add(new WebFXMenuItem("Message templates", "http://localhost/freeside/browse/msg_template.html", "Templates for customer notices" ));
+myMenu62.add(new WebFXMenuItem("Advertising sources", "http://localhost/freeside/browse/part_referral.html", "Where a customer heard about your service." ));
+myMenu62.add(new WebFXMenuItem("Custom fields", "http://localhost/freeside/browse/part_virtual_field.html", "Locally defined fields" ));
+myMenu62.add(new WebFXMenuItem("Translation strings", "http://localhost/freeside/browse/msgcat.html", "Translations and other customizable labels for each locale" ));
+myMenu62.add(new WebFXMenuItem("Inventory classes and inventory", "http://localhost/freeside/browse/inventory_class.html", "Setup inventory classes and stock inventory" ));
+myMenu62.add(new WebFXMenuItem("Upload targets", "http://localhost/freeside/browse/upload_target.html", "Billing and payment upload destinations" ));
+myMenu62.width = 256;
+
+myMenu45.add(new WebFXMenuItem("Miscellaneous", null, "", myMenu62 ));
+myMenu45.width = 256;
+
+ myBar.add(new WebFXMenuButton('Configuration', null, 'Configuration and setup', myMenu45 ));
+
+
+ var myMenu63 = new WebFXMenu;
+myMenu63.emptyText = '';
+myMenu63.add(new WebFXMenuItem("Billing documentation", "http://www.freeside.biz/mediawiki/index.php/Freeside:3:Documentation", "Freeside documentation" ));
+myMenu63.add(new WebFXMenuItem("Ticketing documentation", "http://wiki.bestpractical.com/", "Request Tracker Wiki" ));
+myMenu63.add(new WebFXMenuSeparator());
+myMenu63.add(new WebFXMenuItem("About Freeside v3.8git", "javascript:about_freeside()", "" ));
+myMenu63.add(new WebFXMenuItem("About RT v4.0.23", "http://www.bestpractical.com/rt", "Request Tracker Homepage" ));
+myMenu63.width = 256;
+
+ myBar.add(new WebFXMenuButton('Help', null, '', myMenu63 ));
+
+
+ myBar.show( null, 'vertical' );
+ myBar.width = 154;
+
+</SCRIPT>
+
+
+
+
+ <SCRIPT TYPE="text/javascript" SRC="http://localhost/freeside/elements/overlibmws.js"></SCRIPT>
+ <SCRIPT TYPE="text/javascript" SRC="http://localhost/freeside/elements/overlibmws_iframe.js"></SCRIPT>
+ <SCRIPT TYPE="text/javascript" SRC="http://localhost/freeside/elements/overlibmws_draggable.js"></SCRIPT>
+ <SCRIPT TYPE="text/javascript" SRC="http://localhost/freeside/elements/overlibmws_crossframe.js"></SCRIPT>
+ <SCRIPT TYPE="text/javascript" SRC="http://localhost/freeside/elements/iframecontentmws.js"></SCRIPT>
+ <SCRIPT TYPE="text/javascript" SRC="http://localhost/freeside/elements/ajaxcontentmws.js"></SCRIPT>
+
+ <SCRIPT TYPE="text/javascript">
+
+ function rs_init_object() {
+ var A;
+ try {
+ A=new ActiveXObject("Msxml2.XMLHTTP");
+ } catch (e) {
+ try {
+ A=new ActiveXObject("Microsoft.XMLHTTP");
+ } catch (oc) {
+ A=null;
+ }
+ }
+ if(!A && typeof XMLHttpRequest != "undefined")
+ A = new XMLHttpRequest();
+ if (!A)
+ alert("Can't create XMLHttpRequest object");
+ return A;
+
+ }
+
+</SCRIPT>
+
+ <SCRIPT TYPE="text/javascript">
+
+ function logout() {
+ // count args; build URL
+ var url = "http://localhost/freeside/loginout/logout.html";
+
+ var xmlhttp = rs_init_object();
+ xmlhttp.open("GET", url, false, "magic", "notyet");
+ xmlhttp.setRequestHeader("If-Modified-Since", "Sat, 1 Jan 2000 00:00:00 GMT");
+ xmlhttp.send(null);
+
+ if (xmlhttp.readyState != 4) {
+ alert("Logout failed: readyState is " + xmlhttp.readyState);
+ return;
+ }
+
+ if (xmlhttp.status != 200) {
+ alert("Logout failed: status is " + xmlhttp.status);
+ } else {
+ var data = xmlhttp.responseText;
+ // alert('received response: ' + data);
+ if ( data.indexOf("<b>System error</b>") > -1 ) {
+ var w;
+ if ( w = window.open("about:blank") ) {
+ w.document.write(data);
+ } else {
+ // popup blocking? should use an overlib popup instead
+ alert("Error popup disabled; try disabling popup blocking to see");
+ }
+ } else {
+ window.location = "http://localhost/freeside/loginout/logout.html";
+ }
+ }
+ }
+
+</SCRIPT>
+
+
+
+
+ </HEAD>
+ <BODY BGCOLOR="#f8f8f8" onUnload="myclose()" STYLE="margin-top:0; margin-bottom:0; margin-left:0px; margin-right:0px">
+ <table width="100%" CELLPADDING=0 CELLSPACING=0 STYLE="padding-left:0px; padding-right:4px" CLASS="fshead">
+ <tr>
+ <td BGCOLOR="#ffffff"><IMG BORDER=0 ALT="freeside" HEIGHT="36" SRC="http://localhost/freeside/view/REAL_logo.cgi"></td>
+ <td align=left BGCOLOR="#ffffff"> <!-- valign="top" -->
+ <font size=6>Freeside Test 3.8.1</font>
+ </td>
+ <td align=right valign=top BGCOLOR="#ffffff"><FONT SIZE="-1">Logged in as <b>test </b> <FONT SIZE="-2"><a href="javascript:void(0);" onClick="logout();">logout</a></FONT><br></FONT><FONT SIZE="-2"><a href="http://localhost/freeside/pref/pref.html" STYLE="color: #000000">Preferences</a>
+ <BR></FONT>
+ </td>
+ </tr>
+ </table>
+
+ <TABLE WIDTH="100%" CELLSPACING=0 CELLPADDING=0>
+
+<link href="http://localhost/freeside/elements/freeside-menu.css" type="text/css" rel="stylesheet">
+
+
+ <TR CLASS="fsmenubar">
+
+
+ <TD COLSPAN="7" WIDTH="100%" STYLE="padding:1px 0px 0px 0px;border-top: 1px solid #7e0079" BGCOLOR="#cccccc">
+ <SCRIPT TYPE="text/javascript">
+ document.write(myBar);
+ </SCRIPT>
+ </TD>
+
+ </TR>
+
+ <TR CLASS="fssearchbar">
+
+ <TD COLSPAN=1 BGCOLOR="#cccccc" ALIGN="right" STYLE="padding-left:2px">
+
+ <FORM ACTION="http://localhost/freeside/search/prospect_main.html" METHOD="GET" STYLE="margin:0">
+ <INPUT NAME="search_prospect" TYPE="text" VALUE="(name, company or phone)" STYLE="width:155px" onFocus="clearhint_search_prospect(this);" onClick="clearhint_search_prospect(this);" CLASS="fstext"><BR>
+ <A HREF="http://localhost/freeside/search/report_prospect_main.html" CLASS="fslink" STYLE="font-size: 11px">Adv</A>
+ <INPUT TYPE="submit" VALUE="Search prospects" CLASS="fsblackbutton" onMouseOver="this.className='fsblackbuttonselected'; return true;" onMouseOut="this.className='fsblackbutton'; return true;" STYLE="font-size:11px;padding-left:1px;padding-right:1px">
+ </FORM>
+
+
+
+<SCRIPT TYPE="text/javascript">
+
+ function clearhint_search_prospect (what) {
+ if ( what.value == '(name, company or phone)' )
+ what.value = '';
+ }
+
+</SCRIPT>
+
+ </TD>
+
+ <TD COLSPAN=1 BGCOLOR="#cccccc" ALIGN="right" STYLE="padding-left:2px">
+
+ <FORM ACTION="http://localhost/freeside/search/cust_main.cgi" METHOD="POST" STYLE="margin:0">
+ <INPUT NAME="search_cust" TYPE="text" VALUE="(cust #, name, company or contact phone)" STYLE="width:246px" onFocus="clearhint_search_cust(this);" onClick="clearhint_search_cust(this);" CLASS="fstext"><BR>
+ <A HREF="http://localhost/freeside/search/report_cust_main.html" CLASS="fslink" STYLE="font-size: 11px">Advanced</A>
+ <INPUT TYPE="submit" VALUE="Search customers" CLASS="fsblackbutton" onMouseOver="this.className='fsblackbuttonselected'; return true;" onMouseOut="this.className='fsblackbutton'; return true;" STYLE="font-size:11px">
+ </FORM>
+
+
+
+<SCRIPT TYPE="text/javascript">
+
+ function clearhint_search_cust (what) {
+ if ( what.value == '(cust #, name, company or contact phone)' )
+ what.value = '';
+ }
+
+</SCRIPT>
+
+ </TD>
+
+ <TD COLSPAN=1 BGCOLOR="#cccccc" ALIGN="center">
+
+<SCRIPT TYPE="text/javascript">
+
+ function clearhint_search_address2 (what) {
+ if ( what.value == '(Unit #)' )
+ what.value = '';
+ }
+
+</SCRIPT>
+
+ </TD>
+
+ <TD COLSPAN=1 BGCOLOR="#cccccc" ALIGN="right">
+
+ <FORM ACTION="http://localhost/freeside/search/cust_bill.html" METHOD="GET" STYLE="margin:0;display:inline">
+ <INPUT NAME="invnum" TYPE="text" VALUE="(inv #)" STYLE="width:56px" onFocus="clearhint_search_invoice(this);" onClick="clearhint_search_invoice(this);" CLASS="fstext">
+ <A HREF="http://localhost/freeside/search/report_cust_bill.html" CLASS="fslink" STYLE="font-size: 11px">Adv</A> <BR>
+ <INPUT TYPE="submit" VALUE="Search invoices" CLASS="fsblackbutton" onMouseOver="this.className='fsblackbuttonselected'; return true;" onMouseOut="this.className='fsblackbutton'; return true;" STYLE="font-size:11px;padding-left:1px;padding-right:1px;margin-top:3px">
+ </FORM>
+
+
+
+<SCRIPT TYPE="text/javascript">
+
+ function clearhint_search_invoice (what) {
+ if ( what.value == '(inv #)' )
+ what.value = '';
+ }
+
+</SCRIPT>
+
+ </TD>
+
+ <TD COLSPAN=1 BGCOLOR="#cccccc" ALIGN="right" STYLE="padding-left:2px">
+
+ <FORM ACTION="http://localhost/freeside/search/cust_svc.html" METHOD="GET" STYLE="margin:0">
+ <INPUT NAME="search_svc" TYPE="text" VALUE="(user, email, ip, mac, domain or service phone)" STYLE="width:271px" onFocus="clearhint_search_svc(this);" onClick="clearhint_search_svc(this);" CLASS="fstext"><BR>
+ <A NOTYET="http://localhost/freeside/search/svc_Smarter.html" STYLE="color: #cccccc; font-size:11px">Advanced</A>
+ <INPUT TYPE="submit" VALUE="Search services" CLASS="fsblackbutton" onMouseOver="this.className='fsblackbuttonselected'; return true;" onMouseOut="this.className='fsblackbutton'; return true;" STYLE="font-size:11px">
+ </FORM>
+
+
+
+<SCRIPT TYPE="text/javascript">
+
+ function clearhint_search_svc (what) {
+ if ( what.value == '(user, email, ip, mac, domain or service phone)' )
+ what.value = '';
+ }
+
+</SCRIPT>
+
+ </TD>
+
+ <TD COLSPAN=1 BGCOLOR="#cccccc" ALIGN="right" STYLE="padding-left:2px;padding-right:2px">
+
+ <FORM ACTION="http://localhost/freeside//rt/index.html" METHOD="GET" STYLE="margin:0">
+ <INPUT NAME="q" TYPE="text" VALUE="(ticket #, subject, email or fulltext:text)" STYLE="width:223px" onFocus="clearhint_search_ticket(this);" onClick="clearhint_search_ticket(this);" CLASS="fstext"><BR>
+ <A HREF="http://localhost/freeside//rt/Search/Build.html?NewQuery=1" CLASS="fslink" STYLE="font-size:11px">Advanced</A>
+ <INPUT TYPE="submit" VALUE="Search tickets" CLASS="fsblackbutton" onMouseOver="this.className='fsblackbuttonselected'; return true;" onMouseOut="this.className='fsblackbutton'; return true;" STYLE="font-size:11px">
+ </FORM>
+
+
+
+<SCRIPT TYPE="text/javascript">
+
+ function clearhint_search_ticket (what) {
+ if ( what.value == '(ticket #, subject, email or fulltext:text)' )
+ what.value = '';
+ }
+
+</SCRIPT>
+
+ </TD>
+
+ </TR>
+ </TABLE>
+
+
+
+ <TABLE WIDTH="100%" HEIGHT="100%" CELLSPACING=0 CELLPADDING=4>
+
+ <TR HEIGHT="100%">
+
+ <TD CLASS="background" HEIGHT="100%" VALIGN="top"> <!-- WIDTH="100%"> -->
+
+ <FONT SIZE=6>
+ Edit Customer: Olson Inc (Towne, Samara)
+ </FONT>
+
+ <BR><BR>
+
+
+
+
+
+
+<FORM NAME = "CustomerForm"
+ METHOD = "POST"
+ ACTION = "http://localhost/freeside/edit/process/cust_main.cgi"
+>
+
+<INPUT TYPE="hidden" NAME="custnum" VALUE="135">
+<INPUT TYPE="hidden" NAME="prospectnum" VALUE="">
+
+ Customer #<B>135</B> -
+ <B><FONT COLOR="#00CC00">
+ Active
+ </FONT></B>
+ <BR><BR>
+
+<FONT CLASS="fsinnerbox-title">Basics</FONT>
+<TABLE CLASS="fsinnerbox">
+
+<TR>
+ <TD ALIGN="right">Residential</TD>
+ <TD><INPUT TYPE = "radio"
+ NAME = "residential_commercial"
+ ID = "residential_commercial_Residential"
+ VALUE = "Residential"
+ onChange = "rescom_changed(this)"
+
+ ></TD>
+</TR>
+<TR>
+ <TD ALIGN="right">Commercial</TD>
+ <TD><INPUT TYPE = "radio"
+ NAME = "residential_commercial"
+ ID = "residential_commercial_Commercial"
+ VALUE = "Commercial"
+ onChange = "rescom_changed(this)"
+ CHECKED
+ ></TD>
+</TR>
+
+<SCRIPT TYPE="text/javascript">
+
+ function rescom_changed(what) {
+ if ( what.checked == (what.value == 'Commercial' ) ) {
+ document.getElementById('company_row').style.display = '';
+ document.getElementById('contacts_div').style.display = '';
+ document.getElementById('spouse_row').style.display = 'none';
+ } else {
+ if ( document.getElementById('company').value.length == 0 ) {
+ document.getElementById('company_row').style.display = 'none';
+ }
+ document.getElementById('contacts_div').style.display = 'none';
+ document.getElementById('spouse_row').style.display = '';
+ }
+ }
+
+
+ var ship_locked_agents = {};
+ var ship_fields = [
+ 'locationname', 'address1', 'city', 'state', 'zip', 'country',
+ 'latitude', 'longitude', 'district'
+ ];
+
+ function agent_changed(what) {
+ var agentnum = what.value;
+
+
+ var f = what.form;
+ if ( ship_locked_agents[agentnum] ) {
+ for(var x in ship_locked_agents[agentnum]) {
+ f['ship_'+x].value = ship_locked_agents[agentnum][x];
+ f['ship_'+x].disabled = true;
+ }
+ f['same'].checked = false;
+ f['same'].disabled = true;
+ } else {
+ for(var i=0; i<ship_fields.length; i++) {
+ x = ship_fields[i];
+ if ( f['ship_'+x].disabled ) {
+ f['ship_'+x].value = f['old_ship_'+x].value;
+ }
+ f['ship_'+x].disabled = false;
+ }
+ f['same'].disabled = false;
+ }
+ samechanged(f['same']);
+
+ salesnum_agentnum_changed(what);
+
+ }
+
+ (function() {
+ var myonload = function() {
+
+ rescom_changed(document.getElementById('residential_commercial_Residential'));
+ agent_changed(document.getElementById('agentnum'))
+
+ }
+ if ( window.addEventListener ) {
+ window.addEventListener('load', myonload);
+ } else if ( window.attachEvent ) {
+ window.attachEvent('onload', myonload);
+ }
+})();
+
+
+</SCRIPT>
+
+
+
+
+
+
+
+
+ <INPUT TYPE = "hidden"
+ NAME = "agentnum"
+ ID = "agentnum"
+ VALUE = "1"
+ >
+
+ <TR>
+ </TR>
+
+
+
+
+
+ <INPUT TYPE="hidden" NAME="agent_custid" VALUE="">
+
+
+
+ <INPUT TYPE="hidden" NAME="classnum" VALUE="">
+
+
+
+
+
+ <INPUT TYPE = "hidden"
+ NAME = "salesnum"
+ ID = "salesnum"
+ VALUE = ""
+ >
+
+ <TR>
+ </TR>
+
+<SCRIPT TYPE="text/javascript">
+
+ function rs_init_object() {
+ var A;
+ try {
+ A=new ActiveXObject("Msxml2.XMLHTTP");
+ } catch (e) {
+ try {
+ A=new ActiveXObject("Microsoft.XMLHTTP");
+ } catch (oc) {
+ A=null;
+ }
+ }
+ if(!A && typeof XMLHttpRequest != "undefined")
+ A = new XMLHttpRequest();
+ if (!A)
+ alert("Can't create XMLHttpRequest object");
+ return A;
+
+ }
+
+</SCRIPT>
+
+
+<SCRIPT TYPE="text/javascript">
+
+
+ function get_sales() {
+ // count args; build URL
+ var url = "http://localhost/freeside/misc/sales.cgi?";
+ var a = get_sales.arguments;
+
+ var args;
+ var len;
+ var content = 'sub=get_sales';
+ if ( a && typeof a == 'object' && a[0].constructor == Array ) {
+ args = a[0];
+ len = args.length
+ } else {
+ args = a;
+ len = args.length - 1;
+ }
+ for (var i = 0; i < len; i++)
+ content = content + "&arg=" + escape(args[i]);
+ content = content.replace( /[+]/g, '%2B'); // fix unescaped plus signs
+
+ if ( 'GET' == 'GET' ) {
+ url = url + content;
+ }
+
+ //alert('GET ' + url);
+
+ var xmlhttp = rs_init_object();
+ xmlhttp.open("GET", url, true);
+
+ xmlhttp.onreadystatechange = function() {
+ if (xmlhttp.readyState != 4)
+ return;
+
+ if (xmlhttp.status != 200) {
+ if ( xmlhttp.status != 0 ) {
+ //not warning on the 0 errors, they pop up when navagating away
+ // from the page
+ alert(xmlhttp.status + " status connecting to " + url);
+ }
+ } else {
+ var data = xmlhttp.responseText;
+ //alert('received response: ' + data);
+ if ( data.indexOf("<b>System error</b>") > -1 ) {
+ // trim this a little
+ var end = data.indexOf('<a href="#raw">') - 1;
+ data = data.substring(0, end);
+
+ overlib(data,
+ WIDTH, 480, MIDX, 0, MIDY, 0,
+ CAPTION, 'Error', STICKY, AUTOSTATUSCAP, DRAGGABLE,
+ CLOSECLICK, BGCOLOR, '#f00', CGCOLOR, '#f00'
+ );
+ //var w;
+ //if ( w = window.open("about:blank") ) {
+ // w.document.write(data);
+ //} else {
+ // // popup blocking? should use an overlib popup instead
+ // alert("Error popup disabled; try disabling popup blocking to see");
+ //}
+ } else {
+ // invoke the callback
+ a[a.length-1](data);
+ }
+ }
+ }
+
+ if ( 'GET' == 'POST' ) {
+
+ xmlhttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
+ xmlhttp.send(content);
+
+ } else {
+
+ xmlhttp.setRequestHeader("If-Modified-Since", "Sat, 1 Jan 2000 00:00:00 GMT");
+ xmlhttp.send(null);
+
+ }
+
+ //rs_debug("x_$func_name url = " + url);
+ //rs_debug("x_$func_name waiting..");
+ }
+
+
+</SCRIPT>
+
+<SCRIPT TYPE="text/javascript">
+
+
+ function salesnum_opt(what, value, text) {
+ var optionName = new Option(text, value, false, false);
+ var length = what.length;
+ what.options[length] = optionName;
+ }
+
+ function salesnum_agentnum_changed(what) {
+ what.form.salesnum.disabled = 'disabled'; //disable sales dropdown
+
+ if ( what.type == 'hidden' ) {
+ agentnum = what.value;
+ } else {
+ agentnum = what.options[what.selectedIndex].value;
+ }
+
+ function update_salesnum(sales) {
+
+ if ( what.form.salesnum.type == 'hidden' ) {
+ what.form.salesnum.disabled = ''; //re-enable sales dropdown
+ return;
+ }
+
+ // save the current salesnum
+ var salesnum = what.form.salesnum.value;
+
+ // blank the current sales people
+ for ( var i = what.form.salesnum.length; i>= 0; i-- )
+ what.form.salesnum.options[i] = null;
+
+ // add the new sales people
+
+
+ salesnum_opt( what.form.salesnum,
+ '',
+ '(none)'
+ );
+
+ var salesArray = eval('(' + sales + ')' );
+ for ( var s = 0; s < salesArray.length; s=s+2 ) {
+ //surely this should be some kind of JSON structure
+ var salesLabel = salesArray[s+1];
+ salesnum_opt( what.form.salesnum, salesArray[s], salesLabel );
+ }
+
+ what.form.salesnum.disabled = ''; //re-enable sales dropdown
+
+ //restore salesnum if possible
+ what.form.salesnum.value = salesnum;
+
+ }
+
+ get_sales( agentnum,
+ update_salesnum
+ );
+ }
+
+ (function() {
+ var myonload = function() {
+
+ salesnum_agentnum_changed(document.getElementById('agentnum'));
+
+ }
+ if ( window.addEventListener ) {
+ window.addEventListener('load', myonload);
+ } else if ( window.attachEvent ) {
+ window.attachEvent('onload', myonload);
+ }
+})();
+
+
+</SCRIPT>
+
+
+
+
+ <INPUT TYPE="hidden" NAME="refnum" VALUE="1">
+
+
+
+
+ <TR>
+ <TD ALIGN="right">Referring customer</TD>
+ <TD>
+ <INPUT TYPE="hidden" NAME="referral_custnum" ID="referral_custnum" VALUE="">
+
+<!-- some false laziness w/ misc/batch-cust_pay.html, though not as bad as i'd thought at first... -->
+
+<INPUT TYPE = "text"
+ NAME = "referral_custnum_search"
+ ID = "referral_custnum_search"
+ SIZE = "32"
+ VALUE="(cust #, name or company)"
+ onFocus="clearhint_referral_custnum_search(this);"
+ onClick="clearhint_referral_custnum_search(this);"
+ onChange="smart_referral_custnum_search(this);"
+>
+
+
+<SELECT NAME="referral_custnum_select" ID="referral_custnum_select" STYLE="color:#ff0000; display:none" onChange="select_referral_custnum(this);">
+</SELECT>
+
+<SCRIPT TYPE="text/javascript">
+
+ function rs_init_object() {
+ var A;
+ try {
+ A=new ActiveXObject("Msxml2.XMLHTTP");
+ } catch (e) {
+ try {
+ A=new ActiveXObject("Microsoft.XMLHTTP");
+ } catch (oc) {
+ A=null;
+ }
+ }
+ if(!A && typeof XMLHttpRequest != "undefined")
+ A = new XMLHttpRequest();
+ if (!A)
+ alert("Can't create XMLHttpRequest object");
+ return A;
+
+ }
+
+</SCRIPT>
+
+
+<SCRIPT TYPE="text/javascript">
+
+
+ function smart_search() {
+ // count args; build URL
+ var url = "http://localhost/freeside/misc/xmlhttp-cust_main-search.cgi?";
+ var a = smart_search.arguments;
+
+ var args;
+ var len;
+ var content = 'sub=smart_search';
+ if ( a && typeof a == 'object' && a[0].constructor == Array ) {
+ args = a[0];
+ len = args.length
+ } else {
+ args = a;
+ len = args.length - 1;
+ }
+ for (var i = 0; i < len; i++)
+ content = content + "&arg=" + escape(args[i]);
+ content = content.replace( /[+]/g, '%2B'); // fix unescaped plus signs
+
+ if ( 'GET' == 'GET' ) {
+ url = url + content;
+ }
+
+ //alert('GET ' + url);
+
+ var xmlhttp = rs_init_object();
+ xmlhttp.open("GET", url, true);
+
+ xmlhttp.onreadystatechange = function() {
+ if (xmlhttp.readyState != 4)
+ return;
+
+ if (xmlhttp.status != 200) {
+ if ( xmlhttp.status != 0 ) {
+ //not warning on the 0 errors, they pop up when navagating away
+ // from the page
+ alert(xmlhttp.status + " status connecting to " + url);
+ }
+ } else {
+ var data = xmlhttp.responseText;
+ //alert('received response: ' + data);
+ if ( data.indexOf("<b>System error</b>") > -1 ) {
+ // trim this a little
+ var end = data.indexOf('<a href="#raw">') - 1;
+ data = data.substring(0, end);
+
+ overlib(data,
+ WIDTH, 480, MIDX, 0, MIDY, 0,
+ CAPTION, 'Error', STICKY, AUTOSTATUSCAP, DRAGGABLE,
+ CLOSECLICK, BGCOLOR, '#f00', CGCOLOR, '#f00'
+ );
+ //var w;
+ //if ( w = window.open("about:blank") ) {
+ // w.document.write(data);
+ //} else {
+ // // popup blocking? should use an overlib popup instead
+ // alert("Error popup disabled; try disabling popup blocking to see");
+ //}
+ } else {
+ // invoke the callback
+ a[a.length-1](data);
+ }
+ }
+ }
+
+ if ( 'GET' == 'POST' ) {
+
+ xmlhttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
+ xmlhttp.send(content);
+
+ } else {
+
+ xmlhttp.setRequestHeader("If-Modified-Since", "Sat, 1 Jan 2000 00:00:00 GMT");
+ xmlhttp.send(null);
+
+ }
+
+ //rs_debug("x_$func_name url = " + url);
+ //rs_debug("x_$func_name waiting..");
+ }
+
+
+</SCRIPT>
+
+
+<SCRIPT TYPE="text/javascript">
+
+ function clearhint_referral_custnum_search (what) {
+
+ what.style.color = '#000000';
+
+ if ( what.value == '(cust #, name or company)' )
+ what.value = '';
+
+ if ( what.value.indexOf('Customer not found: ') == 0 )
+ what.value = what.value.substr(20);
+
+ }
+
+ var referral_custnum_search_active = false;
+
+ function smart_referral_custnum_search(what) {
+
+ if ( referral_custnum_search_active )
+ return;
+
+ var customer = what.value;
+
+ if ( customer == 'searching...' || customer == ''
+ || customer.indexOf('Customer not found: ') == 0 )
+ return;
+
+ if ( what.getAttribute('magic') == 'nosearch' ) {
+ what.setAttribute('magic', '');
+ return;
+ }
+
+ //what.value = 'searching...'
+ what.disabled = true;
+ what.style.color= '#000000';
+ what.style.backgroundColor = '#dddddd';
+
+ var customer_select = document.getElementById('referral_custnum_select');
+
+ //alert("search for customer " + customer);
+
+ function referral_custnum_search_update(customers) {
+
+ //alert('customers returned: ' + customers);
+
+ var customerArray = eval('(' + customers + ')');
+
+ what.disabled = false;
+ what.style.backgroundColor = '#ffffff';
+
+ if ( customerArray.length == 0 ) {
+
+ what.form.referral_custnum.value = '';
+
+ what.value = 'Customer not found: ' + what.value;
+ what.style.color = '#ff0000';
+
+ what.style.display = '';
+ customer_select.style.display = 'none';
+
+ } else if ( customerArray.length == 1 ) {
+
+ //alert('one customer found: ' + customerArray[0]);
+
+ what.form.referral_custnum.value = customerArray[0][0];
+ what.value = customerArray[0][1];
+
+ what.style.display = '';
+ customer_select.style.display = 'none';
+
+ } else {
+
+ //alert('multiple customers found, have to create select dropdown');
+
+ //blank the current list
+ for ( var i = customer_select.length; i >= 0; i-- )
+ customer_select.options[i] = null;
+
+ opt(customer_select, '', 'Multiple customers match "' + customer + '" - select one', '#ff0000');
+
+ //add the multiple customers
+ for ( var s = 0; s < customerArray.length; s++ )
+ opt(customer_select, customerArray[s][0], customerArray[s][1], '#000000');
+
+ opt(customer_select, 'cancel', '(Edit search string)', '#000000');
+
+ what.style.display = 'none';
+ customer_select.style.display = '';
+
+ }
+
+ referral_custnum_search_active = false;
+
+ }
+
+ referral_custnum_search_active = true;
+
+ smart_search( customer, referral_custnum_search_update );
+
+
+ }
+
+ function select_referral_custnum (what) {
+
+ var custnum = what.options[what.selectedIndex].value;
+ var customer = what.options[what.selectedIndex].text;
+
+ var customer_obj = document.getElementById('referral_custnum_search');
+
+ if ( custnum == '' ) {
+ //what.style.color = '#ff0000';
+
+ } else if ( custnum == 'cancel' ) {
+
+ customer_obj.style.color = '#000000';
+
+ what.style.display = 'none';
+ customer_obj.style.display = '';
+ customer_obj.focus();
+
+ } else {
+
+ what.form.referral_custnum.value = custnum;
+
+ customer_obj.value = customer;
+ customer_obj.style.color = '#000000';
+
+ what.style.display = 'none';
+ customer_obj.style.display = '';
+
+ }
+
+ }
+
+ function opt(what,value,text,color) {
+ var optionName = new Option(text, value, false, false);
+ optionName.style.color = color;
+ var length = what.length;
+ what.options[length] = optionName;
+ }
+
+</SCRIPT>
+
+ </TD>
+ </TR>
+
+
+
+ <INPUT TYPE="hidden" NAME="edit_subject" VALUE="">
+
+ <INPUT TYPE="hidden" NAME="calling_list_exempt" VALUE="">
+
+</TABLE>
+
+
+
+<BR>
+<TABLE> <TR>
+ <TD STYLE="width:650px">
+ <FONT CLASS="fsinnerbox-title">Billing address</FONT>
+ <TABLE CLASS="fsinnerbox" WIDTH="100%">
+
+<TR>
+ <TD CLASS="required label">Contact name</TD>
+ <TD COLSPAN=6 STYLE="vertical-align:top">
+
+<DIV STYLE="display: inline-block">
+ <INPUT TYPE="text" NAME="last" VALUE="Towne" ,>
+ <BR><FONT SIZE=-1>Last</FONT>
+</DIV>
+
+
+<DIV STYLE="display: inline-block">
+ <INPUT TYPE="text" NAME="first" VALUE="Samara" >
+ <BR><FONT SIZE=-1>First</FONT>
+</DIV>
+
+ <INPUT TYPE="hidden" NAME="ss" VALUE="">
+ </TD>
+</TR>
+
+
+ <TR ID="company_row" >
+ <TD ALIGN="right">Company</TD>
+ <TD COLSPAN=6><INPUT TYPE="text" NAME="company" ID="company" SIZE=60
+ VALUE="Olson Inc">
+ </TD>
+</TR>
+
+
+
+
+ <INPUT TYPE = "hidden"
+ NAME = "bill_locationname"
+ ID = "bill_locationname"
+ VALUE = ""
+>
+
+
+
+
+<TR>
+ <TH STYLE="width:16ex" ALIGN="right"><font color="#ff0000">*</font> Address</TH>
+ <TD COLSPAN=7>
+ <INPUT TYPE = "text"
+ NAME = "bill_address1"
+ ID = "bill_address1"
+ VALUE = "46706 Kadin Hill #780"
+ SIZE = 54
+ onChange = ""
+
+
+ >
+ </TD>
+</TR>
+
+
+<TR>
+ <TD ALIGN="right"><FONT ID="bill_address2_required" color="#ff0000" STYLE="visibility:hidden">*</FONT> <FONT ID="bill_address2_label" STYLE="visibility:hidden"><B>Unit #</B></FONT></TD>
+ <TD COLSPAN=7>
+ <INPUT TYPE = "text"
+ NAME = "bill_address2"
+ ID = "bill_address2"
+ VALUE = "Trailer W 2-E"
+ SIZE = 54
+ onChange = ""
+
+
+ >
+ </TD>
+</TR>
+
+
+
+<TR>
+ <TH ALIGN="right">
+ <font color="#ff0000">*</font> City
+ </TH>
+ <TD WIDTH="1">
+
+
+<SCRIPT TYPE="text/javascript">
+
+ function rs_init_object() {
+ var A;
+ try {
+ A=new ActiveXObject("Msxml2.XMLHTTP");
+ } catch (e) {
+ try {
+ A=new ActiveXObject("Microsoft.XMLHTTP");
+ } catch (oc) {
+ A=null;
+ }
+ }
+ if(!A && typeof XMLHttpRequest != "undefined")
+ A = new XMLHttpRequest();
+ if (!A)
+ alert("Can't create XMLHttpRequest object");
+ return A;
+
+ }
+
+</SCRIPT>
+
+
+<SCRIPT TYPE="text/javascript">
+
+
+ function bill_get_cities() {
+ // count args; build URL
+ var url = "http://localhost/freeside/misc/cities.cgi?";
+ var a = bill_get_cities.arguments;
+
+ var args;
+ var len;
+ var content = 'sub=bill_get_cities';
+ if ( a && typeof a == 'object' && a[0].constructor == Array ) {
+ args = a[0];
+ len = args.length
+ } else {
+ args = a;
+ len = args.length - 1;
+ }
+ for (var i = 0; i < len; i++)
+ content = content + "&arg=" + escape(args[i]);
+ content = content.replace( /[+]/g, '%2B'); // fix unescaped plus signs
+
+ if ( 'GET' == 'GET' ) {
+ url = url + content;
+ }
+
+ //alert('GET ' + url);
+
+ var xmlhttp = rs_init_object();
+ xmlhttp.open("GET", url, true);
+
+ xmlhttp.onreadystatechange = function() {
+ if (xmlhttp.readyState != 4)
+ return;
+
+ if (xmlhttp.status != 200) {
+ if ( xmlhttp.status != 0 ) {
+ //not warning on the 0 errors, they pop up when navagating away
+ // from the page
+ alert(xmlhttp.status + " status connecting to " + url);
+ }
+ } else {
+ var data = xmlhttp.responseText;
+ //alert('received response: ' + data);
+ if ( data.indexOf("<b>System error</b>") > -1 ) {
+ // trim this a little
+ var end = data.indexOf('<a href="#raw">') - 1;
+ data = data.substring(0, end);
+
+ overlib(data,
+ WIDTH, 480, MIDX, 0, MIDY, 0,
+ CAPTION, 'Error', STICKY, AUTOSTATUSCAP, DRAGGABLE,
+ CLOSECLICK, BGCOLOR, '#f00', CGCOLOR, '#f00'
+ );
+ //var w;
+ //if ( w = window.open("about:blank") ) {
+ // w.document.write(data);
+ //} else {
+ // // popup blocking? should use an overlib popup instead
+ // alert("Error popup disabled; try disabling popup blocking to see");
+ //}
+ } else {
+ // invoke the callback
+ a[a.length-1](data);
+ }
+ }
+ }
+
+ if ( 'GET' == 'POST' ) {
+
+ xmlhttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
+ xmlhttp.send(content);
+
+ } else {
+
+ xmlhttp.setRequestHeader("If-Modified-Since", "Sat, 1 Jan 2000 00:00:00 GMT");
+ xmlhttp.send(null);
+
+ }
+
+ //rs_debug("x_$func_name url = " + url);
+ //rs_debug("x_$func_name waiting..");
+ }
+
+
+</SCRIPT>
+
+
+<SCRIPT TYPE="text/javascript">
+
+ function opt(what,value,text) {
+ var optionName = new Option(text, value, false, false);
+ var length = what.length;
+ what.options[length] = optionName;
+ }
+
+ var saved_bill_city= 'Owensboro';
+
+ function bill_county_changed(what, callback) {
+
+ what.form.bill_city_select.disabled = 'disabled';
+
+ county = what.options[what.selectedIndex].value;
+ state = what.form.bill_state.options[what.form.bill_state.selectedIndex].value;
+ country = what.form.bill_country.options[what.form.bill_country.selectedIndex].value;
+
+ function bill_update_cities(cities) {
+
+ // blank the current city list
+ for ( var i = what.form.bill_city_select.length; i >= 0; i-- )
+ what.form.bill_city_select.options[i] = null;
+
+
+ // add the new cities
+ var citiesArray = eval('(' + cities + ')' );
+
+ for ( var s = 0; s < citiesArray.length; s++ ) {
+ var cityLabel = citiesArray[s];
+ if ( cityLabel == "" )
+ cityLabel = '(n/a)';
+ opt(what.form.bill_city_select, citiesArray[s], cityLabel);
+ }
+
+ if ( citiesArray.length > 1 || (citiesArray[0] && citiesArray[0].length) ){
+ // turn off the text city, turn on the select
+ saved_bill_city = what.form.bill_city.value;
+ bill_city_select_changed(what.form.bill_city_select);
+ what.form.bill_city.style.display = 'none';
+ what.form.bill_city_select.style.display = '';
+ } else if ( what.form.bill_city.style.display == 'none' ) {
+ // turn on the text city, turn off the select
+ what.form.bill_city.value = saved_bill_city;
+ what.form.bill_city.style.display = '';
+ what.form.bill_city_select.style.display = 'none';
+ }
+
+ what.form.bill_city_select.disabled = '';
+
+ //run the callback
+ if ( callback != null )
+ callback();
+ }
+
+ // go get the new cities
+ bill_get_cities( county, state, country, bill_update_cities );
+
+ }
+
+ function bill_city_select_changed(what) {
+ what.form.bill_city.value = what.options[what.selectedIndex].value;
+ }
+
+</SCRIPT>
+
+
+<INPUT TYPE = "text"
+ NAME = "bill_city"
+ ID = "bill_city"
+ VALUE = "Owensboro"
+ onChange = ""
+
+
+>
+
+
+ <SELECT NAME = "bill_city_select"
+ ID = "bill_city_select"
+ onChange = "bill_city_select_changed(this); "
+
+ STYLE="display:none"
+ >
+
+
+
+ <OPTION VALUE=""
+
+ >
+
+
+ </SELECT>
+
+</TD>
+ <TH ALIGN="right" WIDTH="1" ID="bill_countylabel" STYLE="display:none"><font color="#ff0000">*</font> County</TH>
+ <TD WIDTH="1">
+ <SCRIPT TYPE="text/javascript">
+ function bill_state_changed(what) {
+ }
+ </SCRIPT>
+
+ <SELECT NAME = "bill_county"
+ ID = "bill_county"
+ STYLE = "display:none"
+ >
+ <OPTION SELECTED VALUE="">
+ </SELECT>
+
+
+</TD>
+ <TH ALIGN="right" WIDTH="1"><font color="#ff0000">*</font> State</TH>
+ <TD WIDTH="1">
+
+<SELECT NAME = "bill_state"
+ ID = "bill_state"
+ onChange = "bill_state_changed(this); "
+
+
+>
+
+
+
+ <OPTION VALUE="AK">AK
+
+
+ <OPTION VALUE="AL">AL
+
+
+ <OPTION VALUE="AR">AR
+
+
+ <OPTION VALUE="AS">AS
+
+
+ <OPTION VALUE="AZ">AZ
+
+
+ <OPTION VALUE="CA">CA
+
+
+ <OPTION VALUE="CO">CO
+
+
+ <OPTION VALUE="CT">CT
+
+
+ <OPTION VALUE="DC">DC
+
+
+ <OPTION VALUE="DE">DE
+
+
+ <OPTION VALUE="FL">FL
+
+
+ <OPTION VALUE="GA">GA
+
+
+ <OPTION VALUE="GU">GU
+
+
+ <OPTION VALUE="HI">HI
+
+
+ <OPTION VALUE="IA">IA
+
+
+ <OPTION VALUE="ID">ID
+
+
+ <OPTION VALUE="IL">IL
+
+
+ <OPTION VALUE="IN">IN
+
+
+ <OPTION VALUE="KS" SELECTED>KS
+
+
+ <OPTION VALUE="KY">KY
+
+
+ <OPTION VALUE="LA">LA
+
+
+ <OPTION VALUE="MA">MA
+
+
+ <OPTION VALUE="MD">MD
+
+
+ <OPTION VALUE="ME">ME
+
+
+ <OPTION VALUE="MI">MI
+
+
+ <OPTION VALUE="MN">MN
+
+
+ <OPTION VALUE="MO">MO
+
+
+ <OPTION VALUE="MP">MP
+
+
+ <OPTION VALUE="MS">MS
+
+
+ <OPTION VALUE="MT">MT
+
+
+ <OPTION VALUE="NC">NC
+
+
+ <OPTION VALUE="ND">ND
+
+
+ <OPTION VALUE="NE">NE
+
+
+ <OPTION VALUE="NH">NH
+
+
+ <OPTION VALUE="NJ">NJ
+
+
+ <OPTION VALUE="NM">NM
+
+
+ <OPTION VALUE="NV">NV
+
+
+ <OPTION VALUE="NY">NY
+
+
+ <OPTION VALUE="OH">OH
+
+
+ <OPTION VALUE="OK">OK
+
+
+ <OPTION VALUE="OR">OR
+
+
+ <OPTION VALUE="PA">PA
+
+
+ <OPTION VALUE="PR">PR
+
+
+ <OPTION VALUE="RI">RI
+
+
+ <OPTION VALUE="SC">SC
+
+
+ <OPTION VALUE="SD">SD
+
+
+ <OPTION VALUE="TN">TN
+
+
+ <OPTION VALUE="TX">TX
+
+
+ <OPTION VALUE="UM">UM
+
+
+ <OPTION VALUE="UT">UT
+
+
+ <OPTION VALUE="VA">VA
+
+
+ <OPTION VALUE="VI">VI
+
+
+ <OPTION VALUE="VT">VT
+
+
+ <OPTION VALUE="WA">WA
+
+
+ <OPTION VALUE="WI">WI
+
+
+ <OPTION VALUE="WV">WV
+
+
+ <OPTION VALUE="WY">WY
+
+
+
+</SELECT>
+
+
+
+ </TD>
+ <TH ALIGN="right" WIDTH="1"><font color="#ff0000">*</font> Zip</TH>
+ <TD>
+ <INPUT TYPE = "text"
+ NAME = "bill_zip"
+ ID = "bill_zip"
+ VALUE = "69113"
+ SIZE = 11
+ onChange = ""
+
+
+ >
+ </TD>
+</TR>
+
+<TR>
+ <TH ALIGN="right"><font color="#ff0000">*</font> Country</TH>
+ <TD COLSPAN=6>
+ <SCRIPT TYPE="text/javascript">
+
+ function rs_init_object() {
+ var A;
+ try {
+ A=new ActiveXObject("Msxml2.XMLHTTP");
+ } catch (e) {
+ try {
+ A=new ActiveXObject("Microsoft.XMLHTTP");
+ } catch (oc) {
+ A=null;
+ }
+ }
+ if(!A && typeof XMLHttpRequest != "undefined")
+ A = new XMLHttpRequest();
+ if (!A)
+ alert("Can't create XMLHttpRequest object");
+ return A;
+
+ }
+
+</SCRIPT>
+
+
+<SCRIPT TYPE="text/javascript">
+
+
+ function bill_get_states() {
+ // count args; build URL
+ var url = "http://localhost/freeside/misc/states.cgi?";
+ var a = bill_get_states.arguments;
+
+ var args;
+ var len;
+ var content = 'sub=bill_get_states';
+ if ( a && typeof a == 'object' && a[0].constructor == Array ) {
+ args = a[0];
+ len = args.length
+ } else {
+ args = a;
+ len = args.length - 1;
+ }
+ for (var i = 0; i < len; i++)
+ content = content + "&arg=" + escape(args[i]);
+ content = content.replace( /[+]/g, '%2B'); // fix unescaped plus signs
+
+ if ( 'GET' == 'GET' ) {
+ url = url + content;
+ }
+
+ //alert('GET ' + url);
+
+ var xmlhttp = rs_init_object();
+ xmlhttp.open("GET", url, true);
+
+ xmlhttp.onreadystatechange = function() {
+ if (xmlhttp.readyState != 4)
+ return;
+
+ if (xmlhttp.status != 200) {
+ if ( xmlhttp.status != 0 ) {
+ //not warning on the 0 errors, they pop up when navagating away
+ // from the page
+ alert(xmlhttp.status + " status connecting to " + url);
+ }
+ } else {
+ var data = xmlhttp.responseText;
+ //alert('received response: ' + data);
+ if ( data.indexOf("<b>System error</b>") > -1 ) {
+ // trim this a little
+ var end = data.indexOf('<a href="#raw">') - 1;
+ data = data.substring(0, end);
+
+ overlib(data,
+ WIDTH, 480, MIDX, 0, MIDY, 0,
+ CAPTION, 'Error', STICKY, AUTOSTATUSCAP, DRAGGABLE,
+ CLOSECLICK, BGCOLOR, '#f00', CGCOLOR, '#f00'
+ );
+ //var w;
+ //if ( w = window.open("about:blank") ) {
+ // w.document.write(data);
+ //} else {
+ // // popup blocking? should use an overlib popup instead
+ // alert("Error popup disabled; try disabling popup blocking to see");
+ //}
+ } else {
+ // invoke the callback
+ a[a.length-1](data);
+ }
+ }
+ }
+
+ if ( 'GET' == 'POST' ) {
+
+ xmlhttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
+ xmlhttp.send(content);
+
+ } else {
+
+ xmlhttp.setRequestHeader("If-Modified-Since", "Sat, 1 Jan 2000 00:00:00 GMT");
+ xmlhttp.send(null);
+
+ }
+
+ //rs_debug("x_$func_name url = " + url);
+ //rs_debug("x_$func_name waiting..");
+ }
+
+
+</SCRIPT>
+
+
+ <SCRIPT TYPE="text/javascript">
+
+ function opt(what,value,text) {
+ var optionName = new Option(text, value, false, false);
+ var length = what.length;
+ what.options[length] = optionName;
+ }
+
+ function bill_country_changed(what, callback) {
+
+ what.form.bill_state.disabled = 'disabled';
+
+ country = what.options[what.selectedIndex].value;
+
+ function bill_update_states(states) {
+
+ // blank the current state list
+ for ( var i = what.form.bill_state.length; i >= 0; i-- )
+ what.form.bill_state.options[i] = null;
+
+ // add the new states
+ var statesArray = eval('(' + states + ')' );
+
+ for ( var s = 0; s < statesArray.length; s=s+2 ) {
+ var stateLabel = statesArray[s+1];
+ if ( stateLabel == "" )
+ stateLabel = '(n/a)';
+ opt(what.form.bill_state, statesArray[s], stateLabel);
+ }
+
+ what.form.bill_state.disabled = '';
+
+ //run the callback
+ if ( callback != null ) {
+ callback();
+ } else {
+ bill_state_changed(what.form.bill_state);
+ }
+ }
+
+ // go get the new states
+ bill_get_states( country, bill_update_states );
+
+ }
+
+ </SCRIPT>
+
+
+<SELECT NAME = "bill_country"
+ ID = "bill_country"
+ onChange = "bill_country_changed(this); "
+
+
+>
+
+
+
+ <OPTION VALUE="US"
+ SELECTED
+ >United States (US)
+
+
+ <OPTION VALUE="AF"
+
+ >Afghanistan (AF)
+
+
+ <OPTION VALUE="AX"
+
+ >Aland Islands (AX)
+
+
+ <OPTION VALUE="AL"
+
+ >Albania (AL)
+
+
+ <OPTION VALUE="DZ"
+
+ >Algeria (DZ)
+
+
+ <OPTION VALUE="AS"
+
+ >American Samoa (AS)
+
+
+ <OPTION VALUE="AD"
+
+ >Andorra (AD)
+
+
+ <OPTION VALUE="AO"
+
+ >Angola (AO)
+
+
+ <OPTION VALUE="AI"
+
+ >Anguilla (AI)
+
+
+ <OPTION VALUE="AQ"
+
+ >Antarctica (AQ)
+
+
+ <OPTION VALUE="AG"
+
+ >Antigua and Barbuda (AG)
+
+
+ <OPTION VALUE="AR"
+
+ >Argentina (AR)
+
+
+ <OPTION VALUE="AM"
+
+ >Armenia (AM)
+
+
+ <OPTION VALUE="AW"
+
+ >Aruba (AW)
+
+
+ <OPTION VALUE="AU"
+
+ >Australia (AU)
+
+
+ <OPTION VALUE="AT"
+
+ >Austria (AT)
+
+
+ <OPTION VALUE="AZ"
+
+ >Azerbaijan (AZ)
+
+
+ <OPTION VALUE="BS"
+
+ >Bahamas (BS)
+
+
+ <OPTION VALUE="BH"
+
+ >Bahrain (BH)
+
+
+ <OPTION VALUE="BD"
+
+ >Bangladesh (BD)
+
+
+ <OPTION VALUE="BB"
+
+ >Barbados (BB)
+
+
+ <OPTION VALUE="BY"
+
+ >Belarus (BY)
+
+
+ <OPTION VALUE="BE"
+
+ >Belgium (BE)
+
+
+ <OPTION VALUE="BZ"
+
+ >Belize (BZ)
+
+
+ <OPTION VALUE="BJ"
+
+ >Benin (BJ)
+
+
+ <OPTION VALUE="BM"
+
+ >Bermuda (BM)
+
+
+ <OPTION VALUE="BT"
+
+ >Bhutan (BT)
+
+
+ <OPTION VALUE="BO"
+
+ >Bolivia, Plurinational State of (BO)
+
+
+ <OPTION VALUE="BQ"
+
+ >Bonaire, Sint Eustatius and Saba (BQ)
+
+
+ <OPTION VALUE="BA"
+
+ >Bosnia and Herzegovina (BA)
+
+
+ <OPTION VALUE="BW"
+
+ >Botswana (BW)
+
+
+ <OPTION VALUE="BV"
+
+ >Bouvet Island (BV)
+
+
+ <OPTION VALUE="BR"
+
+ >Brazil (BR)
+
+
+ <OPTION VALUE="IO"
+
+ >British Indian Ocean Territory (IO)
+
+
+ <OPTION VALUE="BN"
+
+ >Brunei Darussalam (BN)
+
+
+ <OPTION VALUE="BG"
+
+ >Bulgaria (BG)
+
+
+ <OPTION VALUE="BF"
+
+ >Burkina Faso (BF)
+
+
+ <OPTION VALUE="BI"
+
+ >Burundi (BI)
+
+
+ <OPTION VALUE="KH"
+
+ >Cambodia (KH)
+
+
+ <OPTION VALUE="CM"
+
+ >Cameroon (CM)
+
+
+ <OPTION VALUE="CA"
+
+ >Canada (CA)
+
+
+ <OPTION VALUE="CV"
+
+ >Cape Verde (CV)
+
+
+ <OPTION VALUE="KY"
+
+ >Cayman Islands (KY)
+
+
+ <OPTION VALUE="CF"
+
+ >Central African Republic (CF)
+
+
+ <OPTION VALUE="TD"
+
+ >Chad (TD)
+
+
+ <OPTION VALUE="CL"
+
+ >Chile (CL)
+
+
+ <OPTION VALUE="CN"
+
+ >China (CN)
+
+
+ <OPTION VALUE="CX"
+
+ >Christmas Island (CX)
+
+
+ <OPTION VALUE="CC"
+
+ >Cocos (Keeling) Islands (CC)
+
+
+ <OPTION VALUE="CO"
+
+ >Colombia (CO)
+
+
+ <OPTION VALUE="KM"
+
+ >Comoros (KM)
+
+
+ <OPTION VALUE="CG"
+
+ >Congo (CG)
+
+
+ <OPTION VALUE="CD"
+
+ >Congo (The Democratic Republic of the) (CD)
+
+
+ <OPTION VALUE="CK"
+
+ >Cook Islands (CK)
+
+
+ <OPTION VALUE="CR"
+
+ >Costa Rica (CR)
+
+
+ <OPTION VALUE="CI"
+
+ >Cote d'Ivoire (CI)
+
+
+ <OPTION VALUE="HR"
+
+ >Croatia (HR)
+
+
+ <OPTION VALUE="CU"
+
+ >Cuba (CU)
+
+
+ <OPTION VALUE="CW"
+
+ >Curacao (CW)
+
+
+ <OPTION VALUE="CY"
+
+ >Cyprus (CY)
+
+
+ <OPTION VALUE="CZ"
+
+ >Czech Republic (CZ)
+
+
+ <OPTION VALUE="DK"
+
+ >Denmark (DK)
+
+
+ <OPTION VALUE="DJ"
+
+ >Djibouti (DJ)
+
+
+ <OPTION VALUE="DM"
+
+ >Dominica (DM)
+
+
+ <OPTION VALUE="DO"
+
+ >Dominican Republic (DO)
+
+
+ <OPTION VALUE="EC"
+
+ >Ecuador (EC)
+
+
+ <OPTION VALUE="EG"
+
+ >Egypt (EG)
+
+
+ <OPTION VALUE="SV"
+
+ >El Salvador (SV)
+
+
+ <OPTION VALUE="GQ"
+
+ >Equatorial Guinea (GQ)
+
+
+ <OPTION VALUE="ER"
+
+ >Eritrea (ER)
+
+
+ <OPTION VALUE="EE"
+
+ >Estonia (EE)
+
+
+ <OPTION VALUE="ET"
+
+ >Ethiopia (ET)
+
+
+ <OPTION VALUE="FK"
+
+ >Falkland Islands (The) [Malvinas] (FK)
+
+
+ <OPTION VALUE="FO"
+
+ >Faroe Islands (FO)
+
+
+ <OPTION VALUE="FJ"
+
+ >Fiji (FJ)
+
+
+ <OPTION VALUE="FI"
+
+ >Finland (FI)
+
+
+ <OPTION VALUE="FR"
+
+ >France (FR)
+
+
+ <OPTION VALUE="GF"
+
+ >French Guiana (GF)
+
+
+ <OPTION VALUE="PF"
+
+ >French Polynesia (PF)
+
+
+ <OPTION VALUE="TF"
+
+ >French Southern Territories (TF)
+
+
+ <OPTION VALUE="GA"
+
+ >Gabon (GA)
+
+
+ <OPTION VALUE="GM"
+
+ >Gambia (GM)
+
+
+ <OPTION VALUE="GE"
+
+ >Georgia (GE)
+
+
+ <OPTION VALUE="DE"
+
+ >Germany (DE)
+
+
+ <OPTION VALUE="GH"
+
+ >Ghana (GH)
+
+
+ <OPTION VALUE="GI"
+
+ >Gibraltar (GI)
+
+
+ <OPTION VALUE="GR"
+
+ >Greece (GR)
+
+
+ <OPTION VALUE="GL"
+
+ >Greenland (GL)
+
+
+ <OPTION VALUE="GD"
+
+ >Grenada (GD)
+
+
+ <OPTION VALUE="GP"
+
+ >Guadeloupe (GP)
+
+
+ <OPTION VALUE="GU"
+
+ >Guam (GU)
+
+
+ <OPTION VALUE="GT"
+
+ >Guatemala (GT)
+
+
+ <OPTION VALUE="GG"
+
+ >Guernsey (GG)
+
+
+ <OPTION VALUE="GN"
+
+ >Guinea (GN)
+
+
+ <OPTION VALUE="GW"
+
+ >Guinea-Bissau (GW)
+
+
+ <OPTION VALUE="GY"
+
+ >Guyana (GY)
+
+
+ <OPTION VALUE="HT"
+
+ >Haiti (HT)
+
+
+ <OPTION VALUE="HM"
+
+ >Heard Island and McDonald Islands (HM)
+
+
+ <OPTION VALUE="VA"
+
+ >Holy See (The) [Vatican City State] (VA)
+
+
+ <OPTION VALUE="HN"
+
+ >Honduras (HN)
+
+
+ <OPTION VALUE="HK"
+
+ >Hong Kong (HK)
+
+
+ <OPTION VALUE="HU"
+
+ >Hungary (HU)
+
+
+ <OPTION VALUE="IS"
+
+ >Iceland (IS)
+
+
+ <OPTION VALUE="IN"
+
+ >India (IN)
+
+
+ <OPTION VALUE="ID"
+
+ >Indonesia (ID)
+
+
+ <OPTION VALUE="IR"
+
+ >Iran, The Islamic Republic of (IR)
+
+
+ <OPTION VALUE="IQ"
+
+ >Iraq (IQ)
+
+
+ <OPTION VALUE="IE"
+
+ >Ireland (IE)
+
+
+ <OPTION VALUE="IM"
+
+ >Isle of Man (IM)
+
+
+ <OPTION VALUE="IL"
+
+ >Israel (IL)
+
+
+ <OPTION VALUE="IT"
+
+ >Italy (IT)
+
+
+ <OPTION VALUE="JM"
+
+ >Jamaica (JM)
+
+
+ <OPTION VALUE="JP"
+
+ >Japan (JP)
+
+
+ <OPTION VALUE="JE"
+
+ >Jersey (JE)
+
+
+ <OPTION VALUE="JO"
+
+ >Jordan (JO)
+
+
+ <OPTION VALUE="KZ"
+
+ >Kazakhstan (KZ)
+
+
+ <OPTION VALUE="KE"
+
+ >Kenya (KE)
+
+
+ <OPTION VALUE="KI"
+
+ >Kiribati (KI)
+
+
+ <OPTION VALUE="KP"
+
+ >Korea, The Democratic People's Republic of (KP)
+
+
+ <OPTION VALUE="KR"
+
+ >Korea, The Republic of (KR)
+
+
+ <OPTION VALUE="KW"
+
+ >Kuwait (KW)
+
+
+ <OPTION VALUE="KG"
+
+ >Kyrgyzstan (KG)
+
+
+ <OPTION VALUE="LA"
+
+ >Lao People's Democratic Republic (LA)
+
+
+ <OPTION VALUE="LV"
+
+ >Latvia (LV)
+
+
+ <OPTION VALUE="LB"
+
+ >Lebanon (LB)
+
+
+ <OPTION VALUE="LS"
+
+ >Lesotho (LS)
+
+
+ <OPTION VALUE="LR"
+
+ >Liberia (LR)
+
+
+ <OPTION VALUE="LY"
+
+ >Libya (LY)
+
+
+ <OPTION VALUE="LI"
+
+ >Liechtenstein (LI)
+
+
+ <OPTION VALUE="LT"
+
+ >Lithuania (LT)
+
+
+ <OPTION VALUE="LU"
+
+ >Luxembourg (LU)
+
+
+ <OPTION VALUE="MO"
+
+ >Macao (MO)
+
+
+ <OPTION VALUE="MK"
+
+ >Macedonia, The former Yugoslav Republic of (MK)
+
+
+ <OPTION VALUE="MG"
+
+ >Madagascar (MG)
+
+
+ <OPTION VALUE="MW"
+
+ >Malawi (MW)
+
+
+ <OPTION VALUE="MY"
+
+ >Malaysia (MY)
+
+
+ <OPTION VALUE="MV"
+
+ >Maldives (MV)
+
+
+ <OPTION VALUE="ML"
+
+ >Mali (ML)
+
+
+ <OPTION VALUE="MT"
+
+ >Malta (MT)
+
+
+ <OPTION VALUE="MH"
+
+ >Marshall Islands (MH)
+
+
+ <OPTION VALUE="MQ"
+
+ >Martinique (MQ)
+
+
+ <OPTION VALUE="MR"
+
+ >Mauritania (MR)
+
+
+ <OPTION VALUE="MU"
+
+ >Mauritius (MU)
+
+
+ <OPTION VALUE="YT"
+
+ >Mayotte (YT)
+
+
+ <OPTION VALUE="MX"
+
+ >Mexico (MX)
+
+
+ <OPTION VALUE="FM"
+
+ >Micronesia, The Federated States of (FM)
+
+
+ <OPTION VALUE="MD"
+
+ >Moldova, The Republic of (MD)
+
+
+ <OPTION VALUE="MC"
+
+ >Monaco (MC)
+
+
+ <OPTION VALUE="MN"
+
+ >Mongolia (MN)
+
+
+ <OPTION VALUE="ME"
+
+ >Montenegro (ME)
+
+
+ <OPTION VALUE="MS"
+
+ >Montserrat (MS)
+
+
+ <OPTION VALUE="MA"
+
+ >Morocco (MA)
+
+
+ <OPTION VALUE="MZ"
+
+ >Mozambique (MZ)
+
+
+ <OPTION VALUE="MM"
+
+ >Myanmar (MM)
+
+
+ <OPTION VALUE="NA"
+
+ >Namibia (NA)
+
+
+ <OPTION VALUE="NR"
+
+ >Nauru (NR)
+
+
+ <OPTION VALUE="NP"
+
+ >Nepal (NP)
+
+
+ <OPTION VALUE="NL"
+
+ >Netherlands (NL)
+
+
+ <OPTION VALUE="NC"
+
+ >New Caledonia (NC)
+
+
+ <OPTION VALUE="NZ"
+
+ >New Zealand (NZ)
+
+
+ <OPTION VALUE="NI"
+
+ >Nicaragua (NI)
+
+
+ <OPTION VALUE="NE"
+
+ >Niger (NE)
+
+
+ <OPTION VALUE="NG"
+
+ >Nigeria (NG)
+
+
+ <OPTION VALUE="NU"
+
+ >Niue (NU)
+
+
+ <OPTION VALUE="NF"
+
+ >Norfolk Island (NF)
+
+
+ <OPTION VALUE="MP"
+
+ >Northern Mariana Islands (MP)
+
+
+ <OPTION VALUE="NO"
+
+ >Norway (NO)
+
+
+ <OPTION VALUE="OM"
+
+ >Oman (OM)
+
+
+ <OPTION VALUE="PK"
+
+ >Pakistan (PK)
+
+
+ <OPTION VALUE="PW"
+
+ >Palau (PW)
+
+
+ <OPTION VALUE="PS"
+
+ >Palestine, State of (PS)
+
+
+ <OPTION VALUE="PA"
+
+ >Panama (PA)
+
+
+ <OPTION VALUE="PG"
+
+ >Papua New Guinea (PG)
+
+
+ <OPTION VALUE="PY"
+
+ >Paraguay (PY)
+
+
+ <OPTION VALUE="PE"
+
+ >Peru (PE)
+
+
+ <OPTION VALUE="PH"
+
+ >Philippines (PH)
+
+
+ <OPTION VALUE="PN"
+
+ >Pitcairn (PN)
+
+
+ <OPTION VALUE="PL"
+
+ >Poland (PL)
+
+
+ <OPTION VALUE="PT"
+
+ >Portugal (PT)
+
+
+ <OPTION VALUE="PR"
+
+ >Puerto Rico (PR)
+
+
+ <OPTION VALUE="QA"
+
+ >Qatar (QA)
+
+
+ <OPTION VALUE="RE"
+
+ >Reunion (RE)
+
+
+ <OPTION VALUE="RO"
+
+ >Romania (RO)
+
+
+ <OPTION VALUE="RU"
+
+ >Russian Federation (RU)
+
+
+ <OPTION VALUE="RW"
+
+ >Rwanda (RW)
+
+
+ <OPTION VALUE="BL"
+
+ >Saint Barthelemy (BL)
+
+
+ <OPTION VALUE="SH"
+
+ >Saint Helena, Ascension and Tristan da Cunha (SH)
+
+
+ <OPTION VALUE="KN"
+
+ >Saint Kitts and Nevis (KN)
+
+
+ <OPTION VALUE="LC"
+
+ >Saint Lucia (LC)
+
+
+ <OPTION VALUE="MF"
+
+ >Saint Martin (French part) (MF)
+
+
+ <OPTION VALUE="PM"
+
+ >Saint Pierre and Miquelon (PM)
+
+
+ <OPTION VALUE="VC"
+
+ >Saint Vincent and the Grenadines (VC)
+
+
+ <OPTION VALUE="WS"
+
+ >Samoa (WS)
+
+
+ <OPTION VALUE="SM"
+
+ >San Marino (SM)
+
+
+ <OPTION VALUE="ST"
+
+ >Sao Tome and Principe (ST)
+
+
+ <OPTION VALUE="SA"
+
+ >Saudi Arabia (SA)
+
+
+ <OPTION VALUE="SN"
+
+ >Senegal (SN)
+
+
+ <OPTION VALUE="RS"
+
+ >Serbia (RS)
+
+
+ <OPTION VALUE="SC"
+
+ >Seychelles (SC)
+
+
+ <OPTION VALUE="SL"
+
+ >Sierra Leone (SL)
+
+
+ <OPTION VALUE="SG"
+
+ >Singapore (SG)
+
+
+ <OPTION VALUE="SX"
+
+ >Sint Maarten (Dutch part) (SX)
+
+
+ <OPTION VALUE="SK"
+
+ >Slovakia (SK)
+
+
+ <OPTION VALUE="SI"
+
+ >Slovenia (SI)
+
+
+ <OPTION VALUE="SB"
+
+ >Solomon Islands (SB)
+
+
+ <OPTION VALUE="SO"
+
+ >Somalia (SO)
+
+
+ <OPTION VALUE="ZA"
+
+ >South Africa (ZA)
+
+
+ <OPTION VALUE="GS"
+
+ >South Georgia and the South Sandwich Islands (GS)
+
+
+ <OPTION VALUE="SS"
+
+ >South Sudan (SS)
+
+
+ <OPTION VALUE="ES"
+
+ >Spain (ES)
+
+
+ <OPTION VALUE="LK"
+
+ >Sri Lanka (LK)
+
+
+ <OPTION VALUE="SD"
+
+ >Sudan (SD)
+
+
+ <OPTION VALUE="SR"
+
+ >Suriname (SR)
+
+
+ <OPTION VALUE="SJ"
+
+ >Svalbard and Jan Mayen (SJ)
+
+
+ <OPTION VALUE="SZ"
+
+ >Swaziland (SZ)
+
+
+ <OPTION VALUE="SE"
+
+ >Sweden (SE)
+
+
+ <OPTION VALUE="CH"
+
+ >Switzerland (CH)
+
+
+ <OPTION VALUE="SY"
+
+ >Syrian Arab Republic (SY)
+
+
+ <OPTION VALUE="TW"
+
+ >Taiwan (Province of China) (TW)
+
+
+ <OPTION VALUE="TJ"
+
+ >Tajikistan (TJ)
+
+
+ <OPTION VALUE="TZ"
+
+ >Tanzania, United Republic of (TZ)
+
+
+ <OPTION VALUE="TH"
+
+ >Thailand (TH)
+
+
+ <OPTION VALUE="TL"
+
+ >Timor-Leste (TL)
+
+
+ <OPTION VALUE="TG"
+
+ >Togo (TG)
+
+
+ <OPTION VALUE="TK"
+
+ >Tokelau (TK)
+
+
+ <OPTION VALUE="TO"
+
+ >Tonga (TO)
+
+
+ <OPTION VALUE="TT"
+
+ >Trinidad and Tobago (TT)
+
+
+ <OPTION VALUE="TN"
+
+ >Tunisia (TN)
+
+
+ <OPTION VALUE="TR"
+
+ >Turkey (TR)
+
+
+ <OPTION VALUE="TM"
+
+ >Turkmenistan (TM)
+
+
+ <OPTION VALUE="TC"
+
+ >Turks and Caicos Islands (TC)
+
+
+ <OPTION VALUE="TV"
+
+ >Tuvalu (TV)
+
+
+ <OPTION VALUE="UG"
+
+ >Uganda (UG)
+
+
+ <OPTION VALUE="UA"
+
+ >Ukraine (UA)
+
+
+ <OPTION VALUE="AE"
+
+ >United Arab Emirates (AE)
+
+
+ <OPTION VALUE="GB"
+
+ >United Kingdom (GB)
+
+
+ <OPTION VALUE="UM"
+
+ >United States Minor Outlying Islands (UM)
+
+
+ <OPTION VALUE="UY"
+
+ >Uruguay (UY)
+
+
+ <OPTION VALUE="UZ"
+
+ >Uzbekistan (UZ)
+
+
+ <OPTION VALUE="VU"
+
+ >Vanuatu (VU)
+
+
+ <OPTION VALUE="VE"
+
+ >Venezuela, Bolivarian Republic of (VE)
+
+
+ <OPTION VALUE="VN"
+
+ >Viet Nam (VN)
+
+
+ <OPTION VALUE="VG"
+
+ >Virgin Islands (British) (VG)
+
+
+ <OPTION VALUE="VI"
+
+ >Virgin Islands (U.S.) (VI)
+
+
+ <OPTION VALUE="WF"
+
+ >Wallis and Futuna (WF)
+
+
+ <OPTION VALUE="EH"
+
+ >Western Sahara (EH)
+
+
+ <OPTION VALUE="YE"
+
+ >Yemen (YE)
+
+
+ <OPTION VALUE="ZM"
+
+ >Zambia (ZM)
+
+
+ <OPTION VALUE="ZW"
+
+ >Zimbabwe (ZW)
+
+
+</SELECT>
+
+</TD>
+</TR>
+
+<TR>
+ <TD ALIGN="right">Latitude</TD>
+ <TD COLSPAN=7>
+ <INPUT TYPE = "text"
+ NAME = "bill_latitude"
+ ID = "bill_latitude"
+ VALUE = "38.5000000"
+
+
+ >
+ Longitude
+ <INPUT TYPE = "text"
+ NAME = "bill_longitude"
+ ID = "bill_longitude"
+ VALUE = "-121.5000000"
+
+
+ >
+ </TD>
+</TR>
+ <INPUT TYPE = "hidden"
+ NAME = "bill_coord_auto"
+ ID = "bill_coord_auto"
+ VALUE = "Y"
+>
+
+
+ <INPUT TYPE = "hidden"
+ NAME = "bill_geocode"
+ ID = "bill_geocode"
+ VALUE = ""
+>
+
+
+ <INPUT TYPE = "hidden"
+ NAME = "bill_censustract"
+ ID = "bill_censustract"
+ VALUE = ""
+>
+
+
+ <INPUT TYPE = "hidden"
+ NAME = "bill_censusyear"
+ ID = "bill_censusyear"
+ VALUE = ""
+>
+
+
+<TR>
+ <TD ALIGN="right">Census tract</TD>
+ <TD COLSPAN=8>
+ <INPUT TYPE="text" SIZE=15
+ ID="bill_enter_censustract"
+ NAME="bill_enter_censustract"
+ VALUE="">
+ (automatic)
+ </TD>
+</TR>
+ <INPUT TYPE = "hidden"
+ NAME = "bill_district"
+ ID = "bill_district"
+ VALUE = ""
+>
+
+
+
+<INPUT TYPE = "hidden"
+ NAME = "old_bill_address1"
+ ID = "old_bill_address1"
+ VALUE = "46706 Kadin Hill #780"
+>
+
+
+<INPUT TYPE = "hidden"
+ NAME = "old_bill_city"
+ ID = "old_bill_city"
+ VALUE = "Owensboro"
+>
+
+
+<INPUT TYPE = "hidden"
+ NAME = "old_bill_state"
+ ID = "old_bill_state"
+ VALUE = "KS"
+>
+
+
+<INPUT TYPE = "hidden"
+ NAME = "old_bill_country"
+ ID = "old_bill_country"
+ VALUE = "US"
+>
+
+
+<INPUT TYPE = "hidden"
+ NAME = "old_bill_zip"
+ ID = "old_bill_zip"
+ VALUE = "69113"
+>
+
+
+<INPUT TYPE = "hidden"
+ NAME = "old_bill_latitude"
+ ID = "old_bill_latitude"
+ VALUE = "38.5000000"
+>
+
+
+<INPUT TYPE = "hidden"
+ NAME = "old_bill_longitude"
+ ID = "old_bill_longitude"
+ VALUE = "-121.5000000"
+>
+
+
+<INPUT TYPE = "hidden"
+ NAME = "old_bill_censustract"
+ ID = "old_bill_censustract"
+ VALUE = ""
+>
+
+
+<INPUT TYPE = "hidden"
+ NAME = "old_bill_district"
+ ID = "old_bill_district"
+ VALUE = ""
+>
+
+
+<INPUT TYPE = "hidden"
+ NAME = "old_bill_addr_clean"
+ ID = "old_bill_addr_clean"
+ VALUE = ""
+>
+
+
+<INPUT TYPE = "hidden"
+ NAME = "bill_cachenum"
+ ID = "bill_cachenum"
+ VALUE = ""
+>
+
+
+<INPUT TYPE = "hidden"
+ NAME = "bill_addr_clean"
+ ID = "bill_addr_clean"
+ VALUE = ""
+>
+
+
+
+<SCRIPT TYPE="text/javascript">
+(function() {
+ var myonload = function() {
+
+ var clear_coords_ids = [
+ 'bill_latitude',
+ 'bill_longitude',
+ 'bill_enter_censustract',
+ 'bill_censustract',
+ 'bill_district'
+ ];
+ function clear_coords() {
+ for (var i=0; i < clear_coords_ids.length; i++) {
+ var el = document.getElementById(clear_coords_ids[i]);
+ if ( el ) {
+ el.value = '';
+ }
+ }
+ }
+ var clear_coords_on_change = [
+ 'bill_address1',
+ 'bill_address2',
+ 'bill_city',
+ 'bill_state',
+ 'bill_zip',
+ 'bill_country'
+ ];
+ for (var i=0; i < clear_coords_on_change.length; i++) {
+ var el = document.getElementById(clear_coords_on_change[i]);
+ if ( el.addEventListener ) {
+ el.addEventListener('change', clear_coords);
+ } else if ( el.attachEvent ) {
+ el.attachEvent('onchange', clear_coords);
+ }
+ }
+ function clear_censustract() {
+ // if the user manually edits the census tract, clear the 'hard' census
+ // tract field so that we can re-verify and present a confirmation popup
+
+ // get the ID of the hidden censustract field
+ var censustract_id = this.id.replace('enter_', '');
+ var el = document.getElementById(censustract_id);
+ if (el) {
+ el.value = '';
+ }
+ }
+ var el = document.getElementById('bill_enter_censustract');
+ if (el) {
+ if ( el.addEventListener ) {
+ el.addEventListener('change', clear_censustract);
+ } else if ( el.attachEvent ) {
+ el.attachEvent('onchange', clear_censustract);
+ }
+ }
+
+
+ }
+ if ( window.addEventListener ) {
+ window.addEventListener('load', myonload);
+ } else if ( window.attachEvent ) {
+ window.attachEvent('onload', myonload);
+ }
+})();
+
+</SCRIPT>
+
+
+ <TR>
+ <TD VALIGN="top" ALIGN="right">Phones</TD>
+ <TD COLSPAN=6>
+ <TABLE CELLSPACING=0 CELLPADDING=0>
+ <TR>
+ <TD>
+ <INPUT TYPE="text"
+ NAME="daytime"
+ VALUE="297-868-7684 x427"
+ SIZE=18
+ >
+ <BR><FONT SIZE=-1>Day Phone</FONT>
+ </TD>
+ <TD> </TD>
+ <TD>
+ <INPUT TYPE="text"
+ NAME="night"
+ VALUE="538-045-0820"
+ SIZE=18
+ >
+ <BR><FONT SIZE=-1>Night Phone</FONT>
+ </TD>
+ <TD> </TD>
+ <TD>
+ <INPUT TYPE="text"
+ NAME="mobile"
+ VALUE=""
+ SIZE=18
+ >
+ <BR><FONT SIZE=-1>Mobile</FONT>
+ </TD>
+ <TD> </TD>
+ </TR>
+ </TABLE>
+ </TD>
+</TR>
+
+ <TR>
+ <TD ALIGN="right">Fax</TD>
+ <TD><INPUT TYPE="text" NAME="fax" VALUE="" SIZE=18></TD>
+</TR>
+
+<INPUT TYPE="hidden" NAME="stateid" VALUE="">
+<INPUT TYPE="hidden" NAME="stateid_state" VALUE="KS">
+
+
+
+ </TABLE>
+ </TD>
+</TR>
+<TR><TD STYLE="height:40px"></TD></TR>
+<TR>
+ <TD STYLE="width:650px">
+ <FONT CLASS="fsinnerbox-title">Service address</FONT>
+ <INPUT TYPE="checkbox"
+ NAME="same"
+ ID="same"
+ onclick="samechanged(this)"
+ onkeyup="samechanged(this)"
+ VALUE="Y"
+ CHECKED
+ >same as billing address
+ <DIV CLASS="fsinnerbox">
+ <TABLE ID="table_ship_location" WIDTH="100%">
+
+
+
+ <INPUT TYPE = "hidden"
+ NAME = "ship_locationname"
+ ID = "ship_locationname"
+ VALUE = ""
+>
+
+
+
+
+<TR>
+ <TH STYLE="width:16ex" ALIGN="right"><font color="#ff0000">*</font> Address</TH>
+ <TD COLSPAN=7>
+ <INPUT TYPE = "text"
+ NAME = "ship_address1"
+ ID = "ship_address1"
+ VALUE = "46706 Kadin Hill #780"
+ SIZE = 54
+ onChange = ""
+
+
+ >
+ </TD>
+</TR>
+
+
+<TR>
+ <TD ALIGN="right"><FONT ID="ship_address2_required" color="#ff0000" STYLE="visibility:hidden">*</FONT> <FONT ID="ship_address2_label" STYLE="visibility:hidden"><B>Unit #</B></FONT></TD>
+ <TD COLSPAN=7>
+ <INPUT TYPE = "text"
+ NAME = "ship_address2"
+ ID = "ship_address2"
+ VALUE = "Trailer W 2-E"
+ SIZE = 54
+ onChange = ""
+
+
+ >
+ </TD>
+</TR>
+
+
+
+<TR>
+ <TH ALIGN="right">
+ <font color="#ff0000">*</font> City
+ </TH>
+ <TD WIDTH="1">
+
+
+<SCRIPT TYPE="text/javascript">
+
+ function rs_init_object() {
+ var A;
+ try {
+ A=new ActiveXObject("Msxml2.XMLHTTP");
+ } catch (e) {
+ try {
+ A=new ActiveXObject("Microsoft.XMLHTTP");
+ } catch (oc) {
+ A=null;
+ }
+ }
+ if(!A && typeof XMLHttpRequest != "undefined")
+ A = new XMLHttpRequest();
+ if (!A)
+ alert("Can't create XMLHttpRequest object");
+ return A;
+
+ }
+
+</SCRIPT>
+
+
+<SCRIPT TYPE="text/javascript">
+
+
+ function ship_get_cities() {
+ // count args; build URL
+ var url = "http://localhost/freeside/misc/cities.cgi?";
+ var a = ship_get_cities.arguments;
+
+ var args;
+ var len;
+ var content = 'sub=ship_get_cities';
+ if ( a && typeof a == 'object' && a[0].constructor == Array ) {
+ args = a[0];
+ len = args.length
+ } else {
+ args = a;
+ len = args.length - 1;
+ }
+ for (var i = 0; i < len; i++)
+ content = content + "&arg=" + escape(args[i]);
+ content = content.replace( /[+]/g, '%2B'); // fix unescaped plus signs
+
+ if ( 'GET' == 'GET' ) {
+ url = url + content;
+ }
+
+ //alert('GET ' + url);
+
+ var xmlhttp = rs_init_object();
+ xmlhttp.open("GET", url, true);
+
+ xmlhttp.onreadystatechange = function() {
+ if (xmlhttp.readyState != 4)
+ return;
+
+ if (xmlhttp.status != 200) {
+ if ( xmlhttp.status != 0 ) {
+ //not warning on the 0 errors, they pop up when navagating away
+ // from the page
+ alert(xmlhttp.status + " status connecting to " + url);
+ }
+ } else {
+ var data = xmlhttp.responseText;
+ //alert('received response: ' + data);
+ if ( data.indexOf("<b>System error</b>") > -1 ) {
+ // trim this a little
+ var end = data.indexOf('<a href="#raw">') - 1;
+ data = data.substring(0, end);
+
+ overlib(data,
+ WIDTH, 480, MIDX, 0, MIDY, 0,
+ CAPTION, 'Error', STICKY, AUTOSTATUSCAP, DRAGGABLE,
+ CLOSECLICK, BGCOLOR, '#f00', CGCOLOR, '#f00'
+ );
+ //var w;
+ //if ( w = window.open("about:blank") ) {
+ // w.document.write(data);
+ //} else {
+ // // popup blocking? should use an overlib popup instead
+ // alert("Error popup disabled; try disabling popup blocking to see");
+ //}
+ } else {
+ // invoke the callback
+ a[a.length-1](data);
+ }
+ }
+ }
+
+ if ( 'GET' == 'POST' ) {
+
+ xmlhttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
+ xmlhttp.send(content);
+
+ } else {
+
+ xmlhttp.setRequestHeader("If-Modified-Since", "Sat, 1 Jan 2000 00:00:00 GMT");
+ xmlhttp.send(null);
+
+ }
+
+ //rs_debug("x_$func_name url = " + url);
+ //rs_debug("x_$func_name waiting..");
+ }
+
+
+</SCRIPT>
+
+
+<SCRIPT TYPE="text/javascript">
+
+ function opt(what,value,text) {
+ var optionName = new Option(text, value, false, false);
+ var length = what.length;
+ what.options[length] = optionName;
+ }
+
+ var saved_ship_city= 'Owensboro';
+
+ function ship_county_changed(what, callback) {
+
+ what.form.ship_city_select.disabled = 'disabled';
+
+ county = what.options[what.selectedIndex].value;
+ state = what.form.ship_state.options[what.form.ship_state.selectedIndex].value;
+ country = what.form.ship_country.options[what.form.ship_country.selectedIndex].value;
+
+ function ship_update_cities(cities) {
+
+ // blank the current city list
+ for ( var i = what.form.ship_city_select.length; i >= 0; i-- )
+ what.form.ship_city_select.options[i] = null;
+
+
+ // add the new cities
+ var citiesArray = eval('(' + cities + ')' );
+
+ for ( var s = 0; s < citiesArray.length; s++ ) {
+ var cityLabel = citiesArray[s];
+ if ( cityLabel == "" )
+ cityLabel = '(n/a)';
+ opt(what.form.ship_city_select, citiesArray[s], cityLabel);
+ }
+
+ if ( citiesArray.length > 1 || (citiesArray[0] && citiesArray[0].length) ){
+ // turn off the text city, turn on the select
+ saved_ship_city = what.form.ship_city.value;
+ ship_city_select_changed(what.form.ship_city_select);
+ what.form.ship_city.style.display = 'none';
+ what.form.ship_city_select.style.display = '';
+ } else if ( what.form.ship_city.style.display == 'none' ) {
+ // turn on the text city, turn off the select
+ what.form.ship_city.value = saved_ship_city;
+ what.form.ship_city.style.display = '';
+ what.form.ship_city_select.style.display = 'none';
+ }
+
+ what.form.ship_city_select.disabled = '';
+
+ //run the callback
+ if ( callback != null )
+ callback();
+ }
+
+ // go get the new cities
+ ship_get_cities( county, state, country, ship_update_cities );
+
+ }
+
+ function ship_city_select_changed(what) {
+ what.form.ship_city.value = what.options[what.selectedIndex].value;
+ }
+
+</SCRIPT>
+
+
+<INPUT TYPE = "text"
+ NAME = "ship_city"
+ ID = "ship_city"
+ VALUE = "Owensboro"
+ onChange = ""
+
+
+>
+
+
+ <SELECT NAME = "ship_city_select"
+ ID = "ship_city_select"
+ onChange = "ship_city_select_changed(this); "
+
+ STYLE="display:none"
+ >
+
+
+
+ <OPTION VALUE=""
+
+ >
+
+
+ </SELECT>
+
+</TD>
+ <TH ALIGN="right" WIDTH="1" ID="ship_countylabel" STYLE="display:none"><font color="#ff0000">*</font> County</TH>
+ <TD WIDTH="1">
+ <SCRIPT TYPE="text/javascript">
+ function ship_state_changed(what) {
+ }
+ </SCRIPT>
+
+ <SELECT NAME = "ship_county"
+ ID = "ship_county"
+ STYLE = "display:none"
+ >
+ <OPTION SELECTED VALUE="">
+ </SELECT>
+
+
+</TD>
+ <TH ALIGN="right" WIDTH="1"><font color="#ff0000">*</font> State</TH>
+ <TD WIDTH="1">
+
+<SELECT NAME = "ship_state"
+ ID = "ship_state"
+ onChange = "ship_state_changed(this); "
+
+
+>
+
+
+
+ <OPTION VALUE="AK">AK
+
+
+ <OPTION VALUE="AL">AL
+
+
+ <OPTION VALUE="AR">AR
+
+
+ <OPTION VALUE="AS">AS
+
+
+ <OPTION VALUE="AZ">AZ
+
+
+ <OPTION VALUE="CA">CA
+
+
+ <OPTION VALUE="CO">CO
+
+
+ <OPTION VALUE="CT">CT
+
+
+ <OPTION VALUE="DC">DC
+
+
+ <OPTION VALUE="DE">DE
+
+
+ <OPTION VALUE="FL">FL
+
+
+ <OPTION VALUE="GA">GA
+
+
+ <OPTION VALUE="GU">GU
+
+
+ <OPTION VALUE="HI">HI
+
+
+ <OPTION VALUE="IA">IA
+
+
+ <OPTION VALUE="ID">ID
+
+
+ <OPTION VALUE="IL">IL
+
+
+ <OPTION VALUE="IN">IN
+
+
+ <OPTION VALUE="KS" SELECTED>KS
+
+
+ <OPTION VALUE="KY">KY
+
+
+ <OPTION VALUE="LA">LA
+
+
+ <OPTION VALUE="MA">MA
+
+
+ <OPTION VALUE="MD">MD
+
+
+ <OPTION VALUE="ME">ME
+
+
+ <OPTION VALUE="MI">MI
+
+
+ <OPTION VALUE="MN">MN
+
+
+ <OPTION VALUE="MO">MO
+
+
+ <OPTION VALUE="MP">MP
+
+
+ <OPTION VALUE="MS">MS
+
+
+ <OPTION VALUE="MT">MT
+
+
+ <OPTION VALUE="NC">NC
+
+
+ <OPTION VALUE="ND">ND
+
+
+ <OPTION VALUE="NE">NE
+
+
+ <OPTION VALUE="NH">NH
+
+
+ <OPTION VALUE="NJ">NJ
+
+
+ <OPTION VALUE="NM">NM
+
+
+ <OPTION VALUE="NV">NV
+
+
+ <OPTION VALUE="NY">NY
+
+
+ <OPTION VALUE="OH">OH
+
+
+ <OPTION VALUE="OK">OK
+
+
+ <OPTION VALUE="OR">OR
+
+
+ <OPTION VALUE="PA">PA
+
+
+ <OPTION VALUE="PR">PR
+
+
+ <OPTION VALUE="RI">RI
+
+
+ <OPTION VALUE="SC">SC
+
+
+ <OPTION VALUE="SD">SD
+
+
+ <OPTION VALUE="TN">TN
+
+
+ <OPTION VALUE="TX">TX
+
+
+ <OPTION VALUE="UM">UM
+
+
+ <OPTION VALUE="UT">UT
+
+
+ <OPTION VALUE="VA">VA
+
+
+ <OPTION VALUE="VI">VI
+
+
+ <OPTION VALUE="VT">VT
+
+
+ <OPTION VALUE="WA">WA
+
+
+ <OPTION VALUE="WI">WI
+
+
+ <OPTION VALUE="WV">WV
+
+
+ <OPTION VALUE="WY">WY
+
+
+
+</SELECT>
+
+
+
+ </TD>
+ <TH ALIGN="right" WIDTH="1"><font color="#ff0000">*</font> Zip</TH>
+ <TD>
+ <INPUT TYPE = "text"
+ NAME = "ship_zip"
+ ID = "ship_zip"
+ VALUE = "69113"
+ SIZE = 11
+ onChange = ""
+
+
+ >
+ </TD>
+</TR>
+
+<TR>
+ <TH ALIGN="right"><font color="#ff0000">*</font> Country</TH>
+ <TD COLSPAN=6>
+ <SCRIPT TYPE="text/javascript">
+
+ function rs_init_object() {
+ var A;
+ try {
+ A=new ActiveXObject("Msxml2.XMLHTTP");
+ } catch (e) {
+ try {
+ A=new ActiveXObject("Microsoft.XMLHTTP");
+ } catch (oc) {
+ A=null;
+ }
+ }
+ if(!A && typeof XMLHttpRequest != "undefined")
+ A = new XMLHttpRequest();
+ if (!A)
+ alert("Can't create XMLHttpRequest object");
+ return A;
+
+ }
+
+</SCRIPT>
+
+
+<SCRIPT TYPE="text/javascript">
+
+
+ function ship_get_states() {
+ // count args; build URL
+ var url = "http://localhost/freeside/misc/states.cgi?";
+ var a = ship_get_states.arguments;
+
+ var args;
+ var len;
+ var content = 'sub=ship_get_states';
+ if ( a && typeof a == 'object' && a[0].constructor == Array ) {
+ args = a[0];
+ len = args.length
+ } else {
+ args = a;
+ len = args.length - 1;
+ }
+ for (var i = 0; i < len; i++)
+ content = content + "&arg=" + escape(args[i]);
+ content = content.replace( /[+]/g, '%2B'); // fix unescaped plus signs
+
+ if ( 'GET' == 'GET' ) {
+ url = url + content;
+ }
+
+ //alert('GET ' + url);
+
+ var xmlhttp = rs_init_object();
+ xmlhttp.open("GET", url, true);
+
+ xmlhttp.onreadystatechange = function() {
+ if (xmlhttp.readyState != 4)
+ return;
+
+ if (xmlhttp.status != 200) {
+ if ( xmlhttp.status != 0 ) {
+ //not warning on the 0 errors, they pop up when navagating away
+ // from the page
+ alert(xmlhttp.status + " status connecting to " + url);
+ }
+ } else {
+ var data = xmlhttp.responseText;
+ //alert('received response: ' + data);
+ if ( data.indexOf("<b>System error</b>") > -1 ) {
+ // trim this a little
+ var end = data.indexOf('<a href="#raw">') - 1;
+ data = data.substring(0, end);
+
+ overlib(data,
+ WIDTH, 480, MIDX, 0, MIDY, 0,
+ CAPTION, 'Error', STICKY, AUTOSTATUSCAP, DRAGGABLE,
+ CLOSECLICK, BGCOLOR, '#f00', CGCOLOR, '#f00'
+ );
+ //var w;
+ //if ( w = window.open("about:blank") ) {
+ // w.document.write(data);
+ //} else {
+ // // popup blocking? should use an overlib popup instead
+ // alert("Error popup disabled; try disabling popup blocking to see");
+ //}
+ } else {
+ // invoke the callback
+ a[a.length-1](data);
+ }
+ }
+ }
+
+ if ( 'GET' == 'POST' ) {
+
+ xmlhttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
+ xmlhttp.send(content);
+
+ } else {
+
+ xmlhttp.setRequestHeader("If-Modified-Since", "Sat, 1 Jan 2000 00:00:00 GMT");
+ xmlhttp.send(null);
+
+ }
+
+ //rs_debug("x_$func_name url = " + url);
+ //rs_debug("x_$func_name waiting..");
+ }
+
+
+</SCRIPT>
+
+
+ <SCRIPT TYPE="text/javascript">
+
+ function opt(what,value,text) {
+ var optionName = new Option(text, value, false, false);
+ var length = what.length;
+ what.options[length] = optionName;
+ }
+
+ function ship_country_changed(what, callback) {
+
+ what.form.ship_state.disabled = 'disabled';
+
+ country = what.options[what.selectedIndex].value;
+
+ function ship_update_states(states) {
+
+ // blank the current state list
+ for ( var i = what.form.ship_state.length; i >= 0; i-- )
+ what.form.ship_state.options[i] = null;
+
+ // add the new states
+ var statesArray = eval('(' + states + ')' );
+
+ for ( var s = 0; s < statesArray.length; s=s+2 ) {
+ var stateLabel = statesArray[s+1];
+ if ( stateLabel == "" )
+ stateLabel = '(n/a)';
+ opt(what.form.ship_state, statesArray[s], stateLabel);
+ }
+
+ what.form.ship_state.disabled = '';
+
+ //run the callback
+ if ( callback != null ) {
+ callback();
+ } else {
+ ship_state_changed(what.form.ship_state);
+ }
+ }
+
+ // go get the new states
+ ship_get_states( country, ship_update_states );
+
+ }
+
+ </SCRIPT>
+
+
+<SELECT NAME = "ship_country"
+ ID = "ship_country"
+ onChange = "ship_country_changed(this); "
+
+
+>
+
+
+
+ <OPTION VALUE="US"
+ SELECTED
+ >United States (US)
+
+
+ <OPTION VALUE="AF"
+
+ >Afghanistan (AF)
+
+
+ <OPTION VALUE="AX"
+
+ >Aland Islands (AX)
+
+
+ <OPTION VALUE="AL"
+
+ >Albania (AL)
+
+
+ <OPTION VALUE="DZ"
+
+ >Algeria (DZ)
+
+
+ <OPTION VALUE="AS"
+
+ >American Samoa (AS)
+
+
+ <OPTION VALUE="AD"
+
+ >Andorra (AD)
+
+
+ <OPTION VALUE="AO"
+
+ >Angola (AO)
+
+
+ <OPTION VALUE="AI"
+
+ >Anguilla (AI)
+
+
+ <OPTION VALUE="AQ"
+
+ >Antarctica (AQ)
+
+
+ <OPTION VALUE="AG"
+
+ >Antigua and Barbuda (AG)
+
+
+ <OPTION VALUE="AR"
+
+ >Argentina (AR)
+
+
+ <OPTION VALUE="AM"
+
+ >Armenia (AM)
+
+
+ <OPTION VALUE="AW"
+
+ >Aruba (AW)
+
+
+ <OPTION VALUE="AU"
+
+ >Australia (AU)
+
+
+ <OPTION VALUE="AT"
+
+ >Austria (AT)
+
+
+ <OPTION VALUE="AZ"
+
+ >Azerbaijan (AZ)
+
+
+ <OPTION VALUE="BS"
+
+ >Bahamas (BS)
+
+
+ <OPTION VALUE="BH"
+
+ >Bahrain (BH)
+
+
+ <OPTION VALUE="BD"
+
+ >Bangladesh (BD)
+
+
+ <OPTION VALUE="BB"
+
+ >Barbados (BB)
+
+
+ <OPTION VALUE="BY"
+
+ >Belarus (BY)
+
+
+ <OPTION VALUE="BE"
+
+ >Belgium (BE)
+
+
+ <OPTION VALUE="BZ"
+
+ >Belize (BZ)
+
+
+ <OPTION VALUE="BJ"
+
+ >Benin (BJ)
+
+
+ <OPTION VALUE="BM"
+
+ >Bermuda (BM)
+
+
+ <OPTION VALUE="BT"
+
+ >Bhutan (BT)
+
+
+ <OPTION VALUE="BO"
+
+ >Bolivia, Plurinational State of (BO)
+
+
+ <OPTION VALUE="BQ"
+
+ >Bonaire, Sint Eustatius and Saba (BQ)
+
+
+ <OPTION VALUE="BA"
+
+ >Bosnia and Herzegovina (BA)
+
+
+ <OPTION VALUE="BW"
+
+ >Botswana (BW)
+
+
+ <OPTION VALUE="BV"
+
+ >Bouvet Island (BV)
+
+
+ <OPTION VALUE="BR"
+
+ >Brazil (BR)
+
+
+ <OPTION VALUE="IO"
+
+ >British Indian Ocean Territory (IO)
+
+
+ <OPTION VALUE="BN"
+
+ >Brunei Darussalam (BN)
+
+
+ <OPTION VALUE="BG"
+
+ >Bulgaria (BG)
+
+
+ <OPTION VALUE="BF"
+
+ >Burkina Faso (BF)
+
+
+ <OPTION VALUE="BI"
+
+ >Burundi (BI)
+
+
+ <OPTION VALUE="KH"
+
+ >Cambodia (KH)
+
+
+ <OPTION VALUE="CM"
+
+ >Cameroon (CM)
+
+
+ <OPTION VALUE="CA"
+
+ >Canada (CA)
+
+
+ <OPTION VALUE="CV"
+
+ >Cape Verde (CV)
+
+
+ <OPTION VALUE="KY"
+
+ >Cayman Islands (KY)
+
+
+ <OPTION VALUE="CF"
+
+ >Central African Republic (CF)
+
+
+ <OPTION VALUE="TD"
+
+ >Chad (TD)
+
+
+ <OPTION VALUE="CL"
+
+ >Chile (CL)
+
+
+ <OPTION VALUE="CN"
+
+ >China (CN)
+
+
+ <OPTION VALUE="CX"
+
+ >Christmas Island (CX)
+
+
+ <OPTION VALUE="CC"
+
+ >Cocos (Keeling) Islands (CC)
+
+
+ <OPTION VALUE="CO"
+
+ >Colombia (CO)
+
+
+ <OPTION VALUE="KM"
+
+ >Comoros (KM)
+
+
+ <OPTION VALUE="CG"
+
+ >Congo (CG)
+
+
+ <OPTION VALUE="CD"
+
+ >Congo (The Democratic Republic of the) (CD)
+
+
+ <OPTION VALUE="CK"
+
+ >Cook Islands (CK)
+
+
+ <OPTION VALUE="CR"
+
+ >Costa Rica (CR)
+
+
+ <OPTION VALUE="CI"
+
+ >Cote d'Ivoire (CI)
+
+
+ <OPTION VALUE="HR"
+
+ >Croatia (HR)
+
+
+ <OPTION VALUE="CU"
+
+ >Cuba (CU)
+
+
+ <OPTION VALUE="CW"
+
+ >Curacao (CW)
+
+
+ <OPTION VALUE="CY"
+
+ >Cyprus (CY)
+
+
+ <OPTION VALUE="CZ"
+
+ >Czech Republic (CZ)
+
+
+ <OPTION VALUE="DK"
+
+ >Denmark (DK)
+
+
+ <OPTION VALUE="DJ"
+
+ >Djibouti (DJ)
+
+
+ <OPTION VALUE="DM"
+
+ >Dominica (DM)
+
+
+ <OPTION VALUE="DO"
+
+ >Dominican Republic (DO)
+
+
+ <OPTION VALUE="EC"
+
+ >Ecuador (EC)
+
+
+ <OPTION VALUE="EG"
+
+ >Egypt (EG)
+
+
+ <OPTION VALUE="SV"
+
+ >El Salvador (SV)
+
+
+ <OPTION VALUE="GQ"
+
+ >Equatorial Guinea (GQ)
+
+
+ <OPTION VALUE="ER"
+
+ >Eritrea (ER)
+
+
+ <OPTION VALUE="EE"
+
+ >Estonia (EE)
+
+
+ <OPTION VALUE="ET"
+
+ >Ethiopia (ET)
+
+
+ <OPTION VALUE="FK"
+
+ >Falkland Islands (The) [Malvinas] (FK)
+
+
+ <OPTION VALUE="FO"
+
+ >Faroe Islands (FO)
+
+
+ <OPTION VALUE="FJ"
+
+ >Fiji (FJ)
+
+
+ <OPTION VALUE="FI"
+
+ >Finland (FI)
+
+
+ <OPTION VALUE="FR"
+
+ >France (FR)
+
+
+ <OPTION VALUE="GF"
+
+ >French Guiana (GF)
+
+
+ <OPTION VALUE="PF"
+
+ >French Polynesia (PF)
+
+
+ <OPTION VALUE="TF"
+
+ >French Southern Territories (TF)
+
+
+ <OPTION VALUE="GA"
+
+ >Gabon (GA)
+
+
+ <OPTION VALUE="GM"
+
+ >Gambia (GM)
+
+
+ <OPTION VALUE="GE"
+
+ >Georgia (GE)
+
+
+ <OPTION VALUE="DE"
+
+ >Germany (DE)
+
+
+ <OPTION VALUE="GH"
+
+ >Ghana (GH)
+
+
+ <OPTION VALUE="GI"
+
+ >Gibraltar (GI)
+
+
+ <OPTION VALUE="GR"
+
+ >Greece (GR)
+
+
+ <OPTION VALUE="GL"
+
+ >Greenland (GL)
+
+
+ <OPTION VALUE="GD"
+
+ >Grenada (GD)
+
+
+ <OPTION VALUE="GP"
+
+ >Guadeloupe (GP)
+
+
+ <OPTION VALUE="GU"
+
+ >Guam (GU)
+
+
+ <OPTION VALUE="GT"
+
+ >Guatemala (GT)
+
+
+ <OPTION VALUE="GG"
+
+ >Guernsey (GG)
+
+
+ <OPTION VALUE="GN"
+
+ >Guinea (GN)
+
+
+ <OPTION VALUE="GW"
+
+ >Guinea-Bissau (GW)
+
+
+ <OPTION VALUE="GY"
+
+ >Guyana (GY)
+
+
+ <OPTION VALUE="HT"
+
+ >Haiti (HT)
+
+
+ <OPTION VALUE="HM"
+
+ >Heard Island and McDonald Islands (HM)
+
+
+ <OPTION VALUE="VA"
+
+ >Holy See (The) [Vatican City State] (VA)
+
+
+ <OPTION VALUE="HN"
+
+ >Honduras (HN)
+
+
+ <OPTION VALUE="HK"
+
+ >Hong Kong (HK)
+
+
+ <OPTION VALUE="HU"
+
+ >Hungary (HU)
+
+
+ <OPTION VALUE="IS"
+
+ >Iceland (IS)
+
+
+ <OPTION VALUE="IN"
+
+ >India (IN)
+
+
+ <OPTION VALUE="ID"
+
+ >Indonesia (ID)
+
+
+ <OPTION VALUE="IR"
+
+ >Iran, The Islamic Republic of (IR)
+
+
+ <OPTION VALUE="IQ"
+
+ >Iraq (IQ)
+
+
+ <OPTION VALUE="IE"
+
+ >Ireland (IE)
+
+
+ <OPTION VALUE="IM"
+
+ >Isle of Man (IM)
+
+
+ <OPTION VALUE="IL"
+
+ >Israel (IL)
+
+
+ <OPTION VALUE="IT"
+
+ >Italy (IT)
+
+
+ <OPTION VALUE="JM"
+
+ >Jamaica (JM)
+
+
+ <OPTION VALUE="JP"
+
+ >Japan (JP)
+
+
+ <OPTION VALUE="JE"
+
+ >Jersey (JE)
+
+
+ <OPTION VALUE="JO"
+
+ >Jordan (JO)
+
+
+ <OPTION VALUE="KZ"
+
+ >Kazakhstan (KZ)
+
+
+ <OPTION VALUE="KE"
+
+ >Kenya (KE)
+
+
+ <OPTION VALUE="KI"
+
+ >Kiribati (KI)
+
+
+ <OPTION VALUE="KP"
+
+ >Korea, The Democratic People's Republic of (KP)
+
+
+ <OPTION VALUE="KR"
+
+ >Korea, The Republic of (KR)
+
+
+ <OPTION VALUE="KW"
+
+ >Kuwait (KW)
+
+
+ <OPTION VALUE="KG"
+
+ >Kyrgyzstan (KG)
+
+
+ <OPTION VALUE="LA"
+
+ >Lao People's Democratic Republic (LA)
+
+
+ <OPTION VALUE="LV"
+
+ >Latvia (LV)
+
+
+ <OPTION VALUE="LB"
+
+ >Lebanon (LB)
+
+
+ <OPTION VALUE="LS"
+
+ >Lesotho (LS)
+
+
+ <OPTION VALUE="LR"
+
+ >Liberia (LR)
+
+
+ <OPTION VALUE="LY"
+
+ >Libya (LY)
+
+
+ <OPTION VALUE="LI"
+
+ >Liechtenstein (LI)
+
+
+ <OPTION VALUE="LT"
+
+ >Lithuania (LT)
+
+
+ <OPTION VALUE="LU"
+
+ >Luxembourg (LU)
+
+
+ <OPTION VALUE="MO"
+
+ >Macao (MO)
+
+
+ <OPTION VALUE="MK"
+
+ >Macedonia, The former Yugoslav Republic of (MK)
+
+
+ <OPTION VALUE="MG"
+
+ >Madagascar (MG)
+
+
+ <OPTION VALUE="MW"
+
+ >Malawi (MW)
+
+
+ <OPTION VALUE="MY"
+
+ >Malaysia (MY)
+
+
+ <OPTION VALUE="MV"
+
+ >Maldives (MV)
+
+
+ <OPTION VALUE="ML"
+
+ >Mali (ML)
+
+
+ <OPTION VALUE="MT"
+
+ >Malta (MT)
+
+
+ <OPTION VALUE="MH"
+
+ >Marshall Islands (MH)
+
+
+ <OPTION VALUE="MQ"
+
+ >Martinique (MQ)
+
+
+ <OPTION VALUE="MR"
+
+ >Mauritania (MR)
+
+
+ <OPTION VALUE="MU"
+
+ >Mauritius (MU)
+
+
+ <OPTION VALUE="YT"
+
+ >Mayotte (YT)
+
+
+ <OPTION VALUE="MX"
+
+ >Mexico (MX)
+
+
+ <OPTION VALUE="FM"
+
+ >Micronesia, The Federated States of (FM)
+
+
+ <OPTION VALUE="MD"
+
+ >Moldova, The Republic of (MD)
+
+
+ <OPTION VALUE="MC"
+
+ >Monaco (MC)
+
+
+ <OPTION VALUE="MN"
+
+ >Mongolia (MN)
+
+
+ <OPTION VALUE="ME"
+
+ >Montenegro (ME)
+
+
+ <OPTION VALUE="MS"
+
+ >Montserrat (MS)
+
+
+ <OPTION VALUE="MA"
+
+ >Morocco (MA)
+
+
+ <OPTION VALUE="MZ"
+
+ >Mozambique (MZ)
+
+
+ <OPTION VALUE="MM"
+
+ >Myanmar (MM)
+
+
+ <OPTION VALUE="NA"
+
+ >Namibia (NA)
+
+
+ <OPTION VALUE="NR"
+
+ >Nauru (NR)
+
+
+ <OPTION VALUE="NP"
+
+ >Nepal (NP)
+
+
+ <OPTION VALUE="NL"
+
+ >Netherlands (NL)
+
+
+ <OPTION VALUE="NC"
+
+ >New Caledonia (NC)
+
+
+ <OPTION VALUE="NZ"
+
+ >New Zealand (NZ)
+
+
+ <OPTION VALUE="NI"
+
+ >Nicaragua (NI)
+
+
+ <OPTION VALUE="NE"
+
+ >Niger (NE)
+
+
+ <OPTION VALUE="NG"
+
+ >Nigeria (NG)
+
+
+ <OPTION VALUE="NU"
+
+ >Niue (NU)
+
+
+ <OPTION VALUE="NF"
+
+ >Norfolk Island (NF)
+
+
+ <OPTION VALUE="MP"
+
+ >Northern Mariana Islands (MP)
+
+
+ <OPTION VALUE="NO"
+
+ >Norway (NO)
+
+
+ <OPTION VALUE="OM"
+
+ >Oman (OM)
+
+
+ <OPTION VALUE="PK"
+
+ >Pakistan (PK)
+
+
+ <OPTION VALUE="PW"
+
+ >Palau (PW)
+
+
+ <OPTION VALUE="PS"
+
+ >Palestine, State of (PS)
+
+
+ <OPTION VALUE="PA"
+
+ >Panama (PA)
+
+
+ <OPTION VALUE="PG"
+
+ >Papua New Guinea (PG)
+
+
+ <OPTION VALUE="PY"
+
+ >Paraguay (PY)
+
+
+ <OPTION VALUE="PE"
+
+ >Peru (PE)
+
+
+ <OPTION VALUE="PH"
+
+ >Philippines (PH)
+
+
+ <OPTION VALUE="PN"
+
+ >Pitcairn (PN)
+
+
+ <OPTION VALUE="PL"
+
+ >Poland (PL)
+
+
+ <OPTION VALUE="PT"
+
+ >Portugal (PT)
+
+
+ <OPTION VALUE="PR"
+
+ >Puerto Rico (PR)
+
+
+ <OPTION VALUE="QA"
+
+ >Qatar (QA)
+
+
+ <OPTION VALUE="RE"
+
+ >Reunion (RE)
+
+
+ <OPTION VALUE="RO"
+
+ >Romania (RO)
+
+
+ <OPTION VALUE="RU"
+
+ >Russian Federation (RU)
+
+
+ <OPTION VALUE="RW"
+
+ >Rwanda (RW)
+
+
+ <OPTION VALUE="BL"
+
+ >Saint Barthelemy (BL)
+
+
+ <OPTION VALUE="SH"
+
+ >Saint Helena, Ascension and Tristan da Cunha (SH)
+
+
+ <OPTION VALUE="KN"
+
+ >Saint Kitts and Nevis (KN)
+
+
+ <OPTION VALUE="LC"
+
+ >Saint Lucia (LC)
+
+
+ <OPTION VALUE="MF"
+
+ >Saint Martin (French part) (MF)
+
+
+ <OPTION VALUE="PM"
+
+ >Saint Pierre and Miquelon (PM)
+
+
+ <OPTION VALUE="VC"
+
+ >Saint Vincent and the Grenadines (VC)
+
+
+ <OPTION VALUE="WS"
+
+ >Samoa (WS)
+
+
+ <OPTION VALUE="SM"
+
+ >San Marino (SM)
+
+
+ <OPTION VALUE="ST"
+
+ >Sao Tome and Principe (ST)
+
+
+ <OPTION VALUE="SA"
+
+ >Saudi Arabia (SA)
+
+
+ <OPTION VALUE="SN"
+
+ >Senegal (SN)
+
+
+ <OPTION VALUE="RS"
+
+ >Serbia (RS)
+
+
+ <OPTION VALUE="SC"
+
+ >Seychelles (SC)
+
+
+ <OPTION VALUE="SL"
+
+ >Sierra Leone (SL)
+
+
+ <OPTION VALUE="SG"
+
+ >Singapore (SG)
+
+
+ <OPTION VALUE="SX"
+
+ >Sint Maarten (Dutch part) (SX)
+
+
+ <OPTION VALUE="SK"
+
+ >Slovakia (SK)
+
+
+ <OPTION VALUE="SI"
+
+ >Slovenia (SI)
+
+
+ <OPTION VALUE="SB"
+
+ >Solomon Islands (SB)
+
+
+ <OPTION VALUE="SO"
+
+ >Somalia (SO)
+
+
+ <OPTION VALUE="ZA"
+
+ >South Africa (ZA)
+
+
+ <OPTION VALUE="GS"
+
+ >South Georgia and the South Sandwich Islands (GS)
+
+
+ <OPTION VALUE="SS"
+
+ >South Sudan (SS)
+
+
+ <OPTION VALUE="ES"
+
+ >Spain (ES)
+
+
+ <OPTION VALUE="LK"
+
+ >Sri Lanka (LK)
+
+
+ <OPTION VALUE="SD"
+
+ >Sudan (SD)
+
+
+ <OPTION VALUE="SR"
+
+ >Suriname (SR)
+
+
+ <OPTION VALUE="SJ"
+
+ >Svalbard and Jan Mayen (SJ)
+
+
+ <OPTION VALUE="SZ"
+
+ >Swaziland (SZ)
+
+
+ <OPTION VALUE="SE"
+
+ >Sweden (SE)
+
+
+ <OPTION VALUE="CH"
+
+ >Switzerland (CH)
+
+
+ <OPTION VALUE="SY"
+
+ >Syrian Arab Republic (SY)
+
+
+ <OPTION VALUE="TW"
+
+ >Taiwan (Province of China) (TW)
+
+
+ <OPTION VALUE="TJ"
+
+ >Tajikistan (TJ)
+
+
+ <OPTION VALUE="TZ"
+
+ >Tanzania, United Republic of (TZ)
+
+
+ <OPTION VALUE="TH"
+
+ >Thailand (TH)
+
+
+ <OPTION VALUE="TL"
+
+ >Timor-Leste (TL)
+
+
+ <OPTION VALUE="TG"
+
+ >Togo (TG)
+
+
+ <OPTION VALUE="TK"
+
+ >Tokelau (TK)
+
+
+ <OPTION VALUE="TO"
+
+ >Tonga (TO)
+
+
+ <OPTION VALUE="TT"
+
+ >Trinidad and Tobago (TT)
+
+
+ <OPTION VALUE="TN"
+
+ >Tunisia (TN)
+
+
+ <OPTION VALUE="TR"
+
+ >Turkey (TR)
+
+
+ <OPTION VALUE="TM"
+
+ >Turkmenistan (TM)
+
+
+ <OPTION VALUE="TC"
+
+ >Turks and Caicos Islands (TC)
+
+
+ <OPTION VALUE="TV"
+
+ >Tuvalu (TV)
+
+
+ <OPTION VALUE="UG"
+
+ >Uganda (UG)
+
+
+ <OPTION VALUE="UA"
+
+ >Ukraine (UA)
+
+
+ <OPTION VALUE="AE"
+
+ >United Arab Emirates (AE)
+
+
+ <OPTION VALUE="GB"
+
+ >United Kingdom (GB)
+
+
+ <OPTION VALUE="UM"
+
+ >United States Minor Outlying Islands (UM)
+
+
+ <OPTION VALUE="UY"
+
+ >Uruguay (UY)
+
+
+ <OPTION VALUE="UZ"
+
+ >Uzbekistan (UZ)
+
+
+ <OPTION VALUE="VU"
+
+ >Vanuatu (VU)
+
+
+ <OPTION VALUE="VE"
+
+ >Venezuela, Bolivarian Republic of (VE)
+
+
+ <OPTION VALUE="VN"
+
+ >Viet Nam (VN)
+
+
+ <OPTION VALUE="VG"
+
+ >Virgin Islands (British) (VG)
+
+
+ <OPTION VALUE="VI"
+
+ >Virgin Islands (U.S.) (VI)
+
+
+ <OPTION VALUE="WF"
+
+ >Wallis and Futuna (WF)
+
+
+ <OPTION VALUE="EH"
+
+ >Western Sahara (EH)
+
+
+ <OPTION VALUE="YE"
+
+ >Yemen (YE)
+
+
+ <OPTION VALUE="ZM"
+
+ >Zambia (ZM)
+
+
+ <OPTION VALUE="ZW"
+
+ >Zimbabwe (ZW)
+
+
+</SELECT>
+
+</TD>
+</TR>
+
+<TR>
+ <TD ALIGN="right">Latitude</TD>
+ <TD COLSPAN=7>
+ <INPUT TYPE = "text"
+ NAME = "ship_latitude"
+ ID = "ship_latitude"
+ VALUE = "38.5000000"
+
+
+ >
+ Longitude
+ <INPUT TYPE = "text"
+ NAME = "ship_longitude"
+ ID = "ship_longitude"
+ VALUE = "-121.5000000"
+
+
+ >
+ </TD>
+</TR>
+ <INPUT TYPE = "hidden"
+ NAME = "ship_coord_auto"
+ ID = "ship_coord_auto"
+ VALUE = "Y"
+>
+
+
+ <INPUT TYPE = "hidden"
+ NAME = "ship_geocode"
+ ID = "ship_geocode"
+ VALUE = ""
+>
+
+
+ <INPUT TYPE = "hidden"
+ NAME = "ship_censustract"
+ ID = "ship_censustract"
+ VALUE = ""
+>
+
+
+ <INPUT TYPE = "hidden"
+ NAME = "ship_censusyear"
+ ID = "ship_censusyear"
+ VALUE = ""
+>
+
+
+<TR>
+ <TD ALIGN="right">Census tract</TD>
+ <TD COLSPAN=8>
+ <INPUT TYPE="text" SIZE=15
+ ID="ship_enter_censustract"
+ NAME="ship_enter_censustract"
+ VALUE="">
+ (automatic)
+ </TD>
+</TR>
+ <INPUT TYPE = "hidden"
+ NAME = "ship_district"
+ ID = "ship_district"
+ VALUE = ""
+>
+
+
+
+<INPUT TYPE = "hidden"
+ NAME = "old_ship_address1"
+ ID = "old_ship_address1"
+ VALUE = "46706 Kadin Hill #780"
+>
+
+
+<INPUT TYPE = "hidden"
+ NAME = "old_ship_city"
+ ID = "old_ship_city"
+ VALUE = "Owensboro"
+>
+
+
+<INPUT TYPE = "hidden"
+ NAME = "old_ship_state"
+ ID = "old_ship_state"
+ VALUE = "KS"
+>
+
+
+<INPUT TYPE = "hidden"
+ NAME = "old_ship_country"
+ ID = "old_ship_country"
+ VALUE = "US"
+>
+
+
+<INPUT TYPE = "hidden"
+ NAME = "old_ship_zip"
+ ID = "old_ship_zip"
+ VALUE = "69113"
+>
+
+
+<INPUT TYPE = "hidden"
+ NAME = "old_ship_latitude"
+ ID = "old_ship_latitude"
+ VALUE = "38.5000000"
+>
+
+
+<INPUT TYPE = "hidden"
+ NAME = "old_ship_longitude"
+ ID = "old_ship_longitude"
+ VALUE = "-121.5000000"
+>
+
+
+<INPUT TYPE = "hidden"
+ NAME = "old_ship_censustract"
+ ID = "old_ship_censustract"
+ VALUE = ""
+>
+
+
+<INPUT TYPE = "hidden"
+ NAME = "old_ship_district"
+ ID = "old_ship_district"
+ VALUE = ""
+>
+
+
+<INPUT TYPE = "hidden"
+ NAME = "old_ship_addr_clean"
+ ID = "old_ship_addr_clean"
+ VALUE = ""
+>
+
+
+<INPUT TYPE = "hidden"
+ NAME = "ship_cachenum"
+ ID = "ship_cachenum"
+ VALUE = ""
+>
+
+
+<INPUT TYPE = "hidden"
+ NAME = "ship_addr_clean"
+ ID = "ship_addr_clean"
+ VALUE = ""
+>
+
+
+
+<SCRIPT TYPE="text/javascript">
+(function() {
+ var myonload = function() {
+
+ var clear_coords_ids = [
+ 'ship_latitude',
+ 'ship_longitude',
+ 'ship_enter_censustract',
+ 'ship_censustract',
+ 'ship_district'
+ ];
+ function clear_coords() {
+ for (var i=0; i < clear_coords_ids.length; i++) {
+ var el = document.getElementById(clear_coords_ids[i]);
+ if ( el ) {
+ el.value = '';
+ }
+ }
+ }
+ var clear_coords_on_change = [
+ 'ship_address1',
+ 'ship_address2',
+ 'ship_city',
+ 'ship_state',
+ 'ship_zip',
+ 'ship_country'
+ ];
+ for (var i=0; i < clear_coords_on_change.length; i++) {
+ var el = document.getElementById(clear_coords_on_change[i]);
+ if ( el.addEventListener ) {
+ el.addEventListener('change', clear_coords);
+ } else if ( el.attachEvent ) {
+ el.attachEvent('onchange', clear_coords);
+ }
+ }
+ function clear_censustract() {
+ // if the user manually edits the census tract, clear the 'hard' census
+ // tract field so that we can re-verify and present a confirmation popup
+
+ // get the ID of the hidden censustract field
+ var censustract_id = this.id.replace('enter_', '');
+ var el = document.getElementById(censustract_id);
+ if (el) {
+ el.value = '';
+ }
+ }
+ var el = document.getElementById('ship_enter_censustract');
+ if (el) {
+ if ( el.addEventListener ) {
+ el.addEventListener('change', clear_censustract);
+ } else if ( el.attachEvent ) {
+ el.attachEvent('onchange', clear_censustract);
+ }
+ }
+
+
+ }
+ if ( window.addEventListener ) {
+ window.addEventListener('load', myonload);
+ } else if ( window.attachEvent ) {
+ window.attachEvent('onload', myonload);
+ }
+})();
+
+</SCRIPT>
+
+
+ <TR>
+ <TD COLSPAN="8">
+ <INPUT TYPE = "checkbox"
+ NAME = "invoice_ship_address"
+ ID = ""
+ VALUE = "Y"
+
+
+
+ >Include service address on invoices
+
+ </TD>
+ </TR>
+ </TABLE>
+ </DIV>
+ </TD>
+</TR></TABLE>
+
+<SCRIPT>
+function samechanged(what) {
+ var t1 = document.getElementById('table_ship_location');
+ if ( what.checked ) {
+ t1.style.visibility = 'hidden';
+ }
+ else {
+ t1.style.visibility = 'visible'
+ }
+}
+samechanged(document.getElementById('same'));
+</SCRIPT>
+
+<BR>
+
+<DIV ID="contacts_div" STYLE="display:">
+<BR>
+<FONT CLASS="fsinnerbox-title">Contacts</FONT>
+
+
+<TABLE ID="TableNumber0" BGCOLOR="#cccccc" BORDER=0 CELLSPACING=0>
+
+
+ <TR>
+
+ <TD ALIGN = "right"
+ VALIGN = "top"
+ STYLE = "padding-top: 3px"
+ ID = "contactnum_label0"
+ >Contact</TD>
+
+
+ <TD COLSPAN="6">
+
+ <INPUT TYPE="hidden" NAME="contactnum0" ID="contactnum0" VALUE="">
+
+ <TABLE STYLE="display:inline">
+ <TR>
+ <TD>
+ <SELECT NAME="contactnum0_classnum" onChange="
+spawn_contactnum(this);">
+ <OPTION VALUE="">
+ <OPTION VALUE="1"
+
+ >Service
+ </SELECT><BR>
+ <FONT SIZE="-1">Type</FONT>
+ </TD>
+
+ <TD>
+ <INPUT TYPE = "text"
+ NAME = "contactnum0_first"
+ ID = "contactnum0_first"
+ SIZE = "14"
+ VALUE = ""
+ onChange="
+spawn_contactnum(this);"
+ >
+ <BR>
+ <FONT SIZE="-1">First name</FONT>
+ </TD>
+
+ <TD>
+ <INPUT TYPE = "text"
+ NAME = "contactnum0_last"
+ ID = "contactnum0_last"
+ SIZE = "14"
+ VALUE = ""
+ onChange="
+spawn_contactnum(this);"
+ >
+ <BR>
+ <FONT SIZE="-1">Last name</FONT>
+ </TD>
+
+ <TD>
+ <INPUT TYPE = "text"
+ NAME = "contactnum0_title"
+ ID = "contactnum0_title"
+ SIZE = "12"
+ VALUE = ""
+ onChange="
+spawn_contactnum(this);"
+ >
+ <BR>
+ <FONT SIZE="-1">Title/Position</FONT>
+ </TD>
+
+ <TD>
+ <INPUT TYPE = "text"
+ NAME = "contactnum0_emailaddress"
+ ID = "contactnum0_emailaddress"
+ SIZE = "14"
+ VALUE = ""
+ onChange="
+spawn_contactnum(this);"
+ >
+ <BR>
+ <FONT SIZE="-1">Email</FONT>
+ </TD>
+
+ <TD>
+ <SELECT NAME = "contactnum0_selfservice_access"
+ ID = "contactnum0_selfservice_access"
+ >
+ <OPTION VALUE="">Disabled
+ </SELECT>
+
+ <BR>
+ <FONT SIZE="-1">Self-service</FONT>
+ </TD>
+
+ <TD>
+ <INPUT TYPE = "text"
+ NAME = "contactnum0_phonetypenum1"
+ ID = "contactnum0_phonetypenum1"
+ SIZE = "15"
+ VALUE = ""
+ onChange="
+spawn_contactnum(this);"
+ >
+ <BR>
+ <FONT SIZE="-1">Work phone</FONT>
+ </TD>
+
+ <TD>
+ <INPUT TYPE = "text"
+ NAME = "contactnum0_phonetypenum3"
+ ID = "contactnum0_phonetypenum3"
+ SIZE = "10"
+ VALUE = ""
+ onChange="
+spawn_contactnum(this);"
+ >
+ <BR>
+ <FONT SIZE="-1">Mobile phone</FONT>
+ </TD>
+
+ <TD>
+ <INPUT TYPE = "text"
+ NAME = "contactnum0_phonetypenum4"
+ ID = "contactnum0_phonetypenum4"
+ SIZE = "10"
+ VALUE = ""
+ onChange="
+spawn_contactnum(this);"
+ >
+ <BR>
+ <FONT SIZE="-1">Fax phone</FONT>
+ </TD>
+
+ <TD>
+ <INPUT TYPE = "text"
+ NAME = "contactnum0_comment"
+ ID = "contactnum0_comment"
+ SIZE = "14"
+ VALUE = ""
+ onChange="
+spawn_contactnum(this);"
+ >
+ <BR>
+ <FONT SIZE="-1">Comment</FONT>
+ </TD>
+ </TR>
+ </TABLE>
+
+
+ </TD>
+
+
+ </TR>
+
+
+ <SCRIPT TYPE="text/javascript">
+
+ var contactnum_rownum = 1;
+ var contactnum_fieldnum = 0;
+
+ function spawn_contactnum(what) {
+
+ // only spawn if we're the last element... return if not
+
+ var field_regex = /(\d+)(_[a-z_]+)?$/;
+ var match = field_regex.exec(what.name);
+ if ( !match ) {
+ alert(what.name + " didn't match for " + what);
+ return;
+ }
+ if ( match[1] != contactnum_fieldnum ) {
+ return;
+ }
+
+ // change the label on the last entry & add a remove button
+ var prev_label = document.getElementById('contactnum_label' + contactnum_fieldnum );
+ prev_label.innerHTML = '<INPUT TYPE="button" VALUE="X" TITLE="Remove this contact" onClick="remove_contactnum(' + contactnum_fieldnum + ');" STYLE="color:#ff0000;font-weight:bold;padding-left:2px;padding-right:2px" > Contact';
+
+ contactnum_fieldnum++;
+
+ //get the new widget
+
+
+ var newrow = '\n <INPUT TYPE="hidden" NAME="contactnumMAGIC_NUMBER" ID="contactnumMAGIC_NUMBER" VALUE="">\n\n <TABLE STYLE="display:inline">\n <TR>\n <TD>\n <SELECT NAME="contactnumMAGIC_NUMBER_classnum" onChange="\nspawn_contactnum(this);">\n <OPTION VALUE="">\n <OPTION VALUE="1"\n \n >Service\n </SELECT><BR>\n <FONT SIZE="-1">Type</FONT>\n </TD>\n\n <TD>\n <INPUT TYPE = "text"\n NAME = "contactnumMAGIC_NUMBER_first"\n ID = "contactnumMAGIC_NUMBER_first"\n SIZE = "14"\n VALUE = ""\n onChange="\nspawn_contactnum(this);"\n >\n <BR>\n <FONT SIZE="-1">First name</FONT>\n </TD>\n\n <TD>\n <INPUT TYPE = "text"\n NAME = "contactnumMAGIC_NUMBER_last"\n ID = "contactnumMAGIC_NUMBER_last"\n SIZE = "14"\n VALUE = ""\n onChange="\nspawn_contactnum(this);"\n >\n <BR>\n <FONT SIZE="-1">Last name</FONT>\n </TD>\n\n <TD>\n <INPUT TYPE = "text"\n NAME = "contactnumMAGIC_NUMBER_title"\n ID = "contactnumMAGIC_NUMBER_title"\n SIZE = "12"\n VALUE = ""\n onChange="\nspawn_contactnum(this);"\n >\n <BR>\n <FONT SIZE="-1">Title/Position</FONT>\n </TD>\n\n <TD>\n <INPUT TYPE = "text"\n NAME = "contactnumMAGIC_NUMBER_emailaddress"\n ID = "contactnumMAGIC_NUMBER_emailaddress"\n SIZE = "14"\n VALUE = ""\n onChange="\nspawn_contactnum(this);"\n >\n <BR>\n <FONT SIZE="-1">Email</FONT>\n </TD>\n\n <TD>\n <SELECT NAME = "contactnumMAGIC_NUMBER_selfservice_access"\n ID = "contactnumMAGIC_NUMBER_selfservice_access"\n >\n <OPTION VALUE="">Disabled\n </SELECT>\n\n <BR>\n <FONT SIZE="-1">Self-service</FONT>\n </TD>\n\n <TD>\n <INPUT TYPE = "text"\n NAME = "contactnumMAGIC_NUMBER_phonetypenum1"\n ID = "contactnumMAGIC_NUMBER_phonetypenum1"\n SIZE = "15"\n VALUE = ""\n onChange="\nspawn_contactnum(this);"\n >\n <BR>\n <FONT SIZE="-1">Work phone</FONT>\n </TD>\n\n <TD>\n <INPUT TYPE = "text"\n NAME = "contactnumMAGIC_NUMBER_phonetypenum3"\n ID = "contactnumMAGIC_NUMBER_phonetypenum3"\n SIZE = "10"\n VALUE = ""\n onChange="\nspawn_contactnum(this);"\n >\n <BR>\n <FONT SIZE="-1">Mobile phone</FONT>\n </TD>\n\n <TD>\n <INPUT TYPE = "text"\n NAME = "contactnumMAGIC_NUMBER_phonetypenum4"\n ID = "contactnumMAGIC_NUMBER_phonetypenum4"\n SIZE = "10"\n VALUE = ""\n onChange="\nspawn_contactnum(this);"\n >\n <BR>\n <FONT SIZE="-1">Fax phone</FONT>\n </TD>\n\n <TD>\n <INPUT TYPE = "text"\n NAME = "contactnumMAGIC_NUMBER_comment"\n ID = "contactnumMAGIC_NUMBER_comment"\n SIZE = "14"\n VALUE = ""\n onChange="\nspawn_contactnum(this);"\n >\n <BR>\n <FONT SIZE="-1">Comment</FONT>\n </TD>\n </TR>\n </TABLE>\n\n';
+
+ var newfunc = '';
+
+ // substitute in the new field name
+ var magic_regex = /MAGIC_NUMBER/g;
+ newrow = newrow.replace( magic_regex, contactnum_fieldnum );
+ newfunc = newfunc.replace( magic_regex, contactnum_fieldnum );
+
+ // evaluate new_func
+ if (window.ActiveXObject) {
+ window.execScript(newfunc);
+ } else { /* (window.XMLHttpRequest) */
+ //window.eval(newfunc);
+ setTimeout(newfunc, 0);
+ }
+
+ // add new row
+
+ //hmm, can't use selectlayers after a tablebreak-title for now
+ var table = document.getElementById('TableNumber0');
+
+ var row = table.insertRow(contactnum_rownum++);
+
+ var label_cell = document.createElement('TD');
+
+ label_cell.id = 'contactnum_label' + contactnum_fieldnum;
+
+ label_cell.style.textAlign = "right";
+ label_cell.style.verticalAlign = "top";
+ label_cell.style.borderTop = "1px solid black";
+ label_cell.style.paddingTop = "5px";
+
+ label_cell.innerHTML = 'Contact';
+
+ row.appendChild(label_cell);
+
+ var widget_cell = document.createElement('TD');
+
+ widget_cell.style.borderTop = "1px solid black";
+ widget_cell.style.paddingTop = "3px";
+ widget_cell.colSpan = "6";
+
+ widget_cell.innerHTML = newrow;
+
+ row.appendChild(widget_cell);
+
+
+
+ }
+
+ function remove_contactnum(remove_fieldnum) {
+ //alert("remove contactnum " + remove_fieldnum);
+ var select = document.getElementById('contactnum' + remove_fieldnum);
+
+ if ( ! select ) {
+ alert("can't find element contactnum" + remove_fieldnum);
+ return;
+ }
+
+
+ select.disabled = 'disabled'; // this seems to prevent it from being submitted on tested browsers so far (IE, moz, konq at least)
+ var label_td = document.getElementById('contactnum_label' + remove_fieldnum );
+ label_td.parentNode.style.display = 'none';
+
+
+ }
+
+ </SCRIPT>
+
+
+
+
+
+</TABLE>
+
+
+
+
+</DIV>
+
+
+
+ <BR><FONT CLASS="fsinnerbox-title">Billing information</FONT>
+ <TABLE BGCOLOR="#cccccc" BORDER=0 CELLSPACING=0>
+
+ <TR>
+ <TD ALIGN="right" WIDTH="200"><font color="#ff0000">*</font> Billing type</TD>
+
+ <SCRIPT>
+
+ var mywindow = -1;
+ function myopen(filename,windowname,properties) {
+ myclose();
+ mywindow = window.open(filename,windowname,properties);
+ }
+ function myclose() {
+ if ( mywindow != -1 )
+ mywindow.close();
+ mywindow = -1;
+ }
+
+ var achwindow = -1;
+ function achopen(filename,windowname,properties) {
+ achclose();
+ achwindow = window.open(filename,windowname,properties);
+ }
+ function achclose() {
+ if ( achwindow != -1 )
+ achwindow.close();
+ achwindow = -1;
+ }
+
+ function card_changed(what) {
+ if (
+ what.form.payinfo.value.substring(0, 4) == '4093'
+ || what.form.payinfo.value.substring(0, 4) == '4911'
+ || what.form.payinfo.value.substring(0, 4) == '4936'
+ || what.form.payinfo.value.substring(0, 6) == '564132'
+ || what.form.payinfo.value.substring(0, 2) == '63'
+ || what.form.payinfo.value.substring(0, 2) == '67'
+ )
+ {
+ what.form.paystart_month.disabled = false;
+ what.form.paystart_year.disabled = false;
+ what.form.payissue.disabled = false;
+ what.form.paystart_month.style.backgroundColor = '#ffffff';
+ what.form.paystart_year.style.backgroundColor = '#ffffff';
+ what.form.payissue.style.backgroundColor = '#ffffff';
+ document.getElementById('paystart_label').style.color = '#000000';
+ document.getElementById('payissue_label').style.color = '#000000';
+ } else {
+ what.form.paystart_month.disabled = true;
+ what.form.paystart_year.disabled = true;
+ what.form.payissue.disabled = true;
+ what.form.paystart_month.style.backgroundColor = '#dddddd';
+ what.form.paystart_year.style.backgroundColor = '#dddddd';
+ what.form.payissue.style.backgroundColor = '#dddddd';
+ document.getElementById('paystart_label').style.color = '#999999';
+ document.getElementById('payissue_label').style.color = '#999999';
+ }
+ return true;
+ }
+
+ function init_payauto_changed(){
+ var f = document.getElementById('CARD_payauto');
+ if(f != null) payauto_changed(f);
+ f = document.getElementById('CHEK_payauto');
+ if(f != null) payauto_changed(f);
+ }
+
+ function payauto_changed(payauto_field){
+ var select = (payauto_field.name == 'CARD_payauto') ? 'CARD_billday' : 'CHEK_billday';
+ var span = document.getElementById('td_'+select);
+ select = document.getElementById(select);
+ if (span == null || select == null) return;
+ if(payauto_field.checked) {
+ span.style.color = '#000000';
+ select.disabled = false;
+ }
+ else {
+ span.style.color = '#999999';
+ select.disabled = true;
+ //why? select.selectedIndex = 0;
+ }
+ }
+
+ function tax_changed(what) {
+ var num = document.getElementById(what.id + '_num');
+ if ( what.checked ) {
+ num.disabled = false;
+ } else {
+ num.disabled = true;
+ }
+ }
+
+ </SCRIPT>
+
+
+
+
+ <TD WIDTH="408">
+ <SCRIPT TYPE="text/javascript">
+
+
+ function paybychanged(what) {
+
+ init_payauto_changed();
+
+ var paybylayer = what.options[what.selectedIndex].value;
+
+ if (paybylayer == "CARD" ) {
+
+ document.getElementById('paybydCHEK').style.display = "none";
+ document.getElementById('paybydCHEK').style.zIndex = 0;
+ document.getElementById('paybydLECB').style.display = "none";
+ document.getElementById('paybydLECB').style.zIndex = 0;
+ document.getElementById('paybydBILL').style.display = "none";
+ document.getElementById('paybydBILL').style.zIndex = 0;
+ document.getElementById('paybydCOMP').style.display = "none";
+ document.getElementById('paybydCOMP').style.zIndex = 0;
+
+ document.getElementById('paybydCARD').style.display = "";
+ document.getElementById('paybydCARD').style.zIndex = 1;
+
+ }
+ if (paybylayer == "CHEK" ) {
+
+ document.getElementById('paybydCARD').style.display = "none";
+ document.getElementById('paybydCARD').style.zIndex = 0;
+ document.getElementById('paybydLECB').style.display = "none";
+ document.getElementById('paybydLECB').style.zIndex = 0;
+ document.getElementById('paybydBILL').style.display = "none";
+ document.getElementById('paybydBILL').style.zIndex = 0;
+ document.getElementById('paybydCOMP').style.display = "none";
+ document.getElementById('paybydCOMP').style.zIndex = 0;
+
+ document.getElementById('paybydCHEK').style.display = "";
+ document.getElementById('paybydCHEK').style.zIndex = 1;
+
+ }
+ if (paybylayer == "LECB" ) {
+
+ document.getElementById('paybydCARD').style.display = "none";
+ document.getElementById('paybydCARD').style.zIndex = 0;
+ document.getElementById('paybydCHEK').style.display = "none";
+ document.getElementById('paybydCHEK').style.zIndex = 0;
+ document.getElementById('paybydBILL').style.display = "none";
+ document.getElementById('paybydBILL').style.zIndex = 0;
+ document.getElementById('paybydCOMP').style.display = "none";
+ document.getElementById('paybydCOMP').style.zIndex = 0;
+
+ document.getElementById('paybydLECB').style.display = "";
+ document.getElementById('paybydLECB').style.zIndex = 1;
+
+ }
+ if (paybylayer == "BILL" ) {
+
+ document.getElementById('paybydCARD').style.display = "none";
+ document.getElementById('paybydCARD').style.zIndex = 0;
+ document.getElementById('paybydCHEK').style.display = "none";
+ document.getElementById('paybydCHEK').style.zIndex = 0;
+ document.getElementById('paybydLECB').style.display = "none";
+ document.getElementById('paybydLECB').style.zIndex = 0;
+ document.getElementById('paybydCOMP').style.display = "none";
+ document.getElementById('paybydCOMP').style.zIndex = 0;
+
+ document.getElementById('paybydBILL').style.display = "";
+ document.getElementById('paybydBILL').style.zIndex = 1;
+
+ }
+ if (paybylayer == "COMP" ) {
+
+ document.getElementById('paybydCARD').style.display = "none";
+ document.getElementById('paybydCARD').style.zIndex = 0;
+ document.getElementById('paybydCHEK').style.display = "none";
+ document.getElementById('paybydCHEK').style.zIndex = 0;
+ document.getElementById('paybydLECB').style.display = "none";
+ document.getElementById('paybydLECB').style.zIndex = 0;
+ document.getElementById('paybydBILL').style.display = "none";
+ document.getElementById('paybydBILL').style.zIndex = 0;
+
+ document.getElementById('paybydCOMP').style.display = "";
+ document.getElementById('paybydCOMP').style.zIndex = 1;
+
+ }
+
+ //init_payauto_changed();
+
+ }
+ </SCRIPT>
+
+ <SELECT NAME = "payby"
+ ID = "payby"
+ previousValue = "CARD"
+ previousText = "Credit card"
+ onChange="paybychanged(this);"
+ >
+
+
+ <OPTION VALUE="CARD"
+ SELECTED
+ >Credit card</OPTION>
+
+
+ <OPTION VALUE="CHEK"
+
+ >Electronic check</OPTION>
+
+
+ <OPTION VALUE="LECB"
+
+ >Phone bill billing</OPTION>
+
+
+ <OPTION VALUE="BILL"
+
+ >Billing</OPTION>
+
+
+ <OPTION VALUE="COMP"
+
+ >Complimentary</OPTION>
+
+
+ </SELECT>
+
+
+</TD></TR></TABLE>
+
+
+
+ <DIV ID="paybydCARD"
+ STYLE="display: block; z-index: 1"
+ >
+
+ <TABLE BGCOLOR="#cccccc" BORDER=0 CELLSPACING=0 HEIGHT=192><TR><TD ALIGN="right" WIDTH="200"><font color="#ff0000">*</font> Card number </TD><TD WIDTH="408"><INPUT TYPE="text" NAME="CARD_payinfo" VALUE="412325xxxxxx4150" MAXLENGTH=19 onChange="card_changed(this)" onKeyUp="card_changed(this)"></TD></TR><TR><TD ALIGN="right" WIDTH="200"><font color="#ff0000">*</font> Expiration </TD><TD WIDTH="408"><SELECT NAME="CARD_exp_month" SIZE="1" >
+
+
+
+ <OPTION VALUE="1">01
+
+ <OPTION VALUE="2">02
+
+ <OPTION VALUE="3">03
+
+ <OPTION VALUE="4">04
+
+ <OPTION SELECTED VALUE="5">05
+
+ <OPTION VALUE="6">06
+
+ <OPTION VALUE="7">07
+
+ <OPTION VALUE="8">08
+
+ <OPTION VALUE="9">09
+
+ <OPTION VALUE="10">10
+
+ <OPTION VALUE="11">11
+
+ <OPTION VALUE="12">12
+
+
+</SELECT>/<SELECT NAME="CARD_exp_year" SIZE="1" >
+
+
+
+ <OPTION VALUE="2016">2016
+
+ <OPTION VALUE="2017">2017
+
+ <OPTION VALUE="2018">2018
+
+ <OPTION VALUE="2019">2019
+
+ <OPTION SELECTED VALUE="2020">2020
+
+ <OPTION VALUE="2021">2021
+
+ <OPTION VALUE="2022">2022
+
+ <OPTION VALUE="2023">2023
+
+ <OPTION VALUE="2024">2024
+
+ <OPTION VALUE="2025">2025
+
+ <OPTION VALUE="2026">2026
+
+ <OPTION VALUE="2027">2027
+
+ <OPTION VALUE="2028">2028
+
+ <OPTION VALUE="2029">2029
+
+ <OPTION VALUE="2030">2030
+
+ <OPTION VALUE="2031">2031
+
+ <OPTION VALUE="2032">2032
+
+ <OPTION VALUE="2033">2033
+
+ <OPTION VALUE="2034">2034
+
+ <OPTION VALUE="2035">2035
+
+ <OPTION VALUE="2036">2036
+
+ <OPTION VALUE="2037">2037
+
+</SELECT>
+
+</TD></TR><TR><TD ALIGN="right" WIDTH="200">CVV2 (<A HREF="javascript:void(0);" onClick="overlib( OLiframeContent('../docs/cvv2.html', 480, 352, 'cvv2_popup' ), CAPTION, 'CVV2 Help', STICKY, AUTOSTATUSCAP, CLOSECLICK, DRAGGABLE ); return false;">help</A>)</TD><TD WIDTH="408"><INPUT TYPE="text" NAME="CARD_paycvv" VALUE="" SIZE=4 MAXLENGTH=4><TR><TD ALIGN="right" WIDTH="200"><SPAN ID="paystart_label" style="color: #999999">Start date </SPAN></TD><TD WIDTH="408"><SELECT NAME="CARD_paystart_month" SIZE="1" DISABLED style="background-color: #dddddd">
+
+<OPTION VALUE="">
+
+ <OPTION VALUE="1">01
+
+ <OPTION VALUE="2">02
+
+ <OPTION VALUE="3">03
+
+ <OPTION VALUE="4">04
+
+ <OPTION VALUE="5">05
+
+ <OPTION VALUE="6">06
+
+ <OPTION VALUE="7">07
+
+ <OPTION VALUE="8">08
+
+ <OPTION VALUE="9">09
+
+ <OPTION VALUE="10">10
+
+ <OPTION VALUE="11">11
+
+ <OPTION VALUE="12">12
+
+
+</SELECT>/<SELECT NAME="CARD_paystart_year" SIZE="1" DISABLED style="background-color: #dddddd">
+
+<OPTION VALUE="">
+
+ <OPTION VALUE="2000">2000
+
+ <OPTION VALUE="2001">2001
+
+ <OPTION VALUE="2002">2002
+
+ <OPTION VALUE="2003">2003
+
+ <OPTION VALUE="2004">2004
+
+ <OPTION VALUE="2005">2005
+
+ <OPTION VALUE="2006">2006
+
+ <OPTION VALUE="2007">2007
+
+ <OPTION VALUE="2008">2008
+
+ <OPTION VALUE="2009">2009
+
+ <OPTION VALUE="2010">2010
+
+ <OPTION VALUE="2011">2011
+
+ <OPTION VALUE="2012">2012
+
+ <OPTION VALUE="2013">2013
+
+ <OPTION VALUE="2014">2014
+
+ <OPTION VALUE="2015">2015
+
+ <OPTION VALUE="2016">2016
+
+</SELECT>
+
+<SPAN ID="payissue_label" style="color: #999999">or Issue number </SPAN><INPUT TYPE="text" NAME="CARD_payissue" VALUE="" SIZE=3 MAXLENGTH=2 DISABLED style="background-color: #dddddd"></TD></TR><TR><TD ALIGN="right" WIDTH="200"><font color="#ff0000">*</font> Exact name on card </TD><TD WIDTH="408"><INPUT TYPE="text" NAME="CARD_payname" VALUE="Samara Towne"></TD></TR><TR><TD COLSPAN=2 WIDTH="608"><INPUT TYPE="checkbox" onchange="payauto_changed(this);" ID="CARD_payauto" NAME="CARD_payauto" CHECKED> Charge future payments to this credit card automatically</TD></TR></TABLE>
+
+ </DIV>
+
+
+ <DIV ID="paybydCHEK"
+ STYLE="display: none; z-index: 0"
+ >
+
+ <TABLE BGCOLOR="#cccccc" BORDER=0 CELLSPACING=0 HEIGHT=192><TR><TD ALIGN="right" WIDTH="200"><font color="#ff0000">*</font> Account number </TD><TD><INPUT TYPE="text" SIZE=12 NAME="CHEK_payinfo1" VALUE=""></TD><TD ALIGN="right">Type</TD><TD><SELECT NAME="CHEK_paytype"><OPTION VALUE="" SELECTED></OPTION><OPTION VALUE="Personal checking" >Personal checking</OPTION><OPTION VALUE="Personal savings" >Personal savings</OPTION><OPTION VALUE="Business checking" >Business checking</OPTION><OPTION VALUE="Business savings" >Business savings</OPTION></SELECT></TD></TR><TR><TD ALIGN="right" WIDTH="200"><font color="#ff0000">*</font> ABA/Routing number </TD><TD COLSPAN="3" WIDTH="408"><INPUT TYPE="text" SIZE=10 MAXLENGTH=9 NAME="CHEK_payinfo2" VALUE=""> (<A HREF="javascript:void(0);" onClick="overlib( OLiframeContent('../docs/ach.html', 380, 240, 'ach_popup' ), CAPTION, 'ACH Help', STICKY, AUTOSTATUSCAP, CLOSECLICK, DRAGGABLE ); return false;">help</A>)</TD></TR><INPUT TYPE="hidden" NAME="CHEK_exp_month" VALUE="12"><INPUT TYPE="hidden" NAME="CHEK_exp_year" VALUE="2037"><TR><TD ALIGN="right" WIDTH="200"><font color="#ff0000">*</font> Bank name </TD><TD COLSPAN="3" WIDTH="408"><INPUT TYPE="text" NAME="CHEK_payname" VALUE=""></TD></TR><INPUT TYPE="hidden" NAME="CHEK_paystate" VALUE=""><TR><TD COLSPAN=4 WIDTH="608"><INPUT TYPE="checkbox" onchange="payauto_changed(this);" ID="CHEK_payauto" NAME="CHEK_payauto" CHECKED> Charge future payments to this electronic check automatically</TD></TR></TABLE>
+
+ </DIV>
+
+
+ <DIV ID="paybydLECB"
+ STYLE="display: none; z-index: 0"
+ >
+
+ <TABLE BGCOLOR="#cccccc" BORDER=0 CELLSPACING=0 HEIGHT=192><TR><TD ALIGN="right" WIDTH="200"><font color="#ff0000">*</font> Phone number </TD><TD WIDTH="408"><INPUT TYPE="text" NAME="LECB_payinfo" VALUE="" MAXLENGTH=15 SIZE=16></TD></TR><INPUT TYPE="hidden" NAME="LECB_exp_month" VALUE="12"><INPUT TYPE="hidden" NAME="LECB_exp_year" VALUE="2037"><INPUT TYPE="hidden" NAME="LECB_payname" VALUE=""><TR><TD> </TD></TR><TR><TD> </TD></TR><TR><TD> </TD></TR><TR><TD> </TD></TR><TR><TD> </TD></TR><TR><TD> </TD></TR></TABLE>
+
+ </DIV>
+
+
+ <DIV ID="paybydBILL"
+ STYLE="display: none; z-index: 0"
+ >
+
+ <TABLE BGCOLOR="#cccccc" BORDER=0 CELLSPACING=0 HEIGHT=192><TR><TD ALIGN="right" WIDTH="200">P.O. </TD><TD WIDTH="408"><INPUT TYPE="text" NAME="BILL_payinfo" VALUE=""></TD></TR><INPUT TYPE="hidden" NAME="BILL_exp_month" VALUE="12"><INPUT TYPE="hidden" NAME="BILL_exp_year" VALUE="2037"><TR><TD ALIGN="right" WIDTH="200">Attention </TD><TD WIDTH="408"><INPUT TYPE="text" NAME="BILL_payname" VALUE=""></TD></TR><TR><TD> </TD></TR><TR><TD> </TD></TR><TR><TD> </TD></TR><TR><TD> </TD></TR><TR><TD> </TD></TR></TABLE>
+
+ </DIV>
+
+
+ <DIV ID="paybydCOMP"
+ STYLE="display: none; z-index: 0"
+ >
+
+ <TABLE BGCOLOR="#cccccc" BORDER=0 CELLSPACING=0 HEIGHT=192><TR><TD ALIGN="right" WIDTH="200"><font color="#ff0000">*</font> Approved by </TD><TD WIDTH="408"><INPUT TYPE="text" NAME="COMP_payinfo" VALUE=""></TD></TR><TR><TD ALIGN="right" WIDTH="200"><font color="#ff0000">*</font> Expiration </TD><TD WIDTH="408"><SELECT NAME="COMP_exp_month" SIZE="1" >
+
+
+
+ <OPTION VALUE="1">01
+
+ <OPTION VALUE="2">02
+
+ <OPTION VALUE="3">03
+
+ <OPTION VALUE="4">04
+
+ <OPTION VALUE="5">05
+
+ <OPTION VALUE="6">06
+
+ <OPTION VALUE="7">07
+
+ <OPTION VALUE="8">08
+
+ <OPTION VALUE="9">09
+
+ <OPTION VALUE="10">10
+
+ <OPTION VALUE="11">11
+
+ <OPTION VALUE="12">12
+
+
+</SELECT>/<SELECT NAME="COMP_exp_year" SIZE="1" >
+
+
+
+ <OPTION VALUE="2016">2016
+
+ <OPTION VALUE="2017">2017
+
+ <OPTION VALUE="2018">2018
+
+ <OPTION VALUE="2019">2019
+
+ <OPTION VALUE="2020">2020
+
+ <OPTION VALUE="2021">2021
+
+ <OPTION VALUE="2022">2022
+
+ <OPTION VALUE="2023">2023
+
+ <OPTION VALUE="2024">2024
+
+ <OPTION VALUE="2025">2025
+
+ <OPTION VALUE="2026">2026
+
+ <OPTION VALUE="2027">2027
+
+ <OPTION VALUE="2028">2028
+
+ <OPTION VALUE="2029">2029
+
+ <OPTION VALUE="2030">2030
+
+ <OPTION VALUE="2031">2031
+
+ <OPTION VALUE="2032">2032
+
+ <OPTION VALUE="2033">2033
+
+ <OPTION VALUE="2034">2034
+
+ <OPTION VALUE="2035">2035
+
+ <OPTION VALUE="2036">2036
+
+ <OPTION VALUE="2037">2037
+
+</SELECT>
+
+</TD></TR><TR><TD> </TD></TR><TR><TD> </TD></TR><TR><TD> </TD></TR><TR><TD> </TD></TR><TR><TD> </TD></TR></TABLE>
+
+ </DIV>
+
+
+
+
+ <TABLE BGCOLOR="#cccccc" BORDER=0 CELLSPACING=0>
+
+ <TR><TD> </TD></TR>
+
+
+ <TR>
+ <TD WIDTH="608" COLSPAN="2"><INPUT TYPE="checkbox" NAME="tax" VALUE="Y" > Tax Exempt</TD>
+ </TR>
+
+
+
+
+ <TR>
+ <TD WIDTH="608" COLSPAN="2"><INPUT TYPE="checkbox" NAME="invoicing_list_POST" VALUE="POST" > Postal mail invoices
+
+ </TD>
+ </TR>
+
+ <TR>
+ <TD WIDTH="608" COLSPAN="2"><INPUT TYPE="checkbox" NAME="invoicing_list_FAX" VALUE="FAX" > Fax invoices
+
+ </TD>
+ </TR>
+
+
+ <TR>
+ <TD WIDTH="608" COLSPAN="2"><INPUT TYPE="checkbox" NAME="invoice_email" VALUE="Y" CHECKED> Email invoices
+
+ </TD>
+ </TR>
+
+ <TR>
+ <TD ALIGN="right" WIDTH="200">
+ Email address(es)
+ </TD>
+ <TD WIDTH="408"><INPUT TYPE="text" NAME="invoicing_list" VALUE="">
+ <INPUT TYPE="checkbox" NAME="message_noemail" VALUE="Y" > Do not send notices
+ </TD>
+ </TR>
+
+ <INPUT TYPE="hidden" NAME="prorate_day" VALUE="">
+
+ <TR>
+ <TD ALIGN="right" WIDTH="200">Invoice terms </TD>
+ <TD WIDTH="408">
+ <SELECT NAME = "invoice_terms"
+ ID = "invoice_terms"
+
+>
+# #false laziness w/select-table.html
+
+ <OPTION VALUE="">Default (Payable upon receipt)
+ <OPTION VALUE="Payable upon receipt" >Payable upon receipt
+ <OPTION VALUE="Net 0" >Net 0
+ <OPTION VALUE="Net 3" >Net 3
+ <OPTION VALUE="Net 5" >Net 5
+ <OPTION VALUE="Net 9" >Net 9
+ <OPTION VALUE="Net 10" >Net 10
+ <OPTION VALUE="Net 14" >Net 14
+ <OPTION VALUE="Net 15" >Net 15
+ <OPTION VALUE="Net 18" >Net 18
+ <OPTION VALUE="Net 20" >Net 20
+ <OPTION VALUE="Net 21" >Net 21
+ <OPTION VALUE="Net 25" >Net 25
+ <OPTION VALUE="Net 30" >Net 30
+ <OPTION VALUE="Net 45" >Net 45
+ <OPTION VALUE="Net 60" >Net 60
+ <OPTION VALUE="Net 90" >Net 90
+</SELECT>
+
+ </TD>
+ </TR>
+
+ <TR>
+ <TD ALIGN="right" WIDTH="200">Credit limit </TD>
+ <TD WIDTH="408">
+ <SCRIPT TYPE="text/javascript">
+function toggle(obj) {
+ obj.form.credit_limit.disabled = obj.checked;
+}
+ </SCRIPT>
+ <INPUT TYPE = "text"
+ NAME = "credit_limit"
+ VALUE = "0.00"
+ DISABLED
+ >
+ <INPUT TYPE = "checkbox"
+ NAME = "no_credit_limit"
+ VALUE = 1
+ onClick="toggle(this)"
+ CHECKED
+ > Unlimited
+ </TD>
+ </TR>
+
+ <INPUT TYPE="hidden" NAME="spool_cdr" VALUE="">
+
+ <INPUT TYPE="hidden" NAME="squelch_cdr" VALUE="">
+
+ <INPUT TYPE="hidden" NAME="email_csv_cdr" VALUE="">
+
+ <INPUT TYPE="hidden" NAME="accountcode_cdr" VALUE="">
+
+ <INPUT TYPE="hidden" NAME="cdr_termination_percentage" VALUE="">
+
+
+ </TABLE>
+
+ <font color="#ff0000">*</font> required fields
+
+<script type="text/javascript">
+ init_payauto_changed();
+</script>
+
+
+<BR>
+
+
+
+<INPUT TYPE="hidden" NAME="locationnum" VALUE="">
+
+<INPUT TYPE="hidden" NAME="usernum" VALUE="3">
+
+ <INPUT TYPE="hidden" NAME="payauto" VALUE="">
+ <INPUT TYPE="hidden" NAME="billday" VALUE="">
+ <INPUT TYPE="hidden" NAME="payinfo" VALUE="">
+ <INPUT TYPE="hidden" NAME="payinfo1" VALUE="">
+ <INPUT TYPE="hidden" NAME="payinfo2" VALUE="">
+ <INPUT TYPE="hidden" NAME="payinfo3" VALUE="">
+ <INPUT TYPE="hidden" NAME="paytype" VALUE="">
+ <INPUT TYPE="hidden" NAME="payname" VALUE="">
+ <INPUT TYPE="hidden" NAME="paystate" VALUE="">
+ <INPUT TYPE="hidden" NAME="exp_month" VALUE="">
+ <INPUT TYPE="hidden" NAME="exp_year" VALUE="">
+ <INPUT TYPE="hidden" NAME="paycvv" VALUE="">
+ <INPUT TYPE="hidden" NAME="paystart_month" VALUE="">
+ <INPUT TYPE="hidden" NAME="paystart_year" VALUE="">
+ <INPUT TYPE="hidden" NAME="payissue" VALUE="">
+ <INPUT TYPE="hidden" NAME="payip" VALUE="">
+ <INPUT TYPE="hidden" NAME="paid" VALUE="">
+
+
+
+<SCRIPT TYPE="text/javascript">
+
+ function rs_init_object() {
+ var A;
+ try {
+ A=new ActiveXObject("Msxml2.XMLHTTP");
+ } catch (e) {
+ try {
+ A=new ActiveXObject("Microsoft.XMLHTTP");
+ } catch (oc) {
+ A=null;
+ }
+ }
+ if(!A && typeof XMLHttpRequest != "undefined")
+ A = new XMLHttpRequest();
+ if (!A)
+ alert("Can't create XMLHttpRequest object");
+ return A;
+
+ }
+
+</SCRIPT>
+
+
+<SCRIPT TYPE="text/javascript">
+
+
+ function address_standardize() {
+ // count args; build URL
+ var url = "http://localhost/freeside/misc/xmlhttp-address_standardize.html";
+ var a = address_standardize.arguments;
+
+ var args;
+ var len;
+ var content = 'sub=address_standardize';
+ if ( a && typeof a == 'object' && a[0].constructor == Array ) {
+ args = a[0];
+ len = args.length
+ } else {
+ args = a;
+ len = args.length - 1;
+ }
+ for (var i = 0; i < len; i++)
+ content = content + "&arg=" + escape(args[i]);
+ content = content.replace( /[+]/g, '%2B'); // fix unescaped plus signs
+
+ if ( 'POST' == 'GET' ) {
+ url = url + content;
+ }
+
+ //alert('POST ' + url);
+
+ var xmlhttp = rs_init_object();
+ xmlhttp.open("POST", url, true);
+
+ xmlhttp.onreadystatechange = function() {
+ if (xmlhttp.readyState != 4)
+ return;
+
+ if (xmlhttp.status != 200) {
+ if ( xmlhttp.status != 0 ) {
+ //not warning on the 0 errors, they pop up when navagating away
+ // from the page
+ alert(xmlhttp.status + " status connecting to " + url);
+ }
+ } else {
+ var data = xmlhttp.responseText;
+ //alert('received response: ' + data);
+ if ( data.indexOf("<b>System error</b>") > -1 ) {
+ // trim this a little
+ var end = data.indexOf('<a href="#raw">') - 1;
+ data = data.substring(0, end);
+
+ overlib(data,
+ WIDTH, 480, MIDX, 0, MIDY, 0,
+ CAPTION, 'Error', STICKY, AUTOSTATUSCAP, DRAGGABLE,
+ CLOSECLICK, BGCOLOR, '#f00', CGCOLOR, '#f00'
+ );
+ //var w;
+ //if ( w = window.open("about:blank") ) {
+ // w.document.write(data);
+ //} else {
+ // // popup blocking? should use an overlib popup instead
+ // alert("Error popup disabled; try disabling popup blocking to see");
+ //}
+ } else {
+ // invoke the callback
+ a[a.length-1](data);
+ }
+ }
+ }
+
+ if ( 'POST' == 'POST' ) {
+
+ xmlhttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
+ xmlhttp.send(content);
+
+ } else {
+
+ xmlhttp.setRequestHeader("If-Modified-Since", "Sat, 1 Jan 2000 00:00:00 GMT");
+ xmlhttp.send(null);
+
+ }
+
+ //rs_debug("x_$func_name url = " + url);
+ //rs_debug("x_$func_name waiting..");
+ }
+
+
+</SCRIPT>
+
+
+<INPUT TYPE="hidden" NAME="duplicate_of_custnum" VALUE="">
+<SCRIPT TYPE="text/javascript">
+
+ function rs_init_object() {
+ var A;
+ try {
+ A=new ActiveXObject("Msxml2.XMLHTTP");
+ } catch (e) {
+ try {
+ A=new ActiveXObject("Microsoft.XMLHTTP");
+ } catch (oc) {
+ A=null;
+ }
+ }
+ if(!A && typeof XMLHttpRequest != "undefined")
+ A = new XMLHttpRequest();
+ if (!A)
+ alert("Can't create XMLHttpRequest object");
+ return A;
+
+ }
+
+</SCRIPT>
+
+
+<SCRIPT TYPE="text/javascript">
+
+
+ function duplicates_form() {
+ // count args; build URL
+ var url = "http://localhost/freeside/misc/xmlhttp-cust_main-duplicates.html?";
+ var a = duplicates_form.arguments;
+
+ var args;
+ var len;
+ var content = 'sub=duplicates_form';
+ if ( a && typeof a == 'object' && a[0].constructor == Array ) {
+ args = a[0];
+ len = args.length
+ } else {
+ args = a;
+ len = args.length - 1;
+ }
+ for (var i = 0; i < len; i++)
+ content = content + "&arg=" + escape(args[i]);
+ content = content.replace( /[+]/g, '%2B'); // fix unescaped plus signs
+
+ if ( 'GET' == 'GET' ) {
+ url = url + content;
+ }
+
+ //alert('GET ' + url);
+
+ var xmlhttp = rs_init_object();
+ xmlhttp.open("GET", url, true);
+
+ xmlhttp.onreadystatechange = function() {
+ if (xmlhttp.readyState != 4)
+ return;
+
+ if (xmlhttp.status != 200) {
+ if ( xmlhttp.status != 0 ) {
+ //not warning on the 0 errors, they pop up when navagating away
+ // from the page
+ alert(xmlhttp.status + " status connecting to " + url);
+ }
+ } else {
+ var data = xmlhttp.responseText;
+ //alert('received response: ' + data);
+ if ( data.indexOf("<b>System error</b>") > -1 ) {
+ // trim this a little
+ var end = data.indexOf('<a href="#raw">') - 1;
+ data = data.substring(0, end);
+
+ overlib(data,
+ WIDTH, 480, MIDX, 0, MIDY, 0,
+ CAPTION, 'Error', STICKY, AUTOSTATUSCAP, DRAGGABLE,
+ CLOSECLICK, BGCOLOR, '#f00', CGCOLOR, '#f00'
+ );
+ //var w;
+ //if ( w = window.open("about:blank") ) {
+ // w.document.write(data);
+ //} else {
+ // // popup blocking? should use an overlib popup instead
+ // alert("Error popup disabled; try disabling popup blocking to see");
+ //}
+ } else {
+ // invoke the callback
+ a[a.length-1](data);
+ }
+ }
+ }
+
+ if ( 'GET' == 'POST' ) {
+
+ xmlhttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
+ xmlhttp.send(content);
+
+ } else {
+
+ xmlhttp.setRequestHeader("If-Modified-Since", "Sat, 1 Jan 2000 00:00:00 GMT");
+ xmlhttp.send(null);
+
+ }
+
+ //rs_debug("x_$func_name url = " + url);
+ //rs_debug("x_$func_name waiting..");
+ }
+
+
+</SCRIPT>
+
+
+<SCRIPT TYPE="text/javascript">
+var fixups = ["copy_payby_fields","standardize_locations","do_submit"];
+var fixup_position;
+var running = false;
+
+(function() {
+ var myonload = function() {
+
+submit_abort();
+
+ }
+ if ( window.addEventListener ) {
+ window.addEventListener('load', myonload);
+ } else if ( window.attachEvent ) {
+ window.attachEvent('onload', myonload);
+ }
+})();
+
+
+function submit_continue() {
+ if ( running ) {
+ window[ fixups[fixup_position++] ].call();
+ }
+}
+
+function submit_abort() {
+ running = false;
+ fixup_position = 0;
+ document.CustomerForm.submitButton.disabled = false;
+ cClick();
+}
+
+function bottomfixup(what) {
+ fixup_position = 0;
+ document.CustomerForm.submitButton.disabled = true;
+ running = true;
+ submit_continue();
+}
+
+function do_submit() {
+ document.CustomerForm.submit();
+}
+
+function copy_payby_fields() {
+ var layervars = new Array(
+ 'payauto', 'billday',
+ 'payinfo', 'payinfo1', 'payinfo2', 'payinfo3', 'paytype',
+ 'payname', 'paystate', 'exp_month', 'exp_year', 'paycvv',
+ 'paystart_month', 'paystart_year', 'payissue',
+ 'payip',
+ 'paid'
+ );
+
+ var cf = document.CustomerForm;
+ var payby = cf.payby.options[cf.payby.selectedIndex].value;
+ for ( f=0; f < layervars.length; f++ ) {
+ var field = layervars[f];
+ copyelement( cf.elements[payby + '_' + field],
+ cf.elements[field]
+ );
+ }
+ submit_continue();
+}
+
+function status_message(text, caption) {
+ text = '<P STYLE="position:absolute; top:50%; margin-top:-1em; width:100%; text-align:center"><B><FONT SIZE="+1">' + text + '</FONT></B></P>';
+ caption = caption || 'Please wait...';
+ overlib(text, WIDTH, 444, HEIGHT, 168, CAPTION, caption, STICKY, AUTOSTATUSCAP, CLOSECLICK, MIDX, 0, MIDY, 0);
+}
+
+function form_address_info() {
+ var cf = document.CustomerForm;
+
+ var returnobj = { billship: 1 };
+ returnobj['same'] = cf.elements['same'].checked;
+ returnobj['bill_address1'] = cf.elements['bill_address1'].value;
+ returnobj['bill_address2'] = cf.elements['bill_address2'].value;
+ returnobj['bill_state'] = cf.elements['bill_state'].value;
+ returnobj['bill_zip'] = cf.elements['bill_zip'].value;
+ returnobj['bill_country'] = cf.elements['bill_country'].value;
+ returnobj['bill_city'] = cf.elements['bill_city'].value;
+ returnobj['bill_censustract'] = cf.elements['bill_enter_censustract'].value;
+ returnobj['ship_address1'] = cf.elements['ship_address1'].value;
+ returnobj['ship_address2'] = cf.elements['ship_address2'].value;
+ returnobj['ship_state'] = cf.elements['ship_state'].value;
+ returnobj['ship_zip'] = cf.elements['ship_zip'].value;
+ returnobj['ship_country'] = cf.elements['ship_country'].value;
+ returnobj['ship_city'] = cf.elements['ship_city'].value;
+ returnobj['ship_censustract'] = cf.elements['ship_enter_censustract'].value;
+
+ return returnobj;
+}
+
+function standardize_locations() {
+
+ var cf = document.CustomerForm;
+ var address_info = form_address_info();
+
+ var changed = false; // have any of the address fields been changed?
+
+// clear coord_auto fields if the user has changed the coordinates
+
+ if ( cf.elements['bill_latitude'].value != cf.elements['old_bill_latitude'].value ) {
+ cf.elements['bill_coord_auto'].value = '';
+ }
+
+
+ if ( cf.elements['bill_longitude'].value != cf.elements['old_bill_longitude'].value ) {
+ cf.elements['bill_coord_auto'].value = '';
+ }
+
+ // but if the coordinates have been set to null, turn coord_auto on
+ // and standardize
+ if ( cf.elements['bill_latitude'].value == '' &&
+ cf.elements['bill_longitude'].value == '' ) {
+ cf.elements['bill_coord_auto'].value = 'Y';
+ changed = true;
+ }
+ // standardize if the old address wasn't clean
+ if ( cf.elements['bill_addr_clean'].value == '' ) {
+ changed = true;
+ }
+
+ if ( cf.elements['ship_latitude'].value != cf.elements['old_ship_latitude'].value ) {
+ cf.elements['ship_coord_auto'].value = '';
+ }
+
+
+ if ( cf.elements['ship_longitude'].value != cf.elements['old_ship_longitude'].value ) {
+ cf.elements['ship_coord_auto'].value = '';
+ }
+
+ // but if the coordinates have been set to null, turn coord_auto on
+ // and standardize
+ if ( cf.elements['ship_latitude'].value == '' &&
+ cf.elements['ship_longitude'].value == '' ) {
+ cf.elements['ship_coord_auto'].value = 'Y';
+ changed = true;
+ }
+ // standardize if the old address wasn't clean
+ if ( cf.elements['ship_addr_clean'].value == '' ) {
+ changed = true;
+ }
+
+ // or if it was clean but has been changed
+ for (var key in address_info) {
+ var old_el = cf.elements['old_'+key];
+ if ( old_el && address_info[key] != old_el.value ) {
+ changed = true;
+ break;
+ }
+ }
+
+
+ if ( !changed && 1 ) {
+ if ( address_info['same'] ) {
+ cf.elements['bill_censustract'].value =
+ address_info['bill_censustract'];
+ } else {
+ cf.elements['ship_censustract'].value =
+ address_info['ship_censustract'];
+ }
+ }
+
+
+ post_standardization();
+
+}
+
+var returned;
+
+function confirm_standardize(arg) {
+ // contains 'old', which was what we sent, and 'new', which is what came
+ // back, including any errors
+ returned = JSON.parse(arg);
+
+ if ( 0 ) {
+
+ replace_address(); // with the contents of returned['new']
+
+ } else if ( returned['all_same'] ) {
+
+ // then all entered address fields are correct
+ // but we still need to set the lat/long fields and addr_clean
+ status_message('Verified');
+ replace_address();
+
+ } else {
+
+ var querystring = encodeURIComponent( JSON.stringify(returned) );
+ // confirmation popup: knows to call replace_address(),
+ // post_standardization(), or submit_abort() depending on the
+ // user's choice.
+ OLpostAJAX(
+ 'http://localhost/freeside//misc/confirm-address_standardize.html',
+ 'q='+querystring,
+ function() {
+ overlib( OLresponseAJAX, CAPTION, 'Address standardization', STICKY,
+ AUTOSTATUSCAP, CLOSETEXT, '', MIDX, 0, MIDY, 0, DRAGGABLE, WIDTH,
+ 576, HEIGHT, 268, BGCOLOR, '#333399', CGCOLOR, '#333399',
+ TEXTSIZE, 3 );
+ }, 0);
+
+ }
+}
+
+function replace_address() {
+
+ var newaddr = returned['new'];
+
+ var cf = document.CustomerForm;
+ var clean = newaddr['bill_addr_clean'] == 'Y';
+ var error = newaddr['bill_error'];
+ if ( clean ) {
+ cf.elements['bill_address1'].value = newaddr['bill_address1'];
+ cf.elements['bill_address2'].value = newaddr['bill_address2'];
+ cf.elements['bill_state'].value = newaddr['bill_state'];
+ cf.elements['bill_zip'].value = newaddr['bill_zip'];
+ cf.elements['bill_addr_clean'].value = newaddr['bill_addr_clean'];
+ cf.elements['bill_city'].value = newaddr['bill_city'];
+
+ if ( cf.elements['bill_coord_auto'].value ) {
+ cf.elements['bill_latitude'].value = newaddr['bill_latitude'];
+ cf.elements['bill_longitude'].value = newaddr['bill_longitude'];
+ }
+ if ( clean && newaddr['bill_censustract'] ) {
+ cf.elements['bill_censustract'].value = newaddr['bill_censustract'];
+ }
+ } // if clean
+ var clean = newaddr['ship_addr_clean'] == 'Y';
+ var error = newaddr['ship_error'];
+ if ( clean ) {
+ cf.elements['ship_address1'].value = newaddr['ship_address1'];
+ cf.elements['ship_address2'].value = newaddr['ship_address2'];
+ cf.elements['ship_state'].value = newaddr['ship_state'];
+ cf.elements['ship_zip'].value = newaddr['ship_zip'];
+ cf.elements['ship_addr_clean'].value = newaddr['ship_addr_clean'];
+ cf.elements['ship_city'].value = newaddr['ship_city'];
+
+ if ( cf.elements['ship_coord_auto'].value ) {
+ cf.elements['ship_latitude'].value = newaddr['ship_latitude'];
+ cf.elements['ship_longitude'].value = newaddr['ship_longitude'];
+ }
+ if ( clean && newaddr['ship_censustract'] ) {
+ cf.elements['ship_censustract'].value = newaddr['ship_censustract'];
+ }
+ } // if clean
+
+ post_standardization();
+
+}
+
+function confirm_manual_address() {
+ var cf = document.CustomerForm;
+ cf.elements['bill_censustract'].value =
+ cf.elements['bill_enter_censustract'].value;
+ cf.elements['ship_censustract'].value =
+ cf.elements['ship_enter_censustract'].value;
+ post_standardization();
+}
+
+function post_standardization() {
+
+
+ submit_continue();;
+
+
+}
+
+function update_geocode() {
+
+ //yay closures
+ set_geocode = function (what) {
+
+ var cf = document.CustomerForm;
+ var prefix = 'bill_';
+ if ( cf.elements['same']
+ && cf.elements['same'].checked
+ && prefix == 'ship_' ) {
+ prefix = 'bill_';
+ }
+
+ //alert(what.options[what.selectedIndex].value);
+ var argsHash = eval('(' + what.options[what.selectedIndex].value + ')');
+ cf.elements[prefix + 'city'].value = argsHash['city'];
+ setselect(cf.elements[prefix + 'state'], argsHash['state']);
+ cf.elements[prefix + 'zip'].value = argsHash['zip'];
+ cf.elements[prefix + 'geocode'].value = argsHash['geocode'];
+ submit_continue();;
+
+ }
+
+ // popup a chooser
+
+ overlib( OLresponseAJAX, CAPTION, 'Select tax location', STICKY, AUTOSTATUSCAP, CLOSETEXT, '', MIDX, 0, MIDY, 0, WIDTH, 576, HEIGHT, 268, BGCOLOR, '#333399', CGCOLOR, '#333399', TEXTSIZE, 3 );
+
+}
+
+function setselect(el, value) {
+
+ for ( var s = 0; s < el.options.length; s++ ) {
+ if ( el.options[s].value == value ) {
+ el.selectedIndex = s;
+ }
+ }
+
+}
+
+
+
+
+function copyelement(from, to) {
+ if ( from == undefined ) {
+ to.value = '';
+ } else if ( from.type == 'select-one' ) {
+ to.value = from.options[from.selectedIndex].value;
+ //alert(from + " (" + from.type + "): " + to.name + " => (" + from.selectedIndex + ") " + to.value);
+ } else if ( from.type == 'checkbox' ) {
+ if ( from.checked ) {
+ to.value = from.value;
+ } else {
+ to.value = '';
+ }
+ } else {
+ if ( from.value == undefined ) {
+ to.value = '';
+ } else {
+ to.value = from.value;
+ }
+ }
+ //alert(from + " (" + from.type + "): " + to.name + " => " + to.value);
+}
+
+function confirm_censustract(pre) {
+ var cf = document.CustomerForm;
+ if ( cf.elements[pre+'censustract'].value == '' ) {
+ var address_info = form_address_info();
+ address_info[pre+'latitude'] = cf.elements[pre+'latitude'].value;
+ address_info[pre+'longitude'] = cf.elements[pre+'longitude'].value;
+ address_info['prefix'] = pre;
+ OLpostAJAX(
+ 'http://localhost/freeside//misc/confirm-censustract.html',
+ 'q=' + encodeURIComponent(JSON.stringify(address_info)),
+ function() {
+ if ( OLresponseAJAX ) {
+ overlib( OLresponseAJAX, CAPTION, 'Confirm censustract', STICKY,
+ AUTOSTATUSCAP, CLOSETEXT, '', MIDX, 0, MIDY, 0, DRAGGABLE, WIDTH,
+ 576, HEIGHT, 268, BGCOLOR, '#333399', CGCOLOR, '#333399',
+ TEXTSIZE, 3 );
+ } else
+ submit_continue();
+ },
+ 0);
+ } else submit_continue();
+}
+function confirm_censustract_bill() {
+ confirm_censustract('bill_');
+}
+
+function confirm_censustract_ship() {
+ var cf = document.CustomerForm;
+ if ( cf.elements['same'].checked ) {
+ submit_continue();
+ } else {
+ confirm_censustract('ship_');
+ }
+}
+
+function set_censustract(tract, year, pre) {
+ var cf = document.CustomerForm;
+ cf.elements[pre + 'censustract'].value = tract;
+ cf.elements[pre + 'censusyear'].value = year;
+ submit_continue();
+}
+
+function check_unique() {
+ var search_hash = {};
+
+ duplicates_form(JSON.stringify(search_hash), confirm_unique);
+}
+
+function confirm_unique(arg) {
+ if ( arg.match(/\S/) ) {
+ overlib( arg, CAPTION, 'Duplicate customer', STICKY, AUTOSTATUSCAP,
+ CLOSETEXT, '', MIDX, 0, MIDY, 0, DRAGGABLE, WIDTH, 576, HEIGHT,
+ 268, BGCOLOR, '#333399', CGCOLOR, '#333399', TEXTSIZE, 3 );
+ } else { // no duplicates
+ submit_continue();
+ }
+}
+
+
+</SCRIPT>
+
+
+<BR>
+<INPUT TYPE = "button"
+ NAME = "submitButton"
+ ID = "submitButton"
+ VALUE = "Apply changes"
+ onClick = "this.disabled=true; bottomfixup(this.form);"
+>
+<BR><BR>
+</FORM>
+
+ </TD>
+ </TR>
+ </TABLE>
+ </BODY>
+</HTML>
+
+