/**
* Highlight block controller class
* 
* @author Gusts 'gusC' Kaksis
* @version 1.0
*/
var Highlights = (function(){
	var _currentHightlight = -1,
	_highlightList = new Array(),
	_highlightSwitchTimer = 0;
	
	var _init = function(autoswitch){
		$('.highlights-index').each(function(i, item){
			_highlightList.push($(item).attr('rel'));
		});
		
		$('.highlights-index').mouseover(_switchOnHover);
		_currentHightlight = $('.highlights-index').eq(0).attr('rel');
		$(_currentHightlight).show();
		$('.highlights-index[rel="' + _currentHightlight + '"]').addClass('active');
		
		if (autoswitch){
			_startDelayAutoSwitch();
		}
	},
	_findNext = function(){
		var idx = _highlightList.indexOf(_currentHightlight);
		if (idx >= _highlightList.length - 1){
			idx = 0;
		} else {
			idx ++;
		}
		return _highlightList[idx];
	},
	_stopAutoSwitch = function(){
		if (_highlightSwitchTimer > 0){
			clearTimeout(_highlightSwitchTimer);
			_highlightSwitchTimer = 0;
		}
	}
	_startDelayAutoSwitch = function(){
		_stopAutoSwitch();
		_highlightSwitchTimer = setTimeout(_switchOnAuto, 5000);
	},
	_switchOnAuto = function(){
		var _prevHighlight = _currentHightlight;
		_currentHightlight = _findNext();
		if (_prevHighlight != _currentHightlight){ 
			$(_prevHighlight).hide();
			$('.highlights-index[rel="' + _prevHighlight + '"]').removeClass('active');
		  $(_currentHightlight).show();
			$('.highlights-index[rel="' + _currentHightlight + '"]').addClass('active');
		}
		_startDelayAutoSwitch();
	},
	_switchOnHover = function(e){
		_stopAutoSwitch();
		var _prevHighlight = _currentHightlight;
		_currentHightlight = $(this).attr('rel');
		if (_prevHighlight != _currentHightlight){ 
			$(_prevHighlight).hide();
			$('.highlights-index[rel="' + _prevHighlight + '"]').removeClass('active');
		  $(_currentHightlight).show();
			$('.highlights-index[rel="' + _currentHightlight + '"]').addClass('active');
		}
		_startDelayAutoSwitch();
	};
	
	return {
		Init : _init
	};
})();

// ----- INITIALIZATION START ------ //
$(document).ready(function(){
	// Fancybox on images or ajax blocks
	$('a.lightbox').fancybox({
		onStart: function(fb, idx, o){
			var link = $(fb[idx]);
			if (link.hasClass('ajax')){
				var url = link.attr('href');
				var linkReg = /.*&width=(\d+).*&height=(\d+).*/ig;
				var result;
				//console.log(this);
				if ((result = linkReg.exec(url)) != null){
					//console.log(result);
					this.width = parseInt(result[1]) + (this.padding * 2);
					this.height = parseInt(result[2]) + (this.padding * 2);
				}
			} 
		}
	});
	// Tabbed widget box initialization
	$('div.tabs').tabs();
	// Highlight box initialization
	Highlights.Init(true);
});
// ------ INITIALIZATION END ------- //
