//utility functions
function echeck(str){ //validate e-mailadres input
	var at="@";
	var dot=".";
	var lat=str.indexOf(at);
	var lstr=str.length;
	var ldot=str.indexOf(dot);
	if(str.indexOf(at)==-1)
	{
		return false
	}
	if(str.indexOf(at)==-1||str.indexOf(at)==0||str.indexOf(at)==lstr)
	{
		return false
	}
	if(str.indexOf(dot)==-1||str.indexOf(dot)==0||str.indexOf(dot)==lstr)
	{
		return false
	}
	if(str.indexOf(at,(lat+1))!=-1)
	{
		return false
	}
	if(str.substring(lat-1,lat)==dot||str.substring(lat+1,lat+2)==dot)
	{
		return false
	}
	if(str.indexOf(dot,(lat+2))==-1)
	{
		return false
	}
	if(str.indexOf(" ")!=-1)
	{
		return false
	}
	return true
}
//shared function show error
function showError(fld,msg,fld2){
	
	$('#fld-'+fld).focus(); //ga naar veld
	$('#tip-'+fld).addClass("error").html(msg).show(); //maak tooltip errortip en laat zien
	$('#fld-'+fld).addClass("error"); //maak veld rood.
	//optional second field
	if(fld2!=""){
		$('#fld-'+fld2).addClass("error");
	}
	//return true because error occured
	return true;
}
//function validate signup form
function validateSignup(){
	var pw = $('#fld-wachtwoord').val();
	var pw2 = $('#fld-wachtwoord2').val();
	var email = $('#fld-email').val();
	var voornaam = $('#fld-voornaam').val();
	var tussenvoegsel = $('#fld-tussenvoegsel').val();
	var achternaam = $('#fld-achternaam').val();
	var bedrijf = $('#fld-bedrijf').val();
	var functie = $('#fld-functie').val();
	var err=false;
	
	//reset formvalidation
	$('.field-container input').unbind().removeClass("error");
	$('.tooltip').hide();
	
	//ww niet hetzelfde
	if(pw != pw2) err=showError("wachtwoord","<h4>Uw wachtwoorden komen niet overeen</h4><p>Controleer de ingevulde wachtwoorden nogmaals.</p>","wachtwoord2");
	//ww te kort
	if(pw.length <= 4) err=showError("wachtwoord","<h4>Uw wachtwoord is te kort</h4><p>Kies een wachtwoord van minimaal 5 karakters.</p>");
	//geen email
	if(!echeck(email)) err=showError("email","<h4>U heeft geen geldig e-mailadres ingevuld</h4><p>Wij hebben een geldig e-mailadres nodig voor uw bevestiging en correspondentie.</p>");
	//geen naam
	if(voornaam.length<2) err=showError("voornaam","<h4>Uw naam is niet ingevuld</h4>");
	//check av
	if(!$("#fld-av").attr("checked")){
		$('#fld-av').parent().append("<div class=\"tooltip error\" id=\"tip-av\"><h4>U dient akkoord te gaan met de gebruiksvoorwaarden.</h4></div>");
		$("#tip-av").show();
		err=true
	}
	//combine naam
	if(tussenvoegsel.Length > 0){
		var naam = voornaam + " " + tussenvoegsel + " " + achternaam;
	} else {
		var naam = voornaam + " " + achternaam;
	}
	
	if(err==false) {
		$('.field-container input').attr('disabled', 'disabled').addClass('disabled');
		$.post(
			"/go/signup", 
			{ 
				profile_id: $("#fld-uid").val(),
				username: email, 
				naam: naam,
				voornaam: voornaam,
				tussenvoegsel:tussenvoegsel,
				achternaam:achternaam,
				bedrijf:bedrijf,
				functie:functie,
				password:pw,
				wachtwoord2:pw2 
			},
			function(data){
				$("#register-fields").html("<h3>Uw kaartje is aangemaakt</h3><p>Wij hebben uw kaartje aangemaakt in het netwerk.</p><p>Het enige dat u op dit moment nog dient te doen is uw kaartje activeren.</p><p>&nbsp;</p><p>Wij hebben een email naar het opgegeven adres verzonden, waarin u een link vindt.</p><p>Klik op deze link (of kopi&euml;er hem naar uw browser) en de rest gaat vanzelf!</p><p>Daarna kunt u gebruik maken van de ideale netwerktool!</p><p>&nbsp;</p>")
			}
		);
		return false;
	}
}

//actions taken when DOM loaded
$(document).ready(function(){
	// make slideshow
	$(".slideshow").anythingSlider({easing: "swing", autoPlay: true, startStopped: false, delay: 6000, animationTime: 600, hashTags: true, buildNavigation: true, pauseOnHover: true, startText: "Start", stopText: "Stop", navigationFormatter: function(index, panel){ return panel.attr("title");}});
	
	// attach tooltips to signup fields
	$(".field-container").each(function(i,el){

		var cls = $(el).find("input").attr("name");
		
		$("#fld-" + cls).bind('focus blur',function(){
				$("#tip-" + cls).toggle();
		});
	});
	
	//controleer formulier
	$('#signup').bind('submit',function(e){
		e.preventDefault();
		validateSignup();
	});
	
	//bind action to btnsignup
	$(".btnsignup").bind('click',function(e){
		$("#fld-email").focus();
		$("body").scrollTop(800);
	});
	
	//bind mailchecker to email field
	$('#fld-email').bind('blur', function(){
		mail=$('#fld-email').val();
		if (mail.length > 0) {
			$('#loaderfeedback').html("<img src=\"/images/ajax-loader.gif\" />").show();
			$.ajax({
				url:'/go/checkmail?mail='+escape(mail),
				cache:false,
				dataType:'json',
				success:function(response){
					if(response.error=='fout')
					{
						if (!$('#tip-email').html('<p>Dit e-mailadres is al in gebruik.</p>').hasClass("error")){$('#tip-email').addClass("error");};
						$('#fld-email').focus();
					}
					else 
					{
						$("#tip-email").removeClass("error");
						if(response.error==false)
						{
							$('#fld-voornaam').focus();
						}
						else
						{
							$('#fld-naam').val(response.naam);
							if(response.naam!=''&&response.voornaam==''&&response.achternaam=='')
							{
								var jn = eval("(" + interface.splitNaam(response.naam) + ")");
								$('#fld-voornaam').val(jn.voornaam).css('color','#3399cc');
								$('#fld-tussenvoegsel').val(jn.tussenvoegsel).css('color','#3399cc');
								$('#fld-achternaam').val(jn.achternaam).css('color','#3399cc');
							}
							else
							{
								$('#fld-voornaam').val(response.voornaam);
								$('#fld-tussenvoegsel').val(response.tussenvoegsel);
								$('#fld-achternaam').val(response.achternaam);
							}
							$('#fld-bedrijf').val(response.bedrijf);
							$('#fld-functie').val(response.functie);
							$('#fld-uid').val(response.uid);
							$('#tip-email').html('<h4>Er zijn contacten van u actief!</h4><p>Uw e-mailadres komt voor bij een van onze gebruikers. Het kan zijn dat een andere gebruiker uw contactgegevens uit een netwerk heeft ge&iuml;mporteerd voor eigen gebruik. Om het u makkelijk te maken hoeft u nu alleen nog maar uw gegevens te controleren. Daarna kunt u direct aan de slag met netwerken.</p>');
							$('#fld-email').show();
							
							$('#tip-email').show();
							$('#tip-voornaam').hide();
							$('#fld-voornaam').focus();
						}
					}
					$("#loaderfeedback").html('').hide();
				}
			});
		}
	});
	
});
