All pastes #1071335 Raw Edit

Anonymous

public text v1 · immutable
#1071335 ·published 2008-07-14 00:56 UTC
rendered paste body
// cookie functions

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 var 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;
}

function eraseCookie(name) {
	createCookie(name,"",-1);
}

function twitterCallback2(obj) {
	var twitters = obj;
	var statusHTML = ""
	var username = "";
	for (var i=0; i<1; i++){
		username = twitters[i].user.screen_name
		statusHTML += ('<li>'+twitters[i].text+'<span>'+relative_time(twitters[i].created_at)+'</span></li>')
	}
	document.getElementById('twitter-updates').innerHTML = statusHTML;
}

function relative_time(time_value) {
	var values = time_value.split(" ");
  time_value = values[1] + " " + values[2] + ", " + values[5] + " " + values[3];
  var parsed_date = Date.parse(time_value);
  var relative_to = (arguments.length > 1) ? arguments[1] : new Date();
  var delta = parseInt((relative_to.getTime() - parsed_date) / 1000);
  delta = delta + (relative_to.getTimezoneOffset() * 60);

  if (delta < 60) {
    return 'less than a minute ago';
  } else if(delta < 120) {
    return 'about a minute ago';
  } else if(delta < (60*60)) {
    return (parseInt(delta / 60)).toString() + ' minutes ago';
  } else if(delta < (120*60)) {
    return 'about an hour ago';
  } else if(delta < (24*60*60)) {
    return 'about ' + (parseInt(delta / 3600)).toString() + ' hours ago';
  } else if(delta < (48*60*60)) {
    return '1 day ago';
  } else {
    return (parseInt(delta / 86400)).toString() + ' days ago';
  }
}

function twitterLoad(){
	var twitterDiv = document.getElementById('twitter');
	var twitterScript = document.createElement('script');
	twitterScript.setAttribute('type', 'text/javascript');
	twitterScript.setAttribute('src', 'http://twitter.com/statuses/user_timeline/drobe03e.json?callback=twitterCallback2&amp;count=1');
	twitterDiv.appendChild(twitterScript);
}

function quoteAdd(){
	var list = new Array(7);
	list[0] = "David come out one day. Please Socialise ^^";
	list[1] = "***CHEER UP DAVID, IT'S FRED THE BUNNY TIME!***";
	list[2] = "How am I supposed to run about and hit people with a sword using asdw?";
	list[3] = "still sweet :) he can't help if he's obsessed :P";
	list[4] = "THIS CALLS FOR SOME CSS!!!!";
	list[5] = "Bow to microsoft paint and 16 colour bitmap settings!";
	list[6] = "-jabs David's soul with a pin-";
	
		var rand = Math.floor((1+6-0)*Math.random()) + 0;
		if(rand == 6 + 1){ rand = 6; };
	
		var quoteDiv = document.getElementById('quote');
		var selectedQuote = document.createTextNode(list[rand]);
		var quote = document.createElement('q');
		quote.appendChild(selectedQuote);
		quoteDiv.appendChild(quote);
}

function createExternalOption(){
	
	var bodyTag = document.body;

	var externalOptionDiv = document.createElement('div');
	externalOptionDiv.setAttribute('id', 'external-option');
	externalOptionDiv.setAttribute('class', 'closed');

	var externalOptionToggle = document.createElement('a');
	externalOptionToggle.setAttribute('id', 'external-option-toggle');

var externalOptionCheckbox = document.createElement('input');
	externalOptionCheckbox.setAttribute('id', 'external-option-checkbox');
	externalOptionCheckbox.setAttribute('type', 'checkbox');
	externalOptionCheckbox.setAttribute('onmouseup', 'externalToggle()');
	
	var externalOptionBlurb = document.createTextNode('Open external links in new windows or tabs');
	
	bodyTag.appendChild(externalOptionDiv);
	externalOptionDiv.appendChild(externalOptionToggle);
	externalOptionDiv.appendChild(externalOptionCheckbox);
	externalOptionDiv.appendChild(externalOptionBlurb);
}

function externalToggle(){
var externalOptionCheckbox = document.getElementById('external-option-checkbox');
	if(externalOptionCheckbox.checked == false){
		externaliseLinks();
		createCookie('externalLinksCookie','true',90);
	}
	else if (externalOptionCheckbox.checked == true){
		deExternaliseLinks();
		createCookie('externalLinksCookie','false',90);
	}
}

function deExternaliseLinks(){
	var linksAll = document.getElementsByTagName('a');
	for(i=0; i<linksAll.length; i++){
		if(linksAll[i].rel == 'external'){
			var externalArrowSpans = document.getElementsByClassName('external-arrow', linksAll[i]);
			var externalArrowSpan = externalArrowSpans[0];
			linksAll[i].removeChild(externalArrowSpan);	
			linksAll[i].removeAttribute('target');
		}
	}
}

function externaliseLinks(){
	var linksAll = document.getElementsByTagName('a');
	for(i=0; i<linksAll.length; i++){
		if(linksAll[i].rel == 'external'){
			var rightArrowSpan = document.createElement('span');
			rightArrowSpan.setAttribute('class', 'external-arrow');
			var rightArrow = document.createTextNode(' →');
			linksAll[i].setAttribute('target','_blank');
			linksAll[i].appendChild(rightArrowSpan);
			rightArrowSpan.appendChild(rightArrow);
		}
	}
}

function checkExternalLinkCookie(){
	var externalOptionCheckbox = document.getElementById('external-option-checkbox');
	if (readCookie('externalLinksCookie') == 'true'){
		externalOptionCheckbox.checked = true;
		externaliseLinks();
	}
}
	
window.onload = function(){
	twitterLoad();
	quoteAdd();
	createExternalOption();
	checkExternalLinkCookie();
}	

$(document).ready(function(){
	$(".lightbox").lightbox();
 
//  $("#rss").click(function(){
//      $("#external-option").animate({ 
//        width: "70%",
//        opacity: 0.4,
//        marginLeft: "0.6in",
//        fontSize: "3em", 
//        borderWidth: "10px"
//      }, 1500 );
//	});
});