|
|
<PUBLIC:COMPONENT
|
|
|
lightWeight = true
|
|
|
>
|
|
|
|
|
|
<PUBLIC:DEFAULTS
|
|
|
contentEditable = false
|
|
|
tabStop = true
|
|
|
/>
|
|
|
|
|
|
<PUBLIC:attach event="ondocumentready" onevent="initElement()" />
|
|
|
<PUBLIC:attach event="onmouseover" onevent="elementOnMouseOver()" />
|
|
|
<PUBLIC:attach event="onmouseout" onevent="elementOnMouseOut()" />
|
|
|
<PUBLIC:attach event="onmousedown" onevent="elementOnMouseDown()" />
|
|
|
<PUBLIC:attach event="onmouseup" onevent="elementOnMouseUp()" />
|
|
|
<PUBLIC:attach event="onpropertychange" onevent="elementPropertyChange()" />
|
|
|
<PUBLIC:attach event="onselectstart" onevent="elementOnSelect()" />
|
|
|
<PUBLIC:attach event="oncontextmenu" onevent="elementOnContextMenu()" />
|
|
|
<PUBLIC:attach event="ondetach" onevent="cleanupElement()" />
|
|
|
|
|
|
<PUBLIC:property name="enabled" value=true />
|
|
|
<PUBLIC:property name="options" value="" />
|
|
|
<PUBLIC:property name="dropDownState" value=false />
|
|
|
<PUBLIC:property name="size" value=-1 />
|
|
|
<PUBLIC:property name="value" id="propValue" value="" get="returnValue" />
|
|
|
<PUBLIC:property name="text" id="propText" value="" get="returnText" />
|
|
|
<PUBLIC:property name="selectedIndex" value=-1 />
|
|
|
|
|
|
<PUBLIC:method name="itemCount" />
|
|
|
<PUBLIC:method name="addItem" />
|
|
|
<PUBLIC:method name="removeItem" />
|
|
|
<PUBLIC:method name="clear" />
|
|
|
<PUBLIC:method name="getItemIndex" />
|
|
|
<PUBLIC:method name="getItemIndexFromValue" />
|
|
|
<PUBLIC:method name="setSelectedItem" />
|
|
|
<PUBLIC:method name="getItemText" />
|
|
|
<PUBLIC:method name="getItemValue" />
|
|
|
<PUBLIC:method name="getItemTag" />
|
|
|
|
|
|
<PUBLIC:event name="onchange" id="onchange" />
|
|
|
|
|
|
<script language="jscript">
|
|
|
|
|
|
// ----------------------------------------------------
|
|
|
// 2k3Widgets: 2k3MenuSelect
|
|
|
//
|
|
|
// Copyright ©2002-2004 Stedy Software and Systems
|
|
|
// Please see http://www.stedy.com for terms of use.
|
|
|
// ----------------------------------------------------
|
|
|
|
|
|
var imageCell = 0 ;
|
|
|
var captionCell = 1 ;
|
|
|
var valueCell = 2 ;
|
|
|
var tagCell = 3 ;
|
|
|
|
|
|
var elementDropdown = null ;
|
|
|
var optionsElement = null ;
|
|
|
var elementCaption = null ;
|
|
|
|
|
|
var menuShadowArray = new Array(null, null, null, null) ;
|
|
|
|
|
|
var normalWidth = 0 ;
|
|
|
|
|
|
var settingValueInternally = false ;
|
|
|
|
|
|
|
|
|
// ----------------------------------------------------
|
|
|
// initialize/terminate functions
|
|
|
// ----------------------------------------------------
|
|
|
|
|
|
function initElement() {
|
|
|
settingValueInternally = true ;
|
|
|
element.enabled = makeBooleanOfAttribute("enabled") ;
|
|
|
element.dropDownState = makeBooleanOfAttribute("dropDownState") ;
|
|
|
if (!element.enabled) {
|
|
|
element.className = "2k3MenuSelectDisabled" ; ;
|
|
|
}
|
|
|
settingValueInternally = false ;
|
|
|
elementCaption = document.createElement("<span class='2k3MenuSelectCaption'>") ;
|
|
|
element.insertAdjacentElement("afterBegin", elementCaption) ;
|
|
|
elementDropdown = window.document.getElementById(element.options) ;
|
|
|
optionsElement = elementDropdown.children[0] ;
|
|
|
with (optionsElement) {
|
|
|
for (var i = 0; i < rows.length; i++) {
|
|
|
var row = rows[i] ;
|
|
|
if (element.selectedIndex == -1) {
|
|
|
if (row.outerHTML.indexOf("selected") != -1) {
|
|
|
with (element) {
|
|
|
selectedIndex = row.rowIndex ;
|
|
|
text = row.children[captionCell].innerText ;
|
|
|
value = row.children[valueCell].innerText ;
|
|
|
elementCaption.innerText = row.children[captionCell].innerText ;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
with (row.children[imageCell]) {
|
|
|
if (children.length == 0) {
|
|
|
var imgElement = document.createElement("IMG") ;
|
|
|
imgElement.src = element.currentStyle.noImageUrl ;
|
|
|
insertAdjacentElement("beforeEnd", imgElement) ;
|
|
|
}
|
|
|
children[0].hideFocus = true ;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
with (elementDropdown) {
|
|
|
with (style) {
|
|
|
zIndex = 5000 ;
|
|
|
if (element.size != -1) {
|
|
|
height = getDropdownHeight(element.size) ;
|
|
|
}
|
|
|
width = element.offsetWidth + 2 ;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
|
|
|
function cleanupElement() {
|
|
|
elementCaption.removeNode(true) ;
|
|
|
}
|
|
|
|
|
|
|
|
|
// ----------------------------------------------------
|
|
|
// element functions
|
|
|
// ----------------------------------------------------
|
|
|
|
|
|
function elementOnMouseOver() {
|
|
|
if (!element.enabled) { return ; }
|
|
|
if (normalWidth == 0) {
|
|
|
normalWidth = element.offsetWidth ;
|
|
|
}
|
|
|
var fromElement = window.event.fromElement ;
|
|
|
if (fromElement != null) {
|
|
|
if (getRealItem(fromElement) == element) { return ; }
|
|
|
}
|
|
|
if (!element.dropDownState) {
|
|
|
if (element.parentElement.parentElement.parentElement.parentElement.activeChild == null) {
|
|
|
showOver(element) ;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
|
|
|
function elementOnMouseOut() {
|
|
|
if (!element.enabled) { return ; }
|
|
|
var toElement = window.event.toElement ;
|
|
|
if (toElement != null) {
|
|
|
if (getRealItem(toElement) == element) { return ; }
|
|
|
}
|
|
|
if (!element.dropDownState) {
|
|
|
if (element.parentElement.parentElement.parentElement.parentElement.activeChild == null) {
|
|
|
showNormal(element) ;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
|
|
|
function elementOnMouseDown() {
|
|
|
if (!element.enabled) { return ; }
|
|
|
if (!element.dropDownState) {
|
|
|
if (element.parentElement.parentElement.parentElement.parentElement.activeChild == null) {
|
|
|
showActive(element) ;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
|
|
|
function elementOnMouseUp() {
|
|
|
if (!element.enabled) { return ; }
|
|
|
if (element.dropDownState) {
|
|
|
hideDropdown() ;
|
|
|
showOver(element) ;
|
|
|
element.dropDownState = false ;
|
|
|
}
|
|
|
else {
|
|
|
if (element.parentElement.parentElement.parentElement.parentElement.activeChild == null) {
|
|
|
showDropdown() ;
|
|
|
element.dropDownState = true ;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
|
|
|
function elementPropertyChange() {
|
|
|
if (settingValueInternally) { return ; }
|
|
|
if (window.event.propertyName == "enabled") {
|
|
|
if (element.enabled) {
|
|
|
showEnabled(element) ;
|
|
|
}
|
|
|
else {
|
|
|
showDisabled(element) ;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
|
|
|
function elementOnSelect() {
|
|
|
with (window.event) {
|
|
|
cancelBubble = true ;
|
|
|
returnValue = false ;
|
|
|
}
|
|
|
return false ;
|
|
|
}
|
|
|
|
|
|
function elementOnContextMenu() {
|
|
|
with (window.event) {
|
|
|
cancelBubble = true ;
|
|
|
returnValue = false ;
|
|
|
}
|
|
|
return false ;
|
|
|
}
|
|
|
|
|
|
|
|
|
// ----------------------------------------------------
|
|
|
// public element methods
|
|
|
// ----------------------------------------------------
|
|
|
|
|
|
function itemCount() {
|
|
|
return optionsElement.rows.length ;
|
|
|
}
|
|
|
|
|
|
function addItem(itmType, text, value, itemIndex, exData, tagData) {
|
|
|
var strSaveText = element.text ;
|
|
|
if (element.selectedIndex != -1) {
|
|
|
optionsElement.rows[element.selectedIndex].className = "2k3MenuSelectItem" ;
|
|
|
}
|
|
|
element.selectedIndex = -1 ;
|
|
|
var row = optionsElement.insertRow(itemIndex) ;
|
|
|
with (row) {
|
|
|
className = "2k3MenuSelectItem" ;
|
|
|
for (var c = 0; c <= 3; c++) { insertCell(c) ; }
|
|
|
with (children[imageCell]) {
|
|
|
className = "itemImage" ;
|
|
|
switch ((itmType).toLowerCase()) {
|
|
|
case "n":
|
|
|
innerHTML = "<img src='" + element.currentStyle.noImageUrl + "'>" ;
|
|
|
break ;
|
|
|
case "i":
|
|
|
if (exData == "") {
|
|
|
exData = element.currentStyle.noImageUrl ;
|
|
|
}
|
|
|
innerHTML = "<img src='" + exData + "'>" ;
|
|
|
break ;
|
|
|
}
|
|
|
}
|
|
|
with (children[captionCell]) {
|
|
|
className = "itemCaption" ;
|
|
|
innerHTML = text ;
|
|
|
}
|
|
|
with (children[valueCell]) {
|
|
|
className = "itemValue" ;
|
|
|
innerText = value ;
|
|
|
}
|
|
|
with (children[tagCell]) {
|
|
|
className = "itemTag" ;
|
|
|
innerText = tagData ;
|
|
|
}
|
|
|
}
|
|
|
if (element.size != -1) {
|
|
|
elementDropdown.style.height = getDropdownHeight(element.size) ;
|
|
|
}
|
|
|
setSelectedItem(getItemIndex(strSaveText)) ;
|
|
|
}
|
|
|
|
|
|
function removeItem(itemIndex) {
|
|
|
var strSaveText = element.text ;
|
|
|
if (itemIndex > (element.itemCount() - 1) || element.itemCount() == 0) {
|
|
|
return ;
|
|
|
}
|
|
|
if (element.selectedIndex != -1) {
|
|
|
optionsElement.rows[element.selectedIndex].className = "2k3MenuSelectItem" ;
|
|
|
}
|
|
|
element.selectedIndex = -1 ;
|
|
|
optionsElement.deleteRow(itemIndex) ;
|
|
|
if (element.size != -1) {
|
|
|
elementDropdown.style.height = getDropdownHeight(element.size) ;
|
|
|
}
|
|
|
setSelectedItem(getItemIndex(strSaveText)) ;
|
|
|
}
|
|
|
|
|
|
function clear() {
|
|
|
for (var i = 0; i < element.itemCount(); i++) {
|
|
|
optionsElement.deleteRow(-1) ;
|
|
|
}
|
|
|
element.selectedIndex = -1 ;
|
|
|
}
|
|
|
|
|
|
function getItemIndex(itemText) {
|
|
|
with (optionsElement) {
|
|
|
for (var i = 0; i < element.itemCount(); i++) {
|
|
|
with (rows[i].children[captionCell]) {
|
|
|
if (innerText == itemText) {
|
|
|
return rows[i].rowIndex ;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
return -1 ;
|
|
|
}
|
|
|
|
|
|
function getItemIndexFromValue(itemValueText) {
|
|
|
with (optionsElement) {
|
|
|
for (var i = 0; i < element.itemCount(); i++) {
|
|
|
with (rows[i].children[valueCell]) {
|
|
|
if (innerText == itemValueText) {
|
|
|
return rows[i].rowIndex ;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
|
|
|
function getItemText(itemIndex) {
|
|
|
if (itemIndex > (element.itemCount() - 1) || element.itemCount() == 0) {
|
|
|
return ;
|
|
|
}
|
|
|
return optionsElement.rows[itemIndex].children[captionCell].innerText ;
|
|
|
}
|
|
|
|
|
|
function getItemValue(itemIndex) {
|
|
|
if (itemIndex > (element.itemCount() - 1) || element.itemCount() == 0) {
|
|
|
return ;
|
|
|
}
|
|
|
return optionsElement.rows[itemIndex].children[valueCell].innerText ;
|
|
|
}
|
|
|
|
|
|
function getItemTag(itemIndex) {
|
|
|
if (itemIndex > (element.itemCount() - 1) || element.itemCount() == 0) {
|
|
|
return ;
|
|
|
}
|
|
|
return optionsElement.rows[itemIndex].children[tagCell].innerText ;
|
|
|
}
|
|
|
|
|
|
function setSelectedItem(itemIndex) {
|
|
|
var currentText = element.text ;
|
|
|
if (itemIndex == -1) {
|
|
|
if (element.selectedIndex != -1) {
|
|
|
if (element.selectedIndex > (element.itemCount() - 1)) {
|
|
|
with (element) {
|
|
|
selectedIndex = -1 ;
|
|
|
text = "" ;
|
|
|
value = "" ;
|
|
|
if (ctlStyle == 1) {
|
|
|
elementCaption.value = "" ;
|
|
|
}
|
|
|
else {
|
|
|
elementCaption.innerText = "" ;
|
|
|
}
|
|
|
}
|
|
|
return
|
|
|
}
|
|
|
optionsElement.rows[element.selectedIndex].className = "2k3MenuSelectItem" ;
|
|
|
with (element) {
|
|
|
selectedIndex = -1 ;
|
|
|
text = "" ;
|
|
|
value = "" ;
|
|
|
if (ctlStyle == 1) {
|
|
|
elementCaption.value = "" ;
|
|
|
}
|
|
|
else {
|
|
|
elementCaption.innerText = "" ;
|
|
|
}
|
|
|
}
|
|
|
onchange.fire() ;
|
|
|
}
|
|
|
else {
|
|
|
with (element) {
|
|
|
selectedIndex = -1 ;
|
|
|
text = "" ;
|
|
|
value = "" ;
|
|
|
if (ctlStyle == 1) {
|
|
|
elementCaption.value = "" ;
|
|
|
}
|
|
|
else {
|
|
|
elementCaption.innerText = "" ;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
else {
|
|
|
if (itemIndex > (element.itemCount() - 1)) {
|
|
|
with (element) {
|
|
|
selectedIndex = -1 ;
|
|
|
text = "" ;
|
|
|
value = "" ;
|
|
|
if (ctlStyle == 1) {
|
|
|
elementCaption.value = "" ;
|
|
|
}
|
|
|
else {
|
|
|
elementCaption.innerText = "" ;
|
|
|
}
|
|
|
}
|
|
|
return ;
|
|
|
}
|
|
|
if (element.selectedIndex != -1) {
|
|
|
optionsElement.rows[element.selectedIndex].className = "jsSelectItem" ;
|
|
|
}
|
|
|
with (optionsElement.rows(itemIndex)) {
|
|
|
className = "jsSelectItemSelected" ;
|
|
|
element.selectedIndex = rowIndex ;
|
|
|
element.text = children[captionCell].innerText ;
|
|
|
element.value = children[valueCell].innerText ;
|
|
|
if (element.ctlStyle == 1) {
|
|
|
elementCaption.value = children[captionCell].innerText ;
|
|
|
}
|
|
|
else {
|
|
|
elementCaption.innerText = children[captionCell].innerText ;
|
|
|
}
|
|
|
scrollIntoView(false) ;
|
|
|
}
|
|
|
if (itemIndex > element.size - 1) {
|
|
|
elementDropdown.scrollTop = elementDropdown.scrollTop + 1 ;
|
|
|
}
|
|
|
if (currentText != element.text) {
|
|
|
onchange.fire() ;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// ----------------------------------------------------
|
|
|
// element dropdown functions
|
|
|
// ----------------------------------------------------
|
|
|
|
|
|
function dropdownOnMouseOver() {
|
|
|
var el = getRealItem(window.event.srcElement) ;
|
|
|
if (el.className == "2k3MenuSelectItem" || el.className == "2k3MenuSelectItemSelected") {
|
|
|
el.className = "2k3MenuSelectItemOver" ;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
function dropdownOnMouseOut() {
|
|
|
var el = getRealItem(window.event.srcElement) ;
|
|
|
if (el.className == "2k3MenuSelectItemOver") {
|
|
|
if (parseInt(element.selectedIndex) == parseInt(el.rowIndex)) {
|
|
|
el.className = "2k3MenuSelectItemSelected" ;
|
|
|
}
|
|
|
else {
|
|
|
el.className = "2k3MenuSelectItem" ;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
|
|
|
function dropdownOnClick() {
|
|
|
var el = getRealItem(window.event.srcElement) ;
|
|
|
if (el.className == "2k3MenuSelectItemOver") {
|
|
|
window.event.cancelBubble = true ;
|
|
|
window.event.returnValue = false ;
|
|
|
if (element.selectedIndex != -1) {
|
|
|
optionsElement.rows[element.selectedIndex].className = "2k3MenuSelectItem" ;
|
|
|
}
|
|
|
el.className = "2k3MenuSelectItemSelected" ;
|
|
|
with (element) {
|
|
|
selectedIndex = el.rowIndex ;
|
|
|
text = el.children[captionCell].innerText ;
|
|
|
value = el.children[valueCell].innerText ;
|
|
|
elementCaption.innerText = el.children[captionCell].innerText ;
|
|
|
}
|
|
|
element.dropDownState = false ;
|
|
|
showNormal(element) ;
|
|
|
hideDropdown() ;
|
|
|
onchange.fire() ;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
|
|
|
// ----------------------------------------------------
|
|
|
// show dropdown functions
|
|
|
// ----------------------------------------------------
|
|
|
|
|
|
function showDropdown() {
|
|
|
var dropDownTop = 0 ;
|
|
|
var absoluteX = getRealLeft(element) ;
|
|
|
var absoluteY = getRealTop(element) ;
|
|
|
if (parseInt(element.selectedIndex) != -1) {
|
|
|
with (optionsElement.rows[selectedIndex]) {
|
|
|
className = "2k3MenuSelectItemSelected" ;
|
|
|
scrollIntoView(false) ;
|
|
|
}
|
|
|
with (elementDropdown) {
|
|
|
if (parseInt(element.selectedIndex) > parseInt(element.size - 1)) {
|
|
|
scrollTop += 1 ;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
window.document.attachEvent("onmousedown", hideDropdownEx) ;
|
|
|
with (elementDropdown) {
|
|
|
if (parseInt(window.document.body.clientHeight - absoluteY - element.offsetHeight - 4) < parseInt(offsetHeight)) {
|
|
|
dropDownTop = (absoluteY - offsetHeight) ;
|
|
|
}
|
|
|
else {
|
|
|
dropDownTop = (absoluteY + element.offsetHeight) ;
|
|
|
}
|
|
|
with (style) {
|
|
|
top = dropDownTop ;
|
|
|
left = absoluteX ;
|
|
|
visibility = "visible" ;
|
|
|
}
|
|
|
}
|
|
|
showMenuShadow(elementDropdown) ;
|
|
|
with (elementDropdown) {
|
|
|
attachEvent("onmouseover", dropdownOnMouseOver) ;
|
|
|
attachEvent("onmouseout", dropdownOnMouseOut) ;
|
|
|
attachEvent("onclick", dropdownOnClick) ;
|
|
|
}
|
|
|
element.parentElement.parentElement.parentElement.parentElement.activeChild = element ;
|
|
|
}
|
|
|
|
|
|
function hideDropdown() {
|
|
|
window.document.detachEvent("onmousedown", hideDropdownEx) ;
|
|
|
with (elementDropdown) {
|
|
|
detachEvent("onmouseover", dropdownOnMouseOver) ;
|
|
|
detachEvent("onmouseout", dropdownOnMouseOut) ;
|
|
|
detachEvent("onclick", dropdownOnClick) ;
|
|
|
hideMenuShadow() ;
|
|
|
style.visibility = "hidden" ;
|
|
|
}
|
|
|
element.parentElement.parentElement.parentElement.parentElement.activeChild = null ;
|
|
|
}
|
|
|
|
|
|
function hideDropdownEx() {
|
|
|
if (!isElement(window.event.srcElement, element) &&
|
|
|
!isElement(window.event.srcElement, elementDropdown)) {
|
|
|
hideDropdown() ;
|
|
|
showNormal(element) ;
|
|
|
element.dropDownState = false ;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
|
|
|
// ----------------------------------------------------
|
|
|
// internal functions
|
|
|
// ----------------------------------------------------
|
|
|
|
|
|
function showMenuShadow(el) {
|
|
|
for (var i = 3; i >= 0; i--) {
|
|
|
if (menuShadowArray[i] == null) {
|
|
|
menuShadowArray[i] = window.document.createElement("SPAN") ;
|
|
|
menuShadowArray[i].className = "2k3ShadowElement" ;
|
|
|
window.document.body.insertAdjacentElement("afterBegin", menuShadowArray[i]) ;
|
|
|
}
|
|
|
with (menuShadowArray[i].style) {
|
|
|
left = el.offsetLeft + (4 + i) ;
|
|
|
top = el.offsetTop + (4 + i) ;
|
|
|
width = el.offsetWidth - (i * 2) ;
|
|
|
height = el.offsetHeight - (i * 2) ;
|
|
|
zIndex = el.style.zIndex - 1 ;
|
|
|
visibility = "visible" ;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
|
|
|
function hideMenuShadow() {
|
|
|
for (var i = 0; i <= 3; i++) {
|
|
|
if (menuShadowArray[i] != null) {
|
|
|
menuShadowArray[i].style.visibility = "hidden" ;
|
|
|
menuShadowArray[i].removeNode(true) ;
|
|
|
menuShadowArray[i] = null ;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
|
|
|
function showNormal(el) {
|
|
|
with (el) {
|
|
|
className = "2k3MenuSelect" ;
|
|
|
style.width = normalWidth ;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
function showOver(el) {
|
|
|
with (el) {
|
|
|
className = "2k3MenuSelectOver" ;
|
|
|
style.width = normalWidth + 2 ;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
function showActive(el) {
|
|
|
with (el) {
|
|
|
className = "2k3MenuSelectActive" ;
|
|
|
style.width = normalWidth + 2 ;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
function showDisabled(el) {
|
|
|
with (el) {
|
|
|
className = "2k3MenuSelectDisabled" ;
|
|
|
style.width = normalWidth ;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
function showEnabled(el) {
|
|
|
with (el) {
|
|
|
className = "2k3MenuSelect" ;
|
|
|
style.width = normalWidth ;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
function returnText() {
|
|
|
if (element.selectedIndex == -1) {
|
|
|
return "" ;
|
|
|
}
|
|
|
else {
|
|
|
return optionsElement.rows[element.selectedIndex].children[captionCell].innerText ;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
function returnValue() {
|
|
|
if (element.selectedIndex == -1) {
|
|
|
return "" ;
|
|
|
}
|
|
|
else {
|
|
|
return optionsElement.rows[element.selectedIndex].children[valueCell].innerText ;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
function makeBooleanOfAttribute(attName) {
|
|
|
a = element.getAttribute(attName) ;
|
|
|
if (typeof(a) == "boolean") {
|
|
|
return a ;
|
|
|
}
|
|
|
else if (a == null) {
|
|
|
a = false ;
|
|
|
}
|
|
|
else if (typeof(a) == "string") {
|
|
|
a = a.toLowerCase() ;
|
|
|
a = (a == "true" || a == "1" || a == "yes") ;
|
|
|
}
|
|
|
else {
|
|
|
a = new Boolean(a) ;
|
|
|
}
|
|
|
return a ;
|
|
|
}
|
|
|
|
|
|
function isElement(el, parentElement) {
|
|
|
var tElement = el ;
|
|
|
while (tElement != null) {
|
|
|
if (tElement == parentElement) {
|
|
|
return true ;
|
|
|
}
|
|
|
tElement = tElement.parentElement ;
|
|
|
}
|
|
|
return false ;
|
|
|
}
|
|
|
|
|
|
function getDropdownHeight(intSize) {
|
|
|
var intHeight = 0 ;
|
|
|
for (var i = 0; i < intSize; i++) {
|
|
|
if (i > element.itemCount() - 1) {
|
|
|
break ;
|
|
|
}
|
|
|
intHeight += optionsElement.rows[i].offsetHeight ;
|
|
|
}
|
|
|
return intHeight + 2 ;
|
|
|
}
|
|
|
|
|
|
function getRealTop(el) {
|
|
|
var t = 0 ;
|
|
|
var tElement = el ;
|
|
|
while (tElement != null) {
|
|
|
t += tElement.offsetTop ;
|
|
|
tElement = tElement.offsetParent ;
|
|
|
}
|
|
|
return t ;
|
|
|
}
|
|
|
|
|
|
function getRealLeft(el) {
|
|
|
var l = 0 ;
|
|
|
var tElement = el ;
|
|
|
while (tElement != null) {
|
|
|
l += tElement.offsetLeft ;
|
|
|
tElement = tElement.offsetParent ;
|
|
|
}
|
|
|
return l ;
|
|
|
}
|
|
|
|
|
|
function getRealItem(el) {
|
|
|
var tmpElement = el ;
|
|
|
if (tmpElement == null) { return tmpElement ; }
|
|
|
if (tmpElement.tagName.toLowerCase() == "img") {
|
|
|
tmpElement = tmpElement.parentElement ;
|
|
|
}
|
|
|
if (tmpElement.tagName.toLowerCase() == "span") {
|
|
|
tmpElement = tmpElement.parentElement ;
|
|
|
}
|
|
|
if (tmpElement.tagName.toLowerCase() == "td") {
|
|
|
tmpElement = tmpElement.parentElement ;
|
|
|
}
|
|
|
return tmpElement ;
|
|
|
}
|
|
|
|
|
|
</script>
|
|
|
|
|
|
</PUBLIC:COMPONENT> |