function checkPayment(){
    var wwidth = 400;
    var x = window.screen.width;
    var posx = x / 2 - (wwidth / 2);
    var wheight = 400;
    var y = window.screen.height;
    var posy = y / 2 - (wheight / 2);
    if (document.getElementById('gs[payment]').value == "ELV") {
        window.open("https://www.ec-jugend.de/fileadmin/scripts/gs_payment/gs_pay.php", "TASTE", "width=" + wwidth + ", height=" + wheight + ",top=" + posy + ",left=" + posx + ", status=0, directories=0,location=0,menubar=0,personalbar=0,resizable=0,scrollbars=0,titlebar=0");
    }
    
}

function submitIt(){
    alert("Hello");
}

function checkPDataForm(){
    var desAdds = ["Anrede", "Vorname", "Nachname", "Adresse", "Postleitzahl", "Ort", "Land", "E-Mail"];
    var desPay = ["Zahlung", "Wie erhalte ich den Gutschein?", "In welcher Höhe soll der Gutschein ausgestellt werden?"];
    var reqFieldsSender = "gs_adds[sender][title],gs_adds[sender][firstname],gs_adds[sender][surname],gs_adds[sender][address],gs_adds[sender][postcode],gs_adds[sender][place],gs_adds[sender][email]";
    var reqFieldsReceiver = "gs_adds[receiver][title],gs_adds[receiver][firstname],gs_adds[receiver][surname],gs_adds[receiver][address],gs_adds[receiver][postcode],gs_adds[receiver][place]";
    var reqFieldsPayment = "gs[payment],gs[delivery],gs[ammount]";
    
    var aS = reqFieldsSender.split(",");
    for (var x = 0; x < aS.length; x++) {
        if (document.getElementById(aS[x]).value == "" || document.getElementById(aS[x]).value == "0") {
            alert("Das Feld \"" + desAdds[x] + x + "\" muss ausgefüllt werden.");
            document.getElementById(aS[x]).focus();
            return false;
        }
    }
    var bS = reqFieldsReceiver.split(",");
    for (var i = 0; i < bS.length; i++) {
        if (document.getElementById(bS[i]).value == "" || document.getElementById(bS[i]).value == "0") {
            alert("Das Feld \"" + desAdds[i] + "\" muss ausgefüllt werden.");
            document.getElementById(bS[i]).focus();
            return false;
        }
    }
    var cS = reqFieldsPayment.split(",");
    for (var i = 0; i < cS.length; i++) {
        if (document.getElementById(cS[i]).value == "" || document.getElementById(cS[i]).value == "0") {
            alert("Das Feld \"" + desPay[i] + "\" muss ausgefüllt werden.");
            document.getElementById(cS[i]).focus();
            return false;
        }
    }
    
    if (checkSenderEmail() == false) {
        return false;
    }
    
    if (document.getElementById('gs[payment]').value == 'INVOICE') {
        document.getElementById('pdform').target = '_self';
        document.getElementById('pdform').action = 'payment_invoice.php';
    }
    else {
        document.getElementById('pdform').target = '_blank';
        document.getElementById('pdform').action = 'https://www.ec-jugend.de/fileadmin/scripts/bgs.ec-bildung.de/payment_noinvoice.php';
    }
    
}

function checkPDataForm1(){

    var error = 0;
    
    if (document.getElementById('gs_adds[sender][title]').value == "0") {
        alert("Bitte wählen sie ihre Anrede aus.");
        document.getElementById('gs_adds[sender][title]').focus();
        error++;
        return false;
    }
    
    if (document.getElementById('gs_adds[sender][firstname]').value == "") {
        alert("Bitte geben sie ihren Vornamen ein.");
        document.getElementById('gs_adds[sender][firstname]').focus();
        error++;
        return false;
    }
    
    if (document.getElementById('gs_adds[sender][surname]').value == "") {
        alert("Bitte geben sie ihren Nachnamen ein.");
        document.getElementById('gs_adds[sender][surname]').focus();
        error++;
        return false;
    }
    
    if (document.getElementById('gs_adds[sender][address]').value == "") {
        alert("Bitte geben sie ihre Adresse ein.");
        document.getElementById('gs_adds[sender][address]').focus();
        error++;
        return false;
    }
    
    if (document.getElementById('gs_adds[sender][postcode]').value == "") {
        alert("Bitte geben sie ihre Postleitzahl ein.");
        document.getElementById('gs_adds[sender][postcode]').focus();
        error++;
        return false;
    }
    
    if (document.getElementById('gs_adds[sender][place]').value == "") {
        alert("Bitte geben sie ihren Ort ein.");
        document.getElementById('gs_adds[sender][place]').focus();
        error++;
        return false;
    }
    
    if (document.getElementById('gs_adds[sender][country]').value == "0") {
        alert("Bitte wählen sie ihr Land aus.");
        document.getElementById('gs_adds[sender][country]').focus();
        error++;
        return false;
    }
    
    if (document.getElementById('gs_adds[sender][email]').value == "") {
        alert("Bitte geben Sie ihre Email-Adresse ein.");
        document.getElementById('gs_adds[sender][email]').focus();
        error++;
        return false;
    }
    else {
        if (isEmail(document.getElementById('gs_adds[sender][email]').value) == false) {
            alert("Die Email-Adresse hat nicht das gültige Format.");
            document.getElementById('gs_adds[sender][email]').focus();
            error++;
            return false;
        }
    }
    
    if (error == 0) {
        zuStep(1);
    }
}

function checkPDataForm2(){

    var error = 0;
    
    if (document.getElementById('gs_adds[receiver][title]').value == "0") {
        alert("Bitte wählen sie die Anrede des Gutschein-Empfängers aus.");
        document.getElementById('gs_adds[receiver][title]').focus();
        error++;
        return false;
    }
    
    if (document.getElementById('gs_adds[receiver][firstname]').value == "") {
        alert("Bitte geben sie den Vornamen des Gutschein-Empfängers ein.");
        document.getElementById('gs_adds[receiver][firstname]').focus();
        error++;
        return false;
    }
    
    if (document.getElementById('gs_adds[receiver][surname]').value == "") {
        alert("Bitte geben sie den Nachnamen des Gutschein-Empfängers ein.");
        document.getElementById('gs_adds[receiver][surname]').focus();
        error++;
        return false;
    }
    
    if (document.getElementById('gs_adds[receiver][address]').value == "") {
        alert("Bitte geben sie die Adresse des Gutschein-Empfängers ein.");
        document.getElementById('gs_adds[receiver][address]').focus();
        error++;
        return false;
    }
    
    if (document.getElementById('gs_adds[receiver][postcode]').value == "") {
        alert("Bitte geben sie die Postleitzahl des Gutschein-Empfängers ein.");
        document.getElementById('gs_adds[receiver][postcode]').focus();
        error++;
        return false;
    }
    
    if (document.getElementById('gs_adds[receiver][place]').value == "") {
        alert("Bitte geben sie den Ort des Gutschein-Empfängers ein.");
        document.getElementById('gs_adds[receiver][place]').focus();
        error++;
        return false;
    }
    
    if (document.getElementById('gs_adds[receiver][country]').value == "0") {
        alert("Bitte wählen sie das Land des Gutschein-Empfängers aus.");
        document.getElementById('gs_adds[receiver][country]').focus();
        error++;
        return false;
    }
    /*
     if (document.getElementById('gs_adds[receiver][email]').value == "") {
     alert("Bitte geben Sie die Email-Adresse des Gutschein-Empfängers ein.");
     document.getElementById('gs_adds[receiver][email]').focus();
     error++;
     return false;
     }
     else {
     if (isEmail(document.getElementById('gs_adds[receiver][email]').value) == false) {
     alert("Die Email-Adresse hat nicht das gültige Format.");
     document.getElementById('gs_adds[receiver][email]').focus();
     error++;
     return false;
     }
     }
     */
    if (error == 0) {
        zuStep(2);
    }
}

function checkPDataForm3(){

    var error = 0;
    
    if (document.getElementById('gs[payment]').value == "0") {
        alert("Bitte wählen sie eine Zahlungsart aus.");
        document.getElementById('gs[payment]').focus();
        error++;
        return false;
    }
    
    if (document.getElementById('gs[delivery]').value == "0") {
        alert("Bitte wählen sie eine Zustellungsart aus.");
        document.getElementById('gs[delivery]').focus();
        error++;
        return false;
    }
    
    //letztes Zeichen
    var char = document.getElementById('gs[ammount]').value;
    var lchar = char.substr(char.length - 1, char.length);
    //alert(lchar);
    if (lchar.indexOf(",") != -1) {
        alert('Geben Sie einen gültigen Betrag in der Form 10 oder 10,00 ein.');
        document.getElementById('gs[ammount]').focus();
        error++;
        return false;
    }
    
    if (lchar.indexOf(".") != -1) {
        alert('Geben Sie einen gültigen Betrag in der Form 10 oder 10,00 ein.');
        document.getElementById('gs[ammount]').focus();
        error++;
        return false;
    }
    
    if (document.getElementById('gs[ammount]').value.indexOf("-") != -1) {
        alert('Geben Sie einen gültigen Betrag in der Form 10 oder 10,00 ein.');
        document.getElementById('gs[ammount]').focus();
        error++;
        return false;
    }
    
    
    if (!isNaN(parseFloat(document.getElementById('gs[ammount]').value))) {
        var val = str_replace(",", ".", document.getElementById('gs[ammount]').value);
        //alert(val);
        //return false;
        if (val < 10) {
            alert('Der Mindestbestellwert für einen EC-Bildungsgutschein beträgt 10,00 EUR.');
            document.getElementById('gs[ammount]').focus();
            error++;
            return false;
        }
        if (val > 100) {
            alert('Der maximale Betrag für einen EC-Bildungsgutschein beträgt 100,00 EUR.');
            document.getElementById('gs[ammount]').focus();
            error++;
            return false;
        }
    }
    else {
        alert('Geben Sie einen Betrag ein.');
        document.getElementById('gs[ammount]').focus();
        error++;
        return false;
    }
    
    
    if (error == 0) {
        if (document.getElementById('gs[payment]').value == 'INVOICE') {
            document.getElementById('pdform').target = '_self';
            document.getElementById('pdform').action = 'payment_invoice.php';
        }
        else {
            document.getElementById('pdform').target = '_blank';
            document.getElementById('pdform').action = 'https://www.ec-jugend.de/fileadmin/scripts/bgs.ec-bildung.de/payment_noinvoice.php';
        }
        return true;
    }
}

function blurLink(){

}

function str_replace(search, replace, subject){
    var result = "";
    var oldi = 0;
    for (i = subject.indexOf(search); i > -1; i = subject.indexOf(search, i)) {
        result += subject.substring(oldi, i);
        result += replace;
        i += search.length;
        oldi = i;
    }
    return result + subject.substring(oldi, subject.length);
}

function isEmail(s){
    var ka = s.indexOf("@");
    if (ka < 1) {
        return false;
    }
    else {
        var p = s.substring(ka).indexOf(".");
        if (p < 1) {
            return false;
        }
        else {
            return true;
        }
    }
}

function checkGsUse1(){
    if (document.getElementById('gsuse').value == "gsfreeuse") {
        document.getElementById('gsfreeusetr').style.display = "block";
        document.getElementById('gsfreeuse').name = "gsbook[gs_use]";
        document.getElementById('gsuse').name = "gs[gs_use_1]";
        document.getElementById('gsbook[gs_redeemer]').disabled = false;
        document.getElementById('gs_book_use_message').innerHTML = '';
    }
    else {
        document.getElementById('gsfreeusetr').style.display = "none";
        document.getElementById('gsfreeuse').name = "gsbook[gs_use_1]";
        document.getElementById('gsuse').name = "gsbook[gs_use]";
        document.getElementById('gs_book_use_message').innerHTML = '<br><b>Bitte rechts die entsprechende Person aus den Anmeldedaten auswählen.</b>';
    }
}

function confirmSum(){

    var cursum = document.getElementById('gs[gs_currentsum]').value.replace(",", ".");
    var sub = document.getElementById('gs[gs_sub]').value.replace(",", ".");
    var newSum = cursum - sub;
    
    if (!isNaN(parseFloat(newSum))) {
        if (newSum < 0) {
            alert('Die abzuziehende Summe übersteigt das aktuelle Gutscheinguthaben!');
            return false;
        }
        else {
            var check = confirm("Gutscheinbetrag: " + cursum + " EUR - abzuziehender Betrag: " + sub + " EUR\n\nRestguthaben nach der Buchung: " + newSum + " EUR");
            if (check == true) {
                return true;
            }
            else {
                return false;
            }
        }
    }
    else {
        alert('Geben Sie einen gültigen Betrag ein.');
        document.getElementById('gs[gs_sub]').focus();
        return false;
    }
    
}

function checkFields(){
    var error = 0;
    if (document.getElementById('gsuse').value == "gsfreeuse" && document.getElementById('gsfreeuse').value == "") {
        alert("Das Feld \"freie Verwendung\" muss ausgefüllt werden.");
        error++;
    }
    if (document.getElementById('gsbook[gs_issuer]').value == "" || document.getElementById('gsbook[gs_redeemer]').value == "" || document.getElementById('gs[gs_sub]').value == "") {
        alert("Alle Felder müssen ausgefüllt werden.");
        error++;
    }
    
    if (error == 0) {
        if (confirmSum() == false) {
            error++;
        }
    }
   
    if (error != 0) {
        return false;
    }
}

function getUsersByCongress(){
    var ajaxRequest; // The variable that makes Ajax possible!
    try {
        // Opera 8.0+, Firefox, Safari
        ajaxRequest = new XMLHttpRequest();
    } 
    catch (e) {
        // Internet Explorer Browsers
        try {
            ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP");
        } 
        catch (e) {
            try {
                ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP");
            } 
            catch (e) {
                // Something went wrong
                alert("Your browser broke!");
                return false;
            }
        }
    }
    
    // Create a function that will receive data sent from the server
    ajaxRequest.onreadystatechange = function(){
        if (ajaxRequest.readyState == 4) {
            document.getElementById('getUserContainer').innerHTML = ajaxRequest.responseText;
            //TagToTip('getUsers', WIDTH, '300px', STICKY, true, CLICKCLOSE, true);
        }
    }
    
    var ec_congress = document.getElementById('gsuse').value;
    
    var queryString = "?ec_congress=" + ec_congress;
    ajaxRequest.open("GET", "functions.php" + queryString, true);
    ajaxRequest.send(null);
}

function addUserToField(id, pname, sname, ad, zip, city){
    document.getElementById('gs[ec_registration_id]').value = id;
    document.getElementById('gsbook[gs_redeemer]').innerHTML = pname + " " + sname + "\n" + ad + "\n" + zip + " " + city;
}

function checkLink(id){
    var k = document.getElementById(id).href;
    var io = k.indexOf("nischt");
    if (io > -1) {
        /*
         document.getElementById('menuMessy').innerHTML = 'Bitte erst einen Gutschein-Code eingeben und auf Überprüfen klicken.';
         setTimeout('clearMessy()', 3000);
         
         */
        alert("Bitte erst einen Gutschein-Code eingeben und auf 'Überprüfen' klicken.");
        return false;
    }
}

function clearMessy(){
    document.getElementById('menuMessy').innerHTML = '';
}

function zuStep(step){
    //alle ausblenden
    for (var i = 1; i <= 3; i++) {
        //	if(step == i){
        //		 if (document.getElementById("step" + i).style.display = 'none') {
        //            document.getElementById("step" + i).style.display = 'block';
        //        }
        //	} else {
        if (document.getElementById("step" + i).style.display = 'block') {
            document.getElementById("step" + i).style.display = 'none';
        }
        //	}
    
    }
    document.getElementById("step" + (step + 1)).style.display = 'block';
}

function backToStep(step){
    //alle ausblenden
    for (var i = 1; i <= 3; i++) {
        //	if(step == i){
        //		 if (document.getElementById("step" + i).style.display = 'none') {
        //            document.getElementById("step" + i).style.display = 'block';
        //        }
        //	} else {
        if (document.getElementById("step" + i).style.display = 'block') {
            document.getElementById("step" + i).style.display = 'none';
        }
        //	}
    
    }
    document.getElementById("step" + (step - 1)).style.display = 'block';
    
}

function setMouse(type, id){
    switch (type) {
        case "link":
            document.getElementById(id).style.cursor = 'pointer';
            break;
    }
}

function setMessPayment(){
    switch (document.getElementById('gs[payment]').value) {
        case "ELV":
            document.getElementById('messPayment').innerHTML = 'Sie werden auf eine Seite weitergeleitet, auf der sie ihre Kontodaten eingeben können. <b>Ihre Daten werden über eine verschlüsselte Datenleitung übertragen und sind damit sicher vor dem Zugriff Dritter.</b>';
            document.getElementById('messPayment').style.display = 'block';
            break;
        case "ECMC":
        case "VISA":
            document.getElementById('messPayment').innerHTML = 'Sie werden auf eine Seite weitergeleitet, auf der sie ihre Kreditkartendaten eingeben können. <b>Ihre Daten werden über eine verschlüsselte Datenleitung übertragen und sind damit sicher vor dem Zugriff Dritter.</b>';
            document.getElementById('messPayment').style.display = 'block';
            break;
        default:
            if (document.getElementById('messPayment').style.display == 'block') {
                document.getElementById('messPayment').style.display = 'none';
            }
            break;
    }
}

function checkPaymentFieldELV(){
    if (document.getElementById('payment[BLZ]').value == "") {
        alert("Bitte geben sie die Bankleitzahl ein.");
        document.getElementById('payment[BLZ]').focus();
        return false;
    }
    if (document.getElementById('payment[KONTONR]').value == "") {
        alert("Bitte geben sie die Kontonummer ein.");
        document.getElementById('payment[KONTONR]').focus();
        return false;
    }
}

function checkPaymentFieldECMC(){
    if (document.getElementById('payment[KARTENNR]').value == "") {
        alert("Bitte geben sie die Kreditkartennummer ein.");
        document.getElementById('payment[KARTENNR]').focus();
        return false;
    }
    if (document.getElementById('payment[CVC2]').value == "") {
        alert("Bitte geben sie die Kartenprüfziffer ein.");
        document.getElementById('payment[CVC2]').focus();
        return false;
    }
}

function checkGSCode(){
    if (document.getElementById('check[gs_code]').value == "") {
        alert("Bitte das Feld Gutschein-Code ausfüllen.");
        return false;
    }
    
}

function sendInvoice(action, gs_record_id){

    var ajaxRequest; // The variable that makes Ajax possible!
    try {
        // Opera 8.0+, Firefox, Safari
        ajaxRequest = new XMLHttpRequest();
    } 
    catch (e) {
        // Internet Explorer Browsers
        try {
            ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP");
        } 
        catch (e) {
            try {
                ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP");
            } 
            catch (e) {
                // Something went wrong
                alert("Your browser broke!");
                return false;
            }
        }
    }
    // Create a function that will receive data sent from the server
    ajaxRequest.onreadystatechange = function(){
        if (ajaxRequest.readyState == 4) {
			var nosend = 0;
            switch (action) {
                case "sendInvoice":
                    //document.getElementById('sendInvoiceButton_'+gs_record_id).innerHTML = ajaxRequest.responseText;
                    switch(ajaxRequest.responseText){
						case "noInvoiceNr":
							sendInvoice('getInvoiceNrForm', gs_record_id);
						break;
						case "invoiceSend":
							alert("Die Rechnung wurde bereits übermittelt.");
						break;
						default:
							alert("Es wird zunächst eine Vorschau der Rechnung angezeigt. Bitte kontrollieren sie die Angaben.\n\nSie können sich jederzeit eine Kopie der Rechnung durch einen Klick auf das Lupensymbol anzeigen lassen.");
	                        window.open("http://bgs.ec-bildung.de/invoices/" + ajaxRequest.responseText + ".pdf");
	                        
							setTimeout("sendMail('" + gs_record_id + "')",5000);  
						break;
					}
                    break;
                case "mailInvoice":
					if(ajaxRequest.responseText == '1'){
						document.getElementById('sendInvoiceButton_' + gs_record_id).innerHTML = '<img src="./img/sendInvoiceBlur.gif" title="Rechnung wurde bereits an den EC übermittelt">';
						alert("Die Rechnung wurde an den EC übermittelt.");
					} else {
						alert("Die Rechnung konnte nicht übermittelt werden.");
					}
                    break;
                case "showInvoice":
                    if (ajaxRequest.responseText == 'noInvoiceNr') {
                        sendInvoice('getInvoiceNrForm', gs_record_id);
                    }
                    else {
                        window.open("http://bgs.ec-bildung.de/invoices/" + ajaxRequest.responseText + ".pdf");
                    }
                    break;
                case "setInvoiceNr":
                    var rn = document.getElementById('gs_record_invoice_nr_' + gs_record_id).value;
                    var con = confirm("Soll die Rechnungsnummer\n\n" + rn + "\n\nnun gespeichert werden?");
                    if (con === true) {
                        sendInvoice('saveInvoiceNr', gs_record_id);
                    }
                    break;
                case "getInvoiceNrForm":
                    document.getElementById('addInvoiceNr_' + gs_record_id).innerHTML = ajaxRequest.responseText;
                    showWMTT('addInvoiceNr_' + gs_record_id);
                    break;
                case "saveInvoiceNr":
                    alert(ajaxRequest.responseText);
                    document.getElementById('addInvoiceNr_' + gs_record_id).innerHTML = ajaxRequest.responseText;
                    hideWMTT('addInvoiceNr_' + gs_record_id);
                    //sendInvoice('showInvoice', gs_record_id);
                    break;
                    
            }
            
        }
    }
    
    var queryString = "action=" + action + "&gs_record_id=" + gs_record_id;
    
    if (document.getElementById('gs_record_invoice_nr_' + gs_record_id)) {
        var invoiceNr = document.getElementById('gs_record_invoice_nr_' + gs_record_id).value;
        queryString += "&gs_record_invoice_nr=" + invoiceNr;
    }
    
    //alert(queryString);
    
    
    ajaxRequest.open("POST", "func/sendInvoice.func.php", true);
    ajaxRequest.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
    ajaxRequest.send(queryString);
}

function closeForm(gs_record_id){
	hideWMTT('addInvoiceNr_' + gs_record_id);
}

function sendMail(gs_record_id){
						var con = confirm('Soll die Rechnung jetzt an den EC übermittelt werden?');
                        if (con === true) {
                                   sendInvoice('mailInvoice', gs_record_id);
                        }  
}

