/*@cc_on (function(f){ window.setTimeout = f(window.setTimeout); window.setInterval = f(window.setInterval);})(function(f){ return function(c,t){ var a = Array.prototype.slice.call(arguments,2); if(typeof c != "function") c = new Function(c); return f(function(){ c.apply(this, a)}, t)}}); @*/ if(!document._getelementsbyxpath && !document.evaluate) { document._getElementsByXPath = document._getelementsbyxpath = function(expression, parentElement) { var results = []; var query = document.evaluate(expression, parentElement || document, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null); for (var i = 0, length = query.snapshotLength; i < length; i++) results.push(query.snapshotItem(i)); return results;}} (function(){ var c = document.uniqueID && document.compatMode && !window.XMLHttpRequest && document.execCommand; try{ if(!!c) { c("BackgroundImageCache", false, true); } }catch(e){}; })(); Objekt = { globals : {}, erw : function(ziel,quelle) { try { if(typeof quelle['erwID'] != 'undefined' && quelle['erwID'] == ziel['erwID']) return ziel; for(var e in quelle) { ziel[e] = quelle[e];} return ziel;} catch(f) { return false; }}, kopie : function(q,z) { z = z || (is_array(q) ? [] : {}); for(var e in q) { try { if(is_object(q[e]) && !is_func(q[e])) z[e] = Objekt.kopie(q[e]); else z[e] = q[e];} catch(f) { continue; }} return z;}, ajoin : function(obj,g,t) { var s = ''; for (o in obj) s += (s != '' ? t : '')+o+g+obj[o]; return s;}, toQuery : function(obj,opt,noURIenc) { var q = ''; if(is_base(opt)) { if(is_array(opt['nicht'])) var nicht = opt['nicht']; else if(is_string(opt['nicht'])) var nicht = [opt['nicht']]; else var nicht = []; if(is_string['pre']) var pre = opt['pre']; else var pre = '';} else { var pre = opt; opt = {}; } if(obj instanceof Array) obj = $O(obj); for(o in obj) { var tit = (!undef(pre) && pre != false) ? pre+'['+o+']' : o; var subopt = Objekt.kopie(opt); subopt['pre'] = tit; if(typeof obj[o] == 'object') if(obj[o] instanceof Function ||obj[o] instanceof Window || obj[o] instanceof Screen || obj[o] instanceof RegExp || obj[o] instanceof Screen) continue; else if(obj[o] instanceof Date || obj[o] instanceof String || obj[o] instanceof Number || obj[o] instanceof Boolean) q += (q != '' ? '&' : '')+tit+'='+(noURIenc ? obj[o] : encodeURIComponent(obj[o])); else q += (q != '' ? '&' : '')+Objekt.toQuery(obj[o],tit,noURIenc); else if(is_value(obj[o])) q += (q != '' ? '&' : '')+tit+'='+(noURIenc ? obj[o] : encodeURIComponent(obj[o]));} return q;}, filter : function(obj,nicht) { var neu = {}; if(!is_array(nicht)) nicht = [nicht]; for(var i in obj) { if(nicht.inArray(i)) continue; if(is_base(obj[i])) neu[i] = Objekt.filter(obj[i],nicht); else if(is_value(obj)) neu[i] = obj[i];} return neu;}, keys : function(obj) { var a = []; for(k in obj) a.push(k); return a;}, flip : function(obj) { var nobj = {}; for(var e in obj) { if(!is_string(obj[e]) && !is_number(obj[e])) continue; nobj[obj[e]] = e;} return nobj;}, setze : function(obj,wert) { for(var e in obj) obj[e] = wert; return obj;}, prototypen : { dom : { generate_uid : function(i) { var u = fstat('uid',{c:0}); if(!this.uid) this.uid = 'uid'+(u.c++); if(i && !this.id) this.id = this.uid; return this;}, getid : function() { if(this.id) return this.id; return this.generate_uid(true).id;}, verstecke : function(opt) { if(this.style.display && this.style.display != 'none') this.olddisplay = this.style.display; this.style.display = 'none'; if(typeof opt == 'object' && opt.src) { $(opt).srctoggle();} if(this.className == "buttonSubmit") { if(this.previousSibling.className == "buttonImg") this.previousSibling.style.display = 'none'; if(this.nextSibling.className == "buttonImg") this.nextSibling.style.display = 'none';} return this;}, zeige : function(opt) { if(typeof this.olddisplay == 'string') this.style.display = this.olddisplay; else if(this.getAttribute('olddisplay')) this.style.display = this.getAttribute('olddisplay'); else this.style.display = ''; if(typeof opt == 'object' && opt.src) { $(opt).srctoggle(true);} if(this.className == "buttonSubmit") { if(this.previousSibling.className == "buttonImg") this.previousSibling.style.display = 'inline'; if(this.nextSibling.className == "buttonImg") this.nextSibling.style.display = 'inline';} return this;}, toggle : function(opt) { var that = this, z = false; if(this.style.display == 'none') that.zeige(opt); else that.verstecke(opt); return this;}, srctoggle : function(z) { if(!this.src) return; var pos = this.getAttribute('srcpos'); var neg = this.getAttribute('srcneg'); if(pos && !neg) { neg = this.src; this.setAttribute('srcneg',neg); } if(!pos && neg) { pos = this.src; this.setAttribute('srcpos',pos); } if(pos && z) this.src = pos; else if(neg && !z) this.src = neg; return this;}, blenden : function(t,d,verz) { d = is_number(d) ? d : 500; verz = is_number(verz) ? verz : 0; var alt = this.transparenz(); var that = this; if(d == 0) { setTimeout(that.transparenz.bind(that),verz,t); return; } d = Math.round(d / Math.abs(alt-t)); var z = 0; if(alt > t) for(var i = alt; i >= t; i--) { setTimeout(that.transparenz.bind(that),(z * d)+verz,i); z++; } else if(alt < t) for(var i = alt; i <= t; i++) { setTimeout(that.transparenz.bind(that),(z * d)+verz,i); z++; } return this;}, einblenden : function(t,d,verz) { this.transparenz(0); this.blenden(t,d,verz); return this;}, ausblenden : function(d,verz) { d = d || 500; this.blenden(0,d,verz); var that = this; setTimeout(that.verstecke.bind(that),d+50+verz); return this;}, transformieren : function(b,h,x,y,dauer,typ,bezug) { b = b || this.offsetWidth; h = h || this.offsetHeight; dauer = dauer || 500; bezug = ['tl','tc','tr','cl','cc','cr','bl','bc','br'].valide(bezug); x = x || this.offsetLeft; y = y || this.offsetTop; var that = this; var altb = this.offsetWidth, alth = this.offsetHeight, altx = this.offsetLeft, alty = this.offsetTop; var steps = parseInt(dauer / 10); for(var i = 0; i <= steps; i++) { var bb = altb + (b-altb)*i/steps; var hh = alth + (h-alth)*i/steps; var xx = altx + (x-altx)*i/steps; var yy = alty + (y-alty)*i/steps; var zeit = typ != 's' ? i : (i < steps/2 ? steps*0.5*Math.sin(Math.PI/2*i/(steps/2)) : steps*(1.5 + 0.5*Math.sin(Math.PI/steps/4*(i-steps)))); setTimeout(that.position.bind(that),zeit*10,bb,hh,xx,yy,zeit);} return this;}, position : function(b,h,x,y,z) { $_html('log','B:'+b+', H:'+h+', X: '+x+', Y: '+y+', Z: '+z+'
'); this.style.width = b+'px'; this.style.height = h+'px'; this.style.left = x+'px'; this.style.top = y+'px'; return this;}, nfocus : function(c,s) { s = s || 1; c = c === true && this.form ? this.form : (S(c) ? S(c) : document); var fe = ['input','select','textarea']; var el = []; if(fe.inArray(this.nodeName.toLowerCase())) { if(document.forms[0] && !document.forms[0].atabIndex) { var ij = 0; for(var i = 0, il = document.forms.length; i < il; i++) { document.forms[i].atabIndex = true; for(var j = 0, jl = document.forms[i].elements.length; j < jl; j++) { document.forms[i].elements[j].atabIndex = ij++;} }} fe = $O(fe); for(e in fe) el = el.concat($A($a(fe[e],c))); } else el = $A($a(this.nodeName,c)); var so = []; for(var e = 0; e < el.length; e++) { so.push([el[e], (el[e].tabIndex ? el[e].tabIndex : 0), (el[e].atabIndex ? el[e].atabIndex : 0)]); } so.multiSort(1,2); for(var i = 0, sl = so.length; i < sl; i++) { if(so[i][0] == this) { so[(i+s+sl*Math.ceil(Math.abs(s)/sl)) % sl][0].focus(); break;}} return this;}, scrollToTop : function() { this.scrollTop = 0; return this; }, scrollToBottom : function() { this.scrollTop = this.scrollHeight-this.offsetHeight; return this; }, info_pos : function() { var l = t = 0; var obj = this; if (obj.offsetParent) { do { l += obj.offsetLeft; t += obj.offsetTop;} while (obj = obj.offsetParent);} return [l,t];}, fade : function() {}, fadebg : function() {}, cblink : function(c,d) { c = c || 'red'; d = d || 100; if(!this.id) this.uid(true); window.setTimeout('$s(\''+this.id+'\').background = \''+$s(this).background+'\'',d); $s(this).background = c;}, transparenz : function(t) { with(this.style) {; alt = 1; try{ var alt = opacity;} catch(e) { ; } if(alt === '') alt = 1; if(typeof t != 'undefined') { t = t > 100 ? 100 : (t < 0 ? 0 : t); opacity = (t/100); MozOpacity = (t/100); KhtmlOpacity = (t/100); filter = "alpha(opacity="+t+")"; }} return alt * 100;}, zentrieren : function() { var phoehe = 0, pbreite = 0; try { var breite = this.offsetWidth, hoehe = this.offsetHeight; var phoehe = this.offsetParent.offsetHeight, pbreite = this.offsetParent.offsetWidth;} catch(e) {;} if(phoehe == 0) phoehe = browser.hoehe(); if(pbreite == 0) pbreite = browser.breite(); style(this.id, 'position','absolute', 'left',Math.round(sigma((pbreite-breite)/2))+'px', 'width',breite+'px', 'top',Math.round(sigma((phoehe-hoehe)/2))+'px', 'height',hoehe+'px'); return this;}, akt : function(what) { if(this.nodeName == 'SELECT') { return this.options.length > 0 ? (what === true ? this.options[this.selectedIndex > 0 && this.selectedIndex < this.options.length ? this.selectedIndex : 0] : this.options[this.selectedIndex > 0 && this.selectedIndex < this.options.length ? this.selectedIndex : 0].value) : ''; } if(this.nodeName == 'INPUT' && this.type == 'radio') { if(!this.name) return false; var e = document.getElementsByName(this.name); for (var i = 0, il = e.length; i < il; i++){ if(e[i].nodeName == 'INPUT' && e[i].type == 'radio' && e[i].checked) return e[i].value;} return false;} if(this.nodeName == 'INPUT' || this.nodeName == 'TEXTAREA') { return this.value; }}, istkind : function(obj) { obj = $(obj); var that = this; while(that = that.parentNode) { if(that == obj) return true;} return false;}, kinder : function(typ,tiefe,att) {return kinder(this,typ,tiefe,att); }, eltern : function(typ,para) {return eltern(this,typ,para); }, Ieltern : function(typ,para) { return eltern(this,typ,para,true); }, naechster : function(typ) { var t = this; while(t = t.nextSibling) { if(t.nodeName) { if(t.nodeName == typ.toUpperCase()) return t; } else return null;} return null;}, sichtbar : function() { if(this == window || this == document) return true; if(this.style.visibility == 'hidden' || this.style.display == 'none') return false; var obj = this; while(obj = obj.parentNode) { if(!obj.style) break; if(obj.style.visibility == 'hidden' || obj.style.display == 'none') return false; } return true;}, getByClassName : function(classname) { if(this.getElementsByClassName) return this.getElementsByClassName(classname); else if(document._getElementsByXPath) { var q = ".//*[contains(concat(' ', @class, ' '), ' " + classname + " ')]"; return document._getElementsByXPath(q, this);} else { var arr = new Array(); var el = this.getElementsByTagName('*'); var reg = new RegExp("(^|\\s)"+classname+"(\\s|$)"); for(i = 0, j = 0, il = el.length; i < il; i++) { if(reg.test(el[i].className)) arr[j++] = el[i];} return arr;}}, addClass : function(cn) { if(arguments.length > 1) cn = $AA(arguments); if(is_array(cn)) { cn.walkcall(true,this.addClass,this); return this; } if(!this.className) this.className = ''; var re = new RegExp("(^|\\s)"+cn+"(\\s|$)",'i') if(!re.test(this.className)) this.className += (this.className ? ' ' : '')+cn; return this;}, removeClass : function(cn) { if(arguments.length > 1) cn = $AA(arguments); if(is_array(cn)) { cn.walkcall(true,this.removeClass,this); return this; } if(!this.className) this.className = ''; var re = new RegExp("(^|\\s)"+cn+"(\\s|$)",'gi') this.className = this.className.replace(re,' ').replace(/ +/,' ').trim(); return this;}, hasClass : function(cn,all) { if(arguments.length > 2 || arguments.length > 1 && is_bool(arguments[1])) cn = $AA(arguments); if(is_array(cn)) { if(is_bool(cn[cn.length-1])) all = cn.pop(); else all = !!all; for(var i = 0, il = cn.length; i < il; i++) { if(this.hasClass(cn,!all) !== all) return !all;} return all;} if(!this.className) this.className = ''; var reg = new RegExp("(^|\\s)"+cn+"(\\s|$)",'i'); return reg.test(this.className);}, hasAttribute : function(an) { if(this.getAttribute(an) === null) return false; for(var i = 0, il = this.attributes.length; i < il; i++) { if(this.attributes[i].nodeName.toUpper() == an.toUpper()) { return true;}} return false;}, getAllTextNodes : function() { var nodes = []; for(var i = 0, il = this.childNodes.length; i < il; i++) { if(this.childNodes[i].nodeType == 3) nodes.push(this.childNodes[i]); else if(this.childNodes[i].childNodes && this.childNodes[i].childNodes.length > 0) nodes = nodes.concat($(this.childNodes[i]).getAllTextNodes());} return nodes;}, replaceInTextNodes : function(von,nach) { if((is_string(von) || is_number(von)) && !undef(nach)) von = {von:nach}; nodes = this.getAllTextNodes(); for(var i = 0, il = nodes.length; i < il; i++) nodes[i].nodeValue = nodes[i].nodeValue.rreplace(von); return this;}, setze : function(v,w) { var o = this; if(is_base(v)) { for(var e in v) o[e] = v[e];} else o[v] = w; return this;}, set : function(v,w) { return this.setze(v,w);}, on : function(a,b) { $on(this,a,b); return this; }, off : function(a,b) { $off(this,a,b); return this; }, stil : function(v) { for(var s in v) { this.style[s] = v[s];} return this;}, loeschen : function() { this.parentNode.removeChild(this);}, tagopt : function(tagatt,suptagatt) { var optionen = jsonobj(this.getAttribute(tagatt)); if(!undef(suptagatt)) { var ob = this; while(ob = ob.parentNode) { if(ob.getAttribute && ob.getAttribute(suptagatt)) { optionen = Objekt.erw(jsonobj(ob.getAttribute(suptagatt)),optionen); break;}}} return optionen;}, appendAllChildren : function(q) { var i = 0; while(q.childNodes.length > i) { if(q.childNodes[0] === this || $(this).istkind(q.childNodes[0])) { i = 1; continue; } this.appendChild(q.childNodes[i]);} return this;}, erwID : 'dom'}, arrdom : function() { var obj = new Array(); for(var e in Objekt.prototypen.dom) { obj.push(e+':'+'function() { this._each(Objekt.prototypen.dom.'+e+',arguments); return this; }'); } for(var f in Objekt.prototypen.domspec) { for(var e in Objekt.prototypen.domspec[f]) obj.push(e+':'+'function() { for(var i = 0, il = this.length; i < il; i++) { if($(this[i]).'+e+' && $(this[i]).'+e+'.apply) $(this[i]).'+e+'.apply(this[i],arguments); } return this; }'); } return eval('({'+obj.join(',')+'})');}, domspec : { form : { toDeepLevelObj : function(vo) { return this.toX('dlobj',vo);}, toJSON : function(vo) { return this.toX('obj',vo);}, toQuery : function(vo) { return this.toX('',vo);}, toX : function(was,vo) { var f = this, e = f.elements, obj = {}, s = ''; var t_comb = $O($a('sce:formopt',this)); var comb = {}; var nncount = {}; for(var i in t_comb) if(t_comb[i].getAttribute('queryasstring')) comb[t_comb[i].getAttribute('queryasstring')]=''; toXouterloop: for(var i = 0, l = e.length; i < l; i++) { if(vo && !$(e[i]).sichtbar()) continue; var n = e[i].name; var v = $(e[i]).akt(); var nn = false; if(e[i].nodeName == 'INPUT' || e[i].nodeName == 'TEXTAREA') { switch (e[i].type) { case 'submit': case 'image': case 'button': break; case 'checkbox': case 'radio': var nn = e[i].checked ? n : false, vv = e[i].checked ? v : ''; break; default: var nn = n, vv = v;}} else if(e[i].nodeName == 'SELECT') { var nn = n, vv = v; if(e[i].getAttribute('ajxopt') && e[i].getAttribute('ajxopt').substr(0,4) == 'alle') { var trenner = e[i].getAttribute('ajxopt').substr(4); var opts = $O($a('option',e[i])); vv = ''; for(var opt in opts) { vv += (vv ? trenner : '')+opts[opt].value;}}} else if(e[i].nodeName == 'TEXTAREA') { var nn = n, vv = v;} if(nn === false) continue; if(was == 'obj') obj[nn] = vv; else if(was == 'dlobj') { var ann = ''; nn = nn.replace(']',''); nn = nn.split('['); var to = obj; var nnl = nn.length; for(var j = 0; j < nnl; j++) { if(nn[j] == '') { if(undef(nncount[ann])) nn[j] = nncount[ann] = 0; else nn[j] = ++nncount[ann];} ann += '_'+nn[j]; if(undef(to[nn[j]])) to[nn[j]] = j + 1 >= nnl ? vv : {}; to = to[nn[j]];} delete(to);} else { for(var j in comb) { if(nn.substr(0,j.length) == j && (nn.length == j.length || nn.substr(j.length,1) == '[')) { comb[j] += (comb[j] ? '&' : '')+'v'+nn.substr(j.length)+'='+encodeURIComponent(vv); continue toXouterloop;}} s += (s ? '&' : '')+nn+'='+encodeURIComponent(vv);}} if(was == 'obj' || was == 'dlobj') return obj; for(var j in comb) { s += (s ? '&' : '')+'scequeryasstring['+encodeURIComponent(j)+']='+encodeURIComponent(comb[j]);} return s;}, ajaxsubmit : function(obj,opt) { if(!this.getAttribute('ajaxaction') && !this.getAttribute('action')) return false; if(this.getAttribute('enctype') && this.getAttribute('target')) { if(!S(this.getAttribute('target'))) { var i = document.createElement('iframe'); i.id = this.getAttribute('target'); i.name = i.id; i.style.display = 'none'; document.body.appendChild(i);} $(this).addHidden(obj); $(this).addHidden({'sabiopt':opt,'sabi':1}); this.submit(); return;} var data = this.toQuery(!undef(opt) ? opt['nursichtbare'] : false); if(undef(opt)) opt = {}; if(!undef(obj)) data += '&'+Objekt.toQuery(obj); var ajx = new ajax(); var akt = this.getAttribute('ajaxaction'); akt = akt === null || undef(akt) ? this.action : akt; ajx.anfrage(akt,opt,data); return false;}, wertByName : function(name) { var f = this.toX('obj'); return f[name];}, checkarray : function(name) { var f = this, e = f.elements, nl = name.length; var ret = []; for(var i = 0, l = e.length; i < l; i++) { if(e[i].nodeName == 'INPUT' && e[i].type == 'checkbox' && e[i].checked && e[i].name.substr(0,nl+1) == name+'[') ret.push(e[i].name.substring(nl+1,e[i].name.indexOf(']',nl+1)));} return ret;}, addHidden : function(obj,pre) { if(is_array(obj)) obj = $O(obj); if(!is_base(obj)) return; for(var e in obj) { if(is_object(obj[e])) this.addHidden(obj[e],pre ? pre+'['+e+']' : e); else { if(undef(obj[e])) continue; var inp = document.createElement('input'); inp.type = 'hidden'; inp.setAttribute('type','hidden'); inp.value = obj[e]; inp.addHidden = true; inp.name = undef(pre) ? e : pre+'['+e+']'; this.appendChild(inp);}}}, rmAddHidden : function() { var e = $O($a('input',this)); for(var i in e) if(e.addHidden) $(e).loeschen();}, btnsperren : function() { for(var o = 0, l = this.elements.length; o < l; o++) { var e = this.elements[o]; if(e.nodeName == 'INPUT' && e.type == 'submit' && e.style.display != 'none') { var i = e.cloneNode(true); i.disabled = true; i.value = "bitte warten..."; e.style.display = 'none'; e.parentNode.insertBefore(i,e);}}}}, tr : { chktr : function(cls,inv,cb) { var chk = $AA(this.kinder('input',true,{type:'checkbox'})); if(chk.length == 0) return this; this._chktr_cls = cls; this._chktr_inv = inv; this._chktr_cb = cb; this._chktr_chk = chk[0]; $on([this,this._chktr_chk],'click',this._chktr_click);}, _chktr_click : function(e) { e.stopPropagation(); var tr = $(this.Ieltern('tr')); if(!tr || !tr._chktr_chk) return; if(this !== tr._chktr_chk) { tr._chktr_chk.click(); return; } if(tr._chktr_cb) var what = funcexec(true,tr._chktr_cb,this); if(what === 'unveraendert') { if(is_function(this.updatenf)) setTimeout(this.updatenf.bind(this),50); return false; } if(what === 'on') this.checked = true; if(what === 'off') this.checked = false; if(tr._chktr_chk.checked != tr._chktr_inv) tr.addClass(tr._chktr_cls); else tr.removeClass(tr._chktr_cls); if(is_function(this.updatenf)) setTimeout(this.updatenf.bind(this),50);}}, table : { chktr : function(cls,inv,cb) { $($AA($a('tr',this))).chktr(cls,inv,cb);},}, input : { ajaxsubmit : function(obj,opt) { if(!this.type || this.type != 'submit' && this.type != 'button') { $(this.form).ajaxsubmit(obj,opt); return; } data = {}; if(this.name) data[this.name] = this.value; if(!undef(obj)) data = Objekt.kopie(obj,data); $(this.form).ajaxsubmit(data,opt);}, label : function() { var labels = this.form.getElementsByTagName('LABEL'); for (var i = 0; i < labels.length; i++) { if(labels[i].htmlFor == this.id) return labels[i];} return {};}, _abhaengig : function() { var el = $O(document.getElementsByName(this.name)); for(var e in el) $on(el[e],'click',this._abh); this._abh();}, _abh : function() { var el = $O(document.getElementsByName(this.name)); var abh; for(var e in el) { if(abh = el[e].getAttribute('abhaengig')) { abh = $O(abh.split(' ')); for(var a in abh) { if($(abh[a])) { if(el[e].checked) $(abh[a]).zeige(); else $(abh[a]).verstecke(); } }}}},}, select : { ajaxsubmit : function(obj,opt) { $(this.form).ajaxsubmit(obj,opt); }, add : function(value,titel,opt) { if(is_base(titel)) { opt = titel; titel = value; } if(!is_base(opt)) opt = {}; if(opt.unique) { var unique = opt.unique; delete(opt.unique); } else unique = false; if(opt.ueberschreiben) { var ueberschreiben = opt.ueberschreiben; delete(opt.ueberschreiben); } else ueberschreiben = false; if(opt.pos) { var pos = opt.pos; delete(opt.pos); } else pos = false; var konf = []; if(unique !== false) for(var i=0, l = this.options.length; i 0 && ueberschreiben === false) return this; konf.rnumsort(); for(var i = 0, l = konf.length; i pos; i--) this.options[i] = this.options[i-1]; this.options[pos] = opt; return this.options[pos];}, remove : function(value) { for(var i=0, l = this.options.length; i 1) e = $A(arguments); if(e instanceof Array) return e.each($).loesche(false); if(typeof e != 'object') { if(!document.getElementById(e) || e == null) return false; e = document.getElementById(e);} else if(e == null || e.nodeType != 1 && e !== window && e !== document) return false; if(e['erwID'] == 'dom') return e; Objekt.erw(e,Objekt.prototypen.dom); if(typeof e.nodeName == 'string' && Objekt.prototypen.domspec[e.nodeName.toLowerCase()]) Objekt.erw(e,Objekt.prototypen.domspec[e.tagName.toLowerCase()]); return e;} function $simple(e) { return S(e); } function S(e) { if(typeof e != 'object') { if(!document.getElementById(e) || e == null) return false; e = document.getElementById(e);} else if(e == null || e.nodeType != 1 && e !== window && e !== document) return false; return e;} function $n(n) { if(document.getElementsByName(n)[0]) return document.getElementsByName(n)[0]; return false; } function $s(e) { try{ return typeof e != 'object' ? document.getElementById(e).style : e.style; } catch(e) { return {}; } } function $a(e,w) { if(!undef(w)) { if(S(w) && S(w).getElementsByTagName) return S(w).getElementsByTagName(e); return []; } return document.getElementsByTagName(e); } function $A(e) { if(e instanceof Array) return e; var a = new Array(); for(var i = 0, l = e.length; i < l; i++) { a[i] = e[i]; } return a; } function $keys(e) { var k = []; for(i in e) k.push(i); return k; } function $AA(e) { if(e instanceof Array) return e; if(typeof e == 'string' || typeof e == 'boolean' || typeof e == 'number') return [e]; if(typeof e == 'object' && e.length) return $A(e); return []; } function $O(e) { if(!(e instanceof Array)) e = $AA(e); var r = {}; for(var i = 0, il = e.length; i < il; i++) { r[i] = e[i]; } return r; } function $body() { return $a('body')[0]; } function $html() { var a = arguments; for(var i = 0, l = a.length; i < l; i+=2) { if($(a[i]) && a[i+1]) $(a[i]).innerHTML = a[i+1]; else if($(a[i])) $(a[i]).innerHTML = ''; } } function $_html() { var a = arguments; for(var i = 0, l = a.length; i < l; i+=2) { if(S(a[i]) && S(a[i]).appendChild && a[i+1]) { var c = document.createElement($(a[i]).nodeName == 'TABLE' || $(a[i]).nodeName == 'TBODY' || $(a[i]).nodeName == 'THEAD' || $(a[i]).nodeName == 'TFOOTER' ? 'table' : 'div'); c.innerHTML = a[i+1]; for(var j = 0, jl = c.childNodes.length; j < jl; j++) S(a[i]).appendChild(c.childNodes[0]); delete(c); } } } function $Ehtml() { var a = arguments; for(var i = 0, l = a.length; i < l; i+=2) { if(S(a[i]) && S(a[i]).parentNode && a[i+1]) { ziel = $(a[i]); switch(ziel.parentNode.nodeName) { case 'TABLE': var neu = document.createElement('TABLE'); break; case 'TBODY': case 'THEAD': case 'TFOOT': var neu1 = document.createElement('TABLE'); var neu = document.createElement(ziel.parentNode.nodeName); neu1.appendChild(neu); break; default: var neu = document.createElement('DIV');} neu.innerHTML = a[i+1]; while(neu.childNodes.length > 0) { var tmpnode = neu.childNodes[0]; ziel.parentNode.insertBefore(tmpnode,ziel); jsexec(tmpnode); } ziel.loeschen();}}} function sigma(x) { if(x > 0) return x; return 0; }; function bcall() { var a = $A(arguments); var f = a.shift(); var obj = a.shift(); return f.apply(obj,a); } function undef(e) { return typeof e === 'undefined'; } function is_bool(e) { return e === true || e === false; } function is_undef(e) { return typeof e === 'undefined'; } function is_func(e) { return typeof e === 'function'; } function is_function(e) { return is_func(e); } function is_array(e) { return typeof e === 'object' && e instanceof Array; } function is_string(e) { return typeof e === 'string' || typeof e === 'object' && e instanceof String; } function is_object(e) { return typeof e === 'object' } function is_base(e) { return typeof e === 'object' && !(is_node(e) || e instanceof Function || e instanceof Window || e instanceof Screen || e instanceof RegExp || e instanceof Date || e instanceof String || e instanceof Number || e instanceof Boolean); } function is_value(e) { return is_string(e) || is_array(e) || is_base(e) || is_number(e) || is_bool(e) } function is_node(e) { return typeof Node === 'object' ? e instanceof Node : typeof e === 'object' && typeof e.nodeType === 'number' && typeof e.tagName === 'string'; } function is_element(e,chk) { var ok = (typeof HTMLElement === 'object' ? e instanceof HTMLElement : typeof e === 'object' && e.nodeType === 1 && typeof e.tagName === 'string'); if(!ok) return false; return chk ? e.tagName == chk : ok; } function is_argument(e) { return typeof e === 'object' && typeof e.length == 'number' && e.callee; } function is_collection(e) { return typeof e === 'object' && typeof e.length == 'number' && e.item; } function is_number(e) { return typeof e === 'number'; } function mkobj(e) { return typeof e != 'object' ? {} : e; } function download(datei) { var jetzt = new Date(); var iframe = $O($a('iframe')); for(var i in iframe) if(iframe[i].isDownloadFrame && iframe[i].isDownloadFrame + 240*1000 < jetzt.getTime()) $(iframe[i]).loeschen(); var iframe = document.createElement('iframe'); iframe.src = datei; iframe.style.display = 'none'; iframe.isDownloadFrame = jetzt.getTime(); document.body.appendChild(iframe);} function popup(datei) { window.open(datei,'_blank');} Objekt.erw(Array.prototype, { inArray : function(wert,streng) { var arr = this, key, streng = !!streng; for (key in arr) if ((streng && arr[key] === wert) || (!streng && arr[key] == wert)) return true; return false;}, valide : function(wert) { for(var i = this.length-1; i >= 0; i--) { if(this[i] === wert) return this[i];} return this[i];}, each : function(f) { for(var i = this.length - 1; i >= 0; i--) { this[i] = f(this[i]);} return this;}, _each : function() { var a = $A(arguments); a[1] = a[1] || null; if(typeof a[0] !== 'function') return; for(var i = this.length - 1; i >= 0; i--) { a[0].apply(this[i],a[1]);}}, loesche : function(arr) { if(typeof arr != 'array') arr = [arr]; for(var i = this.length - 1; i >= 0; i--) { for(var wert in arr) { if(this[i] === arr[wert]) this.splice(i,1); }} return this;}, walkcall : function() { var args = $AA(arguments); var f = args.shift(); var ref = null; if(f === true) { f = args.shift(); ref = args.shift();} for(var i = 0, il = this.length; i < il; i++) { funcexec.apply(null,(ref ? [true,f,ref,this[i]] : [f,this[i]]).concat(args));} return this;}, uniform : function() { var arr = []; for(var l = this.length, i = 0; i < l; i++) { arr = arr.concat(is_object(this[i]) && typeof this[i].length == 'number' ? $A(this[i]).uniform() : this[i]);} return arr;}, loop : function(find) { for(var i = 0, il = this.length - 1; i < il; i++) { if(this[i] == find) return this[i+1];} return this[0];}, summe : function(op,bed) { if(undef(op)) { for(var i=0,sum=0; i': if(this[i] > bed) c += this[i]; break; case '>=': if(this[i] >= bed) c += this[i]; break; case '=': case '==': if(this[i] == bed) c += this[i]; break; case '===': if(this[i] === bed) c += this[i]; break; case '!=': case '<>': if(this[i] != bed) c += this[i]; break;}} return c;}, max : function() { return Math.max.apply({},this); }, min : function() { return Math.min.apply({},this); }, count : function(op,bed) { if(undef(op)) return this.length; var c = 0; for(var i=0; i': if(this[i] > bed) c++; break; case '>=': if(this[i] >= bed) c++; break; case '=': case '==': if(this[i] == bed) c++; break; case '===': if(this[i] === bed) c++; break; case '!=': case '<>': if(this[i] != bed) c++; break;}} return c;}, numsort : function() { this.sort(function(a,b) {return a - b;}); }, rnumsort : function() {this.sort(function(a,b) {return a - b;}).reverse(); }, multiSort : function() { for(var i = arguments.length - 1; i >= 0; i--) { this.sort(function(a,b) { if(!a[i] && !b[i]) return 0; if(!a[i]) return -1; if(!b[i]) return 1; return a[i] == b[i] ? 0 : (a[i] < b[i] ? -1 : 1);});} return this;}, process : function(v,n) { for(var i = 0, l = this.length; i 0) ? n.toFixed(st) : Math.round(n).toFixed(st); var neg = n < 0; n = Math.abs(n).toFixed(st); var nn = n.split('.'); n = ''; for(var i = nn[0].length - 1; i >= 0; i--) { n = nn[0][i]+(n.length && (n.length + 1) % 4 == 0 ? tsep : '')+n;} return (neg ? '-' : '')+n+(st > 0 ? dsep+nn[1] : '');}, ingrenzen : function(u,o) { var z = this; if(u !== false && z < u) z = u; if(o !== false && !undef(o) && z > o) z = 0; return z;}}); function define() { if(!arguments[0]) return false; var obj = arguments[0]; for(var i = 1, il = arguments.length -1; i= il ? arguments[i+1] : {}; obj = obj[arguments[i]];} return obj;} function function_exists(f) { if (is_string(f)) return typeof this.window[f] == 'function'; return (f instanceof Function);} function funcexec() { var args = $AA(arguments); if(!args.length) return null; var autoweiter = (args[args.length-1] === true); if(autoweiter) autoweiter = args.pop(); var f = args.splice(0,1)[0]; var ref = null; if(f === true) { f = args.splice(0,1)[0]; ref = args.splice(0,1)[0];} if(undef(f)) return f; else if(is_func(f)) return f.apply(ref,args); else if(is_string(f) && f.indexOf('(') < 0) { try { eval('var a = '+f); } catch(e) { var notex = true; } if(autoweiter && (notex || !is_func(a))) { if(!is_array(funcexec.todo)) { funcexec.todo = []; funcexec.doall = function() { var arr = funcexec.todo; funcexec.todo = []; window.clearInterval(funcexec.itv); funcexec.itv = null; for(var i = 0, l = arr.length; i 0) { if(!obj.__on_c) obj.__on_c = 0; if(!obj.__on_sf) obj.__on_sf = {}; var c = obj.__on_c++; eval('obj.__on_sf[c] = function() {'+aktion+'}'); var string = aktion; aktion = obj.__on_sf[c];} else if(is_string(aktion)) { try { eval('var a = '+aktion); } catch(e) { if(!is_array($on.todo)) { $on.todo = []; $on.doall = function() { var arr = $on.todo; $on.todo = []; window.clearInterval($on.itv); $on.itv = null; for(var i = 0, l = arr.length; i 0 ? '&' : '?')+'cssondemand='+(stat.c++)); document.body.appendChild(css); if(alt) alt.parentNode.removeChild(alt);} function jsondemand(url,text) { var stat = fstat('jsondemand',{urls:new Array(),c:0}); if(url === true) { stat.urls.walkcall(jsondemand,true,false); return; } if(url && stat.urls.inArray(url) && text === false) { var alt = url ? S('jsod'+url) : false; if(alt && $(alt).loeschen) $(alt).loeschen(); stat.urls.loesche(url);} if(url && stat.urls.inArray(url) && text !== true) return; if(url && !stat.urls.inArray(url)) stat.urls.push(url); var alt = url ? S('jsod'+url) : false; var js = document.createElement('script'); js.setAttribute('id','jsod'+((url) ? url : new Date().getTime())); js.setAttribute('type','text/javascript'); if(url !== false) js.setAttribute('src',url+(url.indexOf('?') > 0 ? '&' : '?')+'jsondemand='+(stat.c++)); else if(typeof text != 'undefined') js.text = text; var bodyTag = document.getElementsByTagName('body')[0]; bodyTag.appendChild(js); if(alt) alt.parentNode.removeChild(alt);} function jsexec(obj) { obj = $(obj); if(!obj) return; var s = obj.getElementsByTagName('script'); for(var i = 0, sl = s.length; i < sl; i++) { if(s[i].src) jsondemand(s[i].src); else jsondemand(false,s[i].innerHTML);} var s = obj.getElementsByTagName('link'); for(var i = 0, sl = s.length; i < sl; i++) { if(s[i].getAttribute('rel') == 'stylesheet') cssondemand(s[i].getAttribute('href'));}} function loeschbest(text) { if(text == '') { text = 'die Auswahl'; } return window.confirm('Sind Sie sicher, dass Sie '+text+' wirklich löschen wollen?');} function altzeigen() { for (var i = 0, il = arguments.length; i < il; i=i+2) { if($(arguments[i+1])) { if($(this).akt() == arguments[i]) $(arguments[i+1]).zeige(); else $(arguments[i+1]).verstecke();}}} function fstat(funktionsname) { if(typeof fstat[funktionsname] != 'object') fstat[funktionsname] = new Object; if(arguments.length > 1) for(var variable in arguments[1]) if(typeof fstat[funktionsname][variable] == 'undefined') fstat[funktionsname][variable] = arguments[1][variable]; return fstat[funktionsname];} function nelement() { var args = $AA(arguments); if(args.length < 2 || typeof args[0] != 'string') return false; var tag = args.shift().toLowerCase(); var parent = $(args[0]) ? $(args.shift()) : $body(); var before = $(args[0]) ? $(args.shift()) : false; var return_all = is_bool(args[args.length-1]) || is_number(args[args.length-1]) ? args.pop() : false; var style = is_base(args[args.length-1]) ? args.pop() : false; var ret = new Array; var multitude = 0; for (var i = 0, il = args.length; i < il; i++) { if (typeof args[i] == 'string') { for(var j = 0; j <= multitude; j++) { if(j == 0 && multitude > 0) continue; var div = document.createElement(tag); div.setAttribute("id", args[i]+(j == 0 ? '' : j)); if(is_string(style.display)) if(style.display) div.style.display = style.display; else div.style.display = "none"; parent.appendChild(div); if(style !== false) $(div).stil(style); if(j > 0 && !return_all) ret.push(args[i]+j); if(return_all) ret.push($(div));} var multitude = 0;} if(typeof args[i] == 'number') { var multitude = args[i];}} return is_number(return_all) ? ret[return_all-1] : ret;} function style(t,s) { if(typeof s != 'object') return false; var t = $AA(t); for(var i = 0, il = t.length; i < il; i++) { if(!S(t[i])) continue; for(var e in s)S(t[i]).style[e] = s[e];}} function scrollpos() { var stat = fstat('scrollpos',{marker:new Object()}); var y = 0; var x = 0; if(self.pageYOffset) { y = self.pageYOffset; x = self.pageXOffset;} else if (document.documentElement && document.documentElement.scrollTop){ y = document.documentElement.scrollTop; x = document.documentElement.scrollLeft; } else if (document.body) { y = document.body.scrollTop; x = document.body.scrollLeft;} if(arguments.length >= 1 && (typeof arguments[0] == 'number' || arguments[0] instanceof Array && arguments[0].length > 0)) { if(arguments[0] instanceof Array) window.scrollTo(arguments[0][1],arguments[0][0]); else { if(arguments.length >= 2 && typeof arguments[1] == 'number') window.scrollTo(arguments[1],arguments[0]); else window.scrollTo(x,arguments[0]);}} if(arguments.length >= 2 && typeof arguments[0] == 'string' && typeof arguments[1] == 'boolean' && arguments[1] == true) { if(!stat['marker'][arguments[0]]) return false; window.scrollTo(stat['marker'][arguments[0]][1],stat['marker'][arguments[0]][0]);} else if(arguments.length >= 1 && typeof arguments[0] == 'string') { stat['marker'][arguments[0]] = [y,x];} return [y,x];} function htmleditor(cont,opt) { cont = (!$(cont)) ? $(document) : $(cont); opt = mkobj(opt); var textareas = cont.getByClassName(opt['ck'] ? 'ckeditor' : 'htmleditor'); var re = /(^|\s)htmltb_([a-z0-9]+)/i; var re1 = /(^|\s)htmltbt(\s|$)/; for(var i = 0, tl = textareas.length; i < tl; i++) { var obj = $(textareas[i]); if($(obj).display == 'none') continue; var edit = opt['ck'] ? new CKeditor(obj.id) : new FCKeditor(obj.id); if(opt.toolbar) edit.ToolbarSet = opt.toolbar; else if(re.test(obj.className)) { var e = re.exec(obj.className); edit.ToolbarSet = e[2];} edit.imageoptions = 'dasistderpfad'; if(opt.toolbartoggle || re1.test(obj.className)) edit.Config['ToolbarStartExpanded'] = false; edit.BasePath = opt['ck'] ? "/skripte/ckeditor/" : "/skripte/fckeditor/" ; edit.ReplaceTextarea(); obj.removeClass(opt['ck'] ? 'ckeditor' : 'htmleditor');} if(!opt['ck']) { opt['ck'] = true; htmleditor(cont,opt);}} function forminit() { init(); } function siblings(obj,typ,tiefe,attr) { tiefe = tiefe || 0; if(tiefe < 0) { var rtiefe = true; tiefe = Math.abs(tiefe); } else var rtiefe = tiefe; typ = typ || false; if(typ === true) typ = obj.nodeName.toLowerCase(); var sibs = new Array(); for (var i = 0; i <= tiefe; i ++) obj = obj.parentNode; if(typeof obj == 'undefined') return sibs; return kinder(obj,typ,rtiefe,attr);} function kinder(obj,typ,tiefe,attr) { if(obj instanceof Array) { var ret = []; for(var i = 0, objl = obj.length; i < objl; i++) ret = ret.concat(kinder(obj[i],typ,tiefe,attr)); return ret;} if(tiefe === true && undef(attr) && is_array(typ)) { var ret = []; for(var i = 0, typl = typ.length; i < typl; i++) ret = ret.concat(S(obj) ? S(obj).getElementsByTagName(typ[i] === true ? S(obj).nodeName.toLowerCase() : typ[i]) : []); return ret;} if(tiefe === true && undef(attr)) return S(obj) ? S(obj).getElementsByTagName(typ === true ? S(obj).nodeName.toLowerCase() : typ) : []; if(document._getElementsByXPath) { var xpath = (obj == document ? '' : '.')+'/'; if(is_number(tiefe)) for(var i = 0, il = Math.abs(tiefe); i < il; i++) xpath += '*/'; if(tiefe < 0 || tiefe === true) xpath += '/'; if(is_array(attr)) attr = Objekt.setze(Objekt.flip($O(attr))); var at = ''; if(is_base(attr)) for(var e in attr) att += (att.length ? ' and ' : '')+'@'+e+(attr[e] === true ? '' : (attr[e] === false ? '=\'\'' : '=\''+attr[e]+'\'')); typ = $AA(typ); var ex = ''; for(var i = 0, il = typ.length; i < il; i++) ex += (ex.length ? ' || ' : '')+xpath+typ[i]+(at.length ? '['+at+']' : ''); return document._getElementsByXPath(ex,obj);} try { obj = $(obj); tiefe = tiefe || 0; var mindest = typeof tiefe == 'number' && tiefe < 0; tiefe = typeof tiefe == 'number' ? Math.abs(tiefe) : tiefe; typ = typ || false; if(typ === true) typ = obj.nodeName.toLowerCase(); if(typeof typ == 'string') typ = [typ]; if(typ instanceof Array) { for(var i = 0, tl = typ.length; i < tl; i++) { typ[i] = typ[i].toLowerCase(); } } if(attr instanceof Array) { var attr_ = {}; for(var i = 0, l = attr.length; i < l; i++) attr_[attr[i]] = true; attr = attr_;} var sibs = new Array(); try{ var _sibs = obj.childNodes; } catch (fehler) { return sibs; } ol: for(var i = 0; i < _sibs.length; i++) { var name = _sibs[i].nodeName.toLowerCase(); if(name.substr(0,1) == '#' || !(typ === false || typ.inArray(name) || tiefe > 0 || tiefe === true)) continue; if(tiefe == 0 && typeof attr == 'object') { for(var e in attr) { var att = _sibs[i].getAttribute(e); if(typeof attr[e] == 'boolean' && (attr[e] == (typeof att == 'undefined' || att == null))) continue ol; if(typeof attr[e] != 'boolean' && att !== attr[e]) continue ol;}} sibs.push(_sibs[i]);} if(tiefe == 0) return sibs; _sibs = sibs; var sibs = new Array(); for(var i = 0; i < _sibs.length; i++) { sibs = sibs.concat(kinder(_sibs[i],typ,tiefe === true || mindest && tiefe <= 1 ? true : (tiefe-1)*(mindest ? -1 : 1),attr)); } if(tiefe === true) { ol: for(var i = 0; i < _sibs.length; i++) { var name = _sibs[i].nodeName.toLowerCase(); if(typ !== false && !typ.inArray(name)) continue; if(typeof attr== 'object') { for(var e in attr) { var att = _sibs[i].getAttribute(e); if(typeof attr[e] == 'boolean' && (attr[e] == (typeof att == 'undefined' || att == null))) continue ol; if(typeof attr[e] != 'boolean' && att !== attr[e]) continue ol;}} sibs.push(_sibs[i]);}} return sibs;} catch(e) { return [];}} function eltern(el,typ,attr,self) { typ = typ.toUpperCase(); if(self !== true) if(!(el = el.parentNode)) return false; do { if(el.nodeName == typ) { if(typeof attr == 'object') { for(var e in attr) { if(e == 'className') { var reg = new RegExp("(^|\\s)"+attr[e]+"(\\s|$)"); if(!reg.test(e.className)) continue;} else { var att = el.getAttribute(e); if(typeof attr[e] == 'boolean' && (attr[e] == (typeof att == 'undefined' || att == null))) continue; if(typeof attr[e] != 'boolean' && att !== attr[e]) continue;}}} return $(el);}} while(el = el.parentNode); return false;} function htmldecode(v) { var htmdecode=document.createElement('textarea'); htmdecode.innerHTML = v; v = htmdecode.value; return v;} function jsonobj(json) { try { if(!json.substr) return {}; if(json.substr(0,1) != '{') json = '{'+json+'}'; var obj = eval("("+json+")"); if(typeof obj != 'object') obj = {}; return obj;} catch (fehler) { return new Object(); }} function jsonarr(json) { try { if(!json.substr) return {}; if(json.substr(0,1) != '[') json = '['+json+']'; var obj = eval("("+json+")"); if(is_array(obj)) obj = []; return obj;} catch (fehler) { return new Array(); }} function showobj(obj,len) { var i = 0; for(var e in obj) { i++; alert(e+' : '+obj[e]); if(len && i > len) break;}} function showobjel(obj,tr) { var t = ''; var tr = undef(tr) ? '\n' : tr; for(var e in obj) { t += e+tr;} alert(t);} function showarr(arr,len,was) { for(var i = 0, l = arr.length; i < l && (!len || i < len); i++) { if(was === true) showobj(arr[i]); else if(was) alert(i+'['+was+'] : ['+(typeof arr[i][was])+'] '+arr[i][was]); else alert(i+' : ['+(typeof arr[i])+'] '+arr[i]);}} function redozebratbl(el,typ,off) { if(is_number(typ)) { off = typ; typ = false; } typ = typ || 'tr'; if(!$(el) || !$(el).kinder) return; var kinder = $O($(el).kinder(typ)); var i = off ? 1 : 0; for(var e in kinder) { if(kinder[e].style && kinder[e].style.display == 'none') continue; if(i % 2 == 0) $(kinder[e]).addClass('highlight'); else $(kinder[e]).removeClass('highlight'); i++;}}