

function isValidBestelling(objForm)
{
	alert('kaka');
	
	var strError = "";

	if (objForm.intNumberOfItems.value == "0") {
		strError += "FOUT: U kunt geen lege winkelwagen bestellen";
	}
			
	if (strError != "")  {
		alert(strError);			
		return false;
	} else  {
		return true;
	}	
}

function hideSubmitButtons()
{
	document.bestelformulier.disable = true;
	
	hideElement("button-top");
	hideElement("button-bottom");
}


function isValidAfleverForm(objForm)
{
	
	var strCultureCode = "nl-NL";
	var strError = "";
	var strErrorIntro = "";
	var intUserTypeID = objForm.intUserTypeID.value;
	
	var labelNaamBestelling = "Naam Bestelling";
	if (intUserTypeID == "2") {
		labelNaamBestelling = "Naam Offerte";
	}
	
	if (objForm.intUserTypeID.value == "3")
	{
		strError += ensureInput(objForm, "strFirstName", strCultureCode);
		strError += ensureInput(objForm, "strLastName", strCultureCode);
		strError += ensureEmailAddress(objForm, "strEmailAddress", strCultureCode);
		strError += ensurePhone(objForm, "strPhone", strCultureCode);
		strError += ensureInput(objForm, "strStreet", strCultureCode);
		strError += ensureInput(objForm, "strHuisNummer", strCultureCode);
		strError += ensureInput(objForm, "strZipCode", strCultureCode);
		strError += ensureInput(objForm, "strCity", strCultureCode);
	} 
	else if (objForm.intUserTypeID.value == "1")
	{
		strError += ensureEmailAddress(objForm, "strEmailAddress", strCultureCode);
	}
	
	if (strError != "")  {
		strErrorIntro = "De volgende velden zijn niet (goed) ingevuld: \n\n";
		alert(strErrorIntro + strError);			
		return false;
	} else  {
		return true;
	}	

}


function isValidLoginForm(objForm)
{
	var strCultureCode = "nl-NL";
	var strError = "";
	var strErrorIntro = "";

	strError += ensureInput(objForm, "strGebruikersNaam", strCultureCode);
	strError += ensureEmailAddress(objForm, "strEmailAddress", strCultureCode);
	strError += ensureKlantNummer(objForm, "strKlantNummer", strCultureCode);
	
	if (strError != "")  {
		strErrorIntro = "De volgende velden zijn niet (goed) ingevuld";
		alert(strErrorIntro+ ":\n"+ strError);			
		return false;
	} else  {
		return true;
	}	
	
}


function isValidAanmeldForm(objForm)
{
	var strCultureCode = "nl-NL";
	var strError = "";
	var strErrorIntro = "";

	strError += ensureKlantNummer(objForm, "strKlantNummer", strCultureCode);
	strError += ensureInput(objForm, "strGebruikersNaam", strCultureCode);
	strError += ensureInput(objForm, "strFirstName", strCultureCode);
	strError += ensureInput(objForm, "strLastName", strCultureCode);
	strError += ensurePhone(objForm, "strPhone", strCultureCode);
	strError += ensureEmailAddress(objForm, "strEmailAddress", strCultureCode);
	
	if (strError != "")  {
		strErrorIntro = "De volgende velden zijn niet (goed) ingevuld";
		alert(strErrorIntro+ ":\n"+ strError);			
		return false;
	} else  {
		return true;
	}	

}

function isValidSearchForm(objForm)
{
	isValid = true;
	strValue = objForm.searchkeyword.value;
	
	if (strValue == "") {
		isValid = false;
	}
	if ( (strValue != "") && (strValue.length < 2) ) {
		alert("Het zoekwoord moet minimaal 2 letters bevatten");
		isValid = false;
	}
	
	return isValid;
}

function isValidAanvraagForm(objForm)
{
	var strCultureCode = "nl-NL";
	var strError = "";
	var strErrorIntro = "";
	
	strError += ensureInput(objForm, "fullname", strCultureCode);
	strError += ensureInput(objForm, "jobtitle", strCultureCode);
	strError += ensureInput(objForm, "schoolfullname", strCultureCode);
	strError += ensureInput(objForm, "street", strCultureCode);
	strError += ensureInput(objForm, "number", strCultureCode);
	strError += ensureInput(objForm, "zipcode", strCultureCode);
	strError += ensureInput(objForm, "city", strCultureCode);
	strError += ensurePhone(objForm, "phone", strCultureCode);
	strError += ensureEmailAddress(objForm, "email", strCultureCode);
	
	if (strError != "")  {
		strErrorIntro = "De volgende velden zijn niet (goed) ingevuld: \n\n";
		alert(strErrorIntro + strError);			
		return false;
	} else  {
		return true;
	}	

}

/* Klantenservice */

function isValidMeldingsFormulier(objForm)
{
	var oneSelected = false;
	
	for (i=0; i < objForm.elements.length; i++)
	{
		objElement = objForm.elements[i];
		if (objElement.type == "select-one")
		{
			if (objElement.selectedIndex > 0) {
				oneSelected = true;
			}
		}	
	}
	
	if (oneSelected == false)  {
		alert("Je hebt nog geen melding geselecteerd.");			
		return false;
	} else  {
		return true;
	}

}

function isValidRetourenFormulier(objForm)
{
	var oneSelected = false;
	var strCultureCode = "nl-NL";
	var strError = "";
	
	if (objForm.bitTeWeinigOnly.value == "0")  {
		for (i=0; i < objForm.elements.length; i++)
		{
			objElement = objForm.elements[i];
			if (objElement.type == "select-one")
			{
				if (objElement.selectedIndex > 0) {
					oneSelected = true;
				}
			}	
		}
		
		if (oneSelected == false) {
			strError = "> Selecteer een aantal dozen.\n";
		}
	}
		
	if (objForm.intUserTypeID.value == "5") {
		strError += ensureInput(objForm, "strContactKlantNaam", strCultureCode);
		strError += ensureInput(objForm, "strContactKlantTelefoonnummer", strCultureCode);
	} 
	
	if (strError != "")  {
		strErrorIntro = "De volgende velden zijn niet (goed) ingevuld: \n\n";
		alert(strErrorIntro + strError);			
		return false;
	} else  {
		return true;
	}	

}



function isValidSpecificeerForm(objForm)
{
	var strError = "";
	
	for (i=0; i < objForm.elements.length; i++)
	{
		var inputValue = objForm.elements[i].value;
		var className = objForm.elements[i].className;
		var inputID = objForm.elements[i].id;
		
		if (className.indexOf("required") > -1) {
			if (className.indexOf("number") > -1) {
				if (isNaN(inputValue)) {
					strError = "> Aantal \n";
				}
			} else if (inputID.indexOf("opmerking_1") > -1) {
				if (inputValue == "") {
					strError = "> Opmerking \n";
				}	
			}
		}	
	}
	
	if (strError != "")  {
		strErrorIntro = "De volgende velden zijn niet (goed) ingevuld: \n\n";
		alert(strErrorIntro + strError);			
		return false;
	} else  {
		return true;
	}	

}


function isValidKlachtenFormulier(objForm)
{
	var strError = "";
	var strCultureCode = "nl-NL";
		
	if (objForm.ordernummer) { strError += ensureInput(objForm, "ordernummer", strCultureCode); }
	
	if (objForm.opmerking.value == "")
	{
		objForm.opmerking.style.backgroundColor = "#ffccff";
		strError += "> Opmerking";
	}

	if (strError != "")  {
		strErrorIntro = "De volgende velden zijn niet (goed) ingevuld: \n\n";
		alert(strErrorIntro + strError);			
		return false;
	} else  {
		return true;
	}
}



function ensureInput(objForm, strFieldName, strCultureCode) 
{
	strValue = getValueByFieldName(objForm, strFieldName);
	strLabel = getLabelByCultureCode(strFieldName, strCultureCode);
		
	if (strValue == "") {
		setBackgroundColorToElement(objForm, strFieldName);
		return "> " + strLabel + "\n";
	} else {
		return "";
	}
}

function ensureGebruikersNaam(objForm, strFieldName, strCultureCode) 
{
	strReturn = ensureInput(objForm, strFieldName, strCultureCode);
	
	gebruikersnaamValue = getValueByFieldName(objForm, strFieldName);
		
	if (strReturn == "") 
	{
		if ((gebruikersnaamValue != "") && (gebruikersnaamValue.indexOf(" ")) > -1) {
			strReturn = "\n> Gebruikersnaam\nLet op: uw gebruikersnaam bevat 1 of meerdere spaties.\nWij raden u aan om een korte gebruikersnaam zonder spaties te kiezen.\n\n";
		}
	}
	return strReturn;

}


function ensureNumber(objForm, strFieldName, strCultureCode) 
{
	strValue = getValueByFieldName(objForm, strFieldName);
	strLabel = getLabelByCultureCode(strFieldName, strCultureCode);
		
	if ( (strValue == "") || (isNaN(strValue)) ) {
		setBackgroundColorToElement(objForm, strFieldName);
		return "> " + strLabel + "\n";
	} else {
		return "";
	}
}

function ensureKlantNummer(objForm, strFieldName, strCultureCode) 
{
	objForm.strKlantNummer.value = objForm.strKlantNummer.value.replace(".", "");
	
	strValue = getValueByFieldName(objForm, strFieldName);
	strLabel = getLabelByCultureCode(strFieldName, strCultureCode);
	
	if (strValue != "") {
		if ((strValue.length == 7) && (strValue.substring(0,1) == "0"))  {
			objForm.strKlantNummer.value = strValue.substring(1,7);
		}
	}
		
	if ( (strValue == "") || (isNaN(strValue)) || (strValue.indexOf(".") > -1) ) {
		setBackgroundColorToElement(objForm, strFieldName);
		return "> " + strLabel + "\n";
	} else {
		return "";
	}
}


function ensurePhone(objForm, strFieldName, strCultureCode) 
{
	strValue = getValueByFieldName(objForm, strFieldName);
	strValue = strValue.replace(" ","");
	strValue = strValue.replace("-","");
	
	strLabel = getLabelByCultureCode(strFieldName, strCultureCode);
	
	isEmpty = false;
	if (strValue == "") {
		isEmpty = true;
	}
	
	var objRegExp = /^[0-9]*$/;
	objRegExp.IgnoreCase = true;

	isNumerical = objRegExp.test(strValue);

	is10characters = true;
	if (strValue.length !== 10) {
		is10characters = false;
	}
	
	if ((isEmpty) || !(isNumerical) || !(is10characters)) {
		setBackgroundColorToElement(objForm, strFieldName);
		return "> " + strLabel + "\n";
	} else {
		return "";
	}
}


function ensureEmailAddress(objForm, strFieldName, strCultureCode) 
{
	strValue = getValueByFieldName(objForm, strFieldName);
	strLabel = getLabelByCultureCode(strFieldName, strCultureCode);
		
	if (isValidEmailAddress(strValue)==false) {
		setBackgroundColorToElement(objForm, strFieldName);
		return "> " + strLabel + "\n";
	} else {
		return "";
	}
}


function setBackgroundColorToElement(objForm, strFieldName)
{
	//get object
	objElement = getElementByFieldName(objForm, strFieldName);

	if (objElement.type == "text") {
		objElement.style.backgroundColor = "#ffccff";
	}
}


function getElementByFieldName(objForm, strFieldName)
{
	for (i=0; i < objForm.elements.length; i++) 
	{
		objElement = objForm.elements[i];
		if (objElement.name == strFieldName) {
			return objElement;
		}
	}
}


function getValueByFieldName(objForm, strFieldName)
{
	strValue = "";
	
	for (i=0; i < objForm.elements.length; i++) 
	{
		objElement = objForm.elements[i];
		if (objElement.name == strFieldName) {
			strValue = objElement.value;
		}
	}
	
	return strValue;
}



function isValidEmailAddress(strValue)
{
	var objRegExp  = /^.+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$/;
	return objRegExp.test(strValue);
}

function getLabelByCultureCode(strFieldName, strCultureCode)
{
	strLabel = "";

	if (strFieldName == "strFirstName") {
		if (strCultureCode == "nl-NL") { strLabel = "Voornaam"; }
		if (strCultureCode == "en-US") { strLabel = "First name"; }
	}
	else if (strFieldName == "strLastName") {
		if (strCultureCode == "nl-NL") { strLabel = "Achternaam"; }
		if (strCultureCode == "en-US") { strLabel = "Last name"; }
	}
	else if (strFieldName == "strFullName") {
		if (strCultureCode == "nl-NL") { strLabel = "Uw naam"; }
		if (strCultureCode == "en-US") { strLabel = "Your name"; }
	}
	else if (strFieldName == "strSchool") {
		if (strCultureCode == "nl-NL") { strLabel = "Naam school"; }
		if (strCultureCode == "en-US") { strLabel = "Name School"; }
	}
	else if (strFieldName == "strPhone") {
		if (strCultureCode == "nl-NL") { strLabel = "Telefoon (bestaande uit 10 cijfers: 0XXXXXXXXX)"; }
		if (strCultureCode == "en-US") { strLabel = "Phone"; }
	}
	else if (strFieldName == "strCity") {
		if (strCultureCode == "nl-NL") { strLabel = "Plaats"; }
		if (strCultureCode == "en-US") { strLabel = "City"; }
	}
	else if (strFieldName == "strGebruikersNaam") {
		if (strCultureCode == "nl-NL") { strLabel = "Gebruikersnaam"; }
		if (strCultureCode == "en-US") { strLabel = "Username"; }
	}
	else if (strFieldName == "strEmailAddress") {
		if (strCultureCode == "nl-NL") { strLabel = "E-mail adres"; }
		if (strCultureCode == "en-US") { strLabel = "Emailaddress"; }
	}
	else if (strFieldName == "strKlantNummer") {
		if (strCultureCode == "nl-NL") { strLabel = "Klantnummer"; }
		if (strCultureCode == "en-US") { strLabel = "ClientNumber"; }
	}
	else if (strFieldName == "strZipCode") {
		if (strCultureCode == "nl-NL") { strLabel = "Postcode"; }
		if (strCultureCode == "en-US") { strLabel = "Zipcode"; }
	}
	else if (strFieldName == "strStreet") {
		if (strCultureCode == "nl-NL") { strLabel = "Straat"; }
		if (strCultureCode == "en-US") { strLabel = "Street"; }
	}
	else if (strFieldName == "strHuisNummer") {
		if (strCultureCode == "nl-NL") { strLabel = "Huisnummer"; }
		if (strCultureCode == "en-US") { strLabel = "Number"; }
	}
	else if (strFieldName == "strBasketName") {
		if (strCultureCode == "nl-NL") { strLabel = "Naam"; }
		if (strCultureCode == "en-US") { strLabel = "Name"; }
	}
	else if (strFieldName == "fullname") {
		if (strCultureCode == "nl-NL") { strLabel = "Uw naam"; }
		if (strCultureCode == "en-US") { strLabel = "Your name"; }
	}
	else if (strFieldName == "jobtitle") {
		if (strCultureCode == "nl-NL") { strLabel = "Uw functie"; }
		if (strCultureCode == "en-US") { strLabel = "Your jobtitle"; }
	}
	else if (strFieldName == "schoolfullname") {
		if (strCultureCode == "nl-NL") { strLabel = "Naam School / Kinderdagverblijf / BSO / Peuterspeelzaal"; }
		if (strCultureCode == "en-US") { strLabel = "Name"; }
	}
	else if (strFieldName == "phone") {
		if (strCultureCode == "nl-NL") { strLabel = "Telefoon (bestaande uit 10 cijfers: 0XXXXXXXXX)"; }
		if (strCultureCode == "en-US") { strLabel = "Phone"; }
	}
	else if (strFieldName == "email") {
		if (strCultureCode == "nl-NL") { strLabel = "E-mail"; }
		if (strCultureCode == "en-US") { strLabel = "E-mail"; }
	}
	else if (strFieldName == "zipcode") {
		if (strCultureCode == "nl-NL") { strLabel = "Postcode"; }
		if (strCultureCode == "en-US") { strLabel = "Zipcode"; }
	}
	else if (strFieldName == "city") {
		if (strCultureCode == "nl-NL") { strLabel = "Plaats"; }
		if (strCultureCode == "en-US") { strLabel = "City"; }
	}
	else if (strFieldName == "street") {
		if (strCultureCode == "nl-NL") { strLabel = "Straat"; }
		if (strCultureCode == "en-US") { strLabel = "Street"; }
	}
	else if (strFieldName == "number") {
		if (strCultureCode == "nl-NL") { strLabel = "Huisnummer"; }
		if (strCultureCode == "en-US") { strLabel = "Number"; }
	}	
	else if (strFieldName == "ordernummer") {
		if (strCultureCode == "nl-NL") { strLabel = "Ordernummer"; }
		if (strCultureCode == "en-US") { strLabel = "Ordernumber"; }
	}	
	else 
	{
		strLabel = "Veldnaam";
	}
	
 	return strLabel;
}



