function getFlash(movieName)
{
	var elementList = document.getElementsByName(movieName);
	var flashObj = document.getElementById(movieName);
	
	var flashList = [];
	for (var i = 0; i < elementList.length; i++)
	{
		flashList.push(elementList[i]);
	}
	flashList.push(flashObj);
	
	return flashList;
}


function jsResizeWidget(width, height, flashName)
{
	if (flashName == null)
	{
		flashName = "weatherWidget";
	}
	var flashList = getFlash(flashName);
	
	try
	{
		var flashObj;
		for (var i in flashList)
		{
			flashObj = flashList[i];
			if (flashObj != null)
			{
				flashObj.setAttribute("width", width);
				flashObj.setAttribute("height", height);
				
				//flashObj.style.width = width + "px";
				//flashObj.style.height = height + "px";
			}
		}
	}
	catch (e)
	{
	}
}


function jsIsAvailable()
{
	return true;
}

function generateEmbed(postcode)
{
	if (!postcode)
	{
		postcode = 4000;
	}
	
	var swfLocation = "http://coastalwatch.staging.emu.com.au/weatherwidget/cwWeatherWidget-web.swf";
	var jsLocation = "http://coastalwatch.staging.emu.com.au/weatherwidget/js/weatherWidgetUtil.js";
	
	var flashvars = generateFlashvars({"postcode":postcode});
	
	var defaultWidth = 352;
	var defaultHeight = 630;
	
	var generatedHTML = generateHTMLEmbed(defaultWidth, defaultHeight, flashvars, jsLocation, swfLocation);
	return generatedHTML;
}


function generateSnowWidgetEmbed(flashvarMap, allowResize)
{
	//var swfLocation = "http://coastalwatch.staging.emu.com.au/snowwidget/cwWeatherWidget-web.swf";
	//var jsLocation = "http://coastalwatch.staging.emu.com.au/snowwidget/js/weatherWidgetUtil.js";
	var swfLocation = "http://snowwidget/Web/cwWeatherWidget-web.swf";
	var jsLocation = "http://snowwidget/Web/js/weatherWidgetUtil.js";
	
	var defaultWidth = 352;
	var defaultHeight = 310;
	if (allowResize == false)
	{
		defaultWidth = 352;
		defaultHeight = 482;
	}
	
	var flashvars = generateFlashvars(flashvarMap);
	
	var generatedHTML = generateHTMLEmbed(defaultWidth, defaultHeight, flashvars, jsLocation, swfLocation);
	return generatedHTML;
}


function generateHTMLEmbed(defaultWidth, defaultHeight, flashvars, jsLocation, swfLocation)
{
	var generatedHTML = "";
	generatedHTML += '<!-- Start embed -->\n';
	generatedHTML += '<script type="text/javascript" src="'+jsLocation+'"></script>\n';

	generatedHTML += '<object id="weatherWidget" width="'+defaultWidth+'" height="'+defaultHeight+'"><param name="weatherWidget" value="'+swfLocation+'"></param><param name="allowscriptaccess" value="always"></param><param name="bgcolor" value="#FFFFFF"></param><param name="flashvars" value="'+flashvars+'"></param><embed name="weatherWidget" src="'+swfLocation+'" type="application/x-shockwave-flash" allowscriptaccess="always" width="'+defaultWidth+'" height="'+defaultHeight+'" flashvars="'+flashvars+'" bgcolor="#FFFFFF"></embed></object>\n';
	generatedHTML += '<!-- End embed -->';
	
	return generatedHTML;
}


function generateFlashvars(flashvarMap)
{
	var flashvarValues = "";
	var curValue;
	for (var i in flashvarMap)
	{
		curValue = flashvarMap[i];
		if (curValue != null && curValue != "")
		{
			if (flashvarValues != "")
			{
				flashvarValues += "&";
			}
			
			flashvarValues += escape(i) + "=" + escape(curValue);
		}
	}
	
	return flashvarValues;
}

