var ajax_cat = "";

function bindGallery(){
    $('#selections > div').hide();
    $('#nav-all').parent().addClass("ui-state-active");
    
    //Sort Search Box
    $('#portfolio-search').bind("click",function(){
        if($(this).val() == "Enter Keyword"){
            $(this).val("");
        }
    });

    $('#portfolio-search').bind("blur",function(){
        if($(this).val() == ""){
            $(this).val("Enter Keyword");
        }
    });

    //Remove all selections
    $('#nav-all').bind('click', function(){
        $("#selections ul > li").removeClass("current");
        //Call Ajax to get some data
        getData();

        return false;
    });
    
    //Bind Subnav clicks
    $('#selections > div > ul > li > a').bind("click", function(){
        if($(this).parent().attr("class") == "current"){
            $(this).parent().removeClass("current");
        }else{
            $(this).parent().addClass("current");
        }

        //Call Ajax to get some data
        getData();
        return false;
    });

    $('#selections > h3 > a').bind("click", function(){
       var nextDiv = $(this).parent().next();
       if($(nextDiv).is(":visible")){
           //If it's visible, select all
            var selected = false;
            $("#sub_" + $(this).attr("id") + " ul > li").each(function(){
                if($(this).attr("class") == "current"){
                    selected = true;
                }
            })

            if(selected){
                $("#sub_" + $(this).attr("id") + " ul > li").removeClass("current");
            }else{
                $("#sub_" + $(this).attr("id") + " ul > li").addClass("current");
            }

            //Call Ajax to get some data
            getData();
       }else{
           $('#selections > div').hide();
           $('#selections > h3').removeClass("ui-state-active");
           $(nextDiv).show();
           $(this).parent().addClass("ui-state-active");
       }
       return false;
    });

    //Get URL configurations
    //Query strings in hash format take priority.
    var hash = "";
    var reload = false;
    if(window.location.hash && window.location.hash != "#cat"){
        //We have hash values.
        hash = window.location.hash;
        hash = hash.substr(5);
        reload = true;
    }else{
        //We have query string values
        if(pos){
            hash = location.slice(pos + 9);
            hash = hash.substr(0,hash.length-4);
        }
    }

    if(hash){
        var hash_array = hash.split(",");
        for(var i = 0; i<hash_array.length; i++){
            $('#cat_id_' + hash_array[i]).parent().addClass("current");
        }
        //Call Ajax to get some data
        if(reload){
            getData();
        }
    }else{
        var location = new String(window.location);
        var pos = location.indexOf("category");
        if(pos && pos != -1){
            $('#selections > h3').removeClass("ui-state-active");
            hash = location.slice(pos + 9);
            var selected_nav_arr = hash.split("-",1);
            var cut = hash.substr(selected_nav_arr[0].length+1);
            if(selected_nav_arr[0]){
                $('#accordion-' + selected_nav_arr[0]).addClass("ui-state-active");
                $("#sub_" + selected_nav_arr[0]).show();
                $('#cat_id_'+selected_nav_arr[0]+"-"+cut).parent().addClass("current");
            }
        }
    }

    return false;
}

function getData(){
    ajax_cat = "";
    $('#selections ul li.current a').each(function(){
        var cat_id = $(this).attr("id");
        cat_id = cat_id.substr(7);

        //Loop through here making the URL.
        if(typeof(cat_id) != "undefined"){
            ajax_cat += cat_id + ",";
        }
    });

    //Sort out the cat url, if there's none selected, put in all so browser doesn't redirect
    ajax_cat = "cat-" + ajax_cat.substr(0,ajax_cat.length-1);
    if(ajax_cat != "cat-"){
        window.location = window.location.pathname + window.location.search + "#" + ajax_cat;
    }else{
        window.location = window.location.pathname + window.location.search + "#all";
    }

    //Store data in cookie for back link
    $.cookie("back-link", ajax_cat, { path: '/', expires: 10} );

    runAjax();
}

function runAjax(){
    $.ajax({
        url: '/what-we-have-done/ajax?cat=' + ajax_cat,
        type: 'get',
        success: function(t) {
            $('#portfolio-thumbs-lrg').html(t);
            toolTips();
        }
    });
}
