function addCourseToCookie(id, mode, title, cookie)
{

    var maxItems = 5;
    var joined = id + '^' + mode + '^' + title;
    //$.cookie(cookie, null);

    var courses = $.cookie(cookie);
        
    if (courses == null)
    {
        courses = Array('', '', '', '', '');
        courses[0] = joined;
    }
    else
    {
        courses = courses.split('~');
        var found = $.inArray(joined, courses) > -1;
        
        if (!found)
        {
            //make a copy.
            var original = $.extend({}, courses);
            //add to top of list.
            courses[0] = joined;
            $.each(original,function(index, item) {
                if (index > 0) {
                    courses[index] = original[index-1];
                }
            });
        }
    }
    
    $.cookie(cookie, courses.join('~'));
}

function removeCourseFromCookie(id, mode, title, cookie)
{
    var maxItems = 5;
    var courses = $.cookie(cookie);
    
    if (courses == null)
    {
        return false;
    }
    else
    {
        // From courses string create the array. Each is split by the ~ character
        courses = courses.split('~');
        
        var joined = id + '^' + mode + '^' + title;
        var found = $.inArray(joined, courses);
        
        if (found > -1)
        {
            for (var i = found; i < maxItems - 1; i++)
            {
                courses[i] = courses[i + 1];
            }
            courses[maxItems - 1] = "";
        }
    }
    
    $.cookie(cookie, courses.join('~'));
}

function showCourses(title, cookie, addRemoveLink)
{
    var courseURL = window.location.pathname;
    //courseURL = courseURL.substring(courseURL.lastIndexOf('/') + 1);
    
    var courses = $.cookie(cookie);
    
    if (courses != null)
    {
        document.write('<div id="coursebox">');
         document.write('<div id="coursebox_header"></div>');
         document.write('<div id="coursebox_content">');
          document.write('<div id="coursebox_right">');
           document.write('<h2>' + title + '</h2>');

            courses = courses.split('~');
            var courseInfo;
            
            document.write('<ul>');
            $.each(courses,function(index, item)
            {
                var classLast = (courses[index+1] == '' || courses[index+1] == undefined ? "last" : "");
                if (item) {
                    courseInfo = item.split('^');
                    document.write('<li id=\'course_' + cookie + courseInfo[0] + '\'><a href="' + courseURL + '?id=' + courseInfo[0] + '&mode=' + courseInfo[1] + '" title="' + courseInfo[2] + '">' + courseInfo[2] + '</a>' + ( addRemoveLink == true ? '<a href="/" onClick="removeFromShortList(\'' + courseInfo[0] + '\',\'' + courseInfo[1] + '\',\'' + courseInfo[2] + '\', this);return false;" title="Remove course"><img alt="" src="/images/button_deleteicon.gif"></a>' : ''));
                }
            });
            document.write('</ul>');
           document.write('</div>');
          document.write('</div>');
         document.write('<div id="coursebox_footer"></div>');
        document.write('</div>');
    }
}

function addRecentCourse(id, mode, title)
{
    addCourseToCookie(id, mode, title, 'recentcourses');
}


function showRecentCourses(title)
{
    showCourses(title, 'recentcourses', false);
}

function addToShortList(id, mode, title)
{
    addCourseToCookie(id, mode, title, 'shortlistcourses');
}


function removeFromShortList(id, mode, title, item)
{
    removeCourseFromCookie(id, mode, title, 'shortlistcourses');
    $(item.parentNode).hide();
}

function showShortlistCourses(title)
{
    showCourses(title, 'shortlistcourses', true);
}

function checkSelection() {
    $(".CourseTypeSelection #PartTimeStudy").hide();
    $(".CourseTypeSelection :checkbox:checked").each(function() {
        var label = $(".CourseTypeSelection label[for='" + $(this)[0].id + "']")
        if (label) {
            label = label[0].innerHTML.toLowerCase();
            if (label == 'part-time leisure') {
                $(".CourseTypeSelection #PartTimeStudy").show();
            }
        }
    });
}

function addSearchCheckFunction ()
{
    $(document).ready(function() {
        checkSelection();
        $(".CourseTypeSelection :checkbox").click(function() {
            checkSelection();
        });
    });
}
