/*
 * 
 * Write test variation data to DB for revenue tracking later
 * 
 * Requires: jQuery, jqURL
 * Code is meant to integrate with Omniture's Test&Target
 * 
 */

TestAndTarget = new Object();

TestAndTarget.logTest = function()
{

	if(typeof ajax_server == 'undefined')
	{
		var ajax_host = (("https:" == document.location.protocol) ? "https://" : "http://");
		ajax_server = ajax_host + 'ajax.allwebleads.com';
	}
	
	var connection_url = ajax_server + '/1.0/TestAndTarget/php/test-and-target.php';
	
	var sUrl = $.jqURL.url();
	
	var test_and_target_array = new Array();
	
	var validData = true;
	
	/*** SET ARRAY of TEST AND TARGET VARIABLES ***/
	
	if(typeof sUserSession != 'undefined')
	{
		test_and_target_array['user_session'] = sUserSession;
	} else { validData = false; }
	
	if(typeof sCampaignName != 'undefined')
	{
		test_and_target_array['campaign_name'] = sCampaignName;
	} else { validData = false; }
	
	if(typeof sCampaignId != 'undefined')
	{
		test_and_target_array['campaign_id'] = sCampaignId;
	} else { validData = false; }

	if(typeof sRecipeName != 'undefined')
	{
		test_and_target_array['recipe_name'] = sRecipeName;
	} else { validData = false; }
	
	if(typeof sUrl != 'undefined')
	{
		test_and_target_array['url'] = sUrl;
	} else { validData = false; }
	
	if(typeof sVisitorId != 'undefined')
	{
		test_and_target_array['vistor_id'] = sVisitorId;
	} else { validData = false; }
	
	if(typeof sTestAndTargetUserSessionId != 'undefined')
	{
		test_and_target_array['test_and_target_user_session'] = sTestAndTargetUserSessionId;
	}else { validData = false; }
	
	if(typeof sIsFirstSession != 'undefined')
	{
		test_and_target_array['is_first_session'] = sIsFirstSession;
	} else { validData = false; }
	
	test_and_target_array['format'] = 'json';
	test_and_target_array['jsoncallback'] = '?';
	
	/********************************* 
	 *            DEBUG 
	 *********************************/
	
	for(var test_and_target_value in test_and_target_array)
	{
		if(typeof console != 'undefined')
		{
			console.log(test_and_target_value + ' = ' + test_and_target_array[test_and_target_value]);
		}
	}
	
	if(validData == true)
	{				
		$.getJSON(connection_url + '?' + this.buildUrlString(test_and_target_array), function(data){
			if(typeof console != 'undefined')
			{
				console.log(data);
			}
		});
	}
	
	return true;
	
};

TestAndTarget.buildUrlString = function(arr)
{
	var str = '';
	for ( key in arr ) {
		if(str != '')
		{
			str += '&';
		}
		str += key + '=' + arr[key];
	}
	return str;
}
