// generate random ID so the map and the dropdown has a common ID to use for communication
var placesUID = new Date().getTime()+Math.round(Math.random()*999);
// dropdown values
//var places_states = ["PUERTO RICO","PR","US VIRGIN ISLANDS","VI","GUAM", "GU","ALABAMA","AL","ALASKA","AK","ARIZONA","AZ","ARKANSAS","AR","CALIFORNIA","CA","COLORADO","CO","CONNECTICUT","CT","DELAWARE","DE","DISTRICT OF COLUMBIA","DC","FLORIDA","FL","GEORGIA","GA","HAWAII","HI","IDAHO","ID","ILLINOIS","IL","INDIANA","IN","IOWA","IA","KANSAS","KS","KENTUCKY","KY","LOUISIANA","LA","MAINE","ME","MARYLAND","MD","MASSACHUSETTS","MA","MICHIGAN","MI","MINNESOTA","MN","MISSISSIPPI","MS","MISSOURI","MO","MONTANA","MT","NEBRASKA","NE","NEVADA","NV","NEW HAMPSHIRE","NH","NEW JERSEY","NJ","NEW MEXICO","NM","NEW YORK","NY","NORTH CAROLINA","NC","NORTH DAKOTA","ND","OHIO","OH","OKLAHOMA","OK","OREGON","OR","PENNSYLVANIA","PA","RHODE ISLAND","RI","SOUTH CAROLINA","SC","SOUTH DAKOTA","SD","TENNESSEE","TN","TEXAS","TX","UTAH","UT","VERMONT","VT","VIRGINIA","VA","WASHINGTON","WA","WEST VIRGINIA","WV","WISCONSIN","WI","WYOMING","WY"];
var places_states = ["Puerto Rico","PR","US Virgin Island","VI","Guam", "GU","Alabama","AL","Alaska","AK","Arizona","AZ","Arkansas","AR","California","CA","Colorado","CO","Connecticut","CT","Delaware","DE","District Of Columbia","DC","Florida","FL","Georgia","GA","Hawaii","HI","Idaho","ID","Illinois","IL","Indiana","IN","Iowa","IA","Kansas","KS","Kentucky","KY","Louisiana","LA","Maine","ME","Maryland","MD","Massachusetts","MA","Michigan","MI","Minnesota","MN","Mississippi","MS","Missouri","MO","Montana","MT","Nebraska","NE","Nevada","NV","New Hampshire","NH","New Jersey","NJ","New Mexico","NM","New York","NY","North Carolina","NC","North Dakota","ND","Ohio","OH","Oklahoma","OK","Oregon","OR","Pennsylvania","PA","Rhode Island","RI","South Carolina","SC","South Dakota","SD","Tennessee","TN","Texas","TX","Utah","UT","Vermont","VT","Virginia","VA","Washington","WA","West Virginia","WV","Wisconsin","WI","Wyoming","WY"];

// Called from flash when a state is selected from in the flash
function places_selectState(state_abbr,h) {
	var label = document.getElementById("statelabel");
	
	var str = "";
	var dp = document.getElementById("caseyplacesswf_dropdown");
	var len = places_states.length/2;
	for(var i=0; i<len; i++) {
		if(state_abbr==places_states[i*2+1]) {
			dp.selectedIndex = i+1;
			str=places_states[i*2];
			/*
			// AG REMOVED because of error (not sure what caused)
			var tmp = places_states[i*2].toLowerCase().split(" ");
			for(var j in tmp) {
				tmp[j] = tmp[j].substring(0,1).toUpperCase()+tmp[j].substring(1);
			}
			str = tmp.join(" ");
			break;
			*/
		}
	}
	label.innerHTML = str;
	var sub_stateview = new getObj("sub_stateview");
	var sub_divider = new getObj("sub_divider");
	sub_stateview.style.visibility = str==""?"hidden":"visible";
	sub_divider.style.visibility = str==""?"hidden":"visible";
	if(h!=null) {
		places_setHeight(h);
	}
	map = null;
}

// Create the state dropdown
// 0 index is for the national view (no state selected)
function places_createDropdown() {
	var len = places_states.length/2;
	var str = '<select id="caseyplacesswf_dropdown" onchange="places_onDropdown()">';
	str += '<option value="null">Select a state</option>';
	for(var i=0; i<len; i++) {
		str += '<option value="'+places_states[i*2+1]+'">'+places_states[i*2]+'</option>';
	}
	str += '</select>';
	document.getElementById("map_dropdown").innerHTML=str;
}

// Dropdown callback (onChange)
function places_onDropdown() {
	var dp = document.getElementById("caseyplacesswf_dropdown");
	var st = dp.options[dp.selectedIndex].value;
	places_delegateSelectionToMap(st);
}

function places_prev() {
	var dp = document.getElementById("caseyplacesswf_dropdown");
	if(dp.selectedIndex>1) {
		dp.selectedIndex--;
	} else {
		dp.selectedIndex = dp.length-1;
	}
	places_onDropdown();
}

function places_next() {
	var dp = document.getElementById("caseyplacesswf_dropdown");
	if(dp.selectedIndex<dp.length-1) {
		dp.selectedIndex++;
	} else {
		dp.selectedIndex=1;
	}
	places_onDropdown();
}

// Dynamically create a flash file that can communicate the dropdown selection
// to the Map flash
function places_delegateSelectionToMap(st) {
	if(st==null || st.length!=2) {
		document.getElementById("caseyplacesswf_dropdown").selectedIndex = 0;
	}
	var fo_tmp = new FlashObject("/flash/bin/places_comm.swf", "places_comm", "1", "1", "6.0.40", "#CEECF8", false, "high", "noflash.html");
	fo_tmp.addParam("wmode","transparent");
	fo_tmp.addVariable("placesUID",placesUID);
	fo_tmp.addVariable("selectState",st);
	fo_tmp.write("caseyplacesswf_comm");
	fo = null;
}

function places_setHeight(h) {
	// extra height needed none IE browsers - hacky fix for now
	var ff_padding = navigator.userAgent.toString().indexOf("MSIE")==-1?88:0;
	var placesdiv = new getObj("caseyplacesdiv");
	var placesswf = new getObj("placesswf");
	placesdiv.style.height = (parseInt(h)+ff_padding)+"px";
	placesswf.style.height = h+"px";
}


//----------------------------------
//------------INIT------------------
//----------------------------------

// create dropdown
places_createDropdown();

// write the Map Flash
var fo_places = new FlashObject("/flash/bin/places.swf", "placesswf", "797", "100%", "6.0.40", "#e5e5e5", false, "high", null);
fo_places.addVariable("placesUID",placesUID);
//fo_places.addVariable("xmlsource","/flash/bin/xml/caseyplaces.xml");
fo_places.addVariable("xmlsource","/CaseyPlaces.aspx?xml=1");
//uncomment the line below and pass the desired state to have have that state preselected at start.
//fo_places.addVariable("selectState","FL");
fo_places.write("caseyplacesdiv");
