# HG changeset patch # User Anthony Ly # Date 1352199683 -3600 # Node ID e05bf75a29f6b5d846aacfcea368121508ec9d45 # Parent 8540daf61fb0c6672230f90753c41df7d0c15143# Parent 379635f45d7ff7589d66e54cce9a240ddfba9a76 Merge hashcut diff -r 379635f45d7f -r e05bf75a29f6 .hgcheck/hg-checklink-rfoBHS --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/.hgcheck/hg-checklink-rfoBHS Tue Nov 06 12:01:23 2012 +0100 @@ -0,0 +1,1 @@ +. \ No newline at end of file diff -r 379635f45d7f -r e05bf75a29f6 integration/css/common.css --- a/integration/css/common.css Tue Nov 06 11:48:54 2012 +0100 +++ b/integration/css/common.css Tue Nov 06 12:01:23 2012 +0100 @@ -83,7 +83,7 @@ height: 53px; margin-bottom: 1px; } -/* header */ +/* header - title-video-wrap */ .title-video-wrap{ width: 460px; } @@ -99,6 +99,7 @@ background-repeat: no-repeat; background-position: right 2px; padding-right: 20px; + min-height: 20px; } .title-header{ width: 460px; @@ -477,22 +478,17 @@ /* frise */ .frise{ height: 22px; - overflow: hidden; position: relative; border: 1px solid #333333; } -.frise-segments,.frise-indications{ - width: 100%; - height: 100%; - position: absolute; - top: 0; - left: 0; + +.frise-overflow { + position: absolute; top: 0; left: 0; width: 100%; height: 100%; overflow: hidden; } -.frise-indications{ - z-index: 2; +.bloc-pvw .frise { + margin: 7px 5px 2px; } - .aucun-segment{ font-weight: 600; font-style: italic; @@ -520,6 +516,10 @@ .frise-segment:last-child{ background-image: none; } +.frise-segment.active { + background-image: url(../img/pinstripe-purple.png); + background-repeat: repeat; +} .frise-indication{ height: 22px; line-height: 22px; @@ -535,7 +535,8 @@ margin-left: -15px; } .frise-position { - width: 1px; margin-left: -0.5px; position: absolute; height: 100%; background: #FF00FC; + width: 1px; top: -8px; bottom: 0; margin-left: -0.5px; position: absolute; + z-index: 3; background: #FF00FC; } /* col-middle - bloc-segmentation - popin.segmentation */ @@ -557,123 +558,6 @@ overflow: hidden; } -.segmentation h2{ - font-size: 14px; - font-weight: 600; - color:#de2500; - margin-bottom: 10px; -} - -.time-tangle { - color: #7628df; cursor: w-resize; position: relative; -} -.time-tangle:hover, -.time-tangle.active { - color: #FF00FC; border-bottom: 1px dashed #7628df; -} -.time-tangle:hover:after, -.time-tangle.active:after { - color: #7628DF; position: absolute; top: 18px; left: 50%; width: 160px; - margin-left: -80px; font-size: 12px; text-align: center; - content: "glisser pour modifier" -} - -.time-tangle.deactivate:hover { - border: none; color: #7628DF; -} - -.time-tangle.deactivate:hover:after { - display: none; -} - -.segmentation form{ - overflow: hidden; -} -.form-segment-left, -.form-segment-right{ - float: left; -} -.segmentation .form-segment-left{ - width: 228px; -} -.segmentation form p{ - margin-bottom: 8px; -} -.segmentation label{ - display: block; - font-size: 12px; - font-weight: 600; - margin-bottom: 4px; -} -.segmentation textarea{ - width: 200px; - height: 66px; - max-width: 200px; - font-size: 12px; -} -.segmentation input[type=text]{ - font-size: 12px; - width: 200px; - height: 20px; -} - -.add-segment { - float: right; margin: 4px 0; -} -.media-segments h2{ - color: #30036d; - font-size: 14px; - font-weight: 600; - margin: 10px 8px 2px; -} - -.media-segment { - height: 8px; - margin: 8px 6px 0; - background-color: #b6b8b8; - position: relative; -} -.media-section { - position: absolute; -} -.media-segment-section { - top: 0; height: 8px; -} - -.media-current-section { - background: url(../img/pinstripe-purple.png); - top: -2px; height: 2px; -} - -.media-current-section-inner { - background: url(../img/pinstripe-purple.png); - margin-top: 10px; height: 2px; -} -.media-segment .pointer{ - margin-left: 140px -} -.media-segment-popin { - padding-top: 12px; overflow: hidden; - top: 2px; width: 300px; margin-left: -151px; - display: none; -} -.media-segment-popin h3{ - padding: 0; - color: #de2500; - margin-bottom: 4px; - font-weight: 600; -} -.media-segment-popin p{ - margin-right: 155px; - font-size: 12px; -} -.media-segment-popin span{ - color: #7628df; -} -.reprendre-segment{ - float: right; - display: block; -} /* popin - frise-description */ .annotation-title { @@ -681,11 +565,6 @@ font-size: 14px; font-weight: bold; } -.annotation-media-title{ - font-size: 12px; - color: #30036d; - font-weight: 600; -} .annotation-time { color: #7628DF; } @@ -711,7 +590,19 @@ float: right; } - +.video { + background: #333333; + position: relative; +} +.video-wait { + display: none; + position: absolute; left: 0; top: 0; width: 100%; height: 100%; + background-color: rgba(120, 120, 140, .6); + background-image: url(../img/reel.gif); + background-position: center; + background-repeat: no-repeat; + z-index: 3; +} .widget { position: relative; } @@ -726,10 +617,11 @@ background: -webkit-linear-gradient(left, #747474 50%, #B6B8B8 50%); border-top: 1px solid #969696; height: 4px; + position: relative; z-index: 5; } .Ldt-Slider { - border: none; border-radius: 0; padding: 0; margin: 0 6px; height: 100%; background: #B6B8B8; + border: none; border-radius: 0; padding: 0; height: 100%; background: #B6B8B8; } .Ldt-Slider .ui-slider-handle { @@ -742,7 +634,7 @@ .Ldt-Slider-Time { position: absolute; top: -16px; background: #ffffc0; color: #000000; border-radius: 3px; z-index: 8; - font-size: 10px; width: 34px; border: 1px solid #999999; padding: 1px; margin-left: -20px; + font-size: 10px; width: 34px; border: 1px solid #999999; padding: 1px; margin-left: -14px; display: none; text-align: center; font-weight: bold; } @@ -922,35 +814,4 @@ .Ldt-Ctrl-Volume-Control:hover .ui-slider-handle { background: #F7268E; -} - -/* Slice Widget */ - -.Ldt-Slice { - border-radius: 0; border: none; padding: 0; margin: 12px 6px; background: #B6B8B8; height: 8px; -} - -.Ldt-Slice .ui-slider-handle { - width: 7px; height: 20px; top: 0; border: none; margin: 0; padding: 0; - background: url(../img/slice-handles.png); border-radius: 0; cursor: pointer; -} - -.ui-slider-handle.Ldt-Slice-left-handle { - margin-left: -7px; -} - -.ui-slider-handle.Ldt-Slice-left-handle.ui-state-hover, .ui-slider-handle.Ldt-Slice-left-handle.ui-state-active { - background-position: 0 -20px; -} - -.ui-slider-handle.Ldt-Slice-right-handle { - margin-left: 0; background-position: -7px 0; -} - -.ui-slider-handle.Ldt-Slice-right-handle.ui-state-hover, .ui-slider-handle.Ldt-Slice-right-handle.ui-state-active { - background-position: -7px -20px; -} - -.Ldt-Slice .ui-slider-range { - background: url(../img/pinstripe-purple.png); -} +} \ No newline at end of file diff -r 379635f45d7f -r e05bf75a29f6 integration/css/edition.css --- a/integration/css/edition.css Tue Nov 06 11:48:54 2012 +0100 +++ b/integration/css/edition.css Tue Nov 06 12:01:23 2012 +0100 @@ -8,8 +8,23 @@ } /* header - title-video-wrap */ - - +.title-video-wrap{ + width: 460px; +} +.title-video-wrap a{ + position: absolute; + top: 10px; + left: 0; + font-size: 18px; + font-weight: bold; + color: #30036d; + text-decoration: underline; + background-image: url(../img/pencil-icon.png); + background-repeat: no-repeat; + background-position: right 2px; + padding-right: 20px; + min-height: 20px; +} .title-video-wrap a:hover{ text-decoration: none; } @@ -108,20 +123,139 @@ display: none; } - /* col-middle - bloc-segmentation */ .bloc-segmentation{ position: relative; } -.bloc-pvw .frise { - margin: 7px 5px 2px; +/* col-middle - bloc-segmentation - popin.segmentation */ + +.segmentation h2{ + font-size: 14px; + font-weight: 600; + color:#de2500; + margin-bottom: 10px; +} + +.time-tangle { + color: #7628df; cursor: w-resize; position: relative; +} +.time-tangle:hover, +.time-tangle.active { + color: #FF00FC; border-bottom: 1px dashed #7628df; +} +.time-tangle:hover:after, +.time-tangle.active:after { + color: #7628DF; position: absolute; top: 18px; left: 50%; width: 160px; + margin-left: -80px; font-size: 12px; text-align: center; + content: "glisser pour modifier" +} + +.time-tangle.deactivate:hover { + border: none; color: #7628DF; +} + +.time-tangle.deactivate:hover:after { + display: none; +} + +.segmentation form{ + overflow: hidden; +} +.form-segment-left, +.form-segment-right{ + float: left; +} +.segmentation .form-segment-left{ + width: 228px; +} +.segmentation form p{ + margin-bottom: 8px; +} +.segmentation label{ + display: block; + font-size: 12px; + font-weight: 600; + margin-bottom: 4px; +} +.segmentation textarea{ + width: 200px; + height: 66px; + max-width: 200px; + font-size: 12px; +} +.segmentation input[type=text]{ + font-size: 12px; + width: 200px; + height: 20px; +} + +.add-segment { + float: right; margin: 4px 0; +} +.media-segments h2{ + color: #30036d; + font-size: 14px; + font-weight: 600; + margin: 10px 8px 2px; +} + +.media-segment { + height: 8px; + margin: 8px 6px 0; + background-color: #b6b8b8; + position: relative; +} +.media-section { + position: absolute; +} +.media-segment-section { + top: 0; height: 8px; +} + +.media-current-section { + background: url(../img/pinstripe-purple.png); + top: -2px; height: 2px; +} + +.media-current-section-inner { + background: url(../img/pinstripe-purple.png); + margin-top: 10px; height: 2px; +} +.media-segment .pointer{ + margin-left: 140px +} +.media-segment-popin { + padding-top: 12px; overflow: hidden; + top: 2px; width: 300px; margin-left: -151px; + display: none; +} +.media-segment-popin h3{ + padding: 0; + color: #de2500; + margin-bottom: 4px; + font-weight: 600; +} +.media-segment-popin p{ + margin-right: 155px; + font-size: 12px; +} +.media-segment-popin span{ + color: #7628df; +} +.reprendre-segment{ + float: right; + display: block; } /* col-middle - bloc-vide */ .tutorial{ padding: 0 10px; color: #FFF; font-weight: 600; + display: none; +} +.empty-mode .tutorial { + display: block; } .tutorial h2{ padding-top: 16px; @@ -131,10 +265,10 @@ .tutorial ol{ padding-left: 22px; } -.tutorial ol li:first-child{ +.tutorial li:first-child{ width: 324px; } -.tutorial ol li{ +.tutorial li{ list-style: decimal; font-size: 14px; margin-bottom: 16px; @@ -147,51 +281,40 @@ min-height: 750px; background: url(../img/bg-col.png) repeat-x 0 0 #e6e6e6; } -.col-left form{ +.left-head { background: url(../img/bg-video-search.png) 0 0 repeat-x #906ebe; height: 70px; padding-left: 10px; margin-bottom: 1px; } -.col-left form h2{ +.left-head h2{ padding-top: 8px; margin-bottom: 12px; color: #30036d; font-size: 16px; font-weight: 600; } -.col-left input[type=text]{ - width: 206px; +.left-head input { + width: 222px; font-size: 14px; border: none; height: 20px; - padding: 0 20px 0 4px; + padding: 0 4px; -webkit-border-radius: 4px; -moz-border-radius: 4px; border-radius: 4px; + background: #FFF url(../img/zoom-icon.png) 214px 3px no-repeat; } -.col-left form p{ - position: relative; - width: 230px; -} -.col-left input[type=text]::-webkit-input-placeholder{ + +.col-left input::-webkit-input-placeholder{ color: #b48aed; font-style: italic; } -.col-left input[type=text]:-moz-placeholder { +.col-left input:-moz-placeholder { color: #b48aed; font-style: italic; } -.col-left input[type=submit]{ - position: absolute; - right: 2px; - width: 20px; - top: 0; - height: 20px; - border: none; - z-index: 2; - background: #FFF url(../img/zoom-icon.png) 2px 3px no-repeat; -} + .col-left .item-video:hover, .col-left .item-video.active{ background: url(../img/arrow-item-video-sprite.png) right center no-repeat; @@ -293,10 +416,8 @@ .video{ width: 460px; height: 300px; - position: relative; - background: #333333; } -a.publier-button{ +.publier-button{ position: absolute; width: 69px; height: 67px; @@ -305,13 +426,47 @@ top: 10px; z-index: 4; } -a.publier-button:hover{ +.publier-button:hover{ background-position: 0 -67px; } -a.publier-button.disable{ +.publier-button.disable{ background: url(../img/publier-button-sprite.png) 0 -67px no-repeat; } -a.publier-button.disable:hover{ +.publier-button.disable:hover{ background-color: none; } +/* Slice Widget */ + +.Ldt-Slice { + border-radius: 0; border: none; padding: 0; margin: 12px 6px; background: #B6B8B8; height: 8px; +} + +.Ldt-Slice .ui-slider-handle { + width: 7px; height: 20px; top: 0; border: none; margin: 0; padding: 0; + background: url(../img/slice-handles.png); border-radius: 0; cursor: pointer; +} + +.ui-slider-handle.Ldt-Slice-left-handle { + margin-left: -7px; +} + +.ui-slider-handle.Ldt-Slice-left-handle.ui-state-hover, .ui-slider-handle.Ldt-Slice-left-handle.ui-state-active { + background-position: 0 -20px; +} + +.ui-slider-handle.Ldt-Slice-right-handle { + margin-left: 0; background-position: -7px 0; +} + +.ui-slider-handle.Ldt-Slice-right-handle.ui-state-hover, .ui-slider-handle.Ldt-Slice-right-handle.ui-state-active { + background-position: -7px -20px; +} + +.Ldt-Slider { + margin: 0 6px; +} + +.Ldt-Slice .ui-slider-range { + background: url(../img/pinstripe-purple.png); +} diff -r 379635f45d7f -r e05bf75a29f6 integration/css/hashcut.css --- a/integration/css/hashcut.css Tue Nov 06 11:48:54 2012 +0100 +++ b/integration/css/hashcut.css Tue Nov 06 12:01:23 2012 +0100 @@ -3,7 +3,6 @@ } .more-info-wrap{ padding-right: 10px; - margin-bottom: 6px; } .more-info{ text-align: left; @@ -57,16 +56,11 @@ .item-video .frise{ border:none; } -.item-video .frise-segment{ - background-image: none; -} .bloc-video{ padding-left: 10px; } .video { - background: none repeat scroll 0 0 #333333; height: 400px; - position: relative; width: 620px; } .bloc-pvw{ @@ -75,4 +69,10 @@ .popin-content h2{ margin: 0; border:none; -} \ No newline at end of file +} +.Ldt-Ctrl { + margin-bottom: 6px; +} +.Ldt-Slider { + margin: 0; +} diff -r 379635f45d7f -r e05bf75a29f6 integration/edition.html --- a/integration/edition.html Tue Nov 06 11:48:54 2012 +0100 +++ b/integration/edition.html Tue Nov 06 12:01:23 2012 +0100 @@ -121,13 +121,10 @@
-
+

Sélectionner les vidéos

-

- - -

- + +
@@ -150,6 +147,7 @@
  • Rajoutez quelques commentaires à votre Hashcut. Vous êtes prêts à publier !
  • +
    @@ -237,9 +235,11 @@
    -
    -
    -
    +
    +
    +
    +
    +
    @@ -282,9 +282,11 @@

    Liste des segments

    Aucun segment

    -
    -
    -
    +
    +
    +
    +
    +
    @@ -314,7 +316,6 @@ - diff -r 379635f45d7f -r e05bf75a29f6 integration/hashcut.html --- a/integration/hashcut.html Tue Nov 06 11:48:54 2012 +0100 +++ b/integration/hashcut.html Tue Nov 06 12:01:23 2012 +0100 @@ -158,37 +158,40 @@
    -
    -
    -
    15:0030:0045:001:00:001:15:001:30:001:45:00
    -
    -
    -
    -
    -
    - +
    +
    +
    +
    -
    -

    Segment sans titre

    - - - - - - - - - - - - - - - -
    Extrait de :Firminy, le maire et l'architecte (00:00 - 53:50)
    Description :Extrait de « Firminy, le maire et l'architecte »
    Tags :(fonctionnalité à venir)
    +
    + 15:0030:0045:001:00:001:15:001:30:001:45:00
    -
    +
    + +
    +
    + +
    +

    Segment sans titre

    + + + + + + + + + + + + + + + +
    Extrait de :Firminy, le maire et l'architecte (00:00 - 53:50)
    Description :Extrait de « Firminy, le maire et l'architecte »
    Tags :(fonctionnalité à venir)
    +
    +
    @@ -230,8 +233,10 @@ Par : Bernard Kleindienst Durée : 1:09:00 -
    -
    +
    +
    +
    +
    @@ -243,9 +248,10 @@ Par : Bernard Kleindienst Durée : 1:09:00 -
    -
    -
    +
    +
    +
    +
    @@ -274,16 +280,6 @@ - - - - - - diff -r 379635f45d7f -r e05bf75a29f6 integration/img/reel.gif Binary file integration/img/reel.gif has changed diff -r 379635f45d7f -r e05bf75a29f6 integration/js/editor.js --- a/integration/js/editor.js Tue Nov 06 11:48:54 2012 +0100 +++ b/integration/js/editor.js Tue Nov 06 12:01:23 2012 +0100 @@ -1,5 +1,15 @@ + +IriSP.hc_messages = { + duration_ : "Durée :", + edit_segment: "Éditer le segment", + segment_down: "Descendre le segment", + segment_up: "Remonter le segment", + delete_segment: "Supprimer le segment" +} + IriSP.Hashcut = function(options) { + /* Load Media List */ var directory = new IriSP.Model.Directory(), @@ -10,14 +20,14 @@ mashup = new IriSP.Model.Mashup(false, project), mediatemplate = _.template('
  • <%= title %>' + '<%= title %><%= description %>' - + 'Durée : <%= duration.toString() %>
  • '), + + '<%= IriSP.hc_messages.duration_ %> <%= duration.toString() %>'), segmenttemplate = _.template('
  • ' + '<%= annotation.getMedia().title %>' + '<%= annotation.getMedia().title %>' + '<%= annotation.title %><%= annotation.begin.toString() %> - <%= annotation.end.toString() %> (<%= annotation.getDuration().toString() %>)' - + '
    • ' - + '
  • '), - viztemplate = _.template('
    '), + + '
    • ' + + '
    '), + viztemplate = _.template('
    '), intervaltemplate = _.template('<%= time.toString() %>'), mediasegmenttemplate = _.template('
    ' + '
    ' @@ -79,7 +89,8 @@ var vizdata = { left: k * t, width: k * _s.duration, - color: _s.getMedia().color + color: _s.getMedia().color, + segmentid: _s.annotation.id } vizhtml += viztemplate(vizdata); t += _s.duration.milliseconds; @@ -182,7 +193,6 @@ timeSlider.mousemove(function(_e) { var _x = _e.pageX - timeSlider.offset().left, _t = new IriSP.Model.Time( - currentMedia ? currentMedia.duration * _x / timeSlider.width() : 0 ); timeTooltip.text(_t.toString()).css("left",_x); }); @@ -366,9 +376,15 @@ mashupSegmentEnd, mashupTimecode = 0, mashupSeeking = false, - mashupSeekdiv, + seekdiv = $(".video-wait"), mashupTimedelta; - + + function showSeek() { + if (mashupSeeking) { + seekdiv.show(); + } + } + function changeCurrentAnnotation() { if (mashupTimecode >= mashup.duration) { if (!mashup.paused) { @@ -409,7 +425,7 @@ if (!mashup.paused) { mashupCurrentMedia.play(); mashupSeeking = true; -//TODO: _seekdiv.show(); + setTimeout(showSeek,200); } mashup.trigger("timeupdate", new IriSP.Model.Time(mashupTimecode)); @@ -445,17 +461,16 @@ var addMode; function setMedia(media) { - $(".col-left .item-video").removeClass("active"); - $(".tutorial").hide(); - //TODO: Show Tutorial when Hashcut is empty if (currentMedia) { currentMedia.pause(); } currentMedia = media; if (currentMedia.elementType == "media") { $("video").hide(); - $(".col-left .item-video[data-media-id='" + currentMedia.id + "']").addClass("active"); showSegmentation(); + if (!currentMedia.loaded) { + seekdiv.show(); + } var currentvideo = $('#video_' + currentMedia.id); if (!currentvideo.length) { addMediaPlayer(currentMedia); @@ -491,6 +506,7 @@ $(".annotation-media-title").text(this.getMedia().title); $(".annotation-description").text(this.description); setPointerToCurrentAnnotation(); + highlightCurrentSegment(); } }); } @@ -655,6 +671,9 @@ // Binding UI Events and Mashup Playing to Media media.on("loadedmetadata", function() { + if (media === currentMedia) { + seekdiv.hide(); + } mashup.checkLoaded(); }); @@ -701,7 +720,7 @@ media.seeking = false; if (mashup === currentMedia && media === mashupCurrentMedia && mashupSeeking) { mashupSeeking = false; -//TODO: _seekdiv.hide(); + seekdiv.hide(); } }); @@ -821,6 +840,11 @@ $(".col-middle").removeClass("empty-mode segment-mode").addClass("pvw-mode"); return false; } + function showEmpty() { + $("video").hide(); + $(".col-middle").removeClass("pvw-mode segment-mode").addClass("empty-mode"); + return false; + } $(".tab-pvw").click(function() { if (mashup.segments.length) { @@ -836,17 +860,42 @@ } function highlightCurrentSegment() { - $(".organize-segments .item-video").removeClass("active"); + $(".organize-segments .item-video, .col-left .item-video, .frise-segment").removeClass("active"); + var segmentid = undefined; if (currentMedia && currentSegment) { - $(".item-video[data-segment-id='" + currentSegment.id + "']").addClass("active"); + segmentid = currentSegment.id; + } + if (currentMedia === mashup && mashupCurrentAnnotation) { + segmentid = mashupCurrentAnnotation.annotation.id; } + $(".item-video[data-segment-id='" + segmentid + "']").addClass("active"); + var mediaid = undefined; + if (currentMedia) { + mediaid = currentMedia.id; + } + if (currentMedia === mashup && mashupCurrentMedia) { + mediaid = mashupCurrentMedia.id + } + $(".col-left .item-video[data-media-id='" + mediaid + "']").addClass("active"); } - $(".organize-segments").sortable({ + function hoverSegment() { + var segmentid = $(this).attr("data-segment-id"); + $(".organize-segments .item-video, .frise-segment").removeClass("active"); + $(".item-video[data-segment-id='" + segmentid + "'], .frise-segment[data-segment-id='" + segmentid + "']").addClass("active"); + } + + $(".frise") + .on("mouseover", ".frise-segment", hoverSegment) + .on("mouseout", ".frise-segment", highlightCurrentSegment) + + $(".organize-segments") + .sortable({ stop : reorganizeMashup - }); - - $(".organize-segments").on("click", ".item-video", function(e) { + }) + .on("mouseover", ".item-video", hoverSegment) + .on("mouseout", ".item-video", highlightCurrentSegment) + .on("click", ".item-video", function(e) { var el = $(this), segment = mashup.getAnnotationById(el.attr("data-segment-id")); setMedia(mashup); @@ -854,34 +903,33 @@ mashup.setCurrentTime(segment.begin); } return false; - }); - - $(".organize-segments").on("click", ".edit", function(e) { + }) + .on("click", ".edit", function(e) { var currentItem = $(this).parents(".item-video"), media = project.getElement(currentItem.attr("data-media-id")), segment = project.getElement(currentItem.attr("data-segment-id")); currentSegment = segment; setMedia(media); return false; - }); - - $(".organize-segments").on("click", ".top", function(e){ + }) + .on("click", ".top", function(e){ var currentItem = $(this).parents(".item-video"); currentItem.insertBefore(currentItem.prev()); reorganizeMashup(); return false; - }); - - $(".organize-segments").on("click", ".bottom", function(e){ + }) + .on("click", ".bottom", function(e){ var currentItem = $(this).parents(".item-video"); currentItem.insertAfter(currentItem.next()); reorganizeMashup(); return false; - }); - - $(".organize-segments").on("click", ".delete", function(e){ + }) + .on("click", ".delete", function(e){ var id = $(this).parents(".item-video").attr("data-segment-id"); mashup.removeAnnotationById(id); + if (!mashup.segments.length) { + showEmpty(); + } return false; }); @@ -972,4 +1020,11 @@ return false; }); + /* Changing Hashcut Title and description */ + + $("#hashcut-title").on("keyup change input paste", function() { + mashup.title = $(this).val(); + $(".title-video-wrap a").text(mashup.title); + }); + } diff -r 379635f45d7f -r e05bf75a29f6 integration/lib/raphael-min.js --- a/integration/lib/raphael-min.js Tue Nov 06 11:48:54 2012 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,10 +0,0 @@ -// ┌────────────────────────────────────────────────────────────────────┐ \\ -// │ Raphaël 2.1.0 - JavaScript Vector Library │ \\ -// ├────────────────────────────────────────────────────────────────────┤ \\ -// │ Copyright © 2008-2012 Dmitry Baranovskiy (http://raphaeljs.com) │ \\ -// │ Copyright © 2008-2012 Sencha Labs (http://sencha.com) │ \\ -// ├────────────────────────────────────────────────────────────────────┤ \\ -// │ Licensed under the MIT (http://raphaeljs.com/license.html) license.│ \\ -// └────────────────────────────────────────────────────────────────────┘ \\ - -(function(a){var b="0.3.4",c="hasOwnProperty",d=/[\.\/]/,e="*",f=function(){},g=function(a,b){return a-b},h,i,j={n:{}},k=function(a,b){var c=j,d=i,e=Array.prototype.slice.call(arguments,2),f=k.listeners(a),l=0,m=!1,n,o=[],p={},q=[],r=h,s=[];h=a,i=0;for(var t=0,u=f.length;tf*b.top){e=b.percents[y],p=b.percents[y-1]||0,t=t/b.top*(e-p),o=b.percents[y+1],j=b.anim[e];break}f&&d.attr(b.anim[b.percents[y]])}if(!!j){if(!k){for(var A in j)if(j[g](A))if(U[g](A)||d.paper.customAttributes[g](A)){u[A]=d.attr(A),u[A]==null&&(u[A]=T[A]),v[A]=j[A];switch(U[A]){case C:w[A]=(v[A]-u[A])/t;break;case"colour":u[A]=a.getRGB(u[A]);var B=a.getRGB(v[A]);w[A]={r:(B.r-u[A].r)/t,g:(B.g-u[A].g)/t,b:(B.b-u[A].b)/t};break;case"path":var D=bR(u[A],v[A]),E=D[1];u[A]=D[0],w[A]=[];for(y=0,z=u[A].length;yd)return d;while(cf?c=e:d=e,e=(d-c)/2+c}return e}function n(a,b){var c=o(a,b);return((l*c+k)*c+j)*c}function m(a){return((i*a+h)*a+g)*a}var g=3*b,h=3*(d-b)-g,i=1-g-h,j=3*c,k=3*(e-c)-j,l=1-j-k;return n(a,1/(200*f))}function cq(){return this.x+q+this.y+q+this.width+" × "+this.height}function cp(){return this.x+q+this.y}function cb(a,b,c,d,e,f){a!=null?(this.a=+a,this.b=+b,this.c=+c,this.d=+d,this.e=+e,this.f=+f):(this.a=1,this.b=0,this.c=0,this.d=1,this.e=0,this.f=0)}function bH(b,c,d){b=a._path2curve(b),c=a._path2curve(c);var e,f,g,h,i,j,k,l,m,n,o=d?0:[];for(var p=0,q=b.length;p=0&&y<=1&&A>=0&&A<=1&&(d?n++:n.push({x:x.x,y:x.y,t1:y,t2:A}))}}return n}function bF(a,b){return bG(a,b,1)}function bE(a,b){return bG(a,b)}function bD(a,b,c,d,e,f,g,h){if(!(x(a,c)x(e,g)||x(b,d)x(f,h))){var i=(a*d-b*c)*(e-g)-(a-c)*(e*h-f*g),j=(a*d-b*c)*(f-h)-(b-d)*(e*h-f*g),k=(a-c)*(f-h)-(b-d)*(e-g);if(!k)return;var l=i/k,m=j/k,n=+l.toFixed(2),o=+m.toFixed(2);if(n<+y(a,c).toFixed(2)||n>+x(a,c).toFixed(2)||n<+y(e,g).toFixed(2)||n>+x(e,g).toFixed(2)||o<+y(b,d).toFixed(2)||o>+x(b,d).toFixed(2)||o<+y(f,h).toFixed(2)||o>+x(f,h).toFixed(2))return;return{x:l,y:m}}}function bC(a,b,c,d,e,f,g,h,i){if(!(i<0||bB(a,b,c,d,e,f,g,h)n)k/=2,l+=(m1?1:i<0?0:i;var j=i/2,k=12,l=[-0.1252,.1252,-0.3678,.3678,-0.5873,.5873,-0.7699,.7699,-0.9041,.9041,-0.9816,.9816],m=[.2491,.2491,.2335,.2335,.2032,.2032,.1601,.1601,.1069,.1069,.0472,.0472],n=0;for(var o=0;od;d+=2){var f=[{x:+a[d-2],y:+a[d-1]},{x:+a[d],y:+a[d+1]},{x:+a[d+2],y:+a[d+3]},{x:+a[d+4],y:+a[d+5]}];b?d?e-4==d?f[3]={x:+a[0],y:+a[1]}:e-2==d&&(f[2]={x:+a[0],y:+a[1]},f[3]={x:+a[2],y:+a[3]}):f[0]={x:+a[e-2],y:+a[e-1]}:e-4==d?f[3]=f[2]:d||(f[0]={x:+a[d],y:+a[d+1]}),c.push(["C",(-f[0].x+6*f[1].x+f[2].x)/6,(-f[0].y+6*f[1].y+f[2].y)/6,(f[1].x+6*f[2].x-f[3].x)/6,(f[1].y+6*f[2].y-f[3].y)/6,f[2].x,f[2].y])}return c}function bx(){return this.hex}function bv(a,b,c){function d(){var e=Array.prototype.slice.call(arguments,0),f=e.join("␀"),h=d.cache=d.cache||{},i=d.count=d.count||[];if(h[g](f)){bu(i,f);return c?c(h[f]):h[f]}i.length>=1e3&&delete h[i.shift()],i.push(f),h[f]=a[m](b,e);return c?c(h[f]):h[f]}return d}function bu(a,b){for(var c=0,d=a.length;c',bl=bk.firstChild,bl.style.behavior="url(#default#VML)";if(!bl||typeof bl.adj!="object")return a.type=p;bk=null}a.svg=!(a.vml=a.type=="VML"),a._Paper=j,a.fn=k=j.prototype=a.prototype,a._id=0,a._oid=0,a.is=function(a,b){b=v.call(b);if(b=="finite")return!M[g](+a);if(b=="array")return a instanceof Array;return b=="null"&&a===null||b==typeof a&&a!==null||b=="object"&&a===Object(a)||b=="array"&&Array.isArray&&Array.isArray(a)||H.call(a).slice(8,-1).toLowerCase()==b},a.angle=function(b,c,d,e,f,g){if(f==null){var h=b-d,i=c-e;if(!h&&!i)return 0;return(180+w.atan2(-i,-h)*180/B+360)%360}return a.angle(b,c,f,g)-a.angle(d,e,f,g)},a.rad=function(a){return a%360*B/180},a.deg=function(a){return a*180/B%360},a.snapTo=function(b,c,d){d=a.is(d,"finite")?d:10;if(a.is(b,E)){var e=b.length;while(e--)if(z(b[e]-c)<=d)return b[e]}else{b=+b;var f=c%b;if(fb-d)return c-f+b}return c};var bn=a.createUUID=function(a,b){return function(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(a,b).toUpperCase()}}(/[xy]/g,function(a){var b=w.random()*16|0,c=a=="x"?b:b&3|8;return c.toString(16)});a.setWindow=function(b){eve("raphael.setWindow",a,h.win,b),h.win=b,h.doc=h.win.document,a._engine.initWin&&a._engine.initWin(h.win)};var bo=function(b){if(a.vml){var c=/^\s+|\s+$/g,d;try{var e=new ActiveXObject("htmlfile");e.write(""),e.close(),d=e.body}catch(f){d=createPopup().document.body}var g=d.createTextRange();bo=bv(function(a){try{d.style.color=r(a).replace(c,p);var b=g.queryCommandValue("ForeColor");b=(b&255)<<16|b&65280|(b&16711680)>>>16;return"#"+("000000"+b.toString(16)).slice(-6)}catch(e){return"none"}})}else{var i=h.doc.createElement("i");i.title="Raphaël Colour Picker",i.style.display="none",h.doc.body.appendChild(i),bo=bv(function(a){i.style.color=a;return h.doc.defaultView.getComputedStyle(i,p).getPropertyValue("color")})}return bo(b)},bp=function(){return"hsb("+[this.h,this.s,this.b]+")"},bq=function(){return"hsl("+[this.h,this.s,this.l]+")"},br=function(){return this.hex},bs=function(b,c,d){c==null&&a.is(b,"object")&&"r"in b&&"g"in b&&"b"in b&&(d=b.b,c=b.g,b=b.r);if(c==null&&a.is(b,D)){var e=a.getRGB(b);b=e.r,c=e.g,d=e.b}if(b>1||c>1||d>1)b/=255,c/=255,d/=255;return[b,c,d]},bt=function(b,c,d,e){b*=255,c*=255,d*=255;var f={r:b,g:c,b:d,hex:a.rgb(b,c,d),toString:br};a.is(e,"finite")&&(f.opacity=e);return f};a.color=function(b){var c;a.is(b,"object")&&"h"in b&&"s"in b&&"b"in b?(c=a.hsb2rgb(b),b.r=c.r,b.g=c.g,b.b=c.b,b.hex=c.hex):a.is(b,"object")&&"h"in b&&"s"in b&&"l"in b?(c=a.hsl2rgb(b),b.r=c.r,b.g=c.g,b.b=c.b,b.hex=c.hex):(a.is(b,"string")&&(b=a.getRGB(b)),a.is(b,"object")&&"r"in b&&"g"in b&&"b"in b?(c=a.rgb2hsl(b),b.h=c.h,b.s=c.s,b.l=c.l,c=a.rgb2hsb(b),b.v=c.b):(b={hex:"none"},b.r=b.g=b.b=b.h=b.s=b.v=b.l=-1)),b.toString=br;return b},a.hsb2rgb=function(a,b,c,d){this.is(a,"object")&&"h"in a&&"s"in a&&"b"in a&&(c=a.b,b=a.s,a=a.h,d=a.o),a*=360;var e,f,g,h,i;a=a%360/60,i=c*b,h=i*(1-z(a%2-1)),e=f=g=c-i,a=~~a,e+=[i,h,0,0,h,i][a],f+=[h,i,i,h,0,0][a],g+=[0,0,h,i,i,h][a];return bt(e,f,g,d)},a.hsl2rgb=function(a,b,c,d){this.is(a,"object")&&"h"in a&&"s"in a&&"l"in a&&(c=a.l,b=a.s,a=a.h);if(a>1||b>1||c>1)a/=360,b/=100,c/=100;a*=360;var e,f,g,h,i;a=a%360/60,i=2*b*(c<.5?c:1-c),h=i*(1-z(a%2-1)),e=f=g=c-i/2,a=~~a,e+=[i,h,0,0,h,i][a],f+=[h,i,i,h,0,0][a],g+=[0,0,h,i,i,h][a];return bt(e,f,g,d)},a.rgb2hsb=function(a,b,c){c=bs(a,b,c),a=c[0],b=c[1],c=c[2];var d,e,f,g;f=x(a,b,c),g=f-y(a,b,c),d=g==0?null:f==a?(b-c)/g:f==b?(c-a)/g+2:(a-b)/g+4,d=(d+360)%6*60/360,e=g==0?0:g/f;return{h:d,s:e,b:f,toString:bp}},a.rgb2hsl=function(a,b,c){c=bs(a,b,c),a=c[0],b=c[1],c=c[2];var d,e,f,g,h,i;g=x(a,b,c),h=y(a,b,c),i=g-h,d=i==0?null:g==a?(b-c)/i:g==b?(c-a)/i+2:(a-b)/i+4,d=(d+360)%6*60/360,f=(g+h)/2,e=i==0?0:f<.5?i/(2*f):i/(2-2*f);return{h:d,s:e,l:f,toString:bq}},a._path2string=function(){return this.join(",").replace(Y,"$1")};var bw=a._preload=function(a,b){var c=h.doc.createElement("img");c.style.cssText="position:absolute;left:-9999em;top:-9999em",c.onload=function(){b.call(this),this.onload=null,h.doc.body.removeChild(this)},c.onerror=function(){h.doc.body.removeChild(this)},h.doc.body.appendChild(c),c.src=a};a.getRGB=bv(function(b){if(!b||!!((b=r(b)).indexOf("-")+1))return{r:-1,g:-1,b:-1,hex:"none",error:1,toString:bx};if(b=="none")return{r:-1,g:-1,b:-1,hex:"none",toString:bx};!X[g](b.toLowerCase().substring(0,2))&&b.charAt()!="#"&&(b=bo(b));var c,d,e,f,h,i,j,k=b.match(L);if(k){k[2]&&(f=R(k[2].substring(5),16),e=R(k[2].substring(3,5),16),d=R(k[2].substring(1,3),16)),k[3]&&(f=R((i=k[3].charAt(3))+i,16),e=R((i=k[3].charAt(2))+i,16),d=R((i=k[3].charAt(1))+i,16)),k[4]&&(j=k[4][s](W),d=Q(j[0]),j[0].slice(-1)=="%"&&(d*=2.55),e=Q(j[1]),j[1].slice(-1)=="%"&&(e*=2.55),f=Q(j[2]),j[2].slice(-1)=="%"&&(f*=2.55),k[1].toLowerCase().slice(0,4)=="rgba"&&(h=Q(j[3])),j[3]&&j[3].slice(-1)=="%"&&(h/=100));if(k[5]){j=k[5][s](W),d=Q(j[0]),j[0].slice(-1)=="%"&&(d*=2.55),e=Q(j[1]),j[1].slice(-1)=="%"&&(e*=2.55),f=Q(j[2]),j[2].slice(-1)=="%"&&(f*=2.55),(j[0].slice(-3)=="deg"||j[0].slice(-1)=="°")&&(d/=360),k[1].toLowerCase().slice(0,4)=="hsba"&&(h=Q(j[3])),j[3]&&j[3].slice(-1)=="%"&&(h/=100);return a.hsb2rgb(d,e,f,h)}if(k[6]){j=k[6][s](W),d=Q(j[0]),j[0].slice(-1)=="%"&&(d*=2.55),e=Q(j[1]),j[1].slice(-1)=="%"&&(e*=2.55),f=Q(j[2]),j[2].slice(-1)=="%"&&(f*=2.55),(j[0].slice(-3)=="deg"||j[0].slice(-1)=="°")&&(d/=360),k[1].toLowerCase().slice(0,4)=="hsla"&&(h=Q(j[3])),j[3]&&j[3].slice(-1)=="%"&&(h/=100);return a.hsl2rgb(d,e,f,h)}k={r:d,g:e,b:f,toString:bx},k.hex="#"+(16777216|f|e<<8|d<<16).toString(16).slice(1),a.is(h,"finite")&&(k.opacity=h);return k}return{r:-1,g:-1,b:-1,hex:"none",error:1,toString:bx}},a),a.hsb=bv(function(b,c,d){return a.hsb2rgb(b,c,d).hex}),a.hsl=bv(function(b,c,d){return a.hsl2rgb(b,c,d).hex}),a.rgb=bv(function(a,b,c){return"#"+(16777216|c|b<<8|a<<16).toString(16).slice(1)}),a.getColor=function(a){var b=this.getColor.start=this.getColor.start||{h:0,s:1,b:a||.75},c=this.hsb2rgb(b.h,b.s,b.b);b.h+=.075,b.h>1&&(b.h=0,b.s-=.2,b.s<=0&&(this.getColor.start={h:0,s:1,b:b.b}));return c.hex},a.getColor.reset=function(){delete this.start},a.parsePathString=function(b){if(!b)return null;var c=bz(b);if(c.arr)return bJ(c.arr);var d={a:7,c:6,h:1,l:2,m:2,r:4,q:4,s:4,t:2,v:1,z:0},e=[];a.is(b,E)&&a.is(b[0],E)&&(e=bJ(b)),e.length||r(b).replace(Z,function(a,b,c){var f=[],g=b.toLowerCase();c.replace(_,function(a,b){b&&f.push(+b)}),g=="m"&&f.length>2&&(e.push([b][n](f.splice(0,2))),g="l",b=b=="m"?"l":"L");if(g=="r")e.push([b][n](f));else while(f.length>=d[g]){e.push([b][n](f.splice(0,d[g])));if(!d[g])break}}),e.toString=a._path2string,c.arr=bJ(e);return e},a.parseTransformString=bv(function(b){if(!b)return null;var c={r:3,s:4,t:2,m:6},d=[];a.is(b,E)&&a.is(b[0],E)&&(d=bJ(b)),d.length||r(b).replace($,function(a,b,c){var e=[],f=v.call(b);c.replace(_,function(a,b){b&&e.push(+b)}),d.push([b][n](e))}),d.toString=a._path2string;return d});var bz=function(a){var b=bz.ps=bz.ps||{};b[a]?b[a].sleep=100:b[a]={sleep:100},setTimeout(function(){for(var c in b)b[g](c)&&c!=a&&(b[c].sleep--,!b[c].sleep&&delete b[c])});return b[a]};a.findDotsAtSegment=function(a,b,c,d,e,f,g,h,i){var j=1-i,k=A(j,3),l=A(j,2),m=i*i,n=m*i,o=k*a+l*3*i*c+j*3*i*i*e+n*g,p=k*b+l*3*i*d+j*3*i*i*f+n*h,q=a+2*i*(c-a)+m*(e-2*c+a),r=b+2*i*(d-b)+m*(f-2*d+b),s=c+2*i*(e-c)+m*(g-2*e+c),t=d+2*i*(f-d)+m*(h-2*f+d),u=j*a+i*c,v=j*b+i*d,x=j*e+i*g,y=j*f+i*h,z=90-w.atan2(q-s,r-t)*180/B;(q>s||r=a.x&&b<=a.x2&&c>=a.y&&c<=a.y2},a.isBBoxIntersect=function(b,c){var d=a.isPointInsideBBox;return d(c,b.x,b.y)||d(c,b.x2,b.y)||d(c,b.x,b.y2)||d(c,b.x2,b.y2)||d(b,c.x,c.y)||d(b,c.x2,c.y)||d(b,c.x,c.y2)||d(b,c.x2,c.y2)||(b.xc.x||c.xb.x)&&(b.yc.y||c.yb.y)},a.pathIntersection=function(a,b){return bH(a,b)},a.pathIntersectionNumber=function(a,b){return bH(a,b,1)},a.isPointInsidePath=function(b,c,d){var e=a.pathBBox(b);return a.isPointInsideBBox(e,c,d)&&bH(b,[["M",c,d],["H",e.x2+10]],1)%2==1},a._removedFactory=function(a){return function(){eve("raphael.log",null,"Raphaël: you are calling to method “"+a+"” of removed object",a)}};var bI=a.pathBBox=function(a){var b=bz(a);if(b.bbox)return b.bbox;if(!a)return{x:0,y:0,width:0,height:0,x2:0,y2:0};a=bR(a);var c=0,d=0,e=[],f=[],g;for(var h=0,i=a.length;h1&&(v=w.sqrt(v),c=v*c,d=v*d);var x=c*c,y=d*d,A=(f==g?-1:1)*w.sqrt(z((x*y-x*u*u-y*t*t)/(x*u*u+y*t*t))),C=A*c*u/d+(a+h)/2,D=A*-d*t/c+(b+i)/2,E=w.asin(((b-D)/d).toFixed(9)),F=w.asin(((i-D)/d).toFixed(9));E=aF&&(E=E-B*2),!g&&F>E&&(F=F-B*2)}else E=j[0],F=j[1],C=j[2],D=j[3];var G=F-E;if(z(G)>k){var H=F,I=h,J=i;F=E+k*(g&&F>E?1:-1),h=C+c*w.cos(F),i=D+d*w.sin(F),m=bO(h,i,c,d,e,0,g,I,J,[F,H,C,D])}G=F-E;var K=w.cos(E),L=w.sin(E),M=w.cos(F),N=w.sin(F),O=w.tan(G/4),P=4/3*c*O,Q=4/3*d*O,R=[a,b],S=[a+P*L,b-Q*K],T=[h+P*N,i-Q*M],U=[h,i];S[0]=2*R[0]-S[0],S[1]=2*R[1]-S[1];if(j)return[S,T,U][n](m);m=[S,T,U][n](m).join()[s](",");var V=[];for(var W=0,X=m.length;W"1e12"&&(l=.5),z(n)>"1e12"&&(n=.5),l>0&&l<1&&(q=bP(a,b,c,d,e,f,g,h,l),p.push(q.x),o.push(q.y)),n>0&&n<1&&(q=bP(a,b,c,d,e,f,g,h,n),p.push(q.x),o.push(q.y)),i=f-2*d+b-(h-2*f+d),j=2*(d-b)-2*(f-d),k=b-d,l=(-j+w.sqrt(j*j-4*i*k))/2/i,n=(-j-w.sqrt(j*j-4*i*k))/2/i,z(l)>"1e12"&&(l=.5),z(n)>"1e12"&&(n=.5),l>0&&l<1&&(q=bP(a,b,c,d,e,f,g,h,l),p.push(q.x),o.push(q.y)),n>0&&n<1&&(q=bP(a,b,c,d,e,f,g,h,n),p.push(q.x),o.push(q.y));return{min:{x:y[m](0,p),y:y[m](0,o)},max:{x:x[m](0,p),y:x[m](0,o)}}}),bR=a._path2curve=bv(function(a,b){var c=!b&&bz(a);if(!b&&c.curve)return bJ(c.curve);var d=bL(a),e=b&&bL(b),f={x:0,y:0,bx:0,by:0,X:0,Y:0,qx:null,qy:null},g={x:0,y:0,bx:0,by:0,X:0,Y:0,qx:null,qy:null},h=function(a,b){var c,d;if(!a)return["C",b.x,b.y,b.x,b.y,b.x,b.y];!(a[0]in{T:1,Q:1})&&(b.qx=b.qy=null);switch(a[0]){case"M":b.X=a[1],b.Y=a[2];break;case"A":a=["C"][n](bO[m](0,[b.x,b.y][n](a.slice(1))));break;case"S":c=b.x+(b.x-(b.bx||b.x)),d=b.y+(b.y-(b.by||b.y)),a=["C",c,d][n](a.slice(1));break;case"T":b.qx=b.x+(b.x-(b.qx||b.x)),b.qy=b.y+(b.y-(b.qy||b.y)),a=["C"][n](bN(b.x,b.y,b.qx,b.qy,a[1],a[2]));break;case"Q":b.qx=a[1],b.qy=a[2],a=["C"][n](bN(b.x,b.y,a[1],a[2],a[3],a[4]));break;case"L":a=["C"][n](bM(b.x,b.y,a[1],a[2]));break;case"H":a=["C"][n](bM(b.x,b.y,a[1],b.y));break;case"V":a=["C"][n](bM(b.x,b.y,b.x,a[1]));break;case"Z":a=["C"][n](bM(b.x,b.y,b.X,b.Y))}return a},i=function(a,b){if(a[b].length>7){a[b].shift();var c=a[b];while(c.length)a.splice(b++,0,["C"][n](c.splice(0,6)));a.splice(b,1),l=x(d.length,e&&e.length||0)}},j=function(a,b,c,f,g){a&&b&&a[g][0]=="M"&&b[g][0]!="M"&&(b.splice(g,0,["M",f.x,f.y]),c.bx=0,c.by=0,c.x=a[g][1],c.y=a[g][2],l=x(d.length,e&&e.length||0))};for(var k=0,l=x(d.length,e&&e.length||0);ke){if(c&&!l.start){m=cs(g,h,i[1],i[2],i[3],i[4],i[5],i[6],e-n),k+=["C"+m.start.x,m.start.y,m.m.x,m.m.y,m.x,m.y];if(f)return k;l.start=k,k=["M"+m.x,m.y+"C"+m.n.x,m.n.y,m.end.x,m.end.y,i[5],i[6]].join(),n+=j,g=+i[5],h=+i[6];continue}if(!b&&!c){m=cs(g,h,i[1],i[2],i[3],i[4],i[5],i[6],e-n);return{x:m.x,y:m.y,alpha:m.alpha}}}n+=j,g=+i[5],h=+i[6]}k+=i.shift()+i}l.end=k,m=b?n:c?l:a.findDotsAtSegment(g,h,i[0],i[1],i[2],i[3],i[4],i[5],1),m.alpha&&(m={x:m.x,y:m.y,alpha:m.alpha});return m}},cu=ct(1),cv=ct(),cw=ct(0,1);a.getTotalLength=cu,a.getPointAtLength=cv,a.getSubpath=function(a,b,c){if(this.getTotalLength(a)-c<1e-6)return cw(a,b).end;var d=cw(a,c,1);return b?cw(d,b).end:d},cl.getTotalLength=function(){if(this.type=="path"){if(this.node.getTotalLength)return this.node.getTotalLength();return cu(this.attrs.path)}},cl.getPointAtLength=function(a){if(this.type=="path")return cv(this.attrs.path,a)},cl.getSubpath=function(b,c){if(this.type=="path")return a.getSubpath(this.attrs.path,b,c)};var cx=a.easing_formulas={linear:function(a){return a},"<":function(a){return A(a,1.7)},">":function(a){return A(a,.48)},"<>":function(a){var b=.48-a/1.04,c=w.sqrt(.1734+b*b),d=c-b,e=A(z(d),1/3)*(d<0?-1:1),f=-c-b,g=A(z(f),1/3)*(f<0?-1:1),h=e+g+.5;return(1-h)*3*h*h+h*h*h},backIn:function(a){var b=1.70158;return a*a*((b+1)*a-b)},backOut:function(a){a=a-1;var b=1.70158;return a*a*((b+1)*a+b)+1},elastic:function(a){if(a==!!a)return a;return A(2,-10*a)*w.sin((a-.075)*2*B/.3)+1},bounce:function(a){var b=7.5625,c=2.75,d;a<1/c?d=b*a*a:a<2/c?(a-=1.5/c,d=b*a*a+.75):a<2.5/c?(a-=2.25/c,d=b*a*a+.9375):(a-=2.625/c,d=b*a*a+.984375);return d}};cx.easeIn=cx["ease-in"]=cx["<"],cx.easeOut=cx["ease-out"]=cx[">"],cx.easeInOut=cx["ease-in-out"]=cx["<>"],cx["back-in"]=cx.backIn,cx["back-out"]=cx.backOut;var cy=[],cz=window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||function(a){setTimeout(a,16)},cA=function(){var b=+(new Date),c=0;for(;c1&&!d.next){for(s in k)k[g](s)&&(r[s]=d.totalOrigin[s]);d.el.attr(r),cE(d.anim,d.el,d.anim.percents[0],null,d.totalOrigin,d.repeat-1)}d.next&&!d.stop&&cE(d.anim,d.el,d.next,null,d.totalOrigin,d.repeat)}}a.svg&&m&&m.paper&&m.paper.safari(),cy.length&&cz(cA)},cB=function(a){return a>255?255:a<0?0:a};cl.animateWith=function(b,c,d,e,f,g){var h=this;if(h.removed){g&&g.call(h);return h}var i=d instanceof cD?d:a.animation(d,e,f,g),j,k;cE(i,h,i.percents[0],null,h.attr());for(var l=0,m=cy.length;l.5)*2-1;i(m-.5,2)+i(n-.5,2)>.25&&(n=f.sqrt(.25-i(m-.5,2))*e+.5)&&n!=.5&&(n=n.toFixed(5)-1e-5*e)}return l}),e=e.split(/\s*\-\s*/);if(j=="linear"){var t=e.shift();t=-d(t);if(isNaN(t))return null;var u=[0,0,f.cos(a.rad(t)),f.sin(a.rad(t))],v=1/(g(h(u[2]),h(u[3]))||1);u[2]*=v,u[3]*=v,u[2]<0&&(u[0]=-u[2],u[2]=0),u[3]<0&&(u[1]=-u[3],u[3]=0)}var w=a._parseDots(e);if(!w)return null;k=k.replace(/[\(\)\s,\xb0#]/g,"_"),b.gradient&&k!=b.gradient.id&&(p.defs.removeChild(b.gradient),delete b.gradient);if(!b.gradient){s=q(j+"Gradient",{id:k}),b.gradient=s,q(s,j=="radial"?{fx:m,fy:n}:{x1:u[0],y1:u[1],x2:u[2],y2:u[3],gradientTransform:b.matrix.invert()}),p.defs.appendChild(s);for(var x=0,y=w.length;x1?G.opacity/100:G.opacity});case"stroke":G=a.getRGB(p),i.setAttribute(o,G.hex),o=="stroke"&&G[b]("opacity")&&q(i,{"stroke-opacity":G.opacity>1?G.opacity/100:G.opacity}),o=="stroke"&&d._.arrows&&("startString"in d._.arrows&&t(d,d._.arrows.startString),"endString"in d._.arrows&&t(d,d._.arrows.endString,1));break;case"gradient":(d.type=="circle"||d.type=="ellipse"||c(p).charAt()!="r")&&r(d,p);break;case"opacity":k.gradient&&!k[b]("stroke-opacity")&&q(i,{"stroke-opacity":p>1?p/100:p});case"fill-opacity":if(k.gradient){H=a._g.doc.getElementById(i.getAttribute("fill").replace(/^url\(#|\)$/g,l)),H&&(I=H.getElementsByTagName("stop"),q(I[I.length-1],{"stop-opacity":p}));break};default:o=="font-size"&&(p=e(p,10)+"px");var J=o.replace(/(\-.)/g,function(a){return a.substring(1).toUpperCase()});i.style[J]=p,d._.dirty=1,i.setAttribute(o,p)}}y(d,f),i.style.visibility=m},x=1.2,y=function(d,f){if(d.type=="text"&&!!(f[b]("text")||f[b]("font")||f[b]("font-size")||f[b]("x")||f[b]("y"))){var g=d.attrs,h=d.node,i=h.firstChild?e(a._g.doc.defaultView.getComputedStyle(h.firstChild,l).getPropertyValue("font-size"),10):10;if(f[b]("text")){g.text=f.text;while(h.firstChild)h.removeChild(h.firstChild);var j=c(f.text).split("\n"),k=[],m;for(var n=0,o=j.length;n"));var $=X.getBoundingClientRect();t.W=m.w=($.right-$.left)/Y,t.H=m.h=($.bottom-$.top)/Y,t.X=m.x,t.Y=m.y+t.H/2,("x"in i||"y"in i)&&(t.path.v=a.format("m{0},{1}l{2},{1}",f(m.x*u),f(m.y*u),f(m.x*u)+1));var _=["x","y","text","font","font-family","font-weight","font-style","font-size"];for(var ba=0,bb=_.length;ba.25&&(c=e.sqrt(.25-i(b-.5,2))*((c>.5)*2-1)+.5),m=b+n+c);return o}),f=f.split(/\s*\-\s*/);if(l=="linear"){var p=f.shift();p=-d(p);if(isNaN(p))return null}var q=a._parseDots(f);if(!q)return null;b=b.shape||b.node;if(q.length){b.removeChild(g),g.on=!0,g.method="none",g.color=q[0].color,g.color2=q[q.length-1].color;var r=[];for(var s=0,t=q.length;s')}}catch(c){F=function(a){return b.createElement("<"+a+' xmlns="urn:schemas-microsoft.com:vml" class="rvml">')}}},a._engine.initWin(a._g.win),a._engine.create=function(){var b=a._getContainer.apply(0,arguments),c=b.container,d=b.height,e,f=b.width,g=b.x,h=b.y;if(!c)throw new Error("VML container not found.");var i=new a._Paper,j=i.canvas=a._g.doc.createElement("div"),k=j.style;g=g||0,h=h||0,f=f||512,d=d||342,i.width=f,i.height=d,f==+f&&(f+="px"),d==+d&&(d+="px"),i.coordsize=u*1e3+n+u*1e3,i.coordorigin="0 0",i.span=a._g.doc.createElement("span"),i.span.style.cssText="position:absolute;left:-9999em;top:-9999em;padding:0;margin:0;line-height:1;",j.appendChild(i.span),k.cssText=a.format("top:0;left:0;width:{0};height:{1};display:inline-block;position:relative;clip:rect(0 {0} {1} 0);overflow:hidden",f,d),c==1?(a._g.doc.body.appendChild(j),k.left=g+"px",k.top=h+"px",k.position="absolute"):c.firstChild?c.insertBefore(j,c.firstChild):c.appendChild(j),i.renderfix=function(){};return i},a.prototype.clear=function(){a.eve("raphael.clear",this),this.canvas.innerHTML=o,this.span=a._g.doc.createElement("span"),this.span.style.cssText="position:absolute;left:-9999em;top:-9999em;padding:0;margin:0;line-height:1;display:inline;",this.canvas.appendChild(this.span),this.bottom=this.top=null},a.prototype.remove=function(){a.eve("raphael.remove",this),this.canvas.parentNode.removeChild(this.canvas);for(var b in this)this[b]=typeof this[b]=="function"?a._removedFactory(b):null;return!0};var G=a.st;for(var H in E)E[b](H)&&!G[b](H)&&(G[H]=function(a){return function(){var b=arguments;return this.forEach(function(c){c[a].apply(c,b)})}}(H))}(window.Raphael) \ No newline at end of file