// ******************************
//	GENERIC: 
//		TEST EMAIL VALIDITY
//		TEST DATE FORMAT
// ******************************

function test_email(email_str){
	var testresult;
	var emailReg = "^[\\w-_\.]*[\\w-_\.]\@[\\w]\.+[\\w]+[\\w]$";
	var regex = new RegExp(emailReg);
	testresult = regex.test(email_str);	
	return testresult;
}

function test_date(date_str){
	var testresult;
	var dateformat = /^\d{1,2}(\-|\/|\.)\d{1,2}\1\d{4}$/;
	testresult = dateformat.test(date_str);
	return testresult;
}


// **************************
// DATASHEET: SAME ADDRESS CHECKBOX THINGY
// *************************
function proc_same_add(){
	if (document.getElementById('form1').same_address != null){	
		if(document.getElementById("form1").same_address.checked){
			document.getElementById("form1").address2_line1.disabled=true;
			document.getElementById("form1").address2_line2.disabled=true;
			document.getElementById("form1").address2_city.disabled=true;
			document.getElementById("form1").address2_state_id.disabled=true;
			document.getElementById("form1").address2_zip.disabled=true;
		}
		else {
			document.getElementById("form1").address2_line1.disabled=false;
			document.getElementById("form1").address2_line2.disabled=false;
			document.getElementById("form1").address2_city.disabled=false;
			document.getElementById("form1").address2_state_id.disabled=false;
			document.getElementById("form1").address2_zip.disabled=false;	
		}
	}
}

// **************************
// DATASHEET: SAME CONTACT CHECKBOX THINGY
// *************************
function proc_same_contact(){
	if (document.getElementById('form1').same_contact != null){	
		if(document.getElementById("form1").same_contact.checked){
			document.getElementById("form1").reports_contact_person_first_name.disabled=true;
			document.getElementById("form1").reports_contact_person_last_name.disabled=true;
			document.getElementById("form1").reports_contact_person_work_phone.disabled=true;
			document.getElementById("form1").reports_contact_person_login_email.disabled=true;
			document.getElementById("form1").reports_contact_person_id.disabled=true;
		}
		else {
			document.getElementById("form1").reports_contact_person_first_name.disabled=false;
			document.getElementById("form1").reports_contact_person_last_name.disabled=false;
			document.getElementById("form1").reports_contact_person_work_phone.disabled=false;
			document.getElementById("form1").reports_contact_person_login_email.disabled=false;	
			document.getElementById("form1").reports_contact_person_id.disabled=false;
		}
	}
}

// ******************************
// VERIFY USER UPDATE
// ******************************
function user_update_verify(){
	valid = true;
	es = '';
	var etest;
	
	// required fields
	if (
		(document.getElementById('form1').first_name.value == '')
		|| 
		(document.getElementById('form1').last_name.value == '')
		){
		es = es+"\nFirst and last name are required\n";
		valid = false;	
	}	
		
	if (document.getElementById('form1').login_email.value == ''){
		es = es+"\nLogin email is required\n";
		valid = false;	
	}

	// validate date if entered
	
	if (document.getElementById('form1').birthday != null){
		if (document.getElementById('form1').birthday.value != ''){
			testdate = test_date(document.getElementById('form1').birthday.value);
			if (!testdate) {
				valid=false;
				es = es+"\nBirthday is not a valid date format.\n";	
			}
		}
	}
	
	// validate email
	
	etest = test_email(document.getElementById('form1').login_email.value);	
	if (!etest){
		es = es+"\nInvalid login email address\n";
		valid = false;
	}		
	
	if (document.getElementById('form1').second_email.value != '') {
		etest = test_email(document.getElementById('form1').second_email.value);	
		if (!etest){
			es = es+"\nInvalid secondary email address\n";
			valid = false;
		}			
	}

	
//	show error and exit	
	if(!valid){
		alert(es);
	}	
	return valid;

}	

// ******************************
// VERIFY PASSWORD CHANGE
// ******************************

function pwchange_verify(){
	valid = true;
	es = '';
	
	if (document.getElementById('form1').current_password.value == ''){
		es = es+"\nCurrent password required\n";
		valid = false;	
	}
	if (document.getElementById('form1').new_password.value == ''){
		es = es+"\nNew password required\n";
		valid = false;	
	}	
	if (document.getElementById('form1').new_password.value != document.getElementById('form1').confirm_new_password.value){
		es = es+"\nNew password must match in both fields\n";
		valid = false;	
	}		
// check for valid password
	var re = new RegExp("^[a-zA-Z0-9]{6,12}$");
	if (!document.getElementById("form1").new_password.value.match(re)) {
		valid=false;
		es = es+"\nNew password invalid. Must be from 6 to 12 alphanumeric characters, with no special characters.\n";	
	}	
//	show error and exit	
	if(!valid){
		alert(es);
	}	
	return valid;	
}

// ******************************
// NEW LISTING ROLE PRESELECT
// ******************************

function prerole(pname){
	if (!document.getElementById("pre_f").init_role.value ==""){
		window.location = pname+'?initrole='+document.getElementById("pre_f").init_role.value;
	}
}
