//TODO mejorar tema instanceName
function SliderHome(instanceName, divContainer){
	this.instanceName = instanceName;
	this.divContainer = divContainer;
	this.num = -1;
	this.cur = 0;
	this.cr = [];
	this.al = 0;
	this.at = 10*1000;
	this.ar = true;
	this.data = null;
}

SliderHome.prototype.init = function(data){
	if(!data || !data.length)
		return false;
	
	this.data = data;
	
	var d = this.data;
	this.num = d.length;
	var pos = Math.floor(Math.random()*1);
	var cont = jQuery("#"+this.divContainer);

	for(var i=0;i<this.num;i++){
		cont.append('<a href="'+d[i].getLinkUrl()+'" target="self"><img id="'+this.getImageIdByIndex(i)+'" src="'+d[i].getImg()+'" class="slide" alt="" /></a>');
	}
	
	cont.append('<a id="link" href="#"></a>');
	
	var link = jQuery("#link");

	link.append('<div id="img-slide-float-cont"></div>');
	link.append('<div id="slide-titulo"><p id="slide-tit1" class="slidertext"></p><p id="slide-tit2" class="slidertext muchla-titles-font"></p></div>');
	link.append('<div id="slide-texto" ><p id="slide-desc" class="slidertext "><span></span></p></div>');
	cont.append('<div id="slide-controls"><p id="slide-nav"></p></div>');

	for(var i=0;i<this.num;i++){
		this.debug = jQuery("#"+this.divContainer+" div#"+this.getImageIdByIndex(i));
		
		jQuery("#"+this.divContainer+" img#"+this.getImageIdByIndex(i)).css({left:((i-pos)*960)});
		jQuery("#"+this.divContainer+" p#slide-nav").append('<div> <a id="slide-link-'+i+'" href="#" onclick="'+this.instanceName+'.slide('+i+');return false;" onfocus="this.blur();"><img id="slide-thumb-'+i+'" src="'+d[i].getThumb()+'" class="slide-thumb slide" alt="" /></a></div>');
		
		// en el ultimo caso no dibujo la barra
		if ( i != (this.num-1) ) {
			jQuery("#"+this.divContainer+" p#slide-nav").append('<div class="slide-nav-separator">/</div>');
		}
	}
	
	jQuery('img,div#slide-controls',jQuery("#"+this.divContainer)).fadeIn();
	this.text(d[pos]);
	this.on(pos);
	this.cur=pos;

	this.al = this.createNextTimeout();
	return true;
}

SliderHome.prototype.createNextTimeout = function(){
	return window.setTimeout(this.instanceName+'.auto();', this.at);
}

SliderHome.prototype.getImageIdByIndex = function(index){
	return "slide-img-"+index;
}


SliderHome.prototype.left = function(){
	var next=this.cur-1;
	  //if(next>=this.num) next=this.cur;
	  this.slide(next);	
}

SliderHome.prototype.right = function(){
	var next=this.cur+1;
	  //if(next>=this.num) next=this.cur;
	  this.slide(next);	
}

SliderHome.prototype.auto = function(){
		  if(!this.ar)
		   return;

		  var next=this.cur+1;
		  if(next>=this.num) next=0;
		  this.slide(next);		  
}

SliderHome.prototype.slide = function(pos){
		  if(pos<0 || pos>=this.num || pos==this.cur)
			  return;

		  window.clearTimeout(this.al);
		  //this.al = window.setTimeout('slider.auto();',slider.at);
		  this.al = this.createNextTimeout();

		  var d=this.data;
		  for(var i=0;i<this.num;i++)
		   jQuery('#'+this.getImageIdByIndex(i)).stop().animate({left:((i-pos)*959)},960,'swing');
		   
		  this.on(pos);
		  this.text(d[pos]);
		  this.cur=pos;
}

//TODO buscar referencia relativa a #DivContainer
SliderHome.prototype.on = function(pos){
	  jQuery('#slide-nav a img').removeClass('on');
	  jQuery('#slide-nav a#slide-link-'+pos+' img.slide').addClass('on');
}
		
//TODO buscar referencia relativa a #DivContainer
SliderHome.prototype.text = function(di){

		  this.cr['a']=di.desc;
		  this.cr['b']=di.title1;
		  this.cr['c']=di.title2;
		  this.cr['d']=di.linkLabel;
		  this.cr['e']=di.linkUrl;
		  this.cr['f']=di.linkTarget;
		  
		  this.ticker('#slide-desc span',di.desc);
		  this.ticker('#slide-tit1',di.title1);
		  this.ticker('#slide-tit2',di.title2);
		  this.ticker('#slide-link','<a href="'+di.getLinkUrl()+'" target="self" ></a> <div id="slidelinkarrow"></div>');
		  this.ticker('#img-slide-float-cont','<a href="'+di.getLinkUrl()+'" target="self" ><div class="img-slide-float"></div></a>');

		  jQuery("#link").attr('href', di.getLinkUrl());

}		 
		 
SliderHome.prototype.ticker = function(el,text){
   jQuery(el).html(text); 
}
		 
