aboutsummaryrefslogtreecommitdiff
path: root/jquery_drawer/drw/scripts.js
blob: f9743b626823c5feec369a9bd7d56b0d71625b8c (plain)
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');
  }
});