mapExtras = new Image(); mapExtras.src='/img/map-extras.gif'

function showDiv(object) {
 document.getElementById(object).style.visibility="visible";
}

function hideDiv(object) {
 document.getElementById(object).style.visibility="hidden";
}

function homeFlash() {
 document.write('<embed src="img/home.swf" quality="high" wmode="transparent" bgcolor="#ffffff" width="630" height="240" name="img/home" align="middle" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />');
}

function showMenu(object) {
 hideAll();
 show[object]=1;
 coords=findPos(document.getElementById(object));
 document.getElementById('dd_'+object).style.left=coords[0]-10;
 document.getElementById('dd_'+object).style.visibility='visible';
}

function hideMenu(object) {
 if (show[object]==0) {
  document.getElementById('dd_'+object).style.visibility='hidden';
 }
}

function preHide(object) {
 show[object]=0;
 setTimeout("hideMenu('"+object+"')",1000);
}

function findPos(obj) {
 var curleft = curtop = 0;
 if (obj.offsetParent) {
  do {
   curleft += obj.offsetLeft;
   curtop += obj.offsetTop;
  } while (obj = obj.offsetParent);
 }
 return [curleft,curtop];
}

function toggle(object) {
 if (document.getElementById(object).style.display=="block") {
  document.getElementById(object).style.display="none";
 } else {
  document.getElementById(object).style.display="block";
 }
 return false;
}

function checkEmail(email) {
 if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(email.toLowerCase())) {
  return true;
 } else {
  return false;
 }
}

function checkLogin(object) {
 if (!checkEmail(object.email.value)) { alert("Please enter your email address.");object.email.focus();return false; }
 if (object.password.value.length<4) { alert("Please enter your password.");object.password.focus();return false; }
}

function checkPassword(object) {
 if (object.password.value.length<4) { alert("Please choose a password of at least 4 characters.");object.password.focus();return false; }
 if (!object.password2.value) { alert("Please repeat your password for verification.");object.password2.focus();return false; }
 if (object.password.value!=object.password2.value) { alert("Your passwords do not match.");object.password2.focus();return false; }
 return true;
}

function checkAddEmail(object) {
	if (object.name.value.length<5) { alert("Please enter your full name."); object.name.focus(); return false; }
	if (!checkEmail(object.email.value)) { alert("Please enter your email address."); object.email.focus(); return false; }
	if (!checkPassword(object)) return false;
}

function checkAddMember(object) {
	if (object.household_name.value.length<5) { alert("Please enter the full name of a person in the directory you live with."); object.household_name.focus(); return false; }
	if (object.family_name.value.length<2) { alert("Please enter your family name."); object.family_name.focus(); return false; }
	if (object.given_name.value.length<2) { alert("Please enter your given name."); object.given_name.focus(); return false; }
	if (object.gender[0].checked==false && object.gender[1].checked==false) { alert("Please enter your gender."); object.gender[0].focus(); return false; }
	if (object.status.selectedIndex==0) { alert("Please enter your status."); object.status.focus(); return false; }
	if (!checkEmail(object.email.value)) { alert("Please enter your email address."); object.email.focus(); return false; }
	if (!checkPassword(object)) return false;
}

function checkAddHousehold(object) {
	if (object.household_name.value.length<2) { alert("Please enter a name for your household."); object.household_name.focus(); return false; }
	if (object.address.value.length<5) { alert("Please enter your address."); object.address.focus(); return false; }
	if (object.country.value.length<2) { alert("Please enter your country code."); object.country.focus(); return false; }
	if (!checkPassword(object)) return false;
	
	if (document.getElementById('family_name_0').value.length<2) { alert("Please enter your family name."); document.getElementById('family_name_0').focus(); return false; }
	if (document.getElementById('given_name_0').value.length<2) { alert("Please enter your given name."); document.getElementById('given_name_0').focus(); return false; }
	if (document.getElementById('gender_0')[0].checked==false && object.gender[1].checked==false) { alert("Please enter your gender."); document.getElementById('gender_0')[0].focus(); return false; }
	if (document.getElementById('status_0').selectedIndex==0) { alert("Please enter your status."); document.getElementById('status_0').focus(); return false; }
	if (!checkEmail(document.getElementById('email_0').value)) { alert("Please enter your email address."); document.getElementById('email_0').focus(); return false; }
	
	for (i=1;i<10;i++) {
		if (document.getElementById('family_name_'+i) || document.getElementById('given_name_'+i)) {
			if (document.getElementById('family_name_'+i).value.length<2) { alert("Please enter the person in row "+(i+1)+"'s family name."); document.getElementById('family_name_'+i).focus(); return false; }
			if (document.getElementById('given_name_'+i).value.length<2) { alert("Please enter the person in row "+(i+1)+"'s given name."); document.getElementById('given_name_'+i).focus(); return false; }
			if (document.getElementById('gender_'+i)[0].checked==false && object.gender[1].checked==false) { alert("Please enter the person in row "+(i+1)+"'s gender."); document.getElementById('gender_'+i)[0].focus(); return false; }
			if (document.getElementById('status_'+i).selectedIndex==0) { alert("Please enter the person in row "+(i+1)+"'s status."); document.getElementById('status_'+i).focus(); return false; }
			if (!checkEmail(document.getElementById('email_'+i).value)) { alert("Please enter the person in row "+(i+1)+"'s email address."); document.getElementById('email_'+i).focus(); return false; }
		}
	}
}

function forgotPwd() {
 var loginForm = document.getElementById('loginForm');
 if (!checkEmail(loginForm.email.value)) {
  alert("Enter your email address above and then click this link again.");
  loginForm.email.focus();
 } else {
  loginForm.password.value='';
  loginForm.forgot_password.value=1;
  loginForm.submit();
 }
 return false;
}
