//configs
var largura_conteudo = 418; //tem que ser divisivel por 2
var px_speed = 10;
var fps = 50;
var colortable = Array(
[58,87,81],
[58,87,133],
[25,110,135],
[76,161,186],
[112,186,161],
[122,166,128],
[153,171,30],
[197,171,30],
[235,204,38],
[235,135,10],
[158,87,46],
[122,115,115],
[151,133,99],
[225,140,107],
[186,115,115],
[133,87,81],
[133,46,81]
);


//code
var $j = jQuery;
var frametime = parseInt(1000/fps); 
var anim_p = 0;
var anim_timer = null;
var pane_to_open = null;
var pane_to_close = null;
var cor_escolhida;
var cor_base;

function anim_frame(){
	anim_p = anim_p + px_speed;
	var fim = false;

	if(anim_p>=100){
		anim_p = 100;
		fim = true;
	}
	
	largura = Math.ceil(anim_p/100 * largura_conteudo);
	_largura = Math.floor((1-anim_p/100) * largura_conteudo);
	
	if(largura>0) $j(pane_to_open).show();
	
	if(pane_to_open[0] == $j('#content .section.spacer')[0]){
		$j(pane_to_open).css('width',largura/2);
	}else{
		$j(pane_to_open).css('width',largura);
	}
	
	if(pane_to_close[0] == $j('#content .section.spacer')[0]){	
		$j(pane_to_close).css('width',_largura/2);
	}else{
		$j(pane_to_close).css('width',_largura);
	}
		
	if(_largura <=0){
		$j(pane_to_close).hide();
	}

	if(fim)return;
	
	anim_timer = setTimeout(anim_frame,frametime);
}


function anim_start(){
	anim_p = 0;
	
	$j("A IMG.active").removeClass('active').parent().each(cor_mouseout);
	
	pane_to_close = pane_to_open;
	pane_to_open = $j(this).parent().parent().next();
	
	if(pane_to_close[0] && pane_to_close[0] == pane_to_open[0]){
		//se clicar no section aberto
		pane_to_close = pane_to_open;
		pane_to_open = $j('#content .section.spacer');
	}else{
		//senao
		$j(this).find('IMG').addClass('active');
	}
	
	$j('#footer').fadeOut(600);
	
	anim_timer = setTimeout(anim_frame,frametime);
}

function anim_stop(){
	clearTimeout(anim_timer);
}

function getHex(dec) {
	var hexArray = new Array( "0", "1", "2", "3", 
							  "4", "5", "6", "7",
							  "8", "9", "A", "B", 
							  "C", "D", "E", "F" ); 
	var code1 = Math.floor(dec / 16);
	var code2 = dec - code1 * 16; 
	var decToHex = hexArray[code2]; 
	return (decToHex);
} 

function toHexCode(dec){
	var hexCode= new Array(); 
	var i=0; 
	while(dec > 15){
		hexCode[i] = getHex(dec); 
		dec = Math.floor(dec / 16); 
		i+=1;
	} 
	hexCode[i] = getHex(dec); 
	var decToHex = ""; 
	for(i=hexCode.length-1; i>=0; i--){
		decToHex += hexCode[i];
	}
	return decToHex; 
}

function _minmax(a,b,value){
	return Math.max(0,Math.min(255,value));
}

function defineColors(){
	//Escolha de cor
	cor_escolhida = colortable[Math.floor(Math.random() * colortable.length)];
	cor_base = cor_escolhida;
	
	cor_dec = (cor_escolhida[0]*65536) + (cor_escolhida[1] * 256) + cor_escolhida[2];
	cor_escolhida = '#'+toHexCode(cor_dec);
	
	//calculo das cores alternativas
	cor_base[0] += _minmax(0,255,Math.floor((255-cor_base[0]) * 0.4));
	cor_base[1] += _minmax(0,255,Math.floor((255-cor_base[1]) * 0.4));
	cor_base[2] += _minmax(0,255,Math.floor((255-cor_base[2]) * 0.4));
	
	cor_base_dec = (cor_base[0]*65536) + (cor_base[1] * 256) + cor_base[2];
	cor_base = '#'+toHexCode(cor_base_dec);
	
	$j('A.big IMG, #header .inside .logo').css('background-color',cor_escolhida);
	$j('A.big').hover(cor_mousehover,cor_mouseout);	
}
function hover_to_cor(obj){
	var src = String(obj.attr('src')).replace(/_pb\.png$/g, "_cor.png");
	obj.attr('src',src);
}
function hover_to_pb(obj){
	var src = String(obj.attr('src')).replace(/_cor\.png$/g, "_pb.png");
	obj.attr('src',src);
}
function cor_mousehover(){
	hover_to_cor($j(this).find('IMG').not('.active'));
	hover_to_pb($j(this).find('IMG.active'));
	/*
	$j(this).find('IMG').not('.active').css('background-color',cor_escolhida);
	$j(this).find('IMG.active').css('background-color',cor_base);
	*/
}
function cor_mouseout(){
	hover_to_pb($j(this).find('IMG').not('.active'));
	hover_to_cor($j(this).find('IMG.active'));
	/*
	$j(this).find('IMG').not('.active').css('background-color',cor_base);
	$j(this).find('IMG.active').css('background-color',cor_escolhida);
	*/
}

function abre_contactos(){
	$j("#contactos").animate( { top:"38px" }, { queue:false, duration:600 } );
	$j("#contactos .ne").click(function(){
		$j("#contactos").animate( { top:"-260px" }, { queue:false, duration:600 } )			  
	});
}

$j(document).ready(function(){
	$j("#content .sectioncontent").hide().width="0%";
	$j('#content .section .sectionlabel a.big').removeAttr('href');
	$j('#content .section .sectionlabel a.big').click(anim_start);

	$j(".linkcontactos").click(abre_contactos);

	//vai ser herdado por pane_to_close
	pane_to_open = $j('#content .section.spacer');
	
	defineColors();
	
	//remover focus
	$j("#content .section a").each(function(){$j(this).onmouseup = $j(this).blur();});
	
	//auto open #
	var myregexp = /^(.*)#(.*)$/;
	var match = myregexp.exec(window.location);
	if (match != null && match.length > 2) {
		switch(match[2]){
			case 'you':
			case 'we':
			case 'us':
				$j("#content .section."+match[2]+" a.big").click();
			break;
		}
	}

});