﻿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)
{
	// 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('document.getElementById(\'' + Div.id + '\').DivScroll.Update()', frameTime)
	}
	
	this.MoveRight = function()
	{
		if(Interval != undefined)
			return
	
		nUpdate = parseInt(ScrollTime / frameTime)
		wRatio = ScrollSize / nUpdate
		wTarget = Div.scrollLeft + ScrollSize
		Interval = window.setInterval('document.getElementById(\'' + Div.id + '\').DivScroll.Update()', frameTime)
	}
	
	this.Update = function()
	{
		if(nUpdateAtual >= nUpdate)
		{
			this.Finalizar()
			return
		}
		
		nUpdateAtual++
		Div.scrollLeft += wRatio
		
		if(Div.scrollLeft == (Div.scrollWidth - Div.offsetWidth) || Div.scrollLeft == 0)
		{
			this.Finalizar()
		}
	}
	
	this.Finalizar = function()
	{
		window.clearInterval(Interval)
		Interval = undefined
		nUpdateAtual = 0
		
		Div.scrollLeft = wTarget
	}
	
	//Inicialização
	if(typeof(divID) == "string")
		Div = document.getElementById(divID)
	else
		Div = divID

	Div.DivScroll = this
		
	if(typeof(dirID) == "string")
		Dir = document.getElementById(dirID)
	else
		Dir = dirID
		
	if(typeof(esqID) == "string")
		Esq = document.getElementById(esqID)
	else
		Esq = esqID

	Dir.style.cursor = "pointer"
	Dir.onclick = document.getElementById(Div.id).DivScroll.MoveRight
	
	Esq.style.cursor = "pointer"
	Esq.onclick = document.getElementById(Div.id).DivScroll.MoveLeft
		
	ScrollSize = scrollSize
	ScrollTime = scrollTime
	
	Div.DivScroll = this
}
