$(document).ready(function(){ 

	$("#contactform").submit(function () {
		
			return validateform(1);
	});
	
	$("#bestelform").submit(function () {
		
			return validateform(2);
	});




});


///////////////////////////////////////////////////////////////////////
///////////////  VALIDEER SETTINGS
///////////////////////////////////////////////////////////////////////

function validateform(form)
{
	
	var valid = true;
	
	if(form == 1)
	{
		var arrinputfields = [ 
			"voornaam",
			"achternaam",
			"email",
			"betreft",
			"bericht"
		];
		
		var arrselectfields = { 
			"aanhef":"Kies een aanhef"
		}
		
		jQuery.each(arrinputfields, function() 
		{
				
				if(!validateinput(this))
				{
					falseinput(false,this)
					focusfield(this);
					blurfield(this,form);
					
					valid = false;		
				}
				else if(validateinput(this))
				{ 
					
					if(this == "email")
					{
						if(!specialcheck(this))
						{
							blurfield(this,form); 
							valid = false;
						}
					}
					
				}
				
				
		});
		
		jQuery.each(arrselectfields, function(type,txt) 
		{
				if(!validateselected(type))
				{
					falseselect(false,type,txt)
					focusselect(type);
				
					valid = false;		
				}
				
				
				
		});
	}
	
	if(form == 2)
	{
		var levering = $('#levering option:selected').val();
		
		var arrinputfields = [ 
			"voornaam",
			"achternaam",
			"straat",
			"postcode",
			"email",
			"telefoonnummer"
		];
		
		var arrselectfields = { 
			"aanhef":"Kies een aanhef",
			"levering":"Hoe wilt u uw bestelling ontvangen?"
		}
		
		
		
		if(levering == 0)
		{
			var arrselectspecialfields = { 
			"dealer":"Kies een dealer"
			}
		} else if(levering == 1)
		{ 	var arrselectspecialfields = { 
			"betaling":"Kies een betalingsmethode"
			}
		} 

		
		jQuery.each(arrinputfields, function() 
		{
				
				if(!validateinput(this))
				{
					falseinput(false,this)
					focusfield(this);
					blurfield(this,form);
					
					valid = false;		
				}
				else if(validateinput(this))
				{ 
					
					if(this == "email")
					{
						if(!specialcheck(this))
						{
							blurfield(this,form); 
							valid = false;
							
						}
					}
					
				}
				
				
		});
		
		
		
		jQuery.each(arrselectfields, function(type,txt) 
		{
				if(!validateselected(type))
				{
					falseselect(false,type,txt)
					focusselect(type);
				
					valid = false;		
				}
				
				
				
		});
		
		if(levering == 0 || levering == 1 )
		{
		
			jQuery.each(arrselectspecialfields, function(type,txt) 
			{
					if(!validateselected(type))
					{
						falseselect(false,type,txt)
						focusselect(type);
					
						valid = false;		
					}
					
					
					
			});
		}
	}
	

	return valid;
		
}

///////////////////////////////////////////////////////////////////////
///////////////  VELD CONTROLE
///////////////////////////////////////////////////////////////////////

function validatechecked(name)
{
	
	if($("input[name='"+name+"']:checked").val() == undefined)
	{	
		// radiobuttons niet gechecked!
		return false;
	}
	else  { return true; }
}



function validateinput(idname)
{
	if(!$("#"+idname).val())
	{
		//textares niet valid
		return false;
		
	}
	else { return true; }
}

function validateselected(idname)
{
	if($("#"+idname).val() == "empty")
	{
		//textares niet valid
		return false;
		
	}
	else { return true; }
}


function validateemail(idname)
{
	if($("#"+idname).val())
	{
		
		var pattern = new RegExp(/^(("[\w-\s]+")|([\w-]+(?:\.[\w-]+)*)|("[\w-\s]+")([\w-]+(?:\.[\w-]+)*))(@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$)|(@\[?((25[0-5]\.|2[0-4][0-9]\.|1[0-9]{2}\.|[0-9]{1,2}\.))((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\.){2}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\]?$)/i);
	
		var valid = pattern.test($("#"+idname).val());
		return valid;
		
	}
}

///////////////////////////////////////////////////////////////////////
///////////////  CSS INSTELLINGEN ERROR VERWERKING
///////////////////////////////////////////////////////////////////////

function falseinput(state,idname)
{
	if(!state)
	{
		$("#"+idname).css("border" , "1px solid #eb0808");
	}
	else { 
		$("#"+idname).css("border" , "1px solid #D5D5D5");
	}
}

function falseselect(state,idname, txt)
{
	if(!state)
	{
		$("#"+idname).siblings(".alerttxtkc").html(txt);
	}
	else { 
		$("#"+idname).siblings(".alerttxtkc").html('');
	}
}

function falsecheck(state, name)
{
	if(!state)
	{
		$("#"+name+"checkboxwrapper").css("background", "#ddacac");
	}
	else {
		$("#"+name+"checkboxwrapper").css("background", "#E0E0E0");
	}
}

function falsealert(idname,msg)
{
	if($("#"+idname).siblings(".inputalertbox").length == 0)
	{
	
		if($("#"+idname).parent(".inputwrapper").append('<div style="display:none;" class="inputalertbox">'+msg+'</div>'))
		{
			$(".inputalertbox").slideDown();
		}
	}
	
	$("#"+idname).siblings(".inputalertbox").html(msg);
	
	$("#"+idname).focus(function () {
					
		$("#"+idname).siblings(".inputalertbox").slideUp("slow", function()
		{
			$("#"+idname).siblings(".inputalertbox").remove();
		});
		falseinput(true,idname);
	});
	
	
}



///////////////////////////////////////////////////////////////////////
///////////////  VELD FOCUS en BLUR
///////////////////////////////////////////////////////////////////////

function focusfield(idname)
{
	
	$("#"+idname).focus(function () {
					
		 falseinput(true,idname);
	});
}

function focusselect(idname)
{
	
	$("#"+idname).focus(function () {
					
		 falseselect(true,idname)
	});
}

function blurfield(idname,form)
{
	
	$("#"+idname).blur(function () {
					
		if(idname == "omschrijvingsubsidie")
		{
			if($("#mmm").val() == "ja")
			{
				if(!validateinput(idname))
				 {
					 falseinput(false,idname);
						
				 }
			}
		}
		 
		 else if(!validateinput(idname))
		 {
			 falseinput(false,idname);
			 	
		 }
		 
		else if(validateinput(idname))
		 {
			specialcheck(idname);
			
		 }
	});
}

function focuscheck(name)
{
	
	$("input[name='"+name+"']").focus(function () {
			
		falsecheck(true,name);
		if(name == "subsidie"){ falsebox(false);}
		 
	});
}


///////////////////////////////////////////////////////////////////////
///////////////  EXTRA FUNCTIES
///////////////////////////////////////////////////////////////////////

function specialcheck(idname)
{
	var valid = true;
	
		if(idname == "email" || !idname){ if(!valuecontrole("email","U heeft een ongeldig email adres ingevoerd")) { valid = false; }}
		if(idname == "bouwjaar" || !idname){ if( !valuecontrole("bouwjaar","U heeft een ongeldig bouwjaar ingevoerd")) { valid = false; }}
		if(idname == "postcode" || !idname){ if( !valuecontrole("postcode","U heeft een ongeldige postcode ingevoerd")) { valid = false; }}
	
	return valid;
}
function validatevalue(idname)
{
	if(idname == "email")
	{
		if($("#"+idname).val())
		{
			
			var pattern = new RegExp(/^(("[\w-\s]+")|([\w-]+(?:\.[\w-]+)*)|("[\w-\s]+")([\w-]+(?:\.[\w-]+)*))(@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$)|(@\[?((25[0-5]\.|2[0-4][0-9]\.|1[0-9]{2}\.|[0-9]{1,2}\.))((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\.){2}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\]?$)/i);
		
			var valid = pattern.test($("#"+idname).val());
			return valid;
			
		}
	}
	
	
	if(idname == "bouwjaar")
	{
		if($("#"+idname).val())
		{
			
			var pattern = new RegExp(/^([0-9]{4})$/);
			var valid = pattern.test($("#"+idname).val());
			return valid;
			
		}
	}
	
	if(idname == "postcode")
	{
		if($("#"+idname).val())
		{
			
			var pattern = new RegExp(/^[1-9][0-9]{3}\s?[a-zA-Z]{2}$/);
			var valid = pattern.test($("#"+idname).val());
			return valid;
			
		}
	}
	
}

function valuecontrole(idname,msg)
{
	var valid = true;

			if(!validatevalue(idname))
			{
				falsealert(idname,msg);
				falseinput(false,idname);
				valid = false;
			}
	
	return valid;
}




function newpassword()
{
	$.prompt('<strong>Weet u zeker dat u dit wachtwoord wilt wijzigen?</strong> <br/> Het oude wachtwoord kan niet meer terug gehaalt worden en de klant kan met het oude wachtwoord niet meer inloggen. ',
	{ 
		buttons: { "Ja, genereer een nieuw wachtwoord": true, "Nee": false },
		callback: getnewpass
		
	 });
	 
	function getnewpass()
	{
	 $.ajax
		({
			url: "7_BUSINESSLOGIC/process.php?action=getpassword",
			success: function(msg)
			{
				$("#pass").val(msg);
			}
		});
	}
}

function limitChars(textid, limit, infodiv)
{
	var text = $('#'+textid).val(); 
	var textlength = text.length;
	
	if(textlength > limit)
	{
		$('#' + infodiv).html('Uw maximum van '+limit+' karakters is bereikt.');
		$('#' + textid).val(text.substr(0,limit));
		return false;
	}
	else
	{
		$('#' + infodiv).html('U heeft '+ (limit - textlength) +' karakters over.');
		return true;
	}
}

