Вход Регистрация
Файл: forsoc.ru/adm/style/admin.js
Строк: 273
<?php
/**
* phpBB3 ACP functions
*/

/**
* Parse document block
*/
function parse_document(container
{
    var 
test document.createElement('div'),
        
oldBrowser = (typeof test.style.borderRadius == 'undefined');

    
delete test;

    
/**
    * Navigation
    */
    
container.find('#menu').each(function() {
        var 
menu = $(this),
            
blocks menu.children('.menu-block');

        if (!
blocks.length) {
            return;
        }

        
// Set onclick event
        
blocks.children('a.header').click(function() {
            var 
parent = $(this).parent();
            if (!
parent.hasClass('active')) {
                
parent.siblings().removeClass('active');
            }
            
parent.toggleClass('active');
        });

        
// Set active menu
        
menu.find('#activemenu').parents('.menu-block').addClass('active');

        
// Check if there is active menu
        
if (!blocks.filter('.active').length) {
            
blocks.filter(':first').addClass('active');
        }
    });

    
/**
    * Responsive tables
    */
    
container.find('table').not('.not-responsive').each(function() {
        var 
$this = $(this),
            
th $this.find('thead > tr > th'),
            
columns th.length,
            
headers = [],
            
totalHeaders 0,
            
iheadersLength;

        
// Find columns
        
$this.find('colgroup:first').children().each(function(i) {
            var 
column = $(this);
            
$this.find('td:nth-child(' + (1) + ')').addClass(column.prop('className'));
        });

        
// Styles table
        
if ($this.hasClass('styles')) {
            
$this.find('td:first-child[style]').each(function() {
                var 
style = $(this).attr('style');
                if (
style.length) {
                    $(
this).parent('tr').attr('style'style.toLowerCase().replace('padding''margin')).addClass('responsive-style-row');
                }
            });
        }

        
// Find each header
        
if (!$this.data('no-responsive-header'))
        {
            
th.each(function(column) {
                var 
cell = $(this),
                    
colspan parseInt(cell.attr('colspan')),
                    
dfn cell.attr('data-dfn'),
                    
text dfn dfn : $.trim(cell.text());

                if (
text == '&nbsp;'text '';
                
colspan isNaN(colspan) || colspan colspan;

                for (
i=0i<colspani++) {
                    
headers.push(text);
                }
                
totalHeaders ++;

                if (
dfn && !column) {
                    
$this.addClass('show-header');
                }
            });
        }
        
        
headersLength headers.length;

        
// Add header text to each cell as <dfn>
        
$this.addClass('responsive');

        if (
totalHeaders 2) {
            
$this.addClass('show-header');
            return;
        }

        
$this.find('tbody > tr').each(function() {
            var 
row = $(this),
                
cells row.children('td'),
                
column 0;

            if (
cells.length == 1) {
                
row.addClass('big-column');
                return;
            }

            
cells.each(function() {
                var 
cell = $(this),
                    
colspan parseInt(cell.attr('colspan')),
                    
text = $.trim(cell.text());

                if (
headersLength <= column) {
                    return;
                }

                if ((
text.length && text !== '-') || cell.children().length) {
                    if (
headers[column] != '') {
                        
cell.prepend('<dfn style="display: none;">' headers[column] + '</dfn>');
                    }
                }
                else {
                    
cell.addClass('empty');
                }

                
colspan isNaN(colspan) || colspan colspan;
                
column += colspan;
            });
        });

        
// Remove <dfn> in disabled extensions list
        
$this.find('tr.ext_disabled > .empty:nth-child(2) + .empty').siblings(':first-child').children('dfn').remove();
    });

    
/**
    * Hide empty responsive tables
    */
    
container.find('table.responsive > tbody').each(function() {
        var 
items = $(this).children('tr');
        if (
items.length == 0)
        {
            $(
this).parent('table:first').addClass('responsive-hide');
        }
    });

    
/**
    * Fieldsets with empty <span>
    */
    
container.find('fieldset dt > span:last-child').each(function() {
        var 
$this = $(this);
        if (
$this.html() == '&nbsp;') {
            
$this.addClass('responsive-hide');
        }
        
    });

    
/**
    * Responsive tabs
    */
    
container.find('#tabs').not('[data-skip-responsive]').each(function() {
        var 
$this = $(this),
            
$body = $('body'),
            
ul $this.children(),
            
tabs ul.children().not('[data-skip-responsive]'),
            
links tabs.children('a'),
            
item ul.append('<li class="tab responsive-tab" style="display:none;"><a href="javascript:void(0);" class="responsive-tab-link">&nbsp;</a><div class="dropdown tab-dropdown" style="display: none;"><div class="pointer"><div class="pointer-inner" /></div><ul class="dropdown-contents" /></div></li>').find('li.responsive-tab'),
            
menu item.find('.dropdown-contents'),
            
maxHeight 0,
            
lastWidth false,
            
responsive false;

        
links.each(function() {
            var 
link = $(this);
            
maxHeight Math.max(maxHeightMath.max(link.outerHeight(true), link.parent().outerHeight(true)));
        })

        function 
check() {
            var 
width $body.width(),
                
height $this.height();

            if (
arguments.length == && (!responsive || width <= lastWidth) && height <= maxHeight) {
                return;
            }

            
tabs.show();
            
item.hide();

            
lastWidth width;
            
height $this.height();
            if (
height <= maxHeight) {
                
responsive false;
                if (
item.hasClass('dropdown-visible')) {
                    
phpbb.toggleDropdown.call(item.find('a.responsive-tab-link').get(0));
                }
                return;
            }

            
responsive true;
            
item.show();
            
menu.html('');

            var 
availableTabs tabs.filter(':not(.activetab, .responsive-tab)'),
                
total availableTabs.length,
                
itab;

            for (
total 1>= 0--) {
                
tab availableTabs.eq(i);
                
menu.prepend(tab.clone(true).removeClass('tab'));
                
tab.hide();
                if (
$this.height() <= maxHeight) {
                    
menu.find('a').click(function() { check(true); });
                    return;
                }
            }
            
menu.find('a').click(function() { check(true); });
        }

        
phpbb.registerDropdown(item.find('a.responsive-tab-link'), item.find('.dropdown'), {visibleClass'activetab'verticalDirection'down'});

        
check(true);
        $(
window).resize(check);
    });
}

/**
* Run onload functions
*/
(function($) {
    $(
document).ready(function() {
        
// Swap .nojs and .hasjs
        
$('body.nojs').toggleClass('nojs hasjs');

        
// Focus forms
        
$('form[data-focus]:first').each(function() {
            $(
'#' this.getAttribute('data-focus')).focus();
        });

        
parse_document($('body'));

        
// Hide configlist and success message in send statistics page
        
phpbb.toggleDisplay('configlist', -1);
        
phpbb.toggleDisplay('questionnaire-thanks', -1);
    });
})(
jQuery);
?>
Онлайн: 2
Реклама