// settings
var SITE_URL = 'http://lutea.me/';
var search_def_txt = 'Search in Lutea.me';

function grin(tag) {
    var c = $("#comment").get(0);
    if (!c) return;
    tag = ' ' + tag + ' ';
    if (document.selection) {
        c.focus();
        var sel = document.selection.createRange();
        sel.text = tag;
        c.focus();
    }
    else if (c.selectionStart || c.selectionStart == '0') {
        var sp = c.selectionStart;
        var ep = c.selectionEnd;
        var cp = ep;
        c.value = c.value.substring(0,sp)
                + tag
                + c.value.substring(ep,c.value.length);
        cp += tag.length;
        c.focus();
        c.selectionStart = cp;
        c.selectionEnd = cp;
    }
    else {
        c.value += tag;
        c.focus();
    }
}

var GRINS = {
    'question':':?:',
    'razz':':razz:',
    'sad':':sad:',
    'evil':':evil:',
    'exclaim':':!:',
    'smile':':smile:',
    'redface':':oops:',
    'biggrin':':grin:',
    'surprised':':shock:',
    'eek':':eek:',
    'confused':':???:',
    'cool':':cool:',
    'lol':':lol:',
    'mad':':mad:',
    'twisted':':twisted:',
    'rolleyes':':roll:',
    'wink':':wink:',
    'idea':':idea:',
    'arrow':':arrow:',
    'neutral':':neutral:',
    'cry':':cry:',
    'mrgreen':':mrgreen:'
};

function get_smilies() {
    var s = $('<div class="smilies"></div>');
    for (var k in GRINS) {
        s.append($('<a href="javascript:grin(\''+GRINS[k]+'\')"><img src="'+SITE_URL+'wp-includes/images/smilies/icon_'+k+'.gif" alt="'+GRINS[k]+'" /></a>'));
    }
    return s;
}

function get_comment_toolbar() {
    var t = $('<div class="toolbar"></div>');
    var s = $('<a style="" href="javascript:void(0)"><img src="'+SITE_URL+'wp-includes/images/smilies/icon_smile.gif" alt="Open smilies"/></a>');
    s.click(function(){
        $(".smilies").slideToggle("fast");
    });
    t.append(s);
    return t;
}

function get_comment_form(post_id) {
    var f = $('<form action="'+SITE_URL+'wp-comments-post.php" method="post" id="commentform"></form>');
    f.append(get_smilies());
    f.append($('<input type="hidden" name="comment_post_ID" value="'+post_id+'"/>'));
    var html = '';
    html += '<table><tr><td><table><tr><td><textarea class="required" name="comment" id="comment"></textarea></td></tr></table></td><td><table>';
    html += '<tr><td class="lb">Name(*)</td><td><input class="required" type="text" name="author" id="author" value=""/></td></tr>';
    html += '<tr><td class="lb">Email(*)</td><td><input class="required email" type="text" name="email" id="email" value=""/></td></tr>';
    html += '<tr><td class="lb">Website</td><td><input type="text" name="url" id="url" value=""/></td></tr>';
    html += '<tr><td colspan="2"><input type="submit" name="submit" id="submit" value="SUBMIT COMMENT"/></td></tr></table></td></tr></table>';
    f.append($(html));
    return f;
}

function check_comment_post() {
    var ok = true;
    $(".required").each(function(){
        if (!$(this).val()) {
            ok = false;
            $(this).css("border","1px solid #D54E21");
        }
    });
    $(".email").each(function(){
        var v = $(this).val();
        if (!/^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/i.test(v)) {
            ok = false;
            $(this).css("border","1px solid #D54E21");
        }
    });
    return ok;
}

// for document ready
$(function(){
    function foldUl(elm) {
      if (!elm) return;
      var foldelm = elm.parent().parent().find(".fold");
      if (!foldelm) return;
      if (foldelm.css("display") == "none") {
         elm.html('&laquo;');
         foldelm.slideDown("fast");
      }
      else {
         elm.html('&raquo;');
         foldelm.slideUp("fast");
      }
    } 

    $("a.unfold").click(function(){
        foldUl($(this));
    });

    $("#searchtext").focus(function(){
        $(this).addClass('highlight');
        if ($(this).val() == search_def_txt)
          $(this).val('');
    }).blur(function(){
        $(this).removeClass('highlight').val($.trim($(this).val()));
        if ($(this).val() == '')
          $(this).val(search_def_txt);
    });

    $("#searchform").submit(function(){
        var txt = $.trim($("input:first").val());
        if (txt!=search_def_txt && txt!='')
          return true;
        return false;
    });

    $(".post-form a").click(function(){
        var des = $("#comment-form");
        var cpid = $(".postitem.theid").attr('id').substr(5); 
        if (des && cpid) {
            var f = get_comment_form(cpid);
            f.hide().submit(check_comment_post);
            des.append(f);
            var toolbar = get_comment_toolbar();
            toolbar.appendTo($("#comment").parent());
            f.slideDown("fast");
        }
        $(".required").focus(function(){
            $(this).css("border","1px solid #CCC");
        });
        $(this).remove();
    });

});

