var trans=new Hash();
var wait=new Hash();
var media=new Hash();

window.onload = function()
{
}

function setFooter()
{
	if(document.getElementById)
	{
		var windowHeight=getWindowHeight();
		if(windowHeight>0)
		{
			var contentHeight=document.getElementById('screen_content').offsetHeight;
			var footerElement=document.getElementById('footer');
			var footerHeight=footerElement.offsetHeight;
			if(windowHeight-(contentHeight+footerHeight)>=0)
			{
				footerElement.style.position='absolute';
				footerElement.style.top=(windowHeight-footerHeight)+'px';
			}
			else
			{
				footerElement.style.position='static';
			}
		}
	}
}

function waiting(id)
{
	if(wait.get(id)) return false;
	wait.set(id, true);
	
	return true;
}

function motweets(obj, id, section, params)
{
	params=params.evalJSON();
	
//	var more=$('paginate_' + id + '_' + params.start);
	
	$(obj).update('<p style="margin: 0px;" align="center"><img src="/static/images/progress.gif" class="spinner"></p>');

	new Ajax.Request('/' + ((section=='public') ? 'publius' : section) + '/ajax/' + id + '/' + (parseInt(params.start)+30), {
		method: 'post',
		parameters: { 'json' : Object.toJSON(params) },
		evalJSON: true,
		onSuccess: function(transport) {
			if(!transport.responseText)
			{
				more.hide();
				more.remove();

				return false;
			}

/*			var json=transport.responseText.evalJSON(true);
			
			var ul=new Element('ul', { 'class': 'stream' });

			for(var i in json.tweets)
			{
				var li=new Element('li').update(json.tweets[i]);
				ul.insert({bottom:li});
			}
			
			if(json.paginate)
			{
				ul.insert({bottom:json.paginate});
			}
*/
			$(obj).insert({after:transport.responseText});
			$(obj).hide();
			$(obj).remove();
			wait.unset('motweets_' + id);

			}});
}

function translate(id)
{
	if(!waiting('translate')) return false;

	google.language.detect($(id).innerHTML, function(result)
	{
		if(!result.error)
		{
      		var lang1=result.language;
			if(lang1=='en') lang2='fr'; else lang2='en';

			if(trans.get(id))
			{
				var old=$(id).innerHTML;
				$(id).update(trans.get(id));
				trans.set(id, old);
				wait.unset('translate');
			}
			else
			{
				$(id).style.opacity=0.3;
				trans.set(id, $(id).innerHTML);
				google.language.translate($(id).innerHTML, lang1, lang2, function(result)
				{
					if(!result.error) $(id).update(result.translation);
					$(id).style.opacity=1;
					wait.unset('translate');
				});
			}
      	}
	});
}

function makeTip(obj, username, reverse)
{
	if(!reverse)
		new Tip(obj, {
			title: username,
			ajax: {
				url: '/js/tip/' + username,
				options: { onComplete: function() {  } },
			},
			hook: { target: 'topMiddle', tip: 'leftMiddle' },
			offset: { x: 20, y: 18 },
			width: 200,
			stem: 'leftMiddle'
		});
	else
		new Tip(obj, {
			title: username,
			ajax: {
				url: '/js/tip/' + username,
				options: { onComplete: function() {  } },
			},
			hook: { target: 'topMiddle', tip: 'rightMiddle' },
			offset: { x: -12, y: 12 },
			width: 200,
			stem: 'rightMiddle'
		});
/*	var params=obj.alt.evalJSON();
	obj.alt='';

	var title='';

	if(params.province) title=title+'<p class="prov">' + params.province + '</p>';
	if(params.fullname!=params.username) title=title+params.fullname + ' <span style="font-weight: normal">(' + params.username + ')</span>'; else title=params.username;

	if(!params.bio) params.bio='<span style="font-size: 10px;">no bio provided</span>';
	
	var content=params.bio;
	var extra='';
	
	if(params.location) extra='Location: ' + params.location;
	
	if(extra) content=content + '<p class="extra">' + extra + '</p>';
	
	new Tip(obj, content, {title: title, hook: { target: 'bottomRight', tip: 'topLeft' }, offset: { x: 8, y: 8 }});*/
}