//
// form validation from: http://developer.apple.com/internet/webcontent/validation.html
//misc js from:  http://www.java2s.com/Code/JavaScript/Development/BillDortchsCookieFunctions.htm
//  http://www.openntf.org/Projects/codebin/codebin.nsf/0/1A0C7132B9B145C888256BDC000CC153
// (originally from:
// <!-- Original: Richard Gorremans (RichardG@spiritwolfx.com) -->
// <!-- Web Site: http://www.spiritwolfx.com -->//

// Check browser version
var isNav4 = false, isNav5 = false, isIE4 = false
var strSeperator = "/"; 
// If you are using any Java validation on the back side you will want to use the / because 
// Java date validations do not recognize the dash as a valid date separator.
var vDateType = 3; // Global value for type of date format
//                1 = mm/dd/yyyy
//                2 = yyyy/dd/mm  (Unable to do date check at this time)
//                3 = dd/mm/yyyy
var vYearType = 4; //Set to 2 or 4 for number of digits in the year for Netscape
var vYearLength = 2; // Set to 4 if you want to force the user to enter 4 digits for the year before validating.
var err = 0; // Set the error code to a default of zero
if(navigator.appName == "Netscape") 
{
if (navigator.appVersion < "5")
 {
isNav4 = true;
isNav5 = false;
}
else
if (navigator.appVersion > "4")
 {
isNav4 = false;
isNav5 = true;
   }
}
else 
{
isIE4 = true;
}

function checkRadio(checkvalue) {
var error = "";
   if (!(checkvalue)) {
       error = "Please check a radio button.\n";
    }
return error;    
}

function changeReason(reason)
{
	if (reason == 0)
	{
		alert("Please select the type of change you are making.");
		return false;
	}
	return true;
}

function isNotEmpty(elem,name) {
	var str = elem.value;
	var error = "";
	if(str == null || str.length == 0) {
		error = "Please make sure that the " + name + " field is filled in.\n";
			  //alert(error);
	}
	return error;
}
function checkPhone(elem,name) {
	var str = elem.value;
        var error = "";
	var stripped = str.replace(/[\(\)\.\-\ ]/g, '');
//strip out acceptable non-numeric characters
	if (stripped.length != 0) {
		if (isNaN(parseInt(stripped))) {
   			error = "The " + name + " phone number contains illegal characters.\n";
		}	
	}
	if (stripped.length != 0) {
		if (!(stripped.length == 10)) {
			error = "The " + name + " phone number is the wrong length."; 
			error += "Make sure you included an area code.\n";
		}
	}
	return error;
}
function checkSsn(elem) {
	var str = elem.value;
	var error = "";
	var stripped = str.replace(/[\-\ ]/g, '');
	if (isNaN(parseInt(stripped))) {
		error = "The SSN must only contain numbers and dashes.\n";
	}
	if (!(stripped.length == 9)) {
		error = "The SSN must contain exactly 9 digits. \n"
	}
	return error;
}

function checkEmail(elem) {
	var error = "";
	var str = elem.value;
	var emailFilter=/^.+@.+\..{2,3}$/;
	if (str.length > 0) {
		if (!(emailFilter.test(str))) { 
       			error = "Please enter a valid email address.\n";
		}
		var illegalChars= /[\(\)\<\>\,\;\:\\\/\"\[\]]/
		if (str.match(illegalChars)) {
		   error = "The email address contains illegal characters.\n";
		}
	}
	return error;
}
function setCookie(name, value, expires, path, domain, secure) {
        var curCookie = name + "=" + escape(value) + ((expires) ? "; expires=" + expires.toGMTString() : "")
                + ((path) ? "; path=" + path : "") + ((domain) ? "; domain=" + domain : "") + ((secure) ? "; secure" : "");

        document.cookie = curCookie;
}
function toggle_dynamic_var($name) {
        name1 = 'dyn_'+$name+'_display';
        name2 = 'dyn_'+$name+'_edit';
        if(document.getElementById(name1).style.display == "none") {
                document.getElementById(name2).style.display = "none";
                document.getElementById(name1).style.display = "inline";
        } else {
                document.getElementById(name1).style.display = "none";
                document.getElementById(name2).style.display = "inline";

        }

}
function check_toggle(mycontrol,list1,list2) {
  var this_check = document.getElementById(mycontrol);
  var block1 = document.getElementById(list1);
  var block2 = document.getElementById(list2);
  if (this_check.checked ) {
    if (block1) {block1.style.display = "none"; }
    if (block2) {block2.style.display = "block"; }
  } else {
    if (block1) {block1.style.display = "block"; }
    if (block2) {block2.style.display = "none"; }
  }
}
function hide(foo,f) {
  //alert(foo);
        hideme = document.getElementById(foo);
        if (hideme) {hideme.style.display = "none"; }
        if (f) { setCookie(foo, "c"); }
}
function show(foo,f) {
    //alert(foo);
        showme = document.getElementById(foo);
        if (showme) {showme.style.display = "block"; }
        if (f) { setCookie(foo, "o"); }
}

function toggle(foo) {
        if (document.getElementById(foo).style.display == "none") {
                show(foo);

                setCookie(foo, "o");
        } else {
                if (document.getElementById(foo).style.display == "block") {
                        hide(foo,1);
                } else {
                        show(foo,1);
                }
        }
}

function ssnformat(e,a,docstr) {
	var doc = docstr;
	var k;
	var nullKeys="-8-0-13-";
	if(document.all){k=window.event.ssnCode;}
	else {
		k=e.which;
		if(nullKeys.indexOf("-"+k+"-")!=-1){return;}
	}
	if(k<48||k>57) {return false;}
	setTimeout(format(doc),100);
}
function format(docstr) {
	var obj=docstr;
	var txt=obj.ssn.value,n,style;
	txt = txt.replace(/\D/g,"");
	style="###-##-####";
	for(i=0;i<txt.length;i++) {
		n=txt.charAt(i);
		if(!isNaN(n*1)&&n!=''){n='#'}
		if(n!=style.charAt(i)){txt=txt.substring(0,i)+style.charAt(i)+txt.substring(i);}
	}
	if(style.charAt(i)!='#'){txt+=style.charAt(i)}
	obj.ssn.value=txt;
}

function DateFormat(vDateName, vDateValue, e, dateCheck, dateType) {
vDateType = dateType;
mDateValue = vDateValue;
// vDateName = object name
// vDateValue = value in the field being checked
// e = event
// dateCheck 
// True  = Verify that the vDateValue is a valid date
// False = Format values being entered into vDateValue only
// vDateType
// 1 = mm/dd/yyyy
// 2 = yyyy/mm/dd
// 3 = dd/mm/yyyy
//Enter a tilde sign for the first number and you can check the variable information.
if (vDateValue == "~")
 {
alert("AppVersion = "+navigator.appVersion+" \nNav. 4 Version = "+isNav4+" \nNav. 5 Version = "+isNav5+" \nIE Version = "+isIE4+" \nYear Type = "+vYearType+" \nDate Type = "+vDateType+" \nSeparator = "+strSeperator);
vDateName.value = "";
vDateName.focus();
return true;
}
var whichCode = (window.Event) ? e.which : e.keyCode;
// Check to see if a seperator is already present.
// bypass the date if a seperator is present and the length greater than 8
if (vDateValue.length > 8 && isNav4)
 {
if ((vDateValue.indexOf("-") >= 1) || (vDateValue.indexOf("/") >= 1))
return true;
}
//Eliminate all the ASCII codes that are not valid
var alphaCheck = " abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ/-";
if (alphaCheck.indexOf(vDateValue.charAt(vDateValue.length-1)) >= 1)
 {
if (isNav4)
 {
vDateName.value = "";
vDateName.focus();
vDateName.select();
return false;
}
else 
{
vDateName.value = vDateName.value.substr(0, (vDateValue.length-1));
return false;
   }
}
if (whichCode == 8) //Ignore the Netscape value for backspace. IE has no value
return false;
else
{
//Create numeric string values for 0123456789/
//The codes provided include both keyboard and keypad values
var strCheck = 'undefined,0,47,48,49,50,51,52,53,54,55,56,57,58,59,65,95,96,97,98,99,100,101,102,103,104,105';
if (strCheck.indexOf(whichCode) != -1)
 {
if (isNav4)
 {
if (((vDateValue.length < 6 && dateCheck) || (vDateValue.length == 7 && dateCheck)) && (vDateValue.length >=1)) 
{
alert("Invalid Date\nPlease Re-Enter");
vDateName.value = "";
vDateName.focus();
vDateName.select();
return false;
}
if (vDateValue.length == 6 && dateCheck)
 {
var mDay = vDateName.value.substr(2,2);
var mMonth = vDateName.value.substr(0,2);
var mYear = vDateName.value.substr(4,4)
//Turn a two digit year into a 4 digit year
if (mYear.length == 2 && vYearType == 4)
 {
var mToday = new Date();
//If the year is greater than 30 years from now use 19, otherwise use 20
var checkYear = mToday.getFullYear() + 30; 
var mCheckYear = '20' + mYear;
if (mCheckYear >= checkYear)
mYear = '19' + mYear;
else
mYear = '20' + mYear;
}
var vDateValueCheck = mMonth+strSeperator+mDay+strSeperator+mYear;
if (!dateValid(vDateValueCheck))
 {
alert("Invalid Date\nPlease Re-Enter");
vDateName.value = "";
vDateName.focus();
vDateName.select();
return false;
}
vDateName.value = vDateValueCheck; 
return true;
}
else 
{
// Reformat the date for validation and set date type to a 1
if (vDateValue.length >= 8  && dateCheck) 
{
if (vDateType == 1) // mmddyyyy
{
var mDay = vDateName.value.substr(2,2);
var mMonth = vDateName.value.substr(0,2);
var mYear = vDateName.value.substr(4,4)
vDateName.value = mMonth+strSeperator+mDay+strSeperator+mYear;
}
if (vDateType == 2) // yyyymmdd
{
var mYear = vDateName.value.substr(0,4)
var mMonth = vDateName.value.substr(4,2);
var mDay = vDateName.value.substr(6,2);
vDateName.value = mYear+strSeperator+mMonth+strSeperator+mDay;
}
if (vDateType == 3) // ddmmyyyy
{
var mMonth = vDateName.value.substr(2,2);
var mDay = vDateName.value.substr(0,2);
var mYear = vDateName.value.substr(4,4)
vDateName.value = mDay+strSeperator+mMonth+strSeperator+mYear;
}
//Create a temporary variable for storing the DateType and change
//the DateType to a 1 for validation.
var vDateTypeTemp = vDateType;
vDateType = 1;
var vDateValueCheck = mMonth+strSeperator+mDay+strSeperator+mYear;
if (!dateValid(vDateValueCheck))
 {
alert("Invalid Date\nPlease Re-Enter");
vDateType = vDateTypeTemp;
vDateName.value = "";
vDateName.focus();
vDateName.select();
return false;
}
vDateType = vDateTypeTemp;
return true;
}
else
 {
if (((vDateValue.length < 8 && dateCheck) || (vDateValue.length == 9 && dateCheck)) && (vDateValue.length >=1))
 {
alert("Invalid Date\nPlease Re-Enter");
vDateName.value = "";
vDateName.focus();
vDateName.select();
return false;
         }
      }
   }
}
else
 {
// Non isNav Check
if (((vDateValue.length < 8 && dateCheck) || (vDateValue.length == 9 && dateCheck)) && (vDateValue.length >=1)) 
{
alert("Invalid Date\nPlease Re-Enter");
vDateName.value = "";
vDateName.focus();
return true;
}
// Reformat date to format that can be validated. mm/dd/yyyy
if (vDateValue.length >= 8 && dateCheck)
 {
// Additional date formats can be entered here and parsed out to
// a valid date format that the validation routine will recognize.
if (vDateType == 1) // mm/dd/yyyy
{
var mMonth = vDateName.value.substr(0,2);
var mDay = vDateName.value.substr(3,2);
var mYear = vDateName.value.substr(6,4)
}
if (vDateType == 2) // yyyy/mm/dd
{
var mYear = vDateName.value.substr(0,4)
var mMonth = vDateName.value.substr(5,2);
var mDay = vDateName.value.substr(8,2);
}
if (vDateType == 3) // dd/mm/yyyy
{
var mDay = vDateName.value.substr(0,2);
var mMonth = vDateName.value.substr(3,2);
var mYear = vDateName.value.substr(6,4)
}
if (vYearLength == 4) 
{
if (mYear.length < 4) 
{
alert("Invalid Date\nPlease Re-Enter");
vDateName.value = "";
vDateName.focus();
return true;
   }
}
// Create temp. variable for storing the current vDateType
var vDateTypeTemp = vDateType;
// Change vDateType to a 1 for standard date format for validation
// Type will be changed back when validation is completed.
vDateType = 1;
// Store reformatted date to new variable for validation.
var vDateValueCheck = mMonth+strSeperator+mDay+strSeperator+mYear;
if (mYear.length == 2 && vYearType == 4 && dateCheck)
 {
//Turn a two digit year into a 4 digit year
var mToday = new Date();
//If the year is greater than 30 years from now use 19, otherwise use 20
var checkYear = mToday.getFullYear() + 30; 
var mCheckYear = '20' + mYear;
if (mCheckYear >= checkYear)
mYear = '19' + mYear;
else
mYear = '20' + mYear;
vDateValueCheck = mMonth+strSeperator+mDay+strSeperator+mYear;
// Store the new value back to the field.  This function will
// not work with date type of 2 since the year is entered first.
if (vDateTypeTemp == 1) // mm/dd/yyyy
vDateName.value = mMonth+strSeperator+mDay+strSeperator+mYear;
if (vDateTypeTemp == 3) // dd/mm/yyyy
vDateName.value = mDay+strSeperator+mMonth+strSeperator+mYear;
} 
if (!dateValid(vDateValueCheck))
 {
alert("Invalid Date\nPlease Re-Enter");
vDateType = vDateTypeTemp;
vDateName.value = "";
vDateName.focus();
return true;
}
vDateType = vDateTypeTemp;
return true;
}
else 
{
if (vDateType == 1)
 {
if (vDateValue.length == 2) 
{
vDateName.value = vDateValue+strSeperator;
}
if (vDateValue.length == 5)
 {
vDateName.value = vDateValue+strSeperator;
   }
}
if (vDateType == 2) 
{
if (vDateValue.length == 4)
 {
vDateName.value = vDateValue+strSeperator;
}
if (vDateValue.length == 7)
 {
vDateName.value = vDateValue+strSeperator;
   }
} 
if (vDateType == 3) 
{
if (vDateValue.length == 2) 
{
vDateName.value = vDateValue+strSeperator;
}
if (vDateValue.length == 5) 
{
vDateName.value = vDateValue+strSeperator;
   }
}
return true;
   }
}
if (vDateValue.length == 10&& dateCheck)
 {
if (!dateValid(vDateName))
 {
// Un-comment the next line of code for debugging the dateValid() function error messages
//alert(err);  
alert("Invalid Date\nPlease Re-Enter");
vDateName.focus();
vDateName.select();
   }
}
return false;
}
else
 {
// If the value is not in the string return the string minus the last
// key entered.
if (isNav4)
 {
vDateName.value = "";
vDateName.focus();
vDateName.select();
return false;
}
else
{
if (whichCode != 16){
vDateName.value = vDateName.value.substr(0, (vDateValue.length-1));
}
return false;
         }
      }
   }
}
function dateValid(objName) {
var strDate;
var strDateArray;
var strDay;
var strMonth;
var strYear;
var intday;
var intMonth;
var intYear;
var booFound = false;
var datefield = objName;
var strSeparatorArray = new Array("-"," ","/",".");
var intElementNr;
// var err = 0;
var strMonthArray = new Array(12);
strMonthArray[0] = "Jan";
strMonthArray[1] = "Feb";
strMonthArray[2] = "Mar";
strMonthArray[3] = "Apr";
strMonthArray[4] = "May";
strMonthArray[5] = "Jun";
strMonthArray[6] = "Jul";
strMonthArray[7] = "Aug";
strMonthArray[8] = "Sep";
strMonthArray[9] = "Oct";
strMonthArray[10] = "Nov";
strMonthArray[11] = "Dec";
//strDate = datefield.value;
strDate = objName;
if (strDate.length < 1) {
return true;
}
for (intElementNr = 0; intElementNr < strSeparatorArray.length; intElementNr++) {
if (strDate.indexOf(strSeparatorArray[intElementNr]) != -1) 
{
strDateArray = strDate.split(strSeparatorArray[intElementNr]);
if (strDateArray.length != 3)
 {
err = 1;
return false;
}
else
 {
strDay = strDateArray[0];
strMonth = strDateArray[1];
strYear = strDateArray[2];
}
booFound = true;
   }
}
if (booFound == false) {
if (strDate.length>5) {
strDay = strDate.substr(0, 2);
strMonth = strDate.substr(2, 2);
strYear = strDate.substr(4);
   }
}
//Adjustment for short years entered
if (strYear.length == 2) {
strYear = '20' + strYear;
}
strTemp = strDay;
strDay = strMonth;
strMonth = strTemp;
intday = parseInt(strDay, 10);
if (isNaN(intday)) {
err = 2;
return false;
}
intMonth = parseInt(strMonth, 10);
if (isNaN(intMonth)) {
for (i = 0;i<12;i++) {
if (strMonth.toUpperCase() == strMonthArray[i].toUpperCase()) {
intMonth = i+1;
strMonth = strMonthArray[i];
i = 12;
   }
}
if (isNaN(intMonth)) {
err = 3;
return false;
   }
}
intYear = parseInt(strYear, 10);
if (isNaN(intYear)) {
err = 4;
return false;
}
if (intYear>  getFullYear(Date()) || intYear<1900) {
err = 4;
return false;
}
if (intMonth>12 || intMonth<1) {
err = 5;
return false;
}
if ((intMonth == 1 || intMonth == 3 || intMonth == 5 || intMonth == 7 || intMonth == 8 || intMonth == 10 || intMonth == 12) && (intday > 31 || intday < 1)) {
err = 6;
return false;
}
if ((intMonth == 4 || intMonth == 6 || intMonth == 9 || intMonth == 11) && (intday > 30 || intday < 1)) {
err = 7;
return false;
}
if (intMonth == 2) {
if (intday < 1) {
err = 8;
return false;
}
if (LeapYear(intYear) == true) {
if (intday > 29) {
err = 9;
return false;
   }
}
else {
if (intday > 28) {
err = 10;
return false;
      }
   }
}
return true;
}
function LeapYear(intYear) {
	if (intYear % 100 == 0) {
		if (intYear % 400 == 0) { return true; }
	}
	else {	
		if ((intYear % 4) == 0) { return true; }
	}
	return false;
}
function go_there(msg,newloc)
{
 answer= confirm(msg);

 if (answer != 0)
	{
	location = newloc
	}
}

function go(dest,cl,str)
{
	opt = str.options[str.selectedIndex].value;
	new_dest = dest+"?opt="+opt+"&cl="+cl;
	if (dest) location.href = new_dest;
}
function checkPass(theForm) {
    if (theForm.new_pass1.value != theForm.new_pass2.value)
    {
        alert('Those passwords don\'t match! Please reenter the new passwords');
        return false;
    } else {
        return true;
    }
}

//searches for the name in the dropdown
function filtery(pattern,list){
	pattern = new RegExp('^'+pattern,"i");
	i=0;
	sel=0;
	while(i<list.options.length){
		if(pattern.test(list.options[i].text)){sel=i;break}
		i++;
	}
	list.options.selectedIndex=sel;
}

// functions to format and validate phone numbers as they are entered
var n;
var p;
var p1;
function ValidatePhone(){
p=p1.value
if(p.length==3){
	//d10=p.indexOf('(')
	pp=p;
	d4=p.indexOf('(')
	d5=p.indexOf(')')
	if(d4==-1){
		pp="("+pp;
	}
	if(d5==-1){
		pp=pp+")";
	}
	//pp="("+pp+")";
	document.personal_info.phonehome.value="";
	document.personal_info.phonehome.value=pp;
}
if(p.length>3){
	d1=p.indexOf('(')
	d2=p.indexOf(')')
	if (d2==-1){
		l30=p.length;
		p30=p.substring(0,4);
		//alert(p30);
		p30=p30+")"
		p31=p.substring(4,l30);
		pp=p30+p31;
		//alert(p31);
		document.personal_info.phonehome.value="";
		document.personal_info.phonehome.value=pp;
	}
	}
if(p.length>5){
	p11=p.substring(d1+1,d2);
	if(p11.length>3){
	p12=p11;
	l12=p12.length;
	l15=p.length
	//l12=l12-3
	p13=p11.substring(0,3);
	p14=p11.substring(3,l12);
	p15=p.substring(d2+1,l15);
	document.personal_info.phonehome.value="";
	pp="("+p13+")"+p14+p15;
	document.personal_info.phonehome.value=pp;
	//obj1.value="";
	//obj1.value=pp;
	}
	l16=p.length;
	p16=p.substring(d2+1,l16);
	l17=p16.length;
	if(l17>3&&p16.indexOf('-')==-1){
		p17=p.substring(d2+1,d2+4);
		p18=p.substring(d2+4,l16);
		p19=p.substring(0,d2+1);
		//alert(p19);
	pp=p19+p17+"-"+p18;
	document.personal_info.phonehome.value="";
	document.personal_info.phonehome.value=pp;
	//obj1.value="";
	//obj1.value=pp;
	}
}
//}
setTimeout(ValidatePhone,100)
}
function getIt(m){
n=m.name;
//p1=document.forms[0].elements[n]
p1=m
ValidatePhone()
}
function testphone(obj1){
p=obj1.value
//alert(p)
p=p.replace("(","")
p=p.replace(")","")
p=p.replace("-","")
p=p.replace("-","")
//alert(isNaN(p))
if (isNaN(p)==true){
alert("Check phone");
return false;
}
}

//function for formatting ssn as it is entered
function fmtssn(form_name,elem_name)
{
	re = /\D/g; // remove any characters that are not numbers

	if(form_name == 'hh_detail')
	{	
		thisform = document.hh_detail[elem_name];
	}
	else
	{
		thisform = document.personal_info.ssn;
	}

	socnum=thisform.value.replace(re,"");
	sslen=socnum.length
	if(sslen>3&&sslen<6)
	{
	ssa=socnum.slice(0,3)
	ssb=socnum.slice(3,5)
	thisform.value=ssa+"-"+ssb
	}
	else
	{
	if(sslen>5)
	{
	ssa=socnum.slice(0,3)
	ssb=socnum.slice(3,5)
	ssc=socnum.slice(5,9)
	thisform.value=ssa+"-"+ssb+"-"+ssc
	}
	else
	{thisform.value=socnum}
	}
}

function showID(frm)
   {
      //if dropdown isn't "- -" then populate txtID textbox
      if (frm.p_id.selectedIndex != 0)
         {
         frm.txtID.value = frm.p_id.value;
           //alert("ID: " + "\n" + frm.txtID.value);
         }else{
         frm.txtID.value = "";
         }

   }
   
function getID(frm)
   {
     var id;
      //if dropdown isn't "- -" then populate txtID textbox
      if (frm.txtID.value != 0)
         {
         id = frm.txtID.value;
           alert("ID: " + "\n" + id);
         }
   return id;
 }

<!-- Begin

var savearray = new Array();

function InitSaveVariables(parent_info,ind) {
  for (i=ind; i<ind+12; i++) {
     if (parent_info.elements[i].type == 'radio' )
        savearray[i] = parent_info.elements[i].checked;
      else
        savearray[i] = parent_info.elements[i].value;
   
  }
}

function CopyPerson(parent_info,ind) {
 // alert ('Array values 1 ' + savearray[14] + ' - and 7 - ' + savearray[20] );
  if (parent_info.elements[ind].checked) {
  InitSaveVariables(parent_info,ind);
    for (i=1; i<12; i++) {
      if (parent_info.elements[i+ind].type == 'radio' )
        parent_info.elements[i+ind].checked = parent_info.elements[i].checked;
      else
        parent_info.elements[i+ind].value = parent_info.elements[i].value;
    }
  }
  else {
    for (i=1; i<12; i++) {
      if (parent_info.elements[i+ind].type == 'radio' )
        parent_info.elements[i+ind].checked = savearray[i+ind];
      else
        parent_info.elements[i+ind].value = savearray[i+ind];
    } 
  }
}

function showincchoices() {
var numhh =
document.getElementById("numhh").selectedIndex + 1;
//alert(numhh);
    if (numhh == 1) {
     document.getElementById("faminc1").style.display = "inline";
    } else {
     document.getElementById("faminc1").style.display = "none";
    }
    
    if (numhh == 2) {
     document.getElementById("faminc2").style.display = "inline";
    } else {
     document.getElementById("faminc2").style.display = "none";
    }
    
    if (numhh == 3) {
     document.getElementById("faminc3").style.display = "inline";
    } else {
     document.getElementById("faminc3").style.display = "none";
    }
    
    if (numhh == 4) {
     document.getElementById("faminc4").style.display = "inline";
    } else {
     document.getElementById("faminc4").style.display = "none";
    }
    
    if (numhh == 5) {
     document.getElementById("faminc5").style.display = "inline";
    } else {
     document.getElementById("faminc5").style.display = "none";
    }
    
    if (numhh == 6) {
     document.getElementById("faminc6").style.display = "inline";
    } else {
     document.getElementById("faminc6").style.display = "none";
    }
    
    if (numhh == 7) {
     document.getElementById("faminc7").style.display = "inline";
    } else {
     document.getElementById("faminc7").style.display = "none";
    }
    
    if (numhh == 8) {
     document.getElementById("faminc8").style.display = "inline";
    } else {
     document.getElementById("faminc8").style.display = "none";
    }
}//end of function


<!-- This script is based on the javascript code of Roman Feldblum (web.developer@programmer.net) -->
<!-- Original script : http://javascript.internet.com/forms/format-phone-number.html -->
<!-- Original script is revised by Eralper Yilmaz (http://www.eralper.com) -->
<!-- Revised script : http://www.kodyaz.com -->

var zChar = new Array(' ', '(', ')', '-', '.');
var maxphonelength = 13;
var phonevalue1;
var phonevalue2;
var cursorposition;

function ParseForNumber1(object){
	phonevalue1 = ParseChar(object.value, zChar);
}
function ParseForNumber2(object){
	phonevalue2 = ParseChar(object.value, zChar);
}

function backspacerUP(object,e) { 
	if(e){ 
		e = e 
	} else {
		e = window.event 
	} 
	if(e.which){ 
		var keycode = e.which 
	} else {
		var keycode = e.keyCode 
	}

	ParseForNumber1(object)

	if(keycode > 48){
		PhoneValidate(object)
	}
}

function backspacerDOWN(object,e) { 
	if(e){ 
		e = e 
	} else {
		e = window.event 
	} 
	if(e.which){ 
		var keycode = e.which 
	} else {
		var keycode = e.keyCode 
	}
	ParseForNumber2(object)
} 

function GetCursorPosition(){
    
	var t1 = phonevalue1;
	var t2 = phonevalue2;
	var bool = false
    for (i=0; i<t1.length; i++)
    {
    	if (t1.substring(i,1) != t2.substring(i,1)) {
    		if(!bool) {
    			cursorposition=i
    			bool=true
    		}
    	}
    }
}

function PhoneValidate(object){
	
	var p = phonevalue1
	
	p = p.replace(/[^\d]*/gi,"")

	if (p.length < 3) {
		object.value=p
	} else if(p.length==3){
		pp=p;
		d4=p.indexOf('(')
		d5=p.indexOf(')')
		if(d4==-1){
			pp="("+pp;
		}
		if(d5==-1){
			pp=pp+")";
		}
		object.value = pp;
	} else if(p.length>3 && p.length < 7){
		p ="(" + p;	
		l30=p.length;
		p30=p.substring(0,4);
		p30=p30+")"

		p31=p.substring(4,l30);
		pp=p30+p31;

		object.value = pp;	
		
	} else if(p.length >= 7){
		p ="(" + p;	
		l30=p.length;
		p30=p.substring(0,4);
		p30=p30+")"
		
		p31=p.substring(4,l30);
		pp=p30+p31;
		
		l40 = pp.length;
		p40 = pp.substring(0,8);
		p40 = p40 + "-"
		
		p41 = pp.substring(8,l40);
		ppp = p40 + p41;
		
		object.value = ppp.substring(0, maxphonelength);
	}
	
	GetCursorPosition()
	
	if(cursorposition >= 0){
		if (cursorposition == 0) {
			cursorposition = 2
		} else if (cursorposition <= 2) {
			cursorposition = cursorposition + 1
		} else if (cursorposition <= 5) {
			cursorposition = cursorposition + 2
		} else if (cursorposition == 6) {
			cursorposition = cursorposition + 2
		} else if (cursorposition == 7) {
			cursorposition = cursorposition + 4
			e1=object.value.indexOf(')')
			e2=object.value.indexOf('-')
			if (e1>-1 && e2>-1){
				if (e2-e1 == 4) {
					cursorposition = cursorposition - 1
				}
			}
		} else if (cursorposition < 11) {
			cursorposition = cursorposition + 3
		} else if (cursorposition == 11) {
			cursorposition = cursorposition + 1
		} else if (cursorposition >= 12) {
			cursorposition = cursorposition
		}

        var txtRange = object.createTextRange();
        txtRange.moveStart( "character", cursorposition);
		txtRange.moveEnd( "character", cursorposition - object.value.length);
        txtRange.select();
    }

}

function ParseChar(sStr, sChar)
{
    if (sChar.length == null) 
    {
        zChar = new Array(sChar);
    }
    else zChar = sChar;
    
    for (i=0; i<zChar.length; i++)
    {
        sNewStr = "";
    
        var iStart = 0;
        var iEnd = sStr.indexOf(sChar[i]);
    
        while (iEnd != -1)
        {
            sNewStr += sStr.substring(iStart, iEnd);
            iStart = iEnd + 1;
            iEnd = sStr.indexOf(sChar[i], iStart);
        }
        sNewStr += sStr.substring(sStr.lastIndexOf(sChar[i]) + 1, sStr.length);
        
        sStr = sNewStr;
    }
    
    return sNewStr;
}



//  End -->

