
function ShowFlash( url, width, height ){
  document.write( '<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="' + width + '" height="' + height + '">' );
  document.write( '<param name="allowScriptAccess" value="sameDomain" />' );
  document.write( '<param name="movie" value="' + url + '">' );
  document.write( '<param name="quality" value="high">' );
  document.write( '<PARAM NAME=wmode VALUE=transparent>' );
  document.write( '<embed src="' + url + '" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="' + width + '" height="' + height + '" wmode="transparent" ></embed>' );
  document.write( '</object>');
}

function SwapImage( Project, NewKey ){
  if ( ProjectAfbeeldingen[ Project ] ){
    FindImageHolder( Project );
    if ( ProjectAfbeeldingen[ Project ].h ){

      ProjectAfbeeldingen[ Project ].h.style.backgroundImage = 'url(' + absPath + 'upload/Projecten/' + Project + '/' +  ProjectAfbeeldingen[ Project ].a[ NewKey ].m + ')';

      ProjectAfbeeldingen[ Project ].c = NewKey;
    }
  }
}

function OpenImage( Project, Key ){
  if ( ProjectAfbeeldingen[ Project ] ){
    Key = Key ? Key : ProjectAfbeeldingen[ Project ].c;

    if ( ! RegisterDarkLayer() ) {
      return;
    }

    if ( ! FindImageHolder( Project ) ) {
      return;
    }

    if ( ! RegisterWindow( ProjectAfbeeldingen[ Project ].h ) ) {
      return;
    }

    SetAfbeeldingByKey( Project, Key );

    PopUpWindow.Tekst.innerHTML = document.getElementById( 'ap' + Project ).innerHTML;

    ProjectAfbeeldingen[ Project ].c = Key;

    PopUpWindow.N.p = Project;
    PopUpWindow.P.p = Project;

    UpdateNavigateKeys( Project );

  }
  return true;
}

function RegisterDarkLayer(){
  if ( PopUpWindow.DarkLayer == null ){
    PopUpWindow.DarkLayer = document.createElement( 'div' );
    if ( ! PopUpWindow.DarkLayer ){
      return;
    }
    PopUpWindow.DarkLayer.className = 'DarkLayer';
    document.getElementsByTagName( 'body' ).item( 0 ).appendChild( PopUpWindow.DarkLayer );
  }

  PopUpWindow.DarkLayer.style.height = GetMaxHeight() + 'px';
  PopUpWindow.DarkLayer.style.display = 'block';

  return true;
}

var PopUpWindow = {Holder:null,Afbeelding:null,DarkLayer:null,Tekst:null,N:null,P:null,PrevItem:null,NextItem:null};
function RegisterWindow( Holder ){
  var Body = document.getElementsByTagName( 'body' ).item( 0 );
  var HTML = document.getElementsByTagName( 'html' ).item( 0 );

  if ( ! Body || ! HTML ){ return false; }
  if ( PopUpWindow.Holder == null ){
    PopUpWindow.Holder = document.createElement( 'div' );
    if ( ! PopUpWindow.Holder ){
      return;
    }
    PopUpWindow.Holder.className = 'PopUpWindow';
    Body.appendChild( PopUpWindow.Holder );

    var aSluiten = document.createElement( 'a' );
    aSluiten.href = "javascript:void(CloseWindow())";
    aSluiten.className = 'Sluiten';
    aSluiten.appendChild( document.createTextNode('sluiten') );
    PopUpWindow.Holder.appendChild( aSluiten );

    var divContent = document.createElement( 'div' );
    divContent.className = 'PopUpContent';
    PopUpWindow.Holder.appendChild( divContent );

    PopUpWindow.Afbeelding = document.createElement( 'a' );
    PopUpWindow.Afbeelding.className = 'Afbeelding';
    PopUpWindow.Afbeelding.href = "javascript:void(CloseWindow())";
    divContent.appendChild( PopUpWindow.Afbeelding ); 

    PopUpWindow.Tekst = document.createElement( 'div' );
    PopUpWindow.Tekst.className = 'Tekst';
    divContent.appendChild( PopUpWindow.Tekst );

    PopUpWindow.N = document.createElement( 'a' );
    PopUpWindow.N.className = 'Next';
    PopUpWindow.N.href = "javascript:void(PopupWindowGoNext())";
    divContent.appendChild( PopUpWindow.N );

    PopUpWindow.P = document.createElement( 'a' );
    PopUpWindow.P.className = 'Prev';
    PopUpWindow.P.href = "javascript:void(PopupWindowGoPrev())";
    divContent.appendChild( PopUpWindow.P );

  }

  var Position = getPositionFrom( Holder );
  Top = HTML.offsetHeight / 2 + ( Body.scrollTop + HTML.scrollTop ) - 595 / 2;
 
  PopUpWindow.Holder.style.top = Top + 'px';
  PopUpWindow.Holder.style.display = 'block';

  return true;
}

function UpdateNavigateKeys( Project ){
  PopUpWindow.PrevItem = null;
  Found = false;
  PopUpWindow.NextItem = null;

  var Eerste = null;
  var Laatste = null;

  for( var i in ProjectAfbeeldingen[ Project ].a ){
    Eerste = Eerste ? Eerste : i;
    Laatste = i;

    if ( i == ProjectAfbeeldingen[ Project ].c ){
      Found = true;
    }

    if ( ! Found && ProjectAfbeeldingen[ Project ].c != i ){
      PopUpWindow.PrevItem = i;
    }
 
    if ( Found && ProjectAfbeeldingen[ Project ].c != i && PopUpWindow.NextItem == null ){
      PopUpWindow.NextItem = i;
    }
  }
  PopUpWindow.PrevItem = PopUpWindow.PrevItem ? PopUpWindow.PrevItem : Laatste;
  PopUpWindow.NextItem = PopUpWindow.NextItem ? PopUpWindow.NextItem : Eerste;
 
  PopUpWindow.P.style.display = PopUpWindow.PrevItem ? "block" : "none";
  PopUpWindow.N.style.display = PopUpWindow.NextItem ? "block" : "none";
  
}

function PopupWindowGoNext( Project ){
  Project = PopUpWindow.N.p;
  if ( PopUpWindow.NextItem ){ 
    SetAfbeeldingByKey( Project, PopUpWindow.NextItem );
    ProjectAfbeeldingen[ Project ].c = PopUpWindow.NextItem;
  }
  UpdateNavigateKeys( Project );
}

function PopupWindowGoPrev( Project ){
  Project = PopUpWindow.P.p;
  if ( PopUpWindow.PrevItem ){
    SetAfbeeldingByKey( Project, PopUpWindow.PrevItem );
    ProjectAfbeeldingen[ Project ].c = PopUpWindow.PrevItem;
  }
  UpdateNavigateKeys( Project );
}


function SetAfbeeldingByKey( Project, Key ){
  PopUpWindow.Afbeelding.style.backgroundImage = 'url(' + absPath + 'upload/Projecten/' + Project + '/' +  ProjectAfbeeldingen[ Project ].a[ Key ].g + ')';
}

function CloseWindow(){
  PopUpWindow.Holder.style.display = 'none';
  PopUpWindow.DarkLayer.style.display = 'none';
}

function FindImageHolder ( Project ){
  if ( ProjectAfbeeldingen[ Project ].h == null ){
    ProjectAfbeeldingen[ Project ].h = document.getElementById( 'ProjectMedium' + Project );
    return ProjectAfbeeldingen[ Project ].h != null;
  }
  return true;
}

function GetMaxHeight(){
  return Math.max( document.getElementsByTagName( 'body' ).item( 0 ).offsetHeight, document.getElementsByTagName( 'html' ).item( 0 ).offsetHeight );
}


function getPositionFrom(element) {
  var Pos = {top:0,left:0};
  var absoluteAncestor = false;

  while ( element.offsetParent ) {

    Pos.top += element.offsetTop - element.scrollTop;
    Pos.left += element.offsetLeft - element.scrollLeft;

    element = element.offsetParent;

    if ( element.nodeName.toLowerCase() != 'html' ) {
      if ( element.currentStyle ) {
        if (element.currentStyle[ 'position' ] == 'absolute')
          absoluteAncestor = true;
      } else {
        if ( window.getComputedStyle ){
          if ( document.defaultView.getComputedStyle(element,null).getPropertyValue( 'position' ) == 'absolute' ){
            absoluteAncestor = true;
          }
        }
      }
    }
  }

  if ( ! absoluteAncestor ){
    var Body = document.getElementsByTagName( 'BODY' ).item( 0 );
    Pos.top += Body.offsetTop;
    Pos.left += Body.offsetLeft;
  }

  return Pos;
}


