var _IE6 = ((navigator.appName.indexOf('Microsoft Internet Explorer') != -1) && (parseInt(navigator.appVersion) < 7)) ? true : false;
/*--- IE6 hover ---*/
function HoverEl(h_list){
	if(_IE6){
		$$(h_list).each(function(_el){
			if(_el.getElementsByTagName('ul')[0]){
				_el.onmouseover = function(){
					this.addClassName('hover');
				}
				_el.onmouseout = function(){
					this.removeClassName('hover');
				}
			}
		});
	}
}
/*---- clear inputs function ---*/
function clearInputs(){
	$$('input[type="text"], input[type="password"], textarea').each(function(_el){
		if(!_el.val) _el.val = _el.value;
		_el.onfocus = function(){
			if(this.value == this.val) this.value = '';
		}
		_el.onblur = function(){
			if(this.value == '') this.value = this.val;
		}
	});
}
/*--- initGall function ---*/
function initGall(){
	var wait_time = 5000; //in ms
	$$('.gallery-holder').each(function(_this){
		var _t;
		var _f = true;
		var _list = _this.select('div.gallery-item ul > li');
		var _btn = _this.select('ul.page-switcher li');

		// leave random elements
		if(_list.length > _btn.length) {
			var _diff = _list.length - _btn.length;
			var _num;
			function rndNum(c) {
				return Math.floor(Math.random()*c+1);
			}
			for(var i = 0; i < _list.length; i++) _list[i].style.display = 'none';
			for(var i = 0; i < _diff; i++){
				_num = rndNum(_list.length) - 1;
				for(var k=0; k<_list.length; k++ )
					if(k ==_num) _list.splice(k,1);
			}
			for(var i = 0; i < _list.length; i++) _list[i].style.display = 'block';
		}

		var _a = -1;
		for(var i = 0; i < _list.length; i++){
			if(_btn[i].hasClassName('active')) _a = i;
			if(_IE6) _list[i].removeClassName('active').setStyle('display', 'none');
			else _list[i].removeClassName('active').setOpacity(0);
			_btn[i].removeClassName('active');
		}
		if(_a == -1) _a = 0;
		_list[_a].addClassName('active');
		_btn[_a].addClassName('active');
		if(_IE6) _list[_a].setStyle('display', 'block');
		else _list[_a].setOpacity(1);
		for(var i = 0; i < _btn.length; i++){
			_btn[i]._i = i;
			_btn[i].onclick = function(){
				changeEl(this._i);
				return false;
			}
		}
		_this.observe('mouseenter',function(){
			if(_t) clearTimeout(_t);
			_f = false;
		}).observe('mouseleave', function(){
			_f = true;
			_t = setTimeout(function(){
				if(_a < _list.length -1) changeEl(_a + 1);
				else changeEl(0);
			}, wait_time);
		});
		if(_f) _t = setTimeout(function(){
			if(_a < _list.length -1) changeEl(_a + 1);
			else changeEl(0);
		}, wait_time);
		function changeEl(_ind){
			if(_ind != _a){
				if(_t) clearTimeout(_t);
				_btn[_a].removeClassName('active');
				_btn[_ind].addClassName('active');
				_list[_a].removeClassName('active');
				_list[_ind].addClassName('active');
				if(_IE6){
					_list[_a].setStyle('display', 'none');
					_list[_ind].setStyle('display', 'block');
				}
				else{
					new Effect.Opacity(_list[_a], { to: 0, duration: 0.6});
					new Effect.Opacity(_list[_ind], { to: 1, duration: 0.6});
				}
				_a = _ind;
				if(_f) _t = setTimeout(function(){
					if(_a < _list.length -1) changeEl(_a + 1);
					else changeEl(0);
				}, wait_time);
			}
		}
	});
}
document.observe("dom:loaded", function() {
	initGall();
});
