var ENC_SHIFT_JIS = "Shift_JIS";
var ENC_EUC_JP = "EUC-JP";
var ENC_UTF8 = "UTF-8";
var Weather = {
	callBackFanction: false,
	encType: ENC_UTF8,
	imageDirectory: "",
	feedImageID: "",
	feedTextId: "",
	bw: {},
	initBrowser: function() {
		var a, ua = navigator.userAgent;
		this.bw.safari    = ((a=ua.split('AppleWebKit/')[1])?a.split('(')[0]:0)>=124;
		this.bw.konqueror = ((a=ua.split('Konqueror/')[1])?a.split(';')[0]:0)>=3.3;
		this.bw.mozes     = ((a=ua.split('Gecko/')[1])?a.split(" ")[0]:0)>=20011128;
		this.bw.opera     = (!!window.opera)&&((typeof XMLHttpRequest)=='function');
		this.bw.msie      = (!!window.ActiveXObject) && (!!!!document.all);
	},
	createHttpRequest: function() {
		var e1, e2;
		if (window.ActiveXObject) {
			try {
				return new ActiveXObject("Msxml2.XMLHTTP");
			} catch (e1) {
				try {
					return new ActiveXObject("Microsoft.XMLHTTP");
				} catch (e2) {
					return NULL;
				}
			}
		} else if (window.XMLHttpRequest) {
			return new XMLHttpRequest();
		} else {
			return null;
		}
	},
	sendRequest: function(url) {
		var req = this.createHttpRequest();
		if (req == null) return;
		this.initBrowser();
		var opera = this.bw.opera;
		var safari = this.bw.safari;
		var konqueror = this.bw.konqueror;
		var mozes = this.bw.mozes;
		var env = {
			eImage: document.getElementById(this.feedImageID),
			eText:  document.getElementById(this.feedTextID),
			imgDir: Weather.imageDirectory
		};
		if (opera || safari || mozes) {
			req.onload = function() {
				if (Weather.callBackFanction) {
					Weather.callBackFanction(req.responseText, env);
				}
			}
		} else {
			req.onreadystatechange = function() {
				if (req.readyState == 4) {
					if (Weather.callBackFanction) {
						Weather.callBackFanction(req.responseText, env);
					}
				}
			}
		}
		var query = url + "?enc=" + this.encType;
		req.open('GET', url, true);
		req.send("");
	}
};

