$(document).ready(function() {

	masks();

	datePicker();

	if ($('#cv').length > 0) {
		cv();
		cvCancel();
		cvSteps();
		cvCep();
		cvLocationPais();
		cvLocation();
		cvPne();
		cvChildren();
		cvDegrees();
		cvLanguages();
		cvProfessional();
		cvSearchPosition();
		cvConfigFormValidation();

		setTextareaMaxlength();
	}

	if ($('#cv-search').length > 0) {
		cvSearch();
	}

	if ($('#cv-apply-job').length > 0) {
		cvApplyJob();
	}

});

function setTextareaMaxlength()
{
	$('textarea[maxlength]').keyup(function(){
		var max = parseInt($(this).attr('maxlength'));
		var val = $(this).val();
		if(val.length > max){
			$(this).val(val.substr(0, max));
		}
	});
}

function getFlashMovieObject(movieName)
{
  if (window.document[movieName])
  {
    return window.document[movieName];
  }
  if (navigator.appName.indexOf("Microsoft Internet")==-1)
  {
    if (document.embeds && document.embeds[movieName])
      return document.embeds[movieName];
  }
  else // if (navigator.appName.indexOf("Microsoft Internet")!=-1)
  {
    return document.getElementById(movieName);
  }
}

function primeiro()
{
//	var flashMovie=getFlashMovieObject("backmovie");
//	flashMovie.GotoFrame(1)
}
function segundo()
{
//	var flashMovie=getFlashMovieObject("backmovie");
//	flashMovie.GotoFrame(2)
}
function terceiro()
{
//	var flashMovie=getFlashMovieObject("backmovie");
//	flashMovie.GotoFrame(3)
}
function quarto()
{
//	var flashMovie=getFlashMovieObject("backmovie");
//	flashMovie.GotoFrame(4)
}
function quinto()
{
//	var flashMovie=getFlashMovieObject("backmovie");
//	flashMovie.GotoFrame(5)
}
function sexto()
{
//	var flashMovie=getFlashMovieObject("backmovie");
//	flashMovie.GotoFrame(6)
}


function datePicker() {
	var el = $('.datepicker');
	//el.dpSetDisabled(true);
	el.datePicker({startDate:'01/01/1900'});
}


function cv() {

	var el = $('#cv');

	if (el.find('#bt-finish').length > 0) {
		el.show();
	} else {
		alert('Problemas no carregamento da página. Tente novamente.');
	}

/*
	$('#cv').ajaxForm({
       	url: rootUrl + "save.php",
       	type: "POST",
		dataType: "xml",
		iframe: true,
		//beforeSubmit: isValidForm,
		beforeSubmit: cvValidation(),
		success: function(responseXML) {
			alert($('message', responseXML).text());
			if ($('redirect', responseXML).text() == "1")
			{
				if ($('#backToJob').attr('value') == '1')
				{
					window.location.href = "index.php?page=cv&subpage=job&job=" + $('#job').attr('value');
				}
				else {
					window.location.href = "index.php?page=cv&subpage=logout";
				}
			}

		}
	});
*/
}

function cvSteps() {

	var form = $('#cv');
	var fieldsets = form.find('fieldset.step');
	var prev = fieldsets.find('.prev');
	var next = fieldsets.find('.next');

	form.find('.breadcrumb li').bind('click', function() {
		var index = $(this).parents('fieldset').find('.breadcrumb li').index($(this));
		fieldsets.hide(1, function() {
			fieldsets.filter(':eq('+index+')').show();
		});
		return false;
	});

	fieldsets.filter(':not(:first)').hide();
	fieldsets.filter(':first').addClass('current');

	prev.bind('click', function() {
		$(this).parents('fieldset.step').prev().show().end().hide();
		window.location.hash = 'cv';
		return false;
	});

	next.bind('click', function() {
		$(this).parents('fieldset.step').next().show().end().hide();
		window.location.hash = 'cv';
		return false;

	});

}

function cvCancel() {
	$('#cv #bt-cancel').bind('click', function() {
		var title = $(this).attr('title');
		if (confirm(title)) {
			window.location.href = "index.php?page=cliente01&subpage=logout";
		}
	});
}

function cvCep() {

	$('#btConsultaCEP').bind('click', function() {
		var cep = $('#dsCep').val();

		$.ajax({
			type: "GET",
			url: rootUrl + "get-cep.php",
			dataType: "xml",
			data: "cep=" + cep,
			beforeSend: function() { changeBtStatus(true); },
			error: function() { changeBtStatus(false); },
			success: function(xml)
			{
				changeBtStatus(false);
				$("#endereco").show();

				//limpa os valores
				$('#hdnSelCidade').val("");
				$('#nmPais').val("");
				$("#cadUf").val("");
				//$('#cadCidade').val("").change();
				$('#cadBairro').val("");
				$('#tabTipoLogradouro').val("");
				$('#dsEndereco').val("");
				$('#cadLogradouro').val("");
				$('#nmOutraCidade').hide();
				$('#nmOutroBairro').hide();

				var messages = $('message', xml).text();
				if (messages != "")
				{	//cep invalido - libera os campos
					$('#nmPais').removeAttr('disabled');
					$("#cadUf").removeAttr('disabled');
					$('#cadCidade').removeAttr('disabled');
					$('#cadBairro').removeAttr('disabled');
					$('#tabTipoLogradouro').removeAttr('disabled');
					$('#dsEndereco').removeAttr('disabled');

					$('#cadUf').val("").change();
					$('#cadCidade').val("").change();
					$('#cadBairro').val("").change();

					alert(messages);
				}
				else
				{	//cep valido - preenche os valores

					//prepara a cidade/bairro para ser selecionada após carregar as opções
					$('#hdnSelCidade').val($('cadCidade', xml).text());
					$('#hdnSelBairro').val($('cadBairro', xml).text());

					$('#nmPais').val($('nmPais', xml).text());
					//$("#cadUf").val($('cadUf', xml).text()).change();
					$("#cadUf").val($('cadUf', xml).text());
					$("#cadCidade").html("<option value='"+ $('cadCidade', xml).text() +"' selected>"+ $('nmCidade', xml).text() +"</option>");

					if ($('dsCep', xml).text() != "")
					{	//CEP completo
						$("#cadBairro").html("<option value='"+ $('cadBairro', xml).text() +"' selected>"+ $('nmBairro', xml).text() +"</option>");
						$('#tabTipoLogradouro').val($('tabTipoLogradouro', xml).text());
						$('#dsEndereco').val($('dsEndereco', xml).text());
						$('#cadLogradouro').val($('cadLogradouro', xml).text());

						$('#nmPais').attr('disabled', 'disabled');
						$("#cadUf").attr('disabled', 'disabled');
						$('#cadCidade').attr('disabled', 'disabled');
						$('#cadBairro').attr('disabled', 'disabled');
						$('#tabTipoLogradouro').attr('disabled', 'disabled');
						$('#dsEndereco').attr('disabled', 'disabled');
					}
					else
					{	//CEP parcial
						$("#cadCidade").change();	//carrega os bairros

						$('#nmPais').attr('disabled', 'disabled');
						$("#cadUf").attr('disabled', 'disabled');
						$('#cadCidade').attr('disabled', 'disabled');
						$('#cadBairro').removeAttr('disabled');
						$('#tabTipoLogradouro').removeAttr('disabled');
						$('#dsEndereco').removeAttr('disabled');
					}

					//desmarca os campos para validar
					$('#endereco').find('.required').each(function (i, item) {
						$(item).removeClass("error");
					});
				}
			} //end success
		}); //end ajax
	}); //end click


	function changeBtStatus(lock)
	{
		if (lock)
		{
			$('#btConsultaCEP').attr('disabled', 'disabled');
			$('#btConsultaCEP').val("Consultando...");
		}
		else
		{
			$('#btConsultaCEP').removeAttr('disabled');
			$('#btConsultaCEP').val("Consultar");
		}
	}
}

function cvLocationPais() {

	$('#cadPaisNaturalidade').bind('change', function() {
		var state = $(this).attr('value');
		$.ajax({
			type: "GET",
			url: rootUrl + "get-state.php",
			dataType: "html",
			data: "country=" + state,
			success: function(response){
				$('#cadUfNaturalidade').html(response);
			}
		});
	});

}

function cvLocation() {
	//naturalidade
	$('#cadUfNaturalidade').bind('change', function() {
		var state = $(this).attr('value');
		$.ajax({
			type: "GET",
			url: rootUrl + "get-city.php",
			dataType: "html",
			data: "state=" + state,
			success: function(response){
				$('#cadCidadeNaturalidade').html(response);
			}
		});
	});

	//endereço (Estado/Municipio)
	$('#cadUf').bind('change', function() {
		var state = $(this).attr('value');
		var city = $('#cadCidade');
		var selCity = $('#hdnSelCidade').attr('value');

		$.ajax({
			type: "GET",
			url: rootUrl + "get-city.php",
			dataType: "html",
			data: "state=" + state,
			beforeSend: function(response){
				city.html("<option value=''>Carregando...</option>");
				city.change();
			},
			success: function(response){
				response += "<option value='outro'>Outro município</option>";
				city.html(response).val(selCity).change();
			}
		});
	});

	//endereço (Outro Municipio, carrega os bairros)
	$('#cadCidade').bind('change', function() {
		//outra cidade
		if ($(this).attr('value') == "outro")
		{
			$("#nmOutraCidade").addClass("required");
			$("#nmOutraCidade").show();
		}
		else
		{
			$("#nmOutraCidade").removeClass("required");
			$("#nmOutraCidade").hide();
		}

		//carrega os bairros
		var selBairro = $('#hdnSelBairro').val(); //seleciona o bairro defalult após carregar
		var bairro = $('#cadBairro');

		if ($('#cadCidade').val() == "")
			return false;

		$.ajax({
			type: "GET",
			url: rootUrl + "get-bairro.php",
			dataType: "html",
			data: "city=" + $('#cadCidade').val(),
			beforeSend: function(response){
				bairro.html("<option value=''>Carregando...</option>");
				bairro.change();
			},
			success: function(response){
				response += "<option value='outro'>Outro bairro</option>";
				bairro.html(response).val(selBairro);
			}
		});
	});

	//endereço (Outro bairro)
	$('#cadBairro').bind('change', function() {
		//outro bairro
		if ($(this).attr('value') == "outro")
		{
			$("#nmOutroBairro").addClass("required");
			$("#nmOutroBairro").show();
		}
		else
		{
			$("#nmOutroBairro").removeClass("required");
			$("#nmOutroBairro").hide();
		}
	});
}

function cvPne()
{
	$('#cadPne').bind('change', function()
	{
		if($('#cadPne').val() != 1 || $('#cadPne').val() != 3)
		{
			$('#box-cadPneAuditiva').slideUp();
			$('#box-cadPneFisica').slideUp();
			$("input[name='flPneAparelhoAuditivo']").removeClass("required");
			$('#tabTipoPneFisica').removeClass("required");
		}
		if($('#cadPne').val() == 3)
		{
			$('#tabTipoPneFisica').addClass("required");
			$('#box-cadPneAuditiva').slideUp();
			$('#box-cadPneFisica').slideDown();
		}

		if($('#cadPne').val() == 1)
		{
			$("input[name='flPneAparelhoAuditivo']").addClass("required");
			$('#box-cadPneAuditiva').slideDown();
			$('#box-cadPneFisica').slideUp();
		}
	});

	$("input[name='flPne']").bind('change', function()
	{
		//if($("input[name='flPne']:checked").val() == "N")
		if($(this).val() == "N" && $(this).is(":checked"))
		{
			$('#cadPne').removeClass("required");
			$('#cadPne').val("");
			$('#cadPne').change();
			$("input[name='flPneAparelhoAuditivo']").removeClass("required");
			$('#tabTipoPneFisica').removeClass("required");
		}
	//});

	//$("input[name='flPne']").bind('change', function()
	//{
		//if($("input[name='flPne']:checked").val() == "S")
		if($(this).val() == "S" && $(this).is(":checked"))
		{
			$('#cadPne').addClass("required");
		}
	});

	$("input[name='flPne']").change();
	$('#cadPne').change();
	testShowOrHide("input[name='flPne']", '#box-cadPne', 'S');
}

function cvChildren() {
	var input = $("input[name='flPossuiFilho']");
	input.bind('change', function()
	{
		var val = $("input[name='flPossuiFilho']:checked").val();
		var div = $("#box-children");

		if (val == "S")
		{
			div.slideDown();
			$("#qtFilhos").addClass("required");
			$("#qtFilhosMenorCatorze").addClass("required");
		}
		else
		{
			div.slideUp();
			$("#qtFilhos").removeClass("required");
			$("#qtFilhosMenorCatorze").removeClass("required");
		}
	});

	testShowOrHide("input[name='flPossuiFilho']", '#box-children', 'S');
}
/*
function cvCurrentJob()
{
	var input = $("input[id^='selEprofissionals']");

	input.bind('change', function()
	{
		var val = $("input[id^='selEprofissionals']:checked").val();

		if (val == "S")
		{
			$("input[id^='dtDesligamento']").addClass("required");
		}
		else
		{
			$("input[id^='dtDesligamento']").removeClass("required");
		}
	});
}
*/
function testShowOrHide(inputSelector, boxSelector, compare) {

	var input = $(inputSelector);
	var div = $(boxSelector);

	var el = input.filter(':checked');
	showOrHide(el);

	input.bind('change', function() {
		showOrHide($(this));
	});

	function showOrHide(el) {
		var val = el.val();
		if (val == compare) div.slideDown();
		else div.slideUp();
	}

}


function cvDegreeSituation()
{
	var form = $('.box-tabSituacaoEscolaridade');
	form.find('input').each(function(){
		$(this).unbind('change');
		$(this).bind('change', function() {
			var parent = $(this).parent();
			var container = $(parent).parent();

			if(parent.find('input:checked').val() == '1')
			{
				container.find('.box-dsAnoConclusao').slideDown();
				container.find('.box-tabStatusCurso').slideUp();
			}
			else
			{
				container.find('.box-dsAnoConclusao').slideUp();
				container.find('.box-tabStatusCurso').slideDown();
			}
		});
		$(this).change();
	});
}

function cvUltimoEmprego()
{
	var atual = $('.box-flEmpregoAtual');
	atual.find('input').each(function(i, item){
		$(item).unbind('change');
		$(item).bind('change', function() {
			var paragrafo = $(item).parent();
			var container = $(paragrafo).parent();

			if(paragrafo.find('input:checked').val() == 'S')
			{
				container.find('.box-dtDesligamento').slideUp();
				container.find('.box-dtDesligamento').find('input').val("");
			}
			else
			{
				container.find('.box-dtDesligamento').slideDown();
			}
		});
		$(item).change();
	});
}

function cvLanguages() {

	var languages = $('#cv #languages');
	var combo = languages.find('#cadIdioma');

	languages.find('.save').bind('click', function() {
		var language =  combo.attr('value');
		if (language == parseInt(language)) {
			$.ajax({
				type: "POST",
				data: "language=" + language,
				url: rootUrl + "get-language.php",
				dataType: "html",
				success: function(response) {
					if ($('#language-' + language).length == 0) {
						languages.find('table').append(response);
					} else {
						alert('Idioma já cadastrado.');
					}
				}
			});
		} else {
			alert('Selecione um idioma.');
		}
		return false;
	});

	languages.find('.delete').live('click', function() {
		$(this).parents('tr').remove();
		return false;
	});

}


function cvDegrees() {

	var degrees = $('#cv #degrees');
	var forms = degrees.find('.degree');
	var saves = degrees.find('input.save');
	var edits = degrees.find('a.edit');
	var deletes = degrees.find('a.delete');

	forms.hide();
	addNew();

	edits.live('click', function() {
		degrees.find('tr').show();
		$(this).parents('tr').hide();
		var id = $(this).attr('rel');
		$('#'+id).show().siblings('.degree').hide();

		cvDegreeSituation();
		return false;
	});

	saves.live('click', function() {

		var form = $(this).parent('.degree'); // form
		var formId = form.attr('id');
		form.hide();

		// get current values
		var degreeType = form.find('.cadTipoEscolaridade option:selected').text();
		var degreeSituation = form.find('.box-tabSituacaoEscolaridade input:checked').val();
		var degreeYear = form.find('.box-dsAnoConclusao input').val();
		var degreeCourse = form.find('.dsCursoFormacao').val();
		var degreeInstitution = form.find('.dsInstituicao').val();

		// get table row
		var id = form.attr('id');
		var row = degrees.find('a[rel="'+id+'"]').parents('tr').show();

		//there is a row?
		if (row.length > 0) {

			row.find('.cadTipoEscolaridade').html(degreeType);
			row.find('.dsCursoFormacao').html(degreeCourse);
			row.find('.dsInstituicao').html(degreeInstitution);

		} else {

			html = '<tr>';
			html += '<td class="cadTipoEscolaridade">' + degreeType + '</td>';
			html += '<td class="dsCursoFormacao">' + degreeCourse + '</td>';
			html += '<td class="dsInstituicao">' + degreeInstitution + '</td>';
			//html += '<td><a class="edit" rel="'+ formId + '" href="#">Editar</a></td>';
			//html += '<td><a class="delete" rel="' + formId + '" href="#">Excluir</a></td>';
			html += '<td><a class="edit" rel="'+ formId + '" href="#"><img src="uploads/back/editar.png" title="Editar" alt="Editar" /></a></td>';
			html += '<td><a class="delete" rel="' + formId + '" href="#"><img src="uploads/back/excluir.png" title="Excluir" alt="Excluir" /></a></td>';
			html += '</tr>';

			degrees.find('table').append(html);

		}

		addNew();

		window.location.hash = 'degrees';
		return false;
	});


	deletes.live('click', function() {
		var id = $(this).attr('rel');
		$('#' + id).remove();
		var row = $(this).parents('tr').remove();

		return false;
	});

	function addNew() {
		$.ajax({
			type: "GET",
			url: rootUrl + "get-degree.php",
			dataType: "html",
			success: function(response) {
				degrees.find('h2').after(response);
				masks();
				cvDegreeSituation();
				datePicker();//////////////////
				setTextareaMaxlength();
			}
		});
	}
}


function cvProfessionalSegment() {

	var form = $('#cv');

	form.find('.cadSegmento').each(function(){
		$(this).unbind('change');
		$(this).bind('change', function() {
			request($(this));
		});
	});

	function request(el) {
		var segment = el.find(':selected').val();
		var combo = el.parents('.professional').find('.cadAreaInteresse');

		$.ajax({
			type: "POST",
			url: rootUrl + "get-areas.php",
			data: "segment=" + segment,
			dataType: "html",
			beforeSend: function() {
				combo.html('<option>Procurando...</option>');
			},
			success: function(response){
				el.parents('.professional').find('.cadAreaInteresse').html(response);
			}
		});
	}

}


function cvProfessional() {

	var container = $('#cv #professional');
	var forms = container.find('.professional');
	var saves = container.find('input.save');
	var edits = container.find('a.edit');
	var deletes = container.find('a.delete');

	$('input[name="flPossuiEProfissional"]').bind('change', function() {
		var val = $(this).val();
		var div = $('#professional-experiences');
		if (val == 'S') div.show();
		else {
			div.hide();
			forms.remove();
			container.find('tbody tr').remove();
		}
	});
	//$('input[name="flPossuiEProfissional"]').change();


	forms.hide();
	addNew();

	edits.live('click', function() {
		container.find('tr').show();
		$(this).parents('tr').hide();
		var id = $(this).attr('rel');
		$('#'+id).show().siblings('.professional').hide();

		return false;
	});

	saves.live('click', function() {
		//valida
		var $group = $(this).parents('.professional');
		var isValid = true;

		$group.find('.required').each(function (i, item) {
			if (!$(item).valid())
				isValid = false;
		});

		if (!isValid)
		{
			alert("Preencha os campos obrigatórios e tente novamente");
			return false;
		}

		//salva
		var form = $(this).parent('.professional'); // form
		var formId = form.attr('id');
		form.hide();

		// get current values
		var nmEmpresa = form.find('.box-nmEmpresa input').val();
		var flEmpregoAtual = form.find('.box-flEmpregoAtual input:checked').val();
		var dtAdmissao = form.find('.box-dtAdmissao input').val();

		// get table row
		var id = form.attr('id');
		var row = container.find('a[rel="'+id+'"]').parents('tr').show();

		//there is a row?
		flEmpregoAtual = (flEmpregoAtual == "N") ? "Não" : "Sim";
		if (row.length > 0) {

			row.find('.flEmpregoAtual').html(flEmpregoAtual);
			row.find('.nmEmpresa').html(nmEmpresa);
			row.find('.dtAdmissao').html(dtAdmissao);

		} else {

			html = '<tr>';
			html += '<td class="flEmpregoAtual">'+flEmpregoAtual+'</td>';
			html += '<td class="nmEmpresa">'+nmEmpresa+'</td>';
			html += '<td class="dtAdmissao">'+dtAdmissao+'</td>';
			html += '<td><a class="edit" rel="'+formId+'" href="#"><img src="uploads/back/editar.png" title="Editar" alt="Editar" /></a></td>';
			html += '<td><a class="delete" rel="'+formId+'" href="#"><img src="uploads/back/excluir.png" title="Excluir" alt="Excluir" /></a></td>';
			//html += '<td><a class="edit" rel="'+formId+'" href="#">Editar</a></td>';
			//html += '<td><a class="delete" rel="'+formId+'" href="#">Excluir</a></td>';
			html += '</tr>';

			container.find('table').append(html);

		}

		addNew();

		window.location.hash = 'professional';
		return false;
	});


	deletes.live('click', function() {
		var id = $(this).attr('rel');
		$('#' + id).remove();
		var row = $(this).parents('tr').remove();
		return false;
	});

	function addNew() {
		$.ajax({
			type: "GET",
			url: rootUrl + "get-professional.php",
			dataType: "html",
			beforeSend: function() {
				$("#professional-wait").css("display", "block");
			},
			success: function(response) {
				$("#professional-wait").css("display", "none");
				container.find('h2').after(response);
				masks();
				cvProfessionalSegment();
				cvUltimoEmprego();
				datePicker();
				$(".onlyNumberSalario").unmaskMoney();
				$(".onlyNumberSalario").maskMoney({symbol: "R$", decimal: ",", thousands: "."});

				setTextareaMaxlength();
			}
		});
	}

}


function cvSearchPosition() {

	var delay;
	var inputs = $('input[name="search-position"]');

	inputs.live('keyup', function() {

		var el = $(this);
		var combo = el.next('select');
		combo.html('<option>Procurando...</option>');

		clearTimeout(delay);
		delay = setTimeout(function() {

			$.ajax({
			type: "POST",
			data: "search=" + el.val(),
			url: rootUrl + "get-position.php",
			dataType: "html",
				success: function(response) {

					combo.html(response);

				}
			});

		}, 2000);

	});
}

/*
function cvValidate() {

	var frm = $("#cv");
	if (frm.nrTelResidencial.value == "" && frm.nrTelRecado.value == "" && frm.nrTelCelular.value == "")
	{
		alert("Ao menos um telefone é obrigatório");
		return false;
	}
	return true;
}*/

function masks()
{
	$(".dateMonthYear").unmask().mask("99/9999");
	$(".cep").unmask().mask("99999-999");
	$(".cpf").unmask().mask("999.999.999-99");
	$(".phone").unmask().mask("(99)9999-9999");
	$(".dateMask").unmask().mask("99/99/9999");
	$(".alturaMask").unmask().mask("9,99");
	//$(".onlyNumber").unmask().mask("");
	$(".onlyNumber").keyup(function () {
    this.value = this.value.replace(/[^0-9]/g,''); });

	//$.mask.definitions['~']='[0123456789]';
	//$(".onlyNumberSalario").mask("~~,99");
}


/*
BUSCA ******************************************************************************************************************
*/

function cvSearch() {
	var btBuscar = $('input[type="submit"]');

	$('#state').bind('change', function() {
		var state = $(this).attr('value');
		var combo = $('#city');
		combo.html('<option>Carregando...</option>');
		$.ajax({
			type: "GET",
			url: rootUrl + "get-city.php",
			dataType: "html",
			data: "from=search&state=" + state,
			beforeSend: function()
			{
				$(btBuscar).attr("value", "Aguarde...");
				$(btBuscar).attr("disabled", "disabled");
			},
			success: function(response){
				combo.html(response);

				$(btBuscar).attr("value", "Buscar");
				$(btBuscar).removeAttr("disabled");
			}
		});
	});

	$("#state, #city, input[name='type']").bind('change', function() {
		var state = $('#state').attr('value');
		var city = $("#city").attr('value');
		var type = $('input[name="type"]').attr('value');

		if (city != "Carregando...")
		{
			var combo = $('#position');
			combo.html('<option>Carregando...</option>');

			$.ajax({
				type: "GET",
				url: rootUrl + "get-search-position.php",
				dataType: "html",
				data: 'from=search&state=' + state + '&city=' + city + '&type=' + type,
				beforeSend: function()
				{
					$(btBuscar).attr("value", "Aguarde...");
					$(btBuscar).attr("disabled", "disabled");
				},
				success: function(response){
					combo.html(response);

					$(btBuscar).attr("value", "Buscar");
					$(btBuscar).removeAttr("disabled");
				}
			});
		}
	});

	$('#results li .details').hide();

	$('#results li .more').bind('click', function() {
		var el = $(this);
		var details = el.parents('li').find('.details');
		var status = details.css('display');
		if (status == 'none') {
			details.show();
			el.html('ocultar detalhes');
		} else {
			details.hide();
			el.html('ver detalhes');
		}
		return false;
	});

	//Força a opção inicial
	$("#state").val("23");
	$("#state").change();
}

function cvApplyJob() {
	var job = $('#job').attr('value');

	$('#cv-apply-job #update').bind('click', function() {
		window.location.href = "index.php?page=cliente01&subpage=edit&backToJob=1&job=" + job;
		return false;
	});

}


function cvConfigFormValidation()
{
	var init = true;
	var btBuscar = $('#bt-finish');
	var form = $('#cv');
	jQuery.validator.messages.required = "";

	//ao menos 1 telefone deve ser preenchido
	$.validator.addMethod("checkPhoneNumbers", function(value, element)
	{
		return 	$("#nrTelCelular").val().length > 0 ||
				$("#nrTelResidencial").val().length > 0 ||
				$("#nrTelRecado").val().length > 0;

	}, "Informe ao menos 1 telefone");

	//Valida o formulario
	$("#cv").validate({
		invalidHandler: function(e, validator) {
			var errors = validator.numberOfInvalids();
			if (errors) {
				var message = errors == 1
					? 'Faltou 1 campo obrigatório para preencher. Ele foi indicado no formulário.'
					: 'Faltam ' + errors + ' campos obrigatórios para preencher. Eles foram indicados no formulário.';
				alert(message);
			}

			$(".cadSegmento, .cadAreaInteresse, .cadNivelHierarquico").removeClass("error");
		},
		submitHandler: function(form) {
			$(".cadSegmento, .cadAreaInteresse, .cadNivelHierarquico").removeClass("error");
			saveForm();
		},
		onkeyup: false,
		debug:true,
		errorElement:"em",
		ignore: ".cadSegmento, .cadAreaInteresse, .cadNivelHierarquico, .dataAdmissao, .dataDeslig",
		rules: {
		    tabSexo : {required :true},
		    flPossuiFilho : {required :true},
		    flPne : {required :true},
		    flFumante : {required :true},
		    flPossuiCarro : {required :true},
		    flPossuiMoto : {required :true},
		    flTrabOutraCidade : {required :true},
		    flViagens : {required :true},
		    flAceitaServicoTemporario : {required :true},
		    flTrabalhouServicoTemporario : {required :true},
		    flReceberInformativos : {required :true},
		    nrTelRecado: { checkPhoneNumbers : true }
		},
		messages: {
			tabSexo : "Selecione uma opção",
			flPossuiFilho : "Selecione uma opção",
			flPne : "Selecione uma opção",
			flFumante : "Selecione uma opção",
		    flPossuiCarro : "Selecione uma opção",
		    flPossuiMoto : "Selecione uma opção",
		    flTrabOutraCidade : "Selecione uma opção",
		    flViagens : "Selecione uma opção",
		    flAceitaServicoTemporario : "Selecione uma opção",
		    flTrabalhouServicoTemporario : "Selecione uma opção",
		    flReceberInformativos : "Selecione uma opção",
		    nrTelRecado: "Informe ao menos 1 telefone"
		}
	});

	function saveForm()
	{
		$(form).ajaxForm({
			url: rootUrl + "save.php",
	       	type: "POST",
			dataType: "xml",
			iframe: true,
			beforeSubmit : function() {
				$(btBuscar).attr("value", "Aguarde...");
				//$(btBuscar).attr("disabled", "disabled");

				$("#endereco").find("input:disabled, select:disabled").each(function(i,item) {
					$(item).removeAttr('disabled');
					$(item).attr('unlockaftersave', "true");
				});
			},
			success: function(responseXML) {
				$(btBuscar).attr("value", "Concluir");
				$(btBuscar).removeAttr("disabled");

				$("#endereco").find("input[unlockaftersave=='true'], select[unlockaftersave='true']").each(function(i,item) {
					$(item).attr('disabled','disabled');
					$(item).removeAttr('lockaftersave');
				});

				alert($('message', responseXML).text());
				if ($('redirect', responseXML).text() == "1")
				{
					if ($('#backToJob').attr('value') == '1')
					{
						window.location.href = "index.php?page=cliente01&subpage=job&job=" + $('#job').attr('value');
					}
					else {
						window.location.href = "index.php?page=cliente01&subpage=logout";
					}
				}

			}
		});
	}

	//força a validação inicial em um novo cadastro
	if ($("#cdCurriculo").length == 0)
		$('#cv').valid();
}
