/* 
	*******************************************************************************  
	 JavaScript                                       Project: Gebr. Vellinga B.V.
	-------------------------------------------------------------------------------  
	 Gemaakt op	    : 27-12-2003                                                    
	 Gewijzigt op	: 31-01-2004                                                   
	 Programmeur	: C.A. Nouta   
	 
	 Versie         : 1.0.0
                                                                                 
	 Copyright 2003 - 2004 Sanware. Alle rechten voorbehouden                              
	******************************************************************************* 

*/




/*
	******************************************************************************* 
	 PROCEDURES
	******************************************************************************* 
*/

	/**********
	 * moreInfo
	 * Procedure voor het weergeven van de externe artikelen
	 *
	 * @return nieuw venster met daarin de pagina
	 **********/
	function moreInfo( url ) {

		newWindow = window.open( url, "SnapIn", "toolbar=0, menubar=1, width=600, height=450, resizable=1, scrollbars=1" );

	}

	/**********
	 * getConfirmation
	 * Bevestigings procedure
	 *
	 * @param txt - de tekst
	 * @return bevestiging
	 **********/
	function getConfirmation( txt ) {

		return confirm( txt );

	}

	/**********
	 * setAflevering
	 * Procedure voor het zetten van de afleveringsmethode
	 *
	 * @param url - het adres waarna de gebruiker wordt verwezen indien bevestigt
	 * @param mode - de afleveringsmode
	 * @return nieuw venster met daarin de pagina
	 **********/
	function setAflevering( url, mode ) {

		window.location = url + "&mode=" + mode;

	}
	
	/**********
	 * confirmDeleteFromShopCart
	 * Bevestigings procedure voor het verwijderen van een item uit de winkelwagen
	 *
	 * @param id - de id van het item wat we gaan verwijderen	 
	 * @param txt - de tekst voor de bevestiging
	 **********/	
	function confirmDeleteFromShopCart( id, txt )
	{
		if ( confirm( "Weet u zeker dat u " + txt + " wilt verwijderen?" ) ) {

			// Nu verwijzen we de gebruiker door
			var form = document.forms[0];
			form.elements[0].value = id;
			form.submit();
		}
  }	


	/**********
	 * confirmDelete
	 * Bevestigings procedure voor het verwijderen 
	 *
	 * @param url - het adres waarna de gebruiker wordt verwezen indien bevestigt
	 * @param txt - het gegeven voor de bevestiging
	 * @return nieuw venster met daarin de pagina
	 **********/
	function confirmDelete( url, txt ) {

		if ( confirm( "Weet u zeker dat u " + txt + " wilt verwijderen?" ) ) {

			// Nu verwijzen we de gebruiker door
			window.location = url;

		}

	}

	/**********
	 * orderProduct
	 * Controleert of de bestelling aan het minimum aantal voldoet
	 *
	 * @return aantal >= min then true else false 
	 **********/
	function orderProduct() {

		var antObj = document.getElementById("aantal");
		var min = document.getElementById("minimaal").value;
		var ant = antObj.value;
		var eenheid = document.getElementById("eenheid").value;

		if ( isNaN( ant ) || isNaN( min )  || ( ant < min) ) {

			alert("U moet minimaal " + min + " " + eenheid + " bestellen!");
			antObj.focus();
			return false;

		} else { 

			return true;

		} 

	}

	/**********
	 * orderListProduct
	 * Controleert of de bestelling aan het minimum aantal voldoet uit een prijslijst
	 *
	 * @param form - de naam van het formulier
	 * @return aantal >= min then true else false 
	 **********/
	function orderListProduct( frmname ) {

		var orderFrm = document.getElementById("" + frmname);
		var antObj = orderFrm.elements[3];
		var minObj = orderFrm.elements[0];
		var eenObj = orderFrm.elements[1];

		var min = minObj.value;
		var ant = antObj.value;
		var eenheid = eenObj.value;

		if ( isNaN( ant ) || isNaN( min )  || ( ant < min) ) {

			alert("U moet minimaal " + min + " " + eenheid + " bestellen!");
			antObj.focus();
			return false;

		} else { 

			return true;

		} 

	}



	/**********
	 * submitInputForm
	 * Procedure voor het controleren van een input formulier
	 *
	 * @return foutmelding of true
	 **********/
	function submitInputForm() {

		// Variabelen declaratie
		var form = document.forms[0];
		var isOk = new Boolean(true);
		var err = "";
		var err_id = -1;
		var ilChars;

		// Alle elementen controleren
		progress:
		for (var i = 0; i < form.elements.length; i++) {

			// We vangen eventuele foutmeldingen op
			try{

				var alt = form.elements[i].alt;
				var verplicht = alt.indexOf("V");
				var pass = alt.indexOf("P");
				var lengte = alt.indexOf("L");

				// Als verplicht groter dan -1 is dan is het een verplicht veld 
				if ( ( verplicht > -1 ) && ( form.elements[i].value == "" ) ) {

					isOk = false;
					err = "Vergeet niet uw " + form.elements[i].name + " in te vullen!";
					err_id = i;
					break progress;

				}

				// Nu gaan we controleren of we te maken hebben met een bepaalde expressie
				if ( ( isOk == true ) && ( pass > -1 ) ) {
			
					ilChars = /[\W_]/;

					if ( ilChars.test( form.elements[i].value )) {

						isOk = false;
						err = "U heeft een ongeldig " + form.elements[i].name + " ingevoerd!";
						err_id = i;
						break progress;

					}

				} 

				// Nu gaan we controleren of we te maken hebben met een minimale lengte
				ilChars = /[0-9_]/;
				if ( (isOk == true) && ( lengte > -1 ) && ilChars.test( form.elements[i].src ) ) {

					if ( form.elements[i].value.length < form.elements[i].src ) {

						isOk = false;
						err = "Uw " + form.elements[i].name + " moet uit minimaal " + form.elements[i].src + " tekens bestaan!";
						err_id = i;
						break progress;

					}

				} 
			
			} catch( error ) { } 

		}

		// Nu gaan we controleren of het formulier de testen heeft doorstaan
		if ( !isOk ) {

			alert( err );
			form.elements[ err_id ].focus();
			return false;

		} else {

			return true;

		}


	}

