var IMAGES=new Array(4);
IMAGES[0]="images/rot-1.jpg";
IMAGES[1]="images/rot-2.jpg";
IMAGES[2]="images/rot-3.jpg";
IMAGES[3]="images/rot-4.jpg";
var IMAGEID=0;
var IMAGEOBJ=null;
function nextImage(){
   //alert(target_id);
//	var log = GetID(target_id); 
	//make sure we always load a valid image or the first in the list
	if (IMAGEID > 0){
		IMAGEID = (IMAGEID < IMAGES.length) ? IMAGEID : 0;
	}
	
	//log.innerHTML = '<img src="' + IMAGES[IMAGEID] + '" />'  ;
        IMAGEOBJ.innerHTML = '<img src="' + IMAGES[IMAGEID] + '" />'  ;
	IMAGEID += 1;
	return;
}

function startRotation(id){
   IMAGEOBJ = GetID(id);
   var preload_image_object = new Image();
   var i;
   for (i = 0; i < IMAGES.length ; i++){    
      preload_image_object.src = IMAGES[i];
    }  
}



var mqr = [];
var mqAry1 = [];
var img_id = 0;
for (i=0; i<25; i++){
   img_id = i + 1;
   mqAry1[i] = "marquee/t" + img_id + ".jpg";
   //alert(mqAry1[i]);
}

var runTime = null;

function GetID(id){
    var elem;
    if( document.getElementById ) // this is the way the standards work
        elem = document.getElementById(id);
    else if( document.all ) // this is the way old msie versions work
        elem = document.all[id];
    else if( document.layers ) // this is the way nn4 works
        elem = document.layers[id];
    return elem;
}
function startMarquee(id) {
   for(var j, x, i = mqAry1.length; i; j = parseInt(Math.random() * i), x = mqAry1[--i], mqAry1[i] = mqAry1[j], mqAry1[j] = x);
   //var obj = GetID(id);
   //obj.innerHTML = "";
   //if (mqr.length){
      //clearTimeout(mqr[0].TO);
     // mqr = [];
   //}
   if (runTime != null){
      //alert("Stopping timeout " + runTime);
      clearTimeout(runTime);
      clearTimeout(mqr[0].TO);
      mqr = []; 
   }
   //new mq(id,mqAry1,210);
   new mq(id,mqAry1,210);
   runTime = setTimeout("mqRotate()",1); //(mqr); // must come last
}

function preloader() 
{
     // counter
     var i = 0;
     // create object
     imageObj = new Image();
     // start preloading
     for(i=0; i<=mqAry1.length; i++) 
     {
          imageObj.src=images[i];
     }
} 
//window.onload = preloader;
//var mqr = [];
function mq(id,ary,wid){
    this.mqo=document.getElementById(id);
    var heit = this.mqo.style.height;
    //this.mqo.onmouseout=function() {mqRotate(mqr);};
    //this.mqo.onmouseover=function() {clearTimeout(mqr[0].TO);};
    this.mqo.ary=[];
    var maxw = ary.length;
    for (var i=0;i<maxw;i++){
        this.mqo.ary[i]=document.createElement('img');
        this.mqo.ary[i].src=ary[i];
        this.mqo.ary[i].alt="image number " + i + " - " + ary[i];
        this.mqo.ary[i].style.position = 'absolute';
        this.mqo.ary[i].style.left = (wid*i)+'px';
        this.mqo.ary[i].style.width = wid+'px';
        this.mqo.ary[i].style.height = heit;
        this.mqo.appendChild(this.mqo.ary[i]);
    } mqr.push(this.mqo);
//alert("marquee is " + this.mqo.ary.length + " lonq");

}
function mqRotate(){
   //var speed = 10;
   var step = 10;  //how big is each shift, default 10px - not implemented
   var speed = 30;  //time betewwn shifts - bigger number slows it down
   if (!mqr) return; 
   for (var j=mqr.length - 1; j > -1; j--) {
      maxa = mqr[j].ary.length;
      for (var i=0;i<maxa;i++){
         var x = mqr[j].ary[i].style;
         x.left=(parseInt(x.left,10)-1)+'px';}
         var y = mqr[j].ary[0].style;
         if (parseInt(y.left,10)+parseInt(y.width,10)<0) {
            var z = mqr[j].ary.shift();
            z.style.left = (parseInt(z.style.left) + parseInt(z.style.width)*maxa) + 'px'; mqr[j].ary.push(z);
         }
      }
      mqr[0].TO=setTimeout('mqRotate(mqr)',speed);
}
function mqRotateR(mqr){
   if (!mqr) return;
   for (var j=mqr.length - 1; j > -1; j--) {
      maxa = mqr[j].ary.length;
      for (var i=0;i<maxa;i++){
         var x = mqr[j].ary[i].style;
         x.left=(parseInt(x.left,10)-1)+'px';
      }
      var y = mqr[j].ary[0].style;
      if (parseInt(y.left,10)+parseInt(y.width,10)<0) {
         var z = mqr[j].ary.shift();
         z.style.left = (parseInt(z.style.left) + parseInt(z.style.width)*maxa) + 'px'; mqr[j].ary.push(z);
      }
   }
   mqr[0].TO=setTimeout('mqRotate(mqr)',10);
}
