var hide = ""; 					// element id
var hide_old = "first_quote-7"; // previously target element id
var trigger = "";				// display trigger string
var trigger_old = "";
var toggle_id = "";				// toggle button id
var ht_var = 0; 				// partial hight of element in increasing or decresing units
var ht_max_first				// height of first div element
var ht_max = "";				// absolute hight of the target element
var x = 0;						// up/down toggle 		   		
var y = 10;						// time out delay
var z = 7;						// switch value to assign z & y values
var array_div = new Array();	// array of div elements
var array_ids = new Array();	// array of element values
var	array_height = new Array();	// style.height values
var Speed = 8;					// refresh speed default value
var test;						// assign array_div element id values to test
var counter = 0;				// counter for incremental id assignments to array_ids

function setup_toggle() {
	array_div = document.getElementsByTagName("div");
	for (i=0;i<array_div.length;i++) {
		if (array_div[i].className == "hidden") {  // array_div[i] use i to test array_div element
			test = array_div[i].id;
			array_ids[counter] = test;  // array_ids[counter] use counter to assign id sequentialy to array_ids
			counter++;
		}
	}
	
	// set up screen
	for (i=0;i<array_ids.length;i++) {
	hide = array_ids[i];
	
	document.getElementById(hide).style.display = 'block';
	ht_max = document.getElementById(hide).offsetHeight;
	document.getElementById(hide).style.height = '0px';
	if (hide == "first_quote-7") {
	ht_max_first = ht_max;
	}
	array_height[i] = hide.substring(0,hide.lastIndexOf('-')+1) + ht_max;
	
	// toggle_id = 'toggle' + i;
	// document.getElementById(toggle_id).style.display = 'block';
	
	} // end for
	// ht_max is assigned the height value for the last element to be setup.
	// at the end of this for loop, the hight value for the last div element is assigned to ht_max. 
	// the ht_max element is only re-set if the user choses to expand a div element with a name that
	// is different from the previous selection, i.e. different from the value assigned to hide_old. 
	// As the default value for hide_old is is "first_quote-7", i.e. the first div element in the list,
	// if the user selects this element to expand first, an incorrect hight value will be used in
	// the slide calculation. this is why ht_max must be assigned the hight value for the first 
	// "first_quote-7" div element.
	// 
	ht_max = ht_max_first;
}

function toggle_call(a) {
	// hide_old is assigned the div id of the last expanded div toggle
	// if hide_old != to a, i.e. current target div toggle
	// divs need to be re-set, i.e.
	// 1. old target div needs to be hidden
	// 2. the height of the current div target needs to be assigned to ht_max
	if (a != hide_old) {
	document.getElementById(hide_old).style.height = '0px';
	ht_var = 0;
	var element_target = a.substring(0,a.lastIndexOf('-'));

	trigger_old = hide_old.substring(0,hide_old.lastIndexOf('-'));
	trigger_old = trigger_old + "_trigger";
	document.getElementById(trigger_old).innerHTML="&nbsp;&nbsp;read&nbsp;more&nbsp;&#187;&nbsp;"  // old trigger text = display		
	
	Speed = a.substring(hide.lastIndexOf('-')+1);
	if (Speed == 1) { y = 100; z = 1; }
	if (Speed == 2) { y = 70; z = 1; }
	if (Speed == 3) { y = 40; z = 1; }
	if (Speed == 4) { y = 20; z = 1; }
	if (Speed == 5) { y = 10; z = 1; }
	if (Speed == 6) { y = 10; z = 2; }
	// if (Speed == 7) { y = 10; z = 4; }
	if (Speed == 7) { y = 5; z = 20; }
	if (Speed == 8) { y = 10; z = 7; }
	if (Speed == 9) { y = 10; z = 10; }
	
	// assign the height of the current div target to ht_max
	// 
	for (i=0;i<array_height.length;i++) {
		var name_test = array_height[i].substring(0,array_height[i].lastIndexOf('-'));
		var height_test = array_height[i].substring(array_height[i].lastIndexOf('-')+1);
		if (element_target == name_test) {
		ht_max = height_test;
		} // end if
		} // end for
	x = 0;
	} // end if 
	
	hide = a;
	trigger = hide.substring(0,hide.lastIndexOf('-'));
	trigger = trigger + "_trigger";
	toggle();
	hide_old = a;
} // end function

function toggle() {
	if (x === 0) {  // x = 0 (open), x = 1 (close)
		document.getElementById(trigger).innerHTML="&nbsp;&nbsp;hide&nbsp;&#187;&nbsp;" // trigger text = hide
		document.getElementById(hide).style.height = ht_var+'px';
		if (((ht_max-ht_var) < z) && (ht_var !== ht_max)) {
			ht_var = ht_max;
		} else {
			ht_var = ht_var+z;
		}
		if (ht_var <= ht_max) {
			setTimeout('toggle()',y);
		}
		if (ht_var > ht_max) {
			ht_var = ht_max;
			x = 1;
		}
	} else {
		document.getElementById(trigger).innerHTML="&nbsp;&nbsp;read&nbsp;more&nbsp;&#187;&nbsp;"  // trigger text = display
		document.getElementById(hide).style.height = ht_var+'px';
		ht_var = ht_var-z;
		if ((ht_max-ht_var) <= ht_max) {
			setTimeout('toggle()',y);
		}
		if ((ht_max-ht_var) > ht_max) {
			ht_var = 0;
			document.getElementById(hide).style.height = ht_var+'px';
			x = 0;
		}
	}
}