function envia($form, $url) {
	var form = $('#' + $form);
	form.attr('action', $url);
	form.attr('method', 'post');
	if (form.get(0).onsubmit) form.get(0).onsubmit();		
	form.submit();
	
}

function campo($rotulo, $id) {
	ce_campo = {
		rotulo : $rotulo,
		id : $id
	}
}

function selecionado($rotulo, $id) {
	tb_remove();
	$('#' + ce_campo.rotulo).text($rotulo);
	$('#' + ce_campo.id).val($id);
}

function removeTelefone($obj,$ev) {
	if($ev == undefined) $obj = this;
	var pai = $($obj).parent();
	pai.fadeOut("normal",function() {
		$(this).children(".numero_telefone").val('');
	});
}

function appendTelefone($id) {
	var campos = $('<select style="width:100px" class="tipo_telefone" name="tipo_telefone[]"><option value="1">Comercial</option><option value="2">Residêncial</option><option value="3">Celular</option><option value="4">Recado</option></select><input style="width:120px" type="text" class="numero_telefone" name="telefone[]" value="" /><input type="hidden" class="id_telefone" name="id_telefone[]" value="" />');
	var remover = $('<a href="javascript:void(0)"> Remover</a>');
	remover.bind('click', removeTelefone);
	var telefone = $('<div></div>');
	telefone.append(campos);
	telefone.append(remover);
	$('#'+$id).before(telefone);
	setMask();
}


function removeEndereco($obj,$ev) {
	if($ev == undefined) $obj = this;
	var pai = $($obj).parent();
	pai.fadeOut("normal",function() {
		$(this).children(".endereco").val('');
	});
}

function appendEndereco($id) {
	var campos = $('<div><div style="float:left;margin-right:5px;clear:both"><div><span class="label-action busca-endereco">Rua: </span></div><div><input style="width:220px" type="text" class="valor_endereco" name="rua_endereco[]" value="" maxlength="320"/><input type="hidden" class="id_endereco" name="id_rua_endereco[]" value="" /></div></div><div style="float:left;margin-right:5px"><div><span>Nº: </span></div><div><input style="width:100px" type="text" class="valor_endereco" name="numero_endereco[]" value="" maxlength="10"/><input type="hidden" class="id_endereco" name="id_numero_endereco[]" value="" /></div></div><div style="float:left;margin-right:5px;clear:left"><div><span>Compl.:</span></div><div><input style="width:220px" type="text" class="valor_endereco" name="complemento_endereco[]" value="" maxlength="320"/><input type="hidden" class="id_endereco" name="id_complemento_endereco[]" value="" /></div></div><div style="float:left;margin-right:5px"><div><span class="label-action busca-endereco">CEP: </span></div><div><input style="width:100px" type="text" class="valor_endereco cep" name="cep_endereco[]" value="" maxlength="10"/><br><input type="hidden" class="id_endereco" name="id_cep_endereco[]" value="" /></div></div><div style="float:left;margin-right:5px;clear:left"><div><span>Bairro:</span></div><div><input style="width:220px" type="text" class="valor_endereco" name="bairro_endereco[]" value="" maxlength="320"/><input type="hidden" class="id_endereco" name="id_bairro_endereco[]" value="" /></div></div></div>');
	var remover = $('<a href="javascript:void(0)" style="color: #FF0000;float:left;clear:both"> Remover</a>');
	remover.bind('click', removeEndereco);
	var endereco = $('<div></div>');
	endereco.append(campos);
	endereco.append(remover);
	$('#'+$id).before(endereco);
	setMask();
	
	$("#estado_endereco").bind("change",function() {
		$("#cidade_endereco").empty();
		$("#cidade_endereco").trigger("change");
		
		$.get("/cadastro/municipio.ds.php",{filtro:$(this).val(),id:null},function(data) {
			$(data).appendTo("#cidade_endereco");
		});	
	});
        
        setCeps();
}

function removeFuncionario($obj,$ev) {
	if($ev == undefined) $obj = this;
	var pai = $($obj).parent();
	pai.fadeOut("normal",function() {
		$(this).find(".funcionario_nome").val('');
	});
}

function appendFuncionario($id) {
	var campos = $('<div><div style="float:left;margin-right:5px;clear:both"><div><span>Nome: </span></div><div><input style="width:220px" type="text" class="funcionario_nome" name="nome_funcionario[]" value="" maxlength="320"/><input type="hidden" name="id_funcionario[]" value=""/></div></div><div style="float:left;margin-right:5px"><div><span>Cargo: </span></div><div><input style="width:100px" type="text" class="funcionario_cargo" name="cargo_funcionario[]" value="" maxlength="10"/></div></div><div style="float:left;margin-right:5px;clear:left"><div><span>Departamento:</span></div><div><input style="width:220px" type="text" class="funcionario_departamento" name="departamento_funcionario[]" value="" maxlength="320"/></div></div><div style="float:left;margin-right:5px"><div><span>Telefone: </span></div><div><input style="width:100px" type="text" class="funcionario_telefone" name="telefone_funcionario[]" value="" maxlength="10"/><br></div></div></div>');
	var remover = $('<a href="javascript:void(0)" style="color: #FF0000;float:left;clear:both"> Remover</a>');
	remover.bind('click', removeFuncionario);
	var funcionario = $('<div></div>');
	funcionario.append(campos);
	funcionario.append(remover);
	$('#'+$id).before(funcionario);
	setMask();
}

function removeEmail($obj,$ev) {
	if($ev == undefined) $obj = this;
	var pai = $($obj).parent();
	pai.fadeOut("normal",function() {
		$(this).children("input.valor_email").val('');
	});
}

function appendEmail($id) {
	var campos = $('<input style="width:220px" type="text" class="valor_email" name="email[]" value=""  maxlength="320" onblur="validaEmail(this)" /><input type="hidden" class="id_email" name="id_email[]" value="" />');
	var remover = $('<a href="javascript:void(0)"> Remover</a>');
	remover.bind('click', removeEmail);
	var email = $('<div></div>');
	email.append(campos);
	email.append(remover);
	$('#'+$id).before(email);
}

function removeSite($obj,$ev) {
	if($ev == undefined) $obj = this;
	var pai = $($obj).parent();
	pai.fadeOut("normal",function() {
		$(this).children("input.valor_site").val('');
	});
}

function appendSite($id) {
	var campos = $('<input style="width:220px" type="text" class="valor_site" name="site[]" value=""  maxlength="128" onblur="validaURL(this)" /><input type="hidden" class="id_site" name="id_site[]" value="" />');
	var remover = $('<a href="javascript:void(0)"> Remover</a>');
	remover.bind('click', removeSite);
	var site = $('<div></div>');
	site.append(campos);
	site.append(remover);
	$('#'+$id).before(site);
}

function setMask(){
   $("input.numero_telefone").unmask();
   $("input.numero_telefone").mask("(99) 9999-9999");
   $("input.cpf").unmask();
   $("input.cpf").mask("999.999.999-99");
   $("input.cnpj").unmask();
   $("input.cnpj").mask("99.999.999/9999-99");
   $("input.pis").unmask();
   $("input.pis").mask("999.99999.99-9");
}

function setCeps() {
    $('.busca-endereco').each(function() {
        $(this).click(function() {
            var $root = $(this).parent().parent().parent();
            var $cep = $root.find("input.cep");

            $('#busca-endereco').jqm({
                onShow:function(hash) {
                    hash.w.css('display','block').show();

                    var $log_temp = $('#logradouro').val();
                    var $uf_temp = $('#logradouro_estado').val();
                    var $loc_temp = $('#localidade').val();
                    var $xhr;

                    $('#logradouro').click(function() {});

                    $('#localidade').autocomplete(
                      '/cadastro/localidade.autocomplete.php',
                      {
                        extraParams:{
                          uf:function() {
                            return $('#logradouro_estado').val()
                          }
                        }
                      }
                    );

                    $('#busca-endereco').everyTime('2s',function() {
                        if($.trim($('#logradouro').val()) != '') {
                            if($log_temp != $.trim($('#logradouro').val()) ||
                                    $uf_temp != $('#logradouro_estado').val() ||
                                    $loc_temp != $('#localidade').val()) {

                                $log_temp = $.trim($('#logradouro').val());
                                $uf_temp = $('#logradouro_estado').val();
                                $loc_temp = $('#localidade').val();
                                if($xhr != undefined && $xhr.status != 200) $xhr.abort();
                                
                                $xhr = $.getJSON(
                                  '/cadastro/logradouro.ds.php',
                                  {
                                    uf:$uf_temp,
                                    local:$loc_temp,
                                    valor:$log_temp
                                  },
                                  function($data) {
                                    $('table#logradouro-resultado tbody').empty();
                                    if(typeof $data == 'object') {
                                        if($data instanceof Array) {
                                            $.each($data,function() {
                                                var $row = $(
                                                    '<tr>'+
                                                    '<td>'+ this.tipo +'</td>'+
                                                    '<td>'+ this.nome +'</td>'+
                                                    '<td>'+ this.cep +'</td>'+
                                                    '</tr>'
                                                ).appendTo('table#logradouro-resultado tbody');

                                                var $temp_cep = $cep;
                                                var $temp_cep_val = this.cep;
                                                $row.click(function() {
                                                    $cep.val($temp_cep_val);
                                                    hash.w.jqmHide();
                                                });
                                            });
                                        } else {
                                            switch($data.error) {
                                            case 0:
                                                $('table#logradouro-resultado tbody').append('<tr><td colspan="3">Muitos resultados!</td></tr>');
                                                break;
                                            case 1:
                                                $('table#logradouro-resultado tbody').append('<tr><td colspan="3">Nenhum resultado!</td></tr>');
                                                break;
                                            }
                                        }
                                    }
                                });
                            }
                        } else {
                            $('table#logradouro-resultado tbody').empty();
                        }
                    });
                }
            }).jqmShow();
        });
    });
}

$(setMask);
$(function() {
	$("#form").validate({
		meta: "validate",
		focusInvalid: true,
		errorElement: "small",
		errorClass: "required"
	});
});