1 function pkg_changed () {
2 var form = document.OrderPkgForm;
3 var discountnum = form.discountnum;
5 if ( form.pkgpart.selectedIndex > 0 ) {
7 var opt = form.pkgpart.options[form.pkgpart.selectedIndex];
8 var date_button = document.getElementById('start_date_button');
9 var date_button_disabled = document.getElementById('start_date_button_disabled');
10 var date_text = document.getElementById('start_date_text');
13 form.submitButton.disabled = false;
15 if ( opt.getAttribute('data-can_discount') == 1 ) {
16 form.discountnum.disabled = false;
17 discountnum_changed(form.discountnum);
19 form.discountnum.disabled = true;
20 discountnum_changed(form.discountnum);
24 // if this form element exists, then the start date is a future
25 // package change date; don't replace it
29 form.start_date_text.value = opt.getAttribute('data-start_date');
30 if ( opt.getAttribute('data-can_start_date') == 1 ) {
31 date_text.style.backgroundColor = '#ffffff';
32 date_text.disabled = false;
33 date_button.style.display = '';
34 date_button_disabled.style.display = 'none';
36 date_text.style.backgroundColor = '#dddddd';
37 date_text.disabled = true;
38 date_button.style.display = 'none';
39 date_button_disabled.style.display = '';
42 get_part_pkg_usageprice( opt.value, update_part_pkg_usageprice );
45 form.submitButton.disabled = true;
46 if ( discountnum ) { form.discountnum.disabled = true; }
47 discountnum_changed(form.discountnum);
51 function update_part_pkg_usageprice(part_pkg_usageprice) {
53 var table = document.getElementById('cust_pkg_usageprice_table');
55 // black the current usage price rows
56 for ( var r = table.rows.length - 1; r >= 0; r-- ) {
60 // add the new usage price rows
62 var usagepriceArray = eval('(' + part_pkg_usageprice + ')' );
63 for ( var s = 0; s < usagepriceArray.length; s=s+2 ) {
64 //surely this should be some kind of JSON structure
65 var html = usagepriceArray[s+0];
66 var javascript = usagepriceArray[s+1];
68 // a lot like ("inspiried by") edit/elements/edit.html function spawn_<%$field%>
70 // XXX evaluate the javascript
71 //if (window.ActiveXObject) {
72 // window.execScript(newfunc);
73 //} else { /* (window.XMLHttpRequest) */
74 // //window.eval(newfunc);
75 // setTimeout(newfunc, 0);
78 var row = table.insertRow(rownum++);
80 //var label_cell = document.createElement('TD');
82 //label_cell.id = '<% $field %>_label' + <%$field%>_fieldnum;
84 //label_cell.style.textAlign = "right";
85 //label_cell.style.verticalAlign = "top";
86 //label_cell.style.borderTop = "1px solid black";
87 //label_cell.style.paddingTop = "5px";
89 //label_cell.innerHTML = '<% $label %>';
91 //row.appendChild(label_cell);
93 var widget_cell = document.createElement('TD');
95 //widget_cell.style.borderTop = "1px solid black";
96 widget_cell.style.paddingTop = "3px";
97 widget_cell.colSpan = "2";
99 widget_cell.innerHTML = html;
101 row.appendChild(widget_cell);
106 document.getElementById('cust_pkg_usageprice_title').style.display = '';
108 document.getElementById('cust_pkg_usageprice_title').style.display = 'none';
114 function standardize_new_location() {
115 var form = document.OrderPkgForm;
116 var loc = form.locationnum;
117 if (loc.type == 'select-one' && loc.options[loc.selectedIndex].value == -1){
118 standardize_locations();
124 function submit_abort() {
125 document.OrderPkgForm.submitButton.disabled = false;