var xbb_code_names = { 0: {0: 'code', 1: 'Text' }, 1: {0: 'actionscript', 1: 'ActionScript' }, 2: {0: 'c++', 1: 'C++' }, 3: {0: 'css', 1: 'CSS' }, 4: {0: 'delphi', 1: 'Delphi (Object Pascal)'}, 5: {0: 'html4', 1: 'HTML 4.01 Strict' }, 6: {0: 'java', 1: 'Java' }, 7: {0: 'js', 1: 'JavaScript' }, 8: {0: 'latex', 1: 'LaTeX' }, 9: {0: 'perl', 1: 'Perl' }, 10: {0: 'php', 1: 'PHP' }, 11: {0: 'sql', 1: 'SQL' }, 12: {0: 'vb', 1: 'Visual Basic' }, 13: {0: 'xml', 1: 'XML' } }; // Вставляет begin и end вокруг выделения function xbb_insertTags(begin, end, textarea) { xbb_insertTags2textarea(begin, end, textarea); return false; } function xbb_insertTags2textarea(begin, end, textarea) { surroundText(begin, end, textarea); } // Выполняет некоторые действия при клике на кнопки function xbb_buttonClick() { } // Функция для удаления внешней ноды с сохранением ее дочерних нод. function xbb_removeNode(node) { if (node.removeNode) { // IE node.removeNode(false); } else { // FF var docFragment = document.createDocumentFragment(); while (node.childNodes.length) { docFragment.appendChild(node.childNodes.item(0)); } node.parentNode.replaceChild(docFragment, node); } } // Вставка простейших тегов (таких как [b], [i], [u] и т.п.) function xbb_insertSimpleTags(tag_name, textarea_name) { textarea=document.getElementById(textarea_name); xbb_buttonClick(); xbb_insertTags('[' + tag_name + ']', '[/' + tag_name + ']', textarea); } // Вставка одинарных тегов (таких как [hr]) function xbb_insertSingleTag(tag_name, textarea_name) { textarea=document.getElementById(textarea_name); xbb_buttonClick(); xbb_insertTags('[' + tag_name + ']', '', textarea); } // Вставка смайликов function xbb_insertSmile(smile, textarea_name) { textarea=document.getElementById(textarea_name); xbb_buttonClick(); document.getElementById('hidden_div').style.display = 'none'; xbb_insertTags(smile, '', textarea); } // Insert tags [url] and [img] function xbb_insertLink(tag, text, textarea_name) { textarea=document.getElementById(textarea_name); xbb_buttonClick(); if ('none' != document.getElementById('hidden_div').style.display) { document.getElementById('hidden_div').style.display = 'none'; } var url = prompt(text, ""); if (! url) { return false; } xbb_insertTags('[' + tag + ']' + url + '[/' + tag + ']', '', textarea); return false; } // Показывает список подсветок кода function xbb_codeList(textarea_name) { xbb_buttonClick(); var div = document.getElementById('hidden_div'); if ('none' != div.style.display) { div.style.display = 'none'; return false; } var coords = xbb_getCoords(document.getElementById('img_code_'+textarea_name)); div.style.left = coords['left'] + 'px'; div.style.top = coords['top'] + coords['height'] + 'px'; var html = ''; for (var i = 0; xbb_code_names[i]; ++i) { html += '' + xbb_code_names[i][1] + '
'; } div.innerHTML = html; div.style.display = ''; return false; } // Показывает список размеров шрифта function xbb_sizeList(textarea_name) { xbb_buttonClick(); var div = document.getElementById('hidden_div'); if ('none' != div.style.display) { div.style.display = 'none'; return false; } var coords = xbb_getCoords(document.getElementById('img_size_'+textarea_name)); div.style.left = coords['left'] + 'px'; div.style.top = coords['top'] + coords['height'] + 'px'; var html = ''; for (var i = 1; i <= 4; ++i) { html += 'Размер ' + i + '
'; } div.innerHTML = html; div.style.display = ''; return false; } // Insert tag [size] function xbb_insertSize(size, textarea_name) { textarea=document.getElementById(textarea_name); begin = '[size=' + size + ']'; end = '[/size]'; document.getElementById('hidden_div').style.display = 'none'; xbb_insertTags(begin, end, textarea); return false; } // Показывает палитру выбора цвета function xbb_colorList(textarea_name) { xbb_buttonClick(); var div = document.getElementById('hidden_div'); if ('none' != div.style.display) { div.style.display = 'none'; return false; } var coords = xbb_getCoords(document.getElementById('img_color_'+textarea_name)); div.style.left = coords['left'] + 'px'; div.style.top = coords['top'] + coords['height'] + 'px'; var html = ''; for (var i = 0; bb.colors[i]; ++i) { html += ''; for (var j = 0; bb.colors[i][j]; ++j) { html += ''; } html += ''; } html += '
' + bb.colors[i][j]
                + '
'; div.innerHTML = html; div.style.display = ''; return false; } // Insert tag [color] function xbb_insertColor(color, textarea_name) { textarea=document.getElementById(textarea_name); begin = '[color=' + color + ']'; end = '[/color]'; document.getElementById('hidden_div').style.display = 'none'; xbb_insertTags(begin, end, textarea); return false; } // Показыват список шрифтов для выбора function xbb_fontList(textarea_name) { xbb_buttonClick(); var div = document.getElementById('hidden_div'); if ('none' != div.style.display) { div.style.display = 'none'; return false; } var coords = xbb_getCoords(document.getElementById('img_font_'+textarea_name)); div.style.left = coords['left'] + 'px'; div.style.top = coords['top'] + coords['height'] + 'px'; var html = ''; for (var i = 0; bb.fonts[i]; ++i) { html += '' + bb.fonts[i] + '
'; } div.innerHTML = html; div.style.display = ''; return false; } // Insert tag [font] function xbb_insertFont(font, textarea_name) { textarea=document.getElementById(textarea_name); begin = '[font="' + font + '"]'; end = '[/font]'; document.getElementById('hidden_div').style.display = 'none'; xbb_insertTags(begin, end, textarea); return false; } function xbb_insertTagWithAttribute(tag, text, textarea_name) { textarea=document.getElementById(textarea_name); xbb_buttonClick(); var begin; var end; var val = prompt(text, ""); begin = '[' + tag; if (val) { begin += '="' + val + '"'; } begin += ']'; end = '[/' + tag + ']'; xbb_insertTags(begin, end, textarea); return false; } // Определение координат и размеров элемента function xbb_getCoords(el) { var r = { left: el.offsetLeft, top: el.offsetTop }; if (el.offsetParent) { var tmp = xbb_getCoords(el.offsetParent); r.left += tmp.left; r.top += tmp.top; } r={ left: r.left, top: r.top, width: el.offsetWidth, height: el.offsetHeight}; return r; } // Выводит список смайлов function xbb_smilesList(textarea_name) { xbb_buttonClick(); var div = document.getElementById('hidden_div'); if ('none' != div.style.display) { div.style.display = 'none'; return false; } var coords = xbb_getCoords(document.getElementById('img_smile_'+textarea_name)); div.style.left = coords['left'] + 'px'; div.style.top = coords['top'] + coords['height'] + 'px'; var html = ''; for (var i = 0; bb.smiles[i]; ++i) { html += ''; for (var j = 0; bb.smiles[i][j]; ++j) { html += ''; } html += ''; } html += '
' + bb.smiles[i][j][1]
                + '
'; div.innerHTML = html; div.style.display = ''; return false; } // Сабмитит форму xbb ради предварительного просмотра function xbb_submit() { document.xbb.submit(); return true; }