﻿// default.js

function hesc(p_str) {
    return p_str.replace(/&/g,"&amp;").replace(/</g, "&lt;").replace(/>/g,"&gt;").replace(/\"/g,"&quot;"); 
}

function removeGtLt(p_str) {
    return p_str.replace(/</g, "&lt;").replace(/>/g,"&gt;");
}

//"borrowed" from Atlas runtime
String.prototype.format=function(){
	var s=this;
	for (var i=0; i < arguments.length; i++){
		s=s.replace("{" + i + "}", arguments[i]);
	}
	return s;
};



//from menu.js
// menu.js

var tabs = new Object();
var currentTabId;

function tabOnClick(p_id) {
	return function() {
		if (currentTabId != p_id) {
			gotoTab(p_id);
		}
		return false;
	};
}

function addMenu(p_el, p_id, p_title, p_pageEl, p_onfocus, p_onblur) {

	var li = document.createElement("li");
	if (!p_title) {
		li.style.display="none";
	}
	var a = document.createElement("a");
	a.innerHTML=hesc(p_title);
	a.href="#"+p_id;
	a.onclick=tabOnClick(p_id);
	li.appendChild(a);
	p_el.appendChild(li);

	tabs[p_id]={id:p_id, tabEl:a, pageEl:p_pageEl, title: p_title, onfocus:p_onfocus, first:true, onblur:p_onblur};
}

function gotoTab(p_id) {
	if (currentTabId) {
		tabs[currentTabId].tabEl.className='';
		tabs[currentTabId].pageEl.style.display="none";
		if (tabs[currentTabId].onblur) {
			tabs[currentTabId].onblur();
		}
	}
	tabs[p_id].tabEl.className='selected';
	tabs[p_id].pageEl.style.display="block";
	
	if (currentTabId != p_id) {
		window.location="#"+p_id;
		currentTabId = p_id;
	}
	if (tabs[p_id].onfocus) {
		tabs[p_id].onfocus(tabs[p_id].first);
		tabs[p_id].first=false;
	}
	
}










//return a local date/time from an RFC822 string (e.g. "Mon, 12 Jan 2006 12:45:00 GMT")
function fromRfc822(p_str){
	var re = /,\s*(\d{2})\s*(\w{3})\s*(\d{2,4})\s*(\d{2}):(\d{2}):(\d{2})\s*(.*)/
	var m = re.exec(p_str);

	if (m == null) {
		return new Date();
	} else {
		return new Date(Date.UTC(m[3], "jan feb mar apr may jun jul aug sep oct nov dec ".indexOf(m[2].toLowerCase())/4, m[1], m[4], m[5], m[6], 0));
	}
}

//return a local date/time from a Soap date string (e.g. "2006-01-19T19:57:42Z")
function fromSoapDate(p_str){
	var re = /(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2}):(\d{2})Z/
	var m = re.exec(p_str);

	if (m == null) {
		return new Date();
	} else {
		return new Date(Date.UTC(m[1],parseInt(m[2],10)-1, m[3], m[4], m[5], m[5], 0));
	}
}

function timeAgo(p_date) {
	var x = new Date() - p_date;

	var yr = Math.floor(x/(1000*60*60*24*365));
	x -= yr*1000*60*60*24*365;

	var da = Math.floor(x/(1000*60*60*24));
	x -= da*1000*60*60*24;
	
	var h = Math.floor(x/(1000*60*60));
	x -= h*1000*60*60;
	
	var m = Math.floor(x/(1000*60));
	x -= m*1000*60;
	
	if (yr==0) {
		if (da==0) {
			if (h==0) {
				return "{0} mins".format(m);
			} else {
				return "{0} hours, {1} mins".format(h, m);
			}
		} else if (da < 14) {
			return "{0} days, {1} hours".format(da, h);
		} else {
			return "{0} days".format(da);
		}
	} else {
			return "{0} years, {1} days".format(yr, da);
	}	
	
}

function encodeHTML(p_str) {
	return p_str.replace(/&/g,"&amp;").replace(/>/g,"&gt;").replace(/</g,"&lt;");
}

function encodeq(str) {
	return str.replace("\\","\\\\").replace('"','\\"').replace("'","\\'");
}

function sendEmail(user, domain) {
	location = "mail" + "to:" + formatEmail(user,domain);
	return false;
}
function formatEmail(user, domain) {
	return user + "@" + domain;
}


function OnPreview(p_manifest, p_title) {
	var win = CreateWindow(p_title);
	win.innerHTML = '<iframe frameborder="0" scrolling="no" style="width:380px; height:300px;" src="http://www.live.com/gadget2.aspx?b=http%3A//shared.live.com/ftfdvwvxoqazO1MlsfU2zQ/#view=Custom&host=www.livegadgets.net&mode=viewer&m={0}"></iframe>'.format(encodeURIComponent(p_manifest));
	//win.innerHTML = '<iframe frameborder="0" scrolling="no" style="width:380px; height:300px;" src="http://gadgets.start.com/gadget.aspx?dash=false&view=Custom&manifestUrl=' + encodeURIComponent(p_manifest) + '"></iframe>';
	return false;
}

function CreateWindow(p_title) {
	var o;
	o = document.getElementById("overlay");
	o.style.display="block";

	o = document.getElementById("preview");
	o.style.display="block";

	o = document.getElementById("titleBarText");
	o.innerHTML = encodeHTML(p_title);

	return document.getElementById("content");
}

function CloseWindow() {
	var o;
	o = document.getElementById("overlay");
	o.style.display="none";
	o = document.getElementById("preview");
	o.style.display="none";

	//kill the window contents
	o = document.getElementById("content");
	o.innerHTML = "";

	return false;
}


function OnPresidentLoaded(p_req, p_this) {
	var m_el = p_this.args.element;
	
	var counts = p_req.responseXML.documentElement;
	//var counts = getChildNode(root,"counts");
	
	var t, live, sidebar, spaces;
	t=live=sidebar=spaces=0;
	for(var i=0; i<counts.childNodes.length; i++) {
	    var n = counts.childNodes[i];
	    if (n.nodeName == "count") {
	        t += parseInt(n.getAttribute("value"),10);
	    }
	}
	m_el.innerHTML = t;
	
	m_el = n = p_req = p_this = null; 
}



function OnGalleryLoaded(p_rss) {

	var ch = p_rss;
	var el, itemEl, div, rightEl;


	var m_el = p_rss.args.webElement;
	m_el.innerHTML="";

	
	for(var i=0;i<ch.items.length;i++) {
	
	
		if (ch.items[i].title == 'Say It!') {
			m_el = p_rss.args.sidebarElement;
			m_el.innerHTML="";
		}
	
	
		itemEl = document.createElement("div");
		itemEl.className = "item";
		//itemEl.appendChild(document.createTextNode(ch.items[i].title));

			div = document.createElement("div");
			div.className = "image";
			div.innerHTML='<a href="' + ch.items[i].link + '" class="nolink" target="_blank"><img src="'+ch.items[i].enclosure.url+'" border="0" title="View Details" /></a>';
			itemEl.appendChild(div);
/*
			img = document.createElement("img");
			img.className = "image";
			img.src = ch.items[i].enclosure.url;
			div.appendChild(img);

			img = document.createElement("img");
			img.className = "image";
			img.src = ch.items[i].enclosure.url;
			div.appendChild(img);
*/

			rightEl = document.createElement("div");
			rightEl.className = "infoArea";
			//rightEl.className = "clear";
			itemEl.appendChild(rightEl);

			div = document.createElement("div");
			div.className = "title";
			/*
			div.innerHTML = "" +
				'<a href="#" onclick="return OnPreview(\''+encodeURIComponent(ch.items[i].guid.text)+'\',\''+encodeq(ch.items[i].title)+'\');" class="nolink"><img src="images/preview.png" border=0 align=absmiddle style="width:61px; height:14px; padding-right:7px;float:right;" title="Preview this Gadget"/></a>' +
				'<a href="' + ch.items[i].link + '" target="_blank" class="nolink"><img src="images/more.png" border=0 align=absmiddle  style="width:61px; height:14px; padding-right:7px;float:right;" title="Discuss on MicrosoftGadgets.com"/></a>' +
				'<a href="http://www.live.com?add=' + encodeURIComponent(ch.items[i].guid.text) + '" target="_blank" class="nolink"><img src="images/addLive.png" border=0 align=absmiddle  style="width:61px; height:14px; padding-right:7px;float:right;" title="Add this Gadget to Live.com"/></a>' +
				'<a href="' + ch.items[i].link + '" target="_blank" class="noextlink">' + ch.items[i].title + '</a>' +
				"";
			*/
			div.innerHTML = '<a href="' + ch.items[i].link + '" target="_blank" class="noextlink">' + hesc(ch.items[i].title) + '</a>';
			rightEl.appendChild(div);

			//div = document.createElement("div");
			//div.className = "link";
			//div.innerHTML = ch.items[i].link;
			//itemEl.appendChild(div);

			div = document.createElement("div");
			div.className = "description";
			div.innerHTML = removeGtLt(ch.items[i].description);

			rightEl.appendChild(div);

			div = document.createElement("div");
			div.className = "clear";
			itemEl.appendChild(div);

		m_el.appendChild(itemEl);
	}
	
	ch = el = itemEl = div = rightEl = m_el = null;

}

function forceArray(p_object) {
	if (p_object.length) {
		return p_object;
	} else {
		var arr = new Array();
		arr[0] = p_object;
		return arr;
	}
}


function deSerialize(p_xml) {

	var p_object;

	var innerText = "";
	for (var i=0; i<p_xml.childNodes.length; i++) {
		var node = p_xml.childNodes[i];
		if (node.nodeType==1) {
			if (!p_object) {
				p_object = new Object();
			}
			
			if (p_object[node.nodeName]) {

				if (!p_object[node.nodeName][0]) {
					//move object into the zeroth element of a new array
					var tmp = p_object[node.nodeName];
					p_object[node.nodeName] = new Array();
					p_object[node.nodeName][0] = tmp;
				}

				if (p_object[node.nodeName][0]) {
					//create a new blank element
					p_object[node.nodeName][p_object[node.nodeName].length] = deSerialize(node);
					//o = p_object[node.nodeName][p_object[node.nodeName].length-1];
				}
			} else {
				//o = new Object();
				p_object[node.nodeName] = deSerialize(node);
			}
			/*
			if (node.childNodes.length==0) {
				o = getInnerText(node);
			} else {
				o = deSerialize(node, new Object());
			}
			*/
		} else if (node.nodeType==3) {
			innerText += getInnerText(node);
		}
	}
	if (p_object) {
		return p_object;
	} else {
		return innerText;
	}
}





var blogBackEl;
function OnNewsLoaded(p_rss) {


	var results = deSerialize(p_rss);
	blogItems = forceArray(results.item);
	

	var div, el, a;
	var itemEl, rightEl;
	//var m_el = p_rss.args.element;
	var m_el = document.getElementById("blogDiv");

	m_el.innerHTML="";

	if (editBlog) {
		a = document.createElement("a");
		a.className = "noextlink";
		a.style.cssText = "font-size:10px;float:right;";
		a.href="#";
		a.innerHTML="[add]";
		a.onclick = addItem;
		m_el.appendChild(a);
	}

	function addItem() {
		//OnBlogEdit({"guid":{"text":"", "isPermalink":true}, "title":"", "description":"", "link":""});
		OnBlogEdit({"guid":"", "title":"", "description":"", "link":""});
		return false;
	}


/*
	a = document.createElement("a");
	a.className = "noextlink";
	a.style.cssText = "float:left;";
	a.href="#";
	a.innerHTML="[refresh]";
	a.onclick = function() {
		NewsDisplayLoading();
		blog = new Rss();
		blog.args = {"element":document.getElementById("blogDiv") }
		blog.onload = OnNewsLoaded;
		blog.load("blog.xml");
	};
	m_el.appendChild(a);
*/	


	a = document.createElement("a");
	a.className = "noextlink";
	a.style.cssText = "float:left;";
	a.href="#";
	a.innerHTML="[back]";
	//a.onclick = NewsDisplay;
	a.onclick = function() {
		NewsDisplay();
		window.location = '#'+guid;
	};
	m_el.appendChild(a);
	blogBackEl = a;
	
	
	
	var itemg;
	
	for(var i=0;i<blogItems.length;i++) {
	
		itemEl = document.createElement("div");
		itemEl.className = "item";
		//itemEl.appendChild(document.createTextNode(blogItems[i].title));
		
		blogItems[i].itemEl = itemEl;
		
		var t = blogItems[i].guid.indexOf("#blog_");
		var g = blogItems[i].guid.substr(t+6);
		itemEl.id = g;
		
		if (g == guid) {
			itemg = blogItems[i];
		}
			
		div = document.createElement("div");
		itemEl.appendChild(div);


		if (editBlog) {
			var a = document.createElement("a");
			a.className = "noextlink";
			a.style.cssText = "font-size:9px;";
			a.href="#";
			a.innerHTML="[edit]";
			a.onclick = getEditFn(blogItems[i]);
			div.appendChild(a);
		}

		function getEditFn(p_item) {
			return function() {
				OnBlogEdit(p_item);
				return false;
			};
		}

		/*
		function getItemFn(p_guid) {
			return function() {
				NewsDisplay(p_guid);
				guid = p_guid;
				return false;
			};
		}
		*/
		function getItemFn(p_item) {
			return function() {
				NewsDisplay(p_item);
				guid = p_item.id;
				return false;
			};
		}

		var a = document.createElement("a");
		a.className = "title";
		a.href="#";
		a.innerHTML=encodeHTML(blogItems[i].title);
		a.onclick = getItemFn(blogItems[i]);
		div.appendChild(a);

		//span = document.createElement("span");
		//span.className = "title";
		//if (blogItems[i].link) {
		//	span.innerHTML = '<a href="' + blogItems[i].link + '" target="_blank" class="noextlink">' + encodeHTML(blogItems[i].title) + '</a>';
		//} else {
		//	span.innerHTML = encodeHTML(blogItems[i].title);
		//}
		//div.appendChild(span);
		//itemEl.appendChild(div);





		//div = document.createElement("div");
		//div.className = "link";
		//div.innerHTML = blogItems[i].link;
		//itemEl.appendChild(div);

		div = document.createElement("div");
		div.className = "description";
		div.innerHTML = blogItems[i].description;
		itemEl.appendChild(div);

		div = document.createElement("div");
		//div.style.cssText = "border:solid 1px #cccccc";
		div.className = "footer";
		itemEl.appendChild(div);

		el = document.createElement("span");
		//span.className = "pubDate";
		el.style.cssText="float:right;";
		
			var a = document.createElement("a");
			a.className="noext";
			a.href="#";
			a.innerHTML="permalink";
			a.onclick = getItemFn(blogItems[i]);
			el.appendChild(a);

			var elx = document.createElement("span");
			//elx.style.cssText="float:right;";
			if (blogItems[i].comments.allowed=="true") {
				elx.innerHTML = '&nbsp;&nbsp;comments ({0})'.format(blogItems[i].comments.count);
			} else {
				if (parseInt(blogItems[i].comments.count)>0) {
					elx.innerHTML = '&nbsp;&nbsp;comments ({0}) locked'.format(blogItems[i].comments.count);
				} else {
					elx.innerHTML = '&nbsp;&nbsp;comments locked';
				}
			}
			el.appendChild(elx);
			
		div.appendChild(el);

		el = document.createElement("span");
		//span.className = "pubDate";
		var pubDate = fromSoapDate(blogItems[i].pubDate)
		el.innerHTML = "posted {0} {1} ({2} ago)".format(pubDate.toDateString(), pubDate.toTimeString(), timeAgo(pubDate));
		div.appendChild(el);



		div = document.createElement("div");
		//div.style.cssText = "border:solid 1px #ff0000";
		div.className = "comments";
		itemEl.appendChild(div);
		blogItems[i].commentsEl=div;


		m_el.appendChild(itemEl);


		
	}

	NewsDisplay(itemg);

}

function OnCommentsLoaded(p_rss, p_item) {

	var results = deSerialize(p_rss);
	var comments = forceArray(results.comment);

	var div;
	var el = p_item.commentsEl;
	el.innerHTML=""; //kill the loading message
	//el.innerHTML='<div class="commentsHeader">Comments ({0})</div>'.format(p_item.comments); //kill the loading message
	el.innerHTML='<div class="commentsHeader">Comments</div>'; //kill the loading message
	for (var i in comments) {
		var comment = comments[i];
		divi = document.createElement("div");
		divi.className = "commentsItem";
		el.appendChild(divi);
		
		div = document.createElement("div");
		div.className = "title";
		div.innerHTML = comment.author;
		divi.appendChild(div);
		
		div = document.createElement("div");
		div.className = "description";
		div.innerHTML = comment.description;
		divi.appendChild(div);
		
		div = document.createElement("div");
		div.className = "pubDate";
		var pubDate = fromSoapDate(item.pubDate)
		//div.innerHTML = "posted {0} ago".format(timeAgo(pubDate));
		div.innerHTML = "posted {0} {1} ({2} ago)".format(pubDate.toDateString(), pubDate.toTimeString(), timeAgo(pubDate));
		divi.appendChild(div);
	}

}

function NewsDisplay(p_item) {

	if (p_item) {
		//turn them all off
		for(var i in blogItems) {
			blogItems[i].itemEl.style.display = "none";
		}
		p_item.itemEl.style.display = "block";  //except this one

		var g = p_item.guid.substr(p_item.guid.indexOf("#blog_"));
		
		window.location = g;
		
		if (parseInt(p_item.comments.count) > 0) {
			p_item.commentsEl.style.display = "block";  //turn on the comments
			NewsDisplayLoading(p_item.commentsEl); //loading...
			
			/*
			blogComments = new Rss();
			blogComments.args = {"item":p_item}
			blogComments.onload = OnCommentsLoaded;
			blogComments.onerror = OnCommentsLoaded;
			blogComments.load("comments_{0}.xml".format(p_item.itemEl.id));
			*/
			
			Service("GetBlogItemCommentsByGuid",{"guid":p_item.guid},function(p_element) {
				if (p_element) {
					OnCommentsLoaded(p_element, p_item);
				} else {
				}
			});
		}		
		
				
		blogBackEl.style.display = "block";
	} else {
		//turn them all on
		for(var i=0; i<blogItems.length; i++) {
			blogItems[i].itemEl.style.display = "block";
			blogItems[i].commentsEl.style.display = "none";
			blogItems[i].commentsEl.innerHTML="";
		}
		blogBackEl.style.display = "none";
	}
}


function Service(p_function, p_params, p_callback) {
	var soap = new Soap("service.asmx", p_function, p_params, p_callback);
	soap.execute();

	//this.execute = function() {
	//	soap.execute();
	//};
}




function OnBlogEdit(p_item) {

	function OnBlogSave() {
		p_item.title = titleEl.value;
		p_item.link = linkEl.value;
		p_item.description = descEl.value;

		CloseWindow();

		Service("AddBlogItem",{"guid":p_item.guid, "title":p_item.title, "description":p_item.description, "link":p_item.link},function(p_element) {
			if (p_element) {
				alert("Save to guid "+getInnerText(p_element));
			}
		});
	}

	//open a new window and return content element
	var winEl = CreateWindow(((p_item.guid)?"Edit":"Add")+" Blog Entry");
	
	var form, table, tbody, tr, td, el, opt, up;

	form = document.createElement("form");
	form.onsubmit = OnBlogSave;

	table = document.createElement("table");
	table.style.cssText = "width:100%;";
	form.appendChild(table);
	
	tbody = document.createElement("tbody");
	table.appendChild(tbody);


	//title text box
	tr = document.createElement("tr");
	tbody.appendChild(tr);
	
	td = document.createElement("td");
	td.innerHTML = "Title";
	td.style.cssText = "text-align:right;padding-right:10px;font-family:Arial;font-size:13px;";
	tr.appendChild(td);

	td = document.createElement("td");
	td.style.cssText = "font-family:Arial;font-size:13px;";
	tr.appendChild(td);

	el = document.createElement("input");
	el.maxlen=200;
	el.style.cssText = "width:250px;";
	td.appendChild(el);
	var titleEl = el;

	//link
	tr = document.createElement("tr");
	tbody.appendChild(tr);
	
	td = document.createElement("td");
	td.innerHTML = "Link";
	td.style.cssText = "text-align:right;padding-right:10px;font-family:Arial;font-size:13px;";
	tr.appendChild(td);

	td = document.createElement("td");
	td.style.cssText = "font-family:Arial;font-size:13px;";
	tr.appendChild(td);

	el = document.createElement("input");
	el.maxlen=200;
	el.style.cssText = "width:250px;";
	td.appendChild(el);
	var linkEl = el;


	//description
	tr = document.createElement("tr");
	tbody.appendChild(tr);
	
	td = document.createElement("td");
	td.colSpan=2;
	//td.innerHTML = "Description";
	//td.valign="top";
	//td.style.cssText = "text-align:right;padding-right:10px;font-family:Arial;font-size:13px;";
	//tr.appendChild(td);

	//td = document.createElement("td");
	td.style.cssText = "font-family:Arial;font-size:13px;";
	tr.appendChild(td);

	el = document.createElement("textarea");
	el.style.cssText = "width:550px;height:250px;";
	td.appendChild(el);
	var descEl = el;



	//Save/Cancel
	tr = document.createElement("tr");
	tbody.appendChild(tr);
	
	td = document.createElement("td");
	td.innerHTML = "";
	tr.appendChild(td);

	td = document.createElement("td");
	td.style.cssText = "text-align:right;padding-top:10px;";
	tr.appendChild(td);

	el = document.createElement("input");
	el.type="submit";
	el.value="Save";
	el.style.cssText = "width:70px;margin-left:5px;";
	td.appendChild(el);

	//el = document.createElement("button");
	//el.innerHTML="Save";
	//el.onclick = OnBlogSave;
	//el.style.cssText = "width:70px;padding-left:5px;";
	//td.appendChild(el);

	el = document.createElement("button");
	el.innerHTML="Cancel";
	el.onclick = CloseWindow;
	el.style.cssText = "width:70px;margin-left:5px;";
	td.appendChild(el);

	winEl.appendChild(form);


	//now populate it with data
	
	titleEl.value = p_item.title?p_item.title:"";
	linkEl.value = p_item.link?p_item.link:"";
	descEl.value = p_item.description?p_item.description:"";







	return false;
}

function NewsDisplayLoading(p_el) {
	p_el.innerHTML = '<img src="images/processing.gif" alt="" style="width:14px;height:14px;padding-right:5px;" />Loading...';
}


function loadPres() {
	ajax_obama = new Ajax();
	ajax_obama.args = {"element":document.getElementById("obama_downloads") }
	ajax_obama.onload = OnPresidentLoaded;
	ajax_obama.load("obama.rpx");
	
	ajax_mccain = new Ajax();
	ajax_mccain.args = {"element":document.getElementById("mccain_downloads") }
	ajax_mccain.onload = OnPresidentLoaded;
	ajax_mccain.load("mccain.rpx");
	
	ajax_hillary = new Ajax();
	ajax_hillary.args = {"element":document.getElementById("hillary_downloads") }
	ajax_hillary.onload = OnPresidentLoaded;
	ajax_hillary.load("hillary.rpx");
}

function onBlogFocus(p_first) {
	if (p_first) {

		NewsDisplayLoading(document.getElementById("blogDiv"));

		Service("GetUserInfo",null,function(p_element) {

			if (p_element) {
				username = getNodeText(p_element,"username");
				editBlog = true;
			}

			//we can now display the blog now that we know if we should display the edit controls or not
			Service("GetBlogItems",null,function(p_element) {
				OnNewsLoaded(p_element);
			});

			//blog = new Rss();
			//blog.args = {"element":document.getElementById("blogDiv") }
			//blog.onload = OnNewsLoaded;
			//blog.load("blog.xml");
		});
	}
}

function onGalleryFocus(p_first) {
	if (p_first) {

		NewsDisplayLoading(document.getElementById("sidebarGallery"));
		NewsDisplayLoading(document.getElementById("webGallery"));

		//load the gallery
		rss = new Rss();
		rss.args = {"sidebarElement":document.getElementById("sidebarGallery"), "webElement":document.getElementById("webGallery") }
		rss.onload = OnGalleryLoaded;
		rss.load("gallery.rpx");
	}
}


function onPoliticsFocus(p_first) {
	if (p_first) {
		loadPres();
		presTimer = setInterval(loadPres, 1000*60*5);
	}
}


function onHomeFocus(p_first) {
	if (p_first) {
		document.getElementById("liveClockExample").src = "http://gadgets.start.com/gadget2.aspx?b=http%3A//shared.live.com/4d8Kgj76eAIxromSOzOn1Q/#view=Custom&host=www.livegadgets.net&mode=viewer&m=http%3A%2F%2Fgadgets.donavon.net%2Fgadgets%2FLiveClock.xml&params=%7BshowToolbar%3Afalse%2CthemeGuid%3A'WallClock'%7D";
	}
}


function onXXXFocus(p_first) {
	if (p_first) {
	}
}


var rss;
var blog;

var blogItems;
var blogComments;

var news;
var key;
var service;
var guid; //guid of blog element to display

var editBlog = false;
var username = "";

var presTimer, ajax_obama, ajax_mccain, ajax_hillary;


function onPageLoad() {

	//detatch from event
	if (window.attachEvent) {
		window.detachEvent("onload", onPageLoad);
	} else if (window.addEventListener) {
		window.removeEventListener("load", onPageLoad, false);
	} else {
		window.onload = null;
	}


	

	/*
	Service("GetUserInfo",null,function(p_element) {

		if (p_element) {
			username = getNodeText(p_element,"username");
			editBlog = true;
		}

		//we can now display the blog now that we know if we should display the edit controls or not
		Service("GetBlogItems",null,function(p_element) {
			OnNewsLoaded(p_element);
		});

		//blog = new Rss();
		//blog.args = {"element":document.getElementById("blogDiv") }
		//blog.onload = OnNewsLoaded;
		//blog.load("blog.xml");
	});
	*/

	//service.execute("GetVersion",null,function(p_str) {
	//	alert(p_str);
	//});

	/*
	//load the gallery
	rss = new Rss();
	rss.args = {"sidebarElement":document.getElementById("sidebarGallery"), "webElement":document.getElementById("webGallery") }
	rss.onload = OnGalleryLoaded;
	rss.load("gallery.rpx");
	*/
	
	
	//news = new Rss();
	//news.args = {"element":document.getElementById("inTheNews") }
	//news.onload = OnNewsLoaded;
	//news.load("news.rpx");

	/*
	var tabEl = document.getElementById("tabs");
	addMenu(tabEl,"home","Home",document.getElementById("pageWelcome") );
	addMenu(tabEl,"need-a-gadget","Need a Gadget?",document.getElementById("pageNeedaGadget") );
	//addMenu(tabEl,"hello","Hello World",document.getElementById("pageHelloWorld") );
	addMenu(tabEl,"gallery","My Gadget Gallery",document.getElementById("pageGallery") );
	addMenu(tabEl,"sidebar","Vista Sidebar",document.getElementById("pageSidebar") );
	addMenu(tabEl,"blog","Blah, Blah, Blog",document.getElementById("pageBlog") );
	addMenu(tabEl,"ig","gadget/ig",document.getElementById("pageIg") );
	*/
	
	
	var tabEl = document.getElementById("ulMenu");
	addMenu(tabEl,"home","Home",document.getElementById("pageWelcome"), onHomeFocus );
	addMenu(tabEl,"need-a-gadget","Need a Gadget?",document.getElementById("pageNeedaGadget") );
	addMenu(tabEl,"gallery","Gadget Gallery",document.getElementById("pageGallery"), onGalleryFocus );
	addMenu(tabEl,"politics","Politics",document.getElementById("pagePolitics"), onPoliticsFocus );
	addMenu(tabEl,"blog","Blah, Blah, Blog",document.getElementById("pageBlog"), onBlogFocus );
	addMenu(tabEl,"advertise", "Advertise",document.getElementById("pageAdvertise"));
	addMenu(tabEl,"contact","Contact Us",document.getElementById("pageContact") );

	//hidden tabs
	addMenu(tabEl,"sidebar",""/*"Vista Sidebar"*/,document.getElementById("pageSidebar") );
	addMenu(tabEl,"hello",""/*"Hello World"*/,document.getElementById("pageHelloWorld") );
	addMenu(tabEl,"portfolio",""/*"Portfolio"*/,document.getElementById("pagePortfolio") );
	addMenu(tabEl,"ig",""/*"gadget/ig"*/,document.getElementById("pageIg") );
	addMenu(tabEl,"gadget_sayit",""/*"Say It!"*/,document.getElementById("pageSayIt") );
	addMenu(tabEl,"gadget_galluppoll",""/*"Say It!"*/,document.getElementById("pageGallupPoll") );
	addMenu(tabEl,"gadget_countdown2008",""/*"Say It!"*/,document.getElementById("pageCountdown2008") );


	if (window.location.search) {
		document.location = window.location.href.replace('?','#');
		return;
	}

	
	if (window.location.hash) {
		var t=window.location.hash.substr(1).toLowerCase();
		if (t.substr(0,5) == "blog_") {
			guid = t.substr(5);
			t="blog";
		}
		if (tabs[t]) {
			gotoTab(t);
		} else {
			gotoTab("home"); //not found, use Home
		}
	} else {
		gotoTab("home"); //default to Home
	}
	
}

//onPageLoad();
if (window.attachEvent) {
	window.attachEvent("onload", onPageLoad);
} else if (window.addEventListener) {
	window.addEventListener("load", onPageLoad, false);
} else {
	window.onload = onPageLoad;
}

