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;
		}
	};
}

String.prototype.format = function(casas) {
	var ret = new String('');
	while (ret.length < (casas-this.toString().length)) ret += '0';
	return ret+this;
};

/*utilizado no calendario*/
Date.prototype.getString = function() {
	return this.getDate().toString().format(2)+'/'+(this.getMonth()+1).toString().format(2)+'/'+this.getFullYear();
};


function SnapXY(strObjListener, strObjSnap, valorAdicX, valorAdicY)
{
	var d = "$('" + strObjListener + "')";
	var OSnapStl = $(strObjSnap).style;

	var tx = 1;
	var p = "";
	var x = 0;
	var y = 0;
		
	while (tx == 1)
	{
		p += ".offsetParent";

		if (eval(d+p)) {
			x += parseInt(eval(d + p + ".offsetLeft"));
			y += parseInt(eval(d + p + ".offsetTop"));
		} else tx = 0;
	}

	OSnapStl.left = parseInt(x+valorAdicX)+"px";
	OSnapStl.top = parseInt(y+valorAdicY)+"px";
	
	return false;
}

function mostraFlash(id, swf, width, height)
{
	var so = new SWFObject(swf, id+"movie", width, height, "8", "transparent", true);
	so.addParam("scale", "noscale");
	so.addParam("wmode", "transparent");
	so.write(id);
}


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;	
	}
}
/***********************************************************/

