1/** 2 * JavaScript functionalitiy for the media management popup 3 * 4 * @author Andreas Gohr <andi@splitbrain.org> 5 * @author Pierre Spring <pierre.spring@caillou.ch> 6 */ 7(function ($) { 8 /** 9 * Open or close a subtree using AJAX 10 * 11 * @author Andreas Gohr <andi@splitbrain.org> 12 */ 13 toggle = function (event) { 14 var clicky, listitem, sublist, link, ul; 15 16 var clicky = $(this); 17 var listitem = clicky.parent(); 18 19 // if already open, close by removing the sublist 20 var sublist = listitem.find('ul').first(); 21 if(sublist.size()){ 22 sublist.remove(); // TODO: really? we could just hide it, right? 23 clicky.attr('src', DOKU_BASE + 'lib/images/plus.gif'); 24 event.preventDefault(); // TODO: really here? 25 return; 26 } 27 28 // get the enclosed link (is always the first one) 29 link = listitem.find('a').first(); 30 31 //prepare the new ul 32 ul = $('<ul/>'); 33 34 //fixme add classname here 35 36 $.post( 37 DOKU_BASE + 'lib/exe/ajax.php', 38 link.attr('search').substr(1) + '&call=medians', 39 function (data) { 40 ul.html(data) 41 listitem.append(ul); 42 }, 43 'html' 44 ); 45 46 clicky.attr('src', DOKU_BASE + 'lib/images/minus.gif'); 47 }; 48 49 $(function () { 50 $('#media__tree').delegate('img', 'click', toggle); 51 }); 52}(jQuery)); 53 54var media_manager = { 55 keepopen: false, 56 hide: false, 57 align: false, 58 popup: false, 59 id: false, 60 display: false, 61 link: false, 62 size: false, 63 ext: false, 64 65 /** 66 * Attach event handlers to all "folders" below the given element 67 * 68 * @author Andreas Gohr <andi@splitbrain.org> 69 */ 70 treeattach: function(obj){ 71 if(!obj) return; 72 73 var items = obj.getElementsByTagName('li'); 74 for(var i=0; i<items.length; i++){ 75 var elem = items[i]; 76 77 // attach action to make the +/- clickable 78 var clicky = elem.getElementsByTagName('img')[0]; 79 clicky.style.cursor = 'pointer'; 80 //addEvent(clicky,'click',function(event){ return media_manager.toggle(event,this); }); 81 82 // attach action load folder list via AJAX 83 var link = elem.getElementsByTagName('a')[0]; 84 link.style.cursor = 'pointer'; 85 addEvent(link,'click',function(event){ return media_manager.list(event,this); }); 86 } 87 }, 88 89 /** 90 * Attach the image selector action to all links below the given element 91 * also add the action to autofill the "upload as" field 92 * 93 * @author Andreas Gohr <andi@splitbrain.org> 94 */ 95 selectorattach: function(obj){ 96 if(!obj) return; 97 98 var items = getElementsByClass('select',obj,'a'); 99 for(var i=0; i<items.length; i++){ 100 var elem = items[i]; 101 elem.style.cursor = 'pointer'; 102 addEvent(elem,'click',function(event){ return media_manager.select(event,this); }); 103 } 104 105 // hide syntax example 106 items = getElementsByClass('example',obj,'div'); 107 for(var i=0; i<items.length; i++){ 108 elem = items[i]; 109 elem.style.display = 'none'; 110 } 111 112 var file = $('upload__file'); 113 if(!file) return; 114 addEvent(file,'change',media_manager.suggest); 115 }, 116 117 /** 118 * Attach deletion confirmation dialog to the delete buttons. 119 * 120 * Michael Klier <chi@chimeric.de> 121 */ 122 confirmattach: function(obj){ 123 if(!obj) return; 124 125 items = getElementsByClass('btn_media_delete',obj,'a'); 126 for(var i=0; i<items.length; i++){ 127 var elem = items[i]; 128 addEvent(elem,'click',function(e){ 129 if(e.target.tagName == 'IMG'){ 130 var name = e.target.parentNode.title; 131 }else{ 132 var name = e.target.title; 133 } 134 if(!confirm(LANG['del_confirm'] + "\n" + name)) { 135 e.preventDefault(); 136 return false; 137 } else { 138 return true; 139 } 140 }); 141 } 142 }, 143 144 /** 145 * Creates checkboxes for additional options 146 * 147 * @author Andreas Gohr <andi@splitbrain.org> 148 */ 149 attachoptions: function(obj){ 150 if(!obj) return; 151 152 // keep open 153 if(opener){ 154 var kobox = document.createElement('input'); 155 kobox.type = 'checkbox'; 156 kobox.id = 'media__keepopen'; 157 if(DokuCookie.getValue('keepopen')){ 158 kobox.checked = true; 159 kobox.defaultChecked = true; //IE wants this 160 media_manager.keepopen = true; 161 } 162 addEvent(kobox,'click',function(event){ return media_manager.togglekeepopen(event,this); }); 163 164 var kolbl = document.createElement('label'); 165 kolbl.htmlFor = 'media__keepopen'; 166 kolbl.innerHTML = LANG['keepopen']; 167 168 var kobr = document.createElement('br'); 169 170 obj.appendChild(kobox); 171 obj.appendChild(kolbl); 172 obj.appendChild(kobr); 173 } 174 175 // hide details 176 var hdbox = document.createElement('input'); 177 hdbox.type = 'checkbox'; 178 hdbox.id = 'media__hide'; 179 if(DokuCookie.getValue('hide')){ 180 hdbox.checked = true; 181 hdbox.defaultChecked = true; //IE wants this 182 media_manager.hide = true; 183 } 184 addEvent(hdbox,'click',function(event){ return media_manager.togglehide(event,this); }); 185 186 var hdlbl = document.createElement('label'); 187 hdlbl.htmlFor = 'media__hide'; 188 hdlbl.innerHTML = LANG['hidedetails']; 189 190 var hdbr = document.createElement('br'); 191 192 obj.appendChild(hdbox); 193 obj.appendChild(hdlbl); 194 obj.appendChild(hdbr); 195 media_manager.updatehide(); 196 }, 197 198 /** 199 * Toggles the keep open state 200 * 201 * @author Andreas Gohr <andi@splitbrain.org> 202 */ 203 togglekeepopen: function(event,cb){ 204 if(cb.checked){ 205 DokuCookie.setValue('keepopen',1); 206 media_manager.keepopen = true; 207 }else{ 208 DokuCookie.setValue('keepopen',''); 209 media_manager.keepopen = false; 210 } 211 }, 212 213 /** 214 * Toggles the hide details state 215 * 216 * @author Andreas Gohr <andi@splitbrain.org> 217 */ 218 togglehide: function(event,cb){ 219 if(cb.checked){ 220 DokuCookie.setValue('hide',1); 221 media_manager.hide = true; 222 }else{ 223 DokuCookie.setValue('hide',''); 224 media_manager.hide = false; 225 } 226 media_manager.updatehide(); 227 }, 228 229 /** 230 * Sets the visibility of the image details accordingly to the 231 * chosen hide state 232 * 233 * @author Andreas Gohr <andi@splitbrain.org> 234 */ 235 updatehide: function(){ 236 var obj = $('media__content'); 237 if(!obj) return; 238 var details = getElementsByClass('detail',obj,'div'); 239 for(var i=0; i<details.length; i++){ 240 if(media_manager.hide){ 241 details[i].style.display = 'none'; 242 }else{ 243 details[i].style.display = ''; 244 } 245 } 246 }, 247 248 /** 249 * shows the popup for a image link 250 */ 251 select: function(event,link){ 252 var id = link.name.substr(2); 253 254 media_manager.id = id; 255 if(!opener){ 256 // if we don't run in popup display example 257 var ex = $('ex_'+id.replace(/:/g,'_')); 258 if(ex.style.display == ''){ 259 ex.style.display = 'none'; 260 } else { 261 ex.style.display = ''; 262 } 263 return false; 264 } 265 266 media_manager.ext = false; 267 var dot = id.lastIndexOf("."); 268 if (dot != -1) { 269 var ext = id.substr(dot,id.length); 270 271 if (ext != '.jpg' && ext != '.jpeg' && ext != '.png' && ext != '.gif' && ext != '.swf') { 272 media_manager.insert(null); 273 return false; 274 } 275 } else { 276 media_manager.insert(null); 277 return false; 278 } 279 280 media_manager.popup.style.display = 'inline'; 281 media_manager.popup.style.left = event.pageX + 'px'; 282 media_manager.popup.style.top = event.pageY + 'px'; 283 284 // set all buttons to outset 285 media_manager.outSet('media__linkbtn1'); 286 media_manager.outSet('media__linkbtn2'); 287 media_manager.outSet('media__linkbtn3'); 288 media_manager.outSet('media__linkbtn4'); 289 290 media_manager.outSet('media__alignbtn0'); 291 media_manager.outSet('media__alignbtn1'); 292 media_manager.outSet('media__alignbtn2'); 293 media_manager.outSet('media__alignbtn3'); 294 295 media_manager.outSet('media__sizebtn1'); 296 media_manager.outSet('media__sizebtn2'); 297 media_manager.outSet('media__sizebtn3'); 298 media_manager.outSet('media__sizebtn4'); 299 300 301 if (ext == '.swf') { 302 media_manager.ext = 'swf'; 303 304 // disable display buttons for detail and linked image 305 $('media__linkbtn1').style.display = 'none'; 306 $('media__linkbtn2').style.display = 'none'; 307 308 // set the link button to default 309 if (media_manager.link != false) { 310 if ( media_manager.link == '2' || media_manager.link == '1') { 311 media_manager.inSet('media__linkbtn3'); 312 media_manager.link = '3'; 313 DokuCookie.setValue('link','3'); 314 } else { 315 media_manager.inSet('media__linkbtn'+media_manager.link); 316 } 317 } else if (DokuCookie.getValue('link')) { 318 if ( DokuCookie.getValue('link') == '2' || DokuCookie.getValue('link') == '1') { 319 // this options are not availible 320 media_manager.inSet('media__linkbtn3'); 321 media_manager.link = '3'; 322 DokuCookie.setValue('link','3'); 323 } else { 324 media_manager.inSet('media__linkbtn'+DokuCookie.getValue('link')); 325 media_manager.link = DokuCookie.getValue('link'); 326 } 327 } else { 328 // default case 329 media_manager.link = '3'; 330 media_manager.inSet('media__linkbtn3'); 331 DokuCookie.setValue('link','3'); 332 } 333 334 // disable button for original size 335 $('media__sizebtn4').style.display = 'none'; 336 337 } else { 338 media_manager.ext = 'img'; 339 340 // ensure that the display buttons are there 341 $('media__linkbtn1').style.display = 'inline'; 342 $('media__linkbtn2').style.display = 'inline'; 343 $('media__sizebtn4').style.display = 'inline'; 344 345 // set the link button to default 346 if (DokuCookie.getValue('link')) { 347 media_manager.link = DokuCookie.getValue('link'); 348 } 349 if (media_manager.link == false) { 350 // default case 351 media_manager.link = '1'; 352 DokuCookie.setValue('link','1'); 353 } 354 media_manager.inSet('media__linkbtn'+media_manager.link); 355 } 356 357 if (media_manager.link == '4') { 358 media_manager.align = false; 359 media_manager.size = false; 360 $('media__align').style.display = 'none'; 361 $('media__size').style.display = 'none'; 362 } else { 363 $('media__align').style.display = 'block'; 364 $('media__size').style.display = 'block'; 365 366 // set the align button to default 367 if (media_manager.align != false) { 368 media_manager.inSet('media__alignbtn'+media_manager.align); 369 } else if (DokuCookie.getValue('align')) { 370 media_manager.inSet('media__alignbtn'+DokuCookie.getValue('align')); 371 media_manager.align = DokuCookie.getValue('align'); 372 } else { 373 // default case 374 media_manager.align = '0'; 375 media_manager.inSet('media__alignbtn0'); 376 DokuCookie.setValue('align','0'); 377 } 378 379 // set the size button to default 380 if (DokuCookie.getValue('size')) { 381 media_manager.size = DokuCookie.getValue('size'); 382 } 383 if (media_manager.size == false || (media_manager.size === '4' && ext === '.swf')) { 384 // default case 385 media_manager.size = '2'; 386 DokuCookie.setValue('size','2'); 387 } 388 media_manager.inSet('media__sizebtn'+media_manager.size); 389 390 $('media__sendbtn').focus(); 391 } 392 393 return false; 394 }, 395 396 /** 397 * build the popup window 398 * 399 * @author Dominik Eckelmann <eckelmann@cosmocode.de> 400 */ 401 initpopup: function() { 402 403 media_manager.popup = document.createElement('div'); 404 media_manager.popup.setAttribute('id','media__popup'); 405 406 var root = document.getElementById('media__manager'); 407 if (root == null) return; 408 root.appendChild(media_manager.popup); 409 410 var headline = document.createElement('h1'); 411 headline.innerHTML = LANG.mediatitle; 412 var headlineimg = document.createElement('img'); 413 headlineimg.src = DOKU_BASE + 'lib/images/close.png'; 414 headlineimg.id = 'media__closeimg'; 415 addEvent(headlineimg,'click',function(event){ return media_manager.closePopup(event,this); }); 416 headline.insertBefore(headlineimg, headline.firstChild); 417 media_manager.popup.appendChild(headline); 418 drag.attach(media_manager.popup,headline); 419 420 // link 421 422 var linkp = document.createElement('p'); 423 424 linkp.id = "media__linkstyle"; 425 if (media_manager.display == "2") { 426 linkp.style.display = "none"; 427 } 428 429 var linkl = document.createElement('label'); 430 linkl.innerHTML = LANG.mediatarget; 431 linkp.appendChild(linkl); 432 433 var linkbtns = ['lnk', 'direct', 'nolnk', 'displaylnk']; 434 for (var i = 0 ; i < linkbtns.length ; ++i) { 435 var linkbtn = document.createElement('button'); 436 linkbtn.className = 'button'; 437 linkbtn.value = i + 1; 438 linkbtn.id = "media__linkbtn" + (i + 1); 439 linkbtn.title = LANG['media' + linkbtns[i]]; 440 linkbtn.style.borderStyle = 'outset'; 441 addEvent(linkbtn,'click',function(event){ return media_manager.setlink(event,this); }); 442 443 var linkimg = document.createElement('img'); 444 linkimg.src = DOKU_BASE + 'lib/images/media_link_' + linkbtns[i] + '.png'; 445 446 linkbtn.appendChild(linkimg); 447 linkp.appendChild(linkbtn); 448 } 449 450 media_manager.popup.appendChild(linkp); 451 452 // align 453 454 var alignp = document.createElement('p'); 455 var alignl = document.createElement('label'); 456 457 alignp.appendChild(alignl); 458 alignp.id = 'media__align'; 459 if (media_manager.display == "2") { 460 alignp.style.display = "none"; 461 } 462 alignl.innerHTML = LANG['mediaalign']; 463 464 var alignbtns = ['noalign', 'left', 'center', 'right']; 465 for (var n = 0 ; n < alignbtns.length ; ++n) { 466 var alignbtn = document.createElement('button'); 467 var alignimg = document.createElement('img'); 468 alignimg.src = DOKU_BASE + 'lib/images/media_align_' + alignbtns[n] + '.png'; 469 470 alignbtn.id = "media__alignbtn" + n; 471 alignbtn.value = n; 472 alignbtn.title = LANG['media' + alignbtns[n]]; 473 alignbtn.className = 'button'; 474 alignbtn.appendChild(alignimg); 475 alignbtn.style.borderStyle = 'outset'; 476 addEvent(alignbtn,'click',function(event){ return media_manager.setalign(event,this); }); 477 478 alignp.appendChild(alignbtn); 479 } 480 481 media_manager.popup.appendChild(alignp); 482 483 // size 484 485 var sizep = document.createElement('p'); 486 var sizel = document.createElement('label'); 487 488 sizep.id = 'media__size'; 489 if (media_manager.display == "2") { 490 sizep.style.display = "none"; 491 } 492 sizep.appendChild(sizel); 493 sizel.innerHTML = LANG['mediasize']; 494 495 var sizebtns = ['small', 'medium', 'large', 'original']; 496 for (var size = 0 ; size < sizebtns.length ; ++size) { 497 var sizebtn = document.createElement('button'); 498 var sizeimg = document.createElement('img'); 499 500 sizep.appendChild(sizebtn); 501 sizeimg.src = DOKU_BASE + 'lib/images/media_size_' + sizebtns[size] + '.png'; 502 503 sizebtn.className = 'button'; 504 sizebtn.appendChild(sizeimg); 505 sizebtn.value = size + 1; 506 sizebtn.id = 'media__sizebtn' + (size + 1); 507 sizebtn.title = LANG['media' + sizebtns[size]]; 508 sizebtn.style.borderStyle = 'outset'; 509 addEvent(sizebtn,'click',function(event){ return media_manager.setsize(event,this); }); 510 } 511 512 media_manager.popup.appendChild(sizep); 513 514 // send and close button 515 516 var btnp = document.createElement('p'); 517 media_manager.popup.appendChild(btnp); 518 btnp.setAttribute('class','btnlbl'); 519 520 var cls = document.createElement('input'); 521 cls.type = 'button'; 522 cls.setAttribute('class','button'); 523 cls.value = LANG['mediaclose']; 524 btnp.appendChild(cls); 525 addEvent(cls,'click',function(event){ return media_manager.closePopup(event,this); }); 526 527 var btn = document.createElement('input'); 528 btn.type = 'button'; 529 btn.id = 'media__sendbtn'; 530 btn.setAttribute('class','button'); 531 btn.value = LANG['mediainsert']; 532 btnp.appendChild(btn); 533 addEvent(btn,'click',function(event){ return media_manager.insert(event); }); 534 }, 535 536 /** 537 * Insert the clicked image into the opener's textarea 538 * 539 * @author Andreas Gohr <andi@splitbrain.org> 540 * @author Dominik Eckelmann <eckelmann@cosmocode.de> 541 */ 542 insert: function(event){ 543 var id = media_manager.id; 544 // set syntax options 545 $('media__popup').style.display = 'none'; 546 547 var opts = ''; 548 var optsstart = ''; 549 var alignleft = ''; 550 var alignright = ''; 551 552 if (media_manager.ext == 'img' || media_manager.ext == 'swf') { 553 554 if (media_manager.link == '4') { 555 opts = '?linkonly'; 556 } else { 557 558 if (media_manager.link == "3" && media_manager.ext == 'img') { 559 opts = '?nolink'; 560 optsstart = true; 561 } else if (media_manager.link == "2" && media_manager.ext == 'img') { 562 opts = '?direct'; 563 optsstart = true; 564 } 565 566 var s = parseInt(media_manager.size); 567 568 if (s && s >= 1) { 569 opts += (optsstart)?'&':'?'; 570 if (s=="1") { 571 opts += '100'; 572 if (media_manager.ext == 'swf') { 573 opts += 'x62'; 574 } 575 } else if (s=="2") { 576 opts += '200'; 577 if (media_manager.ext == 'swf') { 578 opts += 'x123'; 579 } 580 } else if (s=="3"){ 581 opts += '300'; 582 if (media_manager.ext == 'swf') { 583 opts += 'x185'; 584 } 585 } 586 } 587 if (media_manager.align == '1') { 588 alignleft = ''; 589 alignright = ' '; 590 } 591 if (media_manager.align == '2') { 592 alignleft = ' '; 593 alignright = ' '; 594 } 595 if (media_manager.align == '3') { 596 alignleft = ' '; 597 alignright = ''; 598 } 599 } 600 } 601 opener.insertTags('wiki__text','{{'+alignleft+id+opts+alignright+'|','}}',''); 602 603 if(!media_manager.keepopen) window.close(); 604 opener.focus(); 605 return false; 606 }, 607 608 /** 609 * list the content of a namespace using AJAX 610 * 611 * @author Andreas Gohr <andi@splitbrain.org> 612 */ 613 list: function(event,link){ 614 // prepare an AJAX call to fetch the subtree 615 var ajax = new sack(DOKU_BASE + 'lib/exe/ajax.php'); 616 ajax.AjaxFailedAlert = ''; 617 ajax.encodeURIString = false; 618 if(ajax.failed) return true; 619 620 cleanMsgArea(); 621 622 var content = $('media__content'); 623 content.innerHTML = '<img src="'+DOKU_BASE+'lib/images/loading.gif" alt="..." class="load" />'; 624 625 ajax.elementObj = content; 626 ajax.afterCompletion = function(){ 627 media_manager.selectorattach(content); 628 media_manager.confirmattach(content); 629 media_manager.updatehide(); 630 media_manager.initFlashUpload(); 631 }; 632 ajax.runAJAX(link.search.substr(1)+'&call=medialist'); 633 return false; 634 }, 635 636 /** 637 * Prefills the wikiname. 638 * 639 * @author Andreas Gohr <andi@splitbrain.org> 640 */ 641 suggest: function(){ 642 var file = $('upload__file'); 643 var name = $('upload__name'); 644 if(!file || !name) return; 645 646 var text = file.value; 647 text = text.substr(text.lastIndexOf('/')+1); 648 text = text.substr(text.lastIndexOf('\\')+1); 649 name.value = text; 650 }, 651 652 653 initFlashUpload: function(){ 654 if(!hasFlash(8)) return; 655 var oform = $('dw__upload'); 656 var oflash = $('dw__flashupload'); 657 if(!oform || !oflash) return; 658 659 var clicky = document.createElement('img'); 660 clicky.src = DOKU_BASE+'lib/images/multiupload.png'; 661 clicky.title = LANG['mu_btn']; 662 clicky.alt = LANG['mu_btn']; 663 clicky.style.cursor = 'pointer'; 664 clicky.onclick = function(){ 665 oform.style.display = 'none'; 666 oflash.style.display = ''; 667 }; 668 oform.appendChild(clicky); 669 }, 670 671 /** 672 * closes the link type popup 673 */ 674 closePopup: function(event) { 675 $('media__popup').style.display = 'none'; 676 }, 677 678 /** 679 * set the align 680 * 681 * @author Dominik Eckelmann <eckelmann@cosmocode.de> 682 */ 683 setalign: function(event,cb){ 684 if(cb.value){ 685 DokuCookie.setValue('align',cb.value); 686 media_manager.align = cb.value; 687 media_manager.outSet("media__alignbtn0"); 688 media_manager.outSet("media__alignbtn1"); 689 media_manager.outSet("media__alignbtn2"); 690 media_manager.outSet("media__alignbtn3"); 691 media_manager.inSet("media__alignbtn"+cb.value); 692 }else{ 693 DokuCookie.setValue('align',''); 694 media_manager.align = false; 695 } 696 }, 697 /** 698 * set the link type 699 * 700 * @author Dominik Eckelmann <eckelmann@cosmocode.de> 701 */ 702 setlink: function(event,cb){ 703 if(cb.value){ 704 DokuCookie.setValue('link',cb.value); 705 media_manager.link = cb.value; 706 media_manager.outSet("media__linkbtn1"); 707 media_manager.outSet("media__linkbtn2"); 708 media_manager.outSet("media__linkbtn3"); 709 media_manager.outSet("media__linkbtn4"); 710 media_manager.inSet("media__linkbtn"+cb.value); 711 var size = document.getElementById("media__size"); 712 var align = document.getElementById("media__align"); 713 if (cb.value != '4') { 714 size.style.display = "block"; 715 align.style.display = "block"; 716 } else { 717 size.style.display = "none"; 718 align.style.display = "none"; 719 } 720 }else{ 721 DokuCookie.setValue('link',''); 722 media_manager.link = false; 723 } 724 }, 725 726 /** 727 * set the display type 728 * 729 * @author Dominik Eckelmann <eckelmann@cosmocode.de> 730 */ 731 setdisplay: function(event,cb){ 732 if(cb.value){ 733 DokuCookie.setValue('display',cb.value); 734 media_manager.display = cb.value; 735 media_manager.outSet("media__displaybtn1"); 736 media_manager.outSet("media__displaybtn2"); 737 media_manager.inSet("media__displaybtn"+cb.value); 738 739 }else{ 740 DokuCookie.setValue('display',''); 741 media_manager.align = false; 742 } 743 }, 744 745 /** 746 * sets the border to outset 747 */ 748 outSet: function(id) { 749 var ele = document.getElementById(id); 750 if (ele == null) return; 751 ele.style.borderStyle = "outset"; 752 }, 753 /** 754 * sets the border to inset 755 */ 756 inSet: function(id) { 757 var ele = document.getElementById(id); 758 if (ele == null) return; 759 ele.style.borderStyle = "inset"; 760 }, 761 762 /** 763 * set the image size 764 * 765 * @author Dominik Eckelmann <eckelmann@cosmocode.de> 766 */ 767 setsize: function(event,cb){ 768 if (cb.value) { 769 DokuCookie.setValue('size',cb.value); 770 media_manager.size = cb.value; 771 for (var i = 1 ; i <= 4 ; ++i) { 772 media_manager.outSet("media__sizebtn" + i); 773 } 774 media_manager.inSet("media__sizebtn"+cb.value); 775 } else { 776 DokuCookie.setValue('size',''); 777 media_manager.width = false; 778 } 779 } 780}; 781 782addInitEvent(function(){ 783 //media_manager.treeattach($('media__tree')); 784 media_manager.selectorattach($('media__content')); 785 media_manager.confirmattach($('media__content')); 786 media_manager.attachoptions($('media__opts')); 787 media_manager.initpopup(); 788 media_manager.initFlashUpload(); 789}); 790