
function einblenden(quelle) {
	ausblenden();
	quelle=document.getElementById("coupon"+quelle);
	couponNummer=parseInt(quelle.id.substr(6,6))-1;
	spaltenNummer=(couponNummer+1)%2;
	zeilenNummer=Math.floor((couponNummer+1)/2);
	document.getElementById("couponDetails").innerHTML=quelle.innerHTML;
	document.getElementById("couponDetails").className=quelle.className;
	if(quelle.className=="couponAktiv") document.getElementById("couponDetails").className+=" couponDetailsAktiv";
	document.getElementById("couponDetails").style.borderStyle="solid";
	document.getElementById("couponDetails").innerHTML=document.getElementById("couponDetails").innerHTML.replace(/einblenden/gi,"ausblenden");
	if(document.getElementById("couponDetails").className.match(/couponAktiv/)) {
		document.getElementById("couponDetails").getElementsByTagName("input")[2].disabled=true;
		document.getElementById("couponDetails").getElementsByTagName("input")[0].checked=true;
	}
	document.getElementById("couponDetails").getElementsByTagName("input")[1].value="Schließen";
	mitte=mitteHolen();
	document.getElementById("couponDetails").style.top=(418+(zeilenNummer*216))+"px";
	document.getElementById("couponDetails").style.left=((mitte-246)+(spaltenNummer*328))+"px";
	document.getElementById("couponDetails").style.display="block";
	document.getElementById("blende").style.display="block";
	if(isIE()) document.getElementById("couponDetails").getElementsByTagName("input")[1].style.left="223px";
	clearInterval(blende1);
	clearInterval(scrollInterval);
	scroll=setInterval("zuPositionScrollen("+parseInt(document.getElementById("couponDetails").style.top)+");",delay);
}

function aufrollen() {
	aktuelleHoehe=parseInt(document.getElementById("couponDetails").style.height);
	aktuellePosition=parseInt(document.getElementById("couponDetails").style.top);
	if(aktuelleHoehe<couponMax-2) {
		abstand=couponMax-aktuelleHoehe;
		abstand=Math.round(abstand/delta);
		neueHoehe=aktuelleHoehe+abstand;
		neuePosition=aktuellePosition-(Math.round(abstand/3));
		document.getElementById("couponDetails").style.height=(neueHoehe)+"px";
		document.getElementById("couponDetails").style.top=(neuePosition)+"px";
	} else {
		clearInterval(roll);
		scrollInterval=setInterval("pfeilScrollen();",delay);
	}
}

function zuPositionScrollen(ziel) {
	ziel-=100;
	aktuell=yPosition();
	window.scrollTo(0,aktuell+Math.ceil(((ziel-aktuell)/4)));
	if((ziel-aktuell<6 && ziel-aktuell>-6) || yPosition()==aktuell) {
		clearInterval(scroll);
		if(document.getElementById("couponDetails").innerHTML!="") roll=setInterval("aufrollen();",delay);
	}
}

function zumWarenkorb() {
	scroll=setInterval("zuPositionScrollen("+(470+hoehe)+");",delay);
}

function ausblenden() {
	clearInterval(roll);
	clearInterval(scroll);
	clearInterval(blende2);
	clearInterval(scrollInterval);
	document.getElementById("couponDetails").style.height=couponMin+"px";
	document.getElementById("couponDetails").innerHTML="";
	document.getElementById("couponDetails").style.display="none";
	document.getElementById("blende").style.display="none";
	scrollInterval=setInterval("pfeilScrollen();",delay);
}

function yPosition() {
	if(document.documentElement.scrollTop) y=document.documentElement.scrollTop;
	else y=window.pageYOffset;
	if(!y) y=0;
	return(y);
}

function pfeilScrollen() {
	currentPosition=parseInt(document.getElementById("pfeil").style.top);
	currentY=yPosition();
	if(currentY>=pfeilScrollStart) finalPosition=pfeilStartPosition+(Math.round((currentY-pfeilScrollStart)*1.5));
	else finalPosition=pfeilStartPosition-pfeilVerzoegerung;
	if(finalPosition>pfeilStartPosition+pfeilHoeheMax) finalPosition=pfeilStartPosition+pfeilHoeheMax;
	distance=finalPosition-currentPosition;
	position=Math.ceil(currentPosition+(distance/pfeilVerzoegerung));
	document.getElementById("pfeil").style.top=position+"px";
	document.getElementById("pfeil").style.left=(mitteHolen()-425)+"px";
	document.getElementById("couponDetails").style.left=((mitteHolen()-246)+(spaltenNummer*328))+"px";
}

function startUp() {
	if(isIE()) document.getElementById("pfeil").style.top=pfeilStartPosition;
	else document.getElementById("pfeil").style.top=pfeilStartPosition+"px";
	scrollInterval=setInterval("pfeilScrollen();",delay);
	document.getElementById("couponDetails").style.display="none";
	if(document.getElementById("blaettern").getElementsByTagName("a").length>1) document.getElementById("blaettern").style.visibility="visible";
	positionieren();
	vorselektieren();
}

function positionieren() {
	hoehe=216*Math.ceil((anzahlCoupons+1)/2)+80;
	document.getElementById("main").style.height=(hoehe+30)+"px";
	document.getElementById("blende").style.height=hoehe+"px";
	document.getElementById("blende").style.top="-"+hoehe+"px";
	document.getElementById("blende").style.marginBottom="-"+hoehe+"px";
	document.getElementById("coupons").style.marginBottom="-"+hoehe+"px";
	document.getElementById("coupons").style.height=hoehe+"px";
	pfeilHoeheMax=(216*Math.ceil((anzahlCoupons-1)/2))-130;
	document.getElementById("pfeil").style.left=(mitteHolen()-425)+"px";
	document.getElementById("pfeil").style.top=pfeilStartPosition+"px";
	document.getElementById("pfeil").style.display="block";
}

function isIE() {
	if(navigator.appName=="Microsoft Internet Explorer" && parseInt(navigator.appVersion)<7) return(true); else return(false);
}

function startWarenkorbAnimation(blenden) {
	document.getElementById("rahmen").style.top=document.getElementById("couponDetails").style.top;
	document.getElementById("rahmen").style.left=document.getElementById("couponDetails").style.left;
	document.getElementById("rahmen").style.width="310px";
	document.getElementById("rahmen").style.height=document.getElementById("couponDetails").style.height;
	document.getElementById("rahmen").style.display="block";
	animation=setInterval("warenkorbAnimation("+blenden+");",delay);
}

function mitteHolen() {
	if(document.documentElement) breite=document.documentElement.clientWidth;
	else if(document.body.clientWidth) breite=document.body.clientWidth;
	else breite=window.innerWidth;
	return(Math.floor(breite/2));
}

function warenkorbAnimation(blenden) {
	mitte=mitteHolen();
	startTop=parseInt(document.getElementById("rahmen").style.top);
	startLeft=parseInt(document.getElementById("rahmen").style.left);
	startWidth=parseInt(document.getElementById("rahmen").style.width);
	startHeight=parseInt(document.getElementById("rahmen").style.height);
	zielTop=parseInt(document.getElementById("pfeil").style.top)+30;
	zielLeft=mitte-379;
	zielWidth=80;
	zielHeight=60;
	abstandTop=startTop-zielTop;
	abstandLeft=startLeft-zielLeft;
	abstandWidth=startWidth-zielWidth;
	abstandHeight=startHeight-zielHeight;
	neuTop=Math.round(startTop-(abstandTop/aniVerzoegerung));
	neuLeft=Math.round(startLeft-(abstandLeft/aniVerzoegerung));
	neuWidth=Math.round(startWidth-(abstandWidth/aniVerzoegerung));
	neuHeight=Math.round(startHeight-(abstandHeight/aniVerzoegerung));
	if(!isIE()) { neuTop+="px"; neuLeft+="px"; neuWidth+="px"; neuHeight+="px"; }
	document.getElementById("rahmen").style.top=neuTop;
	document.getElementById("rahmen").style.left=neuLeft;
	document.getElementById("rahmen").style.width=neuWidth;
	document.getElementById("rahmen").style.height=neuHeight;
	if((abstandLeft>-10 && abstandLeft<10) && (abstandTop>-10 && abstandTop<10) && (abstandWidth>-10 && abstandWidth<10) && (abstandHeight>-10 && abstandHeight<10)) {
		clearInterval(animation);
		document.getElementById("rahmen").style.display="none";
		if(blenden) ausblenden();
		anzahlAusgeben();
	}
}

function waehlen(id,blenden) {
	if(document.getElementById("coupon"+id).className=="coupon") {
		if(!blenden && document.getElementById("couponDetails").style.display=="none") einblenden(id);
		document.getElementById("coupon"+id).className="couponAktiv";
		document.getElementById("couponDetails").className="couponAktiv couponDetailsAktiv";
		document.getElementById("couponDetails").getElementsByTagName("input")[0].checked=true;
		document.getElementById("coupon"+id).getElementsByTagName("input")[0].checked=true;
		document.getElementById("couponDetails").getElementsByTagName("input")[2].disabled=true;
		document.getElementById("couponDetails").getElementsByTagName("input")[1].setAttribute("onclick","ausblenden();");
		document.getElementById("couponDetails").getElementsByTagName("input")[1].value="Schließen";
		if(isIE()) document.getElementById("couponDetails").innerHTML=document.getElementById("couponDetails").innerHTML.replace(/onclick=waehlen\(.*,true\);/,"onclick=ausblenden();");
		startWarenkorbAnimation(blenden);
		hinzufuegen(id);
	} else {
		document.getElementById("coupon"+id).className="coupon";
		document.getElementById("couponDetails").className="coupon";
		if(document.getElementById("couponDetails").innerHTML.length>0) {
			document.getElementById("couponDetails").getElementsByTagName("input")[2].disabled=false;
			document.getElementById("couponDetails").getElementsByTagName("input")[0].checked=false;
		}
		document.getElementById("coupon"+id).getElementsByTagName("input")[0].checked=false;
		entfernen(id);
	}
}

function anzahlAusgeben() {
	document.getElementById("pfeil").getElementsByTagName("span")[0].innerHTML=warenkorb.length+" Coupons";
	outHTML='<table><thead><tr><th class="spalte1"></th><th class="spalte2">Bezeichnung</th><th class="spalte3"><abbr title="inklusive Versandkosten">Preis</abbr></th></tr></thead><tbody>';
	imWarenkorb="";
	if(warenkorb.length>0) {
		for(x=0;x<warenkorb.length;x++) {
			preis=""+warenkorb[x].preis;
			if(preis.indexOf(".")==-1) preis+=".00";
			else if(preis.indexOf(".")==preis.length-2) preis+="0";
			preis=preis.replace(/\./,",")+" &euro;";
			outHTML+='<tr><td class="spalte1"><input type="checkbox" checked onclick="warenkorbEntfernen(\''+warenkorb[x].artikelnr+'\');" /></td><td class="spalte2">'+warenkorb[x].bezeichnung+'</td><td class="spalte3">'+preis+'</td></tr>';
			imWarenkorb+=warenkorb[x].artikelnr+",";
		}
	}
	outHTML+='</tbody><tfoot><tr><td class="spalte1"><input type="checkbox" name="gewinnspiel" ';
	if(document.getElementsByName("gewinnspiel")[0].value) outHTML+='value="'+document.getElementsByName("gewinnspiel")[0].value+'" ';
	if(document.getElementsByName("gewinnspiel")[0].checked==true) outHTML+='checked ';
	outHTML+='onchange="agb_button_umschalten(this.checked);" checked /></td><td class="spalte2">Teilnahme am Gewinnspiel</td><td class="spalte3">0,00 &euro;</td></tr></tfoot></table>';
	document.getElementById("warenkorb").getElementsByTagName("div")[0].innerHTML=outHTML;
	document.getElementById("imWarenkorb").value=imWarenkorb.substr(0,imWarenkorb.length-1);
}

function hinzufuegen(id) {
	warenkorb[warenkorb.length]=new Object();
	currentId=warenkorb.length-1;
	warenkorb[currentId].artikelnr=document.getElementById("coupon"+id).getElementsByTagName("input")[0].value;
	warenkorb[currentId].bezeichnung=document.getElementById("coupon"+id).getElementsByTagName("label")[0].innerHTML;
	for(x=document.getElementById("coupon"+id).getElementsByTagName("span").length-1;x>=0;x--) {
		if(document.getElementById("coupon"+id).getElementsByTagName("span")[x].className=="gratis") {
			preis=0; versand=0;
		} else if(document.getElementById("coupon"+id).getElementsByTagName("span")[x].className=="versand") {
			if(document.getElementById("coupon"+id).getElementsByTagName("span")[x].innerHTML=="versandkostenfrei") versand=0; else	versand=parseInt(document.getElementById("coupon"+id).getElementsByTagName("span")[x].innerHTML.replace(/,/,"").substr(2,20));
		} else if(document.getElementById("coupon"+id).getElementsByTagName("span")[x].className=="preis") {
			if(document.getElementById("coupon"+id).getElementsByTagName("span")[x].innerHTML=="GRATIS") preis=0; else preis=parseInt(document.getElementById("coupon"+id).getElementsByTagName("span")[x].innerHTML.replace(/,/,""));
		}
	}
	warenkorb[currentId].preis=(preis+versand)/100;
}

function vorselektieren() {
	var selektiere=new Array();
	for(x=0;x<document.getElementById("coupons").getElementsByTagName("div").length;x++) {
		currentObject=document.getElementById("coupons").getElementsByTagName("div")[x];
		if(currentObject.id.substr(0,6)=="coupon") {
			couponNummer=parseInt(currentObject.id.substr(6,20));
			if(couponNummer>=1 && couponNummer<=9 && currentObject.getElementsByTagName("input")[0].checked==true) {
				selektiere[selektiere.length]=couponNummer;
			}
		}
	}
	for(y=0;y<selektiere.length;y++) {
		hinzufuegen(selektiere[y]);
		document.getElementById("coupon"+selektiere[y]).className="couponAktiv";
	}
	anzahlAusgeben();
}

function entfernen(id) {
	var warenkorbNeu=new Array();
	for(x=0;x<warenkorb.length;x++) if(warenkorb[x].artikelnr!=document.getElementById("coupon"+id).getElementsByTagName("input")[0].value) warenkorbNeu[warenkorbNeu.length]=warenkorb[x];
	warenkorb=warenkorbNeu;
	anzahlAusgeben();
}

function warenkorbEntfernen(anr) {
	for(x=0;x<document.getElementsByTagName("div").length;x++) if(document.getElementsByTagName("div")[x].id.substr(0,6)=="coupon") {
		couponNummer=parseInt(document.getElementsByTagName("div")[x].id.substr(6,1));
		if(couponNummer>=1 && couponNummer<=9 && document.getElementsByTagName("div")[x].getElementsByTagName("input").length>0) if(document.getElementsByTagName("div")[x].getElementsByTagName("input")[0].value==anr) {
				document.getElementsByTagName("div")[x].className="coupon";
				document.getElementsByTagName("div")[x].getElementsByTagName("input")[0].checked=false;
			}
	}
	document.getElementById("couponDetails").className="coupon";
	if(document.getElementById("couponDetails").getElementsByTagName("input").length>0) {
		document.getElementById("couponDetails").getElementsByTagName("input")[2].disabled=false;
		document.getElementById("couponDetails").getElementsByTagName("input")[0].checked=false;
	}
	var warenkorbNeu=new Array();
	for(x=0;x<warenkorb.length;x++) if(warenkorb[x].artikelnr!=anr) warenkorbNeu[warenkorbNeu.length]=warenkorb[x];
	warenkorb=warenkorbNeu;
	anzahlAusgeben();
}

function geheZuSeite(seite) {
	document.getElementById("blende").style.display="block";
	document.getElementById("blende").style.cursor="wait";
	http.open("get","scripts/nachladen.php?"+document.getElementById("querystring").value.replace(/seite=[^&]*/,"")+"&seite="+seite);
	http.onreadystatechange=couponsLaden;
	http.send(null);
	return(false);
}

function createRequestObject() {
	var ro;
	var browser=navigator.appName;
	if(browser=="Microsoft Internet Explorer") ro=new ActiveXObject("Microsoft.XMLHTTP");
	else ro=new XMLHttpRequest();
	return ro;
}

function couponsLaden() {
	if(http.readyState==4) {
		clearInterval(scroll);
		scroll=setInterval("zuPositionScrollen(490);",delay);
		document.getElementById("coupons").innerHTML=http.responseText;
		var temp=http.responseText.split("<hr />");
		anzahlCoupons=temp.length-2;
		positionieren();
		for(x=0;x<warenkorb.length;x++) for(y=0;y<document.getElementsByTagName("div").length;y++) {
			currentObject=document.getElementsByTagName("div")[y];
			if(currentObject.id.substr(0,6)=="coupon" && currentObject.id!="coupons") if(currentObject.getElementsByTagName("input").length>0) if(warenkorb[x].artikelnr==currentObject.getElementsByTagName("input")[0].value) {
				currentObject.getElementsByTagName("input")[0].checked=true;
				currentObject.className="couponAktiv";
			}
		}
		document.getElementById("blende").style.display="none";
 		document.getElementById("blende").style.cursor="auto";
		document.getElementById("blaettern").style.visibility="visible";
	}
}

function anfordern() {
	document.getElementById("externerInhalt").style.display="none";
	document.getElementById("meldung").getElementsByTagName("p")[0].innerHTML="Ihre Anforderung wird durchgeführt. Bitte warten Sie...";
	document.getElementById("meldung").getElementsByTagName("span")[0].className="info";
	if(isIE()) for(x=0;x<document.getElementsByTagName("select").length;x++) document.getElementsByTagName("select")[x].style.visibility="hidden";
	for(x=0;x<document.getElementsByTagName("input").length;x++) document.getElementsByTagName("input")[x].disabled=true;
	for(x=0;x<document.getElementsByTagName("select").length;x++) document.getElementsByTagName("select")[x].disabled=true;
	for(x=0;x<document.getElementsByTagName("input").length;x++) if(document.getElementsByTagName("input")[x].className=="fehlerhaft") document.getElementsByTagName("input")[x].className="";
	for(x=0;x<document.getElementsByTagName("select").length;x++) if(document.getElementsByTagName("select")[x].className=="fehlerhaft") document.getElementsByTagName("select")[x].className="";
	document.getElementById("meldungschliessen").style.visibility="hidden";
	document.getElementById("blende2").style.display="block";
	document.getElementById("ausgabe").style.display="block";
	document.getElementById("meldung").style.display="block";
	request="";
	for(x=0;x<document.getElementsByTagName("input").length;x++) if((document.getElementsByTagName("input")[x].type=="checkbox" && document.getElementsByTagName("input")[x].checked!=false) || (document.getElementsByTagName("input")[x].type!="button" && document.getElementsByTagName("input")[x].type!="checkbox")) request+="&"+encodeURI(document.getElementsByTagName("input")[x].name)+"="+encodeURI(document.getElementsByTagName("input")[x].value);
	for(x=0;x<document.getElementsByTagName("select").length;x++) request+="&"+encodeURI(document.getElementsByTagName("select")[x].name)+"="+encodeURI(document.getElementsByTagName("select")[x].value);
	request=request.substr(1,request.length);
	http.open("get","scripts/anfordern.php?ajax=true&"+request);
	http.onreadystatechange=anforderungAuswerten;
	http.send(null);
	return(false);
}

function anforderungAuswerten() {
	if(http.readyState==4) {
		document.getElementById("externerInhalt").style.display="none";
		response=http.responseText;
		if(response.substr(0,1)=="e") {
			meldungText="Es ist ein unbekannter Fehler aufgetreten. Bitte setzen Sie sich mit uns in Verbindung!";
			document.getElementById("meldung").getElementsByTagName("span")[0].className="stop";
			if(response.substr(1,1)=="0") meldungText="Es wurden keine Daten übergeben.";
			else if(response.substr(1,1)=="1") meldungText="Bitte nehmen Sie am Gewinnspiel teil oder wählen Sie mindestens einen Coupon aus!";
			else if(response.substr(1,1)=="2") {
				meldungText="Bitte ergänzen bzw. korrigieren Sie die Daten in den rot hervorgehobenen Feldern!";
				felder=response.substr(3,response.length).split(",");
				for(x=0;x<felder.length;x++) if(document.getElementsByName(felder[x])[0]) document.getElementsByName(felder[x])[0].className="fehlerhaft";
			} else if(response.substr(1,1)=="3") meldungText="Bitte akzeptieren Sie unsere Nutzungsbedingungen!";
			else if(response.substr(1,1)=="4") meldungText="Sie müssen mindestens 18 Jahre alt sein, um die Anforderung durchzuführen!";
			else if(response.substr(1,1)=="5") meldungText="Ihr Geburtsdatum ist Ihre persönliche Glückszahl beim Gewinnspiel. Bitte angeben!";
			else if(response.substr(1,1)>="6") meldungText="Es ist ein Systemfehler aufgetreten. Bitte versuchen Sie später nocheinmal!";
			document.getElementById("meldung").getElementsByTagName("p")[0].innerHTML=meldungText;
			document.getElementById("meldung").style.cursor="default";
		} else if(response.substr(0,2)=="ok") {
			if(response.length>2) document.getElementById("intro").getElementsByTagName("p")[0].innerHTML+=response.substr(3,response.length); // BesserGemeinsam-Sale generieren
			coreg();
		} else {
			document.getElementById("meldung").style.cursor="default";
			meldungText="Ausnahmefehler: "+response;
			document.getElementById("ausgabe").getElementsByTagName("span")[0].className="stop";
			document.getElementById("ausgabe").getElementsByTagName("p")[0].innerHTML=meldungText;
		}
		document.getElementById("meldungschliessen").style.visibility="visible";
		document.getElementById("meldungschliessen").disabled=false;
	}
}

function meldungSchliessen() {
	if(isIE()) for(x=0;x<document.getElementsByTagName("select").length;x++) document.getElementsByTagName("select")[x].style.visibility="visible";
	document.getElementById("blende2").style.display="none";
	for(x=0;x<document.getElementsByTagName("input").length;x++) document.getElementsByTagName("input")[x].disabled=false;
	for(x=0;x<document.getElementsByTagName("select").length;x++) document.getElementsByTagName("select")[x].disabled=false;
	document.getElementById("meldung").style.display="block";
	document.getElementById("externerInhalt").style.display="none";
	document.getElementById("ausgabe").style.display="none";
}

function externerInhalt(url) {
	document.getElementById("blende2").style.display="block";
	document.getElementById("ausgabe").style.display="block";
	document.getElementById("meldung").style.display="none";
	document.getElementById("externerInhalt").style.display="block";
	document.getElementById("externerInhalt").getElementsByTagName("h3")[0].innerHTML=url;
	document.getElementById("externerInhalt").getElementsByTagName("div")[0].innerHTML="<p>Wird geladen...</p>";
	document.getElementById("externerInhalt").style.cursor="wait";
	if(isIE()) for(x=0;x<document.getElementsByTagName("select").length;x++) document.getElementsByTagName("select")[x].style.visibility="hidden";
	http.open("get","scripts/extern.php?url="+url);
	http.onreadystatechange=externenInhaltEinblenden;
	http.send(null);
}

function externenInhaltEinblenden() {
	if(http.readyState==4) {
		response=http.responseText;
		ausdruck=/<title>([^<]*)<\/title>/i;
		ausdruck.exec(response);
		document.getElementById("externerInhalt").getElementsByTagName("h3")[0].innerHTML=RegExp.$1;
		ausdruck=/<body.*>((.|\n|\r)*)<\/body>/i;
		ausdruck.exec(response);
		document.getElementById("externerInhalt").getElementsByTagName("div")[0].innerHTML=RegExp.$1;
		document.getElementById("externerInhalt").style.cursor="default";
	}
}

function agb_umschalten(status) {
	if(status) document.getElementById("sponsorlink").style.display="inline";
	else document.getElementById("sponsorlink").style.display="none";
}

function agb_button_umschalten(status) {
	
	if(status) { 
		document.getElementById("buttonAbschicken").src='layout/bilder/button_abschicken.gif';
	} else { 
		document.getElementById("buttonAbschicken").src='layout/bilder/button_abschicken_2.gif';
	}
}

var couponMax=378;
var couponMin=198;
var delta=3;
var delay=10;
var blende1=0;
var blende2=0;
var roll=0;
var currentId=0;
var animation=0;
var pfeilStartPosition=618;
var pfeilHoeheMax=735;
var pfeilScrollStart=550;
var pfeilVerzoegerung=12;
var aniVerzoegerung=8;
var scrollInterval=0;
var scroll=0;
var spaltenNummer=1;
var warenkorb=new Array();
var http=createRequestObject();
var externesBrowserfenster=false;



