$(document).ready(function() {
    //$('.sub_menu').jScrollPane();
    /* TOP MENU */
    $('input[name=order_method]').live("click",function() {
        if( $(this).attr("id") == "order_method_ideal" ){
            $("#banks").show();
        } else {
            $("#banks").hide();
        }
        alignColumns();
    });

    $('.main_menu li').live('mouseover', function() {
        $(this).children('ul.sub_menu').show();
    });

    $('ul.sub_menu').live('mouseover', function() {
        $(this).parent().children("a").addClass("active");
    });

    $('.main_menu li').live('mouseout', function() {
        $(this).children('ul.sub_menu').hide();
        $(this).children("a").removeClass("active");
    });

    /* FORM ACTIVE STATES */
    $('input.textfield, textarea').live('focus', function() {
        $(this).parent().addClass("active");
    });

    $('input.textfield, textarea').live('blur', function() {
        $(this).parent().removeClass("active");
    });

    /* CLEAR FORM */

    $('#knowledgebase_search input').live('focus', function() {
        if ( $(this).val() == $(this).attr('rel') ) {
            $(this).val("");
        }
    });

    $('#knowledgebase_search input').live('blur', function() {
        if ( $(this).val() == '' ) {
            $(this).val($(this).attr('rel'));
        }
    });


    $(".editor").cleditor({
        width:        452, // width not including margins, borders or padding
        height:       250, // height not including margins, borders or padding
        controls:     // controls to add to the toolbar
        "bold italic underline " +
        " removeformat | bullets numbering | " +
        " | alignleft center alignright justify | | " +
        "image link unlink | pastetext | source",
        colors:       // colors in the color popup
        "FFF FCC FC9 FF9 FFC 9F9 9FF CFF CCF FCF " +
        "CCC F66 F96 FF6 FF3 6F9 3FF 6FF 99F F9F " +
        "BBB F00 F90 FC6 FF0 3F3 6CC 3CF 66C C6C " +
        "999 C00 F60 FC3 FC0 3C0 0CC 36F 63F C3C " +
        "666 900 C60 C93 990 090 399 33F 60C 939 " +
        "333 600 930 963 660 060 366 009 339 636 " +
        "000 300 630 633 330 030 033 006 309 303",
        fonts:        // font names in the font popup
        "Arial,Arial Black,Comic Sans MS,Courier New,Narrow,Garamond," +
        "Georgia,Impact,Sans Serif,Serif,Tahoma,Trebuchet MS,Verdana",
        sizes:        // sizes in the font size popup
        "1,2,3,4,5,6,7",
        styles:       // styles in the style popup
        [["Paragraph", "<p>"], ["Header 1", "<h1>"], ["Header 2", "<h2>"],
        ["Header 3", "<h3>"],  ["Header 4","<h4>"],  ["Header 5","<h5>"],
        ["Header 6","<h6>"]],
        useCSS:       false, // use CSS to style HTML when possible (not supported in ie)
        docType:      // Document type contained within the editor
        '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">',
        docCSSFile:   // CSS file used to style the document contained within the editor
        "",
        bodyStyle:    // style to assign to document body contained within the editor
        "margin:4px; font:10pt Arial,Verdana; cursor:text"
    });

    /* HORIZONTAL ALIGN OF PHOTOS */

    alignColumns ();
    
    /* LEFT MENU (SIDE MENU) */
    $('ul.side_menu li.level_0').live('mouseenter', function() {
        $(this).addClass('active');
        $(this).children('ul.sub_menu').show();
    });

    $('ul.side_menu li.level_0').live('mouseleave', function() {
        $(this).removeClass('active');
        $(this).children('ul.sub_menu').hide();
    });

    /* Clear Search name field */

    $('.pages li a').live("click", function () {
        var url = $(this).attr('rel');
        $('.pages li a').removeClass('active');
        $(this).addClass('active');
        pagination(url);
    });

    $('#formula_name, #advisor_name').bind("focus", function () {
        if ( $(this).val() == $(this).attr('rel') ) {
            $(this).val("");
        }
    });

    $('#formula_name, #advisor_name').bind("blur", function () {
        if ( $(this).val() == "" ) {
            $(this).val($(this).attr('rel'));
        }
    });

    $('#search_formula_form a').live("click", function(){
        var name = $('#formula_name').val();
        if ( name == $('#formula_name').attr('rel') || name == "" ) {
            alert('Vul een zoekterm in a.u.b.');
        } else {
            searchFormulaName(name);
        }
    })
    $("#search_formula_form input").live('keypress',function (e) {
        if ((e.which && e.which == 13) || (e.keyCode && e.keyCode == 13)) {
            var name = $('#formula_name').val();
            if ( name == $('#formula_name').attr('rel') || name == "" ) {
                alert('Vul een zoekterm in a.u.b.');
            } else {
                searchFormulaName(name);
            }
            return false;
        } else {
            return true;
        }
    });

    $('#search_advisor_form a').live("click", function(){
        var name = $('#advisor_name').val();
        if ( name == $('#advisor_name').attr('rel') || name == "" ) {
            alert('Vul een zoekterm in a.u.b.');
        } else {
            searchAdvisorName(name);
        }
    })

    $("#search_advisor_form input").live('keypress',function (e) {
        if ((e.which && e.which == 13) || (e.keyCode && e.keyCode == 13)) {
            var name = $('#advisor_name').val();
            if ( name == $('#advisor_name').attr('rel') || name == "" ) {
                alert('Vul een zoekterm in a.u.b.');
            } else {
                searchAdvisorName(name);
            }
            return false;
        } else {
            return true;
        }
    });

    /* FORMULA CATEGORIES */

    $('.formula_menu .level1 a').live("click", function(){
        var id = $(this).attr('rel');
        level1(id , $(this));
    });

    $('.formula_menu .level2 a').live("click", function(){
        var id = $(this).attr('rel');
        level2(id , $(this));
    });
    
    $('.formula_menu .level3 a').live("click", function(){
        var id = $(this).attr('rel');
        level3(id , $(this));
    });

    $("#search_formula").live("click", function(){
        var id1 = $('.formula_menu .level1').parent().children(".selected").attr("rel");
        var id2 = $('.formula_menu .level2').parent().children(".selected").attr("rel");
        var id3 = $('.formula_menu .level3').parent().children(".selected").attr("rel");
        
        searchFormula(id1, id2, id3);
        
    });

    /* ADVISOR CATEGORIES AND REGIONS */
    $('.advisor_menu .level_cat a').live("click", function(){
        var id = $(this).attr('rel');
        $('.advisor_menu .level_cat').parent().children(".selected").html($(this).html());
        $('.advisor_menu .level_cat').parent().children(".selected").attr("rel",id );

        $('.sub_menu.level_cat').hide();
        $('.advisor_menu .level_cat').parent().addClass('active_static');

        /* SEARCH ON HOME PAGE */
        if ( $('#search_advisor_home') ) {
            var id1 = $('.advisor_menu .level_cat').parent().children(".selected").attr("rel");
            var id2 = $('.advisor_menu .level_reg').parent().children(".selected").attr("rel");
            if (id1 == '') id1 = 'all';
            if (id2 == '') id2 = 'all';

            $('#search_advisor_home').attr("href", $('#search_advisor_home').attr('rel')+id1+"/"+id2+"/" );
        }
    });

    $('.advisor_menu .level_reg a').live("click", function(){
        var id = $(this).attr('rel');
        $('.advisor_menu .level_reg').parent().children(".selected").html($(this).html());
        $('.advisor_menu .level_reg').parent().children(".selected").attr("rel",id );

        $('.sub_menu.level_reg').hide();
        $('.advisor_menu .level_reg').parent().addClass('active_static');

        /* SEARCH ON HOME PAGE */
        if ( $('#search_advisor_home') ) {
            var id1 = $('.advisor_menu .level_cat').parent().children(".selected").attr("rel");
            var id2 = $('.advisor_menu .level_reg').parent().children(".selected").attr("rel");
            if (id1 == '') id1 = 'all';
            if (id2 == '') id2 = 'all';

            $('#search_advisor_home').attr("href", $('#search_advisor_home').attr('rel')+id1+"/"+id2+"/" );
        }
    });

    $("#search_advisor").live("click", function(){
        var id1 = $('.advisor_menu .level_cat').parent().children(".selected").attr("rel");
        var id2 = $('.advisor_menu .level_reg').parent().children(".selected").attr("rel");
        
        searchAdvisor(id1, id2);
    });
    
    alignPhotos();

});

function level1 ( id , a_element ) {
    $('.formula_menu li').removeClass('active_static');
    
    $('.formula_menu .level1').parent().children(".selected").html(a_element.html());
    $('.formula_menu .level1').parent().children(".selected").attr("rel",id );

    $('.formula_menu .level2').html('');
    $('.formula_menu .level3').html('');

    $('.formula_menu .level2').parent().children(".selected").html("Selecteer subsector");
    $('.formula_menu .level2').parent().children(".selected").attr("rel","");

    $('.formula_menu .level3').parent().children(".selected").html("Selecteer branche");
    $('.formula_menu .level3').parent().children(".selected").attr("rel","");

    $('.formula_menu .level1').parent().addClass('active_static');
    $('.sub_menu.level1').hide();
    $('ul.side_menu li.level_0').removeClass('active');

    $.get(WWW+"company_ajax/level1/"+id+"/", function(data){
        if ( data ) {
            var menu = jQuery.parseJSON(data);
            var i = 0;
            if ( menu.level2 ) {
                for ( i = 0 ; i < menu.level2.length; i++ ) {
                    $('.formula_menu .level2').append("<li><a href='javascript: return false;' rel='"+menu.level2[i].id+"' title='"+menu.level2[i].title+"' >"+menu.level2[i].title+"</a></li>");
                }
            }
            if ( menu.level2.length == 1 ) {
                var element = $(".sub_menu.level2 li a");
                level2(element.attr('rel'),element );
            } else {
                if ( menu.level3 ) {
                    for ( i = 0 ; i < menu.level3.length; i++ ) {
                        $('.formula_menu .level3').append("<li><a href='javascript: return false;' rel='"+menu.level3[i].id+"' title='"+menu.level3[i].title+"' >"+menu.level3[i].title+"</a></li>");
                    }
                }
            }
            /* SEARCH ON HOME PAGE */
            if ( $('#search_formula_home') ) {
                var id1 = $('.formula_menu .level1').parent().children(".selected").attr("rel");
                var id2 = $('.formula_menu .level2').parent().children(".selected").attr("rel");
                var id3 = $('.formula_menu .level3').parent().children(".selected").attr("rel");
                if (id1 == '') id1 = 'all';
                if (id2 == '') id2 = 'all';
                if (id3 == '') id3 = 'all';

                $('#search_formula_home').attr("href", $('#search_formula_home').attr('rel')+id1+"/"+id2+"/"+id3+"/" )
            }
        }
    });   
}

function level2 ( id , a_element ) {
    $('.formula_menu li').removeClass('active_static');
    
    $('.formula_menu .level2').parent().children(".selected").html(a_element.html());
    $('.formula_menu .level2').parent().children(".selected").attr("rel",id );

    $('.formula_menu .level2').html('');
    $('.formula_menu .level3').html('');

    $('.formula_menu .level3').parent().children(".selected").html("Selecteer branche");
    $('.formula_menu .level3').parent().children(".selected").attr("rel","");

    $('.formula_menu .level1').parent().addClass('active_static');
    $('.formula_menu .level2').parent().addClass('active_static');
    $('.sub_menu.level2').hide();
    $('ul.side_menu li.level_0').removeClass('active');

    $.get(WWW+"company_ajax/level2/"+id+"/", function(data){
        var menu = jQuery.parseJSON(data);
        var i = 0;
        if ( menu.level1 ) {
            $('.formula_menu .level1').parent().children(".selected").html(menu.level1.title);
            $('.formula_menu .level1').parent().children(".selected").attr("rel",menu.level1.id);
        }
        if ( menu.level2 ) {
            for ( i = 0 ; i < menu.level2.length; i++ ) {
                $('.formula_menu .level2').append("<li><a href='javascript: return false;' rel='"+menu.level2[i].id+"' title='"+menu.level2[i].title+"' >"+menu.level2[i].title+"</a></li>");
            }
        }
        if ( menu.level3 ) {
            for ( i = 0 ; i < menu.level3.length; i++ ) {
                $('.formula_menu .level3').append("<li><a href='javascript: return false;' rel='"+menu.level3[i].id+"' title='"+menu.level3[i].title+"' >"+menu.level3[i].title+"</a></li>");
            }
        }
        /* SEARCH ON HOME PAGE */
        if ( $('#search_formula_home') ) {
            var id1 = $('.formula_menu .level1').parent().children(".selected").attr("rel");
            var id2 = $('.formula_menu .level2').parent().children(".selected").attr("rel");
            var id3 = $('.formula_menu .level3').parent().children(".selected").attr("rel");
            if (id1 == '') id1 = 'all';
            if (id2 == '') id2 = 'all';
            if (id3 == '') id3 = 'all';

            $('#search_formula_home').attr("href", $('#search_formula_home').attr('rel')+id1+"/"+id2+"/"+id3+"/" )
        }
    });
    
}

function level3 ( id , a_element ) {
    $('.formula_menu li').removeClass('active_static');
    
    $('.formula_menu .level3').parent().children(".selected").html(a_element.html());
    $('.formula_menu .level3').parent().children(".selected").attr("rel",id );

    $('.formula_menu .level2').html('');
    $('.formula_menu .level3').html('');

    $('.formula_menu .level1').parent().addClass('active_static');
    $('.formula_menu .level2').parent().addClass('active_static');
    $('.formula_menu .level3').parent().addClass('active_static');
    $('.sub_menu.level3').hide();
    $('ul.side_menu li.level_0').removeClass('active');

    $.get(WWW+"company_ajax/level3/"+id+"/", function(data){
        var menu = jQuery.parseJSON(data);
        var i = 0;
        if ( menu.level1 ) {
            $('.formula_menu .level1').parent().children(".selected").html(menu.level1.title);
            $('.formula_menu .level1').parent().children(".selected").attr("rel",menu.level1.id);
        }

        if ( menu.level2 ) {
            for ( i = 0 ; i < menu.level2.length; i++ ) {
                $('.formula_menu .level2').append("<li><a href='javascript: return false;' rel='"+menu.level2[i].id+"' title='"+menu.level2[i].title+"' >"+menu.level2[i].title+"</a></li>");
                if ( menu.level2[i].active ) {
                    $('.formula_menu .level2').parent().children(".selected").html(menu.level2[i].title);
                    $('.formula_menu .level2').parent().children(".selected").attr("rel",menu.level2[i].id);
                }
            }
        }
        if ( menu.level3 ) {
            for ( i = 0 ; i < menu.level3.length; i++ ) {
                $('.formula_menu .level3').append("<li><a href='javascript: return false;' rel='"+menu.level3[i].id+"' title='"+menu.level3[i].title+"' >"+menu.level3[i].title+"</a></li>");
            }
        }
        /* SEARCH ON HOME PAGE */
        if ( $('#search_formula_home') ) {
            var id1 = $('.formula_menu .level1').parent().children(".selected").attr("rel");
            var id2 = $('.formula_menu .level2').parent().children(".selected").attr("rel");
            var id3 = $('.formula_menu .level3').parent().children(".selected").attr("rel");
            if (id1 == '') id1 = 'all';
            if (id2 == '') id2 = 'all';
            if (id3 == '') id3 = 'all';

            $('#search_formula_home').attr("href", $('#search_formula_home').attr('rel')+id1+"/"+id2+"/"+id3+"/" )
        }
    });
}

function clearFormulaSearch (){
    $('.formula_menu .level1').parent().children(".selected").html("Selecteer sector");
    $('.formula_menu .level1').parent().children(".selected").attr("rel","");

    $('.formula_menu .level2').parent().children(".selected").html("Selecteer subsector");
    $('.formula_menu .level2').parent().children(".selected").attr("rel","");

    $('.formula_menu .level3').parent().children(".selected").html("Selecteer branche");
    $('.formula_menu .level3').parent().children(".selected").attr("rel","");
}

function clearAdvisorSearch (){
    $('.advisor_menu .level_cat').parent().children(".selected").html("Selecteer expertise");
    $('.advisor_menu .level_cat').parent().children(".selected").attr("rel","");

    $('.advisor_menu .level_reg').parent().children(".selected").html("Selecteer uw regio");
    $('.advisor_menu .level_reg').parent().children(".selected").attr("rel","");
}

function alignPhotos () {
/*
    $(window).load(function() {
        $('.random_members').find('img').each(function () {
            var img_width = $(this).width();
            if ( img_width < 133 ) {
                var left = (133/2)-(img_width/2);
                $(this).css("left", left+"px");
            }
        });
    });
     */
}

function searchFormulaName (name) {
    clearFormulaSearch();
    $('#formula_name').val(name);
    $('.members_outer').addClass("loading");
    var run_stat = false;
    $('.members_outer').children().fadeOut("fast", function() {
        if ( !run_stat ) {
            run_stat = true;
            $.get(WWW+"company_ajax/search_name_formulas/"+name+"/", function(data){
                $('.members_outer').html(data);
                $('.members_outer').fadeIn();
                $('.members_outer').removeClass("loading");
                alignPhotos ();
                alignColumns ();
            });
        }
    });
}

function searchAdvisorName (name) {
    clearAdvisorSearch ();
    $('#advisor_name').val(name);
    
    $('.members_outer').addClass("loading");
    var run_stat = false;
    $('.members_outer').children().fadeOut("fast", function() {
        if ( !run_stat ) {
            run_stat = true;
            $.get(WWW+"company_ajax/search_name_advisors/"+name+"/", function(data){
                $('.members_outer').html(data);
                $('.members_outer').fadeIn();
                $('.members_outer').removeClass("loading");
                alignPhotos ();
                alignColumns ();
            });
        }
    });
}

function searchFormula (id1, id2, id3, page) {
    $('#formula_name').val($('#formula_name').attr("rel"));

    var url = new String();
    if ( id1 != "" ) {
        url += id1+"/";
        if ( id1 != 'all') {
            var selected1 = $('.formula_menu .level1').children().children("[rel='"+id1+"']");
            $('.formula_menu .level1').parent().children(".selected").html(selected1.html());
            $('.formula_menu .level1').parent().children(".selected").attr("rel",id1);
            $('.formula_menu .level1').parent().addClass('active_static');
        }
    } else {
        url += "all/";
    }
    if ( id2 != "" ) {
        url += id2+"/";
        if ( id2 != 'all') {
            var selected2 = $('.formula_menu .level2').children().children("[rel='"+id2+"']");
            $('.formula_menu .level2').parent().children(".selected").html(selected2.html());
            $('.formula_menu .level2').parent().children(".selected").attr("rel",id2);
            $('.formula_menu .level2').parent().addClass('active_static');
        }
    } else {
        url += "all/";
    }
    if ( id3 != "" ) {
        url += id3+"/";
        if ( id3 != 'all') {
            var selected3 = $('.formula_menu .level3').children().children("[rel='"+id3+"']");
            $('.formula_menu .level3').parent().children(".selected").html(selected3.html());
            $('.formula_menu .level3').parent().children(".selected").attr("rel",id3);
            $('.formula_menu .level3').parent().addClass('active_static');
        }
    } else {
        url += "all/";
    }

    if (page) {
        url += "pagina/"+page+"/";
    }

    $('.members_outer').addClass("loading");
    var run_stat = false;
    $('.members_outer').children().fadeOut("fast", function() {
        if ( !run_stat ) {
            run_stat = true;
            $.get(WWW+"company_ajax/search_formulas/"+url, function(data){
                $('.members_outer').html(data);
                $('.members_outer').fadeIn();
                $('.members_outer').removeClass("loading");
                alignPhotos ();
                alignColumns ();
            });
        }
    });
}

function searchAdvisor (id1, id2, page) {
    $('#advisor_name').val($('#advisor_name').attr("rel"));

    var url = new String();
    if ( id1 != "" ) {
        url += id1+"/";
        if ( id1 != 'all') {
            var selected1 = $('.advisor_menu .level_cat').children().children("[rel='"+id1+"']");
            $('.advisor_menu .level_cat').parent().children(".selected").html(selected1.html());
            $('.advisor_menu .level_cat').parent().children(".selected").attr("rel",id1 );
            $('.advisor_menu .level_cat').parent().addClass('active_static');
        }
    } else {
        url += "all/";
    }
    if ( id2 != "" ) {
        url += id2+"/";
        if ( id2 != 'all') {
            var selected2 = $('.advisor_menu .level_reg').children().children("[rel='"+id2+"']");
            $('.advisor_menu .level_reg').parent().children(".selected").html(selected2.html());
            $('.advisor_menu .level_reg').parent().children(".selected").attr("rel",id2 );
            $('.advisor_menu .level_reg').parent().addClass('active_static');
        }
    } else {
        url += "all/";
    }

    if (page) {
        url += "pagina/"+page+"/";
    }
    
    $('.members_outer').addClass("loading");
    var run_stat = false;
    $('.members_outer').children().fadeOut("fast", function() {
        if ( !run_stat ) {
            run_stat = true;
            $.get(WWW+"company_ajax/search_advisors/"+url, function(data){
                $('.members_outer').html(data);
                $('.members_outer').fadeIn();
                $('.members_outer').removeClass("loading");
                alignPhotos ();
                alignColumns ();
            });
        }
    });
}

function pagination (url) {
    $('.members_outer').addClass("loading");
    var run_stat = false;
    $('.members_outer').children().fadeOut("fast", function() {
        if ( !run_stat ) {
            run_stat = true;
            $.get(url, function(data){
                $('.members_outer').html(data);
                $('.members_outer').fadeIn();
                $('.members_outer').removeClass("loading");
                alignPhotos ();
                alignColumns ();
            });
        }
    });
}

function IsEmailCorrect(email) {
    return email.match(/^[_a-zA-Z0-9-]+(\.[_a-zA-Z0-9-]+)*@([a-zA-Z0-9-]+\.)+([a-zA-Z]{2,4})$/)!=null;
}

function IsEmpty(pole) {
    if (pole=='')
        return true
    else
        return false
}

/* FORM SUBMITING */
function form_submit( element_id ) {
    var status = true;

    $('#'+element_id).find(".required").each(function () {
        $(this).parent().removeClass("red_border");


        if (IsEmpty($(this).attr('value')) ) {
            $(this).parent().addClass("red_border");
            status = false;
        }
    });

    $('#'+element_id).find(".required_email").each(function () {
        $(this).parent().removeClass("red_border");

        if (!IsEmailCorrect($(this).attr('value')) || IsEmpty($(this).attr('value')) ) {
            $(this).parent().addClass("red_border");
            status = false;
        }
    });

    if (status) {
        $('#'+element_id).submit();
    }
}

function form_submit_center( element_id ) {
    var status = true;

    $('#'+element_id).find(".required").each(function () {
        $(this).removeClass("red_border2");


        if (IsEmpty($(this).attr('value')) ) {
            $(this).addClass("red_border2");
            status = false;
        }
    });

    $('#'+element_id).find(".required_email").each(function () {
        $(this).removeClass("red_border2");

        if (!IsEmailCorrect($(this).attr('value')) || IsEmpty($(this).attr('value')) ) {
            $(this).addClass("red_border2");
            status = false;
        }
    });

    if (status) {
        $('#'+element_id).submit();
    }
}

function alignColumns () {
    $('#left').height($('#left').parent().height()-224);
    $('#right').height($('#right').parent().height()-224);
}

function more_info_change (id) {
    var selected = $("#company_"+id).attr("checked");
    var url = id+"/"
    if ( selected )
        url += "add/";
    else
        url += "delete/";
    $.get(WWW+"company_ajax/more_info_change/"+url, function(data){

        });
}

$(window).load(function() {
    alignColumns ();
});

function confirmDelete() {
    return confirm("Verwijderen: weet u het zeker?");
}
