﻿EWizardState = new function()
{
	this.Menu = 0;
	this.Personal = 1;
	this.DetailedParams = 2;
	this.FromAddress = 3;
	this.ToAddress = 4;
	this.RouteSearch = 5;
	this.Result = 6;
	this.Map = 7;
	
	var m_arrValues = ["Menu", "Personal", "DetailedParams", "FromAddress", "ToAddress", "RouteSearch", "Result", "Map"];
	
	this.Parse = function(value)
	{
		var parsed = null;
		if(typeof(value) == "number")
			parsed = m_arrValues[value];
		else if(typeof(value) == "string")
		{
			var num = parseInt(value, 10);
			if(!isNaN(num))
			{
				parsed = this[m_arrValues[num]];
			}
			else
				parsed = this[value];
		}
		if(parsed !== null && parsed !== undefined)
		{
			return parsed;
		}
		return 0;
	}
}

function GetWizardState()
{
	var value = $("#ctl00_WizardState").val();
	value = EWizardState.Parse(value);
	
	return value;
}
function SetWizardState(value)
{
	$("#ctl00_WizardState").val(value);
}

function SetTimeParemeterVisibility(bForced)
{
	var combo = $("#ctl00_body_idVehicleType").get(0);
	if(bForced || combo)
	{
		if(bForced || combo.selectedIndex == 1)
		{
			$(".UI_timeparameters").show();
		}
		else
		{
			$(".UI_timeparameters").hide();
		}
	}
}


function Init()
{
	ShowDisplaySettings(false);
	setAlpha("#idStatus");
	g_MyStatusAnimator = new StatusAnimator()
	g_MyStatusAnimator.SetDiv(document.getElementById("idStatus"));

	SetTimeParemeterVisibility();
	$("#ctl00_body_idVehicleType").change(function(){SetTimeParemeterVisibility(false)});
}



function GetAbsUrl(strRelativeUrl){return g_strDirUrl+"/"+strRelativeUrl;}




function ShowSiteMap(bShow)
{
	var div = GetBlock('idMenuDiv');
	if(div)
	{
		if(bShow)
		{
			div.className = "UI_Menu";
			ShowWizardPage(EWizardState.Menu);
		}
		else if( GetWizardState() == EWizardState.Menu)
			div.className = "UI_Menu_Wizard";
		else 
		div.className = "UI_Menu_hidden";
	}
}

function ShowDisplaySettings(bShow)
{
	var div = GetBlock('idDisplayParams').parentNode;
	if(bShow == undefined)
	{
		bShow = (div.className == "hidden");
	}
	if(bShow)
		RemoveCssClass(div, "hidden");
	else
		AddCssClass(div, "hidden");
}

function ShowWizardPage(ePage)
{
	$(".Wizard_Content").addClass("Wizard_Hidden");
	$(".Wizard_Temp").remove();
    $(".SiteMap").not(":first").remove();
	var show = null;
	var buttons = null;
	switch(ePage)
	{
		case EWizardState.Menu:;
		    $("#SiteMap").after("<a class='SiteMap Wizard_Only Wizard_Temp' href='#ctl00_body_idStart' onclick='ShowWizardPage(EWizardState.FromAddress);ShowSiteMap(false);'>Indulás</a>");
			show = $("#idFooter, .UI_logo_container");
			break;
		case EWizardState.Personal:
			show = $("#ctl00_bodytop_pnlPersonal, .UI_parameters");
			$("#SiteMap").after("<a class='SiteMap Wizard_Only Wizard_Temp' href='#ctl00_body_idStart' onclick='ShowWizardPage(EWizardState.FromAddress)'>Indulás</a>");
			break;
		case EWizardState.DetailedParams:
			show = $(".UI_parameters");
			break;

        case EWizardState.FromAddress:
            show = $("#idAddressFrom");
            if ($("#ctl00_body_spTo_AS:contains('Kiválasztva')").get(0) != null)
            {
                $("#ctl00_body_spFrom_AS:contains('Kiválasztva')").append("<input type='button' class='Wizard_Only Wizard_Temp' onclick='ShowWizardPage(EWizardState.RouteSearch)' value='Útvonaltervezés'/>");
            }
            else
            {
                $("#ctl00_body_spFrom_AS:contains('Kiválasztva')").append("<input type='button' class='Wizard_Only Wizard_Temp' onclick='ShowWizardPage(EWizardState.ToAddress)' value='Érkezési cím kiválasztása'/>");
            }
            break;
        case EWizardState.ToAddress:
            show = $("#idAddressTo");
            if ($("#ctl00_body_spFrom_AS:contains('Kiválasztva')").get(0) != null)
            {
                $("#ctl00_body_spTo_AS:contains('Kiválasztva')").append("<input type='button' class='Wizard_Only Wizard_Temp' onclick='ShowWizardPage(EWizardState.RouteSearch)' value='Útvonaltervezés'/>");
            }
            else
            {
                $("#ctl00_body_spTo_AS:contains('Kiválasztva')").append("<input type='button' class='Wizard_Only Wizard_Temp' onclick='ShowWizardPage(EWizardState.FromAddress)' value='Indulási cím kiválasztása'/>");
            }
            break;
		case EWizardState.RouteSearch:
			show = $("div:has(.UI_startbutton)");
			break;
		case EWizardState.Result:
			show = $("#RouteResultContainer");
			break;
		case EWizardState.Map:
			show = $("#MainMapContainer");
			break;
	}
	if(show)
		show.removeClass("Wizard_Hidden");
	SetWizardState(ePage);
}
