1/** 2 * JavaScript functionalitiy 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 * Opens the searchfield 152 * 153 * @author Tobias Sarnowski <sarnowski@cosmocode.de> 154 */ 155 showsearchfield: function(event,link){ 156 // prepare an AJAX call to fetch the search 157 var ajax = new sack(DOKU_BASE + 'lib/exe/ajax.php'); 158 ajax.AjaxFailedAlert = ''; 159 ajax.encodeURIString = false; 160 if(ajax.failed) return true; 161 162 cleanMsgArea(); 163 164 var content = $('media__content'); 165 content.innerHTML = '<img src="'+DOKU_BASE+'lib/images/loading.gif" alt="..." class="load" />'; 166 167 ajax.elementObj = content; 168 ajax.afterCompletion = function(){ 169 media_manager.selectorattach(content); 170 media_manager.confirmattach(content); 171 media_manager.updatehide(); 172 }; 173 ajax.runAJAX(link.search.substr(1)+'&call=mediasearchlist'); 174 return false; 175 }, 176 177 /** 178 * Toggles the keep open state 179 * 180 * @author Andreas Gohr <andi@splitbrain.org> 181 */ 182 togglekeepopen: function(event,cb){ 183 if(cb.checked){ 184 DokuCookie.setValue('keepopen',1); 185 media_manager.keepopen = true; 186 }else{ 187 DokuCookie.setValue('keepopen',''); 188 media_manager.keepopen = false; 189 } 190 }, 191 192 /** 193 * Toggles the hide details state 194 * 195 * @author Andreas Gohr <andi@splitbrain.org> 196 */ 197 togglehide: function(event,cb){ 198 if(cb.checked){ 199 DokuCookie.setValue('hide',1); 200 media_manager.hide = true; 201 }else{ 202 DokuCookie.setValue('hide',''); 203 media_manager.hide = false; 204 } 205 media_manager.updatehide(); 206 }, 207 208 /** 209 * Sets the visibility of the image details accordingly to the 210 * chosen hide state 211 * 212 * @author Andreas Gohr <andi@splitbrain.org> 213 */ 214 updatehide: function(){ 215 var obj = $('media__content'); 216 if(!obj) return; 217 var details = getElementsByClass('detail',obj,'div'); 218 for(var i=0; i<details.length; i++){ 219 if(media_manager.hide){ 220 details[i].style.display = 'none'; 221 }else{ 222 details[i].style.display = ''; 223 } 224 } 225 }, 226 227 /** 228 * shows the popup for a image link 229 */ 230 select: function(event,link){ 231 var id = link.name.substr(2); 232 233 media_manager.id = id; 234 if(!opener){ 235 // if we don't run in popup display example 236 var ex = $('ex_'+id.replace(/:/g,'_')); 237 if(ex.style.display == ''){ 238 ex.style.display = 'none'; 239 } else { 240 ex.style.display = ''; 241 } 242 return false; 243 } 244 245 media_manager.ext = false; 246 var dot = id.lastIndexOf("."); 247 if (dot != -1) { 248 var ext = id.substr(dot,id.length); 249 250 if (ext != '.jpg' && ext != '.jpeg' && ext != '.png' && ext != '.gif' && ext != '.swf') { 251 media_manager.insert(null); 252 return false; 253 } 254 } else { 255 media_manager.insert(null); 256 return false; 257 } 258 259 media_manager.popup.style.display = 'inline'; 260 media_manager.popup.style.left = event.pageX + 'px'; 261 media_manager.popup.style.top = event.pageY + 'px'; 262 263 // set all buttons to outset 264 media_manager.outSet('media__linkbtn1'); 265 media_manager.outSet('media__linkbtn2'); 266 media_manager.outSet('media__linkbtn3'); 267 media_manager.outSet('media__linkbtn4'); 268 269 media_manager.outSet('media__alignbtn0'); 270 media_manager.outSet('media__alignbtn1'); 271 media_manager.outSet('media__alignbtn2'); 272 media_manager.outSet('media__alignbtn3'); 273 274 media_manager.outSet('media__sizebtn1'); 275 media_manager.outSet('media__sizebtn2'); 276 media_manager.outSet('media__sizebtn3'); 277 media_manager.outSet('media__sizebtn4'); 278 279 280 if (ext == '.swf') { 281 media_manager.ext = 'swf'; 282 283 // disable display buttons for detail and linked image 284 $('media__linkbtn1').style.display = 'none'; 285 $('media__linkbtn2').style.display = 'none'; 286 287 // set the link button to default 288 if (media_manager.link != false) { 289 if ( media_manager.link == '2' || media_manager.link == '1') { 290 media_manager.inSet('media__linkbtn3'); 291 media_manager.link = '3'; 292 DokuCookie.setValue('link','3'); 293 } else { 294 media_manager.inSet('media__linkbtn'+media_manager.link); 295 } 296 } else if (DokuCookie.getValue('link')) { 297 if ( DokuCookie.getValue('link') == '2' || DokuCookie.getValue('link') == '1') { 298 // this options are not availible 299 media_manager.inSet('media__linkbtn3'); 300 media_manager.link = '3'; 301 DokuCookie.setValue('link','3'); 302 } else { 303 media_manager.inSet('media__linkbtn'+DokuCookie.getValue('link')); 304 media_manager.link = DokuCookie.getValue('link'); 305 } 306 } else { 307 // default case 308 media_manager.link = '3'; 309 media_manager.inSet('media__linkbtn3'); 310 DokuCookie.setValue('link','3'); 311 } 312 313 // disable button for original size 314 $('media__sizebtn4').style.display = 'none'; 315 316 } else { 317 media_manager.ext = 'img'; 318 319 // ensure that the display buttons are there 320 $('media__linkbtn1').style.display = 'inline'; 321 $('media__linkbtn2').style.display = 'inline'; 322 $('media__sizebtn4').style.display = 'inline'; 323 324 // set the link button to default 325 if (DokuCookie.getValue('link')) { 326 media_manager.link = DokuCookie.getValue('link'); 327 } 328 if (media_manager.link == false) { 329 // default case 330 media_manager.link = '1'; 331 DokuCookie.setValue('link','1'); 332 } 333 media_manager.inSet('media__linkbtn'+media_manager.link); 334 } 335 336 if (media_manager.link == '4') { 337 media_manager.align = false; 338 media_manager.size = false; 339 $('media__align').style.display = 'none'; 340 $('media__size').style.display = 'none'; 341 } else { 342 $('media__align').style.display = 'block'; 343 $('media__size').style.display = 'block'; 344 345 // set the align button to default 346 if (media_manager.align != false) { 347 media_manager.inSet('media__alignbtn'+media_manager.align); 348 } else if (DokuCookie.getValue('align')) { 349 media_manager.inSet('media__alignbtn'+DokuCookie.getValue('align')); 350 media_manager.align = DokuCookie.getValue('align'); 351 } else { 352 // default case 353 media_manager.align = '0'; 354 media_manager.inSet('media__alignbtn0'); 355 DokuCookie.setValue('align','0'); 356 } 357 358 // set the size button to default 359 if (DokuCookie.getValue('size')) { 360 media_manager.size = DokuCookie.getValue('size'); 361 } 362 if (media_manager.size == false || (media_manager.size === '4' && ext === '.swf')) { 363 // default case 364 media_manager.size = '2'; 365 DokuCookie.setValue('size','2'); 366 } 367 media_manager.inSet('media__sizebtn'+media_manager.size); 368 369 $('media__sendbtn').focus(); 370 } 371 372 return false; 373 }, 374 375 /** 376 * build the popup window 377 * 378 * @author Dominik Eckelmann <eckelmann@cosmocode.de> 379 */ 380 initpopup: function() { 381 382 media_manager.popup = document.createElement('div'); 383 media_manager.popup.setAttribute('id','media__popup'); 384 385 var root = document.getElementById('media__manager'); 386 if (root == null) return; 387 root.appendChild(media_manager.popup); 388 389 var headline = document.createElement('h1'); 390 headline.innerHTML = LANG.mediatitle; 391 var headlineimg = document.createElement('img'); 392 headlineimg.src = DOKU_BASE + 'lib/images/close.png'; 393 headlineimg.id = 'media__closeimg'; 394 addEvent(headlineimg,'click',function(event){ return media_manager.closePopup(event,this); }); 395 headline.insertBefore(headlineimg, headline.firstChild); 396 media_manager.popup.appendChild(headline); 397 drag.attach(media_manager.popup,headline); 398 399 // link 400 401 var linkp = document.createElement('p'); 402 403 linkp.id = "media__linkstyle"; 404 if (media_manager.display == "2") { 405 linkp.style.display = "none"; 406 } 407 408 var linkl = document.createElement('label'); 409 linkl.innerHTML = LANG.mediatarget; 410 linkp.appendChild(linkl); 411 412 var linkbtns = ['lnk', 'direct', 'nolnk', 'displaylnk']; 413 for (var i = 0 ; i < linkbtns.length ; ++i) { 414 var linkbtn = document.createElement('button'); 415 linkbtn.className = 'button'; 416 linkbtn.value = i + 1; 417 linkbtn.id = "media__linkbtn" + (i + 1); 418 linkbtn.title = LANG['media' + linkbtns[i]]; 419 linkbtn.style.borderStyle = 'outset'; 420 addEvent(linkbtn,'click',function(event){ return media_manager.setlink(event,this); }); 421 422 var linkimg = document.createElement('img'); 423 linkimg.src = DOKU_BASE + 'lib/images/media_link_' + linkbtns[i] + '.png'; 424 425 linkbtn.appendChild(linkimg); 426 linkp.appendChild(linkbtn); 427 } 428 429 media_manager.popup.appendChild(linkp); 430 431 // align 432 433 var alignp = document.createElement('p'); 434 var alignl = document.createElement('label'); 435 436 alignp.appendChild(alignl); 437 alignp.id = 'media__align'; 438 if (media_manager.display == "2") { 439 alignp.style.display = "none"; 440 } 441 alignl.innerHTML = LANG['mediaalign']; 442 443 var alignbtns = ['noalign', 'left', 'center', 'right']; 444 for (var n = 0 ; n < alignbtns.length ; ++n) { 445 var alignbtn = document.createElement('button'); 446 var alignimg = document.createElement('img'); 447 alignimg.src = DOKU_BASE + 'lib/images/media_align_' + alignbtns[n] + '.png'; 448 449 alignbtn.id = "media__alignbtn" + n; 450 alignbtn.value = n; 451 alignbtn.title = LANG['media' + alignbtns[n]]; 452 alignbtn.className = 'button'; 453 alignbtn.appendChild(alignimg); 454 alignbtn.style.borderStyle = 'outset'; 455 addEvent(alignbtn,'click',function(event){ return media_manager.setalign(event,this); }); 456 457 alignp.appendChild(alignbtn); 458 } 459 460 media_manager.popup.appendChild(alignp); 461 462 // size 463 464 var sizep = document.createElement('p'); 465 var sizel = document.createElement('label'); 466 467 sizep.id = 'media__size'; 468 if (media_manager.display == "2") { 469 sizep.style.display = "none"; 470 } 471 sizep.appendChild(sizel); 472 sizel.innerHTML = LANG['mediasize']; 473 474 var sizebtns = ['small', 'medium', 'large', 'original']; 475 for (var size = 0 ; size < sizebtns.length ; ++size) { 476 var sizebtn = document.createElement('button'); 477 var sizeimg = document.createElement('img'); 478 479 sizep.appendChild(sizebtn); 480 sizeimg.src = DOKU_BASE + 'lib/images/media_size_' + sizebtns[size] + '.png'; 481 482 sizebtn.className = 'button'; 483 sizebtn.appendChild(sizeimg); 484 sizebtn.value = size + 1; 485 sizebtn.id = 'media__sizebtn' + (size + 1); 486 sizebtn.title = LANG['media' + sizebtns[size]]; 487 sizebtn.style.borderStyle = 'outset'; 488 addEvent(sizebtn,'click',function(event){ return media_manager.setsize(event,this); }); 489 } 490 491 media_manager.popup.appendChild(sizep); 492 493 // send and close button 494 495 var btnp = document.createElement('p'); 496 media_manager.popup.appendChild(btnp); 497 btnp.setAttribute('class','btnlbl'); 498 499 var cls = document.createElement('input'); 500 cls.type = 'button'; 501 cls.setAttribute('class','button'); 502 cls.value = LANG['mediaclose']; 503 btnp.appendChild(cls); 504 addEvent(cls,'click',function(event){ return media_manager.closePopup(event,this); }); 505 506 var btn = document.createElement('input'); 507 btn.type = 'button'; 508 btn.id = 'media__sendbtn'; 509 btn.setAttribute('class','button'); 510 btn.value = LANG['mediainsert']; 511 btnp.appendChild(btn); 512 addEvent(btn,'click',function(event){ return media_manager.insert(event); }); 513 }, 514 515 /** 516 * Insert the clicked image into the opener's textarea 517 * 518 * @author Andreas Gohr <andi@splitbrain.org> 519 * @author Dominik Eckelmann <eckelmann@cosmocode.de> 520 */ 521 insert: function(event){ 522 var id = media_manager.id; 523 // set syntax options 524 $('media__popup').style.display = 'none'; 525 526 var opts = ''; 527 var optsstart = ''; 528 var alignleft = ''; 529 var alignright = ''; 530 531 if (media_manager.ext == 'img' || media_manager.ext == 'swf') { 532 533 if (media_manager.link == '4') { 534 opts = '?linkonly'; 535 } else { 536 537 if (media_manager.link == "3" && media_manager.ext == 'img') { 538 opts = '?nolink'; 539 optsstart = true; 540 } else if (media_manager.link == "2" && media_manager.ext == 'img') { 541 opts = '?direct'; 542 optsstart = true; 543 } 544 545 var s = parseInt(media_manager.size); 546 547 if (s && s >= 1) { 548 opts += (optsstart)?'&':'?'; 549 if (s=="1") { 550 opts += '100'; 551 if (media_manager.ext == 'swf') { 552 opts += 'x62'; 553 } 554 } else if (s=="2") { 555 opts += '200'; 556 if (media_manager.ext == 'swf') { 557 opts += 'x123'; 558 } 559 } else if (s=="3"){ 560 opts += '300'; 561 if (media_manager.ext == 'swf') { 562 opts += 'x185'; 563 } 564 } 565 } 566 if (media_manager.align == '1') { 567 alignleft = ''; 568 alignright = ' '; 569 } 570 if (media_manager.align == '2') { 571 alignleft = ' '; 572 alignright = ' '; 573 } 574 if (media_manager.align == '3') { 575 alignleft = ' '; 576 alignright = ''; 577 } 578 } 579 } 580 opener.insertTags('wiki__text','{{'+alignleft+id+opts+alignright+'|','}}',''); 581 582 if(!media_manager.keepopen) window.close(); 583 opener.focus(); 584 return false; 585 }, 586 587 /** 588 * list the content of a namespace using AJAX 589 * 590 * @author Andreas Gohr <andi@splitbrain.org> 591 */ 592 list: function(event,link){ 593 // prepare an AJAX call to fetch the subtree 594 var ajax = new sack(DOKU_BASE + 'lib/exe/ajax.php'); 595 ajax.AjaxFailedAlert = ''; 596 ajax.encodeURIString = false; 597 if(ajax.failed) return true; 598 599 cleanMsgArea(); 600 601 var content = $('media__content'); 602 content.innerHTML = '<img src="'+DOKU_BASE+'lib/images/loading.gif" alt="..." class="load" />'; 603 604 ajax.elementObj = content; 605 ajax.afterCompletion = function(){ 606 media_manager.selectorattach(content); 607 media_manager.confirmattach(content); 608 media_manager.updatehide(); 609 media_manager.initFlashUpload(); 610 }; 611 ajax.runAJAX(link.search.substr(1)+'&call=medialist'); 612 return false; 613 }, 614 615 616 /** 617 * Open or close a subtree using AJAX 618 * 619 * @author Andreas Gohr <andi@splitbrain.org> 620 */ 621 toggle: function(event,clicky){ 622 var listitem = clicky.parentNode; 623 624 // if already open, close by removing the sublist 625 var sublists = listitem.getElementsByTagName('ul'); 626 if(sublists.length){ 627 listitem.removeChild(sublists[0]); 628 clicky.src = DOKU_BASE+'lib/images/plus.gif'; 629 return false; 630 } 631 632 // get the enclosed link (is always the first one) 633 var link = listitem.getElementsByTagName('a')[0]; 634 635 // prepare an AJAX call to fetch the subtree 636 var ajax = new sack(DOKU_BASE + 'lib/exe/ajax.php'); 637 ajax.AjaxFailedAlert = ''; 638 ajax.encodeURIString = false; 639 if(ajax.failed) return true; 640 641 //prepare the new ul 642 var ul = document.createElement('ul'); 643 //fixme add classname here 644 listitem.appendChild(ul); 645 ajax.elementObj = ul; 646 ajax.afterCompletion = function(){ media_manager.treeattach(ul); }; 647 ajax.runAJAX(link.search.substr(1)+'&call=medians'); 648 clicky.src = DOKU_BASE+'lib/images/minus.gif'; 649 return false; 650 }, 651 652 /** 653 * Prefills the wikiname. 654 * 655 * @author Andreas Gohr <andi@splitbrain.org> 656 */ 657 suggest: function(){ 658 var file = $('upload__file'); 659 var name = $('upload__name'); 660 if(!file || !name) return; 661 662 var text = file.value; 663 text = text.substr(text.lastIndexOf('/')+1); 664 text = text.substr(text.lastIndexOf('\\')+1); 665 name.value = text; 666 }, 667 668 669 initFlashUpload: function(){ 670 if(!hasFlash(8)) return; 671 var oform = $('dw__upload'); 672 var oflash = $('dw__flashupload'); 673 if(!oform || !oflash) return; 674 675 var clicky = document.createElement('img'); 676 clicky.src = DOKU_BASE+'lib/images/multiupload.png'; 677 clicky.title = LANG['mu_btn']; 678 clicky.alt = LANG['mu_btn']; 679 clicky.style.cursor = 'pointer'; 680 clicky.onclick = function(){ 681 oform.style.display = 'none'; 682 oflash.style.display = ''; 683 }; 684 oform.appendChild(clicky); 685 }, 686 687 /** 688 * closes the link type popup 689 */ 690 closePopup: function(event) { 691 $('media__popup').style.display = 'none'; 692 }, 693 694 /** 695 * set the align 696 * 697 * @author Dominik Eckelmann <eckelmann@cosmocode.de> 698 */ 699 setalign: function(event,cb){ 700 if(cb.value){ 701 DokuCookie.setValue('align',cb.value); 702 media_manager.align = cb.value; 703 media_manager.outSet("media__alignbtn0"); 704 media_manager.outSet("media__alignbtn1"); 705 media_manager.outSet("media__alignbtn2"); 706 media_manager.outSet("media__alignbtn3"); 707 media_manager.inSet("media__alignbtn"+cb.value); 708 }else{ 709 DokuCookie.setValue('align',''); 710 media_manager.align = false; 711 } 712 }, 713 /** 714 * set the link type 715 * 716 * @author Dominik Eckelmann <eckelmann@cosmocode.de> 717 */ 718 setlink: function(event,cb){ 719 if(cb.value){ 720 DokuCookie.setValue('link',cb.value); 721 media_manager.link = cb.value; 722 media_manager.outSet("media__linkbtn1"); 723 media_manager.outSet("media__linkbtn2"); 724 media_manager.outSet("media__linkbtn3"); 725 media_manager.outSet("media__linkbtn4"); 726 media_manager.inSet("media__linkbtn"+cb.value); 727 var size = document.getElementById("media__size"); 728 var align = document.getElementById("media__align"); 729 if (cb.value != '4') { 730 size.style.display = "block"; 731 align.style.display = "block"; 732 } else { 733 size.style.display = "none"; 734 align.style.display = "none"; 735 } 736 }else{ 737 DokuCookie.setValue('link',''); 738 media_manager.link = false; 739 } 740 }, 741 742 /** 743 * set the display type 744 * 745 * @author Dominik Eckelmann <eckelmann@cosmocode.de> 746 */ 747 setdisplay: function(event,cb){ 748 if(cb.value){ 749 DokuCookie.setValue('display',cb.value); 750 media_manager.display = cb.value; 751 media_manager.outSet("media__displaybtn1"); 752 media_manager.outSet("media__displaybtn2"); 753 media_manager.inSet("media__displaybtn"+cb.value); 754 755 }else{ 756 DokuCookie.setValue('display',''); 757 media_manager.align = false; 758 } 759 }, 760 761 /** 762 * sets the border to outset 763 */ 764 outSet: function(id) { 765 var ele = document.getElementById(id); 766 if (ele == null) return; 767 ele.style.borderStyle = "outset"; 768 }, 769 /** 770 * sets the border to inset 771 */ 772 inSet: function(id) { 773 var ele = document.getElementById(id); 774 if (ele == null) return; 775 ele.style.borderStyle = "inset"; 776 }, 777 778 /** 779 * set the image size 780 * 781 * @author Dominik Eckelmann <eckelmann@cosmocode.de> 782 */ 783 setsize: function(event,cb){ 784 if (cb.value) { 785 DokuCookie.setValue('size',cb.value); 786 media_manager.size = cb.value; 787 for (var i = 1 ; i <= 4 ; ++i) { 788 media_manager.outSet("media__sizebtn" + i); 789 } 790 media_manager.inSet("media__sizebtn"+cb.value); 791 } else { 792 DokuCookie.setValue('size',''); 793 media_manager.width = false; 794 } 795 } 796}; 797 798addInitEvent(function(){ 799 media_manager.treeattach($('media__tree')); 800 media_manager.selectorattach($('media__content')); 801 media_manager.confirmattach($('media__content')); 802 media_manager.attachoptions($('media__opts')); 803 media_manager.initpopup(); 804 media_manager.initFlashUpload(); 805}); 806