var divIdTemp = ""; var itemCount = 0; var imagePathString = ''; function dhtmlXComboFromSelect( parent,list_width, size, imgPath){ imagePathString = imgPath; divIdTemp = parent; itemCount = 0; if ( typeof( parent ) == "string" ) parent = document.getElementById( parent ); size = size || parent.getAttribute( "width" ) || ( window.getComputedStyle ? window.getComputedStyle( parent, null )["width"] : ( parent.currentStyle ? parent.currentStyle["width"] : 0 ) ); if ( ( ! size ) || ( size == "auto" ) ) size = parent.offsetWidth || 100; var z = document.createElement( "SPAN" ); parent.parentNode.insertBefore( z, parent ); parent.style.display = 'none'; var s_type = parent.getAttribute( 'opt_type' ); var w = new dhtmlXCombo( z, parent.name, list_width, size, s_type, parent.tabIndex ); var x = new Array(); var sel = 0; for ( var i = 0; i < parent.options.length; i ++ ){ if ( parent.options[i].selected )sel = i; var label = parent.options[i].innerHTML; var val = parent.options[i].getAttribute("value"); if ( ( typeof( val ) == "undefined" ) || ( val === null ) ) val = label; x[i] = { value : val, text : label, img_src : parent.options[i].getAttribute( "img_src" ) } } ; w.addOption( x ); parent.parentNode.removeChild( parent ); w.selectOption( sel, null, true ); if ( parent.onchange )w.attachEvent( "onChange", parent.onchange ); return w }; var dhtmlXCombo_optionTypes = []; function dhtmlXCombo( parent, name, list_width, width, optionType, tabIndex ){ if ( typeof( parent ) == "string" ) parent = document.getElementById( parent ); this.dhx_Event(); this.optionType = ( optionType != window.undefined && dhtmlXCombo_optionTypes[optionType] ) ? optionType : 'default'; this._optionObject = dhtmlXCombo_optionTypes[this.optionType]; this._disabled = false; if ( ! window.dhx_glbSelectAr ){ window.dhx_glbSelectAr = new Array(); window.dhx_openedSelect = null; window.dhx_SelectId = 1; dhtmlxEvent( document.body, "click", this.closeAll ); dhtmlxEvent( document.body, "keydown", function( e ){ try { if ( ( e || event ).keyCode == 9 ) window.dhx_glbSelectAr[0].closeAll() } catch( e ) { } ; return true } ) } ; if ( parent.tagName == "SELECT" )dhtmlXComboFromSelect( parent ); else{ this._createSelf( parent, name, list_width, width, tabIndex ); dhx_glbSelectAr.push( this ) } }; dhtmlXCombo.prototype.setSize = function( new_size ){ this.DOMlist.style.width = new_size + "px"; if ( this.DOMlistF )this.DOMlistF.style.width = new_size + "px"; this.DOMelem.style.width = new_size + "px"; this.DOMelem_input.style.width = ( new_size - 19 ) + 'px' }; dhtmlXCombo.prototype.enableFilteringMode = function( mode, url, cache, autosubload ){ this._filter = convertStringToBoolean( mode ); if ( url ){ this._xml = url; this._autoxml = convertStringToBoolean( autosubload ) } ; if ( convertStringToBoolean( cache ) ) this._xmlCache = [] }; dhtmlXCombo.prototype.setFilteringParam = function( name, value ){ if ( ! this._prs )this._prs = []; this._prs.push( [name, value] ) }; dhtmlXCombo.prototype.disable = function( mode ){ var z = convertStringToBoolean( mode ); if ( this._disabled == z )return; this.DOMelem_input.disabled = z; this._disabled = z }; dhtmlXCombo.prototype.readonly = function( mode, autosearch ){ this.DOMelem_input.readOnly = mode ? true : false; if( autosearch === false ){ this.DOMelem.onkeyup = function( ev ){ } } else { var that = this; this.DOMelem.onkeyup = function( ev ){ ev = ev || window.event; if ( ev.keyCode != 9 )ev.cancelBubble = true; if( ( ev.keyCode >= 48 && ev.keyCode <= 57 ) || ( ev.keyCode >= 65 && ev.keyCode <= 90 ) ){ for( var i = 0; i < that.optionsArr.length; i ++ ){ var text = that.optionsArr[i].text; if( text.toString().toUpperCase().indexOf( String.fromCharCode( ev.keyCode ) ) == 0 ){ that.selectOption( i ); break } } ; ev.cancelBubble = true } } } }; dhtmlXCombo.prototype.getOption = function( value ) { for( var i = 0; i < this.optionsArr.length; i ++ )if( this.optionsArr[i].value == value )return this.optionsArr[i]; return null }; dhtmlXCombo.prototype.getOptionByLabel = function( value ) { value = value.replace( /&/g, "&" ) for( var i = 0; i < this.optionsArr.length; i ++ )if( this.optionsArr[i].text == value )return this.optionsArr[i]; return null }; dhtmlXCombo.prototype.getOptionByIndex = function( ind ){ return this.optionsArr[ind] }; dhtmlXCombo.prototype.clearAll = function( all ) { if ( all )this.setComboText( "" ); this.optionsArr = new Array(); this.redrawOptions(); if ( all )this._confirmSelection() }; dhtmlXCombo.prototype.deleteOption = function( value ) { var ind = this.getIndexByValue( value ); if( ind < 0 )return; if ( this.optionsArr[ind] == this._selOption )this._selOption = null; this.optionsArr.splice( ind, 1 ); this.redrawOptions() }; dhtmlXCombo.prototype.render = function( mode ){ this._skiprender = ( ! convertStringToBoolean( mode ) ); this.redrawOptions() } ; dhtmlXCombo.prototype.updateOption = function( oldvalue, avalue, atext, acss ) { var dOpt = this.getOption( oldvalue ); if ( typeof( avalue ) != "object" ) avalue = { text : atext, value : avalue, css : acss } ; dOpt.setValue( avalue ); this.redrawOptions() }; dhtmlXCombo.prototype.addOption = function( options ) { if ( ! arguments[0].length || typeof( arguments[0] ) != "object" ) args = [arguments]; else args = options; this.render( false ); for ( var i = 0; i < args.length; i ++ ){ var attr = args[i]; if ( attr.length ){ attr.value = attr[0] || ""; attr.text = attr[1] || ""; attr.css = attr[2] || "" } ; this._addOption( attr ) } ; this.render( true ) }; dhtmlXCombo.prototype._addOption = function( attr ) { dOpt = new this._optionObject(); this.optionsArr.push( dOpt ); dOpt.setValue.apply( dOpt, [attr] ); this.redrawOptions() }; dhtmlXCombo.prototype.getIndexByValue = function( val ){ for( var i = 0; i < this.optionsArr.length; i ++ )if( this.optionsArr[i].value == val )return i; return - 1 }; dhtmlXCombo.prototype.getSelectedValue = function(){ return ( this._selOption ? this._selOption.value : null ) }; dhtmlXCombo.prototype.getComboText = function(){ return this.DOMelem_input.value }; dhtmlXCombo.prototype.setComboText = function( text ){ this.DOMelem_input.value = text }; dhtmlXCombo.prototype.setComboValue = function( text ){ this.setComboText( text ); for( var i = 0; i < this.optionsArr.length; i ++ )if ( this.optionsArr[i].data()[0] == text ) return this.selectOption( i, null, true ); this.DOMelem_hidden_input.value = text }; dhtmlXCombo.prototype.getActualValue = function(){ return this.DOMelem_hidden_input.value }; dhtmlXCombo.prototype.getSelectedText = function(){ return ( this._selOption ? this._selOption.text : "" ) }; dhtmlXCombo.prototype.getSelectedIndex = function(){ for( var i = 0; i < this.optionsArr.length; i ++ )if( this.optionsArr[i] == this._selOption )return i; return - 1 }; dhtmlXCombo.prototype.setName = function( name ){ this.DOMforSbm.name = name; this.name = name }; dhtmlXCombo.prototype.show = function( mode ){ if ( convertStringToBoolean( mode ) ) this.DOMelem.style.display = ""; else this.DOMelem.style.display = "none" }; dhtmlXCombo.prototype.destructor = function() { var _sID = this._inID; this.DOMParent.removeChild( this.DOMelem ); this.DOMlist.parentNode.removeChild( this.DOMlist ); var s = dhx_glbSelectAr; this.DOMParent = this.DOMlist = this.DOMelem = 0; this.DOMlist.combo = this.DOMelem.combo = 0; for( var i = 0; i < s.length; i ++ ){ if( s[i]._inID == _sID ){ s[i] = null; s.splice( i, 1 ); return } } }; dhtmlXCombo.prototype._createSelf = function( selParent, name, list_width, width, tab ) { if ( width.toString().indexOf( "%" ) != - 1 ){ var self = this; var resWidht = parseInt( width ) / 100; window.setInterval( function(){ var ts = selParent.parentNode.offsetWidth * resWidht - 2; if ( ts == self._lastTs )return; self.setSize( self._lastTs = ts ) } , 500 ); var width = parseInt( selParent.offsetWidth ) } ; var width = parseInt( width || 100 ); this.ListPosition = "Bottom"; this.DOMParent = selParent; this._inID = null; this.name = name; this._selOption = null; this.optionsArr = Array(); var opt = new this._optionObject(); opt.DrawHeader( this, name, width, tab ); this.DOMlist = document.createElement( "DIV" ); this.DOMlist.className = 'dhx_combo_list' + ' ' + list_width; if(list_width == "") { this.DOMlist.style.width = width - ( _isIE ? 0 : 0 ) + "px"; } if ( _isOpera || _isKHTML )this.DOMlist.style.overflow = "auto"; this.DOMlist.style.display = "none"; document.body.insertBefore( this.DOMlist, document.body.firstChild ); if ( _isIE ){ this.DOMlistF = document.createElement( "IFRAME" ); this.DOMlistF.style.border = "0px"; //alert( list_width ); this.DOMlistF.className = 'dhx_combo_list' + ' ' + list_width; if(list_width == "") { this.DOMlistF.style.width = width - ( _isIE ? 0 : 0 ) + "px"; } this.DOMlistF.style.display = "none"; this.DOMlistF.src = "javascript:false;"; document.body.insertBefore( this.DOMlistF, document.body.firstChild ) } ; this.DOMlist.combo = this.DOMelem.combo = this; this.DOMelem_input.onkeydown = this._onKey; this.DOMelem_input.onkeypress = this._onKeyF; this.DOMelem_input.onblur = this._onBlur; this.DOMelem.onclick = this._toggleSelect; this.DOMlist.onclick = this._selectOption; this.DOMlist.onmousedown = function(){ this._skipBlur = true } ; this.DOMlist.onkeydown = function( e ){ this.combo.DOMelem_input.focus(); ( e || event ).cancelBubble = true; this.combo.DOMelem_input.onkeydown( e ) } }; dhtmlXCombo.prototype._listOver = function( e ) { e = e || event; e.cancelBubble = true; var node = ( _isIE ? event.srcElement : e.target ); var that = this.combo; if ( node.parentNode == that.DOMlist ){ that.unSelectOption(); var i = 0; for ( i; i < that.DOMlist.childNodes.length; i ++ ){ if ( that.DOMlist.childNodes[i] == node ) break } ; var z = that.optionsArr[i]; that._selOption = z; that._selOption.select(); if ( ( that._autoxml ) && ( ( i + 1 ) == that._lastLength ) ) that._fetchOptions( i + 1, that._lasttext || "" ) } }; dhtmlXCombo.prototype._positList = function() { var pos = this.getPosition( this.DOMelem ); if( this.ListPosition == 'Bottom' ){ this.DOMlist.style.top = pos[1] + this.DOMelem.offsetHeight + "px"; this.DOMlist.style.left = pos[0] - 5 + "px" } else if( this.ListPosition == 'Top' ){ this.DOMlist.style.top = pos[1] - this.DOMlist.offsetHeight + "px"; this.DOMlist.style.left = pos[0] - 5 + "px" } else{ this.DOMlist.style.top = pos[1] + "px"; this.DOMlist.style.left = pos[0] - 5 + this.DOMelem.offsetWidth + "px" } }; dhtmlXCombo.prototype.getPosition = function( oNode, pNode ){ if( ! pNode )var pNode = document.body var oCurrentNode = oNode; var iLeft = 0; var iTop = 0; while ( ( oCurrentNode ) && ( oCurrentNode != pNode ) ){ iLeft += oCurrentNode.offsetLeft - oCurrentNode.scrollLeft; iTop += oCurrentNode.offsetTop - oCurrentNode.scrollTop; oCurrentNode = oCurrentNode.offsetParent } ; if ( pNode == document.body ){ if ( _isIE ){ if ( document.documentElement.scrollTop )iTop += document.documentElement.scrollTop; if ( document.documentElement.scrollLeft )iLeft += document.documentElement.scrollLeft } else if ( ! _isFF ){ iLeft += document.body.offsetLeft; iTop += document.body.offsetTop } } ; return new Array( iLeft, iTop ) }; dhtmlXCombo.prototype._correctSelection = function(){ if ( this.getComboText() != "" ) for ( var i = 0; i < this.optionsArr.length; i ++ )if ( ! this.optionsArr[i].isHidden() ){ return this.selectOption( i, true, false ) } ; this.unSelectOption() }; dhtmlXCombo.prototype.selectNext = function( step ){ var z = this.getSelectedIndex() + step; while ( this.optionsArr[z] ){ if ( ! this.optionsArr[z].isHidden() ) return this.selectOption( z, false, false ); z += step } }; dhtmlXCombo.prototype._onKeyF = function( e ){ var that = this.parentNode.combo; var ev = e || event; ev.cancelBubble = true; if ( ev.keyCode == "13" || ev.keyCode == "9" ){ that._confirmSelection(); that.closeAll() } else if ( ev.keyCode == "27" ){ that._resetSelection(); that.closeAll() } else that._activeMode = true; if ( ev.keyCode == "13" || ev.keyCode == "27" ){ that.callEvent( "onKeyPressed", [ev.keyCode] ) return false } ; return true }; dhtmlXCombo.prototype._onKey = function( e ){ var that = this.parentNode.combo; ( e || event ).cancelBubble = true; var ev = ( e || event ).keyCode; if ( ev > 15 && ev < 19 )return true; if ( ev == 27 )return; if ( ( that.DOMlist.style.display != "block" ) && ( ev != "13" ) && ( ev != "9" ) && ( ( ! that._filter ) || ( that._filterAny ) ) ) that.DOMelem.onclick( e || event ); if ( ( ev != "13" ) && ( ev != "9" ) ){ window.setTimeout( function(){ that._onKeyB( ev ) } , 1 ); if ( ev == "40" || ev == "38" )return false } else if ( ev == 9 ){ that.closeAll(); ( e || event ).cancelBubble = false } }; dhtmlXCombo.prototype._onKeyB = function( ev ) { if ( ev == "40" ){ var z = this.selectNext( 1 ) } else if ( ev == "38" ){ this.selectNext( - 1 ) } else{ this.callEvent( "onKeyPressed", [ev] ) if ( this._filter )return this.filterSelf( ( ev == 8 ) || ( ev == 46 ) ); for( var i = 0; i < this.optionsArr.length; i ++ )if ( this.optionsArr[i].data()[1] == this.DOMelem_input.value ){ this.selectOption( i, false, false ); return false } ; this.unSelectOption() } ; return true }; dhtmlXCombo.prototype._onBlur = function() { var self = this.parentNode._self; window.setTimeout( function(){ if ( self.DOMlist._skipBlur )return ! ( self.DOMlist._skipBlur = false ); self._confirmSelection(); self.callEvent( "onBlur", [] ) } , 100 ) }; dhtmlXCombo.prototype.redrawOptions = function(){ if ( this._skiprender )return; for( var i = this.DOMlist.childNodes.length - 1; i >= 0; i -- )this.DOMlist.removeChild( this.DOMlist.childNodes[i] ); for( var i = 0; i < this.optionsArr.length; i ++ )this.DOMlist.appendChild( this.optionsArr[i].render() ) }; dhtmlXCombo.prototype.loadXML = function( url, afterCall ){ this._load = true; if ( ( this._xmlCache ) && ( this._xmlCache[url] ) ){ this._fillFromXML( this, null, null, null, this._xmlCache[url] ); if ( afterCall )afterCall() } else{ var xml = ( new dtmlXMLLoaderObject( this._fillFromXML, this, true, true ) ); if ( afterCall )xml.waitCall = afterCall; if ( this._prs )for ( var i = 0; i < this._prs.length; i ++ )url += [getUrlSymbol( url ), escape( this._prs[i][0] ), "=", escape( this._prs[i][1] )].join( "" ); xml._cPath = url; xml.loadXML( url ) } }; dhtmlXCombo.prototype.loadXMLString = function( astring ){ var xml = ( new dtmlXMLLoaderObject( this._fillFromXML, this, true, true ) ); xml.loadXMLString( astring ) }; dhtmlXCombo.prototype._fillFromXML = function( obj, b, c, d, xml ){ if ( obj._xmlCache )obj._xmlCache[xml._cPath] = xml; xml.getXMLTopNode( "complete" ); var top = xml.doXPath( "//complete" ); var options = xml.doXPath( "//option" ); obj.render( false ); if ( ( ! top[0] ) || ( ! top[0].getAttribute( "add" ) ) ){ obj.clearAll(); obj._lastLength = options.length; if ( obj._xml ){ if ( ( ! options ) || ( ! options.length ) ) obj.closeAll(); else { if ( obj._activeMode ){ obj._positList(); obj.DOMlist.style.display = "block"; if ( _isIE )obj._IEFix( true ) } } } } else obj._lastLength += options.length; for ( var i = 0; i < options.length; i ++ ){ var attr = new Object(); attr.text = options[i].firstChild ? options[i].firstChild.nodeValue : ""; for ( var j = 0; j < options[i].attributes.length; j ++ ){ var a = options[i].attributes[j]; if ( a )attr[a.nodeName] = a.nodeValue } ; obj._addOption( attr ) } ; obj.render( true ); if ( ( obj._load ) && ( obj._load !== true ) ) obj.loadXML( obj._load ); else{ obj._load = false; if ( ( ! obj._lkmode ) && ( ! obj._filter ) ) obj._correctSelection() } ; var selected = xml.doXPath( "//option[@selected]" ); if ( selected.length )obj.selectOption( obj.getIndexByValue( selected[0].getAttribute( "value" ) ), false, true ) }; dhtmlXCombo.prototype.unSelectOption = function(){ if ( this._selOption )this._selOption.deselect(); this._selOption = null }; dhtmlXCombo.prototype._confirmSelection = function( data, status ){ if( arguments.length == 0 ){ var z = this.getOptionByLabel( this.DOMelem_input.value ); data = z ? z.value : this.DOMelem_input.value; status = ( z == null ); if ( data == this.getActualValue() ) return } ; this.DOMelem_hidden_input.value = data; this.DOMelem_hidden_input2.value = ( status ? "true" : "false" ); this.callEvent( "onChange", [] ); this._activeMode = false }; dhtmlXCombo.prototype._resetSelection = function( data, status ){ var z = this.getOption( this.DOMelem_hidden_input.value ); this.setComboValue( z ? z.data()[0] : this.DOMelem_hidden_input.value ) this.setComboText( z ? z.data()[1] : this.DOMelem_hidden_input.value ) }; dhtmlXCombo.prototype.selectOption = function( ind, filter, conf ){ if ( arguments.length < 3 )conf = true; this.unSelectOption(); var z = this.optionsArr[ind]; if ( ! z )return; this._selOption = z; this._selOption.select(); var corr = this._selOption.content.offsetTop + this._selOption.content.offsetHeight - this.DOMlist.scrollTop - this.DOMlist.offsetHeight; if ( corr > 0 )this.DOMlist.scrollTop += corr; corr = this.DOMlist.scrollTop - this._selOption.content.offsetTop; if ( corr > 0 )this.DOMlist.scrollTop -= corr; var data = this._selOption.data(); if ( conf ){ this.setComboText( data[1] ); this._confirmSelection( data[0], false ) } ; if ( ( this._autoxml ) && ( ( ind + 1 ) == this._lastLength ) ) this._fetchOptions( ind + 1, this._lasttext || "" ); if ( filter ){ var text = this.getComboText(); if ( text != data[1] ){ this.setComboText( data[1] ); dhtmlXRange( this.DOMelem_input, text.length + 1, data[1].length ) } } else this.setComboText( data[1] ); this._selOption.RedrawHeader( this ); this.callEvent( "onSelectionChange", [] ) }; dhtmlXCombo.prototype._selectOption = function( e ) { ( e || event ).cancelBubble = true; var node = ( _isIE ? event.srcElement : e.target ); var that = this.combo; while ( ! node._self ){ node = node.parentNode; if ( ! node )return } ; var i = 0; for ( i; i < that.DOMlist.childNodes.length; i ++ ){ if ( that.DOMlist.childNodes[i] == node ) break } ; that.selectOption( i, false, true ); that.closeAll(); that.callEvent( "onBlur", [] ) that._activeMode = false }; dhtmlXCombo.prototype.openSelect = function(){ if ( this._disabled )return; this.closeAll(); this._positList(); this.DOMlist.style.display = "block"; this.callEvent( "onOpen", [] ); if ( _isIE )this._IEFix( true ); this.DOMelem_input.focus(); if ( this._filter )this.filterSelf() }; dhtmlXCombo.prototype._toggleSelect = function( e ) { var that = this.combo; if ( that.DOMlist.style.display == "block" ){ that.closeAll() } else { that.openSelect() } ; ( e || event ).cancelBubble = true }; dhtmlXCombo.prototype._fetchOptions = function( ind, text ){ if ( text == "" ){ this.closeAll(); return this.clearAll() } ; var url = this._xml + ( ( this._xml.indexOf( "?" ) != - 1 ) ? "&" : "?" ) + "pos=" + ind + "&mask=" + encodeURIComponent( text ); this._lasttext = text; if ( this._load )this._load = url; else this.loadXML( url ) }; dhtmlXCombo.prototype.filterSelf = function( mode ) { var text = this.getComboText(); if ( this._xml ){ this._lkmode = mode; this._fetchOptions( 0, text ) } ; try{ var filter = new RegExp( "^" + text, "i" ) } catch ( e ){ var filter = new RegExp( "^" + text.replace( /([\[\]\{\}\(\)\+\*\\])/g, "\\$1" ) ) } ; this.filterAny = false; for( var i = 0; i < this.optionsArr.length; i ++ ){ var z = filter.test( this.optionsArr[i].text ); this.filterAny |= z; this.optionsArr[i].hide( ! z ) } ; if ( ! this.filterAny ){ this.closeAll(); this._activeMode = true } else { if ( this.DOMlist.style.display != "block" )this.openSelect(); if ( _isIE )this._IEFix( true ) } ; if ( ! mode )this._correctSelection(); else this.unSelectOption() }; dhtmlXCombo.prototype._IEFix = function( mode ){ this.DOMlistF.style.display = ( mode ? "block" : "none" ); this.DOMlistF.style.top = this.DOMlist.style.top; this.DOMlistF.style.left = this.DOMlist.style.left }; dhtmlXCombo.prototype.closeAll = function() { if( window.dhx_glbSelectAr )for ( var i = 0; i < dhx_glbSelectAr.length; i ++ ){ if ( dhx_glbSelectAr[i].DOMlist.style.display == "block" ){ dhx_glbSelectAr[i].DOMlist.style.display = "none"; if ( _isIE )dhx_glbSelectAr[i]._IEFix( false ) } ; dhx_glbSelectAr[i]._activeMode = false } }; function dhtmlXRange( InputId, Start, End ) { var Input = typeof( InputId ) == 'object' ? InputId : document.getElementById( InputId ); try{ Input.focus() } catch( e ){ } ; var Length = Input.value.length; Start -- ; if ( Start < 0 || Start > End || Start > Length )Start = 0; if ( End > Length )End = Length; if ( Input.setSelectionRange ){ Input.setSelectionRange( Start, End ) } else if ( Input.createTextRange ){ var range = Input.createTextRange(); range.moveStart( 'character', Start ); range.moveEnd( 'character', End - Length ); range.select() } }; dhtmlXCombo_defaultOption = function(){ this.init() }; dhtmlXCombo_defaultOption.prototype.init = function(){ this.value = null; this.text = ""; this.selected = false; this.css = "" }; dhtmlXCombo_defaultOption.prototype.select = function(){ if ( this.content ); this.content.className = "dhx_selected_option" }; dhtmlXCombo_defaultOption.prototype.hide = function( mode ){ this.render().style.display = mode ? "none" : "" }; dhtmlXCombo_defaultOption.prototype.isHidden = function(){ return ( this.render().style.display == "none" ) }; dhtmlXCombo_defaultOption.prototype.deselect = function(){ if ( this.content )this.render(); this.content.className = "" }; dhtmlXCombo_defaultOption.prototype.setValue = function( attr ){ this.value = attr.value || ""; this.text = attr.text || ""; this.css = attr.css || ""; this.content = null }; dhtmlXCombo_defaultOption.prototype.render = function(){ if ( ! this.content ){ this.content = document.createElement( "DIV" ); this.content._self = this; this.content.id = divIdTemp + "_"+ itemCount; itemCount++; this.content.style.cssText = 'width:100%;overflow:hidden;"+this.css+"'; if ( _isOpera || _isKHTML )this.content.style.padding = "2px 0px 2px 0px"; //this.content.innerHTML = this.text; //alert(this.text); //---getlink----------------- var tempString = this.text; //alert(tempString); var textLabel = ''; var textLink = ''; var linkPosition = tempString.indexOf(',@link:'); //alert(linkPosition); if(linkPosition != -1){ textLabel = tempString.substring(7,linkPosition); textLink = tempString.substring(linkPosition + 7, tempString.length - 1); //alert(textLabel); //alert(textLink); this.text = textLabel; this.content.innerHTML = '' + textLabel + '';//coded by Nguyen } else { this.content.innerHTML = '' + this.text + '';//coded by Nguyen } //###getlink##################### this._ctext = _isIE ? this.content.innerText : this.content.textContent } ; return this.content }; dhtmlXCombo_defaultOption.prototype.data = function(){ if ( this.content )return [this.value, this._ctext ? this._ctext : this.text] }; dhtmlXCombo_defaultOption.prototype.DrawHeader = function( self, name, width, tab ) { var z = document.createElement( "b" ); //z.className = 'dhx_combo_box'; z._self = self; self.DOMelem = z; this._DrawHeaderInput( self, name, width, tab ); this._DrawHeaderButton( self, name, width ); self.DOMParent.appendChild( self.DOMelem ) }; dhtmlXCombo_defaultOption.prototype._DrawHeaderInput = function( self, name, width, tab ) { var z = document.createElement( 'input' ); z.className = 'input'; z.setAttribute( "autocomplete", "off" ); z.type = 'text'; if ( tab )z.tabIndex = tab; z.style.width = ( width - 19 ) + 'px'; self.DOMelem.appendChild( z ); self.DOMelem_input = z; z = document.createElement( 'input' ); z.type = 'hidden'; z.name = name; z.id = name; self.DOMelem.appendChild( z ); self.DOMelem_hidden_input = z; z = document.createElement( 'input' ); z.type = 'hidden'; z.name = name + "_new_value"; z.id = name + "_new_value"; z.value = "true"; self.DOMelem.appendChild( z ); self.DOMelem_hidden_input2 = z }; dhtmlXCombo_defaultOption.prototype._DrawHeaderButton = function( self, name, width ) { var z = document.createElement( 'img' ); //z.className = ''; if(imagePathString == '') { imagePathString = "./images/arrow_down.gif"; } z.src = imagePathString; self.DOMelem.appendChild( z ); self.DOMelem_button = z }; dhtmlXCombo_defaultOption.prototype.RedrawHeader = function( self ) { }; dhtmlXCombo_optionTypes['default'] = dhtmlXCombo_defaultOption; dhtmlXCombo.prototype.dhx_Event = function() { this.dhx_SeverCatcherPath = ""; this.attachEvent = function( original, catcher, CallObj ) { CallObj = CallObj || this; original = 'ev_' + original; if ( ( ! this[original] ) || ( ! this[original].addEvent ) ) { var z = new this.eventCatcher( CallObj ); z.addEvent( this[original] ); this[original] = z } ; return ( original + ':' + this[original].addEvent( catcher ) ) } ; this.callEvent = function( name, arg0 ){ if ( this["ev_" + name] )return this["ev_" + name].apply( this, arg0 ); return true } ; this.checkEvent = function( name ){ if ( this["ev_" + name] )return true; return false } ; this.eventCatcher = function( obj ) { var dhx_catch = new Array(); var m_obj = obj; var func_server = function( catcher, rpc ) { catcher = catcher.split( ":" ); var postVar = ""; var postVar2 = ""; var target = catcher[1]; if ( catcher[1] == "rpc" ){ postVar = '' + catcher[2] + ''; postVar2 = ""; target = rpc } ; var z = function() { } ; return z } ; var z = function() { if ( dhx_catch )var res = true; for ( var i = 0; i < dhx_catch.length; i ++ ){ if ( dhx_catch[i] != null ){ var zr = dhx_catch[i].apply( m_obj, arguments ); res = res && zr } } ; return res } ; z.addEvent = function( ev ) { if ( typeof( ev ) != "function" ) if ( ev && ev.indexOf && ev.indexOf( "server:" ) == 0 ) ev = new func_server( ev, m_obj.rpcServer ); else ev = eval( ev ); if ( ev )return dhx_catch.push( ev ) - 1; return false } ; z.removeEvent = function( id ) { dhx_catch[id] = null } ; return z } ; this.detachEvent = function( id ) { if ( id != false ){ var list = id.split( ':' ); this[ list[0] ].removeEvent( list[1] ) } } }; dhtmlXCombo.prototype.setImagePath = function(imagePath){ imagePathString = imagePath; alert('imagePath='+imagePath); };