function getElementHeight(elem) {
		var op5 = false;
		var xPos=0;
		/*
		if (op5) { 
			xPos = elem.style.pixelHeight;
		} else {
		*/
			xPos = elem.offsetHeight;
			//alert(" getElementHeight Here");
		//}
		
		return xPos;	
}

function getElementWidth(elem) {
		var op5 = false;
		if (op5) {
			xPos = elem.style.pixelWidth;
		} else {
			xPos = elem.offsetWidth;
		}
		return xPos;	
}

function showElement(elem) {
//alert("showElement");
	elem.style.visibility='visible';
}

function hideElement(elem) {
	elem.style.visibility='hidden';
}


function getWindowHeight() {
    var height = 0;
	if( typeof( window.innerWidth ) == 'number' ) {
	    height = window.innerHeight;
	} else if( document.documentElement && document.documentElement.clientHeight) {
	    height = document.documentElement.clientHeight;
	} else if( document.body && document.body.clientHeight) {
	    height = document.body.clientHeight;
	}
    return height;
}

function getWindowWidth() {
    var Width = 0;
	if( typeof( window.innerWidth ) == 'number' ) {
	    Width = window.innerWidth;
	} else if( document.documentElement && document.documentElement.clientWidth) {
	    Width = document.documentElement.clientWidth;
	} else if( document.body && document.body.clientWidth) {
	    Width = document.body.clientWidth;
	}
    return Width;
}


function getObjectRight(elem) {
	//var right = 0;
	var left = getObjectLeft (elem);
	var width = getElementWidth(elem);
	return (left + width);

}
function getObjectLeft (elem)  {
	//var elem = this.getRawObject(obj);
	var result = 0;
	if (elem) {
		if (document.defaultView) {
			var style = document.defaultView;
			var cssDecl = style.getComputedStyle(elem, "");
			result = cssDecl.getPropertyValue("left");
		} else if (elem.currentStyle) {
			result = elem.currentStyle.left;
		} else if (elem.style) {
			result = elem.style.left;
		} 
		if (isNaN(result)) {
			result = this.getPageElementLeft(elem);
		}
	}
	
	return result;
}

function getObjectTop (elem)  {
	//var elem = this.getRawObject(obj);
	var result = 0;
	if (elem) {
		if (document.defaultView) {
			var style = document.defaultView;
			var cssDecl = style.getComputedStyle(elem, "");
			result = cssDecl.getPropertyValue("top");
		} else if (elem.currentStyle) {
			result = elem.currentStyle.top;
		} else if (elem.style) {
			result = elem.style.top;
		} 
		if (isNaN(result)) {
			result = getPageElementTop(elem);
		}
		
	}
	
	return result;
}

function getPageElementLeft(elem)	{
//alert("getObjectTop1");
	var left=0;
	if (elem) {
		left = elem.offsetLeft;         
		var parentObj = elem.offsetParent;  
		while (parentObj != null) {
			if(this.bIsIE) {
				if( (parentObj.tagName != "TABLE") && (parentObj.tagName != "BODY") ) 
				left += parentObj.offsetLeft; 
			}
			else {
				//alert("getObjectTo2p");
				if(parentObj.tagName == "TABLE") {
					var nParBorder = parseInt(parentObj.border);
					if(isNaN(nParBorder)) { 
						var nParFrame = parentObj.getAttribute('frame');
						if(nParFrame != null)
							left += 1;
					} else if(nParBorder > 0) {
						left += nParBorder;        
					}
				}
			}
			left += parentObj.offsetLeft;      
			parentObj = parentObj.offsetParent; 
			}                                      
		}
	return left;
}
function getPageElementTop(elem)	{
//alert("getObjectTop1");
	var top=0;
	if (elem) {
		top = elem.offsetTop;         
		var parentObj = elem.offsetParent;  
		while (parentObj != null) {
			if(this.bIsIE) {
				if( (parentObj.tagName != "TABLE") && (parentObj.tagName != "BODY") ) 
				top += parentObj.offsetTop; 
			}
			else {
				//alert("getObjectTo2p");
				if(parentObj.tagName == "TABLE") {
					var nParBorder = parseInt(parentObj.border);
					if(isNaN(nParBorder)) { 
						var nParFrame = parentObj.getAttribute('frame');
						if(nParFrame != null)
							top += 1;
					} else if(nParBorder > 0) {
						top += nParBorder;        
					}
				}
			}
			top += parentObj.offsetTop;      
			parentObj = parentObj.offsetParent; 
			}                                      
		}
	return top;
}


/*
function getScrolledElementTop(elem) {
	var top = this.getPageElementTop(elem);
	if (elem) {
		var bod = document.body;
		var docParent = this.getParentElement(elem);
		while (docParent !== null && docParent !== bod) {
			top -= docParent.scrollTop;
			docParent = this.getParentElement(docParent);
		}                                      
	}
	return top;                           
}
function getScrolledElementLeft (elem)	{
var left = this.getPageElementLeft(elem);
if (elem) {
var bod = document.body;
var docParent = this.getParentElement(elem);
while (docParent !== null && docParent !== bod) {
left -= docParent.scrollLeft;
docParent = this.getParentElement(docParent);
}                                      
}
return left;
}
*/

function getScrollTop() {
	var pos=0;
	if (window.pageYOffset)
	{
	  pos = window.pageYOffset
	}
	else if (document.documentElement && document.documentElement.scrollTop)
	{
		pos = document.documentElement.scrollTop
	}
	else if (document.body)
	{
	  pos = document.body.scrollTop
	}
	return pos;
}

function getScrollLeft() {
	var pos=0;
	if (window.pageOffset)
	{
	  	pos = window.pageYOffset
	}
	else if (document.documentElement && document.documentElement.scrollLeft)
	{
		pos = document.documentElement.scrollLeft
	}
	else if (document.body)
	{
	  	pos = document.body.scrollLeft
	}
	return pos;
}

function stringReplace(inStr, find, replaceWith) {

	s = new String(inStr);
	s = s.replace(find, replaceWith);	
	return s;
}

function cleanXMLString(inStr) {
	
	var str = inStr;

	str = stringReplace(inStr,/\n/g,"");
	str = stringReplace(str,/\r/g,"");
	str = stringReplace(str,/\t/g,"");
	str = stringReplace(str,/\t/g,"");
	//str = stringReplace(str,/\f/g,"");
	str = stringReplace(str,"          ","");
	str = stringReplace(str,"      "," ");
	var i = 0;
	
	/*
	while (str.indexOf("  ") && (i<5)) {
	 	i=i+1;
		str = stringReplace(str,"  "," ");
	}
	*/
	
	//alert("before: " + inStr + " |||||after: " + str);
	return str;

}