
// JavaScript Funktionen für dynamisches CSS Popup Fenster

function open_css_window( name, url, width, height, posX, posY, nojump, initialsrc ) {
  var win   = 'css_window_'+name;

  if( ! posX   ) posX   = 40;
  if( ! posY   ) posY   = 40;
    
  if( posX ) xLeft( win, posX );
  if( posY )  xTop( win, posY );

  clear_css_window( name, url, initialsrc );

  if( width  ) xWidth(win, width);
  if( height ) xHeight(win, height);

  xShow( win );

  if( ! nojump )
    location.href = '#css_window_target_' + name;
}

function open_css_window_visible( name, url, width, height, initialsrc ) {
    var win   = 'css_window_'+name;

    var objX;
    var objY;
    if( width  ) objX = width + 14;
    else objX = 640;
    if( height ) objY = height + 46;
    else objY = 680;

    var winX = window.pageXOffset || (document.documentElement.scrollLeft || document.body.scrollLeft);
    var winY = window.pageYOffset || (document.documentElement.scrollTop || document.body.scrollTop);

    var cpo = $(win).getOffsetParent().cumulativeOffset();
    var divX = cpo.left;    
    var divY = cpo.top;

    var innerX = window.innerWidth || (document.documentElement.clientWidth || document.body.clientWidth);
    var innerY = window.innerHeight || (document.documentElement.clientHeight || document.body.clientHeight);

    var posX = winX + innerX / 2 - objX / 2 - divX;
    var posY = winY + innerY / 2 - objY / 2 - divY;

    if(posX < ( divX-winX ) * -1 ) posX = ( divX-winX ) * -1 ;
    if(posY < ( divY-winY ) * -1 ) posY = ( divY-winY ) * -1;

    xLeft( win, posX );
     xTop( win, posY );

    clear_css_window( name, url, initialsrc );

    if( width  ) xWidth(win, width);
    if( height ) xHeight(win, height);
    
    $(win).show();

//    open_css_window( name, url, width, height, 0, posY, 1, initialsrc );
//    Effect.Appear($(win), {duration:0.3});
//    xShow(win);
}

function close_css_window_visible( name ) {
    var win        = 'css_window_' + name;
    $(win).hide();
//    Effect.Fade(win, {duration:0.3});
//    xHide( win );
    clear_css_window( name );
}

function close_css_window( name ) {
    var win        = 'css_window_' + name;
    clear_css_window( name );
    xHide( win );
}

function resize_css_window( name, width, height ) {
  var win   = 'css_window_' + name;
  var title = 'css_window_title_' + name;
  var iframe_id = 'css_window_iframe_' + name;
  var title_height = xHeight( title );
  
  xWidth(  win, width + 14 );
  xHeight( win, height + title_height + 14 );
//  xWidth(  iframe_id, width );
  xHeight( iframe_id, height + 10 );
}

function clear_css_window( name, url, initialsrc ) {
  var iframe_object = eval('css_window_iframe_' + name);
  if( iframe_object ) {
    if( ! initialsrc ) initialsrc = '<html><body bgcolor="white"></body></html>';
    iframe_object.document.open();
    iframe_object.document.write( initialsrc );
    iframe_object.document.close();
    if( url ) window.setTimeout(
       "css_window_iframe_" + name + ".document.location.href ='" + url + "'" 
      ,50 );
  }
}

