
function make_entry_link (book_id, link_text, link_title) {
    return '<a href="Catalog?bkid='+book_id+'" title="'+link_title+'">'+link_text+'</a>';
}

var MAX_TITLE_WIDTH = 20;

function format_title_text (title) {
    if( title.length <= MAX_TITLE_WIDTH ) {
	return title;
    } else{
	var formatted = new Array();
	var size = 0;
	var parts = title.split(' ');
	for(var i=0; i<parts.length; i++) {
	    size += parts[i].length;
	    if( size < MAX_TITLE_WIDTH ) {
		formatted[i] = parts[i];
	    } else {
		formatted[i] = '...';
		break;
	    }
	}
	return formatted.join(' ');
    }
}

function add_crlf (text_length) {
    var crlf = new Array();
    for(var i=0; i<(6-parseInt(text_length/10)); i++) {
	crlf[i] = '<br />';
    }
    return crlf.join('');
}

function make_entry (book_id, title, cover, author, category_id) {
  if( null != title && null != author ) {
    if( null == cover ) {
      cover = "images/default_cover.jpg";
    }
    var item_category = "";
    var category_display_name = ""
    if( null != category[category_id] ) {
	category_display_name = format_title_text(category[category_id]);
	item_category = '<a href="/Catalog?cid='+category_id+'" title="'+category[category_id]+'">'+category_display_name+'</a>';
    }
    var title_display_name  = format_title_text(title);
    var author_display_name = format_title_text(author);
    return '<span class="img-shadow">'+make_entry_link(book_id, '<img src="'+cover+'" alt="" width="96" height="122" />', title)+'</span><br />'+make_entry_link(book_id, title_display_name, title)+'<br />'+author_display_name+'<br />'+item_category+add_crlf((title_display_name.length+author_display_name.length+category_display_name.length));
  } else {
    return "";
  }
}

$(function() {
  $("#loader").show();
  $("#bookcarousel").css('visibility', 'hidden');
  $.ajax({
    url: "/FeaturedBooks?n=25",
    type: "GET",
    dataType: "xml",
    timeout: 8000,
    error: function(){
        $("#loader").hide();
    },
    success: function(xml){
        $("#loader").hide();
	$("#bookcarousel").css('visibility', 'visible');
        $(xml).find('bks').each(function(){
            $(this).find('bk').each(function(){
                var title_text = $(this).attr('ttl');
                var author_text = $(this).attr('auth');
                var cover_url = $(this).attr('cvr');
                var category_id = $(this).attr('cid');
		var book_id = $(this).attr('bkid');
                $('<li></li>').html(make_entry(book_id, title_text, cover_url, author_text, category_id)).appendTo('#books ul');
            });
        });
	$(".bookscroller").jCarouselLite({
		btnNext:  ".next",
		btnPrev:  ".prev",
		circular: true,
		visible:  5
	});
    }
  });
});
