$.fn.single_double_click = function(single_click_callback, double_click_callback, timeout) {
return this.each(function() {
    var clicks = 0, self = this;
    if ($.browser.msie) { // ie triggers dblclick instead of click if they are fast
        $(this).bind("dblclick", function(event) {
            clicks = 2;
            double_click_callback.call(self, event);
        });
        $(this).bind("click", function(event) {
            setTimeout(function() {
                if (clicks != 2) {
                    single_click_callback.call(self, event);
                }
                clicks = 0;
            }, timeout || 300);
        });
    } else {
        $(this).bind("click", function(event) {
            clicks++;
            if (clicks == 1) {
                setTimeout(function() {
                    if (clicks == 1) {
                        single_click_callback.call(self, event);
                    } else {
                        double_click_callback.call(self, event);
                    }
                    clicks = 0;
                }, timeout || 300);
            }
        });
    }
});
}

        
//sonderfall schokotelegramm
function OnFinish(xml) {

        $("#xml").val(xml);
        
        $.each($('p.error_field'), function(key, value) { 
            $(value).html('');
        });
        
        xajax.call('orderprocess_handleprocess', {
            parameters:[xajax.getFormValues('abform')],
            onComplete: (function(){
                
                
            })
        });
        
        return false
}


// liest alle get parameter aus der url
function getUrlVars() {
    var vars = {};
    var parts = window.location.href.replace(/[?&]+([^=&]+)=([^&]*)/gi, function(m,key,value) {
        vars[key] = value;
    });
    return vars;
}

/*
AB HIER: SCHLEIFEN CONFIRM FENSTER
*/

// ueberpruefe, ob bei abbruch schleifentext leer ist
function ueberpruefeobpersoschleifeleer(event){
    if($('#slipknottext').val() == ""){
        if(confirm("Wenn Sie fortfahren wird keine Schleife ausgewählt.") == true){
            // schleifentext ist leer, user will nicht abbrechen
            $("#sl_none").attr("checked", true);
            // markierung auf "keine schleife" setzen
            markiere_schleife(0);
            // fenster schließen
            return true;
        } else {
            return false;
        }
    } else {
        return true;
    }
}
// färbt gewählte schleife ein
function markiere_schleife(schleifeid){
    // gesetzten hintergrund bei allen list items entfernen
    $(".slipknot_listitems").css("background-color", "");
    
    if (schleifeid != 0){
        // markiere nur list item wenn auswahl nicht "keine grusskarte"
        $("#slipknot_listitem_"+schleifeid).css("background-color", "#ccc");
        $("#slipknot_listitem_"+schleifeid).css("border-radius", "8px");
    }
}

/* es wurde auf vorschaubild für ein bundle geklickt */
$('input[name=slipknot]').click(function(){
    if($(this).val() == 1){
        // schleife mit wunschtext
        $('img.schleifen').trigger('click');
    } else {
        // alle anderen schleifen
       /* hole id string */
        var splitstring = $(this).attr('id').split('_');
        /* hole id aus id string */
        var schleifeid = splitstring[2];
        /* markiere aktuelle schleife */
        markiere_schleife(schleifeid);
    }
});

// user kommt aus warenkorb: eine schleife ist ausgewählt
if($('input:radio[name=slipknot]:checked').val() != 0){
    markiere_schleife($('input:radio[name=slipknot]:checked').val());
}

// es wurde auf eine schleife geklickt (vorschaubild)
$('img.schleifen').click(function(event) {
    // default schleifentextfarbe für erstaufruf (gold bei erstaufruf oder gespeicherten wert aus html)
    var schleifenfarbe = $('input:radio[name=slipknottextcolor]:checked').val();
    // kopiere schleifenname
    var schleifenname = $(this).attr('alt');
    // px größe vom vorschaubild
    var bilddimension = 250;
    // entpacke verpackungsnummer und bildnummer
    var splitstring = $(this).attr('id').split('_');
    // speichere bildnr
    var bildnr = splitstring[1];
    // speichere bundleid
    var schleifeid = splitstring[2];
    // speichere produktid
    var produktid = splitstring[3];
    // baue url für das bild zusammen
    var url = '/onlineshop/images/products/slipknots/' + bildnr + '_480.jpg';

    if(bildnr == 1 && schleifeid == 1){
        // personalisierbare schleife
        pruefeschleifentextlaenge();
        erstelleschleifenvorschaubild();
        aktualisierefontvorschaubild();
        
        // $("#schleifepersonalisiertcontainer").showconfirmwindow();
        $(".confirmwindow").hide();
        $("#schleifepersonalisiertcontainer").showconfirmwindow();
        $("#blackbackground").show();

        if($('#schleifepersonalisiertcontainer').is(":visible")){
            // schleife perso ist aktiv und sichtbar
        }
    } else {
        $("#schleifepersonalisiertcontainer").hide();

        $(".confirmcontent").html('<div style="margin-bottom:20px"><strong>"' + schleifenname +'" auswählen?</strong></div>'+
          '<div style="float:right; margin-top:0px; width:180px;">Mit einer Schleife verleihen Sie Ihrem Blumenstrauß eine wunderbar persönliche Note!</div>'+
          '<img id="schleifenbildgross" src="' + url + '" alt="Schleife" width="250" height="250"></br></br>'+
          '<div class="confirmfooter">'+
          '<a href="#" id="schleifenweiter" class="buttonred"><span>Ja - Weiter</span></a>'+
          '<a href="#" id="schleifenabbruch" class="buttongray"><span>Keine Schleife</span></a>'+
          '<div class="clearer"></div>'+
          '</div>');

        // zeige confirm fenster an
        $(".confirmwindow").hide();
        $("#confirmwindowdefault").show().centerwindow();
        $("#blackbackground").show();
    }

    // klick auf bild, markiere aktuelle schleife
    // markiere_schleife(schleifeid);
    markiere_schleife($('input:radio[name=slipknot]:checked').val());

    // binde weiter buttons an weiter funktion
    $("#schleifenweiter").unbind('click').bind("click", weiterschleifenauswahl);
    $("#schleifenpersonalisiertweiter").unbind('click').bind("click", weiterspersoschleifenauswahl);

    function weiterspersoschleifenauswahl(event){
        if($("#slipknottext").val() == ""){
            $("#slipknottext").focus();
            alert("Bitte geben Sie einen Schleifentext ein.");
            return false;
        } else {
            // eingabe in ordnung, schalte buttons an und markiere hintergrund
            weiterschleifenauswahl();
            //verhindert sprung
            return false;
        }
    }
    
    /* bei klick auf "schleife auswählen": schalte entsprechenden radio button an */
    function weiterschleifenauswahl(event){
        // schleifentext ist in ordnung
        $("#sl_" + bildnr + "_" + schleifeid + "_" + produktid).attr("checked", true);
        // markiere hintergrund
        markiere_schleife($('input:radio[name=slipknot]:checked').val());
        // fenster schließen
        closeconfirmwindow('weiter');
        //verhindert sprung
        return false;
    };

    // binde klick auf "vorschau" an vorschaufunktion
    $("#schleifenpersonalisiertweitervorschau").bind("click", erstelleschleifenvorschaubild);

    // aktualisiere das bild der gewählten schriftart + farbe
    function aktualisierefontvorschaubild(event){
        if(schleifenfarbe == 2){
            schleifenfarbetext = "rot";
        } else {
            schleifenfarbetext = "gold";
        }
        $("#fontpreview").attr('src', '/onlineshop/images/perso/schleifen/' + $('#slipknotfont').val() + '-'+schleifenfarbetext+'.png');
    }

    // radio button für farbe der schleife wird geändert
    $('input:radio[name=slipknottextcolor]').change(function(event) {
        schleifenfarbe = $(this).val();
        aktualisierefontvorschaubild();
        erstelleschleifenvorschaubild();
    });

    function keineschleifegewaehlt(){
        // checkbox "keine schleife" setzen
        $("#sl_none").attr("checked", true);
        // markierung auf "keine schleife" setzen
        markiere_schleife(0);
        // fenster schließen
        closeconfirmwindow('abbruch');
        return false;
    };
    
    // binde klick auf "nein - zurück" an die funktion zum schließen vom fenster
    $("#schleifenabbruch").unbind('click').bind("click", keineschleifegewaehlt);
    $("#schleifenpersonalisiertabbruch").unbind('click').bind("click", keineschleifegewaehlt);
    
    // lade das vorschaubild der schleife
    function erstelleschleifenvorschaubild(event){
        // folgende sonderzeichen nicht zur eingabe erlauben: # \ ~ ' " (/g = global regex damit mehrere vorkommnisse in einem string ersetzt werden)
        $("#slipknottext").val($("#slipknottext").val().replace(/#/g, ""));
        $("#slipknottext").val($("#slipknottext").val().replace(/\\/g, ""));
        $("#slipknottext").val($("#slipknottext").val().replace(/~/g, ""));
        $("#slipknottext").val($("#slipknottext").val().replace(/\'/g, ""));
        $("#slipknottext").val($("#slipknottext").val().replace(/\"/g, ""));
        
        if($("#slipknottext").val() == "") {
            // schleifentext ist leer; nimm platzhaltertext
            schleifentext = $("#slipknottext").attr('placeholder');
        } else {
            // schleifentext ist nicht leer; nimm textfeld wert
            schleifentext = $("#slipknottext").val();
        }

        // baue die bild url zusammen
        bildurl = "/onlineshop/imageSchleife.php?produkt=" + produktid + "&text=" + schleifentext + "&font=" + $('#slipknotfont').val() + "&size=" + bilddimension + "&color=" + schleifenfarbe;

        // lade das bild
        bildtag = $("<img src='" + bildurl + "'/>");

        // zeige das bild an
        $("#schleifenvorschaucontainer").html(bildtag);
        
        return false;
    }
    
    // dropdown schriftart: schrift wurde geändert
    $('#slipknotfont').change(function(event) {
        aktualisierefontvorschaubild();
        erstelleschleifenvorschaubild();
    });
    
    // return wurde im textfeld gedrückt
    $('#slipknottext').keydown(function(event) {
      if (event.keyCode == '13') {
         erstelleschleifenvorschaubild();
       }
    });

    // berechnet und zeigt die anzahl der verbleibenden buchstaben an
    function pruefeschleifentextlaenge(event){
        var allowed = 40;
        var totalLength = $('#slipknottext').val().length;
        $('#slipknotTXTCounter').html(allowed - totalLength);

        if(totalLength >= allowed){
            if(event.type != "focus"){
                if (event.keyCode != 46 && event.keyCode != 8 && event.keyCode != 13) {
                    return false;
                }
            }
            $('#slipknotTXTCounter').css("color", "#DB2122");
        } else {
            $('#slipknotTXTCounter').css("color", "");
        }
    }
    
    $('#slipknottext').bind("focus", pruefeschleifentextlaenge).bind("change", pruefeschleifentextlaenge).bind("keydown", pruefeschleifentextlaenge).bind("keypress", pruefeschleifentextlaenge).bind("keyup", pruefeschleifentextlaenge);
});
    

$(function(){
    
    // markierung für gutscheine
    $("input[name='gutscheintyp']").bind("change", function(){
        // setze alle verpackungsnamen optisch zurück
        $(".gutscheinheadline").removeClass("aktiv");
        $(".gutscheinheadline").addClass("inaktiv");
        
        // markiere aktuelle gutschein headline
        $("#gutscheinheadline_" + $("input[name='gutscheintyp']:checked").val()).removeClass("inaktiv");
        $("#gutscheinheadline_" + $("input[name='gutscheintyp']:checked").val()).addClass("aktiv");
    });
    

    if (typeof eingegebenegrusskartentexte == 'undefined'){
        // grusskarten textfeld array anlegen
        eingegebenegrusskartentexte = [];
        $('.cardFieldsContainerText').each(function(){
            // aktuelle grusskarten textzeile in grusskartentext array kopieren
            eingegebenegrusskartentexte.push($(this).val());
        })
    }

    $("#abform").bind("submit", handleorderprocess);
    
    // binde verschiedene buttons and den orderprozess bei klick
    $("#abformsubmit, #abformsubmit2, #abformsubmit3, #abformsubmit4").bind("click", handleorderprocess);

    // registrierung: wenn gast option geklickt
    $("#registerOptionGuest").click(function(){
        // das korrekte html formular anzeigen
        $("#allregisterfields").hide();
        $("#guestregisterfields").show();
        // höhe vom seitenpanel anpassen
        $(".LoginHelperBox").css("height", "442px");
        // optik der beiden boxen "guest" und "register" anpassen
        $("#registerOptionFull").removeClass("registerOptionBoxActive");
        $("#registerOptionFull").addClass("registerOptionBoxNotActive");
        $("#registerOptionGuest").removeClass("registerOptionBoxNotActive");
        $("#registerOptionGuest").addClass("registerOptionBoxActive");
        // wert vom radio button auf "guest" ändern
        $('input:radio[name="logintype"][value="guest"]').val("guest");
        $('input:radio[name="logintype"][value="register"]').val("guest");
    });

    // registrierung: wenn volle registrierung geklickt
    $("#registerOptionFull").click(function(){
        // das korrekte html formular anzeigen
        $("#allregisterfields").show();
        $("#guestregisterfields").hide();
        // höhe vom seitenpanel anpassen
        $(".LoginHelperBox").css("height", "546px");
        // optik der beiden boxen "guest" und "register" anpassen
        $("#registerOptionFull").removeClass("registerOptionBoxNotActive");
        $("#registerOptionFull").addClass("registerOptionBoxActive");
        $("#registerOptionGuest").removeClass("registerOptionBoxActive");
        $("#registerOptionGuest").addClass("registerOptionBoxNotActive");
        // wert vom radio button auf "register" ändern
        $('input:radio[name="logintype"][value="guest"]').val("register");
        $('input:radio[name="logintype"][value="register"]').val("register");
    });
    
    //$("#abformsubmit").single_double_click( handleorderprocess,function() {return false;});
    //$("#abformsubmit").bind("dblclick", function(){
    //    alert('t');
    //    return false;
    //});
    
    // user hat im bestellprozess auf den link "agb gelesen" geklickt; schaltet dazugehörige checkbox an
    $("#termsInfo").bind("click", function(event){
        // check AGB checkbox when clicking on the link
        $('#conditions').attr("checked", true);
    });
    
    $('<img src="/onlineshop/images/controls/bubble.png">').load(function(){
        /*
        $('#productaddedtocart').fadein(500).delay(5000).hide(400);
        */
        $('#productaddedtocart').fadeIn('slow', function(){}).delay(5000).fadeOut('fast', function(){});
    });

    function handleorderprocess(event){
        $('#abformsubmit').unbind();  
        
        $.each($('p.error_field'), function(key, value) { 
            $(value).html('');
        });
        
        xajax.call('orderprocess_handleprocess', {
            parameters:[xajax.getFormValues('abform')],
            onComplete: (function(){
                
                //$("#abformsubmit").single_double_click( handleorderprocess,function() {return false;});
                $("#abformsubmit").bind("click", handleorderprocess);
                
                
            })
        });
        
        return false
    }

    // user klickt auf "bestellung abbrechen" im bestellprozess
    function cancelorderprocess(event){
        if(confirm("Diesen Artikel aus dem Warenkorb entfernen?") == true){
            var splitstring = event.target.id.split('_');
            // entferne produkt aus warenkorb mittels xajax call
            xajax_orderprocess_deleteWK(splitstring[1], 1);
            // redirecte user auf warenkorb; aber erst mit verzögerung
            setTimeout(function() {
              window.location.href = "/onlineshop/shoppingcart/";
            }, 500);
        }
    }
    // binde klick auf "bestellung abbrechen" an die funktion zum abbrechen
    $(".cancelshoppingcart").bind("click", cancelorderprocess);


   
    /*
    AB HIER: FARBE FÜR BIERAUSWAHL ÄNDERN
    */
    $("div.beerContainer input[name='biertyp'], div.beerContainer input[type='radio']").bind("click", function(){
        // setze alle verpackungsnamen optisch zurück
        $(".biername").addClass("inaktiv");
        // markiere aktuellen verpackungsname
        $(this).next().removeClass("inaktiv");
        $(this).next().addClass("aktiv");
    });



    /*
    AB HIER: BUNDLE CONFIRM FENSTER
    */

    // färbt gewähltes bundle ein
    function markiere_bundle(bundleid){
        // gesetzten hintergrund bei allen list items entfernen
        $(".bundle_listitems").css("background-color", "");
        
        if (bundleid != 0){
            // markiere nur list item wenn auswahl nicht "keine grusskarte"
            $("#bundle_listitem_"+bundleid).css("background-color", "#ccc");
            $("#bundle_listitem_"+bundleid).css("border-radius", "8px");
        }
    }

    /* es wurde auf vorschaubild für ein bundle geklickt */
    $('input[name=bundle]').click(function(){
        /* hole id string */
        var splitstring = $(this).attr('id').split('_');
        /* hole id aus id string */
        var bundleid = splitstring[1];
        /* markiere aktuelle schleife */
        markiere_bundle(bundleid);
    });

    /* kein zusatzpräsent wurde gewählt */
    function keinzusatzpraesentgewaehlt(){
        // checkbox "kein zusatzpräsent" setzen
        $("#addon0").attr("checked", true);
        // hintergrund aller bundles zurücksetzen
        markiere_bundle(0);
        // fenster schließen
        closeconfirmwindow('abbruch');
        // verhindert sprung
        return false;
    };

    /* es wurde auf vorschaubild für ein bundle geklickt */
    $('img.zusatzpraesent').click(function(e) {
        var praesentname = $(this).attr('alt');

        /* hole ids */
        var referenzid = $(this).attr('id');
        /* entpacke bundlenummer und bildnummer */
        var splitstring = referenzid.split('_');
        /* speichere bildnr */
        var bildnr = splitstring[1];
        /* speichere bundleid */
        var praesentid = splitstring[2];
        /* speichere produktid */
        var produktid = splitstring[3];
        /* baue url für das bild zusammen */
        var url = '/onlineshop/images/products/bundles/' + bildnr + '_170.jpg';

        $('<img src="' + url + '>');
        $(".confirmcontent").html('<div style="margin-bottom:20px"><strong>Zusätzlich "' + praesentname +'" auswählen?</strong></div>'+
          '<img id="praesentbildgross" src="' + url + '" alt="Zusatzpräsent" width="170" height="170" style="float:right; margin-left:15px; margin-bottom:15px;">'+
          ' ' + $("#bundle_"+praesentid+"_beschreibung").val() + ' ' +
          '<div class="clearer"></div>'+
          '<div class="confirmfooter">'+
          '<a href="#" id="praesentweiter" class="buttonred"><span>Ja - Weiter</span></a>'+
          '<a href="#" id="praesentabbruch" class="buttongray"><span>Kein Zusatzpräsent</span></a>'+
          '<div class="clearer"></div>'+
          '</div>');
          
        $("#confirmwindowdefault").showconfirmwindow();

        // binde klick auf "nein - zurück" an die funktion zum schließen vom fenster
        $("#praesentabbruch").bind("click", keinzusatzpraesentgewaehlt);

        /* bei klick auf "bundle auswählen": schalte entsprechenden radio button an */
        $('#praesentweiter').click(function() {
            // passenden radio button auswählen
            $("#bundle_" + produktid).attr("checked", true);
            // hintergrund aktualisieren
            markiere_bundle($('input:radio[name=bundle]:checked').val());
            // schließe fenster
            closeconfirmwindow('weiter');
            //verhindert sprung
            return false;
        });

        /* tastaturhandling
        $(document).keyup(function(event) {
            // wenn escape gedrückt oder confirm fenster sichtbar
            if (event.keyCode == 27) { 
                // markierung auf "keine schleife" setzen
                markiere_bundle($('input:radio[name=bundle]:checked').val());
                // fenster schließen
                closeconfirmwindow('abbruch');
            }
        });
        */
    });
    

    /*
    AB HIER: VERPACKUNG CONFIRM FENSTER
    */
    $("ul.packages input[type='radio']").bind("click", function(){
        // setze alle verpackungsnamen optisch zurück
        $(".verpackungname").removeClass("aktiv");
        $(".verpackungname").addClass("inaktiv");
        
        // markiere aktuellen verpackungsname
        $(this).next().removeClass("inaktiv");
        $(this).next().addClass("aktiv");
    });
    
    $("#keineverpackung").bind("click", function(){
        // setze alle verpackungsnamen optisch zurück
        $(".verpackungname").removeClass("aktiv");
        $(".verpackungname").removeClass("inaktiv");
        
        $("#keineverpackunglabel span").addClass("aktiv");
    });

    // sehe nach, ob der url parameter "change" übergeben wurde (öffnet dann entsprechendes fenster)
    zuladendeoption = getUrlVars()["change"];
    
    if(zuladendeoption == "schleife" && $('input:radio[name=slipknot]:checked').val() == 1){
        // lade aktuelle grusskarte
        $('input:radio[name=slipknot]:checked').trigger("click");
    }

    /* es wurde auf vorschaubild für eine verpackung geklickt */
    $('img.verpackungsbild').click(function(e) {
        /* hole ids */
        var referenzid = $(this).attr('id');
        /* entpacke verpackungsnummer und bildnummer */
        var splitstring = referenzid.split('_');
        /* speichere bildnr */
        var bildnr = splitstring[1];
        /* speichere verpackungsname */
        var verpackungsname = splitstring[2];
        /* speichere verpackungsnr */
        var verpackungsnr = splitstring[3];
        /* baue url für das bild zusammen */
        var url = '/onlineshop/images/products/packaging/' + bildnr + '_350.jpg';
        
        /* inhalte für das div zusammenstellen */
        // bild laden bevor es angezeigt wird
        $('<img src="' + url + '>');
        $(".confirmcontent").html('<div style="margin-bottom:20px"><strong>Verpackung "' + verpackungsname +'" auswählen?</strong></div>'+
          '<img id="verpackunsbildgross" src="' + url + '" alt="Verpackung" width="350" height="350"></br></br>'+
          '<div class="confirmfooter">'+
          '<a href="#" id="verpackungweiter" class="buttonred"><span>Ja - Weiter</span></a>'+
          '<a href="#" id="verpackungabbruch" class="buttongray"><span>Standardverpackung</span></a>'+
          '<div class="clearer"></div>'+
          '</div>');
          
        // zeige confirm fenster an
        $("#confirmwindowdefault").showconfirmwindow();
        
        // binde klick auf "lieferdatum falsch" an die funktion zum schließen vom fenster
        $("#verpackungabbruch").click(function() {
            $("#keineverpackung").attr("checked", true);
            // setze alle verpackungsnamen optisch zurück
            $(".verpackungname").addClass("inaktiv");
            // setze alle verpackungen zurück
            $(".verpackungname").removeClass("aktiv");
            $(".verpackungname").removeClass("inaktiv");
            // setze "standard" optisch aktiv
            $("#keineverpackunglabel span").addClass("aktiv");
            // fenster schliessen
            closeconfirmwindow();
            // verhindert sprung
            return false;
        });
        
        /* bei klick auf "verpackung auswählen": schalte entsprechenden radio button an */
        $('#verpackungweiter').click(function() {
            $("#package_" + verpackungsnr).attr("checked", true);
            // setze alle verpackungsnamen optisch zurück
            $(".verpackungname").addClass("inaktiv");
            // markiere aktuellen verpackungsname
            $("#package_"+verpackungsnr).next().removeClass("inaktiv");
            $("#package_"+verpackungsnr).next().addClass("aktiv");
            // fenster schliessen
            closeconfirmwindow();
        });
    });


    /*
    AB HIER: SHOPPINGCART CONFIRM FENSTER (PRODUKTSEITE)
    */

    // setzt variable datechanged auf "true" wenn datum geändert wurde
    $('table.calendarTable tr td a').not(".isselected").click(function() {
        datechanged = "true";
        $("#putintoshoppingcart").hide();
        $("#abformsubmit2").show();
    });

    // setzt variable datechanged auf "false" wenn default datum nicht geändert wurde
    $('table.calendarTable tr td a.isselected').click(function() {
        datechanged = "false";
        $("#putintoshoppingcart").show();
        $("#abformsubmit2").hide();
    });

    // datum wurde standardmäßig nicht geändert
    datechanged = "false";

    // wenn shoppingcart icon geklickt wurde...
    $("#putintoshoppingcart").click(function () { 
      // prüfe ob sicherheitsabfrage gestartet werden muss

        var dateoforder = $("#orderdate").val();
        var dateparts = dateoforder.split("-");
        var formatteddate = dateparts[2] + '.' + dateparts[1] + '.' + dateparts[0];

        if(datechanged == 'false'){
            // datum wurde nicht geändert, sicherheitsabfrage anzeigen ob lieferdatum korrekt
            $onclickaction = "javascript:pageTracker._trackEvent('BestellungProduktseite','Cart');return true;";
            $(".confirmcontent").html("<strong>Ist das Lieferdatum " + formatteddate + " korrekt?</strong><br/>&nbsp;<br/>"+
              '<div class="confirmfooter">'+
              '<a href="#" id="lieferdatumweiter" class="buttonred" '+$onclickaction+'><span>Ja - Weiter</span></a>'+
              '<a href="#" id="lieferdatumabbruch" class="buttongray"><span>Zurück</span></a>'+
              '<div class="clearer"></div>'+
              '</div>');

              // zeige fenster an
              $("#confirmwindowdefault").showconfirmwindow();

              // binde klick auf "lieferdatum falsch" an die funktion zum schließen vom fenster
              $("#lieferdatumabbruch").bind("click", closeconfirmwindow);

              // binde klick auf "lieferdatum richtig" an die funktion zum absenden vom forumlar
              $(".confirmwindow a#lieferdatumweiter").bind("click", handleorderprocess);

              return false;
        } else {
            $("#putintoshoppingcart").hide();
            // datum wurde geändert -- formular absenden
        }
    });
});



(function($){
     $.fn.extend({ 

         andyRate: function(options) {

            var defaults = {
                allowVote:0,
                productID:0
            };
            
            var options = $.extend(defaults, options);
            
            var obj = $(this);
            var objID = $(this).attr('id');                  
            var items = $("li span", obj);
    
            if(options.allowVote == 1){
                items.bind("mouseover", handlestarrating).bind("mouseout", resetstarrating).bind("click", rateproduct);
            } else {
                items.bind("click", alreadyvoted);
            }
            
            
            function handlestarrating(event) {
                
                overstar = event.target.id.substr(0, 1);

                $.each(items, function(key, value) { 
                    if(value.id.substr(0, 1) && value.id.substr(0, 1) <= overstar){
                        $(this).css("background", "transparent url(/onlineshop/images/controls/controls_adv.png) -225px -1900px no-repeat");
                        $('#raterDescription').html(value.title);
                    } else {
                        if($(this).hasClass('empty-rating')){
                            $(this).css("background", "transparent url(/onlineshop/images/controls/controls_adv.png) -225px -1850px no-repeat");
                        }else if($(this).hasClass('current-rating')){
                            $(this).css("background", "transparent url(/onlineshop/images/controls/controls_adv.png) -225px -1875px no-repeat");
                        }
                    }
                });
            }
            
            function resetstarrating(event) {
                
                overstar = event.target.id.substr(0, 1);
                
                $.each(items, function(key, value) { 
                    if($(this).hasClass('empty-rating')){
                        $(this).css("background", "transparent url(/onlineshop/images/controls/controls_adv.png) -225px -1850px no-repeat");
                    }else if($(this).hasClass('current-rating')){
                        $(this).css("background", "transparent url(/onlineshop/images/controls/controls_adv.png) -225px -1875px no-repeat");
                    }                
                });
                
                $('#raterDescription').html('');
            }


            function rateproduct(event) {
                
                overstar = event.target.id.substr(0, 1);
                items.unbind();

                xajax.call('product_rateProduct', {
                    parameters:[options.productID, overstar],
                    onComplete: (function(){
                        $('#' + objID).andyRate({allowVote: 0, productID: options.productID});
                    })
                });

                return false;
            }
            
            function alreadyvoted(event) {
                alert('Dieses Produkt haben Sie bereits bewertet. Eine Mehrfachbewertung ist nicht möglich.');
                return false;
            }
        }
    });
})(jQuery);




(function($){
     $.fn.extend({ 

         orderBeerStd: function(options) {

            var defaults = {
                labelID: '',
                labelType: '0',
                productID: '',
                wkID: 0,
                list: $('#labellist li a')
            };
            
            var options = $.extend(defaults, options);
    
            if(!options.labelID || options.labelID == ''){
                options.labelID = options.list[0].id.substr(2, options.list[0].id.length);
            } 
            
            $('#beersubmit').bind('click', changeLabel);
            $('#abform').bind('submit', changeLabel);
            $('#workbenchfields input.colorpicker').bind('click', showPicker);
            $('#abform a.cpCloseButton').bind('click', hidePicker);
            $('#abform table.pickerTable tbody td.pickerCell').bind('click', selectColor);
            $('#labellist li a').bind('click', selectLabel).children('img').css('border', '1px solid #fff');
            $('#lb' + options.labelID).children('img').css('border', '1px solid #f00');

            function changeLabel(event){
                $('#perso_errors').html('');
                $('#abform input').removeClass('error');
                
                var error = 'no';
                
                $.each($('#abform input'), function(key, value) {
                    if(value.type == 'text'){
                        if($(value).val() == ''){    
                            $('#perso_errors').html('Bitte geben Sie einen Text ein!');
                            $(value).addClass('error');
                            error = 'yes';
                        }
                    }
                });
    
                if(error == 'no'){
                    $('workbenchpreview').html('');
                    xajax.call('beer_changeLabelAB', {
                        parameters:[options.labelID, options.productID, options.wkID, xajax.getFormValues('abform')]
                    });
                }
                return false;
            }

            function selectLabel(event){
            
                var modified = 'no';
                $.each($('#abform input'), function(key, value) {
                    if(value.id.substr(0, 4) == 'text'){
                        if($(value).val() != $('input[name=default' + value.id + ']').val()) modified = 'yes';
                    }
                });
        
                if(modified == 'no') var changeConfirm = true;
                else var changeConfirm = confirm("Wenn Sie das Motiv wechseln gehen Ihre Eingaben verloren. Wollen Sie das Motiv wechseln?")
        
                if (changeConfirm == true){
                    $('#labellist li a').unbind().children('img').css('border', '1px solid #fff');
                    $('#' + this.id).children('img').css('border', '1px solid #f00');
                    $('workbenchpreview').html('');
                               
                    xajax.call('beer_changeLabelAB', {
                        parameters:[this.id.substr(2, this.id.length), options.productID, options.wkID, xajax.getFormValues('abform'), 1]
                    });
                }
                return false;        
            }
            
            function showPicker(event){
                $('#' + $(this).val()).show();
                return false;
            }
        
            function hidePicker(event){
                $('#colorpicker_' + this.id.substr(7, this.id.length)).hide();
                return false;
            }
            
            function selectColor(event){
                
                $('div.colorpicker').hide();
                $('#workbenchpreview').html('');
                
                var realid = $(this).parents("table.pickerTable").get(0).id.substr(6, $(this).parents("table.pickerTable").get(0).id.length);

                if($(this).css('backgroundColor').substr(0,3) == 'rgb'){
                    $('input:hidden[name=fontcolor[' + realid + ']]').val(rgbConvert($(this).css('backgroundColor')));
                } else {
                    $('input:hidden[name=fontcolor[' + realid + ']]').val($(this).css('backgroundColor'));
                }
        
                $('#labellist li a').unbind();
                $('workbenchpreview').html('');

                xajax.call('beer_changeLabelAB', {
                    parameters:[options.labelID, options.productID, options.wkID, xajax.getFormValues('abform')]
                });
                
                return false;

            }
        
            function rgbConvert(str) {
                str = str.replace(/rgb\(|\)/g, "").split(",");
                str[0] = parseInt(str[0], 10).toString(16).toLowerCase();
                str[1] = parseInt(str[1], 10).toString(16).toLowerCase();
                str[2] = parseInt(str[2], 10).toString(16).toLowerCase();
                str[0] = (str[0].length == 1) ? '0' + str[0] : str[0];
                str[1] = (str[1].length == 1) ? '0' + str[1] : str[1];
                str[2] = (str[2].length == 1) ? '0' + str[2] : str[2];
                return ('#' + str.join(""));
            }
            
        }
    });
})(jQuery);




(function($){
     $.fn.extend({ 
         orderPersCalendar: function(options) {
            var defaults = {
                productID: '',
                cartID: 0,
                ots_set: ''
            };
            var options = $.extend(defaults, options);
            if(options.ots_set == 4){
                $('#ots_bildtext').bind('focus', checkLenOtsBildtext2).bind('focus', checkLenOtsBildtext2).bind('change', checkLenOtsBildtext2).bind('keydown', checkLenOtsBildtext2).bind('keypress', checkLenOtsBildtext2).bind('keyup', checkLenOtsBildtext2);
                $('#ots_bildtext2').bind('focus', checkLenOtsBildtext3).bind('focus', checkLenOtsBildtext3).bind('change', checkLenOtsBildtext3).bind('keydown', checkLenOtsBildtext3).bind('keypress', checkLenOtsBildtext3).bind('keyup', checkLenOtsBildtext3);
                $('#otsBildtextCounter').html(20 - $('#ots_bildtext').val().length);
            } else {
                $('#ots_bildtext').bind('focus', checkLenOtsBildtext).bind('focus', checkLenOtsBildtext).bind('change', checkLenOtsBildtext).bind('keydown', checkLenOtsBildtext).bind('keypress', checkLenOtsBildtext).bind('keyup', checkLenOtsBildtext);
                $('#otsBildtextCounter2').html(20 - $('#ots_bildtext2').val().length);
            }
            $('#ots_grusstext').bind('focus', checkLenOtsGrusstext).bind('focus', checkLenOtsGrusstext).bind('change', checkLenOtsGrusstext).bind('keydown', checkLenOtsGrusstext).bind('keypress', checkLenOtsGrusstext).bind('keyup', checkLenOtsGrusstext);
            $('#kalendervorschau').bind('click', makeKalenderPopup);
            $('#CalSelectFields div.jsdummy input').bind('click', changeCalImg);
            function checkLenOtsBildtext(event){
                $('#otsBildtextCounter').html(30 - $('#ots_bildtext').val().length);
            }
            
            function checkLenOtsBildtext2(event){
                $('#otsBildtextCounter').html(15 - $('#ots_bildtext').val().length);
            }
            
            function checkLenOtsBildtext3(event){
                $('#otsBildtextCounter2').html(15 - $('#ots_bildtext2').val().length);
            }
            
            function checkLenOtsGrusstext(event){
                $('#otsGrusstextCounter').html(200 - $('#ots_grusstext').val().length);
                if($('#ots_grusstext').val().length >= 200){
                    if(event.type != "focus"){
                        if (event.keyCode != 46 && event.keyCode != 8 ) {
                            return false;
                        }
                    }
                }
            }

            function makeKalenderPopup(event){
                if( $('input[name="ots_set"]').get(0).type == 'hidden') var ots_set = $('#ots_set').val();
                else var ots_set = $('input[name="ots_set"]:checked').val();
                if ($('#ots_bildtext').val() == '' || (ots_set == 4 && $('#ots_bildtext2').val() == '')){
                    $('#ots_errortext, #ots_errortext2').hide();
                    if ($('#ots_bildtext').val() == '') $('#ots_errortext').html('Bitte geben Sie einen Text ein').show();
                    if (ots_set == 4 && $('#ots_bildtext2').val() == '') $('#ots_errortext2').html('Bitte geben Sie einen Text ein').show();

                } else {
                    $('#ots_errortext, #ots_errortext2').hide();                    
                    var values = "&m=" + $('#ots_startmonth').val() + "&y=" + $('#ots_startyear').val() + "&t=" + escape(utf8_encode(unescape($('#ots_bildtext').val()))) + "&g=" + escape($('#ots_grusstext').val()) + "&set=" + ots_set;
                    
                    if (ots_set == 4){
                        values = values + "&t2=" + escape(utf8_encode(unescape($('#ots_bildtext2').val())))+"&set=4";
                        Vorschau = window.open("/onlineshop/imageKalender.php?produkt_ID=" + $('#productID').val() + values, "Zweitfenster", "screenX=100,screenY=30,width=950,Height=600,scrollbars=yes,resizable=yes");
                    } else {
                        Vorschau = window.open("/onlineshop/imageKalender.php?produkt_ID=" + $('#productID').val() + values, "Zweitfenster", "screenX=100,screenY=30,width=540,Height=600,scrollbars=yes,resizable=yes");
                    }
                    Vorschau.focus();
                }
                return false;
            }
            
            function changeCalImg(event){
                xajax.call('jahreskalender_changeKalImg', {
                    parameters:[$(this).val(), options.productID]
                });
            }
        }
    });
})(jQuery);


(function($){
     $.fn.extend({ 

         orderPersCalendarPP: function(options) {

            var defaults = {
                productID: '',
                cartID: 0,
                ots_set: '',
                bildID :0,
                year :0,
                doundbind : 0
            };
            
            var options = $.extend(defaults, options);

            bildID = $('bildID').val();
            if(options.year) {
                year = options.year;
                
            }
            
            if(options.dounbind == 1) {
                $('#ots_bildtext').unbind();    
            $('#ots_grusstext').unbind();    
            $('#kalendervorschaupp').unbind();
            $('#CalSelectFields div.jsdummy input').unbind();
            $('#magiclist div').unbind();
             $('#ots_startyear').unbind();
            $('#ots_startmonth').unbind();
            $('.color').each(function(){
                $(this).unbind();
              
            })
            }

            $('#ots_bildtext').bind('focus', checkLenOtsBildtext).bind('focus', checkLenOtsBildtext).bind('change', checkLenOtsBildtext).bind('keydown', checkLenOtsBildtext).bind('keypress', checkLenOtsBildtext).bind('keyup', checkLenOtsBildtext);
            
            $('#ots_grusstext').bind('focus', checkLenOtsGrusstext).bind('focus', checkLenOtsGrusstext).bind('change', checkLenOtsGrusstext).bind('keydown', checkLenOtsGrusstext).bind('keypress', checkLenOtsGrusstext).bind('keyup', checkLenOtsGrusstext);
            $('#kalendervorschaupp').bind('click', makeKalenderPreview);
            $('#CalSelectFields div.jsdummy input').bind('click', getMagics);
            $('#magiclist div').bind('click', makeKalenderPreview).children('img').css('border', '2px solid #fff');
            $('#ots_startmonth').bind('change',getMagics);
            $('#ots_startyear').bind('change',getMagics);
            $('.color').each(function(){
              
               $(this).bind('click',color_set);
            })
            makeKalenderPreview();
            
            function color_set(event) {
                 var colorparts = this.id.split("_");
                $('#colorID').val(colorparts[1]);
                $('.colorbox').each(function(){
                    $(this).removeClass('colorbox_active');
                })
               
                $(this).parent().addClass('colorbox_active');
                makeKalenderPreview();
            }
            
            
            function getMagics(event) {
                $('#magiclist div').unbind();
                $('#CalSelectFields div.jsdummy input').unbind();
                xajax_jahreskalender_getMagics($("input[name='ots_set']:checked").val(),$("#ots_startmonth").val(),$("#ots_startyear").val());
                
                $('#magic_0_'+$('#bildID').val()+'_0_').css('border','1px #999999 solid');
            }

            function checkLenOtsBildtext(event){
                $('#otsBildtextCounter').html(30 - $('#ots_bildtext').val().length);
            }
            
            function checkLenOtsBildtext2(event){
                $('#otsBildtextCounter').html(30 - $('#ots_bildtext').val().length);
            }
            
            function checkLenOtsBildtext3(event){
                $('#otsBildtextCounter2').html(30 - $('#ots_bildtext2').val().length);
            }
            
            function checkLenOtsGrusstext(event){
                $('#otsGrusstextCounter').html(200 - $('#ots_grusstext').val().length);
                if($('#ots_grusstext').val().length >= 200){
                    if(event.type != "focus"){
                        if (event.keyCode != 46 && event.keyCode != 8 ) {
                            return false;
                        }
                    }
                }
            }
            
            function makeKalenderPreview(event){
                var error = 'no';
                
                 $('#magiclist div').each(function(){
                            $(this).css('border','');
                         })
                if($('#ots_bildtext').val() == ''){
                    $('#perso_errors').html('Bitte geben Sie einen Text ein!');
                    $('#ots_bildtext').addClass('error');
                    error = 'yes';
                } else {
                    $('#ots_bildtext').removeClass('error');
                    $('#perso_errors').html('');
                }
                
                if(error == 'no') {
                    if(this.id && this.id!='kalendervorschaupp') {
                        var caleparts = this.id.split("_");
                        month=caleparts[3];
                        year = caleparts[4];
                        bildID=caleparts[2];
                        
                        $('#bildID').val(this.id);
                        $('#magiclist div').each(function(){
                            $(this).css('border','');
                        })
                        $(this).css('border','1px #999999 solid');
                        if(caleparts[1]==0) {
                            widmung=$('#ots_grusstext').val();
                            year = $('#ots_startyear').val();
                        } else {
                            
                            widmung='';
                        }
                    } else if(this.id=='kalendervorschaupp') {
                        bildID=$('#bildID').val();
                      
                        year = $('#ots_startyear').val();
                        month = $('#ots_startmonth').val();
                        $('#'+bildID).css('border','1px #999999 solid');
                        var caleparts = bildID.split("_");
                        month=caleparts[3];
                        if(month==0) {
                            year = $('#ots_startyear').val();
                        } else {
                            year = caleparts[4];
                            
                        }
                         widmung=$('#ots_grusstext').val();
                        bildID=caleparts[2];
                        
                        
                    } else {
                        
                        bildID=$('#bildID').val();
                        
                        year = $('#ots_startyear').val();
                        month = $('#ots_startmonth').val();
                        $('#'+bildID).css('border','1px #999999 solid');
                        var caleparts = bildID.split("_");
                        month=caleparts[3];
                        
                        if(month==0) {
                            year = $('#ots_startyear').val();
                        } else {
                            year = caleparts[4];
                            
                        }
                        bildID=caleparts[2];
        
                        widmung=$('#ots_grusstext').val();
                         
                    }
                color = $('#colorID').val();
                ppid = $('#ppID').val();
                ppla = $('#ppla').val();
                var encodedtext = Url.encode($('#ots_bildtext').val());
                    $('#workbenchpreview').html('<img src="/onlineshop/imageDP.php?t='+encodedtext+'&amp;set='+bildID+'&m='+ month +'&amp;y='+year+'&amp;c='+color+'&amp;w='+widmung+'&amp;p='+ppid+'&amp;l='+ppla+'" alt="Vorschau" border="0" width="'+$('#ppw').val()+'px"  />');
                  
                }
                return false;
            }

        }
    });
})(jQuery);



(function($){
     $.fn.extend({ 

         orderBierkrug: function(options) {

            var defaults = {
                labelID: '',
                productID: '',
                wkID: 0
            };
            
            var options = $.extend(defaults, options);


            if(!options.labelID || options.labelID == ''){
                labelID = $('#labellist li a').get(0).id.substr(2, $('#labellist li a').get(0).id.length);
            } else {
                labelID = options.labelID;
            }
            
            $('#beersubmit').bind('click', changeLabel);
            $('#abform').bind('submit', changeLabel);

            $('#labellist').css("width", ($('#labellist li').length * 320) + 'px');
            $('#labellist li a').bind('click', selectLabel).children('img').css('border', '1px solid #fff');
            $('#lb' + options.labelID).children('img').css('border', '1px solid #f00');
            
            
            function changeLabel(event){
                if(event.type == 'click') $(this).blur();
                var error = 'no';
                
                if($('#bierkrugtext').val() == ''){
                    $('#perso_errors').html('Bitte geben Sie einen Text ein!');
                    $('#bierkrugtext').addClass('error');
                    error = 'yes';
                } else {
                    $('#bierkrugtext').removeClass('error');
                    $('#perso_errors').html('');
                }
        
                if(error == 'no'){
                    $('#beersubmit, #abform, #labellist li a').unbind();
                    $('workbenchpreview').html('');
                    if(!options.labelID || options.labelID == ''){
                         labelID = $('#labellist li a').get(0).id.substr(2, $('#labellist li a').get(0).id.length);
                     } else {
                        labelID = options.labelID;
                     }
                    
                    xajax_bierkrug_changeLabel(labelID, options.productID, options.wkID, xajax.getFormValues('abform'));
                }
                return false;
            }
        
            function selectLabel(event){
    
                var modified = 'no';
                
                $.each($('#abform input'), function(key, value) {
                    if(value.id.substr(0, 4) == 'text'){
                        if($(value).val() != $('input[name=default' + value.id + ']').val()) modified = 'yes';
                    }
                });
        
                if(modified == 'no') var changeConfirm = true;
                else var changeConfirm = confirm("Wenn Sie das Motiv wechseln gehen Ihre Eingaben verloren. Wollen Sie das Motiv wechseln?")
        
                if (changeConfirm == true){
                    $('#labellist li a').unbind().children('img').css('border', '1px solid #fff');
                    $('#' + this.id).children('img').css('border', '1px solid #f00');
                    $('workbenchpreview').html('');
                    $('#beersubmit, #abform, #labellist li a').unbind();         
                    xajax.call('bierkrug_changeLabel', {
                        parameters:[this.id.substr(2, this.id.length), options.productID, options.wkID, xajax.getFormValues('abform'), 1]
                    });
                }
                
                return false;

            }
            
        }
    });
})(jQuery);

(function($){
     $.fn.extend({ 

         orderAdventskalender: function(options) {

            var defaults = {
                bildID: '',
                productID: '',
                wkID: 0
            };
            
            var options = $.extend(defaults, options);

            if(!options.bildID || options.bildID == ''){
                bildID = $('#labellist li a').get(0).id.substr(2, $('#labellist li a').get(0).id.length);
            } else {
                bildID = options.bildID;
            }
            
            $('#aksubmit').bind('click', previewLabel);

            //$('#labellist').css("width", ($('#labellist li').length * 320) + 'px');
            $('#labellist li a').bind('click', selectLabel).children('img').css('border', '1px solid #fff');
            $('#lb' + bildID).children('img').css('border', '1px solid #f00');
            
            function previewLabel()
            {
                var error = 'no';
                
                if($('#persotext').val() == ''){
                    $('#perso_errors').html('Bitte geben Sie einen Text ein!');
                    $('#persotext').addClass('error');
                    error = 'yes';
                } else {
                    $('#persotext').removeClass('error');
                    $('#perso_errors').html('');
                }
                
                if(error == 'no')
                {
                    $('#bildID').val(bildID);
                    var encodedtext = Url.encode($('#persotext').val());
                    $('#workbenchpreview').html('<img src="/onlineshop/imageAK.php?imtext='+encodedtext+'&amp;set='+bildID+'" alt="Vorschau" border="0" />');
                
                }
                return false;
            }
        
            function selectLabel(event){    
                var error = 'no';
                
                if($('#persotext').val() == ''){
                    $('#perso_errors').html('Bitte geben Sie einen Text ein!');
                    $('#persotext').addClass('error');
                    error = 'yes';
                } else {
                    $('#persotext').removeClass('error');
                    $('#perso_errors').html('');
                }
                
                if(error == 'no')
                {                
                    $('#labellist li a').children('img').css('border', '1px solid #fff');
                    $('#' + this.id).children('img').css('border', '1px solid #f00');
                    bildID = $('#'+this.id).get(0).id.substr(2, $('#'+this.id).get(0).id.length);
                    $('#bildID').val(bildID)
                    $('#workbenchpreview').html('<img src="/onlineshop/imageAK.php?imtext='+$('#persotext').val()+'&amp;set='+bildID+'" alt="Vorschau" border="0" />');
                }
                return false;
            }
            
        }
    });
})(jQuery);

(function($){
     $.fn.extend({ 

         orderMagicnames: function(options) {

            var defaults = {
                bildID: '',
                productID: '',
                property1: '',
                property2: '',
                wkID: 0
            };
            
            var options = $.extend(defaults, options);

            if(!options.bildID || options.bildID == ''){
                bildID = $('#labellist li a').get(0).id.substr(2, $('#labellist li a').get(0).id.length);
            } else {
                bildID = options.bildID;
            }
            
            $('#aksubmit').bind('click', previewLabel);
            
            $('#property2').bind('change', changeColor);
            
            

            //$('#labellist').css("width", ($('#labellist li').length * 320) + 'px');
            $('#labellist li a').bind('click', selectLabel).children('img').css('border', '1px solid #fff');
            $('#lb' + bildID).children('img').css('border', '1px solid #f00');
            
            
            function changeColor()
            {
                if($('#persotype').val() == "brotdose"){
                    colors = new Array("blau", "rot", "gelb");
                    var path = 'brotdose/' + colors[$(this).val() - 1] + '.png'
                } else if($('#persotype').val() == "kopfkissen"){
                    colors = new Array("weiss", "blau", "gelb", "rosa");
                    var path = 'kopfkissen/' + colors[$(this).val() - 1] + '.png'
                } else if($('#persotype').val() == "tassen"){
                    colors = new Array("blau", "hellblau", "gruen", "orange", "schwarz");
                    var path = 'tasse/' + colors[$(this).val() - 1] + '.png'
                }
                
                if(path) $('#colorpreview').html('<img src="/onlineshop/images/perso/' + path + '" />');
            }
            
            
            function previewLabel()
            {
                var error = 'no';
                
                if($('#persotext').val() == ''){
                    $('#perso_errors').html('Bitte geben Sie einen Text ein!');
                    $('#persotext').addClass('error');
                    error = 'yes';
                } else {
                    $('#persotext').removeClass('error');
                    $('#perso_errors').html('');
                }
                
                if(error == 'no')
                {
                    $('#bildID').val(bildID);
                    var encodedtext = Url.encode($('#persotext').val());
                    $('#workbenchpreview').html('<img src="/onlineshop/imageAK.php?imtext='+encodedtext+'&amp;set='+bildID+'" alt="Vorschau" border="0" />');
                
                }
                return false;
            }
        
            function selectLabel(event){    
                var error = 'no';
                
                if($('#persotext').val() == ''){
                    $('#perso_errors').html('Bitte geben Sie einen Text ein!');
                    $('#persotext').addClass('error');
                    error = 'yes';
                } else {
                    $('#persotext').removeClass('error');
                    $('#perso_errors').html('');
                }
                
                if(error == 'no')
                {                
                    $('#labellist li a').children('img').css('border', '1px solid #fff');
                    $('#' + this.id).children('img').css('border', '1px solid #f00');
                    bildID = $('#'+this.id).get(0).id.substr(2, $('#'+this.id).get(0).id.length);
                    $('#bildID').val(bildID)
                    $('#workbenchpreview').html('<img src="/onlineshop/imageAK.php?imtext='+$('#persotext').val()+'&amp;set='+bildID+'" alt="Vorschau" border="0" />');
                }
                return false;
            }
            
        }
    });
})(jQuery);

(function($){
     $.fn.extend({ 

         orderWeihnachtsmuetze: function(options) {

            var defaults = {
                productID: '',
                wkID: 0
            };
            
            var options = $.extend(defaults, options);

            $('#aksubmit').bind('click', previewLabel);

            
            
            function previewLabel()
            {
                var error = 'no';
                
                if($('#persotext').val() == ''){
                    $('#perso_errors').html('Bitte geben Sie einen Text ein!');
                    $('#persotext').addClass('error');
                    error = 'yes';
                } else {
                    $('#persotext').removeClass('error');
                    $('#perso_errors').html('');
                }
                
                if(error == 'no')
                {
                    var encodedtext = Url.encode($('#persotext').val());
                    $('#center').attr('src', '/onlineshop/imageMuetze.php?text='+encodedtext);
                }
                return false;
            }
        
            
            
        }
    });
})(jQuery);

(function($){
     $.fn.extend({ 

         orderBabystrampler: function(options) {

            var defaults = {
                productID: '',
                wkID: 0
            };
            
            var options = $.extend(defaults, options);
            
            colorID1 = $('#colorID1').val();
            colorID2 = $('#colorID2').val();
            materialID  = $('#materialID').val();

            $('#aksubmit').bind('click', previewLabel);

            $('#colorlist1 li a').bind('click', selectColor1).parent('li').css('border', '1px solid #000');
            $('#colorlist2 li a').bind('click', selectColor2).parent('li').css('border', '1px solid #000');
            $('#materiallist li a').bind('click', selectMaterial).parent('li').css('border', '1px solid #000');
            
            $('#c1' + colorID1).parent('li').css('border', '2px solid #f00');
            $('#c2' + colorID2).parent('li').css('border', '2px solid #f00');
            $('#mt' + materialID).parent('li').css('border', '2px solid #f00');
            
            
            function selectMaterial(event)
            {            
                $('#materiallist li a').parent('li').css('border', '1px solid #000');
                $('#' + this.id).parent('li').css('border', '2px solid #f00');
                materialID = $('#'+this.id).get(0).id.substr(2, $('#'+this.id).get(0).id.length);
                $('#materialID').val(materialID)
                return false;
            }
            
            function selectColor1(event)
            {            
                $('#colorlist1 li a').parent('li').css('border', '1px solid #000');
                $('#' + this.id).parent('li').css('border', '2px solid #f00');
                colorID = $('#'+this.id).get(0).id.substr(2, $('#'+this.id).get(0).id.length);
                $('#colorID1').val(colorID)
                return false;
            }
            
            function selectColor2(event)
            {            
                $('#colorlist2 li a').parent('li').css('border', '1px solid #000');
                $('#' + this.id).parent('li').css('border', '2px solid #f00');
                colorID = $('#'+this.id).get(0).id.substr(2, $('#'+this.id).get(0).id.length);
                $('#colorID2').val(colorID)
                return false;
            }
            
            function previewLabel()
            {
                var error = 'no';
                if($('#persotext1').val() == ''){
                    $('#perso1_errors').html('Bitte geben Sie einen Text ein!');
                    $('#persotext1').addClass('error');
                    error = 'yes';
                } else {
                    $('#persotext1').removeClass('error');
                    $('#perso1_errors').html('');
                }
                
                if($('#persotext2').val() == ''){
                    $('#perso2_errors').html('Bitte geben Sie einen Text ein!');
                    $('#persotext2').addClass('error');
                    error = 'yes';
                } else {
                    $('#persotext2').removeClass('error');
                    $('#perso2_errors').html('');
                }
                
                //alert($('#schriftart1').val());
                
                if(error == 'no')
                {
                    var encodedtext1 = Url.encode($('#persotext1').val());
                    var encodedtext2 = Url.encode($('#persotext2').val());
                    $('#center').attr('src', '/onlineshop/imageStickerei.php?art=1&text1='+encodedtext1+'&text2='+encodedtext2+'&size1='+$('#size1').val()+'&size2='+$('#size2').val()+'&font1='+$('#schriftart1').val()+'&font2='+$('#schriftart2').val()+'&color1='+$('#colorID1').val()+'&color2='+$('#colorID2').val()+'&material='+$('#materialID').val()+'&product=0');
                    
                    $('#center2').attr('src', '/onlineshop/imageStickerei.php?art=1&text1='+encodedtext1+'&text2='+encodedtext2+'&size1='+$('#size1').val()+'&size2='+$('#size2').val()+'&font1='+$('#schriftart1').val()+'&font2='+$('#schriftart2').val()+'&color1='+$('#colorID1').val()+'&color2='+$('#colorID2').val()+'&material='+$('#materialID').val()+'&product=1');
                }
                return false;
            }
        
            
            
        }
    });
})(jQuery);

(function($){
     $.fn.extend({ 

         orderLaetzchen: function(options) {

            var defaults = {
                productID: '',
                wkID: 0
            };
            
            var options = $.extend(defaults, options);
            
            colorID1 = $('#colorID1').val();
            colorID2 = $('#colorID2').val();
            materialID  = $('#materialID').val();

            $('#aksubmit').bind('click', previewLabel);

            $('#colorlist1 li a').bind('click', selectColor1).parent('li').css('border', '1px solid #000');
            $('#colorlist2 li a').bind('click', selectColor2).parent('li').css('border', '1px solid #000');
            $('#materiallist li a').bind('click', selectMaterial).parent('li').css('border', '1px solid #000');
            
            $('#c1' + colorID1).parent('li').css('border', '2px solid #f00');
            $('#c2' + colorID2).parent('li').css('border', '2px solid #f00');
            $('#mt' + materialID).parent('li').css('border', '2px solid #f00');
            
            
            function selectMaterial(event)
            {            
                $('#materiallist li a').parent('li').css('border', '1px solid #000');
                $('#' + this.id).parent('li').css('border', '2px solid #f00');
                materialID = $('#'+this.id).get(0).id.substr(2, $('#'+this.id).get(0).id.length);
                $('#materialID').val(materialID)
                return false;
            }
            
            function selectColor1(event)
            {            
                $('#colorlist1 li a').parent('li').css('border', '1px solid #000');
                $('#' + this.id).parent('li').css('border', '2px solid #f00');
                colorID = $('#'+this.id).get(0).id.substr(2, $('#'+this.id).get(0).id.length);
                $('#colorID1').val(colorID)
                return false;
            }
            
            function selectColor2(event)
            {            
                $('#colorlist2 li a').parent('li').css('border', '1px solid #000');
                $('#' + this.id).parent('li').css('border', '2px solid #f00');
                colorID = $('#'+this.id).get(0).id.substr(2, $('#'+this.id).get(0).id.length);
                $('#colorID2').val(colorID)
                return false;
            }
            
            function previewLabel()
            {
                var error = 'no';
                if($('#persotext1').val() == ''){
                    $('#perso1_errors').html('Bitte geben Sie einen Text ein!');
                    $('#persotext1').addClass('error');
                    error = 'yes';
                } else {
                    $('#persotext1').removeClass('error');
                    $('#perso1_errors').html('');
                }
                
                if($('#persotext2').val() == ''){
                    $('#perso2_errors').html('Bitte geben Sie einen Text ein!');
                    $('#persotext2').addClass('error');
                    error = 'yes';
                } else {
                    $('#persotext2').removeClass('error');
                    $('#perso2_errors').html('');
                }
                
                //alert($('#schriftart1').val());
                
                if(error == 'no')
                {
                    var encodedtext1 = Url.encode($('#persotext1').val());
                    var encodedtext2 = Url.encode($('#persotext2').val());
                    $('#center').attr('src', '/onlineshop/imageStickerei.php?art=2&text1='+encodedtext1+'&text2='+encodedtext2+'&size1='+$('#size1').val()+'&size2='+$('#size2').val()+'&font1='+$('#schriftart1').val()+'&font2='+$('#schriftart2').val()+'&color1='+$('#colorID1').val()+'&color2='+$('#colorID2').val()+'&material='+$('#materialID').val()+'&product=0');
                    
                    $('#center2').attr('src', '/onlineshop/imageStickerei.php?art=2&text1='+encodedtext1+'&text2='+encodedtext2+'&size1='+$('#size1').val()+'&size2='+$('#size2').val()+'&font1='+$('#schriftart1').val()+'&font2='+$('#schriftart2').val()+'&color1='+$('#colorID1').val()+'&color2='+$('#colorID2').val()+'&material='+$('#materialID').val()+'&product=1');
                }
                return false;
            }
        
            
            
        }
    });
})(jQuery);

(function($){
     $.fn.extend({ 

         orderKapuzenhandtuch: function(options) {

            var defaults = {
                productID: '',
                wkID: 0
            };
            
            var options = $.extend(defaults, options);
            
            colorID1 = $('#colorID1').val();
            colorID2 = $('#colorID2').val();

            $('#aksubmit').bind('click', previewLabel);

            $('#colorlist1 li a').bind('click', selectColor1).parent('li').css('border', '1px solid #000');
            $('#colorlist2 li a').bind('click', selectColor2).parent('li').css('border', '1px solid #000');
            
            $('#c1' + colorID1).parent('li').css('border', '2px solid #f00');
            $('#c2' + colorID2).parent('li').css('border', '2px solid #f00');
            
            
            
            function selectColor1(event)
            {            
                $('#colorlist1 li a').parent('li').css('border', '1px solid #000');
                $('#' + this.id).parent('li').css('border', '2px solid #f00');
                colorID = $('#'+this.id).get(0).id.substr(2, $('#'+this.id).get(0).id.length);
                $('#colorID1').val(colorID)
                return false;
            }
            
            function selectColor2(event)
            {            
                $('#colorlist2 li a').parent('li').css('border', '1px solid #000');
                $('#' + this.id).parent('li').css('border', '2px solid #f00');
                colorID = $('#'+this.id).get(0).id.substr(2, $('#'+this.id).get(0).id.length);
                $('#colorID2').val(colorID)
                return false;
            }
            
            function previewLabel()
            {
                var error = 'no';
                if($('#persotext1').val() == ''){
                    $('#perso1_errors').html('Bitte geben Sie einen Text ein!');
                    $('#persotext1').addClass('error');
                    error = 'yes';
                } else {
                    $('#persotext1').removeClass('error');
                    $('#perso1_errors').html('');
                }
                
                if($('#persotext2').val() == ''){
                    $('#perso2_errors').html('Bitte geben Sie einen Text ein!');
                    $('#persotext2').addClass('error');
                    error = 'yes';
                } else {
                    $('#persotext2').removeClass('error');
                    $('#perso2_errors').html('');
                }
                
                //alert($('#schriftart1').val());
                
                if(error == 'no')
                {
                    var encodedtext1 = Url.encode($('#persotext1').val());
                    var encodedtext2 = Url.encode($('#persotext2').val());
                    $('#center').attr('src', '/onlineshop/imageStickerei.php?art=3&text1='+encodedtext1+'&text2='+encodedtext2+'&size1='+$('#size1').val()+'&size2='+$('#size2').val()+'&font1='+$('#schriftart1').val()+'&font2='+$('#schriftart2').val()+'&color1='+$('#colorID1').val()+'&color2='+$('#colorID2').val()+'&product=0');
                    
                    $('#center2').attr('src', '/onlineshop/imageStickerei.php?art=3&text1='+encodedtext1+'&text2='+encodedtext2+'&size1='+$('#size1').val()+'&size2='+$('#size2').val()+'&font1='+$('#schriftart1').val()+'&font2='+$('#schriftart2').val()+'&color1='+$('#colorID1').val()+'&color2='+$('#colorID2').val()+'&product=1');
                }
                return false;
            }
        
            
            
        }
    });
})(jQuery);

(function($){
     $.fn.extend({ 

         orderWein: function(options) {

            var defaults = {
                productID: '',
                toptext: '',
                bottomtext: '',
                wkID: 0
            };
            
            var options = $.extend(defaults, options);
            
            $("#weinsubmit").unbind();

            $("#weinsubmit").bind("click", function(event){
                $('#perso_errors').html('');
                $('#toptext_label, #toptext, #bottomtext_label, #bottomtext').removeClass('error');
                xajax_eigenerwein_init(options.productID, $('#toptext').val(), $('#bottomtext').val(), options.wkID, 1);
                return false;
            });
        }
    });
})(jQuery);



(function($){
     $.fn.extend({ 

         orderSternschnuppe: function(options) {

            var defaults = {
                productID: '',
                cartID: 0
            };
            
            var options = $.extend(defaults, options);

            $('#toptext').bind("focus", checkTTlen).bind("change", checkTTlen).bind("keydown", checkTTlen).bind("keypress", checkTTlen).bind("keyup", checkTTlen);
            $('#bottomtext').bind("focus", checkBTlen).bind("change", checkBTlen).bind("keydown", checkBTlen).bind("keypress", checkBTlen).bind("keyup", checkBTlen);

            function checkTTlen(event){
                var allowed = 25;
                var totalLength = $('#toptext').val().length;
                $('#checkTTCounter').html(allowed - totalLength);
        
                if(totalLength >= allowed){
                    if(event.type != "focus"){
                        if (event.keyCode != 46 && event.keyCode != 8 && event.keyCode != 13) {
                            return false;
                        }
                    }
                    $('#checkTTCounter').css("color", "#DB2122");
                } else {
                    $('#checkTTCounter').css("color", "");
                }
            }
            
            function checkBTlen(event){
                var allowed = 200;
                var totalLength = $('#bottomtext').val().length;
                $('#checkBTCounter').html(allowed - totalLength);
        
                if(totalLength >= allowed){
                    if(event.type != "focus"){
                        if (event.keyCode != 46 && event.keyCode != 8 && event.keyCode != 13) {
                            return false;
                        }
                    }
                    $('#checkBTCounter').css("color", "#DB2122");
                } else {
                    $('#checkBTCounter').css("color", "");
                }
            }
            
        }
    });
})(jQuery);



(function($){
     $.fn.extend({ 

         orderTorten: function(options) {

            var defaults = {
                productID: '',
                cartID: 0
            };
            
            var options = $.extend(defaults, options);

            $("#CakeSubmitButton").bind("click", function(event){
                if(event.type == 'click') $(this).blur();
                
                if ($('#torten1').val() == '') {
                    if ($('#torten1').val() == '') $('torten1_errortext').html('Bitte geben Sie einen Text ein').show();
                } else if($('#torten2') && $('#torten2').val() == '') {
                    $('#torten2_errortext').html('Bitte geben Sie einen Text ein').show();            
                } else {
                    xajax_persotorten_orderTorte(options.productID, xajax.getFormValues('persotorten_form'), options.cartID, 1);
                }

                return false;
            });
        }
    });
})(jQuery);


(function($){
     $.fn.extend({ 

         orderTeddy: function(options) {

            var defaults = {
                productID: '',
                cartID: 0
            };
            
            var options = $.extend(defaults, options);

            $("#TeddySubmitButton").bind("click", function(event){
                if(event.type == 'click') $(this).blur();
                
                if ($('#text1').val() == '') {
                    if ($('#text1').val() == '') $('text1_errortext').html('Bitte geben Sie einen Text ein').show();
                } else if($('#text2') && $('#text2').val() == '') {
                    $('#text2_errortext').html('Bitte geben Sie einen Text ein').show();            
                } else {
                    xajax_teddybaeren_orderTeddy(options.productID, xajax.getFormValues('persoteddy_form'), options.cartID, 1);
                }
                return false;
            });
        }
    });
})(jQuery);


(function($){
     $.fn.extend({ 

         orderCalendar: function(options) {

            var defaults = {
                land: 1,
                date: '0000-00-00',
                product: '0000',
                shippingID: '',
                cartID: 0,
                getShippingMethods: 0
            };
            var options = $.extend(defaults, options);
        
            if(options.product != '1030'){
                // wenn nicht "historische zeitung"
            
                var obj = $(this);
                var objID = $(this).attr('id');                  
                var items = $("tr.dummyselector td a", obj);
                
                months = new Array('Januar','Februar','M&auml;rz','April','Mai','Juni','Juli','August','September','Oktober','November','Dezember');

                if($('#land')) $('#land').bind("change", landChange);
                
                //if($('#getAdressbook')) $('#getAdressbook').bind("click", showAdressBook);
                //if($('#useAdressbookLink')) $('#useAdressbookLink').bind("click", showAdressBook);
                $('a.calenderNavButton').bind("click", calendarNav);
                
                items.bind("click", setDate);
                
                // fügt klasse "isselected" aktuellem feld zu
                $("#" + options.date).addClass("isselected");

                // liest das datum aus
                var dateparts = options.date.split("-");

                // speichert den tag in die variable day
                var day = dateparts[2];

                // fügt eine führende 0 bei einstelligem tagesdatum ein
                if( dateparts[1].substring(0,1) == '0'){
                    dateparts[1] = dateparts[1].replace("0", "");
                }
                // speichert den monat in die variable month
                var month = months[parseInt(dateparts[1]) - 1];
                // speichert das jahr in die variable year
                var year = dateparts[0];
        
                // gib das lieferdatum auf der seite aus --> orderdate ist versteckt
                if($("#orderdate")) $("#orderdate").val(options.date);
                
                // gib das lieferdatum auf der seite aus
                if($('#deliveryDate')) $('#deliveryDate').html(day + '. ' + month + ' ' + year);

                
                if(options.getShippingMethods == 1){
                    xajax.call('orderprocess_orderprocessGetShippingMethods', {
                        parameters:[options.product, options.date, options.land, options.shippingID],
                        onComplete: (function(){
                        
                        })
                    });
                } else if(options.getShippingMethods == 2){
                    xajax.call('orderprocess_orderprocessGetShippingMethods2', {
                        parameters:[options.product, options.date, options.land, options.shippingID],
                        onComplete: (function(){
                        
                        })
                    });
                }
                
                $('#shippingmethodAdviceText').bind("focus change keydown keypress keyup", function(event){
                    $('#shippingmethodAdviceCounter').html( this.maxLength - $(this).val().length);
                });
                
            } else {
                // wenn "historische zeitung"
            
                $('#shippingmethodAdviceText').bind("focus change keydown keypress keyup", function(event){
                    $('#shippingmethodAdviceCounter').html( this.maxLength - $(this).val().length);
                });
            
            }
            
            function landChange(event){
                var land = $(event.target).val();
                var shop = "lidl";

                if(shop == undefined || shop == "lidl"){
                    var count = 3;
                } else {
                    var count = 2;
                }

                // verhindert verdoppeltung der xhr aufrufe
                if($('#land')) $('#land').unbind();
                
                if(land == ""){
                    xajax.call('confirmwindow_getConfirmContent', {
                        parameters:["auslandslieferung"],
                        onComplete: (function(){
                            $("#confirmabbruch").bind("click", closeconfirmwindow('abbruch'));
                        })
                    });

                    // zeige confirm fenster an
                    showconfirmwindow();

                    $("#land").attr('selectedIndex', 0);
                    land = 1;
                }

                // hole kalender
                xajax.call('calendar_getCalendar', {
                    parameters:[options.product, month, year, count, land, options.date]
                });

                return false;
            }
            
            function calendarNav(event){

                $(event.target).css("background", "transparent url(/onlineshop/images/controls/calendar_loading.gif) 0px 0px no-repeat");
                
                var bid = $(event.target).attr("href").substr(1, $(event.target).attr("href").length);
                
                var dateparts = bid.split("_");
                var month = dateparts[0];
                var year = dateparts[1];
                
                xajax.call('calendar_getCalendar', {
                    parameters:[options.product, month, year, 2, options.land, options.date]
                });

                return false;
            
            }
            
            function showAdressBook(event){
                window.open('/onlineshop/static/adressbook.php?ab=1', 'adressbookwindow','menubar=0,resizable=1,width=360,height=300');
                return false;
            }
                        
            
            function setDate(event, shippingID){

                var element = event.target;
                var product = options.product;
                var land = options.land;
                
                $.each($('#' + objID + ' tr td a'), function(key, value) { 
                    if(value.id == element.id) $(value).addClass('isselected');
                    else $(value).removeClass('isselected');
                });
        
                var dateparts = element.id.split("-");
                var day = dateparts[2];
                
                if(dateparts[1].substring(0,1) == '0'){
                    dateparts[1] = dateparts[1].replace("0", "");
                }
                var month = months[parseInt(dateparts[1]) - 1];
                var year = dateparts[0];
        
                $('#orderdate').val(element.id);
        
                options.date = element.id;
        
                var shipconfirm = 0;
                
                $.each($('#shippingTable tr td input.shipinput'), function(key, value) { 
                    if (value.checked == true) {
                        shipconfirm = value.val();
                    }
                });
        
                if(shipconfirm == 0){
                    shipconfirm = options.shippingID;
                }
        
                if(shipconfirm == 34){
                    $('#deliveryDate').html($('#specialID').val());
                } else {
                    $('#deliveryDate').html(day + '. ' + month + ' ' + year);
                }
        
                if(options.getShippingMethods == 1){
                    xajax.call('orderprocess_orderprocessGetShippingMethods', {
                        parameters:[options.product, options.date, options.land, shipconfirm]
                    });
                } else if(options.getShippingMethods == 2){
                    xajax.call('orderprocess_orderprocessGetShippingMethods2', {
                        parameters:[options.product, options.date, options.land, options.shippingID]
                    });
                }
                
                return false;
            }        
        }    
    });
})(jQuery);

(function($){
     $.fn.extend({ 

         orderCalendarCart: function(options) {

            var defaults = {
                date: '0000-00-00',
                cartID: 0
            };
            
            var options = $.extend(defaults, options);
            var obj = $(this);
            var objID = $(this).attr('id');                  
            var items = $("tr.dummyselector td a", obj);

            months = new Array('Januar','Februar','M&auml;rz','April','Mai','Juni','Juli','August','September','Oktober','November','Dezember');
    
            $('a.calenderNavButton').bind("click", calendarNav);
            
            items.bind("click", setDate);
            
            $("#" + options.date).addClass("isselected");


            function calendarNav(event){

                $(event.target).css("background", "transparent url(/onlineshop/images/controls/calendar_loading.gif) 0px 0px no-repeat");
                
                var bid = $(event.target).attr("href").substr(1, $(event.target).attr("href").length);

                xajax.call('calendar_getCartCalendar', {
                    parameters:[options.cartID, bid]
                });

                return false;
            
            }

                        
            
            function setDate(event, shippingID){

                var element = event.target;
                
                $.each($('#' + objID + ' tr td a'), function(key, value) { 
                    if(value.id == element.id) $(value).addClass('isselected');
                    else $(value).removeClass('isselected');
                });
        
                var dateparts = element.id.split("-");
                var day = dateparts[2];
                
                if(dateparts[1].substring(0,1) == '0'){
                    dateparts[1] = dateparts[1].replace("0", "");
                }
                var month = months[parseInt(dateparts[1]) - 1];
                var year = dateparts[0];
        
                options.date = element.id;
                
                $('#deliveryDate_' + options.cartID).html(day + '. ' + month + ' ' + year);

                xajax.call('orderprocess_updateLieferdatum', {
                    parameters:[event.target.id, options.cartID],
                    onComplete: (function(){
                        $('#calendarContainer_' + options.cartID).html('');
                        $('#calendarContainer_' + options.cartID).hide();
                        $().orderShoppingcart();
                    })
                });
    
                return false;
            }        
        }    
    });
})(jQuery);


(function($){
     $.fn.extend({ 

         orderCalendarb: function(options) {

            var defaults = {
                land: 1,
                date: '0000-00-00',
                product: '0000',
                shippingID: '',
                cartID: 0,
                getShippingMethods: 0
            };
            var options = $.extend(defaults, options);
                    
            var obj = $(this);
            var objID = $(this).attr('id');                  
            var items = $("tr td a", obj);
            
            months = new Array('Januar','Februar','M&auml;rz','April','Mai','Juni','Juli','August','September','Oktober','November','Dezember');
            items.bind("click", setDate);
            
            $("#b-" + options.date).addClass("isselected");
            
            var dateparts = options.date.split("-");
            var day = dateparts[2];
            if(dateparts[1].substring(0,1) == '0'){
                dateparts[1] = dateparts[1].replace("0", "");
            }
            var month = months[parseInt(dateparts[1]) - 1];
            var year = dateparts[0];
    
            if($("#orderdateb")) $("#orderdateb").val(options.date);
            if($('#deliveryDateb')) $('#deliveryDateb').html(day + '. ' + month + ' ' + year);
            
            function setDate(event, shippingID){

                var element = event.target;
                var product = options.product;
                var land = options.land;
                
                $.each($('#' + objID + ' tr td a'), function(key, value) { 
                    if(value.id == element.id) $(value).addClass('isselected');
                    else $(value).removeClass('isselected');
                });
        
                var dateparts = element.id.split("-");
                var day = dateparts[3];
                if(dateparts[2].substring(0,1) == '0'){
                    dateparts[2] = dateparts[2].replace("0", "");
                }
                var month = months[parseInt(dateparts[2]) - 1];
                var year = dateparts[1];
        
                $('#orderdateb').val(element.id);
        
                options.date = element.id;
        
                $('#deliveryDateb').html(day + '. ' + month + ' ' + year);
                
                return false;
            }        
        }    
    });
})(jQuery);


(function($){
     $.fn.extend({ 

         orderFlapo: function(options) {

            var defaults = {
                labelID: '',
                productID: '',
                wkID: 0,
                list: $('#labellist li a')
            };
            
            var options = $.extend(defaults, options);
    
            if(!options.labelID || options.labelID == ''){
                options.labelID = options.list[0].id.substr(2, options.list[0].id.length);
            } 
            
            $('#beersubmit').bind('click', changeLabel);
            $('#abform').bind('submit', changeLabel);
            $('#workbenchfields input.colorpicker').bind('click', showPicker);
            $('#abform a.cpCloseButton').bind('click', hidePicker);
            $('#abform table.pickerTable tbody td.pickerCell').bind('click', selectColor);
            $('#labellist li a').bind('click', selectLabel);


            function changeLabel(event){
                $('#perso_errors').html('');
                $('#abform input').removeClass('error');
                
                var error = 'no';
                
                $.each($('#abform input'), function(key, value) {
                    if(value.type == 'text'){
                        if($(value).val() == ''){    
                            $('#perso_errors').html('Bitte geben Sie einen Text ein!');
                            $(value).addClass('error');
                            error = 'yes';
                        }
                    }
                });
    
                if(error == 'no'){
                    $('workbenchpreview').html('');
                    $('#labellist li a').unbind();
                    xajax.call('flapo_changeLabelAB', {
                        parameters:[options.labelID, options.productID, options.wkID, xajax.getFormValues('abform')]
                    });
                }
                return false;
            }

            function selectLabel(event){
                var modified = 'no';
                $.each($('#abform input'), function(key, value) {
                    if(value.id.substr(0, 4) == 'text'){
                        if($(value).val() != $('input[name=default' + value.id + ']').val()) modified = 'yes';
                    }
                });
        
                if(modified == 'no') var changeConfirm = true;
                else var changeConfirm = confirm("Wenn Sie das Motiv wechseln gehen Ihre Eingaben verloren. Wollen Sie das Motiv wechseln?")
        
                if (changeConfirm == true){
                    $('#labellist li a').unbind().children('img').css('border', '1px solid #fff');
                    $('#' + this.id).children('img').css('border', '1px solid #f00');
                    $('workbenchpreview').html('');
                               
                    xajax.call('flapo_changeLabelAB', {
                        parameters:[this.id.substr(2, this.id.length), options.productID, options.wkID, xajax.getFormValues('abform'), 1]
                    });
                }
                return false;        
            }
            
            function showPicker(event){
                $('#' + $(this).val()).show();
                return false;
            }
        
            function hidePicker(event){
                $('#colorpicker_' + this.id.substr(7, this.id.length)).hide();
                return false;
            }
            
            function selectColor(event){
                
                $('div.colorpicker').hide();
                $('#workbenchpreview').html('');
                
                var realid = $(this).parents("table.pickerTable").get(0).id.substr(6, $(this).parents("table.pickerTable").get(0).id.length);

                if($(this).css('backgroundColor').substr(0,3) == 'rgb'){
                    $('input:hidden[name=fontcolor[' + realid + ']]').val(rgbConvert($(this).css('backgroundColor')));
                } else {
                    $('input:hidden[name=fontcolor[' + realid + ']]').val($(this).css('backgroundColor'));
                }
                
                $('#labellist li a').unbind();
                $('workbenchpreview').html('');

                xajax.call('flapo_changeLabelAB', {
                    parameters:[options.labelID, options.productID, options.wkID, xajax.getFormValues('abform')]
                });
                
                return false;

            }
        
            function rgbConvert(str) {
                str = str.replace(/rgb\(|\)/g, "").split(",");
                str[0] = parseInt(str[0], 10).toString(16).toLowerCase();
                str[1] = parseInt(str[1], 10).toString(16).toLowerCase();
                str[2] = parseInt(str[2], 10).toString(16).toLowerCase();
                str[0] = (str[0].length == 1) ? '0' + str[0] : str[0];
                str[1] = (str[1].length == 1) ? '0' + str[1] : str[1];
                str[2] = (str[2].length == 1) ? '0' + str[2] : str[2];
                return ('#' + str.join(""));
            }
            
        }
    });
})(jQuery);


(function($){
     $.fn.extend({ 

         orderAdressbook: function() {
            
            $('#getAdressbook, #useAdressbookLink').bind("click", function(event){
                window.open('/onlineshop/static/adressbook.php?ab=1', 'adressbookwindow','menubar=0,resizable=1,width=360,height=300');
                return false;
            });
            
            
            $('#usePayerAdressLink').bind("click", usePayerAdress);
            $('a.takeAdress').bind("click", takeAdress);
            $('a.delAdrEntry').bind("click", delAdress);
            
            
            function usePayerAdress(event){
                if($('#lieferdaten_errors')) $('#lieferdaten_errors').html('');
                $('fieldset.orderFieldset label').removeClass('error');
                xajax.call('order_usePayerAdress', {});
                return false;
            }
            
            function takeAdress(event){
                
                if($('#lieferdaten_errors')) $('#lieferdaten_errors').html('');
                $('fieldset.orderFieldset label').removeClass('error');
                $('fieldset.orderFieldset input, fieldset.orderFieldset select').removeClass('error');
                
                xajax.call('order_useAdress', {
                    parameters:[event.target.id.substr(2, event.target.id.length)],
                    onComplete: (function(){
                        $('abform').removeAttr('disabled');
                    })
                });
                return false;
            }
            
            function delAdress(event){
                if(confirm("Wollen Sie die Adresse wirklich aus dem Adressbuch löschen?") == true){
                    xajax.call('order_deleteAdress', {
                        parameters:[event.target.id.substr(3, event.target.id.length)],
                        onComplete: (function(){
                            $('#usePayerAdressLink').bind("click", usePayerAdress);
                            $('a.takeAdress').bind("click", takeAdress);
                            $('a.delAdrEntry').bind("click", delAdress);
                        })
                    });
                }
                return false;
            }
        }    
    });
})(jQuery);


(function($){
     $.fn.extend({ 
        
        orderSlipknots: function() {

            var obj = $(this);
            var items = $("li input", obj);
            
            items.bind("click", handleSlpinknot);
            
            $('#slipknotfont').bind("change", function(event){
                $('#fontpreview').attr("src","/onlineshop/images/perso/schleifen/" + $(this).val() + ".png");
                return false;
            });
            
            $('#slipknottext').bind("focus", checkSNLen).bind("change", checkSNLen).bind("keydown", checkSNLen).bind("keypress", checkSNLen).bind("keyup", checkSNLen);
            
            $('#slipknotview').bind("click", function(event){
                if($('#slipknottext').val() == ""){
                    $('#slipknoterror').html('Bitte geben Sie einen Text ein!');
                } else {
                    $('#slipknoterror').html('');
                    
                    namesplit = $('input:radio[name=slipknot]:checked').val().split('_');
                    slipknotview(namesplit[1], $('#slipknotproduct').val(), 400, $('#slipknottext').val(), $('#slipknotfont').val(), $('input:radio[name=slipknottextcolor]:checked').val());
                }
                return false;
            });
            
            // klick auf "keine schleife" entfernt alle etwaigen offenen schleifen divs und etwaigen fehlermeldungen
            $("#slipknot, #noslipknotlabel").bind("click", function(event){
                $("#slipknotFields").hide();
                $("#slipknot_errors").hide();
                $('#slipknoterror').html('');
            });
            
            function handleSlpinknot(event){
                var element = event.target;
                var namesplit = element.id.split('_');
                
                $('#slipknotFields').hide();
                $('#slipknoterror').html('');
                
                if($('#slipknotpers_' + namesplit[1]).val() == 1){
                    $('#slipknotFields').show();

                }
            }
            
            function checkSNLen(event){
                var allowed = 40;
                var totalLength = $('#slipknottext').val().length;
                $('#slipknotTXTCounter').html(allowed - totalLength);
        
                if(totalLength >= allowed){
                    if(event.type != "focus"){
                        if (event.keyCode != 46 && event.keyCode != 8 && event.keyCode != 13) {
                            return false;
                        }
                    }
                    $('#slipknotTXTCounter').css("color", "#DB2122");
                } else {
                    $('#slipknotTXTCounter').css("color", "");
                }
            }
            
        }    
    });
})(jQuery);



function ueberpruefeobgrusskarteleer(aktionsname){
        // grusskarten fenster ist sichtbar
        if($('#grusstext').val() == ""){
            if(confirm("Wenn Sie fortfahren wird keine Grußkarte ausgewählt.") == true){
                // "ja, abbruch" und schleife auf "keine schleife setzen"
                $("#nocard").attr("checked", true);
                // färbe hintergrund der entsprechenden grusskarte ein
                markiere_grusskarte(0);
                // fenster schliessen
                return true;
            } else {
                // "nein, weiter" -- user will nicht abbrechen
                // fenster nicht schliessen
                return false;
            }
        } else {
            // grusskartentext wurde eingegeben; kein fehler
            if(aktionsname == "weiter"){
                // user hat auf "weiter" geklickt
                // zuletzt gewählten radio button speichern
                checkedradiobutton = $("input[name=greeting]:checked").attr('id');
            } else {
                // user hat "abbruch" gestartet (escape/hintergrundklick/close icon)
                // radio button zurück auf zuletzt gewählte grusskarte
                $("#"+checkedradiobutton).attr("checked", true);
            }
            // färbe hintergrund der entsprechenden grusskarte ein
            markiere_grusskarte(checkedradiobutton+"_listitem");
            // fenster schliessen
            return true;
        }
        // grusskartentext ist leer
        /*
   } else {
        // radio button zurück auf zuletzt gewählte grusskarte
        $("#"+checkedradiobutton).attr("checked", true);
        // färbe hintergrund der entsprechenden grusskarte ein
        markiere_grusskarte(checkedradiobutton+"_listitem");
        // fenster schliessen
        return true;
    }
    */
}

// färbt gewählte grusskarte ein
function markiere_grusskarte(grusskarteid){
    // gesetzten hintergrund bei allen list items entfernen
    $(".greeting_listitems").css("background-color", "");
    
    if (grusskarteid != 0){
        // markiere nur list item wenn auswahl nicht "keine grusskarte"
        $("#"+grusskarteid).css("background-color", "#ccc");
        $("#"+grusskarteid).css("border-radius", "8px");
    }
}

(function($){
     $.fn.extend({ 

         orderCards: function() {
            // sehe nach, ob der url parameter "change" übergeben wurde (öffnet dann entsprechendes fenster)
            zuladendeoption = getUrlVars()["change"];
            
            // typ der aktuell ausgewählten grusskarte
            var grusskartentyp = "";

            // binde klick auf liste an toggle funktion
            var obj = $(this);
            var items = $("li input", obj);
            items.bind("click", toggleTextView);

            // grusskarten sind geladen worden: rufe confirm popup auf für aktuelle grusskarte
            checkedradiobutton = $("input[name=greeting]:checked").attr('id');
            
            markiere_grusskarte(checkedradiobutton+"_listitem");

            if(checkedradiobutton != "nocard"){
                // grusskarten radio button steht nicht auf "keine grusskarte"
                if(zuladendeoption == "grusskarte"){
                    // simuliere klick auf aktuell gewählten radio button wenn benutzer grusskarte ändern will
                    $('#'+checkedradiobutton).trigger('click');
                    // zeige fenster und zentriere es
                    $("#cardFields").showconfirmwindow();
                    // aktualisiere anzahl der bisher eingegebenen texte (beim schon gespeicherten text)
                }
                checkGKLen();
            }
            

            // klick auf "vorschau" button lädt vorschau funktion
            $('#cardPreviewSubmit').bind("click", showCardPreview);
            
            // bei eingabe in textfelder wird counter ausgeführt
            $('#anrede, #grusstext, #grussformel').bind("focus", checkGKLen).bind("change", checkGKLen).bind("keydown", checkGKLen).bind("keypress", checkGKLen).bind("keyup", checkGKLen);
            
            // klick auf "keine grußkarte" entfernt alle etwaigen offenen grußkarten divs
            $("#nocard, #nocardlabel").bind("click", function(event){
                // setze zuletzt gewählte grusskarte
                checkedradiobutton = $("#nocard").attr('id');
                // setze hintergrund aller grusskarten zurück
                markiere_grusskarte(0);
                // fenster schließen
                closeconfirmwindow('abbruch');
                /*
                $("#cardFields").hide();
                $("#cardPersoFields").hide();
                */
            });
            
            function toggleTextView(event){
                // zeigt hintergrund an, blockiert weitere klicks auf andere grusskarten
                $('#blackbackground').show();
                
                if(event.target.id != 'nocard'){
                    // grusskarte wurde angeklickt

                    if($('#grukapers_' + event.target.id ).val() != 1){
                        // grusskarte mit text im bild NICHT gewählt => zeige grusskartenvorschau
                        var grusskartenr = $("#"+event.target.id).val();
                        var pfadgrossesbild = $("#gkbig" + grusskartenr).val();
                        var htmlgrossesbild = '<div style="padding:10px; border:1px solid #999999; width:192px;"><img src="' + pfadgrossesbild + '" width="192" /></div>';

                        $('#cardNonPersoFields').html(htmlgrossesbild)
                        $('#cardNonPersoFields').show();
                        $('#cardFields').showconfirmwindow();
                    }
                    
                    if($('#grukapers_' + event.target.id ).val() == 1){
                        // grusskarte mit text im bild gewählt
                        var cardID = event.target.id.substring(7,event.target.id.length);

                        $('#cardPersoFields').hide();
                        xajax.call("card_changeCard", {
                            parameters:[xajax.getFormValues('abform'), 1],
                            onComplete: (function(){
                                $('#cardPersoFields').show();
                                $('#cardFields').showconfirmwindow();

                                // grusskarten textfeld array leeren
                                grusskartentexte = [];
                                
                                // lade grusskartentexte in grusskartentext array
                                $('.cardFieldsContainerText').each(function(i){

                                    if(eingegebenegrusskartentexte.length > 0){
                                        // kopiere eingegebenen/gespeicherte texte (wenn vorhanden) in textfelder -- ansonsten werden defaults verwendet
                                        $(this).val(eingegebenegrusskartentexte[i]);
                                        // $(this).val("rrrrr " + i);
                                    }
                                    
                                    // aktuelle grusskarten textzeile in grusskartentext array kopieren (für späteren eingabevergleich)
                                    grusskartentexte.push($(this).val());
                                })
                                
                                // aktualisiere motiv
                                $('#cardPreviewSubmit').trigger('click');
                            })
                        });
                        
                        $('#cardNonPersoFields').hide();
                        $('#uploadAdvice').hide();
                        $('#musik').hide();
                        
                    } else if($('#grukapers_' + event.target.id ).val() == 2){
                        // grusskarte mit personalisiertem foto gewählt
                    
                        $('#uploadAdvice').show();
                        $('#cardPersoFields').hide();
                        $('#musik').hide();
                        $('#cardFields').showconfirmwindow();
                        
                    } else if($('#grukapers_' + event.target.id ).val() == 3){
                        // grusskarte mit musik gewählt
                    
                        var cardID = event.target.id.substring(7,event.target.id.length);
                    
                        $('#musik').show();
                        $('#uploadAdvice').hide();
                        $('#cardPersoFields').hide();

                        xajax.call("card_changeSoundCard", {
                            parameters:[xajax.getFormValues('abform'), 1],
                            onComplete: (function(){
                                $('#cardFields').showconfirmwindow();
                            })
                        });
                        
                    } else {
                        // normale grusskarte gewählt
                        $('#uploadAdvice').hide();
                        $('#cardPersoFields').hide();
                        $('#musik').hide();
                        $('#cardFields').showconfirmwindow();
                    }
                    
                    grusskartentyp = $('#grukapers_' + event.target.id ).val();
                    
                    /*
                    var windowheight = $(window).height();
                    var boxheight = $("#cardFields").height();
                    var offset = 0 - parseInt((windowheight - boxheight) / 2);
                    
                    $("#cardFields").css("margin-top", offset);
                    alert(offset);
                    */

                    
                } else {
                     // keine grusskarte gewählt
                     $('#uploadAdvice').hide();
                     $('#cardFields').hide();
                     $('#cardPersoFields').hide();
                }
            }
            
            
            function checkGKLen(event){
                var allowed = 400;
                var totalLength = $('#anrede').val().length + $('#grusstext').val().length + $('#grussformel').val().length;
                $('#cardTXTCounter').html(allowed - totalLength);
        
                if(totalLength >= allowed){
                    if(event.type != "focus"){
                        if (event.keyCode != 46 && event.keyCode != 8 && event.keyCode != 13) {
                            return false;
                        }
                    }
                    $('#cardTXTCounter').css("color", "#DB2122");
                } else {
                    $('#cardTXTCounter').css("color", "");
                }
            }
            
            function showCardPreview(event){
                xajax.call("card_changeCard", {
                    parameters:[xajax.getFormValues('abform'), 0],
                    onComplete: (function(){

                    })
                });
                return false;
            }

            $("#grusskartenabbruch").click(function(){
                // rollback auf zuletzt gewählte grusskarte
                // $('#'+checkedradiobutton).attr('checked', 'checked');
                $('#nocard').attr('checked', 'checked');
                // hintergrund aller grusskarten zurücksetzen
                markiere_grusskarte(0);
                // fenster schließen
                $("#blackbackground").hide();
                $(".confirmwindow").hide();
                // sprung verhindern
                return false;
            });

            $("#grusskartenweiter").click(function(){
                if($("#grusstext").val() == ""){
                    // setze cursor in betroffenes textfeld => hack weil id[] felder nicht direkt wählbar sind in jquery
                    $("#grusstext").focus();
                    alert("Bitte geben Sie einen Grußtext ein.");
                } else if(grusskartentyp == 1) {
                    // für grusskarte "text im bild": überprüfe kartenfelder
                    xajax.call("card_checkCardfield", {
                        parameters:[xajax.getFormValues('abform')],
                        onComplete: (function(){
                        })
                    });
                } else {
                    // es traten keine fehler auf
                    closeconfirmwindow('weiter');
                }
                return false;
            });


         
         }    
    });
})(jQuery);


function ueberpruefeobmotivleer(aktionsname){
    // motiv fenster ist sichtbar

    if(aktionsname == "weiter"){
        if($('#grusstext').val() == ""){
            // hinweis anzeigen
            alert("Bitte geben Sie einen Grußtext ein.");
            // fokus auf grusstext feld
            $("#grusstext").focus();
            // spring verhindern
            return false;
        } else if($('#couponemail').val() == ""){
            // hinweis anzeigen
            alert("Bitte geben Sie die Email-Adresse ein, an die der Gutschein verschickt werden soll.");
            // fokus auf email feld
            $("#couponemail").focus();
            // spring verhindern
            return false;
        } else if($('#couponemail').val() != $('#couponemail_check').val()){
            // hinweis anzeigen
            alert("Die Email-Adresse vom Empfänger muss zur Sicherheit übereinstimmen.");
            // fokus auf 2. email feld
            $("#couponemail_check").focus();
            // spring verhindern
            return false;
        } else {
            // es traten keine fehler auf
            // zuletzt gewählten radio button speichern
            checkedradiobutton = $("input[name=motiv]:checked").attr('id');
            // färbe hintergrund der entsprechenden grusskarte ein
            markiere_motiv(checkedradiobutton+"_listitem");
            // fenster schliessen

            /*
            aktuell_bildtext1 = "x 1 x";
            aktuell_bildtext2 = "x 2 x";
            aktuell_bildtext3 = "x 3 x";
            aktuell_anrede = $('#anrede').val();
            aktuell_grusstext = $('#grusstext').val();
            aktuell_grussformel = $('#grussformel').val();
            aktuell_couponemail = $('#couponemail').val();
            aktuell_couponemail_check = $('#couponemail_check').val();
            */

            return true;
        }
    } else {
        // "abbruch" wurde gewählt
        // radio button zurück auf zuletzt gewählte grusskarte
        $("#"+checkedradiobutton).attr("checked", true);
        // färbe hintergrund der entsprechenden grusskarte ein
        markiere_motiv(checkedradiobutton+"_listitem");
        // fenster schliessen

        // setze inhalte zurück
        // es wurden bereits werte zuvor in einem gutschein gespeichert, lade diese werte
        /*
        aktuell_bildtext1 = "x 1 x";
        aktuell_bildtext2 = "x 2 x";
        aktuell_bildtext3 = "x 3 x";
        $('#anrede').val(aktuell_anrede);
        $('#grusstext').val(aktuell_grusstext);
        $('#grussformel').val(aktuell_grussformel);
        $('#couponemail').val(aktuell_couponemail);
        $('#couponemail_check').val(aktuell_couponemail_check);
        */
        return true;
        
    }
}

// färbt gewählte motiv für gutschein ein
function markiere_motiv(motivid){
    // gesetzten hintergrund bei allen list items entfernen
    $(".motiv_listitems").css("background-color", "");

    if (motivid != 0){
        // markiere nur list item wenn auswahl nicht "kein motiv"
        $("#"+motivid).css("background-color", "#ccc");
        $("#"+motivid).css("border-radius", "8px");
    }
}

(function($){
     $.fn.extend({ 

         orderMotive: function() {

            // binde klick auf liste an toggle funktion
            var obj = $(this);
            var items = $("li input", obj);
            items.bind("click", toggleTextView);

            // grusskarten sind geladen worden: rufe confirm popup auf für aktuelle grusskarte
            checkedradiobutton = $("input[name=motiv]:checked").attr('id');
            
            if(typeof checkedradiobutton != "undefined"){
                markiere_motiv(checkedradiobutton+"_listitem");
            }

            // grusskarten sind geladen worden: rufe confirm popup auf für aktuelle grusskarte
            $("li input").ready(function(){
                checkedradiobutton = $("input[name=motiv]:checked").attr('id');
                
                if(checkedradiobutton != undefined){
                    // simuliere klick auf aktuell gewählten radio button
                    $('#'+checkedradiobutton).trigger('click');
                    // zeige fenster und zentriere es
                    $("#motivFields").showconfirmwindow();
                    // aktualisiere anzahl der bisher eingegebenen texte (beim schon gespeicherten text)
                    checkGKLen();
                }
            });

            // klick auf "vorschau" button lädt vorschau funktion
            $('#motivPreviewSubmit').bind("click", showMotivPreview);
            
            // bei eingabe in textfelder wird counter ausgeführt
            $('#anrede, #grusstext, #grussformel').bind("focus", checkGKLen).bind("change", checkGKLen).bind("keydown", checkGKLen).bind("keypress", checkGKLen).bind("keyup", checkGKLen);
            
            if(typeof aktuell_bildtext2 == "undefined"){
                // keine zuvor gespeicherten texte gefunden, erstelle leere variablen
                /*
                aktuell_bildtext1 = "";
                aktuell_bildtext2 = "";
                aktuell_bildtext3 = "";
                aktuell_anrede = "";
                aktuell_grusstext = "";
                aktuell_grussformel = "";
                aktuell_couponemail = "";
                aktuell_couponemail_check = "";
                */
            }

            function toggleTextView(event){
                // zeigt hintergrund an, blockiert weitere klicks auf andere grusskarten
                $('#blackbackground').show();

                if(event.target.id != 'nocard'){
                    // grusskarte wurde angeklickt

                    if($('#grukapers_' + event.target.id ).val() != 1){
                        // grusskarte mit text im bild NICHT gewählt => zeige grusskartenvorschau
                        var grusskartenr = $("#"+event.target.id).val();
                        var pfadgrossesbild = $("#gkbig" + grusskartenr).val();
                        var htmlgrossesbild = '<div style="padding:10px; border:1px solid #999999; width:192px;"><img src="' + pfadgrossesbild + '" width="192" /></div>';

                        $('#motivNonPersoFields').html(htmlgrossesbild)
                        
                        $('#motivNonPersoFields').show();
                        $('#motivFields').showconfirmwindow();
                    }
                    
                    if($('#grukapers_' + event.target.id ).val() == 1){
                        // grusskarte mit text im bild gewählt
                        var cardID = event.target.id.substring(7,event.target.id.length);
                    
                        $('#motivPersoFields').hide();
                        xajax.call("motiv_changeMotiv", {
                            parameters:[xajax.getFormValues('abform'), 1],
                            onComplete: (function(){
                                $('#motivPersoFields').show();
                                $('#motivFields').showconfirmwindow();

                                /* funktioniert noch nicht
                                $('#cardFieldsContainer div input').keydown(function(event) {
                                  if (event.keyCode == '13') {
                                      $('#cardPreviewSubmit').trigger('click');
                                   }
                                });
                                */
                            })
                        });
                        
                        $('#motivNonPersoFields').hide();
                        $('#uploadAdvice').hide();
                        
                        
                    } else if($('#grukapers_' + event.target.id ).val() == 2){
                        // grusskarte mit personalisiertem foto gewählt
                    
                        $('#uploadAdvice').show();
                        $('#motivPersoFields').hide();
                        $('#musik').hide();
                        $('#motivFields').showconfirmwindow();
                        
                    } else {
                        // normale grusskarte gewählt
                        $('#uploadAdvice').hide();
                        $('#motivPersoFields').hide();
                        
                        $('#motivFields').showconfirmwindow();
                    }
                    
                } else {
                     // keine grusskarte gewählt
                     $('#uploadAdvice').hide();
                     $('#motivFields').hide();
                     $('#motivPersoFields').hide();
                }
            }
            
            function checkGKLen(event){
                var allowed = 400;
                var totalLength = $('#anrede').val().length + $('#grusstext').val().length + $('#grussformel').val().length;
                $('#motivTXTCounter').html(allowed - totalLength);
        
                if(totalLength >= allowed){
                    if(event.type != "focus"){
                        if (event.keyCode != 46 && event.keyCode != 8 && event.keyCode != 13) {
                            return false;
                        }
                    }
                    $('#motivTXTCounter').css("color", "#DB2122");
                } else {
                    $('#motivTXTCounter').css("color", "");
                }
            }
            
            function showMotivPreview(event){
            
                xajax.call("motiv_changeMotiv", {
                    parameters:[xajax.getFormValues('abform'), 0],
                    onComplete: (function(){
                    })
                });
                
                return false;
            }

            $("#motivabbruch").click(function(){
                // fenster schließen
                $('.motiv_listitems input[type="radio":checked]').checked = false;

                closeconfirmwindow('abbruch');
            });

            // klick auf "ja - weiter" (wähle grusskarte aus)
            $("#motivweiter").click(function(){
                xajax.call("motiv_checkMotivfield", {
                    parameters:[xajax.getFormValues('abform')],
                    onComplete: (function(){
                    })
                });
            });
         
         }    
    });
})(jQuery);




(function($){
     $.fn.extend({ 

         orderLogin: function(options) {

            var defaults = {
                action: '',
                location: 'payment'
            };
            
            var options = $.extend(defaults, options);
            
            $('input[type=radio].selectbutton').bind("click", showContent).bind("change", showContent);
            $('#loginHeader').bind("click",showContentLogin);
            $('#registerHeader').bind("click",showContentRegister);
            $('#guestHeader').bind("click",showContentGuest);
            // eyecatcher für register
            $('#registerPromoHeader').bind("click",showContentRegister);
            
            // reagiere auf RETURN druck mit einem submit form
            $('form#abform input').keypress(function(e) {
                if(e.which == 13) {
                    $('#abformsubmit').focus().click();
                }
            });            

            if($('#lost_pw')) $('#lost_pw').bind("click", handleLostPW);
            if($('#sendLostPW')) $('#sendLostPW').bind("click", sendLostPW);
            if($('#paypalExoutButton')) $('#paypalExoutButton').bind("click", paypalexout);
            
            // schließe div "passwort anfordern"
            $('.closelostPW').click(function(e) {
                $('#lostPW').toggle();
            });
            
            
            
            function showContentLogin(event) {
                // promo bereich für register einblenden
                $('#registerPromoHeader').show();

                $('#registerContent').hide();
                $('#registerHeader').addClass('verticalHeader3').removeClass('verticalHeader2');
                $('#guestContent').hide();
                $('#guestHeader').addClass('verticalHeader3').removeClass('verticalHeader2');

                $('#loginContent').show();
                $('#loginHeader').removeClass('verticalHeader3').addClass('verticalHeader2');
                $('input[name=logintype]:eq(0)').attr('checked', 'checked');

                $(".LoginHelperBox").css("height", "391px");
            }
            
            function showContentRegister(event) {
                // promo bereich für register ausblenden
                $('#registerPromoHeader').hide();

                $('#loginContent').hide();
                $('#loginHeader').addClass('verticalHeader3').removeClass('verticalHeader2');
                $('#guestContent').hide();
                $('#guestHeader').addClass('verticalHeader3').removeClass('verticalHeader2');

                $('#registerContent').show();
                $('#registerHeader').removeClass('verticalHeader3').addClass('verticalHeader2');
                $('input[name=logintype]:eq(1)').attr('checked', 'checked');
                
                $(".LoginHelperBox").css("height", "547px");
            }
            
            function showContentGuest(event) {
                $('#loginContent').hide();
                $('#loginHeader').addClass('verticalHeader3').removeClass('verticalHeader2');
                $('#registerContent').hide();
                $('#registerHeader').addClass('verticalHeader3').removeClass('verticalHeader2');

                $('#guestContent').show();
                $('#guestHeader').removeClass('verticalHeader3').addClass('verticalHeader2');
                $('input[name=logintype]:eq(2)').attr('checked', 'checked');
            }

            function showContent(event){
                $.each($('input[type=radio].selectbutton'), function(key, value) {
                    $('#' + $(value).val() + 'Content').hide();
                    $('#' + $(value).val() + 'Header').addClass('verticalHeader3').removeClass('verticalHeader2');
                }); 
                
                $('#' + $(event.target).val() + 'Content').show();
                $('#' + $(event.target).val() + 'Header').removeClass('verticalHeader3').addClass('verticalHeader2');
            }
            
            function handleLostPW(event){
                $('#lostPW').toggle();
                return false;
            }
            
            function sendLostPW(event){
                xajax.call('payment_lostPassword', {
                    parameters:[$('#lostPW_email').val()],
                    onComplete: (function(){
                        $('#lostPW').toggle();
                        $('#login_email').val($('#lostPW_email').val());
                        $('#login_pw').attr("placeholder", "");
                    })
                });
                return false;
            }
            
            function paypalexout(event){
                window.location = '/onlineshop/includes/paypalExOut.php';
                return false;
            }
        }
    });
})(jQuery);


(function($){
     $.fn.extend({ 

         shoppingcart: function() {

            // "diesen artikel aus dem warenkorb löschen" wird geklickt
            $('a.deleteWKitemLink').bind("click", function(event){
                // zeige popup an: "artikel aus dem warenkorb löschen?"
                if(confirm("Artikel aus dem Warenkorb entfernen?") == true){
                    // okay wurde geklickt
                    // hole die id
                    var splitstring = event.target.id.split('_');
                    // entferne produkt aus warenkorb mittels xajax call
                    xajax_orderprocess_deleteWK(splitstring[1]);
                }
                return false;
            });

            $('a.canceluploadlink').bind("click", function(event){
                if(confirm("Achtung: Wenn Sie fortfahren wird Ihr aktuelles Bild gelöscht. Möchten Sie dennoch fortfahren?") == true){
                    var element = Event.element(event);
                    window.location.href = element.href;
                }
                return false;
            });
        }
    });
})(jQuery);



(function($){
     $.fn.extend({ 

         orderShoppingcart: function() {
         
             $('#shippingMethodsSelector').show();
             
             $('a.showCalendarButton').bind("click", showCalendar);
              $('input.shipinput').bind("click", setshippingmethod);
              
              
             function showCalendar(event){

                var splitstring = event.target.id.split('_');
            
                if($('#calendarContainer_' + splitstring[1]).is(':visible') === false ){
                    
                    xajax.call("calendar_getCartCalendar", {
                        parameters:[splitstring[1]],
                        onComplete: (function(){
                            $('input.shipinput, a.showCalendarButton').unbind();
                            $('#shippingMethodsSelector_' + splitstring[1]).hide();
                            $('#calendarContainer_' + splitstring[1]).show();
                        })
                    });
                    
                    /*
                    xajax.call("orderprocess_getCartKalender", {
                        parameters:[splitstring[1]],
                        onComplete: (function(){
                            $('input.shipinput, a.showCalendarButton').unbind();
                            $('#shippingMethodsSelector_' + splitstring[1]).hide();
                        })
                    });
                    */
                    
                    
                } else {
                    $('#calendarContainer_' + splitstring[1]).hide();
                    $('#shippingMethodsSelector_' + splitstring[1]).show();                    
                    
                     $('a.showCalendarButton').bind("click", showCalendar);
                      $('input.shipinput').bind("click", setshippingmethod);
                }
                return false;
            }
              
              function setshippingmethod(event){
                var namesplit = event.target.name.split('_');
                xajax.call('orderprocess_changeShippingMethod', {
                    parameters:[$(event.target).val(), namesplit[1]]
                });
            }
        }
    });
})(jQuery);



(function($){
     $.fn.extend({ 

         orderCartcalendar: function(options) {
         
             var defaults = {
                land: 1,
                date: '0000-00-00',
                wkItemID: 0,
                action: 0,
                shippingID: 0
            };
            
            var options = $.extend(defaults, options);
            var months = new Array('Januar','Februar','M&auml;rz','April','Mai','Juni','Juli','August','September','Oktober','November','Dezember');
              
              $('#' + options.date).addClass('isselected');
              
              var dateparts = options.date.split("-");
            var day = dateparts[2];
            
            
            var dateparts = options.date.split("-");
            var day = dateparts[2];
                
            if(dateparts[1].substring(0,1) == '0'){
                dateparts[1] = dateparts[1].replace("0", "");
            }
            var month = months[parseInt(dateparts[1]) - 1];
            var year = dateparts[0];
        
            
            /*
            var month = months[parseInt(dateparts[1].replace("0", "")) - 1];
            var year = dateparts[0];
*/
            if($('#deliveryDate_' + options.wkItemID)) $('#deliveryDate_' + options.wkItemID).html(day + '. ' + month + ' ' + year);
              
              $('#calendar0 tr td a, #calendar1 tr td a , #calendar2 tr td a').bind("click", setDate);
              
             function setDate(event){
                 
                var product = options.product;
                var land = options.land;
        
                $('#calendar0 tr td a, #calendar1 tr td a').removeClass('isselected');
                $('#' + event.target.id).addClass('isselected');
        
                var dateparts = event.target.id.split("-");
                var day = dateparts[2];
                if(dateparts[1].substring(0,1) == '0'){
                    dateparts[1] = dateparts[1].replace("0", "");
                }
                var month = months[parseInt(dateparts[1]) - 1];
                //var month = months[parseInt(dateparts[1].replace("0", "")) - 1];
                var year = dateparts[0];

        
                if(options.shippingID == '34') $('#deliveryDate_' + options.wkItemID).html($('#specialID').val());
                else $('#deliveryDate_' + options.wkItemID).html(day + '. ' + month + ' ' + year);
                                
                if(options.action == 1){
                    xajax.call('orderprocess_updateLieferdatum', {
                        parameters:[event.target.id, options.wkItemID],
                        onComplete: (function(){
                            $('#calendarContainer_' + options.wkItemID).html('');
                            $('#calendarContainer_' + options.wkItemID).hide();
                            $().orderShoppingcart();
                        })
                    });
                }

                return false;
            }
        }
    });
})(jQuery);




(function($){
     $.fn.extend({ 

         orderPaymentmethods: function() {

            $('#paymentMethodsContent input').bind("click", function(event){

                
                $.each($('#paymentMethodsContent div'), function(key, value) {
                    $(value).css('backgroundColor', 'transparent');
                    
                    //alert($(value).css('backgroundColor'));
                });
                
                
                xajax.call('orderprocess_choosePayment', {
                    parameters:[$(event.target).val()],
                    onComplete: (function(){
                        $('#paymentMethodsChooseOtherPaymentLink').show();
                    })
                });

                return true;
            });
            
            $('#paymentMethodsContent a.paymentDelete').bind("click", function(event){
                
                var delConfirm = confirm("Wollen Sie die gespeicherten Daten wirklich löschen?")
        
                if (delConfirm == true){
                    var splitstring = event.target.id.split('---');
                    $('#' + splitstring[1]).remove();
                    xajax_payment_deleteSavedPayment(splitstring[0]);
                }

                return false;
            });

            $('#chooseAnotherPaymentLink').bind("click", function(event){
                $('#paymentMethodsContent input').attr('checked', false);
                
                $('#paymentMethodsContentContainer').hide();
                $('#paymentMethodsContentSelected').html('');
        
                $('#paymentMethodsContent').show();;
                $('#paymentMethodsChooseOtherPaymentLink').hide();
                
                return false;
            });

        }
    });
})(jQuery);


(function($){
     $.fn.extend({ 

         orderPaymentsender: function() {

            $('#adresschangebutton').bind("click", editUserData);
            
            function editUserData(event){
                xajax.call("orderprocess_editUserData", {
                parameters: [1],
                    onComplete: (function(){
                        $('#AdressChangeDataSubmit').bind("click", checkUserAdressChange);
                        $('#AdressChangeDataBack').bind("click", restoreUserData);
                    })
                });
                return false;
            }
        
            function restoreUserData(event){
                xajax.call("orderprocess_restoreUserData", {
                    onComplete: (function(){
                        $('#adresschangebutton').bind("click", editUserData);
                    })
                });
                return false;
            }
        
            function checkUserAdressChange(event){
                xajax.call("orderprocess_checkUserData", {
                    parameters: [xajax.getFormValues('abform')],
                    onComplete: (function(){
                        $('#adresschangebutton').bind("click", editUserData);
                    })
                });
                return false;
            }
        }
    });
})(jQuery);


(function($){
     $.fn.extend({ 

         orderCoupon: function() {

            if($('#couponsubmit')) {
                $('#couponsubmit').bind("click", function(event){
                
                    if($('#coupon')) $('#coupon').removeClass('error');
                    if(event.type == 'click') $('#couponsubmit').blur();
                    xajax_orderprocess_processCoupon($('#coupon').val(), 1, 1);
    
                    return false;
                });
            }
        }
    });
})(jQuery);



(function($){
     $.fn.extend({ 

         orderAusland: function(options) {
         
             var defaults = {
                productID: '',
                land: '',
                auslandprod: '',
                wkID: 0
            };
            
            $('#landselect').bind('change', changeland);
            $('#auslandsubmit').bind('click', submitausland);
                          
             function changeland(event){
                $('#landselect').unbind();
                $('#auslandsubmit').unbind();

                xajax_ausland_init(options.productID, options.wkID, $('#landselect').val(), options.auslandprod, 1);

                return false;
            }
            
            function submitausland(event){
                xajax_ausland_weiter(options.productID, options.wkID, xajax.getFormValues('auslandform'), 1);
                return false;
            }
        }
    });
})(jQuery);


(function($){
     $.fn.extend({ 

         orderHistoria: function(options) {
         
             var defaults = {
                productID: '',
                land: '',
                tag: '',
                monat: '',
                jahr: '',
                wkID: 0
            };
            
            $('#historiaDateSelect').bind("click", function(event){
                $('#abformsubmit').hide();
                xajax_historia_init(options.productID, $('#land').val(), $('#tag').val(), $('#monat').val(), $('#jahr').val(), options.wkID);
                return false;
            });
        }
    });
})(jQuery);

(function($){
     $.fn.extend({ 

         orderAusland: function(options) {
         
             var defaults = {
                productID: '',
                land: '',
                tag: '',
                monat: '',
                jahr: '',
                wkID: 0
            };
            
            
            
            function load_stuff(event) {
                xajax.call('ausland_init', {
                    parameters:[options.productID, options.wkID, $('#landselect').val(), xajax.getFormValues('abform')],
                    onComplete: (function(){
                        $('input.[name="auslandprod"]').bind("click", load_stuff);
                        $('#abformsubmit').show();
                    })
                });
                
                return false;
            }
            
            
            
            $('#landselect').bind("change", function(event){
                xajax.call('ausland_init', {
                    parameters:[options.productID, options.wkID, $('#landselect').val(), 0],
                    onComplete: (function(){
                        $('input.[name="auslandprod"]').bind("click", load_stuff);
                    })
                    
                });
                return false;
            });
            
            
        }
    });
})(jQuery);


/*
historiaactions = Class.create({
    initialize: function(options){

        /* globale Optionen*
        this.options = Object.extend({
            productID: '',
            land: '',
            tag: '',
            monat: '',
            jahr: '',
            wkID: 0
        }, options ||
        {});

        if($('historiasubmit'))$('historiasubmit').observe('click', this.handle.bind(this));
        if($('historiaform'))$('historiaform').observe('submit', this.handle.bind(this));

    },

    handle: function(event){
        event.preventDefault();
        
        if($('todo').value == 'selectDate'){
            xajax_historia_init(this.options.productID, $('land').value, $('tag').value, $('monat').value, $('jahr').value, this.options.wkID);
        } else {
            xajax_historia_order(xajax.getFormValues('historiaform'), this.options.wkID, 1);
        }
        
    }


});

*/


/*
 * jQuery Expander plugin
 * Version 0.4  (12/09/2008)
 * @requires jQuery v1.1.1+
 *
 * Dual licensed under the MIT and GPL licenses:
 * http://www.opensource.org/licenses/mit-license.php
 * http://www.gnu.org/licenses/gpl.html
 *
 */


(function($) {

  $.fn.expander = function(options) {

    var opts = $.extend({}, $.fn.expander.defaults, options);
    var delayedCollapse;
    return this.each(function() {
      var $this = $(this);
      var o = $.meta ? $.extend({}, opts, $this.data()) : opts;
         var cleanedTag, startTags, endTags;    
         var allText = $this.html();
         var startText = allText.slice(0, o.slicePoint).replace(/\w+$/,'');
        
         startTags = startText.match(/<\w[^>]*>/g);
        
         if (startTags) {startText = allText.slice(0,o.slicePoint + startTags.join('').length).replace(/\w+$/,'');}
       //  alert(startText);
         if (startText.lastIndexOf('<') > startText.lastIndexOf('>') ) {
           startText = startText.slice(0,startText.lastIndexOf('<'));
         }
         var endText = allText.slice(startText.length);          
        
         // create necessary expand/collapse elements if they don't already exist
         if (!$('span.details', this).length) {
        // end script if text length isn't long enough.
           if ( endText.replace(/\s+$/,'').split(' ').length < o.widow ) { return; }
           // otherwise, continue...    
           if (endText.indexOf('</') > -1) {
             endTags = endText.match(/<(\/)?[^>]*>/g);
          for (var i=0; i < endTags.length; i++) {

            if (endTags[i].indexOf('</') > -1) {
              var startTag, startTagExists = false;
              for (var j=0; j < i; j++) {
                startTag = endTags[j].slice(0, endTags[j].indexOf(' ')).replace(/(\w)$/,'$1>');
                if (startTag == rSlash(endTags[i])) {
                  startTagExists = true;
                }
              }              
              if (!startTagExists) {
                startText = startText + endTags[i];
                var matched = false;
                for (var s=startTags.length - 1; s >= 0; s--) {
                  if (startTags[s].slice(0, startTags[s].indexOf(' ')).replace(/(\w)$/,'$1>') == rSlash(endTags[i]) 
                  && matched == false) {
                    cleanedTag = cleanedTag ? startTags[s] + cleanedTag : startTags[s];
                    matched = true;
                  }
                };
              }
            }
          }

          endText = cleanedTag && cleanedTag + endText || endText;
        }
           $this.html([
             startText,
             '<span class="read-more">',
             o.expandPrefix,
               '<a href="#">',
                 o.expandText,
               '</a>',
        '</span>',
             '<span class="details">',
               endText,
             '</span>'
             ].join('')
           );
      }
      var $thisDetails = $('span.details', this),
        $readMore = $('span.read-more', this);
         $thisDetails.hide();
         $readMore.find('a').click(function() {
           $readMore.hide();

           if (o.expandEffect === 'show' && !o.expandSpeed) {
          o.beforeExpand($this);
             $thisDetails.show();
          o.afterExpand($this);
          delayCollapse(o, $thisDetails);
           } else {
          o.beforeExpand($this);
             $thisDetails[o.expandEffect](o.expandSpeed, function() {
            $thisDetails.css({zoom: ''});
            o.afterExpand($this);
            delayCollapse(o, $thisDetails);
             });
           }
        return false;
         });
      if (o.userCollapse) {
        $this
        .find('span.details').append('<span class="re-collapse">' + o.userCollapsePrefix + '<a href="#">' + o.userCollapseText + '</a></span>');
        $this.find('span.re-collapse a').click(function() {

          clearTimeout(delayedCollapse);
          var $detailsCollapsed = $(this).parents('span.details');
          reCollapse($detailsCollapsed);
          o.onCollapse($this, true);
          return false;
        });
      }
    });
    function reCollapse(el) {
       el.hide()
        .prev('span.read-more').show();
    }
    function delayCollapse(option, $collapseEl) {
      if (option.collapseTimer) {
        delayedCollapse = setTimeout(function() {  
          reCollapse($collapseEl);
          option.onCollapse($collapseEl.parent(), false);
          },
          option.collapseTimer
        );
      }
    }
    function rSlash(rString) {
      return rString.replace(/\//,'');
    }    
  };
    // plugin defaults
  $.fn.expander.defaults = {
    slicePoint:       100,  // the number of characters at which the contents will be sliced into two parts. 
                            // Note: any tag names in the HTML that appear inside the sliced element before 
                            // the slicePoint will be counted along with the text characters.
    widow:            4,  // a threshold of sorts for whether to initially hide/collapse part of the element's contents. 
                          // If after slicing the contents in two there are fewer words in the second part than 
                          // the value set by widow, we won't bother hiding/collapsing anything.
    expandText:       'read more', // text displayed in a link instead of the hidden part of the element. 
                                      // clicking this will expand/show the hidden/collapsed text
    expandPrefix:     '&hellip; ',
    collapseTimer:    0, // number of milliseconds after text has been expanded at which to collapse the text again
    expandEffect:     'fadeIn',
    expandSpeed:      '',   // speed in milliseconds of the animation effect for expanding the text
    userCollapse:     true, // allow the user to re-collapse the expanded text.
    userCollapseText: '[collapse expanded text]',  // text to use for the link to re-collapse the text
    userCollapsePrefix: ' ',
    beforeExpand: function($thisEl) {},
    afterExpand: function($thisEl) {},
    onCollapse: function($thisEl, byUser) {}
  };
})(jQuery);

