';
if ($('#' + divid).find('.control-label-win').length !== 0) {
errorLabel += '
';
var classVal = '';
classVal = $('#' + divid).find('input').attr('class');
if (classVal && classVal.indexOf('input_normal') >= 0) {
$('#' + divid).find('input').each(function (index, element) {
classVal = $(element).attr('class');
if (classVal && classVal.indexOf('input_normal') >= 0) {
$(element).addClass('input_error').removeClass('input_normal');
}
if (classVal && classVal.indexOf('input_long') >= 0) {
$(element).addClass('input_long_error').removeClass('input_long');
}
});
} else {
$('#' + divid).find('div').each(function (index, element) {
classVal = $(element).attr('class');
if (classVal && classVal.indexOf('input_normal') >= 0) {
$(element).addClass('input_error').removeClass('input_normal');
}
if (classVal && classVal.indexOf('input_long') >= 0) {
$(element).addClass('input_long_error').removeClass('input_long');
}
if (classVal && classVal.indexOf('input_normal_selected') >= 0) {
$(element).addClass('input_error').removeClass('input_normal_selected');
}
if (classVal && classVal.indexOf('input_long_selected') >= 0) {
$(element).addClass('input_long_error').removeClass('input_long_selected');
}
});
}
$('#' + divid).secureAppend(errorLabel);
}
function showOffloadErrorMsg(divid, errormsgid, para1, para2, para3, para4) {
var msgcontent = '';
var errorLabel = '';
var msgid = (divid + errormsgid).replace('.', '');
try {
msgcontent = publicLang[errormsgid];
} catch (e) {
return;
}
if (para1 && para2 && para3 && para4) {
msgcontent = msgcontent.replace('%1$d', para1);
msgcontent = msgcontent.replace('%2$d', para2);
msgcontent = msgcontent.replace('%3$d', para3);
msgcontent = msgcontent.replace('%4$d', para4);
}
errorLabel += '
';
if ($('#' + divid).find('.control-label-win').length !== 0) {
errorLabel += '
';
errorLabel += '
';
} else {
errorLabel += '
';
errorLabel += '
';
}
errorLabel += '
' + msgcontent + '
';
errorLabel += '
';
errorLabel += '
';
var classVal = '';
classVal = $('#' + divid).find('input').attr('class');
if (classVal && classVal.indexOf('input_normal') >= 0) {
$('#' + divid).find('input').each(function (index, element) {
classVal = $(element).attr('class');
if (classVal && classVal.indexOf('input_normal') >= 0) {
$(element).addClass('input_error').removeClass('input_normal');
}
if (classVal && classVal.indexOf('input_long') >= 0) {
$(element).addClass('input_long_error').removeClass('input_long');
}
});
} else {
$('#' + divid).find('div').each(function (index, element) {
classVal = $(element).attr('class');
if (classVal && classVal.indexOf('input_normal') >= 0) {
$(element).addClass('input_error').removeClass('input_normal');
}
if (classVal && classVal.indexOf('input_long') >= 0) {
$(element).addClass('input_long_error').removeClass('input_long');
}
if (classVal && classVal.indexOf('input_normal_selected') >= 0) {
$(element).addClass('input_error').removeClass('input_normal_selected');
}
if (classVal && classVal.indexOf('input_long_selected') >= 0) {
$(element).addClass('input_long_error').removeClass('input_long_selected');
}
});
}
$('#' + divid).secureAppend(errorLabel);
}
var DEBUG_INFO = false;
function debugInfo() {
if (DEBUG_INFO) {
for (var i = 0; i < arguments.length; i++) {
console.log(arguments[i]);
}
}
}
function checkUrl(source) {
var lowCaseStr = source.toLowerCase();
var strRegex = '^((https|http|ftp|rtsp|mms)?://)' + '?(([0-9a-z_!~*\'().&=+$%-]+: )?[0-9a-z_!~*\'().&=+$%-]+@)?' + '(([0-9]{1,3}\.){3}[0-9]{1,3}' + '|' + '([0-9a-z_!~*\'()-]+\.)*' + '([0-9a-z][0-9a-z-]{0,61})?[0-9a-z]\.' + '[a-z]{2,6})' + '(:[0-9]{1,4})?' + '((/?)|' + '(/[0-9a-z_!~*\'().;?:@&=+$,%#-]+)+/?)$';
var regex = new RegExp(strRegex);
return regex.test(lowCaseStr);
}
function escapeURL(source) {
var outstr = '';
var index;
var copystr = source + '';
if (!checkUrl(source)) {
outstr = '/';
} else {
copystr = copystr.toLowerCase();
if (copystr.indexOf('javascript') !== -1 || copystr.indexOf('script') !== -1) {
return '/';
}
for (index = 0; index < source.length; index++) {
if (source.charAt(index) === '&' || source.charAt(index) === '<' || source.charAt(index) === '>' || source.charAt(index) === '"' || source.charAt(index) === '\'' || source.charAt(index) === '(' || source.charAt(index) === ')') {
outstr += '%';
outstr += source.charCodeAt(index).toString(16);
} else {
outstr += source.charAt(index);
}
}
}
return outstr;
}
function getQueryStringByName(item) {
var svalue = location.search.match(new RegExp('[\?\&]' + item + '=([^\&]*)(\&?)', 'i'));
return svalue ? svalue[1] : svalue;
}
var AJAX_TIMEOUT = 30000;
var RVC_TIMEOUT = 10000;
const stepGlobalOptions = {
doneBtnText: '完成', // Text on the final button
closeBtnText: '关闭', // Text on the close button for this step
nextBtnText: '下一步', // Next button text for this step
prevBtnText: '上一步', // Previous button text for this step
showButtons: true, // Do not show control buttons in footer
allowClose: false, // Whether the click on overlay should close or not
//stageBackground: '#000000',
opacity: 0.5,
};
var RVC = {};
var gRequestVerificationToken = [];
var gDeviceTitle = '';
var EMUI = {};
$(function () {
function cloneObject(inObj) {
var newObj = (inObj instanceof Array) ? [] : {};
for (var i in inObj) {
if (inObj[i] && typeof inObj[i] === 'object' || typeof inObj[i] === Object) {
newObj[i] = cloneObject(inObj[i]);
} else {
newObj[i] = inObj[i];
}
}
return newObj;
}
function compareObject(inObj1, inObj2) {
if (inObj1 === inObj2) {
return true;
}
var obj1length = 0;
for (var i in inObj1) {
if (i) {
obj1length++;
}
}
var obj2length = 0;
for (i in inObj2) {
if (i) {
obj2length++;
}
}
if (obj1length !== obj2length) {
return false;
}
var result = true;
for (i in inObj1) {
if (inObj1[i] && typeof inObj1[i] === 'object' || typeof inObj1[i] === Object) {
result = result && compareObject(inObj1[i], inObj2[i]);
} else {
result = result && (inObj1[i] === inObj2[i]);
}
}
return result;
}
RVC.Object = {};
RVC.Object.extend = function (source) {
var temp = cloneObject(this);
temp._super = this;
for (var property in source) {
if (property) {
temp[property] = source[property];
}
}
return temp;
};
RVC.popWinController = RVC.Object.extend({
content: [],
isautoUpgChecked: false,
closeAll: function () {
var contentLength = this.content.length;
for (var i = 0; i < contentLength; i++) {
this.content[i]['isClose'] = true;
}
$('#emui_content_pop_win').hide();
},
closePopItem: function (moduleName) {
var contentLength = this.content.length;
for (var i = 0; i < contentLength; i++) {
if (this.content[i]['moduleName'] === moduleName) {
this.content[i]['isClose'] = true;
}
}
this.showPop();
showPopWin();
},
addPopItem: function (moduleName, scribInfoId, contentItem) {
if (typeof contentItem === 'undefined' && contentItem === '') {
return;
}
var isNeedShowAgain = false;
var scribInfo = '';
if (typeof scribInfoId !== 'undefined') {
scribInfo = scribInfoId;
}
var isExist = false;
var contentLen = this.content.length;
for (var i = 0; i < contentLen; i++) {
if (this.content[i]['moduleName'] === moduleName) {
if (contentItem !== this.content[i]['contentinfo']) {
this.content[i]['scribInfoId'] = scribInfo;
this.content[i]['contentinfo'] = contentItem;
this.content[i]['isClose'] = false;
isNeedShowAgain = true;
}
isExist = true;
break;
}
}
if (!isExist) {
var conItem = {};
conItem.moduleName = moduleName;
conItem.scribInfoId = scribInfo;
conItem.contentinfo = contentItem;
conItem.isClose = false;
isNeedShowAgain = true;
this.content.push(conItem);
}
if (isNeedShowAgain) {
this.showPop();
showPopWin();
}
},
toggleMessage: function (index) {
var arrowId = 'arrow_content_message_pop_' + index;
var messageId = 'body_content_message_pop_' + index;
for (var i = 0; i < this.content.length; i++) {
var contentItem = this.content[i];
if (contentItem['isClose'] === false && i !== index) {
$('#body_content_message_pop_' + i).hide();
$('#arrow_content_message_pop_' + i).removeClass('menu_arrow_open').addClass('menu_arrow_close');
}
}
if ($('#' + arrowId).hasClass('menu_arrow_close')) {
$('#' + arrowId).removeClass('menu_arrow_close').addClass('menu_arrow_open');
} else {
$('#' + arrowId).removeClass('menu_arrow_open').addClass('menu_arrow_close');
}
$('#' + messageId).toggle();
showPopWin();
},
showPop: function () {
var self = this;
var contentLen = this.content.length;
if (contentLen === 0) {
$('#pop_win_content_area').empty();
$('#emui_content_pop_win').hide();
return;
}
var showContent = [];
var i = 0;
var openIndex = '';
var curHash = window.location.hash.substr(1);
for (i = 0; i < this.content.length; i++) {
var contentItem = this.content[i];
if (contentItem['isClose'] === false && contentItem['moduleName'].toLowerCase().indexOf(curHash) < 0) {
showContent.push(contentItem);
}
}
contentLen = showContent.length;
if (contentLen > 1) {
for (i = 0; i < contentLen; i++) {
var arrowId = 'arrow_content_message_pop_' + i;
if ($('#' + arrowId).hasClass('menu_arrow_open')) {
openIndex = i;
break;
}
}
}
$('#pop_win_content_area').empty();
$('#emui_pop_win_title').empty();
if (contentLen === 0) {
$('#pop_win_content_area').empty();
$('#emui_content_pop_win').hide();
return;
} else if (contentLen === 1) {
$('#pop_win_content_area').empty();
$('#emui_pop_win_title').empty();
$('#emui_pop_win_title').attr('lang-id', showContent[0]['scribInfoId']);
langStr('emui_pop_win_title', showContent[0]['scribInfoId']);
$('#pop_win_content_area').html(showContent[0]['contentinfo']);
} else {
var bacicHtml = [];
$('#emui_pop_win_title').attr('lang-id', 'device.new.message');
langStr('emui_pop_win_title', 'device.new.message');
for (i = 0; i < contentLen; i++) {
var classTop = 'border_top message_item_split';
if (i === 0) {
classTop = '';
}
var htmlItem = '
'
+ ''
+ '
' + publicLang[showContent[i]['scribInfoId']] + '
'
+ '
'
+ '
' + showContent[i]['contentinfo'] + '
';
bacicHtml.push(htmlItem);
}
bacicHtml = '
' + bacicHtml.join('') + '
';
$('#pop_win_content_area').html(bacicHtml);
}
$(showContent).each(function (i, value) {
if (value.moduleName === 'upgrade' && GLOBAL.modules.china_region_enable === '1') {
self.autoUpgStatus();
}
});
$('#emui_content_pop_win').show();
if (openIndex !== '') {
this.toggleMessage(openIndex);
}
},
autoUpgStatus: function () {
if (!this.isautoUpgChecked) {
EMUI.indexAutoUpgradeController.load(null, false);
this.isautoUpgChecked = true;
}
if (EMUI.indexAutoUpgradeController.isOpenAutoUpg === 1) {
$('#index_autoUpg').show();
$('#index_autoUpg_check').attr('class', 'check_on');
} else if (EMUI.indexAutoUpgradeController.isOpenAutoUpg === 0) {
$('#index_autoUpg').show();
$('#index_autoUpg_check').attr('class', 'check_off');
} else {
$('#index_autoUpg').hide();
}
}
});
RVC.Scroll = RVC.Object.extend({
i: 0,
cancelSelectListEvent: false,
boxH: {},
textH: {},
intervalResizeObj: {},
isHiddenOld: {},
mouseData: {
startY: 0,
curTop: 0,
startBoolear: false,
startSelector: ''
},
touchData: {
startY: 0,
curTop: 0,
startBoolear: false,
startSelector: ''
},
isStartMouseWheel: false,
initScroll: function (selectorS) {
var self = this;
$.each($(selectorS), function (index, selector) {
var $selector = $(selector);
var i = self.i;
if ($selector.find('.scroll_text').length > 0) {
return;
}
self.$selector = $selector;
self.initBoxHtml($selector, i);
self.resize($selector);
self.resizeTop($('#scroll_bar_' + i), 0);
self.intervalResizeObj[i] = setInterval(function () {
self.intervalResize($selector, i);
}, 50);
self.bindEvent(i);
self.i++;
});
},
callbacks: {},
callback: function (selectorS, callbackFun) {
var self = this;
$.each($(selectorS), function (index, selector) {
var i = $(selector).attr('scrollID');
self.callbacks[i] = callbackFun;
})
},
initBoxHtml: function ($selector, i) {
var self = this;
$selector.css('position', 'relative');
$selector.css('overflow', 'visible');
$selector.attr('scrollID', i);
$selector.wrapInner('
');
$selector.append('
');
},
intervalResize: function ($selector, i) {
var self = this;
if ($('#scroll_text_' + i).length === 0 && self.intervalResizeObj[i]) {
clearInterval(self.intervalResizeObj[i]);
self.intervalResizeObj[i] = null;
} else {
var isUpdated = self.resize($selector);
if (isUpdated === 'updated') {
var curTop = $('#scroll_bar_' + i)[0].offsetTop;
self.resizeTop($('#scroll_bar_' + i), curTop);
}
}
},
resize: function ($selector) {
var self = this;
if (typeof $selector === 'string') {
$.each($($selector), function (index, selector) {
self.resize($(selector));
});
return;
}
var i = $selector.attr('scrollID');
var $scrollRight = $('#scroll_right_' + i);
var $scrollLeft = $('#scroll_left_' + i);
var $scrollBar = $('#scroll_bar_' + i);
var maxHeight = parseInt($selector.css('max-height').slice(0, -2));
var height = parseInt($selector.css('height').slice(0, -2));
var currentBoxHeight = (maxHeight > height) ? maxHeight : height;
var currentTextH = $selector.find('.scroll_text').height();
var currentHidden = ($selector.is(':hidden')) ? true : false;
var firstInit = ($scrollBar.height() > 0) ? false : true;
if (currentHidden) {
self.isHiddenOld[i] = true;
return;
} else {
if (self.isHiddenOld[i] && !firstInit) {
self.resizeTop($('#scroll_bar_' + i), 0);
}
self.isHiddenOld[i] = false;
}
if (self.boxH[i] === currentBoxHeight && self.textH[i] === currentTextH) {
return;
}
self.boxH[i] = currentBoxHeight;
self.textH[i] = currentTextH;
if (currentTextH > currentBoxHeight) {
$scrollRight.css('display', 'block');
} else {
self.resizeTop($('#scroll_bar_' + i), 0);
$scrollRight.css('display', 'none');
return;
}
var rateH = currentTextH / currentBoxHeight;
var scrollBarH = currentBoxHeight / rateH;
$scrollLeft.css('max-height', currentBoxHeight + 'px');
$scrollRight.css('height', currentBoxHeight + 'px');
$scrollBar.css('height', scrollBarH + 'px');
return 'updated';
},
setTop: function (selectorS, top) {
var self = this;
$.each($(selectorS), function (index, selector) {
var i = $(selector).attr('scrollID');
var $scrollBar = $('#scroll_bar_' + i);
self.resize($(selector));
self.resizeTop($scrollBar, top);
})
},
setDomTop: function (selectorS, domTop) {
var self = this;
$.each($(selectorS), function (index, selector) {
var i = $(selector).attr('scrollID');
var $scrollBar = $('#scroll_bar_' + i);
self.resize($(selector));
self.resizeDomTop($scrollBar, domTop);
})
},
setBottom: function (selectorS, bottom) {
var self = this;
$.each($(selectorS), function (index, selector) {
var i = $(selector).attr('scrollID');
var $scrollRight = $('#scroll_right_' + i);
var $scrollBar = $('#scroll_bar_' + i);
var realHeight = $scrollRight.height();
var bottomHeight = realHeight - (bottom || 0);
self.resize($(selector));
self.resizeTop($scrollBar, bottomHeight);
})
},
resizeDomTop: function ($selectorBar, domTop) {
var self = this;
var barId = $selectorBar.attr('id');
var id = barId;
var i = id.slice('scroll_bar_'.length);
var boxH = self.boxH[i];
var textH = self.textH[i];
var barH = $selectorBar.height();
var rateH = (textH - boxH) / (boxH - barH);
var barTop = (domTop / rateH);
self.resizeTop($selectorBar, barTop);
},
resizeTop: function ($selectorBar, barTop, isAllowCallback) {
var self = this;
if ($selectorBar.is(':hidden')) {
return;
}
var barId = $selectorBar.attr('id');
var id = barId;
var i = id.slice('scroll_bar_'.length);
var boxH = self.boxH[i];
var textH = self.textH[i];
var barH = $selectorBar.height();
if (barTop < 0) {
barTop = 0;
} else if (barTop > (boxH - barH)) {
barTop = boxH - barH;
}
var rateH = (textH - boxH) / (boxH - barH);
var textTop = -(barTop * rateH);
if ($('#scroll_left_' + i).scrollTop() !== 0) {
$('#scroll_left_' + i).scrollTop(0);
}
$selectorBar.css('top', barTop + 'px');
$('#scroll_text_' + i).css('top', textTop + 'px');
if (isAllowCallback && self.callbacks[i]) {
self.callbacks[i]();
}
},
bindEvent: function (i) {
var self = this;
var $targetDom = $('[scrollID=' + i + ']');
var isStartClick = false;
$targetDom.on('mousedown click', '#scroll_right_' + i, function (e) {
if ($('#' + e.target.id).is(':hidden')) {
return;
}
e.preventDefault();
e.stopPropagation();
if ($('#' + e.target.id).hasClass('scroll_bar')) {
return;
}
if (e.type === 'mousedown') {
isStartClick = true;
}
if (e.type === 'click' && isStartClick) {
isStartClick = false;
var id = e.currentTarget.id;
var i = id.slice('scroll_right_'.length);
self.resizeTop($('#scroll_bar_' + i), e.pageY - $('#' + id).offset().top, 'allowCallback');
}
});
$targetDom.on(((document.onmousewheel !== undefined) ? "mousewheel" : "DOMMouseScroll"), '#scroll_text_' + i, function (e) {
var id = e.currentTarget.id;
var i = id.slice('scroll_text_'.length);
var $selectorBar = $('#scroll_bar_' + i);
if ($selectorBar.is(':hidden')) {
return;
}
var curTop = $selectorBar[0].offsetTop;
var wheel = e.originalEvent.wheelDelta || -e.originalEvent.detail;
var delta = Math.max(-1, Math.min(1, wheel));
var action = (delta < 0) ? 'down' : 'up';
var setTopData;
var needUpPropagation = false;
if (action === 'up' && curTop > 0) {
e.preventDefault();
e.stopPropagation();
setTopData = curTop - 20;
} else if (action === 'down' && $('#scroll_right_' + i).height() - $selectorBar.height() - curTop > 1) {
e.preventDefault();
e.stopPropagation();
setTopData = curTop + 20;
} else {
needUpPropagation = true;
}
if (needUpPropagation) {
return;
}
if (self.isStartMouseWheel) {
return;
}
self.isStartMouseWheel = true;
setTimeout(function () {
self.isStartMouseWheel = false;
}, 100);
if (setTopData !== undefined) {
self.resizeTop($selectorBar, setTopData, 'allowCallback');
}
});
$targetDom.on('focusin', '#scroll_text_' + i, function (e) {
var tagName = e.target.tagName || '';
if (tagName.toLowerCase() !== 'input') {
return;
}
var id = e.currentTarget.id;
var i = id.slice('scroll_text_'.length);
var $selectorBar = $('#scroll_bar_' + i);
if ($selectorBar.is(':hidden')) {
return;
}
e.preventDefault();
e.stopPropagation();
var boxTop = $('#' + id)[0].offsetTop;
var dulHeight = $(document.activeElement).offset().top - $('#' + id).offset().top;
var domHeight = $(document.activeElement).outerHeight();
var overTop = boxTop + dulHeight + domHeight - $('#scroll_left_' + i).height();
if (overTop >= 0) {
self.resizeDomTop($selectorBar, dulHeight, 'allowCallback');
}
});
$targetDom.on('touchstart', '#scroll_text_' + i + ',#scroll_bar_' + i, function (e) {
var id = e.currentTarget.id;
var touch = e.originalEvent.touches[0] || e.originalEvent.changedTouches[0];
var i;
e.stopPropagation();
if (id.indexOf('scroll_text') > -1) {
i = id.slice('scroll_text_'.length);
} else if (id.indexOf('scroll_bar') > -1) {
i = id.slice('scroll_bar_'.length);
} else {
return;
}
self.touchData = {
startBoolear: true,
startY: touch.pageY,
curTop: $('#scroll_bar_' + i)[0].offsetTop,
startSelector: 'scroll_bar_' + i
}
});
$targetDom.on('touchmove', '#scroll_text_' + i + ',#scroll_bar_' + i + ',#scroll_right_' + i, function (e) {
if (!self.touchData.startSelector || !self.touchData.startBoolear || !$('#' + self.touchData.startSelector).length) {
return;
}
var id = self.touchData.startSelector;
var i = id.slice('scroll_bar_'.length);
var touch = e.originalEvent.touches[0] || e.originalEvent.changedTouches[0];
var dulTop;
if ((e.currentTarget.id).indexOf('scroll_text') > -1) {
dulTop = self.touchData.startY - touch.pageY;
} else if ((e.currentTarget.id).indexOf('scroll_bar') > -1) {
dulTop = touch.pageY - self.touchData.startY;
}
var barTop = dulTop + self.touchData.curTop;
self.resizeTop($('#' + id), barTop);
e.preventDefault();
e.stopPropagation();
});
$targetDom.on('touchend', '#scroll_text_' + i + ',#scroll_bar_' + i, function (e) {
if (!self.touchData.startSelector || !$('#' + self.touchData.startSelector).length) {
return;
}
var id = self.touchData.startSelector;
var barTop = $('#' + id)[0].offsetTop;
self.touchData.startBoolear = false;
self.resizeTop($('#' + id), barTop, 'allowCallback');
});
$targetDom.on('mousedown', '#scroll_bar_' + i, function (e) {
var id = e.currentTarget.id;
var i = id.slice('scroll_bar_'.length);
self.mouseData = {
startBoolear: true,
startY: e.pageY,
curTop: $('#' + id)[0].offsetTop,
startSelector: id
}
});
$(document).off('mousemove mouseup');
$(document).on('mousemove', function (e) {
if (!self.mouseData.startSelector || !self.mouseData.startBoolear || !$('#' + self.mouseData.startSelector).length) {
return;
}
window.getSelection ? window.getSelection().removeAllRanges() : document.selection.empty();
var id = self.mouseData.startSelector;
var barTop = (e.pageY - self.mouseData.startY) + self.mouseData.curTop;
self.resizeTop($('#' + id), barTop);
});
$(document).on('mouseup', function (e) {
if (!self.mouseData.startSelector || !self.mouseData.startBoolear || !$('#' + self.mouseData.startSelector).length) {
return;
}
self.cancelSelectListEvent = true;
var id = self.mouseData.startSelector;
var barTop = $('#' + id)[0].offsetTop;
self.mouseData.startBoolear = false;
self.resizeTop($('#' + id), barTop, 'allowCallback');
});
},
unbindEvent: function () {
$('.scroll_text,.scroll_right,.scroll_bar').off();
},
destroy: function (selectorS) {
var self = this;
$.each($(selectorS), function (index, selector) {
$selector.removeAttr('scrollID');
var $scrollText = $(selector).find('.scroll_text');
if ($scrollText.length === 0) {
return;
}
var id = $scrollText.attr('id');
var index = id.slice('scroll_text_'.length);
if (self.intervalResizeObj[index]) {
clearInterval(self.intervalResizeObj[index]);
self.intervalResizeObj[index] = null;
}
($(selector).find('.scroll_left')).replaceWith($scrollText.contents());
($(selector).find('.scroll_right')).remove();
});
},
adapterleftLabelStyle: function (para) {
var tag;
var selectorTag;
if (window.location.href.indexOf('/ManagerDesktop/page.html') >= 0) {
tag = '#' + window.location.hash.substr(1) + '_page';
} else {
tag = 'body';
}
selectorTag = tag + ' .control-label:visible';
if (para) {
var otherTag = tag + ' .' + para + ' .control-label-win:visible';
selectorTag = selectorTag + ',' + otherTag;
}
$(selectorTag).each(function (index, element) {
if ($(element).height() > 25) {
$(element).css('margin-top', '0px')
} else {
$(element).css('margin-top', '8px')
}
});
}
});
RVC.EntityController = RVC.Object.extend({
entityName:'',
className: '',
methodID:{},
methodSignature:{},
sigResponseUUID : '{e12a3dc0-3a0b-47c4-a8c3-75190a42ae68}',
init: function() {
var self = this;
var ses = new Session();
ses.entity = self.entityName;
ses.class = self.className;
WebSocketBase.startSession(ses, () => {
debugInfo("start session callback!");
});
},
cloneObject: function (obj) {
return cloneObject(obj);
},
compareObject: function (obj1, obj2) {
return compareObject(obj1, obj2);
},
webSocketInvoke: function(req, callback) {
WebSocketBase.sendMsg(req, (data) => {
var jsondata = JSON.parse(data);
if(typeof callback === 'function') {
try {
callback(jsondata);
} catch(err) {}
}
});
},
webSocketInvokeEx: function(req, methodSig, callback) {
req.entity = this.entityName;
req.class = this.className;
req.methodID = methodSig.id;
req.signature = methodSig.sig;
if(typeof req.timeout == 'undefined') {
req.timeout = 20000;
}
this.webSocketInvoke(req, callback);
},
commCallback : function(ret, skipSucc) {
if(typeof skipSucc == 'undefined' && "undefined" !== typeof ret.errorCode && ret.errorCode === 0) {
utilStartCommonDialog("操作成功!");
setTimeout(function () {
utilStopCommonDialog();
}, 1000);
return;
}
if("undefined" !== typeof ret.errorCode) {
if('undefined' != typeof ret.userCode) {
utilStartAlertDialog("操作失败! ErrorCode: " + ErrorCodeStringfy(ret.errorCode) + " | UserCode: " + ret.userCode);
} else {
utilStartAlertDialog("操作失败! ErrorCode: " + ErrorCodeStringfy(ret.errorCode));
}
} else {
utilStartAlertDialog("操作失败! 响应数据无法解析");
}
},
commErrorCallback: function(ret) {
this.commCallback(ret, 1);
}
});
});
function test()
{
//utilShowToast("操作成功!", 5000);
}
$(function () {
WebSocketBase.socket.onerror = function () {
utilStartAlertDialog('终端链接失败', function() {
utilStopCommonDialog();
});
};
RVC.DeviceControlEntityCtrl = RVC.EntityController.extend({
entityName: 'DeviceControl',
className: 'DeviceControlService',
methodID: {
QueryHardwareInfo: 4,
ReadCenterConfigStr: 5,
ReadConfigValue: 6,
TestConnectivity: 7
},
methodSignature: {
QueryHardwareInfo: 1706767096,
ReadCenterConfigStr: -673154017,
ReadConfigValue: 730234720,
TestConnectivity : -42627632
},
QueryHardwareInfo: function (req, callback) {
req.entity = this.entityName;
req.class = this.className;
req.methodID = this.methodID.QueryHardwareInfo;
req.signature = this.methodSignature.QueryHardwareInfo;
this.webSocketInvoke(req, callback);
},
ReadConfigValue: function (req, callback) {
req.entity = this.entityName;
req.class = this.className;
req.methodID = this.methodID.ReadConfigValue;
req.signature = this.methodSignature.ReadConfigValue;
this.webSocketInvoke(req, callback);
},
ReadCenterConfigStr: function (req, callback) {
this.webSocketInvokeEx(req,
({id:this.methodID.ReadCenterConfigStr, sig:this.methodSignature.ReadCenterConfigStr}),
callback);
},
TestConnectivity: function (req, callback) {
this.webSocketInvokeEx(req,
({id:this.methodID.TestConnectivity, sig:this.methodSignature.TestConnectivity}),
callback);
}
});
RVC.HealthmanagerEntityCtrl = RVC.EntityController.extend({
entityName: 'HealthManager',
className: 'HealthManagerService',
methodID: {
ControlTerminalLife: 7,
DeployTerminal : 8
},
methodSignature: {
ControlTerminalLife: 397251033,
DeployTerminal : -1435088905
},
ControlTerminalLife: function (req, callback) {
req.entity = this.entityName;
req.class = this.className;
req.methodID = this.methodID.ControlTerminalLife;
req.signature = this.methodSignature.ControlTerminalLife;
this.webSocketInvoke(req, callback);
},
DeployTerminal: function (req, callback) {
this.webSocketInvokeEx(req,
({id:this.methodID.DeployTerminal, sig:this.methodSignature.DeployTerminal}),
callback);
},
ControlTerminalLifeNo: function(cmdValue) {
let req = new Request();
req.timeout = 60000;
req.cmdType = cmdValue;
req.reason = 0;
req.reserved1 = 0;
req.reserved2 = 0;
req.reserved3 = '';
req.reserved4 = '';
utilStartSubmitDialog();
this.ControlTerminalLife(req, function(ret) {
utilStopSubmitDialog();
if (ret.errorCode === 0) {
utilStartCommonDialog("操作成功!");
setTimeout(function () {
utilStopCommonDialog();
}, 2000);
} else {
utilStartAlertDialog("操作失败:" + ErrorCodeStringfy(ret.errorCode));
}
});
},
RestartApp: function() {
utilStartConfirmDialog("确认要重启可视柜台应用程序?", function() {
RVC.HealthmanagerEntityCtrl.ControlTerminalLifeNo(1);
});
},
QuitApp: function() {
utilStartConfirmDialog("确认要退出可视柜台应用程序?", function() {
RVC.HealthmanagerEntityCtrl.ControlTerminalLifeNo(2);
});
},
UPSOffPC: function() {
utilStartConfirmDialog("确认通过UPS关闭计算机?(点击确认并操作成功后请在5分钟内拔离插座电源线以彻底关闭计算机,否则机器将会重启!)", function() {
RVC.HealthmanagerEntityCtrl.ControlTerminalLifeNo(6);
});
},
PowerOffPC: function() {
utilStartConfirmDialog("确认要关闭计算机?", function() {
RVC.HealthmanagerEntityCtrl.ControlTerminalLifeNo(5);
});
},
RestartPC: function() {
utilStartConfirmDialog("确认要重启计算机?", function() {
RVC.HealthmanagerEntityCtrl.ControlTerminalLifeNo(4);
});
}
});
RVC.DeviceControlEntityCtrl.init();
RVC.HealthmanagerEntityCtrl.init();
});
function quitThisPage() {
open(location, '_self').close();
}
function passwordRule1Check(pwd) {
var hasnum = 0;
var haslow = 0;
var hasup = 0;
var hasspe = 0;
if (!!pwd.match(/[0-9]/)) {
hasnum = 1;
}
if (!!pwd.match(/[a-z]/)) {
haslow = 1;
}
if (!!pwd.match(/[A-Z]/)) {
hasup = 1;
}
if (!!pwd.match(/\W/) || !!pwd.match(/[_]/)) {
hasspe = 1;
}
if (((hasnum + haslow + hasup) < 3) || hasspe) {
return false;
}
return true;
}
function passwordRule2Check(pwd) {
var hasnum = 0;
var haslow = 0;
var hasup = 0;
var hasspe = 0;
if (!!pwd.match(/[0-9]/)) {
hasnum = 1;
}
if (!!pwd.match(/[a-z]/)) {
haslow = 1;
}
if (!!pwd.match(/[A-Z]/)) {
hasup = 1;
}
if (!!pwd.match(/\W/) || !!pwd.match(/[_]/)) {
hasspe = 1;
}
if ((hasnum + haslow + hasup + hasspe) < 3) {
return false;
}
return true;
}
function passwordRule3Check(pwd) {
var hasnum = 0;
var haslow = 0;
var hasup = 0;
var hasspe = 0;
if (!!pwd.match(/[0-9]/)) {
hasnum = 1;
}
if (!!pwd.match(/[a-z]/)) {
haslow = 1;
}
if (!!pwd.match(/[A-Z]/)) {
hasup = 1;
}
if (!!pwd.match(/\W/) || !!pwd.match(/[_]/)) {
hasspe = 1;
}
if ((hasnum + haslow + hasup + hasspe) < 2) {
return false;
}
return true;
}
function hasSpaceOrTabAtHead(str) {
if (str.indexOf(' ') === 0 || str.indexOf('\t') === 0) {
return true;
}
return false;
}
window.xss = function (xmlStr) {
if ($.type(xmlStr) === 'number') {
return xmlStr;
}
if ($.type(xmlStr) !== 'string') {
return '';
}
return xmlStr.replace(/(\&|\'|\"|\>|\<|\/|\(|\))/g, function Rep($0, $1) {
return {
'&': '&',
"'": ''',
'"': '"',
'<': '<',
'>': '>',
'/': '/',
'(': '(',
')': ')'
}[$1];
});
};
window.xssDecode = function (xmlStr) {
return xmlStr.replace(/(<|>|&|'|"|/|(|))/g, function ($0, $1) {
return {
'<': '<',
'>': '>',
'&': '&',
''': "'",
'"': '\"',
'/': '/',
'(': '(',
')': ')'
}[$1];
});
};
window.privacyXss = function (xssStr, splitStr) {
if ($.type(xssStr) !== 'string' || $.type(splitStr) !== 'string') {
return '';
}
var xssArr = xssStr.split(splitStr);
for (var i = 0; i < xssArr.length; i++) {
xssArr[i] = xss(xssArr[i]);
}
return xssArr.join(splitStr);
};
function isButtonEnable(buttonId) {
var $button = $('#' + buttonId);
if ($button) {
return !($button.hasClass('btn_disabled'));
}
return false;
}
function resolveXMLEntityReference(str) {
if (typeof str !== 'undefined' && str !== null && str !== '') {
return str.replace(/(\'|\&|\"|\>|\<|\/|\(|\))/g, function Rep($0, $1) {
return {
"'": ''',
'&': '&',
'"': '"',
'<': '<',
'>': '>',
'/': '/',
'(': '(',
')': ')'
}[$1];
});
}
return '';
}
function xssResolveHtmlReturnChar(xmlStr) {
if (typeof xmlStr !== 'undefined' && xmlStr !== null && xmlStr !== '') {
return xmlStr.replace(/(\'|\"|\/|\(|\))/g, function Rep($0, $1) {
return {
"'": ''',
'"': '"',
'/': '/',
'(': '(',
')': ')'
}[$1];
});
}
return '';
}
function isPlusInteger(value) {
if (/^\d+$/.test(value) && parseInt(value, 10) >= 0) {
return true;
}
return false;
}
function showSelectedValue(selectid, selectval) {
var selectlist = selectid + '_list';
var selectClass = ' .select_medium';
if ($('#' + selectlist).children().hasClass('spanner_medium')) {
selectClass = ' .spanner_medium';
}
var selectitems = $('#' + selectlist + selectClass);
var selectLength = selectitems.length;
var selectparent = $('#' + selectid);
for (var loop = 0; loop < selectLength; loop++) {
var selectitem = $(selectitems[loop]);
var selectvalue = selectitem.attr('option') || selectitem.find('span').attr('option');
var description = selectitem.text() || selectitem.find('span').text();
var selectlangid = selectitem.attr('lang-id') || selectitem.find('span').attr('lang-id') || '';
if (selectval === selectvalue) {
if (selectparent[0].localName !== 'input' && selectparent[0].localName !== 'textarea') {
selectparent.attr('value', selectval);
} else {
selectparent.val(selecthtml);
}
selectparent.text(description);
selectparent.attr('lang-id', selectlangid);
break;
}
}
}
function handleTemplate(template, data) {
var processed = template.replace(/{{.+?}}/g, function (match) {
var cmd = match.substr(2, match.length - 4);
if (cmd.substr(0, 2) === 't ') {
return getTransation(cmd.substr(2));
}
var evalValue = data;
cmd.split('.').forEach(function (key) {
if (!evalValue) {
return;
}
evalValue = evalValue[key];
});
if (typeof evalValue === 'number') {
return evalValue;
}
return xss(evalValue);
});
return processed;
}
function isValidIpAddress(address, flag) {
var addrParts = address.split('.');
if (addrParts.length !== 4) {
return false;
}
for (var i = 0; i < 4; i++) {
if (isNaN(addrParts[i])) {
return false;
}
if (addrParts[i] === '') {
return false;
}
if (addrParts[i].indexOf(' ') !== -1) {
return false;
}
if ((addrParts[i].indexOf('0') === 0) && (addrParts[i].length !== 1)) {
return false;
}
}
if (typeof flag === 'undefined') {
if ((addrParts[0] <= 0 || addrParts[0] === '127' || addrParts[0] > 223) ||
(addrParts[1] < 0 || addrParts[1] > 255) ||
(addrParts[2] < 0 || addrParts[2] > 255) ||
(addrParts[3] <= 0 || addrParts[3] >= 255)) {
return false;
}
} else if ((addrParts[0] <= 0 || addrParts[0] === '127' || addrParts[0] > 223) ||
(addrParts[1] < 0 || addrParts[1] > 255) ||
(addrParts[2] < 0 || addrParts[2] > 255) ||
(addrParts[3] < 0 || addrParts[3] > 255)) {
return false;
}
return true;
}
function spaceToNbsp(str) {
return str.replace(/ /g, ' ');
}
function nbspToSpace(str) {
return str.replace(/(\ )/g, function ($0, $1) {
return {
' ': ' '
}[$1];
}
);
}
function utilGetTimeString(timeVal) {
var timeString = '';
var tmpVal;
if (!timeVal) {
return '';
}
var timeInt = parseInt(timeVal, 10);
tmpVal = parseInt(timeInt / (60 * 60 * 24), 10);
if (tmpVal > 0) {
timeString += tmpVal;
timeString += '
天';
}
timeInt %= 60 * 60 * 24;
tmpVal = parseInt(timeInt / (60 * 60), 10);
if (tmpVal > 0) {
timeString += tmpVal;
timeString += '
小时';
}
timeInt %= 60 * 60;
tmpVal = parseInt(timeInt / (60), 10);
if (tmpVal > 0) {
timeString += tmpVal;
timeString += '
分钟';
}
timeInt %= 60;
tmpVal = parseInt(timeInt, 10);
if (tmpVal > 0) {
timeString += tmpVal;
timeString += '
秒';
}
return timeString;
}
function getCurrentTime(time) {
var finalTime = '';
var times = parseInt(time, 10);
var day = parseInt((times / 86400), 10);
if (day > 0) {
finalTime = day;
}
times = times - day * 86400;
if (finalTime !== '') {
finalTime += '
天 ';
}
var hours = parseInt((times / 3600), 10);
if (hours > 9) {
finalTime += hours + ':';
} else if (hours >= 0) {
finalTime += '0' + hours + ':';
}
times = times - hours * 3600;
var minutes = parseInt(times / 60, 10);
if (minutes > 9) {
finalTime += minutes + ':';
} else if (minutes > 0) {
finalTime += '0' + minutes + ':';
} else if (minutes === 0) {
finalTime += '00' + ':';
}
times = times - minutes * 60;
if (times > 9) {
finalTime += times;
} else if (times > 0) {
finalTime += '0' + times;
} else if (times === 0) {
finalTime += '00';
}
return finalTime;
}
function resizeWindow() {
var winheight = $(window).height();
if ($('#page_footer').hasClass('footer-location')) {
winheight = $(window).height() - $('#page_footer').height();
}
var docHeight = $('body').height();
if (winheight > docHeight) {
if ($('#page_footer').hasClass('footer-location')) {
return;
}
$('#page_footer').addClass('footer-location');
} else {
$('#page_footer').removeClass('footer-location');
}
}
var documentInterval = null;
function globalIntervalProc() {
if (documentInterval !== null) {
return;
}
documentInterval = setInterval(function () {
if (GLOBAL.modules.cradle_enabled === '1') {
EMUI.globalCradleStatusController.load();
}
if (window.location.href.indexOf('fileshare') !== -1 || window.location.href.indexOf('fileUpload') !== -1) {
} else {
EMUI.globalStatusController.load();
}
EMUI.headerStautsController.load();
if (GLOBAL.modules.statistic_enabled === '1') {
EMUI.pubMonthStatisticsStartDateController.load();
if (EMUI.pubStatisticFeatureController.isDailyLimitEnable) {
EMUI.pubDailyStatisticsStartDateController.load();
}
}
if (typeof GLOBAL.modules !== 'undefined' && typeof GLOBAL.modules.cbs_enabled !== 'undefined' && GLOBAL.modules.cbs_enabled === '1') {
if (window.location.hash !== '#cbssettings') {
EMUI.CBSNewListController.load();
}
}
}, 6000);
}
function stopBubble() {
window.location.href = '#onekey';
event.stopPropagation();
}
$(document).ready(function () {
setInterval(function () {
resizeWindow();
}, 100);
$('body').click(function (e) {
var target = $(e.target);
var targetPartentID = $(e.target).parent().attr('id');
var targetID = target.attr('id');
var tagetFLag = '';
if (target && target.attr('class')) {
var classlist = target.attr('class');
if (classlist.indexOf('select_') < 0 && classlist.indexOf('_dragger') < 0) {
$('.select_list').hide();
}
} else {
$('.select_list').hide();
}
if (typeof targetID === 'undefined' || targetID.indexOf('statistics_select_') < 0) {
$('[class^=statistics_select_]').hide();
}
if (targetID) {
tagetFLag = targetID;
} else if (targetPartentID) {
tagetFLag = targetPartentID;
} else {
tagetFLag = false;
}
if (tagetFLag) {
if (tagetFLag.indexOf('_list_item_') > 0) {
var selectval = $('#' + tagetFLag).attr('option');
var parentselectid = tagetFLag.substr(0, tagetFLag.indexOf('_list_item_'));
var selecthtml = $('#' + tagetFLag).text();
$('#' + parentselectid + '_list > div').removeClass('select_top_selected select_bottom_selected select_medium_selected');
if ($('#' + tagetFLag).hasClass('spanner_top')) {
$('#' + tagetFLag).addClass('spanner_top_selected');
} else if ($('#' + tagetFLag).hasClass('spanner_medium')) {
$('#' + tagetFLag).addClass('spanner_medium_selected');
} else if ($('#' + tagetFLag).hasClass('spanner_bottom')) {
$('#' + tagetFLag).addClass('spanner_bottom_selected');
} else if ($('#' + tagetFLag).hasClass('select_top')) {
$('#' + tagetFLag).addClass('select_top_selected');
} else if ($('#' + tagetFLag).hasClass('select_medium')) {
$('#' + tagetFLag).addClass('select_medium_selected');
} else if ($('#' + tagetFLag).hasClass('select_bottom')) {
$('#' + tagetFLag).addClass('select_bottom_selected');
}
if ($('#' + parentselectid)[0].localName !== 'input' && $('#' + parentselectid)[0].localName !== 'textarea') {
$('#' + parentselectid).attr('value', selectval);
} else {
$('#' + parentselectid).val(selecthtml);
}
$('#' + parentselectid).removeAttr('lang-id');
$('#' + parentselectid).attr('lang-id', $('#' + tagetFLag).attr('lang-id'));
$('#' + parentselectid).text(selecthtml);
$('.select_list').hide();
}
}
});
});
window.onload = function () {
var imgDom = $(".header div.logo img")[0];
imgDom && $(".header").height(imgDom.height);
};
function showPopWin() {
var pop_top = $('.adv_pop_win_top').height();
var pop_middle = $('.adv_pop_win_middle').height();
var pop_bottom = $('.adv_pop_win_bottom').height();
if (!pop_top && !pop_bottom) {
return;
}
var popInterval = setInterval(function () {
pop_middle = $('.adv_pop_win_middle').height();
if (pop_middle > 0) {
clearInterval(popInterval);
var pop_height = pop_top + pop_middle + pop_bottom;
var winh = $(window).height();
var userDevice = navigator.userAgent;
var pop_offset = winh - pop_height;
$('#emui_content_pop_win').css('top', pop_offset);
}
}, 200)
}
var VALIDATION = {};
VALIDATION.isValidDomainName = function (value) {
var flag = '';
if (!VALIDATION.isValidAscIICharset(value) || !VALIDATION.isValidDomainNameChar(value)) {
flag = false;
} else if ((value.indexOf('.') === -1 && value !== '') || (value.indexOf('.') !== -1 && value.length === 1)) {
flag = false;
} else if (/\.$/.exec(value) || /^\./.exec(value) || /-$/.exec(value) || /^-/.exec(value)) {
flag = false;
} else {
flag = true;
}
return flag;
};
VALIDATION.isValidDomainNameChar = function (val) {
if (val === '') {
return false;
}
for (var j = 0; j < val.length; j++) {
var c = val.charAt(j);
if (c >= 'a' && c <= 'z') {
continue;
} else if (c >= 'A' && c <= 'Z') {
continue;
} else if (c >= '0' && c <= '9') {
continue;
} else if (c === '-' || c === '.') {
continue;
} else {
return false;
}
}
return true;
};
VALIDATION.isVailDomainLen = function (val) {
if (val === '') {
return false;
}
var valArr = val.split('.');
for (var i = 0; i < valArr.length; i++) {
if (valArr[i].length > 63) {
return false;
}
}
return true;
}
VALIDATION.isValidAscIICharset = function (str) {
for (var i = 0; i < str.length; i++) {
if (!(str.charCodeAt(i) >= 33 && str.charCodeAt(i) <= 126)) {
return false;
}
}
return true;
};
VALIDATION.isSameSubnetAddrs = function (ip1, ip2, mask) {
var addrParts1 = ip1.split('.');
var addrParts2 = ip2.split('.');
var maskParts = mask.split('.');
for (var i = 0; i < 4; i++) {
if (((Number(addrParts1[i])) & (Number(maskParts[i]))) !== ((Number(addrParts2[i])) & (Number(maskParts[i])))) {
return false;
}
}
return true;
};
VALIDATION.isValidNetworkSegment = function isValidNetworkSegment(netSeg, mask) {
var addrParts = netSeg.split('.');
var maskParts = mask.split('.');
for (var i = 0; i < 4; i++) {
if (Number(addrParts[i]) !== ((Number(addrParts[i])) & (Number(maskParts[i])))) {
return false;
}
}
return true;
};
VALIDATION.isSameNetSegment = function isSameNetSegment(ipmax, ipmin, maskmax, maskmin) {
var addrPartsmax = ipmax.split('.');
var addrPartsmin = ipmin.split('.');
var maskPartsmax = maskmax.split('.');
var maskPartsmin = maskmin.split('.');
var maskParts = null;
for (var i = 0; i < 4; i++) {
if (Number(maskPartsmax[i]) > Number(maskPartsmin[i])) {
return false;
}
maskParts = Number(maskPartsmax[i]) & Number(maskPartsmin[i]);
if ((Number(addrPartsmax[i]) & maskParts) !== (Number(addrPartsmin[i]) & maskParts)) {
return false;
}
}
return true;
};
VALIDATION.isBroadcastOrNetworkAddress = function (ipAddress, netmask) {
var ip;
var mask;
var netaddr;
var broadaddr;
function inetAton(a) {
var n;
n = a.split(/\./);
if (n.length !== 4) {
return 0;
}
return ((n[0] << 24) | (n[1] << 16) | (n[2] << 8) | n[3]);
}
ip = inetAton(ipAddress);
mask = inetAton(netmask);
netaddr = ip & mask;
broadaddr = netaddr | ~mask;
if (netaddr === ip || ip === broadaddr) {
return false;
}
return true;
};
function portPartsParse(_port) {
var portArr = [];
_port = $.trim(_port);
if (_port.indexOf('-') === -1) {
portArr = [_port, _port];
} else {
_port = _port.split('-');
portArr = [$.trim(_port[0]), $.trim(_port[1])];
}
return portArr;
}
VALIDATION.isValidMacAddress = function (mac) {
var macAddress = $.trim(mac);
macAddress = macAddress.toLowerCase();
var c = 0;
var i = 0;
var j = 0;
if (macAddress === 'ff:ff:ff:ff:ff:ff' || macAddress === '00:00:00:00:00:00') {
return false;
}
var addrParts = macAddress.split(':');
if (addrParts.length !== 6) {
return false;
}
for (i = 0; i < 6; i++) {
if (addrParts[i].length !== 2) {
return false;
}
for (j = 0; j < addrParts[i].length; j++) {
c = addrParts[i].charAt(j);
if ((c >= '0' && c <= '9') || (c >= 'a' && c <= 'f')) {
continue;
} else {
return false;
}
}
}
c = parseInt(addrParts[0].charAt(1), 16);
if (c % 2) {
return false;
}
return true;
};
VALIDATION.isValidIpAddressCommon = function (address) {
var addrParts = address.split('.');
if (addrParts.length !== 4) {
return false;
}
for (var i = 0; i < 4; i++) {
if (isNaN(addrParts[i]) === true) {
return false;
}
if (addrParts[i] === '') {
return false;
}
if (addrParts[i].indexOf(' ') !== -1) {
return false;
}
if ((addrParts[i].indexOf('0') === 0) && (addrParts[i].length !== 1)) {
return false;
}
}
if ((addrParts[0] < 0 || addrParts[0] > 255) || (addrParts[1] < 0 || addrParts[1] > 255) || (addrParts[2] < 0 || addrParts[2] > 255) || (addrParts[3] < 0 || addrParts[3] > 255)) {
return false;
}
return true;
};
VALIDATION.isValidIpAddress = function (address) {
var addrParts = address.split('.');
if (addrParts.length !== 4) {
return false;
}
for (var i = 0; i < 4; i++) {
if (isNaN(addrParts[i])) {
return false;
}
if (addrParts[i] === '') {
return false;
}
if (addrParts[i].indexOf(' ') !== -1) {
return false;
}
if ((addrParts[i].indexOf('0') === 0) && (addrParts[i].length !== 1)) {
return false;
}
}
if ((addrParts[0] <= 0 || addrParts[0] === '127' || addrParts[0] > 223) ||
(addrParts[1] < 0 || addrParts[1] > 255) ||
(addrParts[2] < 0 || addrParts[2] > 255) ||
(addrParts[3] <= 0 || addrParts[3] >= 255)) {
return false;
}
return true;
};
VALIDATION.isValidStaticIpAddress = function (address) {
var addrParts = address.split('.');
if (addrParts.length !== 4) {
return false;
}
for (var i = 0; i < 4; i++) {
if (isNaN(addrParts[i])) {
return false;
}
if (addrParts[i] === '') {
return false;
}
if (addrParts[i].indexOf(' ') !== -1) {
return false;
}
if ((addrParts[i].indexOf('0') === 0) && (addrParts[i].length !== 1)) {
return false;
}
}
if ((addrParts[0] <= 0 || addrParts[0] === '127' || addrParts[0] > 223) ||
(addrParts[1] < 0 || addrParts[1] > 255) ||
(addrParts[2] < 0 || addrParts[2] > 255) ||
(addrParts[3] < 0 || addrParts[3] > 255)) {
return false;
}
return true;
};
VALIDATION.portJoin = function portJoin(startPort, endPort) {
var _port;
var startPt = $.trim(startPort);
var endPt = $.trim(endPort);
if (startPt === '' || endPt === '' || startPt === endPt) {
_port = startPort;
} else {
_port = startPort + '-' + endPort;
}
return _port;
};
VALIDATION.isVaildSpecialPort = function isVaildSpecialPort(port, showTarget) {
var portParts = $.trim(port);
var c = '';
var i = 0;
if (portParts === '') {
showErrorMsg(showTarget, 'firewall_hint_port_empty');
return false;
}
if ((portParts.indexOf('0') === 0) && (portParts.length !== 1)) {
showErrorMsg(showTarget, 'firewall_hint_port_empty');
return false;
}
for (i = 0; i < portParts.length; i++) {
c = portParts.toLowerCase().charAt(i);
if ((c >= '0') && (c <= '9')) {
continue;
} else {
showErrorMsg(showTarget, 'firewall_hint_port_empty');
return false;
}
}
if ((portParts < MACRO_MIN_PORT_RANGE) || (portParts > MACRO_MAX_PORT_RANGE)) {
showErrorMsg(showTarget, 'firewall_hint_port_number_valid_char');
return false;
}
return true;
};
VALIDATION.isVaildPortForIPFilter = function isVaildPortForIPFilter(port, showTarget) {
var portParts = $.trim(port);
if (portParts === '') {
showErrorMsg(showTarget, 'firewall_hint_port_empty');
return false;
}
if (port < MACRO_MIN_PORT_RANGE || port > MACRO_MAX_PORT_RANGE) {
showErrorMsg(showTarget, 'firewall_hint_port_number_valid_char');
return false;
}
var splitPort = portPartsParse(port);
var i = 0;
for (i = 0; i < splitPort.length; i++) {
if (isNaN(splitPort[i])) {
showErrorMsg(showTarget, 'firewall_hint_port_empty');
return false;
}
}
portParts = $.trim(port);
if (portParts.indexOf('-') === -1) {
if (!VALIDATION.isVaildSpecialPort(portParts, showTarget)) {
return false;
}
} else {
portParts = port.split('-');
if (portParts.length === 2) {
for (i = 0; i < 2; i++) {
if (isNaN(portParts[i]) === true) {
showErrorMsg(showTarget, 'firewall_hint_port_empty');
return false;
}
if (portParts[i] === '') {
showErrorMsg(showTarget, 'firewall_hint_port_empty');
return false;
}
if (!VALIDATION.isVaildSpecialPort(portParts[i], showTarget)) {
return false;
}
}
if (parseInt(portParts[0], 10) > parseInt(portParts[1], 10)) {
showErrorMsg(showTarget, 'firewall_hint_start_greater_end_port');
return false;
}
} else {
showErrorMsg(showTarget, 'firewall_hint_port_empty');
return false;
}
}
return true;
};
VALIDATION.checkTr069InputUserNameChar = function checkInputChar(str) {
var i;
var charI;
var numCharI;
if (str === '') {
return false;
}
for (i = 0; i < str.length; i++) {
charI = str.charAt(i);
numCharI = charI.charCodeAt();
if ((numCharI > MACRO_SUPPORT_CHAR_MAX) || (numCharI < MACRO_SUPPORT_CHAR_MIN)) {
return false;
} else if (MACRO_NOT_SUPPORT_CHAR_QUOTATION_MARK === numCharI || MACRO_NOT_SUPPORT_CHAR_39 === numCharI) {
return false;
}
}
return true;
};
VALIDATION.checkChar = function checkChar(str, unsupportChar) {
var i;
var charI;
var numCharI;
if (str === '') {
return false;
}
if (!$.isArray(unsupportChar)) {
return false;
}
for (i = 0; i < str.length; i++) {
charI = str.charAt(i);
numCharI = charI.charCodeAt();
if ((numCharI > MACRO_SUPPORT_CHAR_MAX) || (numCharI < MACRO_SUPPORT_CHAR_MIN)) {
return false;
} else {
for (var j = 0; j < unsupportChar.length; j++) {
if (unsupportChar[j] === charI) {
return false;
}
}
}
}
return true;
};
VALIDATION.isGlobalIpv6Address = function isGlobalIpv6Address(strAddress) {
var tempAddress = getFullIpv6Address(strAddress);
if ((tempAddress === '')
|| (tempAddress === '0000:0000:0000:0000:0000:0000:0000:0000')
|| (tempAddress === '0000:0000:0000:0000:0000:0000:0000:0001')
|| (tempAddress.substring(0, 2) === 'ff')) {
return false;
}
return true;
};
function getFullIpv6Address(strVAddress) {
var j = 0;
var m = 0;
var asciiStr;
var strLength;
var str;
var startAddress = [];
var endAddress = [];
var finalAddress = '';
var finalAddressArray = [];
var lowerAddress;
lowerAddress = strVAddress.toLowerCase();
var addrParts = lowerAddress.split('::');
if (addrParts.length === 2) {
if (addrParts[0] !== '') {
startAddress = parseIpv6Array(addrParts[0]);
if (startAddress.length === 0) {
return '';
}
}
if (addrParts[1] !== '') {
endAddress = parseIpv6Array(addrParts[1]);
if (endAddress.length === 0) {
return '';
}
for (var i = 0; i < endAddress.length; i++) {
strLength = endAddress[i].toString().length;
str = endAddress[i].toString();
if (strLength > 4) {
return '';
}
for (m = 0; m < strLength; m++) {
asciiStr = str.charCodeAt(m);
if (!((asciiStr >= 48 && asciiStr <= 57) || (asciiStr >= 97 && asciiStr <= 102))) {
return '';
}
}
}
}
if (startAddress.length + endAddress.length >= 8) {
return '';
}
} else if (addrParts.length === 1) {
startAddress = parseIpv6Array(addrParts[0]);
if (startAddress.length !== 8) {
return '';
}
} else {
return '';
}
for (i = 0; i < startAddress.length; i++) {
strLength = startAddress[i].toString().length;
str = startAddress[i].toString();
if (strLength > 4) {
return '';
}
for (m = 0; m < strLength; m++) {
asciiStr = str.charCodeAt(m);
if (!((asciiStr >= 48 && asciiStr <= 57) || (asciiStr >= 97 && asciiStr <= 102))) {
return '';
}
}
finalAddress += startAddress[i];
if (i !== 7) {
finalAddress += ':';
}
}
for (; i < 8 - endAddress.length; i++) {
finalAddress += '0000';
if (i !== 7) {
finalAddress += ':';
}
}
for (; i < 8; i++) {
finalAddress += endAddress[i - (8 - endAddress.length)];
if (i !== 7) {
finalAddress += ':';
}
}
finalAddressArray = finalAddress.split(':');
for (j = 0; j < 8; j++) {
var onePart = finalAddressArray[j];
if (onePart.length !== 4) {
switch (onePart.length) {
case 1:
finalAddressArray[j] = '000' + finalAddressArray[j];
break;
case 2:
finalAddressArray[j] = '00' + finalAddressArray[j];
break;
case 3:
finalAddressArray[j] = '0' + finalAddressArray[j];
break;
default:
break;
}
}
}
return finalAddressArray.join(':');
function parseIpv6Array(strParseAddress) {
return strParseAddress.split(':');
}
}
VALIDATION.isDigital = function isDigital(str) {
return !(str.match(/^[0-9]+$/) === null);
};
VALIDATION.isIPv6 = function isIPv6(strIP) {
var ipv6AddrParts = strIP.split(':');
if (ipv6AddrParts.length <= 1) {
return false;
}
var lastParts = ipv6AddrParts[ipv6AddrParts.length - 1];
if (lastParts.indexOf('/') !== -1) {
var ipv6LastPart = lastParts.split('/');
if (ipv6LastPart.length !== 2) {
return false;
}
if (ipv6LastPart[0] !== '') {
for (var j = 0; j < 2; j++) {
if (isNaN(ipv6LastPart[j]) === true) {
return false;
}
if (ipv6LastPart[j] === '') {
return false;
}
}
if (parseInt(ipv6LastPart[0], 16) > parseInt(ipv6LastPart[1], 16)) {
return false;
}
if (parseInt(ipv6LastPart[1], 10) > 128 || parseInt(ipv6LastPart[1], 10) < 0) {
return false;
}
strIP = '';
for (var i = 0; i < ipv6AddrParts.length - 1; i++) {
strIP += ipv6AddrParts[i] + ':';
}
strIP += '0001';
} else {
if (parseInt(ipv6LastPart[1], 10) > 128 || parseInt(ipv6LastPart[1], 10) < 0) {
return false;
}
if (ipv6LastPart[1] === '') {
return false;
}
if (isNaN(ipv6LastPart[1]) === true) {
return false;
}
strIP = '';
for (i = 0; i < ipv6AddrParts.length - 1; i++) {
strIP += ipv6AddrParts[i] + ':';
}
}
}
var strlen = strIP.length - 2;
if (strlen >= 0 && strIP.lastIndexOf('::') === strlen) {
strIP = strIP + '0000';
}
return strIP.match(/:/g).length <= 7 && (/::/.test(strIP) ? /^([\da-f]{1,4}(:|::)){1,6}[\da-f]{1,4}$/i.test(strIP) : /^([\da-f]{1,4}:){7}[\da-f]{1,4}$/i.test(strIP));
};
VALIDATION.obverseMask = function (ip, mask) {
var obverseMaskAndIp = '';
var obvMask = '';
var ipAddr = ip.split('.');
var subMask = mask.split('.');
for (var i = 0; i < 4; i++) {
obverseMaskAndIp += (255 - Number(subMask[i])) & Number(ipAddr[i]);
obverseMaskAndIp = obverseMaskAndIp + '.';
obvMask += 255 - (Number(subMask[i]));
obvMask = obvMask + '.';
}
obverseMaskAndIp = obverseMaskAndIp.substring(0, obverseMaskAndIp.length - 1);
obvMask = obvMask.substring(0, obvMask.length - 1);
if (obverseMaskAndIp === '0.0.0.0' || obverseMaskAndIp === obvMask) {
return false;
}
return true;
};
VALIDATION.isValidMask = function (mask) {
var i = 0;
var num = 0;
var zeroBitPos = 0;
var oneBitPos = 0;
var zeroBitExisted = false;
if (mask === '0.0.0.0') {
return false;
}
if (mask === '255.255.255.255' || mask === '255.255.255.254') {
return false;
}
var maskParts = mask.split('.');
if (maskParts.length !== 4) {
return false;
}
for (i = 0; i < 4; i++) {
if (isNaN(maskParts[i]) === true) {
return false;
}
if (maskParts[i] === '') {
return false;
}
if (maskParts[i].indexOf(' ') !== -1) {
return false;
}
if ((maskParts[i].indexOf('0') === 0) && (maskParts[i].length !== 1)) {
return false;
}
num = parseInt(maskParts[i], 10);
if (num < 0 || num > 255) {
return false;
}
if (zeroBitExisted === true && num !== 0) {
return false;
}
zeroBitPos = getLeftMostZeroBitPos(num);
oneBitPos = getRightMostOneBitPos(num);
if (zeroBitPos < oneBitPos) {
return false;
}
if (zeroBitPos < 8) {
zeroBitExisted = true;
}
}
function getLeftMostZeroBitPos(iputnum) {
var j = 0;
var numArr = [128, 64, 32, 16, 8, 4, 2, 1];
for (j = 0; j < numArr.length; j++) {
if ((iputnum & numArr[j]) === 0) {
return j;
}
}
return numArr.length;
}
function getRightMostOneBitPos(iputnum) {
var j = 0;
var numArr = [1, 2, 4, 8, 16, 32, 64, 128];
for (j = 0; j < numArr.length; j++) {
if (((iputnum & numArr[j]) >> j) === 1) {
return (numArr.length - j - 1);
}
}
return -1;
}
return true;
};
function IsDigital(str) {
return !(str.match(/^[0-9]+$/) === null);
}
function check_port(port) {
if (!IsDigital(port)) {
return false;
}
if (port < 1 || port > 65535) {
return false;
}
return true;
}
function is_ValidUrl(url) {
var result = url.match('^[https:\/]*([^\/]*)');
if (result[1]) {
var domain = result[1].match('^([A-Za-z0-9-_]+\.){1,}([A-Za-z]+)$');
try {
return domain[0];
} catch (e) {
}
;
}
return false;
}
function reSetLineHeightForTable(pageName, lineNum, maxLineHeight) {
var someLine = $('.' + pageName + '_item');
if (maxLineHeight > 96) {
someLine.eq(lineNum).children().removeClass('ip_filter_tb');
someLine.eq(lineNum).children().removeClass('ip_filter_tb_max');
someLine.eq(lineNum).children().addClass('special_app_tb_max');
someLine.eq(lineNum).css('height', '240px');
} else if (maxLineHeight > 50) {
someLine.eq(lineNum).children().removeClass('ip_filter_tb');
someLine.eq(lineNum).children().addClass('ip_filter_tb_max');
someLine.eq(lineNum).css('height', '96px');
} else {
}
}
function showTipInBridgeMode(disableAreaId) {
var BridgeModeSwitch = EMUI.ObjController.extend({
objName: 'security/bridgemode'
});
var voipPageArr = ['serverbasic', 'sipbasic', 'speeddial', 'voiceprofile', 'advancecodec', 'voiceadvanced'];
var tr069PageArr = ['tr069settings', 'tr069profile', 'tr111settings'];
var videoPageArr = ['video'];
var currentHash = window.location.hash.substring(1);
BridgeModeSwitch.load(null, false);
$('.bridgemode_tip_info').length !== 0 && $('.bridgemode_tip_info').remove();
if (BridgeModeSwitch.content && BridgeModeSwitch.content.response
&& BridgeModeSwitch.content.response.bridgemode === '1') {
GLOBAL.isBridgeModeOpen = true;
if ((($.inArray(currentHash, voipPageArr) > -1) && BridgeModeSwitch.content.response.voiceshareinternet === '0') ||
(($.inArray(currentHash, tr069PageArr) > -1) && BridgeModeSwitch.content.response.cwmpshareinternet === '0') ||
(($.inArray(currentHash, videoPageArr) > -1) && BridgeModeSwitch.content.response.iptvshareinternet === '0')) {
$('#' + disableAreaId).show();
return false;
}
var bridgeModeTip = '
';
$('#' + disableAreaId).hide();
$('#' + disableAreaId).secureAfter(bridgeModeTip, null);
EMUI.LanguageController.registerLanguageEx('bridgemode_common_tip', 'IDS_system_bridge_mode_warning', '%l', 'menu.bridgemode', '#bridgemode');
EMUI.LanguageController.transLangEx();
return true;
}
$('#' + disableAreaId).show();
GLOBAL.isBridgeModeOpen = false;
return false;
}
function showTipInClat(pageName) {
if (GLOBAL.modules.lan_ipmodeswitch_enabled === '1') {
EMUI.clatSwitchController.load(null, false);
var clatArr = ['lanipfilter', 'virtualserver', 'specialapplication', 'dmzsettings', 'sipalgsettings', 'upnp', 'pcp', 'bridgemode', 'vpnsettings', 'nat', 'remotehttpsaccess', 'ddns'];
var currentHash = window.location.hash.substring(1);
var clat_notice_lang_id = '';
var clatTip = '' + '
' + '
';
$('.bridgemode_tip_info').length !== 0 && $('.bridgemode_tip_info').remove();
if (GLOBAL.ipmode === '1') {
if ((($.inArray(currentHash, clatArr) > -1) && GLOBAL.ipmode !== '1')) {
$('#' + pageName).show();
return false;
}
if (currentHash === 'firewallswitch' && GLOBAL.config.menu_v2.advanceset.security.lanipfilter === 'lanipfilter') {
$('#' + pageName).show();
$('#' + pageName).secureBefore(clatTip, null);
clat_notice_lang_id = 'iptype_clat_on_related_firwallswitch_page_message';
} else if (currentHash === 'firewallswitch' && GLOBAL.config.menu_v2.advanceset.security.lanipfilter === undefined) {
$('#' + pageName).show();
} else {
$('#' + pageName).hide();
$('#' + pageName).secureAfter(clatTip, null);
clat_notice_lang_id = 'iptype_clat_on_related_page_message';
}
if (currentHash === 'acl') {
$('#' + pageName).show();
$('#' + pageName).secureBefore(clatTip, null);
clat_notice_lang_id = 'iptype_acl_clat_notice_message';
}
EMUI.LanguageController.registerLanguageEx('clat_common_tip', clat_notice_lang_id, '%l', 'menu.iptype', '#iptype');
EMUI.LanguageController.transLangEx();
return true;
}
if (GLOBAL.ipmode === '2') {
if (currentHash === 'vpnsettings' || currentHash === 'staticdns' || currentHash === 'acl') {
$('#' + pageName).show();
$('#' + pageName).secureBefore(clatTip, null);
EMUI.LanguageController.registerLanguageEx('clat_common_tip', 'iptype_double_stack_ipv4_notice_message', '%l', 'menu.iptype', '#iptype');
EMUI.LanguageController.transLangEx();
return true;
}
}
$('#' + pageName).show();
return false;
}
}
function isHexString(str) {
var constNum = {
CHARCODE_A: 65,
CHARCODE_F: 70,
CHARCODE_a: 97,
CHARCODE_f: 102,
CHARCODE_0: 48,
CHARCODE_9: 57
}
for (var i = 0; i < str.length; i++) {
var c = str.charCodeAt(i);
if (!((c >= constNum.CHARCODE_0 && c <= constNum.CHARCODE_9)
|| (c >= constNum.CHARCODE_A && c <= constNum.CHARCODE_F)
|| (c >= constNum.CHARCODE_a && c <= constNum.CHARCODE_f)
)) {
return false;
}
}
return true;
}
function addSelectItem(id, value) {
if ($('#' + id).length === 0) {
return;
}
var fatherid = id;
if ($('#' + fatherid + '_items').length !== 0) {
fatherid = fatherid + '_items';
}
var index = $('#' + fatherid).children().length + 1;
var itemid = id + '_item_' + index;
var templateData = {
itemid: itemid,
option: value.option,
langid: value.langid,
text: value.text
};
var itemhtml = '
{{text}}
';
$('#' + fatherid).secureAppend(itemhtml, templateData);
}
function clearSelectItme(id) {
$('#' + id).empty();
}
Date.prototype.Format = function (format) {
var o = {
'M+': this.getMonth() + 1,
'd+': this.getDate(),
'H+': this.getHours(),
'm+': this.getMinutes(),
's+': this.getSeconds()
};
var k;
if (/(y+)/.test(format)) {
format = format.replace(RegExp.$1, (this.getFullYear() + '').substr(4 - RegExp.$1.length));
}
for (k in o) {
if (new RegExp('(' + k + ')').test(format)) {
format = format.replace(RegExp.$1, RegExp.$1.length == 1 ? o[k] : ('00' + o[k]).substr(('' + o[k]).length));
}
}
return format;
}
function addSelectedBorder(obj) {
var curElement = $(obj);
var curClassArray = curElement.parent().attr('class').split(' ');
var curClass = '';
for (var i = 0; i < curClassArray.length; i++) {
if (curClassArray[i].indexOf('input') !== -1 && curClassArray[i].indexOf('_selected') === -1) {
curClass = curClassArray[i];
}
};
if (curClass) {
curElement.parent().removeClass(curClass).addClass(curClass + '_selected');
}
}
function hideSelectedBorder(obj) {
var curElement = $(obj);
var curClassArray = curElement.parent().attr('class').split(' ');
var curClass = '';
for (var i = 0; i < curClassArray.length; i++) {
if (curClassArray[i].indexOf('input') !== -1) {
curClass = curClassArray[i];
}
};
if (curClass) {
curElement.parent().removeClass(curClass).addClass(curClass.substr(0, curClass.indexOf('_selected')));
}
}
function checkServerAddress(url) {
var index = '';
let rgExp = /^((https|http):\/\/)[a-zA-Z0-9\.\-\[\]\:]+[\:\/]?/;
if (!rgExp.test(url)) {
return false;
}
url = url.replace(/((https|http):\/\/)/, '');
if (/\//.test(url)) {
index = url.indexOf('/');
var path = url.substring(index + 1);
url = url.substring(0, index);
for (var i = 0; i < path.length; i++) {
if (!(path.charCodeAt(i) >= 32 && path.charCodeAt(i) <= 126)) {
return false;
}
}
}
var sumColon = 0;
for (var i = 0; i < url.length; i++) {
if (/\:/.test(url[i])) {
sumColon++;
}
}
if (sumColon > 1) {
var ipv6 = url;
index = url.indexOf(']');
if (index !== -1) {
var port = url.substring(index + 2);
ipv6 = url.substring(1, index - 1);
if (!checkPort(port)) {
return false;
}
}
if (!checkIpv6(ipv6)) {
return false;
}
} else {
var ipv4Domain = url;
if (sumColon === 1) {
index = url.indexOf(':');
var port = url.substring(index + 1);
if (!checkPort(port)) {
return false;
}
ipv4Domain = url.substring(0, index);
}
if (/^[0-9]+[0-9\.]+[0-9]+$/.test(ipv4Domain)) {
if (!checkIpv4(ipv4Domain)) {
return false;
}
} else {
if (!checkDomainName(ipv4Domain)) {
return false;
}
}
}
function checkPort(port) {
if (!(0 < port && port <= 65535) || /^0\d+/.test(port)) {
return false;
}
return true;
}
function checkIpv6(ip) {
return VALIDATION.isIPv6(ip)
}
return true;
}
function checkIpv4(ip) {
if (/^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/.test(ip)) {
return VALIDATION.isValidStaticIpAddress(ip);
}
return false;
}
function solvePlaceholderSupport() {
if (!isSupportPlaceholder()) {
$('input[placeholder]').each(function () {
var pwdField = $(this);
var pwdVal = pwdField.attr('placeholder');
var pwdClass = pwdField.attr('class');
var pwLangid = pwdField.attr('lang-id');
var pwdId = pwdField.attr('id');
if (typeof pwdVal !== 'undefined') {
pwdField.after('
');
var pwdPlaceholder = $('#' + pwdId + '1');
pwdPlaceholder.addClass(pwdClass);
pwdPlaceholder.attr('value', pwdVal);
pwdPlaceholder.attr('lang-id', pwLangid);
if (pwdField.val() == '') {
pwdPlaceholder.show();
pwdField.hide();
} else {
pwdPlaceholder.hide();
pwdField.show();
}
pwdPlaceholder.focus(function () {
pwdPlaceholder.hide();
pwdField.show();
pwdField.focus();
});
pwdField.blur(function () {
if (pwdField.val() == '') {
pwdPlaceholder.show();
pwdField.hide();
}
});
}
});
}
}
function isSupportPlaceholder() {
var input = document.createElement('input');
return 'placeholder' in input;
}
function checkDomainName(urlDomain) {
if (/^[a-zA-Z0-9].*[a-zA-Z0-9]$/.test(urlDomain)) {
for (var i = 0; i < urlDomain.length; i++) {
if (!(/[a-zA-Z0-9\.\/\-]/.test(urlDomain[i]))) {
return false;
}
}
if ((urlDomain.indexOf('.') === -1 && urlDomain !== '') || (urlDomain.indexOf('..') !== -1)) {
return false;
}
return true;
}
return false;
}
var language_cultures = {};
language_cultures["zh_cn"] = {
numberFormat: '.',
timeFormat: 'yyyy/M/d H:mm:ss'
};
language_cultures["zh_hk"] = {
numberFormat: '.',
timeFormat: 'd/M/yyyy H:mm:ss'
};
language_cultures["zh_tw"] = {
numberFormat: '.',
timeFormat: 'yyyy/M/d HH:mm:ss'
};
function formatNumberAndTime(value, culture) {
culture = culture.replace(/-/, '_');
if (value instanceof Date) {
value = formatDate(value, culture);
} else if (typeof value === "number") {
value = formatNumber(value, culture);
}
return value;
}
function formatDate(value, culture) {
var ret = [],
format = language_cultures[culture].timeFormat;
var tokenRegExp = /\/|dd|d|MM|M|yyyy|hh|h|HH|H|mm|ss/g;
for (; ;) {
var index = tokenRegExp.lastIndex,
array = tokenRegExp.exec(format);
if (!array) {
break;
}
var preMatch = format.slice(index, array ? array.index : format.length);
ret.push(preMatch);
var current = array[0],
clength = current.length;
switch (current) {
case "d":
case "dd":
var days = value.getDate();
ret.push(
padZeros(days, clength)
);
break;
case "M":
case "MM":
var months = value.getMonth() + 1;
ret.push(
padZeros(months, clength)
);
break;
case "yyyy":
var years = value.getFullYear();
ret.push(
padZeros(years, clength)
);
break;
case "h":
case "hh":
var hours = value.getHours() % 12;
if (hours === 0)
hours = 12;
ret.push(
padZeros(hours, clength)
);
break;
case "H":
case "HH":
ret.push(
padZeros(value.getHours(), clength)
);
break;
case "mm":
ret.push(
padZeros(value.getMinutes(), clength)
);
break;
case "ss":
ret.push(
padZeros(value.getSeconds(), clength)
);
break;
case "/":
ret.push("/");
break;
default:
break;
}
}
return ret.join("");
}
function formatNumber(value, culture) {
var ret = "",
numberString = value + "",
format = language_cultures[culture].numberFormat;
if (format == '.') {
ret = numberString;
} else {
ret = numberString.replace('.', format);
}
return ret;
}
function padZeros(num, c) {
var zeros = ["0", "00", "000"];
var r, s = num + "";
if (c > 1 && s.length < c) {
r = (zeros[c - 2] + s);
return r.substr(r.length - c, c);
} else {
r = s;
}
return r;
}
function formatFloat(src, pos) {
return Math.round(src * Math.pow(10, pos)) / Math.pow(10, pos);
}
function createSubFolderTree(objId) {
if ($('#' + objId).hasClass('lastExpandable')) {
$('#' + objId).addClass('collapsable');
$('#' + objId).removeClass('expandable');
$('#' + objId).addClass('lastCollapsable');
$('#' + objId).removeClass('lastExpandable');
$('#' + objId).children('div').addClass('collapsable-hitarea');
$('#' + objId).children('div').removeClass('expandable-hitarea');
$('#' + objId).addClass('loaded_sublist');
} else {
$('#' + objId).addClass('collapsable');
$('#' + objId).removeClass('expandable');
$('#' + objId).children('div').addClass('collapsable-hitarea');
$('#' + objId).children('div').removeClass('expandable-hitarea');
$('#' + objId).addClass('loaded_sublist');
}
}
function showSubFolderTree(objId) {
if ($('#' + objId).hasClass('lastExpandable')) {
$('#' + objId).addClass('collapsable');
$('#' + objId).removeClass('expandable');
$('#' + objId).addClass('lastCollapsable');
$('#' + objId).removeClass('lastExpandable');
$('#' + objId).children('div').addClass('collapsable-hitarea');
$('#' + objId).children('div').removeClass('expandable-hitarea');
$('#' + objId).children('ul').css({
'display': 'block'
});
} else {
$('#' + objId).addClass('collapsable');
$('#' + objId).removeClass('expandable');
$('#' + objId).children('div').addClass('collapsable-hitarea');
$('#' + objId).children('div').removeClass('expandable-hitarea');
$('#' + objId).children('ul').css({
'display': 'block'
});
}
}
function hideSubFolderTree(objId) {
if ($('#' + objId).hasClass('lastCollapsable')) {
$('#' + objId).addClass('expandable');
$('#' + objId).removeClass('collapsable');
$('#' + objId).addClass('lastExpandable');
$('#' + objId).removeClass('lastCollapsable');
$('#' + objId).children('div').addClass('expandable-hitarea');
$('#' + objId).children('div').removeClass('collapsable-hitarea');
$('#' + objId).children('ul').css({
'display': 'none'
});
} else {
$('#' + objId).addClass('expandable');
$('#' + objId).removeClass('collapsable');
$('#' + objId).children('div').addClass('expandable-hitarea');
$('#' + objId).children('div').removeClass('collapsable-hitarea');
$('#' + objId).children('ul').css({
'display': 'none'
});
}
}
var singleComplexRule = {
rules: function (count) {
var self = this;
var setName = self.lang2rule();
var str = self[setName](count);
return str;
},
lang2rule: function () {
var self = this;
var x = '1';
return 'set' + x;
},
set1: function (count) {
return 'other';
},
set2: function (count) {
if (count === 1) {
return 'one';
} else {
return 'other';
}
},
set2_1: function (count) {
if (count === 0 || count === 1) {
return 'one';
} else {
return 'other';
}
},
set2_2: function (count) {
if (count % 10 === 1 && count !== 11) {
return 'one';
} else {
return 'other';
}
},
set3: function (count) {
if (Math.floor(count / 10) === 1) {
return 'other';
} else if (count % 10 === 1) {
return 'one';
} else if (count % 10 >= 2 || count % 10 <= 4) {
return 'few';
} else {
return 'other';
}
},
set3_1: function (count) {
if (count === 0) {
return 'zero';
} else if (count % 10 === 1 && count !== 11) {
return 'one';
} else {
return 'other';
}
},
set3_2: function (count) {
if (count === 1) {
return 'one';
} else if (count === 0 || count % 100 >= 1 || count % 100 <= 19) {
return 'few';
} else {
return 'other';
}
},
set3_3: function (count) {
if (count % 10 === 0 || Math.floor(count / 10) === 1) {
return 'other';
} else if (count % 10 === 1) {
return 'one';
} else {
return 'few';
}
},
set3_4: function (count) {
if (count === 1) {
return 'one';
} else if ((count % 10 >= 2 || count % 10 <= 4) && Math.floor(count / 10) !== 1) {
return 'few';
} else {
return 'many';
}
},
set3_5: function (count) {
if (count % 10 === 1 && count !== 11) {
return 'one';
} else if ((count % 10 >= 2 || count % 10 <= 4) && Math.floor(count / 10) !== 1) {
return 'other';
} else {
return 'many';
}
},
set3_6: function (count) {
if (count % 10 === 1 && Math.floor(count / 10) !== 1) {
return 'one';
} else if ((count % 10 >= 2 || count % 10 <= 4) && Math.floor(count / 10) !== 1) {
return 'few';
} else {
return 'many';
}
},
set4: function (count) {
if (count === 1) {
return 'one';
} else if (count >= 2 || count <= 4) {
return 'few';
} else {
return 'other';
}
},
set4_1: function (count) {
if (count === 1) {
return 'one';
} else if (count === 2) {
return 'two';
} else if (count % 10 === 0 && count !== 0 && count !== 10) {
return 'many';
} else {
return 'other';
}
},
set4_2: function (count) {
if (count === 1) {
return 'one';
} else if (count === 0 || count % 100 >= 2 || count % 100 <= 10) {
return 'few';
} else if (count % 100 >= 11 || count % 100 <= 19) {
return 'many';
} else {
return 'other';
}
},
set4_3: function (count) {
if (count % 100 === 1) {
return 'one';
} else if (count % 100 === 2) {
return 'two';
} else if (count % 100 === 3 || count % 100 === 4) {
return 'few';
} else {
return 'other';
}
},
set6: function (count) {
if (count === 0) {
return 'zero';
} else if (count === 1) {
return 'one';
} else if (count === 2) {
return 'two';
} else if (count % 100 >= 3 || count % 100 <= 10) {
return 'few';
} else if (count % 100 >= 11 || count % 100 <= 99) {
return 'many';
} else {
return 'other';
}
}
}