/*	Thank you Drew McLellan for starting us off
	with http://24ways.org/2006/tasty-text-trimmer	*/

var k2Trimmer = {
	minValue: 0,
	maxValue: 100,
	chunks: false,
	prevValue: 0,

	setup: function(value) {
		k2Trimmer.chunks = false;

		if (value >= k2Trimmer.maxValue) {
			k2Trimmer.curValue = k2Trimmer.maxValue;
		} else if (value < k2Trimmer.minValue) {
			k2Trimmer.curValue = k2Trimmer.minValue;
		} else {
			k2Trimmer.curValue = value;
		}

		k2Trimmer.slider = new K2Slider('#trimmerhandle', '#trimmertrack', {
			minimum: 0,
			maximum: 10,
			value: 10,
			onSlide: function(x) {
				k2Trimmer.doTrim(x * 10);
			},
			onChange: function(x) {
				k2Trimmer.doTrim(x * 10);
			}
		});

		jQuery('#trimmermore').click(function() {
			k2Trimmer.slider.setValueBy(1);

			return false;
		});

		jQuery('#trimmerless').click(function() {
			k2Trimmer.slider.setValueBy(-1);

			return false;
		});
	},

	trimAgain: function() {
		k2Trimmer.loadChunks();
		k2Trimmer.doTrim(k2Trimmer.curValue);
	},

    loadChunks: function() {
		var everything = jQuery('#dynamic-content .entry-content');

		k2Trimmer.chunks = [];

		for (i=0; i<everything.length; i++) {
			k2Trimmer.chunks.push({
				ref: everything[i],
				html: jQuery(everything[i]).html(),
				text: jQuery.trim(jQuery(everything[i]).text())
			});
		}
	},

    doTrim: function(interval) {
		/* Spit out the trimmed text */
		if (!k2Trimmer.chunks)
			k2Trimmer.loadChunks();

		/* var interval = parseInt(interval); */
		k2Trimmer.curValue = interval;

		for (i=0; i<k2Trimmer.chunks.length; i++) {
			if (interval == k2Trimmer.maxValue) {
				jQuery(k2Trimmer.chunks[i].ref).html(k2Trimmer.chunks[i].html);
			} else if (interval == k2Trimmer.minValue) {
				jQuery(k2Trimmer.chunks[i].ref).html('');
			} else {
				var a = k2Trimmer.chunks[i].text.split(' ');
				a = a.slice(0, Math.round(interval * a.length / 100));
				jQuery(k2Trimmer.chunks[i].ref).html('<p>' + a.join(' ') + '&nbsp;[...]</p>');
			}
		}

		/* Add 'trimmed' class to <BODY> while active */
		if (k2Trimmer.curValue != k2Trimmer.maxValue) {
			jQuery('#dynamic-content').addClass("trimmed");
		} else {
			jQuery('#dynamic-content').removeClass("trimmed");
		}
	}
};
