﻿
var arVersion = navigator.appVersion.split("MSIE");
var version = parseFloat(arVersion[1]);
var ie6 = false;
if ( (version >= 5.5) && (version < 7) ) { ie6 = true }
var frmOk = 0;


if ( ie6 == true ) {
  window.attachEvent('onload',pngfix);
}

document.observe("dom:loaded", function() {
  chkfrm_wp_inline();
});





function chkfrm_wp_inline() {

  if ( $('ifrm') ) {
    attachFrmEvents_inline();
  }

  //alert('chkfrm_wp_inline ok');

}


function attachFrmEvents_inline() {

  //alert('attachFrmEvents_inline');

  //Event.observe('if_nb', 'click', chkFrmFields_inline );
  //Event.observe('if_ac', 'click', chkFrmFields_inline );
  //Event.observe('ifrm', 'submit', evtSubmit );

  $('if_nb').observe('click', chkFrmFields_inline );
  $('if_ac').observe('click', chkFrmFields_inline );
  $('ifrm').observe('submit', evtSubmit );

  //alert('ok');

}


function chkFrmFields_inline() {

  //if ( ($('if_nb').checked == true) || ($('if_ac').checked == true) ) {
  //  frmOk = 1;
  //  $('frm_inline_btn').removeClassName('button_dis');
  //  ///$('frm_inline_btn').innerHTML = 'normal';
  //}
  //else {
  //  frmOk = 0;
  //  $('frm_inline_btn').addClassName('button_dis');
  //  //$('frm_inline_btn').innerHTML = 'button_dis';

  //}

  //alert(frmOk);

  frmOk = 1;

}


function evtSubmit(e) {
  if ( frmOk == 0 ) { e.stop(event) }
}






function pngfix(){

  $("header").style.backgroundImage = "url('/i/whitepapers/bg_bluebar.gif')";
  if ( $('btn_dl') ) { $('btn_dl').className+= '_gif'; }
  if ( $('frm_inline_btn') ) { $('frm_inline_btn').className+= '_gif'; }
  if ( $('frm_inline_holder') ) { $('frm_inline_holder').addClassName('frm_inline_holder_gif'); }

  //alert('pngfix ' + $('btn_dl').className);

}



function btn_mo(el,state) {

  if (state==1) {
    $(el.id).addClassName('button_mo');
  }
  else {
    $(el.id).removeClassName('button_mo');
  }

}



function popupForm(url) {

  //alert(url);

  grayOut(true);

  var html =
    '<div id="frm_wp_close" onclick="hideMessageBox();"><img src="/i/whitepapers/popup/btn_close.gif" /></div>'
    + '<iframe id="frm_wp_iframe" marginwidth="0" marginheight="0" hspace="0" vspace="0" frameborder="0" scrolling="no" allowtransparency="true" src="' + url + '"></iframe>'
    ;

	if ( !document.getElementById('messagebox') ) {
  	var messagebox = document.createElement('div');
  	messagebox.setAttribute('id', 'messagebox');
	}
	else {
  	var messagebox = $('messagebox');
	}

  if (html) { messagebox.innerHTML = html; }
  else { messagebox.innerHTML = "..."; }

  //var boxWidth = 557;
  //var boxHeight = 334;

  var boxWidth = 597;
  var boxHeight = 374;



  document.getElementsByTagName('body')[0].appendChild(messagebox);
  var popupmessagebox = $('messagebox');

  popupmessagebox.style.width = boxWidth + 'px';
  popupmessagebox.style.height = boxHeight + 'px';
  popupmessagebox.style.position = 'absolute';
  popupmessagebox.style.zIndex = 52;
  //popupmessagebox.style.backgroundColor = '#fff';
  popupmessagebox.style.padding = '0px';
  if ( ie6 == true ) { popupmessagebox.className = 'mb_gif' }


  var boxLeft = 100;
  var boxTop = 200;

  if( document.body.offsetWidth ) {
    boxTop = Math.floor(Math.round((document.documentElement.offsetHeight/2)+document.documentElement.scrollTop)-(boxHeight/2));
    boxLeft = Math.floor(Math.round((document.documentElement.offsetWidth/2)+document.documentElement.scrollLeft)-(boxWidth/2));
  }
  else if( document.body && ( document.body.scrollWidth || document.body.scrollHeight ) ) {
    boxTop = (document.body.clientHeight/2)-(boxHeight/2) + 'px';
    boxLeft = (document.body.clientWidth /2)-(boxWidth/2) + 'px';
  }
  else {
    boxTop = '100px';
    boxLeft = '100px';
  }

  popupmessagebox.style.top = boxTop + 'px';
  popupmessagebox.style.left = boxLeft + 'px';

}



function hideMessageBox() {

  if ( $('messagebox') ) {
    var messagebox = $('messagebox');
    document.body.removeChild(messagebox);
    grayOut(false);
  }

}



function grayOut(vis, options) {

  var options = options || {};
  var zindex = options.zindex || 50;
  var opacity = options.opacity || 50;
  var opaque = (opacity / 100);
  var bgcolor = options.bgcolor || '#000000';
  var dark=$('darkenScreenObject');
  if (!dark) {
    var tbody = document.getElementsByTagName("body")[0];
    var tnode = document.createElement('div');
    tnode.style.position='absolute';
    tnode.style.top='0px';
    tnode.style.left='0px';
    tnode.style.overflow='hidden';
    tnode.style.display='none';
    tnode.id='darkenScreenObject';
    tbody.appendChild(tnode);
    dark=$('darkenScreenObject');
  }
  if (vis) {
    //set the shader to cover the entire page and make it visible.
    dark.style.opacity=opaque;
    dark.style.MozOpacity=opaque;
    dark.style.filter='alpha(opacity='+opacity+')';
    dark.style.zIndex=zindex;
    dark.style.backgroundColor=bgcolor;
    dark.style.width='100%';
    dark.style.height = '100%';
    dark.style.display='block';


    if ( ie6 == true ) { dark.style.height = '1000px' }

  }
  else {
    dark.style.display='none';
  }

  //adaptToScreen();

}



function popupPrivacy() {

  window.open('/glossary/index.asp?ID=11','','dependent=no, toolbar=0, location=0, directories=0, status=0, menubar=0, scrollbars=no, resizable=1, width=400, height=50');

}



function checkForm() {

  //alert('checkForm');

  var frm       = document.ifrm;
  var val_email = frm.if_email.value;
  var val_nb    = frm.if_nb.checked;
  var val_ac    = frm.if_ac.checked;
  var val_dl    = frm.if_dl.value;

  var emailCheckResult = emailCheck(val_email);


  if ( frmOk == 0 ) {
    $('frm_inline_email_comment').update('minimaal 1 optie aanvinken a.u.b.');
  }

  else if ( emailCheckResult != '' ) {
    $('frm_inline_email_comment').update(emailCheckResult);
  }

  else {

    $('frm_inline_line1').hide();
    $('frm_inline_line2').hide();
    $('frm_inline_wait').addClassName('frm_inline_wait_show');

    var xml_page = '/includes/ajax/ajax_mail_whitepaper_xml.asp'

    var xml_params =
      '?email=' + val_email
      + '&nb=' + val_nb
      + '&ac=' + val_ac
      + '&fileid=' + val_dl;

    //alert(xml_params);
    new Ajax.Request ( xml_page, { method: 'get', parameters: xml_params, onComplete: processform } );

  }

}



function processform(request) {

  //alert(request.responseXML.xml);

  var rqxml           = request.responseXML;
  var xml_emailcheck  = rqxml.getElementsByTagName("emailcheck")[0].firstChild.data;
  var xml_email       = rqxml.getElementsByTagName("email")[0].firstChild.data;

  if ( xml_emailcheck == 0 ) {

    var str_feedback =
      '<div class="frm_inline_thanks">'
      + 'Hartelijk dank voor uw registratie<br />'
      + 'Het whitepaper is verzonden naar: <span>' + xml_email + '</span>'
      + '</div>'
      ;

    $('frm_inline_holder').update(str_feedback);

    pageTracker._trackPageview("/registratie-formulier/" + location.pathname.replace('/white-papers/', '') + "/dank.html");

  }
  else {

    $('frm_inline_line1').show();
    $('frm_inline_line2').show();
    $('frm_inline_wait').removeClassName('frm_inline_wait_show');

    $('frm_inline_email_comment').update('Graag uw organisatieadres gebruiken');

  }


}



function emailCheck (emailStr) {

  //alert('emailCheck');

  var str_return = '';
  var emailPat=/^(.+)@(.+)$/
  var specialChars="\\(\\)<>@,;:\\\\\\\"\\.\\[\\]"
  var validChars="\[^\\s" + specialChars + "\]"
  var quotedUser="(\"[^\"]*\")"
  var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/
  var atom=validChars + '+'
  var word="(" + atom + "|" + quotedUser + ")"
  var userPat=new RegExp("^" + word + "(\\." + word + ")*$")
  var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$")

  var matchArray=emailStr.match(emailPat)
  if (matchArray==null) {
  	//str_return += "<div>&#155; Je e-mailadres lijkt niet correct te zijn (controleer de @ en de punten...).</div>";
  	str_return += "Uw e-mailadres lijkt niet correct te zijn";
    return str_return;
  }

  var user=matchArray[1]
  var domain=matchArray[2]

  // See if "user" is valid
  if (user.match(userPat)==null) {
    //str_return += "<div>&#155; Het gedeelte in je e-mailadres voor de @ lijkt niet in orde te zijn.</div>";
  	str_return += "Uw e-mailadres lijkt niet correct te zijn";
    return str_return;
  }

  var IPArray=domain.match(ipDomainPat)
  if (IPArray!=null) {
  	for (var i=1;i<=4;i++) {
  	  if (IPArray[i]>255) {
        //str_return += "<div>&#155; Het ip-adres in je e-mailadres is niet correct.</div>";
  	    str_return += "Uw e-mailadres lijkt niet correct te zijn";
  		  return str_return;
  	  }
    }

  }

  var domainArray=domain.match(domainPat)
  if (domainArray==null) {
    //str_return += "<div>&#155; Het gedeelte in je e-mailadres achter de @ lijkt niet in orde te zijn.</div>";
    str_return += "Uw e-mailadres lijkt niet correct te zijn";
    return str_return;
  }

  var atomPat=new RegExp(atom,"g")
  var domArr=domain.match(atomPat)
  var len=domArr.length
  if (domArr[domArr.length-1].length<2 ||
      domArr[domArr.length-1].length>6) {
      //str_return += "<div>&#155; Het gedeelte van je e-mailadres achter de (laatste) punt moet eindigen in 2 tot 6 letters.</div>"
      str_return += "Uw e-mailadres lijkt niet correct te zijn";
      return str_return;
  }

  if (len<2) {
    var errStr="This address is missing a hostname!"
    //str_return += "<div>&#155; Het gedeelte van je e-mailadres achter de (laatste) punt moet eindigen in 2 tot 6 letters.</div>"
    str_return += "Uw e-mailadres lijkt niet correct te zijn";
    return str_return;
  }

  return str_return;

}