function wechseln() {
    myurl = z.getSelectedValue();
    if (myurl.indexOf("http://") < 0)
        document.location.href = myurl;
    else
        window.open(myurl);
}

/*
Copyright Scand LLC http://www.scbr.com

*/ 
 
function dtmlXMLLoaderObject(funcObject,dhtmlObject,async,rSeed){
 this.xmlDoc="";
 if(arguments.length==2)
 this.async=true;
 else
 this.async=async;
 this.onloadAction=funcObject||null;
 this.mainObject=dhtmlObject||null;
 this.waitCall=null;
 this.rSeed=rSeed||false;
 return this;
};
 
 dtmlXMLLoaderObject.prototype.waitLoadFunction=function(dhtmlObject){
 this.check=function(){
 if((dhtmlObject)&&(dhtmlObject.onloadAction!=null)){
 if((!dhtmlObject.xmlDoc.readyState)||(dhtmlObject.xmlDoc.readyState == 4)){
 dhtmlObject.onloadAction(dhtmlObject.mainObject,null,null,null,dhtmlObject);
 if(dhtmlObject.waitCall){dhtmlObject.waitCall();dhtmlObject.waitCall=null;}
 dhtmlObject=null;
}
}
};
 return this.check;
};

 
 dtmlXMLLoaderObject.prototype.getXMLTopNode=function(tagName){
 if(this.xmlDoc.responseXML){
 var temp=this.xmlDoc.responseXML.getElementsByTagName(tagName);
 var z=temp[0];
}else
 var z=this.xmlDoc.documentElement;
 if(z){
 this._retry=false;
 return z;
}

 if((_isIE)&&(!this._retry)){
 
 var xmlString=this.xmlDoc.responseText;
 this._retry=true;
 this.xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
 this.xmlDoc.async=false;
 this.xmlDoc.loadXML(xmlString);

 return this.getXMLTopNode(tagName);
}
 dhtmlxError.throwError("LoadXML","Incorrect XML",[this.xmlDoc,this.mainObject]);
 return document.createElement("DIV");
};

 
 dtmlXMLLoaderObject.prototype.loadXMLString=function(xmlString){
 try
{
 var parser = new DOMParser();
 this.xmlDoc = parser.parseFromString(xmlString,"text/xml");
}
 catch(e){
 this.xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
 this.xmlDoc.async=this.async;
 this.xmlDoc.loadXML(xmlString);
}
 this.onloadAction(this.mainObject);
 if(this.waitCall){this.waitCall();this.waitCall=null;}
}
 
 dtmlXMLLoaderObject.prototype.loadXML=function(filePath,postMode,postVars){
 this.filePath=filePath;
 if(this.rSeed)filePath+=((filePath.indexOf("?")!=-1)?"&":"?")+"a_dhx_rSeed="+(new Date()).valueOf();


 if((!_isIE)&&(window.XMLHttpRequest)){
 this.xmlDoc = new XMLHttpRequest();
 this.xmlDoc.open(postMode?"POST":"GET",filePath,this.async);
 if(postMode)
 this.xmlDoc.setRequestHeader('Content-type','application/x-www-form-urlencoded');
 this.xmlDoc.onreadystatechange=new this.waitLoadFunction(this);
 this.xmlDoc.send(null||postVars);
}
 else{

 if(document.implementation && document.implementation.createDocument)
{
 this.xmlDoc = document.implementation.createDocument("","",null);
 this.xmlDoc.onload = new this.waitLoadFunction(this);
 this.xmlDoc.load(filePath);
}
 else
{
 this.xmlDoc = new ActiveXObject("Microsoft.XMLHTTP");
 this.xmlDoc.open(postMode?"POST":"GET",filePath,this.async);
 if(postMode)this.xmlDoc.setRequestHeader('Content-type','application/x-www-form-urlencoded');
 this.xmlDoc.onreadystatechange=new this.waitLoadFunction(this);
 this.xmlDoc.send(null||postVars);
}
}
};
 
 dtmlXMLLoaderObject.prototype.destructor=function(){
 this.onloadAction=null;
 this.mainObject=null;
 this.xmlDoc=null;
 return null;
}
 
 
function callerFunction(funcObject,dhtmlObject){
 this.handler=function(e){
 if(!e)e=window.event;
 funcObject(e,dhtmlObject);
 return true;
};
 return this.handler;
};

 
function getAbsoluteLeft(htmlObject){
 var xPos = htmlObject.offsetLeft;
 var temp = htmlObject.offsetParent;
 while(temp != null){
 xPos+= temp.offsetLeft;
 temp = temp.offsetParent;
}
 return xPos;
}
 
function getAbsoluteTop(htmlObject){
 var yPos = htmlObject.offsetTop;
 var temp = htmlObject.offsetParent;
 while(temp != null){
 yPos+= temp.offsetTop;
 temp = temp.offsetParent;
}
 return yPos;
}
 
 
 
function convertStringToBoolean(inputString){if(typeof(inputString)=="string")inputString=inputString.toLowerCase();
 switch(inputString){
 case "1":
 case "true":
 case "yes":
 case "y":
 case 1: 
 case true: 
 return true;
 break;
 default: return false;
}
}

 
function getUrlSymbol(str){
 if(str.indexOf("?")!=-1)
 return "&"
 else
 return "?"
}
 
 
function dhtmlDragAndDropObject(){
 this.lastLanding=0;
 this.dragNode=0;
 this.dragStartNode=0;
 this.dragStartObject=0;
 this.tempDOMU=null;
 this.tempDOMM=null;
 this.waitDrag=0;
 if(window.dhtmlDragAndDrop)return window.dhtmlDragAndDrop;
 window.dhtmlDragAndDrop=this;

 return this;
};
 
 dhtmlDragAndDropObject.prototype.removeDraggableItem=function(htmlNode){
 htmlNode.onmousedown=null;
 htmlNode.dragStarter=null;
 htmlNode.dragLanding=null;
}
 dhtmlDragAndDropObject.prototype.addDraggableItem=function(htmlNode,dhtmlObject){
 htmlNode.onmousedown=this.preCreateDragCopy;
 htmlNode.dragStarter=dhtmlObject;
 this.addDragLanding(htmlNode,dhtmlObject);
}
 dhtmlDragAndDropObject.prototype.addDragLanding=function(htmlNode,dhtmlObject){
 htmlNode.dragLanding=dhtmlObject;
}
 dhtmlDragAndDropObject.prototype.preCreateDragCopy=function(e)
{
 if(window.dhtmlDragAndDrop.waitDrag){
 window.dhtmlDragAndDrop.waitDrag=0;
 document.body.onmouseup=window.dhtmlDragAndDrop.tempDOMU;
 document.body.onmousemove=window.dhtmlDragAndDrop.tempDOMM;
 return false;
}

 window.dhtmlDragAndDrop.waitDrag=1;
 window.dhtmlDragAndDrop.tempDOMU=document.body.onmouseup;
 window.dhtmlDragAndDrop.tempDOMM=document.body.onmousemove;
 window.dhtmlDragAndDrop.dragStartNode=this;
 window.dhtmlDragAndDrop.dragStartObject=this.dragStarter;
 document.body.onmouseup=window.dhtmlDragAndDrop.preCreateDragCopy;
 document.body.onmousemove=window.dhtmlDragAndDrop.callDrag;

 if((e)&&(e.preventDefault)){e.preventDefault();return false;}
 return false;
};
 dhtmlDragAndDropObject.prototype.callDrag=function(e){
 if(!e)e=window.event;
 dragger=window.dhtmlDragAndDrop;

 if((e.button==0)&&(_isIE))return dragger.stopDrag();
 if(!dragger.dragNode){
 dragger.dragNode=dragger.dragStartObject._createDragNode(dragger.dragStartNode,e);
 if(!dragger.dragNode)return dragger.stopDrag();
 dragger.gldragNode=dragger.dragNode;
 document.body.appendChild(dragger.dragNode);
 document.body.onmouseup=dragger.stopDrag;
 dragger.waitDrag=0;
 dragger.dragNode.pWindow=window;
 dragger.initFrameRoute();
}


 if(dragger.dragNode.parentNode!=window.document.body){
 var grd=dragger.gldragNode;
 if(dragger.gldragNode.old)grd=dragger.gldragNode.old;

 
 grd.parentNode.removeChild(grd);
 var oldBody=dragger.dragNode.pWindow;
 if(_isIE){
 var div=document.createElement("Div");
 div.innerHTML=dragger.dragNode.outerHTML;
 dragger.dragNode=div.childNodes[0];}
 else dragger.dragNode=dragger.dragNode.cloneNode(true);
 dragger.dragNode.pWindow=window;
 dragger.gldragNode.old=dragger.dragNode;
 document.body.appendChild(dragger.dragNode);
 oldBody.dhtmlDragAndDrop.dragNode=dragger.dragNode;
}

 dragger.dragNode.style.left=e.clientX+15+(dragger.fx?dragger.fx*(-1):0)+(document.body.scrollLeft||document.documentElement.scrollLeft)+"px";
 dragger.dragNode.style.top=e.clientY+3+(dragger.fy?dragger.fy*(-1):0)+(document.body.scrollTop||document.documentElement.scrollTop)+"px";
 if(!e.srcElement)var z=e.target;else z=e.srcElement;
 dragger.checkLanding(z,e.clientX,e.clientY);
}
 
 dhtmlDragAndDropObject.prototype.calculateFramePosition=function(n){
 
 if(window.name){
 var el =parent.frames[window.name].frameElement.offsetParent;
 var fx=0;
 var fy=0;
 while(el){fx+= el.offsetLeft;fy+= el.offsetTop;el = el.offsetParent;}
 if((parent.dhtmlDragAndDrop)){var ls=parent.dhtmlDragAndDrop.calculateFramePosition(1);fx+=ls.split('_')[0]*1;fy+=ls.split('_')[1]*1;}
 if(n)return fx+"_"+fy;
 else this.fx=fx;this.fy=fy;
}
 return "0_0";
}
 dhtmlDragAndDropObject.prototype.checkLanding=function(htmlObject,x,y){

 if((htmlObject)&&(htmlObject.dragLanding)){if(this.lastLanding)this.lastLanding.dragLanding._dragOut(this.lastLanding);
 this.lastLanding=htmlObject;this.lastLanding=this.lastLanding.dragLanding._dragIn(this.lastLanding,this.dragStartNode,x,y);}
 else{
 if((htmlObject)&&(htmlObject.tagName!="BODY"))this.checkLanding(htmlObject.parentNode,x,y);
 else{
 if(this.lastLanding)this.lastLanding.dragLanding._dragOut(this.lastLanding,x,y);this.lastLanding=0;
 if(this._onNotFound)this._onNotFound();
}
}
}
 dhtmlDragAndDropObject.prototype.stopDrag=function(e,mode){
 dragger=window.dhtmlDragAndDrop;
 if(!mode)
{
 dragger.stopFrameRoute();
 var temp=dragger.lastLanding;
 dragger.lastLanding=null;
 if(temp)temp.dragLanding._drag(dragger.dragStartNode,dragger.dragStartObject,temp);
}
 dragger.lastLanding=null;
 if((dragger.dragNode)&&(dragger.dragNode.parentNode==document.body))dragger.dragNode.parentNode.removeChild(dragger.dragNode);
 dragger.dragNode=0;
 dragger.gldragNode=0;
 dragger.fx=0;
 dragger.fy=0;
 dragger.dragStartNode=0;
 dragger.dragStartObject=0;
 document.body.onmouseup=dragger.tempDOMU;
 document.body.onmousemove=dragger.tempDOMM;
 dragger.tempDOMU=null;
 dragger.tempDOMM=null;
 dragger.waitDrag=0;
}
 
 dhtmlDragAndDropObject.prototype.stopFrameRoute=function(win){
 if(win)
 window.dhtmlDragAndDrop.stopDrag(1,1);

 for(var i=0;i<window.frames.length;i++)
 if((window.frames[i]!=win)&&(window.frames[i].dhtmlDragAndDrop))
 window.frames[i].dhtmlDragAndDrop.stopFrameRoute(window);
 if((parent.dhtmlDragAndDrop)&&(parent!=window)&&(parent!=win))
 parent.dhtmlDragAndDrop.stopFrameRoute(window);
}
 dhtmlDragAndDropObject.prototype.initFrameRoute=function(win,mode){
 if(win){


 window.dhtmlDragAndDrop.preCreateDragCopy();
 window.dhtmlDragAndDrop.dragStartNode=win.dhtmlDragAndDrop.dragStartNode;
 window.dhtmlDragAndDrop.dragStartObject=win.dhtmlDragAndDrop.dragStartObject;
 window.dhtmlDragAndDrop.dragNode=win.dhtmlDragAndDrop.dragNode;
 window.dhtmlDragAndDrop.gldragNode=win.dhtmlDragAndDrop.dragNode;
 window.document.body.onmouseup=window.dhtmlDragAndDrop.stopDrag;
 window.waitDrag=0;
 if(((!_isIE)&&(mode))&&((!_isFF)||(_FFrv<1.8)))
 window.dhtmlDragAndDrop.calculateFramePosition();
}
 if((parent.dhtmlDragAndDrop)&&(parent!=window)&&(parent!=win))
 parent.dhtmlDragAndDrop.initFrameRoute(window);
 for(var i=0;i<window.frames.length;i++)
 if((window.frames[i]!=win)&&(window.frames[i].dhtmlDragAndDrop))
 window.frames[i].dhtmlDragAndDrop.initFrameRoute(window,((!win||mode)?1:0));

}

var _isFF=false;var _isIE=false;var _isOpera=false;var _isKHTML=false;var _isMacOS=false;

if(navigator.userAgent.indexOf('Macintosh')!= -1)_isMacOS=true;
if((navigator.userAgent.indexOf('Safari')!= -1)||(navigator.userAgent.indexOf('Konqueror')!= -1))
 _isKHTML=true;
else if(navigator.userAgent.indexOf('Opera')!= -1){
 _isOpera=true;
 _OperaRv=parseFloat(navigator.userAgent.substr(navigator.userAgent.indexOf('Opera')+6,3));
}
else if(navigator.appName.indexOf("Microsoft")!=-1)
 _isIE=true;
else{
 _isFF=true;
 var _FFrv=parseFloat(navigator.userAgent.split("rv:")[1])
}

 
 
function isIE(){
 if(navigator.appName.indexOf("Microsoft")!=-1)
 if(navigator.userAgent.indexOf('Opera')== -1)
 return true;
 return false;
}

 
dtmlXMLLoaderObject.prototype.doXPath = function(xpathExp,docObj){
 if((_isOpera)||(_isKHTML))return this.doXPathOpera(xpathExp,docObj);
 if(_isIE){
 if(!docObj)
 if(!this.xmlDoc.nodeName)
 docObj = this.xmlDoc.responseXML
 else
 docObj = this.xmlDoc;
 return docObj.selectNodes(xpathExp);
}else{
 var nodeObj = docObj;
 if(!docObj){
 if(!this.xmlDoc.nodeName){
 docObj = this.xmlDoc.responseXML
}else{
 docObj = this.xmlDoc;
}
}
 if(docObj.nodeName.indexOf("document")!=-1){
 nodeObj = docObj;
}else{
 nodeObj = docObj;
 docObj = docObj.ownerDocument;

}
 var rowsCol = new Array();
 var col = docObj.evaluate(xpathExp,nodeObj,null,XPathResult.ANY_TYPE,null);
 var thisColMemb = col.iterateNext();
 while(thisColMemb){
 rowsCol[rowsCol.length] = thisColMemb;
 thisColMemb = col.iterateNext();
}
 return rowsCol;
}
}
 
if((window.Node)&&(!_isKHTML))
Node.prototype.removeNode = function(removeChildren)
{
 var self = this;
 if(Boolean(removeChildren))
{
 return this.parentNode.removeChild(self);
}
 else
{
 var range = document.createRange();
 range.selectNodeContents(self);
 return this.parentNode.replaceChild(range.extractContents(),self);
}
}

function _dhtmlxError(type,name,params){
 if(!this.catches)
 this.catches=new Array();

 return this;
}

_dhtmlxError.prototype.catchError=function(type,func_name){
 this.catches[type]=func_name;
}
_dhtmlxError.prototype.throwError=function(type,name,params){
 if(this.catches[type])return this.catches[type](type,name,params);
 if(this.catches["ALL"])return this.catches["ALL"](type,name,params);
 alert("Error type: "+arguments[0]+"\nDescription: "+arguments[1]);
 return null;
}

window.dhtmlxError=new _dhtmlxError();


 
 
dtmlXMLLoaderObject.prototype.doXPathOpera = function(xpathExp,docObj){
 
 var z=xpathExp.replace(/[\/]+/gi,"/").split('/');
 var obj=null;
 var i=1;

 if(!z.length)return [];
 if(z[0]==".")
 obj=[docObj];
 else if(z[0]=="")
{
 obj=this.xmlDoc.responseXML.getElementsByTagName(z[i].replace(/\[[^\]]*\]/g,""));
 i++;
}
 else return [];

 for(i;i<z.length;i++)
 obj=this._getAllNamedChilds(obj,z[i]);

 if(z[i-1].indexOf("[")!=-1)
 obj=this._filterXPath(obj,z[i-1]);
 return obj;
}

dtmlXMLLoaderObject.prototype._filterXPath = function(a,b){
 var c=new Array();
 var b=b.replace(/[^\[]*\[\@/g,"").replace(/[\[\]\@]*/g,"");
 for(var i=0;i<a.length;i++)
 if(a[i].getAttribute(b))
 c[c.length]=a[i];

 return c;
}
dtmlXMLLoaderObject.prototype._getAllNamedChilds = function(a,b){
 var c=new Array();
 for(var i=0;i<a.length;i++)
 for(var j=0;j<a[i].childNodes.length;j++)
 if(a[i].childNodes[j].tagName==b)c[c.length]=a[i].childNodes[j];

 return c;
}

function dhtmlXHeir(a,b){
 for(c in b)
 if(typeof(b[c])=="function")a[c]=b[c];
 return a;
}
function dhtmlxEvent(el,event,handler){
 if(el.addEventListener)
 el.addEventListener(event,handler,false);
 else if(el.attachEvent)
 el.attachEvent("on"+event,handler);
}

/*
Copyright Scand LLC http://www.scbr.com

*/ 

 

 
function dhtmlXComboFromSelect(parent){
 if(typeof(parent)=="string")
 parent=document.getElementById(parent);

 var size=parent.offsetWidth;
 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,size,s_type);

 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]=[val,label];
}

 w.addOption(x);
 parent.parentNode.removeChild(parent);
 w.selectOption(sel);
 return w;
}

var dhtmlXCombo_optionTypes = [];
 
function dhtmlXCombo(parent,name,width,optionType){
 if(typeof(parent)=="string")
 parent=document.getElementById(parent);

 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,width);
 dhx_glbSelectAr.push(this);
}
 
 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=[];
 this.DOMelem_button.style.display=(this._filter?"none":"");
}
 
 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){
 this.DOMelem_input.readOnly=mode ? true : false;
}
 
 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)
{
 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()
{
 this.optionsArr=new Array();
 this.redrawOptions();
}
 
 dhtmlXCombo.prototype.deleteOption = function(value)
{
 var ind=this.getIndexByValue(value);
 if(ind<0)return;
 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)
 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.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)
{
 this._selectsArr[i] = null;
 this._selectsArr.splice(i,1);
 return;
}
}
}

 
 dhtmlXCombo.prototype._createSelf = function(selParent,name,width)
{
 width=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);
 
 this.DOMlist = document.createElement("DIV");
 this.DOMlist.className = 'dhx_combo_list';
 this.DOMlist.style.width=width-(_isIE?0:0)+"px";
 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";
 this.DOMlistF.className = 'dhx_combo_list';
 this.DOMlistF.style.width=width-(_isIE?0:0)+"px";
 this.DOMlistF.style.display = "none";
 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._onChange;
 this.DOMelem.onclick = this._toggleSelect;
 this.DOMlist.onclick = this._selectOption;
 this.DOMlist.onmouseover = this._listOver;
}

 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();
}

}

 
 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]+"px";
}
 else{
 this.DOMlist.style.top = pos[1]+"px";
 this.DOMlist.style.left = pos[0]+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(){
 for(var i=0;i<this.optionsArr.length;i++)
 if(!this.optionsArr[i].isHidden())
 return this.selectOption(i,true);
}
 
 dhtmlXCombo.prototype.selectNext = function(step){
 var z=this.getSelectedIndex()+step;
 while(this.optionsArr[z]){
 if(!this.optionsArr[z].isHidden())
 return this.selectOption(z);
 z+=step;
}
}
 
 dhtmlXCombo.prototype._onKeyF = function(e){
 var that=this.parentNode.combo;
 var ev=e||event;
 if(ev.keyCode=="27"){
 that.closeAll();
 return false;
}
 if(ev.keyCode=="13"){
wechseln();
 return false;
}

 return true;
}
 
 dhtmlXCombo.prototype._onKey = function(e){
 var that=this.parentNode.combo;
 var ev=(e||event).keyCode;

 if((that.DOMlist.style.display!="block")&&(ev!="13")&&(ev!="9"))
 that.DOMelem.onclick(e||event);

 window.setTimeout(function(){that._onKeyB(ev);},1);
}
 dhtmlXCombo.prototype._onKeyB = function(ev)
{
 if(ev=="40"){
 var z=this.selectNext(1);
}else if(ev=="38"){
 this.selectNext(-1);
}else{
 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);
 return false;
}
 this.unSelectOption();
}
 return true;
}


 
 dhtmlXCombo.prototype._onChange = function()
{
 var self = this.parentNode._self;
 var z=self.getOptionByLabel(self.DOMelem_input.value);

 self.DOMelem_hidden_input.value = z?z.value:self.DOMelem_input.value;
 self.DOMelem_hidden_input2.value =(z==null);
}
 
 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){
 this._load=true;
 if((this._xmlCache)&&(this._xmlCache[url]))
 this._fillFromXML(this,null,null,null,this._xmlCache[url]);
 else{
 var xml=(new dtmlXMLLoaderObject(this._fillFromXML,this,true,true));
 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;

 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;
}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();
}

}
 
 dhtmlXCombo.prototype.unSelectOption = function(){
 if(this._selOption)
 this._selOption.deselect();
 this._selOption=null;
}
 
 dhtmlXCombo.prototype.selectOption = function(ind,filter){
 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();

 this.DOMelem_hidden_input.value=data[0];
 this.DOMelem_hidden_input2.value = "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);
}
 
 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);
 that.closeAll();
}
 
 dhtmlXCombo.prototype.openSelect = function(){
 if(this._disabled)return;
 this.closeAll();
 this._positList();
 this.DOMlist.style.display="block";
 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=="")return this.clearAll();
 var url=this._xml+((this._xml.indexOf("?")!=-1)?"&":"?")+"pos="+ind+"&mask="+escape(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"));}

 var ind=-1;
 for(var i=0;i<this.optionsArr.length;i++)
 this.optionsArr[i].hide(!filter.test(this.optionsArr[i].text));

 if(!mode)
 this._correctSelection();
}


 
 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);
}
}
 
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.style.cssText='width:100%;overflow:hidden;"+this.css+"';
 this.content.innerHTML=this.text;
}
 return this.content;
}
 
 dhtmlXCombo_defaultOption.prototype.data = function(){
 return [this.value,this.text];
}

dhtmlXCombo_defaultOption.prototype.DrawHeader = function(self,name,width)
{
 var z=document.createElement("DIV");
 z.style.width = width+"px";
 z.className = 'dhx_combo_box';
 z._self = self;
 self.DOMelem = z;
 this._DrawHeaderInput(self,name,width);
 this._DrawHeaderButton(self,name,width);
 self.DOMParent.appendChild(self.DOMelem);
}

dhtmlXCombo_defaultOption.prototype._DrawHeaderInput = function(self,name,width)
{
 var z=document.createElement('input');
 z.className = 'dhx_combo_input';
 z.type = 'text';
 z.style.width =(width-19)+'px';
 self.DOMelem.appendChild(z);
 self.DOMelem_input = z;

 z = document.createElement('input');
 z.type = 'hidden';
 z.name = name;
 self.DOMelem.appendChild(z);
 self.DOMelem_hidden_input = z;

 z = document.createElement('input');
 z.type = 'hidden';
 z.name = 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 = 'dhx_combo_img';
 z.src =(window.dhx_globalImgPath?dhx_globalImgPath:"")+'combo_select.gif';
 self.DOMelem.appendChild(z);
 self.DOMelem_button=z;
}

dhtmlXCombo_defaultOption.prototype.RedrawHeader = function(self)
{
}


dhtmlXCombo_optionTypes['default'] = dhtmlXCombo_defaultOption;

