/**
* @framework author: John Giotta
* @author: Shawn Vigneri
* varsion 1.1 - 10/09/2007
*/

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();
				}
                                var wxiconstr=mediageneral.currentsData.content[i].wxicon;
                                var wxiconnewstr=wxiconstr.replace(/(http:\/\/mgiwx2.mediageneral.net\/images\/fcicons\/|http:\/\/mgiwx1.mediageneral.net\/images\/fcicons\/|http:\/\/mgiwx4.mediageneral.net\/images\/fcicons\/|http:\/\/mgiwx3.mediageneral.net\/images\/fcicons\/)/, "http://static.mgnetwork.com/ssp/core/media_path/wxicons/");
			        msg.push('<span class="temp">'+mediageneral.currentsData.content[i].temp+'</span>');
				msg.push('<img src="'+wxiconnewstr+'" alt="" width="25" />');
				msg.push('<span class="desc">'+mediageneral.currentsData.content[i].sky+'</span>');
			}
			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);}
	
}