//=========================================================================================================


  /**
	*	
	*	
	
	AVISO DOS BROTHER
	
	ESTA FUNÇÃO SERVE PARA GRAVAR AS CAIXINHAS MODIFICADAS NUM COOKIE,
	NAO É AQUI QUE SÃO DEFINIDAS AS CAIXINHAS PADRAO, AQUI SIMPLISMENTE
	É LIDO E GRAVADO O COOKIE COM ALTERAÇÕES!
	
	*
	*
	*
	*/

// ----> Funções de inicialização do processo

$(document).ready(function(){
	//alert("Cookie: "+getCookie());
	
	//alert("Sortable serialized: "+$.SortSerialize('sortable1').hash );
	
	
	$("img[alt='Home original']").click(function(){
		$.setCookie('ConfigCaixas', '', { duration: 90 });
	});
	
	//togle actions
	$(".toggle").click(function(){
		visibilidade_salvar = $(this).parent().parent().children(".portlet_content").css('display');
		principal_ID = $(this).parent().parent().attr("id");
		
		//Chama funcoes especificas
		if(visibilidade_salvar == "none"){
			//reduzir!
			insereNaoDuplicado('reduzir', principal_ID);
		}else if(visibilidade_salvar == "block"){
			//expandir
			insereNaoDuplicado('expandir', principal_ID);
		}
	});

	//DESCOMENTAR para zerar cookie!
	//$.setCookie('ConfigCaixas', '', { duration: 90 });
	//$.setCookie('PosicCaixas', '', { duration: 90 });
	
	//Testa se cookie das caixas já foi salvo
		//Não foi salvo ainda
		if($.readCookie('ConfigCaixas') == null){
			$.setCookie('ConfigCaixas', '', { duration: 90 });
		}else{ //Já foi salvo
			//Leitura dos cookies
			leAcoes(getCookie());
		}

});


//=========================================================================================================
// ----> Funções de Cookies

function getCookie(){
	return $.readCookie('ConfigCaixas')
}

//Atualiza valor do cookie
function gravaCookie(ID, acao){
	//Se nao houver pq testar comandos invertidos, nem testa
	if(getCookie()!= ""){
		//alert("cookie JA POSSUI valores... inserindo '"+acao+"@"+ID+"'");
		insereNaoDuplicado(acao, ID);
	}else{
		//alert("cookie ate entao VAZIO... inserindo '"+acao+"@"+ID+"'");
		$.setCookie('ConfigCaixas',acao+"@"+ID, { duration: 90 });		
	}
}


//=========================================================================================================
// ----> Funções de Ações


/**
 * insereNaoDuplicado()
 * 
 * Insere cookie, testando comandos invertidos.
 */ 
function insereNaoDuplicado(acao, ID){
	//str_acoes_ID = $("#comando").attr('value').split("#");
	str_acoes_ID = getCookie().split("#");
	
	
	//Conta substituicoes feitas
	contaSubstituicoes = 0;
	
	//Testa acoes ja gravadas
	for(i=0;i<str_acoes_ID.length;i++){
		acao_ID = str_acoes_ID[i].split("@");
	
		//acao_ID[0] = Acao
		//acao_ID[1] = ID
		
		//alert("-ID gravado:"+acao_ID[1] + " -ID inserir:" +  ID+" -Iguais?"+(acao_ID[1] == ID));
		
		//ID Igual
		if(acao_ID[1] == ID){
			
			//Testa acao gravada
			if(acao_ID[0] != acao){
				//ID Igual, acao DIFERENTE (Pode ser INVERTIDA)!
				
				//Comandos invertidos!!
				if(acao == "abrir" & acao_ID[0] == "fechar"){
					//Apaga item da lista de comandos
					ApagarItemCookie(ID, "fechar");
					
					//Atualiza contador de substituicoes
					contaSubstituicoes = contaSubstituicoes+1;
				
				}else if(acao == "fechar" & acao_ID[0] == "abrir"){
					//Apaga item da lista de comandos
					ApagarItemCookie(ID, "abrir");
				
					//Atualiza contador de substituicoes
					contaSubstituicoes = contaSubstituicoes+1;
				
				}else if(acao == "expandir" & acao_ID[0] == "reduzir"){
					//Apaga item da lista de comandos
					ApagarItemCookie(ID, "reduzir");
				
					//Atualiza contador de substituicoes
					contaSubstituicoes = contaSubstituicoes+1;
				
				}else if(acao == "reduzir" & acao_ID[0] == "expandir"){
					//Apaga item da lista de comandos
					ApagarItemCookie(ID, "expandir");
					
					//Atualiza contador de substituicoes
					contaSubstituicoes = contaSubstituicoes+1;
				
				}
			
			}else{
				//ID Igual, acao REPETIDA! Nao sera feito nada.
			}
		}
	}
	
	if(contaSubstituicoes == 0){
		//NENHUMA substituicao feita. Item sera inserido no cookie
		$.setCookie('ConfigCaixas',getCookie()+"#"+acao+"@"+ID, { duration: 90 });
	}
}


function ApagarItemCookie(ID, acaoApagar){
	novoCookieAtualizado = "";
	
	str_acoes_ID = getCookie().split("#");
	
	//Itera sobre acoes
	itensJaInseridos = 0;
	
	for(i=0;i<str_acoes_ID.length;i++){
		acao_ID = str_acoes_ID[i].split("@");
		
		//Primeira entrada
		if(itensJaInseridos==0){
			//Encontrou item para ser retirado
			if(acao_ID[1] == ID && acao_ID[0] == acaoApagar){
				//Nao sera inserido NADA!
			}else if(acao_ID[0]!="" && acao_ID[1]!="undefined"){
				
				//Insere itens que nao tem relacao com retirada.
				novoCookieAtualizado = novoCookieAtualizado+acao_ID[0]+"@"+acao_ID[1];
				
				//Atualiza contador de insercoes
				itensJaInseridos=itensJaInseridos+1;
			}
			
		}else{
			//Encontrou item para ser retirado
			if(acao_ID[1] == ID && acao_ID[0] == acaoApagar){
				//Nao sera inserido NADA!
			}else if(acao_ID[0]!="" && acao_ID[1]!="undefined"){
				//Insere itens que nao tem relacao com retirada.
				novoCookieAtualizado = novoCookieAtualizado+"#"+acao_ID[0]+"@"+acao_ID[1];
				
				//Atualiza contador de insercoes
				itensJaInseridos=itensJaInseridos+1;
			}
		}
	}
	//alert("original:"+$("#comando").attr('value')+"\nNovoCookieAtualizado:"+novoCookieAtualizado);
	$.setCookie('ConfigCaixas', novoCookieAtualizado, { duration: 90 });		
}


/**
 * leAcoes()
 * 
 * Leitor de ações para portlets.
 */ 
function leAcoes(strAcoes){
	str_acoes_ID = strAcoes.split("#");
	
	//Itera sobre acoes
	for(i=0;i<str_acoes_ID.length;i++){
		acao_ID = str_acoes_ID[i].split("@");

		//Chama função de execução de ações
		rodaAcoes(acao_ID[0], acao_ID[1]);
	}
}

function rodaAcoes(acao, ID){
	//Ações possíveis
	if(acao=="abrir"){
		abrir(ID);
	}else if(acao=="fechar"){
		fechar(ID);
	}else if(acao=="reduzir"){
		reduzir(ID);
	}else if(acao=="expandir"){
		expandir(ID)
	}
	
	//alert(acao+": "+ID);
}

/**
 * reduzirComCookie()
 */ 
function reduzirComCookie(ID){
	gravaCookie(ID, 'reduzir');
}

/**
 * reduzir()
 * 
 * Ação de reduzir portlets.
 */ 
function reduzir(ID){
	$("#"+ID).children('.portlet_content').css('display', 'none');
}

/**
 * expandir()
 * 
 * Ação de expandir portlets.
 */ 
function expandirComCookie(ID){
	gravaCookie(ID, 'expandir');
}

/**
 * expandir()
 * 
 * Ação de expandir portlets.
 */ 
function expandir(ID){
	$("#"+ID).children('.portlet_content').css('display', 'block');
}


/**
 * fecharComCookie()
 */ 
function fecharComCookie(ID){
	if( $("#"+ID).css('display') != "none" ){
		$("#"+ID).css('display', 'none');
		gravaCookie(ID, 'fechar');
	}
}
/**
 * fechar()
 */ 
function fechar(ID){
	$("#"+ID).css('display', 'none');
}

/**
 * abrirComCookie()
 */ 
function abrirComCookie(ID){
	if( $("#"+ID).css('display') != "block" ){
		$("#"+ID).css('display', 'block');
		gravaCookie(ID, 'abrir');
	}
}

/**
 * abrir()
 */ 
function abrir(ID){
	$("#"+ID).css('display', 'block');
}




/* jQuery CooQuery Plugin v2 (minified) - http://cooquery.lenonmarcel.com.br/
Copyright 2009, 2010 Lenon Marcel
Dual licensed under the MIT and GPL licenses.
http://www.opensource.org/licenses/mit-license.php
http://www.gnu.org/licenses/gpl.html 

http://plugins.jquery.com/project/cooquery
*/
(function($){$.setCookie=function(name,value,options){if(typeof name==='undefined'||typeof value==='undefined')
return false;var str=name+'='+encodeURIComponent(value);if(options.domain)str+='; domain='+options.domain;if(options.path)str+='; path='+options.path;if(options.duration){var date=new Date();date.setTime(date.getTime()+options.duration*24*60*60*1000);str+='; expires='+date.toGMTString();}
if(options.secure)str+='; secure';return document.cookie=str;};$.delCookie=function(name){return $.setCookie(name,'',{duration:-1});};$.readCookie=function(name){var value=document.cookie.match('(?:^|;)\\s*'+name.replace(/([-.*+?^${}()|[\]\/\\])/g,'\\$1')+'=([^;]*)');return(value)?decodeURIComponent(value[1]):null;};$.CooQueryVersion='v 2.0';})(jQuery);


//=========================================================================================================
// ----> Funções de posicionamento



