var GA = {
	// Versao 1.0 B
	// By Gabriel Galiaso
	'qtdItensTotal': 0,
	'qtdItensPagina': 6,
	'qtdItensMoved': 0,
	'masc': '',
	'content': '',
	'contentGrande': '',
	'preloaderGrande': '',
	'btAnt': '',
	'btProx': '',
	'idFotoAtual': 1,
	'thumb': {
		'w':0,
		'h':0,
		'css': ''
	},
	'data': '',
	'qtdMover': 1,
	'twCreated': false,
	'arrGalerias': new Array(),
	'arrPreloader': new Array(),
	'create': function(){
		var galeria = this;
		var contThumbs = "";
		
		var ajaxGaleria = new ajax({
			'method': 'GET',
			'url': galeria.data,
			'oncomplete': function() {

				this.setChildName('foto');
				
				galeria.qtdItensTotal = parseInt(this.getCountItens());
				
				fotoAtual = parseInt($G(galeria.idFotoAtual).innerHTML);

				for(var i = 0; i<=galeria.qtdItensTotal; i++){
					if(i < galeria.qtdItensTotal){
						if((i+1) == fotoAtual) css = galeria.thumb.css+"Clicada"; else css = galeria.thumb.css;
						
						var obj = new Object();
						obj.imgp = this.getAttByName('imgp',i);
						obj.imgg = this.getAttByName('imgg',i)
						galeria.arrGalerias.push(obj);
						
						contThumbs += '<div id="gaThumb'+i+'" class="'+css+'"><div style="margin-left:'+parseInt((galeria.thumb.w-18)/2)+'px; margin-top:'+parseInt((galeria.thumb.h-18)/2)+'px; width:18px; height:18px; position:absolute; display:none;" id="loaderThumb'+i+'"><img src="/media/imagens/loading.gif" width="18" height="18" /></div><img src="" id="imgGaleria'+i+'" onclick="GA.grande(\''+i+'\');" style="margin:3px;display=none;" /></div>';
					}else{
						if (galeria.qtdItensTotal <= 0) return;
						
						var tm =  parseInt(galeria.thumb.w * galeria.qtdItensTotal);
						$G(galeria.content).style.width = tm+"px";
						$G(galeria.content).innerHTML = contThumbs;
						
						galeria.preloader();
					}
				}

				delete ajaxGaleria;
			}
		});
		ajaxGaleria.push('t','thumb');
		ajaxGaleria.push('g',parseInt(idGaleria));
		ajaxGaleria.open();
		
		if (this.btAnt){
			$G(this.btAnt).style.cursor = 'default';
			setAlpha(this.btAnt,30);
			$G(this.btAnt).onclick = function(){
				GA.backPg();
			}
		}
		
		if (this.btProx){
			$G(this.btProx).style.cursor = 'pointer';
			$G(this.btProx).onclick = function(){
				GA.nextPg();
			}
		}
		
		if(!this.twCreated){
			new tween(this.content);
			this.twCreated = true;
		}
		
		$G(this.preloaderGrande).style.marginLeft = parseInt((getSize('contentGrande').w-getSize(this.preloaderGrande).w)/2)+"px";
		$G(this.preloaderGrande).style.marginTop = parseInt((getSize('contentGrande').h-getSize(this.preloaderGrande).h)/2)+"px";
	},
	'preloader':function(){
		for(i = this.qtdItensMoved; i<(this.qtdItensMoved+this.qtdMover); i++){
			$G('loaderThumb'+i).style.display = "block";
			
			var loaderImg = new Image();
			loaderImg.onload = function(){
				$G('imgGaleria'+this.i).src = this.src;
				$G('imgGaleria'+this.i).style.display = "block";
				$G('loaderThumb'+this.i).style.display = "none";
			}
			loaderImg.i = i;
			loaderImg.src = this.arrGalerias[i].imgp;
			this.arrPreloader.push(loaderImg)
		}
	},
	'grande': function(i){		
		
		
		$G(this.preloaderGrande).style.display = "block";
		
		var imgLoader =  new Image(); 
		var galeria = this;
		imgLoader.onload = function(){
			//alert(this.width+'x'+this.height);
			$G(galeria.contentGrande).src = this.src;
			$G(GA.preloaderGrande).style.display = "none";
		}
		
		//alert(imgLoader.width+'x'+this.height);
		
		
		
		imgLoader.src = this.arrGalerias[i].imgg;
		
		fotoAtual = parseInt($G(galeria.idFotoAtual).innerHTML)-1;
		$G('gaThumb'+fotoAtual).className = galeria.thumb.css;
		$G('gaThumb'+i).className = galeria.thumb.css+"Clicada";
		$G(galeria.idFotoAtual).innerHTML = parseInt(i)+1;
	},
	'nextPg': function(){
		var qtdFora = this.qtdItensTotal - this.qtdItensPagina;
		
		if (qtdFora < 0) return;
		
		if (this.qtdItensMoved < qtdFora){
			$G(this.btAnt).style.cursor = 'pointer';
			setAlpha(this.btAnt,100);
			
			this.qtdItensMoved += this.qtdMover;
			
			this.qtdItensMoved = parseInt(this.qtdItensMoved);
				
			var maxLeft = -(this.qtdItensMoved * this.thumb.w)
			
			$G(this.content).tweenToRelative(this.masc, 0, maxLeft, "easeoutexpo", 0.3);
			
			if(this.qtdItensMoved >= qtdFora){
				$G(this.btProx).style.cursor = 'default';
				setAlpha(this.btProx,30);
			}
		}
		this.preloader();
	},
	'backPg': function(){
		if (this.qtdItensMoved > 0){
			
			$G(this.btProx).style.cursor = 'pointer';
			setAlpha(this.btProx,100);
			
			var maxAtual = -(this.qtdItensMoved * this.thumb.w);
			
			var maxLeft = maxAtual+(this.qtdMover * this.thumb.w);
			
			this.qtdItensMoved -= this.qtdMover;
		
			$G(this.content).tweenToRelative(this.masc, 0, maxLeft, "easeoutexpo", 0.3);
			
			if(this.qtdItensMoved == 0){
			   $G(this.btAnt).style.cursor = 'default';
			   setAlpha(this.btAnt,30);
			}
		}
		this.preloader();
	}
};
