//Formular-Name
var formName = "buchen" ;

//Mehrwertsteuer-Satz
var mwst = 7 ;

//Preise + Anzahl-Felder
var pfsoVideoDeutschEinzelPreis = 0 ;
var pfsoVideoDeutschEinzelPreisRabatt = 0 ;
var pfsoVideoDeutschEinzelPreisFeld = "pfso_video_deutsch_preis" ;
var pfsoVideoDeutschEinzelPreisRabattFeld = "pfso_video_deutsch_preis_rabatt" ;
var rabattGrenze = 5 ;
var pfsoVideoDeutschAnzahlFeld = "pfso_video_deutsch_anzahl" ;

/*var pfsoDvdEinzelPreis = 0 ;
var pfsoDvdEinzelPreisRabatt = 0 ;
var pfsoDvdEinzelPreisFeld = "pfso_dvd_preis" ;
var pfsoDvdEinzelPreisRabattFeld = "pfso_dvd_preis_rabatt" ;
var pfsoDvdAnzahlFeld = "pfso_dvd_anzahl" ;*/

//Ausgabe-Felder
var summeFeld = "summe" ;
var mwstFeld = "mwst" ;

//Variablen für die Preise setzen
function setzePreise(){
	//---normale Preise
	pfsoVideoDeutschEinzelPreis = parseFloat(document.forms[formName].elements[pfsoVideoDeutschEinzelPreisFeld].value) ;
	//pfsoDvdEinzelPreis = parseFloat(document.forms[formName].elements[pfsoDvdEinzelPreisFeld].value) ;
	//---Rabatt-Preise
	pfsoVideoDeutschEinzelPreisRabatt = parseFloat(document.forms[formName].elements[pfsoVideoDeutschEinzelPreisRabattFeld].value) ;
	//pfsoDvdEinzelPreisRabatt = parseFloat(document.forms[formName].elements[pfsoDvdEinzelPreisRabattFeld].value) ;
}

//Mehrwertsteuer-Anteil berechnen
function getMwstAnteil(preis){
	if(isNaN(preis)){
		return 0 ;
	}
	return (preis/(100 + mwst) * mwst) ;
	//return (preis/100) * mwst ;
}

//Preis ohne Mehrwertsteuer-Anteil berechnen
function getNettoPreis(preis){
	if(isNaN(preis)){
		return 0 ;
	}
	return preis - getMwstAnteil(preis) ;
}

//Eingabe(n) in die Anzahl-Felder überprüfen
function checkInput(name, value){
	value = parseInt(value) ;
	if(isNaN(value)){
		value = 0 ;
	}
	document.forms[formName].elements[name].value = value ;
	kalkulierePreise() ;
}

//Einen Preis für die Textausgabe formatieren, inklusive Rundung
function formatierePreis(x){
  var k = (Math.round(x * 100) / 100).toString();
  k += (k.indexOf('.') == -1)? '.00' : '00';
  var p = k.indexOf('.'), m = k.indexOf('-.');
  var f = (p == 0 || m == 0)? '0,' : ',';
  return k.substring(0, p) + f + k.substring(p+1, p+3) + " €";
}

//Netto-Preis-Summe berechnen
function kalkulierePreise(){
	//---Anzahl(en) berechnen
	var pfsoVideoDeutschAnzahl = parseInt(document.forms[formName].elements[pfsoVideoDeutschAnzahlFeld].value) ;
	if(isNaN(pfsoVideoDeutschAnzahl)){
		pfsoVideoDeutschAnzahl = 0 ;
	}
	/*var pfsoDvdAnzahl = parseInt(document.forms[formName].elements[pfsoDvdAnzahlFeld].value) ;
	if(isNaN(pfsoDvdAnzahl)){
		pfsoDvdAnzahl = 0 ;
	}*/
	//---Video, deutsch
	//---Rabattpreis?
	if(pfsoVideoDeutschAnzahl >= rabattGrenze){
		var pfsoVideoDeutschPreis = pfsoVideoDeutschAnzahl * pfsoVideoDeutschEinzelPreisRabatt ;
		var pfsoVideoDeutschMwst = getMwstAnteil(pfsoVideoDeutschPreis) ;
	}
	else{
		var pfsoVideoDeutschPreis = pfsoVideoDeutschAnzahl * pfsoVideoDeutschEinzelPreis ;
		var pfsoVideoDeutschMwst = getMwstAnteil(pfsoVideoDeutschPreis) ;
	}
	//---DVD, deutsch
	//---Rabatt-Preis?
	/*if(pfsoDvdAnzahl + pfsoVideoDeutschAnzahl >= rabattGrenze){
		var pfsoDvdPreis = pfsoDvdAnzahl * pfsoDvdEinzelPreisRabatt ;
		var pfsoDvdMwst = getMwstAnteil(pfsoDvdPreis) ;
	}
	else{
		var pfsoDvdPreis = pfsoDvdAnzahl * pfsoDvdEinzelPreis ;
		var pfsoDvdMwst = getMwstAnteil(pfsoDvdPreis) ;
	}*/
	//---Summen ausgeben
	document.forms[formName].elements[summeFeld].value = formatierePreis(pfsoVideoDeutschPreis) ;
	document.forms[formName].elements[mwstFeld].value = formatierePreis(pfsoVideoDeutschMwst) ;
}

function formCheck(){
	var addMessage = "" ;
	//addMessage += " reicht es aus, diese und den Namen Ihrer Firma anzugeben." ;
	var message = "" ;
	var formName = "buchen" ;
	var checkIt = "" ;
	var reg = /^[a-z][a-z_\-0-9\.]+@[a-z_\-0-9\.]+\.[a-z]{2,3}$/i ;
	/*
	//ShortCut mit Kundennummer und Name der Firma?
	var shortCut = true ;
	checkIt = document.forms[formName].kundennr.value ;
	if (checkIt == ""){
		shortCut = false ;
	}
	checkIt = document.forms[formName].firma.value ;
	if (checkIt == ""){
		shortCut = false ;
	}
	if (shortCut){
		return true ;
	}
	*/
	//Ansonsten das volle Programm ueberpruefen?
	//AGB
	checkIt = document.forms[formName].agb.checked ;
	if (!checkIt){
		message = "Sie müssen den AGB zustimmen, bevor Sie die Bestellung aufgeben!" + addMessage ;
		alert (message) ;
		document.forms[formName].agb.focus() ;
		return false ;
	}
	//Name?
	checkIt = document.forms[formName].nachname.value ;
	if (checkIt == ""){
		message = "Bitte geben Sie Ihren Namen an!" + addMessage ;
		alert (message) ;
		document.forms[formName].nachname.focus() ;
		return false ;
	}
	//Strasse?
	checkIt = document.forms[formName].strasse.value ;
	if (checkIt == ""){
		message = "Bitte geben Sie Ihre Strasse an!" + addMessage ;
		alert (message) ;
		document.forms[formName].strasse.focus() ;
		return false ;
	}
	//PLZ?
	checkIt = document.forms[formName].plz.value ;
	if (checkIt == ""){
		message = "Bitte geben Sie Ihre Postleitzahl an!" + addMessage ;
		alert (message) ;
		document.forms[formName].plz.focus() ;
		return false ;
	}
	//Ort?
	checkIt = document.forms[formName].ort.value ;
	if (checkIt == ""){
		message = "Bitte geben Sie Ihren Ort an!" + addMessage ;
		alert (message) ;
		document.forms[formName].ort.focus() ;
		return false ;
	}
	//Telefon?
	checkIt = document.forms[formName].telefon.value ;
	if (checkIt == ""){
		message = "Bitte geben Sie Ihre Telefonnummer für Rückfragen an!" + addMessage ;
		alert (message) ;
		document.forms[formName].telefon.focus() ;
		return false ;
	}
	//E-Mail?
	if (!reg.exec(document.forms[formName].email.value) ){
		message = "Diese E-Mail-Adresse ist ungültig." + addMessage ; 
		alert (message) ;
		document.forms[formName].email.focus() ;
		return false ;
	}
	//RECHNUNGSADRESSE
	var rgAktiv = document.forms[formName].rg_aktiv.checked ;
	//Strasse
	checkIt = document.forms[formName].rg_strasse.value ;
	if (rgAktiv && checkIt == ""){
		message = "Bitte geben Sie die Straße der Rechnungsadresse an!" ;
		alert (message) ;
		document.forms[formName].rg_strasse.focus() ;
		return false ;
	}
	//PLZ
	checkIt = document.forms[formName].rg_plz.value ;
	if (rgAktiv && checkIt == ""){
		message = "Bitte geben Sie die Postleitzahl der Rechnungsadresse an!" ;
		alert (message) ;
		document.forms[formName].rg_plz.focus() ;
		return false ;
	}
	//Ort
	checkIt = document.forms[formName].rg_ort.value ;
	if (rgAktiv && checkIt == ""){
		message = "Bitte geben Sie den Ort der Rechnungsadresse an!" ;
		alert (message) ;
		document.forms[formName].rg_ort.focus() ;
		return false ;
	}
	//Bestellmenge
	var mengenCheck = false ;
	if(parseInt(document.forms[formName].elements[pfsoVideoDeutschAnzahlFeld].value) > 0){
		mengenCheck = true ;
	}
	/*if(parseInt(document.forms[formName].elements[pfsoDvdAnzahlFeld].value) > 0){
		mengenCheck = true ;
	}*/
	if(mengenCheck == false){
		message = "Bitte bestellen Sie mindestens ein Buch!" ;
		alert(message) ;
		return false ;
	}
	//Rechnungsart
	var artCheck = false ;
	for(var i=0; i<document.forms[formName].rechnungsart.length;i++){
		if(document.forms[formName].rechnungsart[i].checked == true){
			artCheck = true ;
		}
	}
	if(artCheck == false){
		message = "Bitte geben Sie eine Rechnungsart an!" ;
		alert(message) ;
		return false ;
	}
	return true ;
}

//ReadOnly-Wert und - Darstellung der Felder für die Rechnungsadresse umstellen
function toggleReadOnly(){
	var formName = "buchen" ;
	//---Schreiben erlauben
	if (document.forms[formName].rg_aktiv.checked == true){
		document.forms[formName].rg_strasse.readOnly = false ;
		document.forms[formName].rg_plz.readOnly = false ;
		document.forms[formName].rg_ort.readOnly = false ;
		document.forms[formName].rg_strasse.disabled = false ;
		document.forms[formName].rg_plz.disabled = false ;
		document.forms[formName].rg_ort.disabled = false ;
		//---CSS-Stil(e) entfernen
		document.getElementById("rg_strasse").className = "stdField" ;
		document.getElementById("rg_plz").className = "stdField" ;
		document.getElementById("rg_ort").className = "stdField" ;
		//---erstes Feld erhält den Focus
		document.forms[formName].rg_strasse.focus() ;
	}
	//---Schreiben verbieten
	else{
		document.forms[formName].rg_strasse.readOnly = true ;
		document.forms[formName].rg_plz.readOnly = true ;
		document.forms[formName].rg_ort.readOnly = true ;
		document.forms[formName].rg_strasse.disabled = true ;
		document.forms[formName].rg_plz.disabled = true ;
		document.forms[formName].rg_ort.disabled = true ;
		//---CSS-Stil(e) setzen
		document.getElementById("rg_strasse").className = "readOnlyField" ;
		document.getElementById("rg_plz").className = "readOnlyField" ;
		document.getElementById("rg_ort").className = "readOnlyField" ;
	}
}

function agb (breite, hoehe){
	var url = "../popupagb/scragb_filme.php" ;
	var name="winAgb" ;
	var attribute = "directories=no,height="+hoehe+",width="+breite+"menubar=no,location=no,scrollbars=yes,toolbar=no,resizable=yes" ;
	var winAgb = window.open(url, name, attribute) ;
	winAgb.focus() ;
}
