Hi Guys,

First post don't expect much :P

Basically I have JB my iPhone and I am combining one lock screen (which changes the wallpaper depending on the time and works out and displays the date and time) and another (which I want the weather widget out of).

Here is the whole code I have tried to make work (as you can see the weatherIcon image is not working)
Code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="sk" lang="sk">
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <meta name="author" content="DeTFreN" /> 
        <link type="text/css" rel="stylesheet" href="style.css" media="all" /> 
		<script src="jquery-1.6.2.min.js" type="text/javascript"></script>   
		<script src="jquery.ba-dotimeout.min.js" type="text/javascript"></script> 
        <script src="functions.js" type="text/javascript"></script>   	
    </head>
	
	<!---WEATHER WIDGET ADDON (LCE123)-------------------------------------------------------------------------------->
<!---------------------------------------------------------------------------------------------------------------->
<!-- Option menu -->
<script>
	var EnableWeather	=	true;
</script>

<!---------------------------------------------------------------------------------------------------------------->
<!-- Style section -->
<style>
#WeatherContainer{
    background-color: rgba(0,0,0,0);
}

#TextContainer{
    font-size:20px;
	font-family: Helvetica;
    font-weight: 300;
    color: white;

}

#temp{
	position: absolute; top: 300px; left: 95px; down: 0px; width: 320px; height: 461px;
	text-align: left;
	font-family: Century Gothic;
	font-size: 14px;
	font-weight: 500;
	color: #FFFFFF;
	text-shadow: 0px 0px 0px #FFFFFF;
	text-transform: uppercase;
	opacity: 0.8;
}

#TextContainer p{
	margin:0;
}

#weatherIcon{
	position: absolute; top: 310px;down: 0px; left: 45px; width: 115px; height: 461px;
	height:60;
	width:60;
	opacity: 0.8;
}

</style>

<!---------------------------------------------------------------------------------------------------------------->
<!-- Direct the script to the general folder where the weather icons are located -->
<base href="Weather/"/>

<!---------------------------------------------------------------------------------------------------------------->
<!---------------------------------------------------------------------------------------------------------------->
<!-- Weather Script -->

<script type="text/javascript">

	var locale = "UKXX1425"
	var isCelsius = true
	var useRealFeel = false
	var enableWallpaper = true;
	var enableLockScreen = true;
	var stylesheetWall = 'mini'
	var stylesheetLock = 'mini'
	var stylesheet = 'mini'
	var iconSetWall = 'stardock white'
	var iconExtWall = ".png"
	var iconSetLock = 'stardock white'
	var iconExtLock = '.png'
	var source = 'yahooWeather'
	var updateInterval = 30
	var postal;
	var demoMode = false;
	var enabled;

function onLoad(){
	if (EnableWeather == true){
	if (demoMode == true){
		document.getElementById("weatherIcon").src="Icon Sets/"+iconSet+"/"+"cloudy1"+iconExt;
		document.getElementById("city").innerText="Somewhere";
		document.getElementById("desc").innerText="Partly Cloudy";
		document.getElementById("temp").innerText="100ΒΊ";
	}else{
		document.getElementById("weatherIcon").src="Icon Sets/"+iconSet+"/"+"dunno"+iconExt;
		validateWeatherLocation(escape(locale).replace(/^%u/g, "%"), setPostal)
	}
	}else{
		document.getElementById("weatherIcon").src="Icon Sets/"+iconSet+"/"+"blank"+iconExt;
		document.getElementById("city").innerText="";
		document.getElementById("desc").innerText="";
		document.getElementById("temp").innerText="";

	}
}


function convertTemp(num)
{
	if (isCelsius == true)
		return Math.round ((num - 32) * 5 / 9);
	else
		return num;
}


function setPostal(obj){
	if (obj.error == false){
		if(obj.cities.length > 0){
			postal = escape(obj.cities[0].zip).replace(/^%u/g, "%")
			document.getElementById("WeatherContainer").className = "";
			weatherRefresherTemp();
		}else{
			document.getElementById("city").innerText="Not Found";
			document.getElementById("WeatherContainer").className = "errorLocaleNotFound";
		}
	}else{
		document.getElementById("city").innerText=obj.errorString;
		document.getElementById("WeatherContainer").className = "errorLocaleValidate";
		setTimeout('validateWeatherLocation(escape(locale).replace(/^%u/g, "%"), setPostal)', Math.round(1000*60*5));
	}
}


function dealWithWeather(obj){
	if (obj.error == false){
		document.getElementById("city").innerText=obj.city;
		document.getElementById("desc").innerText=obj.description.toLowerCase();
		if(useRealFeel == true){
			tempValue = convertTemp(obj.realFeel);
		}else{
			tempValue = convertTemp(obj.temp)
		}
		document.getElementById("temp").innerHTML=tempValue+ "°";
		document.getElementById("weatherIcon").src="Icon Sets/"+iconSet+"/"+MiniIcons[obj.icon]+iconExt;
		document.getElementById("WeatherContainer").className = "";
	}else{
		document.getElementById("WeatherContainer").className = "errorWeatherDataFetch";
	}
}


function weatherRefresherTemp(){
	fetchWeatherData(dealWithWeather,postal);
	setTimeout(weatherRefresherTemp, 60*1000*updateInterval);
}


var MiniIcons =
[
	"00",		       //0	tornado
	"01",		       //1	tropical storm
	"02",		       //2	hurricane
	"03",		       //3	severe thunderstorms
	"04",		       //4	thunderstorms
	"05",		       //5	mixed rain and snow
	"06",		       //6	mixed rain and sleet
	"07",		       //7	mixed snow and sleet
	"08",		       //8	freezing drizzle
	"09",		       //9	drizzle
	"10",		       //10	freezing rain
	"11",		       //11	showers
	"12",		       //12	showers
	"13",		       //13	snow flurries
	"14",		       //14	light snow showers
	"15",		       //15	blowing snow
	"16",		       //16	snow
	"17",		       //17	hail
	"18",		       //18	sleet
	"19",		       //19	dust
	"20",		       //20	foggy
	"21",		       //21	haze
	"22",		       //22	smoky
	"23",		       //23	blustery
	"24",		       //24	windy
	"25",		       //25	cold
	"26",		       //26	cloudy
	"27",		      //27	mostly cloudy (night)
	"28",		       //28	mostly cloudy (day)
	"29",		      //29	partly cloudy (night)
	"30",		       //30	partly cloudy (day)
	"31",		      //31	clear (night)
	"32",		       //32	sunny
	"33",		       //33	fair (night)
	"34",		       //34	fair (day)
	"35",		       //35	mixed rain and hail
	"36",		       //36	hot
	"37",		       //37	isolated thunderstorms
	"38",		       //38	scattered thunderstorms
	"39",		       //39	scattered thunderstorms
	"40",		       //40	scattered showers
	"41",		       //41	heavy snow
	"42",		       //42	scattered snow showers
	"43",		       //43	heavy snow
	"44",		       //44	partly cloudy
	"45",		       //45	thundershowers
	"46",		       //46	snow showers
	"47",		       //47	isolated thundershowers
	"dunno",		//3200 not available
]


function constructError (string)
{
	return {error:true, errorString:string};
}


function findChild (element, nodeName)
{
	var child;
	for (child = element.firstChild; child != null; child = child.nextSibling)
	{
		if (child.nodeName == nodeName)
			return child;
	}
	return null;
}


function fetchWeatherData (callback, zip)
{
	url="http://weather.yahooapis.com/forecastrss?u=f&p=" //u=Farenheit, because accuWeather sucks
	var xml_request = new XMLHttpRequest();
	xml_request.onload = function(e) {xml_loaded(e, xml_request, callback);}
	xml_request.overrideMimeType("text/xml");
	xml_request.open("GET", url+zip);
	xml_request.setRequestHeader("Cache-Control", "no-cache");
	xml_request.send(null);
	return xml_request;
}


function xml_loaded (event, request, callback)
{
	if (request.responseXML)
	{
		var obj = {error:false, errorString:null};
		var effectiveRoot = findChild(findChild(request.responseXML, "rss"), "channel");
		obj.city = findChild(effectiveRoot, "yweather:location").getAttribute("city");
		obj.realFeel = findChild(effectiveRoot, "yweather:wind").getAttribute("chill");//Only accounts for windChill
		conditionTag = findChild(findChild(effectiveRoot, "item"), "yweather:condition");
		obj.temp = conditionTag.getAttribute("temp");
		obj.icon = conditionTag.getAttribute("code");
		obj.description = conditionTag.getAttribute("text");
		callback (obj);
	}else{
		callback ({error:true, errorString:"XML request failed. no responseXML"});
	}
}

function validateWeatherLocation (location, callback)
{
	var obj = {error:false, errorString:null, cities: new Array};
	obj.cities[0] = {zip: location}; //Not very clever, are we?
	callback (obj);
}
	

</script>


<!---------------------------------------------------------------------------------------------------------------->
	
    <body onload="initiate()">
		<div id="swappers">
			<div id="swap-one"></div>
			<div id="swap-two"></div>
		</div>
		<div id="main-wrapper">
			<div id="time"></div>
			<div id="shadow"></div>
			<div id="date"></div>
			<div id="date-shadow"></div>
			<div id="WeatherContainer"> <div id="TextContainer"> <p id="temp">32°</p>

<img id="weatherIcon" src=""/> </div>

</div>
		</div>
		<div id="cache">
			<img src="Images/LockBackground-black.png" alt=""></img>		
		</div>
		<div>

	</body>
</html>

Here is the widget on its own

Code:
	<!---WEATHER WIDGET ADDON (LCE123)-------------------------------------------------------------------------------->
<!---------------------------------------------------------------------------------------------------------------->
<!-- Option menu -->
<script>
	var EnableWeather	=	true;
</script>

<!---------------------------------------------------------------------------------------------------------------->
<!-- Style section -->
<style>
#WeatherContainer{
    background-color: rgba(0,0,0,0);
}

#TextContainer{
    font-size:20px;
	font-family: Helvetica;
    font-weight: 300;
    color: white;

}

#temp{
	position: absolute; top: 300px; left: 95px; down: 0px; width: 320px; height: 461px;
	text-align: left;
	font-family: Century Gothic;
	font-size: 14px;
	font-weight: 500;
	color: #FFFFFF;
	text-shadow: 0px 0px 0px #FFFFFF;
	text-transform: uppercase;
	opacity: 0.8;
}

#TextContainer p{
	margin:0;
}

#weatherIcon{
	position: absolute; top: 310px;down: 0px; left: 45px; width: 115px; height: 461px;
	height:60;
	width:60;
	opacity: 0.8;
}

</style>

<!---------------------------------------------------------------------------------------------------------------->
<!-- Direct the script to the general folder where the weather icons are located -->
<base href="Weather/"/>

<!---------------------------------------------------------------------------------------------------------------->
<!---------------------------------------------------------------------------------------------------------------->
<!-- Weather Script -->

<script type="text/javascript">

	var locale = "UKXX1425"
	var isCelsius = true
	var useRealFeel = false
	var enableWallpaper = true;
	var enableLockScreen = true;
	var stylesheetWall = 'mini'
	var stylesheetLock = 'mini'
	var stylesheet = 'mini'
	var iconSetWall = 'stardock white'
	var iconExtWall = ".png"
	var iconSetLock = 'stardock white'
	var iconExtLock = '.png'
	var source = 'yahooWeather'
	var updateInterval = 30
	var postal;
	var demoMode = false;
	var enabled;

function onLoad(){
	if (EnableWeather == true){
	if (demoMode == true){
		document.getElementById("weatherIcon").src="Icon Sets/"+iconSet+"/"+"cloudy1"+iconExt;
		document.getElementById("city").innerText="Somewhere";
		document.getElementById("desc").innerText="Partly Cloudy";
		document.getElementById("temp").innerText="100ΒΊ";
	}else{
		document.getElementById("weatherIcon").src="Icon Sets/"+iconSet+"/"+"dunno"+iconExt;
		validateWeatherLocation(escape(locale).replace(/^%u/g, "%"), setPostal)
	}
	}else{
		document.getElementById("weatherIcon").src="Icon Sets/"+iconSet+"/"+"blank"+iconExt;
		document.getElementById("city").innerText="";
		document.getElementById("desc").innerText="";
		document.getElementById("temp").innerText="";

	}
}


function convertTemp(num)
{
	if (isCelsius == true)
		return Math.round ((num - 32) * 5 / 9);
	else
		return num;
}


function setPostal(obj){
	if (obj.error == false){
		if(obj.cities.length > 0){
			postal = escape(obj.cities[0].zip).replace(/^%u/g, "%")
			document.getElementById("WeatherContainer").className = "";
			weatherRefresherTemp();
		}else{
			document.getElementById("city").innerText="Not Found";
			document.getElementById("WeatherContainer").className = "errorLocaleNotFound";
		}
	}else{
		document.getElementById("city").innerText=obj.errorString;
		document.getElementById("WeatherContainer").className = "errorLocaleValidate";
		setTimeout('validateWeatherLocation(escape(locale).replace(/^%u/g, "%"), setPostal)', Math.round(1000*60*5));
	}
}


function dealWithWeather(obj){
	if (obj.error == false){
		document.getElementById("city").innerText=obj.city;
		document.getElementById("desc").innerText=obj.description.toLowerCase();
		if(useRealFeel == true){
			tempValue = convertTemp(obj.realFeel);
		}else{
			tempValue = convertTemp(obj.temp)
		}
		document.getElementById("temp").innerHTML=tempValue+ "°";
		document.getElementById("weatherIcon").src="Icon Sets/"+iconSet+"/"+MiniIcons[obj.icon]+iconExt;
		document.getElementById("WeatherContainer").className = "";
	}else{
		document.getElementById("WeatherContainer").className = "errorWeatherDataFetch";
	}
}


function weatherRefresherTemp(){
	fetchWeatherData(dealWithWeather,postal);
	setTimeout(weatherRefresherTemp, 60*1000*updateInterval);
}


var MiniIcons =
[
	"00",		       //0	tornado
	"01",		       //1	tropical storm
	"02",		       //2	hurricane
	"03",		       //3	severe thunderstorms
	"04",		       //4	thunderstorms
	"05",		       //5	mixed rain and snow
	"06",		       //6	mixed rain and sleet
	"07",		       //7	mixed snow and sleet
	"08",		       //8	freezing drizzle
	"09",		       //9	drizzle
	"10",		       //10	freezing rain
	"11",		       //11	showers
	"12",		       //12	showers
	"13",		       //13	snow flurries
	"14",		       //14	light snow showers
	"15",		       //15	blowing snow
	"16",		       //16	snow
	"17",		       //17	hail
	"18",		       //18	sleet
	"19",		       //19	dust
	"20",		       //20	foggy
	"21",		       //21	haze
	"22",		       //22	smoky
	"23",		       //23	blustery
	"24",		       //24	windy
	"25",		       //25	cold
	"26",		       //26	cloudy
	"27",		      //27	mostly cloudy (night)
	"28",		       //28	mostly cloudy (day)
	"29",		      //29	partly cloudy (night)
	"30",		       //30	partly cloudy (day)
	"31",		      //31	clear (night)
	"32",		       //32	sunny
	"33",		       //33	fair (night)
	"34",		       //34	fair (day)
	"35",		       //35	mixed rain and hail
	"36",		       //36	hot
	"37",		       //37	isolated thunderstorms
	"38",		       //38	scattered thunderstorms
	"39",		       //39	scattered thunderstorms
	"40",		       //40	scattered showers
	"41",		       //41	heavy snow
	"42",		       //42	scattered snow showers
	"43",		       //43	heavy snow
	"44",		       //44	partly cloudy
	"45",		       //45	thundershowers
	"46",		       //46	snow showers
	"47",		       //47	isolated thundershowers
	"dunno",		//3200 not available
]


function constructError (string)
{
	return {error:true, errorString:string};
}


function findChild (element, nodeName)
{
	var child;
	for (child = element.firstChild; child != null; child = child.nextSibling)
	{
		if (child.nodeName == nodeName)
			return child;
	}
	return null;
}


function fetchWeatherData (callback, zip)
{
	url="http://weather.yahooapis.com/forecastrss?u=f&p=" //u=Farenheit, because accuWeather sucks
	var xml_request = new XMLHttpRequest();
	xml_request.onload = function(e) {xml_loaded(e, xml_request, callback);}
	xml_request.overrideMimeType("text/xml");
	xml_request.open("GET", url+zip);
	xml_request.setRequestHeader("Cache-Control", "no-cache");
	xml_request.send(null);
	return xml_request;
}


function xml_loaded (event, request, callback)
{
	if (request.responseXML)
	{
		var obj = {error:false, errorString:null};
		var effectiveRoot = findChild(findChild(request.responseXML, "rss"), "channel");
		obj.city = findChild(effectiveRoot, "yweather:location").getAttribute("city");
		obj.realFeel = findChild(effectiveRoot, "yweather:wind").getAttribute("chill");//Only accounts for windChill
		conditionTag = findChild(findChild(effectiveRoot, "item"), "yweather:condition");
		obj.temp = conditionTag.getAttribute("temp");
		obj.icon = conditionTag.getAttribute("code");
		obj.description = conditionTag.getAttribute("text");
		callback (obj);
	}else{
		callback ({error:true, errorString:"XML request failed. no responseXML"});
	}
}

function validateWeatherLocation (location, callback)
{
	var obj = {error:false, errorString:null, cities: new Array};
	obj.cities[0] = {zip: location}; //Not very clever, are we?
	callback (obj);
}
	

</script>


<!---------------------------------------------------------------------------------------------------------------->
	

			<div id="WeatherContainer"> <div id="TextContainer"> <p id="temp">32°</p>

<img id="weatherIcon" src=""/> </div>



</div>
</body>

</html>
I understand you can't see all the images and stuff was hoping someone could work it out just from the code.

Thanks