﻿function MagicLoader(divID)
{
	// Propriedades
	var Div
	
	// Métodos
	this.Show = function()
	{
		Div.style.display = ''
	}
	
	this.Hide = function()
	{
		Div.style.display = 'none'
	}
	
	this.ShowHide = function()
	{
		Div.style.display = (Div.style.display == '') ? 'none' : ''
	}
	
	// Inicialização
	if(typeof(divID) == "string")
		Div = document.getElementById(divID)
	else
		Div = divID
		
	Div.style.display = 'none'
}

function DivScroll(divID, scrollSize, scrollTime, dirID, esqID, tipo)
{
	// Propriedades
	var frameTime = 33
	
	var Div
	var Dir
	var Esq
	var ScrollSize
	var ScrollTime
	
	var Interval
	var nUpdate
	var nUpdateAtual = 0
	
	var wRatio
	var wTarget
	
	// Métodos
	this.MoveLeft = function()
	{
		if(Interval != undefined)
			return
	
		nUpdate = parseInt(ScrollTime / frameTime)
		wRatio = -(ScrollSize / nUpdate)
		wTarget = Div.scrollLeft - ScrollSize
		Interval = window.setInterval('UpdateLeftRight()', frameTime)
	}
	
	this.MoveRight = function()
	{
		if(Interval != undefined)
			return
	
		nUpdate = parseInt(ScrollTime / frameTime)
		wRatio = ScrollSize / nUpdate
		wTarget = Div.scrollLeft + ScrollSize
		Interval = window.setInterval('UpdateLeftRight()', frameTime)
	}
	
	this.MoveUp = function()
	{
		if(Interval != undefined)
			return
	
		nUpdate = parseInt(ScrollTime / frameTime)
		wRatio = -(ScrollSize / nUpdate)
		wTarget = Div.scrollTop - ScrollSize
		Interval = window.setInterval('UpdateUpDown()', frameTime)
	}
	
	this.MoveDown = function()
	{
		if(Interval != undefined)
			return
	
		nUpdate = parseInt(ScrollTime / frameTime)
		wRatio = ScrollSize / nUpdate
		wTarget = Div.scrollTop + ScrollSize
		Interval = window.setInterval('UpdateUpDown()', frameTime)
	}
	
	UpdateLeftRight = function()
	{
		if(nUpdateAtual >= nUpdate)
		{
			FinalizarLeftRight()
			return
		}
		
		nUpdateAtual++
		Div.scrollLeft += wRatio
		
		if(Div.scrollLeft == (Div.scrollWidth - Div.offsetWidth) || Div.scrollLeft == 0)
		{
			FinalizarLeftRight()
		}
	}
	
	UpdateUpDown = function()
	{
		if(nUpdateAtual >= nUpdate)
		{
			FinalizarUpDown()
			return
		}
		
		nUpdateAtual++
		Div.scrollTop += wRatio
		
		if(Div.scrollTop == (Div.scrollHeight - Div.offsetHeight) || Div.scrollTop == 0)
		{
			FinalizarUpDown()
		}
	}
	
	FinalizarLeftRight = function()
	{
		window.clearInterval(Interval)
		Interval = undefined
		nUpdateAtual = 0
		
		Div.scrollLeft = wTarget
	}
	
	FinalizarUpDown = function()
	{
		window.clearInterval(Interval)
		Interval = undefined
		nUpdateAtual = 0
		
		Div.scrollTop = wTarget
	}
	
	//Inicialização
	if(typeof(divID) == "string")
		Div = document.getElementById(divID)
	else
		Div = divID
		
	if(typeof(dirID) == "string")
		Dir = document.getElementById(dirID)
	else
		Dir = dirID
		
	if(typeof(esqID) == "string")
		Esq = document.getElementById(esqID)
	else
		Esq = esqID
	
	Esq.style.cursor = "pointer"
	Dir.style.cursor = "pointer"
	
	if(tipo != 'vert')
	{	    
	    Dir.onclick = this.MoveRight
	    Esq.onclick = this.MoveLeft
	}
	else
	{	    
	    Dir.onclick = this.MoveDown
	    Esq.onclick = this.MoveUp
	}
		
	ScrollSize = scrollSize
	ScrollTime = scrollTime
}

function fecharDIV() {
    document.getElementById('fita').style.display = 'none';
}