function ge(n){
	return document.getElementById(n);
}

try{
	document.execCommand("BackgroundImageCache",false,true);
}
catch(e){};

getOffset = function(o){
	for(var r = {x: o.offsetLeft, y: o.offsetTop, h: o.offsetHeight, w: o.offsetWidth};
	o = o.offsetParent; r.x += o.offsetLeft, r.y += o.offsetTop);
	return r;
}

function findAncestor(o, tag){
	for(tag = tag.toLowerCase(); o = o.parentNode;)
		if(o.tagName && o.tagName.toLowerCase() == tag)
			return o;
	return null;
}

function popUp(url,x,y,hasScroll) {
	window.open(url,'popUp','status=yes,resizable=no,width='+x+',height='+y+',scrollbars='+hasScroll);
}

function changeClass(objeto,classe) {
	ge(objeto).className=classe;
}

function flashObj(id, last){
	var a, o;
	if(id)
		(o = ge(id)) && (a = o.outerHTML) && (o.outerHTML = a);
	else if(last)
		(o = document.getElementsByTagName("object")) && (a = (o = o[o.length - 1]).outerHTML) && (o.outerHTML = a);
	else
		for(var i = (o = document.getElementsByTagName("object")).length; i--;)
			(a = o[i].outerHTML) && (o[i].outerHTML = a);
}

function imgReplace(img_url){
	var floatimg = ge("floatimg");
	floatimg.setAttribute("src", img_url);

}
function showHide(objeto,opcao) {
 var obj = ge(objeto);
 obj.style.display = opcao;
}
function simpleShowHide(objeto) {
 var obj = ge(objeto);
 if(obj.style.display == 'none' || !obj.style.display) {
 obj.style.display = 'block';
 } else {
 obj.style.display = 'none';
 }
}

function controlShowHide(){
 for(var x=0;x<arguments.length;x++){
 var obgArgs = arguments[x].match(/(.*)\[(.*)](.*)/);
 var obj = obgArgs[1], arg = obgArgs[2].split(',');
 for(y in arg){
 var temp = arg[y].split(':');
 if(temp[1]) ge(obj).timer = setTimeout('controlShowHide("'+obj+'['+temp[0]+']")',temp[1]);
 else if(arg[y] == 'toogle') simpleShowHide(obj);
 else if(arg[y] == 'show' || arg[y] == 'hide') showHide(obj,arg[y] == 'show'?'block':'none');
 else if(arg[y] == 'reset') clearTimeout(ge(obj).timer);
 else setTimeout(arg[y],1);
 }
 }
}

function copyHTML(toobj,obj){
 var toobj = (typeof(toobj)).toLowerCase() == 'string'?ge(toobj):toobj;
 var obj = (typeof(obj)).toLowerCase() == 'string'?ge(obj):obj;
 toobj.innerHTML = obj.innerHTML;
}