
var div_name    = new Array(); // array of divs
var div_width   = new Array(); // array of widths
var div_height  = new Array(); // array of heights
var div_xpos    = new Array(); // array of left positions
var div_ypos    = new Array(); // array of top positions

function get_sizes()
{
  var w = 0;
  var h = 0;

  if (typeof(window.innerWidth) == 'number')
  {
    // Non-IE
    w = window.innerWidth;
    h = window.innerHeight;
  }
  else if (document.documentElement &&
    (document.documentElement.clientWidth ||
     document.documentElement.clientHeight))
  {
    // IE 6+ in 'standards compliant mode'
    w = document.documentElement.clientWidth;
    h = document.documentElement.clientHeight;
  }
  else if (document.body &&
    (document.body.clientWidth || document.body.clientHeight))
  {
    // IE 4 compatible
    w = document.body.clientWidth;
    h = document.body.clientHeight;
  }
  return [w, h];
}

function set_sizes(gap_x, gap_y)
{
  var i = 0; // iterator
  var x = new Array(); // div x pos
  var y = new Array(); // div y pos
  var w = new Array(); // div width
  var h = new Array(); // div height
  var px = 0.0; // previous x
  var py = 0.0; // previous x

  if (div_name == undefined)
  {
//  alert("divs undefined");
    return;
  }

  var si = get_sizes()
  var wi = 0.01 * si[0]; // window whidth (per cent)
  var hi = 0.01 * si[1]; // window height (per cent)

  var wa = si[0];
  var ha = si[1];

  var dx = 2.1 * gap_x;
  var dy = 2.1 * gap_y;

  n = div_name.length;

  for (i = 0; i < n; i++)
  {
    if (document.getElementById(div_name[i]) != 'undefined')
    {
      x[i] = wi * div_xpos[i];
      y[i] = hi * div_ypos[i];
      w[i] = wi * div_width[i];
      h[i] = hi * div_height[i];

      x[i] = Math.ceil (gap_x * Math.ceil (x[i] / gap_x));
      y[i] = Math.ceil (gap_y * Math.ceil (y[i] / gap_y));
      w[i] = Math.floor(gap_x * Math.floor(w[i] / gap_x));
      h[i] = Math.floor(gap_y * Math.floor(h[i] / gap_y));

      // left edge 
      if (x[i] < gap_x)
        x[i] = gap_x;

      // top edge 
      if (y[i] < gap_x)
        y[i] = gap_y;
    
      // right edge 
      if (Math.abs(wa-(x[i]+w[i])) < 4*gap_x)
        w[i] = wa-x[i]-gap_x;

      // bottom edge 
      if (Math.abs(ha-(y[i]+h[i])) < 4*gap_y)
        h[i] = ha-y[i]-gap_y;
    }
  }

  for (i = 0; i < n-1; i++)
  {
    for (j = 0; j < n-1; j++)
    {
      if (j != i)
      {
        if (Math.abs(x[i]+w[i]-x[j]) < dx)
          w[i] = x[j]-x[i]-gap_x;
        if (Math.abs(y[i]+h[i]-y[j]) < dx)
          h[i] = y[j]-y[i]-gap_y;
      }
    }
  }

  for (i = 0; i < n; i++)
  {
    if (document.getElementById(div_name[i]) != undefined)
    {
      if (w[i] < 0)
        w[i] = 1;
      if (h[i] < 0)
        h[i] = 1;
      document.getElementById(div_name[i]).style.position = "absolute";
      document.getElementById(div_name[i]).style.left     = x[i]+"px";
      document.getElementById(div_name[i]).style.top      = y[i]+"px";
      document.getElementById(div_name[i]).style.width    = w[i]+"px";
      document.getElementById(div_name[i]).style.height   = h[i]+"px";
    }
  }
}

function preview(nr)
{
  var tx = title;

  if (vt == undefined)
    return;

  return;

  if (document.all) // ms
  {
    vt.innerHTML = tx;
  }
  else
  {
    rng = document.createRange();
    el  = document.getElementById('vt');
    rng.setStartBefore(el);
    htmlFrag = rng.createContextualFragment(tx);
    while (el.hasChildNodes())
      el.removeChild(el.lastChild);
    el.appendChild(htmlFrag);
  }
}

function next()
{
//alert("next");
  window.document.first.lng.value = "pl";
  window.document.forms['first'].submit();
}

function prev()
{
//alert("prev");
  window.document.first.lng.value = "en";
  window.document.forms['first'].submit();
}


function doclick(ev)
{
  var ar = get_sizes();
  var md = ar[0]/2;

  if (ev.clientX > md)
    next();
  else
    prev();
}

// for google maps

var map = null;
var geocoder = null;

// 'G_HYBRID_MAP';
// 'G_SATELLITE_MAP';

function load_map() // the main google maps function
{
  adres='ul. Kamienna 3, Kamienica Krolewska';
  if (GBrowserIsCompatible())
  {
    map = new GMap2(document.getElementById("map"));
    map.addControl(new GLargeMapControl());
    map.addControl(new GMapTypeControl());
    mwh();
    geocoder = new GClientGeocoder();
    showAddress(adres + " PL");
  }
}
            
function showAddress(address)
{
  if (geocoder)
  {
    geocoder.getLatLng(address,
      function(point)
      {
        if (!point) //als het adres niet gevonden is
        {
          alert(address + " Not found");
        }
        else
        {
          map.setCenter(point, 10, 'G_NORMAL_MAP');
          var marker = new GMarker(point);
          map.addOverlay(marker);
          marker.openInfoWindowHtml(address);
        }
      }
    );
  }
}
            
// belangrijke hulpfunctie
function ge(idname)
{
  var element = document.getElementById(idname);
  return element;
}
// ----- mousewheel
function zoom(oEvent, s)
{
  if (s == -120)
  {
    map.zoomOut();
  }
  if (s == 120)
  {
    map.zoomIn();
  }
}

function mwh()
{
  var d = ge('map');
            
  if (d)
  {
    try
    {
      if (document.body.addEventListener)
      {
        d.addEventListener('DOMMouseScroll', function(oEvent) {zoom(oEvent, oEvent.detail * -40); }, false);
      }
      else
      {
        d.onmousewheel = function() { zoom(event, event.wheelDelta); return false; }
      }
    }
    catch (ex) {}
  }
}

function play_gallery()
{
  var show = new fadeSlideShow(gallery);
}


