var larguraConteudo;
var larguraJanela;

var alturaConteudo;
var alturaJanela;

function scroll_init(id, largura, altura) {
	var tag = _get(id);	
	if (tag) {
		
		var div1 = document.createElement('div');	
		var div2 = document.createElement('div');	
		div1.style.width = largura + 'px';
		div1.style.height = altura + 'px';
		div1.style.overflow = 'hidden';	
		div1.appendChild(div2);	
		if (tag.hasChildNodes()) {
			while (tag.hasChildNodes())
				div2.appendChild(tag.removeChild(tag.firstChild))
			tag.appendChild(div1);
		}
		else {
			tag.parentNode.replaceChild(div1, tag);
			div2.appendChild(tag);
		}
		
		larguraConteudo = div1.scrollWidth;
		larguraJanela = largura;
		
		alturaConteudo = div1.scrollHeight;
		alturaJanela = altura;
		
		tag.style.display = '';
		
		/*
		if(div1.scrollWidth  > largura){
			document.getElementById('rolagem_esq').style.display='';
			document.getElementById('rolagem_dir').style.display='';
		}else{
			document.getElementById('rolagem_esq').style.display='none';
			document.getElementById('rolagem_dir').style.display='none';
		}*/
	}
}

function scroll_start(id, horizontal, vertical) {

	var tag = _get(id);
	var div1, div2;

	if (tag.hasChildNodes())

		div2 = (div1 = tag.firstChild).firstChild;
	else
		div1 = (div2 = tag.parentNode).parentNode;

	var altura = div1.scrollHeight;

	if (tag.scroll_timer) window.clearInterval(tag.scroll_timer);
	tag.scroll_timer = window.setInterval(
		function() {
			var esquerda = parseInt(div2.style.marginLeft) || 0;
			var topo = parseInt(div2.style.marginTop) || 0;
		
			if (horizontal > 0){ 
				if (Math.abs(esquerda - horizontal) >= (larguraConteudo - larguraJanela)){
					div2.style.marginLeft = -(larguraConteudo - larguraJanela) + 'px';
				} else {
					div2.style.marginLeft = esquerda - horizontal + 'px';
				}
			} else if (horizontal < 0){
				if (esquerda - horizontal >= 0){
					div2.style.marginLeft = 0 + 'px';
				} else {
					div2.style.marginLeft = esquerda - horizontal + 'px';
				}
			}
			
			if (vertical > 0){ 
				if (Math.abs(topo - vertical) >= (alturaConteudo - alturaJanela)){
					div2.style.marginTop = -(alturaConteudo - alturaJanela) + 'px';
				} else {
					div2.style.marginTop = topo - vertical + 'px';
				}
			} else if (vertical < 0){
				if (topo - vertical >= 0){
					div2.style.marginTop = 0 + 'px';
				} else {
					div2.style.marginTop = topo - vertical + 'px';
				}
			}
			
			
		}, 50);
//	}
}

function scroll_stop(id) {
	var tag = _get(id);
	if (tag.scroll_timer) window.clearInterval(tag.scroll_timer);
	tag.scroll_timer = '';
}

function _get(id) {
	return document.getElementById && document.getElementById(id) || document.all && document.all[id];
}

//////////////////////////////////////////////////////////////////////////////////////////
