// Form validatie van bestelling
function validateOnSubmit() {
    if (document.bestel.mail.value=="" || document.bestel.naam.value=="" || document.bestel.adres.value=="" || document.bestel.postcode.value=="" || document.bestel.tel.value=="" || document.bestel.woonplaats.value=="")
	{
		alert('U heeft niet alle verplichte velden ingevuld!');
		return false;
	}
	
	if (document.bestel.extra_afkomst.value == "Selecteer a.u.b" || document.bestel.afkomst.value == "selecteer" || document.bestel.extra_afkomst.value == "Naam?" || document.bestel.extra_afkomst.value == "Welke Krant?" || document.bestel.extra_afkomst.value == "Welk tijdschrift/magazine?" || document.bestel.extra_afkomst.value == "Welke pagina?" || document.bestel.extra_afkomst.value == "Hoe?" || document.bestel.extra_afkomst.value == "Welke zender?") {
		alert('U heeft niet gespecificeerd hoe u op onze site bent gekomen.');
		return false;
	}
	
	if (document.bestel.group1[0].checked){
		if (document.bestel.bedrijfsnaam.value == "") {
			alert("U heeft niet alle verplichte velden ingevuld!");
			return false;
		}
		return true;
	}
	
	if (!document.bestel.nieuwsbrief[0].checked && !document.bestel.nieuwsbrief[1].checked){
			alert("U heeft niet ingevoerd of u onze nieuwbrief wil ontvangen");
			return false;
	}
	
	if ((document.bestel.mail.value.indexOf(".") < 2) && (document.bestel.mail.value.indexOf("@") < 1)) {
   		alert("U heeft niet een geldig e-mail adres ingevuld");
		return false;
	}
	if (document.bestel.af_adres.checked) {
		if (document.bestel.aflever_naam.value == "" || document.bestel.aflever_adres.value == "") {
			alert("U heeft niet alle verplichte velden ingevuld!");
			return false;
		}
		if (document.bestel.aflever_postcode.value == "") {
			alert("U heeft niet alle verplichte velden ingevuld!");
			return false;
		}
		if (document.bestel.aflever_woonplaats.value == "") {
			alert("U heeft niet alle verplichte velden ingevuld!");
			return false;
		}
		if (document.bestel.aflever_telnr.value == "") {
			alert("U heeft niet alle verplichte velden ingevuld!");
			return false;
		}
		
		return true;
	}
	return true;
  }
  
  
// Doorvoeren van bezorgkosten
function bezorgkosten(excl_btw, btw, incl_btw) {
	
	var excl_btw_new = excl_btw + 25;
	var btw_new = Math.round((excl_btw_new) / 100 * 19);
	var incl_btw_new = Math.round((excl_btw_new) * 1.19);
	
	if(document.bestel.bezorgen.checked)  {
		document.getElementById("excl_btw").innerHTML = '&#8364 ' + excl_btw_new + ',-';
		document.getElementById("btw").innerHTML = '&#8364 ' + btw_new + ',-';
		document.getElementById("incl_btw").innerHTML = '&#8364 ' + incl_btw_new + ',-';
	}
	
	else {
		document.getElementById("excl_btw").innerHTML = '&#8364 ' + excl_btw + ',-';
		document.getElementById("btw").innerHTML = '&#8364 ' + btw + ',-';
		document.getElementById("incl_btw").innerHTML = '&#8364 ' + incl_btw + ',-';
	}
}

// Doorvoeren van de kosten die rembours met zich mee brengt!
/*function rembours_kosten(excl_btw, btw, incl_btw) {

	if(document.bestel.bezorgen.checked)  {
		excl_btw = excl_btw + 25;
	}
	
	var excl_btw_new = excl_btw + 25;
	var btw_new = excl_btw_new / 100 * 19;
	var incl_btw_new = excl_btw_new * 1.19;
	
	
	if(document.bestel.betalingsmethode.value == "rembours")  {
		document.getElementById("excl_btw").innerHTML = '&#8364 ' + excl_btw_new + ',-';
		document.getElementById("btw").innerHTML = '&#8364 ' + btw_new + ',-';
		document.getElementById("incl_btw").innerHTML = '&#8364 ' + incl_btw_new + ',-';
	}
	
	else {
		document.getElementById("excl_btw").innerHTML = '&#8364 ' + excl_btw + ',-';
		document.getElementById("btw").innerHTML = '&#8364 ' + btw + ',-';
		document.getElementById("incl_btw").innerHTML = '&#8364 ' + incl_btw + ',-';
	}
}*/

// Functie om weer te geven wat ze moeten invullen na dropdown van afkomst!
function display_text (input, form) {
	
	if (input == "selecteer") {
		form.extra_afkomst.value = "Selecteer a.u.b";
	}
	else if (input == "vrienden") {
		form.extra_afkomst.value = "Naam?";
	}
	else if (input == "krant") {
		form.extra_afkomst.value = "Welke Krant?";
	}
	else if (input == "tijdschrift") {
		form.extra_afkomst.value = "Welk tijdschrift/magazine?";
	}
	else if (input == "radio") {
		form.extra_afkomst.value = "Welke zender?";
	}
	else if (input == "internet") {
		form.extra_afkomst.value = "Welke pagina?";
	}
	else if (input == "anders") {
		form.extra_afkomst.value = "Hoe?";
	}
}


//////////////////// HIER STAAT HET DEEL DAT ERVOOR ZORGT DAT TR GOED VERSCHIJNEN!!!/////////////

// Appearing of more tr's
var containerTag = 'tr';

var compatible = (
	document.getElementById && document.getElementsByTagName && document.createElement
	&&
	!(navigator.userAgent.indexOf('MSIE 5') != -1 && navigator.userAgent.indexOf('Mac') != -1)
	);

if (compatible)
{
	document.write('<style>.accessibility{display: none}</style>');
	var waitingRoom = document.createElement('div');
}

var hiddenFormFieldsPointers = new Object();

function prepareForm()
{
	if (!compatible) return;
	var marker = document.createElement(containerTag);
	marker.style.display = 'none';

	var x = document.getElementsByTagName('select');
	for (var i=0;i<x.length;i++)
		addEvent(x[i],'change',showHideFields)

	var x = document.getElementsByTagName(containerTag);
	var hiddenFields = new Array;
	for (var i=0;i<x.length;i++)
	{
		if (x[i].getAttribute('rel'))
		{
			var y = getAllFormFields(x[i]);
			x[i].nestedRels = new Array();
			for (var j=0;j<y.length;j++)
			{
				var rel = y[j].getAttribute('rel');
				if (!rel || rel == 'none') continue;
				x[i].nestedRels.push(rel);
			}
			if (!x[i].nestedRels.length) x[i].nestedRels = null;
			hiddenFields.push(x[i]);
		}
	}

	while (hiddenFields.length)
	{
		var rel = hiddenFields[0].getAttribute('rel');
		if (!hiddenFormFieldsPointers[rel])
			hiddenFormFieldsPointers[rel] = new Array();
		var relIndex = hiddenFormFieldsPointers[rel].length;
		hiddenFormFieldsPointers[rel][relIndex] = hiddenFields[0];
		var newMarker = marker.cloneNode(true);
		newMarker.id = rel + relIndex;
		hiddenFields[0].parentNode.replaceChild(newMarker,hiddenFields[0]);
		waitingRoom.appendChild(hiddenFields.shift());
	}
	
	setDefaults();
	addEvent(document,'click',showHideFields);
}

function setDefaults()
{
	var y = document.getElementsByTagName('input');
	for (var i=0;i<y.length;i++)
	{
		if (y[i].checked && y[i].getAttribute('rel'))
			intoMainForm(y[i].getAttribute('rel'))
	}

	var z = document.getElementsByTagName('select');
	for (var i=0;i<z.length;i++)
	{
		if (z[i].options[z[i].selectedIndex].getAttribute('rel'))
			intoMainForm(z[i].options[z[i].selectedIndex].getAttribute('rel'))
	}

}

function showHideFields(e)
{
	if (!e) var e = window.event;
	var tg = e.target || e.srcElement;

	if (tg.nodeName == 'LABEL')
	{
		var relatedFieldName = tg.getAttribute('for') || tg.getAttribute('htmlFor');
		tg = document.getElementById(relatedFieldName);
	}
		
	if (
		!(tg.nodeName == 'SELECT' && e.type == 'change')
		&&
		!(tg.nodeName == 'INPUT' && tg.getAttribute('rel'))
	   ) return;

	var fieldsToBeInserted = tg.getAttribute('rel');

	if (tg.type == 'checkbox')
	{
		if (tg.checked)
			intoMainForm(fieldsToBeInserted);
		else
			intoWaitingRoom(fieldsToBeInserted);
	}
	else if (tg.type == 'radio')
	{
		removeOthers(tg.form[tg.name],fieldsToBeInserted)
		intoMainForm(fieldsToBeInserted);
	}
	else if (tg.type == 'select-one')
	{
		fieldsToBeInserted = tg.options[tg.selectedIndex].getAttribute('rel');
		removeOthers(tg.options,fieldsToBeInserted);
		intoMainForm(fieldsToBeInserted); 
	}
}

function removeOthers(others,fieldsToBeInserted)
{
	for (var i=0;i<others.length;i++)
	{
		var show = others[i].getAttribute('rel');
		if (show == fieldsToBeInserted) continue;
		intoWaitingRoom(show);
	}
}

function intoWaitingRoom(relation)
{
	if (relation == 'none') return;
	var Elements = hiddenFormFieldsPointers[relation];
	for (var i=0;i<Elements.length;i++)
	{
		waitingRoom.appendChild(Elements[i]);
		if (Elements[i].nestedRels)
			for (var j=0;j<Elements[i].nestedRels.length;j++)
				intoWaitingRoom(Elements[i].nestedRels[j]);
	}
}

function intoMainForm(relation)
{
	if (relation == 'none') return;
	var Elements = hiddenFormFieldsPointers[relation];
	for (var i=0;i<Elements.length;i++)
	{
		var insertPoint = document.getElementById(relation+i);
		insertPoint.parentNode.insertBefore(Elements[i],insertPoint);
		if (Elements[i].nestedRels)
		{
			var fields = getAllFormFields(Elements[i]);
			for (var j=0;j<fields.length;j++)
			{
				if (!fields[j].getAttribute('rel')) continue;
				if (fields[j].checked || fields[j].selected) 
					intoMainForm(fields[j].getAttribute('rel'));
			}
		}
	}
}

function getAllFormFields(node)
{
	var allFormFields = new Array;
	var x = node.getElementsByTagName('input');
	for (var i=0;i<x.length;i++)
		allFormFields.push(x[i]);
	var y = node.getElementsByTagName('option');
	for (var i=0;i<y.length;i++)
		allFormFields.push(y[i]);
	return allFormFields;
}

/** ULTRA-SIMPLE EVENT ADDING **/

function addEvent(obj,type,fn)
{
	if (obj.addEventListener)
		obj.addEventListener(type,fn,false);
	else if (obj.attachEvent)
		obj.attachEvent("on"+type,fn);
}

addEvent(window,"load",prepareForm);


/** PUSH AND SHIFT FOR IE5 **/

function Array_push() {
	var A_p = 0
	for (A_p = 0; A_p < arguments.length; A_p++) {
		this[this.length] = arguments[A_p]
	}
	return this.length
}

if (typeof Array.prototype.push == "undefined") {
	Array.prototype.push = Array_push
}

function Array_shift() {
	var A_s = 0
	var response = this[0]
	for (A_s = 0; A_s < this.length-1; A_s++) {
		this[A_s] = this[A_s + 1]
	}
	this.length--
	return response
}

if (typeof Array.prototype.shift == "undefined") {
	Array.prototype.shift = Array_shift
}

//////////////////////////////////// EINDE //////////////////////////////////////



// Update het aantal dat de bezoeker wil bestellen

function UpdateQty(item)
	{
		itemId = item.name;
		newQty = item.options[item.selectedIndex].text;
		
		document.location.href = '?p=winkelwagen&action=update_item&wid='+itemId+'&qty='+newQty;
	}

// Open een afbeelding in een pop-up
	
function OpenWindow(theURL,w,h) { //v2.0

  window.open(theURL, 'actie', 'scrollbars=yes, width=' + w + ',height=' + h);
	window.open.style.body.padding = "0";
	window.open.style.body.margin = "0";
}


/////////////////////////////////////////// MENU
var persistmenu = "yes" //"yes" or "no"
var persisttype = "sitewide" //enter "sitewide" for menu to persist across site, "local" for this page only

if (document.getElementById){ 
document.write('<style type="text/css">\n')
document.write('.submenu{display: none;}\n')
document.write('</style>\n')
}

function SwitchMenu(obj){
	if(document.getElementById){
	var el = document.getElementById(obj);
	var ar = document.getElementById("masterdiv").getElementsByTagName("span"); 
		if(el.style.display != "block"){ 
			for (var i=0; i<ar.length; i++){
				if (ar[i].className=="submenu") 
				ar[i].style.display = "none";
			}
			el.style.display = "block";
		}else{
			el.style.display = "none";
		}
	}
}

function get_cookie(Name) { 
var search = Name + "="
var returnvalue = "";
if (document.cookie.length > 0) {
offset = document.cookie.indexOf(search)
if (offset != -1) { 
offset += search.length
end = document.cookie.indexOf(";", offset);
if (end == -1) end = document.cookie.length;
returnvalue=unescape(document.cookie.substring(offset, end))
}
}
return returnvalue;
}

function onloadfunction(){
if (persistmenu=="yes"){
var cookiename=(persisttype=="sitewide")? "switchmenu" : window.location.pathname
var cookievalue=get_cookie(cookiename)
if (cookievalue!="")
document.getElementById(cookievalue).style.display="block"
}
}

function savemenustate(){
var inc=1, blockid=""
while (document.getElementById("sub"+inc)){
if (document.getElementById("sub"+inc).style.display=="block"){
blockid="sub"+inc
break
}
inc++
}
var cookiename=(persisttype=="sitewide")? "switchmenu" : window.location.pathname
var cookievalue=(persisttype=="sitewide")? blockid+";path=/" : blockid
document.cookie=cookiename+"="+cookievalue
}

if (window.addEventListener)
window.addEventListener("load", onloadfunction, false)
else if (window.attachEvent)
window.attachEvent("onload", onloadfunction)
else if (document.getElementById)
window.onload=onloadfunction

if (persistmenu=="yes" && document.getElementById)
window.onunload=savemenustate









// Kijk of alle verplichte velden voor het aanmelden ingevuld zijn!
function formValidationAanmelden() {
	var form = document.aanmelden;
	
	if (form.mail.value===null || form.mail.value=="" || form.re_wachtwoord.value===null || form.re_wachtwoord.value=="" ||
		form.wachtwoord.value===null || form.wachtwoord.value=="" || form.tel.value===null || form.tel.value=="" ||
		form.woonplaats.value===null || form.woonplaats.value=="" || form.postcode.value===null || form.postcode.value=="" ||
		form.adres.value===null || form.adres.value=="" || form.naam.value===null || form.naam.value=="") {
		alert ("U heeft niet alle verplichte velden ingevuld!");
		return false;
	}
	if (form.wachtwoord.value != form.re_wachtwoord.value) {
		alert ("U heeft niet 2 dezelfde wachtwoorden ingevoerd");
		return false;
	}
	
	if (form.extra_afkomst.value == "Selecteer a.u.b" || form.afkomst.value == "selecteer" || form.extra_afkomst.value == "Naam?" || form.extra_afkomst.value == "Welke Krant?" || form.extra_afkomst.value == "Welk tijdschrift/magazine?" || form.extra_afkomst.value == "Welke pagina?" || form.extra_afkomst.value == "Hoe?" || form.extra_afkomst.value == "Welke zender?") {
		alert('U heeft niet gespecificeerd hoe u op onze site bent gekomen.');
		return false;
	}
	
	if (!form.nieuwsbrief[0].checked && !form.bestel.nieuwsbrief[1].checked){
			alert("U heeft niet ingevoerd of u onze nieuwbrief wil ontvangen");
			return false;
	}
	
	if (form.group[0].checked){
		if (form.bedrijfsnaam.value == "") {
			alert("U heeft niet alle verplichte velden ingevuld!");
			return false;
		}
		return true;
	}
	return true;
}

// Valideer de inloggegevens
function formValidationInloggen() {
	var form = document.inloggen
	if (form.gebr.value===null || form.gebr.value=="" || form.passwd.value===null || form.passwd.value=="") {
		alert("U heeft niet alle verplichte velden ingevuld!");
		return false;
	}
	return true;
}

// Valideer de wachtwoord
function formValidationWachtwoord() {
	var form = document.theForm
	if (form.oud_ww.value===null || form.oud_ww.value=="" || 
		form.nieuw_ww.value===null || form.nieuw_ww.value=="" ||
		form.redo_ww.value===null || form.redo_ww.value=="") {
		alert("U heeft niet alle verplichte velden ingevuld!");
		return false;
	}
	if (form.redo_ww.value != form.nieuw_ww.value) {
		alert ("U heeft niet 2 dezelfde wachtwoorden ingevoerd");
		return false;
	}
	return true;
}

// Bekijk of alle velden voor het wijzigen van een account zijn ingevuld
function formValidationWijzigaccount() {
	var form = document.wijzig
	if (form.mail.value===null || form.mail.value=="" || 
		form.naam.value===null || form.naam.value=="" || 
		form.adres.value===null || form.adres.value=="" || 
		form.postcode.value===null || form.postcode.value=="" || 
		form.telefoon.value===null || form.telefoon.value=="" || 
		form.woonplaats.value===null || form.woonplaats.value=="") {
		alert("U heeft niet alle verplichte velden ingevuld!");
		return false;
	}
	return true;
}


// BEkijk of de verplichte velden voor productgroep toevoegen zijn ingevuld
function formValidationPDToevoegen(form) {	
if (form.naam.value=="") {
		alert("U heeft niet alle verplichte velden ingevuld!");
		return false;
	}
	return true;
}

function formValidationProductF(form) {	
if (form.productcode.value=="" || form.verkoopprijs.value=="") {
		alert("U heeft niet alle verplichte velden ingevuld!");
		return false;
	}
	return true;
}

// Bevestig verwijdering
function confirmSubmit() {
  if (
  	confirm("Hiermee worden de geselecteerde productgroepen definitief uit de database verwijderd. \n U kunt dit niet ongedaan maken")) return true;
  else return false;
}

// Bekijk of alle velden voor "Tell A Friend" zijn ingevuld
function formValidationNieuwsbrief() {
	var form = document.nieuwbrief
	if (form.naam.value=="" ||
	form.mail.value=="") {
		alert("U heeft niet alle verplichte velden ingevuld!");
		return false;
	}
	return true;
}

// Bekijk of alle velden voor "Tell A Friend" zijn ingevuld
function formValidationTellAFriend() {
	var form = document.mailafriend
	if (form.naam.value===null || form.naam.value=="" || form.from.value===null || 
	form.from.value=="" || form.vriend.value===null || form.vriend.value=="" || form.to.value===null || form.to.value=="") {
		alert("U heeft niet alle verplichte velden ingevuld!");
		return false;
	}
	return true;
}

  
function formValidationOrderZoek() {
	var form = document.theForm
	if (form.betalingsmethode.value=="" &&
		form.id.value=="" &&
		form.dag.value=="" &&
		form.month.value=="" &&
		form.status.value=="" &&
		form.jaar.value=="") {
		alert("U geen velden ingevoerd");
		return false;
	}
	return true;
}








// Bekijk of alle velden voor "Pagina Toevoegen" & "Pagina Wijzigen" zijn ingevuld
function formValidationPagina() {
	var form = document.theForm
	if (form.naam.value===null || form.naam.value=="" || form.content.value===null || 
	form.content.value=="") {
		alert("U heeft niet alle verplichten velden ingevuld!");
		return false;
	}
	return true;
}





function formValidationAanbieding(form) {
if (form.product.value=="" || form.zin_1.value=="" || form.zin_2.value=="") {
		alert("U heeft niet alle verplichte velden ingevuld!");
		return false;
	}
	return true;
}




function formAdministratorToevoegen () {
	var form = document.theForm

	if (form.naam.value=="") {
		alert("U heeft geen naam ingevuld");
		form.naam.focus();
		return false;
	}
	if (form.gebruikersnaam.value=="") {
		alert("U heeft geen gebruikersnaam ingevuld");
		form.gebruikersnaam.focus();
		return false;
	}
	if (form.wachtwoord.value=="" || form.re-wachtwoord.value=="") {
		alert("U heeft geen wachtwoord ingevuld");
		return false;
	}
	if (form.wachtwoord.value != form.re-wachtwoord.value) {
		alert ("U heeft niet 2 dezelfde wachtwoorden ingevoerd");
		form.wachtwoord.focus();
		return false;
	}
	return true;
}
