MDL-20069 new URL module, includes migrate from old mod/resource; remaining issues...
[moodle.git] / mod / url / functions.js
1 // This file is part of Moodle - http://moodle.org/
2 //
3 // Moodle is free software: you can redistribute it and/or modify
4 // it under the terms of the GNU General Public License as published by
5 // the Free Software Foundation, either version 3 of the License, or
6 // (at your option) any later version.
7 //
8 // Moodle is distributed in the hope that it will be useful,
9 // but WITHOUT ANY WARRANTY; without even the implied warranty of
10 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
11 // GNU General Public License for more details.
12 //
13 // You should have received a copy of the GNU General Public License
14 // along with Moodle.  If not, see <http://www.gnu.org/licenses/>.
16 /**
17  * Javascript helper function for URL module
18  *
19  * @package   mod-url
20  * @copyright 2009 Petr Skoda (http://skodak.org)
21  * @license   http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
22  */
24 function url_init_object() {
25     YAHOO.util.Event.onDOMReady(function () {
26         imscp_setup_object();
27     });
28 }
30 function imscp_setup_object() {
31     url_resize_object();
33     // fix layout if window resized too
34     window.onresize = function() {
35         url_resize_object();
36     };
37 }
39 function url_resize_object() {
40     var obj = YAHOO.util.Dom.get('resourceobject');
41     obj.style.width = '0px';
42     obj.style.height = '0px';
43     var newwidth = url_get_htmlelement_size('content', 'width') - 15;
44     if (newwidth > 600) {
45         obj.style.width = newwidth  + 'px';
46     } else {
47         obj.style.width = '600px';
48     }
49     var pageheight = url_get_htmlelement_size('page', 'height');
50     var objheight = url_get_htmlelement_size(obj, 'height');
51     var newheight = objheight + parseInt(YAHOO.util.Dom.getViewportHeight()) - pageheight - 30;
52     if (newheight > 400) {
53         obj.style.height = newheight + 'px';
54     } else {
55         obj.style.height = '400px';
56     }
57 }
60 function url_get_htmlelement_size(el, prop) {
61     var val = YAHOO.util.Dom.getStyle(el, prop);
62     if (val == 'auto') {
63         if (el.get) {
64             el = el.get('element'); // get real HTMLElement from YUI element
65         }
66         val = YAHOO.util.Dom.getComputedStyle(YAHOO.util.Dom.get(el), prop);
67     }
68     return parseInt(val);
69 }