function getDOMObj()
{
	var doc = new ActiveXObject("MSXML2.DOMDocument");
	doc.async = false;
	doc.resolveExternals = false;
	doc.validateOnParse = false;
	return doc;
}
function domFromXML(doc, xmlstr)
{
	doc.loadXML(xmlstr);	
	return doc;
}

function domFromURL(doc, ur)
{	

	doc.load(ur);
	return doc;
}
function getURLParam(str, pName)
{
	if("" == str)
		return null;
	if(str.indexOf("?") < 0)
		return null;
	str = str.substring(str.indexOf("?"));
	if(str.length < 1)
		return null;	
	if ("?" == str.charAt(0))
	{
		str = str.substring(1);
	}
	
	str = unescape(str);
	
	if (str.indexOf("&") < 0)
	{
		var p = str.indexOf("=");
		if (p < 0)
			return null;
		if (pName == str.substring(0, p))
		{
			return str.substring(p+1);
		}
		return null;
	}

	var ar = str.split("&");
	for (var i = 0; i < ar.length; i++)
	{
		var p = ar[i].indexOf("=");
		if (p < 0)
			continue;
		if (pName == ar[i].substring(0, p))
		{
			return ar[i].substring(p+1);
		}
		
	}	
	return null;
}
function getNodeByName(parentNode, nodeName)
{
	for (var i = 0; i < parentNode.childNodes.length; i++)
	{
		if (parentNode.childNodes[i].nodeName == nodeName)
		{
			return parentNode.childNodes[i];
		}
	}
	return null;
}
function getNodeByIdString(parentNode, nodeId)
{
	for (var i = 0; i < parentNode.childNodes.length; i++)
	{
		if (parentNode.childNodes[i].id == nodeId)
		{
			
			return parentNode.childNodes[i];
		}
	}
	return null;
}

function getSingleNode(doc, tag)
{
	var nodes = doc.selectNodes("//" + tag);
	if (null == nodes)
	{
		return null;
	}
	if (nodes.length < 1)
	{
		return null;
	}
	
	return nodes[0];
}
function HtmlTagfilter(content)
{
	return content.replace(/\<[^\>]*\>/g,"");
}
function getWeather()
{

	var u="/weather.html";
	
	var dom_news = domFromURL(getDOMObj(), u);
	
	if (null == dom_news || dom_news.childNodes.length < 1)
	{
		return;
	}
	return getSingleNode(dom_news, "content");
}

function getWeatherBody()
{
	var weatherObj=getWeather();
	if (null == weatherObj)
	{
		return;
	}
	var weatherContent = weatherObj.firstChild.nodeValue;
	return HtmlTagfilter(weatherContent);

}
function displayWeather(obj)
{

	obj.innerHTML=getWeatherBody();
}
function getParam(url, param)
{
	var url = url.toString();
	if (url == "")
		return "";
	if (param == "")
		return "";
	var tag = param+"=";
	if (url.indexOf(tag) < 0)
	{
		return "";
	}

	var idx = url.indexOf(tag);
	// empty value
	if ((idx + tag.length)== url.length)
	{
		return ""
	}

	var idx2 = url.indexOf("&", idx+tag.length);
	if (idx2 < 0)
	{
		return url.substring(idx+tag.length);
	}
	else
	{
		return url.substring(idx+tag.length , idx2);
	}
	
}
function replaceParam(url, param, value)
{
	if (url == "")
		return "";
	if (param == "")
		return "";
	var tag = param+"=";
	var pend = param + "=" + value;
	var newUrl = "";
	// if no param
	if (url.indexOf("?") < 0)
	{
		return url + "?" + pend;
	}
	var idx = url.indexOf(tag);
	// if not set
	if (idx < 0)
	{
		return url + "&" + pend;
	}
	// if have but no value
	newUrl = url.substring(0, idx+tag.length) + value;
	var idx2 = url.indexOf("&", idx+tag.length);
	if (idx2 >= 0)
	{
		newUrl += url.substring(idx2);
	}
	return newUrl;
}