/* fce pro schovani vsech elementu */
function toggle_all() {
	var odkaz = $("a#toggle_link");
	
	if(odkaz.text() == 'Schovat v\u0161e') {
		$("ul.cat:not(ul.i0, ul.i1)").css('display','none');
		odkaz.text('Zobrazit v\u0161e');	
	}
	else {
		$("ul.cat").css('display','block');
		odkaz.text('Schovat v\u0161e');
	}
}

/* fce pro zobrazeni resp schovani potomku */
function toggle_children(id_parent) {
    var tmp = $("ul." + id_parent);
    tmp.toggle();
    //pri schovavani chci schovat i otevrene potomky
    $("ul.i" + id_parent + " ul.cat").css('display','none');
} 

/* odebere PHP razeni tabulek, pokud funguje JS (pac normalne je vse razeno pres JS) */
function remove_sorting() {

	$("span.sorting").remove();
}

/* tooltip s nastavenim */
function mytooltip(id) {
$("#" + id).tooltip(({
                track: true,
                delay: 0,
                showURL: false,
                opacity: 1,
                fixPNG: true,
                showBody: " - ",
                extraClass: "pretty fancy",
                top: -3,
                left: 3
            }));

$('#pretty').tooltip({
    track: true,
    delay: 0,
    showURL: false,
    showBody: " - ",
    extraClass: "pretty",
    fixPNG: true,
    opacity: 0.95,
    left: -120
});
}

/* strankovani v adminu - po vybrani stranky v selectu se stanka rovnou nacte
 * + fce pro nastaveni poctu vysledku na stranku v adminu */
function getPage() {
    $('select.pageControl').change(function() {
        window.location = this.options[this.selectedIndex].value;
    })
    $('select.numberControl').change(function() {
        window.location = this.options[this.selectedIndex].value;
    })
}

/* slozita metoda :) */
/*
function add_remaining_days() {
    //pole s checkboxy dnu    
    var checkboxy = $('#fieldset-dny :checkbox:checked');

    //cyklus pro kazdy zatrzeny den
    $.each(checkboxy,function() {
        var id_checkbox = this.id;     //id checkboxu        
        var label = $('label[for="'+id_checkbox+'"]').text();  //ziskam hodnotu labelu, ktery se odkazuje na checkboxu
        var den_bez_diakritiky = $(this).attr('class');

        //vezmu cely fieldset
        var $tmp = $('#fieldset-doba').clone(); //naklonuju puvodni element
        $tmp.find('button#fill').remove();      //odstranim button
        $tmp.find('select').attr('readonly','readonly');    //selecty nastavim na readonly
        $tmp.attr('id','doba-' + den_bez_diakritiky);  //nastavim nove id fieldsetu
        $tmp.find('legend').text(label);    //nastavim novy label
        $tmp.append('<a href="" onclick="make_editable(\'doba-' + den_bez_diakritiky + '\'); return false;">Edituj</a>');    //pridam odkaz pro zpristupneni editace (tzn odstraneni "readonly")
        
        //predani hodnot (v cyklu prochazim hodnoty selectu v puvodnim fieldsetu a nastavuju je selectum v novem)
        var k = 0;
        $('#fieldset-doba select').each(function() {
            var id_select = this.id;        //ziskam id selectu ze zdroje
            $tmp.find('#' + id_select).val($(this).val())   //najdu si select se stejnym ID v clonu a nastavim mu stejnou hodnotu
            .attr('id',id_select + '-' + den_bez_diakritiky)   //a nasledne zmenim klonu ID
            .attr('name','oteviraci_doba[' + den_bez_diakritiky + '][' + k + ']');  //a nastavim spravne atribut name
            k++;
        });

        //vlozim upraveny fieldset 
        $('#fieldset-dny').before($tmp);
        $(this).parent().remove();  //odstranim polozku seznamu v ktere byl zatrzeny checkbox
        $(this).remove();   //odstranim vlastni checkbox
        $('label[for="'+id_checkbox+'"]').remove(); //odstranim label checkboxu
        
    });

    //serazeni dnu, aby sly po sobe
    

    //smazani fieldsetu s dnama, kdyz uz v nem zadny nejsou
    if($('#fieldset-dny :checkbox').length == 0) {
        $('#fieldset-dny').remove();
        $('#fieldset-doba').remove();
    }
}

//funkce pro zatrzeni vsech checkboxu
function check_my_box() {
    $('#fieldset-dny :checkbox').each(function() {
        if($(this).attr('checked')) {   //pokud je zatrzen checkbox
            $(this).attr('checked', false);
            $('#check_all').text('Zatrhnout v\u0161e');
        }
        else {
            $(this).attr('checked', true);
            $('#check_all').text('Odzna\u010dit vše');
        }
    });
}

function make_editable(id_fieldset) {
    $('#' + id_fieldset + ' select').attr('readonly', false);
}
*/

/**
 * metoda pro zkopirovani hodnot jednoho selectu do druheho
 */
function copy_values(button, den) {
    var cast_id = 'oteviraci_doba-';
    var next_day = get_next_day(den);

    var k = 0;
    $('#fieldset-' + next_day + ' select').each(function() {
        $(this).val($('#' + cast_id + den + '-' + k).val());
        k++;
    });
}

function get_next_day(day) {
    if(day == 'pondeli') {
        return 'utery';
    }
    if(day == 'utery') {
        return 'streda';
    }
    if(day == 'streda') {
        return 'ctvrtek';
    }
    if(day == 'ctvrtek') {
        return 'patek';
    }
    if(day == 'patek') {
        return 'sobota';
    }
    if(day == 'sobota') {
        return 'nedele';
    }
    return false;
}

function show_modal_dialog(element, title) {
    $(element)
        .show()
        .dialog(
        {
            autoopen: false,
            draggable: false,
            height: 'auto',
            modal: true,
            resizable: false,
            title: title,
            closeOnEscape: true,
            overlay: {
				backgroundColor: '#000',
				opacity: 0.5
			}

        }
    );
    $(element).dialog('open');
}

function show_dialog(element, title) {
    $(element)
        .show()
        .dialog(
        {
            autoopen: false,
            draggable: false,
            height: 700,
            width: 700,
            modal: true,
            resizable: true,
            title: title,
            closeOnEscape: true,
            overlay: {
				backgroundColor: '#000',
				opacity: 0.5
			}
        }
    );
    $(element).dialog('open');
}

/**
 * metoda pro JS odeslani formulare
 * POZOR: zadny prvek na strance se nesmi jmennovat "submit" (asi ani ID ani NAME)
 */

function submit_form(id_form) {
    $('#' + id_form).after("<p id='hlaska'>Opravdu chcete ulo\u017eit zm\u011bny?</p>");
    $('#hlaska').dialog(
        {
            modal: true,
            title: 'Upozorn\u011bní',
            resizable: false,
            overlay: {
				backgroundColor: '#000',
				opacity: 0.5
			},
            buttons: {
				'Ano, uložit': function() {
					document.getElementById(id_form).submit();
				},
				'Ne, zrušit': function() {
					$(this).dialog('close');
				}
			}
        }
    );
}

/**
 * metoda zobrazi dialogove okno s textem mailu
 */
function show_mail_text(id_mail) {
    $('#' + id_mail)
        .show()
        .dialog(
        {
            autoopen: false,
            height: 500,
            width: 700,
            modal: false,
            title: 'Text mailu',
            resizable: true
        }
    );
    $('#' + id_mail).css('width','auto');
    $('#' + id_mail).dialog('open');
    
}


/* zobrazeni logovaciho formulare */
$(document).ready(function(){
    $("#log-me").bind("click", function() {
        show_modal_dialog("#dialog","P\u0159ihlá\u0161ení do systému");
        return false;
    });

    $("#log-me2").bind("click", function() {
        show_modal_dialog("#dialog","P\u0159ihlá\u0161ení do systému");
        return false;
    });
});


/* registrace firmy - AJAX validace*/
$(document).ready(function(){
    $(function() {
        $("#tabs").tabs({
            select: function(event, ui) {
                var isValid = false;
                var selected = $('#tabs').tabs('option', 'selected');
                var data = $('#registrace_form :input').serialize();
                
                if(selected == 0) { //validace IC                    
                    getResponse('/ajax/validic',data, function(valid) {
                        //alert('inside: ' + valid);
                        if(valid == 1) {
                            isValid = true;
                        }
                        else {
                            $("#fakturacni-label").replaceWith('');
                            $("#fakturacni-element").replaceWith(valid);
                        }
                    });
                }
                //alert('outside: ' + isValid);
                if(selected == 1) { //validace tuny dalsich dat
                    getResponse('/ajax/validtabtwo',data, function(valid) {
                        //alert('inside: ' + valid);
                        if(valid == 1) {
                            isValid = true;
                        }
                        else {
                            $("#obecne-label").replaceWith('');
                            $("#obecne-element").replaceWith(valid);
                        }
                    });
                }
                if(selected == 2) { //validace zadavatele
                    getResponse('/ajax/validtabthree',data, function(valid) {
                        //alert('inside: ' + valid);
                        if(valid == 1) {
                            isValid = true;
                        }
                        else {
                            $("#zadavatel-label").replaceWith('');
                            $("#zadavatel-element").replaceWith(valid);
                        }
                    });
                }
                return isValid;
            }
        });

        $(".next-tab").bind("click", function()
        {
            var selected = $('#tabs').tabs('option', 'selected');
            $('#tabs').tabs('option', 'selected', selected+1);
            return false;
	});
    });
});

function getResponse(url,data,callback)
{
    $.ajax({
        type: 'POST',
        url: url,
        data: data,
        async: false,
        success: function(data) {
            callback(data);
        }
    });
}


/* detail firmy */
$(document).ready(function()
{
    /* schovani ostatnich polozek v seznamech s vice jak tremi polozkami */
    $('.collapse').each(function()
    {
        $(this).find('li:not(.collapsak)').each(function(index)
        {
            //pokud je v seznamu vice jak tri polozky, tak ty ostatni schovam
            if(index > 2) //indexuje se od nuly
            {
                $(this).hide();
            }
        }
        );
    });

    /* rozbaleni ostatnich polozek seznamu */
    $('.collapsak').live("click", function()
    {
        $(this).parent().find('li:hidden').attr('class','hidable').show();
        $(this).parent().append('<li class="hidak"><a href="#"><img src="/images/arrow_down.png" alt="schovat" /></a></li>')
        $(this).remove();
        return false;
    }
    );

    /* schovani polozek */
    $('.hidak').live("click", function()
    {
        $(this).parent().find('li.hidable').hide();
        $(this).parent().append('<li class="collapsak"><a href="#"><img src="/images/arrow_right.png" alt="rozbalit" /></a></li>')
        $(this).remove();
        return false;
    }
    );
});


/* oteviraci doba - START */
/* oteviraci doba - zkopirovani otviraci doby z predesleho dne */
function copy_values(button,den) {
    var k = 0;

    $(button).parent().parent().parent().parent().find('select:not(:disabled)').each(function() {
        $('#' + den + '-' + den + '_' + k + ':not(:disabled)').val($(this).val());
        k++;
    });
}


/* oteviraci doba - defaultne je schovane zadavani poledni prestavky */
$(document).ready(function()
{

    //zaregistrovani udalosti pro zatrzeni/zruseni nonstop checkboxu
    $('#oteviraci_doba_form :checkbox').bind('click', function()
    {
        //pri kliknuti na checkbox se nejprve zmeni stav checkboxu a teprve pote je vyvolana udalost kliknuti (aspon se to tak jevilo pri testovani)
        if($(this).attr('checked')) {
            $(this).parent().parent().parent().parent().find('select').attr('disabled','disabled');
        }
        else {
            $(this).parent().parent().parent().parent().find('select').removeAttr('disabled');
        }
    });

    //schovani polednich pauz pri nacteni stranky
    $('.to-hide').hide();

    //disablovani selectu u nonstop dnu pri nacteni stranky
    $('#oteviraci_doba_form :checkbox:checked').parent().parent().parent().parent().find('select').attr('disabled','disabled');


    //pridani akce kliknuti na link pro schovani poledni pauzy
    $('.schov-pauzu').live("click", function()
    {
        $(this).attr('class','ukaz-pauzu');
        $(this).parent().parent().parent().parent().find('.to-hide').hide();
        return false;
    });

    //pridani akce kliknuti na link pro pridani poledni pauzy
    $('.ukaz-pauzu').live("click", function()
    {
        $(this).attr('class','schov-pauzu');
        $(this).parent().parent().parent().parent().find('.to-hide:hidden').show();

        return false;
    });

    //pridani buttonu pro zobrazeni polednich pauz (vsechny buttony krome toho s ID "save")
    $('#oteviraci_doba_form .left').each(function()
    {
        $(this).append('<dt></dt><dd><a style="float:left;"href="#" class="ukaz-pauzu">Poledni pauza</a></dd>')
    });

});

/* oteviraci doba - KONEC */


