admin_module 0.1.7 → 0.1.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.gitignore +2 -1
- data/Gemfile +2 -0
- data/README.md +7 -0
- data/admin_module.gemspec +3 -1
- data/{bin → exe}/admin_module +0 -0
- data/lib/admin_module.rb +9 -0
- data/lib/admin_module/command/config.rb +20 -0
- data/lib/admin_module/command/gdl.rb +15 -0
- data/lib/admin_module/guideline.rb +8 -0
- data/lib/admin_module/page_factory.rb +43 -2
- data/lib/admin_module/pages.rb +38 -81
- data/lib/admin_module/pages/guideline_page.rb +54 -1
- data/lib/admin_module/pages/guideline_page_400.rb +87 -0
- data/lib/admin_module/pages/guideline_version_page.rb +9 -5
- data/lib/admin_module/pages/guidelines_page.rb +40 -34
- data/lib/admin_module/pages/guidelines_page_400.rb +65 -0
- data/lib/admin_module/pages/guidelines_version_all_page.rb +79 -72
- data/lib/admin_module/pages/guidelines_version_all_page_400.rb +122 -0
- data/lib/admin_module/pages/login_page.rb +2 -2
- data/lib/admin_module/pages/login_page_400.rb +73 -0
- data/lib/admin_module/version.rb +1 -1
- data/spec/data/config/no_ams_version.admin_module +11 -0
- data/spec/data/html/guideline-400.html +2713 -0
- data/spec/data/html/guideline-400_files/BindChildren.js +852 -0
- data/spec/data/html/guideline-400_files/CVlogo.jpg +0 -0
- data/spec/data/html/guideline-400_files/Guideline.js +301 -0
- data/spec/data/html/guideline-400_files/OptimalOutcome.png +0 -0
- data/spec/data/html/guideline-400_files/WebResource(1).axd +561 -0
- data/spec/data/html/guideline-400_files/WebResource.axd +548 -0
- data/spec/data/html/guideline-400_files/styles.css +444 -0
- data/spec/data/html/guideline-400_files/styles2.css +115 -0
- data/spec/data/html/guideline-400_files/tab.css +50 -0
- data/spec/data/html/guideline-400_files/tabpane.js +297 -0
- data/spec/data/html/guideline.html +1809 -0
- data/spec/data/html/guideline_files/BindChildren.js +799 -0
- data/spec/data/html/guideline_files/Guideline.js +300 -0
- data/spec/data/html/guideline_files/LeftMenu.html +0 -0
- data/spec/data/html/guideline_files/MainFrame.html +18 -0
- data/spec/data/html/guideline_files/ScriptResource.axd +3725 -0
- data/spec/data/html/guideline_files/Stylesheet.css +1545 -0
- data/spec/data/html/guideline_files/WebResource(1).axd +0 -0
- data/spec/data/html/guideline_files/WebResource(2).axd +566 -0
- data/spec/data/html/guideline_files/WebResource(3).axd +219 -0
- data/spec/data/html/guideline_files/WebResource.axd +696 -0
- data/spec/data/html/guideline_files/framebar.html +0 -0
- data/spec/data/html/guideline_files/guideline.html +0 -0
- data/spec/data/html/guideline_files/home.png +0 -0
- data/spec/data/html/guideline_files/jquery-ui.css +578 -0
- data/spec/data/html/guideline_files/jquery.js +7 -0
- data/spec/data/html/guideline_files/slidebar.gif +29 -0
- data/spec/data/html/guideline_files/tab.css +49 -0
- data/spec/data/html/guideline_files/tabpane.js +297 -0
- data/spec/data/html/guidelines-400.html +368 -0
- data/spec/data/html/guidelines-400_files/CVlogo.jpg +0 -0
- data/spec/data/html/guidelines-400_files/EditListSearchHelper.js +141 -0
- data/spec/data/html/guidelines-400_files/OptimalOutcome.png +0 -0
- data/spec/data/html/guidelines-400_files/WebResource(1).axd +561 -0
- data/spec/data/html/guidelines-400_files/WebResource.axd +548 -0
- data/spec/data/html/guidelines-400_files/menu.css +29 -0
- data/spec/data/html/guidelines-400_files/menu.js +48 -0
- data/spec/data/html/guidelines-400_files/shadow.gif +0 -0
- data/spec/data/html/guidelines-400_files/styles.css +444 -0
- data/spec/data/html/guidelines-400_files/styles2.css +115 -0
- data/spec/data/html/guidelines.html +217 -0
- data/spec/data/html/guidelines_files/EditListSearchHelper.js +123 -0
- data/spec/data/html/guidelines_files/ScriptResource.axd +3725 -0
- data/spec/data/html/guidelines_files/Stylesheet.css +1545 -0
- data/spec/data/html/guidelines_files/jquery-ui.css +578 -0
- data/spec/data/html/login.aspx.html +293 -0
- data/spec/data/html/login.aspx_files/ScriptResource.axd +3332 -0
- data/spec/data/html/login.aspx_files/Stylesheet.css +1545 -0
- data/spec/data/html/login.aspx_files/jquery-ui.css +578 -0
- data/spec/data/html/login.aspx_files/jquery.js +7 -0
- data/spec/data/html/login400.aspx.html +191 -0
- data/spec/data/html/login400.aspx_files/WebResource(1).axd +561 -0
- data/spec/data/html/login400.aspx_files/WebResource.axd +548 -0
- data/spec/data/html/login400.aspx_files/styles.css +444 -0
- data/spec/data/html/version_all_guidelines-400.html +702 -0
- data/spec/data/html/version_all_guidelines-400_files/CVlogo.jpg +0 -0
- data/spec/data/html/version_all_guidelines-400_files/Calendar.js +521 -0
- data/spec/data/html/version_all_guidelines-400_files/OptimalOutcome.png +0 -0
- data/spec/data/html/version_all_guidelines-400_files/TwoSelects.js +300 -0
- data/spec/data/html/version_all_guidelines-400_files/menu.css +29 -0
- data/spec/data/html/version_all_guidelines-400_files/menu.js +48 -0
- data/spec/data/html/version_all_guidelines-400_files/shadow.gif +0 -0
- data/spec/data/html/version_all_guidelines-400_files/styles(1).css +134 -0
- data/spec/data/html/version_all_guidelines-400_files/styles.css +444 -0
- data/spec/data/html/version_all_guidelines-400_files/styles2.css +115 -0
- data/spec/data/html/version_all_guidelines.html +560 -0
- data/spec/data/html/version_all_guidelines_files/Calendar.js +521 -0
- data/spec/data/html/version_all_guidelines_files/ScriptResource.axd +3725 -0
- data/spec/data/html/version_all_guidelines_files/Stylesheet.css +1545 -0
- data/spec/data/html/version_all_guidelines_files/TwoSelects.js +304 -0
- data/spec/data/html/version_all_guidelines_files/jquery-ui.css +578 -0
- data/spec/lib/admin_module/command/config_spec.rb +27 -0
- data/spec/lib/admin_module/command/gdl_spec.rb +31 -0
- data/spec/lib/admin_module/configuration_spec.rb +47 -0
- data/spec/lib/admin_module/guideline_spec.rb +26 -0
- data/spec/lib/admin_module/page_factory_spec.rb +72 -0
- data/spec/lib/admin_module/pages/guideline_page_400_spec.rb +51 -0
- data/spec/lib/admin_module/pages/guideline_page_spec.rb +50 -0
- data/spec/lib/admin_module/pages/guidelines_page_400_spec.rb +92 -0
- data/spec/lib/admin_module/pages/guidelines_page_spec.rb +91 -0
- data/spec/lib/admin_module/pages/guidelines_version_all_page_400_spec.rb +102 -0
- data/spec/lib/admin_module/pages/guidelines_version_all_page_spec.rb +105 -0
- data/spec/lib/admin_module/pages/login_page_400_spec.rb +42 -0
- data/spec/lib/admin_module/pages/login_page_spec.rb +33 -0
- data/spec/support/html_spec.rb +26 -0
- data/spec/support/mocks.rb +23 -0
- metadata +191 -5
|
@@ -0,0 +1,293 @@
|
|
|
1
|
+
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3org/TR/html4/strict.dtd">
|
|
2
|
+
<!-- saved from url=(0083)Admin/user/login.aspx -->
|
|
3
|
+
<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><link href="./login.aspx_files/jquery-ui.css" type="text/css" rel="stylesheet"><link href="./login.aspx_files/Stylesheet.css" type="text/css" rel="stylesheet"><title>
|
|
4
|
+
|
|
5
|
+
</title>
|
|
6
|
+
<title>Optimizer Asset Management System</title>
|
|
7
|
+
<script src="./login.aspx_files/jquery.js" type="text/javascript"></script>
|
|
8
|
+
<script type="text/javascript" language="javascript">
|
|
9
|
+
if (top.frames.length > 0) {
|
|
10
|
+
top.document.location.href = document.location.href;
|
|
11
|
+
}
|
|
12
|
+
$(function () {
|
|
13
|
+
$('#dvLeftMenu').hide();
|
|
14
|
+
$('.header_menu').hide();
|
|
15
|
+
//redirect();
|
|
16
|
+
//document.getElementById('txtUsername').focus()
|
|
17
|
+
});
|
|
18
|
+
</script>
|
|
19
|
+
</head>
|
|
20
|
+
<body>
|
|
21
|
+
<form name="aspnetForm" method="post" action="./login.aspx.html" onsubmit="javascript:return WebForm_OnSubmit();" id="aspnetForm">
|
|
22
|
+
<div>
|
|
23
|
+
<input type="hidden" name="__EVENTTARGET" id="__EVENTTARGET" value="">
|
|
24
|
+
<input type="hidden" name="__EVENTARGUMENT" id="__EVENTARGUMENT" value="">
|
|
25
|
+
<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDwULLTIxMDQ0MTU5NTkPZBYCZg9kFgICAw9kFgICAw9kFgICDw9kFgICAQ8PFgIeBFRleHQFE0NRQWRtaW4gUjQuNC4wLjEwNTdkZGR/SUDZZ9lceK88SHueFpDd57QICceTK5s4cZna5pFEbQ==">
|
|
26
|
+
</div>
|
|
27
|
+
|
|
28
|
+
<script type="text/javascript">
|
|
29
|
+
//<![CDATA[
|
|
30
|
+
var theForm = document.forms['aspnetForm'];
|
|
31
|
+
if (!theForm) {
|
|
32
|
+
theForm = document.aspnetForm;
|
|
33
|
+
}
|
|
34
|
+
function __doPostBack(eventTarget, eventArgument) {
|
|
35
|
+
if (!theForm.onsubmit || (theForm.onsubmit() != false)) {
|
|
36
|
+
theForm.__EVENTTARGET.value = eventTarget;
|
|
37
|
+
theForm.__EVENTARGUMENT.value = eventArgument;
|
|
38
|
+
theForm.submit();
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
//]]>
|
|
42
|
+
</script>
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
<script src="./login.aspx_files/ScriptResource.axd" type="text/javascript"></script>
|
|
47
|
+
<script type="text/javascript">
|
|
48
|
+
//<![CDATA[
|
|
49
|
+
function WebForm_OnSubmit() {
|
|
50
|
+
if (typeof(ValidatorOnSubmit) == "function" && ValidatorOnSubmit() == false) return false;
|
|
51
|
+
return true;
|
|
52
|
+
}
|
|
53
|
+
//]]>
|
|
54
|
+
</script>
|
|
55
|
+
|
|
56
|
+
<div>
|
|
57
|
+
|
|
58
|
+
<input type="hidden" name="__VIEWSTATEGENERATOR" id="__VIEWSTATEGENERATOR" value="7B4DD26E">
|
|
59
|
+
</div>
|
|
60
|
+
<script type="text/javascript">
|
|
61
|
+
//<![CDATA[
|
|
62
|
+
Sys.WebForms.PageRequestManager._initialize('ctl00$scMgrJquery', 'aspnetForm', [], [], [], 90, 'ctl00');
|
|
63
|
+
//]]>
|
|
64
|
+
</script>
|
|
65
|
+
|
|
66
|
+
<div>
|
|
67
|
+
|
|
68
|
+
<div class="loginheader">
|
|
69
|
+
</div>
|
|
70
|
+
<div style="position:static;">
|
|
71
|
+
<div class="loginpage">
|
|
72
|
+
<div class="logincontrol">
|
|
73
|
+
<div class="username" style="border-radius: 5px;">
|
|
74
|
+
<input name="ctl00$cntPlh$txtUserName" type="text" value="ID" id="ctl00_cntPlh_txtUserName" title="ID" class="watermark txtusername blackfont">
|
|
75
|
+
<span id="ctl00_cntPlh_rfvUserName" style="color:Red;display:none;"></span>
|
|
76
|
+
</div>
|
|
77
|
+
<div class="dvpassword" style="border-radius: 5px;">
|
|
78
|
+
<input name="ctl00$cntPlh$txtPassword" type="password" id="ctl00_cntPlh_txtPassword" title="Password" class="password" style="display: none;">
|
|
79
|
+
<input name="ctl00$cntPlh$txtPasswordMask" type="text" value="Password" id="ctl00_cntPlh_txtPasswordMask" title="Password" class="watermark passwordmask">
|
|
80
|
+
<input type="submit" name="ctl00$cntPlh$btnLogin" value="" onclick="javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions("ctl00$cntPlh$btnLogin", "", true, "", "", false, false))" id="ctl00_cntPlh_btnLogin" class="loginbutton">
|
|
81
|
+
</div>
|
|
82
|
+
<span id="ctl00_cntPlh_rfvPassword" style="color:Red;display:none;"></span>
|
|
83
|
+
<div id="ctl00_cntPlh_ctlErrors_vsmErrors" class="error" style="color:Red;display:none;">
|
|
84
|
+
|
|
85
|
+
</div>
|
|
86
|
+
|
|
87
|
+
|
|
88
|
+
</div>
|
|
89
|
+
</div>
|
|
90
|
+
</div>
|
|
91
|
+
<div class="loginfooter" style="display: none; margin-top: 607px;">
|
|
92
|
+
|
|
93
|
+
|
|
94
|
+
<div id="dvFooterContainer" style="z-index:999;">
|
|
95
|
+
<div class="footer_logo" style="display: none;"> </div>
|
|
96
|
+
<div id="ctl00_cntPlh_footer_div1" class="footer_loggedin_user">
|
|
97
|
+
<span id="ctl00_cntPlh_footer_lblLoggedInText">Logged in User : </span><span id="ctl00_cntPlh_footer_lblLoggedInUser"></span>
|
|
98
|
+
</div>
|
|
99
|
+
<div class="footertext">
|
|
100
|
+
Optimizer Asset Management System
|
|
101
|
+
<span id="ctl00_cntPlh_footer_lblVersion">CQAdmin R4.4.0.1057</span>. This web site
|
|
102
|
+
is restricted to authorized personnel only. <a href="JavaScript:openPolicy('/fap2Dev/Admin/help/security.html')">Please read our policies on Privacy & Security.</a>
|
|
103
|
+
<div style="display:none;">
|
|
104
|
+
NT AUTHORITY\NETWORK SERVICE</div>
|
|
105
|
+
</div>
|
|
106
|
+
</div>
|
|
107
|
+
|
|
108
|
+
<script language="javascript">
|
|
109
|
+
|
|
110
|
+
function openPolicy(url) {
|
|
111
|
+
var w = 480, h = 340;
|
|
112
|
+
if (document.all || document.layers) {
|
|
113
|
+
w = screen.availWidth;
|
|
114
|
+
h = screen.availHeight;
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
var popW = 600, popH = 350;
|
|
118
|
+
var leftPos = (w-popW)/2, topPos = (h-popH)/2;
|
|
119
|
+
|
|
120
|
+
policyWin = window.open(url,'cq_policy','width=' + popW + ',height=' + popH + ',top=' + topPos + ',left=' + leftPos + ',toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=yes');
|
|
121
|
+
policyWin.focus();
|
|
122
|
+
}
|
|
123
|
+
function OpenUserManual()
|
|
124
|
+
{
|
|
125
|
+
//Need to implement the Correspondent Manual.pdf
|
|
126
|
+
var strURL = '~\UserManual.pdf'
|
|
127
|
+
var w = 480, h = 340;
|
|
128
|
+
if (document.all || document.layers) {
|
|
129
|
+
w = screen.availWidth;
|
|
130
|
+
h = screen.availHeight;
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
var popW = 600, popH = 350;
|
|
134
|
+
var leftPos = (w-popW)/2, topPos = (h-popH)/2;
|
|
135
|
+
policyWin = window.open(strURL,'UserManual','width=' + popW + ',height=' + popH + ',top=' + topPos + ',left=' + leftPos + ',toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=yes');
|
|
136
|
+
policyWin.focus();
|
|
137
|
+
|
|
138
|
+
}
|
|
139
|
+
</script>
|
|
140
|
+
|
|
141
|
+
</div>
|
|
142
|
+
<script language="javascript" type="text/javascript">
|
|
143
|
+
function OpenSignUp() {
|
|
144
|
+
var strURL = "../links/ReferralAgreement.pdf";
|
|
145
|
+
window.open(strURL);
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
$.getDocHeight = function () {
|
|
149
|
+
return Math.max(
|
|
150
|
+
$(document).height(),
|
|
151
|
+
$(window).height(),
|
|
152
|
+
/* For opera: */
|
|
153
|
+
document.documentElement.clientHeight
|
|
154
|
+
);
|
|
155
|
+
};
|
|
156
|
+
|
|
157
|
+
|
|
158
|
+
$(window).load(function () {
|
|
159
|
+
$('.username').corner('5px');
|
|
160
|
+
$('.dvpassword').corner('5px');
|
|
161
|
+
|
|
162
|
+
$(".txtusername").each(function () {
|
|
163
|
+
$tb = $(this);
|
|
164
|
+
if ($tb.val() != this.title) {
|
|
165
|
+
$un = $('.username')
|
|
166
|
+
$un.removeClass("watermark");
|
|
167
|
+
$tb.addClass('blackfont');
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
$('.loginfooter').css('marginTop', ($.getDocHeight() - $('.loginfooter').offset().top - 50) + "px");
|
|
171
|
+
//$('html').css("overflow", "hidden");
|
|
172
|
+
|
|
173
|
+
});
|
|
174
|
+
|
|
175
|
+
$(".txtusername").focus(function () {
|
|
176
|
+
$tb = $(this);
|
|
177
|
+
if ($tb.val() == this.title) {
|
|
178
|
+
$tb.val("");
|
|
179
|
+
$un = $('.username')
|
|
180
|
+
$un.removeClass("watermark");
|
|
181
|
+
$tb.addClass('blackfont');
|
|
182
|
+
}
|
|
183
|
+
});
|
|
184
|
+
|
|
185
|
+
$(".txtusername").blur(function () {
|
|
186
|
+
$tb = $(this);
|
|
187
|
+
if ($.trim($tb.val()) == "") {
|
|
188
|
+
$tb.val(this.title);
|
|
189
|
+
$un = $('.username')
|
|
190
|
+
$un.addClass("watermark");
|
|
191
|
+
$tb.removeClass('blackfont');
|
|
192
|
+
}
|
|
193
|
+
});
|
|
194
|
+
|
|
195
|
+
$(".password").each(function () {
|
|
196
|
+
$tb = $(this);
|
|
197
|
+
$tb[0].style.display = 'none';
|
|
198
|
+
});
|
|
199
|
+
|
|
200
|
+
$(".passwordmask").focus(function () {
|
|
201
|
+
$tb = $(this);
|
|
202
|
+
$pwd = $(".password");
|
|
203
|
+
$pwd[0].style.display = '';
|
|
204
|
+
$pwd[0].focus();
|
|
205
|
+
$tb[0].style.display = 'none';
|
|
206
|
+
});
|
|
207
|
+
|
|
208
|
+
$(".password").blur(function () {
|
|
209
|
+
$tb = $(this);
|
|
210
|
+
if ($.trim($tb.val()) == "") {
|
|
211
|
+
$pwd = $(".passwordmask");
|
|
212
|
+
$pwd[0].style.display = '';
|
|
213
|
+
$tb[0].style.display = 'none';
|
|
214
|
+
}
|
|
215
|
+
});
|
|
216
|
+
$(".txtusername").focus();
|
|
217
|
+
$('.footer_logo')[0].style.display = 'none';
|
|
218
|
+
});
|
|
219
|
+
|
|
220
|
+
|
|
221
|
+
</script>
|
|
222
|
+
|
|
223
|
+
</div>
|
|
224
|
+
|
|
225
|
+
<script type="text/javascript">
|
|
226
|
+
//<![CDATA[
|
|
227
|
+
var Page_ValidationSummaries = new Array(document.getElementById("ctl00_cntPlh_ctlErrors_vsmErrors"));
|
|
228
|
+
var Page_Validators = new Array(document.getElementById("ctl00_cntPlh_rfvUserName"), document.getElementById("ctl00_cntPlh_rfvPassword"));
|
|
229
|
+
//]]>
|
|
230
|
+
</script>
|
|
231
|
+
|
|
232
|
+
<script type="text/javascript">
|
|
233
|
+
//<![CDATA[
|
|
234
|
+
var ctl00_cntPlh_rfvUserName = document.all ? document.all["ctl00_cntPlh_rfvUserName"] : document.getElementById("ctl00_cntPlh_rfvUserName");
|
|
235
|
+
ctl00_cntPlh_rfvUserName.controltovalidate = "ctl00_cntPlh_txtUserName";
|
|
236
|
+
ctl00_cntPlh_rfvUserName.errormessage = "Enter User ID";
|
|
237
|
+
ctl00_cntPlh_rfvUserName.display = "None";
|
|
238
|
+
ctl00_cntPlh_rfvUserName.evaluationfunction = "RequiredFieldValidatorEvaluateIsValid";
|
|
239
|
+
ctl00_cntPlh_rfvUserName.initialvalue = "ID";
|
|
240
|
+
var ctl00_cntPlh_rfvPassword = document.all ? document.all["ctl00_cntPlh_rfvPassword"] : document.getElementById("ctl00_cntPlh_rfvPassword");
|
|
241
|
+
ctl00_cntPlh_rfvPassword.controltovalidate = "ctl00_cntPlh_txtPassword";
|
|
242
|
+
ctl00_cntPlh_rfvPassword.errormessage = "Enter password";
|
|
243
|
+
ctl00_cntPlh_rfvPassword.display = "None";
|
|
244
|
+
ctl00_cntPlh_rfvPassword.evaluationfunction = "RequiredFieldValidatorEvaluateIsValid";
|
|
245
|
+
ctl00_cntPlh_rfvPassword.initialvalue = "";
|
|
246
|
+
var ctl00_cntPlh_ctlErrors_vsmErrors = document.all ? document.all["ctl00_cntPlh_ctlErrors_vsmErrors"] : document.getElementById("ctl00_cntPlh_ctlErrors_vsmErrors");
|
|
247
|
+
ctl00_cntPlh_ctlErrors_vsmErrors.headertext = "Please correct the following errors before continuing.";
|
|
248
|
+
ctl00_cntPlh_ctlErrors_vsmErrors.showmessagebox = "True";
|
|
249
|
+
ctl00_cntPlh_ctlErrors_vsmErrors.showsummary = "False";
|
|
250
|
+
//]]>
|
|
251
|
+
</script>
|
|
252
|
+
|
|
253
|
+
<script language="javascript">document.forms[0].ctl00_cntPlh_txtUserName.focus();</script>
|
|
254
|
+
<script type="text/javascript">
|
|
255
|
+
//<![CDATA[
|
|
256
|
+
|
|
257
|
+
var Page_ValidationActive = false;
|
|
258
|
+
if (typeof(ValidatorOnLoad) == "function") {
|
|
259
|
+
ValidatorOnLoad();
|
|
260
|
+
}
|
|
261
|
+
|
|
262
|
+
function ValidatorOnSubmit() {
|
|
263
|
+
if (Page_ValidationActive) {
|
|
264
|
+
return ValidatorCommonOnSubmit();
|
|
265
|
+
}
|
|
266
|
+
else {
|
|
267
|
+
return true;
|
|
268
|
+
}
|
|
269
|
+
}
|
|
270
|
+
|
|
271
|
+
(function(id) {
|
|
272
|
+
var e = document.getElementById(id);
|
|
273
|
+
if (e) {
|
|
274
|
+
e.dispose = function() {
|
|
275
|
+
Array.remove(Page_ValidationSummaries, document.getElementById(id));
|
|
276
|
+
}
|
|
277
|
+
e = null;
|
|
278
|
+
}
|
|
279
|
+
})('ctl00_cntPlh_ctlErrors_vsmErrors');
|
|
280
|
+
|
|
281
|
+
document.getElementById('ctl00_cntPlh_rfvUserName').dispose = function() {
|
|
282
|
+
Array.remove(Page_Validators, document.getElementById('ctl00_cntPlh_rfvUserName'));
|
|
283
|
+
}
|
|
284
|
+
|
|
285
|
+
document.getElementById('ctl00_cntPlh_rfvPassword').dispose = function() {
|
|
286
|
+
Array.remove(Page_Validators, document.getElementById('ctl00_cntPlh_rfvPassword'));
|
|
287
|
+
}
|
|
288
|
+
//]]>
|
|
289
|
+
</script>
|
|
290
|
+
</form>
|
|
291
|
+
|
|
292
|
+
|
|
293
|
+
</body></html>
|
|
@@ -0,0 +1,3332 @@
|
|
|
1
|
+
function WebForm_PostBackOptions(eventTarget, eventArgument, validation, validationGroup, actionUrl, trackFocus, clientSubmit) {
|
|
2
|
+
this.eventTarget = eventTarget;
|
|
3
|
+
this.eventArgument = eventArgument;
|
|
4
|
+
this.validation = validation;
|
|
5
|
+
this.validationGroup = validationGroup;
|
|
6
|
+
this.actionUrl = actionUrl;
|
|
7
|
+
this.trackFocus = trackFocus;
|
|
8
|
+
this.clientSubmit = clientSubmit;
|
|
9
|
+
}
|
|
10
|
+
function WebForm_DoPostBackWithOptions(options) {
|
|
11
|
+
var validationResult = true;
|
|
12
|
+
if (options.validation) {
|
|
13
|
+
if (typeof(Page_ClientValidate) == 'function') {
|
|
14
|
+
validationResult = Page_ClientValidate(options.validationGroup);
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
if (validationResult) {
|
|
18
|
+
if ((typeof(options.actionUrl) != "undefined") && (options.actionUrl != null) && (options.actionUrl.length > 0)) {
|
|
19
|
+
theForm.action = options.actionUrl;
|
|
20
|
+
}
|
|
21
|
+
if (options.trackFocus) {
|
|
22
|
+
var lastFocus = theForm.elements["__LASTFOCUS"];
|
|
23
|
+
if ((typeof(lastFocus) != "undefined") && (lastFocus != null)) {
|
|
24
|
+
if (typeof(document.activeElement) == "undefined") {
|
|
25
|
+
lastFocus.value = options.eventTarget;
|
|
26
|
+
}
|
|
27
|
+
else {
|
|
28
|
+
var active = document.activeElement;
|
|
29
|
+
if ((typeof(active) != "undefined") && (active != null)) {
|
|
30
|
+
if ((typeof(active.id) != "undefined") && (active.id != null) && (active.id.length > 0)) {
|
|
31
|
+
lastFocus.value = active.id;
|
|
32
|
+
}
|
|
33
|
+
else if (typeof(active.name) != "undefined") {
|
|
34
|
+
lastFocus.value = active.name;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
if (options.clientSubmit) {
|
|
42
|
+
__doPostBack(options.eventTarget, options.eventArgument);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
var __pendingCallbacks = new Array();
|
|
46
|
+
var __synchronousCallBackIndex = -1;
|
|
47
|
+
function WebForm_DoCallback(eventTarget, eventArgument, eventCallback, context, errorCallback, useAsync) {
|
|
48
|
+
var postData = __theFormPostData +
|
|
49
|
+
"__CALLBACKID=" + WebForm_EncodeCallback(eventTarget) +
|
|
50
|
+
"&__CALLBACKPARAM=" + WebForm_EncodeCallback(eventArgument);
|
|
51
|
+
if (theForm["__EVENTVALIDATION"]) {
|
|
52
|
+
postData += "&__EVENTVALIDATION=" + WebForm_EncodeCallback(theForm["__EVENTVALIDATION"].value);
|
|
53
|
+
}
|
|
54
|
+
var xmlRequest,e;
|
|
55
|
+
try {
|
|
56
|
+
xmlRequest = new XMLHttpRequest();
|
|
57
|
+
}
|
|
58
|
+
catch(e) {
|
|
59
|
+
try {
|
|
60
|
+
xmlRequest = new ActiveXObject("Microsoft.XMLHTTP");
|
|
61
|
+
}
|
|
62
|
+
catch(e) {
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
var setRequestHeaderMethodExists = true;
|
|
66
|
+
try {
|
|
67
|
+
setRequestHeaderMethodExists = (xmlRequest && xmlRequest.setRequestHeader);
|
|
68
|
+
}
|
|
69
|
+
catch(e) {}
|
|
70
|
+
var callback = new Object();
|
|
71
|
+
callback.eventCallback = eventCallback;
|
|
72
|
+
callback.context = context;
|
|
73
|
+
callback.errorCallback = errorCallback;
|
|
74
|
+
callback.async = useAsync;
|
|
75
|
+
var callbackIndex = WebForm_FillFirstAvailableSlot(__pendingCallbacks, callback);
|
|
76
|
+
if (!useAsync) {
|
|
77
|
+
if (__synchronousCallBackIndex != -1) {
|
|
78
|
+
__pendingCallbacks[__synchronousCallBackIndex] = null;
|
|
79
|
+
}
|
|
80
|
+
__synchronousCallBackIndex = callbackIndex;
|
|
81
|
+
}
|
|
82
|
+
if (setRequestHeaderMethodExists) {
|
|
83
|
+
xmlRequest.onreadystatechange = WebForm_CallbackComplete;
|
|
84
|
+
callback.xmlRequest = xmlRequest;
|
|
85
|
+
// e.g. http:
|
|
86
|
+
var action = theForm.action || document.location.pathname, fragmentIndex = action.indexOf('#');
|
|
87
|
+
if (fragmentIndex !== -1) {
|
|
88
|
+
action = action.substr(0, fragmentIndex);
|
|
89
|
+
}
|
|
90
|
+
if (!__nonMSDOMBrowser) {
|
|
91
|
+
var queryIndex = action.indexOf('?');
|
|
92
|
+
if (queryIndex !== -1) {
|
|
93
|
+
var path = action.substr(0, queryIndex);
|
|
94
|
+
if (path.indexOf("%") === -1) {
|
|
95
|
+
action = encodeURI(path) + action.substr(queryIndex);
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
else if (action.indexOf("%") === -1) {
|
|
99
|
+
action = encodeURI(action);
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
xmlRequest.open("POST", action, true);
|
|
103
|
+
xmlRequest.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=utf-8");
|
|
104
|
+
xmlRequest.send(postData);
|
|
105
|
+
return;
|
|
106
|
+
}
|
|
107
|
+
callback.xmlRequest = new Object();
|
|
108
|
+
var callbackFrameID = "__CALLBACKFRAME" + callbackIndex;
|
|
109
|
+
var xmlRequestFrame = document.frames[callbackFrameID];
|
|
110
|
+
if (!xmlRequestFrame) {
|
|
111
|
+
xmlRequestFrame = document.createElement("IFRAME");
|
|
112
|
+
xmlRequestFrame.width = "1";
|
|
113
|
+
xmlRequestFrame.height = "1";
|
|
114
|
+
xmlRequestFrame.frameBorder = "0";
|
|
115
|
+
xmlRequestFrame.id = callbackFrameID;
|
|
116
|
+
xmlRequestFrame.name = callbackFrameID;
|
|
117
|
+
xmlRequestFrame.style.position = "absolute";
|
|
118
|
+
xmlRequestFrame.style.top = "-100px"
|
|
119
|
+
xmlRequestFrame.style.left = "-100px";
|
|
120
|
+
try {
|
|
121
|
+
if (callBackFrameUrl) {
|
|
122
|
+
xmlRequestFrame.src = callBackFrameUrl;
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
catch(e) {}
|
|
126
|
+
document.body.appendChild(xmlRequestFrame);
|
|
127
|
+
}
|
|
128
|
+
var interval = window.setInterval(function() {
|
|
129
|
+
xmlRequestFrame = document.frames[callbackFrameID];
|
|
130
|
+
if (xmlRequestFrame && xmlRequestFrame.document) {
|
|
131
|
+
window.clearInterval(interval);
|
|
132
|
+
xmlRequestFrame.document.write("");
|
|
133
|
+
xmlRequestFrame.document.close();
|
|
134
|
+
xmlRequestFrame.document.write('<html><body><form method="post"><input type="hidden" name="__CALLBACKLOADSCRIPT" value="t"></form></body></html>');
|
|
135
|
+
xmlRequestFrame.document.close();
|
|
136
|
+
xmlRequestFrame.document.forms[0].action = theForm.action;
|
|
137
|
+
var count = __theFormPostCollection.length;
|
|
138
|
+
var element;
|
|
139
|
+
for (var i = 0; i < count; i++) {
|
|
140
|
+
element = __theFormPostCollection[i];
|
|
141
|
+
if (element) {
|
|
142
|
+
var fieldElement = xmlRequestFrame.document.createElement("INPUT");
|
|
143
|
+
fieldElement.type = "hidden";
|
|
144
|
+
fieldElement.name = element.name;
|
|
145
|
+
fieldElement.value = element.value;
|
|
146
|
+
xmlRequestFrame.document.forms[0].appendChild(fieldElement);
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
var callbackIdFieldElement = xmlRequestFrame.document.createElement("INPUT");
|
|
150
|
+
callbackIdFieldElement.type = "hidden";
|
|
151
|
+
callbackIdFieldElement.name = "__CALLBACKID";
|
|
152
|
+
callbackIdFieldElement.value = eventTarget;
|
|
153
|
+
xmlRequestFrame.document.forms[0].appendChild(callbackIdFieldElement);
|
|
154
|
+
var callbackParamFieldElement = xmlRequestFrame.document.createElement("INPUT");
|
|
155
|
+
callbackParamFieldElement.type = "hidden";
|
|
156
|
+
callbackParamFieldElement.name = "__CALLBACKPARAM";
|
|
157
|
+
callbackParamFieldElement.value = eventArgument;
|
|
158
|
+
xmlRequestFrame.document.forms[0].appendChild(callbackParamFieldElement);
|
|
159
|
+
if (theForm["__EVENTVALIDATION"]) {
|
|
160
|
+
var callbackValidationFieldElement = xmlRequestFrame.document.createElement("INPUT");
|
|
161
|
+
callbackValidationFieldElement.type = "hidden";
|
|
162
|
+
callbackValidationFieldElement.name = "__EVENTVALIDATION";
|
|
163
|
+
callbackValidationFieldElement.value = theForm["__EVENTVALIDATION"].value;
|
|
164
|
+
xmlRequestFrame.document.forms[0].appendChild(callbackValidationFieldElement);
|
|
165
|
+
}
|
|
166
|
+
var callbackIndexFieldElement = xmlRequestFrame.document.createElement("INPUT");
|
|
167
|
+
callbackIndexFieldElement.type = "hidden";
|
|
168
|
+
callbackIndexFieldElement.name = "__CALLBACKINDEX";
|
|
169
|
+
callbackIndexFieldElement.value = callbackIndex;
|
|
170
|
+
xmlRequestFrame.document.forms[0].appendChild(callbackIndexFieldElement);
|
|
171
|
+
xmlRequestFrame.document.forms[0].submit();
|
|
172
|
+
}
|
|
173
|
+
}, 10);
|
|
174
|
+
}
|
|
175
|
+
function WebForm_CallbackComplete() {
|
|
176
|
+
for (var i = 0; i < __pendingCallbacks.length; i++) {
|
|
177
|
+
callbackObject = __pendingCallbacks[i];
|
|
178
|
+
if (callbackObject && callbackObject.xmlRequest && (callbackObject.xmlRequest.readyState == 4)) {
|
|
179
|
+
if (!__pendingCallbacks[i].async) {
|
|
180
|
+
__synchronousCallBackIndex = -1;
|
|
181
|
+
}
|
|
182
|
+
__pendingCallbacks[i] = null;
|
|
183
|
+
var callbackFrameID = "__CALLBACKFRAME" + i;
|
|
184
|
+
var xmlRequestFrame = document.getElementById(callbackFrameID);
|
|
185
|
+
if (xmlRequestFrame) {
|
|
186
|
+
xmlRequestFrame.parentNode.removeChild(xmlRequestFrame);
|
|
187
|
+
}
|
|
188
|
+
WebForm_ExecuteCallback(callbackObject);
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
function WebForm_ExecuteCallback(callbackObject) {
|
|
193
|
+
var response = callbackObject.xmlRequest.responseText;
|
|
194
|
+
if (response.charAt(0) == "s") {
|
|
195
|
+
if ((typeof(callbackObject.eventCallback) != "undefined") && (callbackObject.eventCallback != null)) {
|
|
196
|
+
callbackObject.eventCallback(response.substring(1), callbackObject.context);
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
else if (response.charAt(0) == "e") {
|
|
200
|
+
if ((typeof(callbackObject.errorCallback) != "undefined") && (callbackObject.errorCallback != null)) {
|
|
201
|
+
callbackObject.errorCallback(response.substring(1), callbackObject.context);
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
else {
|
|
205
|
+
var separatorIndex = response.indexOf("|");
|
|
206
|
+
if (separatorIndex != -1) {
|
|
207
|
+
var validationFieldLength = parseInt(response.substring(0, separatorIndex));
|
|
208
|
+
if (!isNaN(validationFieldLength)) {
|
|
209
|
+
var validationField = response.substring(separatorIndex + 1, separatorIndex + validationFieldLength + 1);
|
|
210
|
+
if (validationField != "") {
|
|
211
|
+
var validationFieldElement = theForm["__EVENTVALIDATION"];
|
|
212
|
+
if (!validationFieldElement) {
|
|
213
|
+
validationFieldElement = document.createElement("INPUT");
|
|
214
|
+
validationFieldElement.type = "hidden";
|
|
215
|
+
validationFieldElement.name = "__EVENTVALIDATION";
|
|
216
|
+
theForm.appendChild(validationFieldElement);
|
|
217
|
+
}
|
|
218
|
+
validationFieldElement.value = validationField;
|
|
219
|
+
}
|
|
220
|
+
if ((typeof(callbackObject.eventCallback) != "undefined") && (callbackObject.eventCallback != null)) {
|
|
221
|
+
callbackObject.eventCallback(response.substring(separatorIndex + validationFieldLength + 1), callbackObject.context);
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
}
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
function WebForm_FillFirstAvailableSlot(array, element) {
|
|
228
|
+
var i;
|
|
229
|
+
for (i = 0; i < array.length; i++) {
|
|
230
|
+
if (!array[i]) break;
|
|
231
|
+
}
|
|
232
|
+
array[i] = element;
|
|
233
|
+
return i;
|
|
234
|
+
}
|
|
235
|
+
var __nonMSDOMBrowser = (window.navigator.appName.toLowerCase().indexOf('explorer') == -1);
|
|
236
|
+
var __theFormPostData = "";
|
|
237
|
+
var __theFormPostCollection = new Array();
|
|
238
|
+
var __callbackTextTypes = /^(text|password|hidden|search|tel|url|email|number|range|color|datetime|date|month|week|time|datetime-local)$/i;
|
|
239
|
+
function WebForm_InitCallback() {
|
|
240
|
+
var formElements = theForm.elements,
|
|
241
|
+
count = formElements.length,
|
|
242
|
+
element;
|
|
243
|
+
for (var i = 0; i < count; i++) {
|
|
244
|
+
element = formElements[i];
|
|
245
|
+
var tagName = element.tagName.toLowerCase();
|
|
246
|
+
if (tagName == "input") {
|
|
247
|
+
var type = element.type;
|
|
248
|
+
if ((__callbackTextTypes.test(type) || ((type == "checkbox" || type == "radio") && element.checked))
|
|
249
|
+
&& (element.id != "__EVENTVALIDATION")) {
|
|
250
|
+
WebForm_InitCallbackAddField(element.name, element.value);
|
|
251
|
+
}
|
|
252
|
+
}
|
|
253
|
+
else if (tagName == "select") {
|
|
254
|
+
var selectCount = element.options.length;
|
|
255
|
+
for (var j = 0; j < selectCount; j++) {
|
|
256
|
+
var selectChild = element.options[j];
|
|
257
|
+
if (selectChild.selected == true) {
|
|
258
|
+
WebForm_InitCallbackAddField(element.name, element.value);
|
|
259
|
+
}
|
|
260
|
+
}
|
|
261
|
+
}
|
|
262
|
+
else if (tagName == "textarea") {
|
|
263
|
+
WebForm_InitCallbackAddField(element.name, element.value);
|
|
264
|
+
}
|
|
265
|
+
}
|
|
266
|
+
}
|
|
267
|
+
function WebForm_InitCallbackAddField(name, value) {
|
|
268
|
+
var nameValue = new Object();
|
|
269
|
+
nameValue.name = name;
|
|
270
|
+
nameValue.value = value;
|
|
271
|
+
__theFormPostCollection[__theFormPostCollection.length] = nameValue;
|
|
272
|
+
__theFormPostData += WebForm_EncodeCallback(name) + "=" + WebForm_EncodeCallback(value) + "&";
|
|
273
|
+
}
|
|
274
|
+
function WebForm_EncodeCallback(parameter) {
|
|
275
|
+
if (encodeURIComponent) {
|
|
276
|
+
return encodeURIComponent(parameter);
|
|
277
|
+
}
|
|
278
|
+
else {
|
|
279
|
+
return escape(parameter);
|
|
280
|
+
}
|
|
281
|
+
}
|
|
282
|
+
var __disabledControlArray = new Array();
|
|
283
|
+
function WebForm_ReEnableControls() {
|
|
284
|
+
if (typeof(__enabledControlArray) == 'undefined') {
|
|
285
|
+
return false;
|
|
286
|
+
}
|
|
287
|
+
var disabledIndex = 0;
|
|
288
|
+
for (var i = 0; i < __enabledControlArray.length; i++) {
|
|
289
|
+
var c;
|
|
290
|
+
if (__nonMSDOMBrowser) {
|
|
291
|
+
c = document.getElementById(__enabledControlArray[i]);
|
|
292
|
+
}
|
|
293
|
+
else {
|
|
294
|
+
c = document.all[__enabledControlArray[i]];
|
|
295
|
+
}
|
|
296
|
+
if ((typeof(c) != "undefined") && (c != null) && (c.disabled == true)) {
|
|
297
|
+
c.disabled = false;
|
|
298
|
+
__disabledControlArray[disabledIndex++] = c;
|
|
299
|
+
}
|
|
300
|
+
}
|
|
301
|
+
setTimeout("WebForm_ReDisableControls()", 0);
|
|
302
|
+
return true;
|
|
303
|
+
}
|
|
304
|
+
function WebForm_ReDisableControls() {
|
|
305
|
+
for (var i = 0; i < __disabledControlArray.length; i++) {
|
|
306
|
+
__disabledControlArray[i].disabled = true;
|
|
307
|
+
}
|
|
308
|
+
}
|
|
309
|
+
function WebForm_SimulateClick(element, event) {
|
|
310
|
+
var clickEvent;
|
|
311
|
+
if (element) {
|
|
312
|
+
if (element.click) {
|
|
313
|
+
element.click();
|
|
314
|
+
} else {
|
|
315
|
+
clickEvent = document.createEvent("MouseEvents");
|
|
316
|
+
clickEvent.initMouseEvent("click", true, true, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null);
|
|
317
|
+
if (!element.dispatchEvent(clickEvent)) {
|
|
318
|
+
return true;
|
|
319
|
+
}
|
|
320
|
+
}
|
|
321
|
+
event.cancelBubble = true;
|
|
322
|
+
if (event.stopPropagation) {
|
|
323
|
+
event.stopPropagation();
|
|
324
|
+
}
|
|
325
|
+
return false;
|
|
326
|
+
}
|
|
327
|
+
return true;
|
|
328
|
+
}
|
|
329
|
+
function WebForm_FireDefaultButton(event, target) {
|
|
330
|
+
if (event.keyCode == 13) {
|
|
331
|
+
var src = event.srcElement || event.target;
|
|
332
|
+
if (src &&
|
|
333
|
+
((src.tagName.toLowerCase() == "input") &&
|
|
334
|
+
(src.type.toLowerCase() == "submit" || src.type.toLowerCase() == "button")) ||
|
|
335
|
+
((src.tagName.toLowerCase() == "a") &&
|
|
336
|
+
(src.href != null) && (src.href != "")) ||
|
|
337
|
+
(src.tagName.toLowerCase() == "textarea")) {
|
|
338
|
+
return true;
|
|
339
|
+
}
|
|
340
|
+
var defaultButton;
|
|
341
|
+
if (__nonMSDOMBrowser) {
|
|
342
|
+
defaultButton = document.getElementById(target);
|
|
343
|
+
}
|
|
344
|
+
else {
|
|
345
|
+
defaultButton = document.all[target];
|
|
346
|
+
}
|
|
347
|
+
if (defaultButton) {
|
|
348
|
+
return WebForm_SimulateClick(defaultButton, event);
|
|
349
|
+
}
|
|
350
|
+
}
|
|
351
|
+
return true;
|
|
352
|
+
}
|
|
353
|
+
function WebForm_GetScrollX() {
|
|
354
|
+
if (__nonMSDOMBrowser) {
|
|
355
|
+
return window.pageXOffset;
|
|
356
|
+
}
|
|
357
|
+
else {
|
|
358
|
+
if (document.documentElement && document.documentElement.scrollLeft) {
|
|
359
|
+
return document.documentElement.scrollLeft;
|
|
360
|
+
}
|
|
361
|
+
else if (document.body) {
|
|
362
|
+
return document.body.scrollLeft;
|
|
363
|
+
}
|
|
364
|
+
}
|
|
365
|
+
return 0;
|
|
366
|
+
}
|
|
367
|
+
function WebForm_GetScrollY() {
|
|
368
|
+
if (__nonMSDOMBrowser) {
|
|
369
|
+
return window.pageYOffset;
|
|
370
|
+
}
|
|
371
|
+
else {
|
|
372
|
+
if (document.documentElement && document.documentElement.scrollTop) {
|
|
373
|
+
return document.documentElement.scrollTop;
|
|
374
|
+
}
|
|
375
|
+
else if (document.body) {
|
|
376
|
+
return document.body.scrollTop;
|
|
377
|
+
}
|
|
378
|
+
}
|
|
379
|
+
return 0;
|
|
380
|
+
}
|
|
381
|
+
function WebForm_SaveScrollPositionSubmit() {
|
|
382
|
+
if (__nonMSDOMBrowser) {
|
|
383
|
+
theForm.elements['__SCROLLPOSITIONY'].value = window.pageYOffset;
|
|
384
|
+
theForm.elements['__SCROLLPOSITIONX'].value = window.pageXOffset;
|
|
385
|
+
}
|
|
386
|
+
else {
|
|
387
|
+
theForm.__SCROLLPOSITIONX.value = WebForm_GetScrollX();
|
|
388
|
+
theForm.__SCROLLPOSITIONY.value = WebForm_GetScrollY();
|
|
389
|
+
}
|
|
390
|
+
if ((typeof(this.oldSubmit) != "undefined") && (this.oldSubmit != null)) {
|
|
391
|
+
return this.oldSubmit();
|
|
392
|
+
}
|
|
393
|
+
return true;
|
|
394
|
+
}
|
|
395
|
+
function WebForm_SaveScrollPositionOnSubmit() {
|
|
396
|
+
theForm.__SCROLLPOSITIONX.value = WebForm_GetScrollX();
|
|
397
|
+
theForm.__SCROLLPOSITIONY.value = WebForm_GetScrollY();
|
|
398
|
+
if ((typeof(this.oldOnSubmit) != "undefined") && (this.oldOnSubmit != null)) {
|
|
399
|
+
return this.oldOnSubmit();
|
|
400
|
+
}
|
|
401
|
+
return true;
|
|
402
|
+
}
|
|
403
|
+
function WebForm_RestoreScrollPosition() {
|
|
404
|
+
if (__nonMSDOMBrowser) {
|
|
405
|
+
window.scrollTo(theForm.elements['__SCROLLPOSITIONX'].value, theForm.elements['__SCROLLPOSITIONY'].value);
|
|
406
|
+
}
|
|
407
|
+
else {
|
|
408
|
+
window.scrollTo(theForm.__SCROLLPOSITIONX.value, theForm.__SCROLLPOSITIONY.value);
|
|
409
|
+
}
|
|
410
|
+
if ((typeof(theForm.oldOnLoad) != "undefined") && (theForm.oldOnLoad != null)) {
|
|
411
|
+
return theForm.oldOnLoad();
|
|
412
|
+
}
|
|
413
|
+
return true;
|
|
414
|
+
}
|
|
415
|
+
function WebForm_TextBoxKeyHandler(event) {
|
|
416
|
+
if (event.keyCode == 13) {
|
|
417
|
+
var target;
|
|
418
|
+
if (__nonMSDOMBrowser) {
|
|
419
|
+
target = event.target;
|
|
420
|
+
}
|
|
421
|
+
else {
|
|
422
|
+
target = event.srcElement;
|
|
423
|
+
}
|
|
424
|
+
if ((typeof(target) != "undefined") && (target != null)) {
|
|
425
|
+
if (typeof(target.onchange) != "undefined") {
|
|
426
|
+
target.onchange();
|
|
427
|
+
event.cancelBubble = true;
|
|
428
|
+
if (event.stopPropagation) event.stopPropagation();
|
|
429
|
+
return false;
|
|
430
|
+
}
|
|
431
|
+
}
|
|
432
|
+
}
|
|
433
|
+
return true;
|
|
434
|
+
}
|
|
435
|
+
function WebForm_TrimString(value) {
|
|
436
|
+
return value.replace(/^\s+|\s+$/g, '')
|
|
437
|
+
}
|
|
438
|
+
function WebForm_AppendToClassName(element, className) {
|
|
439
|
+
var currentClassName = ' ' + WebForm_TrimString(element.className) + ' ';
|
|
440
|
+
className = WebForm_TrimString(className);
|
|
441
|
+
var index = currentClassName.indexOf(' ' + className + ' ');
|
|
442
|
+
if (index === -1) {
|
|
443
|
+
element.className = (element.className === '') ? className : element.className + ' ' + className;
|
|
444
|
+
}
|
|
445
|
+
}
|
|
446
|
+
function WebForm_RemoveClassName(element, className) {
|
|
447
|
+
var currentClassName = ' ' + WebForm_TrimString(element.className) + ' ';
|
|
448
|
+
className = WebForm_TrimString(className);
|
|
449
|
+
var index = currentClassName.indexOf(' ' + className + ' ');
|
|
450
|
+
if (index >= 0) {
|
|
451
|
+
element.className = WebForm_TrimString(currentClassName.substring(0, index) + ' ' +
|
|
452
|
+
currentClassName.substring(index + className.length + 1, currentClassName.length));
|
|
453
|
+
}
|
|
454
|
+
}
|
|
455
|
+
function WebForm_GetElementById(elementId) {
|
|
456
|
+
if (document.getElementById) {
|
|
457
|
+
return document.getElementById(elementId);
|
|
458
|
+
}
|
|
459
|
+
else if (document.all) {
|
|
460
|
+
return document.all[elementId];
|
|
461
|
+
}
|
|
462
|
+
else return null;
|
|
463
|
+
}
|
|
464
|
+
function WebForm_GetElementByTagName(element, tagName) {
|
|
465
|
+
var elements = WebForm_GetElementsByTagName(element, tagName);
|
|
466
|
+
if (elements && elements.length > 0) {
|
|
467
|
+
return elements[0];
|
|
468
|
+
}
|
|
469
|
+
else return null;
|
|
470
|
+
}
|
|
471
|
+
function WebForm_GetElementsByTagName(element, tagName) {
|
|
472
|
+
if (element && tagName) {
|
|
473
|
+
if (element.getElementsByTagName) {
|
|
474
|
+
return element.getElementsByTagName(tagName);
|
|
475
|
+
}
|
|
476
|
+
if (element.all && element.all.tags) {
|
|
477
|
+
return element.all.tags(tagName);
|
|
478
|
+
}
|
|
479
|
+
}
|
|
480
|
+
return null;
|
|
481
|
+
}
|
|
482
|
+
function WebForm_GetElementDir(element) {
|
|
483
|
+
if (element) {
|
|
484
|
+
if (element.dir) {
|
|
485
|
+
return element.dir;
|
|
486
|
+
}
|
|
487
|
+
return WebForm_GetElementDir(element.parentNode);
|
|
488
|
+
}
|
|
489
|
+
return "ltr";
|
|
490
|
+
}
|
|
491
|
+
function WebForm_GetElementPosition(element) {
|
|
492
|
+
var result = new Object();
|
|
493
|
+
result.x = 0;
|
|
494
|
+
result.y = 0;
|
|
495
|
+
result.width = 0;
|
|
496
|
+
result.height = 0;
|
|
497
|
+
if (element.offsetParent) {
|
|
498
|
+
result.x = element.offsetLeft;
|
|
499
|
+
result.y = element.offsetTop;
|
|
500
|
+
var parent = element.offsetParent;
|
|
501
|
+
while (parent) {
|
|
502
|
+
result.x += parent.offsetLeft;
|
|
503
|
+
result.y += parent.offsetTop;
|
|
504
|
+
var parentTagName = parent.tagName.toLowerCase();
|
|
505
|
+
if (parentTagName != "table" &&
|
|
506
|
+
parentTagName != "body" &&
|
|
507
|
+
parentTagName != "html" &&
|
|
508
|
+
parentTagName != "div" &&
|
|
509
|
+
parent.clientTop &&
|
|
510
|
+
parent.clientLeft) {
|
|
511
|
+
result.x += parent.clientLeft;
|
|
512
|
+
result.y += parent.clientTop;
|
|
513
|
+
}
|
|
514
|
+
parent = parent.offsetParent;
|
|
515
|
+
}
|
|
516
|
+
}
|
|
517
|
+
else if (element.left && element.top) {
|
|
518
|
+
result.x = element.left;
|
|
519
|
+
result.y = element.top;
|
|
520
|
+
}
|
|
521
|
+
else {
|
|
522
|
+
if (element.x) {
|
|
523
|
+
result.x = element.x;
|
|
524
|
+
}
|
|
525
|
+
if (element.y) {
|
|
526
|
+
result.y = element.y;
|
|
527
|
+
}
|
|
528
|
+
}
|
|
529
|
+
if (element.offsetWidth && element.offsetHeight) {
|
|
530
|
+
result.width = element.offsetWidth;
|
|
531
|
+
result.height = element.offsetHeight;
|
|
532
|
+
}
|
|
533
|
+
else if (element.style && element.style.pixelWidth && element.style.pixelHeight) {
|
|
534
|
+
result.width = element.style.pixelWidth;
|
|
535
|
+
result.height = element.style.pixelHeight;
|
|
536
|
+
}
|
|
537
|
+
return result;
|
|
538
|
+
}
|
|
539
|
+
function WebForm_GetParentByTagName(element, tagName) {
|
|
540
|
+
var parent = element.parentNode;
|
|
541
|
+
var upperTagName = tagName.toUpperCase();
|
|
542
|
+
while (parent && (parent.tagName.toUpperCase() != upperTagName)) {
|
|
543
|
+
parent = parent.parentNode ? parent.parentNode : parent.parentElement;
|
|
544
|
+
}
|
|
545
|
+
return parent;
|
|
546
|
+
}
|
|
547
|
+
function WebForm_SetElementHeight(element, height) {
|
|
548
|
+
if (element && element.style) {
|
|
549
|
+
element.style.height = height + "px";
|
|
550
|
+
}
|
|
551
|
+
}
|
|
552
|
+
function WebForm_SetElementWidth(element, width) {
|
|
553
|
+
if (element && element.style) {
|
|
554
|
+
element.style.width = width + "px";
|
|
555
|
+
}
|
|
556
|
+
}
|
|
557
|
+
function WebForm_SetElementX(element, x) {
|
|
558
|
+
if (element && element.style) {
|
|
559
|
+
element.style.left = x + "px";
|
|
560
|
+
}
|
|
561
|
+
}
|
|
562
|
+
function WebForm_SetElementY(element, y) {
|
|
563
|
+
if (element && element.style) {
|
|
564
|
+
element.style.top = y + "px";
|
|
565
|
+
}
|
|
566
|
+
}
|
|
567
|
+
var Page_ValidationVer = "125";
|
|
568
|
+
var Page_IsValid = true;
|
|
569
|
+
var Page_BlockSubmit = false;
|
|
570
|
+
var Page_InvalidControlToBeFocused = null;
|
|
571
|
+
var Page_TextTypes = /^(text|password|file|search|tel|url|email|number|range|color|datetime|date|month|week|time|datetime-local)$/i;
|
|
572
|
+
function ValidatorUpdateDisplay(val) {
|
|
573
|
+
if (typeof(val.display) == "string") {
|
|
574
|
+
if (val.display == "None") {
|
|
575
|
+
return;
|
|
576
|
+
}
|
|
577
|
+
if (val.display == "Dynamic") {
|
|
578
|
+
val.style.display = val.isvalid ? "none" : "inline";
|
|
579
|
+
return;
|
|
580
|
+
}
|
|
581
|
+
}
|
|
582
|
+
if ((navigator.userAgent.indexOf("Mac") > -1) &&
|
|
583
|
+
(navigator.userAgent.indexOf("MSIE") > -1)) {
|
|
584
|
+
val.style.display = "inline";
|
|
585
|
+
}
|
|
586
|
+
val.style.visibility = val.isvalid ? "hidden" : "visible";
|
|
587
|
+
}
|
|
588
|
+
function ValidatorUpdateIsValid() {
|
|
589
|
+
Page_IsValid = AllValidatorsValid(Page_Validators);
|
|
590
|
+
}
|
|
591
|
+
function AllValidatorsValid(validators) {
|
|
592
|
+
if ((typeof(validators) != "undefined") && (validators != null)) {
|
|
593
|
+
var i;
|
|
594
|
+
for (i = 0; i < validators.length; i++) {
|
|
595
|
+
if (!validators[i].isvalid) {
|
|
596
|
+
return false;
|
|
597
|
+
}
|
|
598
|
+
}
|
|
599
|
+
}
|
|
600
|
+
return true;
|
|
601
|
+
}
|
|
602
|
+
function ValidatorHookupControlID(controlID, val) {
|
|
603
|
+
if (typeof(controlID) != "string") {
|
|
604
|
+
return;
|
|
605
|
+
}
|
|
606
|
+
var ctrl = document.getElementById(controlID);
|
|
607
|
+
if ((typeof(ctrl) != "undefined") && (ctrl != null)) {
|
|
608
|
+
ValidatorHookupControl(ctrl, val);
|
|
609
|
+
}
|
|
610
|
+
else {
|
|
611
|
+
val.isvalid = true;
|
|
612
|
+
val.enabled = false;
|
|
613
|
+
}
|
|
614
|
+
}
|
|
615
|
+
function ValidatorHookupControl(control, val) {
|
|
616
|
+
if (typeof(control.tagName) != "string") {
|
|
617
|
+
return;
|
|
618
|
+
}
|
|
619
|
+
if (control.tagName != "INPUT" && control.tagName != "TEXTAREA" && control.tagName != "SELECT") {
|
|
620
|
+
var i;
|
|
621
|
+
for (i = 0; i < control.childNodes.length; i++) {
|
|
622
|
+
ValidatorHookupControl(control.childNodes[i], val);
|
|
623
|
+
}
|
|
624
|
+
return;
|
|
625
|
+
}
|
|
626
|
+
else {
|
|
627
|
+
if (typeof(control.Validators) == "undefined") {
|
|
628
|
+
control.Validators = new Array;
|
|
629
|
+
var eventType;
|
|
630
|
+
if (control.type == "radio") {
|
|
631
|
+
eventType = "onclick";
|
|
632
|
+
} else {
|
|
633
|
+
eventType = "onchange";
|
|
634
|
+
if (typeof(val.focusOnError) == "string" && val.focusOnError == "t") {
|
|
635
|
+
ValidatorHookupEvent(control, "onblur", "ValidatedControlOnBlur(event); ");
|
|
636
|
+
}
|
|
637
|
+
}
|
|
638
|
+
ValidatorHookupEvent(control, eventType, "ValidatorOnChange(event); ");
|
|
639
|
+
if (Page_TextTypes.test(control.type)) {
|
|
640
|
+
ValidatorHookupEvent(control, "onkeypress",
|
|
641
|
+
"event = event || window.event; if (!ValidatedTextBoxOnKeyPress(event)) { event.cancelBubble = true; if (event.stopPropagation) event.stopPropagation(); return false; } ");
|
|
642
|
+
}
|
|
643
|
+
}
|
|
644
|
+
control.Validators[control.Validators.length] = val;
|
|
645
|
+
}
|
|
646
|
+
}
|
|
647
|
+
function ValidatorHookupEvent(control, eventType, functionPrefix) {
|
|
648
|
+
var ev = control[eventType];
|
|
649
|
+
if (typeof(ev) == "function") {
|
|
650
|
+
ev = ev.toString();
|
|
651
|
+
ev = ev.substring(ev.indexOf("{") + 1, ev.lastIndexOf("}"));
|
|
652
|
+
}
|
|
653
|
+
else {
|
|
654
|
+
ev = "";
|
|
655
|
+
}
|
|
656
|
+
control[eventType] = new Function("event", functionPrefix + " " + ev);
|
|
657
|
+
}
|
|
658
|
+
function ValidatorGetValue(id) {
|
|
659
|
+
var control;
|
|
660
|
+
control = document.getElementById(id);
|
|
661
|
+
if (typeof(control.value) == "string") {
|
|
662
|
+
return control.value;
|
|
663
|
+
}
|
|
664
|
+
return ValidatorGetValueRecursive(control);
|
|
665
|
+
}
|
|
666
|
+
function ValidatorGetValueRecursive(control)
|
|
667
|
+
{
|
|
668
|
+
if (typeof(control.value) == "string" && (control.type != "radio" || control.checked == true)) {
|
|
669
|
+
return control.value;
|
|
670
|
+
}
|
|
671
|
+
var i, val;
|
|
672
|
+
for (i = 0; i<control.childNodes.length; i++) {
|
|
673
|
+
val = ValidatorGetValueRecursive(control.childNodes[i]);
|
|
674
|
+
if (val != "") return val;
|
|
675
|
+
}
|
|
676
|
+
return "";
|
|
677
|
+
}
|
|
678
|
+
function Page_ClientValidate(validationGroup) {
|
|
679
|
+
Page_InvalidControlToBeFocused = null;
|
|
680
|
+
if (typeof(Page_Validators) == "undefined") {
|
|
681
|
+
return true;
|
|
682
|
+
}
|
|
683
|
+
var i;
|
|
684
|
+
for (i = 0; i < Page_Validators.length; i++) {
|
|
685
|
+
ValidatorValidate(Page_Validators[i], validationGroup, null);
|
|
686
|
+
}
|
|
687
|
+
ValidatorUpdateIsValid();
|
|
688
|
+
ValidationSummaryOnSubmit(validationGroup);
|
|
689
|
+
Page_BlockSubmit = !Page_IsValid;
|
|
690
|
+
return Page_IsValid;
|
|
691
|
+
}
|
|
692
|
+
function ValidatorCommonOnSubmit() {
|
|
693
|
+
Page_InvalidControlToBeFocused = null;
|
|
694
|
+
var result = !Page_BlockSubmit;
|
|
695
|
+
if ((typeof(window.event) != "undefined") && (window.event != null)) {
|
|
696
|
+
window.event.returnValue = result;
|
|
697
|
+
}
|
|
698
|
+
Page_BlockSubmit = false;
|
|
699
|
+
return result;
|
|
700
|
+
}
|
|
701
|
+
function ValidatorEnable(val, enable) {
|
|
702
|
+
val.enabled = (enable != false);
|
|
703
|
+
ValidatorValidate(val);
|
|
704
|
+
ValidatorUpdateIsValid();
|
|
705
|
+
}
|
|
706
|
+
function ValidatorOnChange(event) {
|
|
707
|
+
event = event || window.event;
|
|
708
|
+
Page_InvalidControlToBeFocused = null;
|
|
709
|
+
var targetedControl;
|
|
710
|
+
if ((typeof(event.srcElement) != "undefined") && (event.srcElement != null)) {
|
|
711
|
+
targetedControl = event.srcElement;
|
|
712
|
+
}
|
|
713
|
+
else {
|
|
714
|
+
targetedControl = event.target;
|
|
715
|
+
}
|
|
716
|
+
var vals;
|
|
717
|
+
if (typeof(targetedControl.Validators) != "undefined") {
|
|
718
|
+
vals = targetedControl.Validators;
|
|
719
|
+
}
|
|
720
|
+
else {
|
|
721
|
+
if (targetedControl.tagName.toLowerCase() == "label") {
|
|
722
|
+
targetedControl = document.getElementById(targetedControl.htmlFor);
|
|
723
|
+
vals = targetedControl.Validators;
|
|
724
|
+
}
|
|
725
|
+
}
|
|
726
|
+
if (vals) {
|
|
727
|
+
for (var i = 0; i < vals.length; i++) {
|
|
728
|
+
ValidatorValidate(vals[i], null, event);
|
|
729
|
+
}
|
|
730
|
+
}
|
|
731
|
+
ValidatorUpdateIsValid();
|
|
732
|
+
}
|
|
733
|
+
function ValidatedTextBoxOnKeyPress(event) {
|
|
734
|
+
event = event || window.event;
|
|
735
|
+
if (event.keyCode == 13) {
|
|
736
|
+
ValidatorOnChange(event);
|
|
737
|
+
var vals;
|
|
738
|
+
if ((typeof(event.srcElement) != "undefined") && (event.srcElement != null)) {
|
|
739
|
+
vals = event.srcElement.Validators;
|
|
740
|
+
}
|
|
741
|
+
else {
|
|
742
|
+
vals = event.target.Validators;
|
|
743
|
+
}
|
|
744
|
+
return AllValidatorsValid(vals);
|
|
745
|
+
}
|
|
746
|
+
return true;
|
|
747
|
+
}
|
|
748
|
+
function ValidatedControlOnBlur(event) {
|
|
749
|
+
event = event || window.event;
|
|
750
|
+
var control;
|
|
751
|
+
if ((typeof(event.srcElement) != "undefined") && (event.srcElement != null)) {
|
|
752
|
+
control = event.srcElement;
|
|
753
|
+
}
|
|
754
|
+
else {
|
|
755
|
+
control = event.target;
|
|
756
|
+
}
|
|
757
|
+
if ((typeof(control) != "undefined") && (control != null) && (Page_InvalidControlToBeFocused == control)) {
|
|
758
|
+
control.focus();
|
|
759
|
+
Page_InvalidControlToBeFocused = null;
|
|
760
|
+
}
|
|
761
|
+
}
|
|
762
|
+
function ValidatorValidate(val, validationGroup, event) {
|
|
763
|
+
val.isvalid = true;
|
|
764
|
+
if ((typeof(val.enabled) == "undefined" || val.enabled != false) && IsValidationGroupMatch(val, validationGroup)) {
|
|
765
|
+
if (typeof(val.evaluationfunction) == "function") {
|
|
766
|
+
val.isvalid = val.evaluationfunction(val);
|
|
767
|
+
if (!val.isvalid && Page_InvalidControlToBeFocused == null &&
|
|
768
|
+
typeof(val.focusOnError) == "string" && val.focusOnError == "t") {
|
|
769
|
+
ValidatorSetFocus(val, event);
|
|
770
|
+
}
|
|
771
|
+
}
|
|
772
|
+
}
|
|
773
|
+
ValidatorUpdateDisplay(val);
|
|
774
|
+
}
|
|
775
|
+
function ValidatorSetFocus(val, event) {
|
|
776
|
+
var ctrl;
|
|
777
|
+
if (typeof(val.controlhookup) == "string") {
|
|
778
|
+
var eventCtrl;
|
|
779
|
+
if ((typeof(event) != "undefined") && (event != null)) {
|
|
780
|
+
if ((typeof(event.srcElement) != "undefined") && (event.srcElement != null)) {
|
|
781
|
+
eventCtrl = event.srcElement;
|
|
782
|
+
}
|
|
783
|
+
else {
|
|
784
|
+
eventCtrl = event.target;
|
|
785
|
+
}
|
|
786
|
+
}
|
|
787
|
+
if ((typeof(eventCtrl) != "undefined") && (eventCtrl != null) &&
|
|
788
|
+
(typeof(eventCtrl.id) == "string") &&
|
|
789
|
+
(eventCtrl.id == val.controlhookup)) {
|
|
790
|
+
ctrl = eventCtrl;
|
|
791
|
+
}
|
|
792
|
+
}
|
|
793
|
+
if ((typeof(ctrl) == "undefined") || (ctrl == null)) {
|
|
794
|
+
ctrl = document.getElementById(val.controltovalidate);
|
|
795
|
+
}
|
|
796
|
+
if ((typeof(ctrl) != "undefined") && (ctrl != null) &&
|
|
797
|
+
(ctrl.tagName.toLowerCase() != "table" || (typeof(event) == "undefined") || (event == null)) &&
|
|
798
|
+
((ctrl.tagName.toLowerCase() != "input") || (ctrl.type.toLowerCase() != "hidden")) &&
|
|
799
|
+
(typeof(ctrl.disabled) == "undefined" || ctrl.disabled == null || ctrl.disabled == false) &&
|
|
800
|
+
(typeof(ctrl.visible) == "undefined" || ctrl.visible == null || ctrl.visible != false) &&
|
|
801
|
+
(IsInVisibleContainer(ctrl))) {
|
|
802
|
+
if ((ctrl.tagName.toLowerCase() == "table" && (typeof(__nonMSDOMBrowser) == "undefined" || __nonMSDOMBrowser)) ||
|
|
803
|
+
(ctrl.tagName.toLowerCase() == "span")) {
|
|
804
|
+
var inputElements = ctrl.getElementsByTagName("input");
|
|
805
|
+
var lastInputElement = inputElements[inputElements.length -1];
|
|
806
|
+
if (lastInputElement != null) {
|
|
807
|
+
ctrl = lastInputElement;
|
|
808
|
+
}
|
|
809
|
+
}
|
|
810
|
+
if (typeof(ctrl.focus) != "undefined" && ctrl.focus != null) {
|
|
811
|
+
ctrl.focus();
|
|
812
|
+
Page_InvalidControlToBeFocused = ctrl;
|
|
813
|
+
}
|
|
814
|
+
}
|
|
815
|
+
}
|
|
816
|
+
function IsInVisibleContainer(ctrl) {
|
|
817
|
+
if (typeof(ctrl.style) != "undefined" &&
|
|
818
|
+
( ( typeof(ctrl.style.display) != "undefined" &&
|
|
819
|
+
ctrl.style.display == "none") ||
|
|
820
|
+
( typeof(ctrl.style.visibility) != "undefined" &&
|
|
821
|
+
ctrl.style.visibility == "hidden") ) ) {
|
|
822
|
+
return false;
|
|
823
|
+
}
|
|
824
|
+
else if (typeof(ctrl.parentNode) != "undefined" &&
|
|
825
|
+
ctrl.parentNode != null &&
|
|
826
|
+
ctrl.parentNode != ctrl) {
|
|
827
|
+
return IsInVisibleContainer(ctrl.parentNode);
|
|
828
|
+
}
|
|
829
|
+
return true;
|
|
830
|
+
}
|
|
831
|
+
function IsValidationGroupMatch(control, validationGroup) {
|
|
832
|
+
if ((typeof(validationGroup) == "undefined") || (validationGroup == null)) {
|
|
833
|
+
return true;
|
|
834
|
+
}
|
|
835
|
+
var controlGroup = "";
|
|
836
|
+
if (typeof(control.validationGroup) == "string") {
|
|
837
|
+
controlGroup = control.validationGroup;
|
|
838
|
+
}
|
|
839
|
+
return (controlGroup == validationGroup);
|
|
840
|
+
}
|
|
841
|
+
function ValidatorOnLoad() {
|
|
842
|
+
if (typeof(Page_Validators) == "undefined")
|
|
843
|
+
return;
|
|
844
|
+
var i, val;
|
|
845
|
+
for (i = 0; i < Page_Validators.length; i++) {
|
|
846
|
+
val = Page_Validators[i];
|
|
847
|
+
if (typeof(val.evaluationfunction) == "string") {
|
|
848
|
+
eval("val.evaluationfunction = " + val.evaluationfunction + ";");
|
|
849
|
+
}
|
|
850
|
+
if (typeof(val.isvalid) == "string") {
|
|
851
|
+
if (val.isvalid == "False") {
|
|
852
|
+
val.isvalid = false;
|
|
853
|
+
Page_IsValid = false;
|
|
854
|
+
}
|
|
855
|
+
else {
|
|
856
|
+
val.isvalid = true;
|
|
857
|
+
}
|
|
858
|
+
} else {
|
|
859
|
+
val.isvalid = true;
|
|
860
|
+
}
|
|
861
|
+
if (typeof(val.enabled) == "string") {
|
|
862
|
+
val.enabled = (val.enabled != "False");
|
|
863
|
+
}
|
|
864
|
+
if (typeof(val.controltovalidate) == "string") {
|
|
865
|
+
ValidatorHookupControlID(val.controltovalidate, val);
|
|
866
|
+
}
|
|
867
|
+
if (typeof(val.controlhookup) == "string") {
|
|
868
|
+
ValidatorHookupControlID(val.controlhookup, val);
|
|
869
|
+
}
|
|
870
|
+
}
|
|
871
|
+
Page_ValidationActive = true;
|
|
872
|
+
}
|
|
873
|
+
function ValidatorConvert(op, dataType, val) {
|
|
874
|
+
function GetFullYear(year) {
|
|
875
|
+
var twoDigitCutoffYear = val.cutoffyear % 100;
|
|
876
|
+
var cutoffYearCentury = val.cutoffyear - twoDigitCutoffYear;
|
|
877
|
+
return ((year > twoDigitCutoffYear) ? (cutoffYearCentury - 100 + year) : (cutoffYearCentury + year));
|
|
878
|
+
}
|
|
879
|
+
var num, cleanInput, m, exp;
|
|
880
|
+
if (dataType == "Integer") {
|
|
881
|
+
exp = /^\s*[-\+]?\d+\s*$/;
|
|
882
|
+
if (op.match(exp) == null)
|
|
883
|
+
return null;
|
|
884
|
+
num = parseInt(op, 10);
|
|
885
|
+
return (isNaN(num) ? null : num);
|
|
886
|
+
}
|
|
887
|
+
else if(dataType == "Double") {
|
|
888
|
+
exp = new RegExp("^\\s*([-\\+])?(\\d*)\\" + val.decimalchar + "?(\\d*)\\s*$");
|
|
889
|
+
m = op.match(exp);
|
|
890
|
+
if (m == null)
|
|
891
|
+
return null;
|
|
892
|
+
if (m[2].length == 0 && m[3].length == 0)
|
|
893
|
+
return null;
|
|
894
|
+
cleanInput = (m[1] != null ? m[1] : "") + (m[2].length>0 ? m[2] : "0") + (m[3].length>0 ? "." + m[3] : "");
|
|
895
|
+
num = parseFloat(cleanInput);
|
|
896
|
+
return (isNaN(num) ? null : num);
|
|
897
|
+
}
|
|
898
|
+
else if (dataType == "Currency") {
|
|
899
|
+
var hasDigits = (val.digits > 0);
|
|
900
|
+
var beginGroupSize, subsequentGroupSize;
|
|
901
|
+
var groupSizeNum = parseInt(val.groupsize, 10);
|
|
902
|
+
if (!isNaN(groupSizeNum) && groupSizeNum > 0) {
|
|
903
|
+
beginGroupSize = "{1," + groupSizeNum + "}";
|
|
904
|
+
subsequentGroupSize = "{" + groupSizeNum + "}";
|
|
905
|
+
}
|
|
906
|
+
else {
|
|
907
|
+
beginGroupSize = subsequentGroupSize = "+";
|
|
908
|
+
}
|
|
909
|
+
exp = new RegExp("^\\s*([-\\+])?((\\d" + beginGroupSize + "(\\" + val.groupchar + "\\d" + subsequentGroupSize + ")+)|\\d*)"
|
|
910
|
+
+ (hasDigits ? "\\" + val.decimalchar + "?(\\d{0," + val.digits + "})" : "")
|
|
911
|
+
+ "\\s*$");
|
|
912
|
+
m = op.match(exp);
|
|
913
|
+
if (m == null)
|
|
914
|
+
return null;
|
|
915
|
+
if (m[2].length == 0 && hasDigits && m[5].length == 0)
|
|
916
|
+
return null;
|
|
917
|
+
cleanInput = (m[1] != null ? m[1] : "") + m[2].replace(new RegExp("(\\" + val.groupchar + ")", "g"), "") + ((hasDigits && m[5].length > 0) ? "." + m[5] : "");
|
|
918
|
+
num = parseFloat(cleanInput);
|
|
919
|
+
return (isNaN(num) ? null : num);
|
|
920
|
+
}
|
|
921
|
+
else if (dataType == "Date") {
|
|
922
|
+
var yearFirstExp = new RegExp("^\\s*((\\d{4})|(\\d{2}))([-/]|\\. ?)(\\d{1,2})\\4(\\d{1,2})\\.?\\s*$");
|
|
923
|
+
m = op.match(yearFirstExp);
|
|
924
|
+
var day, month, year;
|
|
925
|
+
if (m != null && (((typeof(m[2]) != "undefined") && (m[2].length == 4)) || val.dateorder == "ymd")) {
|
|
926
|
+
day = m[6];
|
|
927
|
+
month = m[5];
|
|
928
|
+
year = (m[2].length == 4) ? m[2] : GetFullYear(parseInt(m[3], 10));
|
|
929
|
+
}
|
|
930
|
+
else {
|
|
931
|
+
if (val.dateorder == "ymd"){
|
|
932
|
+
return null;
|
|
933
|
+
}
|
|
934
|
+
var yearLastExp = new RegExp("^\\s*(\\d{1,2})([-/]|\\. ?)(\\d{1,2})(?:\\s|\\2)((\\d{4})|(\\d{2}))(?:\\s\u0433\\.|\\.)?\\s*$");
|
|
935
|
+
m = op.match(yearLastExp);
|
|
936
|
+
if (m == null) {
|
|
937
|
+
return null;
|
|
938
|
+
}
|
|
939
|
+
if (val.dateorder == "mdy") {
|
|
940
|
+
day = m[3];
|
|
941
|
+
month = m[1];
|
|
942
|
+
}
|
|
943
|
+
else {
|
|
944
|
+
day = m[1];
|
|
945
|
+
month = m[3];
|
|
946
|
+
}
|
|
947
|
+
year = ((typeof(m[5]) != "undefined") && (m[5].length == 4)) ? m[5] : GetFullYear(parseInt(m[6], 10));
|
|
948
|
+
}
|
|
949
|
+
month -= 1;
|
|
950
|
+
var date = new Date(year, month, day);
|
|
951
|
+
if (year < 100) {
|
|
952
|
+
date.setFullYear(year);
|
|
953
|
+
}
|
|
954
|
+
return (typeof(date) == "object" && year == date.getFullYear() && month == date.getMonth() && day == date.getDate()) ? date.valueOf() : null;
|
|
955
|
+
}
|
|
956
|
+
else {
|
|
957
|
+
return op.toString();
|
|
958
|
+
}
|
|
959
|
+
}
|
|
960
|
+
function ValidatorCompare(operand1, operand2, operator, val) {
|
|
961
|
+
var dataType = val.type;
|
|
962
|
+
var op1, op2;
|
|
963
|
+
if ((op1 = ValidatorConvert(operand1, dataType, val)) == null)
|
|
964
|
+
return false;
|
|
965
|
+
if (operator == "DataTypeCheck")
|
|
966
|
+
return true;
|
|
967
|
+
if ((op2 = ValidatorConvert(operand2, dataType, val)) == null)
|
|
968
|
+
return true;
|
|
969
|
+
switch (operator) {
|
|
970
|
+
case "NotEqual":
|
|
971
|
+
return (op1 != op2);
|
|
972
|
+
case "GreaterThan":
|
|
973
|
+
return (op1 > op2);
|
|
974
|
+
case "GreaterThanEqual":
|
|
975
|
+
return (op1 >= op2);
|
|
976
|
+
case "LessThan":
|
|
977
|
+
return (op1 < op2);
|
|
978
|
+
case "LessThanEqual":
|
|
979
|
+
return (op1 <= op2);
|
|
980
|
+
default:
|
|
981
|
+
return (op1 == op2);
|
|
982
|
+
}
|
|
983
|
+
}
|
|
984
|
+
function CompareValidatorEvaluateIsValid(val) {
|
|
985
|
+
var value = ValidatorGetValue(val.controltovalidate);
|
|
986
|
+
if (ValidatorTrim(value).length == 0)
|
|
987
|
+
return true;
|
|
988
|
+
var compareTo = "";
|
|
989
|
+
if ((typeof(val.controltocompare) != "string") ||
|
|
990
|
+
(typeof(document.getElementById(val.controltocompare)) == "undefined") ||
|
|
991
|
+
(null == document.getElementById(val.controltocompare))) {
|
|
992
|
+
if (typeof(val.valuetocompare) == "string") {
|
|
993
|
+
compareTo = val.valuetocompare;
|
|
994
|
+
}
|
|
995
|
+
}
|
|
996
|
+
else {
|
|
997
|
+
compareTo = ValidatorGetValue(val.controltocompare);
|
|
998
|
+
}
|
|
999
|
+
var operator = "Equal";
|
|
1000
|
+
if (typeof(val.operator) == "string") {
|
|
1001
|
+
operator = val.operator;
|
|
1002
|
+
}
|
|
1003
|
+
return ValidatorCompare(value, compareTo, operator, val);
|
|
1004
|
+
}
|
|
1005
|
+
function CustomValidatorEvaluateIsValid(val) {
|
|
1006
|
+
var value = "";
|
|
1007
|
+
if (typeof(val.controltovalidate) == "string") {
|
|
1008
|
+
value = ValidatorGetValue(val.controltovalidate);
|
|
1009
|
+
if ((ValidatorTrim(value).length == 0) &&
|
|
1010
|
+
((typeof(val.validateemptytext) != "string") || (val.validateemptytext != "true"))) {
|
|
1011
|
+
return true;
|
|
1012
|
+
}
|
|
1013
|
+
}
|
|
1014
|
+
var args = { Value:value, IsValid:true };
|
|
1015
|
+
if (typeof(val.clientvalidationfunction) == "string") {
|
|
1016
|
+
eval(val.clientvalidationfunction + "(val, args) ;");
|
|
1017
|
+
}
|
|
1018
|
+
return args.IsValid;
|
|
1019
|
+
}
|
|
1020
|
+
function RegularExpressionValidatorEvaluateIsValid(val) {
|
|
1021
|
+
var value = ValidatorGetValue(val.controltovalidate);
|
|
1022
|
+
if (ValidatorTrim(value).length == 0)
|
|
1023
|
+
return true;
|
|
1024
|
+
var rx = new RegExp(val.validationexpression);
|
|
1025
|
+
var matches = rx.exec(value);
|
|
1026
|
+
return (matches != null && value == matches[0]);
|
|
1027
|
+
}
|
|
1028
|
+
function ValidatorTrim(s) {
|
|
1029
|
+
var m = s.match(/^\s*(\S+(\s+\S+)*)\s*$/);
|
|
1030
|
+
return (m == null) ? "" : m[1];
|
|
1031
|
+
}
|
|
1032
|
+
function RequiredFieldValidatorEvaluateIsValid(val) {
|
|
1033
|
+
return (ValidatorTrim(ValidatorGetValue(val.controltovalidate)) != ValidatorTrim(val.initialvalue))
|
|
1034
|
+
}
|
|
1035
|
+
function RangeValidatorEvaluateIsValid(val) {
|
|
1036
|
+
var value = ValidatorGetValue(val.controltovalidate);
|
|
1037
|
+
if (ValidatorTrim(value).length == 0)
|
|
1038
|
+
return true;
|
|
1039
|
+
return (ValidatorCompare(value, val.minimumvalue, "GreaterThanEqual", val) &&
|
|
1040
|
+
ValidatorCompare(value, val.maximumvalue, "LessThanEqual", val));
|
|
1041
|
+
}
|
|
1042
|
+
function ValidationSummaryOnSubmit(validationGroup) {
|
|
1043
|
+
if (typeof(Page_ValidationSummaries) == "undefined")
|
|
1044
|
+
return;
|
|
1045
|
+
var summary, sums, s;
|
|
1046
|
+
var headerSep, first, pre, post, end;
|
|
1047
|
+
for (sums = 0; sums < Page_ValidationSummaries.length; sums++) {
|
|
1048
|
+
summary = Page_ValidationSummaries[sums];
|
|
1049
|
+
if (!summary) continue;
|
|
1050
|
+
summary.style.display = "none";
|
|
1051
|
+
if (!Page_IsValid && IsValidationGroupMatch(summary, validationGroup)) {
|
|
1052
|
+
var i;
|
|
1053
|
+
if (summary.showsummary != "False") {
|
|
1054
|
+
summary.style.display = "";
|
|
1055
|
+
if (typeof(summary.displaymode) != "string") {
|
|
1056
|
+
summary.displaymode = "BulletList";
|
|
1057
|
+
}
|
|
1058
|
+
switch (summary.displaymode) {
|
|
1059
|
+
case "List":
|
|
1060
|
+
headerSep = "<br>";
|
|
1061
|
+
first = "";
|
|
1062
|
+
pre = "";
|
|
1063
|
+
post = "<br>";
|
|
1064
|
+
end = "";
|
|
1065
|
+
break;
|
|
1066
|
+
case "BulletList":
|
|
1067
|
+
default:
|
|
1068
|
+
headerSep = "";
|
|
1069
|
+
first = "<ul>";
|
|
1070
|
+
pre = "<li>";
|
|
1071
|
+
post = "</li>";
|
|
1072
|
+
end = "</ul>";
|
|
1073
|
+
break;
|
|
1074
|
+
case "SingleParagraph":
|
|
1075
|
+
headerSep = " ";
|
|
1076
|
+
first = "";
|
|
1077
|
+
pre = "";
|
|
1078
|
+
post = " ";
|
|
1079
|
+
end = "<br>";
|
|
1080
|
+
break;
|
|
1081
|
+
}
|
|
1082
|
+
s = "";
|
|
1083
|
+
if (typeof(summary.headertext) == "string") {
|
|
1084
|
+
s += summary.headertext + headerSep;
|
|
1085
|
+
}
|
|
1086
|
+
s += first;
|
|
1087
|
+
for (i=0; i<Page_Validators.length; i++) {
|
|
1088
|
+
if (!Page_Validators[i].isvalid && typeof(Page_Validators[i].errormessage) == "string") {
|
|
1089
|
+
s += pre + Page_Validators[i].errormessage + post;
|
|
1090
|
+
}
|
|
1091
|
+
}
|
|
1092
|
+
s += end;
|
|
1093
|
+
summary.innerHTML = s;
|
|
1094
|
+
window.scrollTo(0,0);
|
|
1095
|
+
}
|
|
1096
|
+
if (summary.showmessagebox == "True") {
|
|
1097
|
+
s = "";
|
|
1098
|
+
if (typeof(summary.headertext) == "string") {
|
|
1099
|
+
s += summary.headertext + "\r\n";
|
|
1100
|
+
}
|
|
1101
|
+
var lastValIndex = Page_Validators.length - 1;
|
|
1102
|
+
for (i=0; i<=lastValIndex; i++) {
|
|
1103
|
+
if (!Page_Validators[i].isvalid && typeof(Page_Validators[i].errormessage) == "string") {
|
|
1104
|
+
switch (summary.displaymode) {
|
|
1105
|
+
case "List":
|
|
1106
|
+
s += Page_Validators[i].errormessage;
|
|
1107
|
+
if (i < lastValIndex) {
|
|
1108
|
+
s += "\r\n";
|
|
1109
|
+
}
|
|
1110
|
+
break;
|
|
1111
|
+
case "BulletList":
|
|
1112
|
+
default:
|
|
1113
|
+
s += "- " + Page_Validators[i].errormessage;
|
|
1114
|
+
if (i < lastValIndex) {
|
|
1115
|
+
s += "\r\n";
|
|
1116
|
+
}
|
|
1117
|
+
break;
|
|
1118
|
+
case "SingleParagraph":
|
|
1119
|
+
s += Page_Validators[i].errormessage + " ";
|
|
1120
|
+
break;
|
|
1121
|
+
}
|
|
1122
|
+
}
|
|
1123
|
+
}
|
|
1124
|
+
alert(s);
|
|
1125
|
+
}
|
|
1126
|
+
}
|
|
1127
|
+
}
|
|
1128
|
+
}
|
|
1129
|
+
if (window.jQuery) {
|
|
1130
|
+
(function ($) {
|
|
1131
|
+
var dataValidationAttribute = "data-val",
|
|
1132
|
+
dataValidationSummaryAttribute = "data-valsummary",
|
|
1133
|
+
normalizedAttributes = { validationgroup: "validationGroup", focusonerror: "focusOnError" };
|
|
1134
|
+
function getAttributesWithPrefix(element, prefix) {
|
|
1135
|
+
var i,
|
|
1136
|
+
attribute,
|
|
1137
|
+
list = {},
|
|
1138
|
+
attributes = element.attributes,
|
|
1139
|
+
length = attributes.length,
|
|
1140
|
+
prefixLength = prefix.length;
|
|
1141
|
+
prefix = prefix.toLowerCase();
|
|
1142
|
+
for (i = 0; i < length; i++) {
|
|
1143
|
+
attribute = attributes[i];
|
|
1144
|
+
if (attribute.specified && attribute.name.substr(0, prefixLength).toLowerCase() === prefix) {
|
|
1145
|
+
list[attribute.name.substr(prefixLength)] = attribute.value;
|
|
1146
|
+
}
|
|
1147
|
+
}
|
|
1148
|
+
return list;
|
|
1149
|
+
}
|
|
1150
|
+
function normalizeKey(key) {
|
|
1151
|
+
key = key.toLowerCase();
|
|
1152
|
+
return normalizedAttributes[key] === undefined ? key : normalizedAttributes[key];
|
|
1153
|
+
}
|
|
1154
|
+
function addValidationExpando(element) {
|
|
1155
|
+
var attributes = getAttributesWithPrefix(element, dataValidationAttribute + "-");
|
|
1156
|
+
$.each(attributes, function (key, value) {
|
|
1157
|
+
element[normalizeKey(key)] = value;
|
|
1158
|
+
});
|
|
1159
|
+
}
|
|
1160
|
+
function dispose(element) {
|
|
1161
|
+
var index = $.inArray(element, Page_Validators);
|
|
1162
|
+
if (index >= 0) {
|
|
1163
|
+
Page_Validators.splice(index, 1);
|
|
1164
|
+
}
|
|
1165
|
+
}
|
|
1166
|
+
function addNormalizedAttribute(name, normalizedName) {
|
|
1167
|
+
normalizedAttributes[name.toLowerCase()] = normalizedName;
|
|
1168
|
+
}
|
|
1169
|
+
function parseSpecificAttribute(selector, attribute, validatorsArray) {
|
|
1170
|
+
return $(selector).find("[" + attribute + "='true']").each(function (index, element) {
|
|
1171
|
+
addValidationExpando(element);
|
|
1172
|
+
element.dispose = function () { dispose(element); element.dispose = null; };
|
|
1173
|
+
if ($.inArray(element, validatorsArray) === -1) {
|
|
1174
|
+
validatorsArray.push(element);
|
|
1175
|
+
}
|
|
1176
|
+
}).length;
|
|
1177
|
+
}
|
|
1178
|
+
function parse(selector) {
|
|
1179
|
+
var length = parseSpecificAttribute(selector, dataValidationAttribute, Page_Validators);
|
|
1180
|
+
length += parseSpecificAttribute(selector, dataValidationSummaryAttribute, Page_ValidationSummaries);
|
|
1181
|
+
return length;
|
|
1182
|
+
}
|
|
1183
|
+
function loadValidators() {
|
|
1184
|
+
if (typeof (ValidatorOnLoad) === "function") {
|
|
1185
|
+
ValidatorOnLoad();
|
|
1186
|
+
}
|
|
1187
|
+
if (typeof (ValidatorOnSubmit) === "undefined") {
|
|
1188
|
+
window.ValidatorOnSubmit = function () {
|
|
1189
|
+
return Page_ValidationActive ? ValidatorCommonOnSubmit() : true;
|
|
1190
|
+
};
|
|
1191
|
+
}
|
|
1192
|
+
}
|
|
1193
|
+
function registerUpdatePanel() {
|
|
1194
|
+
if (window.Sys && Sys.WebForms && Sys.WebForms.PageRequestManager) {
|
|
1195
|
+
var prm = Sys.WebForms.PageRequestManager.getInstance(),
|
|
1196
|
+
postBackElement, endRequestHandler;
|
|
1197
|
+
if (prm.get_isInAsyncPostBack()) {
|
|
1198
|
+
endRequestHandler = function (sender, args) {
|
|
1199
|
+
if (parse(document)) {
|
|
1200
|
+
loadValidators();
|
|
1201
|
+
}
|
|
1202
|
+
prm.remove_endRequest(endRequestHandler);
|
|
1203
|
+
endRequestHandler = null;
|
|
1204
|
+
};
|
|
1205
|
+
prm.add_endRequest(endRequestHandler);
|
|
1206
|
+
}
|
|
1207
|
+
prm.add_beginRequest(function (sender, args) {
|
|
1208
|
+
postBackElement = args.get_postBackElement();
|
|
1209
|
+
});
|
|
1210
|
+
prm.add_pageLoaded(function (sender, args) {
|
|
1211
|
+
var i, panels, valFound = 0;
|
|
1212
|
+
if (typeof (postBackElement) === "undefined") {
|
|
1213
|
+
return;
|
|
1214
|
+
}
|
|
1215
|
+
panels = args.get_panelsUpdated();
|
|
1216
|
+
for (i = 0; i < panels.length; i++) {
|
|
1217
|
+
valFound += parse(panels[i]);
|
|
1218
|
+
}
|
|
1219
|
+
panels = args.get_panelsCreated();
|
|
1220
|
+
for (i = 0; i < panels.length; i++) {
|
|
1221
|
+
valFound += parse(panels[i]);
|
|
1222
|
+
}
|
|
1223
|
+
if (valFound) {
|
|
1224
|
+
loadValidators();
|
|
1225
|
+
}
|
|
1226
|
+
});
|
|
1227
|
+
}
|
|
1228
|
+
}
|
|
1229
|
+
$(function () {
|
|
1230
|
+
if (typeof (Page_Validators) === "undefined") {
|
|
1231
|
+
window.Page_Validators = [];
|
|
1232
|
+
}
|
|
1233
|
+
if (typeof (Page_ValidationSummaries) === "undefined") {
|
|
1234
|
+
window.Page_ValidationSummaries = [];
|
|
1235
|
+
}
|
|
1236
|
+
if (typeof (Page_ValidationActive) === "undefined") {
|
|
1237
|
+
window.Page_ValidationActive = false;
|
|
1238
|
+
}
|
|
1239
|
+
$.WebFormValidator = {
|
|
1240
|
+
addNormalizedAttribute: addNormalizedAttribute,
|
|
1241
|
+
parse: parse
|
|
1242
|
+
};
|
|
1243
|
+
if (parse(document)) {
|
|
1244
|
+
loadValidators();
|
|
1245
|
+
}
|
|
1246
|
+
registerUpdatePanel();
|
|
1247
|
+
});
|
|
1248
|
+
} (jQuery));
|
|
1249
|
+
}
|
|
1250
|
+
// (c) 2010 CodePlex Foundation
|
|
1251
|
+
(function(g,b){var p="object",t="set_",n="#",o="$",k="string",j=".",h=" ",s="onreadystatechange",l="load",y="_readyQueue",x="_domReadyQueue",m="error",d=false,r="on",a=null,c=true,f="function",i="number",e="undefined",A=function(a){a=a||{};q(arguments,function(b){b&&v(b,function(c,b){a[b]=c})},1);return a},v=function(a,c){for(var b in a)c(a[b],b)},q=function(a,h,j){var d;if(a){a=a!==g&&typeof a.nodeType===e&&(a instanceof Array||typeof a.length===i&&(typeof a.callee===f||a.item&&typeof a.nodeType===e&&!a.addEventListener&&!a.attachEvent))?a:[a];for(var b=j||0,k=a.length;b<k;b++)if(h(a[b],b)){d=c;break}}return!d},u=function(b,e,d){var c=b[e],a=typeof c===f;a&&c.call(b,d);return a};if(!b||!b.loader){function M(a){a=a||{};q(arguments,function(b){b&&v(b,function(c,b){if(typeof a[b]===e)a[b]=c})},1);return a}var z=!!document.attachEvent;function C(b,a){var c=b[a];delete b[a];return c}function K(d,b,c){q(C(d,b),function(b){b.apply(a,c||[])})}function I(a,c,b){return a?(a[c]=a[c]||b):b}function G(c,b,a){I(c,b,[]).push(a)}function B(b,a){return(a||document).getElementsByTagName(b)}function J(a){return document.createElement(a)}function D(b,e,g,i,h,f){function c(){if(!z||!h||/loaded|complete/.test(b.readyState)){if(z)b.detachEvent(g||r+e,c);else{b.removeEventListener(e,c,d);f&&b.removeEventListener(m,c,d)}i.apply(b);b=a}}if(z)b.attachEvent(g||r+e,c);else{b.addEventListener(e,c,d);f&&b.addEventListener(m,c,d)}}function E(){b._domReady&&b._2Pass(C(b,x))}function F(){var a=b._ready;if(!a&&b._domReady&&!(b.loader&&b.loader._loading))b._ready=a=c;a&&b._2Pass(C(b,y))}g.Sys=b=M(b,{version:[3,0,31106,0],__namespace:c,debug:d,scripts:{},activateDom:c,composites:{},components:{},plugins:{},create:{},converters:{},_domLoaded:function(){if(b._domChecked)return;b._domChecked=c;function d(){if(!b._domReady){b._domReady=c;var d=b._autoRequire;d&&b.require(d,function(){b._autoRequire=a;K(b,"_autoQueue")},autoToken);E();F()}}D(g,l,a,d);var e;if(z)if(g==g.top&&document.documentElement.doScroll){var h,i,f=J("div");e=function(){try{f.doScroll("left")}catch(b){h=g.setTimeout(e,0);return}f=a;d()};e()}else D(document,a,s,d,c);else document.addEventListener&&D(document,"DOMContentLoaded",a,d)},_getById:function(b,d,h,f,a,g){if(a)if(f&&a.id===d)b.push(a);else!g&&q(B("*",a),function(a){if(a.id===d){b.push(a);return c}});else{var e=document.getElementById(d);e&&b.push(e)}return b.length},_getByClass:function(l,d,g,m,a,n){function i(b){var e,a=b.className;if(a&&(a===d||a.indexOf(h+d)>=0||a.indexOf(d+h)>=0)){l.push(b);e=c}return e}var b,f,e;if(m&&i(a)&&g)return c;if(!n){a=a||document;var k=a.querySelectorAll||a.getElementsByClassName;if(k){if(a.querySelectorAll)d=j+d;e=k.call(a,d);for(b=0,f=e.length;b<f;b++){l.push(e[b]);if(g)return c}}else{e=B("*",a);for(b=0,f=e.length;b<f;b++)if(i(e[b])&&g)return c}}},query:function(a,c){return new b.ElementSet(a,c)},"get":function(b,a){return a&&typeof a.get===f?a.get(b):this._find(b,a,c)},_find:function(l,d,f,h){var e=[],j;if(typeof l===k)j=[l];else j=l;var i=d instanceof Array,m=/^([\$#\.])((\w|[$:\.\-])+)$/,p=/^((\w+)|\*)$/;if(typeof d===k||d instanceof Array)d=b._find(d);if(d instanceof b.ElementSet)d=d.get();q(j,function(a){if(typeof a!==k)if(h)contains(d,a)&&e.push(a);else e.push(a);else{var j=m.exec(a);if(j&&j.length===4){a=j[2];var s=j[1];if(s===o)b._getComponent(e,a,d);else{var r=s===n?b._getById:b._getByClass;if(d)q(d,function(b){if(b.nodeType===1)return r(e,a,f,i,b,h)});else r(e,a,f)}}else if(p.test(a))if(d instanceof Array)q(d,function(b){if(b.nodeType===1){if(i&&(a==="*"||b.tagName.toLowerCase()===a)){e.push(b);if(f)return c}if(!h)if(!q(B(a,b),function(a){e.push(a);if(f)return c}))return c}});else{var l=B(a,d);if(f){l[0]&&e.push(l[0]);return c}q(l,function(a){e.push(a)})}else if(g.jQuery){!h&&e.push.apply(e,jQuery(a,d).get());i&&e.push.apply(e,jQuery(d).filter(a).get())}}});return e.length?f?e[0]||a:e:a},onDomReady:function(a){G(this,x,a);E()},onReady:function(a){G(this,y,a);F()},_set:function(a,b){v(b,function(c,b){u(a,"add_"+b,c)||u(a,t+b,c)||(a[b]=c)})}});b._getComponent=b._getComponent||function(){};b._2Pass=b._2Pass||function(a){q(a,function(a){a()})};var w;if(!b.ElementSet){w=b.ElementSet=function(c,a){this._elements=typeof a===p&&typeof a.query===f?a.query(c).get():b._find(c,a)||[]};w.prototype={__class:c,components:function(d,c){var a=new b.ElementSet(this.get());return new b.ComponentSet(a,d,c)},component:function(b,a){return this.components(b,a).get(0)},each:function(c){for(var b=this._elements,a=0,e=b.length;a<e;a++)if(c.call(b[a],a)===d)break;return this},"get":function(c){var b=this._elements;return typeof c===e?Array.apply(a,b):b[c]||a},find:function(a){return new b.ElementSet(a,this)},filter:function(a){return new b.ElementSet(b._find(a,this._elements,d,c))}}}if(!b.ComponentSet){w=b.ComponentSet=function(a,d,c){this._elementSet=a||(a=new b.ElementSet);this._components=this._execute(a,d,c)};w.prototype={__class:c,setProperties:function(a){return this.each(function(){b._set(this,a)})},"get":function(c){var b=this._components;return typeof c===e?Array.apply(a,b):b[c||0]||a},each:function(a){q(this._components,function(b,e){if(a.call(b,e)===d)return c});return this},elements:function(){return this._elementSet},_execute:function(f,b,c){var a=[];function d(c){var a;return c instanceof b||(a=c.constructor)&&(a===b||a.inheritsFrom&&a.inheritsFrom(b)||a.implementsInterface&&a.implementsInterface(b))}if(b instanceof Array)a.push.apply(a,b);else f.each(function(){var c=this.control;c&&(!b||d(c))&&a.push(c);q(this._behaviors,function(c){(!b||d(c))&&a.push(c)})});if(typeof c!==e)if(a[c])a=[a[c]];else a=[];return a}}}w=a}var L=function(a,d){if(d)return function(){return b.plugins[a.name].plugin.apply(this,arguments)};else{var c=function(){var c=arguments.callee,a=c._component;return b._createComp.call(this,a,a.defaults,arguments)};c._component=a;return c}};b._getCreate=L;function H(){var ub="callback",S="completed",jb="completedRequest",ib="invokingRequest",xb="Sys.Net.XMLHttpExecutor",R="uploadAbort",M="Content-Type",Q="progress",mb="text/xml",tb="SelectionLanguage",hb="navigate",gb="dispose",fb="init",L="unload",P="none",eb="HTML",I="absolute",O="BODY",db="InternetExplorer",cb="disposing",H="+",sb="MonthNames",rb="MonthGenitiveNames",bb="Abbreviated",E="-",D="/",ab="yyyy",Z="MMMM",Y="dddd",B=100,J="collectionChanged",X="get_",C="propertyChanged",G=",",W="null",U="Firefox",V="initialize",lb="beginUpdate",y=-1,qb="Undefined",x="",F="\n",pb="Exception",w,z;b._foreach=q;b._forIn=v;b._merge=A;b._callIf=u;w=Function;w.__typeName="Function";w.__class=c;w.createCallback=function(b,a){return function(){var e=arguments.length;if(e>0){for(var d=[],c=0;c<e;c++)d[c]=arguments[c];d[e]=a;return b.apply(this,d)}return b.call(this,a)}};w.createDelegate=function(a,b){return function(){return b.apply(a,arguments)}};w.emptyFunction=w.emptyMethod=function(){};w.validateParameters=function(c,b,a){return Function._validateParams(c,b,a)};w._validateParams=function(i,g,e){var b,f=g.length;e=e!==d;b=Function._validateParameterCount(i,g,e);if(b){b.popStackFrame();return b}for(var c=0,k=i.length;c<k;c++){var h=g[Math.min(c,f-1)],j=h.name;if(h.parameterArray)j+="["+(c-f+1)+"]";else if(!e&&c>=f)break;b=Function._validateParameter(i[c],h,j);if(b){b.popStackFrame();return b}}return a};w._validateParameterCount=function(m,g,l){var b,f,e=g.length,h=m.length;if(h<e){var i=e;for(b=0;b<e;b++){var j=g[b];if(j.optional||j.parameterArray)i--}if(h<i)f=c}else if(l&&h>e){f=c;for(b=0;b<e;b++)if(g[b].parameterArray){f=d;break}}if(f){var k=Error.parameterCount();k.popStackFrame();return k}return a};w._validateParameter=function(d,b,j){var c,i=b.type,n=!!b.integer,m=!!b.domElement,o=!!b.mayBeNull;c=Function._validateParameterType(d,i,n,m,o,j);if(c){c.popStackFrame();return c}var g=b.elementType,h=!!b.elementMayBeNull;if(i===Array&&typeof d!==e&&d!==a&&(g||!h))for(var l=!!b.elementInteger,k=!!b.elementDomElement,f=0;f<d.length;f++){var p=d[f];c=Function._validateParameterType(p,g,l,k,h,j+"["+f+"]");if(c){c.popStackFrame();return c}}return a};w._validateParameterType=function(c,f,n,m,o,g){var d,k;if(typeof c===e||c===a){if(o)return a;d=c===a?Error.argumentNull(g):Error.argumentUndefined(g);d.popStackFrame();return d}if(f&&f.__enum){if(typeof c!==i){d=Error.argumentType(g,Object.getType(c),f);d.popStackFrame();return d}if(c%1===0){var h=f.prototype;if(!f.__flags||c===0){for(k in h)if(h[k]===c)return a}else{var l=c;for(k in h){var j=h[k];if(j===0)continue;if((j&c)===j)l-=j;if(l===0)return a}}}d=Error.argumentOutOfRange(g,c,String.format(b.Res.enumInvalidValue,c,f.getName()));d.popStackFrame();return d}if(m&&(!b._isDomElement(c)||c.nodeType===3)){d=Error.argument(g,b.Res.argumentDomElement);d.popStackFrame();return d}if(f&&!b._isInstanceOfType(f,c)){d=Error.argumentType(g,Object.getType(c),f);d.popStackFrame();return d}if(f===Number&&n)if(c%1!==0){d=Error.argumentOutOfRange(g,c,b.Res.argumentInteger);d.popStackFrame();return d}return a};w=Error;w.__typeName="Error";w.__class=c;b._errorArgument=function(e,a,g){var f="Sys.Argument"+e+pb,d=f+": "+(g||b.Res["argument"+e]);if(a)d+=F+String.format(b.Res.paramName,a);var c=Error.create(d,{name:f,paramName:a});c.popStackFrame();c.popStackFrame();return c};b._error=function(g,f,d){var c="Sys."+g+pb,e=c+": "+(f||b.Res[d]),a=Error.create(e,{name:c});a.popStackFrame();a.popStackFrame();return a};w.create=function(c,b){var a=new Error(c);a.message=c;if(b)for(var d in b)a[d]=b[d];a.popStackFrame();return a};w.argument=function(a,c){return b._errorArgument(x,a,c)};w.argumentNull=function(a,c){return b._errorArgument("Null",a,c)};w.argumentOutOfRange=function(f,c,h){var d="Sys.ArgumentOutOfRangeException: "+(h||b.Res.argumentOutOfRange);if(f)d+=F+String.format(b.Res.paramName,f);if(typeof c!==e&&c!==a)d+=F+String.format(b.Res.actualValue,c);var g=Error.create(d,{name:"Sys.ArgumentOutOfRangeException",paramName:f,actualValue:c});g.popStackFrame();return g};w.argumentType=function(e,d,c,f){var a="Sys.ArgumentTypeException: ";if(f)a+=f;else if(d&&c)a+=String.format(b.Res.argumentTypeWithTypes,d.getName(),c.getName());else a+=b.Res.argumentType;if(e)a+=F+String.format(b.Res.paramName,e);var g=Error.create(a,{name:"Sys.ArgumentTypeException",paramName:e,actualType:d,expectedType:c});g.popStackFrame();return g};w.argumentUndefined=function(a,c){return b._errorArgument(qb,a,c)};w.format=function(a){return b._error("Format",a,"format")};w.invalidOperation=function(a){return b._error("InvalidOperation",a,"invalidOperation")};w.notImplemented=function(a){return b._error("NotImplemented",a,"notImplemented")};w.parameterCount=function(a){return b._error("ParameterCount",a,"parameterCount")};w.prototype.popStackFrame=function(){var b=this;if(typeof b.stack===e||b.stack===a||typeof b.fileName===e||b.fileName===a||typeof b.lineNumber===e||b.lineNumber===a)return;var c=b.stack.split(F),f=c[0],h=b.fileName+":"+b.lineNumber;while(typeof f!==e&&f!==a&&f.indexOf(h)<0){c.shift();f=c[0]}var g=c[1];if(typeof g===e||g===a)return;var d=g.match(/@(.*):(\d+)$/);if(typeof d===e||d===a)return;b.fileName=d[1];b.lineNumber=parseInt(d[2]);c.shift();b.stack=c.join(F)};w=Object;w.__typeName="Object";w.__class=c;w.getType=function(b){var a=b.constructor;return!a||typeof a!==f||!a.__typeName||a.__typeName==="Object"?Object:a};w.getTypeName=function(a){return Object.getType(a).getName()};w=String;w.__typeName="String";w.__class=c;z=w.prototype;z.endsWith=function(a){return this.substr(this.length-a.length)===a};z.startsWith=function(a){return this.substr(0,a.length)===a};z.trim=function(){return this.replace(/^\s+|\s+$/g,x)};z.trimEnd=function(){return this.replace(/\s+$/,x)};z.trimStart=function(){return this.replace(/^\s+/,x)};w.format=function(){return String._toFormattedString(d,arguments)};w._toFormattedString=function(o,m){for(var f=x,h=m[0],b=0;c;){var i=h.indexOf("{",b),g=h.indexOf("}",b);if(i<0&&g<0){f+=h.slice(b);break}if(g>0&&(g<i||i<0)){f+=h.slice(b,g+1);b=g+2;continue}f+=h.slice(b,i);b=i+1;if(h.charAt(b)==="{"){f+="{";b++;continue}if(g<0)break;var k=h.substring(b,g),j=k.indexOf(":"),n=parseInt(j<0?k:k.substring(0,j),10)+1,l=j<0?x:k.substring(j+1),d=m[n];if(typeof d===e||d===a)d=x;if(d.toFormattedString)f+=d.toFormattedString(l);else if(o&&d.localeFormat)f+=d.localeFormat(l);else if(d.format)f+=d.format(l);else f+=d.toString();b=g+1}return f};w=Boolean;w.__typeName="Boolean";w.__class=c;w.parse=function(e){var b=e.trim().toLowerCase(),a;if(b==="false")a=d;else if(b==="true")a=c;return a};w=Date;w.__typeName="Date";w.__class=c;w=Number;w.__typeName="Number";w.__class=c;w=RegExp;w.__typeName="RegExp";w.__class=c;if(!g)this.window=this;g.Type=w=Function;z=w.prototype;z.callBaseMethod=function(a,e,c){var d=b._getBaseMethod(this,a,e);return c?d.apply(a,c):d.apply(a)};z.getBaseMethod=function(a,c){return b._getBaseMethod(this,a,c)};z.getBaseType=function(){return typeof this.__baseType===e?a:this.__baseType};z.getInterfaces=function(){var c=[],a=this;while(a){var b=a.__interfaces;if(b)for(var d=0,f=b.length;d<f;d++){var e=b[d];!Array.contains(c,e)&&c.push(e)}a=a.__baseType}return c};z.getName=function(){return typeof this.__typeName===e?x:this.__typeName};z.implementsInterface=function(h){var f=this;f.resolveInheritance();var g=h.getName(),a=f.__interfaceCache;if(a){var i=a[g];if(typeof i!==e)return i}else a=f.__interfaceCache={};var b=f;while(b){var j=b.__interfaces;if(j&&Array.indexOf(j,h)!==y)return a[g]=c;b=b.__baseType}return a[g]=d};z.inheritsFrom=function(a){this.resolveInheritance();return b._inheritsFrom(this,a)};b._inheritsFrom=function(e,b){var d;if(b){var a=e.__baseType;while(a){if(a===b){d=c;break}a=a.__baseType}}return!!d};z.initializeBase=function(b,c){this.resolveInheritance();var a=this.__baseType;if(a)c?a.apply(b,c):a.apply(b);return b};z.isImplementedBy=function(b){if(typeof b===e||b===a)return d;var c=Object.getType(b);return!!(c.implementsInterface&&c.implementsInterface(this))};z.isInstanceOfType=function(a){return b._isInstanceOfType(this,a)};z.registerClass=function(f,e,g){var a=this,j=a.prototype;j.constructor=a;a.__typeName=f;a.__class=c;if(e){a.__baseType=e;a.__basePrototypePending=c}b.__upperCaseTypes[f.toUpperCase()]=a;if(g)for(var i=a.__interfaces=[],d=2,k=arguments.length;d<k;d++){var h=arguments[d];i.push(h)}return a};b.registerComponent=function(d,c){var f=d.getName(),e=b.UI&&(b._inheritsFrom(d,b.UI.Control)||b._inheritsFrom(d,b.UI.Behavior)),a=c&&c.name;if(!a){a=f;var g=a.lastIndexOf(j);if(g>=0){a=a.substr(g+1);if(a&&a.charAt(0)==="_")return}a=a.substr(0,1).toLowerCase()+a.substr(1)}if(!c)c={};c.name=a;c.type=d;c.typeName=f;c._isBehavior=e;c=b.components[a]=A(b.components[a],c);var i=b._getCreate(c),h=e?b.ElementSet.prototype:b.create;h[a]=i};b.registerPlugin=function(a){var e=a.name,f=a.functionName||e;b.plugins[e]=A(b.plugins[e],a);var g=a.plugin,d;if(a.global)d=b;else if(a.dom)d=b.ElementSet.prototype;else if(a.components)d=b.ComponentSet.prototype;if(d)d[f]=b._getCreate(a,c)};b._createComp=function(d,l,f){var i=d.type,h=d.parameters||[],j=d._isBehavior,m=j?f[0]:a,c=f[h.length]||{};c=A({},l,c);q(h,function(a,g){var d=typeof a===k?a:a.name,b=f[g];if(typeof b!==e&&typeof c[d]===e)c[d]=b});if(this instanceof b.ElementSet){var g=[];this.each(function(){g.push(b._create(i,c,this))});return new b.ComponentSet(this,g)}else return b._create(i,c)};b._create=function(f,g,c){var d=typeof c;if(d===k)c=b.get(c);var a;b._2Pass(function(){a=d===e?new f:new f(c);u(a,lb);b._set(a,g);var h=b.Component;if(!h||!h._register(a))u(a,"endUpdate")||u(a,V)});return a};z.registerInterface=function(d){var a=this;b.__upperCaseTypes[d.toUpperCase()]=a;a.prototype.constructor=a;a.__typeName=d;a.__interface=c;return a};z.resolveInheritance=function(){var a=this;if(a.__basePrototypePending){var e=a.__baseType;e.resolveInheritance();var c=e.prototype,d=a.prototype;for(var b in c)d[b]=d[b]||c[b];delete a.__basePrototypePending}};w.getRootNamespaces=function(){return Array.clone(b.__rootNamespaces)};w.isClass=function(a){return!!(a&&a.__class)};w.isInterface=function(a){return!!(a&&a.__interface)};w.isNamespace=function(a){return!!(a&&a.__namespace)};w.parse=function(d,f){var c;if(f){c=b.__upperCaseTypes[f.getName().toUpperCase()+j+d.toUpperCase()];return c||a}if(!d)return a;var e=Type.__htClasses;if(!e)Type.__htClasses=e={};c=e[d];if(!c){c=g.eval(d);e[d]=c}return c};w.registerNamespace=function(a){Type._registerNamespace(a)};w._registerNamespace=function(h){for(var f=g,e=h.split(j),d=0,k=e.length;d<k;d++){var i=e[d],a=f[i];if(!a)a=f[i]={};if(!a.__namespace){!d&&h!=="Sys"&&b.__rootNamespaces.push(a);a.__namespace=c;a.__typeName=e.slice(0,d+1).join(j);a.getName=function(){return this.__typeName}}f=a}};w._checkDependency=function(f,a){var g=Type._registerScript._scripts,c=g?!!g[f]:d;if(typeof a!==e&&!c)throw Error.invalidOperation(String.format(b.Res.requiredScriptReferenceNotIncluded,a,f));return c};w._registerScript=function(a,e){var d=Type._registerScript._scripts;if(!d)Type._registerScript._scripts=d={};if(d[a])throw Error.invalidOperation(String.format(b.Res.scriptAlreadyLoaded,a));d[a]=c;if(e)for(var f=0,h=e.length;f<h;f++){var g=e[f];if(!Type._checkDependency(g))throw Error.invalidOperation(String.format(b.Res.scriptDependencyNotFound,a,g));}};w._registerNamespace("Sys");b.__upperCaseTypes={};b.__rootNamespaces=[b];b._isInstanceOfType=function(g,f){if(typeof f===e||f===a)return d;if(f instanceof g)return c;var b=Object.getType(f);return!!(b===g)||b.inheritsFrom&&b.inheritsFrom(g)||b.implementsInterface&&b.implementsInterface(g)};b._getBaseMethod=function(e,f,d){var c=e.getBaseType();if(c){var b=c.prototype[d];return b instanceof Function?b:a}return a};b._isDomElement=function(a){var e=d;if(typeof a.nodeType!==i){var c=a.ownerDocument||a.document||a;if(c!=a){var f=c.defaultView||c.parentWindow;e=f!=a}else e=!c.body||!b._isDomElement(c.body)}return!e};var kb=b._isBrowser=function(a){return b.Browser.agent===b.Browser[a]};q(b._ns,w._registerNamespace);delete b._ns;w=Array;w.__typeName="Array";w.__class=c;var vb=b._indexOf=function(d,f,a){if(typeof f===e)return y;var c=d.length;if(c!==0){a=a-0;if(isNaN(a))a=0;else{if(isFinite(a))a=a-a%1;if(a<0)a=Math.max(0,c+a)}for(var b=a;b<c;b++)if(d[b]===f)return b}return y};w.add=w.enqueue=function(a,b){a[a.length]=b};w.addRange=function(a,b){a.push.apply(a,b)};w.clear=function(a){a.length=0};w.clone=function(b){return b.length===1?[b[0]]:Array.apply(a,b)};w.contains=function(a,b){return vb(a,b)>=0};w.dequeue=function(a){return a.shift()};w.forEach=function(b,f,d){for(var a=0,g=b.length;a<g;a++){var c=b[a];typeof c!==e&&f.call(d,c,a,b)}};w.indexOf=vb;w.insert=function(a,b,c){a.splice(b,0,c)};w.parse=function(a){return a?g.eval("("+a+")"):[]};w.remove=function(b,c){var a=vb(b,c);a>=0&&b.splice(a,1);return a>=0};w.removeAt=function(a,b){a.splice(b,1)};Type._registerScript._scripts={"MicrosoftAjaxCore.js":c,"MicrosoftAjaxGlobalization.js":c,"MicrosoftAjaxSerialization.js":c,"MicrosoftAjaxComponentModel.js":c,"MicrosoftAjaxHistory.js":c,"MicrosoftAjaxNetwork.js":c,"MicrosoftAjaxWebServices.js":c};w=b.IDisposable=function(){};w.registerInterface("Sys.IDisposable");w=b.StringBuilder=function(b){this._parts=typeof b!==e&&b!==a&&b!==x?[b.toString()]:[];this._value={};this._len=0};w.prototype={append:function(a){this._parts.push(a);return this},appendLine:function(b){this._parts.push(typeof b===e||b===a||b===x?"\r\n":b+"\r\n");return this},clear:function(){this._parts=[];this._value={};this._len=0},isEmpty:function(){return!this._parts.length||!this.toString()},toString:function(b){var d=this;b=b||x;var c=d._parts;if(d._len!==c.length){d._value={};d._len=c.length}var i=d._value,h=i[b];if(typeof h===e){if(b!==x)for(var f=0;f<c.length;){var g=c[f];if(typeof g===e||g===x||g===a)c.splice(f,1);else f++}i[b]=h=c.join(b)}return h}};w.registerClass("Sys.StringBuilder");var nb=navigator.userAgent,K=b.Browser={InternetExplorer:{},Firefox:{},Safari:{},Opera:{},agent:a,hasDebuggerStatement:d,name:navigator.appName,version:parseFloat(navigator.appVersion),documentMode:0};if(nb.indexOf(" MSIE ")>y){K.agent=K.InternetExplorer;K.version=parseFloat(nb.match(/MSIE (\d+\.\d+)/)[1]);if(K.version>7&&document.documentMode>6)K.documentMode=document.documentMode;K.hasDebuggerStatement=c}else if(nb.indexOf(" Firefox/")>y){K.agent=K.Firefox;K.version=parseFloat(nb.match(/ Firefox\/(\d+\.\d+)/)[1]);K.name=U;K.hasDebuggerStatement=c}else if(nb.indexOf(" AppleWebKit/")>y){K.agent=K.Safari;K.version=parseFloat(nb.match(/ AppleWebKit\/(\d+(\.\d+)?)/)[1]);K.name="Safari"}else if(nb.indexOf("Opera/")>y)K.agent=K.Opera;w=b.EventArgs=function(){};w.registerClass("Sys.EventArgs");b.EventArgs.Empty=new b.EventArgs;w=b.CancelEventArgs=function(){b.CancelEventArgs.initializeBase(this);this._cancel=d};w.prototype={get_cancel:function(){return this._cancel},set_cancel:function(a){this._cancel=a}};w.registerClass("Sys.CancelEventArgs",b.EventArgs);Type.registerNamespace("Sys.UI");w=b._Debug=function(){};w.prototype={_appendConsole:function(a){typeof Debug!==e&&Debug.writeln;g.console&&g.console.log&&g.console.log(a);g.opera&&g.opera.postError(a);g.debugService&&g.debugService.trace(a)},_getTrace:function(){var c=b.get("#TraceConsole");return c&&c.tagName.toUpperCase()==="TEXTAREA"?c:a},_appendTrace:function(b){var a=this._getTrace();if(a)a.value+=b+F},"assert":function(d,a,c){if(!d){a=c&&this.assert.caller?String.format(b.Res.assertFailedCaller,a,this.assert.caller):String.format(b.Res.assertFailed,a);confirm(String.format(b.Res.breakIntoDebugger,a))&&this.fail(a)}},clearTrace:function(){var a=this._getTrace();if(a)a.value=x},fail:function(a){this._appendConsole(a);b.Browser.hasDebuggerStatement&&g.eval("debugger")},trace:function(a){this._appendConsole(a);this._appendTrace(a)},traceDump:function(a,b){this._traceDump(a,b,c)},_traceDump:function(b,l,n,c,h){var d=this;l=l||"traceDump";c=c||x;var j=c+l+": ";if(b===a){d.trace(j+W);return}switch(typeof b){case e:d.trace(j+qb);break;case i:case k:case"boolean":d.trace(j+b);break;default:if(Date.isInstanceOfType(b)||RegExp.isInstanceOfType(b)){d.trace(j+b.toString());break}if(!h)h=[];else if(Array.contains(h,b)){d.trace(j+"...");return}h.push(b);if(b==g||b===document||g.HTMLElement&&b instanceof HTMLElement||typeof b.nodeName===k){var s=b.tagName||"DomElement";if(b.id)s+=" - "+b.id;d.trace(c+l+" {"+s+"}")}else{var q=Object.getTypeName(b);d.trace(c+l+(typeof q===k?" {"+q+"}":x));if(c===x||n){c+=" ";var m,r,t,o,p;if(b instanceof Array){r=b.length;for(m=0;m<r;m++)d._traceDump(b[m],"["+m+"]",n,c,h)}else for(o in b){p=b[o];typeof p!==f&&d._traceDump(p,o,n,c,h)}}}Array.remove(h,b)}}};w.registerClass("Sys._Debug");w=b.Debug=new b._Debug;w.isDebug=d;function Jb(e,g){var d=this,c,a,m;if(g){c=d.__lowerCaseValues;if(!c){d.__lowerCaseValues=c={};var j=d.prototype;for(var l in j)c[l.toLowerCase()]=j[l]}}else c=d.prototype;function h(c){if(typeof a!==i)throw Error.argument("value",String.format(b.Res.enumInvalidValue,c,this.__typeName));}if(!d.__flags){m=g?e.toLowerCase():e;a=c[m.trim()];typeof a!==i&&h.call(d,e);return a}else{for(var k=(g?e.toLowerCase():e).split(G),n=0,f=k.length-1;f>=0;f--){var o=k[f].trim();a=c[o];typeof a!==i&&h.call(d,e.split(G)[f].trim());n|=a}return n}}function Ib(d){var f=this;if(typeof d===e||d===a)return f.__string;var g=f.prototype,b;if(!f.__flags||d===0){for(b in g)if(g[b]===d)return b}else{var c=f.__sortedValues;if(!c){c=[];for(b in g)c.push({key:b,value:g[b]});c.sort(function(a,b){return a.value-b.value});f.__sortedValues=c}var i=[],j=d;for(b=c.length-1;b>=0;b--){var k=c[b],h=k.value;if(h===0)continue;if((h&d)===h){i.push(k.key);j-=h;if(j===0)break}}if(i.length&&j===0)return i.reverse().join(", ")}return x}w=Type;w.prototype.registerEnum=function(d,f){var a=this;b.__upperCaseTypes[d.toUpperCase()]=a;for(var e in a.prototype)a[e]=a.prototype[e];a.__typeName=d;a.parse=Jb;a.__string=a.toString();a.toString=Ib;a.__flags=f;a.__enum=c};w.isEnum=function(a){return!!(a&&a.__enum)};w.isFlags=function(a){return!!(a&&a.__flags)};w=b.CollectionChange=function(g,b,e,c,f){var d=this;d.action=g;if(b)if(!(b instanceof Array))b=[b];d.newItems=b||a;if(typeof e!==i)e=y;d.newStartingIndex=e;if(c)if(!(c instanceof Array))c=[c];d.oldItems=c||a;if(typeof f!==i)f=y;d.oldStartingIndex=f};w.registerClass("Sys.CollectionChange");w=b.NotifyCollectionChangedAction=function(){};w.prototype={add:0,remove:1,reset:2};w.registerEnum("Sys.NotifyCollectionChangedAction");w=b.NotifyCollectionChangedEventArgs=function(a){this._changes=a;b.NotifyCollectionChangedEventArgs.initializeBase(this)};w.prototype={get_changes:function(){return this._changes||[]}};w.registerClass("Sys.NotifyCollectionChangedEventArgs",b.EventArgs);w=b.Observer=function(){};w.registerClass("Sys.Observer");w.makeObservable=function(a){var d=a instanceof Array,c=b.Observer;if(a.setValue===c._observeMethods.setValue)return a;c._addMethods(a,c._observeMethods);d&&c._addMethods(a,c._arrayMethods);return a};w._addMethods=function(c,a){for(var b in a)c[b]=a[b]};w._addEventHandler=function(e,a,d){b.Observer._getContext(e,c).events._addHandler(a,d)};w.addEventHandler=function(d,a,c){b.Observer._addEventHandler(d,a,c)};w._removeEventHandler=function(e,a,d){b.Observer._getContext(e,c).events._removeHandler(a,d)};w.removeEventHandler=function(d,a,c){b.Observer._removeEventHandler(d,a,c)};w.clearEventHandlers=function(d,a){b.Observer._getContext(d,c).events._removeHandlers(a)};w.raiseEvent=function(c,f,e){var d=b.Observer._getContext(c);if(!d)return;var a=d.events.getHandler(f);a&&a(c,e||b.EventArgs.Empty)};w.addPropertyChanged=function(c,a){b.Observer._addEventHandler(c,C,a)};w.removePropertyChanged=function(c,a){b.Observer._removeEventHandler(c,C,a)};w.beginUpdate=function(a){b.Observer._getContext(a,c).updating=c};w.endUpdate=function(e){var c=b.Observer._getContext(e);if(!c||!c.updating)return;c.updating=d;var g=c.dirty;c.dirty=d;if(g){if(e instanceof Array){var f=c.changes;c.changes=a;b.Observer.raiseCollectionChanged(e,f)}b.Observer.raisePropertyChanged(e,x)}};w.isUpdating=function(c){var a=b.Observer._getContext(c);return a?a.updating:d};w._setValue=function(d,o,l){for(var g,v,p=d,i=o.split(j),n=0,r=i.length-1;n<r;n++){var q=i[n];g=d[X+q];if(typeof g===f)d=g.call(d);else d=d[q];var s=typeof d;if(d===a||s===e)throw Error.invalidOperation(String.format(b.Res.nullReferenceInPath,o));}var k,h=i[r];g=d[X+h];if(typeof g===f)k=g.call(d);else k=d[h];u(d,t+h,l)||(d[h]=l);if(k!==l){var m=b.Observer._getContext(p);if(m&&m.updating){m.dirty=c;return}b.Observer.raisePropertyChanged(p,i[0])}};w.setValue=function(c,a,d){b.Observer._setValue(c,a,d)};w.raisePropertyChanged=function(c,a){b.Observer.raiseEvent(c,C,new b.PropertyChangedEventArgs(a))};w.addCollectionChanged=function(c,a){b.Observer._addEventHandler(c,J,a)};w.removeCollectionChanged=function(c,a){b.Observer._removeEventHandler(c,J,a)};w._collectionChange=function(e,d){var a=this._getContext(e);if(a&&a.updating){a.dirty=c;var b=a.changes;if(!b)a.changes=b=[d];else b.push(d)}else{this.raiseCollectionChanged(e,[d]);this.raisePropertyChanged(e,"length")}};w.add=function(a,c){var d=new b.CollectionChange(b.NotifyCollectionChangedAction.add,[c],a.length);Array.add(a,c);b.Observer._collectionChange(a,d)};w.addRange=function(a,c){var d=new b.CollectionChange(b.NotifyCollectionChangedAction.add,c,a.length);Array.addRange(a,c);b.Observer._collectionChange(a,d)};w.clear=function(c){var d=Array.clone(c);Array.clear(c);b.Observer._collectionChange(c,new b.CollectionChange(b.NotifyCollectionChangedAction.reset,a,y,d,0))};w.insert=function(a,c,d){Array.insert(a,c,d);b.Observer._collectionChange(a,new b.CollectionChange(b.NotifyCollectionChangedAction.add,[d],c))};w.remove=function(e,f){var g=Array.indexOf(e,f);if(g!==y){Array.remove(e,f);b.Observer._collectionChange(e,new b.CollectionChange(b.NotifyCollectionChangedAction.remove,a,y,[f],g));return c}return d};w.removeAt=function(d,c){if(c>y&&c<d.length){var e=d[c];Array.removeAt(d,c);b.Observer._collectionChange(d,new b.CollectionChange(b.NotifyCollectionChangedAction.remove,a,y,[e],c))}};w.raiseCollectionChanged=function(c,a){b.Observer.raiseEvent(c,J,new b.NotifyCollectionChangedEventArgs(a))};w._observeMethods={add_propertyChanged:function(a){b.Observer._addEventHandler(this,C,a)},remove_propertyChanged:function(a){b.Observer._removeEventHandler(this,C,a)},addEventHandler:function(a,c){b.Observer._addEventHandler(this,a,c)},removeEventHandler:function(a,c){b.Observer._removeEventHandler(this,a,c)},clearEventHandlers:function(a){b.Observer._getContext(this,c).events._removeHandlers(a)},get_isUpdating:function(){return b.Observer.isUpdating(this)},beginUpdate:function(){b.Observer.beginUpdate(this)},endUpdate:function(){b.Observer.endUpdate(this)},setValue:function(c,a){b.Observer._setValue(this,c,a)},raiseEvent:function(d,c){b.Observer.raiseEvent(this,d,c||a)},raisePropertyChanged:function(a){b.Observer.raiseEvent(this,C,new b.PropertyChangedEventArgs(a))}};w._arrayMethods={add_collectionChanged:function(a){b.Observer._addEventHandler(this,J,a)},remove_collectionChanged:function(a){b.Observer._removeEventHandler(this,J,a)},add:function(a){b.Observer.add(this,a)},addRange:function(a){b.Observer.addRange(this,a)},clear:function(){b.Observer.clear(this)},insert:function(a,c){b.Observer.insert(this,a,c)},remove:function(a){return b.Observer.remove(this,a)},removeAt:function(a){b.Observer.removeAt(this,a)},raiseCollectionChanged:function(a){b.Observer.raiseEvent(this,J,new b.NotifyCollectionChangedEventArgs(a))}};w._getContext=function(c,d){var b=c._observerContext;return b?b():d?(c._observerContext=this._createContext())():a};w._createContext=function(){var a={events:new b.EventHandlerList};return function(){return a}};function N(a,c,b){return a<c||a>b}function Kb(c,a){var d=new Date,e=yb(d);if(a<B){var b=Ab(d,c,e);a+=b-b%B;if(a>c.Calendar.TwoDigitYearMax)a-=B}return a}function yb(f,d){if(!d)return 0;for(var c,e=f.getTime(),b=0,g=d.length;b<g;b+=4){c=d[b+2];if(c===a||e>=c)return b}return 0}function Ab(d,b,e,c){var a=d.getFullYear();if(!c&&b.eras)a-=b.eras[e+3];return a}b._appendPreOrPostMatch=function(f,b){for(var e=0,a=d,c=0,h=f.length;c<h;c++){var g=f.charAt(c);switch(g){case"'":if(a)b.push("'");else e++;a=d;break;case"\\":a&&b.push("\\");a=!a;break;default:b.push(g);a=d}}return e};w=Date;w._expandFormat=function(a,c){c=c||"F";var d=c.length;if(d===1)switch(c){case"d":return a.ShortDatePattern;case"D":return a.LongDatePattern;case"t":return a.ShortTimePattern;case"T":return a.LongTimePattern;case"f":return a.LongDatePattern+h+a.ShortTimePattern;case"F":return a.FullDateTimePattern;case"M":case"m":return a.MonthDayPattern;case"s":return a.SortableDateTimePattern;case"Y":case"y":return a.YearMonthPattern;default:throw Error.format(b.Res.formatInvalidString);}else if(d===2&&c.charAt(0)==="%")c=c.charAt(1);return c};w._getParseRegExp=function(g,i){var h=g._parseRegExp;if(!h)g._parseRegExp=h={};else{var n=h[i];if(n)return n}var e=Date._expandFormat(g,i);e=e.replace(/([\^\$\.\*\+\?\|\[\]\(\)\{\}])/g,"\\\\$1");var d=["^"],p=[],j=0,m=0,l=Date._getTokenRegExp(),f;while((f=l.exec(e))!==a){var s=e.slice(j,f.index);j=l.lastIndex;m+=b._appendPreOrPostMatch(s,d);if(m%2){d.push(f[0]);continue}var q=f[0],t=q.length,c;switch(q){case Y:case"ddd":case Z:case"MMM":case"gg":case"g":c="(\\D+)";break;case"tt":case"t":c="(\\D*)";break;case ab:case"fff":case"ff":case"f":c="(\\d{"+t+"})";break;case"dd":case"d":case"MM":case"M":case"yy":case"y":case"HH":case"H":case"hh":case"h":case"mm":case"m":case"ss":case"s":c="(\\d\\d?)";break;case"zzz":c="([+-]?\\d\\d?:\\d{2})";break;case"zz":case"z":c="([+-]?\\d\\d?)";break;case D:c="(\\"+g.DateSeparator+")"}c&&d.push(c);p.push(f[0])}b._appendPreOrPostMatch(e.slice(j),d);d.push(o);var r=d.join(x).replace(/\s+/g,"\\s+"),k={regExp:r,groups:p};h[i]=k;return k};w._getTokenRegExp=function(){return/\/|dddd|ddd|dd|d|MMMM|MMM|MM|M|yyyy|yy|y|hh|h|HH|H|mm|m|ss|s|tt|t|fff|ff|f|zzz|zz|z|gg|g/g};w.parseLocale=function(a){return Date._parse(a,b.CultureInfo.CurrentCulture,arguments)};w.parseInvariant=function(a){return Date._parse(a,b.CultureInfo.InvariantCulture,arguments)};w._parse=function(k,g,l){var b,f,e,i,h,j=d;for(b=1,f=l.length;b<f;b++){i=l[b];if(i){j=c;e=Date._parseExact(k,i,g);if(e)return e}}if(!j){h=g._getDateTimeFormats();for(b=0,f=h.length;b<f;b++){e=Date._parseExact(k,h[b],g);if(e)return e}}return a};w._parseExact=function(w,J,s){w=w.trim();var e=s.dateTimeFormat,F=this._getParseRegExp(e,J),I=(new RegExp(F.regExp)).exec(w);if(I===a)return a;for(var H=F.groups,y=a,j=a,h=a,i=a,p=a,f=0,k,z=0,A=0,x=0,l=a,v=d,r=0,K=H.length;r<K;r++){var g=I[r+1];if(g){var G=H[r],m=G.length,c=parseInt(g,10);switch(G){case"dd":case"d":i=c;if(N(i,1,31))return a;break;case"MMM":case Z:h=s._getMonthIndex(g,m===3);if(N(h,0,11))return a;break;case"M":case"MM":h=c-1;if(N(h,0,11))return a;break;case"y":case"yy":case ab:j=m<4?Kb(e,c):c;if(N(j,0,9999))return a;break;case"h":case"hh":f=c;if(f===12)f=0;if(N(f,0,11))return a;break;case"H":case"HH":f=c;if(N(f,0,23))return a;break;case"m":case"mm":z=c;if(N(z,0,59))return a;break;case"s":case"ss":A=c;if(N(A,0,59))return a;break;case"tt":case"t":var D=g.toUpperCase();v=D===e.PMDesignator.toUpperCase();if(!v&&D!==e.AMDesignator.toUpperCase())return a;break;case"f":case"ff":case"fff":x=c*Math.pow(10,3-m);if(N(x,0,999))return a;break;case"ddd":case Y:p=s._getDayIndex(g,m===3);if(N(p,0,6))return a;break;case"zzz":var u=g.split(/:/);if(u.length!==2)return a;k=parseInt(u[0],10);if(N(k,-12,13))return a;var t=parseInt(u[1],10);if(N(t,0,59))return a;l=k*60+(g.startsWith(E)?-t:t);break;case"z":case"zz":k=c;if(N(k,-12,13))return a;l=k*60;break;case"g":case"gg":var o=g;if(!o||!e.eras)return a;o=o.toLowerCase().trim();for(var q=0,L=e.eras.length;q<L;q+=4)if(o===e.eras[q+1].toLowerCase()){y=q;break}if(y===a)return a}}}var b=new Date,C,n=e.Calendar.convert;C=n?n.fromGregorian(b)[0]:b.getFullYear();if(j===a)j=C;else if(e.eras)j+=e.eras[(y||0)+3];if(h===a)h=0;if(i===a)i=1;if(n){b=n.toGregorian(j,h,i);if(b===a)return a}else{b.setFullYear(j,h,i);if(b.getDate()!==i)return a;if(p!==a&&b.getDay()!==p)return a}if(v&&f<12)f+=12;b.setHours(f,z,A,x);if(l!==a){var B=b.getMinutes()-(l+b.getTimezoneOffset());b.setHours(b.getHours()+parseInt(B/60,10),B%60)}return b};z=w.prototype;z.format=function(a){return this._toFormattedString(a,b.CultureInfo.InvariantCulture)};z.localeFormat=function(a){return this._toFormattedString(a,b.CultureInfo.CurrentCulture)};z._toFormattedString=function(h,n){var d=this,e=n.dateTimeFormat,o=e.Calendar.convert;if(!h||!h.length||h==="i"){var a;if(n&&n.name.length)if(o)a=d._toFormattedString(e.FullDateTimePattern,n);else{var z=new Date(d.getTime()),K=yb(d,e.eras);z.setFullYear(Ab(d,e,K));a=z.toLocaleString()}else a=d.toString();return a}var A=e.eras,w=h==="s";h=Date._expandFormat(e,h);a=[];var i,J=["0","00","000"];function g(c,a){var b=c+x;return a>1&&b.length<a?(J[a-2]+b).substr(-a):b}var l,t,C=/([^d]|^)(d|dd)([^d]|$)/g;function G(){if(l||t)return l;l=C.test(h);t=c;return l}var v=0,s=Date._getTokenRegExp(),k;if(!w&&o)k=o.fromGregorian(d);for(;c;){var I=s.lastIndex,m=s.exec(h),F=h.slice(I,m?m.index:h.length);v+=b._appendPreOrPostMatch(F,a);if(!m)break;if(v%2){a.push(m[0]);continue}function p(a,b){if(k)return k[b];switch(b){case 0:return a.getFullYear();case 1:return a.getMonth();case 2:return a.getDate()}}var y=m[0],f=y.length;switch(y){case"ddd":case Y:q=f===3?e.AbbreviatedDayNames:e.DayNames;a.push(q[d.getDay()]);break;case"d":case"dd":l=c;a.push(g(p(d,2),f));break;case"MMM":case Z:var u=f===3?bb:x,r=e[u+rb],q=e[u+sb],j=p(d,1);a.push(r&&G()?r[j]:q[j]);break;case"M":case"MM":a.push(g(p(d,1)+1,f));break;case"y":case"yy":case ab:j=k?k[0]:Ab(d,e,yb(d,A),w);if(f<4)j=j%B;a.push(g(j,f));break;case"h":case"hh":i=d.getHours()%12;if(i===0)i=12;a.push(g(i,f));break;case"H":case"HH":a.push(g(d.getHours(),f));break;case"m":case"mm":a.push(g(d.getMinutes(),f));break;case"s":case"ss":a.push(g(d.getSeconds(),f));break;case"t":case"tt":j=d.getHours()<12?e.AMDesignator:e.PMDesignator;a.push(f===1?j.charAt(0):j);break;case"f":case"ff":case"fff":a.push(g(d.getMilliseconds(),3).substr(0,f));break;case"z":case"zz":i=d.getTimezoneOffset()/60;a.push((i<=0?H:E)+g(Math.floor(Math.abs(i)),f));break;case"zzz":i=d.getTimezoneOffset()/60;a.push((i<=0?H:E)+g(Math.floor(Math.abs(i)),2)+":"+g(Math.abs(d.getTimezoneOffset()%60),2));break;case"g":case"gg":e.eras&&a.push(e.eras[yb(d,A)+1]);break;case D:a.push(e.DateSeparator)}}return a.join(x)};String.localeFormat=function(){return String._toFormattedString(c,arguments)};var Hb={P:["Percent",["-n %","-n%","-%n"],["n %","n%","%n"],B],N:["Number",["(n)","-n","- n","n-","n -"],a,1],C:["Currency",["($n)","-$n","$-n","$n-","(n$)","-n$","n-$","n$-","-n $","-$ n","n $-","$ n-","$ -n","n- $","($ n)","(n $)"],["$n","n$","$ n","n $"],1]};b._toFormattedString=function(f,q){var i=this;if(!f||!f.length||f==="i")return q&&q.name.length?i.toLocaleString():i.toString();function n(a,c,d){for(var b=a.length;b<c;b++)a=d?"0"+a:a+"0";return a}function s(l,i,o,q,s){var k=o[0],m=1,r=Math.pow(10,i),p=Math.round(l*r)/r;if(!isFinite(p))p=l;l=p;var b=l+x,a=x,e,g=b.split(/e/i);b=g[0];e=g.length>1?parseInt(g[1]):0;g=b.split(j);b=g[0];a=g.length>1?g[1]:x;var t;if(e>0){a=n(a,e,d);b+=a.slice(0,e);a=a.substr(e)}else if(e<0){e=-e;b=n(b,e+1,c);a=b.slice(-e,b.length)+a;b=b.slice(0,-e)}if(i>0)a=s+(a.length>i?a.slice(0,i):n(a,i,d));else a=x;var f=b.length-1,h=x;while(f>=0){if(k===0||k>f)return b.slice(0,f+1)+(h.length?q+h+a:a);h=b.slice(f-k+1,f+1)+(h.length?q+h:x);f-=k;if(m<o.length){k=o[m];m++}}return b.slice(0,f+1)+q+h+a}var a=q.numberFormat,g=Math.abs(i);f=f||"D";var h=y;if(f.length>1)h=parseInt(f.slice(1),10);var m,e=f.charAt(0).toUpperCase();switch(e){case"D":m="n";if(h!==y)g=n(x+g,h,c);if(i<0)g=-g;break;case"C":case"N":case"P":e=Hb[e];var k=e[0];m=i<0?e[1][a[k+"NegativePattern"]]:e[2]?e[2][a[k+"PositivePattern"]]:"n";if(h===y)h=a[k+"DecimalDigits"];g=s(Math.abs(i)*e[3],h,a[k+"GroupSizes"],a[k+"GroupSeparator"],a[k+"DecimalSeparator"]);break;default:throw Error.format(b.Res.formatBadFormatSpecifier);}for(var r=/n|\$|-|%/g,l=x;c;){var t=r.lastIndex,p=r.exec(m);l+=m.slice(t,p?p.index:m.length);if(!p)break;switch(p[0]){case"n":l+=g;break;case o:l+=a.CurrencySymbol;break;case E:if(/[1-9]/.test(g))l+=a.NegativeSign;break;case"%":l+=a.PercentSymbol}}return l};w=Number;w.parseLocale=function(a){return Number._parse(a,b.CultureInfo.CurrentCulture)};w.parseInvariant=function(a){return Number._parse(a,b.CultureInfo.InvariantCulture)};w._parse=function(b,t){b=b.trim();if(b.match(/^[+-]?infinity$/i))return parseFloat(b);if(b.match(/^0x[a-f0-9]+$/i))return parseInt(b);var c=t.numberFormat,i=Number._parseNumberNegativePattern(b,c,c.NumberNegativePattern),k=i[0],f=i[1];if(k===x&&c.NumberNegativePattern!==1){i=Number._parseNumberNegativePattern(b,c,1);k=i[0];f=i[1]}if(k===x)k=H;var m,e,g=f.indexOf("e");if(g<0)g=f.indexOf("E");if(g<0){e=f;m=a}else{e=f.substr(0,g);m=f.substr(g+1)}var d,n,s=c.NumberDecimalSeparator,q=e.indexOf(s);if(q<0){d=e;n=a}else{d=e.substr(0,q);n=e.substr(q+s.length)}var p=c.NumberGroupSeparator;d=d.split(p).join(x);var r=p.replace(/\u00A0/g,h);if(p!==r)d=d.split(r).join(x);var o=k+d;if(n!==a)o+=j+n;if(m!==a){var l=Number._parseNumberNegativePattern(m,c,1);if(l[0]===x)l[0]=H;o+="e"+l[0]+l[1]}return o.match(/^[+-]?\d*\.?\d*(e[+-]?\d+)?$/)?parseFloat(o):Number.NaN};w._parseNumberNegativePattern=function(a,d,e){var b=d.NegativeSign,c=d.PositiveSign;switch(e){case 4:b=h+b;c=h+c;case 3:if(a.endsWith(b))return[E,a.substr(0,a.length-b.length)];else if(a.endsWith(c))return[H,a.substr(0,a.length-c.length)];break;case 2:b+=h;c+=h;case 1:if(a.startsWith(b))return[E,a.substr(b.length)];else if(a.startsWith(c))return[H,a.substr(c.length)];break;case 0:if(a.startsWith("(")&&a.endsWith(")"))return[E,a.substr(1,a.length-2)]}return[x,a]};z=w.prototype;z.format=function(a){return b._toFormattedString.call(this,a,b.CultureInfo.InvariantCulture)};z.localeFormat=function(a){return b._toFormattedString.call(this,a,b.CultureInfo.CurrentCulture)};function Cb(a){return a.split(" ").join(h).toUpperCase()}function zb(b){var a=[];q(b,function(b,c){a[c]=Cb(b)});return a}function Eb(c){var b={};v(c,function(c,d){b[d]=c instanceof Array?c.length===1?[c]:Array.apply(a,c):typeof c===p?Eb(c):c});return b}w=b.CultureInfo=function(c,b,a){this.name=c;this.numberFormat=b;this.dateTimeFormat=a};w.prototype={_getDateTimeFormats:function(){var b=this._dateTimeFormats;if(!b){var a=this.dateTimeFormat;this._dateTimeFormats=b=[a.MonthDayPattern,a.YearMonthPattern,a.ShortDatePattern,a.ShortTimePattern,a.LongDatePattern,a.LongTimePattern,a.FullDateTimePattern,a.RFC1123Pattern,a.SortableDateTimePattern,a.UniversalSortableDateTimePattern]}return b},_getMonthIndex:function(b,g){var a=this,c=g?"_upperAbbrMonths":"_upperMonths",e=c+"Genitive",h=a[c];if(!h){var f=g?bb:x;a[c]=zb(a.dateTimeFormat[f+sb]);a[e]=zb(a.dateTimeFormat[f+rb])}b=Cb(b);var d=vb(a[c],b);if(d<0)d=vb(a[e],b);return d},_getDayIndex:function(e,c){var a=this,b=c?"_upperAbbrDays":"_upperDays",d=a[b];if(!d)a[b]=zb(a.dateTimeFormat[(c?bb:x)+"DayNames"]);return vb(a[b],Cb(e))}};w.registerClass("Sys.CultureInfo");w._parse=function(a){var c=a.dateTimeFormat;if(c&&!c.eras)c.eras=a.eras;return new b.CultureInfo(a.name,a.numberFormat,c)};w._setup=function(){var c=this,b=g.__cultureInfo,f=["January","February","March","April","May","June","July","August","September","October","November","December",x],e=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec",x],h={name:x,numberFormat:{CurrencyDecimalDigits:2,CurrencyDecimalSeparator:j,CurrencyGroupSizes:[3],NumberGroupSizes:[3],PercentGroupSizes:[3],CurrencyGroupSeparator:G,CurrencySymbol:"¤",NaNSymbol:"NaN",CurrencyNegativePattern:0,NumberNegativePattern:1,PercentPositivePattern:0,PercentNegativePattern:0,NegativeInfinitySymbol:"-Infinity",NegativeSign:E,NumberDecimalDigits:2,NumberDecimalSeparator:j,NumberGroupSeparator:G,CurrencyPositivePattern:0,PositiveInfinitySymbol:"Infinity",PositiveSign:H,PercentDecimalDigits:2,PercentDecimalSeparator:j,PercentGroupSeparator:G,PercentSymbol:"%",PerMilleSymbol:"‰",NativeDigits:["0","1","2","3","4","5","6","7","8","9"],DigitSubstitution:1},dateTimeFormat:{AMDesignator:"AM",Calendar:{MinSupportedDateTime:"@-62135568000000@",MaxSupportedDateTime:"@253402300799999@",AlgorithmType:1,CalendarType:1,Eras:[1],TwoDigitYearMax:2029},DateSeparator:D,FirstDayOfWeek:0,CalendarWeekRule:0,FullDateTimePattern:"dddd, dd MMMM yyyy HH:mm:ss",LongDatePattern:"dddd, dd MMMM yyyy",LongTimePattern:"HH:mm:ss",MonthDayPattern:"MMMM dd",PMDesignator:"PM",RFC1123Pattern:"ddd, dd MMM yyyy HH':'mm':'ss 'GMT'",ShortDatePattern:"MM/dd/yyyy",ShortTimePattern:"HH:mm",SortableDateTimePattern:"yyyy'-'MM'-'dd'T'HH':'mm':'ss",TimeSeparator:":",UniversalSortableDateTimePattern:"yyyy'-'MM'-'dd HH':'mm':'ss'Z'",YearMonthPattern:"yyyy MMMM",AbbreviatedDayNames:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],ShortestDayNames:["Su","Mo","Tu","We","Th","Fr","Sa"],DayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],AbbreviatedMonthNames:e,MonthNames:f,NativeCalendarName:"Gregorian Calendar",AbbreviatedMonthGenitiveNames:Array.clone(e),MonthGenitiveNames:Array.clone(f)},eras:[1,"A.D.",a,0]};c.InvariantCulture=c._parse(h);switch(typeof b){case k:b=g.eval("("+b+")");case p:c.CurrentCulture=c._parse(b);delete __cultureInfo;break;default:b=Eb(h);b.name="en-US";b.numberFormat.CurrencySymbol=o;var d=b.dateTimeFormat;d.FullDatePattern="dddd, MMMM dd, yyyy h:mm:ss tt";d.LongDatePattern="dddd, MMMM dd, yyyy";d.LongTimePattern="h:mm:ss tt";d.ShortDatePattern="M/d/yyyy";d.ShortTimePattern="h:mm tt";d.YearMonthPattern="MMMM, yyyy";c.CurrentCulture=c._parse(b)}};w._setup();Type.registerNamespace("Sys.Serialization");w=b.Serialization.JavaScriptSerializer=function(){};w.registerClass("Sys.Serialization.JavaScriptSerializer");w._esc={charsRegExs:{'"':/\"/g,"\\":/\\/g},chars:["\\",'"'],dateRegEx:/(^|[^\\])\"\\\/Date\((-?[0-9]+)(?:[a-zA-Z]|(?:\+|-)[0-9]{4})?\)\\\/\"/g,escapeChars:{"\\":"\\\\",'"':'\\"',"\b":"\\b","\t":"\\t","\n":"\\n","\f":"\\f","\r":"\\r"},escapeRegExG:/[\"\\\x00-\x1F]/g,escapeRegEx:/[\"\\\x00-\x1F]/i,jsonRegEx:/[^,:{}\[\]0-9.\-+Eaeflnr-u \n\r\t]/g,jsonStringRegEx:/\"(\\.|[^\"\\])*\"/g};w._init=function(){for(var d=this._esc,g=d.chars,f=d.charsRegExs,e=d.escapeChars,b=0;b<32;b++){var a=String.fromCharCode(b);g[b+2]=a;f[a]=new RegExp(a,"g");e[a]=e[a]||"\\u"+("000"+b.toString(16)).slice(-4)}this._load=c};w._serializeNumberWithBuilder=function(a,c){if(!isFinite(a))throw Error.invalidOperation(b.Res.cannotSerializeNonFiniteNumbers);c.append(String(a))};w._serializeStringWithBuilder=function(a,e){e.append('"');var b=this._esc;if(b.escapeRegEx.test(a)){!this._load&&this._init();if(a.length<128)a=a.replace(b.escapeRegExG,function(a){return b.escapeChars[a]});else for(var d=0;d<34;d++){var c=b.chars[d];if(a.indexOf(c)!==y){var f=b.escapeChars[c];a=kb("Opera")||kb(U)?a.split(c).join(f):a.replace(b.charsRegExs[c],f)}}}e.append(a).append('"')};w._serializeWithBuilder=function(b,a,q,n){var h=this,g;switch(typeof b){case p:if(b)if(Number.isInstanceOfType(b))h._serializeNumberWithBuilder(b,a);else if(Boolean.isInstanceOfType(b))a.append(b);else if(String.isInstanceOfType(b))h._serializeStringWithBuilder(b,a);else if(b instanceof Array){a.append("[");for(g=0;g<b.length;++g){g&&a.append(G);h._serializeWithBuilder(b[g],a,d,n)}a.append("]")}else{if(Date.isInstanceOfType(b)){a.append('"\\/Date(').append(b.getTime()).append(')\\/"');break}var j=[],l=0;for(var m in b)if(m.charAt(0)!==o)if(m==="__type"&&l){j[l++]=j[0];j[0]=m}else j[l++]=m;q&&j.sort();a.append("{");var r;for(g=0;g<l;g++){var t=j[g],s=b[t],u=typeof s;if(u!==e&&u!==f){r&&a.append(G);h._serializeWithBuilder(t,a,q,n);a.append(":");h._serializeWithBuilder(s,a,q,n);r=c}}a.append("}")}else a.append(W);break;case i:h._serializeNumberWithBuilder(b,a);break;case k:h._serializeStringWithBuilder(b,a);break;case"boolean":a.append(b);break;default:a.append(W)}};w.serialize=function(c){var a=new b.StringBuilder;b.Serialization.JavaScriptSerializer._serializeWithBuilder(c,a,d);return a.toString()};w.deserialize=function(d,f){if(!d.length)throw Error.argument("data",b.Res.cannotDeserializeEmptyString);var h,c=b.Serialization.JavaScriptSerializer._esc;try{var e=d.replace(c.dateRegEx,"$1new Date($2)");if(f&&c.jsonRegEx.test(e.replace(c.jsonStringRegEx,x)))throw a;return g.eval("("+e+")")}catch(h){throw Error.argument("data",b.Res.cannotDeserializeInvalidJson);}};Type.registerNamespace("Sys.UI");w=b.EventHandlerList=function(){this._list={}};w.prototype={_addHandler:function(b,a){Array.add(this._getEvent(b,c),a)},addHandler:function(b,a){this._addHandler(b,a)},_removeHandler:function(c,b){var a=this._getEvent(c);if(!a)return;Array.remove(a,b)},_removeHandlers:function(b){if(!b)this._list={};else{var a=this._getEvent(b);if(!a)return;a.length=0}},removeHandler:function(b,a){this._removeHandler(b,a)},getHandler:function(c){var b=this._getEvent(c);if(!b||!b.length)return a;b=Array.clone(b);return function(c,d){for(var a=0,e=b.length;a<e;a++)b[a](c,d)}},_getEvent:function(c,d){var b=this._list[c];if(!b){if(!d)return a;this._list[c]=b=[]}return b}};w.registerClass("Sys.EventHandlerList");w=b.CommandEventArgs=function(f,c,d,e){var a=this;b.CommandEventArgs.initializeBase(a);a._commandName=f;a._commandArgument=c;a._commandSource=d;a._commandEvent=e};w.prototype={get_commandName:function(){return this._commandName||a},get_commandArgument:function(){return this._commandArgument},get_commandSource:function(){return this._commandSource||a},get_commandEvent:function(){return this._commandEvent||a}};w.registerClass("Sys.CommandEventArgs",b.CancelEventArgs);w=b.INotifyPropertyChange=function(){};w.registerInterface("Sys.INotifyPropertyChange");w=b.PropertyChangedEventArgs=function(a){b.PropertyChangedEventArgs.initializeBase(this);this._propertyName=a};w.prototype={get_propertyName:function(){return this._propertyName}};w.registerClass("Sys.PropertyChangedEventArgs",b.EventArgs);w=b.INotifyDisposing=function(){};w.registerInterface("Sys.INotifyDisposing");w=b.Component=function(){b.Application&&b.Application.registerDisposableObject(this)};w.prototype={get_events:function(){return b.Observer._getContext(this,c).events},get_id:function(){return this._id||a},set_id:function(a){this._id=a},get_isInitialized:function(){return!!this._initialized},get_isUpdating:function(){return!!this._updating},add_disposing:function(a){this._addHandler(cb,a)},remove_disposing:function(a){this._removeHandler(cb,a)},add_propertyChanged:function(a){this._addHandler(C,a)},remove_propertyChanged:function(a){this._removeHandler(C,a)},_addHandler:function(a,c){b.Observer.addEventHandler(this,a,c)},_removeHandler:function(a,c){b.Observer.removeEventHandler(this,a,c)},beginUpdate:function(){this._updating=c},dispose:function(){var a=this;b.Observer.raiseEvent(a,cb);b.Observer.clearEventHandlers(a);b.Application.unregisterDisposableObject(a);b.Application.removeComponent(a)},endUpdate:function(){var a=this;a._updating=d;!a._initialized&&a.initialize();a.updated()},initialize:function(){this._initialized=c},raisePropertyChanged:function(a){b.Observer.raisePropertyChanged(this,a)},updated:function(){}};w.registerClass("Sys.Component",a,b.IDisposable,b.INotifyPropertyChange,b.INotifyDisposing);w._setProperties=function(c,l){var e,m=Object.getType(c),h=m===Object||m===b.UI.DomElement,k=b.Component.isInstanceOfType(c)&&!c.get_isUpdating();k&&c.beginUpdate();for(var g in l){var d=l[g],i=h?a:c[X+g];if(h||typeof i!==f){var n=c[g];if(!d||typeof d!==p||h&&!n)c[g]=d;else this._setProperties(n,d)}else{var o=c[t+g];if(typeof o===f)o.apply(c,[d]);else if(d instanceof Array){e=i.apply(c);for(var j=0,q=e.length,r=d.length;j<r;j++,q++)e[q]=d[j]}else if(typeof d===p&&Object.getType(d)===Object){e=i.apply(c);this._setProperties(e,d)}}}k&&c.endUpdate()};w._setReferences=function(e,d){var a,c={};v(d,function(d,e){c[e]=a=$find(d);if(!a)throw Error.invalidOperation(String.format(b.Res.referenceNotFound,d));});b._set(e,c)};$create=w.create=function(g,d,c,h,e){var a=e?new g(e):new g;u(a,lb);d&&b.Component._setProperties(a,d);if(c)for(var f in c)a["add_"+f](c[f]);b.Component._register(a,h);return a};w._register=function(a,d,f){var g;if(b.Component.isInstanceOfType(a)){g=c;var e=b.Application;a.get_id()&&e.addComponent(a);if(e.get_isCreatingComponents()){e._createdComponents.push(a);if(d)e._addComponentToSecondPass(a,d);else!f&&a.endUpdate()}else{d&&b.Component._setReferences(a,d);!f&&a.endUpdate()}}return g};b._getComponent=function(d,c){var a=b.Application.findComponent(c);a&&d.push(a)};b._2Pass=function(d){var a=b.Application,c=!a.get_isCreatingComponents();c&&a.beginCreateComponents();q(d,function(a){a()});c&&a.endCreateComponents()};w=b.UI.MouseButton=function(){};w.prototype={leftButton:0,middleButton:1,rightButton:2};w.registerEnum("Sys.UI.MouseButton");w=b.UI.Key=function(){};w.prototype={backspace:8,tab:9,enter:13,esc:27,space:32,pageUp:33,pageDown:34,end:35,home:36,left:37,up:38,right:39,down:40,del:127};w.registerEnum("Sys.UI.Key");w=b.UI.Point=function(a,b){this.x=a;this.y=b};w.registerClass("Sys.UI.Point");w=b.UI.Bounds=function(d,e,c,b){var a=this;a.x=d;a.y=e;a.height=b;a.width=c};w.registerClass("Sys.UI.Bounds");w=b.UI.DomEvent=function(h){var c=this,a=h,d=c.type=a.type.toLowerCase();c.rawEvent=a;c.altKey=a.altKey;if(typeof a.button!==e)c.button=typeof a.which!==e?a.button:a.button===4?b.UI.MouseButton.middleButton:a.button===2?b.UI.MouseButton.rightButton:b.UI.MouseButton.leftButton;if(d==="keypress")c.charCode=a.charCode||a.keyCode;else if(a.keyCode&&a.keyCode===46)c.keyCode=127;else c.keyCode=a.keyCode;c.clientX=a.clientX;c.clientY=a.clientY;c.ctrlKey=a.ctrlKey;c.target=a.target||a.srcElement;if(!d.startsWith("key"))if(typeof a.offsetX!==e&&typeof a.offsetY!==e){c.offsetX=a.offsetX;c.offsetY=a.offsetY}else if(c.target&&c.target.nodeType!==3&&typeof a.clientX===i){var f=b.UI.DomElement.getLocation(c.target),g=b.UI.DomElement._getWindow(c.target);c.offsetX=(g.pageXOffset||0)+a.clientX-f.x;c.offsetY=(g.pageYOffset||0)+a.clientY-f.y}c.screenX=a.screenX;c.screenY=a.screenY;c.shiftKey=a.shiftKey};w.prototype={preventDefault:function(){var a=this.rawEvent;if(a.preventDefault)a.preventDefault();else if(g.event)a.returnValue=d},stopPropagation:function(){var a=this.rawEvent;if(a.stopPropagation)a.stopPropagation();else if(g.event)a.cancelBubble=c}};w.registerClass("Sys.UI.DomEvent");$addHandler=w.addHandler=function(f,a,c,e){b.query(f).each(function(){var f=this,i=f.nodeType;if(i===3||i===2||i===8)return;if(!f._events)f._events={};var h=f._events[a];if(!h)f._events[a]=h=[];var j=f,g;if(f.addEventListener){g=function(a){return c.call(j,new b.UI.DomEvent(a))};f.addEventListener(a,g,d)}else if(f.attachEvent){g=function(){var d,a={};try{a=b.UI.DomElement._getWindow(j).event}catch(d){}return c.call(j,new b.UI.DomEvent(a))};f.attachEvent(r+a,g)}h.push({handler:c,browserHandler:g,autoRemove:e});e&&b.UI.DomElement._onDispose(f,b.UI.DomEvent._disposeHandlers)})};b.registerPlugin({name:"addHandler",dom:c,plugin:function(c,d,a){b.UI.DomEvent.addHandler(this.get(),c,d,a);return this}});$addHandlers=w.addHandlers=function(f,c,a,e){b.query(f).each(function(){var b=this.nodeType;if(b===3||b===2||b===8)return;for(var g in c){var f=c[g];if(a)f=Function.createDelegate(a,f);$addHandler(this,g,f,e||d)}})};b.registerPlugin({name:"addHandlers",dom:c,plugin:function(d,a,c){b.UI.DomEvent.addHandlers(this.get(),d,a,c);return this}});$clearHandlers=w.clearHandlers=function(a){b.query(a).each(function(){var a=this.nodeType;if(a===3||a===2||a===8)return;b.UI.DomEvent._clearHandlers(this,d)})};b.registerPlugin({name:"clearHandlers",dom:c,plugin:function(){b.UI.DomEvent.clearHandlers(this.get());return this}});w._clearHandlers=function(c,a){b.query(c).each(function(){var b=this.nodeType;if(b===3||b===2||b===8)return;var c=this._events;if(c)for(var g in c)for(var e=c[g],d=e.length-1;d>=0;d--){var f=e[d];(!a||f.autoRemove)&&$removeHandler(this,g,f.handler)}})};w._disposeHandlers=function(){b.UI.DomEvent._clearHandlers(this,c)};$removeHandler=w.removeHandler=function(c,a,d){b.UI.DomEvent._removeHandler(c,a,d)};w._removeHandler=function(e,c,f){b.query(e).each(function(){var b=this,i=b.nodeType;if(i===3||i===2||i===8)return;for(var h=a,g=b._events[c],e=0,j=g.length;e<j;e++)if(g[e].handler===f){h=g[e].browserHandler;break}if(b.removeEventListener)b.removeEventListener(c,h,d);else b.detachEvent&&b.detachEvent(r+c,h);g.splice(e,1)})};b.registerPlugin({name:"removeHandler",dom:c,plugin:function(a,c){b.UI.DomEvent.removeHandler(this.get(),a,c);return this}});w=b.UI.DomElement=function(){};w.registerClass("Sys.UI.DomElement");w.addCssClass=function(a,c){if(!b.UI.DomElement.containsCssClass(a,c))if(a.className===x)a.className=c;else a.className+=h+c};w.containsCssClass=function(b,a){return Array.contains(b.className.split(h),a)};w.getBounds=function(a){var c=b.UI.DomElement.getLocation(a);return new b.UI.Bounds(c.x,c.y,a.offsetWidth||0,a.offsetHeight||0)};$get=w.getElementById=function(d,c){return b.get(n+d,c||a)};if(document.documentElement.getBoundingClientRect)w.getLocation=function(d){if(d.self||d.nodeType===9||d===document.documentElement||d.parentNode===d.ownerDocument.documentElement)return new b.UI.Point(0,0);var j=d.getBoundingClientRect();if(!j)return new b.UI.Point(0,0);var n,e=d.ownerDocument,i=e.documentElement,f=Math.round(j.left)+(i.scrollLeft||(e.body?e.body.scrollLeft:0)),g=Math.round(j.top)+(i.scrollTop||(e.body?e.body.scrollTop:0));if(kb(db)){try{var h=d.ownerDocument.parentWindow.frameElement||a;if(h){h=h.frameBorder;var k=h==="0"||h==="no"?2:0;f+=k;g+=k}}catch(n){}if(b.Browser.version===7&&!document.documentMode){var l=document.body,m=l.getBoundingClientRect(),c=(m.right-m.left)/l.clientWidth;c=Math.round(c*B);c=(c-c%5)/B;if(!isNaN(c)&&c!==1){f=Math.round(f/c);g=Math.round(g/c)}}if((document.documentMode||0)<8){f-=i.clientLeft;g-=i.clientTop}}return new b.UI.Point(f,g)};else if(kb("Safari"))w.getLocation=function(e){if(e.window&&e.window===e||e.nodeType===9)return new b.UI.Point(0,0);for(var f=0,g=0,k=a,i=a,d,c=e;c;k=c,i=d,c=c.offsetParent){d=b.UI.DomElement._getCurrentStyle(c);var h=c.tagName?c.tagName.toUpperCase():a;if((c.offsetLeft||c.offsetTop)&&(h!==O||(!i||i.position!==I))){f+=c.offsetLeft;g+=c.offsetTop}if(k&&b.Browser.version>=3){f+=parseInt(d.borderLeftWidth);g+=parseInt(d.borderTopWidth)}}d=b.UI.DomElement._getCurrentStyle(e);var l=d?d.position:a;if(l!==I)for(c=e.parentNode;c;c=c.parentNode){h=c.tagName?c.tagName.toUpperCase():a;if(h!==O&&h!==eb&&(c.scrollLeft||c.scrollTop)){f-=c.scrollLeft||0;g-=c.scrollTop||0}d=b.UI.DomElement._getCurrentStyle(c);var j=d?d.position:a;if(j&&j===I)break}return new b.UI.Point(f,g)};else w.getLocation=function(f){if(f.window&&f.window===f||f.nodeType===9)return new b.UI.Point(0,0);for(var g=0,h=0,j=a,i=a,d=a,c=f;c;j=c,i=d,c=c.offsetParent){var e=c.tagName?c.tagName.toUpperCase():a;d=b.UI.DomElement._getCurrentStyle(c);if((c.offsetLeft||c.offsetTop)&&!(e===O&&(!i||i.position!==I))){g+=c.offsetLeft;h+=c.offsetTop}if(j!==a&&d){if(e!=="TABLE"&&e!=="TD"&&e!==eb){g+=parseInt(d.borderLeftWidth)||0;h+=parseInt(d.borderTopWidth)||0}if(e==="TABLE"&&(d.position==="relative"||d.position===I)){g+=parseInt(d.marginLeft)||0;h+=parseInt(d.marginTop)||0}}}d=b.UI.DomElement._getCurrentStyle(f);var k=d?d.position:a;if(k!==I)for(c=f.parentNode;c;c=c.parentNode){e=c.tagName?c.tagName.toUpperCase():a;if(e!==O&&e!==eb&&(c.scrollLeft||c.scrollTop)){g-=c.scrollLeft||0;h-=c.scrollTop||0;d=b.UI.DomElement._getCurrentStyle(c);if(d){g+=parseInt(d.borderLeftWidth)||0;h+=parseInt(d.borderTopWidth)||0}}}return new b.UI.Point(g,h)};w.isDomElement=function(a){return b._isDomElement(a)};w.removeCssClass=function(d,c){var a=h+d.className+h,b=a.indexOf(h+c+h);if(b>=0)d.className=(a.substr(0,b)+h+a.substring(b+c.length+1,a.length)).trim()};w.resolveElement=function(d,e){var c=d;if(!c)return a;if(typeof c===k)c=b.get(n+c,e);return c};w.raiseBubbleEvent=function(c,d){var b=c;while(b){var a=b.control;if(a&&a.onBubbleEvent&&a.raiseBubbleEvent){!a.onBubbleEvent(c,d)&&a._raiseBubbleEvent(c,d);return}b=b.parentNode}};w._ensureGet=function(a,c){return b.get(a,c)};w.setLocation=function(b,c,d){var a=b.style;a.position=I;a.left=c+"px";a.top=d+"px"};w.toggleCssClass=function(c,a){if(b.UI.DomElement.containsCssClass(c,a))b.UI.DomElement.removeCssClass(c,a);else b.UI.DomElement.addCssClass(c,a)};w.getVisibilityMode=function(a){return a._visibilityMode===b.UI.VisibilityMode.hide?b.UI.VisibilityMode.hide:b.UI.VisibilityMode.collapse};w.setVisibilityMode=function(a,c){b.UI.DomElement._ensureOldDisplayMode(a);if(a._visibilityMode!==c){a._visibilityMode=c;if(b.UI.DomElement.getVisible(a)===d)a.style.display=c===b.UI.VisibilityMode.hide?a._oldDisplayMode:P}};w.getVisible=function(d){var a=d.currentStyle||b.UI.DomElement._getCurrentStyle(d);return a?a.visibility!=="hidden"&&a.display!==P:c};w.setVisible=function(a,c){if(c!==b.UI.DomElement.getVisible(a)){b.UI.DomElement._ensureOldDisplayMode(a);var d=a.style;d.visibility=c?"visible":"hidden";d.display=c||a._visibilityMode===b.UI.VisibilityMode.hide?a._oldDisplayMode:P}};w.setCommand=function(d,f,a,e){b.UI.DomEvent.addHandler(d,"click",function(d){var c=e||this;b.UI.DomElement.raiseBubbleEvent(c,new b.CommandEventArgs(f,a,this,d))},c)};b.registerPlugin({name:"setCommand",dom:c,plugin:function(e,a,d){return this.addHandler("click",function(f){var c=d||this;b.UI.DomElement.raiseBubbleEvent(c,new b.CommandEventArgs(e,a,this,f))},c)}});w._ensureOldDisplayMode=function(b){if(!b._oldDisplayMode){var e=b.currentStyle||this._getCurrentStyle(b);b._oldDisplayMode=e?e.display:a;if(!b._oldDisplayMode||b._oldDisplayMode===P){var d=b.tagName,c="inline";if(/^(DIV|P|ADDRESS|BLOCKQUOTE|BODY|COL|COLGROUP|DD|DL|DT|FIELDSET|FORM|H1|H2|H3|H4|H5|H6|HR|IFRAME|LEGEND|OL|PRE|TABLE|TD|TH|TR|UL)$/i.test(d))c="block";else if(d.toUpperCase()==="LI")c="list-item";b._oldDisplayMode=c}}};w._getWindow=function(a){var b=a.ownerDocument||a.document||a;return b.defaultView||b.parentWindow};w._getCurrentStyle=function(b){if(b.nodeType===3)return a;var c=this._getWindow(b);if(b.documentElement)b=b.documentElement;var d=c&&b!==c&&c.getComputedStyle?c.getComputedStyle(b,a):b.currentStyle||b.style;return d};w._onDispose=function(a,e){var c,d=a.dispose;if(d!==b.UI.DomElement._dispose){a.dispose=b.UI.DomElement._dispose;a.__msajaxdispose=c=[];typeof d===f&&c.push(d)}else c=a.__msajaxdispose;c.push(e)};w._dispose=function(){var b=this,c=b.__msajaxdispose;if(c)for(var d=0,e=c.length;d<e;d++)c[d].apply(b);b.control&&typeof b.control.dispose===f&&b.control.dispose();b.__msajaxdispose=a;b.dispose=a};w=b.IContainer=function(){};w.registerInterface("Sys.IContainer");w=b.ApplicationLoadEventArgs=function(c,a){b.ApplicationLoadEventArgs.initializeBase(this);this._components=c;this._isPartialLoad=a};w.prototype={get_components:function(){return this._components},get_isPartialLoad:function(){return this._isPartialLoad}};w.registerClass("Sys.ApplicationLoadEventArgs",b.EventArgs);w=b._Application=function(){var a=this;b._Application.initializeBase(a);a._disposableObjects=[];a._components={};a._createdComponents=[];a._secondPassComponents=[];a._unloadHandlerDelegate=Function.createDelegate(a,a._unloadHandler);b.UI.DomEvent.addHandler(g,L,a._unloadHandlerDelegate)};w.prototype={_deleteCount:0,get_isCreatingComponents:function(){return!!this._creatingComponents},get_isDisposing:function(){return!!this._disposing},add_init:function(a){if(this._initialized)a(this,b.EventArgs.Empty);else this._addHandler(fb,a)},remove_init:function(a){this._removeHandler(fb,a)},add_load:function(a){this._addHandler(l,a)},remove_load:function(a){this._removeHandler(l,a)},add_unload:function(a){this._addHandler(L,a)},remove_unload:function(a){this._removeHandler(L,a)},addComponent:function(a){this._components[a.get_id()]=a},beginCreateComponents:function(){this._creatingComponents=c},dispose:function(){var a=this;if(!a._disposing){a._disposing=c;if(a._timerCookie){g.clearTimeout(a._timerCookie);delete a._timerCookie}var f=a._endRequestHandler,d=a._beginRequestHandler;if(f||d){var k=b.WebForms.PageRequestManager.getInstance();f&&k.remove_endRequest(f);d&&k.remove_beginRequest(d);delete a._endRequestHandler;delete a._beginRequestHandler}g.pageUnload&&g.pageUnload(a,b.EventArgs.Empty);b.Observer.raiseEvent(a,L);for(var i=Array.clone(a._disposableObjects),h=0,m=i.length;h<m;h++){var j=i[h];typeof j!==e&&j.dispose()}a._disposableObjects.length=0;b.UI.DomEvent.removeHandler(g,L,a._unloadHandlerDelegate);if(b._ScriptLoader){var l=b._ScriptLoader.getInstance();l&&l.dispose()}b._Application.callBaseMethod(a,gb)}},disposeElement:function(c,m){var i=this;if(c.nodeType===1){for(var h,d,b,k=c.getElementsByTagName("*"),j=k.length,l=new Array(j),e=0;e<j;e++)l[e]=k[e];for(e=j-1;e>=0;e--){var g=l[e];h=g.dispose;if(h&&typeof h===f)g.dispose();else{d=g.control;d&&typeof d.dispose===f&&d.dispose()}b=g._behaviors;b&&i._disposeComponents(b);b=g._components;if(b){i._disposeComponents(b);g._components=a}}if(!m){h=c.dispose;if(h&&typeof h===f)c.dispose();else{d=c.control;d&&typeof d.dispose===f&&d.dispose()}b=c._behaviors;b&&i._disposeComponents(b);b=c._components;if(b){i._disposeComponents(b);c._components=a}}}},endCreateComponents:function(){for(var c=this._secondPassComponents,a=0,g=c.length;a<g;a++){var f=c[a],e=f.component;b.Component._setReferences(e,f.references);e.endUpdate()}this._secondPassComponents=[];this._creatingComponents=d},findComponent:function(d,c){return c?b.IContainer.isInstanceOfType(c)?c.findComponent(d):c[d]||a:b.Application._components[d]||a},getComponents:function(){var c=[],a=this._components;for(var b in a)a.hasOwnProperty(b)&&c.push(a[b]);return c},initialize:function(){g.setTimeout(Function.createDelegate(this,this._doInitialize),0)},_doInitialize:function(){var a=this;if(!a.get_isInitialized()&&!a._disposing){b._Application.callBaseMethod(a,V);a._raiseInit();if(a.get_stateString){if(b.WebForms&&b.WebForms.PageRequestManager){var d=b.WebForms.PageRequestManager.getInstance();a._beginRequestHandler=Function.createDelegate(a,a._onPageRequestManagerBeginRequest);d.add_beginRequest(a._beginRequestHandler);a._endRequestHandler=Function.createDelegate(a,a._onPageRequestManagerEndRequest);d.add_endRequest(a._endRequestHandler)}var c=a.get_stateString();if(c!==a._currentEntry)a._navigate(c);else a._ensureHistory()}a.raiseLoad()}},notifyScriptLoaded:function(){},registerDisposableObject:function(b){if(!this._disposing){var a=this._disposableObjects,c=a.length;a[c]=b;b.__msdisposeindex=c}},raiseLoad:function(){var a=this,d=new b.ApplicationLoadEventArgs(Array.clone(a._createdComponents),!!a._loaded);a._loaded=c;b.Observer.raiseEvent(a,l,d);g.pageLoad&&g.pageLoad(a,d);a._createdComponents=[]},removeComponent:function(b){var a=b.get_id();if(a)delete this._components[a]},unregisterDisposableObject:function(a){var b=this;if(!b._disposing){var g=a.__msdisposeindex;if(typeof g===i){var c=b._disposableObjects;delete c[g];delete a.__msdisposeindex;if(++b._deleteCount>1e3){for(var d=[],f=0,h=c.length;f<h;f++){a=c[f];if(typeof a!==e){a.__msdisposeindex=d.length;d.push(a)}}b._disposableObjects=d;b._deleteCount=0}}}},_addComponentToSecondPass:function(b,a){this._secondPassComponents.push({component:b,references:a})},_disposeComponents:function(a){if(a)for(var b=a.length-1;b>=0;b--){var c=a[b];typeof c.dispose===f&&c.dispose()}},_raiseInit:function(){this.beginCreateComponents();b.Observer.raiseEvent(this,fb);this.endCreateComponents()},_unloadHandler:function(){this.dispose()}};w.registerClass("Sys._Application",b.Component,b.IContainer);b.Application=new b._Application;g.$find=b.Application.findComponent;b.onReady(function(){b.Application._doInitialize()});w=b.UI.Behavior=function(a){b.UI.Behavior.initializeBase(this);this._element=a;var c=a._behaviors=a._behaviors||[];c.push(this)};w.prototype={get_element:function(){return this._element},get_id:function(){var c=b.UI.Behavior.callBaseMethod(this,"get_id");if(c)return c;var a=this._element;return!a||!a.id?x:a.id+o+this.get_name()},get_name:function(){var a=this;if(a._name)return a._name;var b=Object.getTypeName(a),c=b.lastIndexOf(j);if(c>=0)b=b.substr(c+1);if(!a._initialized)a._name=b;return b},set_name:function(a){this._name=a},initialize:function(){var a=this;b.UI.Behavior.callBaseMethod(a,V);var c=a.get_name();if(c)a._element[c]=a},dispose:function(){var c=this;b.UI.Behavior.callBaseMethod(c,gb);var d=c._element;if(d){var f=c.get_name();if(f)d[f]=a;var e=d._behaviors;Array.remove(e,c);if(!e.length)d._behaviors=a;delete c._element}}};w.registerClass("Sys.UI.Behavior",b.Component);w.getBehaviorByName=function(d,e){var c=d[e];return c&&b.UI.Behavior.isInstanceOfType(c)?c:a};w.getBehaviors=function(b){var a=b._behaviors;return a?Array.clone(a):[]};b.UI.Behavior.getBehaviorsByType=function(e,f){var a=e._behaviors,d=[];if(a)for(var b=0,g=a.length;b<g;b++){var c=a[b];f.isInstanceOfType(c)&&d.push(c)}return d};w=b.UI.VisibilityMode=function(){};w.prototype={hide:0,collapse:1};w.registerEnum("Sys.UI.VisibilityMode");w=b.UI.Control=function(c){var a=this;b.UI.Control.initializeBase(a);a._element=c;c.control=a;var d=a.get_role();d&&c.setAttribute("role",d)};w.prototype={_parent:a,_visibilityMode:b.UI.VisibilityMode.hide,get_element:function(){return this._element},get_id:function(){return this._id||(this._element?this._element.id:x)},get_parent:function(){var c=this;if(c._parent)return c._parent;if(!c._element)return a;var b=c._element.parentNode;while(b){if(b.control)return b.control;b=b.parentNode}return a},set_parent:function(a){this._parent=a},get_role:function(){return a},get_visibilityMode:function(){return b.UI.DomElement.getVisibilityMode(this._element)},set_visibilityMode:function(a){b.UI.DomElement.setVisibilityMode(this._element,a)},get_visible:function(){return b.UI.DomElement.getVisible(this._element)},set_visible:function(a){b.UI.DomElement.setVisible(this._element,a)},addCssClass:function(a){b.UI.DomElement.addCssClass(this._element,a)},dispose:function(){var c=this;b.UI.Control.callBaseMethod(c,gb);if(c._element){c._element.control=a;delete c._element}if(c._parent)delete c._parent},onBubbleEvent:function(){return d},raiseBubbleEvent:function(a,b){this._raiseBubbleEvent(a,b)},_raiseBubbleEvent:function(b,c){var a=this.get_parent();while(a){if(a.onBubbleEvent(b,c))return;a=a.get_parent()}},removeCssClass:function(a){b.UI.DomElement.removeCssClass(this._element,a)},toggleCssClass:function(a){b.UI.DomElement.toggleCssClass(this._element,a)}};w.registerClass("Sys.UI.Control",b.Component);w=b.HistoryEventArgs=function(a){b.HistoryEventArgs.initializeBase(this);this._state=a};w.prototype={get_state:function(){return this._state}};w.registerClass("Sys.HistoryEventArgs",b.EventArgs);w=b.Application;w._currentEntry=x;w._initialState=a;w._state={};z=b._Application.prototype;z.get_stateString=function(){var b=a;if(kb(U)){var d=g.location.href,c=d.indexOf(n);if(c!==y)b=d.substring(c+1);else b=x;return b}else b=g.location.hash;if(b.length&&b.charAt(0)===n)b=b.substring(1);return b};z.get_enableHistory=function(){return!!this._enableHistory};z.set_enableHistory=function(a){this._enableHistory=a};z.add_navigate=function(a){this._addHandler(hb,a)};z.remove_navigate=function(a){this._removeHandler(hb,a)};z.addHistoryPoint=function(g,j){var b=this;b._ensureHistory();var d=b._state;for(var f in g){var h=g[f];if(h===a){if(typeof d[f]!==e)delete d[f]}else d[f]=h}var i=b._serializeState(d);b._historyPointIsNew=c;b._setState(i,j);b._raiseNavigate()};z.setServerId=function(a,b){this._clientId=a;this._uniqueId=b};z.setServerState=function(a){this._ensureHistory();this._state.__s=a;this._updateHiddenField(a)};z._deserializeState=function(a){var e={};a=a||x;var b=a.indexOf("&&");if(b!==y&&b+2<a.length){e.__s=a.substr(b+2);a=a.substr(0,b)}for(var g=a.split("&"),f=0,j=g.length;f<j;f++){var d=g[f],c=d.indexOf("=");if(c!==y&&c+1<d.length){var i=d.substr(0,c),h=d.substr(c+1);e[i]=decodeURIComponent(h)}}return e};z._enableHistoryInScriptManager=function(){this._enableHistory=c};z._ensureHistory=function(){var a=this;if(!a._historyInitialized&&a._enableHistory){if(kb(db)&&b.Browser.documentMode<8){a._historyFrame=b.get("#__historyFrame");a._ignoreIFrame=c}a._timerHandler=Function.createDelegate(a,a._onIdle);a._timerCookie=g.setTimeout(a._timerHandler,B);var d;try{a._initialState=a._deserializeState(a.get_stateString())}catch(d){}a._historyInitialized=c}};z._navigate=function(d){var a=this;a._ensureHistory();var c=a._deserializeState(d);if(a._uniqueId){var e=a._state.__s||x,b=c.__s||x;if(b!==e){a._updateHiddenField(b);__doPostBack(a._uniqueId,b);a._state=c;return}}a._setState(d);a._state=c;a._raiseNavigate()};z._onIdle=function(){var a=this;delete a._timerCookie;var b=a.get_stateString();if(b!==a._currentEntry){if(!a._ignoreTimer){a._historyPointIsNew=d;a._navigate(b)}}else a._ignoreTimer=d;a._timerCookie=g.setTimeout(a._timerHandler,B)};z._onIFrameLoad=function(b){var a=this;a._ensureHistory();if(!a._ignoreIFrame){a._historyPointIsNew=d;a._navigate(b)}a._ignoreIFrame=d};z._onPageRequestManagerBeginRequest=function(){this._ignoreTimer=c;this._originalTitle=document.title};z._onPageRequestManagerEndRequest=function(n,m){var f=this,j=m.get_dataItems()[f._clientId],i=f._originalTitle;f._originalTitle=a;var h=b.get("#__EVENTTARGET");if(h&&h.value===f._uniqueId)h.value=x;if(typeof j!==e){f.setServerState(j);f._historyPointIsNew=c}else f._ignoreTimer=d;var g=f._serializeState(f._state);if(g!==f._currentEntry){f._ignoreTimer=c;if(typeof i===k){if(!kb(db)||b.Browser.version>7){var l=document.title;document.title=i;f._setState(g);document.title=l}else f._setState(g);f._raiseNavigate()}else{f._setState(g);f._raiseNavigate()}}};z._raiseNavigate=function(){var a=this,e=a._historyPointIsNew,d={};for(var c in a._state)if(c!=="__s")d[c]=a._state[c];var f=new b.HistoryEventArgs(d);b.Observer.raiseEvent(a,hb,f);if(!e){var h;try{if(kb(U)&&g.location.hash&&(!g.frameElement||g.top.location.hash))b.Browser.version<3.5?g.history.go(0):(location.hash=a.get_stateString())}catch(h){}}};z._serializeState=function(d){var c=[];for(var a in d){var e=d[a];if(a==="__s")var b=e;else c.push(a+"="+encodeURIComponent(e))}return c.join("&")+(b?"&&"+b:x)};z._setState=function(h,i){var f=this;if(f._enableHistory){h=h||x;if(h!==f._currentEntry){if(g.theForm){var k=g.theForm.action,l=k.indexOf(n);g.theForm.action=(l!==y?k.substring(0,l):k)+n+h}if(f._historyFrame&&f._historyPointIsNew){f._ignoreIFrame=c;var j=f._historyFrame.contentWindow.document;j.open("javascript:'<html></html>'");j.write("<html><head><title>"+(i||document.title)+'</title><script type="text/javascript">parent.Sys.Application._onIFrameLoad('+b.Serialization.JavaScriptSerializer.serialize(h)+");<\/script></head><body></body></html>");j.close()}f._ignoreTimer=d;f._currentEntry=h;if(f._historyFrame||f._historyPointIsNew){var m=f.get_stateString();if(h!==m){g.location.hash=h;f._currentEntry=f.get_stateString();if(typeof i!==e&&i!==a)document.title=i}}f._historyPointIsNew=d}}};z._updateHiddenField=function(b){if(this._clientId){var a=document.getElementById(this._clientId);if(a)a.value=b}};if(!g.XMLHttpRequest)g.XMLHttpRequest=function(){for(var e,c=["Msxml2.XMLHTTP.3.0","Msxml2.XMLHTTP"],b=0,d=c.length;b<d;b++)try{return new ActiveXObject(c[b])}catch(e){}return a};Type.registerNamespace("Sys.Net");w=b.Net.WebRequestExecutor=function(){this._webRequest=a;this._resultObject=a};var T=function(){};w.prototype={get_started:T,get_responseAvailable:T,get_timedOut:T,get_aborted:T,get_responseData:T,get_statusCode:T,get_statusText:T,get_xml:T,executeRequest:T,abort:T,getAllResponseHeaders:T,getResponseHeader:T,get_webRequest:function(){return this._webRequest},_set_webRequest:function(a){this._webRequest=a},get_object:function(){var a=this._resultObject;if(!a)this._resultObject=a=b.Serialization.JavaScriptSerializer.deserialize(this.get_responseData());return a}};w.registerClass("Sys.Net.WebRequestExecutor");b.Net.XMLDOM=function(f){if(!g.DOMParser)for(var j,e=["Msxml2.DOMDocument.3.0","Msxml2.DOMDocument"],c=0,i=e.length;c<i;c++)try{var b=new ActiveXObject(e[c]);b.async=d;b.loadXML(f);b.setProperty(tb,"XPath");return b}catch(j){}else try{var h=new g.DOMParser;return h.parseFromString(f,mb)}catch(j){}return a};w=b.Net.XMLHttpExecutor=function(){var f=this;b.Net.XMLHttpExecutor.initializeBase(f);var d=f;f._onReadyStateChange=function(){if(d._xmlHttpRequest.readyState===4){try{if(typeof d._xmlHttpRequest.status===e)return}catch(f){return}d._clearTimer();d._responseAvailable=c;try{d._webRequest.completed(b.EventArgs.Empty)}finally{if(d._xmlHttpRequest){d._xmlHttpRequest.onreadystatechange=Function.emptyMethod;d._xmlHttpRequest=a}}}};f._clearTimer=function(){if(d._timer){g.clearTimeout(d._timer);d._timer=a}};f._onTimeout=function(){if(!d._responseAvailable){d._clearTimer();d._timedOut=c;var e=d._xmlHttpRequest;e.onreadystatechange=Function.emptyMethod;e.abort();d._webRequest.completed(b.EventArgs.Empty);d._xmlHttpRequest=a}}};w.prototype={get_timedOut:function(){return!!this._timedOut},get_started:function(){return!!this._started},get_responseAvailable:function(){return!!this._responseAvailable},get_aborted:function(){return!!this._aborted},executeRequest:function(){var b=this,j=d;if(arguments.length===1&&arguments[0].toString()==="[object FormData]")j=c;var h=b.get_webRequest();b._webRequest=h;var k=h.get_body(),i=h.get_headers(),e=new XMLHttpRequest;b._xmlHttpRequest=e;e.onreadystatechange=b._onReadyStateChange;if(j&&e.upload){e.upload.addEventListener(l,b.bind(b.load,b),d);e.upload.addEventListener(Q,b.bind(b.progress,b),d);e.upload.addEventListener(m,b.bind(b.error,b),d);e.upload.addEventListener("abort",b.bind(b.uploadAbort,b),d)}var p=h.get_httpVerb();e.open(p,h.getResolvedUrl(),c);e.setRequestHeader("X-Requested-With","XMLHttpRequest");if(i)for(var o in i){var q=i[o];typeof q!==f&&e.setRequestHeader(o,q)}if(p.toLowerCase()==="post"){if(!j)(i===a||!i[M])&&e.setRequestHeader(M,"application/x-www-form-urlencoded; charset=utf-8");if(!k)k=x}var n=h.get_timeout();if(n>0)b._timer=g.setTimeout(Function.createDelegate(b,b._onTimeout),n);if(j)e.send(arguments[0]);else e.send(k);b._started=c},getResponseHeader:function(b){var c,a;try{a=this._xmlHttpRequest.getResponseHeader(b)}catch(c){}if(!a)a=x;return a},getAllResponseHeaders:function(){return this._xmlHttpRequest.getAllResponseHeaders()},get_responseData:function(){return this._xmlHttpRequest.responseText},get_statusCode:function(){var b,a=0;try{a=this._xmlHttpRequest.status}catch(b){}return a},get_statusText:function(){return this._xmlHttpRequest.statusText},get_xml:function(){var d="parsererror",e=this._xmlHttpRequest,c=e.responseXML;if(!c||!c.documentElement){c=b.Net.XMLDOM(e.responseText);if(!c||!c.documentElement)return a}else navigator.userAgent.indexOf("MSIE")!==y&&c.setProperty(tb,"XPath");return c.documentElement.namespaceURI==="http://www.mozilla.org/newlayout/xml/parsererror.xml"&&c.documentElement.tagName===d?a:c.documentElement.firstChild&&c.documentElement.firstChild.tagName===d?a:c},abort:function(){var d=this;if(d._aborted||d._responseAvailable||d._timedOut)return;d._aborted=c;d._clearTimer();var e=d._xmlHttpRequest;if(e&&!d._responseAvailable){e.onreadystatechange=Function.emptyMethod;e.abort();d._xmlHttpRequest=a;d._webRequest.completed(b.EventArgs.Empty)}},bind:function(b,a){return function(){b.apply(a,arguments)}},add_load:function(a){b.Observer.addEventHandler(this,l,a)},remove_load:function(a){b.Observer.removeEventHandler(this,l,a)},load:function(a){function d(g,f,e){var d=b.Observer._getContext(g,c).events.getHandler(e);d&&d(f,a)}d(this,this,l);b.Observer.clearEventHandlers(this,l)},add_progress:function(a){b.Observer.addEventHandler(this,Q,a)},remove_progress:function(a){b.Observer.removeEventHandler(this,Q,a)},progress:function(a){function d(g,f,e){var d=b.Observer._getContext(g,c).events.getHandler(e);d&&d(f,a)}d(this,this,Q)},add_error:function(a){b.Observer.addEventHandler(this,m,a)},remove_error:function(a){b.Observer.removeEventHandler(this,m,a)},error:function(a){function d(g,f,e){var d=b.Observer._getContext(g,c).events.getHandler(e);d&&d(f,a)}d(this,this,m);b.Observer.clearEventHandlers(this,m)},add_uploadAbort:function(a){b.Observer.addEventHandler(this,R,a)},remove_uploadAbort:function(a){b.Observer.removeEventHandler(this,R,a)},uploadAbort:function(a){function d(g,f,e){var d=b.Observer._getContext(g,c).events.getHandler(e);d&&d(f,a)}d(this,this,R);b.Observer.clearEventHandlers(this,R)}};w.registerClass(xb,b.Net.WebRequestExecutor);w=b.Net._WebRequestManager=function(){this._defaultExecutorType=xb};w.prototype={add_invokingRequest:function(a){b.Observer.addEventHandler(this,ib,a)},remove_invokingRequest:function(a){b.Observer.removeEventHandler(this,ib,a)},add_completedRequest:function(a){b.Observer.addEventHandler(this,jb,a)},remove_completedRequest:function(a){b.Observer.removeEventHandler(this,jb,a)},get_defaultTimeout:function(){return this._defaultTimeout||0},set_defaultTimeout:function(a){this._defaultTimeout=a},get_defaultExecutorType:function(){return this._defaultExecutorType},set_defaultExecutorType:function(a){this._defaultExecutorType=a},executeRequest:function(d){var a=d.get_executor();if(!a){var i,h;try{var f=g.eval(this._defaultExecutorType);a=new f}catch(i){h=c}d.set_executor(a)}if(!a.get_aborted()){var e=new b.Net.NetworkRequestEventArgs(d);b.Observer.raiseEvent(this,ib,e);!e.get_cancel()&&a.executeRequest()}}};w.registerClass("Sys.Net._WebRequestManager");b.Net.WebRequestManager=new b.Net._WebRequestManager;w=b.Net.NetworkRequestEventArgs=function(a){b.Net.NetworkRequestEventArgs.initializeBase(this);this._webRequest=a};w.prototype={get_webRequest:function(){return this._webRequest}};w.registerClass("Sys.Net.NetworkRequestEventArgs",b.CancelEventArgs);w=b.Net.WebRequest=function(){var b=this;b._url=x;b._headers={};b._body=a;b._userContext=a;b._httpVerb=a};w.prototype={add_completed:function(a){b.Observer.addEventHandler(this,S,a)},remove_completed:function(a){b.Observer.removeEventHandler(this,S,a)},completed:function(e){var a=this;function d(g,f,d){var a=b.Observer._getContext(g,c).events.getHandler(d);a&&a(f,e)}d(b.Net.WebRequestManager,a._executor,jb);d(a,a._executor,S);b.Observer.clearEventHandlers(a,S)},get_url:function(){return this._url},set_url:function(a){this._url=a},get_headers:function(){return this._headers},get_httpVerb:function(){return this._httpVerb===a?this._body===a?"GET":"POST":this._httpVerb},set_httpVerb:function(a){this._httpVerb=a},get_body:function(){return this._body},set_body:function(a){this._body=a},get_userContext:function(){return this._userContext},set_userContext:function(a){this._userContext=a},get_executor:function(){return this._executor||a},set_executor:function(a){this._executor=a;a._set_webRequest(this)},get_timeout:function(){return this._timeout||b.Net.WebRequestManager.get_defaultTimeout()},set_timeout:function(a){this._timeout=a},getResolvedUrl:function(){return b.Net.WebRequest._resolveUrl(this._url)},invoke:function(){b.Net.WebRequestManager.executeRequest(this)}};w._resolveUrl=function(c,a){if(c&&c.indexOf("://")>0)return c;if(!a||!a.length){var e=b.get("base");if(e&&e.href&&e.href.length)a=e.href;else a=document.URL}var d=a.indexOf("?");if(d>0)a=a.substr(0,d);d=a.indexOf(n);if(d>0)a=a.substr(0,d);a=a.substr(0,a.lastIndexOf(D)+1);if(!c||!c.length)return a;if(c.charAt(0)===D){var f=a.indexOf("://"),h=a.indexOf(D,f+3);return a.substr(0,h)+c}else{var g=a.lastIndexOf(D);return a.substr(0,g+1)+c}};w._createQueryString=function(d,c,h){c=c||encodeURIComponent;var j=0,g,i,e,a=new b.StringBuilder;if(d)for(e in d){g=d[e];if(typeof g===f)continue;i=b.Serialization.JavaScriptSerializer.serialize(g);j++&&a.append("&");a.append(e);a.append("=");a.append(c(i))}if(h){j&&a.append("&");a.append(h)}return a.toString()};w._createUrl=function(c,d,e){if(!d&&!e)return c;var f=b.Net.WebRequest._createQueryString(d,a,e);return f.length?c+(c&&c.indexOf("?")>=0?"&":"?")+f:c};w.registerClass("Sys.Net.WebRequest");Type.registerNamespace("Sys.Net");w=b.Net.WebServiceProxy=function(){var a=Object.getType(this);if(a._staticInstance&&typeof a._staticInstance.get_enableJsonp===f)this._jsonp=a._staticInstance.get_enableJsonp()};w.prototype={get_timeout:function(){return this._timeout||0},set_timeout:function(a){this._timeout=a},get_defaultUserContext:function(){return typeof this._userContext===e?a:this._userContext},set_defaultUserContext:function(a){this._userContext=a},get_defaultSucceededCallback:function(){return this._succeeded||a},set_defaultSucceededCallback:function(a){this._succeeded=a},get_defaultFailedCallback:function(){return this._failed||a},set_defaultFailedCallback:function(a){this._failed=a},get_enableJsonp:function(){return!!this._jsonp},set_enableJsonp:function(a){this._jsonp=a},get_path:function(){return this._path||a},set_path:function(a){this._path=a},get_jsonpCallbackParameter:function(){return this._callbackParameter||ub},set_jsonpCallbackParameter:function(a){this._callbackParameter=a},_invoke:function(h,i,k,j,g,f,d){var c=this;g=g||c.get_defaultSucceededCallback();f=f||c.get_defaultFailedCallback();if(d===a||typeof d===e)d=c.get_defaultUserContext();return b.Net.WebServiceProxy.invoke(h,i,k,j,g,f,d,c.get_timeout(),c.get_enableJsonp(),c.get_jsonpCallbackParameter())}};w.registerClass("Sys.Net.WebServiceProxy");w.invoke=function(v,f,r,q,p,h,l,m,C,u){var o=C!==d?b.Net.WebServiceProxy._xdomain.exec(v):a,i,s=o&&o.length===3&&(o[1]!==location.protocol||o[2]!==location.host);r=s||r;if(s){u=u||ub;i="_jsonp"+b._jsonp++}if(!q)q={};var w=q;if(!r||!w)w={};var n,k=a,t=a,A=b.Net.WebRequest._createUrl(f?v+D+encodeURIComponent(f):v,w,s?u+"=Sys."+i:a);if(s){function B(){if(k===a)return;k=a;n=new b.Net.WebServiceError(c,String.format(b.Res.webServiceTimedOut,f));delete b[i];h&&h(n,l,f)}function z(c,j){if(k!==a){g.clearTimeout(k);k=a}delete b[i];i=a;if(typeof j!==e&&j!==200){if(h){n=new b.Net.WebServiceError(d,c.Message||String.format(b.Res.webServiceFailedNoMsg,f),c.StackTrace||a,c.ExceptionType||a,c);n._statusCode=j;h(n,l,f)}}else p&&p(c,l,f)}b[i]=z;m=m||b.Net.WebRequestManager.get_defaultTimeout();if(m>0)k=g.setTimeout(B,m);b._loadJsonp(A,function(){i&&z({Message:String.format(b.Res.webServiceFailedNoMsg,f)},y)});return a}var j=new b.Net.WebRequest;j.set_url(A);j.get_headers()[M]="application/json; charset=utf-8";if(!r){t=b.Serialization.JavaScriptSerializer.serialize(q);if(t==="{}")t=x}j.set_body(t);j.add_completed(E);m>0&&j.set_timeout(m);j.invoke();function E(g){if(g.get_responseAvailable()){var s,i=g.get_statusCode(),c=a,k;try{var m=g.getResponseHeader(M);k=m.startsWith("application/json");c=k?g.get_object():m.startsWith(mb)?g.get_xml():g.get_responseData()}catch(s){}var o=g.getResponseHeader("jsonerror"),j=o==="true";if(j){if(c)c=new b.Net.WebServiceError(d,c.Message,c.StackTrace,c.ExceptionType,c)}else if(k)c=!c||typeof c.d===e?c:c.d;if(i<200||i>=300||j){if(h){if(!c||!j)c=new b.Net.WebServiceError(d,String.format(b.Res.webServiceFailedNoMsg,f));c._statusCode=i;h(c,l,f)}}else p&&p(c,l,f)}else{var n=g.get_timedOut(),q=String.format(n?b.Res.webServiceTimedOut:b.Res.webServiceFailedNoMsg,f);h&&h(new b.Net.WebServiceError(n,q,x,x),l,f)}}return j};w._generateTypedConstructor=function(a){return function(b){if(b)for(var c in b)this[c]=b[c];this.__type=a}};b._jsonp=0;w._xdomain=/^\s*([a-zA-Z0-9\+\-\.]+\:)\/\/([^?#\/]+)/;b._loadJsonp=function(h,g){var c=document.createElement("script");c.type="text/javascript";c.src=h;var f=c.attachEvent;function e(){if(!f||/loaded|complete/.test(c.readyState)){if(f)c.detachEvent(s,e);else{c.removeEventListener(l,e,d);c.removeEventListener(m,e,d)}g.apply(c);c=a}}if(f)c.attachEvent(s,e);else{c.addEventListener(l,e,d);c.addEventListener(m,e,d)}b.get("head").appendChild(c)};w=b.Net.WebServiceError=function(e,f,d,b,c){var a=this;a._timedOut=e;a._message=f;a._stackTrace=d;a._exceptionType=b;a._errorObject=c;a._statusCode=y};w.prototype={get_timedOut:function(){return this._timedOut},get_statusCode:function(){return this._statusCode},get_message:function(){return this._message},get_stackTrace:function(){return this._stackTrace||x},get_exceptionType:function(){return this._exceptionType||x},get_errorObject:function(){return this._errorObject||a}};w.registerClass("Sys.Net.WebServiceError");Type.registerNamespace("Sys.Services");var ob=b.Services,wb="Service",Gb="Role",Fb="Authentication",Db="Profile";function Bb(a){this._path=a}ob[Fb+wb]={set_path:Bb,_setAuthenticated:function(a){this._auth=a}};ob["_"+Fb+wb]={};ob[Db+wb]={set_path:Bb};ob["_"+Db+wb]={};ob.ProfileGroup=function(a){this._propertygroup=a};ob[Gb+wb]={set_path:Bb};ob["_"+Gb+wb]={};b._domLoaded()}if(b.loader)b.loader.registerScript("MicrosoftAjax",a,H);else H()})(window,window.Sys);var $get,$create,$addHandler,$addHandlers,$clearHandlers;
|
|
1252
|
+
Type.registerNamespace('Sys');Sys.Res={"argumentInteger":"Value must be an integer.","argumentType":"Object cannot be converted to the required type.","argumentNull":"Value cannot be null.","scriptAlreadyLoaded":"The script \u0027{0}\u0027 has been referenced multiple times. If referencing Microsoft AJAX scripts explicitly, set the MicrosoftAjaxMode property of the ScriptManager to Explicit.","scriptDependencyNotFound":"The script \u0027{0}\u0027 failed to load because it is dependent on script \u0027{1}\u0027.","formatBadFormatSpecifier":"Format specifier was invalid.","requiredScriptReferenceNotIncluded":"\u0027{0}\u0027 requires that you have included a script reference to \u0027{1}\u0027.","webServiceFailedNoMsg":"The server method \u0027{0}\u0027 failed.","argumentDomElement":"Value must be a DOM element.","actualValue":"Actual value was {0}.","enumInvalidValue":"\u0027{0}\u0027 is not a valid value for enum {1}.","scriptLoadFailed":"The script \u0027{0}\u0027 could not be loaded.","parameterCount":"Parameter count mismatch.","cannotDeserializeEmptyString":"Cannot deserialize empty string.","formatInvalidString":"Input string was not in a correct format.","argument":"Value does not fall within the expected range.","cannotDeserializeInvalidJson":"Cannot deserialize. The data does not correspond to valid JSON.","cannotSerializeNonFiniteNumbers":"Cannot serialize non finite numbers.","argumentUndefined":"Value cannot be undefined.","webServiceInvalidReturnType":"The server method \u0027{0}\u0027 returned an invalid type. Expected type: {1}","servicePathNotSet":"The path to the web service has not been set.","argumentTypeWithTypes":"Object of type \u0027{0}\u0027 cannot be converted to type \u0027{1}\u0027.","paramName":"Parameter name: {0}","nullReferenceInPath":"Null reference while evaluating data path: \u0027{0}\u0027.","format":"One of the identified items was in an invalid format.","assertFailedCaller":"Assertion Failed: {0}\r\nat {1}","argumentOutOfRange":"Specified argument was out of the range of valid values.","webServiceTimedOut":"The server method \u0027{0}\u0027 timed out.","notImplemented":"The method or operation is not implemented.","assertFailed":"Assertion Failed: {0}","invalidOperation":"Operation is not valid due to the current state of the object.","breakIntoDebugger":"{0}\r\n\r\nBreak into debugger?"};
|
|
1253
|
+
// (c) 2010 CodePlex Foundation
|
|
1254
|
+
(function(){function a(){var s="aria-hidden",k="status",j="submit",h="=",g="undefined",d=-1,f="",u="function",r="pageLoading",q="pageLoaded",p="initializeRequest",o="endRequest",n="beginRequest",m="script",l="error",t="readystatechange",i="load",a=null,c=true,b=false;Type._registerScript("MicrosoftAjaxWebForms.js",["MicrosoftAjaxCore.js","MicrosoftAjaxSerialization.js","MicrosoftAjaxNetwork.js","MicrosoftAjaxComponentModel.js"]);var e,v;Type.registerNamespace("Sys.WebForms");e=Sys.WebForms.BeginRequestEventArgs=function(d,c,b){var a=this;Sys.WebForms.BeginRequestEventArgs.initializeBase(a);a._request=d;a._postBackElement=c;a._updatePanelsToUpdate=b};e.prototype={get_postBackElement:function(){return this._postBackElement},get_request:function(){return this._request},get_updatePanelsToUpdate:function(){return this._updatePanelsToUpdate?Array.clone(this._updatePanelsToUpdate):[]}};e.registerClass("Sys.WebForms.BeginRequestEventArgs",Sys.EventArgs);e=Sys.WebForms.EndRequestEventArgs=function(e,c,d){var a=this;Sys.WebForms.EndRequestEventArgs.initializeBase(a);a._errorHandled=b;a._error=e;a._dataItems=c||{};a._response=d};e.prototype={get_dataItems:function(){return this._dataItems},get_error:function(){return this._error},get_errorHandled:function(){return this._errorHandled},set_errorHandled:function(a){this._errorHandled=a},get_response:function(){return this._response}};e.registerClass("Sys.WebForms.EndRequestEventArgs",Sys.EventArgs);e=Sys.WebForms.InitializeRequestEventArgs=function(d,c,b){var a=this;Sys.WebForms.InitializeRequestEventArgs.initializeBase(a);a._request=d;a._postBackElement=c;a._updatePanelsToUpdate=b};e.prototype={get_postBackElement:function(){return this._postBackElement},get_request:function(){return this._request},get_updatePanelsToUpdate:function(){return this._updatePanelsToUpdate?Array.clone(this._updatePanelsToUpdate):[]},set_updatePanelsToUpdate:function(a){this._updated=c;this._updatePanelsToUpdate=a}};e.registerClass("Sys.WebForms.InitializeRequestEventArgs",Sys.CancelEventArgs);e=Sys.WebForms.PageLoadedEventArgs=function(c,b,d){var a=this;Sys.WebForms.PageLoadedEventArgs.initializeBase(a);a._panelsUpdated=c;a._panelsCreated=b;a._dataItems=d||{}};e.prototype={get_dataItems:function(){return this._dataItems},get_panelsCreated:function(){return this._panelsCreated},get_panelsUpdated:function(){return this._panelsUpdated}};e.registerClass("Sys.WebForms.PageLoadedEventArgs",Sys.EventArgs);e=Sys.WebForms.PageLoadingEventArgs=function(c,b,d){var a=this;Sys.WebForms.PageLoadingEventArgs.initializeBase(a);a._panelsUpdating=c;a._panelsDeleting=b;a._dataItems=d||{}};e.prototype={get_dataItems:function(){return this._dataItems},get_panelsDeleting:function(){return this._panelsDeleting},get_panelsUpdating:function(){return this._panelsUpdating}};e.registerClass("Sys.WebForms.PageLoadingEventArgs",Sys.EventArgs);e=Sys._ScriptLoaderTask=function(b,a){this._scriptElement=b;this._completedCallback=a};e.prototype={get_scriptElement:function(){return this._scriptElement},dispose:function(){var b=this;if(b._disposed)return;b._disposed=c;b._removeScriptElementHandlers();Sys._ScriptLoaderTask._clearScript(b._scriptElement);b._scriptElement=a},execute:function(){this._addScriptElementHandlers();document.getElementsByTagName("head")[0].appendChild(this._scriptElement)},_addScriptElementHandlers:function(){var a=this;a._scriptLoadDelegate=Function.createDelegate(a,a._scriptLoadHandler);if(document.addEventListener){if(!a._scriptElement.readyState)a._scriptElement.readyState="loaded";$addHandler(a._scriptElement,i,a._scriptLoadDelegate)}else $addHandler(a._scriptElement,t,a._scriptLoadDelegate);if(a._scriptElement.addEventListener){a._scriptErrorDelegate=Function.createDelegate(a,a._scriptErrorHandler);a._scriptElement.addEventListener(l,a._scriptErrorDelegate,b)}},_removeScriptElementHandlers:function(){var c=this;if(c._scriptLoadDelegate){var d=c.get_scriptElement();if(document.addEventListener)$removeHandler(d,i,c._scriptLoadDelegate);else $removeHandler(d,t,c._scriptLoadDelegate);if(c._scriptErrorDelegate){c._scriptElement.removeEventListener(l,c._scriptErrorDelegate,b);c._scriptErrorDelegate=a}c._scriptLoadDelegate=a}},_scriptErrorHandler:function(){if(this._disposed)return;this._completedCallback(this.get_scriptElement(),b)},_scriptLoadHandler:function(){if(this._disposed)return;var a=this.get_scriptElement();if(a.readyState!=="loaded"&&a.readyState!=="complete")return;this._completedCallback(a,c)}};e.registerClass("Sys._ScriptLoaderTask",a,Sys.IDisposable);e._clearScript=function(a){!Sys.Debug.isDebug&&a.parentNode.removeChild(a)};e=Sys._ScriptLoader=function(){var b=this;b._scriptsToLoad=a;b._sessions=[];b._scriptLoadedDelegate=Function.createDelegate(b,b._scriptLoadedHandler)};e.prototype={dispose:function(){var c=this;c._stopSession();c._loading=b;if(c._events)delete c._events;c._sessions=a;c._currentSession=a;c._scriptLoadedDelegate=a},loadScripts:function(f,d,e,c){var b=this,g={allScriptsLoadedCallback:d,scriptLoadFailedCallback:e,scriptLoadTimeoutCallback:c,scriptsToLoad:b._scriptsToLoad,scriptTimeout:f};b._scriptsToLoad=a;b._sessions.push(g);!b._loading&&b._nextSession()},queueCustomScriptTag:function(a){if(!this._scriptsToLoad)this._scriptsToLoad=[];Array.add(this._scriptsToLoad,a)},queueScriptBlock:function(a){if(!this._scriptsToLoad)this._scriptsToLoad=[];Array.add(this._scriptsToLoad,{text:a})},queueScriptReference:function(a){if(!this._scriptsToLoad)this._scriptsToLoad=[];Array.add(this._scriptsToLoad,{src:a})},_createScriptElement:function(b){var a=document.createElement(m);a.type="text/javascript";for(var c in b)a[c]=b[c];return a},_loadScriptsInternal:function(){var a=this,c=a._currentSession;if(c.scriptsToLoad&&c.scriptsToLoad.length>0){var d=Array.dequeue(c.scriptsToLoad),b=a._createScriptElement(d);if(b.text&&Sys.Browser.agent===Sys.Browser.Safari){b.innerHTML=b.text;delete b.text}if(typeof d.src==="string"){a._currentTask=new Sys._ScriptLoaderTask(b,a._scriptLoadedDelegate);a._currentTask.execute()}else{document.getElementsByTagName("head")[0].appendChild(b);Sys._ScriptLoaderTask._clearScript(b);a._loadScriptsInternal()}}else{a._stopSession();var e=c.allScriptsLoadedCallback;e&&e(a);a._nextSession()}},_nextSession:function(){var d=this;if(d._sessions.length===0){d._loading=b;d._currentSession=a;return}d._loading=c;var e=Array.dequeue(d._sessions);d._currentSession=e;if(e.scriptTimeout>0)d._timeoutCookie=window.setTimeout(Function.createDelegate(d,d._scriptLoadTimeoutHandler),e.scriptTimeout*1e3);d._loadScriptsInternal()},_raiseError:function(){var a=this,d=a._currentSession.scriptLoadFailedCallback,c=a._currentTask.get_scriptElement();a._stopSession();if(d){d(a,c);a._nextSession()}else{a._loading=b;throw Sys._ScriptLoader._errorScriptLoadFailed(c.src);}},_scriptLoadedHandler:function(c,d){var b=this;if(d){Array.add(Sys._ScriptLoader._getLoadedScripts(),c.src);b._currentTask.dispose();b._currentTask=a;b._loadScriptsInternal()}else b._raiseError()},_scriptLoadTimeoutHandler:function(){var a=this,b=a._currentSession.scriptLoadTimeoutCallback;a._stopSession();b&&b(a);a._nextSession()},_stopSession:function(){var b=this;if(b._timeoutCookie){window.clearTimeout(b._timeoutCookie);b._timeoutCookie=a}if(b._currentTask){b._currentTask.dispose();b._currentTask=a}}};e.registerClass("Sys._ScriptLoader",a,Sys.IDisposable);e.getInstance=function(){var a=Sys._ScriptLoader._activeInstance;if(!a)a=Sys._ScriptLoader._activeInstance=new Sys._ScriptLoader;return a};e.isScriptLoaded=function(b){var a=document.createElement(m);a.src=b;return Array.contains(Sys._ScriptLoader._getLoadedScripts(),a.src)};e.readLoadedScripts=function(){if(!Sys._ScriptLoader._referencedScripts)for(var c=Sys._ScriptLoader._referencedScripts=[],d=document.getElementsByTagName(m),b=d.length-1;b>=0;b--){var e=d[b],a=e.src;if(a.length)!Array.contains(c,a)&&Array.add(c,a)}};e._errorScriptLoadFailed=function(b){var a;a=Sys.Res.scriptLoadFailed;var d="Sys.ScriptLoadFailedException: "+String.format(a,b),c=Error.create(d,{name:"Sys.ScriptLoadFailedException",scriptUrl:b});c.popStackFrame();return c};e._getLoadedScripts=function(){if(!Sys._ScriptLoader._referencedScripts){Sys._ScriptLoader._referencedScripts=[];Sys._ScriptLoader.readLoadedScripts()}return Sys._ScriptLoader._referencedScripts};e=Sys.WebForms.PageRequestManager=function(){var c=this;c._form=a;c._activeDefaultButton=a;c._activeDefaultButtonClicked=b;c._updatePanelIDs=a;c._updatePanelClientIDs=a;c._updatePanelHasChildrenAsTriggers=a;c._asyncPostBackControlIDs=a;c._asyncPostBackControlClientIDs=a;c._postBackControlIDs=a;c._postBackControlClientIDs=a;c._scriptManagerID=a;c._pageLoadedHandler=a;c._additionalInput=a;c._onsubmit=a;c._onSubmitStatements=[];c._originalDoPostBack=a;c._originalDoPostBackWithOptions=a;c._originalFireDefaultButton=a;c._originalDoCallback=a;c._isCrossPost=b;c._postBackSettings=a;c._request=a;c._onFormSubmitHandler=a;c._onFormElementClickHandler=a;c._onWindowUnloadHandler=a;c._asyncPostBackTimeout=a;c._controlIDToFocus=a;c._scrollPosition=a;c._processingRequest=b;c._scriptDisposes={};c._transientFields=["__VIEWSTATEENCRYPTED","__VIEWSTATEFIELDCOUNT"]};e.prototype={get_isInAsyncPostBack:function(){return this._request!==a},add_beginRequest:function(a){Sys.Observer.addEventHandler(this,n,a)},remove_beginRequest:function(a){Sys.Observer.removeEventHandler(this,n,a)},add_endRequest:function(a){Sys.Observer.addEventHandler(this,o,a)},remove_endRequest:function(a){Sys.Observer.removeEventHandler(this,o,a)},add_initializeRequest:function(a){Sys.Observer.addEventHandler(this,p,a)},remove_initializeRequest:function(a){Sys.Observer.removeEventHandler(this,p,a)},add_pageLoaded:function(a){Sys.Observer.addEventHandler(this,q,a)},remove_pageLoaded:function(a){Sys.Observer.removeEventHandler(this,q,a)},add_pageLoading:function(a){Sys.Observer.addEventHandler(this,r,a)},remove_pageLoading:function(a){Sys.Observer.removeEventHandler(this,r,a)},abortPostBack:function(){var b=this;if(!b._processingRequest&&b._request){b._request.get_executor().abort();b._request=a}},beginAsyncPostBack:function(h,e,k,i,j){var d=this;if(i&&typeof Page_ClientValidate===u&&!Page_ClientValidate(j||a))return;d._postBackSettings=d._createPostBackSettings(c,h,e);var g=d._form;g.__EVENTTARGET.value=e||f;g.__EVENTARGUMENT.value=k||f;d._isCrossPost=b;d._additionalInput=a;d._onFormSubmit()},_cancelPendingCallbacks:function(){for(var b=0,g=window.__pendingCallbacks.length;b<g;b++){var e=window.__pendingCallbacks[b];if(e){if(!e.async)window.__synchronousCallBackIndex=d;window.__pendingCallbacks[b]=a;var f="__CALLBACKFRAME"+b,c=document.getElementById(f);c&&c.parentNode.removeChild(c)}}},_commitControls:function(b,d){var c=this;if(b){c._updatePanelIDs=b.updatePanelIDs;c._updatePanelClientIDs=b.updatePanelClientIDs;c._updatePanelHasChildrenAsTriggers=b.updatePanelHasChildrenAsTriggers;c._asyncPostBackControlIDs=b.asyncPostBackControlIDs;c._asyncPostBackControlClientIDs=b.asyncPostBackControlClientIDs;c._postBackControlIDs=b.postBackControlIDs;c._postBackControlClientIDs=b.postBackControlClientIDs}if(typeof d!==g&&d!==a)c._asyncPostBackTimeout=d*1e3},_createHiddenField:function(d,e){var b,a=document.getElementById(d);if(a)if(!a._isContained)a.parentNode.removeChild(a);else b=a.parentNode;if(!b){b=document.createElement("span");b.style.cssText="display:none !important";this._form.appendChild(b)}b.innerHTML="<input type='hidden' />";a=b.childNodes[0];a._isContained=c;a.id=a.name=d;a.value=e},_createPageRequestManagerTimeoutError:function(){var b="Sys.WebForms.PageRequestManagerTimeoutException: "+Sys.WebForms.Res.PRM_TimeoutError,a=Error.create(b,{name:"Sys.WebForms.PageRequestManagerTimeoutException"});a.popStackFrame();return a},_createPageRequestManagerServerError:function(a,d){var c="Sys.WebForms.PageRequestManagerServerErrorException: "+(d||String.format(Sys.WebForms.Res.PRM_ServerError,a)),b=Error.create(c,{name:"Sys.WebForms.PageRequestManagerServerErrorException",httpStatusCode:a});b.popStackFrame();return b},_createPageRequestManagerParserError:function(b){var c="Sys.WebForms.PageRequestManagerParserErrorException: "+String.format(Sys.WebForms.Res.PRM_ParserError,b),a=Error.create(c,{name:"Sys.WebForms.PageRequestManagerParserErrorException"});a.popStackFrame();return a},_createPanelID:function(e,b){var c=b.asyncTarget,a=this._ensureUniqueIds(e||b.panelsToUpdate),d=a instanceof Array?a.join(","):a||this._scriptManagerID;if(c)d+="|"+c;return encodeURIComponent(this._scriptManagerID)+h+encodeURIComponent(d)+"&"},_createPostBackSettings:function(d,a,c,b){return{async:d,asyncTarget:c,panelsToUpdate:a,sourceElement:b}},_convertToClientIDs:function(a,g,e,d){if(a)for(var b=0,i=a.length;b<i;b+=d?2:1){var c=a[b],h=(d?a[b+1]:f)||this._uniqueIDToClientID(c);Array.add(g,c);Array.add(e,h)}},dispose:function(){var b=this;Sys.Observer.clearEventHandlers(b);if(b._form){Sys.UI.DomEvent.removeHandler(b._form,j,b._onFormSubmitHandler);Sys.UI.DomEvent.removeHandler(b._form,"click",b._onFormElementClickHandler);Sys.UI.DomEvent.removeHandler(window,"unload",b._onWindowUnloadHandler);Sys.UI.DomEvent.removeHandler(window,i,b._pageLoadedHandler)}if(b._originalDoPostBack){window.__doPostBack=b._originalDoPostBack;b._originalDoPostBack=a}if(b._originalDoPostBackWithOptions){window.WebForm_DoPostBackWithOptions=b._originalDoPostBackWithOptions;b._originalDoPostBackWithOptions=a}if(b._originalFireDefaultButton){window.WebForm_FireDefaultButton=b._originalFireDefaultButton;b._originalFireDefaultButton=a}if(b._originalDoCallback){window.WebForm_DoCallback=b._originalDoCallback;b._originalDoCallback=a}b._form=a;b._updatePanelIDs=a;b._updatePanelClientIDs=a;b._asyncPostBackControlIDs=a;b._asyncPostBackControlClientIDs=a;b._postBackControlIDs=a;b._postBackControlClientIDs=a;b._asyncPostBackTimeout=a;b._scrollPosition=a},_doCallback:function(d,b,c,f,a,e){!this.get_isInAsyncPostBack()&&this._originalDoCallback(d,b,c,f,a,e)},_doPostBack:function(e,l){var d=this;d._additionalInput=a;var j=d._form;if(e===a||typeof e===g||d._isCrossPost){d._postBackSettings=d._createPostBackSettings(b);d._isCrossPost=b}else{var f=d._masterPageUniqueID,k=d._uniqueIDToClientID(e),i=document.getElementById(k);if(!i&&f)if(k.indexOf(f+"$")===0)i=document.getElementById(k.substr(f.length+1));if(!i)if(Array.contains(d._asyncPostBackControlIDs,e))d._postBackSettings=d._createPostBackSettings(c,a,e);else if(Array.contains(d._postBackControlIDs,e))d._postBackSettings=d._createPostBackSettings(b);else{var h=d._findNearestElement(e);if(h)d._postBackSettings=d._getPostBackSettings(h,e);else{if(f){f+="$";if(e.indexOf(f)===0)h=d._findNearestElement(e.substr(f.length))}if(h)d._postBackSettings=d._getPostBackSettings(h,e);else d._postBackSettings=d._createPostBackSettings(b)}}else d._postBackSettings=d._getPostBackSettings(i,e)}if(!d._postBackSettings.async){j.onsubmit=d._onsubmit;d._originalDoPostBack(e,l);j.onsubmit=a;return}j.__EVENTTARGET.value=e;j.__EVENTARGUMENT.value=l;d._onFormSubmit()},_doPostBackWithOptions:function(a){this._isCrossPost=a&&a.actionUrl;this._originalDoPostBackWithOptions(a)},_elementContains:function(d,a){while(a){if(a===d)return c;a=a.parentNode}return b},_endPostBack:function(d,f,g){var c=this;if(c._request===f.get_webRequest()){c._processingRequest=b;c._additionalInput=a;c._request=a}var e=new Sys.WebForms.EndRequestEventArgs(d,g?g.dataItems:{},f);Sys.Observer.raiseEvent(c,o,e);if(d&&!e.get_errorHandled())throw d;},_ensureUniqueIds:function(a){if(!a)return a;a=a instanceof Array?a:[a];for(var c=[],b=0,g=a.length;b<g;b++){var f=a[b],e=Array.indexOf(this._updatePanelClientIDs,f);c.push(e>d?this._updatePanelIDs[e]:f)}return c},_findNearestElement:function(b){while(b.length>0){var f=this._uniqueIDToClientID(b),e=document.getElementById(f);if(e)return e;var c=b.lastIndexOf("$");if(c===d)return a;b=b.substring(0,c)}return a},_findText:function(b,a){var c=Math.max(0,a-20),d=Math.min(b.length,a+20);return b.substring(c,d)},_fireDefaultButton:function(d,h){if(d.keyCode===13){var f=d.srcElement||d.target;if(!f||f.tagName.toLowerCase()!=="textarea"){var e=document.getElementById(h);if(e&&typeof e.click!==g){this._activeDefaultButton=e;this._activeDefaultButtonClicked=b;try{e.click()}finally{this._activeDefaultButton=a}d.cancelBubble=c;typeof d.stopPropagation===u&&d.stopPropagation();return b}}}return c},_getPageLoadedEventArgs:function(r,g){var q=[],p=[],o=g?g.version4:b,h=g?g.updatePanelData:a,i,k,l,e;if(!h){i=this._updatePanelIDs;k=this._updatePanelClientIDs;l=a;e=a}else{i=h.updatePanelIDs;k=h.updatePanelClientIDs;l=h.childUpdatePanelIDs;e=h.panelsToRefreshIDs}var c,j,n,m;if(e)for(c=0,j=e.length;c<j;c+=o?2:1){n=e[c];m=(o?e[c+1]:f)||this._uniqueIDToClientID(n);Array.add(q,document.getElementById(m))}for(c=0,j=i.length;c<j;c++)(r||Array.indexOf(l,i[c])!==d)&&Array.add(p,document.getElementById(k[c]));return new Sys.WebForms.PageLoadedEventArgs(q,p,g?g.dataItems:{})},_getPageLoadingEventArgs:function(h){var l=[],k=[],c=h.updatePanelData,m=c.oldUpdatePanelIDs,n=c.oldUpdatePanelClientIDs,p=c.updatePanelIDs,o=c.childUpdatePanelIDs,e=c.panelsToRefreshIDs,a,g,b,i,j=h.version4;for(a=0,g=e.length;a<g;a+=j?2:1){b=e[a];i=(j?e[a+1]:f)||this._uniqueIDToClientID(b);Array.add(l,document.getElementById(i))}for(a=0,g=m.length;a<g;a++){b=m[a];Array.indexOf(e,b)===d&&(Array.indexOf(p,b)===d||Array.indexOf(o,b)>d)&&Array.add(k,document.getElementById(n[a]))}return new Sys.WebForms.PageLoadingEventArgs(l,k,h.dataItems)},_getPostBackSettings:function(f,h){var e=this,i=f,g=a;while(f){if(f.id){if(!g&&Array.contains(e._asyncPostBackControlClientIDs,f.id))g=e._createPostBackSettings(c,a,h,i);else if(!g&&Array.contains(e._postBackControlClientIDs,f.id))return e._createPostBackSettings(b);else{var j=Array.indexOf(e._updatePanelClientIDs,f.id);if(j!==d)return e._updatePanelHasChildrenAsTriggers[j]?e._createPostBackSettings(c,[e._updatePanelIDs[j]],h,i):e._createPostBackSettings(c,a,h,i)}if(!g&&e._matchesParentIDInList(f.id,e._asyncPostBackControlClientIDs))g=e._createPostBackSettings(c,a,h,i);else if(!g&&e._matchesParentIDInList(f.id,e._postBackControlClientIDs))return e._createPostBackSettings(b)}f=f.parentNode}return!g?e._createPostBackSettings(b):g},_getScrollPosition:function(){var b=this,a=document.documentElement;if(a&&(b._validPosition(a.scrollLeft)||b._validPosition(a.scrollTop)))return{x:a.scrollLeft,y:a.scrollTop};else{a=document.body;return a&&(b._validPosition(a.scrollLeft)||b._validPosition(a.scrollTop))?{x:a.scrollLeft,y:a.scrollTop}:b._validPosition(window.pageXOffset)||b._validPosition(window.pageYOffset)?{x:window.pageXOffset,y:window.pageYOffset}:{x:0,y:0}}},_initializeInternal:function(k,l,d,e,h,f,g){var b=this;if(b._prmInitialized)throw Error.invalidOperation(Sys.WebForms.Res.PRM_CannotRegisterTwice);b._prmInitialized=c;b._masterPageUniqueID=g;b._scriptManagerID=k;b._form=Sys.UI.DomElement.resolveElement(l);b._onsubmit=b._form.onsubmit;b._form.onsubmit=a;b._onFormSubmitHandler=Function.createDelegate(b,b._onFormSubmit);b._onFormElementClickHandler=Function.createDelegate(b,b._onFormElementClick);b._onWindowUnloadHandler=Function.createDelegate(b,b._onWindowUnload);Sys.UI.DomEvent.addHandler(b._form,j,b._onFormSubmitHandler);Sys.UI.DomEvent.addHandler(b._form,"click",b._onFormElementClickHandler);Sys.UI.DomEvent.addHandler(window,"unload",b._onWindowUnloadHandler);b._originalDoPostBack=window.__doPostBack;if(b._originalDoPostBack)window.__doPostBack=Function.createDelegate(b,b._doPostBack);b._originalDoPostBackWithOptions=window.WebForm_DoPostBackWithOptions;if(b._originalDoPostBackWithOptions)window.WebForm_DoPostBackWithOptions=Function.createDelegate(b,b._doPostBackWithOptions);b._originalFireDefaultButton=window.WebForm_FireDefaultButton;if(b._originalFireDefaultButton)window.WebForm_FireDefaultButton=Function.createDelegate(b,b._fireDefaultButton);b._originalDoCallback=window.WebForm_DoCallback;if(b._originalDoCallback)window.WebForm_DoCallback=Function.createDelegate(b,b._doCallback);b._pageLoadedHandler=Function.createDelegate(b,b._pageLoadedInitialLoad);Sys.UI.DomEvent.addHandler(window,i,b._pageLoadedHandler);d&&b._updateControls(d,e,h,f,c)},_matchesParentIDInList:function(e,d){for(var a=0,f=d.length;a<f;a++)if(e.startsWith(d[a]+"_"))return c;return b},_onFormElementActive:function(a,e,f){var b=this;if(a.disabled)return;b._postBackSettings=b._getPostBackSettings(a,a.name);if(a.name){var c=a.tagName.toUpperCase();if(c==="INPUT"){var d=a.type;if(d===j)b._additionalInput=encodeURIComponent(a.name)+h+encodeURIComponent(a.value);else if(d==="image")b._additionalInput=encodeURIComponent(a.name)+".x="+e+"&"+encodeURIComponent(a.name)+".y="+f}else if(c==="BUTTON"&&a.name.length!==0&&a.type===j)b._additionalInput=encodeURIComponent(a.name)+h+encodeURIComponent(a.value)}},_onFormElementClick:function(a){this._activeDefaultButtonClicked=a.target===this._activeDefaultButton;this._onFormElementActive(a.target,a.offsetX,a.offsetY)},_onFormSubmit:function(r){var e=this,m,C,q=c,D=e._isCrossPost;e._isCrossPost=b;if(e._onsubmit)q=e._onsubmit();if(q)for(m=0,C=e._onSubmitStatements.length;m<C;m++)if(!e._onSubmitStatements[m]()){q=b;break}if(!q){r&&r.preventDefault();return}var w=e._form;if(D)return;e._activeDefaultButton&&!e._activeDefaultButtonClicked&&e._onFormElementActive(e._activeDefaultButton,0,0);if(!e._postBackSettings||!e._postBackSettings.async)return;var f=new Sys.StringBuilder,F=w.elements.length,z=e._createPanelID(a,e._postBackSettings);f.append(z);for(m=0;m<F;m++){var l=w.elements[m],o=l.name;if(typeof o===g||o===a||o.length===0||o===e._scriptManagerID)continue;var v=l.tagName.toUpperCase();if(v==="INPUT"){var t=l.type;if(t==="text"||t==="password"||t==="hidden"||(t==="checkbox"||t==="radio")&&l.checked){f.append(encodeURIComponent(o));f.append(h);f.append(encodeURIComponent(l.value));f.append("&")}}else if(v==="SELECT")for(var E=l.options.length,x=0;x<E;x++){var A=l.options[x];if(A.selected){f.append(encodeURIComponent(o));f.append(h);f.append(encodeURIComponent(A.value));f.append("&")}}else if(v==="TEXTAREA"){f.append(encodeURIComponent(o));f.append(h);f.append(encodeURIComponent(l.value));f.append("&")}}f.append("__ASYNCPOST=true&");if(e._additionalInput){f.append(e._additionalInput);e._additionalInput=a}var i=new Sys.Net.WebRequest,j=w.action;if(Sys.Browser.agent===Sys.Browser.InternetExplorer){var y=j.indexOf("#");if(y!==d)j=j.substr(0,y);var u=j.indexOf("?");if(u!==d){var B=j.substr(0,u);if(B.indexOf("%")===d)j=encodeURI(B)+j.substr(u)}else if(j.indexOf("%")===d)j=encodeURI(j)}i.set_url(j);i.get_headers()["X-MicrosoftAjax"]="Delta=true";i.get_headers()["Cache-Control"]="no-cache";i.set_timeout(e._asyncPostBackTimeout);i.add_completed(Function.createDelegate(e,e._onFormSubmitCompleted));i.set_body(f.toString());var s,k;s=e._postBackSettings.panelsToUpdate;k=new Sys.WebForms.InitializeRequestEventArgs(i,e._postBackSettings.sourceElement,s);Sys.Observer.raiseEvent(e,p,k);q=!k.get_cancel();if(!q){r&&r.preventDefault();return}if(k&&k._updated){s=k.get_updatePanelsToUpdate();i.set_body(i.get_body().replace(z,e._createPanelID(s,e._postBackSettings)))}e._scrollPosition=e._getScrollPosition();e.abortPostBack();k=new Sys.WebForms.BeginRequestEventArgs(i,e._postBackSettings.sourceElement,s||e._postBackSettings.panelsToUpdate);Sys.Observer.raiseEvent(e,n,k);e._originalDoCallback&&e._cancelPendingCallbacks();e._request=i;e._processingRequest=b;i.invoke();r&&r.preventDefault()},_onFormSubmitCompleted:function(h){var d=this;d._processingRequest=c;if(h.get_timedOut()){d._endPostBack(d._createPageRequestManagerTimeoutError(),h,a);return}if(h.get_aborted()){d._endPostBack(a,h,a);return}if(!d._request||h.get_webRequest()!==d._request)return;if(h.get_statusCode()!==200){d._endPostBack(d._createPageRequestManagerServerError(h.get_statusCode()),h,a);return}var e=d._parseDelta(h);if(!e)return;var g,j;if(e.asyncPostBackControlIDsNode&&e.postBackControlIDsNode&&e.updatePanelIDsNode&&e.panelsToRefreshNode&&e.childUpdatePanelIDsNode){var x=d._updatePanelIDs,t=d._updatePanelClientIDs,n=e.childUpdatePanelIDsNode.content,v=n.length?n.split(","):[],s=d._splitNodeIntoArray(e.asyncPostBackControlIDsNode),u=d._splitNodeIntoArray(e.postBackControlIDsNode),w=d._splitNodeIntoArray(e.updatePanelIDsNode),l=d._splitNodeIntoArray(e.panelsToRefreshNode),m=e.version4;for(g=0,j=l.length;g<j;g+=m?2:1){var o=(m?l[g+1]:f)||d._uniqueIDToClientID(l[g]);if(!document.getElementById(o)){d._endPostBack(Error.invalidOperation(String.format(Sys.WebForms.Res.PRM_MissingPanel,o)),h,e);return}}var k=d._processUpdatePanelArrays(w,s,u,m);k.oldUpdatePanelIDs=x;k.oldUpdatePanelClientIDs=t;k.childUpdatePanelIDs=v;k.panelsToRefreshIDs=l;e.updatePanelData=k}e.dataItems={};var i;for(g=0,j=e.dataItemNodes.length;g<j;g++){i=e.dataItemNodes[g];e.dataItems[i.id]=i.content}for(g=0,j=e.dataItemJsonNodes.length;g<j;g++){i=e.dataItemJsonNodes[g];e.dataItems[i.id]=Sys.Serialization.JavaScriptSerializer.deserialize(i.content)}var q=Sys.Observer._getContext(d,c).events.getHandler(r);q&&q(d,d._getPageLoadingEventArgs(e));Sys._ScriptLoader.readLoadedScripts();Sys.Application.beginCreateComponents();var p=Sys._ScriptLoader.getInstance();d._queueScripts(p,e.scriptBlockNodes,c,b);d._processingRequest=c;p.loadScripts(0,Function.createDelegate(d,Function.createCallback(d._scriptIncludesLoadComplete,e)),Function.createDelegate(d,Function.createCallback(d._scriptIncludesLoadFailed,e)),a)},_onWindowUnload:function(){this.dispose()},_pageLoaded:function(a,b){Sys.Observer.raiseEvent(this,q,this._getPageLoadedEventArgs(a,b));!a&&Sys.Application.raiseLoad()},_pageLoadedInitialLoad:function(){this._pageLoaded(c,a)},_parseDelta:function(n){var h=this,g=n.get_responseData(),i,o,K,L,J,f=0,j=a,p=[];while(f<g.length){i=g.indexOf("|",f);if(i===d){j=h._findText(g,f);break}o=parseInt(g.substring(f,i),10);if(o%1!==0){j=h._findText(g,f);break}f=i+1;i=g.indexOf("|",f);if(i===d){j=h._findText(g,f);break}K=g.substring(f,i);f=i+1;i=g.indexOf("|",f);if(i===d){j=h._findText(g,f);break}L=g.substring(f,i);f=i+1;if(f+o>=g.length){j=h._findText(g,g.length);break}J=g.substr(f,o);f+=o;if(g.charAt(f)!=="|"){j=h._findText(g,f);break}f++;Array.add(p,{type:K,id:L,content:J})}if(j){h._endPostBack(h._createPageRequestManagerParserError(String.format(Sys.WebForms.Res.PRM_ParserErrorDetails,j)),n,a);return a}for(var D=[],B=[],v=[],C=[],y=[],I=[],G=[],F=[],A=[],x=[],r,u,z,s,t,w,E,m,q=0,M=p.length;q<M;q++){var e=p[q];switch(e.type){case"#":m=e;break;case"updatePanel":Array.add(D,e);break;case"hiddenField":Array.add(B,e);break;case"arrayDeclaration":Array.add(v,e);break;case"scriptBlock":Array.add(C,e);break;case"scriptStartupBlock":Array.add(y,e);break;case"expando":Array.add(I,e);break;case"onSubmit":Array.add(G,e);break;case"asyncPostBackControlIDs":r=e;break;case"postBackControlIDs":u=e;break;case"updatePanelIDs":z=e;break;case"asyncPostBackTimeout":s=e;break;case"childUpdatePanelIDs":t=e;break;case"panelsToRefreshIDs":w=e;break;case"formAction":E=e;break;case"dataItem":Array.add(F,e);break;case"dataItemJson":Array.add(A,e);break;case"scriptDispose":Array.add(x,e);break;case"pageRedirect":if(m&&parseFloat(m.content)>=4)e.content=unescape(e.content);if(Sys.Browser.agent===Sys.Browser.InternetExplorer){var k=document.createElement("a");k.style.display="none";k.attachEvent("onclick",H);k.href=e.content;h._form.parentNode.insertBefore(k,h._form);k.click();k.detachEvent("onclick",H);h._form.parentNode.removeChild(k);function H(a){a.cancelBubble=c}}else window.location.href=e.content;return a;case l:h._endPostBack(h._createPageRequestManagerServerError(Number.parseInvariant(e.id),e.content),n,a);return a;case"pageTitle":document.title=e.content;break;case"focus":h._controlIDToFocus=e.content;break;default:h._endPostBack(h._createPageRequestManagerParserError(String.format(Sys.WebForms.Res.PRM_UnknownToken,e.type)),n,a);return a}}return{version4:m?parseFloat(m.content)>=4:b,executor:n,updatePanelNodes:D,hiddenFieldNodes:B,arrayDeclarationNodes:v,scriptBlockNodes:C,scriptStartupNodes:y,expandoNodes:I,onSubmitNodes:G,dataItemNodes:F,dataItemJsonNodes:A,scriptDisposeNodes:x,asyncPostBackControlIDsNode:r,postBackControlIDsNode:u,updatePanelIDsNode:z,asyncPostBackTimeoutNode:s,childUpdatePanelIDsNode:t,panelsToRefreshNode:w,formActionNode:E}},_processUpdatePanelArrays:function(e,r,s,g){var d,c,b;if(e){var j=e.length,k=g?2:1;d=new Array(j/k);c=new Array(j/k);b=new Array(j/k);for(var h=0,i=0;h<j;h+=k,i++){var q,a=e[h],l=g?e[h+1]:f;q=a.charAt(0)==="t";a=a.substr(1);if(!l)l=this._uniqueIDToClientID(a);b[i]=q;d[i]=a;c[i]=l}}else{d=[];c=[];b=[]}var o=[],m=[];this._convertToClientIDs(r,o,m,g);var p=[],n=[];this._convertToClientIDs(s,p,n,g);return{updatePanelIDs:d,updatePanelClientIDs:c,updatePanelHasChildrenAsTriggers:b,asyncPostBackControlIDs:o,asyncPostBackControlClientIDs:m,postBackControlIDs:p,postBackControlClientIDs:n}},_queueScripts:function(d,b,e,f){for(var a=0,h=b.length;a<h;a++){var g=b[a].id;switch(g){case"ScriptContentNoTags":if(!f)continue;d.queueScriptBlock(b[a].content);break;case"ScriptContentWithTags":var c=window.eval("("+b[a].content+")");if(c.src){if(!e||Sys._ScriptLoader.isScriptLoaded(c.src))continue}else if(!f)continue;d.queueCustomScriptTag(c);break;case"ScriptPath":if(!e||Sys._ScriptLoader.isScriptLoaded(b[a].content))continue;d.queueScriptReference(b[a].content)}}},_registerDisposeScript:function(a,b){if(!this._scriptDisposes[a])this._scriptDisposes[a]=[b];else Array.add(this._scriptDisposes[a],b)},_scriptIncludesLoadComplete:function(j,e){var i=this;if(e.executor.get_webRequest()!==i._request)return;i._commitControls(e.updatePanelData,e.asyncPostBackTimeoutNode?e.asyncPostBackTimeoutNode.content:a);if(e.formActionNode)i._form.action=e.formActionNode.content;var d,h,g;for(d=0,h=e.updatePanelNodes.length;d<h;d++){g=e.updatePanelNodes[d];var o=document.getElementById(g.id);if(!o){i._endPostBack(Error.invalidOperation(String.format(Sys.WebForms.Res.PRM_MissingPanel,g.id)),e.executor,e);return}i._updatePanel(o,g.content)}for(d=0,h=e.scriptDisposeNodes.length;d<h;d++){g=e.scriptDisposeNodes[d];i._registerDisposeScript(g.id,g.content)}for(d=0,h=i._transientFields.length;d<h;d++){var l=document.getElementById(i._transientFields[d]);if(l){var p=l._isContained?l.parentNode:l;p.parentNode.removeChild(p)}}for(d=0,h=e.hiddenFieldNodes.length;d<h;d++){g=e.hiddenFieldNodes[d];i._createHiddenField(g.id,g.content)}if(e.scriptsFailed)throw Sys._ScriptLoader._errorScriptLoadFailed(e.scriptsFailed.src,e.scriptsFailed.multipleCallbacks);i._queueScripts(j,e.scriptBlockNodes,b,c);var n=f;for(d=0,h=e.arrayDeclarationNodes.length;d<h;d++){g=e.arrayDeclarationNodes[d];n+="Sys.WebForms.PageRequestManager._addArrayElement('"+g.id+"', "+g.content+");\r\n"}var m=f;for(d=0,h=e.expandoNodes.length;d<h;d++){g=e.expandoNodes[d];m+=g.id+" = "+g.content+"\r\n"}n.length&&j.queueScriptBlock(n);m.length&&j.queueScriptBlock(m);i._queueScripts(j,e.scriptStartupNodes,c,c);var k=f;for(d=0,h=e.onSubmitNodes.length;d<h;d++){if(d===0)k="Array.add(Sys.WebForms.PageRequestManager.getInstance()._onSubmitStatements, function() {\r\n";k+=e.onSubmitNodes[d].content+"\r\n"}if(k.length){k+="\r\nreturn true;\r\n});\r\n";j.queueScriptBlock(k)}j.loadScripts(0,Function.createDelegate(i,Function.createCallback(i._scriptsLoadComplete,e)),a,a)},_scriptIncludesLoadFailed:function(d,c,b,a){a.scriptsFailed={src:c.src,multipleCallbacks:b};this._scriptIncludesLoadComplete(d,a)},_scriptsLoadComplete:function(k,h){var c=this,j=h.executor;if(window.__theFormPostData)window.__theFormPostData=f;if(window.__theFormPostCollection)window.__theFormPostCollection=[];window.WebForm_InitCallback&&window.WebForm_InitCallback();if(c._scrollPosition){window.scrollTo&&window.scrollTo(c._scrollPosition.x,c._scrollPosition.y);c._scrollPosition=a}Sys.Application.endCreateComponents();c._pageLoaded(b,h);c._endPostBack(a,j,h);if(c._controlIDToFocus){var d,i;if(Sys.Browser.agent===Sys.Browser.InternetExplorer){var e=$get(c._controlIDToFocus);d=e;if(e&&!WebForm_CanFocus(e))d=WebForm_FindFirstFocusableChild(e);if(d&&typeof d.contentEditable!==g){i=d.contentEditable;d.contentEditable=b}else d=a}WebForm_AutoFocus(c._controlIDToFocus);if(d)d.contentEditable=i;c._controlIDToFocus=a}},_splitNodeIntoArray:function(b){var a=b.content,c=a.length?a.split(","):[];return c},_uniqueIDToClientID:function(a){return a.replace(/\$/g,"_")},_updateControls:function(d,a,c,b,e){this._commitControls(this._processUpdatePanelArrays(d,a,c,e),b)},_updatePanel:function(b,g){var a=this;for(var d in a._scriptDisposes)if(a._elementContains(b,document.getElementById(d))){for(var f=a._scriptDisposes[d],e=0,h=f.length;e<h;e++)window.eval(f[e]);delete a._scriptDisposes[d]}Sys.Application.disposeElement(b,c);b.innerHTML=g},_validPosition:function(b){return typeof b!==g&&b!==a&&b!==0}};e.getInstance=function(){var a=Sys.WebForms.PageRequestManager._instance;if(!a)a=Sys.WebForms.PageRequestManager._instance=new Sys.WebForms.PageRequestManager;return a};e._addArrayElement=function(a){if(!window[a])window[a]=[];for(var b=1,c=arguments.length;b<c;b++)Array.add(window[a],arguments[b])};e._initialize=function(){var a=Sys.WebForms.PageRequestManager.getInstance();a._initializeInternal.apply(a,arguments)};e.registerClass("Sys.WebForms.PageRequestManager");e=Sys.UI._UpdateProgress=function(d){var b=this;Sys.UI._UpdateProgress.initializeBase(b,[d]);b._displayAfter=500;b._dynamicLayout=c;b._associatedUpdatePanelId=a;b._beginRequestHandlerDelegate=a;b._startDelegate=a;b._endRequestHandlerDelegate=a;b._pageRequestManager=a;b._timerCookie=a};e.prototype={get_displayAfter:function(){return this._displayAfter},set_displayAfter:function(a){this._displayAfter=a},get_dynamicLayout:function(){return this._dynamicLayout},set_dynamicLayout:function(a){this._dynamicLayout=a},get_associatedUpdatePanelId:function(){return this._associatedUpdatePanelId},set_associatedUpdatePanelId:function(a){this._associatedUpdatePanelId=a},get_role:function(){return k},_clearTimeout:function(){if(this._timerCookie){window.clearTimeout(this._timerCookie);this._timerCookie=a}},_getUniqueID:function(c){var b=Array.indexOf(this._pageRequestManager._updatePanelClientIDs,c);return b===d?a:this._pageRequestManager._updatePanelIDs[b]},_handleBeginRequest:function(i,h){var a=this,e=h.get_postBackElement(),d=c,g=a._associatedUpdatePanelId;if(a._associatedUpdatePanelId){var f=h.get_updatePanelsToUpdate();if(f&&f.length)d=Array.contains(f,g)||Array.contains(f,a._getUniqueID(g));else d=b}while(!d&&e){if(e.id&&a._associatedUpdatePanelId===e.id)d=c;e=e.parentNode}if(d)a._timerCookie=window.setTimeout(a._startDelegate,a._displayAfter)},_startRequest:function(){var b=this;if(b._pageRequestManager.get_isInAsyncPostBack()){var c=b.get_element();if(b._dynamicLayout)c.style.display="block";else c.style.visibility="visible";b.get_role()===k&&c.setAttribute(s,"false")}b._timerCookie=a},_handleEndRequest:function(){var a=this,b=a.get_element();if(a._dynamicLayout)b.style.display="none";else b.style.visibility="hidden";a.get_role()===k&&b.setAttribute(s,"true");a._clearTimeout()},dispose:function(){var b=this;if(b._beginRequestHandlerDelegate!==a){b._pageRequestManager.remove_beginRequest(b._beginRequestHandlerDelegate);b._pageRequestManager.remove_endRequest(b._endRequestHandlerDelegate);b._beginRequestHandlerDelegate=a;b._endRequestHandlerDelegate=a}b._clearTimeout();Sys.UI._UpdateProgress.callBaseMethod(b,"dispose")},initialize:function(){var b=this;Sys.UI._UpdateProgress.callBaseMethod(b,"initialize");b.get_role()===k&&b.get_element().setAttribute(s,"true");b._beginRequestHandlerDelegate=Function.createDelegate(b,b._handleBeginRequest);b._endRequestHandlerDelegate=Function.createDelegate(b,b._handleEndRequest);b._startDelegate=Function.createDelegate(b,b._startRequest);if(Sys.WebForms&&Sys.WebForms.PageRequestManager)b._pageRequestManager=Sys.WebForms.PageRequestManager.getInstance();if(b._pageRequestManager!==a){b._pageRequestManager.add_beginRequest(b._beginRequestHandlerDelegate);b._pageRequestManager.add_endRequest(b._endRequestHandlerDelegate)}}};e.registerClass("Sys.UI._UpdateProgress",Sys.UI.Control)}if(window.Sys&&Sys.loader)Sys.loader.registerScript("WebForms",["ComponentModel","Serialization","Network"],a);else a()})();
|
|
1255
|
+
Type.registerNamespace('Sys.WebForms');Sys.WebForms.Res={"PRM_UnknownToken":"Unknown token: \u0027{0}\u0027.","PRM_MissingPanel":"Could not find UpdatePanel with ID \u0027{0}\u0027. If it is being updated dynamically then it must be inside another UpdatePanel.","PRM_ServerError":"An unknown error occurred while processing the request on the server. The status code returned from the server was: {0}","PRM_ParserError":"The message received from the server could not be parsed. Common causes for this error are when the response is modified by calls to Response.Write(), response filters, HttpModules, or server trace is enabled.\r\nDetails: {0}","PRM_TimeoutError":"The server request timed out.","PRM_ParserErrorDetails":"Error parsing near \u0027{0}\u0027.","PRM_CannotRegisterTwice":"The PageRequestManager cannot be initialized more than once."};
|
|
1256
|
+
var __rootMenuItem;
|
|
1257
|
+
var __menuInterval;
|
|
1258
|
+
var __scrollPanel;
|
|
1259
|
+
var __disappearAfter = 500;
|
|
1260
|
+
function Menu_ClearInterval() {
|
|
1261
|
+
if (__menuInterval) {
|
|
1262
|
+
window.clearInterval(__menuInterval);
|
|
1263
|
+
}
|
|
1264
|
+
}
|
|
1265
|
+
function Menu_Collapse(item) {
|
|
1266
|
+
Menu_SetRoot(item);
|
|
1267
|
+
if (__rootMenuItem) {
|
|
1268
|
+
Menu_ClearInterval();
|
|
1269
|
+
if (__disappearAfter >= 0) {
|
|
1270
|
+
__menuInterval = window.setInterval("Menu_HideItems()", __disappearAfter);
|
|
1271
|
+
}
|
|
1272
|
+
}
|
|
1273
|
+
}
|
|
1274
|
+
function Menu_Expand(item, horizontalOffset, verticalOffset, hideScrollers) {
|
|
1275
|
+
Menu_ClearInterval();
|
|
1276
|
+
var tr = item.parentNode.parentNode.parentNode.parentNode.parentNode;
|
|
1277
|
+
var horizontal = true;
|
|
1278
|
+
if (!tr.id) {
|
|
1279
|
+
horizontal = false;
|
|
1280
|
+
tr = tr.parentNode;
|
|
1281
|
+
}
|
|
1282
|
+
var child = Menu_FindSubMenu(item);
|
|
1283
|
+
if (child) {
|
|
1284
|
+
var data = Menu_GetData(item);
|
|
1285
|
+
if (!data) {
|
|
1286
|
+
return null;
|
|
1287
|
+
}
|
|
1288
|
+
child.rel = tr.id;
|
|
1289
|
+
child.x = horizontalOffset;
|
|
1290
|
+
child.y = verticalOffset;
|
|
1291
|
+
if (horizontal) child.pos = "bottom";
|
|
1292
|
+
PopOut_Show(child.id, hideScrollers, data);
|
|
1293
|
+
}
|
|
1294
|
+
Menu_SetRoot(item);
|
|
1295
|
+
if (child) {
|
|
1296
|
+
if (!document.body.__oldOnClick && document.body.onclick) {
|
|
1297
|
+
document.body.__oldOnClick = document.body.onclick;
|
|
1298
|
+
}
|
|
1299
|
+
if (__rootMenuItem) {
|
|
1300
|
+
document.body.onclick = Menu_HideItems;
|
|
1301
|
+
}
|
|
1302
|
+
}
|
|
1303
|
+
Menu_ResetSiblings(tr);
|
|
1304
|
+
return child;
|
|
1305
|
+
}
|
|
1306
|
+
function Menu_FindMenu(item) {
|
|
1307
|
+
if (item && item.menu) return item.menu;
|
|
1308
|
+
var tr = item.parentNode.parentNode.parentNode.parentNode.parentNode;
|
|
1309
|
+
if (!tr.id) {
|
|
1310
|
+
tr = tr.parentNode;
|
|
1311
|
+
}
|
|
1312
|
+
for (var i = tr.id.length - 1; i >= 0; i--) {
|
|
1313
|
+
if (tr.id.charAt(i) < '0' || tr.id.charAt(i) > '9') {
|
|
1314
|
+
var menu = WebForm_GetElementById(tr.id.substr(0, i));
|
|
1315
|
+
if (menu) {
|
|
1316
|
+
item.menu = menu;
|
|
1317
|
+
return menu;
|
|
1318
|
+
}
|
|
1319
|
+
}
|
|
1320
|
+
}
|
|
1321
|
+
return null;
|
|
1322
|
+
}
|
|
1323
|
+
function Menu_FindNext(item) {
|
|
1324
|
+
var a = WebForm_GetElementByTagName(item, "A");
|
|
1325
|
+
var parent = Menu_FindParentContainer(item);
|
|
1326
|
+
var first = null;
|
|
1327
|
+
if (parent) {
|
|
1328
|
+
var links = WebForm_GetElementsByTagName(parent, "A");
|
|
1329
|
+
var match = false;
|
|
1330
|
+
for (var i = 0; i < links.length; i++) {
|
|
1331
|
+
var link = links[i];
|
|
1332
|
+
if (Menu_IsSelectable(link)) {
|
|
1333
|
+
if (Menu_FindParentContainer(link) == parent) {
|
|
1334
|
+
if (match) {
|
|
1335
|
+
return link;
|
|
1336
|
+
}
|
|
1337
|
+
else if (!first) {
|
|
1338
|
+
first = link;
|
|
1339
|
+
}
|
|
1340
|
+
}
|
|
1341
|
+
if (!match && link == a) {
|
|
1342
|
+
match = true;
|
|
1343
|
+
}
|
|
1344
|
+
}
|
|
1345
|
+
}
|
|
1346
|
+
}
|
|
1347
|
+
return first;
|
|
1348
|
+
}
|
|
1349
|
+
function Menu_FindParentContainer(item) {
|
|
1350
|
+
if (item.menu_ParentContainerCache) return item.menu_ParentContainerCache;
|
|
1351
|
+
var a = (item.tagName.toLowerCase() == "a") ? item : WebForm_GetElementByTagName(item, "A");
|
|
1352
|
+
var menu = Menu_FindMenu(a);
|
|
1353
|
+
if (menu) {
|
|
1354
|
+
var parent = item;
|
|
1355
|
+
while (parent && parent.tagName &&
|
|
1356
|
+
parent.id != menu.id &&
|
|
1357
|
+
parent.tagName.toLowerCase() != "div") {
|
|
1358
|
+
parent = parent.parentNode;
|
|
1359
|
+
}
|
|
1360
|
+
item.menu_ParentContainerCache = parent;
|
|
1361
|
+
return parent;
|
|
1362
|
+
}
|
|
1363
|
+
}
|
|
1364
|
+
function Menu_FindParentItem(item) {
|
|
1365
|
+
var parentContainer = Menu_FindParentContainer(item);
|
|
1366
|
+
var parentContainerID = parentContainer.id;
|
|
1367
|
+
var len = parentContainerID.length;
|
|
1368
|
+
if (parentContainerID && parentContainerID.substr(len - 5) == "Items") {
|
|
1369
|
+
var parentItemID = parentContainerID.substr(0, len - 5);
|
|
1370
|
+
return WebForm_GetElementById(parentItemID);
|
|
1371
|
+
}
|
|
1372
|
+
return null;
|
|
1373
|
+
}
|
|
1374
|
+
function Menu_FindPrevious(item) {
|
|
1375
|
+
var a = WebForm_GetElementByTagName(item, "A");
|
|
1376
|
+
var parent = Menu_FindParentContainer(item);
|
|
1377
|
+
var last = null;
|
|
1378
|
+
if (parent) {
|
|
1379
|
+
var links = WebForm_GetElementsByTagName(parent, "A");
|
|
1380
|
+
for (var i = 0; i < links.length; i++) {
|
|
1381
|
+
var link = links[i];
|
|
1382
|
+
if (Menu_IsSelectable(link)) {
|
|
1383
|
+
if (link == a && last) {
|
|
1384
|
+
return last;
|
|
1385
|
+
}
|
|
1386
|
+
if (Menu_FindParentContainer(link) == parent) {
|
|
1387
|
+
last = link;
|
|
1388
|
+
}
|
|
1389
|
+
}
|
|
1390
|
+
}
|
|
1391
|
+
}
|
|
1392
|
+
return last;
|
|
1393
|
+
}
|
|
1394
|
+
function Menu_FindSubMenu(item) {
|
|
1395
|
+
var tr = item.parentNode.parentNode.parentNode.parentNode.parentNode;
|
|
1396
|
+
if (!tr.id) {
|
|
1397
|
+
tr=tr.parentNode;
|
|
1398
|
+
}
|
|
1399
|
+
return WebForm_GetElementById(tr.id + "Items");
|
|
1400
|
+
}
|
|
1401
|
+
function Menu_Focus(item) {
|
|
1402
|
+
if (item && item.focus) {
|
|
1403
|
+
var pos = WebForm_GetElementPosition(item);
|
|
1404
|
+
var parentContainer = Menu_FindParentContainer(item);
|
|
1405
|
+
if (!parentContainer.offset) {
|
|
1406
|
+
parentContainer.offset = 0;
|
|
1407
|
+
}
|
|
1408
|
+
var posParent = WebForm_GetElementPosition(parentContainer);
|
|
1409
|
+
var delta;
|
|
1410
|
+
if (pos.y + pos.height > posParent.y + parentContainer.offset + parentContainer.clippedHeight) {
|
|
1411
|
+
delta = pos.y + pos.height - posParent.y - parentContainer.offset - parentContainer.clippedHeight;
|
|
1412
|
+
PopOut_Scroll(parentContainer, delta);
|
|
1413
|
+
}
|
|
1414
|
+
else if (pos.y < posParent.y + parentContainer.offset) {
|
|
1415
|
+
delta = posParent.y + parentContainer.offset - pos.y;
|
|
1416
|
+
PopOut_Scroll(parentContainer, -delta);
|
|
1417
|
+
}
|
|
1418
|
+
PopOut_HideScrollers(parentContainer);
|
|
1419
|
+
item.focus();
|
|
1420
|
+
}
|
|
1421
|
+
}
|
|
1422
|
+
function Menu_GetData(item) {
|
|
1423
|
+
if (!item.data) {
|
|
1424
|
+
var a = (item.tagName.toLowerCase() == "a" ? item : WebForm_GetElementByTagName(item, "a"));
|
|
1425
|
+
var menu = Menu_FindMenu(a);
|
|
1426
|
+
try {
|
|
1427
|
+
item.data = eval(menu.id + "_Data");
|
|
1428
|
+
}
|
|
1429
|
+
catch(e) {}
|
|
1430
|
+
}
|
|
1431
|
+
return item.data;
|
|
1432
|
+
}
|
|
1433
|
+
function Menu_HideItems(items) {
|
|
1434
|
+
if (document.body.__oldOnClick) {
|
|
1435
|
+
document.body.onclick = document.body.__oldOnClick;
|
|
1436
|
+
document.body.__oldOnClick = null;
|
|
1437
|
+
}
|
|
1438
|
+
Menu_ClearInterval();
|
|
1439
|
+
if (!items || ((typeof(items.tagName) == "undefined") && (items instanceof Event))) {
|
|
1440
|
+
items = __rootMenuItem;
|
|
1441
|
+
}
|
|
1442
|
+
var table = items;
|
|
1443
|
+
if ((typeof(table) == "undefined") || (table == null) || !table.tagName || (table.tagName.toLowerCase() != "table")) {
|
|
1444
|
+
table = WebForm_GetElementByTagName(table, "TABLE");
|
|
1445
|
+
}
|
|
1446
|
+
if ((typeof(table) == "undefined") || (table == null) || !table.tagName || (table.tagName.toLowerCase() != "table")) {
|
|
1447
|
+
return;
|
|
1448
|
+
}
|
|
1449
|
+
var rows = table.rows ? table.rows : table.firstChild.rows;
|
|
1450
|
+
var isVertical = false;
|
|
1451
|
+
for (var r = 0; r < rows.length; r++) {
|
|
1452
|
+
if (rows[r].id) {
|
|
1453
|
+
isVertical = true;
|
|
1454
|
+
break;
|
|
1455
|
+
}
|
|
1456
|
+
}
|
|
1457
|
+
var i, child, nextLevel;
|
|
1458
|
+
if (isVertical) {
|
|
1459
|
+
for(i = 0; i < rows.length; i++) {
|
|
1460
|
+
if (rows[i].id) {
|
|
1461
|
+
child = WebForm_GetElementById(rows[i].id + "Items");
|
|
1462
|
+
if (child) {
|
|
1463
|
+
Menu_HideItems(child);
|
|
1464
|
+
}
|
|
1465
|
+
}
|
|
1466
|
+
else if (rows[i].cells[0]) {
|
|
1467
|
+
nextLevel = WebForm_GetElementByTagName(rows[i].cells[0], "TABLE");
|
|
1468
|
+
if (nextLevel) {
|
|
1469
|
+
Menu_HideItems(nextLevel);
|
|
1470
|
+
}
|
|
1471
|
+
}
|
|
1472
|
+
}
|
|
1473
|
+
}
|
|
1474
|
+
else if (rows[0]) {
|
|
1475
|
+
for(i = 0; i < rows[0].cells.length; i++) {
|
|
1476
|
+
if (rows[0].cells[i].id) {
|
|
1477
|
+
child = WebForm_GetElementById(rows[0].cells[i].id + "Items");
|
|
1478
|
+
if (child) {
|
|
1479
|
+
Menu_HideItems(child);
|
|
1480
|
+
}
|
|
1481
|
+
}
|
|
1482
|
+
else {
|
|
1483
|
+
nextLevel = WebForm_GetElementByTagName(rows[0].cells[i], "TABLE");
|
|
1484
|
+
if (nextLevel) {
|
|
1485
|
+
Menu_HideItems(rows[0].cells[i].firstChild);
|
|
1486
|
+
}
|
|
1487
|
+
}
|
|
1488
|
+
}
|
|
1489
|
+
}
|
|
1490
|
+
if (items && items.id) {
|
|
1491
|
+
PopOut_Hide(items.id);
|
|
1492
|
+
}
|
|
1493
|
+
}
|
|
1494
|
+
function Menu_HoverDisabled(item) {
|
|
1495
|
+
var node = (item.tagName.toLowerCase() == "td") ?
|
|
1496
|
+
item:
|
|
1497
|
+
item.cells[0];
|
|
1498
|
+
var data = Menu_GetData(item);
|
|
1499
|
+
if (!data) return;
|
|
1500
|
+
node = WebForm_GetElementByTagName(node, "table").rows[0].cells[0].childNodes[0];
|
|
1501
|
+
if (data.disappearAfter >= 200) {
|
|
1502
|
+
__disappearAfter = data.disappearAfter;
|
|
1503
|
+
}
|
|
1504
|
+
Menu_Expand(node, data.horizontalOffset, data.verticalOffset);
|
|
1505
|
+
}
|
|
1506
|
+
function Menu_HoverDynamic(item) {
|
|
1507
|
+
var node = (item.tagName.toLowerCase() == "td") ?
|
|
1508
|
+
item:
|
|
1509
|
+
item.cells[0];
|
|
1510
|
+
var data = Menu_GetData(item);
|
|
1511
|
+
if (!data) return;
|
|
1512
|
+
var nodeTable = WebForm_GetElementByTagName(node, "table");
|
|
1513
|
+
if (data.hoverClass) {
|
|
1514
|
+
nodeTable.hoverClass = data.hoverClass;
|
|
1515
|
+
WebForm_AppendToClassName(nodeTable, data.hoverClass);
|
|
1516
|
+
}
|
|
1517
|
+
node = nodeTable.rows[0].cells[0].childNodes[0];
|
|
1518
|
+
if (data.hoverHyperLinkClass) {
|
|
1519
|
+
node.hoverHyperLinkClass = data.hoverHyperLinkClass;
|
|
1520
|
+
WebForm_AppendToClassName(node, data.hoverHyperLinkClass);
|
|
1521
|
+
}
|
|
1522
|
+
if (data.disappearAfter >= 200) {
|
|
1523
|
+
__disappearAfter = data.disappearAfter;
|
|
1524
|
+
}
|
|
1525
|
+
Menu_Expand(node, data.horizontalOffset, data.verticalOffset);
|
|
1526
|
+
}
|
|
1527
|
+
function Menu_HoverRoot(item) {
|
|
1528
|
+
var node = (item.tagName.toLowerCase() == "td") ?
|
|
1529
|
+
item:
|
|
1530
|
+
item.cells[0];
|
|
1531
|
+
var data = Menu_GetData(item);
|
|
1532
|
+
if (!data) {
|
|
1533
|
+
return null;
|
|
1534
|
+
}
|
|
1535
|
+
var nodeTable = WebForm_GetElementByTagName(node, "table");
|
|
1536
|
+
if (data.staticHoverClass) {
|
|
1537
|
+
nodeTable.hoverClass = data.staticHoverClass;
|
|
1538
|
+
WebForm_AppendToClassName(nodeTable, data.staticHoverClass);
|
|
1539
|
+
}
|
|
1540
|
+
node = nodeTable.rows[0].cells[0].childNodes[0];
|
|
1541
|
+
if (data.staticHoverHyperLinkClass) {
|
|
1542
|
+
node.hoverHyperLinkClass = data.staticHoverHyperLinkClass;
|
|
1543
|
+
WebForm_AppendToClassName(node, data.staticHoverHyperLinkClass);
|
|
1544
|
+
}
|
|
1545
|
+
return node;
|
|
1546
|
+
}
|
|
1547
|
+
function Menu_HoverStatic(item) {
|
|
1548
|
+
var node = Menu_HoverRoot(item);
|
|
1549
|
+
var data = Menu_GetData(item);
|
|
1550
|
+
if (!data) return;
|
|
1551
|
+
__disappearAfter = data.disappearAfter;
|
|
1552
|
+
Menu_Expand(node, data.horizontalOffset, data.verticalOffset);
|
|
1553
|
+
}
|
|
1554
|
+
function Menu_IsHorizontal(item) {
|
|
1555
|
+
if (item) {
|
|
1556
|
+
var a = ((item.tagName && (item.tagName.toLowerCase == "a")) ? item : WebForm_GetElementByTagName(item, "A"));
|
|
1557
|
+
if (!a) {
|
|
1558
|
+
return false;
|
|
1559
|
+
}
|
|
1560
|
+
var td = a.parentNode.parentNode.parentNode.parentNode.parentNode;
|
|
1561
|
+
if (td.id) {
|
|
1562
|
+
return true;
|
|
1563
|
+
}
|
|
1564
|
+
}
|
|
1565
|
+
return false;
|
|
1566
|
+
}
|
|
1567
|
+
function Menu_IsSelectable(link) {
|
|
1568
|
+
return (link && link.href)
|
|
1569
|
+
}
|
|
1570
|
+
function Menu_Key(item) {
|
|
1571
|
+
var event;
|
|
1572
|
+
if (item.currentTarget) {
|
|
1573
|
+
event = item;
|
|
1574
|
+
item = event.currentTarget;
|
|
1575
|
+
}
|
|
1576
|
+
else {
|
|
1577
|
+
event = window.event;
|
|
1578
|
+
}
|
|
1579
|
+
var key = (event ? event.keyCode : -1);
|
|
1580
|
+
var data = Menu_GetData(item);
|
|
1581
|
+
if (!data) return;
|
|
1582
|
+
var horizontal = Menu_IsHorizontal(item);
|
|
1583
|
+
var a = WebForm_GetElementByTagName(item, "A");
|
|
1584
|
+
var nextItem, parentItem, previousItem;
|
|
1585
|
+
if ((!horizontal && key == 38) || (horizontal && key == 37)) {
|
|
1586
|
+
previousItem = Menu_FindPrevious(item);
|
|
1587
|
+
while (previousItem && previousItem.disabled) {
|
|
1588
|
+
previousItem = Menu_FindPrevious(previousItem);
|
|
1589
|
+
}
|
|
1590
|
+
if (previousItem) {
|
|
1591
|
+
Menu_Focus(previousItem);
|
|
1592
|
+
Menu_Expand(previousItem, data.horizontalOffset, data.verticalOffset, true);
|
|
1593
|
+
event.cancelBubble = true;
|
|
1594
|
+
if (event.stopPropagation) event.stopPropagation();
|
|
1595
|
+
return;
|
|
1596
|
+
}
|
|
1597
|
+
}
|
|
1598
|
+
if ((!horizontal && key == 40) || (horizontal && key == 39)) {
|
|
1599
|
+
if (horizontal) {
|
|
1600
|
+
var subMenu = Menu_FindSubMenu(a);
|
|
1601
|
+
if (subMenu && subMenu.style && subMenu.style.visibility &&
|
|
1602
|
+
subMenu.style.visibility.toLowerCase() == "hidden") {
|
|
1603
|
+
Menu_Expand(a, data.horizontalOffset, data.verticalOffset, true);
|
|
1604
|
+
event.cancelBubble = true;
|
|
1605
|
+
if (event.stopPropagation) event.stopPropagation();
|
|
1606
|
+
return;
|
|
1607
|
+
}
|
|
1608
|
+
}
|
|
1609
|
+
nextItem = Menu_FindNext(item);
|
|
1610
|
+
while (nextItem && nextItem.disabled) {
|
|
1611
|
+
nextItem = Menu_FindNext(nextItem);
|
|
1612
|
+
}
|
|
1613
|
+
if (nextItem) {
|
|
1614
|
+
Menu_Focus(nextItem);
|
|
1615
|
+
Menu_Expand(nextItem, data.horizontalOffset, data.verticalOffset, true);
|
|
1616
|
+
event.cancelBubble = true;
|
|
1617
|
+
if (event.stopPropagation) event.stopPropagation();
|
|
1618
|
+
return;
|
|
1619
|
+
}
|
|
1620
|
+
}
|
|
1621
|
+
if ((!horizontal && key == 39) || (horizontal && key == 40)) {
|
|
1622
|
+
var children = Menu_Expand(a, data.horizontalOffset, data.verticalOffset, true);
|
|
1623
|
+
if (children) {
|
|
1624
|
+
var firstChild;
|
|
1625
|
+
children = WebForm_GetElementsByTagName(children, "A");
|
|
1626
|
+
for (var i = 0; i < children.length; i++) {
|
|
1627
|
+
if (!children[i].disabled && Menu_IsSelectable(children[i])) {
|
|
1628
|
+
firstChild = children[i];
|
|
1629
|
+
break;
|
|
1630
|
+
}
|
|
1631
|
+
}
|
|
1632
|
+
if (firstChild) {
|
|
1633
|
+
Menu_Focus(firstChild);
|
|
1634
|
+
Menu_Expand(firstChild, data.horizontalOffset, data.verticalOffset, true);
|
|
1635
|
+
event.cancelBubble = true;
|
|
1636
|
+
if (event.stopPropagation) event.stopPropagation();
|
|
1637
|
+
return;
|
|
1638
|
+
}
|
|
1639
|
+
}
|
|
1640
|
+
else {
|
|
1641
|
+
parentItem = Menu_FindParentItem(item);
|
|
1642
|
+
while (parentItem && !Menu_IsHorizontal(parentItem)) {
|
|
1643
|
+
parentItem = Menu_FindParentItem(parentItem);
|
|
1644
|
+
}
|
|
1645
|
+
if (parentItem) {
|
|
1646
|
+
nextItem = Menu_FindNext(parentItem);
|
|
1647
|
+
while (nextItem && nextItem.disabled) {
|
|
1648
|
+
nextItem = Menu_FindNext(nextItem);
|
|
1649
|
+
}
|
|
1650
|
+
if (nextItem) {
|
|
1651
|
+
Menu_Focus(nextItem);
|
|
1652
|
+
Menu_Expand(nextItem, data.horizontalOffset, data.verticalOffset, true);
|
|
1653
|
+
event.cancelBubble = true;
|
|
1654
|
+
if (event.stopPropagation) event.stopPropagation();
|
|
1655
|
+
return;
|
|
1656
|
+
}
|
|
1657
|
+
}
|
|
1658
|
+
}
|
|
1659
|
+
}
|
|
1660
|
+
if ((!horizontal && key == 37) || (horizontal && key == 38)) {
|
|
1661
|
+
parentItem = Menu_FindParentItem(item);
|
|
1662
|
+
if (parentItem) {
|
|
1663
|
+
if (Menu_IsHorizontal(parentItem)) {
|
|
1664
|
+
previousItem = Menu_FindPrevious(parentItem);
|
|
1665
|
+
while (previousItem && previousItem.disabled) {
|
|
1666
|
+
previousItem = Menu_FindPrevious(previousItem);
|
|
1667
|
+
}
|
|
1668
|
+
if (previousItem) {
|
|
1669
|
+
Menu_Focus(previousItem);
|
|
1670
|
+
Menu_Expand(previousItem, data.horizontalOffset, data.verticalOffset, true);
|
|
1671
|
+
event.cancelBubble = true;
|
|
1672
|
+
if (event.stopPropagation) event.stopPropagation();
|
|
1673
|
+
return;
|
|
1674
|
+
}
|
|
1675
|
+
}
|
|
1676
|
+
var parentA = WebForm_GetElementByTagName(parentItem, "A");
|
|
1677
|
+
if (parentA) {
|
|
1678
|
+
Menu_Focus(parentA);
|
|
1679
|
+
}
|
|
1680
|
+
Menu_ResetSiblings(parentItem);
|
|
1681
|
+
event.cancelBubble = true;
|
|
1682
|
+
if (event.stopPropagation) event.stopPropagation();
|
|
1683
|
+
return;
|
|
1684
|
+
}
|
|
1685
|
+
}
|
|
1686
|
+
if (key == 27) {
|
|
1687
|
+
Menu_HideItems();
|
|
1688
|
+
event.cancelBubble = true;
|
|
1689
|
+
if (event.stopPropagation) event.stopPropagation();
|
|
1690
|
+
return;
|
|
1691
|
+
}
|
|
1692
|
+
}
|
|
1693
|
+
function Menu_ResetSiblings(item) {
|
|
1694
|
+
var table = (item.tagName.toLowerCase() == "td") ?
|
|
1695
|
+
item.parentNode.parentNode.parentNode :
|
|
1696
|
+
item.parentNode.parentNode;
|
|
1697
|
+
var isVertical = false;
|
|
1698
|
+
for (var r = 0; r < table.rows.length; r++) {
|
|
1699
|
+
if (table.rows[r].id) {
|
|
1700
|
+
isVertical = true;
|
|
1701
|
+
break;
|
|
1702
|
+
}
|
|
1703
|
+
}
|
|
1704
|
+
var i, child, childNode;
|
|
1705
|
+
if (isVertical) {
|
|
1706
|
+
for(i = 0; i < table.rows.length; i++) {
|
|
1707
|
+
childNode = table.rows[i];
|
|
1708
|
+
if (childNode != item) {
|
|
1709
|
+
child = WebForm_GetElementById(childNode.id + "Items");
|
|
1710
|
+
if (child) {
|
|
1711
|
+
Menu_HideItems(child);
|
|
1712
|
+
}
|
|
1713
|
+
}
|
|
1714
|
+
}
|
|
1715
|
+
}
|
|
1716
|
+
else {
|
|
1717
|
+
for(i = 0; i < table.rows[0].cells.length; i++) {
|
|
1718
|
+
childNode = table.rows[0].cells[i];
|
|
1719
|
+
if (childNode != item) {
|
|
1720
|
+
child = WebForm_GetElementById(childNode.id + "Items");
|
|
1721
|
+
if (child) {
|
|
1722
|
+
Menu_HideItems(child);
|
|
1723
|
+
}
|
|
1724
|
+
}
|
|
1725
|
+
}
|
|
1726
|
+
}
|
|
1727
|
+
Menu_ResetTopMenus(table, table, 0, true);
|
|
1728
|
+
}
|
|
1729
|
+
function Menu_ResetTopMenus(table, doNotReset, level, up) {
|
|
1730
|
+
var i, child, childNode;
|
|
1731
|
+
if (up && table.id == "") {
|
|
1732
|
+
var parentTable = table.parentNode.parentNode.parentNode.parentNode;
|
|
1733
|
+
if (parentTable.tagName.toLowerCase() == "table") {
|
|
1734
|
+
Menu_ResetTopMenus(parentTable, doNotReset, level + 1, true);
|
|
1735
|
+
}
|
|
1736
|
+
}
|
|
1737
|
+
else {
|
|
1738
|
+
if (level == 0 && table != doNotReset) {
|
|
1739
|
+
if (table.rows[0].id) {
|
|
1740
|
+
for(i = 0; i < table.rows.length; i++) {
|
|
1741
|
+
childNode = table.rows[i];
|
|
1742
|
+
child = WebForm_GetElementById(childNode.id + "Items");
|
|
1743
|
+
if (child) {
|
|
1744
|
+
Menu_HideItems(child);
|
|
1745
|
+
}
|
|
1746
|
+
}
|
|
1747
|
+
}
|
|
1748
|
+
else {
|
|
1749
|
+
for(i = 0; i < table.rows[0].cells.length; i++) {
|
|
1750
|
+
childNode = table.rows[0].cells[i];
|
|
1751
|
+
child = WebForm_GetElementById(childNode.id + "Items");
|
|
1752
|
+
if (child) {
|
|
1753
|
+
Menu_HideItems(child);
|
|
1754
|
+
}
|
|
1755
|
+
}
|
|
1756
|
+
}
|
|
1757
|
+
}
|
|
1758
|
+
else if (level > 0) {
|
|
1759
|
+
for (i = 0; i < table.rows.length; i++) {
|
|
1760
|
+
for (var j = 0; j < table.rows[i].cells.length; j++) {
|
|
1761
|
+
var subTable = table.rows[i].cells[j].firstChild;
|
|
1762
|
+
if (subTable && subTable.tagName.toLowerCase() == "table") {
|
|
1763
|
+
Menu_ResetTopMenus(subTable, doNotReset, level - 1, false);
|
|
1764
|
+
}
|
|
1765
|
+
}
|
|
1766
|
+
}
|
|
1767
|
+
}
|
|
1768
|
+
}
|
|
1769
|
+
}
|
|
1770
|
+
function Menu_RestoreInterval() {
|
|
1771
|
+
if (__menuInterval && __rootMenuItem) {
|
|
1772
|
+
Menu_ClearInterval();
|
|
1773
|
+
__menuInterval = window.setInterval("Menu_HideItems()", __disappearAfter);
|
|
1774
|
+
}
|
|
1775
|
+
}
|
|
1776
|
+
function Menu_SetRoot(item) {
|
|
1777
|
+
var newRoot = Menu_FindMenu(item);
|
|
1778
|
+
if (newRoot) {
|
|
1779
|
+
if (__rootMenuItem && __rootMenuItem != newRoot) {
|
|
1780
|
+
Menu_HideItems();
|
|
1781
|
+
}
|
|
1782
|
+
__rootMenuItem = newRoot;
|
|
1783
|
+
}
|
|
1784
|
+
}
|
|
1785
|
+
function Menu_Unhover(item) {
|
|
1786
|
+
var node = (item.tagName.toLowerCase() == "td") ?
|
|
1787
|
+
item:
|
|
1788
|
+
item.cells[0];
|
|
1789
|
+
var nodeTable = WebForm_GetElementByTagName(node, "table");
|
|
1790
|
+
if (nodeTable.hoverClass) {
|
|
1791
|
+
WebForm_RemoveClassName(nodeTable, nodeTable.hoverClass);
|
|
1792
|
+
}
|
|
1793
|
+
node = nodeTable.rows[0].cells[0].childNodes[0];
|
|
1794
|
+
if (node.hoverHyperLinkClass) {
|
|
1795
|
+
WebForm_RemoveClassName(node, node.hoverHyperLinkClass);
|
|
1796
|
+
}
|
|
1797
|
+
Menu_Collapse(node);
|
|
1798
|
+
}
|
|
1799
|
+
function PopOut_Clip(element, y, height) {
|
|
1800
|
+
if (element && element.style) {
|
|
1801
|
+
element.style.clip = "rect(" + y + "px auto " + (y + height) + "px auto)";
|
|
1802
|
+
element.style.overflow = "hidden";
|
|
1803
|
+
}
|
|
1804
|
+
}
|
|
1805
|
+
function PopOut_Down(scroller) {
|
|
1806
|
+
Menu_ClearInterval();
|
|
1807
|
+
var panel;
|
|
1808
|
+
if (scroller) {
|
|
1809
|
+
panel = scroller.parentNode
|
|
1810
|
+
}
|
|
1811
|
+
else {
|
|
1812
|
+
panel = __scrollPanel;
|
|
1813
|
+
}
|
|
1814
|
+
if (panel && ((panel.offset + panel.clippedHeight) < panel.physicalHeight)) {
|
|
1815
|
+
PopOut_Scroll(panel, 2)
|
|
1816
|
+
__scrollPanel = panel;
|
|
1817
|
+
PopOut_ShowScrollers(panel);
|
|
1818
|
+
PopOut_Stop();
|
|
1819
|
+
__scrollPanel.interval = window.setInterval("PopOut_Down()", 8);
|
|
1820
|
+
}
|
|
1821
|
+
else {
|
|
1822
|
+
PopOut_ShowScrollers(panel);
|
|
1823
|
+
}
|
|
1824
|
+
}
|
|
1825
|
+
function PopOut_Hide(panelId) {
|
|
1826
|
+
var panel = WebForm_GetElementById(panelId);
|
|
1827
|
+
if (panel && panel.tagName.toLowerCase() == "div") {
|
|
1828
|
+
panel.style.visibility = "hidden";
|
|
1829
|
+
panel.style.display = "none";
|
|
1830
|
+
panel.offset = 0;
|
|
1831
|
+
panel.scrollTop = 0;
|
|
1832
|
+
var table = WebForm_GetElementByTagName(panel, "TABLE");
|
|
1833
|
+
if (table) {
|
|
1834
|
+
WebForm_SetElementY(table, 0);
|
|
1835
|
+
}
|
|
1836
|
+
if (window.navigator && window.navigator.appName == "Microsoft Internet Explorer" &&
|
|
1837
|
+
!window.opera) {
|
|
1838
|
+
var childFrameId = panel.id + "_MenuIFrame";
|
|
1839
|
+
var childFrame = WebForm_GetElementById(childFrameId);
|
|
1840
|
+
if (childFrame) {
|
|
1841
|
+
childFrame.style.display = "none";
|
|
1842
|
+
}
|
|
1843
|
+
}
|
|
1844
|
+
}
|
|
1845
|
+
}
|
|
1846
|
+
function PopOut_HideScrollers(panel) {
|
|
1847
|
+
if (panel && panel.style) {
|
|
1848
|
+
var up = WebForm_GetElementById(panel.id + "Up");
|
|
1849
|
+
var dn = WebForm_GetElementById(panel.id + "Dn");
|
|
1850
|
+
if (up) {
|
|
1851
|
+
up.style.visibility = "hidden";
|
|
1852
|
+
up.style.display = "none";
|
|
1853
|
+
}
|
|
1854
|
+
if (dn) {
|
|
1855
|
+
dn.style.visibility = "hidden";
|
|
1856
|
+
dn.style.display = "none";
|
|
1857
|
+
}
|
|
1858
|
+
}
|
|
1859
|
+
}
|
|
1860
|
+
function PopOut_Position(panel, hideScrollers) {
|
|
1861
|
+
if (window.opera) {
|
|
1862
|
+
panel.parentNode.removeChild(panel);
|
|
1863
|
+
document.forms[0].appendChild(panel);
|
|
1864
|
+
}
|
|
1865
|
+
var rel = WebForm_GetElementById(panel.rel);
|
|
1866
|
+
var relTable = WebForm_GetElementByTagName(rel, "TABLE");
|
|
1867
|
+
var relCoordinates = WebForm_GetElementPosition(relTable ? relTable : rel);
|
|
1868
|
+
var panelCoordinates = WebForm_GetElementPosition(panel);
|
|
1869
|
+
var panelHeight = ((typeof(panel.physicalHeight) != "undefined") && (panel.physicalHeight != null)) ?
|
|
1870
|
+
panel.physicalHeight :
|
|
1871
|
+
panelCoordinates.height;
|
|
1872
|
+
panel.physicalHeight = panelHeight;
|
|
1873
|
+
var panelParentCoordinates;
|
|
1874
|
+
if (panel.offsetParent) {
|
|
1875
|
+
panelParentCoordinates = WebForm_GetElementPosition(panel.offsetParent);
|
|
1876
|
+
}
|
|
1877
|
+
else {
|
|
1878
|
+
panelParentCoordinates = new Object();
|
|
1879
|
+
panelParentCoordinates.x = 0;
|
|
1880
|
+
panelParentCoordinates.y = 0;
|
|
1881
|
+
}
|
|
1882
|
+
var overflowElement = WebForm_GetElementById("__overFlowElement");
|
|
1883
|
+
if (!overflowElement) {
|
|
1884
|
+
overflowElement = document.createElement("img");
|
|
1885
|
+
overflowElement.id="__overFlowElement";
|
|
1886
|
+
WebForm_SetElementWidth(overflowElement, 1);
|
|
1887
|
+
document.body.appendChild(overflowElement);
|
|
1888
|
+
}
|
|
1889
|
+
WebForm_SetElementHeight(overflowElement, panelHeight + relCoordinates.y + parseInt(panel.y ? panel.y : 0));
|
|
1890
|
+
overflowElement.style.visibility = "visible";
|
|
1891
|
+
overflowElement.style.display = "inline";
|
|
1892
|
+
var clientHeight = 0;
|
|
1893
|
+
var clientWidth = 0;
|
|
1894
|
+
if (window.innerHeight) {
|
|
1895
|
+
clientHeight = window.innerHeight;
|
|
1896
|
+
clientWidth = window.innerWidth;
|
|
1897
|
+
}
|
|
1898
|
+
else if (document.documentElement && document.documentElement.clientHeight) {
|
|
1899
|
+
clientHeight = document.documentElement.clientHeight;
|
|
1900
|
+
clientWidth = document.documentElement.clientWidth;
|
|
1901
|
+
}
|
|
1902
|
+
else if (document.body && document.body.clientHeight) {
|
|
1903
|
+
clientHeight = document.body.clientHeight;
|
|
1904
|
+
clientWidth = document.body.clientWidth;
|
|
1905
|
+
}
|
|
1906
|
+
var scrollTop = 0;
|
|
1907
|
+
var scrollLeft = 0;
|
|
1908
|
+
if (typeof(window.pageYOffset) != "undefined") {
|
|
1909
|
+
scrollTop = window.pageYOffset;
|
|
1910
|
+
scrollLeft = window.pageXOffset;
|
|
1911
|
+
}
|
|
1912
|
+
else if (document.documentElement && (typeof(document.documentElement.scrollTop) != "undefined")) {
|
|
1913
|
+
scrollTop = document.documentElement.scrollTop;
|
|
1914
|
+
scrollLeft = document.documentElement.scrollLeft;
|
|
1915
|
+
}
|
|
1916
|
+
else if (document.body && (typeof(document.body.scrollTop) != "undefined")) {
|
|
1917
|
+
scrollTop = document.body.scrollTop;
|
|
1918
|
+
scrollLeft = document.body.scrollLeft;
|
|
1919
|
+
}
|
|
1920
|
+
overflowElement.style.visibility = "hidden";
|
|
1921
|
+
overflowElement.style.display = "none";
|
|
1922
|
+
var bottomWindowBorder = clientHeight + scrollTop;
|
|
1923
|
+
var rightWindowBorder = clientWidth + scrollLeft;
|
|
1924
|
+
var position = panel.pos;
|
|
1925
|
+
if ((typeof(position) == "undefined") || (position == null) || (position == "")) {
|
|
1926
|
+
position = (WebForm_GetElementDir(rel) == "rtl" ? "middleleft" : "middleright");
|
|
1927
|
+
}
|
|
1928
|
+
position = position.toLowerCase();
|
|
1929
|
+
var y = relCoordinates.y + parseInt(panel.y ? panel.y : 0) - panelParentCoordinates.y;
|
|
1930
|
+
var borderParent = (rel && rel.parentNode && rel.parentNode.parentNode && rel.parentNode.parentNode.parentNode
|
|
1931
|
+
&& rel.parentNode.parentNode.parentNode.tagName.toLowerCase() == "div") ?
|
|
1932
|
+
rel.parentNode.parentNode.parentNode : null;
|
|
1933
|
+
WebForm_SetElementY(panel, y);
|
|
1934
|
+
PopOut_SetPanelHeight(panel, panelHeight, true);
|
|
1935
|
+
var clip = false;
|
|
1936
|
+
var overflow;
|
|
1937
|
+
if (position.indexOf("top") != -1) {
|
|
1938
|
+
y -= panelHeight;
|
|
1939
|
+
WebForm_SetElementY(panel, y);
|
|
1940
|
+
if (y < -panelParentCoordinates.y) {
|
|
1941
|
+
y = -panelParentCoordinates.y;
|
|
1942
|
+
WebForm_SetElementY(panel, y);
|
|
1943
|
+
if (panelHeight > clientHeight - 2) {
|
|
1944
|
+
clip = true;
|
|
1945
|
+
PopOut_SetPanelHeight(panel, clientHeight - 2);
|
|
1946
|
+
}
|
|
1947
|
+
}
|
|
1948
|
+
}
|
|
1949
|
+
else {
|
|
1950
|
+
if (position.indexOf("bottom") != -1) {
|
|
1951
|
+
y += relCoordinates.height;
|
|
1952
|
+
WebForm_SetElementY(panel, y);
|
|
1953
|
+
}
|
|
1954
|
+
overflow = y + panelParentCoordinates.y + panelHeight - bottomWindowBorder;
|
|
1955
|
+
if (overflow > 0) {
|
|
1956
|
+
y -= overflow;
|
|
1957
|
+
WebForm_SetElementY(panel, y);
|
|
1958
|
+
if (y < -panelParentCoordinates.y) {
|
|
1959
|
+
y = 2 - panelParentCoordinates.y + scrollTop;
|
|
1960
|
+
WebForm_SetElementY(panel, y);
|
|
1961
|
+
clip = true;
|
|
1962
|
+
PopOut_SetPanelHeight(panel, clientHeight - 2);
|
|
1963
|
+
}
|
|
1964
|
+
}
|
|
1965
|
+
}
|
|
1966
|
+
if (!clip) {
|
|
1967
|
+
PopOut_SetPanelHeight(panel, panel.clippedHeight, true);
|
|
1968
|
+
}
|
|
1969
|
+
var panelParentOffsetY = 0;
|
|
1970
|
+
if (panel.offsetParent) {
|
|
1971
|
+
panelParentOffsetY = WebForm_GetElementPosition(panel.offsetParent).y;
|
|
1972
|
+
}
|
|
1973
|
+
var panelY = ((typeof(panel.originY) != "undefined") && (panel.originY != null)) ?
|
|
1974
|
+
panel.originY :
|
|
1975
|
+
y - panelParentOffsetY;
|
|
1976
|
+
panel.originY = panelY;
|
|
1977
|
+
if (!hideScrollers) {
|
|
1978
|
+
PopOut_ShowScrollers(panel);
|
|
1979
|
+
}
|
|
1980
|
+
else {
|
|
1981
|
+
PopOut_HideScrollers(panel);
|
|
1982
|
+
}
|
|
1983
|
+
var x = relCoordinates.x + parseInt(panel.x ? panel.x : 0) - panelParentCoordinates.x;
|
|
1984
|
+
if (borderParent && borderParent.clientLeft) {
|
|
1985
|
+
x += 2 * borderParent.clientLeft;
|
|
1986
|
+
}
|
|
1987
|
+
WebForm_SetElementX(panel, x);
|
|
1988
|
+
if (position.indexOf("left") != -1) {
|
|
1989
|
+
x -= panelCoordinates.width;
|
|
1990
|
+
WebForm_SetElementX(panel, x);
|
|
1991
|
+
if (x < -panelParentCoordinates.x) {
|
|
1992
|
+
WebForm_SetElementX(panel, -panelParentCoordinates.x);
|
|
1993
|
+
}
|
|
1994
|
+
}
|
|
1995
|
+
else {
|
|
1996
|
+
if (position.indexOf("right") != -1) {
|
|
1997
|
+
x += relCoordinates.width;
|
|
1998
|
+
WebForm_SetElementX(panel, x);
|
|
1999
|
+
}
|
|
2000
|
+
overflow = x + panelParentCoordinates.x + panelCoordinates.width - rightWindowBorder;
|
|
2001
|
+
if (overflow > 0) {
|
|
2002
|
+
if (position.indexOf("bottom") == -1 && relCoordinates.x > panelCoordinates.width) {
|
|
2003
|
+
x -= relCoordinates.width + panelCoordinates.width;
|
|
2004
|
+
}
|
|
2005
|
+
else {
|
|
2006
|
+
x -= overflow;
|
|
2007
|
+
}
|
|
2008
|
+
WebForm_SetElementX(panel, x);
|
|
2009
|
+
if (x < -panelParentCoordinates.x) {
|
|
2010
|
+
WebForm_SetElementX(panel, -panelParentCoordinates.x);
|
|
2011
|
+
}
|
|
2012
|
+
}
|
|
2013
|
+
}
|
|
2014
|
+
}
|
|
2015
|
+
function PopOut_Scroll(panel, offsetDelta) {
|
|
2016
|
+
var table = WebForm_GetElementByTagName(panel, "TABLE");
|
|
2017
|
+
if (!table) return;
|
|
2018
|
+
table.style.position = "relative";
|
|
2019
|
+
var tableY = (table.style.top ? parseInt(table.style.top) : 0);
|
|
2020
|
+
panel.offset += offsetDelta;
|
|
2021
|
+
WebForm_SetElementY(table, tableY - offsetDelta);
|
|
2022
|
+
}
|
|
2023
|
+
function PopOut_SetPanelHeight(element, height, doNotClip) {
|
|
2024
|
+
if (element && element.style) {
|
|
2025
|
+
var size = WebForm_GetElementPosition(element);
|
|
2026
|
+
element.physicalWidth = size.width;
|
|
2027
|
+
element.clippedHeight = height;
|
|
2028
|
+
WebForm_SetElementHeight(element, height - (element.clientTop ? (2 * element.clientTop) : 0));
|
|
2029
|
+
if (doNotClip && element.style) {
|
|
2030
|
+
element.style.clip = "rect(auto auto auto auto)";
|
|
2031
|
+
}
|
|
2032
|
+
else {
|
|
2033
|
+
PopOut_Clip(element, 0, height);
|
|
2034
|
+
}
|
|
2035
|
+
}
|
|
2036
|
+
}
|
|
2037
|
+
function PopOut_Show(panelId, hideScrollers, data) {
|
|
2038
|
+
var panel = WebForm_GetElementById(panelId);
|
|
2039
|
+
if (panel && panel.tagName.toLowerCase() == "div") {
|
|
2040
|
+
panel.style.visibility = "visible";
|
|
2041
|
+
panel.style.display = "inline";
|
|
2042
|
+
if (!panel.offset || hideScrollers) {
|
|
2043
|
+
panel.scrollTop = 0;
|
|
2044
|
+
panel.offset = 0;
|
|
2045
|
+
var table = WebForm_GetElementByTagName(panel, "TABLE");
|
|
2046
|
+
if (table) {
|
|
2047
|
+
WebForm_SetElementY(table, 0);
|
|
2048
|
+
}
|
|
2049
|
+
}
|
|
2050
|
+
PopOut_Position(panel, hideScrollers);
|
|
2051
|
+
var z = 1;
|
|
2052
|
+
var isIE = window.navigator && window.navigator.appName == "Microsoft Internet Explorer" && !window.opera;
|
|
2053
|
+
if (isIE && data) {
|
|
2054
|
+
var childFrameId = panel.id + "_MenuIFrame";
|
|
2055
|
+
var childFrame = WebForm_GetElementById(childFrameId);
|
|
2056
|
+
var parent = panel.offsetParent;
|
|
2057
|
+
if (!childFrame) {
|
|
2058
|
+
childFrame = document.createElement("iframe");
|
|
2059
|
+
childFrame.id = childFrameId;
|
|
2060
|
+
childFrame.src = (data.iframeUrl ? data.iframeUrl : "about:blank");
|
|
2061
|
+
childFrame.style.position = "absolute";
|
|
2062
|
+
childFrame.style.display = "none";
|
|
2063
|
+
childFrame.scrolling = "no";
|
|
2064
|
+
childFrame.frameBorder = "0";
|
|
2065
|
+
if (parent.tagName.toLowerCase() == "html") {
|
|
2066
|
+
document.body.appendChild(childFrame);
|
|
2067
|
+
}
|
|
2068
|
+
else {
|
|
2069
|
+
parent.appendChild(childFrame);
|
|
2070
|
+
}
|
|
2071
|
+
}
|
|
2072
|
+
var pos = WebForm_GetElementPosition(panel);
|
|
2073
|
+
var parentPos = WebForm_GetElementPosition(parent);
|
|
2074
|
+
WebForm_SetElementX(childFrame, pos.x - parentPos.x);
|
|
2075
|
+
WebForm_SetElementY(childFrame, pos.y - parentPos.y);
|
|
2076
|
+
WebForm_SetElementWidth(childFrame, pos.width);
|
|
2077
|
+
WebForm_SetElementHeight(childFrame, pos.height);
|
|
2078
|
+
childFrame.style.display = "block";
|
|
2079
|
+
if (panel.currentStyle && panel.currentStyle.zIndex && panel.currentStyle.zIndex != "auto") {
|
|
2080
|
+
z = panel.currentStyle.zIndex;
|
|
2081
|
+
}
|
|
2082
|
+
else if (panel.style.zIndex) {
|
|
2083
|
+
z = panel.style.zIndex;
|
|
2084
|
+
}
|
|
2085
|
+
}
|
|
2086
|
+
panel.style.zIndex = z;
|
|
2087
|
+
}
|
|
2088
|
+
}
|
|
2089
|
+
function PopOut_ShowScrollers(panel) {
|
|
2090
|
+
if (panel && panel.style) {
|
|
2091
|
+
var up = WebForm_GetElementById(panel.id + "Up");
|
|
2092
|
+
var dn = WebForm_GetElementById(panel.id + "Dn");
|
|
2093
|
+
var cnt = 0;
|
|
2094
|
+
if (up && dn) {
|
|
2095
|
+
if (panel.offset && panel.offset > 0) {
|
|
2096
|
+
up.style.visibility = "visible";
|
|
2097
|
+
up.style.display = "inline";
|
|
2098
|
+
cnt++;
|
|
2099
|
+
if (panel.clientWidth) {
|
|
2100
|
+
WebForm_SetElementWidth(up, panel.clientWidth
|
|
2101
|
+
- (up.clientLeft ? (2 * up.clientLeft) : 0));
|
|
2102
|
+
}
|
|
2103
|
+
WebForm_SetElementY(up, 0);
|
|
2104
|
+
}
|
|
2105
|
+
else {
|
|
2106
|
+
up.style.visibility = "hidden";
|
|
2107
|
+
up.style.display = "none";
|
|
2108
|
+
}
|
|
2109
|
+
if (panel.offset + panel.clippedHeight + 2 <= panel.physicalHeight) {
|
|
2110
|
+
dn.style.visibility = "visible";
|
|
2111
|
+
dn.style.display = "inline";
|
|
2112
|
+
cnt++;
|
|
2113
|
+
if (panel.clientWidth) {
|
|
2114
|
+
WebForm_SetElementWidth(dn, panel.clientWidth
|
|
2115
|
+
- (dn.clientLeft ? (2 * dn.clientLeft) : 0));
|
|
2116
|
+
}
|
|
2117
|
+
WebForm_SetElementY(dn, panel.clippedHeight - WebForm_GetElementPosition(dn).height
|
|
2118
|
+
- (panel.clientTop ? (2 * panel.clientTop) : 0));
|
|
2119
|
+
}
|
|
2120
|
+
else {
|
|
2121
|
+
dn.style.visibility = "hidden";
|
|
2122
|
+
dn.style.display = "none";
|
|
2123
|
+
}
|
|
2124
|
+
if (cnt == 0) {
|
|
2125
|
+
panel.style.clip = "rect(auto auto auto auto)";
|
|
2126
|
+
}
|
|
2127
|
+
}
|
|
2128
|
+
}
|
|
2129
|
+
}
|
|
2130
|
+
function PopOut_Stop() {
|
|
2131
|
+
if (__scrollPanel && __scrollPanel.interval) {
|
|
2132
|
+
window.clearInterval(__scrollPanel.interval);
|
|
2133
|
+
}
|
|
2134
|
+
Menu_RestoreInterval();
|
|
2135
|
+
}
|
|
2136
|
+
function PopOut_Up(scroller) {
|
|
2137
|
+
Menu_ClearInterval();
|
|
2138
|
+
var panel;
|
|
2139
|
+
if (scroller) {
|
|
2140
|
+
panel = scroller.parentNode
|
|
2141
|
+
}
|
|
2142
|
+
else {
|
|
2143
|
+
panel = __scrollPanel;
|
|
2144
|
+
}
|
|
2145
|
+
if (panel && panel.offset && panel.offset > 0) {
|
|
2146
|
+
PopOut_Scroll(panel, -2);
|
|
2147
|
+
__scrollPanel = panel;
|
|
2148
|
+
PopOut_ShowScrollers(panel);
|
|
2149
|
+
PopOut_Stop();
|
|
2150
|
+
__scrollPanel.interval = window.setInterval("PopOut_Up()", 8);
|
|
2151
|
+
}
|
|
2152
|
+
}
|
|
2153
|
+
|
|
2154
|
+
if (!window.Sys) { window.Sys = {}; }
|
|
2155
|
+
if (!Sys.WebForms) { Sys.WebForms = {}; }
|
|
2156
|
+
Sys.WebForms.Menu = function(options) {
|
|
2157
|
+
this.items = [];
|
|
2158
|
+
this.depth = options.depth || 1;
|
|
2159
|
+
this.parentMenuItem = options.parentMenuItem;
|
|
2160
|
+
this.element = Sys.WebForms.Menu._domHelper.getElement(options.element);
|
|
2161
|
+
if (this.element.tagName === 'DIV') {
|
|
2162
|
+
var containerElement = this.element;
|
|
2163
|
+
this.element = Sys.WebForms.Menu._domHelper.firstChild(containerElement);
|
|
2164
|
+
this.element.tabIndex = options.tabIndex || 0;
|
|
2165
|
+
options.element = containerElement;
|
|
2166
|
+
options.menu = this;
|
|
2167
|
+
this.container = new Sys.WebForms._MenuContainer(options);
|
|
2168
|
+
Sys.WebForms.Menu._domHelper.setFloat(this.element, this.container.rightToLeft ? "right" : "left");
|
|
2169
|
+
}
|
|
2170
|
+
else {
|
|
2171
|
+
this.container = options.container;
|
|
2172
|
+
this.keyMap = options.keyMap;
|
|
2173
|
+
}
|
|
2174
|
+
Sys.WebForms.Menu._elementObjectMapper.map(this.element, this);
|
|
2175
|
+
if (this.parentMenuItem && this.parentMenuItem.parentMenu) {
|
|
2176
|
+
this.parentMenu = this.parentMenuItem.parentMenu;
|
|
2177
|
+
this.rootMenu = this.parentMenu.rootMenu;
|
|
2178
|
+
if (!this.element.id) {
|
|
2179
|
+
this.element.id = (this.container.element.id || 'menu') + ':submenu:' + Sys.WebForms.Menu._elementObjectMapper._computedId;
|
|
2180
|
+
}
|
|
2181
|
+
if (this.depth > this.container.staticDisplayLevels) {
|
|
2182
|
+
this.displayMode = "dynamic";
|
|
2183
|
+
this.element.style.display = "none";
|
|
2184
|
+
this.element.style.position = "absolute";
|
|
2185
|
+
if (this.rootMenu && this.container.orientation === 'horizontal' && this.parentMenu.isStatic()) {
|
|
2186
|
+
this.element.style.top = "100%";
|
|
2187
|
+
if (this.container.rightToLeft) {
|
|
2188
|
+
this.element.style.right = "0px";
|
|
2189
|
+
}
|
|
2190
|
+
else {
|
|
2191
|
+
this.element.style.left = "0px";
|
|
2192
|
+
}
|
|
2193
|
+
}
|
|
2194
|
+
else {
|
|
2195
|
+
this.element.style.top = "0px";
|
|
2196
|
+
if (this.container.rightToLeft) {
|
|
2197
|
+
this.element.style.right = "100%";
|
|
2198
|
+
}
|
|
2199
|
+
else {
|
|
2200
|
+
this.element.style.left = "100%";
|
|
2201
|
+
}
|
|
2202
|
+
}
|
|
2203
|
+
if (this.container.rightToLeft) {
|
|
2204
|
+
this.keyMap = Sys.WebForms.Menu._keyboardMapping.verticalRtl;
|
|
2205
|
+
}
|
|
2206
|
+
else {
|
|
2207
|
+
this.keyMap = Sys.WebForms.Menu._keyboardMapping.vertical;
|
|
2208
|
+
}
|
|
2209
|
+
}
|
|
2210
|
+
else {
|
|
2211
|
+
this.displayMode = "static";
|
|
2212
|
+
this.element.style.display = "block";
|
|
2213
|
+
if (this.container.orientation === 'horizontal') {
|
|
2214
|
+
Sys.WebForms.Menu._domHelper.setFloat(this.element, this.container.rightToLeft ? "right" : "left");
|
|
2215
|
+
}
|
|
2216
|
+
}
|
|
2217
|
+
}
|
|
2218
|
+
Sys.WebForms.Menu._domHelper.appendCssClass(this.element, this.displayMode);
|
|
2219
|
+
var children = this.element.childNodes;
|
|
2220
|
+
var count = children.length;
|
|
2221
|
+
for (var i = 0; i < count; i++) {
|
|
2222
|
+
var node = children[i];
|
|
2223
|
+
if (node.nodeType !== 1) {
|
|
2224
|
+
continue;
|
|
2225
|
+
}
|
|
2226
|
+
var topLevelMenuItem = null;
|
|
2227
|
+
if (this.parentMenuItem) {
|
|
2228
|
+
topLevelMenuItem = this.parentMenuItem.topLevelMenuItem;
|
|
2229
|
+
}
|
|
2230
|
+
var menuItem = new Sys.WebForms.MenuItem(this, node, topLevelMenuItem);
|
|
2231
|
+
var previousMenuItem = this.items[this.items.length - 1];
|
|
2232
|
+
if (previousMenuItem) {
|
|
2233
|
+
menuItem.previousSibling = previousMenuItem;
|
|
2234
|
+
previousMenuItem.nextSibling = menuItem;
|
|
2235
|
+
}
|
|
2236
|
+
this.items[this.items.length] = menuItem;
|
|
2237
|
+
}
|
|
2238
|
+
};
|
|
2239
|
+
Sys.WebForms.Menu.prototype = {
|
|
2240
|
+
blur: function() { if (this.container) this.container.blur(); },
|
|
2241
|
+
collapse: function() {
|
|
2242
|
+
this.each(function(menuItem) {
|
|
2243
|
+
menuItem.hover(false);
|
|
2244
|
+
menuItem.blur();
|
|
2245
|
+
var childMenu = menuItem.childMenu;
|
|
2246
|
+
if (childMenu) {
|
|
2247
|
+
childMenu.collapse();
|
|
2248
|
+
}
|
|
2249
|
+
});
|
|
2250
|
+
this.hide();
|
|
2251
|
+
},
|
|
2252
|
+
doDispose: function() { this.each(function(item) { item.doDispose(); }); },
|
|
2253
|
+
each: function(fn) {
|
|
2254
|
+
var count = this.items.length;
|
|
2255
|
+
for (var i = 0; i < count; i++) {
|
|
2256
|
+
fn(this.items[i]);
|
|
2257
|
+
}
|
|
2258
|
+
},
|
|
2259
|
+
firstChild: function() { return this.items[0]; },
|
|
2260
|
+
focus: function() { if (this.container) this.container.focus(); },
|
|
2261
|
+
get_displayed: function() { return this.element.style.display !== 'none'; },
|
|
2262
|
+
get_focused: function() {
|
|
2263
|
+
if (this.container) {
|
|
2264
|
+
return this.container.focused;
|
|
2265
|
+
}
|
|
2266
|
+
return false;
|
|
2267
|
+
},
|
|
2268
|
+
handleKeyPress: function(keyCode) {
|
|
2269
|
+
if (this.keyMap.contains(keyCode)) {
|
|
2270
|
+
if (this.container.focusedMenuItem) {
|
|
2271
|
+
this.container.focusedMenuItem.navigate(keyCode);
|
|
2272
|
+
return;
|
|
2273
|
+
}
|
|
2274
|
+
var firstChild = this.firstChild();
|
|
2275
|
+
if (firstChild) {
|
|
2276
|
+
this.container.navigateTo(firstChild);
|
|
2277
|
+
}
|
|
2278
|
+
}
|
|
2279
|
+
},
|
|
2280
|
+
hide: function() {
|
|
2281
|
+
if (!this.get_displayed()) {
|
|
2282
|
+
return;
|
|
2283
|
+
}
|
|
2284
|
+
this.each(function(item) {
|
|
2285
|
+
if (item.childMenu) {
|
|
2286
|
+
item.childMenu.hide();
|
|
2287
|
+
}
|
|
2288
|
+
});
|
|
2289
|
+
if (!this.isRoot()) {
|
|
2290
|
+
if (this.get_focused()) {
|
|
2291
|
+
this.container.navigateTo(this.parentMenuItem);
|
|
2292
|
+
}
|
|
2293
|
+
this.element.style.display = 'none';
|
|
2294
|
+
}
|
|
2295
|
+
},
|
|
2296
|
+
isRoot: function() { return this.rootMenu === this; },
|
|
2297
|
+
isStatic: function() { return this.displayMode === 'static'; },
|
|
2298
|
+
lastChild: function() { return this.items[this.items.length - 1]; },
|
|
2299
|
+
show: function() { this.element.style.display = 'block'; }
|
|
2300
|
+
};
|
|
2301
|
+
if (Sys.WebForms.Menu.registerClass) {
|
|
2302
|
+
Sys.WebForms.Menu.registerClass('Sys.WebForms.Menu');
|
|
2303
|
+
}
|
|
2304
|
+
Sys.WebForms.MenuItem = function(parentMenu, listElement, topLevelMenuItem) {
|
|
2305
|
+
this.keyMap = parentMenu.keyMap;
|
|
2306
|
+
this.parentMenu = parentMenu;
|
|
2307
|
+
this.container = parentMenu.container;
|
|
2308
|
+
this.element = listElement;
|
|
2309
|
+
this.topLevelMenuItem = topLevelMenuItem || this;
|
|
2310
|
+
this._anchor = Sys.WebForms.Menu._domHelper.firstChild(listElement);
|
|
2311
|
+
while (this._anchor && this._anchor.tagName !== 'A') {
|
|
2312
|
+
this._anchor = Sys.WebForms.Menu._domHelper.nextSibling(this._anchor);
|
|
2313
|
+
}
|
|
2314
|
+
if (this._anchor) {
|
|
2315
|
+
this._anchor.tabIndex = -1;
|
|
2316
|
+
var subMenu = this._anchor;
|
|
2317
|
+
while (subMenu && subMenu.tagName !== 'UL') {
|
|
2318
|
+
subMenu = Sys.WebForms.Menu._domHelper.nextSibling(subMenu);
|
|
2319
|
+
}
|
|
2320
|
+
if (subMenu) {
|
|
2321
|
+
this.childMenu = new Sys.WebForms.Menu({ element: subMenu, parentMenuItem: this, depth: parentMenu.depth + 1, container: this.container, keyMap: this.keyMap });
|
|
2322
|
+
if (!this.childMenu.isStatic()) {
|
|
2323
|
+
Sys.WebForms.Menu._domHelper.appendCssClass(this.element, 'has-popup');
|
|
2324
|
+
Sys.WebForms.Menu._domHelper.appendAttributeValue(this.element, 'aria-haspopup', this.childMenu.element.id);
|
|
2325
|
+
}
|
|
2326
|
+
}
|
|
2327
|
+
}
|
|
2328
|
+
Sys.WebForms.Menu._elementObjectMapper.map(listElement, this);
|
|
2329
|
+
Sys.WebForms.Menu._domHelper.appendAttributeValue(listElement, 'role', 'menuitem');
|
|
2330
|
+
Sys.WebForms.Menu._domHelper.appendCssClass(listElement, parentMenu.displayMode);
|
|
2331
|
+
if (this._anchor) {
|
|
2332
|
+
Sys.WebForms.Menu._domHelper.appendCssClass(this._anchor, parentMenu.displayMode);
|
|
2333
|
+
}
|
|
2334
|
+
this.element.style.position = "relative";
|
|
2335
|
+
if (this.parentMenu.depth == 1 && this.container.orientation == 'horizontal') {
|
|
2336
|
+
Sys.WebForms.Menu._domHelper.setFloat(this.element, this.container.rightToLeft ? "right" : "left");
|
|
2337
|
+
}
|
|
2338
|
+
if (!this.container.disabled) {
|
|
2339
|
+
Sys.WebForms.Menu._domHelper.addEvent(this.element, 'mouseover', Sys.WebForms.MenuItem._onmouseover);
|
|
2340
|
+
Sys.WebForms.Menu._domHelper.addEvent(this.element, 'mouseout', Sys.WebForms.MenuItem._onmouseout);
|
|
2341
|
+
}
|
|
2342
|
+
};
|
|
2343
|
+
Sys.WebForms.MenuItem.prototype = {
|
|
2344
|
+
applyUp: function(fn, condition) {
|
|
2345
|
+
condition = condition || function(menuItem) { return menuItem; };
|
|
2346
|
+
var menuItem = this;
|
|
2347
|
+
var lastMenuItem = null;
|
|
2348
|
+
while (condition(menuItem)) {
|
|
2349
|
+
fn(menuItem);
|
|
2350
|
+
lastMenuItem = menuItem;
|
|
2351
|
+
menuItem = menuItem.parentMenu.parentMenuItem;
|
|
2352
|
+
}
|
|
2353
|
+
return lastMenuItem;
|
|
2354
|
+
},
|
|
2355
|
+
blur: function() { this.setTabIndex(-1); },
|
|
2356
|
+
doDispose: function() {
|
|
2357
|
+
Sys.WebForms.Menu._domHelper.removeEvent(this.element, 'mouseover', Sys.WebForms.MenuItem._onmouseover);
|
|
2358
|
+
Sys.WebForms.Menu._domHelper.removeEvent(this.element, 'mouseout', Sys.WebForms.MenuItem._onmouseout);
|
|
2359
|
+
if (this.childMenu) {
|
|
2360
|
+
this.childMenu.doDispose();
|
|
2361
|
+
}
|
|
2362
|
+
},
|
|
2363
|
+
focus: function() {
|
|
2364
|
+
if (!this.parentMenu.get_displayed()) {
|
|
2365
|
+
this.parentMenu.show();
|
|
2366
|
+
}
|
|
2367
|
+
this.setTabIndex(0);
|
|
2368
|
+
this.container.focused = true;
|
|
2369
|
+
this._anchor.focus();
|
|
2370
|
+
},
|
|
2371
|
+
get_highlighted: function() { return /(^|\s)highlighted(\s|$)/.test(this._anchor.className); },
|
|
2372
|
+
getTabIndex: function() { return this._anchor.tabIndex; },
|
|
2373
|
+
highlight: function(highlighting) {
|
|
2374
|
+
if (highlighting) {
|
|
2375
|
+
this.applyUp(function(menuItem) {
|
|
2376
|
+
menuItem.parentMenu.parentMenuItem.highlight(true);
|
|
2377
|
+
},
|
|
2378
|
+
function(menuItem) {
|
|
2379
|
+
return !menuItem.parentMenu.isStatic() && menuItem.parentMenu.parentMenuItem;
|
|
2380
|
+
}
|
|
2381
|
+
);
|
|
2382
|
+
Sys.WebForms.Menu._domHelper.appendCssClass(this._anchor, 'highlighted');
|
|
2383
|
+
}
|
|
2384
|
+
else {
|
|
2385
|
+
Sys.WebForms.Menu._domHelper.removeCssClass(this._anchor, 'highlighted');
|
|
2386
|
+
this.setTabIndex(-1);
|
|
2387
|
+
}
|
|
2388
|
+
},
|
|
2389
|
+
hover: function(hovering) {
|
|
2390
|
+
if (hovering) {
|
|
2391
|
+
var currentHoveredItem = this.container.hoveredMenuItem;
|
|
2392
|
+
if (currentHoveredItem) {
|
|
2393
|
+
currentHoveredItem.hover(false);
|
|
2394
|
+
}
|
|
2395
|
+
var currentFocusedItem = this.container.focusedMenuItem;
|
|
2396
|
+
if (currentFocusedItem && currentFocusedItem !== this) {
|
|
2397
|
+
currentFocusedItem.hover(false);
|
|
2398
|
+
}
|
|
2399
|
+
this.applyUp(function(menuItem) {
|
|
2400
|
+
if (menuItem.childMenu && !menuItem.childMenu.get_displayed()) {
|
|
2401
|
+
menuItem.childMenu.show();
|
|
2402
|
+
}
|
|
2403
|
+
});
|
|
2404
|
+
this.container.hoveredMenuItem = this;
|
|
2405
|
+
this.highlight(true);
|
|
2406
|
+
}
|
|
2407
|
+
else {
|
|
2408
|
+
var menuItem = this;
|
|
2409
|
+
while (menuItem) {
|
|
2410
|
+
menuItem.highlight(false);
|
|
2411
|
+
if (menuItem.childMenu) {
|
|
2412
|
+
if (!menuItem.childMenu.isStatic()) {
|
|
2413
|
+
menuItem.childMenu.hide();
|
|
2414
|
+
}
|
|
2415
|
+
}
|
|
2416
|
+
menuItem = menuItem.parentMenu.parentMenuItem;
|
|
2417
|
+
}
|
|
2418
|
+
}
|
|
2419
|
+
},
|
|
2420
|
+
isSiblingOf: function(menuItem) { return menuItem.parentMenu === this.parentMenu; },
|
|
2421
|
+
mouseout: function() {
|
|
2422
|
+
var menuItem = this,
|
|
2423
|
+
id = this.container.pendingMouseoutId,
|
|
2424
|
+
disappearAfter = this.container.disappearAfter;
|
|
2425
|
+
if (id) {
|
|
2426
|
+
window.clearTimeout(id);
|
|
2427
|
+
}
|
|
2428
|
+
if (disappearAfter > -1) {
|
|
2429
|
+
this.container.pendingMouseoutId =
|
|
2430
|
+
window.setTimeout(function() { menuItem.hover(false); }, disappearAfter);
|
|
2431
|
+
}
|
|
2432
|
+
},
|
|
2433
|
+
mouseover: function() {
|
|
2434
|
+
var id = this.container.pendingMouseoutId;
|
|
2435
|
+
if (id) {
|
|
2436
|
+
window.clearTimeout(id);
|
|
2437
|
+
this.container.pendingMouseoutId = null;
|
|
2438
|
+
}
|
|
2439
|
+
this.hover(true);
|
|
2440
|
+
if (this.container.menu.get_focused()) {
|
|
2441
|
+
this.container.navigateTo(this);
|
|
2442
|
+
}
|
|
2443
|
+
},
|
|
2444
|
+
navigate: function(keyCode) {
|
|
2445
|
+
switch (this.keyMap[keyCode]) {
|
|
2446
|
+
case this.keyMap.next:
|
|
2447
|
+
this.navigateNext();
|
|
2448
|
+
break;
|
|
2449
|
+
case this.keyMap.previous:
|
|
2450
|
+
this.navigatePrevious();
|
|
2451
|
+
break;
|
|
2452
|
+
case this.keyMap.child:
|
|
2453
|
+
this.navigateChild();
|
|
2454
|
+
break;
|
|
2455
|
+
case this.keyMap.parent:
|
|
2456
|
+
this.navigateParent();
|
|
2457
|
+
break;
|
|
2458
|
+
case this.keyMap.tab:
|
|
2459
|
+
this.navigateOut();
|
|
2460
|
+
break;
|
|
2461
|
+
}
|
|
2462
|
+
},
|
|
2463
|
+
navigateChild: function() {
|
|
2464
|
+
var subMenu = this.childMenu;
|
|
2465
|
+
if (subMenu) {
|
|
2466
|
+
var firstChild = subMenu.firstChild();
|
|
2467
|
+
if (firstChild) {
|
|
2468
|
+
this.container.navigateTo(firstChild);
|
|
2469
|
+
}
|
|
2470
|
+
}
|
|
2471
|
+
else {
|
|
2472
|
+
if (this.container.orientation === 'horizontal') {
|
|
2473
|
+
var nextItem = this.topLevelMenuItem.nextSibling || this.topLevelMenuItem.parentMenu.firstChild();
|
|
2474
|
+
if (nextItem == this.topLevelMenuItem) {
|
|
2475
|
+
return;
|
|
2476
|
+
}
|
|
2477
|
+
this.topLevelMenuItem.childMenu.hide();
|
|
2478
|
+
this.container.navigateTo(nextItem);
|
|
2479
|
+
if (nextItem.childMenu) {
|
|
2480
|
+
this.container.navigateTo(nextItem.childMenu.firstChild());
|
|
2481
|
+
}
|
|
2482
|
+
}
|
|
2483
|
+
}
|
|
2484
|
+
},
|
|
2485
|
+
navigateNext: function() {
|
|
2486
|
+
if (this.childMenu) {
|
|
2487
|
+
this.childMenu.hide();
|
|
2488
|
+
}
|
|
2489
|
+
var nextMenuItem = this.nextSibling;
|
|
2490
|
+
if (!nextMenuItem && this.parentMenu.isRoot()) {
|
|
2491
|
+
nextMenuItem = this.parentMenu.parentMenuItem;
|
|
2492
|
+
if (nextMenuItem) {
|
|
2493
|
+
nextMenuItem = nextMenuItem.nextSibling;
|
|
2494
|
+
}
|
|
2495
|
+
}
|
|
2496
|
+
if (!nextMenuItem) {
|
|
2497
|
+
nextMenuItem = this.parentMenu.firstChild();
|
|
2498
|
+
}
|
|
2499
|
+
if (nextMenuItem) {
|
|
2500
|
+
this.container.navigateTo(nextMenuItem);
|
|
2501
|
+
}
|
|
2502
|
+
},
|
|
2503
|
+
navigateOut: function() {
|
|
2504
|
+
this.parentMenu.blur();
|
|
2505
|
+
},
|
|
2506
|
+
navigateParent: function() {
|
|
2507
|
+
var parentMenu = this.parentMenu,
|
|
2508
|
+
horizontal = this.container.orientation === 'horizontal';
|
|
2509
|
+
if (!parentMenu) return;
|
|
2510
|
+
if (horizontal && this.childMenu && parentMenu.isRoot()) {
|
|
2511
|
+
this.navigateChild();
|
|
2512
|
+
return;
|
|
2513
|
+
}
|
|
2514
|
+
if (parentMenu.parentMenuItem && !parentMenu.isRoot()) {
|
|
2515
|
+
if (horizontal && this.parentMenu.depth === 2) {
|
|
2516
|
+
var previousItem = this.parentMenu.parentMenuItem.previousSibling;
|
|
2517
|
+
if (!previousItem) {
|
|
2518
|
+
previousItem = this.parentMenu.rootMenu.lastChild();
|
|
2519
|
+
}
|
|
2520
|
+
this.topLevelMenuItem.childMenu.hide();
|
|
2521
|
+
this.container.navigateTo(previousItem);
|
|
2522
|
+
if (previousItem.childMenu) {
|
|
2523
|
+
this.container.navigateTo(previousItem.childMenu.firstChild());
|
|
2524
|
+
}
|
|
2525
|
+
}
|
|
2526
|
+
else {
|
|
2527
|
+
this.parentMenu.hide();
|
|
2528
|
+
}
|
|
2529
|
+
}
|
|
2530
|
+
},
|
|
2531
|
+
navigatePrevious: function() {
|
|
2532
|
+
if (this.childMenu) {
|
|
2533
|
+
this.childMenu.hide();
|
|
2534
|
+
}
|
|
2535
|
+
var previousMenuItem = this.previousSibling;
|
|
2536
|
+
if (previousMenuItem) {
|
|
2537
|
+
var childMenu = previousMenuItem.childMenu;
|
|
2538
|
+
if (childMenu && childMenu.isRoot()) {
|
|
2539
|
+
previousMenuItem = childMenu.lastChild();
|
|
2540
|
+
}
|
|
2541
|
+
}
|
|
2542
|
+
if (!previousMenuItem && this.parentMenu.isRoot()) {
|
|
2543
|
+
previousMenuItem = this.parentMenu.parentMenuItem;
|
|
2544
|
+
}
|
|
2545
|
+
if (!previousMenuItem) {
|
|
2546
|
+
previousMenuItem = this.parentMenu.lastChild();
|
|
2547
|
+
}
|
|
2548
|
+
if (previousMenuItem) {
|
|
2549
|
+
this.container.navigateTo(previousMenuItem);
|
|
2550
|
+
}
|
|
2551
|
+
},
|
|
2552
|
+
setTabIndex: function(index) { if (this._anchor) this._anchor.tabIndex = index; }
|
|
2553
|
+
};
|
|
2554
|
+
Sys.WebForms.MenuItem._onmouseout = function(e) {
|
|
2555
|
+
var menuItem = Sys.WebForms.Menu._elementObjectMapper.getMappedObject(this);
|
|
2556
|
+
if (!menuItem) {
|
|
2557
|
+
return;
|
|
2558
|
+
}
|
|
2559
|
+
menuItem.mouseout();
|
|
2560
|
+
Sys.WebForms.Menu._domHelper.cancelEvent(e);
|
|
2561
|
+
};
|
|
2562
|
+
Sys.WebForms.MenuItem._onmouseover = function(e) {
|
|
2563
|
+
var menuItem = Sys.WebForms.Menu._elementObjectMapper.getMappedObject(this);
|
|
2564
|
+
if (!menuItem) {
|
|
2565
|
+
return;
|
|
2566
|
+
}
|
|
2567
|
+
menuItem.mouseover();
|
|
2568
|
+
Sys.WebForms.Menu._domHelper.cancelEvent(e);
|
|
2569
|
+
};
|
|
2570
|
+
Sys.WebForms.Menu._domHelper = {
|
|
2571
|
+
addEvent: function(element, eventName, fn, useCapture) {
|
|
2572
|
+
if (element.addEventListener) {
|
|
2573
|
+
element.addEventListener(eventName, fn, !!useCapture);
|
|
2574
|
+
}
|
|
2575
|
+
else {
|
|
2576
|
+
element['on' + eventName] = fn;
|
|
2577
|
+
}
|
|
2578
|
+
},
|
|
2579
|
+
appendAttributeValue: function(element, name, value) {
|
|
2580
|
+
this.updateAttributeValue('append', element, name, value);
|
|
2581
|
+
},
|
|
2582
|
+
appendCssClass: function(element, value) {
|
|
2583
|
+
this.updateClassName('append', element, name, value);
|
|
2584
|
+
},
|
|
2585
|
+
appendString: function(getString, setString, value) {
|
|
2586
|
+
var currentValue = getString();
|
|
2587
|
+
if (!currentValue) {
|
|
2588
|
+
setString(value);
|
|
2589
|
+
return;
|
|
2590
|
+
}
|
|
2591
|
+
var regex = this._regexes.getRegex('(^| )' + value + '($| )');
|
|
2592
|
+
if (regex.test(currentValue)) {
|
|
2593
|
+
return;
|
|
2594
|
+
}
|
|
2595
|
+
setString(currentValue + ' ' + value);
|
|
2596
|
+
},
|
|
2597
|
+
cancelEvent: function(e) {
|
|
2598
|
+
var event = e || window.event;
|
|
2599
|
+
if (event) {
|
|
2600
|
+
event.cancelBubble = true;
|
|
2601
|
+
if (event.stopPropagation) {
|
|
2602
|
+
event.stopPropagation();
|
|
2603
|
+
}
|
|
2604
|
+
}
|
|
2605
|
+
},
|
|
2606
|
+
contains: function(ancestor, descendant) {
|
|
2607
|
+
for (; descendant && (descendant !== ancestor); descendant = descendant.parentNode) { }
|
|
2608
|
+
return !!descendant;
|
|
2609
|
+
},
|
|
2610
|
+
firstChild: function(element) {
|
|
2611
|
+
var child = element.firstChild;
|
|
2612
|
+
if (child && child.nodeType !== 1) {
|
|
2613
|
+
child = this.nextSibling(child);
|
|
2614
|
+
}
|
|
2615
|
+
return child;
|
|
2616
|
+
},
|
|
2617
|
+
getElement: function(elementOrId) { return typeof elementOrId === 'string' ? document.getElementById(elementOrId) : elementOrId; },
|
|
2618
|
+
getElementDirection: function(element) {
|
|
2619
|
+
if (element) {
|
|
2620
|
+
if (element.dir) {
|
|
2621
|
+
return element.dir;
|
|
2622
|
+
}
|
|
2623
|
+
return this.getElementDirection(element.parentNode);
|
|
2624
|
+
}
|
|
2625
|
+
return "ltr";
|
|
2626
|
+
},
|
|
2627
|
+
getKeyCode: function(event) { return event.keyCode || event.charCode || 0; },
|
|
2628
|
+
insertAfter: function(element, elementToInsert) {
|
|
2629
|
+
var next = element.nextSibling;
|
|
2630
|
+
if (next) {
|
|
2631
|
+
element.parentNode.insertBefore(elementToInsert, next);
|
|
2632
|
+
}
|
|
2633
|
+
else if (element.parentNode) {
|
|
2634
|
+
element.parentNode.appendChild(elementToInsert);
|
|
2635
|
+
}
|
|
2636
|
+
},
|
|
2637
|
+
nextSibling: function(element) {
|
|
2638
|
+
var sibling = element.nextSibling;
|
|
2639
|
+
while (sibling) {
|
|
2640
|
+
if (sibling.nodeType === 1) {
|
|
2641
|
+
return sibling;
|
|
2642
|
+
}
|
|
2643
|
+
sibling = sibling.nextSibling;
|
|
2644
|
+
}
|
|
2645
|
+
},
|
|
2646
|
+
removeAttributeValue: function(element, name, value) {
|
|
2647
|
+
this.updateAttributeValue('remove', element, name, value);
|
|
2648
|
+
},
|
|
2649
|
+
removeCssClass: function(element, value) {
|
|
2650
|
+
this.updateClassName('remove', element, name, value);
|
|
2651
|
+
},
|
|
2652
|
+
removeEvent: function(element, eventName, fn, useCapture) {
|
|
2653
|
+
if (element.removeEventListener) {
|
|
2654
|
+
element.removeEventListener(eventName, fn, !!useCapture);
|
|
2655
|
+
}
|
|
2656
|
+
else if (element.detachEvent) {
|
|
2657
|
+
element.detachEvent('on' + eventName, fn)
|
|
2658
|
+
}
|
|
2659
|
+
element['on' + eventName] = null;
|
|
2660
|
+
},
|
|
2661
|
+
removeString: function(getString, setString, valueToRemove) {
|
|
2662
|
+
var currentValue = getString();
|
|
2663
|
+
if (currentValue) {
|
|
2664
|
+
var regex = this._regexes.getRegex('(\\s|\\b)' + valueToRemove + '$|\\b' + valueToRemove + '\\s+');
|
|
2665
|
+
setString(currentValue.replace(regex, ''));
|
|
2666
|
+
}
|
|
2667
|
+
},
|
|
2668
|
+
setFloat: function(element, direction) {
|
|
2669
|
+
element.style.styleFloat = direction;
|
|
2670
|
+
element.style.cssFloat = direction;
|
|
2671
|
+
},
|
|
2672
|
+
updateAttributeValue: function(operation, element, name, value) {
|
|
2673
|
+
this[operation + 'String'](
|
|
2674
|
+
function() {
|
|
2675
|
+
return element.getAttribute(name);
|
|
2676
|
+
},
|
|
2677
|
+
function(newValue) {
|
|
2678
|
+
element.setAttribute(name, newValue);
|
|
2679
|
+
},
|
|
2680
|
+
value
|
|
2681
|
+
);
|
|
2682
|
+
},
|
|
2683
|
+
updateClassName: function(operation, element, name, value) {
|
|
2684
|
+
this[operation + 'String'](
|
|
2685
|
+
function() {
|
|
2686
|
+
return element.className;
|
|
2687
|
+
},
|
|
2688
|
+
function(newValue) {
|
|
2689
|
+
element.className = newValue;
|
|
2690
|
+
},
|
|
2691
|
+
value
|
|
2692
|
+
);
|
|
2693
|
+
},
|
|
2694
|
+
_regexes: {
|
|
2695
|
+
getRegex: function(pattern) {
|
|
2696
|
+
var regex = this[pattern];
|
|
2697
|
+
if (!regex) {
|
|
2698
|
+
this[pattern] = regex = new RegExp(pattern);
|
|
2699
|
+
}
|
|
2700
|
+
return regex;
|
|
2701
|
+
}
|
|
2702
|
+
}
|
|
2703
|
+
};
|
|
2704
|
+
Sys.WebForms.Menu._elementObjectMapper = {
|
|
2705
|
+
_computedId: 0,
|
|
2706
|
+
_mappings: {},
|
|
2707
|
+
_mappingIdName: 'Sys.WebForms.Menu.Mapping',
|
|
2708
|
+
getMappedObject: function(element) {
|
|
2709
|
+
var id = element[this._mappingIdName];
|
|
2710
|
+
if (id) {
|
|
2711
|
+
return this._mappings[this._mappingIdName + ':' + id];
|
|
2712
|
+
}
|
|
2713
|
+
},
|
|
2714
|
+
map: function(element, theObject) {
|
|
2715
|
+
var mappedObject = element[this._mappingIdName];
|
|
2716
|
+
if (mappedObject === theObject) {
|
|
2717
|
+
return;
|
|
2718
|
+
}
|
|
2719
|
+
var objectId = element[this._mappingIdName] || element.id || '%' + (++this._computedId);
|
|
2720
|
+
element[this._mappingIdName] = objectId;
|
|
2721
|
+
this._mappings[this._mappingIdName + ':' + objectId] = theObject;
|
|
2722
|
+
theObject.mappingId = objectId;
|
|
2723
|
+
}
|
|
2724
|
+
};
|
|
2725
|
+
Sys.WebForms.Menu._keyboardMapping = new (function() {
|
|
2726
|
+
var LEFT_ARROW = 37;
|
|
2727
|
+
var UP_ARROW = 38;
|
|
2728
|
+
var RIGHT_ARROW = 39;
|
|
2729
|
+
var DOWN_ARROW = 40;
|
|
2730
|
+
var TAB = 9;
|
|
2731
|
+
var ESCAPE = 27;
|
|
2732
|
+
this.vertical = { next: 0, previous: 1, child: 2, parent: 3, tab: 4 };
|
|
2733
|
+
this.vertical[DOWN_ARROW] = this.vertical.next;
|
|
2734
|
+
this.vertical[UP_ARROW] = this.vertical.previous;
|
|
2735
|
+
this.vertical[RIGHT_ARROW] = this.vertical.child;
|
|
2736
|
+
this.vertical[LEFT_ARROW] = this.vertical.parent;
|
|
2737
|
+
this.vertical[TAB] = this.vertical[ESCAPE] = this.vertical.tab;
|
|
2738
|
+
this.verticalRtl = { next: 0, previous: 1, child: 2, parent: 3, tab: 4 };
|
|
2739
|
+
this.verticalRtl[DOWN_ARROW] = this.verticalRtl.next;
|
|
2740
|
+
this.verticalRtl[UP_ARROW] = this.verticalRtl.previous;
|
|
2741
|
+
this.verticalRtl[LEFT_ARROW] = this.verticalRtl.child;
|
|
2742
|
+
this.verticalRtl[RIGHT_ARROW] = this.verticalRtl.parent;
|
|
2743
|
+
this.verticalRtl[TAB] = this.verticalRtl[ESCAPE] = this.verticalRtl.tab;
|
|
2744
|
+
this.horizontal = { next: 0, previous: 1, child: 2, parent: 3, tab: 4 };
|
|
2745
|
+
this.horizontal[RIGHT_ARROW] = this.horizontal.next;
|
|
2746
|
+
this.horizontal[LEFT_ARROW] = this.horizontal.previous;
|
|
2747
|
+
this.horizontal[DOWN_ARROW] = this.horizontal.child;
|
|
2748
|
+
this.horizontal[UP_ARROW] = this.horizontal.parent;
|
|
2749
|
+
this.horizontal[TAB] = this.horizontal[ESCAPE] = this.horizontal.tab;
|
|
2750
|
+
this.horizontalRtl = { next: 0, previous: 1, child: 2, parent: 3, tab: 4 };
|
|
2751
|
+
this.horizontalRtl[RIGHT_ARROW] = this.horizontalRtl.previous;
|
|
2752
|
+
this.horizontalRtl[LEFT_ARROW] = this.horizontalRtl.next;
|
|
2753
|
+
this.horizontalRtl[DOWN_ARROW] = this.horizontalRtl.child;
|
|
2754
|
+
this.horizontalRtl[UP_ARROW] = this.horizontalRtl.parent;
|
|
2755
|
+
this.horizontalRtl[TAB] = this.horizontalRtl[ESCAPE] = this.horizontalRtl.tab;
|
|
2756
|
+
this.horizontal.contains = this.horizontalRtl.contains = this.vertical.contains = this.verticalRtl.contains = function(keycode) {
|
|
2757
|
+
return this[keycode] != null;
|
|
2758
|
+
};
|
|
2759
|
+
})();
|
|
2760
|
+
Sys.WebForms._MenuContainer = function(options) {
|
|
2761
|
+
this.focused = false;
|
|
2762
|
+
this.disabled = options.disabled;
|
|
2763
|
+
this.staticDisplayLevels = options.staticDisplayLevels || 1;
|
|
2764
|
+
this.element = options.element;
|
|
2765
|
+
this.orientation = options.orientation || 'vertical';
|
|
2766
|
+
this.disappearAfter = options.disappearAfter;
|
|
2767
|
+
this.rightToLeft = Sys.WebForms.Menu._domHelper.getElementDirection(this.element) === 'rtl';
|
|
2768
|
+
Sys.WebForms.Menu._elementObjectMapper.map(this.element, this);
|
|
2769
|
+
this.menu = options.menu;
|
|
2770
|
+
this.menu.rootMenu = this.menu;
|
|
2771
|
+
this.menu.displayMode = 'static';
|
|
2772
|
+
this.menu.element.style.position = 'relative';
|
|
2773
|
+
this.menu.element.style.width = 'auto';
|
|
2774
|
+
if (this.orientation === 'vertical') {
|
|
2775
|
+
Sys.WebForms.Menu._domHelper.appendAttributeValue(this.menu.element, 'role', 'menu');
|
|
2776
|
+
if (this.rightToLeft) {
|
|
2777
|
+
this.menu.keyMap = Sys.WebForms.Menu._keyboardMapping.verticalRtl;
|
|
2778
|
+
}
|
|
2779
|
+
else {
|
|
2780
|
+
this.menu.keyMap = Sys.WebForms.Menu._keyboardMapping.vertical;
|
|
2781
|
+
}
|
|
2782
|
+
}
|
|
2783
|
+
else {
|
|
2784
|
+
Sys.WebForms.Menu._domHelper.appendAttributeValue(this.menu.element, 'role', 'menubar');
|
|
2785
|
+
if (this.rightToLeft) {
|
|
2786
|
+
this.menu.keyMap = Sys.WebForms.Menu._keyboardMapping.horizontalRtl;
|
|
2787
|
+
}
|
|
2788
|
+
else {
|
|
2789
|
+
this.menu.keyMap = Sys.WebForms.Menu._keyboardMapping.horizontal;
|
|
2790
|
+
}
|
|
2791
|
+
}
|
|
2792
|
+
var floatBreak = document.createElement('div');
|
|
2793
|
+
floatBreak.style.clear = this.rightToLeft ? "right" : "left";
|
|
2794
|
+
this.element.appendChild(floatBreak);
|
|
2795
|
+
Sys.WebForms.Menu._domHelper.setFloat(this.element, this.rightToLeft ? "right" : "left");
|
|
2796
|
+
Sys.WebForms.Menu._domHelper.insertAfter(this.element, floatBreak);
|
|
2797
|
+
if (!this.disabled) {
|
|
2798
|
+
Sys.WebForms.Menu._domHelper.addEvent(this.menu.element, 'focus', this._onfocus, true);
|
|
2799
|
+
Sys.WebForms.Menu._domHelper.addEvent(this.menu.element, 'keydown', this._onkeydown);
|
|
2800
|
+
var menuContainer = this;
|
|
2801
|
+
this.element.dispose = function() {
|
|
2802
|
+
if (menuContainer.element.dispose) {
|
|
2803
|
+
menuContainer.element.dispose = null;
|
|
2804
|
+
Sys.WebForms.Menu._domHelper.removeEvent(menuContainer.menu.element, 'focus', menuContainer._onfocus, true);
|
|
2805
|
+
Sys.WebForms.Menu._domHelper.removeEvent(menuContainer.menu.element, 'keydown', menuContainer._onkeydown);
|
|
2806
|
+
menuContainer.menu.doDispose();
|
|
2807
|
+
}
|
|
2808
|
+
};
|
|
2809
|
+
Sys.WebForms.Menu._domHelper.addEvent(window, 'unload', function() {
|
|
2810
|
+
if (menuContainer.element.dispose) {
|
|
2811
|
+
menuContainer.element.dispose();
|
|
2812
|
+
}
|
|
2813
|
+
});
|
|
2814
|
+
}
|
|
2815
|
+
};
|
|
2816
|
+
Sys.WebForms._MenuContainer.prototype = {
|
|
2817
|
+
blur: function() {
|
|
2818
|
+
this.focused = false;
|
|
2819
|
+
this.isBlurring = false;
|
|
2820
|
+
this.menu.collapse();
|
|
2821
|
+
this.focusedMenuItem = null;
|
|
2822
|
+
},
|
|
2823
|
+
focus: function(e) { this.focused = true; },
|
|
2824
|
+
navigateTo: function(menuItem) {
|
|
2825
|
+
if (this.focusedMenuItem && this.focusedMenuItem !== this) {
|
|
2826
|
+
this.focusedMenuItem.highlight(false);
|
|
2827
|
+
}
|
|
2828
|
+
menuItem.highlight(true);
|
|
2829
|
+
menuItem.focus();
|
|
2830
|
+
this.focusedMenuItem = menuItem;
|
|
2831
|
+
},
|
|
2832
|
+
_onfocus: function(e) {
|
|
2833
|
+
var event = e || window.event;
|
|
2834
|
+
if (event.srcElement && this) {
|
|
2835
|
+
if (Sys.WebForms.Menu._domHelper.contains(this.element, event.srcElement)) {
|
|
2836
|
+
if (!this.focused) {
|
|
2837
|
+
this.focus();
|
|
2838
|
+
}
|
|
2839
|
+
}
|
|
2840
|
+
}
|
|
2841
|
+
},
|
|
2842
|
+
_onkeydown: function(e) {
|
|
2843
|
+
var thisMenu = Sys.WebForms.Menu._elementObjectMapper.getMappedObject(this);
|
|
2844
|
+
var keyCode = Sys.WebForms.Menu._domHelper.getKeyCode(e || window.event);
|
|
2845
|
+
if (thisMenu) {
|
|
2846
|
+
thisMenu.handleKeyPress(keyCode);
|
|
2847
|
+
}
|
|
2848
|
+
}
|
|
2849
|
+
};
|
|
2850
|
+
|
|
2851
|
+
function TreeView_HoverNode(data, node) {
|
|
2852
|
+
if (!data) {
|
|
2853
|
+
return;
|
|
2854
|
+
}
|
|
2855
|
+
node.hoverClass = data.hoverClass;
|
|
2856
|
+
WebForm_AppendToClassName(node, data.hoverClass);
|
|
2857
|
+
if (__nonMSDOMBrowser) {
|
|
2858
|
+
node = node.childNodes[node.childNodes.length - 1];
|
|
2859
|
+
}
|
|
2860
|
+
else {
|
|
2861
|
+
node = node.children[node.children.length - 1];
|
|
2862
|
+
}
|
|
2863
|
+
node.hoverHyperLinkClass = data.hoverHyperLinkClass;
|
|
2864
|
+
WebForm_AppendToClassName(node, data.hoverHyperLinkClass);
|
|
2865
|
+
}
|
|
2866
|
+
function TreeView_GetNodeText(node) {
|
|
2867
|
+
var trNode = WebForm_GetParentByTagName(node, "TR");
|
|
2868
|
+
var outerNodes;
|
|
2869
|
+
if (trNode.childNodes[trNode.childNodes.length - 1].getElementsByTagName) {
|
|
2870
|
+
outerNodes = trNode.childNodes[trNode.childNodes.length - 1].getElementsByTagName("A");
|
|
2871
|
+
if (!outerNodes || outerNodes.length == 0) {
|
|
2872
|
+
outerNodes = trNode.childNodes[trNode.childNodes.length - 1].getElementsByTagName("SPAN");
|
|
2873
|
+
}
|
|
2874
|
+
}
|
|
2875
|
+
var textNode = (outerNodes && outerNodes.length > 0) ?
|
|
2876
|
+
outerNodes[0].childNodes[0] :
|
|
2877
|
+
trNode.childNodes[trNode.childNodes.length - 1].childNodes[0];
|
|
2878
|
+
return (textNode && textNode.nodeValue) ? textNode.nodeValue : "";
|
|
2879
|
+
}
|
|
2880
|
+
function TreeView_PopulateNode(data, index, node, selectNode, selectImageNode, lineType, text, path, databound, datapath, parentIsLast) {
|
|
2881
|
+
if (!data) {
|
|
2882
|
+
return;
|
|
2883
|
+
}
|
|
2884
|
+
var context = new Object();
|
|
2885
|
+
context.data = data;
|
|
2886
|
+
context.node = node;
|
|
2887
|
+
context.selectNode = selectNode;
|
|
2888
|
+
context.selectImageNode = selectImageNode;
|
|
2889
|
+
context.lineType = lineType;
|
|
2890
|
+
context.index = index;
|
|
2891
|
+
context.isChecked = "f";
|
|
2892
|
+
var tr = WebForm_GetParentByTagName(node, "TR");
|
|
2893
|
+
if (tr) {
|
|
2894
|
+
var checkbox = tr.getElementsByTagName("INPUT");
|
|
2895
|
+
if (checkbox && (checkbox.length > 0)) {
|
|
2896
|
+
for (var i = 0; i < checkbox.length; i++) {
|
|
2897
|
+
if (checkbox[i].type.toLowerCase() == "checkbox") {
|
|
2898
|
+
if (checkbox[i].checked) {
|
|
2899
|
+
context.isChecked = "t";
|
|
2900
|
+
}
|
|
2901
|
+
break;
|
|
2902
|
+
}
|
|
2903
|
+
}
|
|
2904
|
+
}
|
|
2905
|
+
}
|
|
2906
|
+
var param = index + "|" + data.lastIndex + "|" + databound + context.isChecked + parentIsLast + "|" +
|
|
2907
|
+
text.length + "|" + text + datapath.length + "|" + datapath + path;
|
|
2908
|
+
TreeView_PopulateNodeDoCallBack(context, param);
|
|
2909
|
+
}
|
|
2910
|
+
function TreeView_ProcessNodeData(result, context) {
|
|
2911
|
+
var treeNode = context.node;
|
|
2912
|
+
if (result.length > 0) {
|
|
2913
|
+
var ci = result.indexOf("|", 0);
|
|
2914
|
+
context.data.lastIndex = result.substring(0, ci);
|
|
2915
|
+
ci = result.indexOf("|", ci + 1);
|
|
2916
|
+
var newExpandState = result.substring(context.data.lastIndex.length + 1, ci);
|
|
2917
|
+
context.data.expandState.value += newExpandState;
|
|
2918
|
+
var chunk = result.substr(ci + 1);
|
|
2919
|
+
var newChildren, table;
|
|
2920
|
+
if (__nonMSDOMBrowser) {
|
|
2921
|
+
var newDiv = document.createElement("div");
|
|
2922
|
+
newDiv.innerHTML = chunk;
|
|
2923
|
+
table = WebForm_GetParentByTagName(treeNode, "TABLE");
|
|
2924
|
+
newChildren = null;
|
|
2925
|
+
if ((typeof(table.nextSibling) == "undefined") || (table.nextSibling == null)) {
|
|
2926
|
+
table.parentNode.insertBefore(newDiv.firstChild, table.nextSibling);
|
|
2927
|
+
newChildren = table.previousSibling;
|
|
2928
|
+
}
|
|
2929
|
+
else {
|
|
2930
|
+
table = table.nextSibling;
|
|
2931
|
+
table.parentNode.insertBefore(newDiv.firstChild, table);
|
|
2932
|
+
newChildren = table.previousSibling;
|
|
2933
|
+
}
|
|
2934
|
+
newChildren = document.getElementById(treeNode.id + "Nodes");
|
|
2935
|
+
}
|
|
2936
|
+
else {
|
|
2937
|
+
table = WebForm_GetParentByTagName(treeNode, "TABLE");
|
|
2938
|
+
table.insertAdjacentHTML("afterEnd", chunk);
|
|
2939
|
+
newChildren = document.all[treeNode.id + "Nodes"];
|
|
2940
|
+
}
|
|
2941
|
+
if ((typeof(newChildren) != "undefined") && (newChildren != null)) {
|
|
2942
|
+
TreeView_ToggleNode(context.data, context.index, treeNode, context.lineType, newChildren);
|
|
2943
|
+
treeNode.href = document.getElementById ?
|
|
2944
|
+
"javascript:TreeView_ToggleNode(" + context.data.name + "," + context.index + ",document.getElementById('" + treeNode.id + "'),'" + context.lineType + "',document.getElementById('" + newChildren.id + "'))" :
|
|
2945
|
+
"javascript:TreeView_ToggleNode(" + context.data.name + "," + context.index + "," + treeNode.id + ",'" + context.lineType + "'," + newChildren.id + ")";
|
|
2946
|
+
if ((typeof(context.selectNode) != "undefined") && (context.selectNode != null) && context.selectNode.href &&
|
|
2947
|
+
(context.selectNode.href.indexOf("javascript:TreeView_PopulateNode", 0) == 0)) {
|
|
2948
|
+
context.selectNode.href = treeNode.href;
|
|
2949
|
+
}
|
|
2950
|
+
if ((typeof(context.selectImageNode) != "undefined") && (context.selectImageNode != null) && context.selectNode.href &&
|
|
2951
|
+
(context.selectImageNode.href.indexOf("javascript:TreeView_PopulateNode", 0) == 0)) {
|
|
2952
|
+
context.selectImageNode.href = treeNode.href;
|
|
2953
|
+
}
|
|
2954
|
+
}
|
|
2955
|
+
context.data.populateLog.value += context.index + ",";
|
|
2956
|
+
}
|
|
2957
|
+
else {
|
|
2958
|
+
var img = treeNode.childNodes ? treeNode.childNodes[0] : treeNode.children[0];
|
|
2959
|
+
if ((typeof(img) != "undefined") && (img != null)) {
|
|
2960
|
+
var lineType = context.lineType;
|
|
2961
|
+
if (lineType == "l") {
|
|
2962
|
+
img.src = context.data.images[13];
|
|
2963
|
+
}
|
|
2964
|
+
else if (lineType == "t") {
|
|
2965
|
+
img.src = context.data.images[10];
|
|
2966
|
+
}
|
|
2967
|
+
else if (lineType == "-") {
|
|
2968
|
+
img.src = context.data.images[16];
|
|
2969
|
+
}
|
|
2970
|
+
else {
|
|
2971
|
+
img.src = context.data.images[3];
|
|
2972
|
+
}
|
|
2973
|
+
var pe;
|
|
2974
|
+
if (__nonMSDOMBrowser) {
|
|
2975
|
+
pe = treeNode.parentNode;
|
|
2976
|
+
pe.insertBefore(img, treeNode);
|
|
2977
|
+
pe.removeChild(treeNode);
|
|
2978
|
+
}
|
|
2979
|
+
else {
|
|
2980
|
+
pe = treeNode.parentElement;
|
|
2981
|
+
treeNode.style.visibility="hidden";
|
|
2982
|
+
treeNode.style.display="none";
|
|
2983
|
+
pe.insertAdjacentElement("afterBegin", img);
|
|
2984
|
+
}
|
|
2985
|
+
}
|
|
2986
|
+
}
|
|
2987
|
+
}
|
|
2988
|
+
function TreeView_SelectNode(data, node, nodeId) {
|
|
2989
|
+
if (!data) {
|
|
2990
|
+
return;
|
|
2991
|
+
}
|
|
2992
|
+
if ((typeof(data.selectedClass) != "undefined") && (data.selectedClass != null)) {
|
|
2993
|
+
var id = data.selectedNodeID.value;
|
|
2994
|
+
if (id.length > 0) {
|
|
2995
|
+
var selectedNode = document.getElementById(id);
|
|
2996
|
+
if ((typeof(selectedNode) != "undefined") && (selectedNode != null)) {
|
|
2997
|
+
WebForm_RemoveClassName(selectedNode, data.selectedHyperLinkClass);
|
|
2998
|
+
selectedNode = WebForm_GetParentByTagName(selectedNode, "TD");
|
|
2999
|
+
WebForm_RemoveClassName(selectedNode, data.selectedClass);
|
|
3000
|
+
}
|
|
3001
|
+
}
|
|
3002
|
+
WebForm_AppendToClassName(node, data.selectedHyperLinkClass);
|
|
3003
|
+
node = WebForm_GetParentByTagName(node, "TD");
|
|
3004
|
+
WebForm_AppendToClassName(node, data.selectedClass)
|
|
3005
|
+
}
|
|
3006
|
+
data.selectedNodeID.value = nodeId;
|
|
3007
|
+
}
|
|
3008
|
+
function TreeView_ToggleNode(data, index, node, lineType, children) {
|
|
3009
|
+
if (!data) {
|
|
3010
|
+
return;
|
|
3011
|
+
}
|
|
3012
|
+
var img = node.childNodes[0];
|
|
3013
|
+
var newExpandState;
|
|
3014
|
+
try {
|
|
3015
|
+
if (children.style.display == "none") {
|
|
3016
|
+
children.style.display = "block";
|
|
3017
|
+
newExpandState = "e";
|
|
3018
|
+
if ((typeof(img) != "undefined") && (img != null)) {
|
|
3019
|
+
if (lineType == "l") {
|
|
3020
|
+
img.src = data.images[15];
|
|
3021
|
+
}
|
|
3022
|
+
else if (lineType == "t") {
|
|
3023
|
+
img.src = data.images[12];
|
|
3024
|
+
}
|
|
3025
|
+
else if (lineType == "-") {
|
|
3026
|
+
img.src = data.images[18];
|
|
3027
|
+
}
|
|
3028
|
+
else {
|
|
3029
|
+
img.src = data.images[5];
|
|
3030
|
+
}
|
|
3031
|
+
img.alt = data.collapseToolTip.replace(/\{0\}/, TreeView_GetNodeText(node));
|
|
3032
|
+
}
|
|
3033
|
+
}
|
|
3034
|
+
else {
|
|
3035
|
+
children.style.display = "none";
|
|
3036
|
+
newExpandState = "c";
|
|
3037
|
+
if ((typeof(img) != "undefined") && (img != null)) {
|
|
3038
|
+
if (lineType == "l") {
|
|
3039
|
+
img.src = data.images[14];
|
|
3040
|
+
}
|
|
3041
|
+
else if (lineType == "t") {
|
|
3042
|
+
img.src = data.images[11];
|
|
3043
|
+
}
|
|
3044
|
+
else if (lineType == "-") {
|
|
3045
|
+
img.src = data.images[17];
|
|
3046
|
+
}
|
|
3047
|
+
else {
|
|
3048
|
+
img.src = data.images[4];
|
|
3049
|
+
}
|
|
3050
|
+
img.alt = data.expandToolTip.replace(/\{0\}/, TreeView_GetNodeText(node));
|
|
3051
|
+
}
|
|
3052
|
+
}
|
|
3053
|
+
}
|
|
3054
|
+
catch(e) {}
|
|
3055
|
+
data.expandState.value = data.expandState.value.substring(0, index) + newExpandState + data.expandState.value.slice(index + 1);
|
|
3056
|
+
}
|
|
3057
|
+
function TreeView_UnhoverNode(node) {
|
|
3058
|
+
if (!node.hoverClass) {
|
|
3059
|
+
return;
|
|
3060
|
+
}
|
|
3061
|
+
WebForm_RemoveClassName(node, node.hoverClass);
|
|
3062
|
+
if (__nonMSDOMBrowser) {
|
|
3063
|
+
node = node.childNodes[node.childNodes.length - 1];
|
|
3064
|
+
}
|
|
3065
|
+
else {
|
|
3066
|
+
node = node.children[node.children.length - 1];
|
|
3067
|
+
}
|
|
3068
|
+
WebForm_RemoveClassName(node, node.hoverHyperLinkClass);
|
|
3069
|
+
}
|
|
3070
|
+
|
|
3071
|
+
/*! jQuery v1.7.1 jquery.com | jquery.org/license */
|
|
3072
|
+
(function (a, b) {
|
|
3073
|
+
function cy(a) { return f.isWindow(a) ? a : a.nodeType === 9 ? a.defaultView || a.parentWindow : !1 } function cv(a) { if (!ck[a]) { var b = c.body, d = f("<" + a + ">").appendTo(b), e = d.css("display"); d.remove(); if (e === "none" || e === "") { cl || (cl = c.createElement("iframe"), cl.frameBorder = cl.width = cl.height = 0), b.appendChild(cl); if (!cm || !cl.createElement) cm = (cl.contentWindow || cl.contentDocument).document, cm.write((c.compatMode === "CSS1Compat" ? "<!doctype html>" : "") + "<html><body>"), cm.close(); d = cm.createElement(a), cm.body.appendChild(d), e = f.css(d, "display"), b.removeChild(cl) } ck[a] = e } return ck[a] } function cu(a, b) { var c = {}; f.each(cq.concat.apply([], cq.slice(0, b)), function () { c[this] = a }); return c } function ct() { cr = b } function cs() { setTimeout(ct, 0); return cr = f.now() } function cj() { try { return new a.ActiveXObject("Microsoft.XMLHTTP") } catch (b) { } } function ci() { try { return new a.XMLHttpRequest } catch (b) { } } function cc(a, c) { a.dataFilter && (c = a.dataFilter(c, a.dataType)); var d = a.dataTypes, e = {}, g, h, i = d.length, j, k = d[0], l, m, n, o, p; for (g = 1; g < i; g++) { if (g === 1) for (h in a.converters) typeof h == "string" && (e[h.toLowerCase()] = a.converters[h]); l = k, k = d[g]; if (k === "*") k = l; else if (l !== "*" && l !== k) { m = l + " " + k, n = e[m] || e["* " + k]; if (!n) { p = b; for (o in e) { j = o.split(" "); if (j[0] === l || j[0] === "*") { p = e[j[1] + " " + k]; if (p) { o = e[o], o === !0 ? n = p : p === !0 && (n = o); break } } } } !n && !p && f.error("No conversion from " + m.replace(" ", " to ")), n !== !0 && (c = n ? n(c) : p(o(c))) } } return c } function cb(a, c, d) { var e = a.contents, f = a.dataTypes, g = a.responseFields, h, i, j, k; for (i in g) i in d && (c[g[i]] = d[i]); while (f[0] === "*") f.shift(), h === b && (h = a.mimeType || c.getResponseHeader("content-type")); if (h) for (i in e) if (e[i] && e[i].test(h)) { f.unshift(i); break } if (f[0] in d) j = f[0]; else { for (i in d) { if (!f[0] || a.converters[i + " " + f[0]]) { j = i; break } k || (k = i) } j = j || k } if (j) { j !== f[0] && f.unshift(j); return d[j] } } function ca(a, b, c, d) { if (f.isArray(b)) f.each(b, function (b, e) { c || bE.test(a) ? d(a, e) : ca(a + "[" + (typeof e == "object" || f.isArray(e) ? b : "") + "]", e, c, d) }); else if (!c && b != null && typeof b == "object") for (var e in b) ca(a + "[" + e + "]", b[e], c, d); else d(a, b) } function b_(a, c) { var d, e, g = f.ajaxSettings.flatOptions || {}; for (d in c) c[d] !== b && ((g[d] ? a : e || (e = {}))[d] = c[d]); e && f.extend(!0, a, e) } function b$(a, c, d, e, f, g) { f = f || c.dataTypes[0], g = g || {}, g[f] = !0; var h = a[f], i = 0, j = h ? h.length : 0, k = a === bT, l; for (; i < j && (k || !l); i++) l = h[i](c, d, e), typeof l == "string" && (!k || g[l] ? l = b : (c.dataTypes.unshift(l), l = b$(a, c, d, e, l, g))); (k || !l) && !g["*"] && (l = b$(a, c, d, e, "*", g)); return l } function bZ(a) { return function (b, c) { typeof b != "string" && (c = b, b = "*"); if (f.isFunction(c)) { var d = b.toLowerCase().split(bP), e = 0, g = d.length, h, i, j; for (; e < g; e++) h = d[e], j = /^\+/.test(h), j && (h = h.substr(1) || "*"), i = a[h] = a[h] || [], i[j ? "unshift" : "push"](c) } } } function bC(a, b, c) { var d = b === "width" ? a.offsetWidth : a.offsetHeight, e = b === "width" ? bx : by, g = 0, h = e.length; if (d > 0) { if (c !== "border") for (; g < h; g++) c || (d -= parseFloat(f.css(a, "padding" + e[g])) || 0), c === "margin" ? d += parseFloat(f.css(a, c + e[g])) || 0 : d -= parseFloat(f.css(a, "border" + e[g] + "Width")) || 0; return d + "px" } d = bz(a, b, b); if (d < 0 || d == null) d = a.style[b] || 0; d = parseFloat(d) || 0; if (c) for (; g < h; g++) d += parseFloat(f.css(a, "padding" + e[g])) || 0, c !== "padding" && (d += parseFloat(f.css(a, "border" + e[g] + "Width")) || 0), c === "margin" && (d += parseFloat(f.css(a, c + e[g])) || 0); return d + "px" } function bp(a, b) { b.src ? f.ajax({ url: b.src, async: !1, dataType: "script" }) : f.globalEval((b.text || b.textContent || b.innerHTML || "").replace(bf, "/*$0*/")), b.parentNode && b.parentNode.removeChild(b) } function bo(a) { var b = c.createElement("div"); bh.appendChild(b), b.innerHTML = a.outerHTML; return b.firstChild } function bn(a) { var b = (a.nodeName || "").toLowerCase(); b === "input" ? bm(a) : b !== "script" && typeof a.getElementsByTagName != "undefined" && f.grep(a.getElementsByTagName("input"), bm) } function bm(a) { if (a.type === "checkbox" || a.type === "radio") a.defaultChecked = a.checked } function bl(a) { return typeof a.getElementsByTagName != "undefined" ? a.getElementsByTagName("*") : typeof a.querySelectorAll != "undefined" ? a.querySelectorAll("*") : [] } function bk(a, b) { var c; if (b.nodeType === 1) { b.clearAttributes && b.clearAttributes(), b.mergeAttributes && b.mergeAttributes(a), c = b.nodeName.toLowerCase(); if (c === "object") b.outerHTML = a.outerHTML; else if (c !== "input" || a.type !== "checkbox" && a.type !== "radio") { if (c === "option") b.selected = a.defaultSelected; else if (c === "input" || c === "textarea") b.defaultValue = a.defaultValue } else a.checked && (b.defaultChecked = b.checked = a.checked), b.value !== a.value && (b.value = a.value); b.removeAttribute(f.expando) } } function bj(a, b) { if (b.nodeType === 1 && !!f.hasData(a)) { var c, d, e, g = f._data(a), h = f._data(b, g), i = g.events; if (i) { delete h.handle, h.events = {}; for (c in i) for (d = 0, e = i[c].length; d < e; d++) f.event.add(b, c + (i[c][d].namespace ? "." : "") + i[c][d].namespace, i[c][d], i[c][d].data) } h.data && (h.data = f.extend({}, h.data)) } } function bi(a, b) { return f.nodeName(a, "table") ? a.getElementsByTagName("tbody")[0] || a.appendChild(a.ownerDocument.createElement("tbody")) : a } function U(a) { var b = V.split("|"), c = a.createDocumentFragment(); if (c.createElement) while (b.length) c.createElement(b.pop()); return c } function T(a, b, c) { b = b || 0; if (f.isFunction(b)) return f.grep(a, function (a, d) { var e = !!b.call(a, d, a); return e === c }); if (b.nodeType) return f.grep(a, function (a, d) { return a === b === c }); if (typeof b == "string") { var d = f.grep(a, function (a) { return a.nodeType === 1 }); if (O.test(b)) return f.filter(b, d, !c); b = f.filter(b, d) } return f.grep(a, function (a, d) { return f.inArray(a, b) >= 0 === c }) } function S(a) { return !a || !a.parentNode || a.parentNode.nodeType === 11 } function K() { return !0 } function J() { return !1 } function n(a, b, c) { var d = b + "defer", e = b + "queue", g = b + "mark", h = f._data(a, d); h && (c === "queue" || !f._data(a, e)) && (c === "mark" || !f._data(a, g)) && setTimeout(function () { !f._data(a, e) && !f._data(a, g) && (f.removeData(a, d, !0), h.fire()) }, 0) } function m(a) { for (var b in a) { if (b === "data" && f.isEmptyObject(a[b])) continue; if (b !== "toJSON") return !1 } return !0 } function l(a, c, d) { if (d === b && a.nodeType === 1) { var e = "data-" + c.replace(k, "-$1").toLowerCase(); d = a.getAttribute(e); if (typeof d == "string") { try { d = d === "true" ? !0 : d === "false" ? !1 : d === "null" ? null : f.isNumeric(d) ? parseFloat(d) : j.test(d) ? f.parseJSON(d) : d } catch (g) { } f.data(a, c, d) } else d = b } return d } function h(a) { var b = g[a] = {}, c, d; a = a.split(/\s+/); for (c = 0, d = a.length; c < d; c++) b[a[c]] = !0; return b } var c = a.document, d = a.navigator, e = a.location, f = function () { function J() { if (!e.isReady) { try { c.documentElement.doScroll("left") } catch (a) { setTimeout(J, 1); return } e.ready() } } var e = function (a, b) { return new e.fn.init(a, b, h) }, f = a.jQuery, g = a.$, h, i = /^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/, j = /\S/, k = /^\s+/, l = /\s+$/, m = /^<(\w+)\s*\/?>(?:<\/\1>)?$/, n = /^[\],:{}\s]*$/, o = /\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g, p = /"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g, q = /(?:^|:|,)(?:\s*\[)+/g, r = /(webkit)[ \/]([\w.]+)/, s = /(opera)(?:.*version)?[ \/]([\w.]+)/, t = /(msie) ([\w.]+)/, u = /(mozilla)(?:.*? rv:([\w.]+))?/, v = /-([a-z]|[0-9])/ig, w = /^-ms-/, x = function (a, b) { return (b + "").toUpperCase() }, y = d.userAgent, z, A, B, C = Object.prototype.toString, D = Object.prototype.hasOwnProperty, E = Array.prototype.push, F = Array.prototype.slice, G = String.prototype.trim, H = Array.prototype.indexOf, I = {}; e.fn = e.prototype = { constructor: e, init: function (a, d, f) { var g, h, j, k; if (!a) return this; if (a.nodeType) { this.context = this[0] = a, this.length = 1; return this } if (a === "body" && !d && c.body) { this.context = c, this[0] = c.body, this.selector = a, this.length = 1; return this } if (typeof a == "string") { a.charAt(0) !== "<" || a.charAt(a.length - 1) !== ">" || a.length < 3 ? g = i.exec(a) : g = [null, a, null]; if (g && (g[1] || !d)) { if (g[1]) { d = d instanceof e ? d[0] : d, k = d ? d.ownerDocument || d : c, j = m.exec(a), j ? e.isPlainObject(d) ? (a = [c.createElement(j[1])], e.fn.attr.call(a, d, !0)) : a = [k.createElement(j[1])] : (j = e.buildFragment([g[1]], [k]), a = (j.cacheable ? e.clone(j.fragment) : j.fragment).childNodes); return e.merge(this, a) } h = c.getElementById(g[2]); if (h && h.parentNode) { if (h.id !== g[2]) return f.find(a); this.length = 1, this[0] = h } this.context = c, this.selector = a; return this } return !d || d.jquery ? (d || f).find(a) : this.constructor(d).find(a) } if (e.isFunction(a)) return f.ready(a); a.selector !== b && (this.selector = a.selector, this.context = a.context); return e.makeArray(a, this) }, selector: "", jquery: "1.7.1", length: 0, size: function () { return this.length }, toArray: function () { return F.call(this, 0) }, get: function (a) { return a == null ? this.toArray() : a < 0 ? this[this.length + a] : this[a] }, pushStack: function (a, b, c) { var d = this.constructor(); e.isArray(a) ? E.apply(d, a) : e.merge(d, a), d.prevObject = this, d.context = this.context, b === "find" ? d.selector = this.selector + (this.selector ? " " : "") + c : b && (d.selector = this.selector + "." + b + "(" + c + ")"); return d }, each: function (a, b) { return e.each(this, a, b) }, ready: function (a) { e.bindReady(), A.add(a); return this }, eq: function (a) { a = +a; return a === -1 ? this.slice(a) : this.slice(a, a + 1) }, first: function () { return this.eq(0) }, last: function () { return this.eq(-1) }, slice: function () { return this.pushStack(F.apply(this, arguments), "slice", F.call(arguments).join(",")) }, map: function (a) { return this.pushStack(e.map(this, function (b, c) { return a.call(b, c, b) })) }, end: function () { return this.prevObject || this.constructor(null) }, push: E, sort: [].sort, splice: [].splice }, e.fn.init.prototype = e.fn, e.extend = e.fn.extend = function () { var a, c, d, f, g, h, i = arguments[0] || {}, j = 1, k = arguments.length, l = !1; typeof i == "boolean" && (l = i, i = arguments[1] || {}, j = 2), typeof i != "object" && !e.isFunction(i) && (i = {}), k === j && (i = this, --j); for (; j < k; j++) if ((a = arguments[j]) != null) for (c in a) { d = i[c], f = a[c]; if (i === f) continue; l && f && (e.isPlainObject(f) || (g = e.isArray(f))) ? (g ? (g = !1, h = d && e.isArray(d) ? d : []) : h = d && e.isPlainObject(d) ? d : {}, i[c] = e.extend(l, h, f)) : f !== b && (i[c] = f) } return i }, e.extend({ noConflict: function (b) { a.$ === e && (a.$ = g), b && a.jQuery === e && (a.jQuery = f); return e }, isReady: !1, readyWait: 1, holdReady: function (a) { a ? e.readyWait++ : e.ready(!0) }, ready: function (a) { if (a === !0 && ! --e.readyWait || a !== !0 && !e.isReady) { if (!c.body) return setTimeout(e.ready, 1); e.isReady = !0; if (a !== !0 && --e.readyWait > 0) return; A.fireWith(c, [e]), e.fn.trigger && e(c).trigger("ready").off("ready") } }, bindReady: function () { if (!A) { A = e.Callbacks("once memory"); if (c.readyState === "complete") return setTimeout(e.ready, 1); if (c.addEventListener) c.addEventListener("DOMContentLoaded", B, !1), a.addEventListener("load", e.ready, !1); else if (c.attachEvent) { c.attachEvent("onreadystatechange", B), a.attachEvent("onload", e.ready); var b = !1; try { b = a.frameElement == null } catch (d) { } c.documentElement.doScroll && b && J() } } }, isFunction: function (a) { return e.type(a) === "function" }, isArray: Array.isArray || function (a) { return e.type(a) === "array" }, isWindow: function (a) { return a && typeof a == "object" && "setInterval" in a }, isNumeric: function (a) { return !isNaN(parseFloat(a)) && isFinite(a) }, type: function (a) { return a == null ? String(a) : I[C.call(a)] || "object" }, isPlainObject: function (a) { if (!a || e.type(a) !== "object" || a.nodeType || e.isWindow(a)) return !1; try { if (a.constructor && !D.call(a, "constructor") && !D.call(a.constructor.prototype, "isPrototypeOf")) return !1 } catch (c) { return !1 } var d; for (d in a); return d === b || D.call(a, d) }, isEmptyObject: function (a) { for (var b in a) return !1; return !0 }, error: function (a) { throw new Error(a) }, parseJSON: function (b) { if (typeof b != "string" || !b) return null; b = e.trim(b); if (a.JSON && a.JSON.parse) return a.JSON.parse(b); if (n.test(b.replace(o, "@").replace(p, "]").replace(q, ""))) return (new Function("return " + b))(); e.error("Invalid JSON: " + b) }, parseXML: function (c) { var d, f; try { a.DOMParser ? (f = new DOMParser, d = f.parseFromString(c, "text/xml")) : (d = new ActiveXObject("Microsoft.XMLDOM"), d.async = "false", d.loadXML(c)) } catch (g) { d = b } (!d || !d.documentElement || d.getElementsByTagName("parsererror").length) && e.error("Invalid XML: " + c); return d }, noop: function () { }, globalEval: function (b) { b && j.test(b) && (a.execScript || function (b) { a.eval.call(a, b) })(b) }, camelCase: function (a) { return a.replace(w, "ms-").replace(v, x) }, nodeName: function (a, b) { return a.nodeName && a.nodeName.toUpperCase() === b.toUpperCase() }, each: function (a, c, d) { var f, g = 0, h = a.length, i = h === b || e.isFunction(a); if (d) { if (i) { for (f in a) if (c.apply(a[f], d) === !1) break } else for (; g < h; ) if (c.apply(a[g++], d) === !1) break } else if (i) { for (f in a) if (c.call(a[f], f, a[f]) === !1) break } else for (; g < h; ) if (c.call(a[g], g, a[g++]) === !1) break; return a }, trim: G ? function (a) { return a == null ? "" : G.call(a) } : function (a) { return a == null ? "" : (a + "").replace(k, "").replace(l, "") }, makeArray: function (a, b) { var c = b || []; if (a != null) { var d = e.type(a); a.length == null || d === "string" || d === "function" || d === "regexp" || e.isWindow(a) ? E.call(c, a) : e.merge(c, a) } return c }, inArray: function (a, b, c) { var d; if (b) { if (H) return H.call(b, a, c); d = b.length, c = c ? c < 0 ? Math.max(0, d + c) : c : 0; for (; c < d; c++) if (c in b && b[c] === a) return c } return -1 }, merge: function (a, c) { var d = a.length, e = 0; if (typeof c.length == "number") for (var f = c.length; e < f; e++) a[d++] = c[e]; else while (c[e] !== b) a[d++] = c[e++]; a.length = d; return a }, grep: function (a, b, c) { var d = [], e; c = !!c; for (var f = 0, g = a.length; f < g; f++) e = !!b(a[f], f), c !== e && d.push(a[f]); return d }, map: function (a, c, d) { var f, g, h = [], i = 0, j = a.length, k = a instanceof e || j !== b && typeof j == "number" && (j > 0 && a[0] && a[j - 1] || j === 0 || e.isArray(a)); if (k) for (; i < j; i++) f = c(a[i], i, d), f != null && (h[h.length] = f); else for (g in a) f = c(a[g], g, d), f != null && (h[h.length] = f); return h.concat.apply([], h) }, guid: 1, proxy: function (a, c) { if (typeof c == "string") { var d = a[c]; c = a, a = d } if (!e.isFunction(a)) return b; var f = F.call(arguments, 2), g = function () { return a.apply(c, f.concat(F.call(arguments))) }; g.guid = a.guid = a.guid || g.guid || e.guid++; return g }, access: function (a, c, d, f, g, h) { var i = a.length; if (typeof c == "object") { for (var j in c) e.access(a, j, c[j], f, g, d); return a } if (d !== b) { f = !h && f && e.isFunction(d); for (var k = 0; k < i; k++) g(a[k], c, f ? d.call(a[k], k, g(a[k], c)) : d, h); return a } return i ? g(a[0], c) : b }, now: function () { return (new Date).getTime() }, uaMatch: function (a) { a = a.toLowerCase(); var b = r.exec(a) || s.exec(a) || t.exec(a) || a.indexOf("compatible") < 0 && u.exec(a) || []; return { browser: b[1] || "", version: b[2] || "0"} }, sub: function () { function a(b, c) { return new a.fn.init(b, c) } e.extend(!0, a, this), a.superclass = this, a.fn = a.prototype = this(), a.fn.constructor = a, a.sub = this.sub, a.fn.init = function (d, f) { f && f instanceof e && !(f instanceof a) && (f = a(f)); return e.fn.init.call(this, d, f, b) }, a.fn.init.prototype = a.fn; var b = a(c); return a }, browser: {} }), e.each("Boolean Number String Function Array Date RegExp Object".split(" "), function (a, b) { I["[object " + b + "]"] = b.toLowerCase() }), z = e.uaMatch(y), z.browser && (e.browser[z.browser] = !0, e.browser.version = z.version), e.browser.webkit && (e.browser.safari = !0), j.test(" ") && (k = /^[\s\xA0]+/, l = /[\s\xA0]+$/), h = e(c), c.addEventListener ? B = function () { c.removeEventListener("DOMContentLoaded", B, !1), e.ready() } : c.attachEvent && (B = function () { c.readyState === "complete" && (c.detachEvent("onreadystatechange", B), e.ready()) }); return e } (), g = {}; f.Callbacks = function (a) { a = a ? g[a] || h(a) : {}; var c = [], d = [], e, i, j, k, l, m = function (b) { var d, e, g, h, i; for (d = 0, e = b.length; d < e; d++) g = b[d], h = f.type(g), h === "array" ? m(g) : h === "function" && (!a.unique || !o.has(g)) && c.push(g) }, n = function (b, f) { f = f || [], e = !a.memory || [b, f], i = !0, l = j || 0, j = 0, k = c.length; for (; c && l < k; l++) if (c[l].apply(b, f) === !1 && a.stopOnFalse) { e = !0; break } i = !1, c && (a.once ? e === !0 ? o.disable() : c = [] : d && d.length && (e = d.shift(), o.fireWith(e[0], e[1]))) }, o = { add: function () { if (c) { var a = c.length; m(arguments), i ? k = c.length : e && e !== !0 && (j = a, n(e[0], e[1])) } return this }, remove: function () { if (c) { var b = arguments, d = 0, e = b.length; for (; d < e; d++) for (var f = 0; f < c.length; f++) if (b[d] === c[f]) { i && f <= k && (k--, f <= l && l--), c.splice(f--, 1); if (a.unique) break } } return this }, has: function (a) { if (c) { var b = 0, d = c.length; for (; b < d; b++) if (a === c[b]) return !0 } return !1 }, empty: function () { c = []; return this }, disable: function () { c = d = e = b; return this }, disabled: function () { return !c }, lock: function () { d = b, (!e || e === !0) && o.disable(); return this }, locked: function () { return !d }, fireWith: function (b, c) { d && (i ? a.once || d.push([b, c]) : (!a.once || !e) && n(b, c)); return this }, fire: function () { o.fireWith(this, arguments); return this }, fired: function () { return !!e } }; return o }; var i = [].slice; f.extend({ Deferred: function (a) { var b = f.Callbacks("once memory"), c = f.Callbacks("once memory"), d = f.Callbacks("memory"), e = "pending", g = { resolve: b, reject: c, notify: d }, h = { done: b.add, fail: c.add, progress: d.add, state: function () { return e }, isResolved: b.fired, isRejected: c.fired, then: function (a, b, c) { i.done(a).fail(b).progress(c); return this }, always: function () { i.done.apply(i, arguments).fail.apply(i, arguments); return this }, pipe: function (a, b, c) { return f.Deferred(function (d) { f.each({ done: [a, "resolve"], fail: [b, "reject"], progress: [c, "notify"] }, function (a, b) { var c = b[0], e = b[1], g; f.isFunction(c) ? i[a](function () { g = c.apply(this, arguments), g && f.isFunction(g.promise) ? g.promise().then(d.resolve, d.reject, d.notify) : d[e + "With"](this === i ? d : this, [g]) }) : i[a](d[e]) }) }).promise() }, promise: function (a) { if (a == null) a = h; else for (var b in h) a[b] = h[b]; return a } }, i = h.promise({}), j; for (j in g) i[j] = g[j].fire, i[j + "With"] = g[j].fireWith; i.done(function () { e = "resolved" }, c.disable, d.lock).fail(function () { e = "rejected" }, b.disable, d.lock), a && a.call(i, i); return i }, when: function (a) { function m(a) { return function (b) { e[a] = arguments.length > 1 ? i.call(arguments, 0) : b, j.notifyWith(k, e) } } function l(a) { return function (c) { b[a] = arguments.length > 1 ? i.call(arguments, 0) : c, --g || j.resolveWith(j, b) } } var b = i.call(arguments, 0), c = 0, d = b.length, e = Array(d), g = d, h = d, j = d <= 1 && a && f.isFunction(a.promise) ? a : f.Deferred(), k = j.promise(); if (d > 1) { for (; c < d; c++) b[c] && b[c].promise && f.isFunction(b[c].promise) ? b[c].promise().then(l(c), j.reject, m(c)) : --g; g || j.resolveWith(j, b) } else j !== a && j.resolveWith(j, d ? [a] : []); return k } }), f.support = function () { var b, d, e, g, h, i, j, k, l, m, n, o, p, q = c.createElement("div"), r = c.documentElement; q.setAttribute("className", "t"), q.innerHTML = " <link/><table></table><a href='/a' style='top:1px;float:left;opacity:.55;'>a</a><input type='checkbox'/>", d = q.getElementsByTagName("*"), e = q.getElementsByTagName("a")[0]; if (!d || !d.length || !e) return {}; g = c.createElement("select"), h = g.appendChild(c.createElement("option")), i = q.getElementsByTagName("input")[0], b = { leadingWhitespace: q.firstChild.nodeType === 3, tbody: !q.getElementsByTagName("tbody").length, htmlSerialize: !!q.getElementsByTagName("link").length, style: /top/.test(e.getAttribute("style")), hrefNormalized: e.getAttribute("href") === "/a", opacity: /^0.55/.test(e.style.opacity), cssFloat: !!e.style.cssFloat, checkOn: i.value === "on", optSelected: h.selected, getSetAttribute: q.className !== "t", enctype: !!c.createElement("form").enctype, html5Clone: c.createElement("nav").cloneNode(!0).outerHTML !== "<:nav></:nav>", submitBubbles: !0, changeBubbles: !0, focusinBubbles: !1, deleteExpando: !0, noCloneEvent: !0, inlineBlockNeedsLayout: !1, shrinkWrapBlocks: !1, reliableMarginRight: !0 }, i.checked = !0, b.noCloneChecked = i.cloneNode(!0).checked, g.disabled = !0, b.optDisabled = !h.disabled; try { delete q.test } catch (s) { b.deleteExpando = !1 } !q.addEventListener && q.attachEvent && q.fireEvent && (q.attachEvent("onclick", function () { b.noCloneEvent = !1 }), q.cloneNode(!0).fireEvent("onclick")), i = c.createElement("input"), i.value = "t", i.setAttribute("type", "radio"), b.radioValue = i.value === "t", i.setAttribute("checked", "checked"), q.appendChild(i), k = c.createDocumentFragment(), k.appendChild(q.lastChild), b.checkClone = k.cloneNode(!0).cloneNode(!0).lastChild.checked, b.appendChecked = i.checked, k.removeChild(i), k.appendChild(q), q.innerHTML = "", a.getComputedStyle && (j = c.createElement("div"), j.style.width = "0", j.style.marginRight = "0", q.style.width = "2px", q.appendChild(j), b.reliableMarginRight = (parseInt((a.getComputedStyle(j, null) || { marginRight: 0 }).marginRight, 10) || 0) === 0); if (q.attachEvent) for (o in { submit: 1, change: 1, focusin: 1 }) n = "on" + o, p = n in q, p || (q.setAttribute(n, "return;"), p = typeof q[n] == "function"), b[o + "Bubbles"] = p; k.removeChild(q), k = g = h = j = q = i = null, f(function () { var a, d, e, g, h, i, j, k, m, n, o, r = c.getElementsByTagName("body")[0]; !r || (j = 1, k = "position:absolute;top:0;left:0;width:1px;height:1px;margin:0;", m = "visibility:hidden;border:0;", n = "style='" + k + "border:5px solid #000;padding:0;'", o = "<div " + n + "><div></div></div>" + "<table " + n + " cellpadding='0' cellspacing='0'>" + "<tr><td></td></tr></table>", a = c.createElement("div"), a.style.cssText = m + "width:0;height:0;position:static;top:0;margin-top:" + j + "px", r.insertBefore(a, r.firstChild), q = c.createElement("div"), a.appendChild(q), q.innerHTML = "<table><tr><td style='padding:0;border:0;display:none'></td><td>t</td></tr></table>", l = q.getElementsByTagName("td"), p = l[0].offsetHeight === 0, l[0].style.display = "", l[1].style.display = "none", b.reliableHiddenOffsets = p && l[0].offsetHeight === 0, q.innerHTML = "", q.style.width = q.style.paddingLeft = "1px", f.boxModel = b.boxModel = q.offsetWidth === 2, typeof q.style.zoom != "undefined" && (q.style.display = "inline", q.style.zoom = 1, b.inlineBlockNeedsLayout = q.offsetWidth === 2, q.style.display = "", q.innerHTML = "<div style='width:4px;'></div>", b.shrinkWrapBlocks = q.offsetWidth !== 2), q.style.cssText = k + m, q.innerHTML = o, d = q.firstChild, e = d.firstChild, h = d.nextSibling.firstChild.firstChild, i = { doesNotAddBorder: e.offsetTop !== 5, doesAddBorderForTableAndCells: h.offsetTop === 5 }, e.style.position = "fixed", e.style.top = "20px", i.fixedPosition = e.offsetTop === 20 || e.offsetTop === 15, e.style.position = e.style.top = "", d.style.overflow = "hidden", d.style.position = "relative", i.subtractsBorderForOverflowNotVisible = e.offsetTop === -5, i.doesNotIncludeMarginInBodyOffset = r.offsetTop !== j, r.removeChild(a), q = a = null, f.extend(b, i)) }); return b } (); var j = /^(?:\{.*\}|\[.*\])$/, k = /([A-Z])/g; f.extend({ cache: {}, uuid: 0, expando: "jQuery" + (f.fn.jquery + Math.random()).replace(/\D/g, ""), noData: { embed: !0, object: "clsid:D27CDB6E-AE6D-11cf-96B8-444553540000", applet: !0 }, hasData: function (a) { a = a.nodeType ? f.cache[a[f.expando]] : a[f.expando]; return !!a && !m(a) }, data: function (a, c, d, e) { if (!!f.acceptData(a)) { var g, h, i, j = f.expando, k = typeof c == "string", l = a.nodeType, m = l ? f.cache : a, n = l ? a[j] : a[j] && j, o = c === "events"; if ((!n || !m[n] || !o && !e && !m[n].data) && k && d === b) return; n || (l ? a[j] = n = ++f.uuid : n = j), m[n] || (m[n] = {}, l || (m[n].toJSON = f.noop)); if (typeof c == "object" || typeof c == "function") e ? m[n] = f.extend(m[n], c) : m[n].data = f.extend(m[n].data, c); g = h = m[n], e || (h.data || (h.data = {}), h = h.data), d !== b && (h[f.camelCase(c)] = d); if (o && !h[c]) return g.events; k ? (i = h[c], i == null && (i = h[f.camelCase(c)])) : i = h; return i } }, removeData: function (a, b, c) { if (!!f.acceptData(a)) { var d, e, g, h = f.expando, i = a.nodeType, j = i ? f.cache : a, k = i ? a[h] : h; if (!j[k]) return; if (b) { d = c ? j[k] : j[k].data; if (d) { f.isArray(b) || (b in d ? b = [b] : (b = f.camelCase(b), b in d ? b = [b] : b = b.split(" "))); for (e = 0, g = b.length; e < g; e++) delete d[b[e]]; if (!(c ? m : f.isEmptyObject)(d)) return } } if (!c) { delete j[k].data; if (!m(j[k])) return } f.support.deleteExpando || !j.setInterval ? delete j[k] : j[k] = null, i && (f.support.deleteExpando ? delete a[h] : a.removeAttribute ? a.removeAttribute(h) : a[h] = null) } }, _data: function (a, b, c) { return f.data(a, b, c, !0) }, acceptData: function (a) { if (a.nodeName) { var b = f.noData[a.nodeName.toLowerCase()]; if (b) return b !== !0 && a.getAttribute("classid") === b } return !0 } }), f.fn.extend({ data: function (a, c) { var d, e, g, h = null; if (typeof a == "undefined") { if (this.length) { h = f.data(this[0]); if (this[0].nodeType === 1 && !f._data(this[0], "parsedAttrs")) { e = this[0].attributes; for (var i = 0, j = e.length; i < j; i++) g = e[i].name, g.indexOf("data-") === 0 && (g = f.camelCase(g.substring(5)), l(this[0], g, h[g])); f._data(this[0], "parsedAttrs", !0) } } return h } if (typeof a == "object") return this.each(function () { f.data(this, a) }); d = a.split("."), d[1] = d[1] ? "." + d[1] : ""; if (c === b) { h = this.triggerHandler("getData" + d[1] + "!", [d[0]]), h === b && this.length && (h = f.data(this[0], a), h = l(this[0], a, h)); return h === b && d[1] ? this.data(d[0]) : h } return this.each(function () { var b = f(this), e = [d[0], c]; b.triggerHandler("setData" + d[1] + "!", e), f.data(this, a, c), b.triggerHandler("changeData" + d[1] + "!", e) }) }, removeData: function (a) { return this.each(function () { f.removeData(this, a) }) } }), f.extend({ _mark: function (a, b) { a && (b = (b || "fx") + "mark", f._data(a, b, (f._data(a, b) || 0) + 1)) }, _unmark: function (a, b, c) { a !== !0 && (c = b, b = a, a = !1); if (b) { c = c || "fx"; var d = c + "mark", e = a ? 0 : (f._data(b, d) || 1) - 1; e ? f._data(b, d, e) : (f.removeData(b, d, !0), n(b, c, "mark")) } }, queue: function (a, b, c) { var d; if (a) { b = (b || "fx") + "queue", d = f._data(a, b), c && (!d || f.isArray(c) ? d = f._data(a, b, f.makeArray(c)) : d.push(c)); return d || [] } }, dequeue: function (a, b) { b = b || "fx"; var c = f.queue(a, b), d = c.shift(), e = {}; d === "inprogress" && (d = c.shift()), d && (b === "fx" && c.unshift("inprogress"), f._data(a, b + ".run", e), d.call(a, function () { f.dequeue(a, b) }, e)), c.length || (f.removeData(a, b + "queue " + b + ".run", !0), n(a, b, "queue")) } }), f.fn.extend({ queue: function (a, c) { typeof a != "string" && (c = a, a = "fx"); if (c === b) return f.queue(this[0], a); return this.each(function () { var b = f.queue(this, a, c); a === "fx" && b[0] !== "inprogress" && f.dequeue(this, a) }) }, dequeue: function (a) { return this.each(function () { f.dequeue(this, a) }) }, delay: function (a, b) { a = f.fx ? f.fx.speeds[a] || a : a, b = b || "fx"; return this.queue(b, function (b, c) { var d = setTimeout(b, a); c.stop = function () { clearTimeout(d) } }) }, clearQueue: function (a) { return this.queue(a || "fx", []) }, promise: function (a, c) { function m() { --h || d.resolveWith(e, [e]) } typeof a != "string" && (c = a, a = b), a = a || "fx"; var d = f.Deferred(), e = this, g = e.length, h = 1, i = a + "defer", j = a + "queue", k = a + "mark", l; while (g--) if (l = f.data(e[g], i, b, !0) || (f.data(e[g], j, b, !0) || f.data(e[g], k, b, !0)) && f.data(e[g], i, f.Callbacks("once memory"), !0)) h++, l.add(m); m(); return d.promise() } }); var o = /[\n\t\r]/g, p = /\s+/, q = /\r/g, r = /^(?:button|input)$/i, s = /^(?:button|input|object|select|textarea)$/i, t = /^a(?:rea)?$/i, u = /^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i, v = f.support.getSetAttribute, w, x, y; f.fn.extend({ attr: function (a, b) { return f.access(this, a, b, !0, f.attr) }, removeAttr: function (a) { return this.each(function () { f.removeAttr(this, a) }) }, prop: function (a, b) { return f.access(this, a, b, !0, f.prop) }, removeProp: function (a) { a = f.propFix[a] || a; return this.each(function () { try { this[a] = b, delete this[a] } catch (c) { } }) }, addClass: function (a) { var b, c, d, e, g, h, i; if (f.isFunction(a)) return this.each(function (b) { f(this).addClass(a.call(this, b, this.className)) }); if (a && typeof a == "string") { b = a.split(p); for (c = 0, d = this.length; c < d; c++) { e = this[c]; if (e.nodeType === 1) if (!e.className && b.length === 1) e.className = a; else { g = " " + e.className + " "; for (h = 0, i = b.length; h < i; h++) ~g.indexOf(" " + b[h] + " ") || (g += b[h] + " "); e.className = f.trim(g) } } } return this }, removeClass: function (a) { var c, d, e, g, h, i, j; if (f.isFunction(a)) return this.each(function (b) { f(this).removeClass(a.call(this, b, this.className)) }); if (a && typeof a == "string" || a === b) { c = (a || "").split(p); for (d = 0, e = this.length; d < e; d++) { g = this[d]; if (g.nodeType === 1 && g.className) if (a) { h = (" " + g.className + " ").replace(o, " "); for (i = 0, j = c.length; i < j; i++) h = h.replace(" " + c[i] + " ", " "); g.className = f.trim(h) } else g.className = "" } } return this }, toggleClass: function (a, b) { var c = typeof a, d = typeof b == "boolean"; if (f.isFunction(a)) return this.each(function (c) { f(this).toggleClass(a.call(this, c, this.className, b), b) }); return this.each(function () { if (c === "string") { var e, g = 0, h = f(this), i = b, j = a.split(p); while (e = j[g++]) i = d ? i : !h.hasClass(e), h[i ? "addClass" : "removeClass"](e) } else if (c === "undefined" || c === "boolean") this.className && f._data(this, "__className__", this.className), this.className = this.className || a === !1 ? "" : f._data(this, "__className__") || "" }) }, hasClass: function (a) { var b = " " + a + " ", c = 0, d = this.length; for (; c < d; c++) if (this[c].nodeType === 1 && (" " + this[c].className + " ").replace(o, " ").indexOf(b) > -1) return !0; return !1 }, val: function (a) { var c, d, e, g = this[0]; { if (!!arguments.length) { e = f.isFunction(a); return this.each(function (d) { var g = f(this), h; if (this.nodeType === 1) { e ? h = a.call(this, d, g.val()) : h = a, h == null ? h = "" : typeof h == "number" ? h += "" : f.isArray(h) && (h = f.map(h, function (a) { return a == null ? "" : a + "" })), c = f.valHooks[this.nodeName.toLowerCase()] || f.valHooks[this.type]; if (!c || !("set" in c) || c.set(this, h, "value") === b) this.value = h } }) } if (g) { c = f.valHooks[g.nodeName.toLowerCase()] || f.valHooks[g.type]; if (c && "get" in c && (d = c.get(g, "value")) !== b) return d; d = g.value; return typeof d == "string" ? d.replace(q, "") : d == null ? "" : d } } } }), f.extend({ valHooks: { option: { get: function (a) { var b = a.attributes.value; return !b || b.specified ? a.value : a.text } }, select: { get: function (a) { var b, c, d, e, g = a.selectedIndex, h = [], i = a.options, j = a.type === "select-one"; if (g < 0) return null; c = j ? g : 0, d = j ? g + 1 : i.length; for (; c < d; c++) { e = i[c]; if (e.selected && (f.support.optDisabled ? !e.disabled : e.getAttribute("disabled") === null) && (!e.parentNode.disabled || !f.nodeName(e.parentNode, "optgroup"))) { b = f(e).val(); if (j) return b; h.push(b) } } if (j && !h.length && i.length) return f(i[g]).val(); return h }, set: function (a, b) { var c = f.makeArray(b); f(a).find("option").each(function () { this.selected = f.inArray(f(this).val(), c) >= 0 }), c.length || (a.selectedIndex = -1); return c } } }, attrFn: { val: !0, css: !0, html: !0, text: !0, data: !0, width: !0, height: !0, offset: !0 }, attr: function (a, c, d, e) { var g, h, i, j = a.nodeType; if (!!a && j !== 3 && j !== 8 && j !== 2) { if (e && c in f.attrFn) return f(a)[c](d); if (typeof a.getAttribute == "undefined") return f.prop(a, c, d); i = j !== 1 || !f.isXMLDoc(a), i && (c = c.toLowerCase(), h = f.attrHooks[c] || (u.test(c) ? x : w)); if (d !== b) { if (d === null) { f.removeAttr(a, c); return } if (h && "set" in h && i && (g = h.set(a, d, c)) !== b) return g; a.setAttribute(c, "" + d); return d } if (h && "get" in h && i && (g = h.get(a, c)) !== null) return g; g = a.getAttribute(c); return g === null ? b : g } }, removeAttr: function (a, b) { var c, d, e, g, h = 0; if (b && a.nodeType === 1) { d = b.toLowerCase().split(p), g = d.length; for (; h < g; h++) e = d[h], e && (c = f.propFix[e] || e, f.attr(a, e, ""), a.removeAttribute(v ? e : c), u.test(e) && c in a && (a[c] = !1)) } }, attrHooks: { type: { set: function (a, b) { if (r.test(a.nodeName) && a.parentNode) f.error("type property can't be changed"); else if (!f.support.radioValue && b === "radio" && f.nodeName(a, "input")) { var c = a.value; a.setAttribute("type", b), c && (a.value = c); return b } } }, value: { get: function (a, b) { if (w && f.nodeName(a, "button")) return w.get(a, b); return b in a ? a.value : null }, set: function (a, b, c) { if (w && f.nodeName(a, "button")) return w.set(a, b, c); a.value = b } } }, propFix: { tabindex: "tabIndex", readonly: "readOnly", "for": "htmlFor", "class": "className", maxlength: "maxLength", cellspacing: "cellSpacing", cellpadding: "cellPadding", rowspan: "rowSpan", colspan: "colSpan", usemap: "useMap", frameborder: "frameBorder", contenteditable: "contentEditable" }, prop: function (a, c, d) { var e, g, h, i = a.nodeType; if (!!a && i !== 3 && i !== 8 && i !== 2) { h = i !== 1 || !f.isXMLDoc(a), h && (c = f.propFix[c] || c, g = f.propHooks[c]); return d !== b ? g && "set" in g && (e = g.set(a, d, c)) !== b ? e : a[c] = d : g && "get" in g && (e = g.get(a, c)) !== null ? e : a[c] } }, propHooks: { tabIndex: { get: function (a) { var c = a.getAttributeNode("tabindex"); return c && c.specified ? parseInt(c.value, 10) : s.test(a.nodeName) || t.test(a.nodeName) && a.href ? 0 : b } }} }), f.attrHooks.tabindex = f.propHooks.tabIndex, x = { get: function (a, c) { var d, e = f.prop(a, c); return e === !0 || typeof e != "boolean" && (d = a.getAttributeNode(c)) && d.nodeValue !== !1 ? c.toLowerCase() : b }, set: function (a, b, c) { var d; b === !1 ? f.removeAttr(a, c) : (d = f.propFix[c] || c, d in a && (a[d] = !0), a.setAttribute(c, c.toLowerCase())); return c } }, v || (y = { name: !0, id: !0 }, w = f.valHooks.button = { get: function (a, c) { var d; d = a.getAttributeNode(c); return d && (y[c] ? d.nodeValue !== "" : d.specified) ? d.nodeValue : b }, set: function (a, b, d) { var e = a.getAttributeNode(d); e || (e = c.createAttribute(d), a.setAttributeNode(e)); return e.nodeValue = b + "" } }, f.attrHooks.tabindex.set = w.set, f.each(["width", "height"], function (a, b) { f.attrHooks[b] = f.extend(f.attrHooks[b], { set: function (a, c) { if (c === "") { a.setAttribute(b, "auto"); return c } } }) }), f.attrHooks.contenteditable = { get: w.get, set: function (a, b, c) { b === "" && (b = "false"), w.set(a, b, c) } }), f.support.hrefNormalized || f.each(["href", "src", "width", "height"], function (a, c) { f.attrHooks[c] = f.extend(f.attrHooks[c], { get: function (a) { var d = a.getAttribute(c, 2); return d === null ? b : d } }) }), f.support.style || (f.attrHooks.style = { get: function (a) { return a.style.cssText.toLowerCase() || b }, set: function (a, b) { return a.style.cssText = "" + b } }), f.support.optSelected || (f.propHooks.selected = f.extend(f.propHooks.selected, { get: function (a) { var b = a.parentNode; b && (b.selectedIndex, b.parentNode && b.parentNode.selectedIndex); return null } })), f.support.enctype || (f.propFix.enctype = "encoding"), f.support.checkOn || f.each(["radio", "checkbox"], function () { f.valHooks[this] = { get: function (a) { return a.getAttribute("value") === null ? "on" : a.value } } }), f.each(["radio", "checkbox"], function () { f.valHooks[this] = f.extend(f.valHooks[this], { set: function (a, b) { if (f.isArray(b)) return a.checked = f.inArray(f(a).val(), b) >= 0 } }) }); var z = /^(?:textarea|input|select)$/i, A = /^([^\.]*)?(?:\.(.+))?$/, B = /\bhover(\.\S+)?\b/, C = /^key/, D = /^(?:mouse|contextmenu)|click/, E = /^(?:focusinfocus|focusoutblur)$/, F = /^(\w*)(?:#([\w\-]+))?(?:\.([\w\-]+))?$/, G = function (a) { var b = F.exec(a); b && (b[1] = (b[1] || "").toLowerCase(), b[3] = b[3] && new RegExp("(?:^|\\s)" + b[3] + "(?:\\s|$)")); return b }, H = function (a, b) { var c = a.attributes || {}; return (!b[1] || a.nodeName.toLowerCase() === b[1]) && (!b[2] || (c.id || {}).value === b[2]) && (!b[3] || b[3].test((c["class"] || {}).value)) }, I = function (a) { return f.event.special.hover ? a : a.replace(B, "mouseenter$1 mouseleave$1") };
|
|
3074
|
+
f.event = { add: function (a, c, d, e, g) { var h, i, j, k, l, m, n, o, p, q, r, s; if (!(a.nodeType === 3 || a.nodeType === 8 || !c || !d || !(h = f._data(a)))) { d.handler && (p = d, d = p.handler), d.guid || (d.guid = f.guid++), j = h.events, j || (h.events = j = {}), i = h.handle, i || (h.handle = i = function (a) { return typeof f != "undefined" && (!a || f.event.triggered !== a.type) ? f.event.dispatch.apply(i.elem, arguments) : b }, i.elem = a), c = f.trim(I(c)).split(" "); for (k = 0; k < c.length; k++) { l = A.exec(c[k]) || [], m = l[1], n = (l[2] || "").split(".").sort(), s = f.event.special[m] || {}, m = (g ? s.delegateType : s.bindType) || m, s = f.event.special[m] || {}, o = f.extend({ type: m, origType: l[1], data: e, handler: d, guid: d.guid, selector: g, quick: G(g), namespace: n.join(".") }, p), r = j[m]; if (!r) { r = j[m] = [], r.delegateCount = 0; if (!s.setup || s.setup.call(a, e, n, i) === !1) a.addEventListener ? a.addEventListener(m, i, !1) : a.attachEvent && a.attachEvent("on" + m, i) } s.add && (s.add.call(a, o), o.handler.guid || (o.handler.guid = d.guid)), g ? r.splice(r.delegateCount++, 0, o) : r.push(o), f.event.global[m] = !0 } a = null } }, global: {}, remove: function (a, b, c, d, e) { var g = f.hasData(a) && f._data(a), h, i, j, k, l, m, n, o, p, q, r, s; if (!!g && !!(o = g.events)) { b = f.trim(I(b || "")).split(" "); for (h = 0; h < b.length; h++) { i = A.exec(b[h]) || [], j = k = i[1], l = i[2]; if (!j) { for (j in o) f.event.remove(a, j + b[h], c, d, !0); continue } p = f.event.special[j] || {}, j = (d ? p.delegateType : p.bindType) || j, r = o[j] || [], m = r.length, l = l ? new RegExp("(^|\\.)" + l.split(".").sort().join("\\.(?:.*\\.)?") + "(\\.|$)") : null; for (n = 0; n < r.length; n++) s = r[n], (e || k === s.origType) && (!c || c.guid === s.guid) && (!l || l.test(s.namespace)) && (!d || d === s.selector || d === "**" && s.selector) && (r.splice(n--, 1), s.selector && r.delegateCount--, p.remove && p.remove.call(a, s)); r.length === 0 && m !== r.length && ((!p.teardown || p.teardown.call(a, l) === !1) && f.removeEvent(a, j, g.handle), delete o[j]) } f.isEmptyObject(o) && (q = g.handle, q && (q.elem = null), f.removeData(a, ["events", "handle"], !0)) } }, customEvent: { getData: !0, setData: !0, changeData: !0 }, trigger: function (c, d, e, g) { if (!e || e.nodeType !== 3 && e.nodeType !== 8) { var h = c.type || c, i = [], j, k, l, m, n, o, p, q, r, s; if (E.test(h + f.event.triggered)) return; h.indexOf("!") >= 0 && (h = h.slice(0, -1), k = !0), h.indexOf(".") >= 0 && (i = h.split("."), h = i.shift(), i.sort()); if ((!e || f.event.customEvent[h]) && !f.event.global[h]) return; c = typeof c == "object" ? c[f.expando] ? c : new f.Event(h, c) : new f.Event(h), c.type = h, c.isTrigger = !0, c.exclusive = k, c.namespace = i.join("."), c.namespace_re = c.namespace ? new RegExp("(^|\\.)" + i.join("\\.(?:.*\\.)?") + "(\\.|$)") : null, o = h.indexOf(":") < 0 ? "on" + h : ""; if (!e) { j = f.cache; for (l in j) j[l].events && j[l].events[h] && f.event.trigger(c, d, j[l].handle.elem, !0); return } c.result = b, c.target || (c.target = e), d = d != null ? f.makeArray(d) : [], d.unshift(c), p = f.event.special[h] || {}; if (p.trigger && p.trigger.apply(e, d) === !1) return; r = [[e, p.bindType || h]]; if (!g && !p.noBubble && !f.isWindow(e)) { s = p.delegateType || h, m = E.test(s + h) ? e : e.parentNode, n = null; for (; m; m = m.parentNode) r.push([m, s]), n = m; n && n === e.ownerDocument && r.push([n.defaultView || n.parentWindow || a, s]) } for (l = 0; l < r.length && !c.isPropagationStopped(); l++) m = r[l][0], c.type = r[l][1], q = (f._data(m, "events") || {})[c.type] && f._data(m, "handle"), q && q.apply(m, d), q = o && m[o], q && f.acceptData(m) && q.apply(m, d) === !1 && c.preventDefault(); c.type = h, !g && !c.isDefaultPrevented() && (!p._default || p._default.apply(e.ownerDocument, d) === !1) && (h !== "click" || !f.nodeName(e, "a")) && f.acceptData(e) && o && e[h] && (h !== "focus" && h !== "blur" || c.target.offsetWidth !== 0) && !f.isWindow(e) && (n = e[o], n && (e[o] = null), f.event.triggered = h, e[h](), f.event.triggered = b, n && (e[o] = n)); return c.result } }, dispatch: function (c) { c = f.event.fix(c || a.event); var d = (f._data(this, "events") || {})[c.type] || [], e = d.delegateCount, g = [].slice.call(arguments, 0), h = !c.exclusive && !c.namespace, i = [], j, k, l, m, n, o, p, q, r, s, t; g[0] = c, c.delegateTarget = this; if (e && !c.target.disabled && (!c.button || c.type !== "click")) { m = f(this), m.context = this.ownerDocument || this; for (l = c.target; l != this; l = l.parentNode || this) { o = {}, q = [], m[0] = l; for (j = 0; j < e; j++) r = d[j], s = r.selector, o[s] === b && (o[s] = r.quick ? H(l, r.quick) : m.is(s)), o[s] && q.push(r); q.length && i.push({ elem: l, matches: q }) } } d.length > e && i.push({ elem: this, matches: d.slice(e) }); for (j = 0; j < i.length && !c.isPropagationStopped(); j++) { p = i[j], c.currentTarget = p.elem; for (k = 0; k < p.matches.length && !c.isImmediatePropagationStopped(); k++) { r = p.matches[k]; if (h || !c.namespace && !r.namespace || c.namespace_re && c.namespace_re.test(r.namespace)) c.data = r.data, c.handleObj = r, n = ((f.event.special[r.origType] || {}).handle || r.handler).apply(p.elem, g), n !== b && (c.result = n, n === !1 && (c.preventDefault(), c.stopPropagation())) } } return c.result }, props: "attrChange attrName relatedNode srcElement altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "), fixHooks: {}, keyHooks: { props: "char charCode key keyCode".split(" "), filter: function (a, b) { a.which == null && (a.which = b.charCode != null ? b.charCode : b.keyCode); return a } }, mouseHooks: { props: "button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "), filter: function (a, d) { var e, f, g, h = d.button, i = d.fromElement; a.pageX == null && d.clientX != null && (e = a.target.ownerDocument || c, f = e.documentElement, g = e.body, a.pageX = d.clientX + (f && f.scrollLeft || g && g.scrollLeft || 0) - (f && f.clientLeft || g && g.clientLeft || 0), a.pageY = d.clientY + (f && f.scrollTop || g && g.scrollTop || 0) - (f && f.clientTop || g && g.clientTop || 0)), !a.relatedTarget && i && (a.relatedTarget = i === a.target ? d.toElement : i), !a.which && h !== b && (a.which = h & 1 ? 1 : h & 2 ? 3 : h & 4 ? 2 : 0); return a } }, fix: function (a) { if (a[f.expando]) return a; var d, e, g = a, h = f.event.fixHooks[a.type] || {}, i = h.props ? this.props.concat(h.props) : this.props; a = f.Event(g); for (d = i.length; d; ) e = i[--d], a[e] = g[e]; a.target || (a.target = g.srcElement || c), a.target.nodeType === 3 && (a.target = a.target.parentNode), a.metaKey === b && (a.metaKey = a.ctrlKey); return h.filter ? h.filter(a, g) : a }, special: { ready: { setup: f.bindReady }, load: { noBubble: !0 }, focus: { delegateType: "focusin" }, blur: { delegateType: "focusout" }, beforeunload: { setup: function (a, b, c) { f.isWindow(this) && (this.onbeforeunload = c) }, teardown: function (a, b) { this.onbeforeunload === b && (this.onbeforeunload = null) } } }, simulate: function (a, b, c, d) { var e = f.extend(new f.Event, c, { type: a, isSimulated: !0, originalEvent: {} }); d ? f.event.trigger(e, null, b) : f.event.dispatch.call(b, e), e.isDefaultPrevented() && c.preventDefault() } }, f.event.handle = f.event.dispatch, f.removeEvent = c.removeEventListener ? function (a, b, c) { a.removeEventListener && a.removeEventListener(b, c, !1) } : function (a, b, c) { a.detachEvent && a.detachEvent("on" + b, c) }, f.Event = function (a, b) { if (!(this instanceof f.Event)) return new f.Event(a, b); a && a.type ? (this.originalEvent = a, this.type = a.type, this.isDefaultPrevented = a.defaultPrevented || a.returnValue === !1 || a.getPreventDefault && a.getPreventDefault() ? K : J) : this.type = a, b && f.extend(this, b), this.timeStamp = a && a.timeStamp || f.now(), this[f.expando] = !0 }, f.Event.prototype = { preventDefault: function () { this.isDefaultPrevented = K; var a = this.originalEvent; !a || (a.preventDefault ? a.preventDefault() : a.returnValue = !1) }, stopPropagation: function () { this.isPropagationStopped = K; var a = this.originalEvent; !a || (a.stopPropagation && a.stopPropagation(), a.cancelBubble = !0) }, stopImmediatePropagation: function () { this.isImmediatePropagationStopped = K, this.stopPropagation() }, isDefaultPrevented: J, isPropagationStopped: J, isImmediatePropagationStopped: J }, f.each({ mouseenter: "mouseover", mouseleave: "mouseout" }, function (a, b) { f.event.special[a] = { delegateType: b, bindType: b, handle: function (a) { var c = this, d = a.relatedTarget, e = a.handleObj, g = e.selector, h; if (!d || d !== c && !f.contains(c, d)) a.type = e.origType, h = e.handler.apply(this, arguments), a.type = b; return h } } }), f.support.submitBubbles || (f.event.special.submit = { setup: function () { if (f.nodeName(this, "form")) return !1; f.event.add(this, "click._submit keypress._submit", function (a) { var c = a.target, d = f.nodeName(c, "input") || f.nodeName(c, "button") ? c.form : b; d && !d._submit_attached && (f.event.add(d, "submit._submit", function (a) { this.parentNode && !a.isTrigger && f.event.simulate("submit", this.parentNode, a, !0) }), d._submit_attached = !0) }) }, teardown: function () { if (f.nodeName(this, "form")) return !1; f.event.remove(this, "._submit") } }), f.support.changeBubbles || (f.event.special.change = { setup: function () { if (z.test(this.nodeName)) { if (this.type === "checkbox" || this.type === "radio") f.event.add(this, "propertychange._change", function (a) { a.originalEvent.propertyName === "checked" && (this._just_changed = !0) }), f.event.add(this, "click._change", function (a) { this._just_changed && !a.isTrigger && (this._just_changed = !1, f.event.simulate("change", this, a, !0)) }); return !1 } f.event.add(this, "beforeactivate._change", function (a) { var b = a.target; z.test(b.nodeName) && !b._change_attached && (f.event.add(b, "change._change", function (a) { this.parentNode && !a.isSimulated && !a.isTrigger && f.event.simulate("change", this.parentNode, a, !0) }), b._change_attached = !0) }) }, handle: function (a) { var b = a.target; if (this !== b || a.isSimulated || a.isTrigger || b.type !== "radio" && b.type !== "checkbox") return a.handleObj.handler.apply(this, arguments) }, teardown: function () { f.event.remove(this, "._change"); return z.test(this.nodeName) } }), f.support.focusinBubbles || f.each({ focus: "focusin", blur: "focusout" }, function (a, b) { var d = 0, e = function (a) { f.event.simulate(b, a.target, f.event.fix(a), !0) }; f.event.special[b] = { setup: function () { d++ === 0 && c.addEventListener(a, e, !0) }, teardown: function () { --d === 0 && c.removeEventListener(a, e, !0) } } }), f.fn.extend({ on: function (a, c, d, e, g) { var h, i; if (typeof a == "object") { typeof c != "string" && (d = c, c = b); for (i in a) this.on(i, c, d, a[i], g); return this } d == null && e == null ? (e = c, d = c = b) : e == null && (typeof c == "string" ? (e = d, d = b) : (e = d, d = c, c = b)); if (e === !1) e = J; else if (!e) return this; g === 1 && (h = e, e = function (a) { f().off(a); return h.apply(this, arguments) }, e.guid = h.guid || (h.guid = f.guid++)); return this.each(function () { f.event.add(this, a, e, d, c) }) }, one: function (a, b, c, d) { return this.on.call(this, a, b, c, d, 1) }, off: function (a, c, d) { if (a && a.preventDefault && a.handleObj) { var e = a.handleObj; f(a.delegateTarget).off(e.namespace ? e.type + "." + e.namespace : e.type, e.selector, e.handler); return this } if (typeof a == "object") { for (var g in a) this.off(g, c, a[g]); return this } if (c === !1 || typeof c == "function") d = c, c = b; d === !1 && (d = J); return this.each(function () { f.event.remove(this, a, d, c) }) }, bind: function (a, b, c) { return this.on(a, null, b, c) }, unbind: function (a, b) { return this.off(a, null, b) }, live: function (a, b, c) { f(this.context).on(a, this.selector, b, c); return this }, die: function (a, b) { f(this.context).off(a, this.selector || "**", b); return this }, delegate: function (a, b, c, d) { return this.on(b, a, c, d) }, undelegate: function (a, b, c) { return arguments.length == 1 ? this.off(a, "**") : this.off(b, a, c) }, trigger: function (a, b) { return this.each(function () { f.event.trigger(a, b, this) }) }, triggerHandler: function (a, b) { if (this[0]) return f.event.trigger(a, b, this[0], !0) }, toggle: function (a) { var b = arguments, c = a.guid || f.guid++, d = 0, e = function (c) { var e = (f._data(this, "lastToggle" + a.guid) || 0) % d; f._data(this, "lastToggle" + a.guid, e + 1), c.preventDefault(); return b[e].apply(this, arguments) || !1 }; e.guid = c; while (d < b.length) b[d++].guid = c; return this.click(e) }, hover: function (a, b) { return this.mouseenter(a).mouseleave(b || a) } }), f.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "), function (a, b) { f.fn[b] = function (a, c) { c == null && (c = a, a = null); return arguments.length > 0 ? this.on(b, null, a, c) : this.trigger(b) }, f.attrFn && (f.attrFn[b] = !0), C.test(b) && (f.event.fixHooks[b] = f.event.keyHooks), D.test(b) && (f.event.fixHooks[b] = f.event.mouseHooks) }), function () { function x(a, b, c, e, f, g) { for (var h = 0, i = e.length; h < i; h++) { var j = e[h]; if (j) { var k = !1; j = j[a]; while (j) { if (j[d] === c) { k = e[j.sizset]; break } if (j.nodeType === 1) { g || (j[d] = c, j.sizset = h); if (typeof b != "string") { if (j === b) { k = !0; break } } else if (m.filter(b, [j]).length > 0) { k = j; break } } j = j[a] } e[h] = k } } } function w(a, b, c, e, f, g) { for (var h = 0, i = e.length; h < i; h++) { var j = e[h]; if (j) { var k = !1; j = j[a]; while (j) { if (j[d] === c) { k = e[j.sizset]; break } j.nodeType === 1 && !g && (j[d] = c, j.sizset = h); if (j.nodeName.toLowerCase() === b) { k = j; break } j = j[a] } e[h] = k } } } var a = /((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g, d = "sizcache" + (Math.random() + "").replace(".", ""), e = 0, g = Object.prototype.toString, h = !1, i = !0, j = /\\/g, k = /\r\n/g, l = /\W/; [0, 0].sort(function () { i = !1; return 0 }); var m = function (b, d, e, f) { e = e || [], d = d || c; var h = d; if (d.nodeType !== 1 && d.nodeType !== 9) return []; if (!b || typeof b != "string") return e; var i, j, k, l, n, q, r, t, u = !0, v = m.isXML(d), w = [], x = b; do { a.exec(""), i = a.exec(x); if (i) { x = i[3], w.push(i[1]); if (i[2]) { l = i[3]; break } } } while (i); if (w.length > 1 && p.exec(b)) if (w.length === 2 && o.relative[w[0]]) j = y(w[0] + w[1], d, f); else { j = o.relative[w[0]] ? [d] : m(w.shift(), d); while (w.length) b = w.shift(), o.relative[b] && (b += w.shift()), j = y(b, j, f) } else { !f && w.length > 1 && d.nodeType === 9 && !v && o.match.ID.test(w[0]) && !o.match.ID.test(w[w.length - 1]) && (n = m.find(w.shift(), d, v), d = n.expr ? m.filter(n.expr, n.set)[0] : n.set[0]); if (d) { n = f ? { expr: w.pop(), set: s(f)} : m.find(w.pop(), w.length === 1 && (w[0] === "~" || w[0] === "+") && d.parentNode ? d.parentNode : d, v), j = n.expr ? m.filter(n.expr, n.set) : n.set, w.length > 0 ? k = s(j) : u = !1; while (w.length) q = w.pop(), r = q, o.relative[q] ? r = w.pop() : q = "", r == null && (r = d), o.relative[q](k, r, v) } else k = w = [] } k || (k = j), k || m.error(q || b); if (g.call(k) === "[object Array]") if (!u) e.push.apply(e, k); else if (d && d.nodeType === 1) for (t = 0; k[t] != null; t++) k[t] && (k[t] === !0 || k[t].nodeType === 1 && m.contains(d, k[t])) && e.push(j[t]); else for (t = 0; k[t] != null; t++) k[t] && k[t].nodeType === 1 && e.push(j[t]); else s(k, e); l && (m(l, h, e, f), m.uniqueSort(e)); return e }; m.uniqueSort = function (a) { if (u) { h = i, a.sort(u); if (h) for (var b = 1; b < a.length; b++) a[b] === a[b - 1] && a.splice(b--, 1) } return a }, m.matches = function (a, b) { return m(a, null, null, b) }, m.matchesSelector = function (a, b) { return m(b, null, null, [a]).length > 0 }, m.find = function (a, b, c) { var d, e, f, g, h, i; if (!a) return []; for (e = 0, f = o.order.length; e < f; e++) { h = o.order[e]; if (g = o.leftMatch[h].exec(a)) { i = g[1], g.splice(1, 1); if (i.substr(i.length - 1) !== "\\") { g[1] = (g[1] || "").replace(j, ""), d = o.find[h](g, b, c); if (d != null) { a = a.replace(o.match[h], ""); break } } } } d || (d = typeof b.getElementsByTagName != "undefined" ? b.getElementsByTagName("*") : []); return { set: d, expr: a} }, m.filter = function (a, c, d, e) { var f, g, h, i, j, k, l, n, p, q = a, r = [], s = c, t = c && c[0] && m.isXML(c[0]); while (a && c.length) { for (h in o.filter) if ((f = o.leftMatch[h].exec(a)) != null && f[2]) { k = o.filter[h], l = f[1], g = !1, f.splice(1, 1); if (l.substr(l.length - 1) === "\\") continue; s === r && (r = []); if (o.preFilter[h]) { f = o.preFilter[h](f, s, d, r, e, t); if (!f) g = i = !0; else if (f === !0) continue } if (f) for (n = 0; (j = s[n]) != null; n++) j && (i = k(j, f, n, s), p = e ^ i, d && i != null ? p ? g = !0 : s[n] = !1 : p && (r.push(j), g = !0)); if (i !== b) { d || (s = r), a = a.replace(o.match[h], ""); if (!g) return []; break } } if (a === q) if (g == null) m.error(a); else break; q = a } return s }, m.error = function (a) { throw new Error("Syntax error, unrecognized expression: " + a) }; var n = m.getText = function (a) { var b, c, d = a.nodeType, e = ""; if (d) { if (d === 1 || d === 9) { if (typeof a.textContent == "string") return a.textContent; if (typeof a.innerText == "string") return a.innerText.replace(k, ""); for (a = a.firstChild; a; a = a.nextSibling) e += n(a) } else if (d === 3 || d === 4) return a.nodeValue } else for (b = 0; c = a[b]; b++) c.nodeType !== 8 && (e += n(c)); return e }, o = m.selectors = { order: ["ID", "NAME", "TAG"], match: { ID: /#((?:[\w\u00c0-\uFFFF\-]|\\.)+)/, CLASS: /\.((?:[\w\u00c0-\uFFFF\-]|\\.)+)/, NAME: /\[name=['"]*((?:[\w\u00c0-\uFFFF\-]|\\.)+)['"]*\]/, ATTR: /\[\s*((?:[\w\u00c0-\uFFFF\-]|\\.)+)\s*(?:(\S?=)\s*(?:(['"])(.*?)\3|(#?(?:[\w\u00c0-\uFFFF\-]|\\.)*)|)|)\s*\]/, TAG: /^((?:[\w\u00c0-\uFFFF\*\-]|\\.)+)/, CHILD: /:(only|nth|last|first)-child(?:\(\s*(even|odd|(?:[+\-]?\d+|(?:[+\-]?\d*)?n\s*(?:[+\-]\s*\d+)?))\s*\))?/, POS: /:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^\-]|$)/, PSEUDO: /:((?:[\w\u00c0-\uFFFF\-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\))?/ }, leftMatch: {}, attrMap: { "class": "className", "for": "htmlFor" }, attrHandle: { href: function (a) { return a.getAttribute("href") }, type: function (a) { return a.getAttribute("type") } }, relative: { "+": function (a, b) { var c = typeof b == "string", d = c && !l.test(b), e = c && !d; d && (b = b.toLowerCase()); for (var f = 0, g = a.length, h; f < g; f++) if (h = a[f]) { while ((h = h.previousSibling) && h.nodeType !== 1); a[f] = e || h && h.nodeName.toLowerCase() === b ? h || !1 : h === b } e && m.filter(b, a, !0) }, ">": function (a, b) { var c, d = typeof b == "string", e = 0, f = a.length; if (d && !l.test(b)) { b = b.toLowerCase(); for (; e < f; e++) { c = a[e]; if (c) { var g = c.parentNode; a[e] = g.nodeName.toLowerCase() === b ? g : !1 } } } else { for (; e < f; e++) c = a[e], c && (a[e] = d ? c.parentNode : c.parentNode === b); d && m.filter(b, a, !0) } }, "": function (a, b, c) { var d, f = e++, g = x; typeof b == "string" && !l.test(b) && (b = b.toLowerCase(), d = b, g = w), g("parentNode", b, f, a, d, c) }, "~": function (a, b, c) { var d, f = e++, g = x; typeof b == "string" && !l.test(b) && (b = b.toLowerCase(), d = b, g = w), g("previousSibling", b, f, a, d, c) } }, find: { ID: function (a, b, c) { if (typeof b.getElementById != "undefined" && !c) { var d = b.getElementById(a[1]); return d && d.parentNode ? [d] : [] } }, NAME: function (a, b) { if (typeof b.getElementsByName != "undefined") { var c = [], d = b.getElementsByName(a[1]); for (var e = 0, f = d.length; e < f; e++) d[e].getAttribute("name") === a[1] && c.push(d[e]); return c.length === 0 ? null : c } }, TAG: function (a, b) { if (typeof b.getElementsByTagName != "undefined") return b.getElementsByTagName(a[1]) } }, preFilter: { CLASS: function (a, b, c, d, e, f) { a = " " + a[1].replace(j, "") + " "; if (f) return a; for (var g = 0, h; (h = b[g]) != null; g++) h && (e ^ (h.className && (" " + h.className + " ").replace(/[\t\n\r]/g, " ").indexOf(a) >= 0) ? c || d.push(h) : c && (b[g] = !1)); return !1 }, ID: function (a) { return a[1].replace(j, "") }, TAG: function (a, b) { return a[1].replace(j, "").toLowerCase() }, CHILD: function (a) { if (a[1] === "nth") { a[2] || m.error(a[0]), a[2] = a[2].replace(/^\+|\s*/g, ""); var b = /(-?)(\d*)(?:n([+\-]?\d*))?/.exec(a[2] === "even" && "2n" || a[2] === "odd" && "2n+1" || !/\D/.test(a[2]) && "0n+" + a[2] || a[2]); a[2] = b[1] + (b[2] || 1) - 0, a[3] = b[3] - 0 } else a[2] && m.error(a[0]); a[0] = e++; return a }, ATTR: function (a, b, c, d, e, f) { var g = a[1] = a[1].replace(j, ""); !f && o.attrMap[g] && (a[1] = o.attrMap[g]), a[4] = (a[4] || a[5] || "").replace(j, ""), a[2] === "~=" && (a[4] = " " + a[4] + " "); return a }, PSEUDO: function (b, c, d, e, f) { if (b[1] === "not") if ((a.exec(b[3]) || "").length > 1 || /^\w/.test(b[3])) b[3] = m(b[3], null, null, c); else { var g = m.filter(b[3], c, d, !0 ^ f); d || e.push.apply(e, g); return !1 } else if (o.match.POS.test(b[0]) || o.match.CHILD.test(b[0])) return !0; return b }, POS: function (a) { a.unshift(!0); return a } }, filters: { enabled: function (a) { return a.disabled === !1 && a.type !== "hidden" }, disabled: function (a) { return a.disabled === !0 }, checked: function (a) { return a.checked === !0 }, selected: function (a) { a.parentNode && a.parentNode.selectedIndex; return a.selected === !0 }, parent: function (a) { return !!a.firstChild }, empty: function (a) { return !a.firstChild }, has: function (a, b, c) { return !!m(c[3], a).length }, header: function (a) { return /h\d/i.test(a.nodeName) }, text: function (a) { var b = a.getAttribute("type"), c = a.type; return a.nodeName.toLowerCase() === "input" && "text" === c && (b === c || b === null) }, radio: function (a) { return a.nodeName.toLowerCase() === "input" && "radio" === a.type }, checkbox: function (a) { return a.nodeName.toLowerCase() === "input" && "checkbox" === a.type }, file: function (a) { return a.nodeName.toLowerCase() === "input" && "file" === a.type }, password: function (a) { return a.nodeName.toLowerCase() === "input" && "password" === a.type }, submit: function (a) { var b = a.nodeName.toLowerCase(); return (b === "input" || b === "button") && "submit" === a.type }, image: function (a) { return a.nodeName.toLowerCase() === "input" && "image" === a.type }, reset: function (a) { var b = a.nodeName.toLowerCase(); return (b === "input" || b === "button") && "reset" === a.type }, button: function (a) { var b = a.nodeName.toLowerCase(); return b === "input" && "button" === a.type || b === "button" }, input: function (a) { return /input|select|textarea|button/i.test(a.nodeName) }, focus: function (a) { return a === a.ownerDocument.activeElement } }, setFilters: { first: function (a, b) { return b === 0 }, last: function (a, b, c, d) { return b === d.length - 1 }, even: function (a, b) { return b % 2 === 0 }, odd: function (a, b) { return b % 2 === 1 }, lt: function (a, b, c) { return b < c[3] - 0 }, gt: function (a, b, c) { return b > c[3] - 0 }, nth: function (a, b, c) { return c[3] - 0 === b }, eq: function (a, b, c) { return c[3] - 0 === b } }, filter: { PSEUDO: function (a, b, c, d) { var e = b[1], f = o.filters[e]; if (f) return f(a, c, b, d); if (e === "contains") return (a.textContent || a.innerText || n([a]) || "").indexOf(b[3]) >= 0; if (e === "not") { var g = b[3]; for (var h = 0, i = g.length; h < i; h++) if (g[h] === a) return !1; return !0 } m.error(e) }, CHILD: function (a, b) { var c, e, f, g, h, i, j, k = b[1], l = a; switch (k) { case "only": case "first": while (l = l.previousSibling) if (l.nodeType === 1) return !1; if (k === "first") return !0; l = a; case "last": while (l = l.nextSibling) if (l.nodeType === 1) return !1; return !0; case "nth": c = b[2], e = b[3]; if (c === 1 && e === 0) return !0; f = b[0], g = a.parentNode; if (g && (g[d] !== f || !a.nodeIndex)) { i = 0; for (l = g.firstChild; l; l = l.nextSibling) l.nodeType === 1 && (l.nodeIndex = ++i); g[d] = f } j = a.nodeIndex - e; return c === 0 ? j === 0 : j % c === 0 && j / c >= 0 } }, ID: function (a, b) { return a.nodeType === 1 && a.getAttribute("id") === b }, TAG: function (a, b) { return b === "*" && a.nodeType === 1 || !!a.nodeName && a.nodeName.toLowerCase() === b }, CLASS: function (a, b) { return (" " + (a.className || a.getAttribute("class")) + " ").indexOf(b) > -1 }, ATTR: function (a, b) { var c = b[1], d = m.attr ? m.attr(a, c) : o.attrHandle[c] ? o.attrHandle[c](a) : a[c] != null ? a[c] : a.getAttribute(c), e = d + "", f = b[2], g = b[4]; return d == null ? f === "!=" : !f && m.attr ? d != null : f === "=" ? e === g : f === "*=" ? e.indexOf(g) >= 0 : f === "~=" ? (" " + e + " ").indexOf(g) >= 0 : g ? f === "!=" ? e !== g : f === "^=" ? e.indexOf(g) === 0 : f === "$=" ? e.substr(e.length - g.length) === g : f === "|=" ? e === g || e.substr(0, g.length + 1) === g + "-" : !1 : e && d !== !1 }, POS: function (a, b, c, d) { var e = b[2], f = o.setFilters[e]; if (f) return f(a, c, b, d) } } }, p = o.match.POS, q = function (a, b) { return "\\" + (b - 0 + 1) }; for (var r in o.match) o.match[r] = new RegExp(o.match[r].source + /(?![^\[]*\])(?![^\(]*\))/.source), o.leftMatch[r] = new RegExp(/(^(?:.|\r|\n)*?)/.source + o.match[r].source.replace(/\\(\d+)/g, q)); var s = function (a, b) { a = Array.prototype.slice.call(a, 0); if (b) { b.push.apply(b, a); return b } return a }; try { Array.prototype.slice.call(c.documentElement.childNodes, 0)[0].nodeType } catch (t) { s = function (a, b) { var c = 0, d = b || []; if (g.call(a) === "[object Array]") Array.prototype.push.apply(d, a); else if (typeof a.length == "number") for (var e = a.length; c < e; c++) d.push(a[c]); else for (; a[c]; c++) d.push(a[c]); return d } } var u, v; c.documentElement.compareDocumentPosition ? u = function (a, b) { if (a === b) { h = !0; return 0 } if (!a.compareDocumentPosition || !b.compareDocumentPosition) return a.compareDocumentPosition ? -1 : 1; return a.compareDocumentPosition(b) & 4 ? -1 : 1 } : (u = function (a, b) { if (a === b) { h = !0; return 0 } if (a.sourceIndex && b.sourceIndex) return a.sourceIndex - b.sourceIndex; var c, d, e = [], f = [], g = a.parentNode, i = b.parentNode, j = g; if (g === i) return v(a, b); if (!g) return -1; if (!i) return 1; while (j) e.unshift(j), j = j.parentNode; j = i; while (j) f.unshift(j), j = j.parentNode; c = e.length, d = f.length; for (var k = 0; k < c && k < d; k++) if (e[k] !== f[k]) return v(e[k], f[k]); return k === c ? v(a, f[k], -1) : v(e[k], b, 1) }, v = function (a, b, c) { if (a === b) return c; var d = a.nextSibling; while (d) { if (d === b) return -1; d = d.nextSibling } return 1 }), function () { var a = c.createElement("div"), d = "script" + (new Date).getTime(), e = c.documentElement; a.innerHTML = "<a name='" + d + "'/>", e.insertBefore(a, e.firstChild), c.getElementById(d) && (o.find.ID = function (a, c, d) { if (typeof c.getElementById != "undefined" && !d) { var e = c.getElementById(a[1]); return e ? e.id === a[1] || typeof e.getAttributeNode != "undefined" && e.getAttributeNode("id").nodeValue === a[1] ? [e] : b : [] } }, o.filter.ID = function (a, b) { var c = typeof a.getAttributeNode != "undefined" && a.getAttributeNode("id"); return a.nodeType === 1 && c && c.nodeValue === b }), e.removeChild(a), e = a = null } (), function () { var a = c.createElement("div"); a.appendChild(c.createComment("")), a.getElementsByTagName("*").length > 0 && (o.find.TAG = function (a, b) { var c = b.getElementsByTagName(a[1]); if (a[1] === "*") { var d = []; for (var e = 0; c[e]; e++) c[e].nodeType === 1 && d.push(c[e]); c = d } return c }), a.innerHTML = "<a href='#'></a>", a.firstChild && typeof a.firstChild.getAttribute != "undefined" && a.firstChild.getAttribute("href") !== "#" && (o.attrHandle.href = function (a) { return a.getAttribute("href", 2) }), a = null } (), c.querySelectorAll && function () { var a = m, b = c.createElement("div"), d = "__sizzle__"; b.innerHTML = "<p class='TEST'></p>"; if (!b.querySelectorAll || b.querySelectorAll(".TEST").length !== 0) { m = function (b, e, f, g) { e = e || c; if (!g && !m.isXML(e)) { var h = /^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(b); if (h && (e.nodeType === 1 || e.nodeType === 9)) { if (h[1]) return s(e.getElementsByTagName(b), f); if (h[2] && o.find.CLASS && e.getElementsByClassName) return s(e.getElementsByClassName(h[2]), f) } if (e.nodeType === 9) { if (b === "body" && e.body) return s([e.body], f); if (h && h[3]) { var i = e.getElementById(h[3]); if (!i || !i.parentNode) return s([], f); if (i.id === h[3]) return s([i], f) } try { return s(e.querySelectorAll(b), f) } catch (j) { } } else if (e.nodeType === 1 && e.nodeName.toLowerCase() !== "object") { var k = e, l = e.getAttribute("id"), n = l || d, p = e.parentNode, q = /^\s*[+~]/.test(b); l ? n = n.replace(/'/g, "\\$&") : e.setAttribute("id", n), q && p && (e = e.parentNode); try { if (!q || p) return s(e.querySelectorAll("[id='" + n + "'] " + b), f) } catch (r) { } finally { l || k.removeAttribute("id") } } } return a(b, e, f, g) }; for (var e in a) m[e] = a[e]; b = null } } (), function () { var a = c.documentElement, b = a.matchesSelector || a.mozMatchesSelector || a.webkitMatchesSelector || a.msMatchesSelector; if (b) { var d = !b.call(c.createElement("div"), "div"), e = !1; try { b.call(c.documentElement, "[test!='']:sizzle") } catch (f) { e = !0 } m.matchesSelector = function (a, c) { c = c.replace(/\=\s*([^'"\]]*)\s*\]/g, "='$1']"); if (!m.isXML(a)) try { if (e || !o.match.PSEUDO.test(c) && !/!=/.test(c)) { var f = b.call(a, c); if (f || !d || a.document && a.document.nodeType !== 11) return f } } catch (g) { } return m(c, null, null, [a]).length > 0 } } } (), function () { var a = c.createElement("div"); a.innerHTML = "<div class='test e'></div><div class='test'></div>"; if (!!a.getElementsByClassName && a.getElementsByClassName("e").length !== 0) { a.lastChild.className = "e"; if (a.getElementsByClassName("e").length === 1) return; o.order.splice(1, 0, "CLASS"), o.find.CLASS = function (a, b, c) { if (typeof b.getElementsByClassName != "undefined" && !c) return b.getElementsByClassName(a[1]) }, a = null } } (), c.documentElement.contains ? m.contains = function (a, b) { return a !== b && (a.contains ? a.contains(b) : !0) } : c.documentElement.compareDocumentPosition ? m.contains = function (a, b) { return !!(a.compareDocumentPosition(b) & 16) } : m.contains = function () { return !1 }, m.isXML = function (a) { var b = (a ? a.ownerDocument || a : 0).documentElement; return b ? b.nodeName !== "HTML" : !1 }; var y = function (a, b, c) { var d, e = [], f = "", g = b.nodeType ? [b] : b; while (d = o.match.PSEUDO.exec(a)) f += d[0], a = a.replace(o.match.PSEUDO, ""); a = o.relative[a] ? a + "*" : a; for (var h = 0, i = g.length; h < i; h++) m(a, g[h], e, c); return m.filter(f, e) }; m.attr = f.attr, m.selectors.attrMap = {}, f.find = m, f.expr = m.selectors, f.expr[":"] = f.expr.filters, f.unique = m.uniqueSort, f.text = m.getText, f.isXMLDoc = m.isXML, f.contains = m.contains } (); var L = /Until$/, M = /^(?:parents|prevUntil|prevAll)/, N = /,/, O = /^.[^:#\[\.,]*$/, P = Array.prototype.slice, Q = f.expr.match.POS, R = { children: !0, contents: !0, next: !0, prev: !0 }; f.fn.extend({ find: function (a) { var b = this, c, d; if (typeof a != "string") return f(a).filter(function () { for (c = 0, d = b.length; c < d; c++) if (f.contains(b[c], this)) return !0 }); var e = this.pushStack("", "find", a), g, h, i; for (c = 0, d = this.length; c < d; c++) { g = e.length, f.find(a, this[c], e); if (c > 0) for (h = g; h < e.length; h++) for (i = 0; i < g; i++) if (e[i] === e[h]) { e.splice(h--, 1); break } } return e }, has: function (a) { var b = f(a); return this.filter(function () { for (var a = 0, c = b.length; a < c; a++) if (f.contains(this, b[a])) return !0 }) }, not: function (a) { return this.pushStack(T(this, a, !1), "not", a) }, filter: function (a) { return this.pushStack(T(this, a, !0), "filter", a) }, is: function (a) { return !!a && (typeof a == "string" ? Q.test(a) ? f(a, this.context).index(this[0]) >= 0 : f.filter(a, this).length > 0 : this.filter(a).length > 0) }, closest: function (a, b) { var c = [], d, e, g = this[0]; if (f.isArray(a)) { var h = 1; while (g && g.ownerDocument && g !== b) { for (d = 0; d < a.length; d++) f(g).is(a[d]) && c.push({ selector: a[d], elem: g, level: h }); g = g.parentNode, h++ } return c } var i = Q.test(a) || typeof a != "string" ? f(a, b || this.context) : 0; for (d = 0, e = this.length; d < e; d++) { g = this[d]; while (g) { if (i ? i.index(g) > -1 : f.find.matchesSelector(g, a)) { c.push(g); break } g = g.parentNode; if (!g || !g.ownerDocument || g === b || g.nodeType === 11) break } } c = c.length > 1 ? f.unique(c) : c; return this.pushStack(c, "closest", a) }, index: function (a) { if (!a) return this[0] && this[0].parentNode ? this.prevAll().length : -1; if (typeof a == "string") return f.inArray(this[0], f(a)); return f.inArray(a.jquery ? a[0] : a, this) }, add: function (a, b) { var c = typeof a == "string" ? f(a, b) : f.makeArray(a && a.nodeType ? [a] : a), d = f.merge(this.get(), c); return this.pushStack(S(c[0]) || S(d[0]) ? d : f.unique(d)) }, andSelf: function () { return this.add(this.prevObject) } }), f.each({ parent: function (a) { var b = a.parentNode; return b && b.nodeType !== 11 ? b : null }, parents: function (a) { return f.dir(a, "parentNode") }, parentsUntil: function (a, b, c) { return f.dir(a, "parentNode", c) }, next: function (a) { return f.nth(a, 2, "nextSibling") }, prev: function (a) { return f.nth(a, 2, "previousSibling") }, nextAll: function (a) { return f.dir(a, "nextSibling") }, prevAll: function (a) { return f.dir(a, "previousSibling") }, nextUntil: function (a, b, c) { return f.dir(a, "nextSibling", c) }, prevUntil: function (a, b, c) { return f.dir(a, "previousSibling", c) }, siblings: function (a) { return f.sibling(a.parentNode.firstChild, a) }, children: function (a) { return f.sibling(a.firstChild) }, contents: function (a) { return f.nodeName(a, "iframe") ? a.contentDocument || a.contentWindow.document : f.makeArray(a.childNodes) } }, function (a, b) { f.fn[a] = function (c, d) { var e = f.map(this, b, c); L.test(a) || (d = c), d && typeof d == "string" && (e = f.filter(d, e)), e = this.length > 1 && !R[a] ? f.unique(e) : e, (this.length > 1 || N.test(d)) && M.test(a) && (e = e.reverse()); return this.pushStack(e, a, P.call(arguments).join(",")) } }), f.extend({ filter: function (a, b, c) { c && (a = ":not(" + a + ")"); return b.length === 1 ? f.find.matchesSelector(b[0], a) ? [b[0]] : [] : f.find.matches(a, b) }, dir: function (a, c, d) { var e = [], g = a[c]; while (g && g.nodeType !== 9 && (d === b || g.nodeType !== 1 || !f(g).is(d))) g.nodeType === 1 && e.push(g), g = g[c]; return e }, nth: function (a, b, c, d) { b = b || 1; var e = 0; for (; a; a = a[c]) if (a.nodeType === 1 && ++e === b) break; return a }, sibling: function (a, b) { var c = []; for (; a; a = a.nextSibling) a.nodeType === 1 && a !== b && c.push(a); return c } }); var V = "abbr|article|aside|audio|canvas|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video", W = / jQuery\d+="(?:\d+|null)"/g, X = /^\s+/, Y = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig, Z = /<([\w:]+)/, $ = /<tbody/i, _ = /<|&#?\w+;/, ba = /<(?:script|style)/i, bb = /<(?:script|object|embed|option|style)/i, bc = new RegExp("<(?:" + V + ")", "i"), bd = /checked\s*(?:[^=]|=\s*.checked.)/i, be = /\/(java|ecma)script/i, bf = /^\s*<!(?:\[CDATA\[|\-\-)/, bg = { option: [1, "<select multiple='multiple'>", "</select>"], legend: [1, "<fieldset>", "</fieldset>"], thead: [1, "<table>", "</table>"], tr: [2, "<table><tbody>", "</tbody></table>"], td: [3, "<table><tbody><tr>", "</tr></tbody></table>"], col: [2, "<table><tbody></tbody><colgroup>", "</colgroup></table>"], area: [1, "<map>", "</map>"], _default: [0, "", ""] }, bh = U(c); bg.optgroup = bg.option, bg.tbody = bg.tfoot = bg.colgroup = bg.caption = bg.thead, bg.th = bg.td, f.support.htmlSerialize || (bg._default = [1, "div<div>", "</div>"]), f.fn.extend({ text: function (a) { if (f.isFunction(a)) return this.each(function (b) { var c = f(this); c.text(a.call(this, b, c.text())) }); if (typeof a != "object" && a !== b) return this.empty().append((this[0] && this[0].ownerDocument || c).createTextNode(a)); return f.text(this) }, wrapAll: function (a) { if (f.isFunction(a)) return this.each(function (b) { f(this).wrapAll(a.call(this, b)) }); if (this[0]) { var b = f(a, this[0].ownerDocument).eq(0).clone(!0); this[0].parentNode && b.insertBefore(this[0]), b.map(function () { var a = this; while (a.firstChild && a.firstChild.nodeType === 1) a = a.firstChild; return a }).append(this) } return this }, wrapInner: function (a) { if (f.isFunction(a)) return this.each(function (b) { f(this).wrapInner(a.call(this, b)) }); return this.each(function () { var b = f(this), c = b.contents(); c.length ? c.wrapAll(a) : b.append(a) }) }, wrap: function (a) { var b = f.isFunction(a); return this.each(function (c) { f(this).wrapAll(b ? a.call(this, c) : a) }) }, unwrap: function () { return this.parent().each(function () { f.nodeName(this, "body") || f(this).replaceWith(this.childNodes) }).end() }, append: function () { return this.domManip(arguments, !0, function (a) { this.nodeType === 1 && this.appendChild(a) }) }, prepend: function () { return this.domManip(arguments, !0, function (a) { this.nodeType === 1 && this.insertBefore(a, this.firstChild) }) }, before: function () { if (this[0] && this[0].parentNode) return this.domManip(arguments, !1, function (a) { this.parentNode.insertBefore(a, this) }); if (arguments.length) { var a = f.clean(arguments); a.push.apply(a, this.toArray()); return this.pushStack(a, "before", arguments) } }, after: function () { if (this[0] && this[0].parentNode) return this.domManip(arguments, !1, function (a) { this.parentNode.insertBefore(a, this.nextSibling) }); if (arguments.length) { var a = this.pushStack(this, "after", arguments); a.push.apply(a, f.clean(arguments)); return a } }, remove: function (a, b) { for (var c = 0, d; (d = this[c]) != null; c++) if (!a || f.filter(a, [d]).length) !b && d.nodeType === 1 && (f.cleanData(d.getElementsByTagName("*")), f.cleanData([d])), d.parentNode && d.parentNode.removeChild(d); return this }, empty: function ()
|
|
3075
|
+
{ for (var a = 0, b; (b = this[a]) != null; a++) { b.nodeType === 1 && f.cleanData(b.getElementsByTagName("*")); while (b.firstChild) b.removeChild(b.firstChild) } return this }, clone: function (a, b) { a = a == null ? !1 : a, b = b == null ? a : b; return this.map(function () { return f.clone(this, a, b) }) }, html: function (a) { if (a === b) return this[0] && this[0].nodeType === 1 ? this[0].innerHTML.replace(W, "") : null; if (typeof a == "string" && !ba.test(a) && (f.support.leadingWhitespace || !X.test(a)) && !bg[(Z.exec(a) || ["", ""])[1].toLowerCase()]) { a = a.replace(Y, "<$1></$2>"); try { for (var c = 0, d = this.length; c < d; c++) this[c].nodeType === 1 && (f.cleanData(this[c].getElementsByTagName("*")), this[c].innerHTML = a) } catch (e) { this.empty().append(a) } } else f.isFunction(a) ? this.each(function (b) { var c = f(this); c.html(a.call(this, b, c.html())) }) : this.empty().append(a); return this }, replaceWith: function (a) { if (this[0] && this[0].parentNode) { if (f.isFunction(a)) return this.each(function (b) { var c = f(this), d = c.html(); c.replaceWith(a.call(this, b, d)) }); typeof a != "string" && (a = f(a).detach()); return this.each(function () { var b = this.nextSibling, c = this.parentNode; f(this).remove(), b ? f(b).before(a) : f(c).append(a) }) } return this.length ? this.pushStack(f(f.isFunction(a) ? a() : a), "replaceWith", a) : this }, detach: function (a) { return this.remove(a, !0) }, domManip: function (a, c, d) { var e, g, h, i, j = a[0], k = []; if (!f.support.checkClone && arguments.length === 3 && typeof j == "string" && bd.test(j)) return this.each(function () { f(this).domManip(a, c, d, !0) }); if (f.isFunction(j)) return this.each(function (e) { var g = f(this); a[0] = j.call(this, e, c ? g.html() : b), g.domManip(a, c, d) }); if (this[0]) { i = j && j.parentNode, f.support.parentNode && i && i.nodeType === 11 && i.childNodes.length === this.length ? e = { fragment: i} : e = f.buildFragment(a, this, k), h = e.fragment, h.childNodes.length === 1 ? g = h = h.firstChild : g = h.firstChild; if (g) { c = c && f.nodeName(g, "tr"); for (var l = 0, m = this.length, n = m - 1; l < m; l++) d.call(c ? bi(this[l], g) : this[l], e.cacheable || m > 1 && l < n ? f.clone(h, !0, !0) : h) } k.length && f.each(k, bp) } return this }
|
|
3076
|
+
}), f.buildFragment = function (a, b, d) { var e, g, h, i, j = a[0]; b && b[0] && (i = b[0].ownerDocument || b[0]), i.createDocumentFragment || (i = c), a.length === 1 && typeof j == "string" && j.length < 512 && i === c && j.charAt(0) === "<" && !bb.test(j) && (f.support.checkClone || !bd.test(j)) && (f.support.html5Clone || !bc.test(j)) && (g = !0, h = f.fragments[j], h && h !== 1 && (e = h)), e || (e = i.createDocumentFragment(), f.clean(a, i, e, d)), g && (f.fragments[j] = h ? e : 1); return { fragment: e, cacheable: g} }, f.fragments = {}, f.each({ appendTo: "append", prependTo: "prepend", insertBefore: "before", insertAfter: "after", replaceAll: "replaceWith" }, function (a, b) { f.fn[a] = function (c) { var d = [], e = f(c), g = this.length === 1 && this[0].parentNode; if (g && g.nodeType === 11 && g.childNodes.length === 1 && e.length === 1) { e[b](this[0]); return this } for (var h = 0, i = e.length; h < i; h++) { var j = (h > 0 ? this.clone(!0) : this).get(); f(e[h])[b](j), d = d.concat(j) } return this.pushStack(d, a, e.selector) } }), f.extend({ clone: function (a, b, c) { var d, e, g, h = f.support.html5Clone || !bc.test("<" + a.nodeName) ? a.cloneNode(!0) : bo(a); if ((!f.support.noCloneEvent || !f.support.noCloneChecked) && (a.nodeType === 1 || a.nodeType === 11) && !f.isXMLDoc(a)) { bk(a, h), d = bl(a), e = bl(h); for (g = 0; d[g]; ++g) e[g] && bk(d[g], e[g]) } if (b) { bj(a, h); if (c) { d = bl(a), e = bl(h); for (g = 0; d[g]; ++g) bj(d[g], e[g]) } } d = e = null; return h }, clean: function (a, b, d, e) { var g; b = b || c, typeof b.createElement == "undefined" && (b = b.ownerDocument || b[0] && b[0].ownerDocument || c); var h = [], i; for (var j = 0, k; (k = a[j]) != null; j++) { typeof k == "number" && (k += ""); if (!k) continue; if (typeof k == "string") if (!_.test(k)) k = b.createTextNode(k); else { k = k.replace(Y, "<$1></$2>"); var l = (Z.exec(k) || ["", ""])[1].toLowerCase(), m = bg[l] || bg._default, n = m[0], o = b.createElement("div"); b === c ? bh.appendChild(o) : U(b).appendChild(o), o.innerHTML = m[1] + k + m[2]; while (n--) o = o.lastChild; if (!f.support.tbody) { var p = $.test(k), q = l === "table" && !p ? o.firstChild && o.firstChild.childNodes : m[1] === "<table>" && !p ? o.childNodes : []; for (i = q.length - 1; i >= 0; --i) f.nodeName(q[i], "tbody") && !q[i].childNodes.length && q[i].parentNode.removeChild(q[i]) } !f.support.leadingWhitespace && X.test(k) && o.insertBefore(b.createTextNode(X.exec(k)[0]), o.firstChild), k = o.childNodes } var r; if (!f.support.appendChecked) if (k[0] && typeof (r = k.length) == "number") for (i = 0; i < r; i++) bn(k[i]); else bn(k); k.nodeType ? h.push(k) : h = f.merge(h, k) } if (d) { g = function (a) { return !a.type || be.test(a.type) }; for (j = 0; h[j]; j++) if (e && f.nodeName(h[j], "script") && (!h[j].type || h[j].type.toLowerCase() === "text/javascript")) e.push(h[j].parentNode ? h[j].parentNode.removeChild(h[j]) : h[j]); else { if (h[j].nodeType === 1) { var s = f.grep(h[j].getElementsByTagName("script"), g); h.splice.apply(h, [j + 1, 0].concat(s)) } d.appendChild(h[j]) } } return h }, cleanData: function (a) { var b, c, d = f.cache, e = f.event.special, g = f.support.deleteExpando; for (var h = 0, i; (i = a[h]) != null; h++) { if (i.nodeName && f.noData[i.nodeName.toLowerCase()]) continue; c = i[f.expando]; if (c) { b = d[c]; if (b && b.events) { for (var j in b.events) e[j] ? f.event.remove(i, j) : f.removeEvent(i, j, b.handle); b.handle && (b.handle.elem = null) } g ? delete i[f.expando] : i.removeAttribute && i.removeAttribute(f.expando), delete d[c] } } } }); var bq = /alpha\([^)]*\)/i, br = /opacity=([^)]*)/, bs = /([A-Z]|^ms)/g, bt = /^-?\d+(?:px)?$/i, bu = /^-?\d/, bv = /^([\-+])=([\-+.\de]+)/, bw = { position: "absolute", visibility: "hidden", display: "block" }, bx = ["Left", "Right"], by = ["Top", "Bottom"], bz, bA, bB; f.fn.css = function (a, c) { if (arguments.length === 2 && c === b) return this; return f.access(this, a, c, !0, function (a, c, d) { return d !== b ? f.style(a, c, d) : f.css(a, c) }) }, f.extend({ cssHooks: { opacity: { get: function (a, b) { if (b) { var c = bz(a, "opacity", "opacity"); return c === "" ? "1" : c } return a.style.opacity } } }, cssNumber: { fillOpacity: !0, fontWeight: !0, lineHeight: !0, opacity: !0, orphans: !0, widows: !0, zIndex: !0, zoom: !0 }, cssProps: { "float": f.support.cssFloat ? "cssFloat" : "styleFloat" }, style: function (a, c, d, e) { if (!!a && a.nodeType !== 3 && a.nodeType !== 8 && !!a.style) { var g, h, i = f.camelCase(c), j = a.style, k = f.cssHooks[i]; c = f.cssProps[i] || i; if (d === b) { if (k && "get" in k && (g = k.get(a, !1, e)) !== b) return g; return j[c] } h = typeof d, h === "string" && (g = bv.exec(d)) && (d = +(g[1] + 1) * +g[2] + parseFloat(f.css(a, c)), h = "number"); if (d == null || h === "number" && isNaN(d)) return; h === "number" && !f.cssNumber[i] && (d += "px"); if (!k || !("set" in k) || (d = k.set(a, d)) !== b) try { j[c] = d } catch (l) { } } }, css: function (a, c, d) { var e, g; c = f.camelCase(c), g = f.cssHooks[c], c = f.cssProps[c] || c, c === "cssFloat" && (c = "float"); if (g && "get" in g && (e = g.get(a, !0, d)) !== b) return e; if (bz) return bz(a, c) }, swap: function (a, b, c) { var d = {}; for (var e in b) d[e] = a.style[e], a.style[e] = b[e]; c.call(a); for (e in b) a.style[e] = d[e] } }), f.curCSS = f.css, f.each(["height", "width"], function (a, b) { f.cssHooks[b] = { get: function (a, c, d) { var e; if (c) { if (a.offsetWidth !== 0) return bC(a, b, d); f.swap(a, bw, function () { e = bC(a, b, d) }); return e } }, set: function (a, b) { if (!bt.test(b)) return b; b = parseFloat(b); if (b >= 0) return b + "px" } } }), f.support.opacity || (f.cssHooks.opacity = { get: function (a, b) { return br.test((b && a.currentStyle ? a.currentStyle.filter : a.style.filter) || "") ? parseFloat(RegExp.$1) / 100 + "" : b ? "1" : "" }, set: function (a, b) { var c = a.style, d = a.currentStyle, e = f.isNumeric(b) ? "alpha(opacity=" + b * 100 + ")" : "", g = d && d.filter || c.filter || ""; c.zoom = 1; if (b >= 1 && f.trim(g.replace(bq, "")) === "") { c.removeAttribute("filter"); if (d && !d.filter) return } c.filter = bq.test(g) ? g.replace(bq, e) : g + " " + e } }), f(function () { f.support.reliableMarginRight || (f.cssHooks.marginRight = { get: function (a, b) { var c; f.swap(a, { display: "inline-block" }, function () { b ? c = bz(a, "margin-right", "marginRight") : c = a.style.marginRight }); return c } }) }), c.defaultView && c.defaultView.getComputedStyle && (bA = function (a, b) { var c, d, e; b = b.replace(bs, "-$1").toLowerCase(), (d = a.ownerDocument.defaultView) && (e = d.getComputedStyle(a, null)) && (c = e.getPropertyValue(b), c === "" && !f.contains(a.ownerDocument.documentElement, a) && (c = f.style(a, b))); return c }), c.documentElement.currentStyle && (bB = function (a, b) { var c, d, e, f = a.currentStyle && a.currentStyle[b], g = a.style; f === null && g && (e = g[b]) && (f = e), !bt.test(f) && bu.test(f) && (c = g.left, d = a.runtimeStyle && a.runtimeStyle.left, d && (a.runtimeStyle.left = a.currentStyle.left), g.left = b === "fontSize" ? "1em" : f || 0, f = g.pixelLeft + "px", g.left = c, d && (a.runtimeStyle.left = d)); return f === "" ? "auto" : f }), bz = bA || bB, f.expr && f.expr.filters && (f.expr.filters.hidden = function (a) { var b = a.offsetWidth, c = a.offsetHeight; return b === 0 && c === 0 || !f.support.reliableHiddenOffsets && (a.style && a.style.display || f.css(a, "display")) === "none" }, f.expr.filters.visible = function (a) { return !f.expr.filters.hidden(a) }); var bD = /%20/g, bE = /\[\]$/, bF = /\r?\n/g, bG = /#.*$/, bH = /^(.*?):[ \t]*([^\r\n]*)\r?$/mg, bI = /^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i, bJ = /^(?:about|app|app\-storage|.+\-extension|file|res|widget):$/, bK = /^(?:GET|HEAD)$/, bL = /^\/\//, bM = /\?/, bN = /<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi, bO = /^(?:select|textarea)/i, bP = /\s+/, bQ = /([?&])_=[^&]*/, bR = /^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+))?)?/, bS = f.fn.load, bT = {}, bU = {}, bV, bW, bX = ["*/"] + ["*"]; try { bV = e.href } catch (bY) { bV = c.createElement("a"), bV.href = "", bV = bV.href } bW = bR.exec(bV.toLowerCase()) || [], f.fn.extend({ load: function (a, c, d) { if (typeof a != "string" && bS) return bS.apply(this, arguments); if (!this.length) return this; var e = a.indexOf(" "); if (e >= 0) { var g = a.slice(e, a.length); a = a.slice(0, e) } var h = "GET"; c && (f.isFunction(c) ? (d = c, c = b) : typeof c == "object" && (c = f.param(c, f.ajaxSettings.traditional), h = "POST")); var i = this; f.ajax({ url: a, type: h, dataType: "html", data: c, complete: function (a, b, c) { c = a.responseText, a.isResolved() && (a.done(function (a) { c = a }), i.html(g ? f("<div>").append(c.replace(bN, "")).find(g) : c)), d && i.each(d, [c, b, a]) } }); return this }, serialize: function () { return f.param(this.serializeArray()) }, serializeArray: function () { return this.map(function () { return this.elements ? f.makeArray(this.elements) : this }).filter(function () { return this.name && !this.disabled && (this.checked || bO.test(this.nodeName) || bI.test(this.type)) }).map(function (a, b) { var c = f(this).val(); return c == null ? null : f.isArray(c) ? f.map(c, function (a, c) { return { name: b.name, value: a.replace(bF, "\r\n")} }) : { name: b.name, value: c.replace(bF, "\r\n")} }).get() } }), f.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "), function (a, b) { f.fn[b] = function (a) { return this.on(b, a) } }), f.each(["get", "post"], function (a, c) { f[c] = function (a, d, e, g) { f.isFunction(d) && (g = g || e, e = d, d = b); return f.ajax({ type: c, url: a, data: d, success: e, dataType: g }) } }), f.extend({ getScript: function (a, c) { return f.get(a, b, c, "script") }, getJSON: function (a, b, c) { return f.get(a, b, c, "json") }, ajaxSetup: function (a, b) { b ? b_(a, f.ajaxSettings) : (b = a, a = f.ajaxSettings), b_(a, b); return a }, ajaxSettings: { url: bV, isLocal: bJ.test(bW[1]), global: !0, type: "GET", contentType: "application/x-www-form-urlencoded", processData: !0, async: !0, accepts: { xml: "application/xml, text/xml", html: "text/html", text: "text/plain", json: "application/json, text/javascript", "*": bX }, contents: { xml: /xml/, html: /html/, json: /json/ }, responseFields: { xml: "responseXML", text: "responseText" }, converters: { "* text": a.String, "text html": !0, "text json": f.parseJSON, "text xml": f.parseXML }, flatOptions: { context: !0, url: !0} }, ajaxPrefilter: bZ(bT), ajaxTransport: bZ(bU), ajax: function (a, c) { function w(a, c, l, m) { if (s !== 2) { s = 2, q && clearTimeout(q), p = b, n = m || "", v.readyState = a > 0 ? 4 : 0; var o, r, u, w = c, x = l ? cb(d, v, l) : b, y, z; if (a >= 200 && a < 300 || a === 304) { if (d.ifModified) { if (y = v.getResponseHeader("Last-Modified")) f.lastModified[k] = y; if (z = v.getResponseHeader("Etag")) f.etag[k] = z } if (a === 304) w = "notmodified", o = !0; else try { r = cc(d, x), w = "success", o = !0 } catch (A) { w = "parsererror", u = A } } else { u = w; if (!w || a) w = "error", a < 0 && (a = 0) } v.status = a, v.statusText = "" + (c || w), o ? h.resolveWith(e, [r, w, v]) : h.rejectWith(e, [v, w, u]), v.statusCode(j), j = b, t && g.trigger("ajax" + (o ? "Success" : "Error"), [v, d, o ? r : u]), i.fireWith(e, [v, w]), t && (g.trigger("ajaxComplete", [v, d]), --f.active || f.event.trigger("ajaxStop")) } } typeof a == "object" && (c = a, a = b), c = c || {}; var d = f.ajaxSetup({}, c), e = d.context || d, g = e !== d && (e.nodeType || e instanceof f) ? f(e) : f.event, h = f.Deferred(), i = f.Callbacks("once memory"), j = d.statusCode || {}, k, l = {}, m = {}, n, o, p, q, r, s = 0, t, u, v = { readyState: 0, setRequestHeader: function (a, b) { if (!s) { var c = a.toLowerCase(); a = m[c] = m[c] || a, l[a] = b } return this }, getAllResponseHeaders: function () { return s === 2 ? n : null }, getResponseHeader: function (a) { var c; if (s === 2) { if (!o) { o = {}; while (c = bH.exec(n)) o[c[1].toLowerCase()] = c[2] } c = o[a.toLowerCase()] } return c === b ? null : c }, overrideMimeType: function (a) { s || (d.mimeType = a); return this }, abort: function (a) { a = a || "abort", p && p.abort(a), w(0, a); return this } }; h.promise(v), v.success = v.done, v.error = v.fail, v.complete = i.add, v.statusCode = function (a) { if (a) { var b; if (s < 2) for (b in a) j[b] = [j[b], a[b]]; else b = a[v.status], v.then(b, b) } return this }, d.url = ((a || d.url) + "").replace(bG, "").replace(bL, bW[1] + "//"), d.dataTypes = f.trim(d.dataType || "*").toLowerCase().split(bP), d.crossDomain == null && (r = bR.exec(d.url.toLowerCase()), d.crossDomain = !(!r || r[1] == bW[1] && r[2] == bW[2] && (r[3] || (r[1] === "http:" ? 80 : 443)) == (bW[3] || (bW[1] === "http:" ? 80 : 443)))), d.data && d.processData && typeof d.data != "string" && (d.data = f.param(d.data, d.traditional)), b$(bT, d, c, v); if (s === 2) return !1; t = d.global, d.type = d.type.toUpperCase(), d.hasContent = !bK.test(d.type), t && f.active++ === 0 && f.event.trigger("ajaxStart"); if (!d.hasContent) { d.data && (d.url += (bM.test(d.url) ? "&" : "?") + d.data, delete d.data), k = d.url; if (d.cache === !1) { var x = f.now(), y = d.url.replace(bQ, "$1_=" + x); d.url = y + (y === d.url ? (bM.test(d.url) ? "&" : "?") + "_=" + x : "") } } (d.data && d.hasContent && d.contentType !== !1 || c.contentType) && v.setRequestHeader("Content-Type", d.contentType), d.ifModified && (k = k || d.url, f.lastModified[k] && v.setRequestHeader("If-Modified-Since", f.lastModified[k]), f.etag[k] && v.setRequestHeader("If-None-Match", f.etag[k])), v.setRequestHeader("Accept", d.dataTypes[0] && d.accepts[d.dataTypes[0]] ? d.accepts[d.dataTypes[0]] + (d.dataTypes[0] !== "*" ? ", " + bX + "; q=0.01" : "") : d.accepts["*"]); for (u in d.headers) v.setRequestHeader(u, d.headers[u]); if (d.beforeSend && (d.beforeSend.call(e, v, d) === !1 || s === 2)) { v.abort(); return !1 } for (u in { success: 1, error: 1, complete: 1 }) v[u](d[u]); p = b$(bU, d, c, v); if (!p) w(-1, "No Transport"); else { v.readyState = 1, t && g.trigger("ajaxSend", [v, d]), d.async && d.timeout > 0 && (q = setTimeout(function () { v.abort("timeout") }, d.timeout)); try { s = 1, p.send(l, w) } catch (z) { if (s < 2) w(-1, z); else throw z } } return v }, param: function (a, c) { var d = [], e = function (a, b) { b = f.isFunction(b) ? b() : b, d[d.length] = encodeURIComponent(a) + "=" + encodeURIComponent(b) }; c === b && (c = f.ajaxSettings.traditional); if (f.isArray(a) || a.jquery && !f.isPlainObject(a)) f.each(a, function () { e(this.name, this.value) }); else for (var g in a) ca(g, a[g], c, e); return d.join("&").replace(bD, "+") } }), f.extend({ active: 0, lastModified: {}, etag: {} }); var cd = f.now(), ce = /(\=)\?(&|$)|\?\?/i; f.ajaxSetup({ jsonp: "callback", jsonpCallback: function () { return f.expando + "_" + cd++ } }), f.ajaxPrefilter("json jsonp", function (b, c, d) { var e = b.contentType === "application/x-www-form-urlencoded" && typeof b.data == "string"; if (b.dataTypes[0] === "jsonp" || b.jsonp !== !1 && (ce.test(b.url) || e && ce.test(b.data))) { var g, h = b.jsonpCallback = f.isFunction(b.jsonpCallback) ? b.jsonpCallback() : b.jsonpCallback, i = a[h], j = b.url, k = b.data, l = "$1" + h + "$2"; b.jsonp !== !1 && (j = j.replace(ce, l), b.url === j && (e && (k = k.replace(ce, l)), b.data === k && (j += (/\?/.test(j) ? "&" : "?") + b.jsonp + "=" + h))), b.url = j, b.data = k, a[h] = function (a) { g = [a] }, d.always(function () { a[h] = i, g && f.isFunction(i) && a[h](g[0]) }), b.converters["script json"] = function () { g || f.error(h + " was not called"); return g[0] }, b.dataTypes[0] = "json"; return "script" } }), f.ajaxSetup({ accepts: { script: "text/javascript, application/javascript, application/ecmascript, application/x-ecmascript" }, contents: { script: /javascript|ecmascript/ }, converters: { "text script": function (a) { f.globalEval(a); return a } } }), f.ajaxPrefilter("script", function (a) { a.cache === b && (a.cache = !1), a.crossDomain && (a.type = "GET", a.global = !1) }), f.ajaxTransport("script", function (a) { if (a.crossDomain) { var d, e = c.head || c.getElementsByTagName("head")[0] || c.documentElement; return { send: function (f, g) { d = c.createElement("script"), d.async = "async", a.scriptCharset && (d.charset = a.scriptCharset), d.src = a.url, d.onload = d.onreadystatechange = function (a, c) { if (c || !d.readyState || /loaded|complete/.test(d.readyState)) d.onload = d.onreadystatechange = null, e && d.parentNode && e.removeChild(d), d = b, c || g(200, "success") }, e.insertBefore(d, e.firstChild) }, abort: function () { d && d.onload(0, 1) } } } }); var cf = a.ActiveXObject ? function () { for (var a in ch) ch[a](0, 1) } : !1, cg = 0, ch; f.ajaxSettings.xhr = a.ActiveXObject ? function () { return !this.isLocal && ci() || cj() } : ci, function (a) { f.extend(f.support, { ajax: !!a, cors: !!a && "withCredentials" in a }) } (f.ajaxSettings.xhr()), f.support.ajax && f.ajaxTransport(function (c) { if (!c.crossDomain || f.support.cors) { var d; return { send: function (e, g) { var h = c.xhr(), i, j; c.username ? h.open(c.type, c.url, c.async, c.username, c.password) : h.open(c.type, c.url, c.async); if (c.xhrFields) for (j in c.xhrFields) h[j] = c.xhrFields[j]; c.mimeType && h.overrideMimeType && h.overrideMimeType(c.mimeType), !c.crossDomain && !e["X-Requested-With"] && (e["X-Requested-With"] = "XMLHttpRequest"); try { for (j in e) h.setRequestHeader(j, e[j]) } catch (k) { } h.send(c.hasContent && c.data || null), d = function (a, e) { var j, k, l, m, n; try { if (d && (e || h.readyState === 4)) { d = b, i && (h.onreadystatechange = f.noop, cf && delete ch[i]); if (e) h.readyState !== 4 && h.abort(); else { j = h.status, l = h.getAllResponseHeaders(), m = {}, n = h.responseXML, n && n.documentElement && (m.xml = n), m.text = h.responseText; try { k = h.statusText } catch (o) { k = "" } !j && c.isLocal && !c.crossDomain ? j = m.text ? 200 : 404 : j === 1223 && (j = 204) } } } catch (p) { e || g(-1, p) } m && g(j, k, m, l) }, !c.async || h.readyState === 4 ? d() : (i = ++cg, cf && (ch || (ch = {}, f(a).unload(cf)), ch[i] = d), h.onreadystatechange = d) }, abort: function () { d && d(0, 1) } } } }); var ck = {}, cl, cm, cn = /^(?:toggle|show|hide)$/, co = /^([+\-]=)?([\d+.\-]+)([a-z%]*)$/i, cp, cq = [["height", "marginTop", "marginBottom", "paddingTop", "paddingBottom"], ["width", "marginLeft", "marginRight", "paddingLeft", "paddingRight"], ["opacity"]], cr; f.fn.extend({ show: function (a, b, c) { var d, e; if (a || a === 0) return this.animate(cu("show", 3), a, b, c); for (var g = 0, h = this.length; g < h; g++) d = this[g], d.style && (e = d.style.display, !f._data(d, "olddisplay") && e === "none" && (e = d.style.display = ""), e === "" && f.css(d, "display") === "none" && f._data(d, "olddisplay", cv(d.nodeName))); for (g = 0; g < h; g++) { d = this[g]; if (d.style) { e = d.style.display; if (e === "" || e === "none") d.style.display = f._data(d, "olddisplay") || "" } } return this }, hide: function (a, b, c) { if (a || a === 0) return this.animate(cu("hide", 3), a, b, c); var d, e, g = 0, h = this.length; for (; g < h; g++) d = this[g], d.style && (e = f.css(d, "display"), e !== "none" && !f._data(d, "olddisplay") && f._data(d, "olddisplay", e)); for (g = 0; g < h; g++) this[g].style && (this[g].style.display = "none"); return this }, _toggle: f.fn.toggle, toggle: function (a, b, c) { var d = typeof a == "boolean"; f.isFunction(a) && f.isFunction(b) ? this._toggle.apply(this, arguments) : a == null || d ? this.each(function () { var b = d ? a : f(this).is(":hidden"); f(this)[b ? "show" : "hide"]() }) : this.animate(cu("toggle", 3), a, b, c); return this }, fadeTo: function (a, b, c, d) { return this.filter(":hidden").css("opacity", 0).show().end().animate({ opacity: b }, a, c, d) }, animate: function (a, b, c, d) { function g() { e.queue === !1 && f._mark(this); var b = f.extend({}, e), c = this.nodeType === 1, d = c && f(this).is(":hidden"), g, h, i, j, k, l, m, n, o; b.animatedProperties = {}; for (i in a) { g = f.camelCase(i), i !== g && (a[g] = a[i], delete a[i]), h = a[g], f.isArray(h) ? (b.animatedProperties[g] = h[1], h = a[g] = h[0]) : b.animatedProperties[g] = b.specialEasing && b.specialEasing[g] || b.easing || "swing"; if (h === "hide" && d || h === "show" && !d) return b.complete.call(this); c && (g === "height" || g === "width") && (b.overflow = [this.style.overflow, this.style.overflowX, this.style.overflowY], f.css(this, "display") === "inline" && f.css(this, "float") === "none" && (!f.support.inlineBlockNeedsLayout || cv(this.nodeName) === "inline" ? this.style.display = "inline-block" : this.style.zoom = 1)) } b.overflow != null && (this.style.overflow = "hidden"); for (i in a) j = new f.fx(this, b, i), h = a[i], cn.test(h) ? (o = f._data(this, "toggle" + i) || (h === "toggle" ? d ? "show" : "hide" : 0), o ? (f._data(this, "toggle" + i, o === "show" ? "hide" : "show"), j[o]()) : j[h]()) : (k = co.exec(h), l = j.cur(), k ? (m = parseFloat(k[2]), n = k[3] || (f.cssNumber[i] ? "" : "px"), n !== "px" && (f.style(this, i, (m || 1) + n), l = (m || 1) / j.cur() * l, f.style(this, i, l + n)), k[1] && (m = (k[1] === "-=" ? -1 : 1) * m + l), j.custom(l, m, n)) : j.custom(l, h, "")); return !0 } var e = f.speed(b, c, d); if (f.isEmptyObject(a)) return this.each(e.complete, [!1]); a = f.extend({}, a); return e.queue === !1 ? this.each(g) : this.queue(e.queue, g) }, stop: function (a, c, d) { typeof a != "string" && (d = c, c = a, a = b), c && a !== !1 && this.queue(a || "fx", []); return this.each(function () { function h(a, b, c) { var e = b[c]; f.removeData(a, c, !0), e.stop(d) } var b, c = !1, e = f.timers, g = f._data(this); d || f._unmark(!0, this); if (a == null) for (b in g) g[b] && g[b].stop && b.indexOf(".run") === b.length - 4 && h(this, g, b); else g[b = a + ".run"] && g[b].stop && h(this, g, b); for (b = e.length; b--; ) e[b].elem === this && (a == null || e[b].queue === a) && (d ? e[b](!0) : e[b].saveState(), c = !0, e.splice(b, 1)); (!d || !c) && f.dequeue(this, a) }) } }), f.each({ slideDown: cu("show", 1), slideUp: cu("hide", 1), slideToggle: cu("toggle", 1), fadeIn: { opacity: "show" }, fadeOut: { opacity: "hide" }, fadeToggle: { opacity: "toggle"} }, function (a, b) { f.fn[a] = function (a, c, d) { return this.animate(b, a, c, d) } }), f.extend({ speed: function (a, b, c) { var d = a && typeof a == "object" ? f.extend({}, a) : { complete: c || !c && b || f.isFunction(a) && a, duration: a, easing: c && b || b && !f.isFunction(b) && b }; d.duration = f.fx.off ? 0 : typeof d.duration == "number" ? d.duration : d.duration in f.fx.speeds ? f.fx.speeds[d.duration] : f.fx.speeds._default; if (d.queue == null || d.queue === !0) d.queue = "fx"; d.old = d.complete, d.complete = function (a) { f.isFunction(d.old) && d.old.call(this), d.queue ? f.dequeue(this, d.queue) : a !== !1 && f._unmark(this) }; return d }, easing: { linear: function (a, b, c, d) { return c + d * a }, swing: function (a, b, c, d) { return (-Math.cos(a * Math.PI) / 2 + .5) * d + c } }, timers: [], fx: function (a, b, c) { this.options = b, this.elem = a, this.prop = c, b.orig = b.orig || {} } }), f.fx.prototype = { update: function () { this.options.step && this.options.step.call(this.elem, this.now, this), (f.fx.step[this.prop] || f.fx.step._default)(this) }, cur: function () { if (this.elem[this.prop] != null && (!this.elem.style || this.elem.style[this.prop] == null)) return this.elem[this.prop]; var a, b = f.css(this.elem, this.prop); return isNaN(a = parseFloat(b)) ? !b || b === "auto" ? 0 : b : a }, custom: function (a, c, d) { function h(a) { return e.step(a) } var e = this, g = f.fx; this.startTime = cr || cs(), this.end = c, this.now = this.start = a, this.pos = this.state = 0, this.unit = d || this.unit || (f.cssNumber[this.prop] ? "" : "px"), h.queue = this.options.queue, h.elem = this.elem, h.saveState = function () { e.options.hide && f._data(e.elem, "fxshow" + e.prop) === b && f._data(e.elem, "fxshow" + e.prop, e.start) }, h() && f.timers.push(h) && !cp && (cp = setInterval(g.tick, g.interval)) }, show: function () { var a = f._data(this.elem, "fxshow" + this.prop); this.options.orig[this.prop] = a || f.style(this.elem, this.prop), this.options.show = !0, a !== b ? this.custom(this.cur(), a) : this.custom(this.prop === "width" || this.prop === "height" ? 1 : 0, this.cur()), f(this.elem).show() }, hide: function () { this.options.orig[this.prop] = f._data(this.elem, "fxshow" + this.prop) || f.style(this.elem, this.prop), this.options.hide = !0, this.custom(this.cur(), 0) }, step: function (a) { var b, c, d, e = cr || cs(), g = !0, h = this.elem, i = this.options; if (a || e >= i.duration + this.startTime) { this.now = this.end, this.pos = this.state = 1, this.update(), i.animatedProperties[this.prop] = !0; for (b in i.animatedProperties) i.animatedProperties[b] !== !0 && (g = !1); if (g) { i.overflow != null && !f.support.shrinkWrapBlocks && f.each(["", "X", "Y"], function (a, b) { h.style["overflow" + b] = i.overflow[a] }), i.hide && f(h).hide(); if (i.hide || i.show) for (b in i.animatedProperties) f.style(h, b, i.orig[b]), f.removeData(h, "fxshow" + b, !0), f.removeData(h, "toggle" + b, !0); d = i.complete, d && (i.complete = !1, d.call(h)) } return !1 } i.duration == Infinity ? this.now = e : (c = e - this.startTime, this.state = c / i.duration, this.pos = f.easing[i.animatedProperties[this.prop]](this.state, c, 0, 1, i.duration), this.now = this.start + (this.end - this.start) * this.pos), this.update(); return !0 } }, f.extend(f.fx, { tick: function () { var a, b = f.timers, c = 0; for (; c < b.length; c++) a = b[c], !a() && b[c] === a && b.splice(c--, 1); b.length || f.fx.stop() }, interval: 13, stop: function () { clearInterval(cp), cp = null }, speeds: { slow: 600, fast: 200, _default: 400 }, step: { opacity: function (a) { f.style(a.elem, "opacity", a.now) }, _default: function (a) { a.elem.style && a.elem.style[a.prop] != null ? a.elem.style[a.prop] = a.now + a.unit : a.elem[a.prop] = a.now } } }), f.each(["width", "height"], function (a, b) { f.fx.step[b] = function (a) { f.style(a.elem, b, Math.max(0, a.now) + a.unit) } }), f.expr && f.expr.filters && (f.expr.filters.animated = function (a) { return f.grep(f.timers, function (b) { return a === b.elem }).length }); var cw = /^t(?:able|d|h)$/i, cx = /^(?:body|html)$/i; "getBoundingClientRect" in c.documentElement ? f.fn.offset = function (a) { var b = this[0], c; if (a) return this.each(function (b) { f.offset.setOffset(this, a, b) }); if (!b || !b.ownerDocument) return null; if (b === b.ownerDocument.body) return f.offset.bodyOffset(b); try { c = b.getBoundingClientRect() } catch (d) { } var e = b.ownerDocument, g = e.documentElement; if (!c || !f.contains(g, b)) return c ? { top: c.top, left: c.left} : { top: 0, left: 0 }; var h = e.body, i = cy(e), j = g.clientTop || h.clientTop || 0, k = g.clientLeft || h.clientLeft || 0, l = i.pageYOffset || f.support.boxModel && g.scrollTop || h.scrollTop, m = i.pageXOffset || f.support.boxModel && g.scrollLeft || h.scrollLeft, n = c.top + l - j, o = c.left + m - k; return { top: n, left: o} } : f.fn.offset = function (a) { var b = this[0]; if (a) return this.each(function (b) { f.offset.setOffset(this, a, b) }); if (!b || !b.ownerDocument) return null; if (b === b.ownerDocument.body) return f.offset.bodyOffset(b); var c, d = b.offsetParent, e = b, g = b.ownerDocument, h = g.documentElement, i = g.body, j = g.defaultView, k = j ? j.getComputedStyle(b, null) : b.currentStyle, l = b.offsetTop, m = b.offsetLeft; while ((b = b.parentNode) && b !== i && b !== h) { if (f.support.fixedPosition && k.position === "fixed") break; c = j ? j.getComputedStyle(b, null) : b.currentStyle, l -= b.scrollTop, m -= b.scrollLeft, b === d && (l += b.offsetTop, m += b.offsetLeft, f.support.doesNotAddBorder && (!f.support.doesAddBorderForTableAndCells || !cw.test(b.nodeName)) && (l += parseFloat(c.borderTopWidth) || 0, m += parseFloat(c.borderLeftWidth) || 0), e = d, d = b.offsetParent), f.support.subtractsBorderForOverflowNotVisible && c.overflow !== "visible" && (l += parseFloat(c.borderTopWidth) || 0, m += parseFloat(c.borderLeftWidth) || 0), k = c } if (k.position === "relative" || k.position === "static") l += i.offsetTop, m += i.offsetLeft; f.support.fixedPosition && k.position === "fixed" && (l += Math.max(h.scrollTop, i.scrollTop), m += Math.max(h.scrollLeft, i.scrollLeft)); return { top: l, left: m} }, f.offset = { bodyOffset: function (a) { var b = a.offsetTop, c = a.offsetLeft; f.support.doesNotIncludeMarginInBodyOffset && (b += parseFloat(f.css(a, "marginTop")) || 0, c += parseFloat(f.css(a, "marginLeft")) || 0); return { top: b, left: c} }, setOffset: function (a, b, c) { var d = f.css(a, "position"); d === "static" && (a.style.position = "relative"); var e = f(a), g = e.offset(), h = f.css(a, "top"), i = f.css(a, "left"), j = (d === "absolute" || d === "fixed") && f.inArray("auto", [h, i]) > -1, k = {}, l = {}, m, n; j ? (l = e.position(), m = l.top, n = l.left) : (m = parseFloat(h) || 0, n = parseFloat(i) || 0), f.isFunction(b) && (b = b.call(a, c, g)), b.top != null && (k.top = b.top - g.top + m), b.left != null && (k.left = b.left - g.left + n), "using" in b ? b.using.call(a, k) : e.css(k) } }, f.fn.extend({ position: function () { if (!this[0]) return null; var a = this[0], b = this.offsetParent(), c = this.offset(), d = cx.test(b[0].nodeName) ? { top: 0, left: 0} : b.offset(); c.top -= parseFloat(f.css(a, "marginTop")) || 0, c.left -= parseFloat(f.css(a, "marginLeft")) || 0, d.top += parseFloat(f.css(b[0], "borderTopWidth")) || 0, d.left += parseFloat(f.css(b[0], "borderLeftWidth")) || 0; return { top: c.top - d.top, left: c.left - d.left} }, offsetParent: function () { return this.map(function () { var a = this.offsetParent || c.body; while (a && !cx.test(a.nodeName) && f.css(a, "position") === "static") a = a.offsetParent; return a }) } }), f.each(["Left", "Top"], function (a, c) { var d = "scroll" + c; f.fn[d] = function (c) { var e, g; if (c === b) { e = this[0]; if (!e) return null; g = cy(e); return g ? "pageXOffset" in g ? g[a ? "pageYOffset" : "pageXOffset"] : f.support.boxModel && g.document.documentElement[d] || g.document.body[d] : e[d] } return this.each(function () { g = cy(this), g ? g.scrollTo(a ? f(g).scrollLeft() : c, a ? c : f(g).scrollTop()) : this[d] = c }) } }), f.each(["Height", "Width"], function (a, c) { var d = c.toLowerCase(); f.fn["inner" + c] = function () { var a = this[0]; return a ? a.style ? parseFloat(f.css(a, d, "padding")) : this[d]() : null }, f.fn["outer" + c] = function (a) { var b = this[0]; return b ? b.style ? parseFloat(f.css(b, d, a ? "margin" : "border")) : this[d]() : null }, f.fn[d] = function (a) { var e = this[0]; if (!e) return a == null ? null : this; if (f.isFunction(a)) return this.each(function (b) { var c = f(this); c[d](a.call(this, b, c[d]())) }); if (f.isWindow(e)) { var g = e.document.documentElement["client" + c], h = e.document.body; return e.document.compatMode === "CSS1Compat" && g || h && h["client" + c] || g } if (e.nodeType === 9) return Math.max(e.documentElement["client" + c], e.body["scroll" + c], e.documentElement["scroll" + c], e.body["offset" + c], e.documentElement["offset" + c]); if (a === b) { var i = f.css(e, d), j = parseFloat(i); return f.isNumeric(j) ? j : i } return this.css(d, typeof a == "string" ? a : a + "px") } }), a.jQuery = a.$ = f, typeof define == "function" && define.amd && define.amd.jQuery && define("jquery", [], function () { return f })
|
|
3077
|
+
})(window);
|
|
3078
|
+
/*!
|
|
3079
|
+
* jQuery corner plugin: simple corner rounding
|
|
3080
|
+
* Examples and documentation at: http://jquery.malsup.com/corner/
|
|
3081
|
+
* version 2.12 (23-MAY-2011)
|
|
3082
|
+
* Requires jQuery v1.3.2 or later
|
|
3083
|
+
* Dual licensed under the MIT and GPL licenses:
|
|
3084
|
+
* http://www.opensource.org/licenses/mit-license.php
|
|
3085
|
+
* http://www.gnu.org/licenses/gpl.html
|
|
3086
|
+
* Authors: Dave Methvin and Mike Alsup
|
|
3087
|
+
*/
|
|
3088
|
+
|
|
3089
|
+
/**
|
|
3090
|
+
* corner() takes a single string argument: $('#myDiv').corner("effect corners width")
|
|
3091
|
+
*
|
|
3092
|
+
* effect: name of the effect to apply, such as round, bevel, notch, bite, etc (default is round).
|
|
3093
|
+
* corners: one or more of: top, bottom, tr, tl, br, or bl. (default is all corners)
|
|
3094
|
+
* width: width of the effect; in the case of rounded corners this is the radius.
|
|
3095
|
+
* specify this value using the px suffix such as 10px (yes, it must be pixels).
|
|
3096
|
+
*/
|
|
3097
|
+
;(function($) {
|
|
3098
|
+
|
|
3099
|
+
var style = document.createElement('div').style,
|
|
3100
|
+
moz = style['MozBorderRadius'] !== undefined,
|
|
3101
|
+
webkit = style['WebkitBorderRadius'] !== undefined,
|
|
3102
|
+
radius = style['borderRadius'] !== undefined || style['BorderRadius'] !== undefined,
|
|
3103
|
+
mode = document.documentMode || 0,
|
|
3104
|
+
noBottomFold = $.browser.msie && (($.browser.version < 8 && !mode) || mode < 8),
|
|
3105
|
+
|
|
3106
|
+
expr = $.browser.msie && (function() {
|
|
3107
|
+
var div = document.createElement('div');
|
|
3108
|
+
try { div.style.setExpression('width','0+0'); div.style.removeExpression('width'); }
|
|
3109
|
+
catch(e) { return false; }
|
|
3110
|
+
return true;
|
|
3111
|
+
})();
|
|
3112
|
+
|
|
3113
|
+
$.support = $.support || {};
|
|
3114
|
+
$.support.borderRadius = moz || webkit || radius; // so you can do: if (!$.support.borderRadius) $('#myDiv').corner();
|
|
3115
|
+
|
|
3116
|
+
function sz(el, p) {
|
|
3117
|
+
return parseInt($.css(el,p))||0;
|
|
3118
|
+
};
|
|
3119
|
+
function hex2(s) {
|
|
3120
|
+
s = parseInt(s).toString(16);
|
|
3121
|
+
return ( s.length < 2 ) ? '0'+s : s;
|
|
3122
|
+
};
|
|
3123
|
+
function gpc(node) {
|
|
3124
|
+
while(node) {
|
|
3125
|
+
var v = $.css(node,'backgroundColor'), rgb;
|
|
3126
|
+
if (v && v != 'transparent' && v != 'rgba(0, 0, 0, 0)') {
|
|
3127
|
+
if (v.indexOf('rgb') >= 0) {
|
|
3128
|
+
rgb = v.match(/\d+/g);
|
|
3129
|
+
return '#'+ hex2(rgb[0]) + hex2(rgb[1]) + hex2(rgb[2]);
|
|
3130
|
+
}
|
|
3131
|
+
return v;
|
|
3132
|
+
}
|
|
3133
|
+
if (node.nodeName.toLowerCase() == 'html')
|
|
3134
|
+
break;
|
|
3135
|
+
node = node.parentNode; // keep walking if transparent
|
|
3136
|
+
}
|
|
3137
|
+
return '#ffffff';
|
|
3138
|
+
};
|
|
3139
|
+
|
|
3140
|
+
function getWidth(fx, i, width) {
|
|
3141
|
+
switch(fx) {
|
|
3142
|
+
case 'round': return Math.round(width*(1-Math.cos(Math.asin(i/width))));
|
|
3143
|
+
case 'cool': return Math.round(width*(1+Math.cos(Math.asin(i/width))));
|
|
3144
|
+
case 'sharp': return width-i;
|
|
3145
|
+
case 'bite': return Math.round(width*(Math.cos(Math.asin((width-i-1)/width))));
|
|
3146
|
+
case 'slide': return Math.round(width*(Math.atan2(i,width/i)));
|
|
3147
|
+
case 'jut': return Math.round(width*(Math.atan2(width,(width-i-1))));
|
|
3148
|
+
case 'curl': return Math.round(width*(Math.atan(i)));
|
|
3149
|
+
case 'tear': return Math.round(width*(Math.cos(i)));
|
|
3150
|
+
case 'wicked': return Math.round(width*(Math.tan(i)));
|
|
3151
|
+
case 'long': return Math.round(width*(Math.sqrt(i)));
|
|
3152
|
+
case 'sculpt': return Math.round(width*(Math.log((width-i-1),width)));
|
|
3153
|
+
case 'dogfold':
|
|
3154
|
+
case 'dog': return (i&1) ? (i+1) : width;
|
|
3155
|
+
case 'dog2': return (i&2) ? (i+1) : width;
|
|
3156
|
+
case 'dog3': return (i&3) ? (i+1) : width;
|
|
3157
|
+
case 'fray': return (i%2)*width;
|
|
3158
|
+
case 'notch': return width;
|
|
3159
|
+
case 'bevelfold':
|
|
3160
|
+
case 'bevel': return i+1;
|
|
3161
|
+
case 'steep': return i/2 + 1;
|
|
3162
|
+
case 'invsteep':return (width-i)/2+1;
|
|
3163
|
+
}
|
|
3164
|
+
};
|
|
3165
|
+
|
|
3166
|
+
$.fn.corner = function(options) {
|
|
3167
|
+
// in 1.3+ we can fix mistakes with the ready state
|
|
3168
|
+
if (this.length == 0) {
|
|
3169
|
+
if (!$.isReady && this.selector) {
|
|
3170
|
+
var s = this.selector, c = this.context;
|
|
3171
|
+
$(function() {
|
|
3172
|
+
$(s,c).corner(options);
|
|
3173
|
+
});
|
|
3174
|
+
}
|
|
3175
|
+
return this;
|
|
3176
|
+
}
|
|
3177
|
+
|
|
3178
|
+
return this.each(function(index){
|
|
3179
|
+
var $this = $(this),
|
|
3180
|
+
// meta values override options
|
|
3181
|
+
o = [$this.attr($.fn.corner.defaults.metaAttr) || '', options || ''].join(' ').toLowerCase(),
|
|
3182
|
+
keep = /keep/.test(o), // keep borders?
|
|
3183
|
+
cc = ((o.match(/cc:(#[0-9a-f]+)/)||[])[1]), // corner color
|
|
3184
|
+
sc = ((o.match(/sc:(#[0-9a-f]+)/)||[])[1]), // strip color
|
|
3185
|
+
width = parseInt((o.match(/(\d+)px/)||[])[1]) || 10, // corner width
|
|
3186
|
+
re = /round|bevelfold|bevel|notch|bite|cool|sharp|slide|jut|curl|tear|fray|wicked|sculpt|long|dog3|dog2|dogfold|dog|invsteep|steep/,
|
|
3187
|
+
fx = ((o.match(re)||['round'])[0]),
|
|
3188
|
+
fold = /dogfold|bevelfold/.test(o),
|
|
3189
|
+
edges = { T:0, B:1 },
|
|
3190
|
+
opts = {
|
|
3191
|
+
TL: /top|tl|left/.test(o), TR: /top|tr|right/.test(o),
|
|
3192
|
+
BL: /bottom|bl|left/.test(o), BR: /bottom|br|right/.test(o)
|
|
3193
|
+
},
|
|
3194
|
+
// vars used in func later
|
|
3195
|
+
strip, pad, cssHeight, j, bot, d, ds, bw, i, w, e, c, common, $horz;
|
|
3196
|
+
|
|
3197
|
+
if ( !opts.TL && !opts.TR && !opts.BL && !opts.BR )
|
|
3198
|
+
opts = { TL:1, TR:1, BL:1, BR:1 };
|
|
3199
|
+
|
|
3200
|
+
// support native rounding
|
|
3201
|
+
if ($.fn.corner.defaults.useNative && fx == 'round' && (radius || moz || webkit) && !cc && !sc) {
|
|
3202
|
+
if (opts.TL)
|
|
3203
|
+
$this.css(radius ? 'border-top-left-radius' : moz ? '-moz-border-radius-topleft' : '-webkit-border-top-left-radius', width + 'px');
|
|
3204
|
+
if (opts.TR)
|
|
3205
|
+
$this.css(radius ? 'border-top-right-radius' : moz ? '-moz-border-radius-topright' : '-webkit-border-top-right-radius', width + 'px');
|
|
3206
|
+
if (opts.BL)
|
|
3207
|
+
$this.css(radius ? 'border-bottom-left-radius' : moz ? '-moz-border-radius-bottomleft' : '-webkit-border-bottom-left-radius', width + 'px');
|
|
3208
|
+
if (opts.BR)
|
|
3209
|
+
$this.css(radius ? 'border-bottom-right-radius' : moz ? '-moz-border-radius-bottomright' : '-webkit-border-bottom-right-radius', width + 'px');
|
|
3210
|
+
return;
|
|
3211
|
+
}
|
|
3212
|
+
|
|
3213
|
+
strip = document.createElement('div');
|
|
3214
|
+
$(strip).css({
|
|
3215
|
+
overflow: 'hidden',
|
|
3216
|
+
height: '1px',
|
|
3217
|
+
minHeight: '1px',
|
|
3218
|
+
fontSize: '1px',
|
|
3219
|
+
backgroundColor: sc || 'transparent',
|
|
3220
|
+
borderStyle: 'solid'
|
|
3221
|
+
});
|
|
3222
|
+
|
|
3223
|
+
pad = {
|
|
3224
|
+
T: parseInt($.css(this,'paddingTop'))||0, R: parseInt($.css(this,'paddingRight'))||0,
|
|
3225
|
+
B: parseInt($.css(this,'paddingBottom'))||0, L: parseInt($.css(this,'paddingLeft'))||0
|
|
3226
|
+
};
|
|
3227
|
+
|
|
3228
|
+
if (typeof this.style.zoom != undefined) this.style.zoom = 1; // force 'hasLayout' in IE
|
|
3229
|
+
if (!keep) this.style.border = 'none';
|
|
3230
|
+
strip.style.borderColor = cc || gpc(this.parentNode);
|
|
3231
|
+
cssHeight = $(this).outerHeight();
|
|
3232
|
+
|
|
3233
|
+
for (j in edges) {
|
|
3234
|
+
bot = edges[j];
|
|
3235
|
+
// only add stips if needed
|
|
3236
|
+
if ((bot && (opts.BL || opts.BR)) || (!bot && (opts.TL || opts.TR))) {
|
|
3237
|
+
strip.style.borderStyle = 'none '+(opts[j+'R']?'solid':'none')+' none '+(opts[j+'L']?'solid':'none');
|
|
3238
|
+
d = document.createElement('div');
|
|
3239
|
+
$(d).addClass('jquery-corner');
|
|
3240
|
+
ds = d.style;
|
|
3241
|
+
|
|
3242
|
+
try{
|
|
3243
|
+
bot ? this.appendChild(d) : this.insertBefore(d, this.firstChild);
|
|
3244
|
+
}
|
|
3245
|
+
catch(e)
|
|
3246
|
+
{
|
|
3247
|
+
break;
|
|
3248
|
+
}
|
|
3249
|
+
|
|
3250
|
+
if (bot && cssHeight != 'auto') {
|
|
3251
|
+
if ($.css(this,'position') == 'static')
|
|
3252
|
+
this.style.position = 'relative';
|
|
3253
|
+
ds.position = 'absolute';
|
|
3254
|
+
ds.bottom = ds.left = ds.padding = ds.margin = '0';
|
|
3255
|
+
if (expr)
|
|
3256
|
+
ds.setExpression('width', 'this.parentNode.offsetWidth');
|
|
3257
|
+
else
|
|
3258
|
+
ds.width = '100%';
|
|
3259
|
+
}
|
|
3260
|
+
else if (!bot && $.browser.msie) {
|
|
3261
|
+
if ($.css(this,'position') == 'static')
|
|
3262
|
+
this.style.position = 'relative';
|
|
3263
|
+
ds.position = 'absolute';
|
|
3264
|
+
ds.top = ds.left = ds.right = ds.padding = ds.margin = '0';
|
|
3265
|
+
|
|
3266
|
+
// fix ie6 problem when blocked element has a border width
|
|
3267
|
+
if (expr) {
|
|
3268
|
+
bw = sz(this,'borderLeftWidth') + sz(this,'borderRightWidth');
|
|
3269
|
+
ds.setExpression('width', 'this.parentNode.offsetWidth - '+bw+'+ "px"');
|
|
3270
|
+
}
|
|
3271
|
+
else
|
|
3272
|
+
ds.width = '100%';
|
|
3273
|
+
}
|
|
3274
|
+
else {
|
|
3275
|
+
ds.position = 'relative';
|
|
3276
|
+
ds.margin = !bot ? '-'+pad.T+'px -'+pad.R+'px '+(pad.T-width)+'px -'+pad.L+'px' :
|
|
3277
|
+
(pad.B-width)+'px -'+pad.R+'px -'+pad.B+'px -'+pad.L+'px';
|
|
3278
|
+
}
|
|
3279
|
+
|
|
3280
|
+
for (i=0; i < width; i++) {
|
|
3281
|
+
w = Math.max(0,getWidth(fx,i, width));
|
|
3282
|
+
e = strip.cloneNode(false);
|
|
3283
|
+
e.style.borderWidth = '0 '+(opts[j+'R']?w:0)+'px 0 '+(opts[j+'L']?w:0)+'px';
|
|
3284
|
+
bot ? d.appendChild(e) : d.insertBefore(e, d.firstChild);
|
|
3285
|
+
}
|
|
3286
|
+
|
|
3287
|
+
if (fold && $.support.boxModel) {
|
|
3288
|
+
if (bot && noBottomFold) continue;
|
|
3289
|
+
for (c in opts) {
|
|
3290
|
+
if (!opts[c]) continue;
|
|
3291
|
+
if (bot && (c == 'TL' || c == 'TR')) continue;
|
|
3292
|
+
if (!bot && (c == 'BL' || c == 'BR')) continue;
|
|
3293
|
+
|
|
3294
|
+
common = { position: 'absolute', border: 'none', margin: 0, padding: 0, overflow: 'hidden', backgroundColor: strip.style.borderColor };
|
|
3295
|
+
$horz = $('<div/>').css(common).css({ width: width + 'px', height: '1px' });
|
|
3296
|
+
switch(c) {
|
|
3297
|
+
case 'TL': $horz.css({ bottom: 0, left: 0 }); break;
|
|
3298
|
+
case 'TR': $horz.css({ bottom: 0, right: 0 }); break;
|
|
3299
|
+
case 'BL': $horz.css({ top: 0, left: 0 }); break;
|
|
3300
|
+
case 'BR': $horz.css({ top: 0, right: 0 }); break;
|
|
3301
|
+
}
|
|
3302
|
+
d.appendChild($horz[0]);
|
|
3303
|
+
|
|
3304
|
+
var $vert = $('<div/>').css(common).css({ top: 0, bottom: 0, width: '1px', height: width + 'px' });
|
|
3305
|
+
switch(c) {
|
|
3306
|
+
case 'TL': $vert.css({ left: width }); break;
|
|
3307
|
+
case 'TR': $vert.css({ right: width }); break;
|
|
3308
|
+
case 'BL': $vert.css({ left: width }); break;
|
|
3309
|
+
case 'BR': $vert.css({ right: width }); break;
|
|
3310
|
+
}
|
|
3311
|
+
d.appendChild($vert[0]);
|
|
3312
|
+
}
|
|
3313
|
+
}
|
|
3314
|
+
}
|
|
3315
|
+
}
|
|
3316
|
+
});
|
|
3317
|
+
};
|
|
3318
|
+
|
|
3319
|
+
$.fn.uncorner = function() {
|
|
3320
|
+
if (radius || moz || webkit)
|
|
3321
|
+
this.css(radius ? 'border-radius' : moz ? '-moz-border-radius' : '-webkit-border-radius', 0);
|
|
3322
|
+
$('div.jquery-corner', this).remove();
|
|
3323
|
+
return this;
|
|
3324
|
+
};
|
|
3325
|
+
|
|
3326
|
+
// expose options
|
|
3327
|
+
$.fn.corner.defaults = {
|
|
3328
|
+
useNative: true, // true if plugin should attempt to use native browser support for border radius rounding
|
|
3329
|
+
metaAttr: 'data-corner' // name of meta attribute to use for options
|
|
3330
|
+
};
|
|
3331
|
+
|
|
3332
|
+
})(jQuery);
|