Index: admin/js/_blog_theme.js
===================================================================
--- admin/js/_blog_theme.js	(revision 2487)
+++ admin/js/_blog_theme.js	(revision 2566)
Index: admin/js/_category.js
===================================================================
--- admin/js/_category.js	(revision 0)
+++ admin/js/_category.js	(revision 2566)
@@ -1,5 +1,5 @@
 $(function() {
 	dotclear.hideLockable();
-	
+
 	var tbCategory = new jsToolBar(document.getElementById('cat_desc'));
 	tbCategory.draw('xhtml');
Index: admin/js/_comment.js
===================================================================
--- admin/js/_comment.js	(revision 0)
+++ admin/js/_comment.js	(revision 2566)
@@ -1,8 +1,8 @@
 $(function() {
 	if (!document.getElementById) { return; }
-	
+
 	var tbComment = new jsToolBar(document.getElementById('comment_content'));
 	tbComment.draw('xhtml');
-	
+
 	$('#comment-form input[name="delete"]').click(function() {
 		return window.confirm(dotclear.msg.confirm_delete_comment);
Index: admin/js/_comments.js
===================================================================
--- admin/js/_comments.js	(revision 2531)
+++ admin/js/_comments.js	(revision 2566)
@@ -1,5 +1,5 @@
 dotclear.viewCommentContent = function(line,action) {
 	var action = action || 'toggle';
-	var commentId = $(line).attr('id').substr(1);	
+	var commentId = $(line).attr('id').substr(1);
 	var tr = document.getElementById('ce'+commentId);
 
@@ -11,12 +11,12 @@
 		td.className = 'expand';
 		tr.appendChild(td);
-		
+
 		// Get comment content
 		$.get('services.php',{f:'getCommentById',id: commentId},function(data) {
 			var rsp = $(data).children('rsp')[0];
-			
+
 			if (rsp.attributes[0].value == 'ok') {
 				var comment = $(rsp).find('comment_display_content').text();
-				
+
 				if (comment) {
 					$(td).append(comment);
@@ -25,5 +25,5 @@
 					var comment_ip = $(rsp).find('comment_ip').text();
 					var comment_spam_disp = $(rsp).find('comment_spam_disp').text();
-					
+
 					$(td).append('<p><strong>' + dotclear.msg.website +
 					'</strong> ' + comment_site + '<br />' +
@@ -37,5 +37,5 @@
 			}
 		});
-		
+
 		$(line).toggleClass('expand');
 		line.parentNode.insertBefore(tr,line.nextSibling);
Index: admin/js/_langs.js
===================================================================
--- admin/js/_langs.js	(revision 0)
+++ admin/js/_langs.js	(revision 2566)
Index: admin/js/_plugins.js
===================================================================
--- admin/js/_plugins.js	(revision 2487)
+++ admin/js/_plugins.js	(revision 2566)
Index: admin/js/_posts_list.js
===================================================================
--- admin/js/_posts_list.js	(revision 2531)
+++ admin/js/_posts_list.js	(revision 2566)
@@ -3,5 +3,5 @@
 	var postId = $(line).attr('id').substr(1);
 	var tr = document.getElementById('pe'+postId);
-	
+
 	if ( !tr && ( action == 'toggle' || action == 'open' ) ) {
 		tr = document.createElement('tr');
@@ -11,14 +11,14 @@
 		td.className = 'expand';
 		tr.appendChild(td);
-		
+
 		// Get post content
 		$.get('services.php',{f:'getPostById', id: postId, post_type: ''},function(data) {
 			var rsp = $(data).children('rsp')[0];
-			
+
 			if (rsp.attributes[0].value == 'ok') {
 				var post = $(rsp).find('post_display_content').text();
 				var post_excerpt = $(rsp).find('post_display_excerpt').text();
 				var res = '';
-				
+
 				if (post) {
 					if (post_excerpt) {
@@ -32,5 +32,5 @@
 			}
 		});
-		
+
 		$(line).addClass('expand');
 		line.parentNode.insertBefore(tr,line.nextSibling);
Index: admin/js/_preferences-dragdrop.js
===================================================================
--- admin/js/_preferences-dragdrop.js	(revision 1795)
+++ admin/js/_preferences-dragdrop.js	(revision 2566)
Index: admin/js/_preferences.js
===================================================================
--- admin/js/_preferences.js	(revision 2101)
+++ admin/js/_preferences.js	(revision 2566)
@@ -3,7 +3,7 @@
 		return;
 	}
-	
+
 	var user_email = $('#user_email').val();
-	
+
 	$('#user-form').submit(function() {
 		var e = this.elements['cur_pwd'];
Index: admin/js/_trackbacks.js
===================================================================
--- admin/js/_trackbacks.js	(revision 0)
+++ admin/js/_trackbacks.js	(revision 2566)
Index: admin/js/_users.js
===================================================================
--- admin/js/_users.js	(revision 860)
+++ admin/js/_users.js	(revision 2566)
@@ -9,5 +9,5 @@
 		var i;
 		var msg_cannot_delete = false;
-		
+
 		$(this).find('input[name="users[]"]').each(function() {
 			user_ids.push(this);
@@ -16,5 +16,5 @@
 			nb_posts.push(this.value);
 		});
-		
+
 		if (action == 'deleteuser') {
 			for (i=0; i<user_ids.length; i++) {
@@ -30,18 +30,18 @@
 			}
 		}
-		
+
 		var selectfields = 0;
 		for (i=0; i<user_ids.length; i++) {
 			selectfields += user_ids[i].checked;
 		}
-		
+
 		if (selectfields == 0) {
 			return false;
 		}
-		
+
 		if (action == 'deleteuser') {
 			return window.confirm(dotclear.msg.confirm_delete_user.replace('%s',$('input[name="users[]"]:checked').size()));
 		}
-		
+
 		return true;
 	});
Index: admin/js/_users_actions.js
===================================================================
--- admin/js/_users_actions.js	(revision 1449)
+++ admin/js/_users_actions.js	(revision 2566)
@@ -1,13 +1,13 @@
 jQuery.fn.updatePermissionsForm = function() {
 	return this.each(function() {
-		
+
 		var perms = {};
 		var re = /^perm\[(.+?)\]\[(.+?)\]$/;
 		var e,prop;
-		
+
 		// Building a nice object of form elements
 		for (var i=0; i<this.elements.length; i++) {
 			e = this.elements[i];
-			
+
 			if (e.name == undefined) {
 				continue;
@@ -22,5 +22,5 @@
 			}
 			perms[prop[1]][prop[2]] = e;
-			
+
 			// select related permissions for admin
 			if (prop[2] == 'admin') {
@@ -49,8 +49,8 @@
 			}
 		}
-		
+
 		function admin(E,perms,re) {
 					P = E.name.match(re);
-					
+
 					perms[P[1]]['usage'].checked = E.checked;
 					perms[P[1]]['publish'].checked = E.checked;
@@ -68,8 +68,8 @@
 					perms[P[1]]['media_admin'].disabled = E.checked;
 		}
-		
+
 		function contentadmin(E,perms,re) {
 					P = E.name.match(re);
-					
+
 					perms[P[1]]['usage'].checked = E.checked;
 					perms[P[1]]['publish'].checked = E.checked;
@@ -79,13 +79,13 @@
 					perms[P[1]]['delete'].disabled = E.checked;
 		}
-		
+
 		function mediaadmin(E,perms,re) {
 					P = E.name.match(re);
-					
+
 					perms[P[1]]['media'].checked = E.checked;
 					perms[P[1]]['media'].disabled = E.checked;
 		}
-		
-		
+
+
 	});
 };
Index: admin/js/color-picker.js
===================================================================
--- admin/js/color-picker.js	(revision 2335)
+++ admin/js/color-picker.js	(revision 2566)
@@ -7,10 +7,10 @@
 		var colbox, f;
 		var colbox = $('#jquery-colorpicker')[0];
-		
+
 		if (colbox == undefined) {
 			colbox = document.createElement('div');
 			colbox.id = 'jquery-colorpicker';
 			colbox.linkedto = null;
-			
+
 			$(colbox).addClass('color-color-picker');
 			$(colbox).css({display: 'none', position: 'absolute'});
@@ -19,11 +19,11 @@
 		f = $.farbtastic(colbox);
 		f.linkTo(this);
-		
+
 		var handler = $(document.createElement('img'));
 		handler.attr('src','images/picker.png');
 		handler.attr('alt','');
-		
+
 		var span = $(document.createElement('span'));
-		
+
 		if ($(this).css('position') == 'absolute') {
 			span.css('position','absolute');
@@ -35,5 +35,5 @@
 		}
 		span.css('display','inline-block');
-		
+
 		/*ligne supprimée car elle ne fait pas le calcul
 		du width de l'input et ça fout la merde */
@@ -42,5 +42,5 @@
 		$(this).wrap(span);
 		$(this).after(handler);
-		
+
 		var offset = $(this).offset();
 		handler.css({
@@ -51,7 +51,7 @@
 			//right: 0
 		});
-		
+
 		handler.css({cursor: 'default'});
-		
+
 		var This = this;
 		handler.click(function() {
@@ -68,5 +68,5 @@
 				$(colbox).show();
 				colbox.linkedto = this;
-				
+
 			} else {
 				$(colbox).hide();
Index: admin/js/common.js
===================================================================
--- admin/js/common.js	(revision 2531)
+++ admin/js/common.js	(revision 2566)
@@ -79,5 +79,5 @@
 		p.hide = p.reverse_cookie;
 	}
-	
+
 	var set_user_pref = p.hide ^ p.reverse_user_pref;
 	if (p.user_pref && p.unfolded_sections !== undefined && (p.user_pref in p.unfolded_sections)) {
@@ -131,9 +131,9 @@
 			if (p.user_pref && set_user_pref) {
 				if (p.hide ^ p.reverse_user_pref) {
-					jQuery.post('services.php', 
+					jQuery.post('services.php',
 						{'f':'setSectionFold','section':p.user_pref,'value':1,xd_check: dotclear.nonce},
 						function(data) {});
 				} else {
-					jQuery.post('services.php', 
+					jQuery.post('services.php',
 						{'f':'setSectionFold','section':p.user_pref,'value':0,xd_check: dotclear.nonce},
 						function(data) {});
@@ -168,5 +168,5 @@
 		});
 	}
-	
+
 	var singleExpander = function singleExpander(line) {
 		$('<input type="image" src="'+dotclear.img_plus_src+'" alt="'+dotclear.img_plus_alt+'"/>')
@@ -178,5 +178,5 @@
 			.prependTo($(line).children().get(0)); // first td
 	};
-	
+
 	var multipleExpander = function multipleExpander(line,lines) {
 		$('<input type="image" src="'+dotclear.img_plus_src+'" alt="'+dotclear.img_plus_alt+'"/>')
@@ -203,5 +203,5 @@
 			}
 		}
-		
+
 		if (action=='open') {
 			button.src = dotclear.img_minus_src;
@@ -211,5 +211,5 @@
 			button.alt = dotclear.img_plus_alt;
 		}
-		
+
 		return action;
 	}
@@ -286,5 +286,5 @@
 
 	$('#content').append(img);
-	
+
 	// listen for scroll
 	var peInPage = $('#help-button').offset().top;
@@ -428,5 +428,5 @@
 			return color;
 		}
-		var result = /^rgb\((\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\)$/.exec(color);		
+		var result = /^rgb\((\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\)$/.exec(color);
 		if ( result === null) {
 			return '';
@@ -464,5 +464,5 @@
 	// remove class no-js from html tag; cf style/default.css for examples
 	$('body').removeClass('no-js').addClass('with-js');
-	
+
 	$('body').contents().each(function() {
 		if (this.nodeType==8) {
Index: admin/js/confirm-close.js
===================================================================
--- admin/js/confirm-close.js	(revision 0)
+++ admin/js/confirm-close.js	(revision 2566)
@@ -1,4 +1,4 @@
 function confirmClose() {
-	
+
 	if (arguments.length > 0) {
 		for (var i=0; i<arguments.length; i++) {
@@ -13,5 +13,5 @@
 	forms: new Array(),
 	formSubmit: false,
-	
+
 	getCurrentForms: function() {
 		var formsInPage = this.getForms();
@@ -25,5 +25,5 @@
 			}
 			this.forms.push(tmpForm);
-			
+
 			chainHandler(f,'onsubmit',function() {
 				This.formSubmit = true;
@@ -31,10 +31,10 @@
 		}
 	},
-	
+
 	compareForms: function() {
 		if (this.forms.length == 0) {
 			return true;
 		}
-		
+
 		var formsInPage = this.getForms();
 		var f;
@@ -47,13 +47,13 @@
 			}
 		}
-		
+
 		return true;
 	},
-	
+
 	getForms: function() {
 		if (!document.getElementsByTagName || !document.getElementById) {
 			return new Array();
 		}
-		
+
 		if (this.forms_id.length > 0) {
 			var res = new Array();
@@ -69,8 +69,8 @@
 			return document.getElementsByTagName('form');
 		}
-		
+
 		return new Array();
 	},
-	
+
 	getFormElementValue: function(e) {
 		if (e.type != undefined && e.type == 'radio') {
@@ -84,5 +84,5 @@
 		}
 	},
-	
+
 	getFormCheckValue: function(e) {
 		if (e.checked) {
@@ -91,5 +91,5 @@
 		return null;
 	},
-	
+
 	getFormRadioValue: function(e) {
 		for (var i=0; i <e.length; i++) {
@@ -114,5 +114,5 @@
 		event_ = window.event;
 	}
-	
+
 	if (!confirmClosePage.formSubmit && !confirmClosePage.compareForms()) {
 		event_.returnValue = confirmClosePage.prompt;
Index: admin/js/date-picker.js
===================================================================
--- admin/js/date-picker.js	(revision 0)
+++ admin/js/date-picker.js	(revision 2566)
@@ -2,9 +2,9 @@
 {
 	if (!document.getElementById) { return; }
-	
+
 	if (!target || target.nodeName.toLowerCase() != 'input') {
 		return;
 	}
-	
+
 	this.target = target;
 	this.oTable = document.createElement('table');
@@ -17,16 +17,16 @@
 	this.oTable.id = 'dc_datepicker_'+target.id;
 	this.oTable.className = 'date-picker';
-	
+
 	var cur = 1;
 	var oRow, oHeading, oSpan;
-	
+
 	// Set title
 	oRow = document.createElement('tr');
-	
+
 	// Month block
 	oHeading = document.createElement('th');
 	oHeading.colSpan = 4;
 	oHeading.className = 'date-picker-month';
-	
+
 	var nav = document.createElement('span');
 	nav.appendChild(document.createTextNode(String.fromCharCode(171)));
@@ -36,7 +36,7 @@
 	nav.className = 'date-picker-control';
 	oHeading.appendChild(nav);
-	
-	oHeading.appendChild(document.createTextNode(String.fromCharCode(160)));
-	
+
+	oHeading.appendChild(document.createTextNode(String.fromCharCode(160)));
+
 	nav = document.createElement('span');
 	nav.appendChild(document.createTextNode(String.fromCharCode(187)));
@@ -46,20 +46,20 @@
 	nav.className = 'date-picker-control';
 	oHeading.appendChild(nav);
-	
-	oHeading.appendChild(document.createTextNode(String.fromCharCode(160)));
-	
+
+	oHeading.appendChild(document.createTextNode(String.fromCharCode(160)));
+
 	oHeading.appendChild(this.oMonth);
-	
+
 	oRow.appendChild(oHeading);
-	
+
 	// Year block
 	oHeading = document.createElement('th');
 	oHeading.colSpan = 3;
 	oHeading.className = 'date-picker-year';
-	
+
 	oHeading.appendChild(this.oYear);
-	
-	oHeading.appendChild(document.createTextNode(String.fromCharCode(160)));
-	
+
+	oHeading.appendChild(document.createTextNode(String.fromCharCode(160)));
+
 	nav = document.createElement('span');
 	nav.appendChild(document.createTextNode(String.fromCharCode(171)));
@@ -69,7 +69,7 @@
 	nav.className = 'date-picker-control';
 	oHeading.appendChild(nav);
-	
-	oHeading.appendChild(document.createTextNode(String.fromCharCode(160)));
-	
+
+	oHeading.appendChild(document.createTextNode(String.fromCharCode(160)));
+
 	nav = document.createElement('span');
 	nav.appendChild(document.createTextNode(String.fromCharCode(187)));
@@ -79,9 +79,9 @@
 	nav.className = 'date-picker-control';
 	oHeading.appendChild(nav);
-	
+
 	oRow.appendChild(oHeading);
-	
+
 	this.oBody.appendChild(oRow);
-	
+
 	// Create legend
 	oRow = document.createElement('tr');
@@ -95,9 +95,9 @@
 	}
 	this.oBody.appendChild(oRow);
-	
+
 	// Create 6 rows of 7 cols for days
 	for (var i=0; i<6; i++) {
 		oRow = document.createElement('tr');
-		
+
 		for (var j=0; j<7; j++) {
 			this.oDates[cur] = document.createElement('td');
@@ -107,11 +107,11 @@
 			cur++;
 		}
-		
+
 		this.oBody.appendChild(oRow);
 	}
-	
+
 	// Time controls
 	oRow = document.createElement('tr');
-	
+
 	oHeading = document.createElement('th');
 	oHeading.className = 'date-picker-control';
@@ -121,10 +121,10 @@
 	oHeading.obj = this;
 	oHeading.onclick = function() { this.fn.call(this.obj); };
-	
+
 	oRow.appendChild(oHeading);
-	
+
 	oHeading = document.createElement('th');
 	oHeading.colSpan = 5;
-	
+
 	oSpan = document.createElement('span');
 	oSpan.className = 'date-picker-control';
@@ -143,13 +143,13 @@
 	oHeading.appendChild(oSpan);
 	oHeading.appendChild(document.createTextNode(String.fromCharCode(160)));
-	
+
 	this.oHour.size = 3;
 	oHeading.appendChild(this.oHour);
-	
+
 	oHeading.appendChild(document.createTextNode(' : '));
-	
+
 	this.oMinute.size = 3;
 	oHeading.appendChild(this.oMinute);
-	
+
 	oHeading.appendChild(document.createTextNode(String.fromCharCode(160)));
 	oSpan = document.createElement('span');
@@ -167,9 +167,9 @@
 	oSpan.obj = this;
 	oSpan.onclick = function() { this.fn.call(this.obj,+1); };
-	
+
 	oHeading.appendChild(oSpan);
-	
+
 	oRow.appendChild(oHeading);
-	
+
 	// Close control
 	oHeading = document.createElement('th');
@@ -180,7 +180,7 @@
 	oHeading.obj = this;
 	oHeading.onclick = function() { this.fn.call(this.obj); };
-	
+
 	oRow.appendChild(oHeading);
-	
+
 	this.oBody.appendChild(oRow);
 };
@@ -192,27 +192,27 @@
 	hour: 0,
 	minute: 0,
-	
+
 	img_src: '',
 	img_top: '0.2em',
 	now_msg: 'now',
 	close_msg: 'close',
-	
+
 	days: new Array('Monday','Tuesday','Wednesday','Thursday','Friday',
 	'Saturday','Sunday'),
-	
+
 	months: new Array('January','February','March','April','May','June',
 	'July','August','September','October','November','December'),
-	
-	
+
+
 	setDate: function() {
 		if (this.numberOfDays() < this.day) {
 			this.day = this.numberOfDays();
 		}
-		
+
 		while (this.oYear.hasChildNodes()) {
 			this.oYear.removeChild(this.oYear.firstChild)
 		}
 		this.oYear.appendChild(document.createTextNode(this.year));
-		
+
 		while (this.oMonth.hasChildNodes()) {
 			this.oMonth.removeChild(this.oMonth.firstChild)
@@ -220,8 +220,8 @@
 		this.oMonth.appendChild(document.createTextNode(
 			this.months[this.month-1]));
-		
+
 		var firstDay = this.firstDay();
 		var nbDays = this.numberOfDays();
-		
+
 		// Empty days
 		for (var i=1; i<=42; i++) {
@@ -233,13 +233,13 @@
 			this.oDates[i].onclick = function() { return; };
 		}
-		
+
 		// Insert days from the first day to the last
 		for (i=1; i<=nbDays; i++) {
 			var j=firstDay+i-1;
-			
+
 			while (this.oDates[j].hasChildNodes()) {
 				this.oDates[j].removeChild(this.oDates[j].firstChild)
 			}
-			
+
 			this.oDates[j].appendChild(document.createTextNode(i));
 			this.oDates[j].index = i;
@@ -253,70 +253,70 @@
 			}
 		}
-		
+
 		// Set time
 		this.setHour(this.hour);
 		this.setMinute(this.minute);
 	},
-	
+
 	setHour: function(h) {
 		if (h < 0) { h = 23; }
 		if (h > 23) { h = 0; }
 		if (h < 10) { h = '0'+h; }
-		
+
 		this.hour = h*1;
 		this.oHour.value = h;
 	},
-	
+
 	setMinute: function(m) {
 		if (m < 0) { m = 59; }
 		if (m > 59) { m = 0; }
 		if (m < 10) { m = '0'+m; }
-		
+
 		this.minute = m*1;
 		this.oMinute.value = m;
 	},
-	
+
 	changeMonth: function(dir) {
 		var y = this.year;
 		var m = this.month;
 		m = m+dir;
-		
+
 		if (m > 12) { this.month = 1; this.year++; }
 		else if ( m < 1) { this.month = 12; this.year--; }
 		else { this.month = m; }
-		
+
 		this.setDate();
 	},
-	
+
 	changeYear: function(dir) {
 		this.year = this.year + dir;
 		this.setDate();
 	},
-	
+
 	changeHour: function(dir) {
 		this.setHour(this.hour*1+dir);
 	},
-	
+
 	changeMinute: function(dir) {
 		this.setMinute(this.minute*1+dir);
 	},
-	
+
 	sendDate: function(d) {
 		var m = this.month;
 		var hour = this.oHour.value*1;
 		var minute = this.oMinute.value*1;
-		
+
 		if (hour < 0 || hour > 23 || isNaN(hour)) { hour = 0; }
 		if (minute < 0 || minute > 59 || isNaN(minute)) { minute = 0; }
-		
+
 		if (m < 10) { m = '0'+m; }
 		if (d < 10) { d = '0'+d; }
 		if (hour < 10) { hour = '0'+hour; }
 		if (minute < 10) { minute = '0'+minute; }
-		
+
 		this.target.value = this.year+'-'+m+'-'+d+' '+hour+':'+minute;
 		this.close();
 	},
-	
+
 	sendNow: function() {
 		var dt = new Date();
@@ -326,18 +326,18 @@
 		var h = dt.getHours();
 		var i = dt.getMinutes();
-		
+
 		if (m < 10) { m = '0'+m; }
 		if (d < 10) { d = '0'+d; }
 		if (h < 10) { h = '0'+h; }
 		if (i < 10) { i = '0'+i; }
-		
+
 		this.target.value = y+'-'+m+'-'+d+' '+h+':'+i;
 		this.close();
 	},
-	
+
 	close: function() {
 		document.body.removeChild(this.oTable);
 	},
-	
+
 	numberOfDays: function() {
 		var res = 31;
@@ -352,19 +352,19 @@
 			}
 		}
-		
+
 		return res;
 	},
-	
+
 	firstDay: function() {
 		var dt = new Date(this.year,this.month-1,1);
 		var res = dt.getDay();
-		
+
 		if (res == 0) {
 			res = 7;
 		}
-		
+
 		return res;
 	},
-	
+
 	show: function() {
 		// Parsing target value
@@ -385,5 +385,5 @@
 			this.minute = dt.getMinutes();
 		}
-		
+
 		this.oTable.appendChild(this.oBody);
 		this.setDate();
@@ -392,5 +392,5 @@
 		this.oHour.focus();
 	},
-	
+
 	setPosition: function() {
 		var t_x = this.findPosX(this.target);
@@ -398,5 +398,5 @@
 		var o_h = this.oTable.offsetHeight;
 		var o_w = this.oTable.offsetWidth;
-		
+
 		this.oTable.style.position = 'absolute';
 		this.oTable.style.zIndex = '100';
@@ -404,5 +404,5 @@
 		this.oTable.style.left = t_x+'px';
 	},
-	
+
 	findPosX: function(obj) {
 		var curleft = 0;
@@ -420,5 +420,5 @@
 		return curleft;
 	},
-	
+
 	findPosY: function(obj) {
 		var curtop = 0;
@@ -436,5 +436,5 @@
 		return curtop;
 	},
-	
+
 	draw: function() {
 		var imgE = document.createElement('img');
@@ -446,5 +446,5 @@
 		imgE.fn = this.show;
 		imgE.onclick = function() { this.fn.apply(this.obj); };
-		
+
 		this.target.parentNode.style.position = 'relative';
 		this.target.parentNode.insertBefore(imgE,this.target.nextSibling);
Index: admin/js/dragsort-tablerows.js
===================================================================
--- admin/js/dragsort-tablerows.js	(revision 0)
+++ admin/js/dragsort-tablerows.js	(revision 2566)
@@ -1,9 +1,9 @@
 ToolMan._dragsortFactory.makeTableSortable = function(table) {
 	if (table == null) return;
-	
+
 	var helpers = ToolMan.helpers();
 	var coordinates = ToolMan.coordinates();
 	var items = table.getElementsByTagName("tr");
-	
+
 	helpers.map(items, function(item) {
 		var dragGroup = dragsort.makeSortable(item);
Index: admin/js/filter-controls.js
===================================================================
--- admin/js/filter-controls.js	(revision 2128)
+++ admin/js/filter-controls.js	(revision 2566)
@@ -1,7 +1,7 @@
 $(function() {
-	
+
 	$filtersform = $('#filters-form');
 	$filtersform.before('<p><a id="filter-control" class="form-control" href="?" style="display:inline">'+dotclear.msg.filter_posts_list+'</a></p>')
-	
+
 	if( dotclear.msg.show_filters == 'false' ) {
 		$filtersform.hide();
@@ -11,5 +11,5 @@
 			.text(dotclear.msg.cancel_the_filter);
 	}
-	
+
 	$('#filter-control').click(function() {
 		if( $(this).hasClass('open') ) {
Index: admin/js/jsToolBar/jsToolBar.dotclear.js
===================================================================
--- admin/js/jsToolBar/jsToolBar.dotclear.js	(revision 1753)
+++ admin/js/jsToolBar/jsToolBar.dotclear.js	(revision 2566)
@@ -8,8 +8,8 @@
 	window.the_toolbar = this;
 	args = args || '';
-	
+
 	this.elements.link.data = {};
 	var url = this.elements.link.open_url+args;
-	
+
 	var p_win = window.open(url,'dc_popup',
 	'alwaysRaised=yes,dependent=yes,toolbar=yes,height=420,width=520,'+
@@ -22,15 +22,15 @@
 jsToolBar.prototype.elements.link.fncall.wiki = function() {
 	var data = this.elements.link.data;
-	
+
 	if (data.href == '') { return; }
-	
+
 	var etag = '|'+data.href;
 	if (data.hreflang) { etag += '|'+data.hreflang; }
-	
+
 	if (data.title) {
 		if (!data.hreflang) { etag += '|'; }
 		etag += '|'+data.title;
 	}
-	
+
 	if (data.content) {
 		this.encloseSelection('['+data.content,etag+']');
@@ -45,14 +45,14 @@
 jsToolBar.prototype.elements.link.fncall.xhtml = function() {
 	var data = this.elements.link.data;
-	
+
 	if (data.href == '') { return; }
-	
+
 	var stag = '<a href="'+data.href+'"';
-	
+
 	if (data.hreflang) { stag += ' hreflang="'+data.hreflang+'"'; }
 	if (data.title) { stag += ' title="'+data.title+'"'; }
 	stag += '>';
 	var etag = '</a>';
-	
+
 	if (data.content) {
 		this.encloseSelection('','',function() {
@@ -68,7 +68,7 @@
 	href = title = hreflang = '';
 	hreflang = this.elements.link.default_hreflang;
-	
+
 	var a = this.getAncestor();
-	
+
 	if (a.tagName == 'a') {
 		href= a.tag.href || '';
@@ -76,12 +76,12 @@
 		hreflang = a.tag.hreflang || '';
 	}
-	
+
 	this.elements.link.popup.call(this,'?href='+href+'&hreflang='+hreflang+'&title='+title);
 };
 jsToolBar.prototype.elements.link.fncall.wysiwyg = function() {
 	var data = this.elements.link.data;
-	
+
 	var a = this.getAncestor();
-	
+
 	if (a.tagName == 'a') {
 		if (data.href == '') {
@@ -106,5 +106,5 @@
 		}
 	}
-	
+
 	// Create link
 	if (data.content) {
@@ -123,5 +123,5 @@
 	var res = {};
 	var range, commonAncestorContainer;
-	
+
 	if (this.iwin.getSelection) { //gecko
 		var selection = this.iwin.getSelection();
@@ -135,5 +135,5 @@
 		commonAncestorContainer = range.parentElement();
 	}
-	
+
 	var ancestorTagName = commonAncestorContainer.tagName.toLowerCase();
 	while (ancestorTagName!='a' && ancestorTagName!='body') {
@@ -141,8 +141,8 @@
 		ancestorTagName = commonAncestorContainer.tagName.toLowerCase();
 	}
-	
+
 	res.tag = commonAncestorContainer;
 	res.tagName = ancestorTagName;
-	
+
 	return res;
 };
@@ -160,5 +160,5 @@
 		window.the_toolbar = this;
 		this.elements.img_select.data = {};
-		
+
 		var p_win = window.open(this.elements.img_select.open_url,'dc_popup',
 		'alwaysRaised=yes,dependent=yes,toolbar=yes,height=500,width=760,'+
@@ -172,9 +172,9 @@
 	var d = this.elements.img_select.data;
 	if (d.src == undefined) { return; }
-	
+
 	this.encloseSelection('','',function(str) {
 		var alt = (str) ? str : d.title;
 		var res = '(('+d.src+'|'+alt;
-		
+
 		if (d.alignment == 'left') {
 			res += '|L';
@@ -186,16 +186,16 @@
 			res += '|';
 		}
-		
+
 		if (d.description) {
 			res += '|'+d.description;
 		}
-		
+
 		res += '))';
-		
+
 		if (d.link) {
 			var ltitle = (alt) ? '||'+alt : '';
 			res = '['+res+'|'+d.url+ltitle+']';
 		}
-		
+
 		return res;
 	});
@@ -207,9 +207,9 @@
 	var d = this.elements.img_select.data;
 	if (d.src == undefined) { return; }
-	
+
 	this.encloseSelection('','',function(str) {
 		var alt = (str) ? str : d.title;
 		var res = '<img src="'+d.src+'" alt="'+alt.replace('&','&amp;').replace('>','&gt;').replace('<','&lt;').replace('"','&quot;')+'"';
-		
+
 		if (d.alignment == 'left') {
 			res += ' style="float: left; margin: 0 1em 1em 0;"';
@@ -219,16 +219,16 @@
 			res += ' style="margin: 0 auto; display: block;"';
 		}
-		
+
 		if (d.description) {
 			res += ' title="'+d.description.replace('&','&amp;').replace('>','&gt;').replace('<','&lt;').replace('"','&quot;')+'"';
 		}
-		
+
 		res += ' />';
-		
+
 		if (d.link) {
 			var ltitle = (alt) ? ' title="'+alt.replace('&','&amp;').replace('>','&gt;').replace('<','&lt;').replace('"','&quot;')+'"' : '';
 			res = '<a href="'+d.url+'"'+ltitle+'>'+res+'</a>';
 		}
-		
+
 		return res;
 	});
@@ -238,9 +238,9 @@
 	var src = this.elements.img.prompt.call(this);
 	if (!src) { return; }
-	
+
 	var img = this.iwin.document.createElement('img');
 	img.src = src;
 	img.setAttribute('alt',this.getSelectedText());
-	
+
 	this.insertNode(img);
 };
@@ -253,10 +253,10 @@
 	var alt = (this.getSelectedText()) ? this.getSelectedText() : d.title;
 	if (d.src == undefined) { return; }
-	
+
 	var img = this.iwin.document.createElement('img');
 	img.src = d.src;
 	img.setAttribute('alt',alt);
-	
-	
+
+
 	if (d.alignment == 'left') {
 		if (img.style.styleFloat != undefined) {
@@ -286,9 +286,9 @@
 		img.style.display = 'block';
 	}
-	
+
 	if (d.description) {
 		img.setAttribute('title',d.description);
 	}
-	
+
 	if (d.link) {
 		var a = this.iwin.document.createElement('a');
@@ -309,5 +309,5 @@
 	var d = this.elements.mp3_insert.data;
 	if (d.player == undefined) { return; }
-	
+
 	this.encloseSelection('','',function(str) {
 		return '\n///html\n' + d.player + '///\n';
@@ -317,5 +317,5 @@
 	var d = this.elements.mp3_insert.data;
 	if (d.player == undefined) { return; }
-	
+
 	this.encloseSelection('','',function(str) {
 		return '\n' + d.player + '\n';
@@ -331,5 +331,5 @@
 	var d = this.elements.flv_insert.data;
 	if (d.player == undefined) { return; }
-	
+
 	this.encloseSelection('','',function(str) {
 		return '\n///html\n' + d.player + '///\n';
@@ -339,5 +339,5 @@
 	var d = this.elements.flv_insert.data;
 	if (d.player == undefined) { return; }
-	
+
 	this.encloseSelection('','',function(str) {
 		return '\n' + d.player + '\n';
@@ -360,5 +360,5 @@
 		window.the_toolbar = this;
 		this.elements.img_select.data = {};
-		
+
 		var p_win = window.open(this.elements.post_link.open_url,'dc_popup',
 		'alwaysRaised=yes,dependent=yes,toolbar=yes,height=500,width=760,'+
@@ -378,5 +378,5 @@
 // Last space element
 jsToolBar.prototype.elements.space3 = {
-	type:'space', 
+	type:'space',
 	format:{
 		wysiwyg:true,
Index: admin/js/jsToolBar/jsToolBar.js
===================================================================
--- admin/js/jsToolBar/jsToolBar.js	(revision 1759)
+++ admin/js/jsToolBar/jsToolBar.js	(revision 2566)
@@ -8,10 +8,10 @@
  * the Free Software Foundation; either version 2 of the License, or
  * (at your option) any later version.
- * 
+ *
  * DotClear is distributed in the hope that it will be useful,
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  * GNU General Public License for more details.
- * 
+ *
  * You should have received a copy of the GNU General Public License
  * along with DotClear; if not, write to the Free Software
@@ -23,29 +23,29 @@
 function jsToolBar(textarea) {
 	if (!document.createElement) { return; }
-	
+
 	if (!textarea) { return; }
-	
+
 	if ((typeof(document["selection"]) == "undefined")
 	&& (typeof(textarea["setSelectionRange"]) == "undefined")) {
 		return;
 	}
-	
+
 	this.textarea = textarea;
-	
+
 	this.editor = document.createElement('div');
 	this.editor.className = 'jstEditor';
-	
+
 	this.textarea.parentNode.insertBefore(this.editor,this.textarea);
 	this.editor.appendChild(this.textarea);
-	
+
 	this.toolbar = document.createElement("div");
 	this.toolbar.className = 'jstElements';
 	this.editor.parentNode.insertBefore(this.toolbar,this.editor);
-	
+
 	// Dragable resizing (only for gecko)
 	if (navigator.appName == 'Microsoft Internet Explorer')
 	{
 		if (this.editor.addEventListener)
-		{		
+		{
 			this.handle = document.createElement('div');
 			this.handle.className = 'jstHandle';
@@ -56,7 +56,7 @@
 		}
 	}
-	
+
 	this.context = null;
-	this.toolNodes = {}; // lorsque la toolbar est dessinée , cet objet est garni 
+	this.toolNodes = {}; // lorsque la toolbar est dessinée , cet objet est garni
 					// de raccourcis vers les éléments DOM correspondants aux outils.
 };
@@ -70,5 +70,5 @@
 jsButton.prototype.draw = function() {
 	if (!this.scope) return null;
-	
+
 	var button = document.createElement('button');
 	button.setAttribute('type','button');
@@ -78,5 +78,5 @@
 	span.appendChild(document.createTextNode(this.title));
 	button.appendChild(span);
-	
+
 	if (this.icon != undefined) {
 		button.style.backgroundImage = 'url('+this.icon+')';
@@ -99,5 +99,5 @@
 	span.className = 'jstSpacer';
 	if (this.width) span.style.marginRight = this.width+'px';
-	
+
 	return span;
 };
@@ -112,9 +112,9 @@
 jsCombo.prototype.draw = function() {
 	if (!this.scope || !this.options) return null;
-	
+
 	var select = document.createElement('select');
 	if (this.className) select.className = className;
 	select.title = this.title;
-	
+
 	for (var o in this.options) {
 		//var opt = this.options[o];
@@ -124,14 +124,14 @@
 		select.appendChild(option);
 	}
-	
+
 	var This = this;
 	select.onchange = function() {
-		try { 
+		try {
 			This.fn.call(This.scope, this.value);
 		} catch (e) { alert(e); }
-		
+
 		return false;
 	};
-	
+
 	return select;
 };
@@ -142,18 +142,18 @@
 	mode: 'xhtml',
 	elements: {},
-	
+
 	getMode: function() {
 		return this.mode;
 	},
-	
+
 	setMode: function(mode) {
 		this.mode = mode || 'xhtml';
 	},
-	
+
 	switchMode: function(mode) {
 		mode = mode || 'xhtml';
 		this.draw(mode);
 	},
-	
+
 	button: function(toolName) {
 		var tool = this.elements[toolName];
@@ -175,9 +175,9 @@
 	combo: function(toolName) {
 		var tool = this.elements[toolName];
-		
+
 		if( tool[this.mode] != undefined) {
-			
+
 			var length = tool[this.mode].list.length;
-			
+
 			if (typeof tool[this.mode].fn != 'function' || length == 0) {
 				return null;
@@ -190,11 +190,11 @@
 				return new jsCombo(tool.title, options, this, tool[this.mode].fn);
 			}
-			
-		}
-		
+
+		}
+
 	},
 	draw: function(mode) {
 		this.setMode(mode);
-		
+
 		// Empty toolbar
 		while (this.toolbar.hasChildNodes()) {
@@ -202,16 +202,16 @@
 		}
 		this.toolNodes = {}; // vide les raccourcis DOM/**/
-		
+
 		// Draw toolbar elements
 		var b, tool, newTool;
-		
+
 		for (var i in this.elements) {
 			b = this.elements[i];
-			
+
 			var disabled =
 			b.type == undefined || b.type == ''
 			|| (b.disabled != undefined && b.disabled)
 			|| (b.context != undefined && b.context != null && b.context != this.context);
-			
+
 			if (!disabled && typeof this[b.type] == 'function') {
 				tool = this[b.type](i);
@@ -224,22 +224,22 @@
 		}
 	},
-	
+
 	singleTag: function(stag,etag) {
 		stag = stag || null;
 		etag = etag || stag;
-		
+
 		if (!stag || !etag) { return; }
-		
+
 		this.encloseSelection(stag,etag);
 	},
-	
+
 	encloseSelection: function(prefix, suffix, fn) {
 		this.textarea.focus();
-		
+
 		prefix = prefix || '';
 		suffix = suffix || '';
-		
+
 		var start, end, sel, scrollPos, subst, res;
-		
+
 		if (typeof(document["selection"]) != "undefined") {
 			sel = document.selection.createRange().text;
@@ -250,10 +250,10 @@
 			sel = this.textarea.value.substring(start, end);
 		}
-		
+
 		if (sel.match(/ $/)) { // exclude ending space char, if any
 			sel = sel.substring(0, sel.length - 1);
 			suffix = suffix + " ";
 		}
-		
+
 		if (typeof(fn) == 'function') {
 			res = (sel) ? fn.call(this,sel) : fn('');
@@ -261,7 +261,7 @@
 			res = (sel) ? sel : '';
 		}
-		
+
 		subst = prefix + res + suffix;
-		
+
 		if (typeof(document["selection"]) != "undefined") {
 			var range = document.selection.createRange().text = subst;
@@ -278,5 +278,5 @@
 		}
 	},
-	
+
 	stripBaseURL: function(url) {
 		if (this.base_url != '') {
@@ -286,5 +286,5 @@
 			}
 		}
-		
+
 		return url;
 	}
@@ -355,5 +355,5 @@
 // spacer
 jsToolBar.prototype.elements.space0 = {
-	type:'space', 
+	type:'space',
 	format:{
 		wysiwyg:true,
@@ -425,5 +425,5 @@
 // spacer
 jsToolBar.prototype.elements.space1 = {
-	type:'space', 
+	type:'space',
 	format:{
 		wysiwyg:true,
@@ -445,5 +445,5 @@
 // spacer
 jsToolBar.prototype.elements.space2 = {
-	type:'space', 
+	type:'space',
 	format:{
 		wysiwyg:true,
@@ -523,5 +523,5 @@
 // spacer
 jsToolBar.prototype.elements.space3 = {
-	type:'space', 
+	type:'space',
 	format:{
 		wysiwyg:true,
@@ -542,11 +542,11 @@
 		href = href || '';
 		hreflang = hreflang || this.elements.link.default_hreflang;
-		
+
 		href = window.prompt(this.elements.link.href_prompt,href);
 		if (!href) { return false; }
-		
+
 		hreflang = window.prompt(this.elements.link.hreflang_prompt,
 		hreflang);
-		
+
 		return { href: this.stripBaseURL(href), hreflang: hreflang };
 	}
@@ -560,5 +560,5 @@
 		stag = stag+'>';
 		var etag = '</a>';
-		
+
 		this.encloseSelection(stag,etag);
 	}
@@ -571,5 +571,5 @@
 		if (link.hreflang) { etag = etag+'|'+link.hreflang; }
 		etag = etag+']';
-		
+
 		this.encloseSelection(stag,etag);
 	}
Index: admin/js/jsToolBar/jsToolBar.wysiwyg.js
===================================================================
--- admin/js/jsToolBar/jsToolBar.wysiwyg.js	(revision 2155)
+++ admin/js/jsToolBar/jsToolBar.wysiwyg.js	(revision 2566)
@@ -8,10 +8,10 @@
  * the Free Software Foundation; either version 2 of the License, or
  * (at your option) any later version.
- * 
+ *
  * DotClear is distributed in the hope that it will be useful,
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  * GNU General Public License for more details.
- * 
+ *
  * You should have received a copy of the GNU General Public License
  * along with DotClear; if not, write to the Free Software
@@ -32,5 +32,5 @@
 jsToolBar.prototype.draw = function(mode) {
 	mode = mode || 'xhtml';
-	
+
 	if (this.can_wwg) {
 		this.mode = 'wysiwyg';
@@ -44,5 +44,5 @@
 jsToolBar.prototype.switchMode = function(mode) {
 	mode = mode || 'xhtml';
-	
+
 	if (mode == 'xhtml') {
 		this.wwg_mode = true;
@@ -70,5 +70,5 @@
 		this.textarea.value = html;
 	}
-	
+
 	function initContent() {
 		if (!This.iframe.contentWindow.document || !This.iframe.contentWindow.document.body) {
@@ -77,5 +77,5 @@
 		}
 		This.ibody = This.iframe.contentWindow.document.body;
-		
+
 		if (This.textarea.value != '' && This.textarea.value != '<p></p>') {
 			This.ibody.innerHTML = This.applyWysiwygFilters(This.textarea.value);
@@ -139,19 +139,19 @@
 jsToolBar.prototype.initWindow = function() {
 	var This = this;
-	
+
 	this.iframe = document.createElement('iframe');
 	this.textarea.parentNode.insertBefore(this.iframe,this.textarea.nextSibling);
-	
+
 	this.switcher = document.createElement('ul');
 	this.switcher.className = 'jstSwitcher';
 	this.editor.appendChild(this.switcher);
-	
+
 	this.iframe.height = this.textarea.offsetHeight + 0;
 	this.iframe.width = this.textarea.offsetWidth + 0;
-	
+
 	if (this.textarea.tabIndex != undefined) {
 		this.iframe.tabIndex = this.textarea.tabIndex;
 	}
-	
+
 	function initIframe() {
 		var doc = This.iframe.contentWindow.document;
@@ -160,5 +160,5 @@
 			return false;
 		}
-		
+
 		doc.open();
 		var html =
@@ -171,5 +171,5 @@
 		'</body>\n'+
 		'</html>';
-		
+
 		doc.write(html);
 		doc.close();
@@ -178,13 +178,13 @@
 			// warning : doc is now inaccessible for IE6 sp1
 		}
-		
+
 		This.iwin = This.iframe.contentWindow;
-		
+
 		This.syncContents('textarea');
-		
+
 		if (This.wwg_mode == undefined) {
 			This.wwg_mode = true;
 		}
-		
+
 		if (This.wwg_mode) {
 			This.textarea.style.display = 'none';
@@ -192,5 +192,5 @@
 			This.iframe.style.display = 'none';
 		}
-		
+
 		// update textarea on submit
 		if (This.textarea.form) {
@@ -201,13 +201,13 @@
 			});
 		}
-		
+
 		for (var evt in This.iwinEvents) {
 			var event = This.iwinEvents[evt];
 			This.addIwinEvent(This.iframe.contentWindow.document, event.type, event.fn, This);
 		}
-		
+
 		This.setSwitcher();
 		try { This.iwin.document.designMode = 'on'; } catch (e) {}; // Firefox needs this
-		
+
 		return true;
 	}
@@ -241,5 +241,5 @@
 		this.switcher.removeChild(this.switcher.firstChild);
 	}
-	
+
 	var This = this;
 	function setLink(title,link) {
@@ -255,9 +255,9 @@
 			a = document.createTextNode(title);
 		}
-		
+
 		li.appendChild(a);
 		This.switcher.appendChild(li);
 	}
-	
+
 	setLink(this.switcher_visual_title,!this.wwg_mode);
 	setLink(this.switcher_source_title,this.wwg_mode);
@@ -271,5 +271,5 @@
 		this.iframe = null;
 	}
-	
+
 	if (this.switcher != undefined && this.switcher.parentNode != undefined) {
 		this.switcher.parentNode.removeChild(this.switcher);
@@ -312,18 +312,18 @@
 jsToolBar.prototype.insertNode = function(node) {
 	var range;
-	
+
 	if (this.iwin.getSelection) { // Gecko
 		var sel = this.iwin.getSelection();
 		range = sel.getRangeAt(0);
-		
+
 		// deselect all ranges
 		sel.removeAllRanges();
-		
+
 		// empty range
 		range.deleteContents();
-		
+
 		// Insert node
 		range.insertNode(node);
-		
+
 		range.selectNodeContents(node);
 		range.setEndAfter(node);
@@ -335,5 +335,5 @@
 		}
 		sel.addRange(range);
-		
+
 		sel.collapseToEnd();
 	} else { // IE
@@ -391,5 +391,5 @@
 jsToolBar.prototype.getBlockLevel = function() {
 	var blockElts = ['p','h1','h2','h3','h4','h5','h6'];
-	
+
 	var range, commonAncestorContainer;
 	if (this.iwin.getSelection) { //gecko
@@ -404,5 +404,5 @@
 		commonAncestorContainer = range.parentElement();
 	}
-	
+
 	var ancestorTagName = commonAncestorContainer.tagName.toLowerCase();
 	while (arrayIndexOf(blockElts, ancestorTagName)==-1 && ancestorTagName!='body') {
@@ -430,6 +430,6 @@
 	[/<style[\w\W]*?>[\w\W]*?<\/style>/gim, ''],
 	[/<\/?font[\w\W]*?>/gim, ''],
-	
-	
+
+
 	/* Replacements */
 	[/<(\/?)(B|b|STRONG)([\s>\/])/g, "<$1strong$3"],
@@ -498,5 +498,5 @@
 		html = html.replace(/(<[^\/!]>|<[^\/!][^>]*[^\/]>)\s*<\/[^>]*[^-]>/g, "");
 	}
-	
+
 	/* tous les tags en minuscule */
 	html = html.replace(/<(\/?)([A-Z0-9]+)/g,
@@ -504,5 +504,5 @@
 				return "<" + match1 + match2.toLowerCase();
 			});
-	
+
 	/* IE laisse souvent des attributs sans guillemets */
 	var myRegexp = /<[^>]+((\s+\w+\s*=\s*)([^"'][\w~@+$,%\/:.#?=&;!*()-]*))[^>]*?>/;
@@ -516,5 +516,5 @@
 		)
 	}
-	
+
 	/* les navigateurs rajoutent une unite aux longueurs css nulles */
 	/* note: a ameliorer ! */
@@ -522,13 +522,13 @@
 		html = html.replace(/(<[^>]+style=(["'])[^>]+[\s:]+)0(pt|px)(\2|\s|;)/gi, "$1"+"0$4");
 	}
-	
+
 	/* correction des fins de lignes : le textarea edite contient des \n
 	* le wysiwyg des \r\n , et le textarea mis a jour SANS etre affiche des \r\n ! */
 	html = html.replace(/\r\n/g,"\n");
-	
+
 	/* Trim */
 	html = html.replace(/^\s+/gm,'');
 	html = html.replace(/\s+$/gm,'');
-	
+
 	return html;
 };
@@ -538,5 +538,5 @@
 	var BQs = this.iwin.document.getElementsByTagName('blockquote');
 	var bqChilds;
-	
+
 	for (var bq = 0; bq < BQs.length; bq++) {
 		bqChilds = BQs[bq].childNodes;
@@ -572,5 +572,5 @@
 	[/(<[a-z][^>]*)margin-right\s*:[^;]*;/mg, "$1"],
 	[/(<[a-z][^>]*)margin-top\s*:[^;]*;/mg, "$1"],
-	
+
 	[/(<[a-z][^>]*)padding\s*:[^;]*;/mg, "$1"],
 	[/(<[a-z][^>]*)padding-bottom\s*:[^;]*;/mg, "$1"],
@@ -578,5 +578,5 @@
 	[/(<[a-z][^>]*)padding-right\s*:[^;]*;/mg, "$1"],
 	[/(<[a-z][^>]*)padding-top\s*:[^;]*;/mg, "$1"],
-	
+
 	[/(<[a-z][^>]*)font\s*:[^;]*;/mg, "$1"],
 	[/(<[a-z][^>]*)font-family\s*:[^;]*;/mg, "$1"],
@@ -585,5 +585,5 @@
 	[/(<[a-z][^>]*)font-variant\s*:[^;]*;/mg, "$1"],
 	[/(<[a-z][^>]*)font-weight\s*:[^;]*;/mg, "$1"],
-	
+
 	[/(<[a-z][^>]*)color\s*:[^;]*;/mg, "$1"]
 );
@@ -593,5 +593,5 @@
 		html = html.replace(this.removeFormatRegexp[reg][0], this.removeFormatRegexp[reg][1]);
 	}
-	
+
 	html = this.tagsoup2xhtml(html);
 	html = html.replace(/style="\s*?"/mgi,'');
@@ -693,5 +693,5 @@
 		commonAncestorContainer = range.parentElement();
 	}
-	
+
 	var ancestorTagName = commonAncestorContainer.tagName.toLowerCase();
 	while (ancestorTagName!='a' && ancestorTagName!='body') {
@@ -699,5 +699,5 @@
 		ancestorTagName = commonAncestorContainer.tagName.toLowerCase();
 	}
-	
+
 	// Update or remove link?
 	if (ancestorTagName == 'a') {
@@ -705,7 +705,7 @@
 		hreflang = commonAncestorContainer.hreflang || '';
 	}
-	
+
 	href = window.prompt(this.elements.link.href_prompt,href);
-	
+
 	// Remove link
 	if (ancestorTagName == 'a' && href=='') {
@@ -713,7 +713,7 @@
 	}
 	if (!href) return; // user cancel
-	
+
 	hreflang = window.prompt(this.elements.link.hreflang_prompt, hreflang);
-	
+
 	// Update link
 	if (ancestorTagName == 'a' && href) {
@@ -726,5 +726,5 @@
 		return;
 	}
-	
+
 	// Create link
 	var n = this.getSelectedNode();
Index: admin/js/jsToolBar/popup_link.js
===================================================================
--- admin/js/jsToolBar/popup_link.js	(revision 0)
+++ admin/js/jsToolBar/popup_link.js	(revision 2566)
@@ -3,17 +3,17 @@
 		window.close();
 	});
-	
+
 	$('#link-insert-ok').click(function() {
 		sendClose();
 		window.close();
 	});
-	
+
 	function sendClose() {
 		var insert_form = $('#link-insert-form').get(0);
 		if (insert_form == undefined) { return; }
-		
+
 		var tb = window.opener.the_toolbar;
 		var data = tb.elements.link.data;
-		
+
 		data.href = tb.stripBaseURL(insert_form.elements.href.value);
 		data.title = insert_form.elements.title.value;
Index: admin/js/jsToolBar/popup_media.js
===================================================================
--- admin/js/jsToolBar/popup_media.js	(revision 0)
+++ admin/js/jsToolBar/popup_media.js	(revision 2566)
@@ -1,10 +1,10 @@
 $(function() {
 	var toolBar = window.opener.the_toolbar.textarea;
-	
+
 	$('#media-insert').onetabload(function() {
 		$('#media-insert-cancel').click(function() {
 			window.close();
 		});
-		
+
 		$('#media-insert-ok').click(function() {
 			sendClose();
@@ -12,12 +12,12 @@
 		});
 	});
-	
+
 	function sendClose() {
 		var insert_form = $('#media-insert-form').get(0);
 		if (insert_form == undefined) { return; }
-		
+
 		var tb = window.opener.the_toolbar;
 		var type = insert_form.elements.type.value;
-		
+
 		var media_align_grid = {
 			left: 'float: left; margin: 0 1em 1em 0;',
@@ -25,5 +25,5 @@
 			center: 'text-align: center;'
 		};
-		
+
 		if (type == 'image')
 		{
@@ -31,5 +31,5 @@
 			tb.elements.img_select.data.alignment = $('input[name="alignment"]:checked',insert_form).val();
 			tb.elements.img_select.data.link = $('input[name="insertion"]:checked',insert_form).val() == 'link';
-			
+
 			tb.elements.img_select.data.title = insert_form.elements.title.value;
 			tb.elements.img_select.data.description = $('input[name="description"]',insert_form).val();
@@ -41,9 +41,9 @@
 			var player = $('#public_player').val();
 			var align = $('input[name="alignment"]:checked',insert_form).val();
-			
+
 			if (align != undefined && align != 'none') {
 				player = '<div style="' + media_align_grid[align] + '">' + player + '</div>';
 			}
-			
+
 			tb.elements.mp3_insert.data.player = player.replace(/>/g,'>\n');
 			tb.elements.mp3_insert.fncall[tb.mode].call(tb);
@@ -53,8 +53,8 @@
 			var oplayer = $('<div>'+$('#public_player').val()+'</div>');
 			var flashvars = $("[name=FlashVars]",oplayer).val();
-			
+
 			var align = $('input[name="alignment"]:checked',insert_form).val();
 			var title = insert_form.elements.title.value;
-			
+
 			if (title) {
 				flashvars = 'title='+encodeURI(title)+'&amp;'+flashvars;
@@ -64,12 +64,12 @@
 			flashvars = flashvars.replace(/(width=\d*)/,'width='+$('#video_w').val());
 			flashvars = flashvars.replace(/(height=\d*)/,'height='+$('#video_h').val());
-			
+
 			$("[name=FlashVars]",oplayer).val(flashvars);
-			var player = oplayer.html();	
-			
+			var player = oplayer.html();
+
 			if (align != undefined && align != 'none') {
 				player = '<div style="' + media_align_grid[align] + '">' + player + '</div>';
 			}
-			
+
 			tb.elements.flv_insert.data.player = player.replace(/>/g,'>\n');
 			tb.elements.flv_insert.fncall[tb.mode].call(tb);
@@ -82,10 +82,10 @@
 		}
 	};
-	
+
 	function playerFormat(s) {
 		s = s.replace(/&lt;/g,'<');
 		s = s.replace(/&gt;/g,'>\n');
 		s = s.replace(/&amp;/g,'&');
-		
+
 		return s;
 	};
Index: admin/js/jsToolBar/popup_posts.js
===================================================================
--- admin/js/jsToolBar/popup_posts.js	(revision 0)
+++ admin/js/jsToolBar/popup_posts.js	(revision 2566)
@@ -3,12 +3,12 @@
 		window.close();
 	});
-	
+
 	$('#form-entries tr>td.maximal>a').click(function() {
 		// Get post_id
 		var tb = window.opener.the_toolbar;
 		var data = tb.elements.link.data;
-		
+
 		data.href = tb.stripBaseURL($(this).attr('title'));
-		
+
 		tb.elements.link.fncall[tb.mode].call(tb);
 		window.close();
Index: admin/js/prelude.js
===================================================================
--- admin/js/prelude.js	(revision 2306)
+++ admin/js/prelude.js	(revision 2566)
@@ -7,5 +7,5 @@
 				$('#wrapper, #help-button, #collapser').addClass('with-prelude');
 			});
-		
+
 		$('body').on('click', '#prelude a[href="#help"]', function(e) {
 			e.preventDefault();
