/* random number between x and y, equal opportunities
   x = lower boundary, y = upper boundary
   formula for equal opprtunitiy: Math.round( (x - 0.5) +( ( (y+0.49999) - (x-0.5) ) * Math.random() ) )
   var image = images[Math.round((0-0.5)+((((images.length-1)+0.49999)-(0-0.5))*Math.random()))]; */

function pickRandom(lower,upper) {
  if (Math.random) {
    return Math.round( (lower - 0.5) +( ( (upper+0.49999) - (lower - 0.5) ) * Math.random() ) );
  }
  else {
    var now = new Date();
    return (now.getTime() / 1000) % (upper - lower);
  }
}

// Quotes
Quoteslength = 0;
Quotes = new Array;
  Quotes[Quoteslength++] = "De schoolfoto's van Gallery&nbsp;imaging hebt u<br>vast wel eens gezien,<br>al wist u dat niet.";
  Quotes[Quoteslength++] = "... hebben we meer dan<br>een half miljoen<br>portretten gemaakt ...";
  Quotes[Quoteslength++] = "... vooral prettige samenwerking<br>met scholen en<br>leerlingen ...";
  Quotes[Quoteslength++] = "... zijn we een graag<br>geziene gast op<br>'onze' scholen ...";

function WriteQuote() {
  document.write(Quotes[pickRandom(0,Quoteslength-1)]);
}

// prijslijst

  var pr_1319 =  "5.00"; // afdrukken 13 x 19

  var pr_2030 = "10.00"; // afdrukken 20 x 30

  var pr_3045 = "17.50"; // afdrukken 30 x 45
  var pr_m30  =  "9.00"; // opplakken 30 x 40
  var pr_l30  =  "8.50"; // lamineren 30 x 40

  var pr_4060 = "19.50"; // afdrukken 40 x 60
  var pr_m40  = "10.00"; // opplakken 40 x 60
  var pr_l40  =  "9.50"; // lamineren 40 x 60

  var pr_5075 = "22.50"; // afdrukken 50 x 75
  var pr_m50  = "11.50"; // opplakken 50 x 75
  var pr_l50  = "11.00"; // lamineren 50 x 75

  var pr_6090 = "25.50"; // afdrukken 60 x 90
  var pr_m60  = "13.00"; // opplakken 60 x 90
  var pr_l60  = "12.50"; // lamineren 60 x 90

  var pr_best = "19.50"; // digitaal bestand

  var cv30    = "39.50"; // canvas vierkant 30x30
  var cv45    = "49.50"; // canvas vierkant 45x45
  var cv70    = "89.00"; // canvas vierkant 70x70
  var cv80    = "99.00"; // canvas vierkant 80x80
  var cv100  = "139.00"; // canvas vierkant 100x100

  var cr30    = "49.50"; // canvas rechthoekig 30x45
  var cr50    = "59.00"; // canvas rechthoekig 50x70
  var cr80   = "139.00"; // canvas rechthoekig 80x120
  var cr100  = "219.00"; // canvas rechthoekig 100x150

  var handling = "0.00"; // standaard handling fee
  
  var pr_muismat = "9.95"; // muismat met foto
  var pr_mok = "9.95"; // mok met foto
  var pr_sleutelhanger = "4.95"; // sleutelhanger

// anti-spam mail trucje

var bmail = "<a href='mailto:";
var naam = "info";
var domein = "galleryschoolfoto.nl";
var email = "'>";
var endref = "</a>";

function mail1() {
  document.write ( bmail + naam + "@" + domein + email + naam + "@" + domein + endref );
}

function mail2() {
  document.write ( bmail + "order" + naam + "@" + domein + email + "order" + naam + "@" + domein + endref );
}

// functies t.b.v. nabestellingen formulier

// submit-button
function submit() {
  document.write('<input class="button" type="submit" value="verstuur uw bestelling" tabindex="1" />');
}

// code128 encoding

function encode(barcode) {
  value = new Array(
   ' ','!','"','#','$','%','&amp;',"'",'(',')','*','+',
   ',','-','.','/','0','1','2','3','4','5','6','7',
   '8','9',':',';','<','=','>','?','@','A','B','C',
   'D','E','F','G','H','I','J','K','L','M','N','O',
   'P','Q','R','S','T','U','V','W','X','Y','Z','[',
  '\\',']','^','_','`','a','b','c','d','e','f','g',
   'h','i','j','k','l','m','n','o','p','q','r','s',
   't','u','v','w','x','y','z','{','|','}','~','&#145;',
   '&#146;', '&#147;', '&#148;', '&#149;', '&#150;', '&#151;','&#152;', '&#153;', '&#154;', '&#155;', '&#156;'
// 145 = DEL
// 146 = FNC3, 147 = FNC2, 148 = SHIFT, 149 = CODE C, 150 = FNC4, 151 = CODE A, 152 = FNC1, 153 = START A, 154 = START B, 155 = START C, 156 = STOP
  );
  barcodeok = (barcode != null);
  if (barcodeok) { barcodeok = (barcode != ""); }
// global replace of extended ASCII characters to allow some kind of conversion at least
  var newString = barcode
  newString = newString.replace(/\x81/g,"?"); //129
  newString = newString.replace(/\x82/g,","); //130
  newString = newString.replace(/\x83/g,"fl");
  newString = newString.replace(/\x84/g,'"');
  newString = newString.replace(/\x85/g,"...");
  newString = newString.replace(/\x86/g,"+");
  newString = newString.replace(/\x87/g,"++");
  newString = newString.replace(/\x88/g,"^");
  newString = newString.replace(/\x89/g,"0/00");
  newString = newString.replace(/\x8A/g,"S");
  newString = newString.replace(/\x8B/g,"<");
  newString = newString.replace(/\x8C/g," "); //140
  newString = newString.replace(/\x8D/g,"?");
  newString = newString.replace(/\x8E/g,"Z");
  newString = newString.replace(/\x8F/g,"?");
  newString = newString.replace(/\x90/g,"?");
  newString = newString.replace(/\x91/g,"'");
  newString = newString.replace(/\x92/g,"'");
  newString = newString.replace(/\x93/g,'"');
  newString = newString.replace(/\x94/g,'"');
  newString = newString.replace(/\x95/g,"*");
  newString = newString.replace(/\x96/g,"-"); //150
  newString = newString.replace(/\x97/g,"--");
  newString = newString.replace(/\x98/g,"~");
  newString = newString.replace(/\x99/g,"(TM)");
  newString = newString.replace(/\x9A/g,"s");
  newString = newString.replace(/\x9B/g,">");
  newString = newString.replace(/\x9C/g,"oe");
  newString = newString.replace(/\x9D/g,"?");
  newString = newString.replace(/\x9E/g,"z");
  newString = newString.replace(/\x9F/g,"Y");
  newString = newString.replace(/\xA0/g," "); //160
  newString = newString.replace(/\xA1/g,"i");
  newString = newString.replace(/\xA2/g,"ct.");
  newString = newString.replace(/\xA3/g,"UKP");
  newString = newString.replace(/\xA4/g,"*");
  newString = newString.replace(/\xA5/g,"JapY");
  newString = newString.replace(/\xA6/g,"|");
  newString = newString.replace(/\xA7/g,"Par");
  newString = newString.replace(/\xA8/g,'"');
  newString = newString.replace(/\xA9/g,"(c)");
  newString = newString.replace(/\xAA/g,"a"); //170
  newString = newString.replace(/\xAB/g,"<<");
  newString = newString.replace(/\xAC/g,"*");
  newString = newString.replace(/\xAD/g," ");
  newString = newString.replace(/\xAE/g,"(Reg)");
  newString = newString.replace(/\xAF/g,"_");
  newString = newString.replace(/\xB0/g,"^o");
  newString = newString.replace(/\xB1/g,"+/-");
  newString = newString.replace(/\xB2/g,"^2");
  newString = newString.replace(/\xB3/g,"^3");
  newString = newString.replace(/\xB4/g,"'"); //180
  newString = newString.replace(/\xB5/g,"mu");
  newString = newString.replace(/\xB6/g,"*");
  newString = newString.replace(/\xB7/g,".");
  newString = newString.replace(/\xB8/g,",");
  newString = newString.replace(/\xB9/g,"^1");
  newString = newString.replace(/\xBA/g,"^0");
  newString = newString.replace(/\xBB/g,">>");
  newString = newString.replace(/\xBC/g,"1/4");
  newString = newString.replace(/\xBD/g,"1/2");
  newString = newString.replace(/\xBE/g,"3/4"); //190
  newString = newString.replace(/\xBF/g,"?");
  newString = newString.replace(/\xC0/g,"A");
  newString = newString.replace(/\xC1/g,"A");
  newString = newString.replace(/\xC2/g,"A");
  newString = newString.replace(/\xC3/g,"A");
  newString = newString.replace(/\xC4/g,"A");
  newString = newString.replace(/\xC5/g,"A");
  newString = newString.replace(/\xC6/g,"AE");
  newString = newString.replace(/\xC7/g,"C");
  newString = newString.replace(/\xC8/g,"E"); //200
  newString = newString.replace(/\xC9/g,"E");
  newString = newString.replace(/\xCA/g,"?");
  newString = newString.replace(/\xCB/g,"E");
  newString = newString.replace(/\xCC/g,"I");
  newString = newString.replace(/\xCD/g,"I");
  newString = newString.replace(/\xCE/g,"I");
  newString = newString.replace(/\xCF/g,"I");
  newString = newString.replace(/\xD0/g,"D");
  newString = newString.replace(/\xD1/g,"N");
  newString = newString.replace(/\xD2/g,"O"); //210
  newString = newString.replace(/\xD3/g,"O");
  newString = newString.replace(/\xD4/g,"O");
  newString = newString.replace(/\xD5/g,"O");
  newString = newString.replace(/\xD6/g,"O");
  newString = newString.replace(/\xD7/g,"x");
  newString = newString.replace(/\xD8/g,"O");
  newString = newString.replace(/\xD9/g,"U");
  newString = newString.replace(/\xDA/g,"U");
  newString = newString.replace(/\xDB/g,"U");
  newString = newString.replace(/\xDC/g,"U"); //220
  newString = newString.replace(/\xDD/g,"Y");
  newString = newString.replace(/\xDE/g,"p");
  newString = newString.replace(/\xDF/g,"sz");
  newString = newString.replace(/\xE0/g,"a");
  newString = newString.replace(/\xE1/g,"a");
  newString = newString.replace(/\xE2/g,"a");
  newString = newString.replace(/\xE3/g,"a");
  newString = newString.replace(/\xE4/g,"a");
  newString = newString.replace(/\xE5/g,"a");
  newString = newString.replace(/\xF6/g,"ae"); //230
  newString = newString.replace(/\xE7/g,"c");
  newString = newString.replace(/\xE8/g,"e");
  newString = newString.replace(/\xE9/g,"e");
  newString = newString.replace(/\xEA/g,"e");
  newString = newString.replace(/\xEB/g,"e");
  newString = newString.replace(/\xEC/g,"i");
  newString = newString.replace(/\xED/g,"i");
  newString = newString.replace(/\xEE/g,"i");
  newString = newString.replace(/\xEF/g,"i");
  newString = newString.replace(/\xF0/g,"d"); //240
  newString = newString.replace(/\xF1/g,"n");
  newString = newString.replace(/\xF2/g,"o");
  newString = newString.replace(/\xF3/g,"o");
  newString = newString.replace(/\xF4/g,"o");
  newString = newString.replace(/\xF5/g,"o");
  newString = newString.replace(/\xF6/g,"o");
  newString = newString.replace(/\xF7/g,"/");
  newString = newString.replace(/\xF8/g,"o");
  newString = newString.replace(/\xF9/g,"u");
  newString = newString.replace(/\xFA/g,"u"); //250
  newString = newString.replace(/\xFB/g,"u");
  newString = newString.replace(/\xFC/g,"u");
  newString = newString.replace(/\xFD/g,"y");
  newString = newString.replace(/\xFE/g,"P");
  newString = newString.replace(/\xFF/g,"y"); //255
  barcode = newString;
// calculate checksum
  if (barcodeok) {
    chksum = 104;
    code = barcode;
    m = 1;
    for (i = 0; i < barcode.length; i++) {
      v = -1;
      for (j = 0; j < value.length; j++) {
        if (value[j] == barcode.charAt(i)) {
          v = j;
        }
      }
      chksum += m * v;
      m++;
    }
    chksum = chksum % 103;
    chkAsc = chksum + 32
// global replace space with euro :-)
    var newerString = barcode + value[chksum];
    newerString = newerString.replace(/ /g, "&#128;");
    barcode = newerString;
  }
  return "&#154;" + barcode + "&#156;";
}

// zorg ervoor dat '4' '4.00' wordt

function dp(price) {
  string = "" + price;
  number = string.length - string.indexOf('.');
  if (string.indexOf('.') == -1) return string + '.00';
  if (number == 1) return string + '00';
  if (number == 2) return string + '0';
  if (number > 3) return string.substring(0,string.length-number+3);
  return string;
}

// bereken prijzen, netto, bruto e.d.

function calculate() {
  if (!IsNumeric(document.bestelformulier.combi01k.value))  { alert("Vul a.u.b. het aantal in"); document.bestelformulier.combi01k.focus(); return (false); }
  if (!IsNumeric(document.bestelformulier.combi01z.value))  { alert("Vul a.u.b. het aantal in"); document.bestelformulier.combi01z.focus(); return (false); }
  if (!IsNumeric(document.bestelformulier.combi01s.value))  { alert("Vul a.u.b. het aantal in"); document.bestelformulier.combi01s.focus(); return (false); }
  if (!IsNumeric(document.bestelformulier.combi01c.value))  { alert("Vul a.u.b. het aantal in"); document.bestelformulier.combi01c.focus(); return (false); }

  if (!IsNumeric(document.bestelformulier.combi02k.value))  { alert("Vul a.u.b. het aantal in"); document.bestelformulier.combi02k.focus(); return (false); }
  if (!IsNumeric(document.bestelformulier.combi02z.value))  { alert("Vul a.u.b. het aantal in"); document.bestelformulier.combi02z.focus(); return (false); }
  if (!IsNumeric(document.bestelformulier.combi02so.value)) { alert("Vul a.u.b. het aantal in"); document.bestelformulier.combi02so.focus(); return (false); }

  if (!IsNumeric(document.bestelformulier.combi03.value))   { alert("Vul a.u.b. het aantal in"); document.bestelformulier.combi03.focus(); return (false); }

  if (!IsNumeric(document.bestelformulier.combi04.value))   { alert("Vul a.u.b. het aantal in"); document.bestelformulier.combi04.focus(); return (false); }

  if (!IsNumeric(document.bestelformulier.combi05.value))   { alert("Vul a.u.b. het aantal in"); document.bestelformulier.combi05.focus(); return (false); }

  if (!IsNumeric(document.bestelformulier.combi08.value))   { alert("Vul a.u.b. het aantal in"); document.bestelformulier.combi08.focus(); return (false); }

  if (!IsNumeric(document.bestelformulier.combi04_1.value)) { alert("Vul a.u.b. het aantal in"); document.bestelformulier.combi04_1.focus(); return (false); }

  if (!IsNumeric(document.bestelformulier.combi05_1.value)) { alert("Vul a.u.b. het aantal in"); document.bestelformulier.combi05_1.focus(); return (false); }

  if (!IsNumeric(document.bestelformulier.combi08_1.value)) { alert("Vul a.u.b. het aantal in"); document.bestelformulier.combi08_1.focus(); return (false); }

  if (!IsNumeric(document.bestelformulier.combi09k.value))  { alert("Vul a.u.b. het aantal in"); document.bestelformulier.combi09k.focus(); return (false); }
  if (!IsNumeric(document.bestelformulier.combi09z.value))  { alert("Vul a.u.b. het aantal in"); document.bestelformulier.combi09z.focus(); return (false); }
  if (!IsNumeric(document.bestelformulier.combi09s.value))  { alert("Vul a.u.b. het aantal in"); document.bestelformulier.combi09s.focus(); return (false); }

  if (!IsNumeric(document.bestelformulier.combi12k.value))  { alert("Vul a.u.b. het aantal in"); document.bestelformulier.combi12k.focus(); return (false); }
  if (!IsNumeric(document.bestelformulier.combi12z.value))  { alert("Vul a.u.b. het aantal in"); document.bestelformulier.combi12z.focus(); return (false); }
  if (!IsNumeric(document.bestelformulier.combi12s.value))  { alert("Vul a.u.b. het aantal in"); document.bestelformulier.combi12s.focus(); return (false); }
  if (!IsNumeric(document.bestelformulier.combi12c.value))  { alert("Vul a.u.b. het aantal in"); document.bestelformulier.combi12c.focus(); return (false); }

  if (!IsNumeric(document.bestelformulier.combi13k.value))  { alert("Vul a.u.b. het aantal in"); document.bestelformulier.combi13k.focus(); return (false); }
  if (!IsNumeric(document.bestelformulier.combi13z.value))  { alert("Vul a.u.b. het aantal in"); document.bestelformulier.combi13z.focus(); return (false); }
  if (!IsNumeric(document.bestelformulier.combi13s.value))  { alert("Vul a.u.b. het aantal in"); document.bestelformulier.combi13s.focus(); return (false); }
  if (!IsNumeric(document.bestelformulier.combi13c.value))  { alert("Vul a.u.b. het aantal in"); document.bestelformulier.combi13c.focus(); return (false); }

  if (!IsNumeric(document.bestelformulier.groep13k.value))  { alert("Vul a.u.b. het aantal in"); document.bestelformulier.groep13k.focus(); return (false); }
  if (!IsNumeric(document.bestelformulier.groep20k.value))  { alert("Vul a.u.b. het aantal in"); document.bestelformulier.groep20k.focus(); return (false); }

  if (!IsNumeric(document.bestelformulier.bestand.value))   { alert("Vul a.u.b. een 1 of een 0 in"); document.bestelformulier.bestand.focus(); return (false); }
  if ( document.bestelformulier.bestand.value > 1 )         { alert("Vul a.u.b. een 1 of niets in"); document.bestelformulier.bestand.focus(); return (false); }

  if (!IsNumeric(document.bestelformulier.muismat.value))   { alert("Vul a.u.b. het aantal in"); document.bestelformulier.muismat.focus(); return (false); }
  if (!IsNumeric(document.bestelformulier.sleutelhanger.value)) { alert("Vul a.u.b. het aantal in"); document.bestelformulier.sleutelhanger.focus(); return (false); }
  if (!IsNumeric(document.bestelformulier.mok.value))       { alert("Vul a.u.b. het aantal in"); document.bestelformulier.mok.focus(); return (false); }

  if (!IsNumeric(document.bestelformulier.combi40k.value))  { alert("Vul a.u.b. het aantal in"); document.bestelformulier.combi40k.focus(); return (false); }
  if (!IsNumeric(document.bestelformulier.combi50k.value))  { alert("Vul a.u.b. het aantal in"); document.bestelformulier.combi50k.focus(); return (false); }
  if (!IsNumeric(document.bestelformulier.combi60k.value))  { alert("Vul a.u.b. het aantal in"); document.bestelformulier.combi60k.focus(); return (false); }

  if (!IsNumeric(document.bestelformulier.canvasv3.value))  { alert("Vul a.u.b. het aantal in"); document.bestelformulier.canvasv3.focus(); return (false); }
  if (!IsNumeric(document.bestelformulier.canvasv4.value))  { alert("Vul a.u.b. het aantal in"); document.bestelformulier.canvasv4.focus(); return (false); }
  if (!IsNumeric(document.bestelformulier.canvasv7.value))  { alert("Vul a.u.b. het aantal in"); document.bestelformulier.canvasv7.focus(); return (false); }
  if (!IsNumeric(document.bestelformulier.canvasv8.value))  { alert("Vul a.u.b. het aantal in"); document.bestelformulier.canvasv8.focus(); return (false); }
  if (!IsNumeric(document.bestelformulier.canvasv10.value)) { alert("Vul a.u.b. het aantal in"); document.bestelformulier.canvasv10.focus(); return (false); }

  if (!IsNumeric(document.bestelformulier.canvasr3.value))  { alert("Vul a.u.b. het aantal in"); document.bestelformulier.canvasr3.focus(); return (false); }
  if (!IsNumeric(document.bestelformulier.canvasr5.value))  { alert("Vul a.u.b. het aantal in"); document.bestelformulier.canvasr5.focus(); return (false); }
  if (!IsNumeric(document.bestelformulier.canvasr8.value))  { alert("Vul a.u.b. het aantal in"); document.bestelformulier.canvasr8.focus(); return (false); }
  if (!IsNumeric(document.bestelformulier.canvasr10.value)) { alert("Vul a.u.b. het aantal in"); document.bestelformulier.canvasr10.focus(); return (false); }

  document.bestelformulier.bedrag01k.value = dp(pr_1319*(document.bestelformulier.combi01k.value));
  document.bestelformulier.bedrag01z.value = dp(pr_1319*(document.bestelformulier.combi01z.value));
  document.bestelformulier.bedrag01s.value = dp(pr_1319*(document.bestelformulier.combi01s.value));
  document.bestelformulier.bedrag01c.value = dp(pr_1319*(document.bestelformulier.combi01c.value));

  document.bestelformulier.bedrag02k.value = dp(pr_1319*(document.bestelformulier.combi02k.value));
  document.bestelformulier.bedrag02z.value = dp(pr_1319*(document.bestelformulier.combi02z.value));
  document.bestelformulier.bedrag02so.value = dp(pr_1319*(document.bestelformulier.combi02so.value));

  document.bestelformulier.bedrag03.value = dp(pr_1319*(document.bestelformulier.combi03.value));
  document.bestelformulier.bedrag04.value = dp(pr_1319*(document.bestelformulier.combi04.value));
  document.bestelformulier.bedrag05.value = dp(pr_1319*(document.bestelformulier.combi05.value));
  document.bestelformulier.bedrag08.value = dp(pr_1319*(document.bestelformulier.combi08.value));

  document.bestelformulier.bedrag04_1.value = dp(pr_1319*(document.bestelformulier.combi04_1.value));
  document.bestelformulier.bedrag05_1.value = dp(pr_1319*(document.bestelformulier.combi05_1.value));
  document.bestelformulier.bedrag08_1.value = dp(pr_1319*(document.bestelformulier.combi08_1.value));

  document.bestelformulier.bedrag09k.value = dp(pr_1319*(document.bestelformulier.combi09k.value));
  document.bestelformulier.bedrag09z.value = dp(pr_1319*(document.bestelformulier.combi09z.value));
  document.bestelformulier.bedrag09s.value = dp(pr_1319*(document.bestelformulier.combi09s.value));

  document.bestelformulier.bedrag12k.value = dp(pr_2030*(document.bestelformulier.combi12k.value));
  document.bestelformulier.bedrag12z.value = dp(pr_2030*(document.bestelformulier.combi12z.value));
  document.bestelformulier.bedrag12s.value = dp(pr_2030*(document.bestelformulier.combi12s.value));
  document.bestelformulier.bedrag12c.value = dp(pr_2030*(document.bestelformulier.combi12c.value));

  document.bestelformulier.bedrag13k.value = dp(pr_3045*(document.bestelformulier.combi13k.value));
  document.bestelformulier.bedrag13z.value = dp(pr_3045*(document.bestelformulier.combi13z.value));
  document.bestelformulier.bedrag13s.value = dp(pr_3045*(document.bestelformulier.combi13s.value));
  document.bestelformulier.bedrag13c.value = dp(pr_3045*(document.bestelformulier.combi13c.value));

  document.bestelformulier.bedrbestand.value = dp(pr_best*(document.bestelformulier.bestand.value));

  document.bestelformulier.bedrmuismat.value = dp(pr_muismat*(document.bestelformulier.muismat.value));
  document.bestelformulier.bedrsleutelhanger.value = dp(pr_sleutelhanger*(document.bestelformulier.sleutelhanger.value));
  document.bestelformulier.bedrmok.value = dp(pr_mok*(document.bestelformulier.mok.value));

  document.bestelformulier.bedragg13k.value = dp(pr_1319*(document.bestelformulier.groep13k.value));
  document.bestelformulier.bedragg20k.value = dp(pr_2030*(document.bestelformulier.groep20k.value));

  if ( document.bestelformulier.opp13k.checked ) { document.bestelformulier.bedropp13k.value = dp(pr_m30*(document.bestelformulier.combi13k.value)) } else { document.bestelformulier.bedropp13k.value = dp(0) };
  if ( document.bestelformulier.opp13z.checked ) { document.bestelformulier.bedropp13z.value = dp(pr_m30*(document.bestelformulier.combi13z.value)) } else { document.bestelformulier.bedropp13z.value = dp(0) };
  if ( document.bestelformulier.opp13s.checked ) { document.bestelformulier.bedropp13s.value = dp(pr_m30*(document.bestelformulier.combi13s.value)) } else { document.bestelformulier.bedropp13s.value = dp(0) };
  if ( document.bestelformulier.opp13c.checked ) { document.bestelformulier.bedropp13c.value = dp(pr_m30*(document.bestelformulier.combi13c.value)) } else { document.bestelformulier.bedropp13c.value = dp(0) };
  if ( document.bestelformulier.lam13k.checked ) { document.bestelformulier.bedrlam13k.value = dp(pr_l30*(document.bestelformulier.combi13k.value)) } else { document.bestelformulier.bedrlam13k.value = dp(0) };
  if ( document.bestelformulier.lam13z.checked ) { document.bestelformulier.bedrlam13z.value = dp(pr_l30*(document.bestelformulier.combi13z.value)) } else { document.bestelformulier.bedrlam13z.value = dp(0) };
  if ( document.bestelformulier.lam13s.checked ) { document.bestelformulier.bedrlam13s.value = dp(pr_l30*(document.bestelformulier.combi13s.value)) } else { document.bestelformulier.bedrlam13s.value = dp(0) };
  if ( document.bestelformulier.lam13c.checked ) { document.bestelformulier.bedrlam13c.value = dp(pr_l30*(document.bestelformulier.combi13c.value)) } else { document.bestelformulier.bedrlam13c.value = dp(0) };

  document.bestelformulier.bedrag40k.value = dp(pr_4060*(document.bestelformulier.combi40k.value));

  if ( document.bestelformulier.opp40k.checked ) { document.bestelformulier.bedropp40k.value = dp(pr_m40*(document.bestelformulier.combi40k.value)) } else { document.bestelformulier.bedropp40k.value = dp(0) };
  if ( document.bestelformulier.lam40k.checked ) { document.bestelformulier.bedrlam40k.value = dp(pr_l40*(document.bestelformulier.combi40k.value)) } else { document.bestelformulier.bedrlam40k.value = dp(0) };

  document.bestelformulier.bedrag50k.value = dp(pr_5075*(document.bestelformulier.combi50k.value));

  if ( document.bestelformulier.opp50k.checked ) { document.bestelformulier.bedropp50k.value = dp(pr_m50*(document.bestelformulier.combi50k.value)) } else { document.bestelformulier.bedropp50k.value = dp(0) };
  if ( document.bestelformulier.lam50k.checked ) { document.bestelformulier.bedrlam50k.value = dp(pr_l50*(document.bestelformulier.combi50k.value)) } else { document.bestelformulier.bedrlam50k.value = dp(0) };

  document.bestelformulier.bedrag60k.value = dp(pr_6090*(document.bestelformulier.combi60k.value));

  if ( document.bestelformulier.opp60k.checked ) { document.bestelformulier.bedropp60k.value = dp(pr_m60*(document.bestelformulier.combi60k.value)) } else { document.bestelformulier.bedropp60k.value = dp(0) };
  if ( document.bestelformulier.lam60k.checked ) { document.bestelformulier.bedrlam60k.value = dp(pr_l60*(document.bestelformulier.combi60k.value)) } else { document.bestelformulier.bedrlam60k.value = dp(0) };

  document.bestelformulier.bedrcanvasv3.value = dp(cv30*(document.bestelformulier.canvasv3.value));
  document.bestelformulier.bedrcanvasv4.value = dp(cv45*(document.bestelformulier.canvasv4.value));
  document.bestelformulier.bedrcanvasv7.value = dp(cv70*(document.bestelformulier.canvasv7.value));
  document.bestelformulier.bedrcanvasv8.value = dp(cv80*(document.bestelformulier.canvasv8.value));
  document.bestelformulier.bedrcanvasv10.value = dp(cv100*(document.bestelformulier.canvasv10.value));

  document.bestelformulier.bedrcanvasr3.value = dp(cr30*(document.bestelformulier.canvasr3.value));
  document.bestelformulier.bedrcanvasr5.value = dp(cr50*(document.bestelformulier.canvasr5.value));
  document.bestelformulier.bedrcanvasr8.value = dp(cr80*(document.bestelformulier.canvasr8.value));
  document.bestelformulier.bedrcanvasr10.value = dp(cr100*(document.bestelformulier.canvasr10.value));

  document.bestelformulier.total.value = dp(
eval(document.bestelformulier.bedrag01k.value) + 
eval(document.bestelformulier.bedrag01z.value) + 
eval(document.bestelformulier.bedrag01s.value) + 
eval(document.bestelformulier.bedrag01c.value) + 
eval(document.bestelformulier.bedrag02k.value) + 
eval(document.bestelformulier.bedrag02z.value) + 
eval(document.bestelformulier.bedrag02so.value) + 
eval(document.bestelformulier.bedrag03.value) + 
eval(document.bestelformulier.bedrag04.value) + 
eval(document.bestelformulier.bedrag05.value) + 
eval(document.bestelformulier.bedrag08.value) + 
eval(document.bestelformulier.bedrag04_1.value) + 
eval(document.bestelformulier.bedrag05_1.value) + 
eval(document.bestelformulier.bedrag08_1.value) + 
eval(document.bestelformulier.bedrag09k.value) + 
eval(document.bestelformulier.bedrag09z.value) + 
eval(document.bestelformulier.bedrag09s.value) + 
eval(document.bestelformulier.bedrag12k.value) + 
eval(document.bestelformulier.bedrag12z.value) + 
eval(document.bestelformulier.bedrag12s.value) + 
eval(document.bestelformulier.bedrag12c.value) + 
eval(document.bestelformulier.bedrag13k.value) + 
eval(document.bestelformulier.bedrag13z.value) + 
eval(document.bestelformulier.bedrag13s.value) + 
eval(document.bestelformulier.bedrag13c.value) + 
eval(document.bestelformulier.bedragg13k.value) + 
eval(document.bestelformulier.bedragg20k.value) + 
eval(document.bestelformulier.bedrbestand.value) + 
eval(document.bestelformulier.bedrmuismat.value) + 
eval(document.bestelformulier.bedrmok.value) + 
eval(document.bestelformulier.bedrsleutelhanger.value) + 
eval(document.bestelformulier.bedrag40k.value) + 
eval(document.bestelformulier.bedrag50k.value) + 
eval(document.bestelformulier.bedrag60k.value) + 
eval(document.bestelformulier.bedropp13k.value) + 
eval(document.bestelformulier.bedropp13z.value) + 
eval(document.bestelformulier.bedropp13s.value) + 
eval(document.bestelformulier.bedropp13c.value) + 
eval(document.bestelformulier.bedropp40k.value) + 
eval(document.bestelformulier.bedropp50k.value) + 
eval(document.bestelformulier.bedropp60k.value) + 
eval(document.bestelformulier.bedrlam13k.value) + 
eval(document.bestelformulier.bedrlam13z.value) + 
eval(document.bestelformulier.bedrlam13s.value) + 
eval(document.bestelformulier.bedrlam13c.value) + 
eval(document.bestelformulier.bedrlam40k.value) + 
eval(document.bestelformulier.bedrlam50k.value) + 
eval(document.bestelformulier.bedrlam60k.value) + 
eval(document.bestelformulier.bedrcanvasv3.value) + 
eval(document.bestelformulier.bedrcanvasv4.value) + 
eval(document.bestelformulier.bedrcanvasv7.value) + 
eval(document.bestelformulier.bedrcanvasv8.value) + 
eval(document.bestelformulier.bedrcanvasv10.value) + 
eval(document.bestelformulier.bedrcanvasr3.value) + 
eval(document.bestelformulier.bedrcanvasr5.value) + 
eval(document.bestelformulier.bedrcanvasr8.value) + 
eval(document.bestelformulier.bedrcanvasr10.value));

  document.bestelformulier.handling.value = "2.90";

  if ( eval(document.bestelformulier.muismat.value + document.bestelformulier.mok.value + document.bestelformulier.combi13k.value + document.bestelformulier.combi13z.value + document.bestelformulier.combi13s.value + document.bestelformulier.combi13c.value + document.bestelformulier.combi40k.value + document.bestelformulier.combi50k.value + document.bestelformulier.combi60k.value) > 0 ) {
    document.bestelformulier.handling.value = "8.90";
    }

  if ( eval(document.bestelformulier.canvasv3.value + document.bestelformulier.canvasv4.value + document.bestelformulier.canvasv7.value + document.bestelformulier.canvasv8.value + document.bestelformulier.canvasv10.value + document.bestelformulier.canvasr3.value + document.bestelformulier.canvasr5.value + document.bestelformulier.canvasr8.value + document.bestelformulier.canvasr10.value) > 0 ) {
    document.bestelformulier.handling.value = "13.90";
    }

  if ( eval(document.bestelformulier.total.value) > 20.00 ) {
    document.bestelformulier.korting.value = dp(parseInt(eval(document.bestelformulier.total.value) / 10) - 1);
  }
  else {
    document.bestelformulier.korting.value = "0.00";
  }

  document.bestelformulier.tebetalen.value = dp(eval(document.bestelformulier.total.value) + eval(document.bestelformulier.handling.value) - eval(document.bestelformulier.korting.value));
  document.bestelformulier.tax.value = dp((document.bestelformulier.tebetalen.value)*19/119);
  document.bestelformulier.subtotal.value = dp((document.bestelformulier.tebetalen.value) - (document.bestelformulier.tax.value));
  document.bestelformulier.machtiging.value = document.bestelformulier.tebetalen.value;

  document.bestelformulier.barcode_128.value = encode(document.bestelformulier.barcode.value);
  document.bestelformulier.initialen_128.value = encode(document.bestelformulier.initialen.value);
  document.bestelformulier.achternaam_128.value = encode(document.bestelformulier.achternaam.value);
  document.bestelformulier.straat_128.value = encode(document.bestelformulier.straat.value);
  document.bestelformulier.huisnummer_128.value = encode(document.bestelformulier.huisnummer.value);
  document.bestelformulier.postcode_128.value = encode(document.bestelformulier.postcode.value);
  document.bestelformulier.plaats_128.value = encode(document.bestelformulier.plaats.value);
  document.bestelformulier.telefoon_128.value = encode(document.bestelformulier.telefoon.value);
  document.bestelformulier.emailadres_128.value = encode(document.bestelformulier.emailadres.value);
  document.bestelformulier.machtiging_128.value = encode(document.bestelformulier.machtiging.value);
  document.bestelformulier.rekening_nummer_128.value = encode(document.bestelformulier.rekening_nummer.value);
  document.bestelformulier.rekening_naam_128.value = encode(document.bestelformulier.rekening_naam.value);
  document.bestelformulier.rekening_plaats_128.value = encode(document.bestelformulier.rekening_plaats.value);
}

// test voor numerieke waarde inclusief punten

function IsNumeric(sText) {
  var ValidChars = "0123456789.";
  var IsNumber = true;
  var Char;
  for (i = 0; i < sText.length && IsNumber == true; i++) {
    Char = sText.charAt(i);
    if (ValidChars.indexOf(Char) == -1) {
      IsNumber = false;
    }
  }
  return IsNumber;
}

// validatie

// validate the form

function validate() {

  calculate()

  if (document.bestelformulier.barcode.value == '') {
    alert("Wat zijn de 8 cijfers van het barcodenummer op uw foto?");
    document.bestelformulier.barcode.focus();
    return (false);
  }

  if (!document.bestelformulier.barcode.value.match(/^[0-9]{8}$/)) {
    alert('Vul a.u.b. de acht cijfers van de barcode in.');
    document.bestelformulier.barcode.focus();
    return false;
  }

  if (document.bestelformulier.school.value == '') {
    alert("Wat is de naam van de school?");
    document.bestelformulier.school.focus();
    return (false);
  }

  if (document.bestelformulier.school_plaats.value == '') {
    alert("In welke plaats staat de school?");
    document.bestelformulier.school_plaats.focus();
    return (false);
  }

  if (document.bestelformulier.groep.value == '') {
    alert("In welke groep/klas zit uw kind?");
    document.bestelformulier.groep.focus();
    return (false);
  }

  if (document.bestelformulier.initialen.value == '') {
    alert("Wat zijn uw voorletters?");
    document.bestelformulier.initialen.focus();
    return (false);
  }

  if (document.bestelformulier.achternaam.value == '') {
    alert("Wat is uw achternaam?");
    document.bestelformulier.achternaam.focus();
    return (false);
  }

  if (document.bestelformulier.straat.value == '') {
    alert("Wat is de straatnaam?");
    document.bestelformulier.straat.focus();
    return (false);
  }

  if (document.bestelformulier.huisnummer.value == '') {
    alert("Wat is het huisnummer?");
    document.bestelformulier.huisnummer.focus();
    return (false);
  }

  if (document.bestelformulier.postcode.value == '') {
    alert("Wat is de postcode?");
    document.bestelformulier.postcode.focus();
    return (false);
  }

  if (!document.bestelformulier.postcode.value.match(/^[0-9]{4} [A-Z]{2}$/)) {
    alert('Postcode invullen met spatie en hoofdletters a.u.b.');
    document.bestelformulier.postcode.focus();
    return false;
  }

  if (document.bestelformulier.plaats.value == '') {
    alert("Wat is uw woonplaats?");
    document.bestelformulier.plaats.focus();
    return (false);
  }

  if (document.bestelformulier.telefoon.value == '') {
    alert("Wat is uw telefoonnummer?");
    document.bestelformulier.telefoon.focus();
    return (false);
  }

  if (document.bestelformulier.emailadres.value == '') {
    alert("Wat is uw e-mailadres?");
    document.bestelformulier.emailadres.focus();
    return (false);
  }

  if (!document.bestelformulier.emailadres.value.match(/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/)) {
    alert("Het emailadres is niet in orde.");
  return (false);
  }

  if (document.bestelformulier.akkoordmachtiging[1].checked) {
    document.bestelformulier.machtigingakkoord.value = "I"
  }
  else {
    document.bestelformulier.machtigingakkoord.value = "M"
  }

  if (document.bestelformulier.machtigingakkoord.value == "M") {

    if (document.bestelformulier.rekening_nummer.value == '') {
      alert("Wat is uw rekeningnummer?");
      document.bestelformulier.rekening_nummer.focus();
      return (false);
    }

    var number = "";
    var total = 0;
    for( var i = 0; i < document.bestelformulier.rekening_nummer.value.length; i++ ) {
      number += document.bestelformulier.rekening_nummer.value.charAt(i) != "." ? document.bestelformulier.rekening_nummer.value.charAt(i):"";
    }
    var j = number.length
    if ( j  == 8) {
      alert("U hebt 8 cijfers ingevuld, te veel voor een gironummer, te weinig voor een bankrekeningnummer.");
      document.bestelformulier.rekening_nummer.focus();
      return (false);
    }
    if ( j == 9) {
      for ( var i = 0; i < number.length; i++ ) {
        total += number.charAt( i ) * j;
        j -= 1;
      }
      if ((total % 11) != 0 ) {
        alert("U hebt wel 9 cijfers ingevuld, maar het is geen geldig banknummer omdat het niet aan de elf-proef voldoet.");
        document.bestelformulier.rekening_nummer.focus();
        return (false);
      }
    }

    if ( j > 9) {
      alert("U hebt " + number.length + " cijfers ingevuld, te veel voor een giro- of bankrekeningnummer.");
    }

    if (!IsNumeric(document.bestelformulier.rekening_nummer.value)) {
      alert("Er is geen geldig rekeningnummer ingevuld. Let op dat u alleen cijfers en/of punten invult.");
      document.bestelformulier.rekening_nummer.focus();
      return (false);
    }

    if (document.bestelformulier.rekening_naam.value == '') {
      alert("Wat is de naam van de rekeninghouder?");
      document.bestelformulier.rekening_naam.focus();
      return (false);
    }

    if (document.bestelformulier.rekening_plaats.value == '') {
      alert("Wat is de woonplaats van de rekeninghouder?");
      document.bestelformulier.rekening_plaats.focus();
      return (false);
    }
  }

  if (document.bestelformulier.akkoord.checked == false) {
    alert("Als u foto's wilt nabestellen, moet u akkoord gaan met de leveringsvoorwaarden.");
    document.bestelformulier.akkoord.focus();
    return (false);
  }
}

// preventing Enter from submitting the form

function cancelEnter(evt) {
  var evt = (evt) ? evt : ((event) ? event : null);
  var node = (evt.target) ? evt.target : ((evt.srcElement) ? evt.srcElement : null);
  if ((evt.keyCode == 13) && (node.type=="text"))  {return false;}
  }

// einde

