$(document).ready(function() {
    
    jQuery.fn.extend(fieldSelection);
      
    // defined somewhere else :P
    /*isset = function (varname) {
        if (typeof(window[varname]) != 'undefined') {
            return true;
        } else {
            return (false);
        }
    }*/
    
    if (isset('votablesOnPage') && isset('commentlist')) {
        $.getJSON('/jf/pageMessageRatings.php', { messages: votablesOnPage.toString() },
            function (json) {
                var positives = json.positives.split(',');
                var negatives = json.negatives.split(',');
                
                $.each(positives, function (i, val) {
                    var params = val.split('|');
                    
                    var id = params[0];
                    var value = params[1];
                    
                    $('#rat-' + id + ' span.pos, #raq-' + id + ' span.pos').text(value);
                });
                
                $.each(negatives, function (i, val) {
                    var params = val.split('|');
                    
                    var id = params[0];
                    var value = params[1];
                    
                    $('#rat-' + id + ' span.neg, #raq-' + id + ' span.neg').text(value);
                });
            }
        );
    }

    trimmer = function (str) {
        var	str = str.replace(/^\s\s*/, ''),
            ws = /\s/,
            i = str.length;
        while (ws.test(str.charAt(--i)));
        
        return str.slice(0, i + 1);
    
    }

    quoteText = function (pos) {
        
        var replytext = $("div.text:eq(" + pos + ")").text();
        
        showCommentBox();
        
        var oldtext = $('textarea#viesti').text();
        var linefeed = "\n\n";
        if (oldtext.length == 0) {
            linefeed = '';
        }
        
        replytext = oldtext + linefeed + '[quote]' + trimmer(replytext) + '[/quote]';
        
        $('textarea#viesti').text(replytext);      
//        $('textarea#viesti').append(replytext); // this append didn't work twice for some reason...
        
        return (false);
        
    }
    
    showCommentBox = function () {
        if ($('#commentForm').css('display') != 'block') {
            $('#commentForm').css("display", "block");
        }
        //return (true);
    }
    
    styleTag = function (method) {
        
        var sl = $('textarea#viesti').getSelection();
        var text = $('textarea#viesti').val();
        
        if (sl.start == sl.end) {
            seltext = '';
        } else {
            var seltext = text.substring(sl.start, sl.end);
        }
        var origseltext = seltext;
        

        
        switch (method) {
            case 'b':
                seltext = '[b]' + seltext + '[/b]';
            break;
            case 'i':
                seltext = '[i]' + seltext + '[/i]';
            break;
            case 'q':
                seltext = '[quote]' + seltext + '[/quote]';
            break;
        }
        
        if (sl.start == sl.end) {
            $('textarea#viesti').replaceSelection(seltext, true);
            //$.each($('textarea#viesti'), update);
        } else {
            text = text.replace(origseltext, seltext);
        
            $('textarea#viesti').val(text);
        }
        
    }
});
