/*!
 * expandingDetails jQuery plugin v1.0
 * http://xml-solutions.com
 *
 * Copyright 2010, Michael Odling-Smee
 * Dual licensed under the MIT or GPL Version 2 licenses.
 * http://jquery.org/license
 *
 * Date: Thur Nov 13 09:53:48 2010 Z
 */
jQuery.fn.toggleMoreLessText = function( moreText, lessText ) {
    if (this.text() == moreText) {
        this.text(lessText);
    } else {
        this.text(moreText);
    }
}

jQuery.fn.addToggle = function( moreText ) {
	var toggleHTML = '<p class="expansion-controls"><a class="details-toggle" href="#">' + moreText + '</a></p>';
	this.before(toggleHTML);
}

jQuery.fn.expandingDetailsSlider = function(options) {
	var defaults = {moreToggleText: 'more...', lessToggleText: 'less...', intiallyHidden: true, clearBoth: false};
	var settings = jQuery.extend(defaults, options);
	if (settings.clearBoth) {
		this.before("<div style='clear: both;'>&nbsp;</div>");
	}
	if (settings.intiallyHidden) {
		this.css("display", "none");
		this.addToggle(settings.moreToggleText);
	} else {
		this.addToggle(settings.lessToggleText);
	}
	
	this.prev("p[class='expansion-controls']").children("a[class='details-toggle']").click(function() {
        $(this).parent().next("div").slideToggle();
        $(this).toggleMoreLessText(settings.moreToggleText, settings.lessToggleText);
        return false;
    });
}
