var Contact = new Class(
{
    Implements: [Events, Options],

    update:function(status,description)
    {
	this.icon.set('src','http://baszczewski.pl/wp-content/uploads/2010/05/user-'+status+'.png');
	this.icon.set('morph',
	{
	    duration:1300,
	    transition:Fx.Transitions.linear
	}).morph({opacity:1});
    },

    change:function(status,description)
    {
	var parent = this;
	this.icon.set('morph',
	{
	    duration:1300,
	    transition:Fx.Transitions.linear,
	    onComplete:function()
	    {
		parent.update(status);
	    }
	}).morph({opacity:0});
    },

    initialize: function(parent,options)
    {
	if (!($('mail') && $('jabber') && $('phone')))
	    return;

	var m1 = 'marcin';
	var m2 = 'baszczewski';
	var m3 = m1+'@'+m2+'.pl';
	var n1 = '792';
	var n2 = '297';
	var n3 = '526';

	$('mail').set('html','<a href="mailto:'+m3+'">'+m3+'</a>');
	$('jabber').set('html',m3);
	$('phone').set('html','+48 '+n1+' '+n2+' '+n3);

	this.icon = new Element('img',{'alt':'','styles':{float:'right',width:32,height:32}}).setOpacity(0).inject($('contact-data'));

	var parent = this;
	parent.status = false;
	parent.request = new Request(
    	{
	    method: 'post', 
	    url: 'http://baszczewski.pl/jabber.php',
	    onSuccess:function(result)
	    {
		result = JSON.decode(result);
		if (parent.status!=result.status)
		{
		    if (parent.status==false)
			parent.update(result.status,result.description);
		    else
			parent.change(result.status,result.description);

		    parent.status = result.status;
		}
		(function(){parent.request.send('id='+m3);}).delay(10000);
	    },
	    onFailure:function()
	    {
	    }
    	}).send('id='+m3);
    }
});

Comments = new Class(
{
    Implements: [Events, Options],
    initialize: function(parent,options)
    {
	if ($('comments'))
	{
	    $('newcomment').addEvent('click',function()
	    {
		$('comment').set('styles',{display:'block'});
		$('newcomment').dispose();
		var go_to = new Fx.Scroll(window,
		{
		    duration: 600,
		    wait: true,
		    onComplete:function()
		    {
		    }
		}).toElement($('comment'));
	    });
	}
    }
});

Homepage = new Class(
{
    Implements: [Events, Options],
    initialize: function(parent,options)
    {
	this.contact = new Contact();
	this.comments = new Comments();
    }
});

window.addEvent('domready', function() 
{
    var homepage = new Homepage();
});