wdgt H m p 2o
// various parameters
var header_height = 20;
var line_height = 16;
var oldTitle = "";
var hidden = false;
var url = new URL();
var feed_url = "http://paws4deals.com/index.php?main_page=rss_feed&feed=featured";
var doc;
var item;
var testnode;
var purchaseURL;
var linkURL;
var isSoldout = false;
var updateCounter = 0;
var updateTimer;
// dock stuff
var dockItem= XMLDOM.parse( filesystem.readFile( "dock.xml" ) );
//widget.setDockItem(doc);
var refreshed = "";
var updated = "";
var contextMenu = new Array();
contextMenu[0] = new MenuItem();
contextMenu[1] = new MenuItem();
doDisplay();
main_window.contextMenuItems = contextMenu;
main_window.visible = true;
full_frame.visible = 1;
function doDisplay() {
var contents = getContents();
if (contents != null) {
try {
doc = XMLDOM.parse(contents);
} catch(e) {
showError("Error Parsing Paws4Deals");
}
try {
// find the item node
var item_nodes = doc.getElementsByName("item");
doItem(item_nodes.item(0).firstChild);
} catch (e) {
doNoConnection();
}
if (isNew() ) {
doHideShow(true);
}
doUpdateDock();
doContextMenu();
}
}
function doContextMenu() {
contextMenu[0].title = "Updated: " + updated;
contextMenu[0].enabled = false;
contextMenu[0].checked = false;
var now = new Date();
refreshed = now.getDay()+"/";
refreshed += (now.getMonth()+1)+"/";
refreshed += now.getYear()+":";
refreshed += now.getHours()+":";
refreshed += now.getMinutes()+":"+now.getSeconds();
contextMenu[1] = "Refreshed: " + refreshed;
contextMenu[1].enabled = false;
contextMenu[1].checked = false;
}
function getContents() {
var contents;
var updateURL = feed_url;
log(updateURL);
try {
url.setRequestHeader("pragma", "no-cache");
contents = url.fetch(updateURL);
} catch (e) {
doNoConnection();
return null;
}
return contents;
}
function doItem(node) {
if (node == null) return;
var name = node.nodeName;
var child = node.firstChild;
var value = "";
if (child != null) {
value = node.firstChild.data;
}
switch(name) {
case "pubDate":
//log("pubdate = " + value);
updated = value;
break;
case "title":
//log("Title = " + value);
t_title.data = value;
break;
case "g:image_link":
//log("Image = " + value);
thumbnail.src = value;
break;
case "g:price":
//log("Price = " + value);
t_price.data = "$" + value;
break;
case "g:quantity":
if (value.toLowerCase() == "out" ) {
i_soldout.visible = 1;
isSoldout = true;
} else {
i_soldout.visible = 0;
isSoldout = false;
}
break;
case "link":
linkURL = value;
break;
}
doItem(node.nextSibling);
}
function doNoConnection() {
t_title.data = "Couldn't connect to Paws4Deals";
t_price.data = "Will retry shortly";
thumbnail.src="Resources/Warning.png"
preferences.prefTimer.value = 5;
}
function doInfoClick() {
openURL(linkURL);
}
function isNew() {
log ("Title: " + t_title.data);
log ("old title: " + oldTitle);
if (t_title.data != oldTitle) {
oldTitle = t_title.data;
return true;
} else {
return false;
}
}
function doHideShow(forceShow) {
log("Hide Show!");
log(" forced: " + forceShow);
if (forceShow) {
log(" showing (forced)");
// display the widget elements
hidden_frame.visible = 0;
full_frame.visible = 1;
hidden = false;
} else if (system.event.clickCount == 2) {
if (hidden || forceShow=="true") {
log(" showing");
// display the widget elements
hidden_frame.visible = 0;
full_frame.visible = 1;
hidden = false;
} else {
// hide the widget elements
log(" hidding");
full_frame.visible = 0;
hidden_frame.visible = 1;
hidden = true;
}
}
}
function doUpdateDock() {
log("doUpdateDock!");
if (widget.dockOpen) {
dock_thumbnail = dockItem.getElementById("i_thumbnail");
dock_thumbnail.setAttribute("src", thumbnail.src);
dock_soldout = dockItem.getElementById("i_soldout");
if (isSoldout) dock_soldout.setAttribute("visible", "1");
else dock_soldout.setAttribute("visible", "0");
widget.setDockItem(dockItem);
}
}
log("Update timer");
updateTimer = preferences.prefTimer.value;
log(" ...updating every " + updateTimer + " minutes");
if(++updateCounter == updateTimer) {
log("Updating");
updateCounter = 0;
doDisplay();
}
Update Time (minutes):
slider
1
60
1
10
30
60
30
n H
` _ PNG
IHDR q- tIME;{ pHYs ." ."ݒ gAMA a _{IDATx}Ts>7eK/"-h4IL3|Iczbzƒ{,lmNsٙa3'̽oyss;-miK[Җ-miK[ҖvWqyAFSwۖ:z=xv.t5p8d{}N#^art-%3JCј2vb&zѦ45n ۫|G
F"vOK5>I:tvdє ,*a"EPH~U75톞KuFglZۿOU:Uz%vVQXV=
E=5^ܹ_g{ ߣ֖_pljs2-RZAH8b !oe`hEmKlW-&=Ji6q%Ԫ쨤hǮО{5.bO PI9Y&'xoJ~~M~N&+?kL׃Uw ±T9v߯]t-g~N{b.}}VR?gT7Q)!RE;_ߴ+C~ta9eZO??U?"dDQZ(ϴOy]~B_E#P^Ol|VdW^=%6G>݇!
6eud)Yn/VyfTZQR碼GgGb(Q/4g[\\`k'):l-3*iO'3K: )&~B2P#YZ| q
#=avKo#6JSPaG,>ѱTE/@,
A7im߃V|H_^b)ܨ5*Mjӟ
NXͬk)Q{;z~f*,%K/0λސRh%{d'}$[%E͒^~F;OCNd`c]W{yE-飈5TؾeGw
J,<^5}IjzEE(OBZ~boJǩ%9/w?E%ˈJ$@oGC}E1FDj"\ P,oԩ;Ecs,=~N?wjk2$~'AoHV_IǤ
ŷmWi4FBJ,+Z9_֖\qԉ(yXuH*fvA H{M\"+YUAFI_wN"]3BKl Ay˟nGE{߱GzO])FtŒNܯl0&S8=->
j+YRʊ:`CCDhHUP
#-
T>)
βj36qSmFXtZh(H~Фjr*U5fՌ"èH1$Oy59O9fJ;1+ՒA_R,1
G48̼Oy{_Rо6"UqKө;KNpӵj?qIavIWoj[KԷH40:ÔE!hǯ֢U쫲Z4E+@2-TF=$1
abI)X{Hˮ{@5_~ɬ #Ԓiݴhu;b6
Cyz|}9tU zxsJW/cq%1%, )mca]mi]]TC9X0lry庎"M(e- FlI]갍5.:, \`ˮ'K*)2ոf䏽J\Y]ݟ fκQQĨ"#E#f{bJ.xҚc3l5h@K
:Ɂ3I t4`(F7x\W&S.5D܈ќ:B*2 #Z1$)&JÏ=$uj>UPR4ڤ^
]pNͽ,G2dcai*iMc:}Y8|?