// Определение браузера входящего посетителя. var isIE = (navigator.appName.indexOf("Microsoft") != -1); var isOpera = (navigator.userAgent.indexOf("Opera") != -1); var inSpace = (isOpera) ? " " : ""; /****************************************************************************** * * Соответствие каналов пакетам программ. * ******************************************************************************/ var frmName = "calcForm"; var allChanns = new Array(54, 68, 95, 96, 97, 34, 60, 52, 14, 81, 26, 32, 8, 15, 17, 16, 18, 51, 37, 12, 38, 25, 84, 55, 1, 10, 21, 11, 83, 2, 30, 3, 4, 19, 44, 22, 53, 31, 36, 76, 80, 94, 68, 19, 54, 95, 96, 85, 97, 81, 26, 8, 15, 17, 16, 18, 51, 37, 12, 38, 25, 55, 1, 21, 83, 2, 3, 4, 44, 22, 94, 43, 61, 62, 63, 64, 65, 82, 71, 39, 45, 70, 73, 69, 28, 72, 34, 66, 89, 30, 89, 60, 52, 14, 14, 32, 31, 36, 59, 52, 41, 49, 53, 52, 29, 53, 41, 41, 52, 52, 53, 49, 53, 41, 29); var Packs = new Array(); Packs['elite'] = new Array(54, 68, 95, 96, 97, 34, 60, 52, 14, 81, 26, 32, 8, 15, 17, 16, 18, 51, 37, 12, 38, 25, 84, 55, 1, 10, 21, 11, 83, 2, 30, 3, 4, 19, 44, 22, 53, 31, 36, 76, 80, 94); Packs['base'] = new Array(68, 19, 54, 95, 96, 85, 97, 81, 26, 8, 15, 17, 16, 18, 51, 37, 12, 38, 25, 55, 1, 21, 83, 2, 3, 4, 44, 22, 94); Packs['entertime'] = new Array(60, 52, 14, 14, 32, 31, 36); Packs['bpack1'] = new Array(59, 52, 41); Packs['bpack2'] = new Array(49, 53, 52); Packs['bpack3'] = new Array(29, 53, 41); Packs['epack1'] = new Array(41, 52); Packs['epack2'] = new Array(52, 53, 49); Packs['epack3'] = new Array(53, 41, 29); /* var allChanns = new Array(1,2,3,4,5,6,8,9,10,11,12,13,14,15,16,17,18,19,21,22,23,25,26,28,29,30,31,32,34,35,36,37,38,39,40,41,43,44,45,46,48,49,50,51,52,53,54,55,59,60,61,62,63,64,65,68,69,70,71,72,73,76,78,79,80,81,82,83,84,85,86,89); var Packs = new Array(); Packs['base'] = new Array(1,2,3,4,5,6,8,12,15,16,17,18,21,22,23,25,26,37,38,44,50,51,55,68,81,83,84,85,89); Packs['elite'] = new Array(1,2,3,4,5,6,8,9,10,11,12,13,14,15,16,17,18,19,21,22,23,25,26,30,31,32,34,36,37,38,40,41,43,44,46,48,50,51,52,53,54,55,60,76,79,81,83,84,85,89); Packs['sport'] = new Array(34,35,76,79,86); Packs['west'] = new Array(19,41,43,46,53,54); Packs['entertime'] = new Array(14,31,32,36,52,60); Packs['rotic'] = new Array(40,78); */ /** * Создание списка элементов формы по с идентификаторами каналов. **/ function createFormElements() { // Если список всех существующих каналов не обнаружен - у вас есть 2 выхода. if (allChanns == null) { alert("Возникла ошибка в процессе программы. Обратитесь к тех. поддержке."); return false; } // Получение копии списка существющих каналов. var channels = eval("new Array(" + allChanns.toString() + ");"); // Создание массива выбранных пользователем каналов. do { var elem = channels.shift(); // Выдираем первое значение списка. var item = null; // Новый элемент в NULL. try { // Создание элемента для IE. item = document.createElement(''); } catch(e) { // Создание элемента для остальных браузеров. item = document.createElement('input'); item.setAttribute("type", "hidden"); item.setAttribute("name", 'channels['+elem+']'); item.setAttribute("value", '0'); item.setAttribute("id", 'channels['+elem+']'); } // Присоединение вновь созданного элемента к существующей форме. document.getElementById(frmName).appendChild(item); } while (channels.length > 0); } /***************************************************************************** * * Создание списка элементов формы по * с идентификаторами каналов. * *****************************************************************************/ function setHiddenVal(ename, evalue, aname) { var arname = null; var elname = null; if (aname == null) { switch(ename) { case 'eq_mentor': arname = 'eqiupment'; elname = 'mentor'; break; case 'eq_coship': arname = 'eqiupment'; elname = 'coship'; break; case 'eq_aerial': arname = 'eqiupment'; elname = 'aerial'; break; case 'istd': arname = 'install'; elname = 'standart'; break; case 'ihrd': arname = 'install'; elname = 'complex'; break; case 'ismpl': arname = 'install'; elname = 'simple'; break; case 'pbase': arname = 'package'; elname = 'base'; break; case 'pelite': arname = 'package'; elname = 'elite'; break; case 'pwest': arname = 'package'; elname = 'west'; break; case 'pentertime': arname = 'package'; elname = 'entertime'; break; case 'protic': arname = 'package'; elname = 'rotic'; break; case 'psport': arname = 'package'; elname = 'sport'; break; case 'peentertime': arname = 'package'; elname = 'eentertime'; break; case 'pepack1': arname = 'package'; elname = 'epack1'; break; case 'pepack2': arname = 'package'; elname = 'epack2'; break; case 'pepack3': arname = 'package'; elname = 'epack3'; break; case 'pbpack1': arname = 'package'; elname = 'bpack1'; break; case 'pbpack2': arname = 'package'; elname = 'bpack2'; break; case 'pbpack3': arname = 'package'; elname = 'bpack3'; break; case 'eq_rent_on': case 'eq_rent_off': arname = 'additional'; elname = 'rented'; break; case 'tower_on': case 'tower_off': arname = 'additional'; elname = 'tower'; break; case 'months': arname = 'additional'; elname = 'months'; break; default: arname = 'channels'; var strnm = new String(ename); elname = strnm.substr(1, (strnm.length-1)); break; } } else { arname = aname; elname = ename; } // Установка значения. if (arname != null && elname != null) { var vname = arname+'['+elname+']'; // alert("name: "+vname+' = '+evalue); var objf = document.getElementById(frmName).elements[vname]; if (objf == null){ //alert('setHiddenVal: array "'+arname+'" and element "'+elname+'" is not found!'); return false; } if (evalue == null){ var olded = objf.value; if (olded == null){ //alert('setHiddenVal: value of element "'+elname+'" in array "'+arname+'" is not found!'); return false; } objf.value = !olded; } else { objf.value = evalue; } //alert('new value of '+vname+': '+document.getElementById(frmName).elements[vname].value); } } /****************************************************************************** * * Проверяет включен ли объект, можно ли с ним в данный момент * проводить действия "включить"/"выключить", и в случае если можно * - производит действие (включает/выключает). * * @var iname - идентификатор проверяемого объекта. * @return boolean - результат смены статуса объекта * (false - выключен, true - включен). * *****************************************************************************/ function setSwitch(iname, breset) { // Безоговорочная смена статуса в "выключено". if (parseInt(breset) > 0) { // Смена картинки у объекта на "выделенный". var img = document.getElementById(iname + '_img'); if (img != null) img.setAttribute("src", "/design/images/minus.gif"); setHiddenVal(iname, 0); return false; // Возврат false. } // Если объект в статусе "выключен" и разрешено его включать - включаем. else if (!isSwitched(iname) && switchOn(iname)) { // Смена картинки у объекта на "выделенный". var img = document.getElementById(iname + '_img'); if (img != null) img.setAttribute("src", "/design/images/plus.gif"); reCalculate(); return true; // Возврат true. } // Если объект в статусе "включен" и рарешено его выключать - выключаем. else if (isSwitched(iname) && switchOff(iname)) { // Смена картинки у объекта на "не выделенный". var img = document.getElementById(iname + '_img'); if (img != null) img.setAttribute("src", "/design/images/minus.gif"); reCalculate(); return false; // Возврат false. } return -1; // Возврат, если другие условия не выполнились. } /** * Проверка объекта на "включенность". * @var item - идентификатор проверяемого объекта. * @return boolean - статуса объекта (false - выключен, true - включен). **/ function isSwitched(item) { // Если есть картинка для указанного объекта - определяем его статус. var imgItem = document.getElementById(item + '_img'); if (imgItem != null) { // Определение источника у изображения. var imgSrc = new String(imgItem.src); // Определение содержания строчки "minus.gif" в строке источника. // alert(item+" = "+(imgSrc.indexOf("minus.gif") == -1)); return (imgSrc.indexOf("minus.gif") == -1); } return false; // Возврат по-умолчанию. } /** * Безоговорочная очистка статуса "включено" у указанных объектов. * @var iArray - список объектов, которым очищается статус. **/ function resetIt(iArray){if (iArray.length > 0){do { var item = iArray.shift(); setSwitch(item, 1); } while(iArray.length > 0);}} /****************************************************************************** * * Основной общий обработчик логики расчета * объектов расчета стоимости при "включении" элемента. * * @var iname - идентификатор объекта который следует "включить". * *****************************************************************************/ function switchOn(iname) { switch(iname) { // Пакет каналов "Основной". case "pbase": setDisplay(iname); // Отключение элитного пакета. if (!isSwitched(iname) && isSwitched('pelite')) { resetIt(['pelite', 'e29', 'e59', 'e49', 'e80', 'e89', 'pepack1', 'pepack2', 'pepack3']); setDisplay('pelite', false); } var varobj = document.getElementById('pelite_cost'); if (varobj != null){ varobj.firstChild.nodeValue = 1075; } if (isSwitched('eq_rent_on')) { var varobj = document.getElementById('pbase_cost'); if (varobj != null){ varobj.firstChild.nodeValue = parseFloat(varobj.firstChild.nodeValue) - parseFloat((varobj.firstChild.nodeValue) * 0.15) } } setDisplay('ownership', true); // Открытие выбора формы собственности. setHiddenVal(iname, 1); // Установка параметров setHiddenVal('pelite', 0); //для базового и элитного пакета. return (!isSwitched( iname )); // Пакет каналов "Элитный". case "pelite": setDisplay(iname); if (!isSwitched(iname) && isSwitched('pbase')) { resetIt(['pbase', 'pwest', 'pentertime', 'protic', 'psport', 'pbpack1', 'pbpack2', 'pbpack3', 'b30', 'b29', 'b9', 'b59', 'b49', 'b40', 'b80', 'b89', 'b68']); setDisplay('pbase', false); } var varobj = document.getElementById('pbase_cost'); if (varobj != null){ varobj.firstChild.nodeValue = 585; } if (isSwitched('eq_rent_on')) { var varobj = document.getElementById('pelite_cost'); if (varobj != null){ varobj.firstChild.nodeValue = parseFloat(varobj.firstChild.nodeValue) - parseFloat((varobj.firstChild.nodeValue) * 0.20) } } setDisplay('ownership', true); // Открытие выбора формы собственности. setHiddenVal(iname, 1); // Установка параметров setHiddenVal('pbase', 0); //для базового и элитного пакета. return (!isSwitched(iname)); // Пакеты дополнительных каналов к пакетам подключения. case "pwest": case "protic": case "pentertime": case "psport": case "pepack1": case "pepack2": case "pepack3": case "peentertime": case "pbpack1": case "pbpack2": case "pbpack3": setDisplay(iname); setHiddenVal(iname, 1); return true; // Выбор дополнительных телеканалов пакетов. case "b30": case "b29": case "b9": case "b59": case "b49": case "b40": case "b80": case "b89": case "e89": case "e29": case "e59": case "e49": case "e80": case "b68": setHiddenVal(iname, 1); return true; // Аренда оборудования. case "eq_rent_on": resetIt(['eq_rent_off', 'eq_mentor']); setDisplay('tower', true); setHiddenVal(iname, 1); // Установка стоимости за пакет подключения. if (isSwitched('pbase')) { // За пакет "Основной". var varobj = document.getElementById('pbase_cost'); if (varobj != null) { varobj.firstChild.nodeValue = parseFloat(varobj.firstChild.nodeValue) - parseFloat((varobj.firstChild.nodeValue) * 0.15); } } else { // За пакет "Элитный". var varobj = document.getElementById('pelite_cost'); if (varobj != null) { varobj.firstChild.nodeValue = parseFloat(varobj.firstChild.nodeValue) - parseFloat((varobj.firstChild.nodeValue) * 0.20); } } // Проверка на открытый выбор работ по установке и оборудования. if (isSwitched('tower_on') || isSwitched('tower_off')) { // Открытие комментария по аренде оборудования. setDisplay('rent_comment', true); // Сокрытие выбора декодера MENTOR. setDisplay('eq_mentor', false); // Снятие выбора и сокрытие Упрощенной установки. if (isSwitched('ismpl')){ setSwitch('eq_aerial'); } // Сокрытие выбора Упрощенной установки. setDisplay('ismpl', false); // Установка стоимости за декордер COSHIP и антенну. var varobj = document.getElementById('eq_coship_cost'); if (varobj != null){varobj.firstChild.nodeValue = 0;} var varobj = document.getElementById('eq_aerial_cost'); if (varobj != null){varobj.firstChild.nodeValue = 0;} // Установка выбора декодера COSHIP. if (!isSwitched('eq_coship')) setSwitch('eq_coship'); // Установка выбора антенны. if (!isSwitched('eq_aerial')) setSwitch('eq_aerial'); } return true; // Покупка оборудования. case "eq_rent_off": resetIt(['eq_rent_on']); setDisplay('tower', true); setHiddenVal(iname, 0); // Установка стоимости за пакет подключения. if (isSwitched('pbase')) { // За пакет "Основной". var varobj = document.getElementById('pbase_cost'); if (varobj != null){varobj.firstChild.nodeValue = 585;} } else { // За пакет "Элитный". var varobj = document.getElementById('pelite_cost'); if (varobj != null){varobj.firstChild.nodeValue = 1075;} } // Проверка на открытый выбор работ по установке и оборудования. if (isSwitched('tower_on') || isSwitched('tower_off')) { setDisplay('rent_comment', false); // Открытие комментария по аренде оборудования. setDisplay('eq_mentor', true); // Сокрытие выбора декодера MENTOR. // Снятие выбора и сокрытие Упрощенной установки. if (isSwitched('ismpl')){ setSwitch('eq_aerial'); } setDisplay('ismpl', false); var varobj = document.getElementById('eq_coship_cost'); if (varobj != null) varobj.firstChild.nodeValue = 3350; var varobj = document.getElementById('eq_aerial_cost'); if (varobj != null) varobj.firstChild.nodeValue = 1100; if (!isSwitched('eq_coship') && !isSwitched('eq_mentor')) setSwitch('eq_coship'); if (!isSwitched('eq_aerial')) setSwitch('eq_aerial'); } return true; // Есть видимость Останкинской телебашни. case "tower_on": resetIt(['tower_off', 'ihrd']); // Отключение противоположного выбора. setDisplay('addt', true); // Открытие выбора разделов Работы и Оборудование. setDisplay('obutton', true); // Открытие выбора кнопки завершения. setDisplay('istd', true); // Открытие выбора стандартная установка. setDisplay('ihrd', false); // Сокрытие выбора сложная установка. // Если не выбрана Стандартная установка - выбор стандартной установки. if (!isSwitched('istd')){ setSwitch('istd'); } // Если не выбрана антенна - выбор антенны. if (!isSwitched('eq_aerial')){ setSwitch('eq_aerial'); } // Если не выбран ни один из декордеров - выбор декордера COSHIP. if (!isSwitched('eq_coship') && !isSwitched('eq_mentor')){ setSwitch('eq_coship'); } if (isSwitched('eq_rent_on')){ resetIt(['eq_mentor']); setDisplay('eq_mentor', false); setDisplay('rent_comment', true); } if (isSwitched('eq_rent_on')){ var varobj = document.getElementById('eq_coship_cost');if (varobj != null) varobj.firstChild.nodeValue = 0;var varobj = document.getElementById('eq_aerial_cost');if (varobj != null) varobj.firstChild.nodeValue = 0; } else {var varobj = document.getElementById('eq_coship_cost');if (varobj != null) varobj.firstChild.nodeValue = 3350;var varobj = document.getElementById('eq_aerial_cost');if (varobj != null) varobj.firstChild.nodeValue = 1100;} setHiddenVal(iname, 1); return true; // Нет видимости Останкинской телебашни. case "tower_off": resetIt(['tower_on', 'istd']); // Отключение противоположного выбора. setDisplay('addt', true); // Открытие выбора разделов Работы и Оборудование. setDisplay('obutton', true); // Открытие выбора кнопки завершения. setDisplay('ihrd', true); // Открытие выбора сложная установка. setDisplay('istd', false); // Сокрытие выбора стандартная установка. if (!isSwitched('ihrd')) setSwitch('ihrd'); if (!isSwitched('eq_aerial')) setSwitch('eq_aerial'); if (!isSwitched('eq_coship') && !isSwitched('eq_mentor')) setSwitch('eq_coship'); if (isSwitched('eq_rent_on')){ resetIt(['eq_mentor']); setDisplay('eq_mentor', false); setDisplay('rent_comment', true); } if (isSwitched('eq_rent_on')){ var varobj = document.getElementById('eq_coship_cost');if (varobj != null) varobj.firstChild.nodeValue = 0;var varobj = document.getElementById('eq_aerial_cost');if (varobj != null) varobj.firstChild.nodeValue = 0; } else {var varobj = document.getElementById('eq_coship_cost');if (varobj != null) varobj.firstChild.nodeValue = 3350;var varobj = document.getElementById('eq_aerial_cost');if (varobj != null) varobj.firstChild.nodeValue = 1100;} setHiddenVal(iname, 0); return true; // Выбор приемной антенны. case "eq_aerial": setHiddenVal(iname, 1); return true; // Установка значения метода установки (переводится на функцию calcInstall). case "istd": resetIt(['ihrd']); setHiddenVal(iname, 1); return true; case "ihrd": resetIt(['istd']); setHiddenVal(iname, 1); return true; case "ismpl": setHiddenVal(iname, 1); return true; // Выбор цифрового декодера COSHIP. case "eq_coship": resetIt(['eq_mentor']); setHiddenVal(iname, 1); setHiddenVal('eq_mentor', 0); return true; // Выбор цифрового декодера MENTOR. case "eq_mentor": resetIt(['eq_coship']); setHiddenVal(iname, 1); setHiddenVal('eq_coship', 0); return true; // Возврат по-умолчанию. default: return false; } } /****************************************************************************** * * Основной общий обработчик логики расчета * объектов расчета стоимости при "выключении" элемента. * * @var iname - идентификатор объекта который следует "включить". * *****************************************************************************/ function switchOff(iname) { switch(iname){ // Основной пакет подключения. case "pbase": case "pelite": setDisplay(iname); return (!isSwitched(iname)); // Пакеты дополнительных каналов. case "pwest": case "protic": case "pentertime": case "psport": case "pepack1": case "pepack2": case "pepack3": case "peentertime": case "pbpack1": case "pbpack2": case "pbpack3": setHiddenVal(iname, 0); setDisplay(iname); return true; // Выключение дополнительных каналов. case "b30": case "b29": case "b9": case "b59": case "b49": case "b40": case "b80": case "b89": case "b68": case "e89": case "e29": case "e59": case "e49": case "e80": setHiddenVal(iname, 0); return true; /** Форма собственности оборудования */ case "eq_rent_on": case "eq_rent_off": return false; /** Видимость Останкинской телебашни **/ case "tower_on": case "tower_off": return true; // Выключение методов установки. case "istd": if (isSwitched('tower_on')){return false;} return true; case "ihrd": if (isSwitched('tower_off')){return false;} return true; case "ismpl": var cntDec = nmDec = null; nmDec = ((isSwitched('eq_coship')) ? 'eq_coship_cnt' : 'eq_mentor_cnt'); cntDec = document.getElementById(nmDec); if (cntDec != null && parseInt(cntDec.selectedIndex+1) > 1){return false;} return true; // Выбор цифрового декодера COSHIP. case "eq_coship": if (isSwitched('eq_rent_on')){return false;} return true; // Выбор цифрового декодера MENTOR. case "eq_mentor": setHiddenVal(iname, 0); return true; // Обработка по-умолчанию. default: return false; } } /** * Функция скрывает/показывает элемент(по css свойству "display") * oname=id объекта, force-необязательный параметр, устанавливает значие,независимо от состояния 0-скрыть 1-показать **/ function setDisplay(ename, force) { // Открываем или закрываем все элементы с //названиями ename_boxN, где N - число от 1 до ... var elName = ename+'_box'; var elmnt = document.getElementById(elName); var cntBox = 0; while(elmnt != null) { // Определение текущего значения свойства display у элемента. var cDisplay = elmnt.style.display; // Определение нового значения свойства display у элемента. var vDisplay = ((typeof(force) != 'undefined') ? ((force) ? '' : 'none') : ((cDisplay=='') ? 'none' : '')); // Установка значения свойству display. elmnt.style.display = vDisplay; // Попытка перехода к следующему элементу. cntBox = cntBox + 1; elName = ename+'_box'+cntBox; elmnt = document.getElementById(elName); } } function isDisplay(enamewbox) { var elmnt = document.getElementById(enamewbox); if(elmnt != null){ // Определение текущего значения свойства display у элемента. var cDisplay = elmnt.style.display; if (cDisplay == 'none') return false; } else { alert('isDisplay: Element "'+enamewbox+'" is not found!'); } return true; } /****************************************************************************** * * Функция суммирования цен объектов калькулятора. * * @arItems - массив идентификаторов обектов, чьи цены нужно * прибавить (в случае их актуальности) к общему результату. * *****************************************************************************/ function calcCost(arItems) { if (arItems.length > 0){ do { var item = arItems.shift(); if (isSwitched(item)) { var icost = document.getElementById(item + '_cost'); if (icost != null) { var isumm = document.getElementById("summ"); var summ = (parseFloat(isumm.firstChild.nodeValue) + parseFloat(icost.firstChild.nodeValue)); isumm.firstChild.nodeValue = summ; } } } while (arItems.length > 0); } } /** * Функция полного перерасчета стоимости. * Вызывается в случае каких-либо изменений в заказе подключения. **/ function reCalculate() { // Получение объекта общей суммы заказа подключения. var isumm = document.getElementById("summ"); if (isumm != null) { isumm.firstChild.nodeValue = 0.00; var costRent = 1; // Стоимость ежемесячной аренды оборудования. var Discount = 0; // Скидка при оплате пакета подключения. /* Подсчет стоимости пакета подключения. */ if (isSwitched("pbase")){ calcCost(["pbase", "pwest", "protic", "pentertime", "pbpack1", "pbpack2", "pbpack3", "psport", "b30", "b29", "b9", "b59", "b49", "b40", "b80", "b89"]); costRent = 350.00; Discount = 0.15; } else if (isSwitched("pelite")){ calcCost(["pelite", "pepack1", "pepack2", "pepack3", "peentertime", "e29", "e59", "e49", "e80", "e89"]); costRent = 350.00; Discount = 0.20; } // Открытие комментария с указанием количества декодеров и их стоимости. setDisplay('cnt_decoders', isSwitched('eq_rent_on')); // Добавление к стоимости пакета количества месяцев подключения. var objMonths = document.getElementById("payMonths"); if (objMonths != null) { // Определение количества месяцев подключения. var cMonths = objMonths.options[objMonths.selectedIndex].value; // Суммирование к общей сумме подключения количества месяцев подключения. isumm.firstChild.nodeValue = parseFloat(isumm.firstChild.nodeValue * cMonths); setHiddenVal('months', cMonths); // Указание в комментарии количества месяцев поключения. if (isSwitched('eq_rent_on')) { var rmonths = document.getElementById("months"); if (rmonths != null) rmonths.firstChild.nodeValue = cMonths; } } // Подсчет Аренды/Покупки Декордеров if (isSwitched('tower_on') || isSwitched('tower_off')) { var cntDec = oDec = nmDec = null; // Определение количества декордеров. nmDec = ((isSwitched('eq_coship')) ? 'eq_coship_cnt' : 'eq_mentor_cnt'); oDec = document.getElementById(nmDec); cntDec = ((oDec != null) ? (oDec.selectedIndex+1) : 1); // Открытие Упрощенной установки, //в зависимости от количества декодеров. if (oDec != null && cntDec > 1) { setDisplay('ismpl', true); // Из-за ненужного пересчета суммы подключения //пришлось сделать ручками смену картинки. //if (! isSwitched("ismpl")){ setSwitch("ismpl"); } var img = document.getElementById('ismpl_img'); if (img != null) img.setAttribute("src", "/design/images/plus.gif"); } else { // Из-за ненужного пересчета суммы подключения //пришлось сделать ручками смену картинки. //if (isSwitched("ismpl")){ setSwitch("ismpl", true); } var img = document.getElementById('ismpl_img'); if (img != null) img.setAttribute("src", "/design/images/minus.gif"); setDisplay('ismpl', false); } var odecorder = document.getElementById("cnt_decoders_box"); if (odecorder != null) { odecorder.firstChild.nodeValue = ' x '+cntDec+' дек.'; } // Подсчет стоимости ПОКУПКИ декордеров. if (!isSwitched('eq_rent_on')) { // Определение цены заказываемого декордера. var prefix = (isSwitched('eq_coship')) ? 'eq_coship_' : 'eq_mentor_'; var oCostDec = document.getElementById(prefix+"cost"); // Учет количества заказываемых декордеров. var summDec = cntDec * oCostDec.firstChild.nodeValue; isumm.firstChild.nodeValue = parseFloat(isumm.firstChild.nodeValue) + parseFloat(summDec); } // Подсчет стоимости АРЕНДЫ декордеров. else { // Подсчет количества декордеров на сумму их аренды. var summDec = parseInt(cntDec) * parseFloat(costRent); // Определение количества месяцев подключения. var cMonths = objMonths.options[objMonths.selectedIndex].value; // Подсчет сумму аренды за декордеры с учетом количества месяцев подключения. if (cMonths != null){ summDec = parseFloat(summDec) * parseInt(cMonths); } // Суммирование окончательной суммы за аренду декордеров к общей сумме подключения. isumm.firstChild.nodeValue = parseFloat(isumm.firstChild.nodeValue) + parseFloat(summDec); } } // Учет стоимости установки оборудования. calcCost(["istd", "ihrd", "ismpl"]); // Если оборудование покупается - ведется подсчет покупки антенны. if (! isSwitched('eq_rent_on')) { calcCost(["eq_aerial"]); } // Установка общей стоимости подключения в передаваемое поле. setHiddenVal('summ', isumm.firstChild.nodeValue, 'additional'); return true; } return false; } function showWnd(url){ myWindow = window.open(url, "popup", 'width=700,height=500,resizable'); } var jsLoaded=1; if(typeof(WeNeedInit) != 'undefined') { if(WeNeedInit){createFormElements();} }