// EPA's Blog bookmarklet
// 28 April 2008
// In the object literal, to prevent name clashes

var epaBlog = {

	showHideSwap : function(id1,id2) {
		var id1c = document.getElementById(id1); var id2c = document.getElementById(id2);
		if (id1c.className == 'hide' && id2c.className == 'post') {
			id1c.className = 'show'; id2c.className = 'postFrame';
		} else {
			id1c.className = 'hide'; id2c.className = 'post';
		}
	},
	
	articleShare : function(site) {
		var popUpUrl = encodeURIComponent(window.location.href);
		var title = encodeURIComponent(document.title);
		var description = '';
		switch (site) {
			case "slashdot": epaBlog.postPopUp('http://slashdot.org/slashdot-it.pl?op=basic&url='+popUpUrl, 'slashdot', 'toolbar=0,status=0,height=600,width=600,scrollbars=yes,resizable=yes');
			break;
			case "facebook": epaBlog.postPopUp('http://www.facebook.com/sharer.php?u='+popUpUrl + '&t=' + title, 'facebook', 'toolbar=0,status=0,height=436,width=646,scrollbars=yes,resizable=yes');
			break;
			case "digg": epaBlog.postPopUp('http://digg.com/remote-submit?phase=2&url='+popUpUrl + '&title=' + title, 'digg', 'toolbar=0,status=0,height=450,width=650,scrollbars=yes,resizable=yes');
			break;	
			case "delicious": epaBlog.postPopUp('http://del.icio.us/post?v=4&url='+popUpUrl + '&title=' + title, 'delicious', 'toolbar=0,status=0,height=400,width=700,scrollbars=yes,resizable=no');
			break;			
			case "reddit": epaBlog.postPopUp('http://reddit.com/submit?url='+popUpUrl+'&title=' + title, 'reddit', 'toolbar=0,status=0,height=400,width=700,scrollbars=yes,resizable=no');
			break; 
			case "stumble": epaBlog.postPopUp('http://www.stumbleupon.com/submit?url='+popUpUrl+'&title=' + title, 'stumble', 'toolbar=0,status=0,height=400,width=700,scrollbars=yes,resizable=no');
			break; 
			case "whatisthis": window.location='http://www.epa.gov/epahome/bookmarks.html';
			break; 
		}
	},
	
	postPopUp :function(url, name, params) { var win = window.open(url, name, params); },
	
	addPostItem : function(parentElement, style, post_link, text) {
		var postItem = document.createElement("li"); postItem.className = style;
		var itemLink = document.createElement("a");
		itemLink.setAttribute("href", post_link); itemLink.innerHTML = text;
		
		postItem.appendChild(itemLink); parentElement.appendChild(postItem);
	},
	
	writePost : function() {
		var bookmarklet = document.getElementById("bookmarklet");
		var parentElement = document.createElement("ul");
		parentElement.id = "bookmarkList";
		
		//create post li
		var postElement = document.createElement("li");
		postElement.className = "post"; postElement.setAttribute("id", "post");
		// create post link
		var postLink = document.createElement("a"); postLink.setAttribute("href", "#");
		postLink.onclick = function () { epaBlog.showHideSwap('postList', 'post'); return false; };
		postLink.innerHTML = "Share";
		postElement.appendChild(postLink);
		
		// create unordered list for post items
		var postList = document.createElement("ul");
		postList.setAttribute("id","postList");	postList.className = "hide";
		
		//add post links
		epaBlog.addPosts(postList);
		
		postElement.appendChild(postList);
		parentElement.appendChild(postElement);
		bookmarklet.appendChild(parentElement);
	},
	
	addPosts : function(shareList) {	
		var sList;
		if(typeof(shareList)=='string') { sList = document.getElementById(shareList); }
		else if(typeof(shareList)=='object') { sList = shareList; }
		else return false;
	
		epaBlog.addPostItem(sList, "delicious", "javascript:epaBlog.articleShare('delicious');", "Del.icio.us");
		epaBlog.addPostItem(sList, "digg", "javascript:epaBlog.articleShare('digg');", "Digg");
		epaBlog.addPostItem(sList, "facebook", "javascript:epaBlog.articleShare('facebook');", "Facebook");
		epaBlog.addPostItem(sList, "reddit", "javascript:epaBlog.articleShare('reddit');", "reddit");
		epaBlog.addPostItem(sList, "slashdot", "javascript:epaBlog.articleShare('slashdot');", "Slashdot");
		epaBlog.addPostItem(sList, "stumble", "javascript:epaBlog.articleShare('stumble');", "StumbleUpon");
		epaBlog.addPostItem(sList, "whatisthis", "javascript:epaBlog.articleShare('whatisthis');", "What is this?");
	}
	

}; // end epaBlog

function addEvent( obj, type, fn ) {
	if (document.getElementById && document.createTextNode) {
		if (obj.addEventListener)
			obj.addEventListener( type, fn, false );
		else if (obj.attachEvent) {
			obj['e'+type+fn] = fn;
			obj[type+fn] = function() { obj['e'+type+fn]( window.event ); }
			obj.attachEvent( 'on'+type, obj[type+fn] );
		}
	}
}
	addEvent(window, 'load', epaBlog.writePost);
