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