function getKey(event){
	return event ? (event.keyCode ? event.keyCode : (event.which ? event.which : event.charCode)) : null;
}

function getKeyCode(event){
	if (window.event) {
		return window.event.keyCode;
	} else if (event) {
		return event.which;
	}
	return -1;
}

function clickBtnLOV(campoValue, idLov, idHidden, idBtn){
	var idValue = campoValue.id;
	var idx = idValue.indexOf(idLov);
	var prefix = idValue.substring(0, idx);
	var campoHidden = document.getElementById(prefix + idHidden);
	var btn = document.getElementById(prefix + idBtn);
	if (campoValue.value != '') {
		if (campoValue.value != campoHidden.value) {
			btn.click();
		}
	} else {
		var btnLimpar = document.getElementById(prefix + idLov + '_btnLimp');
		if (btnLimpar != null) {
			if (campoValue.value != campoHidden.value) {
				btnLimpar.click();
			}
		} else {
			campoValue.value = campoHidden.value;
		}
	} 
}

function nlPopupInfoShow(comp){
	var idComp = comp.id;
	alert(idComp);
	var popupInfoWindow = document.getElementById(idComp + '_popupInfo');
	
	popupInfoWindow.style.visibility = 'visible';
}

var scrollInterval;

function scrollTop(){
	body = document.body
	d = document.documentElement
	if (body && body.scrollTop) { return body.scrollTop} 
	if (d && d.scrollTop) { return d.scrollTop} 
	if (window.pageYOffset) { return window.pageYOffset} 
	return 0;
}

function scrollSmooth(d){
	a = scrollTop();
	if (d > a) {
		a += Math.ceil((d - a) / 20);
	} else {
		a = a + ((d - a) / 20);
	}
	window.scrollTo(0, a);
	if (a == d || _offsetTop == a) {
		clearInterval(scrollInterval);
	}
	_offsetTop = a;
}

function scrollToElement(theElement){
	var selectedPosX = 0;
	var selectedPosY = 0;
	
	while (theElement != null) {
		selectedPosX += theElement.offsetLeft;
		selectedPosY += theElement.offsetTop;
		theElement = theElement.offsetParent;
	}
	_offsetTop = 0;
	if(scrollInterval) {
		clearInterval(scrollInterval);
	}
	scrollInterval = setInterval('scrollSmooth(' + selectedPosY + ')', 10);
}

function scrollToPosition(_pos){	
	window.scrollTo(0, _pos);
}

function iecompattest(){
	return (document.compatMode && document.compatMode.indexOf("CSS") != -1) ? document.documentElement : document.body;
}

function _preventDefault(e){
	if (!e) { return; }
	
	try {
		e.returnValue = false;
		e.cancelBubble = true;
		
		if (document.all) {
			e.keyCode = 0;
		} else {
			e.preventDefault();
			e.stopPropagation();
		}
	} catch (ex) {
	
	}
}

function nl$(element){
	if (arguments.length > 1) {
		for (var i = 0, elements = [], length = arguments.length; i < length; i++) {elements.push(nl$(arguments[i]));}
		return elements;
	}
	if (typeof element == 'string'){element = document.getElementById(element);}
	return element;
}
