
  var connecting;
  
$(function() {
  var qid = $('#qid').val();
  var cid = $('#cid').val();
  var logined = ($('#login').val() === 'true');
  var return_url = $('#return_url').val();
  var is_favorited =  $('#is_favorited').val();
  var print_url = $('#print_url').val();
  var is_talk =  $('#is_talk').val();
  var is_blocked =  $('#is_blocked').val();

  var instructive = function(isinstructive){
    if (connecting) return;
    $.post('/ajax_qstinstructive/submit', 'qid=' + qid + '&instructive=' + isinstructive + '&is_talk=' + is_talk, function(response){
      if(response == 'false'){
        $.fn.okwave.ui.notice.open('投票できませんでした。');
      }else if(response == 'duplicate'){
        $.fn.okwave.ui.notice.open('投票済みです。');
      }else if(response == 'true'){
          $('#sum_instructive').html(parseInt($('#sum_instructive').html()) + 1 );
          $.fn.okwave.ui.notice.open('投票しました。');
      }else{
         $.fn.okwave.ui.notice.open(response);
      }
    });
  }

  var evaluate = function(target){
    if (connecting) return;

    array = $(target).attr('id').split('_');
    answer_id = parseInt(array[3]);
    if(logined === false){
      location.href = '/login?return_url=' + return_url;
    }else{
      $.post('/ajax_qstevaluate/submit', 'qid=' + qid + '&aid=' + answer_id, function(response){
        if(response == 'false'){
          $.fn.okwave.ui.notice.open('投票できませんでした。');
        }else if(response == 'duplicate'){
          $.fn.okwave.ui.notice.open('投票済みです。');
        }else{
            $('#vote_count_for_answer_' + response).html(parseInt($('#vote_count_for_answer_' + response).html()) + 1 );
            $.fn.okwave.ui.notice.open('投票しました。');
        }
      });
    }
  }

  var fav_qa = function(){
    if (connecting) return;
    if(logined === false){
      location.href = '/login?return_url=' + return_url;
    }else{
      $.fn.okwave.ui.confirm.open('お気に入り投稿に登録しますか？');
      $.fn.okwave.ui.confirm.onYesClicked(function(){
        $.post('/ajax_favoritequestion/create', 'qid=' + qid, function(response){
          if(response == 'true'){
            $('#fav_qa_span').show();
            $('#fav_qa_count').html(parseInt($('#fav_qa_count').html()) + 1 );
            $.fn.okwave.ui.notice.open('お気に入り投稿に登録されました');
          }else{
            $.fn.okwave.ui.notice.open(response);
          }
        });
      });
    }
  }

  $('#thank_button').live('click', function(){
    var msg = '質問者から回答者の方へお礼を投稿することができます。<br />感謝の気持ちを伝えましょう！';
    if(is_talk == 1) {
      msg = '投稿者からレス者の方へお礼を投稿することができます。<br />感謝の気持ちを伝えましょう！';
    }
    $.fn.okwave.ui.notice.open(msg);
  });

  $('#supplement_button').live('click', function(){
    var msg = '質問者から回答者の方へ追加の質問をすることができます。<br />質問本文での説明に不足があった場合や、寄せられた<br />回答に対して新たに疑問が生じた場合にご活用ください。';
    if(is_talk == 1) {
      msg = '投稿者からレス者の方へ追加の投稿をすることができます。<br />投稿本文での説明に不足があった場合や、寄せられた<br />レスに対して新たに疑問が生じた場合にご活用ください。';
    }
    $.fn.okwave.ui.notice.open(msg);
  });

  var appendQamatch = function() {
    $.post('/ajax_qamatch', {qid : qid}, function(res) {
      if (! res) return;
      j = eval('('+res+')');
      if (! j.links) return;
      $.each(j.links, function(aid, links){
        var dom = $('#match_' + aid);
        $(dom).append('<span>QAマッチ（<a target="_blank" href="http://faq.okwave.jp/EokpControl?&tid=849440&event=FE0006">詳細</a>）</span>');
        var ul = $(dom).append('<ul></ul>').children('ul');
        $.each(links, function(i, link) {
          $(ul).append('<li class="ok_ad1List"><a href="' + link.url + '" target="ad"><span class="ok_ad1List_over"><strong>' + link.name + '</strong></span> ' + link.caption + '</a> </li>');
        })
        $(dom).show();
      })
    });
  }

  var popup_print_qa = function() {
      window.open(print_url, '', 'width=748,status=yes,menubar=yes,toolbar=yes,scrollbars=yes');
  }

  $.ajaxSetup({
      beforeSend : function(){connecting = true;},
      complete : function(){connecting = false;},
      error: $.fn.okwave.lib.ajaxErrorHandler
  });

  var que_forward = function() {
      location.href = "mailto:?body=" + escape(document.URL);
  }

    $('#fav_qa').click(function(){fav_qa();return false;});
    $('a.vote').click(function(){evaluate(this);return false;});
    $('#instructive').click(function(){instructive(true);return false;});
    $('#uninstructive').click(function(){instructive(false);return false;});
    $('#print_qa').click(function(){popup_print_qa(this);return false;});
    $('#que_forward').click(function(){que_forward(this);return false;});


    $('#sort').change(function(){
      $('form#submit_form').submit();
    });

   if (is_favorited)  $('#fav_qa_span').hide();
   if ($('.answer').size() > 0) { appendQamatch(); }
   $('#tabs').tabs();

   $('.btn_socialbook,#sbm_list').hover(
       function () {
           $('#sbm_list').show();
       },
       function () {
           $('#sbm_list').hide();
       }
   );

  today = new Date();
  var ajax_url = '/ajax_question/sidebarlist';
  if(is_talk == 1) {
    ajax_url = '/ajax_question/sidebarlist?is_talk=1';
  }
  $.ajax({
    url : ajax_url,
    data : { cid: cid, qid: qid, time : today.getTime()},
    success : function(response) {
      $('#sidebar_qlist').html(response);
    }});

    var trimStr = function (str,byteSize){
        var bt = 0,trimStr="";
        for (var j=0,len=str.length; j <len ; j++) {
          str.charCodeAt(j) < 0x100 ? bt++ : bt += 2;
          trimStr +=str.charAt(j)
          if(bt>=byteSize){
              trimStr = trimStr.substr(0,j-2)+"...";
                break;
            }
        }
        return trimStr;
    }

    var appendGuide = function() {

        getGuideData = function(data){
          var contents = '';
          for(var i = 0; i < data.guides.length; i++) {
            contents += '<li class="ok_osusume_list-t bor_dot_b guide"><a href="' + data.guides[i].url + '" title="' + data.guides[i].title + '"><span class="ico_guide_s"></span>' + trimStr(data.guides[i].title, 80) + '</a></li>';
          }
          $('.last_relatedqa').after(contents);
        }

        var guide_array = $('#ok_osusume').attr('title').split('_');

        var view_flg = parseInt(guide_array[1]);
        var guide_map = {'214' :  4,  '207' : 5,  '212' : 10,  '209' : 10,  '211' : 13,  '206' : 15,  '208' : 18,  '213' :  9,  '10000'  : 1,
                         '932' : 11,  '205' : 5,  '714' :  6,  '713' : '',  '517' :  3,  '725' : '',  '999' : 4 ,  '210' : 18,  '700000' : 11 };
        var guide_url = 'http://okguide.okwave.jp/api/guides.json?';
        var guide_category = guide_map[parseInt(guide_array[0])];
        var guide_except = '';
        var guide_count = 2;
        if(view_flg == '1') {
          $.ajax({
            url : guide_url,
            data : {category: guide_category, except: guide_except, count: guide_count, callback: 'getGuideData'},
            dataType : 'jsonp',
            timeout : 100,
            cache : true
          });
        }
    }
    if($('#ok_osusume').length > 0) appendGuide();

    $('.btn_answer_01').live('click', function(){
      if(is_blocked == 'true') {
        if(is_talk == 1) {
          $.fn.okwave.ui.notice.open('レスがブロックされているので、レスすることができません');
        }else{
          $.fn.okwave.ui.notice.open('回答がブロックされているので、回答することができません');
        }
        return false;
      }
    });

});

