var busy=new Array();
var oldChar={};


function fadeOut(dayTd,runWhenOver)
{
	var stepping=0.10;
	var speed=50;
	if(dayTd.getOpacity()==0) return;
	if(busy[dayTd.id]==undefined) busy[dayTd.id]=false;
	if(busy[dayTd.id]==false) busy[dayTd.id]='fadeOut';
	if(busy[dayTd.id]!='fadeOut') setTimeout(function() {fadeOut(dayTd,runWhenOver); },speed*2);
	else
	{
		busy[dayTd.id]='fadeOut';
		if(dayTd.getOpacity()>stepping)
			{
				dayTd.setOpacity(dayTd.getOpacity()-stepping);
				setTimeout(function() { fadeOut(dayTd,runWhenOver); },speed);
			}
		else
			{
				dayTd.setOpacity(0);
				busy[dayTd.id]=false;
				if(runWhenOver!=undefined) runWhenOver();
			}
	}
}

function fadeIn(dayTd,runWhenOver)

{
	var stepping=0.10;
	var speed=50;
	if(dayTd.getOpacity()==1) return;
	if(busy[dayTd.id]==undefined) busy[dayTd.id]=false;
	if(busy[dayTd.id]==false) busy[dayTd.id]='fadeIn';
	if(busy[dayTd.id]!='fadeIn') setTimeout(function() {fadeIn(dayTd,runWhenOver); },speed*2);
	else
	{
		busy[dayTd.id]='fadeIn';
		if(1-dayTd.getOpacity()>stepping)
			{
				dayTd.setOpacity(dayTd.getOpacity()+stepping);
				setTimeout(function() { fadeIn(dayTd,runWhenOver); },speed);
			}
		else
			{
				busy[dayTd.id]=false;
				dayTd.setOpacity(1);
				if(runWhenOver!=undefined) runWhenOver();
			}
	}
}

function changeContainerContent(targetId,content)
{
	ancestors=$(targetId).ancestors();
	for(i=0;i<ancestors.length;i++) { if(ancestors[i].id.search("content")==0) {container=ancestors[i]; break;} }
	oldChar.content=container.innerHTML;
	if(content.type=="ajax")
	{
		new Ajax.Request(content.address,{onSuccess: function(transport) {
//		container.clonePosition(container);
		container.setStyle({height:(container.getHeight()-20)+"px"});
		fadeOut(container, function() {
				container.update(transport.responseText);
				position=container.cumulativeOffset();
				dimensions=container.getDimensions();
				if(content.restore=='mouseout') container.observe('mouseout',function(event) {
						if(event.pointerX()<position.left+10 || event.pointerX()>position.left+dimensions.width-10 || event.pointerY()<position.top+10 || event.pointerY()>position.top+dimensions.height-10)
						restoreContainerContent(container,oldChar.content);
					});
				fadeIn(container);
			});
		} });
	}
	
	if(content.type=="text")
	{
//		container.clonePosition(container);
		container.setStyle({height:(container.getHeight()-20)+"px"});
		fadeOut(container, function() {
				container.update(content.text);
				position=container.cumulativeOffset();
				dimensions=container.getDimensions();
				if(content.restore=='mouseout') container.observe('mouseout',function(event) {
						if(event.pointerX()<position.left+10 || event.pointerX()>position.left+dimensions.width-10 || event.pointerY()<position.top+10 || event.pointerY()>position.top+dimensions.height-10)
						restoreContainerContent(container,oldChar.content);
					});
				fadeIn(container);
			});
	}
}

function restoreContainerContent(container,content)
{
	container.stopObserving();
	fadeOut(container, function() {
		container.update(content);
		fadeIn(container);
	});
}

function whySignUp(elementId)
{
	changeContainerContent(elementId,{type:'ajax',restore:'mouseout',address:'/includes/skeleton/signup-why.html'});
}

function forgotPassword(elementId)
{
	changeContainerContent(elementId,{type:'ajax',restore:'mouseout',address:'/includes/skeleton/signup-forgot.html'});
}

function login()
{
	img=new Element('img',{src:"/images/loaders.gif"});
	$('loadspace').update(img);
	if($('remember').checked) remember=1; else remember=0;
	new Ajax.Request(window.location.href,{postBody:'do=login&remember='+remember+'&username='+$('username').value+'&password='+$('password').value,onSuccess: function(transport) {
		response=transport.responseText;
		if(response=='false')
			{
				alert("sorry");
			}
		else
			{
				changeContainerContent('username',{type:'text',restore:'none',text:'<br /><br /><span class="header" style="font-size:250%;">Welcome</span><br /><br /> &nbsp; &nbsp; &nbsp; <span class="content">'+response+"</span>"});
				setTimeout(function() {window.location=window.location.href;},1500);
			}
	} });
}

function logout()
{
	img=new Element('img',{src:"/images/loaders.gif"});
	$('loadspace').update(img);
	new Ajax.Request('/index.php',{postBody:'do=logout',onSuccess: function(transport) {
		changeContainerContent('loadspace',{type:'text',restore:'none',text:'<br /><br /><span class="header" style="font-size:250%;">Bye!</span>'});
		setTimeout(function() {window.location='/'},1000);
	} });	
}
