// DONT EDIT THIS DOCUMENT


var _phase;
var _selectedBranche;
var _selectedCount;
var _branchBlock;
var _countBlock;
var _resultBlock;
var _resultBtn;
var _branchData;

function initSuccessApp()
{
	_branchBlock = $("#successformule #branchechooser").html();
	_countBlock = $("#successformule #countchooser").html();
	_resultBlock = $("#successformule #result").html();
	
	if ($("#successformule").hasClass("contact"))
	{
		_branchData = _branchlistContact;
	}
	else if ($("#successformule").hasClass("results"))
	{
		_branchData =  _branchlist;
	} else {
		_branchData = _branchlist;
	}
	

	var urlBranche = jQuery.url.param(_brancheUrlVarName);
	var urlCount = jQuery.url.param(_countUrlVarName);
	
	
	if (urlBranche == undefined || urlCount == undefined)
	{
		gotoBrancheScreen();
	} else {
		_selectedBranche = getSelectedBranche(urlBranche);
		_selectedCount = getSelectedCount(urlCount);
		_resultTooltip = _changeResultTooltip;
		gotoResultScreen();
	}

	
}

function getSelectedBranche(urlBranch)
{
	var foundId = 0;
	
	for (var i=0; i < _branchData.length; i++)
	{
		if (_branchData[i].urlvar == urlBranch)
		{
			foundId = i;
		}
	}
	
	return foundId;
}

function getSelectedCount(urlCount)
{
	var foundId = 0;
	
	for (var i=0; i < _countlist.length; i++)
	{
		if (_countlist[i].urlvar == urlCount)
		{
			foundId = i;
		}
	}
	
	return foundId;
}

function nextScreen()
{
	if (_phase == 0)
	{
		if (_selectedCount == undefined)
		{
			if (_branchData[_selectedBranche].count[0] == _countNotApplicable)
			{
				if ($("#successformule").hasClass("showResult"))
				{
					gotoResultScreen();
				} else {
					showResults();
				}
			} else {
				gotoCountScreen();
			}
		} else {
			gotoResultScreen();
		}
	} 
	else if (_phase == 1)
	{
		if ($("#successformule").hasClass("showResult"))
		{
			gotoResultScreen();
		} else {
			showResults();
		}
	} 
}

function showResults()
{
	
	var url;
	
	if ($("#successformule").hasClass("contact"))
	{
		if (_branchData[_selectedBranche].count[0] == _countNotApplicable)
		{
			url =  _contactPageUrl + "?" + _brancheUrlVarName + "=" + _branchData[_selectedBranche].urlvar + "&" + _countUrlVarName + "=" + _countlist[0].urlvar + "&" + _nrUrlVarName + "=" + _branchData[_selectedBranche].count[0];
		} else {
			url =  _contactPageUrl + "?" + _brancheUrlVarName + "=" + _branchData[_selectedBranche].urlvar + "&" + _countUrlVarName + "=" + _countlist[_selectedCount].urlvar + "&" + _nrUrlVarName + "=" + _branchData[_selectedBranche].count[_selectedCount];
		}
	}
	else if ($("#successformule").hasClass("results"))
	{
		url =  _resultPageUrl + "?" + _brancheUrlVarName + "=" + _branchData[_selectedBranche].urlvar + "&" + _countUrlVarName + "=" + _countlist[_selectedCount].urlvar;
	} else {
		url =  _resultPageUrl + "?" + _brancheUrlVarName + "=" + _branchData[_selectedBranche].urlvar + "&" + _countUrlVarName + "=" + _countlist[_selectedCount].urlvar;
	}
	
	
	location.href = url;
}

function gotoBrancheScreen()
{
	_phase = 0;
	$("#successformule #countchooser").hide();
	$("#successformule #branchechooser").show();
	$("#successformule #result").hide();
	
	generateBranchBlocks("#successformule #branchechooser");
	tileElements("#successformule #branchechooser");
	$("#successformule .tooltip").html(_branchTooltip);
	initElements("#successformule #branchechooser");		
}

function gotoCountScreen()
{
	_phase = 1;
	$("#successformule #branchechooser").hide();
	$("#successformule #countchooser").show();
	$("#successformule #result").hide();
	
	generateCountBlocks("#successformule #countchooser");
	tileElements("#successformule #countchooser");
	$("#successformule .tooltip").html(_countTooltip);
	initElements("#successformule #countchooser");		
}

function gotoResultScreen()
{
	_phase = 2;
	$("#successformule #branchechooser").hide();
	$("#successformule #countchooser").hide();
	$("#successformule #result").show();
	
	generateResultBlocks("#successformule #result");
	tileElements("#successformule #result");
	$("#successformule .tooltip").html(_resultTooltip);
	initElements("#successformule #result");		
}

function generateBranchBlocks(branchContainer)
{	

	var imgWidth = $(branchContainer + " .branchblock img.icon").width();
	$(branchContainer).children(".branchblock").remove();
	

	// create blocks
	for (var i = 0; i < _branchData.length; i++)
	{ 
		var branchBlock = $(_branchBlock);
		$(branchBlock).children("img.icon").attr("alt", _branchData[i].name);
		$(branchBlock).children("img.icon").attr("src", _iconFolder + imgWidth + "/" + _branchData[i].icon);
		
		$("#successformule #branchechooser").append(branchBlock);
	}	
}

function generateCountBlocks(countContainer)
{	

	var imgWidth = $(countContainer + " .countblock img.icon").width();
	$(countContainer).children(".countblock").remove();
	
	// create blocks
	for (var i = 0; i < _countlist.length; i++)
	{ 
		var countBlock = $(_countBlock);
		
		var visitortype = _branchData[_selectedBranche].visitortype;
		var count = _branchData[_selectedBranche].count[i];
		var prefix = _countlist[i].text;
		
		$(countBlock).children("img.icon").attr("alt", prefix + " " + count + " " + visitortype);
		$(countBlock).children("img.icon").attr("src", _iconFolder + imgWidth + "/" + _countlist[i].icon);
		
		$("#successformule #countchooser").append(countBlock); 
	}	
}

function generateResultBlocks(resultContainer)
{
	var imgWidth = $(resultContainer + " .resultblock img.icon").width();
	$(resultContainer).children(".resultblock").remove();
	
	var brancheBlock = $(_resultBlock);
	var countBlock = $(_resultBlock);
	var resultBlock = $(_resultBlock);
	
	// create blocks
	$(brancheBlock).children("img.icon").attr("alt", _backToBrancheTooltip);
	$(brancheBlock).children("img.icon").attr("src", _iconFolder + imgWidth + "/" + _branchData[_selectedBranche].icon);

	if (_branchData[_selectedBranche].count[0] !=_countNotApplicable)
	{
		$(countBlock).children("img.icon").attr("alt", _backToCountTooltip);
	} 
		
	
	$(countBlock).children("img.icon").attr("src", _iconFolder + imgWidth + "/" + _countlist[_selectedCount].icon);
	
	$(resultBlock).children("img.icon").attr("alt", _resultBtn.name);
	$(resultBlock).children("img.icon").attr("src", _iconFolder + imgWidth + "/" + _resultBtn.icon);

	$("#successformule #result").append(brancheBlock); 
	
	if (_branchData[_selectedBranche].count[0] !=_countNotApplicable)
	{
		$("#successformule #result").append(countBlock);
	}
	
	$("#successformule #result").append(resultBlock); 
}


function tileElements(tileContainer)
{
	var containerWidth = $(tileContainer).width();
	var containerHeight = $(tileContainer).height();
	var elementWidth = $(tileContainer).children(0).width();
	var elementHeight = $(tileContainer).children(0).height();
	
	var nrCols = Math.floor(containerWidth / elementWidth);
	
	var colNr = 0;
	var rowNr = 0;
	
	
	var numchildren = $(tileContainer).children().size();
	
	$(tileContainer).children().each(
		function (i)
		{
			$(this).css("margin-left", colNr * elementWidth);
			$(this).css("margin-top", rowNr * elementHeight);

			if (colNr < nrCols - 1 && i < numchildren - 1)
			{	
				colNr += 1;
			} else {
				colNr = 0;	
				rowNr += 1;
			}
			
		}
	);
	
	$(tileContainer).height((rowNr) * elementHeight);
}

function initElements(tileContainer)
{
	$(tileContainer).show();
	
	$(tileContainer).children().each(
		function (i)
		{	
			var oldX = $(this).css("margin-left");
			var oldY = $(this).css("margin-top");

			// animate in
			$(this).css("margin-left", "0px");
			$(this).animate({
				marginLeft: oldX
			 }, 500, 'easeOutCubic', function() {
				// on fade in complete
			 });
			
			
			// hover
			$(this).hover(
				function () {
					
					$("#successformule .tooltip").html($(this).children("img.icon").attr("alt"));
					
					$(this).children("img.icon").animate({	
						marginTop: -($(this).height() / 4)
					}, 200, 'easeOutCubic', function() {
						// on fade in complete
					});
				},
				function () {
					
					if (_phase == 0)
					{
						$("#successformule .tooltip").html(_branchTooltip);
					} 
					else if (_phase == 1)
					{
						$("#successformule .tooltip").html(_countTooltip);
					}
					else if (_phase == 2)
					{
						$("#successformule .tooltip").html(_resultTooltip);
					}
					
					$(this).children("img").animate({
						marginTop: 0		
					}, 200, 'easeOutBounce', function() {
						// on fade in complete
					});
				}
			);
			
			// click			
			$(this).click(function(){
				if (_phase == 0)
				{
					_selectedBranche = i;
					nextScreen();
				} 
				else if (_phase == 1)
				{
					_selectedCount = i;
					nextScreen();
				}
				else if (_phase == 2)
				{
					if (i == 0)
					{
						gotoBrancheScreen();
					} else if (i == 1) {
						gotoCountScreen();
					} else if (i == 2) {
						showResults();	
					}
				}
				
			});
		}
	);
}



