var content_breite = 0;
var content_hoehe = 0;
var hoehe_center = 0;

var preloads = new Array();
var aktchar = '';

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImgRestore() { //v3.0
  var i, x, a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; 
  document.MM_sr=new Array; 
  for(i=0;i<(a.length-2);i+=3)
  if ((x=MM_findObj(a[i]))!=null){
  	document.MM_sr[j++]=x; 
	if (!x.oSrc) x.oSrc=x.src; 
	x.src=a[i+2];
  }
}

function MM_validateForm() { //v4.0
  var i,p,q,nm,test,num,min,max,errors='',args=MM_validateForm.arguments;
  for (i=0; i<(args.length-2); i+=3) { test=args[i+2]; val=MM_findObj(args[i]);
    if (val) { if (args[i+1] != "") { nm=args[i+1]; } else { nm=val.name; } if ((val=val.value)!="") {
      if (test.indexOf('isEmail')!=-1) { p=val.indexOf('@');
        if (p<1 || p==(val.length-1)) errors+='- '+nm+' muss eine echte E-Mail-Adresse sein.\n';
      } else if (test!='R') { num = parseFloat(val);
        if (isNaN(val)) errors+='- '+nm+' muss eine Zahl sein.\n';
        if (test.indexOf('inRange') != -1) { p=test.indexOf(':');
          min=test.substring(8,p); max=test.substring(p+1);
          if (num<min || max<num) errors+='- '+nm+' muss eine Zahl zwischen '+min+' und '+max+' sein.\n';
    } } } else if (test.charAt(0) == 'R') errors += '- '+nm+' ist erforderlich.\n'; }
  }
  document.MM_returnValue = errors;
}

function swapClass() {
  var i, j=0, x, a = swapClass.arguments; 

  document.My_sc = new Array; 

  for(i = 0;i< (a.length - 1);i += 2)
  if ((x = MM_findObj(a[i])) != null){
  	document.My_sc[j++] = x; 
	if (!x.oClass) x.oClass = x.className; 
	x.className=a[i + 1];
  }
}

function swapClassRestore() {
  var i, x, a = document.My_sc; for(i = 0; a && i< a.length &&( x = a[i]) && x.oClass; i++) x.className = x.oClass;
}

function zentrieren() {
	var i, obj, breite, hoehe;
	
	
 	if (window.innerWidth) {
		breite = window.innerWidth;
  	} else if (document.body && document.body.offsetWidth) {
    	breite = document.body.offsetWidth;
	} else {
    	breite = 0;
	}	

	if (window.innerHeight) {
		hoehe = window.innerHeight;
  	} else if (document.body && document.body.offsetHeight) {
    	hoehe = document.body.offsetHeight;
	} else {
    	hoehe = 0;
	}
	obj = document.getElementById("center_div");


	if (obj) {
		i = breite - content_breite;
		i = i / 2;
		if (i < 0) i = 0;

		j = hoehe - content_hoehe;
		j = j / 2;
		if (j < 0) j = 0;
	
		obj.style.left = i+"px";
		if (hoehe_center) {
			obj.style.top = j+"px";
		}
	}
}

function zentrierenBreite(breite) {
	var i, obj, tmpBreite;
	
	content_breite = breite;
	
 	if (window.innerWidth) {
		tmpBreite = window.innerWidth;
  	} else if (document.body && document.body.offsetWidth) {
    	tmpBreite = document.body.offsetWidth;
	} else {
    	tmpBreite = 0;
	}	
	
	i = tmpBreite - breite;
	i = i / 2;
	if (i < 0) i = 0;
	
	/*return i;*/
	document.write('<style type="text/css">');
	document.write('#center_div { position: absolute; left: '+i+'px; }');
	document.write('</style>');
}

function zentrierenHoehe(hoehe, vertikal) {
	var i, obj, tmpHoehe;

	content_hoehe = hoehe;
	hoehe_center = vertikal;

	if (window.innerHeight) {
		hoehe = window.innerHeight;
  	} else if (document.body && document.body.offsetHeight) {
    	hoehe = document.body.offsetHeight;
	} else {
    	hoehe = 0;
	}

	j = hoehe - content_hoehe;
	j = j / 2;
	if (j < 0) j = 0;
	
	if (!vertikal) {
		j = 0;
	} 
	
	/*return j;*/
	document.write('<style type="text/css">');
	document.write('#center_div { position: absolute; top: '+j+'px; }');
	document.write('</style>');
}

function admin_links() {
	if(parent && parent.frames) {
		if(parent.frames.adminNavi) {
		    if (document.getElementsByTagName('a').length > 0) {
				for (var i = 0; i < document.getElementsByTagName('a').length; i++) {
					var obj = document.getElementsByTagName('a')[i];
					var s = obj.href;
					if (s) {
						if (s.indexOf('https') >= 0) {
							s = s.replace(/https:\/\/www.koelln.de\//g,'/');
							s = s.replace(/https:\/\/koelln.test.avantaxx.de\//g,'/');
							document.getElementsByTagName('a')[i].href  = s;
						}
					}
				}
		    }
		}
	}
}

function preload() {
  admin_links();
  
  var d = document; 
  if (d.images){ 
  	if (!d.MM_p) d.MM_p = new Array();
    var j = d.MM_p.length;
    for (var i = 0; i < preloads.length; i++) {
		if (preloads[i].indexOf("#") != 0) {
			d.MM_p[j] = new Image; 
			d.MM_p[j++].src = preloads[i];
		}
    }
  }
}

function getSel()
{
	var txt = '';
	var foundIn = '';
	if (window.getSelection)
	{
		txt = window.getSelection();
		foundIn = 'window.getSelection()';
	}
	else if (document.getSelection)
	{
		txt = document.getSelection();
		foundIn = 'document.getSelection()';
	}
	else if (document.selection)
	{
		txt = document.selection.createRange().text;
		foundIn = 'document.selection.createRange()';
	}
	else return;
	document.forms[0].selectedtext.value = 'Found in: ' + foundIn + '\n' + txt;
}

function addResizeEvent(func) {
  var old = window.onresize;
  if (typeof window.onresize != 'function') {
    window.onresize = func;
  } else {
    window.onresize = function(e) {
      old(e);
      func(e);
    }
  }
}

function addScrollEvent(func) {
  var old = window.onscroll;
  if (typeof window.onscroll != 'function') {
    window.onscroll = func;
  } else {
    window.onscroll = function(e) {
      old(e);
      func(e);
    }
  }
}

function showChar(area, c) {
	if (aktchar == c) { return; }
	if (aktchar != '') {
		$('lexikon' + aktchar).style.display = 'none';
		//new Effect.Fade('lexikon' + aktchar, 500);
	}	
	aktchar = c;
	if ($('lexikon' + c).innerHTML != '&nbsp;') {
		 new Effect.Appear('lexikon' + c, 500);		
	} else {
		var ajax = new Ajax.Request(
				"/lexikon/" + area + "/" + c,
				{
					method:     'get',
					parameters: '', 
					onSuccess: function (request) { $('lexikon' + c).innerHTML = request.responseText; new Effect.Appear('lexikon' + c, 500); },
					onFailure: function ()        { alert('Die Seite konnte nicht geladen werden.'); }
				});	
 	}
}

function getParam2(name) {
	
	var query = location.search.substr(1,256);
	
	var pairs = query.split("&");
	var res = 0;
	
	pairs.each(function(e){
		var pair = e.split("=");
		if (pair[0] == name) {
			res = pair[1];
		}
	})
	return res;
}

function getParam(pos) {
	var query = location.href;
	query = query.substr(query.indexOf('#')+1,256);
	var pair = query.split("/");
	res = pair[pos];
	return res;
}

function getBody(w){
    return (w.document.compatMode && w.document.compatMode == "CSS1Compat") ? w.document.documentElement : w.document.body || null;
}

function schuessel_height() {
		var obj = $('schuesseltransparenz');
        var h;
	    var win = window;
        if(typeof win.innerWidth != 'undefined'){
             h = win.innerHeight;
        } else {
             h = parseInt(getBody(window).clientHeight);
        }
		
		if (h < document.body.scrollHeight) { h = document.body.scrollHeight }
		
        if (obj) {obj.style.height = h+'px'}
}



function close_schuessel() {
	showFlash(1);
	var obj = $('schuesseldiv');
	if (obj) {obj.style.display = 'none'}
	
}

function show_schuessel() {
	if(location.protocol=='http:') {
		var tmp_url = location.href;
		tmp_url = tmp_url.replace(/http/g, "https")
		location.href=tmp_url+'#schuessel';
	} else {
		showFlash(0);
		var obj = $('schuesseldiv');
		if (obj) {obj.style.display = ''}
		if (document.getElementById('swf')) {
			document.getElementById('swf').style.display = 'none';
		}
		if (document.getElementById('img')) {
			document.getElementById('img').style.display = '';
		}
	}
	
}

function getCookie(name) {
	a = document.cookie;
	res = '';
  while(a != '' && res == '') {
  	cookiename = a.substring(0,a.search('='));
  	if (a.search(';') >= 0) {
			cookiewert = a.substring(a.search('=')+1,a.search(';'));
    } else {
			cookiewert = a.substring(a.search('=')+1,a.length);
		}

		while(cookiename.substring(0, 1) == ' ') {
			cookiename = cookiename.substring(1, cookiename.length);
		}
		
		if(name == cookiename) {
				res = unescape(cookiewert);
		}

		i = a.search(';')+1;
    if (i == 0) {i = a.length;}
			a = a.substring(i,a.length);
    }
    return res;
}

function tonaus() {
	setCookie('tonvolume', '0');
}
	
function tonan() {
	setCookie('tonvolume', '100');
}

function setCookie(name, wert) {
  var expDays = 7;
  var exp = new Date();
  
  /*exp.setTime(exp.getTime() + (expDays*24*60*60*1000));*/
	/*expires=" + exp.toGMTString() + ";*/
	document.cookie = name+"="+escape(wert)+';' + "; path=/;url=http://"+document.location.host;
}

function Seite(formname, nr) {
	var frm = document.forms[formname];
	frm.seite.value = nr;	
	frm.submit();
}

function submitForm (name) {
	var f = document.forms[name];
	f.submit();
}

function submitMyKoellnRegistration() {
	var f = document.forms['register'];
	if (f.passwort.value != f.pass_repeat.value) {
		alert("Passwort und Passwortwiederholung sind nicht identisch.");
	} else {
		f.submit();
	}
}

function submitMyKoellnLogin() {
	var f = document.forms['login'];
	f.submit();
}

function submitMyKoellnNewsletter() {
	var f = document.forms['newsletter'];
	f.submit();
}

function checkLoggedIn() {
	var d = document.getElementById('topLogout');
	if (d && d.style.display == 'none') {
		var cookies = document.cookie.split(';');
		var i;
		for (i = 0; i < cookies.length; i++) {
			var cookie = cookies[i].split('=');
			if (cookie.length == 2 && (cookie[0] == "SSOID" || cookie[0] == " SSOID")) {
				var value = new String(cookie[1]);
				if (value.length >= 65 && value.charAt(64) == 'g') {
					d.style.display = '';
				}
			}
		}
	}
}

function checkGewinnForm() {
	var error_text = "";
	if (document.getElementById('vorname').value == "") {
		error_text = error_text + "Bitte geben Sie Ihren Vornamen ein.\n";
	}
	if (document.getElementById('name').value == "") {
		error_text = error_text + "Bitte geben Sie Ihren Nachnamen ein.\n";
	}
	if (document.getElementById('strasse').value == "") {
		error_text = error_text + "Bitte geben Sie Ihre Stra%DFe ein.\n";
	}
	if (document.getElementById('hausnr').value == "") {
		error_text = error_text + "Bitte geben Sie Ihre Hausnummer ein.\n";
	}
	if (document.getElementById('plz').value == "") {
		error_text = error_text + "Bitte geben Sie Ihre Postleitzahl ein.\n";
	}
	if (document.getElementById('ort').value == "") {
		error_text = error_text + "Bitte geben Sie Ihren Ort ein.\n";
	}
	if (document.getElementById('land').value == "") {
		error_text = error_text + "Bitte geben Sie Ihr Land ein.\n";
	}
	if (document.getElementById('email').value == "") {
		error_text = error_text + "Bitte geben Sie Ihre E-Mail-Adresse ein.\n";
	} else {
		if (!is_mail(document.getElementById('email').value)) {
			error_text += "Dies ist keine g%FCltige E-Mail-Adresse.\n";
		}
	}
	if (!document.getElementById('teilnahme').checked) {
		error_text += "Bitte best%E4tigen Sie die Teilnahmebedingungen.\n";
	}
	if (document.getElementById('zeichen').value == "") {
		error_text = error_text + "Bitte geben Sie das Captcha ein.\n";
	}
	
	if (error_text == '') {
		submitGewinn();
	} else {
		alert(unescape(error_text));
	}
}

function submitGewinn() {
	if ($('shadow')) $('shadow').show();
	new Ajax.Request('/gewinnspiel/save', {
		method:		'get',
		parameters:	$('gewinndaten_form').serialize(),
		onSuccess: function (response) {
			var res = response.responseText;
			if ($('shadow')) $('shadow').hide();
			if (res.match(/error/)) {
				$('captcha_pic').src = '/gewinnspiel/captcha?a='+$F('avaktion')+'&' + Math.random();
				$('zeichen').value='';
				res=res.replace(/error:/, '');
				$('form_error').update(res+'<br />Bitte pr&uuml;fen Sie Ihre Eingaben.').show();
			} else {
				$('gewinndaten_form').hide();
				$('gewinn_bg').hide();
				$('danke_msg').show();
				if ($F('avaktion') != 3) {
					$('copyright').style.top = '28.6875em';
				}
			}
		},
		onFailure: function (response) {
			if ($('shadow')) $('shadow').hide();
			$('form_error').update('ERROR: '+response.responseText+', Status=#'+response.status+': '+response.statusText);
		}
	});
}

function is_mail(mail) {
	var regex = /^\S+\@\S+\.\S+$/;
	var richtig = regex.test(mail);
	return richtig;
}