Created
November 3, 2020 12:45
-
-
Save wellington1993/8c751f1b3fb45114001e10ad051cd77d to your computer and use it in GitHub Desktop.
utilityFunctions-6.2.5-2277551026(eng).js
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
////////////////////////////////////////////////////////////////////////////////////////////////// | |
// | |
// Copyright (c) 2001 SonicWall, Inc | |
// | |
////////////////////////////////////////////////////////////////////////////////////////////////// | |
function onLoginSubmitDone(url, sessIdStr, usrName) { | |
var ix = url.lastIndexOf('/'); | |
var destPage = (ix >= 0) ? url.substr(ix+1) : url; | |
var reg = RegExp('.*/'); | |
var thisPage = top.location.pathname.replace(reg, ""); | |
if (thisPage!="auth.cgi" && destPage != thisPage && destPage != "auth.html") { | |
var authWin = top.loginSubmitWin; | |
var authForm = authWin.document.forms[top.loginSubmitForm]; | |
var authCallBk = top.loginSubmitCallBk; | |
var pwd = authWin.savePwd; | |
authWin.savePwd = null; | |
if (destPage == "dynUserPwdUpdate.html") { | |
swlStore.sessionSet('OldPwd', pwd, {isGlobal: true}); | |
} | |
setEncryptSeed(usrName, pwd, authForm.param2.value, authWin.saveWithoutPwd); | |
if (destPage == "combinedLogin.html") { | |
swlStore.sessionSet('pwd', pwd, {isGlobal: true}); | |
} | |
var http2Https = (top.location.protocol == "http:" && url.substr(0, 8) == "https://"); | |
if (http2Https) { | |
var uName = swlStore.getCurrUserName(); | |
url += (url.indexOf('?') < 0) ? '?' : '&'; | |
url += 'usrName=' + escape(uName); | |
} | |
if (sessIdStr) { | |
var sessId = decryptSessId(sessIdStr, pwd); | |
if (sessId) { | |
setCookieExt("SessId", sessId, | |
{ secure: true, strictSameSite: true }); | |
if (http2Https) { | |
var pageSeed = swlStore.get('PageSeed', {isGlobal: true}); | |
url += '&sessId=' + sessId + '&pageSeed=' + pageSeed; | |
} | |
} | |
} | |
if (typeof(authCallBk) == "function") { | |
authCallBk(); | |
} | |
} | |
if (destPage == "combinedLogin.html") | |
{ | |
location.href = url; | |
} | |
else | |
{ | |
top.location.href = url; | |
} | |
} | |
function checkForSessidInQueryStr(obfuscateIt) { | |
var usrName = getQueryStrParam('usrName'); | |
var sessId = getQueryStrParam('sessId'); | |
var pageSeed = getQueryStrParam('pageSeed'); | |
if (usrName) { | |
swlStore.resetUserName(usrName); | |
} | |
if (sessId) { | |
setCookieExt('SessId', sessId, { secure: true, strictSameSite: true }); | |
} | |
if (pageSeed) { | |
swlStore.set('PageSeed', pageSeed, {isGlobal: true}); | |
} | |
if (obfuscateIt && (sessId || pageSeed)) { | |
var href = window.location.protocol + "//" + window.location.host + window.location.pathname; | |
window.location.href = href; | |
return true; | |
} | |
return false; | |
} | |
function getQueryStrParam(key) { | |
var qry = document.location.search; | |
var start = qry.indexOf(key + '='); | |
if (start == -1) { | |
return null; | |
} | |
start += key.length + 1; | |
var end = qry.indexOf("&", start); | |
var val = (end > 0) ? qry.substring(start, end) : qry.substr(start); | |
return unescape(val); | |
} | |
function xor(dataArray, patternArray) { | |
var strResult = new String(); | |
if (dataArray.length != patternArray.length) { | |
return strResult; | |
} | |
for (var i = 0; i < dataArray.length; i++) { | |
var dat = parseInt(dataArray[i]); | |
var pat = parseInt(patternArray[i]); | |
var xorVal = (dat ^ pat); | |
strResult += escape(String.fromCharCode(xorVal)); | |
} | |
return strResult; | |
} | |
function setEncryptSeed(usrName, strPassPhrase, randomNumber, withoutPwd) { | |
if (usrName) { | |
swlStore.resetUserName(usrName); | |
} | |
var strInternalPageSeedHash = new String(); | |
if (withoutPwd || (strPassPhrase.length > 0)) { | |
strInternalPageSeedHash = calcMD5_2(getChars(randomNumber + strPassPhrase)); | |
swlStore.set("PageSeed", strInternalPageSeedHash, {isGlobal: true}); | |
} | |
} | |
function verifyPassword(usrName, strPassPhrase, randonNumber1, randomNumber2) { | |
var strInternalPageHash = new String(); | |
if (strPassPhrase.length > 0) { | |
strInternalPageHash = calcMD5(randonNumber1 + strPassPhrase); | |
setEncryptSeed(usrName, strPassPhrase, randomNumber2); | |
} | |
return strInternalPageHash; | |
} | |
function encryptUserPassword(strPassword, randomNumber) { | |
var strPageSeedHash = new String(swlStore.get("PageSeed", {isGlobal: true})); | |
if (strPageSeedHash == null) return("Error"); | |
return changePassword(strPageSeedHash, randomNumber, strPassword, strPassword); | |
} | |
function changePassword(strEncSeed, randomNumber, strNewPassword, strConfirmPassword) { | |
var strNewPasswordXOR = new String(); | |
var newPasswordArray = new Array(); | |
var oldPasswordHashArray = new Array(); | |
for (var i=0; i<33; i++) { | |
newPasswordArray[i] = 0; | |
oldPasswordHashArray[i] = 0; | |
} | |
var uriNewPasswd = getChars(strNewPassword); | |
var uriEncSeed = getChars(strEncSeed); | |
for (var j = i = 0; i < 33; i++, j++) { | |
if (j >= uriEncSeed.length) j = 0; | |
var v1 = (i < uriNewPasswd.length) ? uriNewPasswd[i] : 0; | |
var v2 = 256 - uriEncSeed[j]; | |
newPasswordArray[i] = v1 ^ v2; | |
} | |
var strOldPassHash = new String(calcMD5_2(getChars(randomNumber).concat(uriEncSeed))); | |
for (i=0; i<strOldPassHash.length; i++) { | |
oldPasswordHashArray[i] = strOldPassHash.charCodeAt(i); | |
} | |
strNewPasswordXOR = xor(oldPasswordHashArray, newPasswordArray); | |
return strNewPasswordXOR; | |
} | |
function extractRandNum(randNumHash, pageSeed) { | |
var strSessId = new String(getCookie("SessId")); | |
if (strSessId == null) return; | |
var strSessIdSeedHash = new String(calcMD5_2(getChars(strSessId).concat(getChars(pageSeed)))); | |
var sessIdSeedHashArray = new Array(); | |
var randNumHashArray = new Array(); | |
for (var i = 0; i < 32; i++) { | |
sessIdSeedHashArray[i] = strSessIdSeedHash.charCodeAt(i); | |
randNumHashArray[i] = parseInt(randNumHash.substr(i*2, 2), 16); | |
} | |
var rNum = xor(sessIdSeedHashArray, randNumHashArray); | |
return rNum; | |
} | |
function decryptSessId(encStr, pwd) { | |
var ix; | |
if ((ix = encStr.indexOf(':')) <= 0) { | |
return encStr; | |
} | |
var randStr = encStr.substr(0, ix); | |
var sessIdLen = parseInt(encStr.substr(ix+1, 2), 16); | |
var cipher = encStr.substr(ix+3); | |
var pageSeed = swlStore.get("PageSeed", {isGlobal: true}); | |
if (!pageSeed) { | |
return null; | |
} | |
var pageSeedStr = rstr2hexstr(pageSeed); | |
var pwdStr = rstr2hexstr(str2rstr_utf8(pwd)); | |
var saveCase = hexcase; hexcase = 1; | |
var md = hex2hex_sha1(randStr + pageSeedStr + pwdStr); | |
hexcase = saveCase; | |
var sessId = ""; | |
for (var i = 0; i < sessIdLen; i++) { | |
var v1 = parseInt(cipher.substr(i*2, 2), 16); | |
var v2 = parseInt(md.substr(i*2, 2), 16); | |
var vx = v1 ^ v2; | |
var s = vx.toString(16).toUpperCase(); | |
sessId += (s.length == 1) ? '0' + s : s; | |
} | |
return sessId; | |
} | |
function chapDigest(strId, strPass, strChal) { | |
var id = getBytes(strId); | |
var pass = new Array(); | |
pass = getChars(strPass); | |
var chal = new Array(); | |
chal = getBytes(strChal); | |
var inBuff = new Array(); | |
inBuff = id.concat(pass, chal); | |
var strDigest = new String(calcMD5_2(inBuff)); | |
return strDigest; | |
} | |
function getBytes(str) | |
{ | |
var buf = new Array(); | |
var j = 0; | |
for (var i = 0; i < str.length; i += 2) | |
{ | |
buf[j++] = parseInt(str.substr(i,2), 16); | |
} | |
return buf; | |
} | |
function getChars(str) | |
{ | |
var buf = new Array(); | |
var uriStr = encodeURI(str); | |
var count = 0; | |
for (var i = 0; i < uriStr.length; i++,count++) | |
{ | |
if(uriStr.charAt(i)=='%') | |
{ | |
buf[count]=parseInt(uriStr.substr(i+1,2),16); | |
i+=2; | |
} | |
else | |
{ | |
buf[count] = uriStr.charCodeAt(i); | |
} | |
} | |
return buf; | |
} | |
function showUlaAup(width, height, scroll) { | |
var strScroll = (scroll) ? "" : " SCROLLING=NO"; | |
var x = (screen.availWidth/2)-230; | |
var y = (screen.availHeight/2)-150; | |
var msgWin = window.open("","displayWindow","screenX=200,screenY=200,width="+width+",height="+height); | |
if (msgWin) { | |
msgWin.moveTo(x,y); | |
msgWin.document.open("text/html"); | |
msgWin.document.write('<HTML><HEAD><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><TITLE>Acceptable Use Policy</TITLE>\n'); | |
msgWin.document.write('</HEAD>\n'); | |
msgWin.document.write('<FRAMESET ROWS="*,50">\n'); | |
msgWin.document.write('<FRAME NAME="frm1" SRC="ulaAup.html"' + strScroll + '>\n'); | |
msgWin.document.write('<FRAME NAME="frm2" SRC="ulaAup.html" SCROLLING=NO>\n'); | |
msgWin.document.write('</FRAMESET></HTML>\n'); | |
msgWin.focus(); | |
} else { | |
alert("Failed to open the SonicWall Acceptable Usage Policy window.\n\n" | |
+ "To get access you will need to ensure that pop-ups are not blocked for '" | |
+ location.hostname + "'"); | |
} | |
return msgWin; | |
} | |
function showUlaAup2(width, height, scroll) { | |
var strScroll = (scroll) ? "" : " SCROLLING=NO"; | |
var html = '<HTML><HEAD><TITLE>Acceptable Use Policy</TITLE>\n'; | |
html += '</HEAD>\n'; | |
html += '<FRAMESET ROWS="*,50">\n'; | |
html += '<FRAME NAME="frm1" SRC="ulaAup.html"' + strScroll + '>\n'; | |
html += '<FRAME NAME="frm2" SRC="ulaAup.html" SCROLLING=NO>\n'; | |
html += '</FRAMESET></HTML>\n'; | |
$("form[name='pForm']").remove(); | |
previewWindow(document, "pForm", "displayWindow", html, width, height); | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
function popupBasicWarning(title, msg) | |
{ | |
$.blockUI.defaults.message = '<div id="popup_warning_box">' + | |
'<div id="popup_warning_header">' + | |
'<div id="warning_icon"></div>' + | |
'<div id="popup_warning_header_text">' + | |
title + | |
'</div>' + | |
'</div>' + | |
'<div id="popup_warning_text">' + | |
msg + | |
'</div>' + | |
'</div>'; | |
$.blockUI({ css: { width: 'auto', top: '20%', left: '30%', textAlign: 'left', color: '#FF0000', border: '1px solid #818181'}, | |
overlayCSS: { opacity: '0.2'} }); | |
} | |
function popupBasicWarning2(title, msg) { | |
$.blockUI.defaults.message = '<div class="blocking_popup_warning2_box">' + | |
'<div class="blocking_popup_warning2_text">' + | |
title + ', ' + removeBrTag(msg) + | |
'</div>' + | |
'</div>'; | |
$.blockUI({ | |
css: { | |
width: '100%', | |
textAlign: 'left', | |
left: 'auto', | |
border: 'none', | |
padding: '0px' | |
}, | |
showOverlay: false | |
}); | |
if ($(".blocking_popup_warning2_box") && $(".blocking_popup_warning2_box").parent('div.blockMsg').length > 0) { | |
$(".blocking_popup_warning2_box").parent('div.blockMsg').addClass('blockMsgWarning2') | |
} | |
} | |
function popupBasicWarningWithClose(title, msg) | |
{ | |
$.blockUI.defaults.message = '<div class="blocking_popup_warning_box">' + | |
'<div class="blocking_popup_warning_header">' + | |
'<div class="blocking_popup_warning_icon"></div>' + | |
'<div class="blocking_popup_warning_header_text">' + | |
title + | |
'</div>' + | |
'</div>' + | |
'<div class="blocking_popup_separator_15"></div>' + | |
'<div class="blocking_popup_warning_text">' + | |
msg + | |
'</div>' + | |
'<div class="blocking_popup_separator_15"></div>' + | |
'<div id="popup_warning_btn">' + | |
'<center>' + | |
'<input id="popupCloseBtn" type="button" class="snwl-btn" value="Close">' + | |
'</center>' + | |
'</div><br>' + | |
'</div>'; | |
$.blockUI({ css: { width: 'auto', top: '20%', left: '30%', textAlign: 'left', color: '#FF0000', border: '1px solid #818181'}, | |
overlayCSS: { opacity: '0.2'} }); | |
$('#popupCloseBtn').click(function() { | |
closeBlockingPopup(); | |
}); | |
} | |
function popupBasicWarningApplyCancel(title, msg, applyCallbackStr, cancelCallbackStr, applyName, cancelName) | |
{ | |
var applyBtnName = applyName ? applyName : ' Apply '; | |
var cancelBtnName = cancelName ? cancelName : ' Cancel '; | |
$.blockUI.defaults.message = '<div id="popup_warning_box" style="height:360px;">' + | |
'<div id="popup_warning_header">' + | |
'<div id="warning_icon"></div>' + | |
'<div id="popup_warning_header_text">' + | |
title + | |
'</div>' + | |
'</div>' + | |
'<div id="popup_warning_text">' + | |
msg + | |
'</div>' + | |
'<div id="popup_warning_btn">' + | |
'<center>' + | |
'<input type="button" class="snwl-btn snwl-btn-primary" value="' + applyBtnName + '" onclick="' + applyCallbackStr + '">' + | |
'<input type="button" class="snwl-btn" value="' + cancelBtnName + '" onclick="' + cancelCallbackStr + '">' + | |
'</center>' + | |
'</div><br>' + | |
'<div><center><span id="extraNotes"></span></center></div>' + | |
'</div>'; | |
$.blockUI({ css: { width: 'auto', top: '20%', left: '30%', textAlign: 'left', color: '#FF0000', border: '1px solid #818181'}, | |
overlayCSS: { opacity: '0.2'} }); | |
} | |
function popupBasicWarningClose(title, msg) | |
{ | |
$.blockUI.defaults.message = '<div id="popup_warning_box" style="height:360px;">' + | |
'<div id="popup_warning_header">' + | |
'<div id="warning_icon"></div>' + | |
'<div id="popup_warning_header_text">' + | |
title + | |
'</div>' + | |
'</div>' + | |
'<div id="popup_warning_text">' + | |
msg + | |
'</div>' + | |
'<div id="popup_warning_btn">' + | |
'<center>' + | |
'<input id="popupCloseBtn" type="button" class="snwl-btn" value="Close">' + | |
'</center>' + | |
'</div><br>' + | |
'<div><center><span id="extraNotes"></span></center></div>' + | |
'</div>'; | |
$.blockUI({ css: { width: 'auto', top: '20%', left: '30%', textAlign: 'left', color: '#FF0000', border: '1px solid #818181'}, | |
overlayCSS: { opacity: '0.2'} }); | |
$('#popupCloseBtn').click(function() { | |
closeBlockingPopup(); | |
}); | |
} | |
function popupBlocking1(title, msg, applyCallbackStr, cancelCallbackStr, applyName, cancelName) | |
{ | |
var applyBtnName = applyName ? applyName : ' Apply '; | |
var cancelBtnName = cancelName ? cancelName : ' Cancel '; | |
$.blockUI.defaults.message = '<div id="popup_warning_box" style="height:300px;">' + | |
((title != '') ? | |
('<div id="popup_warning_header">' + | |
'<div id="warning_icon"></div>' + | |
'<div id="popup_warning_header_text">' + | |
title + | |
'</div>' + | |
'</div>') : '') + | |
'<div id="popup_warning_text">' + | |
msg + | |
'</div>' + | |
'<div class="blocking_popup_separator_15"></div>' + | |
'<div id="popup_warning_btn" style="position: absolute; top: 270px; right: 20px;">' + | |
'<center>' + | |
'<input type="button" class="snwl-btn snwl-btn-primary" value="' + applyBtnName + '" onclick="' + applyCallbackStr + ';">' + | |
'<input type="button" class="snwl-btn" value="' + cancelBtnName + '" onclick="' + cancelCallbackStr + ';">' + | |
'</center>' + | |
'</div><br>' + | |
'<div><center><span id="extraNotes"></span></center></div>' + | |
'</div>'; | |
$.blockUI({ css: { width: 'auto', top: '20%', left: '30%', textAlign: 'left', color: '#FF0000', border: '1px solid #818181'}, | |
overlayCSS: { opacity: '0.2'} }); | |
} | |
function popupBlocking2(title, msg, btn1CBStr, btn2CBStr, btn3CBStr, btn1Name, btn2Name, btn3Name, el, height, width) | |
{ | |
height = height || 300; | |
width = width || 400; | |
$.blockUI.defaults.message = '<div id="popup_warning_box" style="height: ' + height + 'px;width: ' + width + 'px;">' + | |
((title != '') ? | |
('<div id="popup_warning_header">' + | |
'<div id="warning_icon"></div>' + | |
'<div id="popup_warning_header_text">' + | |
title + | |
'</div>' + | |
'</div>') : '') + | |
'<div id="popup_warning_text">' + | |
msg + | |
'</div>' + | |
'<div class="blocking_popup_separator_15"></div>' + | |
'<div id="popup_warning_btn" style="position: absolute; top: ' + (height-30) + 'px; right: 20px;">' + | |
'<center>' + | |
'<input type="button" class="snwl-btn snwl-btn-primary" value="' + btn1Name + '" onclick="' + btn1CBStr + '();">' + | |
'<input type="button" class="snwl-btn" value="' + btn2Name + '" onclick="' + btn2CBStr + '();">' + | |
'<input type="button" class="snwl-btn" value="' + btn3Name + '" onclick="' + btn3CBStr + '();">' + | |
'</center>' + | |
'</div><br>' + | |
'<div><center><span id="extraNotes"></span></center></div>' + | |
'</div>'; | |
$.blockUI({ css: { width: 'auto', top: '20%', left: '30%', textAlign: 'left', color: '#FF0000', border: '1px solid #818181'}, | |
overlayCSS: { opacity: '0.2'}, el: el }); | |
} | |
function popupProcessing(opts) | |
{ | |
opts = $.extend({ | |
shortMsg: null, | |
width: 240, | |
height: 100, | |
$el: null | |
}, opts); | |
var message = '<div class="blocking_popup_processing">' + | |
'<div class="bpp-icon"><img src="wait30.gif" /></div>' + | |
'<div class="bpp-message">' + | |
'<div class="bpp-message-primary typo-headline">Processing</div>' + | |
'<div class="bpp-message-secondary">' + ((opts.shortMsg != null) ? opts.shortMsg : 'Please wait...') + '</div>' + | |
'</div>' + | |
'</div>'; | |
var setupOpts = { | |
isInteractive: false, | |
css: { | |
padding: 0, | |
margin: 'auto', | |
border: 'none', | |
backgroundColor: 'transparent', | |
left: 0, right: 0, | |
top: 0, bottom: 0, | |
width: opts.width, | |
height: opts.height, | |
textAlign: 'left' | |
}, | |
overlayCSS: { | |
opacity: 0.5, | |
backgroundColor: '#000' | |
}, | |
centerX: false, centerY: false, | |
message: message | |
}; | |
if (opts.$el) { | |
opts.$el.block(setupOpts); | |
} | |
else { | |
$.blockUI(setupOpts); | |
} | |
} | |
function popupRounded(title, srcId, pTop, pLeft, pWidth, pHeight, applyCallback, cancelCallback, scrollWithParent, onUnblock,extraCss) | |
{ | |
var blockUICss = { | |
'min-width':pWidth, | |
width:pWidth, | |
color:'#676D7F', cursor:'default', | |
padding:'0', | |
margin: '0', | |
border:'none', | |
backgroundColor:'white', | |
top: pTop, left: pLeft, | |
textAlign: 'left' | |
}; | |
var statusMsgCss = { | |
'position':'absolute', | |
'left':'12px', | |
'bottom':'24px', | |
'margin':'10px 0 0 20px' | |
}; | |
if(extraCss != null) { | |
Object.assign(blockUICss,extraCss); | |
} | |
var htmlStr = '<div class="lb">' | |
htmlStr += '<div class="rb">'; | |
htmlStr += '<div class="bb">'; | |
htmlStr += '<div class="blc">'; | |
htmlStr += '<div class="brc">'; | |
htmlStr += '<div class="tb_line" style="background-image:url(tbl_tb_line_graybg.gif);">'; | |
htmlStr += '<div class="tlc" style="background-image:url(tbl_tlc_graybg.gif);">'; | |
htmlStr += '<div class="trc" style="background-image:url(tbl_trc_graybg.gif);">'; | |
htmlStr += '<div class="swlBoxTitle" style="text-align:left;">'; | |
if (title !== "") { | |
htmlStr += '<div class="swlBoxTitleInset">'; | |
htmlStr += title; | |
htmlStr += '</div>'; | |
} | |
htmlStr += '</div>'; | |
htmlStr += '<div style="min-height:' + pHeight + ';" id="'; | |
htmlStr += '_popup">'; | |
var srcHtmlContent = { html: $("#" + srcId).html(), ttips: getToolTips(srcId) }; | |
$("#" + srcId).html(''); | |
htmlStr += srcHtmlContent.html; | |
if (htmlStr.indexOf("statusMsg") === -1) { | |
htmlStr += '<div id="statusMsg" class="swlStatusMsg"></div>'; | |
} | |
htmlStr += '</div></div></div></div></div></div></div></div></div>'; | |
if ($.browser.mozilla && $.browser.version.substr(0,3) === '1.9' && | |
$(navigator)[0].platform.indexOf('Linux') !== -1) { | |
$.blockUI.defaults.applyPlatformOpacityRules = false; | |
$.blockUI.defaults.fadeIn = 0; | |
$.blockUI.defaults.fadeOut = 0; | |
} | |
var blkOpts = { | |
message: htmlStr, | |
css: blockUICss, | |
fadeIn: 0, | |
onUnblock: onUnblock, | |
overlayCSS: { opacity: '0.6', backgroundColor:'#FFF' } | |
}; | |
var currBlkElem = null; | |
if ($.isUIBlocked(window)) { | |
currBlkElem = $.blockedUIMsgElem(window); | |
$.blockUIelem(currBlkElem, blkOpts); | |
} else { | |
$.blockUI(blkOpts); | |
} | |
$('.swlStylizePopup #statusMsg').css(statusMsgCss); | |
$('.swlEventSave').click(function (event) { | |
if (applyCallback) { | |
if (applyCallback() == false) { | |
return; | |
} | |
} | |
if (currBlkElem) { | |
$.unblockUIelem(currBlkElem); | |
} else { | |
$.unblockUI(); | |
} | |
$("#" + srcId).html(srcHtmlContent.html); | |
restoreToolTips(srcHtmlContent.ttips); | |
}); | |
$('.swlEventClose').click(function (event) { | |
if (cancelCallback) { | |
cancelCallback(); | |
} | |
if (currBlkElem) { | |
$.unblockUIelem(currBlkElem); | |
} else { | |
$.unblockUI(); | |
} | |
$("#" + srcId).html(srcHtmlContent.html); | |
restoreToolTips(srcHtmlContent.ttips); | |
}); | |
if (scrollWithParent && (scrollWithParent == true)) { | |
$('.blockUI.blockPage').css('position','absolute'); | |
} | |
restoreToolTips(srcHtmlContent.ttips); | |
return srcHtmlContent; | |
} | |
function popupRoundedClose(srcId, srcHtmlContent) | |
{ | |
$.unblockUI(); | |
$("#" + srcId).html(srcHtmlContent.html); | |
restoreToolTips(srcHtmlContent.ttips); | |
} | |
function popupEmpty(srcId) | |
{ | |
var blockUICss = { | |
color:'#676D7F', cursor:'default', | |
padding:'0', | |
margin: '0', | |
border:'none', | |
backgroundColor:'white', | |
top: '50px', left: '50px' | |
}; | |
var srcHtmlContent = $("#" + srcId).html(); | |
$("#" + srcId).html(''); | |
if ($.browser.mozilla && $.browser.version.substr(0,3) === '1.9' && | |
$(navigator)[0].platform.indexOf('Linux') !== -1) { | |
$.blockUI.defaults.applyPlatformOpacityRules = false; | |
$.blockUI.defaults.fadeIn = 0; | |
$.blockUI.defaults.fadeOut = 0; | |
} | |
$.blockUI( { | |
message: srcHtmlContent, | |
css: blockUICss, | |
fadeIn: 0, | |
overlayCSS: { opacity: '0.6', backgroundColor:'#FFF' } | |
}); | |
} | |
function closeBlockingPopup(opts) | |
{ | |
$.unblockUI(opts); | |
} | |
function getToolTips(srcId) | |
{ | |
var ttips = new Array(); | |
$("#"+srcId).find("input, select, label, img, span").each(function() { | |
if ($(this).get(0).onmouseover) { | |
var _id, _name, _tagName, _for; | |
if (typeof($(this).prop) === "function") { | |
_id = $(this).prop('id'); | |
_name = $(this).prop('name'); | |
_tagName = $(this).prop('tagName'); | |
_for = $(this).prop('for'); | |
} else { | |
_id = $(this).attr('id'); | |
_name = $(this).attr('name'); | |
_tagName = $(this).attr('tagName'); | |
_for = $(this).attr('for'); | |
} | |
ttips.push({ "id": (typeof(_id) != "undefined") ? _id : "", | |
"name": (typeof(_name) != "undefined") ? _name : "", | |
"tagName": (typeof(_tagName) != "undefined") ? _tagName : "", | |
"for": (typeof(_for) != "undefined") ? _for : "", | |
"over": $(this).get(0).onmouseover, | |
"out": $(this).get(0).onmouseout }); | |
} | |
}); | |
return ttips; | |
} | |
function restoreToolTips(ttips) | |
{ | |
for (var i = 0; i < ttips.length; i++) { | |
if (ttips[i].id != "") { | |
setToolTip($("#"+ttips[i].id).get(0)); | |
} else if (ttips[i].name) { | |
setToolTip($(ttips[i].tagName.toLowerCase()+"[name="+ttips[i].name+"]").get(0)); | |
} else if (ttips[i].tagName == "LABEL") { | |
$(document).find("label").each(function() { | |
if ($(this).attr('for') == ttips[i]['for']) { | |
setToolTip($(this).get(0)); | |
} | |
}); | |
} | |
} | |
} | |
function removeBrTag(str) { | |
if (str == null || typeof str != "string") { | |
return ""; | |
} else { | |
return str.replace(/<br>/g, ''); | |
} | |
} | |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
function lib_bwcheck() { | |
this.ver = navigator.appVersion; | |
this.agent = navigator.userAgent; | |
this.dom = (document.getElementById) ? true : false; | |
this.version = ""; | |
this.rev = ""; | |
this.sf = this.op5 = this.op8x = this.op9 = false; | |
this.os = ""; | |
this.osVersion = ""; | |
var ix = this.ver.indexOf("MSIE "); | |
if (ix > -1 && this.dom) { | |
this.ie = true; | |
var endIx = this.ver.indexOf(";", ix); | |
this.version = this.ver.substring(ix+5, endIx); | |
var verMajor = parseInt(this.version); | |
this.ie5x = (verMajor == 5); | |
this.ie55 = (this.ver.substr(ix,3) == "5.5"); | |
this.ie6 = (verMajor >= 6); | |
this.ie7 = (verMajor >= 7); | |
this.ie8 = (verMajor >= 8); | |
this.ie9 = (verMajor >= 9); | |
this.ie10 = (verMajor >= 10); | |
} | |
else if(document.all && !this.dom){ | |
this.ie = true; | |
this.ie4x = true; | |
} | |
ix = this.ver.indexOf(") like Gecko"); | |
if (ix > -1 && this.dom) { | |
this.ie = true; | |
var begIx = this.ver.indexOf("rv:"); | |
this.version = this.ver.substring(begIx + 3, ix); | |
var verMajor = parseInt(this.version); | |
this.ie11 = (verMajor >= 11); | |
} | |
ix = this.ver.indexOf("Edge/"); | |
if (ix > -1 && this.dom) { | |
this.ie = true; | |
var begIx = ix+5; | |
this.version = this.ver.substring(begIx); | |
var verMajor = parseInt(this.version); | |
this.ieEdge12 = (verMajor >= 12); | |
} | |
this.mac = (this.agent.indexOf("Mac") > -1); | |
ix = this.ver.indexOf("Opera "); | |
if (ix > -1) { | |
this.op5 = (parseInt(this.ver.substr(ix+6)) >= 5); | |
} else if (this.agent.indexOf("Opera/") > -1) { | |
this.op9 = (parseInt(this.ver) >= 9); | |
} else { | |
ix = this.agent.indexOf("Opera "); | |
if (ix > -1) { | |
this.op8x = (this.agent.substr(ix+6,2) == "8."); | |
} | |
} | |
if (this.agent.indexOf("Safari") > -1) { | |
this.sf = true; | |
ix = this.agent.indexOf("Version/"); | |
if (ix > -1) { | |
this.sf3 = true; | |
this.version = this.agent.substr(ix+8); | |
ix = this.version.indexOf(" "); | |
if (ix > 0) { | |
this.version = this.version.substr(0,ix); | |
this.sf30 = (this.version.substr(0,3) == "3.0"); | |
this.sf3x = (this.version.substr(0,2) == "3."); | |
} | |
} else { | |
ix = this.agent.indexOf("Safari/"); | |
if (ix > -1) { | |
this.sf2 = true; | |
this.version = this.agent.substr(ix+7,6); | |
this.sf2x = (this.version.substr(0,5) == "419.3"); | |
} | |
} | |
this.chrome = (this.agent.indexOf("Chrome") > -1); | |
} | |
this.ns6 = !(this.sf || this.op8x || this.op9 || this.ie) && this.dom && (parseInt(this.ver) >= 5); | |
if (this.ns6) { | |
var endIx = this.agent.indexOf(") Gecko"); | |
var begIx = this.agent.lastIndexOf(" ", endIx) + 1; | |
if (this.agent.substr(begIx,3) == "rv:") begIx += 3; | |
this.rev = this.agent.substring(begIx,endIx); | |
if (this.agent.indexOf("Netscape") > -1) { | |
this.mz = false; | |
ix = this.agent.indexOf("Netscape"); | |
this.version = this.agent.substr(this.agent.indexOf("/",ix) + 1); | |
ix = this.version.indexOf(" "); | |
if (ix > 0) this.version = this.version.substr(0,ix); | |
var verMajor = parseInt(this.version); | |
this.ns60 = (this.version.substr(0,3) == "6.0"); | |
this.ns6x = (this.version.substr(0,2) == "6."); | |
this.ns70 = (this.version.substr(0,3) == "7.0"); | |
this.ns7 = (verMajor >= 7); | |
this.ns7x = (verMajor == 7); | |
this.ns8 = (verMajor >= 8); | |
this.ns8x = (verMajor == 8); | |
this.ns9 = (verMajor >= 9); | |
} else { | |
this.mz = true; | |
ix = this.agent.indexOf("Firefox"); | |
if (ix >= 0) { | |
this.version = this.agent.substr(this.agent.indexOf("/",ix) + 1); | |
ix = this.version.indexOf(" "); | |
if (ix > 0) this.version = this.version.substr(0,ix); | |
} else { | |
this.version = "0"; | |
} | |
this.ns60 = (this.rev.substr(0,3) == "0.6"); | |
this.ns6x = (this.rev.substr(0,2) == "0."); | |
this.ns70 = (this.rev.substr(0,3) == "1.0" || this.rev.substr(0,3) == "1.1"); | |
this.ns7 = (parseInt(this.rev) >= 1); | |
} | |
} | |
else this.ns60 = this.ns6x = this.ns70 = this.mz = false; | |
this.ns4x = (document.layers && !this.dom); | |
if (this.ns4x && !this.sf) { | |
ix = this.agent.indexOf("Mozilla/") + 8; | |
this.rev = this.agent.substr(ix); | |
ix = this.rev.indexOf(" "); | |
if (ix > 0) this.rev = this.rev.substr(0,ix); | |
this.version = this.rev; | |
} | |
this.ns = (this.ns4x || (this.ns6 & !this.mz)); | |
this.bw = (this.ie || this.ns || this.op5 || this.dom || this.sf || this.op8x || this.op9); | |
var clientStrings = [ | |
{ s: 'Windows 10', r: /(Windows 10.0|Windows NT 10.0)/ }, | |
{ s: 'Windows 8.1', r: /(Windows 8.1|Windows NT 6.3)/ }, | |
{ s: 'Windows 8', r: /(Windows 8|Windows NT 6.2)/ }, | |
{ s: 'Windows 7', r: /(Windows 7|Windows NT 6.1)/ }, | |
{ s: 'Windows Vista', r: /Windows NT 6.0/ }, | |
{ s: 'Windows Server 2003', r: /Windows NT 5.2/ }, | |
{ s: 'Windows XP', r: /(Windows NT 5.1|Windows XP)/ }, | |
{ s: 'Windows 2000', r: /(Windows NT 5.0|Windows 2000)/ }, | |
{ s: 'Windows ME', r: /(Win 9x 4.90|Windows ME)/ }, | |
{ s: 'Windows 98', r: /(Windows 98|Win98)/ }, | |
{ s: 'Windows 95', r: /(Windows 95|Win95|Windows_95)/ }, | |
{ s: 'Windows NT 4.0', r: /(Windows NT 4.0|WinNT4.0|WinNT|Windows NT)/ }, | |
{ s: 'Windows CE', r: /Windows CE/ }, | |
{ s: 'Windows 3.11', r: /Win16/ }, | |
{ s: 'Android', r: /Android/ }, | |
{ s: 'Open BSD', r: /OpenBSD/ }, | |
{ s: 'Sun OS', r: /SunOS/ }, | |
{ s: 'Linux', r: /(Linux|X11)/ }, | |
{ s: 'iOS', r: /(iPhone|iPad|iPod)/ }, | |
{ s: 'Mac OS X', r: /Mac OS X/ }, | |
{ s: 'Mac OS', r: /(MacPPC|MacIntel|Mac_PowerPC|Macintosh)/ }, | |
{ s: 'QNX', r: /QNX/ }, | |
{ s: 'UNIX', r: /UNIX/ }, | |
{ s: 'BeOS', r: /BeOS/ }, | |
{ s: 'OS/2', r: /OS\/2/ }, | |
{ s: 'Search Bot', r: /(nuhk|Googlebot|Yammybot|Openbot|Slurp|MSNBot|Ask Jeeves\/Teoma|ia_archiver)/ } | |
]; | |
for (var id in clientStrings) { | |
var cs = clientStrings[id]; | |
if (cs.r.test(this.agent)) { | |
this.os = cs.s; | |
break; | |
} | |
} | |
if (/Windows/.test(this.os)) { | |
this.osVersion = /Windows (.*)/.exec(this.os)[1]; | |
this.os = 'Windows'; | |
} | |
switch (this.os) { | |
case 'Mac OS X': | |
this.osVersion = /Mac OS X (10[\.\_\d]+)/.exec(this.agent)[1]; | |
break; | |
case 'Android': | |
this.osVersion = /Android ([\.\_\d]+)/.exec(this.agent)[1]; | |
break; | |
case 'iOS': | |
this.osVersion = /OS (\d+)_(\d+)_?(\d+)?/.exec(this.agent); | |
this.osVersion = this.osVersion[1] + '.' + this.osVersion[2] + '.' + (this.osVersion[3] | 0); | |
break; | |
} | |
return this; | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
(function(e,t){var n,r,i=typeof t,o=e.document,a=e.location,s=e.jQuery,u=e.$,l={},c=[],p="",f=c.concat,d=c.push,h=c.slice,g=c.indexOf,m=l.toString,y=l.hasOwnProperty,v=p.trim,b=function(e,t){return new b.fn.init(e,t,r)},x=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,w=/\S+/g,T=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,N=/^(?:(<[\w\W]+>)[^>]*|#([\w-]*))$/,C=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,k=/^[\],:{}\s]*$/,E=/(?:^|:|,)(?:\s*\[)+/g,S=/\\(?:["\\\/bfnrt]|u[\da-fA-F]{4})/g,A=/"[^"\\\r\n]*"|true|false|null|-?(?:\d+\.|)\d+(?:[eE][+-]?\d+|)/g,j=/^-ms-/,D=/-([\da-z])/gi,L=function(e,t){return t.toUpperCase()},H=function(e){(o.addEventListener||"load"===e.type||"complete"===o.readyState)&&(q(),b.ready())},q=function(){o.addEventListener?(o.removeEventListener("DOMContentLoaded",H,!1),e.removeEventListener("load",H,!1)):(o.detachEvent("onreadystatechange",H),e.detachEvent("onload",H))};b.fn=b.prototype={jquery:p,constructor:b,init:function(e,n,r){var i,a;if(!e)return this;if("string"==typeof e){if(i="<"===e.charAt(0)&&">"===e.charAt(e.length-1)&&e.length>=3?[null,e,null]:N.exec(e),!i||!i[1]&&n)return!n||n.jquery?(n||r).find(e):this.constructor(n).find(e);if(i[1]){if(n=n instanceof b?n[0]:n,b.merge(this,b.parseHTML(i[1],n&&n.nodeType?n.ownerDocument||n:o,!0)),C.test(i[1])&&b.isPlainObject(n))for(i in n)b.isFunction(this[i])?this[i](n[i]):this.attr(i,n[i]);return this}if(a=o.getElementById(i[2]),a&&a.parentNode){if(a.id!==i[2])return r.find(e);this.length=1,this[0]=a}return this.context=o,this.selector=e,this}return e.nodeType?(this.context=this[0]=e,this.length=1,this):b.isFunction(e)?r.ready(e):(e.selector!==t&&(this.selector=e.selector,this.context=e.context),b.makeArray(e,this))},selector:"",length:0,size:function(){return this.length},toArray:function(){return h.call(this)},get:function(e){return null==e?this.toArray():0>e?this[this.length+e]:this[e]},pushStack:function(e){var t=b.merge(this.constructor(),e);return t.prevObject=this,t.context=this.context,t},each:function(e,t){return b.each(this,e,t)},ready:function(e){return b.ready.promise().done(e),this},slice:function(){return this.pushStack(h.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(e){var t=this.length,n=+e+(0>e?t:0);return this.pushStack(n>=0&&t>n?[this[n]]:[])},map:function(e){return this.pushStack(b.map(this,function(t,n){return e.call(t,n,t)}))},end:function(){return this.prevObject||this.constructor(null)},push:d,sort:[].sort,splice:[].splice},b.fn.init.prototype=b.fn,b.extend=b.fn.extend=function(){var e,n,r,i,o,a,s=arguments[0]||{},u=1,l=arguments.length,c=!1;for("boolean"==typeof s&&(c=s,s=arguments[1]||{},u=2),"object"==typeof s||b.isFunction(s)||(s={}),l===u&&(s=this,--u);l>u;u++)if(null!=(o=arguments[u]))for(i in o)e=s[i],r=o[i],s!==r&&(c&&r&&(b.isPlainObject(r)||(n=b.isArray(r)))?(n?(n=!1,a=e&&b.isArray(e)?e:[]):a=e&&b.isPlainObject(e)?e:{},s[i]=b.extend(c,a,r)):r!==t&&(s[i]=r));return s},b.extend({noConflict:function(t){return e.$===b&&(e.$=u),t&&e.jQuery===b&&(e.jQuery=s),b},isReady:!1,readyWait:1,holdReady:function(e){e?b.readyWait++:b.ready(!0)},ready:function(e){if(e===!0?!--b.readyWait:!b.isReady){if(!o.body)return setTimeout(b.ready);b.isReady=!0,e!==!0&&--b.readyWait>0||(n.resolveWith(o,[b]),b.fn.trigger&&b(o).trigger("ready").off("ready"))}},isFunction:function(e){return"function"===b.type(e)},isArray:Array.isArray||function(e){return"array"===b.type(e)},isWindow:function(e){return null!=e&&e==e.window},isNumeric:function(e){return!isNaN(parseFloat(e))&&isFinite(e)},type:function(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?l[m.call(e)]||"object":typeof e},isPlainObject:function(e){if(!e||"object"!==b.type(e)||e.nodeType||b.isWindow(e))return!1;try{if(e.constructor&&!y.call(e,"constructor")&&!y.call(e.constructor.prototype,"isPrototypeOf"))return!1}catch(n){return!1}var r;for(r in e);return r===t||y.call(e,r)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},error:function(e){throw Error(e)},parseHTML:function(e,t,n){if(!e||"string"!=typeof e)return null;"boolean"==typeof t&&(n=t,t=!1),t=t||o;var r=C.exec(e),i=!n&&[];return r?[t.createElement(r[1])]:(r=b.buildFragment([e],t,i),i&&b(i).remove(),b.merge([],r.childNodes))},parseJSON:function(n){return e.JSON&&e.JSON.parse?e.JSON.parse(n):null===n?n:"string"==typeof n&&(n=b.trim(n),n&&k.test(n.replace(S,"@").replace(A,"]").replace(E,"")))?Function("return "+n)():(b.error("Invalid JSON: "+n),t)},parseXML:function(n){var r,i;if(!n||"string"!=typeof n)return null;try{e.DOMParser?(i=new DOMParser,r=i.parseFromString(n,"text/xml")):(r=new ActiveXObject("Microsoft.XMLDOM"),r.async="false",r.loadXML(n))}catch(o){r=t}return r&&r.documentElement&&!r.getElementsByTagName("parsererror").length||b.error("Invalid XML: "+n),r},noop:function(){},globalEval:function(t){t&&b.trim(t)&&(e.execScript||function(t){e.eval.call(e,t)})(t)},camelCase:function(e){return e.replace(j,"ms-").replace(D,L)},nodeName:function(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()},each:function(e,t,n){var r,i=0,o=e.length,a=M(e);if(n){if(a){for(;o>i;i++)if(r=t.apply(e[i],n),r===!1)break}else for(i in e)if(r=t.apply(e[i],n),r===!1)break}else if(a){for(;o>i;i++)if(r=t.call(e[i],i,e[i]),r===!1)break}else for(i in e)if(r=t.call(e[i],i,e[i]),r===!1)break;return e},trim:v&&!v.call("\ufeff\u00a0")?function(e){return null==e?"":v.call(e)}:function(e){return null==e?"":(e+"").replace(T,"")},makeArray:function(e,t){var n=t||[];return null!=e&&(M(Object(e))?b.merge(n,"string"==typeof e?[e]:e):d.call(n,e)),n},inArray:function(e,t,n){var r;if(t){if(g)return g.call(t,e,n);for(r=t.length,n=n?0>n?Math.max(0,r+n):n:0;r>n;n++)if(n in t&&t[n]===e)return n}return-1},merge:function(e,n){var r=n.length,i=e.length,o=0;if("number"==typeof r)for(;r>o;o++)e[i++]=n[o];else while(n[o]!==t)e[i++]=n[o++];return e.length=i,e},grep:function(e,t,n){var r,i=[],o=0,a=e.length;for(n=!!n;a>o;o++)r=!!t(e[o],o),n!==r&&i.push(e[o]);return i},map:function(e,t,n){var r,i=0,o=e.length,a=M(e),s=[];if(a)for(;o>i;i++)r=t(e[i],i,n),null!=r&&(s[s.length]=r);else for(i in e)r=t(e[i],i,n),null!=r&&(s[s.length]=r);return f.apply([],s)},guid:1,proxy:function(e,n){var r,i,o;return"string"==typeof n&&(o=e[n],n=e,e=o),b.isFunction(e)?(r=h.call(arguments,2),i=function(){return e.apply(n||this,r.concat(h.call(arguments)))},i.guid=e.guid=e.guid||b.guid++,i):t},access:function(e,n,r,i,o,a,s){var u=0,l=e.length,c=null==r;if("object"===b.type(r)){o=!0;for(u in r)b.access(e,n,u,r[u],!0,a,s)}else if(i!==t&&(o=!0,b.isFunction(i)||(s=!0),c&&(s?(n.call(e,i),n=null):(c=n,n=function(e,t,n){return c.call(b(e),n)})),n))for(;l>u;u++)n(e[u],r,s?i:i.call(e[u],u,n(e[u],r)));return o?e:c?n.call(e):l?n(e[0],r):a},now:function(){return(new Date).getTime()}}),b.ready.promise=function(t){if(!n)if(n=b.Deferred(),"complete"===o.readyState)setTimeout(b.ready);else if(o.addEventListener)o.addEventListener("DOMContentLoaded",H,!1),e.addEventListener("load",H,!1);else{o.attachEvent("onreadystatechange",H),e.attachEvent("onload",H);var r=!1;try{r=null==e.frameElement&&o.documentElement}catch(i){}r&&r.doScroll&&function a(){if(!b.isReady){try{r.doScroll("left")}catch(e){return setTimeout(a,50)}q(),b.ready()}}()}return n.promise(t)},b.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(e,t){l["[object "+t+"]"]=t.toLowerCase()});function M(e){var t=e.length,n=b.type(e);return b.isWindow(e)?!1:1===e.nodeType&&t?!0:"array"===n||"function"!==n&&(0===t||"number"==typeof t&&t>0&&t-1 in e)}r=b(o);var _={};function F(e){var t=_[e]={};return b.each(e.match(w)||[],function(e,n){t[n]=!0}),t}b.Callbacks=function(e){e="string"==typeof e?_[e]||F(e):b.extend({},e);var n,r,i,o,a,s,u=[],l=!e.once&&[],c=function(t){for(r=e.memory&&t,i=!0,a=s||0,s=0,o=u.length,n=!0;u&&o>a;a++)if(u[a].apply(t[0],t[1])===!1&&e.stopOnFalse){r=!1;break}n=!1,u&&(l?l.length&&c(l.shift()):r?u=[]:p.disable())},p={add:function(){if(u){var t=u.length;(function i(t){b.each(t,function(t,n){var r=b.type(n);"function"===r?e.unique&&p.has(n)||u.push(n):n&&n.length&&"string"!==r&&i(n)})})(arguments),n?o=u.length:r&&(s=t,c(r))}return this},remove:function(){return u&&b.each(arguments,function(e,t){var r;while((r=b.inArray(t,u,r))>-1)u.splice(r,1),n&&(o>=r&&o--,a>=r&&a--)}),this},has:function(e){return e?b.inArray(e,u)>-1:!(!u||!u.length)},empty:function(){return u=[],this},disable:function(){return u=l=r=t,this},disabled:function(){return!u},lock:function(){return l=t,r||p.disable(),this},locked:function(){return!l},fireWith:function(e,t){return t=t||[],t=[e,t.slice?t.slice():t],!u||i&&!l||(n?l.push(t):c(t)),this},fire:function(){return p.fireWith(this,arguments),this},fired:function(){return!!i}};return p},b.extend({Deferred:function(e){var t=[["resolve","done",b.Callbacks("once memory"),"resolved"],["reject","fail",b.Callbacks("once memory"),"rejected"],["notify","progress",b.Callbacks("memory")]],n="pending",r={state:function(){return n},always:function(){return i.done(arguments).fail(arguments),this},then:function(){var e=arguments;return b.Deferred(function(n){b.each(t,function(t,o){var a=o[0],s=b.isFunction(e[t])&&e[t];i[o[1]](function(){var e=s&&s.apply(this,arguments);e&&b.isFunction(e.promise)?e.promise().done(n.resolve).fail(n.reject).progress(n.notify):n[a+"With"](this===r?n.promise():this,s?[e]:arguments)})}),e=null}).promise()},promise:function(e){return null!=e?b.extend(e,r):r}},i={};return r.pipe=r.then,b.each(t,function(e,o){var a=o[2],s=o[3];r[o[1]]=a.add,s&&a.add(function(){n=s},t[1^e][2].disable,t[2][2].lock),i[o[0]]=function(){return i[o[0]+"With"](this===i?r:this,arguments),this},i[o[0]+"With"]=a.fireWith}),r.promise(i),e&&e.call(i,i),i},when:function(e){var t=0,n=h.call(arguments),r=n.length,i=1!==r||e&&b.isFunction(e.promise)?r:0,o=1===i?e:b.Deferred(),a=function(e,t,n){return function(r){t[e]=this,n[e]=arguments.length>1?h.call(arguments):r,n===s?o.notifyWith(t,n):--i||o.resolveWith(t,n)}},s,u,l;if(r>1)for(s=Array(r),u=Array(r),l=Array(r);r>t;t++)n[t]&&b.isFunction(n[t].promise)?n[t].promise().done(a(t,l,n)).fail(o.reject).progress(a(t,u,s)):--i;return i||o.resolveWith(l,n),o.promise()}}),b.support=function(){var t,n,r,a,s,u,l,c,p,f,d=o.createElement("div");if(d.setAttribute("className","t"),d.innerHTML=" <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",n=d.getElementsByTagName("*"),r=d.getElementsByTagName("a")[0],!n||!r||!n.length)return{};s=o.createElement("select"),l=s.appendChild(o.createElement("option")),a=d.getElementsByTagName("input")[0],r.style.cssText="top:1px;float:left;opacity:.5",t={getSetAttribute:"t"!==d.className,leadingWhitespace:3===d.firstChild.nodeType,tbody:!d.getElementsByTagName("tbody").length,htmlSerialize:!!d.getElementsByTagName("link").length,style:/top/.test(r.getAttribute("style")),hrefNormalized:"/a"===r.getAttribute("href"),opacity:/^0.5/.test(r.style.opacity),cssFloat:!!r.style.cssFloat,checkOn:!!a.value,optSelected:l.selected,enctype:!!o.createElement("form").enctype,html5Clone:"<:nav></:nav>"!==o.createElement("nav").cloneNode(!0).outerHTML,boxModel:"CSS1Compat"===o.compatMode,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0,boxSizingReliable:!0,pixelPosition:!1},a.checked=!0,t.noCloneChecked=a.cloneNode(!0).checked,s.disabled=!0,t.optDisabled=!l.disabled;try{delete d.test}catch(h){t.deleteExpando=!1}a=o.createElement("input"),a.setAttribute("value",""),t.input=""===a.getAttribute("value"),a.value="t",a.setAttribute("type","radio"),t.radioValue="t"===a.value,a.setAttribute("checked","t"),a.setAttribute("name","t"),u=o.createDocumentFragment(),u.appendChild(a),t.appendChecked=a.checked,t.checkClone=u.cloneNode(!0).cloneNode(!0).lastChild.checked,d.attachEvent&&(d.attachEvent("onclick",function(){t.noCloneEvent=!1}),d.cloneNode(!0).click());for(f in{submit:!0,change:!0,focusin:!0})d.setAttribute(c="on"+f,"t"),t[f+"Bubbles"]=c in e||d.attributes[c].expando===!1;return d.style.backgroundClip="content-box",d.cloneNode(!0).style.backgroundClip="",t.clearCloneStyle="content-box"===d.style.backgroundClip,b(function(){var n,r,a,s="padding:0;margin:0;border:0;display:block;box-sizing:content-box;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;",u=o.getElementsByTagName("body")[0];u&&(n=o.createElement("div"),n.style.cssText="border:0;width:0;height:0;position:absolute;top:0;left:-9999px;margin-top:1px",u.appendChild(n).appendChild(d),d.innerHTML="<table><tr><td></td><td>t</td></tr></table>",a=d.getElementsByTagName("td"),a[0].style.cssText="padding:0;margin:0;border:0;display:none",p=0===a[0].offsetHeight,a[0].style.display="",a[1].style.display="none",t.reliableHiddenOffsets=p&&0===a[0].offsetHeight,d.innerHTML="",d.style.cssText="box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%;",t.boxSizing=4===d.offsetWidth,t.doesNotIncludeMarginInBodyOffset=1!==u.offsetTop,e.getComputedStyle&&(t.pixelPosition="1%"!==(e.getComputedStyle(d,null)||{}).top,t.boxSizingReliable="4px"===(e.getComputedStyle(d,null)||{width:"4px"}).width,r=d.appendChild(o.createElement("div")),r.style.cssText=d.style.cssText=s,r.style.marginRight=r.style.width="0",d.style.width="1px",t.reliableMarginRight=!parseFloat((e.getComputedStyle(r,null)||{}).marginRight)),typeof d.style.zoom!==i&&(d.innerHTML="",d.style.cssText=s+"width:1px;padding:1px;display:inline;zoom:1",t.inlineBlockNeedsLayout=3===d.offsetWidth,d.style.display="block",d.innerHTML="<div></div>",d.firstChild.style.width="5px",t.shrinkWrapBlocks=3!==d.offsetWidth,t.inlineBlockNeedsLayout&&(u.style.zoom=1)),u.removeChild(n),n=d=a=r=null)}),n=s=u=l=r=a=null,t}();var O=/(?:\{[\s\S]*\}|\[[\s\S]*\])$/,B=/([A-Z])/g;function P(e,n,r,i){if(b.acceptData(e)){var o,a,s=b.expando,u="string"==typeof n,l=e.nodeType,p=l?b.cache:e,f=l?e[s]:e[s]&&s;if(f&&p[f]&&(i||p[f].data)||!u||r!==t)return f||(l?e[s]=f=c.pop()||b.guid++:f=s),p[f]||(p[f]={},l||(p[f].toJSON=b.noop)),("object"==typeof n||"function"==typeof n)&&(i?p[f]=b.extend(p[f],n):p[f].data=b.extend(p[f].data,n)),o=p[f],i||(o.data||(o.data={}),o=o.data),r!==t&&(o[b.camelCase(n)]=r),u?(a=o[n],null==a&&(a=o[b.camelCase(n)])):a=o,a}}function R(e,t,n){if(b.acceptData(e)){var r,i,o,a=e.nodeType,s=a?b.cache:e,u=a?e[b.expando]:b.expando;if(s[u]){if(t&&(o=n?s[u]:s[u].data)){b.isArray(t)?t=t.concat(b.map(t,b.camelCase)):t in o?t=[t]:(t=b.camelCase(t),t=t in o?[t]:t.split(" "));for(r=0,i=t.length;i>r;r++)delete o[t[r]];if(!(n?$:b.isEmptyObject)(o))return}(n||(delete s[u].data,$(s[u])))&&(a?b.cleanData([e],!0):b.support.deleteExpando||s!=s.window?delete s[u]:s[u]=null)}}}b.extend({cache:{},expando:"jQuery"+(p+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(e){return e=e.nodeType?b.cache[e[b.expando]]:e[b.expando],!!e&&!$(e)},data:function(e,t,n){return P(e,t,n)},removeData:function(e,t){return R(e,t)},_data:function(e,t,n){return P(e,t,n,!0)},_removeData:function(e,t){return R(e,t,!0)},acceptData:function(e){if(e.nodeType&&1!==e.nodeType&&9!==e.nodeType)return!1;var t=e.nodeName&&b.noData[e.nodeName.toLowerCase()];return!t||t!==!0&&e.getAttribute("classid")===t}}),b.fn.extend({data:function(e,n){var r,i,o=this[0],a=0,s=null;if(e===t){if(this.length&&(s=b.data(o),1===o.nodeType&&!b._data(o,"parsedAttrs"))){for(r=o.attributes;r.length>a;a++)i=r[a].name,i.indexOf("data-")||(i=b.camelCase(i.slice(5)),W(o,i,s[i]));b._data(o,"parsedAttrs",!0)}return s}return"object"==typeof e?this.each(function(){b.data(this,e)}):b.access(this,function(n){return n===t?o?W(o,e,b.data(o,e)):null:(this.each(function(){b.data(this,e,n)}),t)},null,n,arguments.length>1,null,!0)},removeData:function(e){return this.each(function(){b.removeData(this,e)})}});function W(e,n,r){if(r===t&&1===e.nodeType){var i="data-"+n.replace(B,"-$1").toLowerCase();if(r=e.getAttribute(i),"string"==typeof r){try{r="true"===r?!0:"false"===r?!1:"null"===r?null:+r+""===r?+r:O.test(r)?b.parseJSON(r):r}catch(o){}b.data(e,n,r)}else r=t}return r}function $(e){var t;for(t in e)if(("data"!==t||!b.isEmptyObject(e[t]))&&"toJSON"!==t)return!1;return!0}b.extend({queue:function(e,n,r){var i;return e?(n=(n||"fx")+"queue",i=b._data(e,n),r&&(!i||b.isArray(r)?i=b._data(e,n,b.makeArray(r)):i.push(r)),i||[]):t},dequeue:function(e,t){t=t||"fx";var n=b.queue(e,t),r=n.length,i=n.shift(),o=b._queueHooks(e,t),a=function(){b.dequeue(e,t)};"inprogress"===i&&(i=n.shift(),r--),o.cur=i,i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,a,o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return b._data(e,n)||b._data(e,n,{empty:b.Callbacks("once memory").add(function(){b._removeData(e,t+"queue"),b._removeData(e,n)})})}}),b.fn.extend({queue:function(e,n){var r=2;return"string"!=typeof e&&(n=e,e="fx",r--),r>arguments.length?b.queue(this[0],e):n===t?this:this.each(function(){var t=b.queue(this,e,n);b._queueHooks(this,e),"fx"===e&&"inprogress"!==t[0]&&b.dequeue(this,e)})},dequeue:function(e){return this.each(function(){b.dequeue(this,e)})},delay:function(e,t){return e=b.fx?b.fx.speeds[e]||e:e,t=t||"fx",this.queue(t,function(t,n){var r=setTimeout(t,e);n.stop=function(){clearTimeout(r)}})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,n){var r,i=1,o=b.Deferred(),a=this,s=this.length,u=function(){--i||o.resolveWith(a,[a])};"string"!=typeof e&&(n=e,e=t),e=e||"fx";while(s--)r=b._data(a[s],e+"queueHooks"),r&&r.empty&&(i++,r.empty.add(u));return u(),o.promise(n)}});var I,z,X=/[\t\r\n]/g,U=/\r/g,V=/^(?:input|select|textarea|button|object)$/i,Y=/^(?:a|area)$/i,J=/^(?:checked|selected|autofocus|autoplay|async|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped)$/i,G=/^(?:checked|selected)$/i,Q=b.support.getSetAttribute,K=b.support.input;b.fn.extend({attr:function(e,t){return b.access(this,b.attr,e,t,arguments.length>1)},removeAttr:function(e){return this.each(function(){b.removeAttr(this,e)})},prop:function(e,t){return b.access(this,b.prop,e,t,arguments.length>1)},removeProp:function(e){return e=b.propFix[e]||e,this.each(function(){try{this[e]=t,delete this[e]}catch(n){}})},addClass:function(e){var t,n,r,i,o,a=0,s=this.length,u="string"==typeof e&&e;if(b.isFunction(e))return this.each(function(t){b(this).addClass(e.call(this,t,this.className))});if(u)for(t=(e||"").match(w)||[];s>a;a++)if(n=this[a],r=1===n.nodeType&&(n.className?(" "+n.className+" ").replace(X," "):" ")){o=0;while(i=t[o++])0>r.indexOf(" "+i+" ")&&(r+=i+" ");n.className=b.trim(r)}return this},removeClass:function(e){var t,n,r,i,o,a=0,s=this.length,u=0===arguments.length||"string"==typeof e&&e;if(b.isFunction(e))return this.each(function(t){b(this).removeClass(e.call(this,t,this.className))});if(u)for(t=(e||"").match(w)||[];s>a;a++)if(n=this[a],r=1===n.nodeType&&(n.className?(" "+n.className+" ").replace(X," "):"")){o=0;while(i=t[o++])while(r.indexOf(" "+i+" ")>=0)r=r.replace(" "+i+" "," ");n.className=e?b.trim(r):""}return this},toggleClass:function(e,t){var n=typeof e,r="boolean"==typeof t;return b.isFunction(e)?this.each(function(n){b(this).toggleClass(e.call(this,n,this.className,t),t)}):this.each(function(){if("string"===n){var o,a=0,s=b(this),u=t,l=e.match(w)||[];while(o=l[a++])u=r?u:!s.hasClass(o),s[u?"addClass":"removeClass"](o)}else(n===i||"boolean"===n)&&(this.className&&b._data(this,"__className__",this.className),this.className=this.className||e===!1?"":b._data(this,"__className__")||"")})},hasClass:function(e){var t=" "+e+" ",n=0,r=this.length;for(;r>n;n++)if(1===this[n].nodeType&&(" "+this[n].className+" ").replace(X," ").indexOf(t)>=0)return!0;return!1},val:function(e){var n,r,i,o=this[0];{if(arguments.length)return i=b.isFunction(e),this.each(function(n){var o,a=b(this);1===this.nodeType&&(o=i?e.call(this,n,a.val()):e,null==o?o="":"number"==typeof o?o+="":b.isArray(o)&&(o=b.map(o,function(e){return null==e?"":e+""})),r=b.valHooks[this.type]||b.valHooks[this.nodeName.toLowerCase()],r&&"set"in r&&r.set(this,o,"value")!==t||(this.value=o))});if(o)return r=b.valHooks[o.type]||b.valHooks[o.nodeName.toLowerCase()],r&&"get"in r&&(n=r.get(o,"value"))!==t?n:(n=o.value,"string"==typeof n?n.replace(U,""):null==n?"":n)}}}),b.extend({valHooks:{option:{get:function(e){var t=e.attributes.value;return!t||t.specified?e.value:e.text}},select:{get:function(e){var t,n,r=e.options,i=e.selectedIndex,o="select-one"===e.type||0>i,a=o?null:[],s=o?i+1:r.length,u=0>i?s:o?i:0;for(;s>u;u++)if(n=r[u],!(!n.selected&&u!==i||(b.support.optDisabled?n.disabled:null!==n.getAttribute("disabled"))||n.parentNode.disabled&&b.nodeName(n.parentNode,"optgroup"))){if(t=b(n).val(),o)return t;a.push(t)}return a},set:function(e,t){var n=b.makeArray(t);return b(e).find("option").each(function(){this.selected=b.inArray(b(this).val(),n)>=0}),n.length||(e.selectedIndex=-1),n}}},attr:function(e,n,r){var o,a,s,u=e.nodeType;if(e&&3!==u&&8!==u&&2!==u)return typeof e.getAttribute===i?b.prop(e,n,r):(a=1!==u||!b.isXMLDoc(e),a&&(n=n.toLowerCase(),o=b.attrHooks[n]||(J.test(n)?z:I)),r===t?o&&a&&"get"in o&&null!==(s=o.get(e,n))?s:(typeof e.getAttribute!==i&&(s=e.getAttribute(n)),null==s?t:s):null!==r?o&&a&&"set"in o&&(s=o.set(e,r,n))!==t?s:(e.setAttribute(n,r+""),r):(b.removeAttr(e,n),t))},removeAttr:function(e,t){var n,r,i=0,o=t&&t.match(w);if(o&&1===e.nodeType)while(n=o[i++])r=b.propFix[n]||n,J.test(n)?!Q&&G.test(n)?e[b.camelCase("default-"+n)]=e[r]=!1:e[r]=!1:b.attr(e,n,""),e.removeAttribute(Q?n:r)},attrHooks:{type:{set:function(e,t){if(!b.support.radioValue&&"radio"===t&&b.nodeName(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},propFix:{tabindex:"tabIndex",readonly:"readOnly","for":"htmlFor","class":"className",maxlength:"maxLength",cellspacing:"cellSpacing",cellpadding:"cellPadding",rowspan:"rowSpan",colspan:"colSpan",usemap:"useMap",frameborder:"frameBorder",contenteditable:"contentEditable"},prop:function(e,n,r){var i,o,a,s=e.nodeType;if(e&&3!==s&&8!==s&&2!==s)return a=1!==s||!b.isXMLDoc(e),a&&(n=b.propFix[n]||n,o=b.propHooks[n]),r!==t?o&&"set"in o&&(i=o.set(e,r,n))!==t?i:e[n]=r:o&&"get"in o&&null!==(i=o.get(e,n))?i:e[n]},propHooks:{tabIndex:{get:function(e){var n=e.getAttributeNode("tabindex");return n&&n.specified?parseInt(n.value,10):V.test(e.nodeName)||Y.test(e.nodeName)&&e.href?0:t}}}}),z={get:function(e,n){var r=b.prop(e,n),i="boolean"==typeof r&&e.getAttribute(n),o="boolean"==typeof r?K&&Q?null!=i:G.test(n)?e[b.camelCase("default-"+n)]:!!i:e.getAttributeNode(n);return o&&o.value!==!1?n.toLowerCase():t},set:function(e,t,n){return t===!1?b.removeAttr(e,n):K&&Q||!G.test(n)?e.setAttribute(!Q&&b.propFix[n]||n,n):e[b.camelCase("default-"+n)]=e[n]=!0,n}},K&&Q||(b.attrHooks.value={get:function(e,n){var r=e.getAttributeNode(n);return b.nodeName(e,"input")?e.defaultValue:r&&r.specified?r.value:t},set:function(e,n,r){return b.nodeName(e,"input")?(e.defaultValue=n,t):I&&I.set(e,n,r)}}),Q||(I=b.valHooks.button={get:function(e,n){var r=e.getAttributeNode(n);return r&&("id"===n||"name"===n||"coords"===n?""!==r.value:r.specified)?r.value:t},set:function(e,n,r){var i=e.getAttributeNode(r);return i||e.setAttributeNode(i=e.ownerDocument.createAttribute(r)),i.value=n+="","value"===r||n===e.getAttribute(r)?n:t}},b.attrHooks.contenteditable={get:I.get,set:function(e,t,n){I.set(e,""===t?!1:t,n)}},b.each(["width","height"],function(e,n){b.attrHooks[n]=b.extend(b.attrHooks[n],{set:function(e,r){return""===r?(e.setAttribute(n,"auto"),r):t}})})),b.support.hrefNormalized||(b.each(["href","src","width","height"],function(e,n){b.attrHooks[n]=b.extend(b.attrHooks[n],{get:function(e){var r=e.getAttribute(n,2);return null==r?t:r}})}),b.each(["href","src"],function(e,t){b.propHooks[t]={get:function(e){return e.getAttribute(t,4)}}})),b.support.style||(b.attrHooks.style={get:function(e){return e.style.cssText||t},set:function(e,t){return e.style.cssText=t+""}}),b.support.optSelected||(b.propHooks.selected=b.extend(b.propHooks.selected,{get:function(e){var t=e.parentNode;return t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex),null}})),b.support.enctype||(b.propFix.enctype="encoding"),b.support.checkOn||b.each(["radio","checkbox"],function(){b.valHooks[this]={get:function(e){return null===e.getAttribute("value")?"on":e.value}}}),b.each(["radio","checkbox"],function(){b.valHooks[this]=b.extend(b.valHooks[this],{set:function(e,n){return b.isArray(n)?e.checked=b.inArray(b(e).val(),n)>=0:t}})});var Z=/^(?:input|select|textarea)$/i,et=/^key/,tt=/^(?:mouse|contextmenu)|click/,nt=/^(?:focusinfocus|focusoutblur)$/,rt=/^([^.]*)(?:\.(.+)|)$/;function it(){return!0}function ot(){return!1}b.event={global:{},add:function(e,n,r,o,a){var s,u,l,c,p,f,d,h,g,m,y,v=b._data(e);if(v){r.handler&&(c=r,r=c.handler,a=c.selector),r.guid||(r.guid=b.guid++),(u=v.events)||(u=v.events={}),(f=v.handle)||(f=v.handle=function(e){return typeof b===i||e&&b.event.triggered===e.type?t:b.event.dispatch.apply(f.elem,arguments)},f.elem=e),n=(n||"").match(w)||[""],l=n.length;while(l--)s=rt.exec(n[l])||[],g=y=s[1],m=(s[2]||"").split(".").sort(),p=b.event.special[g]||{},g=(a?p.delegateType:p.bindType)||g,p=b.event.special[g]||{},d=b.extend({type:g,origType:y,data:o,handler:r,guid:r.guid,selector:a,needsContext:a&&b.expr.match.needsContext.test(a),namespace:m.join(".")},c),(h=u[g])||(h=u[g]=[],h.delegateCount=0,p.setup&&p.setup.call(e,o,m,f)!==!1||(e.addEventListener?e.addEventListener(g,f,!1):e.attachEvent&&e.attachEvent("on"+g,f))),p.add&&(p.add.call(e,d),d.handler.guid||(d.handler.guid=r.guid)),a?h.splice(h.delegateCount++,0,d):h.push(d),b.event.global[g]=!0;e=null}},remove:function(e,t,n,r,i){var o,a,s,u,l,c,p,f,d,h,g,m=b.hasData(e)&&b._data(e);if(m&&(c=m.events)){t=(t||"").match(w)||[""],l=t.length;while(l--)if(s=rt.exec(t[l])||[],d=g=s[1],h=(s[2]||"").split(".").sort(),d){p=b.event.special[d]||{},d=(r?p.delegateType:p.bindType)||d,f=c[d]||[],s=s[2]&&RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),u=o=f.length;while(o--)a=f[o],!i&&g!==a.origType||n&&n.guid!==a.guid||s&&!s.test(a.namespace)||r&&r!==a.selector&&("**"!==r||!a.selector)||(f.splice(o,1),a.selector&&f.delegateCount--,p.remove&&p.remove.call(e,a));u&&!f.length&&(p.teardown&&p.teardown.call(e,h,m.handle)!==!1||b.removeEvent(e,d,m.handle),delete c[d])}else for(d in c)b.event.remove(e,d+t[l],n,r,!0);b.isEmptyObject(c)&&(delete m.handle,b._removeData(e,"events"))}},trigger:function(n,r,i,a){var s,u,l,c,p,f,d,h=[i||o],g=y.call(n,"type")?n.type:n,m=y.call(n,"namespace")?n.namespace.split("."):[];if(l=f=i=i||o,3!==i.nodeType&&8!==i.nodeType&&!nt.test(g+b.event.triggered)&&(g.indexOf(".")>=0&&(m=g.split("."),g=m.shift(),m.sort()),u=0>g.indexOf(":")&&"on"+g,n=n[b.expando]?n:new b.Event(g,"object"==typeof n&&n),n.isTrigger=!0,n.namespace=m.join("."),n.namespace_re=n.namespace?RegExp("(^|\\.)"+m.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,n.result=t,n.target||(n.target=i),r=null==r?[n]:b.makeArray(r,[n]),p=b.event.special[g]||{},a||!p.trigger||p.trigger.apply(i,r)!==!1)){if(!a&&!p.noBubble&&!b.isWindow(i)){for(c=p.delegateType||g,nt.test(c+g)||(l=l.parentNode);l;l=l.parentNode)h.push(l),f=l;f===(i.ownerDocument||o)&&h.push(f.defaultView||f.parentWindow||e)}d=0;while((l=h[d++])&&!n.isPropagationStopped())n.type=d>1?c:p.bindType||g,s=(b._data(l,"events")||{})[n.type]&&b._data(l,"handle"),s&&s.apply(l,r),s=u&&l[u],s&&b.acceptData(l)&&s.apply&&s.apply(l,r)===!1&&n.preventDefault();if(n.type=g,!(a||n.isDefaultPrevented()||p._default&&p._default.apply(i.ownerDocument,r)!==!1||"click"===g&&b.nodeName(i,"a")||!b.acceptData(i)||!u||!i[g]||b.isWindow(i))){f=i[u],f&&(i[u]=null),b.event.triggered=g;try{i[g]()}catch(v){}b.event.triggered=t,f&&(i[u]=f)}return n.result}},dispatch:function(e){e=b.event.fix(e);var n,r,i,o,a,s=[],u=h.call(arguments),l=(b._data(this,"events")||{})[e.type]||[],c=b.event.special[e.type]||{};if(u[0]=e,e.delegateTarget=this,!c.preDispatch||c.preDispatch.call(this,e)!==!1){s=b.event.handlers.call(this,e,l),n=0;while((o=s[n++])&&!e.isPropagationStopped()){e.currentTarget=o.elem,a=0;while((i=o.handlers[a++])&&!e.isImmediatePropagationStopped())(!e.namespace_re||e.namespace_re.test(i.namespace))&&(e.handleObj=i,e.data=i.data,r=((b.event.special[i.origType]||{}).handle||i.handler).apply(o.elem,u),r!==t&&(e.result=r)===!1&&(e.preventDefault(),e.stopPropagation()))}return c.postDispatch&&c.postDispatch.call(this,e),e.result}},handlers:function(e,n){var r,i,o,a,s=[],u=n.delegateCount,l=e.target;if(u&&l.nodeType&&(!e.button||"click"!==e.type))for(;l!=this;l=l.parentNode||this)if(1===l.nodeType&&(l.disabled!==!0||"click"!==e.type)){for(o=[],a=0;u>a;a++)i=n[a],r=i.selector+" ",o[r]===t&&(o[r]=i.needsContext?b(r,this).index(l)>=0:b.find(r,this,null,[l]).length),o[r]&&o.push(i);o.length&&s.push({elem:l,handlers:o})}return n.length>u&&s.push({elem:this,handlers:n.slice(u)}),s},fix:function(e){if(e[b.expando])return e;var t,n,r,i=e.type,a=e,s=this.fixHooks[i];s||(this.fixHooks[i]=s=tt.test(i)?this.mouseHooks:et.test(i)?this.keyHooks:{}),r=s.props?this.props.concat(s.props):this.props,e=new b.Event(a),t=r.length;while(t--)n=r[t],e[n]=a[n];return e.target||(e.target=a.srcElement||o),3===e.target.nodeType&&(e.target=e.target.parentNode),e.metaKey=!!e.metaKey,s.filter?s.filter(e,a):e},props:"altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(e,t){return null==e.which&&(e.which=null!=t.charCode?t.charCode:t.keyCode),e}},mouseHooks:{props:"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(e,n){var r,i,a,s=n.button,u=n.fromElement;return null==e.pageX&&null!=n.clientX&&(i=e.target.ownerDocument||o,a=i.documentElement,r=i.body,e.pageX=n.clientX+(a&&a.scrollLeft||r&&r.scrollLeft||0)-(a&&a.clientLeft||r&&r.clientLeft||0),e.pageY=n.clientY+(a&&a.scrollTop||r&&r.scrollTop||0)-(a&&a.clientTop||r&&r.clientTop||0)),!e.relatedTarget&&u&&(e.relatedTarget=u===e.target?n.toElement:u),e.which||s===t||(e.which=1&s?1:2&s?3:4&s?2:0),e}},special:{load:{noBubble:!0},click:{trigger:function(){return b.nodeName(this,"input")&&"checkbox"===this.type&&this.click?(this.click(),!1):t}},focus:{trigger:function(){if(this!==o.activeElement&&this.focus)try{return this.focus(),!1}catch(e){}},delegateType:"focusin"},blur:{trigger:function(){return this===o.activeElement&&this.blur?(this.blur(),!1):t},delegateType:"focusout"},beforeunload:{postDispatch:function(e){e.result!==t&&(e.originalEvent.returnValue=e.result)}}},simulate:function(e,t,n,r){var i=b.extend(new b.Event,n,{type:e,isSimulated:!0,originalEvent:{}});r?b.event.trigger(i,null,t):b.event.dispatch.call(t,i),i.isDefaultPrevented()&&n.preventDefault()}},b.removeEvent=o.removeEventListener?function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n,!1)}:function(e,t,n){var r="on"+t;e.detachEvent&&(typeof e[r]===i&&(e[r]=null),e.detachEvent(r,n))},b.Event=function(e,n){return this instanceof b.Event?(e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||e.returnValue===!1||e.getPreventDefault&&e.getPreventDefault()?it:ot):this.type=e,n&&b.extend(this,n),this.timeStamp=e&&e.timeStamp||b.now(),this[b.expando]=!0,t):new b.Event(e,n)},b.Event.prototype={isDefaultPrevented:ot,isPropagationStopped:ot,isImmediatePropagationStopped:ot,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=it,e&&(e.preventDefault?e.preventDefault():e.returnValue=!1)},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=it,e&&(e.stopPropagation&&e.stopPropagation(),e.cancelBubble=!0)},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=it,this.stopPropagation()}},b.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(e,t){b.event.special[e]={delegateType:t,bindType:t,handle:function(e){var n,r=this,i=e.relatedTarget,o=e.handleObj; | |
return(!i||i!==r&&!b.contains(r,i))&&(e.type=o.origType,n=o.handler.apply(this,arguments),e.type=t),n}}}),b.support.submitBubbles||(b.event.special.submit={setup:function(){return b.nodeName(this,"form")?!1:(b.event.add(this,"click._submit keypress._submit",function(e){var n=e.target,r=b.nodeName(n,"input")||b.nodeName(n,"button")?n.form:t;r&&!b._data(r,"submitBubbles")&&(b.event.add(r,"submit._submit",function(e){e._submit_bubble=!0}),b._data(r,"submitBubbles",!0))}),t)},postDispatch:function(e){e._submit_bubble&&(delete e._submit_bubble,this.parentNode&&!e.isTrigger&&b.event.simulate("submit",this.parentNode,e,!0))},teardown:function(){return b.nodeName(this,"form")?!1:(b.event.remove(this,"._submit"),t)}}),b.support.changeBubbles||(b.event.special.change={setup:function(){return Z.test(this.nodeName)?(("checkbox"===this.type||"radio"===this.type)&&(b.event.add(this,"propertychange._change",function(e){"checked"===e.originalEvent.propertyName&&(this._just_changed=!0)}),b.event.add(this,"click._change",function(e){this._just_changed&&!e.isTrigger&&(this._just_changed=!1),b.event.simulate("change",this,e,!0)})),!1):(b.event.add(this,"beforeactivate._change",function(e){var t=e.target;Z.test(t.nodeName)&&!b._data(t,"changeBubbles")&&(b.event.add(t,"change._change",function(e){!this.parentNode||e.isSimulated||e.isTrigger||b.event.simulate("change",this.parentNode,e,!0)}),b._data(t,"changeBubbles",!0))}),t)},handle:function(e){var n=e.target;return this!==n||e.isSimulated||e.isTrigger||"radio"!==n.type&&"checkbox"!==n.type?e.handleObj.handler.apply(this,arguments):t},teardown:function(){return b.event.remove(this,"._change"),!Z.test(this.nodeName)}}),b.support.focusinBubbles||b.each({focus:"focusin",blur:"focusout"},function(e,t){var n=0,r=function(e){b.event.simulate(t,e.target,b.event.fix(e),!0)};b.event.special[t]={setup:function(){0===n++&&o.addEventListener(e,r,!0)},teardown:function(){0===--n&&o.removeEventListener(e,r,!0)}}}),b.fn.extend({on:function(e,n,r,i,o){var a,s;if("object"==typeof e){"string"!=typeof n&&(r=r||n,n=t);for(a in e)this.on(a,n,r,e[a],o);return this}if(null==r&&null==i?(i=n,r=n=t):null==i&&("string"==typeof n?(i=r,r=t):(i=r,r=n,n=t)),i===!1)i=ot;else if(!i)return this;return 1===o&&(s=i,i=function(e){return b().off(e),s.apply(this,arguments)},i.guid=s.guid||(s.guid=b.guid++)),this.each(function(){b.event.add(this,e,i,r,n)})},one:function(e,t,n,r){return this.on(e,t,n,r,1)},off:function(e,n,r){var i,o;if(e&&e.preventDefault&&e.handleObj)return i=e.handleObj,b(e.delegateTarget).off(i.namespace?i.origType+"."+i.namespace:i.origType,i.selector,i.handler),this;if("object"==typeof e){for(o in e)this.off(o,n,e[o]);return this}return(n===!1||"function"==typeof n)&&(r=n,n=t),r===!1&&(r=ot),this.each(function(){b.event.remove(this,e,r,n)})},bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},trigger:function(e,t){return this.each(function(){b.event.trigger(e,t,this)})},triggerHandler:function(e,n){var r=this[0];return r?b.event.trigger(e,n,r,!0):t}}),function(e,t){var n,r,i,o,a,s,u,l,c,p,f,d,h,g,m,y,v,x="sizzle"+-new Date,w=e.document,T={},N=0,C=0,k=it(),E=it(),S=it(),A=typeof t,j=1<<31,D=[],L=D.pop,H=D.push,q=D.slice,M=D.indexOf||function(e){var t=0,n=this.length;for(;n>t;t++)if(this[t]===e)return t;return-1},_="[\\x20\\t\\r\\n\\f]",F="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",O=F.replace("w","w#"),B="([*^$|!~]?=)",P="\\["+_+"*("+F+")"+_+"*(?:"+B+_+"*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|("+O+")|)|)"+_+"*\\]",R=":("+F+")(?:\\(((['\"])((?:\\\\.|[^\\\\])*?)\\3|((?:\\\\.|[^\\\\()[\\]]|"+P.replace(3,8)+")*)|.*)\\)|)",W=RegExp("^"+_+"+|((?:^|[^\\\\])(?:\\\\.)*)"+_+"+$","g"),$=RegExp("^"+_+"*,"+_+"*"),I=RegExp("^"+_+"*([\\x20\\t\\r\\n\\f>+~])"+_+"*"),z=RegExp(R),X=RegExp("^"+O+"$"),U={ID:RegExp("^#("+F+")"),CLASS:RegExp("^\\.("+F+")"),NAME:RegExp("^\\[name=['\"]?("+F+")['\"]?\\]"),TAG:RegExp("^("+F.replace("w","w*")+")"),ATTR:RegExp("^"+P),PSEUDO:RegExp("^"+R),CHILD:RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+_+"*(even|odd|(([+-]|)(\\d*)n|)"+_+"*(?:([+-]|)"+_+"*(\\d+)|))"+_+"*\\)|)","i"),needsContext:RegExp("^"+_+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+_+"*((?:-\\d)?\\d*)"+_+"*\\)|)(?=[^-]|$)","i")},V=/[\x20\t\r\n\f]*[+~]/,Y=/^[^{]+\{\s*\[native code/,J=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,G=/^(?:input|select|textarea|button)$/i,Q=/^h\d$/i,K=/'|\\/g,Z=/\=[\x20\t\r\n\f]*([^'"\]]*)[\x20\t\r\n\f]*\]/g,et=/\\([\da-fA-F]{1,6}[\x20\t\r\n\f]?|.)/g,tt=function(e,t){var n="0x"+t-65536;return n!==n?t:0>n?String.fromCharCode(n+65536):String.fromCharCode(55296|n>>10,56320|1023&n)};try{q.call(w.documentElement.childNodes,0)[0].nodeType}catch(nt){q=function(e){var t,n=[];while(t=this[e++])n.push(t);return n}}function rt(e){return Y.test(e+"")}function it(){var e,t=[];return e=function(n,r){return t.push(n+=" ")>i.cacheLength&&delete e[t.shift()],e[n]=r}}function ot(e){return e[x]=!0,e}function at(e){var t=p.createElement("div");try{return e(t)}catch(n){return!1}finally{t=null}}function st(e,t,n,r){var i,o,a,s,u,l,f,g,m,v;if((t?t.ownerDocument||t:w)!==p&&c(t),t=t||p,n=n||[],!e||"string"!=typeof e)return n;if(1!==(s=t.nodeType)&&9!==s)return[];if(!d&&!r){if(i=J.exec(e))if(a=i[1]){if(9===s){if(o=t.getElementById(a),!o||!o.parentNode)return n;if(o.id===a)return n.push(o),n}else if(t.ownerDocument&&(o=t.ownerDocument.getElementById(a))&&y(t,o)&&o.id===a)return n.push(o),n}else{if(i[2])return H.apply(n,q.call(t.getElementsByTagName(e),0)),n;if((a=i[3])&&T.getByClassName&&t.getElementsByClassName)return H.apply(n,q.call(t.getElementsByClassName(a),0)),n}if(T.qsa&&!h.test(e)){if(f=!0,g=x,m=t,v=9===s&&e,1===s&&"object"!==t.nodeName.toLowerCase()){l=ft(e),(f=t.getAttribute("id"))?g=f.replace(K,"\\$&"):t.setAttribute("id",g),g="[id='"+g+"'] ",u=l.length;while(u--)l[u]=g+dt(l[u]);m=V.test(e)&&t.parentNode||t,v=l.join(",")}if(v)try{return H.apply(n,q.call(m.querySelectorAll(v),0)),n}catch(b){}finally{f||t.removeAttribute("id")}}}return wt(e.replace(W,"$1"),t,n,r)}a=st.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return t?"HTML"!==t.nodeName:!1},c=st.setDocument=function(e){var n=e?e.ownerDocument||e:w;return n!==p&&9===n.nodeType&&n.documentElement?(p=n,f=n.documentElement,d=a(n),T.tagNameNoComments=at(function(e){return e.appendChild(n.createComment("")),!e.getElementsByTagName("*").length}),T.attributes=at(function(e){e.innerHTML="<select></select>";var t=typeof e.lastChild.getAttribute("multiple");return"boolean"!==t&&"string"!==t}),T.getByClassName=at(function(e){return e.innerHTML="<div class='hidden e'></div><div class='hidden'></div>",e.getElementsByClassName&&e.getElementsByClassName("e").length?(e.lastChild.className="e",2===e.getElementsByClassName("e").length):!1}),T.getByName=at(function(e){e.id=x+0,e.innerHTML="<a name='"+x+"'></a><div name='"+x+"'></div>",f.insertBefore(e,f.firstChild);var t=n.getElementsByName&&n.getElementsByName(x).length===2+n.getElementsByName(x+0).length;return T.getIdNotName=!n.getElementById(x),f.removeChild(e),t}),i.attrHandle=at(function(e){return e.innerHTML="<a href='#'></a>",e.firstChild&&typeof e.firstChild.getAttribute!==A&&"#"===e.firstChild.getAttribute("href")})?{}:{href:function(e){return e.getAttribute("href",2)},type:function(e){return e.getAttribute("type")}},T.getIdNotName?(i.find.ID=function(e,t){if(typeof t.getElementById!==A&&!d){var n=t.getElementById(e);return n&&n.parentNode?[n]:[]}},i.filter.ID=function(e){var t=e.replace(et,tt);return function(e){return e.getAttribute("id")===t}}):(i.find.ID=function(e,n){if(typeof n.getElementById!==A&&!d){var r=n.getElementById(e);return r?r.id===e||typeof r.getAttributeNode!==A&&r.getAttributeNode("id").value===e?[r]:t:[]}},i.filter.ID=function(e){var t=e.replace(et,tt);return function(e){var n=typeof e.getAttributeNode!==A&&e.getAttributeNode("id");return n&&n.value===t}}),i.find.TAG=T.tagNameNoComments?function(e,n){return typeof n.getElementsByTagName!==A?n.getElementsByTagName(e):t}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},i.find.NAME=T.getByName&&function(e,n){return typeof n.getElementsByName!==A?n.getElementsByName(name):t},i.find.CLASS=T.getByClassName&&function(e,n){return typeof n.getElementsByClassName===A||d?t:n.getElementsByClassName(e)},g=[],h=[":focus"],(T.qsa=rt(n.querySelectorAll))&&(at(function(e){e.innerHTML="<select><option selected=''></option></select>",e.querySelectorAll("[selected]").length||h.push("\\["+_+"*(?:checked|disabled|ismap|multiple|readonly|selected|value)"),e.querySelectorAll(":checked").length||h.push(":checked")}),at(function(e){e.innerHTML="<input type='hidden' i=''/>",e.querySelectorAll("[i^='']").length&&h.push("[*^$]="+_+"*(?:\"\"|'')"),e.querySelectorAll(":enabled").length||h.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),h.push(",.*:")})),(T.matchesSelector=rt(m=f.matchesSelector||f.mozMatchesSelector||f.webkitMatchesSelector||f.oMatchesSelector||f.msMatchesSelector))&&at(function(e){T.disconnectedMatch=m.call(e,"div"),m.call(e,"[s!='']:x"),g.push("!=",R)}),h=RegExp(h.join("|")),g=RegExp(g.join("|")),y=rt(f.contains)||f.compareDocumentPosition?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},v=f.compareDocumentPosition?function(e,t){var r;return e===t?(u=!0,0):(r=t.compareDocumentPosition&&e.compareDocumentPosition&&e.compareDocumentPosition(t))?1&r||e.parentNode&&11===e.parentNode.nodeType?e===n||y(w,e)?-1:t===n||y(w,t)?1:0:4&r?-1:1:e.compareDocumentPosition?-1:1}:function(e,t){var r,i=0,o=e.parentNode,a=t.parentNode,s=[e],l=[t];if(e===t)return u=!0,0;if(!o||!a)return e===n?-1:t===n?1:o?-1:a?1:0;if(o===a)return ut(e,t);r=e;while(r=r.parentNode)s.unshift(r);r=t;while(r=r.parentNode)l.unshift(r);while(s[i]===l[i])i++;return i?ut(s[i],l[i]):s[i]===w?-1:l[i]===w?1:0},u=!1,[0,0].sort(v),T.detectDuplicates=u,p):p},st.matches=function(e,t){return st(e,null,null,t)},st.matchesSelector=function(e,t){if((e.ownerDocument||e)!==p&&c(e),t=t.replace(Z,"='$1']"),!(!T.matchesSelector||d||g&&g.test(t)||h.test(t)))try{var n=m.call(e,t);if(n||T.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(r){}return st(t,p,null,[e]).length>0},st.contains=function(e,t){return(e.ownerDocument||e)!==p&&c(e),y(e,t)},st.attr=function(e,t){var n;return(e.ownerDocument||e)!==p&&c(e),d||(t=t.toLowerCase()),(n=i.attrHandle[t])?n(e):d||T.attributes?e.getAttribute(t):((n=e.getAttributeNode(t))||e.getAttribute(t))&&e[t]===!0?t:n&&n.specified?n.value:null},st.error=function(e){throw Error("Syntax error, unrecognized expression: "+e)},st.uniqueSort=function(e){var t,n=[],r=1,i=0;if(u=!T.detectDuplicates,e.sort(v),u){for(;t=e[r];r++)t===e[r-1]&&(i=n.push(r));while(i--)e.splice(n[i],1)}return e};function ut(e,t){var n=t&&e,r=n&&(~t.sourceIndex||j)-(~e.sourceIndex||j);if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function lt(e){return function(t){var n=t.nodeName.toLowerCase();return"input"===n&&t.type===e}}function ct(e){return function(t){var n=t.nodeName.toLowerCase();return("input"===n||"button"===n)&&t.type===e}}function pt(e){return ot(function(t){return t=+t,ot(function(n,r){var i,o=e([],n.length,t),a=o.length;while(a--)n[i=o[a]]&&(n[i]=!(r[i]=n[i]))})})}o=st.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i){if(1===i||9===i||11===i){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=o(e)}else if(3===i||4===i)return e.nodeValue}else for(;t=e[r];r++)n+=o(t);return n},i=st.selectors={cacheLength:50,createPseudo:ot,match:U,find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(et,tt),e[3]=(e[4]||e[5]||"").replace(et,tt),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||st.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&st.error(e[0]),e},PSEUDO:function(e){var t,n=!e[5]&&e[2];return U.CHILD.test(e[0])?null:(e[4]?e[2]=e[4]:n&&z.test(n)&&(t=ft(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){return"*"===e?function(){return!0}:(e=e.replace(et,tt).toLowerCase(),function(t){return t.nodeName&&t.nodeName.toLowerCase()===e})},CLASS:function(e){var t=k[e+" "];return t||(t=RegExp("(^|"+_+")"+e+"("+_+"|$)"))&&k(e,function(e){return t.test(e.className||typeof e.getAttribute!==A&&e.getAttribute("class")||"")})},ATTR:function(e,t,n){return function(r){var i=st.attr(r,e);return null==i?"!="===t:t?(i+="","="===t?i===n:"!="===t?i!==n:"^="===t?n&&0===i.indexOf(n):"*="===t?n&&i.indexOf(n)>-1:"$="===t?n&&i.slice(-n.length)===n:"~="===t?(" "+i+" ").indexOf(n)>-1:"|="===t?i===n||i.slice(0,n.length+1)===n+"-":!1):!0}},CHILD:function(e,t,n,r,i){var o="nth"!==e.slice(0,3),a="last"!==e.slice(-4),s="of-type"===t;return 1===r&&0===i?function(e){return!!e.parentNode}:function(t,n,u){var l,c,p,f,d,h,g=o!==a?"nextSibling":"previousSibling",m=t.parentNode,y=s&&t.nodeName.toLowerCase(),v=!u&&!s;if(m){if(o){while(g){p=t;while(p=p[g])if(s?p.nodeName.toLowerCase()===y:1===p.nodeType)return!1;h=g="only"===e&&!h&&"nextSibling"}return!0}if(h=[a?m.firstChild:m.lastChild],a&&v){c=m[x]||(m[x]={}),l=c[e]||[],d=l[0]===N&&l[1],f=l[0]===N&&l[2],p=d&&m.childNodes[d];while(p=++d&&p&&p[g]||(f=d=0)||h.pop())if(1===p.nodeType&&++f&&p===t){c[e]=[N,d,f];break}}else if(v&&(l=(t[x]||(t[x]={}))[e])&&l[0]===N)f=l[1];else while(p=++d&&p&&p[g]||(f=d=0)||h.pop())if((s?p.nodeName.toLowerCase()===y:1===p.nodeType)&&++f&&(v&&((p[x]||(p[x]={}))[e]=[N,f]),p===t))break;return f-=i,f===r||0===f%r&&f/r>=0}}},PSEUDO:function(e,t){var n,r=i.pseudos[e]||i.setFilters[e.toLowerCase()]||st.error("unsupported pseudo: "+e);return r[x]?r(t):r.length>1?(n=[e,e,"",t],i.setFilters.hasOwnProperty(e.toLowerCase())?ot(function(e,n){var i,o=r(e,t),a=o.length;while(a--)i=M.call(e,o[a]),e[i]=!(n[i]=o[a])}):function(e){return r(e,0,n)}):r}},pseudos:{not:ot(function(e){var t=[],n=[],r=s(e.replace(W,"$1"));return r[x]?ot(function(e,t,n,i){var o,a=r(e,null,i,[]),s=e.length;while(s--)(o=a[s])&&(e[s]=!(t[s]=o))}):function(e,i,o){return t[0]=e,r(t,null,o,n),!n.pop()}}),has:ot(function(e){return function(t){return st(e,t).length>0}}),contains:ot(function(e){return function(t){return(t.textContent||t.innerText||o(t)).indexOf(e)>-1}}),lang:ot(function(e){return X.test(e||"")||st.error("unsupported lang: "+e),e=e.replace(et,tt).toLowerCase(),function(t){var n;do if(n=d?t.getAttribute("xml:lang")||t.getAttribute("lang"):t.lang)return n=n.toLowerCase(),n===e||0===n.indexOf(e+"-");while((t=t.parentNode)&&1===t.nodeType);return!1}}),target:function(t){var n=e.location&&e.location.hash;return n&&n.slice(1)===t.id},root:function(e){return e===f},focus:function(e){return e===p.activeElement&&(!p.hasFocus||p.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:function(e){return e.disabled===!1},disabled:function(e){return e.disabled===!0},checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,e.selected===!0},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeName>"@"||3===e.nodeType||4===e.nodeType)return!1;return!0},parent:function(e){return!i.pseudos.empty(e)},header:function(e){return Q.test(e.nodeName)},input:function(e){return G.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||t.toLowerCase()===e.type)},first:pt(function(){return[0]}),last:pt(function(e,t){return[t-1]}),eq:pt(function(e,t,n){return[0>n?n+t:n]}),even:pt(function(e,t){var n=0;for(;t>n;n+=2)e.push(n);return e}),odd:pt(function(e,t){var n=1;for(;t>n;n+=2)e.push(n);return e}),lt:pt(function(e,t,n){var r=0>n?n+t:n;for(;--r>=0;)e.push(r);return e}),gt:pt(function(e,t,n){var r=0>n?n+t:n;for(;t>++r;)e.push(r);return e})}};for(n in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})i.pseudos[n]=lt(n);for(n in{submit:!0,reset:!0})i.pseudos[n]=ct(n);function ft(e,t){var n,r,o,a,s,u,l,c=E[e+" "];if(c)return t?0:c.slice(0);s=e,u=[],l=i.preFilter;while(s){(!n||(r=$.exec(s)))&&(r&&(s=s.slice(r[0].length)||s),u.push(o=[])),n=!1,(r=I.exec(s))&&(n=r.shift(),o.push({value:n,type:r[0].replace(W," ")}),s=s.slice(n.length));for(a in i.filter)!(r=U[a].exec(s))||l[a]&&!(r=l[a](r))||(n=r.shift(),o.push({value:n,type:a,matches:r}),s=s.slice(n.length));if(!n)break}return t?s.length:s?st.error(e):E(e,u).slice(0)}function dt(e){var t=0,n=e.length,r="";for(;n>t;t++)r+=e[t].value;return r}function ht(e,t,n){var i=t.dir,o=n&&"parentNode"===i,a=C++;return t.first?function(t,n,r){while(t=t[i])if(1===t.nodeType||o)return e(t,n,r)}:function(t,n,s){var u,l,c,p=N+" "+a;if(s){while(t=t[i])if((1===t.nodeType||o)&&e(t,n,s))return!0}else while(t=t[i])if(1===t.nodeType||o)if(c=t[x]||(t[x]={}),(l=c[i])&&l[0]===p){if((u=l[1])===!0||u===r)return u===!0}else if(l=c[i]=[p],l[1]=e(t,n,s)||r,l[1]===!0)return!0}}function gt(e){return e.length>1?function(t,n,r){var i=e.length;while(i--)if(!e[i](t,n,r))return!1;return!0}:e[0]}function mt(e,t,n,r,i){var o,a=[],s=0,u=e.length,l=null!=t;for(;u>s;s++)(o=e[s])&&(!n||n(o,r,i))&&(a.push(o),l&&t.push(s));return a}function yt(e,t,n,r,i,o){return r&&!r[x]&&(r=yt(r)),i&&!i[x]&&(i=yt(i,o)),ot(function(o,a,s,u){var l,c,p,f=[],d=[],h=a.length,g=o||xt(t||"*",s.nodeType?[s]:s,[]),m=!e||!o&&t?g:mt(g,f,e,s,u),y=n?i||(o?e:h||r)?[]:a:m;if(n&&n(m,y,s,u),r){l=mt(y,d),r(l,[],s,u),c=l.length;while(c--)(p=l[c])&&(y[d[c]]=!(m[d[c]]=p))}if(o){if(i||e){if(i){l=[],c=y.length;while(c--)(p=y[c])&&l.push(m[c]=p);i(null,y=[],l,u)}c=y.length;while(c--)(p=y[c])&&(l=i?M.call(o,p):f[c])>-1&&(o[l]=!(a[l]=p))}}else y=mt(y===a?y.splice(h,y.length):y),i?i(null,a,y,u):H.apply(a,y)})}function vt(e){var t,n,r,o=e.length,a=i.relative[e[0].type],s=a||i.relative[" "],u=a?1:0,c=ht(function(e){return e===t},s,!0),p=ht(function(e){return M.call(t,e)>-1},s,!0),f=[function(e,n,r){return!a&&(r||n!==l)||((t=n).nodeType?c(e,n,r):p(e,n,r))}];for(;o>u;u++)if(n=i.relative[e[u].type])f=[ht(gt(f),n)];else{if(n=i.filter[e[u].type].apply(null,e[u].matches),n[x]){for(r=++u;o>r;r++)if(i.relative[e[r].type])break;return yt(u>1&>(f),u>1&&dt(e.slice(0,u-1)).replace(W,"$1"),n,r>u&&vt(e.slice(u,r)),o>r&&vt(e=e.slice(r)),o>r&&dt(e))}f.push(n)}return gt(f)}function bt(e,t){var n=0,o=t.length>0,a=e.length>0,s=function(s,u,c,f,d){var h,g,m,y=[],v=0,b="0",x=s&&[],w=null!=d,T=l,C=s||a&&i.find.TAG("*",d&&u.parentNode||u),k=N+=null==T?1:Math.random()||.1;for(w&&(l=u!==p&&u,r=n);null!=(h=C[b]);b++){if(a&&h){g=0;while(m=e[g++])if(m(h,u,c)){f.push(h);break}w&&(N=k,r=++n)}o&&((h=!m&&h)&&v--,s&&x.push(h))}if(v+=b,o&&b!==v){g=0;while(m=t[g++])m(x,y,u,c);if(s){if(v>0)while(b--)x[b]||y[b]||(y[b]=L.call(f));y=mt(y)}H.apply(f,y),w&&!s&&y.length>0&&v+t.length>1&&st.uniqueSort(f)}return w&&(N=k,l=T),x};return o?ot(s):s}s=st.compile=function(e,t){var n,r=[],i=[],o=S[e+" "];if(!o){t||(t=ft(e)),n=t.length;while(n--)o=vt(t[n]),o[x]?r.push(o):i.push(o);o=S(e,bt(i,r))}return o};function xt(e,t,n){var r=0,i=t.length;for(;i>r;r++)st(e,t[r],n);return n}function wt(e,t,n,r){var o,a,u,l,c,p=ft(e);if(!r&&1===p.length){if(a=p[0]=p[0].slice(0),a.length>2&&"ID"===(u=a[0]).type&&9===t.nodeType&&!d&&i.relative[a[1].type]){if(t=i.find.ID(u.matches[0].replace(et,tt),t)[0],!t)return n;e=e.slice(a.shift().value.length)}o=U.needsContext.test(e)?0:a.length;while(o--){if(u=a[o],i.relative[l=u.type])break;if((c=i.find[l])&&(r=c(u.matches[0].replace(et,tt),V.test(a[0].type)&&t.parentNode||t))){if(a.splice(o,1),e=r.length&&dt(a),!e)return H.apply(n,q.call(r,0)),n;break}}}return s(e,p)(r,t,d,n,V.test(e)),n}i.pseudos.nth=i.pseudos.eq;function Tt(){}i.filters=Tt.prototype=i.pseudos,i.setFilters=new Tt,c(),st.attr=b.attr,b.find=st,b.expr=st.selectors,b.expr[":"]=b.expr.pseudos,b.unique=st.uniqueSort,b.text=st.getText,b.isXMLDoc=st.isXML,b.contains=st.contains}(e);var at=/Until$/,st=/^(?:parents|prev(?:Until|All))/,ut=/^.[^:#\[\.,]*$/,lt=b.expr.match.needsContext,ct={children:!0,contents:!0,next:!0,prev:!0};b.fn.extend({find:function(e){var t,n,r,i=this.length;if("string"!=typeof e)return r=this,this.pushStack(b(e).filter(function(){for(t=0;i>t;t++)if(b.contains(r[t],this))return!0}));for(n=[],t=0;i>t;t++)b.find(e,this[t],n);return n=this.pushStack(i>1?b.unique(n):n),n.selector=(this.selector?this.selector+" ":"")+e,n},has:function(e){var t,n=b(e,this),r=n.length;return this.filter(function(){for(t=0;r>t;t++)if(b.contains(this,n[t]))return!0})},not:function(e){return this.pushStack(ft(this,e,!1))},filter:function(e){return this.pushStack(ft(this,e,!0))},is:function(e){return!!e&&("string"==typeof e?lt.test(e)?b(e,this.context).index(this[0])>=0:b.filter(e,this).length>0:this.filter(e).length>0)},closest:function(e,t){var n,r=0,i=this.length,o=[],a=lt.test(e)||"string"!=typeof e?b(e,t||this.context):0;for(;i>r;r++){n=this[r];while(n&&n.ownerDocument&&n!==t&&11!==n.nodeType){if(a?a.index(n)>-1:b.find.matchesSelector(n,e)){o.push(n);break}n=n.parentNode}}return this.pushStack(o.length>1?b.unique(o):o)},index:function(e){return e?"string"==typeof e?b.inArray(this[0],b(e)):b.inArray(e.jquery?e[0]:e,this):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){var n="string"==typeof e?b(e,t):b.makeArray(e&&e.nodeType?[e]:e),r=b.merge(this.get(),n);return this.pushStack(b.unique(r))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),b.fn.andSelf=b.fn.addBack;function pt(e,t){do e=e[t];while(e&&1!==e.nodeType);return e}b.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return b.dir(e,"parentNode")},parentsUntil:function(e,t,n){return b.dir(e,"parentNode",n)},next:function(e){return pt(e,"nextSibling")},prev:function(e){return pt(e,"previousSibling")},nextAll:function(e){return b.dir(e,"nextSibling")},prevAll:function(e){return b.dir(e,"previousSibling")},nextUntil:function(e,t,n){return b.dir(e,"nextSibling",n)},prevUntil:function(e,t,n){return b.dir(e,"previousSibling",n)},siblings:function(e){return b.sibling((e.parentNode||{}).firstChild,e)},children:function(e){return b.sibling(e.firstChild)},contents:function(e){return b.nodeName(e,"iframe")?e.contentDocument||e.contentWindow.document:b.merge([],e.childNodes)}},function(e,t){b.fn[e]=function(n,r){var i=b.map(this,t,n);return at.test(e)||(r=n),r&&"string"==typeof r&&(i=b.filter(r,i)),i=this.length>1&&!ct[e]?b.unique(i):i,this.length>1&&st.test(e)&&(i=i.reverse()),this.pushStack(i)}}),b.extend({filter:function(e,t,n){return n&&(e=":not("+e+")"),1===t.length?b.find.matchesSelector(t[0],e)?[t[0]]:[]:b.find.matches(e,t)},dir:function(e,n,r){var i=[],o=e[n];while(o&&9!==o.nodeType&&(r===t||1!==o.nodeType||!b(o).is(r)))1===o.nodeType&&i.push(o),o=o[n];return i},sibling:function(e,t){var n=[];for(;e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n}});function ft(e,t,n){if(t=t||0,b.isFunction(t))return b.grep(e,function(e,r){var i=!!t.call(e,r,e);return i===n});if(t.nodeType)return b.grep(e,function(e){return e===t===n});if("string"==typeof t){var r=b.grep(e,function(e){return 1===e.nodeType});if(ut.test(t))return b.filter(t,r,!n);t=b.filter(t,r)}return b.grep(e,function(e){return b.inArray(e,t)>=0===n})}function dt(e){var t=ht.split("|"),n=e.createDocumentFragment();if(n.createElement)while(t.length)n.createElement(t.pop());return n}var ht="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",gt=/ jQuery\d+="(?:null|\d+)"/g,mt=RegExp("<(?:"+ht+")[\\s/>]","i"),yt=/^\s+/,vt=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,bt=/<([\w:]+)/,xt=/<tbody/i,wt=/<|&#?\w+;/,Tt=/<(?:script|style|link)/i,Nt=/^(?:checkbox|radio)$/i,Ct=/checked\s*(?:[^=]|=\s*.checked.)/i,kt=/^$|\/(?:java|ecma)script/i,Et=/^true\/(.*)/,St=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g,At={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],area:[1,"<map>","</map>"],param:[1,"<object>","</object>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:b.support.htmlSerialize?[0,"",""]:[1,"X<div>","</div>"]},jt=dt(o),Dt=jt.appendChild(o.createElement("div"));At.optgroup=At.option,At.tbody=At.tfoot=At.colgroup=At.caption=At.thead,At.th=At.td,b.fn.extend({text:function(e){return b.access(this,function(e){return e===t?b.text(this):this.empty().append((this[0]&&this[0].ownerDocument||o).createTextNode(e))},null,e,arguments.length)},wrapAll:function(e){if(b.isFunction(e))return this.each(function(t){b(this).wrapAll(e.call(this,t))});if(this[0]){var t=b(e,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){var e=this;while(e.firstChild&&1===e.firstChild.nodeType)e=e.firstChild;return e}).append(this)}return this},wrapInner:function(e){return b.isFunction(e)?this.each(function(t){b(this).wrapInner(e.call(this,t))}):this.each(function(){var t=b(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=b.isFunction(e);return this.each(function(n){b(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(){return this.parent().each(function(){b.nodeName(this,"body")||b(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(e){(1===this.nodeType||11===this.nodeType||9===this.nodeType)&&this.appendChild(e)})},prepend:function(){return this.domManip(arguments,!0,function(e){(1===this.nodeType||11===this.nodeType||9===this.nodeType)&&this.insertBefore(e,this.firstChild)})},before:function(){return this.domManip(arguments,!1,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return this.domManip(arguments,!1,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},remove:function(e,t){var n,r=0;for(;null!=(n=this[r]);r++)(!e||b.filter(e,[n]).length>0)&&(t||1!==n.nodeType||b.cleanData(Ot(n)),n.parentNode&&(t&&b.contains(n.ownerDocument,n)&&Mt(Ot(n,"script")),n.parentNode.removeChild(n)));return this},empty:function(){var e,t=0;for(;null!=(e=this[t]);t++){1===e.nodeType&&b.cleanData(Ot(e,!1));while(e.firstChild)e.removeChild(e.firstChild);e.options&&b.nodeName(e,"select")&&(e.options.length=0)}return this},clone:function(e,t){return e=null==e?!1:e,t=null==t?e:t,this.map(function(){return b.clone(this,e,t)})},html:function(e){return b.access(this,function(e){var n=this[0]||{},r=0,i=this.length;if(e===t)return 1===n.nodeType?n.innerHTML.replace(gt,""):t;if(!("string"!=typeof e||Tt.test(e)||!b.support.htmlSerialize&&mt.test(e)||!b.support.leadingWhitespace&&yt.test(e)||At[(bt.exec(e)||["",""])[1].toLowerCase()])){e=e.replace(vt,"<$1></$2>");try{for(;i>r;r++)n=this[r]||{},1===n.nodeType&&(b.cleanData(Ot(n,!1)),n.innerHTML=e);n=0}catch(o){}}n&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(e){var t=b.isFunction(e);return t||"string"==typeof e||(e=b(e).not(this).detach()),this.domManip([e],!0,function(e){var t=this.nextSibling,n=this.parentNode;n&&(b(this).remove(),n.insertBefore(e,t))})},detach:function(e){return this.remove(e,!0)},domManip:function(e,n,r){e=f.apply([],e);var i,o,a,s,u,l,c=0,p=this.length,d=this,h=p-1,g=e[0],m=b.isFunction(g);if(m||!(1>=p||"string"!=typeof g||b.support.checkClone)&&Ct.test(g))return this.each(function(i){var o=d.eq(i);m&&(e[0]=g.call(this,i,n?o.html():t)),o.domManip(e,n,r)});if(p&&(l=b.buildFragment(e,this[0].ownerDocument,!1,this),i=l.firstChild,1===l.childNodes.length&&(l=i),i)){for(n=n&&b.nodeName(i,"tr"),s=b.map(Ot(l,"script"),Ht),a=s.length;p>c;c++)o=l,c!==h&&(o=b.clone(o,!0,!0),a&&b.merge(s,Ot(o,"script"))),r.call(n&&b.nodeName(this[c],"table")?Lt(this[c],"tbody"):this[c],o,c);if(a)for(u=s[s.length-1].ownerDocument,b.map(s,qt),c=0;a>c;c++)o=s[c],kt.test(o.type||"")&&!b._data(o,"globalEval")&&b.contains(u,o)&&(o.src?b.ajax({url:o.src,type:"GET",dataType:"script",async:!1,global:!1,"throws":!0}):b.globalEval((o.text||o.textContent||o.innerHTML||"").replace(St,"")));l=i=null}return this}});function Lt(e,t){return e.getElementsByTagName(t)[0]||e.appendChild(e.ownerDocument.createElement(t))}function Ht(e){var t=e.getAttributeNode("type");return e.type=(t&&t.specified)+"/"+e.type,e}function qt(e){var t=Et.exec(e.type);return t?e.type=t[1]:e.removeAttribute("type"),e}function Mt(e,t){var n,r=0;for(;null!=(n=e[r]);r++)b._data(n,"globalEval",!t||b._data(t[r],"globalEval"))}function _t(e,t){if(1===t.nodeType&&b.hasData(e)){var n,r,i,o=b._data(e),a=b._data(t,o),s=o.events;if(s){delete a.handle,a.events={};for(n in s)for(r=0,i=s[n].length;i>r;r++)b.event.add(t,n,s[n][r])}a.data&&(a.data=b.extend({},a.data))}}function Ft(e,t){var n,r,i;if(1===t.nodeType){if(n=t.nodeName.toLowerCase(),!b.support.noCloneEvent&&t[b.expando]){i=b._data(t);for(r in i.events)b.removeEvent(t,r,i.handle);t.removeAttribute(b.expando)}"script"===n&&t.text!==e.text?(Ht(t).text=e.text,qt(t)):"object"===n?(t.parentNode&&(t.outerHTML=e.outerHTML),b.support.html5Clone&&e.innerHTML&&!b.trim(t.innerHTML)&&(t.innerHTML=e.innerHTML)):"input"===n&&Nt.test(e.type)?(t.defaultChecked=t.checked=e.checked,t.value!==e.value&&(t.value=e.value)):"option"===n?t.defaultSelected=t.selected=e.defaultSelected:("input"===n||"textarea"===n)&&(t.defaultValue=e.defaultValue)}}b.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,t){b.fn[e]=function(e){var n,r=0,i=[],o=b(e),a=o.length-1;for(;a>=r;r++)n=r===a?this:this.clone(!0),b(o[r])[t](n),d.apply(i,n.get());return this.pushStack(i)}});function Ot(e,n){var r,o,a=0,s=typeof e.getElementsByTagName!==i?e.getElementsByTagName(n||"*"):typeof e.querySelectorAll!==i?e.querySelectorAll(n||"*"):t;if(!s)for(s=[],r=e.childNodes||e;null!=(o=r[a]);a++)!n||b.nodeName(o,n)?s.push(o):b.merge(s,Ot(o,n));return n===t||n&&b.nodeName(e,n)?b.merge([e],s):s}function Bt(e){Nt.test(e.type)&&(e.defaultChecked=e.checked)}b.extend({clone:function(e,t,n){var r,i,o,a,s,u=b.contains(e.ownerDocument,e);if(b.support.html5Clone||b.isXMLDoc(e)||!mt.test("<"+e.nodeName+">")?o=e.cloneNode(!0):(Dt.innerHTML=e.outerHTML,Dt.removeChild(o=Dt.firstChild)),!(b.support.noCloneEvent&&b.support.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||b.isXMLDoc(e)))for(r=Ot(o),s=Ot(e),a=0;null!=(i=s[a]);++a)r[a]&&Ft(i,r[a]);if(t)if(n)for(s=s||Ot(e),r=r||Ot(o),a=0;null!=(i=s[a]);a++)_t(i,r[a]);else _t(e,o);return r=Ot(o,"script"),r.length>0&&Mt(r,!u&&Ot(e,"script")),r=s=i=null,o},buildFragment:function(e,t,n,r){var i,o,a,s,u,l,c,p=e.length,f=dt(t),d=[],h=0;for(;p>h;h++)if(o=e[h],o||0===o)if("object"===b.type(o))b.merge(d,o.nodeType?[o]:o);else if(wt.test(o)){s=s||f.appendChild(t.createElement("div")),u=(bt.exec(o)||["",""])[1].toLowerCase(),c=At[u]||At._default,s.innerHTML=c[1]+o.replace(vt,"<$1></$2>")+c[2],i=c[0];while(i--)s=s.lastChild;if(!b.support.leadingWhitespace&&yt.test(o)&&d.push(t.createTextNode(yt.exec(o)[0])),!b.support.tbody){o="table"!==u||xt.test(o)?"<table>"!==c[1]||xt.test(o)?0:s:s.firstChild,i=o&&o.childNodes.length;while(i--)b.nodeName(l=o.childNodes[i],"tbody")&&!l.childNodes.length&&o.removeChild(l) | |
}b.merge(d,s.childNodes),s.textContent="";while(s.firstChild)s.removeChild(s.firstChild);s=f.lastChild}else d.push(t.createTextNode(o));s&&f.removeChild(s),b.support.appendChecked||b.grep(Ot(d,"input"),Bt),h=0;while(o=d[h++])if((!r||-1===b.inArray(o,r))&&(a=b.contains(o.ownerDocument,o),s=Ot(f.appendChild(o),"script"),a&&Mt(s),n)){i=0;while(o=s[i++])kt.test(o.type||"")&&n.push(o)}return s=null,f},cleanData:function(e,t){var n,r,o,a,s=0,u=b.expando,l=b.cache,p=b.support.deleteExpando,f=b.event.special;for(;null!=(n=e[s]);s++)if((t||b.acceptData(n))&&(o=n[u],a=o&&l[o])){if(a.events)for(r in a.events)f[r]?b.event.remove(n,r):b.removeEvent(n,r,a.handle);l[o]&&(delete l[o],p?delete n[u]:typeof n.removeAttribute!==i?n.removeAttribute(u):n[u]=null,c.push(o))}}});var Pt,Rt,Wt,$t=/alpha\([^)]*\)/i,It=/opacity\s*=\s*([^)]*)/,zt=/^(top|right|bottom|left)$/,Xt=/^(none|table(?!-c[ea]).+)/,Ut=/^margin/,Vt=RegExp("^("+x+")(.*)$","i"),Yt=RegExp("^("+x+")(?!px)[a-z%]+$","i"),Jt=RegExp("^([+-])=("+x+")","i"),Gt={BODY:"block"},Qt={position:"absolute",visibility:"hidden",display:"block"},Kt={letterSpacing:0,fontWeight:400},Zt=["Top","Right","Bottom","Left"],en=["Webkit","O","Moz","ms"];function tn(e,t){if(t in e)return t;var n=t.charAt(0).toUpperCase()+t.slice(1),r=t,i=en.length;while(i--)if(t=en[i]+n,t in e)return t;return r}function nn(e,t){return e=t||e,"none"===b.css(e,"display")||!b.contains(e.ownerDocument,e)}function rn(e,t){var n,r,i,o=[],a=0,s=e.length;for(;s>a;a++)r=e[a],r.style&&(o[a]=b._data(r,"olddisplay"),n=r.style.display,t?(o[a]||"none"!==n||(r.style.display=""),""===r.style.display&&nn(r)&&(o[a]=b._data(r,"olddisplay",un(r.nodeName)))):o[a]||(i=nn(r),(n&&"none"!==n||!i)&&b._data(r,"olddisplay",i?n:b.css(r,"display"))));for(a=0;s>a;a++)r=e[a],r.style&&(t&&"none"!==r.style.display&&""!==r.style.display||(r.style.display=t?o[a]||"":"none"));return e}b.fn.extend({css:function(e,n){return b.access(this,function(e,n,r){var i,o,a={},s=0;if(b.isArray(n)){for(o=Rt(e),i=n.length;i>s;s++)a[n[s]]=b.css(e,n[s],!1,o);return a}return r!==t?b.style(e,n,r):b.css(e,n)},e,n,arguments.length>1)},show:function(){return rn(this,!0)},hide:function(){return rn(this)},toggle:function(e){var t="boolean"==typeof e;return this.each(function(){(t?e:nn(this))?b(this).show():b(this).hide()})}}),b.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=Wt(e,"opacity");return""===n?"1":n}}}},cssNumber:{columnCount:!0,fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":b.support.cssFloat?"cssFloat":"styleFloat"},style:function(e,n,r,i){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var o,a,s,u=b.camelCase(n),l=e.style;if(n=b.cssProps[u]||(b.cssProps[u]=tn(l,u)),s=b.cssHooks[n]||b.cssHooks[u],r===t)return s&&"get"in s&&(o=s.get(e,!1,i))!==t?o:l[n];if(a=typeof r,"string"===a&&(o=Jt.exec(r))&&(r=(o[1]+1)*o[2]+parseFloat(b.css(e,n)),a="number"),!(null==r||"number"===a&&isNaN(r)||("number"!==a||b.cssNumber[u]||(r+="px"),b.support.clearCloneStyle||""!==r||0!==n.indexOf("background")||(l[n]="inherit"),s&&"set"in s&&(r=s.set(e,r,i))===t)))try{l[n]=r}catch(c){}}},css:function(e,n,r,i){var o,a,s,u=b.camelCase(n);return n=b.cssProps[u]||(b.cssProps[u]=tn(e.style,u)),s=b.cssHooks[n]||b.cssHooks[u],s&&"get"in s&&(a=s.get(e,!0,r)),a===t&&(a=Wt(e,n,i)),"normal"===a&&n in Kt&&(a=Kt[n]),""===r||r?(o=parseFloat(a),r===!0||b.isNumeric(o)?o||0:a):a},swap:function(e,t,n,r){var i,o,a={};for(o in t)a[o]=e.style[o],e.style[o]=t[o];i=n.apply(e,r||[]);for(o in t)e.style[o]=a[o];return i}}),e.getComputedStyle?(Rt=function(t){return e.getComputedStyle(t,null)},Wt=function(e,n,r){var i,o,a,s=r||Rt(e),u=s?s.getPropertyValue(n)||s[n]:t,l=e.style;return s&&(""!==u||b.contains(e.ownerDocument,e)||(u=b.style(e,n)),Yt.test(u)&&Ut.test(n)&&(i=l.width,o=l.minWidth,a=l.maxWidth,l.minWidth=l.maxWidth=l.width=u,u=s.width,l.width=i,l.minWidth=o,l.maxWidth=a)),u}):o.documentElement.currentStyle&&(Rt=function(e){return e.currentStyle},Wt=function(e,n,r){var i,o,a,s=r||Rt(e),u=s?s[n]:t,l=e.style;return null==u&&l&&l[n]&&(u=l[n]),Yt.test(u)&&!zt.test(n)&&(i=l.left,o=e.runtimeStyle,a=o&&o.left,a&&(o.left=e.currentStyle.left),l.left="fontSize"===n?"1em":u,u=l.pixelLeft+"px",l.left=i,a&&(o.left=a)),""===u?"auto":u});function on(e,t,n){var r=Vt.exec(t);return r?Math.max(0,r[1]-(n||0))+(r[2]||"px"):t}function an(e,t,n,r,i){var o=n===(r?"border":"content")?4:"width"===t?1:0,a=0;for(;4>o;o+=2)"margin"===n&&(a+=b.css(e,n+Zt[o],!0,i)),r?("content"===n&&(a-=b.css(e,"padding"+Zt[o],!0,i)),"margin"!==n&&(a-=b.css(e,"border"+Zt[o]+"Width",!0,i))):(a+=b.css(e,"padding"+Zt[o],!0,i),"padding"!==n&&(a+=b.css(e,"border"+Zt[o]+"Width",!0,i)));return a}function sn(e,t,n){var r=!0,i="width"===t?e.offsetWidth:e.offsetHeight,o=Rt(e),a=b.support.boxSizing&&"border-box"===b.css(e,"boxSizing",!1,o);if(0>=i||null==i){if(i=Wt(e,t,o),(0>i||null==i)&&(i=e.style[t]),Yt.test(i))return i;r=a&&(b.support.boxSizingReliable||i===e.style[t]),i=parseFloat(i)||0}return i+an(e,t,n||(a?"border":"content"),r,o)+"px"}function un(e){var t=o,n=Gt[e];return n||(n=ln(e,t),"none"!==n&&n||(Pt=(Pt||b("<iframe frameborder='0' width='0' height='0'/>").css("cssText","display:block !important")).appendTo(t.documentElement),t=(Pt[0].contentWindow||Pt[0].contentDocument).document,t.write("<!doctype html><html><body>"),t.close(),n=ln(e,t),Pt.detach()),Gt[e]=n),n}function ln(e,t){var n=b(t.createElement(e)).appendTo(t.body),r=b.css(n[0],"display");return n.remove(),r}b.each(["height","width"],function(e,n){b.cssHooks[n]={get:function(e,r,i){return r?0===e.offsetWidth&&Xt.test(b.css(e,"display"))?b.swap(e,Qt,function(){return sn(e,n,i)}):sn(e,n,i):t},set:function(e,t,r){var i=r&&Rt(e);return on(e,t,r?an(e,n,r,b.support.boxSizing&&"border-box"===b.css(e,"boxSizing",!1,i),i):0)}}}),b.support.opacity||(b.cssHooks.opacity={get:function(e,t){return It.test((t&&e.currentStyle?e.currentStyle.filter:e.style.filter)||"")?.01*parseFloat(RegExp.$1)+"":t?"1":""},set:function(e,t){var n=e.style,r=e.currentStyle,i=b.isNumeric(t)?"alpha(opacity="+100*t+")":"",o=r&&r.filter||n.filter||"";n.zoom=1,(t>=1||""===t)&&""===b.trim(o.replace($t,""))&&n.removeAttribute&&(n.removeAttribute("filter"),""===t||r&&!r.filter)||(n.filter=$t.test(o)?o.replace($t,i):o+" "+i)}}),b(function(){b.support.reliableMarginRight||(b.cssHooks.marginRight={get:function(e,n){return n?b.swap(e,{display:"inline-block"},Wt,[e,"marginRight"]):t}}),!b.support.pixelPosition&&b.fn.position&&b.each(["top","left"],function(e,n){b.cssHooks[n]={get:function(e,r){return r?(r=Wt(e,n),Yt.test(r)?b(e).position()[n]+"px":r):t}}})}),b.expr&&b.expr.filters&&(b.expr.filters.hidden=function(e){return 0>=e.offsetWidth&&0>=e.offsetHeight||!b.support.reliableHiddenOffsets&&"none"===(e.style&&e.style.display||b.css(e,"display"))},b.expr.filters.visible=function(e){return!b.expr.filters.hidden(e)}),b.each({margin:"",padding:"",border:"Width"},function(e,t){b.cssHooks[e+t]={expand:function(n){var r=0,i={},o="string"==typeof n?n.split(" "):[n];for(;4>r;r++)i[e+Zt[r]+t]=o[r]||o[r-2]||o[0];return i}},Ut.test(e)||(b.cssHooks[e+t].set=on)});var cn=/%20/g,pn=/\[\]$/,fn=/\r?\n/g,dn=/^(?:submit|button|image|reset|file)$/i,hn=/^(?:input|select|textarea|keygen)/i;b.fn.extend({serialize:function(){return b.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=b.prop(this,"elements");return e?b.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!b(this).is(":disabled")&&hn.test(this.nodeName)&&!dn.test(e)&&(this.checked||!Nt.test(e))}).map(function(e,t){var n=b(this).val();return null==n?null:b.isArray(n)?b.map(n,function(e){return{name:t.name,value:e.replace(fn,"\r\n")}}):{name:t.name,value:n.replace(fn,"\r\n")}}).get()}}),b.param=function(e,n){var r,i=[],o=function(e,t){t=b.isFunction(t)?t():null==t?"":t,i[i.length]=encodeURIComponent(e)+"="+encodeURIComponent(t)};if(n===t&&(n=b.ajaxSettings&&b.ajaxSettings.traditional),b.isArray(e)||e.jquery&&!b.isPlainObject(e))b.each(e,function(){o(this.name,this.value)});else for(r in e)gn(r,e[r],n,o);return i.join("&").replace(cn,"+")};function gn(e,t,n,r){var i;if(b.isArray(t))b.each(t,function(t,i){n||pn.test(e)?r(e,i):gn(e+"["+("object"==typeof i?t:"")+"]",i,n,r)});else if(n||"object"!==b.type(t))r(e,t);else for(i in t)gn(e+"["+i+"]",t[i],n,r)}b.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(e,t){b.fn[t]=function(e,n){return arguments.length>0?this.on(t,null,e,n):this.trigger(t)}}),b.fn.hover=function(e,t){return this.mouseenter(e).mouseleave(t||e)};var mn,yn,vn=b.now(),bn=/\?/,xn=/#.*$/,wn=/([?&])_=[^&]*/,Tn=/^(.*?):[ \t]*([^\r\n]*)\r?$/gm,Nn=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Cn=/^(?:GET|HEAD)$/,kn=/^\/\//,En=/^([\w.+-]+:)(?:\/\/([^\/?#:]*)(?::(\d+)|)|)/,Sn=b.fn.load,An={},jn={},Dn="*/".concat("*");try{yn=a.href}catch(Ln){yn=o.createElement("a"),yn.href="",yn=yn.href}mn=En.exec(yn.toLowerCase())||[];function Hn(e){return function(t,n){"string"!=typeof t&&(n=t,t="*");var r,i=0,o=t.toLowerCase().match(w)||[];if(b.isFunction(n))while(r=o[i++])"+"===r[0]?(r=r.slice(1)||"*",(e[r]=e[r]||[]).unshift(n)):(e[r]=e[r]||[]).push(n)}}function qn(e,n,r,i){var o={},a=e===jn;function s(u){var l;return o[u]=!0,b.each(e[u]||[],function(e,u){var c=u(n,r,i);return"string"!=typeof c||a||o[c]?a?!(l=c):t:(n.dataTypes.unshift(c),s(c),!1)}),l}return s(n.dataTypes[0])||!o["*"]&&s("*")}function Mn(e,n){var r,i,o=b.ajaxSettings.flatOptions||{};for(i in n)n[i]!==t&&((o[i]?e:r||(r={}))[i]=n[i]);return r&&b.extend(!0,e,r),e}b.fn.load=function(e,n,r){if("string"!=typeof e&&Sn)return Sn.apply(this,arguments);var i,o,a,s=this,u=e.indexOf(" ");return u>=0&&(i=e.slice(u,e.length),e=e.slice(0,u)),b.isFunction(n)?(r=n,n=t):n&&"object"==typeof n&&(a="POST"),s.length>0&&b.ajax({url:e,type:a,dataType:"html",data:n}).done(function(e){o=arguments,s.html(i?b("<div>").append(b.parseHTML(e)).find(i):e)}).complete(r&&function(e,t){s.each(r,o||[e.responseText,t,e])}),this},b.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){b.fn[t]=function(e){return this.on(t,e)}}),b.each(["get","post"],function(e,n){b[n]=function(e,r,i,o){return b.isFunction(r)&&(o=o||i,i=r,r=t),b.ajax({url:e,type:n,dataType:o,data:r,success:i})}}),b.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:yn,type:"GET",isLocal:Nn.test(mn[1]),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Dn,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":e.String,"text html":!0,"text json":b.parseJSON,"text xml":b.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?Mn(Mn(e,b.ajaxSettings),t):Mn(b.ajaxSettings,e)},ajaxPrefilter:Hn(An),ajaxTransport:Hn(jn),ajax:function(e,n){"object"==typeof e&&(n=e,e=t),n=n||{};var r,i,o,a,s,u,l,c,p=b.ajaxSetup({},n),f=p.context||p,d=p.context&&(f.nodeType||f.jquery)?b(f):b.event,h=b.Deferred(),g=b.Callbacks("once memory"),m=p.statusCode||{},y={},v={},x=0,T="canceled",N={readyState:0,getResponseHeader:function(e){var t;if(2===x){if(!c){c={};while(t=Tn.exec(a))c[t[1].toLowerCase()]=t[2]}t=c[e.toLowerCase()]}return null==t?null:t},getAllResponseHeaders:function(){return 2===x?a:null},setRequestHeader:function(e,t){var n=e.toLowerCase();return x||(e=v[n]=v[n]||e,y[e]=t),this},overrideMimeType:function(e){return x||(p.mimeType=e),this},statusCode:function(e){var t;if(e)if(2>x)for(t in e)m[t]=[m[t],e[t]];else N.always(e[N.status]);return this},abort:function(e){var t=e||T;return l&&l.abort(t),k(0,t),this}};if(h.promise(N).complete=g.add,N.success=N.done,N.error=N.fail,p.url=((e||p.url||yn)+"").replace(xn,"").replace(kn,mn[1]+"//"),p.type=n.method||n.type||p.method||p.type,p.dataTypes=b.trim(p.dataType||"*").toLowerCase().match(w)||[""],null==p.crossDomain&&(r=En.exec(p.url.toLowerCase()),p.crossDomain=!(!r||r[1]===mn[1]&&r[2]===mn[2]&&(r[3]||("http:"===r[1]?80:443))==(mn[3]||("http:"===mn[1]?80:443)))),p.data&&p.processData&&"string"!=typeof p.data&&(p.data=b.param(p.data,p.traditional)),qn(An,p,n,N),2===x)return N;u=p.global,u&&0===b.active++&&b.event.trigger("ajaxStart"),p.type=p.type.toUpperCase(),p.hasContent=!Cn.test(p.type),o=p.url,p.hasContent||(p.data&&(o=p.url+=(bn.test(o)?"&":"?")+p.data,delete p.data),p.cache===!1&&(p.url=wn.test(o)?o.replace(wn,"$1_="+vn++):o+(bn.test(o)?"&":"?")+"_="+vn++)),p.ifModified&&(b.lastModified[o]&&N.setRequestHeader("If-Modified-Since",b.lastModified[o]),b.etag[o]&&N.setRequestHeader("If-None-Match",b.etag[o])),(p.data&&p.hasContent&&p.contentType!==!1||n.contentType)&&N.setRequestHeader("Content-Type",p.contentType),N.setRequestHeader("Accept",p.dataTypes[0]&&p.accepts[p.dataTypes[0]]?p.accepts[p.dataTypes[0]]+("*"!==p.dataTypes[0]?", "+Dn+"; q=0.01":""):p.accepts["*"]);for(i in p.headers)N.setRequestHeader(i,p.headers[i]);if(p.beforeSend&&(p.beforeSend.call(f,N,p)===!1||2===x))return N.abort();T="abort";for(i in{success:1,error:1,complete:1})N[i](p[i]);if(l=qn(jn,p,n,N)){N.readyState=1,u&&d.trigger("ajaxSend",[N,p]),p.async&&p.timeout>0&&(s=setTimeout(function(){N.abort("timeout")},p.timeout));try{x=1,l.send(y,k)}catch(C){if(!(2>x))throw C;k(-1,C)}}else k(-1,"No Transport");function k(e,n,r,i){var c,y,v,w,T,C=n;2!==x&&(x=2,s&&clearTimeout(s),l=t,a=i||"",N.readyState=e>0?4:0,r&&(w=_n(p,N,r)),e>=200&&300>e||304===e?(p.ifModified&&(T=N.getResponseHeader("Last-Modified"),T&&(b.lastModified[o]=T),T=N.getResponseHeader("etag"),T&&(b.etag[o]=T)),204===e?(c=!0,C="nocontent"):304===e?(c=!0,C="notmodified"):(c=Fn(p,w),C=c.state,y=c.data,v=c.error,c=!v)):(v=C,(e||!C)&&(C="error",0>e&&(e=0))),N.status=e,N.statusText=(n||C)+"",c?h.resolveWith(f,[y,C,N]):h.rejectWith(f,[N,C,v]),N.statusCode(m),m=t,u&&d.trigger(c?"ajaxSuccess":"ajaxError",[N,p,c?y:v]),g.fireWith(f,[N,C]),u&&(d.trigger("ajaxComplete",[N,p]),--b.active||b.event.trigger("ajaxStop")))}return N},getScript:function(e,n){return b.get(e,t,n,"script")},getJSON:function(e,t,n){return b.get(e,t,n,"json")}});function _n(e,n,r){var i,o,a,s,u=e.contents,l=e.dataTypes,c=e.responseFields;for(s in c)s in r&&(n[c[s]]=r[s]);while("*"===l[0])l.shift(),o===t&&(o=e.mimeType||n.getResponseHeader("Content-Type"));if(o)for(s in u)if(u[s]&&u[s].test(o)){l.unshift(s);break}if(l[0]in r)a=l[0];else{for(s in r){if(!l[0]||e.converters[s+" "+l[0]]){a=s;break}i||(i=s)}a=a||i}return a?(a!==l[0]&&l.unshift(a),r[a]):t}function Fn(e,t){var n,r,i,o,a={},s=0,u=e.dataTypes.slice(),l=u[0];if(e.dataFilter&&(t=e.dataFilter(t,e.dataType)),u[1])for(i in e.converters)a[i.toLowerCase()]=e.converters[i];for(;r=u[++s];)if("*"!==r){if("*"!==l&&l!==r){if(i=a[l+" "+r]||a["* "+r],!i)for(n in a)if(o=n.split(" "),o[1]===r&&(i=a[l+" "+o[0]]||a["* "+o[0]])){i===!0?i=a[n]:a[n]!==!0&&(r=o[0],u.splice(s--,0,r));break}if(i!==!0)if(i&&e["throws"])t=i(t);else try{t=i(t)}catch(c){return{state:"parsererror",error:i?c:"No conversion from "+l+" to "+r}}}l=r}return{state:"success",data:t}}b.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/(?:java|ecma)script/},converters:{"text script":function(e){return b.globalEval(e),e}}}),b.ajaxPrefilter("script",function(e){e.cache===t&&(e.cache=!1),e.crossDomain&&(e.type="GET",e.global=!1)}),b.ajaxTransport("script",function(e){if(e.crossDomain){var n,r=o.head||b("head")[0]||o.documentElement;return{send:function(t,i){n=o.createElement("script"),n.async=!0,e.scriptCharset&&(n.charset=e.scriptCharset),n.src=e.url,n.onload=n.onreadystatechange=function(e,t){(t||!n.readyState||/loaded|complete/.test(n.readyState))&&(n.onload=n.onreadystatechange=null,n.parentNode&&n.parentNode.removeChild(n),n=null,t||i(200,"success"))},r.insertBefore(n,r.firstChild)},abort:function(){n&&n.onload(t,!0)}}}});var On=[],Bn=/(=)\?(?=&|$)|\?\?/;b.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=On.pop()||b.expando+"_"+vn++;return this[e]=!0,e}}),b.ajaxPrefilter("json jsonp",function(n,r,i){var o,a,s,u=n.jsonp!==!1&&(Bn.test(n.url)?"url":"string"==typeof n.data&&!(n.contentType||"").indexOf("application/x-www-form-urlencoded")&&Bn.test(n.data)&&"data");return u||"jsonp"===n.dataTypes[0]?(o=n.jsonpCallback=b.isFunction(n.jsonpCallback)?n.jsonpCallback():n.jsonpCallback,u?n[u]=n[u].replace(Bn,"$1"+o):n.jsonp!==!1&&(n.url+=(bn.test(n.url)?"&":"?")+n.jsonp+"="+o),n.converters["script json"]=function(){return s||b.error(o+" was not called"),s[0]},n.dataTypes[0]="json",a=e[o],e[o]=function(){s=arguments},i.always(function(){e[o]=a,n[o]&&(n.jsonpCallback=r.jsonpCallback,On.push(o)),s&&b.isFunction(a)&&a(s[0]),s=a=t}),"script"):t});var Pn,Rn,Wn=0,$n=e.ActiveXObject&&function(){var e;for(e in Pn)Pn[e](t,!0)};function In(){try{return new e.XMLHttpRequest}catch(t){}}function zn(){try{return new e.ActiveXObject("Microsoft.XMLHTTP")}catch(t){}}b.ajaxSettings.xhr=e.ActiveXObject?function(){return!this.isLocal&&In()||zn()}:In,Rn=b.ajaxSettings.xhr(),b.support.cors=!!Rn&&"withCredentials"in Rn,Rn=b.support.ajax=!!Rn,Rn&&b.ajaxTransport(function(n){if(!n.crossDomain||b.support.cors){var r;return{send:function(i,o){var a,s,u=n.xhr();if(n.username?u.open(n.type,n.url,n.async,n.username,n.password):u.open(n.type,n.url,n.async),n.xhrFields)for(s in n.xhrFields)u[s]=n.xhrFields[s];n.mimeType&&u.overrideMimeType&&u.overrideMimeType(n.mimeType),n.crossDomain||i["X-Requested-With"]||(i["X-Requested-With"]="XMLHttpRequest");try{for(s in i)u.setRequestHeader(s,i[s])}catch(l){}u.send(n.hasContent&&n.data||null),r=function(e,i){var s,l,c,p;try{if(r&&(i||4===u.readyState))if(r=t,a&&(u.onreadystatechange=b.noop,$n&&delete Pn[a]),i)4!==u.readyState&&u.abort();else{p={},s=u.status,l=u.getAllResponseHeaders(),"string"==typeof u.responseText&&(p.text=u.responseText);try{c=u.statusText}catch(f){c=""}s||!n.isLocal||n.crossDomain?1223===s&&(s=204):s=p.text?200:404}}catch(d){i||o(-1,d)}p&&o(s,c,p,l)},n.async?4===u.readyState?setTimeout(r):(a=++Wn,$n&&(Pn||(Pn={},b(e).unload($n)),Pn[a]=r),u.onreadystatechange=r):r()},abort:function(){r&&r(t,!0)}}}});var Xn,Un,Vn=/^(?:toggle|show|hide)$/,Yn=RegExp("^(?:([+-])=|)("+x+")([a-z%]*)$","i"),Jn=/queueHooks$/,Gn=[nr],Qn={"*":[function(e,t){var n,r,i=this.createTween(e,t),o=Yn.exec(t),a=i.cur(),s=+a||0,u=1,l=20;if(o){if(n=+o[2],r=o[3]||(b.cssNumber[e]?"":"px"),"px"!==r&&s){s=b.css(i.elem,e,!0)||n||1;do u=u||".5",s/=u,b.style(i.elem,e,s+r);while(u!==(u=i.cur()/a)&&1!==u&&--l)}i.unit=r,i.start=s,i.end=o[1]?s+(o[1]+1)*n:n}return i}]};function Kn(){return setTimeout(function(){Xn=t}),Xn=b.now()}function Zn(e,t){b.each(t,function(t,n){var r=(Qn[t]||[]).concat(Qn["*"]),i=0,o=r.length;for(;o>i;i++)if(r[i].call(e,t,n))return})}function er(e,t,n){var r,i,o=0,a=Gn.length,s=b.Deferred().always(function(){delete u.elem}),u=function(){if(i)return!1;var t=Xn||Kn(),n=Math.max(0,l.startTime+l.duration-t),r=n/l.duration||0,o=1-r,a=0,u=l.tweens.length;for(;u>a;a++)l.tweens[a].run(o);return s.notifyWith(e,[l,o,n]),1>o&&u?n:(s.resolveWith(e,[l]),!1)},l=s.promise({elem:e,props:b.extend({},t),opts:b.extend(!0,{specialEasing:{}},n),originalProperties:t,originalOptions:n,startTime:Xn||Kn(),duration:n.duration,tweens:[],createTween:function(t,n){var r=b.Tween(e,l.opts,t,n,l.opts.specialEasing[t]||l.opts.easing);return l.tweens.push(r),r},stop:function(t){var n=0,r=t?l.tweens.length:0;if(i)return this;for(i=!0;r>n;n++)l.tweens[n].run(1);return t?s.resolveWith(e,[l,t]):s.rejectWith(e,[l,t]),this}}),c=l.props;for(tr(c,l.opts.specialEasing);a>o;o++)if(r=Gn[o].call(l,e,c,l.opts))return r;return Zn(l,c),b.isFunction(l.opts.start)&&l.opts.start.call(e,l),b.fx.timer(b.extend(u,{elem:e,anim:l,queue:l.opts.queue})),l.progress(l.opts.progress).done(l.opts.done,l.opts.complete).fail(l.opts.fail).always(l.opts.always)}function tr(e,t){var n,r,i,o,a;for(i in e)if(r=b.camelCase(i),o=t[r],n=e[i],b.isArray(n)&&(o=n[1],n=e[i]=n[0]),i!==r&&(e[r]=n,delete e[i]),a=b.cssHooks[r],a&&"expand"in a){n=a.expand(n),delete e[r];for(i in n)i in e||(e[i]=n[i],t[i]=o)}else t[r]=o}b.Animation=b.extend(er,{tweener:function(e,t){b.isFunction(e)?(t=e,e=["*"]):e=e.split(" ");var n,r=0,i=e.length;for(;i>r;r++)n=e[r],Qn[n]=Qn[n]||[],Qn[n].unshift(t)},prefilter:function(e,t){t?Gn.unshift(e):Gn.push(e)}});function nr(e,t,n){var r,i,o,a,s,u,l,c,p,f=this,d=e.style,h={},g=[],m=e.nodeType&&nn(e);n.queue||(c=b._queueHooks(e,"fx"),null==c.unqueued&&(c.unqueued=0,p=c.empty.fire,c.empty.fire=function(){c.unqueued||p()}),c.unqueued++,f.always(function(){f.always(function(){c.unqueued--,b.queue(e,"fx").length||c.empty.fire()})})),1===e.nodeType&&("height"in t||"width"in t)&&(n.overflow=[d.overflow,d.overflowX,d.overflowY],"inline"===b.css(e,"display")&&"none"===b.css(e,"float")&&(b.support.inlineBlockNeedsLayout&&"inline"!==un(e.nodeName)?d.zoom=1:d.display="inline-block")),n.overflow&&(d.overflow="hidden",b.support.shrinkWrapBlocks||f.always(function(){d.overflow=n.overflow[0],d.overflowX=n.overflow[1],d.overflowY=n.overflow[2]}));for(i in t)if(a=t[i],Vn.exec(a)){if(delete t[i],u=u||"toggle"===a,a===(m?"hide":"show"))continue;g.push(i)}if(o=g.length){s=b._data(e,"fxshow")||b._data(e,"fxshow",{}),"hidden"in s&&(m=s.hidden),u&&(s.hidden=!m),m?b(e).show():f.done(function(){b(e).hide()}),f.done(function(){var t;b._removeData(e,"fxshow");for(t in h)b.style(e,t,h[t])});for(i=0;o>i;i++)r=g[i],l=f.createTween(r,m?s[r]:0),h[r]=s[r]||b.style(e,r),r in s||(s[r]=l.start,m&&(l.end=l.start,l.start="width"===r||"height"===r?1:0))}}function rr(e,t,n,r,i){return new rr.prototype.init(e,t,n,r,i)}b.Tween=rr,rr.prototype={constructor:rr,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||"swing",this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(b.cssNumber[n]?"":"px")},cur:function(){var e=rr.propHooks[this.prop];return e&&e.get?e.get(this):rr.propHooks._default.get(this)},run:function(e){var t,n=rr.propHooks[this.prop];return this.pos=t=this.options.duration?b.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):rr.propHooks._default.set(this),this}},rr.prototype.init.prototype=rr.prototype,rr.propHooks={_default:{get:function(e){var t;return null==e.elem[e.prop]||e.elem.style&&null!=e.elem.style[e.prop]?(t=b.css(e.elem,e.prop,""),t&&"auto"!==t?t:0):e.elem[e.prop]},set:function(e){b.fx.step[e.prop]?b.fx.step[e.prop](e):e.elem.style&&(null!=e.elem.style[b.cssProps[e.prop]]||b.cssHooks[e.prop])?b.style(e.elem,e.prop,e.now+e.unit):e.elem[e.prop]=e.now}}},rr.propHooks.scrollTop=rr.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},b.each(["toggle","show","hide"],function(e,t){var n=b.fn[t];b.fn[t]=function(e,r,i){return null==e||"boolean"==typeof e?n.apply(this,arguments):this.animate(ir(t,!0),e,r,i)}}),b.fn.extend({fadeTo:function(e,t,n,r){return this.filter(nn).css("opacity",0).show().end().animate({opacity:t},e,n,r)},animate:function(e,t,n,r){var i=b.isEmptyObject(e),o=b.speed(t,n,r),a=function(){var t=er(this,b.extend({},e),o);a.finish=function(){t.stop(!0)},(i||b._data(this,"finish"))&&t.stop(!0)};return a.finish=a,i||o.queue===!1?this.each(a):this.queue(o.queue,a)},stop:function(e,n,r){var i=function(e){var t=e.stop;delete e.stop,t(r)};return"string"!=typeof e&&(r=n,n=e,e=t),n&&e!==!1&&this.queue(e||"fx",[]),this.each(function(){var t=!0,n=null!=e&&e+"queueHooks",o=b.timers,a=b._data(this);if(n)a[n]&&a[n].stop&&i(a[n]);else for(n in a)a[n]&&a[n].stop&&Jn.test(n)&&i(a[n]);for(n=o.length;n--;)o[n].elem!==this||null!=e&&o[n].queue!==e||(o[n].anim.stop(r),t=!1,o.splice(n,1));(t||!r)&&b.dequeue(this,e)})},finish:function(e){return e!==!1&&(e=e||"fx"),this.each(function(){var t,n=b._data(this),r=n[e+"queue"],i=n[e+"queueHooks"],o=b.timers,a=r?r.length:0;for(n.finish=!0,b.queue(this,e,[]),i&&i.cur&&i.cur.finish&&i.cur.finish.call(this),t=o.length;t--;)o[t].elem===this&&o[t].queue===e&&(o[t].anim.stop(!0),o.splice(t,1));for(t=0;a>t;t++)r[t]&&r[t].finish&&r[t].finish.call(this);delete n.finish})}});function ir(e,t){var n,r={height:e},i=0;for(t=t?1:0;4>i;i+=2-t)n=Zt[i],r["margin"+n]=r["padding"+n]=e;return t&&(r.opacity=r.width=e),r}b.each({slideDown:ir("show"),slideUp:ir("hide"),slideToggle:ir("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,t){b.fn[e]=function(e,n,r){return this.animate(t,e,n,r)}}),b.speed=function(e,t,n){var r=e&&"object"==typeof e?b.extend({},e):{complete:n||!n&&t||b.isFunction(e)&&e,duration:e,easing:n&&t||t&&!b.isFunction(t)&&t};return r.duration=b.fx.off?0:"number"==typeof r.duration?r.duration:r.duration in b.fx.speeds?b.fx.speeds[r.duration]:b.fx.speeds._default,(null==r.queue||r.queue===!0)&&(r.queue="fx"),r.old=r.complete,r.complete=function(){b.isFunction(r.old)&&r.old.call(this),r.queue&&b.dequeue(this,r.queue)},r},b.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2}},b.timers=[],b.fx=rr.prototype.init,b.fx.tick=function(){var e,n=b.timers,r=0;for(Xn=b.now();n.length>r;r++)e=n[r],e()||n[r]!==e||n.splice(r--,1);n.length||b.fx.stop(),Xn=t},b.fx.timer=function(e){e()&&b.timers.push(e)&&b.fx.start()},b.fx.interval=13,b.fx.start=function(){Un||(Un=setInterval(b.fx.tick,b.fx.interval))},b.fx.stop=function(){clearInterval(Un),Un=null},b.fx.speeds={slow:600,fast:200,_default:400},b.fx.step={},b.expr&&b.expr.filters&&(b.expr.filters.animated=function(e){return b.grep(b.timers,function(t){return e===t.elem}).length}),b.fn.offset=function(e){if(arguments.length)return e===t?this:this.each(function(t){b.offset.setOffset(this,e,t)});var n,r,o={top:0,left:0},a=this[0],s=a&&a.ownerDocument;if(s)return n=s.documentElement,b.contains(n,a)?(typeof a.getBoundingClientRect!==i&&(o=a.getBoundingClientRect()),r=or(s),{top:o.top+(r.pageYOffset||n.scrollTop)-(n.clientTop||0),left:o.left+(r.pageXOffset||n.scrollLeft)-(n.clientLeft||0)}):o},b.offset={setOffset:function(e,t,n){var r=b.css(e,"position");"static"===r&&(e.style.position="relative");var i=b(e),o=i.offset(),a=b.css(e,"top"),s=b.css(e,"left"),u=("absolute"===r||"fixed"===r)&&b.inArray("auto",[a,s])>-1,l={},c={},p,f;u?(c=i.position(),p=c.top,f=c.left):(p=parseFloat(a)||0,f=parseFloat(s)||0),b.isFunction(t)&&(t=t.call(e,n,o)),null!=t.top&&(l.top=t.top-o.top+p),null!=t.left&&(l.left=t.left-o.left+f),"using"in t?t.using.call(e,l):i.css(l)}},b.fn.extend({position:function(){if(this[0]){var e,t,n={top:0,left:0},r=this[0];return"fixed"===b.css(r,"position")?t=r.getBoundingClientRect():(e=this.offsetParent(),t=this.offset(),b.nodeName(e[0],"html")||(n=e.offset()),n.top+=b.css(e[0],"borderTopWidth",!0),n.left+=b.css(e[0],"borderLeftWidth",!0)),{top:t.top-n.top-b.css(r,"marginTop",!0),left:t.left-n.left-b.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent||o.documentElement;while(e&&!b.nodeName(e,"html")&&"static"===b.css(e,"position"))e=e.offsetParent;return e||o.documentElement})}}),b.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(e,n){var r=/Y/.test(n);b.fn[e]=function(i){return b.access(this,function(e,i,o){var a=or(e);return o===t?a?n in a?a[n]:a.document.documentElement[i]:e[i]:(a?a.scrollTo(r?b(a).scrollLeft():o,r?o:b(a).scrollTop()):e[i]=o,t)},e,i,arguments.length,null)}});function or(e){return b.isWindow(e)?e:9===e.nodeType?e.defaultView||e.parentWindow:!1}b.each({Height:"height",Width:"width"},function(e,n){b.each({padding:"inner"+e,content:n,"":"outer"+e},function(r,i){b.fn[i]=function(i,o){var a=arguments.length&&(r||"boolean"!=typeof i),s=r||(i===!0||o===!0?"margin":"border");return b.access(this,function(n,r,i){var o;return b.isWindow(n)?n.document.documentElement["client"+e]:9===n.nodeType?(o=n.documentElement,Math.max(n.body["scroll"+e],o["scroll"+e],n.body["offset"+e],o["offset"+e],o["client"+e])):i===t?b.css(n,r,s):b.style(n,r,i,s)},n,a?i:t,a,null)}})}),e.jQuery=e.$=b,"function"==typeof define&&define.amd&&define.amd.jQuery&&define("jquery",[],function(){return b})})(window); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/*! | |
* jQuery blockUI plugin | |
* Version 2.70.0-2014.11.23 | |
* Requires jQuery v1.7 or later | |
* | |
* Examples at: http://malsup.com/jquery/block/ | |
* Copyright (c) 2007-2013 M. Alsup | |
* Dual licensed under the MIT and GPL licenses: | |
* http://www.opensource.org/licenses/mit-license.php | |
* http://www.gnu.org/licenses/gpl.html | |
* | |
* Thanks to Amir-Hossein Sobhi for some excellent contributions! | |
*/ | |
;(function() { | |
"use strict"; | |
function setup($) { | |
$.fn._fadeIn = $.fn.fadeIn; | |
var noOp = $.noop || function() {}; | |
var msie = /MSIE/.test(navigator.userAgent); | |
var ie6 = /MSIE 6.0/.test(navigator.userAgent) && ! /MSIE 8.0/.test(navigator.userAgent); | |
var mode = document.documentMode || 0; | |
var setExpr = $.isFunction( document.createElement('div').style.setExpression ); | |
$.blockUI = function(opts) { install(window, opts); }; | |
$.unblockUI = function(opts) { remove(window, opts); }; | |
$.growlUI = function(title, message, timeout, onClose) { | |
var $m = $('<div class="growlUI"></div>'); | |
if (title) $m.append('<h1>'+title+'</h1>'); | |
if (message) $m.append('<h2>'+message+'</h2>'); | |
if (timeout === undefined) timeout = 3000; | |
var callBlock = function(opts) { | |
opts = opts || {}; | |
$.blockUI({ | |
message: $m, | |
fadeIn : typeof opts.fadeIn !== 'undefined' ? opts.fadeIn : 700, | |
fadeOut: typeof opts.fadeOut !== 'undefined' ? opts.fadeOut : 1000, | |
timeout: typeof opts.timeout !== 'undefined' ? opts.timeout : timeout, | |
centerY: false, | |
showOverlay: false, | |
onUnblock: onClose, | |
css: $.blockUI.defaults.growlCSS | |
}); | |
}; | |
callBlock(); | |
var nonmousedOpacity = $m.css('opacity'); | |
$m.mouseover(function() { | |
callBlock({ | |
fadeIn: 0, | |
timeout: 30000 | |
}); | |
var displayBlock = $('.blockMsg'); | |
displayBlock.stop(); | |
displayBlock.fadeTo(300, 1); | |
}).mouseout(function() { | |
$('.blockMsg').fadeOut(1000); | |
}); | |
}; | |
$.fn.block = function(opts) { | |
if ( this[0] === window ) { | |
$.blockUI( opts ); | |
return this; | |
} | |
var fullOpts = $.extend({}, $.blockUI.defaults, opts || {}); | |
this.each(function() { | |
var $el = $(this); | |
if (fullOpts.ignoreIfBlocked && $el.data('blockUI.isBlocked')) | |
return; | |
$el.unblock({ fadeOut: 0 }); | |
}); | |
return this.each(function() { | |
if ($.css(this,'position') == 'static') { | |
this.style.position = 'relative'; | |
$(this).data('blockUI.static', true); | |
} | |
this.style.zoom = 1; | |
install(this, opts); | |
}); | |
}; | |
$.fn.unblock = function(opts) { | |
if ( this[0] === window ) { | |
$.unblockUI( opts ); | |
return this; | |
} | |
return this.each(function() { | |
remove(this, opts); | |
}); | |
}; | |
$.blockUI.version = 2.70; | |
$.blockUI.defaults = { | |
layerId: '__native__', | |
isInteractive: true, | |
message: '<h1>Please wait...</h1>', | |
title: null, | |
draggable: true, | |
theme: false, | |
css: { | |
padding: 0, | |
margin: 0, | |
width: '30%', | |
top: '40%', | |
left: '35%', | |
textAlign: 'center', | |
color: '#000', | |
border: '3px solid #aaa', | |
backgroundColor:'#fff', | |
cursor: 'wait' | |
}, | |
themedCSS: { | |
width: '30%', | |
top: '40%', | |
left: '35%' | |
}, | |
overlayCSS: { | |
backgroundColor: '#000', | |
opacity: 0.6, | |
cursor: 'wait' | |
}, | |
cursorReset: 'default', | |
growlCSS: { | |
width: '350px', | |
top: '10px', | |
left: '', | |
right: '10px', | |
border: 'none', | |
padding: '5px', | |
opacity: 0.6, | |
cursor: 'default', | |
color: '#fff', | |
backgroundColor: '#000', | |
'-webkit-border-radius':'10px', | |
'-moz-border-radius': '10px', | |
'border-radius': '10px' | |
}, | |
iframeSrc: /^https/i.test(window.location.href || '') ? 'javascript:false' : 'about:blank', | |
forceIframe: false, | |
baseZ: 8000, | |
centerX: true, | |
centerY: true, | |
allowBodyStretch: true, | |
allowBackgroundScrolling: false, | |
bindEvents: true, | |
constrainTabKey: true, | |
fadeIn: 200, | |
fadeOut: 400, | |
timeout: 0, | |
showOverlay: true, | |
focusInput: true, | |
focusableElements: ':input:enabled:visible', | |
onBlock: null, | |
onUnblock: null, | |
onOverlayClick: null, | |
quirksmodeOffsetHack: 4, | |
blockMsgClass: 'blockMsg', | |
ignoreIfBlocked: false | |
}; | |
$.blockUIelem = function (el, opts) { install(el, opts); }; | |
$.unblockUIelem = function (el, opts) { remove(el, opts); }; | |
$.isUIBlocked = function (el) { | |
var full = (el == window); | |
var isBlocked; | |
if (full) { | |
isBlocked = (pageBlock != null); | |
} else { | |
var $el = $(el); | |
isBlocked = $el.data('blockUI.isBlocked'); | |
} | |
return isBlocked; | |
}; | |
$.blockedUIMsgElem = function (el, layerId) { | |
var full = (el == window); | |
var regLayers = getRegLayers(el); | |
var layerIndex = getRegLayerIndex(regLayers, layerId !== undefined ? layerId : $.blockUI.defaults.layerId); | |
var layer = regLayers[layerIndex]; | |
var els = null; | |
if (!layer) { return; } | |
if (full) { | |
els = $('body').children().filter('.blockUI.blockUI-layer'+layer.id).add('body > .blockUI.blockUI-layer'+layer.id); | |
} else { | |
els = $('.blockUI.blockUI-layer'+layer.id, el); | |
} | |
return (els && els[2]) ? els[2] : null; | |
}; | |
var pageBlock = null; | |
var pageBlockEls = []; | |
function getRegLayers(el) { | |
var layers = $(el).data('blockUI.layers'); | |
if (!layers) { | |
layers = []; | |
$(el).data('blockUI.layers', layers); | |
} | |
return layers; | |
} | |
function getRegLayerIndex(layers, layerId) { | |
var layerIndex = -1; | |
layers.every(function(l, index) { | |
if (l.id === layerId) { | |
layerIndex = index; | |
return false; | |
} | |
return true; | |
}); | |
return layerIndex; | |
} | |
function install(el, opts) { | |
var css, themedCSS; | |
var full = (el == window); | |
var msg = (opts && opts.message !== undefined ? opts.message : undefined); | |
opts = $.extend({}, $.blockUI.defaults, opts || {}); | |
if (opts.ignoreIfBlocked && $(el).data('blockUI.isBlocked')) | |
return; | |
var regLayers = getRegLayers(el); | |
opts.overlayCSS = $.extend({}, $.blockUI.defaults.overlayCSS, opts.overlayCSS || {}); | |
css = $.extend({}, $.blockUI.defaults.css, opts.css || {}); | |
if (opts.onOverlayClick) | |
opts.overlayCSS.cursor = 'pointer'; | |
themedCSS = $.extend({}, $.blockUI.defaults.themedCSS, opts.themedCSS || {}); | |
msg = msg === undefined ? opts.message : msg; | |
var layerIndex = getRegLayerIndex(regLayers, opts.layerId); | |
if (layerIndex >= 0 && layerIndex !== (regLayers.length - 1)) { | |
return; | |
} | |
else if (layerIndex >= 0) { | |
remove(el, $.extend({}, opts, {fadeOut: 0})); | |
} | |
else { | |
layerIndex = regLayers.length; | |
} | |
var layer = {id: opts.layerId, opts: opts}; | |
regLayers.push(layer); | |
if (msg && typeof msg != 'string' && (msg.parentNode || msg.jquery !== 'undefined')) { | |
var node = msg.jquery !== 'undefined' ? msg[0] : msg; | |
var data = {}; | |
layer.history = data; | |
data.el = node; | |
data.parent = node.parentNode; | |
data.display = node.style.display; | |
data.position = node.style.position; | |
if (data.parent) | |
data.parent.removeChild(node); | |
} | |
if (opts.allowBackgroundScrolling === false) { | |
layer.overflow = { | |
x: (full ? $('body') : $(el)).css('overflow-x'), | |
y: (full ? $('body') : $(el)).css('overflow-y') | |
}; | |
(full ? $('body') : $(el)).css('overflow', 'hidden'); | |
} | |
var z = opts.baseZ + layerIndex * 100; | |
var lyr1, lyr2, lyr3, s; | |
if (msie || opts.forceIframe) | |
lyr1 = $('<iframe class="blockUI blockUI-layer'+layer.id+'" style="z-index:'+ (z++) +';display:none;border:none;margin:0;padding:0;position:absolute;width:100%;height:100%;top:0;left:0" src="'+opts.iframeSrc+'"></iframe>'); | |
else | |
lyr1 = $('<div class="blockUI blockUI-layer'+layer.id+'" style="display:none"></div>'); | |
if (opts.theme) | |
lyr2 = $('<div class="blockUI blockUI-layer'+layer.id+' blockOverlay ui-widget-overlay" style="z-index:'+ (z++) +';display:none"></div>'); | |
else | |
lyr2 = $('<div class="blockUI blockUI-layer'+layer.id+' blockOverlay" style="z-index:'+ (z++) +';display:none;border:none;margin:0;padding:0;width:100%;height:100%;top:0;left:0"></div>'); | |
if (opts.theme && full) { | |
s = '<div class="blockUI blockUI-layer'+layer.id+' ' + opts.blockMsgClass + ' blockPage ui-dialog ui-widget ui-corner-all" style="z-index:'+(z+10)+';display:none;position:fixed">'; | |
if ( opts.title ) { | |
s += '<div class="ui-widget-header ui-dialog-titlebar ui-corner-all blockTitle">'+(opts.title || ' ')+'</div>'; | |
} | |
s += '<div class="ui-widget-content ui-dialog-content"></div>'; | |
s += '</div>'; | |
} | |
else if (opts.theme) { | |
s = '<div class="blockUI blockUI-layer'+layer.id+' ' + opts.blockMsgClass + ' blockElement ui-dialog ui-widget ui-corner-all" style="z-index:'+(z+10)+';display:none;position:absolute">'; | |
if ( opts.title ) { | |
s += '<div class="ui-widget-header ui-dialog-titlebar ui-corner-all blockTitle">'+(opts.title || ' ')+'</div>'; | |
} | |
s += '<div class="ui-widget-content ui-dialog-content"></div>'; | |
s += '</div>'; | |
} | |
else if (full) { | |
s = '<div class="blockUI blockUI-layer'+layer.id+' ' + opts.blockMsgClass + ' blockPage" style="z-index:'+(z+10)+';display:none;position:fixed"></div>'; | |
} | |
else { | |
s = '<div class="blockUI blockUI-layer'+layer.id+' ' + opts.blockMsgClass + ' blockElement" style="z-index:'+(z+10)+';display:none;position:absolute"></div>'; | |
} | |
lyr3 = $(s); | |
if (msg) { | |
if (opts.theme) { | |
lyr3.css(themedCSS); | |
lyr3.addClass('ui-widget-content'); | |
} | |
else | |
lyr3.css(css); | |
} | |
if (!opts.theme) | |
lyr2.css(opts.overlayCSS); | |
lyr2.css('position', full ? 'fixed' : 'absolute'); | |
if (msie || opts.forceIframe) | |
lyr1.css('opacity',0.0); | |
var layers = [lyr1,lyr2,lyr3], $par = full ? $('body') : $(el); | |
$.each(layers, function() { | |
this.appendTo($par); | |
}); | |
if (opts.theme && opts.draggable && $.fn.draggable) { | |
lyr3.draggable({ | |
handle: '.ui-dialog-titlebar', | |
cancel: 'li' | |
}); | |
} | |
var expr = setExpr && (!$.support.boxModel || $('object,embed', full ? null : el).length > 0); | |
if (ie6 || expr) { | |
if (full && opts.allowBodyStretch && $.support.boxModel) | |
$('html,body').css('height','100%'); | |
if ((ie6 || !$.support.boxModel) && !full) { | |
var t = sz(el,'borderTopWidth'), l = sz(el,'borderLeftWidth'); | |
var fixT = t ? '(0 - '+t+')' : 0; | |
var fixL = l ? '(0 - '+l+')' : 0; | |
} | |
$.each(layers, function(i,o) { | |
var s = o[0].style; | |
s.position = 'absolute'; | |
if (i < 2) { | |
if (full) | |
s.setExpression('height','Math.max(document.body.scrollHeight, document.body.offsetHeight) - (jQuery.support.boxModel?0:'+opts.quirksmodeOffsetHack+') + "px"'); | |
else | |
s.setExpression('height','this.parentNode.offsetHeight + "px"'); | |
if (full) | |
s.setExpression('width','jQuery.support.boxModel && document.documentElement.clientWidth || document.body.clientWidth + "px"'); | |
else | |
s.setExpression('width','this.parentNode.offsetWidth + "px"'); | |
if (fixL) s.setExpression('left', fixL); | |
if (fixT) s.setExpression('top', fixT); | |
} | |
else if (opts.centerY) { | |
if (full) s.setExpression('top','(document.documentElement.clientHeight || document.body.clientHeight) / 2 - (this.offsetHeight / 2) + (blah = document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop) + "px"'); | |
s.marginTop = 0; | |
} | |
else if (!opts.centerY && full) { | |
var top = (opts.css && opts.css.top) ? parseInt(opts.css.top, 10) : 0; | |
var expression = '((document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop) + '+top+') + "px"'; | |
s.setExpression('top',expression); | |
} | |
}); | |
} | |
if (msg) { | |
if (opts.theme) | |
lyr3.find('.ui-widget-content').append(msg); | |
else | |
lyr3.append(msg); | |
if (msg.jquery !== 'undefined' || msg.nodeType) | |
$(msg).show(); | |
} | |
if ((msie || opts.forceIframe) && opts.showOverlay) | |
lyr1.show(); | |
if (opts.fadeIn) { | |
var cb = opts.onBlock ? opts.onBlock : noOp; | |
var cb1 = (opts.showOverlay && !msg) ? cb : noOp; | |
var cb2 = msg ? cb : noOp; | |
if (opts.showOverlay) | |
lyr2._fadeIn(opts.fadeIn, cb1); | |
if (msg) | |
lyr3._fadeIn(opts.fadeIn, cb2); | |
} | |
else { | |
if (opts.showOverlay) | |
lyr2.show(); | |
if (msg) | |
lyr3.show(); | |
if (opts.onBlock) | |
opts.onBlock.bind(lyr3)(); | |
} | |
bind(1, el, opts); | |
if (full) { | |
pageBlock = lyr3[0]; | |
pageBlockEls = $(opts.focusableElements,pageBlock); | |
layer.pageBlock = pageBlock; | |
layer.pageBlockEls = pageBlockEls; | |
if (opts.focusInput) | |
setTimeout(focus, 20); | |
} | |
else | |
center(lyr3[0], opts.centerX, opts.centerY); | |
if (opts.timeout) { | |
var to = setTimeout(function() { | |
if (full) | |
$.unblockUI(opts); | |
else | |
$(el).unblock(opts); | |
}, opts.timeout); | |
layer.timeout = to; | |
} | |
} | |
function remove(el, opts) { | |
var count; | |
var full = (el == window); | |
var $el = $(el); | |
opts = $.extend({}, $.blockUI.defaults, opts || {}); | |
var regLayers = getRegLayers(el); | |
var layerIndex = getRegLayerIndex(regLayers, opts.layerId !== undefined ? opts.layerId : $.blockUI.defaults.layerId); | |
var layer = regLayers[layerIndex]; | |
if (!layer) { return; } | |
if (layerIndex !== regLayers.length - 1 && layer.opts.isInteractive) { | |
for (var i = layerIndex + 1; i < regLayers.length; ++i) { | |
if (regLayers[i].opts.isInteractive) { | |
alert('Cannot unblock, since it is not the toppest interactive block layer!'); | |
return; | |
} | |
} | |
} | |
var data = layer.history; | |
var to = layer.timeout; | |
if (to) { | |
clearTimeout(to); | |
delete layer.timeout; | |
} | |
opts = $.extend({}, layer.opts, opts || {}); | |
bind(0, el, opts); | |
if (opts.onUnblock === null) { | |
opts.onUnblock = layer.opts.onUnblock; | |
} | |
var els; | |
if (full) | |
els = $('body').children().filter('.blockUI.blockUI-layer'+layer.id).add('body > .blockUI.blockUI-layer'+layer.id); | |
else | |
els = $el.find('>.blockUI.blockUI-layer'+layer.id); | |
if ( opts.cursorReset ) { | |
if ( els.length > 1 ) | |
els[1].style.cursor = opts.cursorReset; | |
if ( els.length > 2 ) | |
els[2].style.cursor = opts.cursorReset; | |
} | |
if (full) { | |
if (regLayers[layerIndex - 1]) { | |
pageBlock = regLayers[layerIndex - 1].pageBlock; | |
pageBlockEls = regLayers[layerIndex - 1].pageBlockEls; | |
} | |
else { | |
pageBlock = pageBlockEls = null; | |
} | |
} | |
if (opts.fadeOut) { | |
count = els.length; | |
els.stop().fadeOut(opts.fadeOut, function() { | |
if ( --count === 0) | |
reset(els,data,opts,el); | |
}); | |
} | |
else | |
reset(els, data, opts, el); | |
} | |
function reset(els,data,opts,el) { | |
var $el = $(el); | |
var regLayers = getRegLayers(el); | |
var layerIndex = getRegLayerIndex(regLayers, opts.layerId !== undefined ? opts.layerId : $.blockUI.defaults.layerId); | |
var layer = regLayers[layerIndex]; | |
if (!layer) { return; } | |
els.each(function(i,o) { | |
if (this.parentNode) | |
this.parentNode.removeChild(this); | |
}); | |
if (data && data.el) { | |
data.el.style.display = data.display; | |
data.el.style.position = data.position; | |
data.el.style.cursor = 'default'; | |
if (data.parent) | |
data.parent.appendChild(data.el); | |
} | |
if ($el.data('blockUI.static') && regLayers.length === 1) { | |
$el.css('position', 'static'); | |
} | |
if (layer.overflow) { | |
var $t = $(el === window ? 'body' : el); | |
$t.css({'overflow-x': layer.overflow.x, 'overflow-y': layer.overflow.y}); | |
} | |
regLayers.splice(layerIndex, 1); | |
if (typeof opts.onUnblock == 'function') | |
opts.onUnblock(el,opts); | |
var body = $(document.body), w = body.width(), cssW = body[0].style.width; | |
body.width(w-1).width(w); | |
body[0].style.width = cssW; | |
} | |
function bind(b, el, opts) { | |
var full = el == window, $el = $(el); | |
var regLayers = getRegLayers(el); | |
var layerIndex = getRegLayerIndex(regLayers, opts.layerId !== undefined ? opts.layerId : $.blockUI.defaults.layerId); | |
var layer = regLayers[layerIndex]; | |
if (!b && (full && !pageBlock || !full && !$el.data('blockUI.isBlocked'))) | |
return; | |
if (b || regLayers.length === 1) { | |
$el.data('blockUI.isBlocked', b); | |
} | |
if (!full || !opts.bindEvents || (b && !opts.showOverlay)) | |
return; | |
var events = 'mousedown mouseup keydown keypress keyup touchstart touchend touchmove'; | |
if (b) | |
$(document).bind(events, opts, handler); | |
else | |
$(document).unbind(events, handler); | |
} | |
function handler(e) { | |
if (e.type === 'keydown' && e.keyCode && e.keyCode == 9) { | |
if (pageBlock && e.data.constrainTabKey) { | |
var els = pageBlockEls; | |
var fwd = !e.shiftKey && e.target === els[els.length-1]; | |
var back = e.shiftKey && e.target === els[0]; | |
if (fwd || back) { | |
setTimeout(function(){focus(back);},10); | |
return false; | |
} | |
} | |
} | |
var opts = e.data; | |
var target = $(e.target); | |
if (target.hasClass('blockOverlay') && opts.onOverlayClick) | |
opts.onOverlayClick(e); | |
if (target.parents('div.' + opts.blockMsgClass).length > 0) | |
return true; | |
return target.parents().children().filter('div.blockUI').length === 0; | |
} | |
function focus(back) { | |
if (!pageBlockEls) | |
return; | |
var e = pageBlockEls[back===true ? pageBlockEls.length-1 : 0]; | |
if (e) | |
e.focus(); | |
} | |
function center(el, x, y) { | |
var p = el.parentNode, s = el.style; | |
var l = ((p.offsetWidth - el.offsetWidth)/2) - sz(p,'borderLeftWidth'); | |
var t = ((p.offsetHeight - el.offsetHeight)/2) - sz(p,'borderTopWidth'); | |
if (x) s.left = l > 0 ? (l+'px') : '0'; | |
if (y) s.top = t > 0 ? (t+'px') : '0'; | |
} | |
function sz(el, p) { | |
return parseInt($.css(el,p),10)||0; | |
} | |
} | |
if (typeof define === 'function' && define.amd && define.amd.jQuery) { | |
define(['jquery'], setup); | |
} else { | |
setup(jQuery); | |
} | |
})(); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* | |
* A JavaScript implementation of the RSA Data Security, Inc. MD5 Message | |
* Digest Algorithm, as defined in RFC 1321. | |
* Copyright (C) Paul Johnston 1999 - 2000. | |
* Updated by Greg Holt 2000 - 2001. | |
* See http://pajhome.org.uk/site/legal.html for details. | |
*/ | |
var hex_chr = "0123456789abcdef"; | |
function rhex(num) | |
{ | |
str = ""; | |
for(j = 0; j <= 3; j++) | |
str += hex_chr.charAt((num >> (j * 8 + 4)) & 0x0F) + | |
hex_chr.charAt((num >> (j * 8)) & 0x0F); | |
return str; | |
} | |
function str2blks_MD5(str) | |
{ | |
nblk = ((str.length + 8) >> 6) + 1; | |
blks = new Array(nblk * 16); | |
for(i = 0; i < nblk * 16; i++) blks[i] = 0; | |
for(i = 0; i < str.length; i++) | |
blks[i >> 2] |= str.charCodeAt(i) << ((i % 4) * 8); | |
blks[i >> 2] |= 0x80 << ((i % 4) * 8); | |
blks[nblk * 16 - 2] = str.length * 8; | |
return blks; | |
} | |
function bytes2blks_MD5(bytes) | |
{ | |
nblk = ((bytes.length + 8) >> 6) + 1; | |
blks = new Array(nblk * 16); | |
for(i = 0; i < nblk * 16; i++) blks[i] = 0; | |
for(i = 0; i < bytes.length; i++) | |
blks[i >> 2] |= bytes[i] << ((i % 4) * 8); | |
blks[i >> 2] |= 0x80 << ((i % 4) * 8); | |
blks[nblk * 16 - 2] = bytes.length * 8; | |
return blks; | |
} | |
function add(x, y) | |
{ | |
var lsw = (x & 0xFFFF) + (y & 0xFFFF); | |
var msw = (x >> 16) + (y >> 16) + (lsw >> 16); | |
return (msw << 16) | (lsw & 0xFFFF); | |
} | |
function rol(num, cnt) | |
{ | |
return (num << cnt) | (num >>> (32 - cnt)); | |
} | |
function cmn(q, a, b, x, s, t) | |
{ | |
return add(rol(add(add(a, q), add(x, t)), s), b); | |
} | |
function ff(a, b, c, d, x, s, t) | |
{ | |
return cmn((b & c) | ((~b) & d), a, b, x, s, t); | |
} | |
function gg(a, b, c, d, x, s, t) | |
{ | |
return cmn((b & d) | (c & (~d)), a, b, x, s, t); | |
} | |
function hh(a, b, c, d, x, s, t) | |
{ | |
return cmn(b ^ c ^ d, a, b, x, s, t); | |
} | |
function ii(a, b, c, d, x, s, t) | |
{ | |
return cmn(c ^ (b | (~d)), a, b, x, s, t); | |
} | |
function calcMD5(str) | |
{ | |
return doCalcMD5(str2blks_MD5(str)); | |
} | |
function calcMD5_2(str) | |
{ | |
return doCalcMD5(bytes2blks_MD5(str)); | |
} | |
function doCalcMD5(x) | |
{ | |
a = 1732584193; | |
b = -271733879; | |
c = -1732584194; | |
d = 271733878; | |
for(i = 0; i < x.length; i += 16) | |
{ | |
olda = a; | |
oldb = b; | |
oldc = c; | |
oldd = d; | |
a = ff(a, b, c, d, x[i+ 0], 7 , -680876936); | |
d = ff(d, a, b, c, x[i+ 1], 12, -389564586); | |
c = ff(c, d, a, b, x[i+ 2], 17, 606105819); | |
b = ff(b, c, d, a, x[i+ 3], 22, -1044525330); | |
a = ff(a, b, c, d, x[i+ 4], 7 , -176418897); | |
d = ff(d, a, b, c, x[i+ 5], 12, 1200080426); | |
c = ff(c, d, a, b, x[i+ 6], 17, -1473231341); | |
b = ff(b, c, d, a, x[i+ 7], 22, -45705983); | |
a = ff(a, b, c, d, x[i+ 8], 7 , 1770035416); | |
d = ff(d, a, b, c, x[i+ 9], 12, -1958414417); | |
c = ff(c, d, a, b, x[i+10], 17, -42063); | |
b = ff(b, c, d, a, x[i+11], 22, -1990404162); | |
a = ff(a, b, c, d, x[i+12], 7 , 1804603682); | |
d = ff(d, a, b, c, x[i+13], 12, -40341101); | |
c = ff(c, d, a, b, x[i+14], 17, -1502002290); | |
b = ff(b, c, d, a, x[i+15], 22, 1236535329); | |
a = gg(a, b, c, d, x[i+ 1], 5 , -165796510); | |
d = gg(d, a, b, c, x[i+ 6], 9 , -1069501632); | |
c = gg(c, d, a, b, x[i+11], 14, 643717713); | |
b = gg(b, c, d, a, x[i+ 0], 20, -373897302); | |
a = gg(a, b, c, d, x[i+ 5], 5 , -701558691); | |
d = gg(d, a, b, c, x[i+10], 9 , 38016083); | |
c = gg(c, d, a, b, x[i+15], 14, -660478335); | |
b = gg(b, c, d, a, x[i+ 4], 20, -405537848); | |
a = gg(a, b, c, d, x[i+ 9], 5 , 568446438); | |
d = gg(d, a, b, c, x[i+14], 9 , -1019803690); | |
c = gg(c, d, a, b, x[i+ 3], 14, -187363961); | |
b = gg(b, c, d, a, x[i+ 8], 20, 1163531501); | |
a = gg(a, b, c, d, x[i+13], 5 , -1444681467); | |
d = gg(d, a, b, c, x[i+ 2], 9 , -51403784); | |
c = gg(c, d, a, b, x[i+ 7], 14, 1735328473); | |
b = gg(b, c, d, a, x[i+12], 20, -1926607734); | |
a = hh(a, b, c, d, x[i+ 5], 4 , -378558); | |
d = hh(d, a, b, c, x[i+ 8], 11, -2022574463); | |
c = hh(c, d, a, b, x[i+11], 16, 1839030562); | |
b = hh(b, c, d, a, x[i+14], 23, -35309556); | |
a = hh(a, b, c, d, x[i+ 1], 4 , -1530992060); | |
d = hh(d, a, b, c, x[i+ 4], 11, 1272893353); | |
c = hh(c, d, a, b, x[i+ 7], 16, -155497632); | |
b = hh(b, c, d, a, x[i+10], 23, -1094730640); | |
a = hh(a, b, c, d, x[i+13], 4 , 681279174); | |
d = hh(d, a, b, c, x[i+ 0], 11, -358537222); | |
c = hh(c, d, a, b, x[i+ 3], 16, -722521979); | |
b = hh(b, c, d, a, x[i+ 6], 23, 76029189); | |
a = hh(a, b, c, d, x[i+ 9], 4 , -640364487); | |
d = hh(d, a, b, c, x[i+12], 11, -421815835); | |
c = hh(c, d, a, b, x[i+15], 16, 530742520); | |
b = hh(b, c, d, a, x[i+ 2], 23, -995338651); | |
a = ii(a, b, c, d, x[i+ 0], 6 , -198630844); | |
d = ii(d, a, b, c, x[i+ 7], 10, 1126891415); | |
c = ii(c, d, a, b, x[i+14], 15, -1416354905); | |
b = ii(b, c, d, a, x[i+ 5], 21, -57434055); | |
a = ii(a, b, c, d, x[i+12], 6 , 1700485571); | |
d = ii(d, a, b, c, x[i+ 3], 10, -1894986606); | |
c = ii(c, d, a, b, x[i+10], 15, -1051523); | |
b = ii(b, c, d, a, x[i+ 1], 21, -2054922799); | |
a = ii(a, b, c, d, x[i+ 8], 6 , 1873313359); | |
d = ii(d, a, b, c, x[i+15], 10, -30611744); | |
c = ii(c, d, a, b, x[i+ 6], 15, -1560198380); | |
b = ii(b, c, d, a, x[i+13], 21, 1309151649); | |
a = ii(a, b, c, d, x[i+ 4], 6 , -145523070); | |
d = ii(d, a, b, c, x[i+11], 10, -1120210379); | |
c = ii(c, d, a, b, x[i+ 2], 15, 718787259); | |
b = ii(b, c, d, a, x[i+ 9], 21, -343485551); | |
a = add(a, olda); | |
b = add(b, oldb); | |
c = add(c, oldc); | |
d = add(d, oldd); | |
} | |
return rhex(a) + rhex(b) + rhex(c) + rhex(d); | |
} | |
cookies.js |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
var swlStore = function () { | |
var pageId; | |
var singleton = null; | |
var globalPageId = '__global_pageid__'; | |
var metas = document.getElementsByTagName('meta'); | |
for (var i=0; i < metas.length; i++) { | |
if (metas[i].name === "id") { | |
pageId = metas[i].content; | |
break; | |
} | |
} | |
if (pageId === undefined) { | |
pageId = globalPageId; | |
} | |
else if (pageId === globalPageId) { | |
console.warn('The page is having a very internal page id, which could cause problems in some ways.'); | |
} | |
function storageAvailable(type) { | |
try { | |
var storage = window[type], | |
x = '__storage_test__'; | |
storage.setItem(x, x); | |
storage.removeItem(x); | |
return true; | |
} | |
catch(e) { | |
return false; | |
} | |
} | |
function _getCurrentUsername() { | |
if (top.gCurrentUserName) { return top.gCurrentUserName; }; | |
try { | |
var storedUsername = _getRaw('curUsr'); | |
storedUsername = JSON.parse(storedUsername); | |
return storedUsername.data; | |
} | |
catch (e) { } | |
return null; | |
} | |
function _resetCurrentUsername(usrName) { | |
if (typeof(top.gCurrentUserName) != 'undefined' && top.gCurrentUserName !== usrName) { | |
top.gCurrentUserName = null; | |
}; | |
try { | |
var storedUsername = _getRaw('curUsr'); | |
storedUsername = JSON.parse(storedUsername); | |
if (storedUsername.data === usrName) { | |
return; | |
} | |
} | |
catch (e) { } | |
_set(localStorage, 'curUsr', usrName); | |
} | |
function _normalizeOpts(opts) { | |
if (typeof(opts) === 'boolean') { | |
throw new Error('option typed as boolean is obsoleted.'); | |
} | |
return $.extend({ | |
isGlobal: false, | |
isForAllUser: false | |
}, opts); | |
} | |
function _normalizeKey(key, opts) { | |
var ruleRe = /[a-zA-Z0-9!@#$%^&*()\-+=_\[\]{};,.<>/?|\\]+/; | |
var nKey = ''; | |
if (!ruleRe.test(key)) { | |
throw new Error('The key for swlStore should match the rule '+ruleRe.toString()); | |
} | |
if (opts.isForAllUser) { | |
nKey += key; | |
} | |
else { | |
var username = _getCurrentUsername(); | |
nKey += username + '::'; | |
nKey += (opts.isGlobal ? globalPageId : pageId) + '::' + key; | |
} | |
return nKey; | |
} | |
function _set(storage, key, val, opts) { | |
val = JSON.stringify({data: val}); | |
if (val === undefined) { return; } | |
storage.setItem(key, val); | |
} | |
function _getRaw(key, opts) { | |
var val = sessionStorage.getItem(key); | |
if (val === null) { val = localStorage.getItem(key); } | |
return val; | |
} | |
singleton = { | |
set: function(key, val, opts) { | |
opts = _normalizeOpts(opts); | |
key = _normalizeKey(key, opts); | |
_set(localStorage, key, val, opts); | |
}, | |
sessionSet: function(key, val, opts) { | |
opts = _normalizeOpts(opts); | |
key = _normalizeKey(key, opts); | |
_set(sessionStorage, key, val, opts); | |
}, | |
get: function(key, opts) { | |
opts = _normalizeOpts(opts); | |
key = _normalizeKey(key, opts); | |
var val = _getRaw(key, opts); | |
try { val = JSON.parse(val); return val.data; } | |
catch(e) { return undefined; } | |
}, | |
remove: function(key, opts) { | |
opts = _normalizeOpts(opts); | |
key = _normalizeKey(key, opts); | |
sessionStorage.removeItem(key); | |
localStorage.removeItem(key); | |
}, | |
exists: function(key, opts) { | |
opts = _normalizeOpts(opts); | |
key = _normalizeKey(key, opts); | |
var val = _getRaw(key, opts); | |
if (val === null) { return false; } | |
try { val = JSON.parse(val); return val.hasOwnProperty('data'); } | |
catch(e) { return false; } | |
}, | |
resetUserName: function(usrName) { | |
_resetCurrentUsername(usrName); | |
}, | |
getCurrUserName: function() { | |
return _getCurrentUsername(); | |
} | |
}; | |
var fallback = { | |
set: function(key, val, opts) { | |
outputFallbackWarning(); | |
}, | |
sessionSet: function(key, val, opts) { | |
outputFallbackWarning(); | |
}, | |
get: function(key, opts) { | |
outputFallbackWarning(); | |
return undefined; | |
}, | |
remove: function(key, opts) { | |
outputFallbackWarning(); | |
}, | |
exists: function(key, opts) { | |
outputFallbackWarning(); | |
return false; | |
}, | |
resetUserName: function(usrName) { | |
outputFallbackWarning(); | |
}, | |
getCurrUserName: function() { | |
outputFallbackWarning(); | |
return undefined; | |
} | |
}; | |
function outputFallbackWarning() { | |
if (console) { | |
console.error('There is no localStorage or sessionStorage available on this platform, the UI may not be behaving properly.'); | |
} | |
} | |
return (storageAvailable('localStorage') && storageAvailable('sessionStorage') ? singleton : fallback); | |
}(); | |
function getByID(id) { | |
var elem=null; | |
if (document.getElementById) { | |
elem = document.getElementById(id); | |
} | |
else if (document.all) { | |
elem = document.all(id); | |
} | |
if (!elem) { | |
var elems = document.getElementsByName(id); | |
if (elems) | |
elem = elems[0]; | |
} | |
return elem; | |
} | |
function getIframeDoc(id, doc) { | |
if (doc.frames) { | |
return doc.frames[id].document; | |
} | |
var ifrm = doc.getElementById(id); | |
if (ifrm.contentDocument) { | |
return ifrm.contentDocument; | |
} else if (ifrm.contentWindow) { | |
return ifrm.contentWindow.document; | |
} else if (ifrm.document) { | |
return ifrm.document; | |
} | |
} | |
function isBlankString(strToTest) { | |
var blankString = true; | |
for (var i=0; i < strToTest.length; i++) { | |
if (strToTest.charAt(i) == ' ') { | |
continue; | |
} else { | |
blankString = false; | |
break; | |
} | |
} | |
return blankString; | |
} | |
function isAngleBracketString(strToTest) { | |
if(!strToTest) return false; | |
return (strToTest.indexOf(">") != -1) || (strToTest.indexOf("<") != -1); | |
} | |
function isQuoteString(strToTest) { | |
var quoteString = false; | |
for (var i=0; i < strToTest.length; i++) { | |
if ((strToTest.charAt(i) == '"') || (strToTest.charAt(i) == "'")) { | |
quoteString = true; | |
break; | |
} | |
} | |
return quoteString; | |
} | |
function isBackslashString(strToTest) { | |
var slashString = false; | |
for (var i=0; i < strToTest.length; i++) { | |
if (strToTest.charAt(i) == '\\') { | |
slashString = true; | |
break; | |
} | |
} | |
return slashString; | |
} | |
function isAlphaNumeric(strToTest) { | |
var parsed = true; | |
var validchars = "abcdefghijklmnopqrstuvwxyz0123456789"; | |
for (var i=0; i < strToTest.length; i++) { | |
var letter = strToTest.charAt(i).toLowerCase(); | |
if (validchars.indexOf(letter) != -1) { | |
continue; | |
} | |
alert("Invalid character: '" + letter + "'"); | |
parsed = false; | |
break; | |
} | |
return parsed; | |
} | |
function isAlphaNumericDotUnderscore(strToTest) { | |
var parsed = true; | |
var validchars = "abcdefghijklmnopqrstuvwxyz0123456789_."; | |
for (var i=0; i < strToTest.length; i++) { | |
var letter = strToTest.charAt(i).toLowerCase(); | |
if (validchars.indexOf(letter) != -1) { | |
continue; | |
} | |
parsed = false; | |
break; | |
} | |
return parsed; | |
} | |
function IsEmpty(anyval) { | |
alertMsg = "Please don't leave this field blank!" | |
if (anyval == "") { | |
alert(alertMsg) | |
} | |
} | |
function isDollarString(strToTest) { | |
var dollar = false; | |
for (var i=0; i < strToTest.length; i++) { | |
if (strToTest.charAt(i) == '$') { | |
dollar = true; | |
break; | |
} | |
} | |
return dollar; | |
} | |
function validateUserName(s) { | |
if (s.length == 0) { | |
alert("You need to give the user a name!"); | |
return false; | |
} | |
return true; | |
} | |
function isValidBookMarkName(str) { | |
var regExpr = /^[\w-.][\w-. ]*$/; | |
return (regExpr.test(str)); | |
} | |
function isV4NonZeroIP(anyval) { | |
var bReturn = true; | |
var sum = 0; | |
if (anyval == ""){ | |
bReturn = false; | |
} else { | |
arrayOfStrings = anyval.split("."); | |
if (arrayOfStrings.length != 4) { | |
bReturn = false; | |
} else { | |
for (var i=0; i < 4; i++) { | |
if (arrayOfStrings[i].charAt(0) < '0' || arrayOfStrings[i].charAt(0) > '9' | |
|| isNaN(arrayOfStrings[i]) | |
||arrayOfStrings[i] < 0 ||arrayOfStrings[i] > 255) { | |
bReturn = false; | |
break; | |
} | |
sum += parseInt(arrayOfStrings[i]); | |
} | |
if (sum == 0) { | |
bReturn = false; | |
} | |
} | |
} | |
return bReturn; | |
} | |
function isValidIP(anyval) { | |
var bReturn = true; | |
strlen = anyval.length | |
if (anyval == "") { | |
bReturn = false; | |
} else { | |
arrayOfStrings = anyval.split(".") | |
if (arrayOfStrings.length !=4) { | |
bReturn = false; | |
} else { | |
for (var i=0; i < 4; i++) { | |
if (arrayOfStrings[i].charAt(0) < '0' || arrayOfStrings[i].charAt(0) > '9' | |
|| isNaN(arrayOfStrings[i]) | |
|| arrayOfStrings[i] < 0 || arrayOfStrings[i] > 255) { | |
bReturn = false; | |
break; | |
} | |
} | |
} | |
} | |
return bReturn; | |
} | |
function isValidFtpIp(anyval) { | |
strlen = anyval.length; | |
if (anyval == "") { | |
return false; | |
} else if(isValidV6IP1(anyval)) { | |
return true; | |
} else { | |
arrayOfStrings = anyval.split(".") | |
if (arrayOfStrings.length !=4) { | |
return false; | |
} else { | |
if(arrayOfStrings[0] > 223 | |
|| arrayOfStrings[0]==0 | |
|| ((arrayOfStrings[0] == 169) && (arrayOfStrings[1] == 254))) { | |
return false; | |
} else { | |
for (var i=0; i < 4; i++) { | |
if (arrayOfStrings[i].charAt(0) < '0' || arrayOfStrings[i].charAt(0) > '9' | |
|| isNaN(arrayOfStrings[i]) | |
|| arrayOfStrings[i] < 0 || arrayOfStrings[i] > 255) { | |
return false; | |
} | |
} | |
} | |
} | |
return true; | |
} | |
} | |
function isValidAscii(anyval){ | |
var bReturn = true; | |
var i = 0; | |
if (anyval=="") { | |
bReturn = false; | |
} else { | |
for(i=0; i<anyval.length; i++) { | |
if((anyval.charCodeAt(i) < 31) || (anyval.charCodeAt(i) > 127)){ | |
bReturn = false; | |
} | |
} | |
} | |
return bReturn; | |
} | |
function isV4IP(str) { | |
if (str.indexOf(".") < 0 || str.indexOf(":") >= 0) | |
return false; | |
else | |
return true; | |
} | |
function isV6IP(str) { | |
if (str.indexOf(":") < 0) | |
return false; | |
else | |
return true; | |
} | |
function isValidV6IP1(anyval) { | |
var numHexas = 0; | |
var maxlength = 8; | |
var v4start = -1; | |
var v4flag = false; | |
if (anyval == "") { | |
return false; | |
} else if (anyval == "::") { | |
return true; | |
} else { | |
var arrayOfStrings = anyval.split("::"); | |
var hexas; | |
if (arrayOfStrings.length > 2) | |
return false; | |
if (arrayOfStrings[0] != anyval) { | |
for (var i=0; i < arrayOfStrings.length; i++) { | |
if (arrayOfStrings[i] == "") | |
continue; | |
if (arrayOfStrings[i][0] == ":" || arrayOfStrings[i][arrayOfStrings[i].length-1] == ":") | |
return false; | |
hexas = arrayOfStrings[i].split(":"); | |
for(var j=0;j < hexas.length; j++) { | |
if(hexas[j].indexOf(".") == -1) | |
continue; | |
else{ | |
if(isValidIP(hexas[j]) && v4flag == false) { | |
v4start = j; | |
numHexas += 1; | |
v4flag = true; | |
} | |
else | |
return false; | |
} | |
} | |
numHexas += hexas.length; | |
if (numHexas > 7) | |
return false; | |
for (var j=0; j < hexas.length && j != v4start; j++) { | |
if (hexas[j].length > 4 || !validateHexChars(hexas[j])) | |
return false; | |
} | |
} | |
} else { | |
if (anyval[0] == ":" || anyval[anyval.length-1] == ":") | |
return false; | |
hexas = anyval.split(":"); | |
for(var j=0;j < hexas.length; j++){ | |
if(hexas[j].indexOf(".") == -1) | |
continue; | |
else{ | |
if(isValidIP(hexas[j]) && v4flag == false){ | |
v4start = j; | |
maxlength -= 1; | |
v4flag == true; | |
} | |
else | |
return false; | |
} | |
} | |
if (hexas.length != maxlength) | |
return false; | |
for (var j=0; j < hexas.length && j != v4start; j++) { | |
if (hexas[j].length > 4 || !validateHexChars(hexas[j])) | |
return false; | |
} | |
} | |
} | |
return true; | |
} | |
function isValidV6IPTarget(anyval) { | |
var arrayOfStrings = anyval.split("%"); | |
if (arrayOfStrings.length > 2) | |
return false; | |
return isValidV6IP1(arrayOfStrings[0]); | |
} | |
function isV6MulticastIP(anyval) { | |
var arrayOfStrings; | |
arrayOfStrings = anyval.split("::"); | |
if (arrayOfStrings.length && arrayOfStrings[0].length >= 4) { | |
if (((arrayOfStrings[0].charAt(0) == "f") || (arrayOfStrings[0].charAt(0) == "F")) && | |
((arrayOfStrings[0].charAt(1) == "f") || (arrayOfStrings[0].charAt(1) == "F"))) { | |
return true; | |
} | |
} | |
return false; | |
} | |
function isGreaterIP(beginVal, endVal) { | |
var bGreater = false; | |
beginArray = beginVal.split("."); | |
endArray = endVal.split("."); | |
for (var i=0; i < 4; i++) { | |
bVal = parseInt(beginArray[i]); | |
eVal = parseInt(endArray[i]); | |
if (bVal > eVal) { | |
bGreater = true; | |
break; | |
} | |
else if (eVal > bVal) | |
break; | |
} | |
return bGreater; | |
} | |
function isMulticastIP(anyVal) { | |
if (isV6IP(anyVal)) { | |
return isV6MulticastIP(anyVal); | |
} | |
return (isV4MulticastIP(anyVal)); | |
} | |
function isV4MulticastIP(anyVal) { | |
var bReturn = false; | |
strlen = anyVal.length | |
if (anyVal == "") | |
{ | |
bReturn = false; | |
} | |
else | |
{ | |
arrayOfStrings = anyVal.split(".") | |
if (arrayOfStrings.length !=4) | |
{ | |
bReturn = false; | |
} | |
else | |
{ | |
var x = parseInt(arrayOfStrings[0]); | |
if ( (x & 0xF0) == 0xE0) | |
{ | |
bReturn = true; | |
} | |
} | |
} | |
return bReturn; | |
} | |
function validateSettings(begin, end) { | |
var beginWildcard = begin.value == '*'; | |
var endWildcard = end.value == ''; | |
if (!isValidIP(begin.value) && !(beginWildcard)) { | |
alert("Invalid 'IP Address Begin'"); | |
begin.focus(); | |
begin.select(); | |
return false; | |
} | |
if (!isValidIP(end.value) && !(endWildcard)) { | |
alert("Invalid 'IP Address End'"); | |
end.focus(); | |
end.select(); | |
return false; | |
} | |
if (isGreaterIP(begin.value, end.value) && !(beginWildcard && endWildcard)) { | |
alert("'IP Address Begin' is greater than 'IP Address End'"); | |
begin.focus(); | |
begin.select(); | |
return false; | |
} | |
if (beginWildcard && !(endWildcard)) { | |
alert("You cannot specify 'IP Address End' if 'IP Address Begin' = * "); | |
end.focus(); | |
end.select(); | |
return false; | |
} | |
return true; | |
} | |
function netToRangeBegin(net,mask) { | |
var beginAddr = (net & mask) + (1 & ~mask); | |
return (beginAddr); | |
} | |
function netToRangeEnd(net,mask) { | |
var endAddr = (net | ~mask) - (1 & ~mask); | |
return (endAddr); | |
} | |
function netFromRange(begin,end) { | |
var mask = maskFromRange(begin,end); | |
net = begin & mask; | |
return (net); | |
} | |
function maskFromRange(begin,end) { | |
var mask; | |
if (begin == end) { | |
mask = 0xffffffff; | |
} else { | |
mask = ~((begin-1) ^ (end+1)); | |
} | |
return (mask); | |
} | |
function copyRangeToSubnet(rangeBegin, rangeEnd, subnet, subnetmask) { | |
var begin = dottedToBinary(rangeBegin.value); | |
var end = dottedToBinary(rangeEnd.value); | |
var net = netFromRange(begin,end); | |
var mask = maskFromRange(begin,end); | |
subnet.value = binaryToDotted(net); | |
subnetmask.value = binaryToDotted(mask); | |
} | |
function copySubnetToRange(subnet, subnetmask, rangeBegin, rangeEnd) { | |
var net = dottedToBinary(subnet.value); | |
var mask = dottedToBinary(subnetmask.value); | |
var begin = netToRangeBegin(net,mask); | |
var end = netToRangeEnd(net,mask); | |
rangeBegin.value = binaryToDotted(begin); | |
rangeEnd.value = binaryToDotted(end); | |
} | |
function dottedToBinary(dottedIp) { | |
var octet; | |
var i, j, k; | |
var ipbin; | |
ipbin = 0; | |
for (i = 0, j = dottedIp.indexOf('.', i), k = 0; | |
dottedIp.length != 0 && k < 4; | |
i = j + 1, j = dottedIp.indexOf('.', i), k++) | |
{ | |
if (j == -1) { | |
octet = dottedIp.substring(i); | |
} else { | |
octet = dottedIp.substring(i, j); | |
} | |
ipbin <<= 8; | |
if (isNaN(parseInt(octet))) { | |
return 0; | |
} else { | |
ipbin += parseInt(octet); | |
} | |
} | |
return ipbin; | |
} | |
function binaryToDotted(ipbin) { | |
var mask = 255; | |
var dottedIp = new String(); | |
for(var i=24; i>=0; i-=8) { | |
dottedIp += ((ipbin & (mask << i)) >> i) & 0x00ff; | |
if(i>0) | |
dottedIp += '.'; | |
} | |
return dottedIp; | |
} | |
function copyFormValues(srcObj, dstObj) { | |
if (srcObj.type == "checkbox") { | |
dstObj.value = (srcObj.checked)? "on":"off"; | |
} | |
else if (srcObj.type == "select-one") { | |
dstObj.value = srcObj.options[srcObj.selectedIndex].value; | |
} | |
else { | |
dstObj.value = srcObj.value; | |
} | |
} | |
function isNumeric(string) { | |
if (!string) { | |
return false; | |
} | |
var Chars = "0123456789-"; | |
for (var i = 0; i < string.length; i++) { | |
if (Chars.indexOf(string.charAt(i)) == -1) { | |
return false; | |
} | |
} | |
return true; | |
} | |
function isPositiveInteger(string) { | |
if (!string) { | |
return false; | |
} | |
var Chars = "0123456789"; | |
for (var i = 0; i < string.length; i++) { | |
if (Chars.indexOf(string.charAt(i)) == -1) { | |
return false; | |
} | |
} | |
return true; | |
} | |
function isDotted(ipStr) { | |
if (!ipStr) { | |
return false; | |
} | |
var ipArray = ipStr.split("\."); | |
if (ipArray.length != 4) return false; | |
for (var i = 0; i < 4; i++) | |
if (isNaN(ipArray[i])) return false; | |
return true; | |
} | |
function getDefaultNetObjects() { | |
var ol = getDataFrame(); | |
if (ol) { | |
if (typeof addrObjArray !== "undefined" && $.isArray(addrObjArray)) { | |
addrObjArray = ol.addrObjArray; | |
} | |
if (typeof serviceObjArray !== "undefined" && $.isArray(serviceObjArray)) { | |
serviceObjArray = ol.serviceObjArray; | |
} | |
if (typeof zoneObjArray !== "undefined" && $.isArray(zoneObjArray)) { | |
zoneObjArray = ol.zoneObjArray; | |
} | |
} | |
} | |
function hiddenForm(doc, name, action, target) { | |
var frm = doc.getElementById(name); | |
var title = document.title; | |
var auditpathStr = getAuditPathStrForHiddenform (title); | |
if (!frm) { | |
frm = doc.createElement("form"); | |
doc.body.appendChild(frm); | |
frm.setAttribute("method", "POST"); | |
} | |
frm.setAttribute("name", name); | |
frm.setAttribute("id", name); | |
frm.setAttribute("action", action); | |
frm.setAttribute("target", target); | |
if(frm.csrfToken) { | |
frm.csrfToken.value = getFrame('outlookFrame').csrfToken; | |
} | |
else { | |
addCgiTagToForm(doc, frm, "hidden", "csrfToken", getFrame('outlookFrame').csrfToken, null); | |
} | |
if (frm.auditPath) { | |
if (auditpathStr.length > 0) { | |
var endWith = auditpathStr.indexOf(title, frm.auditPath.value.length-title.length); | |
if (endWith == -1) { | |
frm.auditPath.value += ' / ' + title; | |
} | |
} | |
} else { | |
addCgiTagToForm(doc, frm, "hidden", "auditPath", auditpathStr); | |
} | |
for (var i = 4; i < arguments.length; i += 2) { | |
var tagName = arguments[i]; | |
if (frm.elements[tagName]) { | |
frm.elements[tagName].value = arguments[i+1]; | |
} else { | |
addCgiTagToForm(doc, frm, "hidden", tagName, arguments[i+1], null); | |
} | |
} | |
return (frm); | |
} | |
function hiddenForm2(doc, name, action, target, enctype) { | |
var frm = doc.getElementById(name); | |
if (!frm) { | |
frm = doc.createElement("form"); | |
doc.body.appendChild(frm); | |
frm.setAttribute("method", "POST"); | |
} | |
frm.setAttribute("name", name); | |
frm.setAttribute("id", name); | |
frm.setAttribute("action", action); | |
frm.setAttribute("target", target); | |
frm.setAttribute("enctype", enctype); | |
if(frm.csrfToken) { | |
frm.csrfToken.value = getFrame('outlookFrame').csrfToken; | |
} | |
else { | |
addCgiTagToForm(doc, frm, "hidden", "csrfToken", getFrame('outlookFrame').csrfToken, null); | |
} | |
for (var i = 5; i < arguments.length; i += 2) { | |
var tagName = arguments[i]; | |
if (frm.elements[tagName]) { | |
frm.elements[tagName].value = arguments[i+1]; | |
} else { | |
addCgiTagToForm(doc, frm, "hidden", tagName, arguments[i+1], null); | |
} | |
} | |
return (frm); | |
} | |
function addCgiTagToForm(doc,form,type,name,value,recArray) { | |
var elem = doc.createElement("input"); | |
elem.id = name; | |
elem.setAttribute("type", type); | |
elem.setAttribute("name", name); | |
if((value == null) || (value == undefined)) | |
{ | |
elem.setAttribute("value", "undefined"); | |
} | |
else | |
{ | |
if (typeof value == "string") { | |
elem.setAttribute("value", value); | |
} | |
else { | |
var tmp = value.toString(); | |
elem.setAttribute("value", tmp); | |
} | |
} | |
form.appendChild(elem); | |
if (recArray) { | |
recArray[recArray.length] = elem; | |
} | |
return elem; | |
} | |
function addDhcpHiddenTagToForm(form, name, val) { | |
addCgiTagToForm(document, form, "hidden", name, val); | |
} | |
function setCgiTagInForm(doc,form,type,name,value,recArray) { | |
elem = form.elements[name]; | |
if (elem) { | |
elem.value = value; | |
} else { | |
addCgiTagToForm(doc,form,type,name,value,recArray); | |
} | |
} | |
function removeChildHelper(form, child) { | |
try { | |
form.removeChild(child); | |
} | |
catch (e) { | |
child.parentNode.removeChild(child); | |
} | |
} | |
function removeAddedCgiTagsFromForm(form,recArray) { | |
for (var i = 0; i < recArray.length; i++) { | |
removeChildHelper(form, recArray[i]); | |
} | |
recArray.length = 0; | |
} | |
function removeCgiTagFromForm(form, elem, recArray) { | |
removeChildHelper(form, elem); | |
if(recArray) { | |
for (var i = 0; i < recArray.length; i++) { | |
if (recArray[i] == elem) { | |
recArray.splice(i, 1); | |
} | |
} | |
} | |
} | |
function alertAddedCgiTags(recArray) { | |
var msg = "Added CGI tags:"; | |
for (var i = 0; i < recArray.length; i++) { | |
var str = "\n" + recArray[i].name + "=" + recArray[i].value; | |
msg += str; | |
} | |
alert(msg); | |
} | |
function disableIt(obj) { | |
obj.disabled = true; | |
} | |
function enableIt(obj) { | |
obj.disabled = false; | |
} | |
function validateSecret(s) { | |
if (validateHexChars(s) == false) { | |
window.alert("Encryption key must contain digits (0-9) or hex digits (a-f/A-F) only!"); | |
return false; | |
} | |
algEspDesHmacMd5 = 4; algEspDesHmacSha1 = 11; | |
algEsp3DesHmacMd5 = 7; algEsp3DesHmacSha1 = 9; | |
algEspAes128HmacMd5 = 15; algEspAes128HmacSha1 = 16; | |
algEspAes256HmacMd5 = 18; algEspAes256HmacSha1 = 19; | |
algId = document.thisForm.globalMgtSAalgoName.options[document.thisForm.globalMgtSAalgoName.selectedIndex].value; | |
if (algId == algEsp3DesHmacMd5 || algId == algEsp3DesHmacSha1) { | |
if (s.length < 48) { | |
window.alert("Encryption key must be 48 digits!"); | |
return false; | |
} | |
else if (s.length > 48) { | |
if (window.confirm('Warning: Encryption key longer than 48 digits - OK to truncate?') == true) { | |
document.thisForm.globalMgtSecretTagName.value = s.substring(0,48); | |
} | |
else { | |
return false; | |
} | |
} | |
} | |
else if (algId == algEspDesHmacMd5 || algId == algEspDesHmacSha1) { | |
if (s.length < 16) { | |
window.alert("Encryption key must be 16 digits!"); | |
return false; | |
} | |
else if (s.length > 16) { | |
if (window.confirm('Warning: Encryption key longer than 16 digits - OK to truncate?') == true) { | |
document.thisForm.globalMgtSecretTagName.value = s.substring(0,16); | |
} | |
else { | |
return false; | |
} | |
} | |
} | |
else if (algId == algEspAes128HmacMd5 || algId == algEspAes128HmacSha1) { | |
if (s.length < 32) { | |
window.alert("Encryption key must be 32 digits!"); | |
return false; | |
} | |
else if (s.length > 32) { | |
if (window.confirm('Warning: Encryption key longer than 32 digits - OK to truncate?') == true) { | |
document.thisForm.globalMgtSecretTagName.value = s.substring(0,32); | |
} | |
else { | |
return false; | |
} | |
} | |
} | |
else if (algId == algEspAes256HmacMd5 || algId == algEspAes256HmacSha1) { | |
if (s.length < 64) { | |
window.alert("Encryption key must be 64 digits!"); | |
return false; | |
} | |
else if (s.length > 64) { | |
if (window.confirm('Warning: Encryption key longer than 64 digits - OK to truncate?') == true) { | |
document.thisForm.globalMgtSecretTagName.value = s.substring(0,64); | |
} | |
else { | |
return false; | |
} | |
} | |
} | |
return true; | |
} | |
function validateHexChars(s) { | |
for (var i = 0; i < s.length; i++) { | |
var c = s.substring(i, i + 1); | |
switch (c) { | |
case '0': | |
case '1': | |
case '2': | |
case '3': | |
case '4': | |
case '5': | |
case '6': | |
case '7': | |
case '8': | |
case '9': | |
case 'a': | |
case 'A': | |
case 'b': | |
case 'B': | |
case 'c': | |
case 'C': | |
case 'd': | |
case 'D': | |
case 'e': | |
case 'E': | |
case 'f': | |
case 'F': | |
continue; | |
default: | |
return false; | |
} | |
} | |
return true; | |
} | |
function isValidMACFormat(mac) { | |
var pos = 0; | |
var s = new String(""); | |
if (mac.length != 17) | |
return false; | |
for (var i = 0; i < mac.length; i++) { | |
s = mac.substring(i, i+1); | |
if (pos == 2) { | |
if (s != ":") | |
return false; | |
else | |
pos = 0; | |
} else if (!validateHexChars(s)) { | |
return false; | |
} else { | |
pos++; | |
} | |
} | |
return true; | |
} | |
function validateAuthKey(s) { | |
if (validateHexChars(s) == false) | |
{ | |
window.alert("Authentication key must contain digits (0-9) or hex digits (a-f/A-F) only!"); | |
return false; | |
} | |
algEspDesHmacMd5 = 4; algEspDesHmacSha1 = 11; | |
algEsp3DesHmacMd5 = 7; algEsp3DesHmacSha1 = 9; | |
algId = document.thisForm.globalMgtSAalgoName.options[document.thisForm.globalMgtSAalgoName.selectedIndex].value; | |
if (algId == algEsp3DesHmacMd5 || algId == algEspDesHmacMd5) | |
{ | |
if (s.length < 32) | |
{ | |
window.alert("Authentication key must be 32 digits!"); | |
return false; | |
} | |
else if (s.length > 32) | |
{ | |
if (window.confirm('Warning: Authentication key longer than 32 digits - OK to truncate?') == true) | |
{ | |
document.thisForm.globalMgtAuthKeyTagName.value = s.substring(0,32); | |
} | |
else | |
{ | |
return false; | |
} | |
} | |
} | |
else if (algId == algEsp3DesHmacSha1 || algId == algEspDesHmacSha1) | |
{ | |
if (s.length < 40) | |
{ | |
window.alert("Authentication key must be 40 digits!"); | |
return false; | |
} | |
else if (s.length > 40) | |
{ | |
if (window.confirm('Warning: Authentication key longer than 40 digits - OK to truncate?') == true) | |
{ | |
document.thisForm.globalMgtAuthKeyTagName.value = s.substring(0,40); | |
} | |
else | |
{ | |
return false; | |
} | |
} | |
} | |
return true; | |
} | |
function insertTabs(numTabs) { | |
var i; | |
var strTabs = new String(); | |
for (i=0; i<numTabs ;i++) { | |
strTabs = strTabs + "\t"; | |
} | |
return strTabs; | |
} | |
function chgButtColor(color) { | |
var el = event.srcElement; | |
if (null == el) { | |
return; | |
} | |
if (el.tagName == "INPUT" && (el.type == "submit" || el.type == "button" || el.type == "reset")) { | |
event.srcElement.style.backgroundColor=color; | |
} | |
} | |
function setSelect(sel, val) { | |
for(var i=0; i<sel.length; i++) { | |
if(sel.options[i].value == val) { | |
sel.selectedIndex = i; | |
} | |
} | |
} | |
function setOptionByValue(dstSelObj, inValue) | |
{ | |
if(dstSelObj == null || dstSelObj.type != "select-one") | |
return; | |
for(var i=0; i < dstSelObj.length;i++) | |
{ | |
if(dstSelObj.options[i].value == inValue) | |
{ | |
dstSelObj.selectedIndex = i; | |
dstSelObj.options[i].selected = true; | |
break; | |
} | |
} | |
} | |
function selBlk(firstSel, lastSel, isContiguous) { | |
this.firstSel = firstSel; | |
this.lastSel = lastSel; | |
this.isContiguous = isContiguous; | |
} | |
function getSelectedBlock(sel) { | |
var first = -1; | |
var last = -1; | |
var contig = true; | |
for (var ix = 0; ix < sel.length; ix++) { | |
if (sel.options[ix].selected) { | |
if (first == -1) { | |
first = ix; | |
} else { | |
if (!sel.options[ix-1].selected) contig = false; | |
} | |
last = ix; | |
} | |
} | |
return new selBlk(first, last, contig); | |
} | |
function canMoveSelBlkUp(blk) { | |
return (blk.isContiguous && blk.firstSel > 0); | |
} | |
function canMoveSelBlkDown(blk, sel) { | |
return (blk.isContiguous && blk.firstSel >= 0 && blk.lastSel < sel.length-1); | |
} | |
function moveUpSelectedBlk(sel) { | |
var blk = getSelectedBlock(sel); | |
if (canMoveSelBlkUp(blk)) { | |
var saveOpt = sel.options[blk.firstSel-1]; | |
for (var ix = blk.firstSel; ix <= blk.lastSel; ix++) { | |
var opt = sel.options[ix]; | |
sel.options[ix-1] = new Option(opt.text, opt.value, opt.defaultSelected, false); | |
} | |
sel.options[blk.lastSel] = new Option(saveOpt.text, saveOpt.value, saveOpt.defaultSelected, false); | |
setTimeout("setSel('" + sel.id + "', " + eval("blk.lastSel-1") + ", " + eval("blk.firstSel-1") + ")", 1); | |
} | |
} | |
function moveDownSelectedBlk(sel) { | |
var blk = getSelectedBlock(sel); | |
if (canMoveSelBlkDown(blk, sel)) { | |
var saveOpt = sel.options[blk.lastSel+1]; | |
for (var ix = blk.lastSel; ix >= blk.firstSel; ix--) { | |
var opt = sel.options[ix]; | |
sel.options[ix+1] = new Option(opt.text, opt.value, opt.defaultSelected, false); | |
} | |
sel.options[blk.firstSel] = new Option(saveOpt.text, saveOpt.value, saveOpt.defaultSelected, false); | |
setTimeout("setSel('" + sel.id + "', " + eval("blk.firstSel+1") + ", " + eval("blk.lastSel+1") + ")", 1); | |
} | |
} | |
function setSel(selId, start, end) { | |
var sel = document.getElementById(selId); | |
var lastPoss; | |
if (start < end) { | |
for (var ix = start; ix <= end; ix++) { | |
sel.options[ix].selected = true; | |
} | |
} else { | |
for (var ix = start; ix >= end; ix--) { | |
sel.options[ix].selected = true; | |
} | |
} | |
if (sel.size > 1 && ix >= 0 && ix < sel.length) { | |
sel.options[ix].selected = true; | |
sel.options[ix].selected = false; | |
} | |
if (sel.onchange) sel.onchange(); | |
} | |
function addOptionToSel(sel, text, value, selected) { | |
var newOpt = null; | |
if((value == null) || (value == undefined)) { | |
newOpt = new Option(text, text); | |
} | |
else { | |
newOpt = new Option(text, value); | |
} | |
if(selected) { | |
newOpt.selected = true; | |
} | |
sel.options.add(newOpt); | |
} | |
function setRadioBtnDisable(radioBtn, isDisabled) { | |
for (var i = 0; i < radioBtn.length; i++) radioBtn[i].disabled = false; | |
if (isDisabled) { | |
for (i = 0; i < radioBtn.length; i++) { | |
if (!radioBtn[i].checked) radioBtn[i].disabled = true; | |
} | |
} | |
} | |
function utf8Length(s) | |
{ | |
var i; | |
var n = 0; | |
for (i = 0; i < s.length; i++) { | |
if (s.charCodeAt(i) > 255) | |
n += 3; | |
else | |
n++; | |
} | |
return n; | |
} | |
function htmlEsc(chr, escStr) { | |
this.chr = chr; | |
this.escStr = escStr; | |
} | |
var htmlEscapes = new Array | |
( | |
new htmlEsc('&', '&'), | |
new htmlEsc('<', '<'), | |
new htmlEsc('>', '>'), | |
new htmlEsc('\"', '"'), | |
new htmlEsc('/', '/') | |
); | |
function isHtmlEsc(str) { | |
if (str.charAt(0) == '&') { | |
for (var j = 0; j < htmlEscapes.length; j++) { | |
var l = htmlEscapes[j].escStr.length; | |
if (str.substr(0, l) == htmlEscapes[j].escStr) { | |
return true; | |
} | |
} | |
} | |
return false; | |
} | |
function htmlEscape(str) { | |
var encStr = ""; | |
for (var i = 0; i < str.length; i++) { | |
for (j = 0; j < htmlEscapes.length; j++) { | |
if (str.charAt(i) == htmlEscapes[j].chr) { | |
encStr += str.substring(0, i); | |
encStr += htmlEscapes[j].escStr; | |
str = str.substr(i+1); | |
i = 0; | |
break; | |
} | |
} | |
} | |
encStr += str; | |
return encStr; | |
} | |
function htmlUnescape(encStr) { | |
var str = ""; | |
for (var i = 0; i < encStr.length; i++) { | |
if (encStr.charAt(i) == '&') { | |
var c; | |
for (j = 0; j < htmlEscapes.length; j++) { | |
var l = htmlEscapes[j].escStr.length; | |
if (encStr.substr(i, l) == htmlEscapes[j].escStr) { | |
str += encStr.substring(0, i); | |
str += htmlEscapes[j].chr; | |
encStr = encStr.substr(i+l); | |
i = 0; | |
break; | |
} | |
} | |
} | |
} | |
str += encStr; | |
return str; | |
} | |
function decodeCsvStr(str) { | |
if(!str || str.length == 0 || typeof str !== "string") { | |
return str; | |
} | |
str = str.replace(/,/, ',').replace(/|/, '|').replace(/^/, '^'); | |
return str; | |
} | |
function isValidNonZeroIp(anyval, printMsg) { | |
var bReturn = true; | |
alertMsg = "Please Enter a Valid IP address!" | |
strlen = anyval.length | |
if (anyval == "" || anyval == "0.0.0.0") { | |
bReturn = false; | |
} else { | |
arrayOfStrings = anyval.split(".") | |
if (arrayOfStrings.length !=4) { | |
bReturn = false; | |
} else { | |
for (var i=0; i < 4; i++) { | |
if (arrayOfStrings[i].charAt(0) < '0' || arrayOfStrings[i].charAt(0) > '9' | |
|| isNaN(arrayOfStrings[i]) | |
|| arrayOfStrings[i] < 0 || arrayOfStrings[i] > 255) { | |
bReturn = false; | |
break; | |
} | |
} | |
} | |
} | |
if ((bReturn == false) && printMsg) | |
alert(alertMsg) | |
return bReturn; | |
} | |
function changeImage(imgField,newImg) { | |
if (document.images) { | |
document.images[imgField].src = newImg.src; | |
} | |
} | |
function changeText(id,text){ | |
var obj = getByID(id); | |
if (obj) { | |
var tNode = document.createTextNode(text); | |
var span = document.createElement("SPAN"); | |
span.setAttribute("id", id); | |
span.appendChild(tNode); | |
obj.parentNode.replaceChild(span,obj); | |
} | |
} | |
if (!Array.prototype.push) { | |
Array.prototype.push = | |
function() | |
{ | |
var i=0, b=this.length, a=arguments; | |
while(i<a.length) | |
this[b+i]=a[i++]; | |
return this.length | |
}; | |
} | |
function fetchGetParamRaw(key, win) { | |
var href = (win) ? win.location.href : document.location.href; | |
var url = ' ' + htmlUnescape(href); | |
var start = url.indexOf(key + '='); | |
if (start == -1) | |
return null; | |
var end = url.indexOf("&", start); | |
if (end == -1) end = url.length; | |
end -= start; | |
var value = url.substr(start,end); | |
return value.substr(value.indexOf('=') + 1, value.length - value.indexOf('=') + 1); | |
} | |
function fetchGetParam(key, win) { | |
var str = fetchGetParamRaw(key, win); | |
return (str === null) ? null : unescape(str); | |
} | |
function isDomainname(str) | |
{ | |
var regExpr = /^[\w][\w-]{0,62}(\.[\w][\w-]{0,62})*\.?$/; | |
return regExpr.test(str); | |
} | |
function isEmailAddress(str) | |
{ | |
var i; | |
var m; | |
var d; | |
str = trimWhitespace(str); | |
if (str.indexOf(' ') != -1) return false; | |
i = str.indexOf('@'); | |
if (i == -1) return false; | |
m = str.substring(0, i); | |
d = str.substring(i + 1); | |
if (m.length == 0 || isBlankString(str.substring(0, i))) return false; | |
if (d.length == 0 || isBlankString(d)) return false; | |
return true; | |
} | |
function isIPAddress(ipaddr) { | |
var re = /^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/; | |
if (re.test(ipaddr)) { | |
var parts = ipaddr.split("."); | |
if (parseInt(parseFloat(parts[0])) == 0) { return false; } | |
for (var i=0; i<parts.length; i++) { | |
if (parseInt(parseFloat(parts[i])) > 255) { return false; } | |
} | |
return true; | |
} else { | |
return false; | |
} | |
} | |
function isValidPrivateIPAddress(ipaddr) { | |
var re = /(^127\.)|(^192\.168\.)|(^10\.)|(^172\.1[6-9]\.)|(^172\.2[0-9]\.)|(^172\.3[0-1]\.)$/; | |
if (isIPAddress(ipaddr) && re.test(ipaddr)) { | |
return true; | |
} | |
return false; | |
} | |
function isValidURL(url) { | |
var urlRegExpr = /\w+:\/\/\[?\w+:*\]?/; | |
return (url.match(urlRegExpr)); | |
} | |
function isValidPort(port) { | |
var nonDigitRegex = /\D/; | |
if ( port != '' && | |
( nonDigitRegex.test(port) || port <= 0 || port > 65535)) { | |
return false; | |
} | |
return true; | |
} | |
function heightOf(msg, width, fontSize) { | |
var doc; | |
if (document.body && document.body.tagName.toLowerCase() != "frameset") { | |
doc = document; | |
} else if (top.frames["outlookFrame"]) { | |
doc = top.frames["outlookFrame"].document; | |
} else if (opener && !opener.closed && opener.top.frames["outlookFrame"]) { | |
doc = opener.top.frames["outlookFrame"].document; | |
} else { | |
return -1; | |
} | |
if (!doc.body) return -1; | |
var tbl = doc.createElement("table"); | |
doc.body.appendChild(tbl); | |
tbl.setAttribute("width", width); | |
tbl.style.visibility = "hidden"; | |
tbl.style.fontSize = fontSize; | |
var row = tbl.insertRow(0); | |
var cell = row.insertCell(0); | |
cell.innerHTML = msg; | |
var height = cell.clientHeight; | |
doc.body.removeChild(tbl); | |
return height; | |
} | |
function addOnload(func) { | |
if (!window.__load_events) { | |
var init = function () { | |
if (arguments.callee.done) return; | |
arguments.callee.done = true; | |
if (window.__load_timer) { | |
clearInterval(window.__load_timer); | |
window.__load_timer = null; | |
} | |
for (var i=0;i < window.__load_events.length;i++) { | |
window.__load_events[i](); | |
} | |
window.__load_events = null; | |
}; | |
if (document.addEventListener) { | |
document.addEventListener("DOMContentLoaded", init, false); | |
} | |
if (/WebKit/i.test(navigator.userAgent)) { | |
window.__load_timer = setInterval(function() { | |
if (/loaded|complete/.test(document.readyState)) { | |
init(); | |
} | |
}, 10); | |
} | |
window.onload = init; | |
window.__load_events = []; | |
} | |
window.__load_events.push(func); | |
} | |
function getOutlookFrame() | |
{ | |
return getFrame("outlookFrame"); | |
} | |
function getDataFrame() | |
{ | |
return getFrame("dataFrame"); | |
} | |
function getFrame(frameName) | |
{ | |
if (top.frames[frameName]) | |
return top.frames[frameName]; | |
var rootOpener = top.opener; | |
while(rootOpener) { | |
try { | |
if (rootOpener.parent && rootOpener.parent.frames) { | |
if (rootOpener.parent.frames[frameName]) | |
return rootOpener.parent.frames[frameName]; | |
else | |
rootOpener = rootOpener.top.opener; | |
} | |
else { | |
rootOpener = rootOpener.top.opener; | |
} | |
} | |
catch(e) { | |
rootOpener = null; | |
} | |
} | |
return null; | |
} | |
function dostt(elem, e, name) { | |
var evt = e || window.event, | |
type, | |
x, | |
id; | |
if (name) { | |
id = name; | |
} else { | |
name = elem.name; | |
id = elem.id; | |
} | |
try { | |
type = (elem.type == "button" || elem.className == "imgButt") ? TOOLTIP_TYPE_BUTTON : TOOLTIP_TYPE_FORMS; | |
if ((elem.tagName.toLowerCase() == "img") || (elem.tagName.toLowerCase() == "span") || (elem.tagName.toLowerCase() == "div")) { | |
type = TOOLTIP_TYPE_TEXT; | |
} | |
x = ((elem.tagName.toLowerCase() == "img") || (elem.tagName.toLowerCase() == "span" || (elem.tagName.toLowerCase() == "div")) || name == "") | |
? lkuptt(id) : lkuptt(name); | |
if (x) { | |
switch (x.type) { | |
case 'cl': | |
stt_cl2(x.title, x.descr, evt, elem, null, type, x.width, null); | |
break; | |
default: | |
stt(x.title, x.descr, evt, elem, x.param, type, x.width); | |
} | |
} | |
} catch(exc) { | |
} | |
} | |
function setPageHeaderJq(topNav, group, item, blade) | |
{ | |
if (group && !item) { | |
item = group; | |
group = ""; | |
} | |
var htmlStr = '<span class="pgHdrGroup">'; | |
if (topNav !== "") | |
{ | |
htmlStr += topNav + " /"; | |
} | |
if (group !== "") | |
{ | |
if (htmlStr != '') { | |
htmlStr += ' '; | |
} | |
htmlStr += group + " /"; | |
} | |
htmlStr += '</span><span class="pgHdrItem">' + item; | |
htmlStr += ((blade != null) ? (' ' + blade) : '') + '</span>'; | |
$('#pageHeader').append(htmlStr); | |
} | |
function getAuditPathStrForHiddenform(title) { | |
var pathStr = ''; | |
var f = getOutlookFrame(); | |
if (f && f.o) { | |
var navLevel1, navLevel2; | |
var navLevelTop = (top.frames && top.frames["logoFrame"] && top.frames["logoFrame"].gCurrTopMenuSelected) || 'MANAGE'; | |
var gShowOldNavigation = (swlStore.get('nav_mode', {isGlobal: true}) == 'Classic'); | |
try { | |
if (f.o.menuLevel1 !== undefined && f.o.menuLevel2 != "") { | |
navLevel1= f.o.menuLevel1; | |
navLevel2 = f.o.menuLevel2; | |
} | |
else { | |
navLevel1 = ""; | |
navLevel2 = document.title; | |
} | |
if (gShowOldNavigation) { | |
pathStr = addAuditPath(navLevel1, navLevel2); | |
} | |
else { | |
if (!gShowOldNavigation) { | |
if (navLevelTop.length) { | |
pathStr += navLevelTop; | |
} | |
} | |
if (navLevel1.length) { | |
if (pathStr.length) { | |
pathStr += ' / ' + navLevel1; | |
} else { | |
pathStr += navLevel1; | |
} | |
} | |
if (navLevel2.length) { | |
pathStr += ' / ' + navLevel2; | |
} | |
if (pathStr.length > 0) { | |
var endWith = pathStr.indexOf(title, pathStr.length-title.length); | |
if (endWith == -1) { | |
pathStr += ' / ' + title; | |
} | |
} | |
} | |
} | |
catch(exc) { | |
} | |
} else { | |
pathStr = title; | |
} | |
return pathStr; | |
} | |
function getAuditPathStr(inGroup, inItem, subItem, isTitle) { | |
var outlook = getFrame('tabFrame'); | |
var group = inGroup, ndx = -1, item = inItem, pathStr; | |
var title = document.title; | |
if (outlook && outlook.document) { | |
group = inGroup || $(getFrame('tabFrame').document).find('.pgHdrGroup').text().trim(); | |
item = inItem || $(getFrame('tabFrame').document).find('.pgHdrItem').text().trim(); | |
title = $(getFrame('tabFrame').document).attr('title').trim(); | |
} | |
if (group) { | |
ndx = group.search('\n'); | |
} | |
if (ndx !== -1) { | |
group = group.substr(++ndx); | |
} | |
if (group && group.search('/') !== -1) { | |
pathStr = group + ' ' + item; | |
} else { | |
pathStr = group + ' / ' + item; | |
} | |
if (isTitle == false) { | |
if (title && title.length) { | |
pathStr += ' / ' + title; | |
} | |
} | |
if (subItem && subItem.length) { | |
pathStr += ' / ' + subItem; | |
} | |
if (this.opener) { | |
if (this.opener.opener) { | |
if (this.opener.opener.opener && this.opener.opener.document.title.length) { | |
pathStr += ' / ' + this.opener.opener.document.title; | |
} | |
if (this.opener.document.title.length) { | |
pathStr += ' / ' + this.opener.document.title; | |
} | |
} | |
if ((isTitle == false) && (this.document.title.length)) { | |
pathStr += ' / ' + this.document.title; | |
} | |
} | |
return pathStr; | |
} | |
function checkAuditPath(passedForm) { | |
var f = getFrame('tabFrame'); | |
var group, item; | |
var auditpathStr; | |
var title = document.title; | |
var isTitle = true; | |
if (f) { | |
group = $(getFrame('tabFrame').document).find('.pgHdrGroup').text().trim(); | |
item = $(getFrame('tabFrame').document).find('.pgHdrItem').text().trim(); | |
auditpathStr = $(getFrame('tabFrame').document).find('auditPath').text().trim(); | |
} | |
if (auditpathStr && auditpathStr.length) { | |
if (!title || !title.length) { | |
return; | |
} | |
var endWith = auditpathStr.indexOf(title, auditpathStr.length-title.length); | |
if (endWith !== -1) { | |
return; | |
} | |
var pathStr = auditpathStr + ' / ' + title; | |
var $form = $(passedForm); | |
$form.each(function () { | |
var $this = $(this); | |
if ($this.length > 0) { | |
if ($this.find('input[name=auditPath]').length > 0) { | |
elem = $this.find('input[name=auditPath]')[0]; | |
elem.setAttribute("value", pathStr); | |
} | |
} | |
}); | |
return; | |
} | |
addAuditPath(group, item, title, isTitle, passedForm); | |
} | |
function addAuditPath(group, item, subItem, isTitle, passedForm, override) { | |
var f = getFrame('tabFrame'); | |
var $form, | |
elem, | |
pathStr = ""; | |
if (f) { | |
$form = $(getFrame('tabFrame').document).find('form'); | |
if (override) { | |
pathStr = group; | |
} else { | |
pathStr = getAuditPathStr(group, item, subItem, isTitle); | |
} | |
} | |
if (pathStr && pathStr.length == 0) { | |
return pathStr; | |
} | |
else if (pathStr == "") { | |
return pathStr; | |
} | |
if (passedForm) { | |
$form = $(passedForm); | |
} else if (this.opener) { | |
if ($(this.document).find('form').length > 0) { | |
$form = $(this.document).find('form'); | |
} else if ($(this.opener).find('form').length > 0) { | |
$form = $(this.opener).find('form'); | |
} else if (this.opener.opener && $(this.opener.opener).find('form').length > 0) { | |
$form = $(this.opener.opener).find('form'); | |
} | |
} | |
$form.each(function () { | |
var $this = $(this); | |
if ($this.length > 0) { | |
if ($this.find('input[name=auditPath]').length > 0) { | |
elem = $this.find('input[name=auditPath]')[0]; | |
} else { | |
elem = document.createElement("input"); | |
elem.setAttribute("type", "hidden"); | |
elem.setAttribute("name", "auditPath"); | |
} | |
elem.setAttribute("value", pathStr); | |
$this[0].appendChild(elem); | |
} | |
}); | |
if (pathStr && pathStr.length > 0) { | |
return pathStr; | |
} | |
} | |
function setPageHeader(topNav, group, item, blade) | |
{ | |
if (group && !item) { | |
item = group; | |
group = ""; | |
} | |
var d = document, | |
f, | |
frag = d.createDocumentFragment(), | |
gSpan, | |
gTxt, | |
iSpan, | |
iTxt, | |
pgHdr = d.getElementById('pageHeader'); | |
if (pgHdr) { | |
if (topNav !== "" || group !== "") | |
{ | |
var tmp = ''; | |
if (topNav !== '') { | |
tmp += " " + topNav + " /" | |
} | |
if (group !== '') { | |
tmp += " " + group + " /" | |
} | |
gTxt = d.createTextNode(tmp); | |
gSpan = d.createElement('span'); | |
gSpan.className = "pgHdrGroup"; | |
gSpan.appendChild(gTxt); | |
frag.appendChild(gSpan); | |
} | |
iTxt = d.createTextNode(item + (blade != null ? (" " + blade) : "")); | |
iSpan = d.createElement('span'); | |
iSpan.className = "pgHdrItem"; | |
iSpan.appendChild(iTxt); | |
frag.appendChild(iSpan); | |
pgHdr.appendChild(frag); | |
} | |
f = getOutlookFrame(); | |
if (f) { | |
if (f.o.menuLevel1 != group) | |
f.o.menuLevel1 = group; | |
if (f.o.menuLevel2 != item) | |
f.o.menuLevel2 = item; | |
} | |
} | |
function ldinptt(docId) | |
{ | |
var inp, i, sel, lbl; | |
var d = document; | |
ldtt(((docId) ? docId : d.title)); | |
inp = d.getElementsByTagName('input'); | |
for(i = 0; i < inp.length; i++) { | |
if (inp[i].type == "hidden") | |
continue; | |
setToolTip(inp[i]); | |
} | |
sel = d.getElementsByTagName('select'); | |
for(i = 0; i < sel.length; i++) { | |
if (sel[i].type == "hidden") | |
continue; | |
if (sel[i].onmouseover) | |
continue; | |
setToolTip(sel[i]); | |
} | |
lbl = d.getElementsByTagName("LABEL"); | |
for (i = 0; i < lbl.length; i++) { | |
if (lbl[i].htmlFor) { | |
setToolTip(lbl[i]); | |
} | |
} | |
var imgs = d.getElementsByTagName("img"); | |
for (i = 0; i < imgs.length; i++) { | |
if (imgs[i].src.indexOf("carrot.gif") >= 0) { | |
imgs[i].className = "ttip"; | |
setToolTip(imgs[i]); | |
} | |
} | |
var spanObjs = d.getElementsByTagName("span"); | |
for (i = 0; i < spanObjs.length; i++) { | |
if (spanObjs[i].className == "ttip") { | |
setToolTip(spanObjs[i]); | |
} | |
} | |
} | |
function initPage(docId, newStyle, menuLevel1, menuLevel2, topNav) | |
{ | |
var newStyle = newStyle || false; | |
var navLevel1, navLevel2; | |
var navLevelTop; | |
var gShowOldNavigation = (swlStore.get('nav_mode', {isGlobal: true}) == 'Classic'); | |
var f = getOutlookFrame(); | |
if (f && f.o) { | |
try { | |
if (f.o.menuLevel1 !== undefined && f.o.menuLevel2 != "") { | |
navLevel1= f.o.menuLevel1; | |
navLevel2 = f.o.menuLevel2; | |
} | |
else { | |
navLevel1 = ""; | |
navLevel2 = document.title; | |
} | |
if (topNav !== undefined && topNav != null) { | |
navLevelTop = topNav; | |
} | |
else { | |
var topMenuSelected = (top.frames && top.frames["logoFrame"] && top.frames["logoFrame"].gCurrTopMenuSelected) || 'MONITOR'; | |
navLevelTop = topMenuSelected; | |
} | |
if (menuLevel1 !== undefined && menuLevel1 != null) { | |
navLevel1 = menuLevel1; | |
} | |
else { | |
navLevel1 = f.o.menuLevel1; | |
} | |
if (menuLevel2 !== undefined && menuLevel2 != null) { | |
navLevel2 = menuLevel2; | |
} | |
else { | |
navLevel2 = f.o.menuLevel2; | |
} | |
if (newStyle) { | |
setPageHeaderJq(navLevelTop, navLevel1, navLevel2); | |
} else { | |
setPageHeader(navLevelTop, navLevel1, navLevel2); | |
} | |
if (gShowOldNavigation) { | |
addAuditPath(navLevel1, navLevel2); | |
} | |
else { | |
if (navLevelTop == 'MONITOR') { | |
navLevelTop = 'MANAGE'; | |
} | |
addAuditPath(navLevelTop, navLevel1, navLevel2); | |
} | |
} | |
catch(exc) { | |
} | |
} | |
if (typeof createTutorialSection === 'function') { | |
createTutorialSection(docId); | |
} | |
if (typeof(jQuery) !== 'undefined') { | |
if ($('body div#popup_branding_bar').length > 0) { | |
$(document.body).addClass('dialog-body'); | |
} | |
} | |
if (this.opener && this.opener.frames !== undefined && this.opener.frames.name === "tabFrame") { | |
if (typeof jQuery !== "undefined") { | |
if ($('.swlPanelGroup').length > 0) { | |
var divHts = 0; | |
$('.swlPanelGroup').prevAll('form > div').each(function () { | |
divHts += $(this).height(); | |
}); | |
if (typeof topWin !== "undefined" && topWin.innerHeight) { | |
if ($('body').height() > topWin.innerHeight - divHts) { | |
$('body').css({'max-height': topWin.innerHeight, | |
'height': topWin.innerHeight, | |
'min-height': topWin.innerHeight }); | |
$('.swlPanelGroup').css('overflow','hidden'); | |
} | |
} else { | |
if ($('body').height() > $('body').parent().innerHeight()) { | |
$('body').css('max-height', $('body').parent().innerHeight() - | |
(parseInt($('body').css('margin-top')) + | |
parseInt($('body').css('margin-bottom')))); | |
$('.swlPanelGroup').css('overflow','hidden'); | |
} | |
} | |
} | |
} | |
} | |
if (typeof jQuery !== "undefined") { | |
if ($('.footerBtnBar').length > 0) { | |
$('body').append('<div style="height:50px;clear:both;"></div>'); | |
} | |
$('.tab_background_on, .tab_background_off, .tab_bkgnd_small_on, .tab_bkgnd_small_off').click(function(event){ | |
if (!event.originalEvent) { return; } | |
$(this).find('a').click(); | |
}); | |
if (window.opener ) { | |
$('body').append('<div id="bottomDiv" style="clear:both;"></div>'); | |
setTimeout(function(){ | |
if($('.swlPanelResizeCntnr .swlPanelResizeBtnBar').length == 0){ | |
adjustPanelGrp(); | |
} | |
var pos = $('#bottomDiv').offset(); | |
var win = $(window)[0]; | |
var wd = (win.outerWidth > 480) ? win.outerWidth : 480; | |
var ht = win.outerHeight; | |
var innerWd = win.innerWidth; | |
var innerHt = win.innerHeight; | |
var newWd = wd + ($('body')[0].scrollWidth - $('body')[0].clientWidth); | |
var newHt = ht + Math.round(pos.top-innerHt) + 20; | |
win.resizeTo(((newWd > wd) ? newWd : wd), | |
((newHt > ht) ? newHt : ht)); | |
if($('.swlPanelResizeCntnr .swlPanelResizeBtnBar').length == 1){ | |
$(window).resize(function(){ | |
var yDelta = parseInt($('body').css('margin-top')) + parseInt($('body').css('margin-bottom')) + | |
parseInt($('body').css('padding-top')) + parseInt($('body').css('padding-bottom')); | |
var tmpH = $(window).height() - yDelta; | |
$('body').css({'max-height': tmpH, | |
'height': tmpH, | |
'min-height': tmpH }); | |
setResizeablePanels(); | |
}); | |
$('.swlPanelGroup').css('overflow','visible'); | |
} | |
}, 0); | |
} | |
else { | |
$(window).scroll(function(){ | |
hideContextMenu(); | |
}); | |
} | |
} | |
if (typeof(window.svg4everybody) === 'function') { | |
svg4everybody(); | |
} | |
} | |
function adjustPanelGrp() { | |
if ($('.swlPanelGroup').length > 0 && $('.swlPanelGroup .swlPanel').length > 0) { | |
var panelLen = $('.swlPanelGroup .swlPanel').length, | |
maxHeight = 0, heightLimit = 500, padding = 20; | |
for(var i = 0; i< panelLen; i++) { | |
var panelHt = $('.swlPanelGroup .swlPanel :eq(' + i + ')').height(); | |
if (panelHt > maxHeight) maxHeight = panelHt; | |
} | |
var panelGrpHeight = maxHeight > heightLimit ? heightLimit : maxHeight; | |
$('.swlPanelGroup').height(panelGrpHeight + padding); | |
if (maxHeight > heightLimit) $('.swlPanelGroup').css("overflow-y","auto"); | |
} | |
} | |
function ldinp(docId, newStyle, menuLevel1, menuLevel2, topNav) | |
{ | |
ldinptt(docId); | |
initPage(docId, newStyle, menuLevel1, menuLevel2, topNav); | |
} | |
function getmetaContents(mn) | |
{ | |
var m = document.getElementsByTagName('meta'); | |
if (m) { | |
for(var i = 0; i < m.length; i++){ | |
if (m[i].name == mn){ | |
return m[i].content; | |
} | |
} | |
} | |
return ""; | |
} | |
function nodeInsertAfter(new_node, existing_node) | |
{ | |
if (existing_node.nextSibling) { | |
existing_node.parentNode.insertBefore(new_node, existing_node.nextSibling); | |
} | |
else { | |
existing_node.parentNode.appendChild(new_node); | |
} | |
} | |
function completeRoundButtons() | |
{ | |
if (!document.getElementsByTagName) { | |
return false | |
} | |
var buttons = document.getElementsByTagName("input"); | |
for (i=0; i < buttons.length; i++) { | |
if (buttons[i].className == 'roundBtn') { | |
var div = document.createElement("div"); | |
div.className = "roundBtnEnd"; | |
nodeInsertAfter(div, buttons[i]); | |
} | |
} | |
} | |
function ldImgTips(docId) | |
{ | |
var i; | |
var d = document; | |
ldtt(((docId) ? docId : d.title)); | |
var imgs = d.getElementsByTagName("img"); | |
for (i = 0; i < imgs.length; i++) { | |
if (imgs[i].src.indexOf("carrot.gif") >= 0) { | |
imgs[i].className = "ttip"; | |
setToolTip(imgs[i]); | |
} | |
} | |
} | |
function setToolTip(elem) { | |
if (elem.tagName == "LABEL") { | |
elem.onmouseover = | |
function(e) { | |
var forElem = document.getElementById(this.htmlFor); | |
try { | |
dostt(forElem, e); | |
} | |
catch(exc) { | |
} | |
}; | |
} else { | |
elem.onmouseover = | |
function(e) { | |
try { | |
dostt(this, e); | |
} | |
catch(exc) { | |
} | |
}; | |
} | |
elem.onmouseout = | |
function(e) { | |
try { | |
hideTooltip(e); | |
} | |
catch(exc) { | |
} | |
}; | |
elem.title = ""; | |
} | |
var paramXhr = null; | |
function paramObj(name, type, guiType, min, max, defaultVal) { | |
this.name = name; | |
this.type = type; | |
this.guiType = guiType; | |
this.min = min; | |
this.max = max; | |
this.defaultVal = defaultVal; | |
this.htmlStr = null; | |
if (guiType == "guiTextField") { | |
if (type == "paramInteger") { | |
this.htmlStr = "<table class=\"tooltipParamTable\">"; | |
if (!(min == 0 && max == 0)) { | |
this.htmlStr += "<tr><td class=\"tooltipFieldName\" width=\"80\">Min:</td><td>" + min + "</td></tr>" + | |
"<tr><td class=\"tooltipFieldName\" width=\"80\">Max:</td><td>" + max + "</td></tr>"; | |
} | |
this.htmlStr += "<tr><td class=\"tooltipFieldName\" width=\"80\">Default:</td><td>" + defaultVal + "</td></tr>" + | |
"</table>"; | |
} | |
else if (type == "paramString") { | |
this.htmlStr = "<table class=\"tooltipParamTable\">"; | |
if (!(min == 0 && max == 0)) { | |
this.htmlStr += "<tr><td class=\"tooltipFieldName\" width=\"80\">Min Length:</td><td>" + min + "</td></tr>" + | |
"<tr><td class=\"tooltipFieldName\" width=\"80\">Max Length:</td><td>" + max + "</td></tr>"; | |
} | |
if (defaultVal != "" && | |
isNaN(defaultVal) && | |
(parseInt(defaultVal, 10) == "NaN") && | |
defaultVal != "function-generated" && | |
defaultVal != "not-available") { | |
this.htmlStr += "<tr><td class=\"tooltipFieldName\" width=\"80\">Default:</td><td>" + defaultVal + "</td></tr>"; | |
} | |
this.htmlStr += "</table>"; | |
} | |
else { | |
this.htmlStr = null; | |
} | |
} | |
else if (guiType == "guiCheckbox") { | |
if (type == "paramBoolean") { | |
var defVal = (defaultVal != "0")?"Enabled":"Disabled"; | |
this.htmlStr = "<table class=\"tooltipParamTable\">" + | |
"<tr><td class=\"tooltipFieldName\" width=\"80\">Values:</td><td>Enable/Disable</td></tr>" + | |
"<tr><td class=\"tooltipFieldName\" width=\"80\">Default:</td><td>" + defVal + "</td></tr>" + | |
"</table>"; | |
} | |
else { | |
this.htmlStr = null; | |
} | |
} | |
else if (guiType == "guiRadio") { | |
if (type == "paramBoolean") { | |
var defVal = (defaultVal != "0")?"Enabled":"Disabled"; | |
this.htmlStr = "<table class=\"tooltipParamTable\">" + | |
"<tr><td class=\"tooltipFieldName\" width=\"80\">Values:</td><td>Enable/Disable</td></tr>" + | |
"<tr><td class=\"tooltipFieldName\" width=\"80\">Default:</td><td>" + defVal + "</td></tr>" + | |
"</table>"; | |
} | |
else if (type == "paramInteger") { | |
this.htmlStr = "<table class=\"tooltipParamTable\">" + | |
"<tr><td class=\"tooltipFieldName\" width=\"80\">Values:</td><td>[enum]</td></tr>" + | |
"<tr><td class=\"tooltipFieldName\" width=\"80\">Default:</td><td>value(" + defaultVal + ")</td></tr>" + | |
"</table>"; | |
} | |
else { | |
this.htmlStr = null; | |
} | |
} | |
else if (guiType == "guiPopup" || guiType == "guiScrollbox") { | |
if (type == "paramInteger") { | |
this.htmlStr = "<table class=\"tooltipParamTable\">" + | |
"<tr><td class=\"tooltipFieldName\" width=\"80\">Values:</td><td>[enum]</td></tr>" + | |
"<tr><td class=\"tooltipFieldName\" width=\"80\">Default:</td><td>value(" + defaultVal + ")</td></tr>" + | |
"</table>"; | |
} | |
else { | |
this.htmlStr = null; | |
} | |
} | |
else if (guiType == "guiTable") { | |
if (type == "paramTableCount") { | |
this.htmlStr = "<table class=\"tooltipParamTable\">" + | |
"<tr><td class=\"tooltipFieldName\" width=\"80\">Max Entries:</td><td>" + max + "</td></tr>" + | |
"</table>"; | |
} | |
else { | |
this.htmlStr = null; | |
} | |
} | |
else if (guiType == "guiSpecial") { | |
this.htmlStr = null; | |
} | |
else { | |
this.htmlStr = null; | |
} | |
} | |
function createXHR() | |
{ | |
var newReq = null; | |
if (window.XMLHttpRequest) { | |
try { | |
newReq = new XMLHttpRequest(); | |
} | |
catch(e) { | |
newReq = false; | |
} | |
} | |
else if (window.ActiveXObject) | |
{ | |
try { | |
newReq = new ActiveXObject("Msxml2.XMLHTTP"); | |
} | |
catch(e) { | |
try { | |
newReq = new ActiveXObject("Microsoft.XMLHTTP"); | |
} | |
catch(e) { | |
newReq = false; | |
} | |
} | |
} | |
return newReq; | |
} | |
function getParamInfo(param) | |
{ | |
if (paramXhr == null) { | |
paramXhr = createXHR(); | |
} | |
var extraTags = ''; | |
try { | |
var pageId = $("meta[name=id]").attr("content"); | |
if ((pageId == 'ruleTable') && (toZone != 'ALL') && (fromZone != 'ALL')) { | |
extraTags += '&srczone=' + fromZone + '&dstzone=' + toZone; | |
} | |
} | |
catch(e) { | |
} | |
try { | |
var url = "/getParamInfo.xml?param=" + param + extraTags; | |
if (paramXhr) { | |
paramXhr.open("GET", url, false); | |
paramXhr.send(""); | |
} | |
else { | |
alert("paramXhr is null!"); | |
return null; | |
} | |
} | |
catch(e) { | |
alert(e); | |
return null; | |
} | |
if (paramXhr.status == 200) { | |
var statusTags = paramXhr.responseXML.getElementsByTagName("status"); | |
if (statusTags.length > 0) { | |
var result = statusTags[0].firstChild.nodeValue; | |
if (result == "ok") { | |
var name = ""; | |
var nameTags = paramXhr.responseXML.getElementsByTagName("name"); | |
if (nameTags.length > 0) { | |
name = nameTags[0].firstChild.nodeValue; | |
} | |
var type = ""; | |
var typeTags = paramXhr.responseXML.getElementsByTagName("type"); | |
if (typeTags.length > 0) { | |
type = typeTags[0].firstChild.nodeValue; | |
} | |
var guiType = ""; | |
var guiTypeTags = paramXhr.responseXML.getElementsByTagName("gui-type"); | |
if (guiTypeTags.length > 0) { | |
guiType = guiTypeTags[0].firstChild.nodeValue; | |
} | |
var min = ""; | |
var minTags = paramXhr.responseXML.getElementsByTagName("min"); | |
if (minTags.length > 0) { | |
min = minTags[0].firstChild.nodeValue; | |
} | |
var max = ""; | |
var maxTags = paramXhr.responseXML.getElementsByTagName("max"); | |
if (maxTags.length > 0) { | |
max = maxTags[0].firstChild.nodeValue; | |
} | |
var defaultVal = ""; | |
var defaultTags = paramXhr.responseXML.getElementsByTagName("default"); | |
if (defaultTags.length > 0) { | |
defaultVal = defaultTags[0].firstChild.nodeValue; | |
} | |
var retObj = new paramObj(name, type, guiType, min, max, defaultVal); | |
return retObj; | |
} | |
} | |
} | |
return null; | |
} | |
function natPolicyStatsObj(usage, rxBytes, rxPackets, txBytes, txPackets, timeLastHit) | |
{ | |
this.usage = usage; | |
this.rxBytes = rxBytes; | |
this.rxPackets = rxPackets; | |
this.txBytes = txBytes; | |
this.txPackets = txPackets; | |
this.timeLastHit = timeLastHit; | |
} | |
function getNatPolicyStats(id) | |
{ | |
var myXhr = createXHR(); | |
if (myXhr == null) | |
return null; | |
try { | |
var url = "/getNatPolicyStats.xml?id=" + id; | |
if (myXhr) { | |
myXhr.open("GET", url, false); | |
myXhr.send(""); | |
} | |
else { | |
return null; | |
} | |
} | |
catch(e) { | |
return null; | |
} | |
if (myXhr.status == 200) { | |
var statusTags = myXhr.responseXML.getElementsByTagName("status"); | |
if (statusTags.length > 0) { | |
var result = statusTags[0].firstChild.nodeValue; | |
if (result == "ok") { | |
var usage = ""; | |
var usageTags = myXhr.responseXML.getElementsByTagName("usage"); | |
if (usageTags.length > 0) { | |
usage = usageTags[0].firstChild.nodeValue; | |
} | |
var rxBytes = ""; | |
var rxBytesTags = myXhr.responseXML.getElementsByTagName("rxBytes"); | |
if (rxBytesTags.length > 0) { | |
rxBytes = rxBytesTags[0].firstChild.nodeValue; | |
} | |
var rxPackets = ""; | |
var rxPacketsTags = myXhr.responseXML.getElementsByTagName("rxPackets"); | |
if (rxPacketsTags.length > 0) { | |
rxPackets = rxPacketsTags[0].firstChild.nodeValue; | |
} | |
var txBytes = ""; | |
var txBytesTags = myXhr.responseXML.getElementsByTagName("txBytes"); | |
if (txBytesTags.length > 0) { | |
txBytes = txBytesTags[0].firstChild.nodeValue; | |
} | |
var txPackets = ""; | |
var txPacketsTags = myXhr.responseXML.getElementsByTagName("txPackets"); | |
if (txPacketsTags.length > 0) { | |
txPackets = txPacketsTags[0].firstChild.nodeValue; | |
} | |
var timeLastHit = ""; | |
var timeLastHitTags = myXhr.responseXML.getElementsByTagName("timeLastHit"); | |
if (timeLastHitTags.length > 0) { | |
timeLastHit = timeLastHitTags[0].firstChild.nodeValue; | |
} | |
var retObj = new natPolicyStatsObj(usage, rxBytes, rxPackets, txBytes, txPackets, timeLastHit); | |
return retObj; | |
} | |
} | |
} | |
return null; | |
} | |
function appPolicyStatsObj(matchedTimes) | |
{ | |
this.matchedTimes = matchedTimes; | |
} | |
function getAppPolicyStats(name) | |
{ | |
var myXhr = createXHR(); | |
if (myXhr == null) | |
return null; | |
try { | |
var url = "/getAppPolicyStats.xml?policyName=" + encodeURIComponent(name); | |
if (myXhr) { | |
myXhr.open("GET", url, false); | |
myXhr.send(""); | |
} | |
else { | |
return null; | |
} | |
} | |
catch(e) { | |
return null; | |
} | |
if (myXhr.status == 200) { | |
var statusTags = myXhr.responseXML.getElementsByTagName("status"); | |
if (statusTags.length > 0) { | |
var result = statusTags[0].firstChild.nodeValue; | |
if (result == "ok") { | |
var matchedTimes = ""; | |
var matchedTimesTags = myXhr.responseXML.getElementsByTagName("matchedTimes"); | |
if (matchedTimesTags.length > 0) { | |
matchedTimes = matchedTimesTags[0].firstChild.nodeValue; | |
} | |
var retObj = new appPolicyStatsObj(matchedTimes); | |
return retObj; | |
} | |
} | |
} | |
return null; | |
} | |
function rulePolicyStatsObj(rxBytes, rxPackets, txBytes, txPackets, usage, timeLastHit) | |
{ | |
this.rxBytes = rxBytes; | |
this.rxPackets = rxPackets; | |
this.txBytes = txBytes; | |
this.txPackets = txPackets; | |
this.usage = usage; | |
this.timeLastHit = timeLastHit; | |
} | |
function getRulePolicyStats(srcAddr, dstAddr, srcZone, dstZone, | |
srcIface, dstIface, | |
srcSvc, | |
ipType, | |
service) | |
{ | |
var myXhr = createXHR(); | |
if (myXhr == null) | |
return null; | |
try { | |
var url = "/getRulePolicyStats.xml?srcAddr=" + srcAddr + "&dstAddr=" + dstAddr + "&srcZone=" + srcZone + "&dstZone=" + dstZone + | |
"&srcIface=" + srcIface + "&dstIface=" + dstIface + | |
"&srcSvc=" + srcSvc + | |
"&ipType=" + ipType + | |
"&service=" + service; | |
if (myXhr) { | |
myXhr.open("GET", url, false); | |
myXhr.send(""); | |
} | |
else { | |
return null; | |
} | |
} | |
catch(e) { | |
return null; | |
} | |
if (myXhr.status == 200) { | |
var statusTags = myXhr.responseXML.getElementsByTagName("status"); | |
if (statusTags.length > 0) { | |
var result = statusTags[0].firstChild.nodeValue; | |
if (result == "ok") { | |
var rxBytes = ""; | |
var rxBytesTags = myXhr.responseXML.getElementsByTagName("rxBytes"); | |
if (rxBytesTags.length > 0) { | |
rxBytes = rxBytesTags[0].firstChild.nodeValue; | |
} | |
var rxPackets = ""; | |
var rxPacketsTags = myXhr.responseXML.getElementsByTagName("rxPackets"); | |
if (rxPacketsTags.length > 0) { | |
rxPackets = rxPacketsTags[0].firstChild.nodeValue; | |
} | |
var txBytes = ""; | |
var txBytesTags = myXhr.responseXML.getElementsByTagName("txBytes"); | |
if (txBytesTags.length > 0) { | |
txBytes = txBytesTags[0].firstChild.nodeValue; | |
} | |
var txPackets = ""; | |
var txPacketsTags = myXhr.responseXML.getElementsByTagName("txPackets"); | |
if (txPacketsTags.length > 0) { | |
txPackets = txPacketsTags[0].firstChild.nodeValue; | |
} | |
var policyUsage = ""; | |
var policyUsageTags = myXhr.responseXML.getElementsByTagName("policyUsage"); | |
if (policyUsageTags.length > 0) { | |
policyUsage = policyUsageTags[0].firstChild.nodeValue; | |
} | |
var timeLastHit = ""; | |
var timeLastHitTags = myXhr.responseXML.getElementsByTagName("timeLastHit"); | |
if (timeLastHitTags.length > 0) { | |
timeLastHit = timeLastHitTags[0].firstChild.nodeValue; | |
} | |
var retObj = new rulePolicyStatsObj(rxBytes, rxPackets, txBytes, txPackets, policyUsage, timeLastHit); | |
return retObj; | |
} | |
} | |
} | |
return null; | |
} | |
function switchPortStatsObj(rxBytes, rxFrames, txBytes, txFrames, collisions, errors) | |
{ | |
this.rxBytes = rxBytes; | |
this.rxFrames = rxFrames; | |
this.txBytes = txBytes; | |
this.txFrames = txFrames; | |
this.collisions = collisions; | |
this.errors = errors; | |
} | |
function updateNatPolicyStats(polId) | |
{ | |
var x = getNatPolicyStats(polId); | |
if (x) { | |
var o = document.getElementById("val1"); | |
if (o) o.innerHTML = x.usage; | |
o = document.getElementById("val2"); | |
if (o) o.innerHTML = x.rxBytes; | |
o = document.getElementById("val3"); | |
if (o) o.innerHTML = x.rxPackets; | |
o = document.getElementById("val4"); | |
if (o) o.innerHTML = x.txBytes; | |
o = document.getElementById("val5"); | |
if (o) o.innerHTML = x.txPackets; | |
o = document.getElementById("val6"); | |
if (o) o.innerHTML = x.timeLastHit; | |
} | |
gTimerFunc = setTimeout("updateNatPolicyStats(" + polId + ")", 3000); | |
} | |
function updateAppPolicyStats(name) | |
{ | |
var x = getAppPolicyStats(name); | |
if (x) { | |
var o = document.getElementById("val1"); | |
if (o) o.innerHTML = x.matchedTimes; | |
} | |
gTimerFunc = setTimeout("updateAppPolicyStats('" + name + "')", 3000); | |
} | |
function updateRulePolicyStats(srcAddr, dstAddr, srcZone, dstZone, | |
srcIface, dstIface, | |
srcSvc, | |
ipType, | |
service) | |
{ | |
var x = getRulePolicyStats(srcAddr, dstAddr, srcZone, dstZone, | |
srcIface, dstIface, | |
srcSvc, | |
ipType, | |
service); | |
if (x) { | |
o = document.getElementById("val1"); | |
if (o) o.innerHTML = x.rxBytes; | |
o = document.getElementById("val2"); | |
if (o) o.innerHTML = x.rxPackets; | |
o = document.getElementById("val3"); | |
if (o) o.innerHTML = x.txBytes; | |
o = document.getElementById("val4"); | |
if (o) o.innerHTML = x.txPackets; | |
o = document.getElementById("val5"); | |
if (o) o.innerHTML = x.usage; | |
o = document.getElementById("val6"); | |
if (o) o.innerHTML = x.timeLastHit; | |
} | |
gTimerFunc = setTimeout("updateRulePolicyStats(" + srcAddr + "," + dstAddr + "," + srcZone + "," + dstZone + "," + | |
srcIface + "," + dstIface + "," + | |
srcSvc + "," + | |
ipType + "," + | |
service + ")", 3000); | |
} | |
var TableUtils = { | |
buildHeader: function(settings) { | |
var htmlStr = ''; | |
var j = 0; | |
var col = ''; | |
if(!settings.hideHeader) { | |
htmlStr += '<thead><tr class="' + (settings.headerClass || '') + '">'; | |
for(; j < settings.cols.length; j++) { | |
col = settings.cols[j]; | |
htmlStr += '<th'; | |
if(col.width) { | |
htmlStr += ' width="' + col.width + '"'; | |
} | |
htmlStr += '>' + (col.title) + '</th>'; | |
} | |
htmlStr += '</tr></thead>'; | |
} | |
return htmlStr; | |
}, | |
buildRow: function(settings, record, index, rowCount) { | |
var htmlStr = ''; | |
var j = 0; | |
var value = ''; | |
var col = ''; | |
if(settings.hideRecord && settings.hideRecord(record)) { | |
htmlStr += '<tr class="'+(settings.rowClass || '')+'" style="display: none;">'; | |
} else { | |
htmlStr += '<tr class="'+(settings.rowClass || '')+'">'; | |
} | |
for(; j < settings.cols.length; j++) { | |
col = settings.cols[j]; | |
value = record[col.attr]; | |
htmlStr += '<td'; | |
if(record[col.attr + '_id']) { | |
htmlStr += ' id="' + record[col.attr + '_id'] + '"'; | |
} else if(col.idPrefix) { | |
htmlStr += ' id="' + (col.idPrefix + index) + '"'; | |
} | |
if(col['class']) { | |
if(typeof col['class'] === 'function') { | |
htmlStr += ' class="' + col['class'](value, record, index) + '"'; | |
} else { | |
htmlStr += ' class="' + col['class'] + '"'; | |
} | |
} | |
if(col.width) { | |
htmlStr += ' width="' + col.width + '"'; | |
} | |
htmlStr += '>'; | |
if(col.renderer) { | |
if(typeof col.renderer === 'function') { | |
htmlStr += col.renderer(value, record, index); | |
} else { | |
htmlStr += col.renderer; | |
} | |
} else { | |
htmlStr += value; | |
} | |
htmlStr += '</td>'; | |
} | |
htmlStr += '</tr>'; | |
return htmlStr; | |
}, | |
buildTable: function(settings) { | |
var htmlStr = ''; | |
var htmlStrLimit = ''; | |
var i = 0; | |
var record = null; | |
var rowCount = 0; | |
htmlStr += '<table class="' + (settings['class'] || '') + '">'; | |
htmlStr += this.buildHeader(settings); | |
htmlStr += '<tbody>'; | |
for(; i < settings.data.length; i++) { | |
record = settings.data[i]; | |
if(!record || (settings.hideRecord && settings.hideRecord(record))) { | |
continue; | |
} | |
if(settings.limitNum && (settings.limitNum < rowCount) && !htmlStrLimit) { | |
htmlStrLimit = htmlStr; | |
htmlStrLimit += '<tr><td colspan="' + settings.cols.length + '">' + (settings.limitRow || 'More') + '</td></tr>'; | |
} | |
htmlStr += this.buildRow(settings, record, i, rowCount); | |
rowCount++; | |
} | |
htmlStr += '</tbody></table>'; | |
if(htmlStrLimit) { | |
htmlStrLimit += '</tbody></table>'; | |
return [htmlStr, htmlStrLimit]; | |
} else { | |
return htmlStr; | |
} | |
} | |
}; | |
var bwtype = null; | |
var gTimerFunc = null; | |
var gSttTimerFunc = null; | |
var TOOLTIP_TYPE_FORMS = 1; | |
var TOOLTIP_TYPE_BUTTON = 2; | |
var TOOLTIP_TYPE_TEXT = 3; | |
function isTooltipEnabled() | |
{ | |
var x = getOutlookFrame(); | |
if (x && x.o) { | |
return x.o.tooltipEnabled; | |
} | |
return true; | |
} | |
function getTooltipDelay(type) | |
{ | |
var x = getOutlookFrame(); | |
if (x && x.o) { | |
if (type == TOOLTIP_TYPE_FORMS) | |
return x.o.formDelay; | |
else if (type == TOOLTIP_TYPE_BUTTON) | |
return x.o.buttonDelay; | |
else if (type == TOOLTIP_TYPE_TEXT) | |
return x.o.textDelay; | |
} | |
return 2000; | |
} | |
function isBalloonImg(refObj) | |
{ | |
if (!refObj) | |
return false; | |
var tag = null; | |
try { | |
tag = refObj.tagName.toLowerCase(); | |
} | |
catch(exc) { | |
return false; | |
} | |
if (tag == 'img') { | |
if ((refObj.src.indexOf('comment.png') != -1) || | |
(refObj.src.indexOf('lookup.png') != -1)) | |
return true; | |
} | |
return false; | |
} | |
var ttDisableHide = false; | |
function stt(title, text, evt, refObj, param, tooltipType, width) | |
{ | |
if ((isTooltipEnabled() == true) || (isBalloonImg(refObj) == true)) { | |
if (refObj.onmouseout == null) | |
refObj.onmouseout = hideTooltip; | |
ttDisableHide = false; | |
var t = getOutlookFrame(); | |
if (t && t.o && (t.o.tooltipShowBlanks == true)) { | |
if ((text==null)||(text.length==0)) | |
text = "***PLEASE ADD DESCRIPTION***"; | |
} | |
else { | |
if ((text==null)||(text.length==0)) | |
return; | |
} | |
if (text.charAt(0) == '<') { | |
stt2(title, text, evt, refObj, width); | |
return; | |
} | |
var myClientY = (evt)?evt.clientY:0; | |
gSttTimerFunc = setTimeout(function() { | |
showTooltipImpl(title, text, myClientY, refObj, param, false, null, width); | |
}, getTooltipDelay(tooltipType)); | |
} | |
} | |
function stt2(title, htmlStr, evt, refObj, width) | |
{ | |
var myClientY = (evt)?evt.clientY:0; | |
if (refObj.onmouseout == null) | |
refObj.onmouseout = hideTooltip; | |
ttDisableHide = false; | |
showTooltipImpl(title, htmlStr, myClientY, refObj, null, false, null, width); | |
} | |
function stt3(title, htmlStr, evt, refObj) | |
{ | |
var myClientY = (evt)?evt.clientY:0; | |
if (refObj.onmouseout == null) | |
refObj.onmouseout = hideTooltip; | |
ttDisableHide = false; | |
showTooltipImpl(title, htmlStr, myClientY, refObj, null, false, null, 450); | |
} | |
function stt_cl(title, htmlStr, evt, refObj, closeFunc, width, refObjLoc) | |
{ | |
var myClientY = (evt)?evt.clientY:0; | |
ttDisableHide = true; | |
showTooltipImpl(title, htmlStr, myClientY, refObj, null, true, closeFunc, width, refObjLoc); | |
} | |
function stt_cl2(title, htmlStr, evt, refObj, closeFunc, tooltipType, width, refObjLoc) | |
{ | |
var myClientY = (evt)?evt.clientY:0; | |
gSttTimerFunc = setTimeout(function() { | |
ttDisableHide = true; | |
showTooltipImpl(title, htmlStr, myClientY, refObj, null, true, closeFunc, width, refObjLoc); | |
}, getTooltipDelay(tooltipType)); | |
} | |
function stt_cl_table(title, settings, evt, refObj, closeFunc, width, refObjLoc) | |
{ | |
stt_cl(title, TableUtils.buildTable(settings), evt, refObj, closeFunc, width, refObjLoc) | |
} | |
function stt_cl_delay(title, htmlStr, evt, refObj, param, tooltipType, width, delay) | |
{ | |
var t = 3000; | |
if (delay !== undefined && delay !== null) { | |
t = delay; | |
} | |
var myClientY = (evt)?evt.clientY:0; | |
ttDisableHide = true; | |
showTooltipImpl(title, htmlStr, myClientY, refObj, null, false, null, width); | |
setTimeout(function(){ttDisableHide = false;hideTooltip();}, t); | |
} | |
function ttRelocate(refObj, evt, refObjLoc) | |
{ | |
var coords = findPos(refObj); | |
var myClientY = (evt) ? evt.clientY : coords[1]; | |
optimizedLocate(coords[0], coords[1], getElementWidth(refObj), getElementHeight(refObj)); | |
} | |
function htt(evt) | |
{ | |
var e = evt || window.event; | |
hideTooltip(e); | |
} | |
function htt_cl() | |
{ | |
ttDisableHide = false; | |
htt(); | |
} | |
function onTooltipEnableChange() | |
{ | |
var f = document.thisForm; | |
top.frames["outlookFrame"].o.tooltipEnabled = f.tooltip_cfg_enable.checked; | |
f.tooltip_type_form_delay.disabled = !f.tooltip_cfg_enable.checked; | |
f.tooltip_type_button_delay.disabled = !f.tooltip_cfg_enable.checked; | |
f.tooltip_type_text_delay.disabled = !f.tooltip_cfg_enable.checked; | |
} | |
function onChangeTooltipDelay(o) | |
{ | |
if (o) { | |
var interval = parseInt(o.value, 10); | |
if (interval < 500 || interval > 5000) { | |
alert("Please enter a value from 500 to 5000"); | |
o.focus(); | |
return false; | |
} | |
var x = getOutlookFrame(); | |
if (x && x.o) { | |
if (o.name == "tooltip_type_form_delay") | |
x.o.formDelay = interval; | |
else if (o.name == "tooltip_type_button_delay") | |
x.o.buttonDelay = interval; | |
else if (o.name == "tooltip_type_text_delay") | |
x.o.textDelay = interval; | |
} | |
} | |
return true; | |
} | |
var gTooltipBaseZ = 10000; | |
function enableTooltips(id) | |
{ | |
var imgs, i, h; | |
if (!document.getElementById || !document.getElementsByTagName) | |
return; | |
if (bwtype == null) | |
bwtype = new lib_bwcheck(); | |
h = document.createElement("span"); | |
h.id = "ttipId"; | |
h.setAttribute("id","ttipId"); | |
h.style.position = "absolute"; | |
h.style.visibility = "hidden"; | |
h.style.zIndex = gTooltipBaseZ; | |
document.getElementsByTagName("body")[0].appendChild(h); | |
if (bwtype.ie && !bwtype.ie7) { | |
var ifr = document.createElement('iframe'); | |
ifr.id = "ifrpatch"; | |
ifr.src = 'emptyView.html'; | |
ifr.setAttribute("id","ifrpatch"); | |
ifr.style.position = 'absolute'; | |
ifr.style.display = 'none'; | |
ifr.frameBorder = 0; | |
ifr.scrolling = 'no'; | |
document.getElementsByTagName("body")[0].appendChild(ifr); | |
} | |
} | |
function showTooltip(title, text, evt, refObj, param, tooltipType) | |
{ | |
stt(title, text, evt, refObj, param, tooltipType); | |
} | |
function showTooltipImpl(title, text, myClientY, refObj, param, closeLink, closeFunc, width, refObjLoc) | |
{ | |
var ttipWidth = (width) ? width : 200; | |
drawTooltip(title, text, param, closeLink, closeFunc, ttipWidth); | |
var ttipObj = document.getElementById("ttipId"); | |
if (ttipObj.offsetWidth > ttipWidth) { | |
ttipWidth = ttipObj.offsetWidth + 10; | |
drawTooltip(title, text, param, closeLink, closeFunc, ttipWidth); | |
} | |
var coors = findPos(refObj); | |
optimizedLocate(coors[0], coors[1], getElementWidth(refObj), getElementHeight(refObj)); | |
} | |
function drawTooltip(title, text, param, closeLink, closeFunc, width) | |
{ | |
var tooltip; | |
var tmpId; | |
var ttipObj; | |
var tmpHtml; | |
var ttWidth = width + "px"; | |
var topBottomSideWidth; | |
var tmpVar = width - (29*2) + 8; | |
topBottomSideWidth = tmpVar + "px"; | |
ttipObj = document.getElementById("ttipId"); | |
if (ttipObj == null) { | |
enableTooltips(); | |
} | |
tmpHtml = "<table class=\"tt_table\" cellspacing=\"0\" cellpadding=\"0\" style=\"width:" + ttWidth + ";\">"; | |
tmpHtml += "<tr>"; | |
tmpHtml += "<td class=\"tt_top_left\" id=\"locTopLeft\"> </td>"; | |
tmpHtml += "<td class=\"tt_top_side\" style=\"width:" + topBottomSideWidth + ";\"> </td>"; | |
tmpHtml += "<td class=\"tt_top_right\" id=\"locTopRight\"> </td>"; | |
tmpHtml += "</tr>"; | |
tmpHtml += "<tr>"; | |
tmpHtml += "<td colspan=\"3\" class=\"tt_table_center\">"; | |
tmpHtml += "<table class=\"tt_outer_table\">"; | |
var hasTitle = (title != null && title.length != 0); | |
if (hasTitle || closeLink) { | |
tmpHtml += "<tr class=\"tt_table_title\">"; | |
tmpHtml += "<td class=\"tt_left_side\"> </td>"; | |
tmpHtml += "<td class=\"tt_center\" nowrap>"; | |
if (hasTitle) { | |
tmpHtml += "<div class=\"tooltip_header\" style=\"float:left;\">"; | |
tmpHtml += title; | |
tmpHtml += "</div>"; | |
} | |
if (closeLink) { | |
if (closeFunc == null) closeFunc = "hideTooltip();"; | |
tmpHtml += "<div class=\"tooltip_header\" style=\"float:right;\">"; | |
tmpHtml += "<a href=\"javascript: void(0)\" class=\"close\" onclick=\"{ttDisableHide = false; " | |
+ closeFunc + "}\" id=\"ttCloseLink\" title=\"Click to close\" />"; | |
tmpHtml += "<br />"; | |
tmpHtml += "</div>"; | |
} | |
tmpHtml += "</td>"; | |
tmpHtml += "<td class=\"tt_right_side\"> </td>"; | |
tmpHtml += "</tr>"; | |
} | |
tmpHtml += "<tr>"; | |
tmpHtml += "<td class=\"tt_left_side\"> </td>"; | |
tmpHtml += "<td class=\"tt_center\">"; | |
tmpHtml += "<span>"; | |
tmpHtml += text; | |
tmpHtml += "</span>"; | |
if (param) { | |
var myParamObj = getParamInfo(param); | |
if (myParamObj) { | |
if (myParamObj.htmlStr != null) { | |
tmpHtml += "<span class=\"tooltip_text\">"; | |
tmpHtml += myParamObj.htmlStr; | |
tmpHtml += "</span>"; | |
} | |
} | |
} | |
tmpHtml += "</td>"; | |
tmpHtml += "<td class=\"tt_right_side\"> </td>"; | |
tmpHtml += "</tr>"; | |
tmpHtml += "</table>"; | |
tmpHtml += "</td>"; | |
tmpHtml += "</tr>"; | |
tmpHtml += "<tr>"; | |
tmpHtml += "<td class=\"tt_bottom_left\" id=\"locBottomLeft\"> </td>"; | |
tmpHtml += "<td class=\"tt_bottom_side\" style=\"width:" + topBottomSideWidth + ";\"> </td>"; | |
tmpHtml += "<td class=\"tt_bottom_right\" id=\"locBottomRight\"> </td>"; | |
tmpHtml += "</tr>"; | |
tmpHtml += "</table>"; | |
ttipObj = document.getElementById("ttipId"); | |
ttipObj.innerHTML = tmpHtml; | |
setOpacity(ttipObj, 95); | |
} | |
function hideTooltip(e) | |
{ | |
if (ttDisableHide) return; | |
e = e || window.event; | |
if (e && e.type == 'mouseout') { | |
var toElem = e.relatedTarget || e.toElement; | |
if (toElem) { | |
for (var parentNode = toElem; parentNode; parentNode = parentNode.parentNode) { | |
if (parentNode.id == 'ttipId') { | |
if (parentNode.onmouseout == null) { | |
parentNode.onmouseout = hideTooltip; | |
} | |
return; | |
} | |
} | |
} | |
} | |
if (gTimerFunc) { | |
clearTimeout(gTimerFunc); | |
gTimerFunc = null; | |
} | |
if (gSttTimerFunc) { | |
clearTimeout(gSttTimerFunc); | |
gSttTimerFunc = null; | |
} | |
var d = document.getElementById("ttipId"); | |
if (d) { | |
$(d).css({ | |
visibility: 'hidden', | |
left: 0, | |
top: 0 | |
}); | |
if (d.hasChildNodes()) { | |
while (d.childNodes.length >= 1) { | |
if (bwtype.ie) { | |
d.innerHTML = ""; | |
break; | |
} | |
else { | |
d.removeChild(d.firstChild); | |
} | |
} | |
} | |
} | |
if (bwtype!=null) { | |
if (bwtype.ie && !bwtype.ie7) { | |
var ifr = document.getElementById("ifrpatch"); | |
if (ifr) ifr.style.display = 'none'; | |
} | |
} | |
} | |
function setOpacity(el, val) | |
{ | |
var strVal = val === 100 ? "1" : "0." + val % 100; | |
el.style.filter = "alpha(opacity:" + val +")"; | |
el.style.KHTMLOpacity = strVal; | |
el.style.MozOpacity = strVal; | |
el.style.opacity = strVal; | |
} | |
function createTooltipElement(t, c) | |
{ | |
var x = document.createElement(t); | |
x.className = c; | |
x.style.display = "block"; | |
return(x); | |
} | |
function createJumpArrow(id, title, handler, param) { | |
var str = ''; | |
id = id || 'jumpArrow'; | |
str = '<img id="' + id + '" class="roll" src="icon_monitor_window.gif" width="22" height="16" border="0"'; | |
if(title) { | |
str += ' title="' + title + '"'; | |
} | |
if(handler) { | |
str += ' onclick="' + handler + '('; | |
if(param) { | |
str += '\'' + param + '\''; | |
} | |
str += ');"'; | |
} | |
str += '>'; | |
return str; | |
} | |
function createLaunchIcon() | |
{ | |
if (getFrame('logoFrame') !== null) { | |
if (typeof getFrame('logoFrame').showLaunchIcon === "function") { | |
getFrame('logoFrame').showLaunchIcon(); | |
$(window).unload(function () { | |
var logoFrame = getFrame('logoFrame'); | |
var outlookFrame = getFrame('outlookFrame'); | |
if (window.opener != outlookFrame && window.opener != logoFrame && | |
logoFrame && logoFrame.hideLaunchIcon) { | |
logoFrame.hideLaunchIcon(); | |
} | |
}); | |
} | |
} | |
} | |
function getDocHeight() | |
{ | |
var d = document; | |
return Math.max( | |
Math.max(d.body.offsetHeight, d.documentElement.offsetHeight), | |
Math.max(d.body.clientHeight, d.documentElement.clientHeight), | |
Math.max(d.body.scrollHeight, d.documentElement.scrollHeight) | |
); | |
} | |
var SHOW_TOP_LEFT_FROM_IMAGE = 0; | |
var SHOW_TOP_RIGHT_FROM_IMAGE = 1; | |
var SHOW_BOTTOM_RIGHT_FROM_IMAGE = 2; | |
var SHOW_BOTTOM_LEFT_FROM_IMAGE = 3; | |
function Locate(imgLeft, imgTop, imgWidth, imgHeight, evtClientY, isLarge, refObjLoc) | |
{ | |
var posx = 0, posy = 0; | |
var tooltipObj = document.getElementById("ttipId"); | |
var locTopLeftObj = document.getElementById("locTopLeft"); | |
var locTopRightObj = document.getElementById("locTopRight"); | |
var locBottomLeftObj = document.getElementById("locBottomLeft"); | |
var locBottomRightObj = document.getElementById("locBottomRight"); | |
var defaultEndpointX, defaultEndpointY; | |
var sel = SHOW_TOP_RIGHT_FROM_IMAGE; | |
posx = imgLeft + imgWidth; | |
posy = imgTop; | |
defaultEndpointX = (posx - 3) + tooltipObj.offsetWidth; | |
if (defaultEndpointX > document.body.offsetWidth) { | |
var newPosx = posx - imgWidth + 10; | |
if (newPosx - 3 + tooltipObj.offsetWidth < document.body.offsetWidth) { | |
posx = newPosx; | |
} else { | |
if (newPosx > document.body.offsetWidth / 2) { | |
sel = SHOW_TOP_LEFT_FROM_IMAGE; | |
} else { | |
posx = newPosx; | |
} | |
} | |
} | |
defaultEndpointY = evtClientY - imgHeight - tooltipObj.offsetHeight; | |
if (defaultEndpointY < 0) { | |
var winH = getDocHeight(); | |
if (posy + imgHeight < winH / 2) { | |
sel = (sel == SHOW_TOP_LEFT_FROM_IMAGE) | |
? SHOW_BOTTOM_LEFT_FROM_IMAGE : SHOW_BOTTOM_RIGHT_FROM_IMAGE; | |
} | |
} | |
if (document.getElementById("ttCloseLink")) { | |
if (sel == SHOW_TOP_LEFT_FROM_IMAGE | |
|| sel == SHOW_TOP_RIGHT_FROM_IMAGE) { | |
if (posy - tooltipObj.offsetHeight < 0) { | |
posy = tooltipObj.offsetHeight; | |
} | |
} | |
} | |
if (sel == SHOW_TOP_LEFT_FROM_IMAGE) { | |
locBottomRightObj.className = "tt_bottom_right_caret"; | |
tooltipObj.style.top = (posy - tooltipObj.offsetHeight - 1) + "px"; | |
if (refObjLoc && (refObjLoc === 'left')) { | |
posx -= imgWidth; | |
} | |
tooltipObj.style.left = (posx - tooltipObj.offsetWidth) + "px"; | |
} | |
else if (sel == SHOW_TOP_RIGHT_FROM_IMAGE) { | |
locBottomLeftObj.className = "tt_bottom_left_caret"; | |
tooltipObj.style.top = (posy - tooltipObj.offsetHeight - 1) + "px"; | |
tooltipObj.style.left = (posx - 3) + "px"; | |
} | |
else if (sel == SHOW_BOTTOM_RIGHT_FROM_IMAGE) { | |
locTopLeftObj.className = "tt_top_left_caret"; | |
tooltipObj.style.top = (posy + 1) + "px"; | |
tooltipObj.style.left = (posx - 3) + "px"; | |
} | |
else if (sel == SHOW_BOTTOM_LEFT_FROM_IMAGE) { | |
locTopRightObj.className = "tt_top_right_caret"; | |
tooltipObj.style.top = (posy + imgHeight + 1) + "px"; | |
if (refObjLoc && (refObjLoc === 'left')) { | |
posx -= imgWidth; | |
} | |
tooltipObj.style.left = (posx - tooltipObj.offsetWidth) + "px"; | |
} | |
else { | |
} | |
tooltipObj.style.visibility = "visible"; | |
if (bwtype!=null) { | |
if (bwtype.ie && !bwtype.ie7) { | |
var ifr = document.getElementById("ifrpatch"); | |
if (ifr) { | |
ifr.style.display = 'block'; | |
ifr.style.top = tooltipObj.style.top; | |
ifr.style.left = tooltipObj.style.left; | |
ifr.style.width = tooltipObj.offsetWidth + 'px'; | |
ifr.style.height = tooltipObj.offsetHeight + 'px'; | |
} | |
} | |
} | |
} | |
function optimizedLocate(imgLeft, imgTop, imgWidth, imgHeight) { | |
var tooltipObj = document.getElementById("ttipId"); | |
var locTopLeftObj = document.getElementById("locTopLeft"); | |
var locTopRightObj = document.getElementById("locTopRight"); | |
var locBottomLeftObj = document.getElementById("locBottomLeft"); | |
var locBottomRightObj = document.getElementById("locBottomRight"); | |
var objWidth = tooltipObj.offsetWidth; | |
var objHeight = tooltipObj.offsetHeight; | |
var TR = 0; | |
var TL = 1; | |
var BL = 2; | |
var BR = 3; | |
var locObjMap = []; | |
locObjMap[TR] = {obj: locTopRight, cls: "tt_top_right_caret"}; | |
locObjMap[TL] = {obj: locTopLeft, cls: "tt_top_left_caret"}; | |
locObjMap[BL] = {obj: locBottomLeft, cls: "tt_bottom_left_caret"}; | |
locObjMap[BR] = {obj: locBottomRight, cls: "tt_bottom_right_caret"}; | |
var phaseArray = [{ | |
top: imgTop - objHeight, | |
left: imgLeft + imgWidth, | |
pointerLoc: BL | |
}, { | |
top: imgTop - objHeight, | |
left: imgLeft + imgWidth - objWidth, | |
pointerLoc: BR | |
}, { | |
top: imgTop, | |
left: imgLeft + imgWidth - objWidth, | |
pointerLoc: TR, | |
bad: true | |
}, { | |
top: imgTop, | |
left: imgLeft + imgWidth, | |
pointerLoc: TL | |
}, { | |
top: imgTop - objHeight, | |
left: imgLeft, | |
pointerLoc: BL | |
}, { | |
top: imgTop - objHeight, | |
left: imgLeft - objWidth, | |
pointerLoc: BR | |
}, { | |
top: imgTop, | |
left: imgLeft - objWidth, | |
pointerLoc: TR | |
}, { | |
top: imgTop, | |
left: imgLeft, | |
pointerLoc: TL, | |
bad: true | |
}, { | |
top: imgTop + imgHeight - objHeight, | |
left: imgLeft, | |
pointerLoc: BL, | |
bad: true | |
}, { | |
top: imgTop + imgHeight - objHeight, | |
left: imgLeft - objWidth, | |
pointerLoc: BR | |
}, { | |
top: imgTop + imgHeight, | |
left: imgLeft - objWidth, | |
pointerLoc: TR | |
}, { | |
top: imgTop + imgHeight, | |
left: imgLeft, | |
pointerLoc: TL | |
}, { | |
top: imgTop + imgHeight - objHeight, | |
left: imgLeft + imgWidth, | |
pointerLoc: BL | |
}, { | |
top: imgTop + imgHeight - objHeight, | |
left: imgLeft + imgWidth - objWidth, | |
pointerLoc: BR, | |
bad: true | |
}, { | |
top: imgTop + imgHeight, | |
left: imgLeft + imgWidth - objWidth, | |
pointerLoc: TR | |
}, { | |
top: imgTop + imgHeight, | |
left: imgLeft + imgWidth, | |
pointerLoc: TL | |
}]; | |
function pickBest(pArr) { | |
var wWidth = document.body.offsetWidth; | |
var wHeight = getDocHeight(); | |
var visibleAreas = []; | |
for (var i = 0, l = pArr.length; i < l; ++i) { | |
if (pArr[i].bad) { | |
continue; | |
} | |
var area = -1; | |
if (pArr[i].left < wWidth && pArr[i].top < wHeight | |
&& (pArr[i].left + objWidth) > 0 && (pArr[i].top + objHeight) > 0) { | |
area = Math.min(wWidth - pArr[i].left, objWidth, pArr[i].left + objWidth) * | |
Math.min(wHeight - pArr[i].top, objHeight, pArr[i].top + objHeight); | |
} | |
visibleAreas.push({area: area, idx: i}); | |
} | |
visibleAreas.sort(function(a, b) { | |
return (b.area - a.area); | |
}); | |
return pArr[visibleAreas[0].idx]; | |
}; | |
var bestPhase = pickBest(phaseArray); | |
var xBias = (bestPhase.pointerLoc === TL || bestPhase.pointerLoc === BL) ? | |
(bestPhase.left > imgLeft ? -1 : 1) : ((bestPhase.left + objWidth) > imgLeft ? -1 : 1); | |
xBias = xBias * 3; | |
var yBias = (bestPhase.pointerLoc === TL || bestPhase.pointerLoc === TR) ? | |
(bestPhase.top > imgTop ? -1 : 1) : ((bestPhase.top + objHeight) > imgTop ? -1 : 1); | |
yBias = yBias * 1; | |
var topPos = bestPhase.top + yBias; | |
var leftPos = bestPhase.left + xBias; | |
var scrollTop = document.body.scrollTop || document.documentElement.scrollTop; | |
var windowBottom = window.innerHeight + scrollTop; | |
var windowRight = window.innerWidth + document.body.scrollLeft; | |
if (topPos < 0) { | |
topPos = 0; | |
} else if (topPos + objHeight > windowBottom) { | |
var overflow = topPos + objHeight - windowBottom; | |
topPos = (topPos > overflow) ? topPos - overflow : 0; | |
} | |
if (leftPos < 0) { | |
leftPos = 0; | |
} else if (leftPos + objWidth > windowRight) { | |
var overflow = leftPos + objWidth - windowRight; | |
leftPos = (leftPos > overflow) ? leftPos - overflow : 0; | |
} | |
tooltipObj.style.top = topPos + "px"; | |
tooltipObj.style.left = leftPos + "px"; | |
locObjMap[bestPhase.pointerLoc].obj.className = locObjMap[bestPhase.pointerLoc].cls; | |
tooltipObj.style.visibility = "visible"; | |
} | |
function findPos(obj) | |
{ | |
var curleft = 0; | |
var curtop = 0; | |
if (obj.offsetParent == null && obj.id) | |
obj = document.querySelector("#" + obj.id); | |
var offset = $(obj).offset(); | |
curleft = offset.left; | |
curtop = offset.top; | |
return [curleft, curtop]; | |
} | |
function getElementHeight(refObj) | |
{ | |
if (bwtype == null) | |
bwtype = new lib_bwcheck(); | |
var myHeight; | |
if (bwtype.op5) { | |
myHeight = refObj.style.pixelHeight; | |
} | |
else if (bwtype.ns4x) { | |
myHeight = refObj.clip.height; | |
} | |
else { | |
myHeight = refObj.offsetHeight; | |
} | |
return myHeight; | |
} | |
function getElementWidth(refObj) | |
{ | |
if (bwtype == null) | |
bwtype = new lib_bwcheck(); | |
var myWidth; | |
if (bwtype.op5) { | |
myWidth = refObj.style.pixelWidth; | |
} | |
else if (bwtype.ns4x) { | |
myWidth = refObj.clip.width; | |
} | |
else { | |
myWidth = refObj.offsetWidth; | |
} | |
return myWidth; | |
} | |
function jumpToPage(htmlPage, group, item) { | |
var url = top.location.protocol + "//"; | |
var host = top.location.host; | |
if (isValidV6IPTarget(host)) | |
{ | |
host = "[" + host + "]"; | |
} | |
url += host + "/" + htmlPage; | |
top.frames["tabFrame"].location.href = url; | |
if (group && item) { | |
setPageHeader(group, item); | |
} | |
} | |
function jumpView(loc) | |
{ | |
if (top.frames["outlookFrame"].resetQuickIconsStyle) { | |
top.frames["outlookFrame"].resetQuickIconsStyle(); | |
} | |
top.frames["outlookFrame"].o.showPage(loc); | |
if (top.frames["outlookFrame"].hilightActiveQuickIcon) { | |
top.frames["outlookFrame"].hilightActiveQuickIcon(); | |
} | |
} | |
function GST(origStr) | |
{ | |
var newStr; | |
newStr = origStr; | |
return newStr; | |
} | |
function fillEmptyTd() | |
{ | |
if (bwtype == null) | |
bwtype = new lib_bwcheck(); | |
if (bwtype.ie) { | |
if (document.getElementsByTagName) { | |
var tableCells = document.getElementsByTagName("TD"); | |
var usesInnerText = false; | |
for (var i = 0; i < tableCells.length; i++) { | |
if (tableCells[i].innerText) { | |
usesInnerText = true; | |
i = tableCells.length+1; | |
} | |
} | |
if (usesInnerText) { | |
for (var i = 0; i < tableCells.length; i++) { | |
if (!tableCells[i].innerText) { | |
if (tableCells[i].innerHTML == "") { tableCells[i].innerHTML = " "; } | |
} else if (tableCells[i].innerText == "") { | |
tableCells[i].innerText = " "; | |
} | |
} | |
} | |
} | |
} | |
} | |
function breakLine(o, len) | |
{ | |
var s = ""; | |
for (var i = 0; i < o.length; i++) { | |
if ((i != 0) && ((i % len) == 0)) { | |
s += "<br>"; | |
} | |
s += o.charAt(i); | |
} | |
return s; | |
} | |
function breakLineWithHyphen(o, len) | |
{ | |
var s = ""; | |
var adjustiveLen = 0; | |
for (var i = 0; i < o.length; i++) { | |
if ((i + adjustiveLen + 1) % len == 0 && (i + 1) < o.length) { | |
if (o.charAt(i) == ' ') { | |
s += "<br>"; | |
s += o.charAt(i + 1); | |
adjustiveLen++; | |
} | |
else if (o.charAt(i + 1) == ' ') { | |
s += o.charAt(i); | |
s += "<br>"; | |
adjustiveLen++; | |
} | |
else if (o.charAt(i - 1) == ' ') { | |
s += "<br>"; | |
s += o.charAt(i) + o.charAt(i + 1); | |
} | |
else { | |
s += "-<br>"; | |
s += o.charAt(i) + o.charAt(i + 1); | |
adjustiveLen--; | |
} | |
i++; | |
} | |
else { | |
s += o.charAt(i); | |
} | |
} | |
return s; | |
} | |
function breakLineWithoutWS(o, len) { | |
var s = ''; | |
var char; | |
var calLen = 0; | |
var wsRegExp = /\s/; | |
for (var i = 0; i < o.length; ++i) { | |
char = o.charAt(i); | |
if (wsRegExp.test(char)) { | |
calLen = 0; | |
} | |
else { | |
if (calLen !== 0 && (calLen % len) === 0) { | |
s += '<br>'; | |
} | |
calLen++; | |
} | |
s += char; | |
} | |
return s; | |
} | |
function breakLineExtn(o, len) | |
{ | |
var s = ""; | |
var breakline_flag = 0; | |
var diff = 0; | |
for (var i = 0; i < o.length; i++) { | |
if (o.charAt(i) === '&') | |
{ | |
s += o.charAt(i); | |
breakline_flag = ((i - diff) % len) || (i == 0); | |
i++; | |
while(i < o.length) | |
{ | |
s += o.charAt(i); | |
diff++; | |
if(o.charAt(i) === ';') | |
{ | |
if (breakline_flag == 0){ | |
s += "<br>"; | |
} | |
i++; | |
break; | |
} | |
i++; | |
} | |
} | |
if ((i != 0) && (((i - diff) % len) == 0)) { | |
s += "<br>"; | |
} | |
s += o.charAt(i); | |
} | |
return s; | |
} | |
function breakLineAndHtmlEncodeWithoutWS(o, len) { | |
var s = ''; | |
var char; | |
var calLen = 0; | |
var wsRegExp = /\s/; | |
for (var i = 0; i < o.length; ++i) { | |
char = o.charAt(i); | |
if (wsRegExp.test(char)) { | |
calLen = 0; | |
} | |
else { | |
if (calLen !== 0 && (calLen % len) === 0) { | |
s += '<br>'; | |
} | |
calLen++; | |
} | |
s += htmlEncode(char); | |
} | |
return s; | |
} | |
function breakStr(str, max) { | |
var o = "", | |
rex = /[\s(:;,)-]/g, | |
sndx, | |
tStr, | |
tndx = -1; | |
while (str.length > max) { | |
tStr = str.substr(max-10, 10); | |
while (rex.test(tStr)) { | |
if (rex.lastIndex !== 0 && rex.lastIndex < 10) { | |
tndx = rex.lastIndex - 1; | |
} | |
} | |
if (tndx === -1) { | |
o += str.substr(0, max) + '<br>'; | |
str = str.substr(max); | |
} else { | |
sndx = (max-10) + tndx; | |
switch(tStr.charAt(tndx)) { | |
case ' ': | |
o += str.substr(0, sndx++) + '<br>'; | |
str = str.substr(sndx); | |
break; | |
case '(': | |
o += str.substr(0, sndx) + '<br>'; | |
str = str.substr(sndx); | |
break; | |
default: | |
o += str.substr(0, ++sndx) + '<br>'; | |
if (str.charAt(sndx) === ' ') { | |
sndx++; | |
} | |
str = str.substr(sndx); | |
break; | |
} | |
} | |
} | |
o += str; | |
return o; | |
} | |
function delimitNum(num, delimit) { | |
var rgx = /(\d+)(\d{3})/; | |
var sNum = num + ''; | |
if (delimit) { | |
while(rgx.test(sNum)) { | |
sNum = sNum.replace(rgx, '$1' + ',' + '$2'); | |
} | |
} | |
return sNum; | |
} | |
function hasScrollBar(divId) | |
{ | |
if (document.getElementById(divId) && document.getElementById(divId).scrollHeight > | |
document.getElementById(divId).clientHeight) | |
{ | |
return true; | |
} | |
else | |
{ | |
return false; | |
} | |
} | |
function getScrollerWidth() | |
{ | |
var scr = null; | |
var inn = null; | |
var wNoScroll = 0; | |
var wScroll = 0; | |
scr = document.createElement('div'); | |
scr.style.position = 'absolute'; | |
scr.style.top = '-1000px'; | |
scr.style.left = '-1000px'; | |
scr.style.width = '100px'; | |
scr.style.height = '50px'; | |
scr.style.overflow = 'hidden'; | |
inn = document.createElement('div'); | |
inn.style.width = '100%'; | |
inn.style.height = '200px'; | |
scr.appendChild(inn); | |
document.body.appendChild(scr); | |
wNoScroll = inn.offsetWidth; | |
scr.style.overflow = 'auto'; | |
wScroll = inn.offsetWidth; | |
document.body.removeChild( | |
document.body.lastChild); | |
return (wNoScroll - wScroll); | |
} | |
function setVisibilityToggle(divId) { | |
if (typeof jQuery !== "undefined") { | |
var jqStr = '#' + divId; | |
$(jqStr).find('span.groupLabel').after('<span id="divVisToggle" class="rtSpan"><img src="move_up2.gif" alt=""></span>'); | |
$('#divVisToggle').click(function () { | |
var toggleImg = $(this).find('img'); | |
if ($(toggleImg).attr('src') === "move_up2.gif") { | |
$(toggleImg).attr('src','move_down2.gif'); | |
$(jqStr).find('.swlPanelSetting').each(function () { $(this).hide(); }); | |
} else { | |
$(toggleImg).attr('src','move_up2.gif'); | |
$(jqStr).find('.swlPanelSetting').each(function () { $(this).show(); }); | |
} | |
}); | |
} | |
} | |
function recordPageStatus(params) { | |
var params = params || {}; | |
var rSt = params.scrollTop != null ? params.scrollTop : true; | |
var rSb = params.scrollBottom != null ? params.scrollBottom : false; | |
var rClickObjs = params.clickObjs != null ? params.clickObjs : true; | |
if (rSb) | |
rSt = false; | |
if (rSt && document.body.scrollTop != null) { | |
swlStore.set("prevScrollTop", document.body.scrollTop); | |
} | |
else if (rSb && document.body.scrollTop != null) { | |
swlStore.set("prevScrollBottom", document.body.scrollHeight - document.body.scrollTop - document.body.clientHeight); | |
} | |
if (rClickObjs) { | |
var strClickObjs = ""; | |
$("img[name^='parentObjImg_']").each(function(){ | |
if (this.src == collapsedTreeImg.src) { | |
strClickObjs += this.id + ","; | |
} | |
}); | |
swlStore.set("prevClickObjs", strClickObjs); | |
} | |
} | |
function restorePageStatus() { | |
var clickObjs = swlStore.get("prevClickObjs"); | |
if (clickObjs) { | |
swlStore.remove("prevClickObjs"); | |
var objIdArray = clickObjs.split(","); | |
for (var i=0,l=objIdArray.length; i<l; ++i) { | |
var id = objIdArray[i]; | |
if (id == "") | |
continue; | |
var elem = $("#"+id)[0]; | |
if (elem) { | |
if (elem.onclick) | |
$(elem).click(); | |
else if ($(elem).parent()[0].onclick) | |
$(elem).parent().click(); | |
} | |
} | |
} | |
var st = swlStore.get("prevScrollTop"); | |
var sb = swlStore.get("prevScrollBottom"); | |
if (sb !== undefined) { | |
swlStore.remove("prevScrollBottom"); | |
if (st !== undefined) swlStore.remove("prevScrollTop"); | |
if (document.body.scrollTop != null) { | |
document.body.scrollTop = document.body.scrollHeight - document.body.clientHeight - sb; | |
} | |
} | |
else if (st !== undefined) { | |
swlStore.remove("prevScrollTop"); | |
if (document.body.scrollTop != null) { | |
document.body.scrollTop = st; | |
} | |
} | |
} | |
Array.prototype.find = function(searchStr) { | |
var returnArray = null; | |
for (var i = 0; i < this.length; i++) { | |
if (typeof(searchStr) == 'function') { | |
if (searchStr.test(this[i])) { | |
if (returnArray == null) { returnArray = [] } | |
returnArray.push(i); | |
} | |
} | |
else { | |
if (this[i] === searchStr) { | |
if (returnArray == null) { returnArray = [] } | |
returnArray.push(i); | |
} | |
} | |
} | |
return returnArray; | |
} | |
Array.prototype.remove = function(from, to) { | |
var rest = this.slice((to || from) + 1 || this.length); | |
this.length = from < 0 ? this.length + from : from; | |
return this.push.apply(this, rest); | |
}; | |
Array.prototype.extend = function(arr) { | |
if(arr.length < 150000) { | |
this.push.apply(this, arr); | |
} | |
else { | |
for(var i = 0, len = arr.length; i < len; i++) { | |
this.push(arr[i]); | |
} | |
} | |
} | |
Array.prototype.binarySearch = function(find, comparator) { | |
var low = 0, high = this.length - 1, | |
i, comparison; | |
while (low <= high) { | |
i = Math.floor((low + high) / 2); | |
comparison = comparator(this[i], find); | |
if (comparison < 0) { | |
low = i + 1; continue; | |
}; | |
if (comparison > 0) { | |
high = i - 1; continue; | |
}; | |
return i; | |
} | |
return null; | |
}; | |
function stripBackslash(s) | |
{ | |
var r = ""; | |
for (var i = 0; i < s.length; i++) { | |
if (s.charAt(i) == '\\') { | |
if (((i+1) < s.length) && (s.charAt(i+1) == '\\')) | |
{ | |
r += '\\'; | |
i++; | |
} | |
} | |
else | |
{ | |
r += s.charAt(i); | |
} | |
} | |
return r; | |
} | |
function shortenString(s, n) | |
{ | |
var val; | |
if ((s.length - 3) > n) { | |
val = s.substr(0,n) + '...'; | |
} | |
else { | |
val = s; | |
} | |
return val; | |
} | |
function shortenStringAndTooltip(containerClass, length){ | |
$("."+containerClass).each(function(){ | |
var o = $(this).data("origText"); | |
if (!o) | |
o = $(this).text(); | |
if (o.length > length) { | |
$(this).data("origText", o); | |
var t = o.substring(0, length > 3 ? length -3 : length) + "..."; | |
$(this).text(t).mouseover(function(evt){ | |
stt("Full Text", $(this).data("origText"), evt, this, null, TOOLTIP_TYPE_TEXT); | |
}).mouseout(htt); | |
} | |
}) | |
} | |
function trimWhitespace(ws) | |
{ | |
s = new String(ws); | |
while (s.length && s.charAt(0) == ' ') | |
s = s.substr(1); | |
while (s.length && s.charAt(s.length - 1) == ' ') | |
s = s.substr(0, s.length - 1); | |
return s; | |
} | |
function replaceSubstring(inputString, fromString, toString) { | |
var temp = inputString; | |
if (fromString == "") { | |
return inputString; | |
} | |
if (toString.indexOf(fromString) == -1) { | |
while (temp.indexOf(fromString) != -1) { | |
var toTheLeft = temp.substring(0, temp.indexOf(fromString)); | |
var toTheRight = temp.substring(temp.indexOf(fromString)+fromString.length, temp.length); | |
temp = toTheLeft + toString + toTheRight; | |
} | |
} else { | |
var midStrings = new Array("~", "`", "_", "^", "#"); | |
var midStringLen = 1; | |
var midString = ""; | |
while (midString == "") { | |
for (var i=0; i < midStrings.length; i++) { | |
var tempMidString = ""; | |
for (var j=0; j < midStringLen; j++) { tempMidString += midStrings[i]; } | |
if (fromString.indexOf(tempMidString) == -1) { | |
midString = tempMidString; | |
i = midStrings.length + 1; | |
} | |
} | |
} | |
while (temp.indexOf(fromString) != -1) { | |
var toTheLeft = temp.substring(0, temp.indexOf(fromString)); | |
var toTheRight = temp.substring(temp.indexOf(fromString)+fromString.length, temp.length); | |
temp = toTheLeft + midString + toTheRight; | |
} | |
while (temp.indexOf(midString) != -1) { | |
var toTheLeft = temp.substring(0, temp.indexOf(midString)); | |
var toTheRight = temp.substring(temp.indexOf(midString)+midString.length, temp.length); | |
temp = toTheLeft + toString + toTheRight; | |
} | |
} | |
return temp; | |
} | |
String.prototype.trim = function() { | |
return this.replace(/^\s+|\s+$/g,""); | |
} | |
String.prototype.ltrim = function() { | |
return this.replace(/^\s+/,""); | |
} | |
String.prototype.rtrim = function() { | |
return this.replace(/\s+$/,""); | |
} | |
String.prototype.lpad = function(padString, length) { | |
var str = this; | |
while (str.length < length) | |
str = padString + str; | |
return str; | |
} | |
String.prototype.rpad = function(padString, length) { | |
var str = this; | |
while (str.length < length) | |
str = str + padString; | |
return str; | |
} | |
function parseUri (str) { | |
var o = parseUri.options, | |
m = o.parser[o.strictMode ? "strict" : "loose"].exec(str), | |
uri = {}, | |
i = 14; | |
while (i--) uri[o.key[i]] = m[i] || ""; | |
uri[o.q.name] = {}; | |
uri[o.key[12]].replace(o.q.parser, function ($0, $1, $2) { | |
if ($1) uri[o.q.name][$1] = $2; | |
}); | |
return uri; | |
}; | |
parseUri.options = { | |
strictMode: false, | |
key: ["source","protocol","authority","userInfo","user","password","host","port","relative","path","directory","file","query","anchor"], | |
q: { | |
name: "queryKey", | |
parser: /(?:^|&)([^&=]*)=?([^&]*)/g | |
}, | |
parser: { | |
strict: /^(?:([^:\/?#]+):)?(?:\/\/((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:\/?#]*)(?::(\d*))?))?((((?:[^?#\/]*\/)*)([^?#]*))(?:\?([^#]*))?(?:#(.*))?)/, | |
loose: /^(?:(?![^:@]+:[^:@\/]*@)([^:\/?#.]+):)?(?:\/\/)?((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/ | |
} | |
}; | |
function CSVToArray( strData, strDelimiter ){ | |
if (strData == ""){ | |
return [[]]; | |
} | |
strDelimiter = (strDelimiter || ","); | |
var objPattern = new RegExp( | |
( | |
"(\\" + strDelimiter + "|\\r?\\n|\\r|^)" + | |
"(?:\"([^\"]*(?:\"\"[^\"]*)*)\"|" + | |
"([^\"\\" + strDelimiter + "\\r\\n]*))" | |
), | |
"gi" | |
); | |
var arrData = [[]]; | |
var arrMatches = null; | |
while (arrMatches = objPattern.exec( strData )){ | |
var strMatchedDelimiter = arrMatches[ 1 ]; | |
if ( | |
strMatchedDelimiter.length && | |
(strMatchedDelimiter != strDelimiter) | |
){ | |
arrData.push( [] ); | |
} | |
if (arrMatches[ 2 ]){ | |
var strMatchedValue = arrMatches[ 2 ].replace( | |
new RegExp( "\"\"", "g" ), | |
"\"" | |
); | |
} else { | |
var strMatchedValue = arrMatches[ 3 ]; | |
} | |
arrData[ arrData.length - 1 ].push( strMatchedValue ); | |
} | |
return( arrData ); | |
} | |
function sort_by(field, reverse, primer){ | |
reverse = (reverse) ? -1 : 1; | |
return function(a,b){ | |
a = a[field]; | |
b = b[field]; | |
if (typeof(primer) != 'undefined'){ | |
a = primer(a); | |
b = primer(b); | |
} | |
try { | |
if (a<b) return reverse * -1; | |
if (a>b) return reverse * 1; | |
} | |
catch(e) { | |
} | |
return 0; | |
} | |
} | |
function random_color(format) | |
{ | |
var rint = Math.round(0xffffff * Math.random()); | |
switch(format) | |
{ | |
case 'hex': | |
return ('#0' + rint.toString(16)).replace(/^#0([0-9a-f]{6})$/i, '#$1'); | |
break; | |
case 'rgb': | |
return 'rgb(' + (rint >> 16) + ',' + (rint >> 8 & 255) + ',' + (rint & 255) + ')'; | |
break; | |
default: | |
return rint; | |
break; | |
} | |
} | |
function colorNameToHex(color) | |
{ | |
var colors = {"aliceblue":"#f0f8ff","antiquewhite":"#faebd7","aqua":"#00ffff","aquamarine":"#7fffd4","azure":"#f0ffff", | |
"beige":"#f5f5dc","bisque":"#ffe4c4","black":"#000000","blanchedalmond":"#ffebcd","blue":"#0000ff","blueviolet":"#8a2be2","brown":"#a52a2a","burlywood":"#deb887", | |
"cadetblue":"#5f9ea0","chartreuse":"#7fff00","chocolate":"#d2691e","coral":"#ff7f50","cornflowerblue":"#6495ed","cornsilk":"#fff8dc","crimson":"#dc143c","cyan":"#00ffff", | |
"darkblue":"#00008b","darkcyan":"#008b8b","darkgoldenrod":"#b8860b","darkgray":"#a9a9a9","darkgreen":"#006400","darkkhaki":"#bdb76b","darkmagenta":"#8b008b","darkolivegreen":"#556b2f", | |
"darkorange":"#ff8c00","darkorchid":"#9932cc","darkred":"#8b0000","darksalmon":"#e9967a","darkseagreen":"#8fbc8f","darkslateblue":"#483d8b","darkslategray":"#2f4f4f","darkturquoise":"#00ced1", | |
"darkviolet":"#9400d3","deeppink":"#ff1493","deepskyblue":"#00bfff","dimgray":"#696969","dodgerblue":"#1e90ff", | |
"firebrick":"#b22222","floralwhite":"#fffaf0","forestgreen":"#228b22","fuchsia":"#ff00ff", | |
"gainsboro":"#dcdcdc","ghostwhite":"#f8f8ff","gold":"#ffd700","goldenrod":"#daa520","gray":"#808080","green":"#008000","greenyellow":"#adff2f", | |
"honeydew":"#f0fff0","hotpink":"#ff69b4", | |
"indianred ":"#cd5c5c","indigo ":"#4b0082","ivory":"#fffff0","khaki":"#f0e68c", | |
"lavender":"#e6e6fa","lavenderblush":"#fff0f5","lawngreen":"#7cfc00","lemonchiffon":"#fffacd","lightblue":"#add8e6","lightcoral":"#f08080","lightcyan":"#e0ffff","lightgoldenrodyellow":"#fafad2", | |
"lightgrey":"#d3d3d3","lightgreen":"#90ee90","lightpink":"#ffb6c1","lightsalmon":"#ffa07a","lightseagreen":"#20b2aa","lightskyblue":"#87cefa","lightslategray":"#778899","lightsteelblue":"#b0c4de", | |
"lightyellow":"#ffffe0","lime":"#00ff00","limegreen":"#32cd32","linen":"#faf0e6", | |
"magenta":"#ff00ff","maroon":"#800000","mediumaquamarine":"#66cdaa","mediumblue":"#0000cd","mediumorchid":"#ba55d3","mediumpurple":"#9370d8","mediumseagreen":"#3cb371","mediumslateblue":"#7b68ee", | |
"mediumspringgreen":"#00fa9a","mediumturquoise":"#48d1cc","mediumvioletred":"#c71585","midnightblue":"#191970","mintcream":"#f5fffa","mistyrose":"#ffe4e1","moccasin":"#ffe4b5", | |
"navajowhite":"#ffdead","navy":"#000080", | |
"oldlace":"#fdf5e6","olive":"#808000","olivedrab":"#6b8e23","orange":"#ffa500","orangered":"#ff4500","orchid":"#da70d6", | |
"palegoldenrod":"#eee8aa","palegreen":"#98fb98","paleturquoise":"#afeeee","palevioletred":"#d87093","papayawhip":"#ffefd5","peachpuff":"#ffdab9","peru":"#cd853f","pink":"#ffc0cb","plum":"#dda0dd","powderblue":"#b0e0e6","purple":"#800080", | |
"red":"#ff0000","rosybrown":"#bc8f8f","royalblue":"#4169e1", | |
"saddlebrown":"#8b4513","salmon":"#fa8072","sandybrown":"#f4a460","seagreen":"#2e8b57","seashell":"#fff5ee","sienna":"#a0522d","silver":"#c0c0c0","skyblue":"#87ceeb","slateblue":"#6a5acd","slategray":"#708090","snow":"#fffafa","springgreen":"#00ff7f","steelblue":"#4682b4", | |
"tan":"#d2b48c","teal":"#008080","thistle":"#d8bfd8","tomato":"#ff6347","turquoise":"#40e0d0", | |
"violet":"#ee82ee", | |
"wheat":"#f5deb3","white":"#ffffff","whitesmoke":"#f5f5f5", | |
"yellow":"#ffff00","yellowgreen":"#9acd32"}; | |
if (typeof colors[color.toLowerCase()] != 'undefined') | |
return colors[color.toLowerCase()]; | |
return false; | |
} | |
function autoEllipseText(element, text, width) | |
{ | |
element.innerHTML = '<span id="ellipsisSpan" style="white-space:nowrap;">' + text + '</span>'; | |
var inSpan = document.getElementById('ellipsisSpan'); | |
if(inSpan.offsetWidth > width) | |
{ | |
var i = text.length; | |
while (inSpan.offsetWidth > width && --i > 0) { | |
inSpan.innerHTML = text.substr(0,i) + '...'; | |
} | |
var returnText = inSpan.innerHTML; | |
element.innerHTML = ''; | |
return returnText; | |
} | |
return text; | |
} | |
function setSelectIndex(sel, value) { | |
var found = false; | |
for (var i=0; i<sel.options.length; i++) { | |
if (value == sel.options[i].value) { | |
found = true; | |
break; | |
} | |
} | |
if (found) { | |
$(sel).val(value); | |
} | |
else { | |
sel.selectedIndex = 0; | |
} | |
} | |
function clone(o) | |
{ | |
function OneShotConstructor(){} | |
OneShotConstructor.prototype = o; | |
return new OneShotConstructor(); | |
} | |
function htmlDecode(s) | |
{ | |
return s.replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>').replace(/"/g, '\"').replace(/"/g, '\"').replace(/ /g, ' '); | |
} | |
function htmlEncode(s) { | |
var str = new String(s); | |
str = str.replace(/&/g, "&"); | |
str = str.replace(/</g, "<"); | |
str = str.replace(/>/g, ">"); | |
str = str.replace(/"/g, """); //" - keep editor from thinking this has started a string | |
return str; | |
} | |
function htmlEncodeStrict(str) { | |
return str.replace(/[^0-9a-zA-Z]/g, function(word) { | |
switch (word) { | |
case '&': return '&'; | |
case '<': return '<'; | |
case '>': return '>'; | |
case '"': return '"'; | |
default: | |
var code = word.charCodeAt(0); | |
return '&#x' + code.toString(16) + ';'; | |
} | |
}); | |
} | |
function inlineJsStrEncode(str) | |
{ | |
return str.replace(/&|\\|"|'/g, function(word) { | |
switch (word) { | |
case '&': return '&'; | |
case '\\': return '\\\\'; | |
case '"': return '\\"'; | |
case "'": return "\\'"; | |
} | |
return word; | |
}); | |
} | |
function htmlEncodeForInlineJsStr(str) | |
{ | |
return (htmlEncode(str)); | |
} | |
function curStyle(elem, name) { | |
var ret; | |
if (document.defaultView && document.defaultView.getComputedStyle) { | |
var defaultView, computedStyle; | |
if (!(defaultView = elem.ownerDocument.defaultView)) { | |
return undefined; | |
} | |
if ((computedStyle = defaultView.getComputedStyle( elem, null ))) { | |
ret = computedStyle.getPropertyValue(name); | |
} | |
} | |
else if (document.documentElement.currentStyle) { | |
var left, | |
ret = elem.currentStyle && elem.currentStyle[ name ], | |
rsLeft = elem.runtimeStyle && elem.runtimeStyle[ name ], | |
style = elem.style; | |
var rnumpx = /^-?\d+(?:px)?$/i, | |
rnum = /^-?\d/; | |
if ( !rnumpx.test( ret ) && rnum.test( ret ) ) { | |
left = style.left; | |
if ( rsLeft ) { | |
elem.runtimeStyle.left = elem.currentStyle.left; | |
} | |
style.left = name === "fontSize" ? "1em" : (ret || 0); | |
ret = style.pixelLeft + "px"; | |
style.left = left; | |
if ( rsLeft ) { | |
elem.runtimeStyle.left = rsLeft; | |
} | |
} | |
ret === "" ? "auto" : ret; | |
} | |
return ret; | |
} | |
function translateColorIdToRGBStr(color) { | |
return "rgb("+((color&0xFF0000)>>16)+", "+((color&0xFF00)>>8)+", "+(color&0xFF)+")" | |
} | |
function extractErrorMsg(returnHtml) { | |
var matchArray = returnHtml.match(/var strErrorMessage = "(.*)";/); | |
if (matchArray) { | |
return matchArray[1]; | |
} | |
else { | |
return null; | |
} | |
}; | |
function calLeftTopForCenterElement(eleWidth, eleHeight) { | |
var top = 10; | |
var left = 20; | |
if (eleWidth) { | |
eleWidth = parseInt(eleWidth); | |
if (!isNaN(eleWidth)) { | |
var cWidth = document.documentElement ? document.documentElement.clientWidth : document.body.clientWidth; | |
if (cWidth != 0) { | |
left = Math.max(cWidth - eleWidth, 0); | |
left = (left / 2 / cWidth * 100).toFixed(1); | |
} | |
} | |
} | |
if (eleHeight) { | |
eleHeight = parseInt(eleHeight); | |
if (!isNaN(eleHeight)) { | |
var cHeight = document.documentElement ? document.documentElement.clientHeight : document.body.clientHeight; | |
if (cHeight != 0) { | |
top = Math.max(cHeight - eleHeight, 0); | |
top = (top / 2 / cHeight * 100).toFixed(); | |
} | |
} | |
} | |
return {left: left+'%', top: top+'%'}; | |
} | |
function FileOperator(config) { | |
var defaultConf = { | |
fileName: "file.bin", | |
mimeType: "application/octet-stream", | |
hiddenBlockId: "__fileOperatorHidden", | |
validExts: "" | |
}; | |
config = $.extend({}, defaultConf, config); | |
this.supportAnchorDownload = 'download' in document.createElement('a'); | |
this.supportSaveAs = typeof(window.saveAs) === "function" || | |
typeof((window.saveAs = window.msSaveAs)) === "function"; | |
this.supportSaveBlob = typeof(navigator.saveBlob) === "function" || | |
typeof((navigator.saveBlob = navigator.msSaveBlob)) === "function"; | |
this.supportFileReader = window.File && window.FileReader && window.FileList && window.Blob; | |
this.save = function(data, fileName, mimeType) { | |
var fileName = fileName || config.fileName; | |
var mimeType = mimeType || config.mimeType; | |
if (this.supportSaveAs || this.supportSaveBlob) { | |
var dataBlob = new Blob([data], {type: mimeType}); | |
this.supportSaveAs ? window.saveAs(dataBlob, fileName) : navigator.saveBlob(dataBlob, fileName); | |
} | |
else if (this.supportAnchorDownload) { | |
var dLink = getDownloadLink(); | |
var dataBlob = new Blob([data], {type: mimeType}); | |
dLink.attr("download", fileName); | |
dLink.attr("href", URL.createObjectURL(dataBlob)); | |
var event = document.createEvent("MouseEvent"); | |
event.initMouseEvent("click", false, false, window, | |
0, 0, 0, 80, 20, false, false, false, false, 0, null); | |
dLink.get(0).dispatchEvent(event); | |
} | |
else { | |
window.open("data:"+mimeType+","+encodeURIComponent(data), "_blank", ""); | |
} | |
}; | |
this.readFromFile = function(completeCb) { | |
var fileInput = getFileInput(); | |
var handle = function(event) { | |
var file = event.target.files[0]; | |
if (file) { | |
var reader = new FileReader(); | |
reader.onloadend = function(e) { | |
var res = e.target.result; | |
completeCb(e.target.readyState == 2, res); | |
}; | |
reader.readAsText(file); | |
} | |
}; | |
fileInput.get(0).addEventListener("change", handle); | |
fileInput.click(); | |
}; | |
function getHiddenBlock() { | |
var b = $("#" + config.hiddenBlockId); | |
if (b.length <= 0) { | |
$('<div id="'+config.hiddenBlockId+'"></div>').css({ | |
display: "none", | |
width: "0px", | |
height: "0px" | |
}).appendTo(document.body); | |
b = $("#" + config.hiddenBlockId); | |
} | |
return b; | |
}; | |
function getDownloadLink() { | |
var parent = getHiddenBlock(); | |
var link = parent.children("#__dLink"); | |
if (link.length <= 0) { | |
parent.append('<a id="__dLink">download</a>'); | |
link = parent.children("#__dLink"); | |
} | |
return link; | |
}; | |
function getFileInput() { | |
var parent = getHiddenBlock(); | |
var f = parent.children("#__file"); | |
if (f.length > 0) {f.remove();} | |
if(config.validExts){ | |
parent.append('<input type="file" id="__file" name="__file" onchange="checkFile(this,\''+config.validExts+'\')" />'); | |
}else{ | |
parent.append('<input type="file" id="__file" name="__file" accept="'+config.mimeType+'" />'); | |
} | |
f = parent.children("#__file"); | |
return f; | |
}; | |
} | |
function checkFile(sender, validExts) { | |
var fileExt = sender.value; | |
fileExt = fileExt.substring(fileExt.lastIndexOf('.')); | |
if (validExts.indexOf(fileExt) < 0 && fileExt != "") { | |
alert("Invalid file selected, valid files are of " + | |
validExts.toString() + " types."); | |
$(sender).val(""); | |
return false; | |
} | |
else return true; | |
} | |
function xssProtectHtml(str) | |
{ | |
var data = str.replace(/<[^>]+/g, function(match) | |
{ | |
return match.replace(/ on\w+="[^"]*"/g, ''); | |
}); | |
data = data.replace(new RegExp('\<script\s?.*?\>(.|\r\n)+?\<\/(no)?script\>', 'g'), ''); | |
return data; | |
} | |
function checkForXSS(str) { | |
var res = false; | |
var matchRes; | |
if (str == "") | |
return res; | |
if (str.indexOf(".cookie") != -1) { | |
res = true; | |
} else { | |
matchRes = str.match('\<script\s?.*?\>(.|\r\n)+?\<\/(no)?script\>', 'g'); | |
if (Object.prototype.toString.call(matchRes) == "[object Array]") { | |
res = true; | |
} else { | |
matchRes = str.match(/\w+=["|'][^"|^']*["|']/g); | |
if (Object.prototype.toString.call(matchRes) == "[object Array]") { | |
res = true; | |
} else { | |
res = false; | |
} | |
} | |
} | |
return res; | |
} | |
function dataComm_serializedObj(objNameArray) { | |
var res = {}; | |
for (var i = 0, l = objNameArray.length; i < l; ++i) { | |
var name = objNameArray[i]; | |
if (window[name]) { | |
res[name] = JSON.stringify(window[name]); | |
} | |
} | |
return res; | |
} | |
function quickSetSelectOptions(selDom, optStr, isAppend) { | |
var v = parseInt($.browser.version); | |
if ($.browser.msie && !isNaN(v) && v <= 10) { | |
var tempCont = $("<div><div>"); | |
tempCont[0].innerHTML = "<select>"+optStr+"</select>"; | |
if (!isAppend) { | |
selDom.innerHTML = ''; | |
} | |
tempCont.children("select").children("option").appendTo(selDom); | |
} | |
else { | |
if (isAppend) { | |
selDom.innerHTML += optStr; | |
} | |
else { | |
selDom.innerHTML = optStr; | |
} | |
} | |
} | |
function showTime(timeArr) { | |
if (timeArr.length > 1) { | |
for (var i = 1; i < timeArr.length; ++i) { | |
console.debug(i+"("+timeArr[i].m+"): "+(timeArr[i].t - timeArr[i-1].t)); | |
} | |
console.debug("total: "+(timeArr[timeArr.length - 1].t - timeArr[0].t)); | |
} | |
} | |
function launchContextMenu(title, items, vpos) | |
{ | |
context.destroy('#ctxMenuTgt'); | |
$('#ctxMenuTgt').remove(); | |
$('.dropdown-menu').remove(); | |
var styles = { | |
width: '10px', | |
height: '10px', | |
position: 'absolute', | |
top: (vpos-12) + 'px', | |
left: '20px' | |
}; | |
var tgt = $('<img id="ctxMenuTgt" src="clear.gif">').css(styles); | |
$('body').append(tgt); | |
if (context) { | |
context.init({preventDoubleContext: false}); | |
var menuitems = []; | |
menuitems.push({header: title}); | |
for (var k = 0; k < items.length; k++) { | |
var itemLink = items[k].link; | |
menuitems.push({ | |
text: items[k].name, | |
href: 'javascript:jumpView(\'' + itemLink + '\')' | |
}); | |
} | |
context.attach('#ctxMenuTgt', menuitems); | |
context.settings({compress: true}); | |
var scrollTop = $(window).scrollTop(); | |
var evtObj = { | |
type: 'contextmenu', | |
pageX: $('#ctxMenuTgt').position().left, | |
pageY: $('#ctxMenuTgt').position().top + (scrollTop > 0 ? scrollTop : 0) | |
}; | |
if (evtObj.pageX < 0) { | |
evtObj.pageX = 5; | |
evtObj.pageY += 8; | |
} | |
$('#ctxMenuTgt').trigger(evtObj); | |
$(document).bind('click', function(){ | |
if (top.frames["outlookFrame"].resetQuickIconsStyle) { | |
top.frames["outlookFrame"].resetQuickIconsStyle(); | |
} | |
}); | |
} | |
} | |
function hideContextMenu() | |
{ | |
$(document).click(); | |
} | |
function debounce(func, wait, immediate) { | |
var timeout; | |
var debouncedFunc = function() { | |
var context = this, args = arguments; | |
var later = function() { | |
timeout = null; | |
if (!immediate) func.apply(context, args); | |
}; | |
var callNow = immediate && !timeout; | |
clearTimeout(timeout); | |
timeout = setTimeout(later, wait); | |
if (callNow) func.apply(context, args); | |
}; | |
debouncedFunc.cancel = function() { | |
if (timeout) { | |
clearTimeout(timeout); | |
timeout = null; | |
} | |
}; | |
return debouncedFunc; | |
} | |
function deleteUriCall(delType, query, doneCb) { | |
query = $.extend({}, query, {delType: delType}); | |
function processDeleteResponse(xhr) { | |
var statusStr = ""; | |
var isSuccess = false; | |
switch (xhr.status) { | |
case 200: | |
case 204: | |
statusStr = "<font color='#004D0D'><b>"; | |
if (xhr.statusText === "OK") { | |
if (xhr.responseText) { | |
statusStr += xhr.responseText; | |
} else { | |
statusStr += "Ready"; | |
} | |
} else { | |
statusStr += xhr.statusText; | |
} | |
statusStr += "</b></font>"; | |
isSuccess = true; | |
break; | |
case 403: | |
case 404: | |
statusStr = "<font color='#990000'><b>"; | |
if (xhr.statusText === "" || xhr.statusText === "OK") { | |
if (xhr.responseText) { | |
statusStr += xhr.responseText; | |
} else { | |
statusStr += "Not Permitted."; | |
} | |
} else if (xhr.responseText) { | |
statusStr += xhr.responseText; | |
} else { | |
statusStr += xhr.statusText; | |
} | |
statusStr += "</b></font>"; | |
isSuccess = false; | |
break; | |
default: | |
statusStr = "<font color='#990000'><b>"; | |
if (xhr.statusText === "" || xhr.statusText === "OK") { | |
if (xhr.responseText) { | |
statusStr += xhr.responseText; | |
} else { | |
statusStr += "Not Permitted."; | |
} | |
} else if (xhr.responseText) { | |
statusStr += xhr.responseText; | |
} else { | |
statusStr += xhr.statusText; | |
} | |
statusStr += "</b></font>"; | |
statusStr += ' Please <a href="#" onclick=\'top.frames["outlookFrame"].reloadContent();\'>refresh</a> to retry dynamic update.'; | |
isSuccess = false; | |
break; | |
} | |
if (getFrame('outlookFrame') !== null) { | |
getFrame('outlookFrame').displayStatus(statusStr); | |
} | |
if ($.isFunction(doneCb)) { | |
doneCb(isSuccess); | |
} | |
} | |
$.ajax({ | |
url: "/deleteUri.cgi?" + $.param(query), | |
type: 'DELETE', | |
cache: false, | |
dataType: 'text', | |
headers: { | |
"X-Snwl-Mgmt-Token": getFrame('outlookFrame').csrfToken | |
}, | |
data: { | |
auditPath: getAuditPathStr() | |
}, | |
timeout: 5 * 1000, | |
complete: processDeleteResponse | |
}); | |
} | |
var swlDataTablePlainTools = (function() { | |
return { | |
finalize: function(options) { | |
var defaultOpts = { | |
treeViewHdrTable: null, | |
copyTreeViewHeaderColumnLayout: false | |
}; | |
options = $.extend({}, defaultOpts, options); | |
$('table.swlDataTablePlain').each(function() { | |
var $this = $(this); | |
var $bodyRows = $this.find('> tbody > tr').filter('.listItem, .listItemContrast'); | |
var $headRow = $this.find('tr.listLabel, td.listLabel').closest('tr').eq(0); | |
var $footRow = $this.find('tr.listFooter'); | |
var $colgroup = $this.children('colgroup'); | |
if ($bodyRows.length === 1 && $bodyRows.children('td').length === 1 && $headRow.children('td').length > 1) { | |
$bodyRows.children('td').attr('colspan', $headRow.children('td').length); | |
} | |
if ($footRow.length === 1 && $footRow.children('td').length === 1 && $headRow.children('td').length > 1) { | |
$footRow.children('td').attr('colspan', $headRow.children('td').length); | |
} | |
if ($colgroup.length > 0) { | |
var minWidth = 0; | |
$colgroup.children('col').each(function() { | |
var $col = $(this); | |
var w = parseInt($col.css('minWidth')); | |
if (!w) { w = 80; } | |
minWidth += w; | |
}); | |
$this.css({minWidth: minWidth}); | |
} | |
}); | |
if (options.treeViewHdrTable) { | |
if (typeof(window.treeViewFinalize) === 'function') { | |
treeViewFinalize(options.treeViewHdrTable, options.copyTreeViewHeaderColumnLayout); | |
} | |
} | |
} | |
}; | |
})(); | |
var swlCsvTools = { | |
decodeSnwlCsvField: function(fieldStr) { | |
return fieldStr.replace(/,|||^/g, function(match) { | |
return String.fromCharCode(parseInt(match.substring(2))); | |
}); | |
}, | |
decodeSnwlCsvFieldInObjArray: function(objArr) { | |
var that = this; | |
if (!Array.isArray(objArr)) { return; } | |
objArr.forEach(function(obj, index, arr) { | |
for (var prop in obj) { | |
if (!obj.hasOwnProperty(prop)) { | |
continue; | |
} | |
var val = obj[prop]; | |
if (typeof(val) === 'string') { | |
obj[prop] = that.decodeSnwlCsvField(val); | |
} | |
else if ($.isArray(val)) { | |
val.forEach(function(str, idx, arr) { | |
if (typeof(str) === 'string') { | |
arr[idx] = that.decodeSnwlCsvField(str); | |
} | |
}); | |
} | |
} | |
}); | |
}, | |
parseSnwlCsvDataset: function(encodedDataset) { | |
return jQuery.csv2json(",","\"","|","\\^")(encodedDataset) | |
}, | |
parseSnwlCsvNestArray: function(nestEncodedArray) { | |
return jQuery.csv("\\^","\"","|")(nestEncodedArray)[0]; | |
} | |
}; | |
var IpVerFilterTools = { | |
populateForLegacyViewBar: function(exclusive) { | |
var html = ''; | |
html += '<label>IP Version:</label>'; | |
html += '<select name="ipVersionSel" id="ipVersionSel">' + | |
'<option value="ipv4">IPv4</option>' + | |
'<option value="ipv6">IPv6</option>'; | |
if (!exclusive) { | |
html += '<option value="ipv4ipv6">IPv4 & IPv6</option>'; | |
} | |
html += '</select>'; | |
document.write(html); | |
}, | |
getFromLegacyViewBar: function($viewBar) { | |
var val = $viewBar.find('#ipVersionSel').val(); | |
return val; | |
}, | |
setToLegacyViewbar: function(ipVer, $viewBar, doBinding) { | |
var val = ipVer || 'ipv4'; | |
$viewBar.find('#ipVersionSel').val(val); | |
if (doBinding === true) { | |
var that = this; | |
$viewBar.find('#ipVersionSel').off('change').on('change', function() { | |
var cVal = that.getFromLegacyViewBar($viewBar); | |
if ($.isFunction(window.changeIpType)) { | |
changeIpType(cVal); | |
} | |
}); | |
} | |
} | |
}; | |
function parseUrlSearchParams(searchStr) { | |
if (searchStr[0] === '?') { | |
searchStr = searchStr.substring(1); | |
} | |
var paramStrArr = searchStr.split('&'); | |
var params = {}; | |
paramStrArr.forEach(function(paramStr) { | |
var match = paramStr.match(/^([\w\-.!~*'()%]+)=([\w\-.!~*'()%]*)$/); | |
if (match) { | |
params[decodeURIComponent(match[1])] = decodeURIComponent(match[2]); | |
} | |
}); | |
return params; | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment