
function init() {
    seo_fix();
}

function seo_fix() {
    sitetitle = document.getElementById("header_title");
    sitetitle.innerHTML = "<img id='header_title_img' src='/images/header_title.png' alt='Antique Boats and Classic Boats' />";
    var menudivs = new Array("buyboat","sellboat","serviceboat","newssignup");
    //var menudivs = new Array("buyboat","sellboat","serviceboat","newssignup");
    //for (i in menudivs) {
    //    md = document.getElementById(menudivs[i]);
    //    if (md) {
    //        mdimg = "<img src='/images/mainmenu_0" + (parseInt(i)+1) + ".jpg'>";
    //        md.innerHTML = mdimg;
    //   }
    //}
}

function changeBoatImage(imgURL, imgURL2) {
    img = document.getElementById("boatimage");
    img.src = imgURL;
}

function showBoatImage(imgURL,h,w) {
    height = parseInt(h) + 20;
    width = parseInt(w) + 20;
    window.open(imgURL, "", "height=" + height + ",width=" + width + ",status=yes,toolbar=no,menubar=no,location=no");
}

function closeFullBoat() {
    fb = document.getElementById("fullBoatImageDiv");
    fb.style.visibility = 'hidden';
}

// *********************************************************************************************************************
// *********************************************************************************************************************
// BEGIN INCLUDES/C_CONFIG.JS
// *********************************************************************************************************************
// *********************************************************************************************************************

// USE WORDWRAP AND MAXIMIZE THE WINDOW TO SEE THIS FILE
c_styles = {}; c_menus = {}; // do not remove this line

// You can remove most comments from this file to reduce the size if you like.




/******************************************************
(1) GLOBAL SETTINGS
*******************************************************/

c_hideTimeout = 250; // 1000==1 second
c_subShowTimeout = 300;
c_keepHighlighted = true;
c_findCURRENT = false; // find the item linking to the current page and apply it the CURRENT style class
c_findCURRENTTree = true;
c_overlapControlsInIE = false;
c_rightToLeft = false; // if the menu text should have "rtl" direction (e.g. Hebrew, Arabic)




/******************************************************
(2) MENU STYLES (CSS CLASSES)
*******************************************************/

// You can define different style classes here and then assign them globally to the menu tree(s)
// in section 3 below or set them to any UL element from your menu tree(s) in the page source


c_imagesPath = "/images/"; // path to the directory containing the menu images


c_styles['hMM'] = [ // MainMenu (the shorter the class name the better)
[
// MENU BOX STYLE
0, 	    // BorderWidth
'solid', // BorderStyle (CSS valid values except 'none')
'#8F90C4', // BorderColor ('color')
0, 	    // Padding
'transparent', // Background ('color','transparent','[image_source]')
'', 	    // IEfilter (only transition filters work well - not static filters)
''		    // Custom additional CSS for the menu box (valid CSS)
], [
// MENU ITEMS STYLE
0, 	    // BorderWidth
'solid', // BorderStyle (CSS valid values except 'none')
'solid', // OVER BorderStyle
'#FFF5C6', // BorderColor ('color')
'#4d4c76', // OVER BorderColor
0, 	    // Padding
'transparent', // Background ('color','transparent','[image_source]')
'transparent', // OVER Background
'#FFFFFF', // Color
'#FFFF80', // OVER Color
'10pt', 	// FontSize (values in CSS valid units - %,em,ex,px,pt)
'arial,verdana,helvetica,sans-serif', // FontFamily
'normal', 	// FontWeight (CSS valid values - 'bold','normal','bolder','lighter','100',...,'900')
'none', 	// TextDecoration (CSS valid values - 'none','underline','overline','line-through')
'none', 	// OVER TextDecoration
'left', 	// TextAlign ('left','center','right','justify')
1, 	// ItemsSeparatorSize
'solid', // ItemsSeparatorStyle (border-style valid values)
'#666666', // ItemsSeparatorColor ('color','transparent')
11, 	// ItemsSeparatorSpacing
true, 		// UseSubMenuImage (true,false)
'[h_arrow.gif]', // SubMenuImageSource ('[image_source]')
'[h_arrow_over.gif]', // OverSubMenuImageSource
7, 		// SubMenuImageWidth
4, 		// SubMenuImageHeight
'8', 		// SubMenuImageVAlign ('pixels from item top','middle')
'solid', 	// VISITED BorderStyle
'#FFF5C6', 	// VISITED BorderColor
'#transparent', 	// VISITED Background
'#FFF', 	// VISITED Color
'none', 		// VISITED TextDecoration
'[h_arrow.gif]', // VISITED SubMenuImageSource
'solid', 	// CURRENT BorderStyle
'#CBCBEF', 	// CURRENT BorderColor
'#transparent', 	// CURRENT Background
'#FFF', 	// CURRENT Color
'none', 		// CURRENT TextDecoration
'[h_arrow.gif]', // CURRENT SubMenuImageSource
'', 	// Custom additional CSS for the items (valid CSS)
'', 	// OVER Custom additional CSS for the items (valid CSS)
'', 	// CURRENT Custom additional CSS for the items (valid CSS)
''		// VISITED Custom additional CSS for the items (valid CSS)
]];


c_styles['hSM'] = [ // SubMenus
[
// MENU BOX STYLE
1, 	// BorderWidth
'solid', // BorderStyle (CSS valid values except 'none')
'#e7d4b7', // BorderColor ('color')
1, 	// Padding
'#e7d4b7', // Background ('color','transparent','[image_source]')
'', 	// IEfilter (only transition filters work well - not static filters)
''		// Custom additional CSS for the menu box (valid CSS)
], [
// MENU ITEMS STYLE
1, 	// BorderWidth
'solid', // BorderStyle (CSS valid values except 'none')
'solid', // OVER BorderStyle
'#e7d4b7', // BorderColor ('color')
'#e7d4b7', // OVER BorderColor
3, 	// Padding
'#e7d4b7', // Background ('color','transparent','[image_source]')
'[yellow_gradient.jpg]', // OVER Background
'#252455', // Color
'#000000', // OVER Color
'9pt', 	// FontSize (values in CSS valid units - %,em,ex,px,pt)
'verdana,arial,helvetica,sans-serif', // FontFamily
'normal', // FontWeight (CSS valid values - 'bold','normal','bolder','lighter','100',...,'900')
'none', 	// TextDecoration (CSS valid values - 'none','underline','overline','line-through')
'none', 	// OVER TextDecoration
'left', 	// TextAlign ('left','center','right','justify')
0, 	// ItemsSeparatorSize
'solid', // ItemsSeparatorStyle (border-style valid values)
'#CBCBEF', // ItemsSeparatorColor ('color','transparent')
2, 	// ItemsSeparatorSpacing
true, 		// UseSubMenuImage (true,false)
'[v_arrow.gif]', // SubMenuImageSource ('[image_source]')
'[v_arrow_over.gif]', // OverSubMenuImageSource
7, 		// SubMenuImageWidth
7, 		// SubMenuImageHeight
'7', 		// SubMenuImageVAlign ('pixels from item top','middle')
'solid', 	// VISITED BorderStyle
'#e7d4b7', 	// VISITED BorderColor
'#e7d4b7', 	// VISITED Background
'#252455', 	// VISITED Color
'none', 		// VISITED TextDecoration
'[v_arrow.gif]', // VISITED SubMenuImageSource
'solid', 	// CURRENT BorderStyle
'#CBCBEF', 	// CURRENT BorderColor
'#e7d4b7', 	// CURRENT Background
'#252455', 	// CURRENT Color
'none', 		// CURRENT TextDecoration
'[v_arrow.gif]', // CURRENT SubMenuImageSource
'', 	// Custom additional CSS for the items (valid CSS)
'', 	// OVER Custom additional CSS for the items (valid CSS)
'', 	// CURRENT Custom additional CSS for the items (valid CSS)
''		// VISITED Custom additional CSS for the items (valid CSS)
]];

c_styles['fMM'] = [ // MainMenu (the shorter the class name the better)
[
// MENU BOX STYLE
0, 	    // BorderWidth
'solid', // BorderStyle (CSS valid values except 'none')
'#8F90C4', // BorderColor ('color')
0, 	    // Padding
'transparent', // Background ('color','transparent','[image_source]')
'', 	    // IEfilter (only transition filters work well - not static filters)
''		    // Custom additional CSS for the menu box (valid CSS)
], [
// MENU ITEMS STYLE
0, 	    // BorderWidth
'solid', // BorderStyle (CSS valid values except 'none')
'solid', // OVER BorderStyle
'#FFF5C6', // BorderColor ('color')
'#4d4c76', // OVER BorderColor
0, 	    // Padding
'transparent', // Background ('color','transparent','[image_source]')
'transparent', // OVER Background
'#355a79', // Color
'#5d1310', // OVER Color
'8pt', 	// FontSize (values in CSS valid units - %,em,ex,px,pt)
'Verdana,Arial,Helvetica,Sans Serif', // FontFamily
'normal', 	// FontWeight (CSS valid values - 'bold','normal','bolder','lighter','100',...,'900')
'none', 	// TextDecoration (CSS valid values - 'none','underline','overline','line-through')
'none', 	// OVER TextDecoration
'left', 	// TextAlign ('left','center','right','justify')
1, 	// ItemsSeparatorSize
'solid', // ItemsSeparatorStyle (border-style valid values)
'#666666', // ItemsSeparatorColor ('color','transparent')
6, 	// ItemsSeparatorSpacing
true, 		// UseSubMenuImage (true,false)
'[h_arrow.gif]', // SubMenuImageSource ('[image_source]')
'[h_arrow_over.gif]', // OverSubMenuImageSource
7, 		// SubMenuImageWidth
4, 		// SubMenuImageHeight
'10', 		// SubMenuImageVAlign ('pixels from item top','middle')
'solid', 	// VISITED BorderStyle
'#FFF5C6', 	// VISITED BorderColor
'#transparent', 	// VISITED Background
'#355a79', 	// VISITED Color
'none', 		// VISITED TextDecoration
'[h_arrow.gif]', // VISITED SubMenuImageSource
'solid', 	// CURRENT BorderStyle
'#CBCBEF', 	// CURRENT BorderColor
'#transparent', 	// CURRENT Background
'#355a79', 	// CURRENT Color
'none', 		// CURRENT TextDecoration
'[h_arrow.gif]', // CURRENT SubMenuImageSource
'', 	// Custom additional CSS for the items (valid CSS)
'', 	// OVER Custom additional CSS for the items (valid CSS)
'', 	// CURRENT Custom additional CSS for the items (valid CSS)
''		// VISITED Custom additional CSS for the items (valid CSS)
]];


c_styles['fSM'] = [ // SubMenus
[
// MENU BOX STYLE
1, 	// BorderWidth
'solid', // BorderStyle (CSS valid values except 'none')
'#e7d4b7', // BorderColor ('color')
1, 	// Padding
'#e7d4b7', // Background ('color','transparent','[image_source]')
'', 	// IEfilter (only transition filters work well - not static filters)
''		// Custom additional CSS for the menu box (valid CSS)
], [
// MENU ITEMS STYLE
1, 	// BorderWidth
'solid', // BorderStyle (CSS valid values except 'none')
'solid', // OVER BorderStyle
'#e7d4b7', // BorderColor ('color')
'#e7d4b7', // OVER BorderColor
3, 	// Padding
'#e7d4b7', // Background ('color','transparent','[image_source]')
'[yellow_gradient.jpg]', // OVER Background
'#252455', // Color
'#000000', // OVER Color
'9pt', 	// FontSize (values in CSS valid units - %,em,ex,px,pt)
'verdana,arial,helvetica,sans-serif', // FontFamily
'normal', // FontWeight (CSS valid values - 'bold','normal','bolder','lighter','100',...,'900')
'none', 	// TextDecoration (CSS valid values - 'none','underline','overline','line-through')
'none', 	// OVER TextDecoration
'left', 	// TextAlign ('left','center','right','justify')
0, 	// ItemsSeparatorSize
'solid', // ItemsSeparatorStyle (border-style valid values)
'#CBCBEF', // ItemsSeparatorColor ('color','transparent')
2, 	// ItemsSeparatorSpacing
true, 		// UseSubMenuImage (true,false)
'[v_arrow.gif]', // SubMenuImageSource ('[image_source]')
'[v_arrow_over.gif]', // OverSubMenuImageSource
7, 		// SubMenuImageWidth
7, 		// SubMenuImageHeight
'7', 		// SubMenuImageVAlign ('pixels from item top','middle')
'solid', 	// VISITED BorderStyle
'#e7d4b7', 	// VISITED BorderColor
'#e7d4b7', 	// VISITED Background
'#252455', 	// VISITED Color
'none', 		// VISITED TextDecoration
'[v_arrow.gif]', // VISITED SubMenuImageSource
'solid', 	// CURRENT BorderStyle
'#CBCBEF', 	// CURRENT BorderColor
'#e7d4b7', 	// CURRENT Background
'#252455', 	// CURRENT Color
'none', 		// CURRENT TextDecoration
'[v_arrow.gif]', // CURRENT SubMenuImageSource
'', 	// Custom additional CSS for the items (valid CSS)
'', 	// OVER Custom additional CSS for the items (valid CSS)
'', 	// CURRENT Custom additional CSS for the items (valid CSS)
''		// VISITED Custom additional CSS for the items (valid CSS)
]];




/******************************************************
(3) MENU TREE FEATURES
*******************************************************/

// Normally you would probably have just one menu tree (i.e. one main menu with sub menus).
// But you are actually not limited to just one and you can have as many menu trees as you like.
// Just copy/paste a config block below and configure it for another UL element if you like.


c_menus['MenuHeader'] = [ // the UL element with id="Menu1"
[
// MAIN-MENU FEATURES
'horizontal', // ItemsArrangement ('vertical','horizontal')
'absolute', // Position ('relative','absolute','fixed')
'1.5em', 	// X Position (values in CSS valid units- px,em,ex)
'1.3em', 	// Y Position (values in CSS valid units- px,em,ex)
false, 	// RightToLeft display of the sub menus
false, 	// BottomToTop display of the sub menus
0, 	// X SubMenuOffset (pixels)
0, 	// Y SubMenuOffset
'10em', 	// Width (values in CSS valid units - px,em,ex) (matters for main menu with 'vertical' ItemsArrangement only)
'hMM', 	// CSS Class (one of the defined in section 2)
false		// Open sub-menus onclick (default is onmouseover)
], [
// SUB-MENUS FEATURES
5, 	// X SubMenuOffset (pixels)
1, 	// Y SubMenuOffset
'auto', 	// Width ('auto',values in CSS valid units - px,em,ex)
'100', 	// MinWidth ('pixels') (matters/useful if Width is set 'auto')
'300', 	// MaxWidth ('pixels') (matters/useful if Width is set 'auto')
'hSM', 	// CSS Class (one of the defined in section 2)
false		// Open sub-menus onclick (default is onmouseover)
]];

c_menus['MenuFooter'] = [ // the UL element with id="MenuFooter"
[
// MAIN-MENU FEATURES
'horizontal', // ItemsArrangement ('vertical','horizontal')
'relative', // Position ('relative','absolute','fixed')
'.7em', 	// X Position (values in CSS valid units- px,em,ex)
'.8em', 	// Y Position (values in CSS valid units- px,em,ex)
false, 	// RightToLeft display of the sub menus
false, 	// BottomToTop display of the sub menus
0, 	// X SubMenuOffset (pixels)
0, 	// Y SubMenuOffset
'10em', 	// Width (values in CSS valid units - px,em,ex) (matters for main menu with 'vertical' ItemsArrangement only)
'fMM', 	// CSS Class (one of the defined in section 2)
false		// Open sub-menus onclick (default is onmouseover)
], [
// SUB-MENUS FEATURES
5, 	// X SubMenuOffset (pixels)
1, 	// Y SubMenuOffset
'auto', 	// Width ('auto',values in CSS valid units - px,em,ex)
'100', 	// MinWidth ('pixels') (matters/useful if Width is set 'auto')
'300', 	// MaxWidth ('pixels') (matters/useful if Width is set 'auto')
'fSM', 	// CSS Class (one of the defined in section 2)
false		// Open sub-menus onclick (default is onmouseover)
]];

// *********************************************************************************************************************
// *********************************************************************************************************************
// BEGIN INCLUDES/C_SMARTMENUS.JS
// *********************************************************************************************************************
// *********************************************************************************************************************

/*
========================================
SmartMenus v6.0.2 Script Core
Commercial License No.: I27901487992393
========================================
Please note: THIS IS NOT FREE SOFTWARE.
Licensing information:
http://www.smartmenus.org/license/
========================================
(c)2008 ET VADIKOM-VASIL DINKOV
========================================
*/


// ===
c_d = document; c_u = "undefined"; c_n = navigator; c_w = window; c_a = c_n.userAgent.toLowerCase(); c_dl = c_d.getElementsByTagName && c_d.createElement ? 1 : 0; c_qM = c_d.compatMode != "CSS1Compat"; c_mC = /mac/.test(c_a); c_iE = c_dl && !c_w.innerWidth && /msie/.test(c_a); c_iEM = c_mC && c_iE; c_iEMo = c_iEM && /msie 5\.0/.test(c_a); c_iEMn = c_iEM && /msie 6/.test(c_a); c_iE7 = c_iE && typeof XMLHttpRequest != c_u && !c_qM; c_iEW = c_iE && !c_mC; c_iEWo = c_iEW && !c_iE7; c_iEW5 = c_iEWo && !c_d.createEventObject ? 1 : 0; c_iEW5x = c_iEWo && !c_d.compatMode ? 1 : 0; c_oPv = /opera/.test(c_a) ? parseFloat(c_a.replace(/.*opera[ \/]/, "")) : 0; c_oP = c_oPv >= 5; c_oP7 = c_oPv >= 7; c_oP7m = c_oP && !c_oP7; c_oPo2 = c_oP7 && c_oPv < 7.2; c_oP9 = c_oPv >= 9; c_kNv = /konqueror/.test(c_a) ? parseFloat(c_a.replace(/.*eror\//, "")) : 0; c_kN = c_kNv >= 3.2; c_kN4 = c_kNv >= 4; c_sFv = /webkit/.test(c_a) ? parseFloat(c_a.replace(/.*bkit\//, "")) : 0; c_sF = c_sFv > 0; c_sF3 = c_sFv >= 420; c_iC = /icab/.test(c_a); c_gC = c_n.product == "Gecko" && !c_sF && !c_kN; c_pS = c_n.productSub; c_gCo = c_gC && c_pS < 20031007; c_gC13 = c_gC && c_pS >= 20030312; c_nS = !c_iE && (!c_kN || c_kN4) && (!c_sF || c_sFv < 125 || c_sF3); c_oM = (c_iEWo || c_oP7 && !c_oP9 || c_iEMn) && c_qM || c_iEM && !c_iEMn && (!c_d.doctype || !/\.dtd/.test(c_d.doctype.name)); c_dE = c_d.documentElement || ""; c_dV = c_d.defaultView; c_x = /xml/i.test(c_d.contentType); c_r = typeof c_rightToLeft != c_u ? c_rightToLeft : 0; c_ = ["", ""]; c_h = c_s = c_T = c_M = 0; c_c = null; c_o = [""]; c_O = [""]; c_S = [""]; c_I = {}; c_F = c_overlapControlsInIE ? [c_iEW && !c_iEW5 ? 1 : 0, c_iEW5 ? 1 : 0] : [0, 0]; c_iA = [""]; function c_gO(i) { return c_d.getElementById(i) }; function c_gT(o, t) { return o.getElementsByTagName(t) }; function c_nN(o) { return o.nodeName.replace(/.*:/, "").toUpperCase() }; function c_cE(t, o) { var n = o.namespaceURI; return n ? c_d.createElementNS(n, t) : c_d.createElement(t) }; function c_gA(l) { var a = l.firstChild; while (a) { if (c_nN(a) == "A") return a; a = a.nextSibling } return c_gT(l, "a")[0] }; function c_gL(a) { a = a.parentNode; while (c_nN(a) != "LI") a = a.parentNode; return a }; function c_sC(o, c) { var n = o.className; o.className = n ? n.indexOf(c) < 0 ? n + " " + c : n : c }; function c_aE(o, e, f) { if (typeof o[e] != "function") { o[e] = f } else if (o[e] != f && o[e] != c_fE) { o["O" + e] = o[e]; o["N" + e] = f; o[e] = c_fE } }; function c_fE(e) { if (!e) e = event; var t = e.type; this["Oon" + t](e); this["Non" + t](e) }; function c_cT(p, c) { while (c) { if (c == p) return 1; c = c.parentNode } return 0 }; function c_cI(s, i) { var b = "background-image:", c = "background-color:"; if (!i) i = ";"; if (s.charAt(0) == "[") { s = c_imagesPath + s.substring(1, s.length - 1); if (!c_I[s]) { c_I[s] = new Image; c_I[s].src = s } return b + "url(" + s + ")" + i + c + "transparent" + i } return b + "none" + i + c + s + i }; function c_fC(r) { var l, a, as, d, n, h, H, i; d = /(index|default)\.[^#\?]*/i; n = /#.*/; h = location.href.replace(d, ""); as = c_gT(r, "a"); for (i = 0; i < as.length; i++) { a = as[i]; H = a.href.replace(d, ""); if (H != "javascript:;" && (H == h || H == h.replace(n, ""))) { c_sC(a, "CURRENT"); if (c_findCURRENTTree) { l = c_gL(a).parentNode.parentNode; while (c_nN(l) == "LI") { c_sC(c_gA(l), "CURRENT"); l = l.parentNode.parentNode } } } } }; function c_hS() { if (c_h) return; var i, s = c_gT(c_d, "select"); for (i = 0; i < s.length; i++) { s[i].VS = s[i].currentStyle.visibility; s[i].style.visibility = "hidden" } c_h = 1 }; function c_sS() { if (!c_h) return; var i, s = c_gT(c_d, "select"); for (i = 0; i < s.length; i++) s[i].style.visibility = s[i].VS; c_h = 0 }; function c_iF(u, w, h, x, y) { if (!u.IF) u.IF = c_iA.length; var i = u.IF; c_iA[i] = c_cE("<iframe src=javascript:0 tabindex=-9 style=position:absolute;z-index:9000;width:" + w + "px;height:" + h + "px;left:" + x + "px;top:" + y + "px;filter:alpha(opacity=0)>", ""); u.parentNode.insertBefore(c_iA[i], u) }; function c_hI(i) { var g = c_iA[i].removeNode(1) }; function c_pA(a, C, r, h, l) { var s, c, X = Y = -C[0]; s = a.firstChild; if (c_iEW && h || c_iEM) { X = l && h ? r ? c_iEWo && !c_iEW5 && !c_r ? -C[0] - C[5] * 2 - C[23] : 0 : C[16] > 0 && !/NOSEPA/.test(c_gL(a).className) ? C[18] == "transparent" ? C[16] + C[19] * 2 : C[19] : 0 : 0; Y = 0 } c = "top:" + (Y + parseInt(C[25] == "middle" ? (a.offsetHeight - C[24]) / 2 : C[25])) + "px;" + (r ? "left" : "right") + ":" + (X + C[0] + C[5]) + "px;"; c_iE ? s.style.cssText = c : s.setAttribute("style", c); s.style.display = "block"; if (c_iEM) Y = s.offsetWidth }; function c_fW(u) { var l, a, S, w = 0, W, C = c_styles[u.className][0], M = c_menus[u.MM][1], b = C[0] * 2 + C[3] * 2, n, x; n = parseInt(M[3]) || 0; x = parseInt(M[4]) || 0; l = u.firstChild; while (l) { if (c_nN(l) == "LI") { a = c_gA(l); S = a.style; if (u.AW == 1) { if (c_iEW5x) a.innerHTML = "<nobr>" + a.innerHTML + "</nobr>"; W = a.offsetWidth; if (w < W) w = W; if (c_iEW5x) a.innerHTML = a.firstChild.innerHTML } if (!c_iEW5x) { S.whiteSpace = "normal"; S.display = "block" } } l = l.nextSibling } if (u.AW == 1) { w += b; if (w < n) w = n; if (x && w > x) w = x; u.style.width = w - (!c_oM ? b : 0) + "px" } }; function c_fA(u) { var C = c_styles[u.className][1]; if (C[20]) { var l = u.firstChild; while (l) { if (l.SH) c_pA(c_gA(l), C, u.RL, u.HR); l = l.nextSibling } } u.FM = 1 }; function c_iL(u) { var l, a, f, c; f = u.LV == 1; c = c_menus[u.MM][f ? 0 : 1][f ? 10 : 6]; l = u.firstChild; while (l) { if (c_nN(l) == "LI") { a = c_gA(l); if (f && !u.PP) a.VU = 1; c_aE(a, "onfocus", c_oF); c_aE(a, "onblur", c_oB); c_aE(a, "onmousedown", c_oD); if (c) { a.OC = 1; c_aE(a, "onclick", c_oC) } c_aE(a, "onmouseover", c_oV); c_aE(a, "onmouseout", c_oU); if (a.className && /NOLINK/.test(a.className)) a.href = "javascript:;" } l = l.nextSibling } if (!f || !u.HR || !c_r) c_sC(c_gL(a), "NOSEPARATOR") }; function c_oD() { this.MD = 1 }; function c_oB() { if (!this.MD) c_mU(); this.MD = 0 }; function c_oF() { c_mV(); c_c = this; c_sM(1) }; function c_oC() { c_c = this; if (!c_gL(c_c).SH) return; c_sM(1); if (c_c.blur) c_c.blur(); return false }; function c_oV(e) { if (!e) e = event; if (this.VU) c_mV(); if (c_cT(this, e.relatedTarget || e.fromElement) && (!c_oP || e.offsetX != 0 || e.offsetY != 0)) return; if (c_s) { clearTimeout(c_s); c_s = 0 } c_c = this; c_s = setTimeout("c_sM()", c_subShowTimeout) }; function c_oU(e) { if (!e) e = event; if (this.VU) c_mU(); if (c_cT(this, e.relatedTarget || e.toElement)) return; if (this.blur) this.blur(); if (c_s) { clearTimeout(c_s); c_s = 0 } }; function c_mV() { clearTimeout(c_T) }; function c_mU() { clearTimeout(c_T); c_T = setTimeout("c_hD()", c_hideTimeout) }; function c_hM(o, f) { var S = o.style; S.display = "none"; S.visibility = "hidden"; if (f) o.parentNode.style.zIndex = 1; if (c_F[0] && o.IF) c_hI(o.IF) }; function c_hD() { var i, o; if (c_s) { clearTimeout(c_s); c_s = 0 } for (i = c_S.length - 1; i > 0; i--) { o = c_S[i]; if (i != 1 || o.PP) c_hM(o, (i != 1 && (c_iE || c_gCo))); o = c_O[i]; if (o && c_keepHighlighted) o.className = o.CN } c_S = [""]; c_O = [""]; c_c = null; if (c_F[1]) c_sS() }; function c_rL() { if (c_iEW && !c_iEW5) { var o = c_dB; while (o) { if (o.dir == "rtl" || o.currentStyle && o.currentStyle.direction == "rtl") return 1; o = o.parentNode } } return 0 }; function c_cA(o, f) { var c = { x: 0, y: 0 }; while (o && (!f || o != c_dB)) { c.x += o.offsetLeft; c.y += o.offsetTop; o = o.offsetParent } return c }; function c_gW() { var c, f, d, b, i, w = "clientWidth", h = "clientHeight", A, B, D; f = c_gC ? 15 : 0; d = c_dE[h]; b = c_dB[h]; i = c_w.innerHeight; A = { h: b, w: c_dB[w] }; B = { h: d, w: c_dE[w] }; D = c_qM ? c_dB : c_dE; c = !i ? c_qM ? A : B : d && b && (!c_kN || c_kN4) && (!c_sF || c_sF3) ? d > b ? d > i ? A : B : b > i ? B : A : b && c_gC ? A : { h: i - f, w: innerWidth - f }; c.x = c_w.pageXOffset || D.scrollLeft - (c_rL() ? D.scrollWidth - c.w : 0) || 0; c.y = c_w.pageYOffset || D.scrollTop || 0; return c }; function c_kW(x, y, w, h, c, r, f) { if (f) { c.x = 0; c.y = 0 } var k = { y: 0 }; if (r && x < c.x || !r && x + w > c.x + c.w) k.x = 1; if (h < c.h && y + h > c.y + c.h) k.y = c.y + c.h - h - y; else if (h >= c.h || y < c.y) k.y = c.y - y; return k }; function c_pM(u) { var x, y, sX, sY, aX, aY, w, h, M, S, p, l, a, f, C, W, H, c, k, b; S = u.style; w = u.offsetWidth; h = u.offsetHeight; M = c_menus[u.MM]; l = u.parentNode; p = l.parentNode; a = c_gA(l); f = u.LV == 2; C = c_cA(l, c_sF && !c_sF3 && M[0][1] != "relative"); W = a.offsetWidth; H = a.offsetHeight; c = c_gW(); sX = f ? M[0][6] : M[1][0]; sY = f ? M[0][7] : M[1][1]; if (f && u.HR) { x = u.RL ? W - w - sX : sX; y = u.BT ? -h - sY : H + sY } else { x = u.RL ? sX - w : W - sX; y = u.BT ? H - sY - h : sY } aX = C.x + x; aY = C.y + y; if (c_gC && c_pS >= 20010801 || c_iEW || c_oP && !c_oP9 || c_sF3 || c_kN4) while (p.LV && (p.LV > 1 || p.PP)) { b = c_styles[p.className][0][0]; aX += b; aY += b; if (c_gC13 && M[0][1] == "fixed") break; p = p.parentNode.parentNode } k = c_kW(aX, aY, w, h, c, u.RL, M[0][1] == "fixed" && !c_iEWo && !c_iEM && (!c_gCo || c_gC13)); if (k.x) x = f && u.HR ? u.RL ? c.x - aX + x : c.x + c.w - w - aX + x : u.RL ? W - sX : sX - w; y += k.y; S.right = "auto"; if (c_nS) { S.left = "auto"; S.top = "auto"; S.marginLeft = x + "px"; S.marginTop = y - H + "px" } else { S.left = x + "px"; S.top = y + "px"; if (c_F[0]) c_iF(u, w, h, x, y); if (c_F[1]) c_hS() } }; function c_sM(c) { var a, l, u, U, S, v, k, i, o; a = c_c; if (!a) return; l = c_gL(a); if (c_dV && c_dV.getComputedStyle && c_dV.getComputedStyle(a, "").getPropertyValue("display") == "inline" || l.currentStyle && l.currentStyle.listStyleType && l.currentStyle.listStyleType != "none") return; u = l.parentNode; v = u.LV; if (c_S.length > v + 1 && c_S[v + 1].style.display != "none") { k = c_o[v] != a ? v : v + 1; for (i = c_S.length - 1; i > k; ) c_hM(c_S[i--]) } if (v == 1) { o = c_S[1]; if (o && o != u && o.PP) c_hM(o) } if (c_keepHighlighted) for (i = v + 1; i >= v; i--) { o = c_O[i]; if (o && o.className.indexOf(c_gL(o).parentNode.className + "O") > -1 && (i > v || c_O[v] != a)) o.className = o.CN } c_o[v] = a; c_S[v] = u; if (a.OC && !c || !l.SH) return; U = c_gT(l, "ul")[0]; S = U.style; if (S.display == "block") return; if (c_keepHighlighted) { a.CN = a.className || ""; a.className = (a.CN ? a.CN + " " : "") + u.className + "O" } if (c_iE || c_gCo) { if (c_O[v]) c_gL(c_O[v]).style.zIndex = 1; l.style.zIndex = 10000 } c_O[v] = a; c_S[v + 1] = U; if (c_iEW5) c_nF(u); if (!U.FM) { S.display = "none"; S.visibility = "hidden"; S.overflow = "visible"; if (c_iEW) { if (!c_iEW5) c_fL(U); S.height = "auto" } } S.display = "block"; if (!U.FM && U.AW) c_fW(U); c_pM(U); if (!U.FM) c_fA(U); if (c_iEW5) c_nF(u, 1); if (c_oPo2 || c_oP && U.RL || c_kN4 || c_sF3) { S.display = "none"; i = U.offsetHeight; S.display = "block" } c_sH(U) }; function c_sH(u) { var f = (!c_iEW5 && typeof u.filters != "unknown" && (u.filters || "").length != 0 && typeof u.filters[0].apply != c_u); if (f) u.filters[0].apply(); u.style.visibility = "visible"; if (f) u.filters[0].play() }; function c_fL(u) { u = u.children; for (var i = 0; i < u.length; ) u[i++].style.styleFloat = "left" }; function c_nF(u, f) { u = c_gT(u, "li")[0]; if (f) { u.style.styleFloat = u.FT } else { u.FT = u.currentStyle.styleFloat; u.style.styleFloat = "none" } }; function c_iM(m, r) { var M, N, u, us, U, p, l, a, i, j, C, s, S = "display:block;border:0;width:0;" + (c_oP ? "max-" : "") + "height:0;", I, R; M = c_menus[m][0]; N = c_menus[m][1]; r.MM = m; r.PP = M[1] == "popup"; r.HR = M[0] == "horizontal" && !r.PP; r.RL = M[4] || c_r; r.BT = M[5]; if (c_iEM && c_r && r.HR) return; r.className = M[9]; r.LV = 1; us = c_gT(r, "ul"); U = []; for (i = 0; i < us.length; ) U[i] = us[i++]; for (i = 0; i < U.length; ) { u = U[i++]; u.MM = m; u.PP = r.PP; u.HR = r.HR; u.RL = r.RL; u.BT = r.BT; u.AW = N[2] == "auto" ? u.style.width ? 2 : 1 : 0; p = u.parentNode.parentNode; if (!u.className) u.className = p == r ? N[5] : p.className; u.LV = 2; while (p != r) { u.LV++; p = p.parentNode.parentNode } l = u.parentNode; l.SH = 1; p = l.parentNode; C = c_styles[p.className][1]; if (C[20]) { a = c_gA(l); a.style[r.RL ? "paddingLeft" : "paddingRight"] = (C[5] * 2 + C[23]) + "px"; R = c_imagesPath + C[21].substring(1, C[21].length - 1); if (c_iE) { s = '<span class="' + p.className + 'S">' + (c_iEM || c_iEWo ? '' : '<img src="' + R + '" alt="+" style="' + S + '" />') + '</span>'; if (c_iEM) { s += a.innerHTML; a.innerHTML = ""; a.innerHTML = s } else { a.insertAdjacentHTML('afterBegin', s) } } else { s = c_cE("span", a); s.className = p.className + "S"; I = c_cE("img", s); I.src = c_oP7 && c_oPv < 8 ? "" : R; I.setAttribute("alt", "+"); I.setAttribute("style", S); s.appendChild(I); a.insertBefore(s, a.firstChild) } if (u.LV == 2) c_pA(a, C, r.RL, r.HR, 1) } c_iL(u); u.onmouseover = c_mV; u.onmouseout = c_mU; if ((c_iEWo || c_iEMn) && r.HR) { C = c_styles[u.className][1]; s = "border-width:0 0 " + (C[18] == "transparent" ? 0 : C[16]) + "px 0;padding:0 0 " + (C[16] > 0 ? C[18] == "transparent" ? C[19] * 2 + C[16] : C[19] : 0) + "px 0;margin:0 0 " + (C[16] > 0 && C[18] != "transparent" ? C[19] : 0) + "px 0;"; for (j = 0; j < u.children.length - 1; ) u.children[j++].runtimeStyle.cssText = s } } c_iL(r); if (r.PP) { r.onmouseover = c_mV; r.onmouseout = c_mU } if (c_iEW) r.style.backgroundImage = "url(https://)"; if (c_findCURRENT) c_fC(r); r.IN = 2 }; function c_mN() { if (c_oP7m || c_kNv && !c_kN || c_iC || c_iEMo || c_M) return; if (typeof c_L != c_u) c_M = 1; var m, r, h, u, U, c, l; for (m in c_menus) { r = (c_iEM || c_gC && c_pS < 20040113 && c_x) && !c_M ? 0 : c_gO(m); if (!r) { c = 1 } else if (!r.IN) { if (c_iEW) { h = r.outerHTML || ""; u = (h.match(/<UL/ig) || "").length; U = (h.match(/<\/UL/ig) || "").length } if (u && u == U || r.nextSibling || c_M) { l = r.lastChild; while (c_nN(l) != "LI") l = l.previousSibling; if (c_gA(l).offsetHeight) { if (typeof c_dB == c_u) c_dB = c_gT(c_d, "body")[0]; r.IN = 1; c_iM(m, r) } else { c = 1 } } else { c = 1 } } } if (c) setTimeout("c_mN()", 100) }; function c_cS() { var A = [], c, C, m, M, N, p, f, r, h, t, i, a, P, x, y, Q = c_r ? "right" : "left", s, E = "/", F = "*", D = E + F + F + E, H, T, L, R; s = { b: "background-image:", d: "display:block;", f: "float:left;", g: "float:" + Q + ";", h: "* html>body ", i: " !important;", l: "float:none;", m: "margin:0", p: "padding:0", r: "margin-left:", s: "screen,projection", t: "transparent", w: "white-space:", x: "px 0 0;", y: ":visited", z: ">li{left:0;}", A: "position:absolute;", B: "background", C: " li a.CURRENT", D: "{position:fixed;}* html ul#", F: ":first-child", H: "height:1%;", I: "display:inline;", N: " li a.NOROLL", R: "position:relative;", S: "position:static;", T: "text-decoration:", W: "width:100%;", X: "border-color:", Y: "border-style:", Z: "border-width:" }; for (c in c_styles) A[A.length] = "." + c; c_[0] += A.join(",") + "," + A.join(" li,") + " li{" + s.d + "list-style:none;" + s.p + ";" + s.m + ";line-height:normal;direction:ltr;}" + A.join(" li,") + " li{" + s.R + s.B + ":none;}" + A.join(" a,") + " a{" + s.d + s.R + (c_r ? "direction:rtl;" : "") + "}" + s.h + A.join(" a," + s.h) + " a{" + s.S + "}* html " + A.join(" li,* html ") + " li{" + s.I + s.W + "display" + D + ":block;float" + D + ":left;}*" + s.F + "+html " + A.join(" li,*" + s.F + "+html ") + " li{" + s.W + s.f + "}" + s.h + A.join(" li," + s.h) + " li{" + s.d + "width:auto;}" + A.join(" ul,") + " ul{display:none;" + s.A + "top:-9999px;width:11px;overflow:hidden;z-index:11111;}ul" + D + A.join(" ul,ul" + D) + " ul{" + s.d + "}* html " + A.join(" ul,* html ") + " ul{" + s.d + "}.NOSEPARATOR{" + s.Z + "0" + s.i + s.p + s.i + s.m + s.i + "}.NOLINK{cursor:default" + s.i + "}"; for (m in c_menus) { M = c_menus[m][0]; N = c_menus[m][1]; C = c_styles[M[9]]; p = M[1] == "popup"; f = M[1] == "fixed"; r = M[1] == "relative"; h = M[0] == "horizontal"; a = N[2] == "auto"; P = M[5] && !p ? "bottom" : "top"; x = "#" + m; if (!p) C[3] = 1; c_[0] += x + "{" + (!p ? s.Z + "0;" + s.p + ";" + s.B + "-color:" + s.t + ";" + s.b + "none;" : "") + "z-index:" + (p ? 10900 : 9999) + ";position:" + (p ? "absolute" : h && r ? "static" : M[1]) + ";height:auto;}" + x + " ul{" + (M[4] && !h || c_r ? "right:0;" : "left:-800px;") + "}" + (f ? "ul" + x + "{" + s.A + "}ul" + D + x + s.D + m + "{" + s.A + "}ul" + D + x + " ul" + s.D + m + " ul{" + s.A + "}" : ""); if (!c_gC) c_[1] += "ul" + x + " ul{" + s.A + "}"; c_[c_r ? 0 : 1] += "* html " + x + " a{" + (!h || p ? s.H : c_r ? s.S : "") + "}*" + s.F + "+html " + x + " a{" + (!h || p ? "min-" + s.H : s.S) + "}" + (!h || p ? s.h + x + " a{height:auto;}" : ""); if (!h || p) { c_[0] += x + "{" + P + ":" + (p ? "-9999px" : M[3]) + ";" + (M[4] && !p ? "right" : Q) + ":" + (p ? "0" : M[2]) + ";width:" + M[8] + ";}"; if (r) c_[0] += s.h + x + ">li{" + s.r + (M[4] ? "" : "-") + M[2] + s.i + s.W + "}" + s.h + x + ">li" + s.F + "{" + s.r + "0" + s.i + "}" } else { c_[0] += x + "{" + P + ":0;" + Q + ":0;" + s.W + (r ? "padding-" + P + ":" + M[3] + ";" + s.g : "margin-" + P + ":" + M[3] + ";") + "}" + x + " li{" + s.g + "width:auto;left:" + (c_r ? "-" : "") + M[2] + ";}"; C = C[1]; if (C[16] > 0) { t = C[18] == s.t; y = "li{" + s.Z + "0 " + (t ? 0 : C[16]) + s.x + s.p + " " + (t ? C[19] * 2 + C[16] : C[19]) + s.x + s.m + " " + (t ? 0 : C[19]) + s.x + "}"; c_[0] += x + ">" + y + "@media " + s.s + "{* html " + x + " " + y + "}" } c_[0] += x + " a{" + s.w + " " + D + "nowrap;}head" + s.F + "+body " + x + s.z + "*>*>html:lang(en)," + x + s.z + x + ">li" + s.F + "{margin-" + Q + ":" + M[2] + s.i + "}" + x + ">li>a{" + E + F + E + F + E + E + F + E + s.f + E + F + " " + F + E + "}" + s.h + x + ">li>a{" + s.g + "}" + (r ? "* html " + x + "{" + s.l + "}" : "") + s.h + x + ">li{" + s.l + "}" + (c_r ? "" : "* html>bo\\64 y " + x + ">li{" + s.g + "}"); c_[1] += x + " ul li{left:0;" + (c_iEW ? s.W : "") + "}" } c_[0] += x + " ul li{" + s.l + "}"; c_[1] += x + " ul a{" + (c_iEW ? s.H : "") + (c_iEWo && h && !p && !c_r ? s.S : "") + (!c_iEWo && a ? c_iE7 ? "display:inline-block;" : s.I : "") + s.w + (a && !c_iEW5x ? "nowrap" : "normal") + ";}" + x + " ul{" + (c_iEW ? "overflow:scroll;height:11px;" : "") + (a ? "" : "width:" + N[2] + ";") + "}" + (c_nS ? x + " li{" + s.S + "}" : "") } for (c in c_styles) { m = c_styles[c][0]; i = c_styles[c][1]; x = "." + c; y = x + " li a"; c_[c_styles[c][3] ? 0 : 1] += x + "{" + s.Z + m[0] + "px;" + s.Y + m[1] + ";" + s.X + m[2] + ";padding:" + m[3] + "px;" + c_cI(m[4]) + (m[5] != "" ? "filter:" + m[5] + ";" : "") + (m[6] + (m[6] != "" && m[6].charAt(m[6].length - 1) != ";" ? ";" : "")) + "}" + x + " li{" + s.Y + i[17] + ";" + s.X + i[18] + ";" + s.Z + "0 0 " + (i[18] == s.t ? 0 : i[16]) + "px 0;" + s.p + " 0 " + (i[16] > 0 ? i[18] == s.t ? i[19] * 2 + i[16] : i[19] : 0) + "px 0;" + s.m + " 0 " + (i[16] > 0 && i[18] != s.t ? i[19] : 0) + "px 0;}" + x + s.C + "," + x + s.C + ":link," + x + s.C + s.y + "{" + s.Z + i[0] + "px;" + s.Y + i[32] + ";" + s.X + i[33] + ";" + c_cI(i[34]) + "color:" + i[35] + ";" + s.T + i[36] + ";" + (i[40] + (i[40] != "" && i[40].charAt(i[40].length - 1) != ";" ? ";" : "")) + "}" + y + "," + y + ":link{cursor:pointer;" + s.Z + i[0] + "px;" + s.Y + i[1] + ";" + s.X + i[3] + ";padding:" + i[5] + "px;" + c_cI(i[6]) + "color:" + i[8] + ";font-size:" + i[10] + ";font-family:" + i[11] + ";font-weight:" + i[12] + ";" + s.T + i[13] + ";text-align:" + i[15] + ";" + (i[38] + (i[38] != "" && i[38].charAt(i[38].length - 1) != ";" ? ";" : "")) + "}" + y + s.y + "{" + s.Z + i[0] + "px;" + s.Y + i[26] + ";" + s.X + i[27] + ";" + c_cI(i[28]) + "color:" + i[29] + ";" + s.T + i[30] + ";" + (i[41] + (i[41] != "" && i[41].charAt(i[41].length - 1) != ";" ? ";" : "")) + "}" + y + ":hover," + y + ":focus," + y + ":active," + y + x + "O," + y + x + "O:link," + y + x + "O" + s.y + "," + x + s.C + ":hover," + x + s.C + ":focus," + x + s.C + ":active{" + s.Z + i[0] + "px;" + s.Y + i[2] + ";" + s.X + i[4] + ";" + c_cI(i[7]) + "color:" + i[9] + ";" + s.T + i[14] + ";" + (i[39] + (i[39] != "" && i[39].charAt(i[39].length - 1) != ";" ? ";" : "")) + "}" + x + s.N + "{" + s.Y + i[1] + s.i + s.X + i[3] + s.i + c_cI(i[6], s.i) + "color:" + i[8] + s.i + s.T + i[13] + s.i + "}"; if (i[20]) c_[1] += x + s.C + " " + x + "S," + x + s.C + ":link " + x + "S," + x + s.C + s.y + " " + x + "S{" + c_cI(i[37]) + "}" + y + " " + x + "S," + y + ":link " + x + "S{" + s.d + s.A + c_cI(i[21]) + s.B + "-repeat:no-repeat;width:" + i[23] + "px;height:" + i[24] + "px;font-size:8px;display:none;}" + y + s.y + " " + x + "S{" + c_cI(i[31]) + "}" + y + ":hover " + x + "S," + y + ":focus " + x + "S," + y + ":active " + x + "S," + y + x + "O " + x + "S," + y + x + "O:link " + x + "S," + y + x + "O" + s.y + " " + x + "S," + x + s.C + ":hover " + x + "S," + x + s.C + ":focus " + x + "S," + x + s.C + ":active " + x + "S{" + c_cI(i[22]) + "}" + x + s.N + " " + x + "S{" + c_cI(i[21]) + "}" } R = c_[0] + (!c_oP7m && (!c_kNv || c_kN) && !c_iC && !c_iEMo ? c_[1] : ""); if (!c_oP7m) H = c_gT(c_d, "head")[0]; T = c_d.styleSheets; L = T ? T.length : 0; if (H && (T || c_oPv >= 7.5) && !c_iEM && (!c_gC || c_x) && (!c_kNv || c_kN) && (!c_sF || c_sFv >= 400)) { var S = c_cE("style", H); S.setAttribute("type", "text/css"); S.setAttribute("media", s.s); H.appendChild(S); if (T && T.length > L && T[L].insertRule) { T = T[L]; R = R.replace(/}([^}])/g, "}|$1").split("|"); for (i = 0; i < R.length; ) try { T.insertRule(R[i++], T.cssRules.length) } catch (e) { } } else { c_iE ? T[L].cssText = R : S.appendChild(c_d.createTextNode(R)) } } else { c_d.write('<style type="text/css" media="' + s.s + '">' + R + '</style>') } c_mN() }; if (c_dl || c_oP) { c_wL = c_w.onload || 0; c_w.onload = function() { c_L = 1; if (c_wL) c_wL() }; c_cS() }

// *********************************************************************************************************************
// *********************************************************************************************************************
// BEGIN INCLUDES/jquery-1.2.6.min.js
// *********************************************************************************************************************
// *********************************************************************************************************************

/*
* jQuery 1.2.6 - New Wave Javascript
*
* Copyright (c) 2008 John Resig (jquery.com)
* Dual licensed under the MIT (MIT-LICENSE.txt)
* and GPL (GPL-LICENSE.txt) licenses.
*
* $Date: 2008-05-24 14:22:17 -0400 (Sat, 24 May 2008) $
* $Rev: 5685 $
*/
(function() {
    var _jQuery = window.jQuery, _$ = window.$; var jQuery = window.jQuery = window.$ = function(selector, context) { return new jQuery.fn.init(selector, context); }; var quickExpr = /^[^<]*(<(.|\s)+>)[^>]*$|^#(\w+)$/, isSimple = /^.[^:#\[\.]*$/, undefined; jQuery.fn = jQuery.prototype = { init: function(selector, context) {
        selector = selector || document; if (selector.nodeType) { this[0] = selector; this.length = 1; return this; } if (typeof selector == "string") {
            var match = quickExpr.exec(selector); if (match && (match[1] || !context)) { if (match[1]) selector = jQuery.clean([match[1]], context); else { var elem = document.getElementById(match[3]); if (elem) { if (elem.id != match[3]) return jQuery().find(selector); return jQuery(elem); } selector = []; } } else
                return jQuery(context).find(selector);
        } else if (jQuery.isFunction(selector)) return jQuery(document)[jQuery.fn.ready ? "ready" : "load"](selector); return this.setArray(jQuery.makeArray(selector));
    }, jquery: "1.2.6", size: function() { return this.length; }, length: 0, get: function(num) { return num == undefined ? jQuery.makeArray(this) : this[num]; }, pushStack: function(elems) { var ret = jQuery(elems); ret.prevObject = this; return ret; }, setArray: function(elems) { this.length = 0; Array.prototype.push.apply(this, elems); return this; }, each: function(callback, args) { return jQuery.each(this, callback, args); }, index: function(elem) { var ret = -1; return jQuery.inArray(elem && elem.jquery ? elem[0] : elem, this); }, attr: function(name, value, type) { var options = name; if (name.constructor == String) if (value === undefined) return this[0] && jQuery[type || "attr"](this[0], name); else { options = {}; options[name] = value; } return this.each(function(i) { for (name in options) jQuery.attr(type ? this.style : this, name, jQuery.prop(this, options[name], type, i, name)); }); }, css: function(key, value) { if ((key == 'width' || key == 'height') && parseFloat(value) < 0) value = undefined; return this.attr(key, value, "curCSS"); }, text: function(text) { if (typeof text != "object" && text != null) return this.empty().append((this[0] && this[0].ownerDocument || document).createTextNode(text)); var ret = ""; jQuery.each(text || this, function() { jQuery.each(this.childNodes, function() { if (this.nodeType != 8) ret += this.nodeType != 1 ? this.nodeValue : jQuery.fn.text([this]); }); }); return ret; }, wrapAll: function(html) { if (this[0]) jQuery(html, this[0].ownerDocument).clone().insertBefore(this[0]).map(function() { var elem = this; while (elem.firstChild) elem = elem.firstChild; return elem; }).append(this); return this; }, wrapInner: function(html) { return this.each(function() { jQuery(this).contents().wrapAll(html); }); }, wrap: function(html) { return this.each(function() { jQuery(this).wrapAll(html); }); }, append: function() { return this.domManip(arguments, true, false, function(elem) { if (this.nodeType == 1) this.appendChild(elem); }); }, prepend: function() { return this.domManip(arguments, true, true, function(elem) { if (this.nodeType == 1) this.insertBefore(elem, this.firstChild); }); }, before: function() { return this.domManip(arguments, false, false, function(elem) { this.parentNode.insertBefore(elem, this); }); }, after: function() { return this.domManip(arguments, false, true, function(elem) { this.parentNode.insertBefore(elem, this.nextSibling); }); }, end: function() { return this.prevObject || jQuery([]); }, find: function(selector) { var elems = jQuery.map(this, function(elem) { return jQuery.find(selector, elem); }); return this.pushStack(/[^+>] [^+>]/.test(selector) || selector.indexOf("..") > -1 ? jQuery.unique(elems) : elems); }, clone: function(events) {
        var ret = this.map(function() {
            if (jQuery.browser.msie && !jQuery.isXMLDoc(this)) { var clone = this.cloneNode(true), container = document.createElement("div"); container.appendChild(clone); return jQuery.clean([container.innerHTML])[0]; } else
                return this.cloneNode(true);
        }); var clone = ret.find("*").andSelf().each(function() { if (this[expando] != undefined) this[expando] = null; }); if (events === true) this.find("*").andSelf().each(function(i) { if (this.nodeType == 3) return; var events = jQuery.data(this, "events"); for (var type in events) for (var handler in events[type]) jQuery.event.add(clone[i], type, events[type][handler], events[type][handler].data); }); return ret;
    }, filter: function(selector) { return this.pushStack(jQuery.isFunction(selector) && jQuery.grep(this, function(elem, i) { return selector.call(elem, i); }) || jQuery.multiFilter(selector, this)); }, not: function(selector) {
        if (selector.constructor == String) if (isSimple.test(selector)) return this.pushStack(jQuery.multiFilter(selector, this, true)); else
            selector = jQuery.multiFilter(selector, this); var isArrayLike = selector.length && selector[selector.length - 1] !== undefined && !selector.nodeType; return this.filter(function() { return isArrayLike ? jQuery.inArray(this, selector) < 0 : this != selector; });
    }, add: function(selector) { return this.pushStack(jQuery.unique(jQuery.merge(this.get(), typeof selector == 'string' ? jQuery(selector) : jQuery.makeArray(selector)))); }, is: function(selector) { return !!selector && jQuery.multiFilter(selector, this).length > 0; }, hasClass: function(selector) { return this.is("." + selector); }, val: function(value) {
        if (value == undefined) {
            if (this.length) {
                var elem = this[0]; if (jQuery.nodeName(elem, "select")) { var index = elem.selectedIndex, values = [], options = elem.options, one = elem.type == "select-one"; if (index < 0) return null; for (var i = one ? index : 0, max = one ? index + 1 : options.length; i < max; i++) { var option = options[i]; if (option.selected) { value = jQuery.browser.msie && !option.attributes.value.specified ? option.text : option.value; if (one) return value; values.push(value); } } return values; } else
                    return (this[0].value || "").replace(/\r/g, "");
            } return undefined;
        } if (value.constructor == Number) value += ''; return this.each(function() {
            if (this.nodeType != 1) return; if (value.constructor == Array && /radio|checkbox/.test(this.type)) this.checked = (jQuery.inArray(this.value, value) >= 0 || jQuery.inArray(this.name, value) >= 0); else if (jQuery.nodeName(this, "select")) { var values = jQuery.makeArray(value); jQuery("option", this).each(function() { this.selected = (jQuery.inArray(this.value, values) >= 0 || jQuery.inArray(this.text, values) >= 0); }); if (!values.length) this.selectedIndex = -1; } else
                this.value = value;
        });
    }, html: function(value) { return value == undefined ? (this[0] ? this[0].innerHTML : null) : this.empty().append(value); }, replaceWith: function(value) { return this.after(value).remove(); }, eq: function(i) { return this.slice(i, i + 1); }, slice: function() { return this.pushStack(Array.prototype.slice.apply(this, arguments)); }, map: function(callback) { return this.pushStack(jQuery.map(this, function(elem, i) { return callback.call(elem, i, elem); })); }, andSelf: function() { return this.add(this.prevObject); }, data: function(key, value) {
        var parts = key.split("."); parts[1] = parts[1] ? "." + parts[1] : ""; if (value === undefined) { var data = this.triggerHandler("getData" + parts[1] + "!", [parts[0]]); if (data === undefined && this.length) data = jQuery.data(this[0], key); return data === undefined && parts[1] ? this.data(parts[0]) : data; } else
            return this.trigger("setData" + parts[1] + "!", [parts[0], value]).each(function() { jQuery.data(this, key, value); });
    }, removeData: function(key) { return this.each(function() { jQuery.removeData(this, key); }); }, domManip: function(args, table, reverse, callback) { var clone = this.length > 1, elems; return this.each(function() { if (!elems) { elems = jQuery.clean(args, this.ownerDocument); if (reverse) elems.reverse(); } var obj = this; if (table && jQuery.nodeName(this, "table") && jQuery.nodeName(elems[0], "tr")) obj = this.getElementsByTagName("tbody")[0] || this.appendChild(this.ownerDocument.createElement("tbody")); var scripts = jQuery([]); jQuery.each(elems, function() { var elem = clone ? jQuery(this).clone(true)[0] : this; if (jQuery.nodeName(elem, "script")) scripts = scripts.add(elem); else { if (elem.nodeType == 1) scripts = scripts.add(jQuery("script", elem).remove()); callback.call(obj, elem); } }); scripts.each(evalScript); }); } 
    }; jQuery.fn.init.prototype = jQuery.fn; function evalScript(i, elem) {
        if (elem.src) jQuery.ajax({ url: elem.src, async: false, dataType: "script" }); else
            jQuery.globalEval(elem.text || elem.textContent || elem.innerHTML || ""); if (elem.parentNode) elem.parentNode.removeChild(elem);
    } function now() { return +new Date; } jQuery.extend = jQuery.fn.extend = function() { var target = arguments[0] || {}, i = 1, length = arguments.length, deep = false, options; if (target.constructor == Boolean) { deep = target; target = arguments[1] || {}; i = 2; } if (typeof target != "object" && typeof target != "function") target = {}; if (length == i) { target = this; --i; } for (; i < length; i++) if ((options = arguments[i]) != null) for (var name in options) { var src = target[name], copy = options[name]; if (target === copy) continue; if (deep && copy && typeof copy == "object" && !copy.nodeType) target[name] = jQuery.extend(deep, src || (copy.length != null ? [] : {}), copy); else if (copy !== undefined) target[name] = copy; } return target; }; var expando = "jQuery" + now(), uuid = 0, windowData = {}, exclude = /z-?index|font-?weight|opacity|zoom|line-?height/i, defaultView = document.defaultView || {}; jQuery.extend({ noConflict: function(deep) { window.$ = _$; if (deep) window.jQuery = _jQuery; return jQuery; }, isFunction: function(fn) { return !!fn && typeof fn != "string" && !fn.nodeName && fn.constructor != Array && /^[\s[]?function/.test(fn + ""); }, isXMLDoc: function(elem) { return elem.documentElement && !elem.body || elem.tagName && elem.ownerDocument && !elem.ownerDocument.body; }, globalEval: function(data) {
        data = jQuery.trim(data); if (data) {
            var head = document.getElementsByTagName("head")[0] || document.documentElement, script = document.createElement("script"); script.type = "text/javascript"; if (jQuery.browser.msie) script.text = data; else
                script.appendChild(document.createTextNode(data)); head.insertBefore(script, head.firstChild); head.removeChild(script);
        } 
    }, nodeName: function(elem, name) { return elem.nodeName && elem.nodeName.toUpperCase() == name.toUpperCase(); }, cache: {}, data: function(elem, name, data) { elem = elem == window ? windowData : elem; var id = elem[expando]; if (!id) id = elem[expando] = ++uuid; if (name && !jQuery.cache[id]) jQuery.cache[id] = {}; if (data !== undefined) jQuery.cache[id][name] = data; return name ? jQuery.cache[id][name] : id; }, removeData: function(elem, name) { elem = elem == window ? windowData : elem; var id = elem[expando]; if (name) { if (jQuery.cache[id]) { delete jQuery.cache[id][name]; name = ""; for (name in jQuery.cache[id]) break; if (!name) jQuery.removeData(elem); } } else { try { delete elem[expando]; } catch (e) { if (elem.removeAttribute) elem.removeAttribute(expando); } delete jQuery.cache[id]; } }, each: function(object, callback, args) {
        var name, i = 0, length = object.length; if (args) {
            if (length == undefined) { for (name in object) if (callback.apply(object[name], args) === false) break; } else
                for (; i < length; ) if (callback.apply(object[i++], args) === false) break;
        } else {
            if (length == undefined) { for (name in object) if (callback.call(object[name], name, object[name]) === false) break; } else
                for (var value = object[0]; i < length && callback.call(value, i, value) !== false; value = object[++i]) { } 
        } return object;
    }, prop: function(elem, value, type, i, name) { if (jQuery.isFunction(value)) value = value.call(elem, i); return value && value.constructor == Number && type == "curCSS" && !exclude.test(name) ? value + "px" : value; }, className: { add: function(elem, classNames) { jQuery.each((classNames || "").split(/\s+/), function(i, className) { if (elem.nodeType == 1 && !jQuery.className.has(elem.className, className)) elem.className += (elem.className ? " " : "") + className; }); }, remove: function(elem, classNames) { if (elem.nodeType == 1) elem.className = classNames != undefined ? jQuery.grep(elem.className.split(/\s+/), function(className) { return !jQuery.className.has(classNames, className); }).join(" ") : ""; }, has: function(elem, className) { return jQuery.inArray(className, (elem.className || elem).toString().split(/\s+/)) > -1; } }, swap: function(elem, options, callback) { var old = {}; for (var name in options) { old[name] = elem.style[name]; elem.style[name] = options[name]; } callback.call(elem); for (var name in options) elem.style[name] = old[name]; }, css: function(elem, name, force) {
        if (name == "width" || name == "height") {
            var val, props = { position: "absolute", visibility: "hidden", display: "block" }, which = name == "width" ? ["Left", "Right"] : ["Top", "Bottom"]; function getWH() { val = name == "width" ? elem.offsetWidth : elem.offsetHeight; var padding = 0, border = 0; jQuery.each(which, function() { padding += parseFloat(jQuery.curCSS(elem, "padding" + this, true)) || 0; border += parseFloat(jQuery.curCSS(elem, "border" + this + "Width", true)) || 0; }); val -= Math.round(padding + border); } if (jQuery(elem).is(":visible")) getWH(); else
                jQuery.swap(elem, props, getWH); return Math.max(0, val);
        } return jQuery.curCSS(elem, name, force);
    }, curCSS: function(elem, name, force) { var ret, style = elem.style; function color(elem) { if (!jQuery.browser.safari) return false; var ret = defaultView.getComputedStyle(elem, null); return !ret || ret.getPropertyValue("color") == ""; } if (name == "opacity" && jQuery.browser.msie) { ret = jQuery.attr(style, "opacity"); return ret == "" ? "1" : ret; } if (jQuery.browser.opera && name == "display") { var save = style.outline; style.outline = "0 solid black"; style.outline = save; } if (name.match(/float/i)) name = styleFloat; if (!force && style && style[name]) ret = style[name]; else if (defaultView.getComputedStyle) { if (name.match(/float/i)) name = "float"; name = name.replace(/([A-Z])/g, "-$1").toLowerCase(); var computedStyle = defaultView.getComputedStyle(elem, null); if (computedStyle && !color(elem)) ret = computedStyle.getPropertyValue(name); else { var swap = [], stack = [], a = elem, i = 0; for (; a && color(a); a = a.parentNode) stack.unshift(a); for (; i < stack.length; i++) if (color(stack[i])) { swap[i] = stack[i].style.display; stack[i].style.display = "block"; } ret = name == "display" && swap[stack.length - 1] != null ? "none" : (computedStyle && computedStyle.getPropertyValue(name)) || ""; for (i = 0; i < swap.length; i++) if (swap[i] != null) stack[i].style.display = swap[i]; } if (name == "opacity" && ret == "") ret = "1"; } else if (elem.currentStyle) { var camelCase = name.replace(/\-(\w)/g, function(all, letter) { return letter.toUpperCase(); }); ret = elem.currentStyle[name] || elem.currentStyle[camelCase]; if (!/^\d+(px)?$/i.test(ret) && /^\d/.test(ret)) { var left = style.left, rsLeft = elem.runtimeStyle.left; elem.runtimeStyle.left = elem.currentStyle.left; style.left = ret || 0; ret = style.pixelLeft + "px"; style.left = left; elem.runtimeStyle.left = rsLeft; } } return ret; }, clean: function(elems, context) {
        var ret = []; context = context || document; if (typeof context.createElement == 'undefined') context = context.ownerDocument || context[0] && context[0].ownerDocument || document; jQuery.each(elems, function(i, elem) {
            if (!elem) return; if (elem.constructor == Number) elem += ''; if (typeof elem == "string") { elem = elem.replace(/(<(\w+)[^>]*?)\/>/g, function(all, front, tag) { return tag.match(/^(abbr|br|col|img|input|link|meta|param|hr|area|embed)$/i) ? all : front + "></" + tag + ">"; }); var tags = jQuery.trim(elem).toLowerCase(), div = context.createElement("div"); var wrap = !tags.indexOf("<opt") && [1, "<select multiple='multiple'>", "</select>"] || !tags.indexOf("<leg") && [1, "<fieldset>", "</fieldset>"] || tags.match(/^<(thead|tbody|tfoot|colg|cap)/) && [1, "<table>", "</table>"] || !tags.indexOf("<tr") && [2, "<table><tbody>", "</tbody></table>"] || (!tags.indexOf("<td") || !tags.indexOf("<th")) && [3, "<table><tbody><tr>", "</tr></tbody></table>"] || !tags.indexOf("<col") && [2, "<table><tbody></tbody><colgroup>", "</colgroup></table>"] || jQuery.browser.msie && [1, "div<div>", "</div>"] || [0, "", ""]; div.innerHTML = wrap[1] + elem + wrap[2]; while (wrap[0]--) div = div.lastChild; if (jQuery.browser.msie) { var tbody = !tags.indexOf("<table") && tags.indexOf("<tbody") < 0 ? div.firstChild && div.firstChild.childNodes : wrap[1] == "<table>" && tags.indexOf("<tbody") < 0 ? div.childNodes : []; for (var j = tbody.length - 1; j >= 0; --j) if (jQuery.nodeName(tbody[j], "tbody") && !tbody[j].childNodes.length) tbody[j].parentNode.removeChild(tbody[j]); if (/^\s/.test(elem)) div.insertBefore(context.createTextNode(elem.match(/^\s*/)[0]), div.firstChild); } elem = jQuery.makeArray(div.childNodes); } if (elem.length === 0 && (!jQuery.nodeName(elem, "form") && !jQuery.nodeName(elem, "select"))) return; if (elem[0] == undefined || jQuery.nodeName(elem, "form") || elem.options) ret.push(elem); else
                ret = jQuery.merge(ret, elem);
        }); return ret;
    }, attr: function(elem, name, value) { if (!elem || elem.nodeType == 3 || elem.nodeType == 8) return undefined; var notxml = !jQuery.isXMLDoc(elem), set = value !== undefined, msie = jQuery.browser.msie; name = notxml && jQuery.props[name] || name; if (elem.tagName) { var special = /href|src|style/.test(name); if (name == "selected" && jQuery.browser.safari) elem.parentNode.selectedIndex; if (name in elem && notxml && !special) { if (set) { if (name == "type" && jQuery.nodeName(elem, "input") && elem.parentNode) throw "type property can't be changed"; elem[name] = value; } if (jQuery.nodeName(elem, "form") && elem.getAttributeNode(name)) return elem.getAttributeNode(name).nodeValue; return elem[name]; } if (msie && notxml && name == "style") return jQuery.attr(elem.style, "cssText", value); if (set) elem.setAttribute(name, "" + value); var attr = msie && notxml && special ? elem.getAttribute(name, 2) : elem.getAttribute(name); return attr === null ? undefined : attr; } if (msie && name == "opacity") { if (set) { elem.zoom = 1; elem.filter = (elem.filter || "").replace(/alpha\([^)]*\)/, "") + (parseInt(value) + '' == "NaN" ? "" : "alpha(opacity=" + value * 100 + ")"); } return elem.filter && elem.filter.indexOf("opacity=") >= 0 ? (parseFloat(elem.filter.match(/opacity=([^)]*)/)[1]) / 100) + '' : ""; } name = name.replace(/-([a-z])/ig, function(all, letter) { return letter.toUpperCase(); }); if (set) elem[name] = value; return elem[name]; }, trim: function(text) { return (text || "").replace(/^\s+|\s+$/g, ""); }, makeArray: function(array) {
        var ret = []; if (array != null) {
            var i = array.length; if (i == null || array.split || array.setInterval || array.call) ret[0] = array; else
                while (i) ret[--i] = array[i];
        } return ret;
    }, inArray: function(elem, array) { for (var i = 0, length = array.length; i < length; i++) if (array[i] === elem) return i; return -1; }, merge: function(first, second) {
        var i = 0, elem, pos = first.length; if (jQuery.browser.msie) { while (elem = second[i++]) if (elem.nodeType != 8) first[pos++] = elem; } else
            while (elem = second[i++]) first[pos++] = elem; return first;
    }, unique: function(array) { var ret = [], done = {}; try { for (var i = 0, length = array.length; i < length; i++) { var id = jQuery.data(array[i]); if (!done[id]) { done[id] = true; ret.push(array[i]); } } } catch (e) { ret = array; } return ret; }, grep: function(elems, callback, inv) { var ret = []; for (var i = 0, length = elems.length; i < length; i++) if (!inv != !callback(elems[i], i)) ret.push(elems[i]); return ret; }, map: function(elems, callback) { var ret = []; for (var i = 0, length = elems.length; i < length; i++) { var value = callback(elems[i], i); if (value != null) ret[ret.length] = value; } return ret.concat.apply([], ret); } 
    }); var userAgent = navigator.userAgent.toLowerCase(); jQuery.browser = { version: (userAgent.match(/.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/) || [])[1], safari: /webkit/.test(userAgent), opera: /opera/.test(userAgent), msie: /msie/.test(userAgent) && !/opera/.test(userAgent), mozilla: /mozilla/.test(userAgent) && !/(compatible|webkit)/.test(userAgent) }; var styleFloat = jQuery.browser.msie ? "styleFloat" : "cssFloat"; jQuery.extend({ boxModel: !jQuery.browser.msie || document.compatMode == "CSS1Compat", props: { "for": "htmlFor", "class": "className", "float": styleFloat, cssFloat: styleFloat, styleFloat: styleFloat, readonly: "readOnly", maxlength: "maxLength", cellspacing: "cellSpacing"} }); jQuery.each({ parent: function(elem) { return elem.parentNode; }, parents: function(elem) { return jQuery.dir(elem, "parentNode"); }, next: function(elem) { return jQuery.nth(elem, 2, "nextSibling"); }, prev: function(elem) { return jQuery.nth(elem, 2, "previousSibling"); }, nextAll: function(elem) { return jQuery.dir(elem, "nextSibling"); }, prevAll: function(elem) { return jQuery.dir(elem, "previousSibling"); }, siblings: function(elem) { return jQuery.sibling(elem.parentNode.firstChild, elem); }, children: function(elem) { return jQuery.sibling(elem.firstChild); }, contents: function(elem) { return jQuery.nodeName(elem, "iframe") ? elem.contentDocument || elem.contentWindow.document : jQuery.makeArray(elem.childNodes); } }, function(name, fn) { jQuery.fn[name] = function(selector) { var ret = jQuery.map(this, fn); if (selector && typeof selector == "string") ret = jQuery.multiFilter(selector, ret); return this.pushStack(jQuery.unique(ret)); }; }); jQuery.each({ appendTo: "append", prependTo: "prepend", insertBefore: "before", insertAfter: "after", replaceAll: "replaceWith" }, function(name, original) { jQuery.fn[name] = function() { var args = arguments; return this.each(function() { for (var i = 0, length = args.length; i < length; i++) jQuery(args[i])[original](this); }); }; }); jQuery.each({ removeAttr: function(name) { jQuery.attr(this, name, ""); if (this.nodeType == 1) this.removeAttribute(name); }, addClass: function(classNames) { jQuery.className.add(this, classNames); }, removeClass: function(classNames) { jQuery.className.remove(this, classNames); }, toggleClass: function(classNames) { jQuery.className[jQuery.className.has(this, classNames) ? "remove" : "add"](this, classNames); }, remove: function(selector) { if (!selector || jQuery.filter(selector, [this]).r.length) { jQuery("*", this).add(this).each(function() { jQuery.event.remove(this); jQuery.removeData(this); }); if (this.parentNode) this.parentNode.removeChild(this); } }, empty: function() { jQuery(">*", this).remove(); while (this.firstChild) this.removeChild(this.firstChild); } }, function(name, fn) { jQuery.fn[name] = function() { return this.each(fn, arguments); }; }); jQuery.each(["Height", "Width"], function(i, name) { var type = name.toLowerCase(); jQuery.fn[type] = function(size) { return this[0] == window ? jQuery.browser.opera && document.body["client" + name] || jQuery.browser.safari && window["inner" + name] || document.compatMode == "CSS1Compat" && document.documentElement["client" + name] || document.body["client" + name] : this[0] == document ? Math.max(Math.max(document.body["scroll" + name], document.documentElement["scroll" + name]), Math.max(document.body["offset" + name], document.documentElement["offset" + name])) : size == undefined ? (this.length ? jQuery.css(this[0], type) : null) : this.css(type, size.constructor == String ? size : size + "px"); }; }); function num(elem, prop) { return elem[0] && parseInt(jQuery.curCSS(elem[0], prop, true), 10) || 0; } var chars = jQuery.browser.safari && parseInt(jQuery.browser.version) < 417 ? "(?:[\\w*_-]|\\\\.)" : "(?:[\\w\u0128-\uFFFF*_-]|\\\\.)", quickChild = new RegExp("^>\\s*(" + chars + "+)"), quickID = new RegExp("^(" + chars + "+)(#)(" + chars + "+)"), quickClass = new RegExp("^([#.]?)(" + chars + "*)"); jQuery.extend({ expr: { "": function(a, i, m) { return m[2] == "*" || jQuery.nodeName(a, m[2]); }, "#": function(a, i, m) { return a.getAttribute("id") == m[2]; }, ":": { lt: function(a, i, m) { return i < m[3] - 0; }, gt: function(a, i, m) { return i > m[3] - 0; }, nth: function(a, i, m) { return m[3] - 0 == i; }, eq: function(a, i, m) { return m[3] - 0 == i; }, first: function(a, i) { return i == 0; }, last: function(a, i, m, r) { return i == r.length - 1; }, even: function(a, i) { return i % 2 == 0; }, odd: function(a, i) { return i % 2; }, "first-child": function(a) { return a.parentNode.getElementsByTagName("*")[0] == a; }, "last-child": function(a) { return jQuery.nth(a.parentNode.lastChild, 1, "previousSibling") == a; }, "only-child": function(a) { return !jQuery.nth(a.parentNode.lastChild, 2, "previousSibling"); }, parent: function(a) { return a.firstChild; }, empty: function(a) { return !a.firstChild; }, contains: function(a, i, m) { return (a.textContent || a.innerText || jQuery(a).text() || "").indexOf(m[3]) >= 0; }, visible: function(a) { return "hidden" != a.type && jQuery.css(a, "display") != "none" && jQuery.css(a, "visibility") != "hidden"; }, hidden: function(a) { return "hidden" == a.type || jQuery.css(a, "display") == "none" || jQuery.css(a, "visibility") == "hidden"; }, enabled: function(a) { return !a.disabled; }, disabled: function(a) { return a.disabled; }, checked: function(a) { return a.checked; }, selected: function(a) { return a.selected || jQuery.attr(a, "selected"); }, text: function(a) { return "text" == a.type; }, radio: function(a) { return "radio" == a.type; }, checkbox: function(a) { return "checkbox" == a.type; }, file: function(a) { return "file" == a.type; }, password: function(a) { return "password" == a.type; }, submit: function(a) { return "submit" == a.type; }, image: function(a) { return "image" == a.type; }, reset: function(a) { return "reset" == a.type; }, button: function(a) { return "button" == a.type || jQuery.nodeName(a, "button"); }, input: function(a) { return /input|select|textarea|button/i.test(a.nodeName); }, has: function(a, i, m) { return jQuery.find(m[3], a).length; }, header: function(a) { return /h\d/i.test(a.nodeName); }, animated: function(a) { return jQuery.grep(jQuery.timers, function(fn) { return a == fn.elem; }).length; } } }, parse: [/^(\[) *@?([\w-]+) *([!*$^~=]*) *('?"?)(.*?)\4 *\]/, /^(:)([\w-]+)\("?'?(.*?(\(.*?\))?[^(]*?)"?'?\)/, new RegExp("^([:.#]*)(" + chars + "+)")], multiFilter: function(expr, elems, not) { var old, cur = []; while (expr && expr != old) { old = expr; var f = jQuery.filter(expr, elems, not); expr = f.t.replace(/^\s*,\s*/, ""); cur = not ? elems = f.r : jQuery.merge(cur, f.r); } return cur; }, find: function(t, context) { if (typeof t != "string") return [t]; if (context && context.nodeType != 1 && context.nodeType != 9) return []; context = context || document; var ret = [context], done = [], last, nodeName; while (t && last != t) { var r = []; last = t; t = jQuery.trim(t); var foundToken = false, re = quickChild, m = re.exec(t); if (m) { nodeName = m[1].toUpperCase(); for (var i = 0; ret[i]; i++) for (var c = ret[i].firstChild; c; c = c.nextSibling) if (c.nodeType == 1 && (nodeName == "*" || c.nodeName.toUpperCase() == nodeName)) r.push(c); ret = r; t = t.replace(re, ""); if (t.indexOf(" ") == 0) continue; foundToken = true; } else { re = /^([>+~])\s*(\w*)/i; if ((m = re.exec(t)) != null) { r = []; var merge = {}; nodeName = m[2].toUpperCase(); m = m[1]; for (var j = 0, rl = ret.length; j < rl; j++) { var n = m == "~" || m == "+" ? ret[j].nextSibling : ret[j].firstChild; for (; n; n = n.nextSibling) if (n.nodeType == 1) { var id = jQuery.data(n); if (m == "~" && merge[id]) break; if (!nodeName || n.nodeName.toUpperCase() == nodeName) { if (m == "~") merge[id] = true; r.push(n); } if (m == "+") break; } } ret = r; t = jQuery.trim(t.replace(re, "")); foundToken = true; } } if (t && !foundToken) { if (!t.indexOf(",")) { if (context == ret[0]) ret.shift(); done = jQuery.merge(done, ret); r = ret = [context]; t = " " + t.substr(1, t.length); } else { var re2 = quickID; var m = re2.exec(t); if (m) { m = [0, m[2], m[3], m[1]]; } else { re2 = quickClass; m = re2.exec(t); } m[2] = m[2].replace(/\\/g, ""); var elem = ret[ret.length - 1]; if (m[1] == "#" && elem && elem.getElementById && !jQuery.isXMLDoc(elem)) { var oid = elem.getElementById(m[2]); if ((jQuery.browser.msie || jQuery.browser.opera) && oid && typeof oid.id == "string" && oid.id != m[2]) oid = jQuery('[@id="' + m[2] + '"]', elem)[0]; ret = r = oid && (!m[3] || jQuery.nodeName(oid, m[3])) ? [oid] : []; } else { for (var i = 0; ret[i]; i++) { var tag = m[1] == "#" && m[3] ? m[3] : m[1] != "" || m[0] == "" ? "*" : m[2]; if (tag == "*" && ret[i].nodeName.toLowerCase() == "object") tag = "param"; r = jQuery.merge(r, ret[i].getElementsByTagName(tag)); } if (m[1] == ".") r = jQuery.classFilter(r, m[2]); if (m[1] == "#") { var tmp = []; for (var i = 0; r[i]; i++) if (r[i].getAttribute("id") == m[2]) { tmp = [r[i]]; break; } r = tmp; } ret = r; } t = t.replace(re2, ""); } } if (t) { var val = jQuery.filter(t, r); ret = r = val.r; t = jQuery.trim(val.t); } } if (t) ret = []; if (ret && context == ret[0]) ret.shift(); done = jQuery.merge(done, ret); return done; }, classFilter: function(r, m, not) { m = " " + m + " "; var tmp = []; for (var i = 0; r[i]; i++) { var pass = (" " + r[i].className + " ").indexOf(m) >= 0; if (!not && pass || not && !pass) tmp.push(r[i]); } return tmp; }, filter: function(t, r, not) { var last; while (t && t != last) { last = t; var p = jQuery.parse, m; for (var i = 0; p[i]; i++) { m = p[i].exec(t); if (m) { t = t.substring(m[0].length); m[2] = m[2].replace(/\\/g, ""); break; } } if (!m) break; if (m[1] == ":" && m[2] == "not") r = isSimple.test(m[3]) ? jQuery.filter(m[3], r, true).r : jQuery(r).not(m[3]); else if (m[1] == ".") r = jQuery.classFilter(r, m[2], not); else if (m[1] == "[") { var tmp = [], type = m[3]; for (var i = 0, rl = r.length; i < rl; i++) { var a = r[i], z = a[jQuery.props[m[2]] || m[2]]; if (z == null || /href|src|selected/.test(m[2])) z = jQuery.attr(a, m[2]) || ''; if ((type == "" && !!z || type == "=" && z == m[5] || type == "!=" && z != m[5] || type == "^=" && z && !z.indexOf(m[5]) || type == "$=" && z.substr(z.length - m[5].length) == m[5] || (type == "*=" || type == "~=") && z.indexOf(m[5]) >= 0) ^ not) tmp.push(a); } r = tmp; } else if (m[1] == ":" && m[2] == "nth-child") { var merge = {}, tmp = [], test = /(-?)(\d*)n((?:\+|-)?\d*)/.exec(m[3] == "even" && "2n" || m[3] == "odd" && "2n+1" || !/\D/.test(m[3]) && "0n+" + m[3] || m[3]), first = (test[1] + (test[2] || 1)) - 0, last = test[3] - 0; for (var i = 0, rl = r.length; i < rl; i++) { var node = r[i], parentNode = node.parentNode, id = jQuery.data(parentNode); if (!merge[id]) { var c = 1; for (var n = parentNode.firstChild; n; n = n.nextSibling) if (n.nodeType == 1) n.nodeIndex = c++; merge[id] = true; } var add = false; if (first == 0) { if (node.nodeIndex == last) add = true; } else if ((node.nodeIndex - last) % first == 0 && (node.nodeIndex - last) / first >= 0) add = true; if (add ^ not) tmp.push(node); } r = tmp; } else { var fn = jQuery.expr[m[1]]; if (typeof fn == "object") fn = fn[m[2]]; if (typeof fn == "string") fn = eval("false||function(a,i){return " + fn + ";}"); r = jQuery.grep(r, function(elem, i) { return fn(elem, i, m, r); }, not); } } return { r: r, t: t }; }, dir: function(elem, dir) { var matched = [], cur = elem[dir]; while (cur && cur != document) { if (cur.nodeType == 1) matched.push(cur); cur = cur[dir]; } return matched; }, nth: function(cur, result, dir, elem) { result = result || 1; var num = 0; for (; cur; cur = cur[dir]) if (cur.nodeType == 1 && ++num == result) break; return cur; }, sibling: function(n, elem) { var r = []; for (; n; n = n.nextSibling) { if (n.nodeType == 1 && n != elem) r.push(n); } return r; } }); jQuery.event = { add: function(elem, types, handler, data) { if (elem.nodeType == 3 || elem.nodeType == 8) return; if (jQuery.browser.msie && elem.setInterval) elem = window; if (!handler.guid) handler.guid = this.guid++; if (data != undefined) { var fn = handler; handler = this.proxy(fn, function() { return fn.apply(this, arguments); }); handler.data = data; } var events = jQuery.data(elem, "events") || jQuery.data(elem, "events", {}), handle = jQuery.data(elem, "handle") || jQuery.data(elem, "handle", function() { if (typeof jQuery != "undefined" && !jQuery.event.triggered) return jQuery.event.handle.apply(arguments.callee.elem, arguments); }); handle.elem = elem; jQuery.each(types.split(/\s+/), function(index, type) { var parts = type.split("."); type = parts[0]; handler.type = parts[1]; var handlers = events[type]; if (!handlers) { handlers = events[type] = {}; if (!jQuery.event.special[type] || jQuery.event.special[type].setup.call(elem) === false) { if (elem.addEventListener) elem.addEventListener(type, handle, false); else if (elem.attachEvent) elem.attachEvent("on" + type, handle); } } handlers[handler.guid] = handler; jQuery.event.global[type] = true; }); elem = null; }, guid: 1, global: {}, remove: function(elem, types, handler) {
        if (elem.nodeType == 3 || elem.nodeType == 8) return; var events = jQuery.data(elem, "events"), ret, index; if (events) {
            if (types == undefined || (typeof types == "string" && types.charAt(0) == ".")) for (var type in events) this.remove(elem, type + (types || "")); else {
                if (types.type) { handler = types.handler; types = types.type; } jQuery.each(types.split(/\s+/), function(index, type) {
                    var parts = type.split("."); type = parts[0]; if (events[type]) {
                        if (handler) delete events[type][handler.guid]; else
                            for (handler in events[type]) if (!parts[1] || events[type][handler].type == parts[1]) delete events[type][handler]; for (ret in events[type]) break; if (!ret) { if (!jQuery.event.special[type] || jQuery.event.special[type].teardown.call(elem) === false) { if (elem.removeEventListener) elem.removeEventListener(type, jQuery.data(elem, "handle"), false); else if (elem.detachEvent) elem.detachEvent("on" + type, jQuery.data(elem, "handle")); } ret = null; delete events[type]; } 
                    } 
                });
            } for (ret in events) break; if (!ret) { var handle = jQuery.data(elem, "handle"); if (handle) handle.elem = null; jQuery.removeData(elem, "events"); jQuery.removeData(elem, "handle"); } 
        } 
    }, trigger: function(type, data, elem, donative, extra) { data = jQuery.makeArray(data); if (type.indexOf("!") >= 0) { type = type.slice(0, -1); var exclusive = true; } if (!elem) { if (this.global[type]) jQuery("*").add([window, document]).trigger(type, data); } else { if (elem.nodeType == 3 || elem.nodeType == 8) return undefined; var val, ret, fn = jQuery.isFunction(elem[type] || null), event = !data[0] || !data[0].preventDefault; if (event) { data.unshift({ type: type, target: elem, preventDefault: function() { }, stopPropagation: function() { }, timeStamp: now() }); data[0][expando] = true; } data[0].type = type; if (exclusive) data[0].exclusive = true; var handle = jQuery.data(elem, "handle"); if (handle) val = handle.apply(elem, data); if ((!fn || (jQuery.nodeName(elem, 'a') && type == "click")) && elem["on" + type] && elem["on" + type].apply(elem, data) === false) val = false; if (event) data.shift(); if (extra && jQuery.isFunction(extra)) { ret = extra.apply(elem, val == null ? data : data.concat(val)); if (ret !== undefined) val = ret; } if (fn && donative !== false && val !== false && !(jQuery.nodeName(elem, 'a') && type == "click")) { this.triggered = true; try { elem[type](); } catch (e) { } } this.triggered = false; } return val; }, handle: function(event) { var val, ret, namespace, all, handlers; event = arguments[0] = jQuery.event.fix(event || window.event); namespace = event.type.split("."); event.type = namespace[0]; namespace = namespace[1]; all = !namespace && !event.exclusive; handlers = (jQuery.data(this, "events") || {})[event.type]; for (var j in handlers) { var handler = handlers[j]; if (all || handler.type == namespace) { event.handler = handler; event.data = handler.data; ret = handler.apply(this, arguments); if (val !== false) val = ret; if (ret === false) { event.preventDefault(); event.stopPropagation(); } } } return val; }, fix: function(event) { if (event[expando] == true) return event; var originalEvent = event; event = { originalEvent: originalEvent }; var props = "altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode metaKey newValue originalTarget pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target timeStamp toElement type view wheelDelta which".split(" "); for (var i = props.length; i; i--) event[props[i]] = originalEvent[props[i]]; event[expando] = true; event.preventDefault = function() { if (originalEvent.preventDefault) originalEvent.preventDefault(); originalEvent.returnValue = false; }; event.stopPropagation = function() { if (originalEvent.stopPropagation) originalEvent.stopPropagation(); originalEvent.cancelBubble = true; }; event.timeStamp = event.timeStamp || now(); if (!event.target) event.target = event.srcElement || document; if (event.target.nodeType == 3) event.target = event.target.parentNode; if (!event.relatedTarget && event.fromElement) event.relatedTarget = event.fromElement == event.target ? event.toElement : event.fromElement; if (event.pageX == null && event.clientX != null) { var doc = document.documentElement, body = document.body; event.pageX = event.clientX + (doc && doc.scrollLeft || body && body.scrollLeft || 0) - (doc.clientLeft || 0); event.pageY = event.clientY + (doc && doc.scrollTop || body && body.scrollTop || 0) - (doc.clientTop || 0); } if (!event.which && ((event.charCode || event.charCode === 0) ? event.charCode : event.keyCode)) event.which = event.charCode || event.keyCode; if (!event.metaKey && event.ctrlKey) event.metaKey = event.ctrlKey; if (!event.which && event.button) event.which = (event.button & 1 ? 1 : (event.button & 2 ? 3 : (event.button & 4 ? 2 : 0))); return event; }, proxy: function(fn, proxy) { proxy.guid = fn.guid = fn.guid || proxy.guid || this.guid++; return proxy; }, special: { ready: { setup: function() { bindReady(); return; }, teardown: function() { return; } }, mouseenter: { setup: function() { if (jQuery.browser.msie) return false; jQuery(this).bind("mouseover", jQuery.event.special.mouseenter.handler); return true; }, teardown: function() { if (jQuery.browser.msie) return false; jQuery(this).unbind("mouseover", jQuery.event.special.mouseenter.handler); return true; }, handler: function(event) { if (withinElement(event, this)) return true; event.type = "mouseenter"; return jQuery.event.handle.apply(this, arguments); } }, mouseleave: { setup: function() { if (jQuery.browser.msie) return false; jQuery(this).bind("mouseout", jQuery.event.special.mouseleave.handler); return true; }, teardown: function() { if (jQuery.browser.msie) return false; jQuery(this).unbind("mouseout", jQuery.event.special.mouseleave.handler); return true; }, handler: function(event) { if (withinElement(event, this)) return true; event.type = "mouseleave"; return jQuery.event.handle.apply(this, arguments); } }}
    }; jQuery.fn.extend({ bind: function(type, data, fn) { return type == "unload" ? this.one(type, data, fn) : this.each(function() { jQuery.event.add(this, type, fn || data, fn && data); }); }, one: function(type, data, fn) { var one = jQuery.event.proxy(fn || data, function(event) { jQuery(this).unbind(event, one); return (fn || data).apply(this, arguments); }); return this.each(function() { jQuery.event.add(this, type, one, fn && data); }); }, unbind: function(type, fn) { return this.each(function() { jQuery.event.remove(this, type, fn); }); }, trigger: function(type, data, fn) { return this.each(function() { jQuery.event.trigger(type, data, this, true, fn); }); }, triggerHandler: function(type, data, fn) { return this[0] && jQuery.event.trigger(type, data, this[0], false, fn); }, toggle: function(fn) { var args = arguments, i = 1; while (i < args.length) jQuery.event.proxy(fn, args[i++]); return this.click(jQuery.event.proxy(fn, function(event) { this.lastToggle = (this.lastToggle || 0) % i; event.preventDefault(); return args[this.lastToggle++].apply(this, arguments) || false; })); }, hover: function(fnOver, fnOut) { return this.bind('mouseenter', fnOver).bind('mouseleave', fnOut); }, ready: function(fn) {
        bindReady(); if (jQuery.isReady) fn.call(document, jQuery); else
            jQuery.readyList.push(function() { return fn.call(this, jQuery); }); return this;
    } 
    }); jQuery.extend({ isReady: false, readyList: [], ready: function() { if (!jQuery.isReady) { jQuery.isReady = true; if (jQuery.readyList) { jQuery.each(jQuery.readyList, function() { this.call(document); }); jQuery.readyList = null; } jQuery(document).triggerHandler("ready"); } } }); var readyBound = false; function bindReady() { if (readyBound) return; readyBound = true; if (document.addEventListener && !jQuery.browser.opera) document.addEventListener("DOMContentLoaded", jQuery.ready, false); if (jQuery.browser.msie && window == top) (function() { if (jQuery.isReady) return; try { document.documentElement.doScroll("left"); } catch (error) { setTimeout(arguments.callee, 0); return; } jQuery.ready(); })(); if (jQuery.browser.opera) document.addEventListener("DOMContentLoaded", function() { if (jQuery.isReady) return; for (var i = 0; i < document.styleSheets.length; i++) if (document.styleSheets[i].disabled) { setTimeout(arguments.callee, 0); return; } jQuery.ready(); }, false); if (jQuery.browser.safari) { var numStyles; (function() { if (jQuery.isReady) return; if (document.readyState != "loaded" && document.readyState != "complete") { setTimeout(arguments.callee, 0); return; } if (numStyles === undefined) numStyles = jQuery("style, link[rel=stylesheet]").length; if (document.styleSheets.length != numStyles) { setTimeout(arguments.callee, 0); return; } jQuery.ready(); })(); } jQuery.event.add(window, "load", jQuery.ready); } jQuery.each(("blur,focus,load,resize,scroll,unload,click,dblclick," + "mousedown,mouseup,mousemove,mouseover,mouseout,change,select," + "submit,keydown,keypress,keyup,error").split(","), function(i, name) { jQuery.fn[name] = function(fn) { return fn ? this.bind(name, fn) : this.trigger(name); }; }); var withinElement = function(event, elem) { var parent = event.relatedTarget; while (parent && parent != elem) try { parent = parent.parentNode; } catch (error) { parent = elem; } return parent == elem; }; jQuery(window).bind("unload", function() { jQuery("*").add(document).unbind(); }); jQuery.fn.extend({ _load: jQuery.fn.load, load: function(url, params, callback) { if (typeof url != 'string') return this._load(url); var off = url.indexOf(" "); if (off >= 0) { var selector = url.slice(off, url.length); url = url.slice(0, off); } callback = callback || function() { }; var type = "GET"; if (params) if (jQuery.isFunction(params)) { callback = params; params = null; } else { params = jQuery.param(params); type = "POST"; } var self = this; jQuery.ajax({ url: url, type: type, dataType: "html", data: params, complete: function(res, status) { if (status == "success" || status == "notmodified") self.html(selector ? jQuery("<div/>").append(res.responseText.replace(/<script(.|\s)*?\/script>/g, "")).find(selector) : res.responseText); self.each(callback, [res.responseText, status, res]); } }); return this; }, serialize: function() { return jQuery.param(this.serializeArray()); }, serializeArray: function() { return this.map(function() { return jQuery.nodeName(this, "form") ? jQuery.makeArray(this.elements) : this; }).filter(function() { return this.name && !this.disabled && (this.checked || /select|textarea/i.test(this.nodeName) || /text|hidden|password/i.test(this.type)); }).map(function(i, elem) { var val = jQuery(this).val(); return val == null ? null : val.constructor == Array ? jQuery.map(val, function(val, i) { return { name: elem.name, value: val }; }) : { name: elem.name, value: val }; }).get(); } }); jQuery.each("ajaxStart,ajaxStop,ajaxComplete,ajaxError,ajaxSuccess,ajaxSend".split(","), function(i, o) { jQuery.fn[o] = function(f) { return this.bind(o, f); }; }); var jsc = now(); jQuery.extend({ get: function(url, data, callback, type) { if (jQuery.isFunction(data)) { callback = data; data = null; } return jQuery.ajax({ type: "GET", url: url, data: data, success: callback, dataType: type }); }, getScript: function(url, callback) { return jQuery.get(url, null, callback, "script"); }, getJSON: function(url, data, callback) { return jQuery.get(url, data, callback, "json"); }, post: function(url, data, callback, type) { if (jQuery.isFunction(data)) { callback = data; data = {}; } return jQuery.ajax({ type: "POST", url: url, data: data, success: callback, dataType: type }); }, ajaxSetup: function(settings) { jQuery.extend(jQuery.ajaxSettings, settings); }, ajaxSettings: { url: location.href, global: true, type: "GET", timeout: 0, contentType: "application/x-www-form-urlencoded", processData: true, async: true, data: null, username: null, password: null, accepts: { xml: "application/xml, text/xml", html: "text/html", script: "text/javascript, application/javascript", json: "application/json, text/javascript", text: "text/plain", _default: "*/*"} }, lastModified: {}, ajax: function(s) {
        s = jQuery.extend(true, s, jQuery.extend(true, {}, jQuery.ajaxSettings, s)); var jsonp, jsre = /=\?(&|$)/g, status, data, type = s.type.toUpperCase(); if (s.data && s.processData && typeof s.data != "string") s.data = jQuery.param(s.data); if (s.dataType == "jsonp") { if (type == "GET") { if (!s.url.match(jsre)) s.url += (s.url.match(/\?/) ? "&" : "?") + (s.jsonp || "callback") + "=?"; } else if (!s.data || !s.data.match(jsre)) s.data = (s.data ? s.data + "&" : "") + (s.jsonp || "callback") + "=?"; s.dataType = "json"; } if (s.dataType == "json" && (s.data && s.data.match(jsre) || s.url.match(jsre))) { jsonp = "jsonp" + jsc++; if (s.data) s.data = (s.data + "").replace(jsre, "=" + jsonp + "$1"); s.url = s.url.replace(jsre, "=" + jsonp + "$1"); s.dataType = "script"; window[jsonp] = function(tmp) { data = tmp; success(); complete(); window[jsonp] = undefined; try { delete window[jsonp]; } catch (e) { } if (head) head.removeChild(script); }; } if (s.dataType == "script" && s.cache == null) s.cache = false; if (s.cache === false && type == "GET") { var ts = now(); var ret = s.url.replace(/(\?|&)_=.*?(&|$)/, "$1_=" + ts + "$2"); s.url = ret + ((ret == s.url) ? (s.url.match(/\?/) ? "&" : "?") + "_=" + ts : ""); } if (s.data && type == "GET") { s.url += (s.url.match(/\?/) ? "&" : "?") + s.data; s.data = null; } if (s.global && !jQuery.active++) jQuery.event.trigger("ajaxStart"); var remote = /^(?:\w+:)?\/\/([^\/?#]+)/; if (s.dataType == "script" && type == "GET" && remote.test(s.url) && remote.exec(s.url)[1] != location.host) { var head = document.getElementsByTagName("head")[0]; var script = document.createElement("script"); script.src = s.url; if (s.scriptCharset) script.charset = s.scriptCharset; if (!jsonp) { var done = false; script.onload = script.onreadystatechange = function() { if (!done && (!this.readyState || this.readyState == "loaded" || this.readyState == "complete")) { done = true; success(); complete(); head.removeChild(script); } }; } head.appendChild(script); return undefined; } var requestDone = false; var xhr = window.ActiveXObject ? new ActiveXObject("Microsoft.XMLHTTP") : new XMLHttpRequest(); if (s.username) xhr.open(type, s.url, s.async, s.username, s.password); else
            xhr.open(type, s.url, s.async); try { if (s.data) xhr.setRequestHeader("Content-Type", s.contentType); if (s.ifModified) xhr.setRequestHeader("If-Modified-Since", jQuery.lastModified[s.url] || "Thu, 01 Jan 1970 00:00:00 GMT"); xhr.setRequestHeader("X-Requested-With", "XMLHttpRequest"); xhr.setRequestHeader("Accept", s.dataType && s.accepts[s.dataType] ? s.accepts[s.dataType] + ", */*" : s.accepts._default); } catch (e) { } if (s.beforeSend && s.beforeSend(xhr, s) === false) { s.global && jQuery.active--; xhr.abort(); return false; } if (s.global) jQuery.event.trigger("ajaxSend", [xhr, s]); var onreadystatechange = function(isTimeout) {
                if (!requestDone && xhr && (xhr.readyState == 4 || isTimeout == "timeout")) {
                    requestDone = true; if (ival) { clearInterval(ival); ival = null; } status = isTimeout == "timeout" && "timeout" || !jQuery.httpSuccess(xhr) && "error" || s.ifModified && jQuery.httpNotModified(xhr, s.url) && "notmodified" || "success"; if (status == "success") { try { data = jQuery.httpData(xhr, s.dataType, s.dataFilter); } catch (e) { status = "parsererror"; } } if (status == "success") { var modRes; try { modRes = xhr.getResponseHeader("Last-Modified"); } catch (e) { } if (s.ifModified && modRes) jQuery.lastModified[s.url] = modRes; if (!jsonp) success(); } else
                        jQuery.handleError(s, xhr, status); complete(); if (s.async) xhr = null;
                } 
            }; if (s.async) { var ival = setInterval(onreadystatechange, 13); if (s.timeout > 0) setTimeout(function() { if (xhr) { xhr.abort(); if (!requestDone) onreadystatechange("timeout"); } }, s.timeout); } try { xhr.send(s.data); } catch (e) { jQuery.handleError(s, xhr, null, e); } if (!s.async) onreadystatechange(); function success() { if (s.success) s.success(data, status); if (s.global) jQuery.event.trigger("ajaxSuccess", [xhr, s]); } function complete() { if (s.complete) s.complete(xhr, status); if (s.global) jQuery.event.trigger("ajaxComplete", [xhr, s]); if (s.global && ! --jQuery.active) jQuery.event.trigger("ajaxStop"); } return xhr;
    }, handleError: function(s, xhr, status, e) { if (s.error) s.error(xhr, status, e); if (s.global) jQuery.event.trigger("ajaxError", [xhr, s, e]); }, active: 0, httpSuccess: function(xhr) { try { return !xhr.status && location.protocol == "file:" || (xhr.status >= 200 && xhr.status < 300) || xhr.status == 304 || xhr.status == 1223 || jQuery.browser.safari && xhr.status == undefined; } catch (e) { } return false; }, httpNotModified: function(xhr, url) { try { var xhrRes = xhr.getResponseHeader("Last-Modified"); return xhr.status == 304 || xhrRes == jQuery.lastModified[url] || jQuery.browser.safari && xhr.status == undefined; } catch (e) { } return false; }, httpData: function(xhr, type, filter) { var ct = xhr.getResponseHeader("content-type"), xml = type == "xml" || !type && ct && ct.indexOf("xml") >= 0, data = xml ? xhr.responseXML : xhr.responseText; if (xml && data.documentElement.tagName == "parsererror") throw "parsererror"; if (filter) data = filter(data, type); if (type == "script") jQuery.globalEval(data); if (type == "json") data = eval("(" + data + ")"); return data; }, param: function(a) {
        var s = []; if (a.constructor == Array || a.jquery) jQuery.each(a, function() { s.push(encodeURIComponent(this.name) + "=" + encodeURIComponent(this.value)); }); else
            for (var j in a) if (a[j] && a[j].constructor == Array) jQuery.each(a[j], function() { s.push(encodeURIComponent(j) + "=" + encodeURIComponent(this)); }); else
            s.push(encodeURIComponent(j) + "=" + encodeURIComponent(jQuery.isFunction(a[j]) ? a[j]() : a[j])); return s.join("&").replace(/%20/g, "+");
    } 
    }); jQuery.fn.extend({ show: function(speed, callback) { return speed ? this.animate({ height: "show", width: "show", opacity: "show" }, speed, callback) : this.filter(":hidden").each(function() { this.style.display = this.oldblock || ""; if (jQuery.css(this, "display") == "none") { var elem = jQuery("<" + this.tagName + " />").appendTo("body"); this.style.display = elem.css("display"); if (this.style.display == "none") this.style.display = "block"; elem.remove(); } }).end(); }, hide: function(speed, callback) { return speed ? this.animate({ height: "hide", width: "hide", opacity: "hide" }, speed, callback) : this.filter(":visible").each(function() { this.oldblock = this.oldblock || jQuery.css(this, "display"); this.style.display = "none"; }).end(); }, _toggle: jQuery.fn.toggle, toggle: function(fn, fn2) { return jQuery.isFunction(fn) && jQuery.isFunction(fn2) ? this._toggle.apply(this, arguments) : fn ? this.animate({ height: "toggle", width: "toggle", opacity: "toggle" }, fn, fn2) : this.each(function() { jQuery(this)[jQuery(this).is(":hidden") ? "show" : "hide"](); }); }, slideDown: function(speed, callback) { return this.animate({ height: "show" }, speed, callback); }, slideUp: function(speed, callback) { return this.animate({ height: "hide" }, speed, callback); }, slideToggle: function(speed, callback) { return this.animate({ height: "toggle" }, speed, callback); }, fadeIn: function(speed, callback) { return this.animate({ opacity: "show" }, speed, callback); }, fadeOut: function(speed, callback) { return this.animate({ opacity: "hide" }, speed, callback); }, fadeTo: function(speed, to, callback) { return this.animate({ opacity: to }, speed, callback); }, animate: function(prop, speed, easing, callback) {
        var optall = jQuery.speed(speed, easing, callback); return this[optall.queue === false ? "each" : "queue"](function() {
            if (this.nodeType != 1) return false; var opt = jQuery.extend({}, optall), p, hidden = jQuery(this).is(":hidden"), self = this; for (p in prop) { if (prop[p] == "hide" && hidden || prop[p] == "show" && !hidden) return opt.complete.call(this); if (p == "height" || p == "width") { opt.display = jQuery.css(this, "display"); opt.overflow = this.style.overflow; } } if (opt.overflow != null) this.style.overflow = "hidden"; opt.curAnim = jQuery.extend({}, prop); jQuery.each(prop, function(name, val) {
                var e = new jQuery.fx(self, opt, name); if (/toggle|show|hide/.test(val)) e[val == "toggle" ? hidden ? "show" : "hide" : val](prop); else {
                    var parts = val.toString().match(/^([+-]=)?([\d+-.]+)(.*)$/), start = e.cur(true) || 0; if (parts) { var end = parseFloat(parts[2]), unit = parts[3] || "px"; if (unit != "px") { self.style[name] = (end || 1) + unit; start = ((end || 1) / e.cur(true)) * start; self.style[name] = start + unit; } if (parts[1]) end = ((parts[1] == "-=" ? -1 : 1) * end) + start; e.custom(start, end, unit); } else
                        e.custom(start, val, "");
                } 
            }); return true;
        });
    }, queue: function(type, fn) { if (jQuery.isFunction(type) || (type && type.constructor == Array)) { fn = type; type = "fx"; } if (!type || (typeof type == "string" && !fn)) return queue(this[0], type); return this.each(function() { if (fn.constructor == Array) queue(this, type, fn); else { queue(this, type).push(fn); if (queue(this, type).length == 1) fn.call(this); } }); }, stop: function(clearQueue, gotoEnd) { var timers = jQuery.timers; if (clearQueue) this.queue([]); this.each(function() { for (var i = timers.length - 1; i >= 0; i--) if (timers[i].elem == this) { if (gotoEnd) timers[i](true); timers.splice(i, 1); } }); if (!gotoEnd) this.dequeue(); return this; } 
    }); var queue = function(elem, type, array) { if (elem) { type = type || "fx"; var q = jQuery.data(elem, type + "queue"); if (!q || array) q = jQuery.data(elem, type + "queue", jQuery.makeArray(array)); } return q; }; jQuery.fn.dequeue = function(type) { type = type || "fx"; return this.each(function() { var q = queue(this, type); q.shift(); if (q.length) q[0].call(this); }); }; jQuery.extend({ speed: function(speed, easing, fn) { var opt = speed && speed.constructor == Object ? speed : { complete: fn || !fn && easing || jQuery.isFunction(speed) && speed, duration: speed, easing: fn && easing || easing && easing.constructor != Function && easing }; opt.duration = (opt.duration && opt.duration.constructor == Number ? opt.duration : jQuery.fx.speeds[opt.duration]) || jQuery.fx.speeds.def; opt.old = opt.complete; opt.complete = function() { if (opt.queue !== false) jQuery(this).dequeue(); if (jQuery.isFunction(opt.old)) opt.old.call(this); }; return opt; }, easing: { linear: function(p, n, firstNum, diff) { return firstNum + diff * p; }, swing: function(p, n, firstNum, diff) { return ((-Math.cos(p * Math.PI) / 2) + 0.5) * diff + firstNum; } }, timers: [], timerId: null, fx: function(elem, options, prop) { this.options = options; this.elem = elem; this.prop = prop; if (!options.orig) options.orig = {}; } }); jQuery.fx.prototype = { update: function() { if (this.options.step) this.options.step.call(this.elem, this.now, this); (jQuery.fx.step[this.prop] || jQuery.fx.step._default)(this); if (this.prop == "height" || this.prop == "width") this.elem.style.display = "block"; }, cur: function(force) { if (this.elem[this.prop] != null && this.elem.style[this.prop] == null) return this.elem[this.prop]; var r = parseFloat(jQuery.css(this.elem, this.prop, force)); return r && r > -10000 ? r : parseFloat(jQuery.curCSS(this.elem, this.prop)) || 0; }, custom: function(from, to, unit) { this.startTime = now(); this.start = from; this.end = to; this.unit = unit || this.unit || "px"; this.now = this.start; this.pos = this.state = 0; this.update(); var self = this; function t(gotoEnd) { return self.step(gotoEnd); } t.elem = this.elem; jQuery.timers.push(t); if (jQuery.timerId == null) { jQuery.timerId = setInterval(function() { var timers = jQuery.timers; for (var i = 0; i < timers.length; i++) if (!timers[i]()) timers.splice(i--, 1); if (!timers.length) { clearInterval(jQuery.timerId); jQuery.timerId = null; } }, 13); } }, show: function() { this.options.orig[this.prop] = jQuery.attr(this.elem.style, this.prop); this.options.show = true; this.custom(0, this.cur()); if (this.prop == "width" || this.prop == "height") this.elem.style[this.prop] = "1px"; jQuery(this.elem).show(); }, hide: function() { this.options.orig[this.prop] = jQuery.attr(this.elem.style, this.prop); this.options.hide = true; this.custom(this.cur(), 0); }, step: function(gotoEnd) { var t = now(); if (gotoEnd || t > this.options.duration + this.startTime) { this.now = this.end; this.pos = this.state = 1; this.update(); this.options.curAnim[this.prop] = true; var done = true; for (var i in this.options.curAnim) if (this.options.curAnim[i] !== true) done = false; if (done) { if (this.options.display != null) { this.elem.style.overflow = this.options.overflow; this.elem.style.display = this.options.display; if (jQuery.css(this.elem, "display") == "none") this.elem.style.display = "block"; } if (this.options.hide) this.elem.style.display = "none"; if (this.options.hide || this.options.show) for (var p in this.options.curAnim) jQuery.attr(this.elem.style, p, this.options.orig[p]); } if (done) this.options.complete.call(this.elem); return false; } else { var n = t - this.startTime; this.state = n / this.options.duration; this.pos = jQuery.easing[this.options.easing || (jQuery.easing.swing ? "swing" : "linear")](this.state, n, 0, 1, this.options.duration); this.now = this.start + ((this.end - this.start) * this.pos); this.update(); } return true; } }; jQuery.extend(jQuery.fx, { speeds: { slow: 600, fast: 200, def: 400 }, step: { scrollLeft: function(fx) { fx.elem.scrollLeft = fx.now; }, scrollTop: function(fx) { fx.elem.scrollTop = fx.now; }, opacity: function(fx) { jQuery.attr(fx.elem.style, "opacity", fx.now); }, _default: function(fx) { fx.elem.style[fx.prop] = fx.now + fx.unit; } } }); jQuery.fn.offset = function() { var left = 0, top = 0, elem = this[0], results; if (elem) with (jQuery.browser) { var parent = elem.parentNode, offsetChild = elem, offsetParent = elem.offsetParent, doc = elem.ownerDocument, safari2 = safari && parseInt(version) < 522 && !/adobeair/i.test(userAgent), css = jQuery.curCSS, fixed = css(elem, "position") == "fixed"; if (elem.getBoundingClientRect) { var box = elem.getBoundingClientRect(); add(box.left + Math.max(doc.documentElement.scrollLeft, doc.body.scrollLeft), box.top + Math.max(doc.documentElement.scrollTop, doc.body.scrollTop)); add(-doc.documentElement.clientLeft, -doc.documentElement.clientTop); } else { add(elem.offsetLeft, elem.offsetTop); while (offsetParent) { add(offsetParent.offsetLeft, offsetParent.offsetTop); if (mozilla && !/^t(able|d|h)$/i.test(offsetParent.tagName) || safari && !safari2) border(offsetParent); if (!fixed && css(offsetParent, "position") == "fixed") fixed = true; offsetChild = /^body$/i.test(offsetParent.tagName) ? offsetChild : offsetParent; offsetParent = offsetParent.offsetParent; } while (parent && parent.tagName && !/^body|html$/i.test(parent.tagName)) { if (!/^inline|table.*$/i.test(css(parent, "display"))) add(-parent.scrollLeft, -parent.scrollTop); if (mozilla && css(parent, "overflow") != "visible") border(parent); parent = parent.parentNode; } if ((safari2 && (fixed || css(offsetChild, "position") == "absolute")) || (mozilla && css(offsetChild, "position") != "absolute")) add(-doc.body.offsetLeft, -doc.body.offsetTop); if (fixed) add(Math.max(doc.documentElement.scrollLeft, doc.body.scrollLeft), Math.max(doc.documentElement.scrollTop, doc.body.scrollTop)); } results = { top: top, left: left }; } function border(elem) { add(jQuery.curCSS(elem, "borderLeftWidth", true), jQuery.curCSS(elem, "borderTopWidth", true)); } function add(l, t) { left += parseInt(l, 10) || 0; top += parseInt(t, 10) || 0; } return results; }; jQuery.fn.extend({ position: function() { var left = 0, top = 0, results; if (this[0]) { var offsetParent = this.offsetParent(), offset = this.offset(), parentOffset = /^body|html$/i.test(offsetParent[0].tagName) ? { top: 0, left: 0} : offsetParent.offset(); offset.top -= num(this, 'marginTop'); offset.left -= num(this, 'marginLeft'); parentOffset.top += num(offsetParent, 'borderTopWidth'); parentOffset.left += num(offsetParent, 'borderLeftWidth'); results = { top: offset.top - parentOffset.top, left: offset.left - parentOffset.left }; } return results; }, offsetParent: function() { var offsetParent = this[0].offsetParent; while (offsetParent && (!/^body|html$/i.test(offsetParent.tagName) && jQuery.css(offsetParent, 'position') == 'static')) offsetParent = offsetParent.offsetParent; return jQuery(offsetParent); } }); jQuery.each(['Left', 'Top'], function(i, name) { var method = 'scroll' + name; jQuery.fn[method] = function(val) { if (!this[0]) return; return val != undefined ? this.each(function() { this == window || this == document ? window.scrollTo(!i ? val : jQuery(window).scrollLeft(), i ? val : jQuery(window).scrollTop()) : this[method] = val; }) : this[0] == window || this[0] == document ? self[i ? 'pageYOffset' : 'pageXOffset'] || jQuery.boxModel && document.documentElement[method] || document.body[method] : this[0][method]; }; }); jQuery.each(["Height", "Width"], function(i, name) { var tl = i ? "Left" : "Top", br = i ? "Right" : "Bottom"; jQuery.fn["inner" + name] = function() { return this[name.toLowerCase()]() + num(this, "padding" + tl) + num(this, "padding" + br); }; jQuery.fn["outer" + name] = function(margin) { return this["inner" + name]() + num(this, "border" + tl + "Width") + num(this, "border" + br + "Width") + (margin ? num(this, "margin" + tl) + num(this, "margin" + br) : 0); }; });
})();