/**
* M2Slider
* @copyright 	Copyright (c) 2009, Marco Moser
* @author       Marco Moser <marco@marcomoser.it>
* @version 	16/7/9 init
*/


/**
* @param tblselector table.slide_table (memo)
*/
function M2Slider()
{
    // attributes
    this.slidelist=[];
    this.textlist=[];
    this.idx=-1;
    this.inpause=0;
    this.hastext=false;

    // methods
    this.init=function(tblselector_foo)
    {
	// not exists
	if ($('table.slide_table').length<=0) return;
	$('table.slide_table').hide();

	var thumbs='';
	var jj=0;
	$('tr','table.slide_table').each(function() {
	    var tdslide=$('td:eq(0)',this);
	    var tddesc=$('td:eq(1)',this);
	    var img=$('img',tdslide);
	    if (img.length==0) return; // jquery null

	    m2Slider.slidelist[jj]=tdslide.html();
	    m2Slider.textlist[jj]=tddesc.html();
	    thumbs+='<img src="'+img.attr('src')+'" alt="'+img.attr('alt')+'" title="'+img.attr('alt')+'" onclick="m2Slider.gotoSlide('+jj+')" /> ';
	    jj++;
	});
	var divslide='<div class="m2s_div"><div class="m2s_show"><div class="m2s_one"></div><div class="m2s_two"></div><div class="m2s_text"></div></div> <div class="m2s_thumbs">'+thumbs+'</div></div>';
	$('table.slide_table').before(divslide);
	$('.m2s_div').bind('mouseenter',function() { m2Slider.inpause=1; } ).bind('mouseleave',function() {  m2Slider.inpause=0; m2Slider.nextSlide(); } );
	this.nextSlide();
    };

    this.nextSlide=function()
    {
	this.gotoSlide((this.idx+1)%this.slidelist.length);
    };

    this.gotoSlide=function(idx)
    {
	if (idx<0 || idx>=this.slidelist.length) return; //nosesamai
	this.idx=idx;
	var text=this.textlist[this.idx];
	text=text.replace(/^\s+|\s+$/,'');
	if (text) { $('.m2s_text').html(text).hide(); this.hastext=true; }
	else {  $('.m2s_text').hide(); this.hastext=false; }
	$('.m2s_two').html(this.slidelist[this.idx]).hide();
	$('.m2s_two').fadeIn(2000,m2Slider.showText);
	$('.m2s_thumbs img').removeClass('selected');
	$('.m2s_thumbs img:eq('+this.idx+')').addClass('selected');
    };

    this.showText=function()
    {
	if (m2Slider.hastext) $('.m2s_text').show();
	$('.m2s_one').html($('.m2s_two').html());
	if (m2Slider.inpause) return;
	window.setTimeout('m2Slider.nextSlide()', 5000);
    };
}
// dirty
var m2Slider=new M2Slider();

