/*
 * This is the script that controls the image slider on the index.php page
 */
$(function() {
	slider.init();
});

var slider = {
	num : -1,
	cur : 0,
	cr : [],
	al : null,
	at : 6 * 1000,
	ar : true,
	init : function() {
		if (!slider.data || !slider.data.length)
			return false;

		var d = slider.data;
		slider.num = d.length;
		var pos = Math.floor(Math.random() * 1);// slider.num);
		for ( var i = 0; i < slider.num; i++) {
			$('#' + d[i].id).css( {
				left : ((i - pos) * 1000)
			});
			$('#slide-nav').append(
					'<a id="slide-link-' + i
							+ '" href="#" onclick="slider.slide(' + i
							+ ');return false;" onfocus="this.blur();">'
							+ (i + 1) + '</a>');
		}

		$('img,div#slide-controls', $('div#slide-holder')).fadeIn();
		slider.text(d[pos]);
		slider.on(pos);
		slider.cur = pos;
		window.setTimeout('slider.auto();', slider.at);
	},
	auto : function() {
		if (!slider.ar)
			return false;

		var next = slider.cur + 1;
		if (next >= slider.num)
			next = 0;
		slider.slide(next);
	},
	slide : function(pos) {
		if (pos < 0 || pos >= slider.num || pos == slider.cur)
			return;

		window.clearTimeout(slider.al);
		slider.al = window.setTimeout('slider.auto();', slider.at);

		var d = slider.data;
		for ( var i = 0; i < slider.num; i++)
			$('#' + d[i].id).stop().animate( {
				left : ((i - pos) * 1000)
			}, 1000, 'swing');

		slider.on(pos);
		slider.text(d[pos]);
		slider.cur = pos;
	},
	on : function(pos) {
		$('#slide-nav a').removeClass('on');
		$('#slide-nav a#slide-link-' + pos).addClass('on');
	},
	text : function(di) {
		slider.cr['a'] = di.client;
		slider.cr['b'] = di.desc;
		slider.ticker('#slide-client span', di.client, 0, 'a');
		slider.ticker('#slide-desc', di.desc, 0, 'b');
	},
	ticker : function(el, text, pos, unique) {
		if (slider.cr[unique] != text)
			return false;

		ctext = text.substring(0, pos) + (pos % 2 ? '-' : '_');
		$(el).html(ctext);

		if (pos == text.length)
			$(el).html(text);
		else
			window.setTimeout('slider.ticker("' + el + '","' + text + '",'
					+ (pos + 1) + ',"' + unique + '");', 30);
	}
};
