/**
 * @author Leandro Cardoso da Silva<leandro_csilva@ymail.com>
 */
function _slideImg(idDiv,pastaBaseImg,lstImg){
					
	this.nomeBase = 'slideImg_' + idDiv;
	this.pastaImgDestaque = pastaBaseImg;
	this.listaImagem = lstImg;
	this.nomeDivBase = idDiv;
	this.tempoTransicao = 6000;
	this.nomeLinkParcial = 'slideImg_botao_link_';
	this.autoTimeOut = null;
	
	this.refDivBase = document.getElementById(this.nomeDivBase);

	this.existe = function(img){
		
	}
	
	this.montarImagem = function(img, display){
		
		if(!display)
			display = 'block';
		
		objImg = document.createElement('img');
		objImg.src = this.pastaImgDestaque + img;
		objImg.border = 0;
		
		objDiv = document.createElement('div');
		objDiv.id = this.nomeBase;
		objDiv.style.display = display;
		
		objDiv.appendChild(objImg);

		this.refDivBase.appendChild(objDiv);

		return {refImg:objImg,refDiv:objDiv};
	}
	
	this.trocarImg = function(obj, numImg){
			
		for(vi=0; vi < obj.listaImagem.length; vi++){
			
			refDivImg = document.getElementById(obj.nomeBase + '_' + vi);
			refBotaoLink = document.getElementById(obj.nomeLinkParcial + vi);
						
			if(numImg == vi){
				display = 'block';
				obj.mouseClick(refBotaoLink);
				
			}else{
				display = 'none';
				obj.mouseLink(refBotaoLink);
			}

			refDivImg.style.display = display;
			
		}
		
	}
	
	this.alterarImg = function(){
		
		// remove tempo de transição
		clearTimeout(this.refObj.autoTimeOut);
		
		this.refObj.trocarImg(this.refObj,this.numImg);
		
		proximaImg = this.numImg;
		
		// Redefine tempo de transição apartir da imagem atual
		this.refObj.autoTimeOut = setTimeout("slideImagem.autoAlterarImg('"+proximaImg+"');",this.refObj.tempoTransicao);
				
	}

	this.autoAlterarImg = function(numImg){
			
		if(numImg){
			if(numImg > (this.listaImagem.length-1))
				this.imgAtual = 0;
			else
				this.imgAtual = numImg;
		} if(this.imgAtual == (this.listaImagem.length-1))
			this.imgAtual = 0;
		else
			++this.imgAtual;
		
		this.trocarImg(this,this.imgAtual);
		
		// Redefine tempo de transição apartir da imagem atual
		this.autoTimeOut = setTimeout("slideImagem.autoAlterarImg();",this.tempoTransicao);

	}
	
	/*	
	this.alterarImg = function(){
		
		// remove tempo de transição
		clearTimeout(this.refObj.autoTimeOut);
		
		for(avi=0; avi < this.refObj.listaImagem.length; avi++){
			
			refDivImg = document.getElementById(this.refObj.nomeBase + '_' + avi);
			refBotaoLink = document.getElementById(this.refObj.nomeLinkParcial + avi);
						
			if(this.numImg == avi){
				display = 'block';
				this.refObj.mouseClick(refBotaoLink);
				
				// Redefine tempo de transição apartir da imagem atual
				this.refObj.autoTimeOut = setTimeout("slideImagem.alterarImgAuto("+avi+");",this.refObj.tempoTransicao);
				
			}else{
				display = 'none';
				this.refObj.mouseLink(refBotaoLink);
			}

			refDivImg.style.display = display;
			
		}
		
	}

	this.alterarImgAuto = function(numImg){
			
		if(numImg){
			this.imgAtual = numImg;
		} if(this.imgAtual == (this.listaImagem.length-1))
			this.imgAtual = 0;
		else
			++this.imgAtual;
		
		for(vi=0; vi < this.listaImagem.length; vi++){
			
			refDivImg = document.getElementById(this.nomeBase + '_' + vi);
			refBotaoLink = document.getElementById(this.nomeLinkParcial + vi);
						
			if(this.imgAtual == vi){
				display = 'block';
				this.mouseClick(refBotaoLink);
				
				// Redefine tempo de transição apartir da imagem atual
				this.autoTimeOut = setTimeout("slideImagem.alterarImgAuto("+vi+");",this.tempoTransicao);
				
			}else{
				display = 'none';
				this.mouseLink(refBotaoLink);
			}

			refDivImg.style.display = display;
			
		}

	}
	*/
	/*
	this.alterarImg = function(numImg){
		
		// remove tempo de transição
		clearTimeout(this.autoTimeOut);
		
		// Define objeto
		if(this.refObj)
			refObjAlternar = this.refObj;
		else
			refObjAlternar = this;
			
		if(numImg){
			refObjAlternar.imgAtual = numImg;
		} else if(refObjAlternar.numImg){
			alert(refObjAlternar.id);
			refObjAlternar.imgAtual = refObjAlternar.numImg;		
		} if(this.imgAtual == (refObjAlternar.listaImagem.length-1))
			refObjAlternar.imgAtual = 0;
		else
			++refObjAlternar.imgAtual;
		
		for(vi=0; vi < refObjAlternar.listaImagem.length; vi++){
			
			refDivImg = document.getElementById(refObjAlternar.nomeBase + '_' + vi);
			refBotaoLink = document.getElementById(refObjAlternar.nomeLinkParcial + vi);
						
			if(this.imgAtual == vi){
				display = 'block';
				refObjAlternar.mouseClick(refBotaoLink);
				
				// Redefine tempo de transição apartir da imagem atual
				refObjAlternar.autoTimeOut = setTimeout("slideImagem.alterarImg("+vi+");",refObjAlternar.tempoTransicao);
				
			}else{
				display = 'none';
				refObjAlternar.mouseLink(refBotaoLink);
			}

			refDivImg.style.display = display;
			
		}

	}
	*/
	this.mouseLink = function(objLink){
					
		if(!objLink)
			objLink = this;
			
		objLink.className = 'slideImg_botao';
	}
	
	this.mouseClick = function(objLink){
		
		if(!objLink)
			objLink = this;
		
		objLink.className = 'slideImg_botao_ativo';
	}
	
	this.mouseOver = function(){
		
		this.classAnterior = this.className;
		
		this.className = 'slideImg_botao_hover';
		
		this.onmouseout = this.mouseOut;//function(){ this.className = classAtual};
	}
	
	this.mouseOut = function(){
		
			this.className = this.classAnterior;
	}
	
	this.criarSlide = function(){
	
		this.tipo = typeof(this.listaImagem);
		
		if(this.tipo == 'string'){
			this.montarImagem(this.listaImagem);
		} else if(this.tipo == 'object'){

			this.lstBotao = document.createElement('ul');
			this.lstBotao.id = 'slideImg_botao';

			for(li=0; li < this.listaImagem.length; li++){
				if(li == 0){
					display='block';
					this.imgAtual = 0;
				}else
					display='none';
				
				// Cria e adiciona imagem, e identificação a div base da imagem
				dadosImagem = this.montarImagem(this.listaImagem[li],display);
				dadosImagem.refDiv.id += '_' + li;
										

				//Criar item botão navegação								
				this.itemBotao = document.createElement('li');
				
				// Link - Define dados link		
				if(li==0)
					classNameInicio = 'slideImg_botao_ativo';
				else
					classNameInicio = 'slideImg_botao';
							
				this.linkBotao = document.createElement('a');
				this.linkBotao.href= 'javascript:;';
				this.linkBotao.id = this.lstBotao.id + '_link_' + li;
				this.linkBotao.className = classNameInicio;
				this.linkBotao.numImg = li;
				this.linkBotao.refObj = this;
				this.linkBotao.onclick = this.alterarImg;
				//this.linkBotao.onmouseover = this.mouseOver;
				//this.linkBotao.onmouseout = this.mouseOut;
												
				this.txtBotao = document.createTextNode(li + 1);
				
				this.linkBotao.appendChild(this.txtBotao);
				this.itemBotao.appendChild(this.linkBotao);
				this.lstBotao.appendChild(this.itemBotao);

			}
			
			
			//this.refDivBase.appendChild(this.lstBotao);	
			
			// Tempo de transição automatica
			this.autoTimeOut = setTimeout("slideImagem.autoAlterarImg();",this.tempoTransicao);

		}
		
		// Cria tabela
		if(this.lstBotao){
			tbBtImg = document.createElement('table');
			//tbBtImg.id = 'tbLstGaleria';
			tbBtImg.width = '100%';
			tbBtImg.cellPadding = '0';
			tbBtImg.cellSpacing = '0';
			
			this.refDivBase.appendChild(tbBtImg);
			
			// Adiciona linha
			tbLinha = tbBtImg.insertRow(0);
			
			// Adiciona coluna Botao lista
			tbColuna1 = tbLinha.insertCell(0);
			tbColuna1.width = "100%"; // 90%
			tbColuna1.align = 'right';
			tbColuna1.valign = "top";
			tbColuna1.appendChild(this.lstBotao);
		}	
			/*	
			// Adiciona coluna Botao galeria
			tbColuna2 = tbLinha.insertCell(1);
			tbColuna2.width = "10%";
			tbColuna2.align = 'center';
			//tbColuna2.onclick = this.alterarGaleria;
			
			// Botao galeria	
				
			linkBt = document.createElement('a');
			linkBt.href="?modulo=modulo&cod=10&gativa=9";
			tbColuna2.appendChild(linkBt);
			
			imgBtGaleria = new Image();
			imgBtGaleria.src = 'imagens/camera-photo.gif';
			imgBtGaleria.border = 0;
			//imgBtGaleria.width = 24;
			//imgBtGaleria.height = 24;
			linkBt.appendChild(imgBtGaleria);
			
			novaLinha = document.createElement('br');
			linkBt.appendChild(novaLinha);
			
			textoBt = document.createTextNode('Tour Virtual');
			linkBt.appendChild(textoBt);
			*/
		
	}					
	
	this.criarSlide();
	
		
}