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(container, id){																												// Auto Slideshow
	subid = id;
	// Find out how many slides there are
	slide1 = document.getElementById(container);
	divs = slide1.getElementsByTagName("span");
	numberOfSlides = divs.length;
	timer = setTimeout("change('slide_1', 1, subid)", changeDelay);							
}
function repeat(old, num, subid){
	var oldImage = old;
	var number = num;
	timer = setTimeout("change('"+oldImage+"',"+number+", subid)", repeatDelay);
}
function change(old, num, subid){
 	var oldImage = old;
 	
 	if (oldImage == "stop"){
 		functionStop();
 	} else {
	 	var number = num;
	 	if (number < numberOfSlides){
	 		number++;
	 	} else {
	 		number = 1;
	 	}
		var id =  subid+"_";
		var imageID = id+number;
		if(imageID != oldImage){
			Effect.Appear(imageID, { duration: automaticChangeSpeed });
			Effect.Fade(oldImage, { duration: automaticChangeSpeed });
		}
		oldImage = imageID;
		 timer = setTimeout("repeat('"+oldImage+"', "+number+", subid)", repeatDelay);
	} 
}
function functionStop(){																							 				 // Stop Show on click
	clearTimeout(timer);
}
/**************************************************************************************************/
//	 Slideshow
//	 Author: Anthony McGrath
/**************************************************************************************************/

																																	// Slideshow Tweaks
																																	// Variables are measured in seconds

changeDelay2 = 6; 
onClickChangeSpeed2 = 0.5;  
automaticChangeSpeed2 = 1.0; 
																																	 // Automatic Variables
changeDelay2 = changeDelay2 * 1000;																																					 
repeatDelay2 =	changeDelay2/2;

function autoChange2(container, id){																												// Auto Slideshow
	subid2 = id;
	// Find out how many slides there are
	slide2 = document.getElementById(container);
	divs2 = slide2.getElementsByTagName("span");
	numberOfSlides2 = divs2.length;
	timer2 = setTimeout("change2(subid2+'_1', 1, subid)", changeDelay2);							
}
function repeat2(old, num, subid){
	var oldImage2 = old;
	var number2 = num;
	timer2 = setTimeout("change2('"+oldImage2+"',"+number2+", subid2)", repeatDelay2);
}
function change2(old, num, subid){
 	var oldImage2 = old;
 	
 	if (oldImage2 == "stop"){
 		functionStop2();
 	} else {
	 	var number2 = num;
	 	if (number2 < numberOfSlides2){
	 		number2++;
	 	} else {
	 		number2 = 1;
	 	}
		var id2 =  subid+"_";
		var imageID2 = id2+number2;
		if(imageID2 != oldImage2){
			Effect.Appear(imageID2, { duration: automaticChangeSpeed2 });
			Effect.Fade(oldImage2, { duration: automaticChangeSpeed2 });
		}
		oldImage2 = imageID2;
		 timer2 = setTimeout("repeat2('"+oldImage2+"', "+number2+", subid2)", repeatDelay2);
	} 
}
function functionStop2(){																							 				 // Stop Show on click
	clearTimeout(timer2);
}



function toggleCheck(id){
	if ($(id).className == ''){
		alert($(id).className);
		$(id).className ='checked';
	} else {
		$(id).className = '';
	}
}
