

/*//////////////////////////////////////////////////////////////////////*/
$(document).ready(function(){

	if(document.body.id == "biblioteca" && document.body.className.indexOf("internas") != -1){
		var rex = /\w*$/;
		window._tipoArquivo = rex.exec(document.body.className.toLowerCase())[0];
	}


	// para indicar onde havera controle de fonte basta passar o seletor na funcao $.fontSizeControl
	$.fontSizeControl('.fontSizeArea');
	modalImg();
	modalAviso();
	modalImgNav();
	
	//
	$("#formRecebaNoticias .btOk").click(function(){
		enviaNewsletter();
	});
	
	botaoVoltar();
	botaoImprimir();
	mostraFormEnviarEmail();
        usuarioLoginMask();
	

});
/*//////////////////////////////////////////////////////////////////////*/
/* COMPONENTE: Tamanho da fonte; */
/* FUNCAO: Controla o tamanho da fonte no site; */ 
$.fn.setFontSize = function(size){
	$(this).css('font-size', size);
}

/* FUNCAO: Controla os botoes de tamanho de fonte atraves do HREF dos botoes; */ 
$.fontSizeControl = function(parent){
	var thisRef = document;
	var btnSize = $(thisRef).find('.fontSizeControl');

	btnSize.click(function(){
		if ($(this).hasClass('small')) {
			//$(parent).setFontSize('12px');
			$("body").setFontSize('10px');
			$("div.boxGrandeSemBg p").setFontSize('10px');
		}
		if ($(this).hasClass('medium')) {
			//$(parent).setFontSize('13px');
			$("body").setFontSize('11px');
			$("div.boxGrandeSemBg p").setFontSize('11px');
		}
		if ($(this).hasClass('large')) {
			//$(parent).setFontSize('14px');
			$("body").setFontSize('13px');
			$("div.boxGrandeSemBg p").setFontSize('13px');
		}
		return false;
	});
	
}


function enviaNewsletter(){

	var elems = $("#inputNomeNews, #inputEmailNews");
	var label;
	var erro = null;
	var botao = $("#formRecebaNoticias .btOk");
		var prob = "";
		for(i=0; i< elems.length; i++){
			label = $(elems[i]).parent().children("label").text().replace(/(:)|(\*)/gi,"");
			label = "\""+label+"\", ";
			if(prob.indexOf(label) == -1 && elems[i].value == ""){
				prob += label;
			}
		}
		if(prob.length > 0){
			erro = false;
		} else {
			var str = botao.parents("form").serialize();
			$.ajax({
			   type: "POST",
			   url: "/opencms/system/modules/br.com.cooperforte.instituto.site/elements/enviaNewsletter.jsp",
			   data: str,
				 async: false,
				 complete: function(){
					 	$("div.receberNoticias form").hide();
						$("div.receberNoticias p.sucesso").show("fast");
						erro = true;
				 }
			 });
		}
		return erro == null ? false : erro;
}

/*Modal Img*/
function modalImg(){
	var posTop = 0;
	var abreJanela = $('.loadModal');
	var modalImg = $('div#modalImg');
	var btFechar = $('a#btFecharModal');
	var $this, titulo, descricao, local, imagem;
	
	abreJanela.click( function(){
		$this = $( this );
		
		//descricao = $this.siblings('span').text();
		descricao = $this.children('img').attr('alt');
		imagem = $this.attr('href');
		
		modalImg.children('p').text(descricao);
		$('div img', modalImg).attr('src', imagem).attr('id', $this.attr("id"));

		posicaoGaleria(modalImg, posTop);
		
		modalImg.modalToggle();
		
		return false;
	});
	
	$( window ).scroll(function(){
		if ( modalImg.is(':visible') ){	posicaoGaleria(modalImg, posTop); }
	});
	
	btFechar.click( function(){
		modalImg.modalToggle();
		
		return false;
	})
	
}

/*Modal Img*/
function modalImgNav(){
	var posTop = 0;
	var abreJanela = $('.loadModalNav');
	var modalImg = $('div#modalImg');
	var btFechar = $('a#btFecharModal');
	var $this, titulo, descricao, local, imagem;

	var miniaturas = $(".miniaturas li a");
	var imagens = new Array();
	for(i=0; i<miniaturas.length; i++){
		imagens[i] = { id: $(miniaturas[i]).attr("id"), href: $(miniaturas[i]).attr("href"), desc: $(miniaturas[i]).children("img").attr("title") };
		$(miniaturas[i]).attr("id", "imgLink"+i);
	}

	abreJanela.click( function(){
		$this = $( this );
		
		var idFotoInicial = parseInt($( this ).attr("id").replace(/imgLink/gi, ""));
		
		//console.log(idFotoInicial, imagens.length-1);
		
		if(idFotoInicial == 0){
			$("a.setaFotoAnterior").fadeOut("slow");
			$("a.setaFotoProxima").fadeIn("slow");			
		}else if(idFotoInicial+1 == imagens.length){
			$("a.setaFotoProxima").fadeOut("slow");
			$("a.setaFotoAnterior").fadeIn("slow");
		}
		
		//descricao = $this.siblings('span').text();
		descricao = $this.children('img').attr('title');
		imagem = $this.attr('href');
		
		modalImg.children('p').text(descricao);
		$('div img', modalImg).attr('src', imagem).attr('id', $this.attr("id"));
		

		posicaoGaleria(modalImg, posTop);
		
		modalImg.modalToggle();
		
		return false;
	});
	
	$( window ).scroll(function(){
		if ( modalImg.is(':visible') ){	posicaoGaleria(modalImg, posTop); }
	});
	
	btFechar.click( function(){
		modalImg.modalToggle();
		
		return false;
	});
	

	
	$("a.setaFotoAnterior").click(function(){
	   	$("a.setaFotoProxima").fadeIn("slow");
		var idFoto = $("div.foto img").attr("id");	
		idFoto = idFoto.replace(/imgLink/gi, "");
		idFoto = parseInt(idFoto);

	
		if(idFoto > 0){
			$("div.foto img").attr("src", imagens[idFoto-1].href).attr('id', 'imgLink'+(idFoto-1));
			$("p.desc").text(imagens[idFoto-1].desc);
			if (idFoto+imagens.length-1 == imagens.length){
				$(this).fadeOut("slow");
			}			
		}
		
		return false;
	});

	$("a.setaFotoProxima").click(function(){
		$("a.setaFotoAnterior").fadeIn("slow");
		var idFoto = $("div.foto img").attr("id");	
		idFoto = idFoto.replace(/imgLink/gi, "");
		idFoto = parseInt(idFoto);

		if(idFoto < imagens.length-1){
			$("div.foto img").attr("src", imagens[idFoto+1].href).attr('id', 'imgLink'+(idFoto+1));			
			$("p.desc").text(imagens[idFoto+1].desc);
			if (idFoto+1 == imagens.length-1){
				$(this).fadeOut("slow");
			}
		}
		return false;	
	});	
	
	
}




function posicaoGaleria(modalImg, posTop){
	posTop = $( window ).scrollTop();
	posTop = posTop - modalImg.height() / 2;
	
	modalImg.css('margin-top', posTop + "px");		
};

function abreMapaModal(uf){
	
	if($("body #modalMapa").length > 0){
		$("body #modalMapa .modalMapaFlash").empty();
	} else {
		$("body").append('<div id="modalMapa" class="modal"><div class="xf modalMapaFlash"></div></div>');
	}
	
	XFlash.addFactory("modalMapaFlash", function ( elData ){
			var r = 
			{
				src: "/export/system/modules/br.com.cooperforte.instituto.site/resources/global/swf/modalMapaProjetos.swf",
				width: 467,
				height: 491,
				flashvars:
				{
					uf : uf,
					closeCall : "fechaMapaModal",
					servico : "/opencms/system/modules/br.com.cooperforte.instituto.site/resources/global/xml/projetos.xml"
				}
			}
			return r;
		});
	
	XFlash.apply($("body #modalMapa"));
	
	$("body #modalMapa").modalToggle();
	scrollTo(0,0);
}

function fechaMapaModal(){
	$("body #modalMapa").modalToggle({callbackOut: function(){ $("body #modalMapa").remove(); }});
	
}


function botaoVoltar(){
	//$(".btVoltar").click(function(){ $.browser.msie && document.body.id == "programas" && document.body.className.indexOf("index") != -1 ? history.go(-3) : history.back(-1); return false;});
        $(".btVoltar").click(function(){history.back(-1); return false;});
}


function mostraFormEnviarEmail(){
	$(".btnEnviarEmail, #btEnviarEmail").click(function(){
		var envEmail = $(".formEnviarEmail");
		envEmail.slideDown();
		$("input", envEmail).val("");
		return false;
	});
	
	$(".btnCancelar").click(function(){
		$(".btnCancelar").parents(".formEnviarEmail").slideUp("slow");
		return false;						 
	});
	
	$("body:not(.passaporteFuturo) .btnEnviar").click(function(){
		$(this).parent().submit();			
	});
};
function botaoImprimir(){
	$("#btImprimirInfos, .btnImprimir, .btnImprimirPagina").click(function(){
    	window.print();
		return false;
	});
};


/*Modal Aviso*/
function modalAviso(){
	var abreJanela = $('.loadModalAviso');
	var modalAviso = $('div#modalAviso');
	var btFechar = $('a.fecharModal');
	
	abreJanela.click( function(){
		modalAviso.modalToggle();
		return false;
	});
		
	btFechar.click( function(){
		modalAviso.modalToggle();
		return false;
	});
}


/*****************************
scripts calendario
*******************************/
function criaModal(){
	$.ajax({url: "/opencms/system/modules/br.com.cooperforte.instituto.site/resources/global/includes/modalCalendario.jsp", dataType: "html", async: false, success: function(resp){
		$(document.body).append(resp);
	}});
	return $("body #modalCalendario.modal");
}

function atualizaModalCalendario(modal, limite){
		_calEvt.imagem == null || _calEvt.imagem == "" ?  $(".bordaImagem", modal).hide() : $(".bordaImagem img", modal).attr({src: _calEvt.imagem}).parent().show();
		$(".mensagem h5", modal).text(_calEvt.evento);
		$(".mensagem p:first", modal).text(_calEvt.comentario);
		
		var html = "<strong>Servi&ccedil;o: </strong>"+_calEvt.servico+"<br /><strong>Data: </strong>"+	((_calEvt.dia+"").length == 1 ? "0"+_calEvt.dia : _calEvt.dia) + "/" + ((_calEvt.mes+"").length == 1 ? "0"+_calEvt.mes : _calEvt.mes) + "/" + _calEvt.ano +"<br /><strong>Hora: "+_calEvt.hora+"</strong>";
		$(".mensagem p:last-child", modal).empty().append(html);
		_calEvt.index - 1 < 0 ? $("a.btEventoAnterior", modal).hide() : $("a.btEventoAnterior", modal).show();
		_calEvt.index + 1 > (limite-1) ? $("a.btEventoProximo", modal).hide() : $("a.btEventoProximo", modal).show();
}

function calendarioDia(data, obj){
	if($(obj).parent().hasClass("event")){
		//console.log(data);
		var modal = !($("body #modalCalendario.modal").length > 0) ? criaModal() : $("body #modalCalendario.modal");
		var evts = _calCache["r" + data.month + data.year].eventos;
		//verifica posicao na lista de eventos do mes
		for(var i = 0; i < evts.length; i++){
			if(data.day == evts[i].dia){
				_calEvt = evts[i];
				_calEvt = $.extend(_calEvt, {mes: data.month, ano: data.year, index: i});
				break;
			}
		}
		atualizaModalCalendario(modal, evts.length);

		$("a.fecharModal", modal).unbind().click(function(){
			$("body #modalCalendario.modal").modalToggle();
			return false;
		});

		$("a.btEventoAnterior", modal).unbind().click(function(){
			i = _calEvt.index - 1;
			if(i >= 0){
				_calEvt = evts[i];
				_calEvt = $.extend(_calEvt, {mes: data.month, ano: data.year, index: i});
				atualizaModalCalendario(modal, evts.length);
			}
			return false;
		});
		
		$("a.btEventoProximo", modal).unbind().click(function(){
			i = parseInt(_calEvt.index) + 1;
			if(i <= (evts.length-1)){
				_calEvt = evts[i];
				_calEvt = $.extend(_calEvt, {mes: data.month, ano: data.year, index: i});
				atualizaModalCalendario(modal, evts.length);
			}
			return false;
		});
		
		modal.modalToggle();
	}
}

function marcaDias(resp){
	var celula;
	for(var i = 0; i < resp.eventos.length; i++){
		celula = $("div.jcalendar table td a[@name=dia"+resp.eventos[i].dia+"]").parent();
		if(!(celula.hasClass("event"))) {
			celula.addClass("event");
		}
	}
}

function calendarioMes(data){
	if(!(_calCache["r" + data.month + data.year])){
		$.ajax({
			url: "/opencms/system/modules/br.com.cooperforte.instituto.site/resources/global/calendarioJSON.jsp",
			data: {mes: data.month, ano: data.year, tipo: document.body.id},
			dataType: "json",
			async: false,
			success: function(resp){
				_calCache["r" + data.month + data.year] = resp;
				marcaDias(resp);
			}
		});
	} else {
		marcaDias(_calCache["r" + data.month + data.year]);
	}
}

function calendarioCallback(){
	//inicializa variaveis necessarias
	window._calCache = window._calCache ? window._calCache : new Array();
	window._calEvt = window._calEvt ? window._calEvt : new Object();
	
	if(!(_calCache["r" + (new Date().getMonth() + 1) + new Date().getFullYear()])){
		$.ajax({
			url: "/opencms/system/modules/br.com.cooperforte.instituto.site/resources/global/calendarioJSON.jsp",
			data: {mes: (new Date().getMonth() + 1), ano: new Date().getFullYear(), tipo: document.body.id},
			dataType: "json",
			success: function(resp){
				_calCache["r" + (new Date().getMonth() + 1) + new Date().getFullYear()] = resp;
				marcaDias(resp);
			}
		});
	}
}

/********************************
modal aviso
*******************************/

function modalAvisoMsg( data ){
	if($("#modalAviso").length > 0){
		$("#modalAviso").remove();
	}
	
	data = data == null ? {tipo:"", titulo: "titulo", mensagem: ""} : 
		{
			tipo: data.tipo ? data.tipo: "tipo", 
			titulo: data.titulo ? data.titulo : "titulo", 
			mensagem: data.mensagem ? data.mensagem : ""
		};
	
	switch(data.tipo){
		case 'sucesso':
		  url = "/opencms/system/modules/br.com.cooperforte.instituto.site/resources/global/includes/modalAvisoSucesso.jsp";
                      break;
		case 'erro':
			url = "/opencms/system/modules/br.com.cooperforte.instituto.site/resources/global/includes/modalAvisoErro.jsp";
			break;
		default:
			url = "/opencms/system/modules/br.com.cooperforte.instituto.site/resources/global/includes/modalAvisoErro.jsp";
	}
	
	if($("#modalAviso."+data.tipo).length < 1){
		$("body").append("<div id='modalAviso' class='modal "+data.tipo+"'></div>");
		$.browser.msie && !($("#modalAviso").hasClass(data.tipo)) ? $("#modalAviso").addClass(data.tipo) : false;
		$("#modalAviso."+data.tipo).load(url, function(){
		modalExec( data ); 
		});
	}else {
			modalExec( data );
	}
}


function modalExec( data ){
	
	modal = $("#modalAviso."+data.tipo);
	$(".conteudoModal h2", modal).text(data.titulo);
	data.mensagem == "" ? $(".conteudoModal div.mensagem", modal).hide() : $(".conteudoModal div.mensagem", modal).html(data.mensagem).show();
	
	modal.modalToggle();
	
	$("a.fecharModal", modal).click(function(){
		modal.modalToggle();
		return false;
	});
}

function criaModalAviso(){
	$(document.body).append("<div id='modalAviso' class='modal sucesso'></div>");
	$.ajax({url: "/opencms/system/modules/br.com.cooperforte.instituto.site/resources/global/includes/modalAvisoSucesso.jsp", dataType: "html", async: false, success: function(resp){
		$("body div.modal.sucesso").append(resp);
	}});
}

/********************************
modal aviso
*******************************/

function criaModalEnviaAmigo(){
	$.ajax({url: "/opencms/system/modules/br.com.cooperforte.instituto.site/resources/global/includes/modalAvisoEnvieAmigo.jsp", dataType: "html", async: false, success: function(resp){
		$(document.body).append(resp);
	}});
	return $("body > div.modal.envieAmigo");
}


function modalEnviaAmigo(){
	var modal = !($("body .modal.envieAmigo").length > 0) ? criaModalEnviaAmigo() : $("body .modal.envieAmigo");
	$("input[@name=nomeArquivo]", modal).val($("span#nomeArquivoExibido").attr("title"));
	
	var aviso = $("body > div.modal.sucesso").length > 0 ? $("body div.modal.sucesso") : $("body div.modal.erro");
	$(".conteudoModal div.mensagem", aviso).empty().append("<ol></ol>");

	
	$("form", modal).validate({
		errorContainer: $(".conteudoModal div.mensagem", aviso),
		errorLabelContainer: $(".conteudoModal div.mensagem > ol", aviso),
		wrapper: "li",
		rules: {
			nome: "required",
			email: {
				required: true,
				email: true
			},
			emailAmigo1: {
				required: true,
				email: true
			}
		},
		messages: {
			nome: "O campo \"Seu nome\" é de preenchimento obrigatório",
			email: "Por favor, insira um email válido no campo \"Seu e-mail\"",
			emailAmigo1: "Por favor, insira um email válido no primeiro campo \"E-mail do seu amigo\""
		},
		submitHandler: function(f){
			var $this = $(f);
			$.ajax({
				url: $this.attr("action"),
				data: $this.serialize(),
				complete: function(r){
					r = r.responseText.replace(/(\n)|(\r)|(\t)/gi,"");
					var rex = /^(success)/;
					modal.modalToggle();
					$("div.overlay").remove();
					if(rex.exec(r)){
						aviso.hasClass("sucesso") ? true : aviso.removeClass("erro").addClass("sucesso");
						$("h2", aviso).empty().text("Seu e-mail foi enviado com sucesso.");
					} else {
						aviso.hasClass("erro") ? true : aviso.removeClass("sucesso").addClass("erro");
						$("h2", aviso).empty().text("Seu e-mail não pode ser enviado. Tente novamente.");
					}
					$(".conteudoModal div.mensagem", aviso).hide();
					aviso.modalToggle();
					$("a.fecharModal", aviso).unbind().click(function(){
						aviso.modalToggle();
						return false;
					});
				}
			});
		},
		invalidHandler: function(){
			
			modal.modalToggle();
			$("div.overlay").remove();
			
			aviso.hasClass("erro") ? true : aviso.removeClass("sucesso").addClass("erro");
			$(".conteudoModal div.mensagem", aviso).show();
			$("h2", aviso).empty().text("Seu cadastro não pode ser efetuado.");
			aviso.modalToggle();
			
			$("a.fecharModal", aviso).unbind().click(function(){
				aviso.modalToggle();
				$("div.overlay").remove();
				modal.modalToggle();
				return false;
			});
			
		}
	});
	
	var fraseTitulo = "Envie";
	switch(_tipoArquivo){ 
		case "imagem": fraseTitulo += " essa " + _tipoArquivo.toLowerCase(); break;
		default: fraseTitulo += " esse " + _tipoArquivo.toLowerCase(); break;
	}
	fraseTitulo += " para um amigo";
	
	$("h2.xf", modal).hasClass("flashApplied") ? true : $("h2.xf", modal).addClass("flashApplied").text(fraseTitulo) && XFlash.apply(modal);
	
	$("a.fecharModal", modal).click(function(){
		modal.modalToggle();
		return false;
	});
	
	modal.modalToggle();
	
}

jQuery.validator.addMethod("simplePhone", function(value, element){
	var rex = /\d{4}-\d{4}/;
	return	rex.exec(value) ? true : false;

});


function usuarioLoginMask(){
	
	$("#header form #inputUsuario").mask("99.999.999/9999-99");
	
	$("body div#geral div#header form div label input").click(function(){
		var $this = $(this);
		$this.val() == "cpf" ? $("#header form #inputUsuario").unmask().mask("999.999.999-99") : $("#header form #inputUsuario").unmask().mask("99.999.999/9999-99");
	});
	
	/*var type = "cpf";
		
	var changeLoginMask = function(val){
		val = val.replace(/\D/gi, "");
		var v;
		if(type == "cnpj"){
			v = val.substring(0,3) + "." + val.substring(3,6) + "." + val.substring(6,9) + "-" + val.substring(9,12);
			type = "cpf";
		} else {
			v = val.substring(0,2) + "." + val.substring(2,5) + "." + val.substring(5,8) + "/" + val.substring(8);
			type = "cnpj";
		}
		//alert(type);
		return v;
	}
	
	
	$("#header form #inputUsuario").attr({maxlength: 18, value: ""}).keypress(function(k){
		//alert($.browser.msie ? k.keyCode : k.which);
		var $this = $(this),
		cod = $.browser.msie ? k.keyCode : k.which,
		lgth = $this.val().length;
		if(String.fromCharCode(cod).search(/[0-9]|[\b]/gi) != -1){
			if(String.fromCharCode(cod).search(/\b/gi) != -1){
				if(type == "cpf"){
					switch(lgth){
						case 3:
						case 7:
							$this.val($this.val() + ".");
						break;
						case 11:
							$this.val($this.val() + "-");
						break;
						case 14:
							$this.val(changeLoginMask($this.val()));
						break;
						default: break;
					}
				} else {
					lgth == 15 ? $this.val($this.val() + "-") : true;
				}
			} else {
				if(type == "cnpj" && lgth <= 15){
					$this.val(changeLoginMask($this.val()));
				}
			}
		} else {
			return false;
		}
	});*/
}

