var factor;
var resize_count = 0;

var resize_semaphor = false; // true <=> settings() is executing
var resize_semaphor_releasedelay = 500;

function init()
{
//  my_alert("init: begin");
 if(!is_ns4)
 {
  resize_semaphor = false;
  factor = 1;
  window.name = "cmpg_main_window" ;
  fix_bugs();
  settings();
  window.onresize = resizeHandler;
  init_menu();
//  randomize_index_pictures_settimer(false);
  randomize_index_pictures_removetimer(false);
  handle_links_to_iframe();
  
//  if(is_ie6up) alert("document.compatMode = " + document.compatMode);
 }
//  my_alert("init: end");
}

function uninit()
{
//  my_alert("resize_count = " + resize_count);
  uninit_menu();
  resize_count = 0;
  randomize_index_pictures_removetimer(false);
}

function settings()
{
//  my_alert("settings: begin (resize_semaphor=" + resize_semaphor + ")");
  
//   my_alert("window Width" + "=" + get_window_width() + ", window height" + "=" + get_window_height());
//   my_alert("agt: " + agt + ", JS: " + is_js);

 // fix size of pictures if screen too small
  min_window_width  = 870;
  min_window_height = 790;
  
  if (get_screen_height() < 600)
    resize_pictures(0.7);
  else if (get_screen_height() < 700)
    resize_pictures(0.8);
  else if (get_window_width() < min_window_width)
    resize_pictures(get_window_width()/min_window_width*0.85);
  else
    resize_pictures(1.0);

 // fix height of menu and of iframes
  
  var correction_menu = 0 - (0 * 2);
  
  if (get_screen_height() < 700)
    var correction_iframe = 200;
  else
    var correction_iframe = 5;
  
  var m = document.getElementById("myMenu");
  var f = document.getElementById("myIframe");

  var menu_pos   = getTotalOffset(m);
  var iframe_pos = getTotalOffset(f);
  
//  alert("menu_pos=" + menu_pos + ", iframe_pos=" + iframe_pos);
  
  setHeight(m, get_window_height() - menu_pos   + correction_menu);
  setHeight(f, get_window_height() - iframe_pos + correction_iframe);

  if(document.body.scrollHeight <= get_window_height())
  {
    set_scroll_bar("no");
  }

  correct_buffer();

//  my_alert("settings: end");
}

function resize_pictures()
{
  if (arguments[0] != factor) // else, nothing to do
  {
    var pictures = document.getElementsByName("JS_RESIZABLE_PICTURE");
    old_factor = factor;
    factor = arguments[0];
    
    my_alert("get_window_width()=" + get_window_width() + ", min_window_width=" + min_window_width + 
          ", resize: x " + factor + " / " + old_factor + " = " + factor / old_factor);
    
    for (var i=0; i<pictures.length; i++)
    {
      var newwidth = get_width(pictures[i]) * factor / old_factor;
      
      my_alert("resize pic id=" +  pictures[i].id + 
               ": old width=" + get_width(pictures[i]) + 
               ", new width=" + newwidth);

      set_width(pictures[i], newwidth);
      my_alert("resized pic id=" +  pictures[i].id + 
               ": current width=" + get_width(pictures[i]));
      
    }
  }
}

function set_resize_semaphor()
{
  resize_semaphor = true;
}

function release_resize_semaphor()
{
  resize_semaphor = false;
}

function resizeHandler(e)
{
  my_alert("resize handler: begin (resize_semaphor=" + resize_semaphor + ")");
  resize_count++;
  
  if (resize_semaphor)
   return false; // cancels the event
  else
  {
   set_resize_semaphor();
   settings();
   window.setTimeout("release_resize_semaphor()", resize_semaphor_releasedelay);
  }
  
  propagate_event(e);
}



