(function($){
	$.fn.clearDefault = function(){
		return this.each(function(){		
			var default_value = $(this).val();
		
			$(this).focus(function(){
				if ($(this).val() == default_value) $(this).val("");
			});
			$(this).blur(function(){
				if ($(this).val() == "") $(this).val(default_value);
			});
		});
	};
})(jQuery);

function pageVagas(url){
	$.cookie('p-key', '');
	window.location=url+"vagas";
}

// passo 1/2  - controle do cadastro
function startupCadastrar(url, passo)
// url -> caminho da aplicacao
// passo -> passo 1 ou 2 do cadastro
{
	if(passo == 1) startupCadastroPasso1(url, passo);
	if(passo == 2) startupCadastroPasso2(url, passo);

return false;
}


function buscaCloud(palavra,url){
	$.cookie('p-key', palavra);
	
	 window.location.href = url ;
}



// passo 1
function startupCadastroPasso1(url, passo)
{
	validacao = true;
	mensagem = "";
	
	// recebe os dados do formulario
	vResponsavel = $("input[name='cadastro1_responsavel']").val();
	vEmail = $("input[name='cadastro1_email']").val();
	vLogin = $("input[name='cadastro1_login']").val();
	vSenha = $("input[name='cadastro1_senha']").val();
	vSenhaConfirmar = $("input[name='cadastro1_senha_confirmar']").val();
	
	// valida o preenchimento dos campos
	if(
		vResponsavel == "" ||
		vEmail == "" ||
		vLogin == "" ||
		vSenha == "" ||
		vSenhaConfirmar == ""
	)
	{
		mensagem += "Preencha todos os campos;<br/>";
		
		validacao = false;
	}
	
	// valida o email
	var emailRegex = new RegExp(/^[A-Za-z0-9_\-\.]+@[A-Za-z0-9_\-\.]{2,}\.[A-Za-z0-9]{2,}(\.[A-Za-z0-9])?/);
	
	if(!emailRegex.test(vEmail))
	{ 
		mensagem += "E-mail inválido;<br/>";
		
		validacao = false;
	}
	
	// confirma os campos da senha/igualdade
	if(vSenha != vSenhaConfirmar)
	{
		mensagem += "Confirmação de senha incorreta;<br/>";
		
		validacao = false;
	}
	
	// valida o formulario
	if(!validacao)
	{
		$(".cadastro1_mensagem").html(mensagem);
	}
	else
	{
	// informa o status de 'envio'
		$(".cadastro1_mensagem").html("Aguarde, enviando...");
		
		// esconde o formulario durante o envio
		$(".cadastro1 form[name='cadastro_form']").hide("fast");
		
		// metodo para validacao do login/email
		startupCadastroPasso1Validar(url, passo);
	}
}

// passo 1 - validacao do email/login
function startupCadastroPasso1Validar(url, passo)
{
	mensagem = "";
	
	$.ajax(
		{
			// pagina que valida email/login da startup
			url: url + "startup/cadastro-validar",
			global: false,
			type: "POST",
			data: ({email : vEmail, login : vLogin}),
			dataType: "text",
			success: function(data)
			// var: data
			// retorna: # / EMAIL#LOGIN / EMAIL# / #LOGIN
			{
				validacao = data.split("#");
				
				// se posicao 0 preenchida
				// email ja esta cadastrado no sistema
				if(validacao[0] == "EMAIL")
				{
					mensagem += "E-mail já utilizado;<br/>";
				}
				
				// se posicao 1 preenchida
				// login ja esta cadastrado no sistema
				if(validacao[1] == "LOGIN")
				{
					mensagem += "Login já cadastrado;<br/>";
				}
				
				// validacao email/login
				if(mensagem == "")
				{
					startupCadastroPasso1Enviar(url, passo);
				}
				else
				{
					$(".cadastro1_mensagem").html(mensagem);
					
					$(".cadastro1 form[name='cadastro_form']").show("fast");
					
					return false;
				}
			}
		}
	);
}

// passo 1 - envio dos dados e cadastro da startup
function startupCadastroPasso1Enviar(url, passo)
{
	$.ajax(
		{
			url: url + "startup/cadastre-se-1",
			global: false,
			type: "POST",
			data: ({responsavel : vResponsavel, email : vEmail, login : vLogin, senha : vSenha}),
			dataType: "text",
			success: function(data)
			// var: data
			// retorna: TRUE#ID / FALSE
			{
				if(data != "FALSE")
				{
					// recebe o ID para o retorno TRUE#ID
					id = data.split("#");
					id = id[1];
					
					// define o ID da startup para o passo 2
					$("input[name='cadastro2_id_startup']").val(id);
					
					$(".cadastro1").hide();
					$(".cadastro2").show("fast");
					
					$(".cadastroPasso").html(passo);
				}
				else
				{
					// informa falha no cadastro do passo 1
					$(".cadastro2_mensagem").html("Falha ao enviar o passo 1, tente novamente!");
				}
			}
		}
	);
}

// passo 2
function startupCadastroPasso2(url, passo)
{
	validacao = true;
	mensagem = "";
	
	// recebe os dados do formulario
	vIdStartup 			= $("input[name='cadastro2_id_startup']").val();
	vImg 				= $("input[name='cadastro2_img']").val();
	vSite				= $("input[name='cadastro2_site']").val();
	vNome 				= $("input[name='cadastro2_nome_startup']").val();
	vEndereco 			= $("input[name='cadastro2_endereco']").val();
	vIdCidade 			= $("select[name='cadastro2_id_cidade']").val();
	vIdEstado 			= $("select[name='cadastro2_id_estado']").val();
	vAnoFundacao 		= $("select[name='cadastro2_ano_fundacao']").val();
	vIdAreaAtuacao 		= $("select[name='cadastro2_id_area_atuacao']").val();
	vReceitaAnual 		= $("input[name='cadastro2_receita_anual']").val();
	vDescricao 			= $("textarea[name='cadastro2_descricao']").val();
	qtd_colaboradores 	= $("input[name='qtd_colaboradores']").val();
	email 				= $("input[name='cadastro2_email']").val();
	senha 				= $("input[name='cadastro2_senha']").val();
	
	if(email == undefined){email ="";}
	if(senha == undefined){senha ="";}
	
	// informa o status de 'envio'
	$(".cadastro2_mensagem").html("Aguarde, enviando...");
	
	// esconde o formulario durante o envio
	$(".cadastro2 form[name='cadastro_form']").hide("fast");
	
	$.ajax(
		{
			url: url + "startup/cadastre-se-2",
			global: false,
			type: "POST",
			data: ({
				id_startup : vIdStartup, 
				img : vImg, 
				site : vSite, 
				nome : vNome, 
				endereco : vEndereco, 
				id_cidade : vIdCidade, 
				id_estado : vIdEstado, 
				ano_fundacao : vAnoFundacao, 
				id_area_atuacao : vIdAreaAtuacao, 
				receita_anual : vReceitaAnual, 
				descricao : vDescricao,
				qtd_colaboradores: qtd_colaboradores,
				email:email,
				senha:senha				
			}),
			dataType: "text",
			success: function(data)
			// var: data
			// retorna: TRUE / FALSE
			{
				if(jQuery.trim(data) == "TRUE")
				{
					$(".cadastro2_mensagem").html("Registrado com sucesso!<br><br><span style='color:#000'> Clique <a href='"+url+"para_voce' style='color:#f00'>aqui</a> para fazer o login.</span>");
					$(".atualizar_mensagem").fadeOut(300);
					$(".atualizar_mensagem").html("<span style='color:#FF9900; font-size:12px;font-weight:bold'>Atualizado com sucesso!</span>");					
					$(".atualizar_mensagem").fadeIn(300);

				}
				else
				{
					// informa falha no cadastro do passo 2
					$(".cadastro2_mensagem").html("Falha ao enviar o passo 2, tente novamente!");
					
					$(".atualizar_mensagem").fadeOut(300);
					$(".atualizar_mensagem").html("<span style='color:#F00; font-size:12px;font-weight:bold'>Falha ao atualizar!</span>");					
					$(".atualizar_mensagem").fadeIn(300);
				}
				
			}
		}
	);
}

//cadastrando vagas
function vagaCadastrar(url, id_form,id_vaga){
	
	//parâmetros opcionais
	if(id_form == undefined){
		id_form = "";
	}
	if(id_vaga == undefined){
		id_vaga = "";
	}	
	
	// recebe os dados do formulario
	vaga_id_startup		= $("input[name='vaga_id_startup"+id_form+"']").val();
	vaga_cargo			= $("input[name='vaga_cargo"+id_form+"']").val();
	vaga_descricao		= $("textarea[name='vaga_descricao"+id_form+"']").val();
	vaga_endereco		= $("input[name='vaga_endereco"+id_form+"']").val();
	vaga_id_estado		= $("select[name='vaga_id_estado"+id_form+"']").val();
	vaga_id_cidade		= $("select[name='vaga_id_cidade"+id_form+"']").val();
	vaga_requisitos		= $("input[name='vaga_requisitos"+id_form+"']").val();
	vaga_formacao 		= $("input[name='vaga_formacao"+id_form+"']").val();
	vaga_experiencia	= $("input[name='vaga_experiencia"+id_form+"']").val();
	vaga_beneficios 	= $("input[name='vaga_beneficios"+id_form+"']").val();
	// informa o status de 'envio'
	$(".cadastro2_mensagem").html("Aguarde, enviando...");
	$.ajax(
		{
			url: url + "vagas/add_vagas",
			global: false,
			type: "POST",
			data: ({
	  		    vaga_id_startup	 : vaga_id_startup,
				vaga_cargo		 : vaga_cargo,
				vaga_descricao	 : vaga_descricao,
				vaga_endereco	 : vaga_endereco,
				vaga_id_estado	 : vaga_id_estado,
				vaga_id_cidade	 : vaga_id_cidade,
				vaga_requisitos	 : vaga_requisitos,
				vaga_formacao 	 : vaga_formacao,
				vaga_experiencia : vaga_experiencia,
				vaga_beneficios  : vaga_beneficios,
				vaga_id			 : id_vaga
			}),
			dataType: "json",
			success: function(data)
			{
				
				if(data)
				{
					//nova vaga	
					if(isNaN(parseInt(id_form)) ){
						
						$("#vaga_form")[0].reset();
						changeTab('vagas_lista','adiciona_vaga');
						qtdAtual = parseInt($(".quantas").attr("title")) +1;
						key		 = data["id"]-1;
						//montando nova vaga inserida						
						divHtml  = '<div class="vagas"  id="vaga'+key+'" style="border-bottom:dashed 1px #ccc"  >';
						divHtml += '<p class="left datavaga'+key+'" >'+data["data"]+'<\/p>';
						divHtml += '<a href="javascript:;" class="editar_vaga left" onclick="showEditVaga('+key+')">editar<\/a>';
						divHtml += '<a href="javascript:;" id="encerraVagas'+key+'" class="encerrar_vaga left" style="width:98px" onclick="changeStatus(\''+url+'\','+key+','+data["id"]+',\'encerrar\')">Encerrar vaga</a>';
						divHtml += '<a href="javascript:;" onclick="changeStatus(\''+url+'\','+key+','+data["id"]+',\'excluir\')" class="excluir_vaga left">excluir</a>';
						divHtml += '<h4 class="left infocargo'+key+'">'+data["cargo"]+' <span>'+data["cidade"]+' '+data["estado"]+'<\/span></h4>';
						divHtml += '<br class="clear" \/> <p class="desc left descricao'+key+'">'+data["descricao"]+'<\/p> ';
						divHtml += '<div class="editar_vaga_'+key+'" style="width:500px;   display:none;">';
						divHtml += '<\/div>';
						divHtml += '<\/div>';
						
						$("#todas_vagas").prepend(divHtml);
						$(".quantas").html(qtdAtual);
						$(".quantas").attr("title",qtdAtual);
						
						$(".vagacad_mensagem").html("");
						$('.editar_vaga_'+key).load(url+'vagas/alterar_vaga_dinamica/'+data["id"]);
					}
					//atualizando vaga
					else{
						$(".datavaga"+id_form).html();
						$(".infocargo"+id_form).html(data["cargo"]+' <span>'+data["cidade"]+' '+data["estado"]+'</span>');
						$(".descricao"+id_form).html('<br class="clear" \/> <p class="left descricao desc">'+data["descricao"]+'<\/p> <\/div>');
					
						showEditVaga(id_form);
					}
				}
				else
				{
					$(".vagacad_mensagem"+id_form).html("Falha ao cadastrar esta vaga!");
					$(".vagacad_mensagem"+id_form).show();
				}
				
			}
		}
	);
	return false;
}

//cadastrando candidatos

function candidatoCadastrar(url){

	// recebe os dados do formulario
	id_vaga 		= $("input[name='id_vaga']").val();
	nome			= $("input[name='nome']").val();
	email			= $("input[name='email']").val();
	curriculo_anexo	= $("input[name='curriculo_anexo']").val();
	curriculo_extenso= $("textarea[name='curriculo_extenso']").val();
	twitter			= $("input[name='twitter']").val();
	linkedin		= $("input[name='linkedin']").val();
	orkut			= $("input[name='orkut']").val();
	facebook		= $("input[name='facebook']").val();
	
	// informa o status de 'envio'
	$(".cadastro2_mensagem").html("Aguarde, enviando...");
	$.ajax(
		{
			url: url + "candidato/add_candidato",
			global: false,
			type: "POST",
			data: ({
	  		    id_vaga :id_vaga,
				nome:nome,	
				email:email,
				curriculo_anexo:curriculo_anexo,
				curriculo_extenso:curriculo_extenso,
				twitter:twitter,
				linkedin:linkedin,
				orkut:orkut,
				facebook:facebook
			}),
			dataType: "text",
			success: function(data)
			{
				if(data =="ok")
				{

					$(".erro_candidato_mensagem").fadeOut(300);
					$(".candidato_mensagem").fadeIn(300);
					
					$("input[name='nome']").val('');
					$("input[name='email']").val('');
					$("input[name='curriculo_anexo']").val('');
					$("textarea[name='curriculo_extenso']").val('');
					$("input[name='twitter']").val('http://');
					$("input[name='linkedin']").val('http://');
					$("input[name='orkut']").val('http://');
					$("input[name='facebook']").val('http://');
					
					
					
					
				}
				else
				{
					$(".erro_candidato_mensagem").fadeIn(300);
					$(".candidato_mensagem").fadeOut(300);							
				}
				
			}
		}
	);
	return false;
}




function changeStatus(url,key,id_vaga,status){
	$.ajax(
		{
			url: url + "vagas/encerrar",
			global: false,
			type: "POST",
			data: ({id_vaga : id_vaga,status:status}),
			dataType: "text",
			success: function(data)
			{
				if(data != "FALSE")
				{
					if(status == "encerrar"){ //encerrando vaga
						$("#encerraVagas"+key).fadeOut(300,function(){
							$("#encerraVagas"+key).fadeIn(300); 
							$("#encerraVagas"+key).removeClass('encerrar_vaga');
							$("#encerraVagas"+key).addClass('vaga_encerrada');
							$("#encerraVagas"+key).css('color','#333333');
							$("#encerraVagas"+key).html('Vaga encerrada');
							$("#encerraVagas"+key).removeAttr('onclick');
							$("#encerraVagas"+key).click(function (){
									changeStatus(url,key,id_vaga,"habilitar");
							});
						});
					}
					else if(status == "habilitar"){ //habilitando vaga
						$("#encerraVagas"+key).fadeOut(300,function(){
							$("#encerraVagas"+key).fadeIn(300); 
							$("#encerraVagas"+key).removeClass('vaga_encerrada');
							$("#encerraVagas"+key).addClass('encerrar_vaga');
							$("#encerraVagas"+key).css('color','#fff');
							$("#encerraVagas"+key).html('Encerrar vaga');
							$("#encerraVagas"+key).removeAttr('onclick');
							$("#encerraVagas"+key).click(function (){
									changeStatus(url,key,id_vaga,"encerrar");
							});
						});
					}
					else{ //excluindo vaga
						$("#vaga"+key).fadeOut(300);
						qtdAtual = parseInt($(".quantas").attr("title")) -1;
						$(".quantas").html(qtdAtual);
						$(".quantas").attr("title",qtdAtual);
					}
					
				}
			}
		}
	);

}



// lista as cidades por estado no cadastro
function cidadesListar(url, idEstado)
{
	// recebe as cidades por estado via AJAX + JSON
	$.ajax(
		{
			url: url + "cidade/" + idEstado,
			global: false,
			dataType: "json",
			success: function(data)
			{
				// remove todas as cidades do select
				$("select[name='cadastro2_id_cidade']").removeOption(/./);
				
				// adiciona as cidades do estado selecionado ao select
				for(x = 0; x < data.length; x++)
				{
					$("select[name='cadastro2_id_cidade']").addOption(data[x]["id_cidade"], data[x]["cidade"], false);
				}
			}
		}
	);
}

// lista as cidades por estado no cadastro
function cidadesVagasListar(url, idEstado,id_form)
{
	// recebe as cidades por estado via AJAX + JSON
	if(id_form == undefined){
		id_form = "";
	}
	$.ajax(
		{
			url: url + "cidade/" + idEstado,
			global: false,
			dataType: "json",
			success: function(data)
			{
				// remove todas as cidades do select
				$("select[name='vaga_id_cidade"+id_form+"']").removeOption(/./);
				
				// adiciona as cidades do estado selecionado ao select
				for(x = 0; x < data.length; x++)
				{
					$("select[name='vaga_id_cidade"+id_form+"']").addOption(data[x]["id_cidade"], data[x]["cidade"], false);
				}
			}
		}
	);
}


// formulario de enviado do footer/rodape
function footerFormularioEnviar(url)
// url -> caminho da aplicacao
{
	// recebe os dados dos campos
	vNome = $("input[name='footer_nome']").val();
	vEmail = $("input[name='footer_email']").val();
	vMensagem = $("textarea[name='footer_mensagem']").val();
	
	// valida o email
	var emailRegex = new RegExp(/^[A-Za-z0-9_\-\.]+@[A-Za-z0-9_\-\.]{2,}\.[A-Za-z0-9]{2,}(\.[A-Za-z0-9])?/);
	
	if(!emailRegex.test(vEmail))
	{ 
		$(".txtFooterFormulario").html("E-mail inválido;");
	}
	else
		{	
		// adiciona texto de status do envio
		$(".txtFooterFormulario").html("Enviando...");
		
		// chama o metodo para realizacao do envio via AJAX
		$.ajax(
			{		
				url: url + "send_email",
				global: false,
				type: "POST",
				data: ({nome : vNome, email : vEmail, mensagem : vMensagem}),
				dataType: "text",
				success: function(data)
				// var: data
				// retorna: TRUE / FALSE
				{
					if(data == "TRUE")
					{
						// limpa os campos
						$("input[name='footer_nome']").val("Nome");
						$("input[name='footer_email']").val("E-mail");
						$("textarea[name='footer_mensagem']").val("Mensagem");
						
						// confirma o envio
						$(".txtFooterFormulario").html("Mensagem enviada com sucesso!");
					}
					else
					{
						// informa falha no envio
						$(".txtFooterFormulario").html("Falha ao enviar, tente novamente!");
					}
				}
			}
		);
	}
	
	// cancela o submit/POST do formulario
	return false;
}


function enviaContato(url){
	// recebe os dados dos campos
	var nomeX = $("input[name='contato_nome']").val();
	var emailX = $("input[name='contato_email']").val();
	var telefoneX = $("input[name='contato_telefone']").val();
	var mensagemX = $("textarea[name='contato_mensagem']").val();
		$.ajax(
			{		
				url: url + "send_contato",
				global: false,
				type: "POST",
				data: ({nome : nomeX, email : emailX, mensagem : mensagemX, telefone : telefoneX}),
				dataType: "text",
				success: function(data)
				{
					if(data == "ok")
					{
						// limpa os campos
						$("input[name='contato_nome']").val("");
						$("input[name='contato_email']").val("");
						$("input[name='contato_telefone']").val("");
						$("textarea[name='contato_mensagem']").val("");
						
						// confirma o envio
						$(".txtFooterFormulario").fadeOut(300);
						$(".txtFooterFormulario").html("Mensagem enviada com sucesso!");
						$(".txtFooterFormulario").fadeIn(300);
					}
					else
					{
						// informa falha no envio
						$(".txtFooterFormulario").fadeOut(300);
						$(".txtFooterFormulario").html("Falha ao enviar, tente novamente!");
						$(".txtFooterFormulario").fadeIn(300);
					}
				}
			}
		);
	
}