1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
|
/**
* @name jQuery.drawer
* @version 1.00, 2008/05/01
* @author inamorix <inamorix@metatype.jp>
* @copyright Copyright (c) 2008, metatype.jp.
* @license The MIT-style license.
*/
(function ($, loaded) {
$.extend({ drawer: {
init: function () {
this.self = null;
this.closer = '<div id="drw_close"><a href="#" class="drw_close" title="close">close</a></div>';
this.loader = '<div id="drw_loader">loading...</div>';
this.setTabs();
$('#drw').html('<div id="drw_content"></div>');
},
setTabs: function () {
var tabs = $('#drw_tabs li');
var w = Math.floor(100 / tabs.size());
var w_rem = 100 % tabs.size();
tabs.each(function () {
$(this).css({ width: (w + ((w_rem-- > 0) ? 1 : 0)) + '%' });
});
$('#drw_tabs li:first').addClass('first');
$('#drw_tabs li:last').addClass('last');
$('#drw_tabs a[rel*=drw]').each(function () {
$('#' + this.href.split('#')[1]).hide();
$(this).click(function () {
$.drawer.close(($.drawer.self != this) ? this : null);
this.blur();
return false;
});
});
},
open: function () {
var content = $('#drw_content').empty();
$('#drw_tabs_focus').removeAttr('id');
if (!this.self) return;
this.self.id = 'drw_tabs_focus';
loaded = /(#[\w\-]+)$/.test(this.self.href);
content.append(loaded ? $(RegExp.$1).clone().show() : this.loader);
content.append(this.closer);
content.find('.drw_close').click(function () {
$.drawer.close(null);
this.blur();
return false;
});
content.css({ marginTop: content.height() * -1 }).animate({ marginTop: -1 }, function () {
if (!loaded) {
$.ajax({
url : $.drawer.self.href,
type : 'GET',
dataType: 'html',
cache : false,
success : function (html) {
if (!loaded) {
content.prepend('<div id="drw_ajax"></div>');
$('#drw_ajax').hide().append(html);
$('#drw_loader').animate({ height: $('#drw_ajax').height() }, function () {
$('#drw_loader').fadeOut(function () { $('#drw_ajax').fadeIn(); });
});
}
}
});
}
});
},
close: function (el) {
loaded = true;
this.self = el;
var content = $('#drw_content');
content.animate({ marginTop: content.height() * -1 }, function () { $.drawer.open(); });
}
}});
$(function () { $.drawer.init(); });
})(jQuery);
$(document).ready(function() {
if ( $.browser.msie ) {
w = $(window).width();
$('#drw_tabs').css('width',w+'px');
}
});
|