X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=httemplate%2Felements%2Forder_pkg.js;h=3586a54cb175cbb74b724dd3c7b79bc269c38387;hb=edea94b6bd41a3fceac47267a3df3dc7fcf7c565;hp=393b845c9bf223bbf5666db6a4f7301fc9eb075f;hpb=8861d46820af163c7de7839178b6120c9b32ab2c;p=freeside.git diff --git a/httemplate/elements/order_pkg.js b/httemplate/elements/order_pkg.js index 393b845c9..3586a54cb 100644 --- a/httemplate/elements/order_pkg.js +++ b/httemplate/elements/order_pkg.js @@ -6,9 +6,12 @@ function pkg_changed () { 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_button_disabled = document.getElementById('start_date_disabled'); var date_text = document.getElementById('start_date_text'); + var radio_now = document.getElementById('start_now'); + var radio_on_hold = document.getElementById('start_on_hold'); + var radio_on_date = document.getElementById('start_on_date'); form.submitButton.disabled = false; if ( discountnum ) { @@ -32,11 +35,37 @@ function pkg_changed () { date_text.disabled = false; date_button.style.display = ''; date_button_disabled.style.display = 'none'; - } else { + if ( radio_on_date ) { + // un-disable all the buttons that might get disabled + radio_on_date.disabled = false; + radio_now.disabled = false; + // if a start date has been entered, assume the user wants it + if ( form.start_date_text.value.length > 0 ) { + radio_now.checked = false; + radio_on_date.checked = true; + } else { + // if not, default to now + radio_now.checked = true; + } + } + } else { // the package is either fixed start date or start-on-hold date_text.style.backgroundColor = '#dddddd'; date_text.disabled = true; date_button.style.display = 'none'; date_button_disabled.style.display = ''; + if ( radio_on_date ) { + if ( opt.getAttribute('data-start_on_hold') == 1 ) { + // disallow all options but "On hold" + radio_on_hold.checked = true; + radio_now.checked = false; + radio_now.disabled = true; + } else { + // disallow all options but "On date" + radio_on_hold.checked = false; + radio_now.checked = true; + radio_now.disabled = false; + } + } } get_part_pkg_usageprice( opt.value, update_part_pkg_usageprice );