/*! MJ CYOA - v0.1.0 - 2013-04-10 * https://github.com/motherjones/cyoa * Copyright (c) 2013 Ben Breedlove; Licensed MIT, GPL */ (function(e){e.Cyoa=function(t,n){var r,i,s,o=[],u,a={start_page:"start",container:"cyoa_container",separator:"|",control_position:"split",init:function(e,t){u=this,u.story=e;if(t)for(var n in t)u[n]=t[n];if(typeof e=="string")return u.story=u.make_story_from_google_spreadsheet(e),u;u.create_cover();for(var r in u.story)u.create_page(r);return u.add_to_path(u.start_page),u.display_page(u.start_page),u},make_story_from_google_spreadsheet:function(e){Tabletop.init({key:e,callback:function(e){var t=u.make_story_data_from_spreadsheet_data(e);u.init(t,n)},simpleSheet:!0,proxy:u.tabletop_proxy})},make_story_data_from_spreadsheet_data:function(e){var t={};u.start_page="cyoa_page_"+u.clean_slug(e[0].slug);for(var n=0;n"+e.title+"":"")+"

"+e.text+"

"+""},clean_slug:function(e){return e.replace(/[^a-zA-Z0-9]/g,"").toLowerCase()},make_connects_data_from_row:function(e){var t=[],n=e.connectsto.split(u.separator),r=e.connectstext.split(u.separator);for(var i=0;iBack'),i.click(function(){u.back()}),i.addClass("cyoa_top_controls"),i},create_reset_button_elem:function(){return s=e('
  • Reset
  • '),s.click(function(){u.reset()}),s.addClass("cyoa_top_controls"),s},create_page:function(e){u.story[e].element=u.create_page_element(e),u.story[e].element.addClass("cyoa_hide"),u.story[e].element.append(u.create_controls(e)),r.append(u.story[e].element)},create_page_element:function(t){var n=u.story[t],r=n.html?n.html:n.img?'':n.text?"

    "+n.text+"

    ":"

    No content provided. That's unfortunate",i=e('

    '+'
    '+r+"
    ");return i},add_to_path:function(e){o.push(e),o.length>1&&(i.removeClass("disabled"),s.removeClass("disabled"))},create_controls:function(t){var n=e('');u.control_position=="centered"&&n.addClass("centered"),u.control_position=="split"&&n.addClass("split"),u.control_position=="right"&&n.addClass("right"),u.control_position=="left"&&n.addClass("left");var r=u.story[t].connects,i=function(e,t){t.click(function(){u.add_to_path(e),u.display_page(e)})};for(var s in r){var o=r[s];if(!u.story[o.link])continue;var a=e('
  • ');a.append(e(""+o.html+"")),i(o.link,a),n.append(a)}return n.append(u.create_reset_button_elem()),n.append(u.create_back_button_elem()),n},display_page:function(t){return e(".cyoa_page").addClass("cyoa_hide").removeClass("cyoa_show"),e("#"+t+"_container").removeClass("cyoa_hide"),e("#"+t+"_container").addClass("cyoa_show"),u},back:function(){if(o.length===1){i.addClass("disabled"),s.addClass("disabled");return}o.pop(),u.display_page(o[o.length-1]),o.length===1&&(i.addClass("disabled"),s.addClass("disabled"))},reset:function(){while(o.length>1)o.pop();u.display_page(o[0]),i.addClass("disabled"),s.addClass("disabled")}};return a.init(t,n)},e.fn.Cyoa=function(t,n){return n=n||{},n.container=this.attr("id"),this.cyoa=e.Cyoa(t,n),this}})(jQuery);