<?
/* 
   This file is part of the 'Science Fair In A Box' project
   SFIAB Website: http://www.sfiab.ca

   Copyright (C) 2009 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');

switch($_GET['action']){
	case "campaigninfo_save":
		save_campaign_info();
		exit;
		break;

   case "modify":
    echo "<div id=\"campaignaccordion\" style=\"width: 780px;\">\n";
    $q=mysql_query("SELECT * FROM fundraising_campaigns WHERE fiscalyear='{$config['FISCALYEAR']}' ORDER BY name");
    while($r=mysql_fetch_object($q)) {
        echo "<h3><a href=\"#\">".htmlspecialchars($r->name)."</a></h3>\n";
        echo "<div id=\"campaign_{$r->id}\">\n";
        echo "<form id=\"campaigninfo_{$r->id}\" method=\"post\" action=\"{$_SERVER['PHP_SELF']}\" onsubmit=\"return campaigninfo_save($r->id)\">\n";
        echo "<input type=\"hidden\" name=\"campaign_id\" value=\"{$r->id}\" />\n";
        echo "<table>\n";
        display_campaign_form($r);
        ?>
        <tr><td colspan="6" style="text-align: center;">
        <br />
        <input type="submit" value="<?=i18n("Save Campaign")?>"></td>
        </tr>
        </table>
        </form>
        </div>
    <?
    }
    ?>
	<h3><a href="#"><?=i18n("Create New Campaign")?></a></h3>
	<div id="campaign_new">
	<form id="campaigninfo_new" method="post" action="<?=$_SERVER['PHP_SELF']?>" onsubmit="return campaigninfo_save(-1)">
	<input type="hidden" name="campaign_id" value="-1" />
	<table>
<?
    display_campaign_form();
?>
    <tr><td colspan="6" style="text-align: center;">
    <br />
    <input type="submit" value="<?=i18n("Create Campaign")?>"></td>
    </tr>
    </table>
    </form>
	</div>
    </div>
    <?
    exit;
    break;


   case "managelist":
   echo i18n("Select a campaign");
?>
<table class="tableview">
 <tr>
	<th><?=i18n("Name")?></th>
	<th><?=i18n("Type")?></th>
	<th><?=i18n("Start Date")?></th>
	<th><?=i18n("End Date")?></th>
	<th><?=i18n("Goal")?></th>
	<th><?=i18n("Target($)")?></th>
	<th><?=i18n("Received")?></th>
	<th><?=i18n("% to Budget")?></th>
 </tr>

<?
 $q=mysql_query("SELECT * FROM fundraising_campaigns WHERE fiscalyear='{$config['FISCALYEAR']}'");

 while($r=mysql_fetch_object($q)) {

    $goalq=mysql_query("SELECT * FROM fundraising_goals WHERE goal='{$r->fundraising_goal}' AND fiscalyear='{$config['FISCALYEAR']}'");
    $goalr=mysql_fetch_object($goalq);
    $recq=mysql_query("SELECT SUM(value) AS received FROM fundraising_donations WHERE fundraising_campaigns_id='$r->id' AND fiscalyear='{$config['FISCALYEAR']}' AND status='received'");
    echo mysql_error();
    $recr=mysql_fetch_object($recq);
    $received=$recr->received;
    if($r->budget)
        $percent=round($received/$r->target*100,1);
    else
        $percent=0;
    $col=colour_to_percent($percent);

    echo "<tr style=\"cursor:pointer;\" onclick=\"return managecampaign($r->id)\">\n";
    echo "  <td>$r->name</td>\n";
    echo "  <td>$r->type</td>\n";
    echo "  <td>".format_date($r->startdate)."</td>\n";
    echo "  <td>".format_date($r->enddate)."</td>";
    echo "  <td>$goalr->name</td>";
    echo "  <td style=\"text-align: right;\">".format_money($r->target,false)."</td>\n";
    echo "  <td style=\"text-align: right;\">".format_money($received,false)."</td>\n";
    echo "  <td style=\"text-align: center; background-color: $col;\">{$percent}%</td>\n";
    echo "</tr>\n";
 }
 ?>
</table>
<br />
<?
   exit;
   break;


   case "manage":
    if(!$_GET['id']) {
        error_("Missing campaign to manage");
        exit;
    }
    $id=intval($_GET['id']);
    $q=mysql_query("SELECT * FROM fundraising_campaigns WHERE id='$id'");
    $campaign=mysql_fetch_object($q);
    echo "<h3>$campaign->name</h3>\n";
    ?>
    <div id="campaign_tabs">
        <ul>
            <li><a href="#campaign_tab_overview"><span><?=i18n('Overview')?></span></a></li>
            <li><a href="#campaign_tab_donations"><span><?=i18n('Donations/Sponsorships')?></span></a></li>
            <li><a href="#campaign_tab_prospects"><span><?=i18n('Prospects')?></span></a></li>
            <li><a href="#campaign_tab_communications"><span><?=i18n('Communications')?></span></a></li>
        </ul>
        <div id="campaign_tab_overview">
        overview tab
        </div>
        <div id="campaign_tab_donations">
        donations tab
        </div>
        <div id="campaign_tab_prospects">
        prospects tab
        </div>
        <div id="campaign_tab_communications">
        communications tab
        </div>
    </div>
<?

   exit;
   break;

   case "manage_tab_overview":
         $campaign_id=intval($_GET['id']);
         $q=mysql_query("SELECT * FROM fundraising_campaigns WHERE id='$campaign_id' AND fiscalyear='{$config['FISCALYEAR']}'");

         if($r=mysql_fetch_object($q)) {

            $goalq=mysql_query("SELECT * FROM fundraising_goals WHERE goal='{$r->fundraising_goal}' AND fiscalyear='{$config['FISCALYEAR']}'");
            $goalr=mysql_fetch_object($goalq);
            $recq=mysql_query("SELECT SUM(value) AS received FROM fundraising_donations WHERE fundraising_campaigns_id='$r->id' AND fiscalyear='{$config['FISCALYEAR']}' AND status='received'");
            echo mysql_error();
            $recr=mysql_fetch_object($recq);
            $received=$recr->received;
            if($r->budget)
                $percent=round($received/$r->target*100,1);
            else
                $percent=0;
            $col=colour_to_percent($percent);
            echo "<table cellspacing=\"3\" cellpadding=\"3\">";
            echo "<tr>\n";
            echo "  <td>Type</td><td>$r->type</td></tr>\n";
            echo "  <td>Start Date</td><td>".format_date($r->startdate)."</td>\n";
            echo "</tr>\n";
            echo "  <td>Follow-Up Date</td><td>".format_date($r->enddate)."</td>";
            echo "</tr>\n";
            echo "  <td>Default Goal</td><td>$goalr->name</td>";
            echo "</tr>\n";
            echo "  <td>Target</td><td>".format_money($r->target,false)."</td>\n";
            echo "</tr>\n";
            echo "  <td>Received</td><td>".format_money($received,false)."</td>\n";
            echo "</tr>\n";
            echo "  <td>% to Budget</td><td style=\"color: $col;\">{$percent}%</td>\n";
            echo "</tr>\n";
            echo "</table>\n";
         }
   exit;
   break;

   case "manage_tab_donations":
         $campaign_id=intval($_GET['id']);
         $q=mysql_query("SELECT * FROM fundraising_campaigns WHERE id='$campaign_id' AND fiscalyear='{$config['FISCALYEAR']}'");

         if($r=mysql_fetch_object($q)) {

         }
   exit;
   break;


   case "manage_tab_prospects":
         $campaign_id=intval($_GET['id']);
         $q=mysql_query("SELECT * FROM fundraising_campaigns WHERE id='$campaign_id' AND fiscalyear='{$config['FISCALYEAR']}'");

         if($r=mysql_fetch_object($q)) {

         }
   exit;
   break;


   case "manage_tab_communications":
         $campaign_id=intval($_GET['id']);
         $q=mysql_query("SELECT * FROM fundraising_campaigns WHERE id='$campaign_id' AND fiscalyear='{$config['FISCALYEAR']}'");

         if($r=mysql_fetch_object($q)) {

         }
   exit;
   break;


}

function save_campaign_info(){
    global $config;
    if(!$_POST['name']){
         error_("Campaign Name is required");
         return;
    }
    if(!$_POST['startdate']) $startdate=date("Y-m-d"); else $startdate=$_POST['startdate'];

	if(!$_GET['id']) {
		$query = "INSERT INTO fundraising_campaigns (name,fiscalyear) VALUES (
            '".mysql_real_escape_string($_POST['name'])."','{$config['FISCALYEAR']}')";
        mysql_query($query);
		$id = mysql_insert_id();
        happy_("Campaign Created");
	}else{
		$id = $_GET["id"];
        happy_("Campaign Saved");
    }
    mysql_query("UPDATE fundraising_campaigns SET 
       name='".mysql_real_escape_string($_POST['name'])."',
       `type`='".mysql_real_escape_string($_POST['type'])."',
       startdate='".mysql_real_escape_string($startdate)."',
       followupdate='".mysql_real_escape_string($_POST['followupdate'])."',
       enddate='".mysql_real_escape_string($_POST['enddate'])."',
       target='".mysql_real_escape_string($_POST['target'])."',
       fundraising_goal='".mysql_real_escape_string($_POST['fundraising_goal'])."'
       WHERE id='$id'");
}

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

<script type="text/javascript">
$(document).ready(function() {
    managecampaigns();
});

function modifycampaigns() {
	$("#campaigndiv").show();
	$("#campaigndiv").load("<?$_SERVER['PHP_SELF']?>?action=modify", null, function() {modifycampaignsfinish();});
}

function managecampaigns() {
	$("#campaigndiv").show();
	$("#campaigndiv").load("<?$_SERVER['PHP_SELF']?>?action=managelist", null, function() {managecampaignsfinish();});
}

var currentcampaignid;

function managecampaign(id) {
	$("#campaigndiv").show();
	$("#campaigndiv").load("<?$_SERVER['PHP_SELF']?>?action=manage&id="+id, null, function() {managecampaignfinish();});
    currentcampaignid=id;
}


function modifycampaignsfinish(){
	$("#campaignaccordion").accordion();
	// create the date pickers for our form
	$(".date").datepicker({
		dateFormat: 'yy-mm-dd'
	});
}

function managecampaignsfinish() {

}

function managecampaignfinish() {
    $("#campaign_tabs").tabs({
    show: function(event, ui) {
        switch(ui.panel.id) {
            case 'campaign_tab_overview':
            update_tab_overview();
            break;
            case 'campaign_tab_donations':
            update_tab_donations();
            break;
            case 'campaign_tab_prospects':
            update_tab_prospects();
            break;
            case 'campaign_tab_communications':
            update_tab_communications();
            break;
        }
    },
    selected: 0,
    });

}

function campaigninfo_save(id) {
	//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(id==-1) {
		$("#debug").load("<?$_SERVER['PHP_SELF']?>?action=campaigninfo_save", $("#campaigninfo_new").serializeArray(), function() { modifycampaigns(); });
	} else {
		$("#debug").load("<?$_SERVER['PHP_SELF']?>?action=campaigninfo_save&id="+id, $("#campaigninfo_"+id).serializeArray(), function() { modifycampaigns(); });
	}
	return false;
}

function update_tab_overview() {
		$("#campaign_tab_overview").load("<?$_SERVER['PHP_SELF']?>?action=manage_tab_overview&id="+currentcampaignid);
}
function update_tab_donations() {
		$("#campaign_tab_donations").load("<?$_SERVER['PHP_SELF']?>?action=manage_tab_donations&id="+currentcampaignid);
}
function update_tab_prospects() {
		$("#campaign_tab_prospects").load("<?$_SERVER['PHP_SELF']?>?action=manage_tab_prospects&id="+currentcampaignid);
}
function update_tab_communications() {
		$("#campaign_tab_communications").load("<?$_SERVER['PHP_SELF']?>?action=manage_tab_communications&id="+currentcampaignid);
}
</script>

<?
function display_campaign_form($r=null) {
    global $config;
?>    
		<tr>
			<td><?=i18n("Name")?></td>
			<td colspan="3"><input size="40" type="text" name="name" value="<?=$r->name?>"></td>
            <td><?=i18n("Type")?></td><td><input type="text" name="type" value="<?=$r->type?>"></td>
        </tr>
        <?
        if($r->startdate) $sd=$r->startdate;
        else $sd=date("Y-m-d");
        ?>
        <tr>
			<td><?=i18n("Start Date")?></td><td><input type="text" name="startdate" class="date" value="<?=$sd?>" /></td>
			<td><?=i18n("Follow-Up Date")?></td><td><input type="text" name="followupdate" class="date" value="<?=$r->followupdate?>" /></td>
			<td><?=i18n("End Date")?></td><td><input type="text" name="enddate" class="date" value="<?=$r->enddate?>" /></td>
        </tr>
        <tr>
			<td><?=i18n("Target")?></td><td>$<input type="text" id="target" name="target" size="10" value="<?=$r->target?>" /></td>
			<td><?=i18n("Default Goal")?></td><td colspan="3">
            <?
            $fgq=mysql_query("SELECT * FROM fundraising_goals WHERE fiscalyear='{$config['FISCALYEAR']}' ORDER BY name");
            echo "<select name=\"fundraising_goal\">";
            echo "<option value=\"\">".i18n("Choose Default Goal")."</option>\n";
            while($fgr=mysql_fetch_object($fgq)) {
                if($r->fundraising_goal==$fgr->goal) $sel="selected=\"selected\""; else $sel="";
                echo "<option $sel value=\"$fgr->goal\">".i18n($fgr->name)."</option>\n";
            }
            echo "</select>\n";
            ?>
            </td>
        </tr>
<?
}
?>
<table cellspacing=2 width=740 border=0>
<tr><td>
<a href="#" onclick="modifycampaigns()">Create/Modify Campaigns</a>
</td><td>
<a href="#" onclick="managecampaigns()">Campaign Management</a>
</td></tr></table>
<hr />

<div id="campaigndiv" style="width: 780px; display: none;">
</div>

<?
 send_footer();
?>
