$(document).ready(function() {
    function atremove() { $('.chyba,.uspech,.atremove').addClass('oh').animate({height:0,opacity:0.2},200,function(){$(this).remove();});}
    $.fn.hasAttr = function(at) { return this.attr(at) !== undefined; };
    $.fn.isExternal = function() { var host = window.location.host; var link = $('<a>', { href: this.attr('href') })[0].hostname; return (link !== host); };
    function round2(num) { return +(Math.round(num + "e+2")  + "e-2"); }
    function isExt(href) { var host = window.location.host; var link = $('<a>', { href: href })[0].hostname; return (link !== host); }
    function historyUrl(url) {
        //check a
        var urla = url.split('/');
        var newurl = '';
        if(typeof urla[1] !== 'undefined' && urla[1] == 'a') {
            $.each(urla,function(i,x){
                if (x != '') {
                    if (i == 1) { var x = 'folder'; }
                     newurl = newurl == '' ? '/'+x+'/' : newurl+x+'/';
                }
            });
        }
        if (newurl == '') { window.history.pushState("", "", url); } else { window.history.pushState("", "", newurl); }
    }
    function historyForce(url) {  }
    $("body").on("click",".history-back",function(e) { e.preventDefault(); window.history.back(); });
    $("body").on("click",".history-forward",function(e) { e.preventDefault(); window.history.forward(); });
    $(window).on('popstate',function(e) { e.preventDefault();
            if ($(this).length > 0 && $(this)[0].location.href != '') {
                    var search = $(this)[0].location.search.substring(1);
                    var link = $(this)[0].location.pathname;
                    $(this)[0].location.href = $(this)[0].location.pathname;
                    historyForce(url); } });

    $.fn.hasParent = function(p) {
        var has = 0;
        if (this.parent(p).length == 1) { has = 1; } else { if (this.parents(p).first().length == 1) { has = 2; } }
        return has;//return this.attr(at) !== undefined;
    };

    $('body').on('click','.kam-closer',function(e){
        e.preventDefault();
        var t = $(this);
        if ($(t.data('kam')).length > 0) {
            var p = $(t.data('kam'));
            p.animate({height:0,opacity:0},400,function(){ p.html(''); t.remove(); setTimeout(function(){ p.attr('style',''); },50); });
        } else { t.remove(); }
    });

    function layer(f,a,kam) {
        if ($('.layer-wrap').length > 0) { $('.layer-wrap').remove(); }
        var clos = '<a href="#" class="layer-closer" data-kam="'+kam+'"></a>';
        var layer = '<div class="layer-wrap closed"><div class="layer-closer" data-kam="'+kam+'"></div><div class="layer-html"><div class="layer-title">'+(f.hasAttr('data-layer-title') ? f.data('layer-title')+clos : clos)+'</div>'+a.x+'</div></div>';
        $('body').append(layer);
        setTimeout(function(){ 
                $('body').find('.layer-wrap').removeClass('closed');  
                if (f.hasClass('drag')) {$('.layer-html').draggable().resizable();  } 
                if (f.hasClass('full')) {$('.layer-html').addClass('full');  } 
            },50);
    } 
    
    function close_layer(t) { t.addClass('closed'); if (t.hasAttr('data-kam') && t.data('kam') != '') { $(''+t.data('kam')+'').addClass('ac-layer'); } setTimeout(function(){ $('.layer-wrap').remove(); },350); }
    $('body').on('click','.layer-closer',function(e){ e.preventDefault(); var t = $(this).closest('.layer-wrap'); close_layer(t); });


    function force(f,d,s,method) {
        f.removeClass('loading');  //active

        var a = JSON.parse(d);
   
        if (f.hasAttr('data-body-class')) { $('body').addClass(f.data('body-class')); }
        if (f.hasAttr('data-body-class-remove')) { $('body').removeClass(f.data('body-class-remove')); }
        if (f.hasClass('add-closer')) { var closerParent = f.parent(); closerParent.find('.kam-closer').remove();
            if (closerParent.find('.kam-closer').length == 0) { $('<a href="#" class=" kam-closer w5 he5 fl m1t m2l" data-kam="'+f.data('kam')+'"><img src="/graupe_v7/im/system/ico-close.svg" class="c12"></a>').insertAfter(f); }
        }
        var time = 100;
        if (a.hasOwnProperty('modul') && f.hasClass('modul')) {
                  if (a.hasOwnProperty('seo') && f.hasClass('seo')) {
                         if (a.seo.tit == '') { $('title').text(a.seo.n); } else { $('title').text(a.seo.tit); }
                         $('meta[name="title"]').attr('content',a.seo.n);
                         $('meta[name="twitter:title"]').attr('content',a.seo.n);
                         $('meta[property="og:title"]').attr('content',a.seo.n);
                         $('meta[name="description"]').attr('content',a.seo.txt);
                         $('meta[name="twitter:description"]').attr('content',a.seo.txt);
                         $('meta[property="og:description"]').attr('content',a.seo.txt);
                         $('meta[property="og:url"]').attr('content',a.seo.url);
                         $('meta[name="twitter:image"]').attr('content',a.seo.img);
                         $('meta[property="og:image"]').attr('content',a.seo.img);
                         if ($('link[rel="canonical"]').length == 0) {
                            if (a.seo.can != '') { $(a.seo.can).insertAfter($('title')); }
                         } else {
                            if (a.seo.can != '') { $('link[rel="canonical"]').replaceWith(a.seo.can); } else { $('link[rel="canonical"]').remove() }
                         }
                         if(typeof gtag === "function"){
                           gtag('set', 'page_path', a.seo.gtag);
                           gtag('event', 'page_view');
                         }

                  }
                  var timing = 1;
                  var nasob = 200;
                  $.each(a.modul,function(mod,v){
                     var x = mod == 'body' ? v : (f.hasClass('inner') ? v.txt : v.start+v.txt+v.end) ;
                     if ($('.'+mod).length > 0 || mod == 'body' ) {
                       var modul = mod == 'body' ? $('body') : (f.hasClass('all') ? $('.'+mod) : $('.'+mod).first() ) ;
                       if (!f.hasClass('place-modul')) { modul.addClass('loading'); }
                       var time = mod == 'body' ? 800 : timing * nasob;
                       setTimeout(function(){
                            var used = 0;
                            if (f.hasClass('delete-self')) {
                              f.animate({height:0},100,function(){
                                if (f.hasParent('.delete-parent') > 0) {
                                    var delete_kam = f.hasParent('.delete-parent') == 1 ? f.parent('.delete-parent') : f.parents('.delete-parent').first();
                                    delete_kam.animate({height:0},100,function(){ $(this).remove(); });
                                } else {
                                    $(this).remove();
                                }
                              });
                              var used = 1;
                            }
                            
                            
                            if (f.hasClass('html') && used == 0) {       modul.html(x);var used = 1;}
                            if (f.hasClass('append') && used == 0) {     modul.append(x);var used = 1;}
                            if (f.hasClass('prepend') && used == 0) {    modul.prepend(x);var used = 1;}
                            if (f.hasClass('before') && used == 0) {     $(x).insertBefore(modul);var used = 1;}
                            if (f.hasClass('after') && used == 0) {      $(x).insertAfter(modul);var used = 1;}
                            if (f.hasClass('replace') && used == 0) {    modul.replaceWith(x);var used = 1;}
                            if (f.hasClass('place-modul') && f.hasAttr('data-kam') && used == 0) {
                                if (f.hasClass('place-modul-active')) {
                                  if (f.hasClass('active')) {
                                      f.removeClass('active');
                                      if ($(f.data('kam')).length > 0) {
                                          $(f.data('kam')).removeClass('active');
                                          $(f.data('kam')).html('');
                                      }
                                  } else {
                                      f.addClass('active');
                                      if ($(f.data('kam')).length > 0) {
                                          $(f.data('kam')).addClass('active');
                                          $(f.data('kam')).html(x);
                                      }
                                  }
                                } else {
                                      if ($(f.data('kam')).length > 0) {
                                          $(f.data('kam')).html(x);
                                      }
                                }
                                var used = 1;
                            }
                            if (used == 0) {modul.replaceWith(a.x);}
                            setTimeout(function(){ modul.removeClass('loading'); },(time / 2));
                       },(time / 2));
                    }
                  });

                  var time =  time + 250;
        }
        if (a.hasOwnProperty('x')) {
            if (!f.hasClass('noremove')) { atremove(); }
              if (f.hasClass('modul')) {

              } else {
                  if (f.data('kam') == 'self') { var kam = f; } else { kamx = f.data('kam'); var kam = $(kamx).first(); }
                  var used = 0;
                  if (f.hasClass('html') && used == 0) {  kam.html(a.x);var used = 1;}
                  if (f.hasClass('delete-self') && used == 0) {
                    f.animate({height:0},100,function(){
                      if (f.hasParent('.delete-parent') > 0) {
                          var delete_kam = f.hasParent('.delete-parent') == 1 ? f.parent('.delete-parent') : f.parents('.delete-parent').first();
                          delete_kam.animate({height:0},100,function(){ $(this).remove(); });
                      } else {
                          $(this).remove();
                      }
                    });
                    var used = 1;}
                  if (f.hasClass('eter-out') && used == 0) {   var used = 1;}
                  if (f.hasClass('append') && used == 0) {     kam.append(a.x);var used = 1;}
                  if (f.hasClass('prepend') && used == 0) {    kam.prepend(a.x);var used = 1;}
                  if (f.hasClass('before') && used == 0) {     $(a.x).insertBefore(kam);var used = 1;}
                  if (f.hasClass('after') && used == 0) {      $(a.x).insertAfter(kam);var used = 1;}
                  if (f.hasClass('replace') && used == 0) {    if (a.e == 1) { f.replaceWith(a.x); } else {kam.replaceWith(a.x);} var used = 1;}
                  if (f.hasClass('layer') && used == 0) {  layer(f,a,kam); var used = 1;}
                  if (used == 0) { f.prepend(a.x); }
              }
        }

        if (f.hasAttr('data-scroll')) {
            setTimeout(function(){
                if (f.data('scroll') == 'body') {
                      $('body,html').animate({scrollTop:'0px'},250);
                } else {
                  var scroll_there = $(f.data('scroll'));
                  if (scroll_there.length > 0) {
                       $('body,html').animate({scrollTop:(scroll_there.offset().top - (h_menu_top()))+'px'},250);
                  }
                }
            },time);
        }
        if (f.hasClass('close-the-others')) { close_layer($('.layer-wrap')); }
        if (a.hasOwnProperty('part_out')) {
            setTimeout(function(){   $.each(a.part_out,function(mod,v){ if ($('.'+mod).length > 0) { $('.'+mod).replaceWith(v);  } }); initall();   },300);
        } else {
            setTimeout(function(){   initall(); },time);
        }

    }


    $('body').on('click','a.force',function(e){
       e.preventDefault();
       var t = $(this);
       var href_history = t.attr("href");
       if (t.hasClass('add-modul') && t.hasAttr('data-add')) {
            if (t.data('add') != '') {
                var urla = href_history.split('?');
                if(typeof urla[1] !== 'undefined' && urla[1] != '') {
                    var href = urla[0]+'/modul/'+t.data('add')+'?'+urla[1];
                } else {
                    var href = urla[0]+'/modul/'+t.data('add');
                }
            } else {
                var href = t.attr("href");
            }
        } else {
            var href = t.attr("href");
        }
       var provest = 1; if (t.hasAttr('data-confirm')) { var veta = t.data('confirm') != '' ? t.data('confirm') : 'Provést?'; if (!confirm(veta)) { var provest = 0; } }
       if (isExt(href) == false && provest == 1) { $.get(href,function(d,s){   if (t.hasClass('history') && t.parents('.layer-wrap').length == 0) {  historyUrl(href_history); } force(t,d,s,'get');}); }
    });
    $('body').on('submit','form.force',function(e) {
       e.preventDefault();
       var f = $(this); f.addClass('loading');
       var href_history = f.attr("action");
       if (f.hasClass('add-modul') && f.hasAttr('data-add')) {
            if (f.data('add') != '') {
                var urla = href_history.split('?');
                if(typeof urla[1] !== 'undefined' && urla[1] != '') {
                    var href = urla[0]+'modul/'+f.data('add')+'?'+urla[1];
                } else {
                    var href = urla[0]+'modul/'+f.data('add');
                }
            } else {
                var href = f.attr("action");
            }
        } else {
            var href = f.attr("action");
        }
       if (f.find('textarea.editor').length > 0) {
           f.addClass('loading-before pos-r');
           var timex = 2000;
           f.find('textarea.editor').each(function(i,x){
              var ft = $(this);
              var fx = $('<div>'+ft.val()+'</div>');
              if (!ft.hasClass('keep-cl')) {
                fx.find('*').removeAttr('class align style size sizes color face bgcolor width height valign data-ll-status srcset border');
              } else {
                fx.find('*').removeAttr('align style size sizes color face bgcolor width height valign data-ll-status srcset border ');
              }
              fx.find('*').each(function() { if ($(this).is('img') || $(this).is('br') || $(this).is('iframe')) { } else { var $p = $(this); if($.trim($p.html())==='') { $p.remove(); } }  });
              ft.val(fx.html());
           });
       } else {
           var timex = 50;
       }
       setTimeout(function(){
             var provest = 1; if (f.hasAttr('data-confirm')) { var veta = f.data('confirm') != '' ? f.data('confirm') : 'Provést?'; if (!confirm(veta)) { var provest = 0; } else {  } }
             if (isExt(href) == false && provest == 1) {
                 if (f.hasClass('get') && !f.hasClass('file')) { $.get(href,f.serialize(),function(d,s){ if (f.hasClass('history')) { historyUrl(href_history); }  force(f,d,s,'get');}); }
                 if (!f.hasClass('get') && !f.hasClass('file')) { $.post(href,f.serialize(),function(d,s){  if (f.hasClass('history')) { historyUrl(href_history); }  force(f,d,s,'post');}); }
                 if (!f.hasClass('get') && f.hasClass('file')) {
                    var formData = new FormData(f[0]);
                    $.ajax({ xhr: function () { var xhr = $.ajaxSettings.xhr(); xhr.upload.onprogress = function (e) {
                               var pro = Math.floor(e.loaded / e.total * 100); var loading = '<div class="loading-bar" style="width:'+pro+'%;min-width:200px;">LOADING <b>'+pro+'%</b></div>';
                               if (f.find('.loading-bar').length == 0) { f.prepend(loading); } else { f.find('.loading-bar').first().html("LOADING <b>"+pro+"%</b>").css({"width":pro + "%;"}); }
                               //if (pro > 99) { setTimeout(function(){ f.find('.loading-bar').remove(); },2000); }
                           }; return xhr;},
                           url: href, type: 'POST', data: formData, contentType: false, processData: false, success: function(d,s){ 
                            if (f.hasClass('history')) { historyUrl(href_history); }  force(f,d,s,'file');}});}} else {f.prepend('<div class="chyba">error</div>');}
       },timex);
    });


    //opensubmenu
    $('body').on('click','.open-sub', function(e) {
        e.preventDefault();
        var t = $(this);
        var p = t.parent();
        var u = p.children('ul').first();
        $('.subMenu').not(u).each(function(i,x){
            $(this).removeClass('active');
            $(this).parent().children('a').removeClass('active');
        });


        if (u.hasClass('active')) {
            u.removeClass('active');
            t.removeClass('active');
            t.removeClass('open-sub').addClass('force');
        } else {
            u.addClass('active');
            t.addClass('active');
        }
    });


    //drop-here
    $('body').on('drag dragstart dragend dragover dragenter dragleave drop','.drop-here', function(e) { e.preventDefault(); e.stopPropagation(); });
    //$('body').on('drag dragstart dragend dragover dragenter dragleave drop', function(e) {  $('.drop-here').addClass('is-dragover'); });
    $('body').on('dragover dragenter','.drop-here', function() { $(this).addClass('is-dragover'); });
    $('body').on('dragleave dragend drop','.drop-here', function() { $(this).removeClass('is-dragover'); });
    $('body').on('click','.drop-here-select', function(e) { e.preventDefault(); $(this).parent().children("input[type='file']").click(); });

    $('body').on('change',".drop-here > input[type='file']",function(e){
        var t = $(this);
        var drophere = t.parent();
        var kam = drophere.children('.selected-files');


        kam.html("");
        var files = $(this).prop('files');
       // for (var i = 0; i < files.length; i++) {
        	//kam.append(files[i].name);


            var megabajt = 12; var sizeMax = megabajt * 1024 * 1024; var sizeTotal = 0; var last = files.length - 1; var zbyva = '';
            $.each(files, function(i, file) {
                var reader = new FileReader(); sizeTotal = sizeTotal + file.size;
                reader.onload = $.proxy(function(file, $fileList, event) {
                    zbyva = (sizeTotal > sizeMax) ? '<div class="chyba">Najednou lze nahrát nejvýše '+megabajt+' MB dat. Vybrané soubory mají celkem '+round2((sizeTotal / (1024 * 1024) ))+' MB</div>' : '';
                    var base = '<div class="c12"><div class="img-square w9 fl p1t"></div><span class="fl m1l p3t">'+file.name+'</span><span class="fr m1l p3t strong">'+round2((file.size / 1024))+' kB</span>';
                    if (sizeTotal <= sizeMax) {
                          var img = file.type.match('image.*') ? '<div class="c12"><div class="img-square w9 fl"><img src="' + event.target.result + '" class="fl he12"></div><span class="fl m1l p3t">'+file.name+'</span><span class="fr m1l p3t strong">'+round2((file.size / 1024))+' kB</span>' : base;
                    } else {
                          drophere.parents('form').find('button').hide();
                          var img = file.type.match('image.*') ? '<div class="c12"><div class="img-square w9 fl"><img src="' + event.target.result + '" class="fl he12"></div><span class="fl m1l p3t">Soubor '+file.name+' <b class="cr"><br>nebude nahrán, překročen limit '+megabajt+' MB</b></span><span class="fr m1l p3t strong">'+round2((file.size / 1024))+' kB</span>' : base;
                    }
                    $fileList.prepend( img );
                    if (i == last) {
                          //drophere.find("input[type='file']").prop('files',files);
                          if (sizeTotal > sizeMax) { kam.parent().prepend(zbyva); } else { }
                    }
                }, this, file, kam);
                reader.readAsDataURL(file);
            });


       // }


    });


    $('body').on('drop','.drop-here',function(e) {
        if( e.originalEvent.dataTransfer && e.originalEvent.dataTransfer.files.length) {
            e.preventDefault(); e.stopPropagation(); atremove();
            var drophere = $(this); var files = e.originalEvent.dataTransfer.files; var kam = drophere.find('.selected-files');
            kam.html(''); drophere.parents('form').find('button').show();
            var megabajt = 12; var sizeMax = megabajt * 1024 * 1024; var sizeTotal = 0; var last = files.length - 1; var zbyva = '';
            $.each(files, function(i, file) {
                var reader = new FileReader(); sizeTotal = sizeTotal + file.size;
                reader.onload = $.proxy(function(file, $fileList, event) {
                    zbyva = (sizeTotal > sizeMax) ? '<div class="chyba">Najednou lze nahrát nejvýše '+megabajt+' MB dat. Vybrané soubory mají celkem '+round2((sizeTotal / (1024 * 1024) ))+' MB</div>' : '';
                   var base = '<div class="c12"><div class="img-square w9 fl p1t"></div><span class="fl m1l p3t">'+file.name+'</span><span class="fr m1l p3t strong">'+round2((file.size / 1024))+' kB</span>';
                    if (sizeTotal <= sizeMax) {
                          var img = file.type.match('image.*') ? '<div class="c12"><div class="img-square w9 fl"><img src="' + event.target.result + '" class="fl he12"></div><span class="fl m1l p3t">'+file.name+'</span><span class="fr m1l p3t strong">'+round2((file.size / 1024))+' kB</span>' : base;
                    } else {
                          drophere.parents('form').find('button').hide();
                          var img = file.type.match('image.*') ? '<div class="c12"><div class="img-square w9 fl"><img src="' + event.target.result + '" class="fl he12"></div><span class="fl m1l p3t">Soubor '+file.name+' <b class="cr"><br>nebude nahrán, překročen limit '+megabajt+' MB</b></span><span class="fr m1l p3t strong">'+round2((file.size / 1024))+' kB</span>' : base;
                    }
                    $fileList.prepend( img );
                    if (i == last) {
                          drophere.find("input[type='file']").prop('files',files);
                          if (sizeTotal > sizeMax) { kam.parent().prepend(zbyva); } else { }
                    }
                }, this, file, kam);
                reader.readAsDataURL(file);
            }); } });
      //drop-here end

      //drop-id-here
      //.drop-id-item  data-id
      //dataid-> form.drop-id-here input.drop-id.val()

      function drop_id() {
            $( function() {
               $(".drop-id-item").draggable({ revert: "valid", drag: function( event, ui ) { $("form.drop-id-here").addClass('dropping'); },stop: function(event, ui){ $("form.drop-id-here").removeClass('dropping'); $(this).attr('style',''); }     });
                $("form.drop-id-here").droppable({ revert: "valid",
                  classes: {
                    "ui-droppable-active": "ui-state-active",
                    "ui-droppable-hover": "ui-state-hover"
                  },
                  drop: function( event, ui ) {
                    var idto = ui.draggable.data('id');
                    var f = $( this );
                    f.addClass( "ui-state-highlight" ).find( 'input.drop-id' ).val(idto);
                    setTimeout(function(){ f.submit(); },100);

                  },stop: function(event, ui){
                        $(this).removeClass('dropping ui-state-highlight');
                  }
                });
            });
      }
      
      //// row-sortable
      function sortable() {
          var r = $( ".row-sortable" );
          var ac = "sortable-active";
          if (r.length > 0) {
              r.each(function(di,dx){
                  var t = $(this).parent();
                  if (!t.hasClass(ac)) {
                    t.sortable({
                        placeholder: "ui-state-highlight",
                        cursor: 'crosshair',
                        update: function(event, ui) {
                            if (t.children('[data-id]').length > 0) {
                                var f = $('<form></form>');
                                var i = 0;
                                t.children('[data-id]').each(function(ii,xx){
                                    var row = $(this);
                                    var href = row.data('href');
                                    if (i == 0) { f.attr('action',href); }
                                    var id = row.data('id');
                                    f.append('<input type="hidden" name="id['+id+']" value="'+i+'">');
                                    i++;  
                                    if (i == t.children('[data-id]').length && isExt(href) == false) { 
                                        $.post(href,f.serialize(),function(d,s){ 
                                            
                                        });

                                    }   
                                });
                                
                            }
                        }
                    });
                    t.disableSelection();
                  }  
              });
          }
      }
      
      //mover  variants mover '.(isset($this->t->g->delete) ? 'active' : '').' p6r',' data-mover=".konf-select-menu" data-cond=".variants" 
      function mover() {
          if ($('.mover').length > 0) {
              $('.mover').each(function(){
                 var m = $(this);
                 if (m.hasAttr('data-mover') && m.hasAttr('data-cond')) {
                     var kam = $(m.data('mover'));
                     var cond = m.data('cond');  
                     if (kam.find(cond).length == 0) {
                         var cl = m.clone();
                         cl.removeClass('mover');
                         kam.append(cl[0]);
                     } else {
                         kam.find(cond).remove();
                         var cl = m.clone();
                         cl.removeClass('mover');
                         kam.append(cl[0]); 
                     }   
                 } 
              });
          }
      }
      

      function initall() {

            setTimeout(function(){
                drop_id();
                sortable();
                own_edit_init();
                slick_this();
                bg_paralax();
                h_menu();
                load_ui_moduls();
                placeit();
                scrollertop();
                close_galerie_click();
                mover();

            },100);
      }

      initall();
      
      //dont update on scrolltop
      $(window).on('beforeunload', function() {
        $(window).scrollTop(0);
    });
      
      //scroller top

      function scrollertop() {
            if ($('.scrollertop').length == 0 && $('.MenuWrap').length > 0) {
                //$('body').append('<a href="#" class="scrollertop"><img src="/graupe_v7/im/system/arr-up.svg"></a>')
            }
      }

      $('body').on('click','.scrollertop',function(e){
         e.preventDefault();
         $('body,html').animate({scrollTop:0},250);
      });

      //jquery ui

      function load_ui_moduls() {
              setTimeout(function(){
                if ($(".datepicker").length > 0) {
                  $(".datepicker").each(function() {
                          $(this).datepicker({inline: true,
                                  showOtherMonths: true,
                                  dateFormat: "dd.mm.yy",
                                  dayNamesMin: ['Ne', 'Po', 'Út', 'St', 'Čt', 'Pá', 'So'],
                                  monthNames: ['Leden', 'Únor', 'Březen', 'Duben', 'Květen', 'Červen', 'Červenec', 'Srpen', 'Září', 'Říjen', 'Listopad', 'Prosinec']
                          });
                  });
                }
              },80);
          }

      //placeit


    function placeit() {
        if ($('.placeit').length > 0) {
            $('.placeit').each(function(i,x){
               var t = $(this);
               if (t.hasAttr('data-mon')) {
                    if (t.data('mon') != '') {
                        $.post('/placeit.php',{placeit:t.data('mon')},function(d,s){
                            t.replaceWith(d);
                        });
                    }
               }
            });
        }
    }


      //hmenu scroll-i


      function h_menu() {
            if ($('div.Hmenu').not('.init').length > 0 && $('.scroll-wrap').length > 0) {

                var firstmenu = $('div.Hmenu').first(); var firstmiddle = $('.scroll-wrap').first();
                var h1 = $('h1').first().text();
                firstmenu.html('<a herf="#" class="static-active respo-800-show scroll-nav-button" data-kam=".scroll-nav"><span><span></span><span></span><span>'+h1+'</span></span></a></span><div class="c12 scroll-nav"></div>');
                if (!firstmenu.hasClass('init')) {
                    /*firstmiddle.find('img').each(function(i,x) {
                       var img = $(this);
                       img.replaceWith('<div class="c12 middle-img">'+img[0].outerHTML+'</div>');
                    });    */
                    firstmiddle.find('h1,h2,h3,h4,h5,h6').each(function(i,x) {
                       var h = $(this);
                       h.addClass('scroll-'+i).attr('data-scroll','.scroll-'+i+'');
                       firstmenu.children('div.c12').append('<a href="#" class="scroll-i scroll-'+i+'" data-scroll=".scroll-'+i+'">'+h.text()+'</a>');
                    });
                    firstmiddle.addClass('init');
                } }
            if ($('div.Hmenu').length > 0 && $('.scroll-wrap').length > 0) {
                    var firstmenu = $('div.Hmenu').first();
                    var firstmiddle = $('.scroll-wrap').first();
                    var w = $(window);
                    hmenu_scroll_active(w,firstmenu,firstmiddle); //init active
                    w.scroll(function(){
                           hmenu_scroll_active(w,firstmenu,firstmiddle);  //scroll init active
                    });
            }
      }
            function hmenu_scroll_active(w,firstmenu,firstmiddle) {
                           var ttop = w.scrollTop();
                           var tbottom = ttop + w.height();
                           var ex = 0;
                            firstmiddle.find('h1,h2,h3,h4,h5,h6').each(function(i,x) {
                               var h = $(this);
                               var isx = h.offset().top;
                               if (isx >= ttop && isx <= tbottom && ex == 0) {

                                   var ac = $(h.data('scroll'));
                                   firstmenu.find('a').not(ac).removeClass('active');
                                   ac.addClass('active');
                                   ex++;
                               }
                            });
            }


            function h_menu_top() {
              if ($('.MenuWrap').length > 0) {
                  return $('.MenuWrap').first().height();
              } else {
                  return 48;
              }
            }

      $('body').on('click','a.scroll-i',function(e){
        e.preventDefault();
        var t = $(this);
        var kam = $(t.data('scroll'));
        if (kam.length > 0) {
            var kamy = kam.first().offset().top - (2 * h_menu_top());
            $('html,body').animate({scrollTop:kamy+'px'},250);
            $('.scroll-nav-button').removeClass('active');
            $('.scroll-nav').removeClass('active');
        }
      });






      //minimenu
      $('body').on('click','.minimenu',function(e){ e.preventDefault(); var t = $(this); var p = t.parent(); if (p.hasClass('opened')) { p.removeClass('opened'); } else { p.addClass('opened'); }  });

//canvas pro pdf obrazky konfigurace
      //
      /*
      var element = $("#imageDIV"); // global variable
      var getCanvas; // global variable
      $('document').ready(function(){
        html2canvas(element, {
          onrendered: function (canvas) {
            $("#previewImage").append(canvas);
            getCanvas = canvas;
          }
        });
      });
      $("#download").on('click', function () {
        var imgageData = getCanvas.toDataURL("image/png");
        // Now browser starts downloading it instead of just showing it
        var newData = imageData.replace(/^data:image\/png/, "data:application/octet-stream");
        $("#download").attr("download", "image.png").attr("href", newData);
      });
      */


    //// parent children top
    
  //  <a href="" class="top-parent-children top " data-kam="parent-children-0"><img src="/graupe_v7/im/media/208/4381-interier_3.jpg" class="konf-slide-image" alt="Interiér"></a>
    $('body').on('click','.top-parent-children',function(e){
        e.preventDefault();
        var t = $(this);
        var kam = $('.'+t.data('kam'));
        if (kam.length > 0) {
            var ch = t.parent().children('a.top-parent-children');
            ch.not(t).removeClass('top');
            t.addClass('top');
            var ch2 = kam.parent().children();
            ch2.not(kam).removeClass('top');
            kam.addClass('top');
        }
    });

    /////// dph / sleva counter
    $('body').on('change keyup','.dph-counter',function(){
       var t = $(this);
       var f = t.parents("form").first();
       var bez = f.find('input[type="text"].bez').first();
       var s = f.find('input[type="text"].s').first();
       var dph  = f.find('input[type="text"].dph').first();
       if (t.hasClass('s')) { bez.val( ( s.val() / ((dph.val() / 100) + 1) ) ); }
       if (t.hasClass('bez')) { s.val( ( bez.val() * ((dph.val() / 100) + 1) ) ); }
       if (t.hasClass('dph')) { s.val( ( bez.val() * ((dph.val() / 100) + 1) ) ); }
       f.find('.sleva-counter.sleva').change();
    });
    $('body').on('change keyup','.sleva-counter',function(){
       var t = $(this);
       var f = t.parents("form").first();
       var cena = f.find('input[type="text"].s').first();
       if (f.find('.cena-after').first().length == 0) { $('<div class="cena-after p3 strong fr" title="po slevě"></div>').insertAfter(t); } else {}
       var cena_after = f.find('.cena-after').first();
       cena_after.html('po slevě '+( cena.val() - ((cena.val() / 100) * t.val()) ));
    });

    ////i-submit-form
    $('body').on('change keyup','.i-submit-form',function(e){
        e.preventDefault();
        var t = $(this);
        var f = t.parents("form").first();
        if (t.hasClass('create-last')) {
            f.find('input[name="last"]').remove();
            
            setTimeout(function(){ f.append('<input type="hidden" name="last" value="'+t.children('input').val()+'">');  setTimeout(function(){  f.submit(); },150); },150);
        } else {
            f.submit();
        }
    });
    ////i-submit-form-last
    $('body').on('click','.i-submit-form-click',function(){
        var t = $(this);
        var f = t.parents("form").first();
        if (t.hasClass('create-last')) {
            f.find('input[name="last"]').remove();
            
            setTimeout(function(){ f.append('<input type="hidden" name="last" value="'+t.children('input').val()+'">');  setTimeout(function(){  f.submit(); },150); },150);
        } else {
            f.submit();
        }
    });


    /////.select-box
    $('body').on('click','.select-box',function(){
        var t = $(this);
        if (t.hasClass('opened')) { t.removeClass('opened'); } else { t.addClass('opened'); }
    });


    //static-opener
    $('body').on('click','.static-opener',function(e){
        e.preventDefault();
        var t = $(this);
        if (t.hasAttr('data-kam')) {
          var kam = $(t.data('kam'));
          if (kam.length > 0) {
                if (kam.hasClass('opened')) { kam.removeClass('opened'); } else { kam.addClass('opened'); }
          }
        }
    });

    //static-active
    $('body').on('click','.static-active',function(e){
        e.preventDefault();
        var t = $(this);
        if (t.hasAttr('data-kam')) {
          var kam = $(t.data('kam'));
          if (kam.length > 0) {
                if (kam.hasClass('active')) { kam.removeClass('active');t.removeClass('active'); } else { kam.addClass('active');t.addClass('active'); }
          }
        }
    });

    //static-active
    $('body').on('click','.parent-active',function(e){
        e.preventDefault();
        var t = $(this).parent();
        if (t.hasClass('active')) { t.removeClass('active'); } else { t.addClass('active'); }
        t.parent().children().not(t).removeClass('active');
    });


    //submiter
    $('body').on('click','.submiter',function(e){
        e.preventDefault();
        var t = $(this);
        if (t.hasAttr('data-kam')) {
          var kam = $(t.data('kam'));
          if (kam.length > 0) {
                kam.submit();
          }
        }
    });

    //scroller
    $('body').on('click','.scroller',function(e){
        e.preventDefault();
        var t = $(this);
        if (t.hasAttr('data-kam')) {
          var kam = $(t.data('kam')).first();
          if (kam.length > 0) {
                var minus = $('.MenuWrap').length > 0 ? $('.MenuWrap').height() : 0;
                $('body,html').animate({scrollTop:((kam.offset().top) - minus)+'px'},300);
          }
        }
    });

    ////own editor

    function own_edit_init() {
        if ($('body').find('textarea.editor').length > 0) {
            $('body').find('textarea.editor').each(function(i,x) {
                 $(this).richText({useParagraph: false});
            })                                       //,removeStyles: true,
        }
    }


    //showit
            function showit(t,time) {
                setTimeout(function(){
                  if (t.hasClass('op0')) { t.removeClass('op0'); }
                  if (t.hasClass('loading-before')) { t.removeClass('loading-before'); }
                },time);
            }

    ////scroll-to
          $('body').on('click','.scroll-to',function() {
                var t = $(this);
                var timea = t.hasClass('scroll-fast') ? 100 : 200;
                var timeb = t.hasClass('scroll-fast') ? 250 : (250 * 2);
                setTimeout(function(){
                    var to = $(t.data('kam')).first().offset().top > 32 ? ($(t.data('kam')).first().offset().top - 32) : $(t.data('kam')).first().offset().top;
                    $('html,body').animate({scrollTop:to},timea,function(){});
                },timeb);
          });
          
          var scrollplus = 80;

          $('body').on('click','.button-hide',function(e) {
                e.preventDefault();
                var t = $(this);
                var kam = $(t.data('hide'));
                if (t.hasClass('hidden')) {
                    t.removeClass('hidden');
                    kam.removeClass('hidden'); 
                } else {
                    t.addClass('hidden');
                    kam.addClass('hidden'); 
                }
                
          });
    
          $('body').on('click','.scroll-to-konf',function(e) {
                e.preventDefault();
                var t = $(this);
                //t.parent().children().not(t).removeClass('active');
                //t.addClass('active');

                var timea = t.hasClass('scroll-fast') ? 50 : 100;
                var timeb = t.hasClass('scroll-fast') ? 50 : 100;
                setTimeout(function(){
                    
                    var to = $(t.data('kam')).first(); //pro aktivaci ve scroll menu
                    to.parent().children().not(t).removeClass('active');
                    to.addClass('active');

                    var objectactive = $(t.data('kam')+'-object');
                    var buttonactive = $(t.data('kam')+'-button');
                    buttonactive.addClass('active');
                    if (objectactive.length > 0) {
                             objectactive.addClass('active');
                             
                             objectactive.parent().children().not(objectactive).removeClass('active');  
                             objectactive.parent().removeClass('active');
                    }
                    var sc = $('.Nadpis').first();
                    $('body,html').animate({scrollTop:(sc.offset().top - 64)+'px'},150);
                    
                },timeb);
          });

          
    //slick
             function slick_this() {
                 if ($('.slick-this').length!=0) {
                       var lr = '<div class="sl-left"></div><div class="sl-right"></div>';
                       $('.slick-this').each(function(i,x){
                           var t = $(this); var p = t.parent();

                           if (t.parents('.folder-obsah-settings').length > 0) {

                           } else {
                                   if (t.hasClass('type-0')) {
                                     p.prepend(lr);
                                     var prevb = p.children(".sl-left").first();
                                     var nextb = p.children(".sl-right").first();
                                     t.not('.slick-initialized').slick({
                                          infinite: true, speed: 800, autoplaySpeed: 4200, autoplay: false,
                                          slidesToShow: 1, slidesToScroll: 1, fade: true, cssEase: 'linear', effect: 'fade',
                                          dots: true, arrows: true, prevArrow: prevb, nextArrow: nextb, pauseOnHover: true,
                                          customPaging : function(slider, i) {
                                              var img = $(slider.$slides[i]).find('img').first();
                                              var thumb = img.attr('src');
                                              var txt = img.hasAttr('alt') ? img.attr('alt') : '';
                                              return '<span class="slick-this-link scroll-to" data-kam=".Slide"><span class="fl fs2 p1t p1r">'+txt+'</span><img src="'+thumb+'" class="fr he5"></span>';
                                          },
                                          responsive: [ {breakpoint: 2080,settings: {slidesToShow: 1}}, ],
                                          lazyLoad: 'ondemand'
                                      });
                               }
                               if (t.hasClass('type-1')) {
                                     p.prepend(lr);
                                     var prevb = p.children(".sl-left").first();
                                     var nextb = p.children(".sl-right").first();
                                     t.not('.slick-initialized').slick({
                                          infinite: true, speed: 800, autoplaySpeed: 4200, autoplay: false,
                                          slidesToShow: 1, slidesToScroll: 1, fade: true, cssEase: 'linear', effect: 'fade',
                                          dots: true, arrows: true, prevArrow: prevb, nextArrow: nextb, pauseOnHover: true,
                                          customPaging : function(slider, i) {
                                              var img = $(slider.$slides[i]).find('img').first();
                                              var thumb = img.attr('src');
                                              var txt = img.hasAttr('alt') ? img.attr('alt') : '';
                                              return '<span class="slick-this-link scroll-to" data-kam=".Slide"><span class="fl fs2 p1t p1r">'+txt+'</span><img src="'+thumb+'" class="fr he5"></span>';
                                          },
                                          responsive: [ {breakpoint: 2080,settings: {slidesToShow: 1}},
                                                        {breakpoint: 590,settings: {dots:false}} ],
                                          lazyLoad: 'ondemand'
                                      });
                               }
                               if (t.hasClass('type-galerie')) {
                                     p.prepend(lr);
                                     var prevb = p.children(".sl-left").first();
                                     var nextb = p.children(".sl-right").first();
                                     var togo = t.hasAttr('data-play') ? parseInt(t.data('play')) : 1;


                                     t.not('.slick-initialized').slick({
                                          infinite: true, speed: 800, autoplaySpeed: 4200, autoplay: false,
                                          slidesToShow: 1, slidesToScroll: 1, fade: true, cssEase: 'linear', effect: 'fade',
                                          dots: true, arrows: true, prevArrow: prevb, nextArrow: nextb, pauseOnHover: true,
                                          customPaging : function(slider, i) {
                                              var img = $(slider.$slides[i]).find('img').first();
                                              var thumb = img.attr('src');
                                              var txt = img.hasAttr('alt') ? img.attr('alt') : '';
                                              return '<span class="slick-this-link"><span class="fl fs2 p1t p1r">'+txt+'</span><img src="'+thumb+'" class="fr he5"></span>';
                                          },
                                          responsive: [ {breakpoint: 2080,settings: {slidesToShow: 1}},
                                                        {breakpoint: 590,settings: {dots:false}} ],
                                          lazyLoad: 'ondemand'
                                      });
                                      t.slick('slickGoTo', togo);

                               }
                               if (t.hasClass('slide-3')) {
                                     p.prepend(lr);
                                     var prevb = p.children(".sl-left").first();
                                     var nextb = p.children(".sl-right").first();
                                      $(this).not('.slick-initialized').slick({
                                        dots: true,infinite: true,speed: 800,cssEase: 'ease-out',autoplay: true,autoplaySpeed: 5000,slidesToShow: 3,slidesToScroll:1,arrows: true,fade:false,verticalSwiping:false,
                                        prevArrow: prevb,
                                        nextArrow: nextb,
                                        pauseOnHover: true,
                                        responsive: [ {breakpoint: 1024,settings: {slidesToShow: 2}},
                                                      {breakpoint: 640,settings: {slidesToShow: 1}}
                                                       ]
                                    });
                               }
                               if (t.hasClass('cikcak-slide')) {
                                     p.prepend(lr);
                                     var prevb = p.children(".sl-left").first();
                                     var nextb = p.children(".sl-right").first();
                                      $(this).not('.slick-initialized').slick({
                                        dots: false,infinite: true,speed: 800,cssEase: 'ease-out',autoplay: true,autoplaySpeed: 4000,slidesToShow: 1,slidesToScroll:1,arrows: true,fade:false,verticalSwiping:false,
                                        prevArrow: prevb,
                                        nextArrow: nextb,
                                        pauseOnHover: true
                                    });
                               }
                               if (t.hasClass('slide-h1')) {
                                     p.prepend(lr);
                                     var prevb = p.children(".sl-left").first();
                                     var nextb = p.children(".sl-right").first();
                                      $(this).not('.slick-initialized').slick({
                                        dots: false,infinite: true,speed: 1500,cssEase: 'ease-out',autoplay: true,autoplaySpeed: 6000,slidesToShow: 1,slidesToScroll:1,arrows: true,fade:true,verticalSwiping:false,
                                        prevArrow: prevb,
                                        nextArrow: nextb,
                                        pauseOnHover: true
                                    });
                               }

                                if (t.hasClass('one-slide')) {
                                        $(this).not('.slick-initialized').slick({dots: true,
                                        customPaging : function(slider, i) {var thumb = $(slider.$slides[i]).find('.dot-name').text(); return '<span class="fl">'+thumb+'</span>';},
                                        infinite: true,speed: 300,cssEase: 'linear',autoplay: false,slidesToShow: 1,slidesToScroll:1,arrows: false,fade:true,
                                        effect: 'fade',pauseOnHover: true,lazyLoad: 'ondemand'});
                                 }

                               showit(t,200);showit(p,200);
                           }


                       });
                 }
           }

     //slick type-galerie
     $('body').on('click','.gal-click',function(e){
        e.preventDefault();
        var t = $(this);
        var ord = t.index();
        if (t.hasAttr('data-group')) {
            if ($('.galerie-click-box').length == 0) {
                $('body').append('<div class="galerie-click-box closed"><div class="galerie-click-close"></div><div class="slick-this type-galerie mw-tin" data-play="'+ord+'"></div></div>');
            }
            var g = t.data('group');
            $('.gal-click').each(function(i,x){
                var tt = $(this);
                if (tt.hasAttr('data-group')) {
                  if (tt.data('group') == g) {
                      $('.type-galerie').append('<div class="type-galerie-img"><div class="galerie-click-close"></div><img src="'+tt.attr('href')+'"></div>');
                  }
                }
                if (($('.gal-click').length - 1) == i) {
                    setTimeout(function(){

                            $('.galerie-click-box').removeClass('closed');
                            slick_this();

                    },300);
                }
            });
        }
     });

     $('body').on('click','.galerie-click-close',function(e){
        e.preventDefault();
        close_galerie_click();
     });

     function close_galerie_click() {
        if ($('.galerie-click-box').length > 0) {
            $('.galerie-click-box').addClass('closed');
            setTimeout(function(){  $('.galerie-click-box').remove(); },200);
        }
     }



     //bg paralax

     function bg_paralax() {
           if ($('.bg-paralax').length!=0) {
                $('.bg-paralax').each(function(i,x){
                    var t = $(this);
                    //top 0 //
                    var x = t.offset().top <= $(window).scrollTop() ? ($(window).scrollTop() - t.offset().top) * 0.8 : 0;
                    t.css('background-position','center '+x+'px');
                });
           }
     }

     $(window).scroll(function(){
          bg_paralax();
          go_fix($(this).scrollTop());
     });
go_fix($(window).scrollTop());
    
    //////konf fixed
    function go_fix(ws) {
        //top  go-fix-top',' data-back="konf-select-back" data-cl="mw-full p1b" data-cl-wrap="top" ');
        if ($('.go-fix-top').length > 0) {
            if ($('.fix-top').length == 0) { $('body').append('<div class="fix-top"></div>'); }
            $('.go-fix-top').each(function(){
                if ($(this).hasAttr('data-back')) {
                    if ($(this).data('back') != 0) {
                            var t = $(this);
                                if (t.hasAttr('data-cl-wrap')) {
                                    if (t.data('cl-wrap') != '') {
                                        $('.fix-top').attr('class','fix-top').addClass(t.data('cl-wrap'));
                                    }
                                } 
                            var to = t.offset().top;
                            var cl = t.clone();
                            cl.addClass(t.data('back')).removeClass('go-fix-top');
                            if (t.hasAttr('data-cl')) {
                                if (t.data('cl') != '') {
                                        cl.addClass(t.data('cl'));
                                }  
                            }
                            var c = cl[0];
                            var back = t.data('back');
                         

                            
                            if (ws > (to + t.height())) {
                              if ($('.fix-top').find('.'+t.data('back')).length == 0) {  $('.fix-top').append(c); } else {}
                            } else {
                                $('.fix-top').find('.'+t.data('back')).animate({height:0},200,function(){ 
                                    if (t.hasAttr('data-cl-wrap')) {
                                        if (t.data('cl-wrap') != '') {
                                            $('.fix-top').removeClass(t.data('cl-wrap'));
                                        }
                                    }   
                                    
                                    $(this).remove(); 
                                        
                                });
                            }
                            
                            if (ws <= 20) { $('.fix-top').attr('class','fix-top'); }
                    }           
                }
            });
        }
        if ($('.go-fix-bottom').length > 0) {
            if ($('.fix-bottom').length == 0) { $('body').append('<div class="fix-bottom"></div>'); }
            $('.go-fix-bottom').each(function(){
                if ($(this).hasAttr('data-back')) {
                    if ($(this).data('back') != 0) {
                            var t = $(this);
                            var to = t.offset().top;
                            var cl = t.clone();
                            cl.addClass(t.data('back')).removeClass('go-fix-bottom');
                            if (t.hasAttr('data-cl')) {
                                if (t.data('cl') != '') {
                                        cl.addClass(t.data('cl'));
                                }  
                            }
                            var c = cl[0];
                            var back = t.data('back');
                         

                            
                            if (ws > (to + t.height())) {
                              if ($('.fix-bottom').find('.'+t.data('back')).length == 0) {  $('.fix-bottom').append(c); }  
                            } else {
                                $('.fix-bottom').find('.'+t.data('back')).animate({height:0},200,function(){ $(this).remove(); });
                            }
                    }           
                }
            });
        }
    }


    
    
    

     //right force

    var currentMousePos = { x: -1, y: -1 };
    $(document).mousemove(function(event) {
        currentMousePos.x = event.pageX;
        currentMousePos.y = event.pageY;
    });

    $('body').on('contextmenu','.right-click',function(e) {
        e.preventDefault();
        $('.firing').removeClass('firing');
        $('.right-click').removeClass('right-active');
        var t = $(this);
        var cursorWidth = 24;
        var cl = 'right-click-wrap';
        var at = 'class="'+cl+' firing" style="overflow:hidden;position:absolute;z-index:10000;max-width:160px;top:'+currentMousePos.y+'px;left:'+( currentMousePos.x + cursorWidth )+'px;"';
        $('.'+cl).not('.firing').animate({height:0},80,function(){ $(this).remove(); });
        if (t.hasAttr('data-right')) {
            if (t.data('right') != '' && isExt(t.data('right')) == false) {
                    $.get(t.data('right'),function(d,s){
                        var a = JSON.parse(d);
                        t.addClass('right-active');
                        $('body').append('<div '+at+'>'+a.x+'</div>');
                    });
            }
        }
    });

    $('body').on('click',function(e) {
        $('.right-click-wrap').animate({height:0},40,function(){ $(this).remove(); $('.right-click').removeClass('right-active'); });
    });
    
    


////remote click multiactive

    $('body').on('click','.remote-activate',function(e){
       e.preventDefault(); var t = $(this);var kam = $('.'+t.data('active'));
       if (kam.length > 0) { 
           if (kam.hasClass('active')) {kam.removeClass('active');t.removeClass('active');} else {kam.addClass('active'); t.addClass('active');}
       }
    });

    $('body').on('click','.remote-active',function(e) {
        e.preventDefault();
        var t = $(this);
        if (t.hasAttr('data-remote')) {
            var kam = $(t.data('remote'));
            if (kam.length > 0) {
                kam.each(function(){
                   var tt = $(this);
                   if (tt.hasClass('active')) {
                     tt.removeClass('active');  
                   } else {
                     tt.addClass('active');  
                   }
                });
            }
        }
    });
    
    $('body').on('click','.remote-active-parent',function(e) {
        e.preventDefault();
        var t = $(this);
        if (t.hasAttr('data-parent')) {
            var kam = t.parent(t.data('parent'));
            if (kam.length > 0) {
                kam.each(function(){
                   var tt = $(this);
                   if (tt.hasClass('active')) {
                     tt.removeClass('active');  
                   } else {
                     tt.addClass('active');  
                   }
                });
            }
        }
    });

        


      
      
      
    


});
