// JavaScript Document
var dtCh= "-";
var minYear=1900;
var maxYear=2100;

function submitSearchform() {
	if((document.getElementById('zoeken').value!='zoeken')&&(document.getElementById('zoeken').value!='')){
	    if(document.getElementById('zoeken').value.length>2){
		    document.getElementById('form_search').submit();
		}else{
		    alert('De zoekterm dient minimaal 3 karakters lang te zijn')
		}
	} else {
		alert('U heeft geen zoekterm opgegeven')
	}
}

function submit_onclick(obj,post){
	var msg='';
	var form=document.getElementById(obj);	
	var el = form.getElementsByTagName('label');

	for(i=0;i<form.elements.length;i++){	
		if(form.elements[i].id!=''){
			if(form.elements[i].accessKey!=undefined && form.elements[i].accessKey!=''){ //if form element contains owner attribute
				if(document.getElementById(form.elements[i].accessKey).style.display!='none'){ //then only check if shown
					msg = msg + chckField(form.elements[i],form.elements[i].title)
				}
			}else{
				msg = msg + chckField(form.elements[i],form.elements[i].title)
			}
		}
	}
	for (var e=0; e<el.length; e++) { //check for radio/checkboxes
		var objLabel = el[e];
		if (objLabel.id && objLabel.id.indexOf('lbl') == 0) {
			var domLabel = document.getElementById(objLabel.getAttribute('id'));
			var domLabelText = document.getElementById(objLabel.getAttribute('id')).innerHTML;
			var id_1 = domLabel.id.replace('lbl','')
	
			var spanObj = document.getElementById(id_1+'_group');
			var radio_checked1 = false;
			var radio_result = '';
	
			var allInputTags = spanObj.getElementsByTagName('INPUT');
			for (var c=0; c<allInputTags.length; c++) {
				if (allInputTags[c].checked) {
					radio_checked1 = true;
					radio_result = allInputTags[c].value;
					break;
				}
			}
			if(!radio_checked1) {
				msg=msg + '- '+allInputTags[0].title +'\n';
				if (spanObj.className.indexOf('radiowrapper') >= 0) {
					spanObj.className += ' error';
				}
			}	
			else {
				if (spanObj.className.indexOf('radiowrapper') >= 0) {
					spanObj.className = spanObj.className.replace(' error', '');
				}
			}
		}
	}
	if(obj == 'frmProfile'){
		if(document.getElementById('username').value!=''){
			if(!UserOK) {
				msg=msg + '- Uw loginnaam is reeds in gebruik\n';
				errorLayout(document.getElementById('username'),false);
			}else{
				errorLayout(document.getElementById('username'),true);
			}
		}
	}
	
/*	if(obj == 'frmEditProfile'){
		if(document.getElementById('email').value!=''){
				msg=msg + '- Uw loginnaam is reeds in gebruik\n';
		}else{
			errorLayout(document.getElementById('email'),true);
		}		
	}
	
*/	
	
	if(obj == 'frmUploadImage'){
		var img = document.getElementById('image').value
		var ext = img.substr((img.length-3),img.length).toLowerCase()
		if(ext!='jpg' && ext!='gif') {
			alert('Alleen afbeelding met extensie .jpg of .gif zijn toegestaan.')
			return false;
		}
	}
	if(obj == 'frmProfile' || obj == 'frmChangePassword') {
		if(document.getElementById('password').value!=document.getElementById('passwordBis').value) {
			msg=msg + '- Wachtwoorden zijn niet aan elkaar gelijk\n';
			errorLayout(document.getElementById('password'),false);
			errorLayout(document.getElementById('passwordBis'),false);
		}else{
			if(document.getElementById('password').value==''){
				msg=msg + '- Wachtwoord\n';
				errorLayout(document.getElementById('password'),false);
				errorLayout(document.getElementById('passwordBis'),false);
			}else{
				errorLayout(document.getElementById('password'),true);
				errorLayout(document.getElementById('passwordBis'),true);
			}
		}
	}
	if(msg!='') {
		alert("De volgende velden zijn verplicht:\n" + msg);
		return false;
	}	else {
		if(post) form.submit()
	}
}

function checkpass(id) {
	var msg = '';
	if (frmNewPass.password.value=='') {
		msg=msg + 'Het wachtwoordenveld is leeg.';		
	}

	if (frmNewPass.password.value!=frmNewPass.password2.value) {
		msg=msg + 'De wachtwoorden komen niet overeen.';				
	}	
	if(msg!='') {
		alert(msg);
		return false;
	} else {
		document.getElementById(id).submit()
	}
}

function checkProfile(id)
{
	var msg=''
	if (frmEditProfile.email.value==''){ msg=msg + '\n - Email' }
	if (msg!=''){ 
		alert("De volgende velden zijn verplicht:" + msg) 
	} else { 
		if (isEmail(frmEditProfile.email.value)){
			document.getElementById(id).submit()
		}else{
			alert("Het ingevoerde emailadres is niet correct.");
		}
	}
}

//place your checks here please
	function chckField(obj,title) {
	var err = ''
	if (obj.id.indexOf('email')>-1 && obj.value!=''){
		if (!isEmail(obj.value)){
			err = err + "- Het emailadres is niet correct\n"  
			errorLayout(obj,false);
		}else{
			errorLayout(obj,true);
		}
	}
	if (obj.id.indexOf('_tel')>-1 && obj.value!=''){
		if (obj.value.length<10){
			err = err + "- Een telefoonnummer dient 10 tekens lang te zijn\n"
			errorLayout(obj,false);
		}else{
			errorLayout(obj,true);
		}
	}
	if (obj.id.indexOf('_DD')>-1){
		if (!isDate(obj.value) && obj.value!=''){
			err = err + "- "+obj.title+" incorrect\n"  
			errorLayout(obj,false);
		}else{
			errorLayout(obj,true);
			}
	} else if (obj.id.indexOf('Referentie')>-1){
		if (trimAll(obj.value)==''){
			err = err + "- "+obj.title+"\n"  
			errorLayout(obj,false);
		}else{
			errorLayout(obj,true);

        }
    } else if (obj.id == 'KvK') {
        if (trimAll(obj.value) == '') {
            err = err + "- " + obj.title + "\n"
            document.getElementById('lblKVK').style.display = "block";
            errorLayout(obj, false);
        } else {
        document.getElementById('lblKVK').style.display = "none";
            errorLayout(obj, true);
        }
	} else{
		if((obj.value=='' || obj.value==title) && obj.title!=''){
			err = "- " + title + "\n";
			errorLayout(obj,false);
			}
		else {
			errorLayout(obj,true);
		}
	}
	return err
}

function trimAll(sString) {
	while (sString.substring(0,1) == ' ')
	{
		sString = sString.substring(1, sString.length);
	}
	while (sString.substring(sString.length-1, sString.length) == ' ')
	{
		sString = sString.substring(0,sString.length-1);
	}
	return sString;
}


function errorLayout(obj,ok){ //set colors submit_onclick form if error
	if(ok){
		obj.style.backgroundColor = "";
		obj.style.color = "";
	}else{
		obj.style.backgroundColor = "#f89820";
		obj.style.color = "";
	}
}

function isEmail(string) {
	var filter  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	if (filter.test(string)) 
		return true;
	else
		return false;
}

function isNumberKey(e) {
	var k;
	document.all ? k = e.keyCode : k = e.which;
	return ( (k > 47 && k < 58) || k == 46 || k==8 || k==9 || k==0  );
}

function isEnterKey(e) {
	var k;
	document.all ? k = e.keyCode : k = e.which;
	if(k == 13){
		return true;
	}
}

function SubmitValueOnEnter(obj,fnc,param1,param2,e) {
	var k;
	document.all ? k = e.keyCode : k = e.which;
	if(k == 13){
		fnc(param1,param2);
		obj.value='';
	}
}

function isTelefoon(obj,e) {
	var k;
	document.all ? k = e.keyCode : k = e.which;
	if(obj.value.length<10){
		return ((k > 47 && k < 58 || k == 46 || k == 8 || k==9 || k==0 || (k > 95 && k < 106) ));
	}else{
		alert('Een telefoonnummer kan max. 10 cijfers lang te zijn.')
	}
}

function daysInFebruary (year){
	// February has 29 days in any year evenly divisible by four,
    // EXCEPT for centurial years which are not also divisible by 400.
    return (((year % 4 == 0) && ( (!(year % 100 == 0)) || (year % 400 == 0))) ? 29 : 28 );
}
function DaysArray(n) {
	for (var i = 1; i <= n; i++) {
		this[i] = 31
		if (i==4 || i==6 || i==9 || i==11) {this[i] = 30}
		if (i==2) {this[i] = 29}
   } 
   return this
}

function isDate(dtStr){
	var daysInMonth = DaysArray(12)
	var arrDate = dtStr.split(dtCh)
	strDay=arrDate[0]	
	strMonth=arrDate[1]
	strYear=arrDate[2]
	if(isNaN(strDay) || isNaN(strMonth) || isNaN(strYear)) return false
	if(strDay.length>0 && strMonth.length>0 && strYear.length>0) {
		month=parseInt(strMonth)		
		day=parseFloat(strDay)				
		year=parseInt(strYear)
		if (day<1 || day>31 || (month==2 && day>daysInFebruary(year)) || (day > daysInMonth[month] || daysInMonth[month]==undefined ) || (strYear.length<4)  ){
				alert(day)
				return false
		}
		return true
	}else{
		return false
	}
}

function FV_IsDateIsBirthDate(val) {

	var now = new Date();
	var thisYear = now.getFullYear() - 18  //minimum 18 years old
	now.setFullYear(thisYear)
	now = now.getTime(); //NN3

	var valueDate = val.split('-');
	
	var dateToCheck = new Date();
	if (valueDate[2] < 1900) {
		return false;
	}
	dateToCheck.setYear(valueDate[2]);
	dateToCheck.setMonth(valueDate[1]-1);
	dateToCheck.setDate(valueDate[0]);
	var checkDate = dateToCheck.getTime();

	var pastDate = (now > checkDate);

	return pastDate;
}

function FV_IsDateInPast(val) {

	var now = new Date();
	now = now.getTime(); //NN3
	
	var valueDate = val.split('-');
	
	var dateToCheck = new Date();
	dateToCheck.setYear(valueDate[2]);
	dateToCheck.setMonth(valueDate[1]-1);
	dateToCheck.setDate(valueDate[0]-1);
	var checkDate = dateToCheck.getTime();

	var pastDate = (now > checkDate);

	return pastDate;
}

function checkOrderPrice(priceField, minPrice, URL2follow)
{
	
	var currPrice = Number(document.getElementById(priceField).value);
	var msg = 'Uw order kan niet in behandeling worden genomen omdat u onder het minimale bestedingbedrag van 50 Euro zit. Ga naar de shop om u bestelling te verbreden of verhoog het aantal van de huidige artikelen in uw mandje.'
	if(currPrice<Number(minPrice))alert(msg);
	else document.location.href=URL2follow;
}

function checkStock(the_form){
	if (document.getElementById('checkStock').value == '1' && (document.getElementById('radio_payment_2') && document.getElementById('radio_payment_2').checked)) {
		alert("Uw bestelling ligt hoger dan dat wij voorradig hebben. Pas uw bestelhoeveelheid aan of verwijder het artikel uit de winkelwagen om verder te gaan met uw bestelling.");
	}else{
		submit_onclick(the_form,true);
	}
	return false	
}
