
function jParse(response) {
	if(arguments[1] != 'add') {
		$.oldNoticeRemove();
	}
	$.each(response.msgs, function(i, message) {
		jMessage(message[0], message[1], "add");
	});
	return response.data;
}
function jMessage(type, text) {

	if (arguments[2] != 'add') {
		$.oldNoticeRemove();
	}
	if (type == 'load') {
		end = 'gif';
	} else {
		end = 'png';
	}
  
  textMessage = '<table width:"100%"><tr valign="top"><td><img src="http://geodesy.ru/books/img/'+type+'.'+end+'"></td><td><span class="jmessage">'+text+'</span></td></tr></table>';
	//textMessage = '<table width:"100%"><tr valign="top"><td><img src="/ftp/books/www/img/'+type+'.'+end+'"></td><td><span class="jmessage">'+text+'</span></td></tr></table>';
	//textMessage = '<table width:"100%"><tr><td valign="top"><img src="/img/' + type + '.'	+ end + '"></td><td valign="middle"><span class="jmessage">' + text	+ '</span></td></tr></table>';

	$.noticeAdd( {
		text :textMessage,
		stay :true,
		type :type
	});
}

/** 
 * based on jGrowl (Tim Benniks)
 */
( function(jQuery) {
	jQuery
		.extend( {
			noticeAdd : function(options) {
				var defaults = {
					inEffect : {
						opacity :'show'
					}, // in effect
					inEffectDuration :600, // in effect duration in
											// miliseconds
					stayTime :3000, // time in miliseconds before the item
									// has to disappear
					text :'', // content of the item
					//stay :false, // should the notice item stay or not?
					type :'info' // could also be error, succes
				}

				// declare varaibles
			var options, noticeWrapAll, noticeItemOuter, noticeItemInner, noticeItemClose;

			options = jQuery.extend( {}, defaults, options);
			var d = new Date();
			noticeWrapAll = (!jQuery('.notice-wrap').length) 
								? jQuery('<div></div>')
									.addClass('notice-wrap')
									.appendTo('body')
								: jQuery('.notice-wrap');//.hover( function() {jQuery.allNoticeRemove()});
			noticeItemOuter = jQuery('<div></div>').addClass('notice-item-wrapper');
			noticeItemInner = jQuery('<div></div>')
								.hide()
								.addClass('notice-item ' + options.type)
								.attr('time', d.getTime())
								.appendTo(noticeWrapAll)
								.html(options.text)
								.animate(options.inEffect, options.inEffectDuration)
								.wrap(noticeItemOuter)
								.hover(function(){$(this).fadeOut(300);});
			// noticeItemClose =
			// jQuery('<div></div>').addClass('notice-item-close').prependTo(noticeItemInner).html('x').click(function()
			// { jQuery.noticeRemove() });

			// hmmmz, zucht
			if (navigator.userAgent.match(/MSIE 6/i)) {
				noticeWrapAll.css( {
					top :document.documentElement.scrollTop
				});
			}

			//if (!options.stay) {
			//	setTimeout( function() {
			//		jQuery.noticeRemove(noticeItemInner);
			//	}, options.stayTime);
			//}
		},

		oldNoticeRemove : function() {
			$('.notice-item.load').remove();
			var d2 = new Date();
			$('.notice-item').each(function(){
				if($(this).attr('time') < d2.getTime()-2000){
					//$(this).fadeOut(300);
					$(this).remove();
				}
			});
		},

		allNoticeRemove : function() {
			//$('.notice-item').fadeOut(300);
			$('.notice-item').remove();
		}
		
		
		});
})(jQuery);