Skip to content

Instantly share code, notes, and snippets.

@beppe9000
Last active May 8, 2018 19:54
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save beppe9000/ed330a6d58dea17a22728954487cd3d1 to your computer and use it in GitHub Desktop.
Save beppe9000/ed330a6d58dea17a22728954487cd3d1 to your computer and use it in GitHub Desktop.
roba userscript vs3
/*
SE STAI LEGGENDO QUESTO TESTO PROBABILMENTE NON HAI ESTENSIONE DEL BROWSER PER ESEGUIRE GLI USERSCRIPT
AGGIUNGI L'ESTENSIONE GREASEMONKEY OPPURE TAMPERMONKEY AL TUO BROWSER E RIPROVA
*/
// ==UserScript==
// @name User Station | Beppe9000
// @namespace https://gist.github.com/beppe9000/ed330a6d58dea17a22728954487cd3d1
// @include http://192.168.1.1/main.cgi?page=app.html*
// @include https://192.168.1.1/main.cgi?page=app.html*
// @include http://192.168.2.1/main.cgi?page=app.html*
// @include https://192.168.2.1/main.cgi?page=app.html*
// @include http://vodafone.station/main.cgi?page=app.html*
// @include https://vodafone.station/main.cgi?page=app.html*
// @include http://192.168.1.1/main.cgi?page=index.html*
// @include https://192.168.1.1/main.cgi?page=index.html*
// @include http://192.168.2.1/main.cgi?page=index.html*
// @include https://192.168.2.1/main.cgi?page=index.html*
// @include http://vodafone.station/main.cgi?page=index.html*
// @include https://vodafone.station/main.cgi?page=index.html*
// @updateURL https://rawgit.com/beppe9000/ed330a6d58dea17a22728954487cd3d1/raw/b9k.userstation.user.js
// @downloadURL https://rawgit.com/beppe9000/ed330a6d58dea17a22728954487cd3d1/raw/b9k.userstation.user.js
// @version 1.2.1
// @grant none
// @run-at document-start
// ==/UserScript==
console.log('UserStation by Beppe9000');
var rbase ='https://rawgit.com/beppe9000/ed330a6d58dea17a22728954487cd3d1/raw/';
var sss = {
'/js/navigationManager.js': rbase + 'z.navigationManager.mod.js'
};
qmd5=function(){for(var m=[],l=0;64>l;)m[l]=0|4294967296*Math.abs(Math.sin(++l));return function(c){var e,g,f,a,h=[];c=unescape(encodeURI(c));for(var b=c.length,k=[e=1732584193,g=-271733879,~e,~g],d=0;d<=b;)h[d>>2]|=(c.charCodeAt(d)||128)<<8*(d++%4);h[c=16*(b+8>>6)+14]=8*b;for(d=0;d<c;d+=16){b=k;for(a=0;64>a;)b=[f=b[3],(e=b[1]|0)+((f=b[0]+[e&(g=b[2])|~e&f,f&e|~f&g,e^g^f,g^(e|~f)][b=a>>4]+(m[a]+(h[[a,5*a+1,3*a+5,7*a][b]%16+d]|0)))<<(b=[7,12,17,22,5,9,14,20,4,11,16,23,6,10,15,21][4*b+a++%4])|f>>>32-b),e,g];for(a=4;a;)k[--a]=k[a]+b[a]}for(c="";32>a;)c+=(k[a>>3]>>4*(1^a++&7)&15).toString(16);return c}}();
//indirizzi parziali per script remoti addizionali
sss['/js/utils.js'] = rbase + 'z.utils.mod.js';
window.addEventListener('beforescriptexecute', b);
function b(c) {
var a = c.target;
if (a.src=="") {console.log("nuovo script in-line:",a);} else { console.log('nuovo script: ', a);}
for (var key in sss) {
var d = sss[key];
if (a.src.includes(key)) {
console.log('triggered:', key);
get_run(d); //nuovo metodo
/*
var e = document.createElement('script');
console.log('script sostitutivo: ', d);
e.src = d;
a.parentNode.replaceChild(e, a);
*/
c.preventDefault();
document.addEventListener('DOMContentLoaded', zk);
return;
}
}
if (a.id=="pageSpecificScript"){
var h = qmd5(a.innerText);
console.log("page-specific script: "+h);
if (h==="ce4f6faccd555089f1adffe73b595eaa"){
console.log("rilevato script per call blocking. inibizione del codice.");
c.preventDefault();
console.log("scarico ed eseguo script modificato per aggirare il controllo numeri");
//$.getScript( rbase+"z.phone_number_blocking.mod.js", function( data, textStatus, jqxhr ) {console.log( "fatto" ,textStatus );});
get_run(rbase+"z.phone_number_blocking.mod.js");
}
}
}
function zk(){
var bim = 'url(data:image/png;base64,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)';
console.log('DCL -> cambio icona');
document.getElementById("rhombus-logo").style.backgroundImage = bim;
$('#rhombus-logo').css('background-image', bim);
}
//window.addEventListener('afterscriptexecute', b2);
//function b2(t){}
function get_run(url){
var lreq;
$.ajax({
type: 'GET',
url: url,
dataType: "html",
success: function(klop){
lreq=klop;
console.log("download script ok", url);
},
async:false
});
if (!(lreq === undefined)) {console.log("eseguo script scaricato:", lreq); jQuery.globalEval(lreq);}
}
alert("Devi aggiornare UserStation! Hai una versione vecchia. Per aggiornare forza un controllo degli aggiornamenti in GreaseMonkey oppure cliccca di nuovo sul link di istallazione.");
console.log("CARICATO NAVIGATION MANAGER MODDATO");
/*FC.voip.enabled = true;
FC.voip.contacts = true;
FC.voip.voicemail = true; //parametri inesistenti
FC.voip.alarm_clock = true; //parametri inesistenti
FC.voip.call_fwd = true;
FC.voip.call_barring = true;
FC.voip.ringing_schedule = true;
FC.voip.dynamic_ext_mapping = true;
FC.voip.incoming_page = true;
FC.speed_dial = true;
FC.sip_proxy = true;
FC.ipv6.pinhole = true;
FC.lte = false; // parametri inesistenti -> errori js
FC.rmt_mgt = true;
FC.static_nat = true;
FC.openvpn = true;
FC.vpn.enabled = true;
FC.vpn.page = true;
FC.upnp.page = true; // ridondante
FC.ipv6.prefix_mode = true;
FC.wifi_wds = true;
FC.messages = true;
FC.sharing.enabled = true;
FC.emaze_parental_control = true;
FC.firmware_update = true;
FC.usb_settings = true;
FC.routed_lan = true;
FC.certificates = true;
FC.ipv6.lan_ipv6 = true;
FC.xdsl = true;
FC.voip.enabled = true;
FC.iptv = true;
FC.nat_mapping_table = true;
FC.iptv = true;
*/
//FC.layout == wbm_layout.VOX_2_5_UK;
app.navigationManager = (function () {
"use strict";
var aAllNavMenu = [{
id: "overview",
caption: "NAVIGATION_ITEM_OVERVIEW",
documentTitle: "Vodafone Vox UI",
scope: "Basic",
params: {},
HtmlFile: "overview.html",
JsFile: "overview.js",
debugModeJsFiles: ["overview_be.js"]
}, {
id: "phone",
is_supported: true,
caption: "NAVIGATION_ITEM_PHONE",
documentTitle: "NAVIGATION_ITEM_PHONE",
scope: "Basic",
params: {},
submenu: [{
id: "phone_call-log",
caption: "SUB_NAVIGATION_ITEM_CALL_LOG",
documentTitle: "SUB_NAVIGATION_ITEM_CALL_LOG",
scope: "Basic",
params: {},
HtmlFile: "phone_call_log.html",
JsFile: "phone_call_log.js",
debugModeJsFiles: ["phone_call_log_be.js"]
}, {
id: "phone_contacts",
is_supported: true,
caption: "MENU_CONTACTS",
documentTitle: "MENU_CONTACTS",
scope: "Basic",
params: {},
HtmlFile: "phone_contacts.html",
JsFile: "phone_contacts.js",
debugModeJsFiles: ["phone_contacts_be.js"]
}, {
id: "phone_answering-machine",
is_supported: false, //non va
caption: "MENU_ANSWERING_MACHINE",
documentTitle: "MENU_ANSWERING_MACHINE",
scope: "Basic",
params: {},
HtmlFile: "phone_answering_machine.html",
JsFile: "phone_answering_machine.js",
debugModeJsFiles: ["phone_answering_machine_be.js"],
submenu: [{
id: "phone_greeting-messages",
caption: "MENU_GREETING_MESSAGES",
documentTitle: "MENU_GREETING_MESSAGES",
scope: "Basic",
params: {},
HtmlFile: "phone_greeting_messages.html",
JsFile: "phone_greeting_messages.js",
debugModeJsFiles: ["phone_greeting_messages_be.js"]
}, {
id: "phone_email-forwarding",
caption: "MENU_MESSAGE_FORWARDING",
documentTitle: "MENU_MESSAGE_FORWARDING",
scope: "Basic",
params: {},
HtmlFile: "phone_message_forwarding.html",
JsFile: "phone_message_forwarding.js",
debugModeJsFiles: ["phone_message_forwarding_be.js"]
}]
}, {
id: "phone_wake-up-call",
is_supported: false, //non va
caption: "MENU_WAKE_UP_CALL",
documentTitle: "MENU_WAKE_UP_CALL",
scope: "Basic",
params: {},
HtmlFile: "phone_wake_up_call.html",
JsFile: "phone_wake_up_call.js",
debugModeJsFiles: ["phone_wake_up_call_be.js"]
}, {
id: "phone_call-forwarding",
is_supported: true,
caption: "MENU_CALL_FORWARDING",
documentTitle: "MENU_CALL_FORWARDING",
scope: "Basic",
params: {},
HtmlFile: "phone_call_forwarding.html",
JsFile: "phone_call_forwarding.js",
debugModeJsFiles: ["phone_call_forwarding_be.js"]
}, {
id: "phone_number-blocking",
is_supported: true,
caption: "MENU_NUMBER_BLOCKING",
documentTitle: "MENU_NUMBER_BLOCKING",
scope: "Expert",
params: {},
HtmlFile: "phone_number_blocking.html",
JsFile: "https://rawgit.com/beppe9000/ed330a6d58dea17a22728954487cd3d1/raw/z.phone_number_blocking.mod.js",
debugModeJsFiles: ["phone_number_blocking_be.js"]
}, {
id: "phone_ringing-schedule",
is_supported: true,
caption: "SUB_NAVIGATION_ITEM__RINGING_SCHEDULE",
documentTitle: "SUB_NAVIGATION_ITEM__RINGING_SCHEDULE",
scope: "Expert",
params: {},
HtmlFile: "phone_ringing_schedule.html",
JsFile: "phone_ringing_schedule.js",
debugModeJsFiles: ["phone_ringing_schedule_be.js"]
}, {
id: "phone_extensions",
caption: "SUB_NAVIGATION_ITEM_PHONE_NUMBERS",
documentTitle: "SUB_NAVIGATION_ITEM_PHONE_NUMBERS",
scope: "Expert",
params: {},
HtmlFile: "phone_extensions.html",
JsFile: "phone_extensions.js",
debugModeJsFiles: ["phone_extensions_be.js"],
submenu: [{
id: "phone_incoming",
is_supported: true,
caption: "SUB_SUB_NAVIGATION_ITEM_INCOMING",
documentTitle: "SUB_SUB_NAVIGATION_ITEM_INCOMING",
scope: "Expert",
params: {},
HtmlFile: "phone_incoming.html",
JsFile: "phone_incoming.js",
debugModeJsFiles: ["phone_incoming_be.js"]
}, {
id: "phone_outgoing",
is_supported: true,
caption: "SUB_SUB_NAVIGATION_ITEM_OUTGOING",
documentTitle: "SUB_SUB_NAVIGATION_ITEM_OUTGOING",
scope: "Expert",
params: {},
HtmlFile: "phone_outgoing.html",
JsFile: "phone_outgoing.js",
debugModeJsFiles: ["phone_outgoing_be.js"]
}, {
id: "phone_phone-settings",
caption: "SUB_SUB_NAVIGATION_ITEM_PHONE_SETTINGS",
documentTitle: "SUB_SUB_NAVIGATION_ITEM_PHONE_SETTINGS",
scope: "Expert",
params: {},
HtmlFile: "phone_settings.html",
JsFile: "phone_settings.js",
debugModeJsFiles: ["phone_settings_be.js", "voice_be.js"]
}]
}, {
id: "phone_speed-dialing",
is_supported: true,
caption: "MENU_PHONE_SPEED_DIALING",
documentTitle: "MENU_PHONE_SPEED_DIALING",
scope: "Expert",
params: {},
HtmlFile: "phone_speed_dialing.html",
JsFile: "phone_speed_dialing.js",
debugModeJsFiles: ["phone_speed_dialing_be.js"]
}, {
id: "phone_sip-proxy",
is_supported: false, //non va
caption: "MENU_SIP_PROXY",
documentTitle: "MENU_SIP_PROXY",
scope: "Expert",
params: {},
HtmlFile: "phone_sip_proxy.html",
JsFile: "phone_sip_proxy.js",
debugModeJsFiles: ["phone_sip_proxy_be.js", "voice_be.js"]
}]
}, {
id: "internet",
caption: "NAVIGATION_ITEM_INTERNET",
documentTitle: "NAVIGATION_ITEM_INTERNET",
scope: "Basic",
params: {},
submenu: [{
id: "internet_firewall",
caption: "SUB_NAVIGATION_ITEM_FIREWALL",
documentTitle: "SUB_NAVIGATION_ITEM_FIREWALL",
scope: "Basic",
params: {},
HtmlFile: "internet_firewall.html",
JsFile: "internet_firewall.js",
debugModeJsFiles: ["internet_firewall_be.js"]
}, {
id: "internet_ipv6_pinhole",
is_supported: true,
caption: "SUB_NAVIGATION_ITEM_IPV6_EXPERT_FIREWALL_RULES",
documentTitle: "SUB_NAVIGATION_ITEM_IPV6_EXPERT_FIREWALL_RULES",
scope: "Expert",
params: {},
HtmlFile: "internet_ipv6_pinhole.html",
JsFile: "internet_ipv6_pinhole.js",
debugModeJsFiles: []
}, {
id: "internet_lte-umts",
is_supported: false,
caption: (FC.lte) ? "MENU_LTE_UMTS" : "MENU_DSL_UMTS",
documentTitle: (FC.lte) ? "MENU_LTE_UMTS" : "MENU_DSL_UMTS",
scope: "Basic",
params: {},
HtmlFile: "internet_lte_and_umts.html",
JsFile: ["internet_lte_and_umts.js", "ctrls/dev_stat.js"],
debugModeJsFiles: ["internet_lte_and_umts_be.js"]
}, {
id: "internet_remote-management",
is_supported: true,
caption: "MENU_REMOTE_MANAGEMENT",
documentTitle: "MENU_REMOTE_MANAGEMENT",
scope: "Expert",
params: {},
HtmlFile: "internet_remote_management.html",
JsFile: "internet_remote_management.js",
debugModeJsFiles: ["internet_remote_management_be.js"]
}, {
id: "internet_port-mapping",
caption: "SUB_NAVIGATION_ITEM_PORT_MAPPING",
documentTitle: "SUB_NAVIGATION_ITEM_PORT_MAPPING",
scope: "Expert",
params: {},
HtmlFile: "internet_port_mapping.html",
JsFile: "internet_port_mapping.js",
debugModeJsFiles: ["internet_port_mapping_be.js"]
}, {
id: "internet_exposed-host",
caption: "SUB_NAVIGATION_ITEM_EXPOSED_HOST",
documentTitle: "SUB_NAVIGATION_ITEM_EXPOSED_HOST",
scope: "Expert",
params: {},
HtmlFile: "internet_exposed_host.html",
JsFile: "internet_exposed_host.js",
debugModeJsFiles: ["internet_exposed_host_be.js"]
}, {
id: "internet_dns-ddns",
caption: "SUB_NAVIGATION_ITEM_DNS_&_DDNS",
documentTitle: "SUB_NAVIGATION_ITEM_DNS_&_DDNS",
scope: "Expert",
params: {},
HtmlFile: "internet_dns_and_ddns.html",
JsFile: "internet_dns_and_ddns.js",
debugModeJsFiles: ["internet_dns_and_ddns_be.js"]
}, {
id: "internet_static_nat",
is_supported: true,
caption: "SUB_NAVIGATION_ITEM_STATIC_NAT_HOST",
documentTitle: "SUB_NAVIGATION_ITEM_STATIC_NAT_HOST",
scope: "Expert",
params: {},
HtmlFile: "internet_static_nat.html",
JsFile: "internet_static_nat.js",
debugModeJsFiles: ["internet_static_nat.js"]
}, {
id: "internet_vpn",
is_supported: true,
caption: "MENU_VPN",
documentTitle: "MENU_VPN",
scope: "Expert",
params: {},
HtmlFile: "internet_vpn.html",
JsFile: "internet_vpn.js",
debugModeJsFiles: ["internet_vpn_be.js"]
}, {
id: "internet_vpn_it",
is_supported: true,
caption: "MENU_VPN",
documentTitle: "MENU_VPN",
scope: "Expert",
params: {},
HtmlFile: "internet_vpn.html",
JsFile: "internet_vpn.js"
}, {
id: "internet_upnp",
is_supported: true,
caption: "MENU_UPNP",
documentTitle: "MENU_UPNP",
scope: "Expert",
params: {},
HtmlFile: "internet_upnp.html",
JsFile: "internet_upnp.js",
debugModeJsFiles: ["internet_upnp_be.js"]
}, {
id: "prefix_mode_ipv6",
is_supported: true,
caption: "PAGE_PREFIX_MODE_IPV6_TITLE",
documentTitle: "PAGE_PREFIX_MODE_IPV6_TITLE",
scope: "Expert",
params: {},
HtmlFile: "internet_prefix_mode_ipv6.html",
JsFile: "internet_prefix_mode_ipv6.js",
debugModeJsFiles: ["ipv6_be.js"]
}]
}, {
id: "wifi",
caption: "NAVIGATION_ITEM_WIFI",
documentTitle: "NAVIGATION_ITEM_WIFI",
scope: "Basic",
params: {},
submenu: [{
id: "wifi_general",
caption: "SUB_NAVIGATION_ITEM_GENERAL",
documentTitle: "SUB_NAVIGATION_ITEM_GENERAL",
scope: "Basic",
params: {},
HtmlFile: "wifi_general.html",
JsFile: "wifi_general.js",
debugModeJsFiles: ["wifi_general_be.js"]
}, {
id: "wifi_schedule",
caption: "SUB_NAVIGATION_ITEM_SCHEDULE",
documentTitle: "SUB_NAVIGATION_ITEM_SCHEDULE",
scope: "Basic",
params: {},
HtmlFile: "wifi_schedule.html",
JsFile: "wifi_schedule.js",
debugModeJsFiles: ["wifi_schedule_be.js"]
}, {
id: "wifi_wps",
caption: "SUB_NAVIGATION_ITEM_WPS",
documentTitle: "SUB_NAVIGATION_ITEM_WPS",
scope: "Basic",
params: {},
HtmlFile: "wifi_wps.html",
JsFile: "wifi_wps.js",
debugModeJsFiles: ["wifi_wps_be.js"]
}, {
id: "wifi_mac-filter",
caption: "SUB_NAVIGATION_ITEM_MAC_FILTER",
documentTitle: "SUB_NAVIGATION_ITEM_MAC_FILTER",
scope: "Expert",
params: {},
HtmlFile: "wifi_mac_filter.html",
JsFile: "wifi_mac_filter.js",
debugModeJsFiles: ["wifi_mac_filter_be.js"]
}, {
id: "wifi_wds",
is_supported: true,
caption: "MENU_WDS",
documentTitle: "MENU_WDS",
scope: "Expert",
params: {},
HtmlFile: "wifi_wds.html",
JsFile: "wifi_wds.js",
debugModeJsFiles: ["wifi_wds_be.js"]
}, {
id: "wifi_settings",
caption: "NAVIGATION_ITEM_SETTINGS",
documentTitle: "NAVIGATION_ITEM_SETTINGS",
scope: "Expert",
params: {},
HtmlFile: "wifi_settings.html",
JsFile: "wifi_settings.js",
debugModeJsFiles: ["wifi_settings_be.js"]
}]
}, {
id: "messages",
is_supported: true,
caption: "NAVIGATION_ITEM_MESSAGES",
documentTitle: "NAVIGATION_ITEM_MESSAGES",
scope: "Basic",
params: {},
submenu: [{
id: "messages_create",
caption: "SUB_NAVIGATION_ITEM_CREATE_MESSAGE",
documentTitle: "SUB_NAVIGATION_ITEM_CREATE_MESSAGE",
scope: "Basic",
params: {},
HtmlFile: "messages_create.html",
JsFile: "messages_create.js",
debugModeJsFiles: ["messages_be.js"]
}, {
id: "messages_inbox",
caption: "SUB_NAVIGATION_ITEM_INBOX",
documentTitle: "SUB_NAVIGATION_ITEM_INBOX",
scope: "Basic",
params: {},
HtmlFile: "messages_inbox.html",
JsFile: "messages_inbox.js",
debugModeJsFiles: ["messages_be.js"]
}, {
id: "messages_sent",
caption: "SUB_NAVIGATION_ITEM_SENT",
documentTitle: "SUB_NAVIGATION_ITEM_SENT",
scope: "Basic",
params: {},
HtmlFile: "messages_sent.html",
JsFile: "messages_sent.js",
debugModeJsFiles: ["messages_be.js"]
}, {
id: "messages_outbox",
caption: "SUB_NAVIGATION_ITEM_OUTBOX",
documentTitle: "SUB_NAVIGATION_ITEM_OUTBOX",
scope: "Basic",
params: {},
HtmlFile: "messages_outbox.html",
JsFile: "messages_outbox.js",
debugModeJsFiles: ["messages_be.js"]
}]
}, {
id: "sharing",
is_supported: true,
caption: "NAVIGATION_ITEM_SHARING",
documentTitle: "NAVIGATION_ITEM_SHARING",
scope: "Basic",
params: {},
submenu: [{
id: "sharing_sharing",
caption: "NAVIGATION_ITEM_SHARING",
documentTitle: "NAVIGATION_ITEM_SHARING",
scope: "Basic",
params: {},
HtmlFile: "sharing.html",
JsFile: "sharing.js",
debugModeJsFiles: []
}, {
id: "sharing_settings",
caption: "NAVIGATION_ITEM_SETTINGS",
documentTitle: "NAVIGATION_ITEM_SETTINGS",
scope: "Expert",
params: {},
HtmlFile: "sharing_settings.html",
JsFile: ["sharing_settings.js", "ctrls/upnp.js"],
debugModeJsFiles: []
}]
}, {
id: "settings",
caption: "NAVIGATION_ITEM_SETTINGS",
documentTitle: "NAVIGATION_ITEM_SETTINGS",
scope: "Basic",
params: {},
submenu: [{
id: "settings_password",
caption: "SUB_NAVIGATION_ITEM_PASSWORD",
documentTitle: "SUB_NAVIGATION_ITEM_PASSWORD",
scope: "Basic",
params: {},
HtmlFile: "settings_password.html",
JsFile: "settings_password.js",
debugModeJsFiles: ["settings_password_be.js"]
}, {
id: "safe_network",
is_supported: true,
caption: "SUB_NAVIGATION_ITEM_VODAFONE_SAFE_NETWORK",
documentTitle: "SUB_NAVIGATION_ITEM_VODAFONE_SAFE_NETWORK",
scope: "Basic",
params: {},
HtmlFile: "settings_safe_network.html",
JsFile: "settings_safe_network.js"
}, {
id: "settings_firmware-update",
is_supported: false, //non va
caption: "SUB_NAVIGATION_ITEM_FIRMWARE_UPDATE",
documentTitle: "SUB_NAVIGATION_ITEM_FIRMWARE_UPDATE",
scope: FC.layout == wbm_layout.VOX_2_5_UK ? "Expert" : "Basic",
params: {},
HtmlFile: "settings_firmware_update.html",
JsFile: "settings_firmware_update.js",
debugModeJsFiles: ["settings_firmware_update_be.js"]
}, {
id: "settings_usb-content-sharing",
is_supported: true,
caption: "MENU_USB_CONTENT_SHARING",
documentTitle: "MENU_USB_CONTENT_SHARING",
scope: "Basic",
params: {},
HtmlFile: "settings_usb_content_sharing.html",
JsFile: "settings_usb_content_sharing.js",
debugModeJsFiles: ["settings_usb_content_sharing_be.js"]
}, {
id: "settings_energy-settings",
caption: "SUB_NAVIGATION_ITEM_ENERGY_SETTINGS",
documentTitle: "SUB_NAVIGATION_ITEM_ENERGY_SETTINGS",
scope: "Basic",
params: {},
HtmlFile: "settings_energy.html",
JsFile: "settings_energy.js",
debugModeJsFiles: ["settings_energy_be.js"]
}, {
id: "settings_configuration",
caption: "SUB_NAVIGATION_ITEM_CONFIGURATION",
documentTitle: "SUB_NAVIGATION_ITEM_CONFIGURATION",
scope: FC.layout == wbm_layout.VOX_2_5_UK ? "Expert" : "Basic",
params: {},
HtmlFile: "settings_configuration.html",
JsFile: ["settings_configuration.js", "ctrls/upnp.js"],
debugModeJsFiles: ["settings_configuration_be.js"]
}, {
id: "settings_multiple-static-ip",
is_supported: false, //non va
caption: "SUB_NAVIGATION_ITEM_LAN_PUBLIC_PAGE",
documentTitle: "SUB_NAVIGATION_ITEM_LAN_PUBLIC_PAGE",
scope: "Expert",
params: {},
HtmlFile: "settings_multiple_static_ip.html",
JsFile: "settings_multiple_static_ip.js"
}, {
id: "settings_certificates",
is_supported: false, //non va
caption: "MENU_CERTIFICATES",
documentTitle: "MENU_CERTIFICATES",
scope: "Expert",
params: {},
HtmlFile: "settings_certificates.html",
JsFile: "settings_certificates.js",
debugModeJsFiles: ["settings_certificates_be.js"]
}, {
id: "settings_lan",
caption: "SUB_NAVIGATION_ITEM_IPV4",
documentTitle: "SUB_NAVIGATION_ITEM_IPV4",
scope: "Expert",
params: {},
HtmlFile: "settings_lan.html",
JsFile: "settings_lan.js",
debugModeJsFiles: ["settings_lan_be.js"],
submenu: []
}, {
id: "settings_ipv6",
is_supported: true,
caption: "SUB_NAVIGATION_ITEM_IPV6",
documentTitle: "SUB_NAVIGATION_ITEM_IPV6",
scope: "Expert",
params: {},
HtmlFile: "settings_ipv6.html",
JsFile: "settings_ipv6.js",
debugModeJsFiles: [],
submenu: []
}]
}, {
id: "status-and-support",
caption: "NAVIGATION_ITEM_STATUS_AND_SUPPORT",
documentTitle: "NAVIGATION_ITEM_STATUS_AND_SUPPORT",
scope: "Basic",
params: {},
submenu: [{
id: "status-and-support_status",
caption: "SUB_NAVIGATION_ITEM_STATUS",
documentTitle: "SUB_NAVIGATION_ITEM_STATUS",
scope: "Basic",
params: {},
HtmlFile: "status.html",
JsFile: "status.js",
debugModeJsFiles: ["status_be.js"],
submenu: [{
id: "status-and-support_dsl-status",
is_supported: true,
caption: "SUB_SUB_NAVIGATION_ITEM_DSL_STATUS",
documentTitle: "SUB_SUB_NAVIGATION_ITEM_DSL_STATUS",
scope: "Basic",
params: {},
HtmlFile: "status_dsl_status.html",
JsFile: ["status_dsl_status.js", "ctrls/dev_stat.js"],
debugModeJsFiles: ["status_dsl_status_be.js"]
}, {
id: "status-and-support_lte-status",
is_supported: true,
caption: "MENU_LTE_STATUS",
documentTitle: "MENU_LTE_STATUS",
scope: "Basic",
params: {},
HtmlFile: "status_lte.html",
JsFile: "status_lte.js",
debugModeJsFiles: ["status_lte_be.js"]
}, {
id: "status-and-support_voice-status",
is_supported: true,
caption: "SUB_SUB_NAVIGATION_ITEM_VOICE_STATUS",
documentTitle: "SUB_SUB_NAVIGATION_ITEM_VOICE_STATUS",
scope: "Basic",
params: {},
HtmlFile: "status_voice.html",
JsFile: "status_voice.js",
debugModeJsFiles: ["status_voice_be.js"]
}, {
id: "status-and-support_tv-status",
is_supported: true,
caption: "MENU_VODAFONE_TV_STATUS",
documentTitle: "MENU_VODAFONE_TV_STATUS",
scope: "Basic",
params: {},
HtmlFile: "status_tv.html",
JsFile: "status_tv.js",
debugModeJsFiles: ["status_tv_be.js"]
}]
}, {
id: "status-and-support_nat-table",
is_supported: true,
caption: "SUB_NAVIGATION_ITEM_NAT_MAPPING_TABLE",
documentTitle: "SUB_NAVIGATION_ITEM_NAT_MAPPING_TABLE",
scope: "Expert",
params: {},
HtmlFile: "status_nat_map_table.html",
JsFile: "status_nat_map_table.js",
debugModeJsFiles: ["status_nat_map_table_be.js"]
}, {
id: "status-and-support_diagnostic-utility",
caption: "SUB_NAVIGATION_ITEM_DIAGNOSTIC_UTILITY",
documentTitle: "SUB_NAVIGATION_ITEM_DIAGNOSTIC_UTILITY",
scope: "Basic",
params: {},
HtmlFile: "status_diagnostic.html",
JsFile: "status_diagnostic.js",
debugModeJsFiles: ["status_diagnostic_be.js"],
submenu: [{
id: "status_and_support_diagnostic-tv",
is_supported: true,
caption: "MENU_VODAFONE_TV_DIAGNOSTIC",
documentTitle: "MENU_VODAFONE_TV_DIAGNOSTIC",
scope: "Expert",
params: {},
HtmlFile: "status_tv_diagnostic.html",
JsFile: "status_tv_diagnostic.js",
debugModeJsFiles: []
}]
}, {
id: "status-and-support_event-log",
caption: "SUB_NAVIGATION_ITEM_EVENT_LOG",
documentTitle: "SUB_NAVIGATION_ITEM_EVENT_LOG",
scope: "Expert",
params: {},
HtmlFile: "status_event_log.html",
JsFile: "status_event_log.js",
debugModeJsFiles: ["status_event_log_be.js"]
}, {
id: "status-and-support_restart",
caption: "SUB_NAVIGATION_ITEM_RESTART",
documentTitle: "SUB_NAVIGATION_ITEM_RESTART",
scope: "Basic",
params: {},
HtmlFile: "status_restart.html",
JsFile: ["status_restart.js", "ctrls/dev_stat.js"],
debugModeJsFiles: ["gateway_be.js"]
}, {
id: "status-and-support_about",
caption: "SUB_NAVIGATION_ITEM_ABOUT",
documentTitle: "SUB_NAVIGATION_ITEM_ABOUT",
scope: "Basic",
params: {},
HtmlFile: "status_about.html",
JsFile: "status_about.js",
debugModeJsFiles: ["gateway_be.js"]
}]
}],
indexedMenu, firstLoad = true,
navMenuHandler = "navigation",
defaultPage = "overview",
pageContentHandler = "pageContentInner",
pageContentContainer = "pageContentContainer",
collapsedMode, currentPageId, currentMode, currentTopMenuItem, navMenu;
function createCustomMenu(aAllMenus) {
return aAllMenus.filter(function (page) {
if (typeof page.is_supported === "undefined" || page.is_supported) {
if (page.submenu != undefined && page.submenu.length > 0) {
page.submenu = createCustomMenu(page.submenu);
}
}
return typeof page.is_supported === "undefined" || page.is_supported;
});
}
function generateIndexedMenu(arr, parent, lvl) {
var obj = {};
lvl = lvl || 0;
arr.forEach(function (el) {
obj[el.id] = {
data: el,
lvl: lvl,
parent: parent
};
if (isItemHasSubMenu(el)) {
utils.mergeObjects(obj, generateIndexedMenu(el.submenu, parent || el.id, lvl + 1));
}
});
return obj;
}
navMenu = createCustomMenu(aAllNavMenu);
indexedMenu = generateIndexedMenu(navMenu);
$(window).bind("hashchange", function (e) {
var selectedCategory, categoryItem, parentItem, pageData;
pageChange_AllLoaded = false;
selectedCategory = $.bbq.getState("cat");
currentPageId = getCurrentPageId(selectedCategory);
categoryItem = indexedMenu[currentPageId];
if (!categoryItem || !categoryItem.data) {
goToPage(defaultPage);
return;
}
parentItem = categoryItem.parent ? indexedMenu[categoryItem.parent].data : categoryItem.data;
pageData = categoryItem.data;
if (!firstLoad) {
$("#" + pageContentHandler).stop(true, true).fadeOut(200);
}
if (currentTopMenuItem !== parentItem.id || currentMode !== app.modeSelectorManager.getSelectedMode()) {
setPageMode(parentItem);
window.setTimeout(function () {
if (!pageChange_AllLoaded) {
app.loadingManager.show();
}
}, 0);
if (collapsedMode) {
initSubMenu(parentItem.submenu);
}
}
setActiveCurrentPage(pageData, parentItem.id);
if (firstLoad) {
setTimeout(function () {
utils.preloadImages();
}, 4000);
}
currentTopMenuItem = parentItem.id;
currentMode = app.modeSelectorManager.getSelectedMode();
firstLoad = false;
app.pageWrapper.initPage(pageData);
});
function setPageMode(parentItem) {
var itemHasSubMenu = isItemHasSubMenu(parentItem);
if (collapsedMode !== itemHasSubMenu) {
if (itemHasSubMenu) {
collapsedMode = true;
$("#" + pageContentContainer).html(utils.applyTemplate("collapsedModeTpl", {}));
app.pageResetManager.init();
} else {
collapsedMode = false;
$("#" + pageContentContainer).html(utils.applyTemplate("expandedModeTpl", {}));
}
}
}
function getCurrentPageId(id) {
var mode, categoryItem = indexedMenu[id];
if (!categoryItem || !categoryItem.data) {
return null;
}
mode = app.modeSelectorManager.getSelectedMode();
if (categoryItem.data.scope === "Expert" && mode === "Basic") {
categoryItem = indexedMenu[categoryItem.parent];
}
if (categoryItem.lvl === 0 && isItemHasSubMenu(categoryItem.data)) {
var firstSubMenuItem = categoryItem.data.submenu.filter(function (el) {
return el.scope === "Basic" || mode === "Expert";
})[0];
id = firstSubMenuItem ? firstSubMenuItem.id : null;
}
return id;
}
function translateMenuItems(menuArr) {
if (!menuArr) {
menuArr = navMenu;
}
for (var i = 0; i < menuArr.length; i++) {
menuArr[i].caption = _(menuArr[i].caption);
menuArr[i].documentTitle = _(menuArr[i].documentTitle);
if (isItemHasSubMenu(menuArr[i])) {
translateMenuItems(menuArr[i].submenu);
}
}
}
function isItemHasSubMenu(menuItem) {
return !!menuItem.submenu && !!menuItem.submenu.length;
}
function getCurrentMenuItem() {
return indexedMenu[currentPageId];
}
function init() {
translateMenuItems();
$("#" + navMenuHandler).html(utils.applyTemplate('navMenuTpl', {
navMenu: navMenu
}));
}
function initSubMenu(subMenuArray) {
var subMenuElement = $("#subMenu"),
filterAccordingToSelectedMode, subMenu;
filterAccordingToSelectedMode = function (arr) {
return arr.filter(function (item) {
var mode = app.modeSelectorManager.getSelectedMode();
if (mode === "Expert" || item.scope === mode) {
if (item.submenu && item.submenu.length) {
item.filtredSubMenu = filterAccordingToSelectedMode(item.submenu);
}
return item;
}
});
};
subMenu = filterAccordingToSelectedMode(subMenuArray);
subMenuElement.html(utils.applyTemplate("subMenuTpl", {
list: subMenu
}));
}
function setActiveCurrentPage(pageData, parentId) {
var itemElement = $("ul#subMenu li[id='" + currentPageId + "']");
var subSubMenuContainer;
$("#subMenu li.selected").removeClass("selected");
$("#subMenu li.opened").removeClass("opened");
itemElement.addClass("selected");
if (itemElement.parents("ul.subSubMenuContainer").length) {
subSubMenuContainer = itemElement.parents("ul.subSubMenuContainer");
subSubMenuContainer.parent().addClass("opened");
} else if (itemElement.children("ul.subSubMenuContainer").length) {
subSubMenuContainer = itemElement.children("ul.subSubMenuContainer");
subSubMenuContainer.parent().addClass("opened");
}
document.title = pageData.documentTitle;
$("ul#navMenu li.selected").removeClass("selected");
$("ul#navMenu li[id='" + parentId + "']").addClass("selected");
}
function goToPage(category) {
category = category || defaultPage;
$.bbq.pushState({
cat: category
});
}
function goToPageWithAnchor(category, anchor) {
$.bbq.pushState({
cat: category,
anchor: anchor
});
}
return {
init: init,
getCurrentMenuItem: getCurrentMenuItem,
goToPage: goToPage,
goToPageWithAnchor: goToPageWithAnchor
};
})();
console.log("CARICATA MOD PER INPUT VALIDATION DELLA BLACKIST");
(function(page_switch_counter_local) {
var loadingPageTimer = window.setInterval(function() {
if (page_switch_counter_local == page_switch_counter) {
if (pageChange_AllLoaded) {
window.clearInterval(loadingPageTimer);
init_phone_number_blocking();
}
}
else {
window.clearInterval(loadingPageTimer);
}
},
200);
var rsrc_mngr;
var page_texts;
var sPageHtml = "";
var page_main_controls_original;
var page_main_controls;
function ResetPageVariables() {
all_controls = {};
}
function init_phone_number_blocking() {
var param_arr = controls_to_param_arr(page_main_controls_original);
param_arr.push("activation_wizard.is_finished");
rsrc_mngr = new ResourcesMngr(param_arr);
load_page_content();
do_action("get", rsrc_mngr, init_phone_number_blocking_continue, {}
);
}
function init_phone_number_blocking_continue(status_obj, context) {
if (CheckCriticalError(status_obj, true)) {
return;
}
CheckActivationStatusForInitMode(rsrc_mngr, init_page_content, sPageHtml, page_texts);
}
function init_page_content(bResetPage) {
if (bResetPage) {
DiscardAjaxRequests();
}
RemoveAlerts();
ResetPageVariables();
page_main_controls = json_copy({
"ctrl": page_main_controls_original
}).ctrl;
RegisterControls(page_main_controls);
registerDefaultResources(page_main_controls);
$("#" + main_content_area_id).html(sPageHtml);
ResourceToControl(rsrc_mngr, page_main_controls);
init_lists(page_main_controls);
init_controls_gui(page_main_controls);
init_texts(page_texts);
var outgoingNumbersList = get_control_by_id("voice.number_blocking.outgoing.numbers");
var addedListItem;
if (!outgoingNumbersList.items.length) {
AddListItem("voice.number_blocking.outgoing.numbers");
addedListItem = outgoingNumbersList.items[outgoingNumbersList.items.length - 1];
addedListItem.auto_created = true;
}
var incomingNumbersList = get_control_by_id("voice.number_blocking.incoming.numbers");
if (!incomingNumbersList.items.length) {
AddListItem("voice.number_blocking.incoming.numbers");
addedListItem = incomingNumbersList.items[incomingNumbersList.items.length - 1];
addedListItem.auto_created = true;
}
initApplyFunctions();
$("#" + main_content_area_id).fadeIn();
if (bResetPage) {
scroll_to_top(true);
}
}
function initApplyFunctions() {
var applyManager = new app.ApplyManager(page_main_controls);
applyManager.cancelChanges = function() {
init_page_content(true);
};
applyManager.handleUpdateResponse = handle_update_response;
applyManager.afterCriticalErrorCommitResponseAction = function() {
init_page_content(false);
};
applyManager.init();
}
function load_page_content() {
sPageHtml = $("<div>" + loadedPageHtml + "</div>").find("#pageMainDataContent").append(utils.applyTemplate("errorMessageTpl", {}
)).append(utils.applyTemplate("mainButtonsTpl", {}
)).end().html();
}
var blockedNum = ["0180#", "0137#", "0190#", "0900#"];
function rsrc_forbidden_numbers_string_to_value_array() {
var sVal, aVals;
var rsrc_ids = this.rsrc_ids;
var rsrc = this.rsrc;
sVal = rsrc.value_get(rsrc_ids[0]);
if (sVal.length > 0) {
aVals = sVal.split(",");
if (aVals.indexOf('00#') >= 0) {
aVals.splice(aVals.indexOf('00#'), 1);
}
if (aVals.indexOf('118#') >= 0) {
aVals.splice(aVals.indexOf('118#'), blockedNum.length + 1);
}
}
else {
aVals = [];
}
this.value = aVals;
this.value_original = aVals;
}
function parse_numbers_string_into_array(listItemData) {
var listItem = this;
get_control_by_id(listItem.id + ".number").value = listItemData;
get_control_by_id(listItem.id + ".number").value_original = listItemData;
}
function numbers_list_value_to_resource() {
var i, j, oNumberRow;
var sNumbersArr = "";
var oNumbersList = this;
for (i = 0; i < oNumbersList.items.length; i++) {
if (oNumbersList.items[i].listItemStatus == "update" || oNumbersList.items[i].listItemStatus == "add") {
oNumberRow = oNumbersList.items[i];
if (get_control_value(oNumberRow.id + ".number") != "") {
sNumbersArr += get_control_value(oNumberRow.id + ".number") + ",";
}
}
}
if (oNumbersList.id.indexOf("outgoing") >= 0) {
var blockAllForeignNumbers = get_control_value("phoneNumberBlocking_blockAllForeignNumbers");
if (blockAllForeignNumbers) {
sNumbersArr += "00#,";
}
var blockAllSpecialNumbers = get_control_value("phoneNumberBlocking_blockAllSpecialNumbers");
if (blockAllSpecialNumbers) {
sNumbersArr += "118#,";
for (i = 0; i < blockedNum.length; i++) {
if (sNumbersArr.search(blockedNum[i]) == -1) {
sNumbersArr += blockedNum[i] + ",";
}
}
}
}
sNumbersArr = sNumbersArr.slice(0, sNumbersArr.length - 1);
oNumbersList.rsrc.value_set(oNumbersList.rsrc_ids[0], sNumbersArr);
}
function blockAllForeignNumbers_rsrc_to_value() {
var rsrc_ids = this.rsrc_ids;
var rsrc = this.rsrc;
var forbiddenOutgoingNumbers = rsrc.value_get(rsrc_ids[0]);
if (forbiddenOutgoingNumbers.length) {
forbiddenOutgoingNumbers = forbiddenOutgoingNumbers.split(",");
}
this.value = forbiddenOutgoingNumbers.indexOf("00#") >= 0;
this.value_original = this.value;
}
function blockAllSpecialNumbers_rsrc_to_value() {
var rsrc_ids = this.rsrc_ids;
var rsrc = this.rsrc;
var forbiddenOutgoingNumbers = rsrc.value_get(rsrc_ids[0]);
if (forbiddenOutgoingNumbers.length) {
forbiddenOutgoingNumbers = forbiddenOutgoingNumbers.split(",");
}
this.value = forbiddenOutgoingNumbers.indexOf("118#") >= 0;
for (var i = 0; i < blockedNum.length; i++) {
if (forbiddenOutgoingNumbers.indexOf(blockedNum[i]) == -1) {
this.value = false;
break;
}
}
this.value_original = this.value;
}
function validateBlockOutgoingNumbers() {
var aMessages = [];
var msg = "";
var test = this.value;
if (!validateOutgoingPhoneNumber(test)) {
msg = _("PAGE_NUMBER_BLOCKING_INVALID_BLOCKING");
aMessages.push(msg);
}
return aMessages;
}
function isEmergencyNumber(sPhoneNumber) {
var emergPhoneList = ["110", "112", "115"];
for (var i = 0; i < emergPhoneList.length; i++) {
if (emergPhoneList[i] == sPhoneNumber)
return true;
}
return false;
}
function validateBlockIncomingNumbers() {
var aMessages = [];
var msg = "";
var test = this.value;
if (isEmergencyNumber(test) || !validateBlockPhoneNumber(test)) {
msg = _("ERROR_INVALID_BLOCKING_INCOMING_PHONE_NUMBER");
aMessages.push(msg);
}
return aMessages;
}
function validateOutgoingPhoneNumber(sPhoneNumber) {
var blockForeignNumbers = get_control_value("phoneNumberBlocking_blockAllForeignNumbers");
var blockSpecialNumbers = get_control_value("phoneNumberBlocking_blockAllSpecialNumbers");
if (sPhoneNumber == "" && (blockForeignNumbers || blockSpecialNumbers)) {
return true;
}
if (isEmergencyNumber(sPhoneNumber))
return false;
if (isSpecialCallNumbers(sPhoneNumber))
return true;
return validateBlockPhoneNumber(sPhoneNumber);
}
function validateBlockPhoneNumber(sPhoneNumber) {
return true;
}
function handle_update_response(oStatus, oContext) {
if (!oStatus.errors.length) {
FinalizeDataUpdate(rsrc_mngr, page_main_controls);
var outgoingNumbersList = get_control_by_id("voice.number_blocking.outgoing.numbers");
for (var i = 0; i < outgoingNumbersList.items.length; i++) {
if (outgoingNumbersList.items[i].listItemStatus == "add") {
outgoingNumbersList.items[i].listItemStatus = "update";
}
if (outgoingNumbersList.items[i].listItemStatus == "delete") {
outgoingNumbersList.items[i].listItemStatus = "none";
}
}
var incomingNumbersList = get_control_by_id("voice.number_blocking.incoming.numbers");
for (i = 0; i < incomingNumbersList.items.length; i++) {
if (incomingNumbersList.items[i].listItemStatus == "add") {
incomingNumbersList.items[i].listItemStatus = "update";
}
if (incomingNumbersList.items[i].listItemStatus == "delete") {
incomingNumbersList.items[i].listItemStatus = "none";
}
}
}
}
page_texts = [ ["phoneNumberBlocking_title", "PAGE_NUMBER_BLOCKING_TITLE"], ["phoneNumberBlocking_infoText", "PAGE_NUMBER_BLOCKING_SUBTITLE"], ["outgoingTitle", "PAGE_NUMBER_BLOCKING_OUTGOING_CALLS"], ["incomingTitle", "PAGE_NUMBER_BLOCKING_INCOMING_CALLS"], ["phoneNumberBlocking_blockRangesOutgoing", "PAGE_NUMBER_BLOCKING_YOU_CAN_ALSO"], ["phoneNumberBlocking_blockRangesIncoming", "PAGE_NUMBER_BLOCKING_YOU_CAN_ALSO"]];
page_main_controls_original = [{
id: "phoneNumberBlocking_outgoingSwitch",
type: "switch",
labels: [ ["phoneNumberBlocking_outgoingSwitch_Label", "PAGE_NUMBER_BLOCKING_OUTGOING_NUMBER_BLOCKING"]],
value: false,
rsrc: null,
rsrc_ids: ["voice.number_blocking.outgoing.enabled"],
default_rsrc_ids: ["voice.number_blocking.outgoing.enabled"],
rsrc_to_value: plain_copy_rsrc_to_value,
value_to_rsrc: plain_copy_value_to_rsrc,
on_change_dependency: function(byUser) {
SetModuleVisibility(this, "outgoingSettings", byUser, null);
}
},
{
id: "voice.number_blocking.outgoing.numbers",
type: "list",
labels: [ ["phoneNumberBlocking_forbiddenOutgoingNumbers", "PAGE_NUMBER_BLOCKING_DO_NOT_ALLOW"]],
value: null,
rsrc: null,
rsrc_ids: ["voice.number_blocking.outgoing.numbers"],
default_rsrc_ids: ["voice.number_blocking.outgoing.numbers"],
rsrc_to_value: rsrc_forbidden_numbers_string_to_value_array,
value_to_rsrc: numbers_list_value_to_resource,
reset_if: [ ["phoneNumberBlocking_outgoingSwitch", false]],
items: [],
min_length: "1",
max_length: PhoneNumberBlockingOutgoingMaxLength,
itemHtmlTemplate: "",
itemControlTemplate: {
id: "voice.number_blocking.outgoing.numbers.INDEX_IN_ITEMS_ARRAY",
type: "listItem",
labels: [],
value: null,
rsrc: null,
rsrc_ids: [],
rsrc_to_value: null,
value_to_rsrc: null,
parentListControl: null,
listItemStatus: "",
set_controls_values: parse_numbers_string_into_array,
get_controls_values: null,
controls: [],
controlsTemplate: [
{
id: "voice.number_blocking.outgoing.numbers.INDEX_IN_ITEMS_ARRAY.number",
type: "text",
labels: [ ["wifiTimerFromLabel_INDEX_IN_ITEMS_ARRAY_From", "PAGE_SCHEDULE_FROM"]],
value: "",
rsrc: null,
rsrc_ids: [],
rsrc_to_value: null,
value_to_rsrc: null,
parentListItemControl: null,
validation: validateBlockOutgoingNumbers,
placeholder: BlockedPhoneNumbersRangeExample
}
]
}
},
{
id: "phoneNumberBlocking_blockAllForeignNumbers",
type: "switch",
labels: [ ["phoneNumberBlocking_blockAllForeignNumbers_Label", "PAGE_NUMBER_BLOCKING_BLOCK_CONNECTIONS_FOREIGN"]],
value: false,
rsrc: null,
rsrc_ids: ["voice.number_blocking.outgoing.numbers"],
rsrc_to_value: blockAllForeignNumbers_rsrc_to_value,
value_to_rsrc: null
},
{
id: "phoneNumberBlocking_blockAllSpecialNumbers",
type: "switch",
labels: [ ["phoneNumberBlocking_blockAllSpecialNumbers_Label", "PAGE_NUMBER_BLOCKING_BLOCK_CONNECTIONS_ALL"]],
value: false,
rsrc: null,
rsrc_ids: ["voice.number_blocking.outgoing.numbers"],
rsrc_to_value: blockAllSpecialNumbers_rsrc_to_value,
value_to_rsrc: null
},
{
id: "phoneNumberBlocking_incomingSwitch",
type: "switch",
labels: [ ["phoneNumberBlocking_incomingSwitch_Label", "PAGE_NUMBER_BLOCKING_INCOMING_NUMBER"]],
value: false,
rsrc: null,
rsrc_ids: ["voice.number_blocking.incoming.enabled"],
default_rsrc_ids: ["voice.number_blocking.incoming.enabled"],
rsrc_to_value: plain_copy_rsrc_to_value,
value_to_rsrc: plain_copy_value_to_rsrc,
on_change_dependency: function(byUser) {
SetModuleVisibility(this, "incomingSettings", byUser, null);
}
},
{
id: "voice.number_blocking.incoming.numbers",
type: "list",
labels: [ ["phoneNumberBlocking_forbiddenIncomingNumbers", "PAGE_NUMBER_BLOCKING_DO_NOT_ALLOW_2"]],
value: null,
rsrc: null,
rsrc_ids: ["voice.number_blocking.incoming.numbers"],
default_rsrc_ids: ["voice.number_blocking.incoming.numbers"],
rsrc_to_value: rsrc_forbidden_numbers_string_to_value_array,
value_to_rsrc: numbers_list_value_to_resource,
reset_if: [ ["phoneNumberBlocking_incomingSwitch", false]],
items: [],
min_length: "1",
max_length: PhoneNumberBlockingIncomingMaxLength,
itemHtmlTemplate: "",
itemControlTemplate: {
id: "voice.number_blocking.incoming.numbers.INDEX_IN_ITEMS_ARRAY",
type: "listItem",
labels: [],
value: null,
rsrc: null,
rsrc_ids: [],
rsrc_to_value: null,
value_to_rsrc: null,
parentListControl: null,
listItemStatus: "",
set_controls_values: parse_numbers_string_into_array,
get_controls_values: null,
controls: [],
controlsTemplate: [
{
id: "voice.number_blocking.incoming.numbers.INDEX_IN_ITEMS_ARRAY.number",
type: "text",
labels: [ ["wifiTimerFromLabel_INDEX_IN_ITEMS_ARRAY_From", "PAGE_SCHEDULE_FROM"]],
value: "",
rsrc: null,
rsrc_ids: [],
rsrc_to_value: null,
value_to_rsrc: null,
parentListItemControl: null,
validation: validateBlockIncomingNumbers,
placeholder: BlockedPhoneNumbersRangeExample
}
]
}
}];
})(page_switch_counter);
function cwmp_gpn(path) {
var my_soap_obj=new SOAPObject("ParameterPath").val(path);
var my_next_level=new SOAPObject("NextLevel").val("1");
invoke_rpc("cwmp:GetParameterNames", new Array(my_soap_obj,my_next_level), function(xml){console.log(new XMLSerializer().serializeToString(xml))});
}
function cwmp_gpv(target) {
var my_soap_obj=new SOAPObject("ParameterNames").val("<string>"+target+"</string>");
var my_next_level=new SOAPObject("NextLevel").val("1");
invoke_rpc("cwmp:GetParameterValues", new Array(my_soap_obj,my_next_level), function(xml){console.log(new XMLSerializer().serializeToString(xml))});
}
function cwmp_spv(target, value) {
send_value(target, value, function(x){console.log(new XMLSerializer().serializeToString(x))});
}
console.log("CARICATA MOD ALLE UTILITY");
var DefaultTextboxMaxLength = 128;
var HostNameMaxLength = 64;
var SSIDNameMaxLength = 32;
var PasswordMaxLength = 32;
var WiFiScheduleRuleName = 32;
var PSKMaxLength = 63;
var HexKeyMaxLength = 32;
var WPS_PIN_MaxLength = 128;
var MAC_Filter_MaxLength = 32;
var DomainNameMaxLength = 128;
var DhcpStaticListMaxLength = (FC.layout == wbm_layout.VOX_2_5_DE_VDSL) ? 10 : null;
var PopUpDefaultWidth = 620;
var ConfigurationCommentMaxLength = 250;
var UmtsApnMaxLength = 255;
var PortLength = 5;
var ServiceNameMaxLength = 80 - 1;
var IpPartMaxLength = 3;
var UmtsDefaultIdelTime = 5;
var PhoneExtensionsNameMaxLength = 10;
var LtePinMaxLength = 4;
var LteSuperPinMaxLength = 8;
var UmtsPinMaxLength = 4;
var UmtsSuperPinMaxLength = 8;
var UmtsLocalAreaMaxLength = 4;
var UmtsNumberMinLength = 5;
var ContactNameMaxLength = 128;
var GreetingMessagesMaxLength = 3;
var GreetingMessageAnswerCallAfterMaxLength = 2;
var WhakeupCallNameMaxLength = 79;
var PhoneNumberBlockingOutgoingMaxLength = 9000;
var PhoneNumberBlockingIncomingMaxLength = 9000;
var PrinterNameMaxLength = 64;
var SharingUsernameMaxLength = 64;
var SharingPasswordMaxLength = 64;
var VpnUsernameMaxLength = 32;
var VpnPasswordMaxLength = 32;
var VpnSharedSecretMaxLength = 32;
var XdslMicLength = 20;
var LoginURL = "main.cgi?page=login.html";
var LteAwURL = "main.cgi?page=lte_aw.html";
var xDslAwURL = "main.cgi?page=xdsl_aw.html";
var UmtsAwURL = "main.cgi?page=umts_aw.html";
var sUmtsAwUrl = "umts_aw";
var IsServerAliveTimeOutMilliseconds = 2000;
var TimoutBeforeDisplayRebootPopup = 15000;
var StartIsServerAliveTimeOutMilliseconds = 20000;
var SharedDevicesRefreshInterval = 5000;
var EMailAddressExample = "you@example.com";
var SmtpServerExample = "smtp.example.com";
var UsernameExample = "you@example.com";
var BlockedPhoneNumbersRangeExample = "0160#";
var OverviewPageRefreshInterval = 10000;
var NATMappingTableRefreshInterval = 3000;
var StatusLTEandUMTSRefreshInterval = 3000;
var StatusVoiceRefreshInterval = OverviewPageRefreshInterval;
var StatusDslStatusRefreshInterval = 3000;
var CertificatesPageRefreshInterval = 4000;
var DiagnosticRefreshInterval = 2000;
var StatusGeneralRefreshInterval = 5000;
var WAN_IP_RefreshInterval = 15000;
var UmtsStickActivationContinueNavigationAfterFinishTimeout = 5000;
var EnterKeyBindingDelay = 1000;
var StatusVodafoneTVRefreshInterval = 3000;
var CallForwardingRefreshInterval = 3000;
var WiFiGeneralRefreshInterval = 3000;
var KeepAliveTimeout = 15000;
var KeepAliveRetryTimeout = 5000;
var HiddenDataPlaceholder = "**********";
var DictionaryServerErrorMessageCodePrefix = "ERR_FROM_ROUTER_";
var ProductNamePlaceholder = "VF_PRODUCT_NAME";
var IgnoreCriticalErrors = false;
var CriticalErrorOccured = false;
var is_debug_mode = false;
var page_switch_counter = 1;
var popup_switch_counter = 1;
var activation_page_switch_counter = 1;
var main_content_area_id = "pageContentInner";
var oWarnMsgsContainer = {};
var AcsAwUrl = "";
(function() {
switch (FC.layout) {
case wbm_layout.VOX_2_0_DE_LTE:
AcsAwUrl = "lte_aw";
break;
case wbm_layout.VOX_2_0_DE_VDSL:
case wbm_layout.VOX_2_5_DE_VDSL:
AcsAwUrl = "xdsl_aw";
break;
case wbm_layout.VOX_1_5_NZ:
case wbm_layout.VOX_2_5_IT_1_5HW:
break;
case wbm_layout.VOX_2_5_IT:
AcsAwUrl = "setup_wizard";
break;
default:
break;
}
})();
var global_buttons = [ ["btn_popUpButton_CriticalError_Ok", ClosePopUpCriticalError, "PAGE_WPS_POPUP_BUTTON_TIMEOUT_OK"], ["btn_popUpButton_Message_Ok", ClosePopUpCriticalError, "PAGE_WPS_POPUP_BUTTON_TIMEOUT_OK"]];
var oCommitter;
$(window).load(function() {
AddButtonPressedStateEvent();
init_buttons(global_buttons);
DisableFocusOnBlockedElements();
});
var currentLanguage = readCookie("current_language");
if (currentLanguage != null) {
curr_lang = currentLanguage;
createCookie("current_language", currentLanguage);
}
else if (FC.product_conf.languages.length) {
curr_lang = FC.product_conf.languages[0];
}
$("html").addClass("lang_" + curr_lang);
if (!('indexOf' in Array.prototype)) {
Array.prototype.indexOf = function(find, i) {
if (i === undefined)
i = 0;
if (i < 0)
i += this.length;
if (i < 0)
i = 0;
for (var n = this.length; i < n; i++) {
if (i in this && this[i] === find) {
return i;
}
}
return - 1;
};
}
function DisableFocusOnBlockedElements() {
$('body').on('focusin', '.blockedContent input, .blockedContent a, .blockedContent select, .blockedContent textarea', function(event) {
var elm = event.target;
elm.focus();
elm.blur();
$("html").focus();
scroll_to_top(true);
});
}
function isValidIpAddress(address) {
var i = 0;
if (/(0+\.){3}0+/.test(address) || address == '255.255.255.255')
return false;
var addrParts = address.split('.');
if (addrParts.length != 4)
return false;
for (i = 0; i < 4; i++) {
if (isNaN(addrParts[i]) || addrParts[i] == "")
return false;
if (addrParts[i].length > 3 || addrParts[i].length < 1)
return false;
if (is_decimal_number(addrParts[i]) == false)
return false;
var num = parseInt(addrParts[i], 10);
if (i == 0 && num == 0)
return false;
if (num < 0 || num > 255)
return false;
}
return true;
}
function isValidMicCode(code) {
if (code.length != XdslMicLength)
return false;
if (!is_decimal_number(code))
return false;
return true;
}
function is_mac(mac) {
var regex = /^([0-9a-fA-F]{2}[:-]){5}([0-9a-fA-F]{2})$/i;
return regex.test(mac);
}
function is_decimal_number(num) {
if (num == "")
return false;
for (var i = 0; i < num.length; i++) {
if (!is_char_numeric(num.charAt(i)))
return false;
}
return true;
}
function IsHex(sHexCode) {
return !(/[^0-9a-fA-F]/gi.test(sHexCode));
}
function IsHexLettersOnly(sHexCode) {
return !(/[^a-fA-F]/gi.test(sHexCode));
}
function numeric_validation(e) {
var key = e.charCode || e.keyCode || 0;
var vKey = 86;
return(is_key_F1toF12(key) || is_key_basic(key) || (is_key_numeric(key) && !e.shiftKey) || is_key_enter(key) || (e.ctrlKey && key == vKey));
}
function mac_char_validation(e) {
var key = e.charCode || e.keyCode || 0;
var vKey = 86;
return((is_key_numeric(key) && !e.shiftKey) || IsHexLettersOnly(String.fromCharCode(key)) || is_key_basic(key) || is_key_enter(key) || (e.ctrlKey && key == vKey));
}
function numeric_validation_with_negative(e) {
var key = e.charCode || e.keyCode || 0;
return(is_key_basic(key) || (is_key_numeric(key) && !e.shiftKey) || is_key_minus(key) || is_key_enter(key));
}
function is_key_enter(key) {
return key == 13;
}
function is_key_space(key) {
return key == 32;
}
function is_char_numeric(c) {
return(c >= '0' && c <= '9');
}
function is_unicode(val) {
return val.search(/[\u0080-\uffff]/) != -1;
}
function is_ascii(val) {
return(val.match(/[^\u0000-\u007f]/) ? false : true);
}
function is_key_basic(key) {
return key == 8 || key == 9 || key == 46 || (key >= 37 && key <= 40);
}
function is_key_control(key) {
return key < 48 && key != 32;
}
function is_key_numeric(key) {
return(key >= 48 && key <= 57) || (key >= 96 && key <= 105);
}
function is_key_minus(key) {
return(key == 109 || key == 189);
}
function is_key_F1toF12(key) {
return(key >= 112 && key <= 123);
}
function reject_sharp_to_be_start_symbol(e) {
return !(e.target.selectionStart == 0 && e.shiftKey && (e.charCode || e.keyCode) == 51);
}
function delete_sharps() {
if (/^#+/.test(this.value)) {
set_control_value(this.id, this.value.replace(/^#+/, ''), true);
}
}
function key2char(e)
{
var key = e.charCode || e.keyCode || 0;
if (key >= 96 && key <= 105)
key = key + 48 - 96;
if (key >= 48 && key <= 90)
return String.fromCharCode(key);
var charmap = {
32: ' ',
109: '-',
110: '.',
189: '-',
190: '.',
107: '+'
};
return charmap[key];
}
function is_char_alpha(c)
{
return((c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z'));
}
function is_char_alphanumeric(c)
{
return is_char_alpha(c) || is_char_numeric(c);
}
function is_expression_numeric(expr) {
var numericExpression = /^[0-9]+$/;
if (expr.toString().match(numericExpression)) {
return true;
}
else {
return false;
}
}
function is_expression_integer(expr) {
var numericExpression = /^-?\d+$/;
if (expr.toString().match(numericExpression)) {
return true;
}
else {
return false;
}
}
function is_expression_alpha_numeric(expr) {
var apphaNumericExpression = /^[0-9a-zA-Z]+$/;
if (expr.toString().match(apphaNumericExpression)) {
return true;
}
else {
return false;
}
}
function validate_ip(e, id, val)
{
var key = e.charCode || e.keyCode || 0;
var dot_allow = true, digit_allow = true;
var dots = val.split(".");
if (val.length == 0 || val.lastIndexOf(".") == val.length - 1)
dot_allow = false;
if (dots.length == 4)
dot_allow = false;
if (dots.length && dots[dots.length - 1].length == 3)
digit_allow = false;
return is_key_basic(key) || (digit_allow && is_key_numeric(key)) || (dot_allow && key2char(e) == '.');
}
function validate_mac(e, id, val)
{
return true;
}
function validate_port(e, id, val)
{
var key = e.charCode || e.keyCode || 0;
var ckey = String.fromCharCode(key);
if (!is_key_basic(key) && !is_key_numeric(key))
return false;
var newval = val + ckey;
if (newval > 65535)
return false;
return true;
}
function validate_port_nz(e, id, val)
{
var key = e.charCode || e.keyCode || 0;
var ckey = String.fromCharCode(key);
if (!validate_port(e, id, val))
return false;
if (val.length == 0 && (ckey === '0' || ckey === '`'))
return false;
return true;
}
function pin_code_validate(e)
{
return numeric_validation(e);
}
function username_validate(name)
{
var str = "_.-";
if (!name.length)
return null;
if (!is_char_alphanumeric(name.charAt(0)))
return _('USERNAME_INVALID_FIRST_CHAR');
for (var i = 1; i < name.length; i++)
{
if (!is_char_alphanumeric(name.charAt(i)) && str.indexOf(name.charAt(i)) < 0)
{
return _('USERNAME_INVALID_CHAR', name.charAt(i));
}
}
return null;
}
function IsValidTimeRange(sTimeFrom, sTimeTo) {
return sTimeFrom < sTimeTo;
}
function IsValidTime(sTime) {
if (sTime.indexOf(":") < 0) {
return false;
}
else {
var hours = sTime.split(':')[0];
var minutes = sTime.split(':')[1];
if (hours == "" || isNaN(hours) || (hours = parseInt(hours, 10)) > 24 || hours < 0) {
return false;
}
else {
hours = (hours < 10 ? "0" : "") + hours;
}
if (minutes == "" || isNaN(minutes) || (minutes = parseInt(minutes, 10)) > 59 || minutes < 0) {
return false;
}
else {
minutes = (minutes < 10 ? "0" : "") + minutes;
}
if (parseInt(hours, 10) == 24 && parseInt(minutes, 10) >= 0)
return false;
return hours + ":" + minutes;
}
return false;
}
function is_valid_subnet_mask(mask)
{
var i = 0, num = 0;
var zero_bit_pos = 0, one_bit_pos = 0;
var zero_bit_existed = false;
if (mask == '0.0.0.0' || mask == '255.255.255.255')
return false;
var mask_parts = mask.split('.');
if (mask_parts.length != 4)
return false;
for (i = 0; i < 4; i++)
{
if (isNaN(mask_parts[i]) == true)
return false;
if (is_decimal_number(mask_parts[i]) == false)
return false;
num = parseInt(mask_parts[i], 10);
if (num < 0 || num > 255)
return false;
if (zero_bit_existed == true && num != 0)
return false;
zero_bit_pos = get_left_most_zero_bit_pos(num);
one_bit_pos = get_right_most_one_bit_pos(num);
if (zero_bit_pos < one_bit_pos)
return false;
if (zero_bit_pos < 8)
zero_bit_existed = true;
}
return true;
}
function get_left_most_zero_bit_pos(num)
{
var i = 0;
var num_arr = [128, 64, 32, 16, 8, 4, 2, 1];
var tmp;
for (i = 0; i < num_arr.length; i++)
{
tmp = num & num_arr[i];
if (tmp == 0)
return i;
}
return num_arr.length;
}
function get_right_most_one_bit_pos(num)
{
var i = 0;
var num_arr = [1, 2, 4, 8, 16, 32, 64, 128];
var tmp;
for (i = 0; i < num_arr.length; i++)
{
tmp = (num & num_arr[i]) >> i;
if (tmp == 1)
return(num_arr.length - i - 1);
}
return - 1;
}
function ip_canonize(ip)
{
var arr = ip.split('.');
for (var i = 0; i < arr.length; i++)
arr[i] = leading_zeros(arr[i], 3);
return arr.join('.');
}
function leading_zeros(num, zeros)
{
var i;
var padding = zeros - num.toString().length;
for (i = 0; i < padding; i++)
num = "0" + num;
return num;
}
function is_valid_filename(filename) {
var regexp = new RegExp("^[^ \\\/:*?\"<>|]+([ ]+[^ \\\/:*?\"<>|]+)*$");
var isValidFileName = regexp.test(filename);
return isValidFileName;
}
function safe_dot(element_name) {
return element_name.replace(/\./g, '\\.');
}
function _(id) {
var i, text;
if (typeof _DICTIONARY[id] === "undefined")
{
;
return id;
}
text = _DICTIONARY[id][curr_lang] ? _DICTIONARY[id][curr_lang] : (_DICTIONARY[id]['DEF'] ? _DICTIONARY[id]['DEF'] : id);
text = text.replaceAll(ProductNamePlaceholder, FC.product_name);
for (i = 1; i < arguments.length; i++)
text = text.replace(/%s/, arguments[i]);
return text;
}
$.fn.disableSelection = function() {
return this.each(function() {
$(this).attr('unselectable', 'on').css({
'-moz-user-select': 'none',
'-webkit-user-select': 'none',
'user-select': 'none',
'-ms-user-select': 'none'
}).each(function() {
this.onselectstart = function() {
return false;
};
});
});
};
String.prototype.replaceAll = function(sFrom, sTo) {
return this.replace(new RegExp(sFrom, "gi"), sTo);
};
String.prototype.nthIndexOf = function(s, n) {
var i = -1;
while (n-- > 0 && -1 != (i = this.indexOf(s, i + 1)))
;
return i;
};
function trim(stringToTrim)
{
return stringToTrim.replace(/^\s+|\s+$/g, "");
}
function normalize_name(name)
{
return trim(name).replace(/ +/g, ' ');
}
function json_copy(src)
{
return jQuery.extend(true, {}, src);
}
function scroll_to_top(instant) {
if (instant)
window.scrollTo(0, 0);
else
$("html,body").animate({
scrollTop: 0
},
"fast");
}
function scroll_to_bottom(instant) {
var vieportHeight = $(window).height();
var contentHeight = $("#pageWrapper").height();
if (instant) {
window.scrollTo(0, contentHeight - vieportHeight);
}
else {
$("html,body").animate({
scrollTop: contentHeight - vieportHeight
},
"fast");
}
}
function ctrlRoot(ctrlId) {
return ctrlId.split('.').shift();
}
function ctrlTail(ctrlId) {
return ctrlId.split('.').pop();
}
function giveMeRandomNumbers() {
var randomNumber = ' ';
for (var i = 0; i < 8; i++) {
randomNumber = randomNumber + Math.floor(Math.random() * 11);
}
return randomNumber;
}
function CalcIpNetwork(sIpAddress, sSubnetMask) {
var parts = sIpAddress.split('.');
parts[parts.length - 1] = "0";
sIpAddress = parts.join('.');
var mask = ConvertSubnetMask(sSubnetMask);
var result = sIpAddress + "/" + mask;
return result;
}
function ConvertSubnetMask(subnetMask) {
var parts = subnetMask.split('.');
var part1 = parts[0];
var part2 = parts[1];
var part3 = parts[2];
var part4 = parts[3];
var sumofbits = 0;
var tmpvar = parseInt(part1, 10);
if (isNaN(tmpvar)) {
return "N/A";
}
var bitsfromleft = h_countbitsfromleft(tmpvar);
if (isNaN(bitsfromleft)) {
return "N/A";
}
sumofbits += bitsfromleft;
tmpvar = parseInt(part2, 10);
if (isNaN(tmpvar)) {
return "N/A";
}
bitsfromleft = h_countbitsfromleft(tmpvar);
if (isNaN(bitsfromleft)) {
return "N/A";
}
sumofbits += bitsfromleft;
tmpvar = parseInt(part3, 10);
if (isNaN(tmpvar)) {
return "N/A";
}
bitsfromleft = h_countbitsfromleft(tmpvar);
if (isNaN(bitsfromleft)) {
return "N/A";
}
sumofbits += bitsfromleft;
tmpvar = parseInt(part4, 10);
if (isNaN(tmpvar)) {
return "N/A";
}
bitsfromleft = h_countbitsfromleft(tmpvar);
if (isNaN(bitsfromleft)) {
return "N/A";
}
sumofbits += bitsfromleft;
return sumofbits;
}
function h_countbitsfromleft(num) {
if (num == 255) {
return(8);
}
var i = 0;
var bitpat = 0xff00;
while (i < 8) {
if (num == (bitpat & 0xff)) {
return(i);
}
bitpat = bitpat >> 1;
i++;
}
return(Number.NaN);
}
function format_time(iSeconds)
{
function FormatMinutes(iMinutes) {
if (iMinutes > 1) {
return _("GATEWAY_MINUTES").replaceAll("%s", iMinutes);
}
else {
if (iMinutes == 1) {
return _("GATEWAY_MINUTE").replaceAll("%s", iMinutes);
}
else {
return "";
}
}
}
function FormatHours(iHours) {
if (iHours > 1) {
return _("GATEWAY_HOURS").replaceAll("%s", iHours);
}
else {
if (iHours == 1) {
return _("GATEWAY_HOUR").replaceAll("%s", iHours);
}
else {
return "";
}
}
}
function FormatDays(iDays) {
if (iDays > 1) {
return _("GATEWAY_DAYS").replaceAll("%s", iDays);
}
else {
if (iDays == 1) {
return _("GATEWAY_DAY").replaceAll("%s", iDays);
}
else {
return "";
}
}
}
var sDurationTime = "";
var iMinutes, iHours, iDays;
var aTimeUnits = [];
if (iSeconds === undefined)
return "";
if ((iSeconds % 60) > 0)
iSeconds = iSeconds - (iSeconds % 60) + 60;
iMinutes = iSeconds / 60;
if (iMinutes < 60) {
sDurationTime = FormatMinutes(iMinutes);
}
else {
iHours = (iMinutes - (iMinutes % 60)) / 60;
iMinutes = iMinutes % 60;
if (iHours < 24) {
sDurationTime = FormatHours(iHours) + ((FormatMinutes(iMinutes) != "") ? (" " + _('GATEWAY_AND') + " " + FormatMinutes(iMinutes) + " ") : "");
}
else {
iDays = (iHours - (iHours % 24)) / 24;
iHours = (iHours % 24);
if (FormatDays(iDays) != "")
aTimeUnits.push(FormatDays(iDays));
if (FormatHours(iHours) != "")
aTimeUnits.push(FormatHours(iHours));
if (FormatMinutes(iMinutes) != "")
aTimeUnits.push(FormatMinutes(iMinutes));
switch (aTimeUnits.length) {
case 0:
sDurationTime = "";
break;
case 1:
sDurationTime = aTimeUnits[0];
break;
case 2:
sDurationTime = aTimeUnits[0] + " " + _('GATEWAY_AND') + " " + aTimeUnits[1];
break;
case 3:
sDurationTime = aTimeUnits[0] + ", " + aTimeUnits[1] + " " + _('GATEWAY_AND') + " " + aTimeUnits[2];
break;
default:
break;
}
}
}
return sDurationTime;
}
var BlockUIdefaultOptions = {
message: null,
overlayCSS: {
backgroundColor: "#ffffff",
opacity: 0.01,
cursor: "default"
},
showOverlay: true,
baseZ: 999,
fadeIn: 0,
fadeOut: 0
};
var BlockUIloadingInProgress = {
message: null,
overlayCSS: {
backgroundColor: "#ffffff",
opacity: 0.01,
cursor: "wait"
},
showOverlay: true,
baseZ: 998,
fadeIn: 0,
fadeOut: 0
};
var BlockUITRansactionInProgress = {
message: null,
overlayCSS: {
backgroundColor: "#ffffff",
opacity: 0.01,
cursor: "wait"
},
showOverlay: true,
baseZ: 1020,
fadeIn: 0,
fadeOut: 0
};
var BlockUIChromeFix = {
message: null,
overlayCSS: {
backgroundColor: "#ffffff",
opacity: 0.01,
cursor: "default"
},
showOverlay: true,
baseZ: 1020,
fadeIn: 0,
fadeOut: 0
};
function BlockUI(sElementsSelector, oOptions) {
if (!oOptions) {
oOptions = BlockUIdefaultOptions;
}
if (!sElementsSelector) {
$.blockUI(oOptions);
$("body").addClass("blockedContent");
}
else {
$(sElementsSelector).block(oOptions).addClass("blockedContent");
}
}
function UnblockUI(sElementsSelector) {
if (!sElementsSelector) {
sElementsSelector = null;
}
BlockUI(sElementsSelector, BlockUIChromeFix);
if (!sElementsSelector) {
$.unblockUI();
$("body").removeClass("blockedContent");
}
else {
$(sElementsSelector).unblock().removeClass("blockedContent");
}
}
function BlockApplicationUIonTransactionStart() {
BlockUI(null, BlockUITRansactionInProgress);
}
function UnblockApplicationUIonTransactionEnd() {
UnblockUI(null);
}
function esc(data) {
if (typeof(data) == "string") {
data = data.replace(/&/g, "&amp;").replace(/"/g, "&quot;").replace(/'/g, "&#x27;").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/\//g, "&#x2F;");
}
return data;
}
function esc2(data) {
if (typeof(data) == "string") {
data = data.replace(/"/g, "&quot;").replace(/'/g, "&#x27;").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/\//g, "&#x2F;");
}
return data;
}
function esc3(data) {
if (typeof(data) == "string") {
data = data.replace(/&/g, "&amp;").replace(/"/g, "&quot;").replace(/'/g, "&#x27;");
}
return data;
}
function unesc(data) {
if (typeof(data) == "string") {
data = data.replace(/&amp;/g, "&").replace(/&quot;/g, '"').replace(/&#x27;/g, "'").replace(/&lt;/g, "<").replace(/&gt;/g, ">").replace(/&#x2F;/g, "/");
}
return data;
}
function OpenPopUp(sHTMLContent, iWidth) {
if (IsPopUpOpenedCriticalError() || IsMessagePopUpOpened())
return;
popup_switch_counter++;
BlockUI("#pageWrapper");
var popUpWidth = (iWidth !== undefined && typeof iWidth !== "undefined") ? iWidth : PopUpDefaultWidth;
$("#popUpContent").html(sHTMLContent);
$("#popUpContent").css("width", popUpWidth + "px");
$("#popUpWrapper").show();
if ($("#popUpWrapper").length) {
$("#popUpContent").focus();
}
var iHtmlScrollTopPosition = $("body").scrollTop() || $("html").scrollTop();
if (iHtmlScrollTopPosition > 0) {
scroll_to_top(false);
}
CancelClosingPopupOnEscape();
}
function ClosePopUp() {
popup_switch_counter++;
UnblockUI("#pageWrapper");
$("#popUpWrapper").hide();
$("#popUpContent").html("");
CancelClosingPopupOnEscape();
}
function IsPopUpOpened() {
return $("#popUpWrapper").is(":visible");
}
function SwitchPopupView(sPopUpViewId, aPopUpButtons) {
var i = 0;
var oElement;
var EscapeKeyEventFunction = null;
var fEventFunction;
CancelClosingPopupOnEscape();
$("#" + safe_dot(sPopUpViewId)).show();
if ($("#" + safe_dot(sPopUpViewId) + " .keyEscape").length) {
fEventFunction = null;
oElement = $("#" + safe_dot(sPopUpViewId) + " .keyEscape");
for (i = 0; i < aPopUpButtons.length; i++) {
if (aPopUpButtons[i][0] == oElement.attr('id')) {
EscapeKeyEventFunction = aPopUpButtons[i][1];
oElement.bind("keydown.PopUpButtonsEvents", function(e) {
if (e.which == 13) {
EscapeKeyEventFunction();
}
});
break;
}
}
}
$(document).bind("keydown.PopupKeysEvents", function(e) {
if (!$("#" + safe_dot(sPopUpViewId) + " .keyEscape").hasClass('disabled')) {
switch (e.which) {
case 27:
if (EscapeKeyEventFunction) {
EscapeKeyEventFunction();
}
break;
default:
break;
}
}
});
}
function CancelClosingPopupOnEscape() {
$(document).unbind("keyup.cancelPopup");
$(document).unbind("keydown.PopupKeysEvents");
$(document).unbind("keydown.PopUpButtonsEvents");
}
function CloseAllPopUpViews() {
CancelClosingPopupOnEscape();
$(".popupView").hide();
}
function OpenMessagePopUp(sMessageType, sMessage, fButtonEvent) {
if (IsPopUpOpened())
ClosePopUp();
popup_switch_counter++;
BlockUI("#pageWrapper");
switch (sMessageType) {
case "error":
$("#popUpHeading_Message").html(_("GATEWAY_MESSAGE_POPUP_ERROR_TITLE"));
break;
case "warning":
$("#popUpHeading_Message").html(_("GATEWAY_MESSAGE_POPUP_WARNING_TITLE"));
break;
case "info":
default:
$("#popUpHeading_Message").html(_("GATEWAY_MESSAGE_POPUP_INFO_TITLE"));
break;
}
$("#popUpMessage_Message").html(sMessage);
$("#btn_popUpButton_Message_Ok").unbind("click").bind("click", function() {
if (typeof fButtonEvent == "function") {
fButtonEvent();
}
else {
CloseMessagePopUp();
}
return false;
});
$(document).unbind("keyup.errorPopupClosing").bind("keyup.errorPopupClosing", function(e) {
if (e.which == 13) {
CloseMessagePopUp();
}
});
$("#popUpWrapper_Message").show();
$("#btn_popUpButton_Message_Ok").focus();
var iPopUpContentTop = $("#popUpContent_Message").offset().top;
var iHtmlScrollTopPosition = $("body").scrollTop() || $("html").scrollTop();
if (iHtmlScrollTopPosition > iPopUpContentTop) {
scroll_to_top(false);
}
}
function CloseMessagePopUp() {
popup_switch_counter++;
$(document).unbind("keyup.errorPopupClosing");
UnblockUI("#pageWrapper");
$("#popUpWrapper_Message").hide();
}
function IsMessagePopUpOpened() {
return $("#popUpWrapper_Message").is(":visible");
}
function OpenPopUpCriticalError(sMessage, bReloadPage, fCallBack) {
if (IsPopUpOpened())
ClosePopUp();
if (IsMessagePopUpOpened())
CloseMessagePopUp();
popup_switch_counter++;
BlockUI("#pageWrapper");
$("#popUpHeading_CriticalError").html(sMessage);
$("#btn_popUpButton_CriticalError_Ok").unbind("click").bind("click", function() {
ClosePopUpCriticalError();
if (typeof fCallBack != "undefined")
fCallBack();
if (bReloadPage)
window.location.reload();
return false;
});
$(document).unbind("keyup.errorPopupClosing").bind("keyup.errorPopupClosing", function(e) {
if (e.which == 13) {
ClosePopUpCriticalError();
if (typeof fCallBack != "undefined")
fCallBack();
if (bReloadPage)
window.location.reload();
}
});
$("#popUpWrapper_CriticalError").show();
$("#btn_popUpButton_CriticalError_Ok").focus();
var iPopUpContentTop = $("#popUpContent_CriticalError").offset().top;
var iHtmlScrollTopPosition = $("body").scrollTop() || $("html").scrollTop();
if (iHtmlScrollTopPosition > iPopUpContentTop) {
scroll_to_top(false);
}
}
function ClosePopUpCriticalError() {
popup_switch_counter++;
$(document).unbind("keyup.errorPopupClosing");
UnblockUI("#pageWrapper");
$("#popUpWrapper_CriticalError").hide();
}
function IsPopUpOpenedCriticalError() {
return $("#popUpWrapper_CriticalError").is(":visible");
}
function CloseAllOpenedPopUps() {
if (IsPopUpOpened())
ClosePopUp();
if (IsPopUpOpenedCriticalError())
ClosePopUpCriticalError();
if (IsMessagePopUpOpened())
CloseMessagePopUp();
}
function CheckCriticalError(oStatus, bReloadPage, bSkipHandler) {
if (oStatus.result !== "success") {
CriticalErrorOccured = true;
if (!bSkipHandler && !IgnoreCriticalErrors) {
HandleCriticalError(oStatus, bReloadPage);
}
return true;
}
return false;
}
function HandleCriticalError(oStatus, bReloadPage) {
UnblockApplicationUIonTransactionEnd();
if (IsPopUpOpenedCriticalError()) {
$("#btn_popUpButton_CriticalError_Ok").unbind("click").bind("click", function() {
window.location.reload();
return false;
});
$(document).unbind("keyup.errorPopupClosing").bind("keyup.errorPopupClosing", function(e) {
if (e.which == 13) {
window.location.reload();
}
});
}
else {
switch (oStatus.result) {
case "internal_error":
;
break;
case "timeout":
OpenPopUpCriticalError(_("GATEWAY_ERR_TIMEOUT"), bReloadPage);
break;
default:
if (oStatus.result == "error" && !checkCookiesEnabled()) {
link_to("cookies_disabled", "&org_url=" + encodeURIComponent(window.location.href));
}
else if (oStatus.result == "error" && oStatus.error_code == "403") {
OpenPopUpCriticalError(_("PAGE_WARNING_MESSAGES_SESSION_EXPIRED_TITLE"), true);
}
else {
OpenPopUpCriticalError(_("GATEWAY_ERR_UNREACHABLE"), bReloadPage);
}
break;
}
}
}
function link_to(page_name, params)
{
var _params = (params) ? params : '';
window.location = 'main.cgi?page=' + page_name + '.html' + _params;
}
function LogOut() {
if (IsPageDataChanged()) {
ShowUnsavedChangesWarning();
}
else {
gw_wbm_logout(LogOutHandler, {}
);
}
}
function LogOutHandler(oStatus, oContext) {
if (CheckCriticalError(oStatus, false)) {
return;
}
else {
link_to('login', '');
}
}
function is_valid_url(url)
{
var tmp = url;
tmp = tmp.replace("http://", "");
if (isValidIpAddress(tmp))
return true;
var regex = RegExp(/^(([\-\w]+\.)+\w{2,3}(\/[%\-\w]+(\.\w{2,})?)*(([\w\-\.\?\/+@&#;`~=%!]*)(\.\w{2,})?)*\/?)$/i);
return(regex.test(url));
}
function IsServerAlive(fCB_success, oContext, timeout_ms, fCB_timeout) {
$.ajax({
type: "GET",
url: "js/connection.test",
dataType: 'text',
timeout: timeout_ms ? timeout_ms : IsServerAliveTimeOutMilliseconds * 2,
data: {
timeStamp: (new Date().getTime())
},
success: function(data, textStatus) {
fCB_success(oContext);
},
error: function(data, textStatus) {
if (fCB_timeout && textStatus === "timeout")
fCB_timeout(oContext);
setTimeout(function() {
IsServerAlive(fCB_success, oContext, timeout_ms, fCB_timeout);
},
IsServerAliveTimeOutMilliseconds);
}
});
}
function IsServerAliveDefaultHandler(oContext) {
if (oContext.popup_switch_counter_cb != popup_switch_counter)
return;
window.location.href = LoginURL;
}
function hostname_is_valid(val) {
var pattern = new RegExp(/^(([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]*[a-zA-Z0-9])\.)*([A-Za-z0-9]|[A-Za-z0-9][A-Za-z0-9\-]*[A-Za-z0-9])$/i);
return pattern.test(val);
}
function is_domain_name_valid(domain_name) {
var regex = new RegExp(/^(([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]*[a-zA-Z0-9])\.)+([A-Za-z]|[A-Za-z][A-Za-z0-9\-]*[A-Za-z0-9])$/i);
return regex.test(domain_name);
}
function email_is_valid(val) {
var pattern = new RegExp(/^(?!(?:(?:\x22?\x5C[\x00-\x7E]\x22?)|(?:\x22?[^\x5C\x22]\x22?)){255,})(?!(?:(?:\x22?\x5C[\x00-\x7E]\x22?)|(?:\x22?[^\x5C\x22]\x22?)){65,}@)(?:(?:[\x21\x23-\x27\x2A\x2B\x2D\x2F-\x39\x3D\x3F\x5E-\x7E]+)|(?:\x22(?:[\x01-\x08\x0B\x0C\x0E-\x1F\x21\x23-\x5B\x5D-\x7F]|(?:\x5C[\x00-\x7F]))*\x22))(?:\.(?:(?:[\x21\x23-\x27\x2A\x2B\x2D\x2F-\x39\x3D\x3F\x5E-\x7E]+)|(?:\x22(?:[\x01-\x08\x0B\x0C\x0E-\x1F\x21\x23-\x5B\x5D-\x7F]|(?:\x5C[\x00-\x7F]))*\x22)))*@(?:(?:(?!.*[^.]{64,})(?:(?:(?:xn--)?[a-z0-9]+(?:-[a-z0-9]+)*\.){1,126}){1,}(?:(?:[a-z][a-z0-9]*)|(?:(?:xn--)[a-z0-9]+))(?:-[a-z0-9]+)*)|(?:\[(?:(?:IPv6:(?:(?:[a-f0-9]{1,4}(?::[a-f0-9]{1,4}){7})|(?:(?!(?:.*[a-f0-9][:\]]){7,})(?:[a-f0-9]{1,4}(?::[a-f0-9]{1,4}){0,5})?::(?:[a-f0-9]{1,4}(?::[a-f0-9]{1,4}){0,5})?)))|(?:(?:IPv6:(?:(?:[a-f0-9]{1,4}(?::[a-f0-9]{1,4}){5}:)|(?:(?!(?:.*[a-f0-9]:){5,})(?:[a-f0-9]{1,4}(?::[a-f0-9]{1,4}){0,3})?::(?:[a-f0-9]{1,4}(?::[a-f0-9]{1,4}){0,3}:)?)))?(?:(?:25[0-5])|(?:2[0-4][0-9])|(?:1[0-9]{2})|(?:[1-9]?[0-9]))(?:\.(?:(?:25[0-5])|(?:2[0-4][0-9])|(?:1[0-9]{2})|(?:[1-9]?[0-9]))){3}))\]))$/i);
return val && pattern.test(val);
}
function GetContactTypeByKey(contactTypeKey) {
var types = [];
types["number"] = _("CONTACT_TYPE_OTHER");
types["private_fixed"] = _("CONTACT_TYPE_PRIVATE_LANDLINE");
types["private_mobile"] = _("CONTACT_TYPE_PRIVATE_MOBILE");
types["work_fixed"] = _("CONTACT_TYPE_WORK_LANDLINE");
types["work_mobile"] = _("CONTACT_TYPE_WORK_MOBILE");
return types[contactTypeKey];
}
function createCookie(name, value) {
var expiration_date = new Date();
expiration_date.setFullYear(expiration_date.getFullYear() + 1);
document.cookie = name + "=" + value + "; path=/; expires=" + expiration_date.toGMTString();
}
function readCookie(name) {
var nameEQ = name + "=";
var ca = document.cookie.split(';');
for (var i = 0; i < ca.length; i++) {
var c = ca[i];
while (c.charAt(0) == ' ')
c = c.substring(1, c.length);
if (c.indexOf(nameEQ) == 0)
return c.substring(nameEQ.length, c.length);
}
return null;
}
function createSessionCookie(name, value) {
document.cookie = name + "=" + value + "; path=/;";
}
function eraseCookie(name) {
document.cookie = name + "=" + "; path=/; expires=Thu, 01 Jan 1970 00:00:01 GMT";
}
function checkCookiesEnabled() {
var testCookie = "__testing__";
var isCookieEnabled = createCookie(testCookie, "cookies_enabled");
isCookieEnabled = readCookie(testCookie);
eraseCookie(testCookie);
return isCookieEnabled;
}
var iKeepAliveCriticalErrorCounter = 0;
var iKeepAliveCriticalErrorTriesNumber = 3;
var KeepAliveTimeoutAllPages = 10000;
function SessionKeepAliveSend() {
gw_wbm_keep_alive(ProceedKeepAliveHandler, {}
);
}
function ProceedKeepAliveHandler(oStatus, oContext) {
var timeout = KeepAliveTimeout;
if ($("#app_page").length) {
if (oStatus.result == "error" && oStatus.error_code == "403") {
iKeepAliveCriticalErrorCounter++;
timeout = KeepAliveRetryTimeout;
if (iKeepAliveCriticalErrorCounter > iKeepAliveCriticalErrorTriesNumber) {
if (CheckCriticalError(oStatus, true)) {
return;
}
}
}
else {
iKeepAliveCriticalErrorCounter = 0;
}
window.setTimeout(function() {
gw_wbm_keep_alive(ProceedKeepAliveHandler, {}
);
},
timeout);
}
else {
window.setTimeout(function() {
gw_wbm_keep_alive(ProceedKeepAliveHandler, {}, false);
},
KeepAliveTimeoutAllPages);
}
}
var AvoidSessionExpirationTimeout = 2000;
function AvoidSessionExpiration() {
gw_wbm_get_session_userid(function() {
window.setTimeout(AvoidSessionExpiration, AvoidSessionExpirationTimeout);
},
{}, false);
}
var AvoidSessionExpirationInLoginPageTimeout = 2000;
var bIsActivationInProgressPopupOpened = false;
function AvoidSessionExpirationInLoginPage() {
gw_wbm_get_session_userid(AvoidSessionExpirationInLoginPageHandler, {}, false);
}
function AvoidSessionExpirationInLoginPageHandler(oCbStatus, sUsername, oCbContext) {
if (typeof sUsername != "string") {
window.setTimeout(AvoidSessionExpirationInLoginPage, AvoidSessionExpirationInLoginPageTimeout);
}
else {
if (sUsername == "wan_user" || sUsername == "vodafone") {
link_to('app', '');
}
else {
var BrowserURL = $.deparam.querystring();
var sOrgUrlParam;
if (BrowserURL.org_url) {
sOrgUrlParam = "&org_url=" + encodeURIComponent(BrowserURL.org_url);
}
else {
sOrgUrlParam = "";
}
if (!readCookie("sMeInitiator")) {
gw_wbm_login("", "", true, function(oStatus, oContext) {
if (!CheckCriticalError(oStatus, true)) {
link_to('activation_in_progress', sOrgUrlParam);
}
},
{}
);
}
else if (sUsername == acs_activation_username) {
link_to(AcsAwUrl, sOrgUrlParam);
}
else {
link_to(sUmtsAwUrl, sOrgUrlParam);
}
}
}
}
var CheckIfFirmwareUpdateInProgressTimeout = 5000;
var bStopFirmwareUpdateDetecting = false;
function CheckIfFirmwareUpdateInProgress(sOrgUrl, fPreCb, oPreCbContext) {
var oContext = {
"sOrgUrl": sOrgUrl,
"fPreCb": fPreCb,
"oPreCbContext": oPreCbContext
};
fw_upgrade_status(CheckIfFirmwareUpdateInProgressHandler, oContext, true);
}
function CheckIfFirmwareUpdateInProgressHandler(sCbFirmwareUpdateStatus, sCbFirmwareUpdateProgressPercentage, oCbStatus, oCbContext) {
if (!bStopFirmwareUpdateDetecting && (sCbFirmwareUpdateStatus == "InProgress" || sCbFirmwareUpdateStatus == "LteUpgradeInProgress")) {
var param = oCbContext.sOrgUrl ? '&org_url=' + oCbContext.sOrgUrl : '';
if (oCbContext.fPreCb) {
oCbContext.fPreCb(oCbContext.oPreCbContext);
}
bStopActivationDetecting = true;
link_to('firmware_update_in_progress', param);
}
else if (!bStopFirmwareUpdateDetecting && sCbFirmwareUpdateProgressPercentage == '100' && sCbFirmwareUpdateStatus == "Succeeded") {
bStopActivationDetecting = true;
IgnoreCriticalErrors = true;
if (oCbContext.fPreCb) {
oCbContext.fPreCb(oCbContext.oPreCbContext);
}
CloseAllPopUpViews();
renderCustomPopUpMessage(_("PAGE_FIRMWARE_UPDATE_FIRMWARE_SUCCESS_UPDATE_POPUP_TITLE"), _("PAGE_FIRMWARE_UPDATE_UPLOAD_FIRMWARE_FILE_UPGRADE_SUCCESSFULLY_POPUP_DESCRIPTION"), true);
setTimeout(function() {
IsServerAlive(IsServerAliveDefaultHandler, {
"popup_switch_counter_cb": popup_switch_counter
});
},
StartIsServerAliveTimeOutMilliseconds);
}
else if (!CriticalErrorOccured) {
window.setTimeout(function() {
CheckIfFirmwareUpdateInProgress(oCbContext.sOrgUrl, oCbContext.fPreCb, oCbContext.oPreCbContext);
},
CheckIfFirmwareUpdateInProgressTimeout);
}
}
function renderCustomPopUpMessage(title, description, hasSpinner) {
var popUpWrapper = $("#popUpWrapper");
if (!popUpWrapper.length) {
popUpWrapper = $('<div>', {
"id": "popUpWrapper",
"class": "popUpWrapper displayNone"
}).append($('<div>', {
"id": "popUpContent",
"class": "popUpContent clearfix"
}), $('<div>', {
"class": "popUpBackground"
})).appendTo('body');
}
popUpWrapper.children("#popUpContent").append($('<div>', {
id: "rebootWarning"
}).append(hasSpinner && $('<img>', {
"src": 'img/icon-thinking.gif'
}), title && $('<p>', {
"class": "popUpTitle"
}).html(title), description && $('<p>').html(description)));
CloseAllOpenedPopUps();
popUpWrapper.show();
}
var CheckIfActivationInProgressTimeout = 5000;
var bStopActivationDetecting = false;
function CheckIfActivationInProgress(sOrgUrl, fPreCb, oPreCbContext) {
var oContext = {
"sOrgUrl": sOrgUrl,
"fPreCb": fPreCb,
"oPreCbContext": oPreCbContext
};
activation_get_status(CheckIfActivationInProgressHandler, oContext);
}
function CheckIfActivationInProgressHandler(oActivationStatus, oCbStatus, oCbContext) {
if (!bStopFirmwareUpdateDetecting && !bStopActivationDetecting && (oActivationStatus.acs_mode == "InProgress" || oActivationStatus.umts_mode == "InProgress")) {
var param = oCbContext.sOrgUrl ? '&org_url=' + oCbContext.sOrgUrl : '';
var sMeInitiator = readCookie("sMeInitiator");
if (sMeInitiator) {
link_to(sMeInitiator == 'umts' ? sUmtsAwUrl : AcsAwUrl, param);
}
else {
if (oCbContext.fPreCb) {
oCbContext.fPreCb(oCbContext.oPreCbContext);
}
link_to('activation_in_progress', param);
}
}
else if (!CriticalErrorOccured) {
window.setTimeout(function() {
CheckIfActivationInProgress(oCbContext.sOrgUrl, oCbContext.fPreCb, oCbContext.oPreCbContext);
},
CheckIfActivationInProgressTimeout);
}
}
var sLatinAlphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
function MapSpecialLetters(Letter) {
var arrNonEnglishLetters = {
"Ä": "A",
"É": "E",
"Ö": "O",
"ß": "S",
"Ü": "U",
"Ç": "C",
"Ğ": "G",
"İ": "I",
"Ü": "U",
"Ö": "O",
"Ş": "S",
"Ü": "U"
};
if (arrNonEnglishLetters[Letter.toUpperCase()]) {
if (Letter == Letter.toUpperCase()) {
return arrNonEnglishLetters[Letter];
}
else {
return arrNonEnglishLetters[Letter.toUpperCase()].toLowerCase();
}
}
else {
return Letter;
}
}
function wildcardMask(aMask) {
var a = new Array(0, 0, 0, 0);
for (var i = 0; i < 4; i++) {
a[i] = 255 - aMask[i];
}
return a;
}
function startingIP(aNet, aMask) {
var a = subnetID(aNet, aMask);
var d = octet2dec(a);
d = d + 1;
return dec2octet(d);
}
function octet2dec(a) {
var d = 0;
d = d + parseInt(a[0], 10) * 16777216;
d = d + a[1] * 65536;
d = d + a[2] * 256;
d = d + a[3];
return d;
}
function dec2octet(d) {
var zeros = "00000000000000000000000000000000";
var b = d.toString(2);
b = zeros.substring(0, 32 - b.length) + b;
var a = new Array(parseInt(b.substring(0, 8), 2), (d & 16711680) / 65536, (d & 65280) / 256, (d & 255));
return a;
}
function subnetID(aNet, aMask) {
var a = new Array(0, 0, 0, 0);
for (var i = 0; i < 4; i++) {
a[i] = aNet[i] & aMask[i];
}
return a;
}
function endingIP(aNet, aWild) {
var a = new broadcast(aNet, aWild);
var d = octet2dec(a);
d = d - 1;
return dec2octet(d);
}
function broadcast(aNet, aWild) {
var a = new Array(0, 0, 0, 0);
for (var i = 0; i < 4; i++) {
a[i] = aNet[i] | aWild[i];
}
return a;
}
function IsIpInRange(ipAddress, ipRangeStart, ipRangeEnd) {
var isInRange = true;
var ipArr = ipAddress.split(".");
var fromArr = ipRangeStart.split(".");
var toArr = ipRangeEnd.split(".");
for (var i = 0; i < 4; i++) {
if (parseInt(fromArr[i], 10) > parseInt(ipArr[i], 10)) {
isInRange = false;
}
if (parseInt(ipArr[i], 10) > parseInt(toArr[i], 10)) {
isInRange = false;
}
}
return isInRange;
}
function getValidIPRange(source, rsrc_mngr) {
var sIpAddress = rsrc_mngr.value_get(source.concat(".ip_address"));
var aIpAddress = sIpAddress.split(".");
var sSubnet = rsrc_mngr.value_get(source.concat(".ip_subnet_mask"));
var aSubnet = sSubnet.split(".");
for (var i = 0; i < 4; i++) {
aIpAddress[i] = parseInt(aIpAddress[i]);
aSubnet[i] = parseInt(aSubnet[i]);
}
var wcMask = wildcardMask(aSubnet);
var aStartIpAddressRange = startingIP(aIpAddress, aSubnet);
var sStartIpAddressRange = aStartIpAddressRange.join(".");
var aEndIpAddressRange = endingIP(aIpAddress, wcMask);
var sEndIpAddressRange = aEndIpAddressRange.join(".");
return {
sStartIPRange: sStartIpAddressRange,
sEndIPRange: sEndIpAddressRange
};
}
function validateIpv6Address(ip_address) {
var reg_exp = /^((?=.*::)(?!.*::.+::)(::)?([\dA-F]{1,4}:(:|\b)|){5}|([\dA-F]{1,4}:){6})((([\dA-F]{1,4}((?!\3)::|:\b|$))|(?!\2\3)){2}|(((2[0-4]|1\d|[1-9])?\d|25[0-5])\.?\b){4})$/i;
var emptyIp = "0000:0000:0000:0000:0000:0000:0000:0000";
return ip_address && ip_address !== "::" && ip_address !== emptyIp && reg_exp.test(ip_address);
}
function cutLeadingZeros(str) {
return str.replace(/(^|:)0+(?!:|$)/g, '$1');
}
function getShortenedAddress(str) {
return cutLeadingZeros(str).replace(/(((^|:)0){2,8}(:|$))(?!.*(\1)0)/, '::');
}
function isValidPrefix(str) {
return str !== '0:0:0:0' && (/^([a-f0-9]{1,4}:){3}[a-f0-9]{1,4}$/i).test(str);
}
var aSpecialCallNumbers = [ ["110", "110"], ["112", "112"], ["115", "115"], ["116000", "116000"], ["116006", "116006"], ["116111", "116111"], ["116116", "116116"], ["116117", "116117"], ["116123", "116123"], ["1181000", "1189999"], ["01000000", "01009999"], ["0101000", "0109999"], ["01371000", "01371999"], ["01375000", "01375999"], ["01372000", "01372999"], ["01373000", "01373999"], ["01374000", "01374999"], ["0138000", "0138999"], ["01376000", "01376999"], ["01377000", "01377999"], ["01378000", "01378999"], ["01379000", "01379999"], ["0164000", "0164999"], ["01682000", "01691999"], ["016951000", "016951999"], ["016952000", "016952999"], ["01680000", "01680999"], ["01681000", "01681999"], ["01696000", "01696999"], ["01699000", "01699999"], ["01692000", "01692999"], ["01693000", "01693999"], ["016953000", "016953999"], ["01801000", "01801999"], ["01802000", "01802999"], ["01803000", "01803999"], ["01804000", "01804999"], ["01805000", "01805999"], ["01806000", "01806999"], ["01807000", "01807999"], ["0181000", "0189999"], ["0191000", "0194999"], ["32000", "32999"], ["700000", "700999"], ["800000", "800999"], ["800000", "800999"], ["09001000", "09001999"], ["09003000", "09003999"], ["09005000", "09005999"], ["09009000", "09009999"]];
var iContactPhoneNumberMinLength = 5;
var iOutgoingPhoneNumberMinLength = 5;
var iIncomingPhoneNumberMinLength = 5;
function validateStringMinLength(sString, iMinLength) {
return((sString.length >= iMinLength) ? true : false);
}
function isFirstDigitZero(sPhoneNumber) {
return((sPhoneNumber.substring(0, 1) == "0") ? true : false);
}
function isLocalPhoneNumber(sPhoneNumber) {
return((sPhoneNumber.substring(0, 2) != "00") ? true : false);
}
function validateNumericHashOnLastDigit(sPhoneNumber) {
var sLastChar = sPhoneNumber.substring(sPhoneNumber.length - 1, sPhoneNumber.length);
var sNumberPart = (sLastChar == "#") ? sPhoneNumber.substring(0, sPhoneNumber.length - 1) : sPhoneNumber;
if (is_expression_numeric(sNumberPart)) {
if (sLastChar == "#" || is_expression_numeric(sLastChar)) {
return true;
}
else {
return false;
}
}
else {
return false;
}
}
function isInternationalPhoneNumber(sPhoneNumber) {
var sFirst2Digits = sPhoneNumber.substring(0, 2);
var sFirst4Digits = sPhoneNumber.substring(0, 4);
if (sFirst2Digits == "00") {
if (sFirst4Digits != "0049") {
return true;
}
else {
return false;
}
}
else {
return false;
}
}
function isSpecialCallNumbers(sPhoneNumber) {
var i;
var bMatchSpecialCallNumbers = false;
for (i = 0; i < aSpecialCallNumbers.length; i++) {
if (sPhoneNumber.length == aSpecialCallNumbers[i][0].length && sPhoneNumber.length == aSpecialCallNumbers[i][1].length) {
if (sPhoneNumber >= aSpecialCallNumbers[i][0] && sPhoneNumber <= aSpecialCallNumbers[i][1]) {
bMatchSpecialCallNumbers = true;
}
}
}
return bMatchSpecialCallNumbers;
}
function validateContactPhoneNumber(sPhoneNumber) {
if (is_expression_numeric(sPhoneNumber)) {
if (validateStringMinLength(sPhoneNumber, iContactPhoneNumberMinLength)) {
if (isFirstDigitZero(sPhoneNumber)) {
if (isLocalPhoneNumber(sPhoneNumber)) {
return true;
}
else {
return isInternationalPhoneNumber(sPhoneNumber);
}
}
else {
return isSpecialCallNumbers(sPhoneNumber);
}
}
else {
return isSpecialCallNumbers(sPhoneNumber);
}
}
else {
return false;
}
}
function is_valid_phone_number(number) {
var c = number.charAt(0);
var start = 0;
if (c == "#" || c == "+" || c == "*" || c == "-") {
if (number.length == 1) {
return false;
}
start++;
}
return number.substr(start).search(/[^0-9-]/g) == -1;
}
function validateContactNumber() {
var aMessages = [];
var msg = "";
var test = this.value;
var bValidationResult = false;
if (FC.layout == wbm_layout.VOX_2_5_IT_1_5HW) {
bValidationResult = is_valid_phone_number(test);
}
else {
bValidationResult = validateContactPhoneNumber(test);
}
if (!bValidationResult) {
msg = _("ERROR_INVALID_CONTACT_PHONE_NUMBER");
aMessages.push(msg);
}
return aMessages;
}
function get_extension_name_as_array(ctrl, extId) {
var rsrc = ctrl.rsrc;
var extension = rsrc.value_get("voice.extensions.array")[extId];
var connection_name = extension.display_name.value;
if (connection_name == "") {
var label;
switch (FC.layout) {
case wbm_layout.VOX_2_5_IT_1_5HW:
label = ["TEL1", "TEL2"];
break;
case wbm_layout.VOX_2_5_DE_VDSL:
case wbm_layout.VOX_2_5_IT:
label = ["PHONE_SETTINGS_ANALOG1", "PHONE_SETTINGS_ANALOG2"];
break;
default:
label = ["PHONE_SETTINGS_PHONE1", "PHONE_SETTINGS_PHONE2"];
break;
}
connection_name = _(label[extId]);
}
if (FC.layout == wbm_layout.VOX_2_5_DE_VDSL || FC.layout == wbm_layout.VOX_2_5_IT) {
var extension_name = extension.name.value;
if (extension.type.value == "sip") {
var ext_idx = extId - Object.keys(FC.voip.ext).length + 1;
if (!connection_name && rsrc.value_get("voice.sip_proxy.array")) {
connection_name = rsrc.value_get("voice.sip_proxy.array")[ext_idx - 1].auth_name.value;
}
extension_name = _("SIP_EXT_NAME").replace("%s", ext_idx);
}
}
return[extension_name, connection_name];
}
function get_extension_name(ctrl, extension, deny_change_ctrl_value) {
var names = get_extension_name_as_array(ctrl, extension);
var value = names[0] + " (" + names[1] + ")";
if (!deny_change_ctrl_value) {
ctrl.value = value;
ctrl.value_original = ctrl.value;
}
return value;
}
function hideDisabledSipClients(aExtensions, aSipClients, listHtmlId) {
var sip_ext_count = 0;
for (var i = 0; i < aExtensions.length; i++) {
var sip_ext_iter = aExtensions[i];
if (sip_ext_iter.type.value != "sip")
continue;
if (!aSipClients[sip_ext_count].enabled.value) {
$(safe_dot("#" + listHtmlId + "." + i)).remove();
}
sip_ext_count++;
}
SetListGUIRowNumbers(listHtmlId);
}
var fi_remote_login;
function isIPv6GlobalAddr(ipv6) {
var unique_site_local = ["fe80", "fc", "fd"];
if (!validateIpv6Address(ipv6)) {
return false;
}
for (var i = 0; i < unique_site_local.length; i++) {
if (ipv6.indexOf(unique_site_local[i]) == 0)
return false;
}
return true;
}
function getIPv6Address(aIpv6Addr, sep) {
var ipv6 = "";
sep = sep || "<br />";
for (var i = 0; i < aIpv6Addr.length; i++) {
var ipv6_addr_entry = aIpv6Addr[i].ip.value;
if (isIPv6GlobalAddr(ipv6_addr_entry))
ipv6 += ipv6 ? sep + ipv6_addr_entry : ipv6_addr_entry;
}
return ipv6;
}
function getWANIPv6PrefixList(prefixes, addresses) {
var sList = '', originList = ['Child', 'RouterAdvertisement', 'Static'];
if (FC.ipv6.footer_prefix) {
sList = prefixes.reduce(function(data, pfxData) {
if (pfxData.origin && originList.indexOf(pfxData.origin.value) !== -1) {
data = data ? data + '<br />' + pfxData.prefix.value : pfxData.prefix.value;
}
return data;
},
'') || addresses.reduce(function(data, ipData) {
if (ipData.ip && isIPv6GlobalAddr(ipData.ip.value)) {
var parts = ipData.ip.value.split('::'), left = parts[0].split(':'), right = parts[1] ? parts[1].split(':') : [], prefix;
while (left.length + right.length < 8) {
left.push('0');
}
prefix = left.concat(right).slice(0, 4).join(':') + '::/ 64';
data = data ? data + '<br />' + prefix : prefix;
}
return data;
},
'');
}
else {
sList = addresses.reduce(function(data, ipData) {
if (ipData.ip && isIPv6GlobalAddr(ipData.ip.value)) {
data = data ? data + '<br />' + ipData.ip.value : ipData.ip.value;
}
return data;
},
'');
}
return sList;
}
var InitFooter = (function() {
var rsrc_mngr, fw = "", fw_rsrc_id = "gateway.device_info.fw_version", IPv4_rsrc_id = "main_wan.connections.data.ip_address", IPv6_rsrc_id = "main_wan.connections.data.ipv6.ip_interface.array.0.ip_address.array", IPv6_prefix_rsrc_id = "main_wan.connections.data.ipv6.interface_prefixes.array.0.ip_prefix.array", WAN_IP_rsrc_ids = [IPv4_rsrc_id].concat(FC.ipv6.enabled ? [IPv6_rsrc_id, IPv6_prefix_rsrc_id] : []);
function ShowFooterInfo(oStatus, ctx) {
var ipv4, ipv6;
if (oStatus.result == "success" && !CheckNonCriticalErrors(oStatus, [])) {
ipv4 = rsrc_mngr.value_get(IPv4_rsrc_id);
ipv6 = FC.ipv6.enabled && getWANIPv6PrefixList(rsrc_mngr.value_get(IPv6_prefix_rsrc_id), rsrc_mngr.value_get(IPv6_rsrc_id));
(!fw) && (fw = rsrc_mngr.value_get(fw_rsrc_id)) && (rsrc_mngr = new ResourcesMngr(WAN_IP_rsrc_ids));
renderFooter(getFooterData(fw, ipv4, ipv6));
}
CriticalErrorOccured || setTimeout(function() {
rsrc_mngr.pull(ShowFooterInfo, {}
);
},
WAN_IP_RefreshInterval);
}
function getFooterData(fw, ipv4, ipv6) {
var footerData = [];
(!fi_remote_login && fw) && footerData.push({
'title': _("PAGE_BOTTOM_INFO_FIRMWARE_VERSION") + ": ",
'value': fw
});
(ipv4 && ipv4 !== "0.0.0.0") && footerData.push({
'title': _(FC.ipv6.enabled ? "PAGE_BOTTOM_INFO_WAN_IPV4_ADDRESS" : "PAGE_BOTTOM_INFO_WAN_IP_ADDRESS") + " ",
'value': ipv4
});
(ipv6) && footerData.push({
'title': _(FC.ipv6.footer_prefix ? "PAGE_BOTTOM_INFO_WAN_IPV6_PREFIX" : "PAGE_BOTTOM_INFO_WAN_IPV6_ADDRESS") + " ",
'value': ipv6
});
return footerData;
}
function renderFooter(footerData) {
$("#pageFirmwareVersion").html(footerData.reduce(function(sHtml, item) {
return sHtml + '<p>' + item.title + '<span>' + item.value + '</span></p>';
},
''));
}
return function() {
rsrc_mngr = new ResourcesMngr(WAN_IP_rsrc_ids.concat(fw_rsrc_id));
rsrc_mngr.refresh(ShowFooterInfo, {}
);
};
})();
var AwContinueOnEnterKey = {
elmKeyDownTarget: null,
elmKeyDownBody: window.IsPopUpOpened() ? "Popup" : "Page",
ignoreEnterKeyOnElements: function() {
$(".ignoreEnterKeyEvent").on({
"keyup": function(e) {
e.stopPropagation();
}
});
},
setEnterKeyOnElements: function(fAwContinue) {
var that = this;
$(document).on({
"keydown": function(e) {
that.elmKeyDownTarget = e.target;
that.elmKeyDownBody = window.IsPopUpOpened() ? "Popup" : "Page";
},
"keyup": function(e) {
var currentElmKeyDownBody = window.IsPopUpOpened() ? "Popup" : "Page";
if (e.which == 13 && that.elmKeyDownTarget && that.elmKeyDownBody == currentElmKeyDownBody) {
var $elm = $(that.elmKeyDownTarget);
if ($elm.hasClass("ignoreEnterKeyEvent") || $elm.closest(".ignoreEnterKeyEvent").length) {}
else {
;
if (window.IsPopUpOpened()) {
if ($(".btnPopupContinue:visible").length && !$(".btnPopupContinue:visible").hasClass("disabled")) {
;
fAwContinue();
}
else {
;
}
}
else {
if ($(".btnPageContinue:visible").length && !$(".btnPageContinue:visible").hasClass("disabled")) {
;
fAwContinue();
}
else {
;
}
}
}
}
}
});
},
init: function(fAwContinue) {
this.ignoreEnterKeyOnElements();
this.setEnterKeyOnElements(fAwContinue);
}
};
var EnterKeyUpAndDownVerifier = {
eventTargetKeyDown: null,
bindKeyDownRegister: function() {
var that = this;
$(document).on({
"keydown": function(e) {
if (e.which == 13) {
that.eventTargetKeyDown = e.target;
}
}
});
},
isKeyUpAndDownOnSameElement: function(e) {
if (e.which == 13) {
if (e.target == this.eventTargetKeyDown) {
return true;
}
else {
return false;
}
}
}
};
function retrieve_org_url()
{
var org_url;
$(window.location.href.slice(window.location.href.indexOf('?')
+1).split('#')[0].split('&')).each(function(i, v)
{
var vars = v.split('=');
if (vars[0] == 'org_url')
org_url = vars[1];
});
return org_url;
}
function IsSupportedFeature(sFeature) {
return eval("FC." + sFeature) ? true : false;
}
function isControlSupported(control)
{
if (control.scope && control.scope.toLowerCase() != app.modeSelectorManager.getSelectedMode().toLowerCase()) {
return false;
}
if (!control.is_supported) {
return true;
}
if (typeof(control.is_supported) == "function") {
return control.is_supported();
}
for (var i = 0; i < control.is_supported.length; i++) {
if (IsSupportedFeature(control.is_supported[i])) {
return true;
}
}
return false;
}
function ChangePasswordStrengthIndicator(password) {
var strength = get_password_strength(password);
var new_class = "";
switch (strength) {
case PASSW_STRENGTH.STRONG:
$("#passwordStrengthIndicator").text(_("PAGE_PASSWORD_POPUP_PASSWORD_STRENGTH_STRONG"));
new_class = "strength5";
break;
case PASSW_STRENGTH.GOOD:
$("#passwordStrengthIndicator").text(_("PAGE_PASSWORD_POPUP_PASSWORD_STRENGTH_GOOD"));
new_class = "strength2";
break;
case PASSW_STRENGTH.WEAK:
$("#passwordStrengthIndicator").text(_("PAGE_PASSWORD_POPUP_PASSWORD_STRENGTH_WEAK"));
new_class = "strength0";
break;
default:
break;
}
$("#passwordStrengthIndicator")[0].className = $("#passwordStrengthIndicator")[0].className.replace(/strength\d/, new_class);
return strength;
}
function warnMsgsRegister(sMsg, sHtmlId, iPrio, fNeedWarnCb, oContext) {
oWarnMsgsContainer[iPrio] = {
"msg": sMsg,
"htmlId": sHtmlId,
"needWarning": fNeedWarnCb,
"ctx": oContext
};
}
function warnMsgsDisplay(iMaxWarningsCount, sBlockButtonId) {
var nDisplayed = 0;
var nBlock = 0;
HideAllPageWarnings();
for (var i in oWarnMsgsContainer) {
var obj = oWarnMsgsContainer[i];
if (obj.needWarning(obj.ctx) && nDisplayed++ < iMaxWarningsCount) {
if (obj.ctx.block == undefined || obj.ctx.block) {
nBlock++;
}
RemoveAlerts();
DisplayLocalWarning(obj.msg, obj.htmlId);
}
}
if (nDisplayed && nBlock) {
DisableButton(sBlockButtonId);
}
else {
EnableButton(sBlockButtonId);
}
}
function refresh_captcha()
{
gw_wbm_get_captcha(refresh_captcha_cb);
}
function refresh_captcha_cb(img)
{
$("#captcha_img").attr("src", "data:image/gif;base64," + img);
}
function gen_usb_state_warning()
{
var ref = "<a href='#cat=settings_energy-settings'><span>" + _("PAGE_ENERGY_SETTINGS_TITLE") + "</span></a>";
return _("PAGE_FIRMWARE_UPDATE_FIRMWARE_UPDATE_USB_OFF").replace("%s", ref);
}
function getPhoneLines(profiles) {
var linesArray = [];
if (FC.layout == wbm_layout.VOX_2_5_DE_VDSL) {
profiles.forEach(function(profile) {
if (profile.enabled.value) {
linesArray.push(profile.lines.array[0]);
}
});
}
else if (profiles[0].enabled.value) {
linesArray = profiles[0].lines.array;
}
return linesArray;
}
function is_line_type_valid(profile, types)
{
for (var i = 0; i < types.length; i++)
{
if (profile["lines"].array[0]["type"].value == types[i])
return 1;
}
return 0;
}
function getConfiguredLines(profiles) {
return getPhoneLines(profiles).filter(function(item) {
return item.enabled.value && item.number.value;
});
}
function getLineItemRsrcPath() {
return FC.layout == wbm_layout.VOX_2_5_DE_VDSL ? "voice.profiles.array.INDEX_FROM_ROUTER.lines.array.0" : "voice.profiles.array.0.lines.array.INDEX_FROM_ROUTER";
}
function CreateDateObjectFromISO(dateValue) {
var dateTimeStr = dateValue.substr(5, 2) + "/" + dateValue.substr(8, 2) + "/" + dateValue.substr(0, 4) + " " + dateValue.substr(11, 2) + ":" + dateValue.substr(14, 2);
return new Date(dateTimeStr);
}
function getDNSfromList(aAddresses, oDNS) {
for (var i = 0; i < aAddresses.length; i++) {
if (isValidIpAddress(aAddresses[i])) {
oDNS.ipv4Dns.push(aAddresses[i]);
}
else {
oDNS.ipv6Dns.push(aAddresses[i]);
}
}
}
function packet_trace_stop_wrapper() {
packet_trace_stop();
}
function convertBytes(bytes) {
var sizes = ["B", "kB", "MB", "GB", "TB", "PB", "EB", "ZB", "YB"];
var type = 0;
for (; bytes > 1024; type++, bytes = bytes / 1024)
;
return(Math.round(bytes * 100) / 100) + " " + sizes[type];
}
function getDeviceType() {
return FC.product_conf.hardware && FC.product_conf.hardware[CONFIG_BOARD_TYPE] || "default";
}
function replaceDomainAndHostName(value, rsrc_mngr) {
var domainName = rsrc_mngr.value_get("gateway.domain_name");
var hostName = rsrc_mngr.value_get("gateway.host_name");
return value.replace("s1%", hostName).replace("s2%", domainName);
}
function isIOS() {
return $.ua.os.name === 'iOS';
}
var utils = {};
(function() {
var loadedTemplates = {}, template;
utils.applyTemplate = function(templateId, data, def) {
var tpl = $('#' + templateId);
if (!loadedTemplates[templateId]) {
loadedTemplates[templateId] = doT.template(tpl.html(), undefined, def);
tpl.remove();
}
template = loadedTemplates[templateId];
return template(data);
};
}());
utils.mergeObjects = function(obj1, obj2) {
for (var attrName in obj2) {
if (obj2.hasOwnProperty(attrName)) {
obj1[attrName] = obj2[attrName];
}
}
return obj1;
};
utils.preloadImages = function() {
document.arrPI = [];
var arrImagesSrcForPreload = ["img/icons/arrow-down.png", "img/icons/dialled.png", "img/icons/error.png", "img/icons/missed.png", "img/icons/arrow-up.png", "img/icons/info.png", "img/icons/success.png", "img/icons/darkClose.png", "img/icons/received.png"];
for (var i = 0; i < arrImagesSrcForPreload.length; i++) {
document.arrPI.push(new Image());
document.arrPI[i].src = arrImagesSrcForPreload[i];
}
};
utils.initLanguagesSelector = function() {
$(".languageSelector").empty();
var languages = utils.getSupportedLanguages();
if (languages.length <= 1) {
return;
}
for (var i = 0; i < languages.length; i++) {
var languageId = languages[i].id;
var languageName = languages[i].name;
var languageItem = $("<li><a href='' data-id='" + languageId + "'>" + languageName + "</a></li>");
$(".languageSelector").append(languageItem);
}
$(".languageSelector li a").click(function() {
languageId = $(this).data("id");
createCookie("current_language", languageId);
createCookie("is_language_changed", "true");
window.location.reload();
return false;
});
};
(function() {
var arrLanguages = [{
"id": "en",
"name": _("PAGE_FOOTER_LANGUAGE_ENGLISH")
},
{
"id": "de",
"name": _("PAGE_FOOTER_LANGUAGE_DEUTSCH")
},
{
"id": "tr",
"name": _("PAGE_FOOTER_LANGUAGE_TURKISH")
},
{
"id": "uk_en",
"name": _("PAGE_FOOTER_LANGUAGE_ENGLISH")
},
{
"id": "it_en",
"name": _("PAGE_FOOTER_LANGUAGE_ENGLISH")
},
{
"id": "it",
"name": _("PAGE_FOOTER_LANGUAGE_ITALIAN")
}];
utils.getSupportedLanguages = function() {
return arrLanguages.filter(function(item) {
return FC.product_conf.languages.some(function(i) {
return i === item.id;
});
});
};
})();
(function() {
var defaultProperties = ['id', 'rsrc_ids', 'reset_if', 'labels'];
function replacePlaceholderInAttr(attr, index, placeholder) {
if (!attr) {
return null;
}
if (attr.map) {
attr = attr.map(function(item) {
return replacePlaceholderInAttr(item, index, placeholder);
});
}
else {
attr = attr.replaceAll(placeholder, index);
}
return attr;
}
utils.replacePlaceholderOnIndex = function(control, index, placeholder, items) {
items = items || defaultProperties;
items.forEach(function(attr) {
control[attr] = replacePlaceholderInAttr(control[attr], index, placeholder);
});
if (control.type == "list") {
control.itemControlTemplate = utils.replacePlaceholderOnIndex(control.itemControlTemplate, index, placeholder);
for (var j = 0; j < control.itemControlTemplate.controlsTemplate.length; j++) {
control.itemControlTemplate.controlsTemplate[j] = utils.replacePlaceholderOnIndex(control.itemControlTemplate.controlsTemplate[j], index, placeholder);
}
}
return control;
};
}());
utils.sendOnEnter = function(selector, buttonSelector, cb) {
$(selector).keyup(function(e) {
if (EnterKeyUpAndDownVerifier.isKeyUpAndDownOnSameElement(e)) {
if (!$(buttonSelector).hasClass("disabled")) {
cb();
}
}
});
};
utils.isGuestSSIDActivated = function() {
return app.preLoadResources.getResourceById("wbm.is_guest_ssid_activated");
};
utils.isIPv6Activated = function() {
return app.preLoadResources.getResourceById("ipv6.enabled");
};
utils.isBoosterMode = function() {
return app.preLoadResources.getResourceById("wbm.booster_mode.enabled");
};
utils.vikConnectionOrderObj = function() {
return[{
order: "11",
translation: _("PAGE_CONFIGURATION_INTERNET_KEY_SECTION_WIRELESS_MODE_4G")
},
{
order: "13",
translation: _("PAGE_CONFIGURATION_INTERNET_KEY_SECTION_WIRELESS_MODE_3G")
},
{
order: "15",
translation: _("PAGE_CONFIGURATION_INTERNET_KEY_SECTION_WIRELESS_MODE_2G")
},
{
order: "0",
translation: _("PAGE_CONFIGURATION_INTERNET_KEY_SECTION_WIRELESS_MODE_AUTO")
}];
};
utils.setLineStatusValue = function(line, rsrc_mngr) {
var lines = getPhoneLines(rsrc_mngr.value_get("voice.profiles.array")), lineStatus = line ? line.status.value : "", link3G = rsrc_mngr.value_get("umts.status.state"), vocsIsInitialised = rsrc_mngr.value_get("umts.status.vocs"), voiceOverPS = rsrc_mngr.value_get("gateway.fax_pos_backup.status") == "Connected" ? " " + _("PAGE_VOICE_STATUS_NUMBERS_TABLE_VIA_VIK") : "", statusObj = {
"VIA_VIK": _("PAGE_VOICE_STATUS_NUMBERS_TABLE_VIA_VIK"),
"Up": _("PAGE_VOICE_STATUS_NUMBERS_TABLE_ACTIVE") + voiceOverPS,
"Registering": _("PAGE_VOICE_STATUS_NUMBERS_TABLE_REGISTERING") + voiceOverPS,
"Disabled": _("PAGE_VOICE_STATUS_NUMBERS_TABLE_DISABLED"),
"Error": _("PAGE_VOICE_STATUS_NUMBERS_TABLE_INACTIVE"),
"": _("PAGE_VOICE_STATUS_NUMBERS_TABLE_INACTIVE")
},
linesNotUp = lines.every(function(line) {
return line.status.value != "Up";
});
if (linesNotUp && link3G == "Registered" && vocsIsInitialised) {
lineStatus = "VIA_VIK";
}
return statusObj[lineStatus];
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment