/**
* @framework author: John Giotta
* @author: Shawn Vigneri
* varsion 1.1 - 10/09/2007
*/
var radar_image = "";
var radar_image_url = "";

if (typeof(mediageneral) == "undefined") var mediageneral = new Object();
mediageneral.currents = function (target_element) {
	this._currents = [];
	this.datasource = mediageneral.currents.dsn+"/wx.php?forecast=hourly&alt=currentsjson&config=js";
	this.element = document.getElementById(target_element);
}
mediageneral.currents.dsn = 'http://wx.mgnetwork.com';
mediageneral.currents.prototype = {
	load: function (url) {
		var data_exchange_script = document.createElement("script");

		// Add script object attributes
		data_exchange_script.setAttribute("type", "text/javascript");
		data_exchange_script.setAttribute("charset", "utf-8");
		//data_exchange_script.setAttribute('src', url + "&cachekill=" + (new Date)().getTime());
		data_exchange_script.setAttribute('src', url);
		document.getElementsByTagName("head").item(0).appendChild(data_exchange_script);
		
		this.loadTimer = setInterval(this.delegate(this, this.handleData), 25);
		this.loadTimer.owner = this;
	},
	delegate: function(obj, func) {
		var f = function () {
			var target = arguments.callee.target;
			var func0 = arguments.callee.func;
			return func0.apply(target, arguments);
		};
		f.target = obj;
		f.func = func;
		
		return f;
	},
	handleData: function () {
		if (typeof mediageneral.currentsData != "undefined") {
			clearInterval(this.loadTimer);
			var _linkback = '';
			var msg = [];
			
			for (var i=0; i<mediageneral.currentsData.content.length; i++) {
				if(this._currents[0].linkback.split(".").length > 1){
					_linkback = this._currents[0].linkback;
				}else{
					_linkback = mediageneral.currents.dsn+'/wx.php?pands='+mediageneral.currentsData.content[i].pands+'&user='+this._currents[0].linkback.toUpperCase();
				}
				msg.push('<div id="total">');    
				msg.push('<h1><a href="'+_linkback+'">'+mediageneral.currentsData.content[i].pands+'</a></h1>');
				msg.push('<div id="wx_img"><img src="'+mediageneral.currentsData.content[i].wxicon+'" alt="'+mediageneral.currentsData.content[i].sky+'" /></div>');
				msg.push('<div id="wx_temp">'+mediageneral.currentsData.content[i].temp+'</div>');
				msg.push('<div id="wx_feelstemp">Feels Like: '+mediageneral.currentsData.content[i].feelslike+'</div>');
				msg.push('<div id="wx_humidity">Humidity: '+mediageneral.currentsData.content[i].humidity+'</div>');
				msg.push('<div id="wx_sky">'+mediageneral.currentsData.content[i].sky+'</div>');
				msg.push('<div id="wx_windspeed">'+mediageneral.currentsData.content[i].windspeed+'</div>');
				msg.push('</div>');
				/*Display radar image if available*/
				if(radar_image.length > 0)
				{
					if(radar_image_url.length > 0)
					{
						msg.push('<div style="float:left;margin-left:5px;"><a href="' + radar_image_url + '"><img src="' + radar_image + '" width="125" border="0" /></a></div>');
					}
					else
					{
						msg.push('<div style="float:left;margin-left:5px;"><img src="' + radar_image + '" width="125px" border="0" /></div>');
					}
				}
				/*Display radar image if available*/
				msg.push('<br style="clear:both;" />');
			}
			this.element.innerHTML = msg.join(" ");
			this._currents.shift();
			delete mediageneral.currentsData;
			if (this._currents.length > 0) this.getData();
		}
	},
	addLoc: function (pands,linkback) {
		var usr = 'currentsjson';
		if(arguments[2]) 
			{
				radar_image = arguments[2];
				if(arguments[3])
					{radar_image_url = arguments[3];}
			}
			
		if(!arguments[2] && linkback.length == 3) {
			usr = linkback+'_currentsjson';
		}else if(arguments[2]){
			usr = arguments[2]+'_currentsjson';
		}

		this._currents.push({url:this.datasource + "&pands=" + pands + "&user=" + usr,linkback:linkback});
	},
	getData: function () {
		this.load(this._currents[0].url);
	}
	
}