public function install(booking_uicommon $ui, &$entity = null) { $js = <<<JST \t\t\t(function() { \t\t\t\tvar Dom = YAHOO.util.Dom; \t\t\t\tvar Event = YAHOO.util.Event; \t\t\t\tvar select_input_id = 'field_{$this->identifier_type_field}'; \t\t\t\tvar select_input = Dom.get(select_input_id); \t\t\t\t \t\t\t\tif (!select_input) { return; } \t\t\t\t \t\t\t\tvar selectedIndex = document.getElementById(select_input_id).selectedIndex; \t\t\t\tvar items = Dom.getElementsBy(function(){return true;}, 'option', select_input); \t\t\t\tvar all_cust_fields = {}; \t\t\t\tvar cust_field; \t\t\t\tfor (var i = items.length - 1; i >= 0; i--){ \t\t\t\t\tif (items[i].value.length <= 0) { continue; } \t\t\t\t\tcust_field = Dom.get('field_{$this->field_prefix}'+items[i].value); \t\t\t\t\tall_cust_fields[items[i].value] = cust_field; \t\t\t\t\tif (i == selectedIndex) { continue; } \t\t\t\t\tDom.setStyle(cust_field, 'display', 'none') \t\t\t\t}; \t\t\t\tvar enableCustField = function(field_type) { \t\t\t\t\tfor (var key in all_cust_fields) { \t\t\t\t\t\tDom.setStyle(all_cust_fields[key], 'display', 'none'); \t\t\t\t\t} \t\t\t\t\tif (all_cust_fields[field_type] == undefined) { return; } \t\t\t\t\tDom.setStyle(all_cust_fields[field_type], 'display', 'block'); \t\t\t\t\tif (all_cust_fields[field_type].name == 'customer_ssn') { \t\t\t\t\t\tall_cust_fields[field_type].value = '6 siffer (DDMMÅÅ) eller 11 siffer'; \t\t\t\t\t} else if (all_cust_fields[field_type].name == 'customer_organization_number') { \t\t\t\t\t\tall_cust_fields[field_type].value = '9 siffer'; \t\t\t\t\t} \t\t\t\t\tall_cust_fields[field_type].focus(); \t\t\t\t\tall_cust_fields[field_type].select(); \t\t\t\t} \t\t\t\t \t\t\t\tEvent.addListener(select_input, 'change', function(e) { \t\t\t\t\tenableCustField(this[this.selectedIndex].value); \t\t\t\t}); \t\t\t\t// Wouldn't work in IE6: \t\t\t\t// Dom.batch(items, function(opt) { \t\t\t\t// \tEvent.addListener(opt, 'click', function(e) { \t\t\t\t// \t\tenableCustField(this.value); \t\t\t\t// \t}) \t\t\t\t// }); \t\t\t})(); JST; if (is_array($entity)) { $this->add_current_identifier_info($entity); } $ui->add_template_file('customer_identifier'); $ui->add_js_load_event($js); }