customer_widgets = {
  bulk_license_test:function(ns){
    var ns=genshi2js.merge(genshi2js.util, ns);
    var stack=new Array();
    var result_html=new Array();
    with(genshi2js.fill_vars(ns,stack,result_html)){
    html_push("<div>");
      html_push("<h3>");
        secure_push("Bulk license POST request test");
      html_push("</h3>");
      html_push("<form"+genshi2js.attribute("action", "bulk_license")+genshi2js.attribute("method", "POST")+">");
        secure_push("POST data:");
        html_push("<textarea"+genshi2js.attribute("rows", "24")+genshi2js.attribute("cols", "60")+genshi2js.attribute("name", "data")+"/>");
        html_push("<br/>");
        html_push("<input"+genshi2js.attribute("type", "submit")+"/>");
      html_push("</form>");
    html_push("</div>");
    return new genshi2js.Stream(result_html);
  }},
  drilldown:function(ns){
    var ns=genshi2js.merge(genshi2js.util, ns);
    var stack=new Array();
    var result_html=new Array();
    with(genshi2js.fill_vars(ns,stack,result_html)){
    html_push("<ul>");
      genshi2js.iterate(ns.enumerate(ns.entries),function(item){
        (function(v){ns.i=v[0];ns.entry=v[1]})(item);
        html_push("<li"+genshi2js.attribute("class", ((ns.i+ns.offset)%2?"odd":"even"))+">");
          if(ns.entry.count){
            html_push("<span"+genshi2js.attribute("class", "match_count")+">");
              secure_push("(");
              secure_push(ns.entry.count);
              secure_push(")");
            html_push("</span>");
          }
          html_push("<span"+genshi2js.attribute("class", "link")+genshi2js.attribute("onClick", "application.handle_tab_click(this, "+ns.stringify(ns.entry.type||ns.global_type)+", "+ns.stringify(ns.entry.id)+", "+ns.entry.attr_id+", "+ns.stringify(ns.entry.title)+")")+">");
            secure_push(ns.entry.title);
          html_push("</span>");
        html_push("</li>");
      });
    html_push("</ul>");
    return new genshi2js.Stream(result_html);
  }},
  license_acqusition:function(ns){
    var ns=genshi2js.merge(genshi2js.util, ns);
    var stack=new Array();
    var result_html=new Array();
    with(genshi2js.fill_vars(ns,stack,result_html)){
    html_push("<div"+genshi2js.attribute("class", "item")+genshi2js.attribute("id", "license_acq")+">");
      html_push("<h2>");
        secure_push("Acquiring your license...");
      html_push("</h2>");
    html_push("</div>");
    return new genshi2js.Stream(result_html);
  }},
  sub_navigation:function(ns){
    var ns=genshi2js.merge(genshi2js.util, ns);
    var stack=new Array();
    var result_html=new Array();
    with(genshi2js.fill_vars(ns,stack,result_html)){
    html_push("<ul"+genshi2js.attribute("class", "plainlist")+">");
      genshi2js.iterate(ns.entries,function(item){
        ns.entry=item;
        html_push("<li"+genshi2js.attribute("class", "link")+genshi2js.attribute("onClick", "application.drilldown.drill_to_top("+ns.stringify(ns.entry.type||ns.global_type)+", "+ns.entry.id+", "+ns.entry.attr_id+", "+ns.stringify(ns.entry.title)+")")+">");
          secure_push(ns.entry.title);
        html_push("</li>");
      });
    html_push("</ul>");
    return new genshi2js.Stream(result_html);
  }},
  bulk_confirm:function(ns){
    var ns=genshi2js.merge(genshi2js.util, ns);
    var stack=new Array();
    var result_html=new Array();
    with(genshi2js.fill_vars(ns,stack,result_html)){
    html_push("<div"+genshi2js.attribute("class", "clearfix")+genshi2js.attribute("id", "bulk_confirm_modal")+">");
      if(ns.content.selected_sub_type){
        html_push("<div"+genshi2js.attribute("id", "sub_selection")+genshi2js.attribute("class", "clearfix")+">");
          html_push("<div>");
            secure_push(ns.trans("need_to_buy_sub"));
          html_push("</div>");
          html_push("<div>");
            html_push("<div"+genshi2js.attribute("class", "option")+">");
              html_push("<div"+genshi2js.attribute("class", "icon")+">");
                html_push("<img"+genshi2js.attribute("src", ns.application.url.customer_image("PCAndMobile.gif"))+"/>");
              html_push("</div>");
              html_push("<div"+genshi2js.attribute("class", "price")+">");
                secure_push(ns.trans("pc_and_mobile"));
                secure_push(" ");
                secure_push(ns.application.format_price(ns.content.sub_price));
              html_push("</div>");
            html_push("</div>");
          html_push("</div>");
        html_push("</div>");
      }
      if(ns.content.selected_ppd_type){
        html_push("<div"+genshi2js.attribute("id", "ppd_selection")+genshi2js.attribute("class", "clearfix")+">");
          html_push("<br/>");
          html_push("<div>");
            secure_push(ns.trans("ppd_price_to_buy"));
          html_push("</div>");
          html_push("<div>");
            html_push("<div"+genshi2js.attribute("class", "option")+">");
              html_push("<div"+genshi2js.attribute("class", "icon")+">");
                html_push("<img"+genshi2js.attribute("src", ns.application.url.customer_image("PCAndMobile.gif"))+"/>");
              html_push("</div>");
              html_push("<div"+genshi2js.attribute("class", "price")+">");
                secure_push(ns.trans("pc_and_mobile"));
                secure_push(" ");
                secure_push(ns.application.format_price(ns.content.ppd_price));
              html_push("</div>");
            html_push("</div>");
          html_push("</div>");
        html_push("</div>");
      }
      html_push("<div"+genshi2js.attribute("class", "button continue")+">");
        secure_push(ns.trans("continue"));
      html_push("</div>");
      html_push("<div"+genshi2js.attribute("class", "button cancel")+">");
        secure_push(ns.trans("cancel"));
      html_push("</div>");
    html_push("</div>");
    return new genshi2js.Stream(result_html);
  }},
  search_button:function(ns){
    var ns=genshi2js.merge(genshi2js.util, ns);
    var stack=new Array();
    var result_html=new Array();
    with(genshi2js.fill_vars(ns,stack,result_html)){
    html_push("<div"+genshi2js.attribute("id", "search_button")+">");
      html_push("<ul"+genshi2js.attribute("class", "plainlist clearfix")+">");
        html_push("<li>");
          html_push("<div"+genshi2js.attribute("class", "title")+genshi2js.attribute("onclick", "application.show_search()")+">");
            secure_push(ns.application.trans("search"));
          html_push("</div>");
        html_push("</li>");
        html_push("<li>");
          html_push("<input"+genshi2js.attribute("type", "text")+genshi2js.attribute("id", "searchbox")+genshi2js.attribute("value", ns.term)+"/>");
        html_push("</li>");
        html_push("<li>");
          html_push("<div"+genshi2js.attribute("class", "action")+genshi2js.attribute("onclick", "return application.search.do_search();")+">");
            secure_push(ns.application.trans("go"));
          html_push("</div>");
        html_push("</li>");
        html_push("<li>");
          html_push("<div"+genshi2js.attribute("class", "lang")+">");
            if(ns.application.language=="fr"){
              html_push("<a"+genshi2js.attribute("href", "#")+genshi2js.attribute("class", "enabled")+genshi2js.attribute("onclick", "return application.toggle_lang('en');")+">");
                secure_push("EN");
              html_push("</a>");
              secure_push("|");
              html_push("<label"+genshi2js.attribute("class", "disabled")+">");
                secure_push("FR");
              html_push("</label>");
            }
            else{
              html_push("<label"+genshi2js.attribute("class", "disabled")+">");
                secure_push("EN");
              html_push("</label>");
              secure_push("|");
              html_push("<a"+genshi2js.attribute("href", "#")+genshi2js.attribute("class", "enabled")+genshi2js.attribute("onclick", "return application.toggle_lang('fr');")+">");
                secure_push("FR");
              html_push("</a>");
            }
          html_push("</div>");
        html_push("</li>");
      html_push("</ul>");
    html_push("</div>");
    return new genshi2js.Stream(result_html);
  }},
  artist_albums:function(ns){
    var ns=genshi2js.merge(genshi2js.util, ns);
    var stack=new Array();
    var result_html=new Array();
    with(genshi2js.fill_vars(ns,stack,result_html)){
    genshi2js.iterate(s(ns.range(ns.len(ns.artist_albums)), null, null, 4),function(item){
      ns.i=item;
      html_push("<div"+genshi2js.attribute("class", "clearfix")+">");
        genshi2js.iterate(s(ns.artist_albums, ns.i, ns.i+4),function(item){
          ns.album=item;
          html_push("<div"+genshi2js.attribute("class", "album")+">");
            html_push("<div"+genshi2js.attribute("class", "clearfix")+">");
              html_push("<a"+genshi2js.attribute("href", ns.application.url.bundle(ns.album.id))+genshi2js.attribute("onclick", "return application.show_bundle('"+ns.album.id+"')")+">");
                html_push("<img"+genshi2js.attribute("src", application.cover_path(ns.album.id, 50))+genshi2js.attribute("class", "cover")+"/>");
              html_push("</a>");
            html_push("</div>");
            html_push("<div"+genshi2js.attribute("class", "title")+">");
              html_push("<a"+genshi2js.attribute("href", ns.application.url.bundle(ns.album.id))+genshi2js.attribute("onclick", "return application.show_bundle('"+ns.album.id+"')")+">");
                secure_push(ns.album.title);
              html_push("</a>");
            html_push("</div>");
          html_push("</div>");
        });
      html_push("</div>");
    });
    return new genshi2js.Stream(result_html);
  }},
  action_box:function(ns){
    var ns=genshi2js.merge(genshi2js.util, ns);
    var stack=new Array();
    var result_html=new Array();
    with(genshi2js.fill_vars(ns,stack,result_html)){
    html_push("<div"+genshi2js.attribute("id", "action_box")+">");
      html_push("<div"+genshi2js.attribute("class", "first")+">");
        html_push("<a"+genshi2js.attribute("onclick", ns.auth.action+".apply(self)")+">");
          secure_push(ns.auth.title);
        html_push("</a>");
      html_push("</div>");
      html_push("<div"+genshi2js.attribute("class", "second")+">");
        html_push("<a"+genshi2js.attribute("onclick", ns.subscription.action+".apply(self)")+">");
          secure_push(ns.subscription.title);
        html_push("</a>");
      html_push("</div>");
    html_push("</div>");
    return new genshi2js.Stream(result_html);
  }},
  search_breadcrumb:function(ns){
    var ns=genshi2js.merge(genshi2js.util, ns);
    var stack=new Array();
    var result_html=new Array();
    with(genshi2js.fill_vars(ns,stack,result_html)){
    html_push("<ul"+genshi2js.attribute("class", "plainlist titles")+">");
      html_push("<li"+genshi2js.attribute("class", "songs")+">");
        secure_push(ns.trans("songs"));
      html_push("</li>");
      html_push("<li"+genshi2js.attribute("class", "artists")+">");
        secure_push(ns.trans("artists"));
      html_push("</li>");
      html_push("<li"+genshi2js.attribute("class", "album")+">");
        secure_push(ns.trans("album"));
      html_push("</li>");
    html_push("</ul>");
    return new genshi2js.Stream(result_html);
  }},
  reload_license_popup:function(ns){
    var ns=genshi2js.merge(genshi2js.util, ns);
    var stack=new Array();
    var result_html=new Array();
    with(genshi2js.fill_vars(ns,stack,result_html)){
    html_push("<div>");
      html_push("<div"+genshi2js.attribute("class", "clearfix close")+">");
        html_push("<div"+genshi2js.attribute("class", "cancel link")+">");
          secure_push(ns.trans("close"));
        html_push("</div>");
      html_push("</div>");
      html_push("<h1>");
        secure_push(ns.title);
      html_push("</h1>");
      html_push("<div"+genshi2js.attribute("class", "purchase_options clearfix")+">");
        html_push("<div>");
          html_push("<input"+genshi2js.attribute("checked", "checked")+genshi2js.attribute("type", "radio")+genshi2js.attribute("name", "reload_option")+genshi2js.attribute("value", "subscription")+"/>");
          html_push("<legend>");
            secure_push("Use subscription");
          html_push("</legend>");
        html_push("</div>");
        html_push("<div>");
          html_push("<input"+genshi2js.attribute("type", "radio")+genshi2js.attribute("name", "reload_option")+genshi2js.attribute("value", "ppd")+"/>");
          html_push("<legend>");
            secure_push("PPD");
          html_push("</legend>");
        html_push("</div>");
      html_push("</div>");
      html_push("<div"+genshi2js.attribute("class", "button continue")+">");
        secure_push(ns.trans("continue"));
      html_push("</div>");
    html_push("</div>");
    return new genshi2js.Stream(result_html);
  }},
  subscription_confirm:function(ns){
    var ns=genshi2js.merge(genshi2js.util, ns);
    var stack=new Array();
    var result_html=new Array();
    with(genshi2js.fill_vars(ns,stack,result_html)){
    html_push("<div"+genshi2js.attribute("class", "clearfix")+">");
      html_push("<h1>");
        secure_push(jQuery.sprintf(ns.application.trans("you_have_subscribed_to"), ns.title));
      html_push("</h1>");
      html_push("<h2>");
        secure_push(ns.title);
      html_push("</h2>");
      secure_push(customer_widgets.subscription_confirm_text({"application":ns.application}));
      html_push("<p"+genshi2js.attribute("class", "emphasis")+">");
        secure_push(ns.application.trans("my_vault_contains_subscription_note"));
      html_push("</p>");
    html_push("</div>");
    return new genshi2js.Stream(result_html);
  }},
  subscription_confirm_text:function(ns){
    var ns=genshi2js.merge(genshi2js.util, ns);
    var stack=new Array();
    var result_html=new Array();
    with(genshi2js.fill_vars(ns,stack,result_html)){
    html_push("<div>");
      html_push("<div>");
        switch(ns.application.language){
          case "en":
            html_push("<div>");
              html_push("<p>");
                secure_push("Thank you! You are now subscribed to TELUS Mobile Music.");
              html_push("</p>");
              html_push("<p>");
                secure_push("You can start downloading all the music you want within our music catalogue. Select \u00abadd track\u00bb or \u00abadd album\u00bb to download songs or albums through your subscription. Select \u00abbuy song\u00bb to purchase premium content that is not included with your subscription.");
              html_push("</p>");
              html_push("<p>");
                secure_push("Remember: Your subscription will automatically renew and your account will be billed every 30 days.");
              html_push("</p>");
              html_push("<p>");
                secure_push("You may be prompted on your TELUS phone to upgrade your Player application the first time you shop or download music. The new Player enables you to download music through your subscription, to listen to music while shopping for new songs, to see album covers, and more!");
              html_push("</p>");
            html_push("</div>");
            break;
          case "fr":
            html_push("<div>");
              html_push("<p>");
                secure_push("Merci. Vous \u00eates maintenant abonn\u00e9 \u00e0 TELUS Musique sans fil.");
              html_push("</p>");
              html_push("<p>");
                secure_push("Vous pouvez commencer \u00e0 t\u00e9l\u00e9charger toute la musique que vous voulez \u00e0 partir de notre catalogue de musique. S\u00e9lectionnez \u00abAjouter la chanson\u00bb ou \u00abAjouter l\u2019album\u00bb pour t\u00e9l\u00e9charger des chansons ou des albums \u00e0 partir de votre abonnement. S\u00e9lectionnez \u00abAcheter la chanson\u00bb pour acheter du contenu Privil\u00e8ge non compris dans votre abonnement.");
              html_push("</p>");
              html_push("<p>");
                secure_push("Rappel\u00a0: Votre abonnement sera automatiquement renouvel\u00e9 et des frais seront port\u00e9s \u00e0 votre compte tous les 30\u00a0jours.");
              html_push("</p>");
              html_push("<p>");
                secure_push("Votre sans-fil TELUS peut vous demander de t\u00e9l\u00e9charger la plus r\u00e9cente version du lecteur multim\u00e9dia la premi\u00e8re fois que vous achetez ou t\u00e9l\u00e9chargez de la musique. Le nouveau lecteur vous permet de t\u00e9l\u00e9charger de la musique avec votre abonnement, d\u2019\u00e9couter des extraits en magasinant de nouvelles chansons, de voir les pochettes d\u2019album et bien plus encore!");
              html_push("</p>");
            html_push("</div>");
            break;
        }
      html_push("</div>");
    html_push("</div>");
    return new genshi2js.Stream(result_html);
  }},
  my_vault_legend:function(ns){
    var ns=genshi2js.merge(genshi2js.util, ns);
    var stack=new Array();
    var result_html=new Array();
    with(genshi2js.fill_vars(ns,stack,result_html)){
    html_push("<div"+genshi2js.attribute("id", "my_vault_legend")+">");
      html_push("<div"+genshi2js.attribute("class", "top")+"/>");
      html_push("<div"+genshi2js.attribute("class", "main")+">");
        html_push("<h2>");
          secure_push(ns.trans("legend"));
        html_push("</h2>");
        html_push("<div"+genshi2js.attribute("id", "legend")+">");
          html_push("<div"+genshi2js.attribute("class", "item clearfix")+">");
            html_push("<div"+genshi2js.attribute("class", "icon pc_mobile")+"/>");
            html_push("<div"+genshi2js.attribute("class", "text")+">");
              secure_push(ns.trans("legend_pc_mobile"));
            html_push("</div>");
          html_push("</div>");
          html_push("<div"+genshi2js.attribute("class", "item clearfix")+">");
            html_push("<div"+genshi2js.attribute("class", "icon downloads")+"/>");
            html_push("<div"+genshi2js.attribute("class", "text")+">");
              secure_push(ns.trans("legend_downloads"));
            html_push("</div>");
          html_push("</div>");
          html_push("<div"+genshi2js.attribute("class", "item clearfix")+">");
            html_push("<div"+genshi2js.attribute("class", "icon renew")+"/>");
            html_push("<div"+genshi2js.attribute("class", "text")+">");
              secure_push(ns.trans("legend_renew"));
            html_push("</div>");
          html_push("</div>");
          html_push("<div"+genshi2js.attribute("class", "spacer")+"/>");
          html_push("<div"+genshi2js.attribute("class", "item clearfix")+">");
            html_push("<div"+genshi2js.attribute("class", "icon pc_mob_subscr")+"/>");
            html_push("<div"+genshi2js.attribute("class", "text")+">");
              secure_push(ns.trans("legend_pc_mobile_subscr"));
            html_push("</div>");
          html_push("</div>");
        html_push("</div>");
      html_push("</div>");
      html_push("<div"+genshi2js.attribute("class", "bottom")+"/>");
    html_push("</div>");
    return new genshi2js.Stream(result_html);
  }},
  redownload_warning:function(ns){
    var ns=genshi2js.merge(genshi2js.util, ns);
    var stack=new Array();
    var result_html=new Array();
    with(genshi2js.fill_vars(ns,stack,result_html)){
    html_push("<div>");
      html_push("<div"+genshi2js.attribute("class", "clearfix close")+">");
        html_push("<div"+genshi2js.attribute("class", "cancel link")+">");
          secure_push(ns.trans("close"));
        html_push("</div>");
      html_push("</div>");
      html_push("<h1>");
        secure_push(ns.title);
      html_push("</h1>");
      html_push("<h3>");
        secure_push((ns.content.__type__=="bundle"?ns.trans("album_redownload_warning"):ns.trans("track_redownload_warning")));
      html_push("</h3>");
      html_push("<div"+genshi2js.attribute("class", "purchase_options clearfix")+">");
        html_push("<div>");
          html_push("<img"+genshi2js.attribute("src", ns.application.url.customer_image("PCAndMobile.gif"))+"/>");
          html_push("<br/>");
          html_push("<legend>");
            secure_push(ns.trans("pc_and_mobile"));
            secure_push(" ");
            secure_push(ns.application.format_price(ns.pc_and_mobile_price));
          html_push("</legend>");
        html_push("</div>");
      html_push("</div>");
      html_push("<div"+genshi2js.attribute("class", "modal_item")+">");
        secure_push(ns.content.title);
      html_push("</div>");
      html_push("<div"+genshi2js.attribute("class", "button buy_song")+">");
        secure_push((ns.content.__type__=="bundle"?ns.trans("buy_album_now"):ns.trans("buy_song_now")));
      html_push("</div>");
    html_push("</div>");
    return new genshi2js.Stream(result_html);
  }},
  track:function(ns){
    var ns=genshi2js.merge(genshi2js.util, ns);
    var stack=new Array();
    var result_html=new Array();
    with(genshi2js.fill_vars(ns,stack,result_html)){
    html_push("<div"+genshi2js.attribute("id", "track")+genshi2js.attribute("class", "item")+">");
      html_push("<div"+genshi2js.attribute("class", "header clearfix")+">");
        html_push("<div"+genshi2js.attribute("class", "top")+"/>");
        if(ns.content.bundle){
          ns=stack_increment(ns);
            ns.bundle=ns.content.bundle;
            html_push("<div"+genshi2js.attribute("class", "main clearfix")+">");
              html_push("<img"+genshi2js.attribute("src", ns.application.cover_path(ns.bundle.id, 76))+genshi2js.attribute("class", "cover")+"/>");
              html_push("<div"+genshi2js.attribute("class", "info")+">");
                html_push("<h1>");
                  secure_push(ns.bundle.artist);
                html_push("</h1>");
                html_push("<div"+genshi2js.attribute("class", "title")+">");
                  html_push("<a"+genshi2js.attribute("href", ns.application.url.bundle(ns.bundle.id))+genshi2js.attribute("onclick", "return application.show_bundle('"+ns.bundle.id+"')")+">");
                    secure_push(ns.bundle.title);
                  html_push("</a>");
                html_push("</div>");
                html_push("<div"+genshi2js.attribute("class", "release")+">");
                  secure_push(util.datetime(ns.bundle.release, "%d/%m/%Y"));
                html_push("</div>");
              html_push("</div>");
              if(ns.application.can_rent(ns.content.bundle)){
                html_push("<a"+genshi2js.attribute("class", "firstaction")+genshi2js.attribute("onclick", "application.add_bundle('"+ns.content.bundle.id+"')")+">");
                  secure_push(ns.trans("add_album"));
                html_push("</a>");
              }
              if(ns.application.has_offer(ns.content.bundle)){
                html_push("<a"+genshi2js.attribute("class", "secondaction")+genshi2js.attribute("onclick", "return application.buy_bundle('"+ns.content.bundle.id+"')")+">");
                  secure_push(ns.trans("buy_album"));
                html_push("</a>");
              }
            html_push("</div>");
          ns=stack_decrement();
        }
        switch("track" in ns.content){
          case true:
            html_push("<div"+genshi2js.attribute("class", "bottom "+(ns.application.language=="fr"?"fr":"en"))+">");
              html_push("<a"+genshi2js.attribute("href", "javascript: void(0)")+genshi2js.attribute("class", "prelisten")+genshi2js.attribute("onclick", "return application.prelisten('"+ns.content.track.id+"')")+"/>");
              html_push("<h2>");
                html_push("<a"+genshi2js.attribute("href", ns.application.url.track(ns.content.track.id))+genshi2js.attribute("onclick", "return application.show_track('"+ns.content.track.id+"')")+">");
                  secure_push(ns.content.track.title);
                html_push("</a>");
              html_push("</h2>");
              if(ns.application.can_rent(ns.content.track)){
                html_push("<a"+genshi2js.attribute("class", "firstaction")+genshi2js.attribute("onclick", "application.add_track('"+ns.content.track.id+"')")+">");
                  secure_push(ns.trans("add_track"));
                html_push("</a>");
              }
              if(ns.application.has_offer(ns.content.track)){
                html_push("<a"+genshi2js.attribute("class", "secondaction")+genshi2js.attribute("onclick", "return application.buy_track('"+ns.content.track.id+"')")+">");
                  secure_push(ns.trans("buy_track"));
                html_push("</a>");
              }
            html_push("</div>");
            break;
          default:
            html_push("<div"+genshi2js.attribute("class", "small_bottom")+"/>");
        }
      html_push("</div>");
      if(ns.content.bundle){
        html_push("<div"+genshi2js.attribute("class", "playlist")+">");
          html_push("<h2>");
            secure_push(ns.trans("album_playlist"));
          html_push("</h2>");
          html_push("<div"+genshi2js.attribute("class", "table_head clearfix")+">");
            html_push("<div"+genshi2js.attribute("class", "prelisten")+">");
              secure_push(ns.trans("preview"));
            html_push("</div>");
            html_push("<div"+genshi2js.attribute("class", "title")+">");
              secure_push(ns.trans("song"));
            html_push("</div>");
            html_push("<div"+genshi2js.attribute("class", "length")+">");
              secure_push(ns.trans("time"));
            html_push("</div>");
          html_push("</div>");
          html_push("<div"+genshi2js.attribute("class", "spacer")+"/>");
          genshi2js.iterate(ns.content.album_tracks,function(item){
            ns.track=item;
            html_push("<div"+genshi2js.attribute("class", "item clearfix")+">");
              html_push("<a"+genshi2js.attribute("href", "javascript: void(0)")+genshi2js.attribute("class", "prelisten")+genshi2js.attribute("onclick", "return application.prelisten('"+ns.track.id+"')")+"/>");
              html_push("<div"+genshi2js.attribute("class", "title")+">");
                html_push("<a"+genshi2js.attribute("href", ns.application.url.track("track.id"))+genshi2js.attribute("onclick", "return application.show_track('"+ns.track.id+"')")+">");
                  secure_push(ns.track.title);
                html_push("</a>");
              html_push("</div>");
              html_push("<div"+genshi2js.attribute("class", "length")+">");
                secure_push(ns.track.duration);
              html_push("</div>");
              if(ns.application.can_rent(ns.track)){
                html_push("<a"+genshi2js.attribute("class", "firstaction")+genshi2js.attribute("onclick", "application.add_track('"+ns.track.id+"')")+">");
                  secure_push(ns.trans("add_track"));
                html_push("</a>");
              }
              if(ns.application.has_offer(ns.track)){
                html_push("<a"+genshi2js.attribute("class", "secondaction")+genshi2js.attribute("onclick", "application.buy_track('"+ns.track.id+"')")+">");
                  secure_push(ns.trans("buy_track"));
                html_push("</a>");
              }
            html_push("</div>");
          });
        html_push("</div>");
      }
      if(ns.content.artist_albums.albums.length>0){
        ns=stack_increment(ns);
          ns.albums=ns.content.artist_albums.albums;
          ns.artist=ns.content.artist_albums.artist;
          html_push("<div"+genshi2js.attribute("class", "artist_albums clearfix")+">");
            if(ns.albums.length>4){
              html_push("<a"+genshi2js.attribute("class", "unfold")+genshi2js.attribute("onclick", "application.unfold_artist_albums.apply(this)")+">");
                secure_push(ns.trans("see_all"));
              html_push("</a>");
            }
            html_push("<h2>");
              secure_push(jQuery.sprintf(ns.trans("artist_albums"), ns.artist));
            html_push("</h2>");
            html_push("<div"+genshi2js.attribute("id", "artist_albums")+">");
              secure_push(customer_widgets.artist_albums({"artist_albums":s(ns.albums, null, 4), "application":ns.application}));
            html_push("</div>");
          html_push("</div>");
        ns=stack_decrement();
      }
    html_push("</div>");
    return new genshi2js.Stream(result_html);
  }},
  search_sub_navigation:function(ns){
    var ns=genshi2js.merge(genshi2js.util, ns);
    var stack=new Array();
    var result_html=new Array();
    with(genshi2js.fill_vars(ns,stack,result_html)){
    html_push("<ul"+genshi2js.attribute("class", "plainlist search_by")+">");
      html_push("<li>");
        html_push("<span>");
          secure_push(ns.application.trans("search_by"));
        html_push("</span>");
      html_push("</li>");
      genshi2js.iterate(ns.options,function(item){
        ns.option=item;
        html_push("<li"+genshi2js.attribute("class", "link "+(ns.option.key==ns.search_by_key?"selected":""))+genshi2js.attribute("onclick", "return application.search.do_search("+ns.stringify(ns.option.key)+");")+">");
          secure_push(ns.option.title);
        html_push("</li>");
      });
    html_push("</ul>");
    return new genshi2js.Stream(result_html);
  }},
  terms_and_conditions_text:function(ns){
    var ns=genshi2js.merge(genshi2js.util, ns);
    var stack=new Array();
    var result_html=new Array();
    with(genshi2js.fill_vars(ns,stack,result_html)){
    html_push("<div"+genshi2js.attribute("class", "item")+">");
      html_push("<h1>");
        secure_push(ns.application.trans("terms_and_conditions"));
      html_push("</h1>");
      html_push("<div"+genshi2js.attribute("class", "terms")+">");
        switch(ns.application.language){
          case "en":
            html_push("<div>");
              html_push("<p>");
                secure_push("The songs and their copyrights are the intellectual property of third parties and are solely for your own personal use. Any copying, redistribution or other use of any song is prohibited without the prior written consent of the copyright owners of the song. Your use of the songs is also subject to the service rules below.");
              html_push("</p>");
              html_push("<h2>");
                secure_push("Mobile Device:");
              html_push("</h2>");
              html_push("<p>");
                secure_push("You can use each song on one (1) TELUS mobile device.");
              html_push("</p>");
              html_push("<h2>");
                secure_push("Burning:");
              html_push("</h2>");
              html_push("<p>");
                secure_push("You can copy a purchased song to a compact disc up to seven (7) times.");
              html_push("</p>");
              html_push("<p>");
                secure_push("You shall not evade song playlist burn restrictions through creation of new playlists containing identical songs or otherwise.");
              html_push("</p>");
              html_push("<h2>");
                secure_push("Personal Computers:");
              html_push("</h2>");
              html_push("<p>");
                secure_push("You can use each song on up to four (4) personal computers.");
              html_push("</p>");
              html_push("<p>");
                secure_push("Each re-installation of a song onto a personal computer counts as one use of the song on a personal computer and vice-versa.");
              html_push("</p>");
              html_push("<h2>");
                secure_push("Re-Installation:");
              html_push("</h2>");
              html_push("<p>");
                secure_push("You can re-install a song onto a personal computer or mobile device up to three (3) times if the mobile device or personal computer is damaged.");
              html_push("</p>");
              html_push("<h2>");
                secure_push("Subscription Service:");
              html_push("</h2>");
              html_push("<p>");
                secure_push("Notwithstanding anything to the contrary, you agree that, when you use songs on a mobile device or personal computer as part of a monthly subscription to the TELUS mobile music service, you may not:");
              html_push("</p>");
              html_push("<ul>");
                html_push("<li>");
                  secure_push("copy songs onto compact discs and");
                html_push("</li>");
                html_push("<li>");
                  secure_push("use the songs once your subscription to the TELUS Mobile music service ends.");
                html_push("</li>");
              html_push("</ul>");
              html_push("<h2>");
                secure_push("General:");
              html_push("</h2>");
              html_push("<p>");
                secure_push("You have no rights in the songs other than those described in these service rules.");
              html_push("</p>");
              html_push("<p>");
                secure_push("You are not granted any commercial, sale, resale, reproduction, distribution or promotional use rights for the songs, including any rights for use that requires a synchronization or public performance license.");
              html_push("</p>");
              html_push("<p>");
                secure_push("You shall only use songs on mobile devices or personal computers that you own and that support the TELUS mobile music security solution. You shall not circumvent the TELUS mobile music security solution.");
              html_push("</p>");
              html_push("<h2>");
                secure_push("Changes:");
              html_push("</h2>");
              html_push("<p>");
                secure_push("TELUS may change these service rules by posting an updated version of them on www.telusmobility.com/music.");
              html_push("</p>");
              html_push("<p>");
                secure_push("Continued use of the service thirty (30) days after such posting indicates your acceptance of the revised service rules.");
              html_push("</p>");
            html_push("</div>");
            break;
          case "fr":
            html_push("<div>");
              html_push("<p>");
                secure_push("Les chansons et les droits d'auteur s'y rattachant repr\u00e9sentent la propri\u00e9t\u00e9 intellectuelle de tierces parties. Ces chansons sont destin\u00e9es uniquement \u00e0 votre usage personnel. Toute reproduction, redistribution ou autre utilisation d'une chanson est interdite sans le consentement \u00e9crit pr\u00e9alable du titulaire des droits d'auteur de la chanson en question. Votre utilisation des chansons est \u00e9galement assujettie aux r\u00e8gles d'utilisation du service \u00e9nonc\u00e9es ci-dessous");
              html_push("</p>");
              html_push("<h2>");
                secure_push("Appareil sans fil :");
              html_push("</h2>");
              html_push("<p>");
                secure_push("Vous pouvez utiliser le service et t\u00e9l\u00e9charger chaque chanson \u00e0 l'aide d'un (1) appareil sans fil TELUS.");
              html_push("</p>");
              html_push("<h2>");
                secure_push("Gravure sur CD :");
              html_push("</h2>");
              html_push("<p>");
                secure_push("Limite de sept (7) gravures sur CD pour toute chanson achet\u00e9e. Il est interdit de contourner les restrictions relatives \u00e0 l'enregistrement des listes d'\u00e9coute en cr\u00e9ant de nouvelles listes d'\u00e9coute comportant un contenu musical identique ou autrement.");
              html_push("</p>");
              html_push("<h2>");
                secure_push("Ordinateurs personnels :");
              html_push("</h2>");
              html_push("<p>");
                secure_push("Vous pouvez t\u00e9l\u00e9charger chaque chanson vers un maximum de quatre (4) ordinateurs.");
              html_push("</p>");
              html_push("<p>");
                secure_push("Chaque t\u00e9l\u00e9chargement vers un ordinateur compte pour une utilisation dans un ordinateur personnel et vice-versa.");
              html_push("</p>");
              html_push("<h2>");
                secure_push("T\u00e9l\u00e9chargements r\u00e9p\u00e9t\u00e9s :");
              html_push("</h2>");
              html_push("<p>");
                secure_push("Vous pouvez t\u00e9l\u00e9charger une chanson dans un ordinateur personnel ou un appareil sans fil un maximum de trois (3) fois si l'appareil sans fil ou l'ordinateur personnel est endommag\u00e9.");
              html_push("</p>");
              html_push("<h2>");
                secure_push("Abonnement au service :");
              html_push("</h2>");
              html_push("<p>");
                secure_push("Sauf en cas d'avis contraire, lorsque vous t\u00e9l\u00e9chargez des chansons vers un appareil sans fil ou un ordinateur personnel dans le cadre d'un abonnement mensuel au service TELUS Musique sans fil, vous convenez :");
              html_push("</p>");
              html_push("<ul>");
                html_push("<li>");
                  secure_push("de ne pas graver de chansons sur des CD et");
                html_push("</li>");
                html_push("<li>");
                  secure_push("de ne plus les utiliser une fois votre abonnement au service TELUS Musique sans fil termin\u00e9.");
                html_push("</li>");
              html_push("</ul>");
              html_push("<h2>");
                secure_push("G\u00e9n\u00e9ralit\u00e9s :");
              html_push("</h2>");
              html_push("<p>");
                secure_push("Vous n'avez aucun droit sur les chansons sauf les droits qui sont d\u00e9crits dans les pr\u00e9sentes r\u00e8gles d'utilisation.");
              html_push("</p>");
              html_push("<p>");
                secure_push("Vous n'avez aucun droit de commercialisation ou li\u00e9 \u00e0 la vente, \u00e0 la revente, \u00e0 la reproduction, \u00e0 la distribution ou \u00e0 l'utilisation \u00e0 des fins publicitaires des chansons, y compris les droits aff\u00e9rents \u00e0 une utilisation qui n\u00e9cessite une synchronisation ou une licence de repr\u00e9sentation publique.");
              html_push("</p>");
              html_push("<p>");
                secure_push("Vous utiliserez seulement les chansons \u00e0 partir des appareils sans fil ou des ordinateurs personnels dont vous \u00eates le propri\u00e9taire et qui sont compatibles avec la solution de s\u00e9curit\u00e9 du service TELUS Musique sans fil. Vous devez obligatoirement utiliser la solution de s\u00e9curit\u00e9 du service TELUS Musique sans fil.");
              html_push("</p>");
              html_push("<h2>");
                secure_push("Modifications :");
              html_push("</h2>");
              html_push("<p>");
                secure_push("TELUS peut modifier les pr\u00e9sentes r\u00e8gles en affichant une version mise \u00e0 jour des dites r\u00e8gles sur www.telusmobilite.com/musique. Votre utilisation du service dans les trente (30) jours suivant cet affichage indiquera que vous acceptez les r\u00e8gles r\u00e9vis\u00e9es.");
              html_push("</p>");
            html_push("</div>");
            break;
        }
      html_push("</div>");
    html_push("</div>");
    return new genshi2js.Stream(result_html);
  }},
  cancel_subscription_confirm:function(ns){
    var ns=genshi2js.merge(genshi2js.util, ns);
    var stack=new Array();
    var result_html=new Array();
    with(genshi2js.fill_vars(ns,stack,result_html)){
    html_push("<div"+genshi2js.attribute("class", "clearfix")+">");
      ns=stack_increment(ns);
        ns.end_date=util.datetime(ns.application.user.subscriptions.end_date, ns.trans("date_output_format"));
        html_push("<div>");
          html_push("<div>");
            secure_push(jQuery.sprintf(ns.trans("cancel_warning"), ns.end_date));
          html_push("</div>");
        html_push("</div>");
      ns=stack_decrement();
      html_push("<div"+genshi2js.attribute("class", "spacer")+"/>");
      html_push("<div"+genshi2js.attribute("class", "buttons")+">");
        html_push("<div"+genshi2js.attribute("class", "button")+genshi2js.attribute("onclick", "application.cancel_subscription()")+">");
          secure_push(ns.trans("continue"));
        html_push("</div>");
        html_push("<div"+genshi2js.attribute("class", "button")+genshi2js.attribute("onclick", "application.show_cancel_subscription()")+">");
          secure_push(ns.trans("back"));
        html_push("</div>");
      html_push("</div>");
    html_push("</div>");
    return new genshi2js.Stream(result_html);
  }},
  waiting_popup:function(ns){
    var ns=genshi2js.merge(genshi2js.util, ns);
    var stack=new Array();
    var result_html=new Array();
    with(genshi2js.fill_vars(ns,stack,result_html)){
    html_push("<div>");
      html_push("<h1>");
        secure_push(ns.title);
      html_push("</h1>");
      html_push("<div"+genshi2js.attribute("class", "loading")+">");
        html_push("<img"+genshi2js.attribute("src", ns.application.url.customer_image("loading.gif"))+"/>");
      html_push("</div>");
    html_push("</div>");
    return new genshi2js.Stream(result_html);
  }},
  fragment:function(ns){
    var ns=genshi2js.merge(genshi2js.util, ns);
    var stack=new Array();
    var result_html=new Array();
    with(genshi2js.fill_vars(ns,stack,result_html)){
    html_push("<div"+genshi2js.attribute("id", "fragment")+genshi2js.attribute("class", "item")+">");
      secure_push(ns.genshi2js.stream(ns.content.content));
    html_push("</div>");
    return new genshi2js.Stream(result_html);
  }},
  buy_popup:function(ns){
    var ns=genshi2js.merge(genshi2js.util, ns);
    var stack=new Array();
    var result_html=new Array();
    with(genshi2js.fill_vars(ns,stack,result_html)){
    html_push("<div>");
      html_push("<div"+genshi2js.attribute("class", "clearfix close")+">");
        html_push("<div"+genshi2js.attribute("class", "cancel link")+">");
          secure_push(ns.trans("close"));
        html_push("</div>");
      html_push("</div>");
      html_push("<h1>");
        secure_push(ns.title);
      html_push("</h1>");
      html_push("<div"+genshi2js.attribute("class", "purchase_options clearfix")+">");
        html_push("<div>");
          html_push("<img"+genshi2js.attribute("src", ns.application.url.customer_image("PCAndMobile.gif"))+"/>");
          html_push("<br/>");
          html_push("<legend>");
            secure_push(ns.trans("pc_and_mobile"));
            secure_push(" ");
            secure_push(ns.application.format_price(ns.pc_and_mobile_price));
          html_push("</legend>");
        html_push("</div>");
      html_push("</div>");
      html_push("<div"+genshi2js.attribute("class", "modal_item")+">");
        secure_push(ns.content.title);
      html_push("</div>");
      html_push("<div"+genshi2js.attribute("class", "button buy_song")+">");
        secure_push((ns.content.__type__=="bundle"?ns.trans("buy_album_now"):ns.trans("buy_song_now")));
      html_push("</div>");
    html_push("</div>");
    return new genshi2js.Stream(result_html);
  }},
  terms_and_conditions:function(ns){
    var ns=genshi2js.merge(genshi2js.util, ns);
    var stack=new Array();
    var result_html=new Array();
    with(genshi2js.fill_vars(ns,stack,result_html)){
    html_push("<div>");
      html_push("<div"+genshi2js.attribute("class", "clearfix close")+">");
        html_push("<div"+genshi2js.attribute("class", "cancel link")+">");
          secure_push(ns.trans("close"));
        html_push("</div>");
      html_push("</div>");
      secure_push(customer_widgets.terms_and_conditions_text({"application":ns.application}));
      html_push("<div"+genshi2js.attribute("class", "terms_read section")+">");
        html_push("<input"+genshi2js.attribute("type", "checkbox")+"/>");
        html_push("<label>");
          secure_push(ns.trans("terms_read_yes"));
        html_push("</label>");
      html_push("</div>");
      html_push("<div"+genshi2js.attribute("class", "button continue")+">");
        secure_push(ns.trans("continue"));
      html_push("</div>");
    html_push("</div>");
    return new genshi2js.Stream(result_html);
  }},
  my_vault:function(ns){
    var ns=genshi2js.merge(genshi2js.util, ns);
    var stack=new Array();
    var result_html=new Array();
    with(genshi2js.fill_vars(ns,stack,result_html)){
    if(ns.application.is_logged_in()||ns.logged_in){
      ns=stack_increment(ns);
        ns.is_downloaded=ns.content.is_downloaded;
        html_push("<div"+genshi2js.attribute("id", "my_vault")+genshi2js.attribute("class", "item")+">");
          html_push("<div"+genshi2js.attribute("id", "my_vault_head")+genshi2js.attribute("class", "clearfix")+">");
            html_push("<ul"+genshi2js.attribute("id", "tabs")+genshi2js.attribute("class", "plainlist clearfix")+">");
              html_push("<li"+genshi2js.attribute("class", (!ns.is_downloaded?"selected":""))+genshi2js.attribute("onclick", "return application.show_my_vault(false)")+">");
                secure_push(ns.trans("to_download"));
              html_push("</li>");
              html_push("<li"+genshi2js.attribute("class", (ns.is_downloaded?"selected":""))+genshi2js.attribute("onclick", "return application.show_my_vault(true)")+">");
                secure_push(ns.trans("downloaded"));
              html_push("</li>");
            html_push("</ul>");
          html_push("</div>");
          html_push("<div"+genshi2js.attribute("id", "my_vault_content")+">");
            html_push("<div"+genshi2js.attribute("id", "table_head")+genshi2js.attribute("class", "clearfix")+">");
              html_push("<div"+genshi2js.attribute("class", "title")+">");
                secure_push(ns.trans("title"));
              html_push("</div>");
              html_push("<div"+genshi2js.attribute("class", "artist")+">");
                secure_push(ns.trans("artist"));
              html_push("</div>");
              html_push("<div"+genshi2js.attribute("class", "album")+">");
                secure_push(ns.trans("album"));
              html_push("</div>");
              html_push("<div"+genshi2js.attribute("class", "purchased")+">");
                secure_push(ns.trans("purchased"));
              html_push("</div>");
              html_push("<div"+genshi2js.attribute("class", "actions")+">");
                secure_push(ns.trans("actions_status"));
              html_push("</div>");
            html_push("</div>");
            html_push("<div"+genshi2js.attribute("id", "table_caption")+">");
              switch(ns.content.is_downloaded){
                case true:
                  html_push("<div"+genshi2js.attribute("class", "table_header")+">");
                    secure_push(ns.trans("downloaded"));
                  html_push("</div>");
                  break;
                default:
                  html_push("<div"+genshi2js.attribute("class", "table_header")+">");
                    secure_push(ns.trans("to_download"));
                  html_push("</div>");
                  if(ns.content.in_player&&(ns.len(ns.content.tracks)>0)){
                    html_push("<div"+genshi2js.attribute("class", "download_all")+genshi2js.attribute("onclick", "return application.download_all()")+">");
                      secure_push(ns.trans("download_all"));
                    html_push("</div>");
                  }
              }
            html_push("</div>");
            genshi2js.iterate(ns.content.tracks,function(item){
              ns.track=item;
              if(ns.content.tracks){
                html_push("<div"+genshi2js.attribute("class", "track clearfix")+">");
                  html_push("<div"+genshi2js.attribute("class", "title")+">");
                    if(ns.track.track_id){
                      html_push("<a"+genshi2js.attribute("class", "prelisten")+genshi2js.attribute("onclick", "return application.prelisten("+ns.stringify(ns.track.track_id)+")")+">");
                        html_push("<img"+genshi2js.attribute("src", ns.application.url.customer_image("PreviewIcon.gif"))+"/>");
                      html_push("</a>");
                    }
                    if(!ns.track.track_id){
                      html_push("<a"+genshi2js.attribute("onclick", "application.message('"+ns.trans("track_not_available")+"'); return false;")+">");
                        secure_push(ns.track.title);
                      html_push("</a>");
                    }
                    if(ns.track.track_id){
                      html_push("<span>");
                        switch(ns.track.is_subscription||(ns.track.reloads_left>0)){
                          case true:
                            html_push("<a"+genshi2js.attribute("onclick", "return application.reload_license( "+ns.stringify(ns.track.track_id)+", "+ns.stringify(ns.track.ext_package_id)+", "+ns.track.is_ppd+", "+ns.track.is_subscription+", "+ns.track.reloads_left+", 'PC+mobile');")+">");
                              secure_push(ns.track.title);
                            html_push("</a>");
                            break;
                          default:
                            html_push("<a"+genshi2js.attribute("onclick", "return application.buy_track("+ns.stringify(ns.track.track_id)+");")+">");
                              secure_push(ns.track.title);
                            html_push("</a>");
                        }
                      html_push("</span>");
                    }
                  html_push("</div>");
                  html_push("<div"+genshi2js.attribute("class", "artist")+">");
                    secure_push(ns.track.artist);
                  html_push("</div>");
                  html_push("<div"+genshi2js.attribute("class", "album")+">");
                    secure_push(ns.track.album);
                  html_push("</div>");
                  html_push("<div"+genshi2js.attribute("class", "purchased")+">");
                    secure_push(util.datetime(ns.track.purchased, "%m/%d/%Y"));
                  html_push("</div>");
                  ns=stack_increment(ns);
                    ns.channels=ns.track.ppd_channels;
                    html_push("<div"+genshi2js.attribute("class", "actions")+">");
                      if(ns.track.is_ppd&&ns.channels.pc&&ns.channels.mobile&&(ns.track.reloads_left==0)){
                        html_push("<div"+genshi2js.attribute("class", "status ppd_pc_mobile_renew")+"/>");
                      }
                      if(ns.track.is_ppd&&ns.channels.pc&&(!ns.channels.mobile)&&(ns.track.reloads_left==0)){
                        html_push("<div"+genshi2js.attribute("class", "status ppd_pc_mobile_renew")+"/>");
                      }
                      if(ns.track.is_ppd&&ns.channels.pc&&ns.channels.mobile&&(ns.track.reloads_left>0)){
                        html_push("<div"+genshi2js.attribute("class", "status ppd_pc_mobile")+">");
                          html_push("<div"+genshi2js.attribute("class", "reloads")+">");
                            secure_push(ns.track.reloads_left);
                          html_push("</div>");
                        html_push("</div>");
                      }
                      if(ns.track.is_ppd&&ns.channels.pc&&(!ns.channels.mobile)&&(ns.track.reloads_left>0)){
                        html_push("<div"+genshi2js.attribute("class", "status ppd_pc_mobile")+">");
                          html_push("<div"+genshi2js.attribute("class", "reloads")+">");
                            secure_push(ns.track.reloads_left);
                          html_push("</div>");
                        html_push("</div>");
                      }
                      if(ns.track.is_subscription&&ns.track.sub_channels.pc&&ns.track.sub_channels.mobile){
                        html_push("<div"+genshi2js.attribute("class", "status subscription_pc_mobile")+"/>");
                      }
                      if(ns.track.is_subscription&&ns.track.sub_channels.pc&&(!ns.track.sub_channels.mobile)){
                        html_push("<div"+genshi2js.attribute("class", "status subscription_pc_mobile")+"/>");
                      }
                    html_push("</div>");
                  ns=stack_decrement();
                html_push("</div>");
              }
            });
          html_push("</div>");
        html_push("</div>");
      ns=stack_decrement();
    }
    return new genshi2js.Stream(result_html);
  }},
  search_drilldown:function(ns){
    var ns=genshi2js.merge(genshi2js.util, ns);
    var stack=new Array();
    var result_html=new Array();
    with(genshi2js.fill_vars(ns,stack,result_html)){
    html_push("<ul>");
      genshi2js.iterate(ns.enumerate(ns.entries),function(item){
        (function(v){ns.i=v[0];ns.entry=v[1]})(item);
        html_push("<li"+genshi2js.attribute("class", "clearfix "+((ns.i+ns.offset)%2?"odd":"even"))+">");
          html_push("<div"+genshi2js.attribute("class", "songs")+">");
            html_push("<a"+genshi2js.attribute("class", "prelisten")+genshi2js.attribute("onclick", "return application.prelisten('"+ns.entry.id+"')")+">");
              html_push("<img"+genshi2js.attribute("src", ns.application.url.customer_image("PreviewIcon.gif"))+"/>");
            html_push("</a>");
            html_push("<span"+genshi2js.attribute("class", "link songs")+genshi2js.attribute("onClick", "application.handle_tab_click(this, "+ns.stringify(ns.entry.type||ns.global_type)+", '"+ns.entry.id+"', "+ns.entry.attr_id+", "+ns.stringify(ns.entry.title)+")")+">");
              secure_push(ns.entry.title);
            html_push("</span>");
          html_push("</div>");
          html_push("<div"+genshi2js.attribute("class", "artists")+">");
            html_push("<span>");
              secure_push(ns.entry.artist);
            html_push("</span>");
          html_push("</div>");
          html_push("<div"+genshi2js.attribute("class", "album")+">");
            html_push("<span>");
              secure_push(ns.entry.album);
            html_push("</span>");
          html_push("</div>");
          html_push("<div"+genshi2js.attribute("class", "actions")+">");
            if(ns.entry.purchasable){
              html_push("<span"+genshi2js.attribute("class", "link")+genshi2js.attribute("onclick", "return application.buy_track('"+ns.entry.id+"');")+">");
                secure_push(ns.application.trans("buy_now2"));
              html_push("</span>");
            }
          html_push("</div>");
        html_push("</li>");
      });
    html_push("</ul>");
    return new genshi2js.Stream(result_html);
  }},
  search_actions:function(ns){
    var ns=genshi2js.merge(genshi2js.util, ns);
    var stack=new Array();
    var result_html=new Array();
    with(genshi2js.fill_vars(ns,stack,result_html)){
    if(ns.term!=""){
      html_push("<div"+genshi2js.attribute("class", "summary")+">");
        html_push("<span>");
          secure_push(jQuery.sprintf(ns.trans("n_results_for"), ns.count, ns.term));
        html_push("</span>");
      html_push("</div>");
    }
    return new genshi2js.Stream(result_html);
  }},
  bulk_license:function(ns){
    var ns=genshi2js.merge(genshi2js.util, ns);
    var stack=new Array();
    var result_html=new Array();
    with(genshi2js.fill_vars(ns,stack,result_html)){
    if(ns.application.is_logged_in()||ns.logged_in){
      html_push("<div"+genshi2js.attribute("id", "bulk_license")+genshi2js.attribute("class", "item")+">");
        if(!ns.content.is_login_redirect){
          html_push("<div"+genshi2js.attribute("id", "my_vault_head")+genshi2js.attribute("class", "clearfix")+">");
            html_push("<div"+genshi2js.attribute("class", "caption")+">");
              secure_push(ns.trans("tracks_for_bulk_purchase"));
            html_push("</div>");
            if(ns.len(ns.content.tracks.ppd)>0){
              html_push("<div"+genshi2js.attribute("class", "sublist_caption")+">");
                secure_push(ns.trans("ppd_tracks"));
              html_push("</div>");
            }
            genshi2js.iterate(ns.content.tracks.ppd,function(item){
              ns.track=item;
              if(ns.len(ns.content.tracks.ppd)>0){
                html_push("<div"+genshi2js.attribute("class", "tracks_list")+">");
                  html_push("<div"+genshi2js.attribute("class", "track_info clearfix")+">");
                    html_push("<div"+genshi2js.attribute("class", "title")+">");
                      secure_push(ns.track.title);
                    html_push("</div>");
                    html_push("<div"+genshi2js.attribute("class", "artist")+">");
                      secure_push(ns.track.artist);
                    html_push("</div>");
                    html_push("<div"+genshi2js.attribute("class", "album")+">");
                      secure_push(ns.track.album_title);
                    html_push("</div>");
                  html_push("</div>");
                html_push("</div>");
              }
            });
            if(ns.len(ns.content.tracks.ppd_not_available)>0){
              html_push("<div"+genshi2js.attribute("class", "sublist_caption clearfix")+">");
                secure_push(ns.trans("ppd_tracks_not_available"));
              html_push("</div>");
            }
            genshi2js.iterate(ns.content.tracks.ppd_not_available,function(item){
              ns.track=item;
              if(ns.len(ns.content.tracks.ppd_not_available)>0){
                html_push("<div"+genshi2js.attribute("class", "tracks_list")+">");
                  html_push("<div"+genshi2js.attribute("class", "track_info clearfix not_available")+">");
                    html_push("<div"+genshi2js.attribute("class", "title")+">");
                      secure_push(ns.track.title);
                    html_push("</div>");
                    html_push("<div"+genshi2js.attribute("class", "artist")+">");
                      secure_push(ns.track.artist);
                    html_push("</div>");
                    html_push("<div"+genshi2js.attribute("class", "album")+">");
                      secure_push(ns.track.album_title);
                    html_push("</div>");
                  html_push("</div>");
                html_push("</div>");
              }
            });
            if(ns.len(ns.content.tracks.sub)>0){
              html_push("<div"+genshi2js.attribute("class", "sublist_caption")+">");
                secure_push(ns.trans("sub_tracks"));
              html_push("</div>");
            }
            genshi2js.iterate(ns.content.tracks.sub,function(item){
              ns.track=item;
              if(ns.len(ns.content.tracks.sub)>0){
                html_push("<div"+genshi2js.attribute("class", "tracks_list")+">");
                  html_push("<div"+genshi2js.attribute("class", "track_info clearfix")+">");
                    html_push("<div"+genshi2js.attribute("class", "title")+">");
                      secure_push(ns.track.title);
                    html_push("</div>");
                    html_push("<div"+genshi2js.attribute("class", "artist")+">");
                      secure_push(ns.track.artist);
                    html_push("</div>");
                    html_push("<div"+genshi2js.attribute("class", "album")+">");
                      secure_push(ns.track.album_title);
                    html_push("</div>");
                  html_push("</div>");
                html_push("</div>");
              }
            });
            if(ns.len(ns.content.tracks.sub_not_available)>0){
              html_push("<div"+genshi2js.attribute("class", "sublist_caption")+">");
                secure_push(ns.trans("sub_tracks_not_available"));
              html_push("</div>");
            }
            genshi2js.iterate(ns.content.tracks.sub_not_available,function(item){
              ns.track=item;
              if(ns.len(ns.content.tracks.sub_not_available)>0){
                html_push("<div"+genshi2js.attribute("class", "tracks_list")+">");
                  html_push("<div"+genshi2js.attribute("class", "track_info clearfix not_available")+">");
                    html_push("<div"+genshi2js.attribute("class", "title")+">");
                      secure_push(ns.track.title);
                    html_push("</div>");
                    html_push("<div"+genshi2js.attribute("class", "artist")+">");
                      secure_push(ns.track.artist);
                    html_push("</div>");
                    html_push("<div"+genshi2js.attribute("class", "album")+">");
                      secure_push(ns.track.album_title);
                    html_push("</div>");
                  html_push("</div>");
                html_push("</div>");
              }
            });
            if((ns.len(ns.content.tracks.sub)>0)&&(!ns.content.has_subscription)){
              html_push("<div"+genshi2js.attribute("class", "subscription")+">");
                html_push("<div>");
                  secure_push(ns.trans("purchase_subscription_warning"));
                html_push("</div>");
                html_push("<input"+genshi2js.attribute("type", "checkbox")+genshi2js.attribute("checked", "checked")+genshi2js.attribute("id", "make_subscription")+">");
                  secure_push(ns.trans("purchase_subscription"));
                html_push("</input>");
              html_push("</div>");
            }
            if((ns.len(ns.content.tracks.ppd)>0)||(ns.len(ns.content.tracks.ppd_not_available)>0)||(ns.len(ns.content.tracks.sub)>0)||(ns.len(ns.content.tracks.sub_not_available)>0)){
              html_push("<div"+genshi2js.attribute("class", "link")+genshi2js.attribute("onclick", "return application.bulk_download();")+">");
                secure_push(ns.trans("download_link"));
              html_push("</div>");
            }
            html_push("<div"+genshi2js.attribute("class", "hidden ppd_tracks")+">");
              secure_push(ns.content.tracks.ppd_ids);
            html_push("</div>");
            html_push("<div"+genshi2js.attribute("class", "hidden sub_tracks")+">");
              secure_push(ns.content.tracks.sub_ids);
            html_push("</div>");
            if(ns.len(ns.content.tracks.sub)>0){
              html_push("<div"+genshi2js.attribute("class", "hidden sub_pc_mobile_price")+">");
                secure_push(ns.content.tracks.sub_price.price);
              html_push("</div>");
            }
            if(ns.len(ns.content.tracks.ppd)>0){
              html_push("<div"+genshi2js.attribute("class", "hidden ppd_pc_mobile_price")+">");
                secure_push(ns.content.tracks.ppd_price.price);
              html_push("</div>");
            }
            html_push("<div"+genshi2js.attribute("class", "hidden session_key")+">");
              secure_push(ns.content.session_key);
            html_push("</div>");
          html_push("</div>");
        }
      html_push("</div>");
    }
    return new genshi2js.Stream(result_html);
  }},
  help:function(ns){
    var ns=genshi2js.merge(genshi2js.util, ns);
    var stack=new Array();
    var result_html=new Array();
    with(genshi2js.fill_vars(ns,stack,result_html)){
    html_push("<div"+genshi2js.attribute("class", "item")+">");
      html_push("<h1>");
        secure_push(ns.application.trans("help_title"));
      html_push("</h1>");
      html_push("<div"+genshi2js.attribute("class", "terms")+">");
        switch(ns.application.language){
          case "en":
            html_push("<div>");
              html_push("<p>");
                html_push("<strong>");
                  secure_push("Requirements:");
                html_push("</strong>");
                secure_push("\u00a0A TELUS mobile music-capable phone; memory cards and memory card readers/writers - Both can be purchased at select TELUS dealer locations stores and most electronic stores. Some phones come with a USB cable instead of using a card reader.");
              html_push("</p>");
              html_push("<h2>");
                secure_push("Files supported");
              html_push("</h2>");
              html_push("<p>");
                secure_push("Media Player is capable of playing SDC files as well as several common formats as AAC, AAC plus, MP3, WMA, and Wave.");
              html_push("</p>");
              html_push("<h2>");
                secure_push("SDC files");
              html_push("</h2>");
              html_push("<p>");
                secure_push("SDC files are the format downloaded from the TELUS mobile music store - they will only play in your TELUS mobile music player, or in the TELUS media player");
              html_push("</p>");
              html_push("<h2>");
                secure_push("Loading songs into the TELUS media player");
              html_push("</h2>");
              html_push("<h3>");
                secure_push("Adding files");
              html_push("</h3>");
              html_push("<p>");
                secure_push("With this feature you can add a single or multiple music files to the currently selected playlist. A new window will open, that allows you to browse for the files. Only music files that are supported will be added. Files with un-supported file extensions are ignored by the player.");
              html_push("</p>");
              html_push("<h3>");
                secure_push("Adding folders");
              html_push("</h3>");
              html_push("<p>");
                secure_push("This feature adds an entire folder of music files (including any files contained in subfolders) to the currently selected playlist. Only music files that are supported will be added. Files with un-supported file extensions are ignored by the player.");
              html_push("</p>");
              html_push("<h3>");
                secure_push("Locating media");
              html_push("</h3>");
              html_push("<p>");
                secure_push("This feature assists you in searching for songs that are scattered around your hard drive and adds them automatically to currently selected playlist or library. Only references will be copied to the playlist. The physical location of the files will not change. Only music files that are supported will be added. Files with un-supported file extensions are ignored by the player.");
              html_push("</p>");
              html_push("<h2>");
                secure_push("Adding Portable Device to the TELUS media player");
              html_push("</h2>");
              html_push("<p>");
                secure_push("Connect your device memory to the TELUS media player through a card reader or USB cable.");
              html_push("</p>");
              html_push("<p>");
                secure_push("Right click on \u201cPortable Players\u201d and click on \u201cAdd Player\u201d. A wizard will pop up in a new window prompting you to name your device, and to select the device manufacturer and model. An image of the device will display to help. By checking the box in the wizard, you can select for the TELUS music player to scan for music automatically on the device\u2019s memory card and to add it to the TELUS media player library if it\u2019s not already there. Click OK to finish.");
              html_push("</p>");
              html_push("<p>");
                secure_push("Your device will now appear in the left-hand navigation pane in the TELUS media player as you have named it. Clicking on your device name will bring the device into the main window, showing what content is on that device if it\u2019s plugged in.");
              html_push("</p>");
              html_push("<h2>");
                secure_push("Transferring music to and from portable devices on the TELUS media player");
              html_push("</h2>");
              html_push("<h3>");
                secure_push("From portable device");
              html_push("</h3>");
              html_push("<p>");
                secure_push("If you selected for your device to automatically synchronize in the set-up process for the device, music on your device memory will automatically move to the TELUS media player when your portable device memory is connected to the player either by card reader or USB cable.");
              html_push("</p>");
              html_push("<p>");
                secure_push("If it is not set to synchronize automatically, then clicking on the \u201csynchronize\u201d button in the device window when it is connected will add tracks that are on the device memory to the player if they are not already there.");
              html_push("</p>");
              html_push("<h3>");
                secure_push("To portable devices");
              html_push("</h3>");
              html_push("<p>");
                secure_push("Music can be added to your installed portable device while it\u2019s connected to the TELUS music player. Select the music tracks from your music library that you want to add to your device memory, drag the selected tracks onto the device\u2019s name in the left navigation. The main window will switch to the device window and will add the tracks to the portable device memory.");
              html_push("</p>");
              html_push("<p>");
                secure_push("Once your TELUS mobile music phone is added to your TELUS media player, music can easily be transferred onto your phone. Select the songs you want to move to the phone within the main music library.");
              html_push("</p>");
              html_push("<p>");
                secure_push("Hold the SHIFT key to select multiple consecutive tracks, or hold CTRL to select multiple tracks from various spots in your library. Drag the selected tracks onto your mobile device\u2019s name in the left hand navigation of the TELUS media player.");
              html_push("</p>");
              html_push("<p>");
                secure_push("After you have dropped your selection onto your mobile device, the device library will appear in your main window of the TELUS media player, showing which songs have been transferred, the status of the transfers and how much space is left on your media card.");
              html_push("</p>");
              html_push("<h2>");
                secure_push("Buying songs on mobile devices and the TELUS media player");
              html_push("</h2>");
              html_push("<h3>");
                secure_push("About the Vault");
              html_push("</h3>");
              html_push("<p>");
                secure_push("No matter where you buy your song or add it for your subscription, the song gets put into your vault, which is a storage spot for all of your TELUS mobile music downloads. The Vault allows you to download the song more than once if you accidentally delete it, or change phones.");
              html_push("</p>");
              html_push("<p>");
                secure_push("The vault can be accessed in both TELUS mobile music or on the TELUS media player on your PC. Songs that you purchase on the PC will be in your mobile phone vault and songs that you buy on your phone will be in your vault on your computer.");
              html_push("</p>");
              html_push("<h2>");
                secure_push("TELUS media player store");
              html_push("</h2>");
              html_push("<h3>");
                secure_push("Downloading");
              html_push("</h3>");
              html_push("<p>");
                secure_push("The Download Manager offers you a special download view. You can see the status of all downloads which means:");
              html_push("</p>");
              html_push("<p>");
                secure_push("Content that is already downloaded (finished downloads)");
              html_push("</p>");
              html_push("<p>");
                secure_push("Content that is ordered but not yet downloaded (ordered tracks)");
              html_push("</p>");
              html_push("<p>");
                secure_push("Content that is currently and partially downloaded.");
              html_push("</p>");
              html_push("<p>");
                secure_push("The progress of the current download are displayed in the download manager and downloads can be stopped or resumed.");
              html_push("</p>");
              html_push("<h2>");
                secure_push("TELUS mobile music store");
              html_push("</h2>");
              html_push("<h3>");
                secure_push("using your music player");
              html_push("</h3>");
              html_push("<p>");
                secure_push("Step 1 Open TELUS mobile music on your phone");
              html_push("</p>");
              html_push("<p>");
                secure_push("Step 2 Select \u2018shop\u2019");
              html_push("</p>");
              html_push("<p>");
                secure_push("Step 3 Select \u2018TELUS shop\u2019");
              html_push("</p>");
              html_push("<p>");
                secure_push("Step 4 Browse our music library and purchase or add the song you want");
              html_push("</p>");
              html_push("<h2>");
                secure_push("using your mobile browser");
              html_push("</h2>");
              html_push("<p>");
                secure_push("Step 1 Select \u2018Shop\u2019 or \u2018Ultra\u2019 from your phone browser.");
              html_push("</p>");
              html_push("<p>");
                secure_push("Step 2 Select \u2018TELUS mobile music\u2019 or a \u2018Full Experience\u2019 in the \u2018Music Ultra Channel\u2019");
              html_push("</p>");
              html_push("<p>");
                secure_push("Step 3 Browse our music library and purchase the song you want or add the song if you have a subscription.");
              html_push("</p>");
              html_push("<p>");
                secure_push("Step 4 To download to your phone or media player, launch the player and go to \u2018my vault\u2019");
              html_push("</p>");
              html_push("<p>");
                secure_push("Step 5 Select the song you\u2019ve purchased or added (with subscription)");
              html_push("</p>");
              html_push("<h2>");
                secure_push("MyTELUSmobility web store on your PC");
              html_push("</h2>");
              html_push("<p>");
                secure_push("Step 1 Visit MyTELUSmobility.com");
              html_push("</p>");
              html_push("<p>");
                secure_push("Step 2 Browse our music library and select the song you wish to purchase or add if you have a subscription.");
              html_push("</p>");
              html_push("<p>");
                secure_push("Step 3 Log in using your mytelusmobility.com ID and password to complete the purchase or addition");
              html_push("</p>");
              html_push("<p>");
                secure_push("Step 4 To download to your phone , launch the player and go to \u2018my vault\u2019");
              html_push("</p>");
              html_push("<p>");
                secure_push("Step 5 Select the song you\u2019ve purchased/added and download");
              html_push("</p>");
              html_push("<h2>");
                secure_push("Subscriptions and Billing");
              html_push("</h2>");
              html_push("<h3>");
                secure_push("Subscribing using your music player");
              html_push("</h3>");
              html_push("<p>");
                secure_push("Click the right arrow key or music note key on your phone and select \u2018shop\u2019, then \u2018TELUS shop\u2019");
              html_push("</p>");
              html_push("<p>");
                secure_push("You will be prompted to \u2018update your player. Select \u2018update player now\u2019. Once updated, select \u2018shop\u2019");
              html_push("</p>");
              html_push("<p>");
                secure_push("Scroll to the bottom of the TELUS shop homepage and select \u2018get subscriptions\u2019");
              html_push("</p>");
              html_push("<p>");
                secure_push("Accept the terms and conditions and follow the instructions");
              html_push("</p>");
              html_push("<h2>");
                secure_push("Managing your songs");
              html_push("</h2>");
              html_push("<h2>");
                secure_push("shuffle, repeat");
              html_push("</h2>");
              html_push("<p>");
                secure_push("Songs, playlists or the music library can be played in random or in repeat mode. By activating the random button songs are picked and played randomly. The button has an ON and OFF state. Songs can be repeated either the currently selected song or the currently selected playlist.");
              html_push("</p>");
              html_push("<h2>");
                secure_push("Searching for songs");
              html_push("</h2>");
              html_push("<p>");
                secure_push("The TELUS media player music screen has an integrated search function which allows searching the whole library content by artist or song title. The searching process is configured as a \u201csearch as you type\u201d functionality. Results of the entered letters or words are displayed immediately in the content window.");
              html_push("</p>");
              html_push("<h2>");
                secure_push("Song library information display");
              html_push("</h2>");
              html_push("<p>");
                secure_push("The content window displays a table of related track information that can be configured and edited. All columns of related track information can be individually adapted. The title and artist name of each track are as default information always displayed. The display of columns can be enabled or disabled by opening the columns menu with a right mouse click on the upper menu row.");
              html_push("</p>");
              html_push("<h3>");
                secure_push("Playlists");
              html_push("</h3>");
              html_push("<h3>");
                secure_push("Smart playlists");
              html_push("</h3>");
              html_push("<p>");
                secure_push("Smart Playlists give you the possibility to get an instant view on the recently played, top user- rated and most played tracks.");
              html_push("</p>");
              html_push("<h3>");
                secure_push("Create a new playlist");
              html_push("</h3>");
              html_push("<p>");
                secure_push("You can create a new playlist simply by clicking on the \u201c+\u201d button in the lower left corner or by a simple right click on MY PLAYLISTS in the player and select \u201cAdd Playlist\u201d. A small window will appear in which you have to enter a name for the new playlist.");
              html_push("</p>");
              html_push("<h3>");
                secure_push("Adding or removing songs in a playlist");
              html_push("</h3>");
              html_push("<p>");
                secure_push("You can add a song to a playlist by marking and dragging and dropping the selected songs from the music library to the chosen playlist. Marked files can be also moved by copying selected files through a right click on the mouse and by pressing paste with a right click within the playlist. Alternatively, the keyboard shortcuts Ctrl + C (Copy) and Ctrl + P (Paste) can also be used.");
              html_push("</p>");
              html_push("<p>");
                secure_push("Songs that are not in the music library can also be added by using the \u201cAdd Song\u201d/\u201dAdd Folder\u201d options in the Options menu and simply dragging and dropping the files (or folders) from the operating system (e.g. Desktop or Windows Explorer) onto the track list. If you drag and drop a file (or folder) onto the track list, only files that have a supported file extension are added.");
              html_push("</p>");
              html_push("<h3>");
                secure_push("Delete a playlist");
              html_push("</h3>");
              html_push("<p>");
                secure_push("You can delete a playlist by selecting it and then pressing \u201c-\u201c below the playlists or by a simple right click on the playlist and choosing delete. Only one playlist can be deleted at a time.");
              html_push("</p>");
              html_push("<p>");
                secure_push("In general, playlists only contain references (fully qualified file paths) to music files on your hard drive. For this reason, if you delete a song from a playlist only a reference to that song will be deleted. The file itself will not be deleted.");
              html_push("</p>");
              html_push("<h3>");
                secure_push("Rename a playlist");
              html_push("</h3>");
              html_push("<p>");
                secure_push("You can rename the playlist by clicking \u201cT\u201d or by a right click on the playlist and choosing rename. A pop up window will appear in which you can enter the new name for the playlist.");
              html_push("</p>");
              html_push("<h3>");
                secure_push("Saving playlists");
              html_push("</h3>");
              html_push("<p>");
                secure_push("All changes made to a playlist (such as renaming it, adding/removing songs, rearranging the order of songs) are implicitly saved.");
              html_push("</p>");
              html_push("<h2>");
                secure_push("Importing and Burning CDs");
              html_push("</h2>");
              html_push("<h3>");
                secure_push("Importing CDs");
              html_push("</h3>");
              html_push("<p>");
                secure_push("When the TELUS media player is open and a CD is inserted into the drive, a window will pop-up asking for instructions on what to do with it. Select \u201cImport CD with TELUS media player\u201d. If you are connected to the internet, the Album and Track names will automatically appear.");
              html_push("</p>");
              html_push("<h3>");
                secure_push("Burning CDs");
              html_push("</h3>");
              html_push("<p>");
                secure_push("The user can burn imported or downloaded tracks to an Audio CD.");
              html_push("</p>");
            html_push("</div>");
            break;
          case "fr":
            html_push("<div>");
              html_push("<p>");
                html_push("<strong>");
                  secure_push("Mat\u00e9riel n\u00e9cessaire");
                html_push("</strong>");
                secure_push(": un sans-fil musique TELUS, un lecteur/enregistreur de carte m\u00e9moire et une carte m\u00e9moire. Vous pouvez vous procurer ces deux derniers articles chez un d\u00e9taillant TELUS et dans la plupart des boutiques d\u2019\u00e9lectronique. Certains sans-fil sont dot\u00e9s d\u2019un c\u00e2ble USB plut\u00f4t que d\u2019un lecteur de carte.");
              html_push("</p>");
              html_push("<h3>");
                secure_push("Fichiers compatibles");
              html_push("</h3>");
              html_push("<p>");
                secure_push("Le lecteur multim\u00e9dia TELUS est compatible avec les fichiers SDC ainsi que la plupart des formats courants comme AAC, AAC plus, MP3, WMA et Wave.");
              html_push("</p>");
              html_push("<h3>");
                secure_push("Fichiers SDC");
              html_push("</h3>");
              html_push("<p>");
                secure_push("SDC est le format des fichiers t\u00e9l\u00e9charg\u00e9s \u00e0 partir de la Boutique Musique TELUS. Ces fichiers ne sont utilisables qu\u2019avec votre lecteur de musique ou le lecteur multim\u00e9dia TELUS.");
              html_push("</p>");
              html_push("<h2>");
                secure_push("Charger des chansons dans le lecteur multim\u00e9dia TELUS");
              html_push("</h2>");
              html_push("<h3>");
                secure_push("Ajouter des fichiers");
              html_push("</h3>");
              html_push("<p>");
                secure_push("Gr\u00e2ce \u00e0 cette fonction, vous pouvez ajouter un ou plusieurs fichiers musicaux \u00e0 une liste d\u2019\u00e9coute donn\u00e9e. Une nouvelle fen\u00eatre s\u2019ouvre vous permettant ainsi de parcourir les fichiers. Seuls les fichiers musicaux compatibles peuvent \u00eatre ajout\u00e9s. Les fichiers dont l\u2019extension ne correspond pas \u00e0 un format compatible seront ignor\u00e9s.");
              html_push("</p>");
              html_push("<h3>");
                secure_push("Ajouter des dossiers");
              html_push("</h3>");
              html_push("<p>");
                secure_push("Cette fonction vous permet d\u2019ajouter un dossier entier de fichiers musicaux (y compris les fichiers contenus dans les sous-dossiers) \u00e0 une liste d\u2019\u00e9coute donn\u00e9e. Seuls les fichiers musicaux compatibles peuvent \u00eatre ajout\u00e9s. Les fichiers dont l\u2019extension ne correspond pas \u00e0 un format compatible seront ignor\u00e9s.");
              html_push("</p>");
              html_push("<h3>");
                secure_push("Recherche de fichiers multim\u00e9dia");
              html_push("</h3>");
              html_push("<p>");
                secure_push("Cette fonction vous permet de chercher des chansons qui sont \u00e9parpill\u00e9es dans votre disque dur et de les ajouter \u00e0 une liste d\u2019\u00e9coute donn\u00e9e ou \u00e0 votre r\u00e9pertoire musical. Seuls les liens vers les fichiers sont copi\u00e9s dans la liste d\u2019\u00e9coute. L\u2019emplacement des fichiers de change pas. Seuls les fichiers musicaux compatibles peuvent \u00eatre ajout\u00e9s. Les fichiers dont l\u2019extension ne correspond pas \u00e0 un format compatible seront ignor\u00e9s.");
              html_push("</p>");
              html_push("<h2>");
                secure_push("Ajouter un dispositif portatif au lecteur multim\u00e9dia TELUS");
              html_push("</h2>");
              html_push("<p>");
                secure_push("Connectez votre dispositif de m\u00e9moire \u00e0 votre lecteur multim\u00e9dia TELUS au moyen d\u2019un lecteur de carte ou d\u2019un c\u00e2ble USB.");
              html_push("</p>");
              html_push("<p>");
                secure_push("Avec le bouton de droite de la souris, cliquez sur \u00ab lecteurs portatifs \u00bb puis sur \u00ab ajouter un lecteur \u00bb. Cela lancera l\u2019assistant, qui vous demandera de nommer votre dispositif et d\u2019en s\u00e9lectionner la marque et le mod\u00e8le. Une image du dispositif sera affich\u00e9e pour vous aider. Vous pouvez configurer le lecteur multim\u00e9dia TELUS de mani\u00e8re \u00e0 ce que celui-ci cherche automatiquement des fichiers musicaux sur le dispositif de m\u00e9moire et les ajoute au r\u00e9pertoire musical s\u2019ils ne s\u2019y trouvent pas d\u00e9j\u00e0. Pour ce faire, vous n\u2019avez qu\u2019\u00e0 cocher la case pr\u00e9vue \u00e0 cet effet dans l\u2019assistant. Cliquez sur OK pour terminer.");
              html_push("</p>");
              html_push("<p>");
                secure_push("Le nom de votre dispositif para\u00eea dor\u00e9navant dans le volet de navigation de gauche du lecteur multim\u00e9dia TELUS. Si votre dispositif est connect\u00e9 au lecteur, vous n\u2019avez qu\u2019\u00e0 cliquer sur son nom pour afficher son contenu dans la fen\u00eatre principale.");
              html_push("</p>");
              html_push("<h3>");
                secure_push("Transf\u00e9rer de la musique de votre dispositif portatif \u00e0 votre lecteur multim\u00e9dia TELUS ou l\u2019inverse");
              html_push("</h3>");
              html_push("<strong>");
                secure_push("De votre dispositif portatif");
              html_push("</strong>");
              html_push("<p>");
                secure_push("Lors de l\u2019installation du dispositif, si vous avez configur\u00e9 votre lecteur multim\u00e9dia TELUS de mani\u00e8re \u00e0 ce que le contenu du dispositif se synchronise automatiquement, les fichiers du dispositif seront automatiquement d\u00e9plac\u00e9s vers votre lecteur multim\u00e9dia lorsque vous connecterez votre dispositif au lecteur multim\u00e9dia soit par lecteur de carte, soit par c\u00e2ble USB.");
              html_push("</p>");
              html_push("<p>");
                secure_push("Si ce n\u2019est pas le cas, vous devrez cliquer sur le bouton \u00ab synchroniser \u00bb dans la fen\u00eatre affichant le contenu du dispositif que vous avez connect\u00e9 au lecteur pour ajouter les fichiers musicaux qui ne s\u2019y trouvent pas d\u00e9j\u00e0.");
              html_push("</p>");
              html_push("<strong>");
                secure_push("Vers votre dispositif portatif");
              html_push("</strong>");
              html_push("<p>");
                secure_push("Vous pouvez transf\u00e9rer de la musique sur votre dispositif portatif lorsque celui-ci est connect\u00e9 au lecteur multim\u00e9dia TELUS. S\u00e9lectionnez les pi\u00e8ces de votre r\u00e9pertoire musical que vous voulez transf\u00e9rer vers votre dispositif portatif, d\u00e9placez-les vers le nom du dispositif dans le volet de navigation de gauche. La fen\u00eatre principale affichera le contenu du dispositif, et les nouvelles pi\u00e8ces s\u00e9lectionn\u00e9es seront ajout\u00e9es.");
              html_push("</p>");
              html_push("<p>");
                secure_push("D\u00e8s que votre sans-fil musique TELUS est ajout\u00e9 \u00e0 votre lecteur multim\u00e9dia TELUS, vous pouvez ais\u00e9ment y transf\u00e9rer de la musique. S\u00e9lectionnez dans votre r\u00e9pertoire musical les chansons que vous voulez transf\u00e9rer vers votre sans-fil.");
              html_push("</p>");
              html_push("<p>");
                secure_push("Maintenez enfonc\u00e9e la touche SHIFT pour s\u00e9lectionner des pistes cons\u00e9cutives, ou la touche CTRL pour en s\u00e9lectionner plusieurs \u00e0 divers endroits. D\u00e9placez les pistes vers le nom de votre dispositif portatif dans le volet de navigation de gauche du lecteur multim\u00e9dia TELUS.");
              html_push("</p>");
              html_push("<p>");
                secure_push("Une fois que vous avez d\u00e9plac\u00e9 votre s\u00e9lection vers votre dispositif portatif, le contenu de ce dernier s\u2019affiche dans la fen\u00eatre principale du lecteur multim\u00e9dia TELUS, montrant quelles chansons y ont \u00e9t\u00e9 ajout\u00e9es, l\u2019\u00e9tat de la progression du transfert et l\u2019espace restant.");
              html_push("</p>");
              html_push("<h2>");
                secure_push("Acheter des chansons \u00e0 partir de votre dispositif portatif ou du lecteur multim\u00e9dia TELUS");
              html_push("</h2>");
              html_push("<h3>");
                secure_push("\u00c0propos de la chambre forte");
              html_push("</h3>");
              html_push("<p>");
                secure_push("Que vous achetiez vos chansons ou les ajoutiez \u00e0 votre r\u00e9pertoire dans le cadre d\u2019un abonnement, celles-ci sont plac\u00e9es dans votre chambre forte, l\u2019endroit o\u00f9t stock\u00e9s les fichiers TELUS Musique sans fil t\u00e9l\u00e9charg\u00e9s. Cette chambre forte vous permet de t\u00e9l\u00e9charger une chanson plus d\u2019une fois si vous l\u2019avez supprim\u00e9e par erreur ou si vous changez de sans-fil.");
              html_push("</p>");
              html_push("<p>");
                secure_push("Vous pouvez acc\u00e9der \u00e0 la chambre forte \u00e0 partir de TELUS Musique sans fil ou du lecteur multim\u00e9dia TELUS sur votre ordinateur. Les chansons que vous achetez \u00e0 partir de votre ordinateur figurent dans la chambre forte accessible de votre sans-fil et celles que vous achetez \u00e0 partir de votre sans-fil figurent dans la chambre forte accessible de votre ordinateur.");
              html_push("</p>");
              html_push("<h3>");
                secure_push("Boutique du lecteur multim\u00e9dia TELUS");
              html_push("</h3>");
              html_push("<strong>");
                secure_push("T\u00e9l\u00e9chargement");
              html_push("</strong>");
              html_push("<p>");
                secure_push("Le gestionnaire de t\u00e9l\u00e9chargement vous permet de voir la progression de tous les t\u00e9l\u00e9chargements, soit :");
              html_push("</p>");
              html_push("<p>");
                secure_push("o le contenu d\u00e9j\u00e0 t\u00e9l\u00e9charg\u00e9 (t\u00e9l\u00e9chargement termin\u00e9);");
              html_push("</p>");
              html_push("<p>");
                secure_push("o le contenu command\u00e9 qui n\u2019a pas encore \u00e9t\u00e9 t\u00e9l\u00e9charg\u00e9 (chansons command\u00e9es);");
              html_push("</p>");
              html_push("<p>");
                secure_push("o le contenu en cours de t\u00e9l\u00e9chargement ou partiellement t\u00e9l\u00e9charg\u00e9.");
              html_push("</p>");
              html_push("<p>");
                secure_push("La progression des t\u00e9l\u00e9chargements en cours s\u2019affiche dans la fen\u00eatre du gestionnaire, et ceux-ci peuvent \u00eatre interrompus ou repris.");
              html_push("</p>");
              html_push("<h3>");
                secure_push("Boutique Musique TELUS");
              html_push("</h3>");
              html_push("<strong>");
                secure_push("Acc\u00e8s \u00e0 partir du lecteur de musique");
              html_push("</strong>");
              html_push("<p>");
                secure_push("\u00c9ape 1. Lancez TELUS Musique sans fil \u00e0 partir de votre appareil.");
              html_push("</p>");
              html_push("<p>");
                secure_push("\u00c9ape 2. S\u00e9lectionnez \u00ab Magasiner \u00bb.");
              html_push("</p>");
              html_push("<p>");
                secure_push("\u00c9ape 3. Choisissez Boutique TELUS.");
              html_push("</p>");
              html_push("<p>");
                secure_push("\u00c9ape 4. Consultez notre r\u00e9pertoire et achetez ou ajoutez la chanson.");
              html_push("</p>");
              html_push("<strong>");
                secure_push("Acc\u00e8s \u00e0 partir du navigateur sans fil");
              html_push("</strong>");
              html_push("<p>");
                secure_push("\u00c9ape 1. S\u00e9lectionnez \u00ab Magasiner \u00bb ou \u00ab Ultra \u00bb \u00e0 partir du navigateur de votre t\u00e9l\u00e9phone.");
              html_push("</p>");
              html_push("<p>");
                secure_push("\u00c9ape 2. S\u00e9lectionnez \u00ab TELUS Musique sans fil \u00bb ou \u00ab Exp\u00e9rience compl\u00e8te \u00bb sous \u00ab Ultra Musique \u00bb.");
              html_push("</p>");
              html_push("<p>");
                secure_push("\u00c9ape 3. Consultez notre r\u00e9pertoire musical et choisissez la chanson que vous voulez acheter ou ajouter si vous \u00eates abonn\u00e9.");
              html_push("</p>");
              html_push("<p>");
                secure_push("\u00c9ape 4. Pour t\u00e9l\u00e9charger la chanson \u00e0 votre sans-fil ou \u00e0 votre lecteur multim\u00e9dia, lancez le lecteur et allez \u00e0 \u00ab ma chambre forte \u00bb.");
              html_push("</p>");
              html_push("<p>");
                secure_push("\u00c9ape 5. Choisissez la chanson que vous avez achet\u00e9e ou ajout\u00e9e (si vous \u00eates abonn\u00e9).");
              html_push("</p>");
              html_push("<h3>");
                secure_push("Acc\u00e8s \u00e0 la boutique Web montelusmobilite \u00e0 partir de votre ordinateur");
              html_push("</h3>");
              html_push("<p>");
                secure_push("\u00c9ape 1. Visitez montelusmobilit\u00e9.com");
              html_push("</p>");
              html_push("<p>");
                secure_push("\u00c9ape 2. Consultez notre r\u00e9pertoire musical et choisissez la chanson que vous voulez acheter ou ajouter si vous \u00eates abonn\u00e9.");
              html_push("</p>");
              html_push("<p>");
                secure_push("\u00c9ape 3. Ouvrez une session \u00e0 l\u2019aide de votre nom d\u2019utilisateur et de votre mot de passe montelusmobilite.com pour proc\u00e9der \u00e0 l\u2019achat ou \u00e0 l\u2019ajout.");
              html_push("</p>");
              html_push("<p>");
                secure_push("\u00c9ape 4. Pour t\u00e9l\u00e9charger la chanson \u00e0 votre sans-fil, lancez le lecteur et allez \u00e0 \u00ab ma chambre forte \u00bb.");
              html_push("</p>");
              html_push("<p>");
                secure_push("\u00c9ape 5. S\u00e9lectionnez la chanson que vous avez achet\u00e9e ou ajout\u00e9e et t\u00e9l\u00e9chargez-la.");
              html_push("</p>");
              html_push("<h2>");
                secure_push("Abonnement et facturation");
              html_push("</h2>");
              html_push("<h3>");
                secure_push("Abonnement \u00e0 partir du lecteur de musique");
              html_push("</h3>");
              html_push("<p>");
                secure_push("Appuyez sur la fl\u00e8che pointant vers la droite ou sur la note de musique sur votre sans-fil et choisissez \u00ab magasiner \u00bb ensuite \u00ab magasiner TELUS \u00bb.");
              html_push("</p>");
              html_push("<p>");
                secure_push("On vous demandera de mettre \u00e0 jour votre lecteur. Choisissez l\u2019option qui vous permet de mettre votre lecteur \u00e0 jour. Une fois le lecteur mis \u00e0 jour, choisissez \u00ab magasiner \u00bb.");
              html_push("</p>");
              html_push("<p>");
                secure_push("Faites d\u00e9filer vers le bas de la page d\u2019accueil de la Boutique Musique TELUS et choisissez l\u2019option d\u2019abonnement.");
              html_push("</p>");
              html_push("<p>");
                secure_push("Acceptez les conditions et suivez les directives.");
              html_push("</p>");
              html_push("<h2>");
                secure_push("G\u00e9rer vos chansons");
              html_push("</h2>");
              html_push("<h3>");
                secure_push("Modes lecture al\u00e9atoire et r\u00e9p\u00e9tition");
              html_push("</h3>");
              html_push("<p>");
                secure_push("Vous pouvez \u00e9couter les chansons de vos listes d\u2019\u00e9coute et de votre r\u00e9pertoire musical en mode lecture al\u00e9atoire ou en mode r\u00e9p\u00e9tition. Lorsque vous s\u00e9lectionnez le mode lecture al\u00e9atoire, les chansons sont choisies et jou\u00e9es au hasard. Le bouton sert \u00e0 activer et \u00e0 d\u00e9eacute;cran du lecteur multim\u00e9dia TELUS est dot\u00e9 d\u2019une fonction de recherche int\u00e9gr\u00e9e qui permet de chercher tout le contenu du r\u00e9pertoire musical par artiste ou par titre de chanson. Il suffit de taper le d\u00e9but d\u2019un mot. Les r\u00e9sultats correspondants aux lettres ou mots entr\u00e9s s\u2019affichent imm\u00e9diatement dans la fen\u00eatre de contenu.");
              html_push("</p>");
              html_push("<h3>");
                secure_push("Affichage des renseignements contenus dans le r\u00e9pertoire musical");
              html_push("</h3>");
              html_push("<p>");
                secure_push("Dans la fen\u00eatre de contenu figure un tableau contenant tous les renseignements relatifs aux chansons. Ce tableau peut \u00eatre configur\u00e9 et modifi\u00e9. Toutes les colonnes peuvent \u00eatre adapt\u00e9es. Par d\u00e9faut, le titre de la chanson et le nom de l\u2019artiste sont toujours affich\u00e9s. L\u2019affichage des colonnes peut \u00eatre activ\u00e9 ou d\u00e9sactiv\u00e9 en cliquant sur la rang\u00e9e sup\u00e9rieure du tableau avec le bouton droit de la souris pour faire ouvrir le menu des colonnes.");
              html_push("</p>");
              html_push("<strong>");
                secure_push("Listes d\u2019\u00e9coute");
              html_push("</strong>");
              html_push("<strong>");
                secure_push("Listes d\u2019\u00e9coute automatiques");
              html_push("</strong>");
              html_push("<p>");
                secure_push("La fonction listes d\u2019\u00e9coute automatiques vous permet de voir instantan\u00e9ment quelles pistes ont \u00e9t\u00e9 \u00e9cout\u00e9es r\u00e9cemment, quelles sont les plus \u00e9cout\u00e9es et quelles sont celles ayant la meilleure cote.");
              html_push("</p>");
              html_push("<strong>");
                secure_push("Cr\u00e9er une nouvelle liste d\u2019\u00e9coute");
              html_push("</strong>");
              html_push("<p>");
                secure_push("Pour cr\u00e9er une nouvelle liste d\u2019\u00e9coute, vous n\u2019avez qu\u2019\u00e0 cliquer sur le bouton \u00ab + \u00bb dans le coin inf\u00e9rieur gauche ou \u00e0 cliquer avec le bouton de droite de la souris sur \u00ab mes listes d\u2019\u00e9coute \u00bb dans le lecteur et \u00e0 s\u00e9lectionner \u00ab ajouter une liste d\u2019\u00e9coute \u00bb. Une petite fen\u00eatre s\u2019affiche dans laquelle vous devez donner un nom \u00e0 votre liste d\u2019\u00e9coute.");
              html_push("</p>");
              html_push("<strong>");
                secure_push("Ajouter un du disque dur (Bureau ou Windows Explorer) vers la liste de chansons. Si vous d\u00e9placez un fichier ou un dossier vers une liste de chansons, seuls les fichiers avec des extensions compatibles seront ajout\u00e9s.");
              html_push("</strong>");
              html_push("<strong>");
                secure_push("Supprimer une liste d\u2019\u00e9coute");
              html_push("</strong>");
              html_push("<p>");
                secure_push("Vous pouvez supprimer une liste d\u2019\u00e9coute en la s\u00e9lectionnant puis en cliquant sur \u00ab - \u00bb sous les listes d\u2019\u00e9coute ou en s\u00e9lectionnant \u00ab supprimer \u00bb avec le bouton de droite de la souris. Vous ne pouvez supprimer qu\u2019une liste d\u2019\u00e9coute \u00e0 la fois.");
              html_push("</p>");
              html_push("<p>");
                secure_push("En r\u00e8gle g\u00e9n\u00e9rale, les listes d\u2019\u00e9coute ne contiennent que des liens vers les fichiers musicaux de votre disque dur (chemin complet). Ainsi, lorsque vous supprimez une chanson d\u2019une liste d\u2019\u00e9coute, seul le lien vers cette chanson est supprim\u00e9 et non le fichier musical m\u00eame.");
              html_push("</p>");
              html_push("<strong>");
                secure_push("Renommer une liste d\u2019\u00e9coute");
              html_push("</strong>");
              html_push("<p>");
                secure_push("Vous pouvez renommer une liste d\u2019\u00e9coute en cliquant sur \u00ab T \u00bb ou en s\u00e9lectionnant \u00ab renommer \u00bb avec le bouton de droite de la souris. Une fen\u00eatre contextuelle s\u2019affiche dans laquelle vous devez entrer le nouveau nom de votre liste d\u2019\u00e9coute.");
              html_push("</p>");
              html_push("<strong>");
                secure_push("Enregistrer une liste d\u2019\u00e9coute");
              html_push("</strong>");
              html_push("<p>");
                secure_push("Tous les changements apport\u00e9s \u00e0 une liste d\u2019\u00e9coute (nouveau nom, ajout ou suppression de chansons, remaniement de l\u2019ordre des chansons) sont enregistr\u00e9s automatiquement.");
              html_push("</p>");
              html_push("<h2>");
                secure_push("Importer et graver un CD");
              html_push("</h2>");
              html_push("<h3>");
                secure_push("Importer un CD");
              html_push("</h3>");
              html_push("<p>");
                secure_push("Si le lecteur multim\u00e9dia TELUS est en marche et qu\u2019un CD est ins\u00e9r\u00e9 dans le lecteur de CD, une fen\u00eatre contextuelle s\u2019affiche et vous demande ce que vous voulez faire. S\u00e9lectionnez \u00ab Importer un CD \u00e0 l\u2019aide du lecteur multim\u00e9dia TELUS \u00bb. Si vous \u00eates connect\u00e9 \u00e0 Internet, les titres de l\u2019album et des chansons s\u2019afficheront automatiquement.");
              html_push("</p>");
              html_push("<h3>");
                secure_push("Graver un CD");
              html_push("</h3>");
              html_push("<p>");
                secure_push("Vous pouvez graver des chansons import\u00e9es ou t\u00e9l\u00e9charg\u00e9es sur un CD audio.");
              html_push("</p>");
            html_push("</div>");
            break;
        }
      html_push("</div>");
    html_push("</div>");
    return new genshi2js.Stream(result_html);
  }},
  drilldown_breadcrumbs:function(ns){
    var ns=genshi2js.merge(genshi2js.util, ns);
    var stack=new Array();
    var result_html=new Array();
    with(genshi2js.fill_vars(ns,stack,result_html)){
    genshi2js.iterate(ns.enumerate(ns.titles),function(item){
      (function(v){ns.i=v[0];ns.title=v[1]})(item);
      switch(ns.i){
        case ns.active:
          html_push("<span"+genshi2js.attribute("class", "active")+">");
            secure_push(ns.title);
          html_push("</span>");
          break;
        default:
          html_push("<span"+genshi2js.attribute("class", "link")+genshi2js.attribute("onClick", "application.drilldown.goto_drilldown_breadcrumb("+ns.i+")")+">");
            secure_push(ns.title);
          html_push("</span>");
      }
      if(ns.i!=(ns.titles.length-1)){
        secure_push(" - ");
      }
    });
    return new genshi2js.Stream(result_html);
  }},
  cancel_subscription:function(ns){
    var ns=genshi2js.merge(genshi2js.util, ns);
    var stack=new Array();
    var result_html=new Array();
    with(genshi2js.fill_vars(ns,stack,result_html)){
    ns=stack_increment(ns);
      ns.user=ns.application.user;
      html_push("<div"+genshi2js.attribute("class", "clearfix")+">");
        html_push("<div"+genshi2js.attribute("class", "clearfix")+">");
          html_push("<div"+genshi2js.attribute("class", "description")+">");
            secure_push(ns.trans("cancel_subscription_descr"));
          html_push("</div>");
          html_push("<div"+genshi2js.attribute("class", "info")+">");
            html_push("<span"+genshi2js.attribute("class", "label")+">");
              secure_push(ns.trans("your_subscription"));
            html_push("</span>");
            if(ns.user.pc_only()){
              html_push("<span>");
                secure_push(ns.trans("pc_only"));
              html_push("</span>");
            }
            if(ns.user.pc_and_mobile()){
              html_push("<span>");
                secure_push(ns.trans("pc_and_mobile"));
              html_push("</span>");
            }
            html_push("<span>");
              secure_push(ns.trans("your_subscription_days"));
            html_push("</span>");
          html_push("</div>");
          html_push("<div"+genshi2js.attribute("class", "spacer")+"/>");
          html_push("<div"+genshi2js.attribute("class", "info")+">");
            html_push("<span"+genshi2js.attribute("class", "label")+">");
              secure_push(ns.trans("start_date"));
            html_push("</span>");
            html_push("<span>");
              secure_push(util.datetime(ns.user.subscriptions.start_date, ns.trans("date_output_format")));
            html_push("</span>");
          html_push("</div>");
          html_push("<div"+genshi2js.attribute("class", "info")+">");
            html_push("<span"+genshi2js.attribute("class", "label")+">");
              secure_push(ns.trans("end_date"));
            html_push("</span>");
            html_push("<span>");
              secure_push(util.datetime(ns.user.subscriptions.end_date, ns.trans("date_output_format")));
            html_push("</span>");
          html_push("</div>");
          html_push("<div"+genshi2js.attribute("class", "spacer")+"/>");
          html_push("<div"+genshi2js.attribute("class", "option")+">");
            html_push("<input"+genshi2js.attribute("type", "checkbox")+genshi2js.attribute("id", "agreed")+"/>");
            html_push("<label"+genshi2js.attribute("for", "agreed")+">");
              secure_push(ns.trans("cancel_i_wish"));
            html_push("</label>");
          html_push("</div>");
          html_push("<div"+genshi2js.attribute("class", "spacer")+"/>");
          html_push("<div"+genshi2js.attribute("class", "button")+genshi2js.attribute("onclick", "application.confirm_cancel_subscription()")+">");
            secure_push(ns.trans("confirm"));
          html_push("</div>");
        html_push("</div>");
      html_push("</div>");
    ns=stack_decrement();
    return new genshi2js.Stream(result_html);
  }},
  get_subscription:function(ns){
    var ns=genshi2js.merge(genshi2js.util, ns);
    var stack=new Array();
    var result_html=new Array();
    with(genshi2js.fill_vars(ns,stack,result_html)){
    if(ns.application.is_logged_in()||ns.logged_in){
      html_push("<div"+genshi2js.attribute("id", "get_subscription")+genshi2js.attribute("class", "item")+">");
        html_push("<div"+genshi2js.attribute("class", "top")+"/>");
        ns=stack_increment(ns);
          ns.is_cancelled=ns.application.user.subscriptions.is_cancelled;
          html_push("<div"+genshi2js.attribute("class", "main")+">");
            html_push("<div"+genshi2js.attribute("class", "selection clearfix")+">");
              html_push("<h1>");
                secure_push(ns.trans("manage_your_subscription"));
              html_push("</h1>");
              html_push("<div"+genshi2js.attribute("class", "options clearfix")+">");
                html_push("<div>");
                  html_push("<input"+genshi2js.attribute("checked", ns.application.user.pc_and_mobile()&&"checked")+genshi2js.attribute("name", "subscription_option")+genshi2js.attribute("value", "pc_and_mobile")+genshi2js.attribute("disabled", (ns.is_cancelled||ns.application.user.subscriptions.pc)&&"disabled")+genshi2js.attribute("type", "radio")+genshi2js.attribute("id", "subscription_pc_and_mobile")+"/>");
                  html_push("<label"+genshi2js.attribute("for", "subscription_pc_and_mobile")+">");
                    secure_push(ns.trans("pc_and_mobile"));
                    secure_push(" ");
                    secure_push(ns.trans("subscription_price_pc_mobile"));
                  html_push("</label>");
                  html_push("<p>");
                    secure_push(ns.trans("pc_and_mobile_text"));
                  html_push("</p>");
                html_push("</div>");
              html_push("</div>");
              if((!ns.is_cancelled)&&(!ns.application.user.subscriptions.pc)){
                html_push("<div"+genshi2js.attribute("class", "button")+genshi2js.attribute("onclick", "application.get_subscription()")+">");
                  secure_push(ns.trans("continue"));
                html_push("</div>");
              }
            html_push("</div>");
            if(!ns.application.user.subscriptions.pc){
              html_push("<div"+genshi2js.attribute("class", "more")+">");
                html_push("<h1>");
                  secure_push(ns.trans("more_about_subscription"));
                html_push("</h1>");
                html_push("<p>");
                  secure_push(ns.trans("more_about_subscription_text"));
                html_push("</p>");
              html_push("</div>");
            }
            html_push("<div"+genshi2js.attribute("class", "spacer")+"/>");
            if((!ns.is_cancelled)&&ns.application.user.subscriptions.pc){
              html_push("<div"+genshi2js.attribute("id", "cancellation")+">");
                html_push("<div"+genshi2js.attribute("class", "caption clearfix")+">");
                  html_push("<div"+genshi2js.attribute("class", "icon unfold")+genshi2js.attribute("onclick", "application.unfold_cancel_subscription.apply(this)")+"/>");
                  html_push("<div>");
                    secure_push(ns.trans("cancel_title"));
                  html_push("</div>");
                html_push("</div>");
                html_push("<div"+genshi2js.attribute("class", "wizard")+"/>");
              html_push("</div>");
            }
          html_push("</div>");
        ns=stack_decrement();
        html_push("<div"+genshi2js.attribute("class", "bottom")+"/>");
      html_push("</div>");
    }
    return new genshi2js.Stream(result_html);
  }},
  cancel_subscription_success:function(ns){
    var ns=genshi2js.merge(genshi2js.util, ns);
    var stack=new Array();
    var result_html=new Array();
    with(genshi2js.fill_vars(ns,stack,result_html)){
    html_push("<div"+genshi2js.attribute("class", "ok_message clearfix")+">");
      html_push("<img"+genshi2js.attribute("src", ns.application.url.customer_image("okIcon.gif"))+"/>");
      html_push("<span>");
        secure_push(ns.trans("cancel_successful"));
      html_push("</span>");
    html_push("</div>");
    return new genshi2js.Stream(result_html);
  }}
}