var msg = {
    bg: false,
    block: false,

    /**
     * Patvirtinimo langas
     *
     * @param string message   - Žinutė
     * @param string callback  - Iškviečiama funkcija sutikus
     * @param string altSubmit - Sutikimo žinutė
     * @param string altCancel - Atšaukimo žinutė
     */
    confirm: function(message, callback, altSubmit, altCancel)
    {
        if(altSubmit === undefined)
            var textSubmit = 'Gerai';
        else
            var textSubmit = altSubmit;

        if(altCancel === undefined)
            var textCancel = 'Atšaukti';
        else
            var textCancel = altCancel;

        var html = '<p class="tekstas">'+ message +'</p>';

        html += '<button id="btnCancel" type="button" class="mygtukasPaprastas lygiuotiDesine">';
        html += '<div class="fonas mygtukoPaprastoKaire"><span class="fonas mygtukoPaprastoDesine">&nbsp; '+ textCancel +' &nbsp;</span></div>';
        html += '</button>';
        html += '<button id="btnSubmit" type="button" class="mygtukasPaprastas lygiuotiDesine">';
        html += '<div class="fonas mygtukoPaprastoKaire"><span class="fonas mygtukoPaprastoDesine">&nbsp; '+ textSubmit +' &nbsp;</span></div>';
        html += '</button>';
        html += '<div class="isvalytiApacia"></div>';

        popup.create(html,'popup');

        $('#btnSubmit').click(function(e){
            popup.close();
            eval(callback);
        });
        $('#btnCancel').click(function(e){popup.close();});
    },

    /**
     * Pranešimo langas
     *
     * @param string message - Žinutė
     */
    alert : function(message)
    {
        var html = '<p class="tekstas">'+ message +'</p>';
        html += '<button id="btnCancel" type="button" class="mygtukasPaprastas lygiuotiDesine">';
        html += '<div class="fonas mygtukoPaprastoKaire"><span class="fonas mygtukoPaprastoDesine">&nbsp; '+ _('Uždaryti') +' &nbsp;</span></div>';
        html += '</button>';
        html += '<div class="isvalytiApacia"></div>';

        popup.create(html,'popup');

        $('#btnCancel').click(function(e){popup.close();});
    },

    /**
     * Informacinė žinutė
     *
     * @param string item - Žinutės tipas
     *
     * @return object
     */
    autoClose: function(item)
    {
        $(document).ready(function(){
            setTimeout('msg.close("'+ item +'")', 5000);
        });
    },

    /**
     * Žinučių uždarymas
     */
    close: function(item)
    {
        if(item !== undefined)
            this.block = $('#'+ item);

        if(this.bg)
        {
            $(this.bg).fadeOut('slow');
            $(this.bg).queue(function (){
                $(this).remove();
                $(this).dequeue();
            });
        }
        if(this.block)
        {
            $(this.block).hide('slow');
            $(this.block).queue(function (){
                $(this).remove();
                $(this).dequeue();
            });
        }
        enableForms();
    }
};

var popup = {
    /**
     * Background
     */
    bg: false,

    /**
     * Popup
     */
    block: false,

    /**
     * Popup sukūrimas
     */
    create: function(html, template)
    {
        if(this.bg || this.block)
            return;

        var templates = {
            censor : {
                bg : 'popUpFonas',
                popup : 'popUpBlokas',
                content : '<div class="plotis412"><a href="#" onclick="popup.close();return false;"><img src="/pimg/Site/spice.gif" class="ikonuFonas trinti lygiuotiDesine"  title="'+ _('Uždaryti') +'" /></a>{$HTML}</div>',
                top : 150
            },
            send : {
                bg : 'popUpFonas',
                popup : 'popUpBlokas',
                content : '<div class="plotis412"><a href="#" onclick="popup.close();return false;"><img src="/pimg/Site/spice.gif" class="ikonuFonas trinti lygiuotiDesine"  title="'+ _('Uždaryti') +'" /></a>{$HTML}</div>',
                top : 150
            },
            /*popup : {
                bg : 'PatvirtinimasBg',
                popup : 'PopUp',
                content : '<div class="icon delete FloatRigt"><a href="#" onclick="popup.close();return false;"></a></div>{$HTML}',
                top : 150
            },*/
            popup : {
                bg : 'popUpFonas',
                popup : 'popUpBlokas',
                content : '<div class="plotis412"><a href="#" onclick="popup.close();return false;"><img src="/pimg/Site/spice.gif" class="ikonuFonas trinti lygiuotiDesine"  title="'+ _('Uždaryti') +'" /></a>{$HTML}</div>',
                top : 150
            },
            mokejimas : {
                bg : 'popUpFonas',
                popup : 'popUpBlokas',
                content : '<div class="plotis500"><a href="#" onclick="popup.close();return false;"><img src="/pimg/Site/spice.gif" class="ikonuFonas trinti lygiuotiDesine"  title="'+ _('Uždaryti') +'" /></a>{$HTML}</div>',
                top : 50
            },
            msg : {
                bg : 'popUpFonas',
                popup : 'popUpBlokas',
                content : '<div class="plotis412"><a href="#" onclick="popup.close();return false;"><img src="/pimg/Site/spice.gif" class="ikonuFonas trinti lygiuotiDesine"  title="'+ _('Uždaryti') +'" /></a>{$HTML}</div>',
                top : 150
            },
            popupWide : {
                bg : 'popUpFonas',
                popup : 'PopUpWide',
                content : '<a href="#" onclick="popup.close();return false;"><img src="/pimg/Site/spice.gif" class="ikonuFonas trinti lygiuotiDesine"  title="'+ _('Uždaryti') +'" /></a>{$HTML}',
                top : 150
            },
            welcomeMessage : {
                bg : 'popUpFonas',
                popup : 'popUpBlokas',
                content : '{$HTML}',
                top : 150
            },
            empty : {
                bg : 'popUpFonas',
                popup : 'popUpEmpty',
                content : '{$HTML}',
                top : 150
            },
            taisykles : {
                bg : 'popUpFonas',
                popup : 'popUpBlokas',
                content : '<div class="plotis560"><a href="#" onclick="popup.close();return false;"><img src="/pimg/Site/spice.gif" class="ikonuFonas trinti lygiuotiDesine"  title="'+ _('Uždaryti') +'" /></a>{$HTML}</div>',
                top : 150
            }
        };

        if(html === undefined || html == '')
        {
            alert('undefined popup content.');
            return;
        }

        if(template === undefined)
            template = 'censore';

        if(templates[template] === undefined)
        {
            alert('undefined popup template.');
            return;
        }

        var bg          = templates[template].bg;
        var popupName   = templates[template].popup;
        var content     = templates[template].content.replace(/\{\$HTML\}/, html);
        var top         = templates[template].top;

        this.bg = document.createElement('div');
        $(this.bg).attr('id',bg);
        $(this.bg).attr('class',bg);
        $(this.bg).attr('onclick', 'popup.close();return false;');
        /*$(this.bg).click(function(){$(this.bg).fadeOut('slow');});*/
        $(this.bg).css({
            width  : $(document).width() +'px',
            height : $(document).height() +'px',
            display: 'block',
            cursor: 'pointer'
        }).appendTo(document.body);

        this.block = document.createElement('div');
        $(this.block).attr({
            'id'    : popupName,
            'class' : popupName
        }).appendTo(document.body).html(content);


        var w = ( $(window).width() - $(this.block).width()) / 2;
        var t = $(window).scrollTop() + top;
        $(this.block).css({
            top  : t +'px',
            left : w +'px'
        });
        $(document).bind('keyup', function(event)
        {
            if (event.keyCode == 27)
            {
                popup.close();
            }
        });
    },


    /**
     * Popup uždarymas
     */
    close: function(item)
    {
        if(item !== undefined)
            this.block = $('#'+ item);

        if(this.bg)
        {
            $(this.bg).fadeOut('slow');
            $(this.bg).queue(function (){
                $(this).remove();
                $(this).dequeue();
            });
            this.bg = false;
        }
        if(this.block)
        {
            $(this.block).hide('slow');
            $(this.block).queue(function (){
                $(this).remove();
                $(this).dequeue();
            });
            this.block = false;
        }
        enableForms();
        $(document).unbind('keyup');
    },

    /**
     * Cenzūravimo forma
     *
     * @param integer itemId - Elemento ID
     * @param string  path   - Kelias į kurį submitinam
     * @param string  name   - Vartotojo vardas
     * @param string  email  - Vartotojo emailas
     */
    getCensorForm: function(itemId, path, name, email)
    {
        //alert('undefined params.');
        if(itemId === undefined || path === undefined || name === undefined || email === undefined)
        {
            alert('undefined params.');
            return;
        }
        var reasons = {
            '1' : _('šiukšlės/reklama'),
            '2' : _('keiksmažodžiai, įžeidinėjimai'),
            '3' : _('necenzūrinis turinys'),
            '4' : _('neatitinka temos'),
            '5' : _('pažeistos autorystės teisės')
        };
        var html = '<form class="nerodytiSarasoElementu tekstas" id="Cenzura" action="" onsubmit="popup.doConsoreContinue(\''+ path +'\');return false;">';
        html += '<div style="position:relative;margin-top:-15px;height:0;"><span id="msgLoadingBar">'+ '<img src="/pimg/Site/default/ajax-loader.gif" alt="'+ _('Palaukite...') +'" />' +'</span></div>';
        html += '<br /><div id="errorOutPop"></div>';
        html += '<h2>'+ _('Užpildykite cenzūros formą. Duomenys bus siunčiami administratoriams.') +'</h2>';
        html += '<br /><p>'+ _('Vardas') +': <b>'+ name +'</b></p>';
        html += '<p>'+ _('El. paštas') +': <b>'+ email +'</b></p>';
        html += '<br /><ul>';
        for(var x in reasons)
        {
            html += '<li>';
            html += '<td><input type="radio" name="reason" value="'+ x +'" id="reasonName'+x+'" /></td>';
            html += '<td><label for="reasonName'+ x +'">'+ reasons[x] +'</label></td>';
            html += '</li>';
        }
        html += '</ul>';
        html += '<br /><h2>'+ _('Galite tiksliau apibūdinti cenzūravimo priežastį') +':</h2>';
        html += '<textarea class="formosRemeliai ilgasIrasas" name="comment" id="czComment"></textarea>';
        html += '<div class="lygiuotiDesine">';
        html += '<div class="nuorodaSaliaMygtuko lygiuotiKaire"><a class="link" href="#" onclick="popup.close();return false;">'+ _('Atšaukti') +'</a></div>';
        html += '<button class="mygtukasPaprastas lygiuotiKaire" id="sender" type="submit"><div class="fonas mygtukoPaprastoKaire"><span class="fonas mygtukoPaprastoDesine">'+ _('IŠSIŲSTI CENZŪRĄ') +' </span></div></button>';
        html += '</div>';
        html += '<input type="hidden" id="itemId" name="itemId" />';
        html += '</form>';

        popup.create(html, 'popup');
        $('#itemId').val(itemId);
        $('#msgLoadingBar').hide();
    },

    /**
     * Cenzūravimo patvirtinimas
     *
     * @param string path - Kelias į kurį submitinam
     */
    doConsoreContinue : function(path)
    {
        if(path === undefined)
        {
            alert('undefined params.');
            return;
        }
        var vars = $('#Cenzura').serializeArray();

        //validate
        var fv = new validator('errorOutPop');
        var cca = false;

        $('#Cenzura input[type="radio"]').each(function(){if(this.checked) cca = true;});

        if(!cca)
            fv.setError(_('Neįvedei cenzūravimo priežasties!'));

        fv.set('czComment', _('Neįvedei komentaro!'));

        if(!fv.output())
            return;

        var val = $('#Cenzura input[type="radio"]:checked').val();
        vars.push({name:'reasonName',value:$('#reasonName'+ val).html()});

        $('#sender').attr('disabled',true);
        $('#msgLoadingBar').show();

        $.post(path, vars, function(data){
                $('#msgLoadingBar').hide();
                if(data)
                {
                    popup.close();
                    $('#censorLink_'+ $('#itemId').val()).hide();
                    $('#censorDone_'+ $('#itemId').val()).show();
                }
                else
                {
                    $('#sender').attr('disabled',false);
                    fv.setError(_('Pacenzūruoti nepavyko!'));
                    fv.output();
                }
            }, 'json'
        );
    },

    /**
     * Siuntimo draugui forma
     *
     * @param string link - Nuoroda
     * @param bool   user - Ar vartotojas prisijungęs
     */
    getSendFriendForm: function(link, user)
    {
        if(link === undefined)
        {
            alert('undefined params.');
            return;
        }

        if(user === undefined)
            var user = false;

        var defaultMessage = 'Labas,'+"\n"+ 'http://'+ window.location.hostname + link;
        var html = '<div id="errorOutPop"></div>';
        html += '<h2>'+ _('Pasirinkite siuntimo būdą:') +'</h2>';
        html += '<form class="nerodytiSarasoElementu tekstas" id="SiustiDrauguiForma" action="" onsubmit="popup.sendFriendContinue();return false;">';
        html += '<ul>';
        html += '<li>';
        html += '<input name="budas" type="radio" id="busenaa" checked="checked" value="a" onclick="popup.sendFriendForm(\'email\');" />';
        html += '<label for="busenaa">'+ _('El.paštu') +' </label>';
        html += '</li>';

        if (user)
        {
            html += '<li>';
            html += '<input name="budas" type="radio" id="busenab" value="b" onclick="popup.sendFriendForm(\'message\');" />';
            html += '<label for="busenab">'+ _('Žinute') +' </label>';
            html += '</li>';
        }

        html += '</ul>';
        html += '<br />';

        html += '<div id="formEmail">';
        html += '<label>'+ _('Gavėjo el. pašto adresas:') +'</label>';
        html += '<input type="text" name="email_emails" id="email_emails" value="" maxlength="500" class="ilgasIrasas formosRemeliai"/>';
        html += '<label>'+ _('Tavo el. pašto adresas:') +'</label>';
        html += '<input type="text" name="email_email" id="email_email" value="" maxlength="500" class="ilgasIrasas formosRemeliai"/>';
        html += '<label>'+ _('Žinute') +'</label>';
        html += '<textarea class="formosRemeliai ilgasIrasas" cols="5" rows="5" name="email_message">'+ defaultMessage +'</textarea>';
        html += '</div>';

        if (user)
        {
            html += '<div id="formMessage" style="display:none;">';
            html += '<label>'+ _('Gavėjas:') +'</label>';
            html += '<div class="relativiPozicija">';
            html += '<div class="zinuciuIntro"><img src="http://static1.klase.lt/pimg/Site/default/autocomplete-loader.gif" /></div>';
            html += '<textarea class="formosRemeliai ilgasIrasas" cols="5" rows="2" disabled="disabled" id="to" name="to" autocomplete="off"></textarea>';
            html += '</div>';
            html += '<label>'+ _('Pavadinimas:') +'</label>';
            html += '<br />';
            html += '<input type="text" id="title" name="title" class="ilgasIrasas formosRemeliai"/>';
            html += '<br />';
            html += '<label>'+ _('Žinutė:') +'</label>';
            html += '<textarea id="text" name="text" class="formosRemeliai ilgasIrasas" cols="5" rows="4">'+ defaultMessage +'</textarea>';
            html += '</div>';
        }

        html += '<button class="mygtukasPaprastas lygiuotiDesine" id="friendSender" type="submit">';
        html += '<div class="fonas mygtukoPaprastoKaire">';
        html += '<span class="fonas mygtukoPaprastoDesine">IŠSIŲSTI ŽINUTĘ </span></div>';
        html += '</button>';
        html += '<input type="hidden" id="formAction" name="action" value="email" />';
        html += '<div class="nuorodaSaliaMygtuko lygiuotiDesine"><a class="link" href="#" onclick="popup.close();return false;">'+ _('Atšaukti') +'</a></div>';
        html += '</form>';
        popup.create(html, 'send')
        $('#msgLoding').hide();

    },

    /**
     * Siuntimo formos
     *
     * @param string type - Siuntimo būdas
     */
    sendFriendForm: function(type)
    {
        switch(type)
        {
            case 'message':
                $('#formEmail').css({display:'none'});
                $('#formMessage').css({display:'block'});
                $('#formAction').val('message');
                $.getJSON('/Messages/JSON/set',
                    function(data){
                    $('#to').autocomplete(data, {
                        formatItem:     function(item) {return item.user;},
                        width:          275,
                        matchContains:  true,
                        mustMatch:      true,
                        multiple:       true,
                        multipleSeparator: '; ',
                        max:            20
                    });
			        $('#to').queue(function() {
			            $('.zinuciuIntro').remove();
			            $(this).removeAttr('disabled');
			            $(this).dequeue();
			        });
                });
                $('#sender').attr({disabled:false});
                break;

            case 'email':
            default:
                $('#formEmail').css({display:'block'});
                $('#formMessage').css({display:'none'});
                $('#formAction').val('email');
                $('#sender').attr({disabled:false});
                break;
        }
    },

    /**
     * Siuntimas draugui
     *
     * @param string path - Kelias į kurį submitinam
     */
    sendFriendContinue: function()
    {
        var vars = $('#SiustiDrauguiForma').serializeArray();

        if($('#formAction').val() == 'message')
        {
            var fv = new validator('errorOutPop');
            fv.set('to', 'Neįvestas gavėjas');
            fv.set('title', 'Neįvestas pavadinimas');
            if(!fv.output())
            {
                return;
            }
        }
        else
        {
            var fv = new validator('errorOutPop');
            fv.set('email_emails', 'Neįvestas gavėjo el. adresas');
            fv.set('email_email', 'Neįvestas siuntėjo el. adresas');
            if(!fv.output())
            {
                return;
            }
        }

        $('#friendSender').attr('disabled',true);
        $('#msgLoding').show();
        $.post('/Msg/sendFriend', vars, function(data){if(data){popup.close();}}, 'json');
    }
};

function sendMessage(userId)
{
    if(SYS_WYSIWYG == 'CKEditor')
        if(CKEDITOR !== undefined && CKEDITOR.instances['messageTextPopup'] !== undefined)
            CKEDITOR.remove(CKEDITOR.instances['messageTextPopup']);

    $.post('/Messages/popup/'+ userId, {n:'i'}, function(data)
    {
        if(data)
        {
            popup.create(data, 'msg');
            $('#SendMessage').focus();
        }
    },
    'json');
}
function sendGuestbook(userId)
{
    $.post('/Guestbook/popup/'+ userId, {n:'i'}, function(data)
    {
        if(data)
        {
            popup.create(data, 'msg');
            // Iškart nefokusuoja, nes nėra suRender'intas editorius. Galim naudot timeout'ą:
            //setTimeout("wysiwyg.focus('entryPop')", 500);
        }
    },
    'json');
}
function anonymousPost()
{
    var text = '<h2 class="centruotiTeksta">'
              + _('Jei nori pasisakyti/komentuoti anonimiškai turi būti užsisakęs papildomą paslaugą.')
              + ' <a href="/paketas#13">' + _('Sužinoti daugiau..') + '</a></h2><br />'
              + ' <a class="link" onclick="popup.close();return false;" href="#">' + _('Atšaukti') + '</a>';
    popup.create(text, 'popup');
}