FC = {
    
};
FC.searchExtras = function(){
    if ($('.stayopen').length == 0){
        $('.search-extra').hide();       
        $('<a>test</a>').addClass('search-extra-link').text('Show search options').toggle(function(){
            $('.search-extra').show();
            $('.search-extra-link').text('Hide search options');
            $('#so').val('stayopen');
            $(".pagination li a").each(function(){
                if (this.href.indexOf("so=") == -1){
                    this.href = this.href + "&so=stayopen";
                }else{
                    this.href = this.href.replace("&so=&", "&so=stayopen&");
                }
            });    
        },function(){
            $('.search-extra').hide();
            $('.search-extra-link').text('Show search options');
            $('#so').val('');
            $(".pagination li a").each(function(){
                this.href = this.href.replace("so=stayopen","so=");
            });
        }).insertBefore($('.search-extra'));
    }else{
        $('<a>test</a>').addClass('search-extra-link').text('Hide search options').toggle(function(){
            $('.search-extra').hide();
            $('.search-extra-link').text('Show search options');
            $('#so').val('');
            $(".pagination li a").each(function(){
                this.href = this.href.replace("so=stayopen","so=");
            });
        },function(){
            $('.search-extra').show();
                $('.search-extra-link').text('Hide search options');
                $('#so').val('stayopen');
                $(".pagination li a").each(function(){
                    if (this.href.indexOf("so=") == -1){
                        this.href = this.href + "&so=stayopen";
                    }else{
                        this.href = this.href.replace("&so=&", "&so=stayopen&");
                    }
                });
            }).insertBefore($('.search-extra'));
    }
}


FC.QualificationAccordian = function() {
    var __accordian = $(".panel > .accordian-header");
    $(".accordian-content").css({ display: "none" });
    $(".first .accordian-content").css({ display: "block" });
    $(".first .accordian-header").addClass("close")
    $(__accordian).toggle(
        function() {
            $(".accordian-content").css({ display: "none" });
            $(".accordian-header").removeClass("close")
          
            $(this).parent().find(".accordian-content").slideToggle("Fast")
            $(this).addClass("close");
            return false;
        },
        function() {
            $(this).parent().find(".accordian-content").slideUp("Fast")
            $(this).removeClass("close");
            return false;
        }
    );
}
FC.collapsablecontent = function() {
    var __collapsablecontent = $(".collapsable-content a.trigger");
    $(".collapsable-content .content").css({display:"none"})
    $(__collapsablecontent).toggle(
        function() {
            $(this).parent().find(".content").css({ display: "block" });
            $(this).addClass("close");
            return false;
        },
        function() {
        $(this).parent().find(".content").css({ display: "none" });
            $(this).removeClass("close");
            return false;
        }
    );
}



FC.faqs = function(){
    var __faqs = $(".faqs > ul > li > a");
    
    $(__faqs).toggle(
                     
        function(){
            $(this).parent().find(".answer").css({display:"block"});
            $(this).addClass("close");
            return false;
        },
        
        function(){
            $(this).parent().find(".answer").css({display:"none"});
            $(this).removeClass("close");
            return false;
        }        
    );    
}

FC.tabs_2 = {
    isFading: false,
    init: function(){
        var tabsContainer = $(".tabs-2-container");
        var SELECTEDCLASS = 'tabs-2-selected';
        
        var tabs = $('.tabs-2 li a', tabsContainer);
        var contentAreas = $('.tab-content-2 .tab-content-2-bg', tabsContainer)
        
        for(var i=0; i<tabs.length; i++) {
            tabs[i].href = '#' + contentAreas[i].id;
        }
        
        $('.tabs-2 ul a', tabsContainer).bind('click', function(){

            pageTracker._trackEvent("Homepage Tabs", "view", $('span',this).text().toLowerCase());

            if (FC.tabs_2.isFading) {
                this.blur();
            }
            else {
                var oldTab = $('.' + SELECTEDCLASS, tabsContainer);
                var oldContent = $(oldTab.attr('href'));
                
                var newTab = $(this);
                var newContent = $(newTab.attr('href'));
                
                if(oldTab.get(0) !== newTab.get(0)) {
                    FC.tabs_2.isFading = true;
                    oldTab.removeClass(SELECTEDCLASS);
                    newTab.addClass(SELECTEDCLASS);
                    oldContent.fadeOut(700, function(){
                        newContent.fadeIn(700, function(){
                            FC.tabs_2.isFading = false;
                        });
                    });
                }
            }
            
            return false;
        });
    }
}

FC.mouseoverPanel = function(){
    var mouseoverPanels = $(".mouseoverPanel");
    var SELECTEDCLASS = 'mouseoverNavigationSelected';
    var SELECTEDCONTENTCLASS = 'mouseoverContentSelected';
    
    for(var i=0; i < mouseoverPanels.length; i++) {
        var mouseoverPanel = mouseoverPanels[i];
        
        $('.mouseoverNavigation li a', mouseoverPanel).bind('mouseover focus', function(){
            var oldTab = $('.' + SELECTEDCLASS, mouseoverPanel);
            var oldTabImagePath = $('img', oldTab).attr('src');
            var oldContent = $('.' + SELECTEDCONTENTCLASS, mouseoverPanel);
            
            var newTab = $(this);
            var newTabImagePath = $('img', newTab).attr('src');
            var newContent = $(newTab.attr('name'));
            
            if(oldTab.get(0) !== newTab.get(0)) {
                oldContent.removeClass(SELECTEDCONTENTCLASS);
                newContent.addClass(SELECTEDCONTENTCLASS);
                
                oldTab.removeClass(SELECTEDCLASS);
                $('img', oldTab).attr('src', oldTabImagePath.replace('_selected', ''));
                
                newTab.addClass(SELECTEDCLASS);
                $('img', newTab).attr('src', newTabImagePath.replace(/(\.[^\.]*)$/, '_selected$1'));
            }
        
            return false;
        });
        
        // Equalise content heights
        var biggestHeight = 0;
        var widthWhenVisible = $('.' + SELECTEDCONTENTCLASS, mouseoverPanel).width();
        var contents = $('.mouseoverContent', mouseoverPanel);
        
        contents.each(function(){
            $(this).width(widthWhenVisible);
            
            var thisHeight = $(this).outerHeight();
            
            if(thisHeight > biggestHeight) {
                biggestHeight = thisHeight;
            }
        });
        
        contents.height(biggestHeight);
    }
}


FC.predictive = function(){
    
    var __title = new Array();
    var __code = new Array();
    var __url = new Array();
    var __form = $(".qualification-finder form");
    
    /*Loop through the data array and split it into 2 arrays, one for the course title and code and one for the url*/
    for(i=0;i<data.length;i++){
        
        var __split = data[i].split("|");
        __title[i] = __split[0];
        if (__split[1] != "") __title[i] += " (" + __split[1] +")";
        __url[i] = __split[2]; 
    
    }

    $("#subject_or_code").each(function() {
        $("#subject_or_code").autocomplete(__title, {matchContains: true, mustMatch: false});
    });
    
    __form.bind("submit",function(){
        
        /*Find url*/
        var __val = $("#subject_or_code").val();
        var __action;
        
        /*Lop through the __title array to find a match to the selected course, then find the corresponding __url*/
        for(i=0;i<__title.length;i++){
            if(__title[i]==__val){
                __action = __url[i];
                break;
            }    
        }
        
        /*Set the form action to be the value of __action and submit the form*/
        __form.attr("action",__action);
        __form[0].submit();
        return false;
        
    });
}

FC.menus = function(){
    
    var __links = $(".subnav li");
    var __subs = $(".subnav li ul")
    
    __links.bind("mouseenter mouseover",function(){
    
        $(this).addClass("on");
    
    })
    
    __links.bind("mouseleave",function(){
        
        $(this).removeClass("on");
    
    })    
    
    __subs.bind("mouseenter",function(){
    
        $(this).parent().addClass("on");
    
    })
    
    __subs.bind("mouseleave",function(){
    
        $(this).parent().removeClass("on")
    
    })
    
}


FC.defaultText = function(psElemName) {
    var el= $(psElemName);
    var defaultText= el[0].defaultValue;
    
    el.val(defaultText);
    
    el.bind('focus', function() {
        if (el.val() == defaultText) {
            el.val('');
        }
    });
    
    el.bind('blur', function() {
        if(el.val() == '') {
            el.val(defaultText);
        }
    });
}
FC.equalHeights = function(){
    var currentTallest = 0;
    $(".generic .content .cols .box .box-padding").each(function(){
        if ($(this).height() > currentTallest) { currentTallest = $(this).height(); }
    });
    $(".generic .content .cols .box .box-padding").each(function(){
        if ($.browser.msie && $.browser.version == 6.0) { $(this).css({'height': currentTallest}); }
        $(this).css({'min-height': currentTallest}); 
    });
}

FC.breadcrumb = function(){
    var sResult = "";
    if ($(".breadcrumb").length>0){
        if (($(".breadcrumb > ol > li:first > a").attr("href")) == "int-home.html"){
            sResult = "/international ";
        }else{
            sResult = "/uk ";
        }
        sResult += $(".breadcrumb > ol > li:eq(1)").text().toLowerCase();
        $(".breadcrumb > ol > li:gt(1)").each(function(){
            sResult += "/" + $(this).text().toLowerCase();
        });
    }
    sResult += "/";
    return(sResult);
}

FC.searchHint = function(blurClass){
    if (!blurClass) {blurClass = "blur";}
    search = $("#site-search");
    title = search.attr("title");
        
    if (title){
        search.blur(function(){
            if (search.val() === ""){
                search.val(title).addClass(blurClass);
            }
        }).focus(function(){
            if (search.val() === title && search.hasClass(blurClass)){
                search.val("").removeClass(blurClass);
            }
        }).blur();
    }
    
}

FC.mediaSlideshow = function () {
    var media = $('div.media');
    var counter= 0;
    var ext;
    
    if(FC2.hasLteIE6) {
        ext= '.gif'
    }
    else {
        ext= '.png';
    }
        
    var parentElement = $('div.media ul.items');
    var items = parentElement.find("li");
    var numItems = parentElement.find("li").length;

    media.append('<ul class="pagination"><li class="prev"><a href="#" class="disabled"><img src="/images/info/icon-prev'+ext+'" width="8" height="8" alt="Previous" /></a></li><li class="current"><span>'+(counter+1)+'</span> of '+numItems+'</li><li class="next"><a href="#"><img src="/images/info/icon-next'+ext+'" width="8" height="8" alt="Next" /></a></li></ul>');

    var pagination =$("ul.pagination");
    var prev = pagination.find(".prev a");
    var next = pagination.find(".next a");
    

    //hide all
    parentElement.children('li').each(function () {
        $(this).fadeOut(1);
    });
    
    //display first item
    parentElement.children("li:eq("+counter+")").fadeIn(1);
    parentElement.children("li:eq("+counter+")").addClass("active");
    
    
    
    
    
    //when next is clicked, hide current li and show next one
    next.live('click', function() {
        counter=counter+1;
        
        prev.removeClass('disabled');
        
        parentElement.find("li.active").fadeOut(1, function(){
            parentElement.find("li.active").removeClass("active");
            parentElement.find("li:eq("+counter+")").fadeIn(1, function(){
                $(this).addClass("active");                                                       
                
                media.find('li.current span').text(counter+1);
                
                if(counter == numItems-1) {
                    next.addClass('disabled');
                }
                else {
                    if(next.hasClass('disabled')) {
                        next.removeClass('disabled');
                    }
                }
            });
        
        });
        return false;
    });
    
    //when previous is clicked, hide current li and show previous one
    prev.live('click', function() {
            
        counter=counter-1;
        parentElement.find("li.active").fadeOut(1, function(){
            parentElement.find('li.current span').text(counter);
            parentElement.find("li.active").removeClass("active");
            parentElement.find("li:eq("+counter+")").fadeIn(1, function(){
                $(this).addClass("active");    
                
                media.find('li.current span').text(counter+1);
                
                if(next.hasClass('disabled')) {
                    next.removeClass('disabled')
                }
                
                if(counter == 0) {
                    prev.addClass('disabled');
                }
                else {
                    if(prev.hasClass('disabled')) {
                        prev.removeClass('disabled');
                    }
                }
            });
            
        
        });
        return false;
    });
}
FC.addPrint = function () {
    $('div.content ul.controls').prepend('<li class="print"><a href="javascript:window.print()">Print</a></li>');
    $('div.additional ul.controls').prepend('<li class="print"><a href="javascript:window.print()"><img src="/images/info/icon-print-small.gif" width="17" height="17" alt="Print this page"></a></li>');
}


$(function(){
           
    $("body").addClass("js");           
    
    
    if($(".subnav ul ul").length>0){
        FC.menus();
    }
    
    if($("#subject_or_code").length>0){
        FC.predictive();
        FC.defaultText("input#subject_or_code");
    }
                
    if($('a.tooltip').length) {
        $('a.tooltip').tooltip({
            track: true, 
            delay: 0, 
            showURL: false, 
            fade: 250
        });
    };
    if($('.search-extra').length){
        FC.searchExtras();
    };

    if ($(".collapsable-content").length > 0) {
        FC.collapsablecontent();
    }
    
    if($(".faqs").length>0){
        FC.faqs();
    }
    
    if ($(".accordian").length > 0) {
        FC.QualificationAccordian();
    }

    if($(".tabs-2").length>0){
        FC.tabs_2.init();
    }
    
    if($(".mouseoverPanel").length>0){
        FC.mouseoverPanel();
    }
    
    $('.closeWindow').click(function() {
        parent.tb_remove();
    });

    if($(".generic .content .cols").length > 0){        
        FC.equalHeights();
    }
    
    if ($("#site-search").length>0) {FC.searchHint();}

    
    if ($("div.media").length > 0) {
        FC.mediaSlideshow();
    }

    if ($('ul.controls').length > 0) {
        FC.addPrint();
    }

    if ($(".take-this-qualification input#postcode").length > 0){
        FC.defaultText(".take-this-qualification input#postcode");
    }

});