function $(id){return document.getElementById(id);}

if(typeof HTMLElement!="undefined" && !HTMLElement.prototype.insertAdjacentElement){
	HTMLElement.prototype.insertAdjacentHTML = function (sWhere, sHTML) {
		var df;   // : DocumentFragment
		var r = this.ownerDocument.createRange();

		switch (String(sWhere).toLowerCase()) {  // convert to string and unify case
		case "beforebegin":
			r.setStartBefore(this);
			df = r.createContextualFragment(sHTML);
			this.parentNode.insertBefore(df, this);
			break;

		case "afterbegin":
			r.selectNodeContents(this);
			r.collapse(true);
			df = r.createContextualFragment(sHTML);
			this.insertBefore(df, this.firstChild);
			break;

		case "beforeend":
			r.selectNodeContents(this);
			r.collapse(false);
			df = r.createContextualFragment(sHTML);
			this.appendChild(df);
			break;

		case "afterend":
			r.setStartAfter(this);
			df = r.createContextualFragment(sHTML);
			this.parentNode.insertBefore(df, this.nextSibling);
			break;
		}
	};
}

function hideSelect() {
	var elems = document.getElementsByTagName("select");
	for (var x=0; x<elems.length; x++) elems[x].style.display = "none";
}

function showSelect() {
	var elems = document.body.getElementsByTagName("select");
	for (var x=0; x<elems.length; x++) elems[x].style.display = "inline";
}



/*********************************EVENTOS*********************************/
function addEvent(obj, evType, fn){ 
	obj = $(obj);
	if (obj.addEventListener){ 
		obj.addEventListener(evType, fn, false); 
		return true; 
	} else if (obj.attachEvent){ 
		var r = obj.attachEvent("on"+evType, fn); 
		return r; 
	} else { 
		return false; 
	} 
}

function cancelCascataEvento(e) {
	if (e != null) {
		if (is_ie) {
			e.cancelBubble = true;
		} else {
			e.stopPropagation();
		}
	}
};
/*************************************************************************/



/*************************DIMENSÕES*************************/
unitsWindow = function() {
	// Variáveis utilizadas no objeto
	var yScroll = new Number(0);		//posição Y do scroll
	var xScroll = new Number(0);		//posição X do scroll
	var wndWidthVis = new Number(0);	//width janela, visível
	var wndHeightVis = new Number(0);	//height janela, visível
	var wndWidthHid = new Number(0);	//width janela, tamanho total visível + invisível
	var wndHeightHid = new Number(0);	//height janela, tamanho total visível + invisível
	
	this.widthVisible = function() {
		return wndWidthVis;
	}

	this.heightVisible = function() {
		return wndHeightVis;
	}

	this.widthTotal = function() {
		return wndWidthHid;
	}

	this.heightTotal = function() {
		return wndHeightHid;
	}

	this.posScrollY = function() {
		if (self.pageYOffset) yScroll = self.pageYOffset;
		else if (document.documentElement && document.documentElement.scrollTop) yScroll = document.documentElement.scrollTop; 
		else if (document.body) yScroll = document.body.scrollTop;

		return yScroll;
	}

	this.posScrollX = function() {
		if (self.pageXOffset) xScroll = self.pageXOffset;
		else if (document.documentElement && document.documentElement.scrollLeft) xScroll = document.documentElement.scrollLeft; 
		else if (document.body) xScroll = document.body.scrollLeft; 

		return xScroll;
	}

	this.scrollToTop = function() {
		if (self.pageYOffset) self.pageYOffset = 0;
		else if (document.documentElement && document.documentElement.scrollTop) document.documentElement.scrollTop = 0; 
		else if (document.body) document.body.scrollTop = 0;

		return yScroll;
	}

	this.load = function() {
		if (window.innerWidth) wndWidthVis = window.innerWidth;
		else if (document.documentElement && document.documentElement.clientWidth) wndWidthVis = document.documentElement.clientWidth;
		else if (document.body) wndWidthVis = document.body.clientWidth;

		if (window.innerHeight) wndHeightVis=window.innerHeight;
		else if (document.documentElement && document.documentElement.clientHeight) wndHeightVis=document.documentElement.clientHeight;
		else if (document.body) wndHeightVis=document.body.clientHeight;
	
		wndWidthHid = document.body.clientWidth;

		wndHeightHid = document.body.clientHeight;	
	}
}
/***********************************************************/




/*formularios*/
function verifica_email(str_email){
if (str_email.search(/^[a-zA-Z0-9]+[_a-zA-Z0-9-]*(\.[_a-z0-9-]+)*@[a-z?G0-9]+(-[a-z?G0-9]+)*(\.[a-z?G0-9-]+)*(\.[a-z]{2,4})$/) != -1) return true;
else return false;
}