Subversion-Projekte lars-tiefland.zeldi.de

Revision

Details | Letzte Änderung | Log anzeigen | RSS feed

Revision Autor Zeilennr. Zeile
2 lars 1
$(document).ready(function(){
2
 
3
    $('.open_input_info_nl').click(function(){
4
         $(this).next().slideToggle("fast");
5
    });
6
 
7
 
8
    $('.optionsA').change(calculate_price_by_options);
9
 
10
    // current year
11
    if($('#year').length) {
12
        var year = new Date().getFullYear();
13
        $('#year').html(year);
14
    }
15
    // footer_height
16
    if($('#footer_height').length) {
17
        var h = $('.footer').height();
18
        $('#footer_height').height(h+20);
19
    }
20
 
21
 
22
    $('.disable_google').removeAttr("target");
23
    $('.disable_google').attr("href","javascript:gaOptout();");
24
 
25
 
26
    $('#post_finder').button({
27
        icons:{
28
            primary:"ui-icon-search",
29
        }
30
    }).click(post_finder);
31
    $('#postfinder_dlg').dialog({
32
        autoOpen:false,
33
        modal:true,
34
        resizable:false,
35
        width:850,
36
        height:600
37
    })
38
 
39
 
40
 
41
    // MAINNAV
42
 
43
    $(".menue").click(function(e){
44
        e.preventDefault();
45
        $('body').toggleClass("active-nav");
46
        $('body').toggleClass("fixed");
47
    });
48
    $(".suche").click(function(e){
49
        e.preventDefault();
50
        $('body').toggleClass("active-search");
51
        if($(".active-search").length > 0) {
52
            $('.mobile #suchbegriff').focus();
53
        }
54
    });
55
    $(".topnav .mobile.close").click(function(e){
56
        e.preventDefault();
57
        $('body').toggleClass("active-nav");
58
        $('body').toggleClass("fixed");
59
    });
60
    $("#maincontent,.maincontent").click(function(e){
61
        if( $("body").hasClass("active-nav") ){
62
            e.preventDefault();
63
            $('body').toggleClass("active-nav");
64
            $('body').toggleClass("fixed");
65
        }
66
    });
67
    $('.mainnav li a').click(function(e){
68
 
69
        e.preventDefault();
70
 
71
        $('.mainnav li').removeClass('active');
72
        var id = $(this).attr('id');
73
        var href = $(this).attr('href');
74
        $.ajax({
75
            typ: "GET",
76
            url:'/module/setSessionVars.php?mainnav='+id,
77
            success:function(html){
78
                location.href = href;
79
            }
80
        });
81
    });
82
    var subNavClick = false;
83
    $('.level1').on("touchstart", function (e) {
84
        if( !subNavClick ){
85
          'use strict'; //satisfy code inspectors
86
          var link = $(this); //preselect the link
87
 
88
          if ( link.hasClass('hover') && !subNavClick ) {
89
            $('.level1').removeClass("hover");
90
            $('.level2').hide();
91
            $('.level2',this).css('display', 'block');
92
            return true;
93
          } else {
94
            subNavClick = false;
95
            $('.level1').removeClass("hover");
96
            $('.level2').hide();
97
            link.addClass('hover');
98
            $('.level2',this).css('display', 'block');
99
 
100
            return false; //extra, and to make sure the function has consistent return points
101
          }
102
        }
103
    });
104
    $(".level2").on("touchstart", function (e) {
105
        subNavClick = true;
106
    });
107
 
108
    // topnav Aufklapper Hintergrundbild (Linien)
109
    /*
110
    $('.topnav li').mouseenter(function() {
111
        windowWidth = $(window).width();
112
        if( windowWidth > 850){
113
            var expl = $(this).attr('id').split("_");
114
            var id = expl[1];
115
            var cols = 0;
116
            $('#sub_'+id+' .subdir_col').each(function(){
117
                if( $(this).children().length > 0 ) {
118
                    cols++;
119
                }
120
            });
121
            $('#sub_' + id + ' .subnav_padding').css("background","url(/images/webelemente/topnav_bg_" + cols + ".png) repeat-y");
122
        }
123
    });
124
    */
125
 
126
    // ME: typo3 tabellen dürfen keine Styles haben
127
    $('.typo3content .contenttable td').each(function(){
128
        $(this).removeAttr('style');
129
    });
130
 
131
 
132
 
133
});
134
 
135
 
136
 
137
 
138
 
139
function initSlider( classname, windowWidth, slides, autoplay, infiniteLoop, forceWidth, pager ){
140
 
141
    if(!pager) {
142
        pager = false;
143
    }
144
 
145
    if(infiniteLoop=="undefined") {
146
        var infiniteLoop = false;
147
    }
148
 
149
    if(autoplay=="undefined"){
150
        var autoplay = false;
151
    }
152
 
153
    if(!slides) {
154
        var slides = 3;
155
    }
156
    var slideWidth = windowWidth / slides;
157
 
158
    if(slides == 1){
159
        slides = 0;
160
    }
161
 
162
    if(forceWidth==true) {
163
            slideWidth = windowWidth/slides;
164
            slides = slides;
165
    }else{
166
        if( windowWidth > 425 && windowWidth < 800 ) {
167
            slideWidth = windowWidth;
168
            if( slides > 1 ){
169
                slides = 1;
170
            }
171
        }else if( windowWidth < 420 ){
172
            slideWidth = windowWidth;
173
            slides = 1;
174
        }
175
    }
176
 
177
    classname = $("."+classname).bxSlider({
178
        infiniteLoop: infiniteLoop,
179
        autoHover: true,
180
        adaptiveHeight: false,
181
        responsive: true,
182
        minSlides: 1,
183
        maxSlides: slides,
184
        slideWidth: slideWidth,
185
        slideMargin: (slides > 0) ? 10: 0,
186
        pager: pager,
187
        controls: (slides > 0)? true : false,
188
        auto: autoplay
189
    });
190
    return classname;
191
}
192
 
193
 
194
 
195
function initSliderVert( classname, height, slides, autoplay, infiniteLoop, forceWidth ){
196
 
197
    if(infiniteLoop=="undefined") {
198
        var infiniteLoop = false;
199
    }
200
 
201
    if(autoplay=="undefined"){
202
        var autoplay = false;
203
    }
204
 
205
    if(!slides) {
206
        var slides = 3;
207
    }
208
    var slideHeight = height / slides;
209
 
210
    if(slides == 1){
211
        slides = 0;
212
    }
213
 
214
    /*if(forceWidth==true) {
215
    }else{
216
        if( windowWidth < 800 && windowWidth > 400 ){
217
            slideWidth = windowWidth / 2;
218
            if( slides > 1 ){
219
                slides = 1;
220
            }
221
        }else if( windowWidth < 400 ){
222
            slideWidth = windowWidth;
223
            slides = 1;
224
        }
225
    }*/
226
 
227
    classname = $("."+classname).bxSlider({
228
        mode:"vertical",
229
        infiniteLoop: infiniteLoop,
230
        autoHover: true,
231
        adaptiveHeight: false,
232
        responsive: true,
233
        minSlides: 1,
234
        maxSlides: slides,
235
        slideHeight: slideHeight,
236
        slideMargin: (slides > 0) ? 10: 0,
237
        pager: false,
238
        controls: (slides > 0)? true : false,
239
        auto: autoplay
240
    });
241
    return classname;
242
}
243
 
244
function reloadSlider( classname, windowWidth, slides, autoplay ){
245
 
246
    if(!autoplay){
247
        var autoplay = false;
248
    }
249
 
250
    if(!slides) {
251
        var slides = 3;
252
    }
253
 
254
    var slideWidth = $(this).width() / slides;
255
 
256
    if(slides == 1){
257
        slides = 0;
258
    }
259
 
260
    var slideWidth = $(this).width() / slides;
261
    if( windowWidth < 800 && windowWidth > 350 ){
262
        slideWidth = $(this).width() / 2;
263
        if( slides > 1 ){
264
            slides = 2;
265
        }
266
    }else if( windowWidth < 350 ){
267
        slideWidth = $(this).width();
268
        slides = 1
269
    }
270
 
271
     $("."+classname).reloadSlider({
272
        autoHover: true,
273
        adaptiveHeight: true,
274
        responsive: true,
275
        minSlides: slides,
276
        maxSlides: slides,
277
        slideWidth: slideWidth,
278
        slideMargin: (slides > 0) ? 10: 0,
279
        pager: false,
280
        controls: (slides > 0)? true : false,
281
        auto: autoplay
282
    })
283
 
284
    return classname;
285
}
286
 
287
function initElevateZoom( zoomType, scrollZoom, clickZoom, img_zoom ) {
288
 
289
    if( img_zoom == "" || img_zoom == undefined){
290
       var img_zoom = "img_zoom";
291
    }
292
 
293
    var image = $('#gallery a');
294
    if( zoomType == "" || zoomType == undefined){
295
       var zoomType = "window";
296
    }
297
    if( scrollZoom == "" || scrollZoom == undefined){
298
       var scrollZoom = false;
299
    }
300
 
301
    if( clickZoom == "" || clickZoom == undefined){
302
       var clickZoom = true;
303
    }
304
 
305
    if(zoomType=="inner" && scrollZoom) {
306
        scrollZoom = true;
307
    }
308
    var pointer = '';
309
    if(clickZoom==true) {
310
        pointer = 'pointer';
311
    }
312
 
313
    var zoomConfig = {
314
        lensShape: 'round',
315
        gallery:'gallery',
316
        responsive: true,
317
        galleryActiveClass: 'active',
318
        zoomType: zoomType,
319
        easing: true,
320
        borderSize: 1,
321
        cursor: pointer,
322
        borderColor: '#666',
323
        zoomWindowWidth:700,
324
        zoomWindowHeight:700,
325
        zoomWindowOffetx:5,
326
        zoomWindowOffety:0,
327
        scrollZoom: scrollZoom,
328
 
329
    };
330
    var zoomImage = $('#' + img_zoom);
331
 
332
    zoomImage.elevateZoom(zoomConfig);//initialise zoom
333
 
334
    if(clickZoom==true){
335
        image.on('click', function(){
336
            // Remove old instance od EZ
337
            $('.zoomContainer').remove();
338
            zoomImage.removeData('elevateZoom');
339
            // Update source for images
340
            zoomImage.attr('src', $(this).data('image'));
341
            zoomImage.data('zoom-image', $(this).data('zoom-image'));
342
            // Reinitialize EZ
343
            zoomImage.elevateZoom(zoomConfig);
344
 
345
        });
346
 
347
        zoomImage.on("click", function(e) {
348
            var ez = $('#' + img_zoom).data('elevateZoom');
349
            var g = ez.getGalleryList();
350
            var data = [];
351
            //Wenn g == "", dann gibt es nur ein Bild. Dieses soll auch in der Fancybox rauskommen
352
            if(g == ""){
353
               data[0] = { href : $(this).data('zoom-image'), title : '' };
354
               g = data;
355
            }
356
            // ME: remove clones
357
            validhref = [];
358
            imgs = [];
359
            if(g) {
360
                $.each(g,function(key,value){
361
                    if(value) {
362
                        if(value.href.length>0) {
363
                            if(validhref.indexOf(value.href)===-1) {
364
                                validhref.push(value.href);
365
                                imgs.push(value);
366
                            }
367
                        }
368
                    }
369
                });
370
            }
371
            $.fancybox.open(imgs,{
372
                'openEffect'    :   'fade',
373
                'closeEffect'   :   'fade',
374
                'nextEffect'    :   'fade',
375
                'openSpeed'     :   600,
376
                'closeSpeed'    :   200,
377
                'closeBtn'      :   true,
378
                'arrows'        :   true,
379
                'title'         :   '',
380
                helpers : {
381
                    buttons : {}
382
                }
383
            });
384
        });
385
    } // end if clickZoom
386
}
387
 
388
function post_finder()
389
{
390
    daten={
391
        plz:$('#plz').val(),
392
        ort:$('#ort').val(),
393
        strasse:$('#strasse').val(),
394
        hausnummer:$('#hausnummer').val()
395
    }
396
    $('#postfinder_dlg').load("/module/standortsuche.php",daten,function(){
397
        $('#postfinder_dlg').dialog("open");
398
    });
399
}
400
 
401
 
402
    // ME: optionen mit aufschlag
403
    function calculate_price_by_options() {
404
        let aufschlagSum = 0;
405
        $('.optionsA').each(function(i){
406
 
407
            let preis = $('.item_preis').attr('content');
408
            aufschlag = $(this).children('option:selected').data('aufschlag');
409
 
410
            if(aufschlag > 0) {
411
                aufschlagSum = eval(aufschlagSum + eval(aufschlag));
412
            }
413
            preis = eval(eval(preis) + eval(aufschlagSum));
414
            $('.item_preis').html(preis.money_format());
415
        });
416
    }
417
 
418