$(function(){
    /*
    PŘIDAT PŘÍSPĚVEK DISKUZE
    */
    $('a.diskuzeLinkReagovat').click(function(e){
        var idParent = $(this).attr('rel');
        dialogPrispevekDiskuze(idParent, 'vloz');
        return false;
    });


    /*
    AKTUALIZOVAT PŘÍSPĚVEK DISKUZE
    */
    $('a.diskuzeLinkAktualizovatPrispevek').click(function(e){
        var idZaznam = $(this).attr('rel');
        dialogPrispevekDiskuze(idZaznam, 'aktualizuj');
        return false;
    });


    /*
    PŘIDAT / EDITOVAT TÉMA DISKUZE
    */
    $('.linkPridejTemaDiskuze').click(function(e){
        var data = {'projekt': $(this).attr('rel')};
        diagTemaDiskuze(data);
        
        return false;
    });
    
    $('.linkAktualizujTemaDiskuze').click(function(e){
        var idTemaDiskuze = $(this).attr('rel');
        $.get('/services/vrat-detail-tema-diskuze.php?id=' + idTemaDiskuze, function(data){
            diagTemaDiskuze(data);
        },'json');
        return false;
    });
    
    function diagTemaDiskuze(data)
    {
        if(!data) data = {};
        if(data.id > 0) {
            var jeNovy = false;
        } else {
            var jeNovy = true;
        }
        idProjekt = data.projekt;
        
        $('body').append('<div id="dialogPridatTemaDiskuze" title="' + (jeNovy ? 'Přidat téma diskuze' : 'Editovat téma diskuze') + '"/>');
        $('#dialogPridatTemaDiskuze').append('<p class="modelText">');

        $('#dialogPridatTemaDiskuze p.modelText').append('<input type="hidden" id="temaDiskuze_id" value="' + (jeNovy ? '' : data.id) + '"/>');

        $('#dialogPridatTemaDiskuze p.modelText').append('<label for="temaDiskuze_nazev">Název:</label><br/>');
        $('#dialogPridatTemaDiskuze p.modelText').append('<input type="text" size="40" id="temaDiskuze_nazev" value="' + (jeNovy ? '' : data.nazev) + '"/><br/>');
        $('#dialogPridatTemaDiskuze input').css({
            'width': '95%',
            'border': '1px solid silver'
        });

        $('#dialogPridatTemaDiskuze p.modelText').append('<label for="temaDiskuze_typ">Typ diskuze:</label><br/>');
        $('#dialogPridatTemaDiskuze p.modelText').append('<select id="temaDiskuze_typ" style="width: 200px"></select><br/>');
        $.get('/services/vrat-ciselnik.php?typ=typ-diskuze&projekt='+idProjekt,function(dataTyp) {
            $('typ_diskuze',dataTyp).each(function(){
                $('#temaDiskuze_typ').append('<option value="' + $(this).attr('id') + '">' + $(this).attr('nazev') + '</option>');
            });
            $('#temaDiskuze_typ option[value=' + data.typ + ']').attr('selected','selected');    
        },'xml');

        $('#dialogPridatTemaDiskuze p.modelText').append('<label for="temaDiskuze_popis">Popis:</label><br/>');
        $('#dialogPridatTemaDiskuze p.modelText').append('<textarea id="temaDiskuze_popis" cols="50" rows="10">' + (jeNovy ? '' : data.popis) + '</textarea>');
        $('#dialogPridatTemaDiskuze textarea').css({
            'width': '95%',
            'height': '70%',
            'border': '1px solid silver'
        });

        $('#dialogPridatTemaDiskuze').append('<p style="text-align: right;">');
        $('#dialogPridatTemaDiskuze p:last').append('<button type="button" class="btnReagovat">Uložit</button>');
        $('#dialogPridatTemaDiskuze p:last').append('<button type="button" class="btnZpet">Zpět</button>');

        $('#dialogPridatTemaDiskuze').dialog({
            modal: true,
            close: function(event, ui) {$('#dialogPridatTemaDiskuze').remove();},
            hide: 'scale',
            width: 380
        });

        $('#dialogPridatTemaDiskuze .btnZpet').ico('Back').click(function(){
            $('#dialogPridatTemaDiskuze').dialog('close');
        });

        $('#dialogPridatTemaDiskuze .btnReagovat').ico('Add').click(function(){
            var ok = true;

            var popis = $('#dialogPridatTemaDiskuze textarea');
            if($(popis).val().length == 0) {
                $(popis).animate({backgroundColor: '#f34'}, 500)
                        .animate({backgroundColor: '#fff'}, 500).focus();
                ok = false;
            }

            var nazev = $('#dialogPridatTemaDiskuze input[type=text]');
            if($(nazev).attr('value').length == 0) {
                $(nazev).animate({backgroundColor: '#f34'}, 500)
                        .animate({backgroundColor: '#fff'}, 500).focus();
                ok = false;
            }

            var typ = $('#temaDiskuze_typ');
            var idTemaDiskuze = $('#temaDiskuze_id');

            if(ok) {
                var url      = '/services/formular-tema-diskuze.php';
                var response = $.ajax({
                    url: url,
                    async: false,
                    dataType: "text",
                    type: "POST",
                    data: { 'projekt': idProjekt,
                            'id'     : idTemaDiskuze.val(),
                            'nazev'  : $(nazev).val(),
                            'popis'  : $(popis).val(),
                            'typ'    : $(typ).val()
                    }
                }).responseText;

                var idTemaDiskuze = response;

                if(idTemaDiskuze > 0) {
                    window.location.reload();
                } else {
                    jAlert('Téma se bohužel nepodařilo vložit. :(<br />Kontaktuj administrátory systému, prosím...<br/><br/>'+response);
                }

                $('#dialogPridatTemaDiskuze').dialog('close');
            }
        });

        document.getElementById('temaDiskuze_nazev').focus();
    }
    

    /*
    SMAZAT TÉMA DISKUZE
    */
    $('.linkSmazTemaDiskuze').click(function(e) {
        var idTema = $(this).attr('rel');
        var url = '/services/smaz-tema-diskuze.php';
        
        jConfirm('Opravdu chceš smazat téma diskuze?','Potvrzení smazání tématu',function(r){
            if(r) {
                var response = $.ajax({url: url, async: false, dataType: "text", type: "POST", data: {'id':idTema}}).responseText;
                if(response == 'OK') {
                    jAlert('Téma diskuze bylo úspěšně vymazáno.','Téma vymazáno',function() {
                        window.location.reload();
                    });
                } else {
                    jAlert('Téma diskuze se nepodařilo smazat. Kontaktujte prosím administrátora. <br/>' + response,'Téma nebylo vymazáno');
                }
            }
        });
        return false;
    });
    
    
    /*
    SMAZAT PŘÍSPĚVEK
    */
    $('.diskuzeLinkSmazatPrispevek').click(function(e){
        var idPrispevek = $(this).attr('rel');
        var url = '/services/smaz-prispevek-diskuze.php';
        
        jConfirm('Opravdu chceš smazat příspěvek?','Potvrzení smazání příspěvku',function(r){
            if(r) {
                var response = $.ajax({url: url, async: false, dataType: "text", type: "POST", data: {'id':idPrispevek}}).responseText;
                if(response == 'OK') {
                    jAlert('Příspěvek byl úspěšně vymazán.','Příspěvek vymazán',function(){
                        window.location.reload();
                    });
                } else {
                    jAlert('Příspěvek se nepodařilo smazat. Kontaktujte prosím administrátora. <br/>' + response,'Příspěvek nebyl vymazán');
                }
            }
        });
        return false;
    });
    
    
    /*
    UPRAVIT/PŘIDAT PŘÍSPĚVEK DISKUZE
    */
    function dialogPrispevekDiskuze(idZaznam, akce)
    {
        var idParent = 0;
        
        if(akce == 'vloz')
            idParent = idZaznam;

        $('body').append('<div id="dialogPrispevekDiskuzeReagovat" title="Příspěvek do diskuze"/>');
        if(idParent > 0 && akce == 'vloz') {
            var defNazev = $('#prispevekDiskuze_' + idParent + ' .nadpis:first').text();
            if(!defNazev.match(/RE: .*/)) {
                defNazev = 'RE: ' + defNazev;
            }
            var defObsah = $('#prispevekDiskuze_' + idParent + ' .obsah:first').html();
            defObsah = defObsah.replace(/<br[ /]*>/gi, '\n');
            arrObsah = defObsah.split('\n');
            var strObsah = '';
            for(i=0; i < arrObsah.length; i++) {
                strObsah += '\n> ' + arrObsah[i];
            }
            defObsah = strObsah;

            var defVerejny = $('#prispevekDiskuze_' + idParent + '').attr('class') == 'verejny' ? true : false;

        } else if(idZaznam > 0 && akce == 'aktualizuj') {
            var defNazev = $('#prispevekDiskuze_' + idZaznam + ' .nadpis:first').text();
            var defObsah = $('#prispevekDiskuze_' + idZaznam + ' .obsah:first').html();
            defObsah = defObsah.replace(/<br[ /]*>/gi, '\n');
            arrObsah = defObsah.split('\n');
            var strObsah = '';
            for(i=0; i < arrObsah.length; i++) {
                strObsah += arrObsah[i] + '\n';
            }
            defObsah = strObsah;
            
            var defVerejny = $('#prispevekDiskuze_' + idZaznam + '').attr('class') == 'verejny' ? true : false;
        } else {
            var defNazev = '';
            var defObsah = '';
        }

      
        $('#dialogPrispevekDiskuzeReagovat').append('<p  class="textModel">');
        $('#dialogPrispevekDiskuzeReagovat p.textModel').append('<label for="prispevekDiskuze_' + idParent + '_nazev">Název:</label><br/>');
    
        
        $('#dialogPrispevekDiskuzeReagovat p.textModel').append('<input type="text" size="40" id="prispevekDiskuze_' + idParent + '_nazev" value="' + defNazev + '"/><br/>');
        $('#dialogPrispevekDiskuzeReagovat p.textModel input').css({
            'width': '95%',
            'border': '1px solid silver'
        });

        $('#dialogPrispevekDiskuzeReagovat p.textModel').append('<label for="prispevekDiskuze_' + idParent + '_obsah">Obsah příspěvku:</label><br/>');
        $('#dialogPrispevekDiskuzeReagovat p.textModel').append('<textarea id="prispevekDiskuze_' + idParent + '_obsah" cols="50" rows="10">' + defObsah + '</textarea>');
        $('#dialogPrispevekDiskuzeReagovat p.textModel textarea').css({
            'width': '95%',
            'height': '70%',
            'border': '1px solid silver'
        });
        $('#dialogPrispevekDiskuzeReagovat p.textModel textarea').ckeditor({
            path: '/js/jquery.ckeditor/'
        });

        $('#dialogPrispevekDiskuzeReagovat').append('<p style="text-align: right;">');
        $('#dialogPrispevekDiskuzeReagovat p:last').append('<button type="button" class="btnReagovat">Odeslat</button>');
        $('#dialogPrispevekDiskuzeReagovat p:last').append('<button type="button" class="btnZpet">Zpět</button>');

        $('#dialogPrispevekDiskuzeReagovat').dialog({
            modal: true,
            close: function(event, ui) {$('#dialogPrispevekDiskuzeReagovat').remove();},
            hide: 'scale',
            width: 500
        });

        $('#dialogPrispevekDiskuzeReagovat .btnZpet').ico('Back').click(function(){
            $('#dialogPrispevekDiskuzeReagovat').dialog('close');
        });

        $('#dialogPrispevekDiskuzeReagovat .btnReagovat').ico('Add').click(function(){
            var ok = true;
            var idTema = getUrlVars()['tema'];
            
            var obsah = $('#dialogPrispevekDiskuzeReagovat textarea');
            if($(obsah).val().length == 0) {
                $(obsah).animate({backgroundColor: '#f34'}, 500)
                        .animate({backgroundColor: '#fff'}, 500).focus();
                ok = false;
            }

            var nazev = $('#dialogPrispevekDiskuzeReagovat input[type=text]');
            if($(nazev).attr('value').length == 0) {
                $(nazev).animate({backgroundColor: '#f34'}, 500)
                        .animate({backgroundColor: '#fff'}, 500).focus();
                ok = false;
            }

            if(ok) {
                if(akce == 'aktualizuj') {
                    var url = '/services/aktualizuj-prispevek-diskuze.php';
                    var postData = {
                        tema   : idTema,
                        id     : idZaznam,
                        nazev  : $(nazev).attr('value'),
                        obsah  : $(obsah).val()
                    };
                } else {
                    var url = '/services/vloz-prispevek-diskuze.php';
                    var postData = {
                        tema   : idTema,
                        parent : idParent,
                        nazev  : $(nazev).attr('value'),
                        obsah  : $(obsah).val()
                    };
                }

                var response = $.ajax({
                    url: url,
                    async: false,
                    dataType: "xml",
                    type: "POST",
                    data: postData
                }).responseXML;


                var idPrispevekDiskuze = '';
                var nazevPrispevekDiskuze = '';
                var obsahPrispevekDiskuze = '';
                var datumVlozeno = '';
                var nazevUzivatelVlozeno = '';
                $('prispevek_diskuze',response).each(function(){
                    idPrispevekDiskuze = $(this).attr('id_prispevek_diskuze');
                    nazevPrispevekDiskuze = $('nazev_prispevek_diskuze',this).text();
                    obsahPrispevekDiskuze = $('obsah_prispevek_diskuze',this).text();
                    datumVlozeno = $('datum_vlozeno',this).text();
                    nazevUzivatelVlozeno = $('nazev_uzivatel_vlozeno',this).text();
                });

                if(idPrispevekDiskuze > 0) {
                    window.location.reload();
                } else {
                    jAlert('Příspěvek se bohužel nepodařilo uložit. :(<br />Kontaktuj administrátory systému, prosím...<br/>' + response);
                }

                $('#dialogPrispevekDiskuzeReagovat').dialog('close');
            }
        });

        document.getElementById('prispevekDiskuze_' + idParent + '_nazev').focus();
    }
});

