News = function() {
	var listMask;	

	return {

		init : function() {

			var newsRules = {
			    'div#news-filter ul li a': function(a) {
				    Event.stopObserving(element, 'click', News.newsList);
					Event.observe(element, 'click', News.newsList);
				},
				
				'div#news-list ul li a': function(a) {
				    Event.stopObserving(element, 'click', News.showNews);
					Event.observe(element, 'click', News.showNews);
				},
				
				'div#winetip-list ul li a': function(a) {
				    Event.stopObserving(element, 'click', News.showWineTips);
					Event.observe(element, 'click', News.showWineTips);
				}
			};

			Behaviour.register(newsRules);

			News.buildMask();
		},

		buildMask : function() {
			listMask = new EBase.Controls.Mask( {
				parent : 'news-list',
				msg : 'Loading...'
			});
		},
		
		newsList : function(evt) {
		
			Event.stop(evt);
			var aEle = Event.element(evt);
			
			if($(aEle).rel == "11") { // Newsletters			
		        window.open('http://archive.constantcontact.com/fs054/1103584053586/archive/1103726088344.html');
		        return;
            }

            $('news-filter').getElementsBySelector('a').each(function(aa) {
                $(aa).removeClassName('selected');
            });
            
			listMask.show();
            
            $(aEle).addClassName('selected');
            
			if ($(aEle).href != '#') {			    
			    new Ajax.Updater($('news-list'), $(aEle).href, {
				    method : 'post',
				    parameters : {
					    dt : new Date(),
					    p : 1
				    },
				    evalScripts : true,
				    onComplete : function() {
					    listMask.hide();
				    }
			    });
			}
		},
		
		showNews: function(evt) {
		    Event.stop(evt);
		    
			var aEle = Event.element(evt);

			
			if($(aEle).rel == "Newsletter") {
			    window.open($(aEle).href)
            } else {
                Modalbox.show($(aEle).href, { width: 850, title: $(aEle).readAttribute('rel')});
            }
		},
		
		showWineTips: function(evt) {
		    Event.stop(evt);

		    var aEle = Event.element(evt);
 
			if ($(aEle).href != '#') {
				new Ajax.Updater($('winetip-details'), $(aEle).href, {
					method : 'post',
					parameters : {
						dt : new Date()
					},
					evalScripts : true,
					onComplete : function() {
						
					}
				});
			}

		}
	};

}();

Event.observe(window, 'load', function() {
	News.init();

	Behaviour.apply();
});
