function p0(v) { return ((v+'').length == 1) ? '0'+v : v; }
$(document).ready(function() {
  $('ul.star').imageselect({auto_width:false});
  $('form.post_comment_form input:hidden').eq(0).attr('value', '0');
  $('a.post_comment_button').click(function(e) {
    e.preventDefault();
    $(this).hide();
    if ($('.post_comment_form').is(':hidden')) {
      $('.post_comment_form').fadeIn('fast');
    }
  });
  $('.post_comment_link a').click(function(e) {
    if ($('.post_comment_form').is(':hidden')) {
      $('a.post_comment_button').hide();
      $('.post_comment_form').fadeIn('fast');
    }
  });
  $('form.post_comment_form').submit(function (e) {
    if ($(this).find('input:hidden').eq(0).attr('value') == '1') return true;
    e.preventDefault();
    var text = $(this).find('input:text'),
    textarea = $(this).find('textarea'),
    alt = $(this).find('.alertbox').eq(0),
    errors = [], now, c, star, i, div, url;
    alt.hide();
    if (text.eq(0).attr('value').empty())
      errors.push(text.eq(0));
    if (text.eq(1).attr('value').empty())
      errors.push(text.eq(1));
    if (textarea.attr('value').empty())
      errors.push(textarea);
    if (errors.length > 0) {
      $.each(errors, function(i,e) {
        $(e).hide().fadeIn('fast');
      });
      alt.find('.alert').html('タイトル、名前、内容の全てに入力してください');
      alt.show();
    } else {
      now = new Date();
      c = $('<div></div>').addClass('recipe_comment');
      $('<div></div>').addClass('recipe_comment_date').html((now.getFullYear()+'').replace(/^20/,'')+'/'+p0(now.getMonth()+1)+'/'+p0(now.getDate())).appendTo(c);
      $('<div></div>').addClass('recipe_comment_title').html(text.eq(0).attr('value').escapeHTML()).appendTo(c);
      $('<div></div>').addClass('recipe_comment_body').html(textarea.attr('value').escapeHTML().br()).appendTo(c);;
      star = 5 - $('ul.star').imageselect_selected();
      div = $('<div></div>').addClass('recipe_comment_star').appendTo(c);
      for (i=0;i<star;i++) {
        $('<img />').attr('src', 'images/star.gif').appendTo(div);
      }
      $('<div></div>').addClass('recipe_comment_meta').html('- <span class="recipe_comment_author">'+text.eq(1).attr('value').escapeHTML()+'</span>').appendTo(c);
      if (!text.eq(2).attr('value').empty()) {
        url = text.eq(2).attr('value');
        if (!url.match(/^http:\/\//)) url = 'http://'+url;
        $('<div></div>').addClass('post_comment_form_link').html(encodeURI(url.escapeHTML())).appendTo(c);
      }
      $('<div></div>').addClass('post_comment_form_desc').html('この内容でよければ「レビューを投稿」ボタンを押してください(タイトルや内容が長すぎるときは投稿後に一部カットされることがあります)。').appendTo(c);
      $('<div></div>').addClass('post_comment_form_button').html('<input type="button" value="レビューを投稿" /><div><a href="#cancel">レビュー内容を修正</a></div>').appendTo(c);
      div = $('.post_comment_form_confirmation');
      div.empty();
      c.appendTo(div);
      $(this).fadeOut('fast', function() {
        $('.post_comment_form_confirmation').fadeIn('fast');
      });
      c.find('.post_comment_form_button a').click(function(e) {
        e.preventDefault();
        $('.post_comment_form_confirmation').fadeOut('fast', function(){
          var form = $('form.post_comment_form');
          form.find('input:hidden').eq(0).attr('value', '0');
          form.fadeIn('fast');
        });
      });
      c.find('.post_comment_form_button input:button').click(function(e) {
        var form = $('form.post_comment_form'),
        hidden = form.find('input:hidden');
        hidden.eq(0).attr('value', '1');
        hidden.eq(1).attr('value', (5 - $('ul.star').imageselect_selected()));
        $('.post_comment_form_confirmation').fadeOut('fast', function(){
          $('.post_comment_form_loading').show();
          $.post('recipe.php', form.serialize(), function(){
            $('.post_comment_form_loading').hide();
            $('.post_comment_form_confirmation .recipe_comment div').each(function() {
              if ($(this).hasClass('post_comment_form_desc'))
                $(this).html('レビューの投稿を受け付けました。<br /><br /><div style="color:#963">内容を確認後に掲載します(数日から1週間程かかることがあります)。また内容によっては掲載されないこともありますのでご了承ください。</div>');
              else
                $(this).hide();
            });
            $('.post_comment_form_confirmation').fadeIn('fast');
          });
        });
      });
    }
  });
  $(document).click(function(e){$('ul.star').imageselect_hide();});
});
