/* Biz Connect toast API. Requires bizconnect-toast.css. BZToast.success('Saved'); BZToast.error('Connection lost'); BZToast.message('Hi', {title:'Ravi'}); */ window.BZToast=(function(){ var wrap=null; var ICON={ message:'', info:'', success:'', error:'' }; function esc(s){return String(s==null?'':s).replace(/[&<>"]/g,function(c){return{'&':'&','<':'<','>':'>','"':'"'}[c];});} function ensure(){ if(wrap) return wrap; wrap=document.createElement('div'); wrap.className='bzt-wrap'; document.body.appendChild(wrap); return wrap; } function show(message,opts){ opts=opts||{}; var type=opts.type||'message'; var w=ensure(); var t=document.createElement('div'); t.className='bzt '+type; t.innerHTML='
'+(ICON[type]||ICON.message)+'
' +(opts.title?'
'+esc(opts.title)+'
':'') +'
'+esc(message)+'
'; w.appendChild(t); requestAnimationFrame(function(){ t.classList.add('bzt-in'); }); var dur=(opts.duration==null?4000:opts.duration), timer; function close(){ t.classList.remove('bzt-in'); setTimeout(function(){ if(t.parentNode) t.parentNode.removeChild(t); },320); clearTimeout(timer); } t.querySelector('.bzt-x').onclick=close; if(dur>0) timer=setTimeout(close,dur); return close; } return { show:show, message:function(m,o){o=o||{};o.type='message';return show(m,o);}, success:function(m,o){o=o||{};o.type='success';return show(m,o);}, error:function(m,o){o=o||{};o.type='error';return show(m,o);}, info:function(m,o){o=o||{};o.type='info';return show(m,o);} }; })();