var bannerC;

function start_banner() {
	bannerC = new BannerControl;	
}

var BannerControl = Class.create({
	
	initialize: function() {
		this.metar = null;
		this.getMetar();		
	    var data = new PeriodicalExecuter(this.getMetar,60*2);
	},

    getMetar: function() {
		new Ajax.Request("/?target=rmetar", 
				{  method:'get',
				   asynchronous:true,
				   evalJSON:true,
				   sanitizeJSON:true,
				   onSuccess: function(req,json) {
					    try {
				           var metar = eval('(' + req.responseText + ')');

				           bannerC.metar = metar;
				           bannerC.processMetar();
						  } catch(err) {
							  console.log("oops error"+err.message);
						  }
			       },
			       onFailure: function(req) {
			    	   console.log("wholy shit!");
			       }
		        });
	},
	
	
	processMetar: function() {
		//console.log("Process");
		//console.log(this.metar);
		
		try {
			var img_src = this.metar.filename;
			if (img_src != undefined && img_src != null &&
				this.metar.banner == "yes") {		
				
			
				Effect.Fade('pageheader', {duration: 1.0, afterFinish: function() {
					try {
						var header = $("pageheader");
		                imgsrc = bannerC.metar.filename+"?junk="+bannerC.get_junk();
		                header.style.background = "url("+imgsrc+") no-repeat";
					} catch(err) {
						console.log("error "+err.message);
					}
		           Effect.Appear('pageheader', {duration: 0.5});
				}});
			} else {
				console.log("we need a new image ("+this.metar.filename+")");
			}
			
		} catch(err) {
			//console.log("FUCK!");
			console.log(err.message);						
		}		
	},
	
	get_junk: function() {
	    var d = new Date();  
		var junk=d.getMonth()+1+''+d.getDay()+''+d.getHours()+''+d.getMinutes()+''+d.getSeconds();
		return junk;
    }

		
});

