/** @file /www/js/kosik.js
    Funkce a nastaveni pro obsluzne rutiny na strance s kosikem,
    registracnim formularem a vyberem dopravy

    @author Petr Wolf
*/

/** kontroluje odesilaci formular pro registraci zakaznika */
function kontrolaRegistrace()
{
    var registrovany_radio = document.getElementById('registrovany_radio');
    var form_ptr = document.getElementById('kosik_form');

    if(registrovany_radio)
    {
        if (registrovany_radio.checked)
        {
            // prihlasuje se registrovany uzivatel

            var Prvky = new Array(
                [form_ptr.r_login,"Musíte zadat Váš login"]
               ,[form_ptr.r_heslo,"Musíte zadat Vaše heslo"]
            );
            return formCheck(Prvky);
        }
        else
        {
            // registruje se novy zakaznik
            var druh_doruceni = 0;
            try
            {
                druh_doruceni = document.getElementById('vybrany-druh-dopravy').value;
            }
            catch(e)
            {
                druh_doruceni = 0;
            }
            
            if(druh_doruceni == 2)
            {
                var Prvky = new Array(
                    [form_ptr.k_jmeno,"Musíte zadat Vaše jméno"]
                   ,[form_ptr.k_prijmeni,"Musíte zadat Vaše příjmení"]
                   ,[form_ptr.k_email,"Musíte zadat Vaši e-mailovou adresu"]
                   ,[form_ptr.k_telefon,"Musíte zadat Váš telefon"]
                   ,[form_ptr.k_ulice,"Musíte zadat Vaši ulici"]
                   ,[form_ptr.k_obec,"Musíte zadat Vaši obec"]
                   ,[form_ptr.k_psc,"Musíte zadat Vaše PSČ"]
                   );
            }
            else
            {
                var Prvky = new Array(
                    [form_ptr.k_jmeno,"Musíte zadat Vaše jméno"]
                   ,[form_ptr.k_prijmeni,"Musíte zadat Vaše příjmení"]
                   ,[form_ptr.k_email,"Musíte zadat Vaši e-mailovou adresu"]
                   ,[form_ptr.k_telefon,"Musíte zadat Váš telefon"]
                      );
            }
            return (formCheck(Prvky) && telefonCheck(form_ptr.k_telefon) && mailCheck(form_ptr.k_email));

        }
    }
    else
        return true;
}

/* kontrola celeho formulare s kosikem, dopravou a registraci */
function kosikCheck()
{
    if(!kontrolaDopravy()) // je vybrana doprava ?
        return false;
    else if(!kontrolaRegistrace()) //
        return false;
    else
        return true;
}

function aktualizujSoucty()
{
    var suma_bez = document.getElementById('suma_bez');
    var suma_s = document.getElementById('suma_s');

    suma_bez.innerHTML = cenaToString(cenaZbozi_bez + cenaDopravy_bez + cenaBonusu_bez);
    suma_s.innerHTML = cenaToString(cenaZbozi_s + cenaDopravy_s + cenaBonusu_s);
}

function celkovaCenaDopravy()
{
    var doprava_cena_bez = document.getElementById('doprava_cena_bez');
    var doprava_cena_s = document.getElementById('doprava_cena_s');

    cenaDopravy_bez = cenaDruhDopravy_bez + cenaTypDopravy_bez + cenaPlatebniMetoda_bez;
    cenaDopravy_s = cenaDruhDopravy_s + cenaTypDopravy_s + cenaPlatebniMetoda_s;

    doprava_cena_bez.innerHTML = cenaToString(cenaDopravy_bez);
    doprava_cena_s.innerHTML = cenaToString(cenaDopravy_s);
}

function zvolDruhDopravy(nazev, cena_s, cena_bez)
{
/*
    var doprava_druh_nazev = document.getElementById('doprava_druh_nazev');

    cenaDruhDopravy_s = cena_s;
    cenaDruhDopravy_bez = cena_bez;

    doprava_druh_nazev.innerHTML = nazev;

    document.getElementById('doprava_typ_nazev').innerHTML = '';
    cenaTypDopravy_s = cenaTypDopravy_bez = 0;
    document.getElementById('platebni_metoda_nazev').innerHTML = '';
    cenaPlatebniMetoda_s = cenaPlatebniMetoda_bez = 0;

    celkovaCenaDopravy();
    aktualizujSoucty();
*/
}

function zvolTypDopravy(nazev, cena_s, cena_bez)
{
	/*
    var doprava_typ_nazev = document.getElementById('doprava_typ_nazev');

    cenaTypDopravy_s = cena_s;
    cenaTypDopravy_bez = cena_bez;

    doprava_typ_nazev.innerHTML = ' - '+nazev;

    document.getElementById('platebni_metoda_nazev').innerHTML = '';
    cenaPlatebniMetoda_s = cenaPlatebniMetoda_bez = 0;

    celkovaCenaDopravy();
    aktualizujSoucty();
/*
    try
    {
        var idx = platby_typu[index][0];
        document.getElementById('radio-platba-'+idx).click();
    }
    catch(e) {}
*/
}

function zvolMetoduPlatby(nazev, cena_s, cena_bez)
{
	/*
    var platebni_metoda_nazev = document.getElementById('platebni_metoda_nazev');

    cenaPlatebniMetoda_s = cena_s;
    cenaPlatebniMetoda_bez = cena_bez;

    platebni_metoda_nazev.innerHTML = ' - '+nazev;

    celkovaCenaDopravy();
    aktualizujSoucty();
	*/
}

/** funkce obsluhuje kliknuti na checkbox "bonusu dopravy"
    vklada / odstranuje odpovidajici polozku v tabulce kosiku
*/

function zvolBonus(bd_index, cena_bez, cena_s)
{
    var radek = document.getElementById('bonus_radek_' + bd_index);
    var check = document.getElementById('bonus_checkbox_' + bd_index);

    if (check.checked) 
    {
        // prave jsem danou polozku zvolil checkboxem
        radek.style.display = '';
        check.checked = true;
        cenaBonusu_bez += cena_bez
        cenaBonusu_s += cena_s;

    }
    else 
    {
        // prave jsem danou polozku zrusil checkboxem, nebo krizkem v kosiku
        radek.style.display = 'none';
        check.checked = false;
        cenaBonusu_bez -= cena_bez
        cenaBonusu_s -= cena_s;
    }

    aktualizujSoucty();
}

function ZvolSkupinu(skupina,prvni_ve_skupine)
{
    var Prvni;

    if(skupina != SkupinaVybrana) 
    {
        SkupinaVybrana = skupina;
        Prvni = document.getElementById('doprava_'+prvni_ve_skupine);
        if(Prvni) 
        {
            Prvni.checked = true;
            Prvni.onclick();
        }
    }
}

function registrace(stav)
{
    var registrovany = document.getElementById("registrovany");
    var neregistrovany = document.getElementById("neregistrovany");
    try
    { 
        if(stav) 
        {
            registrovany.style.display = "block";
            neregistrovany.style.display = "none";
        }
        else 
        {
            registrovany.style.display = "none";
            neregistrovany.style.display = "block";
        }
    }
    catch(e) {}
}

function zobraz_typy(druh)
{
    hide_all();
    document.getElementById('doprava-typy-table').style.display = 'block';
    for(i=0;i<typy_druhu[druh].length;i++)
        if(document.getElementById('typ-dopravy-'+typy_druhu[druh][i]))
            document.getElementById('typ-dopravy-'+typy_druhu[druh][i]).style.display = 'block';
    
    try
    {
        if(druh > 1 && (cenaZbozi_s + cenaDopravy_s) > 3000)
        {    
            document.getElementById('doprava-splatky-tip').style.display = 'block';
        }
        else
        {
            document.getElementById('doprava-splatky-tip').style.display = 'none';    
        }
        document.getElementById('vybrany-druh-dopravy').value = druh;
    } 
    catch(e) {}
    
    
}
function zobraz_platby(typ)
{
    hide_platby();
    document.getElementById('doprava-platby-table').style.display = 'block';
    for(i=0;i<=platby_typu[typ].length;i++)
        if(document.getElementById('platba-'+platby_typu[typ][i]))
            document.getElementById('platba-'+platby_typu[typ][i]).style.display = 'block';
}

function hide_typy()
{
    document.getElementById('doprava-typy-table').style.display = 'none';
    for(i=0;i<vsechny_typy.length;i++)
        if(document.getElementById(vsechny_typy[i]))
            document.getElementById(vsechny_typy[i]).style.display = 'none';
    re = new RegExp('Opera 7\.5');
    if(!re.test(navigator.userAgent))
    {
        for(j=0;j<document.getElementById('kosik_form').typ_dopravy.length;j++)
            document.getElementById('kosik_form').typ_dopravy[j].checked = false;
    }
}
function hide_platby()
{
    document.getElementById('doprava-platby-table').style.display = 'none';
    for(i=0;i<vsechny_platby.length;i++)
        if(document.getElementById(vsechny_platby[i]))
            document.getElementById(vsechny_platby[i]).style.display = 'none';
    re = new RegExp('Opera 7\.5');
    if(!re.test(navigator.userAgent))
    {
        for(j=0;j<document.getElementById('kosik_form').platba.length;j++)
            document.getElementById('kosik_form').platba[j].checked = false;
    }
}
function hide_all()
{
    hide_typy();
    hide_platby();
}
function init_transport_form()
{
    hide_typy();
    hide_platby();
    for(i=0;i<document.getElementById('kosik_form').druh_dopravy.length;i++)
        document.getElementById('kosik_form').druh_dopravy[i].checked = false;
}

function kontrolaDopravy()
{
    var vybrany_druh = false;
    var vybrany_typ = false;
    var vybrana_platba = false;

    for(i=0;i<document.getElementById('kosik_form').druh_dopravy.length;i++)
        if(document.getElementById('kosik_form').druh_dopravy[i].checked)
            vybrany_druh = true;

    for(i=0;i<document.getElementById('kosik_form').typ_dopravy.length;i++)
        if(document.getElementById('kosik_form').typ_dopravy[i].checked)
            vybrany_typ = true;

    for(i=0;i<document.getElementById('kosik_form').platba.length;i++)
        if(document.getElementById('kosik_form').platba[i].checked)
            vybrana_platba = true;

    if(!vybrany_druh)
    {
        alert("Vyberte prosím druh dopravy. Děkujeme.");
        return false;
    }
    else if(!vybrany_typ)
    {
        alert("Vyberte prosím typ dopravy. Děkujeme.");
        return false;
    }
    else if(!vybrana_platba)
    {
        alert("Vyberte prosím platební metodu. Děkujeme.");
        return false;
    }
    else
        return true;
}
