Ralfp 12 лет назад
Родитель
Сommit
0327ff6b32
2 измененных файлов с 249 добавлено и 249 удалено
  1. 172 172
      static/cranefly/js/cranefly.js
  2. 77 77
      static/cranefly/js/editor.js

+ 172 - 172
static/cranefly/js/cranefly.js

@@ -1,195 +1,195 @@
 $(function () {
 $(function () {
-	// Register tooltips
-	$('.tooltip-top').tooltip({placement: 'top', container: 'body'})
-	$('.tooltip-bottom').tooltip({placement: 'bottom', container: 'body'})
-	$('.tooltip-left').tooltip({placement: 'left', container: 'body'})
-	$('.tooltip-right').tooltip({placement: 'right', container: 'body'})
-	
-	// Register popovers
-	$('.popover-top').popover({placement: 'top'})
-	$('.popover-bottom').popover({placement: 'bottom'})
-	$('.popover-left').popover({placement: 'left'})
-	$('.popover-right').popover({placement: 'right'})
+  // Register tooltips
+  $('.tooltip-top').tooltip({placement: 'top', container: 'body'})
+  $('.tooltip-bottom').tooltip({placement: 'bottom', container: 'body'})
+  $('.tooltip-left').tooltip({placement: 'left', container: 'body'})
+  $('.tooltip-right').tooltip({placement: 'right', container: 'body'})
+  
+  // Register popovers
+  $('.popover-top').popover({placement: 'top'})
+  $('.popover-bottom').popover({placement: 'bottom'})
+  $('.popover-left').popover({placement: 'left'})
+  $('.popover-right').popover({placement: 'right'})
 
 
-	// Dont fire popovers on touch devices
-	$("[class^='tooltip-']").on('show', function (e) {
-	  if ('ontouchstart' in document.documentElement) {
-	  	e.preventDefault();
-	  }
-	});
-	
-	// Start all dropdowns
-	$('.dropdown-toggle').dropdown()
-	
-	// Dont hide clickable dropdowns
-	$('.dropdown-clickable').on('click', function (e) {
-	  e.stopPropagation()
-	});
-	
-	// Checkbox Group Master
-	$('input.checkbox-master').live('click', function(){
-		if($(this).is(':checked')){
-			$('input.checkbox-member').attr("checked" ,"checked");
-		}
-		else
-		{
-			$('input.checkbox-member').removeAttr('checked');
-		}
-	});
-	
-	// Checkbox Group Member
-	$('input.checkbox-member').live('click', function(){
-		if(!$(this).is(':checked')){
-			$('input.checkbox-master').removeAttr('checked');
-		}
-	});
-	
-	// Check Confirmation on links
-	$('a.confirm').live('click', function(){
-		var decision = confirm(jQuery.data(this, 'jsconfirm'));
-		return decision
-	});
-	
-	// Check Confirmation on forms
-	$('form.confirm').live('submit', function(){
-		data = $(this).data();
-		var decision = confirm(data.jsconfirm);
-		return decision
-	});
-	
-	// Show go back link?
-	if (document.referrer
-			&& document.referrer.indexOf(location.protocol + "//" + location.host) === 0
-			&& document.referrer != document.url) {
-		$('.go-back').show();
-	}
+  // Dont fire popovers on touch devices
+  $("[class^='tooltip-']").on('show', function (e) {
+    if ('ontouchstart' in document.documentElement) {
+      e.preventDefault();
+    }
+  });
+  
+  // Start all dropdowns
+  $('.dropdown-toggle').dropdown()
+  
+  // Dont hide clickable dropdowns
+  $('.dropdown-clickable').on('click', function (e) {
+    e.stopPropagation()
+  });
+  
+  // Checkbox Group Master
+  $('input.checkbox-master').live('click', function(){
+    if($(this).is(':checked')){
+      $('input.checkbox-member').attr("checked" ,"checked");
+    }
+    else
+    {
+      $('input.checkbox-member').removeAttr('checked');
+    }
+  });
+  
+  // Checkbox Group Member
+  $('input.checkbox-member').live('click', function(){
+    if(!$(this).is(':checked')){
+      $('input.checkbox-master').removeAttr('checked');
+    }
+  });
+  
+  // Check Confirmation on links
+  $('a.confirm').live('click', function(){
+    var decision = confirm(jQuery.data(this, 'jsconfirm'));
+    return decision
+  });
+  
+  // Check Confirmation on forms
+  $('form.confirm').live('submit', function(){
+    data = $(this).data();
+    var decision = confirm(data.jsconfirm);
+    return decision
+  });
+  
+  // Show go back link?
+  if (document.referrer
+      && document.referrer.indexOf(location.protocol + "//" + location.host) === 0
+      && document.referrer != document.url) {
+    $('.go-back').show();
+  }
 
 
-	// Go back one page
-	$('.go-back').on('click', function (e) {
-	    history.go(-1)
-	    return false;
-	})
+  // Go back one page
+  $('.go-back').on('click', function (e) {
+      history.go(-1)
+      return false;
+  })
 })
 })
 
 
 function EnhancePostsMD() {
 function EnhancePostsMD() {
-	$(function () {
-		// Add labels to images
-		$('.markdown.js-extra img').each(function() {
-	    $(this).addClass('img-rounded');
-	    $(this).wrap(function() { return '<div class="md-img" />'; });
-	    $(this).wrap(function() { return '<div class="span5 md-img-span" />'; });
-	    $(this).wrap(function() { return '<div class="md-img-wrap" />'; });
-	    $(this).after('<a href="' + $(this).attr('src') + '" class="md-img-label" target="_blank">' + $(this).attr('alt') + '</a>');
-	    $(this).wrap(function() { return '<div class="md-img-bg" />'; });
-		});
+  $(function () {
+    // Add labels to images
+    $('.markdown.js-extra img').each(function() {
+      $(this).addClass('img-rounded');
+      $(this).wrap(function() { return '<div class="md-img" />'; });
+      $(this).wrap(function() { return '<div class="span5 md-img-span" />'; });
+      $(this).wrap(function() { return '<div class="md-img-wrap" />'; });
+      $(this).after('<a href="' + $(this).attr('src') + '" class="md-img-label" target="_blank">' + $(this).attr('alt') + '</a>');
+      $(this).wrap(function() { return '<div class="md-img-bg" />'; });
+    });
 
 
-		// Handle prokened images
-	  $('.markdown.js-extra img').one('error', function() {
-	  	$(this).after('<div class="md-img-error"><span>' + l_img_broken_msg + '</span></div>');
-	  	$(this).hide();
-		});
+    // Handle prokened images
+    $('.markdown.js-extra img').one('error', function() {
+      $(this).after('<div class="md-img-error"><span>' + l_img_broken_msg + '</span></div>');
+      $(this).hide();
+    });
 
 
-		// Automagically turn links into players
-		var players = new Array();
-		$('.markdown.js-extra a').each(function() {
-			match = link2player($.trim($(this).text()));
-			if (match && $.inArray(match, players) == -1) {
-				players.push(match);
-				$(this).replaceWith(match);
-				if (players.length == 10) {
-					return false;
-				}
-			}
-		});
-	});
+    // Automagically turn links into players
+    var players = new Array();
+    $('.markdown.js-extra a').each(function() {
+      match = link2player($.trim($(this).text()));
+      if (match && $.inArray(match, players) == -1) {
+        players.push(match);
+        $(this).replaceWith(match);
+        if (players.length == 10) {
+          return false;
+        }
+      }
+    });
+  });
 }
 }
 
 
 // Turn link to player
 // Turn link to player
 function link2player(link_href) {
 function link2player(link_href) {
-	// Youtube link
-	var re = /watch\?v=((\w|-)+)/;
-	if (re.test(link_href)) {
-		media_url = link_href.match(re);
-		return '<iframe width="480" height="360" src="http://www.youtube.com/embed/' + media_url[1] + '" frameborder="0" allowfullscreen></iframe>';
-	}
+  // Youtube link
+  var re = /watch\?v=((\w|-)+)/;
+  if (re.test(link_href)) {
+    media_url = link_href.match(re);
+    return '<iframe width="480" height="360" src="http://www.youtube.com/embed/' + media_url[1] + '" frameborder="0" allowfullscreen></iframe>';
+  }
 
 
-	// Youtube feature=embed
-	var re = /watch\?feature=player_embedded&v=((\w|-)+)/;
-	if (re.test(link_href)) {
-		media_url = link_href.match(re);
-		return '<iframe width="480" height="360" src="http://www.youtube.com/embed/' + media_url[1] + '" frameborder="0" allowfullscreen></iframe>';
-	}
+  // Youtube feature=embed
+  var re = /watch\?feature=player_embedded&v=((\w|-)+)/;
+  if (re.test(link_href)) {
+    media_url = link_href.match(re);
+    return '<iframe width="480" height="360" src="http://www.youtube.com/embed/' + media_url[1] + '" frameborder="0" allowfullscreen></iframe>';
+  }
 
 
-	// Youtube embed with start time
-	var re = /youtu.be\/((\w|-)+)\?t=([A-Za-z0-9]+)/;
-	if (re.test(link_href)) {
-		media_url = link_href.match(re);
-		media_minutes = media_url[2].match(/([0-9]+)m/);
-		media_seconds = media_url[2].match(/([0-9]+)s/);
-		media_url[2] = 0;
-		if (media_minutes) { media_url[2] += (media_minutes[1] - 0) * 60; }
-		if (media_seconds) { media_url[2] += (media_seconds[1] - 0); }
-		return '<iframe width="480" height="360" src="http://www.youtube.com/embed/' + media_url[1] + '?start=' + media_url[2] + '" frameborder="0" allowfullscreen></iframe>';
-	}
-	
-	// Youtube embed
-	var re = /youtu.be\/((\w|-)+)/;
-	if (re.test(link_href)) {
-		media_url = link_href.match(re);
-		return '<iframe width="480" height="360" src="http://www.youtube.com/embed/' + media_url[1] + '" frameborder="0" allowfullscreen></iframe>';
-	}
+  // Youtube embed with start time
+  var re = /youtu.be\/((\w|-)+)\?t=([A-Za-z0-9]+)/;
+  if (re.test(link_href)) {
+    media_url = link_href.match(re);
+    media_minutes = media_url[2].match(/([0-9]+)m/);
+    media_seconds = media_url[2].match(/([0-9]+)s/);
+    media_url[2] = 0;
+    if (media_minutes) { media_url[2] += (media_minutes[1] - 0) * 60; }
+    if (media_seconds) { media_url[2] += (media_seconds[1] - 0); }
+    return '<iframe width="480" height="360" src="http://www.youtube.com/embed/' + media_url[1] + '?start=' + media_url[2] + '" frameborder="0" allowfullscreen></iframe>';
+  }
+  
+  // Youtube embed
+  var re = /youtu.be\/((\w|-)+)/;
+  if (re.test(link_href)) {
+    media_url = link_href.match(re);
+    return '<iframe width="480" height="360" src="http://www.youtube.com/embed/' + media_url[1] + '" frameborder="0" allowfullscreen></iframe>';
+  }
 
 
-	// Vimeo link
-	var re = /vimeo.com\/([0-9]+)/;
-	if (re.test(link_href)) {
-		media_url = link_href.match(re);
-		return '<iframe src="http://player.vimeo.com/video/' + media_url[1] + '?color=CF402E" width="500" height="281" frameborder="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen></iframe>';
-	}
+  // Vimeo link
+  var re = /vimeo.com\/([0-9]+)/;
+  if (re.test(link_href)) {
+    media_url = link_href.match(re);
+    return '<iframe src="http://player.vimeo.com/video/' + media_url[1] + '?color=CF402E" width="500" height="281" frameborder="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen></iframe>';
+  }
 
 
-	// No link
-	return false;
+  // No link
+  return false;
 }
 }
 
 
 // Ajax: Post votes
 // Ajax: Post votes
 $(function() {
 $(function() {
-	$('.post-rating-actions').each(function() {
-		var action_parent = this;
-		var csrf_token = $(this).find('input[name="_csrf_token"]').val();
-		$(this).find('form').submit(function() {
-			var form = this;
-			$.post(this.action, {'_csrf_token': csrf_token}, "json").done(function(data, textStatus, jqXHR) {
-				// Reset stuff and set classess
-				$(action_parent).find('.post-score').removeClass('post-score-good post-score-bad');
-				if (data.score_total > 0) {
-					$(action_parent).find('.post-score-total').addClass('post-score-good');
-				} else if (data.score_total < 0) {
-					$(action_parent).find('.post-score-total').addClass('post-score-bad');
-				} 
-				if (data.score_upvotes > 0) {
-					$(action_parent).find('.post-score-upvotes').addClass('post-score-good');
-				}
-				if (data.score_downvotes > 0) {
-					$(action_parent).find('.post-score-downvotes').addClass('post-score-bad');
-				}
+  $('.post-rating-actions').each(function() {
+    var action_parent = this;
+    var csrf_token = $(this).find('input[name="_csrf_token"]').val();
+    $(this).find('form').submit(function() {
+      var form = this;
+      $.post(this.action, {'_csrf_token': csrf_token}, "json").done(function(data, textStatus, jqXHR) {
+        // Reset stuff and set classess
+        $(action_parent).find('.post-score').removeClass('post-score-good post-score-bad');
+        if (data.score_total > 0) {
+          $(action_parent).find('.post-score-total').addClass('post-score-good');
+        } else if (data.score_total < 0) {
+          $(action_parent).find('.post-score-total').addClass('post-score-bad');
+        } 
+        if (data.score_upvotes > 0) {
+          $(action_parent).find('.post-score-upvotes').addClass('post-score-good');
+        }
+        if (data.score_downvotes > 0) {
+          $(action_parent).find('.post-score-downvotes').addClass('post-score-bad');
+        }
 
 
-				// Set votes
-				$(action_parent).find('.post-score-total').text(data.score_total);
-				$(action_parent).find('.post-score-upvotes').text(data.score_upvotes);
-				$(action_parent).find('.post-score-downvotes').text(data.score_downvotes);
+        // Set votes
+        $(action_parent).find('.post-score-total').text(data.score_total);
+        $(action_parent).find('.post-score-upvotes').text(data.score_upvotes);
+        $(action_parent).find('.post-score-downvotes').text(data.score_downvotes);
 
 
-				// Disable and enable forms
-				if (data.user_vote == 1) {
-					$(action_parent).find('.form-upvote button').attr("disabled", "disabled");
-					$(action_parent).find('.form-downvote button').removeAttr("disabled");
-				} else {
-					$(action_parent).find('.form-upvote button').removeAttr("disabled");
-					$(action_parent).find('.form-downvote button').attr("disabled", "disabled");
-				}
-			}).fail(function() {
-				$(form).unbind();
-				$(form).trigger('submit');
-			});
-			return false;
-		});
-	});
+        // Disable and enable forms
+        if (data.user_vote == 1) {
+          $(action_parent).find('.form-upvote button').attr("disabled", "disabled");
+          $(action_parent).find('.form-downvote button').removeAttr("disabled");
+        } else {
+          $(action_parent).find('.form-upvote button').removeAttr("disabled");
+          $(action_parent).find('.form-downvote button').attr("disabled", "disabled");
+        }
+      }).fail(function() {
+        $(form).unbind();
+        $(form).trigger('submit');
+      });
+      return false;
+    });
+  });
 });
 });

+ 77 - 77
static/cranefly/js/editor.js

@@ -1,68 +1,68 @@
 // Basic editor functions
 // Basic editor functions
 function storeCaret(ftext) {    
 function storeCaret(ftext) {    
-    if (ftext.createTextRange) {
-        ftext.caretPos = document.selection.createRange().duplicate();
-    }
+  if (ftext.createTextRange) {
+    ftext.caretPos = document.selection.createRange().duplicate();
+  }
 }
 }
 
 
 function SelectionRange(start, end) {
 function SelectionRange(start, end) {
-    this.start = start;
-    this.end = end;
+  this.start = start;
+  this.end = end;
 }
 }
 
 
 function getSelection(textId) {
 function getSelection(textId) {
-    ctrl = document.getElementById(textId);
-    if (document.selection) {
-        ctrl.focus();
-        var range = document.selection.createRange();
-        var length = range.text.length;
-        range.moveStart('character', -ctrl.value.length);
-        return new SelectionRange(range.text.length - length, range.text.length);
-    } else if (ctrl.selectionStart || ctrl.selectionStart == '0') {
-        return new SelectionRange(ctrl.selectionStart, ctrl.selectionEnd);
-    }
+  ctrl = document.getElementById(textId);
+  if (document.selection) {
+    ctrl.focus();
+    var range = document.selection.createRange();
+    var length = range.text.length;
+    range.moveStart('character', -ctrl.value.length);
+    return new SelectionRange(range.text.length - length, range.text.length);
+  } else if (ctrl.selectionStart || ctrl.selectionStart == '0') {
+    return new SelectionRange(ctrl.selectionStart, ctrl.selectionEnd);
+  }
 }
 }
 
 
 function setSelection(textId, SelectionRange) {
 function setSelection(textId, SelectionRange) {
-    ctrl = document.getElementById(textId);
-    if (ctrl.setSelectionRange) {
-        ctrl.focus();
-        ctrl.setSelectionRange(SelectionRange.start, SelectionRange.end);
-    } else if (ctrl.createTextRange) {
-        var range = ctrl.createTextRange();
-        range.collapse(true);
-        range.moveStart('character', SelectionRange.start);
-        range.moveEnd('character', SelectionRange.end);
-        range.select();
-    }
+  ctrl = document.getElementById(textId);
+  if (ctrl.setSelectionRange) {
+    ctrl.focus();
+    ctrl.setSelectionRange(SelectionRange.start, SelectionRange.end);
+  } else if (ctrl.createTextRange) {
+    var range = ctrl.createTextRange();
+    range.collapse(true);
+    range.moveStart('character', SelectionRange.start);
+    range.moveEnd('character', SelectionRange.end);
+    range.select();
+  }
 }
 }
 
 
 function _makeWrap(textId, myRange, wrap_start, wrap_end) {
 function _makeWrap(textId, myRange, wrap_start, wrap_end) {
-    var ctrl = document.getElementById(textId);
-    var text = ctrl.value;
-    var startText = text.substring(0, myRange.start) + wrap_start;
-    var middleText = text.substring(myRange.start, myRange.end);
-    var endText = wrap_end + text.substring(myRange.end);
-    ctrl.value = startText + middleText + endText;
-    setSelection(textId, new SelectionRange(startText.length, startText.length + middleText.length));
+  var ctrl = document.getElementById(textId);
+  var text = ctrl.value;
+  var startText = text.substring(0, myRange.start) + wrap_start;
+  var middleText = text.substring(myRange.start, myRange.end);
+  var endText = wrap_end + text.substring(myRange.end);
+  ctrl.value = startText + middleText + endText;
+  setSelection(textId, new SelectionRange(startText.length, startText.length + middleText.length));
 }
 }
 
 
 function makeWrap(textId, wrap_start, wrap_end) {
 function makeWrap(textId, wrap_start, wrap_end) {
-    _makeWrap(textId, getSelection(textId), wrap_start, wrap_end);
+  _makeWrap(textId, getSelection(textId), wrap_start, wrap_end);
 }
 }
 
 
 function _makeReplace(textId, myRange, replacement) {
 function _makeReplace(textId, myRange, replacement) {
-    var ctrl = document.getElementById(textId);
-    var text = ctrl.value;
-    var startText = text.substring(0, myRange.start);
-    var middleText = text.substring(myRange.start, myRange.end);
-    var endText = text.substring(myRange.end);
-    ctrl.value = text.substring(0, myRange.start) + replacement + text.substring(myRange.end);
-    setSelection(textId, new SelectionRange(startText.length + middleText.length, startText.length + middleText.length));
+  var ctrl = document.getElementById(textId);
+  var text = ctrl.value;
+  var startText = text.substring(0, myRange.start);
+  var middleText = text.substring(myRange.start, myRange.end);
+  var endText = text.substring(myRange.end);
+  ctrl.value = text.substring(0, myRange.start) + replacement + text.substring(myRange.end);
+  setSelection(textId, new SelectionRange(startText.length + middleText.length, startText.length + middleText.length));
 }
 }
 
 
 function makeReplace(textId, replacement) {
 function makeReplace(textId, replacement) {
-    _makeReplace(textId, getSelection(textId), replacement);
+  _makeReplace(textId, getSelection(textId), replacement);
 }
 }
 
 
 // Nice editor functionality
 // Nice editor functionality
@@ -70,57 +70,57 @@ $(function() {
   $('.editor-tools').fadeIn(600);
   $('.editor-tools').fadeIn(600);
   
   
   function get_textarea(obj) {
   function get_textarea(obj) {
-      return $(obj).parent().parent().parent().parent().find('textarea');
+    return $(obj).parent().parent().parent().parent().find('textarea');
   }
   }
   
   
   $('.editor-bold').click(function() {
   $('.editor-bold').click(function() {
-      ta = get_textarea(this).attr('id');
-      makeWrap(ta, '**', '**');
-      return false;
+    ta = get_textarea(this).attr('id');
+    makeWrap(ta, '**', '**');
+    return false;
   });
   });
   
   
   $('.editor-emphasis').click(function() {
   $('.editor-emphasis').click(function() {
-      ta = get_textarea(this).attr('id');
-      makeWrap(ta, '_', '_');
-      return false;
+    ta = get_textarea(this).attr('id');
+    makeWrap(ta, '_', '_');
+    return false;
   });
   });
   
   
   $('.editor-link').click(function() {
   $('.editor-link').click(function() {
-      ta = get_textarea(this).attr('id');
-      var link_url = $.trim(prompt(ed_lang_enter_link_url));
-      if (link_url.length > 0) {
-          link_url = link_url.toLowerCase();
-          var pattern = /^(("[\w-+\s]+")|([\w-+]+(?:\.[\w-+]+)*)|("[\w-+\s]+")([\w-+]+(?:\.[\w-+]+)*))(@((?:[\w-+]+\.)*\w[\w-+]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$)|(@\[?((25[0-5]\.|2[0-4][\d]\.|1[\d]{2}\.|[\d]{1,2}\.))((25[0-5]|2[0-4][\d]|1[\d]{2}|[\d]{1,2})\.){2}(25[0-5]|2[0-4][\d]|1[\d]{2}|[\d]{1,2})\]?$)/i;
-          if (!pattern.test(link_url)) {
-              if (link_url.indexOf("http://") != 0 && link_url.indexOf("https://") != 0 && link_url.indexOf("ftp://") != 0) {
-                  link_url = "http://" + link_url;
-              }
-          }
-          var link_label = $.trim(prompt(ed_lang_enter_link_label));
-          if (link_label.length > 0) {
-              makeReplace(ta, '[' + link_label + '](' + link_url + ')');
-          } else {
-              makeReplace(ta, '<' + link_url + '>');
-          }
+    ta = get_textarea(this).attr('id');
+    var link_url = $.trim(prompt(ed_lang_enter_link_url));
+    if (link_url.length > 0) {
+      link_url = link_url.toLowerCase();
+      var pattern = /^(("[\w-+\s]+")|([\w-+]+(?:\.[\w-+]+)*)|("[\w-+\s]+")([\w-+]+(?:\.[\w-+]+)*))(@((?:[\w-+]+\.)*\w[\w-+]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$)|(@\[?((25[0-5]\.|2[0-4][\d]\.|1[\d]{2}\.|[\d]{1,2}\.))((25[0-5]|2[0-4][\d]|1[\d]{2}|[\d]{1,2})\.){2}(25[0-5]|2[0-4][\d]|1[\d]{2}|[\d]{1,2})\]?$)/i;
+      if (!pattern.test(link_url)) {
+        if (link_url.indexOf("http://") != 0 && link_url.indexOf("https://") != 0 && link_url.indexOf("ftp://") != 0) {
+          link_url = "http://" + link_url;
+        }
+      }
+      var link_label = $.trim(prompt(ed_lang_enter_link_label));
+      if (link_label.length > 0) {
+        makeReplace(ta, '[' + link_label + '](' + link_url + ')');
+      } else {
+        makeReplace(ta, '<' + link_url + '>');
       }
       }
-      return false;
+    }
+    return false;
   });
   });
   
   
   $('.editor-image').click(function() {
   $('.editor-image').click(function() {
-      ta = get_textarea(this).attr('id');
-      var image_url = $.trim(prompt(ed_lang_enter_image_url));
-      if (image_url.length > 0) {
-          var image_label = $.trim(prompt(ed_lang_enter_image_label));
-          if (image_label.length > 0) {
-              makeReplace(ta, '![' + image_label + '](' + image_url + ')');
-          }
+    ta = get_textarea(this).attr('id');
+    var image_url = $.trim(prompt(ed_lang_enter_image_url));
+    if (image_url.length > 0) {
+      var image_label = $.trim(prompt(ed_lang_enter_image_label));
+      if (image_label.length > 0) {
+        makeReplace(ta, '![' + image_label + '](' + image_url + ')');
       }
       }
-      return false;
+    }
+    return false;
   });
   });
   
   
   $('.editor-hr').click(function() {
   $('.editor-hr').click(function() {
-      ta = get_textarea(this).attr('id');
-      makeReplace(ta, '\r\n\r\n- - - - -\r\n\r\n');
-      return false;
+    ta = get_textarea(this).attr('id');
+    makeReplace(ta, '\r\n\r\n- - - - -\r\n\r\n');
+    return false;
   });
   });
 });
 });