//var NS = (navigator.appName == "Netscape");
var NS = (document.layers)?true:false; //leshik was here;
layerRef = (NS) ? "document" : "document.all";
styleRef = (NS) ? "" : ".style";
var queue = new Array();
var headers= new Array();
headers[0] = 'Header1';
headers[1] = 'Header2';
var needBulbs = true ;
var notDrag = true;
var swidth=1250,sHeight=0 ;
var pos = new Array;
pos[0]=0;
pos[1]=0;
var speed =new Array(2,3);
var bClipLeft=0,bClipRight=0,bClipTop=0,bClipBottom=0,startPos=0;
var buff = ' '
var NUM_OF_TRAIL_PARTS = 5
var wholemessage = new Array ();
wholemessage[0]  = " Робота хакера.  Дискусія щодо шифрування DVD пожвавлюється. В березні програмісти випустили дві комп'ютерні програми, які розшифровують CSS - систему шифрування змісту,...  ";
wholemessage[1]  = ' Отримайте свої білки.  Продовжуючи роботу над Проектом геному людини, вчені на початку квітня обговорювали плани щодо аналогічного дослідження білків, названого проектом ... ';
for (var j=0 ;j<wholemessage.length; j++) {
   wholemessage[j] =  '<div align=center  >'.concat(wholemessage[j],'</DIV>')
}
var lyr= new Array;
 lyr[0] = new Object; 
 lyr[1] = new Object; 
 newsLayer= new Object();
 newsLayer.viewHeight = 0;
 newsLayer.pos = 0;
 newsLayer.stTop=0;
 newsLayer.stBottom=0;
 var someFrame = (NS)? null: new Object();

function MM_reloadPage(init) {  //reloads the window if Nav4 resized
  if (init==true) with (navigator) {
  if ((NS)&&(parseInt(appVersion)==4)) {
     document.MM_pgW=innerWidth; 
     document.MM_pgH=innerHeight;
     onresize=MM_reloadPage; 
   }
  }
  else 
   if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) {
     location.reload();
  }      
}
MM_reloadPage(true);


//---------------------------------------------------------------
// optimized for Netscape browser by Alex Fedoriv
function trailSpriteObj(anID) {
  this.trailSpriteID = "trailSprite" + anID;
  this.imgRef = "trailSprite" + anID + "img";
  this.currentFrame = 1;
  this.animateTrailSprite = animateTrailSprite;
}
//---------------------------------------------------------------
// optimized for Netscape browser by Alex Fedoriv
function animateTrailSprite() {
  if (this.currentFrame <6 ) {
    this.currentFrame ++;
  } else {eval(layerRef + '.' + this.trailSpriteID +  styleRef + '.visibility = "hidden"');}  
}
//---------------------------------------------------------------
function processAnim() {
 if (notDrag){
    for(x=0; x < NUM_OF_TRAIL_PARTS; x++)
     queue[x].animateTrailSprite();
}
}
//---------------------------------------------------------------
// optimized for Netscape browser by Alex Fedoriv
function processMouse(e) {
 if (notDrag){
  currentObj = shuffleQueue();
  if (NS) {
    eval("document." + currentObj + ".left = e.pageX - 10 ;");
    eval("document." + currentObj + ".top = e.pageY - 50;");}
  else {
  
    if (e) {
      eval("document." + currentObj + ".left = e.pageX - 10 ;");
      eval("document." + currentObj + ".top = e.pageY - 50;");
    } else {  
      var theevt = (window.event) ? window.event : e;  
      eval("document.all." + currentObj + ".style.pixelLeft = theevt.clientX + document.body.scrollLeft - 10 ;");
      eval("document.all." + currentObj + ".style.pixelTop = theevt.clientY + document.body.scrollTop - 60;");
      
    }
  }
}

}
  
//---------------------------------------------------------------
// optimized for Netscape browser by Alex Fedoriv
function shuffleQueue() {
lastItemPos = queue.length - 1;
lastItem = queue[lastItemPos];
for (i = lastItemPos; i>0; i--) 
queue[i] = queue[i-1];
queue[0] = lastItem;
queue[0].currentFrame = 1;
eval(layerRef + '.' + queue[0].trailSpriteID +  styleRef + '.visibility = "visible"');  
return  queue[0].trailSpriteID;
}
//---------------------------------------------------------------
// optimized for Netscape browser by Alex Fedoriv
function trackit(ev) {
  document.layers['mymouse'].pageX = ev.pageX
  document.layers['mymouse'].pageY = ev.pageY-50
}
// optimized for Netscape browser by Alex Fedoriv

function init() {
needBulbs  = init.arguments[0] ;
if (!NS) sHeight=document.all.someFrame.height;
if (!NS) newsLayer=document.all.newsDiv;
media = MM_findObj('Layer3');
wCentr = (NS)? parseInt(window.innerWidth/2) :  parseInt(window.document.body.clientWidth/2);
hCentr = (NS)? parseInt(window.innerHeight/2) :  parseInt(window.document.body.clientHeight/2); 
 eval('media'+styleRef+'.top = hCentr-120');
 eval('media'+styleRef+'.left = wCentr-120');
eval('newsLayer.stTop = newsLayer'+styleRef+'.top');
 newsLayer.pos = 0;
 newsLayer.scrollSpeed=30;
  if (NS) {
    newsLayer.clipTop= newsLayer.clip.top;
    newsLayer.clipBottom=newsLayer.clip.bottom;
    newsLayer.clipHeight  = newsLayer.clip.bottom - newsLayer.clip.top ;
  } 
  else {
      eval(' newsLayer.clipRef = newsLayer'+styleRef+'.clip');
    newsLayer.clipHeight = 262 ;
 }  
   if (init.arguments[0]) {
     for(x=0; x<NUM_OF_TRAIL_PARTS; x++){
       queue[x] = new trailSpriteObj(x+1) ;
   };  
    if (NS) {document.captureEvents(Event.MOUSEMOVE);}
       document.onmousemove = processMouse;
       setInterval("processAnim();",20);
   };    

if (NS) {
  for (var i=0;i<lyr.length;i++){
     bClipLeft = lyr[i].clip.left;
     bClipTop = lyr[i].clip.top;
     bClipRight = lyr[i].clip.right;
     bClipBottom = lyr[i].clip.bottom;
     startPos = lyr[i].left;
   };
  setInterval('move()',50);
  }  

}
// written by Alex fedoriv       
function showNews(pUrl){
      if (NS) {
        newsLayer.clip.top = newsLayer.clipTop;
        newsLayer.clip.bottom=newsLayer.clipBottom;
    } else
    document.all.someFrame.height=sHeight;
    eval('newsLayer'+styleRef+'.clip = newsLayer.clipRef');
    eval('newsLayer'+styleRef+'.top= newsLayer.stTop '); 
    newsLayer.pos = 0;
    if (NS) newsLayer.src=pUrl;
    else someFrame.src=pUrl;
    eval(layerRef+'.Layer3'+styleRef+'.visibility= "visible";');
};

// written by Alex fedoriv       
function scrollNews(dir) {
var incrmnt=0;
   newsLayer.viewHeight =(NS)? newsLayer.document.height : document.all.someFrame.height;
   if (dir == 'DOWN') {
   if (newsLayer.pos<newsLayer.viewHeight-newsLayer.clipHeight)  {
  newsLayer.pos+=newsLayer.scrollSpeed;
     if (NS) {
      newsLayer.clip.top+=newsLayer.scrollSpeed;
      newsLayer.clip.bottom+=newsLayer.scrollSpeed;
        newsLayer.top-=newsLayer.scrollSpeed;

       } else {
 
       var newPos = newsLayer.clipHeight+newsLayer.pos ;
       eval('document.all.newsDiv.style.clip = "rect ('+newsLayer.pos+'px  258px ' + newPos + 'px 0)" ' );
       var myTop= parseInt(document.all.newsDiv.style.top);
     myTop-= newsLayer.scrollSpeed;
      document.all.newsDiv.style.top = myTop ;
     incrmnt = parseInt(document.all.someFrame.height);
     incrmnt+= newsLayer.scrollSpeed;
     document.all.someFrame.height =incrmnt; 
     };
    }   
   }else {
     if (newsLayer.pos>0)  {
  newsLayer.pos-=newsLayer.scrollSpeed;
     if (NS) {
      newsLayer.clip.top-=newsLayer.scrollSpeed;
      newsLayer.clip.bottom-=newsLayer.scrollSpeed;
        newsLayer.top+=newsLayer.scrollSpeed;

       } else {
       var newPos = newsLayer.clipHeight+newsLayer.pos ;
       eval('document.all.newsDiv.style.clip = "rect ('+newsLayer.pos+'px  258px ' + newPos + 'px 0)" ' );
       var myTop= parseInt(newsLayer.style.top);
     myTop+= newsLayer.scrollSpeed;
     newsLayer.style.top = myTop ;
     incrmnt = parseInt(document.all.someFrame.height);
     incrmnt-= newsLayer.scrollSpeed;
     document.all.someFrame.height =incrmnt; 

     };
    }   
   }
};
// written by Alex fedoriv       
function move() {
for(var i=0;i<lyr.length;i++){
    if (pos[i]<=swidth) {
      lyr[i].clip.left+=speed[i];
      lyr[i].clip.right+=speed[i];
      lyr[i].left-=speed[i];
    pos[i]+=speed[i] ;

  } 
    else {
        pos[i] = 0;
      lyr[i].clip.left=bClipLeft;
        lyr[i].clip.right=bClipRight;
        lyr[i].left=startPos;
    }
  }
}   



function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr;
    for(i=0; a && i < a.length && (x=a[i])&&x.oSrc; i++)  {
    x.src=x.oSrc;
  }  
}

function MM_preloadImages() { //v3.0
  var d=document; 
  if(d.images){ 
    if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; 
  for(i=0; i<a.length; i++)
       if (a[i].indexOf("#")!=0){ 
        d.MM_p[j]=new Image; 
      d.MM_p[j++].src=a[i];
     }
  }
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; 
  document.MM_sr=new Array;
   for(i=0;i<(a.length-2);i+=3)
        if ((x=MM_findObj(a[i]))!=null){
        document.MM_sr[j++]=x; 
      if(!x.oSrc) x.oSrc=x.src; 
      x.src=a[i+2];
    }
}

function isDragable(hdr){
   var rVal = false ;
   for(var i=0 ;i< headers.length; i++) 
      if (hdr == headers[i]) {
      rVal = true};
        return rVal ;  
}
function MM_findObj(n, d) { //v4.0
  var p,i,x;  if(!d) d=document; 
  if((p=n.indexOf("?"))>0&&parent.frames.length) {
      d=parent.frames[n.substring(p+1)].document; 
    n=n.substring(0,p);
  }
  if(!(x=d[n])&&d.all){
   x=d.all[n]; 
  } 
  for (i=0;!x&&i<d.forms.length;i++){
    x=d.forms[i][n];
  }   
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) {
     x=MM_findObj(n,d.layers[i].document);
  }  
  if(!x && document.getElementById) {
    x=document.getElementById(n);
  } 
  return x;
}

//-------------------------------------

// optimized for Netscape browser by Alex Fedoriv
function MM_dragLayer(objName,x,hL,hT,hW,hH,toFront,dropBack,cU,cD,cL,cR,targL,targT,tol,dropJS,et,dragJS) { //v3.0
  //Copyright 1998 Macromedia, Inc. All rights reserved.
  var i,j,aLayer,retVal,curDrag=null,curLeft, curTop;
  if (!document.all && !document.layers) return false;
  retVal = true;
  if(!NS && event) event.returnValue = true;
  if (MM_dragLayer.arguments.length > 1) {
    curDrag = MM_findObj(objName);
     if (!curDrag) return false;
     if (!document.allLayers) { 
       document.allLayers = new Array();
       with (document) 
         if (NS) { 
           for (i=0; i<layers.length; i++) { 
         allLayers[i]=layers[i];
       } 
           for (i=0; i<allLayers.length; i++) {
             if (allLayers[i].document && allLayers[i].document.layers){
               with (allLayers[i].document){
                 for (j=0; j<layers.length; j++) allLayers[allLayers.length]=layers[j];
         }   
       }  
       }   
         }
         else
           for (i=0;i<all.length;i++){
             if (all[i].style&&all[i].style.position){
         allLayers[allLayers.length]=all[i];
       }  
       } 
     }
    curDrag.MM_dragOk=true;
    curDrag.MM_targL=targL;
    curDrag.MM_targT=targT;
    curDrag.MM_tol=Math.pow(tol,2); 
    curDrag.MM_hLeft=hL;
    curDrag.MM_hTop=hT;
    curDrag.MM_hWidth=hW;
    curDrag.MM_hHeight=hH;
    curDrag.MM_toFront=toFront;
    curDrag.MM_dropBack=dropBack;
    curDrag.MM_dropJS=dropJS;
    curDrag.MM_everyTime=et; 
  curDrag.MM_dragJS=dragJS;
    curDrag.MM_oldZ = (NS)?curDrag.zIndex:curDrag.style.zIndex;
    curLeft= (NS)?curDrag.left:curDrag.style.pixelLeft;
    curDrag.MM_startL = curLeft;
    curTop = (NS)?curDrag.top:curDrag.style.pixelTop;
    curDrag.MM_startT = curTop;
    curDrag.MM_bL=(cL<0)?null:curLeft-cL;
    curDrag.MM_bT=(cU<0)?null:curTop -cU;
    curDrag.MM_bR=(cR<0)?null:curLeft+cR;
    curDrag.MM_bB=(cD<0)?null:curTop +cD;
    curDrag.MM_LEFTRIGHT=0;
    curDrag.MM_UPDOWN=0;
    curDrag.MM_SNAPPED=false; //use in your JS!
  document.onmousedown = MM_dragLayer;
    document.onmouseup = MM_dragLayer;
    if (NS) document.captureEvents(Event.MOUSEDOWN|Event.MOUSEUP);
  }
  else
  {
    var theEvent = ((NS)?objName.type:event.type);
    if (theEvent == 'mousedown') {
    notDrag = false;
     var wndHdr = (NS)?objName.target.name :event.srcElement.name ;
     if (wndHdr == 'Close' ) {eval(layerRef+'.Layer3'+styleRef+'.visibility= "hidden";')}
   if (isDragable( wndHdr) ) {
      var mouseX = (NS)?objName.pageX : event.clientX + document.body.scrollLeft;
          var mouseY = (NS)?objName.pageY : event.clientY + document.body.scrollTop;
    var maxDragZ=null;
      document.MM_maxZ = 0;
      for (i=0; i<document.allLayers.length; i++) {
        aLayer = document.allLayers[i];
        var aLayerZ = (NS)?aLayer.zIndex:aLayer.style.zIndex;
        if (aLayerZ > document.MM_maxZ) document.MM_maxZ = aLayerZ;
        var isVisible = (((NS)?aLayer.visibility:aLayer.style.visibility).indexOf('hid') == -1);
        if (aLayer.MM_dragOk != null && isVisible)
          with (aLayer) {
            var parentL=0; var parentT=0;
            if (!NS) { 
              parentLayer = aLayer.parentElement;
              while (parentLayer != null && parentLayer.style.position) {
                   parentL += parentLayer.offsetLeft;
                   parentT += parentLayer.offsetTop;
                   parentLayer = parentLayer.parentElement;
              }
            }
            var tmpX=mouseX-(((NS)?pageX:style.pixelLeft+parentL)+MM_hLeft);
            var tmpY=mouseY-(((NS)?pageY:style.pixelTop +parentT)+MM_hTop);
            var tmpW = MM_hWidth;
            if (tmpW <= 0) tmpW += ((NS)?clip.width :offsetWidth);
            var tmpH = MM_hHeight;
            if (tmpH <= 0) tmpH += ((NS)?clip.height:offsetHeight);
            if ((0 <= tmpX && tmpX < tmpW && 0 <= tmpY && tmpY < tmpH) && (maxDragZ == null
              || maxDragZ <= aLayerZ)) {
              curDrag = aLayer; maxDragZ = aLayerZ;
            }
           }
      }
    }
      if (curDrag) {
        document.onmousemove = MM_dragLayer;
        if (NS) document.captureEvents(Event.MOUSEMOVE);
        curLeft = (NS)?curDrag.left:curDrag.style.pixelLeft;
        curTop = (NS)?curDrag.top:curDrag.style.pixelTop;
        MM_oldX = mouseX - curLeft;
        MM_oldY = mouseY - curTop;
        document.MM_curDrag = curDrag;
        curDrag.MM_SNAPPED=false;
        if(curDrag.MM_toFront) {
          eval('curDrag.'+((NS)?'':'style.')+'zIndex=document.MM_maxZ+1');
          if (!curDrag.MM_dropBack) document.MM_maxZ++;
        }
        retVal = false;
        if(!NS) event.returnValue = false;
      } 
    } else if (theEvent == 'mousemove') {
      if (document.MM_curDrag) with (document.MM_curDrag) {
        var mouseX = (NS)?objName.pageX : event.clientX + document.body.scrollLeft;
        var mouseY = (NS)?objName.pageY : event.clientY + document.body.scrollTop;
        newLeft = mouseX-MM_oldX;
    if(newLeft <0){newLeft=0;}
        newTop  = mouseY-MM_oldY;
    if(newTop<0){newTop=0;};
        if (MM_bL!=null) newLeft = Math.max(newLeft,MM_bL);
        if (MM_bR!=null) newLeft = Math.min(newLeft,MM_bR);
        if (MM_bT!=null) newTop  = Math.max(newTop ,MM_bT);
        if (MM_bB!=null) newTop  = Math.min(newTop ,MM_bB);
        MM_LEFTRIGHT = newLeft-MM_startL;
        MM_UPDOWN = newTop-MM_startT;
        if (NS) {
      left = newLeft;
          top = newTop;
        }
        else {
          style.pixelLeft = newLeft;
          style.pixelTop = newTop;
        }
        if (MM_dragJS) eval(MM_dragJS);
        retVal = false;
        if(!NS) event.returnValue = false;
      } } else
       if (theEvent == 'mouseup') {
     notDrag = true ;
        document.onmousemove = null;
        if (NS){ document.releaseEvents(Event.MOUSEMOVE);
                 document.captureEvents(Event.MOUSEDOWN); //for mac NS
               };
        if (document.MM_curDrag) 
          with (document.MM_curDrag) {
            if (typeof MM_targL =='number' && typeof MM_targT == 'number' &&
              (Math.pow(MM_targL-((NS)?left:style.pixelLeft),2)+
                 Math.pow(MM_targT-((NS)?top:style.pixelTop),2))<=MM_tol) {
                 if (NS) {
                   left = MM_targL; 
                   top = MM_targT;
                 }
                 else {
                  style.pixelLeft = MM_targL;
                  style.pixelTop = MM_targT;
                 }
                 MM_SNAPPED = true;
                 MM_LEFTRIGHT = MM_startL-MM_targL;
                 MM_UPDOWN = MM_startT-MM_targT;
            }
            if (MM_everyTime || MM_SNAPPED) eval(MM_dropJS);
            if(MM_dropBack) {
              if (NS){
           zIndex = MM_oldZ;
               }   
              else style.zIndex = MM_oldZ;
            }
            retVal = false;
            if(!NS) event.returnValue = false;
          }
          document.MM_curDrag = null;
         if ( needBulbs) { 
            if (NS) {document.captureEvents(Event.MOUSEMOVE);}
          document.onmousemove = processMouse;
    }
        }
        if (NS) document.routeEvent(objName);
        }
   return retVal;
}



var NS = (document.layers)?true:false; //leshik was here;
