runOnLoadFinish(function() {
    var adbetweenmenu = Ext.get('adbetweenmenu');
    var werbebloeckelinks = Ext.get('werbebloeckelinks');
    if (adbetweenmenu && werbebloeckelinks) {
        werbebloeckelinks.appendTo(adbetweenmenu);
        werbebloeckelinks.dom.style.display = 'block';
    };
    if (navigator.userAgent.match(/Firefox\/[45]/)) {
        Ext.select('form').each(function(f) {
            foreach(f.dom.elements, function(el) {
                var pattern = el.getAttribute ? el.getAttribute('pattern') : null, reg = '.*';
                if (pattern) {
                    reg = '.*';
                    switch (pattern) {
                        case "pass" :
                            reg = '^.{7,}$';
                            break;
                        case "text" :
                            reg = '^[a-zA-Z0-9äöü&szlig;]+$';
                            break;
                        case "int" :
                            reg = '^[0-9]+$';
                            break;
                        case "lt" :
                            reg = '^[0-9]+$';
                            break;
                        case "gt" :
                            reg = '^[0-9]+$';
                            break;
                        case "plz" :
                            reg = '\b((?:0[1-46-9]\d{3})|(?:[1-357-9]\d{4})|(?:[4][0-24-9]\d{3})|(?:[6][013-9]\d{3}))\b';
                            break;
                        case "mail" :
                            reg = '[\w-]+(?:\.[\w-]+)*@(?:[\w-]+\.)+[a-zA-Z]{2,7}\b';
                            break;
                        case "date" :
                            reg = '\b(((0?[1-9]|[12][0-9])\.(0?[1-9]|1[0-2])\.)|(30\.((0?[13-9])|(1[0-2]))\.)|(31\.(0?[13578]|1[02])\.))(\d{2}|(19|20)\d{2})\b';
                            break;
                        case "alldates" :
                            reg = '^\b((((0?[1-9]|[12][0-9])\.(0?[1-9]|1[0-2])\.)|(30\.((0?[13-9])|(1[0-2]))\.)|(31\.(0?[13578]|1[02])\.))(\d{2}|(19|20)\d{2}))|((0?[1-9]|1[0-2])\.((19|20)\d{2}|\d{2}))\b';
                            break;
                        case "time" :
                            reg = '\b([01][0-9]|2[0-3]):[0-5][0-9]\b';
                            break;
                    };
                    el.setAttribute('pattern', reg);
                }
            });
        });
    };
});
runOnLoad(function() {
    var werb1 = Ext.get('pewl1');
    var oPos1 = Ext.get('wl1');
    if (werb1 && oPos1) {
        oPos1.dom.innerHTML = werb1.dom.innerHTML;
        werb1.remove();
    }
    var werb2 = Ext.get('pewl2');
    var oPos2 = Ext.get('wl2');
    if (werb2 && oPos2) {
        oPos2.dom.innerHTML = werb2.dom.innerHTML;
        werb2.remove();
    }
    var werb4 = Ext.get('pewl4');
    var oPos4 = Ext.get('wl4');
    if (werb4 && oPos4) {
        oPos4.dom.innerHTML = werb4.dom.innerHTML;
        werb4.remove();
    }
    var werb5 = Ext.get('pewl5');
    var oPos5 = Ext.get('wl5');
    if (werb5 && oPos5) {
        oPos5.dom.innerHTML = werb5.dom.innerHTML;
        werb5.remove();
    }
    var links = Ext.select('a[class^=inhalt] ', true);
    if (links) {
        links.each(function(el) {
            var lnk = el.dom;
            lnk.onclick = function() {
                var box = Ext.MessageBox.show({
                    title : '',
                    msg : '<img src=\"' + basepath + '_/scripts/ext/resources/images/default/grid/loading.gif\" alt=\"\" style=\"border:0; vertical-align:middle;\"> Loading...',
                    // buttons: Ext.MessageBox.OK,
                    animEl : el,
                    width : 616,
                    height : 610,
                    modal : true,
                    fn : function() {
                        Ext.MessageBox.hide();
                    }
                });
                Ext.Msg.getDialog().body.addClass('printdiv');
                var url = lnk.href;
                Ext.Ajax.request({
                    url : url,
                    success : function(req) {
                        var treg = /<!--\sINHALT\s-->(.+)<!--\sINHALT\s-->/gi;
                        var bd = treg.exec(req.responseText.split(/\n/).join(''));
                        if (bd && bd[1]) {
                            var txt = bd[1];
                            var dlg = box.getDialog();
                            box.updateText('<div style=\"width:576px; height:560px; overflow:auto;\">' + txt + '</div>');
                            dlg.resizeTo(616, 610);
                        }
                    }
                });
                return (false);
            }
        });
    };
    var trgib = Ext.get('treegib0');
    if (trgib) {
        trgib.select('option').each(function(o) {
            if (o.dom.value == '14320' || o.dom.value == '14321') {
                o.dom.value = '';
                if (o.dom.selected && !trgib.hasClass('invalid')) {
                    trgib.addClass('invalid');
                }
            }
        });
    };
});
runOnLoadFinish(function() {
    var sofort = Ext.select('input[id^=sofortverfuegbar]').first();
    var freiab = Ext.select('input[name=freiab]').first();
    if (sofort && sofort.up('tr').isVisible()) {
        if (sofort.dom.checked) {
            freiab.dom.setAttribute('validate', false);
            freiab.dom.removeAttribute('required');
        } else {
            freiab.dom.setAttribute('validate', true);
            freiab.dom.setAttribute('required', true);
        };
        sofort.on('click', function(e, el) {
            if (!el.checked) {
                freiab.dom.setAttribute('validate', true);
                freiab.dom.setAttribute('required', true);
            } else {
                freiab.dom.setAttribute('validate', false);
                freiab.dom.removeAttribute('required');
                freiab.removeClass('invalid');
            }
        });
    };
    var sofort2 = Ext.select('input[id^=sofortgesucht]').first();
    var gesuchtab = Ext.select('input[name=gesuchtab]').first();
    if (sofort2 && sofort2.up('tr').isVisible()) {
        if (sofort2.dom.checked) {
            gesuchtab.dom.setAttribute('validate', false);
            gesuchtab.dom.removeAttribute('required');
        } else {
            gesuchtab.dom.setAttribute('validate', true);
            gesuchtab.dom.setAttribute('required', true);
        };
        sofort2.on('click', function(e, el) {
            if (!el.checked) {
                gesuchtab.dom.setAttribute('validate', true);
                gesuchtab.dom.setAttribute('required', true);
            } else {
                gesuchtab.dom.setAttribute('validate', false);
                gesuchtab.dom.removeAttribute('required');
                gesuchtab.removeClass('invalid');
            }
        });
    };
});
var showAdressMap = function(id) {
    var map = Ext.get(id);
    if (!map) {
        var html = '<div id="' + id + '" style="height:500px; width:500px;" class="gmapmaps"></div>';
        Ext.MessageBox.show({
            title : 'Karte',
            msg : html,
            modal : false
        });
        var mconfig = {
            id : id,
            autozoom : true
        };
        initGMap(mconfig);
    } else {
        Ext.MessageBox.getDialog().show();
    }
};
if (typeof gotoMapPosition != 'undefined') {
    gotoMapPosition = gotoMapPosition.createInterceptor(function(doc, c, z) {
        if (doc.name == 'gmap_10' && z >= 1) {
            z--;
        };
        doc.map.setCenter(c, z);
        return (false);
    });
};
setContentBE = function() {
    var t = Ext.get('tab');
    if (t) {
        var els = Ext.get('fieldsbetreuungsart');
        if (els) {
            var i = els.select('img');
            var c = i.getCount();
            var n = 0;
            i.each(function(e) {
                if (e.dom.src.match(/no\.gif/)) {
                    e.dom.parentNode.style.display = 'none';
                    n++;
                }
            });
            if (n == c) {
                els.dom.style.display = 'none';
            }
        }
    }
}
function openFAQ(id) {
    var faqid = 'faq' + id;
    var linkid = 'faqlink' + id;
    var elems = Ext.select('.faqdisplays');
    Ext.select('.c_titlemi').each(function(ele) {
        if (Ext.get(faqid).dom.style.display == 'none') ele.dom.className = 'c_titlenomi';
    });
    if (elems) {
        elems.each(function(el) {
            if (el.dom.id == faqid) {
                if (el.dom.style.display == 'none') {
                    Ext.get(linkid).dom.className = 'c_titlemi';
                    el.fadeIn({
                        easing : 'easeOut',
                        duration : 1,
                        useDisplay : true
                    });
                } else if (el.dom.style.display == 'block') {
                    el.fadeOut({
                        easing : 'easeOut',
                        duration : 0.5,
                        useDisplay : true
                    });
                    el.dom.style.display = "none";
                    Ext.get(linkid).dom.className = 'c_titlenomi';
                } else {
                    Ext.get(linkid).dom.className = 'c_titlemi';
                    el.fadeIn({
                        easing : 'easeOut',
                        duration : 1,
                        useDisplay : true
                    });
                }
            } else {
                /* el.dom.style.display ="none"; */
            }
        });
        var showmyPrintButton = false;
        elems.each(function(el) {
            if (el.dom.style.display == 'block') {
                showmyPrintButton = true;
            }
        });
        var simply_printlink = Ext.select('.simply_printlink');
        if (simply_printlink) {
            simply_printlink.each(function(el) {
                if (showmyPrintButton == true) {
                    el.dom.style.display = "block";
                } else {
                    el.dom.style.display = "none";
                }
            });
        }
    }
};
function submitenter(myfield, e) {
    var keycode;
    if (window.event) {
        keycode = window.event.keyCode;
    } else if (e) {
        keycode = e.which;
    } else {
        return true;
    };
    if (keycode == 13) {
        myfield.form.submit();
        return false;
    } else {
        return true;
    }
};
var convertSelectBoxStreets = function(el) {
    var config = {
        el : el
    };
    var el = config.el;
    var width = config.width || 204;
    var forceSelection = config.forceSelection || true;
    var typeAhead = config.typeAhead || false;
    var displayField = config.displayField || 'text';
    var triggerAction = config.triggerAction || 'all';
    var valueField = config.valueField || 'value';
    var standardFunctionOnSelect = config.onSelect || function(el) {
        if (el.el.dom.form.name && el.el.dom.form.name != '' && cmsForms[el.el.dom.form.name]) {
            var doSubmit = (cmsForms[el.el.dom.form.name] && cmsForms[el.el.dom.form.name].fireEvent("submit"));
            if (doSubmit) {
                el.el.dom.form.submit();
            }
        } else {
            el.el.dom.form.submit();
        }
    };
    var fld = Ext.get(el), converted = null;
    if (fld) {
        if (Ext.form.ComboBox) {
            var d = [];
            for ( var z = 0; z < fld.dom.options.length; z++) {
                d.push([
                    fld.dom.options[z].value, fld.dom.options[z].innerHTML, fld.dom.options[z].id.replace(/str_/, '')
                ])
            };
            var store = new Ext.data.SimpleStore({
                'id' : 'strt',
                fields : [
                    'value', 'text', 'id'
                ],
                data : d
            });
            var converted = new Ext.form.ComboBox({
                typeAhead : typeAhead,
                triggerAction : triggerAction,
                transform : fld,
                width : width,
                forceSelection : forceSelection,
                displayField : displayField,
                valueField : valueField,
                store : store
            });
            converted.findRecord = function(prop, value) {
                var record;
                if (this.store.getCount() > 0) {
                    this.store.each(function(r) {
                        if (r.data[prop] == value) {
                            if (crecord && r.data.text == crecord.data.text) {
                                record = r;
                                return false;
                            } else if (!crecord) {
                                record = r;
                                return false;
                            }
                        }
                    });
                }
                return record;
            }.createDelegate(converted);
            converted.show();
            converted.on('select', standardFunctionOnSelect);
        } else if (Ext.form.Select) {
            var converted = new Ext.form.Select({
                contentEl : el,
                width : width,
                displayField : displayField,
                valueField : valueField
            });
        }
    };
    return (converted);
};
var crecord;
var abfallDropdowns = function(el, r, i) {
    switch (this) {
        case adr :
            str.clearValue();
            str.store.clearFilter(true);
            str.reset();
            var v = r.data.value;
            if (!isEmpty(v)) {
                str.store.filter('value', v);
            } else {
                str.store.fireEvent("datachanged", str.store);
            }
            break;
        case str :
            adr.setValue(r.data.value);
            crecord = r;
            break;
    };
    return (true);
};
var garbageReminder = function(frm) {
    var tr = Ext.getDom('gremd');
    if (!isEmpty(str.getValue())) {
        if (tr) {
            tr.style.display = '';
        }
    } else {
        if (tr) {
            tr.style.display = 'none';
        }
    }
};
var showGarbReminder = function() {
    var frm = Ext.getDom('mviewfrm');
    if (frm) {
        if (!isEmpty(str.getValue()) && crecord) {
            Ext.QuickTips.disable();
            var id = crecord.data.id;
            var url = trfilename + '?_func=grbShRemnd&_stRmID=' + id;
            Ext.Ajax.request({
                url : url,
                success : function(req) {
                    msgBox(translate('Erinnerung'), req.responseText, 'okcancel', setGarbReminder);
                }
            });
        }
    }
};
var setGarbReminder = function(btn) {
    if (btn == 'ok') {
        var f = new Ext.form.BasicForm('reminder');
        var v = f.getValues();
        var url = trfilename + '?_func=grbStRemnd';
        Ext.Ajax.request({
            url : url,
            method : 'post',
            params : v,
            success : function(req) {
                var r = decode(req.responseText);
                if (r && !r.error) {
                    msgBox(translate('Erinnerung'), translate('Erinnerung wurde hinzugef&uuml;gt.'), 'ok');
                };
                if (r.error && r.errortext) {
                    msgBox(translate('Information'), translate(r.errortext), 'ok');
                }
            }
        });
    };
    Ext.QuickTips.enable();
};
