		
	function slide(event, id, textId, x, y, leftObjId, rightObjId, aaction){
		var textObj, leftObj,rightObj ,sliderObj, startx, endx;
		
		sliderObj = document.getElementById(id);
		textObj = document.getElementById(textId);
		leftObj = document.getElementById(leftObjId);
		rightObj = document.getElementById(rightObjId);
			
		startx = getObjectPositionByObject(leftObj).x;
		endx = getObjectPositionByObject(rightObj).x;

		if(textObj){
			hideObject(textId);
		}
			
		dragStart(event, id, x, y, startx, endx, null, null, aaction);	
	}

	function showHide(id, targetId){
		var obj = document.getElementById(id);
		var target = document.getElementById(targetId);
		if (obj && target){
			if (target.style.visibility=='hidden' && (sourceHTML==undefined || sourceHTML=='')){
				sourceHTML = obj.innerHTML;
				sourceTitle = obj.title;
				target.style.display='';
				target.style.visibility='visible';
				obj.innerHTML = 'Hide comments';
				obj.title = 'Hide comments';
			}else{
				obj.innerHTML = sourceHTML;
				obj.title = sourceTitle;
				target.style.display='none';
				target.style.visibility='hidden';
				sourceHTML = '';
				sourceTitle = '';
			}
		}
	}
    
    function redirect(path){
		document.location=path;
	}
		
	function showObject(id){
		var o = document.getElementById(id);
		if(o){
			o.style.visibility='visible';
			return true;
		}else{
			return false;
		}
	}

	function hideObject(id){
		var o = document.getElementById(id);
		if(o){
			o.style.visibility='hidden';
			return true;
		}else{
			return false;
		}
	}
		
	function toggle(id){
		var o = document.getElementById(id);
		if(o){
			if(o.style.display=='none' && o.style.visibility=='hidden'){
				o.style.visibility='visible';
				o.style.display='block';
			}else{
				o.style.visibility='hidden';
				o.style.display='none';
			}
			return true;
		}else{
			return false;
		}
	}
		
	function changeFocus(id,hide1,hide2,focusID){
		var o = document.getElementById(id);
		var x = document.getElementById(focusID);
		if(x && o){
			if(o.value ==''){
				//alert('should be hidding');
				hideInput(hide1,hide2);
				x.focus();
			}
		}
	}	
		
	function makeFocus(id){
		var o = document.getElementById(id);
		if(o){
			o.focus();
			return true;
		}else{
			return false;
		}
	}

	function getEvent(e){
		if (!e)e=window.event; 
		return e;
	}

	function isIE(){
		if(navigator.userAgent.indexOf("MSIE") !=-1){
			return true;
		}else{
			return false;
		}
	}
	
	function isSafari(){
		if(navigator.userAgent.indexOf("Safari") !=-1){
			return true;
		}else{
			return false;
		}
	}
	
	function isFirefox(){
		if(navigator.userAgent.indexOf("Firefox") !=-1){
			return true;
		}else{
			return false;
		}
	}

function getPageCoordinates(e){

	//returns two values x,y with position values relative to the page depending on browser

	if(isFirefox()){
		return {x:e.pageX, y:e.pageY};
	}else{
		if(isSafari()){
			return {x:getEvent(e).clientX, y:getEvent(e).clientY};
		}else{
			return {x:getEvent(e).clientX + document.body.scrollLeft - document.body.clientLeft, y:getEvent(e).clientY + document.body.scrollTop - document.body.clientTop};
		}
	}
}

function getObjectCoordinates(e){

	//returns two params x,y with position values relative to the object

	if(isFirefox()){
		return {x:e.layerX, y:e.layerY};
	}else{
		if(isSafari()){
			return {x:getEvent(e).offsetX, y:getEvent(e).offsetY};
		}else{
			return {x:getEvent(e).offsetX, y:getEvent(e).offsetY + document.body.scrollTop};
		}
	}
}

function getObjectPositionByObject(Object){
	var o = Object;
	if(o){
		var left = 0;
		var top = 0;
		while (o.offsetParent){
			left += o.offsetLeft;
			top += o.offsetTop;
			o = o.offsetParent;
		}
	
		left += o.offsetLeft;
		top += o.offsetTop;
	}
	return {x:left, y:top};
}

function stripChars(value,strings){
	var theString;
	theString = value;
	if(theString){
		theString = theString.replace(strings,'');
		return theString;
	}
}
