+function jopt(what,value,text) {
+ var optionName = new Option(text, value, false, false);
+ what.append(optionName);
+}
+
+function category_changed(what) {
+ var category = what.options[what.selectedIndex].value;
+
+ if ( category.length == 0 ) {
+ $('#product_code').empty();
+ $('#service_code').empty();
+ $('#taxproduct_submit').prop('disabled', true);
+ return;
+ }
+
+ get_part_pkg_taxproduct(
+ 'data_vendor', 'compliance_solutions', 'category', category,
+ function (data) {
+
+ $('#product_code').empty();
+ $('#service_code').empty();
+ $('#taxproduct_submit').prop('disabled', true);
+
+ var reply = JSON.parse(data);
+
+ jopt( $('#product_code'), '', 'Select product code' );
+
+ var part_pkg_taxproduct = reply.part_pkg_taxproduct;
+ if ( part_pkg_taxproduct.length == 0 ) {
+ alert('No compliance solutions product codes found; did you run freeside-compliance_solutions-import?');
+ }
+ for ( var s = 0; s < part_pkg_taxproduct.length; s=s+2 ) {
+ var product_code = part_pkg_taxproduct[s];
+ var description = part_pkg_taxproduct[s+1];
+ jopt( $('#product_code'), product_code, description );
+ }
+
+ },
+ );
+
+}
+
+function product_code_changed(what) {
+ var product_code = what.options[what.selectedIndex].value;
+
+ if ( product_code.length == 0 ) {
+ $('#service_code').empty();
+ $('#taxproduct_submit').prop('disabled', true);
+ return;
+ }
+
+ get_part_pkg_taxproduct(
+ 'data_vendor', 'compliance_solutions', 'product_code', product_code,
+ function (data) {
+
+ $('#service_code').empty();
+ $('#taxproduct_submit').prop('disabled', true);
+
+ jopt( $('#service_code'), '', 'Select service code' );