// minhon.js

// utilities

/*!{id:"uupaa.js",ver:0.7,license:"MIT",author:"uupaa.js@gmail.com"}*/
window.sprintf || (function() {
var _BITS = { i: 0x8011, d: 0x8011, u: 0x8021, o: 0x8161, x: 0x8261,
              X: 0x9261, f: 0x92, c: 0x2800, s: 0x84 },
    _PARSE = /%(?:(\d+)\$)?(#|0)?(\d+)?(?:\.(\d+))?(l)?([%iduoxXfcs])/g;

window.sprintf = _sprintf;

function _sprintf(format) {
  function _fmt(m, argidx, flag, width, prec, size, types) {
    if (types === "%") { return "%"; }
    var v = "", w = _BITS[types], overflow, pad;

    idx = argidx ? parseInt(argidx) : next++;

    w & 0x400 || (v = (av[idx] === void 0) ? "" : av[idx]);
    w & 3 && (v = (w & 1) ? parseInt(v) : parseFloat(v), v = isNaN(v) ? "": v);
    w & 4 && (v = ((types === "s" ? v : types) || "").toString());
    w & 0x20  && (v = (v >= 0) ? v : v % 0x100000000 + 0x100000000);
    w & 0x300 && (v = v.toString(w & 0x100 ? 8 : 16));
    w & 0x40  && (flag === "#") && (v = ((w & 0x100) ? "0" : "0x") + v);
    w & 0x80  && prec && (v = (w & 2) ? v.toFixed(prec) : v.slice(0, prec));
    w & 0x6000 && (overflow = (typeof v !== "number" || v < 0));
    w & 0x2000 && (v = overflow ? "" : String.fromCharCode(v));
    w & 0x8000 && (flag = (flag === "0") ? "" : flag);
    v = w & 0x1000 ? v.toString().toUpperCase() : v.toString();

    if (!(w & 0x800 || width === void 0 || v.length >= width)) {
      pad = Array(width - v.length + 1).join(!flag ? " " : flag === "#" ? " " : flag);
      v = ((w & 0x10 && flag === "0") && !v.indexOf("-"))
        ? ("-" + pad + v.slice(1)) : (pad + v);
    }
    return v;
  }
  var next = 1, idx = 0, av = arguments;

  return format.replace(_PARSE, _fmt);
}

})();

// namespace minhon

var minhon = {};

minhon.config = {
default_lang: 'ja'
};

minhon.util = {
    getDocLang:
    function(default_lang)
    {
        var lang = default_lang ? default_lang : minhon.config.default_lang;
        return $.cookie('doclang') ? $.cookie('doclang') : lang;
    },

    changeSelect:
    function(select, val)
    {
        select.find('option').each(function() {
            if ($(this).val() === val) {
                $(this).attr('selected', 'selected');
            }
            else {
                $(this).removeAttr('selected');
            }
        });
    }
};

minhon.browserLanguage = function()
{
    try {
        return (navigator.browserLanguage || navigator.language || navigator.userLanguage).substr(0,2)
    }
    catch(e) {
        return minhon.config.default_lang;
    }
};

minhon.common = {
	get_twitter_title:
	function (title) {
		return $.trim(title) + ' / ' + document.title;
	},
	open_twitter:
	// twitter (bit.ly)
	function (url, title) {
	    window.open_twitter_callback = function (json) {
	    	var bitly_url=json.results[url]['shortUrl'];

	    	if ( bitly_url.indexOf("/bit.ly/") == -1 ) {
	    		window.open('http://twitter.com/home/?status='+encodeURIComponent(title+ ' ' + url +' #minhon'), '_blank');
//		    		    location.href = 'http://twitter.com/home/?status='+encodeURIComponent(document.title+ ' ' + location.href  +' #minhon');    
	    	}else{
	    		window.open('http://twitter.com/home/?status='+encodeURIComponent(title+ ' ' + bitly_url +' #minhon'), '_blank');  
//		    		    location.href = 'http://twitter.com/home/?status='+encodeURIComponent(document.title+ ' ' + bitly_url +' #minhon');
	    	}
	    }		
		
	    api = 'http://api.bit.ly/shorten?version=2.0.1&format=json&callback=open_twitter_callback&login=minhon1miya&apiKey=R_18b81814297a922a165f7d66786b6436&longUrl=';
	    var script = document.createElement('script');
	    script.type = 'text/javascript';
	    script.src = api + encodeURIComponent(url) + '&t=' + new Date().getTime();
	    document.body.appendChild(script);
	}

};

minhon.common.article_list = {
    getConditionalPath:
    function(url)
    {
       var selected_val = $('#article_sort_index').find('option:selected').val();
       if (selected_val) {
           url = url.replace(/\/(si|os)\/[^\/]+/g, '');
           url += '/si/' + selected_val;
       }
       var radio_val = $('#article_type_panel').find('input:radio:checked').val();
       if (radio_val) {
           url = url.replace(/\/(at|os)\/[^\/]+/g, '');
           url += '/at/' + radio_val;
       }
       return url;
    },
    setupArticleTypeRadio:
    function(list_url_base)
    {
        var ns = minhon.common.article_list;
        $('#article_type_panel').change(function() {
            var url = ns.getConditionalPath(location.href);
            location.href = url;
        });
    },
    setupArticleSortSelect:
    function(list_url_base, now_index)
    {
        var ns = minhon.common.article_list;
        minhon.util.changeSelect($('#article_sort_index'), now_index);
        $('#article_sort_index').change(function() {
            var url = ns.getConditionalPath(location.href);
            location.href = url;
        });
    }
};

minhon.header = {
    init:
    function(conf)
    {
        var logout_url = conf['logout_url'];
        $('.btn_logout').click(function() {
            $.ajax({
                type: 'GET',
                url: logout_url,
                success: function(resp) {
                    location.reload();
                }
            });
        });
    },
    setCookie_:
    function(key, val, domain)
    {
        var date = new Date();
        date.setTime(date.getTime() + (30 * 24 * 60 * 60 * 1000));
        var cookie_param = { path: '/', expires: date };
        if (domain) {
            cookie_param['domain'] = domain;
        }
        $.cookie(key, val, cookie_param);
    }, 
    changeSelect:
    function(select, val)
    {

    },
    setupSearch:
    function(tab1_img, tab2_img, tag_search_url, doc_search_url)
    {
        $('.h-search-tab1').delegate('a', 'click', function() {
            $(this).parent().css('background-image', '')
                .find('a').replaceWith('<img src="' + tab1_img + '" />');
            $('.h-search-tab2')
                .find('img').replaceWith('<a class="off" href="javascript:void(0)"></a>');
        });
        $('.h-search-tab2').delegate('a', 'click', function() {
            $(this).parent().css('background-image', '')
                .find('a').replaceWith('<img src="' + tab2_img + '" />');
            $('.h-search-tab1')
                .find('img').replaceWith('<a class="off" href="javascript:void(0)"></a>');
        });

        if (0 === location.href.indexOf(tag_search_url)) {
            $('.h-search-tab2 > a').click();
        }

        if (0 < $('#txt_search_word').size()) {
            var mt = location.href.match(/\/key\/([^\/]+)/);
            if (mt) {
                $('#txt_search_word').val(decodeURIComponent(mt[1]));
            }
        }
        function is_doc_search()
        {
            return 0 < $('.h-search-tab1 img').size();
        }
        $('#btn_txt_search_word').click(function() {
            var url;
            if (is_doc_search()) {
                // doc
                url = doc_search_url + '/key/' + encodeURIComponent($('#txt_search_word').val());
            }
            else {
                // tag
                url = tag_search_url + '/key/' + encodeURIComponent($('#txt_search_word').val());
            }
            location.href = url;
        });
    },

    setupSearchForSmp:
    function(tag_search_url, doc_search_url)
    {
        if (0 < $('#txt_search_word').size()) {
            var mt = location.href.match(/\/key\/([^\/]+)/);
            if (mt) {
                $('#txt_search_word').val(decodeURIComponent(mt[1]));
            }
        }
        function is_doc_search()
        {
            return 0 < $('#search_type_doc:checked').size();
        }
        $('#btn_txt_search_word').click(function() {
            var url;
            if (is_doc_search()) {
                // doc
                url = doc_search_url + '/key/' + encodeURIComponent($('#txt_search_word').val());
            }
            else {
                // tag
                url = tag_search_url + '/key/' + encodeURIComponent($('#txt_search_word').val());
            }
            location.href = url;
        });
    },

    setupLangSelect: 
    function(host_base, default_lang, lang, cookie_domain) 
    {
        if (!cookie_domain) {
            cookie_domain = host_base;
        }
        //minhon.util.changeSelect($('#select_language'), lang);

        var doc_lang = minhon.util.getDocLang(lang);
        //minhon.util.changeSelect($('#select_doc_language'), doc_lang);

        $('#select_language').change(function() {
            var lang = $(this).find(':selected').val();
        	if ( lang.leng === '' ) return;
            var lang_domain = '';
            if (lang !== default_lang) {
                lang_domain = lang + '.';
            }
            minhon.util.changeSelect($(this), lang);
            var lang_url = location.href.replace(
                /\/\/[^/]+/, "//" + lang_domain + host_base);
            minhon.header.setCookie_('displang', lang, '.' + cookie_domain);
            location.replace(lang_url);
        });
        $('#select_doc_language').change(function() {
            var lang = $(this).find(':selected').val();
        	if ( lang.leng === '' ) return;
            minhon.util.changeSelect($(this), lang);
            minhon.header.setCookie_('doclang', lang, '.' + cookie_domain);
            location.reload();
        });
    }
};

minhon.menu = {
    disableAccordionMenu:
    function(target)
    {
        if (0 < target.find('.s-menutag:visible').size()) {
            target.click();
        }
        target.find('.accordion_menu').andSelf('.accordion_menu div').unbind('click');
        target.removeClass('accordion_menu').find('a').addClass('cate-name-off');
    },
    enableAccordionMenu:
    function(target)
    {
        target.addClass('accordion_menu')
            .find('a').removeClass('cate-name-off');
        if (0 == target.find('.s-menutag:visible').size()) {
            target.click();
        }
        minhon.menu.setupAccordionMenu();
    },
    setupAccordionMenu:
    function()
    {
        $('.accordion_menu').andSelf('.accordion_menu div').unbind('click');
        $('.accordion_menu').click(function() {
            $(this).find('.s-menutag').toggle();
            var btm = $(this).parents('#left-menu-area').eq(0).find('.s-cate-bottom');
            if (0 < $(this).parents('ul').eq(0).find('#s-menu5 .s-menutag:visible').size()) {
                btm.addClass("s-cate-bottom2");
            }
            else {
                btm.removeClass("s-cate-bottom2");
            }
        });
        $('.accordion_menu div').click(function(e) {
            e.stopPropagation();
        });
    }
};

minhon.article_detail = {
    normalizeParagraphTags:
    function()
    {
        $('.detail-box p').each(function() {
            if ($(this).html() === '&nbsp;' && $(this).attr('style') === 'min-height: 22px;') {
                var n = $(this).next();
                if (n.html() === '&nbsp;' && $(this).attr('style') === 'min-height: 22px;') {
                    n.attr('reserve_delete', '');
                }
            }
        });
        $('p[reserve_delete]').remove();
    }
};

minhon.manager = {
    _featured_articles: {},
    _default_tags: {},

    _delete_feature:
    function(oid)
    {
        if (!confirm('注目記事設定を解除しますか？')) {
            return;
        }
        $.ajax({
            type: 'POST',
            url: '/index.php/manage/featured_article/delete_feature',
            data:{oid:oid},
            success: function() {
                minhon.manager._update_feature_manager();
            },
            error: function(xhr, stat, ex) {
                alert('更新に失敗しました');
//                console.log(this);
            }
        });
    },

    _append_feature_menu:
    function(container, oid)
    {
        var features = minhon.manager._featured_articles;
        var tags = minhon.manager._default_tags;
        container.append(
            '<div class="manage_panel" style=""></div>');
        var manage_panel = container.find('.manage_panel');

        var featured = '';
        var last_id = 0;
        var target_ord = 0;
        var reg_tag_href = new RegExp('/tid/([^/]*)');
        var taginfo = [];
        container.parents('.list-frame2, #contents-area').eq(0).find('.tc-all-tag a, .md-tag a').each(function() {
            if (reg_tag_href.test($(this).attr('href'))) {
                taginfo.push({'id': RegExp.$1, 'name': $.trim($(this).text())});
            }
        });
        var tag_opt = minhon.manager._get_default_tag_option(taginfo);
        manage_panel.append(
            '<select name="feature_tag" oid="' + oid + '" >'
            + tag_opt
            + '</select>');

        var opt = $.map(features, function(feature, i) {
            var id = feature['original_id'];
            var ord = last_id = i + 1;
            var selected = '';
            if (id == oid) {
                // feature
                target_ord = ord;
                selected = 'selected="selected"';
                var target_tag_opt = manage_panel.find('option[value=' + feature['tag_id'] + ']');
                if (0 < target_tag_opt.size()) {
                    target_tag_opt.attr('selected', 'selected');
                    featured = '<span class="featured_article">注目記事</span>';
                }
            }
            return '<option ' + selected + ' value="' + ord + '">' + ord + '</option>';
        });

        var next_id = last_id + 1;
        opt = '<option value="0">--</option>' 
            + opt.join("") 
            + '<option value="' + next_id + '" >' + next_id + '</option>';
        manage_panel.append(
                '<label class="featured_article_check" >'
                + '<select name="feature_order" oid="' + oid + '"'
                + ' target_ord="' + target_ord + '">' + opt + '</select>' + featured + '</label>');

        var delete_btn = '';
        if (0 < featured.length) {
             delete_btn = '<input type="button" class="btn_feature_delete" value="解除" />';
        }
        manage_panel.append(
                '<input type="button" class="btn_feature_setup" value="適用" />'
                + delete_btn);

        manage_panel.find('.btn_feature_setup, .btn_feature_delete')
            .click(minhon.manager._change_feature_status);
    },

    _id_to_default_tagname:
    function(tag_id)
    {
        var tags = [];
        $.each(minhon.manager._default_tags, function(group) {
            tags = tags.concat(minhon.manager._default_tags[group]);
        });

        var targets = $.grep(tags, function(tag) {
            return tag.id == tag_id;
        });
        return 0 < targets.length ? targets[0].name : tag_id;
    },

    _update_feature_panel:
    function()
    {
        minhon.manager._delete_feature_panel();
        minhon.manager._append_feature_panel();
    },

    _delete_feature_panel:
    function()
    {
        $('.list-h').find('.manage_panel').remove();
    },

    _update_feature_manager:
    function()
    {
    },

    _update_feature_manager_for_detail:
    function()
    {
        location.reload();
    },

    _update_feature_manager_for_list:
    function()
    {
        $.ajax({
            type: 'GET',
            url: '/index.php/manage/featured_article/get_list',
            dataType: 'json',
            success: function(resp) {
                minhon.manager._featured_articles = resp.features;
                minhon.manager._default_tags = resp.tags;
                minhon.manager._default_tag_option = minhon.manager._get_default_tag_option(); 

                minhon.manager._update_feature_panel();
                minhon.manager.showFeaturedArticlePanel();
            }
        });
    },

    _change_feature_status:
    function()
    {
        var container = $(this).parents('.manage_panel').eq(0);
        var oid = container.find('select[name=feature_order]').attr('oid');
        var tag_val = container.find('select[name=feature_tag] option:selected').val();
        var ord_val = parseInt(container.find('select[name=feature_order] option:selected').val());
        var old_ord = container.find('select[name=feature_order]').attr('target_ord');
        if (0 < old_ord) {
            ord_val += old_ord < ord_val ? 1 : 0;
        }

        var is_update = $(this).hasClass('btn_feature_setup');
        var is_delete = $(this).hasClass('btn_feature_delete');
        if (is_update) {
            if (tag_val <= 0) {
                alert('タグが未設定です');
                return;
            }
            if (ord_val <= 0) {
                alert('優先順位が未設定です');
                return;
            }
            // update feature
            minhon.manager._update_feature(oid, tag_val, ord_val);
        }
        else if (is_delete) {
            // delete feature
            minhon.manager._delete_feature(oid);
        }
    },

    _update_feature:
    function(oid, tag_val, ord_val, async, adhoc_callback)
    {
        if (async === undefined) {
            async = true;
        }
        var success_callback = minhon.manager._update_feature_manager;
        if (adhoc_callback) {
            success_callback = adhoc_callback; 
        }
        $.ajax({
            type: 'POST',
            url: '/index.php/manage/featured_article/update_feature',
            data:{oid:oid, tid:tag_val, ord:ord_val},
            async: async,
            success: function() {
                success_callback();
            },
            error: function(xhr, stat, ex) {
                alert('更新に失敗しました');
//                console.log(this);
            }
        });
    },

    _append_feature_panel:
    function()
    {
    },

    _append_feature_panel_for_detail:
    function()
    {
        minhon.manager._append_feature_menu($('#doc_title_area'), minhon.manager._doc_id);
    },

    _append_feature_panel_for_list:
    function()
    {
        var re = new RegExp('/id/([^/]+)');
        $('.list-h').each(function() {
            var url = $(this).find('a').attr('href'); 
            var oid;
            if (re.test(url)) {
                oid = RegExp.$1;     
            }

            if (!oid) {
                return true;
            }

            minhon.manager._append_feature_menu($(this), oid);
        });
    },

    _default_tag_option: '',

    _get_default_tag_option:
    function(additional_taginfos)
    {
        var tag_opt = '<option value="0">--</option>';
        var tags = minhon.manager._default_tags;
        if (additional_taginfos) {
            tag_opt += '<option disabled="disabled">-- 付属タグ --</option>';        
            $.each(additional_taginfos, function() {
                tag_opt += '<option value="' + this.id + '">' + this.name + '</option>';
            });
        }
        var category_names = {
            'theme': 'テーマ',
            'region': '地域',
            'genre': 'ジャンル'
        };
        $.each(tags, function(group) {
            tag_opt += '<option disabled="disabled">-- ' + category_names[group] + ' --</option>';        
            $.each(tags[group], function(i, tag) {
                tag_opt += '<option value="' + tag.id + '">' + tag.name + '</option>';
            });
        });
        return tag_opt;
    },

    _updateFeaturedArticleList:
    function()
    {
        var container = $('#featured_article_panel').find('.ui-dialog-content');
        container.find('ol').remove();
        container.append('<ol></ol>');

        var li_html = '';
        var features = minhon.manager._featured_articles;
        $.each(features, function(i, feature) {
            var up_btn = 
                '<a href="javascript:void(0)" next_ord="' + i + '" class="btn_feature_ord_change">▲</a>';
            var dn_btn = 
                '<a href="javascript:void(0)" next_ord="' + (i+3) + '" class="btn_feature_ord_change">▼</a>';
            if (0 == i) {
                up_btn = '△';
            }
            if (i == (features.length-1)) {
                dn_btn = '▽';
            }
            var article_url = minhon.manager._article_detail_page_base_url + '/id/' + feature.original_id;
            var taginfos = $.grep(feature.taginfo, function(tag) { 
                return tag.id == feature.tag_id;
            });
            if (0 < taginfos.length) {
                tagname = taginfos[0]['name'];
            }
            else {
                tagname = minhon.manager._id_to_default_tagname(feature.tag_id);
            }
            li_html += 
                '<li class="feature_row" oid="' + feature.original_id + '" tid="' + feature.tag_id + '">'
                + '<span class="feature_tag">(' + tagname + ')</span> '
                + '<a href="' + article_url + '">' + feature.title + '</a>'
                + '<br/>' + up_btn + dn_btn
                + '&nbsp;<a href="javascript:void(0)" class="btn_delete" oid="' + feature.original_id + '" >解除</a>'
                + '<hr/>'
                + '</li>';
        });

        container.find('ol').append(li_html)
            .find('.btn_delete')
            .click(function() {
                var oid = $(this).attr('oid');
                minhon.manager._delete_feature(oid);
            })
            .end()
            .find('.btn_feature_ord_change')
            .click(function() {
                var oid = $(this).parents('.feature_row').eq(0).attr('oid');
                var tid = $(this).parents('.feature_row').eq(0).attr('tid');
                var ord = $(this).attr('next_ord'); 
                minhon.manager._update_feature(oid, tid, ord, false);
            });

    },

    showFeaturedArticlePanel:
    function()
    {
        if ($('body').find('#featured_article_panel').size() == 0) {
            $('head').append('<link rel="stylesheet" href="/css/theme/jquery-ui.custom.css" />'); 
            $('body')
                .append(
                    '<div id="featured_article_panel" style="display:none" class="ui-dialog ui-widget ui-widget-content ui-corner-all ui-draggable ui-resizable">'
                    + '   <div class="ui-dialog-content ui-widget-content" id="dialog">'
                    + '   </div>'
                    + '</div>')
                .append('<script type="text/javascript" src="/js/jquery-ui.js"></script>');
//                .append('<script type="text/javascript" src="/js/development-bundle/ui/jquery-ui-1.8.5.custom.js"></script>');
                ;
        }

        minhon.manager._updateFeaturedArticleList();

        $('#featured_article_panel').dialog({
            title: '注目記事',
            dialogClass: 'control_panel',
            open: function() {
                $('#control_opener').hide();
            },
            beforeClose: function() {
                return true;
            },
            close: function() {
                if ($('#control_opener').size() == 0) {
                    $('body').append(
                        '<div id="control_opener" style="position:fixed; top:0; left:0; padding:5px;" class="ui-dialog-titlebar ui-widget-header ui-corner-all">'
                        + '<a href="javascript:minhon.manager.showFeaturedArticlePanel()" style="text-decoration:none" >注目記事</a>'
                        + '</div>');
                }

                $('#control_opener').show();
            },
            width: 350,
            resizable: true, 
            position: ['left', 'top']
        });
    },
    
    initFeatureArticlePanel:
    function(article_detail_page_base_url, doc_id) 
    {
        minhon.manager._article_detail_page_base_url = article_detail_page_base_url;
        minhon.manager._doc_id = doc_id;

        minhon.manager._init_feature_manager = minhon.manager._update_feature_manager_for_list;

        if (doc_id === undefined) {
            // list page
            minhon.manager._append_feature_panel = minhon.manager._append_feature_panel_for_list;
            minhon.manager._update_feature_manager = minhon.manager._update_feature_manager_for_list;
        }
        else {
            // detail page
            minhon.manager._append_feature_panel = minhon.manager._append_feature_panel_for_detail;
            minhon.manager._update_feature_manager = minhon.manager._update_feature_manager_for_detail;
        }

        minhon.manager._init_feature_manager();
    }
};

minhon.manager.tag = {

    init_tag_view:
    function(tag_search_url_tmpl)
    {
        var re = new RegExp('/tid/([^/]*)');
        var tag_spans = $('.tagCloud nobr span');
        tag_spans.each(function() {
            var url = $(this).find('a').attr('href');
            if (!re.test(url)) {
                return true;
            }
            var tid = RegExp.$1;
            $(this).append(
                '<label><input class="recommend_tag_check" type="checkbox" value="' + tid + '" />|</label>');
            $(this).find('.recommend_tag_check').change(function() {
                // tag checkbox clicked
                // update recommend tag
                var tid = $(this).val();
                var act = $(this).attr('checked') ? 'on' : 'off';
                if (act == 'on') {
                    $(this).parents('span[class^=tag-]').eq(0).find('a').addClass('recommend_tag');
                }
                else {
                    $(this).parents('span[class^=tag-]').eq(0).find('a').removeClass('recommend_tag');
                }
                $.ajax({
                    type: 'POST',
                    url: '/index.php/tag/update_recommend_tag',
                    data: {tid:tid, act:act},
                    success: function(resp) {
                        // success update recommend tag
                        $.ajax({
                            type: 'GET',
                            url: '/index.php/tag/get_recommend_tags',
                            dataType: 'json',
                            success: function(resp) {
                                var tags = resp;
                                var rec_area = $('#s-menu5');
                                var tag_area = rec_area.find('.s-menutag').empty();
                                $.each(tags, function(i, tag) {
                                    tag_area.append(sprintf(tag_search_url_tmpl, tag.id, tag.name));
                                });

                                if (!tags || tags.length == 0) {
                                    minhon.menu.disableAccordionMenu(rec_area);
                                    return;
                                }

                                if (rec_area.find('.accordion_menu').size() == 0) {
                                    minhon.menu.enableAccordionMenu(rec_area);
                                }
                            }
                        });
                    },
                    error: function(xhr, stat, ex) {
                        alert('更新に失敗しました');
        //                console.log(this);
                    }
                });
            });
        });

        // checking recommend tags
        $.ajax({
            type: 'GET',
            url: '/index.php/tag/get_recommend_tags',
            dataType: 'json',
            success: function(resp) {
                var tags = resp;
                var check_tids = $.map(tags, function(tag) {
                    return tag.id;
                });
                tag_spans.find('.recommend_tag_check').each(function() {
                    var tid = $(this).val();
                    if (0 <= $.inArray(tid, check_tids)) {
                        $(this).attr('checked', 'checked');
                        $(this).parents('span[class^=tag-]').eq(0).find('a').addClass('recommend_tag');
                    }
                });
            }
        });
    }
};

$(function() {
    $('.inc_clap').one('click', function() {
        var num_area = $(this).next('.clap_num');
        $.ajax({
            type: 'POST',
            url: '/index.php/clap/increment/trans/' + $(this).attr('tid'),
            cache: false,
            success: function() {
                num_area.text(parseInt(num_area.text()) + 1);
            }
        });
    });

    minhon.menu.setupAccordionMenu();

    $('.enter_submit').keypress(function(e) {
        if (e.which === 13) {
            var btn_id = '#btn_' + $(this).attr('id');
            $(btn_id).click(); 
        }
    });

});

// vim: ts=4 sw=4 enc=utf8 et:

