if (navigator.userAgent.match(/Firefox\/4/)) {
	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];
	};
};

function showFullImage(url, lnk, mw, mh) {
	var conf_title = "";
	var conf_modal = true;
	var txt = '<img id="boxelem" src=\"' + url + '\" alt=\"\" style=\"border:0; vertical-align:middle;\">';
	var minwidth = parseInt(mw);
	var minheight = parseInt(mh);
	box = Ext.MessageBox.show({
		title : conf_title,
		msg : 'Lade...',
		animEl : lnk,
		width : minwidth,
		height : minheight,
		modal : conf_modal,
		fn : function() {}
	});
	Ext.MessageBox.updateText(txt);
	Ext.MessageBox.getDialog().center();
	var w = Ext.get('boxelem').getWidth();
	var h = Ext.get('boxelem').getHeight();
	if (w < minwidth) w = minwidth;
	if (h < minheight) h = minheight;
	Ext.MessageBox.getDialog().resizeTo(w + 20, h + 50);
};
function showQuickPopUpImage() {
	return;
	ccheck = getCookie('wvvpopup') == '' ? 0 : getCookie('wvvpopup');
	ccheck = parseInt(ccheck);
	ccheck = ccheck + 1;
	setCookie('wvvpopup', ccheck);
	if (ccheck % 2 == 0) {
		return false;
	}
	var conf_title = "";
	lnk = Ext.get('wvvlogo') || document.body;
	var conf_modal = false;
	url = "/__/images/popupwvv.jpg";
	mw = 442;
	mh = 600;
	var txt = '<a href="http://www.wvv.de/energie/erdgas-oekogas/meinfrankengasklima/index.html"><img id="boxelem" src=\"' + url + '\" alt=\"\" style=\"border:0; vertical-align:middle;\"></a>';
	var minwidth = parseInt(mw);
	var minheight = parseInt(mh);
	box = Ext.MessageBox.show({
		title : conf_title,
		msg : 'Lade...',
		animEl : lnk,
		width : minwidth,
		height : minheight,
		modal : conf_modal,
		fn : function() {}
	});
	Ext.MessageBox.updateText(txt);
	Ext.MessageBox.getDialog().center();
	var w = Ext.get('boxelem').getWidth();
	var h = Ext.get('boxelem').getHeight();
	if (w < minwidth) w = minwidth;
	if (h < minheight) h = minheight;
	Ext.MessageBox.getDialog().resizeTo(w + 20, h + 50);
};
function addEvent(obj, type, fn) {
	if (obj.addEventListener) {
		// Mozilla
		obj.addEventListener(type, fn, false);
	} else if (obj.attachEvent) {
		// IE
		obj["e" + type + fn] = fn;
		obj[type + fn] = function() {
			obj["e" + type + fn](window.event);
		};
		obj.attachEvent("on" + type, obj[type + fn]);
	} else {
		// Browser not supported
	}
};
function removeEvent(obj, type, fn) {
	if (obj.removeEventListener) {
		// Mozilla
		obj.removeEventListener(type, fn, false);
	} else if (obj.detachEvent) {
		// IE
		obj.detachEvent("on" + type, obj[type + fn]);
		obj[type + fn] = null;
		obj["e" + type + fn] = null;
	} else {
		// Browser not supported
	}
};
function resizeIframe(object) {
	// Get iframe object reference
	var iframe;
	if (object.type == 'load') {
		iframe = this; // Get the event's owner via this
	} else {
		iframe = object;
	};
	// Read document height
	var iframeHeight = NaN;
	try {
		iframeHeight = iframe.contentDocument.height; // Mozilla style...
	} catch (e) {};
	if (isNaN(iframeHeight)) {
		try {
			iframeHeight = iframe.contentWindow.document.body.scrollHeight; // IE style (Fallback)
		} catch (e) {}
	};
	// Set iframe height
	var additionalOffset = 25; // May be useful to suppress vertical scrollbar...
	if (!isNaN(iframeHeight)) {
		iframe.height = iframeHeight + additionalOffset;
	}
};
var rIframe = function(id) {
	var ifr = Ext.getDom(id);
	if (ifr) {
		addEvent(ifr, 'load', resizeIframe);
		resizeIframe(ifr); // initialer Aufruf
	}
}
