var type_xml = false;
var results_xml = false;

features = new Array('Mountains'						// 0
		, 'Desert / Canyon'							// 1
		, 'Oceans / Large Lakes'					// 2
		, 'Caves & Volcanoes'						// 3
		, 'Grassland / Prairie'						// 4
		, 'Historical / <br />&nbsp;&nbsp;&nbsp;&nbsp; Archaeological Artifacts'	// 5
		, 'Deep Forest'								// 6		
		, 'Beaches');								// 7

activities = new Array('Biking'	// 0
		,'Climbing'				// 1		
		,'Paddling'				// 2
		,'Mountaineering'		// 3
		,'Water Sports'			// 4
		,'Wildlife Watching'	// 5
		,'Fishing'				// 6
		,'Canyoneering'			// 7
		,'Snow Sports'			// 8
		,'Scenic Driving'		// 9
		,'Guided Tours'			// 10
		,'Fossil/Artifacts'		// 11
		,'Horseback Riding'		// 12
		,'Stargazing'			// 13
		,'Unique Flora'			// 14
		,'Remote Backcountry'); // 15

var acadia = new Array(0, 2, 10);
var arches = new Array(0, 9, 10);
var badlands = new Array(11,13,10);
var bigbend = new Array(11, 5, 2, 15);
var biscayne = new Array(4, 6, 2);
var blackcanyon = new Array(1, 9, 2);
	
var park_activities = new Array(acadia, arches, badlands, bigbend, biscayne, blackcanyon);

var parks = new Array('Acadia', 'Arches', 'Badlands', 'Big Bend', 'Biscayne', 'Black Canyon');


/* Switching Criteria */

function changeRegionType() {
	var text = '';
	var rt = document.getElementById('rt').value;
		
	if (type_xml.readyState != 4) return false;
	if (type_xml.status != 200) return false;
	//var text = type_xml.responseText;
	//if (!text) return false;
	
	var fo = new Array();
	
	for (var h=0; h<features.length; h++)
		fo[fo.length] = '<input type="checkbox" name="ft[]" value="' + (h + 1) + '" onChange="setFeatureType();">' + features[h] +'<br>'
	
	if ((rt) && (rt != 0)) text = '<h3>Feature / Ecosystem</h3>';
	
	switch (rt){
		case "1":{ //East
			text += fo[0] + fo[2] + fo[3] + fo[5] + fo[6] + fo[7];
			break;
		}
		case "2":{ //SE
			text += fo[2] + fo[4] + fo[5];
			break;
		}
		case "3":{	//Midwest
			text += fo[1] + fo[2] + fo[4] + fo[5] + fo[6];
			break;
		}
		case "4":{ //SW
			text += fo[0] + fo[1] + fo[5];
			break;
		}
		case "5":{ //California / Nevanda / Hawaii 
			text += fo[0] + fo[1] + fo[2] + fo[3] + fo[5] + fo[6] + fo[7];
			break;
		}
		case "6":{ //Rockies
			text += fo[0] + fo[1] + fo[3] + fo[6];
			break;
		}
		case "7":{ //Alaska
			text += fo[0] + fo[2] + fo[3] + fo[5] + fo[6] + fo[7];
			break;
		}
		case "8":{ //North West
			text += fo[0] + fo[2] + fo[3] + fo[6] + fo[7];
			break;
		}
		case "9":{//Offshore
			text += fo[2] + fo[5] + fo[6] + fo[7];
			break;
		}
	}
	
	document.getElementById('feature').innerHTML = text;
	document.getElementById('activity').innerHTML = "";
}

function changeFeatureType() {
	var text = '';
	var ft = document.getElementsByName('ft[]');
		
	if (type_xml.readyState != 4) return false;
	if (type_xml.status != 200) return false;
	var text = type_xml.responseText;
	if (!text) return false;
	
	var OneChecked = false;
	
	for(i=0;i<ft.length;i++)
   		if(ft[i].checked)
    		OneChecked = true;    
	
	/*if (OneChecked){
		text += '<br><h3>Activities</h3>';
		for (var h=0; h<16; h++)
			text += '<input type="checkbox" name="at[]" value="' + h + '" onChange="loadResults();">' + activities[h] + '<br>' ;
	}*/
		
	document.getElementById('activity').innerHTML = text;
}

/* Searching and Getting Results */


function displayResults() {
	
	if (results_xml.readyState != 4) return false;
	if (results_xml.status != 200) return false;
	var text = results_xml.responseText;
	if (!text) return false;
	
	
	document.getElementById('park_results').innerHTML = text;
	document.getElementById('please_wait').style.visibility = 'hidden';
}

function extracode() {
	var at = document.getElementsByName('at[]');
	var output = new Array();	
	var addPark = false;
	var text = "";
	
	for (var h=0; h<park_activities.length; h++){
		addPark = false
		for (var i=0; i<park_activities[h].length; i++){			
			for(j=0;j<at.length;j++){
   				if(at[j].checked && (j == park_activities[h][i]))   				
   					addPark = true;
    		}
		}
		if(addPark){
			var index = output.length;
			output[index] = '<tr>'
				+'<td algin="left"><strong>' +parks[h]+'</strong></td>'
				+'<td align="right" width="295px"><img src="" width="295px" height="90px"></td>'
				+'<td></tr>';
		}
	}	
	
	text = output.length + ' of ' + parks.length + ' Parks found.'
		+'<br/>'
		+'<table width="445" cellspacing="0" cellpadding="3" border="0">'
		+'<tbody>'
		
	for(h=0; h<output.length; h++)
		text += output[h];
		
	text += '</tbody></table>';
}

/* Functions called by the page */

function setRegionType() {
	var rt = document.getElementById('rt').value;
	type_xml = makeXMLRequest('/park_finder/', 'action=custom&bp=pf_types&rt='+rt, changeRegionType);
	loadResults();
}

function setFeatureType() {
	var rt = document.getElementById('rt').value;
	var ft = document.getElementsByName('ft[]');
	var fet = "";
	for(j=0;j<ft.length;j++){
   		if(ft[j].checked) {			
   			if (fet != "") fet += ', ';
   			fet += ft[j].value;
   		}
   	}
	type_xml = makeXMLRequest('/park_finder/', 'action=custom&bp=pf_activities&rt='+rt+'&ft='+fet, changeFeatureType);
	//document.getElementById('activity').innerHTML = "x: " + act;
	loadResults();
}

function loadResults() {
	var rt = document.getElementById('rt').value;	
	var ft = document.getElementsByName('ft[]');
	var at = document.getElementsByName('at[]');
	var act = "";
	for(j=0;j<at.length;j++){
   		if(at[j].checked) {			
   			if (act != "") act += ', ';
   			act += at[j].value;
   		}
   	}
   	var fea = "";
	for(j=0;j<ft.length;j++){
   		if(ft[j].checked) {			
   			if (fea != "") fea += ', ';
   			fea += ft[j].value;
   		}
   	}
	document.getElementById('please_wait').style.visibility = 'visible';

	//alert('params == '+params);
	
	results_xml = makeXMLRequest('/park_finder/', 'action=custom&bp=pf_results&rt='+rt+'&ft='+fea+'&at='+act, displayResults);	
}
