var arrImageNames=['', 'bsp1.jpg', 'bsp2.jpg', 'bsp3.jpg', 'bsp4.jpg', 'bsp5.jpg'];
var strImagesPath="/pics/banner_animation/";
var arrImagesBA=[['0: ImageObject', '1: x-coord', '2: y-coord', '3: opacity']], intActImage=1;
var arrEffects=['FUNCTION-NAME', fnSleep, fnShowRandomImage, fnSleep], intActEffect=2;
var ptrInterval;

var intImageWidth=819, intImageHeight=210;
var intSceneWidth=615, intSceneHeight=206;


function fnAnimationInterval () {

  if (!intActEffect) {
    intActEffect=Math.floor (Math.random ()*(arrEffects.length-1))+1;
    fnDebugOut ('Neuer Effekt:'+intActEffect);
  }
  arrEffects[intActEffect]();

}

var intNextImage;
function fnShowRandomImage () {

  if (!intNextImage) {
    intNextImage=intActImage+1;
    if (intNextImage==4) intNextImage=1;
    arrImagesBA[intNextImage][0].style.zIndex=10;
    fnDebugOut ('ShowRandomImage: '+intNextImage);
  }

  arrImagesBA[intNextImage][3]+=0.01;
  fnSetOpacity (arrImagesBA[intNextImage][0], arrImagesBA[intNextImage][3]);

  if (arrImagesBA[intNextImage][3]>=1) {
    arrImagesBA[intActImage][3]=0;
    fnSetOpacity (arrImagesBA[intActImage][0], arrImagesBA[intActImage][3]);
    arrImagesBA[intNextImage][0].style.zIndex=0;
    intActImage=intNextImage;
    intNextImage=intActEffect=0;
  }
}

var intScrollToX=0, intScrollToY=0, intScrollDeltaX, intScrollDeltaY;
function fnScrollImage () {

  var intSteps=400;

  if (!intActImage) {
    intActImage=Math.floor (Math.random ()*(arrImagesBA.length-2))+1;
    arrImagesBA[intActImage][0].style.visibility='visible';
  }

  if (!intScrollToX && !intScrollToY) {
    intScrollToX=Math.floor (Math.random ()*(intSceneWidth-intImageWidth));
    intScrollToY=Math.floor (Math.random ()*(intSceneHeight-intImageHeight));

    intScrollDeltaX=(arrImagesBA[intActImage][1]-intScrollToX)/intSteps;
    intScrollDeltaY=(arrImagesBA[intActImage][2]-intScrollToY)/intSteps;

    fnDebugOut (intScrollToX+', '+intScrollToY+'<br>'+intScrollDeltaX+', '+intScrollDeltaY);
  }

  arrImagesBA[intActImage][1]=arrImagesBA[intActImage][1]-intScrollDeltaX;
  arrImagesBA[intActImage][2]=arrImagesBA[intActImage][2]-intScrollDeltaY;

  arrImagesBA[intActImage][0].style.left=arrImagesBA[intActImage][1]+'px';
  arrImagesBA[intActImage][0].style.top=arrImagesBA[intActImage][2]+'px';

  if (arrImagesBA[intActImage][1]<=intScrollToX ) {
    intScrollDeltaX=intScrollDeltaY=intScrollToX=intScrollToY=intActEffect=0;
  }
}

var intSleepSteps=0
function fnSleep () {

  if (!intSleepSteps) {
    intSleepSteps=Math.floor (Math.random()*50)+1;

  }

  intSleepSteps--;
  fnDebugOut ('Sleep: '+intSleepSteps);

  if (!intSleepSteps) intActEffect=0;

}

function fnDebugOut (paramString) {
//  document.getElementById ('debug').innerHTML=document.getElementById ('debug').innerHTML+'<br><br>'+paramString;
}

function fnSetOpacity(inObject, inValue) {



  if (typeof inObject.style.filter == "string") {
    inObject.style.filter = "alpha( opacity = " + inValue * 100 + ")";
  fnDebugOut (inValue);
  } else  {
    inObject.style.MozOpacity = inValue;
  }
}

function fnInit (paramRegion) {

  for (var dummy=1; dummy<arrImageNames.length; dummy++) {
    var objImageDummy = document.createElement('img');
    objImageDummy.id='animation_pic_'+dummy;
    objImageDummy.className='animation_pic'
    objImageDummy.src='/'+paramRegion+strImagesPath+arrImageNames[dummy];
    arrImagesBA.push ([objImageDummy, 0, 0, 0]);
    document.getElementById("animation").appendChild(objImageDummy);
    fnSetOpacity (objImageDummy, 0);
  }

  if (typeof fnInitIdgBox=='function') fnInitIdgBox ();



  ptrInterval=window.setInterval ("fnAnimationInterval ()", 50);
//  fnShowRandomImage ();

}
