PageSourceSearch

https://www.grillshop-24.de/JavaScript/add_item_to_basket.js?1791284284

js grillshop-24.de collected 2026-10-06 10:58:14 UTC 15,896 bytes, 508 lines download raw bytes

1//$Id: add_item_to_basket.js 7412 2021-11-24 12:43:52Z erling $
2$(function(){
3
4    $('.add_konfigitem_to_basket').click(add_konfigitem_to_basket);
5    $('.add_to_basket').click(add_item_to_basket); 
6    $('.addon_to_basket').click(addon_item_to_basket); 
7    $('.addon_basket').click(addon_to_basket); 
8    $('.add_zusatz').click(add_zusatz);
9    $('.basket_add_zusatz').click(basket_add_zusatz);
10    $('.add_to_basket_single').click(add_single_to_basket);
11
12    $("div.basket_text").on("click", "div.add_item_from_subdir", add_item_from_subdir);
13    $("div.basketImg").on("click", "div.add_item_from_subdir", add_item_from_subdir);
14    $("div.basketImg").on("click", "img.add_item_from_subdir", add_item_from_subdir);
15    $("div.basketReload").on("click", "img.add_item_from_subdir", add_item_from_subdir);
16    //$(".itemTable_container").on("click", "div.add_item_from_subdir", add_item_from_subdir);
17    
18    $("#letzteBestellungen").on("click", "div.add_item_from_subdir", add_item_from_subdir);
19    
20    $("#favoriten").on("click", "img.add_item_from_subdir", add_item_from_subdir);
21    //$("#favoriten").on("click", "div.add_item_from_subdir", add_item_from_subdir);
22    
23
24    $('#accordionBasket #favoriten div.add_item_from_subdir').click(add_item_from_subdir);
25    $('#tabsBasket #favoriten div.add_item_from_subdir').click(add_item_from_subdir);
26
27   
28    $('#addPraesentkorb').click(addPraesentkorb);
29    $('#choosePraesentkorb').click(choosePraesentkorb);
30    
31    let w=$(window).width();
32    let dialogWidth = "90%";
33
34    if(w>1000) {
35        dialogWidth = 850;
36
37    }
38    $('#add_basket_msg').dialog({
39            dialogClass: 'bestelldialog',
40            modal:true,
41            autoOpen:false,
42            resizable:false,
43            width: dialogWidth, // overcomes width:'auto' and maxWidth bug
44            maxWidth: 800,
45            maxHeight: 600,
46            position:{
47                my: "center",
48                at: "center",
49                of: window
50            },
51            buttons:{
52                'weiter einkaufen':function(){
53                    $(this).dialog("close");
54                    //document.location.reload();
55                },
56                'zur Kasse':function(){
57                    $(this).dialog("close");
58                    document.location.href=buy_link_base+"/basket.html";
59                }
60            }
61    });
62
63    // ME: das Mengeneingabefeld prüfen und unerlaubte Eingaben verhindern
64    $('.mengeninput').keyup(checkMindestMenge);
65
66    function checkMindestMenge(e) {
67        if(e.which!=8) {
68            let mindestMenge = parseInt( $('#mindestMenge').val() );
69            let menge = $(this).val();
70            let defaultMenge = 1;
71            // im Warenkorb muss es auch funktionieren..
72
73            if(!mindestMenge) {
74                let basketItemID = $(this).attr('id');
75                mindestMenge = parseInt ( $('#mindestMenge_'+basketItemID).val() );
76                let onBasketPage = 1;
77            }
78            if(mindestMenge > 0) {
79                defaultMenge = mindestMenge;
80            }
81
82            menge = menge.replace('.',"");
83
84            if(menge<=0) {
85                menge=defaultMenge;
86            }
87
88            if(isNaN(menge)==true) {
89                menge=defaultMenge;
90            }
91            if(mindestMenge > 0) {
92                if(menge < defaultMenge) {
93                    menge = defaultMenge;
94                }
95            }
96
97            $(this).val(menge);
98        }
99    }    // bei onfocus das Feld leeren
100    $('.mengeninput').focus(function(){
101        //$(this).val('');
102    });
103
104    // ME: beim Enter drücken muss der Warenkorbbutton getriggert werden.
105    $('.mengeninput').keypress(function(e){
106        if(e.which === 13) {
107            $('.add_to_basket').trigger('click');
108            // auch auf den Übersichtsseiten
109            let id = $(this).attr('id');
110            if(id) {
111                id = id.split("_");
112                $('#item_'+id[1]).trigger('click');
113            }
114        }
115    });
116
117});
118
119function addPraesentkorb(e)
120{
121    e.preventDefault();
122    pId=$(this).attr("data-pkId");
123    $.get("/module/add_item_to_basket.php?item="+pId,function(){
124        location.href="/basket.html";
125    })
126}
127function choosePraesentkorb(e)
128{
129    e.preventDefault();
130    pId=$('#pkId').val();
131    $.get("/module/add_item_to_basket.php?item="+pId,function(){
132        location.href="/basket.html";
133    })
134}
135
136function add_konfigitem_to_basket(event) {
137
138    event.preventDefault();
139    items = $('#basket').serialize();
140
141    let addons = $('#addons').serialize();
142
143    $('.warenkorb').load('/module/add_item_to_basket.php?'+addons,items, function(data){
144        $('#add_basket_msg').dialog("open");
145        let iPreis = $('#itemPreis').html();
146        if(iPreis){
147          $('#add_basket_msg').find('#dialog_preis').html(iPreis);
148        }
149
150    });
151}
152
153function add_single_to_basket(event) {
154
155    event.stopImmediatePropagation();
156    event.preventDefault();
157
158    $("<input type='hidden' name='single' value='true'>").appendTo("#basket");
159    let itemArr = $('#basket').serialize();
160
161    $('#menge_bestand_msg').hide();
162
163    if(typeof buy_more_as_on_stock == null || typeof buy_more_as_on_stock == undefined)
164    {
165        let buy_more_as_on_stock=0;
166    }
167
168    if( checkVerfuegbarenBestand ) {
169        $.ajax({
170            type: "POST",
171            url: "/module/checkWarenkorbItemBestand.php",
172            data: itemArr,
173            async: false,
174            success: function(data) {
175
176                if( data != "" && buy_more_as_on_stock !=1 ){
177                    alert(data)
178                }else{
179                    $('#add_basket_msg').dialog("open");
180                    if(data!="" && buy_more_as_on_stock==1)
181                    {
182                        $('#menge_bestand_msg').css('display','block');
183                    }
184                    if (typeof(fbtag) != "undefined" && typeof(fbq) != "undefined") {
185                        fbq("track","AddToCart");
186                    }
187                    let url = '/module/add_item_to_basket.php';
188                    $('.warenkorb').load(url, itemArr, function(data){});
189                }
190            }
191        })
192    }else{
193        if (typeof(fbtag) != "undefined" && typeof(fbq) != "undefined") {
194            fbq("track","AddToCart");
195        }
196        $('.warenkorb').load('/module/add_item_to_basket.php', itemArr, function(data){
197            location.href="/paypal/SetExpressCheckout.php";
198        });
199    }
200}
201
202function add_item_to_basket(event,optDlg=1) {
203
204    event.stopImmediatePropagation();
205    event.preventDefault();
206
207    // options selected?
208    if(optDlg===1) {
209        let err = 0;
210        let cDlg;
211        $('.options option').each(function() {
212            if($(this).is(":selected")) {
213                if($(this).val()==="-1") {
214                    err++;
215                }
216            }
217            return err;
218        });
219        if(err>0) {
220            cDlg = confirm("Es sind nicht alle Optionen ausgewählt worden. Sind sicher, dass Sie fortfahren möchten?");
221        }
222        if(cDlg===false) {
223            return false;
224        }
225    }
226    
227    
228
229    $('.products_checkbox').each(function(index,elem){
230        if($(elem).prop("checked")==true)
231        {
232            let item=$(elem).attr("id").split("_");
233            item=item[1];
234            $('.warenkorb').load('/module/add_item_to_basket.php?basket=true&item='+item+'&Menge=1', function(data){});
235        }
236    })
237    let itemArr = $('#basket').serialize();
238
239    $('#menge_bestand_msg').hide();
240
241    if(typeof buy_more_as_on_stock == null || typeof buy_more_as_on_stock === undefined)
242    {
243        let buy_more_as_on_stock=0;
244    }
245
246    if( checkVerfuegbarenBestand ) {
247        $.ajax({
248            type: "POST",
249            url: "/module/checkWarenkorbItemBestand.php",
250            data: itemArr,
251            async: false,
252            success: function(data) {
253
254                if( data != "" && buy_more_as_on_stock !=1 ){
255                    alert(data)
256                }else{
257                    $('#add_basket_msg').dialog("open");
258                    if(data!="" && buy_more_as_on_stock==1)
259                    {
260                        $('#menge_bestand_msg').css('display','block');
261                    }
262                    if (typeof(fbtag) != "undefined" && typeof(fbq) != "undefined") {
263                        fbq("track","AddToCart");
264                    }
265                    console.log(itemArr)
266                    $('.warenkorb').load('/module/add_item_to_basket.php', itemArr, function(data){});
267                }
268            }
269        })
270    }else{
271        if (typeof(fbtag) != "undefined" && typeof(fbq) != "undefined") {
272            fbq("track","AddToCart");
273        }
274        $('#add_basket_msg').dialog("open");
275        $('.warenkorb').load('/module/add_item_to_basket.php', itemArr, function(data){});
276    }
277}
278
279
280function addon_item_to_basket(event)
281{
282    event.stopImmediatePropagation();
283    event.preventDefault();
284    let a_id = this.id;
285    a_id = a_id.split("_");
286    a_id = a_id[1];
287    let form_id="basket_"+a_id;
288    $('#add_basket_msg').dialog("open");
289    $('.warenkorb').load('/module/add_item_to_basket.php', $('#'+form_id).serialize(), function(data){
290    });
291}
292function addon_to_basket(event)
293{
294    event.preventDefault();
295    let a_id = $(this).attr("id");
296    a_id = a_id.split("_");
297    a_id = a_id[1];
298    let form_id="basket_"+a_id;
299
300    $('.hd_warenkorb').load('/module/add_item_to_basket.php', $('#'+form_id).serialize(), function(data){
301        document.location.href=buy_link_base+"/basket.html";
302    });
303}
304
305function add_item_from_subdir(event) {
306
307    $(".ui-dialog-content").dialog("close");
308    let item_id = $(this).attr("id");
309
310    item_id=item_id.split("_");
311    item_id = item_id[1];
312    let menge = 1;
313
314    if($('#Menge_'+item_id).val())
315    {
316        menge = $('#Menge_'+item_id).val();
317    }
318
319    let auspraegungStr="";
320
321    if($('#auspraegungStr_'+item_id).val())
322    {
323        auspraegungStr=$('#auspraegungStr_'+item_id).val();
324    }
325
326    let url = '/module/add_item_to_basket.php?basket=true&item='+item_id+'&Menge='+menge+'&buy=false';
327
328    if(auspraegungStr)
329    {
330        url+="&auspraegungStr="+encodeURI(auspraegungStr);
331    }
332
333    if( $(".mengeninput_"+item_id).val() > 0 && $(".mengeninput_"+item_id).val() != "undefined" ){
334        menge = $(".mengeninput_"+item_id).val();
335
336    }
337
338    // checkVerfuegbarenBestand in page.tpl definiert
339    if( checkVerfuegbarenBestand ) {
340        if(typeof buy_more_as_on_stock == null)
341        {
342            buy_more_as_on_stock=0;
343        }
344        let item = [];
345        item.push({ name: "item", value: item_id });
346        item.push({ name: "Menge", value: menge });
347
348        $.ajax({
349            type: "POST",
350            url: "/module/checkWarenkorbItemBestand.php",
351            data: item,
352            async: false,
353            success: function(data) {
354
355                if( data != "" && buy_more_as_on_stock !=1 ){
356                    alert(data)
357                }else{
358                    $('#add_basket_msg').dialog("open");
359                    if(data!=="" && buy_more_as_on_stock==1)
360                    {
361                        $('#menge_bestand_msg').css('display','block');
362                    }
363                    if (typeof(fbtag) != "undefined" && typeof(fbq) != "undefined") {
364                        fbq("track","AddToCart");
365                    }
366                    $('.warenkorb').load(url,function(data){});
367                }
368            }
369        })
370    }else{
371        if (typeof(fbtag) != "undefined" && typeof(fbq) != "undefined") {
372            fbq("track","AddToCart");
373        }
374        $('#add_basket_msg').dialog("open");
375        $('.warenkorb').load(url,$('#basket_'+item_id).serialize(),function(data){});
376    }
377}
378
379function add_item_from_fastOrder( data ){
380    if (typeof(fbtag) != "undefined" && typeof(fbq) != "undefined") {
381        fbq("track","AddToCart");
382    }
383
384    $('#add_basket_msg').dialog("open");
385    $.ajax({
386        type: "POST",
387        url : '/module/add_item_to_basket.php?basket=true&buy=false&mode=fastOrder',
388        data: data
389    }).done(function(html){
390        $('.warenkorb').html(html);
391    });
392}
393
394
395function basket_add_zusatz(event)
396{
397    event.preventDefault();
398    $( "#loading" ).dialog( "open" );
399    let z_id = this.id;
400    z_id = z_id.split("_");
401    let b_id = z_id[1];
402    let m_id = z_id[4];
403    z_id = z_id[3];
404    let url='/module/add_item_to_basket.php?basket=true&b_id='+b_id+'&zusatz='+z_id+'&Menge=1&buy=false';
405    //alert(url);
406    $('.hd_warenkorb').load(url,function(data){
407        document.location.href=buy_link_base+"/basket.html";
408    });
409}
410function add_zusatz(event)
411{
412    event.preventDefault();
413    let z_id = this.id;
414    z_id = z_id.split("_");
415    let m_id = z_id[2];
416    z_id = z_id[1];
417    //alert(m_id);
418    let url='/module/add_item_to_basket.php?basket=true&zusatz='+z_id+'&Menge=1&buy=false';
419    $('.hd_warenkorb').load(url,function(data){
420        $('.hd_warenkorb').load("/module/updateBasket.php");
421    });
422}
423
424    function changeMenge()
425    {
426
427        let idArr = $(this).attr('id');
428        idArr = idArr.split("_");
429        let action = idArr[0];
430        let id = idArr[1];
431        let currentMenge = $('.mengeninput_'+id).val();
432
433        if(currentMenge==="" || currentMenge < 1) {
434            currentMenge = 1;
435            $('.mengeninput_'+id).val(currentMenge);
436        }
437
438        switch(action) {
439            case "plus":
440                currentMenge++;
441            break;
442            case "minus":
443                currentMenge--;
444            break;
445            default:
446            break;
447        }
448        if(currentMenge < 1) {
449            currentMenge = 1;
450        }
451
452        $('.mengeninput_'+id).val(currentMenge);
453
454        if($(this).parent().children().attr('name')=="basketItemID") {
455            let basketItemId = $(this).parent().children().val();
456            if(basketItemId) {
457                //changeTarget(basketItemId);
458                $.get("/module/basketajax.php",function(){
459                    $('#versandoptionen').load("/update_versand.php?param=single&Land=" + $('#versand_laenderauswahl').val() );
460                })
461            }
462        }
463
464
465
466    }
467
468// mengen update ueber plus/minus tasten
469$(document).ready(function(){
470    // mengen update im BasketInfoLayer
471    $('.basketinfochange_menge').click(function(){
472        let idArr = $(this).attr('id');
473        idArr = idArr.split("_");
474        let action = idArr[0];
475        let id = idArr[1];
476        let currentMenge = $('.basketinfomengeninput_'+id).val();
477        
478        if(currentMenge=="" || currentMenge < 1) {
479            currentMenge = 1;
480            $('.basketinfomengeninput_'+id).val(currentMenge);
481        }     
482
483        switch(action) {
484            case "basketinfoplus":
485                currentMenge++;
486            break;
487            case "basketinfominus":
488                currentMenge--;
489            break;
490            
491            default:
492            break;
493        }
494        if(currentMenge < 1) {
495            currentMenge = 1;
496        }     
497        // todo: die BasketSession updaten
498        
499        // inputFeld updaten
500        $('.basketinfomengeninput_'+id).val(currentMenge);
501        
502    });
503
504
505    // plus/minus Tasten beim Mengeneingabefeld
506    $('.change_menge').unbind('click').click(changeMenge);
507    
508});

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.