function valida_email(email){
	return (/^([\w\.\-])+\@(([\w\-])+\.)+([\w ]{2,4})$/).test(email);
}

function show_hide_dept(dept_id){
	if($('#dept-' + dept_id).css('display') == 'block'){
		$('#dept-' + dept_id).slideUp(500);
		$('#title-dept-' + dept_id).attr("class", "dept-empresa-collapsed");
	}
	else{
		$('#dept-' + dept_id).slideDown(500);
		$('#title-dept-' + dept_id).attr("class", "dept-empresa-expanded");
	}
}

function show_hide_indicacao(id){
	if($('#container-indicacao-' + id).css('display') == 'block'){
		$('#container-indicacao-' + id).css('display', 'none');
	}
	else{
		$('#container-indicacao-' + id).css('display', 'block');
	}
}

function switch_options_exibir_login(set){
	switch(set){
		case 0: //desabilitar
			$('#exibirLoginSim').attr('disabled', 'disabled');
			$('#exibirLoginNao').attr('disabled', 'disabled');
			break;
		
		case 1: //habilitar
			$('#exibirLoginSim').removeAttr('disabled');
			$('#exibirLoginNao').removeAttr('disabled');
			break;
	}
}

function facebox_alert(page){
	$.facebox(function(){
		$.get(page, function(data) {
			$.facebox(data)
		})
	})
}

function search_comunidade_empresarial(list){
	var q = jQuery.trim($("#q").val());
	var url = $("#search_base_url").val();
	
	//Verifica se está setada a pesquisa avançada e se algum dos filtros está setado
	if($('#set_advanced_search').val() == 1){
		if(list == 'empresas'){
			if(($('select#areaAtuacao').val() != '' && $('#checkArea').attr('checked')) || ($('select#uf').val() != '' && $('#checkEstado').attr('checked'))){
				var advanced = true;
			}
			else{
				var advanced = false;
			}
		}
		else if(list == 'oportunidades'){
			if(($('select#uf').val() != '' && $('#checkEstado').attr('checked')) || ($('select#categoria').val() != '' && $('#checkCat').attr('checked')) || ($('select#areaAtuacao').val() != '' && $('#checkArea').attr('checked'))){
				var advanced = true;
			}
			else{
				var advanced = false;
			}
		}
		else if(list == 'oportunidades-empresas'){
			if(($('select#categoria').val() != '' && $('#checkCat').attr('checked')) || ($('select#areaAtuacao').val() != '' && $('#checkArea').attr('checked'))){
				var advanced = true;
			}
			else{
				var advanced = false;
			}
		}
		else if(list == 'curriculos'){
			if(($('select#areaAtuacao').val() != '' && $('#checkArea').attr('checked')) || ($('select#uf').val() != '' && $('#checkEstado').attr('checked'))){
				var advanced = true;
			}
			else{
				var advanced = false;
			}
		}
		else if(list == 'vagas'){
			if(($('select#areaAtuacao').val() != '' && $('#checkArea').attr('checked')) || ($('select#uf').val() != '' && $('#checkEstado').attr('checked')) || ($('select#id_pais').val() != '' && $('#checkPais').attr('checked')) || ($('select#perfil_vaga').val() != '' && $('#checkPerfil').attr('checked')) || (($('#remuneracao_minimo').val() != '' || $('#remuneracao_maximo').val() != '') && $('#checkRemuneracao').attr('checked'))){
				var advanced = true;
			}
			else{
				var advanced = false;
			}
		}
	}
	else{
		var advanced = false;
	}
	
	//Valida a pesquisa
	if((list != 'empresas' && list != 'vagas' && list != 'oportunidades' && list != 'oportunidades-empresas' && list != 'curriculos' && !jQuery.trim(q)) || ((list == 'empresas' || list == 'oportunidades' || list == 'oportunidades-empresas' || list == 'curriculos' || list == 'vagas') && !advanced && !jQuery.trim(q))){
		$("#q").val("Digite um termo para a pesquisa");
		$("#q").select();
		return false;
	}
	else{
		q = q.replace(/ /, "+");
		var query = url + "/" + list + "/pesquisa?q=" + q;
		
		if(list == 'empresas'){
			if($('#set_advanced_search').val() == 1){
				query += '&adv=1';
				if($('select#areaAtuacao').val() != '' && $('#checkArea').attr('checked')){
					query += '&aa=' + $('select#areaAtuacao').val();
				}
				if($('select#uf').val() != '' && $('#checkEstado').attr('checked')){
					query += '&uf=' + $('select#uf').val();
				}
			}
		}
		else if(list == 'oportunidades'){
			if($('#set_advanced_search').val() == 1){
				query += '&adv=1';
				if($('select#areaAtuacao').val() != '' && $('#checkArea').attr('checked')){
					query += '&aa=' + $('select#areaAtuacao').val();
				}
				if($('select#uf').val() != '' && $('#checkEstado').attr('checked')){
					query += '&uf=' + $('select#uf').val();
				}
				if($('select#categoria').val() != '' && $('#checkCat').attr('checked')){
					query += '&cat=' + $('select#categoria').val();
				}
			}
		}
		else if(list == 'oportunidades-empresas'){
			if($('#set_advanced_search').val() == 1){
				query += '&adv=1';
				if($('select#areaAtuacao').val() != '' && $('#checkArea').attr('checked')){
					query += '&aa=' + $('select#areaAtuacao').val();
				}
				if($('select#categoria').val() != '' && $('#checkCat').attr('checked')){
					query += '&cat=' + $('select#categoria').val();
				}
			}
		}
		else if(list == 'curriculos'){
			if($('#set_advanced_search').val() == 1){
				query += '&adv=1';
				if($('select#areaAtuacao').val() != '' && $('#checkArea').attr('checked')){
					query += '&aa=' + $('select#areaAtuacao').val();
				}
				if($('select#uf').val() != '' && $('#checkEstado').attr('checked')){
					query += '&uf=' + $('select#uf').val();
				}
			}
		}
		else if(list == 'vagas'){
			if($('#set_advanced_search').val() == 1){
				query += '&adv=1';
				if($('select#id_pais').val() != '' && $('#checkPais').attr('checked')){
					query += '&id_pais=' + $('select#id_pais').val();
				}
				if($('select#areaAtuacao').val() != '' && $('#checkArea').attr('checked')){
					query += '&aa=' + $('select#areaAtuacao').val();
				}
				if($('select#perfil_vaga').val() != '' && $('#checkPerfil').attr('checked')){
					query += '&perfil=' + $('select#perfil_vaga').val();
				}
				if($('#remuneracao_minimo').val() != '' && $('#checkRemuneracao').attr('checked')){
					query += '&min=' + $('#remuneracao_minimo').val();
				}
				if($('#remuneracao_maximo').val() != '' && $('#checkRemuneracao').attr('checked')){
					query += '&max=' + $('#remuneracao_maximo').val();
				}
				if($('select#uf').val() != '' && $('#checkEstado').attr('checked')){
					query += '&uf=' + $('select#uf').val();
				}
			}
		}
		
		window.location.href = query;
	}
}

function lista_publicacoes_empresa(empresa){
	if(empresa != 0){
		window.location.href = $("#search_base_url").val() + "/publicacoes/empresa/" + empresa;
	}
}

function remover_publicacao(pub_id){
	if(confirm("Tem certeza que deseja apagar essa publicação?")){
		$('#pub_id').val(pub_id);
		document.form_del_pub.submit();
	}
}


function view_pub_statistics(img, id){
	if($('#pub_' + id).css('display') == 'none'){
		$(img).attr('src', 'img/collapse.gif').attr('title', 'Esconder estatísticas da publicação').attr('alt', 'Esconder');
		$('#pub_' + id).slideDown(500);
		/*data.animate({height: 'show', opacity: 'show'}, 'slow');*/
	}
	else{
		$(img).attr('src', 'img/expand.gif').attr('title', 'Exibir estatísticas da publicação').attr('alt', 'Exibir');
		$('#pub_' + id).slideUp(500);
		/*data.animate({height: 'hide', opacity: 'hide'}, 'slow');*/
	}
}

function changeCount(input, countId, limit){
	if($(input).val().length <= limit){
		$("#" + countId).html($(input).val().length);
	}
}

var tabIndex = 1;
function changeTab(tabId, init_tab, end_tab){
	if(tabIndex == tabId) return false;
	
	var tab;
	var container;
	
	for(var i = init_tab; i <= end_tab; i++){
		tab = $("#tab" + i);
		container = $("#container" + i);
		
		if(tabId == i){
			tab.addClass("selected");
			tabIndex = tabId;
			container.show();
		}
		else{
			tab.removeClass("selected");
			container.hide();
		}
	}
}

function changeHash(hashName){
	window.location.hash = hashName;
}

function setOptionForgotPass(opt){
	switch(opt){
		case 1:
			$("#pass_email").removeAttr('disabled');
			$("#pass_buttonEmail").removeAttr('disabled');
			
			$("#pass_loginEmpresa").attr('disabled', true);
			$("#pass_loginUsuario").attr('disabled', true);
			$("#pass_buttonDados").attr('disabled', true);
			
			break;
		
		case 2:
			$("#pass_email").attr('disabled', true);
			$("#pass_buttonEmail").attr('disabled', true);
			
			$("#pass_loginEmpresa").removeAttr('disabled');
			$("#pass_loginUsuario").removeAttr('disabled');
			$("#pass_buttonDados").removeAttr('disabled');
			
			break;
	}
}

function verifica_extensao_arquivo(file_input, ext_array){
	var valid = false;
	var ext_text = '';
	
	for(var i = 0; i < ext_array.length; i++){
		if(checkFileType($(file_input).val(), ext_array[i])){
			valid = true;
		}
		
		if(i == 0)
			ext_text += '<strong>.' + ext_array[i] + '</strong>';
		else if(i == (ext_array.length - 1))
			ext_text += ' e <strong>.' + ext_array[i] + '</strong>';
		else
			ext_text += ', <strong>.' + ext_array[i] + '</strong>';
	}
	
	if(!valid){
		$(file_input).val('');
		jQuery.facebox("Extensão de arquivo não permitida! Somente " + ext_text);
	}
}

function show_hide_advanced_search(anchor){
	if($('#pesquisa-avancada-comunidade').css('display') == 'none'){
		$('#pesquisa-avancada-comunidade').slideDown(500);
		$(anchor).attr('class', 'pesquisa-avancada-enabled');
		$('#set_advanced_search').val(1);
	}
	else{
		$('#pesquisa-avancada-comunidade').slideUp(500);
		$(anchor).attr('class', 'pesquisa-avancada-disabled');
		$('#set_advanced_search').val(0);
	}
}

function show_hide_detalhes_oportunidade(anchor, id){
	if($('#detalhes-' + id).css('display') == 'none'){
		$(anchor).html('[Esconder detalhes]');
		$('#detalhes-' + id).slideDown('slow');
	}
	else{
		$(anchor).html('[Ver detalhes]');
		$('#detalhes-' + id).slideUp('slow');
	}
}

function addExternalLinks(container_id){
	$.each($("#" + container_id + " a"), function(){
		if($(this).attr('target') != '_self' && $(this).attr('href'))
			$(this).attr('target', '_blank');
	});
}

function addClassToLinks(container_id, class_name){
	$.each($("#" + container_id + " a"), function(){
		$(this).attr('class', class_name);
	});
}

function limitChars(textarea, limit, infodiv){
	if($(textarea).val().length > limit){
		$(textarea).val($(textarea).val().substr(0, limit));
		return false;
 	}
	else{
		$("#" + infodiv).html($(textarea).val().length);
		return true;
	}
}

function valida_personalizar_vitrine(){
	if($("input[name='config_vitrine']:checked").val() == 1){
		if($("select[name='vitrine1']").val() == '' || $("select[name='vitrine2']").val() == '' || $("select[name='vitrine3']").val() == ''){
			alert('Selecione os produtos/serviços que devem ser colocados na vitrine!');
			return false;
		}
		else if(($("select[name='vitrine1']").val() == $("select[name='vitrine2']").val()) || ($("select[name='vitrine2']").val() == $("select[name='vitrine3']").val()) || ($("select[name='vitrine1']").val() == $("select[name='vitrine3']").val())){
			alert('Selecione produtos/serviços diferentes para colocar na vitrine!');
			return false;
		}
	}
	
	return true;
}

/*=================== OPORTUNIDADES DE NEGÓCIO DA EMPRESA ===================*/

function insert_business_item(){
	if(item_no >= item_limit){
		alert('O limite de ' + item_limit + ' itens foi atingido!');
		return false;
	}
	
	item_no++;
	
	var div_html = '\
		<div id="item_' + item_no + '" class="item"> \
			<span class="item-number">#' + item_no + '</span> \
			<input type="text" name="qtd_itens[]" class="input-padrao" style="width:30px; text-align:right" title="Quantidade de itens" onkeypress="return somenteNumero(event)" maxlength="3"> x \
			<input type="text" name="itens[]" class="input-padrao input-nova-oportunidade" title="Nome do item"> \
			<a href="#" title="Remover item" onclick="remove_business_item(' + item_no + '); return false;">[x]</a> \
			<br><textarea name="desc_itens[]" class="input-padrao" style="height:40px; margin-left:18px; width:457px" title="Descrição do item"></textarea> \
		</div> \
	';
	
	$("#field-itens").append(div_html);
	$("#field-itens div:last input:first").focus();
}

function remove_business_item(item_number){
	$("#item_" + item_number).remove();
	item_no--;
	
	//Corrige a numeração dos itens
	var spans = $("#field-itens span.item-number");
	for(var i = 1; i < spans.length; i++){
		spans[i].innerHTML = '#' + (i + 1);
	}
}

function show_prorrogar_oportunidade(id){
	$('#tr_prorrogue_' + id).show();
	$('#prorrogue_days_' + id).focus();
}

function prorrogar_oportunidade(id){
	$("#prorrogue_id").val(id);
	$("#prorrogue_days").val($('#prorrogue_days_' + id).val());
	$("form[name='form_prorrogue']").submit();
}

function show_hide_ofertas(lnk_id, id){
	if($('#ofertas-' + id).css('display') == 'block'){
		$('#' + lnk_id + ' > img').attr('src', 'img/expand.gif');
		$('#ofertas-' + id).slideUp('slow');
	}
	else{
		$('#' + lnk_id + ' > img').attr('src', 'img/collapse.gif');
		$('#ofertas-' + id).slideDown('slow');
	}
}

/*-----------------------------------------------------------------------------------------*/

function check_dept_users(check_state, dept_id){
	if(!check_state)
		$('.check_deptarea_' + dept_id).removeAttr('checked');
	else
		$('.check_deptarea_' + dept_id).attr('checked', 'checked');
}

function check_all(checkState, container_id){
	if(checkState) $("#" + container_id + " :checkbox").attr('checked', 'checked');
	else $("#" + container_id + " :checkbox").removeAttr('checked');
}

function switch_month_list(year_link_id, year){
	if($('#' + year + '_month_list').css('display') == 'none'){
		$('#' + year + '_month_list').slideDown('slow');
		$('#' + year_link_id).removeClass('closed').addClass('opened');
	}
	else{
		$('#' + year + '_month_list').slideUp('slow');
		$('#' + year_link_id).removeClass('opened').addClass('closed');
	}
}

function toggle_blog_description(){
	$('#blog-packed-description').toggle();
	$('#blog-entire-description').toggle();
}

function switch_tag_view(action){
	switch(action){
		case 0:
			$('#anchor-tag-cloud').removeClass('selected');
			$('#anchor-tag-list').addClass('selected');
			
			$('#tag-cloud').css('display', 'none');
			$('#tag-list').css('display', 'block');
			break;
		
		case 1:
			$('#anchor-tag-list').removeClass('selected');
			$('#anchor-tag-cloud').addClass('selected');
			
			$('#tag-list').css('display', 'none');
			$('#tag-cloud').css('display', 'block');
			break;
	}
}

//------------------------- VERIFICAÇÃO DE EXTENSÃO DE ARQUIVO ------------------------------

function getFileExtension(filename){
	var dot = filename.lastIndexOf(".");
	if(filename.length == 0 || dot == -1)
		return "";
	
	return filename.substr((dot + 1), filename.length).toLowerCase();
} 

function checkFileType(filename, allowedExt){
	return (getFileExtension(filename) == allowedExt);
}

/*---------------------------------------------------*/

function somenteNumero(e, comma, field_value){ //Uso: onkeypress='return somenteNumero(event)' ou onkeypress='return somenteNumero(event, true, this.value)'
	var key = (window.event) ? event.keyCode : e.which;
	
	if((key > 47 && key < 58) || key == 8 || key == 0){
		if(comma){
			if((field_value.indexOf(",") != -1) && (key > 47 && key < 58)){
				if(field_value.substr((field_value.indexOf(",") + 1), field_value.length).length == 2)
					return false;
			}
		}
    }
	else if(key == 44){
		if(comma){
			if(field_value == "" || field_value.match(",") == ",")
				return false;
		}
		else
			return false;
	}
	else{
		return false; 	
	}
	
	return true;
}

function disable_ctrl_c(e){
	var key_code = (window.event) ? event.keyCode : e.which;
	var ctrl_key = (window.event) ? event.ctrlKey : e.ctrlKey;
	
	if(ctrl_key && key_code == 67){
		alert("Sua senha não pode ser copiada.\nConfirme-a digitando normalmente no campo abaixo.");
	}
}


function mostra_resposta(item){
	$('#sub' + item).toggle();
}			// JavaScript Document
