/*
** Evonux 2005-2008
** Evonux JavaScript Tools (EJST) - local version
**
** tested: IE 6.0/7.0, Firefox 2.0/3.0, Safari 2.0/3.0, Konqueror
**         Mac OS X, Windows XP/Vista, Linux
**
** All rights reserved
*/

if (Evonux && Evonux.IncludeRegister('THIS'))
  Evonux.Exit();

if (!Evonux) Evonux = {};

Evonux.Page = new Class({
    lastnews_time: Evonux.LASTNEWS_DISPLAY_DURATION,
    lastnews_height: 80, // px
    lastnews_lg: 0,
    lastnews_rank: 0,
    lastnews_ul: null,

    /*
    ** Inits complex display
    */
    initialize: function()
    {
	this.TransformText();
	//this.ScheduleSize();
	new Evonux.Schedule({node:$('menu').getElement('div.schedule')});
	window.addEvent('resize', this.AdjustSizes.bind(this));
	this.AnimateLastNews();
    },

    /*
    ** Transforms texts into images with nice font
    */
    TransformText: function()
    {
	// HEADER
	//  - slogan
	Evonux.Text.ToImg({node:$$('div#head div.slogan')});
	//  - news
	Evonux.Text.ToImg({node:$$('div#head div.news a'), hover:true});
	//  - menu
	Evonux.Text.ToImg({node:$$('div#head ul.menu a'), hover:true});
	//  - signup
	Evonux.Text.ToImg({node:$$('div#head div.signup a'), hover:true});
	// MENU
	//  - breaking news
	Evonux.Text.ToImg({node:$$('div#menu div.breaking-news h1')});
	//  - clubs
	Evonux.Text.ToImg({node:$$('div#menu div.clubs ul li a')});
	// CONTENT
	//  - header
	Evonux.Text.ToImg({node:$$('div#content div.head h1')});
	Evonux.Text.ToImg({node:$$('div#content div.head a')});
	//  - main content
	Evonux.Text.ToImg({node:$$('div#content h1')});
	Evonux.Text.ToImg({node:$$('div#content h2')});
    },

    /*
    ** Adjusts size of content so footer is at least at the bottom of the page
    */
    AdjustSizes: function()
    {
	
    },

    /*
    ** Adjusts size of schedule mini navigator if this kind of page is loaded
    */
    ScheduleSize: function()
    {
	var body = $(document.getElementsByTagName('body')[0]);
	if (!body.hasClass('schedule')) return;
	window.resizeTo(600,200);
    },

    /*
    ** Launches main news motion
    */
    AnimateLastNews: function()
    {
	var ul = $$('div#head div.news ul');
	// Checks that there are enough pieces of news to animate
	if (ul.length <= 0) return false;
	var li = ul[0].getElements('li');
	if (li.length <= 2) return false;
	this.lastnews_lg = li.length;
	this.lastnews_ul = ul[0];
	// Does launch motion
	setTimeout(this.AnimateLastNews_do.bind(this), this.lastnews_time);
    },
    /*
    ** Launches main news motion
    */
    AnimateLastNews_do: function()
    {
	var anim_ul = new Fx.Styles(this.lastnews_ul, {wait:false, duration: 500});
	anim_ul.start({
	    'margin-top': - this.lastnews_height * this.lastnews_rank
	});

	this.lastnews_rank++;
	var time = this.lastnews_time;
	if (this.lastnews_rank >= this.lastnews_lg - 1)
	{
	  time *= 2;
	  this.lastnews_rank = 0;
	}
	setTimeout(this.AnimateLastNews_do.bind(this), time);
    },

    /*
    ** Sends contact form
    */
    ContactFormSend: function(return_url)
    {
	var form = $('contactform');
	form.send({
	    onSuccess: this.ContactFormSend_do.bind(this)
	});
	return false;
    },
    ContactFormSend_do: function(text, xml)
    {
	var xml = new Evonux.XML(xml).GetArray();
	alert(xml['msg'][0]);
	if (xml['return_url'])
	  window.location = xml['return_url'][0];
    }
});

var evx_page;
window.addEvent('domready', function () {evx_page = new Evonux.Page();});

// ------------------------------------------------

