//////////////////////////////////////////////////////////////////////
//                                                                  //
//  00. //
//                                                                  //
//////////////////////////////////////////////////////////////////////
// 

function validate_hoofdgroep(formulier){
  if(!formulier.groepnaam.value){
    alert('geef een groepsnaam in s.v.p.');
    formulier.groepnaam.focus();
    }
  else{
	  formulier.btn_send.disabled = true;
		formulier.submit();
    }
  }


//////////////////////////////////////////////////////////////////////
//                                                                  //
//  00. //
//                                                                  //
//////////////////////////////////////////////////////////////////////
// 

function validate_hoofdproduct(formulier){
  if(!formulier.groep_id.value){
    alert('Selecteer een Hoofdgroep s.v.p.');
    formulier.groep_id.focus();
    }
  else if(!formulier.productnaam.value){
    alert('Vul een productnaam in s.v.p.');
    formulier.productnaam.focus();
    }
  else{
	  formulier.btn_send.disabled = true;
		formulier.submit();
    }
  }


//////////////////////////////////////////////////////////////////////
//                                                                  //
//  00. //
//                                                                  //
//////////////////////////////////////////////////////////////////////
// 

function validate_subproduct(formulier){
  if(!formulier.group_id.value){
    alert('Selecteer een Hoofdproduct s.v.p.');
    formulier.group_id.focus();
    }
  else if(!formulier.itemnaam.value){
    alert('Vul een itemnaam in s.v.p.');
    formulier.itemnaam.focus();
    }
  else if(!formulier.prijs.value){
    alert('Vul een prijs in s.v.p.');
    formulier.prijs.focus();
    }
  else{
	  formulier.btn_send.disabled = true;
		formulier.submit();
    }
  }


//////////////////////////////////////////////////////////////////////
//                                                                  //
//  00. Validatie van aanbieding                                    //
//                                                                  //
//////////////////////////////////////////////////////////////////////
// controleer de gegevens van de aanbieding alvorens deze te verzenden

function validate_aanbieding(formulier){
  if(!formulier.name.value){
    alert('geef een titel in s.v.p.');
    formulier.name.focus();
    }
  else if(!formulier.description.value){
    alert('geef een beschrijving in s.v.p.');
    formulier.description.focus();
    }
  else if(!formulier.start_dag.value){
    alert('geef een startdag in s.v.p.');
    formulier.start_dag.focus();
    }
  else{
	  formulier.btn_send.disabled = true;
		formulier.submit();
    }
  }

function validateEmail(str) {
		var index = str.indexOf("@")
		if ( (index < 1) ||
			 (str.indexOf(".") < 1) ||
			 (str.indexOf("\"") > -1) ||
			 (str.indexOf("'") > -1) ||
			 (str.length < 5) ||
			 ((index > 2) && (str.indexOf("@", index+1) != -1)) )
				return false;
					
		return true;
	}


//////////////////////////////////////////////////////////////////////
//                                                                  //
//  BEVESTIGING                                                     //
//                                                                  //
//////////////////////////////////////////////////////////////////////
// deze functie vraagt om een bevestiging alvorens een item te verwijderen

function bevestig(formulier){
  var agree = confirm("Dit artikel zal worden verwijderd !\nWilt u toch doorgaan ?");
    if (agree)
    formulier.submit();
  }


//////////////////////////////////////////////////////////////////////
//                                                                  //
//  00. OPEN EEN NIEUW SCHERM IN HET MIDDEN VAN HET SCHERM          //
//                                                                  //
//////////////////////////////////////////////////////////////////////
// opent een neiuw scherm gecentreerd op het scherm

function openPictureWindow_Fever(imageType,imageName,imageWidth,imageHeight) {  // v4.01
  LeftPosition=(screen.width-imageWidth)/2;
  TopPosition=(screen.height-imageHeight)/2;

	newWindow = window.open("","newWindow","width="+imageWidth+",height="+imageHeight+",scrollbars=no,left="+LeftPosition+",top="+TopPosition);
	newWindow.document.open();
	newWindow.document.write('<html>\n<title>Vergroting</title>\n<body bgcolor="#FFFFFF" leftmargin="0" topmargin="0" marginheight="0" marginwidth="0" onBlur="self.close()">\n'); 
	newWindow.document.write('<a href="javascript: self.close();"><img src=\"'+imageName+'\" width='+imageWidth+' height='+imageHeight+' alt=\"Klik om te sluiten\" border="0"></a>\n');
	newWindow.document.write(+LeftPosition+' en' +TopPosition+'</body>\n</html>\n');
	newWindow.document.close();
	newWindow.focus();
  }


//////////////////////////////////////////////////////////////////////
//                                                                  //
//  05. Validatie van de opmaak van een bericht                     //
//                                                                  //
//////////////////////////////////////////////////////////////////////
// geeft de mogelijkheid tot het opmaken van tekst in een bericht

var prompttext = new Array();
prompttext['mail'] = 'Voer emailadres in';
prompttext['url'] = 'Voer url in';
prompttext['url='] = 'Voer url in';
prompttext['urld'] = 'Voer omschrijving van url in';
prompttext['b'] = 'Voer text in om vet te maken';
prompttext['i'] = 'Voer text in om cursief te maken';
prompttext['u'] = 'Voer tekst in om te onderstrepen';

var target = null;

//  deel 1  ////////////////////////////////////////////////////////////////////
function getTarget(el){
  target = (document.getElementById)? document.getElementById(el):0;
  }

//  deel 2  ////////////////////////////////////////////////////////////////////
function storeCursor(el){
  if (document.all && el.createTextRange) el.cursorPos = document.selection.createRange().duplicate();
  }

//  deel 3  ////////////////////////////////////////////////////////////////////
function putStr(text){
  if (target){
    if (document.all && target.cursorPos){
      target.cursorPos.text = text;
      }
    else if (typeof(target.selectionStart) != 'undefined'){
      var sStart = target.selectionStart;
      var sEnd = target.selectionEnd;
      target.value = target.value.substr(0, sStart) + text + target.value.substr(sEnd, target.value.length);
      target.selectionStart = (sStart == sEnd)? sStart + text.length:sStart;
      target.selectionEnd = sStart + text.length;
      }
    else{
      target.value += text;
      }
    target.focus();
    storeCursor(target);
    }
  }

//  deel 4  ////////////////////////////////////////////////////////////////////
function applyUBB(style) {
  if (target) {
    var selectedtext = '';
    if (document.all && target.cursorPos) {
      selectedtext = target.cursorPos.text;
    } else if (typeof(target.selectionStart) != 'undefined') {
      selectedtext = target.value.substr(target.selectionStart, target.selectionEnd - target.selectionStart);
    }
    if (!selectedtext) selectedtext = prompt(prompttext[style], '');
    if (!selectedtext) { target.focus(); return; }

    if (style == 'mail') {
      var description = prompt(prompttext['mail'], '');
      if (!description){
        target.focus(); return;
        }
      selectedtext = '<a href="mailto:'+selectedtext+'">'+description+'</a>';
      }
    else if (style == 'url=') {
      var description = prompt(prompttext['urld'], '');
      if (!description){
        target.focus(); return;
        }
      selectedtext = '<a href="http://'+selectedtext+'">'+description+'</a>';
      }
    else {
      selectedtext = '<'+style+'>'+selectedtext+'</'+style+'>';
      }
    putStr(selectedtext);
  }
}


//////////////////////////////////////////////////////////////////////
//                                                                  //
//  00. Validatie van bestelformulier                               //
//                                                                  //
//////////////////////////////////////////////////////////////////////
// controleer de gegevens van het bestelformulier alvorens het te verzenden.

function validate_bestelling(formulier){
  if(!formulier.contactpersoon.value){
    alert('geef uw naam in s.v.p.');
    formulier.contactpersoon.focus();
    }
  else if(!formulier.adres.value){
    alert('geef uw adres in s.v.p.');
    formulier.adres.focus();
    }
  else if(!formulier.postcode.value){
    alert('geef uw postcode in s.v.p.');
    formulier.postcode.focus();
    }
  else if(!formulier.woonplaats.value){
    alert('geef uw woonplaats in s.v.p.');
    formulier.woonplaats.focus();
    }
  else if(!formulier.email.value){
    alert('geef uw emailadres in s.v.p.');
    formulier.email.focus();
    }
  else if(!validateEmail(formulier.email.value)){
    alert('Het e-mailadres is niet juist.');
	  formulier.email.focus();
    }
  else if((formulier.bedrijfsnaam.value) && (!formulier.kvk.value)){
    alert('U bent ondernemer ?\nGeef dan uw KvK-nummer in s.v.p.');
    formulier.kvk.focus();
    }
  else{
	  formulier.cmd_send.disabled = true;
		formulier.submit();
    }
  }

function validateEmail(str) {
		var index = str.indexOf("@")
		if ( (index < 1) ||
			 (str.indexOf(".") < 1) ||
			 (str.indexOf("\"") > -1) ||
			 (str.indexOf("'") > -1) ||
			 (str.length < 5) ||
			 ((index > 2) && (str.indexOf("@", index+1) != -1)) )
				return false;
					
		return true;
	}


//////////////////////////////////////////////////////////////////////
//                                                                  //
//  00. Validatie van de verwijdering van een productvariant        //
//                                                                  //
//////////////////////////////////////////////////////////////////////
// vraagt om een bevestiging alvorens het product te verwijderen

function del_variant(formulier, strProductVariant){
  var product_code = strProductVariant;
  var agree=confirm("\nWilt u dit artikel definitief verwijderen?");
    if (agree)
      location.href("../del/?product_code");
    else
      formulier.inhoud.focus();
  }


//////////////////////////////////////////////////////////////////////
//                                                                  //
//  00. VALIDEER DE INVOER VAN DE PRODUCTGEGEVENS                   //
//                                                                  //
//////////////////////////////////////////////////////////////////////
// controleert of alle gegevens aanwezig en/of correct zijn
  
function send_form(formulier){
  var verpakking = formulier.verpakt; 

  // loop daarin eerst alle buttons langs of er gechecked zijn
  var any_checked = false;
  for ( var i=0; i< verpakking.length; i++ ){
    if( verpakking[i].checked == true ){
      any_checked = true;
    }
  }
  // trek dan je conclusies
  if( any_checked == false ){
	  alert('Selecteer een verpakkingseenheid');
  }
  else if(!validatePrice(formulier.prijs.value)){
	  alert('De opmaak van het bedrag is onjuist');
		formulier.prijs.focus();
		}
  else{
    formulier.prijs.value = preparePrice(formulier.prijs.value);
    formulier.save.disabled = true;
    formulier.submit();
    }
  }


//////////////////////////////////////////////////////////////////////
//                                                                  //
//  VALIDEREN VAN HET TOEVOEGFORMULIER                              //
//                                                                  //
//////////////////////////////////////////////////////////////////////
// controleert de gegevens van het invoerformulier van een nieuw product

function send_add_form(formulier){
  if(!formulier.naam.value){
	  alert('Geef een productnaam in s.v.p.');
		formulier.naam.focus();
		}
  else if(!formulier.beschrijving.value){
	  alert('Geef een productomschrijving s.v.p.');
		formulier.beschrijving.focus();
		}
  else{
    formulier.save.disabled = true;
    formulier.submit();
    }
  }


//////////////////////////////////////////////////////////////////////
//                                                                  //
//  VALIDEREN VAN EEN INGEVOERDE PRIJS                              //
//                                                                  //
//////////////////////////////////////////////////////////////////////
// controleer de opmaak van een bedrag

function validatePrice(str) {
    // TRUE als str een bedrag is, anders FALSE
    // bedrag: cijfers met eventueel een punt of komma plus twee decimalen.
    // met komma: dan eventueel duizendtallen gescheiden door punten

    var regex   = /^[0-9]+(?:\.[0-9]{3})*(?:,[0-9]{2})?$|^[0-9]+\.[0-9]{2}$/;
    // begin met cijfers: 1 of meer,
    // dan groepjes van een punt met drie cijfers: 0 of meer,
    // met een komma plus twee decimalen aan het eind of niets
    // oftewel begin met cijfers: 1 of meer,
    // met een punt plus twee decimalen aan het eind
    
    return regex.test(str);
}


//////////////////////////////////////////////////////////////////////
//                                                                  //
//  OPMAKEN VAN EEN VERKREGEN PRIJS                                 //
//                                                                  //
//////////////////////////////////////////////////////////////////////
// opmaak voor een bedrag aanpassen alvorens deze de database in gaat

function preparePrice(bedrag) {
    // levert een bedrag op als getal met punt en twee decimalen
    // verwacht een bedrag, gevalideerd met validatePrice()
    // dus cijfers met eventueel een punt of komma plus twee decimalen.
    // met komma: dan eventueel duizendtallen gescheiden door punten
    
    var regex = /\./g;                          // om punten te herkennen
    var ch     = bedrag.slice(-3, -2);          // zoek decimaalteken
    
    if ((ch == ",")||(ch == ".")) {             // komma of punt als decimaalteken
        voor   = bedrag.slice(0, -3);           // isoleer euro's
        achter = bedrag.slice(-2);              // isoleer eurocenten
    } else {            
        voor   = bedrag;                        // alleen hele euro's
        achter = "00";                          // geen eurocenten
    }
    // verwijder eerst eventuele punten
    bedrag = voor.replace(regex, "") + "." + achter;
    return bedrag;
}
  
