// JavaScript Document
//check it
function checkRegister(){
	var errorMsg = '';
	requiredElements = new Array('firstname','surname','company','email','phone','username','password1','password2');
	requiredElementsDesc = new Array('First name','Surname','Company name','Email address','Phone number','Username','Password','Password confirmation');
	for (i=0; i<requiredElements.length; i++){
		if (!document.getElementById(requiredElements[i]).value){
			errorMsg += requiredElementsDesc[i]+', ';
		}
	}
	if (errorMsg != ''){
		alert ('The following fields are compulsory, but have been left blank: '+errorMsg.substr(0, errorMsg.length-2));
		return;
	}
	// check that at least one of the type checkboxes is checked
	if (!document.getElementById('type_pub').checked
	&& !document.getElementById('type_bar').checked
	&& !document.getElementById('type_hotel').checked
	&& !document.getElementById('type_restaurant').checked
	&& !document.getElementById('type_club').checked
	&& !document.getElementById('type_investment').checked
	&& !document.getElementById('type_development').checked
	&& !document.getElementById('type_other').checked){
		alert ('You must select at least one type of property');
		return;
	}
	//check email address is valid
	var myRE = /^[^@ ]+@[^@ ]+\.[^@ ]+$/;
	if (!document.getElementById('email').value.match(myRE)){
		alert ('Your email address does not appear to be in a valid format - please re-enter');
		return;
	}
	//check that passwords 1 and 2 are the same
	if (document.getElementById('password1').value != document.getElementById('password2').value){
		alert ('The password and confirmation do not match - please re-enter');
		return;
	}
	//check password
	var myRE = /^[A-Za-z0-9\-\_]{6,12}$/
	if (!document.getElementById('password1').value.match(myRE)){
		alert ('Your password is too long/short, or contains invalid characters - please re-enter');
		return;
	}
	//check username
	var myRE = /^[A-Za-z0-9\-\_]{6,12}$/;
	if (!document.getElementById('username').value.match(myRE)){
		alert ('Your username is too long/short, or contains invalid characters - please re-enter');
		return;
	}
	var handlerFunc = function(t) {
		if (t.responseText == 'false'){
			alert ('The username you chose is already in use - please choose another');
			return;
		} else {
			document.getElementById('rform').action = 'do_register.php';
			document.getElementById('rform').submit();
		}
		return t.responseText;
	}
	var errFunc = function(t) {
		alert('Error ' + t.status + ' -- ' + t.statusText);
	}
	new Ajax.Request('ajax/check_username.php', {parameters:'username='+document.getElementById('username').value, onSuccess:handlerFunc, onFailure:errFunc});
}
//check it - amends
function checkAmends(){
	var errorMsg = '';
	requiredElements = new Array('firstname','surname','company','email','phone');
	requiredElementsDesc = new Array('First name','Surname','Company name','Email address','Phone number');
	for (i=0; i<requiredElements.length; i++){
		if (!document.getElementById(requiredElements[i]).value){
			errorMsg += requiredElementsDesc[i]+', ';
		}
	}
	if (errorMsg != ''){
		alert ('The following fields are compulsory, but have been left blank: '+errorMsg.substr(0, errorMsg.length-2));
		return;
	}
	// check that at least one of the type checkboxes is checked
	if (!document.getElementById('type_pub').checked
	&& !document.getElementById('type_bar').checked
	&& !document.getElementById('type_hotel').checked
	&& !document.getElementById('type_restaurant').checked
	&& !document.getElementById('type_club').checked
	&& !document.getElementById('type_investment').checked
	&& !document.getElementById('type_development').checked
	&& !document.getElementById('type_other').checked){
		alert ('You must select at least one type of property');
		return;
	}
	//check email address is valid
	var myRE = /^[^@ ]+@[^@ ]+\.[^@ ]+$/;
	if (!document.getElementById('email').value.match(myRE)){
		alert ('Your email address does not appear to be in a valid format - please re-enter');
		return;
	}
	//check that passwords 1 and 2 are the same
	if (document.getElementById('password1').value != '' && document.getElementById('password1').value != document.getElementById('password2').value){
		alert ('The password and confirmation do not match - please re-enter');
		return;
	}
	//check password
	var myRE = /^[A-Za-z0-9\-\_]{6,12}$/
	if (document.getElementById('password1').value != '' && !document.getElementById('password1').value.match(myRE)){
		alert ('Your password is too long/short, or contains invalid characters - please re-enter');
		return;
	}
	//check username
	var myRE = /^[A-Za-z0-9\-\_]{6,12}$/
	if (document.getElementById('username').value != '' && !document.getElementById('username').value.match(myRE)){
		alert ('Your username is too long/short, or contains invalid characters - please re-enter');
		return;
	}
	var handlerFunc = function(t) {
		if (t.responseText == 'false'){
			alert ('The username you chose is already in use - please choose another');
			return;
		} else {
			document.getElementById('rform').action = 'do_amend.php';
			document.getElementById('rform').submit();
		}
		return t.responseText;
	}
	var errFunc = function(t) {
		alert('Error ' + t.status + ' -- ' + t.statusText);
	}
	new Ajax.Request('ajax/check_username.php', {parameters:'username='+document.getElementById('username').value, onSuccess:handlerFunc, onFailure:errFunc});
}
// JavaScript Document
function populateForm(userid){
	var handlerFunc = function(t) {
	//alert (t.responseText)
		var dtls = t.responseText.split('~');
		for (i=0; i<(dtls.length-1); i++){
			var dtl = dtls[i].split('=');
			if (document.getElementById(dtl[0]) && (dtl[0] != 'sendemail' && dtl[0] != 'sendnews')){
				if (!document.getElementById(dtl[0]).checked){
					document.getElementById(dtl[0]).value = dtl[1];
				} else {
					document.getElementById(dtl[0]).checked = dtl[1];
				}
			}
			if (dtl[0] == 'type'){
				var types = dtl[1].split(',');
				for (j=0; j<types.length; j++){
					document.getElementById('type_'+types[j].toLowerCase()).checked = true;
				}
			}
			if (dtl[0] == 'sendemail' || dtl[0] == 'sendnews'){
				document.getElementById(dtl[0]).checked = (dtl[1]=='false' ? false : true);
			}
			document.getElementById('username').value = '';
		}
	}
	var errFunc = function(t) {
		alert('Error ' + t.status + ' -- ' + t.statusText);
	}
	//alert (partner_id);
	new Ajax.Request('ajax/get_user_details.php', {parameters:'userid='+userid, onSuccess:handlerFunc, onFailure:errFunc});
}
