/* 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();
}


/* 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;
    })
}





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);
        }
    });
}
