//resend validation key
function retreve_validationkey() {
	document.getElementById('validationkey_top').style.display = "";
	document.getElementById('register').style.display = "none";
	document.getElementById('validationkey_error').style.display = "none";
	document.getElementById('validationkey_error1').style.display = "none";
	document.getElementById('validationkey_error2').style.display = "none";
}

//function to cancel validation key
function cancel_validationkey() {
	document.getElementById('validationkey_email').value = "";
	document.getElementById('register').style.display = "";
	document.getElementById('validationkey_top').style.display = "none";
}

//function to validate registration page
//validation function for adding top banner
function validate_registration() {
	flag = 1;
	var website_url = document.getElementById('website_url').value;
	if(document.getElementById('civites1').checked == false
		&& document.getElementById('civites2').checked == false
		&& document.getElementById('civites3').checked == false
	) {
		document.getElementById('civiteErr').style.display = "";
		flag = 0;
	} else {
		document.getElementById('civiteErr').style.display = "none";
	}

	if(document.getElementById('nom').value == "") {
		document.getElementById('nomErr').style.display = "";
		flag = 0;
	} else {
		document.getElementById('nomErr').style.display = "none";
	}

	if(document.getElementById('prenom').value == "") {
		document.getElementById('prenomErr').style.display = "";
		flag = 0;
	} else {
		document.getElementById('prenomErr').style.display = "none";
	}

	if(document.getElementById('region').value == 0) {
		document.getElementById('regionErr').style.display = "";
		flag = 0;
	} else {
		document.getElementById('regionErr').style.display = "none";
	}

	if(document.getElementById('activity1').value == 0) {
		document.getElementById('activity1Err').style.display = "";
		flag = 0;
	} else {
		document.getElementById('activity1Err').style.display = "none";
	}
	if(document.getElementById('activity2').value == 0) {
		document.getElementById('activity2Err').style.display = "";
		flag = 0;
	} else {
		document.getElementById('activity2Err').style.display = "none";
	}
	if(document.getElementById('activity3').value == 0) {
		document.getElementById('activity3Err').style.display = "";
		flag = 0;
	} else {
		document.getElementById('activity3Err').style.display = "none";
	}
	var emailRegEx = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)([a-zA-Z0-9]{2,4})$/;
	var email = document.getElementById('Email').value;
	if(email == "") {
		document.getElementById('emailErr').style.display = "";
		document.getElementById('emailErr1').style.display = "none";
		document.getElementById('emailErr2').style.display = "none";
		flag = 0;
	} else if(!email.match(emailRegEx)) {
		document.getElementById('emailErr').style.display = "none";
		document.getElementById('emailErr1').style.display = "";
		document.getElementById('emailErr2').style.display = "none";
		flag = 0;
	} else {
		document.getElementById('emailErr').style.display = "none";
		document.getElementById('emailErr1').style.display = "none";
		document.getElementById('emailErr2').style.display = "none";
	}

	var password = document.getElementById('password').value;
	if(password == "") {
		document.getElementById('passwordErr').style.display = "";
		document.getElementById('passwordErr1').style.display = "none";
		flag = 0;
	} else if(password.length < 6 || password.length > 12) {
		document.getElementById('passwordErr').style.display = "none";
		document.getElementById('passwordErr1').style.display = "";
		flag = 0;
	} else {
		document.getElementById('passwordErr').style.display = "none";
		document.getElementById('passwordErr1').style.display = "none";
	}

	var cpassword = document.getElementById('cpassword').value;
	if(cpassword == "") {
		document.getElementById('cpasswordErr').style.display = "";
		document.getElementById('cpasswordErr1').style.display = "none";
		flag = 0;
	} else if(cpassword != password) {
		document.getElementById('cpasswordErr').style.display = "none";
		document.getElementById('cpasswordErr1').style.display = "";
		flag = 0;
	} else {
		document.getElementById('cpasswordErr').style.display = "none";
		document.getElementById('cpasswordErr1').style.display = "none";
	}

	if(flag == 1) {
		submitRegistration();
	} else {
		return false;
	}
}

//Submit registration details using Ajax function
function submitRegistration() {
	xmlHttp=GetXmlHttpObject();
    if (xmlHttp==null) {
      alert ("Your browser does not support AJAX!");
      return;
	}
	var civilite ;
	if(document.getElementById('civites1').checked) {
		civilite = document.getElementById('civites1').value;
	} else if(document.getElementById('civites2').checked) {
		civilite = document.getElementById('civites2').value;
	} else if(document.getElementById('civites3').checked) {
		civilite = document.getElementById('civites3').value;
	}
	document.getElementById('submitregistraton').style.visibility = "hidden";
	var nom      = document.getElementById('nom').value;
	var prenom   = document.getElementById('prenom').value;
	var email    = document.getElementById('Email').value;
	var password = document.getElementById('password').value;
	var region	 = document.getElementById('region').value;
	var activity1	 = document.getElementById('activity1').value;
	var activity2	 = document.getElementById('activity2').value;
	var activity3	 = document.getElementById('activity3').value;
	var url = document.getElementById('website_url').value + "register.val";
	var params = 'civites=' +civilite+ '&nom=' +nom+ '&prenom=' +prenom+ '&email=' +email+ '&password='+password + '&region=' + region + '&activity1=' + activity1 + '&activity2=' + activity2 + '&activity3=' + activity3;
	xmlHttp.onreadystatechange=responseFunctionRegistration;
	sendPostAjax(xmlHttp, url, params)
}

function responseFunctionRegistration() {
	if(xmlHttp.readyState == 4) {
		if(xmlHttp.status == 200) {
			var result = xmlHttp.responseText;
			if (result == 1) {
				document.getElementById('submitregistraton').style.visibility = "";
				document.getElementById('emailErr').style.display = "none";
				document.getElementById('emailErr1').style.display = "none";
				document.getElementById('emailErr2').style.display = "";
			} else if (result == 2) {
				document.location.href = document.getElementById('website_url').value + 'merci.html';
			} else {
				alert(result);
				document.getElementById('submitregistraton').style.visibility = "";
			}
		} else {
			alert("Error: "+ xmlHttp.statusText +" "+ xmlHttp.status);
			document.getElementById('submitregistraton').style.visibility = "";
		}
	}
}

//function to resend validation key
function resend_validationkey() {
	xmlHttp=GetXmlHttpObject();
	if (xmlHttp==null) {
      alert ("Your browser does not support AJAX!");
      return;
	}
	var email    = document.getElementById('validationkey_email').value;
	var emailRegEx = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)([a-zA-Z0-9]{2,4})$/;

	if(email == "") {
		document.getElementById('validationkey_error').style.display = "";
		document.getElementById('validationkey_error1').style.display = "none";
		document.getElementById('validationkey_error2').style.display = "none";
	} else if(!email.match(emailRegEx)) {
		document.getElementById('validationkey_error').style.display = "none";
		document.getElementById('validationkey_error1').style.display = "";
		document.getElementById('validationkey_error2').style.display = "none";
    } else  {
		document.getElementById('validationkey_error').style.display = "none";
		document.getElementById('validationkey_error1').style.display = "none";
		document.getElementById('validationkey_error2').style.display = "none";

		document.getElementById('resend_validation_submit').style.visibility = "";
		var url = document.getElementById('website_url').value + "resendvalidation.val";
		var params = 'resendvalidation_email='+email;
		xmlHttp.onreadystatechange=responseFunctionvalidationkey;
		sendPostAjax(xmlHttp, url, params)
	}
}

function responseFunctionvalidationkey() {
	if(xmlHttp.readyState == 4) {
		if(xmlHttp.status == 200) {
			var result = xmlHttp.responseText;
			if (result == 1) {
				cancel_validationkey();
				document.getElementById('resend_message_div').style.display = "";
			} else if (result == 2) {
				document.getElementById('resend_validation_submit').style.visibility = "";
				document.getElementById('validationkey_error2').style.display = "";
			} else {
				alert(result);
				document.getElementById('resend_validation_submit').style.visibility = "";
			}
		} else {
			alert("Error: "+ xmlHttp.statusText +" "+ xmlHttp.status);
			document.getElementById('resend_validation_submit').style.visibility = "";
		}
	}
}


function updateActivities(id) {
	xmlHttp=GetXmlHttpObject();
	if (xmlHttp==null) {
      alert ("Your browser does not support AJAX!");
      return;
	}

	var activities = "";
	for(i=1; i<=id; i++) {
		activities += document.getElementById("activity" + i).value + ",";
	}
	var url = document.getElementById('website_url').value + "getactivities.val";
	var params = 'activities=' + activities + "&id=" + id;
	xmlHttp.onreadystatechange = updateActivitiesResponse;
	sendPostAjax(xmlHttp, url, params);
}

function updateActivitiesResponse() {
	if(xmlHttp.readyState == 4) {
		if(xmlHttp.status == 200) {
			var result = xmlHttp.responseText.split("||");
			for(i=1; i<result.length; i = i+2) {
				if (document.getElementById("div_activity" + result[i])) {
					document.getElementById("div_activity" + result[i]).innerHTML = result[i+1];
				}
			}
		} else {
			alert("Error: "+ xmlHttp.statusText +" "+ xmlHttp.status);
		}
	}
}