diff --git a/lib/images/link_break.png b/lib/images/link_break.png
deleted file mode 100644
index 523575306d53eaf176b4f9b260f0d36852565596..0000000000000000000000000000000000000000
Binary files a/lib/images/link_break.png and /dev/null differ
diff --git a/lib/images/link_go.png b/lib/images/link_go.png
deleted file mode 100644
index ae8cae806e830b35ca5211758454911215fa9824..0000000000000000000000000000000000000000
Binary files a/lib/images/link_go.png and /dev/null differ
diff --git a/lib/images/magifier_zoom_out.png b/lib/images/magifier_zoom_out.png
deleted file mode 100644
index 81f28199ac1c979f440f0586e6e0da48672e74a4..0000000000000000000000000000000000000000
Binary files a/lib/images/magifier_zoom_out.png and /dev/null differ
diff --git a/lib/images/magnifier_zoom_in.png b/lib/images/magnifier_zoom_in.png
deleted file mode 100644
index af4fe07477243b9b2099899d1ef47b8e3fd87b09..0000000000000000000000000000000000000000
Binary files a/lib/images/magnifier_zoom_in.png and /dev/null differ
diff --git a/lib/images/media_align_center.png b/lib/images/media_align_center.png
new file mode 100644
index 0000000000000000000000000000000000000000..3db90fc17e12cc56de55b491b5c845b91a291532
Binary files /dev/null and b/lib/images/media_align_center.png differ
diff --git a/lib/images/media_align_left.png b/lib/images/media_align_left.png
new file mode 100644
index 0000000000000000000000000000000000000000..cebbb1a9ab330b3009cd5c2fecdb0fb075f6d2c7
Binary files /dev/null and b/lib/images/media_align_left.png differ
diff --git a/lib/images/media_align_noalign.png b/lib/images/media_align_noalign.png
new file mode 100644
index 0000000000000000000000000000000000000000..74f34e5f1c015d1bdbf1b8fba25d7166dfd9495b
Binary files /dev/null and b/lib/images/media_align_noalign.png differ
diff --git a/lib/images/media_align_right.png b/lib/images/media_align_right.png
new file mode 100644
index 0000000000000000000000000000000000000000..5f54a4a499db6c5579e59d45df9dfc944e85a2fc
Binary files /dev/null and b/lib/images/media_align_right.png differ
diff --git a/lib/images/image_link.png b/lib/images/media_link_direct.png
similarity index 100%
rename from lib/images/image_link.png
rename to lib/images/media_link_direct.png
diff --git a/lib/images/link.png b/lib/images/media_link_displaylnk.png
similarity index 100%
rename from lib/images/link.png
rename to lib/images/media_link_displaylnk.png
diff --git a/lib/images/image_info.png b/lib/images/media_link_lnk.png
similarity index 100%
rename from lib/images/image_info.png
rename to lib/images/media_link_lnk.png
diff --git a/lib/images/image.png b/lib/images/media_link_nolnk.png
similarity index 100%
rename from lib/images/image.png
rename to lib/images/media_link_nolnk.png
diff --git a/lib/images/media_size_large.png b/lib/images/media_size_large.png
new file mode 100644
index 0000000000000000000000000000000000000000..e2fb548d92320a2a5207d8ef6ac54765c014bf33
Binary files /dev/null and b/lib/images/media_size_large.png differ
diff --git a/lib/images/media_size_medium.png b/lib/images/media_size_medium.png
new file mode 100644
index 0000000000000000000000000000000000000000..b33157256423439e3f1cff01e02d7606bd934ae6
Binary files /dev/null and b/lib/images/media_size_medium.png differ
diff --git a/lib/images/media_size_original.png b/lib/images/media_size_original.png
new file mode 100644
index 0000000000000000000000000000000000000000..d179aa2dbe2e180ec31814c1502a5cf5998a0cdd
Binary files /dev/null and b/lib/images/media_size_original.png differ
diff --git a/lib/images/media_size_small.png b/lib/images/media_size_small.png
new file mode 100644
index 0000000000000000000000000000000000000000..04efe7080fac7dfa27bdc9d9b55a41f6d3751683
Binary files /dev/null and b/lib/images/media_size_small.png differ
diff --git a/lib/images/text_align_center.png b/lib/images/text_align_center.png
deleted file mode 100644
index 57beb3813973e69f535a822c2f0424fa9f560303..0000000000000000000000000000000000000000
Binary files a/lib/images/text_align_center.png and /dev/null differ
diff --git a/lib/images/text_align_left.png b/lib/images/text_align_left.png
deleted file mode 100644
index 6c8fcc1165a433617355ac5e182d015b389e9296..0000000000000000000000000000000000000000
Binary files a/lib/images/text_align_left.png and /dev/null differ
diff --git a/lib/images/text_align_right.png b/lib/images/text_align_right.png
deleted file mode 100644
index a1502571c99fb92b1579c3658bcc50c5976b8e7d..0000000000000000000000000000000000000000
Binary files a/lib/images/text_align_right.png and /dev/null differ
diff --git a/lib/scripts/media.js b/lib/scripts/media.js
index 3f0a8fb65e4532532259d1fe650a04efefab5d8d..599dbbdfaca75c21d99774edf9dbd6a0b1c075e5 100644
--- a/lib/scripts/media.js
+++ b/lib/scripts/media.js
@@ -259,7 +259,7 @@ var media_manager = {
         media_manager.popup.style.display = 'inline';
         media_manager.popup.style.left = event.pageX + 'px';
         media_manager.popup.style.top = event.pageY + 'px';
- 
+
         // set all buttons to outset
         media_manager.outSet('media__linkbtn1');
         media_manager.outSet('media__linkbtn2');
@@ -270,7 +270,7 @@ var media_manager = {
         media_manager.outSet('media__alignbtn1');
         media_manager.outSet('media__alignbtn2');
         media_manager.outSet('media__alignbtn3');
-        
+
         media_manager.outSet('media__sizebtn1');
         media_manager.outSet('media__sizebtn2');
         media_manager.outSet('media__sizebtn3');
@@ -388,79 +388,44 @@ var media_manager = {
         root.appendChild(media_manager.popup);
 
         var headline    = document.createElement('h1');
+        headline.innerHTML = LANG.mediatitle;
         var headlineimg = document.createElement('img');
-        var headtext    = document.createElement('span');
-        headlineimg.src = '/lib/images/close.png';
+        headlineimg.src = DOKU_BASE + 'lib/images/close.png';
         headlineimg.id  = 'media__closeimg';
         addEvent(headlineimg,'click',function(event){ return media_manager.closePopup(event,this); });
-        headline.appendChild(headlineimg);
-        headtext.textContent = LANG['mediatitle'];
-        headline.appendChild(headtext);
+        headline.insertBefore(headlineimg, headline.firstChild);
         media_manager.popup.appendChild(headline);
         drag.attach(media_manager.popup,headline);
 
         // link
 
-        var linkp    = document.createElement('p');
-        var linkl    = document.createElement('label');
-        var linkbtn1 = document.createElement('button');
-        var linkbtn2 = document.createElement('button');
-        var linkbtn3 = document.createElement('button');
-        var linkbtn4 = document.createElement('button');
-        var linkimg1 = document.createElement('img');
-        var linkimg2 = document.createElement('img');
-        var linkimg3 = document.createElement('img');
-        var linkimg4 = document.createElement('img');
+        var linkp = document.createElement('p');
 
         linkp.id = "media__linkstyle";
         if (media_manager.display == "2") {
             linkp.style.display = "none";
         }
 
+        var linkl = document.createElement('label');
+        linkl.innerHTML = LANG.mediatarget;
         linkp.appendChild(linkl);
-        linkp.appendChild(linkbtn1);
-        linkp.appendChild(linkbtn2);
-        linkp.appendChild(linkbtn3);
-        linkp.appendChild(linkbtn4);
-
-        linkl.innerHTML = LANG['mediatarget'];
-
-        linkimg1.src = '/lib/images/image_info.png';
-        linkimg2.src = '/lib/images/image_link.png';
-        linkimg3.src = '/lib/images/image.png';
-        linkimg4.src = '/lib/images/link.png';
-
-        linkbtn1.setAttribute('class','button');
-        linkbtn1.appendChild(linkimg1);
-        linkbtn1.value = '1';
-        linkbtn1.id    = "media__linkbtn1";
-        linkbtn1.title = LANG['medialnk'];
-        linkbtn1.style.borderStyle = 'outset';
-        addEvent(linkbtn1,'click',function(event){ return media_manager.setlink(event,this); });
-
-        linkbtn2.setAttribute('class','button');
-        linkbtn2.appendChild(linkimg2);
-        linkbtn2.value = '2';
-        linkbtn2.id = "media__linkbtn2";
-        linkbtn2.title = LANG['mediadirect'];
-        linkbtn2.style.borderStyle = 'outset';
-        addEvent(linkbtn2,'click',function(event){ return media_manager.setlink(event,this); });
-
-        linkbtn3.setAttribute('class','button');
-        linkbtn3.appendChild(linkimg3);
-        linkbtn3.value = '3';
-        linkbtn3.id = "media__linkbtn3";
-        linkbtn3.title = LANG['medianolnk'];
-        linkbtn3.style.borderStyle = 'outset';
-        addEvent(linkbtn3,'click',function(event){ return media_manager.setlink(event,this); });
-
-        linkbtn4.setAttribute('class','button');
-        linkbtn4.appendChild(linkimg4);
-        linkbtn4.value = '4';
-        linkbtn4.id = "media__linkbtn4";
-        linkbtn4.title = LANG['mediadisplaylnk'];
-        linkbtn4.style.borderStyle = 'outset';
-        addEvent(linkbtn4,'click',function(event){ return media_manager.setlink(event,this); });
+
+        var linkbtns = ['lnk', 'direct', 'nolnk', 'displaylnk'];
+        for (var i = 0 ; i < linkbtns.length ; ++i) {
+            var linkbtn = document.createElement('button');
+            linkbtn.className = 'button';
+            linkbtn.value = i + 1;
+            linkbtn.id    = "media__linkbtn" + (i + 1);
+            linkbtn.title = LANG['media' + linkbtns[i]];
+            linkbtn.style.borderStyle = 'outset';
+            addEvent(linkbtn,'click',function(event){ return media_manager.setlink(event,this); });
+
+            var linkimg = document.createElement('img');
+            linkimg.src = DOKU_BASE + 'lib/images/media_link_' + linkbtns[i] + '.png';
+
+            linkbtn.appendChild(linkimg);
+            linkp.appendChild(linkbtn);
+        }
 
         media_manager.popup.appendChild(linkp);
 
@@ -468,63 +433,30 @@ var media_manager = {
 
         var alignp    = document.createElement('p');
         var alignl    = document.createElement('label');
-        var alignbtn0 = document.createElement('button');
-        var alignbtn1 = document.createElement('button');
-        var alignbtn2 = document.createElement('button');
-        var alignbtn3 = document.createElement('button');
-        var alignimg0 = document.createElement('img');
-        var alignimg1 = document.createElement('img');
-        var alignimg2 = document.createElement('img');
-        var alignimg3 = document.createElement('img');
+
         alignp.appendChild(alignl);
         alignp.id = 'media__align';
         if (media_manager.display == "2") {
             alignp.style.display = "none";
         }
-
-        alignp.appendChild(alignbtn0);
-        alignp.appendChild(alignbtn1);
-        alignp.appendChild(alignbtn2);
-        alignp.appendChild(alignbtn3);
-
         alignl.innerHTML = LANG['mediaalign'];
 
-        alignimg0.src = '/lib/images/text_align_left.png';
-        alignimg1.src = '/lib/images/text_align_left.png';
-        alignimg2.src = '/lib/images/text_align_center.png';
-        alignimg3.src = '/lib/images/text_align_right.png';
-
-        alignbtn0.id    = "media__alignbtn0";
-        alignbtn0.value = '0';
-        alignbtn0.title = LANG['medianoalign'];
-        alignbtn0.setAttribute('class','button');
-        alignbtn0.appendChild(alignimg0);
-        alignbtn0.style.borderStyle = 'outset';
-        addEvent(alignbtn0,'click',function(event){ return media_manager.setalign(event,this); });
-
-        alignbtn1.id    = "media__alignbtn1";
-        alignbtn1.value = '1';
-        alignbtn1.title = LANG['medialeft'];
-        alignbtn1.setAttribute('class','button');
-        alignbtn1.appendChild(alignimg1);
-        alignbtn1.style.borderStyle = 'outset';
-        addEvent(alignbtn1,'click',function(event){ return media_manager.setalign(event,this); });
-
-        alignbtn2.value = '2';
-        alignbtn2.id    = "media__alignbtn2";
-        alignbtn2.title = LANG['mediacenter'];
-        alignbtn2.setAttribute('class','button');
-        alignbtn2.appendChild(alignimg2);
-        alignbtn2.style.borderStyle = 'outset';
-        addEvent(alignbtn2,'click',function(event){ return media_manager.setalign(event,this); });
-
-        alignbtn3.value = '3';
-        alignbtn3.id    = "media__alignbtn3";
-        alignbtn3.title = LANG['mediaright'];
-        alignbtn3.setAttribute('class','button');
-        alignbtn3.appendChild(alignimg3);
-        alignbtn3.style.borderStyle = 'outset';
-        addEvent(alignbtn3,'click',function(event){ return media_manager.setalign(event,this); });
+        var alignbtns = ['noalign', 'left', 'center', 'right'];
+        for (var n = 0 ; n < alignbtns.length ; ++n) {
+            var alignbtn = document.createElement('button');
+            var alignimg = document.createElement('img');
+            alignimg.src = DOKU_BASE + 'lib/images/media_align_' + alignbtns[n] + '.png';
+
+            alignbtn.id    = "media__alignbtn" + n;
+            alignbtn.value = n;
+            alignbtn.title = LANG['media' + alignbtns[n]];
+            alignbtn.className = 'button';
+            alignbtn.appendChild(alignimg);
+            alignbtn.style.borderStyle = 'outset';
+            addEvent(alignbtn,'click',function(event){ return media_manager.setalign(event,this); });
+
+            alignp.appendChild(alignbtn);
+        }
 
         media_manager.popup.appendChild(alignp);
 
@@ -532,63 +464,30 @@ var media_manager = {
 
         var sizep    = document.createElement('p');
         var sizel    = document.createElement('label');
-        var sizebtn1 = document.createElement('button');
-        var sizebtn2 = document.createElement('button');
-        var sizebtn3 = document.createElement('button');
-        var sizebtn4 = document.createElement('button');
-        var sizeimg1 = document.createElement('img');
-        var sizeimg2 = document.createElement('img');
-        var sizeimg3 = document.createElement('img');
-        var sizeimg4 = document.createElement('img');
+
         sizep.id = 'media__size';
         if (media_manager.display == "2") {
             sizep.style.display = "none";
         }
-
         sizep.appendChild(sizel);
-        sizep.appendChild(sizebtn1);
-        sizep.appendChild(sizebtn2);
-        sizep.appendChild(sizebtn3);
-        sizep.appendChild(sizebtn4);
-
         sizel.innerHTML = LANG['mediasize'];
 
-        sizeimg1.src = '/lib/images/magifier_zoom_out.png';
-        sizeimg2.src = '/lib/images/magnifier.png';
-        sizeimg3.src = '/lib/images/magnifier_zoom_in.png';
-        sizeimg4.src = '/lib/images/magnifier_zoom_in.png';
-
-        sizebtn1.setAttribute('class','button');
-        sizebtn1.appendChild(sizeimg1);
-        sizebtn1.value = '1';
-        sizebtn1.id    = 'media__sizebtn1';
-        sizebtn1.title = LANG['mediasmall'];
-        sizebtn1.style.borderStyle = 'outset';
-        addEvent(sizebtn1,'click',function(event){ return media_manager.setsize(event,this); });
-
-        sizebtn2.setAttribute('class','button');
-        sizebtn2.appendChild(sizeimg2);
-        sizebtn2.value = '2';
-        sizebtn2.id    = 'media__sizebtn2';
-        sizebtn2.title = LANG['mediamedium'];
-        sizebtn2.style.borderStyle = 'outset';
-        addEvent(sizebtn2,'click',function(event){ return media_manager.setsize(event,this); });
-
-        sizebtn3.setAttribute('class','button');
-        sizebtn3.appendChild(sizeimg3);
-        sizebtn3.value = '3';
-        sizebtn3.id    = 'media__sizebtn3';
-        sizebtn3.title = LANG['medialarge'];
-        sizebtn3.style.borderStyle = 'outset';
-        addEvent(sizebtn3,'click',function(event){ return media_manager.setsize(event,this); });
-
-        sizebtn4.setAttribute('class','button');
-        sizebtn4.appendChild(sizeimg4);
-        sizebtn4.value = '4';
-        sizebtn4.id    = 'media__sizebtn4';
-        sizebtn4.title = LANG['mediaextralarge'];
-        sizebtn4.style.borderStyle = 'outset';
-        addEvent(sizebtn4,'click',function(event){ return media_manager.setsize(event,this); });
+        var sizebtns = ['small', 'medium', 'large', 'original'];
+        for (var size = 0 ; size < sizebtns.length ; ++size) {
+            var sizebtn = document.createElement('button');
+            var sizeimg = document.createElement('img');
+
+            sizep.appendChild(sizebtn);
+            sizeimg.src = DOKU_BASE + 'lib/images/media_size_' + sizebtns[size] + '.png';
+
+            sizebtn.className = 'button';
+            sizebtn.appendChild(sizeimg);
+            sizebtn.value = size + 1;
+            sizebtn.id    = 'media__sizebtn' + (size + 1);
+            sizebtn.title = LANG['media' + sizebtns[size]];
+            sizebtn.style.borderStyle = 'outset';
+            addEvent(sizebtn,'click',function(event){ return media_manager.setsize(event,this); });
+        }
 
         media_manager.popup.appendChild(sizep);
 
@@ -891,9 +790,9 @@ var media_manager = {
         if (cb.value) {
             DokuCookie.setValue('size',cb.value);
             media_manager.size = cb.value;
-            media_manager.outSet("media__sizebtn1");
-            media_manager.outSet("media__sizebtn2");
-            media_manager.outSet("media__sizebtn3");
+            for (var i = 1 ; i <= 4 ; ++i) {
+                media_manager.outSet("media__sizebtn" + i);
+            }
             media_manager.inSet("media__sizebtn"+cb.value);
         } else {
             DokuCookie.setValue('size','');
@@ -910,5 +809,3 @@ addInitEvent(function(){
     media_manager.initpopup();
     media_manager.initFlashUpload();
 });
-
-// style nach linkwiz
diff --git a/lib/tpl/default/_mediaoptions.css b/lib/tpl/default/_mediaoptions.css
new file mode 100644
index 0000000000000000000000000000000000000000..7ac489929b0f4e06c191e83ce01ffdc7066159a9
--- /dev/null
+++ b/lib/tpl/default/_mediaoptions.css
@@ -0,0 +1,92 @@
+/* --- popup --- */
+
+#media__popup {
+    background-color:__background__;
+    display:none;
+    border: 1px solid __border__;
+    position: absolute;
+    width:270px;
+}
+
+#media__popup h1 {
+    text-align:center;
+    font-weight:normal;
+    background-color: __background_alt__;
+    height: 16px;
+    margin-bottom: 5px;
+    font-size:12px;
+    border-bottom: 0;
+}
+
+#media__popup p {
+    display:block;
+    line-height:14pt;
+    margin:0.5em;
+}
+
+#media_nolink {
+    padding:4px 0;
+}
+
+#media__popup label {
+    float:left;
+    width:9em;
+}
+
+#media__popup .button {
+    margin-left:auto;
+    margin-right:auto;
+}
+
+#media__popup .btnlbl {
+    text-align:center;
+}
+
+#media__popup .btnlbl input {
+    margin:0 1em;
+}
+
+#media__closeimg {
+    float:right;
+}
+
+/* --- display options --- */
+
+#media__linkopts label,
+#media__nolnk {
+	width: 80px;
+	float: left;
+	margin-left: 10px;
+}
+
+#media__linkopts label{
+	line-height: 20px;
+}
+
+#media__nolnk,
+#media__linkopts label.long{
+	margin-bottom: 8px;
+	line-height: 12px;
+}
+
+#media__linkopts label.long{
+	width: 150px;
+	float: none;
+}
+
+#media__linkopts br {
+	clear: both;
+}
+
+#media__linkopts select {
+	width: 60px;
+	margin-left: 10px;
+}
+
+#media__linkopts input.edit {
+    width:50px;
+    margin-left:10px;
+}
+#media__linkopts #media__title {
+    width:150px;
+}
diff --git a/lib/tpl/default/media.css b/lib/tpl/default/media.css
index 0bd70db3c1bf1342393de8e9fc527e73b584f997..2831c984fc464927f821f62ab6fc1d72f4ec339e 100644
--- a/lib/tpl/default/media.css
+++ b/lib/tpl/default/media.css
@@ -89,99 +89,6 @@ it's dirty, so any "real" fixes are welcome */
     clear: left;
 }
 
-/* --- popup --- */
-
-#media__popup {
-    background-color:__background__;
-    display:none;
-    border: 1px solid __border__;
-    position: absolute;
-    width:270px;
-}
-
-#media__popup h1 {
-    text-align:center;
-    font-weight:normal;
-    background-color: __background_alt__;
-    height: 16px;
-    margin-bottom: 5px;
-    font-size:12px;
-    border-bottom: 0;
-}
-
-#media__popup p {
-    display:block;
-    line-height:14pt;
-    margin:0.5em;
-}
-
-#media_nolink {
-    padding:4px 0;
-}
-
-#media__popup label {
-    float:left;
-    width:9em;
-}
-
-#media__popup .button {
-    margin-left:auto;
-    margin-right:auto;
-}
-
-#media__popup .btnlbl {
-    text-align:center;
-}
-
-#media__popup .btnlbl input {
-    margin:0 1em;
-}
-
-#media__closeimg {
-    float:right;
-}
-
-/* --- display options --- */
-
-#media__linkopts label,
-#media__nolnk {
-	width: 80px;
-	float: left;
-	margin-left: 10px;
-}
-
-#media__linkopts label{
-	line-height: 20px;
-}
-
-#media__nolnk,
-#media__linkopts label.long{
-	margin-bottom: 8px;
-	line-height: 12px;
-}
-
-#media__linkopts label.long{
-	width: 150px;
-	float: none;
-}
-
-#media__linkopts br {
-	clear: both;
-}
-
-#media__linkopts select {
-	width: 60px;
-	margin-left: 10px;
-}
-
-#media__linkopts input.edit {
-    width:50px;
-    margin-left:10px;
-}
-#media__linkopts #media__title {
-    width:150px;
-}
-
 /* --- file list --- */
 
 #media__content img.load {
diff --git a/lib/tpl/default/style.ini b/lib/tpl/default/style.ini
index 84d04e743a5801c2fe5e9eee02ecd907ea8f9e14..c5b2c31a530a2f77afe9e4b55aec1eb9c0e520e1 100644
--- a/lib/tpl/default/style.ini
+++ b/lib/tpl/default/style.ini
@@ -11,6 +11,7 @@ design.css     = screen
 style.css      = screen
 
 media.css         = screen
+_mediaoptions.css = screen
 _admin.css        = screen
 _linkwiz.css      = screen
 _subscription.css = screen