/*
Instructions:
for horizontal dropdown lists choose style:"dropdown"
*/
(function($){
	$.fn.Cslider = function(options) {
		
		var
		  defaults = {
		  	speed: 200,
		  	dontslide: ".dontslide",
		  	ease: "swing",
		  	style: "accordian",
		  	height: 200,
			TruncateLength: 50,
			fadeSpeed: 100,
			textbox: ".text",
			minTrail: 10,
			moreText: "more",
			lessText: "less",
			splitpoint: '<p>'
		  },
		  settings = $.extend({}, defaults, options);
		  
		  this.each(function() {
		  	var $this = $(this);
		  	if($this.hasClass(settings.dontslide)){
		  	
		  	}else{	
		  		var Cswitch = "<p class='Cswitch' style='cursor: pointer'></p>";
				if (!$.browser.msie) {
					var splitpoint = settings.splitpoint
				} else {
					// IE browsers
					var splitpoint = settings.splitpoint.toUpperCase();
				}
				
			var thisHeight = $(this).innerHeight();
			var container = $(this).children(settings.textbox);
			var firstp = container.html();
			var breakpoint = firstp.indexOf(splitpoint, settings.TruncateLength);
			var shortstring = firstp.substring(0, breakpoint);
			var longstring =  firstp.substring(breakpoint, firstp.length - 1);
			function hidestuff(){
				$(this).css({"min-height": settings.height});
				$this.data('thisHeight', thisHeight);
				$this.css({"overflow":"hidden", "height" :settings.height}).addClass("Ccont");
				$(container).html(shortstring + "<div class='longstring'>"+ longstring +"</div>");
				$(".longstring").hide();
				$(container).append(Cswitch);
				$('.Cswitch').text(settings.moreText);
			}
			
			hidestuff();
			$(".Ccont").addClass("Cclosed")
				  	}



			});
			
				$(".Cswitch").live("click", function(){
					if($(this).parents(".Ccont").hasClass("Cclosed")){
						//alert("Cclosed!");
						var theheight = $(this).parents(".Ccont").data("thisHeight");
						var longstring = $(this).prev(".longstring");

						$(this).parents(".Ccont").animate({height:theheight}).css({"overflow":"visible"});
						//$(this).parents(".Ccont").css({"height":theheight});
						$(longstring).show().parent().css({"height": theheight});
						//$(this).parents(".Ccont").fadeIn(settings.fadeSpeed);
						$(this).text(settings.lessText);
						$(this).parents(".Ccont").removeClass("Cclosed").addClass("Copen");
					}else{
						//alert("Copen!");
						
						$(this).parents(".Ccont").css({"min-height": settings.height});
						$(this).parents(".Ccont").css({"overflow":"hidden", "height" :settings.height}).addClass("Ccont");
						//$(container).html(shortstring + "<div class='longstring'>"+ longstring +"</div>");
						$(this).parents(".Ccont").children().find(".longstring").fadeOut();
						$(this).text(settings.moreText);
						$(this).parents(".Ccont").removeClass("Copen").addClass("Cclosed");

					}
				
		  });return this;
	};
})(jQuery);

