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

var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
document.write('<script type="text/javascript" src="/_/scripts/extensions/lightbox.js"></script>');
var showSearchForm = function(lnk) {
	var sf = Ext.getDom('search');
	if (sf) {
		Ext.MessageBox.show({
			title : translate('Suche'),
			msg : sf.innerHTML,
			buttons : buttons = {
				cancel : translate('Abbrechen')
			},
			modal : true,
			progress : false,
			closable : true,
			width : 160,
			animEl : lnk,
			fn : function(btn) {
				if (btn == 'cancel') {
					return;
				};
			}
		});
	}
};
var showLoginBox = function(lnk) {
	var sf = Ext.getDom('login');
	if (sf) {
		Ext.MessageBox.show({
			title : translate('Anmeldung'),
			msg : sf.innerHTML,
			buttons : buttons = {
				cancel : translate('Abbrechen')
			},
			modal : true,
			progress : false,
			closable : true,
			width : 200,
			animEl : lnk,
			fn : function(btn) {
				if (btn == 'cancel') {
					return;
				};
			}
		});
	}
};
var showMailForm = function(el) {
	if (Ext.get(el).isVisible()) {
		Ext.get(el).slideOut('t', {
			useDisplay : true
		});
	} else {
		Ext.get(el).slideIn();
	};
};
runOnLoad(function() {
	Ext.ux.Lightbox.overlayOpacity = 0.35;
	Ext.ux.Lightbox.register('a.lightbox', true);
	setblocks();
	Ext.select('div[class=ressortheader]').each(function(rh) {
		rh.on('click', function(e, r) {
			var block = Ext.get('block' + r.id);
			if (block) {
				if (!block.isDisplayed()) {
					block.fadeIn();
					setCookie('block' + r.id, 'block');
					Ext.get(r).removeClass('closed');
				} else {
					block.slideOut('t', {
						duration : 1,
						useDisplay : true
					});
					setCookie('block' + r.id, 'none');
					Ext.get(r).addClass('closed');
				}
			}
		});
	});
	Ext.select('div[id^=werbung]').each(function(el) {
		if (el.dom.childNodes.length == 0) {
			el.setDisplayed(false);
		}
	});
});
var showInformation = function() {
	Ext.MessageBox.show({
		title : 'Information',
		msg : '<center><h1>Dieses Feature ist in Bearbeitung.<br>Bitte haben Sie ein wenig Geduld.</h1><br><h1 style="color:#000000;">This feature is in progress.<br>Please be patient.</h1></center>',
		buttons : buttons = {
			cancel : 'Abbrechen | Cancel'
		},
		modal : true,
		progress : false,
		closable : true,
		width : 400
	});
	return (false);
}
/** ***** DAS IST VOM CSTLLHT *** */
document.write('<link rel="stylesheet" type="text/css" href="/_/styles/lightbox.css">');
runOnLoad(function() {
	g = Ext.select(".galleryline");
	g.each(function(el) {
		el.fadeIn();
	});
	Ext.ux.Lightbox.labelImage = 'Bild';
	Ext.ux.Lightbox.labelOf = 'von';
	Ext.ux.Lightbox.register('.lightbox2', true);
});
function slidekopfbilder(id) {
	var dur = 3;
	var count = 1;
	var ids = [];
	var bsl = Ext.select('.bildwechsler');
	bsl.each(function(img) {
		ids.push(img.dom.id);
	});
	var startslide_slidekopfbilder = function() {
		var pic = Ext.get(ids[count]);
		if (pic) {
			pic.fadeIn({
				duration : dur,
				callback : function() {
					count++;
					if (count == ids.length) {
						count = 1;
						bsl.setDisplayed(false);
						bsl.first().setDisplayed(true);
					};
					window.setTimeout(startslide_slidekopfbilder, dur * 1000);
				}
			});
		}
	};
	if (ids.length > 0) {
		window.setTimeout(startslide_slidekopfbilder, dur * 1000);
	}
};
var getNewsticker = function(id) {
	var url = 'index.html?_func=gcnt&_id=' + id;
	var n = Ext.get('newsticker');
	if (n) {
		n.mask('Loading...');
	};
	Ext.Ajax.request({
		url : url,
		success : function(req) {
			n.unmask();
			var data = decode(req.responseText);
			var title = Ext.getDom('newstickertitle');
			var text = Ext.getDom('newstickercontent');
			if (text && title && isObject(data)) {
				title.innerHTML = data.title;
				text.innerHTML = data.teaser +'<br>' + data.content;
			}
		}
	});
};
var chngNwsticker = function(s) {
	document.location.href = '?_ntr=' + s.value;
}
var toggleVisYP = function(el, changeImg, mode) {
	var _el = Ext.get(el);
	if (!_el) {
		return;
	};
	var showAsBlock = false;
	if (mode && (mode == 'block')) {
		showAsBlock = true;
	};
	var isDisplayed = _el.isDisplayed();
	display = (isDisplayed && !showAsBlock) ? "none" : "block";
	_el.setDisplayed(display);
	if (display == 'block') {
		var m = _el.select('iframe');
		if ((m.getCount() == 1) && m.first().dom.document && m.first().dom.document.frames[0].map && mapSpace) {
			var doc = m.first().dom.document.frames[0];
			var newZoom = 10; // doc.map.getBoundsZoomLevel(mapSpace);
			if (mapSpace[doc.name]) {
				var newCenter = mapSpace[doc.name].getCenter();
				gotoMapPosition(doc, newCenter, newZoom);
			}
		};
		var gm = _el.select('*[id^=gmap_]');
		gm.each(function(g) {
			if (gMap.configs[g.dom.id]) {
				gMap.create(gMap.configs[g.dom.id]);
			}
		});
	};
	if (changeImg) {
		_im = Ext.get(el + '_pic');
		if (_im) {
			if (isDisplayed && !showAsBlock) {
				_im.dom.src = basepath + '__/images/yoopress/arrowdown.png';
			} else {
				_im.dom.src = basepath + '__/images/yoopress/arrowup.png';
			}
		}
	}
};
var setCustomerForm = function(mode) {
	var nn = Ext.get('regForm').select('input[id$=_nachname]').first();
	var vn = Ext.get('regForm').select('input[id$=_vorname]').first();
	if (!nn || !vn) {
		return;
	};
	Ext.get(mode + 'page2').insertHtml('afterBegin', '<div class="regline spacer"><div class="qtips regdesc">&nbsp;</div><div class="reginput"></div><div class="c_cleaner_default"></div></div>');
	Ext.get(mode + 'page2').insertHtml('afterBegin', '<div class="regline"><div class="qtips regdesc reginfo" ext:width="250"  ext:qtitle="Nachname (öffentlich)*" ext:qtip="Wird im öffenlichten Profil veröffentlicht.">Nachname (öffentlich)*</div><div class="reginput" id="fakenn">' + nn.getValue() + '</div></div>');
	Ext.get(mode + 'page2').insertHtml('afterBegin', '<div class="regline"><div  ext:qtip="Wird im öffenlichten Profil veröffentlicht." ext:width="250" ext:qtitle="Vorname (öffentlich)*" class="qtips regdesc reginfo">Vorname (öffentlich)*</div><div class="reginput" id="fakevn">' + vn.getValue() + '</div></div>');
	vn.on('change', function(ev, el) {
		Ext.getDom('fakevn').innerHTML = el.value;
	});
	nn.on('change', function(ev, el) {
		Ext.getDom('fakenn').innerHTML = el.value;
	});
};
var setCustomerData = function(mode) {
	var nn = Ext.get(mode + 'page1').select('div[id$=_nachname]').first();
	var vn = Ext.get(mode + 'page1').select('div[id$=_vorname]').first();
	if (!nn || !vn) {
		return;
	};
	Ext.get(mode + 'page2').insertHtml('afterBegin', '<div class="customer_list_desc"><strong>Nachname <span style="font-weight: normal ! important;">(öffentlich)</span></strong></div><div id="vorname" class="customer_list_val">' + nn.dom.innerHTML + '&nbsp;</div>');
	Ext.get(mode + 'page2').insertHtml('afterBegin', '<div class="customer_list_desc"><strong>Vorname <span style="font-weight: normal ! important;">(öffentlich)</span></strong></div><div id="vorname" class="customer_list_val">' + vn.dom.innerHTML + '&nbsp;</div>');
};
var showNewsletter = function(id) {
	var url = 'index.html?_func=geNlPrv&_id=' + id;
	Ext.Msg.maxWidth = 1280;
	Ext.Msg.show({
		title : 'Newsletter-Archiv',
		msg : '<div style="height:600px; width:1024px;"><iframe src="' + url + '" id="nlpreview" style="height:100%; width:100%;" frameborder="0"></iframe></div>',
		buttons : Ext.Msg.OK
	});
};
