var error_5000 = 'Je bent je naam vergeten in te vullen!';
var error_5001 = 'De profielnaam is reeds in gebruik of is niet toegestaan!';
var error_5002 = 'Je bent vergeten je profielnaam in te vullen';
var error_5003 = 'De ingevulde profielnaam voldoet niet aan de eisen.<br>Een profielnaam mag de volgende tekens bevatten a-z A-Z 0-9 _-*%$@!+';
var error_5004 = 'Je bent vergeten je mobieletelefoonummer in te vullen';
var error_5005 = 'Het ingevulde mobiele telefoonummer is niet correct!';
var error_5006 = 'Je bent vergeten je email adres in te vullen!';
var error_5007 = 'Het ingevulde email adres is niet correct!';
var error_5008 = 'Je bent vergeten een wachtwoord in te vullen!';
var error_5009 = 'Het ingevulde wachtwoord is niet geldig<br/> Het wachtoord moet uit minimaal 8 tekens bestaan waarvan minimaal 1 hoofdletter en 1 cijfer en het mag <b>geen</b> leestekens bevatten.'
var error_5010 = 'Je bent vergeten je geslacht in te vullen!';
var error_5011 = 'De gebruikersnaam is al in gebruik!';
var error_5012 = 'Je bent vergeten een gebruikersnaam in te vullen';

function CheckProfileFields(){
	if(!CheckProfileName($('screenname').value)){
		return false;
	}
}

function CheckClientSideFields(){
	if($('firstname')!=null && !CheckName($('firstname').value,'voornaam')){
		displayerror(error_5000);
		return false;
	}

	if($('lastname')!=null && !CheckName($('lastname').value,'achternaam')){
		displayerror(error_5000);
		return false;
	}
	if($('gender')!=null&&!$('gender').value.isvalidukgender()){
		displayerror(error_5010);
		return false;
	}
	
	if($('screenname')!=null&&!$('screenname').value.isvalidprofilename()){
		displayerror(error_5003);
		return false;
	}
	if($('passwrd')!=null){
		//if(!$('passwrd').value.isvalidpassword()){
		//	displayerror(error_5009);
		//	return false;
		//}
	}
	if($('mobile_number')!=null&&$('mobile_number').value.length !=0&&!$('mobile_number').value.isvalidnlphone()){
		displayerror(error_5005);
		return false;
	}
	if($('mobile_number').value.length !=0){
		$('mobile_number').value = $('mobile_number').value.isvalidnlphone();
	}
	
	if($('mail_adress')!=null && !$('mail_adress').value.isvalidemail()){
		displayerror(error_5007);
		return false;
	}
	else{
		$('new_profile').submit();
		return true;
	}
}

function profilenamehadler(t){
	value = t.responseText.replace(/^s/,'');
	value = value.replace(/s$/,'');
		if(!value.length == 0){
			displayerror(error_5001);
			return false;
		}
		else{
			
			$('profile_form_status').className = '';
			$('profile_form_status').innerHTML='';
			return CheckUserName();
		}
		
	}

function usernamehadler(t){
	value = t.responseText.replace(/^s/,'');
	value = value.replace(/s$/,'');
		if(!value.length == 0){
			displayerror(error_5011);
			return false;
		}
		else{
			
			$('profile_form_status').className = '';
			$('profile_form_status').innerHTML='';
			return CheckClientSideFields();
		}
		
	}

function CheckUserName(){
	var errFunc = function(t) {
		alert('Error ' + t.status + ' -- ' + t.statusText);
	}
	if($('uname').value.length == 0){
		displayerror(error_5012);
		return false;
	}
	else{
		new Ajax.Request('/modules/module_profile.php',{parameters:'profile_is_ajax=true&action=checkusername&uname=' + $('uname').value,onComplete:function(t){return usernamehadler(t);}, onFailure:errFunc});
	}
}


function CheckProfileName(profilename){
	

	var errFunc = function(t) {
		alert('Error ' + t.status + ' -- ' + t.statusText);
	}
	if(profilename.length == 0){
		displayerror(error_5002);
		return false;
	}
	else{
		new Ajax.Request('/modules/module_profile.php',{parameters:'profile_is_ajax=true&action=checkprofilename&profilename=' + profilename,onComplete:function(t){return profilenamehadler(t);}, onFailure:errFunc});
	}
}
function displayerror(errorid){
		$('profile_form_status').className = 'error';
		$('profile_form_status').innerHTML= errorid;
		new Effect.Highlight('profile_form_status', {startcolor:'#ff99ff', endcolor:'#999999'})
}
function CheckEmailadress(emailadress){
	var emailRegxp = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	if(emailRegxp.length == 0){
		displayerror(error_5006);
		return false;
	}
	if(!emailRegxp.test(emailadress)){
		displayerror(error_5007);
		return false;
	}
	else{
		$('profile_form_status').className = '';
 		$('profile_form_status').innerHTML='';
		return true;
	}
}
function CorrectPhoneNumber(number){
	field = number;
	number =number.value
	number = number.replace(/ /g,'');
	number = number.replace(/-/g,'');
	number = number.replace(/\+/g,'');
	number = number.replace(/\(/g,'');
	number = number.replace(/\)/g,'');
	if(number.substr(0,1) == 0){number = '31' + number}
	
	if(number.substr(2,1) == 0){number = number.substr(0,2) + number.substr(3)}
	phone = new RegExp('^[0-9]{11}$');
 	if(!phone.test(number)){
		displayerror(error_5005);
		return false;
 	}
 	else{
 		$('profile_form_status').className = '';
 		$('profile_form_status').innerHTML='';
		field.value = number;
		return true;
 	}
}


function CheckPhoneNumber(number){
	if(number.length == 0){
		displayerror(error_5004);
		return false;
	}

	return CorrectPhoneNumber(number);
}

function CheckStrongPassword(passwordvalue){
 var passwordcheck = /^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])\w{8,}$/;
 if(passwordvalue.length ==0){
		displayerror(error_5008);
	return false;
 }
 if(!passwordcheck.test(passwordvalue)){
	displayerror(error_5009);
	return false;
 }
 else{
	$('profile_form_status').className = '';
 	$('profile_form_status').innerHTML='';
	return true;
 }
}

function CheckName(fieldvalue,fieldtype){
	if(fieldvalue.length == 0){
		displayerror('Je bent je ' + fieldtype + ' vergeten in te vullen');
		return false;
	}
	else{
		$('profile_form_status').className = '';
 		$('profile_form_status').innerHTML='';
		return true;
	}
}

function UpateProfileStatus(message){
	$('profile_status').innerHTML= message;
	new Effect.Highlight('profile_status', {startcolor:'#ff99ff', endcolor:'#999999'})
}
function AddAsBuddy(profilename){
new Ajax.Request('/modules/module_profile.php',{parameters:'profile_is_ajax=true&action=addwannabe&profilename=' + profilename,onComplete:function(t){UpateProfileStatus(t.responseText);}, onFailure:errFunc});
return false;
}
function AcceptAsBuddy(profilename){
new Ajax.Request('/modules/module_profile.php',{parameters:'profile_is_ajax=true&action=acceptwannabee&profilename=' + profilename,onComplete:function(t){UpateProfileStatus(t.responseText);}, onFailure:errFunc});
return false;
}
function AddAsFlirt(profilename){
//profile_status
new Ajax.Request('/modules/module_profile.php',{parameters:'profile_is_ajax=true&action=addflirt&profilename=' + profilename,onComplete:function(t){UpateProfileStatus(t.responseText);}, onFailure:errFunc});
return false;
}


