/*
	Steps to gettgin Time & Talent
	1) Get Home address and Primary Contact
	2) Get 0-? other family members
	3) Get Interests
	4) Submit form
*/
var person_count = 0;
var people = Array();

var relations = Array('Child', 'Spouse', 'Parent', 'Great Grandparent',
											'Sibling', 'Grandchild', 'Grandparent',
											'Great Grandparent','Other');

function set_address() {
	var req = Array('street1', 'city', 'state', 'fname', 'lname', 
											 'pphone', 'email',	'gender', 'dob');
	var req_name = Array('Address', 'City', 'State', 'First Name', 'Last Name', 
											 'Primary Phone', 'Email',	'Gender', 'DOB');
	var msg = '';
	for(var i = 0; i < req.length; i++){
		if(!FRL_has_value(document.getElementById(req[i]))) {
			msg += '  - ' + req_name[i] + "\n";
		}
	}
	if (msg != ''){
		alert('One or more required field is blank:' + "\n" + msg);
		return false;
	}
	
	var addr = document.getElementById('street1').value;
	if(FRL_has_value(document.getElementById('apt'))) {
		addr += ' Atp ' + document.getElementById('apt').value + "<br />\n";
	}
	else {
		addr += "<br />\n";
	}
	if(FRL_has_value(document.getElementById('street2'))) {
		addr += document.getElementById('street2').value + "<br />\n";
	}
	addr += document.getElementById('city').value + ',' +
	        document.getElementById('state').value + "<br />\n"
					document.getElementById('zip').value;
					
	document.getElementById('show_address').innerHTML = addr;
	
	var who = document.getElementById('salutation').value + ' ' +
            document.getElementById('fname').value + ' ' +
            document.getElementById('mname').value + ' ' +
            document.getElementById('lname').value;

	document.getElementById('show_pri_contact').innerHTML = who;

	add_fam();
	
	FRL_append_class(document.getElementById('get_home_address'), 'FRL_hide_me');
	FRL_append_class(document.getElementById('addr_cont'), 'FRL_hide_me');
	FRL_append_class(document.getElementById('addr_cont'), 'FRL_hide_me');
	FRL_append_class(document.getElementById('contact_section'), 'FRL_hide_me');
	
	FRL_append_class(document.getElementById('enter_fam_title'), 'section_head');
	FRL_strip_class(document.getElementById('enter_fam_title'), 'FRL_hide_me');
	
	FRL_strip_class(document.getElementById('relation_section'), 'FRL_hide_me');
	FRL_strip_class(document.getElementById('contacts_container'), 'FRL_hide_me');
	FRL_strip_class(document.getElementById('school_entry'), 'FRL_hide_me');
	FRL_strip_class(document.getElementById('add_fam_member'), 'FRL_hide_me');
	FRL_strip_class(document.getElementById('fam_cont'), 'FRL_hide_me');
	return true;
}

function add_fam() {
	var req = Array('fname', 'lname', 'gender', 'dob' );
	var req_name = Array('First Name', 'Last Name','Gender', 'DOB');
	if (person_count != 0) {
		req.push('relation');
		req_name.push('Relationship');
	}
	var msg = '';
	for(var i = 0; i < req.length; i++){
		if(!FRL_has_value(document.getElementById(req[i]))) {
			msg += '  - ' + req_name[i] + "\n";
		}
	}
	if (msg != ''){
		alert('One or more required field is blank:' + "\n" + msg);
		return false;
	}
	if (msg != ''){
		alert('One or more required field is blank:' + "\n" + msg);
		return false;
	}


	var who = person_count + '::' +
            document.getElementById('salutation').value + '::' +
            document.getElementById('fname').value + '::' +
            document.getElementById('mname').value + '::' +
            document.getElementById('lname').value + '::' +
            document.getElementById('suffix').value + '::' +
            document.getElementById('dob').value + '::' +
            document.getElementById('pphone').value + '::' +
            document.getElementById('sphone').value + '::' +
            document.getElementById('email').value + '::' +
            document.getElementById('occupation').value + '::' +
            document.getElementById('position').value + '::' +
            document.getElementById('employer').value + '::' +
            document.getElementById('school').value + '::' +
            document.getElementById('school_year').value+ '::' +
            document.getElementById('relation').value;
								
	var per = document.createElement('input');
	per.setAttribute('type', 'hidden');
	per.setAttribute('id', 'person_' + person_count);
	per.setAttribute('name', 'person[]');
	per.setAttribute('value', who);
	document.getElementById('ttt_entry_frm').appendChild(per);

	who = document.getElementById('fname').value + ' ' +
				document.getElementById('mname').value + ' ' +
				document.getElementById('lname').value;
	
	var gen = document.getElementById('gender').checked ? 'M' : 'F';
	var age = get_years(document.getElementById('dob').value);
	var school_year = FRL_has_value(document.getElementById('school_year')) ?
										document.getElementById('school_year') :
										'';

	people[people.length] = Array(who, gen, age, school_year);


	if (person_count > 0) {
		var tbody = document.getElementById('contacts');
		var tr    = document.createElement('TR');

		var td    = document.createElement('TD');
		td.innerHTML += document.getElementById('salutation').value + ' ' + who;
		tr.appendChild(td);

		td = document.createElement('TD');
		td.innerHTML += document.getElementById('relation').value;
		tr.appendChild(td);

		tbody.appendChild(tr);
		FRL_strip_class(document.getElementById('contact_table_title'), 'FRL_hide_me');
		FRL_append_class(document.getElementById('contact_table_title'), 'section_head');
		FRL_strip_class(document.getElementById('contact_table'), 'FRL_hide_me');
		
	}

	
	document.getElementById('salutation').value = '';
	document.getElementById('suffix').value = '';
	document.getElementById('fname').value = '';
	document.getElementById('mname').value = '';
	document.getElementById('dob').value = '';
	document.getElementById('occupation').value = '';
	document.getElementById('position').value = '';
	document.getElementById('employer').value = '';
  document.getElementById('school').value = '';
  document.getElementById('school_year').value = '';
  document.getElementById('relation').value = '';
	person_count++;
	document.getElementById('fname').focus();
	return true;
}

function save_fam() {
	if(document.getElementById('fname').value) {
			if(!confirm("You have not saved the entry for: " + document.getElementById('fname').value +
								 "\n\nSelect 'OK' to throw away the entry for: " + document.getElementById('fname').value +
								 "\nSelect 'Cancel' to return to the form and save the entry.")) {
				return false;
			}
	}
	FRL_strip_class(document.getElementById('enter_fam_title'), 'section_head');
	FRL_append_class(document.getElementById('enter_fam_title'), 'FRL_hide_me');
	FRL_append_class(document.getElementById('add_fam_member'), 'FRL_hide_me');
	FRL_append_class(document.getElementById('get_contacts'), 'FRL_hide_me');
	
	var table = document.createElement('TABLE');
	table.setAttribute('id', 'org_table');
	table.setAttribute('cellspacing', '0');
	table.setAttribute('cellpadding', '0');

	var tbody = document.createElement('TBODY');
	for (var section in organizations) {
		var tr = document.createElement('TR');
		var th = document.createElement('TH');
		th.setAttribute('class', 'org_section');
		th.innerHTML = section;
		tr.appendChild(th);

		for(var i = 0; i < people.length; i++) {
			var th = document.createElement('TH');
			th.innerHTML = people[i][0];
			th.setAttribute('class', 'people_head');
			tr.appendChild(th);
		}


		tbody.appendChild(tr);
		for (var org in organizations[section]) {
			var can_count = 0;
			var tr = document.createElement('TR');
			var td = document.createElement('TD');
			var vir = organizations[section][org]['VIRITUS'] == 'Yes' ? '<span class="ttt_vir">(Virtus Required)</span>': '';
			td.innerHTML = '<p class="org_name">' + org + vir + '</p><p class="org_desc">' + organizations[section][org]['BRIEF_DESCRIPTION'] + '</p>';
			tr.appendChild(td);
			for(var i = 0; i < people.length; i++) {
				var td = document.createElement('TD');
				if(can_do(people[i], organizations[section][org])) {
					can_count++;
					td.setAttribute('class', 'org_chk');
					td.innerHTML = '<input type="checkbox" name="org[]" value="' + i + '::' + organizations[section][org]['CODE']+ '::' + org +'" />';
				}
				else {
					td.innerHTML = '&nbsp;';
				}
				tr.appendChild(td);
			}
			if(can_count > 0) {
				tbody.appendChild(tr);
			}
		}
	}
	table.appendChild(tbody);
	document.getElementById('org_entry').appendChild(table);
	var inpt = document.createElement('P');
	inpt.innerHTML = '<input type="submit" value="Submit Time Talent &amp; Treasure" />';
	document.getElementById('org_entry').appendChild(inpt);
	
	FRL_strip_class(document.getElementById('org_entry'), 'FRL_hide_me');
}

function can_do (p, o){
	if(!o['MEN'] && p[1] == 'M') {
		return false;
	}
	if(!o['WOMEN'] && p[1] == 'F') {
		return false;
	}
	if(o['AGE_MIN'] > 0 && p[2] < o['AGE_MIN']) {
		return false;
	}
	if(o['AGE_MAX'] > 0 && p[2] > o['AGE_MAX']) {
		return false;
	}
	if(o['SCHOOL_MIN'] > 0 && p[3] < o['SCHOOL_MIN']) {
		return false;
	}
	if(o['SCHOOL_MAX'] > 0 && p[3] > o['SCHOOL_MAX']) {
		return false;
	}
	
	
	return true;
}
function get_years(dob) {
		var ndob = new Date(dob.substring(0,4),
                       dob.substring(5,7)-1,
                       dob.substring(9,10));
	  var now = new Date();
		return 1 + now.getYear() - ndob.getYear();
}
