Sidebar =
{
	request: null,
	parentId : 'sidebar',
	
	init: function ()
	{
		if (!document.getElementById || !document.createTextNode) return;
		Sidebar.openJson ("javascript/json/sidebar.json");
	},
	
	openJson: function (fileName)
	{
		Sidebar.request = new XMLHttpRequest ();
		Sidebar.request.open ("GET", fileName, true);
		Sidebar.request.onreadystatechange = Sidebar.parseJson;
		Sidebar.request.send (null);
	},
	
	parseJson: function ()
	{
		if (Sidebar.request.readyState == 4)
		{
			var doc 	= eval ('(' + Sidebar.request.responseText + ')');
			var length 	= doc.images.length;
			var random 	= Math.ceil (length * Math.random ());
			var url		= doc.images[random - 1].url;
			var span	= doc.images[random - 1].span;
			var title	= doc.images[random - 1].title;
			
			Sidebar.swapImage (url, span, title);
		}
	},
	
	swapImage: function (url, span, title)
	{
		parentDiv	= document.getElementById (Sidebar.parentId);
		items		= document.getElementsByTagName ('li');
		
		var liArray = [];
		for (var i = 0; i < items.length; i++)
		{
			if (items[i].parentNode.parentNode.id == Sidebar.parentId)
				liArray.push (items[i]);
		}
		
		var newImage = new Image ();
		newImage.src = url;
		newImage.setAttribute ("span", span);
		newImage.setAttribute ("title", title);
		
		var li 		 = liArray[0];
		var oldImage = li.getElementsByTagName ("img")[0];
		
		if (oldImage) li.removeChild (oldImage); // In case we haven't removed it yet inside html document
		li.appendChild (newImage);
	}
},

TwitterHelper =
{
	userId	 : 'carolzoccoli',
	tweetsNum: 1,
	divClass : 'twitters',
	divId	 : 'tweets',
	container: null,
	parentId : 'sidebar',
	title	 : 'O que está rolando no Twitter da Carol',
	titleLink: 'http://twitter.com/carolzoccoli/',
	
	init: function ()
	{
		if (!document.getElementById || !document.createTextNode) return;
		
		TwitterHelper.container		= document.createElement ('div');
		DOMhelp.cssjs ('add', TwitterHelper.container, TwitterHelper.divClass);
		TwitterHelper.container.id 	= TwitterHelper.divId;
		
		var heading = document.createElement ('h1');
		var link 	= DOMhelp.createLink (TwitterHelper.titleLink, TwitterHelper.title);
		heading.appendChild (link);
		TwitterHelper.container.appendChild (heading);
		
		parentDiv	= document.getElementById (TwitterHelper.parentId);
		items		= document.getElementsByTagName ('li');
		
		var liArray = [];
		for (var i = 0; i < items.length; i++)
		{
			if (items[i].parentNode.parentNode.id == TwitterHelper.parentId)
				liArray.push (items[i]);
		}
		
		brother = liArray[liArray.length - 1]; // Newsletter form
		ul		= brother.parentNode;
		ul.insertBefore (TwitterHelper.container, brother);
		
		TwitterHelper.getTwittersWrapper ();
	},
	
	getTwittersWrapper: function ()
	{
		getTwitters (TwitterHelper.divId, {
		    id: TwitterHelper.userId, 
		    prefix: '<img height="16" width="16" src="%profile_image_url%" /><a href="http://twitter.com/%screen_name%">%name%</a> said: ', 
		    clearContents: false, // leave the original message in place
		    count: TwitterHelper.tweetsNum, 
		    withFriends: true,
		    ignoreReplies: false,
		    newwindow: true
		});
	}	
}

DOMhelp.addEvent (window, 'load', Sidebar.init, false);
DOMhelp.addEvent (window, 'load', TwitterHelper.init, false);

