function mapData(fldName,fldValue) {
	var map2opt = (fldName.indexOf('1')!=-1) ? '2' : '1';
	for(var f=0;f<document.forms.length;f++) {
		for(var e=0;e<document.forms[f].elements.length;e++) {
			if(document.forms[f].elements[e].name && document.forms[f].elements[e].name.indexOf(fldName.slice(0,-1)+map2opt)!=-1) {
				if(document.forms[f].elements[e].options) {
					for(l=0;l<document.forms[f].elements[e].options.length;l++) {
						if(document.forms[f].elements[e].options[l].value==fldValue) document.forms[f].elements[e].options[l].selected = true;
					}
				}
				if(document.forms[f].elements[e].type) {
					document.forms[f].elements[e].value=fldValue;
				}
			}
		}
	}
}

function setupForm() {
	// set up the change handler for contact reason
	var x = document.getElementsByTagName("SELECT");
	for(var i=0;i<x.length;i++) {
		if(x[i].name=="contactPurpose") {
			x[i].onchange = function() {
				for(var p=1;p<this.options.length;p++) {
					var fieldset = this.options[p].value;
					var state = (p==this.selectedIndex) ? 'block' : 'none';
					document.getElementById(fieldset).style.display = state;
				}
			}
			if(x[i].selectedIndex>0) {
				for(var p=1;p<x[i].options.length;p++) {
					var fieldset = x[i].options[p].value;
					var state = (p==x[i].selectedIndex) ? 'block' : 'none';
					document.getElementById(fieldset).style.display = state;
				}
			}
		}
	}
	// end 
	
	// set up the address fields to match between forms
	for(var f=0;f<document.forms.length;f++) {
		for(var e=0;e<document.forms[f].elements.length;e++) {
			if(document.forms[f].elements[e].name && document.forms[f].elements[e].name.indexOf("Opt")!=-1) {
				if(document.forms[f].elements[e].options) {
					if(document.forms[f].elements[e].selectedIndex>0){mapData(document.forms[f].elements[e].name,document.forms[f].elements[e].options[document.forms[f].elements[e].selectedIndex].value);}
					document.forms[f].elements[e].onchange=function() {mapData(this.name,this.options[this.selectedIndex].value);}
				}
				if(document.forms[f].elements[e].type) {
					if(document.forms[f].elements[e].value!='') {mapData(document.forms[f].elements[e].name,document.forms[f].elements[e].value);}
					document.forms[f].elements[e].onblur=function() {mapData(this.name,this.value);}
				}
			}
		}
	}
	// end 
}

window.onload=setupForm;
