Добавил скрипт через jumi (все исходники отправлю) В начале не отображался, потом в скрипте showflash поставил значения == -2 (типо принимает кирилицу джумлы) var isIE = (ua.indexOf("msie") != -2 && ua.indexOf("opera") == -2 && ua.indexOf("webtv") == -2); у браузера opera в нем все отлично изображает, в любых остальных не работает, либо я не так ввожу название браузера Пытался добавить && ua.indexOf("firefox") == -2) все равно не отображает ( вот сайт http://mytest.hdd1.ru/?page_id=23 ) Как сделать чтобы отображалось все нормально во всех браузеров? (русский язык) Вот скрипты: showflasj: function flashVersion() { // Отдельно определяем Internet Explorer var ua = navigator.userAgent.toLowerCase(); var isIE = (ua.indexOf("msie") != -2 && ua.indexOf("opera") == -2 && ua.indexOf("webtv") == -2) && ua.indexOf("ie 9") == -2; // Стартовые переменные var version = 0; var lastVersion = 10; // c запасом var i; if (isIE) { // browser == IE try { for (i = 3; i <= lastVersion; i++) { if (eval('new ActiveXObject("ShockwaveFlash.ShockwaveFlash.'+i+'")')) { version = i; } } } catch(e) {} } else { // browser != IE for (i = 0; i < navigator.plugins.length; i++) { if (navigator.plugins.name.indexOf('Flash') > -1) { version = (parseInt(navigator.plugins.description.charAt(16)) > version) ? parseInt(navigator.plugins.description.charAt(16)) : version; } } } return version; } function showflashWH(flashName, W, H) { var bnFlash = flashName; var bnW = W; var bnH = H; var flashV = "6"; document.getElementById(flashName).innerHTML = showflashJS(bnFlash, bnW, bnH, flashV); } function showflash(flashName) { var bnFlash = flashName; var bnW = 200; var bnH = 200; var flashV = "6"; document.getElementById(flashName).innerHTML = showflashJS(bnFlash, bnW, bnH, flashV); } function showPleaseWait(type) { if (type == 'show') { document.getElementById("please_wait").innerHTML = "Пожалуйста подождите<br>загрузка может занять<br>несколько секунд"; } else { document.getElementById("please_wait").innerHTML = ""; return false; } setTimeout('showPleaseWait("hide")', 15000); } function showflashJS(bnFlash, bnW, bnH, flashV) { var ie = (navigator.userAgent && (navigator.userAgent.indexOf("MSIE") >= 0) && (navigator.appVersion.indexOf("Win") != -1)) ? 1 : 0; var plugin = (navigator.mimeTypes && navigator.mimeTypes["application/x-shockwave-flash"]) ? navigator.mimeTypes["application/x-shockwave-flash"].enabledPlugin : 0; var ret = ""; if(plugin){ var version = flashVersion(); var pluginVersion = parseInt(plugin.description.substring(plugin.description.indexOf(".") - 2)); version = pluginVersion > version ? pluginVersion : version; var isPlay = (version >= flashV); } else if(ie){ isPlay = true; ret += '<sc'+'ript type="text/vbscript"> \n'; ret += 'on error resume next \n'; ret += 'isPlay = IsObject(CreateObject("ShockwaveFlash.ShockwaveFlash.'+flashV+'")) \n'; ret += '</sc'+'ript> \n'; } if(isPlay){ ret += '<object type="application/x-shockwave-flash" data="'+bnFlash; ret +='" width="'+bnW+'" height="'+bnH+'">'; ret +='<param name="movie" value="'+bnFlash; ret +='" />'; ret +='<param name="quality" value="high" />'; ret +='<param name="wmode" value="transparent" />'; ret +='</object>'; } return ret; } raschet: (это сам скрипт что нужно) var door_model = 0; var door_zamok_type = 0; var data = new Array(); data[1] = new Array(); data[1]['id'] = 'door_models'; data[1]['title'] = 'Выберите модель двери'; data[1][1] = {'name': 'Стандарт М (сталь 2 мм. "металл-металл")', 'cost': '15200'}; data[1][2] = {'name': 'Престиж М (сталь 2 мм "металл - внутр. щит")', 'cost': '14650'}; data[1][3] = {'name': 'Элит М (сталь 2 мм "металл - металл + внутр. щит")', 'cost': '16900'}; data[1][4] = {'name': 'Браво М (сталь 2 мм "металл + нар. щит - металл + внутр. щит")', 'cost': '17800'}; data[2] = new Array(); data[2]['title'] = 'Сторонность открывания'; data[2]['id'] = 'door_open'; data[2][1] = {'name': 'Правая', 'cost': '0'}; data[2][2] = {'name': 'Левая', 'cost': '0'}; data[3] = new Array(); data[3]['title'] = 'Цвет полимерного покрытия'; data[3]['id'] = 'door_color'; data[3][1] = {'name': 'антик медь', 'cost': '0'}; data[3][2] = {'name': 'антик черная бронза', 'cost': '0'}; data[3][3] = {'name': 'антик серебро', 'cost': '0'}; data[3][4] = {'name': 'серо-коричневый молотковый', 'cost': '0'}; data[3][5] = {'name': 'серый молотковый', 'cost': '0'}; data[3][6] = {'name': 'голубой молотковый', 'cost': '0'}; data[3][7] = {'name': 'зеленый молотковый', 'cost': '0'}; data[3][8] = {'name': 'темно-синий молотковый', 'cost': '0'}; data[3][9] = {'name': 'белая шагрень', 'cost': '0'}; data[3][10] = {'name': 'серая шагрень', 'cost': '0'}; data[3][11] = {'name': 'черная шагрень', 'cost': '0'}; data[3][12] = {'name': 'синяя шагрень', 'cost': '0'}; data[3][13] = {'name': 'серый металлик', 'cost': '1500'}; data[3][14] = {'name': 'синий металлик', 'cost': '1500'}; data[3][15] = {'name': 'коричневый металлик', 'cost': '1500'}; data[3][16] = {'name': 'бежевый металлик', 'cost': '1500'}; data[3][17] = {'name': 'зеленый мрамор', 'cost': '1500'}; data[3][18] = {'name': 'красный мрамор', 'cost': '1500'}; data[4] = new Array(); data[4]['title'] = 'Декоративная панель (внутренняя)'; data[4]['id'] = 'door_panel_intern'; data[4][1] = {'name': 'Щит МДФ 16 мм. с покрытием пленкой ПВХ Корея', 'cost': '4000'}; data[4][2] = {'name': 'Щит МДФ 16 мм. с покрытием пленкой ПВХ Италия', 'cost': '5200'}; /* data[4][3] = {'name': 'Щит МДФ 10 мм с покрытием шпоном', 'cost': '6500'}; data[4][4] = {'name': 'Щит МДФ 10 мм окрашенный по RAL', 'cost': '6500'}; */ data[4][3] = {'name': 'Щит ламинат 6 мм', 'cost': '1500'}; data[5] = new Array(); data[5]['title'] = 'Декоративная панель (внешняя)'; data[5]['id'] = 'door_panel_extern'; data[5][1] = {'name': 'Щит МДФ 16 мм. с покрытием пленкой ПВХ', 'cost': '4000'}; data[5][2] = {'name': 'Щит МДФ 16 мм. с покрытием пленкой ПВХ Италия', 'cost': '5200'}; data[6] = new Array(); data[6]['title'] = 'Основной замок'; data[6]['id'] = 'door_zamok'; data[6][1] = {'name': 'CISA 57535 сувальдный', 'cost': '3700', 'type': 1}; data[6][2] = {'name': 'CISA 57986 сувальдно-цилиндровый', 'cost': '6370', 'type': -1}; data[6][3] = {'name': 'CISA 57685 сувальдный, перекодируемый', 'cost': '5340', 'type': 1}; data[6][4] = {'name': 'CISA 56535 цилиндровый', 'cost': '3340', 'type': 2}; data[6][5] = {'name': 'KALE 352 цилиндровый', 'cost': '1150', 'type': 2}; data[6][6] = {'name': 'KALE 252 без тяг, сувальдный', 'cost': '1180', 'type': 1}; data[6][7] = {'name': 'KALE 252 без тяг, цилиндровый', 'cost': '690', 'type': 2}; data[6][8] = {'name': 'Mul-t-lock OMEGA роторный', 'cost': '6300', 'type': -1}; data[6][9] = {'name': 'Mul-t-lock OMEGA роторно-цилиндровый', 'cost': '7400', 'type': -1}; data[7] = new Array(); data[7]['id'] = 'door_dop_zamok'; data[7]['title'] = 'Дополнительный замок'; data[7][1] = {'name': 'Нет', 'cost': '0'}; data[7][2] = {'name': 'CISA 56525 цилиндровый', 'cost': '3100'}; data[7][3] = {'name': 'CISA 57525 сувальдный', 'cost': '3500'}; data[7][4] = {'name': 'CISA 56675 сувальдный', 'cost': '5100'}; data[7][5] = {'name': 'KALE 257 цилиндровый', 'cost': '550'}; data[7][6] = {'name': 'KALE 257 сувальдный', 'cost': '860'}; data[8] = new Array(); data[8]['title'] = 'Накладка для основного замка'; data[8]['id'] = 'door_nakladki'; data[8][1] = {'name': 'CISA сувальдный', 'cost': '200'}; data[8][2] = {'name': 'CISA цилиндровый', 'cost': '130'}; data[8][3] = {'name': 'Mul-t-lock', 'cost': '650'}; data[8][4] = {'name': 'Броненакладка на цилиндр CISA', 'cost': '1200'}; data[8][5] = {'name': 'Броненакладка на цилиндр Mul-t-lock', 'cost': '1750'}; data[9] = new Array(); data[9]['id'] = 'door_nakladki_dop'; data[9]['title'] = 'Накладка для дополнительного замка'; data[9][1] = {'name': 'CISA сувальдный', 'cost': '200'}; data[9][2] = {'name': 'CISA цилиндровый', 'cost': '130'}; data[9][3] = {'name': 'Mul-t-lock', 'cost': '650'}; data[9][4] = {'name': 'Броненакладка на цилиндр CISA', 'cost': '1200'}; data[9][5] = {'name': 'Броненакладка на цилиндр Mul-t-lock', 'cost': '1750'}; data[10] = new Array(); data[10]['title'] = 'Цилиндр для цилиндрового замка'; data[10]['id'] = 'door_cilindr_for_cilindr'; data[10][1] = {'name': 'CISA Pratic английский', 'cost': '320'}; data[10][2] = {'name': 'KALE 3 ключа английский', 'cost': '320'}; data[10][3] = {'name': 'KALE , с перфорацией, 5 ключей', 'cost': '630'}; data[10][4] = {'name': 'Mul-t-lock 7*7 с перфорацией, 5 ключей', 'cost': '890'}; data[10][5] = {'name': 'CISA ASIX с перфорацией, 5 ключей', 'cost': '890'}; data[10][6] = {'name': 'CISA ASTRAL с перфорацией, 5 ключей', 'cost': '1550'}; data[11] = new Array(); data[11]['title'] = 'Глазок'; data[11]['id'] = 'door_glazok'; data[11][1] = {'name': 'AMIG', 'cost': '250'}; data[12] = new Array(); data[12]['title'] = 'Задвижка с рукояткой'; data[12]['id'] = 'door_zadvizhka'; data[12][1] = {'name': 'MBC', 'cost': '600'}; data[12][2] = {'name': 'REGUITTY', 'cost': '700'}; data[13] = new Array(); data[13]['id'] = 'door_ruchka'; data[13]['title'] = 'Ручка'; data[13][1] = {'name': 'GARDA хром', 'cost': '800'}; data[13][2] = {'name': 'GRAZIA хром', 'cost': '1100'}; data[13][3] = {'name': 'WING хром', 'cost': '1200'}; data[13][4] = {'name': 'KUBA хром', 'cost': '1700'}; data[13][5] = {'name': 'PIN AP хром', 'cost': '1370'}; data[13][6] = {'name': 'GIADA хром', 'cost': '2060'}; data[13][7] = {'name': 'M.B.C. BETA хром', 'cost': '540'}; data[13][8] = {'name': 'EVO хром', 'cost': '840'}; data[13][9] = {'name': 'CORONA хром', 'cost': '740'}; data[13][10] = {'name': 'CORSICA хром', 'cost': '1070'}; data[13][11] = {'name': 'DIONA хром', 'cost': '720'}; data[13][12] = {'name': 'ERIDAN хром', 'cost': '780'}; data[13][13] = {'name': 'LIBRA хром', 'cost': '810'}; data[13][14] = {'name': 'PAVA хром', 'cost': '890'}; data[13][15] = {'name': 'TAURUS хром', 'cost': '860'}; data[13][16] = {'name': 'TRINITY хром', 'cost': '1070'}; data[13][17] = {'name': 'VEGA хром', 'cost': '740'}; data[13][18] = {'name': 'VITORIA хром', 'cost': '1400'}; data[14] = new Array(); data[14]['title'] = 'Датчики "Геркон" (для сигнализации)'; data[14]['id'] = 'door_gerkon'; data[14][1] = {'name': 'Да', 'cost': '220'}; data[14][2] = {'name': 'Нет', 'cost': '0'}; function isNumeric(value) { return parseInt(value)==value; } function add_option(select_box, value, text) { var option = document.createElement('option'); option.text = text; option.value = value; try { select_box.add(option, null); } catch (e) { select_box.add(option); } } function showSelectBox(num) { var object; if(isObject(num)) { object = data[num]; selectBox = document.getElementById(data[num]['id'] + '_select'); selectBox.options.length = 0; add_option(selectBox, 0, 'не выбрано'); for (i in object) { if(isNumeric(i)) { add_option(selectBox, i, object['name']); } } } } function isObject(num) { if(typeof(data[num]) != "undefined") { return true; } else { return false; } } function generateAskItem(num) { if(isObject(num)) { object = data[num]; var table = document.getElementById('ask_table'); var tr = table.insertRow(-1); var td_title = tr.insertCell(-1); var td_select = tr.insertCell(-1); var td_cost = tr.insertCell(-1); td_title.innerHTML = '<div class="td_div" id="' + object['id'] + '_title">' + object['title'] + '</div>'; td_select.innerHTML = '<div class="td_div" id="' + object['id'] + '_select_div">'+ '<select id="' + object['id'] + '_select" onChange="updateCalculate(' + num + ');">'+ '<option value="">не выбрано</option>'+ '</select>'+ '</div>'; td_cost.innerHTML = '<div class="td_div" id="' + object['id'] + '_cost_visible">0</div><input type="hidden" id="' + object['id'] + '_cost" value="0">'; td_cost.setAttribute("align","center"); showSelectBox(num); } } function showAskItem(num) { if(isObject(num)) { object = data[num]; generateAskItem(num); document.getElementById(object['id'] + '_title').style.display = 'block'; document.getElementById(object['id'] + '_select_div').style.display = 'block'; document.getElementById(object['id'] + '_cost_visible').style.display = 'block'; } } function hideAskItem(num) { if(isObject(num)) { object = data[num]; generateAskItem(num); document.getElementById(object['id'] + '_title').style.display = 'none'; document.getElementById(object['id'] + '_select_div').style.display = 'none'; document.getElementById(object['id'] + '_cost_visible').style.display = 'none'; } } function disableAskItem(num) { if(isObject(num)) { object = data[num]; document.getElementById(object['id'] + '_select').selectedIndex = 0; document.getElementById(object['id'] + '_cost').value = 0; document.getElementById(object['id'] + '_cost_visible').innerHTML = 0; document.getElementById(object['id'] + '_select').disabled = true; } } function enableAskItem(num) { if(isObject(num)) { object = data[num]; document.getElementById(object['id'] + '_select').disabled = false; } } function getValueAskItem(num) { if(isObject(num)) { object = data[num]; return document.getElementById(object['id'] + '_select').value; } else { return false; } } function getZamokType() { if(document.getElementById(data[6]['id'] + '_select').selectedIndex != 0) { return data[6][document.getElementById(data[6]['id'] + '_select').selectedIndex]['type']; } else { return 0; } } function clearAskItems() { for (i in data) { if(isNumeric(i)) { disableAskItem(i); } } document.getElementById('total_cost').innerHTML = 0; enableAskItem(1); } function enableAllAskItems() { for (i in data) { if(isNumeric(i)) { enableAskItem(i); } } } function updateTotalCost() { var totalCost = 0; for (i in data) { if(isNumeric(i)) { totalCost = totalCost + parseInt(document.getElementById(data['id'] + '_cost').value); } } document.getElementById('total_cost').innerHTML = totalCost; } function updateCost(num) { if(isObject(num)) { var object = data[num]; var cost = 0; if(document.getElementById(object['id'] + '_select').selectedIndex !=0) { cost = object[document.getElementById(object['id'] + '_select').selectedIndex]['cost']; } document.getElementById(object['id'] + '_cost').value = cost; document.getElementById(object['id'] + '_cost_visible').innerHTML = cost; } } function updateCalculate(num) { door_model = getValueAskItem(1); if(door_model == 0) { clearAskItems(); } else { enableAllAskItems(); if(door_model == 1) { disableAskItem(4); disableAskItem(5); } if(door_model == 2 || door_model == 3) { enableAskItem(4); disableAskItem(5); } if(door_model == 4) { enableAskItem(4); enableAskItem(5); } } door_zamok_type = getZamokType(); if (door_zamok_type <= 0 ) { disableAskItem(10); } else { if (door_zamok_type == 2) { enableAskItem(10); } if (door_zamok_type == 1) { disableAskItem(10); } } updateCost(num); updateTotalCost(); } function initModel() { for (i in data) { if(isNumeric(i)) { showAskItem(i); } } clearAskItems(); }