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

var preloads = new Array();

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 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 preload() {
  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);
    }
  }
}

// prueft, ob in dem Feld der Default-Wert drin steht; wenn ja, wird das Feld geleert
function checkDefault(obj, def) {
	if (obj && obj.val() == def) {
		obj.val('');
		obj.css({'color':'black'});
	}
}

function kontaktSenden() {
	var msg="";
	var frm = document.forms['daten'];

  if(frm.vorname.value=="") 
  	msg+="Vorname darf nicht leer sein!\n"; 
  if(frm.nachname.value=="") 
  	msg+="Nachname darf nicht leer sein!\n";
  if(frm.captcha.value=="") 
  	msg+="Zeichenfolge darf nicht leer sein!\n";
	if(frm.email.value=="") {
		msg+="E-Mail darf nicht leer sein!\n"; 
	} else {
		if(!isEmail(frm.email.value))
	    msg+="E-Mail ist ung%FCltig!\n"; 
	}

  if(msg=="") { 
  	frm.submit();
  } else { 
  	alert(unescape(msg)); 
  } 
}

function isEmail(string) {
  if (string.search(/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/) != -1)
    return true;
  else
    return false;
}

function getCookie(name) {
	c=document.cookie;
	x = c.search(name+'=');
	if (x<0) return '';
	x += name.length+1;
	c=c.substr(x);	// bis ans Ende
	if (c.search(';') >= 0) {
		cookiewert = c.substr(0,c.search(';'));
	} else {
		cookiewert = c.substr(0);
	}
	return unescape(cookiewert);
}


function setCookie(name, value, expires, path, domain, secure) {
	if (expires) {
		if (typeof(expires)=='object')
			expires='; expires='+expires.toGMTString();
		else
			expires='; expires='+expires;
	} else
		expires='';
	document.cookie= name+'='+escape(value) +
			expires +
			'; path=/'+(domain ? '; domain='+domain : '') +
			(secure ? '; secure' : '');
}

function send_kontaktform() {
	$('#msg').html("&nbsp;");
	$('.pflicht').removeClass('error');
	jQuery.ajax({
	    type:    'POST',
	    url:     '/cgi/engine.pl',
	    data:    $('#kontakt_form').serialize(),
	    dataType: 'json',
	    success: function (response) {
			if (response.success) {
				$('#msg').html("&nbsp;");
				location.href = response.message;
			} else {
				//$('#captcha_pic').attr('src',"/cgi/engine.pl/captcha.gif?"+Math.random());
				$('#msg').html(response.message);
				if (response.errors.vorname) {
					$('#vorname').addClass('error');
				}
				if (response.errors.nachname) {
					$('#nachname').addClass('error');
				}
				if (response.errors.strasse) {
					$('#strasse').addClass('error');
				}
				if (response.errors.hausnummer) {
					$('#hausnummer').addClass('error');
				}
				if (response.errors.plz) {
					$('#plz').addClass('error');
				}
				if (response.errors.ort) {
					$('#ort').addClass('error');
				}
				if (response.errors.email) {
					$('#email').addClass('error');
				}
			}
	    },		
	    error: function (request, status, error) {
	    	var msg = 'An error occured while your request was submitted; please retry later: ' + error + ' request: ' + request + ' status: ' + status;
	    	$('#msg').html(msg);
	    }
	});
}

function toggleBox(id) {
	if ($('#pfeil_'+id).attr('class') == 'pfeil_inactive') {
		$('#pfeil_'+id).attr('class','pfeil_active')
	} else {
		$('#pfeil_'+id).attr('class','pfeil_inactive')
	}
	$('#content_'+id).slideToggle();
}
