/lenasys/trunk

To get this branch, use:
bzr branch http://gegoxaren.bato24.eu/bzr/lenasys/trunk

« back to all changes in this revision

Viewing changes to codeigniter/user_guide/nav/moo.fx.js

  • Committer: Gustav Hartvigsson
  • Date: 2013-04-11 16:45:55 UTC
  • mfrom: (23.2.1 lenasys)
  • Revision ID: gustav.hartvigsson@gmail.com-20130411164555-ljhmrb2ys3xatogt
commited implementation group one's team branch.
20130411.

Merge proposal comment:
Removed codeigniter user guide, shouldn't be in the repo
Added and implemented CKEditor Wysiwyg editor for editing of pages
Made already uploaded code files visible as you edit a page
Implemented Adams dropdown menu in codeviewer.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
/*
2
 
moo.fx, simple effects library built with prototype.js (http://prototype.conio.net).
3
 
by Valerio Proietti (http://mad4milk.net) MIT-style LICENSE.
4
 
for more info (http://moofx.mad4milk.net).
5
 
10/24/2005
6
 
v(1.0.2)
7
 
*/
8
 
 
9
 
//base
10
 
var fx = new Object();
11
 
fx.Base = function(){};
12
 
fx.Base.prototype = {
13
 
        setOptions: function(options) {
14
 
        this.options = {
15
 
                duration: 500,
16
 
                onComplete: ''
17
 
        }
18
 
        Object.extend(this.options, options || {});
19
 
        },
20
 
 
21
 
        go: function() {
22
 
                this.duration = this.options.duration;
23
 
                this.startTime = (new Date).getTime();
24
 
                this.timer = setInterval (this.step.bind(this), 13);
25
 
        },
26
 
 
27
 
        step: function() {
28
 
                var time  = (new Date).getTime();
29
 
                var Tpos   = (time - this.startTime) / (this.duration);
30
 
                if (time >= this.duration+this.startTime) {
31
 
                        this.now = this.to;
32
 
                        clearInterval (this.timer);
33
 
                        this.timer = null;
34
 
                        if (this.options.onComplete) setTimeout(this.options.onComplete.bind(this), 10);
35
 
                }
36
 
                else {
37
 
                        this.now = ((-Math.cos(Tpos*Math.PI)/2) + 0.5) * (this.to-this.from) + this.from;
38
 
                        //this time-position, sinoidal transition thing is from script.aculo.us
39
 
                }
40
 
                this.increase();
41
 
        },
42
 
 
43
 
        custom: function(from, to) {
44
 
                if (this.timer != null) return;
45
 
                this.from = from;
46
 
                this.to = to;
47
 
                this.go();
48
 
        },
49
 
 
50
 
        hide: function() {
51
 
                this.now = 0;
52
 
                this.increase();
53
 
        },
54
 
 
55
 
        clearTimer: function() {
56
 
                clearInterval(this.timer);
57
 
                this.timer = null;
58
 
        }
59
 
}
60
 
 
61
 
//stretchers
62
 
fx.Layout = Class.create();
63
 
fx.Layout.prototype = Object.extend(new fx.Base(), {
64
 
        initialize: function(el, options) {
65
 
                this.el = $(el);
66
 
                this.el.style.overflow = "hidden";
67
 
                this.el.iniWidth = this.el.offsetWidth;
68
 
                this.el.iniHeight = this.el.offsetHeight;
69
 
                this.setOptions(options);
70
 
        }
71
 
});
72
 
 
73
 
fx.Height = Class.create();
74
 
Object.extend(Object.extend(fx.Height.prototype, fx.Layout.prototype), {
75
 
        increase: function() {
76
 
                this.el.style.height = this.now + "px";
77
 
        },
78
 
 
79
 
        toggle: function() {
80
 
                if (this.el.offsetHeight > 0) this.custom(this.el.offsetHeight, 0);
81
 
                else this.custom(0, this.el.scrollHeight);
82
 
        }
83
 
});