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