function update_ul_towns(field, neighs_id, zip) {
	if (field.checked == true) {
		update_neighs(neighs_id, true);
		setDisplay(zip);	
	}
	else {
		update_neighs(neighs_id, false);
		setNoDisplay(zip);
	}
}

function update_bos_towns(field, neighs_id) {
	if (field.checked == true) {
		update_neighs(neighs_id, true);
		setBoston();
	}
	else {
		update_neighs(neighs_id, false);
		setNoBoston();
	}
}

function update_bnww_towns(field, neighs_id, zip, field_1, field_2, field_3) {
	if (field.checked == true) {
		update_neighs(neighs_id, true);
		setDisplay(zip);
	}
	else {
		update_neighs(neighs_id, false);
		if($(field_1).checked == true || $(field_2).checked == true || $(field_3).checked == true) {
			setDisplay(zip);
		}
		else {
			setNoDisplay(zip);
		}
	}
}

function update_ul_towns_reverse(field_id, neighs_id) {
	if ($(field_id).checked == true) {
		$(field_id).checked = false;
		update_neighs(neighs_id, false);
	}
	else {
		$(field_id).checked = true;
		update_neighs(neighs_id, true);
	}
}

function update_neighs(neighs_id, checked) {
	var elements = Form.getElements($(neighs_id));
	elements.each ( function(input) {
		input.checked = checked;
	})
}

function loadZipImages(zipnum) {
	str = "maprollimg_" + zipnum + " = new Image();";
	eval(str);
	str = "maprollimg_" + zipnum + ".src = '/images/1022/" + zipnum + ".gif';";
	eval(str);
}

maprollimg_0 = new Image();
maprollimg_0.src = "/images/1022/blank.gif";
boston_zips = ['SectWATE', 'SectNEND', 'SectBEAC', 'SectMIDT', 'SectBBAY', 'SectSEND', 'SectSEAP', 'SectSBOS', 'SectSOSW', 'SectFENW', 'SectALLS', 'SectNONE', 'SectWEND']
	
function rollOverMap(zip) {
	setDisplay(zip);
}

function rollOffMap(zip, field_id) {
	if ($(field_id).checked == true) {
		setDisplay(zip);
	}
	else {
		setNoDisplay(zip);
	}
}

function mapClick(zip, field_id, neighs_id) {
	update_ul_towns_reverse(field_id, neighs_id)
	if($(field_id).checked == true) {
		setDisplay(zip);
	}
	else {
		setNoDisplay(zip);
	}
}

function preloadMaps(townslist) {
	towns_arr = townslist.split(',');
	if (towns_arr.include('1')){
		for(i = 0, len = boston_zips.length; i < len; ++ i) {
			setDisplay(boston_zips[i]);
		}
		return;
	}
	if(towns_arr.include('-10') || towns_arr.include('-11')) {
		setDisplay('SectALLS');
	}
	if(towns_arr.include('-14') || towns_arr.include('-175') || towns_arr.include('-176')) {
		setDisplay('SectBBAY');
	}
	if(towns_arr.include('-15')) {
		setDisplay('SectBEAC');
	}
	if(towns_arr.include('-18') || towns_arr.include('-174')) {
		setDisplay('SectFENW');
	}
	if(towns_arr.include('-21') || towns_arr.include('-23') || towns_arr.include('-24') || towns_arr.include('-25') || towns_arr.include('-27')) {
		setDisplay('SectMIDT');
	}
	if(towns_arr.include('-12') || towns_arr.include('-13')) {
		setDisplay('SectNONE');
	}
	if(towns_arr.include('-16')) {
		setDisplay('SectNEND');
	}
	if(towns_arr.include('-26')) {
		setDisplay('SectSEAP');
	}
	if(towns_arr.include('-2') || towns_arr.include('-6') || towns_arr.include('-7') || towns_arr.include('-3') || towns_arr.include('-20') || towns_arr.include('-8') || towns_arr.include('-4') || towns_arr.include('-9')) {
		setDisplay('SectSOSW');
	}
	if(towns_arr.include('-5') || towns_arr.include('-73')) {
		setDisplay('SectSBOS');
	}
	if(towns_arr.include('-17') || towns_arr.include('-181')) {
		setDisplay('SectSEND');
	}
	if(towns_arr.include('-19')) {
		setDisplay('SectWATE');
	}
	if(towns_arr.include('-22')) {
		setDisplay('SectWEND');
	}
	if(towns_arr.include('13')) {
		setDisplay('SectCAMB');
	}
	if(towns_arr.include('12') || towns_arr.include('39') || towns_arr.include('41')) {
		setDisplay('SectBROO');
	}
}

function setDisplay(zip) {
	$('invisiMap'+ zip).innerHTML = "<img src=\"" + eval("maprollimg_" + zip + ".src") + "\" width=680 height=400 border=0 name=transmapsinvisiMap  usemap=#h_map class=search-map>";
}

function setNoDisplay(zip) {
	$('invisiMap'+ zip).innerHTML = "<img src=\"" + eval("maprollimg_0.src") + "\"  width=680 height=400 border=0 name=transmapsinvisiMap  usemap=#h_map class=search-map>";
}

function setBoston() {
	for(i = 0, len = boston_zips.length; i < len; ++ i) {
		setDisplay(boston_zips[i]);
	}
}

function setNoBoston() {
	for(i = 0, len = boston_zips.length; i < len; ++ i) {
		setNoDisplay(boston_zips[i]);
	}
}

function fetchLead() {
	
}


Array.prototype.index = function(val) {
  for(var i = 0, l = this.length; i < l; i++) {
    if(this[i] == val) return i;
  }
  return null;
}

Array.prototype.include = function(val) {
  return this.index(val) !== null;
}
