(function($){var history_handle_top,timer;var body;var jwindow;$.extend({pnotify_remove_all:function(){var body_data=body.data("pnotify");if(body_data&&body_data.length){$.each(body_data,function(){if(this.pnotify_remove)
this.pnotify_remove();});}},pnotify_position_all:function(){if(timer)
clearTimeout(timer);timer=null;var body_data=body.data("pnotify");if(!body_data||!body_data.length)
return;$.each(body_data,function(){var s=this.opts.pnotify_stack;if(!s)return;if(!s.nextpos1)
s.nextpos1=s.firstpos1;if(!s.nextpos2)
s.nextpos2=s.firstpos2;if(!s.addpos2)
s.addpos2=0;if(this.css("display")!="none"){var curpos1,curpos2;var animate={};var csspos1;switch(s.dir1){case"down":csspos1="top";break;case"up":csspos1="bottom";break;case"left":csspos1="right";break;case"right":csspos1="left";break;}
curpos1=parseInt(this.css(csspos1));if(isNaN(curpos1))
curpos1=0;if(typeof s.firstpos1=="undefined"){s.firstpos1=curpos1;s.nextpos1=s.firstpos1;}
var csspos2;switch(s.dir2){case"down":csspos2="top";break;case"up":csspos2="bottom";break;case"left":csspos2="right";break;case"right":csspos2="left";break;}
curpos2=parseInt(this.css(csspos2));if(isNaN(curpos2))
curpos2=0;if(typeof s.firstpos2=="undefined"){s.firstpos2=curpos2;s.nextpos2=s.firstpos2;}
if((s.dir1=="down"&&s.nextpos1+this.height()>jwindow.height())||(s.dir1=="up"&&s.nextpos1+this.height()>jwindow.height())||(s.dir1=="left"&&s.nextpos1+this.width()>jwindow.width())||(s.dir1=="right"&&s.nextpos1+this.width()>jwindow.width())){s.nextpos1=s.firstpos1;s.nextpos2+=s.addpos2+10;s.addpos2=0;}
if(s.animation&&s.nextpos2<curpos2){switch(s.dir2){case"down":animate.top=s.nextpos2+"px";break;case"up":animate.bottom=s.nextpos2+"px";break;case"left":animate.right=s.nextpos2+"px";break;case"right":animate.left=s.nextpos2+"px";break;}}else
this.css(csspos2,s.nextpos2+"px");switch(s.dir2){case"down":case"up":if(this.outerHeight(true)>s.addpos2)
s.addpos2=this.height();break;case"left":case"right":if(this.outerWidth(true)>s.addpos2)
s.addpos2=this.width();break;}
if(s.nextpos1){if(s.animation&&(curpos1>s.nextpos1||animate.top||animate.bottom||animate.right||animate.left)){switch(s.dir1){case"down":animate.top=s.nextpos1+"px";break;case"up":animate.bottom=s.nextpos1+"px";break;case"left":animate.right=s.nextpos1+"px";break;case"right":animate.left=s.nextpos1+"px";break;}}else
this.css(csspos1,s.nextpos1+"px");}
if(animate.top||animate.bottom||animate.right||animate.left)
this.animate(animate,{duration:500,queue:false});switch(s.dir1){case"down":case"up":s.nextpos1+=this.height()+10;break;case"left":case"right":s.nextpos1+=this.width()+10;break;}}});$.each(body_data,function(){var s=this.opts.pnotify_stack;if(!s)return;s.nextpos1=s.firstpos1;s.nextpos2=s.firstpos2;s.addpos2=0;s.animation=true;});},pnotify:function(options){if(!body)
body=$("body");if(!jwindow)
jwindow=$(window);var animating;var opts;if(typeof options!="object"){opts=$.extend({},$.pnotify.defaults);opts.pnotify_text=options;}else{opts=$.extend({},$.pnotify.defaults,options);}
if(opts.pnotify_before_init){if(opts.pnotify_before_init(opts)===false)
return null;}
var nonblock_last_elem;var nonblock_pass=function(e,e_name){pnotify.css("display","none");var element_below=document.elementFromPoint(e.clientX,e.clientY);pnotify.css("display","block");var jelement_below=$(element_below);var cursor_style=jelement_below.css("cursor");pnotify.css("cursor",cursor_style!="auto"?cursor_style:"default");if(!nonblock_last_elem||nonblock_last_elem.get(0)!=element_below){if(nonblock_last_elem){dom_event.call(nonblock_last_elem.get(0),"mouseleave",e.originalEvent);dom_event.call(nonblock_last_elem.get(0),"mouseout",e.originalEvent);}
dom_event.call(element_below,"mouseenter",e.originalEvent);dom_event.call(element_below,"mouseover",e.originalEvent);}
dom_event.call(element_below,e_name,e.originalEvent);nonblock_last_elem=jelement_below;};var pnotify=$("<div />",{"class":"ui-pnotify "+opts.pnotify_addclass,"css":{"display":"none"},"mouseenter":function(e){if(opts.pnotify_nonblock)e.stopPropagation();if(opts.pnotify_mouse_reset&&animating=="out"){pnotify.stop(true);pnotify.css("height","auto").animate({"width":opts.pnotify_width,"opacity":opts.pnotify_nonblock?opts.pnotify_nonblock_opacity:opts.pnotify_opacity},"fast");}else if(opts.pnotify_nonblock&&animating!="out"){pnotify.animate({"opacity":opts.pnotify_nonblock_opacity},"fast");}
if(opts.pnotify_hide&&opts.pnotify_mouse_reset)pnotify.pnotify_cancel_remove();if(opts.pnotify_closer&&!opts.pnotify_nonblock)pnotify.closer.show();},"mouseleave":function(e){if(opts.pnotify_nonblock)e.stopPropagation();nonblock_last_elem=null;pnotify.css("cursor","auto");if(opts.pnotify_nonblock&&animating!="out")
pnotify.animate({"opacity":opts.pnotify_opacity},"fast");if(opts.pnotify_hide&&opts.pnotify_mouse_reset)pnotify.pnotify_queue_remove();pnotify.closer.hide();$.pnotify_position_all();},"mouseover":function(e){if(opts.pnotify_nonblock)e.stopPropagation();},"mouseout":function(e){if(opts.pnotify_nonblock)e.stopPropagation();},"mousemove":function(e){if(opts.pnotify_nonblock){e.stopPropagation();nonblock_pass(e,"onmousemove");}},"mousedown":function(e){if(opts.pnotify_nonblock){e.stopPropagation();e.preventDefault();nonblock_pass(e,"onmousedown");}},"mouseup":function(e){if(opts.pnotify_nonblock){e.stopPropagation();e.preventDefault();nonblock_pass(e,"onmouseup");}},"click":function(e){if(opts.pnotify_nonblock){e.stopPropagation();nonblock_pass(e,"onclick");}},"dblclick":function(e){if(opts.pnotify_nonblock){e.stopPropagation();nonblock_pass(e,"ondblclick");}}});pnotify.opts=opts;if(opts.pnotify_shadow&&!$.browser.msie)
pnotify.shadow_container=$("<div />",{"class":"ui-widget-shadow ui-corner-all ui-pnotify-shadow"}).prependTo(pnotify);pnotify.container=$("<div />",{"class":"ui-widget ui-widget-content ui-corner-all ui-pnotify-container "+(opts.pnotify_type=="error"?"ui-state-error":"ui-state-highlight")}).appendTo(pnotify);pnotify.pnotify_version="1.0.0";pnotify.pnotify=function(options){var old_opts=opts;if(typeof options=="string")
opts.pnotify_text=options;else
opts=$.extend({},opts,options);pnotify.opts=opts;if(opts.pnotify_shadow!=old_opts.pnotify_shadow){if(opts.pnotify_shadow&&!$.browser.msie)
pnotify.shadow_container=$("<div />",{"class":"ui-widget-shadow ui-pnotify-shadow"}).prependTo(pnotify);else
pnotify.children(".ui-pnotify-shadow").remove();}
if(opts.pnotify_addclass===false)
pnotify.removeClass(old_opts.pnotify_addclass);else if(opts.pnotify_addclass!==old_opts.pnotify_addclass)
pnotify.removeClass(old_opts.pnotify_addclass).addClass(opts.pnotify_addclass);if(opts.pnotify_title===false)
pnotify.title_container.hide("fast");else if(opts.pnotify_title!==old_opts.pnotify_title)
pnotify.title_container.html(opts.pnotify_title).show(200);if(opts.pnotify_text===false){pnotify.text_container.hide("fast");}else if(opts.pnotify_text!==old_opts.pnotify_text){if(opts.pnotify_insert_brs)
opts.pnotify_text=opts.pnotify_text.replace(/\n/g,"<br />");pnotify.text_container.html(opts.pnotify_text).show(200);}
pnotify.pnotify_history=opts.pnotify_history;if(opts.pnotify_type!=old_opts.pnotify_type)
pnotify.container.toggleClass("ui-state-error ui-state-highlight");if((opts.pnotify_notice_icon!=old_opts.pnotify_notice_icon&&opts.pnotify_type=="notice")||(opts.pnotify_error_icon!=old_opts.pnotify_error_icon&&opts.pnotify_type=="error")||(opts.pnotify_type!=old_opts.pnotify_type)){pnotify.container.find("div.ui-pnotify-icon").remove();if((opts.pnotify_error_icon&&opts.pnotify_type=="error")||(opts.pnotify_notice_icon)){$("<div />",{"class":"ui-pnotify-icon"}).append($("<span />",{"class":opts.pnotify_type=="error"?opts.pnotify_error_icon:opts.pnotify_notice_icon})).prependTo(pnotify.container);}}
if(opts.pnotify_width!==old_opts.pnotify_width)
pnotify.animate({width:opts.pnotify_width});if(opts.pnotify_min_height!==old_opts.pnotify_min_height)
pnotify.container.animate({minHeight:opts.pnotify_min_height});if(opts.pnotify_opacity!==old_opts.pnotify_opacity)
pnotify.fadeTo(opts.pnotify_animate_speed,opts.pnotify_opacity);if(!opts.pnotify_hide)
pnotify.pnotify_cancel_remove();else if(!old_opts.pnotify_hide)
pnotify.pnotify_queue_remove();pnotify.pnotify_queue_position();return pnotify;};pnotify.pnotify_queue_position=function(){if(timer)
clearTimeout(timer);timer=setTimeout($.pnotify_position_all,10);};pnotify.pnotify_display=function(){if(!pnotify.parent().length)
pnotify.appendTo(body);if(opts.pnotify_before_open){if(opts.pnotify_before_open(pnotify)===false)
return;}
pnotify.pnotify_queue_position();if(opts.pnotify_animation=="fade"||opts.pnotify_animation.effect_in=="fade"){pnotify.show().fadeTo(0,0).hide();}else{if(opts.pnotify_opacity!=1)
pnotify.show().fadeTo(0,opts.pnotify_opacity).hide();}
pnotify.animate_in(function(){if(opts.pnotify_after_open)
opts.pnotify_after_open(pnotify);pnotify.pnotify_queue_position();if(opts.pnotify_hide)
pnotify.pnotify_queue_remove();});};pnotify.pnotify_remove=function(){if(pnotify.timer){window.clearTimeout(pnotify.timer);pnotify.timer=null;}
if(opts.pnotify_before_close){if(opts.pnotify_before_close(pnotify)===false)
return;}
pnotify.animate_out(function(){if(opts.pnotify_after_close){if(opts.pnotify_after_close(pnotify)===false)
return;}
pnotify.pnotify_queue_position();if(opts.pnotify_remove)
pnotify.detach();});};pnotify.animate_in=function(callback){animating="in";var animation;if(typeof opts.pnotify_animation.effect_in!="undefined")
animation=opts.pnotify_animation.effect_in;else
animation=opts.pnotify_animation;if(animation=="none"){pnotify.show();callback();}else if(animation=="show")
pnotify.show(opts.pnotify_animate_speed,callback);else if(animation=="fade")
pnotify.show().fadeTo(opts.pnotify_animate_speed,opts.pnotify_opacity,callback);else if(animation=="slide")
pnotify.slideDown(opts.pnotify_animate_speed,callback);else if(typeof animation=="function")
animation("in",callback,pnotify);else if(pnotify.effect)
pnotify.effect(animation,{},opts.pnotify_animate_speed,callback);};pnotify.animate_out=function(callback){animating="out";var animation;if(typeof opts.pnotify_animation.effect_out!="undefined")
animation=opts.pnotify_animation.effect_out;else
animation=opts.pnotify_animation;if(animation=="none"){pnotify.hide();callback();}else if(animation=="show")
pnotify.hide(opts.pnotify_animate_speed,callback);else if(animation=="fade")
pnotify.fadeOut(opts.pnotify_animate_speed,callback);else if(animation=="slide")
pnotify.slideUp(opts.pnotify_animate_speed,callback);else if(typeof animation=="function")
animation("out",callback,pnotify);else if(pnotify.effect)
pnotify.effect(animation,{},opts.pnotify_animate_speed,callback);};pnotify.pnotify_cancel_remove=function(){if(pnotify.timer)
window.clearTimeout(pnotify.timer);};pnotify.pnotify_queue_remove=function(){pnotify.pnotify_cancel_remove();pnotify.timer=window.setTimeout(function(){pnotify.pnotify_remove();},(isNaN(opts.pnotify_delay)?0:opts.pnotify_delay));};pnotify.closer=$("<div />",{"class":"ui-pnotify-closer","css":{"cursor":"pointer","display":"none"},"click":function(){pnotify.pnotify_remove();pnotify.closer.hide();}}).append($("<span />",{"class":"ui-icon ui-icon-circle-close"})).appendTo(pnotify.container);if((opts.pnotify_error_icon&&opts.pnotify_type=="error")||(opts.pnotify_notice_icon)){$("<div />",{"class":"ui-pnotify-icon"}).append($("<span />",{"class":opts.pnotify_type=="error"?opts.pnotify_error_icon:opts.pnotify_notice_icon})).appendTo(pnotify.container);}
pnotify.title_container=$("<div />",{"class":"ui-pnotify-title","html":opts.pnotify_title}).appendTo(pnotify.container);if(opts.pnotify_title===false)
pnotify.title_container.hide();if(opts.pnotify_insert_brs&&typeof opts.pnotify_text=="string")
opts.pnotify_text=opts.pnotify_text.replace(/\n/g,"<br />");pnotify.text_container=$("<div />",{"class":"ui-pnotify-text","html":opts.pnotify_text}).appendTo(pnotify.container);if(opts.pnotify_text===false)
pnotify.text_container.hide();if(typeof opts.pnotify_width=="string")
pnotify.css("width",opts.pnotify_width);if(typeof opts.pnotify_min_height=="string")
pnotify.container.css("min-height",opts.pnotify_min_height);pnotify.pnotify_history=opts.pnotify_history;var body_data=body.data("pnotify");if(body_data==null||typeof body_data!="object")
body_data=[];if(opts.pnotify_stack.push=="top")
body_data=$.merge([pnotify],body_data);else
body_data=$.merge(body_data,[pnotify]);body.data("pnotify",body_data);if(opts.pnotify_after_init)
opts.pnotify_after_init(pnotify);if(opts.pnotify_history){var body_history=body.data("pnotify_history");if(typeof body_history=="undefined"){body_history=$("<div />",{"class":"ui-pnotify-history-container ui-state-default ui-corner-bottom","mouseleave":function(){body_history.animate({top:"-"+history_handle_top+"px"},{duration:100,queue:false});}}).append($("<div />",{"class":"ui-pnotify-history-header","text":"Redisplay"})).append($("<button />",{"class":"ui-pnotify-history-all ui-state-default ui-corner-all","text":"All","mouseenter":function(){$(this).addClass("ui-state-hover");},"mouseleave":function(){$(this).removeClass("ui-state-hover");},"click":function(){$.each(body_data,function(){if(this.pnotify_history&&this.pnotify_display)
this.pnotify_display();});return false;}})).append($("<button />",{"class":"ui-pnotify-history-last ui-state-default ui-corner-all","text":"Last","mouseenter":function(){$(this).addClass("ui-state-hover");},"mouseleave":function(){$(this).removeClass("ui-state-hover");},"click":function(){var i=1;while(!body_data[body_data.length-i]||!body_data[body_data.length-i].pnotify_history||body_data[body_data.length-i].is(":visible")){if(body_data.length-i===0)
return false;i++;}
var n=body_data[body_data.length-i];if(n.pnotify_display)
n.pnotify_display();return false;}})).appendTo(body);var handle=$("<span />",{"class":"ui-pnotify-history-pulldown ui-icon ui-icon-grip-dotted-horizontal","mouseenter":function(){body_history.animate({top:"0"},{duration:100,queue:false});}}).appendTo(body_history);history_handle_top=handle.offset().top+2;body_history.css({top:"-"+history_handle_top+"px"});body.data("pnotify_history",body_history);}}
opts.pnotify_stack.animation=false;pnotify.pnotify_display();return pnotify;}});var re_on=/^on/;var re_mouse_events=/^(dbl)?click$|^mouse(move|down|up|over|out|enter|leave)$|^contextmenu$/;var re_ui_events=/^(focus|blur|select|change|reset)$|^key(press|down|up)$/;var re_html_events=/^(scroll|resize|(un)?load|abort|error)$/;var dom_event=function(e,orig_e){var event_object;e=e.toLowerCase();if(document.createEvent&&this.dispatchEvent){e=e.replace(re_on,'');if(e.match(re_mouse_events)){$(this).offset();event_object=document.createEvent("MouseEvents");event_object.initMouseEvent(e,orig_e.bubbles,orig_e.cancelable,orig_e.view,orig_e.detail,orig_e.screenX,orig_e.screenY,orig_e.clientX,orig_e.clientY,orig_e.ctrlKey,orig_e.altKey,orig_e.shiftKey,orig_e.metaKey,orig_e.button,orig_e.relatedTarget);}else if(e.match(re_ui_events)){event_object=document.createEvent("UIEvents");event_object.initUIEvent(e,orig_e.bubbles,orig_e.cancelable,orig_e.view,orig_e.detail);}else if(e.match(re_html_events)){event_object=document.createEvent("HTMLEvents");event_object.initEvent(e,orig_e.bubbles,orig_e.cancelable);}
if(!event_object)return;this.dispatchEvent(event_object);}else{if(!e.match(re_on))e="on"+e;event_object=document.createEventObject(orig_e);this.fireEvent(e,event_object);}};$.pnotify.defaults={pnotify_title:false,pnotify_text:false,pnotify_addclass:"",pnotify_nonblock:false,pnotify_nonblock_opacity:.2,pnotify_history:true,pnotify_width:"300px",pnotify_min_height:"16px",pnotify_type:"notice",pnotify_notice_icon:"ui-icon ui-icon-info",pnotify_error_icon:"ui-icon ui-icon-alert",pnotify_animation:"fade",pnotify_animate_speed:"slow",pnotify_opacity:1,pnotify_shadow:false,pnotify_closer:true,pnotify_hide:true,pnotify_delay:8000,pnotify_mouse_reset:true,pnotify_remove:true,pnotify_insert_brs:true,pnotify_stack:{"dir1":"down","dir2":"left","push":"bottom"}};})(jQuery);
