/*var errorMsg="Error : \n";
self.name = "main";
*/
/*
function validatePersonalData()
{
	errorMsg=""
	var form = document.personaldata;
	var valid =  true;
	if(isEmpty(form.FirstName)) valid = false
	if(isEmpty(form.LastName)) valid = false
	if(validateEmail(form.Email.value)==false) valid = false
	if(valid==false)alert(errorMsg);
	return valid;
}
*/
function limitText(limitField, limitNum) {
	if (limitField.value.length > limitNum)
	{
		limitField.value = limitField.value.substring(0, limitNum);
	} else {
		//limitCount.value = limitNum - limitField.value.length;
	}
}

function validateAccomodation()
{
	errorMsg=""
	var form = document.accomodationform;
	var valid =  true;
	if(isEmpty(form.nameNl)) valid = false
	if(valid==false)alert(errorMsg);

		return valid;
}

function validateTravelGuideData(thisform)
{
	errorMsg="";
	var valid = true;
		with(thisform)
		{
			if(isEmpty(thisform.firstName)) valid = false;
			if(isEmpty(thisform.lastName)) valid = false;
			if(valid==false)alert(errorMsg);
		}
	return valid;
}
function validateTravelForm(thisform)
{
	errorMsg="";
	var form = document.travelform;
	var valid = true;
		with(thisform)
		{
			if(isEmpty(form.titleNl)) valid = false;
			if(checkDropdownChanged(form.countryId)==false) valid = false;
			if(checkDropdownChanged(form.travelTypeId)==false) valid = false;
			if(valid==false)alert(errorMsg);
		}
	return valid;
}

function validateTravelDataForm(thisform)
{
	errorMsg="";
	var form = document.traveldataform;
	var valid = true;
		with(form)
		{
			if(isEmpty(form.travelCode)) valid = false;
			if(checkDropdownChanged(form.travelId)==false) valid = false;
			if(isEmpty(form.maximumTravellers)) valid = false;
			if(valid==false)alert(errorMsg);
		}
	return valid;
}

function validateSubscribeForm(thisform)
{
	errorMsg="";
	var valid = true;
	
	with(thisform)
	{
		if(validateEmail(thisform.Email.value)==false) valid = false;
		if(isEmpty(thisform.validatestring)) valid = false;
		if(valid==false)alert(errorMsg);
	}
	
	return valid;
	
}
function validateTravelSubscriptionForm(thisform)
{
	errorMsg="";
	var valid = true;
	
	with(thisform)
	{
		if(isEmpty(thisform.naam1)) valid = false;
		if(isEmpty(thisform.voornaam1)) valid = false;
		if(isEmpty(thisform.geboortedatum1)) valid = false;
		if(isEmpty(thisform.Straat)) valid = false;
		if(isEmpty(thisform.Huisnr)) valid = false;
		if(isEmpty(thisform.Postcode)) valid = false;
		if(isEmpty(thisform.Woonplaats)) valid = false;
		if(validateEmail(thisform.Email.value)==false) valid = false;
		if(valid==false)alert(errorMsg);
	}
	//alert(valid);
	return valid;	
}
function validateTransportForm(thisform)
{
	errorMsg="";
	var valid = true;
		with(thisform)
		{
			if(isEmpty(thisform.nameNl)) valid = false;
			if(isEmpty(thisform.nameFr)) valid = false;
			if(isEmpty(thisform.nameEn)) valid = false;
			if(valid==false)alert(errorMsg);
		}
	return valid;
}
function validateTravelScheme()
{
	errorMsg=""
	var form = document.travelschemeform;
	var valid =  true;
	
	if(checkDropdownChanged(form.travelId)==false) valid = false
	if(isEmpty(form.titleNl)) valid = false
	if(isEmpty(form.descriptionNl)) valid = false
	if(valid==false)alert(errorMsg);
	
	return valid

}
function validateLinkedFileForm()
{
	errorMsg=""
	var form = document.linkedfilesform;
	var valid =  true;
	
	if(checkDropdownChanged(form.travelId)==false) valid = false
	if(isEmpty(form.fileName)) valid = false
	if(valid==false)alert(errorMsg);
	
	return valid

}

function validateContactForm(thisform)
{
	errorMsg="";
	//var form = document.contactform;
	var valid = true;
		with(thisform)
		{
			
			if(isEmpty(thisform.Voornaam)) valid = false;
			if(isEmpty(thisform.Naam)) valid = false;
			if(isEmpty(thisform.Straat)) valid = false;
			if(isEmpty(thisform.Huisnr)) valid = false;
			if(isEmpty(thisform.Postcode)) valid = false;
			if(isEmpty(thisform.Plaats)) valid = false;
			if(validateEmail(thisform.Email.value)==false) valid = false;
			if(valid==false)alert(errorMsg);
		}
		
	return valid;
}
function validateBrochureForm(thisform)
{
	errorMsg="";
	//var form = document.contactform;
	var valid = true;
		with(thisform)
		{
			
			if(isEmpty(thisform.Voornaam)) valid = false;
			if(isEmpty(thisform.Naam)) valid = false;
			if(isEmpty(thisform.Straat)) valid = false;
			if(isEmpty(thisform.Huisnr)) valid = false;
			if(isEmpty(thisform.Postcode)) valid = false;
			if(isEmpty(thisform.Plaats)) valid = false;
			if(validateEmail(thisform.Email.value)==false) valid = false;
			if(valid==false)alert(errorMsg);
		}
		
	return valid;
}
function validateReservationForm()
{
	errorMsg=""
	var form = document.reservationform;
	var valid = true;
	if(isEmpty(form.firstname)) valid = false;
	if(isEmpty(form.lastname)) valid = false;
	if(validateEmail(form.email.value)) valid = false;
	if(isEmpty(form.phone)) valid = false;
	if(isEmpty(form.day)) valid = false;
	if(isEmpty(form.month)) valid = false;
	if(isEmpty(form.year)) valid = false;
	if(isEmpty(form.hour)) valid = false;
	if(isEmpty(form.min)) valid = false;
	if(isEmpty(form.numberofpeople)) valid = false;
	
	if(valid==false)alert(errorMsg);

	return valid;

}

function validateUserInsert()
{
	errorMsg=""

	var form = document.projectform;
	var valid =  true;
	if(isEmpty(form.Name)) valid = false
	if(isEmpty(form.CoordinatorName)) valid = false
	if(checkDropdownChanged(form.ThumbnailUrl)==false) valid = false
	if(isEmpty(form.Description)) valid = false
	
	if(valid==false)alert(errorMsg);
	
	return valid;
}


function validateUser()
{
	errorMsg=""
	var form = document.userform;
	var valid =  true;
	if(isEmpty(form.Login)) valid = false
	if(checkPassword(form.Password,form.ConfirmPassword)==false)valid=false
	if(valid==false)alert(errorMsg);
	
	return valid
}

function validateCategoryForm()
{
	errorMsg=""
	var form = document.categoryform;
	var valid =  true;
	if(isEmpty(form.imageCategoryNameNl)) valid = false
	if(isEmpty(form.imageCategoryNameFr)) valid = false
	if(isEmpty(form.imageCategoryNameEn)) valid = false
	if(valid==false)alert(errorMsg);

		return valid;
}

function validateSubCategoryForm()
{
	errorMsg=""
	var form = document.subcategoryform;
	var valid =  true;
	if(isEmpty(form.imageCategoryId)) valid = false
	if(isEmpty(form.imageSubCategoryNameNl)) valid = false
	if(isEmpty(form.imageSubCategoryNameFr)) valid = false
	if(isEmpty(form.imageSubCategoryNameEn)) valid = false
	if(valid==false)alert(errorMsg);

		return valid;
}

function validateProductCategoryForm()
{
	errorMsg=""
	var form = document.productcategoryform;
	var valid =  true;
	if(isEmpty(form.productCategoryNameNl)) valid = false
	if(isEmpty(form.productCategoryNameFr)) valid = false
	if(isEmpty(form.productCategoryNameEn)) valid = false
	if(valid==false)alert(errorMsg);

		return valid;
}

function validateProductSubCategoryForm()
{
	errorMsg=""
	var form = document.subcategoryform;
	var valid =  true;
	if(isEmpty(form.productCategoryId)) valid = false
	if(isEmpty(form.productSubCategoryNameNl)) valid = false
	if(isEmpty(form.productSubCategoryNameFr)) valid = false
	if(isEmpty(form.productSubCategoryNameEn)) valid = false
	if(valid==false)alert(errorMsg);

		return valid;
}

function validateProductForm()
{
	errorMsg="";
	var form= document.productform;
	var valid=true;
	
	if(isEmpty(form.nameNl)) valid = false
	if(isEmpty(form.nameEn)) valid = false
	if(isEmpty(form.nameFr)) valid = false
	//if(checkDropdownChanged(form.productCatId)==false) valid = false
	
	if(valid==false)alert(errorMsg);
	
	return valid;

}


function validateImageForm()
{
	errorMsg=""
	var form = document.imageform;
	var valid = true;
	if(isEmpty(form.imageFileName)) valid = false;
	if(valid==false)alert(errorMsg);

	return valid;
}

function validateMenuCategoryForm()
{
	errorMsg=""
	var form = document.menucategoryform;
	var valid =  true;
	if(isEmpty(form.menuCategoryNameNl)) valid = false
	if(isEmpty(form.menuCategoryNameFr)) valid = false
	if(isEmpty(form.menuCategoryNameEn)) valid = false
	if(valid==false)alert(errorMsg);

		return valid;
}

function validateMenuSubCategoryForm()
{
	errorMsg=""
	var form = document.menusubcategoryform;
	var valid =  true;
	if(isEmpty(form.menuCategoryId)) valid = false
	if(isEmpty(form.menuSubCategoryNameNl)) valid = false
	if(isEmpty(form.menuSubCategoryNameFr)) valid = false
	if(isEmpty(form.menuSubCategoryNameEn)) valid = false
	if(valid==false)alert(errorMsg);

		return valid;
}

function validateMenuItemForm()
{
	errorMsg=""
	var form = document.menuitemform;
	var valid = true;
	if(isEmpty(form.menuItemDesciptionNl) || isEmpty(form.menuItemDesciptionFr) || isEmpty(form.menuItemDesciptionEn) )valid =false;
	if(isEmpty(form.menuItemCatId)) valid = false;
	if(isEmpty(form.menuItemSubCatId)) valid = false;
	
	if(valid==false)alert(errorMsg);

	return valid;
}


function validateRatioForm()
{
	errorMsg=""
	var form = document.ratioform;
	var valid =  true;
	if(isEmpty(form.name)) valid = false
	if(valid==false)alert(errorMsg);

		return valid;
}

function validateSizeForm()
{
	errorMsg=""
	var form = document.sizeform;
	var valid =  true;
	if(isEmpty(form.size)) valid = false
	if(valid==false)alert(errorMsg);

	return valid;
}



function validatePrintOptionForm()
{
	errorMsg=""
	var form = document.printoptionform;
	var valid = true;
	if(isEmpty(form.imageRatioId)) valid = false
	if(isEmpty(form.imageSizeId)) valid = false
	if(valid==false)alert(errorMsg);

	return valid;
}

function validateNewsArticle()
{
	errorMsg=""
	var form = document.newsform;
	var valid =  true;
	if(isEmpty(form.newsTitleEn)) valid = false
	if(isEmpty(form.newsTitleFr)) valid = false
	if(isEmpty(form.newsTitleNl)) valid = false
	if(isEmpty(form.newsBodyEn)) valid = false
	if(isEmpty(form.newsBodyFr)) valid = false
	if(isEmpty(form.newsBodyNl)) valid = false
	if(valid==false)alert(errorMsg);
	
	return valid
}
function validatePromo()
{
	errorMsg=""
	var form = document.promoform;
	var valid =  true;
	if(isEmpty(form.promoTitleEn)) valid = false
	if(isEmpty(form.promoTitleFr)) valid = false
	if(isEmpty(form.promoTitleNl)) valid = false
	if(isEmpty(form.promoBodyEn)) valid = false
	if(isEmpty(form.promoBodyFr)) valid = false
	if(isEmpty(form.promoBodyNl)) valid = false
	if(valid==false)alert(errorMsg);
	
	return valid
}
function validateRecommendation()
{
	errorMsg=""
	var form = document.recomform;
	var valid =  true;
	
	if(isEmpty(form.recomTitleEn)) valid = false
	if(isEmpty(form.recomTitleFr)) valid = false
	if(isEmpty(form.recomTitleNl)) valid = false
	if(isEmpty(form.recomBodyEn)) valid = false
	if(isEmpty(form.recomBodyFr)) valid = false
	if(isEmpty(form.recomBodyNl)) valid = false
	if(checkDropdownChanged(form.recomTravelId)==false) valid = false
	if(valid==false)alert(errorMsg);
	
	return valid
}

function validateCustomerDataForm(thisform)
{
	errorMsg="";
	var valid = true;
	
	with(thisform)
	{
		
		if(isEmpty(thisform.billingFirstName)) valid = false;
		if(isEmpty(thisform.billingLastName)) valid = false;
		if(isEmpty(thisform.billingAddress1)) valid = false;
		if(isEmpty(thisform.billingPostalCode)) valid = false;
		if(isEmpty(thisform.billingPlace)) valid = false;
		if(isEmpty(thisform.billingCountry)) valid = false;
		if(validateEmail(thisform.email.value)==false) valid = false;
		if(valid==false)alert(errorMsg);
	}
		
	return valid;

}

function validateShoppingCart(thisform)
{
	errorMsg="";
	var valid = true;
	
	with(thisform)
	{
		if(isEmpty(thisform.paymentMethodId)) valid= false;
		if(valid==false)alert(errorMsg);
	}
	return valid;
}

////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////


function confirmDelete()
{
	sure = confirm("Are you sure you want to delete the item?\n(Cancel = No     OK = Yes)");
	
	if(sure ==true)
		return true
	else
		return false
}
function confirmAlert(message)
{
	sure = confirm(message);
	
	if(sure ==true)
		return true
	else
		return false
}


function validateEmail(email)
{
	errorMsg="";
	if (email == "")
	{
	   errorMsg +="Gelieve een geldig emailadres in te vullen.\n";
	   return false;
	}
	
	var emailFilter=/^.+@.+\..{2,3}$/;
	if (!(emailFilter.test(email)))
	{
	   errorMsg +="Gelieve een geldig emailadres in te vullen.\n";
	   return false;
	}

	return true;
}

function validatePhone (phone)
{
	var error = "";
	if (phone == "")
	{
		errorMsg +="Gelieve een telefoonnummer in te vullen.\n";
	}

	var stripped = phone.replace(/[\(\)\.\-\ ]/g, '');
	//strip out acceptable non-numeric characters
    if (isNaN(parseInt(stripped)))
    {
    	errorMsg +="Het telefoonnummer bevat ongeldige tekens.\n";
		return false;
    }
    if (!(stripped.length == 10))
    {
    	errorMsg +="Het telefoonnummer heeft een onjuiste lengte. Gelieve te corrigeren.\n";
		return false;
    }
	return true;
}

function isNumeric(obj)
{
	var geldig = "1234567890";
	var testChar;
	var resultaat = true;
	
	for(i=0; i < obj.value.length && resultaat == true; i++)
	{
		testChar = obj.value.charAt(i);
		if(geldig.indexOf(testChar) == -1){

			resultaat = false;
			
			}
	}
	return resultaat;
}


function checkAmount(euro,cent)
{
	var valide = true;
	if(isNumeric(euro)==false)
	{
		errorMsg +="Gelieve een numerieke waarde in euro's in te geven\n";
		valide = false;
	}
	if(isNumeric(cent)==false)
	{
		errorMsg +="Gelieve een numerieke waarde in cents in te geven.\n";
		valide = false;
	}
	if(cent.value.length!=2)
	{
		errorMsg +="De cents moeten uit minstens 2 cijfers bestaan.\n";
		valide = false;
	}
	return valide;
}


function checkBankAccount(part1,part2,part3)
{
	var valide = true;

	if(isNumeric(part1)==false || isNumeric(part2)==false || isNumeric(part3)==false)
	{
		errorMsg +="Gelive een bankrekeningnummer in te geven.\n";
		valide = false;
	}
	//comlete = part1.value.length + part2.value + part3.value
	if((part1.value.length + part2.value.length + part3.value.length) != 12)
	{
		errorMsg +="Het nummer moet uit 12 cijfers bestaan.\n";
		valide = false;
	}
	return valide;
}

function containsNoTags(string)
{
	if (string.indexOf("<" ) != -1 && string.indexOf(">") != -1)
		{
			errorMsg +="Gelieve geen HTML tags te gebruiken.\n";
			return false;
		}
		else
		{
			return true;
		}
}


// check if password - between 6-8 chars, uppercase, lowercase, and numeral
function checkPassword(pwd1,pwd2)
{
	var error = "";
	if (pwd1.value == "")
	{
	   errorMsg +="You didn't enter a password.\n";
	   return false;
	}

    var illegalChars = "/[\W_]/"; // allow only letters and numbers
	
	if(pwd1.value != pwd2.value)
	{
		errorMsg +="The passwords must match.\n";
       return false;
	}    
    if ((pwd1.value.length < 6))
    {
       errorMsg +="The password must at least be 6 characters.\n";
       return false;
    }

	if (!  (pwd1.value.search(/(a-z)+/) && pwd1.value.search(/(A-Z)+/) && pwd1.value.search(/(0-9)+/) ) )
    {
       errorMsg +="The password must contain at least one uppercase letter, one lowercase letter, and one numeral.\n";
       return false;
    }  
	return true;
}

// check on empty string
function isEmpty(str)
{
	if (str.value.length == 0)
	{
		errorMsg += "Gelieve het veld "+ str.name +" in te vullen.\n";
		return true;
	}
	return false;
}

// valid selector from dropdown list
function checkDropdownChanged(dropdown)
{
    if (dropdown.selectedIndex == 0 || dropdown.selectedIndex == undefined)
    {
    	errorMsg +="U maakt geen keuze uit de lijst "+dropdown.name+".\n";
    	return false;
    }    
	return true;
}

function validateDate(day,month,year)
{
	 var dteDate;
	  //set up a Date object based on the day, month and year arguments
	 //javascript months start at 0 (0-11 instead of 1-12)
	 dteDate=new Date(year,month,day);
	 
	  /*
	 Javascript Dates are a little too forgiving and will change the date 
	 to a reasonable guess if it's invalid. We'll use this to our advantage 
	 by creating the date object and then comparing it to the details we put it. 
	 If the Date object is different, then it must have been an invalid date 
	 to start with...
	 */
	
	 return ((day==dteDate.getDate()) && (month==dteDate.getMonth()) && (year==dteDate.getFullYear()));
	 
}
