<?

/*
 * This file is part of the 'Science Fair In A Box' project
 * SFIAB Website: http://www.sfiab.ca
 *
 * Copyright (C) 2005 Sci-Tech Ontario Inc <info@scitechontario.org>
 * Copyright (C) 2008 James Grant <james@lightbox.org>
 *
 * This program is free software; you can redistribute it and/or
 * modify it under the terms of the GNU General Public
 * License as published by the Free Software Foundation, version 2.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 * 	General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; see the file COPYING.  If not, write to
 * the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 * Boston, MA 02111-1307, USA.
 */
?>
<?
require ('../common.inc.php');
require_once ('../user.inc.php');
user_auth_required('committee', 'admin');
require_once ('fundraising_common.inc.php');

global $pdo;

switch (get_value_from_array($_GET, 'action')) {
	case 'organizationinfo_load':
		$id = intval($_GET['id']);
		$q = $pdo->prepare('SELECT * FROM sponsors WHERE id=?');
		$q->execute([$id]);
		$ret = $q->fetch(PDO::FETCH_ASSOC);
		echo json_encode($ret);
		exit;
		break;

	case 'organizationinfo_save':
		$id = intval($_POST['sponsor_id']);

		if ($id == -1) {
			$q = $pdo->prepare('INSERT INTO sponsors (year) VALUES (?)');
			$q->execute([$config['FAIRYEAR']]);
			$id = $pdo->lastInsertId();
			echo json_encode(array('id' => $id));
			save_activityinfo('Created donor/sponsor', $id, $_SESSION['users_uid'], 'System');
			$createnew = true;
		} else
			$createnew = false;
		if ($id) {
			if ($_POST['fundingselectiondate'] == '') {
				$_POST['fundingselectiondate'] = '0000-00-00';
			}

			if ($_POST['proposalsubmissiondate'] == '') {
				$_POST['proposalsubmissiondate'] = '0000-00-00';
			}

			if (!$_POST['waiveraccepted']) {
				$_POST['waiveraccepted'] = 'no';
			}

			$exec = 'UPDATE sponsors SET '
				. 'donortype=?, '
				. 'organization=?, '
				. 'address=?, '
				. 'address2=?, '
				. 'city=?, '
				. 'province_code=?, '
				. 'postalcode=?, '
				. 'phone=?, '
				. 'tollfree=?, '
				. 'fax=?, '
				. 'email=?, '
				. 'website=?, '
				. 'notes=?, '
				. 'donationpolicyurl=?, '
				. 'fundingselectiondate=?, '
				. 'proposalsubmissiondate=?, '
				. 'waiveraccepted=? '
				. 'WHERE id=?';
			$q = $pdo->prepare($exec);
			$q->execute([stripslashes($_POST['donortype']), stripslashes($_POST['organization']), stripslashes($_POST['address']),
				stripslashes($_POST['address2']), stripslashes($_POST['city']), stripslashes($_POST['province_code']),
				stripslashes($_POST['postalcode']), stripslashes($_POST['phone']), stripslashes($_POST['tollfree']),
				stripslashes($_POST['fax']), stripslashes($_POST['email']), stripslashes($_POST['website']),
				stripslashes($_POST['notes']), stripslashes($_POST['donationpolicyurl']), stripslashes($_POST['fundingselectiondate']),
				stripslashes($_POST['proposalsubmissiondate']), stripslashes($_POST['waiveraccepted']), $id]);
			show_pdo_errors_if_any($pdo);

			// FIXME accept the logo
			// "logo='".mysql_escape_string(stripslashes($_POST['logo']))."', ".
			// ($comment , $donorId, $userId, $type, $campaign_id=null){
			if (!$createnew) {
				save_activityinfo('Updated donor/sponsor details', $id, $_SESSION['users_uid'], 'System');
				happy_('Donor/Sponsor Details saved');
			}
		}
		exit;
		break;

	case 'sponsorshipinfo_load':
		$id = intval($_GET['id']);
		echo '<h4>' . i18n('Summary') . "</h4>\n";
		echo "<table cellspacing=3 cellpadding=3>\n";

		// LAST DONATION
		$q = $pdo->prepare('SELECT * FROM fundraising_donations WHERE sponsors_id=? ORDER BY datereceived DESC LIMIT 1');
		$q->execute([$id]);
		if ($r = $q->fetch(PDO::FETCH_OBJ))
			$lastdonation = i18n('%1 on %2', array(format_money($r->value, false), format_date($r->datereceived)), array('Donation amount', 'Donation date'));
		else
			$lastdonation = i18n('Never');

		// TOTAL THIS YEAR
		$q = $pdo->prepare("SELECT SUM(value) AS total FROM fundraising_donations 
				WHERE sponsors_id=? 
				AND status='received'
				AND fiscalyear=? 
				");
		$q->execute([$id, $config['FISCALYEAR']]);
		if ($r = $q->fetch(PDO::FETCH_OBJ))
			$totalthisyear = format_money($r->total, false);
		else
			$totalthisyear = format_money(0);

		// TOTAL LAST YEAR
		$lastyear = $config['FISCALYEAR'] - 1;
		$q = $pdo->prepare("SELECT SUM(value) AS total FROM fundraising_donations 
				WHERE sponsors_id=? 
				AND status='received'
				AND fiscalyear=?
				");
		$q->execute([$id, $lastyear]);

		if ($r = $q->fetch(PDO::FETCH_OBJ))
			$totallastyear = format_money($r->total, false);
		else
			$totallastyear = format_money(0);

		// OUTPUT
		echo '<tr><td>' . i18n('Last Donation') . "</td><td>$lastdonation</td></tr>\n";
		echo '<tr><td>' . i18n('Total This Year') . "</td><td>$totalthisyear</td></tr>\n";
		echo '<tr><td>' . i18n('Total Last Year') . "</td><td>$totallastyear</td></tr>\n";
		echo "</table>\n";

		echo "<br />\n";
		echo '<h4>' . i18n('Donations/Sponsorships') . "</h4>\n";
		echo '<div id="thisyeardonationhistory">';
		$q = $pdo->prepare("SELECT fundraising_donations.*, 
				fundraising_campaigns.name AS campaignname 
				FROM fundraising_donations 
				LEFT JOIN fundraising_campaigns ON fundraising_donations.fundraising_campaigns_id=fundraising_campaigns.id 
				WHERE sponsors_id=? 
				AND status='received' 
				AND fundraising_donations.fiscalyear=? 
				ORDER BY datereceived DESC");
		$q->execute([$id, $config['FISCALYEAR']]);
		show_pdo_errors_if_any($pdo);

		if ($q->rowCount()) {
			echo '<table class="tableview">';
			echo '<thead>';
			echo '<tr>';
			echo ' <th>' . i18n('Date') . "</th>\n";
			echo ' <th>' . i18n('Purpose') . "</th>\n";
			echo ' <th>' . i18n('Appeal') . "</th>\n";
			echo ' <th>' . i18n('Value') . "</th>\n";
			echo ' <th>' . i18n('Remove') . "</th>\n";
			echo '</tr>';
			echo '</thead>';
			while ($r = $q->fetch(PDO::FETCH_OBJ)) {
				echo "<tr>\n";
				echo ' <td>' . format_date($r->datereceived) . "</td>\n";
				$goal = getGoal($r->fundraising_goal);
				echo " <td>$goal->name</td>";
				echo " <td>$r->campaignname</td>";
				echo ' <td>' . format_money($r->value, false) . '</td>';
				echo ' <td align="center">';
				echo "<a onclick=\"return removedonation($r->id,$id)\" href=\"#\"><img border=0 src=\"" . $config['SFIABDIRECTORY'] . '/images/16/button_cancel.' . $config['icon_extension'] . '"></a>';
				echo ' </td>';
				echo "</tr>\n";
			}
			echo "</table>\n";
		} else {
			echo i18n('No donations this year') . '<br />';
		}

		echo '<a href="#" onclick="return togglefulldonationhistory()" id="fullhistorylink">' . i18n('View full donation history') . '</a>';
		echo '</div>';
		echo '<div id="fulldonationhistory" style="display: none;">';
		echo '<a href="#" onclick="return togglefulldonationhistory()" id="fullhistorylink">' . i18n("View this year's donation history") . '</a>';
		echo '<table class="tableview">';
		echo '<thead>';
		echo '<tr>';
		echo ' <th>' . i18n('Date') . "</th>\n";
		echo ' <th>' . i18n('Purpose') . "</th>\n";
		echo ' <th>' . i18n('Appeal') . "</th>\n";
		echo ' <th>' . i18n('Value') . "</th>\n";
		echo ' <th>' . i18n('Remove') . "</th>\n";
		echo '</tr>';
		echo '</thead>';

		$q = $pdo->prepare("SELECT fundraising_donations.*, 
				fundraising_campaigns.name AS campaignname 
				FROM fundraising_donations 
				LEFT JOIN fundraising_campaigns ON fundraising_donations.fundraising_campaigns_id=fundraising_campaigns.id 
				WHERE sponsors_id=? 
					AND status='received' 
				ORDER BY datereceived DESC");
		$q->execute([$id]);

		while ($r = $q->fetch(PDO::FETCH_OBJ)) {
			echo "<tr>\n";
			echo ' <td>' . format_date($r->datereceived) . "</td>\n";
			$goal = getGoal($r->fundraising_goal);
			echo " <td>$goal->name</td>";
			echo " <td>$r->campaignname</td>";
			echo ' <td>' . format_money($r->value, false) . '</td>';
			echo ' <td align="center">';
			echo "<a onclick=\"return removedonation($r->id,$id)\" href=\"#\"><img border=0 src=\"" . $config['SFIABDIRECTORY'] . '/images/16/button_cancel.' . $config['icon_extension'] . '"></a>';
			echo ' </td>';
			echo "</tr>\n";
		}
		echo "</table>\n";

		echo "</div>\n";
		echo "<br />\n";
		echo '<h4>' . i18n('Add New Donation/Sponsorship') . "</h4>\n";

		echo '<form id="addnewdonationform" onsubmit="return adddonation()">';
		echo "<input type=\"hidden\" name=\"sponsors_id\" value=\"$id\" />\n";
		echo '<table cellspacing=3 cellpadding=3>';
		echo '<tr><td>';
		echo i18n('Appeal') . ':';
		echo '</td><td>';

		// loop through each contact in the donor
		$query = $pdo->prepare("SELECT users.id,users.uid,users.deleted,MAX(year) 
				FROM users 
				LEFT JOIN users_sponsor ON users_sponsor.users_id=users.id
				WHERE 
				sponsors_id=? 
				AND types LIKE '%sponsor%'
				GROUP BY uid
				HAVING deleted='no' 
				ORDER BY users_sponsor.primary DESC,lastname,firstname
			");
		$query->execute([$id]);
		show_pdo_errors_if_any($pdo);
		$uids = array();
		while ($r = $query->fetch(PDO::FETCH_OBJ)) {
			$uids[] = $r->uid;
		}

		$q = $pdo->prepare('SELECT * FROM fundraising_campaigns
				WHERE fiscalyear=? 
				ORDER BY name');
		$q->execute([$config['FISCALYEAR']]);
		$str = '';
		echo '<select id="fundraising_campaign_id" name="fundraising_campaigns_id" onchange="campaignchange()">';
		echo '<option value="">' . i18n('Choose an appeal') . "</option>\n";
		while ($r = $q->fetch(PDO::FETCH_OBJ)) {
			// if there's uids, we can check if this sponsor is in the campaign
			// if there's no uids, (aka no contacts) then there's no way we could have included them in a cmomunication
			// but they could still get here fors ome reason, so we still need to show all the campaigns

			if (count($uids)) {
				$tq = $pdo->prepare('SELECT * FROM fundraising_campaigns_users_link
						WHERE fundraising_campaigns_id=?
						AND users_uid IN (' . implode(',', $uids) . ')
						');
				$tq->execute([$r->id]);
				if ($tq->rowCount()) {
					$incampaign = i18n('*In Appeal*') . ': ';
				} else
					$incampaign = '';
			} else
				$incampaign = '';

			echo "<option value=\"$r->id\">{$incampaign}{$r->name}</option>\n";
			$str .= "defaultgoals[$r->id]='$r->fundraising_goal';\n";
		}
		echo '<option value="">' . i18n('Other/No Appeal') . "</option>\n";
		echo "</select>\n";
		echo "</td></tr>\n";

		echo '<tr><td>';
		echo i18n('Purpose') . ':';
		echo '</td><td>';
		echo '<script type="text/javascript">';
		echo " var defaultgoals=Array();\n";
		echo $str;
		echo "</script>\n";
		echo '<select id="fundraising_goal" name="fundraising_goal">';
		echo '<option value="">' . i18n('Choose a purpose') . "</option>\n";
		// FIXME: only show campaigns that they were included as part of
		// we need a campaigns_users_link or campaigns_sponsors_link or something
		$q = $pdo->prepare('SELECT * FROM fundraising_goals WHERE fiscalyear=? ORDER BY name');
		$q->execute([$config['FISCALYEAR']]);
		while ($r = $q->fetch(PDO::FETCH_OBJ)) {
			echo "<option value=\"$r->goal\">$r->name</option>\n";
		}

		echo "</select>\n";
		echo "</td></tr>\n";

		echo '<tr><td>' . i18n('Date Received') . ':</td><td><input type="text" class="date" name="datereceived" value="' . date('Y-m-d') . "\"></td></tr>\n";
		echo '<tr><td>' . i18n('Amount') . ":</td><td>\$<input type=\"text\" size=\"10\" name=\"value\"></td></tr>\n";
		echo '<tr><td>' . i18n('Type of Support') . ':</td><td>';
		$supporttypes = array('Gift - no receipt');
		if ($config['registered_charity'])
			$supporttypes[] = 'Donation - with receipt';
		$supporttypes[] = 'Sponsorship';
		echo "<select name=\"supporttype\">\n";
		echo "<option value=\"\">Choose type of support</option>\n";
		foreach ($supporttypes as $st) {
			echo "<option value=\"$st\">" . i18n($st) . "</option>\n";
		}
		echo "</select>\n";
		echo "</td></tr>\n";

		/*
		 * echo "<tr><td></td><td>";
		 * echo "<a href=\"#\" onclick=\"return false;\">".i18n("Generate Thank You")."</a></td>";
		 * echo "</tr>\n";
		 */
		echo '<tr><td colspan="2" style="text-align: center;"><input type="submit" value="' . i18n('Add donation/sponsorship') . "\" /></td></tr>\n";
		echo "</table>\n";
		echo "</form>\n";

		exit;
		break;

	case 'contactsinfo_load':
		// make sure a donor id has been selected
		if ($_GET['id']) {
			draw_contactsinfo_form();
		}
		exit;
		break;

	case 'contactsinfo_save':
		save_contact();
		exit;
		break;
	case 'contactsinfo_delete':
		delete_contact();
		exit;
		break;
	case 'contactsinfo_addexisting':
		addexisting_contact();
		exit;
		break;
	case 'activityinfo_load':
		// make sure a donor id has been selected
		if ($_GET['id']) {
			draw_activityinfo_form();
		}
		exit;
		break;
	case 'activityinfo_save':
		// ($comment , $donorId, $userId, $type, $campaign_id=null){
		if (save_activityinfo(
			$_POST['comment'],
			$_GET['id'],
			$_SESSION['users_uid'],
			$_POST['type'],
			$_POST['fundraising_campaigns_id']
		)) {
			happy_('Activity Logged');
		} else {
			error_('Unable to save activity log');
		}
		exit;
		break;

	case 'newcontactsearch':
		if ($_POST['email']) {
			$q = $pdo->prepare("SELECT *,MAX(year) FROM users WHERE email=? GROUP BY uid HAVING deleted='no'");
			$q->execute([trim($_POST['email'])]);
		}

		if ($r = $q->fetch(PDO::FETCH_OBJ)) {
			echo i18n('There is an exact email address match for %1', array($_POST['email']));
			echo '<ul>';
			echo "<li><a href=\"#\" onclick=\"useexistingcontact($r->uid)\">$r->firstname $r->lastname $r->email $r->phonehome</a></li>\n";
			echo '</ul>';

			?>
			<script type="text/javascript">
				$("#contactnewsave").attr("disabled", "disabled");
			</script>
		<?
		} else {
			?>
			<script type="text/javascript">
				$("#contactnewsave").attr("disabled", "");
			</script>
	<?

			$searchstr = '1 ';
			if ($_POST['firstname'])
				$searchstr .= " AND firstname LIKE '%" . $_POST['firstname'] . "%'";
			if ($_POST['lastname'])
				$searchstr .= " AND lastname LIKE '%" . $_POST['lastname'] . "%'";
			if ($_POST['email'])
				$searchstr .= " AND email LIKE '%" . $_POST['email'] . "%'";

			$q = $pdo->prepare("SELECT *,MAX(year) FROM users WHERE '$searchstr' GROUP BY uid HAVING deleted='no'");
			$q->execute();
			$num = $q->rowCount();
			if ($num == 0) {
				echo i18n('No existing users match, will create a new user');
			} else if ($num < 15) {
				echo i18n('Did you mean one of these existing users? (click to choose one)') . '<br />';
				echo '<ul>';
				while ($r = $q->fetch(PDO::FETCH_OBJ)) {
					echo "<li><a href=\"#\" onclick=\"useexistingcontact($r->uid)\">$r->firstname $r->lastname $r->email $r->phonehome</a></li>\n";
				}
				echo '</ul>';
			} else {
				echo i18n('There are %1 existing users that match, please enter more details', array($num));
			}
		}
		echo '<br />';
		exit;
		break;
	case 'donation_add':
		$campaignid = intval($_POST['fundraising_campaigns_id']);
		$sponsorid = intval($_POST['sponsors_id']);
		$goal = $_POST['fundraising_goal'];
		$value = intval($_POST['value']);
		$supporttype = $_POST['supporttype'];
		$datereceived = $_POST['datereceived'];

		if ($goal && $value && $supporttype) {
			$q = $pdo->prepare("INSERT INTO fundraising_donations (sponsors_id,fundraising_goal,fundraising_campaigns_id,value,status,probability,fiscalyear,thanked,datereceived,supporttype) VALUES (
			?,
			?,
			?,
			?,
			'received',
			'100',
			?,
			'no',
			?,
			?
			)");
			$q->execute([$sponsorid, $goal, $campaignid, $value, $config['FISCALYEAR'], $datereceived, $supporttype]);
			$id = $pdo->lastInsertId();
			$logStr = getDonationString($id);
			save_activityinfo("Added donation/sponsorship: $logStr", $sponsorid, $_SESSION['users_uid'], 'System');
			show_pdo_errors_if_any($pdo);

			happy_('Donation/sponsorship added');
		} else {
			error_('All fields are required');
		}

		exit;
		break;
	case 'donation_remove':
		// function save_activityinfo($comment, $donorId, $userId, $type, $campaign_id=null){
		$id = intval($_POST['id']);
		$sponsorid = intval($_POST['sponsors_id']);
		if ($logStr = getDonationString($id)) {
			save_activityinfo("Removed donation/sponsorship: $logStr", $sponsorid, $_SESSION['users_uid'], 'System');
			happy_('Donation/sponsorship removed');
			$q = $pdo->prepare('DELETE FROM fundraising_donations WHERE id=? AND sponsors_id=?');
			$q->execute([$id, $sponsorid]);
			show_pdo_errors_if_any($pdo);
		} else {
			error_('Invalid donation/sponsorship to remove');
		}
		exit;
		break;
}

send_header(
	'Donor/Sponsor Management',
	array(
		'Committee Main' => 'committee_main.php',
		'Administration' => 'admin/index.php',
		'Fundraising' => 'admin/fundraising.php'
	)
);

// delete the contact who has been submitted in _POST
function delete_contact()
{
	global $pdo;
	if (array_key_exists('userid', $_POST)) {
		$uid = $_POST['userid'];
		$data = $pdo->prepare("SELECT CONCAT_WS(' ', users.firstname, users.lastname) AS name FROM users WHERE id=?");
		$data->execute([$uid]);
		$namedata = $data->fetch();
		$name = trim($namedata['name']);
		user_delete($uid, 'sponsor');
		happy_('Deleted contact %1', array($name));

		// ($comment , $donorId, $userId, $type, $campaign_id=null){
		save_activityinfo("Deleted contact \"$name\"", $_GET['id'], $_SESSION['users_uid'], 'System');
	}
}

function addexisting_contact()
{
	$uid = intval($_POST['uid']);
	$sponsors_id = intval($_POST['id']);
	echo "Linking uid=$uid to sponsors_id=$sponsors_id <br />";

	$u = [];

	echo "uid $uid has users.id {$u['id']}";

	$u = user_load_by_uid($uid);
	$u['sponsors_id'] = $sponsors_id;
	$u['types'][] = 'sponsor';
	user_save($u);

	save_activityinfo('Existing user (' . $u['firstname'] . ' ' . $u['lastname'] . ') linked to donor/sponsor', $sponsors_id, $_SESSION['users_uid'], 'System');
	happy_('Added existing user to donor/sponsor');
}

// save the contact info
function save_contact()
{
	global $config, $pdo;
	// happy_("happy!");
	if (validate_contactdata()) {
		// load or create the user, according to the situation
		if ($_POST['recordtype'] == 'new') {
			if ($_POST['email']) {
				$q = $pdo->prepare("SELECT *,MAX(year) FROM users WHERE email=? GROUP BY uid HAVING deleted='no'");
				$q->execute([trim($_POST['email'])]);
				if ($q->rowCount()) {
					error_('A user with that email address already exists');
					exit;
				}
			}

			// this is a new record being submitted.  Create the user.
			$successMessage = 'Contact created successfully';
			$successLog = 'Added contact ';
			$u = user_create('sponsor', $_POST['email']);
			$id = $u['id'];
		} else if ($_POST['recordtype'] == 'existing') {
			// this is an existing record being updated.  Load the user.
			$successMessage = 'Contact updated successfully';
			$successLog = 'Updated contact ';

			$u = user_load($_POST['userid']);
			$id = intval($_POST['userid']);
		}

		$sponsor_id = $_POST['sponsor_id'];
		$p = ($_POST['primary'] == 'yes') ? 'yes' : 'no';
		if ($p == 'no') {
			/* Make sure this sponsor ($sponsor_id) has a primary */
			$query = "SELECT users_id 
				FROM users_sponsor, users 
				WHERE
				users_sponsor.users_id=users.id
				AND sponsors_id=?
				AND `primary`='yes'
				AND year=?
				AND users_id!=?";
			$q = $pdo->prepare($query);
			$q->execute([$sponsor_id, $config['FAIRYEAR'], $id]);
			if ($q->rowCount() == 0) {
				/* This has to be the primary since there isn't one already */
				$p = 'yes';
			}
		} else {
			/* Unset all other primaries */
			$q = $pdo->prepare("UPDATE users_sponsor SET `primary`='no'
					WHERE sponsors_id=? AND users_id !=?");
			$q->execute([$sponsor_id, $id]);
		}

		// we now know whether or not they're the primary user.  Update them with that,
		// along with all of the user info that's been submitted.
		$u['primary'] = $p;
		$u['salutation'] = $_POST['salutation'];
		$u['firstname'] = $_POST['firstname'];
		$u['lastname'] = $_POST['lastname'];
		$u['position'] = $_POST['position'];
		$u['phonework'] = $_POST['phonework'];
		$u['phonecell'] = $_POST['phonecell'];
		$u['phonehome'] = $_POST['phonehome'];
		$u['address'] = $_POST['address'];
		$u['address2'] = $_POST['address2'];
		$u['city'] = $_POST['city'];
		$u['postalcode'] = $_POST['postalcode'];
		$u['province'] = $_POST['province_code'];
		$u['fax'] = $_POST['fax'];
		$u['email'] = $_POST['email'];
		$u['notes'] = $_POST['notes'];
		$u['sponsors_id'] = $sponsor_id;
		user_save($u);
		$name = trim($u['firstname'] . ' ' . $u['lastname']);
		// ($comment , $donorId, $userId, $type, $campaign_id=null){
		save_activityinfo($successLog . '"' . $name . '"', $sponsor_id, $_SESSION['users_uid'], 'System');
		happy_($successMessage);
	} else {
		// something's wrong with the user data submitted.  Should flag the fields where
		// appropriate, but for now just pop up an error
		error_('Form not filled out');
	}
}

// FIXME: dummy filler function for now.  Should go through all of the fields
// submitted and validate before hitting the database
function validate_contactdata()
{
	$returnval = true;
	if ($_POST['recordtype'] != 'new' && $_POST['recordtype'] != 'existing') {
		$returnval = false;
	}

	return $returnval;
}

// draw a group of forms for editing and creating new contacts
function draw_contactsinfo_form($contact = null)
{
	global $config, $pdo;

	// make sure we know what sponsor we're dealing with here
	if (!isset($sponsor_id)) {
		if ($_GET['id'])
			$sponsor_id = $_GET['id'];
		else if ($_POST['id'])
			$sponsor_id = $_POST['id'];
		$buttontext = i18n('Add Contact');
	}

	// start our accordion
	echo "<div id=\"contactaccordion\" style=\"width: 740px;\">\n";

	// loop through each contact and draw a form with their data in it.

	$query = $pdo->prepare("SELECT *,MAX(year) FROM users LEFT JOIN users_sponsor ON users_sponsor.users_id=users.id
	WHERE 
	sponsors_id=? 
	AND types LIKE '%sponsor%'
	GROUP BY uid
	HAVING deleted='no' 
	ORDER BY users_sponsor.primary DESC,lastname,firstname
	");
	$query->execute([$sponsor_id]);
	show_pdo_errors_if_any($pdo);

	while ($contact = $query->fetch()) {
		// draw a header for this user
		echo '<h3><a href="#">';
		echo $contact['firstname'] . ' ' . $contact['lastname'];
		echo "</a></h3>\n";

		// and draw the actual form
		echo "<div>\n";
		draw_contact_form($sponsor_id, $contact);
		echo "</div>\n";
	}

	// draw an empty form in which to enter a new user
	echo '<h3><a href="#">New Contact';
	echo "</a></h3>\n";
	echo "<div>\n";

	// and do the blank one
	echo '<div id="newcontactsearch"></div>';
	draw_contact_form($sponsor_id);
	echo "</div>\n";

	// and finally end the accordion
	echo "</div>\n";
}

// draw a form in which to enter information about the various contacts
function draw_contact_form($sponsor_id, $contact = null)
{
	global $salutations, $config, $pdo;

	// grab the sponsor details, so we can do diff things for individual vs organization
	$q = $pdo->prepare('SELECT * FROM sponsors WHERE id=?');
	$q->execute([$sponsor_id]);
	$sponsor = $q->fetch(PDO::FETCH_OBJ);

	if ($contact != null) {
		$id = $contact['id'];
	} else {
		$id = 'new';
		if ($sponsor->donortype == 'individual') {
			list($firstname, $lastname) = explode(' ', $sponsor->organization, 2);
			$contact['firstname'] = $firstname;
			$contact['lastname'] = $lastname;
			$contact['email'] = $sponsor->email;
			$contact['phonehome'] = $sponsor->phone;
		} else {
			$contact['phonework'] = $sponsor->phone;
		}

		$contact['fax'] = $sponsor->fax;
		$contact['address'] = $sponsor->address;
		$contact['address2'] = $sponsor->address2;
		$contact['city'] = $sponsor->city;
		$contact['province'] = $sponsor->province_code;
		$contact['postalcode'] = $sponsor->postalcode;
	}

	echo '<form id="contact_' . $id . "\" method=\"post\" action=\"donors.php?action=contactsinfo_save\">\n";
	echo "<input type=\"hidden\" name=\"sponsor_id\" value=\"$sponsor_id\">\n";
	if ($id == 'new') {
		echo "<input type=\"hidden\" name=\"recordtype\" value=\"new\">\n";
		$newcontactsearch = 'onkeypress="return newcontactsearch()"';
		$newcontactsave = 'id="contactnewsave"';
	} else {
		echo "<input type=\"hidden\" name=\"recordtype\" value=\"existing\">\n";
		echo '<input type="hidden" name="userid" value="' . $id . "\">\n";
	}
	?>
	<table class="tableedit">
		<tr>
			<td><?= i18n('Salutation'); ?></td>
			<td>
				<select name="salutation">
					<option value=""><?= i18n('Choose') ?></option>
					<?
					foreach ($salutations as $salutation) {
						if ($contact['salutation'] == $salutation)
							$sel = 'selected="selected"';
						else
							$sel = '';
						echo "<option $sel value=\"$salutation\">$salutation</option>\n";
					}
					?>
				</select>
			</td>
			<td><?= i18n('Position'); ?></td>
			<?
			if ($sponsor->donortype == 'individual') {
				$d = 'disabled="disabled"';
			} else
				$d = '';
			?>

			<td><input type="text" name="position" <?= $d ?> value="<?= htmlspecialchars($contact['position']) ?>"></td>
		</tr>
		<tr>
			<td><?= i18n('First Name'); ?></td>
			<td><input <?= $newcontactsearch ?> type="text" name="firstname" value="<?= htmlspecialchars($contact['firstname']) ?>"></td>
			<td><?= i18n('Last Name'); ?></td>
			<td><input <?= $newcontactsearch ?> type="text" name="lastname" value="<?= htmlspecialchars($contact['lastname']) ?>"></td>
		</tr>
		<tr>
			<td><?= i18n('Email'); ?></td>
			<td colspan="3"><input <?= $newcontactsearch ?> type="text" name="email" size="60" value="<?= htmlspecialchars($contact['email']) ?>"></td>
		</tr>
		<tr>
			<td><?= i18n('Phone (Work)'); ?></td>
			<td><input type="text" name="phonework" value="<?= htmlspecialchars($contact['phonework']) ?>"></td>
			<td><?= i18n('Phone (Cell)'); ?></td>
			<td><input type="text" name="phonecell" value="<?= htmlspecialchars($contact['phonecell']) ?>"></td>
		</tr>
		<tr>
			<td><?= i18n('Phone (Home)'); ?></td>
			<td><input type="text" name="phonehome" value="<?= htmlspecialchars($contact['phonehome']) ?>"></td>
			<td><?= i18n('Fax'); ?></td>
			<td><input type="text" name="fax" value="<?= htmlspecialchars($contact['fax']) ?>"></td>
		</tr>

		<tr>
			<td><?= i18n('Address 1') ?></td>
			<td colspan="3"><input type="text" name="address" size="60" maxlength="64" value="<?= htmlspecialchars($contact['address']) ?>" /></td>
		</tr>
		<tr>
			<td><?= i18n('Address 2') ?></td>
			<td colspan="3"><input type="text" name="address2" size="60" maxlength="64" value="<?= htmlspecialchars($contact['address2']) ?>" /></td>
		</tr>
		<tr>
			<td><?= i18n('City') ?></td>
			<td><input id="city" type="text" name="city" size="16" maxlength="32" value="<?= htmlspecialchars($contact['city']) ?>" /></td>
			<td><?= i18n($config['provincestate']) ?></td>
			<td>
				<? emit_province_selector('province_code', $contact['province']); ?>
			</td>
		</tr>
		<tr>
			<td><?= i18n($config['postalzip']) ?></td>
			<td colspan="3"><input type="text" name="postalcode" size="8" maxlength="7" value="<?= htmlspecialchars($contact['postalcode']) ?>" /></td>
		</tr>


		<tr>
			<td><?= i18n('Notes'); ?></td>
			<td colspan="3"><textarea name="notes" cols="60" rows="4"><?= htmlspecialchars($contact['notes']) ?></textarea></td>
		</tr>
		<tr>
			<td><?= i18n('Primary Contact') ?></td>
			<td>
				<label><?= i18n('Yes') ?><input type="radio" name="primary" value="yes" <? if ($contact['primary'] == 'yes') echo 'checked="checked"'; ?></label>
					<label><?= i18n('No') ?><input type="radio" name="primary" value="no" <? if ($contact['primary'] != 'yes') echo 'checked="checked"'; ?>></label>
			</td>
			<?php
			echo "<td align=\"center\"><input $newcontactsave type=\"submit\" value=\"" . i18n('Save') . '" onClick="return contactsinfo_save(\'' . $id . '\')" /></td>';
			echo '<td>';
			if ($id != 'new')
				echo '<input type="submit" value="' . i18n('Remove') . '" onClick="return contactsinfo_delete(\'' . $id . '\')" />';
			echo '</td>';
			?>
		</tr>
	</table>
	</form>
<?php
}

function draw_activityinfo_form()
{
	global $config, $pdo;
	$sponsorid = $_GET['id'];
	// we'll start by drawing the table header
	?>
	<form id="activityinfo">
		<table class="tableview" style="width:99%">
			<thead>
				<tr>
					<th><?= i18n('Date') ?></th>
					<th><?= i18n('Committee Member') ?></th>
					<th><?= i18n('Contact Type') ?></th>
					<th><?= i18n('Appeal') ?></th>
					<th><?= i18n('Notes') ?></th>
				</tr>
				<tr>
					<td align="center"><input type="submit" value="<?= i18n('Add Log') ?>" onClick="return activityinfo_save()" /></td>
					<td align="center"><?= $_SESSION['name'] ?></td>
					<td align="center">
						<?php
						echo '<select name="type">';
						echo '<option value="">' . i18n('Choose Type') . "</option>\n";
						$logtypes = array('Appeal', 'Phone Call', 'Email', 'Personal Visit', 'Other');
						foreach ($logtypes as $lt) {
							echo "<option value=\"$lt\">" . i18n($lt) . "</option>\n";
						}
						echo "</select>\n";
						?>
					</td>
					<td align="center">
						<?php
						$q = $pdo->prepare('SELECT * FROM fundraising_campaigns WHERE fiscalyear=? ORDER BY name');
						$q->execute([$config['FISCALYEAR']]);
						echo '<select name="fundraising_campaigns_id">';
						echo '<option value="">' . i18n('Choose Appeal') . "</option>\n";
						while ($r = $q->fetch(PDO::FETCH_OBJ)) {
							echo "<option value=\"$r->id\">$r->name</option>\n";
						}
						echo "</select>\n";
						?>
					</td>
					<td><input type="text" name="comment" style="width: 99%;" /></td>
				</tr>
			</thead>
			<tbody>


				<?php
				$query = "SELECT CONCAT_WS('&nbsp;', users.firstname, users.lastname) AS name, fdl.dt, fdl.log, fdl.type,
							fundraising_campaigns.name AS campaignname FROM fundraising_donor_logs AS fdl
								LEFT JOIN users ON fdl.users_id=users.id 
\t \t\t\t\t\t\t\tLEFT JOIN fundraising_campaigns ON fdl.fundraising_campaigns_id=fundraising_campaigns.id
\t \t\t\t\t\t\tWHERE sponsors_id=? ORDER BY dt DESC";
				$q = $pdo->prepare($query);
				$q->execute([$sponsorid]);
				show_pdo_errors_if_any($pdo);
				if ($q->rowCount()) {
					while ($r = $q->fetch()) {
						echo '<tr><td>' . $r['dt'] . '</td>';
						echo '<td>' . $r['name'] . '</td>';
						echo '<td>' . $r['type'] . '</td>';
						echo '<td>' . $r['campaignname'] . '</td>';
						echo '<td>' . $r['log'] . '</td>';
						echo "</tr>\n";
					}
				} else {
					echo '<tr><td colspan="5" style="text-align:center">' . i18n('No records') . '</td></tr>';
				}
				?>

			</tbody>
		</table>
	</form>
<?php
}

// Save an activity info log.
function save_activityinfo($comment, $donorId, $userId, $type, $campaign_id = null)
{
	global $pdo;
	if ($campaign_id)
		$cid = "'$campaign_id'";
	else
		$cid = 'NULL';

	$query = 'INSERT INTO fundraising_donor_logs (sponsors_id, dt, users_id, log, `type`, fundraising_campaigns_id) 
		VALUES (?,
		NOW(),
		?,
		?,
		?,
		?)';
	$q = $pdo->prepare($query);
	$q->execute([$donorId, $userId, $comment, $type, $cid]);
	show_pdo_errors_if_any($pdo);
}

function getDonationString($id)
{
	global $config, $pdo;
	$q = $pdo->prepare('SELECT fundraising_donations.*, 
		fundraising_campaigns.name AS campaignname 
		FROM fundraising_donations 
		LEFT JOIN fundraising_campaigns ON fundraising_donations.fundraising_campaigns_id=fundraising_campaigns.id 
		WHERE fundraising_donations.id=? 
		AND fundraising_donations.fiscalyear=? 
		');
	$q->execute([$id, $config['FISCALYEAR']]);
	show_pdo_errors_if_any($pdo);
	$str = '';
	if ($r = $q->fetch(PDO::FETCH_OBJ)) {
		$str .= format_date($r->datereceived) . ' - ';
		$goal = getGoal($r->fundraising_goal);
		if ($goal) {
			$str .= i18n('Goal: %1', array($goal->name));
		} else {
			$str .= i18n('Goal: none');
		}
		$str .= ' - ';
		if ($r->campaignname) {
			$str .= i18n('Campaign: %1', array($r->campaignname));
		} else {
			$str .= i18n('Campaign: none');
		}
		$str .= ' - ';
		$str .= ' Value: ' . format_money($r->value, false);
	} else {
		return false;
	}
	return $str;
}

?>
<script type="text/javascript">
	/* Setup the popup window */
	$(document).ready(function() {
		/*`
			$("#open_editor").dialog({
				bgiframe: true, autoOpen: false,
				modal: true, resizable: false,
				draggable: false
			});
		*/

		$("#editor_tabs").tabs({
			create: function(event, ui) {
				update_contactsinfo();
				update_organizationinfo();
				update_sponsorshipinfo();
				update_activityinfo();
			},
			activate: function(event, ui) {
				update_organizationinfo();
				update_sponsorshipinfo();
				update_contactsinfo();
				update_activityinfo();
			},
			collapsible: true,
			selected: -1
		});

		$("#organizationinfo_fundingselectiondate").datepicker({
			dateFormat: 'yy-mm-dd'
		});
		$("#organizationinfo_proposalsubmissiondate").datepicker({
			dateFormat: 'yy-mm-dd'
		});
		//, showOn: 'button', buttonText: "<?= i18n('calendar') ?>" });
		open_search();
	});


	var sponsor_id = 0;

	function open_editor(id) {
		sponsor_id = id;
		$("#donor_editor").show();
		$("#searchbrowse").hide();
		$("#searchresults").hide();

		if (id == -1) {
			$('#editor_tabs').tabs('option', 'active', 0);
			$('#editor_tabs').tabs('option', 'disabled', [1, 2, 3]);

			$("#organizationinfo_organization").val("");
			$("#organizationinfo_address").val("");
			$("#organizationinfo_address2").val("");
			$("#organizationinfo_city").val("");
			$("#organizationinfo_province_code").val("");
			$("#organizationinfo_postalcode").val("");
			$("#organizationinfo_phone").val("");
			$("#organizationinfo_tollfree").val("");
			$("#organizationinfo_fax").val("");
			$("#organizationinfo_email").val("");
			$("#organizationinfo_website").val("");
			$("#organizationinfo_donationpolicyurl").val("");
			$("#organizationinfo_fundingselectiondate").val("");
			$("#organizationinfo_proposalsubmissiondate").val("");
			$("#organizationinfo_notes").val("");

			$("#update_contactsinfoorganizationinfo_save_button").attr('disabled', 'disabled');
			$("[name=donortype]").attr('checked', '');

		} else {
			$('#editor_tabs').tabs('option', 'active', 0);
			$('#editor_tabs').tabs('option', 'collapsible', true);
			$('#editor_tabs').tabs('option', 'disabled', []);
		}

		update_organizationinfo();
		return false;
	}

	function open_search() {
		$("#donor_editor").hide();
		$("#searchbrowse").show();
		donorsearch(false);
	}

	function update_organizationinfo() {
		var id = sponsor_id;
		if (!sponsor_id)
			return false;
		if (sponsor_id == -1) {
			$("#sponsor_id").val(-1);
			return false;
		}

		$.getJSON("<?= $_SERVER['PHP_SELF'] ?>?action=organizationinfo_load&id=" + id,
			function(json) {
				$("#donor_name").html("<h3>" + json.organization + "</h3>");
				$("#sponsor_id").val(json.id);
				$("#organizationinfo_organization").val(json.organization);
				$("#organizationinfo_address").val(json.address);
				$("#organizationinfo_address2").val(json.address2);
				$("#organizationinfo_city").val(json.city);
				$("#organizationinfo_province_code").val(json.province_code);
				$("#organizationinfo_postalcode").val(json.postalcode);
				$("#organizationinfo_phone").val(json.phone);
				$("#organizationinfo_tollfree").val(json.tollfree);
				$("#organizationinfo_fax").val(json.fax);
				$("#organizationinfo_email").val(json.email);
				$("#organizationinfo_website").val(json.website);
				$("#organizationinfo_donationpolicyurl").val(json.donationpolicyurl);
				$("#organizationinfo_fundingselectiondate").val(json.fundingselectiondate);
				$("#organizationinfo_proposalsubmissiondate").val(json.proposalsubmissiondate);
				$("#organizationinfo_notes").val(json.notes);
				// For some reason, with checkboxes, these have to be arrays
				$("[name=waiveraccepted]").val([json.waiveraccepted]);
				$("[name=donortype]").val([json.donortype]);

				donortypechange();
			});
	}

	function organizationinfo_save() {

		//if we're creating we need to do the post, and get the id it returns, so we can re-open the popup window with that id
		if ($("#sponsor_id").val() == -1) {
			$.post("<? $_SERVER['PHP_SELF'] ?>?action=organizationinfo_save", $("#organizationinfo").serializeArray(),
				function(json) {
					open_editor(json.id);
				},
				"json");
		} else
			$("#debug").load("<? $_SERVER['PHP_SELF'] ?>?action=organizationinfo_save", $("#organizationinfo").serializeArray());

		return false;
	}

	function update_sponsorshipinfo() {
		var id = sponsor_id;
		$("#editor_tab_sponsorship").load("<?= $_SERVER['PHP_SELF'] ?>?action=sponsorshipinfo_load&id=" + id, null, function() {
			$(".date").datepicker({
				dateFormat: 'yy-mm-dd'
			});
			$('.tableview').tablesorter();
		});
	}

	function sponsorshipinfo_save() {
		$("#debug").load("<? $_SERVER['PHP_SELF'] ?>?action=sponsorshipinfo_save", $("#sponsorshipinfo").serializeArray());
		return false;
	}

	function update_contactsinfo() {
		var id = sponsor_id;
		$("#editor_tab_contacts").load("<?= $_SERVER['PHP_SELF'] ?>?action=contactsinfo_load&id=" + id, null,
			function() {
				$("#contactaccordion").accordion({
					heightStyle: "content"
				});
			}
		);
	}

	function contactsinfo_save(uid) {
		var id = sponsor_id;
		print(id);
		$("#debug").load("<? $_SERVER['PHP_SELF'] ?>?action=contactsinfo_save&id=" + id, $("#contact_" + uid).serializeArray(),
			function() {
				$("#contactaccordion").accordion({
					heightStyle: "content"
				});
				update_contactsinfo();
			});
		return false;
	}

	function contactsinfo_delete(uid) {
		var id = sponsor_id;
		$("#debug").load("<? $_SERVER['PHP_SELF'] ?>?action=contactsinfo_delete&id=" + id, $("#contact_" + uid).serializeArray(),
			function() {
				$("#contactaccordion").accordion({
					heightStyle: "content"
				});
				update_contactsinfo();
			});
		return false;
	}


	function update_activityinfo() {
		var id = sponsor_id;
		$("#editor_tab_activity").load(
			"<?= $_SERVER['PHP_SELF'] ?>?action=activityinfo_load&id=" + id,
			null,
			function() {
				$('.tableview').tablesorter();
			}
		);
		return false;
	}

	function activityinfo_save() {
		var id = sponsor_id;
		$("#debug").load("<? $_SERVER['PHP_SELF'] ?>?action=activityinfo_save&id=" + id, $("#activityinfo").serializeArray(),
			function() {
				update_activityinfo();
			});
		return false;
	}

	function donorsearch(realsearch) {
		$("#searchresults").show();
		if (realsearch)
			$("#searchresults").load("donors_search.php", $("#searchform").serializeArray(), function() {
				$('.tableview').tablesorter();
			});
		else
			$("#searchresults").load("donors_search.php", null, function() {
				$('.tableview').tablesorter();
			}); //, $("#searchform").serializeArray());

		return false;
	}

	var searchtimer;

	function newcontactsearch() {
		clearTimeout(searchtimer);
		searchtimer = setTimeout('donewcontactsearch()', 300);
		return true;
	}

	function donewcontactsearch() {
		$("#newcontactsearch").load("<?= $_SERVER['PHP_SELF'] ?>?action=newcontactsearch", $("#contact_new").serializeArray());
	}

	function useexistingcontact(uid) {
		var id = sponsor_id;
		$("#debug").load("<? $_SERVER['PHP_SELF'] ?>?action=contactsinfo_addexisting", {
			id: id,
			uid: uid
		}, function() {
			update_contactsinfo();
		});
	}

	function togglefulldonationhistory() {
		$("#fulldonationhistory").toggle('slow');
		$("#thisyeardonationhistory").toggle('slow');
	}

	function campaignchange() {
		var campaignid = $("#fundraising_campaign_id").val();
		var goal = defaultgoals[campaignid];
		$("#fundraising_goal").val(goal);
	}

	function donortypechange() {
		if ($("input[name='donortype']:checked").val() == "organization") {
			$("#organizationinfo_logo").removeAttr("disabled", "");
			$("#organizationinfo_donationpolicyurl").removeAttr("disabled", "");
			$("#organizationinfo_fundingselectiondate").removeAttr("disabled", "");
			$("#organizationinfo_proposalsubmissiondate").removeAttr("disabled", "");
		} else if ($("input[name='donortype']:checked").val() == "individual") {
			$("#organizationinfo_logo").attr("disabled", "disabled");
			$("#organizationinfo_donationpolicyurl").attr("disabled", "disabled");
			$("#organizationinfo_fundingselectiondate").attr("disabled", "disabled");
			$("#organizationinfo_proposalsubmissiondate").attr("disabled", "disabled");
		} else {}
		$("#organizationinfo_save_button").removeAttr('disabled', '');
	}

	function adddonation() {
		var id = sponsor_id;
		$("#debug").load("<? $_SERVER['PHP_SELF'] ?>?action=donation_add", $("#addnewdonationform").serializeArray(), function() {
			update_sponsorshipinfo();
		});
		return false;
	}

	function removedonation(donationid, sponsorid) {
		if (confirmClick('Are you sure you want to remove this donation/sponsorship?')) {
			$("#debug").load("<? $_SERVER['PHP_SELF'] ?>?action=donation_remove", {
				id: donationid,
				sponsors_id: sponsorid
			}, function() {
				update_sponsorshipinfo();
			});
		}
		return false;
	}
</script>
<?

if (get_value_from_array($_GET, 'action') == 'delete' && get_value_from_array($_GET, 'delete')) {
	// dont allow any deleting until we figure out what we need to do, infact, i think we never should hard delete
	// this should only soft-delete so things like awards from previous years are still all linked correctly.
	// mysql_query("DELETE FROM sponsors WHERE id='".$_GET['delete']."'");
	// echo happy("Sponsors cannot be deleted");
}

echo '<table cellspacing=2 width=740 border=0><tr>';
echo '<td>';
echo "<a href=\"#\" onclick=\"open_editor(-1)\">Add New Donor(s)/Sponsor(s)</a>\n";
echo '</td>';
echo '<td>';
echo "<a href=\"#\" onclick=\"open_search()\">View/Modify Donor(s)/Sponsor(s)</a>\n";
echo '</td>';
echo '</tr></table>';
echo '<hr />';
?>
<div id="donor_editor" title="Donor/Sponsor Editor" style="display: none; width: 770px;">
	<div id="donor_name"></div>
	<div id="editor_tabs">
		<ul>
			<li><a href="#editor_tab_organization"><span><?= i18n('Donor/Sponsor Details') ?></span></a></li>
			<li><a href="#editor_tab_contacts"><span><?= i18n('Contacts') ?></span></a></li>
			<li><a href="#editor_tab_sponsorship"><span><?= i18n('Donations/Sponsorships') ?></span></a></li>
			<li><a href="#editor_tab_activity"><span><?= i18n('Activity Log') ?></span></a></li>
		</ul>

		<div id="editor_tab_organization">
			<form enctype="multipart/form-data" id="organizationinfo">
				<input type="hidden" name="sponsor_id" id="sponsor_id" value="0">
				<table class="tableedit" border=0>
					<tr>
						<td><?= i18n('Donor Type') ?></td>
						<td colspan="5">
							<input id="donortype_individual" type="radio" name="donortype" value="individual" onchange="return donortypechange()" /><label for="donortype_individual"><?= i18n('Individual') ?></label>
							<input id="donortype_organization" type="radio" name="donortype" value="organization" onchange="return donortypechange()" /><label for="donortype_organization"><?= i18n('Organization') ?></label>
						</td>
					</tr>
					<tr>
						<td><?= i18n('Name') ?></td>
						<td colspan="5"><input class="translatable" type="text" id="organizationinfo_organization" name="organization" size="60" maxlength="128" /></td>
					</tr>
					<tr>
						<td><?= i18n('Address 1') ?></td>
						<td colspan="5"><input id="organizationinfo_address" type="text" name="address" size="60" maxlength="64" /></td>
					</tr>
					<tr>
						<td><?= i18n('Address 2') ?></td>
						<td colspan="5"><input id="organizationinfo_address2" type="text" name="address2" size="60" maxlength="64" /></td>
					</tr>
					<tr>
						<td><?= i18n('City') ?></td>
						<td><input id="organizationinfo_city" type="text" name="city" size="16" maxlength="32" /></td>
						<td><?= i18n($config['provincestate']) ?></td>
						<td>
							<? emit_province_selector('province_code', '', 'id="organizationinfo_province_code"'); ?>
						</td>
						<td><?= i18n($config['postalzip']) ?></td>
						<td><input id="organizationinfo_postalcode" type="text" name="postalcode" size="8" maxlength="7" /></td>
					</tr>
					<tr>
						<td><?= i18n('Phone') ?></td>
						<td><input type="text" id="organizationinfo_phone" name="phone" size="16" maxlength="32" /></td>
						<td><?= i18n('Toll Free') ?></td>
						<td><input type="text" id="organizationinfo_tollfree" name="tollfree" size="16" maxlength="32" /></td>
						<td><?= i18n('Fax') ?></td>
						<td><input type="text" id="organizationinfo_fax" name="fax" size="16" maxlength="32" /></td>
					</tr>
					<tr>
						<td><?= i18n('Email') ?></td>
						<td colspan="5"><input type="text" id="organizationinfo_email" name="email" size="60" maxlength="128" /></td>
					</tr>
					<tr>
						<td><?= i18n('Website') ?></td>
						<td colspan="5"><input type="text" id="organizationinfo_website" name="website" size="60" maxlength="128" /></td>
					</tr>
					<tr>
						<td><?= i18n('Donation Policy') ?></td>
						<td colspan="5"><input id="organizationinfo_donationpolicyurl" type="file" name="donationpolicyurl" size="30" maxlength="128" /></td>
					</tr>
					<tr>
						<td><?= i18n('Logo') ?></td>
						<td colspan="5"><input type="file" id="organizationinfo_logo" name="logo" size="30" /></td>
					</tr>
					<tr>
						<td><?= i18n('Funding Selection Date') ?></td>
						<td><input id="organizationinfo_fundingselectiondate" type="text" name="fundingselectiondate" class="date" size="12" maxlength="12" /></td>
						<td><?= i18n('Proposal Submission Date') ?></td>
						<td colspan="3"><input id="organizationinfo_proposalsubmissiondate" type="text" name="proposalsubmissiondate" class="date" size="12" maxlength="12" /></td>
					</tr>
					<?

					/*
					 * <tr><td><?=i18n("Waiver Accepted")?></td><td>
					 * <input type="radio" id="organizationinfo_waiveraccepted_no" name="waiveraccepted" value="no"><label for="organizationinfo_waiveraccepted_no"><?=i18n("No")?></label> &nbsp;&nbsp;
					 * <input type="radio" id="organizationinfo_waiveraccepted_yes" name="waiveraccepted" value="yes"><label for="organizationinfo_waiveraccepted_yes"><?=i18n("Yes")?></label> &nbsp;&nbsp;
					 * </td>
					 *
					 * <td><?=i18n("Tax Receipt Requested")?></td><td>
					 * <input type="radio" id="organizationinfo_taxreceiptrequired_no" name="taxreceiptrequired" value="no"><label for="organizationinfo_taxreceiptrequired_no"><?=i18n("No")?></label> &nbsp;&nbsp;
					 * <input type="radio" id="organizationinfo_taxreceiptrequired_yes" name="taxreceiptrequired" value="yes"><label for="organizationinfo_taxreceiptrequired_yes"><?=i18n("Yes")?></label> &nbsp;&nbsp;
					 * </td>
					 *
					 * <td><?=i18n("Marketing Receipt Requested")?></td><td colspan="3">
					 * <input type="radio" id="organizationinfo_marketingreceiptrequired_no" name="marketingreceiptrequired" value="no"><label for="organizationinfo_marketingreceiptrequired_no"><?=i18n("No")?></label> &nbsp;&nbsp;
					 * <input type="radio" id="organizationinfo_marketingreceiptrequired_yes" name="marketingreceiptrequired" value="yes"><label for="organizationinfo_marketingreceiptrequired_yes"><?=i18n("Yes")?></label> &nbsp;&nbsp;
					 * </td></tr>
					 */
					?>
					<tr>
						<td><?= i18n('Notes') ?></td>
						<td colspan="5"><textarea id="organizationinfo_notes" name="notes" rows="4" cols="60"></textarea></td>
					</tr>
				</table>
				<input id="organizationinfo_save_button" type="submit" value="<?= i18n('Save') ?>" onClick="return organizationinfo_save()" />
			</form>
		</div>
		<div id="editor_tab_sponsorship">
			sponsorship
		</div>
		<div id="editor_tab_contacts">
		</div>
		<div id="editor_tab_activity">
			activity
		</div>
	</div>
</div>


<div id="searchbrowse" style="display: none;">
	<form id="searchform" method="post" action="donors.php" onsubmit="return donorsearch(true)">
		<input type="hidden" name="limit" value="-1" />
		<?= i18n('Search') ?>: <input type="text" name="search" />
		<input id="search_donortype_individual" type="checkbox" name="donortype[]" value="individual" checked="checked" /><label for="search_donortype_individual"><?= i18n('Individual') ?></label>
		<input id="search_donortype_organization" type="checkbox" name="donortype[]" value="organization" checked="checked" /><label for="search_donortype_organization"><?= i18n('Organization') ?></label>
		<input type="submit" value="<?= i18n('Browse') ?>" />
	</form>
</div>
<div id="searchresults">
</div>
<?

if (get_value_from_array($_GET, 'action') == 'add') {
	?>
	<script type="text/javascript">
		$(document).ready(function() {
			open_editor(-1);
		});
	</script>
<?
}

send_footer();

?>