
	function ru( variable ) {
		if( typeof variable == "undefined" ) return null;
		return variable;
	}
	
	function getobj( name ) {
		var obj = document.getElementById( name );
		return ru( obj );
	}
	
	function showInline(name) {
		obj = getobj(name);
		if(typeof obj!='undefined' && obj!=null) {
			obj.style.display = 'inline';
		}
	}
	function show(name) {
		obj = getobj(name);
		if(typeof obj!='undefined' && obj!=null) {
			obj.style.display = 'block';
		}
	}
	function hide(name) {
		obj = getobj(name);
		if(typeof obj!='undefined' && obj!=null) {
			obj.style.display = 'none';
		}
	}
	function toggleVisibility(name) {
		obj = getobj(name);
		if(typeof obj!='undefined' && obj!=null) {
			obj.style.display = ( obj.style.display == 'none' )
								? 'block'
								: 'none';
		}
	}
	
	function getLeft( el ) {
		var left = el.offsetLeft;
		if( el.tagName == 'BODY' ) {
			return 0;
		}
		if( el.tagName == 'TBODY' 
	     || el.tagName == 'TR'
	     || el.tagName == 'TABLE'
	     || el.tagName == 'FORM' ) {
			left = 0;
		}
		if( el.parentNode != 0 ) {
			left += getLeft( el.parentNode );
		}
		return left;
	}
	function getTop( el ) {
		var top = el.offsetTop;
		if( el.tagName == 'BODY') {
			return 0;
		}
		if( el.tagName == 'TBODY' 
	     || el.tagName == 'TR'
	     || el.tagName == 'TABLE'
	     || el.tagName == 'FORM' ) {
			top = 0;
		}
		//alert(  el.tagName + ' ' +  el.offsetTop );
		if( el.parentNode != 0 ) {
			top += getTop( el.parentNode );
		}
		return top;
	}
	
	function addEvent(obj, eventType, afunction, isCapture) {
    	// W3C DOM
    	if (obj.addEventListener) {
       		obj.addEventListener(eventType, afunction, isCapture);
       		return true;
    	}
	    // Internet Explorer
	    else if (obj.attachEvent) {
	       	return obj.attachEvent("on"+eventType, afunction);
	    }
	    else return false;
	 }

	String.prototype.trim = function() { return this.replace(/^\s+|\s+$/, ''); };  