function advancedTextBox_onLoad(senderId) { var sender = getElement(senderId); var expandButton = getElementByKeyAndTagName(sender, 'expand', 'INPUT'); if (expandButton) expandButton.style.display = 'inline'; if (getAttributeValue(sender, 'gdm') > 0) getElementByKeyAndTagName(sender, 'go', 'INPUT').style.display = 'none'; advancedTextBox_position(sender); addHandler(getElementByKeyAndTagName(sender, 'text', 'INPUT'), 'onblur', advancedTextBox_onBlur); addHandler(getElementByKeyAndTagName(sender, 'go', 'INPUT'), 'onclick', advancedTextBox_onGo); } function advancedTextBox_position(sender) { var textBox = getElementByKeyAndTagName(sender, 'text', 'INPUT'); var div = getElementByKeyAndTagName(sender, 'contents', 'DIV'); if (getAttributeValue(sender, 'da') == '1') div.style.left = (getLeft(textBox) + getWidth(textBox)) - getWidth(div); else div.style.left = getLeft(textBox); div.style.top = getTop(textBox) + getHeight(textBox); } function advancedTextBox_collapse(sender) { sender.style.display = 'none'; } function advancedTextBox_expand(sender) { sender.style.display = 'block'; advancedTextBox_position(getParent(sender)); } function advancedTextBox_toggle(e) { e = getEvent(e); var sender = getParent(getSender(e)); var div = getElementByKeyAndTagName(sender, 'contents', 'DIV'); if (getCurrentStyle(div).display == 'block') advancedTextBox_collapse(div); else advancedTextBox_expand(div); getElementByKeyAndTagName(sender, 'text', 'INPUT').focus(); return false; } function advancedTextBox_onBlur(e) { if (!document.activeElement) return false; e = getEvent(e); var sender = getSender(e); var parent = getParent(sender); var current = document.activeElement; while (current) { if (current == parent) return true; current = getParent(current); } var div = getElementByKeyAndTagName(parent, 'contents', 'DIV'); advancedTextBox_collapse(div); } function advancedTextBox_onGo(e) { e = getEvent(e); var sender = getSender(e); var parent = getParent(sender); var div = getElementByKeyAndTagName(parent, 'contents', 'DIV'); advancedTextBox_collapse(div); }