//----------------------------------------------------------------- // CONFIGURAÇÕES URL E PATHS //----------------------------------------------------------------- var Dados = { BASE_URL :'//mndti.com/', IMG_URL :'//img.mndti.com/' }; $.fn.extend({ serializeUni: function() { return jQuery.param( this.serializeArrayUni() ); }, serializeArrayUni: function() { var rselectTextarea = /select|textarea/i; var rinput = /text|hidden|password|search/i; var rCRLF = /\r?\n/g; return this.map(function(){ return this.elements ? jQuery.makeArray( this.elements ) : this; }) .filter(function(){ return this.name && !this.disabled && ( this.checked || rselectTextarea.test( this.nodeName ) || rinput.test( this.type ) ); }) .map(function( i, elem ){ var val = $(this).uni2ent(jQuery( this ).val()); return val == null ? null : jQuery.isArray( val ) ? jQuery.map( val, function( val, i ){ return { name: elem.name, value: val.replace( rCRLF, "\r\n" ) }; }) : { name: elem.name, value: val.replace( rCRLF, "\r\n" ) }; }).get(); }, uni2ent: function (srcTxt) { var entTxt = ''; var c, hi, lo; var len = 0; for (var i=0, code; code=srcTxt.charCodeAt(i); i++) { var rawChar = srcTxt.charAt(i); // needs to be an HTML entity if (code > 255) { // normally we encounter the High surrogate first if (0xD800 <= code && code <= 0xDBFF) { hi = code; lo = srcTxt.charCodeAt(i+1); // the next line will bend your mind a bit code = ((hi - 0xD800) * 0x400) + (lo - 0xDC00) + 0x10000; i++; // we already got low surrogate, so don't grab it again } // what happens if we get the low surrogate first? else if (0xDC00 <= code && code <= 0xDFFF) { hi = srcTxt.charCodeAt(i-1); lo = code; code = ((hi - 0xD800) * 0x400) + (lo - 0xDC00) + 0x10000; } // wrap it up as Hex entity c = "&#x" + code.toString(16).toUpperCase() + ";"; } else { c = rawChar; } entTxt += c; len++; } return entTxt; } }); //---------------------------------------------------------------------------------- // JQUERY SCRIPTS PERSONALIZADOS //---------------------------------------------------------------------------------- var fnp = { get_form : function(par,fn){ // SE DADOS TIPO POST, SERIALIZA CAMPOS if(par['type'] == 'POST' && par['elf']){ var dataString = $(par['elf']).serializeUni(); } var elr = par['elr']; var querys = par['querys']; var loading = par['loading']; var ell = par['ell']; var obj = par['obj']; if(querys){ $.ajax({ url: Dados.BASE_URL+'requisicoessite.jshtml?querys='+querys, dataType: par['dataType'], type: par['type'], cache: par['cache'], data: dataString, //beforeSend: function(){ if (par['type'] == 'POST'){ $(par['elr']).html(''); } }, success: function(data, textStatus){ // SE AJAX LOADING, REMOVE if(loading && par['inner'] != 'uipop'){ $(ell).remove(); } // REMOVE ELEMENTO if(par['eldel']){ $(obj).remove(); } else { // EXIBE O BOTÃO SE HIDE ANTERIORMENTE if (par['elh']) { $(obj).show(); } } // INNER APPEND if(par['inner'] == 'append'){ $(elr).append(data); } // INNER HTML - PADRAO if(par['inner'] == 'html') { $(elr).html(data); } if(par['inner'] == 'uipop') { fnp.ui_ver_img(par, data); } // fecha ui if(par['ui_close']){ $('#'+par['ui_close']).dialog('close').remove(); } // carrega editor e formatacao exe.afterFNL(); }, error: function(xhr,er) { var msi = $(ell).is(':visible'); if(msi){ $.ajax(this); } } }); } else { if(loading){ $(ell).remove(); } } }, get_ui : function(par){ var obj = par['obj']; if(par['inner'] == 'uipop'){ par['elui'] = this.v_data(par, 'elui'); par['jtitle'] = this.v_data(par, 'jtitle'); var img_pre = $(obj).attr('data-mndti-img-p'); fnp.loading(par); fnp.get_form(par); // ESCONDE ELEMENTO CLICADO if(par['elh']){ $(obj).hide(); } /*var uiinstanceQ = $(par['elui']).length; if(uiinstanceQ == 0){ fnp.loading(par); fnp.get_form(par); // ESCONDE ELEMENTO CLICADO if(par['elh']){ $(obj).hide(); } } else { alert('ATENCAO: ja existe uma janela semelhante aberta, voce deve fecha-la antes de abrir uma nova. JANELA: '+par['elui']); }*/ } else { fnp.loading(par); fnp.get_form(par); // ESCONDE ELEMENTO CLICADO if(par['elh']){ $(obj).hide(); } } }, load : function(options){ var defaults = { inner: 'html', type: 'GET', dataType: 'html', cache: false, loading: true, ell: '#loading', act: 'click', pag: false, colorbox: false, elh: false, eldel: false, uimodal: false, uititle: true, uidraggable: true, scroll_pag: false, clickOutside: false }; var par = $.extend({}, defaults, options); // CLICK if(par['act'] == 'click'){ fnp.click(par);} // CLICK COLORBOX if(par['act'] == 'colorbox'){ fnp.colorbox(par); } // LOAD if(par['act'] == 'load'){ fnp.load_(par); } // scrool pag if(par['scroll_pag']){ fnp.scroll_pag(par); } if(par['ui_btn_cancel']){ fnp.uipop_cancel(par); } }, click : function (opt){ $('body').on('click', opt['el'], function(e){ var defaults = { elr: null, querys: null, elf: null, ui_btn: false, ui_close: false }; var par = $.extend({}, defaults, opt); // PREVENT ACAO PADRAO e.preventDefault(); par['obj'] = this; // PUXA O QUERYSTRING par['querys'] = fnp.v_data(par, 'querys'); // ELEMENTO DE RETORNO par['elr'] = fnp.v_data(par, 'elr'); par['ui_close'] = fnp.v_data(par, 'uiclose'); // fechar ui pop if(par['ui_close']){ par['ui_close'] = $(this).closest('.ui-dialog-content').attr('id'); } // PAGINACAO fnp.pag(par); // REQUEST GET if(par['type'] == 'GET'){ fnp.get_ui(par); } // REQUEST POST if(par['type'] == 'POST'){ // ELEMENTO DO FOMULARIO PARA SERIALIZE var dataELF = $(this).attr("data-mndti-elf"); if(dataELF){ par['elf'] = dataELF; } else { par['elf'] = par['elf']; } if(par['elchecked']){ if($(par['elchecked']+":checked").length == 1){ fnp.post(par); } else { par['inner'] = 'uipop'; par['querys'] = par['querys']+'-uipop:1'; fnp.get_ui(par); } } else { fnp.post(par); } } }); }, post: function(par){ $('input,textarea,select').filter('[required]:visible').tooltipster({ trigger: 'custom', onlyOne: false, position: 'top-right', speed: 0, updateAnimation: false }); // initialize validate plugin on the form $(par['elf']).validate({ errorPlacement: function (error, element) { //alert($(error.element).filter('[required]:visible')); $(element).filter('[required]:visible').tooltipster('update', $(error).text()).tooltipster('show'); //$(element).tooltipster('show'); }, success: function (label, element) { var original_title = $(element).filter('[required]:visible').data('original-title'); if(original_title){ $(element).filter('[required]:visible').tooltipster('update', original_title).tooltipster('show'); } else { $(element).filter('[required]:visible').tooltipster('hide'); } } }); // VERIFICA SE ELEMENTOS PREENCHDIS if($(par['elf']).valid()){ fnp.loading(par); fnp.get_form(par); // ESCONDE ELEMENTO CLICADO if(par['elh']){ $(this).hide(); } } }, pag : function (par){ var obj = par['obj']; // AÇÕES REFERENTE A PAGINACAO if(par['pag'] && obj){ var inicio = parseInt($(obj).attr("data-mndti-inicio")); var total = parseInt($(obj).attr("data-mndti-total")); var max_reg = parseInt($(obj).attr("data-mndti-reg")); $(obj).attr('data-mndti-inicio', inicio + max_reg); if((total - inicio) <= max_reg){ $(obj).remove(); } par['querys'] = par['querys']+'-inicio:'+inicio; } }, scroll_pag : function(par){ var obj = par['el']; var elv = $(obj).is(":visible"); if(elv) { $(window).on("scroll", function () { var scrollHeight = $(document).height(); var scrollPosition = $(window).height() + $(window).scrollTop(); if ((scrollPosition) > (scrollHeight-10)) { var ajxL = $('.ajax-loading-geral').is(":visible"); if (elv && !ajxL) { $(obj).trigger("click"); } } }); } }, loading : function (par){ var obj = par['obj']; // EXIBE CARRAMENTO if(par['loading'] && $(obj).length){ //var position = $(obj).position(); var position = $(obj).offset(); var lar = (120 - $(obj).outerWidth(true)) / 2; var alt = (40 - $(obj).outerHeight(true)) / 2; par['ell'] = par['ell']+'-'+new Date().getTime(); /*if(par['type'] == "POST"){ $(par['elr']).after('
'); } else { $('body').after('
'); }*/ $('body').after('
'); $(par['ell']).css({'left': position.left-lar+'px', 'top':position.top-alt+'px'}); //this.loading_cancel(par['ell']); } }, loading_cancel: function(el){ $(document).on('click', el, function(e) { $(this).remove(); }); }, colorbox : function(par){ $(par['el']).on('click', null, function(e){ e.preventDefault(); par['querys'] = $(this).attr('data-mndti-querys'); var nocache = new Date().getTime(); $.colorbox({href: Dados.BASE_URL+'requisicoes.jshtml?querys='+par['querys']+'&a_nocache='+nocache, transition: 'none'}); }); }, v_data : function(par, data){ var valR; var obj = par['obj']; var val = $(obj).attr("data-mndti-"+data); if(data == 'jtitle'){ var val = $(obj).attr("title"); }; if(val){ valR = val; } else if(par[data]) { valR = par[data]; } return valR; }, load_ : function(par){ if(par['el'] == undefined) { // REQUEST GET if (par['type'] == 'GET') { fnp.get_ui(par); } } else { $(par['el']).each(function (i, v) { var obj = this; par['obj'] = this; if ($(obj).length) { // PUXA O QUERYSTRING par['querys'] = fnp.v_data(par, 'querys'); // ELEMENTO DE RETORNO par['elr'] = fnp.v_data(par, 'elr'); // REQUEST GET if (par['type'] == 'GET') { fnp.get_ui(par); } } }); } }, ui_ver_img: function(par, html){ $('body').after('
'+html+'
'); //$(par['elui']).html(html); if(par['uititle']){ par['jtitle'] = par['jtitle']+' ('+par['elui']+')'; } fnp.ui_setime(par); }, ui_setime: function(par,html){ var img_total = $(par['elui']+" img").length; if(img_total == 0){ fnp.uipop(par); } else { $(par['elui'] + " img").one("load", function () { }).each(function (i) { if (this.complete) { i++; if (img_total == i) { fnp.uipop(par); } } else { setTimeout(function () { fnp.ui_setime(par); }, 50); } }); } }, uipop : function (par){ if(par['loading']){ $(par['ell']).remove(); } $(par['elui']).dialog({ modal: par['uimodal'], title : par['jtitle'], width: 'auto', height: 'auto', resizable: false, draggable: par['uidraggable'], clickOutside: par['clickOutside'], clickOutsideTrigger: par['el'], buttons: par['ui_btn'], close: function(ev, ui) { $(this).dialog('close').remove(); } }); fnp.uipop_ie76_fix(par); }, uipop_cancel: function(par){ $('body').on('click', par['ui_btn_cancel'], function(e) { var uiel = $(this).closest('.ui-dialog-content').attr('id'); $('#'+uiel).dialog('close').remove(); }); }, uipop_ie76_fix: function(par){ if($.browser.msie){ var versao = $.browser.version.split('.'); if(versao[0] <= 7){var largura = $(par['elui']).outerWidth(true);$(par['elui']).dialog('option', 'width', largura+12);} } }, remove_elemento : function (el,tag){ $('body').on('click', el, function(e) { e.preventDefault(); //var el2 = $(this).attr('data-act'); $(this).parents(tag).remove(); //$(el2).empty(); }); }, adicionar_elemento : function(el,el2,tag,html){ $('body').on('click', el, function(e) { e.preventDefault(); //var i = $(el2+'>'+el3).length+1; $(el2).append('<'+tag+'>'+html+''); exe.afterFNL(); }); }, select_all_el : function(el,elform){ $('body').on('click', el, function(){ if($(elform).is(':checked')){ $(elform).prop('checked', false); //$(this).prop('checked', false); } else { $(elform).prop('checked', true); //$(this).prop('checked', true); } }); }, bbcode_editor : function(el,tb){ $(el).sceditor({ plugins: "bbcode", toolbar: tb, style: Dados.BASE_URL+'st/css/jquery.sceditor.default.min.css', locale: 'pt-BR', autoUpdate: true, resizeWidth: false, emoticonsEnabled: false }); /*$(el).livequery(function(){ $(this).sceditor({ plugins: "bbcode", toolbar: tb, style: Dados.BASE_URL+'css/jquery.sceditor.default.min.css', locale: 'pt-BR', autoUpdate: true }); });*/ }, log : function () { var str = ""; plupload.each(arguments, function(arg) { var row = ""; if (typeof(arg) != "string") { plupload.each(arg, function(value, key) { // Convert items in File objects to human readable form if (arg instanceof plupload.File) { // Convert status to human readable switch (value) { case plupload.QUEUED: value = 'QUEUED'; break; case plupload.UPLOADING: value = 'UPLOADING'; break; case plupload.FAILED: value = 'FAILED'; break; case plupload.DONE: value = 'DONE'; break; } } if (typeof(value) != "function") { row += (row ? ', ' : '') + key + '=' + value; } }); str += row + " "; } else { str += arg + " "; } }); $('#log').append(str + "\n"); }, multi_upload : function(options){ var defaults = { el: '#arquivos', botao: '#enviar', runtimes : 'html5,flash,silverlight,html4', max_size : '300mb', fileDesc: 'arquivos', fileExt: 'jpg,gif,png,zip', progresso: true, el_file_list : '#filelist', multi_s: true }; var par = $.extend({}, defaults, options); if ($(par['el']).length > 0){ var data = $(par['el']).attr("data-mndti-querys"); var uploader = new plupload.Uploader({ runtimes : par['runtimes'], browse_button : $(par['botao'])[0], container : $(par['el'])[0], url : Dados.BASE_URL+'etc/upload.php?data='+data, flash_swf_url : Dados.IMG_URL+'plupload.flash.swf', silverlight_xap_url : Dados.IMG_URL+'plupload.silverlight.xap', unique_names : true, filters : { max_file_size : par['max_size'], mime_types: [ { title : par['fileDesc'], extensions : par['fileExt'] } ] }, multi_selection: par['multi_s'], //multipart_params: {type:1}, // Post init events, bound after the internal events init : { UploadProgress: function(up, file) { $('#retorno'+file.id+'>strong').html('(' + file.percent + "%)"); if(par['progresso']){ $('#progresso'+file.id).css('width',file.percent+'%'); } }, FilesAdded: function(up, files) { for (var i in files) { var rhtml = '' + files[i].name + ' (' + plupload.formatSize(files[i].size) + ')'; if(par['progresso']){rhtml += '';} rhtml+=''; rhtml+=''; $(par['el_file_list']).append(rhtml); //$(par['el_progresso']).css('width','0'); } uploader.start(); }, FileUploaded: function(up, file, info) { var re = $.parseJSON(info.response); $('#retorno'+file.id).html(''+re.status.msg+''); //fnp.log('[FileUploaded] File:', file, "Info:", info); if(re.callback){ exe.upload_callback(re); } }, Error: function(up, err) { // Called when a error has occured alert("Erro:" + err.code + ": " + err.message); //up.refresh(); // Reposition Flash/Silverlight } } }); if($(par['el']+" .moxie-shim").length == 0){ uploader.init(); uploader.refresh(); } } }, par_array : function(par){ var arrp = par.split('-'); var dados = new Array();; $.each(arrp, function(index, value) { var arrp_r = value.split(':'); dados[arrp_r[0]] = arrp_r[1]; }); return dados; } }; /* jQuery UI dialog clickoutside */ /* The MIT License (MIT) Copyright (c) 2013 - AGENCE WEB COHERACTIO Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ $.widget( "ui.dialog", $.ui.dialog, { options: { clickOutside: false, // Determine if clicking outside the dialog shall close it clickOutsideTrigger: "" // Element (id or class) that triggers the dialog opening }, open: function() { var clickOutsideTriggerEl = $( this.options.clickOutsideTrigger ); var that = this; if (this.options.clickOutside){ // Add document wide click handler for the current dialog namespace $(document).on( "click.ui.dialogClickOutside" + that.eventNamespace, function(event){ if ( $(event.target).closest($(clickOutsideTriggerEl)).length == 0 && $(event.target).closest($(that.uiDialog)).length == 0){ that.close(); } }); } this._super(); // Invoke parent open method }, close: function() { var that = this; // Remove document wide click handler for the current dialog $(document).off( "click.ui.dialogClickOutside" + that.eventNamespace ); this._super(); // Invoke parent close method }, });