/*************************************************************************** * copyright : (C) 2001-2006 Advanced Internet Designs Inc. * email : forum@prohost.org * $Id$ * * This program is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by the * Free Software Foundation; version 2 of the License, or * (at your option) any later version. ***************************************************************************/ var JS_HELPOFF = false; /* indentify the browser */ var DOM = (document.getElementById) ? 1 : 0; var NS4 = (document.layers) ? 1 : 0; var IE4 = (document.all) ? 1 : 0; var OPERA = navigator.userAgent.indexOf("Opera") > -1 ? 1 : 0; var MAC = navigator.userAgent.indexOf("Mac") > -1 ? 1 : 0; /* edit box stuff */ function insertTag(obj, stag, etag) { if (navigator.userAgent.indexOf("MSIE") > -1 && !OPERA) { insertTagIE(obj, stag, etag); } else { insertTagMoz(obj, stag, etag); } obj.focus(); } function insertTagNS(obj, stag, etag) { obj.value = obj.value+stag+etag; } function insertTagMoz(obj, stag, etag) { var txt; if (window.getSelection) { txt = window.getSelection(); } else if (document.getSelection) { txt = document.getSelection(); } if (!txt || txt == '') { var t = document.getElementById('txtb'); if (t.selectionStart == t.selectionEnd) { t.value = t.value.substring(0, t.selectionStart) + stag + etag + t.value.substring(t.selectionEnd, t.value.length); return; } txt = t.value.substring(t.selectionStart, t.selectionEnd); if (txt) { t.value = t.value.substring(0, t.selectionStart) + stag + txt + etag + t.value.substring(t.selectionEnd, t.value.length); return; } } obj.value = obj.value+stag+etag; } function insertTagIE(obj, stag, etag) { var r = document.selection.createRange(); if( document.selection.type == 'Text' && (obj.value.indexOf(r.text) != -1) ) { a = r.text; r.text = stag+r.text+etag; if ( obj.value.indexOf(document.selection.createRange().text) == -1 ) { document.selection.createRange().text = a; } } else insertAtCaret(obj, stag+etag); } function dialogTag(obj, qst, def, stag, etag) { var q = prompt(qst, def); if ( !q ) return; stag = stag.replace(/%s/i, q); insertTag(obj, stag, etag); } function url_insert() { if ( check_selection() ) dialogTag(document.post_form.msg_body, 'Location:', 'http://', '[url=%s]', '[/url]'); else dialogTag(document.post_form.msg_body, 'Location:', 'http://', '[url]%s[/url]', ''); } function check_selection() { var rn; var sel; var r; if (window.getSelection && window.getSelection()) { return 1; } if ( document.layers ) return 0; if ( navigator.userAgent.indexOf("MSIE") < 0 ) return 0; r = document.selection.createRange(); if ( r.text.length && (document.post_form.msg_body.value.indexOf(r.text) != -1) ) { a = document.selection.createRange().text; rn = Math.random(); r.text = r.text + ' ' + rn; if ( document.post_form.msg_body.value.indexOf(rn) != -1 ) { sel = 1; } else { sel = 0; } document.selection.createRange().text = a; } return sel; } function storeCaret(textEl) { if (textEl.createTextRange) textEl.caretPos = document.selection.createRange().duplicate(); } function insertAtCaret(textEl, text) { if (textEl.createTextRange && textEl.caretPos) { var caretPos = textEl.caretPos; caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ? text + ' ' : text; } else textEl.value = textEl.value + text; } function email_insert() { if ( check_selection() ) { dialogTag(document.post_form.msg_body, 'Email:', '', '[url=mailto:%s]', '[/url]'); } else dialogTag(document.post_form.msg_body, 'Email:', '', '[email]%s[/email]', ''); } function image_insert() { dialogTag(document.post_form.msg_body, 'Image URL:', 'http://', '[img]%s[/img]', ''); } function window_open(url,winName,width,height) { xpos = (screen.width-width)/2; ypos = (screen.height-height)/2; options = "scrollbars=1,width="+width+",height="+height+",left="+xpos+",top="+ypos+"position:absolute"; window.open(url,winName,options); } function layerVis(layer, on) { thisDiv = document.getElementById(layer); if (thisDiv) { if (thisDiv.style.display == "none") { thisDiv.style.display = "block"; } else { thisDiv.style.display = "none"; } } } function fud_msg_focus(mid_hash) { if (!window.location.hash) { self.location.replace(window.location+"#"+mid_hash); } } function chng_focus(phash) { window.location.hash = phash; } function highlightWord(node,word,Wno) { // Iterate into this nodes childNodes if (node.hasChildNodes) { for (var i = 0; node.childNodes[i]; i++) { highlightWord(node.childNodes[i], word, Wno); } } // And do this node itself if (node.nodeType == 3) { // text node var tempNodeVal = node.nodeValue.toLowerCase(); var pn = node.parentNode; var nv = node.nodeValue; if ((ni = tempNodeVal.indexOf(word)) == -1 || pn.className.indexOf('st') != -1) return; // Create a load of replacement nodes before = document.createTextNode(nv.substr(0,ni)); after = document.createTextNode(nv.substr(ni+word.length)); if (document.all) { hiword = document.createElement(''); } else { hiword = document.createElement("span"); hiword.setAttribute('class', 'st'+Wno); } hiword.appendChild(document.createTextNode(word)); pn.insertBefore(before,node); pn.insertBefore(hiword,node); pn.insertBefore(after,node); pn.removeChild(node); } } function highlightSearchTerms(searchText) { searchText = searchText.toLowerCase() var terms = searchText.split(" "); var e = document.getElementsByTagName('span'); // message body for (var i = 0; e[i]; i++) { if (e[i].className != 'MsgBodyText') continue; for (var j = 0, k = 0; j < terms.length; j++, k++) { if (k > 9) k = 0; // we only have 9 colors highlightWord(e[i], terms[j], k); } } e = document.getElementsByTagName('td'); // subject for (var i = 0; e[i]; i++) { if (e[i].className.indexOf('MsgSubText') == -1) continue; for (var j = 0, k = 0; j < terms.length; j++, k++) { if (k > 9) k = 0; // we only have 9 colors highlightWord(e[i], terms[j], k); } } } function rs_txt_box(name, col_inc, row_inc) { if (IE4) { var obj = document.all[name]; } else { var obj = document.getElementById(name); } obj.rows += row_inc; obj.cols += col_inc; } function topicVote(rating, topic_id, ses, sq) { var responseFailure = function(o) { alert('XMLHTTPRequest Failure: ' + o.statusText + ' ' + o.allResponseHeaders + ' ' + o.status); } var rateTopic = function(o) { if (o.responseText) { document.getElementById('threadRating').innerHTML = o.responseText; var p = document.getElementById('RateFrm').parentNode; p.removeChild(document.getElementById('RateFrm')); } } var callback = { success:rateTopic, failure:responseFailure } YAHOO.util.Connect.asyncRequest('GET','index.php?t=ratethread&sel_vote='+rating+'&rate_thread_id='+topic_id+'&S='+ses+'&SQ='+sq,callback); } /* Copyright (c) 2006, Yahoo! Inc. All rights reserved. Code licensed under the BSD License: http://developer.yahoo.net/yui/license.txt version: 0.10.0 */ /* Copyright (c) 2006 Yahoo! Inc. All rights reserved. */ var YAHOO = window.YAHOO || {}; YAHOO.namespace = function( sNameSpace ) { if (!sNameSpace || !sNameSpace.length) { return null; } var levels = sNameSpace.split("."); var currentNS = YAHOO; for (var i=(levels[0] == "YAHOO") ? 1 : 0; i= 200 && httpStatus < 300){ responseObject = this.createResponseObject(o, callback.argument); if(callback.success){ if(!callback.scope){ callback.success(responseObject); } else{ callback.success.apply(callback.scope, [responseObject]); } } } else{ switch(httpStatus){ case 12002: case 12029: case 12030: case 12031: case 12152: case 13030: responseObject = this.createExceptionObject(o, callback.argument); if(callback.failure){ if(!callback.scope){ callback.failure(responseObject); } else{ callback.failure.apply(callback.scope,[responseObject]); } } break; default: responseObject = this.createResponseObject(o, callback.argument); if(callback.failure){ if(!callback.scope){ callback.failure(responseObject); } else{ callback.failure.apply(callback.scope,[responseObject]); } } } } this.releaseObject(o); }, createResponseObject:function(o, callbackArg) { var obj = {}; var headerObj = {}; try { var headerStr = o.conn.getAllResponseHeaders(); var header = headerStr.split("\n"); for(var i=0; i < header.length; i++){ var delimitPos = header[i].indexOf(':'); if(delimitPos != -1){ headerObj[header[i].substring(0,delimitPos)] = header[i].substring(delimitPos+1); } } obj.tId = o.tId; obj.status = o.conn.status; obj.statusText = o.conn.statusText; obj.getResponseHeader = headerObj; obj.getAllResponseHeaders = headerStr; obj.responseText = o.conn.responseText; obj.responseXML = o.conn.responseXML; if(typeof callbackArg !== undefined){ obj.argument = callbackArg; } } catch(e){} finally { return obj; } }, createExceptionObject:function(tId, callbackArg) { var COMM_CODE = 0; var COMM_ERROR = 'communication failure'; var obj = {}; obj.tId = tId; obj.status = COMM_CODE; obj.statusText = COMM_ERROR; if(callbackArg){ obj.argument = callbackArg; } return obj; }, initHeader:function(label,value) { if(this._http_header[label] === undefined){ this._http_header[label] = value; } else{ this._http_header[label] = value + "," + this._http_header[label]; } this._has_http_headers = true; }, setHeader:function(o) { for(var prop in this._http_header){ o.conn.setRequestHeader(prop, this._http_header[prop]); } delete this._http_header; this._http_header = {}; this._has_http_headers = false; }, setForm:function(formId) { this._sFormData = ''; if(typeof formId == 'string'){ var oForm = (document.getElementById(formId) || document.forms[formId] ); } else if(typeof formId == 'object'){ var oForm = formId; } else{ return; } var oElement, oName, oValue, oDisabled; var hasSubmit = false; for (var i=0; i