/* -------------------------------------------------------------------------- */
/* Load Event fires when the whole page is loaded, included all images */
window.addEvent('load', function() {

});

/* -------------------------------------------------------------------------- */
/* DomReady Event fires when all Elements are ready, but not images. */
window.addEvent('domready', function() {
  var Ace = new Site();
  Ace.projectScreens($$('#recente_projecten a'));
  
  // if($('nieuwsbrief')) {
    // Ace.ajaxForm($('nieuwsbrief'));
  // }
  // if($('domeincheck')) Ace.ajaxForm($('domeincheck'));
  
  // (1) Accordion - nieuws
  var loc = document.location.href;
  if (loc.contains('/nieuws/')) {
    var h4s = $$('.x');

    var accordion = new Accordion('h4.atStart', 'div.atStart', {
      opacity: false,
      onActive: function(toggler, element) {
        toggler.setStyles({
          'color': '#220e46',
          'border-bottom': '2px solid #220e46',
          'border-left': '1px solid #220e46'
        });
      },
      onBackground: function(toggler, element) {
        toggler.setStyles({
          'color': '#909090',
          'border-bottom': '2px solid #dddddd',
          'border-left': '1px solid #dddddd'
        });
      }
    }, $('accordion'));
  }

  // (2) Fx.Elements - Kwick - technieken (projectpagina)  
  if (loc.contains('/referenties/projecten/TijdelijkEvenDitToegevoegdZodatFxNooitWordtToegevoegd')) {
    var szNormal = 32, szSmall = 30, szFull = 175;

    var kwicks = $$("#kwicks .liTech");
    var fx = new Fx.Elements(kwicks, {wait: false, duration: 300, transition: Fx.Transitions.Back.easeOut});
    kwicks.each(function(kwick, i) {
      kwick.addEvent("mouseenter", function(event) {
        var o = {};
        o[i] = {width: [kwick.getStyle("width").toInt(), szFull]}
        kwicks.each(function(other, j) {
          if(i != j) {
            var w = other.getStyle("width").toInt();
            if(w != szSmall) o[j] = {width: [w, szSmall]};
          }
        });
        fx.start(o);
      });
    });
    $("kwicks").addEvent("mouseleave", function(event) {
      var o = {};
      kwicks.each(function(kwick, i) {
        o[i] = {width: [kwick.getStyle("width").toInt(), szNormal]};
      });
      fx.start(o);
    })
  }

});

/* -------------------------------------------------------------------------- */
var Site = new Class({
  initialize: function() {
    // Make png's transparent
    $$('img[src$=.png]').setStyle('behavior','url(/_include/pngFix.htc)');
    
    // Search for forms
    var myForm;
    $$('form').each(function(siteForm) {
      myForm = new Form(siteForm);
    });
    
  },
  
  // Screenshot for recent projects
  projectScreens: function(linkArray) {
    linkArray.addEvent('mouseover',function() {
        if ($('fs_project_afbeelding')) {
          $('fs_project_afbeelding').set('html','<a href="' + this.getProperty('href') + '" title="' + this.getProperty('title') + '"><img src="/userfiles/' + this.getProperty('id') + '" width="176" height="108" alt="Recent project ' + this.getProperty('title') + '" /></a>');
        }        
    });
  }
});

/* -------------------------------------------------------------------------- */
var Form = new Class({
  initialize: function(formElement) {
    this.form = formElement;
    
    // Search for required fields
    if(this.form.getElements('input.reqFld')) this.formCheck();
  },
  
  // Checks a form for required fields
  formCheck: function() {
    this.form.addEvent('submit',function(e) {
      var ev = new Event(e);
      var missingFld = false;
      ev.stop();

      this.getElements('.reqFld').each(function(reqFld) {
        if(reqFld.hasClass('reqEmpty')) reqFld.removeClass('reqEmpty');
        if(reqFld.get('value') == '') {
          reqFld.addClass('reqEmpty');
          missingFld = true
        }
      });
      
      if(missingFld == true) alert('De gekleurde velden zijn verplicht.');
      else this.submit();
    });
  }
  // Ajax form submit
  // ajaxForm: function(form) {
    // form.addEvent('submit',function(ev) {
      // var e = new Event(ev);
      // e.stop();
      
      // $E('input[type=submit]',form).setProperties({
        // 'value':'Bezig met verwerken...',
        // 'disabled':true
      // });
      
      // alert('maak post request via Ajax naar het action attribute. update formulier met resultaat van actie');
      
      // form.send({update:form});
    // });
  // }
});

/* -------------------------------------------------------------------------- */
