blob: 0ab267a274c26355e63697416c4128265745553b [file] [log] [blame]
b.liue9582032025-04-17 19:18:16 +08001
2(function($) {
3
4 $.fn.objInternetConn = function(InIt) {
5 var gProto;
6 var gDialSwitch;
7 var gNetworkMode;
8 var gPerferMode;
9 var gNRSupport = 0;
10 var gNRDualMultiMode = 0;
11 var gNREnable = 0;
12 //var gLtePerMode;
13 var gAutoVersionSwithFlag;
14 var gVersionSwitchFlag;
15 var gProfileArr;
16 var gEngModeFlag;
17
18 /*define array subscript index*/
19 var gProfileNameEnumIdx = 0;
20 var gPdpTypeEnumIdx = 1;
21 var gConnNumEnumIdx = 2;
22 var gTypeEnumIdx = 3;
23 var gAutoApnEnumIdx = 4;
24 var gConnModeEnumIdx = 5;
25 var gLteDefaultEnumIdx = 6;
26 var gDataOnRoamEnumIdx = 7;
27 var gPdpNameEnumIdx = 8;
28 var gEnabledEnumIdx = 9;
29 var gIpTypeEnumIdx = 10;
30 var gApnEnumIdx = 11;
31 var gLteApnEnumIdx = 12;
32 var gUser23gEnumIdx = 13;
33 var gPsswd23gEnumIdx = 14;
34 var gAuthType23gEnumIdx = 15;
35 var gUser4gEnumIdx = 16;
36 var gPsswd4gEnumIdx = 17;
37 var gAuthType4gEnumIdx = 18;
38 var gMtuEnumIdx = 19;
39 var gsingleMode = 1;
40
41 this.onLoad = function(flag) {
42 if(flag) {
43 LoadWebPage("html/internet/internet_connection.html");
44
45 $("#SelInterConnMode").change(function() {
46 if("cellular" == $(this).val()) {
47 $("#divCellularConn").show();
48 } else {
49 $("#divCellularConn").hide();
50 }
51 });
52
53 $("#Sel5GSwitch").change(function() {
54 var netMode = $("#selWorkMode").val();
55 var NRMode = $(this).val();
56
57 netWorkAdaptToNR(NRMode, netMode, gNRDualMultiMode);
58 $("#selWorkMode").val(netMode);
59 preferModeAdaptToNR(NRMode, netMode);
60 /*
61 if("1" == $(this).val()) {
62 $("#selWorkMode option[value='2']").remove();
63 $("#selWorkMode option[value='4']").remove();
64 $("#selWorkMode option[value='5']").remove();
65 $("#selWorkMode option[value='6']").remove();
66 if ($("#selWorkMode option").length <= 2) {
67 $("#selWorkMode").append("<option value='7'>5G only</option>");
68 }
69 switch (netMode) {
70 case "1":
71 $("#div4G3G2GPrefer").show();
72 if ($("#sel4G3G2GPreferMode option").length <= 3)
73 $("#sel4G3G2GPreferMode").append("<option value='9'>5G Preferred</option>");
74 break;
75 case "3":
76 $("#div4G3GPrefer").show();
77 if ($("#sel4G3GPreferMode option").length <= 2)
78 $("#sel4G3GPreferMode").append("<option value='9'>5G Preferred</option>");
79 break;
80 }
81 } else {
82 $("#selWorkMode option[value='7']").remove();
83 if ($("#selWorkMode option").length <= 2) {
84 $("#selWorkMode").append("<option value='2'>4G only</option>");
85 $("#selWorkMode").append("<option value='4'>3G/2G</option>");
86 $("#selWorkMode").append("<option value='5'>3G only</option>");
87 $("#selWorkMode").append("<option value='6'>2G only</option>");
88 }
89
90 switch (netMode) {
91 case "1":
92 $("#div4G3G2GPrefer").show();
93 $("#sel4G3G2GPreferMode option[value='9']").remove();
94 break;
95 case "3":
96 $("#div4G3GPrefer").show();
97 $("#sel4G3GPreferMode option[value='9']").remove();
98 break;
99 }
100 }
101 */
102 });
103
104 $("#selWorkMode").change(function() {
105 HideNetPerferModeDiv();
106 var netMode = $(this).val();
107 var sel5GSwitch = $("#Sel5GSwitch").val();
108
109 preferModeAdaptToNR(sel5GSwitch, netMode);
110 switch(netMode) {
111 case "1":
112 $("#div4G3G2GPrefer").show();
113 /*
114 if (sel5GSwitch == "1") {
115 if ($("#sel4G3G2GPreferMode option").length <= 3)
116 $("#sel4G3G2GPreferMode").append("<option value='9'>5G Preferred</option>");
117 }
118 else {
119 $("#sel4G3G2GPreferMode option[value='9']").remove();
120 }
121 */
122 break;
123 case "3":
124 $("#div4G3GPrefer").show();
125 /*
126 if (sel5GSwitch == "1") {
127 if ($("#sel4G3GPreferMode option").length <= 2)
128 $("#sel4G3GPreferMode").append("<option value='9'>5G Preferred</option>");
129 }
130 else {
131 $("#sel4G3GPreferMode option[value='9']").remove();
132 }
133 */
134 break;
135 /*case "4":
136 $("#div3G2GPrefer").show();
137 break;*/
138 }
139 });
140 /*
141 $("#sel4G3GPreferMode").change(function() {
142 if(3 == $(this).val()) {
143 $("#selLtePreferMode").show();
144 } else {
145 $("#selLtePreferMode").hide();
146 }
147
148 });*/
149
150
151
152
153 $("#selPdpProfileName").change(function() {
154 if("default" == $(this).val()) {
155 $("#lt_interCon_delPdpProfile").hide();
156 } else {
157 $("#lt_interCon_delPdpProfile").show();
158 }
159 var configMap = new Map();
160 configMap.put("RGW/wan/profile/profile_name",$(this).val());
161 configMap.put("RGW/wan/profile/action", 3);
162
163 var retXml = PostXml("cm","configs_handler",configMap);
164 if("OK" == $(retXml).find("response_status").text()) {
165 showProfilePdpList($(this).val());
166 } else {
167 alert("switchPdpProfile failed.");
168 }
169 });
170
171
172 $("#lt_interCon_addPdpProfile").click(function() {
173 ShowDlg("divAddPdpProfileNameDlg",400,100);
174 $("#txtPdpProfileName").click(function() {
175 $("#lPdpProfileNameError").hide();
176 });
177
178 $("#lt_btnAddPdpProfile").click(function() {
179 var profieName = $("#txtPdpProfileName").val();
180
181 if("" == profieName) {
182 $("#lPdpProfileNameError").show().text(jQuery.i18n.prop("EMPTY_PROFILE_NAME"));
183 return;
184 }
185
186 if( !deviceNameValidation(profieName)|| !IsEnglishLetter(profieName[0])) {
187 $("#lPdpProfileNameError").show().text(jQuery.i18n.prop("lPdpProfileNameFormatError"));
188 return;
189 }
190
191 /*Check whether the added profile name is exists or not*/
192 var bFound = false;
193 $("#selPdpProfileName option").each(function() {
194 if(profieName == $(this).val()) {
195 $("#lPdpProfileNameError").show().text(jQuery.i18n.prop("lPdpProfileNameRepeatError"));
196 bFound = true;
197 }
198 });
199 if(bFound) return;
200
201 CloseDlg();
202
203 var configMap = new Map();
204 configMap.put("RGW/wan/profile/profile_name",profieName);
205 configMap.put("RGW/wan/profile/action", 1);
206
207 var retXml = PostXml("cm","configs_handler",configMap);
208 if("OK" == $(retXml).find("response_status").text()) {
209 GetWanConfig();
210 } else {
211 alert("addPdpProfile failed.");
212 }
213 });
214 });
215
216
217 $("#lt_interCon_delPdpProfile").click(function() {
218 var profileName = $("#selPdpProfileName").val();
219 var strMsg = "Are you sure to delete profile name \"" + profileName + " \"";
220 if(confirm(strMsg)) {
221 var configMap = new Map();
222 configMap.put("RGW/wan/profile/profile_name",profileName);
223 configMap.put("RGW/wan/profile/action", 2);
224
225 var retXml = PostXml("cm","configs_handler",configMap);
226 if("OK" == $(retXml).find("response_status").text()) {
227 GetWanConfig();
228 } else {
229 alert("delPdpProfile failed.");
230 }
231 }
232 });
233
234 $("#lt_interCon_addPdpItem").click(function() {
235 AddPdp();
236 });
237
238 } //end flag
239
240 GetWanConfig();
241 GetNetworkMode();
242 if (GetAutoSwithInfo())
243 GetVersionSwitch();
244 GetEngMode();
245 }
246
247 this.SaveData = function() {
248 SetWanConfig();
249 SetNetworkMode();
250 if (gsingleMode == 0) {
251 SetVersionSwitch();
252 SetAutoSwith();
253 }
254 SetEngMode();
255 //this.onLoad(false);
256 }
257
258 function GetAutoSwithInfo() {
259 var retXml = PostXml("cm","get_auto_switch");
260 gAutoVersionSwithFlag = $(retXml).find("enable").text();
261 if (gAutoVersionSwithFlag == '2') {
262 $("#divVersionSwitch").hide();
263 gsingleMode = 1;
264 return false;
265 }
266 else {
267 $("#divVersionSwitch").show();
268 $("#SelAutoVersionSwitch").val(gAutoVersionSwithFlag);
269 gsingleMode = 0;
270 return true;
271 }
272 }
273
274 function SetAutoSwith() {
275 if("cellular" != $("#SelInterConnMode").val() ||
276 gAutoVersionSwithFlag == $("#SelAutoVersionSwitch").val()) {
277 return;
278 }
279
280 var mapConfig = new Map();
281 mapConfig.put("RGW/wan/enable",$("#SelAutoVersionSwitch").val());
282 PostXml("cm","set_auto_switch",mapConfig);
283 GetAutoSwithInfo();
284 }
285
286 function GetEngMode() {
287 var retXml = PostXml("cm","get_wan_configs");
288 gEngModeFlag = $(retXml).find("eng_mode").text();
289 $("#SelEngModeSwitch").val(gEngModeFlag);
290 }
291
292 function SetEngMode() {
293 if("cellular" != $("#SelInterConnMode").val() ||
294 gEngModeFlag == $("#SelEngModeSwitch").val()) {
295 return;
296 }
297
298 var mapConfig = new Map();
299 mapConfig.put("RGW/wan/mode",$("#SelEngModeSwitch").val());
300 PostXml("cm","set_eng_mode",mapConfig);
301 GetEngMode();
302 }
303
304 function AddPdp() {
305 ShowDlg("divPDPSetting",400,600);
306 $("#lt_btnSave").click(function() {
307 //don't allow to add the same type pdp.
308 var bFound = false;
309 for(var profileIdx = 0; profileIdx < gProfileArr.length; ++profileIdx) {
310 for(var pdpIdx = 0; pdpIdx < gProfileArr[profileIdx].length; ++pdpIdx) {
311 if($("#selPdpProfileName").val() != gProfileArr[profileIdx][pdpIdx][gProfileNameEnumIdx]
312 && $("#selPdpType").val() != gProfileArr[profileIdx][pdpIdx][gPdpTypeEnumIdx]) {
313 bFound = true;
314 }
315 break;
316 }
317 if(bFound) {
318 break;
319 }
320 }
321
322 if(bFound) {
323 var strMsg="pdp type \"" + $("#selPdpType").val() + "\" have existed, please add other type.";
324 alert(strMsg);
325 return;
326 }
327
328 if(!ValideMtu()) {
329 $("#lPdpSetError").show().text(jQuery.i18n.prop("lMtuInvalidTip"));
330 return;
331 }
332
333
334 var configMap = new Map();
335
336 var apnType = $("#selPdpType").val();
337 configMap.put("RGW/wan/profile/profile_name",$("#selPdpProfileName").val());
338 configMap.put("RGW/wan/profile/action",4);
339 configMap.put("RGW/wan/profile/connection_num",GetConnNumFromPdpType(apnType));
340 configMap.put("RGW/wan/profile/type",apnType);
341
342 configMap.put("RGW/wan/pdp_info/connection_num", GetConnNumFromPdpType(apnType));
343 configMap.put("RGW/wan/pdp_info/type",apnType);
344 configMap.put("RGW/wan/pdp_info/auto_apn",$("#selAutoApnSwitch").val());
345 configMap.put("RGW/wan/pdp_info/connect_mode",$("#SelConnMode").val());
346 configMap.put("RGW/wan/pdp_info/lte_default",$("#selLteDefault").val());
347 configMap.put("RGW/wan/pdp_info/data_on_roaming",$("#selDialInRoaming").val());
348
349 configMap.put("RGW/wan/pdp_info/pdp_name",$("#txtPdpName").val());
350 configMap.put("RGW/wan/pdp_info/enable",$("#selEnabledPdp").val());
351 configMap.put("RGW/wan/pdp_info/ip_type", $("#SelIpType").val());
352 configMap.put("RGW/wan/pdp_info/apn",$("#txtAPNname").val());
353 configMap.put("RGW/wan/pdp_info/lte_apn",$("#txtLteAPNname").val());
354
355 configMap.put("RGW/wan/pdp_info/authtype_2g3g", $("#Sel2G3GAuthType").val());
356 configMap.put("RGW/wan/pdp_info/pswd_2g3g",$("#txt2G3GPassword").val());
357 configMap.put("RGW/wan/pdp_info/usr_2g3g",$("#txt2G3GUser").val());
358
359 configMap.put("RGW/wan/pdp_info/usr_4g", $("#txt4GUser").val());
360 configMap.put("RGW/wan/pdp_info/pswd_4g",$("#txt4GPassword").val());
361 configMap.put("RGW/wan/pdp_info/authtype_4g",$("#Sel4GAuthType").val());
362
363 configMap.put("RGW/wan/pdp_info/mtu",$("#txtMtuValue").val());
364
365 CloseDlg();
366 var retXml = PostXml("cm","configs_handler",configMap);
367 if("OK" == $(retXml).find("response_status").text()) {
368 GetWanConfig();
369 } else {
370 alert("add pdp failed.");
371 }
372 });
373 }
374
375
376 function SetWanConfig() {
377
378 if( gProto == $("#SelInterConnMode").val()) {
379 return;
380 }
381
382 var configMap = new Map();
383 configMap.put("RGW/wan/connect_switch/proto",$("#SelInterConnMode").val());
384 configMap.put("RGW/wan/connect_switch/dial_switch",gDialSwitch);
385
386 var retXml = PostXml("cm","connection_switch",configMap);
387 if("OK" != $(retXml).find("response_status").text()) {
388 alert("SetWanConfig failed.");
389 }
390
391 var retXml = PostXml("cm","get_wan_configs");
392 gProto = $(retXml).find("proto").text();
393 $("#SelInterConnMode").val(gProto);
394 if("cellular" == gProto) {
395 $("#divCellularConn").show();
396 } else {
397 $("#divCellularConn").hide();
398 }
399
400 }
401
402 function netWorkAdaptToNR(NRMode, netMode, NRDualMultiMode) {
403 if(("1" == NRMode) && ("2" == NRDualMultiMode)) {
404 $("#selWorkMode option[value='1']").remove();
405 $("#selWorkMode").append("<option id ='lt_interCon_dropdownNRMultimode' value='1'>5G/4G/3G/2G multimode</option>");
406 $("#selWorkMode option[value='2']").remove();
407 $("#selWorkMode option[value='3']").remove();
408 $("#selWorkMode").append("<option id ='lt_interCon_dropdownNR43Gonly' value='3'>5G/4G/3G</option>");
409 //$("#selWorkMode option[value='4']").remove();
410 $("#selWorkMode option[value='5']").remove();
411 $("#selWorkMode option[value='6']").remove();
412 if ($("#selWorkMode option").length <= 2) {
413 $("#selWorkMode").append("<option value='7'>5G only</option>");
414 $("#selWorkMode").append("<option value='8'>5G/4G</option>");
415 }
416 } else if(("1" == NRMode) && ("1" == NRDualMultiMode)) {
417 $("#selWorkMode option[value='1']").remove();
418 $("#selWorkMode option[value='2']").remove();
419 $("#selWorkMode option[value='3']").remove();
420 //$("#selWorkMode option[value='4']").remove();
421 $("#selWorkMode option[value='5']").remove();
422 $("#selWorkMode option[value='6']").remove();
423 if ($("#selWorkMode option").length <= 0) {
424 $("#selWorkMode").append("<option value='7'>5G only</option>");
425 $("#selWorkMode").append("<option value='8'>5G/4G</option>");
426 }
427 } else if(("0" == NRMode) && (("2" == NRDualMultiMode) || ("0" == NRDualMultiMode))) {
428 $("#selWorkMode option[value='1']").remove();
429 $("#selWorkMode").append("<option id ='lt_interCon_dropdownMultimode' value='1'>4G/3G/2G multimode</option>");
430 $("#selWorkMode option[value='2']").remove();
431 $("#selWorkMode option[value='3']").remove();
432 $("#selWorkMode").append("<option id ='lt_interCon_dropdown43Gonly' value='3'>4G/3G</option>");
433 //$("#selWorkMode option[value='4']").remove();
434 $("#selWorkMode option[value='5']").remove();
435 $("#selWorkMode option[value='6']").remove();
436 $("#selWorkMode option[value='7']").remove();
437 $("#selWorkMode option[value='8']").remove();
438 if ($("#selWorkMode option").length <= 2) {
439 $("#selWorkMode").append("<option value='2'>4G only</option>");
440 //$("#selWorkMode").append("<option value='4'>3G/2G</option>");
441 $("#selWorkMode").append("<option value='5'>3G only</option>");
442 $("#selWorkMode").append("<option value='6'>2G only</option>");
443 }
444 } else if(("0" == NRMode) && ("1" == NRDualMultiMode)) {
445 $("#selWorkMode option[value='1']").remove();
446 $("#selWorkMode option[value='2']").remove();
447 $("#selWorkMode option[value='3']").remove();
448 //$("#selWorkMode option[value='4']").remove();
449 $("#selWorkMode option[value='5']").remove();
450 $("#selWorkMode option[value='6']").remove();
451 $("#selWorkMode option[value='7']").remove();
452 $("#selWorkMode option[value='8']").remove();
453 if ($("#selWorkMode option").length <= 0) {
454 $("#selWorkMode").append("<option value='2'>4G only</option>");
455 }
456 }
457 }
458
459 function preferModeAdaptToNR(NRMode, netMode) {
460 if("1" == NRMode) {
461 switch (netMode) {
462 case "1":
463 $("#div4G3G2GPrefer").show();
464 if ($("#sel4G3G2GPreferMode option").length <= 3)
465 $("#sel4G3G2GPreferMode").append("<option value='9'>5G Preferred</option>");
466 break;
467 case "3":
468 $("#div4G3GPrefer").show();
469 if ($("#sel4G3GPreferMode option").length <= 2)
470 $("#sel4G3GPreferMode").append("<option value='9'>5G Preferred</option>");
471 break;
472 case "8":
473 $("#div5G4GPrefer").show();
474 break;
475 }
476 }
477 else {
478 switch (netMode) {
479 case "1":
480 $("#div4G3G2GPrefer").show();
481 $("#sel4G3G2GPreferMode option[value='9']").remove();
482 break;
483 case "3":
484 $("#div4G3GPrefer").show();
485 $("#sel4G3GPreferMode option[value='9']").remove();
486 break;
487 case "8":
488 $("#div5G4GPrefer").hide();
489 break;
490 }
491 }
492 }
493
494 function GetNetworkMode() {
495 HideNetPerferModeDiv();
496 var retXml = PostXml("util_wan","get_network_mode");
497 gNetworkMode = $(retXml).find("nw_mode").text();
498 gPerferMode = $(retXml).find("prefer_mode").text();
499 gNRSupport = $(retXml).find("nr_support").text();
500 gNRDualMultiMode = $(retXml).find("nr_dual_multi_mode").text();
501 gNREnable = $(retXml).find("nr_enable").text();
502 //gLtePerMode = $(retXml).find("prefer_lte_type").text();
503
504 if (gNRSupport == 1) {
505 $("#div5GSwitch").show();
506 $("#Sel5GSwitch").val(gNREnable);
507 }
508 else {
509 $("#div5GSwitch").hide();
510 }
511
512 netWorkAdaptToNR(gNREnable, gNetworkMode, gNRDualMultiMode);
513 $("#selWorkMode").val(gNetworkMode);
514 preferModeAdaptToNR(gNREnable, gNetworkMode);
515 switch(gNetworkMode) {
516 case "1":
517 $("#div4G3G2GPrefer").show();
518 $("#sel4G3G2GPreferMode").val(gPerferMode);
519 /*if(1 == gPerferMode) {
520 $("#selLtePreferMode").show();
521 $("#selLtePreferMode").val(gLtePerMode);
522 }*/
523 break;
524 case "3":
525 $("#div4G3GPrefer").show();
526 $("#sel4G3GPreferMode").val(gPerferMode);
527 /*if(3 == gPerferMode) {
528 $("#selLtePreferMode").show();
529 $("#selLtePreferMode").val(gLtePerMode);
530 }*/
531 break;
532 /*case "4":
533 if (5 != gPerferMode && 9 != gPerferMode) {
534 gPerferMode = 6;
535 }
536 $("#div3G2GPrefer").show();
537 $("#sel3G2GPreferMode").val(gPerferMode);
538 break;*/
539 case "8":
540 $("#div5G4GPrefer").show();
541 $("#sel5G4GPreferMode").val(gPerferMode);
542 /*if(3 == gPerferMode) {
543 $("#selLtePreferMode").show();
544 $("#selLtePreferMode").val(gLtePerMode);
545 }*/
546 break;
547 }
548 }
549
550
551 function SetNetworkMode() {
552 if("cellular" != $("#SelInterConnMode").val()) {
553 return;
554 }
555
556 var NetworkMode = $("#selWorkMode").val();
557 var preferMode;
558 var nr_enable = $("#Sel5GSwitch").val();
559 //var ltePreferMode;
560
561 switch(NetworkMode) {
562 case "1":
563 preferMode = $("#sel4G3G2GPreferMode").val();
564 //ltePreferMode = $("#selLtePreferMode").val();
565 break;
566 case "3":
567 preferMode = $("#sel4G3GPreferMode").val();
568 //ltePreferMode = $("#selLtePreferMode").val();
569 break;
570 /*case "4":
571 preferMode = $("#sel3G2GPreferMode").val();
572 break;*/
573 case "8":
574 preferMode = $("#sel5G4GPreferMode").val();
575 break;
576 }
577
578 var configMap = new Map()
579 if((gNetworkMode != NetworkMode) || (gPerferMode != preferMode) || (gNREnable != nr_enable)) {
580 configMap.put("RGW/wan/nw_mode",NetworkMode);
581 configMap.put("RGW/wan/prefer_mode",preferMode);
582 configMap.put("RGW/wan/nr_enable",nr_enable);
583 }
584 /*if(1==preferMode || 3==preferMode)
585 if(gLtePerMode != ltePreferMode) {
586 configMap.put("RGW/wan/prefer_lte_type",ltePreferMode);
587 }*/
588
589 if(configMap.size() == 0) {
590 return;
591 }
592
593 var retXml = PostXml("util_wan","set_network_mode",configMap);
594 if("ERROR" == $(retXml).find("setting_response").text()) {
595 alert("SetNetworkMode failed.");
596 } else {
597 GetNetworkMode();
598 }
599 }
600
601
602 function GetWanConfig() {
603 var retXml = PostXml("cm","get_wan_configs");
604
605 gProto = $(retXml).find("proto").text();
606 gDialSwitch = $(retXml).find("dial_switch").text();
607
608 var activeProfile = $(retXml).find("actived_profile").text();
609 var profile_names = $(retXml).find("profile_names").text();
610 var engmode = $(retXml).find("mode").text();
611
612 if("," == profile_names.substr(profile_names.length-1,1)) {
613 profile_names = profile_names.substr(0,profile_names.length-1)
614 }
615 var profileNameArr = profile_names.split(",");
616
617 gProfileArr = new Array();
618
619 for(var profileIdx = 0; profileIdx < profileNameArr.length; ++ profileIdx) {
620 gProfileArr[profileIdx] = new Array();
621 var pdpIdx = 0;
622 $(retXml).find(profileNameArr[profileIdx]).each(function() {
623 $(this).find("Item").each(function() {
624 var ptype = $(this).children()[0].nodeName;
625 gProfileArr[profileIdx][pdpIdx] = new Array();
626 gProfileArr[profileIdx][pdpIdx][gProfileNameEnumIdx] = profileNameArr[profileIdx];
627 gProfileArr[profileIdx][pdpIdx][gPdpTypeEnumIdx] = ptype;
628 gProfileArr[profileIdx][pdpIdx][gConnNumEnumIdx] = $(this).find("connection_num").text();
629 gProfileArr[profileIdx][pdpIdx][gTypeEnumIdx] = $(this).find("type").text();
630 gProfileArr[profileIdx][pdpIdx][gAutoApnEnumIdx] = $(this).find("auto_apn").text();
631 gProfileArr[profileIdx][pdpIdx][gConnModeEnumIdx] = $(this).find("connect_mode").text();
632 gProfileArr[profileIdx][pdpIdx][gLteDefaultEnumIdx] = $(this).find("lte_default").text();
633 gProfileArr[profileIdx][pdpIdx][gDataOnRoamEnumIdx] = $(this).find("data_on_roaming").text();
634 gProfileArr[profileIdx][pdpIdx][gPdpNameEnumIdx] = $(this).find("pdp_name").text();
635 gProfileArr[profileIdx][pdpIdx][gEnabledEnumIdx] = $(this).find("enable").text();
636 gProfileArr[profileIdx][pdpIdx][gIpTypeEnumIdx] = $(this).find("ip_type").text();
637 gProfileArr[profileIdx][pdpIdx][gApnEnumIdx] = $(this).find("apn").text();
638 gProfileArr[profileIdx][pdpIdx][gLteApnEnumIdx] = $(this).find("lte_apn").text();
639 gProfileArr[profileIdx][pdpIdx][gUser23gEnumIdx] = $(this).find("usr_2g3g").text();
640 gProfileArr[profileIdx][pdpIdx][gPsswd23gEnumIdx] = $(this).find("pswd_2g3g").text();
641 gProfileArr[profileIdx][pdpIdx][gAuthType23gEnumIdx] = $(this).find("authtype_2g3g").text();
642 gProfileArr[profileIdx][pdpIdx][gUser4gEnumIdx] = $(this).find("usr_4g").text();
643 gProfileArr[profileIdx][pdpIdx][gPsswd4gEnumIdx] = $(this).find("pswd_4g").text();
644 gProfileArr[profileIdx][pdpIdx][gAuthType4gEnumIdx] = $(this).find("authtype_4g").text();
645 gProfileArr[profileIdx][pdpIdx][gMtuEnumIdx] = $(this).find("mtu").text();
646 ++pdpIdx;
647 });
648 });
649 }
650
651
652 $("#SelInterConnMode").val(gProto);
653 if("cellular" == gProto) {
654 $("#divCellularConn").show();
655 } else {
656 $("#divCellularConn").hide();
657 }
658
659 $("#selPdpProfileName").empty();
660 for(var profileIdx = 0; profileIdx < profileNameArr.length; ++profileIdx) {
661 var optHtml = "<option value=" + profileNameArr[profileIdx] + ">" + profileNameArr[profileIdx] + "</option>";
662 $("#selPdpProfileName").append(optHtml);
663 }
664 $("#selPdpProfileName").val(activeProfile);
665 if("default" == activeProfile) {
666 $("#lt_interCon_delPdpProfile").hide();
667 } else {
668 $("#lt_interCon_delPdpProfile").show();
669 }
670
671 showProfilePdpList(activeProfile);
672 }
673
674 function showProfilePdpList(activeProfile) {
675 $("#lsPdpInfoListtree").empty();
676 for(var profileIdx = 0; profileIdx < gProfileArr.length; ++profileIdx) {
677 for(var pdpIdx = 0; pdpIdx < gProfileArr[profileIdx].length; ++pdpIdx) {
678 if(activeProfile != gProfileArr[profileIdx][pdpIdx][gProfileNameEnumIdx]) {
679 continue;
680 }
681
682 var pdptype = gProfileArr[profileIdx][pdpIdx][gPdpTypeEnumIdx];
683
684 var strLiHtml;
685 if("default" == activeProfile) {
686 strLiHtml = "<li style='list-style-type: none;' name='" + pdptype + "'><input type='checkbox' style='display:inline;margin-right:5px;'><a><strong>"
687 + GetNameForPdpType(pdptype) + "</strong></a></li>";
688 } else {
689 strLiHtml = "<li style='list-style-type: none;' name='" + pdptype + "'><input type='checkbox' style='display:inline;margin-right:5px;'><a><strong>"
690 + GetNameForPdpType(pdptype) + "</strong></a><a class='delPdp'>" + jQuery.i18n.prop("lt_interCon_deletePdpItem") + "</a></li>";
691 }
692
693
694 $("#lsPdpInfoListtree").append(strLiHtml);
695
696 if(1 == gProfileArr[profileIdx][pdpIdx][gEnabledEnumIdx]) {
697 $("#lsPdpInfoListtree li:last input").attr("checked",true);
698 } else {
699 $("#lsPdpInfoListtree li:last input").attr("checked",false);
700 }
701
702 $("#lsPdpInfoListtree li:last input").click(function() {
703 EnabledPdp($(this).parent().attr("name"),$(this).attr("checked")?1:0);
704 });
705
706 if("default" != activeProfile) {
707 $("#lsPdpInfoListtree li:last a:last").click(function() {
708 DelPdp($(this).parents("li:first").attr("name"));
709 });
710 }
711
712 $("#lsPdpInfoListtree li:last a:first").click(function() {
713 EditPdp($(this).parents("li:first").attr("name"));
714 });
715 }
716 }
717 }
718
719 function GetSelectedPdpInfo(pdpType) {
720 var pdpArr=null;
721 var bFound = false;
722 for(var profileIdx = 0; profileIdx < gProfileArr.length; ++profileIdx) {
723 for(var pdpIdx = 0; pdpIdx < gProfileArr[profileIdx].length; ++pdpIdx) {
724 if($("#selPdpProfileName").val() != gProfileArr[profileIdx][pdpIdx][gProfileNameEnumIdx]
725 || pdpType != gProfileArr[profileIdx][pdpIdx][gPdpTypeEnumIdx]) {
726 continue;
727 }
728 pdpArr = gProfileArr[profileIdx][pdpIdx];
729 bFound = true;
730 break;
731 }
732 if(bFound) {
733 break;
734 }
735 }
736 return pdpArr;
737 }
738
739 function EnabledPdp(pdpType,enabledStatus) {
740 var pdpArr =GetSelectedPdpInfo(pdpType);
741
742 var configMap = new Map();
743 configMap.put("RGW/wan/profile/profile_name",pdpArr[gProfileNameEnumIdx]);
744 configMap.put("RGW/wan/profile/action",6);
745 configMap.put("RGW/wan/profile/connection_num",pdpArr[gConnNumEnumIdx]);
746 configMap.put("RGW/wan/profile/type",pdpArr[gPdpTypeEnumIdx]);
747
748 configMap.put("RGW/wan/pdp_info/connection_num", pdpArr[gConnNumEnumIdx]);
749 configMap.put("RGW/wan/pdp_info/type",pdpArr[gTypeEnumIdx]);
750 configMap.put("RGW/wan/pdp_info/auto_apn",pdpArr[gAutoApnEnumIdx]);
751 configMap.put("RGW/wan/pdp_info/connect_mode",pdpArr[gConnModeEnumIdx]);
752 configMap.put("RGW/wan/pdp_info/lte_default",pdpArr[gLteDefaultEnumIdx]);
753 configMap.put("RGW/wan/pdp_info/data_on_roaming",pdpArr[gDataOnRoamEnumIdx]);
754
755 configMap.put("RGW/wan/pdp_info/pdp_name",pdpArr[gPdpNameEnumIdx]);
756 configMap.put("RGW/wan/pdp_info/enable",enabledStatus);
757 configMap.put("RGW/wan/pdp_info/ip_type", pdpArr[gIpTypeEnumIdx]);
758 configMap.put("RGW/wan/pdp_info/apn",pdpArr[gApnEnumIdx]);
759 configMap.put("RGW/wan/pdp_info/lte_apn",pdpArr[gLteApnEnumIdx]);
760
761 configMap.put("RGW/wan/pdp_info/authtype_2g3g", pdpArr[gAuthType23gEnumIdx]);
762 configMap.put("RGW/wan/pdp_info/pswd_2g3g",pdpArr[gPsswd23gEnumIdx]);
763 configMap.put("RGW/wan/pdp_info/usr_2g3g",pdpArr[gUser23gEnumIdx]);
764
765 configMap.put("RGW/wan/pdp_info/usr_4g", pdpArr[gUser4gEnumIdx]);
766 configMap.put("RGW/wan/pdp_info/pswd_4g",pdpArr[gPsswd4gEnumIdx]);
767 configMap.put("RGW/wan/pdp_info/authtype_4g",pdpArr[gAuthType4gEnumIdx]);
768
769 configMap.put("RGW/wan/pdp_info/mtu",pdpArr[gMtuEnumIdx]);
770
771 CloseDlg();
772 var retXml = PostXml("cm","configs_handler",configMap);
773 if("OK" == $(retXml).find("response_status").text()) {
774 GetWanConfig();
775 } else {
776 alert("enabled pdp failed.");
777 }
778 }
779
780 function ValideMtu() {
781 if("" == $("#txtMtuValue").val()) {
782 return false;
783 }
784 var mtuValue = parseInt($("#txtMtuValue").val());
785 if(mtuValue < 1000 || mtuValue > 1500) {
786 return false;
787 }
788 return true;
789 }
790 function DisableEnablePDPParam(disable_flag) {
791 if (disable_flag == "1") {
792 $("#SelConnMode").attr("disabled", true);
793 $("#selLteDefault").attr("disabled", true);
794 $("#selDialInRoaming").attr("disabled", true);
795 $("#txtPdpName").attr("disabled", true);
796 $("#selEnabledPdp").attr("disabled", true);
797 $("#SelIpType").attr("disabled", true);
798 $("#txtAPNname").attr("disabled", true);
799 $("#txtLteAPNname").attr("disabled", true);
800 $("#txt2G3GUser").attr("disabled", true);
801 $("#txt2G3GPassword").attr("disabled", true);
802 $("#Sel2G3GAuthType").attr("disabled", true);
803 $("#txt4GUser").attr("disabled", true);
804 $("#txt4GPassword").attr("disabled", true);
805 $("#Sel4GAuthType").attr("disabled", true);
806 $("#txtMtuValue").attr("disabled", true);
807 } else {
808 $("#SelConnMode").attr("disabled", false);
809 $("#selLteDefault").attr("disabled", false);
810 $("#selDialInRoaming").attr("disabled", false);
811 $("#txtPdpName").attr("disabled", false);
812 $("#selEnabledPdp").attr("disabled", false);
813 $("#SelIpType").attr("disabled", false);
814 $("#txtAPNname").attr("disabled", false);
815 $("#txtLteAPNname").attr("disabled", false);
816 $("#txt2G3GUser").attr("disabled", false);
817 $("#txt2G3GPassword").attr("disabled", false);
818 $("#Sel2G3GAuthType").attr("disabled", false);
819 $("#txt4GUser").attr("disabled", false);
820 $("#txt4GPassword").attr("disabled", false);
821 $("#Sel4GAuthType").attr("disabled", false);
822 $("#txtMtuValue").attr("disabled", false);
823 }
824 }
825
826 function EditPdp(pdpType) {
827 var pdpArr =GetSelectedPdpInfo(pdpType);
828
829 ShowDlg("divPDPSetting",400,600);
830 $("#selPdpType").attr("readonly","readonly").attr("disabled","disabled");
831
832 $("#selPdpType").val(pdpArr[gPdpTypeEnumIdx]);
833 $("#selAutoApnSwitch").val(pdpArr[gAutoApnEnumIdx]);
834 $("#SelConnMode").val(pdpArr[gConnModeEnumIdx]);
835 $("#selLteDefault").val(pdpArr[gLteDefaultEnumIdx]);
836 $("#selDialInRoaming").val(pdpArr[gDataOnRoamEnumIdx]);
837 $("#txtPdpName").val(pdpArr[gPdpNameEnumIdx]);
838 $("#selEnabledPdp").val(pdpArr[gEnabledEnumIdx]);
839 $("#SelIpType").val(pdpArr[gIpTypeEnumIdx]);
840 $("#txtAPNname").val(pdpArr[gApnEnumIdx]);
841 $("#txtLteAPNname").val(pdpArr[gLteApnEnumIdx]);
842 $("#txt2G3GUser").val(pdpArr[gUser23gEnumIdx]);
843 $("#txt2G3GPassword").val(pdpArr[gPsswd23gEnumIdx]);
844 $("#Sel2G3GAuthType").val(pdpArr[gAuthType23gEnumIdx]);
845 $("#txt4GUser").val(pdpArr[gUser4gEnumIdx]);
846 $("#txt4GPassword").val(pdpArr[gPsswd4gEnumIdx]);
847 $("#Sel4GAuthType").val(pdpArr[gAuthType4gEnumIdx]);
848 $("#txtMtuValue").val(pdpArr[gMtuEnumIdx]);
849
850 DisableEnablePDPParam(pdpArr[gAutoApnEnumIdx]);
851 $("#selAutoApnSwitch").change(function() {
852 DisableEnablePDPParam($(this).val());
853 });
854
855 $("#lt_btnSave").click(function() {
856
857 if(!ValideMtu()) {
858 $("#lPdpSetError").show().text(jQuery.i18n.prop("lMtuInvalidTip"));
859 return;
860 }
861
862 var configMap = new Map();
863 configMap.put("RGW/wan/profile/profile_name",pdpArr[gProfileNameEnumIdx]);
864 configMap.put("RGW/wan/profile/action",6);
865 configMap.put("RGW/wan/profile/connection_num",pdpArr[gConnNumEnumIdx]);
866 configMap.put("RGW/wan/profile/type",pdpArr[gPdpTypeEnumIdx]);
867
868 configMap.put("RGW/wan/pdp_info/connection_num", pdpArr[gConnNumEnumIdx]);
869 configMap.put("RGW/wan/pdp_info/type",pdpArr[gPdpTypeEnumIdx]);
870 configMap.put("RGW/wan/pdp_info/auto_apn",$("#selAutoApnSwitch").val());
871 configMap.put("RGW/wan/pdp_info/connect_mode",$("#SelConnMode").val());
872 configMap.put("RGW/wan/pdp_info/lte_default",$("#selLteDefault").val());
873 configMap.put("RGW/wan/pdp_info/data_on_roaming",$("#selDialInRoaming").val());
874
875 configMap.put("RGW/wan/pdp_info/pdp_name",$("#txtPdpName").val());
876 configMap.put("RGW/wan/pdp_info/enable",$("#selEnabledPdp").val());
877 configMap.put("RGW/wan/pdp_info/ip_type", $("#SelIpType").val());
878 configMap.put("RGW/wan/pdp_info/apn",$("#txtAPNname").val());
879 configMap.put("RGW/wan/pdp_info/lte_apn",$("#txtLteAPNname").val());
880
881 configMap.put("RGW/wan/pdp_info/authtype_2g3g", $("#Sel2G3GAuthType").val());
882 configMap.put("RGW/wan/pdp_info/pswd_2g3g",$("#txt2G3GPassword").val());
883 configMap.put("RGW/wan/pdp_info/usr_2g3g",$("#txt2G3GUser").val());
884
885 configMap.put("RGW/wan/pdp_info/usr_4g", $("#txt4GUser").val());
886 configMap.put("RGW/wan/pdp_info/pswd_4g",$("#txt4GPassword").val());
887 configMap.put("RGW/wan/pdp_info/authtype_4g",$("#Sel4GAuthType").val());
888
889 configMap.put("RGW/wan/pdp_info/mtu",$("#txtMtuValue").val());
890
891 CloseDlg();
892 var retXml = PostXml("cm","configs_handler",configMap);
893 if("OK" == $(retXml).find("response_status").text()) {
894 GetWanConfig();
895 } else {
896 alert("edit pdp failed.");
897 }
898 });
899 }
900
901 function DelPdp(pdpType) {
902 var pdpArr =GetSelectedPdpInfo(pdpType);
903 var strMsg = "Are you sure to delete \"" + GetNameForPdpType(pdpType) + "\"?";
904 if(!confirm(strMsg)) {
905 return;
906 }
907
908 var configMap = new Map();
909 configMap.put("RGW/wan/profile/profile_name",pdpArr[gProfileNameEnumIdx]);
910 configMap.put("RGW/wan/profile/action", 5);
911 configMap.put("RGW/wan/profile/connection_num", pdpArr[gConnNumEnumIdx]);
912 configMap.put("RGW/wan/profile/type", pdpType);
913
914 var retXml = PostXml("cm","configs_handler",configMap);
915 if("OK" == $(retXml).find("response_status").text()) {
916 GetWanConfig();
917 } else {
918 alert("delPdp failed.");
919 }
920 }
921
922 function GetVersionSwitch() {
923 var retXml = PostXml("cm","cm_get_image_type");
924 gVersionSwitchFlag = $(retXml).find("Image_type").text();
925 $("#SelVersionSwitch").val(gVersionSwitchFlag);
926 }
927
928 function SetVersionSwitch() {
929 if("cellular" != $("#SelInterConnMode").val() ||
930 gVersionSwitchFlag == $("#SelVersionSwitch").val())
931 return;
932
933 var mapConfig = new Map();
934 mapConfig.put("RGW/wan/Image_type",$("#SelVersionSwitch").val());
935 PostXml("cm","cm_set_image_type",mapConfig);
936 GetVersionSwitch();
937 }
938
939 function HideNetPerferModeDiv() {
940 $("#div4G3G2GPrefer").hide();
941 $("#div3G2GPrefer").hide();
942 $("#div4G3GPrefer").hide();
943 $("#div5G4GPrefer").hide();
944 }
945
946 function GetConnNumFromPdpType(type) {
947 var connNum;
948 switch(type) {
949 case "default":
950 connNum = 0x00;
951 break;
952 case "ims":
953 connNum = 0x10;
954 break;
955 case "mms":
956 connNum = 0x20;
957 break;
958 case "supl":
959 connNum = 0x30;
960 break;
961 case "fota":
962 connNum = 0x40;
963 break;
964 case "bip":
965 connNum = 0x40;
966 break;
967 }
968 return connNum;
969 }
970
971 function GetNameForPdpType(pdptype) {
972 var strPdpTypeName="";
973 switch(pdptype) {
974 case "default":
975 strPdpTypeName = "Internet PDP";
976 break;
977 case "ims":
978 strPdpTypeName = "IMS PDP";
979 break;
980 case "mms":
981 strPdpTypeName = "MMS PDP";
982 break;
983 case "supl":
984 strPdpTypeName = "SUPL PDP";
985 break;
986 case "fota":
987 strPdpTypeName = "FOTA PDP";
988 break;
989 case "bip":
990 strPdpTypeName = "BIP PDP";
991 break;
992 }
993 return strPdpTypeName;
994 }
995
996 return this;
997 }
998})(jQuery);
999