add ways to better specify the protocol
authorymh <ymh.work@gmail.com>
Mon, 22 Oct 2018 17:05:10 +0200
changeset 1494 5e6295488e38
parent 1493 351716535c42
child 1495 b6c4ba64a99f
add ways to better specify the protocol
src/ldt/ldt/indexation/search_indexes.py
src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/embed/v4/iframe.html
src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/embed/v4/mdplayer_config.html
src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/groups.html
src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/ldt_list.html
src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/partial/projectslist.html
src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/partial/publishedprojectslist.html
src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/published_projects.html
src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/search_results.html
src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/workspace_base.html
src/ldt/ldt/ldt_utils/views/embed/meta.py
src/ldt/ldt/ldt_utils/views/embed/urls.py
src/ldt/ldt/ldt_utils/views/embed/utils.py
src/ldt/ldt/ldt_utils/views/embed/v4/__init__.py
src/ldt/ldt/ldt_utils/views/embed/v4/urls.py
src/ldt/ldt/ldt_utils/views/embed/v4/views.py
src/ldt/ldt/locale/en/LC_MESSAGES/django.mo
src/ldt/ldt/locale/en/LC_MESSAGES/django.po
src/ldt/ldt/locale/fr/LC_MESSAGES/django.mo
src/ldt/ldt/locale/fr/LC_MESSAGES/django.po
src/ldt/ldt/locale/ja/LC_MESSAGES/django.mo
src/ldt/ldt/locale/ja/LC_MESSAGES/django.po
src/ldt/ldt/settings.py
src/ldt/ldt/static/ldt/js/embed/v4/embed.js
--- a/src/ldt/ldt/indexation/search_indexes.py	Sun Nov 12 22:05:19 2017 +0100
+++ b/src/ldt/ldt/indexation/search_indexes.py	Mon Oct 22 17:05:10 2018 +0200
@@ -9,6 +9,7 @@
 
 from ldt.ldt_utils.models import Segment, Content
 from ldt.text.models import Annotation
+import datetime
 
 
 class SegmentIndex(indexes.SearchIndex, indexes.Indexable):
@@ -29,6 +30,9 @@
     def get_model(self):
         return Segment
 
+    # def prepare_date(self, obj):
+    #     return datetime.datetime.now().strftime("%Y-%m-%d"'T'"%H:%M:%S")
+
     def prepare_tags(self, obj):
         if hasattr(obj, 'tag_list'):
             if obj.tag_list is not None:
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/embed/v4/iframe.html	Mon Oct 22 17:05:10 2018 +0200
@@ -0,0 +1,168 @@
+{% extends "ldt/ldt_utils/embed/iframe_base.html" %}
+{% load i18n %}
+{% load thumbnail %}
+{% load static %}
+{% load absurl %}
+{% load analytics %}
+{% block mdplayer_config %}
+    var _config = {
+        width: '{{ player_width }}',
+        container: '{{ player_id }}_embed',
+        css: '{% static "ldt/metadataplayer/LdtPlayer-core.css" %}',
+        default_options: {
+            metadata: _metadata
+        },
+        widgets: [
+            {
+                type: "AutoPlayer",
+                {% if external_url %}
+                        video: "{{ external_url }}",
+                {% else %}
+                        streamer: function(_url) {
+                            var _matches = _url.match(/^[^\/]+\/\/[^\/]+\/[^\/]+\//);
+                            if (_matches) {
+                                return _matches[0];
+                            } else {
+                                return _url;
+                            }
+                        },
+                {% endif %}
+                height: '{{ player_height }}',
+                url_transform: function(url) {
+                    // Adaptation to jwplayer 6
+                    if(url.substr(url.length - 4).toLowerCase()=='.flv'){
+                        return url.replace('/ddc_player/video/','/ddc_player/flv:video/');
+                    }
+                    return url.replace('/ddc_player/video/','/ddc_player/mp4:video/');
+                },
+                autostart: {% if autostart %} true {% else %} false {% endif %}
+            }
+          {% if polemic %}
+            ,{
+                type: "Polemic",
+              {% if polemic == 'all' %}
+                annotation_type: false,
+              {% else %}
+                     annotation_type: [
+                     {% for type in polemic_annotation_types %}
+                         {% if type == polemic_annotation_types|last %}
+                             "{{type}}"
+                         {% else %}
+                             "{{type}}",
+                         {% endif %}
+                     {% endfor %}],
+              {% endif %}
+                max_elements: {{ polemic_max_elements }},
+                defaultcolor: "#{{ polemic_defaultColor }}",
+                foundcolor: "#{{ polemic_foundColor }}",
+                default_version: "{{ polemic_version }}",
+              {% if polemics_list %}
+                polemics : {{ polemics_list|safe }}
+              {% endif %}
+            }
+        {% endif %}
+        {% if sparkline %}
+            ,{
+                type: "Sparkline",
+                lineColor: "#{{ sparkline_lineColor }}",
+                fillColor: "#{{ sparkline_fillColor }}",
+            }
+        {% endif %}
+            ,{
+                type: "Slider"
+            }
+
+            {% if annotations_list %},{
+                type: "AnnotationsList",
+                container: "AnnotationsList_ext",
+                ajax_url: "{% absurl 'segment_api_empty' resource_name='segments' api_name='1.0' %}{% templatetag openvariable %}media{% templatetag closevariable %}/{% templatetag openvariable %}begin{% templatetag closevariable %}/{% templatetag openvariable %}end{% templatetag closevariable %}",
+                ajax_granularity : 300000,
+                default_thumbnail : '{% static "ldt/css/imgs/video_sequence.png" %}',
+                show_audio: true,
+                rtmp_streamer: "rtmp://media.iri.centrepompidou.fr/ddc_micro_record/"
+            }{% endif %},{
+                type: "Controller"
+            }
+            {% if segments %},{
+                type: "Segments",
+                annotation_type: [
+                     {% for type in segments_annotation_types %}
+                         {% if type == segments_annotation_types|last %}
+                             "{{type}}"
+                         {% else %}
+                             "{{type}}",
+                         {% endif %}
+                     {% endfor %}]
+            }
+            {% endif %}
+            {% if multisegments %},{
+                type: "MultiSegments"
+            }
+            {% endif %}
+            {% if annotation %},{
+                type: "Annotation",
+                start_minimized: true,
+                site_name : "Lignes de Temps",
+                annotation_type: ["chap","découpage"]
+            }
+            {% endif %}
+            {% if tweet %},{
+                type: "Tweet",
+                hide_timeout: 5000
+            }
+            {% endif %}
+            {% if createannotation %},{
+                type: "CreateAnnotation",
+                api_endpoint_template: "{% absurl 'api_dispatch_list' resource_name='annotations' api_name='1.0' %}",
+                after_send_timeout: 8000,
+                {% if tag_titles or tag_titles == "" %}
+                       tag_titles : tag_titles_array,
+                   {% else %}
+                    tag_titles : false,
+                   {% endif %}
+                show_mic_record: {% if show_mic_record %}true{% else %}false{% endif %},
+                close_after_send: false,
+                slice_annotation_type: {% if createannotation_annotation_types %}
+                    [{% for type in createannotation_annotation_types %}
+                         {% if forloop.last %} "{{type}}"
+                         {% else %} "{{type}}",
+                         {% endif %}
+                     {% endfor %}]
+                   {% else %}
+                   ["chap","découpage"]
+                   {% endif %},
+                creator_name: '{{request.user.username}}',
+                creator_avatar: '{% thumbnail request.user.image "48x48" format="PNG" crop="center" as im %}{{ im.url }}{% endthumbnail %}' || "https://si0.twimg.com/sticky/default_profile_images/default_profile_1_normal.png",
+                {% if not createannotation_polemics %}polemics: []{% endif %}
+            }{% endif %}
+            {% if slideshare %},{
+                type: "Slideshare",
+                container: "Slideshare_ext",
+                embed_width: 400,
+                embed_height: 334,
+                annotation_type: "slide"
+            }
+            {% endif %},{
+                type: "Mediafragment"
+            }
+            {% if social %},{
+                type: "Social",
+                container: "Social_ext",
+                show_url: {% if show_url %}true{% else %}false{% endif %},
+                show_twitter: {% if show_twitter %}true{% else %}false{% endif %},
+                show_fb: {% if show_fb %}true{% else %}false{% endif %},
+                show_gplus: {% if show_gplus %}true{% else %}false{% endif %},
+                show_mail: {% if show_mail %}true{% else %}false{% endif %},
+                url: document.location.href.replace(/#.*$/,""),
+                text: document.title
+            }
+           {% endif %}
+
+           {% if tagcloud %},{
+                type: "Tagcloud"
+            }
+           {% endif %}
+        ]
+    };
+{% endblock mdplayer_config %}
+{% analytics %}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/embed/v4/mdplayer_config.html	Mon Oct 22 17:05:10 2018 +0200
@@ -0,0 +1,150 @@
+{% extends "ldt/ldt_utils/embed/mdplayer_config_base.html" %}
+{% load i18n %}
+{% load front_tags %}
+{% load absurl %}
+{% load static %}
+{% load static %}
+{% load analytics %}
+{% block js_import %}
+    {{ block.super }}
+    <script type="text/javascript" src='{% static "ldt/js/embed/v4/embed.js" %}'></script>
+{% endblock %}
+
+{% block js_declaration %}
+    {{ block.super }}
+{% endblock %}
+{% block css_import %}
+    {{ block.super }}
+{% endblock %}
+{% block embed_widget_config %}
+    <span class="OptionsSubtitle">{% trans 'Widgets' %}</span><br>
+    <div id="createannotation_block">
+        <input type="checkbox" id="createannotation_checkbox" value="createannotation" onClick="put_new_code(); display_createannotation();" >
+            <span class="infostooltip title" data-title="createAnnotation" data-desc="{% trans 'Displays a form to create a new annotation' %}">CreateAnnotation</span>
+        </input><br>
+        <div id="createannotation_options" class="embedPersonnalisationSecondLevel">
+            <input type="checkbox" id="show_mic_record_checkbox" value="{% trans 'audio annotation' %}" onClick="put_new_code()" >
+                <span class="infostooltip title" data-title="{% trans 'Audio annotation' %}" data-desc="{% trans 'Allows the user to record an annotation' %}">{% trans 'Audio annotation' %}</span>
+            </input><br>
+            <div id="createannotationSegmentsOptions">
+                {% trans 'Display annotation types: (annotation types must be separated by commas, leave blank to display everything) '%} <br>
+                <input type="text" id="createannotation_annotation_types" value='chap,découpage' onChange="put_new_code()"/><br>
+            </div>
+            <input type="radio" name="annotation_tag" id="default_tags" checked onClick="put_new_code();">{% trans 'Use most used tags  ' %}</input>
+            <input type="radio" name="annotation_tag" id="set_tags" onClick="put_new_code();">
+                <span class="infostooltip title" data-title="{%trans 'Set your own tags : ' %}" data-desc="{% trans 'Write your tags separeted by a comma' %}">{%trans 'Set your own tags : ' %}</span>
+                <input type="text" id="tag_list" class="tags_area" onChange="put_new_code()"></input>
+            </input><br>
+            <input type="checkbox" id="createannotation_polemics_checkbox" value="{% trans '4 polemics buttons' %} ++/--/??/==" onClick="put_new_code()" >
+                <span class="infostooltip title" data-title="{% trans '4 polemics buttons' %} ++/--/??/==" data-desc="{% trans 'Displays or removes the 4 polemics buttons' %} ++/--/??/==">{% trans '4 polemics buttons' %} ++/--/??/==</span>
+            </input>
+        </div>
+    </div>
+    <div id="segments_block">
+        <input type="checkbox" id="segments_checkbox" value="segments" onClick="put_new_code(); display_segments();" >
+            <span class="infostooltip title" data-title="Segments" data-desc="{% trans 'Displays segments of a media as rectangles on an horizontal line' %}">Segments</span>
+        </input><br>
+        <div id="segments_options" class="embedPersonnalisationSecondLevel">
+            <div id="displaySegmentsOptions">
+                {% trans 'Display annotation types: (annotation types must be separated by commas, leave blank to display everything) '%} <br>
+                <input type="text" id="segments_annotation_types" value='chap,découpage' onChange="put_new_code()"/><br>
+            </div>
+        </div>
+    </div>
+    <div id="multisegments_block">
+        <input type="checkbox" id="multisegments_checkbox" value="multisegments" onClick="put_new_code()" >
+            <span class="infostooltip title" data-title="MultiSegments" data-desc="{% trans 'Displays every segment of a media as rectangles on multiple horizontal lines' %}">MultiSegments</span>
+        </input><br>
+    </div>
+    <input type="checkbox" id="annotations_list_checkbox" value="annotationslist" onClick="put_new_code()">
+        <span class="infostooltip title" data-title="Annotationlist" data-desc="{% trans 'Show a list of all annotations accross every project for this content' %}">AnnotationsList</span>
+    </input><br>
+    <div id='polemic_bloc'>
+        <input type="checkbox" id="polemic_checkbox" value="polemic" onClick="put_new_code(); display_polemic();">
+            <span class="infostooltip title" data-title="Polemic" data-desc="{% trans 'Shows the polemical timeline, i.e. tweets colored according to the polemical syntax' %}">Polemic</span>
+        </input><br>
+            <div id="polemic_options" class="embedPersonnalisationSecondLevel">
+                <div id="displayPolemicOptions">
+                    {% trans 'Polemic version:' %}<br>
+                    <input type="text" id="polemic_version" value="1" onChange="put_new_code()"/><br>
+                    {% trans 'Polemic max elements:' %}<br>
+                    <input type="text" id="polemic_max_elements" value="50" onChange="put_new_code()"/><br>
+                    {% trans 'Display annotation types: (annotation types must be separated by commas, leave blank to display everything) '%} <br>
+                    <input type="text" id="polemic_annotation_types" value="tweet" onChange="put_new_code()"/><br>
+                    <a id="displayPolemicColorOptions" class="AdvancedOptionsDisplay">
+                        <span class="title">{% trans "Personalize tweet's color" %}</span>
+                    </a>
+                </div>
+                <div id="polemic_color_options" class="embedPersonnalisation">
+                    <div id="color_default_options">
+                        <span class="title">{% trans "Default color" %} </span>
+                        <input id="polemic_default_color" class="codeColor_text color {hash:true,caps:false}" onchange="put_new_code();" type="text" maxlength="8"></input>
+                    </div>
+                    <div id="polemics_colors">
+                        <span class="title">{% trans "Polemical protocol definition:" %} </span>
+                        <textarea id="polemics_list" onchange="put_new_code();">{{ polemics_list }}</textarea>
+                    </div>
+                    <div id="color_found_options">
+                        <span class="title">{% trans "Found color" %}</span>
+                        <input id="polemic_found_color" class="codeColor_text color {hash:true,caps:false}" onchange="put_new_code();" type="text" maxlength="8"></input>
+                    </div>
+                </div>
+            </div>
+    </div>
+    <div>
+        <input type="checkbox" id="sparkline_checkbox" value="sparkline" onClick="put_new_code(); display_sparkline();">
+            <span class="infostooltip title" data-title="Sparkline" data-desc="{% trans 'Displays a curve showing the project annotation volume across time' %}">Sparkline</span>
+        </input><br>
+        <div id="sparkline_options" class="embedPersonnalisationSecondLevel">
+            <a id="displaySparklineOptions" class="AdvancedOptionsDisplay">
+                <span class="title">{% trans "personalize sparkline's color" %}</span>
+            </a>
+            <div id="sparkline_color_options" class="embedPersonnalisation">
+                <div id="color_line_options">
+                    <span class="title">{% trans 'line color' %} </span>
+                    <input id="sparkline_line_color" class="codeColor_text color {hash:true,caps:false}" onchange='put_new_code();' type="text" maxlength="7"></input>
+                </div>
+
+                <div id="fill_color_options">
+                        <span class="title">{% trans 'fill color' %} </span>
+                        <input id="sparkline_fill_color" class="codeColor_text color {hash:true,caps:false}" onchange='put_new_code();' type="text"  maxlength="7"></input>
+                </div>
+            </div>
+        </div>
+    </div>
+    <input type="checkbox" id="slideshare_checkbox" value="slideshare" onClick="put_new_code()">
+        <span class="infostooltip title" data-title="Slideshare" data-desc="{% trans 'Displays a div in order to watch the slides displayed in the media' %}">Slideshare</span>
+    </input><br>
+    <div>
+    <input type="checkbox" id="social_checkbox" value="social" onClick="put_new_code(); display_social();">
+        <span class="infostooltip title" data-title="Social" data-desc="{% trans ' Adds buttons to share an URL on social networks' %}">Social</span>
+    </input><br>
+    <div id="social_options" class="embedPersonnalisation">
+         <input type="checkbox" id="show_url_checkbox" value="show_url" checked onClick="put_new_code()"> Url </input>
+         <input type="checkbox" id="show_twitter_checkbox" value="show_twitter" checked onClick="put_new_code()"> Twitter </input>
+         <input type="checkbox" id="show_fb_checkbox" value="show_fb" checked onClick="put_new_code()"> Facebook </input>
+         <input type="checkbox" id="show_gplus_checkbox" value="show_gplus" checked onClick="put_new_code()"> Google Plus </input>
+         <input type="checkbox" id="show_mail_checkbox" value="show_mail" checked onClick="put_new_code()"> {% trans 'share with email' %} </input><br>
+    </div>
+    </div>
+    <input type="checkbox" id="annotation_checkbox" value="annotation" onClick="put_new_code()">
+        <span class="infostooltip title" data-title="Annotation" data-desc="{% trans ' Displays information relative to a single segment/annotation while it is being played' %}">Annotation</span>
+    </input><br>
+    <input type="checkbox" id="tweet_checkbox" value="tweet" onClick="put_new_code()">
+        <span class="infostooltip title" data-title="Tweet" data-desc="{% trans 'Show the contents on a tweet when clicked (in Polemic Widget)' %}">Tweet</span>
+    </input><br>
+    <input type="checkbox" id="tagcloud_checkbox" value="tagcloud" onClick="put_new_code()">
+            <span class="infostooltip title" data-title="Tagcloud" data-desc="{% trans 'Shows a tag cloud' %}">Tagcloud</span>
+    </input><br><br>
+    <span class="OptionsSubtitle">{% trans 'Other settings' %}</span><br>
+    <input type="checkbox" id="autostart_checkbox" value="autostart" onClick="put_new_code()">
+        <span class="infostooltip title" data-title="AutoStart" data-desc="{% trans 'The video starts automatically' %}">Autostart</span>
+    </input><br>
+    <input type="checkbox" id="concatenate_projects_checkbox" value="concatenate_projects" onClick="put_new_code()">
+        <span>{% trans "Concatenate all projects using this content" %}</span>
+    </input>
+{% endblock %}
+{% block content %}
+    {{ block.super }}
+{% endblock %}
+{% analytics %}
--- a/src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/groups.html	Sun Nov 12 22:05:19 2017 +0100
+++ b/src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/groups.html	Mon Oct 22 17:05:10 2018 +0200
@@ -21,7 +21,7 @@
 var get_group_projects_url = "{% url 'ldt.ldt_utils.views.group.get_group_projects_view' %}";
 
 function init_events(base_node) {
-	init_events_projects(base_node, "{% url 'embed_config_v3' %}", project_filter_url, publish_project_url, unpublish_project_url);
+	init_events_projects(base_node, "{% url 'embed_config_v4' %}", project_filter_url, publish_project_url, unpublish_project_url);
 }
 
 var global_csrf_token = "{{ csrf_token }}";
--- a/src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/ldt_list.html	Sun Nov 12 22:05:19 2017 +0100
+++ b/src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/ldt_list.html	Mon Oct 22 17:05:10 2018 +0200
@@ -18,7 +18,7 @@
 
 function init_events(base_node) {
 
-	init_events_base(base_node, "{% url 'embed_config_v3' %}");
+	init_events_base(base_node, "{% url 'embed_config_v4' %}");
 
 	$('.publishedproject', base_node).click(function(e) {
 		e.preventDefault();
--- a/src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/partial/projectslist.html	Sun Nov 12 22:05:19 2017 +0100
+++ b/src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/partial/projectslist.html	Mon Oct 22 17:05:10 2018 +0200
@@ -48,7 +48,7 @@
         <td class="cellimg"><div class="cellimgdiv"><img src='{% static "ldt/img/page_copy.png" %}' href="{% url 'ldt.ldt_utils.views.project.copy_project' ldt_id=project.ldt_id group_id=group_id %}" class="ldt_link_copy_project" alt="{% trans 'copy project' %}" title="{% trans 'copy project' %}"/></div></td>
         <td class="cellimg">
          <div class="cellimgdiv">
-           <a href="{% url 'embed_config_v3' %}?json_url={{WEB_URL}}{{json_url_id}}&player_id=player_project_{{project.ldt_id}}&ldt_id={{project.ldt_id}}">
+           <a href="{% url 'embed_config_v4' %}?json_url={{WEB_URL}}{{json_url_id}}&player_id=player_project_{{project.ldt_id}}&ldt_id={{project.ldt_id}}">
             <img src='{% static "ldt/img/plugin.png" %}' id="player_project_{{project.ldt_id}}" class="ldt_link_embed" alt="{% trans 'link json by id' %}" title="{% trans 'link json by id' %}"/>
            </a>
          </div>
--- a/src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/partial/publishedprojectslist.html	Sun Nov 12 22:05:19 2017 +0100
+++ b/src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/partial/publishedprojectslist.html	Mon Oct 22 17:05:10 2018 +0200
@@ -26,7 +26,7 @@
         <td class="cellimg"><div class="cellimgdiv"><img src='{% static "ldt/img/page_copy.png" %}' href="{% url 'ldt.ldt_utils.views.project.copy_project' ldt_id=project.ldt_id %}" class="ldt_link_copy_project" alt="{% trans 'copy the project' %}" title="{% trans 'copy the project' %}"/></div></td>
         <td class="cellimg">
          <div class="cellimgdiv">
-          <a href='{% url "embed_config_v3" %}?json_url={{WEB_URL}}{{json_url_id}}&player_id=player_project_{{project.ldt_id}}&ldt_id={{project.ldt_id}}'>
+          <a href='{% url "embed_config_v4" %}?json_url={{WEB_URL}}{{json_url_id}}&player_id=player_project_{{project.ldt_id}}&ldt_id={{project.ldt_id}}'>
            <img src='{% static "ldt/img/plugin.png" %}' id="player_project_{{project.ldt_id}}" class="ldt_link_embed" alt="{% trans 'link json by id' %}" title="{% trans 'link json by id' %}"/>
           </a>
          </div>
--- a/src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/published_projects.html	Sun Nov 12 22:05:19 2017 +0100
+++ b/src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/published_projects.html	Mon Oct 22 17:05:10 2018 +0200
@@ -19,7 +19,7 @@
 
 
 function init_events(base_node) {
-	init_events_all(base_node, "{% url 'embed_config_v3' %}", content_filter_url, project_filter_url, publish_project_url, unpublish_project_url);
+	init_events_all(base_node, "{% url 'embed_config_v4' %}", content_filter_url, project_filter_url, publish_project_url, unpublish_project_url);
 }
 
 var global_csrf_token = "{{ csrf_token }}";
--- a/src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/search_results.html	Sun Nov 12 22:05:19 2017 +0100
+++ b/src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/search_results.html	Mon Oct 22 17:05:10 2018 +0200
@@ -41,7 +41,7 @@
 	{{ block.super }}
 	<script type="text/javascript">
 	$(document).ready(function(){
-		init_events_all(document, "{% url 'embed_config_v3' %}", '', '', '', '');
+		init_events_all(document, "{% url 'embed_config_v4' %}", '', '', '', '');
 	});
     </script>
 {% endblock %}
--- a/src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/workspace_base.html	Sun Nov 12 22:05:19 2017 +0100
+++ b/src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/workspace_base.html	Mon Oct 22 17:05:10 2018 +0200
@@ -23,7 +23,7 @@
 var unpublish_project_url = "{% url 'ldt.ldt_utils.views.project.unpublish' id='__PROJECT_ID__' %}";
 
 function init_events(base_node) {
-	init_events_all(base_node, "{% url 'embed_config_v3' %}", content_filter_url, project_filter_url, publish_project_url, unpublish_project_url);
+	init_events_all(base_node, "{% url 'embed_config_v4' %}", content_filter_url, project_filter_url, publish_project_url, unpublish_project_url);
 }
 
 var global_csrf_token = "{{ csrf_token }}";
--- a/src/ldt/ldt/ldt_utils/views/embed/meta.py	Sun Nov 12 22:05:19 2017 +0100
+++ b/src/ldt/ldt/ldt_utils/views/embed/meta.py	Mon Oct 22 17:05:10 2018 +0200
@@ -27,7 +27,6 @@
     iframe_base_url = ""
     
     def get(self, request):
-        print(request.GET)
         json_url = request.GET.get("json_url")
         player_id = request.GET.get("player_id")
         ldt_id = request.GET.get("ldt_id")
--- a/src/ldt/ldt/ldt_utils/views/embed/urls.py	Sun Nov 12 22:05:19 2017 +0100
+++ b/src/ldt/ldt/ldt_utils/views/embed/urls.py	Mon Oct 22 17:05:10 2018 +0200
@@ -3,5 +3,6 @@
 urlpatterns = patterns('ldt.ldt_utils.views.embed',
     url(r'^v1/', include('ldt.ldt_utils.views.embed.v1.urls')),
     url(r'^v2/', include('ldt.ldt_utils.views.embed.v2.urls')),
-    url(r'^v3/', include('ldt.ldt_utils.views.embed.v3.urls'))
+    url(r'^v3/', include('ldt.ldt_utils.views.embed.v3.urls')),
+    url(r'^v4/', include('ldt.ldt_utils.views.embed.v4.urls'))
 )
--- a/src/ldt/ldt/ldt_utils/views/embed/utils.py	Sun Nov 12 22:05:19 2017 +0100
+++ b/src/ldt/ldt/ldt_utils/views/embed/utils.py	Mon Oct 22 17:05:10 2018 +0200
@@ -4,10 +4,11 @@
 import ldt.auth as ldt_auth
 from ldt.ldt_utils.projectserializer import ProjectJsonSerializer
 from ldt.utils.web_url_management import get_web_url
-
+from ldt import settings as ldt_settings
 
 from ldt.ldt_utils.models import Project
 from urlparse import urljoin
+import json
 
 
 
@@ -41,6 +42,9 @@
     LANGUAGE_CODE = settings.LANGUAGE_CODE
     ps = ProjectJsonSerializer(project, from_contents=True, from_display=True)
     annotations = ps.get_annotations(first_cutting=True)
+    polemic_protocol_def = ldt_settings.POLEMIC_PROTOCOL_DEFINITION or {}
+    polemic_protocol_str = json.dumps(polemic_protocol_def, separators=(',',':'))
+
     rend_dict = {
         'project':project,
         'contents':project_contents,
@@ -52,6 +56,7 @@
         'external_url': external_url,
         'content_id': content.iri_id,
         'polemic':False,
+        'polemics_list': polemic_protocol_str,
         'show_mic_record':False,
         'annotations_list':False,
         'iframe_url':iframe_url,
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/ldt/ldt/ldt_utils/views/embed/v4/urls.py	Mon Oct 22 17:05:10 2018 +0200
@@ -0,0 +1,10 @@
+from django.conf.urls import patterns, url
+
+from views import ConfigViewV4, IframeViewV4
+
+
+urlpatterns = patterns(
+    'ldt.ldt_utils.views.embed.v4',
+    url(r'^config/?$', ConfigViewV4.as_view(), name="embed_config_v4"),
+    url(r'^iframe/?$', IframeViewV4.as_view(), name="embed_iframe_v4")
+)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/ldt/ldt/ldt_utils/views/embed/v4/views.py	Mon Oct 22 17:05:10 2018 +0200
@@ -0,0 +1,136 @@
+import logging
+import json
+
+from django.core.urlresolvers import reverse_lazy, reverse
+from django.http import HttpResponseForbidden
+from django.shortcuts import render_to_response
+from django.template import RequestContext
+from django.utils.translation import ugettext as _
+
+from ldt import settings
+from ldt.ldt_utils.models import Content
+from ldt.ldt_utils.views.embed.meta import ConfigView, IframeView
+from ldt.ldt_utils.views.embed.utils import get_datas_for_embed
+
+from ldt.utils.input import parse_bool
+
+
+logger = logging.getLogger(__name__)
+
+class ConfigViewV4(ConfigView):
+    template_name = "ldt/ldt_utils/embed/v4/mdplayer_config.html"
+    iframe_base_url = reverse_lazy("embed_iframe_v4")#, urlconf="ldtplatform.urls")
+
+class IframeViewV4(IframeView):
+    template_name = "ldt/ldt_utils/embed/v4/iframe.html"
+    iframe_base_url = reverse_lazy("embed_iframe_v4")#, urlconf="ldtplatform.urls")
+
+    def get(self, request):
+        content_id = request.GET.get("content_id")
+        project_id = request.GET.get("project_id")
+        if not project_id:
+            try:
+                content = Content.safe_objects.get(iri_id=content_id)
+            except:
+                return HttpResponseForbidden(_("The content does not exists or you are not allowed to access this content"))
+            project = content.get_or_create_front_project()
+            project_id = project.ldt_id
+        if not project_id :
+            return HttpResponseForbidden(_("Parameters project_id or content_id must be given in the url"))
+
+        json_url = reverse("projectjson_id", kwargs={'id':project_id})
+
+        player_id = "player_project_" + project_id
+        ldt_id = project_id
+        rend_dict = get_datas_for_embed(request, json_url, player_id, ldt_id, self.iframe_base_url)
+
+        # Test if concatenated projects has been asked
+        concatenate_projects = parse_bool(request.GET.get("concatenate_projects", ""))
+        if concatenate_projects:
+            json_url = reverse("api_content_all_projects", kwargs={'api_name': '1.0', 'resource_name': 'contents', 'iri_id': content_id})
+            # add filter
+            group_id = request.GET.get("group")
+            if group_id is not None :
+                json_url += "?group=" + group_id
+            rend_dict["json_url"] = json_url
+
+        # Manage iframe options
+        rend_dict["player_height"]=request.GET.get("player_height", 300)
+        rend_dict["player_width"]=request.GET.get("player_width", 550)
+
+        if request.GET.has_key("polemic"):
+            rend_dict["polemic"] = True
+            if request.GET.get("polemic") == "all":
+                rend_dict["polemic_annotation_types"] = []
+            else:
+                polemic_annotation_types_list = request.GET.get("polemic").split(",")
+                rend_dict["polemic_annotation_types"] = polemic_annotation_types_list
+            rend_dict["polemic_defaultColor"] = request.GET.get("polemic_defaultColor", "585858")
+            rend_dict["polemic_foundColor"] = request.GET.get("polemic_foundColor", "fc00ff")
+            rend_dict["polemic_version"] = request.GET.get("polemic_version", "1")
+
+            polemic_protocol_def = settings.POLEMIC_PROTOCOL_DEFINITION or {}
+            polemic_protocol_str = json.dumps(polemic_protocol_def, separators=(',',':'))
+            rend_dict["polemics_list"] = request.GET.get("polemics_list", polemic_protocol_str)
+            try:
+                pme = int(request.GET.get("polemic_max_elements", 50))
+            except:
+                pme = 50
+            rend_dict["polemic_max_elements"] = pme
+
+        rend_dict["autostart"] = parse_bool(request.GET.get("autostart", "false"), False)
+        rend_dict["createannotation"] = parse_bool(request.GET.get("createannotation", "false"), False)
+
+        if request.GET.has_key("show_mic_record"):
+            rend_dict["show_mic_record"] = parse_bool(request.GET.get("show_mic_record"))
+            if rend_dict["show_mic_record"]:
+                rend_dict["createannotation"]=True
+            if request.GET.has_key("createannotation_annotation_types"):
+                segments_annotation_types_list = request.GET.get("createannotation_annotation_types").split(",")
+                rend_dict["createannotation_annotation_types"] = segments_annotation_types_list
+            else:
+                rend_dict["createannotation_annotation_types"] = False
+
+        rend_dict["createannotation_polemics"] = True
+
+        if request.GET.has_key("createannotation_polemics"):
+            rend_dict["createannotation_polemics"] = parse_bool(request.GET.get("createannotation_polemics"))
+
+        if request.GET.has_key("annotations_list"):
+            rend_dict["annotations_list"] = parse_bool(request.GET.get("annotations_list"))
+            rend_dict["player_width"] = 550
+
+        if request.GET.has_key("tag_titles"):
+            rend_dict["tag_titles"] = request.GET.get("tag_titles")
+
+        if request.GET.has_key("sparkline"):
+            rend_dict["sparkline"] = request.GET.get("sparkline")
+            rend_dict["sparkline_lineColor"] = request.GET.get("sparkline_lineColor", "7492b4")
+            rend_dict["sparkline_fillColor"] = request.GET.get("sparkline_fillColor", "aeaeb8")
+
+        if request.GET.has_key("slideshare"):
+            rend_dict["slideshare"] = parse_bool(request.GET.get("slideshare"))
+
+        if request.GET.has_key("social"):
+            rend_dict["social"] = parse_bool(request.GET.get("social"))
+            rend_dict["show_url"] = parse_bool(request.GET.get("show_url", "true"), True)
+            rend_dict["show_twitter"] = parse_bool(request.GET.get("show_twitter", "true"), True)
+            rend_dict["show_fb"] = parse_bool(request.GET.get("show_fb", "true"), True)
+            rend_dict["show_gplus"] = parse_bool(request.GET.get("show_gplus", "true"),True)
+            rend_dict["show_mail"] = parse_bool(request.GET.get("show_mail", "true"), True)
+
+        if request.GET.has_key("annotation"):
+            rend_dict["annotation"] = parse_bool(request.GET.get("annotation").lower())
+        if request.GET.has_key("tweet"):
+            rend_dict["tweet"] =parse_bool(request.GET.get("tweet").lower())
+        rend_dict["segments"] = parse_bool(request.GET.get("segments", "true"), True)
+        if request.GET.has_key("segments_annotation_types"):
+            rend_dict["segments_annotation_types"] = request.GET.get("segments_annotation_types").split(",")
+        else:
+            rend_dict["segments_annotation_types"] = "false"
+        if request.GET.has_key("multisegments"):
+            rend_dict["multisegments"] = parse_bool(request.GET.get("multisegments"))
+        if request.GET.has_key("tagcloud"):
+            rend_dict["tagcloud"] = parse_bool(request.GET.get("tagcloud"))
+
+        return render_to_response(self.template_name, rend_dict, context_instance=RequestContext(request))
Binary file src/ldt/ldt/locale/en/LC_MESSAGES/django.mo has changed
--- a/src/ldt/ldt/locale/en/LC_MESSAGES/django.po	Sun Nov 12 22:05:19 2017 +0100
+++ b/src/ldt/ldt/locale/en/LC_MESSAGES/django.po	Mon Oct 22 17:05:10 2018 +0200
@@ -917,6 +917,11 @@
 msgid "Polemic's color : ++ : "
 msgstr "Polemic's color : ++ : "
 
+#: ldt_utils/templates/ldt/ldt_utils/embed/v4/mdplayer_config.html:70
+msgid "Polemical protocol definition:"
+msgstr "Polemical protocol definition:"
+
+
 #: ldt_utils/templates/ldt/ldt_utils/embed/v1/mdplayer_config.html:80
 #: ldt_utils/templates/ldt/ldt_utils/embed/v2/mdplayer_config.html:90
 msgid "Found color"
Binary file src/ldt/ldt/locale/fr/LC_MESSAGES/django.mo has changed
--- a/src/ldt/ldt/locale/fr/LC_MESSAGES/django.po	Sun Nov 12 22:05:19 2017 +0100
+++ b/src/ldt/ldt/locale/fr/LC_MESSAGES/django.po	Mon Oct 22 17:05:10 2018 +0200
@@ -920,6 +920,11 @@
 msgid "Polemic's color : ++ : "
 msgstr "Couleur des tweets polémiques de type : ++ : "
 
+#: ldt_utils/templates/ldt/ldt_utils/embed/v4/mdplayer_config.html:70
+msgid "Polemical protocol definition:"
+msgstr "Définition du protocole d'annotation polemique:"
+
+
 #: ldt_utils/templates/ldt/ldt_utils/embed/v1/mdplayer_config.html:80
 #: ldt_utils/templates/ldt/ldt_utils/embed/v2/mdplayer_config.html:90
 msgid "Found color"
Binary file src/ldt/ldt/locale/ja/LC_MESSAGES/django.mo has changed
--- a/src/ldt/ldt/locale/ja/LC_MESSAGES/django.po	Sun Nov 12 22:05:19 2017 +0100
+++ b/src/ldt/ldt/locale/ja/LC_MESSAGES/django.po	Mon Oct 22 17:05:10 2018 +0200
@@ -936,6 +936,10 @@
 msgid "Polemic's color : ++ : "
 msgstr ""
 
+#: ldt_utils/templates/ldt/ldt_utils/embed/v4/mdplayer_config.html:70
+msgid "Polemical protocol definition:"
+msgstr "論争プロトコルの定義:"
+
 #: ldt_utils/templates/ldt/ldt_utils/embed/v1/mdplayer_config.html:80
 #: ldt_utils/templates/ldt/ldt_utils/embed/v2/mdplayer_config.html:90
 msgid "Found color"
--- a/src/ldt/ldt/settings.py	Sun Nov 12 22:05:19 2017 +0100
+++ b/src/ldt/ldt/settings.py	Mon Oct 22 17:05:10 2018 +0200
@@ -118,4 +118,73 @@
 
 HTTPLIB2_DISABLE_SSL_CERTIFICATE_VALIDATION = getattr(settings,'HTTPLIB2_DISABLE_SSL_CERTIFICATE_VALIDATION', False)
 
+POLEMIC_PROTOCOL_DEFINITION = getattr(settings, 'POLEMIC_PROTOCOL_DEFINITION', {
+    "1" : [
+        {
+            "name" : "OK",
+            "keywords" : [ "++" ],
+            "color" : "#1D973D"
+        },
+        {
+            "name" : "KO",
+            "keywords" : [ "--" ],
+            "color" : "#CE0A15"
+        },
+        {
+            "name" : "REF",
+            "keywords" : [ "==", "http://" ],
+            "color" : "#C5A62D"
+        },
+        {
+            "name" : "Q",
+            "keywords" : [ "?" ],
+            "color" : "#036AAE"
+        }
+    ],
+    "2" : [
+        {
+            "name" : "OK",
+            "keywords" : [ "++" ],
+            "color" : "#1D973D"
+        },
+        {
+            "name" : "KO",
+            "keywords" : [ "!!" ],
+            "color" : "#CE0A15"
+        },
+        {
+            "name" : "REF",
+            "keywords" : [ "==", "http://" ],
+            "color" : "#C5A62D"
+        },
+        {
+            "name" : "Q",
+            "keywords" : [ "?" ],
+            "color" : "#036AAE"
+        }
+    ],
+    "3" : [
+        {
+            "name" : "OK",
+            "keywords" : [ "++" ],
+            "color" : "#196be6"
+        },
+        {
+            "name" : "KO",
+            "keywords" : [ "??" ],
+            "color" : "#e6b919"
+        },
+        {
+            "name" : "REF",
+            "keywords" : [ "**", "http://", "https://" ],
+            "color" : "#e619e6"
+        },
+        {
+            "name" : "Q",
+            "keywords" : [ "==" ],
+            "color" : "#42e619"
+        }
+    ]
+})
 
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/ldt/ldt/static/ldt/js/embed/v4/embed.js	Mon Oct 22 17:05:10 2018 +0200
@@ -0,0 +1,990 @@
+"use strict";
+
+var display_state = "player";
+
+function toggle_display() {
+    $j.each(["player","ldt_iframe","seo_body","seo_meta","links"], function(i,display_str) {
+
+        var div_selector = "#"+display_str+"_code";
+        if(display_str === display_state) {
+            $j(div_selector).show();
+        }
+        else {
+            $j(div_selector).hide();
+        }
+    });
+}
+
+function init_events(){
+    toggle_display();
+    $j("#iframe_div_premode").toggle(false);
+    $j("#embed_personnalisation").toggle(false);
+    $j("#player_width").val(550);
+    $j("#player_height").val(300);
+    $j("#optionsExpArrow").toggle(true);
+    $j("#optionsCollArrow").toggle(false);
+    $j("#preModeExpArrow").toggle(true);
+    $j("#preModeCollArrow").toggle(false);
+    $j("#createannotation_block").toggle(true);
+    $j("#player_id_code").select();
+    $j("#polemic_color_options").toggle(false);
+    $j("#sparkline_color_options").toggle(false);
+    $j("#social_options").toggle(false);
+    $j("#displaySegmentsOptions").toggle(false);
+    $j("#displayPolemicOptions").toggle(false);
+    $j("#displaySparklineOptions").toggle(false);
+    $j("#polemic_version").val("1");
+    $j("#polemic_default_color").val("#585858");
+    $j("#polemic_found_color").val("#fc00ff");
+    $j("#sparkline_line_color").val("#7492b4");
+    $j("#sparkline_fill_color").val("#aeaeb8");
+    var type_embed=document.getElementById("type_embed_div");
+    type_embed.checked=true;
+    $j("#createannotation_options").toggle(false);
+    mode1();
+
+    $j(".click_to_select").click(function(){
+        var i = $j(this).parent().find("input");
+        i.select();
+    });
+
+    $j('.ldt_json_link').click(function(e) {
+        e.preventDefault();
+        link = $j(e.target);
+        $j("#res_link_{{player_id}}").load(link.attr("href"));
+        $j("#res_link_{{player_id}}").show();
+        return false;
+    });
+
+    $j('#player_button').click(function(e) {
+        display_state = "player";
+        toggle_display();
+        $j("#player_id_code").select();
+    });
+    $j('#ldt_iframe_button').click(function(e) {
+        display_state = "ldt_iframe";
+        toggle_display();
+        $j("#ldt_iframe_id_code").select();
+    });
+    $j('#seo_body_button').click(function(e) {
+        display_state = "seo_body";
+        toggle_display();
+        $j("#seo_body_id_code").select();
+    });
+    $j('#seo_meta_button').click(function(e) {
+        display_state = "seo_meta";
+        toggle_display();
+        $j("#seo_meta_id_code").select();
+    });
+    $j('#links_button').click(function(e) {
+        display_state = "links";
+        toggle_display();
+    });
+
+    $j("#copy_button").click(function(e) {
+        alert($j("#"+display_state+"_code").html());
+    });
+
+    $j("#refresh_player_button").click(function(e){
+        refresh_player();
+        $j("#player_id_code").select();
+    });
+
+
+    $j('#links_button').click(function() {
+        var range = document.createRange();
+        range.selectNode(document.getElementById('links_code'));
+        window.getSelection().addRange(range);
+    });
+
+    $j('#displayPreMode').click(function(){
+        $j("#iframe_div_premode").slideToggle("fast");
+        $j("#preModeExpArrow").toggle();
+        $j("#preModeCollArrow").toggle();
+    });
+
+    $j("#displayEmbedOptions").click(function(){
+        $j("#embed_personnalisation").slideToggle("fast");
+        $j("#optionsExpArrow").toggle();
+        $j("#optionsCollArrow").toggle();
+
+    });
+
+    $j("#displayPolemicColorOptions").click(function(){
+        $j("#polemic_color_options").slideToggle("fast");
+    });
+
+    $j("#displaySparklineOptions").click(function(){
+        $j("#sparkline_color_options").slideToggle("fast");
+    });
+
+    $('.infostooltip').each( function () {
+        var desc = $(this).attr('data-desc');
+        if (desc == 'None') {
+            desc = '';
+        }
+        $(this).qtip({
+            content : {
+                text: '<b>' + $(this).attr('data-title') + '</b><br />' + desc
+            },
+            style: {
+                classes: 'ui-tooltip-dark ui-tooltip-rounded qtipldt'
+            },
+            border: {
+                'width': 0,
+                'color': '#505050'
+            },
+            position: {
+                my: 'top left',
+                at: 'bottom left'
+            }
+        });
+    });
+
+}
+
+function generate_base_embed_code(){
+    var concatenate_projects_val = document.getElementById("concatenate_projects_checkbox");
+    var player_width_val=$j("#player_width").val();
+    var json_url_embed;
+    if (concatenate_projects_val.checked){
+        json_url_embed=json_url_concatenate;
+    }
+    else {
+        json_url_embed=json_url;
+    }
+    return '\
+        <div> \n \
+        <div id="'+player_id+'_embed" style="float:left; width:'+player_width_val+';" class="iri_player_embed">\n\
+        </div>\n\
+        <script type="text/javascript" src="'+LdtPlayer_core+'"></script>\n\
+        <script type="text/javascript">\n\
+        function waitForIriSP(callback) {\n\
+            var interval = 10;\n\
+            window.setTimeout(function() {\n\
+                if (window.IriSP) {\n\
+                    callback();\n\
+                } else {\n\
+                    window.setTimeout(arguments.callee, interval);\n\
+                }\n\
+            }, interval);\n\
+        }\n\
+        function startPlayer() {\n\
+          if (typeof jQuery == "undefined") {\n\
+          jQuery = IriSP.jQuery;\n\
+          }\n\
+          var metadatas = {metadata: {url: "'+json_url_embed+'"}};\n\
+          var metadata_key = "metadata";\n\
+          IriSP.libFiles.defaultDir = "'+defaultDir+'";\n\
+          IriSP.libFiles.locations.jwPlayerSWF = "'+jwPlayerSWF+'";\n\
+          IriSP.libFiles.locations.recordMicSwf = "'+recordMicSwf+'";\n\
+          IriSP.libFiles.locations.zeroClipboardSwf = "'+zeroClipboardSwf+'";\n\
+          IriSP.libFiles.locations.cssjQueryUI = "'+cssjQueryUI+'";\n\
+          IriSP.language = "'+LANGUAGE_CODE+'";\n\
+          \n\
+          IriSP.widgetsDir = "'+widgetsDir+'";\n\
+          var _metadata = {\n\
+          url: metadatas[metadata_key].url,\n\
+          format: "ldt"\n\
+          };\n\
+          var _config = {\n\
+          width: "'+player_width_val+'",\n\
+          container: "'+player_id+'_embed",\n\
+          css: "'+configCss+'",\n\
+          default_options: {\n\
+          metadata: _metadata\n\
+          },\n';
+
+}
+
+function generate_widget_code(){
+    var annotationslist_val=document.getElementById('annotations_list_checkbox');
+    var slideshare_val=document.getElementById('slideshare_checkbox');
+    var social_val=document.getElementById('social_checkbox');
+    var annotation_val=document.getElementById('annotation_checkbox');
+    var tweet_val=document.getElementById('tweet_checkbox');
+    var segments_val=document.getElementById('segments_checkbox');
+    var multisegments_val=document.getElementById('multisegments_checkbox');
+    var polemic_val=document.getElementById('polemic_checkbox');
+    var sparkline_val=document.getElementById('sparkline_checkbox');
+    var tagcloud_val=document.getElementById('tagcloud_checkbox');
+    var player_height_val=$j('#player_height').val();
+    var autostart_val=document.getElementById('autostart_checkbox');
+    var createannotation_val=document.getElementById('createannotation_checkbox');
+    var widget_code=
+        '  widgets: [\n' +
+        '  {\n' +
+        '    type: "AutoPlayer",\n' +
+        '    streamer: function(_url) {\n' +
+        '      var _matches = _url.match(/^[^\\/]+\\/\\/[^\\/]+\\/[^\\/]+\\//);\n' +
+        '      if (_matches) {\n' +
+        '        return _matches[0];\n' +
+        '      } else {\n' +
+        '        return _url;\n' +
+        '      }\n' +
+        '    },\n' +
+        '    url_transform: function(url) {\n' +
+        '      // Adaptation to jwplayer 6\n' +
+        '      if (url.substr(url.length - 4).toLowerCase()===\'.flv\'){\n' +
+        '        return url.replace(\'/ddc_player/video/\',\'/ddc_player/flv:video/\');\n' +
+        '      }\n' +
+        '      return url.replace(\'/ddc_player/video/\',\'/ddc_player/mp4:video/\');\n' +
+        '    },\n';
+
+    if (external_url!='None'){
+        widget_code+='video: "'+external_url+'",\n';
+    }
+
+    widget_code+='height: '+player_height_val+',\n'
+
+    if (autostart_val.checked){
+        widget_code+='autostart: true\n\}';
+    }
+    else {
+        widget_code+='autostart: false\n\}';
+    }
+
+    widget_code += ',{\n' +
+        'type: "Slider"\n' +
+        '},{\n' +
+        'type: "Controller"\n' +
+        '},{\n' +
+        'type: "Mediafragment"\n' +
+        '}\n';
+
+    if (polemic_val.checked){
+        var defaultcolor = $j("#polemic_default_color").val(),
+            foundcolor = $j("#polemic_found_color").val(),
+            ok_color = $j("#polemic_ok_color").val(),
+            ko_color = $j("#polemic_ko_color").val(),
+            ref_color = $j("#polemic_ref_color").val(),
+            q_color = $j("#polemic_q_color").val(),
+            polemic_version = $j("#polemic_version").val(),
+            polemics_list = $j("#polemics_list").val(),
+            polemic_max_elements = $j("#polemic_max_elements").val(),
+            polemic_annotation_types_val = $j("#polemic_annotation_types").val();
+        widget_code+='\
+            ,{\n\
+            type: "Polemic",\n';
+        if(polemic_annotation_types_val){
+            var polemic_annotation_types_array=polemic_annotation_types_val.split(",")
+            widget_code+='\
+                annotation_type: [';
+            for (i=0; i<polemic_annotation_types_array.length; i++){
+                widget_code+='"'+polemic_annotation_types_array[i]+'"'
+                if (i!=polemic_annotation_types_array.length-1){
+                    widget_code+=','
+                }
+            }
+            widget_code+='],\n';
+        }
+        else{
+            widget_code+='\
+                annotation_type: false,\n';
+        }
+        widget_code+='\
+            defaultcolor: "'+defaultcolor+'",\n\
+            foundcolor: "'+foundcolor+'",\n\
+            default_version: "'+polemic_version+'",\n\
+            max_elements: "'+polemic_max_elements+'",\n';
+        
+        if(polemics_list) {
+            widget_code+='\
+            polemics: '+polemics_list+'\n';
+        }
+
+        widget_code+='\
+        }';
+    }
+
+    if(sparkline_val.checked){
+        var linecolor=$j("#sparkline_line_color").val(),
+            fillcolor=$j("#sparkline_fill_color").val();
+        widget_code+=',{\n\
+            type: "Sparkline",\n\
+            lineColor: "'+linecolor+'",\n\
+            fillColor: "'+fillcolor+'"\n\
+            }';
+    }
+
+    if(segments_val.checked){
+        widget_code+=',{\n\
+            type: "Segments",\n';
+        var segments_annotation_types_val=document.getElementById('segments_annotation_types');
+
+        if(segments_annotation_types_val.value){
+            var segments_annotation_types_array=segments_annotation_types_val.value.split(",")
+            widget_code+='\
+                annotation_type: [';
+            for (var i=0; i<segments_annotation_types_array.length; i++){
+                widget_code+='"'+segments_annotation_types_array[i]+'"'
+                if (i!=segments_annotation_types_array.length-1){
+                    widget_code+=','
+                }
+            }
+            widget_code+='],\n';
+        }
+        else {
+            widget_code+='annotation_type: false\n';
+        }
+        widget_code+='}';
+    }
+    if(multisegments_val.checked){
+        widget_code+=',{\n\
+            type: "MultiSegments",\n\
+            }';
+    }
+
+    if(createannotation_val.checked) {
+
+        var tag_titles = ($j('input[name=annotation_tag]:checked').attr('id') === 'set_tags') ? $j('#tag_list').val() : false;
+        var show_mic_record = $j("#show_mic_record_checkbox").prop('checked');
+        var createannotation_polemics = $j('#createannotation_polemics_checkbox').prop('checked');
+        var createannotation_annotation_types = $j('#createannotation_annotation_types').val();
+
+        widget_code +=
+        ',\n{\n' +
+        '  type: "CreateAnnotation",\n' +
+        '  api_endpoint_template: "'+ annotation_api +'",\n' +
+        '  after_send_timeout: 8000,\n' +
+        '  tag_titles : ' + ( (tag_titles || tag_titles === "") ? JSON.stringify(tag_titles.split(',')) : 'false') + ',\n' +
+        '  show_mic_record : ' +  (show_mic_record ? 'true' : 'false') + ',\n' +
+        '  close_after_send: false,\n' +
+        '  slice_annotation_type: ' + (createannotation_annotation_types ? JSON.stringify(createannotation_annotation_types.split(',')) : '["chap","découpage"]') + ',\n' +
+        '  creator_avatar: "https://si0.twimg.com/sticky/default_profile_images/default_profile_1_normal.png",\n' +
+        ((!createannotation_polemics) ? '  polemics: []' : '') + '\n'
+        + '}\n';
+    }
+
+    if(slideshare_val.checked){
+        widget_code+='\
+            ,{\n\
+            type: "Slideshare",\n\
+            container: "Slideshare_ext",\n\
+            embed_width: 400,\n\
+            embed_height: 334,\n\
+            annotation_type: "slide"\n\
+            }';
+    }
+
+    if(social_val.checked){
+        var show_url=document.getElementById("show_url_checkbox"),
+            show_twitter=document.getElementById("show_twitter_checkbox"),
+            show_fb=document.getElementById("show_fb_checkbox"),
+            show_gplus=document.getElementById("show_gplus_checkbox"),
+            show_mail=document.getElementById("show_mail_checkbox");
+
+        widget_code+='\
+            ,{\n\
+            type: "Social",\n\
+            container: "Social_ext",\n\
+            url: document.location.href.replace(/#.*$/,""),\n\
+            text: document.title,\n';
+
+        if(show_url.checked){
+            widget_code+='\
+                show_url: true,\n';
+        }
+        else{
+            widget_code+='\
+                show_url: false,\n';
+        }
+        if(show_twitter.checked){
+            widget_code+='\
+                show_twitter: true,\n';
+        }
+        else{
+            widget_code+='\
+                show_twitter: false,\n';
+        }
+        if(show_fb.checked){
+            widget_code+='\
+                show_fb: true,\n';
+        }
+        else{
+            widget_code+='\
+                show_fb: false,\n';
+        }
+        if(show_gplus.checked){
+            widget_code+='\
+                show_gplus: true,\n';
+        }
+        else{
+            widget_code+='\
+                show_gplus: false,\n';
+        }
+        if(show_mail.checked){
+            widget_code+='\
+                show_mail: true\n';
+        }
+        else{
+            widget_code+='\
+                show_mail: false\n';
+        }
+
+        widget_code+='}';
+    }
+    if(annotation_val.checked){
+        widget_code+='\
+            ,{\n\
+            type: "Annotation",\n\
+            start_minimized: true,\n\
+            site_name : "Lignes de Temps",\n\
+            annotation_type: ["chap","découpage"]\n\
+            }';
+    }
+    if(tweet_val.checked){
+        widget_code+='\
+            ,{\n\
+            type: "Tweet",\n\
+            hide_timeout: 5000\n\
+            }';
+    }
+
+    if(annotationslist_val.checked){
+        widget_code+=',{\n\
+            type: "AnnotationsList",\n\
+            ajax_url: "'+segment_api+'",\n\
+            container: "AnnotationsList_ext",\n\
+            ajax_granularity : 300000,\n\
+            default_thumbnail : "'+default_thumbnail+'",\n\
+            show_audio: true,\n\
+            rtmp_streamer: "rtmp://media.iri.centrepompidou.fr/ddc_micro_record/"\n\
+            }';
+    }
+
+    if(tagcloud_val.checked){
+        widget_code+=',{\n\
+            type: "Tagcloud",\n\
+            }';
+    }
+
+    widget_code+=']\n\
+        };\n';
+
+    return widget_code;
+
+}
+
+function generate_div_code(){
+    var annotationslist_val=document.getElementById('annotations_list_checkbox');
+    var slideshare_val=document.getElementById('slideshare_checkbox');
+    var social_val=document.getElementById('social_checkbox');
+    var code = generate_base_embed_code();
+    code += generate_widget_code();
+    code += '\n\
+          _myPlayer = new IriSP.Metadataplayer(_config);\n\
+        }\n\
+        waitForIriSP(startPlayer);\n\
+        </script>\n';
+    if(social_val.checked){
+        code+='\
+            <div id="Social_ext" class="Ldt-TraceMe Ldt-Widget" style="float:right; width:400px; height:24px;" widget-type="Social">\n\
+            </div>\n';
+    }
+    if(slideshare_val.checked){
+        code+='\
+            <div id="Slideshare_ext" class="ext_widget Ldt-TraceMe Ldt-Widget" style="float:left; width:400px;" widget-type="Slideshare">\n\
+            </div>\n';
+    }
+
+    if(annotationslist_val.checked){
+        code+='\
+            <div id="AnnotationsList_ext" class="ext_widget Ldt-TraceMe Ldt-Widget" style="float:left; width:400px;" widget-type="AnnotationsList"></div>\n';
+    }
+
+    code+='\
+        </div>\n';
+    return code;
+}
+
+function put_new_code(){
+    var type_embed=document.getElementById("type_embed_div");
+    var wrapper = "wrapper_"+player_id;
+    var wrapper_id = "#"+wrapper;
+    var element = document.getElementById(wrapper);
+    var code_embed=document.getElementById("player_id_code");
+    if(type_embed.checked){
+        var new_code=generate_div_code();
+    }
+    else{
+        var new_code=generate_iframe_code();
+    }
+    code_embed.value= new_code;
+    $j("#player_id_code").select();
+}
+
+function div_event(){
+    //$j("#createannotation_block").toggle(true);
+    var wrapper="wrapper_"+player_id;
+    var element = document.getElementById(wrapper);
+    var createannotation_val=document.getElementById('createannotation_checkbox');
+    createannotation_val.checked=false;
+    $j("#createannotation_options").toggle(false);
+    $j("#multisegments_block").toggle(true);
+    put_new_code();
+}
+
+function toggle() {
+    var wrapper="wrapper_"+player_id;
+    var wrapper_id="#"+wrapper;
+    var player_div = document.getElementById("player_div");
+    var element = document.getElementById(wrapper);
+    var text = document.getElementById("displayPlayer");
+    var type_embed=document.getElementById("type_embed_div");
+    var refresh_player_button = $j('#refresh_player_button');
+    if(player_div.style.display==="none") {
+        if (type_embed.checked){
+            var new_code=generate_div_code();
+            $j(wrapper_id).html(new_code);
+        }
+        else{
+            display_iframe_player();
+        }
+        player_div.style.display="block";
+        refresh_player_button.show();
+        text.innerHTML = translate_hide;
+    }
+    else {
+        $j(wrapper_id).html('');
+        player_div.style.display="none";
+        refresh_player_button.hide();
+        text.innerHTML = translate_show;
+    }
+}
+
+function display_polemic(){
+    $j("#displayPolemicOptions").slideToggle("fast");
+    $j("#polemic_color_options").toggle(false);
+}
+
+function display_segments(){
+    $j("#displaySegmentsOptions").slideToggle("fast");
+}
+
+function display_sparkline(){
+    $j("#displaySparklineOptions").slideToggle("fast");
+    $j("#sparkline_color_options").toggle(false);
+}
+
+function display_social(){
+    $j("#social_options").slideToggle("fast");
+}
+
+function display_createannotation(){
+    $j("#createannotation_options").slideToggle("fast");
+}
+
+function mode1(){
+    var annotationslist_val=document.getElementById('annotations_list_checkbox');
+    var slideshare_val=document.getElementById('slideshare_checkbox');
+    var social_val=document.getElementById('social_checkbox');
+    var annotation_val=document.getElementById('annotation_checkbox');
+    var tweet_val=document.getElementById('tweet_checkbox');
+    var segments_val=document.getElementById('segments_checkbox');
+    var multisegments_val=document.getElementById('multisegments_checkbox');
+    var polemic_val=document.getElementById('polemic_checkbox');
+    var sparkline_val=document.getElementById('sparkline_checkbox');
+    var tagcloud_val=document.getElementById('tagcloud_checkbox');
+    var createannotation_val=document.getElementById('createannotation_checkbox');
+
+    var type_embed=document.getElementById("type_embed_div");
+
+    if(type_embed.checked){
+        createannotation_val.checked=false;
+    }
+    else{
+        $j("#createannotation_options").toggle(true);
+        createannotation_val.checked=true;
+        var show_mic_record_val = document.getElementById('show_mic_record_checkbox');
+        show_mic_record_val.checked=false;
+    }
+    $j("#displaySegmentsOptions").toggle(false);
+    $j("#displayPolemicOptions").toggle(false);
+    $j("#displaySparklineOptions").toggle(false);
+    $j("#social_options").toggle(false);
+    $j("#sparkline_color_options").toggle(false);
+    display_segments();
+
+    segments_val.checked=true;
+    multisegments_val.checked=false;
+    polemic_val.checked=false;
+    annotationslist_val.checked=false;
+    slideshare_val.checked=false;
+    social_val.checked=false;
+    annotation_val.checked=false;
+    tweet_val.checked=false;
+    sparkline_val.checked=false;
+    tagcloud_val.checked=false;
+    put_new_code();
+}
+
+function mode2(){
+    var annotationslist_val=document.getElementById('annotations_list_checkbox');
+    var slideshare_val=document.getElementById('slideshare_checkbox');
+    var social_val=document.getElementById('social_checkbox');
+    var annotation_val=document.getElementById('annotation_checkbox');
+    var tweet_val=document.getElementById('tweet_checkbox');
+    var segments_val=document.getElementById('segments_checkbox');
+    var multisegments_val=document.getElementById('multisegments_checkbox');
+    var polemic_val=document.getElementById('polemic_checkbox');
+    var sparkline_val=document.getElementById('sparkline_checkbox');
+    var tagcloud_val=document.getElementById('tagcloud_checkbox');
+    var createannotation_val=document.getElementById('createannotation_checkbox');
+    var type_embed=document.getElementById("type_embed_div");
+    $j("#displaySegmentsOptions").toggle(false);
+    $j("#displayPolemicOptions").toggle(false);
+    $j("#displaySparklineOptions").toggle(false);
+    $j("#social_options").toggle(false);
+    $j("#sparkline_color_options").toggle(false);
+    display_segments();
+    display_polemic();
+    display_sparkline();
+
+    if(type_embed.checked){
+        createannotation_val.checked=false;
+        multisegments_val.checked=false;
+    }
+    else{
+        $j("#createannotation_options").toggle(true);
+        createannotation_val.checked=true;
+        var show_mic_record_val = document.getElementById('show_mic_record_checkbox');
+        show_mic_record_val.checked=false;
+
+    }
+    polemic_val.checked=true;
+    segments_val.checked=true;
+    multisegments_val.checked=false;
+    annotationslist_val.checked=false;
+    slideshare_val.checked=false;
+    social_val.checked=false;
+    annotation_val.checked=true;
+    sparkline_val.checked=true;
+    tweet_val.checked=false;
+    tagcloud_val.checked=false;
+    put_new_code();
+
+}
+
+function mode3(){
+    var annotationslist_val=document.getElementById('annotations_list_checkbox');
+    var slideshare_val=document.getElementById('slideshare_checkbox');
+    var social_val=document.getElementById('social_checkbox');
+    var annotation_val=document.getElementById('annotation_checkbox');
+    var tweet_val=document.getElementById('tweet_checkbox');
+    var segments_val=document.getElementById('segments_checkbox');
+    var multisegments_val=document.getElementById('multisegments_checkbox');
+    var polemic_val=document.getElementById('polemic_checkbox');
+    var sparkline_val=document.getElementById('sparkline_checkbox');
+    var tagcloud_val=document.getElementById('tagcloud_checkbox');
+    var createannotation_val=document.getElementById('createannotation_checkbox');
+    var type_embed=document.getElementById("type_embed_div");
+    $j("#displaySegmentsOptions").toggle(false);
+    $j("#displayPolemicOptions").toggle(false);
+    $j("#displaySparklineOptions").toggle(false);
+    $j("#social_options").toggle(false);
+    $j("#sparkline_color_options").toggle(false);
+    display_segments();
+    display_polemic();
+    display_social();
+    display_sparkline();
+    if(type_embed.checked){
+        createannotation_val.checked=false;
+    }
+    else{
+        $j("#createannotation_options").toggle(true);
+        createannotation_val.checked=true;
+        var show_mic_record_val = document.getElementById('show_mic_record_checkbox');
+        show_mic_record_val.checked=false;
+    }
+    polemic_val.checked=true;
+    segments_val.checked=true;
+    multisegments_val.checked=false;
+    annotationslist_val.checked=true;
+    slideshare_val.checked=false;
+    social_val.checked=true;
+    annotation_val.checked=true;
+    tweet_val.checked=false;
+    sparkline_val.checked=true;
+    tagcloud_val.checked=true;
+    put_new_code();
+
+}
+function iframe_event() {
+    var wrapper="wrapper_"+player_id;
+    $j("#createannotation_options").toggle(true);
+    var element = document.getElementById(wrapper);
+    var createannotation_val=document.getElementById('createannotation_checkbox');
+    createannotation_val.checked=true;
+    if(element.style.display=="block"){
+        display_iframe_player();
+    }
+    var iframe_code=generate_iframe_code();
+    $j("#player_id_code").val(iframe_code);
+    $j("#player_id_code").select();
+
+}
+
+function generate_iframeUrl(){
+    var createannotation_val=document.getElementById('createannotation_checkbox');
+    var annotationslist_val=document.getElementById('annotations_list_checkbox');
+    var slideshare_val=document.getElementById('slideshare_checkbox');
+    var social_val=document.getElementById('social_checkbox');
+    var annotation_val=document.getElementById('annotation_checkbox');
+    var tweet_val=document.getElementById('tweet_checkbox');
+    var segments_val=document.getElementById('segments_checkbox');
+    var multisegments_val=document.getElementById('multisegments_checkbox');
+    var polemic_val=document.getElementById('polemic_checkbox');
+    var sparkline_val=document.getElementById('sparkline_checkbox');
+    var tagcloud_val=document.getElementById('tagcloud_checkbox');
+    var createannotation_polemics_val=document.getElementById('createannotation_polemics_checkbox');
+    var concatenate_projects_val=document.getElementById('concatenate_projects_checkbox');
+    var autostart_val=document.getElementById('autostart_checkbox');
+    var iframeUrl=iframe_url;
+
+    if($j("#player_height").val()!=300)
+        iframeUrl+="&player_height="+$j("#player_height").val();
+    if ($j("#player_width").val()!=550)
+        iframeUrl+="&player_width="+$j("#player_width").val();
+
+    if(createannotation_val.checked){
+        iframeUrl+="&createannotation=True";
+        var show_mic_record_val = document.getElementById('show_mic_record_checkbox');
+        var set_tags_val=document.getElementById('set_tags');
+        var createannotation_annotation_types = $j('#createannotation_annotation_types').val();
+        if(show_mic_record_val.checked){
+            iframeUrl+="&show_mic_record=True";
+        }
+        if(set_tags_val.checked){
+            iframeUrl+="&tag_titles="+$j("#tag_list").val();
+        }
+        if(!createannotation_polemics_val.checked){
+            iframeUrl+="&createannotation_polemics=False";
+        }
+        if(createannotation_annotation_types) {
+            iframeUrl += "&createannotation_annotation_types="+createannotation_annotation_types;
+        }
+    }
+    if (polemic_val.checked){
+        var polemic_annotation_types_val=document.getElementById("polemic_annotation_types");
+        if(polemic_annotation_types_val.value){
+            iframeUrl+="&polemic="+polemic_annotation_types_val.value;
+        }
+        else{
+            iframeUrl+="&polemic=all";
+        }
+        var polemic_version_val=document.getElementById("polemic_version");
+        if(polemic_version_val.value){
+            iframeUrl+="&polemic_version="+polemic_version_val.value;
+        }
+        else{
+            iframeUrl+="&polemic_version=1";
+        }
+        var polemic_max_elements_val=document.getElementById("polemic_max_elements");
+        if(polemic_max_elements_val.value) {
+            iframeUrl+="&polemic_max_elements="+polemic_max_elements_val.value;
+        }
+        else{
+            iframeUrl+="&polemic_max_elements=50";
+        }
+        var polemic_defaultColor=$j("#polemic_default_color").val(),
+            defaultColor_code_array= polemic_defaultColor.split("#"),
+            defaultColor_code=defaultColor_code_array[1],
+            polemic_foundColor=$j("#polemic_found_color").val(),
+            foundColor_code_array = polemic_foundColor.split("#"),
+            foundColor_code=foundColor_code_array[1],
+            polemic_okColor =$j("#polemic_ok_color").val(),
+            polemic_okColor_code_array=polemic_okColor.split("#"),
+            okColor_code=polemic_okColor_code_array[1],
+            polemic_koColor =$j("#polemic_ko_color").val(),
+            polemic_koColor_code_array=polemic_koColor.split("#"),
+            koColor_code=polemic_koColor_code_array[1],
+            polemic_refColor =$j("#polemic_ref_color").val(),
+            polemic_refColor_code_array=polemic_refColor.split("#"),
+            refColor_code=polemic_refColor_code_array[1],
+            polemic_qColor =$j("#polemic_q_color").val(),
+            polemic_qColor_code_array=polemic_qColor.split("#"),
+            qColor_code=polemic_qColor_code_array[1];
+        if(defaultColor_code!="585858")
+            iframeUrl+="&polemic_defaultColor="+defaultColor_code;
+        if(foundColor_code!="fc00ff")
+            iframeUrl+="&polemic_foundColor="+foundColor_code;
+        if(okColor_code!="1d973d")
+            iframeUrl+="&polemic_okColor="+okColor_code;
+        if(koColor_code!="ce0a15")
+            iframeUrl+="&polemic_koColor="+koColor_code;
+        if(refColor_code!="c5a62d")
+            iframeUrl+="&polemic_refColor="+refColor_code;
+        if(qColor_code!="036aae")
+            iframeUrl+="&polemic_qColor="+qColor_code;
+
+    }
+    if(annotationslist_val.checked){
+        iframeUrl+="&annotations_list=True";
+    }
+    if(annotation_val.checked){
+        iframeUrl+="&annotation=True";
+    }
+    if(slideshare_val.checked){
+        iframeUrl+="&slideshare=True";
+    }
+    if(social_val.checked){
+        var show_url=document.getElementById("show_url_checkbox"),
+            show_twitter=document.getElementById("show_twitter_checkbox"),
+            show_fb=document.getElementById("show_fb_checkbox"),
+            show_gplus=document.getElementById("show_gplus_checkbox"),
+            show_mail=document.getElementById("show_mail_checkbox");
+        iframeUrl+="&social=True";
+        if(!show_url.checked){
+            iframeUrl+="&show_url=False";
+        }
+        if(!show_twitter.checked){
+            iframeUrl+="&show_twitter=False";
+        }
+        if(!show_fb.checked){
+            iframeUrl+="&show_fb=False";
+        }
+        if(!show_gplus.checked){
+            iframeUrl+="&show_gplus=False";
+        }
+        if(!show_mail.checked){
+            iframeUrl+="&show_mail=False";
+        }
+    }
+    if(tweet_val.checked){
+        iframeUrl+="&tweet=True";
+    }
+    if(!segments_val.checked){
+        iframeUrl+="&segments=False";
+    }
+    else{
+        var segments_annotation_types_val=document.getElementById("segments_annotation_types");
+        if (segments_annotation_types_val.value){
+            iframeUrl+="&segments_annotation_types="+segments_annotation_types_val.value
+        }
+    }
+    if(multisegments_val.checked){
+        iframeUrl+="&multisegments=True"
+    }
+    if(sparkline_val.checked){
+        iframeUrl+="&sparkline=True";
+        var sparkline_lineColor=$j("#sparkline_line_color").val(),
+            lineColor_code_array= sparkline_lineColor.split("#"),
+            lineColor_code=lineColor_code_array[1],
+            sparkline_fillColor=$j("#sparkline_fill_color").val(),
+            fillColor_code_array = sparkline_fillColor.split("#"),
+            fillColor_code=fillColor_code_array[1];
+        if(lineColor_code!="7492b4")
+            iframeUrl+="&sparkline_lineColor="+lineColor_code;
+        if(fillColor_code!="aeaeb8")
+            iframeUrl+="&sparkline_fillColor="+fillColor_code;
+    }
+    if(tagcloud_val.checked){
+        iframeUrl+="&tagcloud=True";
+    }
+    if(concatenate_projects_val.checked){
+        iframeUrl+="&concatenate_projects=True";
+    }
+    if(autostart_val.checked){
+        iframeUrl+="&autostart=True";
+    }
+
+    return iframeUrl;
+}
+
+function generate_iframe_code(){
+    var createannotation_val=document.getElementById('createannotation_checkbox');
+    var annotationslist_val=document.getElementById('annotations_list_checkbox');
+    var polemic_val=document.getElementById('polemic_checkbox');
+    var slideshare_val=document.getElementById('slideshare_checkbox');
+    var show_mic_record_val = document.getElementById('show_mic_record_checkbox');
+    var iframeUrl=generate_iframeUrl();
+    var player_width=parseInt($j("#player_width").val())+20;
+    var player_height=parseInt($j("#player_height").val())+130;
+    if (createannotation_val.checked){
+        player_height+=281;
+    }
+    if(annotationslist_val.checked || slideshare_val.checked){
+        player_width+=430;
+    }
+    if(polemic_val.checked){
+        player_height+=100;
+
+    }
+    if(show_mic_record_val.checked){
+
+        player_height+=55;
+    }
+
+
+    return "<iframe src='"+iframeUrl+"' width='"+player_width+"' height='"+player_height+"' seamless='seamless'></iframe>";
+}
+
+function display_iframe_player(){
+    var createannotation_val=document.getElementById('createannotation_checkbox');
+    var annotationslist_val=document.getElementById('annotations_list_checkbox');
+    var polemic_val=document.getElementById('polemic_checkbox');
+    var slideshare_val=document.getElementById('slideshare_checkbox');
+    var show_mic_record_val = document.getElementById('show_mic_record_checkbox');
+    var code_embed=document.getElementById("player_id_code");
+    var wrapper = "wrapper_"+player_id;
+    var wrapper_id = "#"+wrapper;
+    var iframeUrl= generate_iframeUrl();
+    var player_width=parseInt($j("#player_width").val())+20;
+    var player_height=parseInt($j("#player_height").val())+130;
+    if (createannotation_val.checked){
+        player_height+=300;
+        player_width+=50;
+    }
+    if(annotationslist_val.checked || slideshare_val.checked){
+        player_width+=430;
+    }
+    if(polemic_val.checked){
+        player_height+=100;
+
+    }
+    if(show_mic_record_val.checked){
+
+        player_height+=55;
+    }
+    var frame = document.createElement("iframe");
+    frame.width = player_width;
+    frame.height = player_height;
+    frame.src = iframeUrl;
+    frame.frameBorder = 0;
+    frame.seamless = "seamless";
+    $j(wrapper_id).html(frame);
+}
+
+function set_default_color(code){
+    $j("#polemic_default_color").val("#"+code);
+    put_new_code();
+}
+
+function set_found_color(code){
+    $j("#polemic_found_color").val("#"+code);
+    put_new_code();
+}
+
+function set_line_color(code){
+    $j("#sparkline_line_color").val("#"+code);
+    put_new_code();
+}
+
+function set_fill_color(code){
+    $j("#sparkline_fill_color").val("#"+code);
+    put_new_code();
+}
+
+function refresh_player(){
+    var wrapper = "wrapper_"+player_id;
+    var wrapper_id = "#"+wrapper;
+    var type_embed=document.getElementById("type_embed_div");
+    if (type_embed.checked){
+        var new_code=generate_div_code();
+        $j(wrapper_id).html(new_code);
+    }
+    else{
+        display_iframe_player();
+    }
+}