/** @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(form_ptr)
{
    var registrovany_radio = document.getElementById('registrovany_radio');
    //var form_ptr = document.getElementById('form-adresy');

    if(registrovany_radio)
    {
        if(registrovany_radio.checked)
        {
            // prihlasuje se registrovany uzivatel

            var Prvky = new Array(
                [form_ptr.r_login, "Vyplňte prosím Váš login."],
                [form_ptr.r_heslo, "Vyplňte prosím Vaše heslo."]);

            return formCheck(Prvky);
        }
        else
        {
            // registruje se novy zakaznik
            var druh_doruceni = 0;
            try
            {
                druh_doruceni = document.getElementById('zvoleny-druh-dopravy').value;
                if(document.getElementById('henkel').value == '1')
                    druh_doruceni = 2;
                if(document.getElementById('hdsOdber').value == '1')
                    druh_doruceni = 2;
                if(document.getElementById('doprava_match').value == 'MESSENGER')
                	druh_doruceni = 2;
            }
            catch(e)
            {
                druh_doruceni = 0;
            }
            //alert(druh_doruceni);return false;
            if(druh_doruceni == 2)
            {
            	// na balik na postu se netestuje ulice/obec/psc
            	var balik = 1;

            	try
                {
            		balik = document.getElementById('BalikNaPostu').value;
                }
            	catch(e)
            	{
            		var balik = 0;
            	}

            	if(balik == '1')
                {
            		var Prvky = new Array(
                            [form_ptr.k_jmeno, "Vyplňte prosím Vaše jméno."],
                            [form_ptr.k_prijmeni, "Vyplňte prosím Vaše příjmení."],
                            [form_ptr.k_email, "Vyplňte prosím Vaši e-mailovou adresu."],
                            [form_ptr.k_telefon, "Vyplňte prosím Váš telefon."]);
                }
            	else
                {
            		var Prvky = new Array(
                            [form_ptr.k_jmeno, "Vyplňte prosím Vaše jméno."],
                            [form_ptr.k_prijmeni, "Vyplňte prosím Vaše příjmení."],
                            [form_ptr.k_email, "Vyplňte prosím Vaši e-mailovou adresu."],
                            [form_ptr.k_telefon, "Vyplňte prosím Váš telefon."],
                            [form_ptr.k_ulice, "Bylo vybráno doručení nebo HDS osobní odběr, vyplňte prosím Vaši ulici."],
                            [form_ptr.k_obec, "Bylo vybráno doručení nebo HDS osobní odběr, vyplňte prosím Vaši obec."],
                            [form_ptr.k_psc, "Bylo vybráno doručení nebo HDS osobní odběr, vyplňte prosím Vaše PSČ."]);
                }
            }
            else
            {
                var Prvky = new Array(
                    [form_ptr.k_jmeno, "Vyplňte prosím Vaše jméno."],
                    [form_ptr.k_prijmeni, "Vyplňte prosím Vaše příjmení."],
                    [form_ptr.k_email, "Vyplňte prosím Vaši e-mailovou adresu."],
                    [form_ptr.k_telefon, "Vyplňte prosím Váš telefon."]);
            }

            if((formCheck(Prvky) && telefonCheck(form_ptr.k_telefon) && mailCheck(form_ptr.k_email) && kontrolaBalikNaPostu(form_ptr) && kontrolaDodaciAdresy(form_ptr, document.getElementById('dodaci_adresa_1').checked, druh_doruceni)))
            {
            	return true;
            }
            return false;
        }
    }
    else
        return true;
}

function kontrolaDodaciAdresy(form_ptr, do_check, druh_dopravy)
{
    if(do_check && druh_dopravy == "2")
    {
        var prvky = new Array(
            [form_ptr.d_jmeno, "Vyplňte prosím Vaše jméno."],
            [form_ptr.d_prijmeni, "Vyplňte prosím Vaše příjmení."],
            [form_ptr.d_ulice, "Bylo vybráno doručení, vyplňte prosím Vaši ulici."],
            [form_ptr.d_obec, "Bylo vybráno doručení, vyplňte prosím Vaši obec."],
            [form_ptr.d_psc, "Bylo vybráno doručení, vyplňte prosím Vaše PSČ."]);

        return formCheck(prvky);
    }
    else
        return true;
}

function kontrolaBalikNaPostu(form_ptr)
{
	var balik = 1;

	try
    {
		balik = document.getElementById('BalikNaPostu').value;
    }
	catch(e)
	{
		var balik = 0;
	}

    if(balik == '1')
    {
    	if(document.getElementById('d_ulice').value == '')
    	{
    		alert("Bylo vybráno doručení Balík na poštu. Vyberte požadovanou poštu.");
    		document.getElementById('postaMesto').focus();
            return false;
    	}
    	if(document.getElementById('d_jmeno').value == '')
    	{
    		alert("Bylo vybráno doručení Balík na poštu. Vyplňte prosím Vaše jméno.");
    		document.getElementById('d_jmeno').focus();
            return false;
    	}
    	if(document.getElementById('d_prijmeni').value == '')
    	{
    		alert("Bylo vybráno doručení Balík na poštu. Vyplňte prosím Vaše příjmení.");
    		document.getElementById('d_prijmeni').focus();
            return false;
    	}
    	if(document.getElementById('d_telefon').value == '')
    	{
    		alert("Bylo vybráno doručení Balík na poštu. Vyplňte prosím Váš telefon.");
    		document.getElementById('d_telefon').focus();
            return false;
    	}
    	return true;
   	}
    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();
*/
}

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();
*/
	if( nazev == 'Splátkový prodej Triangl' ) {
		$.get( "/ajax_scripts/splatky_triangl_seznam.php", false, function( data ) {
			$('#doprava-splatky-varianty').html( data );
			$('#doprava-splatky-table table').show();
		});
	} else {
		$('#doprava-splatky-table table').hide();
		$('#doprava-splatky-vypocet').hide();
	}
}


/** 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
    {
        document.getElementById('vybrany-druh-dopravy').value = druh;
    }
    catch(e) {}

    try
    {
    	if(druh == 1)
    		document.getElementById('kosik-nv-nedostupna').style.display = 'block';
    	else
    		document.getElementById('kosik-nv-nedostupna').style.display = 'none';
    }
    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]))
        {
        	//alert(platby_typu[typ][i]);
        	//try {
            //document.getElementById('platba-'+platby_typu[typ][i]).style.display = 'block';
        		$('#platba-'+platby_typu[typ][i]).show();
        	//} catch(e) {}
        }
    }
}

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('form-doprava').typ_dopravy.length;j++)
            document.getElementById('form-doprava').typ_dopravy[j].checked = false;
    }
}
function hide_platby()
{
    document.getElementById('doprava-platby-table').style.display = 'none';
    for(i=0;i<vsechny_platby.length;i++)
    {
        $('#'+vsechny_platby[i]).hide();


    }
    re = new RegExp('Opera 7\.5');
    if(!re.test(navigator.userAgent))
    {
        for(j=0;j<document.getElementById('form-doprava').platba.length;j++)
            document.getElementById('form-doprava').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('form-doprava').druh_dopravy.length;i++)
        document.getElementById('form-doprava').druh_dopravy[i].checked = false;
}

function kontrolaDopravy(frm_ptr)
{
    var vybrany_druh = false;
    var vybrany_typ = false;
    var vybrana_platba = false;

    /* kontrola druhu dopravy */
    if(frm_ptr.druh_dopravy.length)
    {
        /* pole radio elementu */
        for(i=0;i<frm_ptr.druh_dopravy.length;i++)
        {
            if(frm_ptr.druh_dopravy[i].checked)
                vybrany_druh = true;
        }
    }
    else
    {
        /* jeden radio element */
        if(frm_ptr.druh_dopravy.checked)
            vybrany_druh = true;
    }

    /* kontrola typu dopravy */
    if(frm_ptr.typ_dopravy.length)
    {
	    /* pole radio elementu */
	    for(i=0;i<frm_ptr.typ_dopravy.length;i++)
	    {
	        if(frm_ptr.typ_dopravy[i].checked)
	            vybrany_typ = true;
        }
    }
    else
    {
        /* jeden radio element */
        if(frm_ptr.typ_dopravy.checked)
            vybrany_typ = true;
    }

    /* kontrola platby */
    if(frm_ptr.platba.length)
    {
	    /* pole radio elementu */
	    for(i=0;i<frm_ptr.platba.length;i++)
	    {
	        if(frm_ptr.platba[i].checked)
	            vybrana_platba = true;
        }
    }
    else
    {
        /* jeden radio element */
        if(frm_ptr.platba.checked)
            vybrana_platba = true;
    }

    if(!vybrany_druh)
    {
        alert("Vyberte prosím druh dopravy.");
        return false;
    }
    else if(!vybrany_typ)
    {
        alert("Vyberte prosím typ dopravy.");
        return false;
    }
    else if(!vybrana_platba)
    {
        alert("Vyberte prosím platební metodu.");
        return false;
    }
    else
    {
        return true;
    }
}

$(document).ready(function() {
	// Doplneni textu do poznamky k objednavce
	var text_poznamka_objednavky = "(Pro urychlení vyřízení objednávky nevypisujte žádné poznámky)";
	$('#objednavka_poznamka')
		.css({'color':'#909090'}).text(text_poznamka_objednavky)
		.bind('click', function(){
			if( $(this).text() ==  text_poznamka_objednavky)
			{
				$(this).css({'color':'#000'}).text('');
			}
		})
		 
	//Odstranime text s poznamkou o urychleni vyrizeni
	$('#form-doprava').submit(function(){		
		if( $('#objednavka_poznamka').text() ==  text_poznamka_objednavky)
		{
			$('#objednavka_poznamka').text('');
		}
	});

});

