/*
  Mootools More:
*/

document.addEvent('domready',function () {

    $$('li.AspNet-Menu-WithChildren').addEvents({
        'mouseover':function() {this.getFirst('ul').setStyle('display','block');},
        'mouseout':function() {this.getFirst('ul').setStyle('display','none');}
    });

    if (location.pathname.indexOf('/pcb-intermediair/') > -1) {
        $$('.navLink_home')[0].removeClass('AspNet-Menu-Selected').getParent('li').removeClass('AspNet-Menu-Selected');
        $$('.navLink_pcb-intermediair')[0].addClass('AspNet-Menu-Selected').getParent('li').addClass('AspNet-Menu-Selected');
    }

    // External URLs
    var extUri = $$('a[rel=external]');
    extUri.combine($$('a[href$=.pdf]'));
    extUri.combine($$('a.external'));
    extUri.combine($$('a[href^=http:]'));
    extUri.setProperty('target','_blank');

    $$('a.shadowbox').setProperty('rel', 'shadowbox');

    Shadowbox.init();

    // Tool tips
    //var myTips = new Tips('.tooltip',{text:''});
  
    // offerteformulier starten    
    var formulier = new OfferteFormulier();
	
	var Tips1 = new Tips($$('.Tips1'));
    
    // insert zoom icon om shadowbox images that can be enlarged
    $$('a[rel=shadowbox] img').each(function(shadowboxImage) {
        new Element('img', {
            'src' : '/_images/zoom.png',
            'alt' : 'Zoom',
            'class' : 'zoom'
        }).inject(shadowboxImage.getParent(), 'top')
    });
});

/* 
 * Offerte formulier
 */
var OfferteFormulier = new Class({

  initialize: function () {
    if (!$('offerteformulier')) return;

    // toggle fields
    this.checkKlantnormSpecifiek();
    $('cbSpecifiek5').addEvent('click', this.checkKlantnormSpecifiek.bind(this));
    this.checkUl94v0();
    $('cbSpecifiek6').addEvent('click', this.checkUl94v0.bind(this));
    this.checkYWC();
    $('cbSpecifiek7').addEvent('click', this.checkYWC.bind(this));
    this.checkPBlogo();
    $('cbSpecifiek8').addEvent('click', this.checkPBlogo.bind(this));
    this.checkPeeloff();
    $('cbPeeloff').addEvent('click', this.checkPeeloff.bind(this));
    this.checkSoldermask();
    $('ddSoldermask').addEvent('change', this.checkSoldermask.bind(this));
    this.checkTekstopdruk();
    $('ddTekstopdruk').addEvent('change', this.checkTekstopdruk.bind(this));
    this.checkMaterial();
    $('ddMateriaal').addEvent('change', this.checkMaterial.bind(this));

    $$('.uitvoering input[type=radio]').addEvent('click', this.togglePaneel.bind(this));

    // process files
    $('bestanden').getElements('.file').each(function (file, index) {
      if (index != 0) {
        file.setStyle('display', 'none');
      }

      file.getElement('.cancel').setStyle('display', 'none').addEvent('click', function (e) {
        new Element('input', {
          'type': 'file',
          'name': e.target.getParent().getElement('input').get('name')
        }).replaces(e.target.getParent().getElement('input'));
        e.target.setStyle('display', 'none');
        this.initFileUpload(e.target.getParent());
      } .bind(this))

      this.initFileUpload(file);
    } .bind(this));

    // toggle focus
    $('rbFormaatdataAnderFormaat').addEvent('change', function () {
      if ($('rbFormaatdataAnderFormaat').checked) {
        $('tbAnderformaat').focus();
      }
    });
    $('rbLagen3').addEvent('click', function () {
      if ($('rbLagen3').checked) {
        $('tbMultilagen').focus();
      }
    });
    $('rbKleurmaskerAnders').addEvent('change', function () {
      if ($('rbKleurmaskerAnders').checked) {
        $('tbKleurmaskerAnders').focus();
      }
    });
    $('rbKleuropdrukAnders').addEvent('change', function () {
      if ($('rbKleuropdrukAnders').checked) {
        $('tbKleuropdrukAnders').focus();
      }
    });
    $('rbUitvoering4').addEvent('change', function () {
      if ($('rbUitvoering4').checked) {
        $('tbUitvoering4').focus();
      }
    });

    // set focus
    $('tbBedrijf').focus();

    //$('btSend').addEvent('click', function(e) {
    //e.preventDefault();
    //this.validate();
    //    $('btSend').set('disabled', 'disabled');
    //    $('sendmessage').set('html', '<img src="_images/loading.gif" alt="Loading...." style="float:right;" /> Even geduld aub. Het formulier wordt verzonden.');
    //}.bind(this));
  },

  validateField: function (id, message) {
    var error = '';
    if ($(id).get('value') == '') {
      error = message + '\n';
      $(id).setStyle('border-color', '#F00');
      $(id).getPrevious('label').setStyle('color', '#F00');
      $(id).addEvent('keydown', function () {
        if (this.get('value') != '') {
          $(id).setStyle('border-color', '#666');
          $(id).getPrevious('label').setStyle('color', '#000');
        } else {
          $(id).setStyle('border-color', '#F00');
          $(id).getPrevious('label').setStyle('color', '#F00');
        }
      });
    } else {
      $(id).getPrevious('label').setStyle('color', '#000');
      $('tbBedrijf').setStyle('border-color', '#666');
    }
    return error;
  },

  validate: function () {
    var errors = '';

    errors += this.validateField('tbBedrijf', 'Vul uw bedrijfsnaam in.');
    errors += this.validateField('tbNaam', 'Vul uw naam in.');
    errors += this.validateField('tbTelefoon', 'Vul uw telefoonnummer in.');
    errors += this.validateField('tbEmail', 'Vul uw e-mailadres in.');
    errors += this.validateField('tbPrintnaam', 'Vul een naam in.');
    errors += this.validateField('tbLente', 'Vul een lengte in.');
    errors += this.validateField('tbBreedte', 'Vul een breedte in.');

    if (errors != '') {
      alert(errors);
    } else {
      //$('btSend').fireEvent('click');
      //javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions("ctl00$cpMain$Offerteformulier$btSend", "", true, "", "", false, false))
    }
  },

  initFileUpload: function (file) {
    file.getElement('input').addEvent('change', function () {
      if (this.get('value') != '') {
        this.getNext('.cancel').setStyle('display', 'inline')
      }

      var next = this.getParent().getNext('.file');
      if (next) {
        next.setStyle('display', 'block');
      }
    });
  },

  checkKlantnormSpecifiek: function () {
    if ($('cbSpecifiek5').checked) {
      $('specifiek-klantnormen').setStyle('display', 'block');
      $('tbSpecifiekKlantnormen').focus();
    } else {
      $('specifiek-klantnormen').setStyle('display', 'none');
    }
  },

  checkUl94v0: function () {
    if ($('cbSpecifiek6').checked) {
      $('ul94v0_opties').setStyle('display', 'block');
    } else {
      $('ul94v0_opties').setStyle('display', 'none');
    }
  },

  checkYWC: function () {
    if ($('cbSpecifiek7').checked) {
      $('ywc_opties').setStyle('display', 'block');
    } else {
      $('ywc_opties').setStyle('display', 'none');
    }
  },

  checkPBlogo: function () {
    if ($('cbSpecifiek8').checked) {
      $('pb_opties').setStyle('display', 'block');
    } else {
      $('pb_opties').setStyle('display', 'none');
    }
  },

  checkPeeloff: function () {
    if ($('cbPeeloff').checked) {
      $('peeloff_opties').setStyle('display', 'block');
    } else {
      $('peeloff_opties').setStyle('display', 'none');
    }
  },

  checkSoldermask: function () {
    if ($('ddSoldermask').get('value') != 'no') {
      $('soldeermask').setStyle('display', 'block');
    } else {
      $('soldeermask').setStyle('display', 'none');
    }
  },

  checkTekstopdruk: function () {
    if ($('ddTekstopdruk').get('value') != 'no') {
      $('tekstopdruk').setStyle('display', 'block');
    } else {
      $('tekstopdruk').setStyle('display', 'none');
    }
  },

  checkMaterial: function () {
    //$('lbMateriaalAnders').setStyle('width', 'auto');
    if ($('ddMateriaal').get('value').toLowerCase().indexOf('flex-rigid') >= 0) {
      $('materiaal-spec').setStyle('display', 'block');
    } else {
      $('materiaal-spec').setStyle('display', 'none');
    }
  },

  togglePaneel: function () {
    var uitvSel = $$('.uitvoering input[type=radio]:checked').get('value');
    if ((uitvSel == 'individual pcb') || (uitvSel == 'see enclosed (panelized) gerber files')) {
      $('vrijeruimte').setStyle('display', 'none');
      $('opbouw').setStyle('display', 'none');
    } else {
      $('vrijeruimte').setStyle('display', 'block');
      $('opbouw').setStyle('display', 'block');
    }
  }

});

