controlador-js.js 26 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784
  1. var $j = jQuery.noConflict();
  2. localStorage.removeItem('datos');
  3. /*
  4. variables
  5. */
  6. var BaseURL = "https://easyvent.solerpalau.com/";
  7. var ColumnDescription = "Descripcion";
  8. var ColumnCode = "Codigo de producto";
  9. var compareEnabled = false;
  10. var residential = false;
  11. var Mode = 'p';
  12. var ViewStr = "Ver";
  13. if (submodelo == 'SILENT DESIGN') {
  14. residential = true;
  15. }
  16. /*
  17. Se inicializa el número de columnas de tabla dependiendo su modelo o submodelo
  18. */
  19. console.log(modeloGlobal);
  20. console.log(submodelo);
  21. //alert("Modelo: " + modeloGlobal + " Submodelo: " + submodelo)
  22. if (modeloGlobal == 'Accesorios Hábitat' ||
  23. modeloGlobal == 'Accesorios' ||
  24. modeloGlobal == 'Accesorios de Montaje' ||
  25. modeloGlobal == 'Atenuadores Acústicos' ||
  26. modeloGlobal == "Accesorios para axiales de pared" ||
  27. modeloGlobal == "Accesorios para centrífugos en línea"
  28. ) {
  29. console.log(1);
  30. var erpCompliantColumnIdx = 4;
  31. compareEnabled = false;
  32. var columnsArr = [
  33. /* 1 */ {},
  34. /* 2 */ { visible: true },
  35. /* 3 */ { visible: true },
  36. /* 4 */ { visible: false },
  37. /* 5 */ { visible: false },
  38. /* 6 */ { visible: false },
  39. /* 7 */ { visible: false },
  40. /* 8 */ { visible: false },
  41. /* 9 */ { visible: false },
  42. /* 10 */ { visible: false }
  43. ];
  44. } else if (
  45. modeloGlobal == 'Centrífugos en Línea' && (submodelo == 'CLEC') ||
  46. modeloGlobal == 'Centrífugo con rodete de álabes radiales' && (submodelo == 'KC-KM')
  47. ) {
  48. console.log(2);
  49. var columnsArr = [
  50. /* 1 */ {},
  51. /* 2 */ { visible: false, searchable: false },
  52. /* 3 */ { visible: true },
  53. /* 4 */ { visible: true },
  54. /* 5 */ { visible: true },
  55. /* 6 */ { visible: true },
  56. /* 7 */ { visible: true },
  57. /* 8 */ { visible: true },
  58. /* 9 */ { visible: true },
  59. /* 10 */ { visible: true },
  60. /* 11 */ { visible: true },
  61. /* 12 */ { visible: true },
  62. /* 13 */ { visible: false },
  63. /* 14 */ { visible: false },
  64. /* 15 */ { visible: false },
  65. /* 16 */ { visible: false },
  66. /* 17 */ { visible: false },
  67. /* 18 */ { visible: false },
  68. /* 19 */ { visible: false },
  69. ];
  70. var residential = false;
  71. var erpCompliantColumnIdx = 13;
  72. } else if (modeloGlobal == 'Cortinas de Aire' || submodelo == 'CBP-W') {
  73. console.log(3);
  74. var columnsArr = [{},
  75. /* 1 */ { visible: false, searchable: false },
  76. /* 2 */ { visible: true },
  77. /* 3 */ { visible: true },
  78. /* 4 */ { visible: true },
  79. /* 5 */ { visible: true },
  80. /* 6 */ { visible: true },
  81. /* 7 */ { visible: false },
  82. /* 8 */ { visible: false },
  83. /* 9 */ { visible: false },
  84. /* 10 */ { visible: false },
  85. /* 11 */ { visible: false },
  86. /* 12 */ { visible: false },
  87. /* 13 */ { visible: false }
  88. ];
  89. var residential = false;
  90. var erpCompliantColumnIdx = 8;
  91. } else if ((modeloGlobal == 'Jet Fan' && ( submodelo != 'IFFT' && submodelo != 'IFHT' )) || submodelo == 'HVF') {
  92. console.log(4);
  93. var columnsArr = [{},
  94. /* 1 */ { visible: false, searchable: false },
  95. /* 2 */ { visible: true },
  96. /* 3 */ { visible: true },
  97. /* 4 */ { visible: true },
  98. /* 5 */ { visible: true },
  99. /* 6 */ { visible: true },
  100. /* 7 */ { visible: true },
  101. /* 8 */ { visible: false },
  102. /* 9 */ { visible: false },
  103. /* 10 */ { visible: false },
  104. /* 11 */ { visible: false },
  105. /* 12 */ { visible: false },
  106. /* 13 */ { visible: false },
  107. /* 14 */ { visible: false },
  108. ];
  109. var residential = false;
  110. var erpCompliantColumnIdx = 9;
  111. } else if ((modeloGlobal == 'Jet Fan' && ( submodelo == 'IFFT' || submodelo == 'IFHT' ))) {
  112. console.log(5);
  113. var columnsArr = [{},
  114. /* 1 */ { visible: false, searchable: false },
  115. /* 2 */ { visible: true },
  116. /* 3 */ { visible: true },
  117. /* 4 */ { visible: true },
  118. /* 5 */ { visible: true },
  119. /* 6 */ { visible: true },
  120. /* 7 */ { visible: true },
  121. /* 8 */ { visible: false },
  122. /* 9 */ { visible: false },
  123. /* 10 */ { visible: false },
  124. /* 11 */ { visible: false },
  125. /* 12 */ { visible: false },
  126. /* 13 */ { visible: false },
  127. /* 14 */ { visible: false },
  128. /* 15 */ { visible: false },
  129. ];
  130. var residential = false;
  131. var erpCompliantColumnIdx = 9;
  132. } else if (submodelo == 'VT') {
  133. console.log(6);
  134. var columnsArr = [{},
  135. /* 1 */ { visible: false, searchable: false },
  136. /* 2 */ { visible: true },
  137. /* 3 */ { visible: true },
  138. /* 4 */ { visible: true },
  139. /* 5 */ { visible: true },
  140. /* 6 */ { visible: true },
  141. /* 7 */ { visible: true },
  142. /* 8 */ { visible: true },
  143. /* 9 */ { visible: true },
  144. /* 10 */ { visible: false },
  145. /* 11 */ { visible: false },
  146. /* 12 */ { visible: false },
  147. /* 13 */ { visible: false },
  148. /* 14 */ { visible: false },
  149. /* 15 */ { visible: false },
  150. /* 16 */ { visible: false }
  151. ];
  152. var residential = false;
  153. var erpCompliantColumnIdx = 11;
  154. } else if (
  155. modeloGlobal == 'Extractor para baño' && ( submodelo == 'DECOR DESIGN' || submodelo == 'SILENT DUAL') ||
  156. modeloGlobal == 'Centrífugos en Línea' && ( submodelo == 'CLT')
  157. ) {
  158. console.log(7);
  159. var erpCompliantColumnIdx = 11;
  160. compareEnabled = false;
  161. var columnsArr = [
  162. /* 1 */ {},
  163. /* 2 */ { visible: false, searchable: false },
  164. /* 3 */ { visible: true, searchable: false },
  165. /* 4 */ { visible: true, searchable: false },
  166. /* 5 */ { visible: true, searchable: false },
  167. /* 6 */ { visible: true, searchable: false },
  168. /* 7 */ { visible: true, searchable: false },
  169. /* 8 */ { visible: true, searchable: false },
  170. /* 9 */ { visible: true, searchable: false },
  171. /* 10 */ { visible: true, searchable: false },
  172. /* 11 */ { visible: true, searchable: false },
  173. /* 12 */ { visible: false, searchable: false },
  174. /* 13 */ { visible: false, searchable: false },
  175. /* 14 */ { visible: false, searchable: false },
  176. /* 15 */ { visible: false, searchable: false },
  177. /* 16 */ { visible: false, searchable: false },
  178. /* 17 */ { visible: false, searchable: false },
  179. /* 18 */ { visible: false, searchable: false },
  180. /* 19 */ { visible: false, searchable: false },
  181. /* 20 */ { visible: false, searchable: false },
  182. ];
  183. } else if (
  184. modeloGlobal == 'Extractor para baño' && (submodelo == 'FUTURE' || submodelo == 'SILENT DESIGN') ||
  185. modeloGlobal == 'Centrífugos de falso plafón' ||
  186. modeloGlobal == "Centrífugo para campana" ||
  187. modeloGlobal == "Extractor para pared y cristal" ||
  188. modeloGlobal == "Extractores Helicocentrífugos"
  189. ) {
  190. console.log(8);
  191. var erpCompliantColumnIdx = 11;
  192. compareEnabled = true;
  193. var columnsArr = [
  194. /* 1 */ {},
  195. /* 2 */ { visible: false, searchable: false },
  196. /* 3 */ { visible: true },
  197. /* 4 */ { visible: true },
  198. /* 5 */ { visible: true },
  199. /* 6 */ { visible: true },
  200. /* 7 */ { visible: true },
  201. /* 8 */ { visible: true },
  202. /* 9 */ { visible: true },
  203. /* 10 */ { visible: true },
  204. /* 11 */ { visible: false },
  205. /* 12 */ { visible: false },
  206. /* 13 */ { visible: false },
  207. /* 14 */ { visible: false },
  208. /* 15 */ { visible: false },
  209. /* 16 */ { visible: false },
  210. /* 17 */ { visible: false },
  211. /* 18 */ { visible: false }
  212. ];
  213. } else if(
  214. modeloGlobal == "Ventiladores de Alabes Rectos" ||
  215. modeloGlobal == "Rotor Externo" ||
  216. modeloGlobal == "Axiales de Pared" ||
  217. modeloGlobal == "Ventilador Axial con Domo para Techo" ||
  218. modeloGlobal == "Axiales de tejado" ||
  219. modeloGlobal == "Axiales Directos" ||
  220. modeloGlobal == "Cajas de ventilación Axiales" ||
  221. modeloGlobal == "Cajas de ventilación Axiales" ||
  222. modeloGlobal == "Centrífugos" ||
  223. modeloGlobal == "Axiales con Transmisión" && (submodelo != "HGTA") ||
  224. modeloGlobal == "Ventiladores Gama Vent-Set" && (submodelo == "CMX") ||
  225. modeloGlobal=="Centrífugos en Línea" && (submodelo !== 'CLEC') ||
  226. modeloGlobal=="Tubulares" && (submodelo != "TGT") ||
  227. modeloGlobal == 'Centrífugos de Tejado y Pared' && (submodelo == "CRHL-D" || submodelo == "CRVL-D" || submodelo == "CRWL-D") ||
  228. modeloGlobal == 'Sector Transformadores' && (submodelo == "BD" || submodelo == "BS")
  229. ) {
  230. console.log(9);
  231. var erpCompliantColumnIdx = 11;
  232. compareEnabled = true;
  233. var columnsArr = [
  234. /* 1 */ {},
  235. /* 2 */ { visible: false, searchable: false },
  236. /* 3 */ { visible: true },
  237. /* 4 */ { visible: true },
  238. /* 5 */ { visible: true },
  239. /* 6 */ { visible: true },
  240. /* 7 */ { visible: true },
  241. /* 8 */ { visible: true },
  242. /* 9 */ { visible: true },
  243. /* 10 */ { visible: true },
  244. /* 11 */ { visible: false },
  245. /* 12 */ { visible: false },
  246. /* 13 */ { visible: false },
  247. /* 14 */ { visible: false },
  248. /* 15 */ { visible: false },
  249. /* 16 */ { visible: false },
  250. /* 17 */ { visible: false },
  251. /* 18 */ { visible: false },
  252. ];
  253. }else if(
  254. ( modeloGlobal == "Axiales con Transmisión" && submodelo == "HGTA") ||
  255. ( modeloGlobal == "Ventiladores Gama Vent-Set" && submodelo != "CMX" ) ||
  256. modeloGlobal == "Centrífugos de doble oído de aspiración" ||
  257. modeloGlobal == "Cajas de Ventilación" ||
  258. modeloGlobal == "Cajas de Ventilación Compactas" ||
  259. modeloGlobal == "Centrífugos de Tejado" ||
  260. modeloGlobal == "Ventiladores de Alabes Curvos Adelantados" ||
  261. modeloGlobal == "Unidades de Ventilación" ||
  262. (
  263. modeloGlobal == 'Centrífugos de Tejado y Pared' && submodelo == "CRHH-T" ||
  264. modeloGlobal == 'Centrífugos de Tejado y Pared' && submodelo == "CRHL-T" ||
  265. modeloGlobal == 'Centrífugos de Tejado y Pared' && submodelo == "CRVH-T" ||
  266. modeloGlobal == 'Centrífugos de Tejado y Pared' && submodelo == "CRVL-T" ||
  267. modeloGlobal == 'Centrífugos de Tejado y Pared' && submodelo == "CRWL-T"
  268. )
  269. ) {
  270. console.log(10);
  271. var erpCompliantColumnIdx = 11;
  272. compareEnabled = true;
  273. var columnsArr = [
  274. /* 1 */ {} ,
  275. /* 2 */ { visible: false, searchable: false },
  276. /* 3 */ { visible: true },
  277. /* 4 */ { visible: true },
  278. /* 5 */ { visible: true },
  279. /* 6 */ { visible: true },
  280. /* 7 */ { visible: true },
  281. /* 8 */ { visible: true },
  282. /* 9 */ { visible: true },
  283. /* 10 */ { visible: true },
  284. /* 11 */ { visible: false },
  285. /* 12 */ { visible: false },
  286. /* 13 */ { visible: false },
  287. /* 14 */ { visible: false },
  288. /* 15 */ { visible: false },
  289. /* 16 */ { visible: false },
  290. /* 17 */ { visible: false },
  291. /* 18 */ { visible: false },
  292. /* 19 */ { visible: false },
  293. /* 20 */ { visible: false }
  294. ];
  295. }else if(modeloGlobal == "Tubulares" && submodelo == "TGT" ) {
  296. console.log(11);
  297. var erpCompliantColumnIdx = 11;
  298. compareEnabled = true;
  299. var columnsArr = [
  300. /* 1 */ {},
  301. /* 2 */ { visible: false, searchable: false },
  302. /* 3 */ { visible: true },
  303. /* 4 */ { visible: true },
  304. /* 5 */ { visible: true },
  305. /* 6 */ { visible: true },
  306. /* 7 */ { visible: true },
  307. /* 8 */ { visible: true },
  308. /* 9 */ { visible: true },
  309. /* 10 */ { visible: true },
  310. /* 11 */ { visible: false },
  311. /* 12 */ { visible: false },
  312. /* 13 */ { visible: false },
  313. /* 14 */ { visible: false },
  314. /* 15 */ { visible: false },
  315. /* 16 */ { visible: false }
  316. ];
  317. }else if (
  318. (modeloGlobal == "Ventiladores Gama Vent-Set" && (submodelo == "CM" || submodelo == "CMA"))
  319. || (modeloGlobal == "Ventiladores Centrífugos Tubulares" && submodelo == "TBN")
  320. || (modeloGlobal == "Sector HVAC" && submodelo == "BDB")
  321. || (modeloGlobal == "Ventiladores Centrífugos Tipo Pleno" && (submodelo == "BNC R" || submodelo == 'BNC P' || submodelo == 'BNC Q'))
  322. ) {
  323. console.log(12);
  324. var erpCompliantColumnIdx = 11;
  325. compareEnabled = true;
  326. var columnsArr = [
  327. /* 1 */ {},
  328. /* 2 */ { visible: false, searchable: false },
  329. /* 3 */ { visible: true },
  330. /* 4 */ { visible: true },
  331. /* 5 */ { visible: true },
  332. /* 6 */ { visible: true },
  333. /* 7 */ { visible: true },
  334. /* 8 */ { visible: true },
  335. /* 9 */ { visible: true },
  336. /* 10 */ { visible: true },
  337. /* 11 */ { visible: false },
  338. /* 12 */ { visible: false },
  339. /* 13 */ { visible: false },
  340. /* 14 */ { visible: false },
  341. /* 15 */ { visible: false },
  342. /* 16 */ { visible: false },
  343. /* 17 */ { visible: false },
  344. /* 18 */ { visible: false },
  345. /* 19 */ { visible: false },
  346. /* 20 */ { visible: false }
  347. ];
  348. }else if(
  349. modeloGlobal == 'Accesorios Eléctricos' && ( submodelo == 'INTERRUPTOR DE PRESIÓN' || submodelo == 'REGULADOR DE VELOCIDAD') ||
  350. submodelo == "BRIDA CL"
  351. ) {
  352. console.log(13);
  353. var erpCompliantColumnIdx = 11;
  354. compareEnabled = true;
  355. var columnsArr = [
  356. /* 1 */ {},
  357. /* 2 */ { visible: false, searchable: false },
  358. /* 3 */ { visible: true },
  359. /* 4 */ { visible: true },
  360. /* 5 */ { visible: true },
  361. /* 6 */ { visible: true },
  362. /* 7 */ { visible: true },
  363. /* 8 */ { visible: true },
  364. /* 9 */ { visible: true },
  365. /* 10 */ { visible: true },
  366. ];
  367. }else {
  368. console.log(14);
  369. // 17
  370. var erpCompliantColumnIdx = 11;
  371. compareEnabled = true;
  372. var columnsArr = [
  373. /* 1 */ {},
  374. /* 2 */ { visible: false, searchable: false },
  375. /* 3 */ { visible: true },
  376. /* 4 */ { visible: true },
  377. /* 5 */ { visible: true },
  378. /* 6 */ { visible: true },
  379. /* 7 */ { visible: true },
  380. /* 8 */ { visible: true },
  381. /* 9 */ { visible: true },
  382. /* 10 */ { visible: true },
  383. /* 11 */ { visible: false },
  384. /* 12 */ { visible: false },
  385. /* 13 */ { visible: false },
  386. /* 14 */ { visible: false },
  387. /* 15 */ { visible: false },
  388. /* 16 */ { visible: false },
  389. /* 17 */ { visible: false },
  390. ];
  391. }
  392. /*
  393. Si hay la opción de comparación, entonces carga los datos de la tabla
  394. */
  395. if (compareEnabled) {
  396. $j("#saved-grid").DataTable({
  397. language: {
  398. url: 'js/0.js'
  399. },
  400. searching: false,
  401. lengthChange: false,
  402. pageLength: 20,
  403. data: [],
  404. responsive: {
  405. details: {
  406. type: 'column'
  407. }
  408. },
  409. rowId: 'RowId',
  410. columns: [
  411. {
  412. title: "", data: "Id", orderable: false, render: function (data, type, full, meta) {
  413. }
  414. },
  415. { data: "SKU", title: ColumnCode, visible: true },
  416. { data: "Description", title: ColumnDescription, visible: true },
  417. { data: "Duty", visible: false },
  418. { data: "SelectionVolume", visible: false },
  419. { data: "SelectionPressure", visible: false },
  420. {
  421. title: "", data: "Id", orderable: false, render: function (data, type, full, meta) {
  422. }
  423. }
  424. ]
  425. });
  426. }
  427. /*
  428. Si hay la opción de comparación, entonces carga el botón para hacer la comparación
  429. */
  430. if (compareEnabled) {
  431. columnsArr[columnsArr.length - 1] = {
  432. title: "",
  433. render: function (data, type, full, meta) {
  434. if (data == "hide") {
  435. return "<a style='cursor: not-allowed; opacity: 0.5;' class='btn btn-default btn-xs'><i class=\"fa fa-balance-scale\" aria-hidden=\"true\"></i></a>";
  436. } else {
  437. var index = meta.row;
  438. var model = full[1]; //modelo ID
  439. var codigoProducto = full[2]; //código de producto
  440. // cloneFan(index, model);
  441. return "<a style=\"cursor: pointer;\" class=\"btn btn-default btn-xs\" onclick=\" getComparador('" + index + "','" + model + "','" + codigoProducto + "')\"><i class=\"fa fa-balance-scale\" aria-hidden=\"true\"></i></a>";
  442. }
  443. }
  444. };
  445. }
  446. /*
  447. Si hay la opción de comparación, entonces carga un botón para ver los
  448. detalles del producto en otra página
  449. */
  450. var contador = 0;
  451. columnsArr[columnsArr.length - (compareEnabled ? 2 : 1)] = {
  452. title: "",
  453. render: function (data, type, full, meta) {
  454. if (data == "hide") {
  455. // return "<a style='cursor: not-allowed; opacity: 0.5;' class='btn btn-default btn-xs'><i class=\"fa fa-search\" aria-hidden=\"true\"></i> " + ViewStr + "</a>";
  456. } else {
  457. var model = full[1];
  458. var frequency = full[full.length - (compareEnabled ? 7 : 6)];
  459. var principal = full[full.length - (compareEnabled ? 5 : 4)];
  460. if (!principal) principal = -1;
  461. var tmode = full[full.length - (compareEnabled ? 3 : 2)]; // Fan, FerrariFan, Accessory
  462. var seriesId = $j("#SeriesId").val();
  463. var catalogueId = $j("#CatalogeId").val();
  464. var idCompany = $j("#IdCompany").val();
  465. var nonerp = full[erpCompliantColumnIdx] != "1";
  466. var nominalRating = principal;
  467. var viewURL = generateFanURL(idCompany, catalogueId, seriesId, Mode, model.replace(/\//g, '|'), principal, nonerp);
  468. if (tmode == "FerrariFan") {
  469. var motorPoles = "0";
  470. if ($j(".polos").length > 0) {
  471. var polesIndex = $j(".polos").data("idx");
  472. motorPoles = full[polesIndex];
  473. }
  474. viewURL = "construction?lockedFrequency=" + frequency + "&returnUrl=" + encodeURIComponent(viewURL) + "&motorPoles=" + motorPoles + "&nominalRating=" + nominalRating;
  475. }
  476. if (contador == 0) {
  477. //colocar la url del item
  478. $j("#urlItem1").val(viewURL + "|" + model);
  479. }
  480. contador++;
  481. //Boton de tabla pricipal
  482. var viewButton = "<a class='btn btn-primary btn-xs view-fan " + tmode + "' href='" + BaseURL + viewURL + "' target='_blank'><i class=\"fa fa-search\" aria-hidden=\"true\"></i> " + ViewStr + "</a>";
  483. return viewButton;
  484. }
  485. }
  486. };
  487. /*
  488. Carga los botones si es que se generaron a los datos de la tabla
  489. */
  490. $j("#tblSeriesModels").DataTable({
  491. language: {
  492. url: 'js/0.js'
  493. },
  494. searching: true,
  495. lengthChange: true,
  496. // pageLength: 20,
  497. columns: columnsArr,
  498. responsive: {
  499. details: {
  500. type: 'column'
  501. },
  502. }, "order": [],
  503. "columnDefs": [
  504. {
  505. "targets": [0],
  506. "visible": false,
  507. "searchable": false
  508. },
  509. {
  510. "targets": [2],
  511. "orderable": false
  512. }
  513. ]
  514. });
  515. /*
  516. Genera la URL que manda a ver los detalles a otra página
  517. */
  518. function generateFanURL(idCompany, catId, seriesId, skuMode, skuEncoded, principalMG, nonErp) {
  519. var viewURL = (residential ? "residential/" : "fan-info/view/") + idCompany + "/" + catId + "/" + seriesId + "/" + skuMode + "/" + skuEncoded + (principalMG == '-1' ? '' : '/' + principalMG);
  520. /*if ($j("#chkIncludeNonErPCompliantProducts").length > 0) {
  521. viewURL += "?includeNonERP=" + (nonErp ? "true" : "false");
  522. }*/
  523. return viewURL;
  524. }
  525. function HandleExpand(button, index, model, seriesId, frequency, erp, principal, tmode, cmode, expand) {
  526. }
  527. /*
  528. Se obtiene la URL o se manda a la dirección
  529. */
  530. $j("#tblSeriesModels").on('dblclick', 'tbody tr', function () {
  531. var button = $j(this).find('a.view-fan');
  532. if (button.hasClass('FerrariFan')) {
  533. var url = button.attr('href');
  534. // showIFrameModal(url, { size: 'large', height: 700 });
  535. } else {
  536. window.location = $j(this).find('a.view-fan').attr('href');
  537. }
  538. });
  539. /*
  540. Al dar click se cargan los datos a la URL
  541. */
  542. $j("#tblSeriesModels").on('click', 'tbody td a.FerrariFan', function (e) {
  543. e.preventDefault();
  544. var url = $j(this).attr('href');
  545. });
  546. /*
  547. Inicia Comparador
  548. */
  549. $j("#ver-3d").on('click', function () {
  550. /*alert("En mantenimiento");
  551. return false;*/
  552. var cargando = document.getElementById('cargando');
  553. var cerrar3d = document.getElementById('cerrar3d');
  554. var modelo3d = document.getElementById('modelo3d');
  555. //comprobar si el boton y el div estan en displaynone
  556. if (cargando === null) {
  557. modelo3d.style.display = 'block';
  558. cerrar3d.style.display = 'block';
  559. } else {
  560. cargando.style.display = 'block';
  561. var url = $j("#urlItem1").val();
  562. console.log(url);
  563. //return false;
  564. new Ajax.Request('comparador.php', {
  565. method: 'post',
  566. parameters: { url: url },
  567. onSuccess: function (response) {
  568. if (200 == response.status) {
  569. // Extrae la tabla pero no carga los CSS
  570. console.log("Response: " + response.responseText)
  571. document.getElementById('modelo3d').innerHTML = response.responseText;
  572. cargando.style.display = 'none';
  573. cerrar3d.style.display = 'block';
  574. }
  575. },
  576. onFailure: function (response) {
  577. document.getElementById('modelo3d').innerHTML = "Hubo un error en la petición, intente más tarde";
  578. alert('Hubo un error en la petición, intente más tarde');
  579. }
  580. });
  581. } //termina if
  582. });
  583. /*
  584. Cerrar 3d
  585. */
  586. $j("#cerrar3d").on('click', function () {
  587. var modelo3d = document.getElementById('modelo3d');
  588. modelo3d.style.display = 'none';
  589. cerrar3d.style.display = 'none';
  590. });
  591. /*
  592. Crear objeto para verificar los items que tiene modelo 3D
  593. */
  594. habilitarBoton3d(submodelo);
  595. function habilitarBoton3d(serieGlobal) {
  596. var series3dDisponibles = [
  597. "FUTURE",
  598. "SILENT",
  599. "HCM",
  600. "HAE",
  601. "CFP",
  602. "CK",
  603. "TD-TDH",
  604. "TD-SILENT",
  605. "HXM",
  606. "HXB-T",
  607. "HXA-P",
  608. "HEP",
  609. "HIB-T",
  610. "HGB-T"
  611. ];
  612. //habilitamos si está en lista
  613. for (var serie in series3dDisponibles) {
  614. if (serieGlobal == series3dDisponibles[serie]) {
  615. //$j("#ver-3d").attr("disabled", false);
  616. $j("#ver-3d").css("display", "block");
  617. }
  618. }
  619. }
  620. /*
  621. Borra un modelo dentro del comparador
  622. */
  623. function removeFan(idx) {
  624. var jsonDatos = localStorage.getItem('datos');
  625. var arrDatos = JSON.parse(jsonDatos);
  626. var c = 0;
  627. var clearPos = 0;
  628. for (var i = 0; i < arrDatos.datos.length; i++) {
  629. var IdArray = arrDatos.datos[i].Id;
  630. if (idx == IdArray) {
  631. // console.log("posicion a borrar:"+c);
  632. clearPos = c;
  633. }
  634. c++;
  635. }
  636. //borramos la posición
  637. arrDatos.datos.splice(clearPos, 1);
  638. localStorage.setItem("datos", JSON.stringify(arrDatos))
  639. //obtenemos el arrayActualizado
  640. var ArrStringActualizado = localStorage.getItem('datos');
  641. // console.log(JSON.stringify(arrDatos.datos));
  642. new Ajax.Request('comparador.php', {
  643. method: 'post',
  644. parameters: { compare: ArrStringActualizado },
  645. onCreate: loaderFunc(true),
  646. onSuccess: successFunc,
  647. onFailure: failureFunc
  648. });
  649. }
  650. /*
  651. Se obtienen los datos para el comparador
  652. */
  653. function getComparador(idx, model, codigoDesc) {
  654. //mostramos el div comparador por si está oculto
  655. $j("#comparador").show();
  656. //crear array en local storage
  657. var seriesId = $j("#SeriesId").val();
  658. var catId = $j("#CatalogeId").val();
  659. var flag = false;
  660. var datosLocal = localStorage.getItem('datos');
  661. var objeto = datosLocal === null ? { datos: [] } : JSON.parse(datosLocal);
  662. //verificamos que no se repitan los items a agregar
  663. var jsonDatos = localStorage.getItem('datos');
  664. var arrDatos = JSON.parse(jsonDatos);
  665. if (datosLocal !== null) {
  666. for (var i = 0; i < arrDatos.datos.length; i++) {
  667. var IdArray = arrDatos.datos[i].Id;
  668. //comparamos el id nuevo y el idArray viejo
  669. if (idx == IdArray) {
  670. flag = true; //el campo está repetido
  671. }
  672. }
  673. }//termina if
  674. if (!flag) {
  675. objeto.datos.push({ "Id": idx, "Model": model, "Description": codigoDesc, "codSerie": seriesId, "catId": catId })
  676. localStorage.setItem("datos", JSON.stringify(objeto))
  677. //arreglo a enviar por ajax
  678. arrEnviado = JSON.stringify(objeto);
  679. //enviar la petición Ajax
  680. new Ajax.Request('comparador.php', {
  681. method: 'post',
  682. parameters: { compare: arrEnviado },
  683. onCreate: loaderFunc(true),
  684. onSuccess: successFunc,
  685. onFailure: failureFunc
  686. });
  687. }
  688. }
  689. /*
  690. Vista de cargando comparador
  691. */
  692. function loaderFunc(response) {
  693. //loader
  694. if (response) $j('#comparador').html("<p align='center'><img src='media/img/loader2.gif' width='100px;' /><br>Cargando comparador...</p>");
  695. }
  696. /*
  697. Coloca la vista del comparador
  698. */
  699. function successFunc(response) {
  700. if (200 == response.status) {
  701. // console.log(response.responseText);
  702. $j('#comparador').html(response.responseText);
  703. window.location.hash = '#comparador';
  704. }
  705. }
  706. /*
  707. Método por si ocurre un error inesperado
  708. */
  709. function failureFunc(response) {
  710. alert('Hubo un error en la petición, intente más tarde');
  711. }
  712. // Termina Comparador