<!--# include file="/include/$domain/top.html" -->
if(!String.prototype.format){
    String.prototype.format = function(){
        var s = this,
            i = arguments.length;

        while(i--){
            s = s.replace(new RegExp('\\{' + i + '\\}', 'gm'), arguments[i]);
        }
        return s;
    };
}

if($.type(window.dtv) == 'undefined'){
    window.dtv = {
        search: function(){
            var val = jQuery.trim(this.val());

            if(val != ''){
                $.ajax({
                    type    : 'GET',
                    url     :  '/ajax/search/'+ val,
                    dataType: 'json'
                }).done(function(data){
                        var ul = $('#search-suggestions'), li = [];

                        for(var i = 0, l = data.length; i < l; i++){
                            li.push((i)?('<li><a href="'+ data[i].href +'">'+ data[i].name +'</a></li>'):('<li class="active"><a href="'+ data[i].href +'">'+ data[i].name +'</a></li>'));
                        }

                        $('li', ul).remove(); ul.html(li.join(''));

                        $('li', ul).mouseover(function(){
                            var self = $(this);

                            if(!self.hasClass('active')){
                                $('.active', self.parentNode).removeClass('active');
                                self.addClass('active');
                            }
                        });
                    });
            }
        },
        loadVideos: function(serial, season, target, exclude){
            exclude = exclude || 0;

            target.addClass('loading').children().remove();

            $.ajax({
                type    : 'GET',
                url     : '/ajax/videos/{0}/{1}/{2}'.format(serial, season, exclude),
                dataType: 'html',
                context : target
            }).done(function(data){
                    this.removeClass('loading').html(data);
                });
        },
        loadSerials: function(button){
            button = $(button);

            var offset = button.parent().children('.list').children('.item').length,
                text   = button.text();

            button.html('&nbsp;').addClass('loading');

            $.ajax({
                type    : 'GET',
                url     : '/ajax/serials/{0}'.format(offset),
                dataType: 'html',
                context : {
                    text: text,
                    button: button
                }
            }).done(function(data){
                    this.button.text(this.text).removeClass('loading');
                    var ul = this.button.parent().children('ul');

                    if('' != $.trim(data)){
                        $(ul[ul.length - 1]).after(data);
                    }else{
                        this.button.hide();
                    }
                });
        },
        showIframe: function(){
            var src = $(this.parentNode).data('src');
            if($.type(src) == 'string'){
                var matches = /^http:\/\/([\w.-]+)\//i.exec(src),
                    fid = $(this.parentNode).data('pid');
                if(matches.length){
                    switch(matches[1]){
                        case 'youtube.com':
                            if(-1 != src.indexOf('?')){
                                src = src.split('?')[0];
                            }

                            src = src.concat('?', [
                                'wmode=opaque',
                                'autoplay=1',
                                'fs=1',
                                'rel=1',
                                'enablejsapi=1',
                                'border=0',
                                'hd=1',
                                'playerapiid=pid'.concat(fid)
                            ].join('&')
                            );

                            break;
                        default:
                            break;
                    }

                    src = src.concat('&', 'autoplay=1', '&', 'autoPlay=1');

                    this.parentNode.innerHTML = '<iframe width="480" height="360" src="{0}" frameborder="0" allowfullscreen="1"></iframe>'.format(src);
                }
            }
        },
        rotateImages: function(args){
            args.current += 1;

            if(args.current == args.src.length){
                args.current = 0;
            }

            this.src= args.src[args.current];
        },
        later: function(when, o, fn, data, periodic){
            when     = when || 0;
            data     = (jQuery.type(data) !== 'undefined')?data:[];
            o        = o || window;
            periodic = periodic || 0;

            var cancelled = false,
                method = (o && $.type(fn) === 'string')?o[fn]:fn,
                wrapper = function(){
                    if(!cancelled){
                        if(!method.apply){
                            method(data[0], data[1], data[2], data[3]);
                        }else{
                            method.apply(o, data || []);
                        }
                    }
                },
                id = (periodic)?setInterval(wrapper, when):setTimeout(wrapper, when);

            return {
                id: id,
                interval: periodic,
                cancel: function(){
                    cancelled = true;
                    if(this.interval){
                        clearInterval(id);
                    }else{
                        clearTimeout(id);
                    }
                }
            };
        }
    };
}

$(function(){
    $('.post .content .tabs .tab').click(function(){
        if(!$(this).hasClass('first') && !$(this).hasClass('last') && !$(this).hasClass('active')){
            $(this).parent('.tabs').children('.active').removeClass('active');
            $(this).addClass('active');


            var target = $(this).parent().parent().children('.videos-wr'),
                args   = $(this).data('args').split('-');

            dtv.loadVideos(args[0], args[1], target, args[2]);
        }
    });


    $('.serial .content .player .iframe-wr .play.ico').click(dtv.showIframe);

    $('.videos .video .images img').hover(function(){
        var src     = $(this).data('src'),
            current = 0;

        if($.type(src) == 'string'){
            src = src.split('|');

            for(var i in src){
                if(this.src == src[i]){
                    current = i;
                }
            }

            if(src.length > 1){
                this.tObj = dtv.later(1000, this, dtv.rotateImages, [{
                    src: src, current: current
                }], true)
            }
        }
    }, function(){
        if(this.tObj){
            this.tObj.cancel(); delete this.tObj;
        }
    });

    // search
    $('#search-query').click(function(){
        var self = $(this);

        if(self.val() == 'Искать ...'){
            self.val('');
        }
    }).blur(function(){
            var self = $(this);

            if(jQuery.trim(self.val()) == ''){
                self.val('Искать ...');
            }

        }).keyup(function(event){
            var i  = 0,
                ul = $('#search-suggestions'),
                li = null,
                l  = null;

            switch(event.which){
                case 13:
                    for(li = $('li', ul), l = li.length; i < l; i++){
                        if($(li[i]).hasClass('active')){
                            window.document.location = $('a', li[i]).attr('href');
                        }
                    }

                    break;
                case 38:
                    for(li = $('li', ul), l = li.length; i < l; i++){
                        if($(li[i]).hasClass('active')){
                            $(li[i]).removeClass('active');

                            if(i){
                                $(li[i - 1]).addClass('active');
                            }else{
                                $(li[l - 1]).addClass('active');
                            }

                            break;
                        }
                    }

                    break;
                case 40:
                    for(li = $('li', ul), l = li.length; i < l; i++){
                        if($(li[i]).hasClass('active')){
                            $(li[i]).removeClass('active');

                            i += 1; i = (i != l)?i:0;

                            $(li[i]).addClass('active');

                            break;
                        }
                    }

                    break;
                case 27:
                    $('li', ul).remove();

                    break;
                default:
                    var self = $(this),
                        val  = jQuery.trim(self.val());

                    if(val != ''){
                        if(this.ref){
                            this.ref.cancel();
                        }

                        this.ref = dtv.later(100, self, dtv.search);
                    }else{
                        ul.html('');
                    }

                    break;
            }
        });

    $(document.body).click(function(){
        $('li', '#search-suggestions').remove();
    });
});
<!--# include file="/include/$domain/bottom.php" -->