var $imgcon=null;
var images=null;
var tempimage=null;
var $image=new Array(2);
var iCurrentImage=-1;
var iCurrentVisible=1;
var bw;
var bh;

$(document).ready(function()
{
  //Container vorhanden?
  $imgcon=$('div[id^=imgcontainer]');
  if($imgcon[0]==null) return;
  //ID extrahieren
  var iTemp=$imgcon.attr('id').substr(12);
  var iID=parseInt(iTemp.substring(0,4));
  bFill=(parseInt(iTemp.substr(4))==1);
  if((isNaN(iID))||(iID<1)) return;
  //Rahmengr��e
  bh=parseInt($imgcon.get(0).style.height);
  bw=parseInt($imgcon.get(0).style.width);
  //bw=parseInt($imgcon.css('width'));
  //bh=parseInt($imgcon.css('height'));
  //Container vorbereiten
  $imgcon.empty();
  $imgcon.css({'position':'relative', 'overflow':'hidden'});
  $image[0]=$(document.createElement('img')).appendTo($imgcon).hide().css({'position':'absolute'});
  $image[1]=$(document.createElement('img')).appendTo($imgcon).hide().css({'position':'absolute'});  
  //Bilderliste laden
  $.getJSON('/service/getmediabyid.aspx', {'id':iID, 'rnd':1, 'max':0, 'folder':0, 'nochache': Math.random(), 'fields':'f'}, imagesLoaded);  
});

function makeImagePath(s)
{
  s='/umbraco/imagegen.ashx?image=/media/'+s+'.jpg&width='+bw+'&height='+bh+'&constrain=true&compression=90';
  return s;
}

function imagesLoaded(data)
{
  //Liste sichern
  images=data;  
  //Bilder vorladen
  $.each(images, function(elem){var i=new Image; i.src=makeImagePath(elem.f);});
  //Erstes Bild zeigen
  if(images.length>0) showNextImage();
}

function showNextImage()
{
  //N�chste bild
  iCurrentImage++;
  if(iCurrentImage>=images.length) iCurrentImage=0;
  //Bild laden
  tempimage=new Image();
  tempimage.src=makeImagePath(images[iCurrentImage].f);
  //Toggle
  iCurrentVisible=1-iCurrentVisible;
  //Einblenden start
  fadeImages();
}

function fadeImages()
{
  //Geladen
  if(!tempimage.complete) {setTimeout(fadeImages, 50); return;}
  //Umblenden
  $image[iCurrentVisible][0].src=tempimage.src;
  sizeAndPosition($image[iCurrentVisible]);
  $image[iCurrentVisible].fadeIn(1500, function(){setTimeout(showNextImage, 2500);});
  $image[1-iCurrentVisible].fadeOut(1000);
}

function sizeAndPosition($img)
{
  //Bildgr��e
  var iw=parseInt(tempimage.width);
  var ih=parseInt(tempimage.height);
  //Einpassen
  if(!bFill)
  {
    var f=bw/iw;
    var f2=bh/ih;
    if(f>f2) f=f2;
    iw*=f; 
    ih*=f;
  } 
  else
  {
    var f=bw/iw;
    var f2=bh/ih;
    if(f<f2) f=f2;
    iw*=f; 
    ih*=f;
  }
  //Bildgr��e setzen
  $img.attr('width', parseInt(iw)).attr('height', parseInt(ih));
  //Position
  $img.css({'left':parseInt(bw/2)+'px', 'top':parseInt(bh/2)+'px', 'margin-left': -parseInt(iw/2)+'px', 'margin-top': -parseInt(ih/2)+'px'});
}