var current_textarea = 0; var tab_groups = new Array(); var tab_bars = new Array(); var chosen_keywords = new Array(); var xmlhttp = false; var last_focused = 0; var file_id = 0; var xmlHttpVersionUsing = ""; var _ms_xmlHttpVersion = ""; var js = ""; function _innerHTML(elId, value) { var el = elId; if (typeof(elId) == "string") { el = get_by_id(elId); } if (el) { var newdiv = document.createElement("div"); newdiv.innerHTML = value; el.innerHTML = ''; el.appendChild(newdiv); } } function Hash() { this.length = 0; this.items = new Array(); for (var i = 0; i < arguments.length; i += 2) { if (typeof(arguments[i + 1]) != 'undefined') { this.items[arguments[i]] = arguments[i + 1]; this.length++; } } this.removeItem = function(in_key) { var tmp_value; if (typeof(this.items[in_key]) != 'undefined') { this.length--; var tmp_value = this.items[in_key]; delete this.items[in_key]; } return tmp_value; } this.getItem = function(in_key) { return this.items[in_key]; } this.setItem = function(in_key, in_value) { if (typeof(in_value) != 'undefined') { if (typeof(this.items[in_key]) == 'undefined') { this.length++; } this.items[in_key] = in_value; } return in_value; } this.hasItem = function(in_key) { return typeof(this.items[in_key]) != 'undefined'; } } function setCookie(cookieName,cookieValue,nDays) { var today = new Date(); var expire = new Date(); if (nDays==null || nDays==0) nDays=1; expire.setTime(today.getTime() + 3600000*24*nDays); document.cookie = cookieName+"="+escape(cookieValue) + ";expires="+expire.toGMTString(); } function getCookie(name) { var dc = document.cookie; var prefix = name + "="; var begin = dc.indexOf("; " + prefix); if (begin == -1) { begin = dc.indexOf(prefix); if (begin != 0) return null; } else { begin += 2; } var end = document.cookie.indexOf(";", begin); if (end == -1) { end = dc.length; } return unescape(dc.substring(begin + prefix.length, end)); } function showMenuItem(item) { item.style.background = '#9ca3df'; } function hideMenuItem(item) { item.style.background = ''; } function showMenu(menuId) { var el = get_by_id(menuId + '_h'); // el.left = 200; // alert(el.offsetLeft); for (i = el, x = 0, y = el.clientHeight - 5; i; i = i.offsetParent) { x += i.offsetLeft; y += i.offsetTop; } el.style.background = '#9ca3df'; var elM = get_by_id(menuId); elM.style.position = 'absolute'; elM.style.left = x; elM.style.top = y; elM.style.display = 'block'; } function hideMenu(menuId) { var el = get_by_id(menuId + '_h'); el.style.background = ''; el = get_by_id(menuId); el.style.display = 'none'; } function disableFormCtrls(formName, disabled) { var form = document.forms[formName]; if (form == null) return ''; for (var i = 0; i < form.elements.length; i++) { el = form.elements[i]; if (el) el.disabled = disabled; } } function collectFormItems(url, formName) { var form = document.forms[formName]; if (form == null) return ''; for (var i = 0; i < form.elements.length; i++) { el = form.elements[i]; if (el.type == 'checkbox') v = (el.checked) ? 1 : 0; else v = el.value; if (el.type == 'radio' && el.checked) v = el.value; else if (el.type == 'radio' && !el.checked) continue; if (el.name != '') { if (url == '') url = el.name + "=" + encodeURIComponent(v); else url += "&" + el.name + "=" + encodeURIComponent(v); } } return url; } function showResults(art_id) { popupWnd('/vote.php?art_id=' + art_id, 'voteResults', 300, 400); } function showHelpBB() { popupWnd('/help/?c=bbtags', 'bbHelp', 600, 450); } function showOnline() { popupWnd('/who.php', 'onlineUsers', 600, 300); } function openHelp(topic) { popupWnd('/help/?topic=' + topic, 'helpWnd', 600, 300); } function showFaved(art_id) { popupWnd('/faved.php?art_id=' + art_id, 'favedWnd', 300, 450); } function setToday() { var d = new Date(); var day = '' + d.getDate(); var month = '' + (d.getMonth() + 1); var year = d.getFullYear(); if (day.length < 2) day = '0' + day; if (month.length < 2) month = '0' + month; var el = get_by_id('stop_date'); if (el) el.value = day + '.' + month + '.' + year; } function getDate(diff) { var d2 = new Date(); var d = new Date(d2.getTime() - ( diff * 1000 * 60 * 60 * 24 )); var day = '' + d.getDate(); var month = '' + (d.getMonth() + 1); var year = d.getFullYear(); if (day.length < 2) day = '0' + day; if (month.length < 2) month = '0' + month; var el = get_by_id('start_date'); if (el) el.value = day + '.' + month + '.' + year; } function addDays(days) { var d2 = new Date(); var d = new Date(d2.getTime() + ( days * 1000 * 60 * 60 * 24 )); var day = '' + d.getDate(); var month = '' + (d.getMonth() + 1); var year = d.getFullYear(); if (day.length < 2) day = '0' + day; if (month.length < 2) month = '0' + month; var el = get_by_id('expired'); if (el) el.value = day + '.' + month + '.' + year; } function toggleAnimation(id) { var el = get_by_id(id); var btn = get_by_id(id + "_btn"); if (el.style.display != 'none') { if (btn) btn.style.color = ""; collapseAnim(id, -6000, 0, ''); } else { el.style.display = 'block'; if (btn) btn.style.color = "#FF0000"; collapseAnim(id, 6000, 0, ''); } } function enableKeywords(keywords) { var kw = keywords.split(' '); for (var i = 0; i < kw.length; i++) { var el = get_by_id(kw[i]); if (el) el.onclick(); } } // Pops up a window. function popupWnd(url, name, width, height) { var width = width ? width : 450; var height = height ? height : 550; var left = (screen.width - width) / 2; var top = (screen.height - height) / 2; window.open(url, name, 'top=' + top + ',left=' + left + ',location=no,scrollbars=yes,toolbar=no,menubar=no,statusbar=no,resizable=yes,width=' + width + ',height=' + height); }; function highlight(divId, art_id, imgUrl, name, author, sysname) { var div = get_by_id(divId); if (div == null) return; html = '
'; html += '' + name + '
'; html += 'Автор: ' + author + ''; div.innerHTML = html; } // Returns the element by its id. function get_by_id(id) { return document.getElementById ? document.getElementById(id) : document.all ? document.all[id] : 0; }; // Returns the element from the opener's window by the element's id. function get_by_id_from_opener(id) { return opener.document.getElementById ? opener.document.getElementById(id) : opener.document.all ? opener.document.all[id] : 0; }; // Searches for class 'find_class' and returns 'false' if it is not found. function find_className(el, find_class) { var i; var classes = el.className.split(' '); for(i = 0; i < classes.length; i++) if(classes[i] == find_class) return true; return false; }; // Adds class 'add_class' to the class list of element 'el'. function add_className(el, add_class) { var i; var classes = el.className.split(' '); for (i = 0; i < classes.length; i++) if(classes[i] == add_class) return; classes.push(add_class); el.className = classes.join(' '); }; // Removes class 'remove_class' from the class list of element 'el'. function remove_className(el, remove_class) { var classes = el.className.split(' '); var new_classes = new Array (); var found = false; var i; for(i = 0; i < classes.length; i++) if(classes[i] != remove_class) new_classes.push(classes[i]); else found = true; if(!found) return; el.className = new_classes.join(' '); }; // Sets the clicked keyword ON/OFF. function switch_keyword(el, listDivId, keywordId, keywordName, keywordList) { var el2 = get_by_id(keywordName); if (!el2) return; if(find_className(el, 'keyword_enabled')) { remove_className(el, 'keyword_enabled'); chosen_keywords[keywordId] = false; } else { add_className(el, 'keyword_enabled'); chosen_keywords[keywordId] = '
  • ' + el2.title + ' — ' + el.innerHTML; } var listDiv = get_by_id(listDivId); if(!listDiv) return; var keywordListInput = get_by_id(keywordList); if(!keywordListInput) return; var listDivContent = new Array(); var keywordListInputString = ""; var first = true; for (var i in chosen_keywords) { if(chosen_keywords[i]) { listDivContent.push(chosen_keywords[i]); keywordListInputString += (first ? "" : " ") + i; first = false; } } listDivContent.sort(); listDiv.innerHTML = listDivContent.length ? listDivContent.join("
    ") : "нет"; keywordListInput.value = keywordListInputString; }; // Makes the div with the specified 'id' visible. function make_visible(id) { var el = get_by_id(id); if(!el) return 0; el.style.display = 'block'; return id; }; // Makes the div with the specified 'id' invisible. function make_invisible(id) { var el = get_by_id(id); if(!el) return 0; el.style.display = 'none'; return id; }; // Toggles visibility of any div with the specified 'id'. function toggle_visibility(id) { var el = get_by_id(id); if(!el) return 0; if(el.style.display == 'none') el.style.display = 'block'; else el.style.display = 'none'; return id; }; // Sets the focus to specified element. function set_focus(id) { var el = get_by_id(id); if(el) { el.focus(); last_focused=id; } }; // Sets the focus to specified element. function reset_focus() { var el = get_by_id(last_focused); if(el) el.blur(); }; // Shows div 'target_id' while hiding all the other divs from the same 'group'. function open_tab(tab, group, target_id) { if(!tab) return; if(tab_bars[group]) remove_className(tab_bars[group], 'tab_active'); tab_bars[group] = tab; add_className(tab, 'tab_active'); if(tab_groups[group]) make_invisible(tab_groups[group]); tab_groups[group] = target_id; make_visible(target_id); }; var animInstance = 0; function collapseAnim( id, speed, instance, action ) { var el = get_by_id( id ); var el2 = get_by_id( id + "_" ); if( !el || !el2 ) { return; } if( 0 /*isIE*/ ) { el.style.display = ( speed < 0 ) ? 'none' : 'block'; eval( action ); return; } var y; var height = el2.offsetHeight; if (height == 0) return; if( height == 0 || instance == 0 ) { el.style.display = 'block'; el.style.overflow = 'hidden'; el.style.minHeight = '1px'; el.style.marginTop = '-1px'; } if( height == 0 ) { height = 1024; y = ( speed < 0 ) ? 0 : -height; el.animInstance = 0; } else { if( instance == 0 ) { y = parseInt( el2.style.marginTop ); if( isNaN( y )) { y = ( speed < 0 ) ? 0 : -height; } else { if( speed > 0 && y < -height ) { y = -height; } } el.animInstance = ++animInstance; } else { y = parseInt( el2.style.marginTop ) + speed; if( el.animInstance != instance ) { return; } } } if(( speed < 0 && y > -height ) || ( speed > 0 && y < 0 )) { el2.style.marginTop = y + 'px'; setTimeout( "collapseAnim( '" + id + "', " + speed + ", " + el.animInstance + ", '" + action.replace( /\'/g, "\\'" ) + "' );", 10 ); } else { el.style.display = ( speed < 0 ) ? 'none' : 'block'; el.style.minHeight = '0px'; el.style.marginTop = '0px'; el.style.overflow = ( speed < 0 ) ? 'hidden' : 'visible'; el2.style.marginTop = ( speed < 0 ) ? ( '-' + height + 'px' ) : '0px'; eval( action ); } }; function toggleAnim( id, speed ) { var el = get_by_id( id ); if( !el ) { return; } if( typeof( el.animDirection ) == "undefined" ) { el.animDirection = -1; } if( el.animDirection > 0 ) { el.animDirection = -1; collapseAnim( id, -speed, 0, '' ); } else { el.animDirection = 1; collapseAnim( id, speed, 0, '' ); } };