/* CONFIGURATION AREA */
/*
	browsers:
		IE - Microsoft Internet Explorer
		FF - FireFox
		Safari - Safari browser
		Opera - Opera browser
		all - includes IE, FF, Opera and Safari
		
	parentId:
		any existing Id attribute 
	tagName:
		any valid tag name
	tagPosition:
		all - all inner elements 
		children - first level children only
	className:
		any valid class name
*/

var autoDelay = 4000;
var transitionTime = 1000;


var browsers = 'IE';
var config = {
	hovers: new Array(
		{
			parentId:'main-menu',
			tagName:'li',
			tagPosition:'all',
			className:'hover'
		}
	)
};

/* CODE AREA */

/* hovers */

var initHovers = function()
{
	for (var index in config.hovers){
		var conf = config.hovers[index];
		var topLevelElement = document.getElementById(conf.parentId);
		if (topLevelElement){
			var subElements = topLevelElement.getElementsByTagName(conf.tagName);
			for (var i = 0; i < subElements.length; i++){
				if (conf.tagPosition == 'all' || (conf.tagPosition == 'children' && subElements[i].parentNode.id == conf.parentId))
				{
					subElements[i].configIndex = index;
					subElements[i].onmouseover = function(){
						this.className += ' ' + config.hovers[this.configIndex].className;
					};
					subElements[i].onmouseout = function(){
						this.className = this.className.replace(config.hovers[this.configIndex].className,'');
					};
				}
			}
		}
	}
}

/* common */

var currentState = {};

var opera = window.opera;
var safari = navigator.appVersion.indexOf("Safari") != -1;
var ie = document.all && !window.opera;
var ff = navigator.userAgent.indexOf("Firefox") != -1;

var addEvent2 = function(browsers,event,initMethod)
{
	if (opera && (browsers.match(/Opera/) || browsers.match(/all/))) {
		window.addEventListener(event, initMethod, false);
	} else if (safari && (browsers.match(/Safari/) || browsers.match(/all/))) {
		window.addEventListener(event, initMethod, false);
	} else if (ie && (browsers.match(/IE/) || browsers.match(/all/))) {
		window.attachEvent("on" + event, initMethod);
	} else if (ff && (browsers.match(/FF/) || browsers.match(/all/))) {
		window.addEventListener(event, initMethod, false);
	} else if (!ie && !ff && !safari && !opera) {
		if (window.addEventListener){
			window.addEventListener(event, initMethod, false);
		}
		else if (window.attachEvent){
			window.attachEvent("on" + event, initMethod);
		}
	} 
}

addEvent2(browsers,'load',initHovers);

var current_slide = 0;

var myTimer

var initRotate = function(){
	var left_link = $$('.slides a.lt');
	var right_link = $$('.slides a.gt');
	
	current_slide = 0;
	
	var next_slide = 0;
	
	var slides = $$('.slides ul li');
	
	//slides.setStyle('display', 'none');
	slides.setStyle('opacity', 0);
	
	//slides[current_slide].setStyle('display', 'block');
	slides[current_slide].setStyle('opacity', 1);
	
	var n = slides.length;
	
	left_link.addEvent('click', function(e){
		
		(new Event(e)).stop();
		if (!allowClicking) return;
		
		if (current_slide>0) next_slide = current_slide -1;
		else next_slide = n-1;
		
		changeSlide(slides, current_slide, next_slide);				
		
		current_slide = next_slide;
	});
	
	right_link.addEvent('click', function(e){
		
		(new Event(e)).stop();
		if (!allowClicking) return;
		
		if (current_slide<n-1) next_slide = current_slide +1;
		else next_slide = 0;
		
		changeSlide(slides, current_slide, next_slide);				
		
		current_slide = next_slide;
	});	
	
	myTimer = autoRotating.delay(4000);
}

var autoRotating = function(){
	if (!allowClicking) return;
	
	var slides = $$('.slides ul li');
	
	var n = slides.length;	
	
	if (current_slide<n-1) next_slide = current_slide +1;
	else next_slide = 0;
	
	changeSlide(slides, current_slide, next_slide);				
	
	current_slide = next_slide;
		
}

var allowClicking = true;

function changeSlide(slides, i, j){

	var fx = new Fx.Styles(slides[i], {duration:transitionTime, wait:false, link: 'chain'});
	allowClicking = false;
	fx.start({
			'opacity': 0
		});
		
		
		//	slides[i].setStyle('display', 'none');
		//	slides[j].setStyle('display', 'block');
		//	slides[j].setStyle('visibility', 'visible');
			
			var fx2 = new Fx.Styles(slides[j], {duration:transitionTime, wait:false, link: 'chain'});
			
			fx2.start({
					'opacity': 1
				}).chain(function(){
				
					allowClicking = true;
					$clear(myTimer);
					myTimer = autoRotating.delay(autoDelay);
				});		
	
		
}

var initChangeSize = function(){
	var default_size = '100.01%';
	var medium_size = '110.01%';
	var large_size = '120.01%';
	
	var a1 = $$('.size10').pop();
	var a2 = $$('.size12').pop();
	var a3 = $$('.size14').pop();
	
	a1.addEvent('click', function(e){
		(new Event(e)).stop();
		$(document.body).setStyle('font-size', default_size);	
	});
	
	a2.addEvent('click', function(e){
		(new Event(e)).stop();
		$(document.body).setStyle('font-size', medium_size);	
	});
	
	a3.addEvent('click', function(e){
		(new Event(e)).stop();
		$(document.body).setStyle('font-size', large_size);	
	});
	
	//$(document.body).setStyle('font-size', '120%');
	
	
}

var initPage = function(){
	
	initRotate();
	initChangeSize();
}

window.addEvent('domready',initPage);