// JavaScript Document
function setup() {
	fontSizerOnLoad(readCookie("size"));
	placeLinkInServiceMenu("linkPrintPage");
	placeLinkInServiceMenu("linkTipAFriend");
	placeLinkInServiceMenu("fontSizer");
}

/**
  * Tip a Friend
  * Function verschiebt den am Ende der Seite erstellten Link der Ext. tipafriend nach
  * oben in die Liste des Service.Menues. 
  * Dazu wird der Link mit einem LI umgeben und dann an die best. Position in der
  * Liste eingef�gt.
  **/
function placeLinkInServiceMenu(linkId){
	if( document.getElementById(linkId) ){						// Zugriff auf den Tip-Link.
		var newLink = document.getElementById(linkId);			// Link durch Ext. am Ende der Seite bereits erstellt.
		var newListitem = document.createElement("li");			// Einen neuen Listeneintrag erzeugen:
		newListitem.appendChild(newLink);						// A in LI einf�gen.
		var naviListe = document.getElementById("naviService");	// LI in die UL-Liste vot Position [n] einf�gen:
		naviListe.insertBefore(newListitem, naviListe.getElementsByTagName("li")[1]);
	}
}



function ffnSubmitFormDonation(oForm){
	var donationAmount = document.getElementById("amount").value;
	var strErrMsg = "";
	var bolUsePayPal = false;
	
	// var strFieldNames ="salutation,title,name_first,name_last,company,address,citycode,place,country,telephone,fax,email,birth_day,birth_month,birth_year,profession,payrate,type_payment,bank_name,bank_depositor,bank_account,bank_code,bank_iban,bank_bic,creditcard_company,creditcard_depositor,creditcard_account,creditcard_securitypin,donation_rate,amount";  
	// bank_name,bank_depositor,bank_account,bank_code,bank_iban,bank_bic,creditcard_company,creditcard_depositor,creditcard_account,creditcard_securitypin,donation_rate";  		
	
	// Stammdatenfelder::
	var strFieldNames ="salutation,title,name_first,name_last,address,citycode,place,country,email,payrate,amount,type_payment";
	var valResult = ffnIsMissingRequiredFields(strFieldNames);
	if( valResult != false ){
		strErrMsg = strErrMsg + valResult;
	}
	
	// Spendenbetrag:
	if( parseInt(donationAmount) == 0 || isNaN(parseInt(donationAmount)) == true || donationAmount == "" ){
		document.getElementById("amount").value = "";
		strErrMsg = strErrMsg + "Der Spendenbetrag fehlt.\n";
	}else{
		// document.getElementById("paypal_amount").value = document.getElementById("amount").value;
	}
	
	// Einmalspende -> Bankeinzug:
	if( document.getElementById("donation_rate_1").checked == true && document.getElementById("type_payment_1").checked == true ){
		strFieldNames ="bank_name,bank_depositor,bank_account,bank_code";
		valResult = ffnIsMissingRequiredFields(strFieldNames);
		if( valResult != false ){
			strErrMsg = strErrMsg + valResult;
		}
	}
	
	// Einmalspende -> Kreditkarte:
	if( document.getElementById("donation_rate_1").checked == true && document.getElementById("type_payment_2").checked == true ){
		strFieldNames ="creditcard_depositor,creditcard_account,creditcard_expirydate,creditcard_securitypin";
		valResult = ffnIsMissingRequiredFields(strFieldNames);
		if( valResult != false ){
			strErrMsg = strErrMsg + valResult;
		}
	}
	
	// Einmalspende -> PayPal:
	if( document.getElementById("donation_rate_1").checked == true && document.getElementById("type_payment_3").checked == true ){
		bolUsePayPal = true;
	}
	
	if( strErrMsg == "" ){
		// Alles OK!
		// Noch das aktuelle Datum ins Hidden-Field eintragen (f�r Ausgabe in der eMail).
		document.getElementById("current_date").value = sfnGetCurrentDate();		
		
		if( bolUsePayPal == true ){
			document._xclick.submit();											// Formular f�r PayPal aufrufen.
		}
		oForm.submit();															// Hauptformular absenden.
		document.getElementById("cmd_submit").disabled = true;					// Sendebutton gegen Mehrmalsklicken sperren.
		
		
	}else{
		strErrMsg = "Bitte fuellen Sie alle mit einem * markierten Felder aus.\n\n" + strErrMsg;
		alert(strErrMsg);
	}
		
}

function ffnIsMissingRequiredFields(strFieldNames){
	var	arrFields = strFieldNames.split(",");
	var strErrMsg = "";

	for(i=0; i<arrFields.length; i++){
		
		switch(arrFields[i] ){
			case "salutation":		{ if( ffnCheckFieldSelect("salutation") == false ){ strErrMsg = strErrMsg + "Die Anrede fehlt.\n";};	break }
			case "name_first":		{ if( ffnCheckFieldText("name_first") == false ){ strErrMsg = strErrMsg + "Der Vorname fehlt.\n";};	break }
    		case "name_last": 		{ if( ffnCheckFieldText("name_last") == false ){ strErrMsg = strErrMsg + "Der Nachname fehlt.\n";}; break }
			case "company": 		{ if( ffnCheckFieldText("company") == false ){ strErrMsg = strErrMsg + "Die Firma fehlt.\n";}; break }
			case "address": 		{ if( ffnCheckFieldText("address") == false ){ strErrMsg = strErrMsg + "Die Adresse fehlt.\n";}; break }
			case "citycode": 		{ if( ffnCheckFieldText("citycode") == false ){ strErrMsg = strErrMsg + "Die PLZ fehlt.\n";}; break }
			case "place": 			{ if( ffnCheckFieldText("place") == false ){ strErrMsg = strErrMsg + "Der Ort fehlt\n";}; break }
			case "country": 		{ if( ffnCheckFieldText("country") == false ){ strErrMsg = strErrMsg + "Das Land fehlt.\n";}; break }
			case "telephone": 		{ if( ffnCheckFieldText("telephone") == false ){ strErrMsg = strErrMsg + "Die Telefonnummer fehlt.\n";}; break }
			case "fax": 			{ if( ffnCheckFieldText("fax") == false ){ strErrMsg = strErrMsg + "Die Faxnummer fehlt.\n";}; break }
			case "email": 			{ if( ffnCheckFieldText("email") == false ){ strErrMsg = strErrMsg + "Die E-Mail fehlt.\n";}; break }
			case "type_payment": 	{ if( ffnCheckFieldText("type_payment") == false ){ strErrMsg = strErrMsg + "Die Zahlungsart fehlt.\n";}; break }
			
			
			case "profession": 		{ if( ffnCheckFieldText("profession") == false ){ strErrMsg = strErrMsg + "Der Beruf dehlt.\n";}; break }
			case "bank_name": 		{ if( ffnCheckFieldText("bank_name") == false ){ strErrMsg = strErrMsg + "Der Bank-Name fehlt.\n";}; break }
			case "bank_depositor": 	{ if( ffnCheckFieldText("bank_depositor") == false ){ strErrMsg = strErrMsg + "Der Kontoinhaber fehlt.\n";}; break }
			case "bank_account":	{ if( ffnCheckFieldText("bank_account") == false ){ strErrMsg = strErrMsg + "Die Kontonummer fehlt.\n";}; break }
			case "bank_code": 		{ if( ffnCheckFieldText("bank_code") == false ){ strErrMsg = strErrMsg + "Die Bankleitzahl (BLZ) fehlt.\n";}; break }
			
			
			case "creditcard_expirydate": { if( ffnCheckFieldSelect("creditcard_expirydate") == false ){ strErrMsg = strErrMsg + "Das Gueltigkeitsdatum der Kreditkarte fehlt.\n";}; break }
			
			case "creditcard_depositor": { if( ffnCheckFieldText("creditcard_depositor") == false ){ strErrMsg = strErrMsg + "Der Kreditkarteninhaber fehlt.\n";}; break }
			case "creditcard_account": { if( ffnCheckFieldText("creditcard_account") == false ){ strErrMsg = strErrMsg + "Die Kreditkartennummer fehlt.\n";}; break }
			case "creditcard_securitypin": { if( ffnCheckFieldText("creditcard_securitypin") == false ){ strErrMsg = strErrMsg + "Die Kreditkarten Sicherungsnummer fehlt.\n";}; break }
		}
	}
	if( strErrMsg == "" ){
		return false;
	}else{
		return strErrMsg;
	}
}

function ffnCheckFieldText(strFieldID){
	// alert(strFieldID);
	if( document.getElementById(strFieldID).value == "" ){
		return false;
	}else{
		return true;
	}	
}
function ffnCheckFieldSelect(strFieldID){
	if( document.getElementById(strFieldID).options[document.getElementById(strFieldID).selectedIndex].value == "" ){
		return false;
	}else{
		return true;
	}	
}


/**
  * Spenden:
  * Abh�ngikeiten der Zahlungmoeglichkeiten von der Spendenart.
  **/
function sbSetDonationPaymentDependence(){
	return;
	// Einmalspende:
	if( document.getElementById("donation_rate_1").checked == true ){
		document.getElementById("type_payment_1").disabled = false;	// Bankeinzug.
		document.getElementById("payrate_1").disabled = true;	// Bankeinzug-Zahlungsweise AUS da nur einmalig.
		document.getElementById("payrate_2").disabled = true;	// Bankeinzug-Zahlungsweise AUS da nur einmalig.
		document.getElementById("type_payment_2").disabled = false;	// Kreditkarte.
		document.getElementById("type_payment_3").disabled = false;	// PayPal.
	// Dauerspende:
	}else if( document.getElementById("donation_rate_2").checked == true ){
		document.getElementById("type_payment_1").disabled = false;	// Bankeinzug.
		document.getElementById("payrate_1").disabled = false;	// Bankeinzug-Zahlungsweise AN da mehrmalig.
		document.getElementById("payrate_2").disabled = false;	// Bankeinzug-Zahlungsweise AN da mehrmalig.
		
		document.getElementById("type_payment_2").disabled = true;	// Kreditkarte.
		document.getElementById("type_payment_3").disabled = true;	// PayPal.
		
		document.getElementById("type_payment_1").click();
	}
}


function sbCheckDoantionAmount(oInput){
	if( oInput.value > ''){
		oForm = oInput.form
		if( oInput.value.indexOf(",") >=0 || oInput.value.indexOf(";") >=0 || oInput.value.indexOf(":") >=0 || oInput.value.indexOf(".") >=0 || oInput.value.indexOf("_") >=0 || oInput.value.indexOf("-") >=0 ){
		   oForm.amountFocusCatcher.focus();
		}		
		oInput.value = parseInt(oInput.value);
	
		if( isNaN(oInput.value) ){
			oInput.value = "";
		}
		
	}
	oForm.amountFocusCatcher.value = "";
}

function ffnSubmitFormPromoter(oForm){
	if( ffnTransferPromoterDonationAmount("amount_fix", "amount_var") == true ) {
		oForm.submit();
	}else{
		// Abbruch.
	}
}


function sbHandlePromoterDonationAmount(strDonationFixID, strDonationVarID) {
	if( document.getElementById(strDonationFixID).options[document.getElementById(strDonationFixID).selectedIndex].value == "0" ) {
		document.getElementById(strDonationVarID).disabled = false;
		document.getElementById(strDonationVarID).focus();
	}else{
		document.getElementById(strDonationVarID).value = "";
		document.getElementById(strDonationVarID).disabled = true;
	}
}

function ffnTransferPromoterDonationAmount(strDonationFixID, strDonationVarID) {
	if( document.getElementById(strDonationFixID).options[document.getElementById(strDonationFixID).selectedIndex].value == "0" && document.getElementById(strDonationVarID).value == "" ){
		alert("Bitte einen festen Betrag auswaehlen oder einen freien Betrag eingeben.");
		document.getElementById(strDonationFixID).focus();
		return false;
	}else{	
		if( document.getElementById(strDonationFixID).options[document.getElementById(strDonationFixID).selectedIndex].value != "0" ){
			document.getElementById("amount").value = document.getElementById(strDonationFixID).options[document.getElementById(strDonationFixID).selectedIndex].value;
		}else if ( document.getElementById(strDonationVarID).value != "" ){
			document.getElementById("amount").value = document.getElementById(strDonationVarID).value;
		}
		return true;
	}
}



function sbShowHideTypePayments( strShowElements, strHideElements ){
	var arrHideElements = strHideElements.split(",");
	var arrShowElements = strShowElements.split(",");
	var i;
	
	// Hide Elements.
	for(i=0; i<arrHideElements.length; i++){
		ffnSetDisplay(arrHideElements[i], "none");
	}
	
	// Show Elements.
	for(i=0; i<arrShowElements.length; i++){
		ffnSetDisplay(arrShowElements[i], "block");
	}
}

function ffnSetDisplay( strObjectID, strStatus ){
	if(document.getElementById(strObjectID)){
		document.getElementById(strObjectID).style.display = strStatus;
		return true;
	}else{
		return false;
	}
}


function sbFormSetDefaultVars(strFormId){
	return;
	// Abschnitt: Online-Spenden:
	if( strFormId == "frmDonation" ){
		// Spendenart = Einmalige Spende.
		if( document.getElementById("donation_rate_1").checked == false && 
			document.getElementById("donation_rate_2").checked == false ){
			document.getElementById("donation_rate_1").click();
		}
		// Zahlungsarten = Bankeinzug.
		if( document.getElementById("type_payment_1").checked == false && 
			document.getElementById("type_payment_2").checked == false && 
			document.getElementById("type_payment_3").checked == false ){
			document.getElementById("type_payment_3").click();
		}
		// Zahlungsweise bei Bankeinzug = jaehrlich.
		if( document.getElementById("payrate_1").checked == false && 
			document.getElementById("payrate_2").checked == false ){
			document.getElementById("payrate_1").click();
		}
	}
	
	
	// alert(document.getElementById("type_payment_1").checked +"-"+ document.getElementById("type_payment_2").checked );
	
	// Abschnitt: Mitgliedsantrag:
	if( strFormId == "frmMember" ){
		// Zahlungsarten = Bankeinzug.
		if( document.getElementById("type_payment_1").checked == false && 
			document.getElementById("type_payment_2").checked == false ){
			document.getElementById("type_payment_2").click();
		}else if( document.getElementById("type_payment_1").checked == false && 
			document.getElementById("type_payment_2").checked == true ){
			document.getElementById("type_payment_2").click();
		}else if( document.getElementById("type_payment_1").checked == true && 
			document.getElementById("type_payment_2").checked == false ){
			document.getElementById("type_payment_1").click();
		}
		
		
		// Zahlungsweise bei Bankeinzug = jaehrlich.
		if( document.getElementById("payrate_1").checked == false && 
			document.getElementById("payrate_2").checked == false ){
			document.getElementById("payrate_1").click();
		}
	}
	
		// Abschnitt: Foerdermitgliedsantrag:
	if( strFormId == "frmPromoter" ){
		// Zahlungsweise bei Bankeinzug = jaehrlich.
		if( document.getElementById("payrate_1").checked == false && 
			document.getElementById("payrate_2").checked == false ){
			document.getElementById("payrate_1").click();
		}
		if( document.getElementById("amount_fix").options[document.getElementById("amount_fix").selectedIndex].value != "0" ){
			document.getElementById("amount_var").disabled = true;
		}
		
	}

}



// ==============================================
// Copyright 2003 by jsCode.com
// Source: jsCode.com
// Author: etLux
// Free for all; but please leave in the header.
// ==============================================
 
// =================================================================
// Deutsche nachbearbeitung @ F0rris
//
// Ich habe das Script noch etwas umgebaut und ge�ndert so das es
// das datum im Deutschen Style anzeigt
// =================================================================
 
// Acceptable TheFontStyle values are (exactly!):
//     plain
//     bold
//     italic
//     bolditalic
function sfnGetCurrentDate(){
	var TheFontFace  = "Arial";
	var TheFontColor = "#0000000";
	var TheFontSize  = "1";
	var TheFontStyle = "blod"; 
	
	
	var TheSeparator = "-";
	
	
	
	var ShowDay ="yes";
	
	
	var Days = new Array("Sonntag","Montag","Dienstag","Mitwoch","Donnerstag","Freitag","Samstag");
	var TheDate = new Date();
	
	var TheWeekDay = TheDate.getDay();
	var Day ="";
	if (ShowDay == "yes"){
	Day = Days[TheWeekDay];
	Day += " ";}
	
	var TheMonth = TheDate.getMonth() + 1;
	if (TheMonth < 10) TheMonth = "0" + TheMonth;
	
	var TheMonthDay = TheDate.getDate();
	if (TheMonthDay < 10) TheMonthDay = "0" + TheMonthDay;
	
	var TheYear = TheDate.getYear();
	if (TheYear < 1000) TheYear += 1900;
	
	var FontTagLeft  = "";
	var FontTagRight = "";
	
	if (TheFontStyle == "bold"){
	FontTagLeft = "<b>";
	FontTagRight ="</b>";}
	
	if (TheFontStyle == "italic"){
	FontTagLeft = "<i>";
	FontTagRight ="</i>";}
	
	if (TheFontStyle == "bolditalic"){
	FontTagLeft = "<b><i>"; 
	FontTagRight = "</i></b>";}    
	
	var D = Day+TheMonthDay+TheSeparator+TheMonth+TheSeparator+TheYear;
	return D;
}





// Wird f�r PayPal-Form gebraucht.
// Von dr alten Website!
function set_currency(){
    var laenge = document.forms.os_paypal.amount.length;
    for (i=0; i <laenge; i++)document.forms.os_paypal.amount.options[document.forms.os_paypal.amount.length-1] = null;

    var cur = document.forms.os_paypal.currency_code.options[document.forms.os_paypal.currency_code.selectedIndex].value;
    var eur = "10,20,50,100,500,1000";
    var usd = "10,20,50,100,500,1000";
    var aud = "10,20,50,100,500,1000";
    var cad = "10,20,50,100,500,1000";
    var gbp = "10,20,50,100,500,1000";
    var jpy = "1000,2000,5000,10000,50000,100000";

    switch(cur){
        case "EUR": f = eur;
                    break;
        case "USD": f = usd;
                    break;
        case "AUD": f = aud;
                    break;
        case "CAD": f = cad;
                    break;
        case "GBP": f = gbp;
                    break;
        case "JPY": f = jpy;
                    break;
    }

    var fill = f.split(",");

    for( x=0; x<fill.length; x++ ){
        f = (fill[x]);
        f.replace(/ /g,"");
        neu = new Option(f,f,false,false);
        document.forms.os_paypal.amount.options[document.forms.os_paypal.amount.length] = neu;
    }

}

function fnWindowPrintPage(alink){
	var url = alink.href;	
	var win = window.open(url, "windowprintpage", "height=600,width=800,menubar=yes,toolbar=no,location=no,status=no,resizable=yes,scrollbars=yes");
	if( win ){
		win.focus();
		return false;
	}
	return true;
}


function fnOpenWindow(sUrl, sName, sParam){
	var oWin = window.open( sUrl, sName, sParam);	
	if( oWin == true ){
		oWin.focus();
		return true;
	}
	return false;
} 
