var bf_mouse_x=0;
var bf_mouse_y=0;
var bf_content_y=0;
var isHover=0;
var wasClicked=0;
var selected_id=0;
var selected_parent_id=0;
var num_of_items_per_block=10;
var num_of_items=0;
var slidepos=0;
var un='';
var pw='';
var invertedOrder=false;

function resetVars() {
    bf_mouse_x=0;
    bf_mouse_y=0;
    bf_content_y=0;
    isHover=0;
    wasClicked=0;
    slidepos=0;
    un='';
    pw='';
}

function getMouseY() {
    return bf_mouse_y;
}

function getMouseX() {
    return bf_mouse_y;
}

function getIsHover() {
    return isHover;
}

function getIsOutside() {
    return (selected_parent_id!=slidepos);
}

function getSelected() {
    var n=0;
    var offset=0;
    if (invertedOrder) {
        n=(num_of_items-selected_id);
        offset=1;
    } else {
        n=selected_id;
    }
    return n % num_of_items_per_block+offset;
}

function slideMenu(dir) {
    slidepos+=dir;
    var max_mun=$('#slide_menu_container ul').size();
    if (slidepos<0) {
        slidepos=max_mun-1;
    } else if (slidepos>=max_mun) {
        slidepos=0;
    }
    $('#slide_menu_container').stop().animate({
        'margin-left': (-slidepos*170)
    });
}

function loadContent(href) {
    $.ajax({
        type: "POST",
        url: 'content-'+href,
        data: {
            'un' 	: (typeof(un)!='undefined'?un:''),
            'pw' 	: (typeof(pw)!='undefined'?pw:'')
        },
        dataType: 'html',
        success: function (data, status) {
            $('div.page').html(data);
            return true;
        },
        error: function (data, status, e) {
            document.location.href=href;
            return true;
        }
    });
}

function hideAllSubs() {
    $('div.menu li.sub').each(
        function() {
            $(this).removeClass('selected_sub').addClass('normal_sub');
            $(this).slideUp('normal');
        }
        );
}

function hideSubs(id) {
    $('div.menu li.'+id).each(function() {
        $(this).slideUp('normal');
    });
}

function showSubs(id) {
    $('div.menu li.'+id).each(function() {
        $(this).slideDown('normal');
    });
}

function bf_init() {
    if (!$('#content').size() || !$('div.menu').size() || !$('div.menu li').size()) return;
    resetVars();
    bf_content_y=$('#content').position().top;
    $('div.menu li').each(
        function() {
            $(this).hover(function() {
                isHover=1;
            },function() {
                if (!wasClicked) isHover=0;
            });
            $('a',this).each(
                function () {
                    $(this).data('hr',$(this).attr('href'));
                    //$(this).attr('href','javascript:void(0);');
                    $(this).removeAttr('onclick');
                    $(this).bind('click',function() {
                        var id=$(this).attr('id');
                        var href=$(this).data('hr');
                        isHover=1;
                        var sub=href.replace('.html','');
                        if (sub!='' && sub.charAt(0)=='#') {
                            selected_id=parseInt(sub.substr(1));
                        } else if (sub.indexOf('_')<0) {
                            var i=sub.indexOf('.');
                            if (i>0) {
                                selected_id=parseInt(sub.substr(i+1));
                            } else {
                                selected_id=1;
                            }
                        }
                        selected_parent_id=parseInt($(this).parent().parent().attr('id').substr(5));
                        if (isNaN(selected_parent_id)) {
                            selected_parent_id=0;
                        }
                        if ($(this).parent().hasClass('sub')) {
                            if ($(this).parent().hasClass('selected_sub')) return false;
                            $('div.menu li.selected_sub').removeClass('selected_sub').addClass('normal_sub');
                            $(this).parent().removeClass('normal_sub').addClass('selected_sub');
                        } else {
                            if ($(this).parent().hasClass('selected')) {
                                if (id=='' || !$('div.menu li.'+id).size()) return false;
                                $('div.menu li.'+id).each(
                                    function() {
                                        $(this).removeClass('selected_sub').addClass('normal_sub');
                                    }
                                    );
                                id='';
                            }
                            $('div.menu li.selected').removeClass('selected').addClass('normal');
                            $(this).parent().removeClass('normal').addClass('selected');
                        }
                        if (id!='') {
                            hideAllSubs();
                            showSubs(id);
                        }
                        if (href!='') {
                            if (href.charAt(0)=='#') {
                                $(this).parent().next().removeClass('selected_sub').addClass('normal_sub');
                                $('a',$(this).parent().next()).click();
                            } else {
                                loadContent(href);
                            }
                        }
                        return false;
                    });
                }
                );
        }
        );
    $(document).unbind('mousemove');
    $(document).bind('mousemove',function(e){
        bf_mouse_x=e.pageX;
        bf_mouse_y=e.pageY-bf_content_y-4;
    });
}

$(document).ready(function(){
    bf_init();    
});
