function add_onload(element, new_function) {
	var old_onload = element.onload;

	if (typeof old_onload != 'function') {
		old_onload = function(){};
	}

	element.onload = function (){
		old_onload();
		new_function();
	}
}

function add_onunload(element, new_function) {
	var old_onunload = element.onunload;

	if (typeof old_onunload != 'function') {
		old_onunload = function(){};
	}

	element.onunload = function (){
		old_onunload();
		new_function();
	}
}

function add_onfocus(element, new_function) {
	var old_onfocus = element.onfocus;

	if (typeof old_onfocus != 'function') {
		old_onfocus = function(){};
	}

	element.onfocus = function (){
		old_onfocus();
		new_function();
	}
}

function trim(stringToTrim) {
	return stringToTrim.replace(/^\s+|\s+$/g,"");
}

function limitTextarea(elm,limit,display_id,limit_id) {
  $(limit_id).value = limit - (elm.value.length);
  if ($(limit_id).value > 1) {
  	$(display_id).innerHTML = limit - elm.value.length+' characters remaining.';
  }
  if ($(limit_id).value == 1) {
  	$(display_id).innerHTML = '1 character remaining.';
 	}
  if ($(limit_id).value == 0) {
  	$(display_id).innerHTML = '0 characters remaining.';
 	}
 	if ($(limit_id).value < 0) {
 		$(display_id).innerHTML = limit - elm.value.length+' characters remaining, excess characters will be truncated.';
 	}
}

function callbackLink(href, element_id, inner_html) {
	$(element_id).href = href;	
	if (href == '' || href == 'javascript:;') {
		$(element_id+'_hidden').value = '';
		$(element_id).innerHTML = 'Add a Link';
		$(element_id).title = 'Add a Link';
		$(element_id+'_delete').hide();
	} else {
		if (inner_html === undefined) {
			inner_html = href.truncate(30);
		}
		$(element_id+'_hidden').value = href;
		$(element_id).innerHTML = inner_html;
		$(element_id).title = href;
		$(element_id).target = '_blank';
		$(element_id+'_delete').show();
	}
}

/**************************************************************************************************/
//	 Slideshow
//	 Author: Anthony McGrath
/**************************************************************************************************/

																																	// Slideshow Tweaks
																																	// Variables are measured in seconds

changeDelay = 4; 
onClickChangeSpeed = 0.5;  
automaticChangeSpeed = 1.0; 
																																	 // Automatic Variables
changeDelay = changeDelay * 1000;																																					 
repeatDelay =	changeDelay/2;

function autoChange(){																												// Auto Slideshow
	
	// Find out how many slides there are
	slide1 = document.getElementById("banner");
	divs = slide1.getElementsByTagName("span");
	numberOfSlides = divs.length;
	timer = setTimeout("change('slide_1', 1)", changeDelay);							
}
function repeat(old, num){
	var oldImage = old;
	var number = num;
	timer = setTimeout("change('"+oldImage+"',"+number+")", repeatDelay);
}
function change(old, num){
 	var oldImage = old;
 	
 	if (oldImage == "stop"){
 		functionStop();
 	} else {
	 	var number = num;
	 	if (number < numberOfSlides){
	 		number++;
	 	} else {
	 		number = 1;
	 	}
		var id =  "slide_";
		var imageID = id+number;
		if(imageID != oldImage){
			Effect.Appear(imageID, { duration: automaticChangeSpeed });
			Effect.Fade(oldImage, { duration: automaticChangeSpeed });
		}
		oldImage = imageID;
		 timer = setTimeout("repeat('"+oldImage+"', "+number+")", repeatDelay);
	} 
}
function functionStop(){																							 				 // Stop Show on click
	clearTimeout(timer);
} 



																																	// Slideshow Tweaks
																																	// Variables are measured in seconds

changeDelay2 = 8; 
onClickChangeSpeed2 = 0.5;  
automaticChangeSpeed2 = 2.0; 
																																	 // Automatic Variables
changeDelay2 = changeDelay2 * 1000;																																					 
repeatDelay2 =	changeDelay2/2;


function autoChange2(){																												// Auto Slideshow
	
	// Find out how many slides there are
	slide2 = document.getElementById("footer_gallery");
	divs2 = slide2.getElementsByTagName("span");
	numberOfSlides2 = divs2.length;
	timer2 = setTimeout("change2('footslide_1', 1)", changeDelay2);							
}
function repeat2(old, num){
	var oldImage2 = old;
	var number2 = num;
	timer = setTimeout("change2('"+oldImage2+"',"+number2+")", repeatDelay2);
}
function change2(old, num){
 	var oldImage2 = old;
 	
 	if (oldImage2 == "stop"){
 		functionStop();
 	} else {
	 	var number2 = num;
	 	if (number2 < numberOfSlides2){
	 		number2++;
	 	} else {
	 		number2 = 1;
	 	}
		var id2 =  "footslide_";
		var imageID2 = id2+number2;
		if(imageID2 != oldImage2){
			Effect.Appear(imageID2, { duration: automaticChangeSpeed2 });
			Effect.Fade(oldImage2, { duration: automaticChangeSpeed2 });
		}
		oldImage2 = imageID2;
		 timer2 = setTimeout("repeat2('"+oldImage2+"', "+number2+")", repeatDelay2);
	} 
}
function functionStop(){																							 				 // Stop Show on click
	clearTimeout(timer2);
} 

/**************************************************************************************************/
//	 Zoom leading Images
//	 Author: Anthony McGrath
/**************************************************************************************************/

function zoomLeading(zoomCat){
	zoomId = 'zoom_'+zoomCat;
	Effect.Appear(zoomId, {duration: 0.5});
}

function hideLeading(zoomCat){
	zoomId = 'zoom_'+zoomCat;
	Effect.Fade(zoomId, {duration: 0.5});
}

