/** The code contained in these documents are not for distribution.  They are only permitted to be used by Transglobal. **/

var browser=navigator.appName;
var browserVersion=navigator.appVersion;
var isNetscape = browser == "Netscape";
var isIE = browser == "Microsoft Internet Explorer";

function showElement(element) {
	element.style.visibility = "visible";
	element.style.display = "";
}

function hideElement(element) {
	element.style.visibility = "hidden";
	element.style.display = "none";
}

function isChildOf(child, parent) {
    if(parent == child) {
         return true;
    }

    for(var i=0;i<parent.childNodes.length;i++) {
        var currChild = parent.childNodes[i];
        if(isChildOf(child, currChild)) {
            return true;
        }
    }
    
    return false;
}

function isInt(obj) {
	if(obj == null) {
		return false;
	}
	
	try {
		parseInt(obj);
		
		return true;
	} catch(err) { }
	
	return false;
}

function arrayContains(a, obj) {
	var i = a.length;  
	while (i--) {    
		if (a[i] == obj) {
			return true;    
		}  
	}  
	return false;
}

function getSrcElement(e) {
	if(isNetscape) {
		return e.target;
	}
	
	return e.srcElement;
}

function instanceOf(object, constructorClass) {
	while (object != null) {
		if (object == constructorClass.prototype) {
			return true;
		}
		
		object = object.__proto__;
	}
	return false;
}

function extendFileName(fileName, extension) {
	var dotPos = fileName.indexOf(".");
	return fileName.substring(0, dotPos) + extension + fileName.substring(dotPos);
}

function disableSelection(element, recurse) {
	if(recurse == null) {
		recurse = false;
	}
	
	var elements = element.getElementsByTagName("*");
	for(var i=0;i<elements.length;i++) {
		var element = elements[i];
		if(isNetscape) {
			if(element.onmousedown == null && element.onclick == null) {
				element.onmousedown = new Function("return false");
				element.onclick = new Function("return true");
			}
		} else {
			if(element.onselectstart == null) {
				element.onselectstart=new Function ("return false")
			}
		}
		
		if(recurse) {
			disableSelection(element);
		}
	}
	
}

function addArrays(arr1, arr2) {
	var newArray = new Array(arr1.length + arr2.length);
	var storeIndex = 0;
	for(var i=0;i<arr1.length;i++) {
		newArray[storeIndex] = arr1[i];
		storeIndex++;
	}
	for(var i=0;i<arr2.length;i++) {
		newArray[storeIndex] = arr2[i];
		storeIndex++;
	}
	
	return newArray;
}

function getElement(id){
	if(document.getElementById) { 
		return document.getElementById(id);    
	} else if(document.all) { 
		return document.all[id]; 
	} else if(document.layers) { 
		return document.layers[id];
	} else { 
		return null;
	}
}

function getDocumentBody() {
	return (!window.opera && document.compatMode && document.compatMode != "BackCompat") ? document.documentElement : document.body;
}

function getElementPosX(element) {
	var x = 0;
	do {
		x += element.offsetLeft;
	} while (element = element.offsetParent);
	
	return x;
}

function getElementPosY(element) {
	var y = 0;
	do {
		y += element.offsetTop;
	} while (element = element.offsetParent);
	
	return y;
}
