//////////////////////////////////////////////////////////////////////////// EINSTELLUNGEN - ANFANG

/////////////////////////////////// Pop-In-Referrer-Test (Pop-Ins werden nur angezeigt, wenn der User nicht von einer internen Seiten kommt)
var domain = "www.prdienst.de";  // Die eigene Domain
//var domain = "127.0.0.1";

/////////////////////////////////// Pop-In-Rahmen
var AnzahlPopUpAngezeigtIN = 0;  // Zähler für die gerade geoffneten Pop-Ups [ POP-IN ]
var MaxPopUpsIN = 1;             // gib an, wie viele Pop-Ups maximal geöffnet werden dürfen [ POP-IN ]

/////////////////////////////////// Pop-Out-Rahmen
var AnzahlPopUpAngezeigtOUT = 0; // Zähler für die gerade geoffneten Pop-Ups [ POP-IN ]
var MaxPopUpsOUT = 1;            // gib an, wie viele Pop-Ups maximal geöffnet werden dürfen [ POP-IN ]

/////////////////////////////////// Aktivierung von Testausgaben
var TestausgabenAktiv = 0;       // 1 = Ausgeben
//////////////////////////////////////////////////////////////////////////// EINSTELLUNGEN - ENDE 

/////////////////////////////////// Infos zur Eingindung:
////// Pop-In:
//  function pop_in() {
//  [pop-in-SSI]
//  }
////// Pop-Out:
//  function pop_out() {
//      if (intern == 0) {
//  [pop-out-SSI]
//      }
//  }
/////////////////////////////////// Infos Ende

////////////////////////////////////////////////////////////// Neuaufruf-Ermittlung - wichtig für Pop-Ins
var woher = document.referrer;                              // Aufruferseite bestimmen
var neuaufruf = 1;
var domain_backslashed = domain.replace(/\./g, "\\.");      // Punkte in der Domain ersetzen
var neuaufruf_regex = eval("/" + domain_backslashed + "/"); // Regulären Ausdruck erstellen
if (neuaufruf_regex.test(woher)) {                          // Regulären Ausdruck anwenden
    neuaufruf = 0;
} 

////////////////////////////////////////////////////////////// Für Pop-Outs
// ALLE INTERNEN Links müssen noch den Anhang   //
//' onClick=set_intern()'                       //
//in den '<A HREF="" ...>'-Tag gesetzt bekommen //
// DAS GLEICHE GILT AUCH FÜR:                   //
//  - Submit-Buttons                            //
//  - Javascript-Back-Buttons                   //
//////////////////////////////////////////////////
var intern = 0;
function set_intern() {
    intern = 1;
}

////////////////////////////////////////////////////////////// Pop-Ups öffnen
// Test, ob ein Pop-Up-Fenster geöffnet werden soll und die Durchführung dieser Öffnung:
function checkPopUp(Art, StartDatum, EndDatum, URL, popupWartezeit, imHintergrundOeffnen, xSize, ySize, CookieName, CookieValue, secCookieExpire, bcn1, bcb1, bcn2, bcb2, bcn3, bcb3, bcn4, bcb4) {
    // Art: 1 = Pop-In, 2 = Pop-Out
    var ArtOK = 0;
    if (Art == 1) { ArtOK = 1; }
    if (Art == 2) { ArtOK = 1; }
    if (ArtOK == 1) {
// Pop-In nur anzeigen, wenn der Surfer von einer externen Seite kam, bzw. die URL direkt eingegeben hat
        var anzeigen_bzgl_neuaufruf = 1;
        if (Art == 1) {
            if (neuaufruf == 0) { anzeigen_bzgl_neuaufruf = 0; }
        }
        if (anzeigen_bzgl_neuaufruf == 1) {
            var anzeigen_bzgl_intern = 1;
            if (Art == 2) {
                if (intern == 1) {
                    anzeigen_bzgl_intern = 0;
                }
            }
// Pop-Out nur anzeigen, wenn der Surfer das Fenseter schließt oder einen externen Link anklickt
            if (anzeigen_bzgl_intern == 1) {
                var AnzahlAngezeigt = AnzahlPopUpAngezeigtIN;
                var AnzahlMax = MaxPopUpsIN;
                if (Art == 2) {
                    AnzahlAngezeigt = AnzahlPopUpAngezeigtOUT;
                    AnzahlMax = MaxPopUpsOUT;
                }
                if (AnzahlAngezeigt < AnzahlMax) { // Test, ob ein weiteres Pop-Up geöffnet werden darf
                    var DatumJetzt = new Date(); // aktuellen Zeitpunkt bestimmen
                    var msJetzt = DatumJetzt.getTime(); // aktuellen Zeitpunkt in Millisekunden umrechnen
                    var msStart = StartDatum.getTime(); // Startzeitpunkt in ms umrechnen
                    var msEnd   = EndDatum.getTime();   // Endzeitpunkt in ms umrechnen
                    if (msJetzt >= msStart) { // Startzeitpunkt liegt in der Vergangenheit
                        if (msJetzt <= msEnd) { // Endzeitpunkt liegt in der Zukunft
//Cookie-Abhängigkeiten
                            if (checkPopUpCookie(CookieName, 2) == 1) { // Test, ob der zugehörige Cookie schon gesetzt wurde
                                if (checkPopUpCookie(bcn1, bcb1) == 1) { // Test, ob die 1. Darstellungs-Bedingung erfüllt wird
                                    if (checkPopUpCookie(bcn1, bcb1) == 1) { // Test, ob die 1. Darstellungs-Bedingung erfüllt wird
                                        if (checkPopUpCookie(bcn1, bcb1) == 1) { // Test, ob die 1. Darstellungs-Bedingung erfüllt wird
                                            if (checkPopUpCookie(bcn1, bcb1) == 1) { // Test, ob die 1. Darstellungs-Bedingung erfüllt wird
                                                if (Art == 1) { // Pop-In
                                                    // Pop-Up-Fenster ggf. zeitverzögert öffnen
                                                    var warten = self.setTimeout("openPopupWindow('" + URL + "', '" + xSize + "', '" + ySize + "', '" + imHintergrundOeffnen + "')", popupWartezeit);
                                                    AnzahlPopUpAngezeigtIN = AnzahlPopUpAngezeigtIN + 1;
                                                } else {
                                                    // Pop-Up-Fenster sofort öffnen
                                                    openPopupWindow(URL, xSize, ySize, imHintergrundOeffnen);
                                                    AnzahlPopUpAngezeigtOUT = AnzahlPopUpAngezeigtOUT + 1;
                                                }
                                                if (CookieName != '') { // Cookie setzen, wenn der Name nicht '' ist
//                                                    set_cookie(CookieName, CookieValue, secCookieExpire);
                                                } else { Testausgabe('Cookie-Name ist leer: ' + URL); }
                                            } else { Testausgabe('check 4: ' + URL); }
                                        } else { Testausgabe('check 3: ' + URL); }
                                    } else { Testausgabe('check 2: ' + URL); }
                                } else { Testausgabe('check 1: ' + URL); }
                            } else { Testausgabe('check self: ' + URL); }
                        } else { Testausgabe('abgelaufen: ' + msEnd + '\n' + URL); }
                    } else { Testausgabe('noch nicht gestartet: ' + msStart + '\n' + URL); }
                } else { Testausgabe('maximale Popup-Anzahl wurde angezeigt!: ' + URL); }
            } else { Testausgabe('Kein Popout bei internen Links' + URL); }
        } else { Testausgabe('kein Neuaufruf!!!'); }
    } else { Testausgabe('Pop-Up-Art ist Fehlerhaft: ' + Art); }
}

////////////////////////////////////////////////////////////// Test, ob bestimmte Cookies gesetzt sind
function checkPopUpCookie(TestName, TestBedingung) {
    var returnValue = 1;
    if (TestName != '') {
        var CookieValue = read_cookie(TestName);
        if (CookieValue != '') { // Cookie schon gesetzt
            if (TestBedingung == 1) { // muß gesetzt sein
//                returnValue = 1;
            } else { // darf nicht gesetzt sein
                returnValue = 0;
            }
        } else { // Cookie nicht gesetzt
            if (TestBedingung == 1) { // muß gesetzt sein
                returnValue = 0;
            } else { // darf nicht gesetzt sein
//                returnValue = 1;
            }
        }
    }
    return returnValue;
}

////////////////////////////////////////////////////////////// ggf. Testausgaben vornehmen
function Testausgabe(text) {
    if (TestausgabenAktiv == 1) {
        alert(text);
    }
}

