public static function get_scene_notes_div(Oedipus_Scene $scene)
 {
     $div = new HTMLTags_Div();
     $div->set_attribute_str('class', 'notes');
     $div->set_attribute_str('id', 'scene');
     /*
      * Put A Textbox for the heading if scene is editable,
      * Put a <h3> if it isn't
      */
     if ($scene->is_editable()) {
         $name_div = new HTMLTags_Div();
         $name_div->set_attribute_str('id', 'name-form');
         $name_div->append(new Oedipus_EditSceneNameHTMLForm($scene));
         $div->append($name_div);
     } else {
         $div->append($heading = new HTMLTags_Heading(3, $scene->get_name()));
     }
     /*
      * Put a Textbox for the Note, if frame is editable,
      * Put the note in a <pre> if it isn't
      */
     try {
         if ($scene->is_editable()) {
             $drama_id = Oedipus_DramaHelper::get_drama_id_for_scene_id($scene->get_id());
             $note_div = new HTMLTags_Div();
             $note_div->set_attribute_str('id', 'note-form');
             $note_div->set_attribute_str('class', 'user-html');
             if (Oedipus_NotesHelper::has_scene_got_note($scene->get_id())) {
                 $note = Oedipus_NotesHelper::get_note_by_scene_id($scene->get_id());
                 $note_div->append(self::get_note_preview_div($note));
                 $note_div->append(new Oedipus_EditSceneNoteHTMLForm($note, $drama_id, $scene->get_id()));
             } else {
                 $note_div->append(new Oedipus_AddSceneNoteHTMLForm($drama_id, $scene));
             }
             $div->append($note_div);
         } else {
             $note = Oedipus_NotesHelper::get_note_by_scene_id($scene->get_id());
             $user_html_div = new HTMLTags_Div();
             $user_html_div->set_attribute_str('class', 'user-html');
             $user_html_div->append($note->get_note_text_html());
             $div->append($user_html_div);
         }
     } catch (Exception $e) {
         throw new Exception('Failed to retrieve note');
     }
     return $div;
 }