/*******************************************************************************
* +--------------------------[ File Revision Info ]--------------------------+ *
* | $Revision::                                                           $: | *
* | $Date::                                                               $: | *
* | $Author::                                                             $: | *
* +--------------------------------------------------------------------------+ *
* | $Id::                                                                 $: | *
* +--------------------------------------------------------------------------+ *
*******************************************************************************/

/************************* JQUERY ONLOAD ACTIONS *****************************/
var $jQ = jQuery.noConflict();

jQuery(document).ready(function() {

	// CAMPAIGNS EVENT BINDINGS
	var bindLineageBehaviors = function(scope) {
		$jQ('#breadthView').click(function(){
			$jQ('.breadth').removeClass("hide");
			$jQ('.depth').addClass("hide");
			$jQ('.speed').addClass("hide");
			$jQ('.span').addClass("hide");
		});

		$jQ('#depthView').click(function(){
			$jQ('.breadth').addClass("hide");
			$jQ('.depth').removeClass("hide");
			$jQ('.speed').addClass("hide");
			$jQ('.span').addClass("hide");
		});
		
		$jQ('#speedView').click(function(){
			$jQ('.breadth').addClass("hide");
			$jQ('.depth').addClass("hide");
			$jQ('.speed').removeClass("hide");
			$jQ('.span').addClass("hide");
		});
		
		$jQ('#spanView').click(function(){
			$jQ('.breadth').addClass("hide");
			$jQ('.depth').addClass("hide");
			$jQ('.speed').addClass("hide");
			$jQ('.span').removeClass("hide");
		});
	}
	
	var bindCampaignDetailBehaviors = function(scope) {
		$jQ('#directListLink').click(function(){
			$jQ('#directListLink').removeClass("linkText");
			$jQ('#indirectListLink').addClass("linkText");
			$jQ('#directDonorList').addClass("linkText").fadeIn('fast');
			$jQ('#indirectDonorList').removeClass("linkText").hide();
			$jQ('div#directDonorLineage').fadeIn('fast');
			$jQ('div#indirectDonorLineage').hide();
			//attr("src", "../images/graphs/directLineage.png").fadeIn('fast');
		});
		
		$jQ('#indirectListLink').click(function(){
			$jQ('#directListLink').addClass("linkText");
			$jQ('#indirectListLink').removeClass("linkText");
			$jQ('#indirectDonorList').fadeIn('fast');
			$jQ('#directDonorList').hide();
			$jQ('div#indirectDonorLineage').fadeIn('fast');
			$jQ('div#directDonorLineage').hide();
			//$jQ('div#lineageTree').attr("src","../images/graphs/indirectLineage.png").fadeIn();
		});
	
		$jQ('#lineageHierarchical').click(function(){
			$jQ('#lineageHierarchical').removeClass("linkText");
			$jQ('#lineageUniversal').addClass("linkText");
			$jQ('#lineageGeographical').addClass("linkText");
			$jQ('#lineageTemporal').addClass("linkText");
			
			$jQ('#hierarchicalChartKey').removeClass("hide");
			$jQ('#universalChartKey').addClass("hide");
			$jQ('#geographicalChartKey').addClass("hide");
			$jQ('#temporalChartKey').addClass("hide");
			
			$jQ('#hierarchicalLineageChart').removeClass("hide");
			$jQ('#universalLineageChart').addClass("hide");
			$jQ('#geographicalLineageChart').addClass("hide");
			$jQ('#temporalLineageChart').addClass("hide");
		});
	
		$jQ('#lineageUniversal').click(function(){
			$jQ('#lineageHierarchical').addClass("linkText");
			$jQ('#lineageUniversal').removeClass("linkText");
			$jQ('#lineageGeographical').addClass("linkText");
			$jQ('#lineageTemporal').addClass("linkText");
			
			$jQ('#hierarchicalChartKey').addClass("hide");
			$jQ('#universalChartKey').removeClass("hide");
			$jQ('#geographicalChartKey').addClass("hide");
			$jQ('#temporalChartKey').addClass("hide");
			
			$jQ('#hierarchicalLineageChart').addClass("hide");
			$jQ('#universalLineageChart').removeClass("hide");
			$jQ('#geographicalLineageChart').addClass("hide");
			$jQ('#temporalLineageChart').addClass("hide");	});
	
		$jQ('#lineageGeographical').click(function(){
			$jQ('#lineageHierarchical').addClass("linkText");
			$jQ('#lineageUniversal').addClass("linkText");
			$jQ('#lineageGeographical').removeClass("linkText");
			$jQ('#lineageTemporal').addClass("linkText");
			
			$jQ('#hierarchicalChartKey').addClass("hide");
			$jQ('#universalChartKey').addClass("hide");
			$jQ('#geographicalChartKey').removeClass("hide");
			$jQ('#temporalChartKey').addClass("hide");
			
			$jQ('#hierarchicalLineageChart').addClass("hide");
			$jQ('#universalLineageChart').addClass("hide");
			$jQ('#geographicalLineageChart').removeClass("hide");
			$jQ('#temporalLineageChart').addClass("hide");	});
	
		$jQ('#lineageTemporal').click(function(){
			$jQ('#lineageHierarchical').addClass("linkText");
			$jQ('#lineageUniversal').addClass("linkText");
			$jQ('#lineageGeographical').addClass("linkText");
			$jQ('#lineageTemporal').removeClass("linkText");
			
			$jQ('#hierarchicalChartKey').addClass("hide");
			$jQ('#universalChartKey').addClass("hide");
			$jQ('#geographicalChartKey').addClass("hide");
			$jQ('#temporalChartKey').removeClass("hide");
			
			$jQ('#hierarchicalLineageChart').addClass("hide");
			$jQ('#universalLineageChart').addClass("hide");
			$jQ('#geographicalLineageChart').addClass("hide");
			$jQ('#temporalLineageChart').removeClass("hide");
		});
	}

		$jQ('.campaignDetail').click(function(){
			_entityID = $jQ(this).attr("id");
			_strPosLeft = _entityID.indexOf("Detail");
			_strPosRight = _strPosLeft + "Detail".length;
			
			_campaignType = _entityID.substring(0,_strPosLeft);
			_campaignID = _entityID.substring(_strPosRight);

			getCampaignDetail(_campaignType, _campaignID);
		});
	
		$jQ('#closecampaignDetail').click(function(){
			$jQ('#campaignDetail').fadeOut('fast');
		});
	
		$jQ('#closecampaignLineage').click(function(){
			$jQ('#campaignLineage').fadeOut('fast');
		});
		
	bindLineageBehaviors();
	bindCampaignDetailBehaviors();
});

function bindCampaignDetailBehaviors() {

	$jQ('#directListLink').click(function(){
		$jQ('#directListLink').removeClass("linkText");
		$jQ('#indirectListLink').addClass("linkText");
		$jQ('#directDonorList').addClass("linkText").fadeIn('fast');
		$jQ('#indirectDonorList').removeClass("linkText").hide();
		$jQ('div#directDonorLineage').fadeIn('fast');
		$jQ('div#indirectDonorLineage').hide();
		//attr("src", "../images/graphs/directLineage.png").fadeIn('fast');
	});
	
	$jQ('#indirectListLink').click(function(){
		$jQ('#directListLink').addClass("linkText");
		$jQ('#indirectListLink').removeClass("linkText");
		$jQ('#indirectDonorList').fadeIn('fast');
		$jQ('#directDonorList').hide();
		$jQ('div#indirectDonorLineage').fadeIn('fast');
		$jQ('div#directDonorLineage').hide();
		//$jQ('div#lineageTree').attr("src","../images/graphs/indirectLineage.png").fadeIn();
	});

	$jQ('#lineageHierarchical').click(function(){
		$jQ('#lineageHierarchical').removeClass("linkText");
		$jQ('#lineageUniversal').addClass("linkText");
		$jQ('#lineageGeographical').addClass("linkText");
		$jQ('#lineageTemporal').addClass("linkText");
		
		$jQ('#hierarchicalChartKey').removeClass("hide");
		$jQ('#universalChartKey').addClass("hide");
		$jQ('#geographicalChartKey').addClass("hide");
		$jQ('#temporalChartKey').addClass("hide");
		
		$jQ('#hierarchicalLineageChart').removeClass("hide");
		$jQ('#universalLineageChart').addClass("hide");
		$jQ('#geographicalLineageChart').addClass("hide");
		$jQ('#temporalLineageChart').addClass("hide");
	});

	$jQ('#lineageUniversal').click(function(){
		$jQ('#lineageHierarchical').addClass("linkText");
		$jQ('#lineageUniversal').removeClass("linkText");
		$jQ('#lineageGeographical').addClass("linkText");
		$jQ('#lineageTemporal').addClass("linkText");
		
		$jQ('#hierarchicalChartKey').addClass("hide");
		$jQ('#universalChartKey').removeClass("hide");
		$jQ('#geographicalChartKey').addClass("hide");
		$jQ('#temporalChartKey').addClass("hide");
		
		$jQ('#hierarchicalLineageChart').addClass("hide");
		$jQ('#universalLineageChart').removeClass("hide");
		$jQ('#geographicalLineageChart').addClass("hide");
		$jQ('#temporalLineageChart').addClass("hide");	});

	$jQ('#lineageGeographical').click(function(){
		$jQ('#lineageHierarchical').addClass("linkText");
		$jQ('#lineageUniversal').addClass("linkText");
		$jQ('#lineageGeographical').removeClass("linkText");
		$jQ('#lineageTemporal').addClass("linkText");
		
		$jQ('#hierarchicalChartKey').addClass("hide");
		$jQ('#universalChartKey').addClass("hide");
		$jQ('#geographicalChartKey').removeClass("hide");
		$jQ('#temporalChartKey').addClass("hide");
		
		$jQ('#hierarchicalLineageChart').addClass("hide");
		$jQ('#universalLineageChart').addClass("hide");
		$jQ('#geographicalLineageChart').removeClass("hide");
		$jQ('#temporalLineageChart').addClass("hide");	});

	$jQ('#lineageTemporal').click(function(){
		$jQ('#lineageHierarchical').addClass("linkText");
		$jQ('#lineageUniversal').addClass("linkText");
		$jQ('#lineageGeographical').addClass("linkText");
		$jQ('#lineageTemporal').removeClass("linkText");
		
		$jQ('#hierarchicalChartKey').addClass("hide");
		$jQ('#universalChartKey').addClass("hide");
		$jQ('#geographicalChartKey').addClass("hide");
		$jQ('#temporalChartKey').removeClass("hide");
		
		$jQ('#hierarchicalLineageChart').addClass("hide");
		$jQ('#universalLineageChart').addClass("hide");
		$jQ('#geographicalLineageChart').addClass("hide");
		$jQ('#temporalLineageChart').removeClass("hide");
	});

}

function bindCampaignTabBehaviors() {
	$jQ('.tabHeader').hover(function(){
		//first remove all tab highlights, then add for this new one
		$jQ('.tabHeader').removeClass('tabHighlighted');
		$jQ(this).addClass('tabHighlighted');
		
		// Get the campaign type
		$typeSign = $jQ('#hiddenTypeSign').attr('title');
		
		//what is the summary type after "tabHeader" in the id? 
		$summaryType = $jQ(this).attr("id").substring(9);
		
		//what is the campaign type after the "campaignSummary" in the id?
		$campaignType = $jQ('.campaignSummaryDesc').attr('id').substring(15);
		switch($summaryType) {
			case "Direct":
				$jQ('#directSummary').removeClass('hide');
				$jQ('#indirectSummary').addClass('hide');
				$jQ('#overallSummary').addClass('hide');
				
				$directTotal = $jQ('#hiddenDirectTotal').attr("title");
				$directGoal = $jQ('#hiddenDirectGoal').attr("title");
				
				getThermometer($directTotal,$directGoal,$typeSign, 'Direct');
				break;
			case "Indirect":
				$jQ('#directSummary').addClass('hide');
				$jQ('#indirectSummary').removeClass('hide');
				$jQ('#overallSummary').addClass('hide');

				$indirectTotal = $jQ('#hiddenIndirectTotal').attr('title');
				$indirectGoal = $jQ('#hiddenIndirectGoal').attr('title');
				
				getThermometer($indirectTotal,$indirectGoal,$typeSign, 'Indirect');
				break;
			case "Overall":
				$jQ('#directSummary').addClass('hide');
				$jQ('#indirectSummary').addClass('hide');
				$jQ('#overallSummary').removeClass('hide');
				
				$overallTotal = $jQ('#hiddenOverallTotal').attr('title');
				$overallGoal = $jQ('#hiddenOverallGoal').attr('title');

				getThermometer($overallTotal,$overallGoal,$typeSign, 'Overall');
				break;
			default:
				break;
		}
		
	}, function() {
		//$jQ(this).removeClass('tabHighlighted');
	});
}
/********************** CAMPAIGNS FUNCTIONS ***********************/
// GET THERMOMETER
function getThermometer(_currentAmount, _goalAmount, _typeSign, _type) {
	// Set cursor to denote process running in background
	$jQ(this).attr( {'cursor': 'spinning'});
	
	$jQ.post("../includes/ajax/thermometer.php",{
		  currentAmount: _currentAmount,
		  goalAmount: _goalAmount,
		  typeSign: _typeSign,
		  type: _type
		},function(data){
		 $jQ("div#thermometerSummary").html(data);
	});
}

function getCampaignDetail(_campaignType, _campaignID) {
	_userID = 1;

	
	if (_campaignID != 0)
		$jQ.post("../includes/ajax/campaign-detail.php",{
			userID: _userID,
			campaignID: _campaignID,
			level: 'info'
		},function(data){
			//$jQ("div#detailContent").html(data);
			//$jQ("div#campaignDetail").fadeIn('fast');
			$jQ("div#detailContent").html(data) ;
			$jQ("div#campaignDetail").fadeIn('fast');
			bindCampaignTabBehaviors();
		});
	return false;
}

function getCampaignLineage(_sponsorID, _campaignID) {
	if (_campaignID != 0)
		$jQ.post("../includes/ajax/campaign-lineage.php",{
			userID: _sponsorID,
			campaignID: _campaignID
		},function(data){
			$jQ("div#lineageContent").html(data) ;
			$jQ("div#campaignLineage").fadeIn('fast');
			bindCampaignDetailBehaviors();
		});
	return false;
}

function getCampaignInfo() {
	_userID = getCurrentUser();
	_campaignID = getSelectedCampaign();
	
	if (_campaignID != 0)
		$jQ.post("../includes/ajax/campaign-detail.php",{
			userID: _userID,
			campaignID: _campaignID,
			level: 'info'
		},function(data){
			$jQ("div#summaryContent").html(data) ;
			$jQ("div#campaignSummary").fadeIn('fast');
		});
	return false;
}

function getCampaignParticipantDetail(_campaignID, _participantID) {
	$jQ.post("../includes/ajax/campaign-participant-detail.php",{
		userID: _participantID,
		campaignID: _campaignID
	},function(data){
		$jQ("div#participantDetailContent").html(data);
		$jQ('div#campaignParticipantDetail').fadeIn('fast');
	});
}