

function PanellAnuncis() {
	this.actual=0;
	this.numPanells=3;
	this.setup;
	this.elements;
	this.idObjecte="";
	this.scroll=true;
	
	this.scrollPos=0;
	
	this.init=_init;
	this.transicio=_transicio;
	this.runProcess=_runProcess;
	this.setup=_setup;
	this.elements=_elements;
	this.generate=_generate;
	this.setScrollPosition=_setScrollPosition;
	this.despScroll=_despScroll;
	this.stopScroll=_stopScroll;
	this.eventClick=_eventClick;
	}
	
function _init() { }
	
function _transicio(id) {
	var pmfId=document.getElementById("pmf"+id);

	if (pmfId!=null) {
    	if (this.actual!=0) 
		    document.getElementById("pmf"+this.actual).className="miniatura";
			
	    document.getElementById("scrollFotoGran").style.marginTop=-( (id-1)*this.setup.height )+"px";
	    pmfId.className="miniaturaSelected";
		
	    this.actual=id;

	    var welem=this.setup.width_miniatura+this.setup.margin_miniatura;
	    var dscroll=-this.scrollPos; // despaçament del scroll
	    var minvis=dscroll;
	    var w=this.setup.width-(this.setup.width_scroll*2)-this.setup.margin_miniatura-5;
	    var maxvis=dscroll+w;
		
	    var desp=welem*parseInt(id);
	    var desp2=welem*(parseInt(id)-1);

	    if (desp>maxvis)
		this.setScrollPosition( -(dscroll+(desp-maxvis)) );
		
	    if (desp2<minvis)
		this.setScrollPosition( -(desp2) );
	    }
	}
		
function _runProcess() {
	var n=this.actual+1;
	if (n>this.numPanells) n=1;
	
	if (this.actual!=n) this.transicio(n);
		
	setTimeout(this.idObjecte+".runProcess()", this.setup.sleepFrame);
	}
		
function _setup(s) { this.setup=s; }
	
function _elements(s) { 
	this.elements=s; 
	this.numPanells=s.length;
	}		
	
function _eventClick() {
	var s=""+this.elements[this.actual-1].action;
	
	eval(s);
	}
		
function _generate(s,obj) { 
	var ret="";
	this.idObjecte=obj;
		
	ret+="<div id='panellPrincipal' style='width: "+this.setup.width+"px;'>";
			
	ret+="<div id='contenidorFotoGran' style='width: "+this.setup.width+"px; height: "+this.setup.height+"px; padding: 0px; margin:0px; overflow: hidden;'>";
	ret+="<div id='scrollFotoGran' style='width: "+this.setup.width+"px; padding: 0px; margin:0px;'>";
	for (var i=1;i<=this.numPanells;i++) {
		var sol="margin-top: -"+this.setup.height+"px;";
		sol="";
		ret+="<div id='f"+i+"' style='width: "+this.setup.width+"px; height: "+this.setup.height+"px; margin: 0px;"+sol+"' onclick=\""+this.idObjecte+".eventClick();\" >";
		
		if (this.elements[i-1].action!="") ret+="<a href='#'>";		
		ret+="<img src='"+this.elements[i-1].imatge+"' style='border-width: 0px; width: 100%; height: 100%;' />";
		if (this.elements[i-1].action!="") ret+="</a>";
		
		ret+="</div>";
		}
	ret+="</div>";
		
	ret+="</div>";
		
		
	ret+="</div>";

	var w=this.setup.width-(this.setup.width_scroll*2)-this.setup.margin_miniatura-5;
	var t=this.numPanells*(this.setup.width_miniatura+this.setup.margin_miniatura);
		
	ret+="<div id='panellMiniatures' style='height: "+(this.setup.height_miniatura+this.setup.margin_bottom_miniatura)+"px; width: "+this.setup.width+"px; overflow: hidden;'>";
	ret+="<div id='scrollLeftControl' class='botoScrollLeft' style='float: left; vertical-align: middle; height: "+(this.setup.height_miniatura+this.setup.margin_bottom_miniatura)+"px; margin-right: "+this.setup.margin_miniatura+"px; width: "+this.setup.width_scroll+"px;' onmouseover='"+obj+".despScroll(1);' onmouseout='"+obj+".stopScroll();'>&nbsp;</div>";
	ret+="<div style='overflow: hidden; float: left; width: "+w+"px;'><div id='scrollMiniatura' style='height: "+(this.setup.height_miniatura+this.setup.margin_bottom_miniatura)+"px; margin-left: 0px; overflow: hidden; width: "+t+"px'>";
	for (var i=1;i<=this.numPanells;i++) {
		ret+="<div  id='pmf"+i+"' class='miniatura' onmouseover='"+obj+".transicio("+i+")' style='width: "+this.setup.width_miniatura+"px; margin-right: "+this.setup.margin_miniatura+"px;'>";
		ret+="<img id='mf"+i+"' src='"+this.elements[i-1].miniatura+"' style='width: 100%; height: "+this.setup.height_miniatura+"px;' />"+this.elements[i-1].text;
	  	ret+="</div>";
  		}
	ret+="</div></div>";
	ret+="<div id='scrollRightControl' class='botoScrollRight' style='float: right; vertical-align: middle; height: "+(this.setup.height_miniatura+this.setup.margin_bottom_miniatura)+"px; margin-left: "+this.setup.margin_miniatura+"px; width: "+this.setup.width_scroll+"px;' onmouseover='"+obj+".despScroll(-1);' onmouseout='"+obj+".stopScroll();'>&nbsp;</div>";
	ret+="<div style='clear: both; height: 1px;'>&nbsp;</div></div>";
		
	document.getElementById(s).innerHTML=ret;
		
	this.init();		
	this.runProcess();
	}		
		
function _setScrollPosition(pos) {
	var d=(-pos)-(-this.scrollPos)
		
	if (d>10) d=10;
	if (d<-10) d=-10;
			
	this.scrollPos=this.scrollPos-d;
		
	var sm=document.getElementById("scrollMiniatura");
	if (sm!=null) {
    	    sm.style.marginLeft=this.scrollPos+"px";
		
	    if (this.scrollPos!=pos) setTimeout(this.idObjecte+".setScrollPosition("+pos+")",10);
	    }
	}

function _despScroll(direccio) {
	var w=this.setup.width-(this.setup.width_scroll*2)-this.setup.margin_miniatura-5;
	var t=(this.numPanells*(this.setup.width_miniatura+this.setup.margin_miniatura))-w;
		
	if (this.scrollPos<=0 && this.scrollPos>=-t && this.scroll) {
		var ns=this.scrollPos+(direccio*10);
		if (ns>0) ns=0;
		if (ns<-t) ns=-t;
			
		this.scrollPos=ns;
		
		var sm=document.getElementById("scrollMiniatura");
		if (sm!=null) {
    		    sm.style.marginLeft=this.scrollPos+"px";
			
		    setTimeout(this.idObjecte+".despScroll("+direccio+")",20);
		    }
		}
			
	this.scroll=true;
	}
		
function _stopScroll() { this.scroll=false; }

function hideE(elem) {
	document.getElementById(elem).style.display="none";
	}

function showE(elem) {
	document.getElementById(elem).style.display="block";
	} 