/*
Copyright:		Graphic Form & Function Automation; www.gffa.nl
Project:		Website PC Dumpdag
Module:			JavaScript browser functies
Versie:			2.6.0
Datum:			261006
*/

var koptekst, knoptekst;
var optie1waarde, optie2waarde, formkoptekst2, formknoptekst2, mailvaktekst;
var gs = new Utils();

// ALGEMEEN
function controleerForm(fo) {
	var fout = false;
	for (var i = 0; i < fo.length; i++) {
		if (fo.elements[i].type == "text" || fo.elements[i].type == "textarea") {
			fo.elements[i].value = fo.elements[i].value.replace(new RegExp("</?.+?>", "g"), "");
		}
		if (fo.elements[i].type == "text" || fo.elements[i].type == "password") {
			if (fo.elements[i].name == "telefoon") {
				continue;
			}
			document.getElementById("label_" + fo.elements[i].name).style.textTransform = "none";
			document.getElementById("label_" + fo.elements[i].name).innerHTML = gs.text.capitalize(document.getElementById("label_" + fo.elements[i].name).innerHTML, false);
			document.getElementById("label_" + fo.elements[i].name).style.color = "black";
			document.getElementById("label_" + fo.elements[i].name).style.fontWeight = "normal";
			if (fo.elements[i].value.length < 2) {
				document.getElementById("label_" + fo.elements[i].name).style.textTransform = "uppercase";
				document.getElementById("label_" + fo.elements[i].name).style.color = "red";
				document.getElementById("label_" + fo.elements[i].name).style.fontWeight = "bold";
				fout = true;
			} else {
				if (fo.elements[i].name == "email" && (fout = !gs.text.checkFormField(fo.elements[i].value, "email"))) {
					document.getElementById("label_" + fo.elements[i].name).style.textTransform = "uppercase";
					document.getElementById("label_" + fo.elements[i].name).style.color = "red";
					document.getElementById("label_" + fo.elements[i].name).style.fontWeight = "bold";
				}
			}
		}
	}
	if (fout) {
		window.alert("Verstrek s.v.p. de juiste gegevens...");
	} else {
		fo.submit();
	}
}

// AANMELDINGSPROCEDURE
function initieer(o1w, o2w, fkt2, fpt2, mvt) {
	var temparr;
	var gjso, gmso, gdso;
	if (document.forms.inschrijfform) {
		optie1waarde = o1w;
		optie2waarde = o2w;
		formkoptekst2 = fkt2;
		formknoptekst2 = fpt2;
		mailvaktekst = mvt;
		document.forms.inschrijfform.naam.focus();
	}
}

var labelwachtwoord;
function soortActie(ro) {
	var tempobj;
	var fo = ro.form;
	var labels = new Array("aanhef", "sekse", "naam", "adres", "postcode", "woonplaats", "telefoon");
	if (ro.value == optie2waarde) {
		fo.soortactie.value = optie2waarde;
		tempobj = document.getElementById("inschr_formkop");
		koptekst = tempobj.innerHTML;
		tempobj.innerHTML = formkoptekst2;
		tempobj = document.getElementById("inschr_aanmeldknop");
		knoptekst = tempobj.value;
		tempobj.value = gs.text.capitalize(formknoptekst2, false);
		if (mailvaktekst) {
			document.getElementById("sekse_M").setAttribute("disabled", "disabled");
			document.getElementById("sekse_V").setAttribute("disabled", "disabled");
			for (var i = 0; i < labels.length; i++) {
				document.getElementById("label_" + labels[i]).style.color = "#CCC";
			}
			tempobj = document.getElementById("inschr_email");
			tempobj.value = mailvaktekst;
			tempobj.select();
			labelwachtwoord = document.getElementById("label_wachtwoord").innerHTML;
			document.getElementById("label_wachtwoord").innerHTML = "Wachtwoord*";
			document.getElementById("inschr_wwvergeten").innerHTML = "<a title=\"Vul uw e-mail-adres in en klik hier om uw wachtwoord toegezonden te krijgen\" href=\"javascript:wwZenden('inschrijfform', 'email')\">Wachtwoord vergeten?</a>";
		}
	} else {
			document.getElementById("sekse_M").removeAttribute("disabled");
			document.getElementById("sekse_V").removeAttribute("disabled");
		for (var i = 0; i < labels.length; i++) {
			document.getElementById("label_" + labels[i]).style.color = "#000";
		}
		fo.soortactie.value = optie1waarde;
		document.getElementById("inschr_formkop").innerHTML = koptekst;
		document.getElementById("inschr_aanmeldknop").value = knoptekst;
		if (mailvaktekst) {
			document.getElementById("inschr_email").value = "";
			document.getElementById("label_wachtwoord").innerHTML = labelwachtwoord;
			document.getElementById("inschr_wwvergeten").innerHTML = "&#160;";
		}
	}
}

var velden = new Array("naam", "email", "wachtwoord", "postcode", "woonplaats");
function controleerReg(fo) {
	var melding = "Verstrek s.v.p. de juiste gegevens...";
	var fout = false;
	if (fo.soortactie.value == "nieuw" || fo.soortactie.value == "wijzig") {
		for (var i = 0; i < velden.length; i++) {
			document.getElementById("label_" + velden[i]).style.textTransform = "none";
			document.getElementById("label_" + velden[i]).innerHTML = gs.text.capitalize(document.getElementById("label_" + velden[i]).innerHTML);
			document.getElementById("label_" + velden[i]).style.color = "black";
			document.getElementById("label_" + velden[i]).style.fontWeight = "normal";
			if (fo.elements[velden[i]].value.length == 0) {
				if (velden[i] == "wachtwoord" && fo.soortactie.value == "wijzig") {
					continue;
				}
				document.getElementById("label_" + velden[i]).style.textTransform = "uppercase";
				document.getElementById("label_" + velden[i]).style.color = "red";
				document.getElementById("label_" + velden[i]).style.fontWeight = "bold";
				fout = true;
			} else if (!fout) {
				if (fo.elements[velden[i]].name == "wachtwoord") {
					if (fo.wachtwoord.value.length < 8 || !(new RegExp("^[A-Za-z0-9\_]+$")).test(fo.wachtwoord.value)) {
						document.getElementById("label_wachtwoord").style.textTransform = "uppercase";
						document.getElementById("label_wachtwoord").style.color = "red";
						document.getElementById("label_wachtwoord").style.fontWeight = "bold";
						melding = "Het wachtwoord moet uit minimaal 8 tekens bestaan.\n";
						melding += "Toegestane tekens zijn: A-Z, a-z, 0-9 en '_'.";
						fout = true;
					}
				} else if (fo.elements[velden[i]].name == "email" && !fout) {
					if (fout = !gs.text.checkFormField(fo.email.value, "email")) {
						document.getElementById("label_email").style.textTransform = "uppercase";
						document.getElementById("label_email").style.color = "red";
						document.getElementById("label_email").style.fontWeight = "bold";
						melding = "Ongeldig e-mail-adres.";
					}
				} else if (fo.elements[velden[i]].name == "postcode" && !fout) {
					if (fout = !gs.text.checkFormField(fo.postcode.value, "zipcode")) {
						document.getElementById("label_postcode").style.textTransform = "uppercase";
						document.getElementById("label_postcode").style.color = "red";
						document.getElementById("label_postcode").style.fontWeight = "bold";
						melding = "Ongeldige NL-postcode.";
					}
				}
			}
		}
	}
	if (fo.soortactie.value == "wijzigingsopvraag") {
		if (fout = !gs.text.checkFormField(fo.email.value, "email")) {
			document.getElementById("label_email").style.textTransform = "uppercase";
			document.getElementById("label_email").style.color = "red";
			document.getElementById("label_email").style.fontWeight = "bold";
			melding = "Ongeldig e-mail-adres.";
		}
		if (!fout && fo.wachtwoord.value.length < 8) {
			document.getElementById("label_wachtwoord").style.textTransform = "uppercase";
			document.getElementById("label_wachtwoord").style.color = "red";
			document.getElementById("label_wachtwoord").style.fontWeight = "bold";
			melding = "Geef een wachtwoord op\n(minimaal 8 tekens).";
			fout = true;
		}
	}
	if (fout) {
		window.alert(melding);
	} else {
		fo.submit();
	}
}

// KLEINE ADVERTENTIES
function prijsopgave(feo, c) {
	var waarde;
	var fo = feo.form;
	if (feo.type == "radio") {
		switch (feo.id) {
			case "advVraagprijs_TOAG" :
				document.getElementById("label_advVraagprijs").style.color = "#000";
				document.getElementById("label_advVraagprijs_GATH").style.color = "#000";
				document.getElementById("label_advVraagprijs_NOTK").style.color = "#000";
				document.getElementById("label_advVraagprijs_CONC").style.color = "#000";
				document.getElementById("advVraagprijs_GATH").removeAttribute("disabled");
				document.getElementById("advVraagprijs_NOTK").removeAttribute("disabled");
				document.getElementById("advVraagprijs_CONC").removeAttribute("disabled");
				document.getElementById("vraagprijs").removeAttribute("disabled");
				document.getElementById("advVraagprijs_CONC").setAttribute("value", "----");
				document.getElementById("advVraagprijs").setAttribute("value", "");
			break;
			case "advVraagprijs_TKGV" :
				document.getElementById("label_advVraagprijs").style.color = "#999";
				document.getElementById("label_advVraagprijs_GATH").style.color = "#999";
				document.getElementById("label_advVraagprijs_NOTK").style.color = "#999";
				document.getElementById("label_advVraagprijs_CONC").style.color = "#999";
				document.getElementById("advVraagprijs_GATH").removeAttribute("checked");
				document.getElementById("advVraagprijs_GATH").setAttribute("disabled", "disabled");
				document.getElementById("advVraagprijs_NOTK").removeAttribute("checked");
				document.getElementById("advVraagprijs_NOTK").setAttribute("disabled", "disabled");
				document.getElementById("advVraagprijs_CONC").removeAttribute("checked");
				document.getElementById("advVraagprijs_CONC").setAttribute("disabled", "disabled");
				document.getElementById("vraagprijs").setAttribute("disabled", "disabled");
				document.getElementById("vraagprijs").setAttribute("value", "");
				document.getElementById("advVraagprijs_CONC").setAttribute("value", "TKGV");
				document.getElementById("advVraagprijs").setAttribute("value", "TKGV");
			break;
			case "advVraagprijs_GATH" :
				document.getElementById("advVraagprijs").setAttribute("value", "GATH");
			break;
			case "advVraagprijs_NOTK" :
				document.getElementById("advVraagprijs").setAttribute("value", "NOTK");
			break;
			case "advVraagprijs_CONC" :
				fo.vraagprijs.focus();
			break;
			default :
				document.getElementById("advVraagprijs").setAttribute("value", "");
				document.getElementById("advVraagprijs_CONC").setAttribute("value", "----");
				fo.vraagprijs.value = "";
		}
	}
	if (feo.type == "text") {
		if (c) {
			waarde = feo.value;
			if (!/^[0-9\,\.]+$/.test(waarde)) {
				feo.value = "";
				window.alert("Geef s.v.p. een concreet bedrag op.");
			} else {
				//waarde = gs.text.dot2comma(waarde, ",", ".");
				document.getElementById("advVraagprijs_CONC").setAttribute("value", waarde);
				document.getElementById("advVraagprijs").setAttribute("value", waarde);
			}
		} else {
			document.getElementById("advVraagprijs_CONC").setAttribute("checked", "checked");
		}
	}
}

function controleerAdv(fo) {
	var fout = false;
	for (var i = 0; i < fo.length; i++) {
		switch (fo.elements[i].name) {
			case "advKop" :
				if (fo.advKop.value.length == 0) {
					fout = true;
				}
			break;
			case "advCategorie" :
				if (!fo.advCategorie.selectedIndex) {
					fout = true;
				}
			break;
			case "advTekst" :
				fo.advTekst.value = fo.advTekst.value.replace(new RegExp("</?[A-Za-z]+>"), "");
				if (fo.advTekst.value.length == 0) {
					fout = true;
				}
			break;
			case "vraagprijs" :
				if (fo.vraagprijs.value.length == 0 && (document.getElementById("advVraagprijs_CONC").getAttribute("checked") && document.getElementById("advVraagprijs_CONC").getAttribute("value") == "----")) {
					fout = true;
				}
			break;
		}
	}
	if (!fout) {
		return true;
	} else {
		return false;
	}
}

function controleerBeheer(fo) {
	var checkedboxes = 0;
	var checkboxes = document.getElementsByName("advid");
	for (var i = 0; i < checkboxes.length; i++) {
		if (checkboxes[i].checked) {
			checkedboxes++;
		}
	}
	if (checkedboxes) {
		if (window.confirm("Alle geselecteerde advertenties verwijderen?")) {
			return true;
		}
	} else {
		window.alert("Selecteer s.v.p. de te verwijderen advertenties.");
		return false;
	}
}

var adverteerderTelNr = "";
function wwTelNr(cbo) {
	var fo = cbo.form;
	if (cbo.checked) {
		document.getElementById("label_advplaatstelnr").style.color = "#000";
		fo.advplaatstelnr.removeAttribute("disabled");
		fo.advplaatstelnr.value = adverteerderTelNr;
	} else {
		document.getElementById("label_advplaatstelnr").style.color = "#999";
		adverteerderTelNr = fo.advplaatstelnr.value;
		fo.advplaatstelnr.setAttribute("disabled", "disabled");
		fo.advplaatstelnr.value = "";
	}
}

function advTekstTest(tao) {
	var fo = tao.form;
	var re = new RegExp("(zoek)|(zocht)|(vraag)", "g");
	if (fo.toaofgevr[0].checked && re.test(tao.value)) {
		if (window.confirm("Wilt u dit product opgeven voor de rubriek 'Gezocht'?")) {
			fo.toaofgevr[1].click();
			tao.focus();
		}
	}
	if (tao.value.length >= 500) {
		tao.value = tao.value.substring(0, 500);
	}
}

function wwZenden(fn, emvn) {
	var fo = document.forms[fn];
	if (gs.text.checkFormField(fo.elements[emvn].value, "email")) {
		fo.actie.value = "wwverzenden";
		fo.submit();
	} else {
		window.alert("Vul s.v.p. het e-mail-adres in\nwaarmee u zich hebt ingeschreven.");
	}
}

// STANDHOUDERS CMS
function cntrlAdmin(bo) {
	var i, velden;
	var melding = "Specificeer s.v.p. de volgende velden:";
	var fout = false;
	var fo = bo.form;
	switch (fo.name) {
		case "logingegevensform" :
			if (!gs.text.checkFormField(fo.loginemail.value, "email")) {
				melding = "Geef s.v.p. een correct e-mail-adres op.";
				fout = true;
			}
			if (fo.loginwachtwoord.value) {
				if (fo.loginwachtwoord.value.length < 8 || !(new RegExp("^[A-Za-z0-9\_]+$")).test(fo.loginwachtwoord.value)) {
					melding = "Het wachtwoord moet uit minimaal 8 tekens bestaan.\n";
					melding += "Toegestane tekens zijn: A-Z, a-z, 0-9 en '_'.";
					fout = true;
				}
			}
		break;
		case "bedrijfsgegevensform" :
			fo.website.value = fo.website.value.replace(new RegExp("http://"), "");
			fo.omschrijving.value = fo.omschrijving.value.replace(new RegExp("</?.+?>", "g"), "");	//[A-Za-z]
			if (!fo.organisatie.value) {
				melding += "Naam bedrijf / organisatie";
				fout = true;
			}
		break;
		case "aanbiedingenform" :
			velden = new Array("categorie", "koptekst", "omschrijving", "prijs");
			for (i = 0; i < velden.length; i++) {
				if (fo.elements[velden[i]].type == "select-one" && !fo.elements[velden[i]].selectedIndex) {
					melding += "\n- " + gs.text.capitalize(velden[i]);
					fout = true;
				}
				if (fo.elements[velden[i]].type == "text" && !fo.elements[velden[i]].value) {
					melding += "\n- " + gs.text.capitalize(velden[i]);
					fout = true;
				}
				if (fo.elements[velden[i]].type == "textarea") {
					fo.elements[velden[i]].value = fo.elements[velden[i]].value.replace(new RegExp("</?.+?>", "g"), "");
					if (!fo.elements[velden[i]].value) {
						melding += "\n- " + gs.text.capitalize(velden[i]);
						fout = true;
					}
				}
			}
			if (!fout) {
				if (!/^[0-9\,\.]+$/.test(fo.prijs.value)) {
					melding = "Geef s.v.p. een concreet bedrag op;\nalleen cijfers en decimaaltekens.";
					fout = true;
				} else {
					fo.prijs.value = gs.text.dot2comma(fo.prijs.value, ",", ".");
				}
				if (fo.subactie && fo.subactie[1].checked) {
					if (!window.confirm("Deze beursaanbieding verwijderen?")) {
						return;
					}
				}
			}
		break;
	}
	if (fout) {
		window.alert(melding);
	} else {
		fo.submit();
	}
}

function toonAanbieding(so) {
	var fo = so.form;
	if (so.selectedIndex) {
		fo.pag.value = "aanbiedingen";
		fo.submit();
	}
}

function toonArchief(so) {
	var querystr = "./?pag=";
	var fo = so.form;
	if (so.selectedIndex > 0) {
		querystr += so.name + "&beurs=";
		querystr += so.options[so.selectedIndex].value;
		window.location.href = querystr;
	}
}

function adminForm(rbo) {
	var fo = rbo.form;
}