window.addEvent('domready', function(){
	initTabbedBoxes();
	initMainMenu();
	initSectionTitles();
	initGridCaptions();
	hideFlashMessage();
	setElementsCursor();
	dropTabIndexFromErrorMessages();
	focusLoginForm();
	initTableCheckboxes();
	initTableRows();
	roundedBoxes();
});

var fx;

function focusLoginForm() {
	el = $$('.focus').getLast();
	if (el) {
		el.focus();
	}
}

function initTabbedBoxes() {
	$$('.tabbed-box').each(function(item, index){
		item.getElements('.tab').each(function(item){
			new Element('div', {
				'class':'tab-left-corner'
			}).setHTML('<b></b>').injectInside(item);
			new Element('div', {
				'class':'tab-right-corner'
			}).setHTML('<b></b>').injectInside(item);
			item.addEvent('click', function(){
				if(this.hasClass('tab-selected'))
					return;
				var parent = this.getParent();
				parent.getElement('.tab-selected').removeClass('tab-selected');
				item.addClass('tab-selected');
				parent.getElement('.tab-content-visible').removeClass('tab-content-visible');
				$(this.id + '-content').addClass('tab-content-visible');
			});
		});
	});
}

function initMainMenu() {
	$$('.main-menu').each(function(item){
		item.getElements('a').each(function(item){
			new Element('div', {
				'class': 'main-menu-left'
			}).setHTML('<b></b>').injectInside(item);
			new Element('div', {
				'class': 'main-menu-right'
			}).setHTML('<b></b>').injectInside(item);
			item.addEvents({
				'mouseenter': function() {
					this.addClass('main-menu-hover');
				},
				'mouseleave': function() {
					this.removeClass('main-menu-hover');
				}
			});
		});
	});
}

function initSectionTitles() {
	$$('.section-title').each(function(item){
		new Element('div', {
			'class':'section-title-left'
		}).setHTML('<b></b>').injectInside(item);
		new Element('div', {
			'class':'section-title-right'
		}).setHTML('<b></b>').injectInside(item);
	});
}

function initGridCaptions() {
	$$('.caption-left').each(function(item){
		new Element('div').injectInside(item);
	});
	$$('.caption-right').each(function(item){
		new Element('div').injectInside(item);
	});
}

function hideFlashMessage() {
	nohide = $E('#flashMessage span.nohide');
	if ($('flashMessage') && !nohide) {
		fx = new Fx.Style('flashMessage', 'opacity', {duration: 500});
		setTimeout("fx.start(0)", 5000);
	}
}

function setElementsCursor() {
	$$('input').each(function(item){
		if((item.type == 'radio') || (item.type == 'checkbox'))
			item.setStyle('cursor', 'pointer');
	})
}

function dropTabIndexFromErrorMessages() {
	$$('div.error-message').each(function(item){
		item.removeAttribute('tabindex');
	})
}

function initTip() {
	new Tips($$('.tip'), {
		fixed: true
	});
}

function initTableCheckboxes() {
	$$('input.toggle-all').each(function(el) {
		table = el.findParent('table');
		el._slaves = table.getElements('tbody input[type=checkbox]');
		el.addEvent('click', function() {
			this._slaves.each(function(el) {
				el.checked = this.checked;
			}, this);
		});
	});
}

function initTableRows() {
	$$('table.altrow tbody tr').each(function(el, idx) {
		if (idx % 2 == 0) {
			el.addClass('altrow');
		}
	});
}

function roundedBoxes() {
	$$('.round-corners').each(function(el) {
		el.adopt(new Element('div', {'class': 'tl'}));
		el.adopt(new Element('div', {'class': 'tr'}));
	});
}
