// Запоминание открытых элементов меню
$(function() {
    //"tabe" activation on book/book.php
    $("ul.tabs").tabs("div.panes > div", {
        history: true
    });
    //add comment form sliding on book/book.php
    $(".comment_link a").click(function (e) {
        e.preventDefault();
        $("#comment_form").slideToggle("slow");
    });

    //tinyMCE init
    tinyMCE.init({
        language : "ru",
        mode : "exact",
        theme : "advanced",
        plugins : "paste",
        elements : "elm_content,anonse_content",

        theme_advanced_buttons1 : "bold,italic,cut,copy,paste,pasteword,bullist,numlist,blockquote,undo,redo,insertdate,inserttime",
        theme_advanced_buttons2 : "",
        theme_advanced_buttons3 : "",
        theme_advanced_toolbar_location : "top",
        theme_advanced_toolbar_align : "left",
        theme_advanced_statusbar_location : "bottom",
        //theme_advanced_resizing_max_width : 530,
        //theme_advanced_resizing_min_width : 530,
        theme_advanced_resizing : true,
        verify_css_classes : true,
        valid_elements : "strong/b,br,p,i,u,em,li,ol,lu,blockquote"
    });

    //voting
    $("a.vote").click(function(e){
        e.preventDefault();
        var voteLink = $(this).attr("href");
        $(this).parentsUntil("table").addClass("iamhere");
        var targetResult = $(this).parentsUntil("table").find("div.c_rating");
        targetResult.html('<img src="/img/busy.gif" border="0" width="16" height="16">');
        targetResult.load(voteLink);
    });

    // News index tabs
    $("#tabs_new_products").tabs("div.tab_new_products", {
        event:'click',
        effect: 'fade',
        fadeInSpeed: 200
    });
    $("#tabs_products_rating").tabs("div.tab_rat_products", {
        event:'click',
        effect: 'fade',
        fadeInSpeed: 200
    });

    // Cufon color fix for tabs
    //$("#tabs_new_products a, #tabs_products_rating a").bind('click', function(){cufonInit();});
    //Left sliding menu
    // Читаем куки - восстанавливаем раскрытые элементы меню

    var menuItems = $("#slideMenu > ul > li > ul, #slideMenu > ul > li > ul > li > ul");
    menuItems.hide();

    if ($.cookie("menu_open") == null){
        $("a[href|=/bookscats.php]").next("ul").show();
    }
    if ($.cookie("menu_open") !== null){
        var opend = $.cookie("menu_open").split(",");
        for(var i = 0; i < opend.length; i++){
            var OpenedMenu = menuItems.eq(opend[i]);
            OpenedMenu.show();
            OpenedMenu.parent().addClass('selected_item');
        }
    }

    function addCookie(){
        var ulId = new Array();
        menuItems.each(function(){
            if ($(this).is(":visible")) {
                ulId.push(menuItems.index(this));
            }
        });
        if (ulId.length == 0){
            MenuStr = null;
        }else{
            var MenuStr = ulId.join(',');
        }
        $.cookie("menu_open", MenuStr,{
            path: "/"
        });
    };

    // Раскарска меню слева
    $("#slideMenu > ul > li > ul").each(function(){
        $(this).children("li:odd").addClass("double");
    });
    $("#slideMenu > ul > li > ul > li > ul > li:odd").addClass("double");

    // Открытие и закрытие пунктов меню
    $("#slideMenu a").click(function(e){
        var found = $(this).next("ul");
        if (found.length !==0 ){
            if ($(this).parent().hasClass('selected_item')){
                $(this).parent().removeClass('selected_item');
            }else{
                if($(this).parent().parent().parent().get(0).tagName =="LI"){
                    $(this).parent().addClass('selected_item');
                }
            }
            e.preventDefault();
            found.slideToggle("slow");
        }
        addCookie();
    });
    //Filters form animation
    var flag = 0;
    $("#filter li").hide();
    $("#filter").append('<div class="updown_bolt"></div>');
    $("#filter input:radio:checked").parent().parent().show();
    $("#filter input:radio:checked").addClass('current_filter');
    $("#filter .updown_bolt").live('click',function(){
        if (flag !== 1){
            $("#filter .updown_bolt").css("background-position", "0 0");
            flag = 1;
            $("#filter li").show("fast");
        }else{
            $("#filter .updown_bolt").css("background-position", "0 -22px");
            flag = 0;
            $('#filter li').hide();
            $("#filter li input").each(function(){
                if($(this).is(':checked')){
                    $('.current_filter').parent().parent().show();
                    $('.current_filter').attr('checked','checked');
                }
            });
        }
    });
    //accordion on profile/profile.php
    $("#accordion").tabs("#accordion div.pane", {
        tabs: 'a.tab',
        effect: 'fade',
        fadeInSpeed: 200,
        history: true
    });
    /* Password slider on /profile/profile.php */
    $("#changePassProceed").hide();
    $("#changePass").click(function(e){
        e.preventDefault();
        var passFields = $("#changePassProceed");
        passFields.slideToggle();
        if (passFields.height() > 1) {
            $(this).text(profile_change);
        }
        else {
            $(this).text(profile_no_change);
        }
    });

    /* Search form slider */
    $('div#abc_search').hide();

    $('a.dotted').click(function(e) {
        e.preventDefault();
        $('div#abc_search').slideToggle("fast");
    });

    $('div#f_apply').hide();

    $('a#f_button').click(function(e) {
        e.preventDefault();
        $('div#f_apply').slideToggle("fast");
    });


    // Zebra
    $(".zebra").find("tr:odd, li:odd, label:odd").each(function(){
        $(this).addClass("odd");
    });

    /* Login form begin */
    var authEmail = $("#auth_email");
    var authEmailDefault = "e-mail";
    authEmail.focus(function(){
        if($(this).attr("value")==authEmailDefault){
            $(this).attr("value", "");
        }
    });
    authEmail.blur(function(){
        if($(this).attr("value")==""){
            $(this).attr("value", authEmailDefault);
        }
    });

    var authPass = $("#auth_pass");
    var authPassDefault = "пароль";

    authPass.focus(function(){
        if($(this).attr("value")==authPassDefault){
            $(this).attr("value", "");
        }
    });
    authPass.blur(function(){
        if($(this).attr("value")==""){
            $(this).attr("value", authPassDefault);
        }
    });
    /* Login form end */

    /*Slide show on index page*/
    var SlideTabs = $(".slidetabs");
    if (SlideTabs.length > 0) {
        SlideTabs.tabs("#slideshow > div", {
            effect: "default",
            fadeOutSpeed: "slow",
            rotate: true
        }).slideshow();
        SlideTabs.data("slideshow").play();
        $(".backward, .forward").click(function(){
            SlideTabs.data("slideshow").stop();
        });
    }
    /* Registration animations*/
    $(".slide_down_button").next("div").hide();
    $(".slide_down_button").next("div").find("input").attr("disabled", "disabled");

    $(".slide_down_button").click(function(e){
        e.preventDefault();
        var nextDiv = $(this).next("div");
        nextDiv.slideToggle("fast");
        if($(this).attr("id") == "set_password"){
            if ($(this).next("div").height() > 1) {
                $("#set_password").text(auto_pass);
                nextDiv.find("input").attr("disabled", "disabled");
            }else {
                $("#set_password").text(manual_pass);
                nextDiv.find("input").attr("disabled", "");
            }
        }
        if($(this).attr("id") == "set_subscriptions"){
            if ($(this).next("div").height() > 1) {
                $("#set_subscriptions").text(show_params);
            }else {
                $("#set_subscriptions").text(hide_params);
            }
        }
    });

    /* Bulb */
    $('a.bulb-link').click(function(e) {
        $('.bulb').hide();
        $($(this).attr('href')).show();
        e.preventDefault();
        e.stopPropagation();
    });
});

jQuery.fn.LoadingProceed = function (){
    var selector = $(this[0]);
    if (typeof selector == 'object'){
        selector.css("position", "relative");
        var padding_right = parseInt(selector.css("paddingRight"));
        var padding_left = parseInt(selector.css("paddingLeft"));
        var padding_top = parseInt(selector.css("paddingTop"));
        var padding_bottom = parseInt(selector.css("paddingBottom"));
        var divsheight = selector.height()+padding_top+padding_bottom;
        var divswidth = selector.width()+padding_right+padding_left;
        selector.prepend('<div class="loader"><div class="loader_img"></div><div class="loader_bg"></div></div>');
        selector.children("div.loader").css("width",divswidth).css("height",divsheight);
        selector.find("div.loader_img").css("width",divswidth).css("height",divsheight);
        selector.find("div.loader_bg").css("width",divswidth).css("height",divsheight);
    }else{
        return false;
    }
};

