+
+ // tutorial mode
+ var tutorial, tutorial_no;
+ var start;
+
+ var first_reset = true;
+ function tutreset() {
+ if (start) $(start).popover('hide');
+ start = null;
+ tutorial_no = null;
+ var all_tutorial = $('[data-toggle="tutorial"]');
+
+ function sortKey(a) {
+ return parseInt($(a).attr('data-tutorial'));
+ }
+ tutorial = $.makeArray(all_tutorial.sort(
+ function(a, b) {return sortKey(a) < sortKey(b) ? -1 : 1}
+ ));
+
+ if (first_reset) {
+ $.each(tutorial, function(i, e) {
+ var but = (i < tutorial.length - 1) ? '>>' : 'OK',
+ but_prev_html = i === 0 ? '' : '<a class="btn btn-default tutorial-prev" href="#-" id="pv'+i+'"><<</a></div></div>';
+ $(e).popover({
+ title: '<a class="btn btn-default tutorial-off" href="#-" id="tutoff'+i+'" style="float:right; padding:0 8px 4px 8px; position:relative; top:-6px; right:-10px;">×</a>Tutorial',
+ trigger: 'focus',
+ html: 'true',
+ template: '<div class="popover" role="tooltip"><div class="arrow"></div><h3 class="popover-title"></h3><div class="popover-content"></div><div><a style="float:right" class="btn btn-default tutorial-next" href="#-" id="nt'+i+'">' + but + '</a>' + but_prev_html + '</div></div>'
+ });
+ $(e).popover('disable');
+ });
+ first_reset = false;
+ }
+ }
+
+ function tuton() {
+ sessionStorage.setItem("tutorial", "on");
+ tutreset();
+ var $tutModal = $('#tutModal');
+ if($tutModal.length === 0) {
+ tutnext();
+ } else {
+ $tutModal.modal('show');
+ }
+ return false;
+ }
+ function tutoff() {
+ $(this).popover('hide');
+ if (start) $(start).popover('hide');
+ start = null;
+ sessionStorage.removeItem("tutorial");
+ $('[data-toggle="tutorial"]').popover('disable');
+ return false;
+ }
+ function tut(next) {
+ if (start) {
+ $(start).popover('hide').popover('disable');
+ }
+ if (tutorial_no === null)
+ tutorial_no = 0;
+ else if (next)
+ tutorial_no++;
+ else
+ tutorial_no--;
+ if (tutorial_no < tutorial.length && tutorial_no >= 0) {
+ start = tutorial[tutorial_no];
+ $(start).popover('enable').popover('show');
+ }
+ else {
+ tutorial_no = null;
+ start = null;
+ }
+ return false;
+ }
+ function tutnext() {
+ tut(true);
+ }
+ function tutprev() {
+ tut(false);
+ }
+ $('#tutModal').on('hidden.bs.modal', tutnext);
+
+ if (sessionStorage.getItem("tutorial") === "on" && $('#tuton').length === 0) {
+ tutreset();
+ tutnext();
+ }
+ $(document).on('click', '#tuton', tuton);
+ $(document).on('click', '.tutorial-off', tutoff);
+ $(document).on('click', '.tutorial-next', tutnext);
+ $(document).on('click', '.tutorial-prev', tutprev);