﻿function UtilsClass(){
	this.popupContainerName = "PopupContainer";
	this.popupOnClose = null;
}
function UtilsClass_alignElementRight(aObjSrc,aObjDest){
	aObjSrc.style.left = (this.getAbsoluteLeft(aObjDest) + aObjDest.offsetWidth - aObjSrc.offsetWidth).toString() + "px";
	aObjSrc.style.top = (this.getAbsoluteTop(aObjDest) + aObjDest.offsetHeight).toString() + "px";
}

function UtilsClass_alignElement(aObjSrc,aObjDest){
	aObjSrc.style.left = this.getAbsoluteLeft(aObjDest).toString() + "px";
	aObjSrc.style.top = (this.getAbsoluteTop(aObjDest) + aObjDest.offsetHeight).toString() + "px";
}
function UtilsClass_alignElementUp(aObjSrc,aObjDest){
	aObjSrc.style.left = (this.getAbsoluteLeft(aObjDest) + 80).toString() + "px";
	aObjSrc.style.top = (this.getAbsoluteTop(aObjDest)+30).toString() + "px";
}
function UtilsClass_getAbsoluteLeft(aobj) {
	var o = aobj;
	var oLeft = o.offsetLeft;  
	while(o.offsetParent!=null) {  
		oParent = o.offsetParent;  
		oLeft += oParent.offsetLeft;
		o = oParent;
	}
	return oLeft;
}
function UtilsClass_getAbsoluteTop(aobj) {
	var o = aobj;
	var oTop = o.offsetTop;       
	while(o.offsetParent!=null) {  
		oParent = o.offsetParent;  
		oTop += oParent.offsetTop;
		o = oParent;
	}
	return oTop;
}
function UtilsClass_ShowObject(o){
		o.style.visibility = "visible";
		o.style.display = "block";
}
function UtilsClass_HideObject(o){
	o.style.visibility = "hidden";
	o.style.display = "none";
}
function UtilsClass_IsVisible(o){
	return (o.style.display != "none");
}
function UtilsClass_ToggieObject(o){
	if (this.IsVisible(o))
		this.HideObject(o);
	else
		this.ShowObject(o);
}
function UtilsClass_ShowPopup(){
	var lDiv = document.getElementById(this.popupContainerName);
	this.ShowObject(lDiv);
}
function UtilsClass_HidePopup(){
	var lDiv = document.getElementById(this.popupContainerName);
	if (this.popupOnClose != null) this.popupOnClose();
	this.HideObject(lDiv);
}
function UtilsClass_SetPopupContent(aData){
	var lDiv = document.getElementById(this.popupContainerName);
	lDiv.innerHTML = aData;
}
UtilsClass.prototype.ShowElement = function(e){
	this.ShowObject(document.getElementById(e));
}
UtilsClass.prototype.HideElement = function(e){
	this.HideObject(document.getElementById(e));
}
UtilsClass.prototype.ToggieElement = function(e){
	this.ToggieObject(document.getElementById(e));
}
UtilsClass.prototype.disableSubmit = function(e,aPtr){
	var characterCode;

	if(e && e.which){ 
		e = e;
		characterCode = e.which;
	}else{
		e = window.event;
		characterCode = e.keyCode;
	}
	if(characterCode == 13){
		e.cancelBubble = true;
		if (aPtr != null) aPtr();
		return false;
	}
	return true;
}
function ExpandTreeView(o,expand){
	for (var i=0;i < o.AllNodes.length;i++){
		if (expand)
			o.AllNodes[i].Expand();
		else
			o.AllNodes[i].Collapse();
	}
}


UtilsClass.prototype.alignElement = UtilsClass_alignElement;
UtilsClass.prototype.alignElementRight = UtilsClass_alignElementRight;
UtilsClass.prototype.alignElementUp = UtilsClass_alignElementUp;
UtilsClass.prototype.getAbsoluteLeft = UtilsClass_getAbsoluteLeft;
UtilsClass.prototype.getAbsoluteTop = UtilsClass_getAbsoluteTop;
UtilsClass.prototype.ToggieObject = UtilsClass_ToggieObject;
UtilsClass.prototype.ShowObject = UtilsClass_ShowObject;
UtilsClass.prototype.HideObject = UtilsClass_HideObject;
UtilsClass.prototype.IsVisible = UtilsClass_IsVisible;
UtilsClass.prototype.HidePopup = UtilsClass_HidePopup;
UtilsClass.prototype.ShowPopup = UtilsClass_ShowPopup;
UtilsClass.prototype.SetPopupContent = UtilsClass_SetPopupContent;