jQuery.fn.tuxsudoCenter = function () {
    this.css(
	     {
		"position":"absolute",
		"top": (($(window).height() - this.outerHeight()) / 2) + $(window).scrollTop(),
		"left":(($(window).width() - this.outerWidth()) / 2) + $(window).scrollLeft()
	     });
    return this;
}

function init_adv_search_toggler(){
  $("#advanced_search_options").hide();
  $("#advanced_search_options_toggler").html("More Search Options").attr("href","javascript:void(0)").click( toggle_adv_search );


  function toggle_adv_search(){
    $(this).toggleClass("expanded").html( $(this).html()=="More Search Options"?"Less Search Options":"More Search Options");
    $("#advanced_search_options").slideToggle();
  }

}

function init_checkbox_togglers(){

  $(".checker").html("Check/Uncheck All").attr("href","javascript:void(0)").click(toggle_checkboxes);

  function toggle_checkboxes(){
    var cboxes = $(this.parentNode).find(":checkbox");
    if(cboxes.length==0 && this.parentNode)
      toggle_checkboxes.call(this.parentNode);
    else
      if( cboxes[0].checked )
        cboxes.removeAttr("checked");
      else
        cboxes.attr("checked","checked");
  }

}


function init_course_toggler(){
	$(".course h2").each(function(){
		$(this).prepend(
			$("<a>").addClass("expanded").click(function(){
				$(this).toggleClass("expanded").toggleClass("collapsed");
				$(this).parent().nextAll().toggle();
			})
		)
	});
}

function init_more_notes_toggler(){
    var getbookxhr = function (){
	$(this).after( $("<div>").load( $(this).attr("href") ).hide() );
	$(this).unbind("click", getbookxhr);
	return false;
    }

    var toggle_nexts = function(){
	$(this).toggleClass("collapsed").toggleClass('expanded');
	$(this).nextAll().slideToggle();
	return false;
    }

    $(".notes a.book_toggler").click(getbookxhr);
    $(".notes a.note_toggler").attr("href", "javascript:void(0)");
    $(".notes a.toggler:not(.disabled)").click( toggle_nexts );
}

function handlegbookdata(bookdata){
	for (i in bookdata){
		$("li.isbn" + bookdata[i].bib_key.replace(/^(.+[:])/, '')).each( function(){
			if($(this).find("img").size()==0){
				$("<img>").attr('src', bookdata[i].thumbnail_url).attr("alt", "book info").appendTo(
					$("<a>").addClass("gbooklink").attr("target","_blank").attr("href", bookdata[i].info_url).prependTo( $(this) )
				);
				var book_heading = $(this).find("h4");
				book_heading.html( $("<a>").html( book_heading.html() ).attr("target","_blank").attr("href", bookdata[i].info_url) );

			}
		})
	}
}

function initAZSun(){
  var $sunbox = $("#suninfo");
  $sunbox.addClass("js").hide();
  $("body").click(function(){ $sunbox.fadeOut()});
  $("a.sunlink").click( function(e){
      $sunbox.tuxsudoCenter().fadeIn();

      return false;
  })

}


$(init_adv_search_toggler);
$(init_checkbox_togglers);
$(init_more_notes_toggler);
$(init_course_toggler);
$(initAZSun);


// $( function(){ setTimeout(function(){ $("#course_keywords").focus()},500) } );

