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];
	};
};

