1
+ − 1
// Sliding drawers on the sidebar
+ − 2
+ − 3
// our global vars
+ − 4
// the delay between the slide in/out, and a little inertia
+ − 5
753
+ − 6
/*
+ − 7
pseudocode:
+ − 8
oninit():
+ − 9
i = 0
+ − 10
for every div with class "slideblock", do
+ − 11
if ( cookie['mdgSliderState_' || i] == 'closed' )
+ − 12
hide(div)
+ − 13
+ − 14
div.trigger.addEvent onclick():
+ − 15
if ( div.hidden )
+ − 16
div.show()
+ − 17
cookie['mdgSliderState_' || i] = 'open'
+ − 18
else
+ − 19
div.hide()
+ − 20
cookie['mdgSliderState_' || i] = 'closed
+ − 21
+ − 22
i++
+ − 23
+ − 24
*/
+ − 25
+ − 26
1
+ − 27
var sliders_initted = false;
+ − 28
582
+ − 29
var initSliders = function()
1
+ − 30
{
753
+ − 31
if ( KILL_SWITCH || IE )
57
b354deeaa4c4
Vastly improved compatibility with older versions of IE, particularly 5.0, through the use of a kill switch that turns off all AJAX functions
Dan
diff
changeset
+ − 32
return false;
753
+ − 33
+ − 34
var divs = getElementsByClassName(document, "div", "slideblock");
+ − 35
var divs2 = getElementsByClassName(document, "div", "slideblock2");
+ − 36
for ( var i = 0; i < divs2.length; i++ )
+ − 37
{
+ − 38
divs.push(divs2[i]);
+ − 39
}
+ − 40
delete divs2;
+ − 41
+ − 42
if ( divs.length < 1 )
+ − 43
return false;
+ − 44
+ − 45
for ( var i = 0; i < divs.length; i++ )
+ − 46
{
+ − 47
var div = divs[i];
+ − 48
// set a unique id for this slider
+ − 49
div.metaid = i;
1
+ − 50
753
+ − 51
var cookiename = 'mdgSliderState_' + i;
+ − 52
if ( readCookie(cookiename) == 'closed' )
1
+ − 53
{
753
+ − 54
div.style.display = 'none';
1
+ − 55
}
753
+ − 56
+ − 57
var el = div.previousSibling;
+ − 58
if ( !el )
+ − 59
continue;
+ − 60
while ( el.tagName != 'DIV' )
755
+ − 61
{
753
+ − 62
el = el.previousSibling;
755
+ − 63
if ( !el )
+ − 64
break;
+ − 65
}
+ − 66
if ( !el )
+ − 67
continue;
753
+ − 68
var toggler = el.getElementsByTagName('a')[0];
+ − 69
if ( !toggler )
+ − 70
continue;
+ − 71
toggler.onclick = function()
+ − 72
{
779
609e35845ec3
load_component() now accepts an array, and most JS components are loaded all in one request now. Totally modular baby. And failsafe too.
Dan
diff
changeset
+ − 73
load_component(['jquery', 'jquery-ui']);
753
+ − 74
+ − 75
var mydiv = this.parentNode.nextSibling;
+ − 76
while ( mydiv.tagName != 'DIV' )
+ − 77
mydiv = mydiv.nextSibling;
+ − 78
if ( mydiv.style.display == 'none' )
+ − 79
{
+ − 80
$(mydiv).show('blind');
+ − 81
var cookiename = 'mdgSliderState_' + mydiv.metaid;
+ − 82
createCookie(cookiename, 'open', 365);
+ − 83
}
+ − 84
else
+ − 85
{
+ − 86
$(mydiv).hide('blind');
+ − 87
var cookiename = 'mdgSliderState_' + mydiv.metaid;
+ − 88
createCookie(cookiename, 'closed', 365);
+ − 89
}
+ − 90
+ − 91
return false;
+ − 92
}
+ − 93
}
1
+ − 94
}
+ − 95
582
+ − 96
addOnloadHook(initSliders);
+ − 97