function swapEnvio(value){
	if(value == 1){
		document.getElementById("flickr").style.display = "none";
		document.getElementById("meucomputador").style.display = "";
	} else {
		document.getElementById("flickr").style.display = "";
		document.getElementById("meucomputador").style.display = "none";
	}
}
function pop_enviarFoto(id_galeria,idusuario){
	if (idusuario > 0) {
		var p = new Popup(400,310);
		p.template = 2;
		p.overflow = "hidden";
		p.open("site/inc/popup/enviar_foto.php?id_galeria="+id_galeria);
	} else {
		alert('Você deve estar logado para enviar uma foto');	
	}
}
function site_flickr(idusuario){
	if (idusuario == 0) {
		alert('Por favor, faça seu Login.');
	} else {
		window.open("http://www.flickr.com/fbnfotos", "_blank");
	}
}
function pop_zoomVoceNaBalada(id_vocenabalada,titulo,id_galeria){
	var p = new Popup(516,447);
	p.template = 2;
	p.overflow = "hidden";
	p.open("site/inc/popup/zoom_vocenabalada.php?id_image="+id_vocenabalada+"&titulo="+titulo+"&id_galeria="+id_galeria);
}
var Galery = function(tmp_idElement,tmp_basePath,tmp_idGalery){
	this.idGalery = tmp_idGalery;
	this.idElement = tmp_idElement;
	this.basePath = tmp_basePath;//define o caminho inicial
	this.basePathImage = "_system/scripts/image.php?resize=4&w=378&h=284&file=";//define o caminho inicial para imagem grande
	this.images = new Array();//array de array de images. [0] - caminho da imagem a partir do basePath. [1] - nome/descricao e alt da imagem
	this.selected = new Object();
	this.size = new Array();
	this.totalPage = 0;
	this.initialImageIndex = 0;
	this.finalImageIndex = 0;
	this.imageTemplate = 	'<td><table cellspacing="0" cellpadding="0" class="#CLASS#"><tr><td><table cellspacing="0" cellpadding="0" class="#CLASSIN#"><tr>'+
							'<td id="#IDTD#" #FUNC# #STYLE#><a href="#HREF#" alt="#ALT#" title="#ALT#"><img id="#IDIMG#" src="#SRC#" alt="#ALT#" title="#ALT#" width="#WIDTH#" height="#HEIGHT#"/></a></td>'+
							'</tr></table></td></tr></table></td>';
	//css
	this.cssSel = " icosel";
	this.cssPagesize = " aqnt";
	
	//id elementos
	this.idImage = "galery_image";
	this.idFotografo = "galery_fotografo";
	this.idPrevImage = "img_prev";
	this.idNextImage = "img_next";
	this.idDivLoadingImg = "div_carregando_imagem";
	this.idTdPagesize = "tdPagesize";
	this.idConteinerPages = "divPages";
	this.idSelectPageTopo = "Pagina_topo_CMB0";
	this.idSelectPageRodape = "Pagina_rodape_CMB0";
	this.idPreviousTop = "prevTop";
	this.idPreviousBottom = "prevBottom";
	this.idNextTop = "nextTop";
	this.idNextBottom = "nextBottom";
	
	this.loadingEffect = function(){//põe efeito de carregando na imagem grande
		Tween.addTween(document.getElementById(this.idImage), {_alpha: 30, time: 1, transition: "expoOut"});
		document.getElementById(this.idDivLoadingImg).style.display = '';
		document.getElementById(this.idFotografo).style.display = 'none';
		id_tag_imagem_grande = this.idImage;
		//this.finishLoadingEffect();
		//addEvent(document.getElementById(this.idImage),'load',this.idElement+".finishLoadingEffect");
	}
	this.finishLoadingEffect = function(){//finaliza o efeito de carregando
		document.getElementById(this.idDivLoadingImg).style.display = 'none';
		Tween.addTween(document.getElementById(this.idImage), {_alpha: 100, time: 1, transition: "expoOut"});
		
		//gambiarra para deixar a tabela de fundo 100% de altura no IE
		document.getElementById('td_repeat_left').style.height = 'auto';
		document.getElementById('td_repeat_right').style.height = 'auto';
		document.getElementById(this.idFotografo).style.display = '';
		
		var negativo = 262;
		var altura = document.getElementById('td_ie_left').offsetHeight;
		altura++;
		altura--;
		var resultado = altura-negativo;
		
		document.getElementById('td_repeat_left').style.height = (resultado)+'px';
		document.getElementById('td_repeat_right').style.height = (resultado)+'px';
		document.getElementById('tbl_fotografo').style.background = '#16446A';
		// alert(document.getElementById('td_repeat_left').style.height);
		// alert(document.getElementById('td_repeat_right').style.height);
	}
	this.feedImage = function(){//carrega imagem grande, com efeito
		this.loadingEffect();
		
		var img = document.getElementById(this.idImage);
		if(img){
			img.src = this.basePathImage+this.basePath+this.images[this.selected.image][0];
		} else {
			alert("imagem principal não encontrada.");
		}
		this.refreshImage();
		this.selected.lastImage = this.selected.image;
	}
	this.refreshImage = function(){//atualiza botões e efeitos relacionados a imagem atual
		if((this.selected.image > 0) && (this.images.length > 1)){
			//document.getElementById(this.idPrevImage).style.visibility = "";
			document.getElementById(this.idPrevImage).className = "opacity100";
		} else {
			//document.getElementById(this.idPrevImage).style.visibility = "hidden";
			document.getElementById(this.idPrevImage).className = "opacity70";
		}
		
		if(this.selected.image < this.images.length-1){
			//document.getElementById(this.idNextImage).style.visibility = "";
			document.getElementById(this.idNextImage).className = "opacity100";
		} else {
			//document.getElementById(this.idNextImage).style.visibility = "hidden";
			document.getElementById(this.idNextImage).className = "opacity70";
		}
		
		var td = document.getElementById("td_" + this.idElement + this.selected.lastImage);
		if(td){
			td.style.border = "4px solid #FFFFFF";
		}
		td = document.getElementById("td_" + this.idElement + this.selected.image);
		if(td){
			td.style.border = "4px solid #70B1CC";
		}
	}
	this.swapBorder = function(tmp_index,focus){//altera borda da imagem (on mouse over - out)
		if(tmp_index != this.selected.image){
			var td = document.getElementById("td_" + this.idElement + tmp_index);
			if(focus){
				td.style.border = "4px solid #70B1CC";
			} else {
				td.style.border = "4px solid #FFFFFF";
			}
		}
		if(this.selected.image != this.selected.lastImage){
			td = document.getElementById("td_" + this.idElement + this.selected.lastImage);
			td.style.border = "4px solid #FFFFFF";
		}
	}
	this.feedMiniImage = function(){//atualiza as miniaturas
		if(this.selected.lastImage != this.selected.image){
			var miniImg;
			if(this.selected.lastImage != -1){
				miniImg = document.getElementById("td_" + this.idElement+this.selected.lastImage);
				if(miniImg)
					miniImg.style.border = "4px solid #FFFFFF";
			}
			miniImg = document.getElementById("td_" + this.idElement+this.selected.image);
			if(miniImg)
				miniImg.style.border = "4px solid #70B1CC";
		}
	}
	this.feedImages = function(){//carrega todas as imagens pertinentes a pagina atual
		var container = document.getElementById(this.idConteinerPages);
		var template = this.imageTemplate;
		template = template.replace(/#CLASS#/g,this.size[this.selected.size].css[0]);
		template = template.replace("#CLASSIN#",this.size[this.selected.size].css[1]);
		var html = '<table cellspacing="0" cellpadding="0">';
		html += this.getTopOfTableByColunNumber(this.size[this.selected.size].cols);
		html += "<tr>";
		var path = this.size[this.selected.size].baseSrc+this.basePath;
		
		for(var x=this.initialImageIndex;x<this.finalImageIndex;x++){
			if(this.images[x]){
				if((x > 0) && ((x % this.size[this.selected.size].cols) == 0)){
					html += "</tr><tr>";
				}
				
				var actualTemplate = template;
				actualTemplate = actualTemplate.replace("#IDTD#","td_" + this.idElement+x);
				actualTemplate = actualTemplate.replace("#WIDTH#",this.size[this.selected.size].width);
				actualTemplate = actualTemplate.replace("#HEIGHT#",this.size[this.selected.size].height);
				if(x == this.selected.image){
					actualTemplate = actualTemplate.replace("#STYLE#",' style="border:4px solid #70B1CC;" ');
				} else {
					actualTemplate = actualTemplate.replace("#STYLE#",' style="border:4px solid #FFFFFF;" ');
				}
				actualTemplate = actualTemplate.replace("#FUNC#",' onmouseover="javascript: '+this.idElement+'.swapBorder('+x+',true);" onmouseout="javascript: '+this.idElement+'.swapBorder('+x+',false);" ');
				actualTemplate = actualTemplate.replace("#HREF#","javascript: "+this.idElement+".setImage("+x+");");
				if(this.images[x][1]){
					actualTemplate = actualTemplate.replace(/#ALT#/g,this.images[x][1]);
				} else {
					actualTemplate = actualTemplate.replace(/#ALT#/g,"");
				}
				actualTemplate = actualTemplate.replace("#IDIMG#","img_" + this.idElement+x);
				actualTemplate = actualTemplate.replace("#SRC#",path + this.images[x][0]);
				
				html += actualTemplate;
			}
		}
		html += '</tr></table>';
		container.innerHTML = html;
	}
	this.refreshButtons = function(){//atualiza os botoes conforme os selecionados
		if((this.selected.page > 1) && (this.totalPage > 1)){
			// document.getElementById(this.idPreviousTop).style.display = "";
			// document.getElementById(this.idPreviousBottom).style.display = "";
			
			document.getElementById(this.idPreviousTop).className = "opacity100";
			document.getElementById(this.idPreviousBottom).className = "opacity100";
		} else {
			// document.getElementById(this.idPreviousTop).style.display = "none";
			// document.getElementById(this.idPreviousBottom).style.display = "none";
			
			document.getElementById(this.idPreviousTop).className = "opacity70";
			document.getElementById(this.idPreviousBottom).className = "opacity70";
		}
		
		if(this.selected.page < this.totalPage){
			// document.getElementById(this.idNextTop).style.display = "";
			// document.getElementById(this.idNextBottom).style.display = "";
			
			document.getElementById(this.idNextTop).className = "opacity100";
			document.getElementById(this.idNextBottom).className = "opacity100";
		} else {
			// document.getElementById(this.idNextTop).style.display = "none";
			// document.getElementById(this.idNextBottom).style.display = "none";
			
			document.getElementById(this.idNextTop).className = "opacity70";
			document.getElementById(this.idNextBottom).className = "opacity70";
		}
	}
	this.feedPage = function(){//atualiza as opções de pagina
		//calcula paginas e monta combos conforme a selecionada atualmente
		this.totalPage = Math.ceil(this.images.length / this.size[this.selected.size].size[this.selected.pagesize]);
		this.initialImageIndex = (this.size[this.selected.size].size[this.selected.pagesize] * this.selected.page) - this.size[this.selected.size].size[this.selected.pagesize];
		this.finalImageIndex = this.size[this.selected.size].size[this.selected.pagesize] * this.selected.page;
		
		this.resetPage(this.idSelectPageTopo);
		this.feedPageSelect(this.idSelectPageTopo,this.totalPage);
		
		this.resetPage(this.idSelectPageRodape);
		this.feedPageSelect(this.idSelectPageRodape,this.totalPage);
		
		this.refreshButtons();
	}
	this.feedPagesize = function(){//troca os valores de pagesize conforme selected
		var td = document.getElementById(this.idTdPagesize);
		if(td){
			var htm = "";
			for(var x=0;x<this.size[this.selected.size].size.length;x++){
				var p = this.size[this.selected.size].size[x];
				var css = this.cssPagesize;
				if(x == this.selected.pagesize)
					css += this.cssSel;
					
				htm += '<a href="javascript:'+this.idElement+'.setPagesize('+x+');" class="'+css+'" alt="'+p+'" title="'+p+'" >'+p+'</a>';;
				if(x+1 < this.size[this.selected.size].size.length){
					htm += "&nbsp;&nbsp;&nbsp;";
				}
				td.innerHTML = htm;
			}
		} else {
			alert("td pagesize não encontrada.");
		}
	}
	this.feedSize = function(){//troca o css do tamanho escolhido
		for(var x=0;x<this.size.length;x++){
			this.size[x].obj.className = this.size[x].lnkCss;
		}
		this.size[this.selected.size].obj.className = this.size[this.selected.size].lnkCss + this.cssSel;
	}
	this.initSize = function(){
		var tmp_pequeno = new Object();
		tmp_pequeno.width = 89;
		tmp_pequeno.height = 66;
		tmp_pequeno.id = "lnkP";//id do link que altera para modo pequeno
		tmp_pequeno.lnkCss = "aicopequena";//css do link
		tmp_pequeno.css = ["tblpequena","tblpequenain"];
		tmp_pequeno.size = [8,16,24];
		tmp_pequeno.obj = null;//obj depois de iniciado
		tmp_pequeno.cols = 4;
		tmp_pequeno.baseSrc = "_system/scripts/image.php?resize=1&w=89&h=66&file=";
		
		var tmp_medio = new Object();
		tmp_medio.width = 120;
		tmp_medio.height = 90;
		tmp_medio.id = "lnkM";
		tmp_medio.lnkCss = "aicomedia";//css do link
		tmp_medio.css = ["tblmedia","tblmediain"];
		tmp_medio.size = [6,12,24];
		tmp_medio.obj = null;//obj depois de iniciado
		tmp_medio.cols = 3;
		tmp_medio.baseSrc = "_system/scripts/image.php?resize=1&w=120&h=90&file=";
		
		var tmp_grande = new Object();
		tmp_grande.width = 196;
		tmp_grande.height = 149;
		tmp_grande.id = "lnkG";
		tmp_grande.lnkCss = "aicogrande";//css do link
		tmp_grande.css = ["tblgrande","tblgrandein"];
		tmp_grande.size = [4,6,12];
		tmp_grande.obj = null;//obj depois de iniciado
		tmp_grande.cols = 2;
		tmp_grande.baseSrc = "_system/scripts/image.php?resize=1&w=196&h=149&file=";


		
		this.size[0] = tmp_pequeno;
		this.size[1] = tmp_medio;
		this.size[2] = tmp_grande;
		
		
		this.size[0].obj = document.getElementById(this.size[0].id);
		this.size[1].obj = document.getElementById(this.size[1].id);
		this.size[2].obj = document.getElementById(this.size[2].id);
	}
	this.initSelected = function(){
		this.selected.size = 1;//index do size utilizada atualmente
		this.selected.pagesize = 1;//index do page size da propriedade definida acima
		this.selected.page = 1;//pagina atual
		this.selected.image = 0;//imagem visualizada atual
		this.selected.lastImage = -1;//ultima imagem visualizada
	}
	this.init = function(tpm_image,tmp_page){
		this.initSize();
		this.initSelected();
		
		if(tpm_image != ""){
			this.selected.image = tpm_image;
		}
		if(tmp_page != ""){
			this.selected.page = tmp_page;
		}
		
		this.refreshAll();
		this.feedImage();
	}
	this.refreshAll = function(){
		this.feedSize();
		this.feedPagesize();
		this.feedPage();
		this.feedImages();
		this.feedMiniImage();
	}
	this.resetPage = function(id){
		for(x=$(id).length-1;x>=0;x--)
			$(id).remove(x);
	}
	this.feedPageSelect = function(id,totalPage){
		var s = document.getElementById(id);
		if(s){
			for(var x=1;x<=totalPage;x++){
				var option = document.createElement('option');
				option.value = x;
				option.text = x;
				
				try {//outros navegadores
					s.add(option,null);
				} catch(ex) {//para IE
					s.add(option);
				}
			}
			s.selectedIndex = this.selected.page-1;
		} else {
			alert("Select de pagina "+id+" não foi encontrado.");
		}
	}
	this.getTopOfTableByColunNumber = function(max_colun){
		var width = Math.round(100/max_colun);
		var html = "<tr>";
		for(var x=0;x<max_colun;x++){
			html += '<td><div style="font-size:1px;width:'+width+'%;">&nbsp;</div></td>';
		}
		html += "</tr>";
		return html;
	}
	this.setPagesize = function(tmp_pagesize){
		this.selected.pagesize = tmp_pagesize;
		this.selected.page = 1;
		this.countSizeClick();
		this.refreshAll();
	}
	this.setPage = function(tmp_page){
		this.selected.page = tmp_page;
		this.refreshAll();
	}
	this.setSize = function(tmp_size){
		this.selected.size = tmp_size;
		this.selected.pagesize = 0;
		this.selected.page = 1;
		this.countSizeClick();
		this.refreshAll();
	}
	this.setImage = function(tmp_index){
		if(this.images[tmp_index]){
			this.selected.image = tmp_index;
			this.feedImage();
		}
	}
	this.previousPage = function(){
		if(this.selected.page > 1){
			this.selected.page--;
			this.setPage(this.selected.page);
		}
	}
	this.nextPage = function(){
		if(this.selected.page < this.totalPage){
			this.selected.page++
			this.setPage(this.selected.page);
		}
	}
	this.checkKey = function(e){
		var e = e || event;
		var k = e.keyCode || e.which;
		if (k==39){ //seta direita
			this.nextImage();
		}else if (k==37){ //seta esq
			this.prevImage();
		}
	}
	this.nextImage = function(){
		if(this.selected.image < this.images.length-1){
			this.selected.image++;
			this.setImage(this.selected.image);
		}
	}
	this.prevImage = function(){
		if(this.selected.image > 0){
			this.selected.image--;
			this.setImage(this.selected.image);
		}
	}
	this.countSizeClick = function(){
		var a = new Ajax();
		a.onLoad = function() { }
		a.get('site/inc/routines/routines.php?routine=somaCliqueTamanhoGaleria&id_galeria='+this.idGalery+'&id_tamanho='+this.selected.size+'&id_numero='+this.selected.pagesize);
	}
	//outros
	this.pop_copiarLink = function(root,id_galeria){
		var p = new Popup(400,90);
		p.template = 2;
		p.overflow = "hidden";
		p.open("site/inc/popup/copiar_link.php?root="+root+"&id="+id_galeria+"&id_image="+this.selected.image+"&id_page="+this.selected.page);
	}
	this.pop_fotoOriginal = function(id_galeria, id_sessao){
		if (id_sessao == 0) {
			alert('Por favor, faça seu Login.');
		} else {
			var p = new Popup(400,250);
			p.template = 2;
			p.overflow = "hidden";
			p.open("site/inc/popup/tamanho_original.php?id_galeria="+id_galeria+"&id_image="+this.images[this.selected.image][0]);
		}
	}
	this.pop_tamanhoMsn = function(id_galeria, id_sessao){	
		if (id_sessao == 0) {
			alert('Por favor, faça seu Login.');
		} else {
			var a = new Ajax();
			
			a.onLoad = function() {
				window.location = this.html;
			}

			a.get('site/inc/routines/routines.php?routine=tamanhoMsn&id_galeria='+id_galeria+'&nome_imagem='+this.images[this.selected.image][0]);
		}
	}
	this.pop_tamanhoTwitter = function(id_galeria){
		var a = new Ajax();
		
		a.onLoad = function() {
			window.location = this.html;
		}

		a.get('site/inc/routines/routines.php?routine=tamanhoTwitter&id_galeria='+id_galeria+'&nome_imagem='+this.images[this.selected.image][0]);
	}
	this.pop_tamanhoNormal = function(id_galeria, id_sessao){		
		if (id_sessao == 0) {
			alert('Por favor, faça seu Login.');
		} else {
			var a = new Ajax();
			
			a.onLoad = function() {
				window.location = this.html;
			}

			a.get('site/inc/routines/routines.php?routine=tamanhoNormal&id_galeria='+id_galeria+'&nome_imagem='+this.images[this.selected.image][0]);
		}
	}
	this.pop_enviar = function(id_galeria){
		var p = new Popup(400,330);
		p.template = 2;
		p.overflow = "hidden";
		p.open("site/inc/popup/enviar_foto_por_email.php?id_galeria="+id_galeria+"&nome_image="+this.images[this.selected.image][0]+"&id_image="+this.selected.image+"&id_page="+this.selected.page);
	}
}
