//get basepath
var site_base = "";
if(a=document.getElementsByTagName("link")[0])
{
  site_base = a.href.substr(0,a.href.indexOf('/resources'));
}

function popup(url,w,h,scroll)
{
  var l = (screen.width-w)/2;
  var t = (screen.height-h)/2;

  window.open(url,'_blank','resizable=yes,location=no,menubar=no,scrollbars='+scroll+',status=no,toolbar=no,fullscreen=no,dependent=no,width='+w+',height='+h+',left='+l+',top='+t);
}

window.addEvent('domready', function()
{

  if ($('searchq'))
  {
    new FieldText($('searchq'),'Uw zoekopdracht');
  }
  if($('ververs'))
  {
    $('ververs').set('html','ververs afbeelding');
    $('ververs').addEvent('click', reloadValidationImage);
    $('ververs').className = 'ververslink';
  }

  $$('a.newwindow').each(function(el) {
    el.addEvent('click', function(event){
      window.open(this.href,"_blank");
      return false;
    });
  })

  if($('playsound'))
  {
    $('playsound').addEvent('click', function(){captchaMp3();return false;});
  }

  var body = $(document.body);
  var resize = new Fx.Tween(body, {property: 'font-size', unit: 'em', duration: 500, transition: Fx.Transitions.Sine.easeOut});

  var sizes = [11, 0.688
              ,13, 0.813
              ];

  var saved_size = Cookie.read('textsize');
  if (saved_size && get_size_px(body) != saved_size)
  {
    // init saved cookie value
    resize.set(sizes[3]);
  }


  if($('tools'))
  {
    $('print').addEvent('click', function()
    {
      window.print();
    });

    $('small_text').addEvent('click', function()
    {
      if (get_size_px(body) != sizes[0])
      {
        resize.start(sizes[3], sizes[1]);
        Cookie.write('textsize', sizes[0], {duration: 200});
      }
    });

    $('large_text').addEvent('click', function()
    {
      if (get_size_px(body) != sizes[2])
      {
        resize.start(sizes[1], sizes[3]);
        Cookie.write('textsize', sizes[2], {duration: 200});
      }
    });
  }

  var delay = 5000;
  var fader = $('fader');
  var elements = fader.getElements('img');
  var start = $random(0, elements.length-1);
  elements.each(function(el, i)
  {
    el.fade((i == start)? 'show' : 'hide');

  });

  (function() { rotate_images(elements, start, delay); }).delay(delay);

});


function get_size_px(el)
{
  // only initial unmodified body font-size in FF is in pixels, when set via javascript it's EMs again....
  var size = el.getStyle('font-size');

  if(Browser.Engine.trident == true)
  {
    return convert_em_px(size);
  }
  else
  {
    // check for px
    if (size.test("px"))
    {
      // only on unmodified body value..
      return size.toInt();
    }
    else
    {
      return convert_em_px(size);
    }
  }
}

function convert_em_px(size)
{
  // convert em to px, 16px == default browser font size (1em)
  size = size.toFloat();
  return (size * 16).round();
}

function rotate_images(elements, previous, delay)
{
  var current = previous;
  var to = elements.length-1;

  // make sure the new target is different from the old one.
  while(current == previous)
  {
    current = $random(0, to);
  }

  elements[previous].fade('out');

  // we don't use fade here, because "fade" returns the element, not the FX
  elements[current].get('tween').start('opacity',0,1).chain(function()
  {
    (function() { rotate_images(elements, current, delay); }).delay(delay);
  });
}

function captchaMp3()
{
  var d = new Date();
  var msie  = (navigator.userAgent.toLowerCase().indexOf("msie") > -1) ? true : false;
  if(document.all && msie)
  {
    if(Number(parseFloat(navigator.appVersion.split('MSIE ')[1])) < 7)
    {
      embed = document.createElement("bgsound");
      embed.setAttribute("src", $('playsound') + "&cfsnd=" + d.getTime());
      document.getElementsByTagName("body")[0].appendChild(embed);
      return;
    }
  }
  if(document.getElementById)
  {
    var mp3player = '<embed src="' + $('playsound') + "&cfsnd=" + d.getTime() + '" hidden="true" type="audio/x-mpeg" autostart="true" />';
    $('soundcontainer').set('html',mp3player);
    return;
  }
  return;
}


var FieldText = new Class({
  initialize: function(element, default_text)
  {
    this.element      = element;
    this.default_text = default_text;

    this.default_color = '#bbb' ;
    this.original_color = element.getStyle('color');

    this.unsel(); //set the defaulttext

    if(this.element.form)
    {
      this.element.form.onsubmit = function(){this.sel()}.bind(this);
    }
    this.element.onclick = function(){this.sel()}.bind(this);
    this.element.onblur  = function(){this.unsel()}.bind(this);
  },
  sel : function()
  {
    if(this.element.value==this.default_text)
    {
      this.element.value = '';
      this.element.setStyle('color', this.original_color);
    }
  },
  unsel : function()
  {
    if(this.element.value=='')
    {
      this.element.value = this.default_text;
      this.element.setStyle('color', this.default_color);
    }
  }
});

function reloadValidationImage()
{
  if($('validationimage'))
  {
    var now = new Date();
    newSrc = $('validationimage').src
    newSrc = (newSrc.indexOf("&")>0)? newSrc.substr(0,newSrc.indexOf("&")) : newSrc;
    newSrc+= "&"+ now.getTime();
    $('validationimage').src = newSrc;
  }
}
