

	// makes it more obvious when people have mail

	function MailToaster()
	{			
		var container;
		var last_num   = 0;
		var max_checks = 5; // do not check forever... it will keep someone logged in.
		var checks_counter = 0;
		
		var show_toaster = function(num_messages)
		{			
			if ($('mail_toaster_container')) $('mail_toaster_container').parentNode.removeChild($('mail_toaster_container'));
			var plural = (num_messages == 1) ? '.' : 's.';
			var mail_icon = $('top_username');
			
			var mail_icon_copy = get_mail_link(num_messages);
			
			var new_mail = Builder.node('SPAN',{className:'bold'},['New Mail!']);
			container = Builder.node('DIV',{id:'mail_toaster_container',className:'mail_toaster'},[new_mail,commonjs.br(),'You have',commonjs.br(),mail_icon_copy,' new message' + plural]);
			mail_icon.parentNode.style.zIndex = 999;			
			mail_icon.parentNode.insertBefore(container,mail_icon.nextSibling);
			container.style.display = 'none';
			new Effect.Appear(container); 
			var timeout = setTimeout(hide_toaster,5000);
		}		
		
		var get_mail_link = function(num_messages) {
			var mimg = num_messages > 0 ? 'mail_yes' : 'mail_no_1';
			var mail_img = Builder.node('IMG',{src:jsconfig.site.root+'images/site/'+mimg+'.gif',border:0});
			var mail_link = Builder.node('A',{href:jsconfig.site.root+'mail/'},[mail_img,' ',num_messages]);
			$('mail_link_1').innerHTML = mail_link.innerHTML;
			return mail_link;
		}
		
		var hide_toaster = function()
		{
			new Effect.Fade(container);
		}
		
		var check_messages = function() {
			checks_counter++;
			if (checks_counter > max_checks) return false;
			var query_str = 'action=messages_check_new';
			var remove_node = new Ajax.Request (
			 jsconfig.ajax,
			 {
				 method: 'get', 
				 parameters: query_str,
				 onComplete: function(response_obj) {
						var response = JSON.parse(response_obj.responseText);
						if (response.num_messages > 0 && response.num_messages != last_num) {
							last_num = response.num_messages;
							show_toaster(response.num_messages);
						}
						else if (response.num_messages == 0 && last_num != 0) {
							get_mail_link(0);
						}
				 }
			 });																			
		}
		
		if (jsconfig.mail.number_of_messages > 0) {
			last_num = jsconfig.mail.number_of_messages;
			show_toaster(jsconfig.mail.number_of_messages);	
		}
		
		// var do_check = new PeriodicalExecuter(check_messages,60);
	}