///////////SCROLLDIV////////////
function initScroll(id, vel, setas)
{
	vel = 110-((vel < 10)?10:(vel > 100)?100:vel);
	var div = document.getElementById(id);
	var texto = $(div).html();
	$(div).html('<div id="overflow_'+id+'"></div>');
	$('#overflow_'+id).addClass('overflow').html('<div id="scroll_'+id+'"></div>');
	$('#scroll_'+id).addClass('scroll').html(texto);
	var largura = parseInt($('#overflow_'+id).css('width'));
	var altura = parseInt($('#overflow_'+id).css('height'));
	if(setas == 'v' || !setas)
	{
		$(div).append('<div id="setas-v_'+id+'"></div>');
		$('#setas-v_'+id).addClass('setas-v');
		$(document.createElement('a')).attr({id: 'seta-up_'+id, href: 'javascript: void(0);'}).bind('mousedown', function(){ scrollDiv('scroll_'+id, 'up', altura, vel); }).bind('mouseup mouseout', function(){ scrollDivStop('scroll_'+id); }).addClass('seta-up').appendTo('#setas-v_'+id);
		$(document.createElement('a')).attr({id: 'seta-down_'+id, href: 'javascript: void(0);'}).bind('mousedown', function(){ scrollDiv('scroll_'+id, 'down', altura, vel); }).bind('mouseup mouseout', function(){ scrollDivStop('scroll_'+id); }).addClass('seta-down').appendTo('#setas-v_'+id);
	}
	if(setas == 'h' || !setas)
	{
		$(div).append('<div id="setas-h_'+id+'"></div>');
		$('#setas-h_'+id).addClass('setas-h');
		$(document.createElement('a')).attr({id: 'seta-left_'+id, href: 'javascript: void(0);'}).bind('mousedown', function(){ scrollDiv('scroll_'+id, 'left', largura, vel); }).bind('mouseup mouseout', function(){ scrollDivStop('scroll_'+id); }).addClass('seta-left').appendTo('#setas-h_'+id);
		$(document.createElement('a')).attr({id: 'seta-right_'+id, href: 'javascript: void(0);'}).bind('mousedown', function(){ scrollDiv('scroll_'+id, 'right', largura, vel); }).bind('mouseup mouseout', function(){ scrollDivStop('scroll_'+id); }).addClass('seta-right').appendTo('#setas-h_'+id);
	}
}
function scrollDiv(id, dir, vis, vel)
{
	var qntd = 5;
	var div = document.getElementById(id);
	var pos = {'top': parseInt($(div).css('top')), 'left': parseInt($(div).css('left'))};
	var tam = {'top': parseInt($(div).height()), 'left': parseInt($(div).width())};
	var px = (dir == 'up' || dir == 'left')?qntd:-qntd;
	var key = (dir == 'up' || dir == 'down')?'top':'left';
	pos[key] = (parseInt(pos[key])+px);
	if(pos[key]+px > 0)
		pos[key] = 0;
	else if(vis-pos[key] > tam[key])
		pos[key] = (vis-pos[key]);
	if(pos[key] <= 0 && vis-pos[key] <= tam[key])
	{
		pos[key] = pos[key]+'px';
		$(div).animate(pos, vel, false, function(){ scrollDiv(id, dir, vis, vel); });
	}
}
function scrollDivStop(id)
{
	var div = document.getElementById(id);
	$(div).stop();
}
////////////////////////////////////

///////////SLIDESHOW////////////
var slide_id = 0;
var inter = {};
var timeout = {};
function initSlideShow(id, pos, tempo, tempofade, controls, opt)
{
	slide_id++;
	$('#'+id).append('<div class="rotator" />');
	if(controls === true && $('#'+id+' > div:hidden').length > 1)
	{
		$('#'+id).append('<div class="controls" />');
		$('#'+id+' > div:hidden[class=]').each(function(i){
			$('#'+id+' .controls').append('<a href="javascript: void(0);" rel="'+slide_id+'">'+(i+1)+'</a>'+((i < $('#'+id+' > div:hidden').length-1)?' | ':''));
		});
		$('#'+id+' .controls a').each(function(i){
			$(this).bind('click', function(){
				clearTimeout(inter[$(this).attr('rel')]);
				clearTimeout(timeout[$(this).attr('rel')]);
				slideShow(id, i+1, tempo*2, tempofade, controls, opt, true, $(this).attr('rel'));
				$('#'+id+' .controls a').removeClass('sel');
				$(this).addClass('sel');
			});
		});
	}
	slideShow(id, pos, tempo, tempofade, controls, opt, false, slide_id);
}
function slideShow(id, pos, tempo, tempofade, controls, opt, force, slide_id)
{
	var opcoes = {
		slide: {
			img1: {display: 'block', opacity: 1.0},
			img2: {opacity: 1.0, display: 'block', left: $('#'+id+' .rotator').width()}, 
			primeiro1: {},
			efeito1: {opacity: 1.0, left: '-'+$('#'+id+' .rotator').width()},
			primeiro2: {display: 'block'},
			efeito2: {opacity: 1.0, left: 0},
			animacao: 'linear',
            tipo: 'double'
		},
		trans: {
			img1: {display: 'block', opacity: 1.0},
			img2: {display: 'none', opacity: 0.0},
			primeiro1: {},
			efeito1: {opacity: 0.0},
			primeiro2: {display: 'block'},
			efeito2: {opacity: 1.0},
			animacao: 'swing',
            tipo: 'double'
		},
		fade: {
			img1: {display: 'block', opacity: 0.0},
			efeito1: {opacity: 1.0},
			efeito2: {opacity: 0.0},
			animacao: 'swing',
            tipo: 'single'
		}
	};
	var num_img = $('#'+id+' > div:hidden').length;
	if(controls === true && num_img > 1)
	{
		$('#'+id+' .controls a').removeClass('sel');
		$('#'+id+' .controls a:eq('+(pos-1)+')').addClass('sel');
	}
	if(opcoes[opt].tipo == 'double')
	{
        $('#'+id+' .rotator').html($('#'+id+' > div:hidden:eq('+(pos-1)+')').clone(true).css(opcoes[opt].img1));
		$('#'+id+' .rotator').append($('#'+id+' > div:hidden:eq('+(((pos >= num_img)?1:pos+1)-1)+')').clone(true).css(opcoes[opt].img2));
        if(num_img > 1)
			timeout[slide_id] = setTimeout(function(){
				$('#'+id+' .rotator > div:first').css(opcoes[opt].primeiro1).animate(opcoes[opt].efeito1, tempofade, opcoes[opt].animacao);
				$('#'+id+' .rotator > div:last').css(opcoes[opt].primeiro2).animate(opcoes[opt].efeito2, tempofade, opcoes[opt].animacao);
			}, tempo-tempofade);
	}
	else if(opcoes[opt].tipo == 'single')
	{
		$('#'+id+' .rotator').html($('#'+id+' > div:hidden:eq('+(pos-1)+')').clone(true).css(opcoes[opt].img1).animate(opcoes[opt].efeito1, tempofade/2, opcoes[opt].animacao))
		timeout[slide_id] = setTimeout(function(){ $('#'+id+' .rotator > div').animate(opcoes[opt].efeito2, tempofade/2, opcoes[opt].animacao); }, tempo-tempofade/2);
	}
	if(num_img > 1)
		inter[slide_id] = setTimeout(function(){ block = false; slideShow(id, (pos >= num_img)?1:pos+1, ((force === true)?tempo/2:tempo), tempofade, controls, opt, false, slide_id); }, tempo);
}
////////////////////////////////////























