/**
 * Let DIVs be collapsable by adding a css-class
 * The readmore-link is generated automatically
 *
 * Example:
 *
 
<h2>Webdevelopment / Software engineering (PHP)</h2>
<p>Intro which doesn't collapse</p>
<div class="collapsableReadMore">
	<p>Loran flipsum</p>
	<p>Joran flipsum</p>
	<p>Joran blipsum</p>
</div> 

<script src="/js/jquery/collapsableredmore.jquery.js" type="text/javascript"></script>
$('.collapsableReadMore').od_collapsableReadMore('nl');
// or
$('.collapsableReadMore').od_collapsableReadMore('nl', 'tonen', 'verbergen'); // ignores the given (mandatory) language and use custom labels

 *
 * @author    Oebe Rombout
 * $copyright Occhio bv 2010
 */

// jQuery plugin declaration header : start
(function ($) {
$.fn.od_collapsableReadMore = function (options) {
	
	
	// initial settings
	var aMoreText = new Array();
	var aLessText = new Array();
	aMoreText['nl'] = 'meer';
	aLessText['nl'] = 'minder';
	aMoreText['en'] = 'more';
	aLessText['en'] = 'less';
	aMoreText['es'] = 'mas';
	aLessText['es'] = 'menos';
	
	// options object overwrites settings object
	 settings = jQuery.extend({
     	language: "nl",
     	moreText: null, // by default takes the correct translation from aMoreText[]
     	lessText: null, // by default takes the correct translation from aLessText[]
     	downEffect: 'slideDown',
     	upEffect: 'slideUp',
     	downSpeed: 2500,
     	upSpeed: 1250
 	 }, options);

	// loop each found html-object
	return this.each(function () {
	// jQuery plugin declaration header : end
 
		var $textBlock = $(this); //Coding standard: use $ to indicate that it concerns a jQuery-object

		// if no custom labels are given, use defaults
		if (typeof settings.moreText == null) {
			settings.moreText = aMoreText[settings.language];
		}
		if (typeof settings.lessText == null) {
			settings.lessText = aLessText[settings.language];
		}

		// hide block text
		$textBlock.hide();

		// add readmore link to bottom of text
		var readMoreLink = $('<a href="#" class="collapsableReadMore_link collapsed">' + settings.moreText + '</a><');
		$textBlock.after(readMoreLink);

		// if link is clicked
		$(readMoreLink).click(function () {

			// if collapsed: expand text
			if ($(this).hasClass('collapsed')) {
				// show text
				$textBlock[settings.downEffect](settings.downSpeed);

				// change text in link
				$(this).html(settings.lessText).removeClass('collapsed').addClass('expanded');
				ReplaceFonts(this, "13");
		   // if expanded: collapse text
		   } else {
				// hide text
				$textBlock[settings.upEffect](settings.upSpeed); // slide up twice as fast as slide down
	
	
				// change text in link
				$(this).html(settings.moreText).removeClass('expanded').addClass('collapsed');
				ReplaceFonts(this, "13");
			}
			return false;
		});


// jQuery plugin declaration footer : start		
  });
};
})(jQuery);
// jQuery plugin declaration footer : end



$('.collapsableReadMore').od_collapsableReadMore({moreText: 'meer info', lessText: 'minder info', downSpeed: 1400, upSpeed: 850});


