function insertMovie(url,width,height) {	height += 20;	var writeStr = '<object width="' +					width +					'" height="' +					height +					'" classid="clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B" codebase="http://www.apple.com/qtactivex/qtplugin.cab">\n' +					'<param name="src" value="' +					url +					'" />\n' +					'<param name="autoplay" value="false">\n' +					'<param name="controller" value="true">\n' +					'<param name="kioskmode" value="true">\n' +					'<embed src="' +					url +					'" width="' +					width +					'" height="' +					height +					'" autoplay="false" controller="true" pluginspage="http://www.apple.com/quicktime/download/" kioskmode="true"></embed>' +					'</object>\n';	document.write(writeStr);}//sfHoversfHover = function() {	var sfEls = document.getElementById("globalNav").getElementsByTagName("LI");	for (var i=0; i<sfEls.length; i++) {		sfEls[i].onmouseover=function() {			this.className+=" sfhover";		}		sfEls[i].onmouseout=function() {			this.className=this.className.replace(new RegExp(" sfhover\\b"), "");		}	}}if (window.attachEvent) window.attachEvent("onload", sfHover);//styleswitcherfunction setActiveStyleSheet(title) {  var i, a, main;  for(i=0; (a = document.getElementsByTagName("link")[i]); i++) {    if(a.getAttribute("rel").indexOf("style") != -1 && a.getAttribute("title")) {      a.disabled = true;      if(a.getAttribute("title") == title) a.disabled = false;    }  }}function getActiveStyleSheet() {  var i, a;  for(i=0; (a = document.getElementsByTagName("link")[i]); i++) {    if(a.getAttribute("rel").indexOf("style") != -1 && a.getAttribute("title") && !a.disabled) return a.getAttribute("title");  }  return null;}function getPreferredStyleSheet() {  var i, a;  for(i=0; (a = document.getElementsByTagName("link")[i]); i++) {    if(a.getAttribute("rel").indexOf("style") != -1       && a.getAttribute("rel").indexOf("alt") == -1       && a.getAttribute("title")       ) return a.getAttribute("title");  }  return null;}function createCookie(name,value,days) {  if (days) {    var date = new Date();    date.setTime(date.getTime()+(days*24*60*60*1000));    var expires = "; expires="+date.toGMTString();  }  else expires = "";  document.cookie = name+"="+value+expires+"; path=/";}function readCookie(name) {  var nameEQ = name + "=";  var ca = document.cookie.split(';');  for(var i=0;i < ca.length;i++) {    var c = ca[i];    while (c.charAt(0)==' ') c = c.substring(1,c.length);    if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);  }  return null;}window.onload = function(e) {	var cookie = readCookie("style");	var title = cookie ? cookie : getPreferredStyleSheet();	setActiveStyleSheet(title);	if (location.href == "http://dperry.com/" ||		location.href == "http://www.dperry.com/" ||		location.href == "http://dperry.com/index.php" ||		location.href == "http://www.dperry.com/index.php") {		initTwitterUpdater();		getNewsPipe();	}}window.onunload = function(e) {  var title = getActiveStyleSheet();  createCookie("style", title, 365);}var cookie = readCookie("style");var title = cookie ? cookie : getPreferredStyleSheet();setActiveStyleSheet(title);function getNewsPipe() {	// http://pipes.yahoo.com/pipes/pipe.run?_id=dfac0553a30d1014c7af6e8cbedaa237&_render=json	var yhPipeId = 'dfac0553a30d1014c7af6e8cbedaa237';	new Ajax.Request('/proxy/proxy.php?base_url=http%3A%2F%2Fpipes.yahoo.com%2Fpipes%2F&rel_path=pipe.run%3F_id%3D' + yhPipeId + '%26_render%3Djson', {	method: 'get',	onSuccess: function(transport){		try {			var r = transport.responseText.evalJSON(true).value.items.reverse();			r.each(function(item) { addNewsItem(item); });			if (r.length > 0 && $('rssH1')) $('rssH1').style.backgroundImage = "none";			var json = transport.responseText.evalJSON();		} catch (e) { alert(e); return; }	},onException: function(transport, exception) { alert(exception);}	});	var rssH1 = $('rssH1');	if (rssH1) {		rssH1.style.backgroundImage = "url('/imgs/loading.gif')";		rssH1.style.backgroundRepeat = "no-repeat";		rssH1.style.backgroundPosition = "265px center";	}}var n = 0;var nNewsItems = 10;function addNewsItem(item) {	if (n == nNewsItems - 1) return;	var newsItem = "<a href='"+item.link+"'>"+item.title+"</a>";	var li = new Element('li').update(newsItem);	$('news_feed_list').insert({top:li});	Effect.Appear(li, { duration: 0.5 });	n++;}var last_id = 1;var i = 0;var nTweets = 10;function initTwitterUpdater() {    new PeriodicalExecuter(refreshTweets, 40);    refreshTweets();	var twitterH1 = $('twitterH1');	if (twitterH1) {		twitterH1.style.backgroundImage = "url('/imgs/loading.gif')";		twitterH1.style.backgroundRepeat = "no-repeat";		twitterH1.style.backgroundPosition = "265px center";	}}function refreshTweets() { 	// api.twitter.com/1/statuses/user_timeline/dperry.json	new Ajax.Request('/proxy/proxy.php?base_url=http://api.twitter.com/&rel_path=1%2Fstatuses%2Fuser_timeline%2Fdperry.json%3Fcount%3D' + nTweets + '%26since_id=' + last_id , {	method: 'get',	onSuccess: function(transport){		var json = transport.responseText.evalJSON();		var r = json.reverse();		last_id = json.last().id;		r.each(function(item) { addTweet(item); });		if (r.length > 0 && $('twitterH1')) $('twitterH1').style.backgroundImage = "none";	},	onFailure: function (transport) {	}	});}String.prototype.parseTweetURLs = function() {	return this.replace(/((https?|s?ftp|ssh)\:\/\/[^"\s\<\>]*[^.,;'">\:\s\<\>\)\]\!])/g,		function(F){			return'<a href="'+F+'">'+F+"</a>"		}	).replace(/\B@([_a-z0-9]+)/ig,		function(F){			return F.charAt(0)+'<a href="http://www.twitter.com/'+F.substring(1)+'">'+F.substring(1)+"</a>"		}	);};function relative_time(created_time) {	var seconds = parseInt((new Date().getTime()-new Date(created_time))/1000);	if(seconds < 60){		return"less than a minute ago"	} else {		if (seconds < 120) {			return"about a minute ago"	} else {		if (seconds < (60*60)){			return(parseInt(seconds/60)).toString()+" minutes ago"		} else { 			if (seconds < (120*60)) {				return"about an hour ago"			} else {				if (seconds < (24*60*60)){					return"about "+(parseInt(seconds/3600)).toString()+" hours ago"				} else { 					if (seconds < (48*60*60)){						return"1 day ago"					} else {						return (parseInt(seconds/86400)).toString()+" days ago"						}					}				}			}		}	}}function addTweet(item) {	var tweet ="<span>";	tweet += item.text.parseTweetURLs() + "&nbsp;";	tweet += "</span>";	tweet += "<a class='tweet-date' href='http://twitter.com/dperry/statuses/"+item.id+"'>"+relative_time(item.created_at)+"</a>";	var li = new Element('li').update(tweet);	$('twitter_update_list').insert({top:li});	Effect.Appear(li, { duration: 0.5 });	i++;}