$(document).ready(function()
{
    $('span.group').click
    (
        function()
        {
            var cont = $('#channels-cont');
            var btns = $('span.group');
            return function()
            {
                var btn = $(this);
                if (btn.hasClass('group_active')) return;
                btns.removeClass('group_active');
                btn.addClass('group_active');
                if(btn.hasClass('group_love'))
                {
                    $('.love').show();
                    $('.other').hide();
                }
                else
                {
                    $('.love').hide();
                    $('.other').show();
                }
            }
        }()
    );
    $.fn.templatesGallery = function(getOpts)
    {
        var gallery = $(this);
        if(!gallery.length) return gallery;
        var opts = $.extend
        ({
            focusOn: 5,
            startOn: 5,
            minHeight: 100,
            maxHeight: 126,
            imgSizes:
            [
                {
                    width: 118,
                    height: 102
                },
                {
                    width: 127,
                    height: 108
                },
                {
                    width: 134,
                    height: 114
                },
                {
                    width: 142,
                    height: 120
                },
                {
                    width: 150,
                    height: 126
                }
            ],
            leftMargins:
            [
                {
                    marginTop: 12,
                    marginLeft: -1
                },
                {
                    marginTop: 9,
                    marginLeft: -74
                },
                {
                    marginTop: 5,
                    marginLeft: -64
                },
                {
                    marginTop: 2,
                    marginLeft: -71
                },
                {
                    marginTop: -1,
                    marginLeft: -59,
                    zIndex:100
                }
            ],
            rightMargins:
            [
                {
                    marginTop: 12,
                    marginLeft:-75,
                    zIndex: 96
                },
                {
                    marginTop:9,
                    marginLeft:-65,
                    zIndex: 97
                },
                {
                    marginTop:5,
                    marginLeft:-71,
                    zIndex: 98
                },
                {
                    marginTop:2,
                    marginLeft:-59,
                    zIndex: 99
                },
            ]
        }, getOpts);
        var curPage = opts.startOn - 1;
        var arrows = $('span.arrows', gallery);
        var list = gallery.find('ul'),
        galleryItems = list.children('li'),
        galleryImages = galleryItems.find('img'),
        galleryItemsL = galleryItems.length;
        var slide = function()
        {
            galleryItems.css
            ({
                marginLeft: 0
            });
            galleryImages.css
            ({
               width: 118,
               height: 102
            });
            list.stop().animate
            ({
                left: -150*(curPage - opts.startOn + 1)
            }, 'fast');
            galleryItems
                .eq(curPage).css(opts.leftMargins[4])
                .find('img').css(opts.imgSizes[4]);
            galleryItems
                .eq(curPage-1).css(opts.leftMargins[3])
                .find('img').css(opts.imgSizes[3]);
            galleryItems
                .eq(curPage+1).css(opts.rightMargins[3])
                .find('img').css(opts.imgSizes[3]);
            galleryItems
                .eq(curPage-2).css(opts.leftMargins[2])
                .find('img').css(opts.imgSizes[2]);
            galleryItems
                .eq(curPage+2).css(opts.rightMargins[2])
                .find('img').css(opts.imgSizes[2]);
            galleryItems
                .eq(curPage-3).css(opts.leftMargins[1])
                .find('img').css(opts.imgSizes[1]);
            galleryItems
                .eq(curPage+3).css(opts.rightMargins[1])
                .find('img').css(opts.imgSizes[1]);
            galleryItems
                .eq(curPage-4).css(opts.leftMargins[0])
                .find('img').css(opts.imgSizes[0]);
            galleryItems
                .eq(curPage+4).css(opts.rightMargins[0])
                .find('img').css(opts.imgSizes[0]);
        };
        var validatePage = function()
        {
            if(curPage < 0) curPage = 0;
            if(curPage === galleryItemsL) curPage = galleryItemsL - 1;
        };
        var arrowClickHandler = function()
        {
            var arrow = $(this);
            if(arrow.hasClass('left-arrow'))
            {
                curPage -= 1;
            }
            else
            {
                curPage += 1;
            }
            validatePage();
            slide();
        };
        arrows.bind('click', arrowClickHandler);
        slide();
        return gallery;
    };
    $.fn.channelsSlider = function()
    {
        var sliders = this;
        if(!this.length) return;
        var step = 256,
        speed = 'normal';
        return sliders.each(
            function()
            {
                var slider = $(this);
                var pages = $('ul.pages',slider),
                pagesItems = pages.children(),
                list = $('ul.items', slider);
                pages.click
                (
                    function(e)
                    {
                        var page = $(e.target).closest('li');
                        if(!page.length || page.hasClass('page_active')) return;
                        pagesItems.removeClass('page_active');
                        page.addClass('page_active');
                        var index = pagesItems.index(page);
                        $('.item').hide();
                        $('.item'+index).show();
                    }
                );
            }
        );
    };
    $('#templates-gallery').templatesGallery();
    $('div.list').channelsSlider();    
    $('#login').fancybox
    ({
        'transitionIn'        : 'none',
        'transitionOut'        : 'none'
    });
    $('#reg').fancybox
    ({
        'transitionIn'        : 'none',
        'transitionOut'        : 'none',
        'onClosed'          : function()
        {
            $('#agreement_text').hide();
        }
    });
    $('#login_reg').live
    (
        'click',
        function()
        {
            $('#reg').fancybox
            ({
                'transitionIn'        : 'none',
                'transitionOut'        : 'none',
                'onClosed'          : function()
                {
                    $('#agreement_text').hide();
                }                
            }).trigger('click');
            return false;
        }
    )
    $('form[name="login"]').live
    (
        'submit',
        function()
        {
            var login = $('input[name="login"]').val();
            var pass = $('input[name="pwd"]').val();
            $.ajax
            ({
                type: "POST",
                url: "/",
                dataType: 'json',
                data: {action: 'login', login: login, pass: pass},
                success: function(data)
                {
                    if(data == "ok")
                        window.location = "/index.php?action=lk";
                    else
                        alert('Неправильное имя пользователя или пароль');
                }
            });
            return false;
        }
    );
    $('form[name="register"]').live
    (
        'submit',
        function()
        {
            var login = $('input[name="reg_login"]').val();
            var email = $('input[name="reg_email"]').val();
            var pass = $('input[name="reg_pwd"]').val();
            var agree = $('input[name="agree"]:checked').length;
            var confirm = $('input[name="reg_pwd_confirm"]').val();
            $.ajax
            ({
                type: "POST",
                url: "/",
                dataType: 'json',
                data: {action: 'reg', login: login, pass: pass, email: email, confirm: confirm, agree: agree},
                success: function(data)
                {
                    if(data == "ok")
                    {
                        var content = $('#alert_container_cons').html();
                        $('#alert_container_reg').html(content);
                    }
                    else
                        alert(data);
                }
            });
            return false;
        }
    );
    $('#login_forgot').fancybox
    ({
        'transitionIn' : 'none',
        'transitionOut' : 'none'
    });
    $('#agreement').live
    (
        'click',
        function()
        {
            $('#agreement_text').show();
            return false;
        }
    );
    $('#forgot_ok').live
    (
        'click',
        function()
        {
            var email = $('input[name="forgot_email"]').val();
            $.ajax
            ({
                type: "POST",
                url: "/",
                dataType: 'json',
                data: {action: 'forgot', email: email},
                success: function(data)
                {
                    if(data == "ok")
                        alert('Проверьте вашу почту!!!111');
                    else
                        alert('Email какой-то не такой');
                    $.fancybox.close();
                }
            });
            return false;
        }
    )
});

