// Items Quantity
function itemsQuantity() {
  var $sortable = $('.sortable'),
      $host = $sortable.children('.navbar').eq(0),
      $navbar = $('.sortable li').children('.navbar'),
      $quantity = $sortable.find('li').length; 
  $host.find('.badge').text($quantity);
  $navbar.each(function(i) {
    if($navbar.eq(i).next('ol').length>0) {
      var $amount = $navbar.eq(i).next('ol').find('li').length;
      $navbar.eq(i).find('.badge').text($amount);
    }else{
      $navbar.eq(i).find('.badge').text('0');
    }
    $navbar.eq(i).find('.badge').text()>0 ? $navbar.eq(i).find('.badge').addClass('badge-info'):$navbar.eq(i).find('.badge').removeClass('badge-info');
  })
}
function tip() {
  if(!$.support.touch) {
    $('.tip').tooltip({
      position: {
        my: "center bottom-4",
        at: "center top",
      }
    });
  };
}
function touchSupport() {
  if($.support.touch) {
    $('.item-menu').css({
        'display': 'inline-block'
    })
  }
}
function customOpenSlide() {
  var $openSlide = $('.open-slide'),
      $pageslideW;
  $(window).width() > 1440 ? $pageslideW = 1024 : $pageslideW = 954;
  $(window).resize(function() {
      $(this).width() > 1440 ? $pageslideW = 1024 : $pageslideW = 954;
  });
  $noiFrame = $openSlide.not('.view-page');
  $iFrame = $openSlide.filter('.view-page.open-slide');
  $noiFrame.pageslide({
    W: 314,
    openFn: function(pageslide, element) {
      element.addClass('active')
             .closest('.item-menu')
             .css('display', 'inline-block')
             .closest('.navbar-inner')
             .addClass('active');
    },
    closeFn: function(pageslide, element) {
      $('.item-menu').removeAttr('style');
      element.removeClass('active')
             .closest('.navbar-inner')
             .removeClass('active');
    },
    loadComplete: function(pageslide, element) {
      $openSlide.removeClass('active');
      $('.navbar-inner').removeClass('active');
      $('.item-menu').removeAttr('style');
      element.addClass('active')
             .closest('.item-menu')
             .css('display', 'inline-block')
             .closest('.navbar-inner')
             .addClass('active');
      _type = element.hasClass('page') ? 'page' : 'link';
      var _id = element.data('id'),
          _parent = element.data('parent'),
          _edit = element.hasClass('edit') ? true : false;
      $('#pageslide .parent').val(_parent);
      if(_id !== 'new') {
        $('#pageslide form').attr({
          'action': $('#pageslide form').attr('action') + '/' + _id,
          'id': 'edit_' + _type + '_' + _id,
          'method': 'put'
        });
        setForm(element.data('form'));
      } else {
        $('#pageslide form').prop('method', 'post')
      };
      _type == 'page' ? pageSetting(element.data('id'), _edit, pageslide) : linkSetting(element.data('id'), _edit, pageslide);
    }
  });
  $iFrame.pageslide({
    W: $pageslideW,
    iframe: true,
    openFn: function(pageslide, element) {
      element.addClass('active')
             .closest('.item-menu')
             .css('display', 'inline-block')
             .closest('.navbar-inner')
             .addClass('active');
    },
    closeFn: function(pageslide, element) {
      $('.item-menu').removeAttr('style');
      element.removeClass('active')
             .closest('.navbar-inner')
             .removeClass('active');
      $('#main-wrap').css('width', 'auto')
    },
    loadComplete: function(pageslide, element) {
      $openSlide.removeClass('active');
      $('.navbar-inner').removeClass('active');
      $('.item-menu').removeAttr('style');
      element.addClass('active')
             .closest('.item-menu')
             .css('display', 'inline-block')
             .closest('.navbar-inner')
             .addClass('active');
      pageslide.find('.content').css('padding', 0);
      // iFrameContent()
    }
  });
}
// function iFrameContent() {
//   function iFrameFunction(iContents, pc) {
//     pc.each(function(index, el) {
//       if($(this).siblings('*').length == 0) {
//         var _parentH = $(this).parent('*').outerHeight();
//         $(this).css('min-height', _parentH);
//       }
//     });
//     iContents.find('#orbit-bar').hide();
//     iContents.find('.main_wrap').css('margin-top', 0);
//     iContents.find('a').not('.edit_link a').on('click', function(event) {
//       event.preventDefault();
//     }).css('cursor', 'default');
//   }
//   $('#pageslide_iframe').load(function() {
//       var $iContents = $(this).contents(),
//             $pc = $iContents.find('.page_content');
//       iFrameFunction($iContents, $pc);
//   });
// }
function pageSetting(id, edit, ps) {
  $pageModule = $('#pageslide #page_module_app_id');
  $pageF2E = $('#pageslide #page_app_frontend_url');
  $pageDivF2E = $('#pageslide #front_url');
  $pageDesign = $('#pageslide #page_design');
  $pageTheme = $('#pageslide #page_theme_id');
  $pageCategory = $('#pageslide #page-category');
  $pageCategoryGroup = $('#pageslide #page-category-groups');
  $pageTags = $('#pageslide #page-tags');
  $pageTagsGroup = $('#pageslide #page-tags-groups');
  $pagePublishedTrue = $('#pageslide #page_is_published_true');
  $pageCount = $('#pageslide #page_count');
  $pageDivCount = $('#pageslide #front_count');
  _status = edit;
  _ID = id;
  if(_status) {
    $.ajax({
      url: "<%= Rails.application.routes.url_helpers.get_page_setting_json_admin_pages_path %>",
      contentType: "application/json; charset=utf-8",
      dataType: 'json',
      data: {id: id},
      cache: false,
    })
    .done(function(data) {
      _boolean = true;
      _selectData = data;
      $.each(_pageData.design, function(index, val) {
        $pageDesign.append('');
        if(val.main[1] == _selectData.design.main) {
          $.each(val.sub, function(index, val) {
            $pageTheme.append('')
          });
        };
      });
      $.each(_pageData.module, function(index, val) {
        $pageModule.append('');
        if(_selectData.module.main && val.main[1] == _selectData.module.main) {
          $pageDivF2E.show();
          $.each(val.sub, function(index, val) {
            $pageF2E.append('')
          });
          $.each(val.count, function(index, val) {
            $pageCount.append('');
          });
          $pageDivCount.show();
          if(val.category.length > 0) {
            $.each(val.category, function(index, val) {
              var _arr = $.inArray($(this)[1], _selectData.module.category);
              $pageCategory.append('');
              if(_arr !== -1) {
                $pageCategory.find('input[type="checkbox"]').eq(index).prop('checked', true);
              }
              var $all = $pageCategory.siblings('.checkbox').children('.select_all'),
                  $hiddenInput = $pageCategory.siblings('input[type="hidden"]');
              _selectData.module.category.length ? $hiddenInput.removeAttr('name') : $hiddenInput.attr('name', 'page[category][]');
              _selectData.module.category.length == index + 1 ? $all.prop('checked', true) : $all.prop('checked', false);
            });
            $pageCategoryGroup.show();
          }
          if(val.tags.length > 0) {
            $.each(val.tags, function(index, val) {
              var _arr = $.inArray($(this)[1], _selectData.module.tags);
              $pageTags.append('');
              if(_arr !== -1) {
                $pageTags.find('input[type="checkbox"]').eq(index).prop('checked', true);
              }
              var $all = $pageTags.siblings('.checkbox').children('.select_all'),
                  $hiddenInput = $pageTags.siblings('input[type="hidden"]');
              _selectData.module.tags.length ? $hiddenInput.removeAttr('name') : $hiddenInput.attr('name', 'page[tag][]');
              _selectData.module.tags.length == index + 1 ? $all.prop('checked', true) : $all.prop('checked', false);
            });
            $pageTagsGroup.show();
          }
          getView(_selectData.module.main, id);
        };
      });
      _selectData.module.public ? $pagePublishedTrue.prop('checked', true) : $pagePublishedTrue.prop('checked', false);
      $.each(_selectData.module.link, function(index, val) {
        if(val[1]) {
          $('#pageslide .active-link.' + val[0]).find('input[type="checkbox"]').prop('checked', true).end().find('.active-mune').slideDown(300);
          $('#pageslide .active-link.' + val[0]).find('input[type="radio"]').eq(val[2]).prop('checked', true);
        }
      });
      $('#pageslide').find('.nano').nanoScroller({ scrollTop: 0, iOSNativeScrolling: true });
      $pagePublishedTrue.prop('checked') ? $('.link-options').slideDown(300) : $('.link-options').slideUp(300);
    })
    .fail(function(jqXHR, textStatus) {
      console.log(jqXHR.status, textStatus)
      var $errorMsg = '
Sorry! Something is wrong
Sorry! Something is wrong