function showTab(theTab,thePanel) {
	var theTabs = theTab.parentNode.parentNode.getElementsByTagName('th')
	for(i = 0;i < theTabs.length;i++) {
		if(theTabs[i].className != 'tabTitle') {
			theTabs[i].className = '';
		}
	}
	
	var thePanels = theTab.parentNode.parentNode.parentNode.getElementsByTagName('tr')
	for(i = 0;i < thePanels.length;i++) {
		if(thePanels[i].className != 'tabHeader' && thePanels[i].id.indexOf('pnl') != -1) {
			thePanels[i].style.display = 'none';
		}
		else {
		var strDisplayAs = thePanels[i].style.display
		}
	}
	
	theTab.parentNode.className = 'tabActive';
	thePanel.style.display = strDisplayAs;
	return false;
}

function windowOpener(winURL,winName,winX,winY,Scroll) {
	winPos = (screen.width / 2) - (winX / 2);
	winTop = (screen.height / 2) - (winY / 2);

	if(winTop < 0) { 
		winTop = 0;
	}	
	window.open(winURL,winName,"width=" + winX + ",height=" + winY + ",left=" + winPos + ",toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=" + Scroll + ",resizable=1");
	return false;
}

function openHelp(strTopic, helpPage) {
	strURL = helpPage + ".html#" + strTopic

	if(window.screen) {
		winX = 250
		winY = screen.height - 60
		winPos = screen.width - (winX + 10);
		winTop = 0
	}
	else {
		winX = 250
		winY = 500
		winPos = 200
		winTop = 20
	}
		
	newwindow = window.open(strURL,"Help","width=" + winX + ",height=" + winY + ",left=" + winPos + ",top=" + winTop + ",top=" + winTop + ",toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=1,resizable=1");
		
	if (newwindow || !newwindow.closed) {
		newwindow.Refresh();
		newwindow.focus();
	}
}

function ValidateForm(rulesArray) {
	if (rulesArray != null) {
		if (rulesArray.length > 0) {
			var ruleElement;
			
			for (var i = 0; i < rulesArray.length; i++){
			
				ruleElement = window.document.getElementById(rulesArray[i][0]);
				if (ruleElement != null) {
					//Set the div text and visibility
					ruleElement.style.display = "block";
					ruleElement.innerHTML = rulesArray[i][1];
				}
			}
		}
	}
	return true;
}

var objFocus = 'undefined';
var bitTip = false;

function setTips() {
	var arrTools = getElementsByClassName('*','tool');
	for(var i = 0;i < arrTools.length;i++) {
		arrTools[i].onmouseover = function() {
			if(objFocus == 'undefined' &! bitTip) {
				showTip(this);
			}
		}
		arrTools[i].onfocus = function() {
			objFocus = this;
			if(!bitTip) {
				showTip(this);
			}
		}
		arrTools[i].onmouseout = function() {
			if(objFocus == 'undefined' && bitTip) {
				hideTip();
			}
		}
		arrTools[i].onblur = function() {
			objFocus = 'undefined';
			if(bitTip) {
				hideTip();
			}
		}
	}
}

function showTip(objTool) {
	var objTip = document.getElementById('divToolTip')
	var arrPos = findPos(objTool);
	objTip.style.left = arrPos[0] + 20 + 'px';
	objTip.style.top = arrPos[1] - 1 + objTool.offsetHeight + 'px';
	objTip.innerHTML = objTool.title;
	objTip.className = objTool.id;
	objTip.style.display = 'block';
	objTool.title = '';
	bitTip = true;
}

function hideTip() {
	var objTip = document.getElementById('divToolTip')
	document.getElementById(objTip.className).title = objTip.innerHTML;
	objTip.style.display = 'none';
	bitTip = false;
}

function getElementsByClassName(strTagName, strClassName){
	var arrElements = (strTagName == "*" && document.all)? document.all : document.getElementsByTagName(strTagName);
	var arrReturnElements = new Array();
	strClassName = strClassName.replace(/\-/g, "\\-");
	var oRegExp = new RegExp("(^|\\s)" + strClassName + "(\\s|$)");
	var oElement;
	for(var i=0; i<arrElements.length; i++){
		oElement = arrElements[i];      
		if(oRegExp.test(oElement.className)){
			arrReturnElements.push(oElement);
		}   
	}
	return (arrReturnElements)
}

function findPos(obj) {
	var curleft = curtop = 0;
	if (obj.offsetParent) {
		curleft = obj.offsetLeft
		curtop = obj.offsetTop
		while (obj = obj.offsetParent) {
			curleft += obj.offsetLeft
			curtop += obj.offsetTop
		}
	}
	return [curleft,curtop];
}

function setOpacity(obj,opacity) {
	opacity = (opacity == 100)?99.999:opacity;
	if (typeof(obj) == 'object' && obj.style) {
		if (obj.style.MozOpacity!=null) {  
			obj.style.MozOpacity = (opacity/100) - .001;
		} 
		else if (obj.style.opacity!=null) {
			obj.style.opacity = (opacity/100) - .001;
		} 
		else if (obj.style.filter!=null) {
			obj.style.filter = "alpha(opacity="+opacity+")";
		}
	}
}
	
function getOpacity(obj) {
	var opactiy = 100;
	if (typeof(obj) == 'object' && obj.style) {
		if (obj.style.MozOpacity!=null) {  
			opactiy = parseInt((obj.style.MozOpacity*100) + .001);
		} 
		else if (obj.style.opacity!=null) {
			opactiy = parseInt((obj.style.opacity*100) + .001);
		} 
		else if (obj.style.filter!=null) {
			opactiy = obj.filters.item("alpha").opacity;
		}
	}
	return opactiy;
}

function setDynamicWidth() {
	var intContentWidth = document.getElementById('divContent').offsetWidth;
	if(intContentWidth < 500) {
		var arrDynamicColumns = getElementsByClassName('*','dynamic');
		for(var i = 0;i < arrDynamicColumns.length;i++) {
			arrDynamicColumns[i].style.width = '100%';
		}
	}
}

function toggleElementDisplay(elementID) {
    var element = document.getElementById(elementID);
    if (element.style.display == 'block') {
        element.style.display = 'none';
    } else {
        element.style.display = 'block';
    }
}

function highlight(element, className, add) {
    if (add) {
        $(element).addClass(className);
    } else {
        $(element).removeClass(className);
    }
}