
    function insertCursor(feld,insText) {
        input=feld;
        input.focus();

        if(typeof document.selection != 'undefined') {
            var range = document.selection.createRange();
            //  var insText = range.text;
            range.text = insText;
            range = document.selection.createRange();
            range.moveStart('character', insText.length );
            range.select();
        }
        else if(typeof input.selectionStart != 'undefined')
        {
            var start = input.selectionStart;
            var end = input.selectionEnd;
            //var insText = input.value.substring(start, end);
            input.value = input.value.substr(0, start) + insText + input.value.substr(end);
            var pos;
            pos = start + insText.length;
            input.selectionStart = pos;
            input.selectionEnd = pos;
        }
        else
        {
            input.value += insText;
        }
    }

    function ih(el, html){
        var oldEl = typeof el === "string" ? document.getElementById(el) : el;

        var newEl = oldEl.cloneNode(false);
        newEl.innerHTML = html;
        oldEl.parentNode.replaceChild(newEl, oldEl);

        return newEl;
    }

    function ge(div){
        return document.getElementById(div);
    }

    function gf(){
        return document.forms["blau_form"];
    }

    var sternchen_felder=Array();

    function initSternchen(feld_name){

        if(sternchen_felder[feld_name] == null)
        {
            sternchen_felder[feld_name] = Array();
            for(i=1;i<200;i++)		{



                if(typeof ge(feld_name+"_star"+i) != "undefined" && ge(feld_name+"_star"+i) != null){
                    if(ge(feld_name+"_star"+i).src.search(/star_white/)===-1){
                        sternchen_felder[feld_name][sternchen_felder[feld_name].length]=true;
                    }else{
                        sternchen_felder[feld_name][sternchen_felder[feld_name].length]=false;
                    }
                }
            }
        }
    }

    function selectSternchen(feld_name,val,stelle){

        if(stelle==1)	{
            if(sternchen_felder[feld_name][stelle]==false){
                stelle=0;
                //val=init_val;
                val = '';
            }
        }
        showSternchen(feld_name, 1, stelle);
        sternchen_felder[feld_name]=null;
        initSternchen(feld_name);

        gf().elements[feld_name].value=val;
    }


    function showSternchen(feld_name, an, stelle){


        initSternchen(feld_name);


        if(an==false){
            for(i=1;i<200;i++) {
                if(typeof ge(feld_name+"_star"+i) != "undefined" && ge(feld_name+"_star"+i) != null){
                    if(sternchen_felder[feld_name][i-1]==true){
                        ge(feld_name+"_star"+i).src=path_root+"/data/icons/star.png";
                    }else{
                        ge(feld_name+"_star"+i).src=path_root+"/data/icons/star_white.png";
                    }
                }
            }
        }else{
            for(i=1;i<200;i++)		{
                if(typeof ge(feld_name+"_star"+i) != "undefined" && ge(feld_name+"_star"+i) != null){
                    if(i<=stelle){
                        ge(feld_name+"_star"+i).src=path_root+"/data/icons/star.png";
                    }else{
                        ge(feld_name+"_star"+i).src=path_root+"/data/icons/star_white.png";
                    }
                }else{
                    break;
                }
            }
        }
    }

    function changeToogle(feld_name, index, index_maxval,val){



        var kln;



        for(var i=0;i<index_maxval;i++){

            kln="toogle_off";

            if(i==index){
                kln="toogle_on";
                gf().elements[feld_name].value=val;
            }

            document.getElementById(feld_name+"_display"+i).className=kln;
        }
    }

    var delay_timeout;
    function delayJs(js,milli){

        if(milli==null){
            milli=250;
        }

        if(delay_timeout!=null){
            window.clearTimeout(delay_timeout);
        }

        delay_timeout=window.setTimeout(js,milli);
    }

    var auto_timeout;
    var autocomplete_row        = null;
    var autocomplete_background = null;
    var autocomplete_color      = null;
    var autocomplete_first      = null;
    var autocomplete_last       = null;
    var autocomplete_derzeit 		= null;
    var autocomplete_link				= new Array();

    function registerAutocompleteLink(feld_name, autocomplete_linke){
        autocomplete_link[feld_name]=autocomplete_linke;
    }


    function initAutocomplete(form_element,datei,event,onchange_event, form_add){
        var input_name;
        var auto_elem;
        var zeilen;
        var div_name;
        
        
        if(form_element!=null){
            input_name=form_element.name;
        }else{
            input_name=form_add;
        }
        
      	div_name=deleteZeichen(input_name, new Array("[","]"));

        if(autocomplete_derzeit !=input_name)
        {

            if(autocomplete_derzeit!=null)
            {

                closeAutocomplete(autocomplete_derzeit)
            }

            autocomplete_derzeit=input_name;
        }
        //RETURN

        if(form_element){
            form_element.value="";
        }
        if (event == '13') {
            if(auto_timeout!=null){
                window.clearTimeout(auto_timeout);
            }
            if (autocomplete_row != null) {
                auto_elem = ge(div_name+'_autocomplete');
                if (auto_elem) {
                    zeilen = auto_elem.getElementsByTagName("tr");
                    if (zeilen.length > 0) {
                        if (zeilen[autocomplete_row].id) {
                            zeilen[autocomplete_row].onclick();

                            if (gf()) {
                                gf().onsubmit=new Function("submit();");
                            }
                        }
                    }
                }
            }
        }
        else {
            // NACH OBEN
            if (event == '38') {
                if(auto_timeout!=null){
                    window.clearTimeout(auto_timeout);
                }
                auto_elem = ge(div_name+'_autocomplete');
                if (auto_elem) {
                    zeilen = auto_elem.getElementsByTagName("tr");
                    if (zeilen.length > 0) {
                        for (var i=0; i<zeilen.length; i++) {
                            if (zeilen[i].id) {
                                if (autocomplete_first == null) {
                                    autocomplete_first = i;
                                }
                                else {
                                    autocomplete_last = i;
                                }
                            }
                        }
                        if (autocomplete_row == null) {
                            autocomplete_row = autocomplete_first;
                            if (zeilen[autocomplete_row]) {
                                autocomplete_background = zeilen[autocomplete_row].style.backgroundColor;
                                autocomplete_color      = zeilen[autocomplete_row].style.color;
                                zeilen[autocomplete_row].style.backgroundColor='#999';
                                zeilen[autocomplete_row].style.color='#fff';
                            }
                        }
                        else {
                            if (zeilen[autocomplete_row]) {
                                zeilen[autocomplete_row].style.backgroundColor = autocomplete_background;
                                zeilen[autocomplete_row].style.color = autocomplete_color;
                                if (autocomplete_row <= autocomplete_first)  autocomplete_row = autocomplete_last+1;
                                autocomplete_row--;
                                autocomplete_background = zeilen[autocomplete_row].style.backgroundColor;
                                autocomplete_color      = zeilen[autocomplete_row].style.color;
                                zeilen[autocomplete_row].style.backgroundColor='#999';
                                zeilen[autocomplete_row].style.color='#fff';
                            }
                        }
                    }

                }

            }
            else {
                // NACH UNTEN
                if (event == '40') {
                    if(auto_timeout!=null){
                        window.clearTimeout(auto_timeout);
                    }
                    auto_elem = ge(div_name+'_autocomplete');
                    if (auto_elem) {
                        zeilen = auto_elem.getElementsByTagName("tr");
                        if (zeilen.length > 0) {
                            for (var i=0; i<zeilen.length; i++) {
                                if (zeilen[i].id) {
                                    if (autocomplete_first == null) {
                                        autocomplete_first = i;
                                    }
                                    else {
                                        autocomplete_last = i;
                                    }
                                }
                            }
                            if (autocomplete_row == null) {
                                autocomplete_row = autocomplete_first;
                                if (zeilen[autocomplete_row]) {
                                    autocomplete_background = zeilen[autocomplete_row].style.backgroundColor;
                                    autocomplete_color      = zeilen[autocomplete_row].style.color;
                                    zeilen[autocomplete_row].style.backgroundColor='#999';
                                    zeilen[autocomplete_row].style.color='#fff';
                                }
                            }
                            else {
                                if (zeilen[autocomplete_row]) {
                                    zeilen[autocomplete_row].style.backgroundColor = autocomplete_background;
                                    zeilen[autocomplete_row].style.color = autocomplete_color;
                                    if (autocomplete_row >= autocomplete_last)  autocomplete_row = autocomplete_first-1;
                                    autocomplete_row++;
                                    autocomplete_background = zeilen[autocomplete_row].style.backgroundColor;
                                    autocomplete_color      = zeilen[autocomplete_row].style.color;
                                    zeilen[autocomplete_row].style.backgroundColor='#999';
                                    zeilen[autocomplete_row].style.color='#fff';
                                }
                            }
                        }

                    }
                }
                else {
                    if (event == '9') {
                        if(auto_timeout!=null){
                            window.clearTimeout(auto_timeout);
                        }
                    }
                    else {
                        // ESCAPE
                        if (event == '27')
                        {
                            if(form_element!=null){
                                form_element.value = '';
                            }
                            ge(div_name+'_autocomplete').innerHTML = '';
                            ge(div_name+'_autocomplete').style.display = "none";
                            if(auto_timeout!=null){
                                window.clearTimeout(auto_timeout);
                            }
                        }else{
                            if(auto_timeout!=null){
                                window.clearTimeout(auto_timeout);
                            }
                            var datei_teile=datei.split("?");
                            var params="";
                            if(datei_teile[1]!=null){


                                params+=datei_teile[1];


                            }

                            if(onchange_event!=null){
                                params+="&onchange_event="+onchange_event;
                            }


                            if(form_element!=null){



                                auto_timeout=window.setTimeout("startAutocomplete(gf().elements['"+form_element.name+"'],'"+datei_teile[0]+"','"+params+"',null)",500);
                            }else{
                                auto_timeout=window.setTimeout("startAutocomplete(null,'"+datei_teile[0]+"','"+params+"','"+form_add+"')",500);
                            }
                        }
                    }
                }
            }
        }
    }

    function startAutocomplete(form_element,datei,params,form_add)
    {
        var input_name;
        var div_name;
        
        if(form_element!=null){
            input_name=form_element.name;
        }else{
            input_name=form_add;
        }
        
        div_name=deleteZeichen(input_name,new Array("[","]"));

        var element_name="autocomplete_input_"+input_name;
        var pos=getPos(gf().elements[element_name]);
        autocomplete_row   = null;
        autocomplete_background = null;
        autocomplete_color = null;
        autocomplete_first = null;
        autocomplete_last  = null;

        if (gf()) {
            gf().onsubmit=new Function("return false;");
        }

        pos.width=gf().elements[element_name].clientWidth;
        pos.height=gf().elements[element_name].clientHeight;
        div=gf().elements[element_name];



        var k=0;

        while ((typeof(div)=="object")&&(typeof(div.tagName)!="undefined"))
        {
            if(div.style.position=="absolute" && k!=0)
            {
                pos_neg=getPos(div);
                pos.x-=pos_neg.x;
                pos.y-=pos_neg.y;
            }

            var tagname=div.tagName.toUpperCase();
            if (tagname=="BODY" || tagname=="HTML")
            {
                div=0;
            }
            if (typeof(div)=="object")
            {
                if(div.offsetParent)
                {
                    if (typeof(div.offsetParent)=="object")
                    {
                        div=div.offsetParent;
                    }
                }
                else{
                    break;
                }
            }

            k++;
        }



        ge(div_name+'_autocomplete').style.display = "";
        ge(div_name+'_autocomplete').style.left = pos.x+'px';
        ge(div_name+'_autocomplete').style.top = (pos.y + pos.height)+'px';
        stopAjax('autocomplete_ajax');

        if(form_add!=null){
            getAjax(div_name+'_autocomplete', path_root+'/mods/ajax/'+datei+'?search='+(gf().elements[element_name].value)+'&input_liste=1&input='+input_name+'&'+params,null,'autocomplete_ajax');
        }else{
            getAjax(div_name+'_autocomplete', path_root+'/mods/ajax/'+datei+'?search='+(gf().elements[element_name].value)+'&input='+input_name+'&'+params,null,'autocomplete_ajax');
        }
    }

    function closeAutocomplete(form_element_name) {

				var div_name=deleteZeichen(form_element_name, new Array("[","]"));
				
        if(ge(div_name+'_autocomplete'))
        {
            ge(div_name+'_autocomplete').innerHTML = '';
            ge(div_name+'_autocomplete').style.display = "none";
            if(auto_timeout!=null){
                stopAjax('autocomplete_ajax');
                window.clearTimeout(auto_timeout);
            }

            gf().onsubmit=new Function("gf.submit();");
        }
    }

    function changeClip(id){

        var klapp_text = ge('Lay_text_'+id);
        var klapp_bild=	ge('Lay_img_'+id);


        if(klapp_text.style.display=="none")	{

            klapp_text.style.display="";

            if(klapp_bild){
                klapp_bild.src=path_root+"/css/img/area_clip2.png";
            }

        }else{
            klapp_text.style.display="none";

            if(klapp_bild){
                klapp_bild.src=path_root+"/css/img/area_clip.png";
            }
        }
    }

    function changeDisplay(praefix,di)
    {
        var k=0;
        while(true)
        {

            if(ge(praefix+""+k))
            {
                if(di==null)
                {
                    if(ge(praefix+""+k).style.display=="none"){
                        di="";
                    }else{
                        di="none";
                    }
                }

                ge(praefix+""+k).style.display=di;
            }else{
                break;
            }

            k++;
        }
    }


    function changeLang(feld)
    {
        var teile=location.href.split("?");
        /*
		location.href=teile[0] + "?lang="+document.forms['blau_form'].lang.options[document.forms['blau_form'].lang.options.selectedIndex].value + "&berechnungs_id="+document.forms['blau_form'].berechnungs_id.value+"&job=laden";
		*/

        if(feld!=null)
        {

            var teil_action=document.forms['blau_form'].action.split("?");

            if(teile.length>1)
            {
                document.forms['blau_form'].action=teile[0]+"?"+teile[1]+"&lang="+feld.options[feld.options.selectedIndex].value;
            }
            else
            {
                document.forms['blau_form'].action=teile[0]+"?lang="+feld.options[feld.options.selectedIndex].value;
            }

            document.forms['blau_form'].submit();
        }else{
            document.forms['blau_form'].action=teile[0]+"?job=laden&lang="+document.forms['blau_form'].lang.options[document.forms['blau_form'].lang.options.selectedIndex].value;
            document.forms['blau_form'].submit();
        }
    }
    function setLang()
    {

        var teile;
        if(parent.frames.length>1)
        {
            for (var i = 0; i < parent.frames.length; i++)
            {
                teile=parent.frames[i].location.href.split("?");
                parent.frames[i].location.href=teile[0]+"?lang="+document.forms['blau_form'].lang.options[document.forms['blau_form'].lang.options.selectedIndex].value;
            }
        }else{
            teile=location.href.split("?");
            location.href=teile[0]+"?lang="+document.forms['blau_form'].lang.options[document.forms['blau_form'].lang.options.selectedIndex].value;
        }
    }

    var timeout_select=null;
    var timeout_eval=null;

	function searchSelectDirekt(select_name,direkt_name,onchange_event){

        var s=gf().elements[direkt_name].value;
        var o=gf().elements[select_name];
        var sl=o.options.length;
        var text_option=false;

        if(timeout_select!=null){
            window.clearTimeout(timeout_select);
        }

        if(timeout_eval!=null){
            window.clearTimeout(timeout_eval);
        }
        // Füllen

        if(s!="")
        {
            for(var k=0;k<sl;k++){

                // Gucken nach Wert, wenn exakt der gleiche, auswählen und abbrechen
                if(o.options[k].value.toLowerCase() == s.toLowerCase())	{
                    o.options[k].selected=true;

                    if(gf().elements["opt_src_"+select_name]){
                        AutoTab(o,true,3);
                        if(onchange_event!=null){
                            eval(onchange_event);
                        }
                    }else{
                        AutoTab(o,true,1);
                        if(onchange_event!=null){
                            eval(onchange_event);
                        }
                    }

                    break;
                }

                // Versuchen im Text zu finden.
                if(text_option===false)	{
                    if(o.options[k].text.toLowerCase().search(""+s.toLowerCase())!=-1)	{
                        text_option=true;
                        o.options[k].selected=true;

                        // Wenn im Text gefunden, nicht sofort weiterspringen. Knan ja noch was kommen

                        if(gf().elements["opt_src_"+select_name]){
                            timeout_select=window.setTimeout("AutoTab(gf().elements[\""+select_name+"\"],true,3);",1700);
                            timeout_eval=window.setTimeout(onchange_event,1700);
                        }else{

                            timeout_select=window.setTimeout("AutoTab(gf().elements[\""+select_name+"\"],true,1);",1700);
                            timeout_eval=window.setTimeout(onchange_event,1700);
                        }
                    }
                }
            }
        }else{
            o.options.selectedIndex=0;
        }
    }

	function startSearchSelect(select_name,onchange_event,feld_direkt)
	{
		var s=gf().elements["suchfeld_"+select_name].value;
		var o=gf().elements[select_name];
		var o_src=gf().elements["opt_src_"+select_name];
		var s_format=s.replace("+","\\+");
		
		
      // Leeren
        for(var k=o.options.length;k>0;k--){
            o.options[k-1]=null;
        }

        // Füllen
        for(var k=0;k<o_src.options.length;k++){

            if(o_src.options[k].text.toLowerCase().search(s_format.toLowerCase())!=-1)
            {
                o.options[o.options.length]=new Option();
                o.options[o.options.length-1].text=o_src.options[k].text;
                o.options[o.options.length-1].value=o_src.options[k].value;
								o.options[o.options.length-1].style.cssText=o_src.options[k].style.cssText;               		
            }
        }

        if(o.options.length==0)
        {
            o.options[0]=new Option();
            o.options[o.options.length-1].text="-";
            o.options[o.options.length-1].value="";
        }

        if(feld_direkt!="" && feld_direkt!=null){
            gf().elements[feld_direkt].value=o.options[0].value;
        }

        eval(onchange_event);

    }

    function searchSelect(select_name,key,onchange_event, feld_direkt)
    {
        if(key==27 || key==13){
            ge('suchen_'+select_name).style.display='none';
            gf().elements[select_name].focus();
            return;
        }else{

            while(onchange_event.indexOf("'")!=-1)
            {
                onchange_event=onchange_event.replace("'","__anfu__");
            }

            while(onchange_event.indexOf("__anfu__")!=-1)
            {
                onchange_event=onchange_event.replace("__anfu__","\\'");
            }


            delayJs('startSearchSelect(\''+select_name+'\',\''+onchange_event+'\',\''+feld_direkt+'\')');
        }

    }

    /* Allgemeine Funktionen */
    function startPopUp(ziel,parameter,postwerte)
    {

        if(parameter==null){
            parameter="";
        }

        // Werte aus Formular etc. rauskopieren
        if(postwerte==true)
        {
            var anfrage_query="&";

            for(l=0;l<document.forms['blau_form'].elements.length;l++)
            {

                if(document.forms['blau_form'].elements[l])
                {

                    if(document.forms['blau_form'].elements[l].type=="radio" || document.forms['blau_form'].elements[l].type=="checkbox")
                    {
                        if(document.forms['blau_form'].elements[l].checked==true)
                        {

                            if(document.forms['blau_form'].elements[l].value!=null && document.forms['blau_form'].elements[l].value!="")
                            {
                                if(anfrage_query!="")
                                {
                                    anfrage_query+="&";
                                }

                                if(window.encodeURIComponent){
                                    anfrage_query+=document.forms['blau_form'].elements[l].name + "=" + encodeURIComponent(document.forms['blau_form'].elements[l].value);
                                }else{
                                    anfrage_query+=document.forms['blau_form'].elements[l].name + "=" + escape(document.forms['blau_form'].elements[l].value);
                                }

                            }
                        }
                    }
                    else
                    {

                        if(true==true)
                        {
                            if(anfrage_query!="")
                            {
                                anfrage_query+="&";
                            }
                            anfrage_query+=document.forms['blau_form'].elements[l].name + "=" + (document.forms['blau_form'].elements[l].value);

                        }
                    }
                }
            }


            anfrage_query+="&Browser="+navigator.appName+"&ajax=false";
        }else{
            anfrage_query="";
        }

        teile=parameter.split(",");


        var breite=Math.round(window.screen.availWidth*0.7);
        var hoehe=Math.round(window.screen.availHeight*0.7);



        var parameter_neu="";

        for(k=0;k<teile.length;k++)
        {
            teile2=teile[k].split("=");

            if(teile2[0].toLowerCase()=="width" || teile2[0].toLowerCase()==" width" || teile2[0].toLowerCase()==" width ")
            {
                breite=teile2[1];
            }
            else if(teile2[0].toLowerCase()=="height" || teile2[0].toLowerCase()==" height "|| teile2[0].toLowerCase()==" height")
            {
                hoehe=teile2[1];
            }
            else
            {
                parameter_neu+=teile[k]+",";
            }
        }

        pos_x=(window.screen.availWidth-breite)/2;
        pos_y=(window.screen.availHeight-hoehe)/2;




        parameter_neu+=",top="+pos_y;
        parameter_neu+=",left="+pos_x;

        parameter_neu+=",height="+hoehe+"";
        parameter_neu+=",width="+breite+"";
        parameter_neu+=",scrollbars=yes";

        var fenster=window.open(ziel + anfrage_query,"",parameter_neu);
        fenster.focus();
    }

    /* Oldscool aus den frühreren Rechnern

    "Etwas angepasst"
    */
    function AutoTab(inputfeld,forcee,num,event){

        var naechstes_feld=null;
        var naechstes_feld_gucken=false;
        if (typeof forcee=="undefined" || forcee==null){
            forcee=false;
        }
        if (typeof num=="undefined" || num==null){
            num=1;
        }

        //reagiere nur bei alphanummerischen zeichen
        //wenn ein Tastencode ermittelt werden kann
        if (typeof event!="undefined"){
            keycode=65;
            if (event.which){
                keycode = event.which;
            }else if (event.keyCode){
                keycode = event.keyCode;
            }
            if (
                keycode != 32
                && keycode != 91
                && keycode != 92
                && keycode != 93
                && keycode < 186
                && (keycode < 48 || keycode > 111)
                ){
                return;
            }
        }

        var elements_length=document.forms['blau_form'].elements.length;
        var elements_gefunden=0;

        for(k=0;k<elements_length;k++)
        {
            if(document.forms['blau_form'].elements[k].name==inputfeld.name)
            {

                naechstes_feld_gucken=true;

                while(naechstes_feld_gucken)
                {
                    k++;
                    if(document.forms['blau_form'].elements[k])
                    {
                        if(document.forms['blau_form'].elements[k].type!="hidden" && document.forms['blau_form'].elements[k].disabled!=true)
                        {
                            if(document.forms['blau_form'].elements[k].name!=inputfeld.name)
                            {


                                elements_gefunden++;

                                if(elements_gefunden==num){
                                    naechstes_feld=document.forms['blau_form'].elements[k];
                                    naechstes_feld_gucken=false;
                                }

                            }
                        }
                    }else{
                        naechstes_feld_gucken=false;
                    }
                }
            }
        }

        if(inputfeld.value.length == inputfeld.getAttribute("maxlength") || forcee==true){

            if(naechstes_feld!=null){
                try
                {
                    naechstes_feld.setAttribute('autocomplete', 'OFF');
                    naechstes_feld.focus();
                    naechstes_feld.select();
                }
                catch (e) {
                }
            }
        }
    }

    /* Leerzeichen entfernen, ähnlich php, kopiert */
    function trim(str){

        return str.replace (/^\s+/, '').replace (/\s+$/, '');
    }

    /* Nummer formatieren, ähnlich php, kopiert */
    function number_format( number, laenge, sep, th_sep ) {


        if(laenge!=null) {
            number = Math.round( number * Math.pow(10, laenge) ) / Math.pow(10, laenge);
        }

        str_number = number+"";
        arr_int = str_number.split(".");
        if(!arr_int[0]) arr_int[0] = "0";
        if(!arr_int[1]) arr_int[1] = "";
        if(arr_int[1].length < laenge){
            nachkomma = arr_int[1];
            if(laenge!=null){
                for(i=arr_int[1].length+1; i <= laenge; i++){
                    nachkomma += "0";
                }
                arr_int[1] = nachkomma;
            }
        }
        if(th_sep != "" && arr_int[0].length > 3){
            Begriff = arr_int[0];
            arr_int[0] = "";
            for(j = 3; j < Begriff.length ; j+=3){
                Extrakt = Begriff.slice(Begriff.length - j, Begriff.length - j + 3);
                arr_int[0] = th_sep + Extrakt +  arr_int[0] + "";
            }
            str_first = Begriff.substr(0, (Begriff.length % 3 == 0)?3:(Begriff.length % 3));
            arr_int[0] = str_first + arr_int[0];
        }

        if(laenge==null && arr_int[1]=="")
        {
            sep="";
        }
        return arr_int[0]+sep+arr_int[1];
    }


    var mousedown=false;


    /* Mit Hidden Feld synchron halten */
    function updateCheckbox(feld)
    {

        if(feld.checked==true)
        {

            document.forms['blau_form'].elements[feld.name.substr(9)].value=feld.value;
        }
        else
        {
            document.forms['blau_form'].elements[feld.name.substr(9)].value="0";
        }
    }

    function updateMouseUp(e) {

        if(table_drag){
            stopTableDrag();
        }

        if(drag_div!=null){
        	
        		if(typeof(ge(drag_div)) != "undefined"){
        			
	            drag_z_index++;
	            drag_div.style.cursor="auto";
	
	            if(ge(drag_div.id+'_inhalt')){
	                ge(drag_div.id+'_inhalt').style.visibility= 'visible';
	            }
	          }
        }

        if(drag_mouseup_function!=null)
        {
            eval(drag_mouseup_function);
        }
				if(typeof(drag_mouseup_function) != "undefined"){
        	drag_mouseup_function=null;
      	}
        
        if(typeof(drag_mousemove_function) != "undefined"){
        	drag_mousemove_function=null;
      	}
        drag_div=null;
        drag_p_x=0;
        drag_p_y=0;

    }

    var wmtt_anzeigen=true;
    var wmtt_abstand=0;
    var wmtt = null;
		var x=0;
    var y=0;
    
    function updatePosition(e) {
				
				//if(table_drag || wmtt!=null || drag_div!=null){
					
				if(true){
	        var scrOfX = 0, scrOfY = 0;
	        if( typeof( window.pageYOffset ) == 'number' ) {
	            //Netscape compliant
	            scrOfY = window.pageYOffset;
	            scrOfX = window.pageXOffset;
	        } else if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) ) {
	            //DOM compliant
	            scrOfY = document.body.scrollTop;
	            scrOfX = document.body.scrollLeft;
	        } else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) ) {
	           
	          /*@cc_on
	             @if (@_jscript_version > 5.7)
	            		scrOfY = 0;
	            		scrOfX = 0;
	            	
	             @else
									scrOfY = document.documentElement.scrollTop;
	            		scrOfX = document.documentElement.scrollLeft;
	            		
	           @end
	          @*/

	        }
	
	        x = (document.all) ? window.event.x + scrOfX : e.pageX;
	        y = (document.all) ? window.event.y +scrOfY   : e.pageY;

        if (wmtt != null) {

            var abweichung=20;
            var abweichung_breite=wmtt_abstand;



            var x_neu= (x+abweichung);
            var y_neu= (y+abweichung);
            // ganz feige aus nem forum kopiert
            var myWidth = 0, myHeight = 0;
            if( typeof( window.innerWidth ) == 'number' ) {
                //Non-IE
                myWidth = window.innerWidth;
                myHeight = window.innerHeight;
            } else if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) {
                //IE 6+ in 'standards compliant mode'
                myWidth = document.documentElement.clientWidth;
                myHeight = document.documentElement.clientHeight;
            } else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) {
                //IE 4 compatible
                myWidth = document.body.clientWidth;
                myHeight = document.body.clientHeight;
                
            
            }

            // das auch!



            //window.status=(document.body.clientWidth-(x_neu+wmtt.clientWidth+20));
            if((myWidth-(x_neu+wmtt.clientWidth+abweichung+abweichung_breite+scrOfX))<=0 && navigator.appName!="Microsoft Internet Explorer")
            {
                x_neu=myWidth-wmtt.clientWidth-abweichung-abweichung_breite+scrOfX;
            }



            if(((myHeight+scrOfY)-((scrOfY+wmtt.clientHeight+abweichung)+(y_neu-scrOfY)))<=0 && navigator.appName!="Microsoft Internet Explorer")
            {
              y_neu=myHeight-wmtt.clientHeight-abweichung+scrOfY;
            }




            if(wmtt){
                if(wmtt.style) {
                    wmtt.style.position = "absolute";
                    wmtt.style.left = x_neu + "px";
                    wmtt.style.top 	= y_neu + "px";
                }
            }
        }

        if(table_drag){
            changeTableWidth();
        }

        if (drag_div != null) {
        	
        	if(typeof ge(drag_div) != "undefined")
        	{
        		
        	
            if(ge(drag_div.id+'_inhalt')){
                ge(drag_div.id+'_inhalt').style.visibility= 'hidden';
            }
            drag_div.style.cursor="move";

            drag_div.style.display="";

            var drag_x_tmp=(x+drag_x-drag_p_x);
            var drag_y_tmp=(y+drag_y-drag_p_y);

            if(drag_y_tmp<0){
                drag_y_tmp=0;
            }

            if(drag_x_tmp<0){
                drag_x_tmp=0;
            }




            drag_div.style.left = (drag_x_tmp) + "px";
            drag_div.style.top 	= (drag_y_tmp) + "px";
            drag_div.style.zIndex 	= drag_z_index;
            drag_div.blur();
            drag_div.focus();

		  			 if(typeof(drag_mousemove_function) != "undefined"){
		        	 eval(drag_mousemove_function);
		      	}
     
          }
        }
      }
    }


	document.onmousemove = updatePosition;
	document.onmousedown=new Function("mousedown=true");
	document.onmouseup=updateMouseUp;

    /* Tooltipp */
    function showWMTT(id,abstand) {
        if(abstand!=null)
        {
            wmtt_abstand=abstand;
        }else{
            wmtt_abstand=0;
        }

        if(wmtt_anzeigen==true){
            wmtt = ge(id);

            wmtt.style.zIndex = 2000;
            
            
            wmtt.position="absolute";
            
            wmtt.left=x + "px";
            wmtt.top=y + "px";
            
            wmtt.style.display = "block";
        }
    }
    


    function hideWMTT(anzeige_weg) {

        // 3=belassen, 2=weg
        if(anzeige_weg!=3){
            if(anzeige_weg!=2){
                wmtt_anzeigen=true;
            }else{
                wmtt_anzeigen=false;
            }
        }

        wmtt.style.display = "none";
    }

    // Kopiert von http://forum.jswelt.de/javascript/21489-ie-quivalent-window-innerheight.html
    ////////////////////////////////////////////////////////////
    // getWinSize(window)
    function getWinSize(win)
    {
        if(!win) win = window;
        var s = new Object();
        if(typeof win.innerWidth != 'undefined')
        {
            s.width = win.innerWidth;
            s.height = win.innerHeight;
        }
        else
        {
            var obj = getBody(win);
            s.width = parseInt(obj.clientWidth);
            s.height = parseInt(obj.clientHeight);
        }
        return s;
    }
    ////////////////////////////////////////////////////////////
    // Der IE hat 2 verschiedene Objekte für den strict und quirks Mode.
    function getBody(w)
    {
        return (w.document.compatMode && w.document.compatMode == "CSS1Compat") ? w.document.documentElement : w.document.body || null;
    }

    // Wieder Eigenenwicklung
    function getPos(div)
    {
        var y_pos=0;
        var x_pos=0;

        var pos=new Object();

        pos.width=div.clientWidth;
        pos.height=div.clientHeight;


        while ((typeof(div)=="object")&&(typeof(div.tagName)!="undefined"))
        {

            y_pos+=div.offsetTop;
            x_pos+=div.offsetLeft;

            var tagname=div.tagName.toUpperCase();

            if (tagname=="BODY" || tagname=="HTML")
            {
                div=0;
            }

            if (typeof(div)=="object")
            {
                if(div.offsetParent)
                {
                    if (typeof(div.offsetParent)=="object")
                    {
                        div=div.offsetParent;
                    }
                }
                else{
                    break;
                }
            }
        }


        pos.x=x_pos;
        pos.y=y_pos;

        return pos;

    }

    // Kopiert
    // http://forums.asp.net/p/1405753/3071559.aspx#3071559, TN
    function getAbsoluteWidth(o)
    {


        // Get an object left position from the upper left viewport corner
        // Tested with relative and nested objects
        //  oWidth = o.offsetWidth            // Get Width from the parent object

        // Return Width
        var oWidth;
        if( window.getComputedStyle ) {
            oWidth = window.getComputedStyle(o,null).width;
        } else if( o.currentStyle ) {
            oWidth = o.currentStyle.width;

            if(oWidth=="auto"){
                oWidth = o.offsetWidth;
            }



        }


        return parseInt(oWidth);
    }//End of getAbsoluteWidth



    function showDivPos(div,toolid,vorzeichen)  {
         if(vorzeichen==null)    {
            vorzeichen=0.5;
        }

        var pos=getPos(div);


        ge(toolid).style.position = "absolute";
        ge(toolid).style.zIndex = drag_z_index;
        ge(toolid).style.top = (pos.y+25*vorzeichen)  + "px";
        ge(toolid).style.left = (pos.x+15*vorzeichen) + "px";
        ge(toolid).style.display = "block";
        
        drag_z_index++;
    }

    var timeout_tooltip;
    function showTooltip(div,tooltext,toolid,mehrfach)
    {

        if(toolid==null){
            toolid="t"+Math.random();
        }

        if(mehrfach==null){
            mehrfach=false;
        }

        if(ge(toolid))
        {
            removeDiv(ge(toolid));
        }

        createDiv(toolid);



        ge(toolid).className = "wmtt_hinweis";
        ge(toolid).innerHTML=tooltext;

        if(!document.all){
            ge(toolid).style.cursor="pointer";
        }else{
            ge(toolid).style.cursor="hand";
        }

        showDivPos(div,toolid,-1);


        ge(toolid).onclick=new Function("removeDiv('"+toolid+"');");

        if(timeout_tooltip!=null)
        {
            window.clearTimeout(timeout_tooltip);
        }
        timeout_tooltip=window.setTimeout("removeDiv('"+toolid+"');",5000);
    }

    /* Drag and Drop */

    var drag_div = null;
    var drag_mouseup_function;
    var drag_x=0;
    var drag_y=0;
    var drag_p_x=0;
    var drag_p_y=0;
    var drag_z_index = 50;
    function setDHTML(div_drag,div_titel)
    {
        if(div_titel==null){
            ge(div_drag).onmousedown=new Function("moveDiv('"+div_drag+"');");
            ge(div_drag).onclick=new Function("if(ge('"+div_drag+"')!= null){ge('"+div_drag+"').style.zIndex=drag_z_index;}");
        }else{
            ge(div_titel).onmousedown=new Function("moveDiv('"+div_drag+"');");
            ge(div_titel).onclick=new Function("if(ge('"+div_drag+"')!= null){ge('"+div_drag+"').style.zIndex=drag_z_index;}");
        }
    }

    function moveDiv(div_drag)
    {
    	
        drag_div=ge(div_drag);
				
        drag_y=parseInt(ge(div_drag).style.top+ge(div_drag).style.height)-window.y;
        drag_x=parseInt(ge(div_drag).style.left+ge(div_drag).style.width)-window.x;
    }

    //  Doppelte Paremeter etc. begrenzen
    function cleanUrl(parameter){

        var teile=parameter.split("?");



        var url_neu=teile[0];
        var url_para=Array();

        if(teile.length>1)	{

            url_neu+="?";
            var url_parameter=teile[1].split("&");
            var url_parameter_l=url_parameter.length;

            for(var i=0;i < url_parameter_l; i++) {
                var tmp=url_parameter[i].split("=");

                url_para[tmp[0]]=tmp[1];
            }


            var k=0;



            for (i in url_para)
            {
                if(i!="")
                {

                    if(k>0){
                        url_neu+="&";
                    }

                    url_neu+=i+"="+url_para[i];k++;
                }

            }
        }




        return url_neu;
    }


    /* FormularObjekt */
    function Formular()
    {

        this.fehler_texte=new Array();
        this.fehler_liste=new Array();
        this.feld_liste=new Array();
        this.check_liste=new Array();
        this.button_liste=new Array();
        this.block_liste=new Array();
        this.block_fehler=new Array();
        this.bloecke_pruef=new Array();
        this.feld_korrekt=new Array();
        this.feld_html=new Array();
        this.check_force=new Array();


        this.zaehlen=true;
        this.erstpruefung=true;
        this.erstfeld=false;
        this.fehler_zeigen=true;
        this.fehler_anzeige=1;

        this.registerHTMLInput=function (feld_name){
            this.feld_html[feld_name]=true;
        }

        this.submit=function (parameter){

            this.senden(parameter);

        }

        this.clean=function (){

            var array1=  this.button_liste;
            var array2 = new Array();
            var array3 = new Array();

            // kern der funktion
            for(var i = 0; i < array1.length; i++) {
                if(typeof(array2[array1[i]]) == "undefined") {
                    array2[array1[i]] = true;
                    array3[array3.length] = array1[i];
                }
            }

            var array4 = new Array();
            for(var i = 0; i < array3.length; i++) {

                if(gf().elements[array3[i]]){
                    array4[array4.length] = array3[i]
                }
            }


            this.button_liste=array4;
        }

        this.addFeld=function (adresse, block, checktext)
        {
            var index_neu=this.feld_liste.length;

            for(var ll=0;ll<index_neu;ll++)
            {
                if(this.feld_liste[ll]==adresse)
                {

                    index_neu=ll;
                    break;
                }
            }

            this.feld_liste[index_neu]=adresse;
            this.block_liste[adresse]=block;
            this.check_liste[adresse]=checktext;

            eval(checktext);
        }

        this.addButton=function (adresse, block)
        {
            /*
						if(document.cookie.search("MA_IT=TN")!=-1)
							{
							    if(adresse.length > 1){
							    	console.adresse("Button "+adresse[0].name+" konnte nicht registriert werden, Name bereits vergeben!");
							    }
							}*/

            this.button_liste[this.button_liste.length]=adresse;
            this.block_liste[adresse]=block;
            
            
        }

        this.senden=function(parameter)
        {
        	
        		if(typeof ajax_tunnel != "undefined"){
        		 	var pfad_url=pfad_voll;      	
          	}else{
          		var pfad_url=location.href;
          	}

						var teile=pfad_url.split("?");   
            var act;
            
            if(teile.length==1){
                act=pfad_url + "?" + parameter;
                
                 if(isBlauPage()){
            			act+="&"+refresh_parameter;
           			 }

            }else{
                act=pfad_url + "&" + parameter;
                
                if(isBlauPage()){
            			act+="&"+refresh_parameter;
           			}
            }
            
           
							
            act=(cleanUrl(act));
 
            if(typeof ajax_tunnel != "undefined"){
  
								getAjax("pagewidth",act);
            }else{
            	document.forms['blau_form'].action=act;
          	  document.forms['blau_form'].submit();
          }
        }



        this.checkFeld=function(feld_name)
        {
            if(this.check_liste[feld_name])
            {
                eval(this.check_liste[feld_name]);
                
                
                 if(this.block_liste[feld_name]!=""){
                	this.zeigeFehler(this.block_liste[feld_name] + ",global");
              	}else{
              		this.zeigeFehler("global");
              	}

                return this.fehler_liste[feld_name];
            }else{
                return false;
            }
        }


        this.registerError=function(feld_name,meldung){
            this.setzeFehler(gf(feld_name),meldung);
        }

        this.unregisterError=function(feld_name,meldung){
            this.setzeFehler(gf(feld_name),null);
        }

        this.getInput=function(feld_name,form_ajax,praef)
        {
        	
        	if(praef==null){
        		praef="";
        	}
        	
            if(form_ajax != null){
                for(i in formAjaxNamen){
                    if(formAjaxNamen[i] == form_ajax){
                        if(i!="undefined")	{
                            if(gf().elements[i+"_"+praef+feld_name]){
                                return gf().elements[i+"_"+praef+feld_name];
                            }
                        }
                    }
                }
            }else{
                return gf().elements[praef+feld_name];
            }
            
            return null;
        }

        this.getWert=function(feld_name)
        {
        	
        	if(typeof document.forms["blau_form"].elements[feld_name] != "undefined")
        	{
            if(document.forms["blau_form"].elements[feld_name].type=="checkbox")
            {
                if(document.forms["blau_form"].elements[feld_name].checked==true)
                {
                    var wert=document.forms["blau_form"].elements[feld_name].value;
                }else{
                    var wert="";
                }
            }
            else
            {
                var wert=document.forms["blau_form"].elements[feld_name].value;
            }

            return wert;
          }else{
          	return null;
          }
        }

        this.zeigeFehler=function(block,js,fehler_ausblenden_,fehleranzeige)
        {
            if(fehleranzeige!=null){
                this.fehler_anzeige=fehleranzeige;
            }

            if(fehler_ausblenden_==true){
                this.fehler_zeigen=false;
            }


            this.erstfeld=true;

            var blp=this.bloecke_pruef.length;
            if(block==null){

                block="";
                for(var ke=0;ke<blp;ke++)
                {
                    block+=this.bloecke_pruef[ke]+",";
                }
            }

            var bloecke=block.split(",");
            var bloecke_neu=Array();
            var bl=bloecke.length;

            for(var kk=0;kk<bl;kk++){
                if(bloecke[kk]!=""){
                    bloecke_neu[kk]=bloecke[kk];
                }
            }

            var fl=this.feld_liste.length;

            bloecke=bloecke_neu;
            var b;
            for(kk=0;kk<bl;kk++)
            {
                block=bloecke[kk];
								
                for(var le=0;le<fl;le++)
                {
                    var block_pruef=this.block_liste[this.feld_liste[le]];
                    b=false;

                    if(trim(block_pruef)==block)
                    {
                        b=true;
                    }

                    // Ok, ist im Block...
                    if(b==true)
                    {
                        if(this.fehler_zeigen==true){
                            this.feld_korrekt[this.feld_liste[le]]=true;
                        }

                        if(document.forms['blau_form'].elements[this.feld_liste[le]])
                        {
                            if(document.forms['blau_form'].elements[this.feld_liste[le]].length && document.forms['blau_form'].elements[this.feld_liste[le]].type!="select-one")
                            {

                                var gueltig=false;

                                for(var o=0;o<document.forms['blau_form'].elements[this.feld_liste[le]].length;o++)
                                {
                                    if(document.forms['blau_form'].elements[this.feld_liste[le]][o].disabled==false)
                                    {
                                        gueltig=true;
                                    }
                                }

                                if(gueltig==true){
                                    if((this.fehler_texte[this.feld_liste[le]]!=null)){
                                    	
             
                                  
                                        eval(this.check_liste[this.feld_liste[le]]);
                                    }else{
                                        this.setzeFehler(document.forms['blau_form'].elements[this.feld_liste[le]][0],this.fehler_texte[this.feld_liste[le]]);
                                    }
                                }else{
                                    this.setzeFehler(document.forms['blau_form'].elements[this.feld_liste[le]][0],null);
                                }
                            }else{
                                if(document.forms['blau_form'].elements[this.feld_liste[le]].disabled!=true)
                                {

                                    if(this.fehler_texte[this.feld_liste[le]]!=null){
                                    	
                                    	
                                    	
                                        eval(this.check_liste[this.feld_liste[le]]);
                                    }else{
                                        this.setzeFehler(document.forms['blau_form'].elements[this.feld_liste[le]],this.fehler_texte[this.feld_liste[le]]);
                                    }
                                }else{
                                    this.setzeFehler(document.forms['blau_form'].elements[this.feld_liste[le]],null);
                                }
                            }
                        }else{
                            // Nicht mehr vorhandene Felder auf "plausibel" setzten
                            this.fehler_liste[this.feld_liste[le]]=false;
                            this.feld_korrekt[this.feld_liste[le]]=true;
                        }
                    }
                }
            }

            b=true;
            for(var k=0;k<bloecke.length;k++)
            {
            	if(typeof this.block_fehler[trim(bloecke[k])] == "undefined"){
            		
            	
            		
            		//b=true;
            	}else{
            		
         

            		
                if(this.block_fehler[trim(bloecke[k])]==true)
                {
                	
                	   	
                	
                    b=false;
                    
         
                }
              }
            }


            if(b==true) {
                eval(js);
            }

            if(fehler_ausblenden_==true){
                this.fehler_zeigen=true;
            }
        }

        this.zaehleFehler=function(block)
        {
						// Hier muss viel gezählt werden ;)
            var m=0;
            var b=false;
            var l=0;
            var k=0;
            var j=0;
            var w=0;

            var lf=this.feld_liste.length;
            this.bloecke_pruef=new Array();
            this.zaehlen=false;

            if(block=="undefined" || block==null)
            {

                for(l=0;l<lf;l++)
                {
                    var bloecke=this.block_liste[this.feld_liste[l]].split(",");
                    var blol=bloecke.length;

                    for(k=0;k<blol;k++)
                    {
                        b=false;

                        var blpl=this.bloecke_pruef.length;
                        for(j=0;j<blpl;j++)
                        {
                            if(this.bloecke_pruef[j]==bloecke[k])
                            {
                                b=true;
                                break;
                            }
                        }

                        if(b==false){
                            this.bloecke_pruef[this.bloecke_pruef.length]=bloecke[k];
                        }
                    }
                }
            }else{
                this.bloecke_pruef[0]=block;
            }

            var blo=this.bloecke_pruef.length;
            for(w=0;w<blo;w++)
            {

                m=0;
                block=this.bloecke_pruef[w];

                for(l=0;l<lf;l++)
                {
                    var block_pruef=this.block_liste[this.feld_liste[l]];
                    b=false;

                    if(trim(block_pruef)==block)
                    {
                        b=true;
                    }



                    // Ok, ist im Block	  ...
                    if(b==true)
                    {


                        if(document.forms['blau_form'].elements[this.feld_liste[l]])
                        {
                            if(this.fehler_liste[this.feld_liste[l]]==null){

                   
                       	  			
         																if(checkHidden(gf().elements[this.feld_liste[l]])!=true){
                              	  	eval(this.check_liste[this.feld_liste[l]]);
                              		}
                             	} 
                            

                            if(this.fehler_liste[this.feld_liste[l]]==true)
                            {
                                m++;
                            }
                        }else{
                            this.fehler_liste[this.feld_liste[l]]=false;
                            this.feld_korrekt[this.feld_liste[l]]=true;
                        }
                    }
                }





                if(m==0)
                {
                    this.block_fehler[block]=false;
                }
                else
                {
                    this.block_fehler[block]=true;
                }
            }

            var bul=this.button_liste.length;
            for(l=0;l<bul;l++)
            {



                var fehler=false;
                var bloecke=this.block_liste[this.button_liste[l]].split(",");
                var blol=bloecke.length;

                for(k=0;k<blol;k++)
                {
                	 	if(typeof this.block_fehler[trim(bloecke[k])] != "undefined"){
	                    if(this.block_fehler[trim(bloecke[k])]==true)
	                    {
	                        fehler=true;
	                    }
	                  }
                }



                if(document.forms['blau_form'].elements[this.button_liste[l]])
                {
                    var schon_getan=false;
                    if(fehler==true && document.forms['blau_form'].elements[this.button_liste[l]].className=="fsubmit_deac"){
                        schon_getan=true;
                    }

                    if(fehler==false && document.forms['blau_form'].elements[this.button_liste[l]].className=="fsubmit"){
                        schon_getan=true;
                    }

                    if(schon_getan==false){
                        document.forms['blau_form'].elements[this.button_liste[l]].className=((fehler==true)?"fsubmit_deac":"fsubmit");
                    }
                }
            }

            if(this.fehler_zeigen==true){
                this.erstpruefung=false;
            }

            this.zaehlen=true;
        }

        this.setzeFehler=function (feld,meldung,sofort)
        {



						var zusatzfelder=null;
            var ok=true;
            var i=0;
						var k=0;
						
            if(!feld)
            {
                if(document.cookie.search("MA_IT=")!=-1)
                {
                    console.log(feld + " ist kein gültiger Name für ein Feld! Doppelt vorhanden?");
                }
                ok=false;
            }

            if(ok==true)
            {

                feld_auswahl=feld;

                if(feld.type=="hidden" && typeof gf().elements["tag_"+feld.name] == "undefined"){

                    feld_auswahl=gf().elements["input_"+feld.name];

                    if( typeof gf().elements["input_"+feld.name] == "undefined"){
                        feld_auswahl=feld;
                    }
                }
				
								if(feld["zusatz"]){
									zusatzfelder=feld["zusatz"];
								}
								
                if(feld["farbe"])
                {
                    var farbe=feld["farbe"];
                    feld=feld["id"];
                }else{
                    var farbe=new Array();
                    farbe[0]=feld_auswahl;
                }

                var invisi=checkHidden(feld);
                if (invisi==1) {
                    meldung=null;
                }
                if(checkDisabled(feld)==1){
					meldung=null;
				}

                if(typeof(feld) != "undefined")
                {
                    if(feld.type=="radio")
                    {
                        if(feld.name){
                        //	var feld_auswahl=feld;
                        }else{
                            var feld_auswahl=gf().elements[feld.name][[gf().elements[feld.name].length-1]];
                        }
                    }else{
                        var feld_auswahl=feld;
                    }
                }

                if(meldung==null){
  
                    if (invisi==1){
                    	
                    	
                    	
                        this.fehler_liste[feld.name]=null;
                        this.feld_korrekt[feld.name]=true;
                        
                         if(zusatzfelder!=null){
                        	for(var k=0;k<zusatzfelder.length;k++){
                        		 this.fehler_liste[zusatzfelder[k].name]=null;
                        		 this.feld_korrekt[zusatzfelder[k].name]=true;
                        	}
                        }
                    }else{
                        this.fehler_liste[feld.name]=false;
                        this.feld_korrekt[feld.name]=true;
        
                         if(zusatzfelder!=null){
                        	for(var k=0;k<zusatzfelder.length;k++){
                             this.fehler_liste[zusatzfelder[k].name]=false;
                             this.feld_korrekt[zusatzfelder[k].name]=true;
                        	}
                        }
                    }

                    if(ge("alle_"+feld_auswahl.name)){
                        removeDiv("alle_"+feld_auswahl.name);
                    }


                    for(i=0;i<farbe.length;i++)
                    {
                        if(this.fehler_anzeige == 1)
                        {
                            farbe[i].style["backgroundColor"]="";
                            farbe[i].style["borderColor"]="";
                            //farbe[i].style["color"]="";
                            farbe[i].style["borderStyle"]="";
                            farbe[i].style["borderWidth"]="";
                        }else if(this.fehler_anzeige == 2)
                        {
                            farbe[i].style["backgroundPosition"] = "0 0";
                        }
                        if(farbe[i].type!="checkbox" && farbe[i].type!="radio" && farbe[i].type!="textarea" && farbe[i].type!="select-one")
                        {
                            farbe[i].className="finput";
                        }

                        if(farbe[i].type=="select-one")
                        {
                            farbe[i].className="fselect";
                        }

                        if(farbe[i].type=="textarea")
                        {
                            farbe[i].className="ftextarea";
                        }
                    }
                }else{

                    if(feld)
                    {
                        this.fehler_liste[feld.name]=true;
                        
                        if(zusatzfelder!=null){
                        	for(var k=0;k<zusatzfelder.length;k++){
                        		 this.fehler_liste[zusatzfelder[k].name]=true;
                        	}
                        }
                        if(this.erstpruefung!=true && this.feld_korrekt[feld.name]==true  &&  this.fehler_zeigen==true)
                        {
                            if(!ge("alle_"+feld_auswahl.name)){
                                var neuB = document.createElement("span");
                                neuB.setAttribute("id", "alle_"+feld_auswahl.name);
                                feld_auswahl.parentNode.insertBefore(neuB, feld_auswahl.nextSibling);
                                ge("alle_"+feld_auswahl.name).innerHTML="<span id='feld_"+feld_auswahl.name+"'><a href=\"javascript:void(0)\" onMouseOver=\"showWMTT('tipp_"+feld.name+"')\"  onMouseOut=\"hideWMTT()\"><img id=\"bild_"+feld.name+"\" src=\""+path_root+"/data/rechnerpics/"+bilder["fehler"]+"\" /></a></span><span id='tipp_"+feld_auswahl.name+"' class='wmtt' style='display:none;'>"+meldung+"</span>";
                            }else{
                                ge("tipp_"+feld_auswahl.name).innerHTML=meldung;
                            }

                            if(this.erstfeld==true && gf().elements[feld.name].type!="hidden"){

                                var myWindow = {
                                    w:window.innerWidth,
                                    h:window.innerHeight,
                                    x:0,
                                    y:0
                                };
                                if(typeof document.documentElement.scrollTop != "undefined")
                                {
                                    myWindow.y=document.documentElement.scrollTop;
                                }else
                                {
                                    myWindow.y = window.pageYOffset;
                                }
                                if(typeof document.documentElement.scrollLeft != "undefined")
                                {
                                    myWindow.x = document.documentElement.scrollLeft;
                                }else
                                {
                                    myWindow.x = window.pageXOffset;
                                }
                                if(ge("bild_"+feld.name).y){
                                    //alert(myWindow.h+"___"+myWindow.y+"___"+ge("bild_"+feld.name).y);
                                    if(ge("bild_"+feld.name).y < myWindow.y || ge("bild_"+feld.name).y > myWindow.y+myWindow.h)
                                    {

                                        window.scrollTo(0,(ge("bild_"+feld.name).y-50));
                                    }
                                    this.erstfeld=false;

                                }else{

                                    var pos = {
                                        x:0,
                                        y:0
                                    };
                                    var Elem = ge("bild_"+feld.name);
                                    if (!Elem || typeof Elem.offsetParent == "undefined") return;
                                    while (Elem && typeof Elem.offsetLeft == "number") {
                                        pos.x += Elem.offsetLeft;
                                        pos.y += Elem.offsetTop;
                                        Elem = Elem.offsetParent;
                                    }

                                    if(pos.y < myWindow.y || pos.y > myWindow.y+myWindow.h)
                                    {
                                        window.scrollTo(0,(pos.y-50));
                                    }
                                    this.erstfeld=false;
                                }
                            }

                            for(i=0;i<farbe.length;i++)
                            {
                                if(farbe[i].type!="checkbox" && farbe[i].type!="radio")
                                {
                                    if(this.fehler_anzeige == 1)
                                    {
                                        farbe[i].style["backgroundColor"]="#fcc";
                                        farbe[i].style["borderColor"]="#600";
                                        //farbe[i].style["color"]="#000";
                                        farbe[i].style["borderStyle"]="solid";
                                        farbe[i].style["borderWidth"]="1px";
                                    }else if(this.fehler_anzeige == 2)
                                    {
                                        farbe[i].style["backgroundPosition"] = "0 -40px";
                                    }

                                }
                            }
                        }
                    }else{

                }
                }

                if(this.erstpruefung==false&& this.zaehlen==true){
                    this.zaehleFehler(this.block_liste[feld.name]);
                }
            }

            this.fehler_texte[feld.name]=meldung;
        };

		/**
		 * Datentyp des Inpu-Feldes bestimmen
		 */
		this.getFeldTyp=function(feld_name){
			//CKEditor?
			if(typeof CKEDITOR != 'undefined' && CKEDITOR.instances[feld_name]){
				return "ckeditor";
			}
			//Calendar?
			if(typeof Calendar != 'undefined' && Calendar.getCalendar(feld_name)!==null){
				return 'calendar';
			}
			//Combobox?
			if(typeof ComboBox != 'undefined'){
				if(ComboBox.getComboBox(feld_name)!==null){
					return 'combobox';
				}else{
					ComboBox.create(feld_name);
				}
				if(ComboBox.getComboBox(feld_name)!==null){
					return 'combobox';
				}
			}
			//Slider?
			if(typeof Slider != 'undefined'){
				if(Slider.getSlider(feld_name)!==null){
					return 'slider';
				}else{
					Slider.create(feld_name);
				}
				if(Slider.getSlider(feld_name)!==null){
					return 'slider';
				}
			}
			var feld=gf().elements[feld_name];
			//array
			if(typeof feld.tagName == 'undefined'){
				if(feld[0].type){
					feld=feld[0];
				}else{
					return null;
				}
			}
			var tag_name=feld.tagName.toLowerCase();
			if(tag_name=='input'){
				switch(feld.type){
					case 'radio':
						return 'radio';
					case 'checkbox':
						return 'checkbox';
					case 'text':
						return 'text';
					case 'submit':
						return 'submit';
					case 'button':
						return 'button';
					case 'hidden':
						if(gf().elements['input_'+feld.name]){
							return 'form_input';
						}else if(gf().elements['tag_'+feld.name] || gf().elements['monat_'+feld.name] || gf().elements['jahr_'+feld.name] || gf().elements['stunden_'+feld.name] || gf().elements['minuten_'+feld.name] || gf().elements['sekunden_'+feld.name]){
							return 'form_date';
						}else if(gf().elements['checkbox_'+feld.name]){
							return 'form_checkbox';
						}

						else {
							return 'hidden';
						}
				}
			}else if(tag_name=='select'){
				return 'form_select';
			}else if(tag_name=='textarea'){
				return 'textarea';
			}
			return null;
		};

		this.setValue=function(feld_name, form_ajax){
			feld_name=this.getInput(feld_name,form_ajax).name;
			var values=Array();
			if(this.setValue.arguments.length > 2){
				for(var i=2;i<this.setValue.arguments.length;i++){
					values.push(this.setValue.arguments[i]);
				}
			}else{
				values[0]='';
			}
			
			switch(this.getFeldTyp(feld_name)){
				case "ckeditor":
					CKEDITOR.instances[feld_name].insertHtml(values[0]);
					break;
				case "calendar":
					if(values.length >= 3){
						var d=new Date();
						date.setFullYear(values[0]);
						date.setMonth(values[1]-1);
						date.setDate(values[2]);
						if(values.length==6){
							date.setHours(values[3]);
							date.setMinutes(values[4]);
							date.setSeconds(values[5]);
						}
						Calendar.getCalendar(feld_name).setTimestamp(date.getTimestamp());
					}else{
						Calendar.getCalendar(feld_name).setTimestamp(Number(values[0])*1000);
					}
					break;
				case "slider":
					Slider.getSlider(feld_name).setValue(values[0]);
					break;
				case "combobox":
					ComboBox.getComboBox(feld_name).setSelectedIndex(values[0]);
					break;
				case "form_date":
					var date=null;
					if(values.length >= 3){
						date=new Date();
						date.setFullYear(values[0]);
						date.setMonth(values[1]-1);
						date.setDate(values[2]);
						if(values.length==6){
							date.setHours(values[3]);
							date.setMinutes(values[4]);
							date.setSeconds(values[5]);
						}
					}else {
						date=new Date(values[0]*1000);
					}
					var d = date.getDate();
					if(d < 10) d = '0'+d;
					var m = date.getMonth()+1;
					if(m < 10) m = '0'+m;
					var y = date.getFullYear();
					if(y < 10) y = '0'+y;
					var hh= date.getHours();
					if(hh < 10) hh = '0'+hh;
					var mm= date.getMinutes();
					if(mm < 10) mm = '0'+mm;
					var ss= date.getSeconds();
					if(ss < 10) ss = '0'+ss;
					gf().elements[feld_name].value=date.getTime()/1000;
					if(gf().elements['tag_'+feld_name]){
						gf().elements['tag_'+feld_name].value=d;
					}
					if(gf().elements['tag_'+feld_name+'2']){
						gf().elements['tag_'+feld_name+'2'].value=d;
					}
					if(gf().elements['monat_'+feld_name]){
						gf().elements['monat_'+feld_name].value=m;
					}
					if(gf().elements['monat_'+feld_name+'2']){
						gf().elements['monat_'+feld_name+'2'].value=m;
					}
					if(gf().elements['jahr_'+feld_name]){
						gf().elements['jahr_'+feld_name].value=y;
					}
					if(gf().elements['jahr_'+feld_name+'2']){
						gf().elements['jahr_'+feld_name+'2'].value=y;
					}
					if(gf().elements['stunden_'+feld_name]){
						gf().elements['stunden_'+feld_name].value=hh;
					}
					if(gf().elements['minuten_'+feld_name]){
						gf().elements['minuten_'+feld_name].value=mm;
					}
					if(gf().elements['sekunden_'+feld_name]){
						gf().elements['sekunden_'+feld_name].value=ss;
					}
					break;
				case "form_select":
					if(gf().elements['opt_src_'+feld_name]){
						gf().elements['opt_src_'+feld_name].options.selectedIndex=values[0];
						var val=gf().elements['opt_src_'+feld_name].options[gf().elements['opt_src_'+feld_name].options.selectedIndex].value;
						var opts=gf().elements[feld_name].options;
						var index=0;
						for(var i=0;i<opts.length;i++){
							if(opts[i].value==val){
								index=i;
								break;
							}
						}
						gf().elements[feld_name].options.selectedIndex=index;
					}else {
						var opts=gf().elements[feld_name].options;
						var index=0;
						for(var i=0;i<opts.length;i++){
							if(opts[i].value==values[0]){
								index=i;
								break;
							}
						}	
						
						gf().elements[feld_name].options.selectedIndex=index;
						// Ging nicht, TN 7.7.2010 11:32:59
						//gf().elements[feld_name].options.selectedIndex=values[0];
					
					}
					if(gf().elements['_direkt_'+feld_name]){
						gf().elements['_direkt_'+feld_name].value=gf().elements[feld_name].options[gf().elements[feld_name].options.selectedIndex].value;
					}
					break;
				case "form_input":
					gf().elements['input_'+feld_name].value=values[0];
					gf().elements[feld_name].value=values[0];
					break;
				case "form_checkbox":
					gf().elements['checkbox_'+feld_name].checked=values[0];
					gf().elements[feld_name].value=(values[0])?1:0;
					break;
				case "radio":
					var felder=gf().elements[feld_name];
					if(felder.length){
						for(var i=0;i<felder.length;i++){
							if(felder[i].value==values[0]){
								felder[i].checked=true;
								break;
							}
						}
					}
					break;
				case "checkbox":
					gf().elements[feld_name].checked=values[0];
					break;
				case "textarea":
				case "hidden":
				case "text":
				case "button":
				case "submit":
				default:
					if(gf().elements[feld_name] && typeof gf().elements[feld_name].value != 'undefined'){
						gf().elements[feld_name].value=values[0];
					}
			}
			if(this.check_liste[feld_name]){
				this.feld_korrekt[feld_name]=true;
				eval(this.check_liste[feld_name]);
			}
		};

    }


    function checkHidden(feld){
        var ebene=feld;
        var l=0;
        var isHidden=0;
        while(true){
            l++;
            if(ebene.style)
            {
                if(ebene.style.display=="none" || ebene.style.visibility=="hidden"){
                    isHidden=1;
                    break;
                }

                if(ebene.parentNode.style){
                    ebene=ebene.parentNode;
                }else{
                    break;
                }
            }else{
                break;
            }

            if(l>50){
                break;
            }
        }
        return isHidden;
    }

	function checkDisabled(feld){
		var isDisabled=0;
		if(feld.disabled){
			isDisabled=1;
		}else {
			var feld2=null;
			if(typeof(gf().elements['input_'+feld.name])!=='undefined'){
				 feld2=gf().elements['input_'+feld.name];
			}else if(typeof(gf().elements['checkbox_'+feld.name])!=='undefined'){
				feld2=gf().elements['checkbox_'+feld.name];
			}
			if(feld2 !== null && feld2.disabled){
				isDisabled=1;
			}
		}
		return isDisabled;
	}

    function deleteZeichen(texte,zeichen)
    {
        for(i=0;i<zeichen.length;i++)
        {
            while(texte.indexOf(zeichen[i])!=-1)
            {
                texte=texte.replace(zeichen[i],"");
            }
        }

        return texte;
    }



    var formular=new Formular();


    var js_texte=new Array();

    /* Alias */
    function setDisplay(div_id) {
        setAufZu(div_id);
    }

    function setAufZu(div_id) {

        if(ge(div_id).style.display=="none"){
            ge(div_id).style.display="";
        }else{
            ge(div_id).style.display="none";
        }
    }


    function showHideFlash(elem,hide){

/*
mal gucken, ob wir die scheisse überhaupt brauchen, 
TN 10.5.2010 18:06:03

löschen bis 01.07.2010

        if(elem==null){
            var elem=document.getElementsByTagName("body")[0];

        }



        if(hide==null){
            hide=true;
        }

        var kinder=elem.childNodes.length;

        for(var i=0;i<kinder;i++){

            if(elem.childNodes[i].tagName=="OBJECT"){

                if(hide==true){
                    elem.childNodes[i].style.visibility="hidden";
                }else{
                    elem.childNodes[i].style.visibility="";
                }
            }else{
            	

                if(elem.childNodes[i].tagName!="INPUT" && elem.childNodes[i].tagName!="SELECT"){
                    if(elem.childNodes[i].childNodes.length > 0){

                        showHideFlash(elem.childNodes[i],hide);
                    }
                }
            }
        }*/
        
        return true;


    }

    var html_height;
    var body_height;
    
    // Standard, das Ding am Anfang
    var hinweis_id="warten";
    
    function openHinweis(text,width_,height_,hinweis_close, hinweis_id_neu){
    	
    		hinweis_id=hinweis_id_neu;

        showHideFlash(null,true);

        if(width_==null ) {
            width_="500px";
        }
        
        if(height_==null){
            height_="250px";
        }

        if(hinweis_close==null ) {
            hinweis_close=true;
        }

        if(hinweis_close==true){
            var hinweis_close_display="";
        }else{
            var hinweis_close_display="none";
        }

        ge("bildschirm_close").style.display=hinweis_close_display;

			  if(navigator.appName=="Microsoft Internet Explorer")
        {
          var wih=window.document.documentElement.clientHeight;
          var wiw=window.document.documentElement.clientWidth;
        }else{
           var wih=window.innerHeight;
           var wiw=window.innerWidth;
         }


				width_=width_+"";
        ge("bildschirm").style.width=width_;
        
        if(width_.search("%") !== -1 && width_!=null){
         	ge("bildschirm").style.marginLeft=(Math.round(wiw/100*90/2*-1))+"px";
        }else{
        	
        	width_=parseInt(width_);
        	
          ge("bildschirm").style.marginLeft=Math.round((width_/2*-1))+"px";
          ge("bildschirm").style.width=(width_+2)+"px";
        }
        
       ge("bildschirm").style.height=height_;
        
        
        
        height_=height_+"";

        if(height_.search("%") !== -1 && height_!=null){
         	ge("bildschirm").style.marginTop=(Math.round(wih/100*90/2*-1))+"px";
        }else{

        	height_=parseInt(height_);
        	
          ge("bildschirm").style.marginTop=Math.round((height_/2*-1))+"px";
          
          ge("bildschirm").style.height=(height_+2)+"px";
        }

        ge("bildschirm").innerHTML='<a href="javascript:closeHinweis()" id="bildschirm_close"><img src="'+path_root+'/data/stocks/window_x_rund.png" alt="X" style="position:absolute;top:-10px;right:-10px;" /></a>';
			  ge("bildschirm").innerHTML+='<div id="bildschirm_text" style="height:100%; background-color: #fff;"></div>';

        ge("bildschirm_text").innerHTML=text;
        ge("bildschirm_transparenz").style.display="";
				ge("bildschirm").style.display="";
    }

    function closeHinweis(hinweis_id_close)
    {

			if(hinweis_id_close==null || hinweis_id==hinweis_id_close){
				
	        showHideFlash(null,false);
	
	        document.getElementsByTagName("html")[0].style.overflowY="auto";
	        document.getElementsByTagName("body")[0].style.height="";
	        
	        ge("bildschirm_transparenz").style.display="none";
	
	        document.getElementsByTagName("html")[0].style.height=null;

					if(typeof body_height != "undefined"){
			        document.getElementsByTagName("body")[0].style.height=body_height;
		      }
	
	        ge("bildschirm_text").innerHTML="";
	        ge("bildschirm").style.display="none";
	      }
    }

    function getAlter(jahr, monat, tag)
    {
        monat--;
        var heute = new Date();

        // heute = heute.getDate();;
        // var monat = document.forms['blau_form'].FahrjungGeb_m.value-1;
        var heute_t = Date.UTC((1900+heute.getYear()), heute.getMonth(), heute.getDate());
        var Geburtsdatum = Date.UTC(jahr, monat, tag);

        var Alter = heute_t - Geburtsdatum;
        return Math.floor(Alter/31536000000);
    }

    function setSichtbarkeit(id,sichtbar,freund)
    {
        var klapp_text = ge('Lay_text_'+id);
        var klapp_bild = ge('Lay_titel_'+id);
        var klapp_status = ge('clip_offen_'+id);

        if(typeof klapp_text != "undefined" && klapp_text != null){
            if(sichtbar==false){
                klapp_bild.className="area_clip2";
            }
            klapp_bild.className=(klapp_bild.className == 'area_clip2') ? "area_clip":"area_clip2";
            klapp_text.style.display=(klapp_bild.className == 'area_clip2') ? "block":"none";

            if(typeof klapp_status != "undefined" && klapp_status != null){
                klapp_status.value=(klapp_bild.className == 'area_clip2') ? "1":"0";
            }

            if(freund!=null){
                setSichtbarkeit(freund,false,null);
            }
        }
    }

    function createConfirm(url_weiter)
    {
        var check = confirm("Möchten Sie das das wirklich tun?");
        if(check==true)
        {
            location.href=url_weiter;
        }
    }

    var loaded_js=Array;
    function loadJs(src_path){

        if(loaded_js[src_path]!=true)
        {

            var h = document.getElementsByTagName("head")[0];
            var s = document.createElement('script');
            s.setAttribute('type','text/javascript');
            s.setAttribute('language','JavaScript');

            if(src_path!=null){
                s.setAttribute('src',src_path);
            }

            s.text = "";
            h.appendChild(s);
            loaded_js[src_path]=true;
        }
    }
    
    
		function reloadLocation(location_new,init){
			if(typeof ajax_tunnel != "undefined"){
				window.setTimeout('getAjax("pagewidth","'+location_new+'&init=1", null, null, "");',1000);
				
			}else{
				
					var ziel_teile=location_new.split("?");
	
					if(ziel_teile.length > 1){
						location.href=location_new+="&"+refresh_parameter;
					}else{
						location.href=location_new+="?"+refresh_parameter;
					}
			}
		}






    /* KartenObjekt */
    function Karte()
    {
        this.adress=null;
        this.killer=1;
        this.map = null;
        this.check_js_load=false;
        this.index=null;
        this.div=null;


        this.GetMap=function (s)
        {
            try{
                this.map = new VEMap(this.div);

                this.map.LoadMap();
                this.map.SetScaleBarDistanceUnit(VEDistanceUnit.Kilometers);
                this.FindLoc();
            }
            catch(e)
            {
                alert(e.message);
            }
        }

        this.FindLoc=function()
        {
            try
            {
                this.map.Find(null, this.adress);
                this.map.AttachEvent('onobliqueenter', this.OnObliqueEnterHandler);

            }
            catch(e)
            {
                alert(e.message);
            }
        }

        this.OnObliqueEnterHandler=function()
        {
            if(this.map.IsBirdseyeAvailable())
            {
                this.map.SetBirdseyeScene();
                var be = this.map.GetBirdseyeScene();
                if(be != ""){
                    this.killer=0;
                }
                else{
                    this.killer=1;
                }
            }
        }

        //google
        this.geocoder = null;

        this.load=function () {
            if (GBrowserIsCompatible()) { //alert(killer);
                if(this.killer!=0){
                    this.map = new GMap2(ge(this.div));
                    this.map.addControl(new GLargeMapControl());
                    this.map.addControl(new GScaleControl());
                    this.map.addControl(new GMapTypeControl());
                    this.map.enableScrollWheelZoom();

                    this. map.setCenter(new GLatLng(53.868851,10.671544), 18, G_HYBRID_TYPE);
                    geocoder = new GClientGeocoder();
                    showAddress(this.adress,this.infotext);
                }
            }
        }

        this.showAddress=function(address, info) {
            if (geocoder) {
                geocoder.getLatLng(
                    this.address,
                    function(point) {
                        if (!point) {
                            alert(this.address + ' not found');
                        } else {
                            this.map.setCenter(point, 18);
                            var marker = new GMarker(point);
                            this.map.addOverlay(marker);
                        //marker.openInfoWindowHtml(info);
                        }
                    }
                    );
            }
        }



        this.show=function(div, strasse, plz,ort, land, info, index){

            this.index=index;

            if(land==null)
            {
                land="Germany";
            }

            if(info==null)
            {
                this.info="Info";
            }

            this.div=div;

            loadJs("http://dev.virtualearth.net/mapcontrol/mapcontrol.ashx?v=6");
            loadJs("http://maps.google.com/maps?file=api&v=2&key=ABQIAAAAxJrDWpJJYq4H2CVjUC1ZLRS0x-1wZTbkV5AEW1dEinfVXJg_1RSf5IffBfEkLhaVAxdDEo8gkL7y5Q");


            this.adress=strasse+", "+plz+" "+ort+", "+land;
            this.checkJsLoad();
        }

        this.checkJsLoad=function(){

            var vorhanden=false;
            try{
                VEMap;
                GMap2;
                vorhanden=true;

            }
            catch(Error)
            {

            }

            if(vorhanden==false){
                window.setTimeout("Karten["+this.index+"].checkJsLoad()",1000);
            }
            else{
                this.GetMap();
                window.setTimeout("Karten["+this.index+"].load()",2000);
            }
        }
    }


    var Karten=new Array();

    function showKarte(div, strasse, plz,ort, land, info){
        Karten[Karten.length]=new Karte();
        Karten[Karten.length-1].show(div, strasse, plz,ort, land, info,(Karten.length-1));
    }

    if(input_liste==null){
        var input_liste=new Array();
    }


    function addListeKey(feld_name,evente){
        if(evente.keyCode==13){
            addListe(feld_name);
        }
    }




    function addListe(feld_name, value_eigen,text_eigen){

        if(typeof value_eigen == "object")
        {
            input_liste[feld_name]=new Array();

            for(var i=0;i < value_eigen.length;i++){
                input_liste[feld_name]["l" + value_eigen[i][0]]=new Array();
                input_liste[feld_name]["l" + value_eigen[i][0]]["value"]=value_eigen[i][0];
                input_liste[feld_name]["l" + value_eigen[i][0]]["text"]=value_eigen[i][1];
            }
        }else{



            if(value_eigen != null){
                var wert=value_eigen;
            }else{
                var wert=gf().elements["input_"+feld_name].value;
                gf().elements["input_"+feld_name].value="";
            }



            if(input_liste[feld_name]==null){
                input_liste[feld_name]=new Array();
            }
            if(gf().elements["autocomplete_input_"+feld_name]){
                gf().elements["autocomplete_input_"+feld_name].value="";
                gf().elements["autocomplete_input_"+feld_name].focus();
            }else{
                text=wert;
                gf().elements["input_"+feld_name].focus();
            }
            if(text_eigen != null){
                var text=text_eigen;
            }

            var vorhanden=false
            if(wert==""){
                vorhanden=true;
            }

            if(!vorhanden){

                var input_liste_neu=new Array();

                input_liste_neu["l"+wert]=new Array();
                input_liste_neu["l"+wert]["value"]=wert;
                input_liste_neu["l"+wert]["text"]=text;


                for(k in input_liste[feld_name]){
                    if(input_liste[feld_name][k] != null){
                        input_liste_neu[k]=input_liste[feld_name][k];
                    }
                }


                input_liste[feld_name]=input_liste_neu;

            }
        }

        updateListe(feld_name);
    }

    function deleteListe(feld_name, k)
    {


        input_liste[feld_name]["l"+ k]=null;

        updateListe(feld_name);

    }

    function updateListe(feld_name){

        var input_out="";

        if(gf().elements["autocomplete_input_"+feld_name]){
            var breite=gf().elements["autocomplete_input_"+feld_name].offsetWidth;
        }else{
            var breite=gf().elements["input_"+feld_name].offsetWidth;
        }

        breite-=2;


        if(breite<1){
            input_out+="<div style=\"max-height:170px; overflow:auto;\">";
        }else{
            input_out+="<div style=\"max-height:170px; overflow:auto;width:"+(breite+20)+"px;\">";
        }



        for(k in input_liste[feld_name]){
            if(input_liste[feld_name][k] != null){
                input_out+="<div class=\"liste_style\" style=\"width:"+breite+"px;margin-top:1px;margin-bottom:1px\">\n";
                input_out+="<div style=\"float:left;margin-left:4px;margin-top:2px;margin-bottom:2px\">";
                input_out+=input_liste[feld_name][k]["text"]+"<input type=\"hidden\" name=\""+feld_name+"["+input_liste[feld_name][k]["value"]+"]\" value=\""+input_liste[feld_name][k]["text"]+"\" />";
                input_out+="</div>";
                input_out+="<div style=\"float:right;margin-top:2px;white-space:nowrap\">";
                input_out+="<a style=\"margin-left:15px;margin-right:4px\" title=\"Entfernen\" href=\"javascript:deleteListe('"+feld_name+"','"+input_liste[feld_name][k]["value"]+"')\"><img src=\""+path_root+"/mods/ajaxupload/del.gif\" border=\"0\"></a>";

                if(autocomplete_link[feld_name]!=null){
                    input_out+="<a style=\"margin-right:2px\" title=\"Anschauen\" href=\""+autocomplete_link[feld_name].replace("%list_id%",input_liste[feld_name][k]["value"])+"\"><img src=\""+path_root+"/data/mimes/filter.png\" border=\"0\"></a>";
                }

                input_out+="</div>";
                input_out+="<div class=\"clear\"></div>";
                input_out+="</div>";
            }
        }

        input_out+="</div>";
        ge("feld_"+feld_name).innerHTML=input_out;
    }


    function changeListe(feld_name){
        gf().elements["Hinzu_"+feld_name].value=document.forms["blau_form"].elements["Hinzu_"+feld_name].value.replace(";",",");
        werte=gf().elements["Hinzu_"+feld_name].value.split(",");

        var input_out="";

        for(var k=0;k<werte.length;k++){
            input_out+="<div class=\"liste_style\">"+werte[k]+"<input name=\""+feld_name+"["+k+"]\" value=\""+werte[k]+"\" /></div>";
        }


        ge("feld_"+feld_name).innerHTML=input_out;

    }

    function createDiv(div,style_text){
        if(!ge(div))
        {
           
            if(typeof gf()!="undefined"){
            	 var b = gf();
            }else{
            	 var b = document.getElementsByTagName("body")[0];
            }
            var d = document.createElement('div');

            d.setAttribute('style',style_text);
            d.setAttribute('id',div);
            //d.text = "";
            b.appendChild(d);

            if(style_text != null)
            {
                var style_teile=style_text.split(";");

                for(var k=0;k<style_teile.length;k++){
                    var tmp2=style_teile[k].split(":");
                    var bla=trim(tmp2[0]);

                    if(bla!=""){
                        d.style[bla]=trim(tmp2[1]);
                    }
                }
            }
        }
    }

    function removeDiv(div){
        try{
           if(ge(div)){
              ge(div).parentNode.removeChild(ge(div));
           }
        }catch(e){

            try{
               document.getElementsByTagName("body")[0].parentNode.removeChild(ge(div));
            }catch(e2){}
        }
    }

		function updateWindow(div, ziel){
			
			if(typeof ge(div) != "undefined"){
				
					var ziel_teile=ziel.split("?");
	
					if(ziel_teile.length > 1){
						getAjax(div+'_inhalt', ziel+ "&window=1&no_css=1", '');			
					}else{
						getAjax(div+'_inhalt', ziel+ "?window=1&no_css=1", '');			
					}
								
			}else{
				alert("Window "+div+" existiert nicht");
			}
			
		}

    function createWindow(div,ziel,titel,parameter,widthe,heighte,tope,lefte){
        if(parameter==null)  {
            parameter=true;
        }
        


        if(tope==null)  {
            tope=150;
        }
        if(lefte==null) {
            lefte=150;
        }
        
        
        if(typeof document.documentElement.scrollTop != "undefined")
         {
            tope+=document.documentElement.scrollTop;
         }else{
            tope+= window.pageYOffset;
         }
         
        if(typeof document.documentElement.scrollLeft != "undefined")
        {
           lefte+= document.documentElement.scrollLeft;
         }else {
           lefte+= window.pageXOffset;
        }

        
        var style_text="";
        var style_text2="";

        if(widthe==null){
            widthe=500;
        }

        style_text+="width:"+widthe+";";



        if(heighte==null){
            heighte=500;
        }

        style_text+="height:"+heighte+";";
        style_text2="height:"+(parseInt(heighte)-22)+"px";



        style_text+="position:absolute; top:"+tope+"px; overflow:hidden; border-width: 1px;border-style:solid;padding:0px;margin:0px; background:white;left:"+lefte+"px;";



        createDiv(div,style_text);

        ge(div).innerHTML="<div style='cursor: move; height: 20px; line-height: 20px; padding-left: 10px; background-color: #444;  color: #fff; font-weight: bold;' id='"+div+"_titel'><div style='float:left;'>"+titel+"</div><div style='float:right; margin: 2px 2px 0 0;'><a href=\"javascript:void(0)\" onclick=\"removeDiv('"+div+"')\"><img src='"+path_root+"/data/icons/close.gif' alt='X' /></a></div><div style='clear:both;'></div></div>";

        ge(div).innerHTML+="<div id='"+div+"_inhalt' style='border-width: 0px;overflow:auto;width:100%;"+style_text2+"' class='window_text'></div>";

        var teile=ziel.split("?");

        if(teile.length>1)
        {
            ziel+="&window=1"
        }else{
            ziel+="?window=1";
        }


        if(titel != null) {
        	ziel+="&titel_window="+encodeURIComponent(titel);
        }

        setDHTML(div,div+"_titel");
        getAjax(div+"_inhalt",ziel,null,null,parameter);
    }

    var eval_versuche=new Array();


    function evalJs(js,versuche,takt,i)
    {

        if(i==null)
        {
            i=eval_versuche.length;
            eval_versuche[i]=0;
        }else{
            js=unescape(js);
        }

        if(versuche==null)
        {
            versuche=500;
        }

        if(takt==null)
        {
            takt=100;
        }

        try{
            eval(js);
        }catch(e1){
            eval_versuche[i]++;
            if(eval_versuche[i]==versuche)
            {
            }else{
                window.setTimeout("evalJs('"+escape(js)+"',"+versuche+","+takt+","+i+")",takt)
            }
        }
    }


    var form_select_values = new Object();
    var form_select_types = new Object();
    var form_select_text = new Object();
    function showSelectBox(name){
        var div = ge('select_box_'+name);
        if(div.style.display == 'block'){
            div.style.display = 'none';
            ge('show_select_box_'+name).src = 'http://maklerinfo.biz/neu/css/img/area_clip.png';
        }
        else{
            div.style.display = 'block';
            ge('show_select_box_'+name).src = 'http://maklerinfo.biz/neu/css/img/area_clip2.png';
        }
    }
    function selectSelectBoxItem(val, text, name, check, from_input){
        var title = "";
        var length = form_select_values[name].length;
        var hiddens = "";
        if(form_select_types[name] == 'radio'){
            ge('slc_'+name+'_'+val).checked = true;
            hiddens = '<input type=\"hidden\" name=\"'+name+'\" value=\"'+val+'\">';
            title = text;

        }
        else{
            if(!from_input){
                if(document.blau_form.elements[check].checked == true){
                    document.blau_form.elements[check].checked = false;
                }
                else{
                    document.blau_form.elements[check].checked = true;
                }
            }
            for(var i=0; i<length; i++){
                box = 'slc_'+name+'_'+form_select_values[name][i];

                if(ge(box).checked == true && ge(box).name != 'slc_'+name+'empty'){
                    hiddens += '<input type=\"hidden\" name=\"'+name+'['+val+']\\\" value=\"'+form_select_values[name][i]+'\">';

                    if(title != ""){
                        title += '&nbsp;-&nbsp;';
                    }
                    title += form_select_text[name][i];
                }

            }
            if(title == ""){
                title = form_select_text[name][0];
            }

        }
        ge('hiddens_'+name).innerHTML = hiddens;
        ge('selected_item_'+name).innerHTML = title;
    //select_box(name);

    }



    function Mailer(toemail, fromemail, fromname, betreff)
    {
        if(toemail == undefined) toemail='';
        if(fromemail == undefined) fromemail='';
        if(fromname == undefined) fromname='';
        if(betreff == undefined) betreff='';
        window.open('http://www.maklerinfo.biz/neu/mods/mailer/?toemail='+escape(toemail)+'&fromemail='+escape(fromemail)+'&fromname='+escape(fromname)+'&betreff='+escape(betreff), 'Mailer', 'width=350,height=500,dependent=yes,location=no,menubar=no,resizable=no,scrollbars=no,status=no,toolbar=no,left='+((screen.availWidth-350)/2)+',top='+((screen.availHeight-450)/2));
    }

    function openToolBox(titel, div_id)
    {

        if(div_id==null){
            div_id="toolBox";
        }

        var style_outer ='';
        var style_inner_title ='';
        var style_inner_x ='';

        var c_x = x;
        var c_y = y;

        if ( window.outerWidth < (c_x + 350) )
        {
            c_x = window.outerWidth - 350 - 50;
        }

        if(ge(div_id))
        {
            removeDiv(div_id);
        }

        //aeussere div
        style_outer += 'top: '+c_y+'px;';
        style_outer += 'left: '+c_x+'px;';
        style_outer += 'width: 300px;';
        style_outer += 'height: 75px;';
        style_outer += 'z-index: 500;';
        style_outer += 'position: absolute;';
        style_outer += 'border:1px solid #000000;';
        style_outer += 'background: #FFFFFF;';
        createDiv(div_id,style_outer);

        //innere div
        var inhalt = ''
        inhalt += "<div id='"+div_id+"_title' style='position: absolute; left: 0px'>"+titel+"</div>";
        inhalt += "<div id='"+div_id+"_X' style='position: absolute; right: 0px; border: 1px solid #000000;' onClick=\"removeDiv('"+div_id+"');\">X</div>";
        ge(div_id).innerHTML = inhalt;

        return div_id;
    }

    function closeToolBox(id)
    {
        removeDiv(id);
    }

    function checkDisplay(ebene){
        var l=0;
        while(true)
        {
            l++;
            if(ebene.style)
            {
                if(ebene.style.display=="none" || ebene.style.visibility=="hidden"){
                    return false;
                    break;
                }


                if(ebene.parentNode.style){
                    ebene=ebene.parentNode;

                }else{
                    return true;
                }
            }else{
                return true;
            }
            if(l>50){
                return true;
            }
        }
    }

    function getBrowser(){
        var reg;
        browser = new Object;
        browser.name = navigator.appName;
        if (browser.name=="Microsoft Internet Explorer"){
            browser.short_name="IE";
            reg=/.*MSIE ([.\d]+?);.*/;
            reg.exec(navigator.userAgent);
            browser.version=Number(RegExp.$1);
        }else if (browser.name=="Netscape"){
            reg=/(Firefox|Chrome)[\/\s]([.\d]*)/;
            reg.exec(navigator.userAgent);
            if (RegExp.$1!=""){
                browser.name=RegExp.$1;
                reg=/([\d]*.[\d]*).([\d]*)/;
                reg.exec(RegExp.$2);
                browser.version=Number(RegExp.$1+RegExp.$2);
            }

            if (browser.name=="Firefox"){
                browser.short_name="FF";
            }else if (browser.name=="Chrome"){
                browser.short_name="CH";
            }else{
                reg=/([.\d]*?).*/;
                reg.exec(navigator.userAgent);
                browser.version=Number(RegExp.$1);
                browser.short_name="NS";
            }
        }else if (browser.name=="Opera"){
            browser.short_name="OP";
            reg=/Opera[\/\s]([.\d]*) /;
            reg.exec(navigator.userAgent);
            browser.version=Number(RegExp.$1);
        }
        return browser;
    }




    function showFlash(path, width, height, titel){

        if(titel==null){
            titel="";
        }

        height=parseInt(height);
        height+=25;


        if(window.encodeURIComponent){
            titel=encodeURIComponent(titel);
        }

        getAjax("bildschirm",root+"/mods/static/flash.php5?Page_css_disabled=1&flash_titel="+(titel)+"&flash_path="+path+"&flash_width="+width+"&flash_height="+height,null,null,null,null,null,null,width,height);
    }



    function json_encode (mixed_val) {
        var json = this.window.JSON;
        if (typeof json === 'object' && typeof json.stringify === 'function') {
            return json.stringify(mixed_val);
        }

        var value = mixed_val;

        var quote = function (string) {
            var escapable = /[\\\"\u0000-\u001f\u007f-\u009f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g;
            var meta = {    // table of character substitutions
                '\b': '\\b',
                '\t': '\\t',
                '\n': '\\n',
                '\f': '\\f',
                '\r': '\\r',
                '"' : '\\"',
                '\\': '\\\\'
            };

            escapable.lastIndex = 0;
            return escapable.test(string) ?
            '"' + string.replace(escapable, function (a) {
                var c = meta[a];
                return typeof c === 'string' ? c :
                '\\u' + ('0000' + a.charCodeAt(0).toString(16)).slice(-4);
            }) + '"' :
            '"' + string + '"';
        };

        var str = function (key, holder) {
            var gap = '';
            var indent = '    ';
            var i = 0;          // The loop counter.
            var k = '';          // The member key.
            var v = '';          // The member value.
            var length = 0;
            var mind = gap;
            var partial = [];
            var value = holder[key];

            // If the value has a toJSON method, call it to obtain a replacement value.
            if (value && typeof value === 'object' &&
                typeof value.toJSON === 'function') {
                value = value.toJSON(key);
            }

            // What happens next depends on the value's type.
            switch (typeof value) {
                case 'string':
                    return quote(value);

                case 'number':
                    // JSON numbers must be finite. Encode non-finite numbers as null.
                    return isFinite(value) ? String(value) : 'null';

                case 'boolean':
                case 'null':
                    // If the value is a boolean or null, convert it to a string. Note:
                    // typeof null does not produce 'null'. The case is included here in
                    // the remote chance that this gets fixed someday.

                    return String(value);

                case 'object':
                    // If the type is 'object', we might be dealing with an object or an array or
                    // null.
                    // Due to a specification blunder in ECMAScript, typeof null is 'object',
                    // so watch out for that case.
                    if (!value) {
                        return 'null';
                    }

                    // Make an array to hold the partial results of stringifying this object value.
                    gap += indent;
                    partial = [];

                    // Is the value an array?
                    if (Object.prototype.toString.apply(value) === '[object Array]') {
                        // The value is an array. Stringify every element. Use null as a placeholder
                        // for non-JSON values.

                        length = value.length;
                        for (i = 0; i < length; i += 1) {
                            partial[i] = str(i, value) || 'null';
                        }

                        // Join all of the elements together, separated with commas, and wrap them in
                        // brackets.
                        v = partial.length === 0 ? '[]' :
                        gap ? '[\n' + gap +
                        partial.join(',\n' + gap) + '\n' +
                        mind + ']' :
                        '[' + partial.join(',') + ']';
                        gap = mind;
                        return v;
                    }

                    // Iterate through all of the keys in the object.
                    for (k in value) {
                        if (Object.hasOwnProperty.call(value, k)) {
                            v = str(k, value);
                            if (v) {
                                partial.push(quote(k) + (gap ? ': ' : ':') + v);
                            }
                        }
                    }

                    // Join all of the member texts together, separated with commas,
                    // and wrap them in braces.
                    v = partial.length === 0 ? '{}' :
                    gap ? '{\n' + gap + partial.join(',\n' + gap) + '\n' +
                    mind + '}' : '{' + partial.join(',') + '}';
                    gap = mind;
                    return v;
            }
            
            return null;
        };

        // Make a fake root object containing our value under the key of ''.
        // Return the result of stringifying the value.
        return str('', {
            '': value
        });
    }

    /** Verschiebbare Tabellen */
    var table_drag=false;
    var table_drag_td=new Array();
    var table_drag_tr;
    var x_diff=11;
    var min_width=20;
    //var x_diff=2;

    var x_zuvor;
    var differenz;
    var table_ticker;
    var table_ticker_ok;
    var table_save_js=null;


    function changeTableWidth(){

        var no_change=false;
        var durchlauf=1;
        // Erste Initialisierung
        if(x_zuvor!=null){

            if(table_ticker_ok)
            {
                table_ticker_ok=false;
                differenz = x-x_zuvor;
                var b=0;

                for(var l=0;l<table_drag_td.length;l++){

                    if(table_drag_td[l]["aktiv"]==true){

                        durchlauf++;

                        if(b==0){
                            b=1;
                            var diff=0;
                        }else{
                            b=-1;
                            var diff=-1;
                        }


                        // Gucken, ob eines der Spalten 0 erreicht
                        if(((table_drag_td[l+diff]["width"]+(b*differenz/1))<15 || ((table_drag_td[l+1+diff]["width"]+(b*-1*differenz/1))<15 && (durchlauf != 3 && differenz > 0 )) || no_change==true))
                        {
                            no_change=true;
                        // Tja, jetzt mal nix machen
                        }else{
                            table_drag_tr.childNodes[table_drag_td[l]["index"]].style.width=(table_drag_td[l]["width"]+(b*differenz/1))+"px";
                            table_drag_td[l]["width"]=table_drag_td[l]["width"]+(b*differenz/1);
                        }
                    }else{
                        b=0;
                    }
                }

                x_zuvor=x;
            }else{
        }

        } else{
            x_zuvor=x;
        }
    }

    function startTableTicker(){
        table_ticker_ok=true;
        table_ticker=window.setTimeout("startTableTicker()",30);
    }



    function startTableDrag(td, js){
        //	var table_drag_width=td.parentNode.parentNode.parentNode.offsetWidth;
        var pcl=td.parentNode.childNodes.length;
        table_save_js=js;
        // Thx an Fabian, funktioniert 1a
        document.onmousedown=function() {
            return false;
        }; //Text markieren abschalten

        //Text Markierung aufheben
        if (window.getSelection) { //IE
            var s = window.getSelection();
            s.removeAllRanges();
        } else if (document.getSelection) { //IE
            var s = document.getSelection();
            s.removeAllRanges();
        } else if (document.selection) { //FF
            document.selection.empty();
        }

        document.getElementsByTagName("body")[0].style.cursor="e-resize";


        var tr_length=td.parentNode.parentNode.childNodes.length;
        var head_gefunden=false;
        var head_set=false;

        // Erste Zeile herausfinden
        for(var k=0;k < tr_length;k++){
            for(var j=0; j < td.parentNode.parentNode.childNodes[k].childNodes.length; j++){
                if(head_gefunden==false && (td.parentNode.parentNode.childNodes[k].childNodes[j].getAttribute("colspan")==null || td.parentNode.parentNode.childNodes[k].childNodes[j].getAttribute("colspan")==1)){
                    head_set=true;
                }
            }

            if(head_set){
                table_drag_tr=td.parentNode.parentNode.childNodes[k];
                break;
            }
        }

        var aktiv=false;

        table_drag_td=new Array();
        var tmp_td_width=new Array();
        var breiten="";

        // Bisherige Breiten ermitteln
        for(var k=0;k < pcl;k++){

            if(typeof td.parentNode.childNodes[k].tagName!="undefined"){
                if(td.parentNode.childNodes[k].tagName.toLowerCase()=="td"){

                    if(td.parentNode.childNodes[k]==td){
                        table_drag_td[i_neu]["aktiv"]=true;
                        aktiv=true;
                    }


                    if(td.parentNode.childNodes[k].getAttribute("class")!="mtd")
                    {
                        var i_neu=table_drag_td.length;

                        table_drag_td[i_neu]=new Array();


                        table_drag_td[i_neu]["index"]=k;
                        table_drag_td[i_neu]["aktiv"]=aktiv;

                        aktiv=false;

                        if(typeof table_drag_tr.childNodes[k].style.width!="undefined"){

                            if(table_drag_tr.childNodes[k].style.width!="")
                            {


                                table_drag_td[i_neu]["width"]=table_drag_tr.childNodes[k].style.width;

                                table_drag_td[i_neu]["width"]=parseInt(table_drag_td[i_neu]["width"]);

                            }else{




                                //table_drag_td[i_neu]["width"]=table_drag_tr.childNodes[k].offsetWidth-x_diff+10;
                                table_drag_td[i_neu]["width"]=getAbsoluteWidth(table_drag_tr.childNodes[k]);


                            }
                        }
                        else{
                            //table_drag_td[i_neu]["width"]=table_drag_tr.childNodes[k].offsetWidth-x_diff+10;
                            table_drag_td[i_neu]["width"]=getAbsoluteWidth(table_drag_tr.childNodes[k]);
                        }
                        tmp_td_width[k]=table_drag_td[i_neu]["width"];

                        breiten=breiten +  table_drag_td[i_neu]["width"] + "=";
                    }else{
                        td.parentNode.childNodes[k].style.width="1px";
                    }
                }
            }
        }



        // Und jetzt alle Infos über Breiten raus!!

        var tr_length=td.parentNode.parentNode.childNodes.length;
        head_gefunden=false;
        head_set=false;




        for(var k=0;k < tr_length;k++){
            for(var j=0; j < td.parentNode.parentNode.childNodes[k].childNodes.length; j++){


                if(td.parentNode.parentNode.childNodes[k].childNodes[j].tagName=="TD")
                {
                    if(td.parentNode.parentNode.childNodes[k].childNodes[j].getAttribute("class")!="mtd")
                    {
                        if(head_gefunden==false && (td.parentNode.parentNode.childNodes[k].childNodes[j].getAttribute("colspan")==null || td.parentNode.parentNode.childNodes[k].childNodes[j].getAttribute("colspan")==1)){

                            td.parentNode.parentNode.childNodes[k].childNodes[j].style.width=(tmp_td_width[j])+"px";


                            head_set=true;
                        }else{
                            td.parentNode.parentNode.childNodes[k].childNodes[j].style.width=null;
                        }
                    }
                }
            }

            head_gefunden=head_set;
        }



        table_drag=true;
        table_ticker=window.setTimeout("startTableTicker()",25);
    }

    function stopTableDrag(){
        window.clearTimeout(table_ticker);
        document.onmousedown=function() {
            mousedown=true
        }; //Text markieren abschalten
        document.getElementsByTagName("body")[0].style.cursor="";

        if(table_save_js!=null){
            eval(table_save_js);
        }
        x_zuvor=null;
        table_drag=false;

    }


    var key_down=false;
    var key_up=false;
    var key=null;
    var key_board=new Array();
    var key_alt=false;

    function updateKeyDown(event){
        key_up=false;
        key_down=true;
        if(typeof event == 'undefined') event = window.event;

        key=event.keyCode

			   if(key==18){
           key_alt=true;
           force_key=true;
        }else{
        	
        	if(typeof key_board[key] == "undefined"){
       	  	return true;
	       	}else{
	       		if(typeof key_board[key]["force"] == "undefined"){
	       			return true;
	       		}else{
	       			force_key=key_board[key]["force"];
	       		}
	       	}
        }



        if(key_alt==true || force_key==true){
        	
        		 
            if(key_board[event.keyCode]!=null){
                return eval(key_board[event.keyCode]["js"]);
                return false;
            }else{
            	 
            }
        }
        
        return true;

    }

    function updateKeyUp(event){
    	
    		if(navigator.appName=="Microsoft Internet Explorer"){
					return true;
				}
    	
        key_up=true;
        key_down=false;
        if(typeof event == 'undefined') event = window.event;

        key=event.keyCode;

		
        var force_key=false;


        if(key==18){
           key_alt=false;
           force_key=true;
        }else{
       	   if(typeof key_board[key] != "undefined"){
       	  	force_key=key_board[key]["force"];
	       	}else{
	       		return true;
	       	}
        }
        
        

        if(key_alt==true || force_key==true){
            if(key_board[event.keyCode]!=null){
                return eval(key_board[event.keyCode]["js"]);
                return false;
            }
        }
        
        return null;
    }

    document.onkeydown=updateKeyDown;
    document.onkeyup=updateKeyUp;

    function registerKey(key,js,force_key){

        var key_auto=true;
        var key_text=key;



        if(isNaN(key / 1)==false) {
            key_auto=false;
        }else{
            key_auto=true;
        }
        

        if(key_auto==true){
     
            key_text=key_text.toUpperCase()

            for(var k=0; k < key_text.length; k++){

                key=key_text.charCodeAt(k);


                if(key_board[key]===null){

                    key_board[key]=new Array();
                    key_board[key]["js"]=js;
                    
                    if(force_key==null){
                    	key_board[key]["force"]=true;
                    }else{
                    	key_board[key]["force"]=force_key;
                  	}
                    key_board[key]["key"]=convertKey2String(key_text.charCodeAt(k));
                    break;
                }
            }
        }else{
        	
        	key=key_text.charCodeAt(k);
   
        	
            key_board[key]=new Array();
            key_board[key]["js"]=js;
            
             if(typeof force_key=="undefined"){
               	key_board[key]["force"]=false;
             }else{
                 	key_board[key]["force"]=force_key;
             	}
             	
             	
             	
            key_board[key]["key"]=convertKey2String(key);
         
        }

        return key;
    }

    function unregisterKey(key){
        key_board[key]=null;
    }


    function convertKey2String(char_code){

        if(char_code > 111 &&  char_code < 124){
            return "F"+(char_code - 111);
        } else if(char_code == 27){
            return "ESC";
        } else if(char_code == 226){
            return "<";
        }else{
            return String.fromCharCode(char_code);
        }
    }
    
    function isBlauPage(){
    	if(ge("pagewidth").className=="blaupage"){
    		return true;
    	}else{
    		return false;
    	}
    }
    


