//-----------------------------------------------------------------
// 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 = "" + 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+''+tag+'>');
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
},
});