
  function JSFNews(top,left,width,height){
        this.items = new Array();
        if(top)this.top=top; else this.top=0;
        if(left)this.left=left; else this.left=0;
        if(width) this.width=width;else this.width=300;
        if(height) this.height=height;else this.height=100;
        this.newsLayer = null;
        this.lastMove = 0;
        this.inc = 3;
        this.is_over = 0;
        this.show = 8000;
        eval(this.obj + "=this")
        this.contStart='';
        this.contEnd='';
        this.contMidStart='';
        this.contMidEnd='';
//      document.write('<img src="gfx/px.gif" width="'+this.width+'" height="'+this.height+'" alt="" border="0">')
  }

  function JSFNewsAddItem(title,msg,date,href){
          pos = this.items.length;
          this.items[pos] = new _jsfnewsitem(title,msg,date,href);
  }

  function _jsfnewsitem(title,msg,date,href){
        this.title = title;
        this.msg = msg;
        this.date = date;
        this.href = href;
        this.objLayer = null;
	
  }
  JSFNews.prototype.addItem = JSFNewsAddItem;
  JSFNews.prototype.createItem = JSFNewsCreateItem;
  JSFNews.prototype.runNews = JSFNewsRunNews;
  JSFNews.prototype.move = JSFNewsMove;
  JSFNews.prototype.moveNext = JSFNewsMoveNext;
  JSFNews.prototype.movePrev = JSFNewsMovePrev;
  JSFNews.prototype.next = JSFNewsNext;
  JSFNews.prototype.prev = JSFNewsPrev;
  JSFNews.prototype.setCont = JSFNewsSetCont;
  JSFNews.prototype.pause = JSFNewsPause;
  JSFNews.prototype.n_over = JSFNewsMoveOver;
  JSFNews.prototype.n_out = JSFNewsMoveOut;

  function JSFNewsSetCont(start,end,midstartt,midmidt,midmidt2,midendt,midstart,midend){
        this.contStart=start;
        this.contEnd=end;
        this.contMidStartt=midstartt;
        this.contMidMidt=midmidt;
        this.contMidMidt2=midmidt2;
        this.contMidEndt=midend;
        this.contMidStart=midstart;
        this.contMidEnd=midend;
  }

  function JSFNewsCreateItem(){
      createLayer('msgBody',null,this.left,this.top,this.width,this.height,'',null);
      this.newsLayer = new DynLayer('msgBody');
      
      for(var i=0; i<this.items.length; i++){
          str=this.contStart+this.contMidStartt+this.items[i].title+this.contMidMidt+(i+1)+'/'+(this.items.length)+this.contMidMidt2+this.items[i].date+this.contMidEndt+this.contMidStart+this.items[i].msg+this.contMidEnd+this.contEnd;
          strlink=this.contStart+this.contMidStartt+this.items[i].title+this.contMidMidt+(i+1)+'/'+(this.items.length)+this.contMidMidt2+this.items[i].date+this.contMidEndt+this.contMidStart+'<a href="'+this.items[i].href+'">'+this.items[i].msg+'</a>'+this.contMidEnd+this.contEnd;
          if(typeof(this.items[i].href)=='undefined' || this.items[i].href=='') createLayer('msg'+i,'msgBody',0,0,this.width,this.height,str,null,'hidden');
          else createLayer('msg'+i,'msgBody',0,0,this.width,this.height,strlink,null,'hidden');
          this.items[i].objLayer = new DynLayer('msg'+i,'msgBody');
	  
	  this.items[i].objLayer.elm.onmouseover = JSFNewsMoveOver;
	  this.items[i].objLayer.elm.onmouseout = JSFNewsMoveOut;

      }
  }

  function JSFNewsRunNews(){
        scrollH=0;
	over=0;
	next=0;
	prev=0;
        for (var i=0; i<this.items.length; i++){
          var o=this.items[i].objLayer
          o.moveBy(0,o.h)
        }
        this.move(0,0);
  }

  function JSFNewsMoveOver(){
	over=1;
  }

  function JSFNewsMoveOut(){
	over=0;
  }

  function JSFNewsMove(tryb,n){

    if (over==0){
	if (prev==1){
	    prev=0;
	    o.hide();
	    scrollH=0;
	    o.moveTo(null,o.h);
	    if(this.lastMove-1<0) this.lastMove=this.items.length-1;
	    else this.lastMove=n-1;
	    this.move(0,this.lastMove);
	}
	else if (next==1){
	    next=0;
	    o.hide();
	    scrollH=0;
	    o.moveTo(null,o.h);
	    if(this.lastMove+1>=this.items.length) this.lastMove=0;
	    else this.lastMove=n+1;
	    this.move(0,this.lastMove);
	}
	else {
	    if (tryb==0){

		o=this.items[n].objLayer
    
		if (scrollH<o.h){
            	    o.show();
            	    o.moveBy(null,-this.inc);
            	    scrollH+=this.inc;
            	    setTimeout(this.obj+".move("+tryb+","+n+")", 20);
    		}
    		else {
            	    setTimeout(this.obj+".next("+n+")", this.show);
            	    setTimeout(this.obj+".pause("+n+")", 1);
    		}

	    }
	    else {
		o.hide();
		o.moveBy(0,o.h);
		if(this.lastMove+1>=this.items.length) this.lastMove=0;
		else this.lastMove=n+1;
		scrollH=0;
		this.move(0,this.lastMove);
	    }
	}
    }
    else {
	setTimeout(this.obj+".move("+tryb+","+n+")", 20);
    } 
  }

  function JSFNewsMoveNext(){
    if (next==1) next=0;
    else next=1;
  }

  function JSFNewsMovePrev(){
    if (prev==1) prev=0;
    else prev=1;
  }

  function JSFNewsNext(n){
    if (this.lastMove==n) next=1;
  }

  function JSFNewsPrev(n){
    if (this.lastMove==n) prev=1;
  }

  function JSFNewsPause(n){
    if (next!=1&&prev!=1) return setTimeout(this.obj+".pause("+n+")", 20);
    else {
	next=0;
	if (prev==1) {
	    if(this.lastMove-2<0) this.lastMove=this.lastMove+this.items.length-2;
	    else this.lastMove-=2;
	    n = this.lastMove;
	}
	prev=0;
	return this.move(1,n);
    }
  }


