/**
 * VisãoI Sistemas
 * visaoi@visaoi.com.br
 * 
 * Rua Marcílio Dias, 26
 * Bairro Americano - Lajeado - RS
 * (51)3011-7001 | (51)8424-4494
 * 
 * DESCRIÇÃO
 * Javascripts com funções genéricas, comuns aos módulos dos sites
 *
 * @author		Francisco Schwertner
 * @copyright   Copyright (c) 2005-2008 VisãoI Sistemas. (http://www.visaoi.com)
 */
 
$(function() {
	
	/**	
	 * cria o datepiker para os inputs do tipo data, elementos com a classe 'input_date' 
	 */
	
	$('INPUT[@class=input_date]').each(function() {
		$(this).datepicker({
			dateFormat:'dd/mm/yy',
			showOn: "both", 
		    buttonImage: iconspath+'/silk_icons/date_magnify.png', 
		    buttonImageOnly: true 
		});
	});
	
	/**	
	 * cria máscara do para inputs do tipo hora, elemetnos com a classe 'input_time' 
	 */
	$('INPUT[@class=input_time]').each(function(){$(this).mask('99:99');});
	
	/**	
	 * cria máscara do para inputs do tipo timestamp, elemetnos com a classe 'input_timestamp' 
	 */
	$('INPUT[@class=input_timestamp]').each(function(){$(this).mask('99/99/9999 99:99:99');});
	

	/**	
	 * cria máscara do para inputs do tipo fone, elementos com a classe 'input_fone' 
	 */
	$('INPUT[@class=input_fone]').each(function(){$(this).mask('(099)9999-9999');});
	
	/**	
	 * cria máscara para inputs para cpf, input comecando com 'cpf_'
	 */	
	$('INPUT[@class=input_cpf]').each(function(){$(this).mask('999.999.999-99');});
	
	/**	
	 * cria máscara para inputs para cnpj
	 */
	$('INPUT[@class=input_cnpj]').each(function(){$(this).mask('99.999.999/9999-99');});
	
	
	/**	
	 * cria a formatação e mascaramento para campos numeric
	 */
	$('INPUT[@class=input_numeric]').each(function() {
		$(this).maskMoney({
			symbol: "",
			decimal: ",",
			precision: 2,
			thousands: ".",
			showSymbol:true
		});
	});
	
	/**
	 * cria textareahtml, para elementos com a class 'textarea_html'
	 * 
	 *
	 */
	$('TEXTAREA[@class=textarea_html]').each(function(count) {
		var textareahtml_id = $(this).attr('id');
		tinyMCE.execCommand("mceAddControl", false, textareahtml_id);
	});
	
	/**
	 * cria máscara para inputs do tipo CPF, elementos com o atributo ID começando com "cpf"
	 *
	 */
	$('INPUT[@class=input_cep]').each(function(){$(this).mask('99999-999');});
	

	/**
	 * cria colorpicker , elementos com o atributo ID começando com "cor_"
	 *
	 */
	$('INPUT[@class=input_color]').each(function(){
		var id = $(this).attr('id');
		$(this).ColorPicker({
			onSubmit: function(hsb, hex, rgb) {
				$('#'+id+'').val(hex);
				$("#square_"+id).css('background-color', "#"+hex);
			},
			onBeforeShow: function () {
				$(this).ColorPickerSetColor(this.value);
				
			}
		})
		.bind('keyup', function(){
			$(this).ColorPickerSetColor(this.value);
		});	
		
	});
	
	
	
	
	
	
	
}); // fim jquery

/**
 * abre uma janela popUp 
 * para abrie a pop up no centro da tela os parâmetros top e left devem ser 0 
 *
 * @param string url : endereço
 * @param string name : nome da janela
 * @param int width : largura da janela
 * @param int height : altura da janela
 * @param int top : posição em relação ao topo 
 * @param int left : posição em relação a esquerda
 */
// TODO terminar esta função
function abrePopUp(url, name, width, height, top, left) {
	var winl = (screen.width - width)/2;
	var wint = (screen.height - height)/2;

	if((top == 0)&&(left == 0)) {
		window.open(url,null,"height="+height+",width="+width+",top="+wint+",left="+winl+",status=yes,toolbar=no,menubar=no,location=no");	
	} else {
		window.open(url,null,"height="+height+",width="+width+",status=yes,toolbar=no,menubar=no,location=no");
	}
}

function abrePopTelaInteira(url, name) { 
	
	var width = window.screen.width;
	var height = window.screen.height;
	
	window.open(url,name,'status=no,resizable=yes,scrollbars=no,menubar=no,width='+width+',height='+height+',left=15,top=20') ;
}

function mensagemBlockUI(tipo, mensagem, duracao, redirecionamento) {

 	$("body").append("<div id='mensagem-blockUI' class='"+tipo+"'>"+mensagem+"</div>");


 	jQuery.blockUI({ 
     	message: jQuery('#mensagem-blockUI'),
     	overlayCSS: { backgroundColor: '#000' },
     	css: {
     		border: 'none'
 		} 
 	});
 	
 	// após o limite definido pela variavel time a mensagem desaparece
 	// redireciona para a url definada após exibir a mensagem
     setTimeout(function() { 
         jQuery.unblockUI({ 
             onUnblock: function(){ 
             	$('#mensagem-blockUI').remove();
             	if(redirecionamento != '') {
 					//window.location = redirecionamento;
 				}
 			} 
         }); 
     }, duracao);

 }

function mostraTipoPessoa(){
	
	var val = $('#tipo_pessoa').val();
	switch(val){
		case 'pf':
			$('#cpf, label[for="cpf"]').show();
			$('#cnpj, label[for="cnpj"]').hide();
			$('#inscricao, label[for="inscricao"]').hide();
			$('#cnpj, label[for="cnpj"]').attr('value',null);
			$('#inscricao, label[for="inscricao"]').attr('value',null);
			$('#description_12').hide();
			break;
			
		case 'pj':
			$('#cnpj, label[for="cnpj"]').show();
			$('#cpf, label[for="cpf"]').hide();
			$('#cpf, label[for="cpf"]').attr('value',null);
			$('#inscricao, label[for="inscricao"]').show();
			$('#description_12').show();
			break;
		default:
			$('#cnpj, label[for="cnpj"]').hide();
			$('#cpf, label[for="cpf"]').hide();
			$('#inscricao, label[for="inscricao"]').hide();
			$('#description_12').hide();
			$('#cnpj, label[for="cnpj"]').attr('value',null);
			$('#inscricao, label[for="inscricao"]').attr('value',null);
			$('#cpf, label[for="cpf"]').attr('value',null);
			break;
	}
		
}

function excluirArquivo(id, tabela, tip_arquivo_atual_id) {
	
	var elemento = $('#'+tip_arquivo_atual_id);
	$(elemento).html("<img src='"+baseurl+"/img/carregando.gif' />");
	$.post(baseurl+'/'+module+'/arquivo/excluir/',
		{
			id: id,
			tabela: tabela
		},
		function(data){
			$(elemento).html("arquivo excluído com sucesso.");
		}
	);
}

function mostraEdicaoArquivo(id, tabela) { 
	  
	 var arquivo = $("#nome_arquivo_"+id);
	 var nome_arquivo = arquivo.val();
	 var aux = nome_arquivo.lastIndexOf('.');
	 var arquivo_sem_extensao = nome_arquivo.substring(0,aux);
	 
	 arquivo.val(arquivo_sem_extensao);
    arquivo.show();	 
	 $("#editar_arquivo").show();	
}


/**
 * faz um POST na ação 'editar' do controller 'arquivo'
 * id = id do registro arquivo
 * tabela = tabela que referencia este registro do arquivo
 * tip_arquivo_atual_id = id elemento dom que mostrara o mensagem de OK
 * @author Flávio
 */
function editarArquivo(id, tabela,tip_arquivo_atual_id) { 	

		var elemento = $('#'+tip_arquivo_atual_id);
		var nome_arquivo = $('#nome_arquivo_'+id).val();
		
		$(elemento).html("<img src='"+baseurl+"/img/carregando.gif' />");
		$.post(baseurl+'/'+module+'/arquivo/editar/',
			{
				id: id,
				tabela: tabela,
				arquivo: nome_arquivo
			},
			function(data){				
				if(data){
					$(elemento).html("<br>arquivo editado com sucesso.<br>");
					window.location.reload();

				}else{
					$(elemento).html("<br>Erro ao editar arquivo<br>");
				}
			}
		);
}
