/*
 * Browser-Fix
 */
if (navigator.userAgent.match(/Firefox\/[45]/)) {
	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];
	};
};
/*
 * Browser-Fix Ende
 */
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
		};
		initGMap(mconfig);
	} else {
		Ext.MessageBox.getDialog().show();
	}
};
checkautoheight = function() {
	var elem = Ext.select('.checkautoheight');
	var maxheight = 0;
	elem.each( function(el) {
		if (maxheight < el.getHeight()) {
			maxheight = el.getHeight();
		}
	});
	elem.each( function(el) {
		el.setHeight(maxheight);
		el.dom.style.height = maxheight + "px";
		el.dom.style.visibility = 'visible';
	});
	var elem = Ext.select('.checkautoheight2');
	var maxheight = 0;
	elem.each( function(el) {
		if (maxheight < el.getHeight()) {
			maxheight = el.getHeight();
		}
	});
	elem.each( function(el) {
		el.setHeight(maxheight);
		el.dom.style.height = maxheight + "px";
		el.dom.style.visibility = 'visible';
	});
}
runOnLoad(checkautoheight);
function slide(id) {
	var dur = 3;
	var count = 1;
	var ids = [];
	var bsl = Ext.select('#' + id + ' .detpicmaxi');
	bsl.each( function(img) {
		ids.push(img.dom.id);
	});
	var startslide = 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, dur * GetRandom(500, 1100));
				}
			});
		}
	};
	if (ids.length > 0) {
		window.setTimeout(startslide, dur * GetRandom(500, 1100));
	}
}
function GetRandom(min, max) {
	if (min > max) {
		return (-1);
	}
	if (min == max) {
		return (min);
	}
	return (min + parseInt(Math.random() * (max - min + 1)));
}
/** ****************** SLIDERBOX********* */
function showinBigBox(box, el, firstrun, autostart) {
	var dur = .5;
	var box = box || 'topmeldungenlist';
	var firstrun = firstrun || false;
	var autostart = autostart || false;
	if (autostart === false && firstrun == false) {
		window.clearInterval(autoBoxTimeOut);
	}
	if (firstrun == true) {
		var squares = Ext.select(".square");
		var buttons = Ext.get("buttons");
		squares.each( function(el) {
			el.appendTo(buttons);
			el.fadeIn({
				duration :dur,
				useDisplay :true
			});
		});
	}
	var elid = 'tm' + el;
	var inh = Ext.get(elid);
	var squares = Ext.select(".square");
	squares.each( function(el) {
		el.removeClass("activesquare");
	});
	if (inh) {
		var boxel = Ext.get(box);
		if (boxel) {
			var h = boxel.getHeight();
			var sollh = 231 - 50; 
			boxel.setHeight(sollh);
			Ext.get('square' + el).addClass('activesquare');
			boxel.slideOut('l', {
				duration :dur,
				useDisplay :true,
				callback : function() {
					boxel.dom.innerHTML = inh.dom.innerHTML;
					if (Ext.isIE7 == true) {
						boxel.dom.innerText = inh.dom.innerText;
					}
					boxel.slideIn('l', {
						duration :dur,
						useDisplay :true
					});
				}
			});
			/* boxel.setHeight (sollh);*/ 
		}
	}
}
function runAutoMaticBox() {
	var square = Ext.select('.square');
	var box = 'topmeldungenlist';
	var boxel = Ext.get(box);
	var nextismine = false;
	elids = new Array();
	square.each( function(el) {
		if (el.dom.id.indexOf('square') != -1) {
			var nr = el.dom.id.split('square');
			elids.push(nr[1]);
		}
	});
	var j = 0;
	var l = elids.length;
	for (i = 0; i < l; i++) {
		j = i;
		var inh = Ext.get('tm' + elids[i]);
		j = j + 1;
		if (j >= l) {
			j = 0;
		}
		if (boxel.dom.innerHTML == inh.dom.innerHTML || (Ext.isIE7 == true && boxel.dom.innerText == inh.dom.innerText)) {
			showinBigBox('topmeldungenlist', elids[j], false, true);
			return true;
		}
	}
}
var autoBoxTimeOut;
runOnLoad( function() {
	var boxel = Ext.get('topmeldungenlist');
	if (boxel) {
		autoBoxTimeOut = window.setInterval(runAutoMaticBox, 5000);
	}
});

function openJumpBox(num) {
	var newsjumperbigbox = Ext.select('.newsjumperbigbox');
	var newsjumpersmallbox = Ext.select('.newsjumpersmallbox');
	newsjumperbigbox.each( function(el) {
		var bb = Ext.get(el);
		bb.dom.style.display = 'none';
		if (bb.dom.id == 'newsjumperbigbox' + num) {
			var bb = Ext.get(el).dom.style.display = 'block';
		}
	});
	newsjumpersmallbox.each( function(el) {
		var sb = Ext.get(el);
		sb.dom.style.display = 'block';
		if (sb.dom.id == 'newsjumpersmallbox' + num) {
			var bb = Ext.get(el).dom.style.display = 'none';
		}
	});
}
function addTeilnehmerInForm() {
	var teilnehmerblock = Ext.select('.teilnehmerblock');
	var checknext = true;
	if (teilnehmerblock) {
		teilnehmerblock.each( function(el) {
			var displayvar = el.getStyle('display');
			if (displayvar !== 'block' && checknext == true) {
				el.dom.style.display = 'block';
				checknext = false;
			}
		});
		if (checknext == true) {
			/* alert('Sie können Maximal '+teilnehmerblock.elements.length+" Teilnehmer hinzufügen."); */ 
			var mbox = msgBox('Achtung!', 'Sie können maximal ' + teilnehmerblock.elements.length + ' Teilnehmer hinzufügen', 'ok');
			
		}
	}
}

function removeTeilnehmerFromForm ( ind ){
	
	var teilnehmerblock = Ext.get('teilnehmerblock'+ind);
	if (teilnehmerblock) {
		teilnehmerblock.dom.style.display = 'none';
		var infields = teilnehmerblock.select('input'); 
		infields.each(function(el){
			el.dom.value = ''; 
		}); 
			
	}
	return false;
}

function openKatLink(link, tab) {
	var path = link.split('?')[0].replace(/[^/]*$/, '');
	setCookie('kttab', tab, false, path);
	document.location.href = link;
	return;
}


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;
}





Ext.onReady(function() {
	var box;
	var swfs = {};
	var initlink = Ext.select('.extwndowlink');
	initlink.each(function(el) {
		var lnk = el.dom;
		var conf_title = 'Weitere Informationen';
		var conf_modal = true;
		var conf_width = 740;
		var conf_height = 460;
		var conf_display_header = true;
		Ext.MessageBox.maxWidth = 800;
		lnk.onclick = function() {
			box = Ext.MessageBox.show({
				title : conf_title,
				msg : 'Lade Daten...',
				animEl : lnk,
				modal : conf_modal,
				fn : function() {
					for ( var id in swfs) {
						Ext.get(swfs[id].attributes.id).remove(); 

					}
					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(''));
					var swfHeight = 0;
					if (bd && bd[1]) {
						var txt = bd[1];
						var scripttoeval;
						swfs = {};
						txt.extractScripts().each(function(script) {
							var swfreg = /\('([^']+)',\s'([^']+)',\s'([^']+)'\)/;
							var movie = script.match(swfreg);
							if (script.substring(0, 8) == "loadGMap") {
								scripttoeval = script;
							};
							if (movie) {
								var w = parseInt(movie[2]) + 50;
								var h = parseInt(movie[3]);
								swfHeight = swfHeight + h;
								var src = movie[1];
								var id = getUniqueID();
								txt += '<div id="flash' + id + '" style="text-align:center;"></div>';
								var swf = new SWFObject(basepath + '_/flash/moviePlayer.swf', "flash" + id + "obj", w || 400, h || 362, "8");
								swf.addParam('wmode', 'transparent');
								swf.addParam('allowFullScreen', 'true');
								swf.addVariable("skinSource", basepath + '_/flash/SkinUnderAllNoCaption.swf');
								swf.addVariable("streamSource", src);
								swf.addVariable("startPlay", 1);
								swf.useExpressInstall(basepath + '_/flash/expressinstall.swf');
								swfs[id] = swf;
							}
						});
						txt = '<div id="mediacnt" style="width:' + (conf_width - 30) + 'px; overflow-x:hidden;overflow-y:auto;">' + txt + '</div>';
						Ext.MessageBox.updateText(txt);
						// txt.evalScripts();
						var dlg = Ext.MessageBox.getDialog();
						dlg.center();
						var mediacnt = Ext.get('mediacnt');
						if (mediacnt) {
							mediacnt.select('.c_teaser').each(function(el) {
								el.dom.style.display = "none";
							});
						};
						if (dlg.size.height > 500) {
							mediacnt.dom.style.height = "440px";
							dlg.resizeTo(conf_width, 500);
						} else {
							dlg.resizeTo(conf_width, dlg.size.height + swfHeight);
						};
						for ( var id in swfs) {
							swfs[id].write("flash" + id);
						};
						if (typeof scripttoeval != 'undefined') {
							eval(scripttoeval);
						}
					}
				}
			});
			return (false);
		}
	});
});
