<?xml version="1.0" encoding="UTF-16"?>
<html>
<meta http-equiv="refresh" content="900; url=Widget.html"/>
<!---------------------------------------------------------------------------------------------------------------->
<!-- Style section Clock/Date-->
<style type="text/css" media="all">
SPAN#clock
{
font-family: Helvetica;
font-weight: 100;
color: white;
font-size: 120px;
text-shadow: 0px 0px 6px black;
-webkit-mask-image: -webkit-gradient(linear, left top, left bottom, from(#666), to(transparent), color-stop(0.44, #666));
}
SPAN#mins
{
font-family: Helvetica;
font-weight: 100;
color: yellow;
font-size: 55px;
text-shadow: 0px 0px 5px black;
-webkit-mask-image: -webkit-gradient(linear, left top, left bottom, from(#666), to(transparent), color-stop(0.44, #666));
}
SPAN#month
{
font-family: Helvetica;
text-align: left;
font-weight: 100;
color: white;
font-size: 23px;
text-transform: uppercase;
text-shadow: 0px 0px 5px black;
-webkit-mask-image: -webkit-gradient(linear, left top, left bottom, from(#666), to(transparent), color-stop(0.5, #666));
}
SPAN#year
{
font-family: Helvetica;
text-align: left;
font-weight: 100;
color: yellow;
font-size: 24px;
text-shadow: 0px 0px 5px black;
-webkit-mask-image: -webkit-gradient(linear, left top, left bottom, from(#666), to(transparent), color-stop(0.5, #666));
}
<!---------------------------------------------------------------------------------------------------------------->
<!-- Style section Weather Widget-->
#WeatherContainer{
background-color: rgba(0,0,0,0);
}
#TextContainer{
font-size:55px;
font-family: Helvetica;
font-weight: bold;
color:#000000;
}
#city{
position: absolute; top: 341px; right: 0px; down: 0px; left: 34px; width: 296px; height: 481px;
text-align: left;
font-family: Helvetica;
font-size: 13px;
font-weight: 100;
text-transform: Capitalize;
padding-top:0px;
text-shadow: 0px 0px 3px black;
color: #ffffff;
}
#temp{
position: absolute; top: 347px; right: 0px; down: 0px; left: 150px; width: 296px; height: 481px;
text-align: left;
font-family: Helvetica;
font-size: 15px;
font-weight: 100;
text-shadow: 0px 0px 3px black;
font-weight: 100;
color: white;
-webkit-mask-image: -webkit-gradient(linear, left top, left bottom, from(#666), to(transparent), color-stop(0.3, #666));
}
#desc{
position: absolute; top: 357px; right: 0px; down: 0px; left: 34px; width: 296px; height: 481px;
text-align: left;
font-family: Helvetica;
font-size: 12px;
font-weight: 100;
text-transform: Capitalize;
text-shadow: 0px 0px 1px black;
font-weight: 100;
color: white;
-webkit-mask-image: -webkit-gradient(linear, left top, left bottom, from(#666), to(transparent), color-stop(0.3, #666));
}
#TextContainer p{
margin:0;
}
#weatherIcon{
position: absolute;top: 337px; right: 0px; down: 0px; left: 96px;
height:40px;
width:40px;
}
</style>
<!---------------------------------------------------------------------------------------------------------------->
<!-- Direct the script to the general folder where the weather icons are located -->
<base href="Private/"/>
<!---------------------------------------------------------------------------------------------------------------->
<!-- Clock and Date Script -->
<script type="text/javascript">
function updateClock ( )
{
var currentTime = new Date ( );
var currentHours = currentTime.getHours ( );
var currentMinutes = currentTime.getMinutes ( );
var currentSeconds = currentTime.getSeconds ( );
<!-- Pad the minutes and seconds with leading zeros, if required -->
currentHours = ( currentHours < 10 ? "0" : "" ) + currentHours;
currentMinutes = ( currentMinutes < 10 ? "0" : "" ) + currentMinutes;
currentSeconds = ( currentSeconds < 10 ? "0" : "" ) + currentSeconds;
<!-- Defines either "AM" or "PM" as appropriate -->
var timeOfDay = ( currentHours < 12 ) ? "AM" : "PM";
<!-- Convert hours component of "12" to "24" -->
//currentHours = ( currentHours > 12 ) ? currentHours - 12 : currentHours;
<!-- Convert hours component from "0" to "12 at Midnight-->
currentHours = ( currentHours == 0 ) ? 12 : currentHours;
<!-- Compose the string for display-->
var currentTimeString = currentHours;
var currentTimeString1 = currentMinutes;
<!-- Update the time display-->
document.getElementById("clock").firstChild.nodeValue = currentTimeString;
document.getElementById("mins").firstChild.nodeValue = currentTimeString1;
<!-- document.getElementById("clock").firstChild.nodeValue = currentTimeString + " " + timeOfDay;-->
}
function init2 ( )
{
timeDisplay = document.createTextNode ( "" );
document.getElementById("ampm").appendChild ( timeDisplay );
}
function init3 ( )
{
timeDisplay = document.createTextNode ( "" );
document.getElementById("date").appendChild ( timeDisplay );
}
function calendarDate ( )
{
var this_date_name_array = new Array ("0", "01", "02", "03", "04", "05", "06", "07", "08", "09", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23","24","25","26","27","28","29","30","31")
var this_weekday_name_array = new Array("Domingo","Lunes","Martes","Miercoles","Jueves","Viernes","Sabado")
var this_month_name_array = new Array("January","February","March","April","May","June","July","August","September","October","November","December")
var this_date_timestamp = new Date()
var this_weekday = this_date_timestamp.getDay()
var this_date = this_date_timestamp.getDate()
var this_month = this_date_timestamp.getMonth()
var this_year = this_date_timestamp.getYear()
if (this_year < 1000)
this_year+= 1900;
if (this_year==101)
this_year=2001;
document.getElementById("month").firstChild.nodeValue = this_month_name_array[this_month]
document.getElementById("year").firstChild.nodeValue = this_year
}
<!---------------------------------------------------------------------------------------------------------------->
<!-- Weather Script -->
var locale = "SWXX0010"
var isCelsius = true
var useRealFeel = false
var enableWallpaper = true;
var enableLockScreen = true;
var stylesheetWall = 'mini'
var stylesheetLock = 'mini'
var stylesheet = 'mini'
var iconSetWall = 'stardock'
var iconExtWall = ".png"
var iconSetLock = 'stardock'
var iconExtLock = '.png'
var source = 'yahooWeather'
var updateInterval = 1200
var postal;
var demoMode = false;
var enabled;
if (location.href.indexOf("LockBackground") == -1){
stylesheet = stylesheetWall;
iconSet = iconSetWall;
iconExt = iconExtWall;
enabled = enableWallpaper;
}else{
stylesheet = stylesheetLock;
iconSet = iconSetLock;
iconExt = iconExtLock;
enabled = enableLockScreen;
}
if(enabled == true){
if(iconSet == null || iconSet == 'null' || iconSet == ""){
var iconSet = stylesheet;
}
var headID = document.getElementsByTagName("head")[0];
var styleNode = document.createElement('link');
styleNode.type = 'text/css';
styleNode.rel = 'stylesheet';
styleNode.href = 'Stylesheets/'+stylesheet+'.css';
headID.appendChild(styleNode);
var scriptNode = document.createElement('script');
scriptNode.type = 'text/javascript';
scriptNode.src = 'Sources/'+source+'.js';
headID.appendChild(scriptNode);
}
function onLoad(){
if (enabled == 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.getElementsByTagName("body")[0].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{
//Could be down to any number of things, which is unhelpful...
document.getElementById("WeatherContainer").className = "errorWeatherDataFetch";
}
}
function weatherRefresherTemp(){
fetchWeatherData(dealWithWeather,postal);
setTimeout(weatherRefresherTemp, 60*1000*updateInterval);
}
var MiniIcons =
[
"0", //0 tornado
"1", //1 tropical storm
"2", //2 hurricane
"3", //3 severe thunderstorms
"4", //4 thunderstorms
"5", //5 mixed rain and snow
"6", //6 mixed rain and sleet
"7", //7 mixed snow and sleet
"8", //8 freezing drizzle
"9", //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
"17", //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>
<!---------------------------------------------------------------------------------------------------------------->
<!-- Display All - Weather-Clock-Date -->
<body bgcolor="Transparent" onload="onLoad()">
<div>
<div id="WeatherContainer"> <div id="TextContainer"> <p id="city">Somewhere</p> <p id="temp">32°</p> <p id="desc">cloudy</p> </div>
<img id="weatherIcon" src=""/> </div>
<table style="position: absolute; top: 77px; left: 41px; width: 300px; height: 22px;cellspacing="0" cellpadding="0">
<tr>
<td width="310" align="left" valign="top">
<span id="clock">
<script language="JavaScript">updateClock(); setInterval('updateClock()', 1000 )</script>
</span>
</td>
</tr>
</table>
<table style="position: absolute; top: 90px; left: 174px; width: 300px; height: 22px;cellspacing="0" cellpadding="0">
<tr>
<td width="310" align="left" valign="top">
<span id="mins">
<script language="JavaScript">updateClock(); setInterval('updateClock()', 1000 )</script>
</span>
</td>
</tr>
</table>
<table style="position: absolute; top: 144px; left: 180px; width: 300px; height: 480px;cellspacing="0" cellpadding="0">
<td width="310" height="12" align="left" valign="top" margin-left="20">
<span id="month">
<script language="JavaScript">calendarDate(); setInterval('calendarDate()', 1000 )</script></span>
</td></table>
<table style="position: absolute; top: 164px; left: 186px; width: 300px; height: 480px;cellspacing="0" cellpadding="0">
<td width="310" height="12" align="left" valign="top" margin-left="20">
<span id="year">
<script language="JavaScript">calendarDate(); setInterval('calendarDate()', 1000 )</script></span>
</td></table>
<!-- This it linking the Calendar.html for the Calendar -->
<object data="Calendar/Calendar.html" type="text/html" height="480" width="320"> </object>
</body>
</html>