if (navigator.userAgent.match(/Firefox\/[4-9]/)) {
    runOnLoadFinish(function() {
        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);
                }
            });
        });
        cmslogin = function(f) {
            if (f.elements['username'].value.length && f.elements['password'].value.length) {
                f.elements['response'].value = MD5(f.elements['password'].value);
                f.elements['password'].value = "";
                f.elements['password'].setAttribute('valid', 'true');
                f.elements['password'].removeAttribute('required');
                return (true);
            };
            return (false);
        };
    });
};
if (navigator.userAgent.match(/MSIE\s9/)) {
    if ((typeof Range !== "undefined") && !Range.prototype.createContextualFragment) {
        Range.prototype.createContextualFragment = function(html) {
            var frag = document.createDocumentFragment(), div = document.createElement("div");
            frag.appendChild(div);
            div.outerHTML = html;
            return frag;
        };
    };
    Ext.Element.prototype.getAttributeNS = function(ns, name) {
        var d = this.dom;
        return d.getAttributeNS(ns, name) || d.getAttribute(ns + ":" + name) || d.getAttribute(name) || d[name];
    };
};
var setPosition = function() {
    Ext.get('container').setHeight(Ext.lib.Dom.getViewHeight(true) - Ext.get('foot').getHeight());
    Ext.get('leftnavi').position('absolute', 10000);
    Ext.EventManager.onWindowResize(setPosition);
};
runOnLoad(setPosition);
/*
 * document.write('<style type="text/css">body{visibility:hidden;}</style>'); runOnLoad(function() {
 * Ext.getDom(document.body).style.visibility = 'visible'; });
 */
var fs = getCookie('fs');
if (fs == '') {
    fs = 1;
};
var fc = getCookie('cl');
if (fc == '') {
    fc = 1;
};
var setSize = function(sz) {
    setCookie('fs', sz, '', '/');
    document.location.reload();
};
var setContrast = function(cl) {
    setCookie('cl', cl, '', '/');
    document.location.reload();
};
function embedmovie(src, w, h) {
    var oeTags = '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"' + 'width="' + w + '" height="' + h + '"' + 'data="/flash/' + src + '"' + 'codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab">' + '<param name="movie" value="/flash/' + src + '" />' + '<param name="loop" value="false"/>' + '<param name="menu" value="false" />' + '<param name="quality" value="high" />' + '<param name="wmode" value="transparent" />'
        + '<param name="bgcolor" value="#FFFFFF" />' + '<embed src="/flash/' + src + '" quality="high" bgcolor="#FFFFFF" wmode="transparent" width="' + w + '" height="' + h + '" name="trailer" align="" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer"></embed>' + '<\/object>';
    document.write(oeTags);
}
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);
    });
};
Ext.onReady(function() {
    var box;
    var initlink = Ext.select('.extwindowlink');
    initlink.each(function(el) {
        var lnk = el.dom;
        var conf_title = lnk.title != '' ? lnk.title : 'Weitere Informationen';
        var conf_modal = true;
        var conf_width = 740;
        var conf_height = 520;
        var conf_display_header = true;
        lnk.onclick = function() {
            box = Ext.MessageBox.show({
                title : conf_title,
                msg : '<img src=\"' + basepath + '_/scripts/ext/resources/images/default/grid/loading.gif\" alt=\"\" style=\"border:0; vertical-align:middle;\"> Loading...',
                animEl : lnk,
                modal : conf_modal,
                fn : function() {
                    Ext.MessageBox.hide();
                }
            });
            //
            if (conf_display_header == false) {
                box.getDialog().header.dom.style.display = 'none';
            }
            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];
                        txt = '<div id="blubber" style="width:' + (conf_width - 40) + 'px; overflow-x:hidden;overflow-y:auto;">' + txt + '</div>';
                        Ext.MessageBox.updateText(txt);
                        Ext.MessageBox.getDialog().center();
                        if (Ext.MessageBox.getDialog().size.height > 500) {
                            Ext.get("blubber").dom.style.height = "470px";
                            Ext.MessageBox.getDialog().resizeTo(conf_width, 500);
                        } else {
                            Ext.MessageBox.getDialog().resizeTo(conf_width, Ext.MessageBox.getDialog().size.height);
                        }
                        // Ext.MessageBox.getDialog().resizeTo(conf_width,conf_height);
                    }
                }
            });
            return (false);
        }
    });
});
// Vergiss es...
var showinfos = function(id, animel) {
    Ext.MessageBox.show({
        title : 'Weitere Informationen',
        msg : Ext.getDom(id).innerHTML,
        modal : true,
        closable : true,
        width : 400,
        buttons : Ext.MessageBox.OK,
        animEl : animel
    });
}
runOnLoad(function() {
    var box;
    var initlink = Ext.select('.extpictlink');
    initlink.each(function(el) {
        var lnk = el.dom;
        var conf_title = lnk.title != '' ? lnk.title : 'Weitere Informationen';
        var conf_modal = true;
        var conf_display_header = true;
        var conf_closeable = true;
        var xtr_width = 26;
        var xtr_height = 48;
        lnk.onclick = function() {
            /** Erst bild "holen" * */
            tmpsrc = new Image();
            tmpsrc.src = lnk.href;
            tmpsrc.onload = function() {
                box = Ext.MessageBox.show({
                    title : conf_title,
                    msg : '<img src=\"' + basepath + '_/scripts/ext/resources/images/default/grid/loading.gif\" alt=\"\" style=\"border:0; vertical-align:middle;\"> Loading...',
                    animEl : lnk,
                    modal : conf_modal,
                    fn : function() {
                        Ext.MessageBox.hide();
                    }
                });
                if (conf_display_header == false) {
                    box.getDialog().header.dom.style.display = 'none';
                }
                var url = lnk.href;
                Ext.MessageBox.updateText('<div style="text-align:center;"><img src="' + url + '" border="0" /></div>');
                Ext.MessageBox.getDialog().center();
                Ext.MessageBox.getDialog().resizeTo(tmpsrc.width + xtr_width, tmpsrc.height + xtr_height);
            }
            return (false);
        }
    });
});
