summaryrefslogtreecommitdiff
path: root/httemplate/elements/order_pkg.js
blob: 393b845c9bf223bbf5666db6a4f7301fc9eb075f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
function pkg_changed () {
  var form = document.OrderPkgForm;
  var discountnum = form.discountnum;

  if ( form.pkgpart.selectedIndex > 0 ) {

    var opt = form.pkgpart.options[form.pkgpart.selectedIndex];
    var date_button = document.getElementById('start_date_button');
    var date_button_disabled = document.getElementById('start_date_button_disabled');
    var date_text = document.getElementById('start_date_text');


    form.submitButton.disabled = false;
    if ( discountnum ) {
      if ( opt.getAttribute('data-can_discount') == 1 ) {
        form.discountnum.disabled = false;
        discountnum_changed(form.discountnum);
      } else {
        form.discountnum.disabled = true;
        discountnum_changed(form.discountnum);
      }
    }

    // if this form element exists, then the start date is a future
    // package change date; don't replace it
    if ( form.delay ) {
      return;
    }
    form.start_date_text.value = opt.getAttribute('data-start_date');
    if ( opt.getAttribute('data-can_start_date') == 1 ) {
      date_text.style.backgroundColor = '#ffffff';
      date_text.disabled = false;
      date_button.style.display = '';
      date_button_disabled.style.display = 'none';
    } else {
      date_text.style.backgroundColor = '#dddddd';
      date_text.disabled = true;
      date_button.style.display = 'none';
      date_button_disabled.style.display = '';
    }

    get_part_pkg_usageprice( opt.value, update_part_pkg_usageprice );

  } else {
    form.submitButton.disabled = true;
    if ( discountnum ) { form.discountnum.disabled = true; }
    discountnum_changed(form.discountnum);
  }
}

function update_part_pkg_usageprice(part_pkg_usageprice) {

  var table = document.getElementById('cust_pkg_usageprice_table');

  // black the current usage price rows
  for ( var r = table.rows.length - 1; r >= 0; r-- ) {
    table.deleteRow(r);
  }

  // add the new usage price rows
  var rownum = 0;
  var usagepriceArray = eval('(' + part_pkg_usageprice + ')' );
  for ( var s = 0; s < usagepriceArray.length; s=s+2 ) {
    //surely this should be some kind of JSON structure
    var html       = usagepriceArray[s+0];
    var javascript = usagepriceArray[s+1];

    // a lot like ("inspiried by") edit/elements/edit.html function spawn_<%$field%>

    // XXX evaluate the javascript
    //if (window.ActiveXObject) {
    //  window.execScript(newfunc);
    //} else { /* (window.XMLHttpRequest) */
    //  //window.eval(newfunc);
    //  setTimeout(newfunc, 0);
    //}

    var row = table.insertRow(rownum++);

    //var label_cell = document.createElement('TD');

    //label_cell.id = '<% $field %>_label' + <%$field%>_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 = '<% $label %>';

    //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 = "2";

    widget_cell.innerHTML = html;

    row.appendChild(widget_cell);

  }

  if ( rownum > 0 ) {
    document.getElementById('cust_pkg_usageprice_title').style.display = '';
  } else {
    document.getElementById('cust_pkg_usageprice_title').style.display = 'none';
  }

}


function standardize_new_location() {
  var form = document.OrderPkgForm;
  var loc = form.locationnum;
  if (loc.type == 'select-one' && loc.options[loc.selectedIndex].value == -1){
    standardize_locations();
  } else {
    form.submit();
  }
}

function submit_abort() {
  document.OrderPkgForm.submitButton.disabled = false;
  nd(1);
}