// -----------------------------------------------------------------------------
window.addEvent('domready', function(){

  // Make png's transparent
  $$('img[src$=.png]').each(function(png) {
    png.setStyle('behavior','url("/_include/pngFix.htc")');
  });

  // Make imageHandler png's transparent
  /* $$('img[src^=/imgHandler.ashx]').each(function(png) {
    if (png.getProperty('src').contains('.png&')) {
      png.setStyle('behavior','url("/_include/pngFix.htc")');
    }
  }); */

  // Zijn er Tooltips om te maken? (class "toolTip1")
  if ($$('.toolTip1')) {
    createTooltip();
  }    

  // Moet er een (Flash)visual geplaatst worden?
  if ($('visual')) {
    placeVisual();
  }

  // Moeten de breedte/hoogte selectLists events krijgen?
  if ($("product") && ($("breedte") || $("hoogte")) ) {
    setOnchangeActionOnWidthHeightLists();
  }

  if ($('actie1')) {
	  $('actie1').getElement('button').addEvent('click', function(e) {
		  if ($('actie_naam').get('value') == '') {
			  $('actie_naam').focus();
			  alert('Vul je naam in.');
			  new Event(e).stop();
		  } else if ($('actie_email').get('value') == '') {
			  $('actie_email').focus();
			  alert('Geef je e-mail adres op.');
			  new Event(e).stop();
		  }
	  });
  }

  // Formulier check(s)
  if ($$('form fieldset')) {
    var myFormFieldset;
    $$('form fieldset').each(function(formFieldset) {
      myFormFieldset = new Fieldset(formFieldset);
    });
  }

	var a;
	// change rel="external" to target="_blank" (deprecated) 
	$$('a[rel=external]').each(function(a) {
		$(a).setProperty('target', '_blank');
	});
	// verander rel="back" in een JavaScript history back
	$$('a[rel=back]').each(function(a) {
		$(a).setProperty('href', 'javascript:history.back(1);');
	});

});

// -----------------------------------------------------------------------------
/* var currentObj;

function swapMenuImage(obj, state) {
  if (state != "") {
    if (state == 2) {
      obj.src = "/_images/buttons/" + obj.name + "_o.gif";
    } else if (state == 1) {
      obj.src = "/_images/buttons/" + obj.name + ".gif";
    }
    if (currentObj != null) {
      currentObj.src = "/_images/buttons/" + currentObj.name + "_o.gif";
    }
  }
}

// -----------------------------------------------------------------------------
function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

// -----------------------------------------------------------------------------
function MM_openBrWindow(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
} */

// -----------------------------------------------------------------------------
function placeVisual() {
  /* plaats Flash-animatie in #visual */
  var flashVis = new Swiff('/files/visuals/banner.swf',{
    width:315,
    height:435,
    params:{
    quality:'high',
    wmode:'transparent',
    menu:false
    }
  }).inject($('visual'),'top');
}

// -----------------------------------------------------------------------------
function setValue(element, value) {
  document.orderFrm.elements[element].value = value;
}

// -----------------------------------------------------------------------------
function setValue1(element, value) {
  document.orderFrm1.elements[element].value = value;
}

// -----------------------------------------------------------------------------
function setValueNoSubmit(element, value) {
  document.orderFrm.elements[element].value = value; 
}
// -----------------------------------------------------------------------------
function setHiddenVal(formName, fieldName, fieldVal) {

  var e = eval("document." + formName + "." + fieldName);
  e.value = fieldVal;
}
// -----------------------------------------------------------------------------
function popUp(url, width, height) {
	var winPopUp;
	winPopUp = window.open(url, 'PopUp', 'width='+width+', height='+height+',scrollbars=yes');
 }

// -----------------------------------------------------------------------------
function genFlash() {
  document.all.flashmovie.innerHTML = '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" id="flesmovie" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0" width="742" height="267">\n<param name="movie" value="images/home.swf">\n<param name="quality" value="high"><param name="LOOP" value="false">\n<embed src="images/home.swf" width="742" height="267" loop="false" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash"></embed></object>';
}

// -----------------------------------------------------------------------------
function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

// -----------------------------------------------------------------------------
var extraVelden;
extraVelden = '';

function checkForm(strElements) {

  var result;
  result = false;
		
	if (extraVelden != '') {
		strElements += extraVelden;
	}

	var elements = strElements.split(',');
	var strerror = '';

  for (x = 0; x < elements.length; x++) {	
    if (elements[x] == "rekeningnummer") {
  		var betaalwijze = document.getElementById("betaalwijze_1");
      var reknr = document.getElementById("rekeningnummer").value.replace(/\./g,"").replace(/ /g,""); // verwijder punten en spaties

  		// maatwerk voor betaalwijze 1 in db		if(betaalwijze.value == "1"){
  		var regExp = /[0-9]/;
		
  		if (betaalwijze.checked) {
        if (reknr.value == '' || !regExp.test(reknr) || reknr.length < 5 || reknr.length > 9 ) {
  				strerror += 'Je hebt gekozen voor een eenmalige machtiging. Geef hiervoor een correct rekeningnummer op.\n';
  				result = false;
  			}
  		}
  		else {
  			reknr.value = '';
  		}	
  	}
    else if (elements[x].indexOf('CB') >= 0) {
      elements[x] = elements[x].replace('CB:','');		
      if (document.getElementById(elements[x]).checked == false) {
        strerror += ('Het vak \''+elements[x]+'\' moet aangekruisd zijn!\n');
        result = false;
      }
    }
  	else {
  	  if (!document.getElementById(elements[x])) {
  	  	//alert("Debugg : " + elements[x]);
        if (document.getElementById(elements[x]).value == '') {	
          if (elements[x].indexOf('_') > 0) {
            elements[x] = elements[x].substring(elements[x].indexOf('_')+1, elements[x].length);
          }
          strerror += ('Het veld \''+elements[x]+'\' mag niet leeg zijn!\n');
          result = false;
        }
      }
    }
  }

  if (strerror != '') {
    alert(strerror);
  } else {
    result = true;
  }
  return result;
}

// -----------------------------------------------------------------------------
// script voor 6bestelling_gegevens.asp
function checkRekNr(obj){
    obj.value = obj.value.replace(/\./g,"").replace(/ /g,"");
}

// -----------------------------------------------------------------------------
// controleer op numerieke waardes
function checkNumericInput(obj) {
  if (!e) var e = window.event;
  if (e.keyCode) code = e.keyCode;
  else if (e.which) code = e.which;
  //var character = String.fromCharCode();
  //alert(code);
  if ((code != 33) && (code != 34) && (code != 40) && (code != 38)) {
    
    var valid = '0123456789-';
    input = obj.value;
    
    for (x=0;x<input.length;x++) {
      if (input.charAt(x) == '.')
      {
        obj.value = input.substring(0, x)+"-";
      } else if (valid.indexOf(input.charAt(x)) == -1) {
        obj.value = input.substring(0, x);
        if (obj.value == '') { obj.value = 0; obj.select(); }
      } 
    }
  } else {
    obj.focus();
    obj.select();
  }
}

// -----------------------------------------------------------------------------
function validateEmail(obj) {
  // a very simple email validation checking. 
  // you can add more complex email checking if it helps 

	var result = false;
	email = obj.value;

	if (email.length <= 0) {
	  result = true;
	} else {
    var splitted = email.match("^(.+)@(.+)$");
    if(splitted == null) result = false;
    if(splitted[1] != null )
    {
      var regexp_user=/^\"?[\w-_\.]*\"?$/;
      if(splitted[1].match(regexp_user) == null) result = false;
    }
    if(splitted[2] != null)
    {
      var regexp_domain=/^[\w-\.]*\.[A-Za-z]{2,4}$/;
      if(splitted[2].match(regexp_domain) == null) 
      {
	    var regexp_ip =/^\[\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\]$/;
	    if(splitted[2].match(regexp_ip) == null) result = false;
      }// if
      result = true;
    }
  }

	if (result == false)
	{
		obj.focus();
		obj.select();
	}
}

// -----------------------------------------------------------------------------
function validatePostcode(obj) {

  postcode = obj.value;
  var result;
  result = false;

  // Nederlandse postcode; 1234 AB (of 1234AB)
  var re12 = /^[0-9]{4}\s{0,1}[A-Za-z]{2}$/;

  // Belgische postcode;   1234
  var re13 = /^([0-9]{4})$/;

  if ((re12.test(postcode)) || (re13.test(postcode))) {
	  return true;
  } else {
	  alert("Ongeldige postcode ingevoerd!");
	  obj.select();
	  obj.focus();
	  return false;
  }
}

// -----------------------------------------------------------------------------

/* voor deze scripts geldt:
 waarde 1 = eenmalige machtiging
 waarde 2 = zelf overmaken
 
 via javascript kan je de radio form objecten via 
 radBetaalwijze_{id} 

*/
var constEenmalig = 1;
var constZelf = 2;

function setBetaalwijze(waarde) {
  document.getElementById('betaalwijze').value = waarde;
  
  if (document.getElementById('betaalwijze').value == '1') {
    document.getElementById('rekeninginfo').style.display = 'block';
    extraVelden = ',rekeningnummer';
  } else {
    document.getElementById('rekeningnummer').value = '';
    document.getElementById('rekeninginfo').style.display = 'none';
    extraVelden = '';
  }
}

/* functie doel: als land belgie is geselecteed eenmalige machtiging disablen */
/* Letop: gebruikt constanten constEenmalig en constZelf */
function changeBetaalwijze(selectObject) {
    
  var radEenmalig = document.getElementById("radBetaalwijze_" + constEenmalig);
  var radZelf = document.getElementById("radBetaalwijze_" + constZelf);
  var v = selectObject[selectObject.selectedIndex].value;
  var elBetaalwijze = document.getElementById('betaalwijze');
  var elRekeningnummer = document.getElementById('rekeningnummer');
  if (v == 'Belgie') { // belgie    
    // uncheck en disable radio eenmalige machtiging
    radEenmalig.checked = false;
    radEenmalig.disabled = true;	

    // check zelfbetalen
    radZelf.checked = true;

    elBetaalwijze.value = constZelf;
    elRekeningnummer.value = '';

    setBetaalwijze(constZelf);
  } else { // Nederland
    radEenmalig.disabled = false;
  }
}

// -----------------------------------------------------------------------------
var image = null;
 
function ShowFoto(dir, image) {
  /* /foto-op/product/ - afbeelding vergroten */

  if (dir == "") {
    dir = "/images/files/"
  }

  var inner = "<img src=\"" + dir + image + "\" id=\"overlayImg\" onclick=\"HideFoto();\" align=\"center\"/>";
  document.getElementById("showfoto").innerHTML = inner;

  var divwidth    = document.getElementById("overlayImg").width;
  var divheight   = document.getElementById("overlayImg").height;
  var width       = document.body.clientWidth;
  var height      = document.body.clientHeight + document.body.scrollTop;
  var marginleft  = (width - divwidth) / 2 - 200; //200 = correction...
  var margintop   = 235; //175;
  var bodywidth   = document.body.scrollWidth;
  var bodyheight  = document.body.scrollHeight;
 
  document.getElementById("showfoto").style.top    = margintop + "px"; // + (document.body.scrollTop / 2);
  document.getElementById("showfoto").style.left   = ((width / 2) - marginleft + 20) + "px"; //marginleft;
  document.getElementById("showfoto").style.width  = divwidth;
  document.getElementById("showfoto").style.height = divheight;
  document.getElementById("showfoto").style.display = "block";
}
 
//------------------------------------------------------------------------------
function HideFoto() {
  document.getElementById("showfoto").style.display  = "none";
}

//------------------------------------------------------------------------------
function isEmail(str) {
  // are regular expressions supported?
  var supported = 0;
  if (window.RegExp) {
    var tempStr = "a";
    var tempReg = new RegExp(tempStr);
    if (tempReg.test(tempStr)) supported = 1;
  }
  if (!supported) 
    return (str.indexOf(".") > 2) && (str.indexOf("@") > 0);
  var r1 = new RegExp("(@.*@)|(\\.\\.)|(@\\.)|(^\\.)");
  var r2 = new RegExp("^.+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,4}|[0-9]{1,4})(\\]?)$");
  return (!r1.test(str) && r2.test(str));
}

//------------------------------------------------------------------------------
function checkBestelGegevens() {
  // controlescript voor pagina 6bestellen_gegevens.asp
  // was: checkForm('rekeningnummer,aanhef,voorletters,naam,adres,postcode,plaats,telefoon,email,land,CB:voorwaarden_gelezen,leverdag')

  var f = document.orderFrm;

  // voorletters
  if (f.voorletters.value == "") {
    alert("Het veld 'voornaam' mag niet leeg zijn!");
    f.voorletters.focus();
    return false
  }
  // naam
  if (f.naam.value == "") {
    alert("Het veld 'naam' mag niet leeg zijn!");
    f.naam.focus();
    return false
  }
  // adres
  if (f.adres.value == "") {
    alert("Het veld 'adres' mag niet leeg zijn!");
    f.adres.focus();
    return false
  }
  // postcode
  if (f.postcode.value.length < 4) {
    alert("Het veld 'postcode' mag niet leeg zijn!");
    f.postcode.focus();
    return false
  }
  // plaats
  if (f.plaats.value == "") {
    alert("Het veld 'plaats' mag niet leeg zijn!");
    f.plaats.focus();
    return false
  }
  // selLand
  if (f.selLand.value == "") {
    alert("Er moet een land geselecteerd worden!");
    return false
  }
  // telefoon
  if (f.telefoon.value.length < 10) {
    alert("Het veld 'telefoon' mag niet leeg zijn!");
    f.telefoon.focus();
    return false
  }
  // email
  if (f.email.value == "") {
    alert("Het veld 'e-mail' mag niet leeg zijn!");
    return false
  } else {
    if (!isEmail(f.email.value)) {
      alert("Vul alsjeblieft een geldig e-mailadres in!");
      return false
    }  
  }
  // betaalwijze
  if (f.betaalwijze.value == "") {
    alert("Er moet een betaalwijze geselecteerd worden!");
    return false
  } else {
    // rekeningnummer ingevuld bij betaalwijze "Eenmalige machtiging" (value 1)?
    var checkedRadio = "";
    for (var i = 0; i < f.betaalwijze.length; i++) {
      if (f.betaalwijze[i].checked == true) {
        checkedRadio = f.betaalwijze[i].value
      }
    }
    if ((checkedRadio == "1") && (f.rekeningnummer.value == "")) {
      alert("Je bent vergeten het rekeningnummer voor de 'Eenmalige machtiging' op te geven!");
      return false
    } 
  }

  // voorwaarden_gelezen
  if (f.voorwaarden_gelezen.checked == false) {
    alert("Je moet akkoord gaan met de algemene voorwaarden!");
    return false
  }

  return true
}

//------------------------------------------------------------------------------
function checkBestelGegevensKadobon() {
  // controlescript voor pagina 3bestellen_kadobon_gegevens.asp
  // was: checkForm('rekeningnummer,aanhef,voorletters,naam,adres,postcode,plaats,land,email,CB:voorwaarden_gelezen')

  var f = document.orderFrm;

  // voorletters
  if (f.voorletters.value == "") {
    alert("Het veld 'voornaam' mag niet leeg zijn!");
    f.voorletters.focus();
    return false
  }
  // naam
  if (f.naam.value == "") {
    alert("Het veld 'naam' mag niet leeg zijn!");
    f.naam.focus();
    return false
  }
  // adres
  if (f.adres.value == "") {
    alert("Het veld 'adres' mag niet leeg zijn!");
    f.adres.focus();
    return false
  }
  // postcode
  if (f.postcode.value.length < 4) {
    alert("Het veld 'postcode' mag niet leeg zijn!");
    f.postcode.focus();
    return false
  }
  // plaats
  if (f.plaats.value == "") {
    alert("Het veld 'plaats' mag niet leeg zijn!");
    f.plaats.focus();
    return false
  }
  // selLand
  if (f.selLand.value == "") {
    alert("Er moet een land geselecteerd worden!");
    return false
  }
  // telefoon
  if (f.telefoon.value.length < 10) {
    alert("Het veld 'telefoon' mag niet leeg zijn!");
    f.telefoon.focus();
    return false
  }
  // email
  if (f.email.value == "") {
    alert("Het veld 'e-mail' mag niet leeg zijn!");
    return false
  } else {
    if (!isEmail(f.email.value)) {
      alert("Vul alsjeblieft een geldig e-mailadres in!");
      return false
    }  
  }
  // betaalwijze
  if (f.betaalwijze.value == "") {
    alert("Er moet een betaalwijze geselecteerd worden!");
    return false
  } else {
    // rekeningnummer ingevuld bij betaalwijze "Eenmalige machtiging" (value 1)?
    var checkedRadio = "";
    for (var i = 0; i < f.betaalwijze.length; i++) {
      if (f.betaalwijze[i].checked == true) {
        checkedRadio = f.betaalwijze[i].value
      }
    }
    if ((checkedRadio == "1") && (f.rekeningnummer.value == "")) {
      alert("Je bent vergeten het rekeningnummer voor de 'Eenmalige machtiging' op te geven!");
      return false
    } 
  }

  // voorwaarden_gelezen
  if (f.voorwaarden_gelezen.checked == false) {
    alert("Je moet akkoord gaan met de algemene voorwaarden!");
    return false
  }

  return true
}

//------------------------------------------------------------------------------
function calcResolution(minDpi) {
  var breedte, hoogte, elment;

  elment = document.getElementById('breedte'); //document.calcRes.elements['breedte'];
  breedte = elment.options[elment.selectedIndex].value;

  elment = document.getElementById('hoogte'); //document.calcRes.elements['hoogte'];
  hoogte = elment.options[elment.selectedIndex].value;

  if ((breedte != '') && (hoogte != '')) {
    //document.getElementById('resolutie').innerHTML = Math.round((breedte/2.54)*40)+" x "+Math.round((hoogte/2.54)*40);
    // delen door 2.54 is van cm naar inch, dan vermenigvuldigen met 40/60 is voor benodigde dpi resolutie (was 40, wordt60!)
    document.getElementById('resolutie').innerHTML = Math.round((breedte/2.54)*minDpi)+" x "+Math.round((hoogte/2.54)*minDpi);
  }
}

//------------------------------------------------------------------------------
function checkPrijsvraagForm() {

  // antwoord...
  var antw = document.getElementsByName("antwoord");
  var checkedRadio = "";
  for (var i = 0; i < antw.length; i++) {
    if (antw[i].checked == "1") {
      checkedRadio = antw[i].value;
    }
  }
  if (checkedRadio == "") {
    alert("Selecteer alsjeblieft een antwoord!");
    return false;
  }

  // voornaam
  var vnaam = document.getElementById("voornaam");
  if (vnaam.value.length < 2) {
    alert("Vul alsjeblieft je voornaam in!");
    return false;
  }

  // achternaam
  var anaam = document.getElementById("achternaam");
  if (anaam.value.length < 2) {
    alert("Vul alsjeblieft je achternaam in!");
    return false;
  }

  // e-mailadres
  var mail = document.getElementById("mailadres");
  if (mail.value == "") {
    alert("Vul alsjeblieft een e-mailadres in!");
    return false;
  } else {
    if (!isEmail(mail.value)) {
      alert("Vul alsjeblieft een geldig e-mailadres in!");
      return false;
    }
  }

  // hoe in contact gekomen
  var contact = document.getElementsByName("hoeincontact");
  var checkedRadio2 = "";
  for (i = 0; i < contact.length; i++) {
    if (contact[i].checked == "1") {
      checkedRadio2 = contact[i].value;
    }
  }
  if (checkedRadio2 == "") {
    alert("Selecteer alsjeblieft hoe je met Digidoek in contact bent gekomen!");
    return false;
  } else {
    if ((checkedRadio2 == "anders") && (document.getElementById("contactanders").value.length < 2)) {
      alert("Vul alsjeblieft in, op welke wijze je met Digidoek in contact bent gekomen!");
      return false;
    }
  }

  return true;
}

//------------------------------------------------------------------------------
// Albert Heijn actiepagina
function bestelProduct(artid) {
  var result = true;
  var pasnr = document.getElementById("pasnr").value;

  if (pasnr == '') {
    alert('Vul alstublieft uw AH pasnummer in!');
    result = false;
  } else {
    if ( pasnr.length < 5) {
      alert('Dit is een ongeldig pasnummer! (' + pasnr.toString() + ')');
      result = false;
    }
  }
  if (artid == '') {
    alert('Selecteer alstublieft een product!');
    result = false;
  } else {
    document.getElementById("aid").value = artid;
  }
  //alert('pasnr: ' + pasnr + '\nartid: ' + artid);
  if (result == true) {
    document.getElementById("bestelForm").submit();
  }
}

//------------------------------------------------------------------------------
function getWindowWidth() {
  var windowWidth = 0;
  if (typeof(window.innerWidth) == 'number') {
    windowWidth = window.innerWidth;
  } else {
    if (document.documentElement && document.documentElement.clientWidth) {
      windowWidth = document.documentElement.clientWidth;
    } else {
      if (document.body && document.body.clientWidth) {
        windowWidth = document.body.clientWidth;
      }
    }
  }
  return windowWidth;
}

//------------------------------------------------------------------------------
function getWindowHeight() {
  var windowHeight = 0;
  if (typeof(window.innerHeight) == 'number') {
    windowHeight = window.innerHeight;
  } else {
    if (document.documentElement && document.documentElement.clientHeight) {
      windowHeight = document.documentElement.clientHeight;
    } else {
      if (document.body && document.body.clientHeight) {
        windowHeight = document.body.clientHeight;
      }
    }
  }
  return windowHeight;
}

//------------------------------------------------------------------------------
function checkAanmelding() {
  var e = document.getElementById("email").value;
  var p = document.getElementById("password").value;
  if (e == "") {
    alert("Je bent je e-mailadres vergeten in te vullen!");
    return false
  } else {
    if (!isEmail(e)) {
      alert("Je hebt een ongeldig e-mailadres ingevuld!");
      return false
    }
  }
  if (p == "") {
    alert("Je bent je wachtwoord vergeten in te vullen!");
    return false
  }
  return true
}

//------------------------------------------------------------------------------
// AJAX ----

function ajax_setMatAfwPrijsArt(changedItem, product, resetChilds) {
  // dit is de ajax functie voor de afmeting list onChange
  // zodra er een (andere) afmeting geselecteerd is, de afwerking/materiaal DIVs zetten
  // komt uit /editor/script.js

  var afm = "";
  var matval = "";
  var afwval = "";
  var artval = "";
  var artid = "";
  var temp;
  var requrl;
  var slItem = "";
  
  if (changedItem != null) {
    slItem = changedItem.name;
  } else {
    slItem = "";
  }

  if ($("afmeting")) {
    afm = $("afmeting").value;
  }

  matval = getCheckedRadioVal("materiaal");
  //if ($("materiaal")) {
  //  matval = $("materiaal").value;
  //}

  afwval = getCheckedRadioVal("afwerking");
  //if ($("afwerking")) {
  //  afwval = $("afwerking").value;
  //}

  if ($("artid")) {
    artid = $("artid").value;
  }

  //alert(resetChilds);
  if (resetChilds == true) {
    //requrl = "/editor/ajax_getinfo.asp?state=" + slItem.toString() + "&product=" + product + "&afm=" + afm + "&mat=&afw=&art=";
    requrl = "/_ajax/ajax_getinfo.aspx?state=" + slItem.toString() + "&product=" + product + "&afm=" + afm + "&mat=&afw=&art=";
  } else {
    //requrl = "/editor/ajax_getinfo.asp?state=" + slItem.toString() + "&product=" + product + "&afm=" + afm + "&mat=" + matval + "&afw=" + afwval + "&art=" + artid;
    requrl = "/_ajax/ajax_getinfo.aspx?state=" + slItem.toString() + "&product=" + product + "&afm=" + afm + "&mat=" + matval + "&afw=" + afwval + "&art=" + artid;
  }

  if ($('divArtPrijs')) {
    $('divArtPrijs').set('html', '<img src="/_images/icon_wait1.gif" width="28" height="28" alt="updating"/>');
  } else {
    if ($('divArtikelen2')) {
      $('divArtikelen2').set('html', '<img src="/_images/icon_wait1.gif" width="28" height="28" alt="updating"/>');
    }  
  }

  var myAjax = new Request.HTML({url:requrl, method:'get', update:$('divArtikelen2'), onComplete:addListEvents} );
  var err = "";
  try {
    myAjax.send();
  }
  catch(err) {
    alert("Er is een fout opgetreden.\n" + err + "\nKlik op de knop 'Refresh' om de juiste productinformatie op te halen!");
    $('divArtikelen2').innerHTML = '<br/><input type="button" name="idError" value="Refresh" onclick="ajax_setMatAfwPrijsArt($(\'afmeting\'),' + product + ',true);"/>';
  }

}

//------------------------------------------------------------------------------
function createTooltip() {

  // (1) voor materiaal/afwerking tooltips MooTools Tips aanmaken
  if ($$('.toolTip1')) {
    var Tips1 = new Tips('.toolTip1');

    // sinds MooTools 1.2 wordt de tekst niet meer gesplitst op het teken ::
    // dit dus alsnog verzorgen
    /* $$('.toolTip1').each(function(el){
       var tipContent = el.getProperty('title'); // el.getProperty('title');
       if ((tipContent != null) && (tipContent != '')) {
         var tipBulle   = tipContent.split('::');
         var tipTitle   = tipBulle[0];
         var tipText    = tipBulle[1];
         el.store('tip:title', tipTitle);
         el.store('tip:text', tipText);
       }
    }); */

  }
}

//------------------------------------------------------------------------------
function addListEvents() {

  // (1) tooltips (achter radio-items) tot Tooltip maken!
  createTooltip()


  var prod = $("product").get('value');

  // (2) nu onclick events op materiaal radio-items plaatsen (zijn niet meer aanwezig in ajax result (in IE)...)
  $$('input[name=materiaal]').each(function(item) {
    //alert(item);
    item.addEvent('click', function () {ajax_setMatAfwPrijsArt(this,prod,false)});
  });

  // (3) nu onclick events op afwerking radio-items plaatsen (zijn niet aanwezig in ajax result (in IE)...)
  $$('input[name=afwerking]').each(function(item) {
    //alert(item);
    item.addEvent('click', function () {ajax_setMatAfwPrijsArt(this,prod,false)});
  });

  // (2) daarna -indien 1 materiaal en 1 afwerking en nog geen verder-knop- ajax_setMatAfwPrijsArt nogmaals uitvoeren
  /* if ($("materiaal_aantal") && $("afwerking_aantal") && $("product") && !$("btnNaarStap2") ) {
    var mataantal = $("materiaal_aantal").value;
    var afwaantal = $("afwerking_aantal").value;
    var product = $("product").value;

    //alert("mataantal: " + mataantal + ", afwaantal: " + afwaantal + ", product: " + product);
    if ((mataantal == 1) && (afwaantal == 1)) {
      ajax_setMatAfwPrijsArt($("afwerking"), product, false)
    }
  } */

}

//------------------------------------------------------------------------------
function setFloater() {
  /* Deze functie wordt in de editor aangeroepen, om de div overlay te plaatsen.
     In het gewone besteltraject is dit (nog) niet nodig... */

}

//------------------------------------------------------------------------------
function getCheckedRadioVal(radioName) {

  var checkedVal = "";
  var radioz = document.getElementsByName(radioName);

  for (var i = 0; i < radioz.length; i++) {
    if (radioz[i].checked == "1") {
      checkedVal = radioz[i].value
    }
  }
  return checkedVal
}

//------------------------------------------------------------------------------
function showHelp(helpType, typeID, helpDiv) {

  var divHelp = $(helpDiv);
  var state = "";
  var requrl = "";

  if (helpType == "m") {
    requrl = "/_ajax/ajax_getinfo.aspx?state=mathelp&mat=" + typeID;
  } else if (helpType == "a") {
    requrl = "/_ajax/ajax_getinfo.aspx?state=afwhelp&afw=" + typeID;
  }

  divHelp.innerHTML = "<div id=\"helpwindowtmp\"><img src=\"/_images/icon_wait2.gif\" width=\"28\" height=\"28\" alt=\"informatie wordt opgehaald\"/> Informatie wordt opgehaald... </div>";
  divHelp.style.display = "block";

  var myAjax = new Request.HTML({url:requrl, method:'get', update:$(helpDiv)} );
  myAjax.request();
}

//------------------------------------------------------------------------------
function hideDiv(divID) {

  if ($(divID)) {
    $(divID).innerHTML = "";
    $(divID).style.display = "none";
  }
}

//------------------------------------------------------------------------------
function setAfm(strAfm, strHiddenfieldID) {

  if ($(strHiddenfieldID)) {
    $(strHiddenfieldID).value = strAfm;
    $('Form1').submit();
  }
}

//------------------------------------------------------------------------------
function checkImage() {

  if (($("afbeelding")).value == "") {
    alert("Selecteer alsjeblieft een afbeelding met de 'Bladeren'-knop!");
    return false;
  }
  return true;
}

//------------------------------------------------------------------------------
function uploadFile(waitDiv) {

  if ($(waitDiv)) {
    ($(waitDiv)).style.display = "block";
    ($(waitDiv)).style.visibility = "visible";
  }

}

//------------------------------------------------------------------------------
function updateAmounts() {

  $("Form1").method = "POST";
  $("Form1").action = "/bestellen/bestelstap3.aspx";
  $("Form1").submit();
}

//------------------------------------------------------------------------------
function checkDigicode(id, digiCode) {

  if ((id != "") && (digiCode != "")) {
    $("divDigicode").innerHTML = '<img src="/_images/icon_wait3.gif" width="28" height="28" alt="Momentje..."/>';
    /* var requrl = "/_ajax/ajax_getinfo.aspx?state=digicodecheck&id=" + id + "&code=" + digiCode;
    var myAjax = new Request.HTML({url:requrl, method:'get', update:$('divDigicode')} );
    myAjax.send(); */
    $("Form1").action = "/bestellen/bestelstap3.aspx";
    $("Form1").submit();
  }
}

//------------------------------------------------------------------------------
function getsetBetaalwijzeItems(radioName) {

  var radioz = document.getElementsByName(radioName);

  for (var i = 0; i < radioz.length; i++) {
    if (radioz[i].checked == true) {
      if (radioz[i].value == 1) { // incasso selected
        $("betaalwijzeExtra").style.visibility = "visible";
        $("betaalwijzeExtra").addClass("reqFld");
      } else {
        $("betaalwijzeExtra").style.visibility = "hidden";
        $("betaalwijzeExtra").removeClass("reqFld");
      }
    }
  }
  //betaalwijzeExtra
}

//------------------------------------------------------------------------------
function cropImage() {

  $("Form1").action = "/bestellen/bestelstap2b.aspx";
  $("state").value  = "crop";
  $("Form1").submit();
}

//------------------------------------------------------------------------------
function restartImage(wwID, wwaID) {

  var requrl = ("/bestellen/upload.aspx?state=clearimg&id=" + wwID + "&wwaid=" + wwaID);

  $("Form1").action = requrl;
  $("Form1").method = "get";
  $("Form1").submit();

}

//------------------------------------------------------------------------------
function setWait(imgIDtoReplace) {

  //if ($(imgIDtoReplace)) {
  //  var btnToChange = $(imgIDtoReplace);
  //  btnToChange.setStyle("width", "32px");
  //  btnToChange.setStyle("height", "32px");
    //btnToChange.innerHTML = '<img src="/_images/icon_wait32x32_1.gif" width="32" height="32" alt=""/>';
  //  btnToChange.adopt(new Element('img',{'src':'/_images/icon_wait32x32_1.gif','width':32,'height':32,'alt':''}));
  //}

}

//------------------------------------------------------------------------------
//------------------------------------------------------------------------------
var Fieldset = new Class({
  initialize: function(fieldsetName) {
    this.fieldset = fieldsetName;
    
    if (this.fieldset.getElement('input[type=submit]')) this.fieldset.getElement('input[type=submit]').addEvent('click',this.fieldsetCheck);
  },
  
  fieldsetCheck: function(ev) {
    var misFld;
    var e = new Event(ev);
    e.stop();

    this.getParent().getElements('.reqFld').each(function(fld) {
      fld.removeClass('missingField');
      if (fld.get('value') == '') {
        fld.addClass('missingField');
        misFld = true;
      }
    });
    if (misFld == true) {
      alert('De gekleurde velden zijn verplicht.');
    } else {
      
      // mochten er 2 (reqFld) wachtwoorden aanwezig zijn, en deze zijn ongelijk, melden!
      if ( ($('wachtwoord')) && ($('wachtwoord2')) ) {
        if ( $('wachtwoord').get('value') != $('wachtwoord2').get('value') ) {
          alert('De opgegeven wachtwoorden zijn ongelijk, corrigeer deze!');
        } else {
          $$('form')[0].submit();
        }
      } else { // zo niet, alles ingevuld, submit!
      $$('form')[0].submit();
      }

    }
  }
});

//------------------------------------------------------------------------------
//------------------------------------------------------------------------------
var Form = new Class({
  initialize: function(formName) {
    this.form = formName;
    this.form.addEvent('submit',this.frmCheck);
  },
  
  frmCheck: function(ev) {
    var misFld;
    var e = new Event(ev);
    e.stop();
    
    $$('.reqFld').each(function(fld) {
      fld.removeClass('missingField');
      if (fld.get('value') == '') {
        fld.addClass('missingField');
        misFld = true;
      }
    });
    if (misFld == true) {
      alert('De gekleurde velden zijn verplicht.');
    } else {
      this.submit();
    }
  }
});

//------------------------------------------------------------------------------
function getSetKlantSoort() {
  // afhankelijk van [actiesoort] linkerdeel/rechterdeel van de pagina in/uitschakelen

  if ($("actiesoort1") && $("actiesoort2")) {

    var nieuweKlant = $("actiesoort1");

    if (nieuweKlant.getProperty("checked") == true) { // nieuwe klant, bestaande klant uitschakelen
      // alles in klantLogon fieldset uitschakelen
      $("forgotPassword").addClass('lblwidth2fade');
      $("klantLogon").addClass('bgorange50');
      $("klantLogon").removeClass('bgorange75');
      $("klantLogon").getChildren().each(function(fld) {
        if ((fld.get("tag") == "input") || (fld.get("tag") == "select")) {
          fld.setProperty("disabled", true);
          fld.removeClass("missingField");
        } else if (fld.get("tag") == "label") {
          fld.addClass('lblwidth2fade');
        }
      }) 
      // alles in nieuweKlant inschakelen
      if ($("nieuweKlant")) {
        $("nieuweKlant").addClass('bgorange75');
        $("nieuweKlant").removeClass('bgorange50');
        $("nieuweKlant").getChildren().each(function(fld) {
          if ((fld.get("tag") == "input") || (fld.get("tag") == "select")) {
            fld.setProperty("disabled", false);
          } else if (fld.get("tag") == "label") {
            fld.removeClass('lblwidth2fade');
          }
        })
      }
      // alles in accountInfo div inschakelen
      if ($("accountInfo")) {
        $("accountInfo").removeClass('lblwidth2fade');
        $("accountInfo").getChildren().each(function(fld) {
          if ((fld.get("tag") == "input") || (fld.get("tag") == "select")) {
            fld.setProperty("disabled", false);
          } else if (fld.get("tag") == "label") {
            fld.removeClass('lblwidth2fade');
          }
        })
      }
      $("vnaam").focus();

    } else { // bestaande klant, nieuwe klant uitschakelen
      // alles in klantLogon fieldset inschakelen
      $("forgotPassword").removeClass('lblwidth2fade');
      $("klantLogon").addClass('bgorange75');
      $("klantLogon").removeClass('bgorange50');
      $("klantLogon").getChildren().each(function(fld) {
        if ((fld.get("tag") == "input") || (fld.get("tag") == "select")) {
          fld.setProperty("disabled", false);
        } else if (fld.get("tag") == "label") {
          fld.removeClass('lblwidth2fade');
        }
      })
      // alles in nieuweKlant fieldset uitschakelen
      if ($("nieuweKlant")) {
        $("nieuweKlant").addClass('bgorange50');
        $("nieuweKlant").removeClass('bgorange75');
        $("nieuweKlant").getChildren().each(function(fld) {
          if ((fld.get("tag") == "input") || (fld.get("tag") == "select")) {
            fld.setProperty("disabled", true);
            fld.removeClass("missingField");
          } else if (fld.get("tag") == "label") {
            fld.addClass('lblwidth2fade');
          }
        })
      }
      // alles in accountInfo div uitschakelen
      if ($("accountInfo")) {
        $("accountInfo").addClass('lblwidth2fade');
        $("accountInfo").getChildren().each(function(fld) {
          if ((fld.get("tag") == "input") || (fld.get("tag") == "select")) {
            fld.setProperty("disabled", true);
            fld.removeClass("missingField");
          } else if (fld.get("tag") == "label") {
            fld.addClass('lblwidth2fade');
          }
        })
      }
      $("username").focus();
    }
  }

}

//------------------------------------------------------------------------------
function placeCorners(siteName) {
  // zorg er op de homepage/producten-pagina voor dat de kaders afgeronde hoekjes hebben
  
  var defCorner = new Element('div',{'class':'kaderCorner'}); 

  var cornerTL, cornerTR, cornerBL, cornerBR;

  if (siteName == "prinzon") {
    cornerTL = defCorner.clone().set('html', '<img src="/_images/kdrp_tl.gif" width="2" height="2"/>');
    cornerTR = defCorner.clone().set('html', '<img src="/_images/kdrp_tr.gif" width="2" height="2"/>');
    cornerBL = defCorner.clone().set('html', '<img src="/_images/kdrp_bl.gif" width="2" height="2"/>');
    cornerBR = defCorner.clone().set('html', '<img src="/_images/kdrp_br.gif" width="2" height="2"/>');
  } else {
    cornerTL = defCorner.clone().set('html', '<img src="/_images/kdr_tl.gif" width="2" height="2"/>');
    cornerTR = defCorner.clone().set('html', '<img src="/_images/kdr_tr.gif" width="2" height="2"/>');
    cornerBL = defCorner.clone().set('html', '<img src="/_images/kdr_bl.gif" width="2" height="2"/>');
    cornerBR = defCorner.clone().set('html', '<img src="/_images/kdr_br.gif" width="2" height="2"/>');
  }

  if (Browser.Engine.trident == true) { //IE!
    if (siteName == "prinzon") {
      cornerTL.setStyles({'top':-1,'left':-1});
      cornerTR.setStyles({'top':-1,'right':-1});
      cornerBL.setStyles({'bottom':-1,'left':-1});
      cornerBR.setStyles({'bottom':-1,'right':-1});
    } else {
      cornerTL.setStyles({'top':-2,'left':-2});
      cornerTR.setStyles({'top':-2,'right':-2});
      cornerBL.setStyles({'bottom':-2,'left':-2});
      cornerBR.setStyles({'bottom':-2,'right':-2});
    }
  } else { //overig
    if (siteName == "prinzon") {
      cornerTL.setStyles({'top':-12,'left':-1});
      cornerTR.setStyles({'top':-12,'right':-1});
      cornerBL.setStyles({'bottom':10,'left':-1});
      cornerBR.setStyles({'bottom':10,'right':-1});
    } else {
      cornerTL.setStyles({'top':-14,'left':-2});
      cornerTR.setStyles({'top':-14,'right':-2});
      cornerBL.setStyles({'bottom':10,'left':-2});
      cornerBR.setStyles({'bottom':10,'right':-2});
    }
  }

  //4 div'jes toevoegen (afhankelijk van IE/FF wisselende top/right/bottom/left pxs) aan contentkader[1|2]
  $$('#content div[class^=contentkader]').each(function(kdr) {
    cornerTL.clone().inject(kdr, 'top');
    cornerTR.clone().inject(kdr, 'top');
    cornerBL.clone().inject(kdr, 'top');
    cornerBR.clone().inject(kdr, 'top');
  })

}

//------------------------------------------------------------------------------
function reorder(orderID) {
  var url = "/bestellen/reorder.aspx?id=" + orderID.toUpperCase() + "&";
  document.location = url;
}

//------------------------------------------------------------------------------
function getSetWidthHeightArt(changedItem) {
  // productpagina (fotoschilderij), voor elementen "Andere afmetingen"

  var intProdId = $('product').get('value');

  var curBreedte = NaN;
  var curHoogte  = NaN;
  if ($('breedte')) { curBreedte = $('breedte').get('value'); }
  if ($('hoogte'))  { curHoogte  = $('hoogte').get('value');  }

  //alert('changedItem: ' + changedItem);
  //alert('$("breedte").get("value"): ' + curBreedte + ', $("hoogte").get("value"): ' + curHoogte );

  if (changedItem == 'w') {
    // breedte-list is veranderd, hoogte-list (al dan niet gefilterd) ophalen

    //if (curBreedte.toInt() != NaN) {
      // breedte = numerieke waarde, gefilterde hoogte-list ophalen
    ajax_getHeightList(intProdId, 'breedte', 'hoogte', 'lstHeight');
    //} else {
      // breedte = niet numerieke waarde ([kies]), volledige hoogte-list ophalen
    //  ajax_getHeightList(intProdId, 'breedte', 'hoogte', 'lstHeight');
    //}
  } else {
    // hoogte-list is veranderd, breedte-list (al dan niet gefilterd) ophalen

    //if (curHoogte.toInt() != NaN) {
      // hoogte = numerieke waarde, gefilterde breedte-list ophalen
    ajax_getWidthList(intProdId, 'hoogte', 'breedte', 'lstWidth');
    //} else {
      // hoogte = niet numerieke waarde ([kies]), volledige breedte-list ophalen
    //  ajax_getWidthList(intProdId, 'hoogte', 'breedte', 'lstWidth');
    //}
  }

  // breedte/hoogte lijst opgehaald, is er een geldige breedte/hoogte combinatie?
  // zo ja, dan kan artikelinfo/prijs opgehaald, en [verder]button geplaatst!
  //alert('prod!');
  ajax_setProduct(intProdId, curBreedte, curHoogte, 'otherProduct');
  
}

//------------------------------------------------------------------------------
function setAfleveradresSlider() {
  if ($('divAfleveradresNew')) {
    // sliderrrr
    var mySlide1 = new Fx.Slide('divAfleveradresNew').hide();
    // restore original checked-state on 1st item
    var aflAdressen = $('afleverInfo').getElements('input[name=afleverid]');
    aflAdressen[0].checked == true;
  }
}

//------------------------------------------------------------------------------
function showHideNieuwAfleveradres(divIDtoShowHide) {

  var selectedVal = '';
  var aflAdressen = $('afleverInfo').getElements('input[name=afleverid]');
  for (var i = 0; i < aflAdressen.length ; i++) {
    if (aflAdressen[i].checked == true) {
      selectedVal = aflAdressen[i].value;
    }
  }
  if (selectedVal != '') {
    if (selectedVal == 'new') { // elementen "Nieuw afleveradres" tonen
      $(divIDtoShowHide).get('slide').slideIn('vertical');
    } else { //                    elementen "Nieuw afleveradres" verbergen
      $(divIDtoShowHide).get('slide').slideOut('vertical');
    }
  }
}

//------------------------------------------------------------------------------
function deleteWwArtikel(wwaID) {

  if (confirm('Weet je zeker dat je dit artikel uit je winkelwagen wilt verwijderen?\n(De bijbehorende afbeelding wordt ook verwijderd!)')) {
    $("Form1").action = "?state=delete&wwaid=" + wwaID;
    $("Form1").submit();
  }

}

//------------------------------------------------------------------------------
function ajax_getHeightList(intProdId, sourceSelect, targetSelect, targetBlock) {

  //var selWidth  = $(sourceSelect).get('value');
  //var curHeight = $(targetSelect).get('value');

  //var selWidth  = $('breedte').get('value');
  //var curHeight = $('hoogte').get('value');

  var selWidth  = NaN;
  var curHeight = NaN;
  if ($('breedte')) { selWidth  = $('breedte').get('value'); }
  if ($('hoogte'))  { curHeight = $('hoogte').get('value');  }

  //if ((intProdId != "") && (selWidth != "")) {
  if (intProdId != "") {
    if ($("otherProduct")) {
      $("otherProduct").innerHTML = "";
    }
    $(targetBlock).innerHTML = '<img src="/_images/icon_waitsmall.gif" width="16" height="16" alt="Momentje..."/>';
    var requrl = "/_ajax/ajax_getinfo.aspx?state=prodheightlst&id=" + intProdId + "&w=" + selWidth;
    if (parseInt(curHeight, 10) > 0) {requrl += '&ch=' + parseInt(curHeight, 10);}
    //var myAjax = new Request.HTML({url:requrl, method:'get', update:$(targetBlock), onComplete:ajax_setProduct(intProdId,'breedte','hoogte','otherProduct') });
    var myAjax = new Request.HTML({url:requrl, method:'get', update:$(targetBlock), evalScripts:true, onComplete:setOnchangeActionOnWidthHeightLists() });
    myAjax.send();
  }
}

//------------------------------------------------------------------------------
function ajax_getWidthList(intProdId, sourceSelect, targetSelect, targetBlock) {

  //var selHeight = $(sourceSelect).get('value');
  //var curWidth  = $(targetSelect).get('value');
  var selHeight = NaN;
  var curWidth  = NaN;

  if ($('hoogte'))  { selHeight = $('hoogte').get('value'); }
  if ($('breedte')) { curWidth  = $('breedte').get('value'); }

  //if ((intProdId != "") && (selHeight != "")) {
  if (intProdId != "") {
    if ($("otherProduct")) {
      $("otherProduct").innerHTML = "";
    }
    $(targetBlock).innerHTML = '<img src="/_images/icon_waitsmall.gif" width="16" height="16" alt="Momentje..."/>';
    var requrl = "/_ajax/ajax_getinfo.aspx?state=prodwidthlst&id=" + intProdId + "&h=" + selHeight;
    if (parseInt(curWidth, 10) > 0) {requrl += '&cw=' + parseInt(curWidth, 10);}
    //var myAjax = new Request.HTML({url:requrl, method:'get', update:$(targetBlock), onComplete:ajax_setProduct(intProdId,'breedte','hoogte','otherProduct') });
    var myAjax = new Request.HTML({url:requrl, method:'get', update:$(targetBlock), evalScripts:true, onComplete:setOnchangeActionOnWidthHeightLists() });
    myAjax.send();
  }
}

//------------------------------------------------------------------------------
function ajax_setProduct(prodID, targetDiv) {

  var breedte = NaN;
  var hoogte  = NaN;

  if ($('hoogte'))  { hoogte  = $('hoogte').get('value'); }
  if ($('breedte')) { breedte = $('breedte').get('value'); }

  if ( (parseInt(breedte,10) > 0) && (parseInt(hoogte,10) > 0) ) {
  //if ((breedte != "") && (hoogte != "")) {
    $(targetDiv).innerHTML = '<img src="/_images/icon_waitsmall.gif" width="16" height="16" alt="Momentje..."/>';
    var requrl = "/_ajax/ajax_getinfo.aspx?state=prodinfo&id=" + prodID + "&w=" + breedte + "&h=" + hoogte;
    var myAjax = new Request.HTML({url:requrl, method:'get', update:$(targetDiv)});
    myAjax.send();
  } else {
    if ($(targetDiv)) {
      $(targetDiv).innerHTML = "";
    }
  }

}

//------------------------------------------------------------------------------
function setOnchangeActionOnWidthHeightLists() {

  var prodID = $('product').get('value');

  // onchange event op breedte-list plaatsen
  if ($('breedte')) {
    $('breedte').addEvent('change', function () {getSetWidthHeightArt('w')});
  }

  // onchange event op hoogte-list plaatsen
  if ($('hoogte')) {
    $('hoogte').addEvent('change', function () {getSetWidthHeightArt('h')});
  }

  // is er een breedte EN hoogte geselecteerd, haal dan productinfo. + button op!
  if ( $('breedte') && $('hoogte') ) {
    var curW = $('breedte').get('value');
    var curH = $('hoogte').get('value');
    if ( (parseInt(curW,10) > 0) && (parseInt(curH,10) > 0) ) {
      ajax_setProduct(prodID,'otherProduct');
    }
  }

}

//------------------------------------------------------------------------------
function ajax_checkRecalcShopCart(WinkelwagenID, WinkelwagenArtikelID) {

  if ($('orderInfo')) {
    // buttons (winkelen|stap4) (weer) enable'n
    //$('btnWinkelen').disabled = false;
    //$('btnNaar4').disabled = false;

    // nieuwe aantal ophalen
    var divToUpdate = $('orderInfo');
    var wwAid2 = WinkelwagenArtikelID.replace('\{','');
    wwAid2 = wwAid2.replace('\}','');
    wwAid2 = wwAid2.toLowerCase();
    var newAmount = $('wwaid_' + wwAid2).value;
    $('wwaid_' + wwAid2).value = newAmount.replace(/[^0-9]/,'');
    newAmount = $('wwaid_' + wwAid2).value;

    if (newAmount != '') { // er is een (numerieke) waarde ingegeven
      if (parseInt(newAmount, 10) <= 0) {
        //$('wwaid_' + wwAid2).value = "";
        //$('btnWinkelen').disabled = true;
        //$('btnNaar4').disabled = true;
        alert("Dit is een ongeldig aantal!\n\nAls je dit artikel wilt verwijderen, klik je rechts van het artikel op 'verwijderen'.");
        newAmount = 1;
        $('wwaid_' + wwAid2).value = 1;
      } 
      // set "wait'er""
      if ($('divAjaxStat')) {
        $('divAjaxStat').setStyles({
          width: '585px',
          padding: '4px',
          margin: '6px 0px 10px 0px',
          border: '1px solid #DE6E1D',
          background: '#F4D3BB'
        });
        $('divAjaxStat').innerHTML = '<img src="/_images/icon_wait3.gif" width="28" height="28" alt="Momentje..."/> <strong>Herberekenen prijzen... Een momentje alstublieft!</strong>';
      }
      // AJAX call
      var requrl = '/_ajax/ajax_getinfo.aspx?state=recalcbasket&id=' + WinkelwagenID + '&wwa=' + WinkelwagenArtikelID + '&a=' + newAmount;
      var myAjax = new Request.HTML({url:requrl, method:'get', update:$('orderInfo')} );
      myAjax.send();
    }
  }

}

//------------------------------------------------------------------------------
function ajax_setKlantEdit(target, klantID) {
  
  if ($(target)) {
    // set wait icon
    if ($('divBtnWijzigKlant')) {
      $('divBtnWijzigKlant').innerHTML = '<img src="/_images/icon_waitsmall.gif" width="16" height="16" alt="Momentje..."/>';
    }
    // do request
    var requrl = "/_ajax/ajax_getinfo.aspx?state=editklant&k=" + klantID;
    var myAjax = new Request.HTML({url:requrl, method:'get', update:$(target)} );
    var err = "";
    try {
      myAjax.send();
    }
    catch(err) {
      $(target).innerHTML = "";
    }
  }
}

//------------------------------------------------------------------------------
function ajax_cancelKlantEdit(target, klantID) {
  
  if ($(target)) {
    var requrl = "/_ajax/ajax_getinfo.aspx?state=klantinfo&k=" + klantID;
    var myAjax = new Request.HTML({url:requrl, method:'get', update:$(target)} );
    var err = "";
    try {
      myAjax.send();
    }
    catch(err) {
      $(target).innerHTML = "";
    }
  }
}

//------------------------------------------------------------------------------
function saveKlantInfo(target, klantID) {
  
  if ($(target)) {
    var requrl = "/_ajax/ajax_getinfo.aspx?state=saveklant";
    //var myAjax      = new Request.HTML({url:requrl, method:'post', update:$(target)} );
    var myHTMLRequest = new Request.HTML({url:requrl, update:$(target)}).post($(target));
    var err = "";
    try {
      myAjax.send();
    }
    catch(err) {
      $(target).innerHTML = "";
    }
  }
}

//------------------------------------------------------------------------------

//------------------------------------------------------------------------------