function alphaScrollRight()
{
	var i = document.getElementById('alpha_scroll');
	//var as = new Fx.Tween($(i), { unit: '%' });
	var as = new Fx.Tween($(i), { unit: 'px' });
	var count = i.childNodes.length-1;
	//var to = i.getStyle('left').toInt()-100;
	var to = i.getStyle('left').toInt()-627;
	//to = (Math.round(to / 100))*100;
	to = (Math.round(to / 627))*627;
	//if (to <= 0-(count*100)) { to = 0-(count*100); }
	if (to <= 0-(count*627)) { to = 0-(count*627); }
	
	//var tos = Math.ceil(i.offsetWidth/(count+1) * (1+to/100));
	//alert(tos);
	
	as.start('left', to);
	//alert(to);
	var lr = document.getElementById('alpha_left_arrow');//.innerHTML = '<a href="#" onClick="alphaScrollLeft(); return false;">&larr;</a>';
	if (lr.style.visibility == 'hidden') { $(lr).fade('hide'); lr.style.visibility = 'visible'; }
	$(lr).fade('in');
	var rr = document.getElementById('alpha_right_arrow');
	if (to <= 0-(count*627))
	{
		$(rr).fade('out');
		//document.getElementById('alpha_right_arrow').innerHTML = '&nbsp;';
	}
	else
	{
		$(rr).fade('in');
	}
	
	var ctd = document.getElementById('alpha_char');
	var ctdt = new Fx.Tween($(ctd));
	//ch = document.getElementById('alpha_int_char_'+(Math.ceil(0-(to/100)))).innerHTML;
	ch = document.getElementById('alpha_int_char_'+(Math.ceil(0-(to/627)))).innerHTML;
	ctdt.onComplete = function() { ctd.innerHTML = ch; ctdt.onComplete =function() { }; ctdt.start('opacity', 1); }
	ctdt.start('opacity', 0);
}

function alphaScrollLeft()
{
	var i = document.getElementById('alpha_scroll');
	var as = new Fx.Tween($(i), { unit: 'px' });
	var to = i.getStyle('left').toInt()+627;
	if (to >= 0) { to = 0; }
	to = (Math.round(to / 627))*627;
	as.start('left', to );
	var rr = document.getElementById('alpha_right_arrow');//.innerHTML = '<a href="#" onClick="alphaScrollRight(); return false;">&rarr;</a>';
	if (rr.style.visibility == 'hidden') { $(rr).fade('hide'); rr.style.visibility = 'visible'; }
	$(rr).fade('in');
	var lr = document.getElementById('alpha_left_arrow')
	if (to >= 0)
	{
		$(lr).fade('out');
		//document.getElementById('alpha_left_arrow').innerHTML = '&nbsp;';
	}
	else
	{
		$(lr).fade('in');
	}
	
	var ctd = document.getElementById('alpha_char');
	var ctdt = new Fx.Tween($(ctd));
	ch = document.getElementById('alpha_int_char_'+(Math.ceil(0-(to/627)))).innerHTML;
	ctdt.onComplete = function() { ctd.innerHTML = ch; ctdt.onComplete =function() { }; ctdt.start('opacity', 1); }
	ctdt.start('opacity', 0);
}

function alphaScrollTo(to, ch)
{
	var i = document.getElementById('alpha_scroll');
	var as = new Fx.Tween($(i), { unit: 'px' });
	var to = 0-to*627;
	var count = i.childNodes.length-1;
	as.start('left', to );
	//document.getElementById('alpha_right_arrow').innerHTML = '<a href="#" onClick="alphaScrollRight(); return false;">&rarr;</a>';
	var lr = document.getElementById('alpha_left_arrow');
	var rr = document.getElementById('alpha_right_arrow');
	if (to >= 0)
	{
		//document.getElementById('alpha_left_arrow').innerHTML = '&nbsp;';
		$(lr).fade('out');
	}
	else
	{
		//document.getElementById('alpha_left_arrow').innerHTML = '<a href="#" onClick="alphaScrollLeft(); return false;">&larr;</a>';
		if (lr.style.visibility == 'hidden') { $(lr).fade('hide'); lr.style.visibility = 'visible'; }
		$(lr).fade('in');
	}
	if (to <= 0-(count*627))
	{
		$(rr).fade('out');
		//document.getElementById('alpha_right_arrow').innerHTML = '&nbsp;';
	}
	else
	{
		if (rr.style.visibility == 'hidden') { $(rr).fade('hide'); rr.style.visibility = 'visible'; }
		$(rr).fade('in');
		//document.getElementById('alpha_right_arrow').innerHTML = '<a href="#" onClick="alphaScrollRight(); return false;">&rarr;</a>';
	}
	
	var ctd = document.getElementById('alpha_char');
	var ctdt = new Fx.Tween($(ctd));
	ctdt.onComplete = function() { ctd.innerHTML = ch; ctdt.onComplete =function() { }; ctdt.start('opacity', 1); }
	ctdt.start('opacity', 0);
	
	//$(ctd).set('tween', {link: 'chain'} );
	/*$(ctd).fade('out');
	ctd.innerHTML = ch;
	$(ctd).fade('in');*/
}

var prev_search = '';
function filterBlock()
{
	var str = document.getElementById('search_str').value;

	if (str == prev_search) { return; }
	prev_search = str;
	
	var bc = document.getElementById('block_char');
	var ba = document.getElementById('block_alpha');
	var bl = document.getElementById('block_letters');
	var bcats = document.getElementById('block_cats');
	
	$(bc).fade('out');
	$(ba).fade('out');
	$(bl).fade('out');
	$(bcats).fade('out');
	
	var req = new Request.HTML({

		url: '/catalog/?search=1&mode=char&string='+encodeURIComponent(str),
		method: 'get',
		evalScripts: true,
		onSuccess: function(tree, els, txt, js){
			var c = document.getElementById('block_char');
			c.innerHTML = txt;
			$(c).fade('in');
			$exec(js);
			//$(c).fade('in');
		},

		onFailure: function(){
			//alert('Transaction failure.');
		}
	});
	
	req.send();
	
	var req = new Request.HTML({

		url: '/catalog/?search=1&mode=alpha&string='+encodeURIComponent(str),
		method: 'get',
		evalScripts: true,
		onSuccess: function(tree, els, txt, js){
			var c = document.getElementById('block_alpha');
			c.innerHTML = txt;
			$(c).fade('in');
			$exec(js);
			//$(c).fade('in');
		},

		onFailure: function(){
			//alert('Transaction failure.');
		}
	});
	
	req.send();
	
	var req = new Request.HTML({

		url: '/catalog/?search=1&mode=letters&string='+encodeURIComponent(str),
		method: 'get',
		evalScripts: true,
		onSuccess: function(tree, els, txt, js){
			var c = document.getElementById('block_letters');
			c.innerHTML = txt;
			$(c).fade('in');
			$exec(js);
			//$(c).fade('in');
		},

		onFailure: function(){
			//alert('Transaction failure.');
		}
	});
	
	req.send();
	
	var req = new Request.HTML({

		url: '/catalog/?search=1&mode=cats&string='+encodeURIComponent(str),
		method: 'get',
		evalScripts: true,
		onSuccess: function(tree, els, txt, js){
			var c = document.getElementById('block_cats');
			c.innerHTML = txt;
			$(c).fade('in');
			$exec(js);
			//$(c).fade('in');
		},

		onFailure: function(){
			//alert('Transaction failure.');
		}
	});
	
	req.send();
}