/**********************************************************
***********************************************************
*  Copyright 2004 (c) Aumediage S.P.R.L. All Rights Reserved.								*
*  This is a commercial software product, please visit												*
*  http://www.aumediage.net for more information. or send email to					*
*  aumediage@hotmail.com																						*
*  See http://www.aumediage.net for Commercial License Agreement				*
*  All Copyright statements must always remain in place in all files at all times	*
*		***** PLEASE NOTE: THIS IS NOT FREE SOFTWARE	*****						*
*				*****	IT MUST BE LICENSED FOR ALL USE	*****								*
*  HISTORY																												*
*	Name			Date							Action											Version			*
*	GdB				27/02/2001			Creation										1.00					*
*																																	*
************************************************************
***********************************************************/

/*********************************************************
**********************************************************
**********************************************************
GENERIC VARIABLE DECLARATION
**********************************************************
*********************************************************/
var clctnStart	= 'getElementById("';
var clctnEnd		= '")';
var clctnStyle	= '.style';
var sHidden		= 'hidden';
var sVisible		= 'visible';
var sPx				= 'px';
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
var sBwAgent	= navigator.userAgent.toLowerCase();
var sBwName		= navigator.appName;
var iBwVersion	= parseInt(navigator.appVersion);
var isOp		= (sBwAgent.indexOf('opera') != -1 || window.opera);
var isOp5		= (isOp && (sBwAgent.indexOf("opera/5")!=-1 || sBwAgent.indexOf("opera 5")!=-1));
var isOp6		= (isOp && (sBwAgent.indexOf("opera/6")!=-1 || sBwAgent.indexOf("opera 6")!=-1));
var isOp7		= (isOp && (sBwAgent.indexOf("opera/7")!=-1 || sBwAgent.indexOf("opera 7")!=-1));
var isSaf		= (sBwAgent.indexOf('safari') != -1); 
var isWebTV		= (sBwAgent.indexOf('webtv') != -1);
var isKonq		= (sBwAgent.indexOf("konqueror")!=-1)?true:false;
var isDom		= (document.all || document.getElementById );
var isGecko		= (sBwAgent.indexOf("gecko") != -1);
var isN			= (sBwAgent.indexOf('netscape') != -1 && !isOp && !isKonq && !isSaf && !isWebTV);
var isN4		= (isN && iBwVersion>=4 && iBwVersion<5);
var isN6		= (isN && document.getElementById );
var isN62		= (isN && parseInt(navigator.productSub)>=20011019);
var isN61		= (isN && parseInt(navigator.productSub)>=20010726 && !isN62);
var isN7		= (isN && sBwAgent.indexOf('netscape/7') != -1);
var isIE		= (!isOp && sBwAgent.indexOf('msie') != -1 && document.all );
var isIE4		= (isIE && !document.getElementById );
var isIE5		= (isIE && document.getElementById );
var isIE55		= (isIE && (window.createPopup || sBwAgent.indexOf("msie 6.0")!=-1 || sBwAgent.indexOf("msie 5.5")!=-1) );
var isMoz		= (sBwAgent.indexOf("mozilla")!=-1 && !isN && !isIE && !isOp && !isKonq)?true:false;
var isFBird		= (sBwAgent.indexOf("firebird")!=-1 )?true:false;
var isFFox		= (sBwAgent.indexOf("firefox")!=-1 )?true:false;
var isMac		= (sBwAgent.indexOf("mac")!=-1)?true:false;
var isMac45		= (sBwAgent.indexOf("msie 4.5")!=-1)?true:false;
var isWin		= (sBwAgent.indexOf('win') != -1)?true:false
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
if(isOp){
	sHidden		= 'hidden';
	sVisible			= 'visible';
	sPx				= '';
}
else if(isN4){
	clctnStart		= '';
	clctnEnd		= '';
	clctnStyle		= '';
	sHidden		= 'hide';
	sVisible			= 'show';
	sPx				= '';
}
else if(isIE4){
	clctnStart		= 'all.';
	clctnEnd		= '';
	clctnStyle		= '.style';
}
/*********************************************************
**********************************************************
**********************************************************
COMMON FUNCTIONS FOR DHTML SUPPORT
**********************************************************
*********************************************************/
function getObject(sID, bStyle, sContainer){
	if (typeof(sID) == 'object'){
		if (bStyle){
			return (getObject(sID,false).display == undefined)?getObjectStyle(sID):sID;
		}
		else
			return sID;
	}
	var oRet = '';
	if (bStyle == true){
		if (isN4 && sContainer)	
			oRet = 'window.document.'+clctnStart+sContainer+clctnEnd+clctnStyle+'.document.'+clctnStart+sID+clctnEnd+clctnStyle;
		else
			oRet = 'window.document.'+clctnStart+sID+clctnEnd+clctnStyle;
	}
	else{
		if (isN4 && sContainer)	{
			oRet = 'window.document.'+clctnStart+sContainer+clctnEnd+'.document.'+clctnStart+sID+clctnEnd;
		}
		else{
			oRet = 'window.document.'+clctnStart+sID+clctnEnd;
		}
	}
	return eval(oRet)
}
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
function getObjectStyle(oObject){
	if (isN4)
		return oObject;
	else
		return oObject.style;
}
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
function getExists(vID){
	return (document.getElementById(vID))?true:false;
	var thisObj = getObject(vID,false);
	return (thisObj)? true : false;
}
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
/*** CLIP ***/
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
function getClipValues(vID, sWhich) {
	var thisObj = getObject(vID,true);
	if (is.ie) 
		var aryClipVal = thisObj.clip.split("rect(")[1].split(")")[0].split("px")
	if (sWhich == "t" ) return (isN4)? thisObj.clip.top		: Number(aryClipVal[0])
	if (sWhich == "r" ) return (isN4)? thisObj.clip.right	: Number(aryClipVal[1])
	if (sWhich == "b" ) return (isN4)? thisObj.clip.bottom	: Number(aryClipVal[2])
	if (sWhich == "l" ) return (isN4)? thisObj.clip.left	: Number(aryClipVal[3])
}
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
function setClipValues(vID, iClipTop, iClipRight, iClipBottom, iClipLeft){
	var thisObj = getObject(vID,true);
	if(isN4){
		thisObj.clip.left			= iClipLeft;
		thisObj.clip.top			= iClipTop;
		thisObj.clip.right		= iClipRight;
		thisObj.clip.bottom	= iClipBottom;
	}
	else
		thisObj.clip				='rect('+iClipTop+' '+iClipRight+' '+iClipBottom+' '+iClipLeft+')';
}
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
/*** Return the fired element ***/
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
function getFiredObject(el){
	return isN6? el.target : event.srcElement;
}
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
function getMouseX(el){
	return isN6? el.clientX : event.clientX;
}
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
function getMouseY(el){
	return isN6? el.clientY : event.clientY;
}
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
/*** WRITE INTO  LAYER ***/
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
function writeLayer(vID, vValue){
	var thisObj = getObject(vID,false);
	if (isN4){
		thisObj = thisObj.document;
		/*thisObj.document*/
		thisObj.open();
		thisObj.write(vValue);
		thisObj.close()
	}
	else
		thisObj.innerHTML = vValue
	
}
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
/*** GET HTML FROM LAYER ***/
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
function getInnerHtml(vID){
	var thisObj = getObject(vID,false);
	var sBuffer = '';
	if (isN4){
		thisObj = thisObj.document
		sBuffer = thisObj.read(vValue);
		thisObj.close()
	}
	else
		sBuffer = thisObj.innerHTML;
	return sBuffer;
}
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
/*** GET TEXT FROM LAYER ***/
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
function getInnerText(vID){
	var thisObj = getObject(vID,false);
	var sBuffer = '';
	if (isN4){
		thisObj = thisObj.document
		sBuffer = thisObj.read(vValue);
		thisObj.close()
	}
	else
		sBuffer = thisObj.innerText;
	return sBuffer;
}
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
/*** Set the z-index of an object ***/
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
function setZIndex(sID,iOrder){
	var thisObj = getObject(sID,true);
	thisObj.zIndex = iOrder;
}
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
/*** Get the visibility ***/
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
function getVisibility(sID){
	var thisObj = getObject(sID,true);
	return thisObj.visibility;
}
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
/*** SHOW / HIDE an Object ***/
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
function showFull(sID, iZindexOn){
	show(sID, iZindexOn);
	setDisplayOn (sID)
}
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
function show(sID, iZindexOn){
	if(!sID)return
	var thisObj = getObject(sID,true);
	thisObj.visibility = sVisible;
	if (iZindexOn || iZindexOn == 0)
		setZIndex(sID, iZindexOn)
}
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
function setDisplayOn (sID, iZindexOn){try{
	if(!sID)return
	var thisObj = getObject(sID,true);
	thisObj.display = 'block';
	if (iZindexOn || iZindexOn == 0)
		setZIndex(sID, iZindexOn)
}catch(e){handleClientError('setDisplayOn', e);}}
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
function hideFull(sID, iZindexOn){
	hide(sID, iZindexOn);
	setDisplayOff (sID)
}
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
function hide(sID, iZindexOff){
//try{
	if(!sID)return
	var thisObj = getObject(sID,true);
	thisObj.visibility = sHidden;
	if (iZindexOff || iZindexOff == 0)
		setZIndex(sID, iZindexOff);
}//catch(e){alert (e.description)}}
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
function setDisplayOff (sID, iZindexOff){
	if(!sID)return
	var thisObj = getObject(sID,true);
	thisObj.display = 'none';
	if (iZindexOff || iZindexOff == 0){
		setZIndex(sID, iZindexOff)
	}
}
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
function showHide (sID, iZindexOn, iZindexOff){
	var thisObj = getObject(sID,true);
	//alert(thisObj + ' - ' + thisObj.visibility + ' - ' + sHidden)
	if(thisObj.visibility == sHidden){
		show(sID, iZindexOn)
	}
	else{
		 hide(sID, iZindexOff)
	} 
}
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
function showHideFull (sID, iZindexOn, iZindexOff){
	var thisObj = getObject(sID,true);
	if(thisObj.display == 'none'){
		showFull(sID, iZindexOn)
	}
	else{
		 hideFull(sID, iZindexOff)
	} 
}
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
function setDisplayOnOff (sID, iZindexOn, iZindexOff){
	if(!sID)return
	var thisObj = getObject(sID,true);
	if(thisObj.display != 'none'){
		 setDisplayOff(sID, iZindexOff)
	}
	else{
		setDisplayOn(sID, iZindexOn)
	} 
}
function getDisplay(sID){
	if(!sID)return
	var thisObj = getObject(sID,true);
	return thisObj.display;
}
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
/*** Get Parent element ***/
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
function getParentObject(oThisObj, sIdToFind){
	var topElement = isN6? "HTML" : "BODY";

	while (oThisObj.tagName != topElement && oThisObj.id != sIdToFind){
		oThisObj = isN6? oThisObj.parentNode : oThisObj.parentElement;
	}
	if (oThisObj.id == sIdToFind){
		return oThisObj;
	}
	else
		return null;
}
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
function getObjOffsetWidth(sID){
	var thisObj = getObject(sID,false);
	if (isN4)
		return thisObj.document.width;
	else {
		return thisObj.offsetWidth;
	}
}
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
function getObjOffsetHeight(sID){
	var thisObj = getObject(sID,false);
	if (isN4)
		return thisObj.document.height;
	else {
		return thisObj.offsetHeight;
	}
}
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
function getObjOffsetTop(sID){
	var thisObj = getObject(sID,false);
	if (isN4)
		return thisObj.document.top;
	else {
		return thisObj.offsetTop;
	}
}
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
function getObjOffsetLeft(sID){
	var thisObj = getObject(sID,false);
	if (isN4)
		return thisObj.document.left;
	else {
		return thisObj.offsetLeft;
	}
}
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
/*** Get The left position of an Object ***/
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
function getObjWindowOffsetLeft(sID){
	var thisObj = getObject(sID,false);
	if (isN4){
		return thisObj.x;
	}
	else{
		var iLeft = 0;
		do{
			iLeft += thisObj.offsetLeft;
			if (thisObj.tagName == 'BODY')
				break;
			thisObj = thisObj.offsetParent;//thisObj.parentNode;
		}
		while (true)
		return iLeft;
	}
}
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
/*** Get The left position of an Object ***/
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
function getObjWindowOffsetTop(sID){
	var thisObj = getObject(sID,false);
	if (isN4)
		return thisObj.y;
	else{
		var iTop = 0;
		do{
			iTop += thisObj.offsetTop;
			if (thisObj.tagName == 'BODY')
				break;
			thisObj = thisObj.offsetParent;//thisObj.parentNode;
		}
		while (true)
		return iTop;
	}
}
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
/*** Move an object to. ***/
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
function moveTo(sID,iX,iY){
	if (isN4){
		var thisObj = getObject(sID,true);
		thisObj.moveTo(iX,iY);
	}
	else{
		if (iX)
			setObjLeft(sID,  iX);
		if (iY)
			setObjTop(sID,  iY);
	}
}
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
/*** Move an object by. ***/
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
function moveBy(sID,iX,iY){
	var thisObj = getObject(sID,true);
	if (isN4)
		thisObj.moveBy(iX,iY);
	else{
		setObjLeft(sID,  getObjLeft(sID)+iX)
		setObjTop(sID,  getObjTop(sID)+iY)
	}
}
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
/*** Get/SET The left position of an Object ***/
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
function getObjLeft(sID){
	var thisObj = getObject(sID,false);
	if (isN4)
		return thisObj.left;
	else if (isMac && !isOp && !isN6){
		var iLeft = thisObj.offsetParent.leftMargin || 0;
		return parseInt(iLeft)+thisObj.offsetLeft;
	}
	else {
		return thisObj.offsetLeft;
	}
}
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
function setObjLeft(sID, iValue){
	if (!iValue && iValue != 0) return;
	var thisObj = getObject(sID,true);
	thisObj.left = iValue+sPx;
	//var thisObj = getObject(sID,true);
	//if (isN4)
	//	thisObj.left = vValue;
	//else{
	//	thisObj.left = vValue;
	//}
}
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
/*** Get/SET The top position of an Object ***/
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
function getObjTop(sID){
	var thisObj = getObject(sID,false);
	if (isN4)
		return thisObj.top;
	else if (isMac && !isOp && !isN6){
		var iTop = thisObj.offsetParent.topMargin || 0;
		return parseInt(iTop)+thisObj.offsetTop;
	}
	if (isOp5){
		return thisObj.style.top;
	}
	else {
		return thisObj.offsetTop;
	}
}
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
function setObjTop(sID, iValue){
	if (!iValue && iValue != 0) return;
	var thisObj = getObject(sID,true);
	thisObj.top = iValue+sPx;
	//if (isN4)
	//	//thisObj.height = iValue;
	//	thisObj.clip.height = iValue;
	//else if (isOp){
	//	thisObj.pixelHeight = iValue;
	//}
	//else{
	//	thisObj.height = iValue;
		//thisObj.clientHeight = iValue;
	//}
}
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
/*** Get/Set The Height of an Object ***/
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
function getObjHeight(sID){
	var thisObj = getObject(sID,false);
	if (isN4){
		return thisObj.clip.height;
	}
	else if (isKonq){
		return parseInt(thisObj.style.height);
	}
	else{
		return (thisObj.style.height)? parseInt(thisObj.style.height) : (thisObj.offsetHeight) ;
		//return (thisObj.offsetHeight);
	}
}
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
function setObjHeight(sID, iValue){
	if (!iValue && iValue != 0) return;
	//alert('ddd')
	var thisObj = getObject(sID,true);
	//var thisObj = (typeof(sID) == 'string')?getObject(sID,true):getObjectStyle(sID);
	if (isN4)
		//thisObj.height = iValue;
		thisObj.clip.height = iValue;
	else if (isOp){
		thisObj.pixelHeight = iValue;
	}
	else{
		thisObj.height = iValue;
		//thisObj.clientHeight = iValue;
	}
}
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
/*** Get/SET The width of an Object ***/
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
function getObjWidth(sID){
	var thisObj = getObject(sID,false);
	if (isN4)
		//return thisObj.height;
		return thisObj.clip.width;
	else if (isKonq){
		return parseInt(thisObj.style.width);
	}
	else{
		return (thisObj.offsetWidth) || (thisObj.width);
		//return (thisObj.width)
		//return thisObj.clientWidth;
	}
}
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
function setObjWidth(sID, iValue){
	if (!iValue && iValue != 0) return;
	var thisObj = (typeof(sID) == 'string')?getObject(sID,true):getObjectStyle(sID);
	if (isN4)
		//thisObj.height = iValue;
		thisObj.clip.width = iValue;
	else if (isOp){
		thisObj.pixelWidth = iValue;
	}
	else{
		thisObj.width = iValue;
		//thisObj.clientHeight = iValue;
	}
}
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
/*** SET OPACITY ***/
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
function setObjOpacity(sID, iValue){
	if (!iValue && iValue != 0) return;
	var thisObj = getObject(sID,true);
	if(isIE5)
		thisObj.style.filter = 'alpha(opacity='+ iValue +')';
	else if(isN6 || isN61)
		thisObj.style.MozOpacity = iValue/100;
}

/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
/*** Get Usable width of a window ***/
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
function getWindowInnerWidth(){
	if (isN4 || isN6)
		return window.innerWidth;
	else{
		return document.body.clientWidth;
	}
}
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
/*** Get Usable height of a window ***/
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
function getWindowInnerHeight(){
	if (isN4)
		return window.innerHeight;
	else if (isN6)
		return window.innerHeight-18;
	else{
		return document.body.clientHeight;
	}
}
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
/*** GET SCROLLING INFO ***/
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
function getScrollY(){
	//if (isN4)
	//	return window.pageYOffset ;
	//if (isN6)
	//	return window.innerHeight-18;
	//else{
		return document.body.scrollTop  ;
	//}
}
function getScrollY(){
	if (isN && isMac){
		return pageYOffset  ;
	}
	else{
		return document.body.scrollTop  ;
	}
}
function getScrollX(){
	if (isN && isMac){
		return pageXOffset  ;
	}
	else{
		return document.body.scrollLeft  ;
	}
}
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
/*** set window status ***/
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
function setWindowStatus(sMessage){
	window.status = sMessage;
	return true;
}
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
/*** Get kEYPRESSED ***/
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
function getKeyPressed(el){
}
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
/*** SET BORDER ***/
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
function setBorder(sID, sLeft, sTop, sRight, sBottom){
//	alert(typeof(sID))
	var thisObj = getObject(sID,true);
	thisObj.borderLeft				= sLeft;
	thisObj.borderTop				= sTop
	thisObj.borderRight			= sRight;
	thisObj.borderBottom		= sBottom;
	//thisObj.border = sLeft + ' ' +sTop + ' ' +sRight + ' ' +sBottom;
}
/**********************************************************
***********************************************************
*  Copyright 2004 (c) Aumediage S.P.R.L. All Rights Reserved.								*
*  This is a commercial software product, please visit												*
*  http://www.aumediage.net for more information. or send email to					*
*  aumediage@hotmail.com																						*
*  See http://www.aumediage.net for Commercial License Agreement				*
*  All Copyright statements must always remain in place in all files at all times	*
*		***** PLEASE NOTE: THIS IS NOT FREE SOFTWARE	*****						*
*				*****	IT MUST BE LICENSED FOR ALL USE	*****								*
*																																	*
************************************************************
***********************************************************/
