var tss = {
	init: function(){
		this.video.init();
		this.pagination.init({});
		this.common.init();
		this.background.init({
			tween: 20000, 
			cycle: 30000
		});
	},
	pagination: {
		page: false,
		init: function(args){
			this.resize();
			$$('a.page').each(function(a){
				var h = a.get('href');
				if(h.substr(0, 1) != '#') {
					a.set('href', '#' + h);
				}
			});
			var id = this.get_page();
			if(!id) {
				window.location.hash = '#/';
				this.page = $('pages').getElement('div.page').get('id');
			}
			else {
				this.page = id;
			}
			this.nav_to($(this.page), false);
			window.setInterval('tss.pagination.check_nav()', 10);
			window.addEvent('resize', function(){ tss.pagination.resize(); }.bind(this));
		},
		get_page: function(){
			var id = window.location.hash.split('/').pop();
			if(id && $(id)) {
				return id;
			}
			else {
				return false;
			}
		},
		check_nav: function(){
			var id = this.get_page();
			if(id === false) {
				var el = $('pages').getElement('div.page');
				id = el.get('id');
			}
			if(id != this.page) {
				this.page = id;
				this.nav_to($(id), true);
			}
		},
		nav_to: function(el, slide){
			var l = el.getPosition($('pages')).x * -1;
			if(slide) {
				$('pages').tween('margin-left', l);
			}
			else {
				$('pages').setStyle('margin-left', l);
			}
			
			var base = window.location.hash.split('/');
			if(base.length > 1) {
				base = base[1];
			}
			else {
				base = false;
			}
			$$('a.page').each(function(a){
				if(a.get('rel') == base) {
					a.addClass('active');
				}
				else {
					a.removeClass('active');
				}
			});
			var t = el.getElement('.title');
			if(t) {
			}
		},
		resize: function(){
			var w = window.getSize().x;
			var els = $$('div.page');
			$('pages').setStyle('width', w * els.length);
			els.setStyle('width', w);
			if(this.page) {
				var l = $(this.page).getPosition($('pages')).x * -1;
				$('pages').setStyle('margin-left', l);
			}
		}
	},
	video: {
		init: function(){
			if($('video')) {
				var v = $('video').getElement('.inner');
				$('video').getElements('a').each(function(a){
					var i = a.getElement('img');
					var p = new Element('p', {'html': '<span class="align-middle">' + i.get('alt') + '</span>'});
					var c = new Element('div', {'class': 'column image video'});
					i.erase('title');
					a.addClass('box video');
					a.set('rel', 'shadowbox[video];width=800;height=600');
					p.inject(a);
					a.inject(c);
					c.inject(v);
				});
				v.getElements('.column.narrow').dispose();
			}
		}
	},
	background: {
		active: 0,
		p: 0,
		init: function(args){
			new Element('div', {'class': 'background'}).inject($('pages'));
			new Element('div', {'class': 'background'}).inject($('pages'));
			$$('.background').each(function(el, i){
				el.set('id', 'background-' + i);
				el.set('tween', {
					duration: args.tween,
					onComplete: function(){
						if(el.getStyle('visibility') == 'hidden') {
							el.setStyle('background-position', (Math.floor(Math.random() * 10000)) + 'px 0');
						}
					}
				});
				el.setStyle('background-position', (Math.floor(Math.random() * 10000)) + 'px 0');
				if(i > 0) {
					el.setStyles({
						opacity: 0, 
						visibility: 'hidden'
					});
				}
			});
			window.setInterval('tss.background.cycle()', args.cycle);
		},
		cycle: function(){
			$('background-' + this.active).fade('out');
			if($('background-' + (this.active + 1))) {
				var el = $('background-' + (this.active + 1));
				this.active++;
			}
			else {
				var el = $('background-0');
				this.active = 0;
			}
			$('background-' + this.active).fade('in');
		}
	},
	common: {
		init: function(){
			$$('ul li:first-child').addClass('first');
			$$('ul li:last-child').addClass('last');
			window.addEvent('load', function(){
				$$('.align-middle').each(function(el){
					el.setStyle('margin-top', Math.floor((el.getParent().getSize().y - el.getSize().y) / 2));
				});
			});
			Shadowbox.init();
		}
	}
};

window.addEvent('domready', function(){
	tss.init();
});
