document.oldValues = []; // a store of the old values


if (!DEFAULT_SUMMARY_TEXT) {
	summaryText = " summary lines";
}else{
	summaryText = DEFAULT_SUMMARY_TEXT;
}
 
function setupSummaryOptions() {
	
	if (jQuery.cookie('showDate') == 0) {
		jQuery(".extraInfo").hide();
		jQuery.cookie('showDate', 0);
		jQuery("#showdate").attr("checked", false);
	}
	else {
		jQuery(".extraInfo").show();
		jQuery.cookie('showDate', 1);
		jQuery("#showdate").attr("checked", true);
	}
	
	jQuery("#showdate").click(function(){
		if (jQuery("#showdate").is(":checked")) {
            //show the hidden div
            jQuery(".extraInfo").show();
            jQuery.cookie('showDate', 1);
        }
        else {
            jQuery(".extraInfo").hide();
            jQuery.cookie('showDate', 0);
        }
	});	
	
}

// The slider bar on the right-hand side of the page		
function createSlider() {

	jQuery.each(jQuery("[@class='description'] > p"), function() {
		var oldValue = jQuery(this).height();
		///debug("###1# jQuery(this).parent().attr('id'): " + jQuery(this).parent().attr('id'));
		document.oldValues[jQuery(this).parent().attr('id')] = oldValue;
	});
	
	var sliderValue = jQuery.cookie('sliderValue');
    if (!sliderValue) {
    	sliderValue = DEFAULT_SLIDER_VALUE;
		jQuery.cookie('sliderValue', sliderValue );
    }
    // change the default values to those of the slider
	jQuery('#large_label').text(sliderValue + summaryText);
	
	var sliderValue = jQuery.cookie('sliderValue') ? jQuery.cookie('sliderValue') : DEFAULT_SLIDER_VALUE; // if unset then use the default value
	debug("slider value is: " + sliderValue);
	if (document.oldValues && sliderValue == 0) {	
		resetSnippets(0);	
		debug("Resetting snippets");		
	}
	jQuery('.slider_bar').slider({
		handle: '.slider_handle',
		minValue: 0,
		maxValue: 5,
		steps: 5,
		startValue: sliderValue,
		stop: function(e, ui) { 
			var v = Math.round(ui.value);
			debug("Stopping with value:" + v);
			resetSnippets(v);
		},
		slide: function(e, ui) {
			var v = Math.round(ui.value);
			debug("Sliding with value:" + v);
			resetSnippets(v);
		}
	});
}

// generic routine to reset all snippet sizes to supplied value
function resetSnippets(value) {
	var sliderValue  = Math.round(value);
	jQuery('#large_label').text(sliderValue + summaryText);
	debug("Resetting snippets...");
	jQuery("[@class='description'] > p").each(function() {
		
		debug("###2# jQuery(this).parent().attr('id'): " + jQuery(this).parent().attr('id'));
		var originalValue = (document.oldValues[jQuery(this).parent().attr('id')]);
		var newHeight 	  = DEFAULT_LINEHEIGHT * sliderValue;
		
		if (newHeight > originalValue) {
			newHeight = originalValue;
		}
		(sliderValue == 0)  ?  jQuery(".description").hide() : jQuery(".description").show();
		jQuery(this).css('height', newHeight + "px");
		jQuery(this).height(newHeight + "px");
	});
	jQuery.cookie('sliderValue', sliderValue);
}
